diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9d02a90df..34e1e5ca9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -18,6 +18,8 @@ Things you should also avoid include: This should go without saying, but please don't PR code that was never actually tested or has obvious compiler errors in it. +**Addendum:** Because apparently some people think that testing is somehow optional, it is now **mandatory** to test the code both on a client and on a server. If the PR contains compat code, the game has to work **with and without** the mod that the compat is for. + ## Communication If you're planning on adding some new thing or doing a grand change, it's best to ask whether that's a good idea before spending 50 hours on a project that won't end up getting merged, due to issues that could have been entirely avoidable with communication. diff --git a/README.md b/README.md index 2506c1a64..fd29c9084 100644 --- a/README.md +++ b/README.md @@ -4,12 +4,14 @@ [NTM on CurseForge](https://minecraft.curseforge.com/projects/hbms-nuclear-tech-mod?gameCategorySlug=mc-mods&projectID=235439) +[Official NTM Wiki](https://nucleartech.wiki/wiki/Main_Page) + **This is for 1.7.10!** For 1.12, check out these projects: * NTM Reloaded: https://github.com/TheOriginalGolem/Hbm-s-Nuclear-Tech-GIT/releases * NTM Extended Edition (Alcater): https://github.com/Alcatergit/Hbm-s-Nuclear-Tech-GIT/releases -For 1.18, try Martin's remake: https://github.com/MartinTheDragon/Nuclear-Tech-Mod-Remake/releases +For 1.18, try Martin's remake: https://codeberg.org/MartinTheDragon/Nuclear-Tech-Mod-Remake/releases ## Downloading pre-compiled versions from GitHub @@ -94,6 +96,18 @@ If you want to make some changes to the mod, follow this guide: ## Compatibility notice NTM has certain behaviors intended to fix vanilla code or to increase compatibility in certain cases where it otherwise would not be possible. These behaviors have the potential of not playing well with other mods, and while no such cases are currently known, here's a list of them. +### Thermos +Thermos servers (along with its forks such as Crucible) have a "performance" feature that causes all tile entity ticking to slow down if there's no player present in the same chunk. For obvious reasons, this will heavily impact machines and cause phantom issues that, not having knowledge of this "performance" feature, are near impossible to diagnose. By default, NTM will crash on servers running the Thermos base code and print a lengthy message informing server owners about this "performance" feature as well as how to fix the issues it causes. The error message is printed in plain English on the top of the crash log, failure to read (as well as understand) it will leave the server inoperable. + +### Optifine +One of the most common "performance" mods on 1.7.10, Optifine, achieves an increase in performance by breaking small things in spots that are usually hard to notice, although this can cause severe issues with NTM. A short list of problems, along with some solutions, follows: +* Get rid of Optifine and use one of the many [other, less intrusive performance mods](https://gist.github.com/makamys/7cb74cd71d93a4332d2891db2624e17c). +* Blocks with connected textures may become invisible. This can be fixed by toggling triangulation (I do not know what or where this setting is, I just have been told that it exists and that it can fix the problem) or multicore chunk rendering (same here). +* Entity "optimization" has a tendency to break chunkloading, this is especially noticeable with missiles which rely heavily on chunkloading to work, causing them to freeze mid-air. It's unclear what setting might fix this, and analysis of Optifine's source code (or rather, lack thereof) has not proven useful either. + +### Angelica +In older versions, Angelica caused issues regarding model rendering, often times making 3D models transparent. Ever since the switch to VBOs, models work fine. Another issue was blocks with connected textures not rendering at all, but this too was fixed, meaning as of time of writing there are no major incompatibilities known with Angelica. + ### Skybox chainloader NTM adds a few small things to the skybox using a custom skybox renderer. Minecraft can only have a single skybox renderer loaded, so setting the skybox to the NTM custom one would break compatibility with other mods' skyboxes. To mend this, NTM employs a **chainloader**. This chainloader will detect if a different skybox is loaded, save a reference to that skybox and then use NTM's skybox, which when used will also make sure to run the previous modded skybox renderer. In the event that NTM's skybox were to cause trouble, it can be disabled with the config option `1.31_enableSkyboxes`. @@ -106,5 +120,14 @@ An often overlooked aspect of Minecraft is its stats, the game keeps track of ho ### Keybind overlap An often annoying aspect of modded Minecraft is its keybinds. Even though multiple binds can be assigned the same key, all but one will show up as "conflicting" and only the non-conflicting one will work. Which one this is is usually arbitrary, and there is no reason to have such limitation. Often times keybinds are only applicable in certain scenarios, and a commonly found degree of overlap is within reason. Therefore, NTM will run its own key handling code which allows conflicting keybinds to work. If there should be any issues with this behavior, it can be disabled with the config option `1.34_enableKeybindOverlap`. +### Render distance capping +There is a common crash caused by Minecraft's render distance slider going out of bounds, this usually happens when uninstalling a mod that extends the render distance (like Optifine) or when downgrading the Minecraft version (newer versions have higher render distance caps). To prevent crashes, the mod will attempt to decrease the render distance if it's above 16 unless Optifine is installed. If this behavior is not desired (for example, because another mod that allows higher render distance is being used), it can be disabled with the config option `1.25_enableRenderDistCheck`. + +### Log spam caused by ComparableStack +In some modpacks (exact mods needed to replicate this are unknown), it's possible that invalid registered items may cause problems for NEI handlers. To prevent crashes, the ComparableStack class used to represent stacks will default to a safe registered item, and print a log message. In certain situations, this may cause dozens of errors to be printed at once, potentially even lagging the game. If that happens, the log message (but not the error handling) can be disabled with the config option `1.28_enableSilentCompStackErrors`. + +### Sound system limit +By default, the sound system only allows a limited amount of sounds to run at once (28 regular sounds and 4 streaming sounds), this causes issues when there's many machines running at once, since their looped sounds will constantly interrupt each other, causing them to immediately restart, which in some isolated cases has proven to cause massive lagspikes. To prevent this, NTM will increase the sound limit to 1000 regular sounds and 50 streaming sounds, this can be disabled with the config option `1.39_enableSoundExtension`. + # License This software is licensed under the GNU Lesser General Public License version 3. In short: This software is free, you may run the software freely, create modified versions, distribute this software and distribute modified versions, as long as the modified software too has a free software license (with an exception for linking to this software, as stated by the "Lesser" part of the LGPL, where this may not be required). You win this round, Stallman. The full license can be found in the `LICENSE` and `LICENSE.LESSER` files. diff --git a/changelog b/changelog index b9026f9bd..8fdd302be 100644 --- a/changelog +++ b/changelog @@ -1,54 +1,55 @@ ## Added -* Doors! - * Your favorites from 1.12, the 7 remaining doors have finally been ported - * Thanks to KoblizekXD for biting the bullet -* Rubber boat - * Made from latex or synthetic rubber - * A much less jankier alternative to the vanilla boat. Rotations are silky smooth and done via the strafe keys instead of based on the player's orientation - * Won't break from ramming into blocks - * Faster than a regular boat, but will decelerate quicker when there's nobody sitting in it, preventing the boat from drifting off too far when empty -* Exposure chamber - * Now performs the particle transmutation recipes that were previously done in the crafting table - * Stylish as hell -* Decoy missile - * A cheap tier 1 missile that shows up on radar screens as tier 4 (eg. nuclear) missiles -* Printing press stamps - * 8 different stamps for printing certain pages - * If a meteor dungeon safe is generated without a black book inside, it will generate two random stamps instead - * With all 8 stamps, allows you to print your own black book +* New meteorite ores + * All previous meteorite ores have been removed (each took up an entire block ID...) which have been replaced with a single block that uses metadata + * There's now only five variants with the contents chosen to be especially useful in earlygame: iron, copper, aluminium, rare earth and cobalt + * Each ore smelts into 16 items, except for cobalt which yields only 4 ingots + * All meteorite ores are now equally likely to spawn + * The new ores can only be smelted, shredding or other processing is not possible +* ICF (WIP!) + * A new tier of fusion reactor that replaces the FWatz + * Powered by external lasers which are dynamic multiblocks, using fuel pellets + * Construction of lasers: Place a controller, then a straight line of cells behind it, surround those with flash tubes, those with capacitors and optionally those with turbochargers (not recommended as of now) + * Stuff left unfinished: + * Pellet creation and recycling + * Final balancing (especially for lasers and cooling) + * Uses for stellar flux + * Crafting and assembling + * Cooling this reactor is exceedingly difficult due to the limitations of heat exchangers and the relatively low heat capacitor of most available coolants, there will most likely be more powerful ICF-exclusive coolants in the future (liquid lead? sodium compounds?) ## Changed -* Reduced the blast resistance of the large doors from absurdly high to still very but not quite as high -* Custom missiles are now launchable using the radar -* NTM's structures should no longer spawn in dimensions besides the overworld. Ores will still generate, assuming the config option is set. -* Decreased M1tty's radiation resistance - * It's really damn cheap, what did you expect -* M1tty's helmet now acts like a protective mask -* Most non-custom missiles except tier 0s are now assembled in the arc welder - * Crafting complexity has been reduced, the recipes only need the three major components without any extra loose plates -* Non-custom missiles have been slightly buffed - * Explosions are now slightly larger and they use the new cross-detection entity damage code which still affects entities behind small hills that would otherwise be shielded - * Explosions now have a 2x larger entity damage radius -* Updated the digiminer recipe for mekanism compat -* Added config options to the ground water pumps -* Missile parts such as non-custom thrusters and fuselages are now made in the arc welder, recipe ingredients have been adjusted as well -* Null grenades now have a slightly larger radius, should no longer wipe playerdata and require UNDEFINED to make -* Added some breedable material to BFB PWR fuel rods, meaning that the recycling recipes now actually yield a net positive instead of being a massive waste of time -* The RBMK control panel has been upgraded - * Right.clicking the color buttons will now assign the color to the selected control rods - * There's now a new button that allows to cycle through compressor settings on RBMK steam channels - * The flux display is now functional. It will display the flux curve of the last 30 seconds, as well as labels for the total flux level. - * With the color assigning buttons and the flux display finished, the console is now finally complete -* Compressing blood at 4 PU now turns it into crude oil at a ratio of 2:1 -* Increased the cap for the overdrive upgrade in acidizers, tier 2 should now yield the proper amount and tier 3 should now be better than tier 2 -* The tooltip of valid upgrades now changes when a compatible machine GUI is open +* The Souyz' recipe is now available in the standard template folder +* Removed some unused crap + * UV lamps (2 IDs) + * AMS (9 IDs) + * Rotary engine (1 ID) + * FWatz (8 IDs) + * Meteorite ores (10 IDs) + * Tiny nuclear rector (1 ID) +* The small oil heaters are no longer craftable and the NEI handler has been removed, however existing ones can still be used +* The loot pool for meteorite treasure blocks has been updated + * Treasures are no longer senselessly progression breaking, radioactive or plain stupid (whole-ass machines inside meteorites) + * The treasure now consists of mainly some rarer earlygame ingots, circuits, some gear, a small selection of armor mods and alexandrite (rare) +* Schraranium processing now yields neptunium as a byproduct instead of plutonium, making neptunium easier to automate outside of the cyclotron +* Using the guide book now opens a link to the new wiki +* Certain earlygame things can now be recycled like stirling engines and gears +* Antenna part recycling has been moved to the anvil +* NTM's pickaxes now have a break speed bonus for glass +* Renamed the foundry slag outlet to foundry spill outlet because people always assume it's for slag and only slag (it is not) +* The description for heatable/coolable fluid tags is now written in the same line as the label +* Rubber can now be made from acidizing latex with sour gas (requires just 25mB) +* Heating oil can now be reformed into naphtha +* Coker naphtha can now also be reformed like the other naphtha types (yields refgas instead of petgas as a byproduct) +* Drainage pipes will now violently explode when voiding antimatter +* Seeding slurry can now place grass over dead grass +* Added an extra digit to the heat exchanger's configuration panel, allowing effective utilization of all 24,000mB per tick ## Fixed -* Fixed ancient bug where custom missiles launched using the launch table would not use the accuracy calculation and always be pin-point accurate -* Fixed RBMK heat exchangers being able to use heatable fluids that don't have heat exchanger efficiency defined like liquid sodium, heavy water and thorium salt -* Fixed RBMK heat exchangers not using the heat exchanger efficiency variable to determine cooling power -* Fixed the ballistic gauntlet spawning a client-side ghost bullet that doesn't move or despawn -* Fixed bug where different custom machine cores would merge in a stack when picked up, turning them into the same type -* Fixed radar screen blips being visible through the back of the model -* Fixed desh crate's last half of slots preventing radiation entirely -* Fixed large mining drill shift-clicking \ No newline at end of file +* Fixed DFC receivers not outputting power +* Fixed the custom machine NEI handlers not working +* Fixed a potential crash caused by invalid assembly templates +* Fixed general weirdness with the schrabidium transmutator item IO +* Fixed certain tooltips using the backslash escape character despite not needing them +* Hopefully fixed the immense lag caused by tom post impact mechanics, burning grass will now only spread 20% of the time (instead of 100) and the world destruction handler will only process half the blocks per chunk +* Hopefully fixed an issue where substations would not reliably connect to cable blocks +* Fixed assembler rendering bugging out with Angelica installed and a door template loaded +* Fixed medium pylon localizations \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index a04cdb5cc..3de92c873 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,19 +1,48 @@ mod_version=1.0.27 # Empty build number makes a release type -mod_build_number=4809 +mod_build_number=4942 -credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms),\ - \ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models,\ - \ porting), UFFR (RTGs, guns, casings, euphemium capacitor), Pu-238 (Tom impact effects), Bismarck\ - \ (chinese localization), Frooz (models), Minecreep (models), VT-6/24 (models, textures), Pheo (textures,\ - \ various machines, models, weapons), Vr (gas centrifuges, better worldgen, ZIRNOX, CP-1 parts, starter guide),\ - \ Adam29 (liquid petroleum, ethanol, electric furnace), Pashtet (russian localization), MartinTheDragon\ - \ (calculator, chunk-based fallout, bendable cranes, pipe improvements), haru315 (spiral point algorithm),\ - \ Sten89 (models), Pixelguru26 (textures), TheBlueHat (textures), Alcater (GUI textures, porting), impbk2002\ - \ (project settings), Nos (models), Burningwater202 (laminate glass), OvermindDL1 (project settings), TehTemmie\ - \ (reacher radiation function), Toshayo (satellite loot system, project settings, gradle curse task), Silly541\ - \ (config for safe ME drives), Voxelstice (OpenComputers integration, turbine spinup), BallOfEnergy1\ - \ (OpenComputers integration), martemen (project settings), Pvndols (thorium fuel recipe, gas turbine),\ - \ JamesH2 (blood mechanics, nitric acid, particle emitter), sdddddf80 (recipe configs, chinese localization,\ - \ custom machine holograms, I18n improvements), SuperCraftAlex (tooltips) LePeep (coilgun model, BDCL QC),\ - \ 70k (textures), Maksymisio (polish localization) Ice-Arrow (research reactor tweaks) +credits=HbMinecraft,\ + \ rodolphito (explosion algorithms),\ + \ grangerave (explosion algorithms),\ + \ Hoboy (textures, models),\ + \ Drillgon200 (effects, models, porting),\ + \ MartinTheDragon (calculator, chunk-based fallout, bendable cranes, pipe improvements, PWR sounds),\ + \ Alcater (GUI textures, porting),\ + \ MellowArpeggiation (new animation system, turbine sounds, sound fixes, industrial lights, better particle diodes),\ + \ Pheo (textures, various machines, models, weapons),\ + \ Vr (gas centrifuges, better worldgen, ZIRNOX, CP-1 parts, starter guide),\ + \ LePeep (coilgun model, BDCL QC),\ + \ Adam29 (liquid petroleum, ethanol, electric furnace),\ + \ Pvndols (thorium fuel recipe, gas turbine),\ + \ JamesH2 (blood mechanics, nitric acid, particle emitter),\ + \ Doctor17 (russian localization)),\ + \ Pashtet (russian localization),\ + \ Bismarck (chinese localization),\ + \ Maksymisio (polish localization)\ + \ Pu-238 (Tom impact effects),\ + \ UFFR (RTGs, guns, casings, euphemium capacitor),\ + \ Frooz (models),\ + \ VT-6/24 (models, textures),\ + \ Nos (models),\ + \ Minecreep (models),\ + \ 70k (textures, glyphid AI, strand caster),\ + \ haru315 (spiral point algorithm),\ + \ Sten89 (models),\ + \ Pixelguru26 (textures),\ + \ TheBlueHat (textures),\ + \ Burningwater202 (laminate glass),\ + \ TehTemmie (reacher radiation function),\ + \ Silly541 (config for safe ME drives),\ + \ Voxelstice (OpenComputers integration, turbine spinup),\ + \ BallOfEnergy1 (OpenComputers integration),\ + \ martemen (project settings),\ + \ sdddddf80 (recipe configs, chinese localization, custom machine holograms),\ + \ SuperCraftAlex (tooltips)\ + \ Ice-Arrow (research reactor tweaks),\ + \ 245tt (anvil GUI improvements),\ + \ KoblizekXD (doors),\ + \ FOlkvangrField (custom machine parts),\ + \ Toshayo (satellite loot system, project settings, gradle curse task),\ + \ OvermindDL1 (project settings),\ + \ impbk2002 (project settings),\ diff --git a/ntm-animator.blend b/ntm-animator.blend new file mode 100644 index 000000000..252086d27 Binary files /dev/null and b/ntm-animator.blend differ diff --git a/src/main/java/api/hbm/energy/IEnergyConductor.java b/src/main/java/api/hbm/energy/IEnergyConductor.java deleted file mode 100644 index e6195acb8..000000000 --- a/src/main/java/api/hbm/energy/IEnergyConductor.java +++ /dev/null @@ -1,160 +0,0 @@ -package api.hbm.energy; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.util.ForgeDirection; - -/** - * For compatible cables with no buffer, using the IPowertNet. You can make your own cables with IEnergyConnector as well, but they won't join their power network. - * @author hbm - */ -public interface IEnergyConductor extends IEnergyConnector { - - public IPowerNet getPowerNet(); - - public void setPowerNet(IPowerNet network); - - /** - * A unique identifier for every conductor tile. Used to prevent duplicates when loading previously persistent unloaded tiles. - * @return - */ - public default int getIdentity() { - return getIdentityFromTile((TileEntity) this); - } - - public static int getIdentityFromTile(TileEntity te) { - return getIdentityFromPos(te.xCoord, te.yCoord, te.zCoord); - } - - public static int getIdentityFromPos(int x, int y, int z) { - final int prime = 27644437; // must be this large to minimize localized collisions - int result = 1; - result = prime * result + x; - result = prime * result + y; - result = prime * result + z; - return result; - } - - /** - * Whether the link should be part of reeval when the network is changed. - * I.e. if this link should join any of the new networks (FALSE for switches that are turned off for example) - * @return - */ - public default boolean canReevaluate() { - return !((TileEntity) this).isInvalid(); - } - - /** - * When a link leaves the network, the net has to manually calculate the resulting networks. - * Each link has to decide what other links will join the same net. - * @param copy - */ - public default void reevaluate(HashMap copy, HashMap proxies) { - - for(int[] pos : getConnectionPoints()) { - int newX = pos[0]; - int newY = pos[1]; - int newZ = pos[2]; - int id = IEnergyConductor.getIdentityFromPos(newX, newY, newZ); - - IEnergyConductor neighbor = copy.get(id); - - if(neighbor == null) { - Integer newId = proxies.get(id); - - if(newId != null) { - neighbor = copy.get(newId); - } - } - - if(neighbor != null && this.canReevaluate() && neighbor.canReevaluate()) { - - if(neighbor.getPowerNet() != null) { - - //neighbor net and no self net - if(this.getPowerNet() == null) { - neighbor.getPowerNet().joinLink(this); - //neighbor net and self net - } else { - this.getPowerNet().joinNetworks(neighbor.getPowerNet()); - } - - //bidirectional re-eval, experimental and technically optional, only useful as a fallback - } /*else { - - //no neighbor net and no self net - if(this.getPowerNet() == null) { - this.setPowerNet(new PowerNet().joinLink(this)); - neighbor.setPowerNet(this.getPowerNet().joinLink(neighbor)); - //no neighbor net and self net - } else { - neighbor.setPowerNet(this.getPowerNet().joinLink(neighbor)); - } - }*/ - - //extensive debugging has shown that bidirectional re-eval is complete shit - } - } - } - - /** - * Creates a list of positions for the re-eval process. In short - what positions should be considered as connected. - * Also used by pylons to quickly figure out what positions to connect to. - * DEFAULT: Connects to all six neighboring blocks. - * @return - */ - public default List getConnectionPoints() { - - List pos = new ArrayList(); - TileEntity tile = (TileEntity) this; - - for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { - int newX = tile.xCoord + dir.offsetX; - int newY = tile.yCoord + dir.offsetY; - int newZ = tile.zCoord + dir.offsetZ; - - pos.add(new int[] {newX, newY, newZ}); - } - - return pos; - } - - /** - * Since isLoaded is only currently used for weeding out unwanted subscribers, and cables shouldn't (although technically can) be - * subscribers, we just default to true because I don't feel like wasting time implementing things that we don't actually need. - * Perhaps this indicates a minor flaw in the new API, but I physically lack the ability to worry about it. - */ - @Override - public default boolean isLoaded() { - return true; - } - - //TODO: check if this standard implementation doesn't break anything (it shouldn't but right now it's a bit redundant) also: remove duplicate implementations - @Override - public default long transferPower(long power) { - - if(this.getPowerNet() == null) - return power; - - return this.getPowerNet().transferPower(power); - } - - /** - * Returns whether the conductor has mutliblock proxies which need to be taken into consideration for re-eval. - * @return - */ - public default boolean hasProxies() { - return false; - } - - /** - * Returns the identities (position-based) of proxies which resolve into the conductor's own identity. - * @return - */ - public default List getProxies() { - return new ArrayList(); - } -} diff --git a/src/main/java/api/hbm/energy/IEnergyConnector.java b/src/main/java/api/hbm/energy/IEnergyConnector.java deleted file mode 100644 index 34ed1d175..000000000 --- a/src/main/java/api/hbm/energy/IEnergyConnector.java +++ /dev/null @@ -1,121 +0,0 @@ -package api.hbm.energy; - -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; - -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -/** - * For anything that connects to power and can be transferred power to, the bottom-level interface. - * This is mean for TILE ENTITIES - * @author hbm - */ -public interface IEnergyConnector extends ILoadedTile { - - /** - * Returns the amount of power that remains in the source after transfer - * @param power - * @return - */ - public long transferPower(long power); - - /** - * Whether the given side can be connected to - * dir refers to the side of this block, not the connecting block doing the check - * @param dir - * @return - */ - public default boolean canConnect(ForgeDirection dir) { - return dir != ForgeDirection.UNKNOWN; - } - - /** - * The current power of either the machine or an entire network - * @return - */ - public long getPower(); - - /** - * The capacity of either the machine or an entire network - * @return - */ - public long getMaxPower(); - - public default long getTransferWeight() { - return Math.max(getMaxPower() - getPower(), 0); - } - - /** - * Basic implementation of subscribing to a nearby power grid - * @param world - * @param x - * @param y - * @param z - */ - public default void trySubscribe(World world, int x, int y, int z, ForgeDirection dir) { - - TileEntity te = world.getTileEntity(x, y, z); - boolean red = false; - - if(te instanceof IEnergyConductor) { - IEnergyConductor con = (IEnergyConductor) te; - - if(!con.canConnect(dir.getOpposite())) - return; - - if(con.getPowerNet() != null && !con.getPowerNet().isSubscribed(this)) - con.getPowerNet().subscribe(this); - - if(con.getPowerNet() != null) - red = true; - } - - if(particleDebug) { - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "network"); - data.setString("mode", "power"); - double posX = x + 0.5 + dir.offsetX * 0.5 + world.rand.nextDouble() * 0.5 - 0.25; - double posY = y + 0.5 + dir.offsetY * 0.5 + world.rand.nextDouble() * 0.5 - 0.25; - double posZ = z + 0.5 + dir.offsetZ * 0.5 + world.rand.nextDouble() * 0.5 - 0.25; - data.setDouble("mX", -dir.offsetX * (red ? 0.025 : 0.1)); - data.setDouble("mY", -dir.offsetY * (red ? 0.025 : 0.1)); - data.setDouble("mZ", -dir.offsetZ * (red ? 0.025 : 0.1)); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, posX, posY, posZ), new TargetPoint(world.provider.dimensionId, posX, posY, posZ, 25)); - } - } - - public default void tryUnsubscribe(World world, int x, int y, int z) { - - TileEntity te = world.getTileEntity(x, y, z); - - if(te instanceof IEnergyConductor) { - IEnergyConductor con = (IEnergyConductor) te; - - if(con.getPowerNet() != null && con.getPowerNet().isSubscribed(this)) - con.getPowerNet().unsubscribe(this); - } - } - - public static final boolean particleDebug = false; - - public default Vec3 getDebugParticlePos() { - TileEntity te = (TileEntity) this; - Vec3 vec = Vec3.createVectorHelper(te.xCoord + 0.5, te.yCoord + 1, te.zCoord + 0.5); - return vec; - } - - public default ConnectionPriority getPriority() { - return ConnectionPriority.NORMAL; - } - - public enum ConnectionPriority { - LOW, - NORMAL, - HIGH - } -} diff --git a/src/main/java/api/hbm/energy/IEnergyGenerator.java b/src/main/java/api/hbm/energy/IEnergyGenerator.java deleted file mode 100644 index 37db6370d..000000000 --- a/src/main/java/api/hbm/energy/IEnergyGenerator.java +++ /dev/null @@ -1,19 +0,0 @@ -package api.hbm.energy; - -public interface IEnergyGenerator extends IEnergyUser { - - /** - * Standard implementation for machines that can only send energy but never receive it. - * @param power - */ - @Override - public default long transferPower(long power) { - return power; - } - - /* should stop making non-receivers from interfering by applying their weight which doesn't even matter */ - @Override - public default long getTransferWeight() { - return 0; - } -} diff --git a/src/main/java/api/hbm/energy/IEnergyUser.java b/src/main/java/api/hbm/energy/IEnergyUser.java deleted file mode 100644 index 4ca8e369a..000000000 --- a/src/main/java/api/hbm/energy/IEnergyUser.java +++ /dev/null @@ -1,114 +0,0 @@ -package api.hbm.energy; - -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; - -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -/** - * For machines and things that have an energy buffer and are affected by EMPs - * @author hbm - */ -public interface IEnergyUser extends IEnergyConnector { - - /** - * Not to be used for actual energy transfer, rather special external things like EMPs and sync packets - */ - public void setPower(long power); - - /** - * Standard implementation for power transfer. - * Turns out you can override interfaces to provide a default implementation. Neat. - * @param long power - */ - @Override - public default long transferPower(long power) { - - if(this.getPower() + power > this.getMaxPower()) { - - long overshoot = this.getPower() + power - this.getMaxPower(); - this.setPower(this.getMaxPower()); - return overshoot; - } - - if(this.getPower() + power < 0) return 0; //safeguard for negative energy or overflows - - this.setPower(this.getPower() + power); - - return 0; - } - - /** - * Standard implementation of sending power - * @param world - * @param x - * @param y - * @param z - * @param dir - */ - public default void sendPower(World world, int x, int y, int z, ForgeDirection dir) { - - TileEntity te = world.getTileEntity(x, y, z); - boolean wasSubscribed = false; - boolean red = false; - - // first we make sure we're not subscribed to the network that we'll be supplying - if(te instanceof IEnergyConductor) { - IEnergyConductor con = (IEnergyConductor) te; - - if(con.canConnect(dir.getOpposite()) && con.getPowerNet() != null && con.getPowerNet().isSubscribed(this)) { - con.getPowerNet().unsubscribe(this); - wasSubscribed = true; - } - } - - //then we add energy - if(te instanceof IEnergyConnector) { - IEnergyConnector con = (IEnergyConnector) te; - - if(con.canConnect(dir.getOpposite())) { - long oldPower = this.getPower(); - long transfer = oldPower - con.transferPower(oldPower); - this.setPower(oldPower - transfer); - red = true; - } - } - - //then we subscribe if possible - if(wasSubscribed && te instanceof IEnergyConductor) { - IEnergyConductor con = (IEnergyConductor) te; - - if(con.getPowerNet() != null && !con.getPowerNet().isSubscribed(this)) { - con.getPowerNet().subscribe(this); - } - } - - if(particleDebug) { - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "network"); - data.setString("mode", "power"); - double posX = x + 0.5 - dir.offsetX * 0.5 + world.rand.nextDouble() * 0.5 - 0.25; - double posY = y + 0.5 - dir.offsetY * 0.5 + world.rand.nextDouble() * 0.5 - 0.25; - double posZ = z + 0.5 - dir.offsetZ * 0.5 + world.rand.nextDouble() * 0.5 - 0.25; - data.setDouble("mX", dir.offsetX * (red ? 0.025 : 0.1)); - data.setDouble("mY", dir.offsetY * (red ? 0.025 : 0.1)); - data.setDouble("mZ", dir.offsetZ * (red ? 0.025 : 0.1)); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, posX, posY, posZ), new TargetPoint(world.provider.dimensionId, posX, posY, posZ, 25)); - } - } - - public default void updateStandardConnections(World world, TileEntity te) { - updateStandardConnections(world, te.xCoord, te.yCoord, te.zCoord); - } - - public default void updateStandardConnections(World world, int x, int y, int z) { - - for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { - this.trySubscribe(world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, dir); - } - } -} diff --git a/src/main/java/api/hbm/energy/IPowerNet.java b/src/main/java/api/hbm/energy/IPowerNet.java deleted file mode 100644 index eb9848226..000000000 --- a/src/main/java/api/hbm/energy/IPowerNet.java +++ /dev/null @@ -1,37 +0,0 @@ -package api.hbm.energy; - -import java.math.BigInteger; -import java.util.List; - -/** - * Not mandatory to use, but making your cables IPowerNet-compliant will allow them to connect to NTM cables. - * Cables will still work without it as long as they implement IEnergyConductor (or even IEnergyConnector) + self-built network code - * @author hbm - */ -public interface IPowerNet { - - public void joinNetworks(IPowerNet network); - - public IPowerNet joinLink(IEnergyConductor conductor); - public void leaveLink(IEnergyConductor conductor); - - public void subscribe(IEnergyConnector connector); - public void unsubscribe(IEnergyConnector connector); - public boolean isSubscribed(IEnergyConnector connector); - - public void destroy(); - - /** - * When a link is removed, instead of destroying the network, causing it to be recreated from currently loaded conductors, - * we re-evaluate it, creating new nets based on the previous links. - */ - public void reevaluate(); - - public boolean isValid(); - - public List getLinks(); - public List getSubscribers(); - - public long transferPower(long power); - public BigInteger getTotalTransfer(); -} diff --git a/src/main/java/api/hbm/energy/PowerNet.java b/src/main/java/api/hbm/energy/PowerNet.java deleted file mode 100644 index 83c84d33a..000000000 --- a/src/main/java/api/hbm/energy/PowerNet.java +++ /dev/null @@ -1,248 +0,0 @@ -package api.hbm.energy; - -import java.math.BigInteger; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -import com.hbm.config.GeneralConfig; - -import api.hbm.energy.IEnergyConnector.ConnectionPriority; -import net.minecraft.tileentity.TileEntity; - -/** - * Basic IPowerNet implementation. The behavior of this demo might change inbetween releases, but the API remains the same. - * For more consistency please implement your own IPowerNet. - * @author hbm - */ -public class PowerNet implements IPowerNet { - - private boolean valid = true; - private HashMap links = new HashMap(); - private HashMap proxies = new HashMap(); - private List subscribers = new ArrayList(); - - public static List trackingInstances = null; - protected BigInteger totalTransfer = BigInteger.ZERO; - - @Override - public void joinNetworks(IPowerNet network) { - - if(network == this) - return; //wtf?! - - for(IEnergyConductor conductor : network.getLinks()) { - joinLink(conductor); - } - network.getLinks().clear(); - - for(IEnergyConnector connector : network.getSubscribers()) { - this.subscribe(connector); - } - - network.destroy(); - } - - @Override - public IPowerNet joinLink(IEnergyConductor conductor) { - - if(conductor.getPowerNet() != null) - conductor.getPowerNet().leaveLink(conductor); - - conductor.setPowerNet(this); - int identity = conductor.getIdentity(); - this.links.put(identity, conductor); - - if(conductor.hasProxies()) { - for(Integer i : conductor.getProxies()) { - this.proxies.put(i, identity); - } - } - - return this; - } - - @Override - public void leaveLink(IEnergyConductor conductor) { - conductor.setPowerNet(null); - int identity = conductor.getIdentity(); - this.links.remove(identity); - - if(conductor.hasProxies()) { - for(Integer i : conductor.getProxies()) { - this.proxies.remove(i); - } - } - } - - @Override - public void subscribe(IEnergyConnector connector) { - this.subscribers.add(connector); - } - - @Override - public void unsubscribe(IEnergyConnector connector) { - this.subscribers.remove(connector); - } - - @Override - public boolean isSubscribed(IEnergyConnector connector) { - return this.subscribers.contains(connector); - } - - @Override - public List getLinks() { - List linkList = new ArrayList(); - linkList.addAll(this.links.values()); - return linkList; - } - - public HashMap getProxies() { - HashMap proxyCopy = new HashMap(proxies); - return proxyCopy; - } - - @Override - public List getSubscribers() { - return this.subscribers; - } - - @Override - public void destroy() { - this.valid = false; - this.subscribers.clear(); - - for(IEnergyConductor link : this.links.values()) { - link.setPowerNet(null); - } - - this.links.clear(); - } - - @Override - public boolean isValid() { - return this.valid; - } - - @Override - public BigInteger getTotalTransfer() { - return this.totalTransfer; - } - - public long lastCleanup = System.currentTimeMillis(); - - @Override - public long transferPower(long power) { - - /*if(lastCleanup + 45 < System.currentTimeMillis()) { - cleanup(this.subscribers); - lastCleanup = System.currentTimeMillis(); - }*/ - - trackingInstances = new ArrayList(); - trackingInstances.add(this); - return fairTransfer(this.subscribers, power); - } - - public static void cleanup(List subscribers) { - - subscribers.removeIf(x -> - x == null || !(x instanceof TileEntity) || ((TileEntity)x).isInvalid() || !x.isLoaded() - ); - } - - public static long fairTransfer(List subscribers, long power) { - - if(power <= 0) return 0; - - if(subscribers.isEmpty()) - return power; - - cleanup(subscribers); - - ConnectionPriority[] priorities = new ConnectionPriority[] {ConnectionPriority.HIGH, ConnectionPriority.NORMAL, ConnectionPriority.LOW}; - - long totalTransfer = 0; - - for(ConnectionPriority p : priorities) { - - List subList = new ArrayList(); - subscribers.forEach(x -> { - if(x.getPriority() == p) { - subList.add(x); - } - }); - - if(subList.isEmpty()) - continue; - - List weight = new ArrayList(); - long totalReq = 0; - - for(IEnergyConnector con : subList) { - long req = con.getTransferWeight(); - weight.add(req); - totalReq += req; - } - - if(totalReq == 0) - continue; - - long totalGiven = 0; - - for(int i = 0; i < subList.size(); i++) { - IEnergyConnector con = subList.get(i); - long req = weight.get(i); - double fraction = (double)req / (double)totalReq; - - long given = (long) Math.floor(fraction * power); - - totalGiven += (given - con.transferPower(given)); - - if(con instanceof TileEntity) { - TileEntity tile = (TileEntity) con; - tile.getWorldObj().markTileEntityChunkModified(tile.xCoord, tile.yCoord, tile.zCoord, tile); - } - } - - power -= totalGiven; - totalTransfer += totalGiven; - } - - if(trackingInstances != null) { - - for(int i = 0; i < trackingInstances.size(); i++) { - PowerNet net = trackingInstances.get(i); - net.totalTransfer = net.totalTransfer.add(BigInteger.valueOf(totalTransfer)); - } - } - - return power; - } - - @Override - public void reevaluate() { - - if(!GeneralConfig.enableReEval) { - this.destroy(); - return; - } - - HashMap copy = new HashMap(links); - HashMap proxyCopy = new HashMap(proxies); - - for(IEnergyConductor link : copy.values()) { - this.leaveLink(link); - } - - for(IEnergyConductor link : copy.values()) { - - link.setPowerNet(null); - link.reevaluate(copy, proxyCopy); - - if(link.getPowerNet() == null) { - link.setPowerNet(new PowerNet().joinLink(link)); - } - } - } -} diff --git a/src/main/java/api/hbm/energy/IBatteryItem.java b/src/main/java/api/hbm/energymk2/IBatteryItem.java similarity index 98% rename from src/main/java/api/hbm/energy/IBatteryItem.java rename to src/main/java/api/hbm/energymk2/IBatteryItem.java index 827f88a8e..19202cfa1 100644 --- a/src/main/java/api/hbm/energy/IBatteryItem.java +++ b/src/main/java/api/hbm/energymk2/IBatteryItem.java @@ -1,4 +1,4 @@ -package api.hbm.energy; +package api.hbm.energymk2; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; diff --git a/src/main/java/api/hbm/energymk2/IEnergyConductorMK2.java b/src/main/java/api/hbm/energymk2/IEnergyConductorMK2.java new file mode 100644 index 000000000..96a90bcfd --- /dev/null +++ b/src/main/java/api/hbm/energymk2/IEnergyConductorMK2.java @@ -0,0 +1,23 @@ +package api.hbm.energymk2; + +import com.hbm.lib.Library; +import com.hbm.util.fauxpointtwelve.BlockPos; +import com.hbm.util.fauxpointtwelve.DirPos; + +import api.hbm.energymk2.Nodespace.PowerNode; +import net.minecraft.tileentity.TileEntity; + +public interface IEnergyConductorMK2 extends IEnergyConnectorMK2 { + + public default PowerNode createNode() { + TileEntity tile = (TileEntity) this; + return new PowerNode(new BlockPos(tile.xCoord, tile.yCoord, tile.zCoord)).setConnections( + new DirPos(tile.xCoord + 1, tile.yCoord, tile.zCoord, Library.POS_X), + new DirPos(tile.xCoord - 1, tile.yCoord, tile.zCoord, Library.NEG_X), + new DirPos(tile.xCoord, tile.yCoord + 1, tile.zCoord, Library.POS_Y), + new DirPos(tile.xCoord, tile.yCoord - 1, tile.zCoord, Library.NEG_Y), + new DirPos(tile.xCoord, tile.yCoord, tile.zCoord + 1, Library.POS_Z), + new DirPos(tile.xCoord, tile.yCoord, tile.zCoord - 1, Library.NEG_Z) + ); + } +} diff --git a/src/main/java/api/hbm/energy/IEnergyConnectorBlock.java b/src/main/java/api/hbm/energymk2/IEnergyConnectorBlock.java similarity index 95% rename from src/main/java/api/hbm/energy/IEnergyConnectorBlock.java rename to src/main/java/api/hbm/energymk2/IEnergyConnectorBlock.java index 8583dcc52..d8de0c379 100644 --- a/src/main/java/api/hbm/energy/IEnergyConnectorBlock.java +++ b/src/main/java/api/hbm/energymk2/IEnergyConnectorBlock.java @@ -1,4 +1,4 @@ -package api.hbm.energy; +package api.hbm.energymk2; import net.minecraft.world.IBlockAccess; import net.minecraftforge.common.util.ForgeDirection; diff --git a/src/main/java/api/hbm/energymk2/IEnergyConnectorMK2.java b/src/main/java/api/hbm/energymk2/IEnergyConnectorMK2.java new file mode 100644 index 000000000..4c2246ee5 --- /dev/null +++ b/src/main/java/api/hbm/energymk2/IEnergyConnectorMK2.java @@ -0,0 +1,16 @@ +package api.hbm.energymk2; + +import net.minecraftforge.common.util.ForgeDirection; + +public interface IEnergyConnectorMK2 { + + /** + * Whether the given side can be connected to + * dir refers to the side of this block, not the connecting block doing the check + * @param dir + * @return + */ + public default boolean canConnect(ForgeDirection dir) { + return dir != ForgeDirection.UNKNOWN; + } +} diff --git a/src/main/java/api/hbm/energymk2/IEnergyHandlerMK2.java b/src/main/java/api/hbm/energymk2/IEnergyHandlerMK2.java new file mode 100644 index 000000000..c79bf3405 --- /dev/null +++ b/src/main/java/api/hbm/energymk2/IEnergyHandlerMK2.java @@ -0,0 +1,29 @@ +package api.hbm.energymk2; + +import com.hbm.util.CompatEnergyControl; + +import api.hbm.tile.ILoadedTile; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.Vec3; + +/** DO NOT USE DIRECTLY! This is simply the common ancestor to providers and receivers, because all this behavior has to be excluded from conductors! */ +public interface IEnergyHandlerMK2 extends IEnergyConnectorMK2, ILoadedTile { + + public long getPower(); + public void setPower(long power); + public long getMaxPower(); + + public static final boolean particleDebug = false; + + public default Vec3 getDebugParticlePosMK2() { + TileEntity te = (TileEntity) this; + Vec3 vec = Vec3.createVectorHelper(te.xCoord + 0.5, te.yCoord + 1, te.zCoord + 0.5); + return vec; + } + + public default void provideInfoForECMK2(NBTTagCompound data) { + data.setLong(CompatEnergyControl.L_ENERGY_HE, this.getPower()); + data.setLong(CompatEnergyControl.L_CAPACITY_HE, this.getMaxPower()); + } +} diff --git a/src/main/java/api/hbm/energymk2/IEnergyProviderMK2.java b/src/main/java/api/hbm/energymk2/IEnergyProviderMK2.java new file mode 100644 index 000000000..6464995a0 --- /dev/null +++ b/src/main/java/api/hbm/energymk2/IEnergyProviderMK2.java @@ -0,0 +1,67 @@ +package api.hbm.energymk2; + +import com.hbm.packet.AuxParticlePacketNT; +import com.hbm.packet.PacketDispatcher; + +import api.hbm.energymk2.Nodespace.PowerNode; +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +/** If it sends energy, use this */ +public interface IEnergyProviderMK2 extends IEnergyHandlerMK2 { + + /** Uses up available power, default implementation has no sanity checking, make sure that the requested power is lequal to the current power */ + public default void usePower(long power) { + this.setPower(this.getPower() - power); + } + + public default long getProviderSpeed() { + return this.getMaxPower(); + } + + public default void tryProvide(World world, int x, int y, int z, ForgeDirection dir) { + + TileEntity te = world.getTileEntity(x, y, z); + boolean red = false; + + if(te instanceof IEnergyConductorMK2) { + IEnergyConductorMK2 con = (IEnergyConductorMK2) te; + if(con.canConnect(dir.getOpposite())) { + + PowerNode node = Nodespace.getNode(world, x, y, z); + + if(node != null && node.net != null) { + node.net.addProvider(this); + red = true; + } + } + } + + if(te instanceof IEnergyReceiverMK2 && te != this) { + IEnergyReceiverMK2 rec = (IEnergyReceiverMK2) te; + if(rec.canConnect(dir.getOpposite())) { + long provides = Math.min(this.getPower(), this.getProviderSpeed()); + long receives = Math.min(rec.getMaxPower() - rec.getPower(), rec.getReceiverSpeed()); + long toTransfer = Math.min(provides, receives); + toTransfer -= rec.transferPower(toTransfer); + this.usePower(toTransfer); + } + } + + if(particleDebug) { + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "network"); + data.setString("mode", "power"); + double posX = x + 0.5 - dir.offsetX * 0.5 + world.rand.nextDouble() * 0.5 - 0.25; + double posY = y + 0.5 - dir.offsetY * 0.5 + world.rand.nextDouble() * 0.5 - 0.25; + double posZ = z + 0.5 - dir.offsetZ * 0.5 + world.rand.nextDouble() * 0.5 - 0.25; + data.setDouble("mX", dir.offsetX * (red ? 0.025 : 0.1)); + data.setDouble("mY", dir.offsetY * (red ? 0.025 : 0.1)); + data.setDouble("mZ", dir.offsetZ * (red ? 0.025 : 0.1)); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, posX, posY, posZ), new TargetPoint(world.provider.dimensionId, posX, posY, posZ, 25)); + } + } +} diff --git a/src/main/java/api/hbm/energymk2/IEnergyReceiverMK2.java b/src/main/java/api/hbm/energymk2/IEnergyReceiverMK2.java new file mode 100644 index 000000000..11e55bedc --- /dev/null +++ b/src/main/java/api/hbm/energymk2/IEnergyReceiverMK2.java @@ -0,0 +1,108 @@ +package api.hbm.energymk2; + +import com.hbm.packet.AuxParticlePacketNT; +import com.hbm.packet.PacketDispatcher; + +import api.hbm.energymk2.Nodespace.PowerNode; +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +/** If it receives energy, use this */ +public interface IEnergyReceiverMK2 extends IEnergyHandlerMK2 { + + public default long transferPower(long power) { + if(power + this.getPower() <= this.getMaxPower()) { + this.setPower(power + this.getPower()); + return 0; + } + long capacity = this.getMaxPower() - this.getPower(); + long overshoot = power - capacity; + this.setPower(this.getMaxPower()); + return overshoot; + } + + public default long getReceiverSpeed() { + return this.getMaxPower(); + } + + public default void trySubscribe(World world, int x, int y, int z, ForgeDirection dir) { + + TileEntity te = world.getTileEntity(x, y, z); + boolean red = false; + + if(te instanceof IEnergyConductorMK2) { + IEnergyConductorMK2 con = (IEnergyConductorMK2) te; + if(!con.canConnect(dir.getOpposite())) return; + + PowerNode node = Nodespace.getNode(world, x, y, z); + + if(node != null && node.net != null) { + node.net.addReceiver(this); + red = true; + } + } + + if(particleDebug) { + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "network"); + data.setString("mode", "power"); + double posX = x + 0.5 + dir.offsetX * 0.5 + world.rand.nextDouble() * 0.5 - 0.25; + double posY = y + 0.5 + dir.offsetY * 0.5 + world.rand.nextDouble() * 0.5 - 0.25; + double posZ = z + 0.5 + dir.offsetZ * 0.5 + world.rand.nextDouble() * 0.5 - 0.25; + data.setDouble("mX", -dir.offsetX * (red ? 0.025 : 0.1)); + data.setDouble("mY", -dir.offsetY * (red ? 0.025 : 0.1)); + data.setDouble("mZ", -dir.offsetZ * (red ? 0.025 : 0.1)); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, posX, posY, posZ), new TargetPoint(world.provider.dimensionId, posX, posY, posZ, 25)); + } + } + + public default void tryUnsubscribe(World world, int x, int y, int z) { + + TileEntity te = world.getTileEntity(x, y, z); + + if(te instanceof IEnergyConductorMK2) { + IEnergyConductorMK2 con = (IEnergyConductorMK2) te; + PowerNode node = con.createNode(); + + if(node != null && node.net != null) { + node.net.removeReceiver(this); + } + } + } + + /** + * Project MKUltra was an illegal human experiments program designed and undertaken by the U.S. Central Intelligence Agency (CIA) + * to develop procedures and identify drugs that could be used during interrogations to weaken people and force confessions through + * brainwashing and psychological torture. It began in 1953 and was halted in 1973. MKUltra used numerous methods to manipulate + * its subjects' mental states and brain functions, such as the covert administration of high doses of psychoactive drugs (especially LSD) + * and other chemicals without the subjects' consent, electroshocks, hypnosis, sensory deprivation, isolation, verbal and sexual + * abuse, and other forms of torture. + * MKUltra was preceded by Project Artichoke. It was organized through the CIA's Office of Scientific Intelligence and coordinated + * with the United States Army Biological Warfare Laboratories. The program engaged in illegal activities, including the + * use of U.S. and Canadian citizens as unwitting test subjects. MKUltra's scope was broad, with activities carried + * out under the guise of research at more than 80 institutions aside from the military, including colleges and universities, + * hospitals, prisons, and pharmaceutical companies. The CIA operated using front organizations, although some top officials at these + * institutions were aware of the CIA's involvement. + * MKUltra was revealed to the public in 1975 by the Church Committee of the United States Congress and Gerald Ford's United States + * President's Commission on CIA activities within the United States (the Rockefeller Commission). Investigative efforts were hampered + * by CIA Director Richard Helms's order that all MKUltra files be destroyed in 1973; the Church Committee and Rockefeller Commission + * investigations relied on the sworn testimony of direct participants and on the small number of documents that survived Helms's order. + * In 1977, a Freedom of Information Act request uncovered a cache of 20,000 documents relating to MKUltra, which led to Senate hearings. + * Some surviving information about MKUltra was declassified in 2001. + * */ + public default ConnectionPriority getPriority() { + return ConnectionPriority.NORMAL; + } + + /** More is better-er */ + public enum ConnectionPriority { + LOWEST, + LOW, + NORMAL, + HIGH, + HIGHEST + } +} diff --git a/src/main/java/api/hbm/energymk2/Nodespace.java b/src/main/java/api/hbm/energymk2/Nodespace.java new file mode 100644 index 000000000..3f0888859 --- /dev/null +++ b/src/main/java/api/hbm/energymk2/Nodespace.java @@ -0,0 +1,193 @@ +package api.hbm.energymk2; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map.Entry; +import java.util.Set; + +import com.hbm.util.fauxpointtwelve.BlockPos; +import com.hbm.util.fauxpointtwelve.DirPos; + +import net.minecraft.server.MinecraftServer; +import net.minecraft.world.World; + +/** + * The "Nodespace" is an intermediate, "ethereal" layer of abstraction that tracks nodes (i.e. cables) even when they are no longer loaded, allowing continued operation even when unloaded + * @author hbm + * + */ +public class Nodespace { + + /** Contains all "NodeWorld" instances, i.e. lists of nodes existing per world */ + public static HashMap worlds = new HashMap(); + public static Set activePowerNets = new HashSet(); + + public static PowerNode getNode(World world, int x, int y, int z) { + NodeWorld nodeWorld = worlds.get(world); + if(nodeWorld != null) return nodeWorld.nodes.get(new BlockPos(x, y, z)); + return null; + } + + public static void createNode(World world, PowerNode node) { + NodeWorld nodeWorld = worlds.get(world); + if(nodeWorld == null) { + nodeWorld = new NodeWorld(); + worlds.put(world, nodeWorld); + } + nodeWorld.pushNode(node); + } + + public static void destroyNode(World world, int x, int y, int z) { + PowerNode node = getNode(world, x, y, z); + if(node != null) { + worlds.get(world).popNode(node); + } + } + + /** Goes over each node and manages connections */ + public static void updateNodespace() { + + for(World world : MinecraftServer.getServer().worldServers) { + NodeWorld nodes = worlds.get(world); + + for(Entry entry : nodes.nodes.entrySet()) { + PowerNode node = entry.getValue(); + if(!node.hasValidNet() || node.recentlyChanged) { + checkNodeConnection(world, node); + node.recentlyChanged = false; + } + } + } + + updatePowerNets(); + } + + private static void updatePowerNets() { + + for(PowerNetMK2 net : activePowerNets) net.resetEnergyTracker(); //reset has to be done before everything else + for(PowerNetMK2 net : activePowerNets) net.transferPower(); + } + + /** Goes over each connection point of the given node, tries to find neighbor nodes and to join networks with them */ + private static void checkNodeConnection(World world, PowerNode node) { + + for(DirPos con : node.connections) { + + PowerNode conNode = getNode(world, con.getX(), con.getY(), con.getZ()); // get whatever neighbor node intersects with that connection + + if(conNode != null) { // if there is a node at that place + + if(conNode.hasValidNet() && conNode.net == node.net) continue; // if the net is valid and both nodes have the same net, skip + + if(checkConnection(conNode, con, false)) { + connectToNode(node, conNode); + } + } + } + + if(node.net == null || !node.net.isValid()) new PowerNetMK2().joinLink(node); + } + + public static boolean checkConnection(PowerNode connectsTo, DirPos connectFrom, boolean skipSideCheck) { + + for(DirPos revCon : connectsTo.connections) { + + if(revCon.getX() - revCon.getDir().offsetX == connectFrom.getX() && revCon.getY() - revCon.getDir().offsetY == connectFrom.getY() && revCon.getZ() - revCon.getDir().offsetZ == connectFrom.getZ() && (revCon.getDir() == connectFrom.getDir().getOpposite() || skipSideCheck)) { + return true; + } + } + + return false; + } + + /** Links two nodes with different or potentially no networks */ + private static void connectToNode(PowerNode origin, PowerNode connection) { + + if(origin.hasValidNet() && connection.hasValidNet()) { // both nodes have nets, but the nets are different (previous assumption), join networks + if(origin.net.links.size() > connection.net.links.size()) { + origin.net.joinNetworks(connection.net); + } else { + connection.net.joinNetworks(origin.net); + } + } else if(!origin.hasValidNet() && connection.hasValidNet()) { // origin has no net, connection does, have origin join connection's net + connection.net.joinLink(origin); + } else if(origin.hasValidNet() && !connection.hasValidNet()) { // ...and vice versa + origin.net.joinLink(connection); + } + } + + public static class NodeWorld { + + /** Contains a map showing where each node is, a node is every spot that a cable exists at. + * Instead of the old proxy system, things like substation now create multiple nodes at their connection points */ + public static HashMap nodes = new HashMap(); + + /** Adds a node at all its positions to the nodespace */ + public void pushNode(PowerNode node) { + for(BlockPos pos : node.positions) { + nodes.put(pos, node); + } + } + + /** Removes the specified node from all positions from nodespace */ + public void popNode(PowerNode node) { + if(node.net != null) node.net.destroy(); + for(BlockPos pos : node.positions) { + nodes.remove(pos); + node.expired = true; + } + } + + /** Grabs the node at one position, then removes it from all positions it occupies */ + public void popNode(BlockPos pos) { + PowerNode node = nodes.get(pos); + if(node != null) popNode(node); + } + } + + public static class PowerNode { + + public BlockPos[] positions; + public DirPos[] connections; + public PowerNetMK2 net; + public boolean expired = false; + /** + * Okay so here's the deal: The code has shit idiot brain fungus. I don't know why. I re-tested every part involved several times. + * I don't know why. But for some reason, during neighbor checks, on certain arbitrary fucking places, the joining operation just fails. + * Disallowing nodes to create new networks fixed the problem completely, which is hardly surprising since they wouldn't be able to make + * a new net anyway and they will re-check neighbors until a net is found, so the solution is tautological in nature. So I tried limiting + * creation of new networks. Didn't work. So what's there left to do? Hand out a mark to any node that has changed networks, and let those + * recently modified nodes do another re-check. This creates a second layer of redundant operations, and in theory doubles (in practice, + * it might be an extra 20% due to break-off section sizes) the amount of CPU time needed for re-building the networks after joining or + * breaking, but it seems to allow those parts to connect back to their neighbor nets as they are supposed to. I am not proud of this solution, + * this issue shouldn't exist to begin with and I am going fucking insane but it is what it is. + */ + public boolean recentlyChanged = true; + + public PowerNode(BlockPos... positions) { + this.positions = positions; + } + + public PowerNode setConnections(DirPos... connections) { + this.connections = connections; + return this; + } + + public PowerNode addConnection(DirPos connection) { + DirPos[] newCons = new DirPos[this.connections.length + 1]; + for(int i = 0; i < this.connections.length; i++) newCons[i] = this.connections[i]; + newCons[newCons.length - 1] = connection; + this.connections = newCons; + return this; + } + + public boolean hasValidNet() { + return this.net != null && this.net.isValid(); + } + + public void setNet(PowerNetMK2 net) { + this.net = net; + this.recentlyChanged = true; + } + } +} diff --git a/src/main/java/api/hbm/energymk2/PowerNetMK2.java b/src/main/java/api/hbm/energymk2/PowerNetMK2.java new file mode 100644 index 000000000..ffb1ee64c --- /dev/null +++ b/src/main/java/api/hbm/energymk2/PowerNetMK2.java @@ -0,0 +1,349 @@ +package api.hbm.energymk2; + +import java.util.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Set; + +import com.hbm.util.Tuple.Pair; + +import java.util.Map.Entry; + +import api.hbm.energymk2.IEnergyReceiverMK2.ConnectionPriority; +import api.hbm.energymk2.Nodespace.PowerNode; + +public class PowerNetMK2 { + + public boolean valid = true; + public Set links = new HashSet(); + + /** Maps all active subscribers to a timestamp, handy for handling timeouts. In a good system this shouldn't be necessary, but the previous system taught me to be cautious anyway */ + public HashMap receiverEntries = new HashMap(); + public HashMap providerEntries = new HashMap(); + + public long energyTracker = 0L; + + public PowerNetMK2() { + Nodespace.activePowerNets.add(this); + } + + /// SUBSCRIBER HANDLING /// + public boolean isSubscribed(IEnergyReceiverMK2 receiver) { + return this.receiverEntries.containsKey(receiver); + } + + public void addReceiver(IEnergyReceiverMK2 receiver) { + this.receiverEntries.put(receiver, System.currentTimeMillis()); + } + + public void removeReceiver(IEnergyReceiverMK2 receiver) { + this.receiverEntries.remove(receiver); + } + + /// PROVIDER HANDLING /// + public boolean isProvider(IEnergyProviderMK2 provider) { + return this.providerEntries.containsKey(provider); + } + + public void addProvider(IEnergyProviderMK2 provider) { + this.providerEntries.put(provider, System.currentTimeMillis()); + } + + public void removeProvider(IEnergyProviderMK2 provider) { + this.providerEntries.remove(provider); + } + + /// LINK JOINING /// + + /** Combines two networks into one */ + public void joinNetworks(PowerNetMK2 network) { + + if(network == this) return; //wtf?! + + List oldNodes = new ArrayList(network.links.size()); + oldNodes.addAll(network.links); // might prevent oddities related to joining - nvm it does nothing + + for(PowerNode conductor : oldNodes) forceJoinLink(conductor); + network.links.clear(); + + for(IEnergyReceiverMK2 connector : network.receiverEntries.keySet()) this.addReceiver(connector); + for(IEnergyProviderMK2 connector : network.providerEntries.keySet()) this.addProvider(connector); + network.destroy(); + } + + /** Adds the power node as part of this network's links */ + public PowerNetMK2 joinLink(PowerNode node) { + if(node.net != null) node.net.leaveLink(node); + return forceJoinLink(node); + } + + /** Adds the power node as part of this network's links, skips the part about removing it from existing networks */ + public PowerNetMK2 forceJoinLink(PowerNode node) { + this.links.add(node); + node.setNet(this); + return this; + } + + /** Removes the specified power node */ + public void leaveLink(PowerNode node) { + node.setNet(null); + this.links.remove(node); + } + + /// GENERAL POWER NET CONTROL /// + public void invalidate() { + this.valid = false; + Nodespace.activePowerNets.remove(this); + } + + public boolean isValid() { + return this.valid; + } + + public void destroy() { + this.invalidate(); + for(PowerNode link : this.links) if(link.net == this) link.setNet(null); + this.links.clear(); + this.receiverEntries.clear(); + this.providerEntries.clear(); + } + + public void resetEnergyTracker() { + this.energyTracker = 0; + } + + protected static int timeout = 3_000; + + public void transferPower() { + + if(providerEntries.isEmpty()) return; + if(receiverEntries.isEmpty()) return; + + long timestamp = System.currentTimeMillis(); + long transferCap = 100_000_000_000_000_00L; + + List> providers = new ArrayList(); + long powerAvailable = 0; + + Iterator> provIt = providerEntries.entrySet().iterator(); + while(provIt.hasNext()) { + Entry entry = provIt.next(); + if(timestamp - entry.getValue() > timeout) { provIt.remove(); continue; } + long src = Math.min(entry.getKey().getPower(), entry.getKey().getProviderSpeed()); + providers.add(new Pair(entry.getKey(), src)); + if(powerAvailable < transferCap) powerAvailable += src; + } + + powerAvailable = Math.min(powerAvailable, transferCap); + + List>[] receivers = new ArrayList[ConnectionPriority.values().length]; + for(int i = 0; i < receivers.length; i++) receivers[i] = new ArrayList(); + long[] demand = new long[ConnectionPriority.values().length]; + long totalDemand = 0; + + Iterator> recIt = receiverEntries.entrySet().iterator(); + + while(recIt.hasNext()) { + Entry entry = recIt.next(); + if(timestamp - entry.getValue() > timeout) { recIt.remove(); continue; } + long rec = Math.min(entry.getKey().getMaxPower() - entry.getKey().getPower(), entry.getKey().getReceiverSpeed()); + int p = entry.getKey().getPriority().ordinal(); + receivers[p].add(new Pair(entry.getKey(), rec)); + demand[p] += rec; + totalDemand += rec; + } + + long toTransfer = Math.min(powerAvailable, totalDemand); + long energyUsed = 0; + + for(int i = ConnectionPriority.values().length - 1; i >= 0; i--) { + List> list = receivers[i]; + long priorityDemand = demand[i]; + + for(Pair entry : list) { + double weight = (double) entry.getValue() / (double) (priorityDemand); + long toSend = (long) Math.max(toTransfer * weight, 0D); + energyUsed += (toSend - entry.getKey().transferPower(toSend)); //leftovers are subtracted from the intended amount to use up + } + + toTransfer -= energyUsed; + } + + this.energyTracker += energyUsed; + + for(Pair entry : providers) { + double weight = (double) entry.getValue() / (double) powerAvailable; + long toUse = (long) Math.max(energyUsed * weight, 0D); + entry.getKey().usePower(toUse); + } + } + + @Deprecated public void transferPowerOld() { + + if(providerEntries.isEmpty()) return; + if(receiverEntries.isEmpty()) return; + + long timestamp = System.currentTimeMillis(); + long transferCap = 100_000_000_000_000_00L; // that ought to be enough + + long supply = 0; + long demand = 0; + long[] priorityDemand = new long[ConnectionPriority.values().length]; + + Iterator> provIt = providerEntries.entrySet().iterator(); + while(provIt.hasNext()) { + Entry entry = provIt.next(); + if(timestamp - entry.getValue() > timeout) { provIt.remove(); continue; } + supply += Math.min(entry.getKey().getPower(), entry.getKey().getProviderSpeed()); + } + + if(supply <= 0) return; + + Iterator> recIt = receiverEntries.entrySet().iterator(); + while(recIt.hasNext()) { + Entry entry = recIt.next(); + if(timestamp - entry.getValue() > timeout) { recIt.remove(); continue; } + long rec = Math.min(entry.getKey().getMaxPower() - entry.getKey().getPower(), entry.getKey().getReceiverSpeed()); + demand += rec; + for(int i = 0; i <= entry.getKey().getPriority().ordinal(); i++) priorityDemand[i] += rec; + } + + if(demand <= 0) return; + + long toTransfer = Math.min(supply, demand); + if(toTransfer > transferCap) toTransfer = transferCap; + if(toTransfer <= 0) return; + + List buffers = new ArrayList(); + List providers = new ArrayList(); + Set receiverSet = receiverEntries.keySet(); + for(IEnergyProviderMK2 provider : providerEntries.keySet()) { + if(receiverSet.contains(provider)) { + buffers.add(provider); + } else { + providers.add(provider); + } + } + providers.addAll(buffers); //makes buffers go last + List receivers = new ArrayList() {{ addAll(receiverSet); }}; + + receivers.sort(COMP); + + int maxIteration = 1000; + + //how much the current sender/receiver have already sent/received + long prevSrc = 0; + long prevDest = 0; + + while(!receivers.isEmpty() && !providers.isEmpty() && maxIteration > 0) { + maxIteration--; + + IEnergyProviderMK2 src = providers.get(0); + IEnergyReceiverMK2 dest = receivers.get(0); + + if(src.getPower() <= 0) { providers.remove(0); prevSrc = 0; continue; } + + if(src == dest) { // STALEMATE DETECTED + //if this happens, a buffer will waste both its share of transfer and receiving potential and do effectively nothing, essentially breaking + + //try if placing the conflicting provider at the end of the list does anything + //we do this first because providers have no priority, so we may shuffle those around as much as we want + if(providers.size() > 1) { + providers.add(providers.get(0)); + providers.remove(0); + prevSrc = 0; //this might cause slight issues due to the tracking being effectively lost while there still might be pending operations + continue; + } + //if that didn't work, try shifting the receiver by one place (to minimize priority breakage) + if(receivers.size() > 1) { + receivers.add(2, receivers.get(0)); + receivers.remove(0); + prevDest = 0; //ditto + continue; + } + + //if neither option could be performed, the only conclusion is that this buffer mode battery is alone in the power net, in which case: not my provlem + } + + long pd = priorityDemand[dest.getPriority().ordinal()]; + + long receiverShare = Math.min((long) Math.ceil((double) Math.min(dest.getMaxPower() - dest.getPower(), dest.getReceiverSpeed()) * (double) supply / (double) pd), dest.getReceiverSpeed()) - prevDest; + long providerShare = Math.min((long) Math.ceil((double) Math.min(src.getPower(), src.getProviderSpeed()) * (double) demand / (double) supply), src.getProviderSpeed()) - prevSrc; + + long toDrain = Math.min((long) (src.getPower()), providerShare); + long toFill = Math.min(dest.getMaxPower() - dest.getPower(), receiverShare); + + long finalTransfer = Math.min(toDrain, toFill); + if(toFill <= 0) { receivers.remove(0); prevDest = 0; continue; } + + finalTransfer -= dest.transferPower(finalTransfer); + src.usePower(finalTransfer); + + prevSrc += finalTransfer; + prevDest += finalTransfer; + + if(prevSrc >= src.getProviderSpeed()) { providers.remove(0); prevSrc = 0; continue; } + if(prevDest >= dest.getReceiverSpeed()) { receivers.remove(0); prevDest = 0; continue; } + + toTransfer -= finalTransfer; + this.energyTracker += finalTransfer; + } + } + + public long sendPowerDiode(long power) { + + if(receiverEntries.isEmpty()) return power; + + long timestamp = System.currentTimeMillis(); + + List>[] receivers = new ArrayList[ConnectionPriority.values().length]; + for(int i = 0; i < receivers.length; i++) receivers[i] = new ArrayList(); + long[] demand = new long[ConnectionPriority.values().length]; + long totalDemand = 0; + + Iterator> recIt = receiverEntries.entrySet().iterator(); + + while(recIt.hasNext()) { + Entry entry = recIt.next(); + if(timestamp - entry.getValue() > timeout) { recIt.remove(); continue; } + long rec = Math.min(entry.getKey().getMaxPower() - entry.getKey().getPower(), entry.getKey().getReceiverSpeed()); + int p = entry.getKey().getPriority().ordinal(); + receivers[p].add(new Pair(entry.getKey(), rec)); + demand[p] += rec; + totalDemand += rec; + } + + long toTransfer = Math.min(power, totalDemand); + long energyUsed = 0; + + for(int i = ConnectionPriority.values().length - 1; i >= 0; i--) { + List> list = receivers[i]; + long priorityDemand = demand[i]; + + for(Pair entry : list) { + double weight = (double) entry.getValue() / (double) (priorityDemand); + long toSend = (long) Math.max(toTransfer * weight, 0D); + energyUsed += (toSend - entry.getKey().transferPower(toSend)); //leftovers are subtracted from the intended amount to use up + } + + toTransfer -= energyUsed; + } + + this.energyTracker += energyUsed; + + return power - energyUsed; + } + + public static final ReceiverComparator COMP = new ReceiverComparator(); + + public static class ReceiverComparator implements Comparator { + + @Override + public int compare(IEnergyReceiverMK2 o1, IEnergyReceiverMK2 o2) { + return o2.getPriority().ordinal() - o1.getPriority().ordinal(); + } + } +} diff --git a/src/main/java/api/hbm/energymk2/package-info.java b/src/main/java/api/hbm/energymk2/package-info.java new file mode 100644 index 000000000..8bb153735 --- /dev/null +++ b/src/main/java/api/hbm/energymk2/package-info.java @@ -0,0 +1,33 @@ +/** + * + */ +/** + * @author hbm + * + */ +package api.hbm.energymk2; + +// i have snorted two lines of pure caffeine and taken one large paracetamol laced with even more caffine, let's fucking go + +//most of the new classes are just copy pasted mashed up shit from yesteryear, what a productive segment that was + +/* + +before my caffine high ends entirely and i black out, here's the gist: +* diodes are handled like energy receiver and simply chain-load the power net they output into in a recursive function, this might be a bit laggy compared to the rest of the system, but it's still way less laggy than the old one +* instead of power nets being bound to tile entities directly, tiles spawn ethereal "nodes" similar to the drone waypoints which can be saved using world data, meaning that breaking cables will delete nodes, but unloading them will keep them alive in "node space" which is what's actually used to check for connections +* power nets may cache some positional info in order to limit the amount of nodes, this should prevent horrific freezes in the unlikely event that some retard makes a superflat world out of cables +* general energy transmission will work in a similar fashion as martin explained his, but somewhat simplified; the system will determine supply and demand and then split those evenly if possible, retrying within one operation is only necessary for minor restrictions like priority, any leftovers from rounding don't have to be re-tried because the next tick will already take care of that +* invest funds in more coal mare nudes +* battery "fair share" transfer will most likely no longer work, but that's not really as relevant these days considering there's capacitors and because batteries have transfer speed limits anyway +* most of the machine's functions will be repurposed, the "sendPower" method will no longer send power directly but register the machine to the network as a power source +* if all else fails and martin still hasn't surrendered his code, i will beg greg for his wisdom (but without loss or tiering because fuck that) +* +* | | || +* ____|____ +* | +* || | |_ +* +* ...i said WITHOUT loss + +*/ \ No newline at end of file diff --git a/src/main/java/api/hbm/fluid/IFillableItem.java b/src/main/java/api/hbm/fluid/IFillableItem.java index 8818946ce..338b4b7e1 100644 --- a/src/main/java/api/hbm/fluid/IFillableItem.java +++ b/src/main/java/api/hbm/fluid/IFillableItem.java @@ -14,4 +14,8 @@ public interface IFillableItem { public boolean providesFluid(FluidType type, ItemStack stack); /** Provides fluid with the maximum being the requested amount */ public int tryEmpty(FluidType type, int amount, ItemStack stack); + /** Returns the first (or only) corrently held type, may return null. Currently only used for setting bedrock ores */ + public FluidType getFirstFluidType(ItemStack stack); + /** Returns the fillstate for the specified fluid. Currently only used for setting bedrock ores */ + public int getFill(ItemStack stack); } diff --git a/src/main/java/api/hbm/fluid/IFluidConnector.java b/src/main/java/api/hbm/fluid/IFluidConnector.java index a47b56def..a9c900635 100644 --- a/src/main/java/api/hbm/fluid/IFluidConnector.java +++ b/src/main/java/api/hbm/fluid/IFluidConnector.java @@ -4,13 +4,14 @@ import com.hbm.inventory.fluid.FluidType; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; +import api.hbm.tile.ILoadedTile; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public interface IFluidConnector { +public interface IFluidConnector extends ILoadedTile { /** * Returns the amount of fluid that remains diff --git a/src/main/java/api/hbm/fluid/PipeNet.java b/src/main/java/api/hbm/fluid/PipeNet.java index cab1fd29f..3dacf2f0b 100644 --- a/src/main/java/api/hbm/fluid/PipeNet.java +++ b/src/main/java/api/hbm/fluid/PipeNet.java @@ -90,9 +90,9 @@ public class PipeNet implements IPipeNet { @Override public long transferFluid(long fill, int pressure) { - - this.subscribers.removeIf(x -> - x == null || !(x instanceof TileEntity) || ((TileEntity)x).isInvalid() + + subscribers.removeIf(x -> + x == null || !(x instanceof TileEntity) || ((TileEntity)x).isInvalid() || !x.isLoaded() ); if(this.subscribers.isEmpty()) diff --git a/src/main/java/api/hbm/tile/IInfoProviderEC.java b/src/main/java/api/hbm/tile/IInfoProviderEC.java new file mode 100644 index 000000000..ea4995bbd --- /dev/null +++ b/src/main/java/api/hbm/tile/IInfoProviderEC.java @@ -0,0 +1,20 @@ +package api.hbm.tile; + +import net.minecraft.nbt.NBTTagCompound; + +/** + * Info providers for ENERGY CONTROL + * + * For EC's implementation, refer to: + * https://github.com/Zuxelus/Energy-Control/blob/1.7.10/src/main/java/com/zuxelus/energycontrol/crossmod/CrossHBM.java + * https://github.com/Zuxelus/Energy-Control/blob/1.7.10/src/main/java/com/zuxelus/energycontrol/items/cards/ItemCardHBM.java + * https://github.com/Zuxelus/Energy-Control/blob/1.7.10/src/main/java/com/zuxelus/energycontrol/utils/DataHelper.java + * + * (keys are from DataHelper.java and CrossHBM.java) + * + * */ +public interface IInfoProviderEC { + + /** Adds any custom data that isn't covered by the standard energy and fluid implementations. */ + public void provideExtraInfo(NBTTagCompound data); +} diff --git a/src/main/java/api/hbm/energy/ILoadedTile.java b/src/main/java/api/hbm/tile/ILoadedTile.java similarity index 72% rename from src/main/java/api/hbm/energy/ILoadedTile.java rename to src/main/java/api/hbm/tile/ILoadedTile.java index 1f6d0f88b..65ad9d14c 100644 --- a/src/main/java/api/hbm/energy/ILoadedTile.java +++ b/src/main/java/api/hbm/tile/ILoadedTile.java @@ -1,4 +1,4 @@ -package api.hbm.energy; +package api.hbm.tile; public interface ILoadedTile { diff --git a/src/main/java/com/hbm/blocks/BlockDummyable.java b/src/main/java/com/hbm/blocks/BlockDummyable.java index 4d7b35b2e..d802eac32 100644 --- a/src/main/java/com/hbm/blocks/BlockDummyable.java +++ b/src/main/java/com/hbm/blocks/BlockDummyable.java @@ -36,7 +36,6 @@ public abstract class BlockDummyable extends BlockContainer implements ICustomBl public BlockDummyable(Material mat) { super(mat); - this.maxY = 0.999D; //item bounce prevention this.setTickRandomly(true); } diff --git a/src/main/java/com/hbm/blocks/BlockEnumMulti.java b/src/main/java/com/hbm/blocks/BlockEnumMulti.java index d581bfd2d..0dd222f82 100644 --- a/src/main/java/com/hbm/blocks/BlockEnumMulti.java +++ b/src/main/java/com/hbm/blocks/BlockEnumMulti.java @@ -36,7 +36,7 @@ public class BlockEnumMulti extends BlockMulti { for(int i = 0; i < icons.length; i++) { Enum num = enums[i]; - this.icons[i] = reg.registerIcon(this.getTextureName() + "." + num.name().toLowerCase(Locale.US)); + this.icons[i] = reg.registerIcon(this.getTextureMultiName(num)); } } else { this.blockIcon = reg.registerIcon(this.getTextureName()); @@ -47,12 +47,20 @@ public class BlockEnumMulti extends BlockMulti { if(this.multiName) { Enum num = EnumUtil.grabEnumSafely(this.theEnum, stack.getItemDamage()); - return super.getUnlocalizedName() + "." + num.name().toLowerCase(Locale.US); + return getUnlocalizedMultiName(num); } return this.getUnlocalizedName(); } + public String getTextureMultiName(Enum num) { + return this.getTextureName() + "." + num.name().toLowerCase(Locale.US); + } + + public String getUnlocalizedMultiName(Enum num) { + return super.getUnlocalizedName() + "." + num.name().toLowerCase(Locale.US); + } + @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int meta) { diff --git a/src/main/java/com/hbm/blocks/BlockEnums.java b/src/main/java/com/hbm/blocks/BlockEnums.java index 6bb64b079..bf35a4e17 100644 --- a/src/main/java/com/hbm/blocks/BlockEnums.java +++ b/src/main/java/com/hbm/blocks/BlockEnums.java @@ -11,6 +11,14 @@ public class BlockEnums { BAUXITE } + public static enum EnumMeteorType { + IRON, + COPPER, + ALUMINIUM, + RAREEARTH, + COBALT + } + public static enum EnumBiomeType { DESERT, WOODLAND @@ -58,4 +66,10 @@ public class BlockEnums { GREEN, STEEL } + + public static enum LightType { + INCANDESCENT, + FLUORESCENT, + HALOGEN + } } diff --git a/src/main/java/com/hbm/blocks/BlockRemap.java b/src/main/java/com/hbm/blocks/BlockRemap.java index c9d66894f..1939b2830 100644 --- a/src/main/java/com/hbm/blocks/BlockRemap.java +++ b/src/main/java/com/hbm/blocks/BlockRemap.java @@ -3,10 +3,12 @@ package com.hbm.blocks; import java.util.ArrayList; import java.util.Random; -import com.hbm.lib.RefStrings; - +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.item.Item; +import net.minecraft.util.IIcon; import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; @@ -21,12 +23,16 @@ public class BlockRemap extends Block implements ILookOverlay { this.remapMeta = meta; this.setTickRandomly(true); } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int meta, int side) { + return this.remapBlock.getIcon(meta, side); + } @Override - public Block setBlockName(String name) { - super.setBlockName(name); - this.setBlockTextureName(RefStrings.MODID + ":" + name); - return this; + public Item getItemDropped(int meta, Random rand, int fortune) { + return this.remapBlock.getItemDropped(meta, rand, fortune); } @Override diff --git a/src/main/java/com/hbm/blocks/IBlockMultiPass.java b/src/main/java/com/hbm/blocks/IBlockMultiPass.java index da8739558..c5140f394 100644 --- a/src/main/java/com/hbm/blocks/IBlockMultiPass.java +++ b/src/main/java/com/hbm/blocks/IBlockMultiPass.java @@ -11,4 +11,7 @@ public interface IBlockMultiPass { return renderID; } + public default boolean shouldRenderItemMulti() { + return false; + } } diff --git a/src/main/java/com/hbm/blocks/ISpotlight.java b/src/main/java/com/hbm/blocks/ISpotlight.java new file mode 100644 index 000000000..d6ccba272 --- /dev/null +++ b/src/main/java/com/hbm/blocks/ISpotlight.java @@ -0,0 +1,6 @@ +package com.hbm.blocks; + +public interface ISpotlight { + + public int getBeamLength(); +} diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 7196b59c5..da8088dd5 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -12,10 +12,6 @@ import com.hbm.blocks.machine.pile.*; import com.hbm.blocks.machine.rbmk.*; import com.hbm.blocks.network.*; import com.hbm.blocks.rail.*; -import com.hbm.blocks.siege.SiegeCircuit; -import com.hbm.blocks.siege.SiegeHole; -import com.hbm.blocks.siege.SiegeInternal; -import com.hbm.blocks.siege.SiegeShield; import com.hbm.blocks.test.*; import com.hbm.blocks.turret.*; import com.hbm.items.block.*; @@ -45,17 +41,10 @@ public class ModBlocks { registerBlock(); } - public static Block test_render; - public static Block test_bomb; - public static Block test_bomb_advanced; - public static Block test_nuke; public static Block event_tester; public static Block obj_tester; public static Block test_core; public static Block test_charge; - public static Block test_pipe; - public static Block test_ct; - public static Block test_rail; public static Block structure_anchor; public static Block ore_uranium; @@ -98,16 +87,7 @@ public class ModBlocks { public static Block ore_nether_cobalt; public static Block ore_nether_schrabidium; - public static Block ore_meteor_uranium; - public static Block ore_meteor_thorium; - public static Block ore_meteor_titanium; - public static Block ore_meteor_sulfur; - public static Block ore_meteor_copper; - public static Block ore_meteor_tungsten; - public static Block ore_meteor_aluminium; - public static Block ore_meteor_lead; - public static Block ore_meteor_lithium; - public static Block ore_meteor_starmetal; + public static Block ore_meteor; public static Block stone_gneiss; public static Block ore_gneiss_iron; @@ -132,6 +112,8 @@ public class ModBlocks { public static Block cluster_depth_iron; public static Block cluster_depth_titanium; public static Block cluster_depth_tungsten; + + public static Block stone_keyhole; public static Block stone_depth_nether; public static Block ore_depth_nether_neodymium; @@ -141,7 +123,6 @@ public class ModBlocks { public static Block stalagmite; public static Block stalactite; public static Block stone_biome; - public static Block stone_deep_cobble; public static Block depth_brick; public static Block depth_tiles; @@ -150,10 +131,7 @@ public class ModBlocks { public static Block depth_dnt; public static Block basalt; - public static Block basalt_sulfur; - public static Block basalt_fluorite; - public static Block basalt_asbestos; - public static Block basalt_gem; + public static Block ore_basalt; public static Block basalt_smooth; public static Block basalt_brick; public static Block basalt_polished; @@ -199,7 +177,6 @@ public class ModBlocks { public static Block block_titanium; public static Block block_sulfur; public static Block block_niter; - public static Block block_niter_reinforced; public static Block block_copper; public static Block block_red_copper; public static Block block_tungsten; @@ -280,14 +257,7 @@ public class ModBlocks { public static Block block_daffergon; public static Block block_verticium; - public static Block block_cap_nuka; - public static Block block_cap_quantum; - public static Block block_cap_rad; - public static Block block_cap_sparkle; - public static Block block_cap_korl; - public static Block block_cap_fritz; - public static Block block_cap_sunset; - public static Block block_cap_star; + public static Block block_cap; public static Block deco_titanium; public static Block deco_red_copper; @@ -303,6 +273,7 @@ public class ModBlocks { public static Block deco_emitter; public static Block part_emitter; public static Block deco_loot; + public static Block pedestal; public static Block bobblehead; public static Block snowglobe; @@ -329,13 +300,19 @@ public class ModBlocks { public static Block lamp_tritium_blue_off; public static Block lamp_tritium_blue_on; - public static Block lamp_uv_off; - public static Block lamp_uv_on; public static Block lamp_demon; public static Block lantern; public static Block lantern_behemoth; + public static Block spotlight_incandescent; + public static Block spotlight_incandescent_off; + public static Block spotlight_fluoro; + public static Block spotlight_fluoro_off; + public static Block spotlight_halogen; + public static Block spotlight_halogen_off; + public static Block spotlight_beam; + public static Block reinforced_stone; public static Block concrete_smooth; public static Block concrete_colored; @@ -393,12 +370,6 @@ public class ModBlocks { public static Block tile_lab_cracked; public static Block tile_lab_broken; - public static Block siege_shield; - public static Block siege_internal; - public static Block siege_circuit; - public static Block siege_emergency; - public static Block siege_hole; - public static Block block_meteor; public static Block block_meteor_cobble; public static Block block_meteor_broken; @@ -425,14 +396,12 @@ public class ModBlocks { public static Block brick_jungle_glyph; public static Block brick_jungle_circle; - public static Block brick_dungeon; - public static Block brick_dungeon_flat; - public static Block brick_dungeon_tile; - public static Block brick_dungeon_circle; - public static Block brick_forgotten; - + public static Block brick_red; + public static Block deco_computer; + public static Block deco_crt; + public static Block deco_toaster; public static Block filing_cabinet; @@ -532,24 +501,21 @@ public class ModBlocks { public static Block foam_layer; public static Block sand_boron_layer; public static Block leaves_layer; + public static Block oil_spill; public static Block sellafield_slaked; public static Block sellafield; - /*public static Block sellafield_0; - public static Block sellafield_1; - public static Block sellafield_2; - public static Block sellafield_3; - public static Block sellafield_4; - public static Block sellafield_core;*/ + public static Block ore_sellafield_diamond; + public static Block ore_sellafield_emerald; + public static Block ore_sellafield_uranium_scorched; + public static Block ore_sellafield_schrabidium; + public static Block ore_sellafield_radgem; public static Block geysir_water; public static Block geysir_chlorine; public static Block geysir_vapor; public static Block geysir_nether; - public static Block observer_off; - public static Block observer_on; - public static Block flame_war; public static Block float_bomb; public static Block therm_endo; @@ -595,7 +561,6 @@ public class ModBlocks { public static Block boxcar; public static Block boat; - public static Block bomber; public static Block seal_frame; public static Block seal_controller; @@ -606,6 +571,8 @@ public class ModBlocks { public static Block sliding_blast_door; public static Block fire_door; public static Block transition_seal; + public static Block silo_hatch; + public static Block silo_hatch_large; // 1.12.2 Doors public static Block secure_access_door; @@ -619,6 +586,7 @@ public class ModBlocks { public static Block door_metal; public static Block door_office; public static Block door_bunker; + public static Block door_red; public static Block barbed_wire; public static Block barbed_wire_fire; @@ -632,10 +600,6 @@ public class ModBlocks { public static Block tesla; - public static Block marker_structure; - - public static Block muffler; - public static Block sat_mapper; public static Block sat_scanner; public static Block sat_radar; @@ -665,7 +629,6 @@ public class ModBlocks { public static Block nuke_custom; public static Block nuke_solinium; public static Block nuke_n2; - public static Block nuke_n45; public static Block nuke_fstbmb; public static Block bomb_multi; @@ -695,6 +658,7 @@ public class ModBlocks { public static Block foundry_channel; public static Block foundry_tank; public static Block foundry_outlet; + public static Block machine_strand_caster; public static Block foundry_slagtap; public static Block slag; @@ -718,15 +682,14 @@ public class ModBlocks { public static Block machine_puf6_tank; public static Block machine_reactor_breeding; - + + public static Block machine_furnace_brick_off; + public static Block machine_furnace_brick_on; public static Block machine_nuke_furnace_off; public static Block machine_nuke_furnace_on; - public static Block machine_rtg_furnace_off; public static Block machine_rtg_furnace_on; - public static Block machine_generator; - public static Block machine_industrial_generator; public static Block machine_cyclotron; @@ -785,8 +748,6 @@ public class ModBlocks { public static Block capacitor_tantalium; public static Block capacitor_schrabidate; - @Deprecated public static Block machine_coal_off; - @Deprecated public static Block machine_coal_on; public static Block machine_wood_burner; public static Block red_wire_coated; @@ -796,6 +757,10 @@ public class ModBlocks { public static Block red_cable_gauge; public static Block red_connector; public static Block red_pylon; + public static Block red_pylon_medium_wood; + public static Block red_pylon_medium_wood_transformer; + public static Block red_pylon_medium_steel; + public static Block red_pylon_medium_steel_transformer; public static Block red_pylon_large; public static Block substation; public static Block cable_switch; @@ -811,9 +776,11 @@ public class ModBlocks { public static Block fluid_duct_exhaust; public static Block fluid_valve; public static Block fluid_switch; + public static Block machine_drain; public static Block radio_torch_sender; public static Block radio_torch_receiver; public static Block radio_torch_counter; + public static Block radio_torch_logic; public static Block radio_telex; public static Block conveyor; @@ -897,6 +864,8 @@ public class ModBlocks { public static Block cm_tank; public static Block cm_circuit; public static Block cm_port; + public static Block cm_flux; + public static Block cm_heat; public static Block custom_machine; public static Block cm_anchor; @@ -904,20 +873,13 @@ public class ModBlocks { public static Block pwr_control; public static Block pwr_channel; public static Block pwr_heatex; + public static Block pwr_heatsink; public static Block pwr_neutron_source; public static Block pwr_reflector; public static Block pwr_casing; public static Block pwr_port; public static Block pwr_controller; public static Block pwr_block; - - @Deprecated public static Block reactor_element; - @Deprecated public static Block reactor_control; - @Deprecated public static Block reactor_hatch; - @Deprecated public static Block reactor_ejector; - @Deprecated public static Block reactor_inserter; - @Deprecated public static Block reactor_conductor; - @Deprecated public static Block reactor_computer; public static Block fusion_conductor; public static Block fusion_center; @@ -930,6 +892,12 @@ public class ModBlocks { public static Block iter; public static Block plasma_heater; + public static Block machine_icf_press; + public static Block icf; + public static Block icf_controller; + public static Block icf_laser_component; + public static Block icf_block; + public static Block watz; public static Block watz_pump; @@ -937,26 +905,11 @@ public class ModBlocks { public static Block watz_control; public static Block watz_cooler; public static Block watz_end; - public static Block watz_hatch; public static Block watz_conductor; - public static Block watz_core; - - public static Block fwatz_conductor; - public static Block fwatz_cooler; - public static Block fwatz_tank; - public static Block fwatz_scaffold; - public static Block fwatz_hatch; - public static Block fwatz_computer; - public static Block fwatz_core; - public static Block fwatz_plasma; public static Block balefire; public static Block fire_digamma; public static Block digamma_matter; - - public static Block ams_base; - public static Block ams_emitter; - public static Block ams_limiter; public static Block dfc_emitter; public static Block dfc_injector; @@ -965,7 +918,6 @@ public class ModBlocks { public static Block dfc_core; public static Block machine_converter_he_rf; - public static final int guiID_converter_he_rf = 28; public static Block machine_converter_rf_he; public static Block machine_schrabidium_transmutator; @@ -975,11 +927,6 @@ public class ModBlocks { public static Block machine_shredder; - public static Block machine_shredder_large; - public static final int guiID_machine_shredder_large = 76; - - public static Block machine_combine_factory; - public static Block machine_teleporter; public static Block teleanchor; public static Block field_disturber; @@ -1007,6 +954,7 @@ public class ModBlocks { public static Block fraction_spacer; public static Block machine_catalytic_cracker; public static Block machine_catalytic_reformer; + public static Block machine_hydrotreater; public static Block machine_coker; public static Block machine_boiler_off; @@ -1034,13 +982,7 @@ public class ModBlocks { public static Block machine_electrolyser; - public static Block machine_deaerator; - public static final int guiID_machine_deaerator = 74; - - public static Block machine_drill; - public static Block drill_pipe; public static Block machine_excavator; - public static Block machine_autosaw; public static Block machine_mining_laser; @@ -1059,23 +1001,23 @@ public class ModBlocks { public static Block machine_orbus; public static Block launch_pad; + public static Block launch_pad_rusted; + public static Block launch_pad_large; public static Block machine_missile_assembly; public static Block compact_launcher; - public static Block launch_table; public static Block soyuz_launcher; public static Block machine_radar; + public static Block machine_radar_large; public static Block radar_screen; public static Block machine_turbofan; public static Block machine_turbinegas; - public static Block machine_selenium; - public static Block press_preheater; public static Block machine_press; public static Block machine_epress; @@ -1106,16 +1048,18 @@ public class ModBlocks { public static Block machine_waste_drum; public static Block machine_storage_drum; - + public static Block machine_autocrafter; + public static Block machine_funnel; public static Block anvil_iron; public static Block anvil_lead; public static Block anvil_steel; - public static Block anvil_meteorite; - public static Block anvil_starmetal; + public static Block anvil_desh; + public static Block anvil_saturnite; public static Block anvil_ferrouranium; - public static Block anvil_bismuth; + public static Block anvil_bismuth_bronze; + public static Block anvil_arsenic_bronze; public static Block anvil_schrabidate; public static Block anvil_dnt; public static Block anvil_osmiridium; @@ -1130,10 +1074,10 @@ public class ModBlocks { public static Block turret_howard_damaged; public static Block turret_maxwell; public static Block turret_fritz; - public static Block turret_brandon; public static Block turret_arty; public static Block turret_himars; public static Block turret_sentry; + public static Block turret_sentry_damaged; public static Block rbmk_rod; public static Block rbmk_rod_mod; @@ -1172,9 +1116,14 @@ public class ModBlocks { public static Block rail_narrow_straight; public static Block rail_narrow_curve; public static Block rail_large_straight; + public static Block rail_large_straight_short; public static Block rail_large_curve; + public static Block rail_large_curve_7; + public static Block rail_large_curve_9; public static Block rail_large_ramp; public static Block rail_large_buffer; + public static Block rail_large_switch; + public static Block rail_large_switch_flipped; public static Block statue_elb; public static Block statue_elb_g; @@ -1187,7 +1136,6 @@ public class ModBlocks { public static Block crystal_hardened; public static Block crystal_pulsar; public static Block taint; - public static Block residue; public static Block vent_chlorine; public static Block vent_cloud; @@ -1239,7 +1187,7 @@ public class ModBlocks { } @Override - public Material setImmovableMobility() { + public Material setImmovableMobility() { //override access modifier return super.setImmovableMobility(); } @@ -1247,7 +1195,8 @@ public class ModBlocks { public static Block volcanic_lava_block; public static Fluid volcanic_lava_fluid; - public static final Material fluidvolcanic = (new MaterialLiquid(MapColor.redColor)); + public static Block rad_lava_block; + public static Fluid rad_lava_fluid; public static Block sulfuric_acid_block; public static Fluid sulfuric_acid_fluid; @@ -1255,15 +1204,8 @@ public class ModBlocks { public static Block concrete_liquid; public static Block volcano_core; + public static Block volcano_rad_core; - public static Block dummy_block_drill; - public static Block dummy_port_drill; - public static Block dummy_block_ams_limiter; - public static Block dummy_port_ams_limiter; - public static Block dummy_block_ams_emitter; - public static Block dummy_port_ams_emitter; - public static Block dummy_block_ams_base; - public static Block dummy_port_ams_base; public static Block dummy_block_vault; public static Block dummy_block_blast; public static Block dummy_block_uf6; @@ -1282,23 +1224,14 @@ public class ModBlocks { public static Block pink_double_slab; public static Block pink_stairs; - public static Block ff; - public static Material materialGas = new MaterialGas(); private static void initializeBlock() { - test_render = new TestRender(Material.rock).setBlockName("test_render").setCreativeTab(null); - test_bomb = new TestBomb(Material.tnt).setBlockName("test_bomb").setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":test_bomb"); - test_bomb_advanced = new TestBombAdvanced(Material.tnt).setBlockName("test_bomb_advanced").setCreativeTab(null); - test_nuke = new TestNuke(Material.iron).setBlockName("test_nuke").setCreativeTab(null).setHardness(2.5F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":test_nuke"); event_tester = new TestEventTester(Material.iron).setBlockName("event_tester").setCreativeTab(null).setHardness(2.5F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":event_tester"); obj_tester = new TestObjTester(Material.iron).setBlockName("obj_tester").setCreativeTab(null).setHardness(2.5F).setResistance(10.0F); test_core = new TestCore(Material.iron).setBlockName("test_core").setCreativeTab(null).setHardness(2.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":test_core"); test_charge = new TestCharge(Material.iron).setBlockName("test_charge").setCreativeTab(null).setHardness(2.5F).setResistance(10.0F); - test_pipe = new TestPipe(Material.iron).setBlockName("test_pipe").setCreativeTab(null).setHardness(2.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":pipe_neo"); - test_ct = new TestCT(Material.iron).setBlockName("test_ct").setCreativeTab(null).setHardness(2.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":test_ct"); - test_rail = new TestRail(Material.iron).setBlockName("test_rail").setCreativeTab(null).setHardness(2.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":test_rail"); structure_anchor = new BlockGeneric(Material.iron).setBlockName("structure_anchor").setCreativeTab(null).setHardness(2.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":structure_anchor"); ore_uranium = new BlockOutgas(Material.rock, true, 5, true).setBlockName("ore_uranium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_uranium"); @@ -1336,16 +1269,7 @@ public class ModBlocks { ore_nether_cobalt = new BlockOre(Material.rock).setBlockName("ore_nether_cobalt").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_cobalt"); ore_nether_schrabidium = new BlockGeneric(Material.rock).setBlockName("ore_nether_schrabidium").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(600.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_schrabidium"); - ore_meteor_uranium = new BlockOre(Material.rock).setBlockName("ore_meteor_uranium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_meteor_uranium"); - ore_meteor_thorium = new BlockOre(Material.rock).setBlockName("ore_meteor_thorium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_meteor_thorium"); - ore_meteor_titanium = new BlockOre(Material.rock).setBlockName("ore_meteor_titanium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_meteor_titanium"); - ore_meteor_sulfur = new BlockOre(Material.rock).setBlockName("ore_meteor_sulfur").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_meteor_sulfur"); - ore_meteor_copper = new BlockOre(Material.rock).setBlockName("ore_meteor_copper").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_meteor_copper"); - ore_meteor_tungsten = new BlockOre(Material.rock).setBlockName("ore_meteor_tungsten").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_meteor_tungsten"); - ore_meteor_aluminium = new BlockOre(Material.rock).setBlockName("ore_meteor_aluminium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_meteor_aluminium"); - ore_meteor_lead = new BlockOre(Material.rock).setBlockName("ore_meteor_lead").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_meteor_lead"); - ore_meteor_lithium = new BlockOre(Material.rock).setBlockName("ore_meteor_lithium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_meteor_lithium"); - ore_meteor_starmetal = new BlockOre(Material.rock).setBlockName("ore_meteor_starmetal").setCreativeTab(MainRegistry.blockTab).setHardness(10.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":ore_meteor_starmetal"); + ore_meteor = new BlockMeteorOre().setBlockName("ore_meteor").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F); stone_gneiss = new BlockGeneric(Material.rock).setBlockName("stone_gneiss").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":stone_gneiss_var"); ore_gneiss_iron = new BlockOre(Material.rock).setBlockName("ore_gneiss_iron").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_iron"); @@ -1372,6 +1296,8 @@ public class ModBlocks { cluster_depth_tungsten = new BlockDepthOre().setBlockName("cluster_depth_tungsten").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":cluster_depth_tungsten"); ore_alexandrite = new BlockDepthOre().setBlockName("ore_alexandrite").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":ore_alexandrite"); + stone_keyhole = new BlockKeyhole().setBlockName("stone_keyhole").setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":stone_keyhole"); + ore_random = new BlockMotherOfAllOres().setBlockName("ore_random").setCreativeTab(MainRegistry.blockTab); ore_bedrock = new BlockBedrockOreTE().setBlockName("ore_bedrock").setCreativeTab(null); ore_volcano = new BlockFissure().setBlockName("ore_volcano").setLightLevel(1F).setCreativeTab(MainRegistry.blockTab); @@ -1390,13 +1316,9 @@ public class ModBlocks { stalagmite = new BlockStalagmite().setBlockName("stalagmite").setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.0F); stalactite = new BlockStalagmite().setBlockName("stalactite").setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.0F); stone_biome = new BlockBiomeStone().setBlockName("stone_biome").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F); - stone_deep_cobble = new BlockDeepCobble().setBlockName("stone_deep_cobble").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(30.0F); basalt = new BlockGeneric(Material.rock).setBlockName("basalt").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt"); - basalt_sulfur = new BlockOre(Material.rock).setBlockName("basalt_sulfur").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_sulfur"); - basalt_fluorite = new BlockOre(Material.rock).setBlockName("basalt_fluorite").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_fluorite"); - basalt_asbestos = new BlockOutgas(Material.rock, true, 5, true).setBlockName("basalt_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_asbestos"); - basalt_gem = new BlockCluster(Material.rock).setBlockName("basalt_gem").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_gem"); + ore_basalt = new BlockOreBasalt().setBlockName("ore_basalt").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_basalt"); basalt_smooth = new BlockGeneric(Material.rock).setBlockName("basalt_smooth").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_smooth"); basalt_brick = new BlockGeneric(Material.rock).setBlockName("basalt_brick").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_brick"); basalt_polished = new BlockGeneric(Material.rock).setBlockName("basalt_polished").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt_polished"); @@ -1444,7 +1366,6 @@ public class ModBlocks { block_titanium = new BlockBeaconable(Material.iron).setBlockName("block_titanium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(50.0F).setBlockTextureName(RefStrings.MODID + ":block_titanium"); block_sulfur = new BlockBeaconable(Material.iron).setBlockName("block_sulfur").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_sulfur"); block_niter = new BlockBeaconable(Material.iron).setBlockName("block_niter").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_niter"); - block_niter_reinforced = new BlockBeaconable(Material.iron).setBlockName("block_niter_reinforced").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":block_niter_reinforced"); block_copper = new BlockBeaconable(Material.iron).setBlockName("block_copper").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":block_copper"); block_red_copper = new BlockBeaconable(Material.iron).setBlockName("block_red_copper").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(25.0F).setBlockTextureName(RefStrings.MODID + ":block_red_copper"); block_tungsten = new BlockBeaconable(Material.iron).setBlockName("block_tungsten").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":block_tungsten"); @@ -1524,15 +1445,8 @@ public class ModBlocks { block_unobtainium = new BlockBeaconable(Material.iron).setBlockName("block_unobtainium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_unobtainium"); block_daffergon = new BlockBeaconable(Material.iron).setBlockName("block_daffergon").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_daffergon"); block_verticium = new BlockBeaconable(Material.iron).setBlockName("block_verticium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_verticium"); - - block_cap_nuka = new BlockCap(Material.iron, RefStrings.MODID + ":block_cap_nuka_top").setStepSound(Block.soundTypeMetal).setBlockName("block_cap_nuka").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":block_cap_nuka"); - block_cap_quantum = new BlockCap(Material.iron, RefStrings.MODID + ":block_cap_quantum_top").setStepSound(Block.soundTypeMetal).setBlockName("block_cap_quantum").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":block_cap_quantum"); - block_cap_rad = new BlockCap(Material.iron, RefStrings.MODID + ":block_cap_rad_top").setStepSound(Block.soundTypeMetal).setBlockName("block_cap_rad").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":block_cap_rad"); - block_cap_sparkle = new BlockCap(Material.iron, RefStrings.MODID + ":block_cap_sparkle_top").setStepSound(Block.soundTypeMetal).setBlockName("block_cap_sparkle").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":block_cap_sparkle"); - block_cap_korl = new BlockCap(Material.iron, RefStrings.MODID + ":block_cap_korl_top").setStepSound(Block.soundTypeMetal).setBlockName("block_cap_korl").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":block_cap_korl"); - block_cap_fritz = new BlockCap(Material.iron, RefStrings.MODID + ":block_cap_fritz_top").setStepSound(Block.soundTypeMetal).setBlockName("block_cap_fritz").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":block_cap_fritz"); - block_cap_sunset = new BlockCap(Material.iron, RefStrings.MODID + ":block_cap_sunset_top").setStepSound(Block.soundTypeMetal).setBlockName("block_cap_sunset").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":block_cap_sunset"); - block_cap_star = new BlockCap(Material.iron, RefStrings.MODID + ":block_cap_star_top").setStepSound(Block.soundTypeMetal).setBlockName("block_cap_star").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":block_cap_star"); + + block_cap = new BlockCap().setBlockName("block_cap").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F); deco_titanium = new BlockOre(Material.iron).noFortune().setBlockName("deco_titanium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_titanium"); deco_red_copper = new BlockDecoCT(Material.iron).noFortune().setBlockName("deco_red_copper").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_red_copper"); @@ -1548,6 +1462,7 @@ public class ModBlocks { deco_emitter = new BlockEmitter().setBlockName("deco_emitter").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":emitter"); part_emitter = new PartEmitter().setBlockName("part_emitter").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":part_top"); deco_loot = new BlockLoot().setBlockName("deco_loot").setCreativeTab(null).setHardness(0.0F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":block_steel"); + pedestal = new BlockPedestal().setBlockName("pedestal").setCreativeTab(null).setHardness(2.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":pedestal_top"); bobblehead = new BlockBobble().setBlockName("bobblehead").setCreativeTab(MainRegistry.blockTab).setHardness(0.0F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":block_steel"); snowglobe = new BlockSnowglobe().setBlockName("snowglobe").setCreativeTab(MainRegistry.blockTab).setHardness(0.0F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":glass_boron"); hazmat = new BlockGeneric(Material.cloth).setBlockName("hazmat").setStepSound(Block.soundTypeCloth).setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(60.0F).setBlockTextureName(RefStrings.MODID + ":hazmat"); @@ -1567,16 +1482,22 @@ public class ModBlocks { reinforced_laminate = new BlockNTMGlassCT(1, RefStrings.MODID + ":reinforced_laminate", Material.rock, true).setBlockName("reinforced_laminate").setCreativeTab(MainRegistry.blockTab).setLightOpacity(0).setHardness(15.0F).setResistance(300.0F); reinforced_laminate_pane = new BlockNTMGlassPane(1, RefStrings.MODID + ":reinforced_laminate_pane", RefStrings.MODID + ":reinforced_laminate_pane_edge", Material.rock, true).setBlockName("reinforced_laminate_pane").setCreativeTab(MainRegistry.blockTab).setLightOpacity(1).setHardness(15.0F).setResistance(300.0F); - lamp_tritium_green_off = new ReinforcedLamp(Material.redstoneLight, false).setBlockName("lamp_tritium_green_off").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":lamp_tritium_green_off"); - lamp_tritium_green_on = new ReinforcedLamp(Material.redstoneLight, true).setBlockName("lamp_tritium_green_on").setStepSound(Block.soundTypeGlass).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":lamp_tritium_green_on"); - lamp_tritium_blue_off = new ReinforcedLamp(Material.redstoneLight, false).setBlockName("lamp_tritium_blue_off").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":lamp_tritium_blue_off"); - lamp_tritium_blue_on = new ReinforcedLamp(Material.redstoneLight, true).setBlockName("lamp_tritium_blue_on").setStepSound(Block.soundTypeGlass).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":lamp_tritium_blue_on"); + lamp_tritium_green_off = new TritiumLamp(Material.redstoneLight, false).setBlockName("lamp_tritium_green_off").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":lamp_tritium_green_off"); + lamp_tritium_green_on = new TritiumLamp(Material.redstoneLight, true).setBlockName("lamp_tritium_green_on").setStepSound(Block.soundTypeGlass).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":lamp_tritium_green_on"); + lamp_tritium_blue_off = new TritiumLamp(Material.redstoneLight, false).setBlockName("lamp_tritium_blue_off").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":lamp_tritium_blue_off"); + lamp_tritium_blue_on = new TritiumLamp(Material.redstoneLight, true).setBlockName("lamp_tritium_blue_on").setStepSound(Block.soundTypeGlass).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":lamp_tritium_blue_on"); - lamp_uv_off = new UVLamp(false).setBlockName("lamp_uv_off").setCreativeTab(MainRegistry.blockTab); - lamp_uv_on = new UVLamp(true).setBlockName("lamp_uv_on").setCreativeTab(null); lamp_demon = new DemonLamp().setBlockName("lamp_demon").setStepSound(Block.soundTypeMetal).setCreativeTab(MainRegistry.blockTab).setLightLevel(1F).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":lamp_demon"); lantern = new BlockLantern().setBlockName("lantern").setStepSound(Block.soundTypeMetal).setCreativeTab(MainRegistry.blockTab).setLightLevel(1F).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":block_steel"); lantern_behemoth = new BlockLanternBehemoth().setBlockName("lantern_behemoth").setStepSound(Block.soundTypeMetal).setCreativeTab(null).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":block_rust"); + + spotlight_incandescent = new Spotlight(Material.iron, 2, LightType.INCANDESCENT, true).setBlockName("spotlight_incandescent").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":cage_lamp"); + spotlight_incandescent_off = new Spotlight(Material.iron, 2, LightType.INCANDESCENT, false).setBlockName("spotlight_incandescent_off").setBlockTextureName(RefStrings.MODID + ":cage_lamp_off"); + spotlight_fluoro = new SpotlightModular(Material.iron, 8, LightType.FLUORESCENT, true).setBlockName("spotlight_fluoro").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":fluorescent_lamp"); + spotlight_fluoro_off = new SpotlightModular(Material.iron, 8, LightType.FLUORESCENT, false).setBlockName("spotlight_fluoro_off").setBlockTextureName(RefStrings.MODID + ":fluorescent_lamp_off"); + spotlight_halogen = new Spotlight(Material.iron, 32, LightType.HALOGEN, true).setBlockName("spotlight_halogen").setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":flood_lamp"); + spotlight_halogen_off = new Spotlight(Material.iron, 32, LightType.HALOGEN, false).setBlockName("spotlight_halogen_off").setBlockTextureName(RefStrings.MODID + ":flood_lamp_off"); + spotlight_beam = new SpotlightBeam().setBlockName("spotlight_beam"); reinforced_stone = new BlockGeneric(Material.rock).setBlockName("reinforced_stone").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_stone"); concrete_smooth = new BlockRadResistant(Material.rock).setBlockName("concrete_smooth").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(140.0F).setBlockTextureName(RefStrings.MODID + ":concrete"); @@ -1636,17 +1557,11 @@ public class ModBlocks { tile_lab_cracked = new BlockOutgas(Material.rock, false, 5, true).setBlockName("tile_lab_cracked").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(1.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":tile_lab_cracked"); tile_lab_broken = new BlockOutgas(Material.rock, true, 5, true).setBlockName("tile_lab_broken").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(1.0F).setResistance(20.0F).setBlockTextureName(RefStrings.MODID + ":tile_lab_broken"); - siege_shield = new SiegeShield(Material.iron).setBlockName("siege_shield").setCreativeTab(MainRegistry.blockTab).setBlockUnbreakable().setResistance(900.0F); - siege_internal = new SiegeInternal(Material.iron).setBlockName("siege_internal").setCreativeTab(MainRegistry.blockTab).setBlockUnbreakable().setResistance(60.0F); - siege_circuit = new SiegeCircuit(Material.iron).setBlockName("siege_circuit").setCreativeTab(MainRegistry.blockTab).setBlockUnbreakable().setResistance(10.0F); - siege_emergency = new BlockBase(Material.iron).setBlockName("siege_emergency").setCreativeTab(MainRegistry.blockTab).setBlockUnbreakable().setResistance(20000.0F).setBlockTextureName(RefStrings.MODID + ":siege_emergency"); - siege_hole = new SiegeHole(Material.iron).setBlockName("siege_hole").setCreativeTab(MainRegistry.blockTab).setBlockUnbreakable().setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":siege_hole"); - block_meteor = new BlockOre(Material.rock).noFortune().setBlockName("block_meteor").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor"); block_meteor_cobble = new BlockOre(Material.rock).noFortune().setBlockName("block_meteor_cobble").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_cobble"); block_meteor_broken = new BlockOre(Material.rock).noFortune().setBlockName("block_meteor_broken").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_crushed"); block_meteor_molten = new BlockOre(Material.rock, true).noFortune().setBlockName("block_meteor_molten").setLightLevel(0.75F).setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_cobble_molten"); - block_meteor_treasure = new BlockOre(Material.rock).noFortune().setBlockName("block_meteor_treasure").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_treasure"); + block_meteor_treasure = new BlockMeteoriteTreasure(Material.rock).setBlockName("block_meteor_treasure").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_treasure"); meteor_polished = new BlockGeneric(Material.rock).setBlockName("meteor_polished").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_polished"); meteor_brick = new BlockGeneric(Material.rock).setBlockName("meteor_brick").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_brick"); meteor_brick_mossy = new BlockGeneric(Material.rock).setBlockName("meteor_brick_mossy").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":meteor_brick_mossy"); @@ -1666,15 +1581,13 @@ public class ModBlocks { brick_jungle_trap = new TrappedBrick(Material.rock).setBlockName("brick_jungle_trap").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":brick_jungle_trap"); brick_jungle_glyph = new BlockGlyph(Material.rock).setBlockName("brick_jungle_glyph").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F); brick_jungle_circle = new BlockBallsSpawner(Material.rock).setBlockName("brick_jungle_circle").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(360.0F).setBlockTextureName(RefStrings.MODID + ":brick_jungle_circle"); - - brick_dungeon = new BlockGeneric(Material.rock).setBlockName("brick_dungeon").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":brick_dungeon"); - brick_dungeon_flat = new BlockGeneric(Material.rock).setBlockName("brick_dungeon_flat").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":brick_dungeon_flat"); - brick_dungeon_tile = new BlockGeneric(Material.rock).setBlockName("brick_dungeon_tile").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":brick_dungeon_tile"); - brick_dungeon_circle = new BlockGeneric(Material.rock).setBlockName("brick_dungeon_circle").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(900.0F).setBlockTextureName(RefStrings.MODID + ":brick_dungeon_circle"); brick_forgotten = new BlockGeneric(Material.rock).setBlockName("brick_forgotten").setCreativeTab(MainRegistry.blockTab).setBlockUnbreakable().setResistance(1000000).setBlockTextureName(RefStrings.MODID + ":brick_forgotten"); + brick_red = new BlockRedBrick(Material.rock).setBlockName("brick_red").setResistance(10_000); deco_computer = new BlockDecoModel(Material.iron, DecoComputerEnum.class, true, false).setBlockBoundsTo(.160749F, 0F, 0F, .839251F, .867849F, .622184F).setBlockName("deco_computer").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":deco_computer"); + deco_crt = new BlockDecoCRT(Material.iron).setBlockName("deco_crt").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_steel"); + deco_toaster = new BlockDecoToaster(Material.iron).setBlockName("deco_toaster").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_steel"); filing_cabinet = new BlockDecoContainer(Material.iron, DecoCabinetEnum.class, true, false, TileEntityFileCabinet.class).setBlockBoundsTo(.1875F, 0F, 0F, .8125F, 1F, .75F).setBlockName("filing_cabinet").setCreativeTab(MainRegistry.blockTab).setHardness(10.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":block_steel"); tape_recorder = new DecoTapeRecorder(Material.iron).setBlockName("tape_recorder").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":deco_tape_recorder"); @@ -1758,10 +1671,11 @@ public class ModBlocks { frozen_grass = new WasteEarth(Material.ground, false).setBlockName("frozen_grass").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.5F); frozen_log = new WasteLog(Material.wood).setBlockName("frozen_log").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.5F); frozen_planks = new BlockOre(Material.wood).setBlockName("frozen_planks").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":frozen_planks"); - fallout = new BlockFallout(Material.snow).setBlockName("fallout").setStepSound(Block.soundTypeGravel).setCreativeTab(MainRegistry.blockTab).setHardness(0.1F).setLightOpacity(0).setBlockTextureName(RefStrings.MODID + ":ash"); + fallout = new BlockFallout(Material.sand).setBlockName("fallout").setStepSound(Block.soundTypeGravel).setCreativeTab(MainRegistry.blockTab).setHardness(0.1F).setLightOpacity(0).setBlockTextureName(RefStrings.MODID + ":ash"); foam_layer = new BlockLayering(Material.snow).setBlockName("foam_layer").setStepSound(Block.soundTypeSnow).setCreativeTab(MainRegistry.blockTab).setHardness(0.1F).setLightOpacity(0).setBlockTextureName(RefStrings.MODID + ":foam"); sand_boron_layer = new BlockLayering(Material.sand).setBlockName("sand_boron_layer").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.blockTab).setHardness(0.1F).setLightOpacity(0).setBlockTextureName(RefStrings.MODID + ":sand_boron"); leaves_layer = new BlockLayering(Material.leaves).setBlockName("leaves_layer").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.blockTab).setHardness(0.1F).setLightOpacity(0).setBlockTextureName(RefStrings.MODID + ":waste_leaves"); + oil_spill = new BlockLayering(Material.ground).setBlockName("oil_spill").setStepSound(Block.soundTypeSnow).setCreativeTab(MainRegistry.blockTab).setHardness(0.1F).setLightOpacity(0).setBlockTextureName(RefStrings.MODID + ":oil_spill"); burning_earth = new WasteEarth(Material.ground, true).setBlockName("burning_earth").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.blockTab).setHardness(0.6F).setBlockTextureName(RefStrings.MODID + ":burning_earth"); tektite = new BlockGeneric(Material.sand).setBlockName("tektite").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":tektite"); @@ -1773,23 +1687,19 @@ public class ModBlocks { sand_dirty_red = new BlockFalling(Material.sand).setBlockName("sand_dirty_red").setStepSound(Block.soundTypeSand).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":sand_dirty_red"); stone_cracked = new BlockFalling(Material.rock).setBlockName("stone_cracked").setStepSound(Block.soundTypeStone).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":stone_cracked"); - sellafield_slaked = new BlockGeneric(Material.rock).setBlockName("sellafield_slaked").setStepSound(Block.soundTypeStone).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":sellafield_slaked"); + sellafield_slaked = new BlockSellafieldSlaked(Material.rock).setBlockName("sellafield_slaked").setStepSound(Block.soundTypeStone).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":sellafield_slaked"); sellafield = new BlockSellafield(Material.rock).setBlockName("sellafield").setStepSound(Block.soundTypeStone).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":sellafield_0"); - /*sellafield_0 = new BlockHazard(Material.rock).setBlockName("sellafield_0").setStepSound(Block.soundTypeStone).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":sellafield_0"); - sellafield_1 = new BlockHazard(Material.rock).setBlockName("sellafield_1").setStepSound(Block.soundTypeStone).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":sellafield_1"); - sellafield_2 = new BlockHazard(Material.rock).setBlockName("sellafield_2").setStepSound(Block.soundTypeStone).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":sellafield_2"); - sellafield_3 = new BlockHazard(Material.rock).setBlockName("sellafield_3").setStepSound(Block.soundTypeStone).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":sellafield_3"); - sellafield_4 = new BlockHazard(Material.rock).setBlockName("sellafield_4").setStepSound(Block.soundTypeStone).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":sellafield_4"); - sellafield_core = new BlockHazard(Material.rock).setBlockName("sellafield_core").setStepSound(Block.soundTypeStone).setHardness(10.0F).setBlockTextureName(RefStrings.MODID + ":sellafield_core");*/ + ore_sellafield_diamond = new BlockSellafieldOre(Material.rock).setBlockName("ore_sellafield_diamond").setStepSound(Block.soundTypeStone).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":ore_overlay_diamond"); + ore_sellafield_emerald = new BlockSellafieldOre(Material.rock).setBlockName("ore_sellafield_emerald").setStepSound(Block.soundTypeStone).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":ore_overlay_emerald"); + ore_sellafield_uranium_scorched = new BlockSellafieldOre(Material.rock).setBlockName("ore_sellafield_uranium_scorched").setStepSound(Block.soundTypeStone).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":ore_overlay_uranium_scorched"); + ore_sellafield_schrabidium = new BlockSellafieldOre(Material.rock).setBlockName("ore_sellafield_schrabidium").setStepSound(Block.soundTypeStone).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":ore_overlay_schrabidium"); + ore_sellafield_radgem = new BlockSellafieldOre(Material.rock).setBlockName("ore_sellafield_radgem").setStepSound(Block.soundTypeStone).setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setBlockTextureName(RefStrings.MODID + ":ore_overlay_radgem"); geysir_water = new BlockGeysir(Material.rock).setBlockName("geysir_water").setStepSound(Block.soundTypeStone).setHardness(5.0F); geysir_chlorine = new BlockGeysir(Material.rock).setBlockName("geysir_chlorine").setStepSound(Block.soundTypeStone).setHardness(5.0F); geysir_vapor = new BlockGeysir(Material.rock).setBlockName("geysir_vapor").setStepSound(Block.soundTypeStone).setHardness(5.0F); geysir_nether = new BlockGeysir(Material.rock).setBlockName("geysir_nether").setLightLevel(1.0F).setStepSound(Block.soundTypeStone).setHardness(2.0F); - observer_off = new BlockObserver(Material.iron, false).setBlockName("observer_off").setStepSound(Block.soundTypeStone).setHardness(2.0F); - observer_on = new BlockObserver(Material.iron, true).setBlockName("observer_on").setStepSound(Block.soundTypeStone).setHardness(2.0F); - nuke_gadget = new NukeGadget(Material.iron).setBlockName("nuke_gadget").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":theGadget"); nuke_boy = new NukeBoy(Material.iron).setBlockName("nuke_boy").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":lilBoy"); nuke_man = new NukeMan(Material.iron).setBlockName("nuke_man").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":fatMan"); @@ -1800,11 +1710,9 @@ public class ModBlocks { nuke_custom = new NukeCustom(Material.iron).setBlockName("nuke_custom").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":custom"); nuke_solinium = new NukeSolinium(Material.iron).setBlockName("nuke_solinium").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":nuke_solinium"); nuke_n2 = new NukeN2(Material.iron).setBlockName("nuke_n2").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":nuke_n2"); - nuke_n45 = new NukeN45(Material.iron).setBlockName("nuke_n45").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":code"); nuke_fstbmb = new NukeBalefire(Material.iron).setBlockName("nuke_fstbmb").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":nuke_fstbmb"); bomb_multi = new BombMulti(Material.iron).setBlockName("bomb_multi").setCreativeTab(MainRegistry.nukeTab).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":bomb_multi1"); - //bomb_multi_large = new BombMultiLarge(Material.iron).setBlockName("bomb_multi_large").setCreativeTab(MainRegistry.tabNuke).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":bomb_multi_large"); flame_war = new BombFlameWar(Material.iron).setBlockName("flame_war").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F).setBlockTextureName(RefStrings.MODID + ":flame_war"); float_bomb = new BombFloat(Material.iron).setBlockName("float_bomb").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(200.0F); @@ -1827,10 +1735,10 @@ public class ModBlocks { charge_miner = new BlockChargeMiner().setBlockName("charge_miner").setCreativeTab(MainRegistry.nukeTab).setResistance(1.0F); charge_c4 = new BlockChargeC4().setBlockName("charge_c4").setCreativeTab(MainRegistry.nukeTab).setResistance(1.0F); charge_semtex = new BlockChargeSemtex().setBlockName("charge_semtex").setCreativeTab(MainRegistry.nukeTab).setResistance(1.0F); - mine_ap = new Landmine(Material.iron).setBlockName("mine_ap").setCreativeTab(MainRegistry.nukeTab).setHardness(1.0F).setBlockTextureName(RefStrings.MODID + ":mine_ap"); - mine_he = new Landmine(Material.iron).setBlockName("mine_he").setCreativeTab(MainRegistry.nukeTab).setHardness(1.0F).setBlockTextureName(RefStrings.MODID + ":mine_he"); - mine_shrap = new Landmine(Material.iron).setBlockName("mine_shrap").setCreativeTab(MainRegistry.nukeTab).setHardness(1.0F).setBlockTextureName(RefStrings.MODID + ":mine_shrap"); - mine_fat = new Landmine(Material.iron).setBlockName("mine_fat").setCreativeTab(MainRegistry.nukeTab).setHardness(1.0F).setBlockTextureName(RefStrings.MODID + ":mine_fat"); + mine_ap = new Landmine(Material.iron, 1.5D, 1D).setBlockName("mine_ap").setCreativeTab(MainRegistry.nukeTab).setHardness(1.0F).setBlockTextureName(RefStrings.MODID + ":mine_ap"); + mine_he = new Landmine(Material.iron, 2D, 5D).setBlockName("mine_he").setCreativeTab(MainRegistry.nukeTab).setHardness(1.0F).setBlockTextureName(RefStrings.MODID + ":mine_he"); + mine_shrap = new Landmine(Material.iron, 1.5D, 1D).setBlockName("mine_shrap").setCreativeTab(MainRegistry.nukeTab).setHardness(1.0F).setBlockTextureName(RefStrings.MODID + ":mine_shrap"); + mine_fat = new Landmine(Material.iron, 2.5D, 1D).setBlockName("mine_fat").setCreativeTab(MainRegistry.nukeTab).setHardness(1.0F).setBlockTextureName(RefStrings.MODID + ":mine_fat"); dynamite = new BlockDynamite().setBlockName("dynamite").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.nukeTab).setHardness(0.0F).setBlockTextureName(RefStrings.MODID + ":dynamite"); tnt = new BlockTNT().setBlockName("tnt_ntm").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.nukeTab).setHardness(0.0F).setBlockTextureName(RefStrings.MODID + ":tnt"); semtex = new BlockSemtex().setBlockName("semtex").setStepSound(Block.soundTypeGrass).setCreativeTab(MainRegistry.nukeTab).setHardness(0.0F).setBlockTextureName(RefStrings.MODID + ":semtex"); @@ -1854,6 +1762,7 @@ public class ModBlocks { machine_stirling_steel = new MachineStirling().setBlockName("machine_stirling_steel").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); machine_stirling_creative = new MachineStirling().setBlockName("machine_stirling_creative").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); machine_sawmill = new MachineSawmill().setBlockName("machine_sawmill").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_strand_caster = new MachineStrandCaster().setBlockName("machine_strand_caster").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_fire"); machine_crucible = new MachineCrucible().setBlockName("machine_crucible").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_fire"); machine_boiler = new MachineHeatBoiler().setBlockName("machine_boiler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_copper"); machine_industrial_boiler = new MachineHeatBoilerIndustrial().setBlockName("machine_industrial_boiler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); @@ -1883,15 +1792,15 @@ public class ModBlocks { machine_puf6_tank = new MachinePuF6Tank(Material.iron).setBlockName("machine_puf6_tank").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); machine_reactor_breeding = new MachineReactorBreeding(Material.iron).setBlockName("machine_reactor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_reactor"); - + + machine_furnace_brick_off = new MachineBrickFurnace(false).setBlockName("machine_furnace_brick_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + machine_furnace_brick_on = new MachineBrickFurnace(true).setBlockName("machine_furnace_brick_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F); machine_nuke_furnace_off = new MachineNukeFurnace(false).setBlockName("machine_nuke_furnace_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); machine_nuke_furnace_on = new MachineNukeFurnace(true).setBlockName("machine_nuke_furnace_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F); - machine_rtg_furnace_off = new MachineRtgFurnace(false).setBlockName("machine_rtg_furnace_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); machine_rtg_furnace_on = new MachineRtgFurnace(true).setBlockName("machine_rtg_furnace_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F); - machine_generator = new MachineGenerator(Material.iron).setBlockName("machine_generator").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null); - machine_industrial_generator = new MachineIGenerator(Material.iron).setBlockName("machine_industrial_generator").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":industrial_generator"); + machine_industrial_generator = new MachineIGenerator(Material.iron).setBlockName("machine_industrial_generator").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName("gold_block"); machine_cyclotron = new MachineCyclotron(Material.iron).setBlockName("machine_cyclotron").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":cyclotron"); machine_exposure_chamber = new MachineExposureChamber(Material.iron).setBlockName("machine_exposure_chamber").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_aluminium"); machine_radgen = new MachineRadGen(Material.iron).setBlockName("machine_radgen").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_radgen"); @@ -1902,7 +1811,7 @@ public class ModBlocks { hadron_plating_yellow = new BlockHadronPlating(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_plating_yellow").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_plating_yellow"); hadron_plating_striped = new BlockHadronPlating(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_plating_striped").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_plating_striped"); hadron_plating_voltz = new BlockHadronPlating(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_plating_voltz").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_plating_voltz"); - hadron_plating_glass = new BlockNTMGlass(0, RefStrings.MODID + ":hadron_plating_glass", Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_plating_glass").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_plating_glass"); + hadron_plating_glass = new BlockNTMGlass(0, RefStrings.MODID + ":hadron_plating_glass", Material.iron, true).setStepSound(Block.soundTypeMetal).setBlockName("hadron_plating_glass").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_plating_glass"); hadron_coil_alloy = new BlockHadronCoil(Material.iron, 10).setStepSound(Block.soundTypeMetal).setBlockName("hadron_coil_alloy").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_coil_alloy"); hadron_coil_gold = new BlockHadronCoil(Material.iron, 25).setStepSound(Block.soundTypeMetal).setBlockName("hadron_coil_gold").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_coil_gold"); hadron_coil_neodymium = new BlockHadronCoil(Material.iron, 50).setStepSound(Block.soundTypeMetal).setBlockName("hadron_coil_neodymium").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_coil_neodymium"); @@ -1919,7 +1828,7 @@ public class ModBlocks { hadron_power_10g = new BlockHadronPower(Material.iron, 10000000000L).setStepSound(Block.soundTypeMetal).setBlockName("hadron_power_10g").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_power"); hadron_diode = new BlockHadronDiode(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_diode").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); hadron_analysis = new BlockHadronPlating(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_analysis").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_analysis"); - hadron_analysis_glass = new BlockNTMGlass(0, RefStrings.MODID + ":hadron_analysis_glass", Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_analysis_glass").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_analysis_glass"); + hadron_analysis_glass = new BlockNTMGlass(0, RefStrings.MODID + ":hadron_analysis_glass", Material.iron, true).setStepSound(Block.soundTypeMetal).setBlockName("hadron_analysis_glass").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_analysis_glass"); hadron_access = new BlockHadronAccess(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_access").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_access"); hadron_core = new BlockHadronCore(Material.iron).setStepSound(Block.soundTypeMetal).setBlockName("hadron_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":hadron_core"); hadron_cooler = new BlockHadronCooler(Material.iron).setBlockName("hadron_cooler").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F); @@ -1946,17 +1855,11 @@ public class ModBlocks { capacitor_tantalium = new MachineCapacitor(Material.iron, 150_000_000L, "tantalium").setBlockName("capacitor_tantalium").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_tantalium"); capacitor_schrabidate = new MachineCapacitor(Material.iron, 50_000_000_000L, "schrabidate").setBlockName("capacitor_schrabidate").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_schrabidate"); - machine_coal_off = new MachineCoal(false).setBlockName("machine_coal_off").setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_copper"); - machine_coal_on = new MachineCoal(true).setBlockName("machine_coal_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_copper"); machine_wood_burner = new MachineWoodBurner(Material.iron).setBlockName("machine_wood_burner").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - machine_diesel = new MachineDiesel().setBlockName("machine_diesel").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); machine_combustion_engine = new MachineCombustionEngine().setBlockName("machine_combustion_engine").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); machine_shredder = new MachineShredder(Material.iron).setBlockName("machine_shredder").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - machine_shredder_large = new MachineShredderLarge(Material.iron).setBlockName("machine_shredder_large").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":code"); - - machine_combine_factory = new MachineCMBFactory(Material.iron).setBlockName("machine_combine_factory").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null); machine_teleporter = new MachineTeleporter(Material.iron).setBlockName("machine_teleporter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); teleanchor = new MachineTeleanchor().setBlockName("teleanchor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); @@ -1977,6 +1880,10 @@ public class ModBlocks { red_cable_gauge = new BlockCableGauge().setBlockName("red_cable_gauge").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); red_connector = new ConnectorRedWire(Material.iron).setBlockName("red_connector").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_connector"); red_pylon = new PylonRedWire(Material.iron).setBlockName("red_pylon").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_pylon"); + red_pylon_medium_wood = new PylonMedium(Material.wood).setBlockName("red_pylon_medium_wood").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_pylon"); + red_pylon_medium_wood_transformer = new PylonMedium(Material.wood).setBlockName("red_pylon_medium_wood_transformer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_pylon"); + red_pylon_medium_steel = new PylonMedium(Material.iron).setBlockName("red_pylon_medium_steel").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_pylon"); + red_pylon_medium_steel_transformer = new PylonMedium(Material.iron).setBlockName("red_pylon_medium_steel_transformer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_pylon"); red_pylon_large = new PylonLarge(Material.iron).setBlockName("red_pylon_large").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":red_pylon_large"); substation = new Substation(Material.iron).setBlockName("substation").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":substation"); cable_switch = new CableSwitch(Material.iron).setBlockName("cable_switch").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); @@ -1992,9 +1899,11 @@ public class ModBlocks { fluid_duct_gauge = new FluidDuctGauge().setBlockName("fluid_duct_gauge").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); fluid_valve = new FluidValve(Material.iron).setBlockName("fluid_valve").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); fluid_switch = new FluidSwitch(Material.iron).setBlockName("fluid_switch").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + machine_drain = new MachineDrain(Material.iron).setBlockName("machine_drain").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":concrete"); radio_torch_sender = new RadioTorchSender().setBlockName("radio_torch_sender").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); radio_torch_receiver = new RadioTorchReceiver().setBlockName("radio_torch_receiver").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); radio_torch_counter = new RadioTorchCounter().setBlockName("radio_torch_counter").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rtty_counter"); + radio_torch_logic = new RadioTorchLogic().setBlockName("radio_torch_logic").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); radio_telex = new RadioTelex().setBlockName("radio_telex").setHardness(3F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":radio_telex"); conveyor = new BlockConveyor().setBlockName("conveyor").setHardness(2.0F).setResistance(2.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":conveyor"); @@ -2075,6 +1984,8 @@ public class ModBlocks { cm_tank = new BlockCMGlass(Material.iron, EnumCMMaterials.class, true, true).setBlockName("cm_tank").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_tank"); cm_circuit = new BlockCM(Material.iron, EnumCMCircuit.class, true, true).setBlockName("cm_circuit").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_circuit"); cm_port = new BlockCMPort(Material.iron, EnumCMMaterials.class, true, true).setBlockName("cm_port").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_port"); + cm_flux = new BlockCMFlux(Material.iron, RefStrings.MODID + ":cm_flux_top").setBlockName("cm_flux").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_flux_side"); + cm_heat = new BlockCMHeat(Material.iron, RefStrings.MODID +":cm_heat_top").setBlockName("cm_heat").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_heat_side"); custom_machine = new BlockCustomMachine().setBlockName("custom_machine").setCreativeTab(MainRegistry.machineTab).setLightLevel(1F).setHardness(5.0F).setResistance(10.0F); cm_anchor = new BlockCMAnchor().setBlockName("custom_machine_anchor").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(10.0F); @@ -2082,20 +1993,13 @@ public class ModBlocks { pwr_control = new BlockPillarPWR(Material.iron, RefStrings.MODID + ":pwr_control_top").setBlockName("pwr_control").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_control_side"); pwr_channel = new BlockPillarPWR(Material.iron, RefStrings.MODID + ":pwr_channel_top").setBlockName("pwr_channel").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_channel_side"); pwr_heatex = new BlockGenericPWR(Material.iron).setBlockName("pwr_heatex").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_heatex"); + pwr_heatsink = new BlockGenericPWR(Material.iron).setBlockName("pwr_heatsink").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_heatsink"); pwr_neutron_source = new BlockGenericPWR(Material.iron).setBlockName("pwr_neutron_source").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_neutron_source"); pwr_reflector = new BlockGenericPWR(Material.iron).setBlockName("pwr_reflector").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_reflector"); pwr_casing = new BlockGenericPWR(Material.iron).setBlockName("pwr_casing").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_casing"); pwr_port = new BlockGenericPWR(Material.iron).setBlockName("pwr_port").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_port"); pwr_controller = new MachinePWRController(Material.iron).setBlockName("pwr_controller").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_casing_blank"); pwr_block = new BlockPWR(Material.iron).setBlockName("pwr_block").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":pwr_block"); - - reactor_element = new BlockPillar(Material.iron, RefStrings.MODID + ":reactor_element_top", RefStrings.MODID + ":reactor_element_base").setBlockName("reactor_element").setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":reactor_element_side"); - reactor_control = new BlockPillar(Material.iron, RefStrings.MODID + ":reactor_control_top").setBlockName("reactor_control").setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":reactor_control_side"); - reactor_hatch = new ReactorHatch(Material.iron).setBlockName("reactor_hatch").setHardness(5.0F).setResistance(1000.0F).setBlockTextureName(RefStrings.MODID + ":brick_concrete"); - reactor_ejector = new BlockRotatable(Material.iron).setBlockName("reactor_ejector").setHardness(5.0F).setResistance(1000.0F).setBlockTextureName(RefStrings.MODID + ":brick_concrete"); - reactor_inserter = new BlockRotatable(Material.iron).setBlockName("reactor_inserter").setHardness(5.0F).setResistance(1000.0F).setBlockTextureName(RefStrings.MODID + ":brick_concrete"); - reactor_conductor = new BlockPillar(Material.iron, RefStrings.MODID + ":reactor_conductor_top").setBlockName("reactor_conductor").setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":reactor_conductor_side"); - reactor_computer = new ReactorCore(Material.iron).setBlockName("reactor_computer").setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":reactor_computer"); fusion_conductor = new BlockToolConversionPillar(Material.iron).addVariant("_welded").setBlockName("fusion_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_conductor"); fusion_center = new BlockPillar(Material.iron, RefStrings.MODID + ":fusion_center_top_alt").setBlockName("fusion_center").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_center_side_alt"); @@ -2105,34 +2009,25 @@ public class ModBlocks { plasma = new BlockPlasma(Material.iron).setBlockName("plasma").setHardness(5.0F).setResistance(6000.0F).setLightLevel(1.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":plasma"); iter = new MachineITER().setBlockName("iter").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":iter"); plasma_heater = new MachinePlasmaHeater().setBlockName("plasma_heater").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":plasma_heater"); + + machine_icf_press = new MachineICFPress().setBlockName("machine_icf_press").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + icf = new MachineICF().setBlockName("icf").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + icf_controller = new MachineICFController().setBlockName("icf_controller").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":icf_casing"); + icf_laser_component = new BlockICFLaserComponent().setBlockName("icf_laser_component").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab); + icf_block = new BlockICF(Material.iron).setBlockName("icf_block").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":icf_block"); watz_element = new BlockPillar(Material.iron, RefStrings.MODID + ":watz_element_top").setBlockName("watz_element").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_element_side"); watz_control = new BlockPillar(Material.iron, RefStrings.MODID + ":watz_control_top").setBlockName("watz_control").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_control_side"); watz_cooler = new BlockPillar(Material.iron, RefStrings.MODID + ":watz_cooler_top").setBlockName("watz_cooler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_cooler_side"); watz_end = new BlockToolConversion(Material.iron).addVariant("_bolted").setBlockName("watz_end").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_casing"); - watz_hatch = new WatzHatch(Material.iron).setBlockName("watz_hatch").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":watz_hatch"); watz_conductor = new BlockCableConnect(Material.iron).setBlockName("watz_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":watz_conductor_top"); - watz_core = new WatzCore(Material.iron).setBlockName("watz_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":watz_computer"); watz = new Watz().setBlockName("watz").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); watz_pump = new WatzPump().setBlockName("watz_pump").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - - fwatz_conductor = new BlockPillar(Material.iron, RefStrings.MODID + ":block_combine_steel").setBlockName("fwatz_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_conductor_side"); - fwatz_cooler = new BlockPillar(Material.iron, RefStrings.MODID + ":fwatz_cooler_top").setBlockName("fwatz_cooler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_cooler"); - fwatz_tank = new BlockNTMGlass(0, RefStrings.MODID + ":fwatz_tank", Material.iron).setBlockName("fwatz_tank").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - fwatz_scaffold = new BlockGeneric(Material.iron).setBlockName("fwatz_scaffold").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_scaffold"); - fwatz_hatch = new FWatzHatch(Material.iron).setBlockName("fwatz_hatch").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_computer"); - fwatz_computer = new BlockGeneric(Material.iron).setBlockName("fwatz_computer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_computer"); - fwatz_core = new FWatzCore(Material.iron).setBlockName("fwatz_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_core"); - fwatz_plasma = new BlockPlasma(Material.iron).setBlockName("fwatz_plasma").setHardness(5.0F).setResistance(6000.0F).setLightLevel(1.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_plasma"); balefire = new Balefire().setBlockName("balefire").setHardness(0.0F).setLightLevel(1.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":balefire"); fire_digamma = new DigammaFlame().setBlockName("fire_digamma").setHardness(0.0F).setResistance(150F).setLightLevel(1.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":fire_digamma"); digamma_matter = new DigammaMatter().setBlockName("digamma_matter").setBlockUnbreakable().setResistance(18000000).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":digamma_matter"); - ams_base = new BlockAMSBase(Material.iron).setBlockName("ams_base").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":ams_base"); - ams_emitter = new BlockAMSEmitter(Material.iron).setBlockName("ams_emitter").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":ams_emitter"); - ams_limiter = new BlockAMSLimiter(Material.iron).setBlockName("ams_limiter").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":ams_limiter"); - machine_converter_he_rf = new BlockConverterHeRf(Material.iron).setBlockName("machine_converter_he_rf").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_converter_he_rf"); machine_converter_rf_he = new BlockConverterRfHe(Material.iron).setBlockName("machine_converter_rf_he").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_converter_rf_he"); @@ -2152,6 +2047,8 @@ public class ModBlocks { sliding_blast_door = new BlockDoorGeneric(Material.iron, DoorDecl.SLIDE_DOOR).setBlockName("sliding_blast_door").setHardness(10.0F).setResistance(750.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":sliding_blast_door"); fire_door = new BlockDoorGeneric(Material.iron, DoorDecl.FIRE_DOOR).setBlockName("fire_door").setHardness(10.0F).setResistance(1_000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fire_door"); transition_seal = new BlockDoorGeneric(Material.iron, DoorDecl.TRANSITION_SEAL).setBlockName("transition_seal").setHardness(10.0F).setResistance(1_000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":transition_seal"); + silo_hatch = new BlockDoorGeneric(Material.iron, DoorDecl.SILO_HATCH).setBlockName("silo_hatch").setHardness(10.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + silo_hatch_large = new BlockDoorGeneric(Material.iron, DoorDecl.SILO_HATCH_LARGE).setBlockName("silo_hatch_large").setHardness(10.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); secure_access_door = new BlockDoorGeneric(Material.iron, DoorDecl.SECURE_ACCESS_DOOR).setBlockName("secure_access_door").setHardness(20.0F).setResistance(2_000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); large_vehicle_door = new BlockDoorGeneric(Material.iron, DoorDecl.LARGE_VEHICLE_DOOR).setBlockName("large_vehicle_door").setHardness(10.0F).setResistance(1_000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); qe_containment = new BlockDoorGeneric(Material.iron, DoorDecl.QE_CONTAINMENT).setBlockName("qe_containment").setHardness(10.0F).setResistance(1_000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); @@ -2163,6 +2060,7 @@ public class ModBlocks { door_metal = new BlockModDoor(Material.iron).setBlockName("door_metal").setHardness(5.0F).setResistance(5.0F).setBlockTextureName(RefStrings.MODID + ":door_metal"); door_office = new BlockModDoor(Material.iron).setBlockName("door_office").setHardness(10.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":door_office"); door_bunker = new BlockModDoor(Material.iron).setBlockName("door_bunker").setHardness(10.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":door_bunker"); + door_red = new BlockModDoor(Material.iron).setBlockName("door_red").setHardness(10.0F).setResistance(100.0F).setBlockTextureName(RefStrings.MODID + ":door_red"); barbed_wire = new BarbedWire(Material.iron).setBlockName("barbed_wire").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":barbed_wire_model"); barbed_wire_fire = new BarbedWire(Material.iron).setBlockName("barbed_wire_fire").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":barbed_wire_fire_model"); @@ -2176,12 +2074,11 @@ public class ModBlocks { tesla = new MachineTesla(Material.iron).setBlockName("tesla").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":tesla"); - marker_structure = new BlockMarker(Material.iron).setBlockName("marker_structure").setHardness(0.1F).setResistance(0.1F).setLightLevel(1.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":marker_structure"); - - muffler = new BlockGeneric(Material.cloth).setBlockName("muffler").setHardness(0.8F).setStepSound(Block.soundTypeCloth).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":muffler"); - launch_pad = new LaunchPad(Material.iron).setBlockName("launch_pad").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":launch_pad"); + launch_pad_rusted = new LaunchPadRusted(Material.iron).setBlockName("launch_pad_rusted").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":block_rust"); + launch_pad_large = new LaunchPadLarge(Material.iron).setBlockName("launch_pad_large").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); machine_radar = new MachineRadar(Material.iron).setBlockName("machine_radar").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":machine_radar"); + machine_radar_large = new MachineRadarLarge(Material.iron).setBlockName("machine_radar_large").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); radar_screen = new MachineRadarScreen(Material.iron).setBlockName("radar_screen").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); machine_missile_assembly = new MachineMissileAssembly(Material.iron).setBlockName("machine_missile_assembly").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.missileTab).setBlockTextureName(RefStrings.MODID + ":machine_missile_assembly"); @@ -2208,10 +2105,11 @@ public class ModBlocks { turret_howard_damaged = new TurretHowardDamaged(Material.iron).setBlockName("turret_howard_damaged").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_rust"); turret_maxwell = new TurretMaxwell(Material.iron).setBlockName("turret_maxwell").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); turret_fritz = new TurretFritz(Material.iron).setBlockName("turret_fritz").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - turret_brandon = new TurretBrandon(Material.iron).setBlockName("turret_brandon").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + //turret_brandon = new TurretBrandon(Material.iron).setBlockName("turret_brandon").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); turret_arty = new TurretArty(Material.iron).setBlockName("turret_arty").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); turret_himars = new TurretHIMARS(Material.iron).setBlockName("turret_himars").setHardness(5.0F).setResistance(600.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); turret_sentry = new TurretSentry().setBlockName("turret_sentry").setHardness(5.0F).setResistance(5.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + turret_sentry_damaged = new TurretSentryDamaged().setBlockName("turret_sentry_damaged").setHardness(5.0F).setResistance(5.0F).setCreativeTab(MainRegistry.weaponTab).setBlockTextureName(RefStrings.MODID + ":block_rust"); rbmk_rod = new RBMKRod(false).setBlockName("rbmk_rod").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_element"); rbmk_rod_mod = new RBMKRod(true).setBlockName("rbmk_rod_mod").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_element_mod"); @@ -2248,10 +2146,15 @@ public class ModBlocks { rail_booster = new RailBooster().setBlockName("rail_booster").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_booster"); rail_narrow_straight = new RailNarrowStraight().setBlockName("rail_narrow_straight").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":rail_narrow_neo"); rail_narrow_curve = new RailNarrowCurve().setBlockName("rail_narrow_curve").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":rail_narrow_neo"); - rail_large_straight = new RailStandardStraight().setBlockName("rail_large_straight").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":rail_standard_straight"); - rail_large_curve = new RailStandardCurve().setBlockName("rail_large_curve").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":rail_standard_straight"); - rail_large_ramp = new RailStandardRamp().setBlockName("rail_large_ramp").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":rail_standard_straight"); - rail_large_buffer = new RailStandardBuffer().setBlockName("rail_large_buffer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":rail_standard_buffer"); + rail_large_straight = new RailStandardStraight().setBlockName("rail_large_straight").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_standard_straight"); + rail_large_straight_short = new RailStandardStraightShort().setBlockName("rail_large_straight_short").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_standard_straight"); + rail_large_curve = new RailStandardCurveBase().setBlockName("rail_large_curve").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_standard_straight"); + rail_large_curve_7 = new RailStandardCurveWide7().setBlockName("rail_large_curve_7").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_standard_straight"); + rail_large_curve_9 = new RailStandardCurveWide9().setBlockName("rail_large_curve_9").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_standard_straight"); + rail_large_ramp = new RailStandardRamp().setBlockName("rail_large_ramp").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_standard_straight"); + rail_large_buffer = new RailStandardBuffer().setBlockName("rail_large_buffer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_standard_buffer"); + rail_large_switch = new RailStandardSwitch().setBlockName("rail_large_switch").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_standard_straight"); + rail_large_switch_flipped = new RailStandardSwitchFlipped().setBlockName("rail_large_switch_flipped").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_standard_straight"); crate = new BlockCrate(Material.wood).setBlockName("crate").setStepSound(Block.soundTypeWood).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.consumableTab).setBlockTextureName(RefStrings.MODID + ":crate"); crate_weapon = new BlockCrate(Material.wood).setBlockName("crate_weapon").setStepSound(Block.soundTypeWood).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.consumableTab).setBlockTextureName(RefStrings.MODID + ":crate_weapon"); @@ -2271,7 +2174,6 @@ public class ModBlocks { boxcar = new DecoBlock(Material.iron).setBlockName("boxcar").setStepSound(Block.soundTypeMetal).setHardness(10.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":boxcar"); boat = new DecoBlock(Material.iron).setBlockName("boat").setStepSound(Block.soundTypeMetal).setHardness(10.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":boat"); - bomber = new DecoBlock(Material.iron).setBlockName("bomber").setStepSound(Block.soundTypeMetal).setHardness(10.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":code"); machine_well = new MachineOilWell().setBlockName("machine_well").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_well"); machine_pumpjack = new MachinePumpjack().setBlockName("machine_pumpjack").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_pumpjack"); @@ -2286,11 +2188,10 @@ public class ModBlocks { fraction_spacer = new FractionSpacer(Material.iron).setBlockName("fraction_spacer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); machine_catalytic_cracker = new MachineCatalyticCracker(Material.iron).setBlockName("machine_catalytic_cracker").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); machine_catalytic_reformer = new MachineCatalyticReformer(Material.iron).setBlockName("machine_catalytic_reformer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + machine_hydrotreater = new MachineHydrotreater(Material.iron).setBlockName("machine_hydrotreater").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); machine_coker = new MachineCoker(Material.iron).setBlockName("machine_coker").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); machine_autosaw = new MachineAutosaw().setBlockName("machine_autosaw").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - machine_drill = new MachineMiningDrill(Material.iron).setBlockName("machine_drill").setHardness(5.0F).setResistance(100.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":machine_drill"); machine_excavator = new MachineExcavator().setBlockName("machine_excavator").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - drill_pipe = new BlockNoDrop(Material.iron).setBlockName("drill_pipe").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":drill_pipe"); machine_mining_laser = new MachineMiningLaser(Material.iron).setBlockName("machine_mining_laser").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_mining_laser"); barricade = new BlockNoDrop(Material.sand).setBlockName("barricade").setHardness(1.0F).setResistance(2.5F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":barricade"); machine_assembler = new MachineAssembler(Material.iron).setBlockName("machine_assembler").setHardness(5.0F).setResistance(30.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_assembler"); @@ -2308,10 +2209,9 @@ public class ModBlocks { machine_press = new MachinePress(Material.iron).setBlockName("machine_press").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_press"); machine_epress = new MachineEPress(Material.iron).setBlockName("machine_epress").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_epress"); machine_conveyor_press = new MachineConveyorPress(Material.iron).setBlockName("machine_conveyor_press").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - machine_selenium = new MachineSeleniumEngine(Material.iron).setBlockName("machine_selenium").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_selenium"); reactor_research = new ReactorResearch(Material.iron).setBlockName("machine_reactor_small").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_reactor_small"); reactor_zirnox = new ReactorZirnox(Material.iron).setBlockName("machine_zirnox").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); - zirnox_destroyed = new ZirnoxDestroyed(Material.iron).setBlockName("zirnox_destroyed").setHardness(100.0F).setResistance(800.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); + zirnox_destroyed = new ZirnoxDestroyed(Material.iron).setBlockName("zirnox_destroyed").setHardness(100.0F).setResistance(800.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); machine_controller = new MachineReactorControl(Material.iron).setBlockName("machine_controller").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null); machine_boiler_off = new MachineBoiler(false).setBlockName("machine_boiler_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_boiler_off"); @@ -2338,21 +2238,21 @@ public class ModBlocks { machine_electrolyser = new MachineElectrolyser().setBlockName("machine_electrolyser").setHardness(10.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel_machine"); machine_autocrafter = new MachineAutocrafter().setBlockName("machine_autocrafter").setHardness(10.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab); + machine_funnel = new MachineFunnel().setBlockName("machine_funnel").setHardness(10.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab); - anvil_iron = new NTMAnvil(Material.iron, 1).setBlockName("anvil_iron").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_iron"); - anvil_lead = new NTMAnvil(Material.iron, 1).setBlockName("anvil_lead").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_lead"); - anvil_steel = new NTMAnvil(Material.iron, 2).setBlockName("anvil_steel").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_steel"); - anvil_meteorite = new NTMAnvil(Material.iron, 3).setBlockName("anvil_meteorite").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_meteorite"); - anvil_starmetal = new NTMAnvil(Material.iron, 3).setBlockName("anvil_starmetal").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_starmetal"); - anvil_ferrouranium = new NTMAnvil(Material.iron, 4).setBlockName("anvil_ferrouranium").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_ferrouranium"); - anvil_bismuth = new NTMAnvil(Material.iron, 5).setBlockName("anvil_bismuth").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_bismuth"); - anvil_schrabidate = new NTMAnvil(Material.iron, 6).setBlockName("anvil_schrabidate").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_schrabidate"); - anvil_dnt = new NTMAnvil(Material.iron, 7).setBlockName("anvil_dnt").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_dnt"); - anvil_osmiridium = new NTMAnvil(Material.iron, 8).setBlockName("anvil_osmiridium").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_osmiridium"); + anvil_iron = new NTMAnvil(Material.iron, NTMAnvil.TIER_IRON).setBlockName("anvil_iron").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_iron"); + anvil_lead = new NTMAnvil(Material.iron, NTMAnvil.TIER_IRON).setBlockName("anvil_lead").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_lead"); + anvil_steel = new NTMAnvil(Material.iron, NTMAnvil.TIER_STEEL).setBlockName("anvil_steel").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_steel"); + anvil_desh = new NTMAnvil(Material.iron, NTMAnvil.TIER_OIL).setBlockName("anvil_desh").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_desh"); + anvil_saturnite = new NTMAnvil(Material.iron, NTMAnvil.TIER_OIL).setBlockName("anvil_saturnite").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_saturnite"); + anvil_ferrouranium = new NTMAnvil(Material.iron, NTMAnvil.TIER_NUCLEAR).setBlockName("anvil_ferrouranium").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_ferrouranium"); + anvil_bismuth_bronze = new NTMAnvil(Material.iron, NTMAnvil.TIER_RBMK).setBlockName("anvil_bismuth_bronze").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_bismuth_bronze"); + anvil_arsenic_bronze = new NTMAnvil(Material.iron, NTMAnvil.TIER_RBMK).setBlockName("anvil_arsenic_bronze").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_arsenic_bronze"); + anvil_schrabidate = new NTMAnvil(Material.iron, NTMAnvil.TIER_FUSION).setBlockName("anvil_schrabidate").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_schrabidate"); + anvil_dnt = new NTMAnvil(Material.iron, NTMAnvil.TIER_PARTICLE).setBlockName("anvil_dnt").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_dnt"); + anvil_osmiridium = new NTMAnvil(Material.iron, NTMAnvil.TIER_GERALD).setBlockName("anvil_osmiridium").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_osmiridium"); anvil_murky = new NTMAnvil(Material.iron, 1916169).setBlockName("anvil_murky").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":anvil_steel"); - machine_deaerator = new MachineDeaerator(Material.iron).setBlockName("machine_deaerator").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel_machine"); - machine_waste_drum = new WasteDrum(Material.iron).setBlockName("machine_waste_drum").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":waste_drum"); machine_storage_drum = new StorageDrum(Material.iron).setBlockName("machine_storage_drum").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_storage_drum"); @@ -2374,7 +2274,6 @@ public class ModBlocks { crystal_hardened = new BlockGeneric(Material.iron).setBlockName("crystal_hardened").setHardness(15.0F).setResistance(Float.POSITIVE_INFINITY).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":crystal_hardened"); crystal_pulsar = new CrystalPulsar(Material.iron).setBlockName("crystal_pulsar").setHardness(15.0F).setResistance(Float.POSITIVE_INFINITY).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":crystal_pulsar"); taint = new BlockTaint(Material.iron).setBlockName("taint").setHardness(15.0F).setResistance(10.0F).setCreativeTab(null); - residue = new BlockCloudResidue(Material.iron).setBlockName("residue").setHardness(0.5F).setResistance(0.5F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":residue"); vent_chlorine = new BlockVent(Material.iron).setBlockName("vent_chlorine").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":vent_chlorine"); vent_cloud = new BlockVent(Material.iron).setBlockName("vent_cloud").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":vent_cloud"); @@ -2401,6 +2300,7 @@ public class ModBlocks { transission_hatch = new BlockTransission(Material.iron).setBlockName("transission_hatch").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":transission_hatch"); volcano_core = new BlockVolcano().setBlockName("volcano_core").setBlockUnbreakable().setResistance(10000.0F).setCreativeTab(MainRegistry.nukeTab).setBlockTextureName(RefStrings.MODID + ":volcano_core"); + volcano_rad_core = new BlockVolcano().setBlockName("volcano_rad_core").setBlockUnbreakable().setResistance(10000.0F).setCreativeTab(MainRegistry.nukeTab).setBlockTextureName(RefStrings.MODID + ":volcano_rad_core"); statue_elb = new DecoBlockAlt(Material.iron).setBlockName("#null").setHardness(Float.POSITIVE_INFINITY).setResistance(Float.POSITIVE_INFINITY); statue_elb_g = new DecoBlockAlt(Material.iron).setBlockName("#void").setHardness(Float.POSITIVE_INFINITY).setResistance(Float.POSITIVE_INFINITY); @@ -2431,6 +2331,10 @@ public class ModBlocks { FluidRegistry.registerFluid(volcanic_lava_fluid); volcanic_lava_block = new VolcanicBlock(volcanic_lava_fluid, Material.lava).setBlockName("volcanic_lava_block").setResistance(500F); + rad_lava_fluid = new RadFluid().setLuminosity(15).setDensity(3000).setViscosity(3000).setTemperature(1300).setUnlocalizedName("rad_lava_fluid"); + FluidRegistry.registerFluid(rad_lava_fluid); + rad_lava_block = new RadBlock(rad_lava_fluid, Material.lava).setBlockName("rad_lava_block").setResistance(500F); + sulfuric_acid_fluid = new GenericFluid("sulfuric_acid_fluid").setDensity(1840).setViscosity(1000).setTemperature(273); FluidRegistry.registerFluid(sulfuric_acid_fluid); sulfuric_acid_block = new GenericFluidBlock(sulfuric_acid_fluid, Material.water, "sulfuric_acid_still", "sulfuric_acid_flowing").setDamage(ModDamageSource.acid, 5F).setBlockName("sulfuric_acid_block").setResistance(500F); @@ -2438,14 +2342,6 @@ public class ModBlocks { Fluid liquidConcrete = new GenericFluid("concrete_liquid").setViscosity(2000); concrete_liquid = new GenericFiniteFluid(liquidConcrete, Material.rock, "concrete_liquid", "concrete_liquid_flowing").setQuantaPerBlock(4).setBlockName("concrete_liquid").setResistance(500F); - dummy_block_drill = new DummyBlockDrill(Material.iron, false).setBlockName("dummy_block_drill").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_lead"); - dummy_port_drill = new DummyBlockDrill(Material.iron, true).setBlockName("dummy_port_drill").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_lead"); - dummy_block_ams_limiter = new DummyBlockAMSLimiter(Material.iron).setBlockName("dummy_block_ams_limiter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_copper"); - dummy_port_ams_limiter = new DummyBlockAMSLimiter(Material.iron).setBlockName("dummy_port_ams_limiter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_copper"); - dummy_block_ams_emitter = new DummyBlockAMSEmitter(Material.iron).setBlockName("dummy_block_ams_emitter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_copper"); - dummy_port_ams_emitter = new DummyBlockAMSEmitter(Material.iron).setBlockName("dummy_port_ams_emitter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_copper"); - dummy_block_ams_base = new DummyBlockAMSBase(Material.iron).setBlockName("dummy_block_ams_base").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_copper"); - dummy_port_ams_base = new DummyBlockAMSBase(Material.iron).setBlockName("dummy_port_ams_base").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_copper"); dummy_block_vault = new DummyBlockVault(Material.iron).setBlockName("dummy_block_vault").setHardness(10.0F).setResistance(10000.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); dummy_block_blast = new DummyBlockBlast(Material.iron).setBlockName("dummy_block_blast").setHardness(10.0F).setResistance(10000.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); dummy_block_uf6 = new DummyBlockMachine(Material.iron, machine_uf6_tank, false).setBlockName("dummy_block_uf6").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_titanium"); @@ -2463,26 +2359,14 @@ public class ModBlocks { pink_slab = new BlockPinkSlab(false, Material.wood).setBlockName("pink_slab").setStepSound(Block.soundTypeWood).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":pink_planks"); pink_double_slab = new BlockPinkSlab(true, Material.wood).setBlockName("pink_double_slab").setStepSound(Block.soundTypeWood).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":pink_planks"); pink_stairs = new BlockGenericStairs(pink_planks, 0).setBlockName("pink_stairs").setStepSound(Block.soundTypeWood).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":pink_planks"); - - ff = new BlockFF(Material.iron).setBlockName("ff").setHardness(0.5F).setStepSound(Block.soundTypeGravel).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":code"); } private static void registerBlock() { //Test - GameRegistry.registerBlock(test_render, test_render.getUnlocalizedName()); - //GameRegistry.registerBlock(test_container, test_container.getUnlocalizedName()); - GameRegistry.registerBlock(test_bomb, test_bomb.getUnlocalizedName()); - GameRegistry.registerBlock(test_bomb_advanced, test_bomb_advanced.getUnlocalizedName()); - - GameRegistry.registerBlock(test_nuke, test_nuke.getUnlocalizedName()); - GameRegistry.registerBlock(event_tester, event_tester.getUnlocalizedName()); GameRegistry.registerBlock(obj_tester, obj_tester.getUnlocalizedName()); GameRegistry.registerBlock(test_core, test_core.getUnlocalizedName()); GameRegistry.registerBlock(test_charge, test_charge.getUnlocalizedName()); - GameRegistry.registerBlock(test_pipe, test_pipe.getUnlocalizedName()); - GameRegistry.registerBlock(test_ct, test_ct.getUnlocalizedName()); - GameRegistry.registerBlock(test_rail, test_rail.getUnlocalizedName()); GameRegistry.registerBlock(structure_anchor, structure_anchor.getUnlocalizedName()); //Ores @@ -2543,16 +2427,7 @@ public class ModBlocks { GameRegistry.registerBlock(ore_nether_schrabidium, ItemBlockLore.class, ore_nether_schrabidium.getUnlocalizedName()); //Meteor Ores - GameRegistry.registerBlock(ore_meteor_uranium, ore_meteor_uranium.getUnlocalizedName()); - GameRegistry.registerBlock(ore_meteor_thorium, ore_meteor_thorium.getUnlocalizedName()); - GameRegistry.registerBlock(ore_meteor_titanium, ore_meteor_titanium.getUnlocalizedName()); - GameRegistry.registerBlock(ore_meteor_sulfur, ore_meteor_sulfur.getUnlocalizedName()); - GameRegistry.registerBlock(ore_meteor_copper, ore_meteor_copper.getUnlocalizedName()); - GameRegistry.registerBlock(ore_meteor_tungsten, ore_meteor_tungsten.getUnlocalizedName()); - GameRegistry.registerBlock(ore_meteor_aluminium, ore_meteor_aluminium.getUnlocalizedName()); - GameRegistry.registerBlock(ore_meteor_lead, ore_meteor_lead.getUnlocalizedName()); - GameRegistry.registerBlock(ore_meteor_lithium, ore_meteor_lithium.getUnlocalizedName()); - GameRegistry.registerBlock(ore_meteor_starmetal, ore_meteor_starmetal.getUnlocalizedName()); + register(ore_meteor); //Gneiss Ores GameRegistry.registerBlock(ore_gneiss_iron, ore_gneiss_iron.getUnlocalizedName()); @@ -2579,10 +2454,7 @@ public class ModBlocks { GameRegistry.registerBlock(ore_depth_nether_neodymium, ItemBlockBase.class, ore_depth_nether_neodymium.getUnlocalizedName()); //Basalt ores - GameRegistry.registerBlock(basalt_sulfur, basalt_sulfur.getUnlocalizedName()); - GameRegistry.registerBlock(basalt_fluorite, basalt_fluorite.getUnlocalizedName()); - GameRegistry.registerBlock(basalt_asbestos, basalt_asbestos.getUnlocalizedName()); - GameRegistry.registerBlock(basalt_gem, ItemBlockBase.class, basalt_gem.getUnlocalizedName()); + register(ore_basalt); //End Ores GameRegistry.registerBlock(ore_tikite, ore_tikite.getUnlocalizedName()); @@ -2594,6 +2466,9 @@ public class ModBlocks { register(ore_bedrock); register(ore_volcano); + //Secret + register(stone_keyhole); + //Crystals GameRegistry.registerBlock(crystal_power, crystal_power.getUnlocalizedName()); GameRegistry.registerBlock(crystal_energy, crystal_energy.getUnlocalizedName()); @@ -2646,7 +2521,6 @@ public class ModBlocks { GameRegistry.registerBlock(block_titanium, block_titanium.getUnlocalizedName()); GameRegistry.registerBlock(block_sulfur, block_sulfur.getUnlocalizedName()); GameRegistry.registerBlock(block_niter, block_niter.getUnlocalizedName()); - GameRegistry.registerBlock(block_niter_reinforced, block_niter_reinforced.getUnlocalizedName()); GameRegistry.registerBlock(block_copper, block_copper.getUnlocalizedName()); GameRegistry.registerBlock(block_red_copper, block_red_copper.getUnlocalizedName()); GameRegistry.registerBlock(block_advanced_alloy, block_advanced_alloy.getUnlocalizedName()); @@ -2717,6 +2591,7 @@ public class ModBlocks { GameRegistry.registerBlock(block_unobtainium, ItemOreBlock.class, block_unobtainium.getUnlocalizedName()); GameRegistry.registerBlock(block_daffergon, ItemOreBlock.class, block_daffergon.getUnlocalizedName()); GameRegistry.registerBlock(block_verticium, ItemOreBlock.class, block_verticium.getUnlocalizedName()); + register(block_cap); GameRegistry.registerBlock(block_lanthanium, block_lanthanium.getUnlocalizedName()); GameRegistry.registerBlock(block_ra226, block_ra226.getUnlocalizedName()); GameRegistry.registerBlock(block_actinium, block_actinium.getUnlocalizedName()); @@ -2725,16 +2600,6 @@ public class ModBlocks { GameRegistry.registerBlock(block_c4, block_c4.getUnlocalizedName()); GameRegistry.registerBlock(block_smore, block_smore.getUnlocalizedName()); GameRegistry.registerBlock(block_slag, block_slag.getUnlocalizedName()); - - //Bottlecap Blocks - GameRegistry.registerBlock(block_cap_nuka, block_cap_nuka.getUnlocalizedName()); - GameRegistry.registerBlock(block_cap_quantum, block_cap_quantum.getUnlocalizedName()); - GameRegistry.registerBlock(block_cap_rad, block_cap_rad.getUnlocalizedName()); - GameRegistry.registerBlock(block_cap_sparkle, block_cap_sparkle.getUnlocalizedName()); - GameRegistry.registerBlock(block_cap_korl, block_cap_korl.getUnlocalizedName()); - GameRegistry.registerBlock(block_cap_fritz, block_cap_fritz.getUnlocalizedName()); - GameRegistry.registerBlock(block_cap_sunset, block_cap_sunset.getUnlocalizedName()); - GameRegistry.registerBlock(block_cap_star, block_cap_star.getUnlocalizedName()); //Deco Blocks GameRegistry.registerBlock(deco_titanium, deco_titanium.getUnlocalizedName()); @@ -2748,6 +2613,7 @@ public class ModBlocks { GameRegistry.registerBlock(deco_emitter, ItemBlockBase.class, deco_emitter.getUnlocalizedName()); GameRegistry.registerBlock(part_emitter, ItemBlockBase.class, part_emitter.getUnlocalizedName()); GameRegistry.registerBlock(deco_loot, deco_loot.getUnlocalizedName()); + GameRegistry.registerBlock(pedestal, pedestal.getUnlocalizedName()); GameRegistry.registerBlock(bobblehead, ItemBlockMeta.class, bobblehead.getUnlocalizedName()); GameRegistry.registerBlock(snowglobe, ItemBlockMeta.class, snowglobe.getUnlocalizedName()); GameRegistry.registerBlock(hazmat, hazmat.getUnlocalizedName()); @@ -2763,11 +2629,16 @@ public class ModBlocks { GameRegistry.registerBlock(lamp_tritium_green_on, lamp_tritium_green_on.getUnlocalizedName()); GameRegistry.registerBlock(lamp_tritium_blue_off, lamp_tritium_blue_off.getUnlocalizedName()); GameRegistry.registerBlock(lamp_tritium_blue_on, lamp_tritium_blue_on.getUnlocalizedName()); - GameRegistry.registerBlock(lamp_uv_off, lamp_uv_off.getUnlocalizedName()); - GameRegistry.registerBlock(lamp_uv_on, lamp_uv_on.getUnlocalizedName()); GameRegistry.registerBlock(lamp_demon, lamp_demon.getUnlocalizedName()); GameRegistry.registerBlock(lantern, lantern.getUnlocalizedName()); GameRegistry.registerBlock(lantern_behemoth, lantern_behemoth.getUnlocalizedName()); + GameRegistry.registerBlock(spotlight_incandescent, spotlight_incandescent.getUnlocalizedName()); + GameRegistry.registerBlock(spotlight_incandescent_off, spotlight_incandescent_off.getUnlocalizedName()); + GameRegistry.registerBlock(spotlight_fluoro, spotlight_fluoro.getUnlocalizedName()); + GameRegistry.registerBlock(spotlight_fluoro_off, spotlight_fluoro_off.getUnlocalizedName()); + GameRegistry.registerBlock(spotlight_halogen, spotlight_halogen.getUnlocalizedName()); + GameRegistry.registerBlock(spotlight_halogen_off, spotlight_halogen_off.getUnlocalizedName()); + GameRegistry.registerBlock(spotlight_beam, spotlight_beam.getUnlocalizedName()); //Reinforced Blocks GameRegistry.registerBlock(asphalt, ItemBlockBlastInfo.class, asphalt.getUnlocalizedName()); @@ -2856,13 +2727,6 @@ public class ModBlocks { //Charger GameRegistry.registerBlock(charger, charger.getUnlocalizedName()); - //Siege blocks - GameRegistry.registerBlock(siege_shield, ItemBlockLore.class, siege_shield.getUnlocalizedName()); - GameRegistry.registerBlock(siege_internal, ItemBlockLore.class, siege_internal.getUnlocalizedName()); - GameRegistry.registerBlock(siege_circuit, ItemBlockLore.class, siege_circuit.getUnlocalizedName()); - GameRegistry.registerBlock(siege_emergency, siege_emergency.getUnlocalizedName()); - GameRegistry.registerBlock(siege_hole, siege_hole.getUnlocalizedName()); - //Decoration Blocks GameRegistry.registerBlock(block_meteor, block_meteor.getUnlocalizedName()); GameRegistry.registerBlock(block_meteor_cobble, block_meteor_cobble.getUnlocalizedName()); @@ -2886,12 +2750,11 @@ public class ModBlocks { GameRegistry.registerBlock(brick_jungle_trap, ItemTrapBlock.class, brick_jungle_trap.getUnlocalizedName()); GameRegistry.registerBlock(brick_jungle_glyph, ItemGlyphBlock.class, brick_jungle_glyph.getUnlocalizedName()); GameRegistry.registerBlock(brick_jungle_circle, brick_jungle_circle.getUnlocalizedName()); - GameRegistry.registerBlock(brick_dungeon, brick_dungeon.getUnlocalizedName()); - GameRegistry.registerBlock(brick_dungeon_flat, brick_dungeon_flat.getUnlocalizedName()); - GameRegistry.registerBlock(brick_dungeon_tile, brick_dungeon_tile.getUnlocalizedName()); - GameRegistry.registerBlock(brick_dungeon_circle, brick_dungeon_circle.getUnlocalizedName()); GameRegistry.registerBlock(brick_forgotten, brick_forgotten.getUnlocalizedName()); - GameRegistry.registerBlock(deco_computer, ItemBlockBase.class, deco_computer.getUnlocalizedName()); + GameRegistry.registerBlock(brick_red, brick_red.getUnlocalizedName()); + register(deco_computer); + register(deco_crt); + register(deco_toaster); GameRegistry.registerBlock(filing_cabinet, ItemBlockBase.class, filing_cabinet.getUnlocalizedName()); GameRegistry.registerBlock(tape_recorder, tape_recorder.getUnlocalizedName()); GameRegistry.registerBlock(steel_poles, steel_poles.getUnlocalizedName()); @@ -2935,8 +2798,8 @@ public class ModBlocks { GameRegistry.registerBlock(mush, mush.getUnlocalizedName()); GameRegistry.registerBlock(mush_block, mush_block.getUnlocalizedName()); GameRegistry.registerBlock(mush_block_stem, mush_block_stem.getUnlocalizedName()); - GameRegistry.registerBlock(glyphid_base, glyphid_base.getUnlocalizedName()); - GameRegistry.registerBlock(glyphid_spawner, glyphid_spawner.getUnlocalizedName()); + register(glyphid_base); + register(glyphid_spawner); GameRegistry.registerBlock(moon_turf, moon_turf.getUnlocalizedName()); //Waste @@ -2960,13 +2823,19 @@ public class ModBlocks { GameRegistry.registerBlock(foam_layer, foam_layer.getUnlocalizedName()); GameRegistry.registerBlock(sand_boron_layer, sand_boron_layer.getUnlocalizedName()); GameRegistry.registerBlock(leaves_layer, leaves_layer.getUnlocalizedName()); + GameRegistry.registerBlock(oil_spill, oil_spill.getUnlocalizedName()); GameRegistry.registerBlock(burning_earth, burning_earth.getUnlocalizedName()); GameRegistry.registerBlock(tektite, tektite.getUnlocalizedName()); GameRegistry.registerBlock(ore_tektite_osmiridium, ore_tektite_osmiridium.getUnlocalizedName()); GameRegistry.registerBlock(impact_dirt, impact_dirt.getUnlocalizedName()); //RAD - GameRegistry.registerBlock(sellafield_slaked, sellafield_slaked.getUnlocalizedName()); + register(sellafield_slaked); + register(ore_sellafield_diamond); + register(ore_sellafield_emerald); + register(ore_sellafield_uranium_scorched); + register(ore_sellafield_schrabidium); + register(ore_sellafield_radgem); GameRegistry.registerBlock(sellafield, ItemBlockNamedMeta.class, sellafield.getUnlocalizedName()); //Geysirs @@ -2985,7 +2854,6 @@ public class ModBlocks { GameRegistry.registerBlock(nuke_fleija, nuke_fleija.getUnlocalizedName()); GameRegistry.registerBlock(nuke_solinium, nuke_solinium.getUnlocalizedName()); GameRegistry.registerBlock(nuke_n2, nuke_n2.getUnlocalizedName()); - GameRegistry.registerBlock(nuke_n45, nuke_n45.getUnlocalizedName()); GameRegistry.registerBlock(nuke_fstbmb, nuke_fstbmb.getUnlocalizedName()); GameRegistry.registerBlock(nuke_custom, nuke_custom.getUnlocalizedName()); @@ -3009,10 +2877,11 @@ public class ModBlocks { GameRegistry.registerBlock(turret_howard_damaged, turret_howard_damaged.getUnlocalizedName()); GameRegistry.registerBlock(turret_maxwell, turret_maxwell.getUnlocalizedName()); GameRegistry.registerBlock(turret_fritz, turret_fritz.getUnlocalizedName()); - GameRegistry.registerBlock(turret_brandon, turret_brandon.getUnlocalizedName()); + //GameRegistry.registerBlock(turret_brandon, turret_brandon.getUnlocalizedName()); GameRegistry.registerBlock(turret_arty, turret_arty.getUnlocalizedName()); GameRegistry.registerBlock(turret_himars, turret_himars.getUnlocalizedName()); GameRegistry.registerBlock(turret_sentry, turret_sentry.getUnlocalizedName()); + GameRegistry.registerBlock(turret_sentry_damaged, turret_sentry_damaged.getUnlocalizedName()); //Wall-mounted Explosives GameRegistry.registerBlock(charge_dynamite, ItemBlockBase.class, charge_dynamite.getUnlocalizedName()); @@ -3086,12 +2955,15 @@ public class ModBlocks { GameRegistry.registerBlock(blast_door, blast_door.getUnlocalizedName()); GameRegistry.registerBlock(fire_door, fire_door.getUnlocalizedName()); GameRegistry.registerBlock(transition_seal, transition_seal.getUnlocalizedName()); + GameRegistry.registerBlock(silo_hatch, silo_hatch.getUnlocalizedName()); + GameRegistry.registerBlock(silo_hatch_large, silo_hatch_large.getUnlocalizedName()); GameRegistry.registerBlock(sliding_blast_door, sliding_blast_door.getUnlocalizedName()); //Doors GameRegistry.registerBlock(door_metal, door_metal.getUnlocalizedName()); GameRegistry.registerBlock(door_office, door_office.getUnlocalizedName()); GameRegistry.registerBlock(door_bunker, door_bunker.getUnlocalizedName()); + GameRegistry.registerBlock(door_red, door_red.getUnlocalizedName()); GameRegistry.registerBlock(secure_access_door, secure_access_door.getUnlocalizedName()); GameRegistry.registerBlock(large_vehicle_door, large_vehicle_door.getUnlocalizedName()); GameRegistry.registerBlock(qe_containment, qe_containment.getUnlocalizedName()); @@ -3112,25 +2984,23 @@ public class ModBlocks { //Junk GameRegistry.registerBlock(boxcar, boxcar.getUnlocalizedName()); GameRegistry.registerBlock(boat, boat.getUnlocalizedName()); - GameRegistry.registerBlock(bomber, bomber.getUnlocalizedName()); //Machines - //GameRegistry.registerBlock(observer_off, observer_off.getUnlocalizedName()); - //GameRegistry.registerBlock(observer_on, observer_on.getUnlocalizedName()); + register(machine_autocrafter); + register(machine_funnel); - GameRegistry.registerBlock(machine_autocrafter, ItemBlockBase.class, machine_autocrafter.getUnlocalizedName()); - - GameRegistry.registerBlock(anvil_iron, ItemBlockBase.class, anvil_iron.getUnlocalizedName()); - GameRegistry.registerBlock(anvil_lead, ItemBlockBase.class, anvil_lead.getUnlocalizedName()); - GameRegistry.registerBlock(anvil_steel, ItemBlockBase.class, anvil_steel.getUnlocalizedName()); - GameRegistry.registerBlock(anvil_meteorite, ItemBlockBase.class, anvil_meteorite.getUnlocalizedName()); - GameRegistry.registerBlock(anvil_starmetal, ItemBlockBase.class, anvil_starmetal.getUnlocalizedName()); - GameRegistry.registerBlock(anvil_ferrouranium, ItemBlockBase.class, anvil_ferrouranium.getUnlocalizedName()); - GameRegistry.registerBlock(anvil_bismuth, ItemBlockBase.class, anvil_bismuth.getUnlocalizedName()); - GameRegistry.registerBlock(anvil_schrabidate, ItemBlockBase.class, anvil_schrabidate.getUnlocalizedName()); - GameRegistry.registerBlock(anvil_dnt, ItemBlockBase.class, anvil_dnt.getUnlocalizedName()); - GameRegistry.registerBlock(anvil_osmiridium, ItemBlockBase.class, anvil_osmiridium.getUnlocalizedName()); - GameRegistry.registerBlock(anvil_murky, ItemBlockBase.class, anvil_murky.getUnlocalizedName()); + register(anvil_iron); + register(anvil_lead); + register(anvil_steel); + register(anvil_desh); + register(anvil_saturnite); + register(anvil_ferrouranium); + register(anvil_bismuth_bronze); + register(anvil_arsenic_bronze); + register(anvil_schrabidate); + register(anvil_dnt); + register(anvil_osmiridium); + register(anvil_murky); GameRegistry.registerBlock(press_preheater, press_preheater.getUnlocalizedName()); GameRegistry.registerBlock(machine_press, machine_press.getUnlocalizedName()); @@ -3152,6 +3022,7 @@ public class ModBlocks { register(machine_stirling_creative); register(machine_sawmill); register(machine_crucible); + register(machine_strand_caster); register(machine_boiler); register(machine_industrial_boiler); register(foundry_mold); @@ -3161,6 +3032,8 @@ public class ModBlocks { register(foundry_outlet); register(foundry_slagtap); register(slag); + register(machine_furnace_brick_off); + register(machine_furnace_brick_on); register(machine_difurnace_off); register(machine_difurnace_on); register(machine_difurnace_extension); @@ -3178,13 +3051,9 @@ public class ModBlocks { GameRegistry.registerBlock(machine_nuke_furnace_on, machine_nuke_furnace_on.getUnlocalizedName()); GameRegistry.registerBlock(machine_rtg_furnace_off, machine_rtg_furnace_off.getUnlocalizedName()); GameRegistry.registerBlock(machine_rtg_furnace_on, machine_rtg_furnace_on.getUnlocalizedName()); - GameRegistry.registerBlock(machine_coal_off, machine_coal_off.getUnlocalizedName()); - GameRegistry.registerBlock(machine_coal_on, machine_coal_on.getUnlocalizedName()); register(machine_wood_burner); register(machine_diesel); - register(machine_selenium); register(machine_combustion_engine); - GameRegistry.registerBlock(machine_generator, machine_generator.getUnlocalizedName()); GameRegistry.registerBlock(machine_controller, machine_controller.getUnlocalizedName()); GameRegistry.registerBlock(reactor_research, reactor_research.getUnlocalizedName()); GameRegistry.registerBlock(reactor_zirnox, reactor_zirnox.getUnlocalizedName()); @@ -3249,9 +3118,9 @@ public class ModBlocks { GameRegistry.registerBlock(rbmk_heater, rbmk_heater.getUnlocalizedName()); GameRegistry.registerBlock(rbmk_console, rbmk_console.getUnlocalizedName()); GameRegistry.registerBlock(rbmk_crane_console, rbmk_crane_console.getUnlocalizedName()); - GameRegistry.registerBlock(rbmk_loader, rbmk_loader.getUnlocalizedName()); - GameRegistry.registerBlock(rbmk_steam_inlet, rbmk_steam_inlet.getUnlocalizedName()); - GameRegistry.registerBlock(rbmk_steam_outlet, rbmk_steam_outlet.getUnlocalizedName()); + register(rbmk_loader); + register(rbmk_steam_inlet); + register(rbmk_steam_outlet); GameRegistry.registerBlock(rbmk_heatex, rbmk_heatex.getUnlocalizedName()); GameRegistry.registerBlock(pribris, pribris.getUnlocalizedName()); GameRegistry.registerBlock(pribris_burning, pribris_burning.getUnlocalizedName()); @@ -3265,6 +3134,10 @@ public class ModBlocks { GameRegistry.registerBlock(red_wire_coated, red_wire_coated.getUnlocalizedName()); GameRegistry.registerBlock(red_connector, ItemBlockBase.class, red_connector.getUnlocalizedName()); GameRegistry.registerBlock(red_pylon, ItemBlockBase.class, red_pylon.getUnlocalizedName()); + register(red_pylon_medium_wood); + register(red_pylon_medium_wood_transformer); + register(red_pylon_medium_steel); + register(red_pylon_medium_steel_transformer); GameRegistry.registerBlock(red_pylon_large, ItemBlockBase.class, red_pylon_large.getUnlocalizedName()); GameRegistry.registerBlock(substation, ItemBlockBase.class, substation.getUnlocalizedName()); GameRegistry.registerBlock(cable_switch, cable_switch.getUnlocalizedName()); @@ -3280,9 +3153,11 @@ public class ModBlocks { GameRegistry.registerBlock(fluid_duct_solid, fluid_duct_solid.getUnlocalizedName()); register(fluid_valve); register(fluid_switch); + register(machine_drain); register(radio_torch_sender); register(radio_torch_receiver); register(radio_torch_counter); + register(radio_torch_logic); register(radio_telex); register(crane_extractor); @@ -3375,11 +3250,9 @@ public class ModBlocks { GameRegistry.registerBlock(machine_solidifier, ItemBlockBase.class, machine_solidifier.getUnlocalizedName()); register(machine_compressor); GameRegistry.registerBlock(machine_electrolyser, machine_electrolyser.getUnlocalizedName()); - GameRegistry.registerBlock(machine_deaerator, machine_deaerator.getUnlocalizedName()); GameRegistry.registerBlock(machine_waste_drum, machine_waste_drum.getUnlocalizedName()); GameRegistry.registerBlock(machine_storage_drum, machine_storage_drum.getUnlocalizedName()); GameRegistry.registerBlock(machine_shredder, machine_shredder.getUnlocalizedName()); - GameRegistry.registerBlock(machine_shredder_large, machine_shredder_large.getUnlocalizedName()); register(machine_well); register(machine_pumpjack); register(machine_fracking_tower); @@ -3392,8 +3265,8 @@ public class ModBlocks { register(fraction_spacer); register(machine_catalytic_cracker); register(machine_catalytic_reformer); + register(machine_hydrotreater); register(machine_coker); - register(machine_drill); register(machine_autosaw); register(machine_excavator); register(machine_mining_laser); @@ -3401,7 +3274,6 @@ public class ModBlocks { register(machine_turbofan); register(machine_turbinegas); GameRegistry.registerBlock(machine_schrabidium_transmutator, machine_schrabidium_transmutator.getUnlocalizedName()); - GameRegistry.registerBlock(machine_combine_factory, machine_combine_factory.getUnlocalizedName()); GameRegistry.registerBlock(machine_teleporter, machine_teleporter.getUnlocalizedName()); GameRegistry.registerBlock(teleanchor, teleanchor.getUnlocalizedName()); GameRegistry.registerBlock(field_disturber, field_disturber.getUnlocalizedName()); @@ -3412,12 +3284,6 @@ public class ModBlocks { GameRegistry.registerBlock(radiorec, radiorec.getUnlocalizedName()); GameRegistry.registerBlock(radiobox, radiobox.getUnlocalizedName()); - //Multiblock Helpers - GameRegistry.registerBlock(marker_structure, marker_structure.getUnlocalizedName()); - - //The muffler - GameRegistry.registerBlock(muffler, muffler.getUnlocalizedName()); - //Multiblock Parts GameRegistry.registerBlock(struct_launcher, struct_launcher.getUnlocalizedName()); GameRegistry.registerBlock(struct_scaffold, struct_scaffold.getUnlocalizedName()); @@ -3452,6 +3318,8 @@ public class ModBlocks { register(cm_tank); register(cm_circuit); register(cm_port); + register(cm_flux); + register(cm_heat); register(cm_anchor); //PWR @@ -3459,6 +3327,7 @@ public class ModBlocks { register(pwr_control); register(pwr_channel); register(pwr_heatex); + register(pwr_heatsink); register(pwr_neutron_source); register(pwr_reflector); register(pwr_casing); @@ -3467,53 +3336,35 @@ public class ModBlocks { register(pwr_block); //Multiblock Generators - GameRegistry.registerBlock(reactor_element, reactor_element.getUnlocalizedName()); - GameRegistry.registerBlock(reactor_control, reactor_control.getUnlocalizedName()); - GameRegistry.registerBlock(reactor_hatch, reactor_hatch.getUnlocalizedName()); - GameRegistry.registerBlock(reactor_ejector, reactor_ejector.getUnlocalizedName()); - GameRegistry.registerBlock(reactor_inserter, reactor_inserter.getUnlocalizedName()); - GameRegistry.registerBlock(reactor_conductor, reactor_conductor.getUnlocalizedName()); - GameRegistry.registerBlock(reactor_computer, reactor_computer.getUnlocalizedName()); - register(fusion_conductor); GameRegistry.registerBlock(fusion_center, fusion_center.getUnlocalizedName()); GameRegistry.registerBlock(fusion_motor, fusion_motor.getUnlocalizedName()); GameRegistry.registerBlock(fusion_heater, fusion_heater.getUnlocalizedName()); GameRegistry.registerBlock(fusion_hatch, fusion_hatch.getUnlocalizedName()); - //GameRegistry.registerBlock(fusion_core, fusion_core.getUnlocalizedName()); GameRegistry.registerBlock(plasma, ItemBlockLore.class, plasma.getUnlocalizedName()); GameRegistry.registerBlock(iter, iter.getUnlocalizedName()); GameRegistry.registerBlock(plasma_heater, plasma_heater.getUnlocalizedName()); + + register(machine_icf_press); + register(icf_laser_component); + register(icf_controller); + register(icf_block); + register(icf); GameRegistry.registerBlock(watz_element, watz_element.getUnlocalizedName()); GameRegistry.registerBlock(watz_control, watz_control.getUnlocalizedName()); GameRegistry.registerBlock(watz_cooler, watz_cooler.getUnlocalizedName()); register(watz_end); - GameRegistry.registerBlock(watz_hatch, watz_hatch.getUnlocalizedName()); GameRegistry.registerBlock(watz_conductor, watz_conductor.getUnlocalizedName()); - GameRegistry.registerBlock(watz_core, watz_core.getUnlocalizedName()); GameRegistry.registerBlock(watz, watz.getUnlocalizedName()); GameRegistry.registerBlock(watz_pump, watz_pump.getUnlocalizedName()); - - GameRegistry.registerBlock(fwatz_conductor, fwatz_conductor.getUnlocalizedName()); - GameRegistry.registerBlock(fwatz_scaffold, fwatz_scaffold.getUnlocalizedName()); - GameRegistry.registerBlock(fwatz_hatch, fwatz_hatch.getUnlocalizedName()); - GameRegistry.registerBlock(fwatz_computer, fwatz_computer.getUnlocalizedName()); - GameRegistry.registerBlock(fwatz_core, fwatz_core.getUnlocalizedName()); - GameRegistry.registerBlock(fwatz_cooler, fwatz_cooler.getUnlocalizedName()); - GameRegistry.registerBlock(fwatz_tank, fwatz_tank.getUnlocalizedName()); - GameRegistry.registerBlock(fwatz_plasma, fwatz_plasma.getUnlocalizedName()); //E GameRegistry.registerBlock(balefire, balefire.getUnlocalizedName()); GameRegistry.registerBlock(fire_digamma, fire_digamma.getUnlocalizedName()); GameRegistry.registerBlock(digamma_matter, digamma_matter.getUnlocalizedName()); register(volcano_core); - - //AMS - GameRegistry.registerBlock(ams_base, ams_base.getUnlocalizedName()); - GameRegistry.registerBlock(ams_emitter, ams_emitter.getUnlocalizedName()); - GameRegistry.registerBlock(ams_limiter, ams_limiter.getUnlocalizedName()); + register(volcano_rad_core); //Dark Fusion Core GameRegistry.registerBlock(dfc_emitter, dfc_emitter.getUnlocalizedName()); @@ -3525,12 +3376,15 @@ public class ModBlocks { //Missile Blocks GameRegistry.registerBlock(machine_missile_assembly, machine_missile_assembly.getUnlocalizedName()); GameRegistry.registerBlock(launch_pad, launch_pad.getUnlocalizedName()); + GameRegistry.registerBlock(launch_pad_rusted, launch_pad_rusted.getUnlocalizedName()); + GameRegistry.registerBlock(launch_pad_large, launch_pad_large.getUnlocalizedName()); GameRegistry.registerBlock(compact_launcher, compact_launcher.getUnlocalizedName()); GameRegistry.registerBlock(launch_table, launch_table.getUnlocalizedName()); GameRegistry.registerBlock(soyuz_launcher, soyuz_launcher.getUnlocalizedName()); GameRegistry.registerBlock(sat_dock, sat_dock.getUnlocalizedName()); GameRegistry.registerBlock(soyuz_capsule, soyuz_capsule.getUnlocalizedName()); GameRegistry.registerBlock(machine_radar, machine_radar.getUnlocalizedName()); + GameRegistry.registerBlock(machine_radar_large, machine_radar_large.getUnlocalizedName()); GameRegistry.registerBlock(radar_screen, radar_screen.getUnlocalizedName()); //Guide @@ -3552,9 +3406,14 @@ public class ModBlocks { register(rail_narrow_straight); register(rail_narrow_curve); register(rail_large_straight); + register(rail_large_straight_short); register(rail_large_curve); + register(rail_large_curve_7); + register(rail_large_curve_9); register(rail_large_ramp); register(rail_large_buffer); + register(rail_large_switch); + register(rail_large_switch_flipped); //Crate GameRegistry.registerBlock(crate, crate.getUnlocalizedName()); @@ -3579,18 +3438,11 @@ public class ModBlocks { GameRegistry.registerBlock(schrabidic_block, schrabidic_block.getUnlocalizedName()); GameRegistry.registerBlock(corium_block, corium_block.getUnlocalizedName()); GameRegistry.registerBlock(volcanic_lava_block, volcanic_lava_block.getUnlocalizedName()); + GameRegistry.registerBlock(rad_lava_block, rad_lava_block.getUnlocalizedName()); GameRegistry.registerBlock(sulfuric_acid_block, sulfuric_acid_block.getUnlocalizedName()); //GameRegistry.registerBlock(concrete_liquid, concrete_liquid.getUnlocalizedName()); //Multiblock Dummy Blocks - GameRegistry.registerBlock(dummy_block_drill, dummy_block_drill.getUnlocalizedName()); - GameRegistry.registerBlock(dummy_port_drill, dummy_port_drill.getUnlocalizedName()); - GameRegistry.registerBlock(dummy_block_ams_limiter, dummy_block_ams_limiter.getUnlocalizedName()); - GameRegistry.registerBlock(dummy_port_ams_limiter, dummy_port_ams_limiter.getUnlocalizedName()); - GameRegistry.registerBlock(dummy_block_ams_emitter, dummy_block_ams_emitter.getUnlocalizedName()); - GameRegistry.registerBlock(dummy_port_ams_emitter, dummy_port_ams_emitter.getUnlocalizedName()); - GameRegistry.registerBlock(dummy_block_ams_base, dummy_block_ams_base.getUnlocalizedName()); - GameRegistry.registerBlock(dummy_port_ams_base, dummy_port_ams_base.getUnlocalizedName()); GameRegistry.registerBlock(dummy_block_vault, dummy_block_vault.getUnlocalizedName()); GameRegistry.registerBlock(dummy_block_blast, dummy_block_blast.getUnlocalizedName()); GameRegistry.registerBlock(dummy_block_uf6, dummy_block_uf6.getUnlocalizedName()); @@ -3603,7 +3455,6 @@ public class ModBlocks { //Other Technical Blocks GameRegistry.registerBlock(oil_pipe, oil_pipe.getUnlocalizedName()); - GameRegistry.registerBlock(drill_pipe, drill_pipe.getUnlocalizedName()); GameRegistry.registerBlock(vent_chlorine, vent_chlorine.getUnlocalizedName()); GameRegistry.registerBlock(vent_cloud, vent_cloud.getUnlocalizedName()); GameRegistry.registerBlock(vent_pink_cloud, vent_pink_cloud.getUnlocalizedName()); @@ -3625,7 +3476,6 @@ public class ModBlocks { GameRegistry.registerBlock(crystal_hardened, crystal_hardened.getUnlocalizedName()); GameRegistry.registerBlock(crystal_pulsar, crystal_pulsar.getUnlocalizedName()); GameRegistry.registerBlock(taint, ItemTaintBlock.class, taint.getUnlocalizedName()); - GameRegistry.registerBlock(residue, residue.getUnlocalizedName()); GameRegistry.registerBlock(cheater_virus, cheater_virus.getUnlocalizedName()); GameRegistry.registerBlock(cheater_virus_seed, cheater_virus_seed.getUnlocalizedName()); GameRegistry.registerBlock(ntm_dirt, ntm_dirt.getUnlocalizedName()); @@ -3634,7 +3484,6 @@ public class ModBlocks { GameRegistry.registerBlock(pink_slab, pink_slab.getUnlocalizedName()); GameRegistry.registerBlock(pink_double_slab, pink_double_slab.getUnlocalizedName()); GameRegistry.registerBlock(pink_stairs, pink_stairs.getUnlocalizedName()); - GameRegistry.registerBlock(ff, ff.getUnlocalizedName()); } private static void register(Block b) { diff --git a/src/main/java/com/hbm/blocks/bomb/Balefire.java b/src/main/java/com/hbm/blocks/bomb/Balefire.java index 3ad57ad2c..4a282e861 100644 --- a/src/main/java/com/hbm/blocks/bomb/Balefire.java +++ b/src/main/java/com/hbm/blocks/bomb/Balefire.java @@ -7,8 +7,10 @@ import static net.minecraftforge.common.util.ForgeDirection.SOUTH; import static net.minecraftforge.common.util.ForgeDirection.UP; import static net.minecraftforge.common.util.ForgeDirection.WEST; +import java.awt.Color; import java.util.Random; +import com.hbm.blocks.ModBlocks; import com.hbm.potion.HbmPotion; import cpw.mods.fml.relauncher.Side; @@ -25,193 +27,146 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; public class Balefire extends BlockFire { + + private IIcon icon; + + public Balefire() { + super(); + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister register) { + icon = register.registerIcon(this.getTextureName()); + } + + @SideOnly(Side.CLIENT) + public IIcon getFireIcon(int i) { + return icon; + } + + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + return icon; + } + + @Override + public void updateTick(World world, int x, int y, int z, Random rand) { + if(world.getGameRules().getGameRuleBooleanValue("doFireTick")) { + + if(!this.canPlaceBlockAt(world, x, y, z)) { + world.setBlockToAir(x, y, z); + } + + int meta = world.getBlockMetadata(x, y, z); + + if(meta < 15) world.scheduleBlockUpdate(x, y, z, this, this.tickRate(world) + rand.nextInt(10)); + + if(!this.canNeighborBurn(world, x, y, z) && !World.doesBlockHaveSolidTopSurface(world, x, y - 1, z)) { + world.setBlockToAir(x, y, z); + } else { + if(meta < 15) { + this.tryCatchFire(world, x + 1, y, z, 500, rand, meta, WEST); + this.tryCatchFire(world, x - 1, y, z, 500, rand, meta, EAST); + this.tryCatchFire(world, x, y - 1, z, 300, rand, meta, UP); + this.tryCatchFire(world, x, y + 1, z, 300, rand, meta, DOWN); + this.tryCatchFire(world, x, y, z - 1, 500, rand, meta, SOUTH); + this.tryCatchFire(world, x, y, z + 1, 500, rand, meta, NORTH); + + int h = 3; + + for(int ix = x - h; ix <= x + h; ++ix) { + for(int iz = z - h; iz <= z + h; ++iz) { + for(int iy = y - 1; iy <= y + 4; ++iy) { + + if(ix != x || iy != y || iz != z) { + int fireLimit = 100; + + if(iy > y + 1) { + fireLimit += (iy - (y + 1)) * 100; + } + + if(world.getBlock(ix, iy, iz) == ModBlocks.balefire && world.getBlockMetadata(ix, iy, iz) > meta + 1) { + world.setBlock(ix, iy, iz, this, meta + 1, 3); + continue; + } + + int neighborFireChance = this.getChanceOfNeighborsEncouragingFire(world, ix, iy, iz); + + if(neighborFireChance > 0) { + int adjustedFireChance = (neighborFireChance + 40 + world.difficultySetting.getDifficultyId() * 7) / (meta + 30); + + if(adjustedFireChance > 0 && rand.nextInt(fireLimit) <= adjustedFireChance) { + world.setBlock(ix, iy, iz, this, meta + 1, 3); + } + } + } + } + } + } + } + } + } + } + + private void tryCatchFire(World world, int x, int y, int z, int chance, Random rand, int fireMetadata, ForgeDirection face) { + int flammability = world.getBlock(x, y, z).getFlammability(world, x, y, z, face); + + if(rand.nextInt(chance) < flammability) { + boolean flag = world.getBlock(x, y, z) == Blocks.tnt; + + world.setBlock(x, y, z, this, fireMetadata + 1, 3); + + if(flag) { + Blocks.tnt.onBlockDestroyedByPlayer(world, x, y, z, 1); + } + } + } + + private boolean canNeighborBurn(World world, int x, int y, int z) { + return this.canCatchFire(world, x + 1, y, z, WEST) + || this.canCatchFire(world, x - 1, y, z, EAST) + || this.canCatchFire(world, x, y - 1, z, UP) + || this.canCatchFire(world, x, y + 1, z, DOWN) + || this.canCatchFire(world, x, y, z - 1, SOUTH) + || this.canCatchFire(world, x, y, z + 1, NORTH); + } + + private int getChanceOfNeighborsEncouragingFire(World world, int x, int y, int z) { + + if(!world.isAirBlock(x, y, z)) { + return 0; + } else { + int spread = 0; + spread = this.getChanceToEncourageFire(world, x + 1, y, z, spread, WEST); + spread = this.getChanceToEncourageFire(world, x - 1, y, z, spread, EAST); + spread = this.getChanceToEncourageFire(world, x, y - 1, z, spread, UP); + spread = this.getChanceToEncourageFire(world, x, y + 1, z, spread, DOWN); + spread = this.getChanceToEncourageFire(world, x, y, z - 1, spread, SOUTH); + spread = this.getChanceToEncourageFire(world, x, y, z + 1, spread, NORTH); + return spread; + } + } + + @Override + public boolean canCatchFire(IBlockAccess world, int x, int y, int z, ForgeDirection face) { + return world.getBlock(x, y, z).isFlammable(world, x, y, z, face); + } + + @Override + public void onEntityCollidedWithBlock(World world, int x, int y, int z, Entity entity) { + entity.setFire(10); + + if(entity instanceof EntityLivingBase) ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 5 * 20, 9)); + } - private IIcon field_149850_M; - - public Balefire() - { - super(); - } - - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister p_149651_1_) { - - field_149850_M = p_149651_1_.registerIcon(this.getTextureName()); - } - - @SideOnly(Side.CLIENT) - public IIcon getFireIcon(int p_149840_1_) - { - return field_149850_M; - } - - @SideOnly(Side.CLIENT) - public IIcon getIcon(int p_149691_1_, int p_149691_2_) - { - return field_149850_M; - } - public void updateTick(World p_149674_1_, int p_149674_2_, int p_149674_3_, int p_149674_4_, Random p_149674_5_) - { - if (p_149674_1_.getGameRules().getGameRuleBooleanValue("doFireTick")) - { - boolean flag = p_149674_1_.getBlock(p_149674_2_, p_149674_3_ - 1, p_149674_4_).isFireSource(p_149674_1_, p_149674_2_, p_149674_3_ - 1, p_149674_4_, UP); - - if (!this.canPlaceBlockAt(p_149674_1_, p_149674_2_, p_149674_3_, p_149674_4_)) - { - p_149674_1_.setBlockToAir(p_149674_2_, p_149674_3_, p_149674_4_); - } - - /*if (!flag && p_149674_1_.isRaining() && (p_149674_1_.canLightningStrikeAt(p_149674_2_, p_149674_3_, p_149674_4_) || p_149674_1_.canLightningStrikeAt(p_149674_2_ - 1, p_149674_3_, p_149674_4_) || p_149674_1_.canLightningStrikeAt(p_149674_2_ + 1, p_149674_3_, p_149674_4_) || p_149674_1_.canLightningStrikeAt(p_149674_2_, p_149674_3_, p_149674_4_ - 1) || p_149674_1_.canLightningStrikeAt(p_149674_2_, p_149674_3_, p_149674_4_ + 1))) - { - p_149674_1_.setBlockToAir(p_149674_2_, p_149674_3_, p_149674_4_); - } - else*/ - { - int l = 0; - /*int l = p_149674_1_.getBlockMetadata(p_149674_2_, p_149674_3_, p_149674_4_); - - if (l < 15) - { - p_149674_1_.setBlockMetadataWithNotify(p_149674_2_, p_149674_3_, p_149674_4_, l + p_149674_5_.nextInt(3) / 2, 4); - }*/ - - p_149674_1_.scheduleBlockUpdate(p_149674_2_, p_149674_3_, p_149674_4_, this, this.tickRate(p_149674_1_) + p_149674_5_.nextInt(10)); - - if (!flag && !this.canNeighborBurn(p_149674_1_, p_149674_2_, p_149674_3_, p_149674_4_)) - { - if (!World.doesBlockHaveSolidTopSurface(p_149674_1_, p_149674_2_, p_149674_3_ - 1, p_149674_4_)/* || l > 3*/) - { - p_149674_1_.setBlockToAir(p_149674_2_, p_149674_3_, p_149674_4_); - } - } - /*else if (!flag && !this.canCatchFire(p_149674_1_, p_149674_2_, p_149674_3_ - 1, p_149674_4_, UP) && l == 15 && p_149674_5_.nextInt(4) == 0) - { - //p_149674_1_.setBlockToAir(p_149674_2_, p_149674_3_, p_149674_4_); - }*/ - else - { - //boolean flag1 = p_149674_1_.isBlockHighHumidity(p_149674_2_, p_149674_3_, p_149674_4_); - byte b0 = 0; - - /*if (flag1) - { - b0 = -50; - }*/ - - this.tryCatchFire(p_149674_1_, p_149674_2_ + 1, p_149674_3_, p_149674_4_, 300 + b0, p_149674_5_, l, WEST ); - this.tryCatchFire(p_149674_1_, p_149674_2_ - 1, p_149674_3_, p_149674_4_, 300 + b0, p_149674_5_, l, EAST ); - this.tryCatchFire(p_149674_1_, p_149674_2_, p_149674_3_ - 1, p_149674_4_, 250 + b0, p_149674_5_, l, UP ); - this.tryCatchFire(p_149674_1_, p_149674_2_, p_149674_3_ + 1, p_149674_4_, 250 + b0, p_149674_5_, l, DOWN ); - this.tryCatchFire(p_149674_1_, p_149674_2_, p_149674_3_, p_149674_4_ - 1, 300 + b0, p_149674_5_, l, SOUTH); - this.tryCatchFire(p_149674_1_, p_149674_2_, p_149674_3_, p_149674_4_ + 1, 300 + b0, p_149674_5_, l, NORTH); - - for (int i1 = p_149674_2_ - 1; i1 <= p_149674_2_ + 1; ++i1) - { - for (int j1 = p_149674_4_ - 1; j1 <= p_149674_4_ + 1; ++j1) - { - for (int k1 = p_149674_3_ - 1; k1 <= p_149674_3_ + 4; ++k1) - { - if (i1 != p_149674_2_ || k1 != p_149674_3_ || j1 != p_149674_4_) - { - int l1 = 100; - - if (k1 > p_149674_3_ + 1) - { - l1 += (k1 - (p_149674_3_ + 1)) * 100; - } - - int i2 = this.getChanceOfNeighborsEncouragingFire(p_149674_1_, i1, k1, j1); - - if (i2 > 0) - { - int j2 = (i2 + 40 + p_149674_1_.difficultySetting.getDifficultyId() * 7) / (l + 30); - - /*if (flag1) - { - j2 /= 2; - }*/ - - if (j2 > 0 && p_149674_5_.nextInt(l1) <= j2) - { - int k2 = l + p_149674_5_.nextInt(5) / 4; - - if (k2 > 15) - { - k2 = 15; - } - - p_149674_1_.setBlock(i1, k1, j1, this, k2, 3); - } - } - } - } - } - } - } - } - } - } - - private void tryCatchFire(World p_149841_1_, int p_149841_2_, int p_149841_3_, int p_149841_4_, int p_149841_5_, Random p_149841_6_, int p_149841_7_, ForgeDirection face) - { - int j1 = p_149841_1_.getBlock(p_149841_2_, p_149841_3_, p_149841_4_).getFlammability(p_149841_1_, p_149841_2_, p_149841_3_, p_149841_4_, face); - - if (p_149841_6_.nextInt(p_149841_5_) < j1) - { - boolean flag = p_149841_1_.getBlock(p_149841_2_, p_149841_3_, p_149841_4_) == Blocks.tnt; - - p_149841_1_.setBlock(p_149841_2_, p_149841_3_, p_149841_4_, this, 15, 3); - - if (flag) - { - Blocks.tnt.onBlockDestroyedByPlayer(p_149841_1_, p_149841_2_, p_149841_3_, p_149841_4_, 1); - } - } - } - - private boolean canNeighborBurn(World p_149847_1_, int p_149847_2_, int p_149847_3_, int p_149847_4_) - { - return this.canCatchFire(p_149847_1_, p_149847_2_ + 1, p_149847_3_, p_149847_4_, WEST ) || - this.canCatchFire(p_149847_1_, p_149847_2_ - 1, p_149847_3_, p_149847_4_, EAST ) || - this.canCatchFire(p_149847_1_, p_149847_2_, p_149847_3_ - 1, p_149847_4_, UP ) || - this.canCatchFire(p_149847_1_, p_149847_2_, p_149847_3_ + 1, p_149847_4_, DOWN ) || - this.canCatchFire(p_149847_1_, p_149847_2_, p_149847_3_, p_149847_4_ - 1, SOUTH) || - this.canCatchFire(p_149847_1_, p_149847_2_, p_149847_3_, p_149847_4_ + 1, NORTH); - } - - private int getChanceOfNeighborsEncouragingFire(World p_149845_1_, int p_149845_2_, int p_149845_3_, int p_149845_4_) - { - byte b0 = 0; - - if (!p_149845_1_.isAirBlock(p_149845_2_, p_149845_3_, p_149845_4_)) - { - return 0; - } - else - { - int l = b0; - l = this.getChanceToEncourageFire(p_149845_1_, p_149845_2_ + 1, p_149845_3_, p_149845_4_, l, WEST ); - l = this.getChanceToEncourageFire(p_149845_1_, p_149845_2_ - 1, p_149845_3_, p_149845_4_, l, EAST ); - l = this.getChanceToEncourageFire(p_149845_1_, p_149845_2_, p_149845_3_ - 1, p_149845_4_, l, UP ); - l = this.getChanceToEncourageFire(p_149845_1_, p_149845_2_, p_149845_3_ + 1, p_149845_4_, l, DOWN ); - l = this.getChanceToEncourageFire(p_149845_1_, p_149845_2_, p_149845_3_, p_149845_4_ - 1, l, SOUTH); - l = this.getChanceToEncourageFire(p_149845_1_, p_149845_2_, p_149845_3_, p_149845_4_ + 1, l, NORTH); - return l; - } - } - - public boolean canCatchFire(IBlockAccess world, int x, int y, int z, ForgeDirection face) - { - return world.getBlock(x, y, z).isFlammable(world, x, y, z, face); - } - - @Override - public void onEntityCollidedWithBlock(World p_149670_1_, int p_149670_2_, int p_149670_3_, int p_149670_4_, Entity p_149670_5_) - { - p_149670_5_.setFire(10); - - if(p_149670_5_ instanceof EntityLivingBase) - ((EntityLivingBase)p_149670_5_).addPotionEffect(new PotionEffect(HbmPotion.radiation.id, 5 * 20, 9)); - } + @SideOnly(Side.CLIENT) + public int colorMultiplier(IBlockAccess world, int x, int y, int z) { + int meta = world.getBlockMetadata(x, y, z); + return Color.HSBtoRGB(0F, 0F, 1F - meta / 30F); + } + @Override + public int getRenderType() { + return 1; + } } diff --git a/src/main/java/com/hbm/blocks/bomb/BlockCloudResidue.java b/src/main/java/com/hbm/blocks/bomb/BlockCloudResidue.java deleted file mode 100644 index 64d813881..000000000 --- a/src/main/java/com/hbm/blocks/bomb/BlockCloudResidue.java +++ /dev/null @@ -1,90 +0,0 @@ -package com.hbm.blocks.bomb; - -import java.util.Random; - -import com.hbm.blocks.ModBlocks; -import com.hbm.items.ModItems; - -import net.minecraft.block.Block; -import net.minecraft.block.material.MapColor; -import net.minecraft.block.material.Material; -import net.minecraft.item.Item; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.World; - -public class BlockCloudResidue extends Block { - - public BlockCloudResidue(Material p_i45386_1_) { - super(p_i45386_1_); - } - - public static int func_150032_b(int p_150032_0_) - { - return func_150031_c(p_150032_0_); - } - - public static int func_150031_c(int p_150031_0_) - { - return p_150031_0_ & 15; - } - - public MapColor getMapColor(int p_149728_1_) - { - return MapColor.redColor; - } - - @Override - public int getRenderType(){ - return ModBlocks.taint.getRenderType(); - } - - @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) - { - return p_149650_2_.nextInt(25) == 0 ? ModItems.powder_cloud : null; - } - - @Override - public boolean isOpaqueCube() { - return false; - } - - @Override - public boolean renderAsNormalBlock() { - return false; - } - - public void onNeighborBlockChange(World world, int x, int y, int z, Block b) - { - if(!hasPosNeightbour(world, x, y, z) && !world.isRemote) - world.setBlockToAir(x, y, z); - } - - public static boolean hasPosNeightbour(World world, int x, int y, int z) { - Block b0 = world.getBlock(x + 1, y, z); - Block b1 = world.getBlock(x, y + 1, z); - Block b2 = world.getBlock(x, y, z + 1); - Block b3 = world.getBlock(x - 1, y, z); - Block b4 = world.getBlock(x, y - 1, z); - Block b5 = world.getBlock(x, y, z - 1); - boolean b = (b0.renderAsNormalBlock() && b0.getMaterial().isOpaque()) || - (b1.renderAsNormalBlock() && b1.getMaterial().isOpaque()) || - (b2.renderAsNormalBlock() && b2.getMaterial().isOpaque()) || - (b3.renderAsNormalBlock() && b3.getMaterial().isOpaque()) || - (b4.renderAsNormalBlock() && b4.getMaterial().isOpaque()) || - (b5.renderAsNormalBlock() && b5.getMaterial().isOpaque()); - return b; - } - - @Override - public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) - { - return null; - } - - @Override - public AxisAlignedBB getSelectedBoundingBoxFromPool(World par1World, int par2, int par3, int par4) - { - return AxisAlignedBB.getBoundingBox(par2, par3, par4, par2, par3, par4); - } -} diff --git a/src/main/java/com/hbm/blocks/bomb/BlockCrashedBomb.java b/src/main/java/com/hbm/blocks/bomb/BlockCrashedBomb.java index 730cac10b..93683f0d2 100644 --- a/src/main/java/com/hbm/blocks/bomb/BlockCrashedBomb.java +++ b/src/main/java/com/hbm/blocks/bomb/BlockCrashedBomb.java @@ -98,7 +98,7 @@ public class BlockCrashedBomb extends BlockContainer implements IBomb { if(!world.isRemote) { world.setBlockToAir(x, y, z); - EntityBalefire bf = new EntityBalefire(world).mute(); + EntityBalefire bf = new EntityBalefire(world); bf.posX = x; bf.posY = y; bf.posZ = z; diff --git a/src/main/java/com/hbm/blocks/bomb/BlockVolcano.java b/src/main/java/com/hbm/blocks/bomb/BlockVolcano.java index 2766da2ce..f2a8d73d7 100644 --- a/src/main/java/com/hbm/blocks/bomb/BlockVolcano.java +++ b/src/main/java/com/hbm/blocks/bomb/BlockVolcano.java @@ -81,8 +81,9 @@ public class BlockVolcano extends BlockContainer implements ITooltipProvider, IB } public static class TileEntityVolcanoCore extends TileEntity { - + private static List volcanoExplosion = Arrays.asList(new ExAttrib[] {ExAttrib.NODROP, ExAttrib.LAVA_V, ExAttrib.NOSOUND, ExAttrib.ALLMOD, ExAttrib.NOHURT}); + private static List volcanoRadExplosion = Arrays.asList(new ExAttrib[] {ExAttrib.NODROP, ExAttrib.LAVA_R, ExAttrib.NOSOUND, ExAttrib.ALLMOD, ExAttrib.NOHURT}); public int volcanoTimer; @@ -118,15 +119,28 @@ public class BlockVolcano extends BlockContainer implements ITooltipProvider, IB if(this.shouldGrow()) { worldObj.setBlock(xCoord, yCoord + 1, zCoord, this.getBlockType(), this.getBlockMetadata(), 3); - worldObj.setBlock(xCoord, yCoord, zCoord, ModBlocks.volcanic_lava_block); + worldObj.setBlock(xCoord, yCoord, zCoord, getLava()); return; } else if(this.isExtinguishing()) { - worldObj.setBlock(xCoord, yCoord, zCoord, ModBlocks.volcanic_lava_block); + worldObj.setBlock(xCoord, yCoord, zCoord, getLava()); return; } } } } + + public boolean isRadioacitve() { + return this.getBlockType() == ModBlocks.volcano_rad_core; + } + + protected Block getLava() { + if(isRadioacitve()) return ModBlocks.rad_lava_block; + return ModBlocks.volcanic_lava_block; + } + + protected List getExpAttrb() { + return this.isRadioacitve() ? this.volcanoRadExplosion : this.volcanoExplosion; + } @Override public void readFromNBT(NBTTagCompound nbt) { @@ -184,21 +198,12 @@ public class BlockVolcano extends BlockContainer implements ITooltipProvider, IB } } - /* TODO */ - private boolean doesPyroclastic() { - return false; - } - - private double getPyroclasticRange() { - return 0D; - } - /** Causes two magma explosions, one from bedrock to the core and one from the core to 15 blocks above. */ private void blastMagmaChannel() { ExplosionNT explosion = new ExplosionNT(worldObj, null, xCoord + 0.5, yCoord + worldObj.rand.nextInt(15) + 1.5, zCoord + 0.5, 7); - explosion.addAllAttrib(volcanoExplosion).explode(); + explosion.addAllAttrib(getExpAttrb()).explode(); ExplosionNT explosion2 = new ExplosionNT(worldObj, null, xCoord + 0.5 + worldObj.rand.nextGaussian() * 3, worldObj.rand.nextInt(yCoord + 1), zCoord + 0.5 + worldObj.rand.nextGaussian() * 3, 10); - explosion2.addAllAttrib(volcanoExplosion).explode(); + explosion2.addAllAttrib(getExpAttrb()).explode(); } /** Causes two magma explosions at a random position around the core, one at normal and one at half range. */ @@ -207,7 +212,7 @@ public class BlockVolcano extends BlockContainer implements ITooltipProvider, IB for(int i = 0; i < 2; i++) { double dist = size / (double) (i + 1); ExplosionNT explosion = new ExplosionNT(worldObj, null, xCoord + 0.5 + worldObj.rand.nextGaussian() * dist, yCoord + 0.5 + worldObj.rand.nextGaussian() * dist, zCoord + 0.5 + worldObj.rand.nextGaussian() * dist, 7); - explosion.addAllAttrib(volcanoExplosion).explode(); + explosion.addAllAttrib(getExpAttrb()).explode(); } } @@ -224,7 +229,7 @@ public class BlockVolcano extends BlockContainer implements ITooltipProvider, IB if(!b.isAir(worldObj, x, y, z) && b.getExplosionResistance(null) < Blocks.obsidian.getExplosionResistance(null)) { //turn into lava if solid block, otherwise just break - worldObj.setBlock(x, y, z, b.isNormalCube() ? ModBlocks.volcanic_lava_block : Blocks.air); + worldObj.setBlock(x, y, z, b.isNormalCube() ? this.getLava() : Blocks.air); } } } @@ -236,8 +241,8 @@ public class BlockVolcano extends BlockContainer implements ITooltipProvider, IB int rY = yCoord + worldObj.rand.nextInt(11); int rZ = zCoord - 10 + worldObj.rand.nextInt(21); - if(worldObj.getBlock(rX, rY, rZ) == Blocks.air && worldObj.getBlock(rX, rY - 1, rZ) == ModBlocks.volcanic_lava_block) - worldObj.setBlock(rX, rY, rZ, ModBlocks.volcanic_lava_block); + if(worldObj.getBlock(rX, rY, rZ) == Blocks.air && worldObj.getBlock(rX, rY - 1, rZ) == this.getLava()) + worldObj.setBlock(rX, rY, rZ, this.getLava()); } /** Creates a 3x3x3 lava sphere around the core. */ @@ -248,7 +253,7 @@ public class BlockVolcano extends BlockContainer implements ITooltipProvider, IB for(int k = -1; k <= 1; k++) { if(i != 0 || j != 0 || k != 0) { - worldObj.setBlock(xCoord + i, yCoord + j, zCoord + k, ModBlocks.volcanic_lava_block); + worldObj.setBlock(xCoord + i, yCoord + j, zCoord + k, this.getLava()); } } } @@ -264,7 +269,11 @@ public class BlockVolcano extends BlockContainer implements ITooltipProvider, IB frag.motionY = 1D + worldObj.rand.nextDouble(); frag.motionX = worldObj.rand.nextGaussian() * 0.2D; frag.motionZ = worldObj.rand.nextGaussian() * 0.2D; - frag.setVolcano(true); + if(this.isRadioacitve()) { + frag.setRadVolcano(true); + } else { + frag.setVolcano(true); + } worldObj.spawnEntityInWorld(frag); } } diff --git a/src/main/java/com/hbm/blocks/bomb/Landmine.java b/src/main/java/com/hbm/blocks/bomb/Landmine.java index 85ebdc82c..5f6b76062 100644 --- a/src/main/java/com/hbm/blocks/bomb/Landmine.java +++ b/src/main/java/com/hbm/blocks/bomb/Landmine.java @@ -26,8 +26,14 @@ public class Landmine extends BlockContainer implements IBomb { public static boolean safeMode = false; - public Landmine(Material p_i45386_1_) { - super(p_i45386_1_); + public double range; + public double height; + + public Landmine(Material mat, double range, double height) { + super(mat); + + this.range = range; + this.height = height; } @Override @@ -56,7 +62,7 @@ public class Landmine extends BlockContainer implements IBomb { } @Override - public void setBlockBoundsBasedOnState(IBlockAccess p_149719_1_, int p_149719_2_, int p_149719_3_, int p_149719_4_) { + public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { float f = 0.0625F; if(this == ModBlocks.mine_ap) this.setBlockBounds(6 * f, 0.0F, 6 * f, 10 * f, 2 * f, 10 * f); @@ -70,15 +76,7 @@ public class Landmine extends BlockContainer implements IBomb { @Override public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { - float f = 0.0625F; - if(this == ModBlocks.mine_ap) - this.setBlockBounds(6 * f, 0.0F, 6 * f, 10 * f, 2 * f, 10 * f); - if(this == ModBlocks.mine_he) - this.setBlockBounds(4 * f, 0.0F, 4 * f, 12 * f, 2 * f, 12 * f); - if(this == ModBlocks.mine_shrap) - this.setBlockBounds(4 * f, 0.0F, 4 * f, 12 * f, 2 * f, 12 * f); - if(this == ModBlocks.mine_fat) - this.setBlockBounds(5 * f, 0.0F, 4 * f, 11 * f, 6 * f, 12 * f); + setBlockBoundsBasedOnState(world, x, y, z); return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); } @@ -92,14 +90,7 @@ public class Landmine extends BlockContainer implements IBomb { explode(world, x, y, z); } - boolean flag = false; - if(!World.doesBlockHaveSolidTopSurface(world, x, y - 1, z) && !BlockFence.func_149825_a(world.getBlock(x, y - 1, z))) { - flag = true; - } - - if(flag) { - if(!safeMode) { explode(world, x, y, z); } else { @@ -157,18 +148,14 @@ public class Landmine extends BlockContainer implements IBomb { if(this == ModBlocks.mine_ap) { world.newExplosion(null, x + 0.5, y + 0.5, z + 0.5, 2.5F, false, false); - } - if(this == ModBlocks.mine_he) { + } else if(this == ModBlocks.mine_he) { ExplosionLarge.explode(world, x + 0.5, y + 0.5, z + 0.5, 3F, true, false, false); world.newExplosion(null, x + 0.5, y + 2, z + 0.5, 15F, false, false); - } - if(this == ModBlocks.mine_shrap) { + } else if(this == ModBlocks.mine_shrap) { ExplosionLarge.explode(world, x + 0.5, y + 0.5, z + 0.5, 1, true, false, false); ExplosionLarge.spawnShrapnelShower(world, x + 0.5, y + 0.5, z + 0.5, 0, 1D, 0, 45, 0.2D); ExplosionLarge.spawnShrapnels(world, x + 0.5, y + 0.5, z + 0.5, 5); - } - if(this == ModBlocks.mine_fat) { - + } else if(this == ModBlocks.mine_fat) { ExplosionNukeSmall.explode(world, x + 0.5, y + 0.5, z + 0.5, ExplosionNukeSmall.PARAMS_MEDIUM); } } diff --git a/src/main/java/com/hbm/blocks/bomb/LaunchPad.java b/src/main/java/com/hbm/blocks/bomb/LaunchPad.java index 78436a540..792432630 100644 --- a/src/main/java/com/hbm/blocks/bomb/LaunchPad.java +++ b/src/main/java/com/hbm/blocks/bomb/LaunchPad.java @@ -1,131 +1,97 @@ package com.hbm.blocks.bomb; -import java.util.Random; - -import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.BlockDummyable; import com.hbm.interfaces.IBomb; -import com.hbm.main.MainRegistry; +import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.bomb.TileEntityLaunchPad; -import cpw.mods.fml.common.network.internal.FMLNetworkHandler; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; -import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; -public class LaunchPad extends BlockContainer implements IBomb { +public class LaunchPad extends BlockDummyable implements IBomb { - public static boolean keepInventory = false; - private final static Random field_149933_a = new Random(); - - public LaunchPad(Material p_i45386_1_) { - super(p_i45386_1_); + public LaunchPad(Material mat) { + super(mat); + this.bounding.add(AxisAlignedBB.getBoundingBox(-1.5D, 0D, -1.5D, -0.5D, 1D, -0.5D)); + this.bounding.add(AxisAlignedBB.getBoundingBox(0.5D, 0D, -1.5D, 1.5D, 1D, -0.5D)); + this.bounding.add(AxisAlignedBB.getBoundingBox(-1.5D, 0D, 0.5D, -0.5D, 1D, 1.5D)); + this.bounding.add(AxisAlignedBB.getBoundingBox(0.5D, 0D, 0.5D, 1.5D, 1D, 1.5D)); + this.bounding.add(AxisAlignedBB.getBoundingBox(-0.5D, 0.5D, -1.5D, 0.5D, 1D, 1.5D)); + this.bounding.add(AxisAlignedBB.getBoundingBox(-1.5D, 0.5D, -0.5D, 1.5D, 1D, 0.5D)); } @Override - public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return new TileEntityLaunchPad(); + public TileEntity createNewTileEntity(World world, int meta) { + if(meta >= 12) return new TileEntityLaunchPad(); + if(meta >= 6) return new TileEntityProxyCombo().inventory().power().fluid(); + return null; } - - @Override - public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, int p_149749_6_) { - if(!keepInventory) { - TileEntityLaunchPad tileentityfurnace = (TileEntityLaunchPad) p_149749_1_.getTileEntity(p_149749_2_, p_149749_3_, p_149749_4_); - - if(tileentityfurnace != null) { - for(int i1 = 0; i1 < tileentityfurnace.getSizeInventory(); ++i1) { - ItemStack itemstack = tileentityfurnace.getStackInSlot(i1); - - if(itemstack != null) { - float f = LaunchPad.field_149933_a.nextFloat() * 0.8F + 0.1F; - float f1 = LaunchPad.field_149933_a.nextFloat() * 0.8F + 0.1F; - float f2 = LaunchPad.field_149933_a.nextFloat() * 0.8F + 0.1F; - - while(itemstack.stackSize > 0) { - int j1 = LaunchPad.field_149933_a.nextInt(21) + 10; - - if(j1 > itemstack.stackSize) { - j1 = itemstack.stackSize; - } - - itemstack.stackSize -= j1; - EntityItem entityitem = new EntityItem(p_149749_1_, p_149749_2_ + f, p_149749_3_ + f1, p_149749_4_ + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); - - if(itemstack.hasTagCompound()) { - entityitem.getEntityItem().setTagCompound((NBTTagCompound) itemstack.getTagCompound().copy()); - } - - float f3 = 0.05F; - entityitem.motionX = (float) LaunchPad.field_149933_a.nextGaussian() * f3; - entityitem.motionY = (float) LaunchPad.field_149933_a.nextGaussian() * f3 + 0.2F; - entityitem.motionZ = (float) LaunchPad.field_149933_a.nextGaussian() * f3; - p_149749_1_.spawnEntityInWorld(entityitem); - } - } - } - - p_149749_1_.func_147453_f(p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_); - } - } - - super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); - } - + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(world.isRemote) { - return true; - } else if(!player.isSneaking()) { - TileEntityLaunchPad entity = (TileEntityLaunchPad) world.getTileEntity(x, y, z); - if(entity != null) { - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z); - } - return true; - } else { - return false; - } + return this.standardOpenBehavior(world, x, y, z, player, 0); } @Override - public void onNeighborBlockChange(World p_149695_1_, int x, int y, int z, Block p_149695_5_) { - if(p_149695_1_.isBlockIndirectlyGettingPowered(x, y, z) && !p_149695_1_.isRemote) { - this.explode(p_149695_1_, x, y, z); - } + public int[] getDimensions() { + return new int[] {0, 0, 1, 1, 1, 1}; } @Override - public int getRenderType() { - return -1; - } - - @Override - public boolean isOpaqueCube() { - return false; - } - - @Override - public boolean renderAsNormalBlock() { - return false; - } - - @Override - @SideOnly(Side.CLIENT) - public Item getItem(World p_149694_1_, int p_149694_2_, int p_149694_3_, int p_149694_4_) { - return Item.getItemFromBlock(ModBlocks.launch_pad); + public int getOffset() { + return 1; } @Override public BombReturnCode explode(World world, int x, int y, int z) { - TileEntityLaunchPad entity = (TileEntityLaunchPad) world.getTileEntity(x, y, z); - return entity.launchFromDesignator(); + + if(!world.isRemote) { + + int[] corePos = findCore(world, x, y, z); + if(corePos != null){ + TileEntity core = world.getTileEntity(corePos[0], corePos[1], corePos[2]); + if(core instanceof TileEntityLaunchPad){ + TileEntityLaunchPad entity = (TileEntityLaunchPad)core; + return entity.launchFromDesignator(); + } + } + } + + return BombReturnCode.UNDEFINED; + } + + @Override + public void onNeighborBlockChange(World world, int x, int y, int z, Block blockIn){ + + if(!world.isRemote){ + + int[] corePos = findCore(world, x, y, z); + if(corePos != null){ + TileEntity core = world.getTileEntity(corePos[0], corePos[1], corePos[2]); + if(core instanceof TileEntityLaunchPad){ + TileEntityLaunchPad launchpad = (TileEntityLaunchPad)core; + launchpad.updateRedstonePower(x, y, z); + } + } + } + super.onNeighborBlockChange( world, x, y, z, blockIn); } + @Override + public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { + super.fillSpace(world, x, y, z, dir, o); + + x += dir.offsetX * o; + z += dir.offsetZ * o; + + this.makeExtra(world, x + 1, y, z + 1); + this.makeExtra(world, x + 1, y, z - 1); + this.makeExtra(world, x - 1, y, z + 1); + this.makeExtra(world, x - 1, y, z - 1); + } } diff --git a/src/main/java/com/hbm/blocks/bomb/LaunchPadLarge.java b/src/main/java/com/hbm/blocks/bomb/LaunchPadLarge.java new file mode 100644 index 000000000..14ccd1574 --- /dev/null +++ b/src/main/java/com/hbm/blocks/bomb/LaunchPadLarge.java @@ -0,0 +1,98 @@ +package com.hbm.blocks.bomb; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.interfaces.IBomb; +import com.hbm.tileentity.TileEntityProxyCombo; +import com.hbm.tileentity.bomb.TileEntityLaunchPadLarge; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class LaunchPadLarge extends BlockDummyable implements IBomb { + + public LaunchPadLarge(Material mat) { + super(mat); + this.bounding.add(AxisAlignedBB.getBoundingBox(-4.5D, 0D, -4.5D, 4.5D, 1D, -0.5D)); + this.bounding.add(AxisAlignedBB.getBoundingBox(-4.5D, 0D, 0.5D, 4.5D, 1D, 4.5D)); + this.bounding.add(AxisAlignedBB.getBoundingBox(-4.5D, 0.875D, -0.5D, 4.5D, 1D, 0.5D)); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + if(meta >= 12) return new TileEntityLaunchPadLarge(); + if(meta >= 6) return new TileEntityProxyCombo().inventory().power().fluid(); + return new TileEntityProxyCombo().inventory(); + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + return this.standardOpenBehavior(world, x, y, z, player, 0); + } + + @Override + public int[] getDimensions() { + return new int[] {0, 0, 4, 4, 4, 4}; + } + + @Override + public int getOffset() { + return 4; + } + + @Override + public BombReturnCode explode(World world, int x, int y, int z) { + + if(!world.isRemote) { + + int[] corePos = findCore(world, x, y, z); + if(corePos != null){ + TileEntity core = world.getTileEntity(corePos[0], corePos[1], corePos[2]); + if(core instanceof TileEntityLaunchPadLarge){ + TileEntityLaunchPadLarge entity = (TileEntityLaunchPadLarge)core; + return entity.launchFromDesignator(); + } + } + } + + return BombReturnCode.UNDEFINED; + } + + @Override + public void onNeighborBlockChange(World world, int x, int y, int z, Block blockIn){ + + if(!world.isRemote){ + + int[] corePos = findCore(world, x, y, z); + if(corePos != null){ + TileEntity core = world.getTileEntity(corePos[0], corePos[1], corePos[2]); + if(core instanceof TileEntityLaunchPadLarge){ + TileEntityLaunchPadLarge launchpad = (TileEntityLaunchPadLarge)core; + launchpad.updateRedstonePower(x, y, z); + } + } + } + super.onNeighborBlockChange( world, x, y, z, blockIn); + } + + @Override + public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { + super.fillSpace(world, x, y, z, dir, o); + + x += dir.offsetX * o; + z += dir.offsetZ * o; + + this.makeExtra(world, x + 4, y, z + 2); + this.makeExtra(world, x + 4, y, z - 2); + this.makeExtra(world, x - 4, y, z + 2); + this.makeExtra(world, x - 4, y, z - 2); + this.makeExtra(world, x + 2, y, z + 4); + this.makeExtra(world, x - 2, y, z + 4); + this.makeExtra(world, x + 2, y, z - 4); + this.makeExtra(world, x - 2, y, z - 4); + } +} diff --git a/src/main/java/com/hbm/blocks/bomb/LaunchPadRusted.java b/src/main/java/com/hbm/blocks/bomb/LaunchPadRusted.java new file mode 100644 index 000000000..d1bd751c2 --- /dev/null +++ b/src/main/java/com/hbm/blocks/bomb/LaunchPadRusted.java @@ -0,0 +1,89 @@ +package com.hbm.blocks.bomb; + +import java.util.Random; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.interfaces.IBomb; +import com.hbm.tileentity.bomb.TileEntityLaunchPadRusted; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; + +public class LaunchPadRusted extends BlockDummyable implements IBomb { + + public LaunchPadRusted(Material mat) { + super(mat); + this.bounding.add(AxisAlignedBB.getBoundingBox(-1.5D, 0D, -1.5D, -0.5D, 1D, -0.5D)); + this.bounding.add(AxisAlignedBB.getBoundingBox(0.5D, 0D, -1.5D, 1.5D, 1D, -0.5D)); + this.bounding.add(AxisAlignedBB.getBoundingBox(-1.5D, 0D, 0.5D, -0.5D, 1D, 1.5D)); + this.bounding.add(AxisAlignedBB.getBoundingBox(0.5D, 0D, 0.5D, 1.5D, 1D, 1.5D)); + this.bounding.add(AxisAlignedBB.getBoundingBox(-0.5D, 0.5D, -1.5D, 0.5D, 1D, 1.5D)); + this.bounding.add(AxisAlignedBB.getBoundingBox(-1.5D, 0.5D, -0.5D, 1.5D, 1D, 0.5D)); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + if(meta >= 12) return new TileEntityLaunchPadRusted(); + return null; + } + + @Override + public Item getItemDropped(int i, Random rand, int j) { + return null; + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + return this.standardOpenBehavior(world, x, y, z, player, 0); + } + + @Override + public int[] getDimensions() { + return new int[] {0, 0, 1, 1, 1, 1}; + } + + @Override + public int getOffset() { + return 1; + } + + @Override + public BombReturnCode explode(World world, int x, int y, int z) { + + if(!world.isRemote) { + + int[] corePos = findCore(world, x, y, z); + if(corePos != null){ + TileEntity core = world.getTileEntity(corePos[0], corePos[1], corePos[2]); + if(core instanceof TileEntityLaunchPadRusted){ + TileEntityLaunchPadRusted entity = (TileEntityLaunchPadRusted)core; + return entity.launch(); + } + } + } + + return BombReturnCode.UNDEFINED; + } + + @Override + public void onNeighborBlockChange(World world, int x, int y, int z, Block blockIn){ + + if(!world.isRemote){ + + int[] corePos = findCore(world, x, y, z); + if(corePos != null){ + TileEntity core = world.getTileEntity(corePos[0], corePos[1], corePos[2]); + if(core instanceof TileEntityLaunchPadRusted){ + TileEntityLaunchPadRusted launchpad = (TileEntityLaunchPadRusted)core; + launchpad.updateRedstonePower(x, y, z); + } + } + } + super.onNeighborBlockChange( world, x, y, z, blockIn); + } +} diff --git a/src/main/java/com/hbm/blocks/bomb/NukeN45.java b/src/main/java/com/hbm/blocks/bomb/NukeN45.java deleted file mode 100644 index df47fae70..000000000 --- a/src/main/java/com/hbm/blocks/bomb/NukeN45.java +++ /dev/null @@ -1,137 +0,0 @@ -package com.hbm.blocks.bomb; - -import java.util.Random; - -import com.hbm.blocks.ModBlocks; -import com.hbm.interfaces.IBomb; -import com.hbm.main.MainRegistry; -import com.hbm.tileentity.bomb.TileEntityNukeN45; - -import cpw.mods.fml.common.network.internal.FMLNetworkHandler; -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.ISidedInventory; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; - -public class NukeN45 extends BlockContainer implements IBomb { - - private final Random field_149933_a = new Random(); - private static boolean keepInventory = false; - - public NukeN45(Material p_i45386_1_) { - super(p_i45386_1_); - } - - @Override - public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return new TileEntityNukeN45(); - } - - @Override - public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, int p_149749_6_) { - if(!keepInventory) { - ISidedInventory tileentityfurnace = (ISidedInventory) p_149749_1_.getTileEntity(p_149749_2_, p_149749_3_, p_149749_4_); - - if(tileentityfurnace != null) { - for(int i1 = 0; i1 < tileentityfurnace.getSizeInventory(); ++i1) { - ItemStack itemstack = tileentityfurnace.getStackInSlot(i1); - - if(itemstack != null) { - float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; - float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; - float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; - - while(itemstack.stackSize > 0) { - int j1 = this.field_149933_a.nextInt(21) + 10; - - if(j1 > itemstack.stackSize) { - j1 = itemstack.stackSize; - } - - itemstack.stackSize -= j1; - EntityItem entityitem = new EntityItem(p_149749_1_, p_149749_2_ + f, p_149749_3_ + f1, p_149749_4_ + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); - - if(itemstack.hasTagCompound()) { - entityitem.getEntityItem().setTagCompound((NBTTagCompound) itemstack.getTagCompound().copy()); - } - - float f3 = 0.05F; - entityitem.motionX = (float) this.field_149933_a.nextGaussian() * f3; - entityitem.motionY = (float) this.field_149933_a.nextGaussian() * f3 + 0.2F; - entityitem.motionZ = (float) this.field_149933_a.nextGaussian() * f3; - p_149749_1_.spawnEntityInWorld(entityitem); - } - } - } - - p_149749_1_.func_147453_f(p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_); - } - } - - super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(world.isRemote) { - return true; - } else if(!player.isSneaking()) { - TileEntityNukeN45 entity = (TileEntityNukeN45) world.getTileEntity(x, y, z); - if(entity != null) { - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z); - } - return true; - } else { - return false; - } - } - - @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { - return Item.getItemFromBlock(ModBlocks.nuke_n45); - } - - @Override - public int getRenderType() { - return -1; - } - - @Override - public boolean isOpaqueCube() { - return false; - } - - @Override - public boolean renderAsNormalBlock() { - return false; - } - - @Override - public BombReturnCode explode(World world, int x, int y, int z) { - - if(!world.isRemote) { - TileEntityNukeN45 entity = (TileEntityNukeN45) world.getTileEntity(x, y, z); - - if(entity.getType() == 100) { - entity.primed = true; - return BombReturnCode.TRIGGERED; - } else if(!entity.primed && entity.getType() > 0) { - int t = entity.getType(); - entity.clearSlots(); - entity.explode(world, x, y, z, t); - return BombReturnCode.DETONATED; - } - - return BombReturnCode.ERROR_MISSING_COMPONENT; - } - - return BombReturnCode.UNDEFINED; - } -} diff --git a/src/main/java/com/hbm/blocks/fluid/RadBlock.java b/src/main/java/com/hbm/blocks/fluid/RadBlock.java new file mode 100644 index 000000000..7ab22af70 --- /dev/null +++ b/src/main/java/com/hbm/blocks/fluid/RadBlock.java @@ -0,0 +1,81 @@ +package com.hbm.blocks.fluid; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.lib.RefStrings; +import com.hbm.util.ContaminationUtil; +import com.hbm.util.ContaminationUtil.ContaminationType; +import com.hbm.util.ContaminationUtil.HazardType; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.init.Blocks; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; +import net.minecraftforge.fluids.Fluid; + +public class RadBlock extends VolcanicBlock { + + @SideOnly(Side.CLIENT) public static IIcon stillIconRad; + @SideOnly(Side.CLIENT) public static IIcon flowingIconRad; + + public RadBlock(Fluid fluid, Material material) { + super(fluid, material); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister register) { + stillIconRad = register.registerIcon(RefStrings.MODID + ":rad_lava_still"); + flowingIconRad = register.registerIcon(RefStrings.MODID + ":rad_lava_flowing"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + return (side == 0 || side == 1) ? stillIconRad : flowingIconRad; + } + + @Override + public void onEntityCollidedWithBlock(World world, int x, int y, int z, Entity entity) { + if(entity instanceof EntityLivingBase) ContaminationUtil.contaminate((EntityLivingBase) entity, HazardType.RADIATION, ContaminationType.CREATIVE, 5F); + } + + @Override + public void onSolidify(World world, int x, int y, int z, int lavaCount, int basaltCount, Random rand) { + int r = rand.nextInt(400); + + Block above = world.getBlock(x, y + 10, z); + boolean canMakeGem = lavaCount + basaltCount == 6 && lavaCount < 3 && (above == ModBlocks.sellafield_slaked || above == ModBlocks.rad_lava_block); + int meta = 5 + rand.nextInt(3); + + if(r < 2) world.setBlock(x, y, z, ModBlocks.ore_sellafield_diamond, meta, 3); + else if(r == 2) world.setBlock(x, y, z, ModBlocks.ore_sellafield_emerald, meta, 3); + else if(r < 20 && canMakeGem) world.setBlock(x, y, z, ModBlocks.ore_sellafield_radgem, meta, 3); + else world.setBlock(x, y, z, ModBlocks.sellafield_slaked, meta, 3); + } + + @Override + public Block getBasaltForCheck() { + return ModBlocks.sellafield_slaked; + } + + @Override + public Block getReaction(World world, int x, int y, int z) { + + Block b = world.getBlock(x, y, z); + if(b.getMaterial() == Material.water) return Blocks.stone; + if(b == Blocks.log || b == Blocks.log2) return ModBlocks.waste_log; + if(b == Blocks.planks) return ModBlocks.waste_planks; + if(b == Blocks.leaves || b == Blocks.leaves2) return Blocks.fire; + if(b == Blocks.diamond_ore) return ModBlocks.ore_sellafield_radgem; + if(b == ModBlocks.ore_uranium || b == ModBlocks.ore_gneiss_uranium) return world.rand.nextInt(5) == 0 ? ModBlocks.ore_sellafield_schrabidium : ModBlocks.ore_sellafield_uranium_scorched; + return null; + } +} diff --git a/src/main/java/com/hbm/blocks/fluid/RadFluid.java b/src/main/java/com/hbm/blocks/fluid/RadFluid.java new file mode 100644 index 000000000..77de22cab --- /dev/null +++ b/src/main/java/com/hbm/blocks/fluid/RadFluid.java @@ -0,0 +1,31 @@ +package com.hbm.blocks.fluid; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.util.IIcon; +import net.minecraftforge.fluids.Fluid; + +public class RadFluid extends Fluid { + + public RadFluid() { + super("rad_lava_fluid"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon() { + return getStillIcon(); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getStillIcon() { + return RadBlock.stillIconRad; + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getFlowingIcon() { + return RadBlock.flowingIconRad; + } +} diff --git a/src/main/java/com/hbm/blocks/fluid/VolcanicBlock.java b/src/main/java/com/hbm/blocks/fluid/VolcanicBlock.java index d81ec02ad..d82d67808 100644 --- a/src/main/java/com/hbm/blocks/fluid/VolcanicBlock.java +++ b/src/main/java/com/hbm/blocks/fluid/VolcanicBlock.java @@ -51,26 +51,18 @@ public class VolcanicBlock extends BlockFluidClassic { for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { Block b = getReaction(world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ); - if(b != null) - world.setBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, b); + if(b != null) world.setBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, b, b == ModBlocks.ore_basalt ? 3 : 0, 3); } } public Block getReaction(World world, int x, int y, int z) { Block b = world.getBlock(x, y, z); - if(b.getMaterial() == Material.water) { - return Blocks.stone; - } - if(b == Blocks.log || b == Blocks.log2) { - return ModBlocks.waste_log; - } - if(b == Blocks.planks) { - return ModBlocks.waste_planks; - } - if(b == Blocks.leaves || b == Blocks.leaves2) { - return Blocks.fire; - } + if(b.getMaterial() == Material.water) return Blocks.stone; + if(b == Blocks.log || b == Blocks.log2) return ModBlocks.waste_log; + if(b == Blocks.planks) return ModBlocks.waste_planks; + if(b == Blocks.leaves || b == Blocks.leaves2) return Blocks.fire; + if(b == Blocks.diamond_ore) return ModBlocks.ore_basalt; return null; } @@ -87,30 +79,33 @@ public class VolcanicBlock extends BlockFluidClassic { if(b == this) lavaCount++; - if(b == ModBlocks.basalt) { + if(b == getBasaltForCheck()) { basaltCount++; } } if(!world.isRemote && ((!this.isSourceBlock(world, x, y, z) && lavaCount < 2) || (rand.nextInt(5) == 0) && lavaCount < 5) && world.getBlock(x, y - 1, z) != this) { - - int r = rand.nextInt(200); - - Block above = world.getBlock(x, y + 10, z); - boolean canMakeGem = lavaCount + basaltCount == 6 && lavaCount < 3 && (above == ModBlocks.basalt || above == ModBlocks.volcanic_lava_block); - - if(r < 2) - world.setBlock(x, y, z, ModBlocks.basalt_sulfur); - else if(r == 2) - world.setBlock(x, y, z, ModBlocks.basalt_asbestos); - else if(r == 3) - world.setBlock(x, y, z, ModBlocks.basalt_fluorite); - else if(r < 14 && canMakeGem) - world.setBlock(x, y, z, ModBlocks.basalt_gem); - else - world.setBlock(x, y, z, ModBlocks.basalt); + this.onSolidify(world, x, y, z, lavaCount, basaltCount, rand); } } + + public Block getBasaltForCheck() { + return ModBlocks.basalt; + } + + public void onSolidify(World world, int x, int y, int z, int lavaCount, int basaltCount, Random rand) { + int r = rand.nextInt(200); + + Block above = world.getBlock(x, y + 10, z); + boolean canMakeGem = lavaCount + basaltCount == 6 && lavaCount < 3 && (above == ModBlocks.basalt || above == ModBlocks.volcanic_lava_block); + + if(r < 2) world.setBlock(x, y, z, ModBlocks.ore_basalt, 0, 3); + else if(r == 2) world.setBlock(x, y, z, ModBlocks.ore_basalt, 1, 3); + else if(r == 3) world.setBlock(x, y, z, ModBlocks.ore_basalt, 2, 3); + else if(r == 4) world.setBlock(x, y, z, ModBlocks.ore_basalt, 4, 3); + else if(r < 15 && canMakeGem) world.setBlock(x, y, z, ModBlocks.ore_basalt, 3, 3); + else world.setBlock(x, y, z, ModBlocks.basalt); + } @Override public boolean canDisplace(IBlockAccess world, int x, int y, int z) { diff --git a/src/main/java/com/hbm/blocks/gas/BlockGasClorine.java b/src/main/java/com/hbm/blocks/gas/BlockGasClorine.java index 19033a933..f35be20f5 100644 --- a/src/main/java/com/hbm/blocks/gas/BlockGasClorine.java +++ b/src/main/java/com/hbm/blocks/gas/BlockGasClorine.java @@ -40,7 +40,7 @@ public class BlockGasClorine extends BlockGasBase { EntityLivingBase entityLiving = (EntityLivingBase) entity; - if(ArmorRegistry.hasAllProtection(entityLiving, 3, HazardClass.GAS_CHLORINE)) { + if(ArmorRegistry.hasAllProtection(entityLiving, 3, HazardClass.GAS_LUNG)) { ArmorUtil.damageGasMaskFilter(entityLiving, 1); } else { diff --git a/src/main/java/com/hbm/blocks/generic/BlockAmmoCrate.java b/src/main/java/com/hbm/blocks/generic/BlockAmmoCrate.java index f7612ee69..a2925f119 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockAmmoCrate.java +++ b/src/main/java/com/hbm/blocks/generic/BlockAmmoCrate.java @@ -12,6 +12,7 @@ import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; import net.minecraft.world.World; @@ -38,11 +39,31 @@ public class BlockAmmoCrate extends Block { public IIcon getIcon(int side, int metadata) { return side == 0 ? this.iconBottom : (side == 1 ? this.iconTop : this.blockIcon); } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int p_149727_6_, float p_149727_7_, float p_149727_8_, float p_149727_9_) { + if(player.getHeldItem() != null && player.getHeldItem().getItem().equals(ModItems.crowbar)) { + if(!world.isRemote) { + dropContents(world, x, y, z); + world.setBlockToAir(x, y, z); + world.playSoundEffect(x, y, z, "hbm:block.crateBreak", 0.5F, 1.0F); + } + return true; + } + return false; + } Random rand = new Random(); - @Override - public ArrayList getDrops(World world, int x, int y, int z, int metadata, int fortune) { + public void dropContents(World world, int x, int y, int z) { + ArrayList items = getContents(world, x, y, z); + + for(ItemStack item : items) { + this.dropBlockAsItem(world, x, y, z, item); + } + } + + public ArrayList getContents(World world, int x, int y, int z) { ArrayList ret = new ArrayList(); diff --git a/src/main/java/com/hbm/blocks/generic/BlockBedrockOreTE.java b/src/main/java/com/hbm/blocks/generic/BlockBedrockOreTE.java index 040c22cba..04341d2a2 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockBedrockOreTE.java +++ b/src/main/java/com/hbm/blocks/generic/BlockBedrockOreTE.java @@ -6,20 +6,26 @@ import java.util.Random; import com.hbm.blocks.IBlockMultiPass; import com.hbm.blocks.ILookOverlay; +import com.hbm.inventory.FluidContainerRegistry; import com.hbm.inventory.FluidStack; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemDrillbit.EnumDrillType; import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; import com.hbm.render.block.RenderBlockMultipass; +import com.hbm.util.EnumUtil; import com.hbm.util.I18nUtil; +import api.hbm.fluid.IFillableItem; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -57,6 +63,45 @@ public class BlockBedrockOreTE extends BlockContainer implements ILookOverlay, I super.onBlockPlacedBy(world, x, y, z, entity, stack); world.markBlockForUpdate(x, y, z); } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int i, float fx, float fy, float fz) { + + ItemStack stack = player.getHeldItem(); + if(stack == null) return false; + if(!player.capabilities.isCreativeMode) return false; + if(world.isRemote) return true; + + TileEntity te = world.getTileEntity(x, y, z); + + if(te instanceof TileEntityBedrockOre) { + TileEntityBedrockOre ore = (TileEntityBedrockOre) te; + + if(stack.getItem() == ModItems.drillbit) { + EnumDrillType type = EnumUtil.grabEnumSafely(EnumDrillType.class, stack.getItemDamage()); + ore.tier = type.tier; + } else if(FluidContainerRegistry.getFluidType(stack) != Fluids.NONE) { + FluidType type = FluidContainerRegistry.getFluidType(stack); + int amount = FluidContainerRegistry.getFluidContent(stack, type); + ore.acidRequirement = new FluidStack(type, amount); + } else if(stack.getItem() instanceof IFillableItem) { + IFillableItem item = (IFillableItem) stack.getItem(); + FluidType type = item.getFirstFluidType(stack); + if(type != null) { + ore.acidRequirement = new FluidStack(type, item.getFill(stack)); + } + } else { + ore.resource = stack.copy(); + ore.shape = world.rand.nextInt(10); + } + + ore.markDirty(); + } + + world.markBlockForUpdate(x, y, z); + + return true; + } @Override public int getRenderType(){ @@ -219,6 +264,12 @@ public class BlockBedrockOreTE extends BlockContainer implements ILookOverlay, I @Override public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) { this.readFromNBT(pkt.func_148857_g()); + + if(color == 0) { + this.color = MainRegistry.proxy.getStackColor(resource, true); + } + + worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); } } } diff --git a/src/main/java/com/hbm/blocks/generic/BlockBobble.java b/src/main/java/com/hbm/blocks/generic/BlockBobble.java index afd48197b..334ef97bf 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockBobble.java +++ b/src/main/java/com/hbm/blocks/generic/BlockBobble.java @@ -191,8 +191,9 @@ public class BlockBobble extends BlockContainer implements IGUIProvider { NOS( "Dr Nostalgia", "Dr Nostalgia", "SSG and Vortex models", "Take a picture, I'ma pose, paparazzi$I've been drinking, moving like a zombie", true, ScrapType.BOARD_TRANSISTOR), DRILLGON( "Drillgon200", "Drillgon200", "1.12 Port", null, false, ScrapType.CPU_LOGIC), CIRNO( "Cirno", "Cirno", "the only multi layered skin i had", "No brain. Head empty.", true, ScrapType.BOARD_BLANK), - MICROWAVE( "Microwave", "Microwave", "OC Compatibility", "they call me the food heater", true, ScrapType.BRIDGE_BIOS), - PEEP( "Peep", "LePeeperSauvage", "Coilgun, Leadburster and Congo Lake models, BDCL QC", "Fluffy ears can't hide in ash, nor snow.", true, ScrapType.CPU_CLOCK); + MICROWAVE( "Microwave", "Microwave", "OC Compatibility", "they call me the food heater", true, ScrapType.BOARD_CONVERTER), + PEEP( "Peep", "LePeeperSauvage", "Coilgun, Leadburster and Congo Lake models, BDCL QC", "Fluffy ears can't hide in ash, nor snow.", true, ScrapType.CARD_BOARD), + MELLOW( "MELLOWARPEGGIATION", "Mellow", "Industrial lighting, animation tools", "Make something cool now, ask for permission later.", true, ScrapType.CARD_PROCESSOR); public String name; //the title of the tooltip public String label; //the name engraved in the socket diff --git a/src/main/java/com/hbm/blocks/generic/BlockCableConnect.java b/src/main/java/com/hbm/blocks/generic/BlockCableConnect.java index c4215befa..c7999fda1 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockCableConnect.java +++ b/src/main/java/com/hbm/blocks/generic/BlockCableConnect.java @@ -2,7 +2,7 @@ package com.hbm.blocks.generic; import com.hbm.blocks.BlockBase; -import api.hbm.energy.IEnergyConnectorBlock; +import api.hbm.energymk2.IEnergyConnectorBlock; import net.minecraft.block.material.Material; import net.minecraft.world.IBlockAccess; import net.minecraftforge.common.util.ForgeDirection; diff --git a/src/main/java/com/hbm/blocks/generic/BlockCanCrate.java b/src/main/java/com/hbm/blocks/generic/BlockCanCrate.java index f9b27c5a8..67e8c5e9b 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockCanCrate.java +++ b/src/main/java/com/hbm/blocks/generic/BlockCanCrate.java @@ -11,9 +11,7 @@ import cpw.mods.fml.client.registry.RenderingRegistry; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.util.ChatComponentText; import net.minecraft.world.World; public class BlockCanCrate extends Block { @@ -21,79 +19,77 @@ public class BlockCanCrate extends Block { public BlockCanCrate(Material p_i45394_1_) { super(p_i45394_1_); } - - public static int renderID = RenderingRegistry.getNextAvailableRenderId(); - + + public static int renderID = RenderingRegistry.getNextAvailableRenderId(); + @Override - public int getRenderType(){ + public int getRenderType() { return renderID; } - + @Override public boolean isOpaqueCube() { return false; } - + @Override public boolean renderAsNormalBlock() { return false; } - @Override + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int p_149727_6_, float p_149727_7_, float p_149727_8_, float p_149727_9_) { - - if(world.isRemote) - { - player.addChatMessage(new ChatComponentText("The one crate you are allowed to smash!")); + if(player.getHeldItem() != null && player.getHeldItem().getItem().equals(ModItems.crowbar)) { + if(!world.isRemote) { + dropContents(world, x, y, z); + world.setBlockToAir(x, y, z); + world.playSoundEffect(x, y, z, "hbm:block.crateBreak", 0.5F, 1.0F); + } + return true; } - - return true; - } - - public ArrayList getDrops(World world, int x, int y, int z, int metadata, int fortune) { - ArrayList ret = new ArrayList(); - - int count = quantityDropped(metadata, fortune, world.rand); - for(int i = 0; i < count; i++) { - Item item = getItemDropped(metadata, world.rand, fortune); - if(item != null) - ret.add(new ItemStack(item, 1, damageDropped(metadata, world.rand, item))); - } - - return ret; - } - - //pain - public int damageDropped(int meta, Random rand, Item item) { - if(item != ModItems.canned_conserve) - return damageDropped(meta); - else - return Math.abs(rand.nextInt() % EnumFoodType.values().length); - } - - @Override - public Item getItemDropped(int i, Random rand, int j) { - - List items = new ArrayList(); - for(int a = 0; a < EnumFoodType.values().length; a++) - items.add(ModItems.canned_conserve); - items.add(ModItems.can_smart); - items.add(ModItems.can_creature); - items.add(ModItems.can_redbomb); - items.add(ModItems.can_mrsugar); - items.add(ModItems.can_overcharge); - items.add(ModItems.can_luna); - items.add(ModItems.can_breen); - items.add(ModItems.can_bepis); - items.add(ModItems.pudding); - - return items.get(rand.nextInt(items.size())); - } - - @Override - public int quantityDropped(Random rand) { - - return 5 + rand.nextInt(4); - } + return false; + } + Random rand = new Random(); + + public void dropContents(World world, int x, int y, int z) { + ArrayList items = getContents(world, x, y, z); + + for(ItemStack item : items) { + this.dropBlockAsItem(world, x, y, z, item); + } + } + + public ArrayList getContents(World world, int x, int y, int z) { + ArrayList ret = new ArrayList(); + + int count = getContentAmount(world.rand); + for(int i = 0; i < count; i++) { + ret.add(getRandomItem(world.rand)); + } + + return ret; + } + + public ItemStack getRandomItem(Random rand) { + + List items = new ArrayList(); + for(int a = 0; a < EnumFoodType.values().length; a++) + items.add(new ItemStack(ModItems.canned_conserve, 1, a)); + items.add(new ItemStack(ModItems.can_smart)); + items.add(new ItemStack(ModItems.can_creature)); + items.add(new ItemStack(ModItems.can_redbomb)); + items.add(new ItemStack(ModItems.can_mrsugar)); + items.add(new ItemStack(ModItems.can_overcharge)); + items.add(new ItemStack(ModItems.can_luna)); + items.add(new ItemStack(ModItems.can_breen)); + items.add(new ItemStack(ModItems.can_bepis)); + items.add(new ItemStack(ModItems.pudding)); + + return items.get(rand.nextInt(items.size())); + } + + public int getContentAmount(Random rand) { + return 5 + rand.nextInt(4); + } } diff --git a/src/main/java/com/hbm/blocks/generic/BlockCap.java b/src/main/java/com/hbm/blocks/generic/BlockCap.java index 798255f0a..21dd3c74c 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockCap.java +++ b/src/main/java/com/hbm/blocks/generic/BlockCap.java @@ -1,45 +1,69 @@ package com.hbm.blocks.generic; +import java.util.Locale; import java.util.Random; -import com.hbm.blocks.ModBlocks; -import com.hbm.blocks.machine.BlockPillar; +import com.hbm.blocks.BlockEnumMulti; import com.hbm.items.ModItems; +import com.hbm.util.EnumUtil; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.Item; +import net.minecraft.util.IIcon; -public class BlockCap extends BlockPillar { +public class BlockCap extends BlockEnumMulti { + + protected IIcon[] iconsTop; - public BlockCap(Material mat, String tex) { - super(mat, tex); + public BlockCap() { + super(Material.iron, EnumCapBlock.class, true, true); } @Override - public Item getItemDropped(int i, Random rand, int j) { - - if(this == ModBlocks.block_cap_nuka) - return ModItems.cap_nuka; - if(this == ModBlocks.block_cap_quantum) - return ModItems.cap_quantum; - if(this == ModBlocks.block_cap_sparkle) - return ModItems.cap_sparkle; - if(this == ModBlocks.block_cap_rad) - return ModItems.cap_rad; - if(this == ModBlocks.block_cap_korl) - return ModItems.cap_korl; - if(this == ModBlocks.block_cap_fritz) - return ModItems.cap_fritz; - if(this == ModBlocks.block_cap_sunset) - return ModItems.cap_sunset; - if(this == ModBlocks.block_cap_star) - return ModItems.cap_star; + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister reg) { + Enum[] enums = theEnum.getEnumConstants(); + this.icons = new IIcon[enums.length]; + this.iconsTop = new IIcon[enums.length]; + + for(int i = 0; i < icons.length; i++) { + Enum num = enums[i]; + this.icons[i] = reg.registerIcon(this.getTextureMultiName(num)); + this.iconsTop[i] = reg.registerIcon(this.getTextureMultiName(num) + "_top"); + } + } + + @Override public String getTextureMultiName(Enum num) { return this.getTextureName() + "_" + num.name().toLowerCase(Locale.US); } + @Override public String getUnlocalizedMultiName(Enum num) { return super.getUnlocalizedName() + "_" + num.name().toLowerCase(Locale.US); } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + return side == 0 || side == 1 ? this.iconsTop[meta % this.iconsTop.length] : this.icons[meta % this.icons.length]; + } + + @Override + public Item getItemDropped(int meta, Random rand, int j) { + + EnumCapBlock cap = EnumUtil.grabEnumSafely(EnumCapBlock.class, meta); + + if(cap == EnumCapBlock.NUKA) return ModItems.cap_nuka; + if(cap == EnumCapBlock.QUANTUM) return ModItems.cap_quantum; + if(cap == EnumCapBlock.SPARKLE) return ModItems.cap_sparkle; + if(cap == EnumCapBlock.RAD) return ModItems.cap_rad; + if(cap == EnumCapBlock.KORL) return ModItems.cap_korl; + if(cap == EnumCapBlock.FRITZ) return ModItems.cap_fritz; + return null; - } - - @Override - public int quantityDropped(Random rand) { - return 128; - } + } + + @Override public int quantityDropped(Random rand) { return 128; } + + public static enum EnumCapBlock { + NUKA, QUANTUM, SPARKLE, RAD, KORL, FRITZ + } } diff --git a/src/main/java/com/hbm/blocks/generic/BlockCluster.java b/src/main/java/com/hbm/blocks/generic/BlockCluster.java index da64a6849..03ed4027e 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockCluster.java +++ b/src/main/java/com/hbm/blocks/generic/BlockCluster.java @@ -62,7 +62,6 @@ public class BlockCluster extends Block implements IDrillInteraction, ITooltipPr if(this == ModBlocks.cluster_titanium) return ModItems.crystal_titanium; if(this == ModBlocks.cluster_aluminium) return ModItems.crystal_aluminium; if(this == ModBlocks.cluster_copper) return ModItems.crystal_copper; - if(this == ModBlocks.basalt_gem) return ModItems.gem_volcanic; return null; } diff --git a/src/main/java/com/hbm/blocks/generic/BlockCrate.java b/src/main/java/com/hbm/blocks/generic/BlockCrate.java index 7921a0e71..2fa11286c 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockCrate.java +++ b/src/main/java/com/hbm/blocks/generic/BlockCrate.java @@ -14,7 +14,6 @@ import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.util.ChatComponentText; import net.minecraft.world.World; public class BlockCrate extends BlockFalling { @@ -29,25 +28,17 @@ public class BlockCrate extends BlockFalling { super(p_i45394_1_); } - @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { - return null; - } - @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int p_149727_6_, float p_149727_7_, float p_149727_8_, float p_149727_9_) { if(player.getHeldItem() != null && player.getHeldItem().getItem().equals(ModItems.crowbar)) { - dropItems(world, x, y, z); - world.setBlockToAir(x, y, z); - world.playSoundEffect(x, y, z, "hbm:block.crateBreak", 0.5F, 1.0F); - return true; - } else { - if(world.isRemote) { - player.addChatMessage(new ChatComponentText("I'll need a crate opening device to get the loot, smashing the whole thing won't work...")); + if(!world.isRemote) { + dropItems(world, x, y, z); + world.setBlockToAir(x, y, z); + world.playSoundEffect(x, y, z, "hbm:block.crateBreak", 0.5F, 1.0F); } + return true; } - - return true; + return false; } public void setDrops() { @@ -133,9 +124,8 @@ public class BlockCrate extends BlockFalling { BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_difurnace_off), 9); BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_reactor_breeding), 6); BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_nuke_furnace_off), 7); - BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_coal_off), 10); + BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_wood_burner), 10); BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_diesel), 8); - BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_selenium), 7); BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_rtg_grey), 4); BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.red_pylon), 9); BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_battery), 8); @@ -143,7 +133,6 @@ public class BlockCrate extends BlockFalling { BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_electric_furnace_off), 8); BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_assembler), 10); BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_fluidtank), 7); - BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_drill), 4); BlockCrate.addToListWithWeight(metalList, ModItems.centrifuge_element, 6); BlockCrate.addToListWithWeight(metalList, ModItems.motor, 8); BlockCrate.addToListWithWeight(metalList, ModItems.coil_tungsten, 7); @@ -151,7 +140,6 @@ public class BlockCrate extends BlockFalling { BlockCrate.addToListWithWeight(metalList, ModItems.coil_copper, 10); BlockCrate.addToListWithWeight(metalList, ModItems.tank_steel, 9); BlockCrate.addToListWithWeight(metalList, ModItems.blade_titanium, 3); - BlockCrate.addToListWithWeight(metalList, ModItems.bolt_compound, 2); BlockCrate.addToListWithWeight(metalList, ModItems.piston_selenium, 6); // Red Crate diff --git a/src/main/java/com/hbm/blocks/generic/BlockDecoCRT.java b/src/main/java/com/hbm/blocks/generic/BlockDecoCRT.java new file mode 100644 index 000000000..724912ed3 --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockDecoCRT.java @@ -0,0 +1,76 @@ +package com.hbm.blocks.generic; + +import com.hbm.blocks.BlockMulti; +import com.hbm.lib.RefStrings; + +import cpw.mods.fml.client.registry.RenderingRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class BlockDecoCRT extends BlockMulti { + + protected String[] variants = new String[] {"crt_clean", "crt_broken", "crt_blinking", "crt_bsod"}; + @SideOnly(Side.CLIENT) protected IIcon[] icons; + + public BlockDecoCRT(Material mat) { + super(mat); + } + + public static int renderID = RenderingRegistry.getNextAvailableRenderId(); + + @Override + public int getRenderType(){ + return renderID; + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister reg) { + super.registerBlockIcons(reg); + this.icons = new IIcon[variants.length]; + + for(int i = 0; i < variants.length; i++) { + this.icons[i] = reg.registerIcon(RefStrings.MODID + ":" + variants[i]); + } + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + return this.icons[damageDropped(meta)]; + } + + @Override + public int damageDropped(int meta) { + return (Math.abs(meta) % 16) / 4; + } + + @Override + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack) { + int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; + int meta = stack.getItemDamage(); + world.setBlockMetadataWithNotify(x, y, z, meta * 4 + i, 2); + } + + @Override + public int getSubCount() { + return 4; + } +} diff --git a/src/main/java/com/hbm/blocks/generic/BlockDecoContainer.java b/src/main/java/com/hbm/blocks/generic/BlockDecoContainer.java index d98221129..ac7a1cdb5 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockDecoContainer.java +++ b/src/main/java/com/hbm/blocks/generic/BlockDecoContainer.java @@ -58,9 +58,9 @@ public class BlockDecoContainer extends BlockDecoModel implements ITileEntityPro } else { TileEntity entity = world.getTileEntity(x, y, z); if(entity instanceof TileEntityLockableBase) { //annoying accommodations for the filing cabinet, but whatever, could potentially be useful - if(player.getHeldItem() != null && (player.getHeldItem().getItem() instanceof ItemLock || player.getHeldItem().getItem() == ModItems.key_kit)) + if(player.getHeldItem() != null && (player.getHeldItem().getItem() instanceof ItemLock || player.getHeldItem().getItem() == ModItems.key_kit)) { return false; - else if(!player.isSneaking() && ((TileEntityLockableBase) entity).canAccess(player)) { + } else if(!player.isSneaking() && ((TileEntityLockableBase) entity).canAccess(player)) { FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z); return true; } @@ -99,13 +99,13 @@ public class BlockDecoContainer extends BlockDecoModel implements ITileEntityPro if(itemstack.hasTagCompound()) { entityitem.getEntityItem().setTagCompound((NBTTagCompound) itemstack.getTagCompound().copy()); - - float f3 = 0.05F; - entityitem.motionX = (float) rand.nextGaussian() * f3; - entityitem.motionY = (float) rand.nextGaussian() * f3 + 0.2F; - entityitem.motionZ = (float) rand.nextGaussian() * f3; - world.spawnEntityInWorld(entityitem); } + + float f3 = 0.05F; + entityitem.motionX = (float) rand.nextGaussian() * f3; + entityitem.motionY = (float) rand.nextGaussian() * f3 + 0.2F; + entityitem.motionZ = (float) rand.nextGaussian() * f3; + world.spawnEntityInWorld(entityitem); } } diff --git a/src/main/java/com/hbm/blocks/generic/BlockDecoToaster.java b/src/main/java/com/hbm/blocks/generic/BlockDecoToaster.java new file mode 100644 index 000000000..a11061fa0 --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockDecoToaster.java @@ -0,0 +1,93 @@ +package com.hbm.blocks.generic; + +import com.hbm.blocks.BlockMulti; +import com.hbm.lib.RefStrings; + +import cpw.mods.fml.client.registry.RenderingRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.ItemStack; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +public class BlockDecoToaster extends BlockMulti { + + protected String[] variants = new String[] {"toaster_iron", "toaster_steel", "toaster_wood"}; + @SideOnly(Side.CLIENT) protected IIcon[] icons; + + public BlockDecoToaster(Material mat) { + super(mat); + } + + public static int renderID = RenderingRegistry.getNextAvailableRenderId(); + + @Override + public int getRenderType(){ + return renderID; + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister reg) { + super.registerBlockIcons(reg); + this.icons = new IIcon[variants.length]; + + for(int i = 0; i < variants.length; i++) { + this.icons[i] = reg.registerIcon(RefStrings.MODID + ":" + variants[i]); + } + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + return this.icons[damageDropped(meta)]; + } + + @Override + public int damageDropped(int meta) { + return (Math.abs(meta) % 12) / 4; + } + + @Override + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack) { + int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; + int meta = stack.getItemDamage(); + world.setBlockMetadataWithNotify(x, y, z, meta * 4 + i, 2); + } + + @Override + public int getSubCount() { + return 3; + } + + @Override + public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { + int meta = world.getBlockMetadata(x, y, z); + if(meta % 2 == 0) + this.setBlockBounds(0.25F, 0.0F, 0.375F, 0.75F, 0.325F, 0.625F); + else + this.setBlockBounds(0.375F, 0.0F, 0.25F, 0.625F, 0.325F, 0.75F); + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + this.setBlockBoundsBasedOnState(world, x, y, z); + return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); + } +} diff --git a/src/main/java/com/hbm/blocks/generic/BlockDeepCobble.java b/src/main/java/com/hbm/blocks/generic/BlockDeepCobble.java deleted file mode 100644 index 34c894bbb..000000000 --- a/src/main/java/com/hbm/blocks/generic/BlockDeepCobble.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.hbm.blocks.generic; - -import java.util.Random; - -import com.hbm.blocks.BlockEnumMulti; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.world.World; - -public class BlockDeepCobble extends BlockEnumMulti { - - public static enum EnumDeepCobbleTypes { - NORMAL, - BURNING, - STEAMING - } - - public BlockDeepCobble() { - super(Material.rock, EnumDeepCobbleTypes.class, true, true); - } - - @Override - @SideOnly(Side.CLIENT) - public void randomDisplayTick(World world, int x, int y, int z, Random rand) { - super.randomDisplayTick(world, x, y, z, rand); - - int meta = world.getBlockMetadata(x, y, z); - Block b = world.getBlock(x, y + 1, z); - - if(!b.isNormalCube()) { - if(meta == EnumDeepCobbleTypes.BURNING.ordinal()) { - world.spawnParticle("flame", x + rand.nextDouble(), y + 1.0625, z + rand.nextDouble(), 0.0, 0.0, 0.0); - } - - if(meta == EnumDeepCobbleTypes.STEAMING.ordinal()) { - world.spawnParticle("cloud", x + 0.25 + rand.nextDouble() * 0.5, y + 1.0625, z + 0.25 + rand.nextDouble() * 0.5, 0.0, 0.05, 0.0); - } - } - } -} \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/generic/BlockDoorGeneric.java b/src/main/java/com/hbm/blocks/generic/BlockDoorGeneric.java index ea3780a27..0e496af45 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockDoorGeneric.java +++ b/src/main/java/com/hbm/blocks/generic/BlockDoorGeneric.java @@ -3,6 +3,7 @@ package com.hbm.blocks.generic; import java.util.List; import com.hbm.blocks.BlockDummyable; +import com.hbm.interfaces.IBomb; import com.hbm.items.special.ItemDoorSkin; import com.hbm.tileentity.DoorDecl; import com.hbm.tileentity.TileEntityDoorGeneric; @@ -20,7 +21,7 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class BlockDoorGeneric extends BlockDummyable { +public class BlockDoorGeneric extends BlockDummyable implements IBomb { public DoorDecl type; @@ -43,7 +44,23 @@ public class BlockDoorGeneric extends BlockDummyable { @Override public int getOffset(){ - return 0; + return type.getBlockOffset(); + } + + @Override + public BombReturnCode explode(World world, int x, int y, int z) { + int[] pos1 = findCore(world, x, y, z); + if(pos1 == null) return BombReturnCode.ERROR_INCOMPATIBLE; + TileEntityDoorGeneric door = (TileEntityDoorGeneric) world.getTileEntity(pos1[0], pos1[1], pos1[2]); + if(door != null) { + DoorDecl decl = door.getDoorType(); + if(!decl.remoteControllable()) return BombReturnCode.ERROR_INCOMPATIBLE; + if(door.tryToggle(null)) { + return BombReturnCode.TRIGGERED; + } + } + + return BombReturnCode.ERROR_INCOMPATIBLE; } @Override @@ -80,8 +97,8 @@ public class BlockDoorGeneric extends BlockDummyable { Math.min(box.minX, box.maxX), Math.min(box.minY, box.maxY), Math.min(box.minZ, box.maxZ), Math.max(box.minX, box.maxX), Math.max(box.minY, box.maxY), Math.max(box.minZ, box.maxZ)); - if(box.minY == y && box.maxY == y) - return; + if(box.minY == y && box.maxY == y) return; + if(box.minX == box.maxX && box.minY == box.maxY && box.minZ == box.maxZ) return; if(box != null && box.intersectsWith(entityBox)) { collidingBoxes.add(box); @@ -92,6 +109,18 @@ public class BlockDoorGeneric extends BlockDummyable { //super.addCollisionBoxesToList(worldIn, x, y, z, entityBox, collidingBoxes, entityIn); } + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + AxisAlignedBB aabb = this.getBoundingBox(world, x, y, z); + if(aabb.minX == aabb.maxX && aabb.minY == aabb.maxY && aabb.minZ == aabb.maxZ) return null; + return aabb; + } + + @Override //should fix AI pathfinding + public boolean getBlocksMovement(IBlockAccess world, int x, int y, int z) { //btw the method name is the exact opposite of that it's doing, check net.minecraft.pathfinding.PathNavigate#512 + return hasExtra(world.getBlockMetadata(x, y, z)); //if it's open + } + @Override public void onNeighborBlockChange(World world, int x, int y, int z, Block blockIn){ @@ -136,5 +165,4 @@ public class BlockDoorGeneric extends BlockDummyable { } return AxisAlignedBB.getBoundingBox(x, y, z, x + 1, y + 1, z + 1); } - } \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/generic/BlockFallout.java b/src/main/java/com/hbm/blocks/generic/BlockFallout.java index 0ef093594..175b1dd40 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockFallout.java +++ b/src/main/java/com/hbm/blocks/generic/BlockFallout.java @@ -41,13 +41,19 @@ public class BlockFallout extends Block { public boolean canPlaceBlockAt(World world, int x, int y, int z) { Block block = world.getBlock(x, y - 1, z); - return block != Blocks.ice && block != Blocks.packed_ice ? (block.isLeaves(world, x, y - 1, z) ? true : (block == this && (world.getBlockMetadata(x, y - 1, z) & 7) == 7 ? true : block.isOpaqueCube() && block.getMaterial().blocksMovement())) : false; + + if (block == Blocks.ice || block == Blocks.packed_ice) return false; + if (block.isLeaves(world, x, y - 1, z) && !block.isAir(world, x, y - 1, z)) return true; + if (block == this && (world.getBlockMetadata(x, y - 1, z) & 7) == 7) return true; + + return block.isOpaqueCube() && block.getMaterial().blocksMovement(); } @Override public void onEntityWalking(World world, int x, int y, int z, Entity entity) { if(!world.isRemote && entity instanceof EntityLivingBase) { + if(entity instanceof EntityPlayer && ((EntityPlayer)entity).capabilities.isCreativeMode) return; PotionEffect effect = new PotionEffect(HbmPotion.radiation.id, 10 * 60 * 20, 0); effect.setCurativeItems(new ArrayList()); ((EntityLivingBase) entity).addPotionEffect(effect); diff --git a/src/main/java/com/hbm/blocks/generic/BlockFissure.java b/src/main/java/com/hbm/blocks/generic/BlockFissure.java index 003bd8e23..dac40abf0 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockFissure.java +++ b/src/main/java/com/hbm/blocks/generic/BlockFissure.java @@ -1,6 +1,9 @@ package com.hbm.blocks.generic; +import java.util.Random; + import com.hbm.blocks.IBlockMultiPass; +import com.hbm.blocks.ModBlocks; import com.hbm.lib.RefStrings; import com.hbm.render.block.RenderBlockMultipass; @@ -11,6 +14,7 @@ import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.init.Blocks; import net.minecraft.util.IIcon; +import net.minecraft.world.World; public class BlockFissure extends Block implements IBlockMultiPass { @@ -21,6 +25,7 @@ public class BlockFissure extends Block implements IBlockMultiPass { this.setBlockTextureName("bedrock"); this.setBlockUnbreakable(); this.setResistance(1_000_000); + this.setTickRandomly(true); } @Override @@ -41,6 +46,16 @@ public class BlockFissure extends Block implements IBlockMultiPass { return this.overlay; } + @Override + public void updateTick(World world, int x, int y, int z, Random rand) { + if(world.getBlock(x, y + 1, z).isReplaceable(world, x, y + 1, z)) world.setBlock(x, y + 1, z, ModBlocks.volcanic_lava_block); + } + + @Override + public boolean shouldRenderItemMulti() { + return true; + } + @Override public int getPasses() { return 2; diff --git a/src/main/java/com/hbm/blocks/generic/BlockGlyphid.java b/src/main/java/com/hbm/blocks/generic/BlockGlyphid.java index 267624e28..e94c67f14 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockGlyphid.java +++ b/src/main/java/com/hbm/blocks/generic/BlockGlyphid.java @@ -1,21 +1,36 @@ package com.hbm.blocks.generic; +import java.util.List; +import java.util.Random; + +import com.hbm.blocks.IBlockMulti; import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; -public class BlockGlyphid extends Block { - - public IIcon[] icons = new IIcon[2]; +public class BlockGlyphid extends Block implements IBlockMulti { + + public IIcon[] iconsStandard = new IIcon[2]; + public IIcon[] iconsInfested = new IIcon[2]; public BlockGlyphid(Material mat) { super(mat); + this.setCreativeTab(MainRegistry.blockTab); + } + + @Override + public Item getItemDropped(int meta, Random rand, int fortune) { + return null; } @Override @@ -24,20 +39,39 @@ public class BlockGlyphid extends Block { long l = (long) (x * 3129871) ^ (long)y * 116129781L ^ (long)z; l = l * l * 42317861L + l * 11L; int i = (int)(l >> 16 & 3L); - return icons[(int)(Math.abs(i) % this.icons.length)]; + IIcon[] icons = this.getIconArray(world.getBlockMetadata(x, y, z)); + return icons[(int)(Math.abs(i) % icons.length)]; } @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int meta) { - return icons[meta % this.icons.length]; + IIcon[] icons = this.getIconArray(meta); + return icons[meta % icons.length]; } @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister reg) { - icons[0] = reg.registerIcon(RefStrings.MODID + ":glyphid_base"); - icons[1] = reg.registerIcon(RefStrings.MODID + ":glyphid_base_alt"); + iconsStandard[0] = reg.registerIcon(RefStrings.MODID + ":glyphid_base"); + iconsStandard[1] = reg.registerIcon(RefStrings.MODID + ":glyphid_base_alt"); + iconsInfested[0] = reg.registerIcon(RefStrings.MODID + ":glyphid_base_infested"); + iconsInfested[1] = reg.registerIcon(RefStrings.MODID + ":glyphid_base_infested_alt"); } + protected IIcon[] getIconArray(int meta) { + if(meta == 1) return this.iconsInfested; + return this.iconsStandard; + } + + @Override + public int getSubCount() { + return 2; + } + + @Override + @SideOnly(Side.CLIENT) + public void getSubBlocks(Item item, CreativeTabs tab, List list) { + for(int i = 0; i < getSubCount(); ++i) list.add(new ItemStack(item, 1, i)); + } } diff --git a/src/main/java/com/hbm/blocks/generic/BlockGlyphidSpawner.java b/src/main/java/com/hbm/blocks/generic/BlockGlyphidSpawner.java index f02a8efba..1bd37155a 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockGlyphidSpawner.java +++ b/src/main/java/com/hbm/blocks/generic/BlockGlyphidSpawner.java @@ -1,33 +1,48 @@ package com.hbm.blocks.generic; -import java.util.List; -import java.util.Random; +import java.util.*; +import java.util.function.Function; +import com.hbm.blocks.IBlockMulti; import com.hbm.config.MobConfig; -import com.hbm.entity.mob.EntityGlyphid; -import com.hbm.entity.mob.EntityGlyphidBehemoth; -import com.hbm.entity.mob.EntityGlyphidBlaster; -import com.hbm.entity.mob.EntityGlyphidBombardier; -import com.hbm.entity.mob.EntityGlyphidBrawler; -import com.hbm.entity.mob.EntityGlyphidBrenda; -import com.hbm.entity.mob.EntityGlyphidNuclear; -import com.hbm.entity.mob.EntityGlyphidScout; +import com.hbm.entity.mob.glyphid.EntityGlyphid; +import com.hbm.entity.mob.glyphid.EntityGlyphidBehemoth; +import com.hbm.entity.mob.glyphid.EntityGlyphidBlaster; +import com.hbm.entity.mob.glyphid.EntityGlyphidBombardier; +import com.hbm.entity.mob.glyphid.EntityGlyphidBrawler; +import com.hbm.entity.mob.glyphid.EntityGlyphidBrenda; +import com.hbm.entity.mob.glyphid.EntityGlyphidDigger; +import com.hbm.entity.mob.glyphid.EntityGlyphidNuclear; +import com.hbm.entity.mob.glyphid.EntityGlyphidScout; import com.hbm.handler.pollution.PollutionHandler; import com.hbm.handler.pollution.PollutionHandler.PollutionType; import com.hbm.items.ModItems; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; +import com.hbm.util.Tuple.Pair; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.IIcon; import net.minecraft.world.EnumDifficulty; import net.minecraft.world.World; -public class BlockGlyphidSpawner extends BlockContainer { +public class BlockGlyphidSpawner extends BlockContainer implements IBlockMulti { + + public IIcon[] icons = new IIcon[2]; - public BlockGlyphidSpawner(Material p_i45386_1_) { - super(p_i45386_1_); + public BlockGlyphidSpawner(Material mat) { + super(mat); + this.setCreativeTab(MainRegistry.blockTab); } @Override @@ -35,6 +50,44 @@ public class BlockGlyphidSpawner extends BlockContainer { return ModItems.egg_glyphid; } + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + return icons[meta % icons.length]; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister reg) { + icons[0] = reg.registerIcon(RefStrings.MODID + ":glyphid_eggs_alt"); + icons[1] = reg.registerIcon(RefStrings.MODID + ":glyphid_eggs_infested"); + } + + @Override + public int getSubCount() { + return 2; + } + + @Override + @SideOnly(Side.CLIENT) + public void getSubBlocks(Item item, CreativeTabs tab, List list) { + for(int i = 0; i < getSubCount(); ++i) list.add(new ItemStack(item, 1, i)); + } + + private static final ArrayList, int[]>> spawnMap = new ArrayList<>(); + + static { + // big thanks to martin for the suggestion of using functions + spawnMap.add(new Pair<>(EntityGlyphid::new, MobConfig.glyphidChance)); + spawnMap.add(new Pair<>(EntityGlyphidBombardier::new, MobConfig.bombardierChance)); + spawnMap.add(new Pair<>(EntityGlyphidBrawler::new, MobConfig.brawlerChance)); + spawnMap.add(new Pair<>(EntityGlyphidDigger::new, MobConfig.diggerChance)); + spawnMap.add(new Pair<>(EntityGlyphidBlaster::new, MobConfig.blasterChance)); + spawnMap.add(new Pair<>(EntityGlyphidBehemoth::new, MobConfig.behemothChance)); + spawnMap.add(new Pair<>(EntityGlyphidBrenda::new, MobConfig.brendaChance)); + spawnMap.add(new Pair<>(EntityGlyphidNuclear::new, MobConfig.johnsonChance)); + } + @Override public int quantityDropped(int meta, int fortune, Random rand) { return 1 + rand.nextInt(3) + fortune; @@ -46,47 +99,94 @@ public class BlockGlyphidSpawner extends BlockContainer { } public static class TileEntityGlpyhidSpawner extends TileEntity { - + + boolean initialSpawn = true; + @Override public void updateEntity() { - - if(!worldObj.isRemote && worldObj.getTotalWorldTime() % 60 == 0 && this.worldObj.difficultySetting != EnumDifficulty.PEACEFUL) { - - int count = 0; - - for(Object e : worldObj.loadedEntityList) { - if(e instanceof EntityGlyphid) { - count++; - if(count >= MobConfig.spawnMax) return; - } - } - float soot = PollutionHandler.getPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT); - List list = worldObj.getEntitiesWithinAABB(EntityGlyphid.class, AxisAlignedBB.getBoundingBox(xCoord - 6, yCoord + 1, zCoord - 6, xCoord + 7, yCoord + 9, zCoord + 7)); - - if(list.size() < 3) { - EntityGlyphid glyphid = createGlyphid(soot); - glyphid.setLocationAndAngles(xCoord + 0.5, yCoord + 1, zCoord + 0.5, worldObj.rand.nextFloat() * 360.0F, 0.0F); - this.worldObj.spawnEntityInWorld(glyphid); - } - - if(worldObj.rand.nextInt(20) == 0 && soot >= MobConfig.scoutThreshold) { - EntityGlyphidScout scout = new EntityGlyphidScout(worldObj); - scout.setLocationAndAngles(xCoord + 0.5, yCoord + 1, zCoord + 0.5, worldObj.rand.nextFloat() * 360.0F, 0.0F); - this.worldObj.spawnEntityInWorld(scout); + if(!worldObj.isRemote && this.worldObj.difficultySetting != EnumDifficulty.PEACEFUL) { + + if(initialSpawn || worldObj.getTotalWorldTime() % MobConfig.swarmCooldown == 0) { + + initialSpawn = false; + int count = 0; + + for(Object e : worldObj.loadedEntityList) { + if(e instanceof EntityGlyphid) { + count++; + if(count >= MobConfig.spawnMax) return; + } + } + + List list = worldObj.getEntitiesWithinAABB(EntityGlyphid.class, AxisAlignedBB.getBoundingBox(xCoord - 5, yCoord + 1, zCoord - 5, xCoord + 6, yCoord + 7, zCoord + 6)); + float soot = PollutionHandler.getPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT); + + if(list.size() <= 3) { + + ArrayList currentSwarm = createSwarm(soot, this.getBlockMetadata()); + + for(EntityGlyphid glyphid : currentSwarm) { + trySpawnEntity(glyphid); + } + + if(!initialSpawn && worldObj.rand.nextInt(MobConfig.scoutSwarmSpawnChance + 1) == 0 && soot >= MobConfig.scoutThreshold) { + EntityGlyphidScout scout = new EntityGlyphidScout(worldObj); + if(this.getBlockMetadata() == 1) scout.getDataWatcher().updateObject(EntityGlyphid.DW_SUBTYPE, (byte) EntityGlyphid.TYPE_INFECTED); + trySpawnEntity(scout); + } + } } } } - public EntityGlyphid createGlyphid(float soot) { - Random rand = new Random(); - - if(soot < MobConfig.tier2Threshold) return rand.nextInt(5) == 0 ? new EntityGlyphidBombardier(worldObj) : new EntityGlyphid(worldObj); - if(soot < MobConfig.tier3Threshold) return rand.nextInt(5) == 0 ? new EntityGlyphidBombardier(worldObj) : new EntityGlyphidBrawler(worldObj); - if(soot < MobConfig.tier4Threshold) return rand.nextInt(5) == 0 ? new EntityGlyphidBlaster(worldObj) : new EntityGlyphidBehemoth(worldObj); - if(soot < MobConfig.tier5Threshold) return rand.nextInt(5) == 0 ? new EntityGlyphidBlaster(worldObj) : new EntityGlyphidBrenda(worldObj); + public void trySpawnEntity(EntityGlyphid glyphid) { + double offsetX = glyphid.getRNG().nextGaussian() * 3; + double offsetZ = glyphid.getRNG().nextGaussian() * 3; - return rand.nextInt(3) == 0 ? new EntityGlyphidBlaster(worldObj) : new EntityGlyphidNuclear(worldObj); + for(int i = 0; i < 7; i++) { + glyphid.setLocationAndAngles(xCoord + 0.5 + offsetX, yCoord - 2 + i, zCoord + 0.5 + offsetZ, worldObj.rand.nextFloat() * 360.0F, 0.0F); + if(glyphid.getCanSpawnHere()) { + worldObj.spawnEntityInWorld(glyphid); + return; + } + } + } + + public ArrayList createSwarm(float soot, int meta) { + + Random rand = new Random(); + ArrayList currentSpawns = new ArrayList<>(); + int swarmAmount = (int) Math.min(MobConfig.baseSwarmSize * Math.max(MobConfig.swarmScalingMult * (soot / MobConfig.sootStep), 1), 10); + int cap = 100; + + while(currentSpawns.size() <= swarmAmount && cap >= 0) { + // (dys)functional programing + for(Pair, int[]> glyphid : spawnMap) { + int[] chance = glyphid.getValue(); + int adjustedChance = (int) (chance[0] + (chance[1] - chance[1] / Math.max(((soot + 1) / 3), 1))); + if(soot >= chance[2] && rand.nextInt(100) <= adjustedChance) { + EntityGlyphid entity = glyphid.getKey().apply(worldObj); + if(meta == 1) entity.getDataWatcher().updateObject(EntityGlyphid.DW_SUBTYPE, (byte) EntityGlyphid.TYPE_INFECTED); + currentSpawns.add(entity); + } + } + + cap--; + } + return currentSpawns; + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setBoolean("initialSpawn", initialSpawn); + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + this.initialSpawn = nbt.getBoolean("initialSpawn"); } } } diff --git a/src/main/java/com/hbm/blocks/generic/BlockKeyhole.java b/src/main/java/com/hbm/blocks/generic/BlockKeyhole.java new file mode 100644 index 000000000..d3b5a1bd7 --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockKeyhole.java @@ -0,0 +1,219 @@ +package com.hbm.blocks.generic; + +import java.util.List; + +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.generic.BlockLoot.TileEntityLoot; +import com.hbm.blocks.generic.BlockPedestal.TileEntityPedestal; +import com.hbm.itempool.ItemPool; +import com.hbm.itempool.ItemPoolsRedRoom; +import com.hbm.items.ModItems; +import com.hbm.items.tool.ItemModDoor; +import com.hbm.main.MainRegistry; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.BlockStone; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.IIcon; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.WeightedRandom; +import net.minecraft.util.WeightedRandomChestContent; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class BlockKeyhole extends BlockStone { + + protected IIcon iconTop; + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + super.registerBlockIcons(iconRegister); + this.iconTop = iconRegister.registerIcon("stone"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + return side == 0 || side == 1 ? this.iconTop : this.blockIcon; + } + + @Override + public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z, EntityPlayer player) { + return new ItemStack(Blocks.stone); + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + + if(player.getHeldItem() != null) { + boolean cracked = player.getHeldItem().getItem() == ModItems.key_red_cracked; + if((player.getHeldItem().getItem() == ModItems.key_red || cracked) && side != 0 && side != 1) { + if(cracked) player.getHeldItem().stackSize--; + if(world.isRemote) return true; + ForgeDirection dir = ForgeDirection.getOrientation(side); + generateRoom(world, x - dir.offsetX * 4, y - 2, z - dir.offsetZ * 4); + int b = 0; + if(side == 2) b = 1; + if(side == 5) b = 2; + if(side == 3) b = 3; + if(side == 4) b = 0; + ItemModDoor.placeDoorBlock(world, x, y - 1, z, b, ModBlocks.door_red); + world.playSoundAtEntity(player, "hbm:block.lockOpen", 1.0F, 1.0F); + player.triggerAchievement(MainRegistry.achRedRoom); + return true; + } + } + + return false; + } + + protected static void generateRoom(World world, int x, int y, int z) { + + int size = 9; + int height = 5; + int width = size / 2; + + //Outer Edges, top and bottom + for(int i = -width; i <= width; i++) { + world.setBlock(x + i, y, z + width, ModBlocks.brick_red, 6, 3); + world.setBlock(x + i, y, z - width, ModBlocks.brick_red, 6, 3); + world.setBlock(x + width, y, z + i, ModBlocks.brick_red, 6, 3); + world.setBlock(x - width, y, z + i, ModBlocks.brick_red, 6, 3); + world.setBlock(x + i, y + height - 1, z + width, ModBlocks.brick_red, 6, 3); + world.setBlock(x + i, y + height - 1, z - width, ModBlocks.brick_red, 6, 3); + world.setBlock(x + width, y + height - 1, z + i, ModBlocks.brick_red, 6, 3); + world.setBlock(x - width, y + height - 1, z + i, ModBlocks.brick_red, 6, 3); + } + + for(int i = 1; i <= height - 2; i++) { + //Outer edges, sides + world.setBlock(x + width, y + i, z + width, ModBlocks.brick_red, 6, 3); + world.setBlock(x + width, y + i, z - width, ModBlocks.brick_red, 6, 3); + world.setBlock(x - width, y + i, z + width, ModBlocks.brick_red, 6, 3); + world.setBlock(x - width, y + i, z - width, ModBlocks.brick_red, 6, 3); + + //Walls + for(int j = -width + 1; j <= width - 1; j++) { + world.setBlock(x + width, y + i, z + j, ModBlocks.brick_red, 4, 3); + world.setBlock(x - width, y + i, z + j, ModBlocks.brick_red, 5, 3); + world.setBlock(x + j, y + i, z + width, ModBlocks.brick_red, 2, 3); + world.setBlock(x + j, y + i, z - width, ModBlocks.brick_red, 3, 3); + } + } + + for(int i = -width + 1; i <= width - 1; i++) { + for(int j = -width + 1; j <= width - 1; j++) { + //Floor and ceiling + world.setBlock(x + i, y, z + j, ModBlocks.brick_red, 1, 3); + world.setBlock(x + i, y + height - 1, z + j, ModBlocks.brick_red, 0, 3); + + for(int k = 1; k <= height - 2; k++) { + world.setBlock(x + i, y + k, z + j, Blocks.air); + } + } + } + + //Torches + int torchDist = width - 1; + int torchOff = torchDist - 1; + world.setBlock(x + torchDist, y + 2, z + torchOff, Blocks.torch); + world.setBlock(x + torchDist, y + 2, z - torchOff, Blocks.torch); + world.setBlock(x - torchDist, y + 2, z + torchOff, Blocks.torch); + world.setBlock(x - torchDist, y + 2, z - torchOff, Blocks.torch); + world.setBlock(x + torchOff, y + 2, z + torchDist, Blocks.torch); + world.setBlock(x - torchOff, y + 2, z + torchDist, Blocks.torch); + world.setBlock(x + torchOff, y + 2, z - torchDist, Blocks.torch); + world.setBlock(x - torchOff, y + 2, z - torchDist, Blocks.torch); + + //Cobwebs + if(world.rand.nextInt(4) == 0) { + for(int i = -width + 1; i <= width - 1; i++) { + for(int j = -width + 1; j <= width - 1; j++) { + if(world.rand.nextBoolean()) world.setBlock(x + i, y + height - 2, z + j, Blocks.web); + } + } + } + + //Pillars + if(world.rand.nextInt(4) == 0) { + for(int i = 1; i <= height - 2; i++) { + world.setBlock(x + width - 2, y + i, z + width - 2, ModBlocks.concrete_colored, 14, 3); + world.setBlock(x + width - 2, y + i, z - width + 2, ModBlocks.concrete_colored, 14, 3); + world.setBlock(x - width + 2, y + i, z + width - 2, ModBlocks.concrete_colored, 14, 3); + world.setBlock(x - width + 2, y + i, z - width + 2, ModBlocks.concrete_colored, 14, 3); + } + } + + //Fire + if(world.rand.nextInt(4) == 0) { + world.setBlock(x + width - 1, y, z + width - 1, Blocks.netherrack); + world.setBlock(x + width - 1, y, z - width + 1, Blocks.netherrack); + world.setBlock(x - width + 1, y, z + width - 1, Blocks.netherrack); + world.setBlock(x - width + 1, y, z - width + 1, Blocks.netherrack); + world.setBlock(x + width - 1, y + 1, z + width - 1, Blocks.fire); + world.setBlock(x + width - 1, y + 1, z - width + 1, Blocks.fire); + world.setBlock(x - width + 1, y + 1, z + width - 1, Blocks.fire); + world.setBlock(x - width + 1, y + 1, z - width + 1, Blocks.fire); + } + + //Circle + if(world.rand.nextInt(4) == 0) { + for(int i = -1; i <= 1; i++) { + for(int j = -1; j <= 1; j++) { + if(i != 0 || j != 0) world.setBlock(x + i, y, z + j, ModBlocks.concrete_colored, 14, 3); + } + } + } + + //Lava + if(world.rand.nextInt(4) == 0) { + world.setBlock(x + width - 2, y, z + width - 1, Blocks.lava); + world.setBlock(x + width - 3, y, z + width - 1, Blocks.lava); + world.setBlock(x - width + 2, y, z + width - 1, Blocks.lava); + world.setBlock(x - width + 3, y, z + width - 1, Blocks.lava); + world.setBlock(x + width - 2, y, z - width + 1, Blocks.lava); + world.setBlock(x + width - 3, y, z - width + 1, Blocks.lava); + world.setBlock(x - width + 2, y, z - width + 1, Blocks.lava); + world.setBlock(x - width + 3, y, z - width + 1, Blocks.lava); + world.setBlock(x + width - 1, y, z + width - 2, Blocks.lava); + world.setBlock(x + width - 1, y, z + width - 3, Blocks.lava); + world.setBlock(x + width - 1, y, z - width + 2, Blocks.lava); + world.setBlock(x + width - 1, y, z - width + 3, Blocks.lava); + world.setBlock(x - width + 1, y, z + width - 2, Blocks.lava); + world.setBlock(x - width + 1, y, z + width - 3, Blocks.lava); + world.setBlock(x - width + 1, y, z - width + 2, Blocks.lava); + world.setBlock(x - width + 1, y, z - width + 3, Blocks.lava); + } + + int rand = world.rand.nextInt(20); + + if(rand == 0) { + world.setBlock(x, y + 1, z, ModBlocks.deco_loot); + TileEntityLoot loot = (TileEntityLoot) world.getTileEntity(x, y + 1, z); + loot.addItem(new ItemStack(ModItems.trenchmaster_helmet), 0, 0, 0); + loot.addItem(new ItemStack(ModItems.trenchmaster_plate), 0, 0, 0); + loot.addItem(new ItemStack(ModItems.trenchmaster_legs), 0, 0, 0); + loot.addItem(new ItemStack(ModItems.trenchmaster_boots), 0, 0, 0); + } else { + spawnPedestalItem(world, x, y + 1, z); + } + + //Clear dropped items + List items = world.getEntitiesWithinAABB(EntityItem.class, AxisAlignedBB.getBoundingBox(x + 0.5, y, z + 0.5, x + 0.5, y + height, z + 0.5).expand(size / 2D, 0, size / 2D)); + for(EntityItem item : items) item.setDead(); + } + + public static void spawnPedestalItem(World world, int x, int y, int z) { + world.setBlock(x, y, z, ModBlocks.pedestal); + TileEntityPedestal pedestal = (TileEntityPedestal) world.getTileEntity(x, y, z); + WeightedRandomChestContent content = (WeightedRandomChestContent) WeightedRandom.getRandomItem(world.rand, ItemPool.getPool(ItemPoolsRedRoom.POOL_RED_PEDESTAL)); + pedestal.item = content.theItemId.copy(); + } +} diff --git a/src/main/java/com/hbm/blocks/generic/BlockLayering.java b/src/main/java/com/hbm/blocks/generic/BlockLayering.java index d4f516436..4a131cdc6 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockLayering.java +++ b/src/main/java/com/hbm/blocks/generic/BlockLayering.java @@ -101,6 +101,8 @@ public class BlockLayering extends Block { public boolean isReplaceable(IBlockAccess world, int x, int y, int z) { if(this == ModBlocks.leaves_layer) return true; + if(this == ModBlocks.oil_spill) return true; + if(this == ModBlocks.foam_layer) return true; int meta = world.getBlockMetadata(x, y, z); return meta >= 7 ? false : blockMaterial.isReplaceable(); } diff --git a/src/main/java/com/hbm/blocks/generic/BlockLoot.java b/src/main/java/com/hbm/blocks/generic/BlockLoot.java index db0a966f7..6ce450275 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockLoot.java +++ b/src/main/java/com/hbm/blocks/generic/BlockLoot.java @@ -48,19 +48,6 @@ public class BlockLoot extends BlockContainer { return null; } - @Override - public void onBlockAdded(World world, int x, int y, int z) { - super.onBlockAdded(world, x, y, z); - - /*TileEntityLoot loot = (TileEntityLoot) world.getTileEntity(x, y, z); - - if(loot != null && loot.items.isEmpty()) { - loot.addItem(new ItemStack(ModItems.gun_lever_action), 0, 0, 0); - }*/ - - //LootGenerator.lootCapStash(world, x, y, z); - } - @Override public void breakBlock(World world, int x, int y, int z, Block block, int meta) { diff --git a/src/main/java/com/hbm/blocks/generic/BlockMarker.java b/src/main/java/com/hbm/blocks/generic/BlockMarker.java deleted file mode 100644 index 25e70dd8c..000000000 --- a/src/main/java/com/hbm/blocks/generic/BlockMarker.java +++ /dev/null @@ -1,159 +0,0 @@ -package com.hbm.blocks.generic; - -import java.util.Random; - -import com.hbm.tileentity.machine.TileEntityStructureMarker; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; - -public class BlockMarker extends BlockContainer { - - public BlockMarker(Material p_i45386_1_) { - super(p_i45386_1_); - } - - @Override - public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return new TileEntityStructureMarker(); - } - - @Override - public AxisAlignedBB getCollisionBoundingBoxFromPool(World p_149668_1_, int p_149668_2_, int p_149668_3_, int p_149668_4_) { - return null; - } - - @Override - public boolean isOpaqueCube() { - return false; - } - - @Override - public boolean renderAsNormalBlock() { - return false; - } - - @Override - public int getRenderType() { - return 2; - } - - private boolean func_150107_m(World p_150107_1_, int p_150107_2_, int p_150107_3_, int p_150107_4_) { - if(World.doesBlockHaveSolidTopSurface(p_150107_1_, p_150107_2_, p_150107_3_, p_150107_4_)) { - return true; - } else { - Block block = p_150107_1_.getBlock(p_150107_2_, p_150107_3_, p_150107_4_); - return block.canPlaceTorchOnTop(p_150107_1_, p_150107_2_, p_150107_3_, p_150107_4_); - } - } - - @Override - public boolean canPlaceBlockAt(World p_149742_1_, int p_149742_2_, int p_149742_3_, int p_149742_4_) { - return func_150107_m(p_149742_1_, p_149742_2_, p_149742_3_ - 1, p_149742_4_); - } - - @Override - public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { - int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; - - if(i == 0) { - world.setBlockMetadataWithNotify(x, y, z, 6, 2); - } - if(i == 1) { - world.setBlockMetadataWithNotify(x, y, z, 7, 2); - } - if(i == 2) { - world.setBlockMetadataWithNotify(x, y, z, 8, 2); - } - if(i == 3) { - world.setBlockMetadataWithNotify(x, y, z, 9, 2); - } - } - - @Override - public void updateTick(World p_149674_1_, int p_149674_2_, int p_149674_3_, int p_149674_4_, Random p_149674_5_) { - super.updateTick(p_149674_1_, p_149674_2_, p_149674_3_, p_149674_4_, p_149674_5_); - - if(p_149674_1_.getBlockMetadata(p_149674_2_, p_149674_3_, p_149674_4_) == 0) { - this.onBlockAdded(p_149674_1_, p_149674_2_, p_149674_3_, p_149674_4_); - } - } - - @Override - public void onNeighborBlockChange(World p_149695_1_, int p_149695_2_, int p_149695_3_, int p_149695_4_, Block p_149695_5_) { - this.func_150108_b(p_149695_1_, p_149695_2_, p_149695_3_, p_149695_4_, p_149695_5_); - } - - protected boolean func_150108_b(World p_150108_1_, int p_150108_2_, int p_150108_3_, int p_150108_4_, Block p_150108_5_) { - if(this.func_150109_e(p_150108_1_, p_150108_2_, p_150108_3_, p_150108_4_)) { - boolean flag = false; - - if(!this.func_150107_m(p_150108_1_, p_150108_2_, p_150108_3_ - 1, p_150108_4_)) { - flag = true; - } - - if(flag) { - this.dropBlockAsItem(p_150108_1_, p_150108_2_, p_150108_3_, p_150108_4_, p_150108_1_.getBlockMetadata(p_150108_2_, p_150108_3_, p_150108_4_), 0); - p_150108_1_.setBlockToAir(p_150108_2_, p_150108_3_, p_150108_4_); - return true; - } else { - return false; - } - } else { - return true; - } - } - - protected boolean func_150109_e(World p_150109_1_, int p_150109_2_, int p_150109_3_, int p_150109_4_) { - if(!this.canPlaceBlockAt(p_150109_1_, p_150109_2_, p_150109_3_, p_150109_4_)) { - if(p_150109_1_.getBlock(p_150109_2_, p_150109_3_, p_150109_4_) == this) { - this.dropBlockAsItem(p_150109_1_, p_150109_2_, p_150109_3_, p_150109_4_, p_150109_1_.getBlockMetadata(p_150109_2_, p_150109_3_, p_150109_4_), 0); - p_150109_1_.setBlockToAir(p_150109_2_, p_150109_3_, p_150109_4_); - } - - return false; - } else { - return true; - } - } - - @Override - public MovingObjectPosition collisionRayTrace(World p_149731_1_, int p_149731_2_, int p_149731_3_, int p_149731_4_, Vec3 p_149731_5_, Vec3 p_149731_6_) { - float f = 0.15F; - f = 0.1F; - this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, 0.6F, 0.5F + f); - - return super.collisionRayTrace(p_149731_1_, p_149731_2_, p_149731_3_, p_149731_4_, p_149731_5_, p_149731_6_); - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(world.isRemote) { - int i = ((TileEntityStructureMarker) world.getTileEntity(x, y, z)).type + 1; - if(i > 2) i -= 3; - if(i == 0) player.addChatMessage(new ChatComponentText("[Structure Marker] Set template: Nuclear Reactor")); - if(i == 1) player.addChatMessage(new ChatComponentText("[Structure Marker] Set template: Watz Power Plant")); - if(i == 2) player.addChatMessage(new ChatComponentText("[Structure Marker] Set template: Fusionary Watz Plant")); - return true; - } else if(!player.isSneaking()) { - if(world.getTileEntity(x, y, z) != null && world.getTileEntity(x, y, z) instanceof TileEntityStructureMarker) { - ((TileEntityStructureMarker) world.getTileEntity(x, y, z)).type++; - } - return true; - } else { - return false; - } - } - -} diff --git a/src/main/java/com/hbm/blocks/generic/BlockMeteorOre.java b/src/main/java/com/hbm/blocks/generic/BlockMeteorOre.java new file mode 100644 index 000000000..b749d830f --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockMeteorOre.java @@ -0,0 +1,13 @@ +package com.hbm.blocks.generic; + +import com.hbm.blocks.BlockEnumMulti; +import com.hbm.blocks.BlockEnums; + +import net.minecraft.block.material.Material; + +public class BlockMeteorOre extends BlockEnumMulti { + + public BlockMeteorOre() { + super(Material.rock, BlockEnums.EnumMeteorType.class, true, true); + } +} diff --git a/src/main/java/com/hbm/blocks/generic/BlockMeteoriteTreasure.java b/src/main/java/com/hbm/blocks/generic/BlockMeteoriteTreasure.java new file mode 100644 index 000000000..26eac3878 --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockMeteoriteTreasure.java @@ -0,0 +1,33 @@ +package com.hbm.blocks.generic; + +import java.util.ArrayList; + +import com.hbm.itempool.ItemPool; +import com.hbm.itempool.ItemPoolsSingle; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.item.ItemStack; +import net.minecraft.util.WeightedRandomChestContent; +import net.minecraft.world.World; + +public class BlockMeteoriteTreasure extends Block { + + public BlockMeteoriteTreasure(Material mat) { + super(mat); + } + + @Override + public ArrayList getDrops(World world, int x, int y, int z, int metadata, int fortune) { + ArrayList ret = new ArrayList(); + + int count = 1 + world.rand.nextInt(3); + WeightedRandomChestContent[] pool = ItemPool.getPool(ItemPoolsSingle.POOL_METEORITE_TREASURE); + + for(int i = 0; i < count; i++) { + ret.add(ItemPool.getStack(pool, world.rand)); + } + + return ret; + } +} diff --git a/src/main/java/com/hbm/blocks/generic/BlockModDoor.java b/src/main/java/com/hbm/blocks/generic/BlockModDoor.java index 2d003020c..b0ccc6634 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockModDoor.java +++ b/src/main/java/com/hbm/blocks/generic/BlockModDoor.java @@ -319,6 +319,8 @@ public class BlockModDoor extends Block { return ModItems.door_metal; else if (this == ModBlocks.door_office) return ModItems.door_office; + else if (this == ModBlocks.door_red) + return ModItems.door_red; else return ModItems.door_bunker; } @@ -379,6 +381,8 @@ public class BlockModDoor extends Block { return ModItems.door_metal; else if (this == ModBlocks.door_office) return ModItems.door_office; + else if (this == ModBlocks.door_red) + return ModItems.door_red; else return ModItems.door_bunker; } diff --git a/src/main/java/com/hbm/blocks/generic/BlockMush.java b/src/main/java/com/hbm/blocks/generic/BlockMush.java index 1651682a5..d914992ca 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockMush.java +++ b/src/main/java/com/hbm/blocks/generic/BlockMush.java @@ -1,9 +1,9 @@ package com.hbm.blocks.generic; +import java.util.HashSet; import java.util.Random; import java.util.Set; -import com.google.common.collect.Sets; import com.hbm.blocks.ModBlocks; import com.hbm.config.GeneralConfig; import com.hbm.world.feature.HugeMush; @@ -47,17 +47,19 @@ public class BlockMush extends Block implements IGrowable, IPlantable { } } - private static final Set canGrowOn = Sets.newHashSet(new Block[] { - ModBlocks.waste_earth, - ModBlocks.waste_mycelium, - ModBlocks.waste_trinitite, - ModBlocks.waste_trinitite_red, - ModBlocks.block_waste, - ModBlocks.block_waste_painted, - ModBlocks.block_waste_vitrified - }); + private static final Set canGrowOn = new HashSet(); public boolean canMushGrowHere(World world, int x, int y, int z) { + if(canGrowOn.isEmpty()) { + canGrowOn.add(ModBlocks.waste_earth); + canGrowOn.add(ModBlocks.waste_mycelium); + canGrowOn.add(ModBlocks.waste_trinitite); + canGrowOn.add(ModBlocks.waste_trinitite_red); + canGrowOn.add(ModBlocks.block_waste); + canGrowOn.add(ModBlocks.block_waste_painted); + canGrowOn.add(ModBlocks.block_waste_vitrified); + } + Block block = world.getBlock(x, y - 1, z); return canGrowOn.contains(block); } @@ -75,7 +77,7 @@ public class BlockMush extends Block implements IGrowable, IPlantable { */ @Override public boolean func_149851_a(World world, int x, int y, int z, boolean b) { - return this.canMushGrowHere(world, x, y, z); + return canBlockStay(world, x, y, z); } /** diff --git a/src/main/java/com/hbm/blocks/generic/BlockOre.java b/src/main/java/com/hbm/blocks/generic/BlockOre.java index d862c4ea5..36cd4e00c 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockOre.java +++ b/src/main/java/com/hbm/blocks/generic/BlockOre.java @@ -5,6 +5,7 @@ import java.util.Random; import com.hbm.blocks.ModBlocks; import com.hbm.handler.radiation.ChunkRadiationManager; import com.hbm.interfaces.Spaghetti; +import com.hbm.items.ItemEnums.EnumChunkType; import com.hbm.items.ModItems; import com.hbm.potion.HbmPotion; import cpw.mods.fml.relauncher.Side; @@ -43,13 +44,13 @@ public class BlockOre extends Block { @Spaghetti("*throws up*") @Override public Item getItemDropped(int i, Random rand, int j) { - if(this == ModBlocks.ore_fluorite || this == ModBlocks.basalt_fluorite) { + if(this == ModBlocks.ore_fluorite) { return ModItems.fluorite; } if(this == ModBlocks.ore_niter) { return ModItems.niter; } - if(this == ModBlocks.ore_sulfur || this == ModBlocks.ore_nether_sulfur || this == ModBlocks.ore_meteor_sulfur || this == ModBlocks.basalt_sulfur) { + if(this == ModBlocks.ore_sulfur || this == ModBlocks.ore_nether_sulfur) { return ModItems.sulfur; } if(this == ModBlocks.waste_trinitite || this == ModBlocks.waste_trinitite_red) { @@ -76,121 +77,10 @@ public class BlockOre extends Block { if(this == ModBlocks.block_meteor_broken) { return ModItems.fragment_meteorite; } - if(this == ModBlocks.block_meteor_treasure) { - switch(rand.nextInt(36)) { - case 0: - return ModItems.coil_advanced_alloy; - case 1: - return ModItems.plate_advanced_alloy; - case 2: - return ModItems.powder_desh_mix; - case 3: - return ModItems.ingot_desh; - case 4: - return ModItems.battery_advanced; - case 5: - return ModItems.battery_lithium_cell; - case 6: - return ModItems.battery_advanced_cell; - case 7: - return ModItems.nugget_schrabidium; - case 8: - return ModItems.ingot_plutonium; - case 9: - return ModItems.ingot_thorium_fuel; - case 10: - return ModItems.ingot_u233; - case 11: - return ModItems.turbine_tungsten; - case 12: - return ModItems.ingot_dura_steel; - case 13: - return ModItems.ingot_polymer; - case 14: - return ModItems.ingot_tungsten; - case 15: - return ModItems.ingot_combine_steel; - case 16: - return ModItems.ingot_lanthanium; - case 17: - return ModItems.ingot_actinium; - case 18: - return Item.getItemFromBlock(ModBlocks.block_meteor); - case 19: - return Item.getItemFromBlock(ModBlocks.fusion_heater); - case 20: - return ModItems.circuit_red_copper; - case 21: - return Item.getItemFromBlock(ModBlocks.watz_element); - case 22: - return Item.getItemFromBlock(ModBlocks.ore_rare); - case 23: - return Item.getItemFromBlock(ModBlocks.fusion_conductor); - case 24: - return Item.getItemFromBlock(ModBlocks.reactor_computer); - case 25: - return Item.getItemFromBlock(ModBlocks.machine_diesel); - case 26: - return Item.getItemFromBlock(ModBlocks.machine_rtg_grey); - case 27: - return ModItems.pellet_rtg; - case 28: - return ModItems.pellet_rtg_weak; - case 29: - return ModItems.rtg_unit; - case 30: - return ModItems.gun_spark_ammo; - case 31: case 32: - return ModItems.ammo_nuke; - case 33: - return ModItems.gun_defabricator_ammo; - case 34: - return ModItems.gun_osipr_ammo2; - case 35: - return ModItems.glitch; - } - } if(this == ModBlocks.ore_rare || this == ModBlocks.ore_gneiss_rare) { - switch(rand.nextInt(6)) { - case 0: - return ModItems.fragment_boron; - case 1: - return ModItems.fragment_cerium; - case 2: - return ModItems.fragment_cobalt; - case 3: - return ModItems.fragment_lanthanium; - case 4: - return ModItems.fragment_neodymium; - case 5: - return ModItems.fragment_niobium; - } + return ModItems.chunk_ore; } - if(this == ModBlocks.deco_aluminium) { - return ModItems.ingot_aluminium; - } - if(this == ModBlocks.deco_beryllium) { - return ModItems.ingot_beryllium; - } - if(this == ModBlocks.deco_lead) { - return ModItems.ingot_lead; - } - if(this == ModBlocks.deco_red_copper) { - return ModItems.ingot_red_copper; - } - if(this == ModBlocks.deco_steel) { - return ModItems.ingot_steel; - } - if(this == ModBlocks.deco_titanium) { - return ModItems.ingot_titanium; - } - if(this == ModBlocks.deco_tungsten) { - return ModItems.ingot_tungsten; - } - if(this == ModBlocks.deco_asbestos) { - return ModItems.ingot_asbestos; - } - if(this == ModBlocks.ore_asbestos || this == ModBlocks.ore_gneiss_asbestos || this == ModBlocks.basalt_asbestos) { + if(this == ModBlocks.ore_asbestos || this == ModBlocks.ore_gneiss_asbestos) { return ModItems.ingot_asbestos; } if(this == ModBlocks.ore_lignite) { @@ -205,24 +95,24 @@ public class BlockOre extends Block { if(this == ModBlocks.ore_cobalt || this == ModBlocks.ore_nether_cobalt) { return ModItems.fragment_cobalt; } + if(this == ModBlocks.block_meteor_molten) { + return null; + } return Item.getItemFromBlock(this); } @Override public int quantityDropped(Random rand) { - if(this == ModBlocks.ore_fluorite || this == ModBlocks.basalt_fluorite) { + if(this == ModBlocks.ore_fluorite) { return 2 + rand.nextInt(3); } if(this == ModBlocks.ore_niter) { return 2 + rand.nextInt(3); } - if(this == ModBlocks.ore_sulfur || this == ModBlocks.ore_nether_sulfur || this == ModBlocks.ore_meteor_sulfur || this == ModBlocks.basalt_sulfur) { + if(this == ModBlocks.ore_sulfur || this == ModBlocks.ore_nether_sulfur) { return 2 + rand.nextInt(3); } - if(this == ModBlocks.ore_rare || this == ModBlocks.ore_gneiss_rare) { - return 4 + rand.nextInt(8); - } if(this == ModBlocks.block_meteor_broken) { return 1 + rand.nextInt(3); } @@ -263,7 +153,8 @@ public class BlockOre extends Block { } @Override - public int damageDropped(int p_149692_1_) { + public int damageDropped(int meta) { + if(this == ModBlocks.ore_rare || this == ModBlocks.ore_gneiss_rare) return EnumChunkType.RARE.ordinal(); return this == ModBlocks.waste_planks ? 1 : 0; } @@ -345,8 +236,7 @@ public class BlockOre extends Block { public void onBlockDestroyedByPlayer(World world, int x, int y, int z, int i) { if(this == ModBlocks.block_meteor_molten) { - if(!world.isRemote) - world.setBlock(x, y, z, Blocks.lava); + if(!world.isRemote) world.setBlock(x, y, z, Blocks.lava); } } } diff --git a/src/main/java/com/hbm/blocks/generic/BlockOreBasalt.java b/src/main/java/com/hbm/blocks/generic/BlockOreBasalt.java new file mode 100644 index 000000000..d650c0b95 --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockOreBasalt.java @@ -0,0 +1,79 @@ +package com.hbm.blocks.generic; + +import java.util.Locale; +import java.util.Random; + +import com.hbm.blocks.BlockEnumMulti; +import com.hbm.blocks.ModBlocks; +import com.hbm.items.ModItems; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.entity.Entity; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class BlockOreBasalt extends BlockEnumMulti { + + public BlockOreBasalt() { + super(Material.rock, EnumBasaltOreType.class, true, true); + } + + public static enum EnumBasaltOreType { + SULFUR, + FLUORITE, + ASBESTOS, + GEM, + MOLYSITE + } + + public String getTextureMultiName(Enum num) { + return this.getTextureName() + "_" + num.name().toLowerCase(Locale.US); + } + + public String getUnlocalizedMultiName(Enum num) { + return super.getUnlocalizedName() + "_" + num.name().toLowerCase(Locale.US); + } + + @Override + public Item getItemDropped(int meta, Random rand, int fortune) { + if(meta == EnumBasaltOreType.SULFUR.ordinal()) return ModItems.sulfur; + if(meta == EnumBasaltOreType.FLUORITE.ordinal()) return ModItems.fluorite; + if(meta == EnumBasaltOreType.ASBESTOS.ordinal()) return ModItems.ingot_asbestos; + if(meta == EnumBasaltOreType.GEM.ordinal()) return ModItems.gem_volcanic; + if(meta == EnumBasaltOreType.MOLYSITE.ordinal()) return ModItems.powder_molysite; + return super.getItemDropped(meta, rand, fortune); + } + + @Override + public int damageDropped(int meta) { + return 0; + } + + @Override + public void onEntityWalking(World world, int x, int y, int z, Entity entity) { + int meta = world.getBlockMetadata(x, y, z); + if(meta == EnumBasaltOreType.ASBESTOS.ordinal() && world.getBlock(x, y + 1, z) == Blocks.air) { + if(world.rand.nextInt(10) == 0) world.setBlock(x, y + 1, z, ModBlocks.gas_asbestos); + for(int i = 0; i < 5; i++) world.spawnParticle("townaura", x + world.rand.nextFloat(), y + 1.1, z + world.rand.nextFloat(), 0.0D, 0.0D, 0.0D); + } + } + + @Override + public void onNeighborBlockChange(World world, int x, int y, int z, Block block) { + int meta = world.getBlockMetadata(x, y, z); + if(meta == EnumBasaltOreType.ASBESTOS.ordinal()) for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + if(world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ) == Blocks.air) { + world.setBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, ModBlocks.gas_asbestos); + } + } + } + + @Override + public void dropBlockAsItemWithChance(World world, int x, int y, int z, int meta, float chance, int fortune) { + if(meta == EnumBasaltOreType.ASBESTOS.ordinal()) world.setBlock(x, y, z, ModBlocks.gas_asbestos); + super.dropBlockAsItemWithChance(world, x, y, z, meta, chance, fortune); + } +} diff --git a/src/main/java/com/hbm/blocks/generic/BlockOutgas.java b/src/main/java/com/hbm/blocks/generic/BlockOutgas.java index 650819005..ae6107817 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockOutgas.java +++ b/src/main/java/com/hbm/blocks/generic/BlockOutgas.java @@ -57,8 +57,7 @@ public class BlockOutgas extends BlockOre { if(this == ModBlocks.ore_asbestos || this == ModBlocks.ore_gneiss_asbestos || this == ModBlocks.block_asbestos || this == ModBlocks.deco_asbestos || this == ModBlocks.brick_asbestos || this == ModBlocks.tile_lab || - this == ModBlocks.tile_lab_cracked || this == ModBlocks.tile_lab_broken || - this == ModBlocks.basalt_asbestos) { + this == ModBlocks.tile_lab_cracked || this == ModBlocks.tile_lab_broken) { return ModBlocks.gas_asbestos; } diff --git a/src/main/java/com/hbm/blocks/generic/BlockPedestal.java b/src/main/java/com/hbm/blocks/generic/BlockPedestal.java new file mode 100644 index 000000000..9f4ace30b --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockPedestal.java @@ -0,0 +1,148 @@ +package com.hbm.blocks.generic; + +import com.hbm.lib.RefStrings; + +import cpw.mods.fml.client.registry.RenderingRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.NetworkManager; +import net.minecraft.network.Packet; +import net.minecraft.network.play.server.S35PacketUpdateTileEntity; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +public class BlockPedestal extends BlockContainer { + + protected IIcon iconSide; + + public BlockPedestal() { + super(Material.rock); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityPedestal(); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + super.registerBlockIcons(iconRegister); + this.iconSide = iconRegister.registerIcon(RefStrings.MODID + ":pedestal_side"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + return side == 0 || side == 1 ? this.blockIcon : this.iconSide; + } + + public static int renderID = RenderingRegistry.getNextAvailableRenderId(); + + @Override + public int getRenderType() { + return renderID; + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @Override + @SideOnly(Side.CLIENT) + public boolean shouldSideBeRendered(IBlockAccess world, int x, int y, int z, int side) { + return true; + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + if(world.isRemote) return true; + if(player.isSneaking()) return false; + + TileEntityPedestal pedestal = (TileEntityPedestal) world.getTileEntity(x, y, z); + + if(pedestal.item == null && player.getHeldItem() != null) { + pedestal.item = player.getHeldItem().copy(); + player.inventory.mainInventory[player.inventory.currentItem] = null; + pedestal.markDirty(); + world.markBlockForUpdate(x, y, z); + return true; + } else if(pedestal.item != null && player.getHeldItem() == null) { + player.inventory.mainInventory[player.inventory.currentItem] = pedestal.item.copy(); + pedestal.item = null; + pedestal.markDirty(); + world.markBlockForUpdate(x, y, z); + return true; + } + + return false; + } + + @Override + public void breakBlock(World world, int x, int y, int z, Block block, int meta) { + + if(!world.isRemote) { + TileEntityPedestal entity = (TileEntityPedestal) world.getTileEntity(x, y, z); + if(entity != null && entity.item != null) { + EntityItem item = new EntityItem(world, x + 0.5, y, z + 0.5, entity.item.copy()); + world.spawnEntityInWorld(item); + } + } + + super.breakBlock(world, x, y, z, block, meta); + } + + public static class TileEntityPedestal extends TileEntity { + + public ItemStack item; + + @Override + public boolean canUpdate() { + return false; + } + + @Override + public Packet getDescriptionPacket() { + NBTTagCompound nbt = new NBTTagCompound(); + this.writeToNBT(nbt); + return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 0, nbt); + } + + @Override + public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) { + this.readFromNBT(pkt.func_148857_g()); + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + this.item = ItemStack.loadItemStackFromNBT(nbt.getCompoundTag("item")); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + if(this.item != null) { + NBTTagCompound stack = new NBTTagCompound(); + this.item.writeToNBT(stack); + nbt.setTag("item", stack); + } + } + } +} diff --git a/src/main/java/com/hbm/blocks/generic/BlockRedBrick.java b/src/main/java/com/hbm/blocks/generic/BlockRedBrick.java new file mode 100644 index 000000000..fefb2387d --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockRedBrick.java @@ -0,0 +1,52 @@ +package com.hbm.blocks.generic; + +import java.util.Random; + +import com.hbm.lib.RefStrings; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockPistonBase; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; + +public class BlockRedBrick extends Block { + + protected IIcon iconFront; + protected IIcon iconTop; + + public BlockRedBrick(Material material) { + super(material); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + this.iconFront = iconRegister.registerIcon(RefStrings.MODID + ":brick_red"); + this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":brick_red_top"); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":brick_base"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + return side == meta ? (side == 0 || side == 1 ? this.iconTop : this.iconFront) : this.blockIcon; + } + + @Override + public Item getItemDropped(int i, Random rand, int j) { + return null; + } + + @Override + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack) { + int l = BlockPistonBase.determineOrientation(world, x, y, z, player); + world.setBlockMetadataWithNotify(x, y, z, l, 2); + } +} diff --git a/src/main/java/com/hbm/blocks/generic/BlockSellafield.java b/src/main/java/com/hbm/blocks/generic/BlockSellafield.java index 03c53b9f4..aea70d140 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockSellafield.java +++ b/src/main/java/com/hbm/blocks/generic/BlockSellafield.java @@ -8,11 +8,14 @@ import com.hbm.handler.radiation.ChunkRadiationManager; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; import com.hbm.potion.HbmPotion; +import com.hbm.render.icon.RGBMutatorInterpolatedComponentRemap; +import com.hbm.render.icon.TextureAtlasSpriteMutatable; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; @@ -20,12 +23,17 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.potion.PotionEffect; import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; public class BlockSellafield extends BlockHazard { - //Sellafite blocks should probably be entirely metadata, but removing them now might mess with shit - //...Ah, fuck it! Noone cares anyway. + @SideOnly(Side.CLIENT) + protected IIcon[][] icons; + + public static final int SELLAFITE_LEVELS = 6; + public static final int TEXTURE_VARIANTS = 4; + public BlockSellafield(Material mat) { super(mat); this.setCreativeTab(MainRegistry.blockTab); @@ -56,10 +64,6 @@ public class BlockSellafield extends BlockHazard { } @Override public void onBlockAdded(World world, int x, int y, int z) { } - - - @SideOnly(Side.CLIENT) - protected IIcon[] icons; @Override public int damageDropped(int meta) { @@ -69,24 +73,62 @@ public class BlockSellafield extends BlockHazard { @Override @SideOnly(Side.CLIENT) public void getSubBlocks(Item item, CreativeTabs tabs, List list) { - for(byte i = 0; i < 6; i++) { + for(byte i = 0; i < SELLAFITE_LEVELS; i++) { list.add(new ItemStack(item, 1, i)); } } @Override @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) { - super.registerBlockIcons(iconRegister); - icons = new IIcon[6]; + public void registerBlockIcons(IIconRegister reg) { + super.registerBlockIcons(reg); + icons = new IIcon[SELLAFITE_LEVELS][TEXTURE_VARIANTS]; + String[] names = new String[] { + RefStrings.MODID + ":sellafield_slaked", + RefStrings.MODID + ":sellafield_slaked_1", + RefStrings.MODID + ":sellafield_slaked_2", + RefStrings.MODID + ":sellafield_slaked_3" + }; - for(byte i = 0; i < 6; i++) - icons[i] = iconRegister.registerIcon(RefStrings.MODID + ":sellafield_" + i); + if(reg instanceof TextureMap) { + TextureMap map = (TextureMap) reg; + + int[][] colors = new int[][] { + {0x4C7939, 0x41463F}, + {0x418223, 0x3E443B}, + {0x338C0E, 0x3B5431}, + {0x1C9E00, 0x394733}, + {0x02B200, 0x37492F}, + {0x00D300, 0x324C26} + }; + + for(int level = 0; level < SELLAFITE_LEVELS; level++) { + int[] tint = colors[level]; + + for(int subtype = 0; subtype < TEXTURE_VARIANTS; subtype++) { + String texName = names[subtype]; + String placeholderName = texName + "-" + level + "-" + subtype; + TextureAtlasSpriteMutatable mutableIcon = new TextureAtlasSpriteMutatable(placeholderName, new RGBMutatorInterpolatedComponentRemap(0x858384, 0x434343, tint[0], tint[1])).setBlockAtlas(); + map.setTextureEntry(placeholderName, mutableIcon); + icons[level][subtype] = mutableIcon; + } + } + } + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) { + long l = (long) (x * 3129871) ^ (long)y * 116129781L ^ (long)z; + l = l * l * 42317861L + l * 11L; + int i = (int)(l >> 16 & 3L); + int meta = world.getBlockMetadata(x, y, z); + return icons[(int)(Math.abs(meta) % SELLAFITE_LEVELS)][(int)(Math.abs(i) % TEXTURE_VARIANTS)]; } @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int meta) { - return this.icons[meta % this.icons.length]; + return this.icons[(int) Math.abs(meta) % this.icons.length][0]; } } diff --git a/src/main/java/com/hbm/blocks/generic/BlockSellafieldOre.java b/src/main/java/com/hbm/blocks/generic/BlockSellafieldOre.java new file mode 100644 index 000000000..262b2e60e --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockSellafieldOre.java @@ -0,0 +1,108 @@ +package com.hbm.blocks.generic; + +import java.util.Random; + +import com.hbm.blocks.IBlockMultiPass; +import com.hbm.blocks.ModBlocks; +import com.hbm.items.ModItems; +import com.hbm.render.block.RenderBlockMultipass; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.init.Items; +import net.minecraft.item.Item; +import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; +import net.minecraft.world.IBlockAccess; + +public class BlockSellafieldOre extends BlockSellafieldSlaked implements IBlockMultiPass { + + public BlockSellafieldOre(Material mat) { + super(mat); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister reg) { + this.blockIcon = reg.registerIcon(this.getTextureName()); + super.registerBlockIcons(reg); + } + + @Override + public int getRenderType() { + return IBlockMultiPass.getRenderType(); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) { + if(RenderBlockMultipass.currentPass == 1) return this.blockIcon; + return super.getIcon(world, x, y, z, side); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + if(RenderBlockMultipass.currentPass == 1) return this.blockIcon; + return icons[0]; + } + + @Override + @SideOnly(Side.CLIENT) + public int colorMultiplier(IBlockAccess world, int x, int y, int z) { + if(RenderBlockMultipass.currentPass == 1) return 0xffffff; + return super.colorMultiplier(world, x, y, z); + } + + @Override + public int getPasses() { + return 2; + } + + @Override + public boolean shouldRenderItemMulti() { + return true; + } + + @Override + public Item getItemDropped(int meta, Random rand, int fortune) { + if(this == ModBlocks.ore_sellafield_diamond) return Items.diamond; + if(this == ModBlocks.ore_sellafield_emerald) return Items.emerald; + if(this == ModBlocks.ore_sellafield_radgem) return ModItems.gem_rad; + return Item.getItemFromBlock(this); + } + + @Override + public int quantityDropped(Random rand) { + return 1; + } + + @Override + public int quantityDroppedWithBonus(int fortune, Random rand) { + if(fortune > 0 && Item.getItemFromBlock(this) != this.getItemDropped(0, rand, fortune)) { + int j = rand.nextInt(fortune + 2) - 1; + if(j < 0) j = 0; + return this.quantityDropped(rand) * (j + 1); + } else { + return this.quantityDropped(rand); + } + } + + private Random rand = new Random(); + + @Override + public int getExpDrop(IBlockAccess world, int meta, int fortune) { + if(this.getItemDropped(meta, rand, fortune) != Item.getItemFromBlock(this)) { + int j1 = 0; + + if(this == ModBlocks.ore_sellafield_diamond) j1 = MathHelper.getRandomIntegerInRange(rand, 3, 7); + if(this == ModBlocks.ore_sellafield_emerald) j1 = MathHelper.getRandomIntegerInRange(rand, 3, 7); + if(this == ModBlocks.ore_sellafield_radgem) j1 = MathHelper.getRandomIntegerInRange(rand, 3, 7); + + return j1; + } + return 0; + } +} diff --git a/src/main/java/com/hbm/blocks/generic/BlockSellafieldSlaked.java b/src/main/java/com/hbm/blocks/generic/BlockSellafieldSlaked.java new file mode 100644 index 000000000..6812249a4 --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockSellafieldSlaked.java @@ -0,0 +1,53 @@ +package com.hbm.blocks.generic; + +import java.awt.Color; + +import com.hbm.lib.RefStrings; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; + +public class BlockSellafieldSlaked extends Block { + + public IIcon[] icons; + + public BlockSellafieldSlaked(Material mat) { + super(mat); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) { + long l = (long) (x * 3129871) ^ (long)y * 116129781L ^ (long)z; + l = l * l * 42317861L + l * 11L; + int i = (int)(l >> 16 & 3L); + return icons[(int)(Math.abs(i) % icons.length)]; + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + return icons[0]; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister reg) { + icons = new IIcon[4]; + icons[0] = reg.registerIcon(RefStrings.MODID + ":sellafield_slaked"); + icons[1] = reg.registerIcon(RefStrings.MODID + ":sellafield_slaked_1"); + icons[2] = reg.registerIcon(RefStrings.MODID + ":sellafield_slaked_2"); + icons[3] = reg.registerIcon(RefStrings.MODID + ":sellafield_slaked_3"); + } + + @SideOnly(Side.CLIENT) + public int colorMultiplier(IBlockAccess world, int x, int y, int z) { + int meta = world.getBlockMetadata(x, y, z); + return Color.HSBtoRGB(0F, 0F, 1F - meta / 15F); + } +} diff --git a/src/main/java/com/hbm/blocks/generic/BlockSnowglobe.java b/src/main/java/com/hbm/blocks/generic/BlockSnowglobe.java index d0c8bdb22..07d5179fa 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockSnowglobe.java +++ b/src/main/java/com/hbm/blocks/generic/BlockSnowglobe.java @@ -3,8 +3,9 @@ package com.hbm.blocks.generic; import java.util.List; import java.util.Random; +import com.hbm.inventory.gui.GUIScreenSnowglobe; import com.hbm.main.MainRegistry; -import com.hbm.wiaj.WorldInAJar; +import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; @@ -12,11 +13,12 @@ import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; +import net.minecraft.inventory.Container; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -24,11 +26,13 @@ import net.minecraft.network.NetworkManager; import net.minecraft.network.Packet; import net.minecraft.network.play.server.S35PacketUpdateTileEntity; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MathHelper; import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -public class BlockSnowglobe extends BlockContainer { +public class BlockSnowglobe extends BlockContainer implements IGUIProvider { public BlockSnowglobe() { super(Material.glass); @@ -56,13 +60,8 @@ public class BlockSnowglobe extends BlockContainer { @Override public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z, EntityPlayer player) { - TileEntitySnowglobe entity = (TileEntitySnowglobe) world.getTileEntity(x, y, z); - - if(entity != null) { - return new ItemStack(this, 1, entity.type.ordinal()); - } - + if(entity != null) return new ItemStack(this, 1, entity.type.ordinal()); return super.getPickBlock(target, world, x, y, z, player); } @@ -98,9 +97,7 @@ public class BlockSnowglobe extends BlockContainer { @Override @SideOnly(Side.CLIENT) public void getSubBlocks(Item item, CreativeTabs tab, List list) { - - for(int i = 1; i < SnowglobeType.values().length; i++) - list.add(new ItemStack(item, 1, i)); + for(int i = 1; i < SnowglobeType.values().length; i++) list.add(new ItemStack(item, 1, i)); } @Override @@ -112,6 +109,18 @@ public class BlockSnowglobe extends BlockContainer { bobble.type = SnowglobeType.values()[Math.abs(stack.getItemDamage()) % SnowglobeType.values().length]; bobble.markDirty(); } + + @Override + public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { + float f = 0.0625F; + this.setBlockBounds(4F * f, 0.0F, 4F * f, 1.0F - 4F * f, 0.3125F, 1.0F - 4F * f); + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + this.setBlockBoundsBasedOnState(world, x, y, z); + return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); + } @Override public TileEntity createNewTileEntity(World world, int meta) { @@ -153,23 +162,30 @@ public class BlockSnowglobe extends BlockContainer { } public static enum SnowglobeType { - NONE("NONE", new WorldInAJar(1, 1, 1)), - TEST("Test", getTestJar()); + NONE( "NONE", null), + RIVETCITY( "Rivet City", "Welcome to Rivet City. Please wait while the bridge extends."), + TENPENNYTOWER( "Tenpenny Tower", "Tenpenny Tower is the brainchild of Allistair Tenpenny, a British refugee who came to the Capital Wasteland seeking his fortune."), + LUCKY38( "Lucky 38", "My guess? Leads to a big cashout at some casino - and if the \"38\" on it is any indication... well... Lucky 38 it is."), + SIERRAMADRE( "Sierra Madre", "It's the moment you've been waiting for, the reason we're all here - the Gala Event, the Grand Opening of the Sierra Madre Casino."), + PRYDWEN( "The Prydwen", "People of the Commonwealth. Do not interfere. Our intentions are peaceful. We are the Brotherhood of Steel."); public String label; - public WorldInAJar scene; + public String inscription; - private SnowglobeType(String label, WorldInAJar scene) { + private SnowglobeType(String label, String inscription) { this.label = label; - this.scene = scene; + this.inscription = inscription; } } - - private static WorldInAJar getTestJar() { - WorldInAJar world = new WorldInAJar(3, 3, 3); - for(int x = 0; x < 3; x++) for(int z = 0; z < 3; z++) world.setBlock(x, 0, z, Blocks.brick_block, 0); - world.setBlock(1, 1, 1, Blocks.gold_block, 0); - world.setBlock(1, 2, 1, Blocks.gold_block, 0); - return world; + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return null; + } + + @Override + @SideOnly(Side.CLIENT) + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIScreenSnowglobe((TileEntitySnowglobe) world.getTileEntity(x, y, z)); } } diff --git a/src/main/java/com/hbm/blocks/generic/BlockToolConversion.java b/src/main/java/com/hbm/blocks/generic/BlockToolConversion.java index a4c146f6a..5eecc281b 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockToolConversion.java +++ b/src/main/java/com/hbm/blocks/generic/BlockToolConversion.java @@ -13,7 +13,6 @@ import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.RecipesCommon.MetaBlock; import com.hbm.inventory.RecipesCommon.OreDictStack; -import com.hbm.items.ModItems; import com.hbm.util.I18nUtil; import com.hbm.util.InventoryUtil; import com.hbm.util.Tuple.Pair; @@ -151,7 +150,7 @@ public class BlockToolConversion extends BlockMulti implements IToolable, ILookO public static HashMap, Pair> conversions = new HashMap(); public static void registerRecipes() { - conversions.put(new Pair(ToolType.BOLT, new MetaBlock(ModBlocks.watz_end, 0)), new Pair(new AStack[] {new ComparableStack(ModItems.bolt_dura_steel, 4)}, new MetaBlock(ModBlocks.watz_end, 1))); + conversions.put(new Pair(ToolType.BOLT, new MetaBlock(ModBlocks.watz_end, 0)), new Pair(new AStack[] {new OreDictStack(OreDictManager.DURA.bolt(), 4)}, new MetaBlock(ModBlocks.watz_end, 1))); conversions.put(new Pair(ToolType.TORCH, new MetaBlock(ModBlocks.fusion_conductor, 0)), new Pair(new AStack[] {new OreDictStack(OreDictManager.STEEL.plateCast())}, new MetaBlock(ModBlocks.fusion_conductor, 1))); } diff --git a/src/main/java/com/hbm/blocks/generic/DecoBlock.java b/src/main/java/com/hbm/blocks/generic/DecoBlock.java index ee8dbf8be..6d946cc3f 100644 --- a/src/main/java/com/hbm/blocks/generic/DecoBlock.java +++ b/src/main/java/com/hbm/blocks/generic/DecoBlock.java @@ -3,7 +3,6 @@ package com.hbm.blocks.generic; import java.util.Random; import com.hbm.blocks.ModBlocks; -import com.hbm.tileentity.deco.TileEntityBomber; import com.hbm.tileentity.deco.TileEntityDecoBlock; import cpw.mods.fml.client.registry.RenderingRegistry; @@ -28,17 +27,11 @@ public class DecoBlock extends BlockContainer { @Override public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - - if(this == ModBlocks.bomber) - return new TileEntityBomber(); - - if(this == ModBlocks.steel_scaffold || this == ModBlocks.steel_beam) - return null; - + if(this == ModBlocks.steel_scaffold || this == ModBlocks.steel_beam) return null; return new TileEntityDecoBlock(); } - public static int renderIDBeam = RenderingRegistry.getNextAvailableRenderId(); + public static int renderIDBeam = RenderingRegistry.getNextAvailableRenderId(); @Override public int getRenderType(){ @@ -59,158 +52,136 @@ public class DecoBlock extends BlockContainer { } @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) - { - if(this == ModBlocks.bomber) - return null; - return Item.getItemFromBlock(this); - } + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return Item.getItemFromBlock(this); + } @Override public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; - if(i == 0) - { + if(i == 0) { world.setBlockMetadataWithNotify(x, y, z, 3, 2); } - if(i == 1) - { + if(i == 1) { world.setBlockMetadataWithNotify(x, y, z, 4, 2); } - if(i == 2) - { + if(i == 2) { world.setBlockMetadataWithNotify(x, y, z, 2, 2); } - if(i == 3) - { + if(i == 3) { world.setBlockMetadataWithNotify(x, y, z, 5, 2); } } @Override - public void setBlockBoundsBasedOnState(IBlockAccess p_149719_1_, int p_149719_2_, int p_149719_3_, int p_149719_4_) - { + public void setBlockBoundsBasedOnState(IBlockAccess p_149719_1_, int p_149719_2_, int p_149719_3_, int p_149719_4_) { int te = p_149719_1_.getBlockMetadata(p_149719_2_, p_149719_3_, p_149719_4_); - float f = 0.0625F; - - if(this == ModBlocks.steel_wall) - { - switch(te) - { + float f = 0.0625F; + + if(this == ModBlocks.steel_wall) { + switch(te) { case 4: - this.setBlockBounds(14*f, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); - break; + this.setBlockBounds(14 * f, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); + break; case 2: - this.setBlockBounds(0.0F, 0.0F, 14*f, 1.0F, 1.0F, 1.0F); - break; + this.setBlockBounds(0.0F, 0.0F, 14 * f, 1.0F, 1.0F, 1.0F); + break; case 5: - this.setBlockBounds(0.0F, 0.0F, 0.0F, 2*f, 1.0F, 1.0F); - break; + this.setBlockBounds(0.0F, 0.0F, 0.0F, 2 * f, 1.0F, 1.0F); + break; case 3: - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 2*f); - break; + this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 2 * f); + break; } - } - - if(this == ModBlocks.steel_corner) - { - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); - } - - if(this == ModBlocks.steel_roof) - { - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1*f, 1.0F); - } - - if(this == ModBlocks.steel_beam) - { - this.setBlockBounds(7*f, 0.0F, 7*f, 9*f, 1.0F, 9*f); - } - - if(this == ModBlocks.steel_scaffold) - { - this.setBlockBounds(0.0F, 0.0F, 2*f, 1.0F, 1.0F, 14*f); - switch(te) - { + } + + if(this == ModBlocks.steel_corner) { + this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); + } + + if(this == ModBlocks.steel_roof) { + this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1 * f, 1.0F); + } + + if(this == ModBlocks.steel_beam) { + this.setBlockBounds(7 * f, 0.0F, 7 * f, 9 * f, 1.0F, 9 * f); + } + + if(this == ModBlocks.steel_scaffold) { + this.setBlockBounds(0.0F, 0.0F, 2 * f, 1.0F, 1.0F, 14 * f); + switch(te) { case 4: - this.setBlockBounds(2*f, 0.0F, 0.0F, 14*f, 1.0F, 1.0F); - break; + this.setBlockBounds(2 * f, 0.0F, 0.0F, 14 * f, 1.0F, 1.0F); + break; case 2: - this.setBlockBounds(0.0F, 0.0F, 2*f, 1.0F, 1.0F, 14*f); - break; + this.setBlockBounds(0.0F, 0.0F, 2 * f, 1.0F, 1.0F, 14 * f); + break; case 5: - this.setBlockBounds(2*f, 0.0F, 0.0F, 14*f, 1.0F, 1.0F); - break; + this.setBlockBounds(2 * f, 0.0F, 0.0F, 14 * f, 1.0F, 1.0F); + break; case 3: - this.setBlockBounds(0.0F, 0.0F, 2*f, 1.0F, 1.0F, 14*f); - break; + this.setBlockBounds(0.0F, 0.0F, 2 * f, 1.0F, 1.0F, 14 * f); + break; } - } - - //this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); - } - + } + + // this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); + } + @Override public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { int te = world.getBlockMetadata(x, y, z); - float f = 0.0625F; - - if(this == ModBlocks.steel_wall) - { - switch(te) - { + float f = 0.0625F; + + if(this == ModBlocks.steel_wall) { + switch(te) { case 4: - this.setBlockBounds(14*f, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); - break; + this.setBlockBounds(14 * f, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); + break; case 2: - this.setBlockBounds(0.0F, 0.0F, 14*f, 1.0F, 1.0F, 1.0F); - break; + this.setBlockBounds(0.0F, 0.0F, 14 * f, 1.0F, 1.0F, 1.0F); + break; case 5: - this.setBlockBounds(0.0F, 0.0F, 0.0F, 2*f, 1.0F, 1.0F); - break; + this.setBlockBounds(0.0F, 0.0F, 0.0F, 2 * f, 1.0F, 1.0F); + break; case 3: - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 2*f); - break; + this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 2 * f); + break; } - } - - if(this == ModBlocks.steel_corner) - { - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); - } - - if(this == ModBlocks.steel_roof) - { - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1*f, 1.0F); - } - - if(this == ModBlocks.steel_beam) - { - this.setBlockBounds(7*f, 0.0F, 7*f, 9*f, 1.0F, 9*f); - } - - if(this == ModBlocks.steel_scaffold) - { - this.setBlockBounds(0.0F, 0.0F, 2*f, 1.0F, 1.0F, 14*f); - switch(te) - { + } + + if(this == ModBlocks.steel_corner) { + this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); + } + + if(this == ModBlocks.steel_roof) { + this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1 * f, 1.0F); + } + + if(this == ModBlocks.steel_beam) { + this.setBlockBounds(7 * f, 0.0F, 7 * f, 9 * f, 1.0F, 9 * f); + } + + if(this == ModBlocks.steel_scaffold) { + this.setBlockBounds(0.0F, 0.0F, 2 * f, 1.0F, 1.0F, 14 * f); + switch(te) { case 4: - this.setBlockBounds(2*f, 0.0F, 0.0F, 14*f, 1.0F, 1.0F); - break; + this.setBlockBounds(2 * f, 0.0F, 0.0F, 14 * f, 1.0F, 1.0F); + break; case 2: - this.setBlockBounds(0.0F, 0.0F, 2*f, 1.0F, 1.0F, 14*f); - break; + this.setBlockBounds(0.0F, 0.0F, 2 * f, 1.0F, 1.0F, 14 * f); + break; case 5: - this.setBlockBounds(2*f, 0.0F, 0.0F, 14*f, 1.0F, 1.0F); - break; + this.setBlockBounds(2 * f, 0.0F, 0.0F, 14 * f, 1.0F, 1.0F); + break; case 3: - this.setBlockBounds(0.0F, 0.0F, 2*f, 1.0F, 1.0F, 14*f); - break; + this.setBlockBounds(0.0F, 0.0F, 2 * f, 1.0F, 1.0F, 14 * f); + break; } - } - + } + return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); } } diff --git a/src/main/java/com/hbm/blocks/generic/Guide.java b/src/main/java/com/hbm/blocks/generic/Guide.java index 744a2d9cd..0a9861157 100644 --- a/src/main/java/com/hbm/blocks/generic/Guide.java +++ b/src/main/java/com/hbm/blocks/generic/Guide.java @@ -120,87 +120,11 @@ public class Guide extends Block implements ILookOverlay { public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { if(world.isRemote && !player.isSneaking()) { - for(int i = 0; i < 10; i++) { - MainRegistry.proxy.openLink(/*"https://ntm.fandom.com/wiki/HBM%27s_Nuclear_Tech_Wiki"*/ "https://www.youtube.com/watch?v=dQw4w9WgXcQ"); - MainRegistry.proxy.openLink("https://gist.githubusercontent.com/HbmMods/ce11ffd908e98d4159f89011aca5c0b1/raw/5cbb1afdca06648319ee4293516f3c5f7cc448ca/go%2520fuck%2520yourself"); - } + MainRegistry.proxy.openLink("https://nucleartech.wiki/wiki/Main_Page"); return true; } return super.onBlockActivated(world, x, y, z, player, side, hitX, hitY, hitZ); - - /*if(!player.isSneaking()) - { - - ItemStack book1 = new ItemStack(Items.written_book); - book1.stackTagCompound = new NBTTagCompound(); - book1.stackTagCompound.setString("author", "HbMinecraft"); - book1.stackTagCompound.setString("title", "Hbm's Nuclear Tech Mod Part 1: Resources"); - NBTTagList pages1 = new NBTTagList(); - - for(String s : Library.book1) { - pages1.appendTag(new NBTTagString(s)); - } - - book1.stackTagCompound.setTag("pages", pages1); - player.inventory.addItemStackToInventory(book1); - - ItemStack book2 = new ItemStack(Items.written_book); - book2.stackTagCompound = new NBTTagCompound(); - book2.stackTagCompound.setString("author", "HbMinecraft"); - book2.stackTagCompound.setString("title", "Hbm's Nuclear Tech Mod Part 2: Machines"); - NBTTagList pages2 = new NBTTagList(); - - for(String s : Library.book2) { - pages2.appendTag(new NBTTagString(s)); - } - - book2.stackTagCompound.setTag("pages", pages2); - player.inventory.addItemStackToInventory(book2); - - ItemStack book3 = new ItemStack(Items.written_book); - book3.stackTagCompound = new NBTTagCompound(); - book3.stackTagCompound.setString("author", "HbMinecraft"); - book3.stackTagCompound.setString("title", "Hbm's Nuclear Tech Mod Part 3: Bombs"); - NBTTagList pages3 = new NBTTagList(); - - for(String s : Library.book3) { - pages3.appendTag(new NBTTagString(s)); - } - - book3.stackTagCompound.setTag("pages", pages3); - player.inventory.addItemStackToInventory(book3); - - ItemStack book4 = new ItemStack(Items.written_book); - book4.stackTagCompound = new NBTTagCompound(); - book4.stackTagCompound.setString("author", "HbMinecraft"); - book4.stackTagCompound.setString("title", "Hbm's Nuclear Tech Mod Part 4: Missiles"); - NBTTagList pages4 = new NBTTagList(); - - for(String s : Library.book4) { - pages4.appendTag(new NBTTagString(s)); - } - - book4.stackTagCompound.setTag("pages", pages4); - player.inventory.addItemStackToInventory(book4); - - ItemStack book5 = new ItemStack(Items.written_book); - book5.stackTagCompound = new NBTTagCompound(); - book5.stackTagCompound.setString("author", "HbMinecraft"); - book5.stackTagCompound.setString("title", "Hbm's Nuclear Tech Mod Part 5: Misc"); - NBTTagList pages5 = new NBTTagList(); - - for(String s : Library.book5) { - pages5.appendTag(new NBTTagString(s)); - } - - book5.stackTagCompound.setTag("pages", pages5); - player.inventory.addItemStackToInventory(book5); - - return true; - } else { - return false; - }*/ } @Override diff --git a/src/main/java/com/hbm/blocks/generic/HEVBattery.java b/src/main/java/com/hbm/blocks/generic/HEVBattery.java index dbaa4f89d..e65f03038 100644 --- a/src/main/java/com/hbm/blocks/generic/HEVBattery.java +++ b/src/main/java/com/hbm/blocks/generic/HEVBattery.java @@ -3,7 +3,7 @@ package com.hbm.blocks.generic; import com.hbm.items.armor.ArmorFSB; import com.hbm.items.armor.ArmorFSBPowered; -import api.hbm.energy.IBatteryItem; +import api.hbm.energymk2.IBatteryItem; import cpw.mods.fml.client.registry.RenderingRegistry; import net.minecraft.block.Block; import net.minecraft.block.material.Material; diff --git a/src/main/java/com/hbm/blocks/generic/ReinforcedLamp.java b/src/main/java/com/hbm/blocks/generic/ReinforcedLamp.java index b2de460b3..e589e35d8 100644 --- a/src/main/java/com/hbm/blocks/generic/ReinforcedLamp.java +++ b/src/main/java/com/hbm/blocks/generic/ReinforcedLamp.java @@ -77,27 +77,13 @@ public class ReinforcedLamp extends Block { return new ItemStack(getOff()); } - private Block getOff() { - - if(this == ModBlocks.reinforced_lamp_on) - return ModBlocks.reinforced_lamp_off; - if(this == ModBlocks.lamp_tritium_green_on) - return ModBlocks.lamp_tritium_green_off; - if(this == ModBlocks.lamp_tritium_blue_on) - return ModBlocks.lamp_tritium_blue_off; - + protected Block getOff() { + if(this == ModBlocks.reinforced_lamp_on) return ModBlocks.reinforced_lamp_off; return this; } - private Block getOn() { - - if(this == ModBlocks.reinforced_lamp_off) - return ModBlocks.reinforced_lamp_on; - if(this == ModBlocks.lamp_tritium_green_off) - return ModBlocks.lamp_tritium_green_on; - if(this == ModBlocks.lamp_tritium_blue_off) - return ModBlocks.lamp_tritium_blue_on; - + protected Block getOn() { + if(this == ModBlocks.reinforced_lamp_off) return ModBlocks.reinforced_lamp_on; return this; } } diff --git a/src/main/java/com/hbm/blocks/generic/TritiumLamp.java b/src/main/java/com/hbm/blocks/generic/TritiumLamp.java new file mode 100644 index 000000000..77118915f --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/TritiumLamp.java @@ -0,0 +1,117 @@ +package com.hbm.blocks.generic; + +import java.util.Random; + +import com.hbm.blocks.ISpotlight; +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.machine.Spotlight; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class TritiumLamp extends Block implements ISpotlight { + + private final boolean isOn; + + public TritiumLamp(Material mat, boolean isOn) { + super(mat); + this.isOn = isOn; + + if(isOn) { + this.setLightLevel(1.0F); + } + } + + @Override + public void onBlockAdded(World world, int x, int y, int z) { + + if(!world.isRemote) { + + if(this.isOn && !world.isBlockIndirectlyGettingPowered(x, y, z)) { + world.scheduleBlockUpdate(x, y, z, this, 4); + + } else if(!this.isOn && world.isBlockIndirectlyGettingPowered(x, y, z)) { + world.setBlock(x, y, z, getOn(), 0, 2); + } + + updateBeam(world, x, y, z); + } + } + + @Override + public void onNeighborBlockChange(World world, int x, int y, int z, Block b) { + + if(!world.isRemote) { + + if(this.isOn && !world.isBlockIndirectlyGettingPowered(x, y, z)) { + world.scheduleBlockUpdate(x, y, z, this, 4); + + } else if(!this.isOn && world.isBlockIndirectlyGettingPowered(x, y, z)) { + world.setBlock(x, y, z, getOn(), 0, 2); + } + + updateBeam(world, x, y, z); + } + } + + @Override + public void updateTick(World world, int x, int y, int z, Random p_149674_5_) { + + if(!world.isRemote && this.isOn && !world.isBlockIndirectlyGettingPowered(x, y, z)) { + world.setBlock(x, y, z, getOff(), 0, 2); + } + } + + @Override + public void breakBlock(World world, int x, int y, int z, Block block, int metadata) { + super.breakBlock(world, x, y, z, block, metadata); + if(world.isRemote) return; + + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) Spotlight.unpropagateBeam(world, x, y, z, dir); + } + + private void updateBeam(World world, int x, int y, int z) { + if(!isOn) return; + + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) Spotlight.propagateBeam(world, x, y, z, dir, getBeamLength()); + } + + @Override + public Item getItemDropped(int i, Random r, int j) { + return Item.getItemFromBlock(getOff()); + } + + @Override + @SideOnly(Side.CLIENT) + public Item getItem(World world, int x, int y, int z) { + return Item.getItemFromBlock(getOff()); + } + + @Override + protected ItemStack createStackedBlock(int e) { + return new ItemStack(getOff()); + } + + protected Block getOff() { + if(this == ModBlocks.lamp_tritium_green_on) return ModBlocks.lamp_tritium_green_off; + if(this == ModBlocks.lamp_tritium_blue_on) return ModBlocks.lamp_tritium_blue_off; + return this; + } + + protected Block getOn() { + if(this == ModBlocks.lamp_tritium_green_off) return ModBlocks.lamp_tritium_green_on; + if(this == ModBlocks.lamp_tritium_blue_off) return ModBlocks.lamp_tritium_blue_on; + return this; + } + + @Override + public int getBeamLength() { + return 8; + } +} diff --git a/src/main/java/com/hbm/blocks/generic/WasteEarth.java b/src/main/java/com/hbm/blocks/generic/WasteEarth.java index 6c2558ece..e38f5d9d2 100644 --- a/src/main/java/com/hbm/blocks/generic/WasteEarth.java +++ b/src/main/java/com/hbm/blocks/generic/WasteEarth.java @@ -129,29 +129,31 @@ public class WasteEarth extends Block { if(this == ModBlocks.burning_earth) { - for(int i = -1; i < 2; i++) { - for(int j = -1; j < 2; j++) { - for(int k = -1; k < 2; k++) { - - if(!world.blockExists(x + i, y + j, z + k)) continue; - - Block b0 = world.getBlock(x + i, y + j, z + k); - Block b1 = world.getBlock(x + i, y + j + 1, z + k); - - if(!b1.isOpaqueCube() && - ((b0 == Blocks.grass || b0 == Blocks.mycelium || b0 == ModBlocks.waste_earth || - b0 == ModBlocks.frozen_grass || b0 == ModBlocks.waste_mycelium) - && !world.canLightningStrikeAt(x, y, z))) { - world.setBlock(x + i, y + j, z + k, ModBlocks.burning_earth); - } - if((b0 instanceof BlockLeaves || b0 instanceof BlockBush)) { - world.setBlockToAir(x + i, y + j, z + k); - } - if(b0 == ModBlocks.frozen_dirt) { - world.setBlock(x + i, y + j, z + k, Blocks.dirt); - } - if(b1.isFlammable(world, x, y, z, ForgeDirection.UP) && !(b1 instanceof BlockLeaves || b1 instanceof BlockBush) && world.getBlock(x, y + 1, z) == Blocks.air) { - world.setBlock(x, y + 1, z, Blocks.fire); + if(rand.nextInt(5) == 0) { + for(int i = -1; i < 2; i++) { + for(int j = -1; j < 2; j++) { + for(int k = -1; k < 2; k++) { + + if(!world.blockExists(x + i, y + j, z + k)) continue; + + Block b0 = world.getBlock(x + i, y + j, z + k); + Block b1 = world.getBlock(x + i, y + j + 1, z + k); + + if(!b1.isOpaqueCube() && + ((b0 == Blocks.grass || b0 == Blocks.mycelium || b0 == ModBlocks.waste_earth || + b0 == ModBlocks.frozen_grass || b0 == ModBlocks.waste_mycelium) + && !world.canLightningStrikeAt(x, y, z))) { + world.setBlock(x + i, y + j, z + k, ModBlocks.burning_earth); + } + if((b0 instanceof BlockLeaves || b0 instanceof BlockBush)) { + world.setBlockToAir(x + i, y + j, z + k); + } + if(b0 == ModBlocks.frozen_dirt) { + world.setBlock(x + i, y + j, z + k, Blocks.dirt); + } + if(b1.isFlammable(world, x, y, z, ForgeDirection.UP) && !(b1 instanceof BlockLeaves || b1 instanceof BlockBush) && world.getBlock(x, y + 1, z) == Blocks.air) { + world.setBlock(x, y + 1, z, Blocks.fire); + } } } } diff --git a/src/main/java/com/hbm/blocks/machine/BlockAMSBase.java b/src/main/java/com/hbm/blocks/machine/BlockAMSBase.java deleted file mode 100644 index 082d0f962..000000000 --- a/src/main/java/com/hbm/blocks/machine/BlockAMSBase.java +++ /dev/null @@ -1,108 +0,0 @@ -package com.hbm.blocks.machine; - -import com.hbm.blocks.ModBlocks; -import com.hbm.handler.MultiblockHandler; -import com.hbm.interfaces.IMultiblock; -import com.hbm.main.MainRegistry; -import com.hbm.tileentity.machine.TileEntityAMSBase; -import com.hbm.tileentity.machine.TileEntityDummy; - -import cpw.mods.fml.common.network.internal.FMLNetworkHandler; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; - -public class BlockAMSBase extends BlockContainer implements IMultiblock { - - public BlockAMSBase(Material p_i45386_1_) { - super(p_i45386_1_); - } - - @Override - public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return new TileEntityAMSBase(); - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(world.isRemote) - { - return true; - } else if(!player.isSneaking()) - { - TileEntityAMSBase entity = (TileEntityAMSBase) world.getTileEntity(x, y, z); - if(entity != null) - { - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z); - } - return true; - } else { - return false; - } - } - - @Override - public int getRenderType(){ - return -1; - } - - @Override - public boolean isOpaqueCube() { - return false; - } - - @Override - public boolean renderAsNormalBlock() { - return false; - } - - @Override - public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { - - if(MultiblockHandler.checkSpace(world, x, y, z, MultiblockHandler.AMSBaseDimension)) { - MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.AMSBaseDimension, ModBlocks.dummy_block_ams_base); - - DummyBlockAMSBase.safeBreak = true; - world.setBlock(x + 1, y, z, ModBlocks.dummy_port_ams_base); - TileEntity te = world.getTileEntity(x + 1, y, z); - if(te instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x, y, z - 1, ModBlocks.dummy_port_ams_base); - TileEntity te2 = world.getTileEntity(x, y, z - 1); - if(te instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te2; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x - 1, y, z, ModBlocks.dummy_port_ams_base); - TileEntity te3 = world.getTileEntity(x - 1, y, z); - if(te3 instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te3; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x, y, z + 1, ModBlocks.dummy_port_ams_base); - TileEntity te4 = world.getTileEntity(x, y , z + 1); - if(te4 instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te4; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - DummyBlockAMSBase.safeBreak = false; - - } else - world.func_147480_a(x, y, z, true); - } - -} diff --git a/src/main/java/com/hbm/blocks/machine/BlockAMSEmitter.java b/src/main/java/com/hbm/blocks/machine/BlockAMSEmitter.java deleted file mode 100644 index ae627fa60..000000000 --- a/src/main/java/com/hbm/blocks/machine/BlockAMSEmitter.java +++ /dev/null @@ -1,116 +0,0 @@ -package com.hbm.blocks.machine; - -import com.hbm.blocks.ModBlocks; -import com.hbm.handler.MultiblockHandler; -import com.hbm.interfaces.IMultiblock; -import com.hbm.main.MainRegistry; -import com.hbm.tileentity.machine.TileEntityAMSEmitter; -import com.hbm.tileentity.machine.TileEntityDummy; - -import cpw.mods.fml.common.network.internal.FMLNetworkHandler; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; - -public class BlockAMSEmitter extends BlockContainer implements IMultiblock { - - public BlockAMSEmitter(Material p_i45386_1_) { - super(p_i45386_1_); - } - - @Override - public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return new TileEntityAMSEmitter(); - } - - @Override - public int getRenderType(){ - return -1; - } - - @Override - public boolean isOpaqueCube() { - return false; - } - - @Override - public boolean renderAsNormalBlock() { - return false; - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(world.isRemote) - { - return true; - } else if(!player.isSneaking()) - { - TileEntityAMSEmitter entity = (TileEntityAMSEmitter) world.getTileEntity(x, y, z); - if(entity != null) - { - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z); - } - return true; - } else { - return false; - } - } - - @Override - public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { - - if(MultiblockHandler.checkSpace(world, x, y, z, MultiblockHandler.AMSEmitterDimension)) { - MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.AMSEmitterDimension, ModBlocks.dummy_block_ams_emitter); - - DummyBlockAMSEmitter.safeBreak = true; - world.setBlock(x, y + 5, z, ModBlocks.dummy_port_ams_emitter); - TileEntity te = world.getTileEntity(x, y + 5, z); - if(te instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x, y + 5, z - 1, ModBlocks.dummy_port_ams_emitter); - TileEntity te2 = world.getTileEntity(x, y + 5, z - 1); - if(te instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te2; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x + 1, y + 5, z, ModBlocks.dummy_port_ams_emitter); - TileEntity te3 = world.getTileEntity(x + 1, y + 5, z); - if(te3 instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te3; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x - 1, y + 5, z, ModBlocks.dummy_port_ams_emitter); - TileEntity te4 = world.getTileEntity(x - 1, y + 5, z); - if(te4 instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te4; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x, y + 5, z + 1, ModBlocks.dummy_port_ams_emitter); - TileEntity te5 = world.getTileEntity(x, y + 5, z + 1); - if(te5 instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te5; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - DummyBlockAMSEmitter.safeBreak = false; - - } else - world.func_147480_a(x, y, z, true); - } - -} diff --git a/src/main/java/com/hbm/blocks/machine/BlockAMSLimiter.java b/src/main/java/com/hbm/blocks/machine/BlockAMSLimiter.java deleted file mode 100644 index 234fc9cfa..000000000 --- a/src/main/java/com/hbm/blocks/machine/BlockAMSLimiter.java +++ /dev/null @@ -1,186 +0,0 @@ -package com.hbm.blocks.machine; - -import com.hbm.blocks.ModBlocks; -import com.hbm.handler.MultiblockHandler; -import com.hbm.interfaces.IMultiblock; -import com.hbm.main.MainRegistry; -import com.hbm.tileentity.machine.TileEntityAMSLimiter; -import com.hbm.tileentity.machine.TileEntityDummy; - -import cpw.mods.fml.common.network.internal.FMLNetworkHandler; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; - -public class BlockAMSLimiter extends BlockContainer implements IMultiblock { - - public BlockAMSLimiter(Material p_i45386_1_) { - super(p_i45386_1_); - } - - @Override - public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return new TileEntityAMSLimiter(); - } - - @Override - public int getRenderType(){ - return -1; - } - - @Override - public boolean isOpaqueCube() { - return false; - } - - @Override - public boolean renderAsNormalBlock() { - return false; - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(world.isRemote) - { - return true; - } else if(!player.isSneaking()) - { - TileEntityAMSLimiter entity = (TileEntityAMSLimiter) world.getTileEntity(x, y, z); - if(entity != null) - { - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z); - } - return true; - } else { - return false; - } - } - - @Override - public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { - int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; - - if (i == 0) { - world.setBlockMetadataWithNotify(x, y, z, 5, 2); - if(MultiblockHandler.checkSpace(world, x, y, z, MultiblockHandler.AMSLimiterDimensionEast)) { - MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.AMSLimiterDimensionEast, ModBlocks.dummy_block_ams_limiter); - - // - DummyBlockAMSLimiter.safeBreak = true; - world.setBlock(x + 2, y, z, ModBlocks.dummy_port_ams_limiter); - TileEntity te = world.getTileEntity(x + 2, y, z); - if(te instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x - 2, y, z, ModBlocks.dummy_port_ams_limiter); - TileEntity te2 = world.getTileEntity(x - 2, y, z); - if(te2 instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te2; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - DummyBlockAMSLimiter.safeBreak = false; - // - - } else - world.func_147480_a(x, y, z, true); - } - if (i == 1) { - world.setBlockMetadataWithNotify(x, y, z, 3, 2); - if(MultiblockHandler.checkSpace(world, x, y, z, MultiblockHandler.AMSLimiterDimensionSouth)) { - MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.AMSLimiterDimensionSouth, ModBlocks.dummy_block_ams_limiter); - - // - DummyBlockAMSLimiter.safeBreak = true; - world.setBlock(x, y, z + 2, ModBlocks.dummy_port_ams_limiter); - TileEntity te = world.getTileEntity(x, y, z + 2); - if(te instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x, y, z - 2, ModBlocks.dummy_port_ams_limiter); - TileEntity te2 = world.getTileEntity(x, y, z - 2); - if(te2 instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te2; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - DummyBlockAMSLimiter.safeBreak = false; - // - - } else - world.func_147480_a(x, y, z, true); - } - if (i == 2) { - world.setBlockMetadataWithNotify(x, y, z, 4, 2); - if(MultiblockHandler.checkSpace(world, x, y, z, MultiblockHandler.AMSLimiterDimensionWest)) { - MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.AMSLimiterDimensionWest, ModBlocks.dummy_block_ams_limiter); - - // - DummyBlockAMSLimiter.safeBreak = true; - world.setBlock(x + 2, y, z, ModBlocks.dummy_port_ams_limiter); - TileEntity te = world.getTileEntity(x + 2, y, z); - if(te instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x - 2, y, z, ModBlocks.dummy_port_ams_limiter); - TileEntity te2 = world.getTileEntity(x - 2, y, z); - if(te2 instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te2; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - DummyBlockAMSLimiter.safeBreak = false; - // - - } else - world.func_147480_a(x, y, z, true); - } - if (i == 3) { - world.setBlockMetadataWithNotify(x, y, z, 2, 2); - if(MultiblockHandler.checkSpace(world, x, y, z, MultiblockHandler.AMSLimiterDimensionNorth)) { - MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.AMSLimiterDimensionNorth, ModBlocks.dummy_block_ams_limiter); - - // - DummyBlockAMSLimiter.safeBreak = true; - world.setBlock(x, y, z + 2, ModBlocks.dummy_port_ams_limiter); - TileEntity te = world.getTileEntity(x, y, z + 2); - if(te instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x, y, z - 2, ModBlocks.dummy_port_ams_limiter); - TileEntity te2 = world.getTileEntity(x, y, z - 2); - if(te2 instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te2; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - DummyBlockAMSLimiter.safeBreak = false; - // - - } else - world.func_147480_a(x, y, z, true); - } - } - -} diff --git a/src/main/java/com/hbm/blocks/machine/BlockCMFlux.java b/src/main/java/com/hbm/blocks/machine/BlockCMFlux.java new file mode 100644 index 000000000..85f0d4725 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/BlockCMFlux.java @@ -0,0 +1,9 @@ +package com.hbm.blocks.machine; + +import net.minecraft.block.material.Material; + +public class BlockCMFlux extends BlockPillar{ + public BlockCMFlux(Material mat, String top) { + super(mat, top); + } +} diff --git a/src/main/java/com/hbm/blocks/machine/BlockCMHeat.java b/src/main/java/com/hbm/blocks/machine/BlockCMHeat.java new file mode 100644 index 000000000..f339fbb48 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/BlockCMHeat.java @@ -0,0 +1,9 @@ +package com.hbm.blocks.machine; + +import net.minecraft.block.material.Material; + +public class BlockCMHeat extends BlockPillar{ + public BlockCMHeat(Material mat, String top) { + super(mat, top); + } +} diff --git a/src/main/java/com/hbm/blocks/machine/BlockHadronPlating.java b/src/main/java/com/hbm/blocks/machine/BlockHadronPlating.java index 11298909e..87aa47822 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockHadronPlating.java +++ b/src/main/java/com/hbm/blocks/machine/BlockHadronPlating.java @@ -8,5 +8,4 @@ public class BlockHadronPlating extends Block { public BlockHadronPlating(Material mat) { super(mat); } - } diff --git a/src/main/java/com/hbm/blocks/machine/BlockICF.java b/src/main/java/com/hbm/blocks/machine/BlockICF.java new file mode 100644 index 000000000..442433aba --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/BlockICF.java @@ -0,0 +1,222 @@ +package com.hbm.blocks.machine; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.lib.RefStrings; +import com.hbm.render.block.ct.CT; +import com.hbm.render.block.ct.CTStitchReceiver; +import com.hbm.render.block.ct.IBlockCT; +import com.hbm.tileentity.machine.TileEntityICFController; + +import api.hbm.energymk2.IEnergyReceiverMK2; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class BlockICF extends BlockContainer implements IBlockCT { + + @SideOnly(Side.CLIENT) protected IIcon iconPort; + + public BlockICF(Material mat) { + super(mat); + } + + @Override + public int getRenderType() { + return CT.renderID; + } + + @Override + public Item getItemDropped(int i, Random rand, int j) { + return null; + } + + @SideOnly(Side.CLIENT) public CTStitchReceiver rec; + @SideOnly(Side.CLIENT) public CTStitchReceiver recPort; + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister reg) { + super.registerBlockIcons(reg); + this.iconPort = reg.registerIcon(RefStrings.MODID + ":icf_block_port"); + this.rec = IBlockCT.primeReceiver(reg, this.blockIcon.getIconName(), this.blockIcon); + this.recPort = IBlockCT.primeReceiver(reg, this.iconPort.getIconName(), this.iconPort); + } + + @Override + public IIcon[] getFragments(IBlockAccess world, int x, int y, int z) { + int meta = world.getBlockMetadata(x, y, z); + if(meta == 1) return recPort.fragCache; + return rec.fragCache; + } + + @Override + public boolean canConnect(IBlockAccess world, int x, int y, int z, Block block) { + return block == ModBlocks.icf_block || block == ModBlocks.icf_controller; + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityBlockICF(); + } + + @Override + public void breakBlock(World world, int x, int y, int z, Block block, int meta) { + + TileEntity tile = world.getTileEntity(x, y, z); + + if(tile instanceof TileEntityBlockICF) { + TileEntityBlockICF icf = (TileEntityBlockICF) tile; + world.removeTileEntity(x, y, z); + if(icf.block != null) { + world.setBlock(x, y, z, icf.block, icf.meta, 3); + TileEntity controller = world.getTileEntity(icf.coreX, icf.coreY, icf.coreZ); + + if(controller instanceof TileEntityICFController) { + ((TileEntityICFController) controller).assembled = false; + } + } + } else { + world.removeTileEntity(x, y, z); + } + super.breakBlock(world, x, y, z, block, meta); + } + + public static class TileEntityBlockICF extends TileEntity implements IEnergyReceiverMK2 { + + public Block block; + public int meta; + public int coreX; + public int coreY; + public int coreZ; + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + + if(worldObj.getTotalWorldTime() % 20 == 0 && block != null) { + + TileEntityICFController controller = getCore(); + + if(controller != null) { + if(!controller.assembled) { + this.getBlockType().breakBlock(worldObj, xCoord, yCoord, zCoord, this.getBlockType(), this.getBlockMetadata()); + } + } else if(worldObj.getChunkProvider().chunkExists(coreX >> 4, coreZ >> 4)) { + this.getBlockType().breakBlock(worldObj, xCoord, yCoord, zCoord, this.getBlockType(), this.getBlockMetadata()); + } + } + } + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + + block = Block.getBlockById(nbt.getInteger("block")); + if(block != Blocks.air) { + meta = nbt.getInteger("meta"); + coreX = nbt.getInteger("cX"); + coreY = nbt.getInteger("cY"); + coreZ = nbt.getInteger("cZ"); + } else { + block = null; + } + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + + if(block != null) { + nbt.setInteger("block", Block.getIdFromBlock(block)); + nbt.setInteger("meta", meta); + nbt.setInteger("cX", coreX); + nbt.setInteger("cY", coreY); + nbt.setInteger("cZ", coreZ); + } + } + + @Override + public void markDirty() { + if(this.worldObj != null) { + this.worldObj.markTileEntityChunkModified(this.xCoord, this.yCoord, this.zCoord, this); + } + } + + public TileEntityICFController cachedCore; + + protected TileEntityICFController getCore() { + + if(cachedCore != null && !cachedCore.isInvalid()) return cachedCore; + + if(worldObj.getChunkProvider().chunkExists(coreX >> 4, coreZ >> 4)) { + + TileEntity tile = worldObj.getTileEntity(coreX, coreY, coreZ); + if(tile instanceof TileEntityICFController) { + TileEntityICFController controller = (TileEntityICFController) tile; + cachedCore = controller; + return controller; + } + } + + return null; + } + + @Override public long getPower() { + if(this.getBlockMetadata() != 1) return 0; + if(block == null) return 0; + TileEntityICFController controller = this.getCore(); + if(controller != null) return controller.getPower(); + + return 0; + } + + @Override public void setPower(long power) { + if(this.getBlockMetadata() != 1) return; + if(block == null) return; + TileEntityICFController controller = this.getCore(); + if(controller != null) controller.setPower(power); + } + + @Override public long getMaxPower() { + if(this.getBlockMetadata() != 1) return 0; + if(block == null) return 0; + TileEntityICFController controller = this.getCore(); + if(controller != null) return controller.getMaxPower(); + + return 0; + } + + public boolean isLoaded = true; + + @Override + public boolean isLoaded() { + return isLoaded; + } + + @Override + public void onChunkUnload() { + super.onChunkUnload(); + this.isLoaded = false; + } + + @Override + public boolean canConnect(ForgeDirection dir) { + if(this.getBlockMetadata() != 1) return false; + return dir != ForgeDirection.UNKNOWN; + } + } +} diff --git a/src/main/java/com/hbm/blocks/machine/BlockICFLaserComponent.java b/src/main/java/com/hbm/blocks/machine/BlockICFLaserComponent.java new file mode 100644 index 000000000..5685fee9a --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/BlockICFLaserComponent.java @@ -0,0 +1,56 @@ +package com.hbm.blocks.machine; + +import com.hbm.blocks.BlockEnumMulti; +import com.hbm.lib.RefStrings; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.util.IIcon; + +public class BlockICFLaserComponent extends BlockEnumMulti { + + protected IIcon[] iconsTop; + + public BlockICFLaserComponent() { + super(Material.iron, EnumICFPart.class, true, true); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister reg) { + + Enum[] enums = theEnum.getEnumConstants(); + this.icons = new IIcon[enums.length]; + this.iconsTop = new IIcon[enums.length]; + + this.icons[0] = this.iconsTop[0] = reg.registerIcon(RefStrings.MODID + ":icf_casing"); + this.icons[1] = this.iconsTop[1] = reg.registerIcon(RefStrings.MODID + ":icf_port"); + this.icons[2] = this.iconsTop[2] = reg.registerIcon(RefStrings.MODID + ":icf_cell"); + this.icons[3] = this.iconsTop[3] = reg.registerIcon(RefStrings.MODID + ":icf_emitter"); + this.icons[4] = reg.registerIcon(RefStrings.MODID + ":icf_capacitor_side"); + this.icons[5] = reg.registerIcon(RefStrings.MODID + ":icf_turbocharger"); + this.iconsTop[4] = this.iconsTop[5] = reg.registerIcon(RefStrings.MODID + ":icf_capacitor_top"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + return side == 0 || side == 1 ? this.iconsTop[meta % this.iconsTop.length] : this.icons[meta % this.icons.length]; + } + + @Override + public int getSubCount() { + return EnumICFPart.values().length; + } + + public static enum EnumICFPart { + CASING, + PORT, + CELL, + EMITTER, + CAPACITOR, + TURBO + } +} diff --git a/src/main/java/com/hbm/blocks/machine/BlockObserver.java b/src/main/java/com/hbm/blocks/machine/BlockObserver.java deleted file mode 100644 index e1dfa027f..000000000 --- a/src/main/java/com/hbm/blocks/machine/BlockObserver.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.hbm.blocks.machine; - -import java.util.Random; - -import com.hbm.blocks.ModBlocks; -import com.hbm.lib.RefStrings; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; -import net.minecraft.block.BlockPistonBase; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -public class BlockObserver extends Block { - - private boolean isActive; - - @SideOnly(Side.CLIENT) - private IIcon iconFront; - @SideOnly(Side.CLIENT) - private IIcon iconBack; - - public BlockObserver(Material mat, boolean isActive) { - super(mat); - this.isActive = isActive; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) { - this.iconBack = iconRegister.registerIcon(RefStrings.MODID + (this.isActive ? ":observer_back_on" : ":observer_back_off")); - this.iconFront = iconRegister.registerIcon(RefStrings.MODID + ":observer_front"); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":observer_side"); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int metadata) { - ForgeDirection dir = ForgeDirection.getOrientation(metadata); - ForgeDirection opp = dir.getOpposite(); - return side == dir.ordinal() ? iconFront : side == opp.ordinal() ? iconBack : blockIcon; - } - - @Override - public Item getItemDropped(int meta, Random rand, int luck) { - return Item.getItemFromBlock(ModBlocks.observer_off); - } - - @Override - public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack) { - int l = BlockPistonBase.determineOrientation(world, x, y, z, player); - world.setBlockMetadataWithNotify(x, y, z, l, 2); - - if(this.isActive) - world.scheduleBlockUpdate(x, y, z, this, 2); - } - - @Override - public void onNeighborBlockChange(World world, int x, int y, int z, Block block) { - - if(!this.isActive) { - - } - } - - @Override - public boolean canProvidePower() { - return this.isActive; - } - - @Override - public int isProvidingWeakPower(IBlockAccess world, int x, int y, int z, int side) { - return this.isActive ? 15 : 0; - } -} diff --git a/src/main/java/com/hbm/blocks/machine/BlockPWR.java b/src/main/java/com/hbm/blocks/machine/BlockPWR.java index eeecb464a..06b650798 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockPWR.java +++ b/src/main/java/com/hbm/blocks/machine/BlockPWR.java @@ -316,5 +316,18 @@ public class BlockPWR extends BlockContainer implements IBlockCT { return false; } + + public boolean isLoaded = true; + + @Override + public boolean isLoaded() { + return isLoaded; + } + + @Override + public void onChunkUnload() { + super.onChunkUnload(); + this.isLoaded = false; + } } } diff --git a/src/main/java/com/hbm/blocks/machine/BlockPillar.java b/src/main/java/com/hbm/blocks/machine/BlockPillar.java index a030210b0..8158e9416 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockPillar.java +++ b/src/main/java/com/hbm/blocks/machine/BlockPillar.java @@ -1,23 +1,15 @@ package com.hbm.blocks.machine; -import com.hbm.blocks.ModBlocks; -import com.hbm.inventory.fluid.FluidType; -import com.hbm.inventory.fluid.Fluids; import com.hbm.lib.RefStrings; -import api.hbm.fluid.IFluidConnectorBlock; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.IIcon; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; -public class BlockPillar extends Block implements IFluidConnectorBlock { +public class BlockPillar extends Block { @SideOnly(Side.CLIENT) private IIcon iconTop; @@ -37,18 +29,13 @@ public class BlockPillar extends Block implements IFluidConnectorBlock { textureAlt = bottom; } - public Block setBlockTextureName(String name) { - - if(textureTop.isEmpty()) - textureTop = name; - - if(textureAlt.isEmpty()) - textureAlt = name; - - this.textureName = name; - - return this; - } + public Block setBlockTextureName(String name) { + + if(textureTop.isEmpty()) textureTop = name; + if(textureAlt.isEmpty()) textureAlt = name; + this.textureName = name; + return this; + } @Override @SideOnly(Side.CLIENT) @@ -62,37 +49,6 @@ public class BlockPillar extends Block implements IFluidConnectorBlock { @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int metadata) { - - if(this == ModBlocks.reactor_element && metadata == 1) - return side == 1 ? this.iconTop : (side == 0 ? this.iconTop : this.iconAlt); - return side == 1 ? this.iconTop : (side == 0 ? this.iconTop : this.blockIcon); } - - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - - if(this != ModBlocks.reactor_element) - return super.onBlockActivated(world, x, y, z, player, side, hitX, hitY, hitZ); - - if(player.isSneaking()) - { - if(world.getBlockMetadata(x, y, z) == 0) { - world.setBlockMetadataWithNotify(x, y, z, 1, 3); - } else { - world.setBlockMetadataWithNotify(x, y, z, 0, 3); - } - - return true; - } - - return false; - } - - @Override - public boolean canConnect(FluidType type, IBlockAccess world, int x, int y, int z, ForgeDirection dir) { - if(this != ModBlocks.reactor_conductor) return false; - return type == Fluids.WATER || type == Fluids.COOLANT || type == Fluids.STEAM || type == Fluids.HOTSTEAM || type == Fluids.SUPERHOTSTEAM || type == Fluids.ULTRAHOTSTEAM; - } } diff --git a/src/main/java/com/hbm/blocks/machine/BlockRotatable.java b/src/main/java/com/hbm/blocks/machine/BlockRotatable.java deleted file mode 100644 index d3e7d538e..000000000 --- a/src/main/java/com/hbm/blocks/machine/BlockRotatable.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.hbm.blocks.machine; - -import com.hbm.blocks.ModBlocks; -import com.hbm.lib.RefStrings; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; - -public class BlockRotatable extends Block { - - @SideOnly(Side.CLIENT) - private IIcon iconFront; - - public BlockRotatable(Material p_i45394_1_) { - super(p_i45394_1_); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) { - - if(this == ModBlocks.reactor_ejector) { - this.iconFront = iconRegister.registerIcon(RefStrings.MODID + ":reactor_ejector"); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":brick_concrete"); - } - if(this == ModBlocks.reactor_inserter) { - this.iconFront = iconRegister.registerIcon(RefStrings.MODID + ":reactor_inserter"); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":brick_concrete"); - } - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int metadata) { - return metadata == 0 && side == 3 ? this.iconFront : (side == metadata ? this.iconFront : this.blockIcon); - } - - @Override - public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { - int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; - - if(i == 0) { - world.setBlockMetadataWithNotify(x, y, z, 2, 2); - } - if(i == 1) { - world.setBlockMetadataWithNotify(x, y, z, 5, 2); - } - if(i == 2) { - world.setBlockMetadataWithNotify(x, y, z, 3, 2); - } - if(i == 3) { - world.setBlockMetadataWithNotify(x, y, z, 4, 2); - } - } -} diff --git a/src/main/java/com/hbm/blocks/machine/DummyBlockAMSBase.java b/src/main/java/com/hbm/blocks/machine/DummyBlockAMSBase.java deleted file mode 100644 index 92e1ffdc3..000000000 --- a/src/main/java/com/hbm/blocks/machine/DummyBlockAMSBase.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.hbm.blocks.machine; - -import java.util.Random; - -import com.hbm.blocks.ModBlocks; -import com.hbm.interfaces.IDummy; -import com.hbm.main.MainRegistry; -import com.hbm.tileentity.machine.TileEntityAMSBase; -import com.hbm.tileentity.machine.TileEntityDummy; - -import cpw.mods.fml.common.network.internal.FMLNetworkHandler; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; - -public class DummyBlockAMSBase extends BlockContainer implements IDummy { - - public static boolean safeBreak = false; - - public DummyBlockAMSBase(Material p_i45386_1_) { - super(p_i45386_1_); - } - - @Override - public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return new TileEntityDummy(); - } - - @Override - public void breakBlock(World world, int x, int y, int z, Block block, int i) - { - if(!safeBreak) { - TileEntity te = world.getTileEntity(x, y, z); - if(te != null && te instanceof TileEntityDummy) { - int a = ((TileEntityDummy)te).targetX; - int b = ((TileEntityDummy)te).targetY; - int c = ((TileEntityDummy)te).targetZ; - - //world.getBlock(a, b, c).breakBlock(world, a, b, c, block, i); - if(!world.isRemote) - world.func_147480_a(a, b, c, true); - } - } - world.removeTileEntity(x, y, z); - } - - @Override - public int getRenderType() { - return -1; - } - - @Override - public boolean isOpaqueCube() { - return false; - } - - @Override - public boolean renderAsNormalBlock() { - return false; - } - - @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) - { - return null; - } - - @Override - @SideOnly(Side.CLIENT) - public Item getItem(World world, int x, int y, int z) - { - return Item.getItemFromBlock(ModBlocks.ams_base); - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(world.isRemote) - { - return true; - } else if(!player.isSneaking()) - { - TileEntity te = world.getTileEntity(x, y, z); - if(te != null && te instanceof TileEntityDummy) { - int a = ((TileEntityDummy)te).targetX; - int b = ((TileEntityDummy)te).targetY; - int c = ((TileEntityDummy)te).targetZ; - - TileEntityAMSBase entity = (TileEntityAMSBase) world.getTileEntity(a, b, c); - if(entity != null) - { - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, a, b, c); - } - } - return true; - } else { - return false; - } - } -} diff --git a/src/main/java/com/hbm/blocks/machine/DummyBlockAMSEmitter.java b/src/main/java/com/hbm/blocks/machine/DummyBlockAMSEmitter.java deleted file mode 100644 index a6d6f40d6..000000000 --- a/src/main/java/com/hbm/blocks/machine/DummyBlockAMSEmitter.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.hbm.blocks.machine; - -import java.util.Random; - -import com.hbm.blocks.ModBlocks; -import com.hbm.interfaces.IDummy; -import com.hbm.main.MainRegistry; -import com.hbm.tileentity.machine.TileEntityAMSEmitter; -import com.hbm.tileentity.machine.TileEntityDummy; - -import cpw.mods.fml.common.network.internal.FMLNetworkHandler; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; - -public class DummyBlockAMSEmitter extends BlockContainer implements IDummy { - - public static boolean safeBreak = false; - - public DummyBlockAMSEmitter(Material p_i45386_1_) { - super(p_i45386_1_); - } - - @Override - public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return new TileEntityDummy(); - } - - @Override - public void breakBlock(World world, int x, int y, int z, Block block, int i) - { - if(!safeBreak) { - TileEntity te = world.getTileEntity(x, y, z); - if(te != null && te instanceof TileEntityDummy) { - int a = ((TileEntityDummy)te).targetX; - int b = ((TileEntityDummy)te).targetY; - int c = ((TileEntityDummy)te).targetZ; - - //world.getBlock(a, b, c).breakBlock(world, a, b, c, block, i); - if(!world.isRemote) - world.func_147480_a(a, b, c, true); - } - } - world.removeTileEntity(x, y, z); - } - - @Override - public int getRenderType() { - return -1; - } - - @Override - public boolean isOpaqueCube() { - return false; - } - - @Override - public boolean renderAsNormalBlock() { - return false; - } - - @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) - { - return null; - } - - @Override - @SideOnly(Side.CLIENT) - public Item getItem(World world, int x, int y, int z) - { - return Item.getItemFromBlock(ModBlocks.ams_emitter); - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(world.isRemote) - { - return true; - } else if(!player.isSneaking()) - { - TileEntity te = world.getTileEntity(x, y, z); - if(te != null && te instanceof TileEntityDummy) { - int a = ((TileEntityDummy)te).targetX; - int b = ((TileEntityDummy)te).targetY; - int c = ((TileEntityDummy)te).targetZ; - - TileEntityAMSEmitter entity = (TileEntityAMSEmitter) world.getTileEntity(a, b, c); - if(entity != null) - { - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, a, b, c); - } - } - return true; - } else { - return false; - } - } -} diff --git a/src/main/java/com/hbm/blocks/machine/DummyBlockAMSLimiter.java b/src/main/java/com/hbm/blocks/machine/DummyBlockAMSLimiter.java deleted file mode 100644 index 330756b58..000000000 --- a/src/main/java/com/hbm/blocks/machine/DummyBlockAMSLimiter.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.hbm.blocks.machine; - -import java.util.Random; - -import com.hbm.blocks.ModBlocks; -import com.hbm.interfaces.IDummy; -import com.hbm.main.MainRegistry; -import com.hbm.tileentity.machine.TileEntityAMSLimiter; -import com.hbm.tileentity.machine.TileEntityDummy; - -import cpw.mods.fml.common.network.internal.FMLNetworkHandler; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; - -public class DummyBlockAMSLimiter extends BlockContainer implements IDummy { - - public static boolean safeBreak = false; - - public DummyBlockAMSLimiter(Material p_i45386_1_) { - super(p_i45386_1_); - } - - @Override - public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return new TileEntityDummy(); - } - - @Override - public void breakBlock(World world, int x, int y, int z, Block block, int i) - { - if(!safeBreak) { - TileEntity te = world.getTileEntity(x, y, z); - if(te != null && te instanceof TileEntityDummy) { - int a = ((TileEntityDummy)te).targetX; - int b = ((TileEntityDummy)te).targetY; - int c = ((TileEntityDummy)te).targetZ; - - //world.getBlock(a, b, c).breakBlock(world, a, b, c, block, i); - if(!world.isRemote) - world.func_147480_a(a, b, c, true); - } - } - world.removeTileEntity(x, y, z); - } - - @Override - public int getRenderType() { - return -1; - } - - @Override - public boolean isOpaqueCube() { - return false; - } - - @Override - public boolean renderAsNormalBlock() { - return false; - } - - @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) - { - return null; - } - - @Override - @SideOnly(Side.CLIENT) - public Item getItem(World world, int x, int y, int z) - { - return Item.getItemFromBlock(ModBlocks.ams_limiter); - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(world.isRemote) - { - return true; - } else if(!player.isSneaking()) - { - TileEntity te = world.getTileEntity(x, y, z); - if(te != null && te instanceof TileEntityDummy) { - int a = ((TileEntityDummy)te).targetX; - int b = ((TileEntityDummy)te).targetY; - int c = ((TileEntityDummy)te).targetZ; - - TileEntityAMSLimiter entity = (TileEntityAMSLimiter) world.getTileEntity(a, b, c); - if(entity != null) - { - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, a, b, c); - } - } - return true; - } else { - return false; - } - } -} diff --git a/src/main/java/com/hbm/blocks/machine/DummyBlockDrill.java b/src/main/java/com/hbm/blocks/machine/DummyBlockDrill.java deleted file mode 100644 index 752120244..000000000 --- a/src/main/java/com/hbm/blocks/machine/DummyBlockDrill.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.hbm.blocks.machine; - - -import com.hbm.blocks.ModBlocks; -import com.hbm.main.MainRegistry; -import com.hbm.tileentity.machine.TileEntityDummy; -import com.hbm.tileentity.machine.TileEntityMachineMiningDrill; - -import cpw.mods.fml.common.network.internal.FMLNetworkHandler; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.material.Material; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; - -public class DummyBlockDrill extends DummyOldBase { - - public DummyBlockDrill(Material p_i45386_1_, boolean port) { - super(p_i45386_1_, port); - } - - @Override - public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return new TileEntityDummy(); - } - - @Override - @SideOnly(Side.CLIENT) - public Item getItem(World world, int x, int y, int z) - { - return Item.getItemFromBlock(ModBlocks.machine_drill); - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(world.isRemote) - { - return true; - } else if(!player.isSneaking()) - { - TileEntity te = world.getTileEntity(x, y, z); - if(te != null && te instanceof TileEntityDummy) { - int a = ((TileEntityDummy)te).targetX; - int b = ((TileEntityDummy)te).targetY; - int c = ((TileEntityDummy)te).targetZ; - - TileEntityMachineMiningDrill entity = (TileEntityMachineMiningDrill) world.getTileEntity(a, b, c); - if(entity != null) - { - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, a, b, c); - } - } - return true; - } else { - return false; - } - } - -} diff --git a/src/main/java/com/hbm/blocks/machine/DummyOldBase.java b/src/main/java/com/hbm/blocks/machine/DummyOldBase.java index 4d5c183fd..da688e90f 100644 --- a/src/main/java/com/hbm/blocks/machine/DummyOldBase.java +++ b/src/main/java/com/hbm/blocks/machine/DummyOldBase.java @@ -7,7 +7,7 @@ import com.hbm.interfaces.IMultiblock; import com.hbm.inventory.fluid.FluidType; import com.hbm.tileentity.machine.TileEntityDummy; -import api.hbm.energy.IEnergyConnectorBlock; +import api.hbm.energymk2.IEnergyConnectorBlock; import api.hbm.fluid.IFluidConnectorBlock; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; diff --git a/src/main/java/com/hbm/blocks/machine/FWatzCore.java b/src/main/java/com/hbm/blocks/machine/FWatzCore.java deleted file mode 100644 index 252cbab01..000000000 --- a/src/main/java/com/hbm/blocks/machine/FWatzCore.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.hbm.blocks.machine; - -import com.hbm.tileentity.machine.TileEntityFWatzCore; - -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; - -public class FWatzCore extends BlockContainer { - - public FWatzCore(Material p_i45386_1_) { - super(p_i45386_1_); - } - - @Override - public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return new TileEntityFWatzCore(); - } - -} diff --git a/src/main/java/com/hbm/blocks/machine/FWatzHatch.java b/src/main/java/com/hbm/blocks/machine/FWatzHatch.java deleted file mode 100644 index 69a7e5871..000000000 --- a/src/main/java/com/hbm/blocks/machine/FWatzHatch.java +++ /dev/null @@ -1,167 +0,0 @@ -package com.hbm.blocks.machine; - -import java.util.Random; - -import com.hbm.inventory.fluid.FluidType; -import com.hbm.inventory.fluid.Fluids; -import com.hbm.lib.RefStrings; -import com.hbm.main.MainRegistry; -import com.hbm.tileentity.machine.TileEntityFWatzCore; - -import api.hbm.energy.IEnergyConnectorBlock; -import api.hbm.fluid.IFluidConnectorBlock; -import cpw.mods.fml.common.network.internal.FMLNetworkHandler; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.IIcon; -import net.minecraft.util.MathHelper; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -public class FWatzHatch extends Block implements IEnergyConnectorBlock, IFluidConnectorBlock { - - @SideOnly(Side.CLIENT) - private IIcon iconFront; - private IIcon iconTop; - - public FWatzHatch(Material p_i45394_1_) { - super(p_i45394_1_); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) { - this.iconFront = iconRegister.registerIcon(RefStrings.MODID + ":fwatz_hatch"); - this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":fwatz_scaffold"); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":fwatz_scaffold"); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int metadata) { - return side == 1 ? this.iconTop : (side == 0 ? this.iconTop : (metadata == 0 && side == 3 ? this.iconFront : (side == metadata ? this.iconFront : this.blockIcon))); - } - - @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) - { - return Item.getItemFromBlock(this); - } - - @Override - public void onBlockAdded(World world, int x, int y, int z) { - super.onBlockAdded(world, x, y, z); - //this.setDefaultDirection(world, x, y, z); - } - - @Override - public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { - int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; - - if(i == 0) - { - world.setBlockMetadataWithNotify(x, y, z, 2, 2); - } - if(i == 1) - { - world.setBlockMetadataWithNotify(x, y, z, 5, 2); - } - if(i == 2) - { - world.setBlockMetadataWithNotify(x, y, z, 3, 2); - } - if(i == 3) - { - world.setBlockMetadataWithNotify(x, y, z, 4, 2); - } - } - - //this is fucking atrocious - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(world.isRemote) - { - return true; - } else if(!player.isSneaking()) - { - if(world.getBlockMetadata(x, y, z) == 2) - { - if(world.getTileEntity(x, y + 11, z + 9) instanceof TileEntityFWatzCore) - { - if(((TileEntityFWatzCore)world.getTileEntity(x, y + 11, z + 9)).isStructureValid(world)) - { - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y + 11, z + 9); - } else { - player.addChatMessage(new ChatComponentText("[Fusionary Watz Plant] Error: Reactor Structure not valid!")); - } - } else { - player.addChatMessage(new ChatComponentText("[Fusionary Watz Plant] Error: Reactor Core not found!")); - } - } - if(world.getBlockMetadata(x, y, z) == 3) - { - if(world.getTileEntity(x, y + 11, z - 9) instanceof TileEntityFWatzCore) - { - if(((TileEntityFWatzCore)world.getTileEntity(x, y + 11, z - 9)).isStructureValid(world)) - { - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y + 11, z - 9); - } else { - player.addChatMessage(new ChatComponentText("[Fusionary Watz Plant] Error: Reactor Structure not valid!")); - } - } else { - player.addChatMessage(new ChatComponentText("[Fusionary Watz Plant] Error: Reactor Core not found!")); - } - } - if(world.getBlockMetadata(x, y, z) == 4) - { - if(world.getTileEntity(x + 9, y + 11, z) instanceof TileEntityFWatzCore) - { - if(((TileEntityFWatzCore)world.getTileEntity(x + 9, y + 11, z)).isStructureValid(world)) - { - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x + 9, y + 11, z); - } else { - player.addChatMessage(new ChatComponentText("[Fusionary Watz Plant] Error: Reactor Structure not valid!")); - } - } else { - player.addChatMessage(new ChatComponentText("[Fusionary Watz Plant] Error: Reactor Core not found!")); - } - } - if(world.getBlockMetadata(x, y, z) == 5) - { - if(world.getTileEntity(x - 9, y + 11, z) instanceof TileEntityFWatzCore) - { - if(((TileEntityFWatzCore)world.getTileEntity(x - 9, y + 11, z)).isStructureValid(world)) - { - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x - 9, y + 11, z); - } else { - player.addChatMessage(new ChatComponentText("[Fusionary Watz Plant] Error: Reactor Structure not valid!")); - } - } else { - player.addChatMessage(new ChatComponentText("[Fusionary Watz Plant] Error: Reactor Core not found!")); - } - } - return true; - } else { - return false; - } - } - - @Override - public boolean canConnect(FluidType type, IBlockAccess world, int x, int y, int z, ForgeDirection dir) { - return type == Fluids.AMAT || type == Fluids.ASCHRAB; - } - - @Override - public boolean canConnect(IBlockAccess world, int x, int y, int z, ForgeDirection dir) { - return true; - } -} diff --git a/src/main/java/com/hbm/blocks/machine/FoundryCastingBase.java b/src/main/java/com/hbm/blocks/machine/FoundryCastingBase.java index 1ced99e75..661bab7cd 100644 --- a/src/main/java/com/hbm/blocks/machine/FoundryCastingBase.java +++ b/src/main/java/com/hbm/blocks/machine/FoundryCastingBase.java @@ -170,8 +170,8 @@ public abstract class FoundryCastingBase extends BlockContainer implements ICruc TileEntityFoundryCastingBase cast = (TileEntityFoundryCastingBase) world.getTileEntity(x, y, z); - if(cast.slots[0] == null) - return false; + if(cast.slots[0] == null) return false; + if(cast.amount > 0) return false; if(!player.inventory.addItemStackToInventory(cast.slots[0].copy())) { EntityItem item = new EntityItem(world, x + 0.5, y + this.maxY, z + 0.5, cast.slots[0].copy()); diff --git a/src/main/java/com/hbm/blocks/machine/FoundryChannel.java b/src/main/java/com/hbm/blocks/machine/FoundryChannel.java index e692c3bf9..ae43ea2d9 100644 --- a/src/main/java/com/hbm/blocks/machine/FoundryChannel.java +++ b/src/main/java/com/hbm/blocks/machine/FoundryChannel.java @@ -128,10 +128,10 @@ public class FoundryChannel extends BlockContainer implements ICrucibleAcceptor Block b = world.getBlock(x + dir.offsetX, y, z + dir.offsetZ); int meta = world.getBlockMetadata(x + dir.offsetX, y, z + dir.offsetZ); - if(b == ModBlocks.foundry_outlet && meta == dir.ordinal()) + if((b == ModBlocks.foundry_outlet || b == ModBlocks.foundry_slagtap) && meta == dir.ordinal()) return true; - return b == ModBlocks.foundry_channel || b == ModBlocks.foundry_mold || b == ModBlocks.foundry_slagtap; + return b == ModBlocks.foundry_channel || b == ModBlocks.foundry_mold; } public static int renderID = RenderingRegistry.getNextAvailableRenderId(); diff --git a/src/main/java/com/hbm/blocks/machine/FoundrySlagtap.java b/src/main/java/com/hbm/blocks/machine/FoundrySlagtap.java index b001d1157..e2543deaf 100644 --- a/src/main/java/com/hbm/blocks/machine/FoundrySlagtap.java +++ b/src/main/java/com/hbm/blocks/machine/FoundrySlagtap.java @@ -6,10 +6,8 @@ import com.hbm.tileentity.machine.TileEntityFoundrySlagtap; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; -import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; public class FoundrySlagtap extends FoundryOutlet { @@ -28,8 +26,5 @@ public class FoundrySlagtap extends FoundryOutlet { public TileEntity createNewTileEntity(World world, int meta) { return new TileEntityFoundrySlagtap(); } - - @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { return false; } - @Override public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { return false; } - @Override public void printHook(Pre event, World world, int x, int y, int z) { } + } diff --git a/src/main/java/com/hbm/blocks/machine/HeaterHeatex.java b/src/main/java/com/hbm/blocks/machine/HeaterHeatex.java index ddc4c63dc..1eb152a67 100644 --- a/src/main/java/com/hbm/blocks/machine/HeaterHeatex.java +++ b/src/main/java/com/hbm/blocks/machine/HeaterHeatex.java @@ -7,14 +7,22 @@ import java.util.Locale; import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ILookOverlay; import com.hbm.blocks.ITooltipProvider; +import com.hbm.inventory.fluid.FluidType; +import com.hbm.items.machine.IItemFluidIdentifier; +import com.hbm.main.MainRegistry; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityHeaterHeatex; import com.hbm.util.I18nUtil; +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.ChatComponentTranslation; +import net.minecraft.util.ChatStyle; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; import net.minecraftforge.common.util.ForgeDirection; @@ -45,7 +53,34 @@ public class HeaterHeatex extends BlockDummyable implements ILookOverlay, IToolt @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - return this.standardOpenBehavior(world, x, y, z, player, 0); + + if(world.isRemote) { + return true; + } else { + int[] pos = this.findCore(world, x, y, z); + + if(pos == null) + return false; + + if(player.isSneaking()) { + TileEntityHeaterHeatex trialEntity = (TileEntityHeaterHeatex) world.getTileEntity(pos[0], pos[1], pos[2]); + + if(trialEntity != null) { + if(player.getHeldItem() != null && player.getHeldItem().getItem() instanceof IItemFluidIdentifier) { + FluidType type = ((IItemFluidIdentifier) player.getHeldItem().getItem()).getType(world, pos[0], pos[1], pos[2], player.getHeldItem()); + + trialEntity.tanks[0].setTankType(type); + trialEntity.markDirty(); + player.addChatComponentMessage(new ChatComponentText("Changed type to ").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW)).appendSibling(new ChatComponentTranslation(type.getConditionalName())).appendSibling(new ChatComponentText("!"))); + return true; + } + } + } else { + FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, pos[0], pos[1], pos[2]); + } + + return true; + } } @Override diff --git a/src/main/java/com/hbm/blocks/machine/MachineAutocrafter.java b/src/main/java/com/hbm/blocks/machine/MachineAutocrafter.java index f4fabf399..1c922fab5 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineAutocrafter.java +++ b/src/main/java/com/hbm/blocks/machine/MachineAutocrafter.java @@ -24,10 +24,8 @@ import net.minecraft.world.World; public class MachineAutocrafter extends BlockContainer { - @SideOnly(Side.CLIENT) - private IIcon iconTop; - @SideOnly(Side.CLIENT) - private IIcon iconBottom; + @SideOnly(Side.CLIENT) private IIcon iconTop; + @SideOnly(Side.CLIENT) private IIcon iconBottom; public MachineAutocrafter() { super(Material.iron); @@ -67,48 +65,48 @@ public class MachineAutocrafter extends BlockContainer { } } - private final Random field_149933_a = new Random(); + private final Random rand = new Random(); @Override - public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, int p_149749_6_) { - ISidedInventory tileentityfurnace = (ISidedInventory) p_149749_1_.getTileEntity(p_149749_2_, p_149749_3_, p_149749_4_); + public void breakBlock(World world, int x, int y, int z, Block block, int meta) { + ISidedInventory tile = (ISidedInventory) world.getTileEntity(x, y, z); - if(tileentityfurnace != null) { + if(tile != null) { - for(int i1 = 10; i1 < tileentityfurnace.getSizeInventory(); ++i1) { - ItemStack itemstack = tileentityfurnace.getStackInSlot(i1); + for(int i1 = 10; i1 < tile.getSizeInventory(); ++i1) { + ItemStack itemstack = tile.getStackInSlot(i1); if(itemstack != null) { - float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; - float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; - float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; + float f = this.rand.nextFloat() * 0.8F + 0.1F; + float f1 = this.rand.nextFloat() * 0.8F + 0.1F; + float f2 = this.rand.nextFloat() * 0.8F + 0.1F; while(itemstack.stackSize > 0) { - int j1 = this.field_149933_a.nextInt(21) + 10; + int j1 = this.rand.nextInt(21) + 10; if(j1 > itemstack.stackSize) { j1 = itemstack.stackSize; } itemstack.stackSize -= j1; - EntityItem entityitem = new EntityItem(p_149749_1_, p_149749_2_ + f, p_149749_3_ + f1, p_149749_4_ + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + EntityItem entityitem = new EntityItem(world, x + f, y + f1, z + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); if(itemstack.hasTagCompound()) { entityitem.getEntityItem().setTagCompound((NBTTagCompound) itemstack.getTagCompound().copy()); } float f3 = 0.05F; - entityitem.motionX = (float) this.field_149933_a.nextGaussian() * f3; - entityitem.motionY = (float) this.field_149933_a.nextGaussian() * f3 + 0.2F; - entityitem.motionZ = (float) this.field_149933_a.nextGaussian() * f3; - p_149749_1_.spawnEntityInWorld(entityitem); + entityitem.motionX = (float) this.rand.nextGaussian() * f3; + entityitem.motionY = (float) this.rand.nextGaussian() * f3 + 0.2F; + entityitem.motionZ = (float) this.rand.nextGaussian() * f3; + world.spawnEntityInWorld(entityitem); } } } - p_149749_1_.func_147453_f(p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_); + world.func_147453_f(x, y, z, block); } - super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); + super.breakBlock(world, x, y, z, block, meta); } } diff --git a/src/main/java/com/hbm/blocks/machine/MachineBigAssTank9000.java b/src/main/java/com/hbm/blocks/machine/MachineBigAssTank9000.java index 300f9b019..32ba803a3 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineBigAssTank9000.java +++ b/src/main/java/com/hbm/blocks/machine/MachineBigAssTank9000.java @@ -101,17 +101,17 @@ public class MachineBigAssTank9000 extends BlockDummyable implements IPersistent TileEntityMachineBAT9000 trialEntity = (TileEntityMachineBAT9000) world.getTileEntity(pos[0], pos[1], pos[2]); if(trialEntity != null) { - if(player.getHeldItem() != null && player.getHeldItem().getItem() instanceof IItemFluidIdentifier) { - FluidType type = ((IItemFluidIdentifier) player.getHeldItem().getItem()).getType(world, pos[0], pos[1], pos[2], player.getHeldItem()); + if(player.getHeldItem() != null && player.getHeldItem().getItem() instanceof IItemFluidIdentifier) { + FluidType type = ((IItemFluidIdentifier) player.getHeldItem().getItem()).getType(world, pos[0], pos[1], pos[2], player.getHeldItem()); - trialEntity.tank.setTankType(type); - trialEntity.markDirty(); - player.addChatComponentMessage(new ChatComponentText("Changed type to ").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW)).appendSibling(new ChatComponentTranslation(type.getConditionalName())).appendSibling(new ChatComponentText("!"))); + trialEntity.tank.setTankType(type); + trialEntity.markDirty(); + player.addChatComponentMessage(new ChatComponentText("Changed type to ").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW)).appendSibling(new ChatComponentTranslation(type.getConditionalName())).appendSibling(new ChatComponentText("!"))); } - } - + } + return true; - }else { + } else { return true; } } @@ -129,13 +129,21 @@ public class MachineBigAssTank9000 extends BlockDummyable implements IPersistent @Override public int getComparatorInputOverride(World world, int x, int y, int z, int side) { - TileEntity te = world.getTileEntity(x, y, z); - - if(!(te instanceof TileEntityMachineBAT9000)) - return 0; - - TileEntityMachineBAT9000 tank = (TileEntityMachineBAT9000) te; - return tank.getComparatorPower(); + int meta = world.getBlockMetadata(x, y, z); + + if(meta >= 6) { + int[] pos = this.findCore(world, x, y, z); + if(pos == null) return 0; + TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]); + + if(!(te instanceof TileEntityMachineBAT9000)) + return 0; + + TileEntityMachineBAT9000 tank = (TileEntityMachineBAT9000) te; + return tank.getComparatorPower(); + } + + return 0; } @Override diff --git a/src/main/java/com/hbm/blocks/machine/MachineBrickFurnace.java b/src/main/java/com/hbm/blocks/machine/MachineBrickFurnace.java new file mode 100644 index 000000000..48054e36e --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/MachineBrickFurnace.java @@ -0,0 +1,172 @@ +package com.hbm.blocks.machine; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.machine.TileEntityFurnaceBrick; +import com.hbm.util.ItemStackUtil; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class MachineBrickFurnace extends BlockContainer { + + private final Random rand = new Random(); + private final boolean isActive; + private static boolean keepInventory; + + @SideOnly(Side.CLIENT) private IIcon iconTop; + @SideOnly(Side.CLIENT) private IIcon iconBottom; + @SideOnly(Side.CLIENT) private IIcon iconFront; + + public MachineBrickFurnace(boolean blockState) { + super(Material.iron); + isActive = blockState; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":machine_furnace_brick_top"); + this.iconBottom = iconRegister.registerIcon(RefStrings.MODID + ":machine_furnace_brick_bottom"); + this.iconFront = iconRegister.registerIcon(RefStrings.MODID + (this.isActive ? ":machine_furnace_brick_front_on" : ":machine_furnace_brick_front_off")); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_furnace_brick_side"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int metadata) { + return metadata == 0 && side == 3 ? this.iconFront : (side == metadata ? this.iconFront : (side == 1 ? this.iconTop : (side == 0 ? this.iconBottom : this.blockIcon))); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityFurnaceBrick(); + } + + @Override + @SideOnly(Side.CLIENT) + public Item getItem(World world, int x, int y, int z) { + return Item.getItemFromBlock(ModBlocks.machine_furnace_brick_off); + } + + @Override + public void onBlockAdded(World world, int x, int y, int z) { + super.onBlockAdded(world, x, y, z); + this.setDefaultDirection(world, x, y, z); + } + + private void setDefaultDirection(World world, int x, int y, int z) { + if(!world.isRemote) { + Block nZ = world.getBlock(x, y, z - 1); + Block pZ = world.getBlock(x, y, z + 1); + Block nX = world.getBlock(x - 1, y, z); + Block pX = world.getBlock(x + 1, y, z); + + byte meta = 3; + + if(nZ.func_149730_j() && !pZ.func_149730_j()) meta = 3; + if(pZ.func_149730_j() && !nZ.func_149730_j()) meta = 2; + if(nX.func_149730_j() && !pX.func_149730_j()) meta = 5; + if(pX.func_149730_j() && !nX.func_149730_j()) meta = 4; + + world.setBlockMetadataWithNotify(x, y, z, meta, 2); + } + } + + @Override + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; + if(i == 0) world.setBlockMetadataWithNotify(x, y, z, 2, 2); + if(i == 1) world.setBlockMetadataWithNotify(x, y, z, 5, 2); + if(i == 2) world.setBlockMetadataWithNotify(x, y, z, 3, 2); + if(i == 3) world.setBlockMetadataWithNotify(x, y, z, 4, 2); + + if(itemStack.hasDisplayName()) ((TileEntityFurnaceBrick)world.getTileEntity(x, y, z)).setCustomName(itemStack.getDisplayName()); + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + if(world.isRemote) { + return true; + } else if(!player.isSneaking()) { + TileEntityFurnaceBrick entity = (TileEntityFurnaceBrick) world.getTileEntity(x, y, z); + if(entity != null) { + FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z); + } + return true; + } else { + return false; + } + } + + public static void updateBlockState(boolean isProcessing, World world, int x, int y, int z) { + int i = world.getBlockMetadata(x, y, z); + TileEntity entity = world.getTileEntity(x, y, z); + keepInventory = true; + + if(isProcessing) { + world.setBlock(x, y, z, ModBlocks.machine_furnace_brick_on); + } else { + world.setBlock(x, y, z, ModBlocks.machine_furnace_brick_off); + } + + keepInventory = false; + world.setBlockMetadataWithNotify(x, y, z, i, 2); + + if(entity != null) { + entity.validate(); + world.setTileEntity(x, y, z, entity); + } + } + + @Override + public void breakBlock(World world, int x, int y, int z, Block block, int meta) { + if(!keepInventory) ItemStackUtil.spillItems(world, x, y, z, block, rand); + super.breakBlock(world, x, y, z, block, meta); + } + + @Override + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World world, int x, int y, int z, Random rand) { + if(isActive) { + int meta = world.getBlockMetadata(x, y, z); + float cX = x + 0.5F; + float cY = y + rand.nextFloat() * 0.375F; + float cZ = z + 0.5F; + float off = 0.52F; + float var = rand.nextFloat() * 0.6F - 0.3F; + rand.nextFloat(); + rand.nextFloat(); + + if(meta == 4) { + world.spawnParticle("smoke", cX - off, cY, cZ + var, 0.0D, 0.0D, 0.0D); + world.spawnParticle("flame", cX - off, cY, cZ + var, 0.0D, 0.0D, 0.0D); + } else if(meta == 5) { + world.spawnParticle("smoke", cX + off, cY, cZ + var, 0.0D, 0.0D, 0.0D); + world.spawnParticle("flame", cX + off, cY, cZ + var, 0.0D, 0.0D, 0.0D); + } else if(meta == 2) { + world.spawnParticle("smoke", cX + var, cY, cZ - off, 0.0D, 0.0D, 0.0D); + world.spawnParticle("flame", cX + var, cY, cZ - off, 0.0D, 0.0D, 0.0D); + } else if(meta == 3) { + world.spawnParticle("smoke", cX + var, cY, cZ + off, 0.0D, 0.0D, 0.0D); + world.spawnParticle("flame", cX + var, cY, cZ + off, 0.0D, 0.0D, 0.0D); + } + } + } +} diff --git a/src/main/java/com/hbm/blocks/machine/MachineCMBFactory.java b/src/main/java/com/hbm/blocks/machine/MachineCMBFactory.java deleted file mode 100644 index 92210dd35..000000000 --- a/src/main/java/com/hbm/blocks/machine/MachineCMBFactory.java +++ /dev/null @@ -1,131 +0,0 @@ -package com.hbm.blocks.machine; - -import java.util.Random; - -import com.hbm.blocks.ModBlocks; -import com.hbm.lib.RefStrings; -import com.hbm.main.MainRegistry; -import com.hbm.tileentity.machine.TileEntityMachineCMBFactory; - -import cpw.mods.fml.common.network.internal.FMLNetworkHandler; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; - -public class MachineCMBFactory extends BlockContainer { - - private final Random field_149933_a = new Random(); - private static boolean keepInventory; - - @SideOnly(Side.CLIENT) - private IIcon iconTop; - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) { - this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":machine_cmb_top"); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_cmb_side"); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int metadata) { - return side == 1 ? this.iconTop : (side == 0 ? this.iconTop : this.blockIcon); - } - - @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) - { - return Item.getItemFromBlock(ModBlocks.machine_combine_factory); - } - - public MachineCMBFactory(Material p_i45386_1_) { - super(p_i45386_1_); - } - - @Override - public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return new TileEntityMachineCMBFactory(); - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(world.isRemote) - { - return true; - } else if(!player.isSneaking()) - { - TileEntityMachineCMBFactory entity = (TileEntityMachineCMBFactory) world.getTileEntity(x, y, z); - if(entity != null) - { - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z); - } - return true; - } else { - return false; - } - } - - @Override - public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, int p_149749_6_) - { - if (!keepInventory) - { - TileEntityMachineCMBFactory tileentityfurnace = (TileEntityMachineCMBFactory)p_149749_1_.getTileEntity(p_149749_2_, p_149749_3_, p_149749_4_); - - if (tileentityfurnace != null) - { - for (int i1 = 0; i1 < tileentityfurnace.getSizeInventory(); ++i1) - { - ItemStack itemstack = tileentityfurnace.getStackInSlot(i1); - - if (itemstack != null) - { - float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; - float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; - float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; - - while (itemstack.stackSize > 0) - { - int j1 = this.field_149933_a.nextInt(21) + 10; - - if (j1 > itemstack.stackSize) - { - j1 = itemstack.stackSize; - } - - itemstack.stackSize -= j1; - EntityItem entityitem = new EntityItem(p_149749_1_, p_149749_2_ + f, p_149749_3_ + f1, p_149749_4_ + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); - - if (itemstack.hasTagCompound()) - { - entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); - } - - float f3 = 0.05F; - entityitem.motionX = (float)this.field_149933_a.nextGaussian() * f3; - entityitem.motionY = (float)this.field_149933_a.nextGaussian() * f3 + 0.2F; - entityitem.motionZ = (float)this.field_149933_a.nextGaussian() * f3; - p_149749_1_.spawnEntityInWorld(entityitem); - } - } - } - - p_149749_1_.func_147453_f(p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_); - } - } - - super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); - } -} diff --git a/src/main/java/com/hbm/blocks/machine/MachineCapacitor.java b/src/main/java/com/hbm/blocks/machine/MachineCapacitor.java index be083f6e3..5abb1e502 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineCapacitor.java +++ b/src/main/java/com/hbm/blocks/machine/MachineCapacitor.java @@ -17,7 +17,8 @@ import com.hbm.util.BobMathUtil; import com.hbm.util.I18nUtil; import com.hbm.util.fauxpointtwelve.BlockPos; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyProviderMK2; +import api.hbm.energymk2.IEnergyReceiverMK2; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -145,11 +146,10 @@ public class MachineCapacitor extends BlockContainer implements ILookOverlay, IP player.addExhaustion(0.025F); } - public static class TileEntityCapacitor extends TileEntityLoadedBase implements IEnergyUser, INBTPacketReceiver, IPersistentNBT { + public static class TileEntityCapacitor extends TileEntityLoadedBase implements IEnergyProviderMK2, IEnergyReceiverMK2, INBTPacketReceiver, IPersistentNBT { public long power; protected long maxPower; - public long prevPower; public long powerReceived; public long powerSent; @@ -164,8 +164,6 @@ public class MachineCapacitor extends BlockContainer implements ILookOverlay, IP if(!worldObj.isRemote) { - long gain = power - prevPower; - ForgeDirection opp = ForgeDirection.getOrientation(this.getBlockMetadata()); ForgeDirection dir = opp.getOpposite(); @@ -187,26 +185,45 @@ public class MachineCapacitor extends BlockContainer implements ILookOverlay, IP pos = pos.offset(current); } - long preSend = power; if(pos != null && last != null) { this.tryUnsubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ()); - this.sendPower(worldObj, pos.getX(), pos.getY(), pos.getZ(), last); + this.tryProvide(worldObj, pos.getX(), pos.getY(), pos.getZ(), last); } - long sent = preSend - power; this.trySubscribe(worldObj, xCoord + opp.offsetX, yCoord+ opp.offsetY, zCoord + opp.offsetZ, opp); NBTTagCompound data = new NBTTagCompound(); data.setLong("power", power); data.setLong("maxPower", maxPower); - data.setLong("rec", gain); - data.setLong("sent", sent); + data.setLong("rec", powerReceived); + data.setLong("sent", powerSent); INBTPacketReceiver.networkPack(this, data, 15); - this.prevPower = power; + this.powerSent = 0; + this.powerReceived = 0; } } + @Override + public long transferPower(long power) { + if(power + this.getPower() <= this.getMaxPower()) { + this.setPower(power + this.getPower()); + this.powerReceived += power; + return 0; + } + long capacity = this.getMaxPower() - this.getPower(); + long overshoot = power - capacity; + this.powerReceived += (this.getMaxPower() - this.getPower()); + this.setPower(this.getMaxPower()); + return overshoot; + } + + @Override + public void usePower(long power) { + this.powerSent += Math.min(this.getPower(), power); + this.setPower(this.getPower() - power); + } + @Override public void networkUnpack(NBTTagCompound nbt) { this.power = nbt.getLong("power"); diff --git a/src/main/java/com/hbm/blocks/machine/MachineCapacitorBus.java b/src/main/java/com/hbm/blocks/machine/MachineCapacitorBus.java index fa7aa8dbe..dade916fa 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineCapacitorBus.java +++ b/src/main/java/com/hbm/blocks/machine/MachineCapacitorBus.java @@ -5,7 +5,7 @@ import java.util.List; import com.hbm.blocks.ITooltipProvider; import com.hbm.lib.RefStrings; -import api.hbm.energy.IEnergyConnectorBlock; +import api.hbm.energymk2.IEnergyConnectorBlock; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; diff --git a/src/main/java/com/hbm/blocks/machine/MachineCatalyticReformer.java b/src/main/java/com/hbm/blocks/machine/MachineCatalyticReformer.java index 9d40aefe7..80c9f2aef 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineCatalyticReformer.java +++ b/src/main/java/com/hbm/blocks/machine/MachineCatalyticReformer.java @@ -1,17 +1,25 @@ package com.hbm.blocks.machine; +import java.util.List; + import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.IPersistentInfoProvider; import com.hbm.handler.MultiblockHandlerXR; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.oil.TileEntityMachineCatalyticReformer; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class MachineCatalyticReformer extends BlockDummyable { +public class MachineCatalyticReformer extends BlockDummyable implements IPersistentInfoProvider { public MachineCatalyticReformer(Material mat) { super(mat); @@ -61,4 +69,14 @@ public class MachineCatalyticReformer extends BlockDummyable { public int getOffset() { return 1; } + + @Override + public void addInformation(ItemStack stack, NBTTagCompound persistentTag, EntityPlayer player, List list, boolean ext) { + + for(int i = 0; i < 4; i++) { + FluidTank tank = new FluidTank(Fluids.NONE, 0); + tank.readFromNBT(persistentTag, "" + i); + list.add(EnumChatFormatting.YELLOW + "" + tank.getFill() + "/" + tank.getMaxFill() + "mB " + tank.getTankType().getLocalizedName()); + } + } } diff --git a/src/main/java/com/hbm/blocks/machine/MachineCentrifuge.java b/src/main/java/com/hbm/blocks/machine/MachineCentrifuge.java index b1315d224..3cfc64582 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineCentrifuge.java +++ b/src/main/java/com/hbm/blocks/machine/MachineCentrifuge.java @@ -19,6 +19,7 @@ public class MachineCentrifuge extends BlockDummyable { super(mat); this.bounding.add(AxisAlignedBB.getBoundingBox(-0.5D, 0D, -0.5D, 0.5D, 1D, 0.5D)); this.bounding.add(AxisAlignedBB.getBoundingBox(-0.375D, 1D, -0.375D, 0.375D, 4D, 0.375D)); + this.maxY = 0.999D; //item bounce prevention } @Override diff --git a/src/main/java/com/hbm/blocks/machine/MachineCoal.java b/src/main/java/com/hbm/blocks/machine/MachineCoal.java deleted file mode 100644 index 4b28a5e94..000000000 --- a/src/main/java/com/hbm/blocks/machine/MachineCoal.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.hbm.blocks.machine; - -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; - -import com.hbm.tileentity.machine.TileEntityMachineCoal; - -@Deprecated -public class MachineCoal extends BlockContainer { - - public MachineCoal(boolean blockState) { - super(Material.iron); - } - - @Override - public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return new TileEntityMachineCoal(); - } -} diff --git a/src/main/java/com/hbm/blocks/machine/MachineCrucible.java b/src/main/java/com/hbm/blocks/machine/MachineCrucible.java index b2ccf824c..cb9671776 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineCrucible.java +++ b/src/main/java/com/hbm/blocks/machine/MachineCrucible.java @@ -37,6 +37,7 @@ public class MachineCrucible extends BlockDummyable implements ICrucibleAcceptor this.bounding.add(AxisAlignedBB.getBoundingBox(-1.25D, 0.5D, -1.25D, -1D, 1.5D, 1.25D)); this.bounding.add(AxisAlignedBB.getBoundingBox(-1.25D, 0.5D, 1D, 1.25D, 1.5D, 1.25D)); this.bounding.add(AxisAlignedBB.getBoundingBox(1D, 0.5D, -1.25D, 1.25D, 1.5D, 1.25D)); + this.maxY = 0.999D; //item bounce prevention } @Override diff --git a/src/main/java/com/hbm/blocks/machine/MachineDeaerator.java b/src/main/java/com/hbm/blocks/machine/MachineDeaerator.java deleted file mode 100644 index e16e85817..000000000 --- a/src/main/java/com/hbm/blocks/machine/MachineDeaerator.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.hbm.blocks.machine; - -import com.hbm.blocks.BlockDummyable; -import com.hbm.tileentity.machine.TileEntityDeaerator; - -import net.minecraft.block.material.Material; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; - -public class MachineDeaerator extends BlockDummyable { - - public MachineDeaerator(Material mat) { - super(mat); - } - - @Override - public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return new TileEntityDeaerator(); - } - - @Override - public int[] getDimensions() { - return new int[] {2, 0, 3, 4, 1, 1}; - } - - @Override - public int getOffset() { - return 4; - } - - @Override - public int getRenderType() { - return 0; - } - - @Override - public boolean isOpaqueCube() { - return true; - } - - @Override - public boolean renderAsNormalBlock() { - return true; - } -} diff --git a/src/main/java/com/hbm/blocks/machine/MachineDrain.java b/src/main/java/com/hbm/blocks/machine/MachineDrain.java new file mode 100644 index 000000000..46aaf943e --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/MachineDrain.java @@ -0,0 +1,86 @@ +package com.hbm.blocks.machine; + +import java.util.ArrayList; +import java.util.List; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ILookOverlay; +import com.hbm.inventory.fluid.FluidType; +import com.hbm.items.machine.IItemFluidIdentifier; +import com.hbm.tileentity.machine.TileEntityMachineDrain; +import com.hbm.util.I18nUtil; + +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.ChatComponentTranslation; +import net.minecraft.util.ChatStyle; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; + +public class MachineDrain extends BlockDummyable implements ILookOverlay { + + public MachineDrain(Material mat) { + super(mat); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + if(meta >= 12) return new TileEntityMachineDrain(); + return null; + } + + @Override + public int[] getDimensions() { + return new int[] {0, 0, 2, 0, 0, 0}; + } + + @Override + public int getOffset() { + return 0; + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + + if(!world.isRemote && !player.isSneaking()) { + + if(player.getHeldItem() != null && player.getHeldItem().getItem() instanceof IItemFluidIdentifier) { + int[] pos = this.findCore(world, x, y, z); + if(pos == null) return false; + + TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]); + if(!(te instanceof TileEntityMachineDrain)) return false; + + TileEntityMachineDrain drain = (TileEntityMachineDrain) te; + + FluidType type = ((IItemFluidIdentifier) player.getHeldItem().getItem()).getType(world, pos[0], pos[1], pos[2], player.getHeldItem()); + drain.tank.setTankType(type); + drain.markDirty(); + player.addChatComponentMessage(new ChatComponentText("Changed type to ").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW)).appendSibling(new ChatComponentTranslation(type.getConditionalName())).appendSibling(new ChatComponentText("!"))); + + return true; + } + return false; + + } else { + return true; + } + } + + @Override + public void printHook(Pre event, World world, int x, int y, int z) { + int[] pos = this.findCore(world, x, y, z); + if(pos == null) return; + + TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]); + if(!(te instanceof TileEntityMachineDrain)) return; + + TileEntityMachineDrain drain = (TileEntityMachineDrain) te; + List text = new ArrayList(); + text.add(EnumChatFormatting.GREEN + "-> " + EnumChatFormatting.RESET + drain.tank.getTankType().getLocalizedName() + ": " + drain.tank.getFill() + "/" + drain.tank.getMaxFill() + "mB"); + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); + } +} diff --git a/src/main/java/com/hbm/blocks/machine/MachineFluidTank.java b/src/main/java/com/hbm/blocks/machine/MachineFluidTank.java index 32274741c..edf93170f 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineFluidTank.java +++ b/src/main/java/com/hbm/blocks/machine/MachineFluidTank.java @@ -169,13 +169,21 @@ public class MachineFluidTank extends BlockDummyable implements IPersistentInfoP @Override public int getComparatorInputOverride(World world, int x, int y, int z, int side) { - TileEntity te = world.getTileEntity(x, y, z); - - if(!(te instanceof TileEntityMachineFluidTank)) - return 0; - - TileEntityMachineFluidTank tank = (TileEntityMachineFluidTank) te; - return tank.getComparatorPower(); + int meta = world.getBlockMetadata(x, y, z); + + if(meta >= 6) { + int[] pos = this.findCore(world, x, y, z); + if(pos == null) return 0; + TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]); + + if(!(te instanceof TileEntityMachineFluidTank)) + return 0; + + TileEntityMachineFluidTank tank = (TileEntityMachineFluidTank) te; + return tank.getComparatorPower(); + } + + return 0; } @Override diff --git a/src/main/java/com/hbm/blocks/machine/MachineFunnel.java b/src/main/java/com/hbm/blocks/machine/MachineFunnel.java new file mode 100644 index 000000000..7506e2218 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/MachineFunnel.java @@ -0,0 +1,138 @@ +package com.hbm.blocks.machine; + +import java.util.List; +import java.util.Random; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.ITooltipProvider; +import com.hbm.blocks.rail.IRenderBlock; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; +import com.hbm.main.ResourceManager; +import com.hbm.render.util.ObjUtil; +import com.hbm.tileentity.machine.TileEntityMachineFunnel; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.client.model.obj.WavefrontObject; + +public class MachineFunnel extends BlockContainer implements ITooltipProvider, IRenderBlock { + + @SideOnly(Side.CLIENT) private IIcon iconTop; + @SideOnly(Side.CLIENT) private IIcon iconBottom; + + public MachineFunnel() { + super(Material.iron); + } + + @Override public int getRenderType() { return renderID; } + @Override public boolean isOpaqueCube() { return false; } + @Override public boolean renderAsNormalBlock() { return false; } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":machine_funnel_top"); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_funnel_side"); + this.iconBottom = iconRegister.registerIcon(RefStrings.MODID + ":machine_funnel_bottom"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int metadata) { + return side == 1 ? this.iconTop : (side == 0 ? this.iconBottom : this.blockIcon); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityMachineFunnel(); + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + if(world.isRemote) { + return true; + } else if(!player.isSneaking()) { + TileEntity entity = world.getTileEntity(x, y, z); + if(entity instanceof TileEntityMachineFunnel) { + FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z); + } + return true; + } else { + return false; + } + } + + private final Random rand = new Random(); + + @Override + public void breakBlock(World world, int x, int y, int z, Block block, int meta) { + ISidedInventory tile = (ISidedInventory) world.getTileEntity(x, y, z); + if(tile != null) { + for(int i1 = 0; i1 < tile.getSizeInventory(); ++i1) { + ItemStack itemstack = tile.getStackInSlot(i1); + if(itemstack != null) { + float f = this.rand.nextFloat() * 0.8F + 0.1F; + float f1 = this.rand.nextFloat() * 0.8F + 0.1F; + float f2 = this.rand.nextFloat() * 0.8F + 0.1F; + while(itemstack.stackSize > 0) { + int j1 = this.rand.nextInt(21) + 10; + if(j1 > itemstack.stackSize) j1 = itemstack.stackSize; + itemstack.stackSize -= j1; + EntityItem entityitem = new EntityItem(world, x + f, y + f1, z + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + if(itemstack.hasTagCompound()) entityitem.getEntityItem().setTagCompound((NBTTagCompound) itemstack.getTagCompound().copy()); + float f3 = 0.05F; + entityitem.motionX = (float) this.rand.nextGaussian() * f3; + entityitem.motionY = (float) this.rand.nextGaussian() * f3 + 0.2F; + entityitem.motionZ = (float) this.rand.nextGaussian() * f3; + world.spawnEntityInWorld(entityitem); + } + } + } + world.func_147453_f(x, y, z, block); + } + super.breakBlock(world, x, y, z, block, meta); + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { + this.addStandardInfo(stack, player, list, ext); + } + + @Override + @SideOnly(Side.CLIENT) + public void renderInventory(Tessellator tessellator, Block block, int metadata) { + GL11.glTranslatef(0F, -0.5F, 0F); + tessellator.startDrawingQuads(); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.funnel, "Top", block.getIcon(1, 0), tessellator, 0, false); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.funnel, "Bottom", block.getIcon(0, 0), tessellator, 0, false); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.funnel, "Side", block.getIcon(2, 0), tessellator, 0, false); + tessellator.draw(); + } + + @Override + @SideOnly(Side.CLIENT) + public void renderWorld(Tessellator tessellator, Block block, int meta, IBlockAccess world, int x, int y, int z) { + tessellator.addTranslation(x + 0.5F, y, z + 0.5F); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.funnel, "Top", block.getIcon(1, 0), tessellator, 0, true); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.funnel, "Bottom", block.getIcon(0, 0), tessellator, 0, true); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.funnel, "Side", block.getIcon(2, 0), tessellator, 0, true); + tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F); + } +} diff --git a/src/main/java/com/hbm/blocks/machine/MachineGasCent.java b/src/main/java/com/hbm/blocks/machine/MachineGasCent.java index 3c3ebad48..3184452f9 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineGasCent.java +++ b/src/main/java/com/hbm/blocks/machine/MachineGasCent.java @@ -20,6 +20,7 @@ public class MachineGasCent extends BlockDummyable implements IMultiblock { super(mat); this.bounding.add(AxisAlignedBB.getBoundingBox(-0.5D, 0D, -0.5D, 0.5D, 1D, 0.5D)); this.bounding.add(AxisAlignedBB.getBoundingBox(-0.4375D, 1D, -0.4375D, 0.4375D, 4D, 0.4375D)); + this.maxY = 0.999D; //item bounce prevention } @Override diff --git a/src/main/java/com/hbm/blocks/machine/MachineGasFlare.java b/src/main/java/com/hbm/blocks/machine/MachineGasFlare.java index 4567cf760..61e1e53ca 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineGasFlare.java +++ b/src/main/java/com/hbm/blocks/machine/MachineGasFlare.java @@ -25,6 +25,7 @@ public class MachineGasFlare extends BlockDummyable implements ITooltipProvider this.bounding.add(AxisAlignedBB.getBoundingBox(-0.75D, 3.875D, -0.75D, 0.75D, 9, 0.75D)); this.bounding.add(AxisAlignedBB.getBoundingBox(-1.5D, 9D, -1.5D, 1.5D, 9.375D, 1.5D)); this.bounding.add(AxisAlignedBB.getBoundingBox(-0.75D, 9.375D, -0.75D, 0.75D, 12, 0.75D)); + this.maxY = 0.999D; //item bounce prevention } @Override diff --git a/src/main/java/com/hbm/blocks/machine/MachineGenerator.java b/src/main/java/com/hbm/blocks/machine/MachineGenerator.java deleted file mode 100644 index 4efd72f33..000000000 --- a/src/main/java/com/hbm/blocks/machine/MachineGenerator.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.hbm.blocks.machine; - -import java.util.Random; - -import com.hbm.items.ModItems; -import com.hbm.lib.RefStrings; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.item.Item; -import net.minecraft.util.IIcon; - -public class MachineGenerator extends Block { - - @SideOnly(Side.CLIENT) - private IIcon iconSide; - - public MachineGenerator(Material p_i45386_1_) { - super(p_i45386_1_); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) { - this.iconSide = iconRegister.registerIcon(RefStrings.MODID + ":machine_generator_side"); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_generator"); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int metadata) { - return side == 0 ? blockIcon : (side == 1 ? blockIcon : iconSide); - } - - @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { - return ModItems.circuit_targeting_tier3; - } -} diff --git a/src/main/java/com/hbm/blocks/machine/MachineHydrotreater.java b/src/main/java/com/hbm/blocks/machine/MachineHydrotreater.java new file mode 100644 index 000000000..c1ed1c005 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/MachineHydrotreater.java @@ -0,0 +1,61 @@ +package com.hbm.blocks.machine; + +import java.util.List; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.IPersistentInfoProvider; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.tileentity.TileEntityProxyCombo; +import com.hbm.tileentity.machine.oil.TileEntityMachineHydrotreater; + +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class MachineHydrotreater extends BlockDummyable implements IPersistentInfoProvider { + + public MachineHydrotreater(Material mat) { + super(mat); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + if(meta >= 12) return new TileEntityMachineHydrotreater(); + if(meta >= 6) return new TileEntityProxyCombo().fluid().power(); + return null; + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + return standardOpenBehavior(world, x, y, z, player, side); + } + + @Override public int[] getDimensions() { return new int[] {6, 0, 1, 1, 1, 1}; } + @Override public int getOffset() { return 1; } + + @Override + protected void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { + super.fillSpace(world, x, y, z, dir, o); + + this.makeExtra(world, x - dir.offsetX + 1, y, z - dir.offsetZ + 1); + this.makeExtra(world, x - dir.offsetX + 1, y, z - dir.offsetZ - 1); + this.makeExtra(world, x - dir.offsetX - 1, y, z - dir.offsetZ + 1); + this.makeExtra(world, x - dir.offsetX - 1, y, z - dir.offsetZ - 1); + } + + @Override + public void addInformation(ItemStack stack, NBTTagCompound persistentTag, EntityPlayer player, List list, boolean ext) { + + for(int i = 0; i < 4; i++) { + FluidTank tank = new FluidTank(Fluids.NONE, 0); + tank.readFromNBT(persistentTag, "" + i); + list.add(EnumChatFormatting.YELLOW + "" + tank.getFill() + "/" + tank.getMaxFill() + "mB " + tank.getTankType().getLocalizedName()); + } + } +} diff --git a/src/main/java/com/hbm/blocks/machine/MachineICF.java b/src/main/java/com/hbm/blocks/machine/MachineICF.java new file mode 100644 index 000000000..c40d9793d --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/MachineICF.java @@ -0,0 +1,66 @@ +package com.hbm.blocks.machine; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.handler.MultiblockHandlerXR; +import com.hbm.tileentity.TileEntityProxyCombo; +import com.hbm.tileentity.machine.TileEntityICF; + +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class MachineICF extends BlockDummyable { + + public MachineICF() { + super(Material.iron); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + if(meta >= 12) return new TileEntityICF(); + if(meta >= 6) return new TileEntityProxyCombo().inventory().fluid(); + return null; + } + + @Override + public int[] getDimensions() { + return new int[] {5, 0, 1, 1, 8, 8}; + } + + @Override + public int getOffset() { + return 1; + } + + @Override + public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { + super.fillSpace(world, x, y, z, dir, o); + MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y + 3, z + dir.offsetZ * o, new int[] {1, 1, -1, 2, 8, 8}, this, dir); + MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y + 3, z + dir.offsetZ * o, new int[] {1, 1, 2, -1, 8, 8}, this, dir); + + x += dir.offsetX * o; + z += dir.offsetZ * o; + + this.makeExtra(world, x , y + 5, z); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + this.makeExtra(world, x + dir.offsetX * 2 + rot.offsetX * 6 , y + 3, z + dir.offsetZ * 2 + rot.offsetZ * 6); + this.makeExtra(world, x + dir.offsetX * 2 - rot.offsetX * 6 , y + 3, z + dir.offsetZ * 2 - rot.offsetZ * 6); + this.makeExtra(world, x - dir.offsetX * 2 + rot.offsetX * 6 , y + 3, z - dir.offsetZ * 2 + rot.offsetZ * 6); + this.makeExtra(world, x - dir.offsetX * 2 - rot.offsetX * 6 , y + 3, z - dir.offsetZ * 2 - rot.offsetZ * 6); + } + + @Override + protected boolean checkRequirement(World world, int x, int y, int z, ForgeDirection dir, int o) { + if(!super.checkRequirement(world, x, y, z, dir, o)) return false; + //if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y + dir.offsetY * o, z + dir.offsetZ * o, new int[] {4, -3, 1, 1, 1, 1}, x, y, z, dir)) return false; + + return true; + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + return super.standardOpenBehavior(world, x, y, z, player, 0); + } +} diff --git a/src/main/java/com/hbm/blocks/machine/MachineICFController.java b/src/main/java/com/hbm/blocks/machine/MachineICFController.java new file mode 100644 index 000000000..321d8307d --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/MachineICFController.java @@ -0,0 +1,226 @@ +package com.hbm.blocks.machine; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map.Entry; + +import com.hbm.blocks.ILookOverlay; +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.machine.BlockICF.TileEntityBlockICF; +import com.hbm.blocks.machine.BlockICFLaserComponent.EnumICFPart; +import com.hbm.lib.RefStrings; +import com.hbm.packet.AuxParticlePacketNT; +import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.machine.TileEntityICFController; +import com.hbm.util.BobMathUtil; +import com.hbm.util.I18nUtil; +import com.hbm.util.fauxpointtwelve.BlockPos; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; +import net.minecraftforge.common.util.ForgeDirection; + +public class MachineICFController extends BlockContainer implements ILookOverlay { + + @SideOnly(Side.CLIENT) + private IIcon iconFront; + + public MachineICFController() { + super(Material.iron); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityICFController(); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + super.registerBlockIcons(iconRegister); + this.iconFront = iconRegister.registerIcon(RefStrings.MODID + ":icf_controller"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int metadata) { + return metadata == 0 && side == 3 ? this.iconFront : (side == metadata ? this.iconFront : this.blockIcon); + } + + @Override + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; + + if(i == 0) world.setBlockMetadataWithNotify(x, y, z, 2, 2); + if(i == 1) world.setBlockMetadataWithNotify(x, y, z, 5, 2); + if(i == 2) world.setBlockMetadataWithNotify(x, y, z, 3, 2); + if(i == 3) world.setBlockMetadataWithNotify(x, y, z, 4, 2); + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + + if(world.isRemote) { + return true; + } else if(!player.isSneaking()) { + + TileEntityICFController controller = (TileEntityICFController) world.getTileEntity(x, y, z); + + if(!controller.assembled) { + assemble(world, x, y, z, player); + } + + return true; + } else { + return false; + } + } + + private static HashMap assembly = new HashMap(); + private static HashSet casings = new HashSet(); + private static HashSet ports = new HashSet(); + private static HashSet cells = new HashSet(); + private static HashSet emitters = new HashSet(); + private static HashSet capacitors = new HashSet(); + private static HashSet turbochargers = new HashSet(); + private static boolean errored; + private static final int maxSize = 1024; + + public void assemble(World world, int x, int y, int z, EntityPlayer player) { + assembly.clear(); + casings.clear(); + ports.clear(); + cells.clear(); + emitters.clear(); + capacitors.clear(); + turbochargers.clear(); + assembly.put(new BlockPos(x, y, z), 0); + + ForgeDirection dir = ForgeDirection.getOrientation(world.getBlockMetadata(x, y, z)).getOpposite(); + + errored = false; + floodFill(world, x + dir.offsetX, y, z + dir.offsetZ, player); + assembly.remove(new BlockPos(x, y, z)); + + TileEntityICFController controller = (TileEntityICFController) world.getTileEntity(x, y, z); + + if(!errored) { + + for(Entry entry : assembly.entrySet()) { + + BlockPos pos = entry.getKey(); + + if(ports.contains(pos)) { + world.setBlock(pos.getX(), pos.getY(), pos.getZ(), ModBlocks.icf_block, 1, 3); + } else { + world.setBlock(pos.getX(), pos.getY(), pos.getZ(), ModBlocks.icf_block, 0, 3); + } + + TileEntityBlockICF icf = (TileEntityBlockICF) world.getTileEntity(pos.getX(), pos.getY(), pos.getZ()); + icf.block = ModBlocks.icf_laser_component; + icf.meta = entry.getValue(); + icf.coreX = x; + icf.coreY = y; + icf.coreZ = z; + icf.markDirty(); + } + + controller.setup(ports, cells, emitters, capacitors, turbochargers); + controller.markDirty(); + } + controller.assembled = !errored; + + assembly.clear(); + casings.clear(); + ports.clear(); + cells.clear(); + emitters.clear(); + capacitors.clear(); + turbochargers.clear(); + } + + private void floodFill(World world, int x, int y, int z, EntityPlayer player) { + + BlockPos pos = new BlockPos(x, y, z); + + if(assembly.containsKey(pos)) return; + if(assembly.size() >= maxSize) { + errored = true; + sendError(world, x, y, z, "Max size exceeded", player); + return; + } + + Block block = world.getBlock(x, y, z); + int meta = world.getBlockMetadata(x, y, z); + + boolean validCasing = false; + boolean validCore = false; + + if(block == ModBlocks.icf_laser_component) { + if(meta == EnumICFPart.CASING.ordinal()) { casings.add(pos); validCasing = true; } + if(meta == EnumICFPart.PORT.ordinal()) { ports.add(pos); validCasing = true; } + if(meta == EnumICFPart.CELL.ordinal()) { cells.add(pos); validCore = true; } + if(meta == EnumICFPart.EMITTER.ordinal()) { emitters.add(pos); validCore = true; } + if(meta == EnumICFPart.CAPACITOR.ordinal()) { capacitors.add(pos); validCore = true; } + if(meta == EnumICFPart.TURBO.ordinal()) { turbochargers.add(pos); validCore = true; } + } + + if(validCasing) { + assembly.put(pos, meta); + return; + } + + if(validCore) { + assembly.put(pos, meta); + floodFill(world, x + 1, y, z, player); + floodFill(world, x - 1, y, z, player); + floodFill(world, x, y + 1, z, player); + floodFill(world, x, y - 1, z, player); + floodFill(world, x, y, z + 1, player); + floodFill(world, x, y, z - 1, player); + return; + } + + sendError(world, x, y, z, "Non-laser block", player); + errored = true; + } + + private void sendError(World world, int x, int y, int z, String message, EntityPlayer player) { + + if(player instanceof EntityPlayerMP) { + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "marker"); + data.setInteger("color", 0xff0000); + data.setInteger("expires", 5_000); + data.setDouble("dist", 128D); + if(message != null) data.setString("label", message); + PacketDispatcher.wrapper.sendTo(new AuxParticlePacketNT(data, x, y, z), (EntityPlayerMP) player); + } + } + + @Override + public void printHook(Pre event, World world, int x, int y, int z) { + TileEntity te = world.getTileEntity(x, y, z); + if(!(te instanceof TileEntityICFController)) return; + TileEntityICFController icf = (TileEntityICFController) te; + List text = new ArrayList(); + text.add(BobMathUtil.getShortNumber(icf.getPower()) + "/" + BobMathUtil.getShortNumber(icf.getMaxPower()) + "HE"); + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); + } +} diff --git a/src/main/java/com/hbm/blocks/machine/MachineICFPress.java b/src/main/java/com/hbm/blocks/machine/MachineICFPress.java new file mode 100644 index 000000000..7f9fbb124 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/MachineICFPress.java @@ -0,0 +1,52 @@ +package com.hbm.blocks.machine; + +import java.util.List; + +import com.hbm.blocks.ITooltipProvider; +import com.hbm.lib.RefStrings; +import com.hbm.util.I18nUtil; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; + +public class MachineICFPress extends BlockContainer implements ITooltipProvider { + + @SideOnly(Side.CLIENT) private IIcon iconTop; + + public MachineICFPress() { + super(Material.iron); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return null; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":machine_icf_press_top"); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_icf_press_side"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int metadata) { + return side == 1 ? this.iconTop : (side == 0 ? this.iconTop : this.blockIcon); + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { + for(String s : I18nUtil.resolveKeyArray(((Block)this).getUnlocalizedName() + ".desc")) list.add(EnumChatFormatting.YELLOW + s); + } +} diff --git a/src/main/java/com/hbm/blocks/machine/MachineIGenerator.java b/src/main/java/com/hbm/blocks/machine/MachineIGenerator.java index 5f3de0132..6760737a9 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineIGenerator.java +++ b/src/main/java/com/hbm/blocks/machine/MachineIGenerator.java @@ -1,18 +1,21 @@ package com.hbm.blocks.machine; +import java.util.ArrayList; +import java.util.List; + import com.hbm.blocks.BlockDummyable; -import com.hbm.main.MainRegistry; +import com.hbm.blocks.ILookOverlay; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityMachineIGenerator; -import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; import net.minecraftforge.common.util.ForgeDirection; -public class MachineIGenerator extends BlockDummyable { +public class MachineIGenerator extends BlockDummyable implements ILookOverlay { public MachineIGenerator(Material p_i45386_1_) { super(p_i45386_1_); @@ -59,8 +62,7 @@ public class MachineIGenerator extends BlockDummyable { TileEntityMachineIGenerator gen = (TileEntityMachineIGenerator)world.getTileEntity(pos[0], pos[1], pos[2]); - if(gen != null) - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, pos[0], pos[1], pos[2]); + //if(gen != null) FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, pos[0], pos[1], pos[2]); return true; } else { @@ -71,19 +73,28 @@ public class MachineIGenerator extends BlockDummyable { @Override public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { super.fillSpace(world, x, y, z, dir, o); - this.makeExtra(world, x + dir.offsetX * (o - 3), y, z + dir.offsetZ * (o - 3)); + /*this.makeExtra(world, x + dir.offsetX * (o - 3), y, z + dir.offsetZ * (o - 3)); this.makeExtra(world, x + dir.offsetX * (o - 2), y, z + dir.offsetZ * (o - 2)); this.makeExtra(world, x + dir.offsetX * (o - 1), y, z + dir.offsetZ * (o - 1)); - this.makeExtra(world, x + dir.offsetX * (o + 2), y, z + dir.offsetZ * (o + 2)); + this.makeExtra(world, x + dir.offsetX * (o + 2), y, z + dir.offsetZ * (o + 2));*/ } @Override public int[] getDimensions() { - return new int [] {2, 0, 3, 2, 1, 1}; + //return new int [] {2, 0, 3, 2, 1, 1}; + return new int [] {0, 0, 0, 0, 0, 0}; } @Override public int getOffset() { - return 2; + //return 2; + return 0; + } + + @Override + public void printHook(Pre event, World world, int x, int y, int z) { + List text = new ArrayList(); + text.add("In memory of all that we have lost"); + ILookOverlay.printGeneric(event, "Industrial Generator Memorial", 0xff8000, 0x804000, text); } } diff --git a/src/main/java/com/hbm/blocks/machine/MachineMiningDrill.java b/src/main/java/com/hbm/blocks/machine/MachineMiningDrill.java deleted file mode 100644 index c4aa5e156..000000000 --- a/src/main/java/com/hbm/blocks/machine/MachineMiningDrill.java +++ /dev/null @@ -1,232 +0,0 @@ -package com.hbm.blocks.machine; - -import java.util.Random; - -import com.hbm.blocks.ModBlocks; -import com.hbm.handler.MultiblockHandler; -import com.hbm.interfaces.IMultiblock; -import com.hbm.tileentity.machine.TileEntityDummy; -import com.hbm.tileentity.machine.TileEntityMachineMiningDrill; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.inventory.ISidedInventory; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; - -public class MachineMiningDrill extends BlockContainer implements IMultiblock { - - public MachineMiningDrill(Material p_i45386_1_) { - super(p_i45386_1_); - } - - @Override - public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return new TileEntityMachineMiningDrill(); - - } - - @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { - return Item.getItemFromBlock(ModBlocks.machine_drill); - } - - @Override - public int getRenderType() { - return -1; - } - - @Override - public boolean isOpaqueCube() { - return false; - } - - @Override - public boolean renderAsNormalBlock() { - return false; - } - - @Override - public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { - int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; - - if (i == 0) { - world.setBlockMetadataWithNotify(x, y, z, 5, 2); - if(MultiblockHandler.checkSpace(world, x, y, z, MultiblockHandler.drillDimension)) { - MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.drillDimension, ModBlocks.dummy_block_drill); - - // - DummyBlockDrill.safeBreak = true; - world.setBlock(x + 1, y, z, ModBlocks.dummy_port_drill); - TileEntity te = world.getTileEntity(x + 1, y, z); - if(te instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x - 1, y, z, ModBlocks.dummy_port_drill); - TileEntity te2 = world.getTileEntity(x - 1, y, z); - if(te instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te2; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - DummyBlockDrill.safeBreak = false; - // - - } else - world.func_147480_a(x, y, z, true); - } - if (i == 1) { - world.setBlockMetadataWithNotify(x, y, z, 3, 2); - if(MultiblockHandler.checkSpace(world, x, y, z, MultiblockHandler.drillDimension)) { - MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.drillDimension, ModBlocks.dummy_block_drill); - - // - DummyBlockDrill.safeBreak = true; - world.setBlock(x, y, z + 1, ModBlocks.dummy_port_drill); - TileEntity te = world.getTileEntity(x, y, z + 1); - if(te instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x, y, z - 1, ModBlocks.dummy_port_drill); - TileEntity te2 = world.getTileEntity(x, y, z - 1); - if(te2 instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te2; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - DummyBlockDrill.safeBreak = false; - // - - } else - world.func_147480_a(x, y, z, true); - } - if (i == 2) { - world.setBlockMetadataWithNotify(x, y, z, 4, 2); - if(MultiblockHandler.checkSpace(world, x, y, z, MultiblockHandler.drillDimension)) { - MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.drillDimension, ModBlocks.dummy_block_drill); - - // - DummyBlockDrill.safeBreak = true; - world.setBlock(x + 1, y, z, ModBlocks.dummy_port_drill); - TileEntity te = world.getTileEntity(x + 1, y, z); - if(te instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x - 1, y, z, ModBlocks.dummy_port_drill); - TileEntity te2 = world.getTileEntity(x - 1, y, z); - if(te instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te2; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - DummyBlockDrill.safeBreak = false; - // - - } else - world.func_147480_a(x, y, z, true); - } - if (i == 3) { - world.setBlockMetadataWithNotify(x, y, z, 2, 2); - if(MultiblockHandler.checkSpace(world, x, y, z, MultiblockHandler.drillDimension)) { - MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.drillDimension, ModBlocks.dummy_block_drill); - - // - DummyBlockDrill.safeBreak = true; - world.setBlock(x, y, z + 1, ModBlocks.dummy_port_drill); - TileEntity te = world.getTileEntity(x, y, z + 1); - if(te instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x, y, z - 1, ModBlocks.dummy_port_drill); - TileEntity te2 = world.getTileEntity(x, y, z - 1); - if(te instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te2; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - DummyBlockDrill.safeBreak = false; - // - - } else - world.func_147480_a(x, y, z, true); - } - } - - private final Random field_149933_a = new Random(); - private static boolean keepInventory; - - @Override - public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, int p_149749_6_) - { - if (!keepInventory) - { - ISidedInventory tileentityfurnace = (ISidedInventory)p_149749_1_.getTileEntity(p_149749_2_, p_149749_3_, p_149749_4_); - - if (tileentityfurnace != null) - { - for (int i1 = 0; i1 < tileentityfurnace.getSizeInventory(); ++i1) - { - ItemStack itemstack = tileentityfurnace.getStackInSlot(i1); - - if (itemstack != null) - { - float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; - float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; - float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; - - while (itemstack.stackSize > 0) - { - int j1 = this.field_149933_a.nextInt(21) + 10; - - if (j1 > itemstack.stackSize) - { - j1 = itemstack.stackSize; - } - - itemstack.stackSize -= j1; - EntityItem entityitem = new EntityItem(p_149749_1_, p_149749_2_ + f, p_149749_3_ + f1, p_149749_4_ + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); - - if (itemstack.hasTagCompound()) - { - entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); - } - - float f3 = 0.05F; - entityitem.motionX = (float)this.field_149933_a.nextGaussian() * f3; - entityitem.motionY = (float)this.field_149933_a.nextGaussian() * f3 + 0.2F; - entityitem.motionZ = (float)this.field_149933_a.nextGaussian() * f3; - p_149749_1_.spawnEntityInWorld(entityitem); - } - } - } - - p_149749_1_.func_147453_f(p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_); - } - } - - super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); - } -} diff --git a/src/main/java/com/hbm/blocks/machine/MachinePWRController.java b/src/main/java/com/hbm/blocks/machine/MachinePWRController.java index e40163c91..4c9654659 100644 --- a/src/main/java/com/hbm/blocks/machine/MachinePWRController.java +++ b/src/main/java/com/hbm/blocks/machine/MachinePWRController.java @@ -200,7 +200,13 @@ public class MachinePWRController extends BlockContainer implements ITooltipProv } private boolean isValidCore(Block block) { - if(block == ModBlocks.pwr_fuel || block == ModBlocks.pwr_control || block == ModBlocks.pwr_channel || block == ModBlocks.pwr_heatex || block == ModBlocks.pwr_neutron_source) return true; + if(block == ModBlocks.pwr_fuel || + block == ModBlocks.pwr_control || + block == ModBlocks.pwr_channel || + block == ModBlocks.pwr_heatex || + block == ModBlocks.pwr_heatsink || + block == ModBlocks.pwr_neutron_source) + return true; return false; } diff --git a/src/main/java/com/hbm/blocks/machine/MachineRadarLarge.java b/src/main/java/com/hbm/blocks/machine/MachineRadarLarge.java new file mode 100644 index 000000000..40d42e249 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/MachineRadarLarge.java @@ -0,0 +1,98 @@ +package com.hbm.blocks.machine; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.TileEntityProxyCombo; +import com.hbm.tileentity.machine.TileEntityMachineRadarLarge; +import com.hbm.tileentity.machine.TileEntityMachineRadarNT; + +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.ChatStyle; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class MachineRadarLarge extends BlockDummyable { + + public MachineRadarLarge(Material mat) { + super(mat); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + if(meta >= 12) return new TileEntityMachineRadarLarge(); + if(meta >= 6) return new TileEntityProxyCombo().power(); + return null; + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + + if(y < TileEntityMachineRadarNT.radarAltitude) { + if(world.isRemote) + player.addChatMessage(new ChatComponentText("[Radar] Error: Radar altitude not sufficient.").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.RED))); + return true; + } + + if(world.isRemote && !player.isSneaking()) { + int[] pos = this.findCore(world, x, y, z); + if(pos == null) return false; + FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, pos[0], pos[1], pos[2]); + return true; + } else if(!player.isSneaking()) { + return true; + } else { + return false; + } + } + + @Override + public int[] getDimensions() { + return new int[] {4, 0, 1, 1, 1, 1}; + } + + @Override + public int getOffset() { + return 1; + } + + @Override + public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { + super.fillSpace(world, x, y, z, dir, o); + x += dir.offsetX * o; + z += dir.offsetZ * o; + this.makeExtra(world, x + 1, y, z); + this.makeExtra(world, x - 1, y, z); + this.makeExtra(world, x, y, z + 1); + this.makeExtra(world, x, y, z - 1); + } + + @Override + public boolean canProvidePower() { + return true; + } + + @Override + public int isProvidingWeakPower(IBlockAccess world, int x, int y, int z, int m) { + int meta = world.getBlockMetadata(x, y, z); + if(meta >= 6) { + ForgeDirection dir = ForgeDirection.getOrientation(m); + TileEntity tile = world.getTileEntity(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ); + if(tile instanceof TileEntityMachineRadarNT) { + TileEntityMachineRadarNT entity = (TileEntityMachineRadarNT) tile; + return entity.getRedPower(); + } + } + return 0; + } + + @Override + public int isProvidingStrongPower(IBlockAccess world, int x, int y, int z, int m) { + return isProvidingWeakPower(world, x, y, z, m); + } +} diff --git a/src/main/java/com/hbm/blocks/machine/MachineRefinery.java b/src/main/java/com/hbm/blocks/machine/MachineRefinery.java index 4a720413d..fa7e8e6a6 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineRefinery.java +++ b/src/main/java/com/hbm/blocks/machine/MachineRefinery.java @@ -42,7 +42,7 @@ public class MachineRefinery extends BlockDummyable implements IPersistentInfoPr @Override public TileEntity createNewTileEntity(World world, int meta) { if(meta >= 12) return new TileEntityMachineRefinery(); - if(meta >= 6) return new TileEntityProxyCombo().fluid().power(); + if(meta >= 6) return new TileEntityProxyCombo().fluid().power().inventory(); return null; } diff --git a/src/main/java/com/hbm/blocks/machine/MachineSawmill.java b/src/main/java/com/hbm/blocks/machine/MachineSawmill.java index 1be748c34..8a112a2b2 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineSawmill.java +++ b/src/main/java/com/hbm/blocks/machine/MachineSawmill.java @@ -33,6 +33,7 @@ public class MachineSawmill extends BlockDummyable implements ILookOverlay, IToo this.bounding.add(AxisAlignedBB.getBoundingBox(-1.5D, 0D, -1.5D, 1.5D, 1D, 1.5D)); this.bounding.add(AxisAlignedBB.getBoundingBox(-1.25D, 1D, -0.5D, -0.625D, 1.875D, 0.5D)); this.bounding.add(AxisAlignedBB.getBoundingBox(-0.625D, 1D, -1D, 1.375D, 2D, 1D)); + this.maxY = 0.999D; //item bounce prevention } @Override diff --git a/src/main/java/com/hbm/blocks/machine/MachineSeleniumEngine.java b/src/main/java/com/hbm/blocks/machine/MachineSeleniumEngine.java deleted file mode 100644 index d1d598932..000000000 --- a/src/main/java/com/hbm/blocks/machine/MachineSeleniumEngine.java +++ /dev/null @@ -1,144 +0,0 @@ -package com.hbm.blocks.machine; - -import java.util.List; -import java.util.Random; - -import com.hbm.blocks.ITooltipProvider; -import com.hbm.inventory.fluid.trait.FT_Combustible.FuelGrade; -import com.hbm.main.MainRegistry; -import com.hbm.tileentity.machine.TileEntityMachineSeleniumEngine; - -import cpw.mods.fml.common.network.internal.FMLNetworkHandler; -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; - -public class MachineSeleniumEngine extends BlockContainer implements ITooltipProvider { - - private final Random field_149933_a = new Random(); - private static boolean keepInventory; - - public MachineSeleniumEngine(Material p_i45386_1_) { - super(p_i45386_1_); - } - - @Override - public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return new TileEntityMachineSeleniumEngine(); - } - - @Override - public int getRenderType() { - return -1; - } - - @Override - public boolean isOpaqueCube() { - return false; - } - - @Override - public boolean renderAsNormalBlock() { - return false; - } - - @Override - public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { - int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; - - if(i == 0) { - world.setBlockMetadataWithNotify(x, y, z, 2, 2); - } - if(i == 1) { - world.setBlockMetadataWithNotify(x, y, z, 5, 2); - } - if(i == 2) { - world.setBlockMetadataWithNotify(x, y, z, 3, 2); - } - if(i == 3) { - world.setBlockMetadataWithNotify(x, y, z, 4, 2); - } - } - - @Override - public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, int p_149749_6_) { - if(!keepInventory) { - TileEntityMachineSeleniumEngine tileentityfurnace = (TileEntityMachineSeleniumEngine) p_149749_1_.getTileEntity(p_149749_2_, p_149749_3_, p_149749_4_); - - if(tileentityfurnace != null) { - for(int i1 = 0; i1 < tileentityfurnace.getSizeInventory(); ++i1) { - ItemStack itemstack = tileentityfurnace.getStackInSlot(i1); - - if(itemstack != null) { - float f = this.field_149933_a.nextFloat() * 0.8F + 0.1F; - float f1 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; - float f2 = this.field_149933_a.nextFloat() * 0.8F + 0.1F; - - while(itemstack.stackSize > 0) { - int j1 = this.field_149933_a.nextInt(21) + 10; - - if(j1 > itemstack.stackSize) { - j1 = itemstack.stackSize; - } - - itemstack.stackSize -= j1; - EntityItem entityitem = new EntityItem(p_149749_1_, p_149749_2_ + f, p_149749_3_ + f1, p_149749_4_ + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); - - if(itemstack.hasTagCompound()) { - entityitem.getEntityItem().setTagCompound((NBTTagCompound) itemstack.getTagCompound().copy()); - } - - float f3 = 0.05F; - entityitem.motionX = (float) this.field_149933_a.nextGaussian() * f3; - entityitem.motionY = (float) this.field_149933_a.nextGaussian() * f3 + 0.2F; - entityitem.motionZ = (float) this.field_149933_a.nextGaussian() * f3; - p_149749_1_.spawnEntityInWorld(entityitem); - } - } - } - - p_149749_1_.func_147453_f(p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_); - } - } - - super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(world.isRemote) { - return true; - } else if(!player.isSneaking()) { - TileEntityMachineSeleniumEngine entity = (TileEntityMachineSeleniumEngine) world.getTileEntity(x, y, z); - if(entity != null) { - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z); - } - return true; - } else { - return false; - } - } - - @Override - public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { - - list.add(EnumChatFormatting.YELLOW + "Fuel efficiency:"); - for(FuelGrade grade : FuelGrade.values()) { - Double efficiency = TileEntityMachineSeleniumEngine.fuelEfficiency.get(grade); - - if(efficiency != null) { - int eff = (int) (efficiency * 100); - list.add(EnumChatFormatting.YELLOW + "-" + grade.getGrade() + ": " + EnumChatFormatting.RED + "" + eff + "%"); - } - } - } -} diff --git a/src/main/java/com/hbm/blocks/machine/MachineShredderLarge.java b/src/main/java/com/hbm/blocks/machine/MachineShredderLarge.java deleted file mode 100644 index d66055dd3..000000000 --- a/src/main/java/com/hbm/blocks/machine/MachineShredderLarge.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.hbm.blocks.machine; - -import com.hbm.tileentity.machine.TileEntityMachineShredderLarge; - -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; - -public class MachineShredderLarge extends BlockContainer { - - public MachineShredderLarge(Material p_i45386_1_) { - super(p_i45386_1_); - } - - @Override - public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return new TileEntityMachineShredderLarge(); - } - - @Override - public int getRenderType(){ - return -1; - } - - @Override - public boolean isOpaqueCube() { - return false; - } - - @Override - public boolean renderAsNormalBlock() { - return false; - } - -} diff --git a/src/main/java/com/hbm/blocks/machine/MachineStrandCaster.java b/src/main/java/com/hbm/blocks/machine/MachineStrandCaster.java new file mode 100644 index 000000000..89435b761 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/MachineStrandCaster.java @@ -0,0 +1,227 @@ +package com.hbm.blocks.machine; + +import api.hbm.block.ICrucibleAcceptor; +import api.hbm.block.IToolable; +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ILookOverlay; +import com.hbm.handler.MultiblockHandlerXR; +import com.hbm.inventory.material.Mats; +import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemScraps; +import com.hbm.tileentity.TileEntityProxyCombo; +import com.hbm.tileentity.machine.TileEntityMachineStrandCaster; +import com.hbm.util.I18nUtil; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.item.ItemTool; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderGameOverlayEvent; +import net.minecraftforge.common.util.ForgeDirection; + +import java.util.ArrayList; +import java.util.List; + +public class MachineStrandCaster extends BlockDummyable implements ICrucibleAcceptor, ILookOverlay, IToolable { + + public MachineStrandCaster() { + super(Material.iron); + } + + // reminder, if the machine is a solid brick, get dimensions will already + // handle it without the need to use fillSapce + // the order is up, down, forward, backward, left, right + // x is for left(-)/right(+), z is for forward(+)/backward(-), y you already + // know + @Override + public int[] getDimensions() { + return new int[] { 0, 0, 6, 0, 1, 0 }; + } + + @Override + public int getOffset() { + return 0; + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + if(meta >= 12) return new TileEntityMachineStrandCaster(); + if(meta >= 6) return new TileEntityProxyCombo(true, false, true).moltenMetal(); + return null; + } + + @Override + public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { + super.fillSpace(world, x, y, z, dir, o); + + x += dir.offsetX * o; + z += dir.offsetZ * o; + + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + + // up,down;forward,backward;left,right + MultiblockHandlerXR.fillSpace(world, x, y, z, new int[] { 2, 0, 1, 0, 1, 0 }, this, dir); + // Fluid ports + this.makeExtra(world, x + rot.offsetX - dir.offsetX, y, z + rot.offsetZ - dir.offsetZ); + this.makeExtra(world, x - dir.offsetX, y, z - dir.offsetZ); + this.makeExtra(world, x - dir.offsetX * 5, y, z - dir.offsetZ * 5); + this.makeExtra(world, x + rot.offsetX - dir.offsetX * 5, y, z + rot.offsetZ - dir.offsetZ * 5); + // Molten slop ports + this.makeExtra(world, x + rot.offsetX - dir.offsetX, y + 2, z + rot.offsetZ - dir.offsetZ); + this.makeExtra(world, x - dir.offsetX, y + 2, z - dir.offsetZ); + this.makeExtra(world, x + rot.offsetX, y + 2, z + rot.offsetZ); + this.makeExtra(world, x, y + 2, z); + } + + @Override + public boolean canAcceptPartialPour(World world, int x, int y, int z, double dX, double dY, double dZ, ForgeDirection side, Mats.MaterialStack stack) { + + TileEntity poured = world.getTileEntity(x, y, z); + if(!(poured instanceof TileEntityProxyCombo && ((TileEntityProxyCombo) poured).moltenMetal)) return false; + + int[] pos = this.findCore(world, x, y, z); + if(pos == null) return false; + TileEntity tile = world.getTileEntity(pos[0], pos[1], pos[2]); + if(!(tile instanceof TileEntityMachineStrandCaster)) return false; + TileEntityMachineStrandCaster caster = (TileEntityMachineStrandCaster) tile; + + return caster.canAcceptPartialPour(world, x, y, z, dX, dY, dZ, side, stack); + } + + @Override + public Mats.MaterialStack pour(World world, int x, int y, int z, double dX, double dY, double dZ, ForgeDirection side, Mats.MaterialStack stack) { + + TileEntity poured = world.getTileEntity(x, y, z); + if(!(poured instanceof TileEntityProxyCombo && ((TileEntityProxyCombo) poured).moltenMetal)) return stack; + + int[] pos = this.findCore(world, x, y, z); + if(pos == null) return stack; + TileEntity tile = world.getTileEntity(pos[0], pos[1], pos[2]); + if(!(tile instanceof TileEntityMachineStrandCaster)) return stack; + TileEntityMachineStrandCaster caster = (TileEntityMachineStrandCaster) tile; + + return caster.pour(world, x, y, z, dX, dY, dZ, side, stack); + } + + @Override + public boolean canAcceptPartialFlow(World world, int x, int y, int z, ForgeDirection side, Mats.MaterialStack stack) { + return false; + } + + @Override + public Mats.MaterialStack flow(World world, int x, int y, int z, ForgeDirection side, Mats.MaterialStack stack) { + return null; + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + if(world.isRemote) { + return true; + } + + int[] coords = findCore(world, x, y, z); + TileEntityMachineStrandCaster cast = (TileEntityMachineStrandCaster) world.getTileEntity(coords[0], coords[1], coords[2]); + if(cast != null) { + // insert mold + if(player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.mold && cast.slots[0] == null) { + cast.slots[0] = player.getHeldItem().copy(); + cast.slots[0].stackSize = 1; + player.getHeldItem().stackSize--; + world.playSoundEffect(x + 0.5, y + 0.5, z + 0.5, "hbm:item.upgradePlug", 1.0F, 1.0F); + cast.markDirty(); + return true; + + } + + if(player.getHeldItem() != null && player.getHeldItem().getItem() instanceof ItemTool && player.getHeldItem().getItem().getToolClasses(player.getHeldItem()).contains("shovel")) { + if(cast.amount > 0) { + ItemStack scrap = ItemScraps.create(new Mats.MaterialStack(cast.type, cast.amount)); + if(!player.inventory.addItemStackToInventory(scrap)) { + EntityItem item = new EntityItem(world, x + 0.5, y + this.maxY, z + 0.5, scrap); + world.spawnEntityInWorld(item); + } else { + player.inventoryContainer.detectAndSendChanges(); + } + cast.amount = 0; + cast.type = null; + cast.markDirty(); + } + return true; + } + } + return this.standardOpenBehavior(world, x, y, z, player, 0); + } + + @Override + public void breakBlock(World world, int x, int y, int z, Block b, int i) { + + TileEntity te = world.getTileEntity(x, y, z); + if(te instanceof TileEntityMachineStrandCaster) { + TileEntityMachineStrandCaster cast = (TileEntityMachineStrandCaster) te; + + if(cast.amount > 0) { + ItemStack scrap = ItemScraps.create(new Mats.MaterialStack(cast.type, cast.amount)); + EntityItem item = new EntityItem(world, x + 0.5, y + this.maxY, z + 0.5, scrap); + world.spawnEntityInWorld(item); + cast.amount = 0; // just for safety + } + } + super.breakBlock(world, x, y, z, b, i); + } + + public void printHook(RenderGameOverlayEvent.Pre event, World world, int x, int y, int z) { + int[] coords = findCore(world, x, y, z); + if(coords == null) + return; + + TileEntityMachineStrandCaster cast = (TileEntityMachineStrandCaster) world.getTileEntity(coords[0], coords[1], coords[2]); + + List text = new ArrayList(); + if(cast != null) { + if(cast.slots[0] == null) { + text.add(EnumChatFormatting.RED + I18nUtil.resolveKey("foundry.noCast")); + } else if(cast.slots[0].getItem() == ModItems.mold) { + text.add(EnumChatFormatting.BLUE + cast.getInstalledMold().getTitle()); + } + } + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(this.getUnlocalizedName() + ".name"), 0xFF4000, 0x401000, text); + } + + @Override + protected boolean checkRequirement(World world, int x, int y, int z, ForgeDirection dir, int o) { + x += dir.offsetX * o; + z += dir.offsetZ * o; + + if(!MultiblockHandlerXR.checkSpace(world, x, y, z, getDimensions(), x, y, z, dir)) + return false; + return MultiblockHandlerXR.checkSpace(world, x, y, z, new int[] { 2, 0, 1, 0, 1, 0 }, x, y, z, dir); + } + + @Override + public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { + if(tool != ToolType.SCREWDRIVER) + return false; + + int[] coords = findCore(world, x, y, z); + TileEntityMachineStrandCaster cast = (TileEntityMachineStrandCaster) world.getTileEntity(coords[0], coords[1], coords[2]); + + if(cast.slots[0] == null) + return false; + + if(!player.inventory.addItemStackToInventory(cast.slots[0].copy())) { + EntityItem item = new EntityItem(world, x + 0.5, y + this.maxY, z + 0.5, cast.slots[0].copy()); + world.spawnEntityInWorld(item); + } else { + player.inventoryContainer.detectAndSendChanges(); + } + + cast.slots[0] = null; + cast.markDirty(); + + return true; + } +} diff --git a/src/main/java/com/hbm/blocks/machine/NTMAnvil.java b/src/main/java/com/hbm/blocks/machine/NTMAnvil.java index c71865430..16623e7b1 100644 --- a/src/main/java/com/hbm/blocks/machine/NTMAnvil.java +++ b/src/main/java/com/hbm/blocks/machine/NTMAnvil.java @@ -39,6 +39,15 @@ import net.minecraft.world.World; import net.minecraftforge.client.model.obj.WavefrontObject; public class NTMAnvil extends BlockFallingNT implements ITooltipProvider, IGUIProvider { + + public static final int TIER_IRON = 1; + public static final int TIER_STEEL = 2; + public static final int TIER_OIL = 3; + public static final int TIER_NUCLEAR = 4; + public static final int TIER_RBMK = 5; + public static final int TIER_FUSION = 6; + public static final int TIER_PARTICLE = 7; + public static final int TIER_GERALD = 8; public final int tier; diff --git a/src/main/java/com/hbm/blocks/machine/ReactorCore.java b/src/main/java/com/hbm/blocks/machine/ReactorCore.java deleted file mode 100644 index 847ece06f..000000000 --- a/src/main/java/com/hbm/blocks/machine/ReactorCore.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.hbm.blocks.machine; - -import java.util.Random; - -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; - -public class ReactorCore extends BlockContainer { - - public boolean keepInventory = false; - public Random field_149933_a = new Random(); - - public ReactorCore(Material p_i45386_1_) { - super(p_i45386_1_); - } - - @Override - public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return null; - } -} diff --git a/src/main/java/com/hbm/blocks/machine/ReactorHatch.java b/src/main/java/com/hbm/blocks/machine/ReactorHatch.java deleted file mode 100644 index b83e57aa1..000000000 --- a/src/main/java/com/hbm/blocks/machine/ReactorHatch.java +++ /dev/null @@ -1,158 +0,0 @@ -package com.hbm.blocks.machine; - -import java.util.Random; - -import com.hbm.inventory.fluid.FluidType; -import com.hbm.inventory.fluid.Fluids; -import com.hbm.lib.RefStrings; -import com.hbm.main.MainRegistry; -import com.hbm.tileentity.machine.TileEntityMachineReactorLarge; - -import api.hbm.fluid.IFluidConnectorBlock; -import cpw.mods.fml.common.network.internal.FMLNetworkHandler; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.IIcon; -import net.minecraft.util.MathHelper; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -public class ReactorHatch extends Block implements IFluidConnectorBlock { - - @SideOnly(Side.CLIENT) - private IIcon iconFront; - - public ReactorHatch(Material p_i45394_1_) { - super(p_i45394_1_); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) { - this.iconFront = iconRegister.registerIcon(RefStrings.MODID + ":reactor_hatch"); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":brick_concrete"); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int metadata) { - return metadata == 0 && side == 3 ? this.iconFront : (side == metadata ? this.iconFront : this.blockIcon); - } - - @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) - { - return Item.getItemFromBlock(this); - } - - @Override - public void onBlockAdded(World world, int x, int y, int z) { - super.onBlockAdded(world, x, y, z); - //this.setDefaultDirection(world, x, y, z); - } - - @Override - public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { - int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; - - if(i == 0) - { - world.setBlockMetadataWithNotify(x, y, z, 2, 2); - } - if(i == 1) - { - world.setBlockMetadataWithNotify(x, y, z, 5, 2); - } - if(i == 2) - { - world.setBlockMetadataWithNotify(x, y, z, 3, 2); - } - if(i == 3) - { - world.setBlockMetadataWithNotify(x, y, z, 4, 2); - } - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(world.isRemote) - { - return true; - } else if(!player.isSneaking()) - { - if(world.getBlockMetadata(x, y, z) == 2) - { - if(world.getTileEntity(x, y, z + 2) instanceof TileEntityMachineReactorLarge) - { - if(((TileEntityMachineReactorLarge)world.getTileEntity(x, y, z + 2)).checkBody()) - { - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z + 2); - } else { - player.addChatMessage(new ChatComponentText("[Nuclear Reactor] Error: Reactor Structure not valid!")); - } - } else { - player.addChatMessage(new ChatComponentText("[Nuclear Reactor Error: Reactor Core not found!")); - } - } - if(world.getBlockMetadata(x, y, z) == 3) - { - if(world.getTileEntity(x, y, z - 2) instanceof TileEntityMachineReactorLarge) - { - if(((TileEntityMachineReactorLarge)world.getTileEntity(x, y, z - 2)).checkBody()) - { - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z - 2); - } else { - player.addChatMessage(new ChatComponentText("[Nuclear Reactor] Error: Reactor Structure not valid!")); - } - } else { - player.addChatMessage(new ChatComponentText("[Nuclear Reactor Error: Reactor Core not found!")); - } - } - if(world.getBlockMetadata(x, y, z) == 4) - { - if(world.getTileEntity(x + 2, y, z) instanceof TileEntityMachineReactorLarge) - { - if(((TileEntityMachineReactorLarge)world.getTileEntity(x + 2, y, z)).checkBody()) - { - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x + 2, y, z); - } else { - player.addChatMessage(new ChatComponentText("[Nuclear Reactor] Error: Reactor Structure not valid!")); - } - } else { - player.addChatMessage(new ChatComponentText("[Nuclear Reactor Error: Reactor Core not found!")); - } - } - if(world.getBlockMetadata(x, y, z) == 5) - { - if(world.getTileEntity(x - 2, y, z) instanceof TileEntityMachineReactorLarge) - { - if(((TileEntityMachineReactorLarge)world.getTileEntity(x - 2, y, z)).checkBody()) - { - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x - 2, y, z); - } else { - player.addChatMessage(new ChatComponentText("[Nuclear Reactor] Error: Reactor Structure not valid!")); - } - } else { - player.addChatMessage(new ChatComponentText("[Nuclear Reactor Error: Reactor Core not found!")); - } - } - return true; - } else { - return false; - } - } - - @Override - public boolean canConnect(FluidType type, IBlockAccess world, int x, int y, int z, ForgeDirection dir) { - return type == Fluids.WATER || type == Fluids.COOLANT || type == Fluids.STEAM || type == Fluids.HOTSTEAM || type == Fluids.SUPERHOTSTEAM || type == Fluids.ULTRAHOTSTEAM; - } -} diff --git a/src/main/java/com/hbm/blocks/machine/SoyuzLauncher.java b/src/main/java/com/hbm/blocks/machine/SoyuzLauncher.java index 44aa51658..3a5b6445b 100644 --- a/src/main/java/com/hbm/blocks/machine/SoyuzLauncher.java +++ b/src/main/java/com/hbm/blocks/machine/SoyuzLauncher.java @@ -209,13 +209,15 @@ public class SoyuzLauncher extends BlockDummyable { } } - for(int l = 0; l < 10; l++) - world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.struct_launcher, 38))); - for(int l = 0; l < 8; l++) - world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.concrete_smooth, 41))); + for(int l = 0; l < 6; l++) + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.struct_launcher, 64))); + for(int l = 0; l < 4; l++) + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.concrete_smooth, 64))); for(int l = 0; l < 6; l++) world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.struct_scaffold, 64))); - world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.struct_scaffold, 53))); + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.struct_launcher, 30))); + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.struct_scaffold, 63))); + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.concrete_smooth, 38))); world.func_147453_f(x, y, z, p_149749_5_); } diff --git a/src/main/java/com/hbm/blocks/machine/Spotlight.java b/src/main/java/com/hbm/blocks/machine/Spotlight.java new file mode 100644 index 000000000..c40a9ef9c --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/Spotlight.java @@ -0,0 +1,316 @@ +package com.hbm.blocks.machine; + +import com.hbm.blocks.ModBlocks; + +import java.util.Random; + +import com.hbm.blocks.BlockEnums.LightType; +import com.hbm.blocks.ISpotlight; +import com.hbm.main.ResourceManager; + +import cpw.mods.fml.client.registry.RenderingRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.BlockSlab; +import net.minecraft.block.material.Material; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.client.model.obj.WavefrontObject; +import net.minecraftforge.common.util.ForgeDirection; + +public class Spotlight extends Block implements ISpotlight { + + // I'd be extending the ReinforcedLamp class if it wasn't for the inverted behaviour of these specific lights + // I want these blocks to be eminently useful, so removing the need for redstone by default is desired, + // these act more like redstone torches, in that applying a signal turns them off + public boolean isOn; + + public int beamLength; + public LightType type; + + public Spotlight(Material mat, int beamLength, LightType type, boolean isOn) { + super(mat); + + this.beamLength = beamLength; + this.type = type; + this.isOn = isOn; + + this.setHardness(1F); + + if(isOn) setLightLevel(1.0F); + } + + public static int renderID = RenderingRegistry.getNextAvailableRenderId(); + + @Override + public int getRenderType() { + return renderID; + } + + public WavefrontObject getModel() { + switch(type) { + case FLUORESCENT: return (WavefrontObject) ResourceManager.fluorescent_lamp; + case HALOGEN: return (WavefrontObject) ResourceManager.flood_lamp; + default: return (WavefrontObject) ResourceManager.cage_lamp; + } + } + + public String getPartName(int connectionCount) { + switch(type) { + case HALOGEN: return "FloodLamp"; + default: return "CageLamp"; + } + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World p_149668_1_, int p_149668_2_, int p_149668_3_, int p_149668_4_) { + return null; + } + + @Override + public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { + ForgeDirection dir = getDirection(world, x, y, z); + float[] bounds = swizzleBounds(dir); + float[] offset = new float[] { 0.5F - dir.offsetX * (0.5F - bounds[0]), 0.5F - dir.offsetY * (0.5F - bounds[1]), 0.5F - dir.offsetZ * (0.5F - bounds[2]) }; + + setBlockBounds(offset[0] - bounds[0], offset[1] - bounds[1], offset[2] - bounds[2], offset[0] + bounds[0], offset[1] + bounds[1], offset[2] + bounds[2]); + } + + private float[] swizzleBounds(ForgeDirection dir) { + float[] bounds = getBounds(); + switch(dir) { + case EAST: + case WEST: return new float[] { bounds[2], bounds[1], bounds[0] }; + case UP: + case DOWN: return new float[] { bounds[1], bounds[2], bounds[0] }; + default: return bounds; + } + } + + // Returns an xyz (half-)size for a given object type + private float[] getBounds() { + switch(type) { + case FLUORESCENT: return new float[] { 0.5F, 0.5F, 0.1F }; + case HALOGEN: return new float[] { 0.35F, 0.25F, 0.2F }; + default: return new float[] { 0.25F, 0.2F, 0.15F }; + } + } + + @Override + public int onBlockPlaced(World world, int x, int y, int z, int side, float hx, float hy, float hz, int initData) { + return side << 1; + } + + @Override + public void onBlockAdded(World world, int x, int y, int z) { + if(world.isRemote) return; + if(updatePower(world, x, y, z)) return; + updateBeam(world, x, y, z); + } + + private boolean updatePower(World world, int x, int y, int z) { + boolean isPowered = world.isBlockIndirectlyGettingPowered(x, y, z); + if(isOn && isPowered) { + world.scheduleBlockUpdate(x, y, z, this, 4); + return true; + } else if(!isOn && !isPowered) { + world.setBlock(x, y, z, getOn(), world.getBlockMetadata(x, y, z), 2); + return true; + } + + return false; + } + + @Override + public void breakBlock(World world, int x, int y, int z, Block block, int metadata) { + ForgeDirection dir = getDirection(metadata); + super.breakBlock(world, x, y, z, block, metadata); + + if(world.isRemote) return; + + unpropagateBeam(world, x, y, z, dir); + } + + @Override + public void updateTick(World world, int x, int y, int z, Random p_149674_5_) { + if (world.isRemote) return; + + if (isOn && world.isBlockIndirectlyGettingPowered(x, y, z)) { + world.setBlock(x, y, z, getOff(), world.getBlockMetadata(x, y, z), 2); + } + } + + // Repropagate the beam if we've become unblocked + @Override + public void onNeighborBlockChange(World world, int x, int y, int z, Block neighborBlock) { + if(world.isRemote) return; + if(neighborBlock instanceof SpotlightBeam) return; + + ForgeDirection dir = getDirection(world, x, y, z); + + if(!canPlace(world, x, y, z, dir)) { + dropBlockAsItem(world, x, y, z, 0, 0); + world.setBlockToAir(x, y, z); + return; + } + + if(updatePower(world, x, y, z)) return; + + updateBeam(world, x, y, z); + } + + @Override + public boolean canPlaceBlockOnSide(World world, int x, int y, int z, int side) { + if(!super.canPlaceBlockOnSide(world, x, y, z, side)) return false; + + ForgeDirection dir = ForgeDirection.getOrientation(side); + + return canPlace(world, x, y, z, dir); + } + + // BlockSlab doesn't actually properly return isSideSolid, + // probably because MOJANK thought this would only ever be used for torches, + // which can't be placed on ceilings... + private boolean canPlace(World world, int x, int y, int z, ForgeDirection dir) { + x -= dir.offsetX; + y -= dir.offsetY; + z -= dir.offsetZ; + + Block block = world.getBlock(x, y, z); + if(block instanceof BlockSlab) { + int meta = world.getBlockMetadata(x, y, z); + return dir == ((meta & 8) == 8 ? ForgeDirection.UP : ForgeDirection.DOWN) || block.func_149730_j(); + } + + return block.isSideSolid(world, x, y, z, dir); + } + + private void updateBeam(World world, int x, int y, int z) { + if(!isOn) return; + + ForgeDirection dir = getDirection(world, x, y, z); + propagateBeam(world, x, y, z, dir, beamLength); + } + + public ForgeDirection getDirection(IBlockAccess world, int x, int y, int z) { + int metadata = world.getBlockMetadata(x, y, z); + return getDirection(metadata); + } + + public ForgeDirection getDirection(int metadata) { + return ForgeDirection.getOrientation(metadata >> 1); + } + + @Override + public Item getItemDropped(int i, Random r, int j) { + return Item.getItemFromBlock(getOn()); + } + + @Override + @SideOnly(Side.CLIENT) + public Item getItem(World world, int x, int y, int z) { + return Item.getItemFromBlock(getOn()); + } + + @Override + protected ItemStack createStackedBlock(int e) { + return new ItemStack(getOn()); + } + + // Recursively add beam blocks, updating any that already exist with new incoming light directions + public static void propagateBeam(World world, int x, int y, int z, ForgeDirection dir, int distance) { + distance--; + if(distance <= 0) + return; + + x += dir.offsetX; + y += dir.offsetY; + z += dir.offsetZ; + + Block block = world.getBlock(x, y, z); + if(!block.isAir(world, x, y, z)) + return; + + if(!(block instanceof SpotlightBeam)) { + world.setBlock(x, y, z, ModBlocks.spotlight_beam); + } + + // If we encounter an existing beam, add a new INCOMING direction to the + // metadata, and cancel propagation if something goes wrong + if (SpotlightBeam.setDirection(world, x, y, z, dir, true) == 0) + return; + + propagateBeam(world, x, y, z, dir, distance); + } + + // Recursively delete beam blocks, if they aren't still illuminated from a different direction + public static void unpropagateBeam(World world, int x, int y, int z, ForgeDirection dir) { + x += dir.offsetX; + y += dir.offsetY; + z += dir.offsetZ; + + Block block = world.getBlock(x, y, z); + if(!(block instanceof SpotlightBeam)) + return; + + // Remove the metadata associated with this direction + // If all directions are set to zero, delete the beam + if(SpotlightBeam.setDirection(world, x, y, z, dir, false) == 0) { + world.setBlockToAir(x, y, z); + } + + unpropagateBeam(world, x, y, z, dir); + } + + // Travels back through a beam to the source, and if found, repropagates the beam + public static void backPropagate(World world, int x, int y, int z, ForgeDirection dir) { + x -= dir.offsetX; + y -= dir.offsetY; + z -= dir.offsetZ; + + Block block = world.getBlock(x, y, z); + if(block instanceof ISpotlight) { + ISpotlight spot = (ISpotlight) block; + propagateBeam(world, x, y, z, dir, spot.getBeamLength()); + } else if(!(block instanceof SpotlightBeam)) { + return; + } + + backPropagate(world, x, y, z, dir); + } + + protected Block getOff() { + if(this == ModBlocks.spotlight_incandescent) return ModBlocks.spotlight_incandescent_off; + if(this == ModBlocks.spotlight_fluoro) return ModBlocks.spotlight_fluoro_off; + if(this == ModBlocks.spotlight_halogen) return ModBlocks.spotlight_halogen_off; + + return this; + } + + protected Block getOn() { + if(this == ModBlocks.spotlight_incandescent_off) return ModBlocks.spotlight_incandescent; + if(this == ModBlocks.spotlight_fluoro_off) return ModBlocks.spotlight_fluoro; + if(this == ModBlocks.spotlight_halogen_off) return ModBlocks.spotlight_halogen; + + return this; + } + + @Override + public int getBeamLength() { + return this.beamLength; + } +} diff --git a/src/main/java/com/hbm/blocks/machine/SpotlightBeam.java b/src/main/java/com/hbm/blocks/machine/SpotlightBeam.java new file mode 100644 index 000000000..09202b7c6 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/SpotlightBeam.java @@ -0,0 +1,135 @@ +package com.hbm.blocks.machine; + +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +import com.hbm.tileentity.TileEntityData; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class SpotlightBeam extends BlockContainer { + + public SpotlightBeam() { + super(Material.air); + setLightLevel(1.0F); + setLightOpacity(0); + setHardness(-1); + setResistance(1_000_000); + setBlockBounds(0, 0, 0, 0, 0, 0); + } + + // If a block is placed onto the beam, handle the new cutoff + @Override + public void breakBlock(World world, int x, int y, int z, Block block, int metadata) { + if (!world.isRemote) { + for (ForgeDirection dir : getDirections(world, x, y, z)) { + Spotlight.unpropagateBeam(world, x, y, z, dir); + } + } + super.breakBlock(world, x, y, z, block, metadata); + + } + + // If a block in the beam path is removed, repropagate beam + @Override + public void onNeighborBlockChange(World world, int x, int y, int z, Block neighborBlock) { + if (world.isRemote) return; + if (neighborBlock instanceof SpotlightBeam) return; + + for (ForgeDirection dir : getDirections(world, x, y, z)) { + Spotlight.backPropagate(world, x, y, z, dir); + } + } + + // Directions are stored as a set of 6 bits: + // 000000 -> no incoming light directions are set, will be removed + // 010000 -> UP bit set, at least one direction is providing light + // 111111 -> ALL directions illuminated, all incoming lights need to be disabled to turn off the beam + public static List getDirections(World world, int x, int y, int z) { + TileEntityData te = (TileEntityData) world.getTileEntity(x, y, z); + if(te == null) return new ArrayList(); + return getDirections(te.metadata); + } + + public static List getDirections(int metadata) { + List directions = new ArrayList(6); + for (ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + if ((metadata & dir.flag) == dir.flag) directions.add(dir); + } + return directions; + } + + // Returns the final metadata, so the caller can optionally remove the block + public static int setDirection(World world, int x, int y, int z, ForgeDirection dir, boolean state) { + TileEntityData te = (TileEntityData) world.getTileEntity(x, y, z); + if (te == null) return 0; // This shouldn't happen, and if it does, cancel propagation + int transformedMetadata = applyDirection(te.metadata, dir, state); + te.metadata = transformedMetadata; + return transformedMetadata; + } + + // Sets the metadata bit for a given direction + public static int applyDirection(int metadata, ForgeDirection direction, boolean state) { + if (state) { + return metadata | direction.flag; + } else { + return metadata & ~direction.flag; + } + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityData(); + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean isAir(IBlockAccess world, int x, int y, int z) { + return true; + } + + @Override + public boolean canBeReplacedByLeaves(IBlockAccess world, int x, int y, int z) { + return true; + } + + @Override + public boolean isLeaves(IBlockAccess world, int x, int y, int z) { + // This was taken from GregsLighting (cargo cult behaviour) + // This is a bit screwy, but it's needed so that trees are not prevented from growing + // near a floodlight beam. + return true; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @Override + public int quantityDropped(Random par1Random) { + return 0; + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) { + return null; + } + + @Override + public int getRenderType() { + return -1; + } +} diff --git a/src/main/java/com/hbm/blocks/machine/SpotlightModular.java b/src/main/java/com/hbm/blocks/machine/SpotlightModular.java new file mode 100644 index 000000000..5a0cddc2b --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/SpotlightModular.java @@ -0,0 +1,25 @@ +package com.hbm.blocks.machine; + +import com.hbm.blocks.BlockEnums.LightType; + +import net.minecraft.block.material.Material; +import net.minecraft.world.IBlockAccess; + +public class SpotlightModular extends Spotlight { + + public SpotlightModular(Material mat, int beamLength, LightType type, boolean isOn) { + super(mat, beamLength, type, isOn); + } + + @Override + public String getPartName(int connectionCount) { + if (connectionCount == 0) return "FluoroSingle"; + if (connectionCount == 1) return "FluoroCap"; + return "FluoroMid"; + } + + public boolean canConnectTo(IBlockAccess world, int x, int y, int z) { + return world.getBlock(x, y, z) == this; + } + +} diff --git a/src/main/java/com/hbm/blocks/machine/UVLamp.java b/src/main/java/com/hbm/blocks/machine/UVLamp.java deleted file mode 100644 index 482448dad..000000000 --- a/src/main/java/com/hbm/blocks/machine/UVLamp.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.hbm.blocks.machine; - -import com.hbm.blocks.BlockDummyable; -import com.hbm.lib.RefStrings; -import com.hbm.tileentity.machine.TileEntityUVLamp; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; - -public class UVLamp extends BlockDummyable { - - public UVLamp(boolean isOn) { - super(Material.iron); - this.setStepSound(Block.soundTypeMetal); - this.setHardness(3.0F); - this.setBlockTextureName(RefStrings.MODID + ":block_steel"); - - if(isOn) this.setLightLevel(5F/15F); - } - - @Override - public TileEntity createNewTileEntity(World world, int meta) { - return new TileEntityUVLamp(); - } - - @Override - public int[] getDimensions() { - return new int[] {1, 0, 0, 0, 0, 0}; - } - - @Override - public int getOffset() { - return 0; - } -} diff --git a/src/main/java/com/hbm/blocks/machine/Watz.java b/src/main/java/com/hbm/blocks/machine/Watz.java index 4f195b722..48dfd23e2 100644 --- a/src/main/java/com/hbm/blocks/machine/Watz.java +++ b/src/main/java/com/hbm/blocks/machine/Watz.java @@ -5,6 +5,7 @@ import java.util.Random; import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ModBlocks; import com.hbm.handler.MultiblockHandlerXR; +import com.hbm.inventory.material.Mats; import com.hbm.items.ModItems; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityWatz; @@ -93,7 +94,7 @@ public class Watz extends BlockDummyable { if(i >= 12 && drop) { world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.watz_end, 48))); - for(int j = 0; j < 3; j++) world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModItems.bolt_dura_steel, 64))); + for(int j = 0; j < 3; j++) world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, Mats.MAT_DURA.make(ModItems.bolt))); world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.watz_element, 36))); world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.watz_cooler, 26))); world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.struct_watz_core, 1))); diff --git a/src/main/java/com/hbm/blocks/machine/WatzCore.java b/src/main/java/com/hbm/blocks/machine/WatzCore.java deleted file mode 100644 index 0289ece20..000000000 --- a/src/main/java/com/hbm/blocks/machine/WatzCore.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.hbm.blocks.machine; - -import com.hbm.tileentity.machine.TileEntityWatzCore; - -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; - -public class WatzCore extends BlockContainer { - - public WatzCore(Material p_i45386_1_) { - super(p_i45386_1_); - } - - @Override - public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return new TileEntityWatzCore(); - } -} diff --git a/src/main/java/com/hbm/blocks/machine/WatzHatch.java b/src/main/java/com/hbm/blocks/machine/WatzHatch.java deleted file mode 100644 index 157a02036..000000000 --- a/src/main/java/com/hbm/blocks/machine/WatzHatch.java +++ /dev/null @@ -1,158 +0,0 @@ -package com.hbm.blocks.machine; - -import java.util.Random; - -import com.hbm.inventory.fluid.FluidType; -import com.hbm.inventory.fluid.Fluids; -import com.hbm.lib.RefStrings; -import com.hbm.main.MainRegistry; -import com.hbm.tileentity.machine.TileEntityWatzCore; - -import api.hbm.fluid.IFluidConnectorBlock; -import cpw.mods.fml.common.network.internal.FMLNetworkHandler; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.IIcon; -import net.minecraft.util.MathHelper; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -public class WatzHatch extends Block implements IFluidConnectorBlock { - - @SideOnly(Side.CLIENT) - private IIcon iconFront; - - public WatzHatch(Material p_i45394_1_) { - super(p_i45394_1_); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister iconRegister) { - this.iconFront = iconRegister.registerIcon(RefStrings.MODID + ":watz_hatch"); - this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":reinforced_brick"); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int metadata) { - return metadata == 0 && side == 3 ? this.iconFront : (side == metadata ? this.iconFront : this.blockIcon); - } - - @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) - { - return Item.getItemFromBlock(this); - } - - @Override - public void onBlockAdded(World world, int x, int y, int z) { - super.onBlockAdded(world, x, y, z); - //this.setDefaultDirection(world, x, y, z); - } - - @Override - public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { - int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; - - if(i == 0) - { - world.setBlockMetadataWithNotify(x, y, z, 2, 2); - } - if(i == 1) - { - world.setBlockMetadataWithNotify(x, y, z, 5, 2); - } - if(i == 2) - { - world.setBlockMetadataWithNotify(x, y, z, 3, 2); - } - if(i == 3) - { - world.setBlockMetadataWithNotify(x, y, z, 4, 2); - } - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(world.isRemote) - { - return true; - } else if(!player.isSneaking()) - { - if(world.getBlockMetadata(x, y, z) == 2) - { - if(world.getTileEntity(x, y, z + 3) instanceof TileEntityWatzCore) - { - if(((TileEntityWatzCore)world.getTileEntity(x, y, z + 3)).isStructureValid(world)) - { - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z + 3); - } else { - player.addChatMessage(new ChatComponentText("[Watz Power Plant] Error: Reactor Structure not valid!")); - } - } else { - player.addChatMessage(new ChatComponentText("[Watz Power Plant] Error: Reactor Core not found!")); - } - } - if(world.getBlockMetadata(x, y, z) == 3) - { - if(world.getTileEntity(x, y, z - 3) instanceof TileEntityWatzCore) - { - if(((TileEntityWatzCore)world.getTileEntity(x, y, z - 3)).isStructureValid(world)) - { - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z - 3); - } else { - player.addChatMessage(new ChatComponentText("[Watz Power Plant] Error: Reactor Structure not valid!")); - } - } else { - player.addChatMessage(new ChatComponentText("[Watz Power Plant] Error: Reactor Core not found!")); - } - } - if(world.getBlockMetadata(x, y, z) == 4) - { - if(world.getTileEntity(x + 3, y, z) instanceof TileEntityWatzCore) - { - if(((TileEntityWatzCore)world.getTileEntity(x + 3, y, z)).isStructureValid(world)) - { - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x + 3, y, z); - } else { - player.addChatMessage(new ChatComponentText("[Watz Power Plant] Error: Reactor Structure not valid!")); - } - } else { - player.addChatMessage(new ChatComponentText("[Watz Power Plant] Error: Reactor Core not found!")); - } - } - if(world.getBlockMetadata(x, y, z) == 5) - { - if(world.getTileEntity(x - 3, y, z) instanceof TileEntityWatzCore) - { - if(((TileEntityWatzCore)world.getTileEntity(x - 3, y, z)).isStructureValid(world)) - { - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x - 3, y, z); - } else { - player.addChatMessage(new ChatComponentText("[Watz Power Plant] Error: Reactor Structure not valid!")); - } - } else { - player.addChatMessage(new ChatComponentText("[Watz Power Plant] Error: Reactor Core not found!")); - } - } - return true; - } else { - return false; - } - } - - @Override - public boolean canConnect(FluidType type, IBlockAccess world, int x, int y, int z, ForgeDirection dir) { - return type == Fluids.WATZ; - } -} diff --git a/src/main/java/com/hbm/blocks/machine/ZirnoxDestroyed.java b/src/main/java/com/hbm/blocks/machine/ZirnoxDestroyed.java index 62f397474..73526c494 100644 --- a/src/main/java/com/hbm/blocks/machine/ZirnoxDestroyed.java +++ b/src/main/java/com/hbm/blocks/machine/ZirnoxDestroyed.java @@ -5,6 +5,7 @@ import java.util.Random; import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.material.Mats; import com.hbm.items.ModItems; import com.hbm.main.MainRegistry; import com.hbm.packet.AuxParticlePacketNT; @@ -106,7 +107,7 @@ public class ZirnoxDestroyed extends BlockDummyable { public ArrayList getDrops(World world, int x, int y, int z, int meta, int fortune) { ArrayList drops = new ArrayList(); drops.add(new ItemStack(ModBlocks.concrete_smooth, 6)); - drops.add(new ItemStack(ModBlocks.deco_pipe_quad, 4)); + drops.add(new ItemStack(ModItems.pipe, 4, Mats.MAT_STEEL.id)); drops.add(new ItemStack(ModBlocks.steel_grate, 2)); drops.add(new ItemStack(ModItems.debris_metal, 6)); drops.add(new ItemStack(ModItems.debris_graphite, 2)); diff --git a/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilled.java b/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilled.java index 46d724787..309f8b2d5 100644 --- a/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilled.java +++ b/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilled.java @@ -1,6 +1,7 @@ package com.hbm.blocks.machine.pile; import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.material.Mats; import com.hbm.items.ModItems; import api.hbm.block.IToolable; @@ -31,7 +32,7 @@ public class BlockGraphiteDrilled extends BlockGraphiteDrilledBase implements IT if(checkInteraction(world, x, y, z, meta, player, ModItems.cell_tritium, ModBlocks.block_graphite_tritium)) return true; //if you want to i guess? if(checkInteraction(world, x, y, z, meta, player, ModItems.pile_rod_detector, ModBlocks.block_graphite_detector)) return true; if(meta >> 2 != 1) { - if(checkInteraction(world, x, y, z, meta | 4, player, ModItems.hull_small_aluminium, ModBlocks.block_graphite_drilled)) return true; + if(checkInteraction(world, x, y, z, meta | 4, player, ModItems.shell, ModBlocks.block_graphite_drilled)) return true; if(checkInteraction(world, x, y, z, 0, player, ModItems.ingot_graphite, ModBlocks.block_graphite)) return true; } } @@ -43,6 +44,9 @@ public class BlockGraphiteDrilled extends BlockGraphiteDrilledBase implements IT private boolean checkInteraction(World world, int x, int y, int z, int meta, EntityPlayer player, Item item, Block block) { if(player.getHeldItem().getItem() == item) { + + if(item == ModItems.shell && player.getHeldItem().getItemDamage() != Mats.MAT_ALUMINIUM.id) return false; //shitty workaround + player.getHeldItem().stackSize--; world.setBlock(x, y, z, block, meta, 3); @@ -67,7 +71,7 @@ public class BlockGraphiteDrilled extends BlockGraphiteDrilledBase implements IT world.setBlock(x, y, z, ModBlocks.block_graphite_drilled, cfg, 3); world.playSoundEffect(x + 0.5, y + 1.5, z + 0.5, "hbm:item.upgradePlug", 1.0F, 0.85F); - BlockGraphiteRod.ejectItem(world, x, y, z, ForgeDirection.getOrientation(side), new ItemStack(ModItems.hull_small_aluminium)); + BlockGraphiteRod.ejectItem(world, x, y, z, ForgeDirection.getOrientation(side), new ItemStack(ModItems.shell, 1, Mats.MAT_ALUMINIUM.id)); } return true; diff --git a/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilledBase.java b/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilledBase.java index 58ec7bce2..efe9764b6 100644 --- a/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilledBase.java +++ b/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilledBase.java @@ -6,6 +6,7 @@ import java.util.Random; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.BlockFlammable; import com.hbm.inventory.RecipesCommon.MetaBlock; +import com.hbm.inventory.material.Mats; import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; @@ -114,7 +115,7 @@ public abstract class BlockGraphiteDrilledBase extends BlockFlammable implements ArrayList drops = new ArrayList(); drops.add(new ItemStack(ModItems.ingot_graphite, 8)); if((meta & 4) == 4) - drops.add(new ItemStack(ModItems.hull_small_aluminium, 1)); + drops.add(new ItemStack(ModItems.shell, 1, Mats.MAT_ALUMINIUM.id)); if(getInsertedItem() != null) drops.add(new ItemStack(getInsertedItem(meta), 1)); return drops; diff --git a/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteFuel.java b/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteFuel.java index cc98534da..7b3b892ca 100644 --- a/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteFuel.java +++ b/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteFuel.java @@ -47,7 +47,7 @@ public class BlockGraphiteFuel extends BlockGraphiteDrilledTE implements IToolab @Override public int getComparatorInputOverride(World world, int x, int y, int z, int side) { TileEntityPileFuel pile = (TileEntityPileFuel)world.getTileEntity(x, y, z); - return MathHelper.clamp_int((pile.progress * 16) / pile.maxProgress, 0, 15); //potentially wip + return MathHelper.clamp_int((pile.progress * 15) / (pile.maxProgress - 1000), 0, 15); } @Override diff --git a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKInlet.java b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKInlet.java index 7fbc50e7d..87127a718 100644 --- a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKInlet.java +++ b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKInlet.java @@ -1,13 +1,18 @@ package com.hbm.blocks.machine.rbmk; +import java.util.List; + +import com.hbm.blocks.ITooltipProvider; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKInlet; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; -public class RBMKInlet extends BlockContainer { +public class RBMKInlet extends BlockContainer implements ITooltipProvider { public RBMKInlet(Material mat) { super(mat); @@ -17,4 +22,9 @@ public class RBMKInlet extends BlockContainer { public TileEntity createNewTileEntity(World world, int meta) { return new TileEntityRBMKInlet(); } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { + this.addStandardInfo(stack, player, list, ext); + } } diff --git a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKLoader.java b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKLoader.java index 52955a187..da2c58002 100644 --- a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKLoader.java +++ b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKLoader.java @@ -1,5 +1,8 @@ package com.hbm.blocks.machine.rbmk; +import java.util.List; + +import com.hbm.blocks.ITooltipProvider; import com.hbm.blocks.generic.BlockGeneric; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.trait.FT_Coolable; @@ -7,10 +10,12 @@ import com.hbm.inventory.fluid.trait.FT_Heatable; import api.hbm.fluid.IFluidConnectorBlock; import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; import net.minecraft.world.IBlockAccess; import net.minecraftforge.common.util.ForgeDirection; -public class RBMKLoader extends BlockGeneric implements IFluidConnectorBlock { +public class RBMKLoader extends BlockGeneric implements IFluidConnectorBlock, ITooltipProvider { public RBMKLoader(Material material) { super(material); @@ -22,4 +27,9 @@ public class RBMKLoader extends BlockGeneric implements IFluidConnectorBlock { return type.hasTrait(FT_Coolable.class); } + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { + this.addStandardInfo(stack, player, list, ext); + } + } diff --git a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKOutlet.java b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKOutlet.java index 9a30ea035..6772322f2 100644 --- a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKOutlet.java +++ b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKOutlet.java @@ -1,13 +1,18 @@ package com.hbm.blocks.machine.rbmk; +import java.util.List; + +import com.hbm.blocks.ITooltipProvider; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKOutlet; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; -public class RBMKOutlet extends BlockContainer { +public class RBMKOutlet extends BlockContainer implements ITooltipProvider { public RBMKOutlet(Material mat) { super(mat); @@ -17,4 +22,9 @@ public class RBMKOutlet extends BlockContainer { public TileEntity createNewTileEntity(World world, int meta) { return new TileEntityRBMKOutlet(); } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { + this.addStandardInfo(stack, player, list, ext); + } } diff --git a/src/main/java/com/hbm/blocks/network/BlockCableGauge.java b/src/main/java/com/hbm/blocks/network/BlockCableGauge.java index 54921d0c7..980bdfb32 100644 --- a/src/main/java/com/hbm/blocks/network/BlockCableGauge.java +++ b/src/main/java/com/hbm/blocks/network/BlockCableGauge.java @@ -1,6 +1,5 @@ package com.hbm.blocks.network; -import java.math.BigInteger; import java.util.ArrayList; import java.util.List; @@ -14,6 +13,7 @@ import com.hbm.tileentity.network.TileEntityCableBaseNT; import com.hbm.util.BobMathUtil; import com.hbm.util.I18nUtil; +import api.hbm.energymk2.PowerNetMK2; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.BlockContainer; @@ -100,7 +100,6 @@ public class BlockCableGauge extends BlockContainer implements IBlockMultiPass, public static class TileEntityCableGauge extends TileEntityCableBaseNT implements INBTPacketReceiver { - private BigInteger lastMeasurement = BigInteger.valueOf(10); private long deltaTick = 0; private long deltaSecond = 0; private long deltaLastSecond = 0; @@ -111,20 +110,16 @@ public class BlockCableGauge extends BlockContainer implements IBlockMultiPass, if(!worldObj.isRemote) { - if(network != null) { - BigInteger total = network.getTotalTransfer(); - BigInteger delta = total.subtract(this.lastMeasurement); - this.lastMeasurement = total; + if(this.node != null && this.node.net != null) { - try { - this.deltaTick = delta.longValueExact(); - if(worldObj.getTotalWorldTime() % 20 == 0) { - this.deltaLastSecond = this.deltaSecond; - this.deltaSecond = 0; - } - this.deltaSecond += deltaTick; - - } catch(Exception ex) { } + PowerNetMK2 net = this.node.net; + + this.deltaTick = net.energyTracker; + if(worldObj.getTotalWorldTime() % 20 == 0) { + this.deltaLastSecond = this.deltaSecond; + this.deltaSecond = 0; + } + this.deltaSecond += deltaTick; } NBTTagCompound data = new NBTTagCompound(); diff --git a/src/main/java/com/hbm/blocks/network/BlockRFCable.java b/src/main/java/com/hbm/blocks/network/BlockRFCable.java deleted file mode 100644 index d087a33c4..000000000 --- a/src/main/java/com/hbm/blocks/network/BlockRFCable.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.hbm.blocks.network; - -import com.hbm.tileentity.conductor.TileEntityRFDuct; - -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; - -public class BlockRFCable extends BlockContainer { - - public BlockRFCable(Material p_i45386_1_) { - super(p_i45386_1_); - float p = 1F/16F; - this.setBlockBounds(11 * p / 2, 11 * p / 2, 11 * p / 2, 1 - 11 * p / 2, 1 - 11 * p / 2, 1 - 11 * p / 2); - this.useNeighborBrightness = true; - } - - @Override - public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { - if(world.getTileEntity(x, y, z) instanceof TileEntityRFDuct) { - TileEntityRFDuct cable = (TileEntityRFDuct)world.getTileEntity(x, y, z); - - if(cable != null) - { - float p = 1F/16F; - float minX = 11 * p / 2 - (cable.connections[5] != null ? (11 * p / 2) : 0); - float minY = 11 * p / 2 - (cable.connections[1] != null ? (11 * p / 2) : 0); - float minZ = 11 * p / 2 - (cable.connections[2] != null ? (11 * p / 2) : 0); - float maxX = 1 - 11 * p / 2 + (cable.connections[3] != null ? (11 * p / 2) : 0); - float maxY = 1 - 11 * p / 2 + (cable.connections[0] != null ? (11 * p / 2) : 0); - float maxZ = 1 - 11 * p / 2 + (cable.connections[4] != null ? (11 * p / 2) : 0); - - this.setBlockBounds(minX, minY, minZ, maxX, maxY, maxZ); - } - } - return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); - } - - @Override - public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { - if(world.getTileEntity(x, y, z) instanceof TileEntityRFDuct) { - TileEntityRFDuct cable = (TileEntityRFDuct)world.getTileEntity(x, y, z); - - if(cable != null) - { - float p = 1F/16F; - float minX = 11 * p / 2 - (cable.connections[5] != null ? (11 * p / 2) : 0); - float minY = 11 * p / 2 - (cable.connections[1] != null ? (11 * p / 2) : 0); - float minZ = 11 * p / 2 - (cable.connections[2] != null ? (11 * p / 2) : 0); - float maxX = 1 - 11 * p / 2 + (cable.connections[3] != null ? (11 * p / 2) : 0); - float maxY = 1 - 11 * p / 2 + (cable.connections[0] != null ? (11 * p / 2) : 0); - float maxZ = 1 - 11 * p / 2 + (cable.connections[4] != null ? (11 * p / 2) : 0); - - this.setBlockBounds(minX, minY, minZ, maxX, maxY, maxZ); - } - } - } - - @Override - public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return new TileEntityRFDuct(10000); - } - - @Override - public int getRenderType(){ - return -1; - } - - @Override - public boolean isOpaqueCube() { - return false; - } - - @Override - public boolean renderAsNormalBlock() { - return false; - } -} diff --git a/src/main/java/com/hbm/blocks/network/CableDiode.java b/src/main/java/com/hbm/blocks/network/CableDiode.java index 6771ccf2d..246094666 100644 --- a/src/main/java/com/hbm/blocks/network/CableDiode.java +++ b/src/main/java/com/hbm/blocks/network/CableDiode.java @@ -7,12 +7,16 @@ import com.hbm.blocks.ILookOverlay; import com.hbm.blocks.ITooltipProvider; import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.util.BobMathUtil; +import com.hbm.util.Compat; import com.hbm.util.I18nUtil; import api.hbm.block.IToolable; -import api.hbm.energy.IEnergyUser; -import api.hbm.energy.IEnergyConnector.ConnectionPriority; -import api.hbm.energy.IEnergyConnectorBlock; +import api.hbm.energymk2.IEnergyConnectorBlock; +import api.hbm.energymk2.IEnergyConnectorMK2; +import api.hbm.energymk2.IEnergyReceiverMK2; +import api.hbm.energymk2.Nodespace; +import api.hbm.energymk2.Nodespace.PowerNode; +import api.hbm.energymk2.IEnergyReceiverMK2.ConnectionPriority; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -98,7 +102,7 @@ public class CableDiode extends BlockContainer implements IEnergyConnectorBlock, if(tool == ToolType.DEFUSER) { int p = te.priority.ordinal() + 1; - if(p > 2) p = 0; + if(p > 4) p = 0; te.priority = ConnectionPriority.values()[p]; te.markDirty(); world.markBlockForUpdate(x, y, z); @@ -138,7 +142,7 @@ public class CableDiode extends BlockContainer implements IEnergyConnectorBlock, return new TileEntityDiode(); } - public static class TileEntityDiode extends TileEntityLoadedBase implements IEnergyUser { + public static class TileEntityDiode extends TileEntityLoadedBase implements IEnergyReceiverMK2 { @Override public void readFromNBT(NBTTagCompound nbt) { @@ -183,6 +187,9 @@ public class CableDiode extends BlockContainer implements IEnergyConnectorBlock, this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); } + + pulses = 0; + this.setPower(0); //tick is over, reset our allowed transfe } } @@ -191,10 +198,9 @@ public class CableDiode extends BlockContainer implements IEnergyConnectorBlock, return dir != getDir(); } + /** Used as an intra-tick tracker for how much energy has been transmitted, resets to 0 each tick and maxes out based on transfer */ + private long power; private boolean recursionBrake = false; - private long subBuffer; - private long contingent = 0; - private long lastTransfer = 0; private int pulses = 0; public ConnectionPriority priority = ConnectionPriority.NORMAL; @@ -205,36 +211,40 @@ public class CableDiode extends BlockContainer implements IEnergyConnectorBlock, return power; pulses++; - - if(lastTransfer != worldObj.getTotalWorldTime()) { - lastTransfer = worldObj.getTotalWorldTime(); - contingent = getMaxPower(); - pulses = 0; - } - - if(contingent <= 0 || pulses > 10) - return power; - - //this part turns "maxPower" from a glorified transfer weight into an actual transfer cap - long overShoot = Math.max(0, power - contingent); - power = Math.min(power, contingent); + if(this.getPower() >= this.getMaxPower() || pulses > 10) return power; //if we have already maxed out transfer or max pulses, abort recursionBrake = true; - this.subBuffer = power; ForgeDirection dir = getDir(); - this.sendPower(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); - long ret = this.subBuffer; + PowerNode node = Nodespace.getNode(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ); + TileEntity te = Compat.getTileStandard(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ); - long sent = power - ret; - contingent -= sent; + if(node != null && !node.expired && node.hasValidNet() && te instanceof IEnergyConnectorMK2 && ((IEnergyConnectorMK2) te).canConnect(dir.getOpposite())) { + long toTransfer = Math.min(power, this.getReceiverSpeed()); + long remainder = node.net.sendPowerDiode(toTransfer); + long transferred = (toTransfer - remainder); + this.power += transferred; + power -= transferred; + + } else if(te instanceof IEnergyReceiverMK2 && te != this) { + IEnergyReceiverMK2 rec = (IEnergyReceiverMK2) te; + if(rec.canConnect(dir.getOpposite())) { + long toTransfer = Math.min(power, rec.getReceiverSpeed()); + long remainder = rec.transferPower(toTransfer); + power -= (toTransfer - remainder); + recursionBrake = false; + return power; + } + } - this.subBuffer = 0; recursionBrake = false; - - return ret + overShoot; + return power; } + @Override + public long getReceiverSpeed() { + return this.getMaxPower() - this.getPower(); + } @Override public long getMaxPower() { @@ -243,12 +253,12 @@ public class CableDiode extends BlockContainer implements IEnergyConnectorBlock, @Override public long getPower() { - return subBuffer; + return Math.min(power, this.getMaxPower()); } @Override public void setPower(long power) { - this.subBuffer = power; + this.power = power; } @Override diff --git a/src/main/java/com/hbm/blocks/network/CraneInserter.java b/src/main/java/com/hbm/blocks/network/CraneInserter.java index 97347dc3c..22dcdcad8 100644 --- a/src/main/java/com/hbm/blocks/network/CraneInserter.java +++ b/src/main/java/com/hbm/blocks/network/CraneInserter.java @@ -6,6 +6,8 @@ import api.hbm.conveyor.IEnterableBlock; import com.hbm.lib.RefStrings; import com.hbm.tileentity.network.TileEntityCraneBase; import com.hbm.tileentity.network.TileEntityCraneInserter; +import com.hbm.util.InventoryUtil; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; @@ -17,7 +19,6 @@ import net.minecraft.inventory.IInventory; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import net.minecraft.tileentity.TileEntityFurnace; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @@ -72,7 +73,7 @@ public class CraneInserter extends BlockCraneBase implements IEnterableBlock { if(te instanceof ISidedInventory) { ISidedInventory sided = (ISidedInventory) te; - access = masquerade(sided, outputDirection.getOpposite().ordinal()); + access = InventoryUtil.masquerade(sided, outputDirection.getOpposite().ordinal()); } if(te instanceof IInventory) { @@ -90,15 +91,6 @@ public class CraneInserter extends BlockCraneBase implements IEnterableBlock { } } - public static int[] masquerade(ISidedInventory sided, int side) { - - if(sided instanceof TileEntityFurnace) { - return new int[] {1, 0}; - } - - return sided.getAccessibleSlotsFromSide(side); - } - public static ItemStack addToInventory(IInventory inv, int[] access, ItemStack toAdd, int side) { ISidedInventory sided = inv instanceof ISidedInventory ? (ISidedInventory) inv : null; diff --git a/src/main/java/com/hbm/blocks/network/DroneDock.java b/src/main/java/com/hbm/blocks/network/DroneDock.java index 592f5a194..df16956fc 100644 --- a/src/main/java/com/hbm/blocks/network/DroneDock.java +++ b/src/main/java/com/hbm/blocks/network/DroneDock.java @@ -1,5 +1,8 @@ package com.hbm.blocks.network; +import java.util.List; + +import com.hbm.blocks.ITooltipProvider; import com.hbm.blocks.ModBlocks; import com.hbm.main.MainRegistry; import com.hbm.tileentity.network.TileEntityDroneDock; @@ -13,11 +16,12 @@ import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.world.World; -public class DroneDock extends BlockContainer { +public class DroneDock extends BlockContainer implements ITooltipProvider { @SideOnly(Side.CLIENT) private IIcon iconTop; @SideOnly(Side.CLIENT) private IIcon iconBottom; @@ -61,4 +65,9 @@ public class DroneDock extends BlockContainer { return false; } } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { + this.addStandardInfo(stack, player, list, ext); + } } diff --git a/src/main/java/com/hbm/blocks/network/FluidDuctStandard.java b/src/main/java/com/hbm/blocks/network/FluidDuctStandard.java index e58d7ab02..8bf891a05 100644 --- a/src/main/java/com/hbm/blocks/network/FluidDuctStandard.java +++ b/src/main/java/com/hbm/blocks/network/FluidDuctStandard.java @@ -5,7 +5,6 @@ import java.util.List; import com.hbm.blocks.IBlockMulti; import com.hbm.blocks.ILookOverlay; -import com.hbm.blocks.test.TestPipe; import com.hbm.inventory.fluid.FluidType; import com.hbm.items.ModItems; import com.hbm.lib.Library; @@ -13,6 +12,7 @@ import com.hbm.lib.RefStrings; import com.hbm.tileentity.network.TileEntityPipeBaseNT; import com.hbm.util.I18nUtil; +import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.material.Material; @@ -99,19 +99,22 @@ public class FluidDuctStandard extends FluidDuctBase implements IBlockMulti, ILo @Override @SideOnly(Side.CLIENT) public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z, EntityPlayer player) { - TileEntity tileEntity = world.getTileEntity(x, y, z); - if (tileEntity instanceof TileEntityPipeBaseNT) { - TileEntityPipeBaseNT pipe = (TileEntityPipeBaseNT) tileEntity; - FluidType fluidType = pipe.getType(); - int retadata = fluidType.getID(); //florf + TileEntity tileEntity = world.getTileEntity(x, y, z); + if(tileEntity instanceof TileEntityPipeBaseNT) { + TileEntityPipeBaseNT pipe = (TileEntityPipeBaseNT) tileEntity; + FluidType fluidType = pipe.getType(); + int retadata = fluidType.getID(); // florf - return new ItemStack(ModItems.fluid_duct, 1, retadata); - } - return super.getPickBlock(target, world, x, y, z, player); + return new ItemStack(ModItems.fluid_duct, 1, retadata); + } + return super.getPickBlock(target, world, x, y, z, player); } + + public static int renderID = RenderingRegistry.getNextAvailableRenderId(); + @Override public int getRenderType() { - return TestPipe.renderID; + return renderID; } @Override diff --git a/src/main/java/com/hbm/blocks/network/PylonBase.java b/src/main/java/com/hbm/blocks/network/PylonBase.java index f2bf0c675..bf35c9fbe 100644 --- a/src/main/java/com/hbm/blocks/network/PylonBase.java +++ b/src/main/java/com/hbm/blocks/network/PylonBase.java @@ -6,6 +6,7 @@ import com.hbm.tileentity.network.TileEntityPylonBase; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; @@ -41,4 +42,16 @@ public abstract class PylonBase extends BlockContainer implements ITooltipProvid public boolean renderAsNormalBlock() { return false; } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + if(world.isRemote) { + return true; + } else if(!player.isSneaking()) { + TileEntityPylonBase te = (TileEntityPylonBase) world.getTileEntity(x, y, z); + return te.setColor(player.getHeldItem()); + } else { + return false; + } + } } diff --git a/src/main/java/com/hbm/blocks/network/PylonLarge.java b/src/main/java/com/hbm/blocks/network/PylonLarge.java index 395b27dd1..6333a6e28 100644 --- a/src/main/java/com/hbm/blocks/network/PylonLarge.java +++ b/src/main/java/com/hbm/blocks/network/PylonLarge.java @@ -82,4 +82,17 @@ public class PylonLarge extends BlockDummyable implements ITooltipProvider { return dir.ordinal() + offset; } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + if(world.isRemote) { + return true; + } else if(!player.isSneaking()) { + int[] pos = this.findCore(world, x, y, z); + TileEntityPylonBase te = (TileEntityPylonBase) world.getTileEntity(pos[0], pos[1], pos[2]); + return te.setColor(player.getHeldItem()); + } else { + return false; + } + } } diff --git a/src/main/java/com/hbm/blocks/network/PylonMedium.java b/src/main/java/com/hbm/blocks/network/PylonMedium.java new file mode 100644 index 000000000..7a29f4614 --- /dev/null +++ b/src/main/java/com/hbm/blocks/network/PylonMedium.java @@ -0,0 +1,66 @@ +package com.hbm.blocks.network; + +import java.util.List; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ITooltipProvider; +import com.hbm.tileentity.network.TileEntityPylonBase; +import com.hbm.tileentity.network.TileEntityPylonMedium; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; + +public class PylonMedium extends BlockDummyable implements ITooltipProvider { + + public PylonMedium(Material mat) { + super(mat); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + + if(meta >= 12) return new TileEntityPylonMedium(); + return null; + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { + list.add(EnumChatFormatting.GOLD + "Connection Type: " + EnumChatFormatting.YELLOW + "Triple"); + list.add(EnumChatFormatting.GOLD + "Connection Range: " + EnumChatFormatting.YELLOW + "45m"); + } + + @Override + public int[] getDimensions() { + return new int[] {6, 0, 0, 0, 0, 0}; + } + + @Override + public int getOffset() { + return 0; + } + + @Override + public void breakBlock(World world, int x, int y, int z, Block b, int m) { + TileEntity te = world.getTileEntity(x, y, z); + if(te instanceof TileEntityPylonBase) ((TileEntityPylonBase)te).disconnectAll(); + super.breakBlock(world, x, y, z, b, m); + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + if(world.isRemote) { + return true; + } else if(!player.isSneaking()) { + int[] pos = this.findCore(world, x, y, z); + TileEntityPylonBase te = (TileEntityPylonBase) world.getTileEntity(pos[0], pos[1], pos[2]); + return te.setColor(player.getHeldItem()); + } else { + return false; + } + } +} diff --git a/src/main/java/com/hbm/blocks/network/RadioTorchLogic.java b/src/main/java/com/hbm/blocks/network/RadioTorchLogic.java new file mode 100644 index 000000000..13cc2d107 --- /dev/null +++ b/src/main/java/com/hbm/blocks/network/RadioTorchLogic.java @@ -0,0 +1,85 @@ +package com.hbm.blocks.network; + +import java.util.ArrayList; +import java.util.List; + +import com.hbm.blocks.ILookOverlay; +import com.hbm.inventory.gui.GUIScreenRadioTorchLogic; +import com.hbm.lib.RefStrings; +import com.hbm.tileentity.network.TileEntityRadioTorchLogic; +import com.hbm.util.I18nUtil; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; + +public class RadioTorchLogic extends RadioTorchRWBase { + + public RadioTorchLogic() { + super(); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":rtty_logic_off"); + this.iconOn = iconRegister.registerIcon(RefStrings.MODID + ":rtty_logic_on"); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + TileEntityRadioTorchLogic tile = new TileEntityRadioTorchLogic(); + tile.lastUpdate = world.getTotalWorldTime(); + return tile; + } + + @Override + public boolean canProvidePower() { + return true; + } + + @Override + public int isProvidingWeakPower(IBlockAccess world, int x, int y, int z, int side) { + + TileEntity tile = world.getTileEntity(x, y, z); + + if(tile instanceof TileEntityRadioTorchLogic) { + int state = ((TileEntityRadioTorchLogic) tile).lastState; + return state; + } + + return 0; + } + + @Override + @SideOnly(Side.CLIENT) + public void printHook(Pre event, World world, int x, int y, int z) { + TileEntity te = world.getTileEntity(x, y, z); + + if(te instanceof TileEntityRadioTorchLogic) { + TileEntityRadioTorchLogic radio = (TileEntityRadioTorchLogic) te; + List text = new ArrayList(); + if(radio.channel != null && !radio.channel.isEmpty()) text.add(EnumChatFormatting.AQUA + "Freq: " + radio.channel); + text.add(EnumChatFormatting.RED + "Signal: " + radio.lastState); + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); + } + } + + @Override + @SideOnly(Side.CLIENT) + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + TileEntity te = world.getTileEntity(x, y, z); + + if(te instanceof TileEntityRadioTorchLogic) + return new GUIScreenRadioTorchLogic((TileEntityRadioTorchLogic) te); + + return null; + } +} diff --git a/src/main/java/com/hbm/blocks/network/Substation.java b/src/main/java/com/hbm/blocks/network/Substation.java index 7499992fd..6c8e3cb34 100644 --- a/src/main/java/com/hbm/blocks/network/Substation.java +++ b/src/main/java/com/hbm/blocks/network/Substation.java @@ -72,4 +72,17 @@ public class Substation extends BlockDummyable implements ITooltipProvider { this.makeExtra(world, x + dir.offsetX * o - 1, y, z + dir.offsetZ * o + 1); this.makeExtra(world, x + dir.offsetX * o - 1, y, z + dir.offsetZ * o - 1); } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + if(world.isRemote) { + return true; + } else if(!player.isSneaking()) { + int[] pos = this.findCore(world, x, y, z); + TileEntityPylonBase te = (TileEntityPylonBase) world.getTileEntity(pos[0], pos[1], pos[2]); + return te.setColor(player.getHeldItem()); + } else { + return false; + } + } } diff --git a/src/main/java/com/hbm/blocks/rail/BlockRailWaypointSystem.java b/src/main/java/com/hbm/blocks/rail/BlockRailWaypointSystem.java new file mode 100644 index 000000000..2a5f8b9ff --- /dev/null +++ b/src/main/java/com/hbm/blocks/rail/BlockRailWaypointSystem.java @@ -0,0 +1,196 @@ +package com.hbm.blocks.rail; + +import java.util.ArrayList; +import java.util.List; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.entity.train.EntityRailCarBase; +import com.hbm.util.BobMathUtil; +import com.hbm.util.ParticleUtil; +import com.hbm.util.Tuple.Pair; +import com.hbm.util.fauxpointtwelve.BlockPos; + +import net.minecraft.block.material.Material; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.Vec3; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +public abstract class BlockRailWaypointSystem extends BlockDummyable implements IRailNTM { + + public List railDefs = new ArrayList(); + + public BlockRailWaypointSystem(Material mat) { + super(mat); + } + + /** Whether the train at position FROM can move towards the waypoint TO along the supplied railDef, also supplies world and core position */ + public boolean canCross(World world, int x, int y, int z, Vec3 from, Vec3 to, RailDef def) { + return true; + } + + @Override + public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { + this.setBlockBounds(0F, 0F, 0F, 1F, 0.125F, 1F); + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + this.setBlockBounds(0F, 0F, 0F, 1F, 0.125F, 1F); + return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); + } + + @Override + public Vec3 getSnappingPos(World world, int x, int y, int z, double trainX, double trainY, double trainZ) { + return snapAndMove(world, x, y, z, trainX, trainY, trainZ, 0, 0, 0, 0, new RailContext()); + } + + @Override + public Vec3 getTravelLocation(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailContext info, MoveContext context) { + return snapAndMove(world, x, y, z, trainX, trainY, trainZ, motionX, motionY, motionZ, speed, info); + } + + public Vec3 snapAndMove(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailContext info) { + int[] pos = this.findCore(world, x, y, z); + if(pos == null) return Vec3.createVectorHelper(trainX, trainY, trainZ); + int cX = pos[0]; + int cY = pos[1]; + int cZ = pos[2]; + int meta = world.getBlockMetadata(cX, cY, cZ); + double moveAngle = Math.atan2(motionX, motionZ) * 180D / Math.PI + 90; + Vec3 trainPos = Vec3.createVectorHelper(trainX, trainY, trainZ); + + //convert nodes to a list of links with in-world positions + Vec3 train = Vec3.createVectorHelper(trainX, trainY, trainZ); + Vec3 core = Vec3.createVectorHelper(cX + 0.5, cY, cZ + 0.5); + List>> links = new ArrayList(); + + for(RailDef def : railDefs) { + List> linkList = new ArrayList(); + links.add(linkList); + + for(int i = 0; i < def.nodes.size() - 1; i++) { + Vec3 vec1 = getPositionFromNode(world, x, y, z, core, def.nodes.get(i), meta); + Vec3 vec2 = getPositionFromNode(world, x, y, z, core, def.nodes.get(i + 1), meta); + ParticleUtil.spawnDroneLine(world, vec1.xCoord, vec1.yCoord, vec1.zCoord, vec2.xCoord - vec1.xCoord, vec2.yCoord - vec1.yCoord, vec2.zCoord - vec1.zCoord, 0xff0000); + linkList.add(new Pair(new Vec3[] {vec1, vec2}, def)); + } + } + + //find closest node + Pair closest = null; + Vec3 startingPos = null; + /** closest chain of link definitions */ + List> cDef = null; + double angularDiff = 0; + double linkAngle = 0; + double dist = Double.MAX_VALUE; + /** direction */ + boolean d = true; + + for(List> chain : links) { + for(Pair link : chain) { + Vec3[] array = link.getKey(); + Vec3 point = getClosestPointOnLink(array[0], array[1], train); + + if(point != null) { + Vec3 delta = point.subtract(train); + double length = delta.lengthVector(); + + if(!canCross(world, cX, cY, cZ, trainPos, point, link.getValue())) continue; + + linkAngle = EntityRailCarBase.generateYaw(array[1], array[0]); + angularDiff = BobMathUtil.angularDifference(linkAngle, -moveAngle); + if(angularDiff < -180) { angularDiff += 180; linkAngle += 180; d = false; } + if(angularDiff > 0) { angularDiff -= 180; linkAngle -= 180; d = false; } + + if(length < dist) { + closest = link; + startingPos = point; + cDef = chain; + dist = length; + } + } + } + } + + if(closest == null) { + return Vec3.createVectorHelper(trainX, trainY, trainZ); + } + + double distRemaining = speed; + boolean engaged = false; + Vec3 currentPos = startingPos; + for(int i = d ? 0 : cDef.size() - 1; d ? (i < cDef.size()) : (i >= 0); i += d ? 1 : -1) { + + Pair link = cDef.get(i); + Vec3[] array = link.getKey(); + + if(!engaged) { + if(link == closest) { + engaged = true; + } else { + continue; + } + } + + Vec3 nextNode = array[d?1:0]; + Vec3 delta = nextNode.subtract(currentPos); + + if(!canCross(world, cX, cY, cZ, currentPos, nextNode, link.getValue())) break; + + double len = delta.lengthVector(); + if(len >= distRemaining) { + info.overshoot = 0; + double newYaw = EntityRailCarBase.generateYaw(nextNode, currentPos); + if(Math.abs(BobMathUtil.angularDifference(newYaw, moveAngle)) < 45) info.yaw = (float) newYaw; + else info.yaw = (float) moveAngle; + delta.normalize(); + return Vec3.createVectorHelper(currentPos.xCoord - delta.xCoord * distRemaining / len, currentPos.yCoord - delta.yCoord * distRemaining / len, currentPos.zCoord - delta.zCoord * distRemaining / len); + } + + distRemaining -= len; + currentPos = nextNode; + } + + info.overshoot = distRemaining; + info.pos = new BlockPos(currentPos.xCoord, currentPos.yCoord, currentPos.zCoord); + + return currentPos; + } + + public Vec3 getClosestPointOnLink(Vec3 pointA, Vec3 pointB, Vec3 pointP) { + Vec3 ap = Vec3.createVectorHelper(pointP.xCoord - pointA.xCoord, 0, pointP.zCoord - pointA.zCoord); + Vec3 ab = Vec3.createVectorHelper(pointB.xCoord - pointA.xCoord, 0, pointB.zCoord - pointA.zCoord); + + double magAB = ab.xCoord * ab.xCoord + ab.zCoord * ab.zCoord; + double dotProd = ap.xCoord * ab.xCoord + ap.zCoord * ab.zCoord; + double dist = dotProd / magAB; + + if(dist < 0) return pointA; + if(dist > 1) return pointB; + if(dist < 0 || dist > 1) return null; + + return Vec3.createVectorHelper(pointA.xCoord + ab.xCoord * dist, pointA.yCoord + (pointB.yCoord - pointA.yCoord) * dist, pointA.zCoord + ab.zCoord * dist); + } + + /** Creates the in-world position for a node based on the node itself and the core position */ + public Vec3 getPositionFromNode(World world, int x, int y, int z, Vec3 core, Vec3 node, int meta) { + float rotation = 0; + if(meta == 12) rotation = 90F / 180F * (float) Math.PI; + if(meta == 14) rotation = 180F / 180F * (float) Math.PI; + if(meta == 13) rotation = 270F / 180F * (float) Math.PI; + Vec3 copy = Vec3.createVectorHelper(node.xCoord, node.yCoord, node.zCoord); + copy.rotateAroundY(rotation); + return core.addVector(copy.xCoord, copy.yCoord, copy.zCoord); + } + + public class RailDef { + String name; + public List nodes = new ArrayList(); + + public RailDef(String name) { + this.name = name; + } + } +} diff --git a/src/main/java/com/hbm/blocks/rail/IRailNTM.java b/src/main/java/com/hbm/blocks/rail/IRailNTM.java index 120c3b586..bd1d91f2f 100644 --- a/src/main/java/com/hbm/blocks/rail/IRailNTM.java +++ b/src/main/java/com/hbm/blocks/rail/IRailNTM.java @@ -17,7 +17,7 @@ public interface IRailNTM { * Inherently safer than simply adding the motion to the position and then snapping, since that may lead to derailing. * The motion has to be calculated from the train's rotation (rotated 180° when going backwards), the scalar doesn't matter since it's only used for determining orientation in a clear way. * Motion ends up being *-1 if the train is going in reverse, still pointing forwards despite the speed being negative. - * Also features a double[] wrapper with size 1 which holds the speed value that overshoots the rail. + * Also features RailContext which determines overshoot and the final yaw rotation * */ public Vec3 getTravelLocation(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailContext info, MoveContext context); @@ -46,8 +46,10 @@ public interface IRailNTM { public static class MoveContext { public RailCheckType type; public double collisionBogieDistance; - public boolean collision = false; //if a buffer stop or similar applies - public double overshoot; //how much of the travel distance was cut short + /** if a buffer stop or similar applies */ + public boolean collision = false; + /** how much of the travel distance was cut short */ + public double overshoot; public MoveContext(RailCheckType type, double collisionBogieDistance) { this.type = type; diff --git a/src/main/java/com/hbm/blocks/rail/IRenderBlock.java b/src/main/java/com/hbm/blocks/rail/IRenderBlock.java new file mode 100644 index 000000000..7cf90e9fd --- /dev/null +++ b/src/main/java/com/hbm/blocks/rail/IRenderBlock.java @@ -0,0 +1,16 @@ +package com.hbm.blocks.rail; + +import cpw.mods.fml.client.registry.RenderingRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.world.IBlockAccess; + +public interface IRenderBlock { + + public static int renderID = RenderingRegistry.getNextAvailableRenderId(); + + @SideOnly(Side.CLIENT) public void renderInventory(Tessellator tessellator, Block block, int metadata); + @SideOnly(Side.CLIENT) public void renderWorld(Tessellator tessellator, Block block, int meta, IBlockAccess world, int x, int y, int z); +} diff --git a/src/main/java/com/hbm/blocks/rail/RailNarrowCurve.java b/src/main/java/com/hbm/blocks/rail/RailNarrowCurve.java index ac317b65d..861bda8c0 100644 --- a/src/main/java/com/hbm/blocks/rail/RailNarrowCurve.java +++ b/src/main/java/com/hbm/blocks/rail/RailNarrowCurve.java @@ -1,20 +1,28 @@ package com.hbm.blocks.rail; +import org.lwjgl.opengl.GL11; + import com.hbm.blocks.BlockDummyable; import com.hbm.lib.Library; +import com.hbm.main.ResourceManager; +import com.hbm.render.util.ObjUtil; import com.hbm.util.fauxpointtwelve.BlockPos; -import cpw.mods.fml.client.registry.RenderingRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.Tessellator; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; +import net.minecraftforge.client.model.obj.WavefrontObject; import net.minecraftforge.common.util.ForgeDirection; -public class RailNarrowCurve extends BlockDummyable implements IRailNTM { +public class RailNarrowCurve extends BlockDummyable implements IRailNTM, IRenderBlock { public RailNarrowCurve() { super(Material.iron); @@ -25,8 +33,6 @@ public class RailNarrowCurve extends BlockDummyable implements IRailNTM { return null; } - public static int renderID = RenderingRegistry.getNextAvailableRenderId(); - @Override public int getRenderType() { return renderID; @@ -141,4 +147,27 @@ public class RailNarrowCurve extends BlockDummyable implements IRailNTM { this.setBlockBounds(0F, 0F, 0F, 1F, 0.125F, 1F); return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); } + + @Override + @SideOnly(Side.CLIENT) + public void renderInventory(Tessellator tessellator, Block block, int metadata) { + GL11.glScaled(0.2, 0.2, 0.2); + GL11.glTranslated(2.5, -0.0625, -1.5); + tessellator.startDrawingQuads(); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_narrow_curve, block.getIcon(1, 0), tessellator, 0, false); + tessellator.draw(); + } + + @Override + @SideOnly(Side.CLIENT) + public void renderWorld(Tessellator tessellator, Block block, int meta, IBlockAccess world, int x, int y, int z) { + if(meta < 12) return; + float rotation = 0; + if(meta == 12) rotation = 90F / 180F * (float) Math.PI; + if(meta == 14) rotation = 180F / 180F * (float) Math.PI; + if(meta == 13) rotation = 270F / 180F * (float) Math.PI; + tessellator.addTranslation(x + 0.5F, y, z + 0.5F); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_narrow_curve, block.getIcon(1, 0), tessellator, rotation, true); + tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F); + } } diff --git a/src/main/java/com/hbm/blocks/rail/RailNarrowStraight.java b/src/main/java/com/hbm/blocks/rail/RailNarrowStraight.java index 624087974..45bf500c8 100644 --- a/src/main/java/com/hbm/blocks/rail/RailNarrowStraight.java +++ b/src/main/java/com/hbm/blocks/rail/RailNarrowStraight.java @@ -1,20 +1,28 @@ package com.hbm.blocks.rail; +import org.lwjgl.opengl.GL11; + import com.hbm.blocks.BlockDummyable; import com.hbm.lib.Library; +import com.hbm.main.ResourceManager; +import com.hbm.render.util.ObjUtil; import com.hbm.util.fauxpointtwelve.BlockPos; -import cpw.mods.fml.client.registry.RenderingRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.Tessellator; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; +import net.minecraftforge.client.model.obj.WavefrontObject; import net.minecraftforge.common.util.ForgeDirection; -public class RailNarrowStraight extends BlockDummyable implements IRailNTM { +public class RailNarrowStraight extends BlockDummyable implements IRailNTM, IRenderBlock { public RailNarrowStraight() { super(Material.iron); @@ -25,8 +33,6 @@ public class RailNarrowStraight extends BlockDummyable implements IRailNTM { return null; } - public static int renderID = RenderingRegistry.getNextAvailableRenderId(); - @Override public int getRenderType() { return renderID; @@ -112,4 +118,23 @@ public class RailNarrowStraight extends BlockDummyable implements IRailNTM { public TrackGauge getGauge(World world, int x, int y, int z) { return TrackGauge.NARROW; } + + @Override + @SideOnly(Side.CLIENT) + public void renderInventory(Tessellator tessellator, Block block, int metadata) { + GL11.glTranslated(0, -0.0625, 0); + tessellator.startDrawingQuads(); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_narrow_straight, block.getIcon(1, 0), tessellator, 0, false); + tessellator.draw(); + } + + @Override + @SideOnly(Side.CLIENT) + public void renderWorld(Tessellator tessellator, Block block, int meta, IBlockAccess world, int x, int y, int z) { + float rotation = 0; + if(meta == 2 || meta == 3 || meta == 12 || meta == 13) rotation = 90F / 180F * (float) Math.PI; + tessellator.addTranslation(x + 0.5F, y, z + 0.5F); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_narrow_straight, block.getIcon(1, 0), tessellator, rotation, true); + tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F); + } } diff --git a/src/main/java/com/hbm/blocks/rail/RailStandardBuffer.java b/src/main/java/com/hbm/blocks/rail/RailStandardBuffer.java index bb503060a..07e07c6b2 100644 --- a/src/main/java/com/hbm/blocks/rail/RailStandardBuffer.java +++ b/src/main/java/com/hbm/blocks/rail/RailStandardBuffer.java @@ -1,19 +1,27 @@ package com.hbm.blocks.rail; +import org.lwjgl.opengl.GL11; + import com.hbm.blocks.BlockDummyable; import com.hbm.lib.Library; +import com.hbm.main.ResourceManager; +import com.hbm.render.util.ObjUtil; import com.hbm.util.fauxpointtwelve.BlockPos; -import cpw.mods.fml.client.registry.RenderingRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.Tessellator; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; +import net.minecraftforge.client.model.obj.WavefrontObject; import net.minecraftforge.common.util.ForgeDirection; -public class RailStandardBuffer extends BlockDummyable implements IRailNTM { +public class RailStandardBuffer extends BlockDummyable implements IRailNTM, IRenderBlock { public RailStandardBuffer() { super(Material.iron); @@ -24,8 +32,6 @@ public class RailStandardBuffer extends BlockDummyable implements IRailNTM { return null; } - public static int renderID = RenderingRegistry.getNextAvailableRenderId(); - @Override public int getRenderType() { return renderID; @@ -134,4 +140,36 @@ public class RailStandardBuffer extends BlockDummyable implements IRailNTM { public TrackGauge getGauge(World world, int x, int y, int z) { return TrackGauge.STANDARD; } + + @Override + @SideOnly(Side.CLIENT) + public void renderInventory(Tessellator tessellator, Block block, int metadata) { + GL11.glTranslated(0, -0.0625, 0); + GL11.glRotated(90, 0, 1, 0); + GL11.glScaled(0.3, 0.3, 0.3); + tessellator.startDrawingQuads(); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_standard_buffer, block.getIcon(1, 0), tessellator, 0, false); + tessellator.draw(); + } + + @Override + @SideOnly(Side.CLIENT) + public void renderWorld(Tessellator tessellator, Block block, int meta, IBlockAccess world, int x, int y, int z) { + if(meta < 12) return; + float rotation = 0; + if(meta == 12) rotation = (float) Math.PI; + if(meta == 14) rotation = 270F / 180F * (float) Math.PI; + if(meta == 15) rotation = 90F / 180F * (float) Math.PI; + if(meta == 12) tessellator.addTranslation(0.5F, 0F, 0F); + if(meta == 13) tessellator.addTranslation(-0.5F, 0F, 0F); + if(meta == 14) tessellator.addTranslation(0F, 0F, -0.5F); + if(meta == 15) tessellator.addTranslation(0F, 0F, 0.5F); + tessellator.addTranslation(x + 0.5F, y, z + 0.5F); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_standard_buffer, block.getIcon(1, 0), tessellator, rotation, true); + tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F); + if(meta == 12) tessellator.addTranslation(-0.5F, 0F, 0F); + if(meta == 13) tessellator.addTranslation(0.5F, 0F, 0F); + if(meta == 14) tessellator.addTranslation(0F, 0F, 0.5F); + if(meta == 15) tessellator.addTranslation(0F, 0F, -0.5F); + } } diff --git a/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java b/src/main/java/com/hbm/blocks/rail/RailStandardCurveBase.java similarity index 81% rename from src/main/java/com/hbm/blocks/rail/RailStandardCurve.java rename to src/main/java/com/hbm/blocks/rail/RailStandardCurveBase.java index 10bed1608..101c7801f 100644 --- a/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java +++ b/src/main/java/com/hbm/blocks/rail/RailStandardCurveBase.java @@ -1,22 +1,32 @@ package com.hbm.blocks.rail; +import org.lwjgl.opengl.GL11; + import com.hbm.blocks.BlockDummyable; import com.hbm.lib.Library; +import com.hbm.main.ResourceManager; +import com.hbm.render.util.ObjUtil; import com.hbm.util.fauxpointtwelve.BlockPos; -import cpw.mods.fml.client.registry.RenderingRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.Tessellator; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; +import net.minecraftforge.client.model.obj.WavefrontObject; import net.minecraftforge.common.util.ForgeDirection; -public class RailStandardCurve extends BlockDummyable implements IRailNTM { +public class RailStandardCurveBase extends BlockDummyable implements IRailNTM, IRenderBlock { + + protected int width = 4; - public RailStandardCurve() { + public RailStandardCurveBase() { super(Material.iron); } @@ -25,8 +35,6 @@ public class RailStandardCurve extends BlockDummyable implements IRailNTM { return null; } - public static int renderID = RenderingRegistry.getNextAvailableRenderId(); - @Override public int getRenderType() { return renderID; @@ -53,8 +61,8 @@ public class RailStandardCurve extends BlockDummyable implements IRailNTM { ForgeDirection dir = ForgeDirection.getOrientation(meta); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - double turnRadius = 4D; - double axisDist = 4.5D; + double turnRadius = width; + double axisDist = width + 0.5D; Vec3 vec = Vec3.createVectorHelper(trainX, trainY, trainZ); double axisX = cX + 0.5 + dir.offsetX * 0.5 + rot.offsetX * axisDist; @@ -99,7 +107,7 @@ public class RailStandardCurve extends BlockDummyable implements IRailNTM { double angleOvershoot = effAngle - 90D; moveAngle -= angleOvershoot; double lengthOvershoot = angleOvershoot * length90Deg / 90D; - info.dist(lengthOvershoot * Math.signum(speed * angularChange)).pos(new BlockPos(cX - dir.offsetX * 4 + rot.offsetX * 5, y, cZ - dir.offsetZ * 4 + rot.offsetZ * 5)).yaw((float) moveAngle); + info.dist(lengthOvershoot * Math.signum(speed * angularChange)).pos(new BlockPos(cX - dir.offsetX * width + rot.offsetX * (width + 1), y, cZ - dir.offsetZ * width + rot.offsetZ * (width + 1))).yaw((float) moveAngle); return Vec3.createVectorHelper(axisX - dir.offsetX * turnRadius, y + 0.1875, axisZ - dir.offsetZ * turnRadius); } @@ -124,7 +132,7 @@ public class RailStandardCurve extends BlockDummyable implements IRailNTM { @Override public int[] getDimensions() { - return new int[] {0, 0, 4, 0, 4, 0}; + return new int[] {0, 0, width, 0, width, 0}; } @Override @@ -198,4 +206,29 @@ public class RailStandardCurve extends BlockDummyable implements IRailNTM { BlockDummyable.safeRem = false; } + + @Override + @SideOnly(Side.CLIENT) + public void renderInventory(Tessellator tessellator, Block block, int metadata) { + GL11.glScaled(0.3, 0.3, 0.3); + GL11.glRotated(45, 0, 1, 0); + GL11.glRotated(60, 1, 0, 0); + GL11.glTranslated(2, 0, 2); + tessellator.startDrawingQuads(); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_standard_curve, block.getIcon(1, 0), tessellator, 0, false); + tessellator.draw(); + } + + @Override + @SideOnly(Side.CLIENT) + public void renderWorld(Tessellator tessellator, Block block, int meta, IBlockAccess world, int x, int y, int z) { + if(meta < 12) return; + float rotation = 0; + if(meta == 15) rotation = 90F / 180F * (float) Math.PI; + if(meta == 12) rotation = 180F / 180F * (float) Math.PI; + if(meta == 14) rotation = 270F / 180F * (float) Math.PI; + tessellator.addTranslation(x + 0.5F, y, z + 0.5F); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_standard_curve, block.getIcon(1, 0), tessellator, rotation, true); + tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F); + } } diff --git a/src/main/java/com/hbm/blocks/rail/RailStandardCurveWide7.java b/src/main/java/com/hbm/blocks/rail/RailStandardCurveWide7.java new file mode 100644 index 000000000..99c370760 --- /dev/null +++ b/src/main/java/com/hbm/blocks/rail/RailStandardCurveWide7.java @@ -0,0 +1,113 @@ +package com.hbm.blocks.rail; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.main.ResourceManager; +import com.hbm.render.util.ObjUtil; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.client.model.obj.WavefrontObject; +import net.minecraftforge.common.util.ForgeDirection; + +public class RailStandardCurveWide7 extends RailStandardCurveBase { + + public RailStandardCurveWide7() { + super(); + this.width = 6; + } + + @Override + protected boolean checkRequirement(World world, int x, int y, int z, ForgeDirection dir, int o) { + + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + dir = dir.getOpposite(); + + int dX = dir.offsetX; + int dZ = dir.offsetZ; + int rX = rot.offsetX; + int rZ = rot.offsetZ; + + return world.getBlock(x + dX, y, z + dZ).isReplaceable(world, x + dX, y, z + dZ) && + world.getBlock(x + rX, y, z + rZ).isReplaceable(world, x + rX, y, z + rZ) && + world.getBlock(x + dX + rX, y, z + dZ + rZ).isReplaceable(world, x + dX + rX, y, z + dZ + rZ) && + world.getBlock(x + dX + rX * 2, y, z + dZ + rZ * 2).isReplaceable(world, x + dX + rX * 2, y, z + dZ + rZ * 2) && + world.getBlock(x + dX * 2 + rX, y, z + dZ * 2 + rZ).isReplaceable(world, x + dX * 2 + rX, y, z + dZ * 2 + rZ) && + world.getBlock(x + dX * 2 + rX * 2, y, z + dZ * 2 + rZ * 2).isReplaceable(world, x + dX * 2 + rX * 2, y, z + dZ * 2 + rZ * 2) && + world.getBlock(x + dX * 3 + rX, y, z + dZ * 3 + rZ).isReplaceable(world, x + dX * 3 + rX, y, z + dZ * 3 + rZ) && + world.getBlock(x + dX * 3 + rX * 2, y, z + dZ * 3 + rZ * 2).isReplaceable(world, x + dX * 3 + rX * 2, y, z + dZ * 3 + rZ * 2) && + world.getBlock(x + dX * 2 + rX * 3, y, z + dZ * 2 + rZ * 3).isReplaceable(world, x + dX * 2 + rX * 3, y, z + dZ * 2 + rZ * 3) && + world.getBlock(x + dX * 3 + rX * 3, y, z + dZ * 3 + rZ * 3).isReplaceable(world, x + dX * 3 + rX * 3, y, z + dZ * 3 + rZ * 3) && + world.getBlock(x + dX * 4 + rX * 3, y, z + dZ * 4 + rZ * 3).isReplaceable(world, x + dX * 4 + rX * 3, y, z + dZ * 4 + rZ * 3) && + world.getBlock(x + dX * 3 + rX * 4, y, z + dZ * 3 + rZ * 4).isReplaceable(world, x + dX * 3 + rX * 4, y, z + dZ * 3 + rZ * 4) && + world.getBlock(x + dX * 4 + rX * 4, y, z + dZ * 4 + rZ * 4).isReplaceable(world, x + dX * 4 + rX * 4, y, z + dZ * 4 + rZ * 4); + } + + @Override + protected void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { + + BlockDummyable.safeRem = true; + + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + dir = dir.getOpposite(); + + int dX = dir.offsetX; + int dZ = dir.offsetZ; + int rX = rot.offsetX; + int rZ = rot.offsetZ; + + world.setBlock(x + dX, y, z + dZ, this, dir.ordinal(), 3); + world.setBlock(x + dX * 2, y, z + dZ * 2, this, dir.ordinal(), 3); + world.setBlock(x + rX, y, z + rZ, this, rot.ordinal(), 3); + world.setBlock(x + dX + rX, y, z + dZ + rZ, this, rot.ordinal(), 3); + world.setBlock(x + dX * 2 + rX, y, z + dZ * 2 + rZ, this, rot.ordinal(), 3); + world.setBlock(x + dX * 3 + rX, y, z + dZ * 3 + rZ, this, dir.ordinal(), 3); + world.setBlock(x + dX * 4 + rX, y, z + dZ * 4 + rZ, this, dir.ordinal(), 3); + world.setBlock(x + dX * 2 + rX * 2, y, z + dZ * 2 + rZ * 2, this, rot.ordinal(), 3); + world.setBlock(x + dX * 3 + rX * 2, y, z + dZ * 3 + rZ * 2, this, dir.ordinal(), 3); + world.setBlock(x + dX * 4 + rX * 2, y, z + dZ * 4 + rZ * 2, this, dir.ordinal(), 3); + world.setBlock(x + dX * 5 + rX * 2, y, z + dZ * 5 + rZ * 2, this, dir.ordinal(), 3); + world.setBlock(x + dX * 3 + rX * 3, y, z + dZ * 3 + rZ * 3, this, rot.ordinal(), 3); + world.setBlock(x + dX * 4 + rX * 3, y, z + dZ * 4 + rZ * 3, this, dir.ordinal(), 3); + world.setBlock(x + dX * 5 + rX * 3, y, z + dZ * 5 + rZ * 3, this, dir.ordinal(), 3); + world.setBlock(x + dX * 4 + rX * 4, y, z + dZ * 4 + rZ * 4, this, rot.ordinal(), 3); + world.setBlock(x + dX * 5 + rX * 4, y, z + dZ * 5 + rZ * 4, this, dir.ordinal(), 3); + world.setBlock(x + dX * 6 + rX * 4, y, z + dZ * 6 + rZ * 4, this, dir.ordinal(), 3); + world.setBlock(x + dX * 5 + rX * 5, y, z + dZ * 5 + rZ * 5, this, rot.ordinal(), 3); + world.setBlock(x + dX * 5 + rX * 6, y, z + dZ * 5 + rZ * 6, this, rot.ordinal(), 3); + world.setBlock(x + dX * 6 + rX * 5, y, z + dZ * 6 + rZ * 5, this, rot.ordinal(), 3); + world.setBlock(x + dX * 6 + rX * 6, y, z + dZ * 6 + rZ * 6, this, rot.ordinal(), 3); + + BlockDummyable.safeRem = false; + } + + @Override + @SideOnly(Side.CLIENT) + public void renderInventory(Tessellator tessellator, Block block, int metadata) { + GL11.glScaled(0.225, 0.225, 0.225); + GL11.glRotated(45, 0, 1, 0); + GL11.glRotated(60, 1, 0, 0); + GL11.glTranslated(3, 0, 3); + tessellator.startDrawingQuads(); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_standard_curve_wide7, block.getIcon(1, 0), tessellator, 0, false); + tessellator.draw(); + } + + @Override + @SideOnly(Side.CLIENT) + public void renderWorld(Tessellator tessellator, Block block, int meta, IBlockAccess world, int x, int y, int z) { + if(meta < 12) return; + float rotation = 0; + if(meta == 15) rotation = 90F / 180F * (float) Math.PI; + if(meta == 12) rotation = 180F / 180F * (float) Math.PI; + if(meta == 14) rotation = 270F / 180F * (float) Math.PI; + tessellator.addTranslation(x + 0.5F, y, z + 0.5F); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_standard_curve_wide7, block.getIcon(1, 0), tessellator, rotation, true); + tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F); + } +} diff --git a/src/main/java/com/hbm/blocks/rail/RailStandardCurveWide9.java b/src/main/java/com/hbm/blocks/rail/RailStandardCurveWide9.java new file mode 100644 index 000000000..bb48b111b --- /dev/null +++ b/src/main/java/com/hbm/blocks/rail/RailStandardCurveWide9.java @@ -0,0 +1,148 @@ +package com.hbm.blocks.rail; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.main.ResourceManager; +import com.hbm.render.util.ObjUtil; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.client.model.obj.WavefrontObject; +import net.minecraftforge.common.util.ForgeDirection; + +public class RailStandardCurveWide9 extends RailStandardCurveBase { + + public RailStandardCurveWide9() { + super(); + this.width = 8; + } + + @Override + protected boolean checkRequirement(World world, int x, int y, int z, ForgeDirection dir, int o) { + + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + dir = dir.getOpposite(); + + int dX = dir.offsetX; + int dZ = dir.offsetZ; + int rX = rot.offsetX; + int rZ = rot.offsetZ; + + int[][] dim = new int[][] { + {1, 0}, + {2, 0}, + {0, 1}, + {1, 1}, + {2, 1}, + {3, 1}, + {4, 1}, + {2, 2}, + {3, 2}, + {4, 2}, + {5, 2}, + {4, 3}, + {5, 3}, + {5, 4}, + {6, 3}, + {6, 4}, + {7, 4}, + {6, 5}, + {7, 5}, + {6, 6}, + {7, 6}, + {7, 7}, + {7, 8}, + {8, 6}, + {8, 7}, + {8, 8}, + }; + + for(int[] array : dim) { + if(!world.getBlock(x + dX * array[0] + rX * array[1], y, z + dZ * array[0] + rZ * array[1]).isReplaceable(world, x + dX * array[0] + rX * array[1], y, z + dZ * array[0] + rZ * array[1])) return false; + } + + return true; + } + + @Override + protected void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { + + BlockDummyable.safeRem = true; + + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + dir = dir.getOpposite(); + + int dX = dir.offsetX; + int dZ = dir.offsetZ; + int rX = rot.offsetX; + int rZ = rot.offsetZ; + + int d = dir.ordinal(); + int r = rot.ordinal(); + + int[][] dim = new int[][] { + {1, 0, d}, + {2, 0, d}, + {0, 1, r}, + {1, 1, d}, + {2, 1, d}, + {3, 1, d}, + {4, 1, d}, + {2, 2, r}, + {3, 2, r}, + {4, 2, r}, + {5, 2, d}, + {4, 3, r}, + {5, 3, r}, + {5, 4, r}, + {6, 3, d}, + {6, 4, d}, + {7, 4, d}, + {6, 5, r}, + {7, 5, r}, + {6, 6, r}, + {7, 6, r}, + {7, 7, r}, + {7, 8, r}, + {8, 6, d}, + {8, 7, d}, + {8, 8, d}, + }; + + for(int[] array : dim) { + world.setBlock(x + dX * array[0] + rX * array[1], y, z + dZ * array[0] + rZ * array[1], this, array[2], 3); + } + + BlockDummyable.safeRem = false; + } + + @Override + @SideOnly(Side.CLIENT) + public void renderInventory(Tessellator tessellator, Block block, int metadata) { + GL11.glScaled(0.175, 0.175, 0.175); + GL11.glRotated(45, 0, 1, 0); + GL11.glRotated(60, 1, 0, 0); + GL11.glTranslated(4, 0, 4); + tessellator.startDrawingQuads(); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_standard_curve_wide9, block.getIcon(1, 0), tessellator, 0, false); + tessellator.draw(); + } + + @Override + @SideOnly(Side.CLIENT) + public void renderWorld(Tessellator tessellator, Block block, int meta, IBlockAccess world, int x, int y, int z) { + if(meta < 12) return; + float rotation = 0; + if(meta == 15) rotation = 90F / 180F * (float) Math.PI; + if(meta == 12) rotation = 180F / 180F * (float) Math.PI; + if(meta == 14) rotation = 270F / 180F * (float) Math.PI; + tessellator.addTranslation(x + 0.5F, y, z + 0.5F); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_standard_curve_wide9, block.getIcon(1, 0), tessellator, rotation, true); + tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F); + } +} diff --git a/src/main/java/com/hbm/blocks/rail/RailStandardRamp.java b/src/main/java/com/hbm/blocks/rail/RailStandardRamp.java index d6911418c..214aac005 100644 --- a/src/main/java/com/hbm/blocks/rail/RailStandardRamp.java +++ b/src/main/java/com/hbm/blocks/rail/RailStandardRamp.java @@ -1,21 +1,29 @@ package com.hbm.blocks.rail; +import org.lwjgl.opengl.GL11; + import com.hbm.blocks.BlockDummyable; import com.hbm.handler.MultiblockHandlerXR; import com.hbm.lib.Library; +import com.hbm.main.ResourceManager; +import com.hbm.render.util.ObjUtil; import com.hbm.util.fauxpointtwelve.BlockPos; -import cpw.mods.fml.client.registry.RenderingRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.Tessellator; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; +import net.minecraftforge.client.model.obj.WavefrontObject; import net.minecraftforge.common.util.ForgeDirection; -public class RailStandardRamp extends BlockDummyable implements IRailNTM { +public class RailStandardRamp extends BlockDummyable implements IRailNTM, IRenderBlock { public RailStandardRamp() { super(Material.iron); @@ -24,6 +32,7 @@ public class RailStandardRamp extends BlockDummyable implements IRailNTM { this.bounding.add(AxisAlignedBB.getBoundingBox(-0.5, 0.0, -1.5, 0.5, 0.5, 0.5)); this.bounding.add(AxisAlignedBB.getBoundingBox(0.5, 0.0, -1.5, 1.5, 0.7, 0.5)); this.bounding.add(AxisAlignedBB.getBoundingBox(1.5, 0.0, -1.5, 2.5, 0.9, 0.5)); + this.maxY = 0.999D; //item bounce prevention } @Override @@ -31,8 +40,6 @@ public class RailStandardRamp extends BlockDummyable implements IRailNTM { return null; } - public static int renderID = RenderingRegistry.getNextAvailableRenderId(); - @Override public int getRenderType() { return renderID; @@ -135,4 +142,36 @@ public class RailStandardRamp extends BlockDummyable implements IRailNTM { MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o, y + dir.offsetY * o, z + dir.offsetZ * o, getDimensions(), this, dir); MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o, y + dir.offsetY * o, z + dir.offsetZ * o, new int[] {1, -1, 2, 2, 1, 0}, this, dir); } + + @Override + @SideOnly(Side.CLIENT) + public void renderInventory(Tessellator tessellator, Block block, int metadata) { + GL11.glTranslated(0, -0.0625, 0); + GL11.glRotated(90, 0, 1, 0); + GL11.glScaled(0.3, 0.3, 0.3); + tessellator.startDrawingQuads(); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_standard_ramp, block.getIcon(1, 0), tessellator, 0, false); + tessellator.draw(); + } + + @Override + @SideOnly(Side.CLIENT) + public void renderWorld(Tessellator tessellator, Block block, int meta, IBlockAccess world, int x, int y, int z) { + if(meta < 12) return; + float rotation = 0; + if(meta == 15) rotation = 90F / 180F * (float) Math.PI; + if(meta == 12) rotation = 180F / 180F * (float) Math.PI; + if(meta == 14) rotation = 270F / 180F * (float) Math.PI; + if(meta == 12) tessellator.addTranslation(0.5F, 0F, 0F); + if(meta == 13) tessellator.addTranslation(-0.5F, 0F, 0F); + if(meta == 14) tessellator.addTranslation(0F, 0F, -0.5F); + if(meta == 15) tessellator.addTranslation(0F, 0F, 0.5F); + tessellator.addTranslation(x + 0.5F, y, z + 0.5F); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_standard_ramp, block.getIcon(1, 0), tessellator, rotation, true); + tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F); + if(meta == 12) tessellator.addTranslation(-0.5F, 0F, 0F); + if(meta == 13) tessellator.addTranslation(0.5F, 0F, 0F); + if(meta == 14) tessellator.addTranslation(0F, 0F, 0.5F); + if(meta == 15) tessellator.addTranslation(0F, 0F, -0.5F); + } } diff --git a/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java b/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java index b68aedd68..3fc0ff745 100644 --- a/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java +++ b/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java @@ -1,20 +1,28 @@ package com.hbm.blocks.rail; +import org.lwjgl.opengl.GL11; + import com.hbm.blocks.BlockDummyable; import com.hbm.lib.Library; +import com.hbm.main.ResourceManager; +import com.hbm.render.util.ObjUtil; import com.hbm.util.fauxpointtwelve.BlockPos; -import cpw.mods.fml.client.registry.RenderingRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.Tessellator; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; +import net.minecraftforge.client.model.obj.WavefrontObject; import net.minecraftforge.common.util.ForgeDirection; -public class RailStandardStraight extends BlockDummyable implements IRailNTM { +public class RailStandardStraight extends BlockDummyable implements IRailNTM, IRenderBlock { public RailStandardStraight() { super(Material.iron); @@ -25,8 +33,6 @@ public class RailStandardStraight extends BlockDummyable implements IRailNTM { return null; } - public static int renderID = RenderingRegistry.getNextAvailableRenderId(); - @Override public int getRenderType() { return renderID; @@ -117,4 +123,34 @@ public class RailStandardStraight extends BlockDummyable implements IRailNTM { public TrackGauge getGauge(World world, int x, int y, int z) { return TrackGauge.STANDARD; } + + @Override + @SideOnly(Side.CLIENT) + public void renderInventory(Tessellator tessellator, Block block, int metadata) { + GL11.glTranslated(0, -0.0625, 0); + GL11.glRotated(90, 0, 1, 0); + GL11.glScaled(0.3, 0.3, 0.3); + tessellator.startDrawingQuads(); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_standard_straight, block.getIcon(1, 0), tessellator, 0, false); + tessellator.draw(); + } + + @Override + @SideOnly(Side.CLIENT) + public void renderWorld(Tessellator tessellator, Block block, int meta, IBlockAccess world, int x, int y, int z) { + if(meta < 12) return; + float rotation = 0; + if(meta == 14 || meta == 15) rotation = 90F / 180F * (float) Math.PI; + if(meta == 12) tessellator.addTranslation(0.5F, 0F, 0F); + if(meta == 13) tessellator.addTranslation(-0.5F, 0F, 0F); + if(meta == 14) tessellator.addTranslation(0F, 0F, -0.5F); + if(meta == 15) tessellator.addTranslation(0F, 0F, 0.5F); + tessellator.addTranslation(x + 0.5F, y, z + 0.5F); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_standard_straight, block.getIcon(1, 0), tessellator, rotation, true); + tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F); + if(meta == 12) tessellator.addTranslation(-0.5F, 0F, 0F); + if(meta == 13) tessellator.addTranslation(0.5F, 0F, 0F); + if(meta == 14) tessellator.addTranslation(0F, 0F, 0.5F); + if(meta == 15) tessellator.addTranslation(0F, 0F, -0.5F); + } } diff --git a/src/main/java/com/hbm/blocks/rail/RailStandardStraightShort.java b/src/main/java/com/hbm/blocks/rail/RailStandardStraightShort.java new file mode 100644 index 000000000..44ed16f6a --- /dev/null +++ b/src/main/java/com/hbm/blocks/rail/RailStandardStraightShort.java @@ -0,0 +1,152 @@ +package com.hbm.blocks.rail; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.lib.Library; +import com.hbm.main.ResourceManager; +import com.hbm.render.util.ObjUtil; +import com.hbm.util.fauxpointtwelve.BlockPos; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.MathHelper; +import net.minecraft.util.Vec3; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.client.model.obj.WavefrontObject; +import net.minecraftforge.common.util.ForgeDirection; + +public class RailStandardStraightShort extends BlockDummyable implements IRailNTM, IRenderBlock { + + public RailStandardStraightShort() { + super(Material.iron); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return null; + } + + @Override + public int getRenderType() { + return renderID; + } + + @Override + public int[] getDimensions() { + return new int[] {0, 0, 0, 0, 1, 0}; + } + + @Override + public int getOffset() { + return 0; + } + + @Override + public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { + this.setBlockBounds(0F, 0F, 0F, 1F, 0.125F, 1F); + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + this.setBlockBounds(0F, 0F, 0F, 1F, 0.125F, 1F); + return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); + } + + @Override + public Vec3 getSnappingPos(World world, int x, int y, int z, double trainX, double trainY, double trainZ) { + return snapAndMove(world, x, y, z, trainX, trainY, trainZ, 0, 0, 0, 0, new RailContext()); + } + + @Override + public Vec3 getTravelLocation(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailContext info, MoveContext context) { + return snapAndMove(world, x, y, z, trainX, trainY, trainZ, motionX, motionY, motionZ, speed, info); + } + + /* Very simple function determining the snapping position and adding the motion value to it, if desired. */ + public Vec3 snapAndMove(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailContext info) { + int[] pos = this.findCore(world, x, y, z); + if(pos == null) return Vec3.createVectorHelper(trainX, trainY, trainZ); + int cX = pos[0]; + int cY = pos[1]; + int cZ = pos[2]; + int meta = world.getBlockMetadata(cX, cY, cZ) - this.offset; + ForgeDirection dir = ForgeDirection.getOrientation(meta); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + + Vec3 vec = Vec3.createVectorHelper(trainX, trainY, trainZ); + + if(dir == Library.POS_X || dir == Library.NEG_X) { + double targetX = trainX; + if(motionX > 0) { + targetX += speed; + info.yaw(-90F); + } else { + targetX -= speed; + info.yaw(90F); + } + vec.xCoord = MathHelper.clamp_double(targetX, cX, cX + 1); + vec.yCoord = y + 0.1875; + vec.zCoord = cZ + 0.5 + rot.offsetZ * 0.5; + info.dist(Math.abs(targetX - vec.xCoord) * Math.signum(speed)); + info.pos(new BlockPos(cX + (motionX * speed > 0 ? 1 : -1), y, cZ)); + } else { + double targetZ = trainZ; + if(motionZ > 0) { + targetZ += speed; + info.yaw(0F); + } else { + targetZ -= speed; + info.yaw(180F); + } + vec.xCoord = cX + 0.5 + rot.offsetX * 0.5; + vec.yCoord = y + 0.1875; + vec.zCoord = MathHelper.clamp_double(targetZ, cZ,cZ + 1); + info.dist(Math.abs(targetZ - vec.zCoord) * Math.signum(speed)); + info.pos(new BlockPos(cX, y, cZ + (motionZ * speed > 0 ? 1 : -1))); + } + + return vec; + } + + @Override + public TrackGauge getGauge(World world, int x, int y, int z) { + return TrackGauge.STANDARD; + } + + @Override + @SideOnly(Side.CLIENT) + public void renderInventory(Tessellator tessellator, Block block, int metadata) { + GL11.glTranslated(0, -0.0625, 0); + GL11.glRotated(90, 0, 1, 0); + GL11.glScaled(0.7, 0.7, 0.7); + tessellator.startDrawingQuads(); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_standard_straight_short, block.getIcon(1, 0), tessellator, 0, false); + tessellator.draw(); + } + + @Override + @SideOnly(Side.CLIENT) + public void renderWorld(Tessellator tessellator, Block block, int meta, IBlockAccess world, int x, int y, int z) { + if(meta < 12) return; + float rotation = 0; + if(meta == 14 || meta == 15) rotation = 90F / 180F * (float) Math.PI; + if(meta == 12) tessellator.addTranslation(0.5F, 0F, 0F); + if(meta == 13) tessellator.addTranslation(-0.5F, 0F, 0F); + if(meta == 14) tessellator.addTranslation(0F, 0F, -0.5F); + if(meta == 15) tessellator.addTranslation(0F, 0F, 0.5F); + tessellator.addTranslation(x + 0.5F, y, z + 0.5F); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_standard_straight_short, block.getIcon(1, 0), tessellator, rotation, true); + tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F); + if(meta == 12) tessellator.addTranslation(-0.5F, 0F, 0F); + if(meta == 13) tessellator.addTranslation(0.5F, 0F, 0F); + if(meta == 14) tessellator.addTranslation(0F, 0F, 0.5F); + if(meta == 15) tessellator.addTranslation(0F, 0F, -0.5F); + } +} diff --git a/src/main/java/com/hbm/blocks/rail/RailStandardSwitch.java b/src/main/java/com/hbm/blocks/rail/RailStandardSwitch.java new file mode 100644 index 000000000..d35adb57d --- /dev/null +++ b/src/main/java/com/hbm/blocks/rail/RailStandardSwitch.java @@ -0,0 +1,271 @@ +package com.hbm.blocks.rail; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.items.ModItems; +import com.hbm.lib.Library; +import com.hbm.lib.RefStrings; +import com.hbm.main.ResourceManager; +import com.hbm.render.util.ObjUtil; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.NetworkManager; +import net.minecraft.network.Packet; +import net.minecraft.network.play.server.S35PacketUpdateTileEntity; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.Vec3; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.client.model.obj.WavefrontObject; +import net.minecraftforge.common.util.ForgeDirection; + +public class RailStandardSwitch extends BlockRailWaypointSystem implements IRenderBlock { + + @SideOnly(Side.CLIENT) private IIcon iconSign; + + public RailStandardSwitch() { + super(Material.iron); + + RailDef main = new RailDef("main"); + RailDef side = new RailDef("side"); + railDefs.add(main); + railDefs.add(side); + + main.nodes.add(Vec3.createVectorHelper(-8.5, 0.1875, 0.5)); + main.nodes.add(Vec3.createVectorHelper(-7.5, 0.1875, 0.5)); + main.nodes.add(Vec3.createVectorHelper(6.5, 0.1875, 0.5)); + main.nodes.add(Vec3.createVectorHelper(7.5, 0.1875, 0.5)); + main.nodes.add(Vec3.createVectorHelper(8.5, 0.1875, 0.5)); + + side.nodes.add(Vec3.createVectorHelper(-8.5, 0.1875, 4.5)); + side.nodes.add(Vec3.createVectorHelper(-7.5, 0.1875, 4.5)); + side.nodes.add(Vec3.createVectorHelper(-6.5, 0.1875, 4.5)); + side.nodes.add(Vec3.createVectorHelper(-5.5, 0.1875, 4.5)); + side.nodes.add(Vec3.createVectorHelper(-4.5, 0.1875, 4.5)); + side.nodes.add(Vec3.createVectorHelper(-3.5, 0.1875, 4.5)); + side.nodes.add(Vec3.createVectorHelper(-2.5, 0.1875, 4.5)); + side.nodes.add(Vec3.createVectorHelper(-1.5, 0.1875, 4.5)); + side.nodes.add(Vec3.createVectorHelper(-0.5, 0.1875, 4.25)); + side.nodes.add(Vec3.createVectorHelper(0.5, 0.1875, 3.9375)); + side.nodes.add(Vec3.createVectorHelper(1.5, 0.1875, 3.375)); + side.nodes.add(Vec3.createVectorHelper(2.5, 0.1875, 2.4625)); + side.nodes.add(Vec3.createVectorHelper(3.5, 0.1875, 1.75)); + side.nodes.add(Vec3.createVectorHelper(4.5, 0.1875, 1.1875)); + side.nodes.add(Vec3.createVectorHelper(5.5, 0.1875, 0.875)); + side.nodes.add(Vec3.createVectorHelper(6.5, 0.1875, 0.625)); + side.nodes.add(Vec3.createVectorHelper(7.5, 0.1875, 0.5)); + side.nodes.add(Vec3.createVectorHelper(8.5, 0.1875, 0.5)); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + super.registerBlockIcons(iconRegister); + this.iconSign = iconRegister.registerIcon(RefStrings.MODID + ":rail_switch_sign"); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityRailSwitch(); + } + + @Override + public int getRenderType() { + return renderID; + } + + @Override + public int[] getDimensions() { + return new int[] {0, 0, 7, 7, 1, 0}; + } + + @Override + public int getOffset() { + return 7; + } + + @Override + public TrackGauge getGauge(World world, int x, int y, int z) { + return TrackGauge.STANDARD; + } + + @Override + public boolean canCross(World world, int x, int y, int z, Vec3 from, Vec3 to, RailDef def) { + TileEntityRailSwitch tile = (TileEntityRailSwitch) world.getTileEntity(x, y, z); + if(tile == null) return true; + + ForgeDirection dir = ForgeDirection.getOrientation(tile.getBlockMetadata() - 10); + + if(dir == Library.POS_X) if(from.xCoord < to.xCoord) return true; + if(dir == Library.NEG_X) if(from.xCoord > to.xCoord) return true; + if(dir == Library.POS_Z) if(from.zCoord < to.zCoord) return true; + if(dir == Library.NEG_Z) if(from.zCoord > to.zCoord) return true; + + if(dir == Library.POS_X) if(to.xCoord < x + 0.5 + 7) return true; + if(dir == Library.NEG_X) if(to.xCoord > x + 0.5 - 7) return true; + if(dir == Library.POS_Z) if(to.zCoord < z + 0.5 + 7) return true; + if(dir == Library.NEG_Z) if(to.zCoord > z + 0.5 - 7) return true; + + if(tile.isSwitched) { + if("side".equals(def.name)) return true; + } else { + if("main".equals(def.name)) return true; + } + + return false; + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + + if(world.isRemote) return true; + if(player.isSneaking()) return false; + if(player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.train) return false; + + int[] pos = this.findCore(world, x, y, z); + + if(pos != null) { + TileEntity tile = world.getTileEntity(pos[0], pos[1], pos[2]); + + if(tile instanceof TileEntityRailSwitch) { + TileEntityRailSwitch sw = (TileEntityRailSwitch) tile; + sw.isSwitched = !sw.isSwitched; + sw.markDirty(); + world.markBlockForUpdate(pos[0], pos[1], pos[2]); + } + } + + return true; + } + + @Override + public Vec3 snapAndMove(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailContext info) { + return super.snapAndMove(world, x, y, z, trainX, trainY, trainZ, motionX, motionY, motionZ, speed, info); + } + + @Override + protected boolean checkRequirement(World world, int x, int y, int z, ForgeDirection dir, int o) { + if(!super.checkRequirement(world, x, y, z, dir, o)) return false; + + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + dir = dir.getOpposite(); + + int dX = dir.offsetX; + int dZ = dir.offsetZ; + int rX = rot.offsetX; + int rZ = rot.offsetZ; + + for(int i = 0; i < 4; i++) if(!world.getBlock(x + dX * (2 + i) + rX * 2, y, z + dZ * (2 + i) + rZ * 2).isReplaceable(world, x + dX * (2 + i) + rX * 2, y, z + dZ * (2 + i) + rZ * 2)) return false; + for(int i = 0; i < 2; i++) if(!world.getBlock(x + dX * (4 + i) + rX * 3, y, z + dZ * (4 + i) + rZ * 3).isReplaceable(world, x + dX * (4 + i) + rX * 3, y, z + dZ * (4 + i) + rZ * 3)) return false; + if(!world.getBlock(x + dX * 5 + rX * 4, y, z + dZ * 5 + rZ * 4).isReplaceable(world, x + dX * 5 + rX * 4, y, z + dZ * 5 + rZ * 4)) return false; + for(int j = 0; j < 2; j++) for(int i = 0; i < 2; i++) if(!world.getBlock(x + dX * (6 + j) + rX * (3 + i), y, z + dZ * (6 + j) + rZ * (3 + i)).isReplaceable(world, x + dX * (6 + j) + rX * (3 + i), y, z + dZ * (6 + j) + rZ * (3 + i))) return false; + if(!world.getBlock(x + dX * 7 + rX * 5, y, z + dZ * 7 + rZ * 5).isReplaceable(world, x + dX * 7 + rX * 5, y, z + dZ * 7 + rZ * 5)) return false; + for(int j = 0; j < 7; j++) for(int i = 0; i < 2; i++) if(!world.getBlock(x + dX * (8 + j) + rX * (4 + i), y, z + dZ * (8 + j) + rZ * (4 + i)).isReplaceable(world, x + dX * (8 + j) + rX * (4 + i), y, z + dZ * (8 + j) + rZ * (4 + i))) return false; + + return true; + } + + @Override + protected void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { + super.fillSpace(world, x, y, z, dir, o); + + BlockDummyable.safeRem = true; + + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + dir = dir.getOpposite(); + + int dX = dir.offsetX; + int dZ = dir.offsetZ; + int rX = rot.offsetX; + int rZ = rot.offsetZ; + + for(int i = 0; i < 4; i++) world.setBlock(x + dX * (2 + i) + rX * 2, y, z + dZ * (2 + i) + rZ * 2, this, rot.ordinal(), 3); + for(int i = 0; i < 2; i++) world.setBlock(x + dX * (4 + i) + rX * 3, y, z + dZ * (4 + i) + rZ * 3, this, rot.ordinal(), 3); + world.setBlock(x + dX * 5 + rX * 4, y, z + dZ * 5 + rZ * 4, this, rot.ordinal(), 3); + for(int j = 0; j < 2; j++) for(int i = 0; i < 2; i++) world.setBlock(x + dX * (6 + j) + rX * (3 + i), y, z + dZ * (6 + j) + rZ * (3 + i), this, dir.ordinal(), 3); + world.setBlock(x + dX * 7 + rX * 5, y, z + dZ * 7 + rZ * 5, this, rot.ordinal(), 3); + for(int j = 0; j < 7; j++) for(int i = 0; i < 2; i++) world.setBlock(x + dX * (8 + j) + rX * (4 + i), y, z + dZ * (8 + j) + rZ * (4 + i), this, dir.ordinal(), 3); + + BlockDummyable.safeRem = false; + } + + @Override + @SideOnly(Side.CLIENT) + public void renderInventory(Tessellator tessellator, Block block, int metadata) { + GL11.glTranslated(0, -0.0625, -0.1875); + GL11.glRotated(90, 0, 1, 0); + GL11.glScaled(0.1, 0.1, 0.1); + tessellator.startDrawingQuads(); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.rail_standard_switch, "Rail", this.blockIcon, tessellator, 0, false); + tessellator.draw(); + } + + @Override + @SideOnly(Side.CLIENT) + public void renderWorld(Tessellator tessellator, Block block, int meta, IBlockAccess world, int x, int y, int z) { + if(meta < 12) return; + float rotation = 0; + if(meta == 15) rotation = 90F / 180F * (float) Math.PI; + if(meta == 12) rotation = 180F / 180F * (float) Math.PI; + if(meta == 14) rotation = 270F / 180F * (float) Math.PI; + if(meta == 12) tessellator.addTranslation(0.5F, 0F, 0F); + if(meta == 13) tessellator.addTranslation(-0.5F, 0F, 0F); + if(meta == 14) tessellator.addTranslation(0F, 0F, -0.5F); + if(meta == 15) tessellator.addTranslation(0F, 0F, 0.5F); + tessellator.addTranslation(x + 0.5F, y, z + 0.5F); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.rail_standard_switch, "Rail", this.blockIcon, tessellator, rotation, true); + + TileEntity tile = world.getTileEntity(x, y, z); + + if(tile instanceof TileEntityRailSwitch) { + TileEntityRailSwitch sw = (TileEntityRailSwitch) tile; + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.rail_standard_switch, sw.isSwitched ? "SignTurn" : "SignStraight", this.iconSign, tessellator, rotation, true); + } + + tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F); + if(meta == 12) tessellator.addTranslation(-0.5F, 0F, 0F); + if(meta == 13) tessellator.addTranslation(0.5F, 0F, 0F); + if(meta == 14) tessellator.addTranslation(0F, 0F, 0.5F); + if(meta == 15) tessellator.addTranslation(0F, 0F, -0.5F); + } + + public static class TileEntityRailSwitch extends TileEntity { + public boolean isSwitched = false; + + @Override public boolean canUpdate() { return false; } + + @Override + public Packet getDescriptionPacket() { + NBTTagCompound nbt = new NBTTagCompound(); + this.writeToNBT(nbt); + return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 0, nbt); + } + + @Override + public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) { + this.readFromNBT(pkt.func_148857_g()); + worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + this.isSwitched = nbt.getBoolean("isSwitched"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setBoolean("isSwitched", this.isSwitched); + } + } +} diff --git a/src/main/java/com/hbm/blocks/rail/RailStandardSwitchFlipped.java b/src/main/java/com/hbm/blocks/rail/RailStandardSwitchFlipped.java new file mode 100644 index 000000000..25cc227e1 --- /dev/null +++ b/src/main/java/com/hbm/blocks/rail/RailStandardSwitchFlipped.java @@ -0,0 +1,237 @@ +package com.hbm.blocks.rail; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.rail.RailStandardSwitch.TileEntityRailSwitch; +import com.hbm.items.ModItems; +import com.hbm.lib.Library; +import com.hbm.lib.RefStrings; +import com.hbm.main.ResourceManager; +import com.hbm.render.util.ObjUtil; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.Vec3; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.client.model.obj.WavefrontObject; +import net.minecraftforge.common.util.ForgeDirection; + +public class RailStandardSwitchFlipped extends BlockRailWaypointSystem implements IRenderBlock { + + @SideOnly(Side.CLIENT) private IIcon iconSign; + + public RailStandardSwitchFlipped() { + super(Material.iron); + + RailDef main = new RailDef("main"); + RailDef side = new RailDef("side"); + railDefs.add(main); + railDefs.add(side); + + main.nodes.add(Vec3.createVectorHelper(-8.5, 0.1875, 0.5)); + main.nodes.add(Vec3.createVectorHelper(-7.5, 0.1875, 0.5)); + main.nodes.add(Vec3.createVectorHelper(6.5, 0.1875, 0.5)); + main.nodes.add(Vec3.createVectorHelper(7.5, 0.1875, 0.5)); + main.nodes.add(Vec3.createVectorHelper(8.5, 0.1875, 0.5)); + + side.nodes.add(Vec3.createVectorHelper(-8.5, 0.1875, -3.5)); + side.nodes.add(Vec3.createVectorHelper(-7.5, 0.1875, -3.5)); + side.nodes.add(Vec3.createVectorHelper(-6.5, 0.1875, -3.5)); + side.nodes.add(Vec3.createVectorHelper(-5.5, 0.1875, -3.5)); + side.nodes.add(Vec3.createVectorHelper(-4.5, 0.1875, -3.5)); + side.nodes.add(Vec3.createVectorHelper(-3.5, 0.1875, -3.5)); + side.nodes.add(Vec3.createVectorHelper(-2.5, 0.1875, -3.5)); + side.nodes.add(Vec3.createVectorHelper(-1.5, 0.1875, -3.5)); + side.nodes.add(Vec3.createVectorHelper(-0.5, 0.1875, -3.25)); + side.nodes.add(Vec3.createVectorHelper(0.5, 0.1875, -2.9375)); + side.nodes.add(Vec3.createVectorHelper(1.5, 0.1875, -2.375)); + side.nodes.add(Vec3.createVectorHelper(2.5, 0.1875, -1.4625)); + side.nodes.add(Vec3.createVectorHelper(3.5, 0.1875, -0.75)); + side.nodes.add(Vec3.createVectorHelper(4.5, 0.1875, -0.1875)); + side.nodes.add(Vec3.createVectorHelper(5.5, 0.1875, 0.175)); + side.nodes.add(Vec3.createVectorHelper(6.5, 0.1875, 0.375)); + side.nodes.add(Vec3.createVectorHelper(7.5, 0.1875, 0.5)); + side.nodes.add(Vec3.createVectorHelper(8.5, 0.1875, 0.5)); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + super.registerBlockIcons(iconRegister); + this.iconSign = iconRegister.registerIcon(RefStrings.MODID + ":rail_switch_sign_flipped"); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityRailSwitch(); + } + + @Override + public int getRenderType() { + return renderID; + } + + @Override + public int[] getDimensions() { + return new int[] {0, 0, 7, 7, 1, 0}; + } + + @Override + public int getOffset() { + return 7; + } + + @Override + public TrackGauge getGauge(World world, int x, int y, int z) { + return TrackGauge.STANDARD; + } + + @Override + public boolean canCross(World world, int x, int y, int z, Vec3 from, Vec3 to, RailDef def) { + TileEntityRailSwitch tile = (TileEntityRailSwitch) world.getTileEntity(x, y, z); + if(tile == null) return true; + + ForgeDirection dir = ForgeDirection.getOrientation(tile.getBlockMetadata() - 10); + + if(dir == Library.POS_X) if(from.xCoord < to.xCoord) return true; + if(dir == Library.NEG_X) if(from.xCoord > to.xCoord) return true; + if(dir == Library.POS_Z) if(from.zCoord < to.zCoord) return true; + if(dir == Library.NEG_Z) if(from.zCoord > to.zCoord) return true; + + if(dir == Library.POS_X) if(to.xCoord < x + 0.5 + 7) return true; + if(dir == Library.NEG_X) if(to.xCoord > x + 0.5 - 7) return true; + if(dir == Library.POS_Z) if(to.zCoord < z + 0.5 + 7) return true; + if(dir == Library.NEG_Z) if(to.zCoord > z + 0.5 - 7) return true; + + if(tile.isSwitched) { + if("side".equals(def.name)) return true; + } else { + if("main".equals(def.name)) return true; + } + + return false; + } + + @Override + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + + if(world.isRemote) return true; + if(player.isSneaking()) return false; + if(player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.train) return false; + + int[] pos = this.findCore(world, x, y, z); + + if(pos != null) { + TileEntity tile = world.getTileEntity(pos[0], pos[1], pos[2]); + + if(tile instanceof TileEntityRailSwitch) { + TileEntityRailSwitch sw = (TileEntityRailSwitch) tile; + sw.isSwitched = !sw.isSwitched; + sw.markDirty(); + world.markBlockForUpdate(pos[0], pos[1], pos[2]); + } + } + + return true; + } + + @Override + public Vec3 snapAndMove(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailContext info) { + return super.snapAndMove(world, x, y, z, trainX, trainY, trainZ, motionX, motionY, motionZ, speed, info); + } + + @Override + protected boolean checkRequirement(World world, int x, int y, int z, ForgeDirection dir, int o) { + if(!super.checkRequirement(world, x, y, z, dir, o)) return false; + + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + dir = dir.getOpposite(); + + int dX = dir.offsetX; + int dZ = dir.offsetZ; + int rX = rot.offsetX; + int rZ = rot.offsetZ; + + for(int i = 0; i < 4; i++) if(!world.getBlock(x + dX * (2 + i) + rX * 2, y, z + dZ * (2 + i) + rZ * 2).isReplaceable(world, x + dX * (2 + i) + rX * 2, y, z + dZ * (2 + i) + rZ * 2)) return false; + for(int i = 0; i < 2; i++) if(!world.getBlock(x + dX * (4 + i) + rX * 3, y, z + dZ * (4 + i) + rZ * 3).isReplaceable(world, x + dX * (4 + i) + rX * 3, y, z + dZ * (4 + i) + rZ * 3)) return false; + if(!world.getBlock(x + dX * 5 + rX * 4, y, z + dZ * 5 + rZ * 4).isReplaceable(world, x + dX * 5 + rX * 4, y, z + dZ * 5 + rZ * 4)) return false; + for(int j = 0; j < 2; j++) for(int i = 0; i < 2; i++) if(!world.getBlock(x + dX * (6 + j) + rX * (3 + i), y, z + dZ * (6 + j) + rZ * (3 + i)).isReplaceable(world, x + dX * (6 + j) + rX * (3 + i), y, z + dZ * (6 + j) + rZ * (3 + i))) return false; + if(!world.getBlock(x + dX * 7 + rX * 5, y, z + dZ * 7 + rZ * 5).isReplaceable(world, x + dX * 7 + rX * 5, y, z + dZ * 7 + rZ * 5)) return false; + for(int j = 0; j < 7; j++) for(int i = 0; i < 2; i++) if(!world.getBlock(x + dX * (8 + j) + rX * (4 + i), y, z + dZ * (8 + j) + rZ * (4 + i)).isReplaceable(world, x + dX * (8 + j) + rX * (4 + i), y, z + dZ * (8 + j) + rZ * (4 + i))) return false; + + return true; + } + + @Override + protected void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { + super.fillSpace(world, x, y, z, dir, o); + + BlockDummyable.safeRem = true; + + ForgeDirection rot = dir.getRotation(ForgeDirection.DOWN); + dir = dir.getOpposite(); + + int dX = dir.offsetX; + int dZ = dir.offsetZ; + int rX = rot.offsetX; + int rZ = rot.offsetZ; + + for(int i = 0; i < 4; i++) world.setBlock(x + dX * (2 + i) + rX * 1, y, z + dZ * (2 + i) + rZ * 1, this, rot.ordinal(), 3); + for(int i = 0; i < 2; i++) world.setBlock(x + dX * (4 + i) + rX * 2, y, z + dZ * (4 + i) + rZ * 2, this, rot.ordinal(), 3); + world.setBlock(x + dX * 5 + rX * 3, y, z + dZ * 5 + rZ * 3, this, rot.ordinal(), 3); + for(int j = 0; j < 2; j++) for(int i = 0; i < 2; i++) world.setBlock(x + dX * (6 + j) + rX * (2 + i), y, z + dZ * (6 + j) + rZ * (2 + i), this, dir.ordinal(), 3); + world.setBlock(x + dX * 7 + rX * 4, y, z + dZ * 7 + rZ * 4, this, rot.ordinal(), 3); + for(int j = 0; j < 7; j++) for(int i = 0; i < 2; i++) world.setBlock(x + dX * (8 + j) + rX * (3 + i), y, z + dZ * (8 + j) + rZ * (3 + i), this, dir.ordinal(), 3); + + BlockDummyable.safeRem = false; + } + + @Override + @SideOnly(Side.CLIENT) + public void renderInventory(Tessellator tessellator, Block block, int metadata) { + GL11.glTranslated(0, -0.0625, 0); + GL11.glRotated(90, 0, 1, 0); + GL11.glScaled(0.1, 0.1, 0.1); + tessellator.startDrawingQuads(); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.rail_standard_switch_flipped, "Rail", this.blockIcon, tessellator, 0, false); + tessellator.draw(); + } + + @Override + @SideOnly(Side.CLIENT) + public void renderWorld(Tessellator tessellator, Block block, int meta, IBlockAccess world, int x, int y, int z) { + if(meta < 12) return; + float rotation = 0; + if(meta == 15) rotation = 90F / 180F * (float) Math.PI; + if(meta == 12) rotation = 180F / 180F * (float) Math.PI; + if(meta == 14) rotation = 270F / 180F * (float) Math.PI; + if(meta == 12) tessellator.addTranslation(0.5F, 0F, 0F); + if(meta == 13) tessellator.addTranslation(-0.5F, 0F, 0F); + if(meta == 14) tessellator.addTranslation(0F, 0F, -0.5F); + if(meta == 15) tessellator.addTranslation(0F, 0F, 0.5F); + tessellator.addTranslation(x + 0.5F, y, z + 0.5F); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.rail_standard_switch_flipped, "Rail", this.blockIcon, tessellator, rotation, true); + + TileEntity tile = world.getTileEntity(x, y, z); + + if(tile instanceof TileEntityRailSwitch) { + TileEntityRailSwitch sw = (TileEntityRailSwitch) tile; + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.rail_standard_switch_flipped, sw.isSwitched ? "SignTurn" : "SignStraight", this.iconSign, tessellator, rotation, true); + } + + tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F); + if(meta == 12) tessellator.addTranslation(-0.5F, 0F, 0F); + if(meta == 13) tessellator.addTranslation(0.5F, 0F, 0F); + if(meta == 14) tessellator.addTranslation(0F, 0F, 0.5F); + if(meta == 15) tessellator.addTranslation(0F, 0F, -0.5F); + } +} diff --git a/src/main/java/com/hbm/blocks/siege/SiegeBase.java b/src/main/java/com/hbm/blocks/siege/SiegeBase.java deleted file mode 100644 index 6a4d4fa23..000000000 --- a/src/main/java/com/hbm/blocks/siege/SiegeBase.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.hbm.blocks.siege; - -import com.hbm.blocks.BlockBase; -import com.hbm.blocks.ModBlocks; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.util.IIcon; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -public abstract class SiegeBase extends BlockBase { - - private IIcon[] icons; - - public SiegeBase(Material material, int icons) { - super(material); - this.setTickRandomly(true); - this.icons = new IIcon[icons]; - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) { - - int h = x; - h *= 433 + y; - h *= 1709 + z; - h = Math.abs(h); - - h = (h >> 6); - - return this.getIcon(h % this.icons.length, 0); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int meta) { - return icons[side % this.icons.length]; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister reg) { - - for(int i = 0; i < icons.length; i++) { - icons[i] = reg.registerIcon(this.getTextureName() + "_" + i); - } - } - - protected boolean solidNeighbors(World world, int x, int y, int z) { - - for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { - - Block b = world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ); - - if(b.getMaterial() == Material.air || !b.isNormalCube()) - return false; - } - - return true; - } - - protected boolean shouldReplace(Block b) { - return b != ModBlocks.siege_circuit && b != ModBlocks.siege_internal && b != ModBlocks.siege_shield; - } -} diff --git a/src/main/java/com/hbm/blocks/siege/SiegeCircuit.java b/src/main/java/com/hbm/blocks/siege/SiegeCircuit.java deleted file mode 100644 index 5b6db18d0..000000000 --- a/src/main/java/com/hbm/blocks/siege/SiegeCircuit.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.hbm.blocks.siege; - -import java.util.Random; - -import com.hbm.blocks.ModBlocks; - -import net.minecraft.block.material.Material; -import net.minecraft.world.World; - -public class SiegeCircuit extends SiegeBase { - - public SiegeCircuit(Material material) { - super(material, 2); - } - - @Override - public void updateTick(World world, int x, int y, int z, Random rand) { - - if(!this.solidNeighbors(world, x, y, z)) { - world.setBlock(x, y, z, ModBlocks.siege_emergency); - } - } -} diff --git a/src/main/java/com/hbm/blocks/siege/SiegeHole.java b/src/main/java/com/hbm/blocks/siege/SiegeHole.java deleted file mode 100644 index e4edcbe7a..000000000 --- a/src/main/java/com/hbm/blocks/siege/SiegeHole.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.hbm.blocks.siege; - -import java.util.List; -import java.util.Random; - -import com.hbm.blocks.BlockBase; -import com.hbm.entity.mob.siege.EntitySiegeZombie; -import com.hbm.handler.SiegeOrchestrator; - -import net.minecraft.block.material.Material; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.World; - -public class SiegeHole extends BlockBase { - - public SiegeHole(Material material) { - super(material); - } - - @Override - public void onBlockAdded(World world, int x, int y, int z) { - super.onBlockAdded(world, x, y, z); - world.scheduleBlockUpdate(x, y, z, this, this.tickRate(world)); - } - - @Override - public int tickRate(World world) { - return 90 + world.rand.nextInt(20); - } - - @Override - public void updateTick(World world, int x, int y, int z, Random rand) { - world.scheduleBlockUpdate(x, y, z, this, this.tickRate(world)); - - if(SiegeOrchestrator.spawnThresholdEnabled(world) && SiegeOrchestrator.siegeMobCount > SiegeOrchestrator.getSpawnThreshold(world)) - return; - - List list = world.getEntitiesWithinAABB(EntitySiegeZombie.class, AxisAlignedBB.getBoundingBox(x - 5, y - 2, z - 5, x + 6, y + 3, z + 6)); - - if(list.size() < 2) { - EntitySiegeZombie zomb = new EntitySiegeZombie(world); - zomb.setPositionAndRotation(x + 0.5, y + 1, z + 0.5, 0.0F, 0.0F); - zomb.onSpawnWithEgg(null); - world.spawnEntityInWorld(zomb); - } - } -} diff --git a/src/main/java/com/hbm/blocks/siege/SiegeInternal.java b/src/main/java/com/hbm/blocks/siege/SiegeInternal.java deleted file mode 100644 index 669d42497..000000000 --- a/src/main/java/com/hbm/blocks/siege/SiegeInternal.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.hbm.blocks.siege; - -import java.util.Random; - -import com.hbm.blocks.ModBlocks; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -public class SiegeInternal extends SiegeBase { - - public SiegeInternal(Material material) { - super(material, 2); - } - - @Override - public void updateTick(World world, int x, int y, int z, Random rand) { - - //if exposed to air, harden - if(!this.solidNeighbors(world, x, y, z)) { - world.setBlock(x, y, z, ModBlocks.siege_emergency); - return; - } - - int succ = 0; - for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { - - Block b = world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ); - - //if the bordering block is either an internal or a circuit, increment - if(b == this || b == ModBlocks.siege_circuit) { - succ++; - } - } - - //all neighbors are internals or circuits? turn into a circuit - if(succ == 6) - world.setBlock(x, y, z, ModBlocks.siege_circuit); - } -} \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/siege/SiegeShield.java b/src/main/java/com/hbm/blocks/siege/SiegeShield.java deleted file mode 100644 index 3080671bb..000000000 --- a/src/main/java/com/hbm/blocks/siege/SiegeShield.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.hbm.blocks.siege; - -import java.util.Random; - -import com.hbm.blocks.ModBlocks; -import com.hbm.handler.SiegeOrchestrator; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -public class SiegeShield extends SiegeBase { - - public SiegeShield(Material material) { - super(material, 4); - } - - @Override - public void updateTick(World world, int x, int y, int z, Random rand) { - - if(SiegeOrchestrator.siegeMobCount > SiegeOrchestrator.getExpansionThreshold(world) || !SiegeOrchestrator.enableBaseSpawning(world) || !SiegeOrchestrator.siegeEnabled(world)) - return; - - int succ = 0; - - for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { - - Block b = world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ); - - //if the block is already a siege block, do nothing and increment the success counter - if(!this.shouldReplace(b)) { - succ++; - - //...if not, check if a new shield can be placed, and try to do so - } else if(this.solidNeighbors(world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ)) { - succ++; - world.setBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, this); - } - } - - //if all the blocks are siege blocks now, replace with an internal - if(succ == 6) { - world.setBlock(x, y, z, ModBlocks.siege_internal); - - if(rand.nextInt(10) == 0) { - Block above = world.getBlock(x, y + 2, z); - Block surface = world.getBlock(x, y + 3, z); - - //if the block above the upper shield is solid and *above that* is air, place a hole - if(above.getMaterial() != Material.air && above.isNormalCube() && (surface.getMaterial() == Material.air || !surface.isNormalCube())) { - world.setBlock(x, y + 2, z, ModBlocks.siege_hole); - } - } - } - } -} diff --git a/src/main/java/com/hbm/blocks/test/TestBomb.java b/src/main/java/com/hbm/blocks/test/TestBomb.java deleted file mode 100644 index 377eda42d..000000000 --- a/src/main/java/com/hbm/blocks/test/TestBomb.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.hbm.blocks.test; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.init.Blocks; -import net.minecraft.world.World; - -public class TestBomb extends Block { - - int bombStartStrength = 40; - int bombStrengthA = 10; - protected int timer1 = 20; - int timer2 = timer1; - - public TestBomb(Material p_i45394_1_) { - super(p_i45394_1_); - } - - @Override - public void onBlockAdded(World world, int x, int y, int z) - { - super.onBlockAdded(world, x, y, z); - - if (world.isBlockIndirectlyGettingPowered(x, y, z)) - { - this.onBlockDestroyedByPlayer(world, x, y, z, 1); - world.setBlockToAir(x, y, z); - soos(world, x, y, z, bombStartStrength, bombStrengthA); - } - } - - /** - * Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed (coordinates passed are - * their own) Args: x, y, z, neighbor Block - */ - @Override - public void onNeighborBlockChange(World p_149695_1_, int x, int y, int z, Block p_149695_5_) - { - if (p_149695_1_.isBlockIndirectlyGettingPowered(x, y, z)) - { - this.onBlockDestroyedByPlayer(p_149695_1_, x, y, z, 1); - p_149695_1_.setBlockToAir(x, y, z); - soos(p_149695_1_, x, y, z, bombStartStrength, bombStrengthA); - } - } - - public boolean soos(World world, int x, int y, int z, int bombStartStrength, int bombStrengthA) - { - if (!world.isRemote) - explode(world,x,y,z, bombStartStrength, bombStrengthA); - world.spawnParticle("hugeexplosion", x, y, z, 0, 0, 0); //spawns a huge explosion particle - world.playSoundEffect(x, y, z, "random.explode", 1.0f, world.rand.nextFloat() * 0.1F + 0.9F); //x,y,z,sound,volume,pitch - return false; - } - - public void explode(World world, int x, int y, int z, int bombStartStrength, int bombStrengthA) - { - int r = bombStartStrength; //radius of explosion (change this to bigger numbers for more epicness) - int r2 = r*r; //radius^2, for faster distance checks. (No sqrt needed for pythagoras) - int r22 = r2/2; //half of r^2, calculations outside the loop only get called once. Always pull out as many things from the loop as possible. - for (int xx = -r; xx < r; xx++) - { - int X = xx+x; //x coordinate we are working on - int XX = xx*xx; //more stuff for a faster distance check - for (int yy = -r; yy < r; yy++) - { - int Y = yy+y; //y coord - //int YY = XX+yy*yy*3; - int YY = XX+yy*yy*3; - for (int zz = -r; zz < r; zz++) - { - int Z = zz+z; //z coord - int ZZ = YY+zz*zz; //final= x*x+y*y+z*z. remind you of anything? - if (ZZ 0) - { - int j1 = this.field_149933_a.nextInt(21) + 10; - - if (j1 > itemstack.stackSize) - { - j1 = itemstack.stackSize; - } - - itemstack.stackSize -= j1; - EntityItem entityitem = new EntityItem(p_149749_1_, p_149749_2_ + f, p_149749_3_ + f1, p_149749_4_ + f2, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); - - if (itemstack.hasTagCompound()) - { - entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); - } - - float f3 = 0.05F; - entityitem.motionX = (float)this.field_149933_a.nextGaussian() * f3; - entityitem.motionY = (float)this.field_149933_a.nextGaussian() * f3 + 0.2F; - entityitem.motionZ = (float)this.field_149933_a.nextGaussian() * f3; - p_149749_1_.spawnEntityInWorld(entityitem); - } - } - } - - p_149749_1_.func_147453_f(p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_); - } - } - - super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_); - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - if(world.isRemote) - { - return true; - } else if(!player.isSneaking()) - { - TileEntityTestNuke entity = (TileEntityTestNuke) world.getTileEntity(x, y, z); - if(entity != null) - { - FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z); - } - return true; - } else { - return false; - } - } - - @Override - public void onNeighborBlockChange(World p_149695_1_, int x, int y, int z, Block p_149695_5_) - { - TileEntityTestNuke entity = (TileEntityTestNuke) p_149695_1_.getTileEntity(x, y, z); - if (p_149695_1_.isBlockIndirectlyGettingPowered(x, y, z)) - { - if(entity.getNukeTier() > 0) - { - this.onBlockDestroyedByPlayer(p_149695_1_, x, y, z, 1); - int pootis = entity.getNukeTier(); - entity.clearSlots(); - p_149695_1_.setBlockToAir(x, y, z); - switch(pootis) - { - case 1: - igniteTestBomb(p_149695_1_, x, y, z, 20); break; - case 2: - igniteTestBomb(p_149695_1_, x, y, z, 40); break; - case 999: - igniteTestBomb(p_149695_1_, x, y, z, 200); break; - } - } - } - } - - public boolean igniteTestBomb(World world, int x, int y, int z, int bombStartStrength) - { - if (!world.isRemote) - detonateTestBomb(world,x,y,z, bombStartStrength); - world.spawnParticle("hugeexplosion", x, y, z, 0, 0, 0); //spawns a huge explosion particle - world.playSoundEffect(x, y, z, "random.explode", 1.0f, world.rand.nextFloat() * 0.1F + 0.9F); //x,y,z,sound,volume,pitch - return false; - } - - public void detonateTestBomb(World world, int x, int y, int z, int bombStartStrength) - { - //Rodol's awesome destruction code - int r = bombStartStrength; //radius of explosion (change this to bigger numbers for more epicness) - int r2 = r*r; //radius^2, for faster distance checks. (No sqrt needed for pythagoras) - int r22 = r2/2; //half of r^2, calculations outside the loop only get called once. Always pull out as many things from the loop as possible. - for (int xx = -r; xx < r; xx++) - { - int X = xx+x; //x coordinate we are working on - int XX = xx*xx; //more stuff for a faster distance check - for (int yy = -r; yy < r; yy++) - { - int Y = yy+y; //y coord - int YY = XX+yy*yy*3; - for (int zz = -r; zz < r; zz++) - { - int Z = zz+z; //z coord - int ZZ = YY+zz*zz; //final= x*x+y*y+z*z. remind you of anything? - if (ZZ customMachines = new HashMap(); public static List niceList = new ArrayList(); - + public static void initialize() { File folder = MainRegistry.configHbmDir; File config = new File(folder.getAbsolutePath() + File.separatorChar + "hbmCustomMachines.json"); - + if(!config.exists()) { writeDefault(config); } - + readConfig(config); } - + public static void writeDefault(File config) { try { @@ -54,10 +56,13 @@ public class CustomMachineConfigJSON { writer.setIndent(" "); writer.beginObject(); writer.name("machines").beginArray(); - + writer.beginObject(); writer.name("recipeKey").value("paperPress"); writer.name("unlocalizedName").value("paperPress"); + writer.name("localization").beginObject(); + writer.name("de_DE").value("Papierpresse"); + writer.endObject(); writer.name("localizedName").value("Paper Press"); writer.name("fluidInCount").value(1); writer.name("fluidInCap").value(1_000); @@ -66,14 +71,17 @@ public class CustomMachineConfigJSON { writer.name("fluidOutCap").value(0); writer.name("itemOutCount").value(1); writer.name("generatorMode").value(false); + writer.name("maxPollutionCap").value(100); + writer.name("fluxMode").value(false); writer.name("recipeSpeedMult").value(1.0D); writer.name("recipeConsumptionMult").value(1.0D); writer.name("maxPower").value(10_000L); - + writer.name("maxHeat").value(0); + writer.name("recipeShape").beginArray(); writer.value("IPI").value("PCP").value("IPI"); writer.endArray(); - + writer.name("recipeParts").beginArray().setIndent(""); writer.value("I"); SerializableRecipe.writeAStack(new OreDictStack(OreDictManager.STEEL.ingot()), writer); @@ -84,9 +92,9 @@ public class CustomMachineConfigJSON { writer.value("C"); SerializableRecipe.writeAStack(new ComparableStack(ModItems.circuit_aluminium), writer); writer.endArray().setIndent(" "); - + writer.name("components").beginArray(); - + for(int x = -1; x <= 1; x++) { for(int y = -1; y <= 1; y++) { for(int z = 0; z <= 2; z++) { @@ -104,7 +112,7 @@ public class CustomMachineConfigJSON { } } } - + writer.beginObject().setIndent(""); writer.name("block").value("hbm:tile.cm_port"); writer.name("x").value(0); @@ -114,7 +122,7 @@ public class CustomMachineConfigJSON { writer.value(0); writer.endArray(); writer.endObject().setIndent(" "); - + writer.beginObject().setIndent(""); writer.name("block").value("hbm:tile.cm_port"); writer.name("x").value(0); @@ -124,10 +132,10 @@ public class CustomMachineConfigJSON { writer.value(0); writer.endArray(); writer.endObject().setIndent(" "); - + writer.endArray(); writer.endObject(); - + writer.endArray(); writer.endObject(); writer.close(); @@ -135,20 +143,26 @@ public class CustomMachineConfigJSON { e.printStackTrace(); } } - + public static void readConfig(File config) { - + try { JsonObject json = gson.fromJson(new FileReader(config), JsonObject.class); JsonArray machines = json.get("machines").getAsJsonArray(); - + for(int i = 0; i < machines.size(); i++) { JsonObject machineObject = machines.get(i).getAsJsonObject(); - + MachineConfiguration configuration = new MachineConfiguration(); configuration.recipeKey = machineObject.get("recipeKey").getAsString(); configuration.unlocalizedName = machineObject.get("unlocalizedName").getAsString(); configuration.localizedName = machineObject.get("localizedName").getAsString(); + if(machineObject.has("localization")) { + JsonObject localization = machineObject.get("localization").getAsJsonObject(); + for(Entry entry : localization.entrySet()) { + configuration.localization.put(entry.getKey(), entry.getValue().getAsString()); + } + } configuration.fluidInCount = machineObject.get("fluidInCount").getAsInt(); configuration.fluidInCap = machineObject.get("fluidInCap").getAsInt(); configuration.itemInCount = machineObject.get("itemInCount").getAsInt(); @@ -156,45 +170,54 @@ public class CustomMachineConfigJSON { configuration.fluidOutCap = machineObject.get("fluidOutCap").getAsInt(); configuration.itemOutCount = machineObject.get("itemOutCount").getAsInt(); configuration.generatorMode = machineObject.get("generatorMode").getAsBoolean(); + if(machineObject.has("maxPollutionCap")) configuration.maxPollutionCap = machineObject.get("maxPollutionCap").getAsInt(); + if(machineObject.has("fluxMode")) configuration.fluxMode = machineObject.get("fluxMode").getAsBoolean(); configuration.recipeSpeedMult = machineObject.get("recipeSpeedMult").getAsDouble(); configuration.recipeConsumptionMult = machineObject.get("recipeConsumptionMult").getAsDouble(); configuration.maxPower = machineObject.get("maxPower").getAsLong(); - - if(machineObject.has("recipeShape") && machineObject.has("recipeParts")) { - JsonArray recipeShape = machineObject.get("recipeShape").getAsJsonArray(); - JsonArray recipeParts = machineObject.get("recipeParts").getAsJsonArray(); - - Object[] parts = new Object[recipeShape.size() + recipeParts.size()]; - - for(int j = 0; j < recipeShape.size(); j++) { - parts[j] = recipeShape.get(j).getAsString(); - } - - for(int j = 0; j < recipeParts.size(); j++) { - Object o = null; - - if(j % 2 == 0) { - o = recipeParts.get(j).getAsString().charAt(0); //god is dead and we killed him - } else { - AStack a = SerializableRecipe.readAStack(recipeParts.get(j).getAsJsonArray()); - - if(a instanceof ComparableStack) o = ((ComparableStack) a).toStack(); - if(a instanceof OreDictStack) o = ((OreDictStack) a).name; - } - - parts[j + recipeShape.size()] = o; - } - - ItemStack stack = new ItemStack(ModBlocks.custom_machine, 1, i + 100); - stack.stackTagCompound = new NBTTagCompound(); - stack.stackTagCompound.setString("machineType", configuration.unlocalizedName); + if(machineObject.has("maxHeat")) configuration.maxHeat = machineObject.get("maxHeat").getAsInt(); - CraftingManager.addRecipeAuto(stack, parts); + if(machineObject.has("recipeShape") && machineObject.has("recipeParts")) { + try { + JsonArray recipeShape = machineObject.get("recipeShape").getAsJsonArray(); + JsonArray recipeParts = machineObject.get("recipeParts").getAsJsonArray(); + + Object[] parts = new Object[recipeShape.size() + recipeParts.size()]; + + for(int j = 0; j < recipeShape.size(); j++) { + parts[j] = recipeShape.get(j).getAsString(); + } + + for(int j = 0; j < recipeParts.size(); j++) { + Object o = null; + + if(j % 2 == 0) { + o = recipeParts.get(j).getAsString().charAt(0); //god is dead and we killed him + } else { + AStack a = SerializableRecipe.readAStack(recipeParts.get(j).getAsJsonArray()); + + if(a instanceof ComparableStack) o = ((ComparableStack) a).toStack(); + if(a instanceof OreDictStack) o = ((OreDictStack) a).name; + } + + parts[j + recipeShape.size()] = o; + } + + ItemStack stack = new ItemStack(ModBlocks.custom_machine, 1, i + 100); + stack.stackTagCompound = new NBTTagCompound(); + stack.stackTagCompound.setString("machineType", configuration.unlocalizedName); + + CraftingManager.addRecipeAuto(stack, parts); + } catch(Exception ex) { + MainRegistry.logger.error("Caught exception trying to parse core recipe for custom machine " + configuration.unlocalizedName); + MainRegistry.logger.error("recipeShape was" + machineObject.get("recipeShape").toString()); + MainRegistry.logger.error("recipeParts was" + machineObject.get("recipeParts").toString()); + } } - + JsonArray components = machineObject.get("components").getAsJsonArray(); configuration.components = new ArrayList(); - + for(int j = 0; j < components.size(); j++) { JsonObject compObject = components.get(j).getAsJsonObject(); ComponentDefinition compDef = new ComponentDefinition(); @@ -207,27 +230,28 @@ public class CustomMachineConfigJSON { for(int k = 0; k < compDef.metas.size(); k++) { compDef.allowedMetas.add(compDef.metas.get(k).getAsInt()); } - + configuration.components.add(compDef); } - + customMachines.put(configuration.unlocalizedName, configuration); niceList.add(configuration); } - + } catch(Exception ex) { ex.printStackTrace(); } } public static class MachineConfiguration { - + /** The name of the recipe set that this machine can handle */ public String recipeKey; /** The internal name of this machine */ public String unlocalizedName; /** The display name of this machine */ public String localizedName; + public HashMap localization = new HashMap();; public int fluidInCount; public int fluidInCap; @@ -237,14 +261,17 @@ public class CustomMachineConfigJSON { public int itemOutCount; /** Whether inputs should be used up when the process begins */ public boolean generatorMode; - + public int maxPollutionCap; + public boolean fluxMode; public double recipeSpeedMult = 1D; public double recipeConsumptionMult = 1D; public long maxPower; - + public int maxHeat; + + /** Definitions of blocks that this machine is composed of */ public List components; - + public static class ComponentDefinition { public Block block; public Set allowedMetas; diff --git a/src/main/java/com/hbm/config/FalloutConfigJSON.java b/src/main/java/com/hbm/config/FalloutConfigJSON.java index eba732a84..583865950 100644 --- a/src/main/java/com/hbm/config/FalloutConfigJSON.java +++ b/src/main/java/com/hbm/config/FalloutConfigJSON.java @@ -1,13 +1,5 @@ package com.hbm.config; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.Random; - import com.google.common.collect.HashBiMap; import com.google.gson.Gson; import com.google.gson.JsonArray; @@ -19,12 +11,19 @@ import com.hbm.inventory.RecipesCommon.MetaBlock; import com.hbm.main.MainRegistry; import com.hbm.util.Compat; import com.hbm.util.Tuple.Triplet; - import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.init.Blocks; import net.minecraft.world.World; +import java.io.File; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + public class FalloutConfigJSON { public static final List entries = new ArrayList(); @@ -55,13 +54,8 @@ public class FalloutConfigJSON { private static void initDefault() { double woodEffectRange = 65D; - /* destroy all leaves within the radios, kill all leaves outside of it */ - entries.add(new FalloutEntry() .mB(Blocks.leaves) .prim(new Triplet(Blocks.air, 0, 1)) .max(woodEffectRange)); - entries.add(new FalloutEntry() .mB(Blocks.leaves2) .prim(new Triplet(Blocks.air, 0, 1)) .max(woodEffectRange)); - entries.add(new FalloutEntry() .mB(ModBlocks.waste_leaves) .prim(new Triplet(Blocks.air, 0, 1)) .max(woodEffectRange)); - entries.add(new FalloutEntry() .mB(Blocks.leaves) .prim(new Triplet(ModBlocks.waste_leaves, 0, 1)) .min(woodEffectRange)); - entries.add(new FalloutEntry() .mB(Blocks.leaves2) .prim(new Triplet(ModBlocks.waste_leaves, 0, 1)) .min(woodEffectRange)); + /* petrify all wooden things possible */ entries.add(new FalloutEntry() .mB(Blocks.log) .prim(new Triplet(ModBlocks.waste_log, 0, 1)) .max(woodEffectRange)); entries.add(new FalloutEntry() .mB(Blocks.log2) .prim(new Triplet(ModBlocks.waste_log, 0, 1)) .max(woodEffectRange)); entries.add(new FalloutEntry() .mB(Blocks.red_mushroom_block).mM(10) .prim(new Triplet(ModBlocks.waste_log, 0, 1)) .max(woodEffectRange)); @@ -69,24 +63,40 @@ public class FalloutConfigJSON { entries.add(new FalloutEntry() .mB(Blocks.red_mushroom_block) .prim(new Triplet(Blocks.air, 0, 1)) .max(woodEffectRange)); entries.add(new FalloutEntry() .mB(Blocks.brown_mushroom_block) .prim(new Triplet(Blocks.air, 0, 1)) .max(woodEffectRange)); entries.add(new FalloutEntry() .mB(Blocks.planks) .prim(new Triplet(ModBlocks.waste_planks, 0, 1)) .max(woodEffectRange)); + /* if it can't be petrified, destroy it */ + entries.add(new FalloutEntry() .mMa(Material.wood) .prim(new Triplet(Blocks.air, 0, 1)) .max(woodEffectRange)); + /* destroy all leaves within the radios, kill all leaves outside of it */ + entries.add(new FalloutEntry() .mMa(Material.leaves) .prim(new Triplet(Blocks.air, 0, 1)) .max(woodEffectRange)); + entries.add(new FalloutEntry() .mMa(Material.plants) .prim(new Triplet(Blocks.air, 0, 1)) .max(woodEffectRange)); + entries.add(new FalloutEntry() .mMa(Material.vine) .prim(new Triplet(Blocks.air, 0, 1)) .max(woodEffectRange)); + entries.add(new FalloutEntry() .mB(ModBlocks.waste_leaves) .prim(new Triplet(Blocks.air, 0, 1)) .max(woodEffectRange)); + entries.add(new FalloutEntry() .mB(Blocks.leaves) .prim(new Triplet(ModBlocks.waste_leaves, 0, 1)) .min(woodEffectRange - 5D)); + entries.add(new FalloutEntry() .mB(Blocks.leaves2) .prim(new Triplet(ModBlocks.waste_leaves, 0, 1)) .min(woodEffectRange - 5D)); - FalloutEntry stoneCore = new FalloutEntry().prim(new Triplet(ModBlocks.sellafield, 1, 1)).max(5).sol(true); - FalloutEntry stoneInner = new FalloutEntry().prim(new Triplet(ModBlocks.sellafield, 0, 1)).min(5).max(15).sol(true); - FalloutEntry stoneOuter = new FalloutEntry().prim(new Triplet(ModBlocks.sellafield_slaked, 0, 1)).min(15).max(50).sol(true); + entries.add(new FalloutEntry().mB(Blocks.mossy_cobblestone).prim(new Triplet(Blocks.coal_ore, 0, 1))); + entries.add(new FalloutEntry().mB(ModBlocks.ore_nether_uranium).prim(new Triplet(ModBlocks.ore_nether_schrabidium, 0, 1), new Triplet(ModBlocks.ore_nether_uranium_scorched, 0, 99))); - entries.add(stoneCore.clone().mB(Blocks.stone)); - entries.add(stoneInner.clone().mB(Blocks.stone)); - entries.add(stoneOuter.clone().mB(Blocks.stone)); - entries.add(stoneCore.clone().mB(Blocks.gravel)); - entries.add(stoneInner.clone().mB(Blocks.gravel)); - entries.add(stoneOuter.clone().mB(Blocks.gravel)); - /* recontaminate slaked sellafield */ - entries.add(stoneCore.clone().mB(ModBlocks.sellafield_slaked)); - entries.add(stoneInner.clone().mB(ModBlocks.sellafield_slaked)); + Block deepslate = Compat.tryLoadBlock(Compat.MOD_EF, "deepslate"); + Block stone = Compat.tryLoadBlock(Compat.MOD_EF, "stone"); - entries.add(new FalloutEntry() - .mB(Blocks.grass) - .prim(new Triplet(ModBlocks.waste_earth, 0, 1))); + for(int i = 1; i <= 10; i++) { + int m = 10 - i; + entries.add(new FalloutEntry().prim(new Triplet(ModBlocks.ore_sellafield_diamond, m, 3), new Triplet(ModBlocks.ore_sellafield_emerald, m, 2)) .c(0.5) .max(i * 5).sol(true).mB(Blocks.coal_ore)); + entries.add(new FalloutEntry().prim(new Triplet(ModBlocks.ore_sellafield_diamond, m, 1)) .c(0.2) .max(i * 5).sol(true).mB(ModBlocks.ore_lignite)); + entries.add(new FalloutEntry().prim(new Triplet(ModBlocks.ore_sellafield_emerald, m, 1)) .max(i * 5).sol(true).mB(ModBlocks.ore_beryllium)); + if(m > 4) entries.add(new FalloutEntry().prim(new Triplet(ModBlocks.ore_sellafield_schrabidium, m, 1), new Triplet(ModBlocks.ore_sellafield_uranium_scorched, m, 9)) .max(i * 5).sol(true).mB(ModBlocks.ore_uranium)); + if(m > 4) entries.add(new FalloutEntry().prim(new Triplet(ModBlocks.ore_sellafield_schrabidium, m, 1), new Triplet(ModBlocks.ore_sellafield_uranium_scorched, m, 9)) .max(i * 5).sol(true).mB(ModBlocks.ore_gneiss_uranium)); + entries.add(new FalloutEntry().prim(new Triplet(ModBlocks.ore_sellafield_radgem, m, 1)) .max(i * 5).sol(true).mB(Blocks.diamond_ore)); + entries.add(new FalloutEntry() .prim(new Triplet(ModBlocks.sellafield_slaked, m, 1)).max(i * 5).sol(true).mMa(Material.iron)); + entries.add(new FalloutEntry() .prim(new Triplet(ModBlocks.sellafield_slaked, m, 1)).max(i * 5).sol(true).mMa(Material.rock)); + entries.add(new FalloutEntry() .prim(new Triplet(ModBlocks.sellafield_slaked, m, 1)).max(i * 5).sol(true).mMa(Material.sand)); + entries.add(new FalloutEntry() .prim(new Triplet(ModBlocks.sellafield_slaked, m, 1)).max(i * 5).sol(true).mMa(Material.ground)); + if(i <= 9) entries.add(new FalloutEntry() .prim(new Triplet(ModBlocks.sellafield_slaked, m, 1)).max(i * 5).sol(true).mMa(Material.grass)); + if(deepslate != null) entries.add(new FalloutEntry() .prim(new Triplet(ModBlocks.sellafield_slaked, m, 1)).max(i * 5).sol(true).mB(deepslate)); + if(stone != null) entries.add(new FalloutEntry() .prim(new Triplet(ModBlocks.sellafield_slaked, m, 1)).max(i * 5).sol(true).mB(stone)); + } + + //entries.add(new FalloutEntry().mB(Blocks.grass).prim(new Triplet(ModBlocks.waste_earth, 0, 1))); entries.add(new FalloutEntry() .mB(Blocks.mycelium) .prim(new Triplet(ModBlocks.waste_mycelium, 0, 1))); @@ -101,40 +111,6 @@ public class FalloutConfigJSON { entries.add(new FalloutEntry() .mB(Blocks.clay) .prim(new Triplet(Blocks.hardened_clay, 0, 1))); - entries.add(new FalloutEntry() - .mB(Blocks.mossy_cobblestone) - .prim(new Triplet(Blocks.coal_ore, 0, 1))); - entries.add(new FalloutEntry() - .mB(Blocks.coal_ore) - .prim(new Triplet(Blocks.diamond_ore, 0, 3), new Triplet(Blocks.emerald_ore, 0, 2)) - .c(0.5)); - entries.add(new FalloutEntry() - .mB(ModBlocks.ore_lignite) - .prim(new Triplet(Blocks.diamond_ore, 0, 1)) - .c(0.2)); - entries.add(new FalloutEntry() - .mB(ModBlocks.ore_uranium) - .prim(new Triplet(ModBlocks.ore_schrabidium, 0, 1), new Triplet(ModBlocks.ore_uranium_scorched, 0, 99))); - entries.add(new FalloutEntry() - .mB(ModBlocks.ore_nether_uranium) - .prim(new Triplet(ModBlocks.ore_nether_schrabidium, 0, 1), new Triplet(ModBlocks.ore_nether_uranium_scorched, 0, 99))); - entries.add(new FalloutEntry() - .mB(ModBlocks.ore_gneiss_uranium) - .prim(new Triplet(ModBlocks.ore_gneiss_schrabidium, 0, 1), new Triplet(ModBlocks.ore_gneiss_uranium_scorched, 0, 99))); - - /// COMPAT /// - Block deepslate = Compat.tryLoadBlock(Compat.MOD_EF, "deepslate"); - if(deepslate != null) { //identical to stone - entries.add(stoneCore.clone().mB(deepslate)); - entries.add(stoneInner.clone().mB(deepslate)); - entries.add(stoneOuter.clone().mB(deepslate)); - } - Block stone = Compat.tryLoadBlock(Compat.MOD_EF, "stone"); - if(stone != null) { //identical to stone - entries.add(stoneCore.clone().mB(stone)); - entries.add(stoneInner.clone().mB(stone)); - entries.add(stoneOuter.clone().mB(stone)); - } } private static void writeDefault(File file) { @@ -190,7 +166,9 @@ public class FalloutConfigJSON { private double primaryChance = 1.0D; private double minDist = 0.0D; private double maxDist = 100.0D; + private double falloffStart = 0.9D; + /** Whether the depth value should be decremented when this block is converted */ private boolean isSolid = false; public FalloutEntry clone() { @@ -203,6 +181,7 @@ public class FalloutConfigJSON { entry.sec(secondaryBlocks); entry.min(minDist); entry.max(maxDist); + entry.fo(falloffStart); entry.sol(isSolid); return entry; @@ -218,21 +197,26 @@ public class FalloutConfigJSON { public FalloutEntry c(double chance) { this.primaryChance = chance; return this; } public FalloutEntry min(double min) { this.minDist = min; return this; } public FalloutEntry max(double max) { this.maxDist = max; return this; } + public FalloutEntry fo(double falloffStart) { this.falloffStart = falloffStart; return this; } public FalloutEntry sol(boolean solid) { this.isSolid = solid; return this; } - public boolean eval(World world, int x, int y, int z, Block b, int meta, double dist) { - + public boolean eval(World world, int x, int y, int z, Block b, int meta, double dist, Block originalBlock, int originalMeta) { + + if(dist > maxDist || dist < minDist) return false; if(matchesBlock != null && b != matchesBlock) return false; if(matchesMaterial != null && b.getMaterial() != matchesMaterial) return false; if(matchesMeta != -1 && meta != matchesMeta) return false; if(matchesOpaque && !b.isOpaqueCube()) return false; - if(dist > maxDist || dist < minDist) return false; - + if(dist > maxDist * falloffStart && Math.abs(world.rand.nextGaussian()) < Math.pow((dist - maxDist * falloffStart) / (maxDist - maxDist * falloffStart), 2D) * 3D) return false; + if(primaryChance == 1D || rand.nextDouble() < primaryChance) { if(primaryBlocks == null) return false; MetaBlock block = chooseRandomOutcome(primaryBlocks); + if(block.block == ModBlocks.sellafield_slaked && originalBlock == ModBlocks.sellafield_slaked) { + if(block.meta <= originalMeta) return false; + } world.setBlock(x, y, z, block.block, block.meta, 3); return true; @@ -241,6 +225,9 @@ public class FalloutConfigJSON { if(secondaryBlocks == null) return false; MetaBlock block = chooseRandomOutcome(secondaryBlocks); + if(block.block == ModBlocks.sellafield_slaked && originalBlock == ModBlocks.sellafield_slaked) { + if(block.meta <= originalMeta) return false; + } world.setBlock(x, y, z, block.block, block.meta, 3); return true; } @@ -291,7 +278,7 @@ public class FalloutConfigJSON { if(minDist != 0.0D) writer.name("minimumDistancePercent").value(minDist); if(maxDist != 100.0D) writer.name("maximumDistancePercent").value(maxDist); - + if(falloffStart != 0.9D) writer.name("falloffStartFactor").value(falloffStart); } private static FalloutEntry readEntry(JsonElement recipe) { @@ -313,6 +300,7 @@ public class FalloutConfigJSON { if(obj.has("minimumDistancePercent")) entry.min(obj.get("minimumDistancePercent").getAsDouble()); if(obj.has("maximumDistancePercent")) entry.max(obj.get("maximumDistancePercent").getAsDouble()); + if(obj.has("falloffStartFactor")) entry.fo(obj.get("falloffStartFactor").getAsDouble()); return entry; } diff --git a/src/main/java/com/hbm/config/GeneralConfig.java b/src/main/java/com/hbm/config/GeneralConfig.java index 0c39c8180..75c61aed1 100644 --- a/src/main/java/com/hbm/config/GeneralConfig.java +++ b/src/main/java/com/hbm/config/GeneralConfig.java @@ -9,7 +9,7 @@ public class GeneralConfig { public static boolean enableDebugMode = true; public static boolean enableMycelium = false; public static boolean enablePlutoniumOre = false; - public static boolean enableDungeons = true; + public static int enableDungeons = 2; public static boolean enableMDOres = true; public static boolean enableMines = true; public static boolean enableRad = true; @@ -26,11 +26,15 @@ public class GeneralConfig { public static boolean enableRenderDistCheck = true; public static boolean enableReEval = true; public static boolean enableSilentCompStackErrors = true; - public static boolean enableChunkyNEIHandler = true; public static boolean enableSkyboxes = true; public static boolean enableImpactWorldProvider = true; public static boolean enableStatReRegistering = true; public static boolean enableKeybindOverlap = true; + public static boolean enableFluidContainerCompat = true; + public static boolean enableMOTD = true; + public static boolean enableGuideBook = true; + public static boolean enableSteamParticles = true; + public static boolean enableSoundExtension = true; public static int hintPos = 0; public static boolean enableExpensiveMode = false; @@ -69,7 +73,10 @@ public class GeneralConfig { enableDebugMode = config.get(CATEGORY_GENERAL, "1.00_enableDebugMode", false, "Enable debugging mode").getBoolean(false); enableMycelium = config.get(CATEGORY_GENERAL, "1.01_enableMyceliumSpread", false, "Allows glowing mycelium to spread").getBoolean(false); enablePlutoniumOre = config.get(CATEGORY_GENERAL, "1.02_enablePlutoniumNetherOre", false, "Enables plutonium ore generation in the nether").getBoolean(false); - enableDungeons = config.get(CATEGORY_GENERAL, "1.03_enableDungeonSpawn", true, "Allows structures and dungeons to spawn").getBoolean(true); + + String unparsedDungeonFlag = config.get(CATEGORY_GENERAL, "1.03_enableDungeonSpawn", "flag", "Allows structures and dungeons to spawn. Valid values are true|false|flag - flag will respect the \"Generate Structures\" world flag.").getString(); + enableDungeons = CommonConfig.parseStructureFlag(unparsedDungeonFlag); + enableMDOres = config.get(CATEGORY_GENERAL, "1.04_enableOresInModdedDimensions", true, "Allows NTM ores to generate in modded dimensions").getBoolean(true); enableMines = config.get(CATEGORY_GENERAL, "1.05_enableLandmineSpawn", true, "Allows landmines to generate").getBoolean(true); enableRad = config.get(CATEGORY_GENERAL, "1.06_enableRadHotspotSpawn", true, "Allows radiation hotspots to generate").getBoolean(true); @@ -87,12 +94,16 @@ public class GeneralConfig { enableReEval = config.get(CATEGORY_GENERAL, "1.27_enableReEval", true, "Allows re-evaluating power networks on link remove instead of destroying and recreating").getBoolean(true); enableSilentCompStackErrors = config.get(CATEGORY_GENERAL, "1.28_enableSilentCompStackErrors", false, "Enabling this will disable log spam created by unregistered items in ComparableStack instances.").getBoolean(false); hintPos = CommonConfig.createConfigInt(config, CATEGORY_GENERAL, "1.29_hudOverlayPosition", "0: Top left\n1: Top right\n2: Center right\n3: Center Left", 0); - enableChunkyNEIHandler = config.get(CATEGORY_GENERAL, "1.30_enableChunkyNEIHandler", true, "If enabled, registers a NEI handler that will show the chosen item in a larger view.").getBoolean(true); enableSkyboxes = config.get(CATEGORY_GENERAL, "1.31_enableSkyboxes", true, "If enabled, will try to use NTM's custom skyboxes.").getBoolean(true); enableImpactWorldProvider = config.get(CATEGORY_GENERAL, "1.32_enableImpactWorldProvider", true, "If enabled, registers custom world provider which modifies lighting and sky colors for post impact effects.").getBoolean(true); enableStatReRegistering = config.get(CATEGORY_GENERAL, "1.33_enableStatReRegistering", true, "If enabled, will re-register item crafting/breaking/usage stats in order to fix a forge bug where modded items just won't show up.").getBoolean(true); enableKeybindOverlap = config.get(CATEGORY_GENERAL, "1.34_enableKeybindOverlap", true, "If enabled, will handle keybinds that would otherwise be ignored due to overlapping.").getBoolean(true); - + enableFluidContainerCompat = config.get(CATEGORY_GENERAL, "1.35_enableFluidContainerCompat", true, "If enabled, fluid containers will be oredicted and interchangable in recipes with other mods' containers, as well as TrainCraft's diesel being considered a valid diesel canister.").getBoolean(true); + enableMOTD = config.get(CATEGORY_GENERAL, "1.36_enableMOTD", true, "If enabled, shows the 'Loaded mod!' chat message as well as update notifications when joining a world").getBoolean(true); + enableGuideBook = config.get(CATEGORY_GENERAL, "1.37_enableGuideBook", true, "If enabled, gives players the guide book when joining the world for the first time").getBoolean(true); + enableSteamParticles = config.get(CATEGORY_GENERAL, "1.38_enableSteamParticles",true, "If disabled, auxiliary cooling towers and large cooling towers will not emit steam particles when in use.").getBoolean(true); + enableSoundExtension = config.get(CATEGORY_GENERAL, "1.39_enableSoundExtension",true, "If enabled, will change the limit for how many sounds can play at once.").getBoolean(true); + enableExpensiveMode = config.get(CATEGORY_GENERAL, "1.99_enableExpensiveMode", false, "It does what the name implies.").getBoolean(false); final String CATEGORY_528 = CommonConfig.CATEGORY_528; diff --git a/src/main/java/com/hbm/config/ItemPoolConfigJSON.java b/src/main/java/com/hbm/config/ItemPoolConfigJSON.java new file mode 100644 index 000000000..986444511 --- /dev/null +++ b/src/main/java/com/hbm/config/ItemPoolConfigJSON.java @@ -0,0 +1,146 @@ +package com.hbm.config; + +import java.io.File; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; +import java.util.HashMap; +import java.util.Map.Entry; + +import com.google.gson.Gson; +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonWriter; +import com.hbm.itempool.ItemPool; +import com.hbm.items.ModItems; +import com.hbm.main.MainRegistry; + +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.JsonToNBT; +import net.minecraft.nbt.NBTBase; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.WeightedRandomChestContent; + +public class ItemPoolConfigJSON { + + public static final Gson gson = new Gson(); + + public static void initialize() { + + //writes the defaults + ItemPool.initialize(); + + File folder = MainRegistry.configHbmDir; + + File config = new File(folder.getAbsolutePath() + File.separatorChar + "hbmItemPools.json"); + File template = new File(folder.getAbsolutePath() + File.separatorChar + "_hbmItemPools.json"); + + if(!config.exists()) { + writeDefault(template); + } else { + readConfig(config); + } + } + + private static void writeDefault(File file) { + + try { + JsonWriter writer = new JsonWriter(new FileWriter(file)); + writer.setIndent(" "); + writer.beginObject(); + writer.name("description").value("Format is as follows: First object is an array representing the itemstack in question, same rules apply here as they do for recipe configs but with one difference: Stacks accept NBT. NBT is contained in {curly brackets}, the format is the same as it is for the /give command. After the stack comes the minimum amount of items, then the maximum (the stack's own stacksize value is ignored). The final number is the weight, an item with a weight of 3 is 3x as likely to appear than an item with a weight of 1."); + writer.name("pools").beginObject(); + + for(Entry entry : ItemPool.pools.entrySet()) { + writer.name(entry.getKey()).beginArray(); + + for(WeightedRandomChestContent content : entry.getValue().pool) { + writer.setIndent(" "); + writer.beginArray(); + writer.setIndent(""); + writeItemStack(content.theItemId, writer); + writer.setIndent(""); + writer.value(content.theMinimumChanceToGenerateItem); + writer.value(content.theMaximumChanceToGenerateItem); + writer.value(content.itemWeight); + writer.endArray(); + } + + writer.setIndent(" "); + writer.endArray(); + } + + writer.endObject(); + writer.endObject(); + writer.close(); + } catch(IOException e) { + e.printStackTrace(); + } + } + + private static void readConfig(File file) { + HashMap newPools = new HashMap(); + try { + JsonObject json = gson.fromJson(new FileReader(file), JsonObject.class); + JsonObject pools = json.get("pools").getAsJsonObject(); + + for(Entry entry : pools.entrySet()) { + + String poolName = entry.getKey(); + ItemPool pool = new ItemPool(); + pool.name = poolName; + + for(JsonElement poolEntry : entry.getValue().getAsJsonArray()) { + JsonArray array = poolEntry.getAsJsonArray(); + ItemStack stack = readItemStack(array.get(0).getAsJsonArray()); + int min = array.get(1).getAsInt(); + int max = array.get(2).getAsInt(); + int weight = array.get(3).getAsInt(); + pool.add(stack, min, max, weight); + } + + pool.build(); + newPools.put(poolName, pool); + } + + ItemPool.pools = newPools; + + } catch(Exception ex) { + ex.printStackTrace(); + } + } + + public static void writeItemStack(ItemStack stack, JsonWriter writer) throws IOException { + writer.beginArray(); + writer.setIndent(""); + writer.value(Item.itemRegistry.getNameForObject(stack.getItem())); + if(stack.stackSize != 1 || stack.getItemDamage() != 0 || stack.hasTagCompound()) writer.value(stack.stackSize); + if(stack.getItemDamage() != 0 || stack.hasTagCompound()) writer.value(stack.getItemDamage()); + if(stack.hasTagCompound()) writer.value(stack.stackTagCompound.toString()); + writer.endArray(); + writer.setIndent(" "); + } + + public static ItemStack readItemStack(JsonArray array) { + try { + Item item = (Item) Item.itemRegistry.getObject(array.get(0).getAsString()); + int stacksize = array.size() > 1 ? array.get(1).getAsInt() : 1; + int meta = array.size() > 2 ? array.get(2).getAsInt() : 0; + if(item != null) { + ItemStack stack = new ItemStack(item, stacksize, meta); + if(array.size() > 3) { + String tag = array.get(3).getAsString(); + NBTBase nbt = JsonToNBT.func_150315_a(tag); + if(nbt instanceof NBTTagCompound) { + stack.stackTagCompound = (NBTTagCompound) nbt; + } + } + return stack; + } + } catch(Exception ex) { } + MainRegistry.logger.error("Error reading stack array " + array.toString() + " - defaulting to NOTHING item!"); + return new ItemStack(ModItems.nothing); + } +} diff --git a/src/main/java/com/hbm/config/MobConfig.java b/src/main/java/com/hbm/config/MobConfig.java index 8ce250f40..e777a25bc 100644 --- a/src/main/java/com/hbm/config/MobConfig.java +++ b/src/main/java/com/hbm/config/MobConfig.java @@ -30,14 +30,42 @@ public class MobConfig { public static boolean enableHives = true; public static int hiveSpawn = 256; - public static double scoutThreshold = 0.1; - public static double tier2Threshold = 1; - public static double tier3Threshold = 10; - public static double tier4Threshold = 50; - public static double tier5Threshold = 100; + public static double scoutThreshold = 5; + public static int scoutSwarmSpawnChance = 2; + public static boolean waypointDebug = false; + public static int largeHiveChance = 5; + public static int largeHiveThreshold = 30; + + public static int swarmCooldown = 120 * 20; + + public static int baseSwarmSize = 5; + public static double swarmScalingMult = 1.2; + public static int sootStep = 50; + + public static int[] glyphidChance = {50, -40, 0}; + public static int[] brawlerChance = {5, 35, 1}; + public static int[] bombardierChance = {20, -15, 1}; + public static int[] blasterChance = {-15, 40, 5}; + public static int[] diggerChance = {-15, 25, 5}; + public static int[] behemothChance = {-30, 45, 10}; + public static int[] brendaChance = {-50, 60, 20}; + public static int[] johnsonChance = {-50, 60, 50}; + public static double spawnMax = 50; + public static boolean enableInfestation = true; + public static double baseInfestChance = 5; public static double targetingThreshold = 1; - + + public static boolean rampantMode = false; + public static boolean rampantNaturalScoutSpawn = false; + public static double rampantScoutSpawnThresh = 14; + public static int rampantScoutSpawnChance = 600; + public static boolean scoutInitialSpawn = false; + public static boolean rampantExtendedTargetting = false; + public static boolean rampantDig = false; + public static boolean rampantGlyphidGuidance = false; + public static double rampantSmokeStackOverride = 0.4; + public static double pollutionMult = 3; public static void loadFromConfig(Configuration config) { @@ -69,12 +97,83 @@ public class MobConfig { enableHives = CommonConfig.createConfigBool(config, CATEGORY, "12.G00_enableHives", "Whether glyphid hives should spawn", true); hiveSpawn = CommonConfig.createConfigInt(config, CATEGORY, "12.G01_hiveSpawn", "The average amount of chunks per hive", 256); - scoutThreshold = CommonConfig.createConfigDouble(config, CATEGORY, "12.G02_scoutThreshold", "Minimum amount of soot for scouts to spawn", 0.1); - tier2Threshold = CommonConfig.createConfigDouble(config, CATEGORY, "12.G03_tier2Threshold", "Minimum amount of soot for tier 2 glyphids to spawn", 1); - tier3Threshold = CommonConfig.createConfigDouble(config, CATEGORY, "12.G04_tier3Threshold", "Minimum amount of soot for tier 3 glyphids to spawn", 10); - tier4Threshold = CommonConfig.createConfigDouble(config, CATEGORY, "12.G05_tier4Threshold", "Minimum amount of soot for tier 4 glyphids to spawn", 50); - tier5Threshold = CommonConfig.createConfigDouble(config, CATEGORY, "12.G06_tier5Threshold", "Minimum amount of soot for tier 5 glyphids to spawn", 100); + scoutThreshold = CommonConfig.createConfigDouble(config, CATEGORY, "12.G02_scoutThreshold", "Minimum amount of soot for scouts to spawn", 1); spawnMax = CommonConfig.createConfigDouble(config, CATEGORY, "12.G07_spawnMax", "Maximum amount of glyphids being able to exist at once through natural spawning", 50); targetingThreshold = CommonConfig.createConfigDouble(config, CATEGORY, "12.G08_targetingThreshold", "Minimum amount of soot required for glyphids' extended targeting range to activate", 1D); + + scoutSwarmSpawnChance = CommonConfig.createConfigInt(config, CATEGORY,"12.G10_scoutSwarmSpawn", "How likely are scouts to spawn in swarms, 1 in x chance format", 3); + + largeHiveChance = CommonConfig.createConfigInt(config, CATEGORY,"12.G11_largeHiveChance", "The chance for a large hive to spawn, formula: 1/x", 5); + largeHiveThreshold = CommonConfig.createConfigInt(config, CATEGORY,"12.G12_largeHiveThreshold", "The soot threshold for a large hive to spawn", 20); + + waypointDebug = CommonConfig.createConfigBool(config, CATEGORY,"12.G13_waypointDebug", "Allows glyphid waypoints to be seen, mainly used for debugging, also useful as an aid against them", false); + + //Infested structures + enableInfestation= CommonConfig.createConfigBool(config, CATEGORY, "12.I01_enableInfestation", "Whether structures infested with glyphids should spawn", true); + baseInfestChance = CommonConfig.createConfigDouble(config, CATEGORY, "12.I02_baseInfestChance", "The chance for infested structures to spawn", 5); + + //Glyphid spawn stuff + config.addCustomCategoryComment(CATEGORY, + "General Glyphid spawn logic configuration\n" + + "\n" + + "The first number is the base chance which applies at 0 soot,\n" + + "the second number is the modifier that applies with soot based on the formular below,\n" + + "the third number is a hard minimum of soot for this type to spawn.\n" + + "Negative base chances mean that glyphids won't spawn outright, negative modifiers mean that the type becomes less likely with higher soot.\n" + + "The formula for glyphid spawning chance is: (base chance + (modifier - modifier / max( (soot + 1)/3, 3 )))\n" + + "The formula for glyphid swarm scaling is: (baseSwarmSize * Math.max(swarmScalingMult * soot/sootStep, 1))"); + + + baseSwarmSize = CommonConfig.createConfigInt(config, CATEGORY, "12.GS01_baseSwarmSize", "The basic, soot-less swarm size", 5); + swarmScalingMult = CommonConfig.createConfigDouble(config, CATEGORY, "12.GS02_swarmScalingMult", "By how much should swarm size scale by per soot amount determined below", 1.2); + sootStep = CommonConfig.createConfigInt(config, CATEGORY, "12.GS03_sootStep", "The soot amount the above multiplier applies to the swarm size", 50); + swarmCooldown = CommonConfig.createConfigInt(config, CATEGORY, "12.GS04_swarmCooldown", "How often do glyphid swarms spawn, in seconds", 120) * 20; + + glyphidChance = CommonConfig.createConfigIntList(config, CATEGORY, "12.GC01_glyphidChance", "Base Spawn chance and soot modifier for a glyphid grunt", new int[]{50, -45, 0}); + brawlerChance = CommonConfig.createConfigIntList(config, CATEGORY, "12.GC02_brawlerChance", "Base Spawn chance and soot modifier for a glyphid brawler", new int[]{10, 30, 1}); + bombardierChance = CommonConfig.createConfigIntList(config, CATEGORY, "12.GC03_bombardierChance", "Base Spawn chance and soot modifier for a glyphid bombardier", new int[]{20, -15, 1}); + blasterChance = CommonConfig.createConfigIntList(config, CATEGORY, "12.GC04_blasterChance", "Base Spawn chance and soot modifier for a glyphid blaster", new int[]{-5, 40, 5}); + diggerChance = CommonConfig.createConfigIntList(config, CATEGORY, "12.GC05_diggerChance", "Base Spawn chance and soot modifier for a glyphid digger", new int[]{-15, 25, 5}); + behemothChance = CommonConfig.createConfigIntList(config, CATEGORY, "12.GC06_behemothChance", "Base Spawn chance and soot modifier for a glyphid behemoth", new int[]{-30, 45, 10}); + brendaChance = CommonConfig.createConfigIntList(config, CATEGORY, "12.GC07_brendaChance", "Base Spawn chance and soot modifier for a glyphid brenda", new int[]{-50, 60, 20}); + johnsonChance = CommonConfig.createConfigIntList(config, CATEGORY, "12.GC08_johnsonChance", "Base Spawn chance and soot modifier for Big Man Johnson", new int[]{-50, 60, 50}); + + String rampantDesc = "Rampant Mode changes glyphid behavior and spawning to be more aggressive, changes include:\n" + + "\n" + + "Glyphid Scouts will naturally spawn alongside normal mobs if soot levels are above a certain threshold\n" + + "Glyphids will always have the extended targetting enabled\n" + + "Glyphids can dig to waypoints\n" + + "The Glyphids will expand always toward your base\n" + + "Scouts will spawn from the start, making glyphids start expanding off the bat\n" + + "Smokestacks have reduced efficiency, only reducing soot by 40%\n"; + + config.addCustomCategoryComment(CATEGORY,rampantDesc); + + rampantMode = CommonConfig.createConfigBool(config, CATEGORY, "12.R01_rampantMode", "The main rampant mode toggle, enables all other features associated with it", false); + + config.addCustomCategoryComment(CATEGORY, "The individual features of rampant can be used regardless of whether the main rampant toggle is enabled or not"); + + rampantNaturalScoutSpawn = CommonConfig.createConfigBool(config, CATEGORY,"12.R02_rampantScoutSpawn", "Whether scouts should spawn natually in highly polluted chunks", false); + rampantScoutSpawnThresh = CommonConfig.createConfigDouble(config, CATEGORY, "12.R02.1_rampantScoutSpawnThresh", "How much soot is needed for scouts to naturally spawn", 20); + rampantScoutSpawnChance = CommonConfig.createConfigInt(config, CATEGORY, "12.R02.2_rampantScoutSpawnChance", "How often scouts naturally spawn per mob population, 1/x format, the bigger the number, the more uncommon the scouts", 600); + rampantExtendedTargetting = CommonConfig.createConfigBool(config, CATEGORY,"12.R03_rampantExtendedTargeting", "Whether Glyphids should have the extended targetting always enabled", false); + rampantDig = CommonConfig.createConfigBool(config, CATEGORY,"12.R04_rampantDig", "Whether Glyphids should be able to dig to waypoints", false); + rampantGlyphidGuidance = CommonConfig.createConfigBool(config, CATEGORY,"12.R05_rampantGlyphidGuidance", "Whether Glyphids should always expand toward a player's spawnpoint", false); + rampantSmokeStackOverride = CommonConfig.createConfigDouble(config, CATEGORY, "12.R06_rampantSmokeStackOverride", "How much should the smokestack multiply soot by when on rampant mode", 0.4); + scoutInitialSpawn = CommonConfig.createConfigBool(config, CATEGORY,"12.R07_scoutInitialSpawn", "Whether glyphid scouts should be able to spawn on the first swarm of a hive, causes glyphids to expand significantly faster", false); + pollutionMult = CommonConfig.createConfigDouble(config, CATEGORY, "12.R08_pollutionMult", "A multiplier for soot emitted, whether you want to increase or decrease it", 1); + + if(rampantMode){ + rampantNaturalScoutSpawn = true; + rampantExtendedTargetting = true; + rampantDig = true; + rampantGlyphidGuidance = true; + scoutSwarmSpawnChance = 1; + scoutThreshold = 0.1; + if(pollutionMult == 1) { + pollutionMult = 2; + } + RadiationConfig.sootFogThreshold *= pollutionMult; + } } } diff --git a/src/main/java/com/hbm/config/RadiationConfig.java b/src/main/java/com/hbm/config/RadiationConfig.java index 25be90304..83cf7a10d 100644 --- a/src/main/java/com/hbm/config/RadiationConfig.java +++ b/src/main/java/com/hbm/config/RadiationConfig.java @@ -31,6 +31,7 @@ public class RadiationConfig { public static double buffMobThreshold = 15D; public static double sootFogThreshold = 35D; public static double sootFogDivisor = 120D; + public static double smokeStackSootMult = 0.8; public static void loadFromConfig(Configuration config) { @@ -68,5 +69,6 @@ public class RadiationConfig { buffMobThreshold = CommonConfig.createConfigDouble(config, CATEGORY_POL, "POL_05_buffMobThreshold", "The amount of soot required to buff naturally spawning mobs", 15D); sootFogThreshold = CommonConfig.createConfigDouble(config, CATEGORY_POL, "POL_06_sootFogThreshold", "How much soot is required for smog to become visible", 35D); sootFogDivisor = CommonConfig.createConfigDouble(config, CATEGORY_POL, "POL_07_sootFogDivisor", "The divisor for smog, higher numbers will require more soot for the same smog density", 120D); + smokeStackSootMult = CommonConfig.createConfigDouble(config, CATEGORY_POL, "POL_08_smokeStackSootMult", "How much does smokestack multiply soot by, with decimal values reducing the soot", 0.8); } } diff --git a/src/main/java/com/hbm/config/StructureConfig.java b/src/main/java/com/hbm/config/StructureConfig.java index 9d6ad3cc0..944a7cbb0 100644 --- a/src/main/java/com/hbm/config/StructureConfig.java +++ b/src/main/java/com/hbm/config/StructureConfig.java @@ -8,7 +8,7 @@ import net.minecraftforge.common.config.Configuration; public class StructureConfig { - public static boolean enableStructures = true; + public static int enableStructures = 2; public static int structureMinChunks = 8; public static int structureMaxChunks = 24; @@ -18,7 +18,10 @@ public class StructureConfig { public static void loadFromConfig(Configuration config) { final String CATEGORY_STRUCTURES = CommonConfig.CATEGORY_STRUCTURES; - enableStructures = CommonConfig.createConfigBool(config, CATEGORY_STRUCTURES, "5.00_enableStructures", "Switch for whether structures using the MapGenStructure system spawn.", true); + + String unparsedStructureFlag = CommonConfig.createConfigString(config, CATEGORY_STRUCTURES, "5.00_enableStructures", "Flag for whether modern NTM structures will spawn. Valid values are true|false|flag - flag will respect the \"Generate Structures\" world flag.", "flag"); + + enableStructures = CommonConfig.parseStructureFlag(unparsedStructureFlag); structureMinChunks = CommonConfig.createConfigInt(config, CATEGORY_STRUCTURES, "5.01_structureMinChunks", "Minimum non-zero distance between structures in chunks (Settings lower than 8 may be problematic).", 8); structureMaxChunks = CommonConfig.createConfigInt(config, CATEGORY_STRUCTURES, "5.02_structureMaxChunks", "Maximum non-zero distance between structures in chunks.", 24); diff --git a/src/main/java/com/hbm/config/WeaponConfig.java b/src/main/java/com/hbm/config/WeaponConfig.java index 88c3dbdae..290641f86 100644 --- a/src/main/java/com/hbm/config/WeaponConfig.java +++ b/src/main/java/com/hbm/config/WeaponConfig.java @@ -15,6 +15,8 @@ public class WeaponConfig { public static boolean dropStar = true; public static boolean dropCrys = true; public static boolean dropDead = true; + + public static boolean linearAnimations = false; public static void loadFromConfig(Configuration config) { @@ -38,5 +40,9 @@ public class WeaponConfig { dropStar = CommonConfig.createConfigBool(config, CATEGORY_DROPS, "10.02_dropStar", "Whether rigged star blaster cells should explode when dropped", true); dropCrys = CommonConfig.createConfigBool(config, CATEGORY_DROPS, "10.04_dropCrys", "Whether xen crystals should move blocks when dropped", true); dropDead = CommonConfig.createConfigBool(config, CATEGORY_DROPS, "10.05_dropDead", "Whether dead man's explosives should explode when dropped", true); + + final String CATEGORY_WEAPONS = CommonConfig.CATEGORY_WEAPONS; + linearAnimations = CommonConfig.createConfigBool(config, CATEGORY_WEAPONS, "18.00_linearAnimations", "Should heavily stylised weapon animations be replaced with more conventional ones?", false); + } } diff --git a/src/main/java/com/hbm/config/WorldConfig.java b/src/main/java/com/hbm/config/WorldConfig.java index 46add586c..f3f3e51c9 100644 --- a/src/main/java/com/hbm/config/WorldConfig.java +++ b/src/main/java/com/hbm/config/WorldConfig.java @@ -39,6 +39,7 @@ public class WorldConfig { public static int bedrockChlorocalciteSpawn = 35; public static int bedrockAsbestosSpawn = 50; public static int bedrockNiobiumSpawn = 50; + public static int bedrockNeodymiumSpawn = 50; public static int bedrockTitaniumSpawn = 100; public static int bedrockTungstenSpawn = 100; public static int bedrockGoldSpawn = 50; @@ -48,6 +49,9 @@ public class WorldConfig { public static int bedrockNiterSpawn = 50; public static int bedrockFluoriteSpawn = 50; public static int bedrockRedstoneSpawn = 50; + public static int bedrockRareEarthSpawn = 50; + public static int bedrockBauxiteSpawn = 100; + public static int bedrockEmeraldSpawn = 50; public static int bedrockGlowstoneSpawn = 100; public static int bedrockPhosphorusSpawn = 50; public static int bedrockQuartzSpawn = 100; @@ -81,7 +85,6 @@ public class WorldConfig { public static int dungeonStructure = 64; public static int relayStructure = 500; public static int satelliteStructure = 500; - public static int siloStructure = 1000; public static int factoryStructure = 1000; public static int dudStructure = 500; public static int spaceshipStructure = 1000; @@ -107,6 +110,15 @@ public class WorldConfig { public static int meteorStrikeChance = 20 * 60 * 180; public static int meteorShowerChance = 20 * 60 * 5; public static int meteorShowerDuration = 6000; + + public static boolean enableCraterBiomes = true; + public static int craterBiomeId = 80; + public static int craterBiomeInnerId = 81; + public static int craterBiomeOuterId = 82; + public static float craterBiomeRad = 5F; + public static float craterBiomeInnerRad = 25F; + public static float craterBiomeOuterRad = 0.5F; + public static float craterBiomeWaterMult = 5F; public static void loadFromConfig(Configuration config) { @@ -157,6 +169,10 @@ public class WorldConfig { bedrockFluoriteSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B12_bedrockFluoriteWeight", "Spawn weight for fluorite bedrock ore", 50); bedrockRedstoneSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B13_bedrockRedstoneWeight", "Spawn weight for redstone bedrock ore", 50); bedrockChlorocalciteSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B14_bedrockChlorocalciteWeight", "Spawn weight for chlorocalcite bedrock ore", 35); + bedrockNeodymiumSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B15_bedrockNeodymiumWeight", "Spawn weight for neodymium bedrock ore", 50); + bedrockRareEarthSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B16_bedrockRareEarthWeight", "Spawn weight for rare earth bedrock ore", 50); + bedrockBauxiteSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B17_bedrockBauxiteWeight", "Spawn weight for bauxite bedrock ore", 100); + bedrockEmeraldSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B18_bedrockEmeraldWeight", "Spawn weight for emerald bedrock ore", 50); bedrockGlowstoneSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.BN00_bedrockGlowstoneWeight", "Spawn weight for glowstone bedrock ore", 100); bedrockPhosphorusSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.BN01_bedrockPhosphorusWeight", "Spawn weight for phosphorus bedrock ore", 50); @@ -191,7 +207,6 @@ public class WorldConfig { dungeonStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.04_dungeonSpawn", "Spawn library dungeon on every nTH chunk", 64); relayStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.05_relaySpawn", "Spawn relay on every nTH chunk", 500); satelliteStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.06_satelliteSpawn", "Spawn satellite dish on every nTH chunk", 500); - siloStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.08_siloSpawn", "Spawn missile silo on every nTH chunk", 1000); factoryStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.09_factorySpawn", "Spawn factory on every nTH chunk", 1000); dudStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.10_dudSpawn", "Spawn dud on every nTH chunk", 500); spaceshipStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.11_spaceshipSpawn", "Spawn spaceship on every nTH chunk", 1000); @@ -218,6 +233,16 @@ public class WorldConfig { meteorShowerChance = CommonConfig.createConfigInt(config, CATEGORY_METEOR, "5.04_meteorShowerChance", "The probability of a meteor spawning during meteor shower (an average of once every nTH ticks)", 20 * 60 * 15); meteorShowerDuration = CommonConfig.createConfigInt(config, CATEGORY_METEOR, "5.05_meteorShowerDuration", "Max duration of meteor shower in ticks", 20 * 60 * 30); + final String CATEGORY_BIOMES = CommonConfig.CATEGORY_BIOMES; + enableCraterBiomes = CommonConfig.createConfigBool(config, CATEGORY_BIOMES, "17.B_toggle", "Enables the biome change caused by nuclear explosions", true); + craterBiomeId = CommonConfig.createConfigInt(config, CATEGORY_BIOMES, "17.B00_craterBiomeId", "The numeric ID for the crater biome", 80); + craterBiomeInnerId = CommonConfig.createConfigInt(config, CATEGORY_BIOMES, "17.B01_craterBiomeInnerId", "The numeric ID for the inner crater biome", 81); + craterBiomeOuterId = CommonConfig.createConfigInt(config, CATEGORY_BIOMES, "17.B02_craterBiomeOuterId", "The numeric ID for the outer crater biome", 82); + craterBiomeRad = (float) CommonConfig.createConfigDouble(config, CATEGORY_BIOMES, "17.R00_craterBiomeRad", "RAD/s for the crater biome", 5D); + craterBiomeInnerRad = (float) CommonConfig.createConfigDouble(config, CATEGORY_BIOMES, "17.R01_craterBiomeInnerRad", "RAD/s for the inner crater biome", 25D); + craterBiomeOuterRad = (float) CommonConfig.createConfigDouble(config, CATEGORY_BIOMES, "17.R02_craterBiomeOuterRad", "RAD/s for the outer crater biome", 0.5D); + craterBiomeWaterMult = (float) CommonConfig.createConfigDouble(config, CATEGORY_BIOMES, "17.R03_craterBiomeWaterMult", "Multiplier for RAD/s in crater biomes when in water", 5D); + radioStructure = CommonConfig.setDefZero(radioStructure, 1000); antennaStructure = CommonConfig.setDefZero(antennaStructure, 1000); atomStructure = CommonConfig.setDefZero(atomStructure, 1000); @@ -225,7 +250,6 @@ public class WorldConfig { dungeonStructure = CommonConfig.setDefZero(dungeonStructure, 1000); relayStructure = CommonConfig.setDefZero(relayStructure, 1000); satelliteStructure = CommonConfig.setDefZero(satelliteStructure, 1000); - siloStructure = CommonConfig.setDefZero(siloStructure, 1000); factoryStructure = CommonConfig.setDefZero(factoryStructure, 1000); dudStructure = CommonConfig.setDefZero(dudStructure, 1000); spaceshipStructure = CommonConfig.setDefZero(spaceshipStructure, 1000); diff --git a/src/main/java/com/hbm/crafting/ArmorRecipes.java b/src/main/java/com/hbm/crafting/ArmorRecipes.java index 33d455ca6..eb356565b 100644 --- a/src/main/java/com/hbm/crafting/ArmorRecipes.java +++ b/src/main/java/com/hbm/crafting/ArmorRecipes.java @@ -84,7 +84,7 @@ public class ArmorRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.hev_plate, 1), new Object[] { "MPM", "IBI", "PPP", 'P', ModItems.plate_armor_hev, 'B', ModItems.titanium_plate, 'I', ANY_PLASTIC.ingot(), 'M', ModItems.motor_desh }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.hev_legs, 1), new Object[] { "MPM", "IBI", "P P", 'P', ModItems.plate_armor_hev, 'B', ModItems.titanium_legs, 'I', ANY_PLASTIC.ingot(), 'M', ModItems.motor_desh }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.hev_boots, 1), new Object[] { "P P", "PBP", 'P', ModItems.plate_armor_hev, 'B', ModItems.titanium_boots }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.fau_helmet, 1), new Object[] { "PWP", "PBP", "FSF", 'P', ModItems.plate_armor_fau, 'W', new ItemStack(Blocks.wool, 1, 14), 'B', ModItems.starmetal_helmet, 'F', ModItems.gas_mask_filter, 'S', ModItems.pipes_steel }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.fau_helmet, 1), new Object[] { "PWP", "PBP", "FSF", 'P', ModItems.plate_armor_fau, 'W', new ItemStack(Blocks.wool, 1, 14), 'B', ModItems.starmetal_helmet, 'F', ModItems.gas_mask_filter, 'S', STEEL.pipe() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.fau_plate, 1), new Object[] { "MCM", "PBP", "PSP", 'M', ModItems.motor_desh, 'C', ModItems.demon_core_closed, 'P', ModItems.plate_armor_fau, 'B', ModItems.starmetal_plate, 'S', ModBlocks.ancient_scrap }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.fau_legs, 1), new Object[] { "MPM", "PBP", "PDP", 'M', ModItems.motor_desh, 'P', ModItems.plate_armor_fau, 'B', ModItems.starmetal_legs, 'D', ModItems.billet_polonium }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.fau_boots, 1), new Object[] { "PDP", "PBP", 'P', ModItems.plate_armor_fau, 'D', ModItems.billet_polonium, 'B', ModItems.starmetal_boots }); @@ -124,8 +124,8 @@ public class ArmorRecipes { //Jetpacks CraftingManager.addRecipeAuto(new ItemStack(ModItems.jetpack_fly, 1), new Object[] { "ACA", "TLT", "D D", 'A', AL.plate(), 'C', ModItems.circuit_targeting_tier1, 'T', ModItems.tank_steel, 'L', Items.leather, 'D', ModItems.thruster_small }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.jetpack_break, 1), new Object[] { "ICI", "TJT", "I I", 'C', ModItems.circuit_targeting_tier2, 'T', ModItems.ingot_dura_steel, 'J', ModItems.jetpack_fly, 'I', ModItems.plate_polymer }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.jetpack_vector, 1), new Object[] { "TCT", "MJM", "B B", 'C', ModItems.circuit_targeting_tier3, 'T', ModItems.tank_steel, 'J', ModItems.jetpack_break, 'M', ModItems.motor, 'B', ModItems.bolt_dura_steel }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.jetpack_boost, 1), new Object[] { "PCP", "DJD", "PAP", 'C', ModItems.circuit_targeting_tier4, 'P', BIGMT.plate(), 'D', DESH.ingot(), 'J', ModItems.jetpack_vector, 'A', ModItems.board_copper }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.jetpack_vector, 1), new Object[] { "TCT", "MJM", "B B", 'C', ModItems.circuit_targeting_tier3, 'T', ModItems.tank_steel, 'J', ModItems.jetpack_break, 'M', ModItems.motor, 'B', DURA.bolt() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.jetpack_boost, 1), new Object[] { "PCP", "DJD", "PAP", 'C', ModItems.circuit_targeting_tier4, 'P', BIGMT.plate(), 'D', DESH.ingot(), 'J', ModItems.jetpack_vector, 'A', CU.plateCast() }); //Hazmat CraftingManager.addRecipeAuto(new ItemStack(ModItems.hazmat_helmet, 1), new Object[] { "EEE", "EIE", " P ", 'E', ModItems.hazmat_cloth, 'I', KEY_ANYPANE, 'P', IRON.plate() }); diff --git a/src/main/java/com/hbm/crafting/ConsumableRecipes.java b/src/main/java/com/hbm/crafting/ConsumableRecipes.java index caac98962..c5f5f700f 100644 --- a/src/main/java/com/hbm/crafting/ConsumableRecipes.java +++ b/src/main/java/com/hbm/crafting/ConsumableRecipes.java @@ -50,8 +50,8 @@ public class ConsumableRecipes { CraftingManager.addShapelessAuto(new ItemStack(ModItems.balefire_and_ham, 1), new Object[] { ModItems.balefire_scrambled, Items.cooked_beef }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.med_ipecac, 1), new Object[] { Items.glass_bottle, Items.nether_wart }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.med_ptsd, 1), new Object[] { ModItems.med_ipecac }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.pancake, 1), new Object[] { REDSTONE.dust(), DIAMOND.dust(), Items.wheat, ModItems.bolt_tungsten, ModItems.wire_copper, STEEL.plate() }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.pancake, 1), new Object[] { REDSTONE.dust(), EMERALD.dust(), Items.wheat, ModItems.bolt_tungsten, ModItems.wire_copper, STEEL.plate() }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.pancake, 1), new Object[] { REDSTONE.dust(), DIAMOND.dust(), Items.wheat, STEEL.bolt(), ModItems.wire_copper, STEEL.plate() }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.pancake, 1), new Object[] { REDSTONE.dust(), EMERALD.dust(), Items.wheat, STEEL.bolt(), ModItems.wire_copper, STEEL.plate() }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.chocolate_milk, 1), new Object[] { KEY_ANYPANE, new ItemStack(Items.dye, 1, 3), Items.milk_bucket, Fluids.NITROGLYCERIN.getDict(1_000) }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.loops), new Object[] { ModItems.flame_pony, Items.wheat, Items.sugar }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.loop_stew), new Object[] { ModItems.loops, ModItems.can_smart, Items.bowl }); @@ -75,7 +75,6 @@ public class ConsumableRecipes { CraftingManager.addShapelessAuto(new ItemStack(ModItems.mucho_mango, 1), new Object[] { Items.potionitem, Items.sugar, Items.sugar, KEY_ORANGE }); //Canteens - CraftingManager.addRecipeAuto(new ItemStack(ModItems.canteen_13, 1), new Object[] { "O", "P", 'O', Items.potionitem, 'P', STEEL.plate() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.canteen_vodka, 1), new Object[] { "O", "P", 'O', Items.potato, 'P', STEEL.plate() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.canteen_fab, 1), new Object[] { "VMV", "MVM", "VMV", 'V', ModItems.canteen_vodka, 'M', ModItems.powder_magic }); @@ -91,7 +90,6 @@ public class ConsumableRecipes { CraftingManager.addShapelessAuto(new ItemStack(ModItems.bottle2_fritz, 1), new Object[] { ModItems.bottle2_empty, Items.potionitem, Items.sugar, W.dust() }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.bottle2_korl_special, 1), new Object[] { ModItems.bottle2_empty, Items.potionitem, Items.sugar, CU.dust(), ST.dust() }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.bottle2_fritz_special, 1), new Object[] { ModItems.bottle2_empty, Items.potionitem, Items.sugar, W.dust(), TH232.dust() }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.bottle2_sunset, 1), new Object[] { ModItems.bottle2_empty, Items.potionitem, Items.sugar, GOLD.dust() }); //Syringes CraftingManager.addRecipeAuto(new ItemStack(ModItems.syringe_empty, 6), new Object[] { "P", "C", "B", 'B', Item.getItemFromBlock(Blocks.iron_bars), 'C', ModItems.cell_empty, 'P', IRON.plate() }); @@ -164,14 +162,15 @@ public class ConsumableRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.insert_polonium, 1), new Object[] { "DPD", "PSP", "DPD", 'D', ModItems.ducttape, 'P', IRON.plate(), 'S', PO210.block() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.insert_era, 1), new Object[] { "DPD", "PSP", "DPD", 'D', ModItems.ducttape, 'P', IRON.plate(), 'S', ModItems.ingot_semtex }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.insert_kevlar, 1), new Object[] { "KIK", "IDI", "KIK", 'K', ModItems.plate_kevlar, 'I', ANY_RUBBER.ingot(), 'D', ModItems.ducttape }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.insert_sapi, 1), new Object[] { "PKP", "DPD", "PKP", 'P', POLYMER.ingot(), 'K', ModItems.insert_kevlar, 'D', ModItems.ducttape }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.insert_esapi, 1), new Object[] { "PKP", "DSD", "PKP", 'P', POLYMER.ingot(), 'K', ModItems.insert_sapi, 'D', ModItems.ducttape, 'S', BIGMT.plate() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.insert_sapi, 1), new Object[] { "PKP", "DPD", "PKP", 'P', ANY_PLASTIC.ingot(), 'K', ModItems.insert_kevlar, 'D', ModItems.ducttape }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.insert_esapi, 1), new Object[] { "PKP", "DSD", "PKP", 'P', ANY_PLASTIC.ingot(), 'K', ModItems.insert_sapi, 'D', ModItems.ducttape, 'S', BIGMT.plate() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.insert_xsapi, 1), new Object[] { "PKP", "DSD", "PKP", 'P', ASBESTOS.ingot(), 'K', ModItems.insert_esapi, 'D', ModItems.ducttape, 'S', ModItems.ingot_meteorite_forged }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.insert_yharonite, 1), new Object[] { "YIY", "IYI", "YIY", 'Y', ModItems.billet_yharonite, 'I', ModItems.insert_du }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.australium_iii, 1), new Object[] { "WSW", "PAP", "SPS", 'S', STEEL.plateWelded(), 'P', ANY_PLASTIC.ingot(), 'A', AUSTRALIUM.ingot(), 'W', GOLD.wireDense() }); //Servos - CraftingManager.addRecipeAuto(new ItemStack(ModItems.servo_set, 1), new Object[] { "MBM", "PBP", "MBM", 'M', ModItems.motor, 'B', ModItems.bolt_tungsten, 'P', IRON.plate() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.servo_set_desh, 1), new Object[] { "MBM", "PSP", "MBM", 'M', ModItems.motor_desh, 'B', ModItems.bolt_dura_steel, 'P', ALLOY.plate(), 'S', ModItems.servo_set }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.servo_set, 1), new Object[] { "MBM", "PBP", "MBM", 'M', ModItems.motor, 'B', STEEL.bolt(), 'P', IRON.plate() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.servo_set_desh, 1), new Object[] { "MBM", "PSP", "MBM", 'M', ModItems.motor_desh, 'B', DURA.bolt(), 'P', ALLOY.plate(), 'S', ModItems.servo_set }); //Helmet Mods CraftingManager.addRecipeAuto(new ItemStack(ModItems.attachment_mask, 1), new Object[] { "DID", "IGI", " F ", 'D', ModItems.ducttape, 'I', ANY_RUBBER.ingot(), 'G', KEY_ANYPANE, 'F', IRON.plate() }); diff --git a/src/main/java/com/hbm/crafting/SmeltingRecipes.java b/src/main/java/com/hbm/crafting/SmeltingRecipes.java index e3da94819..8353cdcef 100644 --- a/src/main/java/com/hbm/crafting/SmeltingRecipes.java +++ b/src/main/java/com/hbm/crafting/SmeltingRecipes.java @@ -1,13 +1,14 @@ package com.hbm.crafting; import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.BlockEnums.EnumMeteorType; import com.hbm.blocks.generic.BlockNTMFlower.EnumFlowerType; import com.hbm.inventory.OreDictManager.DictFrame; import com.hbm.items.ModItems; import com.hbm.items.ItemEnums.EnumBriquetteType; +import com.hbm.items.ItemEnums.EnumChunkType; import com.hbm.items.ItemEnums.EnumCokeType; import com.hbm.items.ItemEnums.EnumPlantType; -import com.hbm.items.machine.ItemBattery; import com.hbm.items.special.ItemHot; import com.hbm.items.special.ItemBedrockOre.EnumBedrockOre; @@ -39,18 +40,15 @@ public class SmeltingRecipes { GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_beryllium), new ItemStack(ModItems.ingot_beryllium), 2.0F); GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_schrabidium), new ItemStack(ModItems.ingot_schrabidium), 128.0F); GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_nether_schrabidium), new ItemStack(ModItems.ingot_schrabidium), 256.0F); - GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_meteor_uranium), new ItemStack(ModItems.ingot_uranium, 2), 12.0F); - GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_meteor_thorium), new ItemStack(ModItems.ingot_th232, 2), 6.0F); - GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_meteor_titanium), new ItemStack(ModItems.ingot_titanium, 3), 6.0F); - GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_meteor_copper), new ItemStack(ModItems.ingot_copper, 3), 5.0F); - GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_meteor_tungsten), new ItemStack(ModItems.ingot_tungsten, 3), 12.0F); - GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_meteor_aluminium), new ItemStack(ModItems.ingot_aluminium, 3), 5.0F); - GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_meteor_lead), new ItemStack(ModItems.ingot_lead, 3), 6.0F); - GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_meteor_lithium), new ItemStack(ModItems.lithium), 20.0F); - GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_meteor_starmetal), new ItemStack(ModItems.ingot_starmetal), 50.0F); GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_cobalt), new ItemStack(ModItems.ingot_cobalt), 2.0F); GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_nether_cobalt), new ItemStack(ModItems.ingot_cobalt), 2.0F); + GameRegistry.addSmelting(DictFrame.fromOne(ModBlocks.ore_meteor, EnumMeteorType.IRON), new ItemStack(Items.iron_ingot, 16), 10.0F); + GameRegistry.addSmelting(DictFrame.fromOne(ModBlocks.ore_meteor, EnumMeteorType.COPPER), new ItemStack(ModItems.ingot_copper, 16), 10.0F); + GameRegistry.addSmelting(DictFrame.fromOne(ModBlocks.ore_meteor, EnumMeteorType.ALUMINIUM), new ItemStack(ModItems.ingot_aluminium, 16), 10.0F); + GameRegistry.addSmelting(DictFrame.fromOne(ModBlocks.ore_meteor, EnumMeteorType.RAREEARTH), DictFrame.fromOne(ModItems.chunk_ore, EnumChunkType.RARE, 16), 10.0F); + GameRegistry.addSmelting(DictFrame.fromOne(ModBlocks.ore_meteor, EnumMeteorType.COBALT), new ItemStack(ModItems.ingot_cobalt, 4), 10.0F); + GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_gneiss_iron), new ItemStack(Items.iron_ingot), 5.0F); GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_gneiss_gold), new ItemStack(Items.gold_ingot), 5.0F); GameRegistry.addSmelting(Item.getItemFromBlock(ModBlocks.ore_gneiss_uranium), new ItemStack(ModItems.ingot_uranium), 12.0F); @@ -177,8 +175,6 @@ public class SmeltingRecipes { GameRegistry.addSmelting(ModItems.ingot_meteorite_forged, ItemHot.heatUp(new ItemStack(ModItems.ingot_meteorite_forged)), 1.0F); GameRegistry.addSmelting(ModItems.blade_meteorite, ItemHot.heatUp(new ItemStack(ModItems.blade_meteorite)), 1.0F); GameRegistry.addSmelting(ModItems.meteorite_sword, ItemHot.heatUp(new ItemStack(ModItems.meteorite_sword_seared)), 1.0F); - - GameRegistry.addSmelting(ModItems.battery_steam, ItemBattery.getFullBattery(ModItems.battery_steam), 1.0F); GameRegistry.addSmelting(new ItemStack(ModItems.scrap_plastic, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ModItems.ingot_polymer), 0.1F); diff --git a/src/main/java/com/hbm/crafting/ToolRecipes.java b/src/main/java/com/hbm/crafting/ToolRecipes.java index 3ab160158..10e8ebba5 100644 --- a/src/main/java/com/hbm/crafting/ToolRecipes.java +++ b/src/main/java/com/hbm/crafting/ToolRecipes.java @@ -62,13 +62,14 @@ public class ToolRecipes { addShovel( DESH.ingot(), ModItems.desh_shovel); addHoe( DESH.ingot(), ModItems.desh_hoe); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.elec_sword, 1), new Object[] { "RPR", "RPR", " B ", 'P', ANY_PLASTIC.ingot(), 'D', DURA.ingot(), 'R', ModItems.bolt_dura_steel, 'M', ModItems.motor, 'B', ModItems.battery_lithium }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.elec_pickaxe, 1), new Object[] { "RDM", " PB", " P ", 'P', ANY_PLASTIC.ingot(), 'D', DURA.ingot(), 'R', ModItems.bolt_dura_steel, 'M', ModItems.motor, 'B', ModItems.battery_lithium }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.elec_axe, 1), new Object[] { " DP", "RRM", " PB", 'P', ANY_PLASTIC.ingot(), 'D', DURA.ingot(), 'R', ModItems.bolt_dura_steel, 'M', ModItems.motor, 'B', ModItems.battery_lithium }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.elec_shovel, 1), new Object[] { " P", "RRM", " B", 'P', ANY_PLASTIC.ingot(), 'D', DURA.ingot(), 'R', ModItems.bolt_dura_steel, 'M', ModItems.motor, 'B', ModItems.battery_lithium }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.elec_sword, 1), new Object[] { "RPR", "RPR", " B ", 'P', ANY_PLASTIC.ingot(), 'D', DURA.ingot(), 'R', DURA.bolt(), 'M', ModItems.motor, 'B', ModItems.battery_lithium }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.elec_pickaxe, 1), new Object[] { "RDM", " PB", " P ", 'P', ANY_PLASTIC.ingot(), 'D', DURA.ingot(), 'R', DURA.bolt(), 'M', ModItems.motor, 'B', ModItems.battery_lithium }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.elec_axe, 1), new Object[] { " DP", "RRM", " PB", 'P', ANY_PLASTIC.ingot(), 'D', DURA.ingot(), 'R', DURA.bolt(), 'M', ModItems.motor, 'B', ModItems.battery_lithium }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.elec_shovel, 1), new Object[] { " P", "RRM", " B", 'P', ANY_PLASTIC.ingot(), 'D', DURA.ingot(), 'R', DURA.bolt(), 'M', ModItems.motor, 'B', ModItems.battery_lithium }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.centri_stick, 1), new Object[] { ModItems.centrifuge_element, ModItems.energy_core, KEY_STICK }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.smashing_hammer, 1), new Object[] { "STS", "SPS", " P ", 'S', STEEL.block(), 'T', W.block(), 'P', ANY_PLASTIC.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.meteorite_sword, 1), new Object[] { " B", "GB ", "SG ", 'B', ModItems.blade_meteorite, 'G', GOLD.plate(), 'S', KEY_STICK }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.dwarven_pickaxe, 1), new Object[] { "CIC", " S ", " S ", 'C', CU.ingot(), 'I', IRON.ingot(), 'S', KEY_STICK }); //Drax CraftingManager.addRecipeAuto(new ItemStack(ModItems.drax, 1), new Object[] { "BDS", "CDC", "FMF", 'B', ModItems.starmetal_pickaxe, 'S', ModItems.starmetal_shovel, 'C', CO.ingot(), 'F', ModItems.fusion_core, 'D', DESH.ingot(), 'M', ModItems.motor_desh }); @@ -76,14 +77,21 @@ public class ToolRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.drax_mk3, 1), new Object[] { "ECE", "CDC", "SBS", 'E', ModBlocks.block_euphemium_cluster, 'C', ModItems.crystal_schrabidium, 'D', ModItems.drax_mk2, 'S', ModItems.circuit_targeting_tier6, 'B', ItemBattery.getFullBattery(ModItems.battery_spark) }); //Super pickaxes - CraftingManager.addRecipeAuto(new ItemStack(ModItems.bismuth_pickaxe, 1), new Object[] { " BM", "BPB", "TB ", 'B', ModItems.ingot_bismuth, 'M', ModItems.ingot_meteorite, 'P', ModItems.starmetal_pickaxe, 'T', ModItems.bolt_tungsten }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.volcanic_pickaxe, 1), new Object[] { " BM", "BPB", "TB ", 'B', ModItems.gem_volcanic, 'M', ModItems.ingot_meteorite, 'P', ModItems.starmetal_pickaxe, 'T', ModItems.bolt_tungsten }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.chlorophyte_pickaxe, 1), new Object[] { " SD", "APS", "FA ", 'S', ModItems.blades_steel, 'D', ModItems.powder_chlorophyte, 'A', FIBER.ingot(), 'P', ModItems.bismuth_pickaxe, 'F', ModItems.bolt_dura_steel }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.chlorophyte_pickaxe, 1), new Object[] { " SD", "APS", "FA ", 'S', ModItems.blades_steel, 'D', ModItems.powder_chlorophyte, 'A', FIBER.ingot(), 'P', ModItems.volcanic_pickaxe, 'F', ModItems.bolt_dura_steel }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.bismuth_pickaxe, 1), new Object[] { " BM", "BPB", "TB ", 'B', ModItems.ingot_bismuth, 'M', ModItems.ingot_meteorite, 'P', ModItems.starmetal_pickaxe, 'T', W.bolt() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.volcanic_pickaxe, 1), new Object[] { " BM", "BPB", "TB ", 'B', ModItems.gem_volcanic, 'M', ModItems.ingot_meteorite, 'P', ModItems.starmetal_pickaxe, 'T', W.bolt() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.chlorophyte_pickaxe, 1), new Object[] { " SD", "APS", "FA ", 'S', ModItems.blades_steel, 'D', ModItems.powder_chlorophyte, 'A', FIBER.ingot(), 'P', ModItems.bismuth_pickaxe, 'F', DURA.bolt() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.chlorophyte_pickaxe, 1), new Object[] { " SD", "APS", "FA ", 'S', ModItems.blades_steel, 'D', ModItems.powder_chlorophyte, 'A', FIBER.ingot(), 'P', ModItems.volcanic_pickaxe, 'F', DURA.bolt() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.mese_pickaxe, 1), new Object[] { " SD", "APS", "FA ", 'S', ModItems.blades_desh, 'D', ModItems.powder_dineutronium, 'A', ModItems.plate_paa, 'P', ModItems.chlorophyte_pickaxe, 'F', ModItems.shimmer_handle }); + //Super Axes + CraftingManager.addRecipeAuto(new ItemStack(ModItems.bismuth_axe, 1), new Object[] { " BM", "BPB", "TB ", 'B', ModItems.ingot_bismuth, 'M', ModItems.ingot_meteorite, 'P', ModItems.starmetal_axe, 'T', W.bolt() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.volcanic_axe, 1), new Object[] { " BM", "BPB", "TB ", 'B', ModItems.gem_volcanic, 'M', ModItems.ingot_meteorite, 'P', ModItems.starmetal_axe, 'T', W.bolt() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.chlorophyte_axe, 1), new Object[] { " SD", "APS", "FA ", 'S', ModItems.blades_steel, 'D', ModItems.powder_chlorophyte, 'A', FIBER.ingot(), 'P', ModItems.bismuth_axe, 'F', DURA.bolt() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.chlorophyte_axe, 1), new Object[] { " SD", "APS", "FA ", 'S', ModItems.blades_steel, 'D', ModItems.powder_chlorophyte, 'A', FIBER.ingot(), 'P', ModItems.volcanic_axe, 'F', DURA.bolt() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.mese_axe, 1), new Object[] { " SD", "APS", "FA ", 'S', ModItems.blades_desh, 'D', ModItems.powder_dineutronium, 'A', ModItems.plate_paa, 'P', ModItems.chlorophyte_axe, 'F', ModItems.shimmer_handle }); + //Chainsaws - CraftingManager.addRecipeAuto(ItemToolAbilityFueled.getEmptyTool(ModItems.chainsaw), new Object[] { "CCH", "BBP", "CCE", 'H', ModItems.hull_small_steel, 'B', ModItems.blades_steel, 'P', ModItems.piston_selenium, 'C', ModBlocks.chain, 'E', ModItems.canister_empty }); + CraftingManager.addRecipeAuto(ItemToolAbilityFueled.getEmptyTool(ModItems.chainsaw), new Object[] { "CCH", "BBP", "CCE", 'H', STEEL.shell(), 'B', ModItems.blades_steel, 'P', ModItems.piston_selenium, 'C', ModBlocks.chain, 'E', ModItems.canister_empty }); //Misc CraftingManager.addRecipeAuto(new ItemStack(ModItems.euphemium_stopper, 1), new Object[] { "I", "S", "S", 'I', EUPH.ingot(), 'S', KEY_STICK }); @@ -104,8 +112,8 @@ public class ToolRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.bat, 1), new Object[] { "P", "P", "S", 'S', STEEL.plate(), 'P', KEY_PLANKS }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.bat_nail, 1), new Object[] { ModItems.bat, STEEL.plate() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.golf_club, 1), new Object[] { "IP", " P", " P", 'P', STEEL.plate(), 'I', STEEL.ingot() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.pipe_rusty, 1), new Object[] { "II", " I", " I", 'I', IRON.ingot() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.pipe_lead, 1), new Object[] { "II", " I", " I", 'I', PB.ingot() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.pipe_rusty, 1), new Object[] { "II", " I", " I", 'I', IRON.pipe() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.pipe_lead, 1), new Object[] { "II", " I", " I", 'I', PB.pipe() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ullapool_caber, 1), new Object[] { "ITI", " S ", " S ", 'I', IRON.plate(), 'T', Blocks.tnt, 'S', KEY_STICK }); //Utility @@ -124,9 +132,16 @@ public class ToolRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.pollution_detector, 1), new Object[] { "SFS", "SCS", " S ", 'S', STEEL.plate(), 'F', ModItems.filter_coal, 'C', ModItems.circuit_copper }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.defuser, 1), new Object[] { " PS", "P P", " P ", 'P', ANY_PLASTIC.ingot(), 'S', STEEL.plate() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.coltan_tool, 1), new Object[] { "ACA", "CXC", "ACA", 'A', ALLOY.ingot(), 'C', CINNABAR.crystal(), 'X', Items.compass }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.reacher, 1), new Object[] { "BIB", "P P", "B B", 'B', ModItems.bolt_tungsten, 'I', W.ingot(), 'P', ANY_RUBBER.ingot() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.reacher, 1), new Object[] { "BIB", "P P", "B B", 'B', W.bolt(), 'I', W.ingot(), 'P', ANY_RUBBER.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.bismuth_tool, 1), new Object[] { "TBT", "SRS", "SCS", 'T', TA.nugget(), 'B', ModItems.nugget_bismuth, 'S', ANY_RESISTANTALLOY.ingot(), 'R', ModItems.reacher, 'C', ModItems.circuit_aluminium }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.sat_designator, 1), new Object[] { "RRD", "PIC", " P", 'P', GOLD.plate(), 'R', Items.redstone, 'C', ModItems.circuit_gold, 'D', ModItems.sat_chip, 'I', GOLD.ingot() }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.sat_relay), new Object[] { ModItems.sat_chip, ModItems.ducttape, ModItems.radar_linker }); + + CraftingManager.addRecipeAuto(new ItemStack(ModItems.pipette, 1), new Object[] { " L", " G ", "G ", 'L', ANY_RUBBER.ingot(), 'G', KEY_CLEARGLASS}); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.pipette_boron, 1), new Object[] { " P", " B ", "B ", 'P', RUBBER.ingot(), 'B', ModBlocks.glass_boron}); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.pipette_laboratory, 1), new Object[] { " C", " R ", "P ", 'C', ModItems.circuit_aluminium, 'R', RUBBER.ingot(), 'P', ModItems.pipette_boron }); + + CraftingManager.addRecipeAuto(new ItemStack(ModItems.siphon, 1), new Object[] { " GR", " GR", " G ", 'G', KEY_CLEARGLASS, 'R', ANY_RUBBER.ingot()}); CraftingManager.addRecipeAuto(new ItemStack(ModItems.mirror_tool), new Object[] { " A ", " IA", "I ", 'A', AL.ingot(), 'I', IRON.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.rbmk_tool), new Object[] { " A ", " IA", "I ", 'A', PB.ingot(), 'I', IRON.ingot() }); @@ -143,7 +158,7 @@ public class ToolRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.chemistry_set_boron), new Object[] { "GIG", "GCG", 'G', ModBlocks.glass_boron, 'I', STEEL.ingot(), 'C', CO.ingot() }); CraftingManager.addRecipeAuto(ItemBlowtorch.getEmptyTool(ModItems.blowtorch), new Object[] { "CC ", " I ", "CCC", 'C', CU.plate528(), 'I', IRON.ingot() }); CraftingManager.addRecipeAuto(ItemBlowtorch.getEmptyTool(ModItems.acetylene_torch), new Object[] { "SS ", " PS", " T ", 'S', STEEL.plate528(), 'P', ANY_PLASTIC.ingot(), 'T', ModItems.tank_steel }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.boltgun), new Object[] { "DPS", " RD", " D ", 'D', DURA.ingot(), 'P', DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_PNEUMATIC), 'R', RUBBER.ingot(), 'S', ModItems.hull_small_steel }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.boltgun), new Object[] { "DPS", " RD", " D ", 'D', DURA.ingot(), 'P', DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_PNEUMATIC), 'R', RUBBER.ingot(), 'S', STEEL.shell() }); //Bobmazon CraftingManager.addShapelessAuto(new ItemStack(ModItems.bobmazon_materials), new Object[] { Items.book, Items.gold_nugget, Items.string }); diff --git a/src/main/java/com/hbm/crafting/WeaponRecipes.java b/src/main/java/com/hbm/crafting/WeaponRecipes.java index 0ed6e8a9c..96222fc06 100644 --- a/src/main/java/com/hbm/crafting/WeaponRecipes.java +++ b/src/main/java/com/hbm/crafting/WeaponRecipes.java @@ -30,10 +30,8 @@ public class WeaponRecipes { CraftingManager.addShapelessAuto(new ItemStack(ModItems.missile_taint, 1), new Object[] { ModItems.missile_assembly, ModItems.bucket_mud, ModItems.powder_spark_mix, ModItems.powder_magic }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.missile_micro, 1), new Object[] { ModItems.missile_assembly, ModItems.ducttape, ModItems.ammo_nuke.stackFromEnum(AmmoFatman.HIGH) }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.missile_bhole, 1), new Object[] { ModItems.missile_assembly, ModItems.ducttape, ModItems.grenade_black_hole }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.missile_schrabidium, 1), new Object[] { ModItems.missile_assembly, ModItems.ducttape, ModItems.grenade_aschrab }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.missile_schrabidium, 1), new Object[] { ModItems.missile_assembly, ModItems.ducttape, ModItems.cell_sas3, ModItems.circuit_targeting_tier4 }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.missile_emp, 1), new Object[] { ModItems.missile_assembly, ModItems.ducttape, ModBlocks.emp_bomb, ModItems.circuit_targeting_tier3 }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.missile_anti_ballistic, 1), new Object[] { ModItems.missile_generic, ModItems.circuit_targeting_tier3 }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.missile_schrabidium, 1), new Object[] { ModItems.missile_assembly, ModItems.ducttape, ModItems.cell_anti_schrabidium, ANY_HARDPLASTIC.ingot() }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.missile_emp, 1), new Object[] { ModItems.missile_assembly, ModItems.ducttape, ModBlocks.emp_bomb }); //Missile fins CraftingManager.addRecipeAuto(new ItemStack(ModItems.mp_stability_10_flat, 1), new Object[] { "PSP", "P P", 'P', STEEL.plate(), 'S', ModBlocks.steel_scaffold }); @@ -43,7 +41,7 @@ public class WeaponRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.mp_stability_15_thin, 1), new Object[] { "A A", "PSP", "PSP", 'A', AL.plate(), 'P', STEEL.plate(), 'S', ModBlocks.steel_scaffold }); //Missile thrusters - CraftingManager.addRecipeAuto(new ItemStack(ModItems.mp_thruster_15_balefire_large_rad, 1), new Object[] { "CCC", "CTC", "CCC", 'C', ModItems.board_copper, 'T', ModItems.mp_thruster_15_balefire_large }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.mp_thruster_15_balefire_large_rad, 1), new Object[] { "CCC", "CTC", "CCC", 'C', CU.plateCast(), 'T', ModItems.mp_thruster_15_balefire_large }); //Missile fuselages CraftingManager.addRecipeAuto(new ItemStack(ModItems.mp_fuselage_10_kerosene_insulation, 1), new Object[] { "CCC", "CTC", "CCC", 'C', ANY_RUBBER.ingot(), 'T', ModItems.mp_fuselage_10_kerosene }); @@ -71,12 +69,12 @@ public class WeaponRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.turret_sentry, 1), new Object[] { "PPL", " MD", " SC", 'P', STEEL.plate(), 'M', ModItems.motor, 'L', ModItems.mechanism_rifle_1, 'S', ModBlocks.steel_scaffold, 'C', ModItems.circuit_red_copper, 'D', ModItems.crt_display }); //Guns - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_rpg, 1), new Object[] { "SSW", " MW", 'S', ModItems.hull_small_steel, 'W', IRON.plate(), 'M', ModItems.mechanism_launcher_1 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_panzerschreck, 1), new Object[] { "SSS", " MW", 'S', ModItems.hull_small_steel, 'W', CU.plate(), 'M', ModItems.mechanism_launcher_1 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_karl, 1), new Object[] { "SSW", " MW", 'S', ModItems.hull_small_steel, 'W', ALLOY.plate(), 'M', ModItems.mechanism_launcher_2 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_quadro, 1), new Object[] { "SSS", "SSS", "CM ", 'S', ModItems.hull_small_steel, 'C', ModItems.circuit_targeting_tier3, 'M', ModItems.mechanism_launcher_2 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_hk69, 1), new Object[] { "SSI", " MB", 'S', ModItems.hull_small_steel, 'I', IRON.ingot(), 'M', ModItems.mechanism_launcher_1, 'B', ModItems.bolt_tungsten }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_congolake, 1), new Object[] { "HHR", "WLW", 'H', ModItems.hull_small_aluminium, 'R', ModItems.mechanism_rifle_1, 'W', KEY_LOG, 'L', ModItems.mechanism_launcher_1 }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_rpg, 1), new Object[] { "SSW", " MW", 'S', STEEL.shell(), 'W', IRON.plate(), 'M', ModItems.mechanism_launcher_1 }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_panzerschreck, 1), new Object[] { "SSS", " MW", 'S', STEEL.shell(), 'W', CU.plate(), 'M', ModItems.mechanism_launcher_1 }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_karl, 1), new Object[] { "SSW", " MW", 'S', STEEL.shell(), 'W', ALLOY.plate(), 'M', ModItems.mechanism_launcher_2 }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_quadro, 1), new Object[] { "SSS", "SSS", "CM ", 'S', STEEL.pipe(), 'C', ModItems.circuit_targeting_tier3, 'M', ModItems.mechanism_launcher_2 }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_hk69, 1), new Object[] { "SSI", " MB", 'S', STEEL.shell(), 'I', IRON.ingot(), 'M', ModItems.mechanism_launcher_1, 'B', STEEL.bolt() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_congolake, 1), new Object[] { "HHR", "WLW", 'H', AL.shell(), 'R', ModItems.mechanism_rifle_1, 'W', KEY_LOG, 'L', ModItems.mechanism_launcher_1 }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_stinger, 1), new Object[] { "SSW", "CMW", 'S', STEEL.plate(), 'W', TI.plate(), 'C', ModItems.circuit_red_copper, 'M', ModItems.mechanism_launcher_2 }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_stinger_rocket, 4), new Object[] { "SS ", "STI", " IR", 'S', STEEL.plate(), 'T', Item.getItemFromBlock(Blocks.tnt), 'I', AL.plate(), 'R', REDSTONE.dust() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_revolver, 1), new Object[] { "SSM", " RW", 'S', STEEL.plate(), 'W', KEY_PLANKS, 'R', ModItems.wire_aluminium, 'M', ModItems.mechanism_revolver_1 }); @@ -88,22 +86,22 @@ public class WeaponRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_revolver_blackjack, 1), new Object[] { "SSP", " TI", 'S', STEEL.plate(), 'P', ModItems.mechanism_revolver_2, 'T', ModItems.wire_tungsten, 'I', KEY_PLANKS }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_revolver_silver, 1), new Object[] { "SSP", " TI", 'S', AL.plate(), 'P', ModItems.mechanism_revolver_2, 'T', ModItems.wire_tungsten, 'I', KEY_PLANKS }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_revolver_red, 1), new Object[] { "R ", " B", 'R', ModItems.key_red, 'B', ModItems.gun_revolver_blackjack }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_deagle, 1), new Object[] { "PPM", " BI", 'P', STEEL.plate(), 'B', ModItems.bolt_tungsten, 'I', ANY_PLASTIC.ingot(), 'M', ModItems.mechanism_rifle_1 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_uac_pistol, 1), new Object[] { "IIM", " BI", 'B', ModItems.bolt_dura_steel, 'I', ANY_PLASTIC.ingot(), 'M', ModItems.mechanism_rifle_1 }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_deagle, 1), new Object[] { "PPM", " BI", 'P', STEEL.plate(), 'B', STEEL.bolt(), 'I', ANY_PLASTIC.ingot(), 'M', ModItems.mechanism_rifle_1 }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_uac_pistol, 1), new Object[] { "IIM", " BI", 'B', DURA.bolt(), 'I', ANY_PLASTIC.ingot(), 'M', ModItems.mechanism_rifle_1 }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_revolver_cursed, 1), new Object[] { "TTM", "SRI", 'S', STEEL.plate(), 'I', STEEL.ingot(), 'R', ModItems.wire_red_copper, 'T', TI.plate(), 'M', ModItems.mechanism_revolver_2 }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_revolver_nightmare, 1), new Object[] { "SEM", " RW", 'S', STEEL.plate(), 'W', KEY_PLANKS, 'R', ModItems.wire_aluminium, 'E', ModItems.powder_power, 'M', ModItems.mechanism_revolver_2 }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_revolver_nightmare2, 1), new Object[] { "SSM", "RRW", 'S', OreDictManager.getReflector(), 'W', W.ingot(), 'R', ModItems.wire_gold, 'M', ModItems.mechanism_special }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_bio_revolver, 1), new Object[] { "SSM", "BTW", 'S', STEEL.plate(), 'M', ModItems.mechanism_revolver_2, 'B', B.ingot(), 'T', ModItems.bolt_tungsten, 'W', KEY_LOG }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_chemthrower, 1), new Object[] { "RWC", "HHT", "RLC", 'R', RUBBER.ingot(), 'W', ModItems.wrench, 'C', CU.plate(), 'H', ModItems.hull_small_steel, 'T', ModItems.tank_steel, 'L', ModItems.mechanism_launcher_2 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_fatman, 1), new Object[] { "SSI", "IIM", "WPH", 'S', STEEL.plate(), 'I', STEEL.ingot(), 'W', ModItems.wire_aluminium, 'H', ModItems.hull_small_steel, 'P', Item.getItemFromBlock(Blocks.piston), 'M', ModItems.mechanism_launcher_2 }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_bio_revolver, 1), new Object[] { "SSM", "BTW", 'S', STEEL.plate(), 'M', ModItems.mechanism_revolver_2, 'B', B.ingot(), 'T', W.bolt(), 'W', KEY_LOG }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_chemthrower, 1), new Object[] { "RWC", "HHT", "RLC", 'R', RUBBER.ingot(), 'W', ModItems.wrench, 'C', CU.plate(), 'H', STEEL.shell(), 'T', ModItems.tank_steel, 'L', ModItems.mechanism_launcher_2 }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_fatman, 1), new Object[] { "SSI", "IIM", "WPH", 'S', STEEL.plate(), 'I', STEEL.ingot(), 'W', ModItems.wire_aluminium, 'H', STEEL.shell(), 'P', Item.getItemFromBlock(Blocks.piston), 'M', ModItems.mechanism_launcher_2 }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_mirv, 1), new Object[] { "LLL", "WFW", "SSS", 'S', STEEL.plate(), 'L', PB.plate(), 'W', ModItems.wire_gold, 'F', ModItems.gun_fatman }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_proto, 1), new Object[] { "LLL", "WFW", "SSS", 'S', ANY_RUBBER.ingot(), 'L', ModItems.plate_desh, 'W', ModItems.wire_tungsten, 'F', ModItems.gun_fatman }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_nuke, 1, AmmoFatman.BALEFIRE.ordinal()), new Object[] { " S ", "EBE", " S ", 'S', ModItems.hull_small_steel, 'E', ModItems.powder_power, 'B', ModItems.egg_balefire_shard }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_mp40, 1), new Object[] { "IIM", " SW", " S ", 'S', STEEL.plate(), 'I', STEEL.ingot(), 'W', KEY_PLANKS, 'M', ModItems.mechanism_rifle_2 }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_nuke, 1, AmmoFatman.BALEFIRE.ordinal()), new Object[] { " S ", "EBE", " S ", 'S', STEEL.shell(), 'E', ModItems.powder_power, 'B', ModItems.egg_balefire_shard }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_mp40, 1), new Object[] { "IIM", " SW", " S ", 'S', STEEL.plate(), 'I', STEEL.ingot(), 'W', KEY_PLANKS, 'M', ModItems.mechanism_rifle_1 }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_thompson, 1), new Object[] { "IIM", " SW", " S ", 'S', IRON.plate(), 'I', STEEL.plate(), 'W', KEY_PLANKS, 'M', ModItems.mechanism_rifle_2 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_flechette, 1), new Object[] { "PPM", "TIS", "G ", 'P', STEEL.plate(), 'M', ModItems.mechanism_rifle_2, 'T', ModItems.hull_small_steel, 'I', STEEL.ingot(), 'S', ANY_PLASTIC.ingot(), 'G', ModItems.mechanism_launcher_1 }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_flechette, 1), new Object[] { "PPM", "TIS", "G ", 'P', STEEL.plate(), 'M', ModItems.mechanism_rifle_2, 'T', STEEL.shell(), 'I', STEEL.ingot(), 'S', ANY_PLASTIC.ingot(), 'G', ModItems.mechanism_launcher_1 }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_uboinik, 1), new Object[] { "IIM", "SPW", 'P', STEEL.plate(), 'I', STEEL.ingot(), 'W', KEY_PLANKS, 'S', KEY_STICK, 'M', ModItems.mechanism_revolver_2 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_supershotgun, 1), new Object[] { "BBM", "BBM", "AWL", 'B', ModItems.hull_small_steel, 'M', ModItems.mechanism_rifle_2, 'A', ModItems.plate_dalekanium, 'W', ModItems.wire_gold, 'L', KEY_LOG }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_supershotgun, 1), new Object[] { "BBM", "BBM", "AWL", 'B', STEEL.pipe(), 'M', ModItems.mechanism_rifle_2, 'A', ModItems.plate_dalekanium, 'W', ModItems.wire_gold, 'L', KEY_LOG }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_ks23, 1), new Object[] { "PPM", "SWL", 'P', STEEL.plate(), 'M', ModItems.mechanism_rifle_1, 'S', KEY_STICK, 'W', ModItems.wire_tungsten, 'L', KEY_LOG }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.gun_sauer, 1), new Object[] { ModItems.ducttape, ModItems.gun_ks23, Blocks.lever, ModItems.gun_ks23 }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_xvl1456, 1), new Object[] { "PBB", "ACC", "PRY", 'P', STEEL.plate(), 'R', ModItems.redcoil_capacitor, 'A', ModItems.coil_advanced_alloy, 'B', ModItems.battery_generic, 'C', ModItems.coil_advanced_torus, 'Y', ModItems.mechanism_special }); @@ -118,7 +116,7 @@ public class WeaponRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_immolator_ammo, 16), new Object[] { "SPS", "PCP", "SPS", 'S', STEEL.plate(), 'C', COAL.dust(), 'P', P_RED.dust() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_immolator_ammo, 16), new Object[] { " F ", "SFS", " F ", 'S', STEEL.plate(), 'F', Fluids.DIESEL.getDict(1000) }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_immolator_ammo, 24), new Object[] { " F ", "SFS", " F ", 'S', STEEL.plate(), 'F', ModItems.canister_napalm }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_flamer, 1), new Object[] { "WPP", "SCT", "WMI", 'W', ModItems.wire_gold, 'P', ModItems.pipes_steel, 'S', ModItems.hull_small_steel, 'C', ModItems.coil_tungsten, 'T', ModItems.tank_steel, 'M', ModItems.mechanism_launcher_1, 'I', STEEL.ingot() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_flamer, 1), new Object[] { "WSS", "SCT", "WMI", 'W', ModItems.wire_gold, 'S', STEEL.pipe(), 'C', ModItems.coil_tungsten, 'T', ModItems.tank_steel, 'M', ModItems.mechanism_launcher_1, 'I', STEEL.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_cryolator, 1), new Object[] { "SSS", "IWL", "LMI", 'S', STEEL.plate(), 'I', IRON.plate(), 'L', Items.leather, 'M', ModItems.mechanism_launcher_1, 'W', ModItems.wire_aluminium }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_cryolator_ammo, 16), new Object[] { "SPS", "PCP", "SPS", 'S', STEEL.plate(), 'C', KNO.dust(), 'P', Items.snowball }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_cryolator_ammo, 16), new Object[] { " F ", "SFS", " F ", 'S', STEEL.plate(), 'F', ModItems.powder_ice }); @@ -144,23 +142,22 @@ public class WeaponRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_b93), new Object[] { "PCE", "SEB", "PCE", 'P', ModItems.plate_dineutronium, 'C', ModItems.weaponized_starblaster_cell, 'E', ModItems.component_emitter, 'B', ModItems.gun_b92, 'S', ModItems.singularity_spark }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_b92_ammo, 1), new Object[] { "PSP", "ESE", "PSP", 'P', STEEL.plate(), 'S', STAR.ingot(), 'E', ModItems.powder_spark_mix }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.weaponized_starblaster_cell, 1), new Object[] { new ItemStack(ModItems.fluid_tank_full, 1, Fluids.ACID.getID()), GunB92Cell.getFullCell(), ModItems.wire_copper }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_uzi, 1), new Object[] { "SMS", " PB", " P ", 'S', STEEL.ingot(), 'M', ModItems.mechanism_rifle_2, 'P', STEEL.plate(), 'B', ModItems.bolt_dura_steel }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_uzi, 1), new Object[] { "SMS", " PB", " P ", 'S', STEEL.ingot(), 'M', ModItems.mechanism_rifle_2, 'P', STEEL.plate(), 'B', DURA.bolt() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_uzi_silencer, 1), new Object[] { "P ", " P ", " U", 'P', ANY_PLASTIC.ingot(), 'U', ModItems.gun_uzi }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_uzi_saturnite, 1), new Object[] { "SMS", " PB", " P ", 'S', BIGMT.ingot(), 'M', ModItems.mechanism_rifle_2, 'P', BIGMT.plate(), 'B', ModItems.bolt_tungsten }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_uzi_saturnite, 1), new Object[] { "SMS", " PB", " P ", 'S', BIGMT.ingot(), 'M', ModItems.mechanism_rifle_2, 'P', BIGMT.plate(), 'B', W.bolt() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_uzi_saturnite_silencer, 1), new Object[] { "P ", " P ", " U", 'P', ANY_PLASTIC.ingot(), 'U', ModItems.gun_uzi_saturnite }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_bolter, 1), new Object[] { "SSM", "PIP", " I ", 'S', BIGMT.plate(), 'I', BIGMT.ingot(), 'M', ModItems.mechanism_special, 'P', ANY_PLASTIC.ingot() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_calamity, 1), new Object[] { " PI", "BBM", " PI", 'P', IRON.plate(), 'B', ModItems.pipes_steel, 'M', ModItems.mechanism_rifle_1, 'I', STEEL.ingot() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_m2, 1), new Object[] { " PI", "BBM", " PI", 'P', STEEL.plate(), 'B', ModItems.pipes_steel, 'M', ModItems.mechanism_rifle_2, 'I', STEEL.ingot() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_minigun, 1), new Object[] { "PIB", "PCM", "PIB", 'P', ModItems.pipes_steel, 'B', STEEL.block(), 'I', ANY_PLASTIC.ingot(), 'C', ModItems.mechanism_rifle_2, 'M', ModItems.motor }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_avenger, 1), new Object[] { "PIB", "PCM", "PIB", 'P', ModItems.pipes_steel, 'B', BE.block(), 'I', DESH.ingot(), 'C', ModItems.mechanism_rifle_2, 'M', ModItems.motor }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_calamity, 1), new Object[] { " PI", "BBM", " PI", 'P', IRON.plate(), 'B', STEEL.pipe(), 'M', ModItems.mechanism_rifle_1, 'I', STEEL.ingot() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_m2, 1), new Object[] { " PI", "BBM", " PI", 'P', STEEL.plate(), 'B', STEEL.pipe(), 'M', ModItems.mechanism_rifle_2, 'I', STEEL.ingot() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_minigun, 1), new Object[] { "PIB", "PCM", "PIB", 'P', STEEL.pipe(), 'B', STEEL.block(), 'I', ANY_PLASTIC.ingot(), 'C', ModItems.mechanism_rifle_2, 'M', ModItems.motor }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_lacunae, 1), new Object[] { "TIT", "ILI", "PRP", 'T', ModItems.syringe_taint, 'I', STAR.ingot(), 'L', ModItems.gun_minigun, 'P', ModItems.pellet_rtg, 'R', ModBlocks.machine_rtg_grey }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_mymy, 1), new Object[] { "PP ", " WP", 'P', ANY_RUBBER.ingot(), 'W', ModItems.wire_aluminium }); //CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_darter, 1), new Object[] { "SST", " P", 'S', STEEL.plate(), 'T', ModItems.gas_empty, 'P', ANY_PLASTIC.ingot() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_fireext, 1), new Object[] { "HB", " T", 'H', ModItems.hull_small_steel, 'B', ModItems.bolt_tungsten, 'T', ModItems.tank_steel }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_spas12, 1), new Object[] { "TPS", "HHR", " L", 'T', ModItems.bolt_tungsten, 'P', STEEL.plate(), 'S', STEEL.ingot(), 'H', ModItems.hull_small_steel, 'R', ModItems.mechanism_rifle_1, 'L', ANY_PLASTIC.ingot()}); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_fireext, 1), new Object[] { "HB", " T", 'H', STEEL.pipe(), 'B', STEEL.bolt(), 'T', ModItems.tank_steel }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_spas12, 1), new Object[] { "TPS", "HHR", " L", 'T', STEEL.bolt(), 'P', STEEL.plate(), 'S', STEEL.ingot(), 'H', STEEL.pipe(), 'R', ModItems.mechanism_rifle_1, 'L', ANY_PLASTIC.ingot()}); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_glass_cannon, 1), new Object[] { "GGC", "GTM", 'G', Item.getItemFromBlock(ModBlocks.glass_quartz), 'C', ModItems.battery_lithium_cell, 'T', ModItems.crt_display, 'M', ModItems.mechanism_special }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_remington, 1), new Object[] { "PPM", "S L", 'P', STEEL.plate(), 'M', ModItems.mechanism_rifle_1, 'S', KEY_SLAB, 'L', KEY_LOG }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_benelli), new Object[] { "HHP", "SSM", "AAP", 'H', ModItems.ingot_dura_steel, 'S', ModItems.hull_small_steel, 'A', ModItems.hull_small_aluminium, 'P', ModItems.ingot_polymer, 'M', ModItems.mechanism_rifle_2 }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_benelli), new Object[] { "HHP", "SSM", "AAP", 'H', ModItems.ingot_dura_steel, 'S', STEEL.pipe(), 'A', AL.pipe(), 'P', ANY_PLASTIC.ingot(), 'M', ModItems.mechanism_rifle_2 }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_lunatic_marksman), new Object[] { " GN", "SSM", " A", 'G', KEY_ANYPANE, 'N', ModItems.powder_nitan_mix, 'S', BIGMT.plate(), 'M', ModItems.mechanism_special, 'A', ANY_RESISTANTALLOY.plateCast() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_coilgun), new Object[] { "CCC", "SSM", " P", 'C', ModBlocks.capacitor_copper, 'S', BIGMT.plate(), 'M', ModItems.mechanism_special, 'P', ANY_PLASTIC.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_coilgun, 16, 0), new Object[] { " T ", "TST", " T ", 'T', W.ingot(), 'S', BIGMT.ingot() }); @@ -184,10 +181,8 @@ public class WeaponRecipes { //Ammo assemblies CraftingManager.addRecipeAuto(new ItemStack(ModItems.pellet_flechette, 1), new Object[] { " L ", " L ", "LLL", 'L', PB.nugget() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.pellet_claws, 1), new Object[] { " X ", "X X", " XX", 'X', STEEL.plate() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_iron, 1), new Object[] { " I", "GC", 'I', IRON.ingot(), 'G', ModItems.cordite, 'C', ModItems.casing_357 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_iron, 1), new Object[] { " I", "GC", 'I', IRON.ingot(), 'G', ModItems.ballistite, 'C', ModItems.casing_357 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_steel, 1), new Object[] { " I", "GC", 'I', PB.ingot(), 'G', ModItems.cordite, 'C', ModItems.casing_357 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_steel, 1), new Object[] { " I", "GC", 'I', PB.ingot(), 'G', ModItems.ballistite, 'C', ModItems.casing_357 }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_iron, 1), new Object[] { " I", "GC", 'I', IRON.ingot(), 'G', ANY_GUNPOWDER.dust(), 'C', ModItems.casing_357 }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_steel, 1), new Object[] { " I", "GC", 'I', PB.ingot(), 'G', ANY_GUNPOWDER.dust(), 'C', ModItems.casing_357 }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_lead, 1), new Object[] { " I", "GC", 'I', U235.ingot(), 'G', ModItems.cordite, 'C', KEY_CLEARGLASS }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_lead, 1), new Object[] { " I", "GC", 'I', PU239.ingot(), 'G', ModItems.cordite, 'C', KEY_CLEARGLASS }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_lead, 1), new Object[] { " I", "GC", 'I', ModItems.trinitite, 'G', ModItems.cordite, 'C', KEY_CLEARGLASS }); @@ -196,20 +191,14 @@ public class WeaponRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_schrabidium, 1), new Object[] { " I ", "GCN", 'I', SA326.ingot(), 'G', ModItems.cordite, 'C', ModItems.casing_357, 'N', ModItems.billet_yharonite }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_nightmare, 1), new Object[] { " I", "GC", 'I', W.ingot(), 'G', ModItems.cordite, 'C', ModItems.casing_357 }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_desh, 1), new Object[] { " I", "GC", 'I', DESH.ingot(), 'G', ModItems.cordite, 'C', ModItems.casing_357 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_smg, 1), new Object[] { " I", "GC", 'I', PB.ingot(), 'G', ModItems.cordite, 'C', ModItems.casing_9 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_smg, 1), new Object[] { " I", "GC", 'I', PB.ingot(), 'G', ModItems.ballistite, 'C', ModItems.casing_9 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_556, 1), new Object[] { " I", "GC", 'I', STEEL.ingot(), 'G', ModItems.cordite, 'C', ModItems.casing_9 }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_smg, 1), new Object[] { " I", "GC", 'I', PB.ingot(), 'G', ANY_SMOKELESS.dust(), 'C', ModItems.casing_9 }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_556, 1), new Object[] { " I", "GC", 'I', STEEL.ingot(), 'G', ANY_SMOKELESS.dust(), 'C', ModItems.casing_9 }); CraftingManager.addRecipeAuto(ModItems.ammo_556.stackFromEnum(30, Ammo556mm.K), new Object[] { "G", "C", 'G', ANY_GUNPOWDER.dust(), 'C', ModItems.casing_9 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_uzi, 1), new Object[] { " I", "GC", 'I', IRON.ingot(), 'G', ModItems.cordite, 'C', ModItems.casing_9 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_uzi, 1), new Object[] { " I", "GC", 'I', IRON.ingot(), 'G', ModItems.ballistite, 'C', ModItems.casing_9 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_uzi, 1), new Object[] { " I", "GC", 'I', IRON.ingot(), 'G', ModItems.cordite, 'C', ModItems.casing_9 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_uzi, 1), new Object[] { " I", "GC", 'I', IRON.ingot(), 'G', ModItems.ballistite, 'C', ModItems.casing_9 }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_uzi, 1), new Object[] { " I", "GC", 'I', IRON.ingot(), 'G', ANY_SMOKELESS.dust(), 'C', ModItems.casing_9 }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_lacunae, 1), new Object[] { " I", "GC", 'I', CU.ingot(), 'G', ModItems.cordite, 'C', ModItems.casing_9 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_nopip, 1), new Object[] { " I", "GC", 'I', PB.ingot(), 'G', ModItems.cordite, 'C', ModItems.casing_44 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_nopip, 1), new Object[] { " I", "GC", 'I', PB.ingot(), 'G', ModItems.ballistite, 'C', ModItems.casing_44 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_12gauge, 12), new Object[] { " I ", "GCL", 'I', ModItems.pellet_buckshot, 'G', ModItems.cordite, 'C', ModItems.casing_buckshot, 'L', ANY_RUBBER.ingot() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_12gauge, 12), new Object[] { " I ", "GCL", 'I', ModItems.pellet_buckshot, 'G', ModItems.ballistite, 'C', ModItems.casing_buckshot, 'L', ANY_RUBBER.ingot() }); - CraftingManager.addRecipeAuto(ModItems.ammo_12gauge.stackFromEnum(12, Ammo12Gauge.PERCUSSION), new Object[] { "G", "C", 'G', ModItems.ballistite, 'C', ModItems.casing_buckshot }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_nopip, 1), new Object[] { " I", "GC", 'I', PB.ingot(), 'G', ANY_SMOKELESS.dust(), 'C', ModItems.casing_44 }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_12gauge, 12), new Object[] { " I ", "GCL", 'I', ModItems.pellet_buckshot, 'G', ANY_SMOKELESS.dust(), 'C', ModItems.casing_buckshot, 'L', ANY_RUBBER.ingot() }); + CraftingManager.addRecipeAuto(ModItems.ammo_12gauge.stackFromEnum(12, Ammo12Gauge.PERCUSSION), new Object[] { "G", "C", 'G', ANY_SMOKELESS.dust(), 'C', ModItems.casing_buckshot }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_4gauge, 12), new Object[] { " I ", "GCL", 'I', ModItems.pellet_buckshot, 'G', ModItems.cordite, 'C', ModItems.casing_50, 'L', ANY_RUBBER.ingot() }); CraftingManager.addRecipeAuto(ModItems.ammo_4gauge.stackFromEnum(12, Ammo4Gauge.SLUG), new Object[] { " I ", "GCL", 'I', STEEL.ingot(), 'G', ModItems.cordite, 'C', ModItems.casing_50, 'L', ANY_RUBBER.ingot() }); CraftingManager.addRecipeAuto(ModItems.ammo_4gauge.stackFromEnum(12, Ammo4Gauge.FLECHETTE), new Object[] { " I ", "GCL", 'I', ModItems.pellet_flechette, 'G', ModItems.cordite, 'C', ModItems.casing_50, 'L', ANY_RUBBER.ingot() }); @@ -224,7 +213,7 @@ public class WeaponRecipes { CraftingManager.addRecipeAuto(ModItems.ammo_357.stackFromEnum(6, Ammo357Magnum.NIGHTMARE2), new Object[] { "I", "C", 'I', ModItems.powder_power, 'C', ModItems.casing_buckshot }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_calamity, 1), new Object[] { " I ", "GCG", 'I', PB.ingot(), 'G', ModItems.cordite, 'C', ModItems.casing_50 }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_actionexpress, 1), new Object[] { " I", "GC", 'I', PB.ingot(), 'G', ModItems.cordite, 'C', ModItems.casing_50 }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_nuke, 1), new Object[] { " WP", "SEP", " WP", 'W', ModItems.wire_aluminium, 'P', STEEL.plate(), 'S', ModItems.hull_small_steel, 'E', ANY_HIGHEXPLOSIVE.ingot() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_nuke, 1), new Object[] { " WP", "SEP", " WP", 'W', ModItems.wire_aluminium, 'P', STEEL.plate(), 'S', STEEL.shell(), 'E', ANY_HIGHEXPLOSIVE.ingot() }); CraftingManager.addRecipeAuto(ModItems.ammo_dart.stackFromEnum(16, AmmoDart.GPS), new Object[] { "IPI", "ICI", "IPI", 'I', ANY_RUBBER.ingot(), 'P', IRON.plate(), 'C', new ItemStack(ModItems.fluid_tank_lead_full, 1, Fluids.WATZ.getID()) }); CraftingManager.addRecipeAuto(ModItems.ammo_dart.stackFromEnum(16, AmmoDart.NERF), new Object[] { "I", "I", 'I', ANY_RUBBER.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.assembly_45, 1), " I", "GC", 'I', CU.ingot(), 'G', ANY_SMOKELESS.dust(), 'C', ModItems.casing_44); @@ -241,8 +230,8 @@ public class WeaponRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_folly_du, 1), new Object[] { " B ", "EEE", " S ", 'B', ModItems.folly_bullet_du, 'E', ModBlocks.det_charge, 'S', ModItems.folly_shell }); //Rockets - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket, 1), new Object[] { "T", "C", "G", 'T', ModItems.ball_dynamite, 'G', ModItems.rocket_fuel, 'C', ModItems.hull_small_aluminium, });// I got tired of changing *all* of them, the stock one is always the first one anyway - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket, 2), new Object[] { "T", "C", "G", 'T', ANY_PLASTICEXPLOSIVE.ingot(), 'G', ModItems.rocket_fuel, 'C', ModItems.hull_small_aluminium }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket, 1), new Object[] { "T", "C", "G", 'T', ModItems.ball_dynamite, 'G', ModItems.rocket_fuel, 'C', STEEL.shell() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_rocket, 2), new Object[] { "T", "C", "G", 'T', ANY_PLASTICEXPLOSIVE.ingot(), 'G', ModItems.rocket_fuel, 'C', STEEL.shell() }); CraftingManager.addRecipeAuto(ModItems.ammo_rocket.stackFromEnum(AmmoRocket.HE), new Object[] { "G", "R", 'G', ANY_PLASTICEXPLOSIVE.ingot(), 'R', ModItems.ammo_rocket }); CraftingManager.addRecipeAuto(ModItems.ammo_rocket.stackFromEnum(AmmoRocket.INCENDIARY), new Object[] { "G", "R", 'G', P_RED.dust(), 'R', ModItems.ammo_rocket }); CraftingManager.addRecipeAuto(ModItems.ammo_rocket.stackFromEnum(AmmoRocket.PHOSPHORUS), new Object[] { "G", "R", 'G', P_WHITE.ingot(), 'R', ModItems.ammo_rocket }); @@ -254,10 +243,10 @@ public class WeaponRecipes { CraftingManager.addRecipeAuto(ModItems.ammo_rocket.stackFromEnum(AmmoRocket.NUCLEAR), new Object[] { " P ", "NRN", " P ", 'P', PU239.nugget(), 'N', OreDictManager.getReflector(), 'R', ModItems.ammo_rocket }); FluidType[] chainsawTypes = new FluidType[] {Fluids.DIESEL, Fluids.DIESEL_CRACK, Fluids.PETROIL, Fluids.PETROIL_LEADED, Fluids.GASOLINE, Fluids.GASOLINE_LEADED, Fluids.BIOFUEL}; - for(FluidType type : chainsawTypes) CraftingManager.addRecipeAuto(ModItems.ammo_rocket.stackFromEnum(2, AmmoRocket.RPC), new Object[] { "BP ", "CBH", " DR", 'B', ModItems.blades_steel, 'P', STEEL.plate(), 'C', type.getDict(1000), 'H', ModItems.hull_small_steel, 'D', ModItems.piston_selenium, 'R', ModItems.ammo_rocket }); + for(FluidType type : chainsawTypes) CraftingManager.addRecipeAuto(ModItems.ammo_rocket.stackFromEnum(2, AmmoRocket.RPC), new Object[] { "BP ", "CBH", " DR", 'B', ModItems.blades_steel, 'P', STEEL.plate(), 'C', type.getDict(1000), 'H', STEEL.shell(), 'D', ModItems.piston_selenium, 'R', ModItems.ammo_rocket }); //Stinger Rockets - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_stinger_rocket, 2), "CE ", " S ", " F ", 'C', ModItems.circuit_aluminium, 'E', ANY_PLASTICEXPLOSIVE.ingot(), 'F', ModItems.rocket_fuel, 'S', ModItems.hull_small_aluminium); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_stinger_rocket, 2), "CE ", " S ", " F ", 'C', ModItems.circuit_aluminium, 'E', ANY_PLASTICEXPLOSIVE.ingot(), 'F', ModItems.rocket_fuel, 'S', STEEL.shell()); CraftingManager.addRecipeAuto(ModItems.ammo_stinger_rocket.stackFromEnum(AmmoStinger.HE), new Object[] { "S", "R", 'S', ANY_PLASTICEXPLOSIVE.ingot(), 'R', ModItems.ammo_stinger_rocket }); CraftingManager.addRecipeAuto(ModItems.ammo_stinger_rocket.stackFromEnum(AmmoStinger.INCENDIARY), new Object[] { "S", "R", 'S', P_RED.dust(), 'R', ModItems.ammo_stinger_rocket }); CraftingManager.addRecipeAuto(ModItems.ammo_stinger_rocket.stackFromEnum(AmmoStinger.NUCLEAR), new Object[] { "RPR", "PSP", "RPR", 'R', ModItems.neutron_reflector, 'P', PU239.nugget(), 'S', ModItems.ammo_stinger_rocket.stackFromEnum(AmmoStinger.HE) }); @@ -274,15 +263,15 @@ public class WeaponRecipes { CraftingManager.addRecipeAuto(ModItems.ammo_grenade.stackFromEnum(2, AmmoGrenade.NUCLEAR), new Object[] { " P ", "GIG", " P ", 'G', ModItems.ammo_grenade.stackFromEnum(AmmoGrenade.HE), 'I', ModItems.neutron_reflector, 'P', PU239.nugget() }); CraftingManager.addRecipeAuto(ModItems.ammo_grenade.stackFromEnum(AmmoGrenade.FINNED), new Object[] { "G", "R", 'G', Items.feather, 'R', ModItems.ammo_grenade }); CraftingManager.addRecipeAuto(ModItems.ammo_grenade.stackFromEnum(AmmoGrenade.KAMPF), new Object[] { "G", "R", 'G', ModItems.ammo_rocket, 'R', ModItems.ammo_grenade }); - CraftingManager.addRecipeAuto(ModItems.ammo_grenade.stackFromEnum(AmmoGrenade.LEADBURSTER), new Object[] { "LCL", "CHC", "LML", 'L', ModItems.pellet_buckshot, 'C', ANY_SMOKELESS.dust(), 'H', ModItems.hull_small_aluminium, 'M', ModItems.motor }); + CraftingManager.addRecipeAuto(ModItems.ammo_grenade.stackFromEnum(AmmoGrenade.LEADBURSTER), new Object[] { "LCL", "CHC", "LML", 'L', ModItems.pellet_buckshot, 'C', ANY_SMOKELESS.dust(), 'H', AL.shell(), 'M', ModItems.motor }); //240mm Shells - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_shell, 4), new Object[] { " T ", "GHG", "CCC", 'T', ModBlocks.tnt, 'G', Items.gunpowder, 'H', ModItems.hull_small_steel, 'C', CU.ingot() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_shell, 4), new Object[] { " T ", "GHG", "CCC", 'T', ModBlocks.tnt, 'G', ModItems.ballistite, 'H', ModItems.hull_small_steel, 'C', CU.ingot() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_shell, 6), new Object[] { " T ", "GHG", "CCC", 'T', ModBlocks.tnt, 'G', ModItems.cordite, 'H', ModItems.hull_small_steel, 'C', CU.ingot() }); - CraftingManager.addRecipeAuto(ModItems.ammo_shell.stackFromEnum(4, Ammo240Shell.EXPLOSIVE), new Object[] { " T ", "GHG", "CCC", 'T', ANY_PLASTICEXPLOSIVE.ingot(), 'G', Items.gunpowder, 'H', ModItems.hull_small_steel, 'C', CU.ingot() }); - CraftingManager.addRecipeAuto(ModItems.ammo_shell.stackFromEnum(4, Ammo240Shell.EXPLOSIVE), new Object[] { " T ", "GHG", "CCC", 'T', ANY_PLASTICEXPLOSIVE.ingot(), 'G', ModItems.ballistite, 'H', ModItems.hull_small_steel, 'C', CU.ingot() }); - CraftingManager.addRecipeAuto(ModItems.ammo_shell.stackFromEnum(6, Ammo240Shell.EXPLOSIVE), new Object[] { " T ", "GHG", "CCC", 'T', ANY_PLASTICEXPLOSIVE.ingot(), 'G', ModItems.cordite, 'H', ModItems.hull_small_steel, 'C', CU.ingot() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_shell, 4), new Object[] { " T ", "GHG", "CCC", 'T', ModBlocks.tnt, 'G', Items.gunpowder, 'H', STEEL.shell(), 'C', CU.ingot() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_shell, 4), new Object[] { " T ", "GHG", "CCC", 'T', ModBlocks.tnt, 'G', ModItems.ballistite, 'H', STEEL.shell(), 'C', CU.ingot() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_shell, 6), new Object[] { " T ", "GHG", "CCC", 'T', ModBlocks.tnt, 'G', ModItems.cordite, 'H', STEEL.shell(), 'C', CU.ingot() }); + CraftingManager.addRecipeAuto(ModItems.ammo_shell.stackFromEnum(4, Ammo240Shell.EXPLOSIVE), new Object[] { " T ", "GHG", "CCC", 'T', ANY_PLASTICEXPLOSIVE.ingot(), 'G', Items.gunpowder, 'H', STEEL.shell(), 'C', CU.ingot() }); + CraftingManager.addRecipeAuto(ModItems.ammo_shell.stackFromEnum(4, Ammo240Shell.EXPLOSIVE), new Object[] { " T ", "GHG", "CCC", 'T', ANY_PLASTICEXPLOSIVE.ingot(), 'G', ModItems.ballistite, 'H', STEEL.shell(), 'C', CU.ingot() }); + CraftingManager.addRecipeAuto(ModItems.ammo_shell.stackFromEnum(6, Ammo240Shell.EXPLOSIVE), new Object[] { " T ", "GHG", "CCC", 'T', ANY_PLASTICEXPLOSIVE.ingot(), 'G', ModItems.cordite, 'H', STEEL.shell(), 'C', CU.ingot() }); CraftingManager.addRecipeAuto(ModItems.ammo_shell.stackFromEnum(4, Ammo240Shell.APFSDS_T), new Object[] { " I ", "GIG", "CCC", 'I', W.ingot(), 'G', Items.gunpowder, 'C', CU.ingot() }); CraftingManager.addRecipeAuto(ModItems.ammo_shell.stackFromEnum(4, Ammo240Shell.APFSDS_T), new Object[] { " I ", "GIG", "CCC", 'I', W.ingot(), 'G', ModItems.ballistite, 'C', CU.ingot() }); CraftingManager.addRecipeAuto(ModItems.ammo_shell.stackFromEnum(6, Ammo240Shell.APFSDS_T), new Object[] { " I ", "GIG", "CCC", 'I', W.ingot(), 'G', ModItems.cordite, 'C', CU.ingot() }); @@ -292,7 +281,7 @@ public class WeaponRecipes { CraftingManager.addRecipeAuto(ModItems.ammo_shell.stackFromEnum(Ammo240Shell.W9), new Object[] { " P ", "NSN", " P ", 'P', PU239.nugget(), 'N', OreDictManager.getReflector(), 'S', ModItems.ammo_shell.stackFromEnum(Ammo240Shell.EXPLOSIVE) }); //Artillery Shells - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_arty, 1, 0), new Object[] { "CIC", "CSC", "CCC", 'C', ModItems.cordite, 'I', IRON.block(), 'S', ModItems.hull_small_steel }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_arty, 1, 0), new Object[] { "CIC", "CSC", "CCC", 'C', ModItems.cordite, 'I', IRON.block(), 'S', CU.shell() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_arty, 1, 1), new Object[] { " D ", "DSD", " D ", 'D', ModItems.ball_dynamite, 'S', new ItemStack(ModItems.ammo_arty, 1, 0) }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_arty, 1, 2), new Object[] { "TTT", "TST", "TTT", 'T', ModItems.ball_tnt, 'S', new ItemStack(ModItems.ammo_arty, 1, 0) }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_arty, 1, 5), new Object[] { "D", "S", "D", 'D', P_WHITE.ingot(), 'S', new ItemStack(ModItems.ammo_arty, 1, 0) }); @@ -300,7 +289,7 @@ public class WeaponRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_arty, 1, 3), new Object[] { " P ", "NSN", " P ", 'P', PU239.nugget(), 'N', OreDictManager.getReflector(), 'S', new ItemStack(ModItems.ammo_arty, 1, 0) }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_arty, 1, 6), new Object[] { "DSD", "SCS", "DSD", 'D', OreDictManager.getReflector(), 'S', new ItemStack(ModItems.ammo_arty, 1, 3), 'C', ModBlocks.det_cord }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.ammo_arty, 1, 4), new Object[] { new ItemStack(ModItems.ammo_arty, 1, 2), ModItems.boy_bullet, ModItems.boy_target, ModItems.boy_shielding, ModItems.circuit_red_copper, ModItems.ducttape }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_arty, 1, 8), new Object[] { " I ", " S ", "CCC", 'C', ModItems.cordite, 'I', ModItems.sphere_steel, 'S', ModItems.hull_small_steel }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_arty, 1, 8), new Object[] { " I ", " S ", "CCC", 'C', ModItems.cordite, 'I', ModItems.sphere_steel, 'S', CU.shell() }); //DGK Belts CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_dgk, 1), new Object[] { "LLL", "GGG", "CCC", 'L', PB.plate(), 'G', ModItems.ballistite, 'C', CU.ingot() }); @@ -321,22 +310,22 @@ public class WeaponRecipes { CraftingManager.addShapelessAuto(ModItems.ammo_nuke.stackFromEnum(6, AmmoFatman.SAFE), new Object[] { ModItems.ammo_nuke.stackFromEnum(AmmoFatman.MIRV_SAFE) }); //MIRV - CraftingManager.addRecipeAuto(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.MIRV), new Object[] { "NNN", "CDS", "NNN", 'N', ModItems.ammo_nuke, 'C', AL.plate(), 'D', ModBlocks.det_cord, 'S', ModItems.hull_small_steel }); - CraftingManager.addRecipeAuto(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.MIRV_LOW), new Object[] { "NNN", "CDS", "NNN", 'N', ModItems.ammo_nuke.stackFromEnum(AmmoFatman.LOW), 'C', AL.plate(), 'D', ModBlocks.det_cord, 'S', ModItems.hull_small_steel }); - CraftingManager.addRecipeAuto(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.MIRV_HIGH), new Object[] { "NNN", "CDS", "NNN", 'N', ModItems.ammo_nuke.stackFromEnum(AmmoFatman.HIGH), 'C', AL.plate(), 'D', ModBlocks.det_cord, 'S', ModItems.hull_small_steel }); - CraftingManager.addRecipeAuto(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.MIRV_SAFE), new Object[] { "NNN", "CDS", "NNN", 'N', ModItems.ammo_nuke.stackFromEnum(AmmoFatman.SAFE), 'C', AL.plate(), 'D', ModBlocks.det_cord, 'S', ModItems.hull_small_steel }); + CraftingManager.addRecipeAuto(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.MIRV), new Object[] { "NNN", "CDS", "NNN", 'N', ModItems.ammo_nuke, 'C', AL.plate(), 'D', ModBlocks.det_cord, 'S', STEEL.shell() }); + CraftingManager.addRecipeAuto(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.MIRV_LOW), new Object[] { "NNN", "CDS", "NNN", 'N', ModItems.ammo_nuke.stackFromEnum(AmmoFatman.LOW), 'C', AL.plate(), 'D', ModBlocks.det_cord, 'S', STEEL.shell() }); + CraftingManager.addRecipeAuto(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.MIRV_HIGH), new Object[] { "NNN", "CDS", "NNN", 'N', ModItems.ammo_nuke.stackFromEnum(AmmoFatman.HIGH), 'C', AL.plate(), 'D', ModBlocks.det_cord, 'S', STEEL.shell() }); + CraftingManager.addRecipeAuto(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.MIRV_SAFE), new Object[] { "NNN", "CDS", "NNN", 'N', ModItems.ammo_nuke.stackFromEnum(AmmoFatman.SAFE), 'C', AL.plate(), 'D', ModBlocks.det_cord, 'S', STEEL.shell() }); //since the milk part of the recipe isn't really present in the MIRV's effect, it might as well be replaced with something more sensible, i.e. duct tape CraftingManager.addRecipeAuto(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.MIRV_SPECIAL), new Object[] { "CBC", "MCM", "CBC", 'C', ModItems.canned_conserve.stackFromEnum(EnumFoodType.JIZZ), 'B', ModItems.ammo_nuke.stackFromEnum(AmmoFatman.BALEFIRE), 'M', ModItems.ammo_nuke.stackFromEnum(AmmoFatman.MIRV) }); //Flamer fuel - CraftingManager.addRecipeAuto(ModItems.ammo_fuel.stackFromEnum(AmmoFlamethrower.DIESEL), new Object[] { " P ", "BDB", " P ", 'P', STEEL.plate(), 'B', ModItems.bolt_tungsten, 'D', Fluids.DIESEL.getDict(1000) }); - CraftingManager.addRecipeAuto(ModItems.ammo_fuel.stackFromEnum(AmmoFlamethrower.NAPALM), new Object[] { " P ", "BDB", " P ", 'P', STEEL.plate(), 'B', ModItems.bolt_tungsten, 'D', ModItems.canister_napalm }); + CraftingManager.addRecipeAuto(ModItems.ammo_fuel.stackFromEnum(AmmoFlamethrower.DIESEL), new Object[] { " P ", "BDB", " P ", 'P', STEEL.plate(), 'B', STEEL.bolt(), 'D', Fluids.DIESEL.getDict(1000) }); + CraftingManager.addRecipeAuto(ModItems.ammo_fuel.stackFromEnum(AmmoFlamethrower.NAPALM), new Object[] { " P ", "BDB", " P ", 'P', STEEL.plate(), 'B', STEEL.bolt(), 'D', ModItems.canister_napalm }); CraftingManager.addRecipeAuto(ModItems.ammo_fuel.stackFromEnum(AmmoFlamethrower.PHOSPHORUS), new Object[] { "CPC", "CDC", "CPC", 'C', COAL.dust(), 'P', P_WHITE.ingot(), 'D', ModItems.ammo_fuel }); - CraftingManager.addRecipeAuto(ModItems.ammo_fuel.stackFromEnum(AmmoFlamethrower.CHLORINE), new Object[] { "PDP", "BDB", "PDP", 'P', STEEL.plate(), 'B', ModItems.bolt_tungsten, 'D', ModItems.pellet_gas }); + CraftingManager.addRecipeAuto(ModItems.ammo_fuel.stackFromEnum(AmmoFlamethrower.CHLORINE), new Object[] { "PDP", "BDB", "PDP", 'P', STEEL.plate(), 'B', STEEL.bolt(), 'D', ModItems.pellet_gas }); CraftingManager.addRecipeAuto(ModItems.ammo_fuel.stackFromEnum(AmmoFlamethrower.VAPORIZER), new Object[] { "PSP", "SNS", "PSP", 'P', P_WHITE.ingot(), 'S', ModItems.crystal_sulfur, 'N', ModItems.ammo_fuel.stackFromEnum(AmmoFlamethrower.NAPALM) }); //Fire Extingusisher Tanks - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_fireext, 1), new Object[] { " P ", "BDB", " P ", 'P', STEEL.plate(), 'B', ModItems.bolt_tungsten, 'D', new ItemStack(ModItems.fluid_tank_full, 1, Fluids.WATER.getID()) }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_fireext, 1), new Object[] { " P ", "BDB", " P ", 'P', STEEL.plate(), 'B', STEEL.bolt(), 'D', new ItemStack(ModItems.fluid_tank_full, 1, Fluids.WATER.getID()) }); CraftingManager.addRecipeAuto(ModItems.ammo_fireext.stackFromEnum(AmmoFireExt.FOAM), new Object[] { " N ", "NFN", " N ", 'N', KNO.dust(), 'F', ModItems.ammo_fireext }); CraftingManager.addRecipeAuto(ModItems.ammo_fireext.stackFromEnum(AmmoFireExt.SAND), new Object[] { "NNN", "NFN", "NNN", 'N', ModBlocks.sand_boron, 'F', ModItems.ammo_fireext }); @@ -365,6 +354,7 @@ public class WeaponRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_pink_cloud), new Object[] { " S ", "ECE", " E ", 'S', ModItems.powder_spark_mix, 'E', ModItems.powder_magic, 'C', ModItems.grenade_cloud }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.nuclear_waste_pearl), new Object[] { "WWW", "WFW", "WWW", 'W', ModItems.nuclear_waste_tiny, 'F', ModBlocks.block_fallout }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.grenade_kyiv), new Object[] { ModItems.canister_napalm, ModItems.bottle2_empty, ModItems.rag }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.disperser_canister_empty, 4), new Object[] { " P ", "PGP", " P ", 'P', ANY_HARDPLASTIC.ingot(), 'G', ModBlocks.glass_boron }); //Sticks of explosives CraftingManager.addRecipeAuto(new ItemStack(ModItems.stick_dynamite, 4), new Object[] { " S ", "PDP", "PDP", 'S', ModItems.safety_fuse, 'P', Items.paper, 'D', ModItems.ball_dynamite }); @@ -378,7 +368,7 @@ public class WeaponRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.tnt, 1), new Object[] { "DDD", "DSD", "DDD", 'D', ModItems.stick_tnt, 'S', ModItems.safety_fuse }); CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.semtex, 1), new Object[] { "DDD", "DSD", "DDD", 'D', ModItems.stick_semtex, 'S', ModItems.safety_fuse }); CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.c4, 1), new Object[] { "DDD", "DSD", "DDD", 'D', ModItems.stick_c4, 'S', ModItems.safety_fuse }); - CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.fissure_bomb, 1), new Object[] { "SUS", "RPR", "SUS", 'S', ModBlocks.semtex, 'U', U238.block(), 'R', OreDictManager.getReflector(), 'P', PU239.billet() }); + CraftingManager.addRecipeAuto(new ItemStack(ModBlocks.fissure_bomb, 1), new Object[] { "SUS", "RPR", "SUS", 'S', ModBlocks.semtex, 'U', U238.block(), 'R', TA.ingot(), 'P', PU239.billet() }); //IF Grenades diff --git a/src/main/java/com/hbm/creativetabs/TestTab.java b/src/main/java/com/hbm/creativetabs/TestTab.java deleted file mode 100644 index f8cfe7efa..000000000 --- a/src/main/java/com/hbm/creativetabs/TestTab.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.hbm.creativetabs; - -import com.hbm.blocks.ModBlocks; - -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.init.Items; -import net.minecraft.item.Item; - -public class TestTab extends CreativeTabs { - - public TestTab(int p_i1853_1_, String p_i1853_2_) { - super(p_i1853_1_, p_i1853_2_); - } - - @Override - public Item getTabIconItem() { - - if(ModBlocks.test_nuke != null) - { - return Item.getItemFromBlock(ModBlocks.test_nuke); - } - - return Items.iron_pickaxe; - } - -} diff --git a/src/main/java/com/hbm/entity/EntityMappings.java b/src/main/java/com/hbm/entity/EntityMappings.java index 16a452ba5..28832b449 100644 --- a/src/main/java/com/hbm/entity/EntityMappings.java +++ b/src/main/java/com/hbm/entity/EntityMappings.java @@ -16,6 +16,7 @@ import com.hbm.entity.missile.EntityMissileTier3.*; import com.hbm.entity.missile.EntityMissileTier4.*; import com.hbm.entity.mob.*; import com.hbm.entity.mob.botprime.*; +import com.hbm.entity.mob.glyphid.*; import com.hbm.entity.mob.siege.*; import com.hbm.entity.particle.*; import com.hbm.entity.projectile.*; @@ -47,8 +48,6 @@ public class EntityMappings { addEntity(EntityGrenadeFrag.class, "entity_grenade_frag", 250); addEntity(EntityGrenadeFire.class, "entity_grenade_fire", 250); addEntity(EntityGrenadeCluster.class, "entity_grenade_cluster", 250); - addEntity(EntityTestMissile.class, "entity_test_missile", 1000); - addEntity(EntityNukeCloudSmall.class, "entity_nuke_cloud_small", 10000); addEntity(EntityBullet.class, "entity_bullet", 250); addEntity(EntityGrenadeFlare.class, "entity_grenade_flare", 500); addEntity(EntityGrenadeElectric.class, "entity_grenade_electric", 500); @@ -72,12 +71,9 @@ public class EntityMappings { addEntity(EntityMissileInferno.class, "entity_missile_inferno", 1000); addEntity(EntityMissileRain.class, "entity_missile_rain", 1000); addEntity(EntityMissileDrill.class, "entity_missile_drill", 1000); - addEntity(EntityMissileEndo.class, "entity_missile_endo", 1000); - addEntity(EntityMissileExo.class, "entity_missile_exo", 1000); addEntity(EntityMissileMirv.class, "entity_missile_mirv", 1000); addEntity(EntityMIRV.class, "entity_mirvlet", 1000); addEntity(EntitySmokeFX.class, "entity_smoke_fx", 1000); - addEntity(EntityNukeCloudBig.class, "entity_nuke_cloud_big", 1000); addEntity(EntityGrenadeNuclear.class, "entity_grenade_nuclear", 1000); addEntity(EntityBSmokeFX.class, "entity_b_smoke_fx", 1000); addEntity(EntityGrenadePlasma.class, "entity_grenade_plasma", 500); @@ -91,7 +87,6 @@ public class EntityMappings { addEntity(EntityGrenadeZOMG.class, "entity_grenade_zomg", 500); addEntity(EntityGrenadeASchrab.class, "entity_grenade_aschrab", 500); addEntity(EntityFalloutRain.class, "entity_fallout", 1000); - addEntity(EntityDischarge.class, "entity_emp_discharge", 500); addEntity(EntityEMPBlast.class, "entity_emp_blast", 1000); addEntity(EntityFire.class, "entity_fire", 1000); addEntity(EntityPlasmaBeam.class, "entity_immolator_beam", 1000); @@ -113,8 +108,7 @@ public class EntityMappings { addEntity(EntityMinecartTest.class, "entity_minecart_test", 1000); addEntity(EntitySparkBeam.class, "entity_spark_beam", 1000); addEntity(EntityMissileDoomsday.class, "entity_missile_doomsday", 1000); - addEntity(EntityBombletTheta.class, "entity_theta", 1000); - addEntity(EntityBombletSelena.class, "entity_selena", 1000); + addEntity(EntityMissileDoomsdayRusted.class, "entity_missile_doomsday_rusted", 1000); addEntity(EntityTSmokeFX.class, "entity_t_smoke_fx", 1000); addEntity(EntityNukeExplosionMK3.class, "entity_nuke_mk3", 1000); addEntity(EntityVortex.class, "entity_vortex", 250); @@ -128,6 +122,7 @@ public class EntityMappings { addEntity(EntityExplosiveBeam.class, "entity_beam_bomb", 1000); addEntity(EntityAAShell.class, "entity_aa_shell", 1000); addEntity(EntityRocketHoming.class, "entity_stinger", 1000); + addEntity(EntityMissileTest.class, "entity_missile_test_mk2", 1000); addEntity(EntityMissileMicro.class, "entity_missile_micronuclear", 1000); addEntity(EntityCloudSolinium.class, "entity_cloud_rainbow", 1000); addEntity(EntityRagingVortex.class, "entity_raging_vortex", 250); @@ -193,7 +188,6 @@ public class EntityMappings { addEntity(EntityBlockSpider.class, "entity_taintcrawler", 1000); addEntity(EntityRBMKDebris.class, "entity_rbmk_debris", 1000); addEntity(EntityUFO.class, "entity_ntm_ufo", 1000); - addEntity(EntityNukeExplosionNT.class, "entity_ntm_explosion_nt", 1000); addEntity(EntityQuasar.class, "entity_digamma_quasar", 250); addEntity(EntitySpear.class, "entity_digamma_spear", 1000); addEntity(EntityMissileVolcano.class, "entity_missile_volcano", 1000); @@ -202,7 +196,6 @@ public class EntityMappings { addEntity(EntityGhost.class, "entity_ntm_ghost", 1000); addEntity(EntityGrenadeDynamite.class, "entity_grenade_dynamite", 250); addEntity(EntitySiegeLaser.class, "entity_ntm_siege_laser", 1000); - addEntity(EntitySiegeDropship.class, "entity_ntm_siege_dropship", 1000); addEntity(EntityTNTPrimedBase.class, "entity_ntm_tnt_primed", 1000); addEntity(EntityGrenadeBouncyGeneric.class, "entity_grenade_bouncy_generic", 250); addEntity(EntityGrenadeImpactGeneric.class, "entity_grenade_impact_generic", 250); @@ -224,6 +217,7 @@ public class EntityMappings { addEntity(EntityAcidBomb.class, "entity_acid_bomb", 1000); addEntity(EntityFallingBlockNT.class, "entity_falling_block_nt", 1000); addEntity(EntityBoatRubber.class, "entity_rubber_boat", 250, false); + addEntity(EntityMissileStealth.class, "entity_missile_stealth", 1000); addEntity(EntityItemWaste.class, "entity_item_waste", 100); addEntity(EntityItemBuoyant.class, "entity_item_buoyant", 100); @@ -233,7 +227,10 @@ public class EntityMappings { addEntity(TrainCargoTram.class, "entity_ntm_cargo_tram", 250, false); addEntity(TrainCargoTramTrailer.class, "entity_ntm_cargo_tram_trailer", 250, false); addEntity(TrainTunnelBore.class, "entity_ntm_tunnel_bore", 250, false); - + + addEntity(EntityDisperserCanister.class, "entity_disperser", 250); + addEntity(EntityWaypoint.class, "entity_waypoint", 250, false); + addMob(EntityCreeperNuclear.class, "entity_mob_nuclear_creeper", 0x204131, 0x75CE00); addMob(EntityCreeperTainted.class, "entity_mob_tainted_creeper", 0x813b9b, 0xd71fdd); addMob(EntityCreeperPhosgene.class, "entity_mob_phosgene_creeper", 0xE3D398, 0xB8A06B); @@ -262,7 +259,9 @@ public class EntityMappings { addMob(EntityGlyphidBlaster.class, "entity_glyphid_blaster", 0xD83737, 0xDBB79D); addMob(EntityGlyphidScout.class, "entity_glyphid_scout", 0x273038, 0xB9E36B); addMob(EntityGlyphidNuclear.class, "entity_glyphid_nuclear", 0x267F00, 0xA0A0A0); + addMob(EntityGlyphidDigger.class, "entity_glyphid_digger", 0x273038, 0x724A21); addMob(EntityPlasticBag.class, "entity_plastic_bag", 0xd0d0d0, 0x808080); + addMob(EntityParasiteMaggot.class, "entity_parasite_maggot", 0xd0d0d0, 0x808080); addSpawn(EntityCreeperPhosgene.class, 5, 1, 1, EnumCreatureType.monster, BiomeGenBase.getBiomeGenArray()); addSpawn(EntityCreeperVolatile.class, 10, 1, 1, EnumCreatureType.monster, BiomeGenBase.getBiomeGenArray()); diff --git a/src/main/java/com/hbm/entity/effect/EntityFalloutRain.java b/src/main/java/com/hbm/entity/effect/EntityFalloutRain.java index 4eae334d6..519e21fa1 100644 --- a/src/main/java/com/hbm/entity/effect/EntityFalloutRain.java +++ b/src/main/java/com/hbm/entity/effect/EntityFalloutRain.java @@ -4,23 +4,28 @@ import com.hbm.blocks.ModBlocks; import com.hbm.config.BombConfig; import com.hbm.config.FalloutConfigJSON; import com.hbm.config.FalloutConfigJSON.FalloutEntry; +import com.hbm.config.WorldConfig; import com.hbm.entity.item.EntityFallingBlockNT; +import com.hbm.entity.logic.EntityExplosionChunkloading; import com.hbm.saveddata.AuxSavedData; +import com.hbm.world.WorldUtil; +import com.hbm.world.biome.BiomeGenCraterBase; import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.entity.Entity; import net.minecraft.init.Blocks; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.Vec3; import net.minecraft.world.ChunkCoordIntPair; import net.minecraft.world.World; +import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.storage.WorldInfo; import net.minecraftforge.common.util.ForgeDirection; import java.util.*; -public class EntityFalloutRain extends Entity { +public class EntityFalloutRain extends EntityExplosionChunkloading { + private boolean firstTick = true; // Of course Vanilla has it private in Entity... public EntityFalloutRain(World p_i1582_1_) { @@ -43,39 +48,61 @@ public class EntityFalloutRain extends Entity { if(!worldObj.isRemote) { + long start = System.currentTimeMillis(); + if(firstTick) { - if (chunksToProcess.isEmpty() && outerChunksToProcess.isEmpty()) gatherChunks(); + if(chunksToProcess.isEmpty() && outerChunksToProcess.isEmpty()) gatherChunks(); firstTick = false; } if(tickDelay == 0) { tickDelay = BombConfig.fDelay; - if (!chunksToProcess.isEmpty()) { - long chunkPos = chunksToProcess.remove(chunksToProcess.size() - 1); // Just so it doesn't shift the whole list every time - int chunkPosX = (int) (chunkPos & Integer.MAX_VALUE); - int chunkPosZ = (int) (chunkPos >> 32 & Integer.MAX_VALUE); - for(int x = chunkPosX << 4; x <= (chunkPosX << 4) + 16; x++) { - for(int z = chunkPosZ << 4; z <= (chunkPosZ << 4) + 16; z++) { - stomp(x, z, Math.hypot(x - posX, z - posZ) * 100 / getScale()); - } - } - - } else if (!outerChunksToProcess.isEmpty()) { - long chunkPos = outerChunksToProcess.remove(outerChunksToProcess.size() - 1); - int chunkPosX = (int) (chunkPos & Integer.MAX_VALUE); - int chunkPosZ = (int) (chunkPos >> 32 & Integer.MAX_VALUE); - for(int x = chunkPosX << 4; x <= (chunkPosX << 4) + 16; x++) { - for(int z = chunkPosZ << 4; z <= (chunkPosZ << 4) + 16; z++) { - double distance = Math.hypot(x - posX, z - posZ); - if(distance <= getScale()) { - stomp(x, z, distance * 100 / getScale()); + while(System.currentTimeMillis() < start + BombConfig.mk5) { + if(!chunksToProcess.isEmpty()) { + long chunkPos = chunksToProcess.remove(chunksToProcess.size() - 1); // Just so it doesn't shift the whole list every time + int chunkPosX = (int) (chunkPos & Integer.MAX_VALUE); + int chunkPosZ = (int) (chunkPos >> 32 & Integer.MAX_VALUE); + boolean biomeModified = false; + for(int x = chunkPosX << 4; x <= (chunkPosX << 4) + 16; x++) { + for(int z = chunkPosZ << 4; z <= (chunkPosZ << 4) + 16; z++) { + double percent = Math.hypot(x - posX, z - posZ) * 100 / getScale(); + stomp(x, z, percent); + BiomeGenBase biome = getBiomeChange(percent, getScale(), worldObj.getBiomeGenForCoords(x, z)); + if(biome != null) { + WorldUtil.setBiome(worldObj, x, z, biome); + biomeModified = true; + } } } + if(biomeModified) WorldUtil.syncBiomeChange(worldObj, chunkPosX << 4, chunkPosZ << 4); + + } else if (!outerChunksToProcess.isEmpty()) { + long chunkPos = outerChunksToProcess.remove(outerChunksToProcess.size() - 1); + int chunkPosX = (int) (chunkPos & Integer.MAX_VALUE); + int chunkPosZ = (int) (chunkPos >> 32 & Integer.MAX_VALUE); + boolean biomeModified = false; + for(int x = chunkPosX << 4; x <= (chunkPosX << 4) + 16; x++) { + for(int z = chunkPosZ << 4; z <= (chunkPosZ << 4) + 16; z++) { + double distance = Math.hypot(x - posX, z - posZ); + if(distance <= getScale()) { + double percent = distance * 100 / getScale(); + stomp(x, z, percent); + BiomeGenBase biome = getBiomeChange(percent, getScale(), worldObj.getBiomeGenForCoords(x, z)); + if(biome != null) { + WorldUtil.setBiome(worldObj, x, z, biome); + biomeModified = true; + } + } + } + } + if(biomeModified) WorldUtil.syncBiomeChange(worldObj, chunkPosX << 4, chunkPosZ << 4); + + } else { + this.clearChunkLoader(); + this.setDead(); + break; } - - } else { - setDead(); } } @@ -93,6 +120,17 @@ public class EntityFalloutRain extends Entity { } } } + + public static BiomeGenBase getBiomeChange(double dist, int scale, BiomeGenBase original) { + if(!WorldConfig.enableCraterBiomes) return null; + if(scale >= 150 && dist < 15) + return BiomeGenCraterBase.craterInnerBiome; + if(scale >= 100 && dist < 55 && original != BiomeGenCraterBase.craterInnerBiome) + return BiomeGenCraterBase.craterBiome; + if(scale >= 25 && original != BiomeGenCraterBase.craterInnerBiome && original != BiomeGenCraterBase.craterBiome) + return BiomeGenCraterBase.craterOuterBiome; + return null; + } private final List chunksToProcess = new ArrayList<>(); private final List outerChunksToProcess = new ArrayList<>(); @@ -123,26 +161,28 @@ public class EntityFalloutRain extends Entity { Collections.reverse(outerChunksToProcess); } - //private List changedPositions = new ArrayList(); - - // TODO cache chunks? private void stomp(int x, int z, double dist) { int depth = 0; - for(int y = 255; y >= 0; y--) { + for(int y = 255; y >= 1; y--) { - if(depth >= 3) - return; + if(depth >= 3) return; Block b = worldObj.getBlock(x, y, z); + + if(b.getMaterial() == Material.air || b == ModBlocks.fallout) continue; + if(b == Blocks.bedrock) return; + + if(b == ModBlocks.volcano_core) { + worldObj.setBlock(x, y, z, ModBlocks.volcano_rad_core, worldObj.getBlockMetadata(x, y, z), 3); + continue; + } + Block ab = worldObj.getBlock(x, y + 1, z); int meta = worldObj.getBlockMetadata(x, y, z); - if(b.getMaterial() == Material.air) - continue; - - if(b != ModBlocks.fallout && (ab == Blocks.air || (ab.isReplaceable(worldObj, x, y + 1, z) && !ab.getMaterial().isLiquid()))) { + if(depth == 0 && b != ModBlocks.fallout && (ab == Blocks.air || (ab.isReplaceable(worldObj, x, y + 1, z) && !ab.getMaterial().isLiquid()))) { double d = dist / 100; @@ -153,7 +193,7 @@ public class EntityFalloutRain extends Entity { } if(dist < 65 && b.isFlammable(worldObj, x, y, z, ForgeDirection.UP)) { - if(rand.nextInt(5) == 0) + if(rand.nextInt(5) == 0 && worldObj.getBlock(x, y + 1, z).isAir(worldObj, x, y + 1, z)) setBlock(x, y + 1, z, Blocks.fire); } @@ -161,7 +201,7 @@ public class EntityFalloutRain extends Entity { for(FalloutEntry entry : FalloutConfigJSON.entries) { - if(entry.eval(worldObj, x, y, z, b, meta, dist)) { + if(entry.eval(worldObj, x, y, z, b, meta, dist, b, meta)) { if(entry.isSolid()) { depth++; } @@ -173,12 +213,12 @@ public class EntityFalloutRain extends Entity { float hardness = b.getBlockHardness(worldObj, x, y, z); if(dist < 65 && hardness <= Blocks.stonebrick.getExplosionResistance(null) && hardness >= 0/* && !b.hasTileEntity(worldObj.getBlockMetadata(x, y, z))*/) { - Block bl = worldObj.getBlock(x, y - 1, z); - if(bl == Blocks.air) { + if(worldObj.getBlock(x, y - 1, z) == Blocks.air) { for(int i = 0; i <= depth; i++) { - hardness = worldObj.getBlock(x, y + i, z).getBlockHardness(worldObj, x, y + i, z); + Block block = worldObj.getBlock(x, y + i, z); + hardness = block.getBlockHardness(worldObj, x, y + i, z); if(hardness <= Blocks.stonebrick.getExplosionResistance(null) && hardness >= 0) { - EntityFallingBlockNT entityfallingblock = new EntityFallingBlockNT(worldObj, x + 0.5D, y + 0.5D + i, z + 0.5D, worldObj.getBlock(x, y + i, z), worldObj.getBlockMetadata(x, y + i, z)); + EntityFallingBlockNT entityfallingblock = new EntityFallingBlockNT(worldObj, x + 0.5D, y + 0.5D + i, z + 0.5D, block, worldObj.getBlockMetadata(x, y + i, z)); entityfallingblock.canDrop = false; //turn off block drops because block dropping was coded by a mule with dementia worldObj.spawnEntityInWorld(entityfallingblock); } @@ -202,6 +242,7 @@ public class EntityFalloutRain extends Entity { @Override protected void entityInit() { + super.entityInit(); this.dataWatcher.addObject(16, 0); } diff --git a/src/main/java/com/hbm/entity/effect/EntityMist.java b/src/main/java/com/hbm/entity/effect/EntityMist.java index ceb2dc014..50df95ae6 100644 --- a/src/main/java/com/hbm/entity/effect/EntityMist.java +++ b/src/main/java/com/hbm/entity/effect/EntityMist.java @@ -2,15 +2,12 @@ package com.hbm.entity.effect; import java.util.List; +import com.hbm.entity.mob.glyphid.EntityGlyphid; import com.hbm.extprop.HbmLivingProps; import com.hbm.handler.radiation.ChunkRadiationManager; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; -import com.hbm.inventory.fluid.trait.FT_Corrosive; -import com.hbm.inventory.fluid.trait.FT_Flammable; -import com.hbm.inventory.fluid.trait.FT_Poison; -import com.hbm.inventory.fluid.trait.FT_Toxin; -import com.hbm.inventory.fluid.trait.FT_VentRadiation; +import com.hbm.inventory.fluid.trait.*; import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Gaseous; import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Gaseous_ART; import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Liquid; @@ -25,13 +22,16 @@ import com.hbm.util.ContaminationUtil.HazardType; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; import net.minecraft.world.World; public class EntityMist extends Entity { @@ -40,12 +40,16 @@ public class EntityMist extends Entity { super(world); this.noClip = true; } - + public int maxAge = 150; public EntityMist setArea(float width, float height) { this.dataWatcher.updateObject(11, width); this.dataWatcher.updateObject(12, height); return this; } + public EntityMist setDuration(int duration){ + this.maxAge = duration; + return this; + } @Override protected void entityInit() { @@ -74,7 +78,7 @@ public class EntityMist extends Entity { if(!worldObj.isRemote) { - if(this.ticksExisted > this.getMaxAge()) { + if(this.ticksExisted >= this.getMaxAge()) { this.setDead(); } @@ -128,7 +132,7 @@ public class EntityMist extends Entity { EntityLivingBase living = e instanceof EntityLivingBase ? (EntityLivingBase) e : null; if(type.temperature >= 100) { - EntityDamageUtil.attackEntityFromIgnoreIFrame(e, new DamageSource(ModDamageSource.s_boil), 5F + (type.temperature - 100) * 0.02F); + EntityDamageUtil.attackEntityFromIgnoreIFrame(e, new DamageSource(ModDamageSource.s_boil), 0.2F + (type.temperature - 100) * 0.02F); if(type.temperature >= 500) { e.setFire(10); //afterburn for 10 seconds @@ -136,7 +140,7 @@ public class EntityMist extends Entity { } if(type.temperature < -20) { if(living != null) { //only living things are affected - EntityDamageUtil.attackEntityFromIgnoreIFrame(e, new DamageSource(ModDamageSource.s_cryolator), 5F + (type.temperature + 20) * -0.05F); //5 damage at -20°C with one extra damage every -20°C + EntityDamageUtil.attackEntityFromIgnoreIFrame(e, new DamageSource(ModDamageSource.s_cryolator), 0.2F + (type.temperature + 20) * -0.05F); //5 damage at -20°C with one extra damage every -20°C living.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 100, 2)); living.addPotionEffect(new PotionEffect(Potion.digSlowdown.id, 100, 4)); } @@ -160,11 +164,11 @@ public class EntityMist extends Entity { if(type.hasTrait(FT_Corrosive.class)) { FT_Corrosive trait = type.getTrait(FT_Corrosive.class); - EntityDamageUtil.attackEntityFromIgnoreIFrame(e, new DamageSource(ModDamageSource.s_acid), trait.getRating() / 20F); if(living != null) { + EntityDamageUtil.attackEntityFromIgnoreIFrame(living, ModDamageSource.acid, trait.getRating() / 60F); for(int i = 0; i < 4; i++) { - ArmorUtil.damageSuit(living, i, trait.getRating() / 5); + ArmorUtil.damageSuit(living, i, trait.getRating() / 50); } } } @@ -191,14 +195,37 @@ public class EntityMist extends Entity { trait.affect(living, intensity); } } + + if(type == Fluids.ENDERJUICE && living != null){ + teleportRandomly(living); + } + + if(type.hasTrait(FT_Pheromone.class)){ + + FT_Pheromone pheromone = type.getTrait(FT_Pheromone.class); + + if(living != null) { + if ((living instanceof EntityGlyphid && pheromone.getType() == 1) || (living instanceof EntityPlayer && pheromone.getType() == 2)) { + int mult = pheromone.getType(); + + living.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, mult * 60 * 20, 1)); + living.addPotionEffect(new PotionEffect(Potion.digSpeed.id, mult * 60 * 20, 1)); + living.addPotionEffect(new PotionEffect(Potion.regeneration.id, mult * 2 * 20, 0)); + living.addPotionEffect(new PotionEffect(Potion.resistance.id, mult * 60 * 20, 0)); + living.addPotionEffect(new PotionEffect(Potion.damageBoost.id, mult * 60 * 20, 1)); + living.addPotionEffect(new PotionEffect(Potion.fireResistance.id, mult * 60 * 20, 0)); + + } + } + } } protected boolean isExtinguishing(FluidType type) { - return this.getStyleFromType(type) == SprayStyle.MIST && this.getType().temperature < 50 && !type.hasTrait(FT_Flammable.class); + return this.getType().temperature < 50 && !type.hasTrait(FT_Flammable.class); } public int getMaxAge() { - return getStyleFromType(this.getType()) == SprayStyle.GAS ? 600 : 150; + return maxAge; } @Override @@ -242,10 +269,76 @@ public class EntityMist extends Entity { return SprayStyle.NULL; } - + public static enum SprayStyle { MIST, //liquids that have been sprayed into a mist GAS, //things that were already gaseous NULL } + + //terribly copy-pasted from EntityChemical.class, whose method was terribly copy-pasted from EntityEnderman.class + //the fun never ends + public void teleportRandomly(Entity e) { + double x = this.posX + (this.rand.nextDouble() - 0.5D) * 64.0D; + double y = this.posY + (double) (this.rand.nextInt(64) - 32); + double z = this.posZ + (this.rand.nextDouble() - 0.5D) * 64.0D; + this.teleportTo(e, x, y, z); + } + + public void teleportTo(Entity e, double x, double y, double z) { + + double targetX = e.posX; + double targetY = e.posY; + double targetZ = e.posZ; + e.posX = x; + e.posY = y; + e.posZ = z; + boolean flag = false; + int i = MathHelper.floor_double(e.posX); + int j = MathHelper.floor_double(e.posY); + int k = MathHelper.floor_double(e.posZ); + + if(e.worldObj.blockExists(i, j, k)) { + boolean flag1 = false; + + while(!flag1 && j > 0) { + Block block = e.worldObj.getBlock(i, j - 1, k); + + if(block.getMaterial().blocksMovement()) { + flag1 = true; + } else { + --e.posY; + --j; + } + } + + if(flag1) { + e.setPosition(e.posX, e.posY, e.posZ); + + if(e.worldObj.getCollidingBoundingBoxes(e, e.boundingBox).isEmpty() && !e.worldObj.isAnyLiquid(e.boundingBox)) { + flag = true; + } + } + } + + if(!flag) { + e.setPosition(targetX, targetY, targetZ); + } else { + short short1 = 128; + + for(int l = 0; l < short1; ++l) { + double d6 = (double) l / ((double) short1 - 1.0D); + float f = (this.rand.nextFloat() - 0.5F) * 0.2F; + float f1 = (this.rand.nextFloat() - 0.5F) * 0.2F; + float f2 = (this.rand.nextFloat() - 0.5F) * 0.2F; + double d7 = targetX + (e.posX - targetX) * d6 + (this.rand.nextDouble() - 0.5D) * (double) e.width * 2.0D; + double d8 = targetY + (e.posY - targetY) * d6 + this.rand.nextDouble() * (double) e.height; + double d9 = targetZ + (e.posZ - targetZ) * d6 + (this.rand.nextDouble() - 0.5D) * (double) e.width * 2.0D; + e.worldObj.spawnParticle("portal", d7, d8, d9, (double) f, (double) f1, (double) f2); + } + + e.worldObj.playSoundEffect(targetX, targetY, targetZ, "mob.endermen.portal", 1.0F, 1.0F); + e.playSound("mob.endermen.portal", 1.0F, 1.0F); + } + } } diff --git a/src/main/java/com/hbm/entity/effect/EntityNukeCloudBig.java b/src/main/java/com/hbm/entity/effect/EntityNukeCloudBig.java deleted file mode 100644 index f8377f8b0..000000000 --- a/src/main/java/com/hbm/entity/effect/EntityNukeCloudBig.java +++ /dev/null @@ -1,97 +0,0 @@ -package com.hbm.entity.effect; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.entity.Entity; -import net.minecraft.entity.effect.EntityLightningBolt; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.world.World; - -public class EntityNukeCloudBig extends Entity { - - public int maxAge = 1000; - public int age; - public float scale = 0; - public float ring = 0; - public float height = 0; - - public EntityNukeCloudBig(World p_i1582_1_) { - super(p_i1582_1_); - this.setSize(1, 80); - this.ignoreFrustumCheck = true; - this.isImmuneToFire = true; - this.age = 0; - scale = 0; - ring = 0; - height = 0; - } - - @Override - @SideOnly(Side.CLIENT) - public int getBrightnessForRender(float p_70070_1_) - { - return 15728880; - } - - @Override - public float getBrightness(float p_70013_1_) - { - return 1.0F; - } - - public EntityNukeCloudBig(World p_i1582_1_, int maxAge) { - super(p_i1582_1_); - this.setSize(20, 40); - this.isImmuneToFire = true; - this.maxAge = maxAge; - } - - @Override - public void onUpdate() { - //super.onUpdate(); - this.age++; - this.worldObj.spawnEntityInWorld(new EntityLightningBolt(this.worldObj, this.posX, this.posY + 200, this.posZ)); - - if(this.age >= this.maxAge) - { - this.age = 0; - this.setDead(); - } - ring += 0.1F; - - if(age < 150) - { - height = -60F + ((age - 100) * 60 / 50); - if(scale < 1.5) - { - scale += 0.02; - } - } - - if(age > 100) - { - if(scale < 1.5) - { - scale += 0.02; - } - } else { - scale = 0; - } - } - - @Override - protected void entityInit() { - - } - - @Override - protected void readEntityFromNBT(NBTTagCompound p_70037_1_) { - age = p_70037_1_.getShort("age"); - } - - @Override - protected void writeEntityToNBT(NBTTagCompound p_70014_1_) { - p_70014_1_.setShort("age", (short)age); - - } -} diff --git a/src/main/java/com/hbm/entity/effect/EntityNukeCloudSmall.java b/src/main/java/com/hbm/entity/effect/EntityNukeCloudSmall.java deleted file mode 100644 index 2aee5b349..000000000 --- a/src/main/java/com/hbm/entity/effect/EntityNukeCloudSmall.java +++ /dev/null @@ -1,150 +0,0 @@ -package com.hbm.entity.effect; - -import java.util.ArrayList; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.entity.Entity; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; - -@Deprecated -public class EntityNukeCloudSmall extends Entity { - - public int maxAge = 1000; - public int age; - - public static int cloudletLife = 50; - public ArrayList cloudlets = new ArrayList(); - - public EntityNukeCloudSmall(World p_i1582_1_) { - super(p_i1582_1_); - this.setSize(20, 40); - this.ignoreFrustumCheck = true; - this.isImmuneToFire = true; - this.age = 0; - this.noClip = true; - } - - public EntityNukeCloudSmall(World p_i1582_1_, int maxAge, float scale) { - super(p_i1582_1_); - this.setSize(20, 40); - this.isImmuneToFire = true; - this.maxAge = maxAge; - this.noClip = true; - this.dataWatcher.updateObject(18, scale); - } - - @Override - public void onUpdate() { - - this.age++; - - this.worldObj.lastLightningBolt = 2; - - if(this.age >= this.maxAge) - { - this.age = 0; - this.setDead(); - } - - int cloudCount = age * 3; - - Vec3 vec = Vec3.createVectorHelper(age * 2, 0, 0); - - int toRem = 0; - - for(int i = 0; i < this.cloudlets.size(); i++) { - - if(age > cloudlets.get(i).age + cloudletLife) - toRem = i; - else - break; - } - - for(int i = 0; i < toRem; i++) - this.cloudlets.remove(0); - - if(age < 200) { - for(int i = 0; i < cloudCount; i++) { - vec.rotateAroundY((float)(Math.PI * 2 * worldObj.rand.nextDouble())); - - this.cloudlets.add(new Cloudlet(vec.xCoord, worldObj.getHeightValue((int) (vec.xCoord + posX), (int) (vec.zCoord + posZ)), vec.zCoord, age)); - } - } - - this.dataWatcher.updateObject(16, (short)maxAge); - this.dataWatcher.updateObject(17, (short)age); - } - - @Override - protected void entityInit() { - this.dataWatcher.addObject(16, (short)maxAge); - this.dataWatcher.addObject(17, (short)age); - this.dataWatcher.addObject(18, 1.0F); - this.dataWatcher.addObject(19, Byte.valueOf((byte)0)); - } - - @Override - protected void readEntityFromNBT(NBTTagCompound p_70037_1_) { - maxAge = p_70037_1_.getShort("maxAge"); - age = p_70037_1_.getShort("age"); - this.dataWatcher.updateObject(18, p_70037_1_.getFloat("scale")); - this.dataWatcher.updateObject(19, p_70037_1_.getByte("type")); - } - - @Override - protected void writeEntityToNBT(NBTTagCompound p_70014_1_) { - p_70014_1_.setShort("maxAge", (short)maxAge); - p_70014_1_.setShort("age", (short)age); - p_70014_1_.setFloat("scale", this.dataWatcher.getWatchableObjectFloat(18)); - p_70014_1_.setByte("type", this.dataWatcher.getWatchableObjectByte(19)); - - } - - public static EntityNukeCloudSmall statFac(World world, double x, double y, double z, float radius) { - - EntityNukeCloudSmall cloud = new EntityNukeCloudSmall(world, (int)radius * 5, radius * 0.005F); - cloud.posX = x; - cloud.posY = y; - cloud.posZ = z; - cloud.dataWatcher.updateObject(19, (byte)0); - - return cloud; - } - - public static EntityNukeCloudSmall statFacBale(World world, double x, double y, double z, float radius, int maxAge) { - - EntityNukeCloudSmall cloud = new EntityNukeCloudSmall(world, (int)radius * 5, radius * 0.005F); - cloud.posX = x; - cloud.posY = y; - cloud.posZ = z; - cloud.dataWatcher.updateObject(19, (byte)1); - - return cloud; - } - - @Override - @SideOnly(Side.CLIENT) - public boolean isInRangeToRenderDist(double distance) - { - return true; - } - - public static class Cloudlet { - - public double posX; - public double posY; - public double posZ; - public int age; - - public Cloudlet(double posX, double posY, double posZ, int age) { - this.posX = posX; - this.posY = posY; - this.posZ = posZ; - this.age = age; - } - } - -} diff --git a/src/main/java/com/hbm/entity/effect/EntityNukeTorex.java b/src/main/java/com/hbm/entity/effect/EntityNukeTorex.java index 56f2a9f67..bc6eafaec 100644 --- a/src/main/java/com/hbm/entity/effect/EntityNukeTorex.java +++ b/src/main/java/com/hbm/entity/effect/EntityNukeTorex.java @@ -1,7 +1,10 @@ package com.hbm.entity.effect; +import java.awt.Color; import java.util.ArrayList; +import com.hbm.main.MainRegistry; +import com.hbm.util.BobMathUtil; import com.hbm.util.TrackerUtil; import cpw.mods.fml.relauncher.Side; @@ -27,6 +30,9 @@ public class EntityNukeTorex extends Entity { public ArrayList cloudlets = new ArrayList(); //public static int cloudletLife = 200; + public boolean didPlaySound = false; + public boolean didShake = false; + public EntityNukeTorex(World world) { super(world); this.ignoreFrustumCheck = true; @@ -53,12 +59,14 @@ public class EntityNukeTorex extends Entity { @Override public void onUpdate() { - double s = this.getScale(); + double s = 1.5; //this.getScale(); double cs = 1.5; int maxAge = this.getMaxAge(); if(worldObj.isRemote) { + if(ticksExisted == 1) this.setScale((float) s); + if(lastSpawnY == -1) { lastSpawnY = posY - 3; } @@ -87,39 +95,77 @@ public class EntityNukeTorex extends Entity { } // spawn shock clouds - if(ticksExisted < 100) { + if(ticksExisted < 150) { int cloudCount = ticksExisted * 5; int shockLife = Math.max(300 - ticksExisted * 20, 50); for(int i = 0; i < cloudCount; i++) { - Vec3 vec = Vec3.createVectorHelper((ticksExisted * 2 + rand.nextDouble()) * 2, 0, 0); + Vec3 vec = Vec3.createVectorHelper((ticksExisted * 1.5 + rand.nextDouble()) * 1.5, 0, 0); float rot = (float) (Math.PI * 2 * rand.nextDouble()); vec.rotateAroundY(rot); - this.cloudlets.add(new Cloudlet(vec.xCoord + posX, worldObj.getHeightValue((int) (vec.xCoord + posX) + 1, (int) (vec.zCoord + posZ)), vec.zCoord + posZ, rot, 0, shockLife) - .setScale(5F, 2F) - .setMotion(0)); + this.cloudlets.add(new Cloudlet(vec.xCoord + posX, worldObj.getHeightValue((int) (vec.xCoord + posX) + 1, (int) (vec.zCoord + posZ)), vec.zCoord + posZ, rot, 0, shockLife, TorexType.SHOCK) + .setScale(7F, 2F) + .setMotion(ticksExisted > 15 ? 0.75 : 0)); + } + + if(!didPlaySound) { + if(MainRegistry.proxy.me() != null && MainRegistry.proxy.me().getDistanceToEntity(this) < (ticksExisted * 1.5 + 1) * 1.5) { + MainRegistry.proxy.playSoundClient(posX, posY, posZ, "hbm:weapon.nuclearExplosion", 10_000F, 1F); + didPlaySound = true; + } } } // spawn ring clouds - if(ticksExisted < 200) { + if(ticksExisted < 130 * s) { + lifetime *= s; for(int i = 0; i < 2; i++) { Cloudlet cloud = new Cloudlet(posX, posY + coreHeight, posZ, (float)(rand.nextDouble() * 2D * Math.PI), 0, lifetime, TorexType.RING); - cloud.setScale(1F + this.ticksExisted * 0.005F * (float) cs * 0.5F, 3F * (float) (cs * s)); + cloud.setScale(1F + this.ticksExisted * 0.0025F * (float) (cs * cs), 3F * (float) (cs * cs)); cloudlets.add(cloud); } } + // spawn condensation clouds + if(ticksExisted > 130 * s && ticksExisted < 600 * s) { + + for(int i = 0; i < 20; i++) { + for(int j = 0; j < 4; j++) { + float angle = (float) (Math.PI * 2 * rand.nextDouble()); + Vec3 vec = Vec3.createVectorHelper(torusWidth + rollerSize * (5 + rand.nextDouble()), 0, 0); + vec.rotateAroundZ((float) (Math.PI / 45 * j)); + vec.rotateAroundY(angle); + Cloudlet cloud = new Cloudlet(posX + vec.xCoord, posY + coreHeight - 5 + j * s, posZ + vec.zCoord, angle, 0, (int) ((20 + ticksExisted / 10) * (1 + rand.nextDouble() * 0.1)), TorexType.CONDENSATION); + cloud.setScale(0.125F * (float) (cs), 3F * (float) (cs)); + cloudlets.add(cloud); + } + } + } + if(ticksExisted > 200 * s && ticksExisted < 600 * s) { + + for(int i = 0; i < 20; i++) { + for(int j = 0; j < 4; j++) { + float angle = (float) (Math.PI * 2 * rand.nextDouble()); + Vec3 vec = Vec3.createVectorHelper(torusWidth + rollerSize * (3 + rand.nextDouble() * 0.5), 0, 0); + vec.rotateAroundZ((float) (Math.PI / 45 * j)); + vec.rotateAroundY(angle); + Cloudlet cloud = new Cloudlet(posX + vec.xCoord, posY + coreHeight + 25 + j * cs, posZ + vec.zCoord, angle, 0, (int) ((20 + ticksExisted / 10) * (1 + rand.nextDouble() * 0.1)), TorexType.CONDENSATION); + cloud.setScale(0.125F * (float) (cs), 3F * (float) (cs)); + cloudlets.add(cloud); + } + } + } + for(Cloudlet cloud : cloudlets) { cloud.update(); } - coreHeight += 0.15/* * s*/; - torusWidth += 0.05/* * s*/; + coreHeight += 0.15 / s; + torusWidth += 0.05 / s; rollerSize = torusWidth * 0.35; convectionHeight = coreHeight + rollerSize; - int maxHeat = (int) (50 * s); + int maxHeat = (int) (50 * cs); heat = maxHeat - Math.pow((maxHeat * this.ticksExisted) / maxAge, 1); cloudlets.removeIf(x -> x.isDead); @@ -131,7 +177,7 @@ public class EntityNukeTorex extends Entity { } public EntityNukeTorex setScale(float scale) { - getDataWatcher().updateObject(10, scale); + if(!worldObj.isRemote) getDataWatcher().updateObject(10, scale); this.coreHeight = this.coreHeight / 1.5D * scale; this.convectionHeight = this.convectionHeight / 1.5D * scale; this.torusWidth = this.torusWidth / 1.5D * scale; @@ -265,11 +311,24 @@ public class EntityNukeTorex extends Entity { this.motionX = convection.xCoord * factor + lift.xCoord * (1D - factor); this.motionY = convection.yCoord * factor + lift.yCoord * (1D - factor); this.motionZ = convection.zCoord * factor + lift.zCoord * (1D - factor); + } else if(this.type == TorexType.SHOCK) { + + double factor = MathHelper.clamp_double((this.posY - EntityNukeTorex.this.posY) / EntityNukeTorex.this.coreHeight, 0, 1); + Vec3 motion = Vec3.createVectorHelper(1, 0, 0); + motion.rotateAroundY(this.angle); + this.motionX = motion.xCoord * factor; + this.motionY = motion.yCoord * factor; + this.motionZ = motion.zCoord * factor; } else if(this.type == TorexType.RING) { Vec3 motion = getRingMotion(simPosX, simPosZ); this.motionX = motion.xCoord; this.motionY = motion.yCoord; this.motionZ = motion.zCoord; + } else if(this.type == TorexType.CONDENSATION) { + Vec3 motion = getCondensationMotion(); + this.motionX = motion.xCoord; + this.motionY = motion.yCoord; + this.motionZ = motion.zCoord; } double mult = this.motionMult * getSimulationSpeed(); @@ -281,22 +340,15 @@ public class EntityNukeTorex extends Entity { this.updateColor(); } - private Vec3 getRingMotion(double simPosX, double simPosZ) { - - /*Vec3 targetPos = Vec3.createVectorHelper( - (EntityNukeTorex.this.posX + torusWidth * 1), - (EntityNukeTorex.this.posY + coreHeight * 0.5), - EntityNukeTorex.this.posZ); - - Vec3 delta = Vec3.createVectorHelper(targetPos.xCoord - simPosX, targetPos.yCoord - this.posY, targetPos.zCoord - simPosZ); - - double speed = 0.125D; + private Vec3 getCondensationMotion() { + Vec3 delta = Vec3.createVectorHelper(posX - EntityNukeTorex.this.posX, 0, posZ - EntityNukeTorex.this.posZ); + double speed = 0.00002 * EntityNukeTorex.this.ticksExisted; delta.xCoord *= speed; - delta.yCoord *= speed; delta.zCoord *= speed; - - delta.rotateAroundY(this.angle); - return delta;*/ + return delta; + } + + private Vec3 getRingMotion(double simPosX, double simPosZ) { if(simPosX > EntityNukeTorex.this.posX + torusWidth * 2) return Vec3.createVectorHelper(0, 0, 0); @@ -345,9 +397,6 @@ public class EntityNukeTorex extends Entity { /* simulated on a 2D-plane along the X/Y axis */ private Vec3 getConvectionMotion(double simPosX, double simPosZ) { - if(simPosX > EntityNukeTorex.this.posX + torusWidth * 2) - return Vec3.createVectorHelper(0, 0, 0); - /* the position of the torus' outer ring center */ Vec3 torusPos = Vec3.createVectorHelper( (EntityNukeTorex.this.posX + torusWidth), @@ -423,6 +472,17 @@ public class EntityNukeTorex extends Entity { Math.max(col * 2, 0.25), Math.max(col * 0.5, 0.25) ); + } else if(type == 2) { + Color color = Color.getHSBColor(this.angle / 2F / (float) Math.PI, 1F, 1F); + if(this.type == TorexType.RING) { + this.color = Vec3.createVectorHelper( + Math.max(col * 1, 0.25), + Math.max(col * 1, 0.25), + Math.max(col * 1, 0.25) + ); + } else { + this.color = Vec3.createVectorHelper(color.getRed() / 255D, color.getGreen() / 255D, color.getBlue() / 255D); + } } else { this.color = Vec3.createVectorHelper( Math.max(col * 2, 0.25), @@ -433,13 +493,27 @@ public class EntityNukeTorex extends Entity { } public Vec3 getInterpPos(float interp) { - return Vec3.createVectorHelper( + float scale = (float) EntityNukeTorex.this.getScale(); + Vec3 base = Vec3.createVectorHelper( prevPosX + (posX - prevPosX) * interp, prevPosY + (posY - prevPosY) * interp, prevPosZ + (posZ - prevPosZ) * interp); + + if(this.type != TorexType.SHOCK) { //no rescale for the shockwave as this messes with the positions + base.xCoord = ((base.xCoord) - EntityNukeTorex.this.posX) * scale + EntityNukeTorex.this.posX; + base.yCoord = ((base.yCoord) - EntityNukeTorex.this.posY) * scale + EntityNukeTorex.this.posY; + base.zCoord = ((base.zCoord) - EntityNukeTorex.this.posZ) * scale + EntityNukeTorex.this.posZ; + } + + return base; } public Vec3 getInterpColor(float interp) { + + if(this.type == TorexType.CONDENSATION) { + return Vec3.createVectorHelper(1F, 1F, 1F); + } + double greying = EntityNukeTorex.this.getGreying(); if(this.type == TorexType.RING) { @@ -453,14 +527,18 @@ public class EntityNukeTorex extends Entity { } public float getAlpha() { - return (1F - ((float)age / (float)cloudletLife)) * EntityNukeTorex.this.getAlpha(); + float alpha = (1F - ((float)age / (float)cloudletLife)) * EntityNukeTorex.this.getAlpha(); + if(this.type == TorexType.CONDENSATION) alpha *= 0.25; + return alpha; } private float startingScale = 1; private float growingScale = 5F; public float getScale() { - return startingScale + ((float)age / (float)cloudletLife) * growingScale; + float base = startingScale + ((float)age / (float)cloudletLife) * growingScale; + if(this.type != TorexType.SHOCK) base *= (float) EntityNukeTorex.this.getScale(); + return base; } public Cloudlet setScale(float start, float grow) { @@ -479,7 +557,9 @@ public class EntityNukeTorex extends Entity { public static enum TorexType { STANDARD, - RING + SHOCK, + RING, + CONDENSATION } @Override protected void writeEntityToNBT(NBTTagCompound nbt) { } @@ -493,15 +573,17 @@ public class EntityNukeTorex extends Entity { } public static void statFac(World world, double x, double y, double z, float scale) { - EntityNukeTorex torex = new EntityNukeTorex(world).setScale(MathHelper.clamp_float(scale * 0.01F, 0.5F, 5F)); + EntityNukeTorex torex = new EntityNukeTorex(world).setScale(MathHelper.clamp_float((float) BobMathUtil.squirt(scale * 0.01) * 1.5F, 0.5F, 5F)); torex.setPosition(x, y, z); + torex.forceSpawn = true; world.spawnEntityInWorld(torex); TrackerUtil.setTrackingRange(world, torex, 1000); } public static void statFacBale(World world, double x, double y, double z, float scale) { - EntityNukeTorex torex = new EntityNukeTorex(world).setScale(MathHelper.clamp_float(scale * 0.01F, 0.5F, 5F)).setType(1); + EntityNukeTorex torex = new EntityNukeTorex(world).setScale(MathHelper.clamp_float((float) BobMathUtil.squirt(scale * 0.01) * 1.5F, 0.5F, 5F)).setType(1); torex.setPosition(x, y, z); + torex.forceSpawn = true; world.spawnEntityInWorld(torex); TrackerUtil.setTrackingRange(world, torex, 1000); } diff --git a/src/main/java/com/hbm/entity/grenade/EntityDisperserCanister.java b/src/main/java/com/hbm/entity/grenade/EntityDisperserCanister.java new file mode 100644 index 000000000..3316c8015 --- /dev/null +++ b/src/main/java/com/hbm/entity/grenade/EntityDisperserCanister.java @@ -0,0 +1,75 @@ +package com.hbm.entity.grenade; + +import com.hbm.entity.effect.EntityMist; +import com.hbm.inventory.fluid.FluidType; +import com.hbm.inventory.fluid.Fluids; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.Item; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; + +public class EntityDisperserCanister extends EntityGrenadeBase { + + public EntityDisperserCanister(World p_i1773_1_) { + super(p_i1773_1_); + } + + public EntityDisperserCanister(World p_i1774_1_, EntityLivingBase p_i1774_2_) { + super(p_i1774_1_, p_i1774_2_); + } + + public EntityDisperserCanister(World p_i1775_1_, double p_i1775_2_, double p_i1775_4_, double p_i1775_6_) { + super(p_i1775_1_, p_i1775_2_, p_i1775_4_, p_i1775_6_); + } + + public EntityDisperserCanister setFluid(int id) { + this.dataWatcher.updateObject(12, id); + return this; + } + + @Override + protected void entityInit() { + this.dataWatcher.addObject(12, 0); + this.dataWatcher.addObject(13, 0); + } + + public EntityDisperserCanister setType(int id) { + this.dataWatcher.updateObject(13, id); + return this; + } + + public FluidType getFluid() { + return Fluids.fromID(this.dataWatcher.getWatchableObjectInt(12)); + } + + public Item getType() { + return Item.getItemById(this.dataWatcher.getWatchableObjectInt(13)); + } + + @Override + public void explode() { + if(!worldObj.isRemote) { + EntityMist mist = new EntityMist(worldObj); + mist.setType(getFluid()); + mist.setPosition(posX, posY, posZ); + mist.setArea(10, 5); + mist.setDuration(80); + worldObj.spawnEntityInWorld(mist); + } + } + + @Override + public void writeEntityToNBT(NBTTagCompound nbt) { + super.writeEntityToNBT(nbt); + nbt.setInteger("fluid", this.dataWatcher.getWatchableObjectInt(12)); + nbt.setInteger("item", this.dataWatcher.getWatchableObjectInt(13)); + } + + @Override + public void readEntityFromNBT(NBTTagCompound nbt) { + super.readEntityFromNBT(nbt); + this.dataWatcher.updateObject(12, nbt.getInteger("fluid")); + this.dataWatcher.updateObject(13, nbt.getInteger("item")); + + } +} diff --git a/src/main/java/com/hbm/entity/grenade/EntityGrenadeBase.java b/src/main/java/com/hbm/entity/grenade/EntityGrenadeBase.java index 9b0062987..03b16f48c 100644 --- a/src/main/java/com/hbm/entity/grenade/EntityGrenadeBase.java +++ b/src/main/java/com/hbm/entity/grenade/EntityGrenadeBase.java @@ -13,6 +13,7 @@ import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraft.world.World; +@Deprecated public abstract class EntityGrenadeBase extends EntityThrowable { public EntityGrenadeBase(World p_i1773_1_) { @@ -31,24 +32,20 @@ public abstract class EntityGrenadeBase extends EntityThrowable { public void onUpdate() { super.onUpdate(); - - this.prevRotationPitch = this.rotationPitch; - - this.rotationPitch -= Vec3.createVectorHelper(motionX, motionY, motionZ).lengthVector() * 25; - - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - while (this.rotationYaw - this.prevRotationYaw < -180.0F) - { - this.prevRotationYaw -= 360.0F; - } + this.prevRotationPitch = this.rotationPitch; + this.rotationPitch -= Vec3.createVectorHelper(motionX, motionY, motionZ).lengthVector() * 25; + this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) - { - this.prevRotationYaw += 360.0F; - } + while(this.rotationYaw - this.prevRotationYaw < -180.0F) { + this.prevRotationYaw -= 360.0F; + } - this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; + while(this.rotationYaw - this.prevRotationYaw >= 180.0F) { + this.prevRotationYaw += 360.0F; + } + + this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; } @Override diff --git a/src/main/java/com/hbm/entity/item/EntityDeliveryDrone.java b/src/main/java/com/hbm/entity/item/EntityDeliveryDrone.java index 531c19d3d..58ee212b4 100644 --- a/src/main/java/com/hbm/entity/item/EntityDeliveryDrone.java +++ b/src/main/java/com/hbm/entity/item/EntityDeliveryDrone.java @@ -21,8 +21,8 @@ public class EntityDeliveryDrone extends EntityDroneBase implements IInventory, protected ItemStack[] slots = new ItemStack[this.getSizeInventory()]; public FluidStack fluid; + protected boolean chunkLoading = false; private Ticket loaderTicket; - public boolean isChunkLoading = false; public EntityDeliveryDrone(World world) { super(world); @@ -36,6 +36,7 @@ public class EntityDeliveryDrone extends EntityDroneBase implements IInventory, public EntityDeliveryDrone setChunkLoading() { init(ForgeChunkManager.requestTicket(MainRegistry.instance, worldObj, Type.ENTITY)); + this.chunkLoading = true; return this; } @@ -77,6 +78,7 @@ public class EntityDeliveryDrone extends EntityDroneBase implements IInventory, } nbt.setByte("load", this.dataWatcher.getWatchableObjectByte(11)); + nbt.setBoolean("chunkLoading", chunkLoading); } @Override @@ -100,6 +102,7 @@ public class EntityDeliveryDrone extends EntityDroneBase implements IInventory, } this.dataWatcher.updateObject(11, nbt.getByte("load")); + if(nbt.getBoolean("chunkLoading")) this.setChunkLoading(); } @Override diff --git a/src/main/java/com/hbm/entity/item/EntityFallingBlockNT.java b/src/main/java/com/hbm/entity/item/EntityFallingBlockNT.java index cabc90143..150c4352f 100644 --- a/src/main/java/com/hbm/entity/item/EntityFallingBlockNT.java +++ b/src/main/java/com/hbm/entity/item/EntityFallingBlockNT.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import java.util.Iterator; import com.hbm.blocks.BlockFallingNT; +import com.hbm.blocks.ISpotlight; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -91,7 +92,7 @@ public class EntityFallingBlockNT extends Entity { public void onUpdate() { - if(this.getBlock().getMaterial() == Material.air) { + if(this.getBlock().getMaterial() == Material.air || this.getBlock() instanceof ISpotlight) { this.setDead(); } else { this.prevPosX = this.posX; diff --git a/src/main/java/com/hbm/entity/logic/EntityBalefire.java b/src/main/java/com/hbm/entity/logic/EntityBalefire.java index 73c8e51b2..b368e171d 100644 --- a/src/main/java/com/hbm/entity/logic/EntityBalefire.java +++ b/src/main/java/com/hbm/entity/logic/EntityBalefire.java @@ -17,7 +17,6 @@ public class EntityBalefire extends EntityExplosionChunkloading { public ExplosionBalefire exp; public int speed = 1; public boolean did = false; - public boolean mute = false; @Override protected void readEntityFromNBT(NBTTagCompound nbt) { @@ -25,7 +24,6 @@ public class EntityBalefire extends EntityExplosionChunkloading { destructionRange = nbt.getInteger("destructionRange"); speed = nbt.getInteger("speed"); did = nbt.getBoolean("did"); - mute = nbt.getBoolean("mute"); exp = new ExplosionBalefire((int)this.posX, (int)this.posY, (int)this.posZ, this.worldObj, this.destructionRange); @@ -41,7 +39,6 @@ public class EntityBalefire extends EntityExplosionChunkloading { nbt.setInteger("destructionRange", destructionRange); nbt.setInteger("speed", speed); nbt.setBoolean("did", did); - nbt.setBoolean("mute", mute); if(exp != null) exp.saveToNbt(nbt, "exp_"); @@ -79,22 +76,10 @@ public class EntityBalefire extends EntityExplosionChunkloading { } } - if(!mute && rand.nextInt(5) == 0) - this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "random.explode", 10000.0F, 0.8F + this.rand.nextFloat() * 0.2F); - if(!flag) { - - if(!mute) - this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "ambient.weather.thunder", 10000.0F, 0.8F + this.rand.nextFloat() * 0.2F); - ExplosionNukeGeneric.dealDamage(this.worldObj, this.posX, this.posY, this.posZ, this.destructionRange * 2); } age++; } - - public EntityBalefire mute() { - this.mute = true; - return this; - } } diff --git a/src/main/java/com/hbm/entity/logic/EntityDeathBlast.java b/src/main/java/com/hbm/entity/logic/EntityDeathBlast.java index c4ffd67f3..75fea35f7 100644 --- a/src/main/java/com/hbm/entity/logic/EntityDeathBlast.java +++ b/src/main/java/com/hbm/entity/logic/EntityDeathBlast.java @@ -37,7 +37,7 @@ public class EntityDeathBlast extends Entity { if(this.ticksExisted >= maxAge && !worldObj.isRemote) { this.setDead(); - worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFacNoRad(worldObj, 40, posX, posY, posZ).mute()); + worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFacNoRad(worldObj, 40, posX, posY, posZ)); int count = 100; for(int i = 0; i < count; i++) { diff --git a/src/main/java/com/hbm/entity/logic/EntityEMP.java b/src/main/java/com/hbm/entity/logic/EntityEMP.java index 94a9b7d07..3ba75fc54 100644 --- a/src/main/java/com/hbm/entity/logic/EntityEMP.java +++ b/src/main/java/com/hbm/entity/logic/EntityEMP.java @@ -6,7 +6,7 @@ import java.util.List; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.ParticleBurstPacket; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyHandlerMK2; import cofh.api.energy.IEnergyProvider; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.block.Block; @@ -44,19 +44,15 @@ public class EntityEMP extends Entity { private void allocate() { machines = new ArrayList(); - int radius = 100; for(int x = -radius; x <= radius; x++) { - int x2 = (int) Math.pow(x, 2); for(int y = -radius; y <= radius; y++) { - int y2 = (int) Math.pow(y, 2); for(int z = -radius; z <= radius; z++) { - int z2 = (int) Math.pow(z, 2); if(Math.sqrt(x2 + y2 + z2) <= radius) { @@ -81,7 +77,7 @@ public class EntityEMP extends Entity { private void add(int x, int y, int z) { TileEntity te = worldObj.getTileEntity(x, y, z); - if (te != null && te instanceof IEnergyUser) { + if (te != null && te instanceof IEnergyHandlerMK2) { machines.add(new int[] { x, y, z }); } else if (te != null && te instanceof IEnergyProvider) { machines.add(new int[] { x, y, z }); @@ -94,9 +90,9 @@ public class EntityEMP extends Entity { boolean flag = false; - if (te != null && te instanceof IEnergyUser) { + if (te != null && te instanceof IEnergyHandlerMK2) { - ((IEnergyUser)te).setPower(0); + ((IEnergyHandlerMK2)te).setPower(0); flag = true; } if (te != null && te instanceof IEnergyProvider) { diff --git a/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK5.java b/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK5.java index 15cb2679b..dee4a3d91 100644 --- a/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK5.java +++ b/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK5.java @@ -29,8 +29,6 @@ public class EntityNukeExplosionMK5 extends EntityExplosionChunkloading { public int speed; public int length; - public boolean mute = false; - public boolean fallout = true; private int falloutAdd = 0; @@ -63,13 +61,7 @@ public class EntityNukeExplosionMK5 extends EntityExplosionChunkloading { } if(!worldObj.isRemote && fallout && explosion != null && this.ticksExisted < 10) { - radiate(500_000, this.length * 2); - } - - if(!mute) { - this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "ambient.weather.thunder", 10000.0F, 0.8F + this.rand.nextFloat() * 0.2F); - if(rand.nextInt(5) == 0) - this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "random.explode", 10000.0F, 0.8F + this.rand.nextFloat() * 0.2F); + radiate(2_500_000F / (this.ticksExisted * 5 + 1), this.length * 2); } ExplosionNukeGeneric.dealDamage(this.worldObj, this.posX, this.posY, this.posZ, this.length * 2); @@ -131,13 +123,10 @@ public class EntityNukeExplosionMK5 extends EntityExplosionChunkloading { eRads /= (float)res; eRads /= (float)(len * len); - ContaminationUtil.contaminate(e, HazardType.RADIATION, ContaminationType.CREATIVE, eRads); + ContaminationUtil.contaminate(e, HazardType.RADIATION, ContaminationType.RAD_BYPASS, eRads); } } - @Override - protected void entityInit() { } - @Override protected void readEntityFromNBT(NBTTagCompound nbt) { this.ticksExisted = nbt.getInteger("ticksExisted"); @@ -177,9 +166,4 @@ public class EntityNukeExplosionMK5 extends EntityExplosionChunkloading { falloutAdd = fallout; return this; } - - public EntityNukeExplosionMK5 mute() { - this.mute = true; - return this; - } } diff --git a/src/main/java/com/hbm/entity/logic/EntityNukeExplosionNT.java b/src/main/java/com/hbm/entity/logic/EntityNukeExplosionNT.java deleted file mode 100644 index 014e0e3fc..000000000 --- a/src/main/java/com/hbm/entity/logic/EntityNukeExplosionNT.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.hbm.entity.logic; - -import com.hbm.explosion.nt.IExplosionLogic; -import com.hbm.explosion.nt.Mark5Ausf2; - -import net.minecraft.entity.Entity; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.world.World; - -@Deprecated -public class EntityNukeExplosionNT extends Entity { - - private IExplosionLogic explosion; - - public EntityNukeExplosionNT(World world) { - super(world); - } - - public EntityNukeExplosionNT loadLogic(IExplosionLogic explosion) { - this.explosion = explosion; - return this; - } - - @Override - public void onUpdate() { - - if(!worldObj.isRemote) { - if(this.explosion == null || this.explosion.isDone()) { - this.setDead(); - return; - } - - this.explosion.updateLogic(); - } - } - - public static EntityNukeExplosionNT statFacMKV(World world, double x, double y, double z, float power) { - EntityNukeExplosionNT essploshun = new EntityNukeExplosionNT(world); - essploshun.setPositionAndRotation(x, y, z, 0, 0); - essploshun.loadLogic(new Mark5Ausf2(world, power, (float) x, (float) y, (float) z)); - return essploshun; - } - - @Override - protected void entityInit() { } - - @Override - protected void readEntityFromNBT(NBTTagCompound p_70037_1_) { } - - @Override - protected void writeEntityToNBT(NBTTagCompound p_70014_1_) { } -} diff --git a/src/main/java/com/hbm/entity/logic/EntityWaypoint.java b/src/main/java/com/hbm/entity/logic/EntityWaypoint.java new file mode 100644 index 000000000..2c9f37780 --- /dev/null +++ b/src/main/java/com/hbm/entity/logic/EntityWaypoint.java @@ -0,0 +1,135 @@ +package com.hbm.entity.logic; + +import com.hbm.config.MobConfig; +import com.hbm.entity.mob.glyphid.EntityGlyphid; +import com.hbm.entity.mob.glyphid.EntityGlyphidNuclear; +import com.hbm.entity.mob.glyphid.EntityGlyphidScout; +import com.hbm.main.MainRegistry; +import net.minecraft.entity.Entity; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; + +import static com.hbm.entity.mob.glyphid.EntityGlyphid.*; + +import java.util.List; + +public class EntityWaypoint extends Entity { + public EntityWaypoint(World world) { + super(world); + this.isImmuneToFire = true; + this.noClip = true; + } + + @Override + protected void entityInit() { + this.dataWatcher.addObject(10, 0); + // this.dataWatcher.addObject(11, 0); + + } + + public int maxAge = 2400; + public int radius = 3; + public boolean highPriority = false; + protected EntityWaypoint additional; + + public void setHighPriority() { + highPriority = true; + } + + public int getWaypointType() { + return this.dataWatcher.getWatchableObjectInt(10); + } + + public void setAdditionalWaypoint(EntityWaypoint waypoint) { + additional = waypoint; + } + + public void setWaypointType(int waypointType) { + this.dataWatcher.updateObject(10, waypointType); + } + + boolean hasSpawned = false; + + public int getColor() { + switch(getWaypointType()) { + + case TASK_RETREAT_FOR_REINFORCEMENTS: return 0x5FA6E8; + case TASK_BUILD_HIVE: + case TASK_INITIATE_RETREAT: return 0x127766; + default: return 0x566573; + } + } + + AxisAlignedBB bb; + + @Override + public void onEntityUpdate() { + if(ticksExisted >= maxAge) { + this.setDead(); + } + + bb = AxisAlignedBB.getBoundingBox(this.posX, this.posY, this.posZ, this.posX, this.posY, this.posZ).expand(radius, radius, radius); + + if(!worldObj.isRemote) { + + if(ticksExisted % 40 == 0) { + + List targets = worldObj.getEntitiesWithinAABBExcludingEntity(this, bb); + + for(Entity e : targets) { + if(e instanceof EntityGlyphid) { + + EntityGlyphid bug = ((EntityGlyphid) e); + + if(additional != null && !hasSpawned) { + worldObj.spawnEntityInWorld(additional); + hasSpawned = true; + } + + boolean exceptions = bug.getWaypoint() != this || e instanceof EntityGlyphidScout || e instanceof EntityGlyphidNuclear; + + if(!exceptions) + bug.setCurrentTask(getWaypointType(), additional); + + if(getWaypointType() == TASK_BUILD_HIVE) { + if(e instanceof EntityGlyphidScout) + setDead(); + } else { + setDead(); + } + + } + } + } + } else if(MobConfig.waypointDebug) { + + double x = bb.minX + (rand.nextDouble() - 0.5) * (bb.maxX - bb.minX); + double y = bb.minY + rand.nextDouble() * (bb.maxY - bb.minY); + double z = bb.minZ + (rand.nextDouble() - 0.5) * (bb.maxZ - bb.minZ); + + NBTTagCompound fx = new NBTTagCompound(); + fx.setString("type", "tower"); + fx.setFloat("lift", 0.5F); + fx.setFloat("base", 0.75F); + fx.setFloat("max", 2F); + fx.setInteger("life", 50 + worldObj.rand.nextInt(10)); + fx.setInteger("color", getColor()); + fx.setDouble("posX", x); + fx.setDouble("posY", y); + fx.setDouble("posZ", z); + MainRegistry.proxy.effectNT(fx); + } + + } + + @Override + protected void readEntityFromNBT(NBTTagCompound nbt) { + this.setWaypointType(nbt.getInteger("type")); + } + + @Override + protected void writeEntityToNBT(NBTTagCompound nbt) { + nbt.setInteger("type", getWaypointType()); + } +} diff --git a/src/main/java/com/hbm/entity/missile/EntityBombletSelena.java b/src/main/java/com/hbm/entity/missile/EntityBombletSelena.java deleted file mode 100644 index bd0d6efc1..000000000 --- a/src/main/java/com/hbm/entity/missile/EntityBombletSelena.java +++ /dev/null @@ -1,95 +0,0 @@ -package com.hbm.entity.missile; - -import com.hbm.explosion.ExplosionChaos; -import com.hbm.explosion.ExplosionLarge; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.entity.projectile.EntityThrowable; -import net.minecraft.init.Blocks; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; - -public class EntityBombletSelena extends EntityThrowable { - - double decelY = 0.1D; - double accelXZ = 0.1D; - - public EntityBombletSelena(World p_i1582_1_) { - super(p_i1582_1_); - this.ignoreFrustumCheck = true; - } - - @Override - public void onUpdate() { - this.prevPosX = this.posX; - this.prevPosY = this.posY; - this.prevPosZ = this.posZ; - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - - Vec3 vector = Vec3.createVectorHelper(motionX, 0, motionZ); - vector = vector.normalize(); - vector.xCoord *= accelXZ; - vector.zCoord *= accelXZ; - this.motionY -= decelY; - this.motionX -= vector.xCoord; - this.motionZ -= vector.zCoord; - - this.rotation(); - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air) - { - if(!this.worldObj.isRemote) - { - ExplosionLarge.explodeFire(worldObj, this.posX + 0.5F, this.posY + 0.5F, this.posZ + 0.5F, 20.0F, true, true, true); - ExplosionChaos.flameDeath(this.worldObj, (int)((float)this.posX + 0.5F), (int)((float)this.posY + 0.5F), (int)((float)this.posZ + 0.5F), 25); - } - this.setDead(); - } - - //if(!this.worldObj.isRemote) - // this.worldObj.spawnEntityInWorld(new EntityOilSpillFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); - } - - protected void rotation() { - float f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - for (this.rotationPitch = (float)(Math.atan2(this.motionY, f2) * 180.0D / Math.PI) - 90; this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) - { - ; - } - - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) - { - this.prevRotationPitch += 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw < -180.0F) - { - this.prevRotationYaw -= 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) - { - this.prevRotationYaw += 360.0F; - } - } - - @Override - protected void onImpact(MovingObjectPosition p_70184_1_) { - } - - @Override - @SideOnly(Side.CLIENT) - public boolean isInRangeToRenderDist(double distance) - { - return distance < 25000; - } - -} diff --git a/src/main/java/com/hbm/entity/missile/EntityBombletTheta.java b/src/main/java/com/hbm/entity/missile/EntityBombletTheta.java deleted file mode 100644 index 603f7d88f..000000000 --- a/src/main/java/com/hbm/entity/missile/EntityBombletTheta.java +++ /dev/null @@ -1,107 +0,0 @@ -package com.hbm.entity.missile; - -import com.hbm.entity.particle.EntitySSmokeFX; -import com.hbm.explosion.ExplosionLarge; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.entity.projectile.EntityThrowable; -import net.minecraft.init.Blocks; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; - -public class EntityBombletTheta extends EntityThrowable { - - double decelY = 0.1D; - double accelXZ = 0.1D; - - public EntityBombletTheta(World p_i1582_1_) { - super(p_i1582_1_); - this.ignoreFrustumCheck = true; - } - - @Override - public void onUpdate() { - this.prevPosX = this.posX; - this.prevPosY = this.posY; - this.prevPosZ = this.posZ; - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - - Vec3 vector = Vec3.createVectorHelper(motionX, 0, motionZ); - vector = vector.normalize(); - vector.xCoord *= accelXZ; - vector.zCoord *= accelXZ; - this.motionY -= decelY; - this.motionX -= vector.xCoord; - this.motionZ -= vector.zCoord; - - if(motionY < -0.75D && !worldObj.isRemote && rand.nextInt(10) == 0) { - EntityBombletSelena selena = new EntityBombletSelena(worldObj); - selena.posX = this.posX; - selena.posY = this.posY; - selena.posZ = this.posZ; - selena.motionX = rand.nextGaussian(); - selena.motionY = rand.nextGaussian(); - selena.motionZ = rand.nextGaussian(); - selena.decelY = this.decelY; - selena.accelXZ = this.accelXZ; - worldObj.spawnEntityInWorld(selena); - } - - this.rotation(); - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air) - { - if(!this.worldObj.isRemote) - { - ExplosionLarge.explodeFire(worldObj, this.posX + 0.5F, this.posY + 0.5F, this.posZ + 0.5F, 50.0F, true, true, true); - } - this.setDead(); - } - - if(!this.worldObj.isRemote) - this.worldObj.spawnEntityInWorld(new EntitySSmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); - } - - protected void rotation() { - float f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - for (this.rotationPitch = (float)(Math.atan2(this.motionY, f2) * 180.0D / Math.PI) - 90; this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) - { - ; - } - - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) - { - this.prevRotationPitch += 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw < -180.0F) - { - this.prevRotationYaw -= 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) - { - this.prevRotationYaw += 360.0F; - } - } - - @Override - protected void onImpact(MovingObjectPosition p_70184_1_) { - } - - @Override - @SideOnly(Side.CLIENT) - public boolean isInRangeToRenderDist(double distance) - { - return distance < 25000; - } - -} diff --git a/src/main/java/com/hbm/entity/missile/EntityMissileAntiBallistic.java b/src/main/java/com/hbm/entity/missile/EntityMissileAntiBallistic.java index b0f2ef6be..3dbb048d8 100644 --- a/src/main/java/com/hbm/entity/missile/EntityMissileAntiBallistic.java +++ b/src/main/java/com/hbm/entity/missile/EntityMissileAntiBallistic.java @@ -108,7 +108,8 @@ public class EntityMissileAntiBallistic extends EntityThrowableInterp implements for(Entity e : TileEntityMachineRadarNT.matchingEntities) { if(e.dimension != this.dimension) continue; - if(!(e instanceof EntityMissileBaseNT)) continue; + if(!(e instanceof EntityMissileBaseNT)) continue; //can only lock onto missiles + if(e instanceof EntityMissileStealth) continue; //cannot lack onto missiles with stealth coating Vec3 vec = Vec3.createVectorHelper(e.posX - posX, e.posY - posY, e.posZ - posZ); diff --git a/src/main/java/com/hbm/entity/missile/EntityMissileBaseNT.java b/src/main/java/com/hbm/entity/missile/EntityMissileBaseNT.java index 631f75cb0..3605e17ad 100644 --- a/src/main/java/com/hbm/entity/missile/EntityMissileBaseNT.java +++ b/src/main/java/com/hbm/entity/missile/EntityMissileBaseNT.java @@ -13,12 +13,14 @@ import com.hbm.explosion.vanillant.standard.BlockProcessorStandard; import com.hbm.explosion.vanillant.standard.EntityProcessorCross; import com.hbm.explosion.vanillant.standard.ExplosionEffectStandard; import com.hbm.explosion.vanillant.standard.PlayerProcessorStandard; +import com.hbm.items.weapon.ItemMissile; import com.hbm.main.MainRegistry; +import com.hbm.util.TrackerUtil; -import api.hbm.entity.IRadarDetectable; import api.hbm.entity.IRadarDetectableNT; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.EntityTrackerEntry; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.DamageSource; @@ -27,11 +29,12 @@ import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraft.world.ChunkCoordIntPair; import net.minecraft.world.World; +import net.minecraft.world.WorldServer; import net.minecraftforge.common.ForgeChunkManager; import net.minecraftforge.common.ForgeChunkManager.Ticket; import net.minecraftforge.common.ForgeChunkManager.Type; -public abstract class EntityMissileBaseNT extends EntityThrowableInterp implements IChunkLoader, IRadarDetectable, IRadarDetectableNT { +public abstract class EntityMissileBaseNT extends EntityThrowableInterp implements IChunkLoader, IRadarDetectableNT { public int startX; public int startZ; @@ -67,10 +70,15 @@ public abstract class EntityMissileBaseNT extends EntityThrowableInterp implemen accelXZ = decelY = 1 / vector.lengthVector(); decelY *= 2; velocity = 0; + + this.rotationYaw = (float) (Math.atan2(targetX - posX, targetZ - posZ) * 180.0D / Math.PI); this.setSize(1.5F, 1.5F); } + /** Auto-generates radar blip level and all that from the item */ + public abstract ItemStack getMissileItemForInfo(); + @Override public boolean canBeSeenBy(Object radar) { return true; @@ -92,6 +100,7 @@ public abstract class EntityMissileBaseNT extends EntityThrowableInterp implemen protected void entityInit() { super.entityInit(); init(ForgeChunkManager.requestTicket(MainRegistry.instance, worldObj, Type.ENTITY)); + this.dataWatcher.addObject(3, new Byte((byte) 5)); } @Override @@ -106,9 +115,12 @@ public abstract class EntityMissileBaseNT extends EntityThrowableInterp implemen @Override public void onUpdate() { + this.lastTickPosX = this.posX; + this.lastTickPosY = this.posY; + this.lastTickPosZ = this.posZ; super.onUpdate(); - if(velocity < 4) velocity += 0.025; + if(velocity < 4) velocity += MathHelper.clamp_double(this.ticksExisted / 60D * 0.05D, 0, 0.05); if(!worldObj.isRemote) { @@ -142,15 +154,18 @@ public abstract class EntityMissileBaseNT extends EntityThrowableInterp implemen this.setDead(); return; } - + + this.rotationYaw = (float) (Math.atan2(targetX - posX, targetZ - posZ) * 180.0D / Math.PI); + float f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + for(this.rotationPitch = (float) (Math.atan2(this.motionY, f2) * 180.0D / Math.PI) - 90; this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F); + EntityTrackerEntry tracker = TrackerUtil.getTrackerEntry((WorldServer) worldObj, this.getEntityId()); + if(tracker != null) tracker.lastYaw += 100; //coax the tracker into sending smother updates + loadNeighboringChunks((int) Math.floor(posX / 16), (int) Math.floor(posZ / 16)); } else { this.spawnContrail(); } - float f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - for(this.rotationPitch = (float) (Math.atan2(this.motionY, f2) * 180.0D / Math.PI) - 90; this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F); while(this.rotationPitch - this.prevRotationPitch >= 180.0F) this.prevRotationPitch += 360.0F; while(this.rotationYaw - this.prevRotationYaw < -180.0F) this.prevRotationYaw -= 360.0F; while(this.rotationYaw - this.prevRotationYaw >= 180.0F) this.prevRotationYaw += 360.0F; @@ -161,8 +176,35 @@ public abstract class EntityMissileBaseNT extends EntityThrowableInterp implemen } protected void spawnContrail() { - Vec3 vec = Vec3.createVectorHelper(motionX, motionY, motionZ).normalize(); - MainRegistry.proxy.particleControl(posX - vec.xCoord, posY - vec.yCoord, posZ - vec.zCoord, 2); + this.spawnContraolWithOffset(0, 0, 0); + } + + protected void spawnContraolWithOffset(double offsetX, double offsetY, double offsetZ) { + Vec3 vec = Vec3.createVectorHelper(this.lastTickPosX - this.posX, this.lastTickPosY - this.posY, this.lastTickPosZ - this.posZ); + double len = vec.lengthVector(); + vec = vec.normalize(); + Vec3 thrust = Vec3.createVectorHelper(0, 1, 0); + thrust.rotateAroundZ(this.rotationPitch * (float) Math.PI / 180F); + thrust.rotateAroundY((this.rotationYaw + 90) * (float) Math.PI / 180F); + + for(int i = 0; i < Math.max(Math.min(len, 10), 1); i++) { + double j = i - len; + NBTTagCompound data = new NBTTagCompound(); + data.setDouble("posX", posX - vec.xCoord * j + offsetX); + data.setDouble("posY", posY - vec.yCoord * j + offsetY); + data.setDouble("posZ", posZ - vec.zCoord * j + offsetZ); + data.setString("type", "missileContrail"); + data.setFloat("scale", this.getContrailScale()); + data.setDouble("moX", -thrust.xCoord); + data.setDouble("moY", -thrust.yCoord); + data.setDouble("moZ", -thrust.zCoord); + data.setInteger("maxAge", 60 + rand.nextInt(20)); + MainRegistry.proxy.effectNT(data); + } + } + + protected float getContrailScale() { + return 1F; } @Override @@ -209,7 +251,7 @@ public abstract class EntityMissileBaseNT extends EntityThrowableInterp implemen if(this.isEntityInvulnerable()) { return false; } else { - if(!this.isDead && !this.worldObj.isRemote) { + if(this.health > 0 && !this.worldObj.isRemote) { health -= amount; if(this.health <= 0) { @@ -222,10 +264,12 @@ public abstract class EntityMissileBaseNT extends EntityThrowableInterp implemen } protected void killMissile() { - this.setDead(); - ExplosionLarge.explode(worldObj, posX, posY, posZ, 5, true, false, true); - ExplosionLarge.spawnShrapnelShower(worldObj, posX, posY, posZ, motionX, motionY, motionZ, 15, 0.075); - ExplosionLarge.spawnMissileDebris(worldObj, posX, posY, posZ, motionX, motionY, motionZ, 0.25, getDebris(), getDebrisRareDrop()); + if(!this.isDead) { + this.setDead(); + ExplosionLarge.explode(worldObj, posX, posY, posZ, 5, true, false, true); + ExplosionLarge.spawnShrapnelShower(worldObj, posX, posY, posZ, motionX, motionY, motionZ, 15, 0.075); + ExplosionLarge.spawnMissileDebris(worldObj, posX, posY, posZ, motionX, motionY, motionZ, 0.25, getDebris(), getDebrisRareDrop()); + } } @Override @@ -321,4 +365,40 @@ public abstract class EntityMissileBaseNT extends EntityThrowableInterp implemen if(largeSmoke) ExplosionLarge.spawnParticles(worldObj, posX, posY, posZ, ExplosionLarge.cloudFunction((int) strength)); xnt.explode(); } + + @Override + public String getUnlocalizedName() { + ItemStack item = this.getMissileItemForInfo(); + if(item != null && item.getItem() instanceof ItemMissile) { + ItemMissile missile = (ItemMissile) item.getItem(); + switch(missile.tier) { + case TIER0: return "radar.target.tier0"; + case TIER1: return "radar.target.tier1"; + case TIER2: return "radar.target.tier2"; + case TIER3: return "radar.target.tier3"; + case TIER4: return "radar.target.tier4"; + default: return "Unknown"; + } + } + + return "Unknown"; + } + + @Override + public int getBlipLevel() { + ItemStack item = this.getMissileItemForInfo(); + if(item != null && item.getItem() instanceof ItemMissile) { + ItemMissile missile = (ItemMissile) item.getItem(); + switch(missile.tier) { + case TIER0: return IRadarDetectableNT.TIER0; + case TIER1: return IRadarDetectableNT.TIER1; + case TIER2: return IRadarDetectableNT.TIER2; + case TIER3: return IRadarDetectableNT.TIER3; + case TIER4: return IRadarDetectableNT.TIER4; + default: return IRadarDetectableNT.SPECIAL; + } + } + + return IRadarDetectableNT.SPECIAL; + } } diff --git a/src/main/java/com/hbm/entity/missile/EntityMissileCustom.java b/src/main/java/com/hbm/entity/missile/EntityMissileCustom.java index 7c82eb017..7429e0b8e 100644 --- a/src/main/java/com/hbm/entity/missile/EntityMissileCustom.java +++ b/src/main/java/com/hbm/entity/missile/EntityMissileCustom.java @@ -14,13 +14,13 @@ import com.hbm.explosion.ExplosionChaos; import com.hbm.explosion.ExplosionLarge; import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.handler.MissileStruct; -import com.hbm.items.weapon.ItemMissile; -import com.hbm.items.weapon.ItemMissile.FuelType; -import com.hbm.items.weapon.ItemMissile.PartSize; -import com.hbm.items.weapon.ItemMissile.WarheadType; +import com.hbm.items.ModItems; +import com.hbm.items.weapon.ItemCustomMissilePart; +import com.hbm.items.weapon.ItemCustomMissilePart.FuelType; +import com.hbm.items.weapon.ItemCustomMissilePart.PartSize; +import com.hbm.items.weapon.ItemCustomMissilePart.WarheadType; import com.hbm.main.MainRegistry; -import api.hbm.entity.IRadarDetectable; import api.hbm.entity.IRadarDetectableNT; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -28,7 +28,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.Vec3; import net.minecraft.world.World; -public class EntityMissileCustom extends EntityMissileBaseNT implements IChunkLoader, IRadarDetectable { +public class EntityMissileCustom extends EntityMissileBaseNT implements IChunkLoader { protected float fuel; protected float consumption; @@ -61,8 +61,8 @@ public class EntityMissileCustom extends EntityMissileBaseNT implements IChunkLo this.dataWatcher.updateObject(11, Integer.valueOf(0)); } - ItemMissile fuselage = (ItemMissile) template.fuselage; - ItemMissile thruster = (ItemMissile) template.thruster; + ItemCustomMissilePart fuselage = (ItemCustomMissilePart) template.fuselage; + ItemCustomMissilePart thruster = (ItemCustomMissilePart) template.thruster; this.fuel = (Float) fuselage.attributes[1]; this.consumption = (Float) thruster.attributes[1]; @@ -72,8 +72,11 @@ public class EntityMissileCustom extends EntityMissileBaseNT implements IChunkLo @Override protected void killMissile() { - ExplosionLarge.explode(worldObj, posX, posY, posZ, 5, true, false, true); - ExplosionLarge.spawnShrapnelShower(worldObj, posX, posY, posZ, motionX, motionY, motionZ, 15, 0.075); + if(!this.isDead) { + this.setDead(); + ExplosionLarge.explode(worldObj, posX, posY, posZ, 5, true, false, true); + ExplosionLarge.spawnShrapnelShower(worldObj, posX, posY, posZ, motionX, motionY, motionZ, 15, 0.075); + } } @Override @@ -128,7 +131,7 @@ public class EntityMissileCustom extends EntityMissileBaseNT implements IChunkLo Vec3 v = Vec3.createVectorHelper(motionX, motionY, motionZ).normalize(); String smoke = ""; - ItemMissile part = (ItemMissile) Item.getItemById(this.dataWatcher.getWatchableObjectInt(10)); + ItemCustomMissilePart part = (ItemCustomMissilePart) Item.getItemById(this.dataWatcher.getWatchableObjectInt(10)); FuelType type = (FuelType) part.attributes[0]; switch(type) { @@ -145,7 +148,7 @@ public class EntityMissileCustom extends EntityMissileBaseNT implements IChunkLo @Override public void onImpact() { //TODO: demolish this steaming pile of shit - ItemMissile part = (ItemMissile) Item.getItemById(this.dataWatcher.getWatchableObjectInt(9)); + ItemCustomMissilePart part = (ItemCustomMissilePart) Item.getItemById(this.dataWatcher.getWatchableObjectInt(9)); WarheadType type = (WarheadType) part.attributes[0]; float strength = (Float) part.attributes[1]; @@ -218,26 +221,10 @@ public class EntityMissileCustom extends EntityMissileBaseNT implements IChunkLo } } - @Override - public RadarTargetType getTargetType() { - - ItemMissile part = (ItemMissile) Item.getItemById(this.dataWatcher.getWatchableObjectInt(10)); - PartSize top = part.top; - PartSize bottom = part.bottom; - - if(top == PartSize.SIZE_10 && bottom == PartSize.SIZE_10) return RadarTargetType.MISSILE_10; - if(top == PartSize.SIZE_10 && bottom == PartSize.SIZE_15) return RadarTargetType.MISSILE_10_15; - if(top == PartSize.SIZE_15 && bottom == PartSize.SIZE_15) return RadarTargetType.MISSILE_15; - if(top == PartSize.SIZE_15 && bottom == PartSize.SIZE_20) return RadarTargetType.MISSILE_15_20; - if(top == PartSize.SIZE_20 && bottom == PartSize.SIZE_20) return RadarTargetType.MISSILE_20; - - return RadarTargetType.MISSILE_TIER1; - } - @Override public String getUnlocalizedName() { - ItemMissile part = (ItemMissile) Item.getItemById(this.dataWatcher.getWatchableObjectInt(10)); + ItemCustomMissilePart part = (ItemCustomMissilePart) Item.getItemById(this.dataWatcher.getWatchableObjectInt(10)); PartSize top = part.top; PartSize bottom = part.bottom; @@ -253,7 +240,7 @@ public class EntityMissileCustom extends EntityMissileBaseNT implements IChunkLo @Override public int getBlipLevel() { - ItemMissile part = (ItemMissile) Item.getItemById(this.dataWatcher.getWatchableObjectInt(10)); + ItemCustomMissilePart part = (ItemCustomMissilePart) Item.getItemById(this.dataWatcher.getWatchableObjectInt(10)); PartSize top = part.top; PartSize bottom = part.bottom; @@ -268,4 +255,9 @@ public class EntityMissileCustom extends EntityMissileBaseNT implements IChunkLo @Override public List getDebris() { return new ArrayList(); } @Override public ItemStack getDebrisRareDrop() { return null; } + + @Override + public ItemStack getMissileItemForInfo() { + return new ItemStack(ModItems.missile_custom); + } } diff --git a/src/main/java/com/hbm/entity/missile/EntityMissileDoomsday.java b/src/main/java/com/hbm/entity/missile/EntityMissileDoomsday.java deleted file mode 100644 index 63e14e7f3..000000000 --- a/src/main/java/com/hbm/entity/missile/EntityMissileDoomsday.java +++ /dev/null @@ -1,122 +0,0 @@ -package com.hbm.entity.missile; - -import java.util.List; - -import com.hbm.explosion.ExplosionLarge; - -import api.hbm.entity.IRadarDetectableNT; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -public class EntityMissileDoomsday extends EntityMissileBaseNT { - - public EntityMissileDoomsday(World p_i1582_1_) { - super(p_i1582_1_); - } - - public EntityMissileDoomsday(World world, float x, float y, float z, int a, int b) { - super(world, x, y, z, a, b); - } - - @Override - public void onImpact() { - ExplosionLarge.explode(worldObj, posX, posY, posZ, 10.0F, true, true, true); - } - - public void onUpdate() { - super.onUpdate(); - if(motionY <= 0) { - if(!worldObj.isRemote) { - this.setDead(); - EntityBombletTheta bomblet1 = new EntityBombletTheta(worldObj); - EntityBombletTheta bomblet2 = new EntityBombletTheta(worldObj); - EntityBombletTheta bomblet3 = new EntityBombletTheta(worldObj); - EntityBombletTheta bomblet4 = new EntityBombletTheta(worldObj); - EntityBombletTheta bomblet5 = new EntityBombletTheta(worldObj); - EntityBombletTheta bomblet6 = new EntityBombletTheta(worldObj); - bomblet1.motionX = this.motionX * (rand.nextFloat() + 0.5F); - bomblet1.motionY = this.motionY * (rand.nextFloat() + 0.5F); - bomblet1.motionZ = this.motionZ * (rand.nextFloat() + 0.5F); - bomblet2.motionX = this.motionX * (rand.nextFloat() + 0.5F); - bomblet2.motionY = this.motionY * (rand.nextFloat() + 0.5F); - bomblet2.motionZ = this.motionZ * (rand.nextFloat() + 0.5F); - bomblet3.motionX = this.motionX * (rand.nextFloat() + 0.5F); - bomblet3.motionY = this.motionY * (rand.nextFloat() + 0.5F); - bomblet3.motionZ = this.motionZ * (rand.nextFloat() + 0.5F); - bomblet4.motionX = this.motionX * (rand.nextFloat() + 0.5F); - bomblet4.motionY = this.motionY * (rand.nextFloat() + 0.5F); - bomblet4.motionZ = this.motionZ * (rand.nextFloat() + 0.5F); - bomblet5.motionX = this.motionX * (rand.nextFloat() + 0.5F); - bomblet5.motionY = this.motionY * (rand.nextFloat() + 0.5F); - bomblet5.motionZ = this.motionZ * (rand.nextFloat() + 0.5F); - bomblet6.motionX = this.motionX * (rand.nextFloat() + 0.5F); - bomblet6.motionY = this.motionY * (rand.nextFloat() + 0.5F); - bomblet6.motionZ = this.motionZ * (rand.nextFloat() + 0.5F); - bomblet1.posX = this.posX; - bomblet1.posY = this.posY; - bomblet1.posZ = this.posZ; - bomblet2.posX = this.posX; - bomblet2.posY = this.posY; - bomblet2.posZ = this.posZ; - bomblet3.posX = this.posX; - bomblet3.posY = this.posY; - bomblet3.posZ = this.posZ; - bomblet4.posX = this.posX; - bomblet4.posY = this.posY; - bomblet4.posZ = this.posZ; - bomblet5.posX = this.posX; - bomblet5.posY = this.posY; - bomblet5.posZ = this.posZ; - bomblet6.posX = this.posX; - bomblet6.posY = this.posY; - bomblet6.posZ = this.posZ; - - bomblet1.decelY = this.decelY; - bomblet2.decelY = this.decelY; - bomblet3.decelY = this.decelY; - bomblet4.decelY = this.decelY; - bomblet5.decelY = this.decelY; - bomblet6.decelY = this.decelY; - bomblet1.accelXZ = this.accelXZ; - bomblet2.accelXZ = this.accelXZ; - bomblet3.accelXZ = this.accelXZ; - bomblet4.accelXZ = this.accelXZ; - bomblet5.accelXZ = this.accelXZ; - bomblet6.accelXZ = this.accelXZ; - worldObj.spawnEntityInWorld(bomblet1); - worldObj.spawnEntityInWorld(bomblet2); - worldObj.spawnEntityInWorld(bomblet3); - worldObj.spawnEntityInWorld(bomblet4); - worldObj.spawnEntityInWorld(bomblet5); - worldObj.spawnEntityInWorld(bomblet6); - ExplosionLarge.spawnParticles(worldObj, posX, posY, posZ, ExplosionLarge.cloudFunction(25)); - ExplosionLarge.spawnTracers(worldObj, posX, posY, posZ, 10); - } - } - } - - @Override - public List getDebris() { - return null; - } - - @Override - public ItemStack getDebrisRareDrop() { - return null; - } - - @Override - public RadarTargetType getTargetType() { - return RadarTargetType.MISSILE_TIER4; - } - - @Override - public String getUnlocalizedName() { - return "radar.target.doomsday"; - } - - @Override - public int getBlipLevel() { - return IRadarDetectableNT.TIER4; - } -} diff --git a/src/main/java/com/hbm/entity/missile/EntityMissileShuttle.java b/src/main/java/com/hbm/entity/missile/EntityMissileShuttle.java index 356588f64..48a0e375c 100644 --- a/src/main/java/com/hbm/entity/missile/EntityMissileShuttle.java +++ b/src/main/java/com/hbm/entity/missile/EntityMissileShuttle.java @@ -11,7 +11,6 @@ import com.hbm.main.MainRegistry; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; -import api.hbm.entity.IRadarDetectableNT; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; @@ -60,19 +59,14 @@ public class EntityMissileShuttle extends EntityMissileBaseNT { public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.missile_generic); } - - @Override - public RadarTargetType getTargetType() { - return RadarTargetType.MISSILE_TIER3; - } - + @Override public String getUnlocalizedName() { return "radar.target.shuttle"; } @Override - public int getBlipLevel() { - return IRadarDetectableNT.TIER3; + public ItemStack getMissileItemForInfo() { + return new ItemStack(ModItems.missile_shuttle); } } \ No newline at end of file diff --git a/src/main/java/com/hbm/entity/missile/EntityMissileStealth.java b/src/main/java/com/hbm/entity/missile/EntityMissileStealth.java new file mode 100644 index 000000000..71f6541b7 --- /dev/null +++ b/src/main/java/com/hbm/entity/missile/EntityMissileStealth.java @@ -0,0 +1,32 @@ +package com.hbm.entity.missile; + +import java.util.ArrayList; +import java.util.List; + +import com.hbm.inventory.OreDictManager.DictFrame; +import com.hbm.inventory.material.Mats; +import com.hbm.items.ItemEnums.EnumAshType; +import com.hbm.items.ModItems; + +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class EntityMissileStealth extends EntityMissileBaseNT { + + public EntityMissileStealth(World world) { super(world); } + public EntityMissileStealth(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); } + + @Override + public List getDebris() { + List list = new ArrayList(); + list.add(new ItemStack(ModItems.bolt, 4, Mats.MAT_STEEL.id)); + return list; + } + + @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_stealth); } + @Override public boolean canBeSeenBy(Object radar) { return false; } + + @Override public void onImpact() { this.explodeStandard(20F, 24, false, true); } + @Override public ItemStack getDebrisRareDrop() { return DictFrame.fromOne(ModItems.powder_ash, EnumAshType.MISC); } + +} diff --git a/src/main/java/com/hbm/entity/missile/EntityMissileTier0.java b/src/main/java/com/hbm/entity/missile/EntityMissileTier0.java index d1d6ecba9..655e6cdf1 100644 --- a/src/main/java/com/hbm/entity/missile/EntityMissileTier0.java +++ b/src/main/java/com/hbm/entity/missile/EntityMissileTier0.java @@ -12,13 +12,15 @@ import com.hbm.entity.effect.EntityEMPBlast; import com.hbm.entity.logic.EntityNukeExplosionMK3; import com.hbm.explosion.ExplosionNukeGeneric; import com.hbm.explosion.ExplosionNukeSmall; +import com.hbm.inventory.material.Mats; import com.hbm.items.ModItems; -import api.hbm.entity.IRadarDetectableNT; - import com.hbm.items.ItemAmmoEnums.AmmoFatman; +import net.minecraft.block.Block; +import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; +import net.minecraft.util.MathHelper; import net.minecraft.world.World; public abstract class EntityMissileTier0 extends EntityMissileBaseNT { @@ -31,25 +33,49 @@ public abstract class EntityMissileTier0 extends EntityMissileBaseNT { List list = new ArrayList(); list.add(new ItemStack(ModItems.wire_aluminium, 4)); list.add(new ItemStack(ModItems.plate_titanium, 4)); - list.add(new ItemStack(ModItems.hull_small_aluminium, 2)); + list.add(new ItemStack(ModItems.shell, 2, Mats.MAT_ALUMINIUM.id)); list.add(new ItemStack(ModItems.ducttape, 1)); list.add(new ItemStack(ModItems.circuit_targeting_tier1, 1)); return list; } @Override - public RadarTargetType getTargetType() { - return RadarTargetType.MISSILE_TIER0; + protected float getContrailScale() { + return 0.5F; } + + public static class EntityMissileTest extends EntityMissileTier0 { + public EntityMissileTest(World world) { super(world); } + public EntityMissileTest(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); } + @Override public ItemStack getDebrisRareDrop() { return null; } + @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_test); } + + @Override public void onImpact() { + int x = (int) Math.floor(posX); + int y = (int) Math.floor(posY); + int z = (int) Math.floor(posZ); + int range = 50; - @Override - public String getUnlocalizedName() { - return "radar.target.tier0"; - } - - @Override - public int getBlipLevel() { - return IRadarDetectableNT.TIER0; + for(int iX = -range; iX <= range; iX++) { + for(int iY = -range; iY <= range; iY++) { + for(int iZ = -range; iZ <= range; iZ++) { + double dist = Math.sqrt(iX * iX + iY * iY + iZ * iZ); + if(dist > range) continue; + Block block = worldObj.getBlock(x + iX, y + iY, z + iZ); + int meta = worldObj.getBlockMetadata(x + iX, y + iY, z + iZ); + int charMeta = (int) MathHelper.clamp_double(12 - (dist / range) * (dist / range) * 13, 0, 12); + + if(block.isNormalCube()) { + if(block != ModBlocks.sellafield_slaked || meta < charMeta) { + worldObj.setBlock(x + iX, y + iY, z + iZ, ModBlocks.sellafield_slaked, charMeta, 3); + } + } else { + worldObj.setBlock(x + iX, y + iY, z + iZ, Blocks.air); + } + } + } + } + } } public static class EntityMissileMicro extends EntityMissileTier0 { @@ -57,6 +83,7 @@ public abstract class EntityMissileTier0 extends EntityMissileBaseNT { public EntityMissileMicro(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); } @Override public void onImpact() { ExplosionNukeSmall.explode(worldObj, posX, posY + 0.5, posZ, ExplosionNukeSmall.PARAMS_HIGH); } @Override public ItemStack getDebrisRareDrop() { return ModItems.ammo_nuke.stackFromEnum(AmmoFatman.HIGH); } + @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_micro); } } public static class EntityMissileSchrabidium extends EntityMissileTier0 { @@ -74,6 +101,7 @@ public abstract class EntityMissileTier0 extends EntityMissileBaseNT { } } @Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.powder_schrabidium, 1); } + @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_schrabidium); } } public static class EntityMissileBHole extends EntityMissileTier0 { @@ -88,6 +116,7 @@ public abstract class EntityMissileTier0 extends EntityMissileBaseNT { this.worldObj.spawnEntityInWorld(bl); } @Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.grenade_black_hole, 1); } + @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_bhole); } } public static class EntityMissileTaint extends EntityMissileTier0 { @@ -103,6 +132,7 @@ public abstract class EntityMissileTier0 extends EntityMissileBaseNT { } } @Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.powder_spark_mix, 1); } + @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_taint); } } public static class EntityMissileEMP extends EntityMissileTier0 { @@ -117,5 +147,6 @@ public abstract class EntityMissileTier0 extends EntityMissileBaseNT { worldObj.spawnEntityInWorld(wave); } @Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModBlocks.emp_bomb, 1); } + @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_emp); } } } diff --git a/src/main/java/com/hbm/entity/missile/EntityMissileTier1.java b/src/main/java/com/hbm/entity/missile/EntityMissileTier1.java index 6fb39039e..93cd9a875 100644 --- a/src/main/java/com/hbm/entity/missile/EntityMissileTier1.java +++ b/src/main/java/com/hbm/entity/missile/EntityMissileTier1.java @@ -26,18 +26,8 @@ public abstract class EntityMissileTier1 extends EntityMissileBaseNT { } @Override - public RadarTargetType getTargetType() { - return RadarTargetType.MISSILE_TIER1; - } - - @Override - public String getUnlocalizedName() { - return "radar.target.tier1"; - } - - @Override - public int getBlipLevel() { - return IRadarDetectableNT.TIER1; + protected float getContrailScale() { + return 0.5F; } public static class EntityMissileGeneric extends EntityMissileTier1 { @@ -45,6 +35,7 @@ public abstract class EntityMissileTier1 extends EntityMissileBaseNT { public EntityMissileGeneric(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); } @Override public void onImpact() { this.explodeStandard(15F, 24, false, true); } @Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_generic_small); } + @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_generic); } } public static class EntityMissileDecoy extends EntityMissileTier1 { @@ -54,6 +45,7 @@ public abstract class EntityMissileTier1 extends EntityMissileBaseNT { @Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.ingot_steel); } @Override public String getUnlocalizedName() { return "radar.target.tier4"; } @Override public int getBlipLevel() { return IRadarDetectableNT.TIER4; } + @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_decoy); } } public static class EntityMissileIncendiary extends EntityMissileTier1 { @@ -61,6 +53,7 @@ public abstract class EntityMissileTier1 extends EntityMissileBaseNT { public EntityMissileIncendiary(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); } @Override public void onImpact() { this.explodeStandard(15F, 24, true, true); } @Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_incendiary_small); } + @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_incendiary); } } public static class EntityMissileCluster extends EntityMissileTier1 { @@ -72,6 +65,7 @@ public abstract class EntityMissileTier1 extends EntityMissileBaseNT { } @Override public void cluster() { this.onImpact(); } @Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_cluster_small); } + @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_cluster); } } public static class EntityMissileBunkerBuster extends EntityMissileTier1 { @@ -84,5 +78,6 @@ public abstract class EntityMissileTier1 extends EntityMissileBaseNT { ExplosionLarge.spawnRubble(worldObj, this.posX, this.posY, this.posZ, 5); } @Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_buster_small); } + @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_buster); } } } diff --git a/src/main/java/com/hbm/entity/missile/EntityMissileTier2.java b/src/main/java/com/hbm/entity/missile/EntityMissileTier2.java index a0b71922f..7b291a2da 100644 --- a/src/main/java/com/hbm/entity/missile/EntityMissileTier2.java +++ b/src/main/java/com/hbm/entity/missile/EntityMissileTier2.java @@ -29,11 +29,6 @@ public abstract class EntityMissileTier2 extends EntityMissileBaseNT { return list; } - @Override - public RadarTargetType getTargetType() { - return RadarTargetType.MISSILE_TIER2; - } - @Override public String getUnlocalizedName() { return "radar.target.tier2"; @@ -49,6 +44,7 @@ public abstract class EntityMissileTier2 extends EntityMissileBaseNT { public EntityMissileStrong(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); } @Override public void onImpact() { this.explodeStandard(30F, 32, false, true); } @Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_generic_medium); } + @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_strong); } } public static class EntityMissileIncendiaryStrong extends EntityMissileTier2 { @@ -59,6 +55,7 @@ public abstract class EntityMissileTier2 extends EntityMissileBaseNT { ExplosionChaos.flameDeath(this.worldObj, (int)((float)this.posX + 0.5F), (int)((float)this.posY + 0.5F), (int)((float)this.posZ + 0.5F), 25); } @Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_incendiary_medium); } + @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_incendiary_strong); } } public static class EntityMissileClusterStrong extends EntityMissileTier2 { @@ -70,6 +67,7 @@ public abstract class EntityMissileTier2 extends EntityMissileBaseNT { } @Override public void cluster() { this.onImpact(); } @Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_cluster_medium); } + @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_cluster_strong); } } public static class EntityMissileBusterStrong extends EntityMissileTier2 { @@ -82,6 +80,7 @@ public abstract class EntityMissileTier2 extends EntityMissileBaseNT { ExplosionLarge.spawnRubble(worldObj, this.posX, this.posY, this.posZ, 8); } @Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_buster_medium); } + @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_buster_strong); } } public static class EntityMissileEMPStrong extends EntityMissileTier2 { @@ -95,5 +94,6 @@ public abstract class EntityMissileTier2 extends EntityMissileBaseNT { worldObj.spawnEntityInWorld(emp); } @Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_generic_medium); } + @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_emp_strong); } } } diff --git a/src/main/java/com/hbm/entity/missile/EntityMissileTier3.java b/src/main/java/com/hbm/entity/missile/EntityMissileTier3.java index e046a2f6c..2cb23dc07 100644 --- a/src/main/java/com/hbm/entity/missile/EntityMissileTier3.java +++ b/src/main/java/com/hbm/entity/missile/EntityMissileTier3.java @@ -6,12 +6,12 @@ import java.util.List; import com.hbm.explosion.ExplosionChaos; import com.hbm.explosion.ExplosionLarge; import com.hbm.explosion.ExplosionNT; -import com.hbm.explosion.ExplosionThermo; import com.hbm.explosion.ExplosionNT.ExAttrib; import com.hbm.items.ModItems; import api.hbm.entity.IRadarDetectableNT; import net.minecraft.item.ItemStack; +import net.minecraft.util.Vec3; import net.minecraft.world.World; public abstract class EntityMissileTier3 extends EntityMissileBaseNT { @@ -31,11 +31,6 @@ public abstract class EntityMissileTier3 extends EntityMissileBaseNT { return list; } - @Override - public RadarTargetType getTargetType() { - return RadarTargetType.MISSILE_TIER3; - } - @Override public String getUnlocalizedName() { return "radar.target.tier3"; @@ -45,6 +40,20 @@ public abstract class EntityMissileTier3 extends EntityMissileBaseNT { public int getBlipLevel() { return IRadarDetectableNT.TIER3; } + + @Override + protected void spawnContrail() { + + Vec3 thrust = Vec3.createVectorHelper(0, 0, 0.5); + thrust.rotateAroundY((this.rotationYaw + 90) * (float) Math.PI / 180F); + thrust.rotateAroundX(this.rotationPitch * (float) Math.PI / 180F); + thrust.rotateAroundY(-(this.rotationYaw + 90) * (float) Math.PI / 180F); + + this.spawnContraolWithOffset(thrust.xCoord, thrust.yCoord, thrust.zCoord); + this.spawnContraolWithOffset(-thrust.zCoord, thrust.yCoord, thrust.xCoord); + this.spawnContraolWithOffset(-thrust.xCoord, -thrust.zCoord, -thrust.zCoord); + this.spawnContraolWithOffset(thrust.zCoord, -thrust.zCoord, -thrust.xCoord); + } public static class EntityMissileBurst extends EntityMissileTier3 { public EntityMissileBurst(World world) { super(world); } @@ -53,6 +62,7 @@ public abstract class EntityMissileTier3 extends EntityMissileBaseNT { this.explodeStandard(50F, 48, false, true); } @Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_generic_large); } + @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_burst); } } public static class EntityMissileInferno extends EntityMissileTier3 { @@ -64,6 +74,7 @@ public abstract class EntityMissileTier3 extends EntityMissileBaseNT { ExplosionChaos.flameDeath(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 25); } @Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_incendiary_large); } + @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_inferno); } } public static class EntityMissileRain extends EntityMissileTier3 { @@ -75,6 +86,7 @@ public abstract class EntityMissileTier3 extends EntityMissileBaseNT { } @Override public void cluster() { this.onImpact(); } @Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_cluster_large); } + @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_rain); } } public static class EntityMissileDrill extends EntityMissileTier3 { @@ -91,45 +103,6 @@ public abstract class EntityMissileTier3 extends EntityMissileBaseNT { ExplosionLarge.jolt(worldObj, this.posX, this.posY, this.posZ, 10, 50, 1); } @Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_buster_large); } - } - - public static class EntityMissileEndo extends EntityMissileTier3 { - public EntityMissileEndo(World world) { super(world); } - public EntityMissileEndo(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); } - @Override public void onImpact() { - this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 10.0F, true); - ExplosionThermo.freeze(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 30); - ExplosionThermo.freezer(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 40); - } - @Override public List getDebris() { - List list = new ArrayList(); - list.add(new ItemStack(ModItems.plate_titanium, 10)); - list.add(new ItemStack(ModItems.plate_steel, 14)); - list.add(new ItemStack(ModItems.plate_aluminium, 8)); - list.add(new ItemStack(ModItems.thruster_large, 1)); - list.add(new ItemStack(ModItems.circuit_targeting_tier4, 1)); - return list; - } - @Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_thermo_exo); } - } - - public static class EntityMissileExo extends EntityMissileTier3 { - public EntityMissileExo(World world) { super(world); } - public EntityMissileExo(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); } - @Override public void onImpact() { - this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 10.0F, true); - ExplosionThermo.scorch(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 30); - ExplosionThermo.setEntitiesOnFire(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 40); - } - @Override public List getDebris() { - List list = new ArrayList(); - list.add(new ItemStack(ModItems.plate_titanium, 10)); - list.add(new ItemStack(ModItems.plate_steel, 14)); - list.add(new ItemStack(ModItems.plate_aluminium, 8)); - list.add(new ItemStack(ModItems.thruster_large, 1)); - list.add(new ItemStack(ModItems.circuit_targeting_tier4, 1)); - return list; - } - @Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_thermo_exo); } + @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_drill); } } } diff --git a/src/main/java/com/hbm/entity/missile/EntityMissileTier4.java b/src/main/java/com/hbm/entity/missile/EntityMissileTier4.java index 826f4143f..ea440d024 100644 --- a/src/main/java/com/hbm/entity/missile/EntityMissileTier4.java +++ b/src/main/java/com/hbm/entity/missile/EntityMissileTier4.java @@ -12,6 +12,7 @@ import com.hbm.items.ModItems; import api.hbm.entity.IRadarDetectableNT; import net.minecraft.item.ItemStack; +import net.minecraft.util.Vec3; import net.minecraft.world.World; public abstract class EntityMissileTier4 extends EntityMissileBaseNT { @@ -30,11 +31,6 @@ public abstract class EntityMissileTier4 extends EntityMissileBaseNT { return list; } - @Override - public RadarTargetType getTargetType() { - return RadarTargetType.MISSILE_TIER4; - } - @Override public String getUnlocalizedName() { return "radar.target.tier4"; @@ -44,6 +40,26 @@ public abstract class EntityMissileTier4 extends EntityMissileBaseNT { public int getBlipLevel() { return IRadarDetectableNT.TIER4; } + + @Override + protected void spawnContrail() { + + byte rot = this.dataWatcher.getWatchableObjectByte(3); + + Vec3 thrust = Vec3.createVectorHelper(0, 0, 1); + switch(rot) { + case 2: thrust.rotateAroundY((float) -Math.PI / 2F); break; + case 4: thrust.rotateAroundY((float) -Math.PI); break; + case 3: thrust.rotateAroundY((float) -Math.PI / 2F * 3F); break; + } + thrust.rotateAroundY((this.rotationYaw + 90) * (float) Math.PI / 180F); + thrust.rotateAroundX(this.rotationPitch * (float) Math.PI / 180F); + thrust.rotateAroundY(-(this.rotationYaw + 90) * (float) Math.PI / 180F); + + this.spawnContraolWithOffset(thrust.xCoord, thrust.yCoord, thrust.zCoord); + this.spawnContraolWithOffset(0, 0, 0); + this.spawnContraolWithOffset(-thrust.xCoord, -thrust.zCoord, -thrust.zCoord); + } public static class EntityMissileNuclear extends EntityMissileTier4 { public EntityMissileNuclear(World world) { super(world); } @@ -53,6 +69,7 @@ public abstract class EntityMissileTier4 extends EntityMissileBaseNT { EntityNukeTorex.statFac(worldObj, posX, posY, posZ, BombConfig.missileRadius); } @Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_nuclear); } + @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_nuclear); } } public static class EntityMissileMirv extends EntityMissileTier4 { @@ -72,6 +89,7 @@ public abstract class EntityMissileTier4 extends EntityMissileBaseNT { return list; } @Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_mirv); } + @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_nuclear_cluster); } } public static class EntityMissileVolcano extends EntityMissileTier4 { @@ -83,5 +101,29 @@ public abstract class EntityMissileTier4 extends EntityMissileBaseNT { worldObj.setBlock((int)Math.floor(posX), (int)Math.floor(posY), (int)Math.floor(posZ), ModBlocks.volcano_core); } @Override public ItemStack getDebrisRareDrop() { return new ItemStack(ModItems.warhead_volcano); } + @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_volcano); } + } + + public static class EntityMissileDoomsday extends EntityMissileTier4 { + public EntityMissileDoomsday(World world) { super(world); } + public EntityMissileDoomsday(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); } + @Override public void onImpact() { + this.worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, BombConfig.missileRadius * 2, posX, posY, posZ).moreFallout(100)); + EntityNukeTorex.statFac(worldObj, posX, posY, posZ, BombConfig.missileRadius * 2); + } + @Override public List getDebris() { return null; } + @Override public ItemStack getDebrisRareDrop() { return null; } + @Override public String getUnlocalizedName() { return "radar.target.doomsday"; } + @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_doomsday); } + } + + public static class EntityMissileDoomsdayRusted extends EntityMissileDoomsday { + public EntityMissileDoomsdayRusted(World world) { super(world); } + public EntityMissileDoomsdayRusted(World world, float x, float y, float z, int a, int b) { super(world, x, y, z, a, b); } + @Override public void onImpact() { + this.worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, BombConfig.missileRadius, posX, posY, posZ).moreFallout(100)); + EntityNukeTorex.statFac(worldObj, posX, posY, posZ, BombConfig.missileRadius); + } + @Override public ItemStack getMissileItemForInfo() { return new ItemStack(ModItems.missile_doomsday_rusted); } } } diff --git a/src/main/java/com/hbm/entity/missile/EntitySiegeDropship.java b/src/main/java/com/hbm/entity/missile/EntitySiegeDropship.java deleted file mode 100644 index 567d5c04f..000000000 --- a/src/main/java/com/hbm/entity/missile/EntitySiegeDropship.java +++ /dev/null @@ -1,129 +0,0 @@ -package com.hbm.entity.missile; - -import com.hbm.blocks.ModBlocks; -import com.hbm.entity.mob.siege.SiegeTier; -import com.hbm.explosion.ExplosionLarge; -import com.hbm.handler.SiegeOrchestrator; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; - -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import net.minecraft.entity.projectile.EntityThrowable; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.MovingObjectPosition.MovingObjectType; -import net.minecraft.world.World; - -public class EntitySiegeDropship extends EntityThrowable { - - public int health = 20; - - public EntitySiegeDropship(World world) { - super(world); - this.health *= Math.pow((SiegeOrchestrator.level + 1), 2); - this.setSize(0.5F, 1F); - } - - public EntitySiegeDropship(World world, double x, double y, double z) { - super(world, x, y, z); - this.health *= Math.pow((SiegeOrchestrator.level + 1), 2); - this.setSize(0.5F, 1F); - } - - @Override - public boolean canBeCollidedWith() { - return true; - } - - @Override - public boolean attackEntityFrom(DamageSource source, float amount) { - - if(this.isEntityInvulnerable()) { - return false; - - } else { - - if(!this.isDead && !this.worldObj.isRemote) { - health -= amount; - - if(this.health <= 0) { - this.setDead(); - SiegeOrchestrator.levelCounter += SiegeOrchestrator.getTierAddDrop(worldObj); - - SiegeTier tier = SiegeTier.tiers[SiegeOrchestrator.level]; - if(tier == null) - tier = SiegeTier.DNT; - - for(ItemStack drop : tier.dropItem) { - this.entityDropItem(drop.copy(), 0F); - } - - ExplosionLarge.spawnParticles(worldObj, posX, posY + 1, posZ, 10); - - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "plasmablast"); - data.setFloat("r", 1F); - data.setFloat("g", 0F); - data.setFloat("b", 0F); - data.setFloat("scale", 20F); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, posX, posY, posZ), - new TargetPoint(worldObj.provider.dimensionId, posX, posY, posZ, 100)); - } - } - - return true; - } - } - - @Override - public void onUpdate() { - - this.motionX = 0; - this.motionY = -0.5; - this.motionZ = 0; - - if(!worldObj.isRemote && this.ticksExisted % 2 == 0) { - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "plasmablast"); - data.setFloat("r", 0.1F); - data.setFloat("g", 0.75F); - data.setFloat("b", 1.0F); - data.setFloat("scale", 3F); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, posX, posY, posZ), - new TargetPoint(worldObj.provider.dimensionId, posX, posY, posZ, 100)); - } - - super.onUpdate(); - } - - @Override - protected void onImpact(MovingObjectPosition mop) { - - if(mop.typeOfHit == MovingObjectType.BLOCK) { - this.setDead(); - - if(SiegeOrchestrator.enableBaseSpawning(worldObj)) { - worldObj.setBlock(mop.blockX, mop.blockY, mop.blockZ, ModBlocks.siege_shield); - } else if(SiegeOrchestrator.enableMobSpawning(worldObj)) { - SiegeOrchestrator.spawnRandomMob(worldObj, mop.blockX + 0.5, mop.blockY + 1, mop.blockZ + 0.5, null); - } - - ExplosionLarge.spawnParticles(worldObj, posX, posY + 1, posZ, 10); - } - } - - @Override - public void writeEntityToNBT(NBTTagCompound nbt) { - super.writeEntityToNBT(nbt); - nbt.setInteger("health", this.health); - } - - @Override - public void readEntityFromNBT(NBTTagCompound nbt) { - super.readEntityFromNBT(nbt); - - this.health = nbt.getInteger("health"); - } -} diff --git a/src/main/java/com/hbm/entity/missile/EntityTestMissile.java b/src/main/java/com/hbm/entity/missile/EntityTestMissile.java deleted file mode 100644 index e44151751..000000000 --- a/src/main/java/com/hbm/entity/missile/EntityTestMissile.java +++ /dev/null @@ -1,275 +0,0 @@ -package com.hbm.entity.missile; - -import com.hbm.calc.EasyLocation; -import net.minecraft.entity.projectile.EntityThrowable; -import net.minecraft.init.Blocks; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; - -public class EntityTestMissile extends EntityThrowable { - - EasyLocation origin; - EasyLocation loc0; - EasyLocation loc1; - EasyLocation loc2; - EasyLocation loc3; - EasyLocation loc4; - EasyLocation loc5; - EasyLocation loc6; - EasyLocation loc7; - EasyLocation target; - - public int lengthX; - public int lengthZ; - public double lengthFlight; - public int baseHeight = 0; - public double missileSpeed = 3; - - public int phase = 0; - - public EntityTestMissile(World p_i1582_1_) { - super(p_i1582_1_); - } - - public EntityTestMissile(World p_i1582_1_, int x, int z, double a, double b, double c) { - super(p_i1582_1_); - this.posX = a; - this.posY = b; - this.posZ = c; - - this.motionY = 0.1; - - lengthX = (int) (x - this.posX); - lengthZ = (int) (z - this.posZ); - lengthFlight = Math.sqrt(Math.pow(lengthX, 2) + Math.pow(lengthZ, 2)); - - - origin = new EasyLocation(this.posX, this.posY, this.posZ); - - loc0 = new EasyLocation(this.posX, this.posY + baseHeight, this.posZ); - loc1 = new EasyLocation(this.posX + lengthX/lengthFlight * 10, this.posY + baseHeight + 20, this.posZ + lengthZ/lengthFlight * 10); - loc2 = new EasyLocation(this.posX + lengthX/lengthFlight * 30, this.posY + baseHeight + 40, this.posZ + lengthZ/lengthFlight * 30); - loc3 = new EasyLocation(this.posX + lengthX/lengthFlight * 50, this.posY + baseHeight + 50, this.posZ + lengthZ/lengthFlight * 50); - - loc4 = new EasyLocation(x - (lengthX/lengthFlight * 50), this.posY + baseHeight + 50, z - (lengthZ/lengthFlight * 50)); - loc5 = new EasyLocation(x - (lengthX/lengthFlight * 30), this.posY + baseHeight + 40, z - (lengthZ/lengthFlight * 30)); - loc6 = new EasyLocation(x - (lengthX/lengthFlight * 10), this.posY + baseHeight + 20, z - (lengthZ/lengthFlight * 10)); - loc7 = new EasyLocation(x, this.posY + baseHeight, z); - - - target = new EasyLocation(x, 0, z); - - /*this.worldObj.setBlock((int)loc0.posX, (int)loc0.posY, (int)loc0.posZ, Blocks.dirt); - this.worldObj.setBlock((int)loc1.posX, (int)loc1.posY, (int)loc1.posZ, Blocks.dirt); - this.worldObj.setBlock((int)loc2.posX, (int)loc2.posY, (int)loc2.posZ, Blocks.dirt); - this.worldObj.setBlock((int)loc3.posX, (int)loc3.posY, (int)loc3.posZ, Blocks.dirt); - this.worldObj.setBlock((int)loc4.posX, (int)loc4.posY, (int)loc4.posZ, Blocks.stone); - this.worldObj.setBlock((int)loc5.posX, (int)loc5.posY, (int)loc5.posZ, Blocks.stone); - this.worldObj.setBlock((int)loc6.posX, (int)loc6.posY, (int)loc6.posZ, Blocks.stone); - this.worldObj.setBlock((int)loc7.posX, (int)loc7.posY, (int)loc7.posZ, Blocks.stone);*/ - - /*System.out.print("\n" + loc0.posX + " " + loc0.posY + " " + loc0.posZ); - System.out.print("\n" + loc1.posX + " " + loc1.posY + " " + loc1.posZ); - System.out.print("\n" + loc2.posX + " " + loc2.posY + " " + loc2.posZ); - System.out.print("\n" + loc3.posX + " " + loc3.posY + " " + loc3.posZ); - System.out.print("\n"); - System.out.print("\n" + loc4.posX + " " + loc4.posY + " " + loc4.posZ); - System.out.print("\n" + loc5.posX + " " + loc5.posY + " " + loc5.posZ); - System.out.print("\n" + loc6.posX + " " + loc6.posY + " " + loc6.posZ); - System.out.print("\n" + loc7.posX + " " + loc7.posY + " " + loc7.posZ);*/ - } - - @Override - protected void entityInit() { - - } - - @Override - public void onUpdate() - { - //super.onUpdate(); - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - - this.rotation(); - - switch(phase) - { - case 0: - if(loc0 != null) - { - freePizzaGoddammit(loc0); - if(loc0.posX + 2 > this.posX && loc0.posX - 2 < this.posX && - loc0.posY + 2 > this.posY && loc0.posY - 2 < this.posY && - loc0.posZ + 2 > this.posZ && loc0.posZ - 2 < this.posZ) - { - this.phase = 1; - } - } - break; - case 1: - if(loc1 != null) - { - freePizzaGoddammit(loc1); - if(loc1.posX + 2 > this.posX && loc1.posX - 2 < this.posX && - loc1.posY + 2 > this.posY && loc1.posY - 2 < this.posY && - loc1.posZ + 2 > this.posZ && loc1.posZ - 2 < this.posZ) - { - this.phase = 2; - } - } - break; - case 2: - if(loc2 != null) - { - freePizzaGoddammit(loc2); - if(loc2.posX + 2 > this.posX && loc2.posX - 2 < this.posX && - loc2.posY + 2 > this.posY && loc2.posY - 2 < this.posY && - loc2.posZ + 2 > this.posZ && loc2.posZ - 2 < this.posZ) - { - this.phase = 3; - } - } - break; - case 3: - if(loc3 != null) - { - freePizzaGoddammit(loc3); - if(loc3.posX + 2 > this.posX && loc3.posX - 2 < this.posX && - loc3.posY + 2 > this.posY && loc3.posY - 2 < this.posY && - loc3.posZ + 2 > this.posZ && loc3.posZ - 2 < this.posZ) - { - this.phase = 4; - } - } - break; - case 4: - if(loc4 != null) - { - freePizzaGoddammit(loc4); - if(loc4.posX + 2 > this.posX && loc4.posX - 2 < this.posX && - loc4.posY + 2 > this.posY && loc4.posY - 2 < this.posY && - loc4.posZ + 2 > this.posZ && loc4.posZ - 2 < this.posZ) - { - this.phase = 5; - } - } - break; - case 5: - if(loc5 != null) - { - freePizzaGoddammit(loc5); - if(loc5.posX + 2 > this.posX && loc5.posX - 2 < this.posX && - loc5.posY + 2 > this.posY && loc5.posY - 2 < this.posY && - loc5.posZ + 2 > this.posZ && loc5.posZ - 2 < this.posZ) - { - this.phase = 6; - } - } - break; - case 6: - if(loc6 != null) - { - freePizzaGoddammit(loc6); - if(loc6.posX + 2 > this.posX && loc6.posX - 2 < this.posX && - loc6.posY + 2 > this.posY && loc6.posY - 2 < this.posY && - loc6.posZ + 2 > this.posZ && loc6.posZ - 2 < this.posZ) - { - this.phase = 7; - } - } - break; - case 7: - if(loc7 != null) - { - freePizzaGoddammit(loc7); - if(loc7.posX + 2 > this.posX && loc7.posX - 2 < this.posX && - loc7.posY + 2 > this.posY && loc7.posY - 2 < this.posY && - loc7.posZ + 2 > this.posZ && loc7.posZ - 2 < this.posZ) - { - this.phase = 8; - } - } - break; - case 8: - if(target != null) - { - freePizzaGoddammit(target); - if(target.posX + 2 > this.posX && target.posX - 2 < this.posX && - target.posY + 2 > this.posY && target.posY - 2 < this.posY && - target.posZ + 2 > this.posZ && target.posZ - 2 < this.posZ) - { - this.phase = -1; - } - } - break; - } - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air) - { - if(!this.worldObj.isRemote) - { - this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 5.0F, true); - } - this.setDead(); - } - } - - @Override - protected void onImpact(MovingObjectPosition p_70184_1_) { - } - - private void freePizzaGoddammit(EasyLocation loc) { - double x = loc.posX - this.posX; - double y = loc.posY - this.posY; - double z = loc.posZ - this.posZ; - lengthFlight = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2) + Math.pow(z, 2)); - - this.motionX = x / this.lengthFlight * missileSpeed; - this.motionY = y / this.lengthFlight * missileSpeed; - this.motionZ = z / this.lengthFlight * missileSpeed; - } - - private void rotation() { - /*EasyVector vec0 = new EasyVector(this.motionX, this.motionZ); - - EasyVector vec1 = new EasyVector(this.motionY, vec0.getResult()); - - this.rotationYaw = (float)Math.acos((vec0.a * 0 + vec0.b * 1) / (vec0.getResult() * 1)); - //this.rotationPitch = (float)Math.acos((vec0.a * vec1.a + vec0.b * vec1.b) / (vec0.getResult() * vec1.getResult())) * 10; - - this.rotationPitch = (float)Math.acos((vec0.a * vec1.a + vec0.b * vec1.b) / (vec0.getResult() * vec1.getResult())) * 100 - 90; - if(this.rotationPitch < 0) - this.rotationPitch += 180; - - System.out.print("\n" + this.rotationYaw); - System.out.print("\n" + this.rotationPitch);*/ - float f2; - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - for (this.rotationPitch = (float)(Math.atan2(this.motionY, f2) * 180.0D / Math.PI) - 90; this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) - { - ; - } - - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) - { - this.prevRotationPitch += 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw < -180.0F) - { - this.prevRotationYaw -= 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) - { - this.prevRotationYaw += 360.0F; - } - } - -} diff --git a/src/main/java/com/hbm/entity/mob/EntityCreeperNuclear.java b/src/main/java/com/hbm/entity/mob/EntityCreeperNuclear.java index 3be14d073..1051c9222 100644 --- a/src/main/java/com/hbm/entity/mob/EntityCreeperNuclear.java +++ b/src/main/java/com/hbm/entity/mob/EntityCreeperNuclear.java @@ -120,7 +120,7 @@ public class EntityCreeperNuclear extends EntityCreeper { worldObj.playSoundEffect(posX, posY + 0.5, posZ, "hbm:weapon.mukeExplosion", 15.0F, 1.0F); if(flag) { - worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, 50, posX, posY, posZ).mute()); + worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, 50, posX, posY, posZ)); } else { ExplosionNukeGeneric.dealDamage(worldObj, posX, posY + 0.5, posZ, 100); } diff --git a/src/main/java/com/hbm/entity/mob/EntityCreeperPhosgene.java b/src/main/java/com/hbm/entity/mob/EntityCreeperPhosgene.java index dc6015870..c3636fa8d 100644 --- a/src/main/java/com/hbm/entity/mob/EntityCreeperPhosgene.java +++ b/src/main/java/com/hbm/entity/mob/EntityCreeperPhosgene.java @@ -37,6 +37,7 @@ public class EntityCreeperPhosgene extends EntityCreeper { mist.setType(Fluids.PHOSGENE); mist.setPosition(posX, posY, posZ); mist.setArea(10, 5); + mist.setDuration(150); worldObj.spawnEntityInWorld(mist); } } diff --git a/src/main/java/com/hbm/entity/mob/EntityFBI.java b/src/main/java/com/hbm/entity/mob/EntityFBI.java index c6426a6b3..ae95a2df2 100644 --- a/src/main/java/com/hbm/entity/mob/EntityFBI.java +++ b/src/main/java/com/hbm/entity/mob/EntityFBI.java @@ -176,7 +176,6 @@ public class EntityFBI extends EntityMob implements IRangedAttackMob { canDestroy.add(ModBlocks.crate_iron); canDestroy.add(ModBlocks.crate_steel); canDestroy.add(ModBlocks.machine_diesel); - canDestroy.add(ModBlocks.machine_selenium); canDestroy.add(ModBlocks.machine_rtg_grey); canDestroy.add(ModBlocks.machine_minirtg); canDestroy.add(ModBlocks.machine_powerrtg); diff --git a/src/main/java/com/hbm/entity/mob/EntityGlyphid.java b/src/main/java/com/hbm/entity/mob/EntityGlyphid.java deleted file mode 100644 index 599b66f6a..000000000 --- a/src/main/java/com/hbm/entity/mob/EntityGlyphid.java +++ /dev/null @@ -1,254 +0,0 @@ -package com.hbm.entity.mob; - -import java.util.Arrays; -import java.util.Collections; -import java.util.List; - -import com.hbm.config.MobConfig; -import com.hbm.entity.pathfinder.PathFinderUtils; -import com.hbm.handler.pollution.PollutionHandler; -import com.hbm.handler.pollution.PollutionHandler.PollutionType; -import com.hbm.items.ModItems; -import com.hbm.lib.ModDamageSource; -import com.hbm.main.ResourceManager; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EnumCreatureAttribute; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.monster.EntityMob; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.potion.Potion; -import net.minecraft.util.DamageSource; -import net.minecraft.util.ResourceLocation; -import net.minecraft.world.World; - -public class EntityGlyphid extends EntityMob { - - public EntityGlyphid(World world) { - super(world); - /*this.tasks.addTask(0, new EntityAISwimming(this)); - this.tasks.addTask(2, new EntityAIAttackOnCollide(this, EntityPlayer.class, 1.0D, false)); - this.tasks.addTask(5, new EntityAIMoveTowardsRestriction(this, 1.0D)); - this.tasks.addTask(7, new EntityAIWander(this, 1.0D)); - this.tasks.addTask(8, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); - this.tasks.addTask(8, new EntityAILookIdle(this)); - this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, true)); - this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true));*/ - this.setSize(1.75F, 1F); - } - - public ResourceLocation getSkin() { - return ResourceManager.glyphid_tex; - } - - public double getScale() { - return 1.0D; - } - - @Override - protected void entityInit() { - super.entityInit(); - this.dataWatcher.addObject(16, new Byte((byte) 0)); //wall climbing - this.dataWatcher.addObject(17, new Byte((byte) 0b11111)); //armor - } - - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(30D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(1D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(5D); - } - - @Override - protected void dropFewItems(boolean byPlayer, int looting) { - if(rand.nextInt(3) == 0) this.entityDropItem(new ItemStack(ModItems.glyphid_meat, 1 + rand.nextInt(2) + looting), 0F); - } - - @Override - protected Entity findPlayerToAttack() { - if(this.isPotionActive(Potion.blindness)) return null; - EntityPlayer entityplayer = this.worldObj.getClosestVulnerablePlayerToEntity(this, useExtendedTargeting() ? 128D : 16D); - return entityplayer != null && this.canEntityBeSeen(entityplayer) ? entityplayer : null; - } - - @Override - protected void updateEntityActionState() { - super.updateEntityActionState(); - - if(this.isPotionActive(Potion.blindness)) { - this.entityToAttack = null; - this.setPathToEntity(null); - } else { - - // hell yeah!! - if(useExtendedTargeting() && this.entityToAttack != null && !this.hasPath()) { - this.setPathToEntity(PathFinderUtils.getPathEntityToEntityPartial(worldObj, this, this.entityToAttack, 16F, true, false, false, true)); - } - } - - } - - public boolean useExtendedTargeting() { - return PollutionHandler.getPollution(worldObj, (int) Math.floor(posX), (int) Math.floor(posY), (int) Math.floor(posZ), PollutionType.SOOT) >= MobConfig.targetingThreshold; - } - - @Override - protected boolean canDespawn() { - return entityToAttack == null; - } - - @Override - public boolean attackEntityFrom(DamageSource source, float amount) { - - if(!source.isDamageAbsolute() && !source.isUnblockable() && !worldObj.isRemote && !source.isFireDamage() && !source.getDamageType().equals(ModDamageSource.s_cryolator)) { - byte armor = this.dataWatcher.getWatchableObjectByte(17); - - if(armor != 0) { //if at least one bit of armor is present - - if(amount < getDamageThreshold()) return false; - - int chance = getArmorBreakChance(amount); //chances of armor being broken off - if(this.rand.nextInt(chance) == 0 && amount > 1) { - breakOffArmor(); - amount *= 0.25F; - } - - amount -= getDamageThreshold(); - if(amount < 0) return true; - } - - amount = this.calculateDamage(amount); - } - - if(source.isFireDamage()) amount *= 4F; - - return super.attackEntityFrom(source, amount); - } - - public int getArmorBreakChance(float amount) { - return amount < 10 ? 5 : amount < 20 ? 3 : 2; - } - - public float calculateDamage(float amount) { - - byte armor = this.dataWatcher.getWatchableObjectByte(17); - int divisor = 1; - - for(int i = 0; i < 5; i++) { - if((armor & (1 << i)) > 0) { - divisor++; - } - } - - amount /= divisor; - - return amount; - } - - public float getDamageThreshold() { - return 0.5F; - } - - public void breakOffArmor() { - byte armor = this.dataWatcher.getWatchableObjectByte(17); - List indices = Arrays.asList(0, 1, 2, 3, 4); - Collections.shuffle(indices); - - for(Integer i : indices) { - byte bit = (byte) (1 << i); - if((armor & bit) > 0) { - armor &= ~bit; - armor = (byte) (armor & 0b11111); - this.dataWatcher.updateObject(17, armor); - worldObj.playSoundAtEntity(this, "mob.zombie.woodbreak", 1.0F, 1.25F); - break; - } - } - } - - @Override - public boolean attackEntityAsMob(Entity victum) { - if(this.isSwingInProgress) return false; - this.swingItem(); - return super.attackEntityAsMob(victum); - } - - @Override - public void onUpdate() { - super.onUpdate(); - - if(!this.worldObj.isRemote) { - this.setBesideClimbableBlock(this.isCollidedHorizontally); - - if(worldObj.getTotalWorldTime() % 200 == 0) { - this.swingItem(); - } - } - } - - @Override - protected void updateArmSwingProgress() { - int i = this.swingDuration(); - - if(this.isSwingInProgress) { - ++this.swingProgressInt; - - if(this.swingProgressInt >= i) { - this.swingProgressInt = 0; - this.isSwingInProgress = false; - } - } else { - this.swingProgressInt = 0; - } - - this.swingProgress = (float) this.swingProgressInt / (float) i; - } - - public int swingDuration() { - return 15; - } - - @Override - public void setInWeb() { } - - @Override - public boolean isOnLadder() { - return this.isBesideClimbableBlock(); - } - - public boolean isBesideClimbableBlock() { - return (this.dataWatcher.getWatchableObjectByte(16) & 1) != 0; - } - - public void setBesideClimbableBlock(boolean climbable) { - byte watchable = this.dataWatcher.getWatchableObjectByte(16); - - if(climbable) { - watchable = (byte) (watchable | 1); - } else { - watchable &= -2; - } - - this.dataWatcher.updateObject(16, Byte.valueOf(watchable)); - } - - @Override - public EnumCreatureAttribute getCreatureAttribute() { - return EnumCreatureAttribute.ARTHROPOD; - } - - @Override - public void writeEntityToNBT(NBTTagCompound nbt) { - super.writeEntityToNBT(nbt); - nbt.setByte("armor", this.dataWatcher.getWatchableObjectByte(17)); - } - - @Override - public void readEntityFromNBT(NBTTagCompound nbt) { - super.readEntityFromNBT(nbt); - this.dataWatcher.updateObject(17, nbt.getByte("armor")); - } -} diff --git a/src/main/java/com/hbm/entity/mob/EntityGlyphidBehemoth.java b/src/main/java/com/hbm/entity/mob/EntityGlyphidBehemoth.java deleted file mode 100644 index bf3215059..000000000 --- a/src/main/java/com/hbm/entity/mob/EntityGlyphidBehemoth.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.hbm.entity.mob; - -import com.hbm.main.ResourceManager; - -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.util.ResourceLocation; -import net.minecraft.world.World; - -public class EntityGlyphidBehemoth extends EntityGlyphid { - - public EntityGlyphidBehemoth(World world) { - super(world); - this.setSize(2.25F, 1.25F); - } - - @Override - public ResourceLocation getSkin() { - return ResourceManager.glyphid_behemoth_tex; - } - - @Override - public double getScale() { - return 1.5D; - } - - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(100D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.8D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(25D); - } - - @Override - public int getArmorBreakChance(float amount) { - return amount < 20 ? 10 : amount < 100 ? 5 : amount > 200 ? 1 : 3; - } - - @Override - public float calculateDamage(float amount) { - - byte armor = this.dataWatcher.getWatchableObjectByte(17); - int divisor = 1; - - for(int i = 0; i < 5; i++) { - if((armor & (1 << i)) > 0) { - divisor += 3; - } - } - - amount /= divisor; - - return amount; - } - - @Override - public float getDamageThreshold() { - return 2.5F; - } -} diff --git a/src/main/java/com/hbm/entity/mob/EntityGlyphidBrawler.java b/src/main/java/com/hbm/entity/mob/EntityGlyphidBrawler.java deleted file mode 100644 index 749230a42..000000000 --- a/src/main/java/com/hbm/entity/mob/EntityGlyphidBrawler.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.hbm.entity.mob; - -import com.hbm.main.ResourceManager; - -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.util.ResourceLocation; -import net.minecraft.world.World; - -public class EntityGlyphidBrawler extends EntityGlyphid { - - public EntityGlyphidBrawler(World world) { - super(world); - this.setSize(2F, 1.125F); - } - - @Override - public ResourceLocation getSkin() { - return ResourceManager.glyphid_brawler_tex; - } - - @Override - public double getScale() { - return 1.25D; - } - - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(50D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(1D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(10D); - } - - @Override - public int getArmorBreakChance(float amount) { - return amount < 10 ? 10 : amount < 25 ? 5 : amount > 100 ? 1 : 3; - } - - @Override - public float calculateDamage(float amount) { - - byte armor = this.dataWatcher.getWatchableObjectByte(17); - int divisor = 1; - - for(int i = 0; i < 5; i++) { - if((armor & (1 << i)) > 0) { - divisor += 2; - } - } - - amount /= divisor; - - return amount; - } - - @Override - public float getDamageThreshold() { - return 1.0F; - } -} diff --git a/src/main/java/com/hbm/entity/mob/EntityGlyphidBrenda.java b/src/main/java/com/hbm/entity/mob/EntityGlyphidBrenda.java deleted file mode 100644 index bdce3e7bc..000000000 --- a/src/main/java/com/hbm/entity/mob/EntityGlyphidBrenda.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.hbm.entity.mob; - -import com.hbm.main.ResourceManager; - -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.ResourceLocation; -import net.minecraft.world.World; - -public class EntityGlyphidBrenda extends EntityGlyphid { - - public EntityGlyphidBrenda(World world) { - super(world); - this.setSize(2.5F, 1.75F); - this.isImmuneToFire = true; - } - - @Override - public ResourceLocation getSkin() { - return ResourceManager.glyphid_brenda_tex; - } - - @Override - public double getScale() { - return 2D; - } - - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(250D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.8D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(50D); - } - - @Override - public int getArmorBreakChance(float amount) { - return amount < 25 ? 100 : amount > 1000 ? 1 : 10; - } - - @Override - public float calculateDamage(float amount) { - - byte armor = this.dataWatcher.getWatchableObjectByte(17); - int divisor = 1; - - for(int i = 0; i < 5; i++) { - if((armor & (1 << i)) > 0) { - divisor += 5; - } - } - - amount /= divisor; - - return amount; - } - - @Override - public float getDamageThreshold() { - return 10F; - } - - @Override - public void setDead() { - if(!this.worldObj.isRemote && this.getHealth() <= 0.0F) { - for(int i = 0; i < 12; ++i) { - EntityGlyphid glyphid = new EntityGlyphid(worldObj); - glyphid.setLocationAndAngles(this.posX, this.posY + 0.5D, this.posZ, rand.nextFloat() * 360.0F, 0.0F); - glyphid.addPotionEffect(new PotionEffect(Potion.resistance.id, 5 * 60 * 20, 2)); - glyphid.addPotionEffect(new PotionEffect(Potion.fireResistance.id, 5 * 60 * 20, 0)); - glyphid.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 5 * 60 * 20, 4)); - glyphid.addPotionEffect(new PotionEffect(Potion.field_76444_x.id, 5 * 60 * 20, 19)); - this.worldObj.spawnEntityInWorld(glyphid); - glyphid.moveEntity(rand.nextGaussian(), 0, rand.nextGaussian()); - } - } - - super.setDead(); - } -} diff --git a/src/main/java/com/hbm/entity/mob/EntityGlyphidNuclear.java b/src/main/java/com/hbm/entity/mob/EntityGlyphidNuclear.java deleted file mode 100644 index 62a3ae9a6..000000000 --- a/src/main/java/com/hbm/entity/mob/EntityGlyphidNuclear.java +++ /dev/null @@ -1,108 +0,0 @@ -package com.hbm.entity.mob; - -import com.hbm.blocks.ModBlocks; -import com.hbm.explosion.vanillant.ExplosionVNT; -import com.hbm.explosion.vanillant.standard.BlockAllocatorStandard; -import com.hbm.explosion.vanillant.standard.BlockMutatorDebris; -import com.hbm.explosion.vanillant.standard.BlockProcessorStandard; -import com.hbm.explosion.vanillant.standard.EntityProcessorStandard; -import com.hbm.explosion.vanillant.standard.PlayerProcessorStandard; -import com.hbm.main.MainRegistry; -import com.hbm.main.ResourceManager; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; - -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.ResourceLocation; -import net.minecraft.world.World; - -public class EntityGlyphidNuclear extends EntityGlyphid { - - public int deathTicks; - - public EntityGlyphidNuclear(World world) { - super(world); - this.setSize(2.5F, 1.75F); - this.isImmuneToFire = true; - } - - @Override - public ResourceLocation getSkin() { - return ResourceManager.glyphid_nuclear_tex; - } - - @Override - public double getScale() { - return 2D; - } - - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(20D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.8D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(50D); - } - - @Override - public int getArmorBreakChance(float amount) { - return amount < 25 ? 100 : amount > 1000 ? 1 : 10; - } - - @Override - public float calculateDamage(float amount) { - - byte armor = this.dataWatcher.getWatchableObjectByte(17); - int divisor = 1; - - for(int i = 0; i < 5; i++) { - if((armor & (1 << i)) > 0) { - divisor += 5; - } - } - - amount /= divisor; - - return amount; - } - - @Override - public float getDamageThreshold() { - return 10F; - } - - @Override - protected void onDeathUpdate() { - ++this.deathTicks; - - if(this.deathTicks == 100) { - - if(!worldObj.isRemote) { - ExplosionVNT vnt = new ExplosionVNT(worldObj, posX, posY, posZ, 25, this); - vnt.setBlockAllocator(new BlockAllocatorStandard(24)); - vnt.setBlockProcessor(new BlockProcessorStandard().withBlockEffect(new BlockMutatorDebris(ModBlocks.volcanic_lava_block, 0)).setNoDrop()); - vnt.setEntityProcessor(new EntityProcessorStandard().withRangeMod(1.5F)); - vnt.setPlayerProcessor(new PlayerProcessorStandard()); - vnt.explode(); - - worldObj.playSoundEffect(posX, posY, posZ, "hbm:weapon.mukeExplosion", 15.0F, 1.0F); - - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "muke"); - // if the FX type is "muke", apply random BF effect - if(MainRegistry.polaroidID == 11 || rand.nextInt(100) == 0) { - data.setBoolean("balefire", true); - } - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, posX, posY + 0.5, posZ), new TargetPoint(dimension, posX, posY, posZ, 250)); - } - - this.setDead(); - } else { - if(!worldObj.isRemote && this.deathTicks % 10 == 0) { - worldObj.playSoundEffect(posX, posY, posZ, "hbm:weapon.fstbmbPing", 5.0F, 1.0F); - } - } - } -} diff --git a/src/main/java/com/hbm/entity/mob/EntityGlyphidScout.java b/src/main/java/com/hbm/entity/mob/EntityGlyphidScout.java deleted file mode 100644 index 181156e09..000000000 --- a/src/main/java/com/hbm/entity/mob/EntityGlyphidScout.java +++ /dev/null @@ -1,157 +0,0 @@ -package com.hbm.entity.mob; - -import com.hbm.blocks.ModBlocks; -import com.hbm.main.ResourceManager; -import com.hbm.world.feature.GlyphidHive; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; - -public class EntityGlyphidScout extends EntityGlyphid { - - public boolean hasHome = false; - public double homeX; - public double homeY; - public double homeZ; - - public EntityGlyphidScout(World world) { - super(world); - this.setSize(1.25F, 0.75F); - } - - @Override - public float getDamageThreshold() { - return 0.0F; - } - - @Override - public ResourceLocation getSkin() { - return ResourceManager.glyphid_scout_tex; - } - - @Override - public double getScale() { - return 0.75D; - } - - @Override - public int getArmorBreakChance(float amount) { - return 1; - } - - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(16D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(1.5D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(2D); - } - - @Override - protected boolean canDespawn() { - return true; - } - - @Override - public void onUpdate() { - super.onUpdate(); - - if(!worldObj.isRemote) { - - if(!this.hasHome) { - this.homeX = posX; - this.homeY = posY; - this.homeZ = posZ; - this.hasHome = true; - } - - if(rand.nextInt(20) == 0) fleeingTick = 2; - - if(this.ticksExisted > 0 && this.ticksExisted % 1200 == 0 && Vec3.createVectorHelper(posX - homeX, posY - homeY, posZ - homeZ).lengthVector() > 8) { - - Block b = worldObj.getBlock((int) Math.floor(posX), (int) Math.floor(posY - 1), (int) Math.floor(posZ)); - - int accuracy = 16; - for(int i = 0; i < accuracy; i++) { - float angle = (float) Math.toRadians(360D / accuracy * i); - Vec3 rot = Vec3.createVectorHelper(0, 0, 16); - rot.rotateAroundY(angle); - Vec3 pos = Vec3.createVectorHelper(this.posX, this.posY + 1, this.posZ); - Vec3 nextPos = Vec3.createVectorHelper(this.posX + rot.xCoord, this.posY + 1, this.posZ + rot.zCoord); - MovingObjectPosition mop = this.worldObj.rayTraceBlocks(pos, nextPos); - - if(mop != null && mop.typeOfHit == mop.typeOfHit.BLOCK) { - - Block block = worldObj.getBlock(mop.blockX, mop.blockY, mop.blockZ); - - if(block == ModBlocks.glyphid_base) { - return; - } - } - } - - if(b.getMaterial() != Material.air && b.isNormalCube() && b != ModBlocks.glyphid_base) { - this.setDead(); - worldObj.newExplosion(this, posX, posY, posZ, 5F, false, false); - GlyphidHive.generate(worldObj, (int) Math.floor(posX), (int) Math.floor(posY), (int) Math.floor(posZ), rand); - } - } - } - } - - @Override - protected void updateWanderPath() { - this.worldObj.theProfiler.startSection("stroll"); - boolean flag = false; - int pathX = -1; - int pathY = -1; - int pathZ = -1; - float maxWeight = -99999.0F; - - for(int l = 0; l < 5; ++l) { - int x = MathHelper.floor_double(this.posX + (double) this.rand.nextInt(25) - 12.0D); - int y = MathHelper.floor_double(this.posY + (double) this.rand.nextInt(11) - 5.0D); - int z = MathHelper.floor_double(this.posZ + (double) this.rand.nextInt(25) - 12.0D); - float weight = this.getBlockPathWeight(x, y, z); - - if(weight > maxWeight) { - maxWeight = weight; - pathX = x; - pathY = y; - pathZ = z; - flag = true; - } - } - - if(flag) { - this.setPathToEntity(this.worldObj.getEntityPathToXYZ(this, pathX, pathY, pathZ, 10.0F, true, false, false, true)); - } - - this.worldObj.theProfiler.endSection(); - } - - @Override - public void writeEntityToNBT(NBTTagCompound nbt) { - super.writeEntityToNBT(nbt); - nbt.setBoolean("hasHome", hasHome); - nbt.setDouble("homeX", homeX); - nbt.setDouble("homeY", homeY); - nbt.setDouble("homeZ", homeZ); - } - - @Override - public void readEntityFromNBT(NBTTagCompound nbt) { - super.readEntityFromNBT(nbt); - this.hasHome = nbt.getBoolean("hasHome"); - this.homeX = nbt.getDouble("homeX"); - this.homeY = nbt.getDouble("homeY"); - this.homeZ = nbt.getDouble("homeZ"); - } -} diff --git a/src/main/java/com/hbm/entity/mob/EntityParasiteMaggot.java b/src/main/java/com/hbm/entity/mob/EntityParasiteMaggot.java new file mode 100644 index 000000000..40cc3b003 --- /dev/null +++ b/src/main/java/com/hbm/entity/mob/EntityParasiteMaggot.java @@ -0,0 +1,49 @@ +package com.hbm.entity.mob; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EnumCreatureAttribute; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.monster.EntityMob; +import net.minecraft.world.World; + +public class EntityParasiteMaggot extends EntityMob { + + public EntityParasiteMaggot(World world) { + super(world); + this.setSize(0.3F, 0.7F); + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(8.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(1.0D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(2.0D); + } + + @Override + protected boolean canTriggerWalking() { + return false; + } + + @Override + protected Entity findPlayerToAttack() { + return this.worldObj.getClosestVulnerablePlayerToEntity(this, 16); + } + + @Override + public void onUpdate() { + this.renderYawOffset = this.rotationYaw; + super.onUpdate(); + } + + @Override + protected boolean isValidLightLevel() { + return true; + } + + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.ARTHROPOD; + } +} diff --git a/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphid.java b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphid.java new file mode 100644 index 000000000..a3ac74fbf --- /dev/null +++ b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphid.java @@ -0,0 +1,647 @@ +package com.hbm.entity.mob.glyphid; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import com.hbm.blocks.ModBlocks; +import com.hbm.config.MobConfig; +import com.hbm.entity.logic.EntityWaypoint; +import com.hbm.entity.mob.EntityParasiteMaggot; +import com.hbm.entity.pathfinder.PathFinderUtils; +import com.hbm.explosion.vanillant.ExplosionVNT; +import com.hbm.explosion.vanillant.standard.*; +import com.hbm.handler.pollution.PollutionHandler; +import com.hbm.handler.pollution.PollutionHandler.PollutionType; +import com.hbm.items.ModItems; +import com.hbm.main.ResourceManager; +import com.hbm.packet.AuxParticlePacketNT; +import com.hbm.packet.PacketDispatcher; + +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.block.Block; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.EnumCreatureAttribute; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.monster.EntityMob; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; + +import net.minecraft.util.*; + +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.DamageSource; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.EnumDifficulty; +import net.minecraft.world.World; + +import javax.annotation.Nullable; + +public class EntityGlyphid extends EntityMob { + + //I might have overdone it a little bit + + public boolean hasHome = false; + public int homeX; + public int homeY; + public int homeZ; + protected int currentTask = 0; + + //both of those below are used for digging, so the glyphid remembers what it was doing + protected int previousTask; + protected EntityWaypoint previousWaypoint; + public int taskX; + public int taskY; + public int taskZ; + + //used for digging, bigger glyphids have a longer reach + public int blastSize = Math.min((int) (3 * (getScale())) / 2, 5); + public int blastResToDig = Math.min((int) (50 * (getScale() * 2)), 150); + public boolean shouldDig; + + // Tasks + + /** Idle state, only makes glpyhids wander around randomly */ + public static final int TASK_IDLE = 0; + /** Causes the glyphid to walk to the waypoint, then communicate the FOLLOW task to nearby glyphids */ + public static final int TASK_RETREAT_FOR_REINFORCEMENTS = 1; + /** Task used by scouts, if the waypoint is reached it will construct a new hive */ + public static final int TASK_BUILD_HIVE = 2; + /** Creates a waypoint at the home position and then immediately initiates the RETREAT_FOR_REINFORCEMENTS task */ + public static final int TASK_INITIATE_RETREAT = 3; + /** Will simply walk to the waypoint and enter IDLE once it is reached */ + public static final int TASK_FOLLOW = 4; + /** Causes nuclear glyphids to immediately self-destruct, also signaling nearby scouts to retreat */ + public static final int TASK_TERRAFORM = 5; + /** If any task other than IDLE is interrupted by an obstacle, initiates digging behavior which is also communicated to nearby glyohids */ + public static final int TASK_DIG = 6; + + protected boolean hasWaypoint = false; + /** Yeah, fuck, whatever, anything goes now */ + protected EntityWaypoint taskWaypoint = null; + + //subtypes + public static final int TYPE_NORMAL = 0; + public static final int TYPE_INFECTED = 1; + + //data watcher keys + public static final int DW_WALL = 16; + public static final int DW_ARMOR = 17; + public static final int DW_SUBTYPE = 18; + + public EntityGlyphid(World world) { + super(world); + this.setSize(1.75F, 1F); + } + + public ResourceLocation getSkin() { + return ResourceManager.glyphid_tex; + } + + public double getScale() { + return 1.0D; + } + + @Override + protected void entityInit() { + super.entityInit(); + this.dataWatcher.addObject(DW_WALL, new Byte((byte) 0)); //wall climbing + this.dataWatcher.addObject(DW_ARMOR, new Byte((byte) 0b11111)); //armor + this.dataWatcher.addObject(DW_SUBTYPE, new Byte((byte) 0)); //subtype (i.e. normal, infected, etc) + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(GlyphidStats.getStats().getGrunt().health); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(GlyphidStats.getStats().getGrunt().speed); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(GlyphidStats.getStats().getGrunt().damage); + } + + public float getDivisorPerArmorPoint() { + return GlyphidStats.getStats().getGrunt().divisor; + } + + public float getDamageThreshold() { + return GlyphidStats.getStats().getGrunt().damageThreshold; + } + + @Override + public void onUpdate() { + super.onUpdate(); + + if(!worldObj.isRemote) { + if(!hasHome) { + homeX = (int) posX; + homeY = (int) posY; + homeZ = (int) posZ; + hasHome = true; + } + + if(this.isPotionActive(Potion.blindness)) { + onBlinded(); + } + + if(getCurrentTask() == TASK_FOLLOW){ + + //incase the waypoint somehow doesn't exist and it got this task anyway + if(isAtDestination() && !hasWaypoint) { + setCurrentTask(TASK_IDLE, null); + } + //the task cannot be 6 outside of rampant, so this is a non issue p much + } else if (getCurrentTask() == TASK_DIG && ticksExisted % 20 == 0 && isAtDestination()) { + swingItem(); + + ExplosionVNT vnt = new ExplosionVNT(worldObj, taskX, taskY + 2, taskZ, blastSize, this); + vnt.setBlockAllocator(new BlockAllocatorGlyphidDig(blastResToDig)); + vnt.setBlockProcessor(new BlockProcessorStandard().setNoDrop()); + vnt.setEntityProcessor(null); + vnt.setPlayerProcessor(null); + vnt.explode(); + + this.setCurrentTask(previousTask, previousWaypoint); + } + + this.setBesideClimbableBlock(isCollidedHorizontally); + + if(ticksExisted % 100 == 0) { + this.swingItem(); + } + } + } + + + @Override + protected void dropFewItems(boolean byPlayer, int looting) { + super.dropFewItems(byPlayer, looting); + Item drop = isBurning() ? ModItems.glyphid_meat_grilled : ModItems.glyphid_meat; + if(rand.nextInt(2) == 0) this.entityDropItem(new ItemStack(drop, ((int) getScale() * 2) + looting), 0F); + } + + @Override + protected Entity findPlayerToAttack() { + if(this.isPotionActive(Potion.blindness)) return null; + + return this.worldObj.getClosestVulnerablePlayerToEntity(this, useExtendedTargeting() ? 128D : 16D); + } + + @Override + protected void updateWanderPath() { + if(getCurrentTask() == TASK_IDLE) { + super.updateWanderPath(); + } + } + + @Override + protected void updateEntityActionState() { + super.updateEntityActionState(); + + if(!this.isPotionActive(Potion.blindness)) { + if (!this.hasPath()) { + + // hell yeah!! + if(useExtendedTargeting() && this.entityToAttack != null) { + this.setPathToEntity(PathFinderUtils.getPathEntityToEntityPartial(worldObj, this, this.entityToAttack, 16F, true, false, true, true)); + } else if (getCurrentTask() != TASK_IDLE) { + + this.worldObj.theProfiler.startSection("stroll"); + + if (!isAtDestination()) { + + if (taskWaypoint != null) { + + taskX = (int) taskWaypoint.posX; + taskY = (int) taskWaypoint.posY; + taskZ = (int) taskWaypoint.posZ; + + if (taskWaypoint.highPriority) { + setTarget(taskWaypoint); + } + + } + + if(hasWaypoint) { + + if(canDig()) { + + MovingObjectPosition obstacle = findWaypointObstruction(); + if (getScale() >= 1 && getCurrentTask() != TASK_DIG && obstacle != null) { + digToWaypoint(obstacle); + } else { + Vec3 vec = Vec3.createVectorHelper(posX, posY, posZ); + int maxDist = (int) (Math.sqrt(vec.squareDistanceTo(taskX, taskY, taskZ)) * 1.2); + this.setPathToEntity(PathFinderUtils.getPathEntityToCoordPartial(worldObj, this, taskX, taskY, taskZ, maxDist, true, false, true, true)); + } + + } else { + Vec3 vec = Vec3.createVectorHelper(posX, posY, posZ); + int maxDist = (int) (Math.sqrt(vec.squareDistanceTo(taskX, taskY, taskZ)) * 1.2); + this.setPathToEntity(PathFinderUtils.getPathEntityToCoordPartial(worldObj, this, taskX, taskY, taskZ, maxDist, true, false, true, true)); + } + } + } + + this.worldObj.theProfiler.endSection(); + } + } + } + } + + protected boolean canDig() { + return MobConfig.rampantDig; + } + + public void onBlinded(){ + this.entityToAttack = null; + this.setPathToEntity(null); + this.fleeingTick = 80; + + if(getScale() >= 1.25){ + if(ticksExisted % 20 == 0) { + for (int i = 0; i < 16; i++) { + float angle = (float) Math.toRadians(360D / 16 * i); + Vec3 rot = Vec3.createVectorHelper(0, 0, 4); + rot.rotateAroundY(angle); + Vec3 pos = Vec3.createVectorHelper(this.posX, this.posY + 1, this.posZ); + Vec3 nextPos = Vec3.createVectorHelper(this.posX + rot.xCoord, this.posY + 1, this.posZ + rot.zCoord); + MovingObjectPosition mop = this.worldObj.rayTraceBlocks(pos, nextPos); + + if (mop != null && mop.typeOfHit == mop.typeOfHit.BLOCK) { + + Block block = worldObj.getBlock(mop.blockX, mop.blockY, mop.blockZ); + + if (block == ModBlocks.lantern) { + rotationYaw = 360F / 16 * i; + swingItem(); + worldObj.func_147480_a(mop.blockX, mop.blockY, mop.blockZ, false); + } + + } + } + } + } + } + + public boolean useExtendedTargeting() { + return MobConfig.rampantExtendedTargetting || PollutionHandler.getPollution(worldObj, (int) Math.floor(posX), (int) Math.floor(posY), (int) Math.floor(posZ), PollutionType.SOOT) >= MobConfig.targetingThreshold; + } + + @Override + protected boolean canDespawn() { + return entityToAttack == null && getCurrentTask() == TASK_IDLE && this.ticksExisted > 100; + } + + @Override + public boolean attackEntityFrom(DamageSource source, float amount) { + + if(source.getEntity() instanceof EntityGlyphid) { + return false; + } + + boolean alive = this.getHealth() > 0; + boolean wasAttacked = GlyphidStats.getStats().handleAttack(this, source, amount); + + if(alive && this.getHealth() <= 0) { + if(doesInfectedSpawnMaggots() && this.dataWatcher.getWatchableObjectByte(DW_SUBTYPE) == TYPE_INFECTED) { + + int j = 2 + this.rand.nextInt(3); + + for(int k = 0; k < j; ++k) { + float f = ((float) (k % 2) - 0.5F) * 0.5F; + float f1 = ((float) (k / 2) - 0.5F) * 0.5F; + EntityParasiteMaggot maggot = new EntityParasiteMaggot(worldObj); + maggot.setLocationAndAngles(this.posX + (double) f, this.posY + 0.5D, this.posZ + (double) f1, this.rand.nextFloat() * 360.0F, 0.0F); + maggot.motionX = f; + maggot.motionZ = f1; + maggot.velocityChanged = true; + this.worldObj.spawnEntityInWorld(maggot); + } + + worldObj.playSoundEffect(posX, posY, posZ, "mob.zombie.woodbreak", 2.0F, 0.95F + worldObj.rand.nextFloat() * 0.2F); + + NBTTagCompound vdat = new NBTTagCompound(); + vdat.setString("type", "giblets"); + vdat.setInteger("ent", this.getEntityId()); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(vdat, posX, posY + height * 0.5, posZ), new TargetPoint(dimension, posX, posY + height * 0.5, posZ, 150)); + + } + } + + return wasAttacked; + } + + /** Provides a direct entrypoint from outside to access the superclass' implementation because otherwise we end up wwith infinite recursion */ + public boolean attackSuperclass(DamageSource source, float amount) { + + /*NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "debug"); + data.setInteger("color", 0x0000ff); + data.setFloat("scale", 2.5F); + data.setString("text", "" + (int) amount); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, posX, posY + 2, posZ), new TargetPoint(dimension, posX, posY + 2, posZ, 50));*/ + + return super.attackEntityFrom(source, amount); + } + + public boolean doesInfectedSpawnMaggots() { + return true; + } + + public boolean isArmorBroken(float amount) { + return this.rand.nextInt(100) <= Math.min(Math.pow(amount * 0.6, 2), 100); + } + + public float calculateDamage(float amount) { + + byte armor = this.dataWatcher.getWatchableObjectByte(DW_ARMOR); + float divisor = 1; + + for(int i = 0; i < 5; i++) { + if((armor & (1 << i)) > 0) { + divisor += getDivisorPerArmorPoint(); + } + } + + amount /= divisor; + + return amount; + } + + public void breakOffArmor() { + byte armor = this.dataWatcher.getWatchableObjectByte(DW_ARMOR); + List indices = Arrays.asList(0, 1, 2, 3, 4); + Collections.shuffle(indices); + + for(Integer i : indices) { + byte bit = (byte) (1 << i); + if((armor & bit) > 0) { + armor &= ~bit; + armor = (byte) (armor & 0b11111); + this.dataWatcher.updateObject(DW_ARMOR, armor); + worldObj.playSoundAtEntity(this, "mob.zombie.woodbreak", 1.0F, 1.25F); + break; + } + } + } + + @Override + protected void updateArmSwingProgress() { + int i = this.swingDuration(); + + if(this.isSwingInProgress) { + ++this.swingProgressInt; + + if(this.swingProgressInt >= i) { + this.swingProgressInt = 0; + this.isSwingInProgress = false; + } + } else { + this.swingProgressInt = 0; + } + + this.swingProgress = (float) this.swingProgressInt / (float) i; + } + + public int swingDuration() { + return 15; + } + + @Override + public void setInWeb() { } + + @Override + public boolean isOnLadder() { + return this.isBesideClimbableBlock(); + } + + public boolean isBesideClimbableBlock() { + return (this.dataWatcher.getWatchableObjectByte(DW_WALL) & 1) != 0; + } + + public void setBesideClimbableBlock(boolean climbable) { + byte watchable = this.dataWatcher.getWatchableObjectByte(DW_WALL); + + if(climbable) { + watchable = (byte) (watchable | 1); + } else { + watchable &= -2; + } + + this.dataWatcher.updateObject(DW_WALL, Byte.valueOf(watchable)); + } + + @Override + public boolean attackEntityAsMob(Entity victim) { + if(this.isSwingInProgress) return false; + this.swingItem(); + + if(this.dataWatcher.getWatchableObjectByte(DW_SUBTYPE) == TYPE_INFECTED && victim instanceof EntityLivingBase) { + ((EntityLivingBase) victim).addPotionEffect(new PotionEffect(Potion.poison.id, 100, 2)); + ((EntityLivingBase) victim).addPotionEffect(new PotionEffect(Potion.confusion.id, 100, 0)); + } + + return super.attackEntityAsMob(victim); + } + + + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.ARTHROPOD; + } + + /// TASK SYSTEM START /// + public int getCurrentTask(){ + return currentTask; + } + + public EntityWaypoint getWaypoint(){ + return taskWaypoint; + } + + /** + * Sets a new task for the glyphid to do, a waypoint alongside with that task, and refreshes their waypoint coordinates + * @param task The task the glyphid is to do, refer to carryOutTask() + * @param waypoint The waypoint for the task, can be null + */ + public void setCurrentTask(int task, @Nullable EntityWaypoint waypoint){ + this.currentTask = task; + this.taskWaypoint = waypoint; + this.hasWaypoint = waypoint != null; + if(taskWaypoint != null) { + + taskX = (int) taskWaypoint.posX; + taskY = (int) taskWaypoint.posY; + taskZ = (int) taskWaypoint.posZ; + + if(taskWaypoint.highPriority) { + this.entityToAttack = null; + this.setPathToEntity(null); + } + + } + carryOutTask(); + } + + /** + * Handles the task system, used mainly for things that only need to be done once, such as setting targets + */ + public void carryOutTask(){ + int task = getCurrentTask(); + + switch(task){ + + case TASK_RETREAT_FOR_REINFORCEMENTS: + if(taskWaypoint != null) { + communicate(TASK_FOLLOW, taskWaypoint); + setCurrentTask(TASK_FOLLOW, taskWaypoint); + } + break; + + case TASK_INITIATE_RETREAT: + + if(!worldObj.isRemote && taskWaypoint == null) { + + // Then, Come back later + EntityWaypoint additional = new EntityWaypoint(worldObj); + additional.setLocationAndAngles(posX, posY, posZ, 0, 0); + + // First, go home and get reinforcements + EntityWaypoint home = new EntityWaypoint(worldObj); + home.setWaypointType(TASK_RETREAT_FOR_REINFORCEMENTS); + home.setAdditionalWaypoint(additional); + home.setHighPriority(); + home.setLocationAndAngles(homeX, homeY, homeZ, 0, 0); + worldObj.spawnEntityInWorld(home); + + this.taskWaypoint = home; + communicate(TASK_FOLLOW, home); + setCurrentTask(TASK_FOLLOW, taskWaypoint); + + break; + } + + break; + + case TASK_DIG: + shouldDig = true; + break; + + default: + break; + + } + + } + + /** Copies tasks and waypoint to nearby glyphids. Does not work on glyphid scouts */ + public void communicate(int task, @Nullable EntityWaypoint waypoint) { + int radius = waypoint != null ? waypoint.radius : 4; + AxisAlignedBB bb = AxisAlignedBB.getBoundingBox(this.posX, this.posY, this.posZ, this.posX, this.posY, this.posZ).expand(radius, radius, radius); + + List bugs = worldObj.getEntitiesWithinAABBExcludingEntity(this, bb); + for(Entity e : bugs) { + if(e instanceof EntityGlyphid && !(e instanceof EntityGlyphidScout)) { + if(((EntityGlyphid) e).getCurrentTask() != task) { + ((EntityGlyphid) e).setCurrentTask(task, waypoint); + } + } + } + } + + /** What each type of glyphid does when it is time to expand the hive. + * @return Whether it has expanded successfully or not + * **/ + public boolean expandHive(){ + return false; + } + + public boolean isAtDestination() { + int destinationRadius = taskWaypoint != null ? (int) Math.pow(taskWaypoint.radius, 2) : 25; + return this.getDistanceSq(taskX, taskY, taskZ) <= destinationRadius; + } + ///TASK SYSTEM END + + ///DIGGING SYSTEM START + + /** Handles the special digging system, used in Rampant mode due to high potential for destroyed bases**/ + public MovingObjectPosition findWaypointObstruction(){ + Vec3 bugVec = Vec3.createVectorHelper(posX, posY + getEyeHeight(), posZ); + Vec3 waypointVec = Vec3.createVectorHelper(taskX, taskY, taskZ); + //incomplete forge docs my beloved + MovingObjectPosition obstruction = worldObj.func_147447_a(bugVec, waypointVec, false, true, false); + if(obstruction != null){ + Block blockHit = worldObj.getBlock(obstruction.blockX, obstruction.blockY, obstruction.blockZ); + if(blockHit.getExplosionResistance(null) <= blastResToDig){ + return obstruction; + } + } + return null; + } + + public void digToWaypoint(MovingObjectPosition obstacle){ + + EntityWaypoint target = new EntityWaypoint(worldObj); + target.setLocationAndAngles(obstacle.blockX, obstacle.blockY, obstacle.blockZ, 0 , 0); + target.radius = 5; + worldObj.spawnEntityInWorld(target); + + previousTask = getCurrentTask(); + previousWaypoint = getWaypoint(); + + setCurrentTask(TASK_DIG, target); + + Vec3 vec = Vec3.createVectorHelper(posX, posY, posZ); + int maxDist = (int) (Math.sqrt(vec.squareDistanceTo(taskX, taskY, taskZ)) * 1.2); + this.setPathToEntity(PathFinderUtils.getPathEntityToCoordPartial(worldObj, this, taskX, taskY, taskZ, maxDist, true, false, true, true)); + + communicate(TASK_DIG, target); + + } + ///DIGGING END + + @Override + public void writeEntityToNBT(NBTTagCompound nbt) { + super.writeEntityToNBT(nbt); + nbt.setByte("armor", this.dataWatcher.getWatchableObjectByte(DW_ARMOR)); + nbt.setByte("subtype", this.dataWatcher.getWatchableObjectByte(DW_SUBTYPE)); + + nbt.setBoolean("hasHome", hasHome); + nbt.setInteger("homeX", homeX); + nbt.setInteger("homeY", homeY); + nbt.setInteger("homeZ", homeZ); + + nbt.setBoolean("hasWaypoint", hasWaypoint); + nbt.setInteger("taskX", taskX); + nbt.setInteger("taskY", taskY); + nbt.setInteger("taskZ", taskZ); + + nbt.setInteger("task", currentTask); + } + + @Override + public void readEntityFromNBT(NBTTagCompound nbt) { + super.readEntityFromNBT(nbt); + this.dataWatcher.updateObject(DW_ARMOR, nbt.getByte("armor")); + this.dataWatcher.updateObject(DW_SUBTYPE, nbt.getByte("subtype")); + + this.hasHome = nbt.getBoolean("hasHome"); + this.homeX = nbt.getInteger("homeX"); + this.homeY = nbt.getInteger("homeY"); + this.homeZ = nbt.getInteger("homeZ"); + + this.hasWaypoint = nbt.getBoolean("hasWaypoint"); + this.taskX = nbt.getInteger("taskX"); + this.taskY = nbt.getInteger("taskY"); + this.taskZ = nbt.getInteger("taskZ"); + + this.currentTask = nbt.getInteger("task"); + } + + @Override + public boolean getCanSpawnHere() { + return this.worldObj.difficultySetting != EnumDifficulty.PEACEFUL && this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } +} diff --git a/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidBehemoth.java b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidBehemoth.java new file mode 100644 index 000000000..22a53e3d2 --- /dev/null +++ b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidBehemoth.java @@ -0,0 +1,110 @@ +package com.hbm.entity.mob.glyphid; + +import com.hbm.entity.effect.EntityMist; +import com.hbm.entity.projectile.EntityChemical; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.items.ModItems; +import com.hbm.main.ResourceManager; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.item.ItemStack; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.DamageSource; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; + +public class EntityGlyphidBehemoth extends EntityGlyphid { + + public EntityGlyphidBehemoth(World world) { + super(world); + this.setSize(2.5F, 1.5F); + } + + @Override + public ResourceLocation getSkin() { + return ResourceManager.glyphid_behemoth_tex; + } + + @Override + public double getScale() { + return 1.5D; + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(GlyphidStats.getStats().getBehemoth().health); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(GlyphidStats.getStats().getBehemoth().speed); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(GlyphidStats.getStats().getBehemoth().damage); + } + + @Override public float getDivisorPerArmorPoint() { return GlyphidStats.getStats().getBehemoth().divisor; } + @Override public float getDamageThreshold() { return GlyphidStats.getStats().getBehemoth().damageThreshold; } + + public int timer = 120; + int breathTime = 0; + + @Override + public void onUpdate(){ + super.onUpdate(); + Entity e = this.getEntityToAttack(); + if (e == null) { + timer = 120; + breathTime = 0; + } else { + if (breathTime > 0) { + if(!isSwingInProgress){ + this.swingItem(); + } + acidAttack(); + rotationYaw = prevRotationYaw; + breathTime--; + } else if (--timer <= 0) { + breathTime = 120; + timer = 120; + } + } + } + + @Override + public void onDeath(DamageSource source) { + super.onDeath(source); + if (!worldObj.isRemote) { + EntityMist mist = new EntityMist(worldObj); + mist.setType(Fluids.SULFURIC_ACID); + mist.setPosition(posX, posY, posZ); + mist.setArea(10, 4); + mist.setDuration(120); + worldObj.spawnEntityInWorld(mist); + } + } + + + public void acidAttack(){ + if(!worldObj.isRemote && entityToAttack instanceof EntityLivingBase && this.getDistanceToEntity(entityToAttack) < 20) { + this.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 2 * 20, 6)); + EntityChemical chem = new EntityChemical(worldObj, this); + + chem.setFluid(Fluids.SULFURIC_ACID); + worldObj.spawnEntityInWorld(chem); + } + } + + @Override + protected void dropFewItems(boolean byPlayer, int looting) { + this.entityDropItem(new ItemStack(ModItems.glyphid_gland, 1, Fluids.SULFURIC_ACID.getID()), 1); + super.dropFewItems(byPlayer, looting); + } + @Override + public boolean isArmorBroken(float amount) { + // amount < 5 ? 5 : amount < 10 ? 3 : 2; + return this.rand.nextInt(100) <= Math.min(Math.pow(amount * 0.15, 2), 100); + } + @Override + public int swingDuration() { + return 100; + } +} diff --git a/src/main/java/com/hbm/entity/mob/EntityGlyphidBlaster.java b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidBlaster.java similarity index 62% rename from src/main/java/com/hbm/entity/mob/EntityGlyphidBlaster.java rename to src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidBlaster.java index 5e922ab49..fb0b7c320 100644 --- a/src/main/java/com/hbm/entity/mob/EntityGlyphidBlaster.java +++ b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidBlaster.java @@ -1,4 +1,4 @@ -package com.hbm.entity.mob; +package com.hbm.entity.mob.glyphid; import com.hbm.main.ResourceManager; @@ -26,51 +26,32 @@ public class EntityGlyphidBlaster extends EntityGlyphidBombardier { @Override protected void applyEntityAttributes() { super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(50D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(1D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(10D); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(GlyphidStats.getStats().getBlaster().health); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(GlyphidStats.getStats().getBlaster().speed); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(GlyphidStats.getStats().getBlaster().damage); } - @Override - public int getArmorBreakChance(float amount) { - return amount < 10 ? 10 : amount < 25 ? 5 : amount > 100 ? 1 : 3; - } + @Override public float getDivisorPerArmorPoint() { return GlyphidStats.getStats().getBlaster().divisor; } + @Override public float getDamageThreshold() { return GlyphidStats.getStats().getBlaster().damageThreshold; } @Override - public float calculateDamage(float amount) { - - byte armor = this.dataWatcher.getWatchableObjectByte(17); - int divisor = 1; - - for(int i = 0; i < 5; i++) { - if((armor & (1 << i)) > 0) { - divisor += 2; - } - } - - amount /= divisor; - - return amount; - } - - @Override - public float getDamageThreshold() { - return 1.0F; + public boolean isArmorBroken(float amount) { + return this.rand.nextInt(100) <= Math.min(Math.pow(amount * 0.25, 2), 100); } @Override public float getBombDamage() { - return 10F; + return 15F; } @Override public int getBombCount() { - return 20; + return 10; } @Override public float getSpreadMult() { - return 0.75F; + return 0.5F; } @Override diff --git a/src/main/java/com/hbm/entity/mob/EntityGlyphidBombardier.java b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidBombardier.java similarity index 67% rename from src/main/java/com/hbm/entity/mob/EntityGlyphidBombardier.java rename to src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidBombardier.java index 61750f0ee..6a2f437cf 100644 --- a/src/main/java/com/hbm/entity/mob/EntityGlyphidBombardier.java +++ b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidBombardier.java @@ -1,9 +1,11 @@ -package com.hbm.entity.mob; +package com.hbm.entity.mob.glyphid; import com.hbm.entity.projectile.EntityAcidBomb; import com.hbm.main.ResourceManager; import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.util.ResourceLocation; import net.minecraft.util.Vec3; import net.minecraft.world.World; @@ -23,24 +25,33 @@ public class EntityGlyphidBombardier extends EntityGlyphid { protected double lastY; protected double lastZ; + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(GlyphidStats.getStats().getBombardier().health); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(GlyphidStats.getStats().getBombardier().speed); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(GlyphidStats.getStats().getBombardier().damage); + } + + @Override public float getDivisorPerArmorPoint() { return GlyphidStats.getStats().getBombardier().divisor; } + @Override public float getDamageThreshold() { return GlyphidStats.getStats().getBombardier().damageThreshold; } + @Override public void onUpdate() { super.onUpdate(); + Entity e = this.getEntityToAttack(); + if(!this.worldObj.isRemote && e instanceof EntityLivingBase) { - if(!this.worldObj.isRemote) { - - Entity e = this.getEntityToAttack(); - - if(this.ticksExisted % 20 == 0 && e != null) { + if(this.ticksExisted % 20 == 0) { this.lastTarget = e; this.lastX = e.posX; this.lastY = e.posY; this.lastZ = e.posZ; } - if(this.ticksExisted % 20 == 1 && e != null) { + if(this.ticksExisted % 60 == 1) { - boolean topAttack = rand.nextBoolean(); + boolean topAttack = false; double velX = e.posX - lastX; double velY = e.posY - lastY; @@ -49,7 +60,11 @@ public class EntityGlyphidBombardier extends EntityGlyphid { if(this.lastTarget != e || Vec3.createVectorHelper(velX, velY, velZ).lengthVector() > 30) { velX = velY = velZ = 0; } - + + if (this.getDistanceToEntity(e) > 20) { + topAttack = true; + } + int prediction = topAttack ? 60 : 20; Vec3 delta = Vec3.createVectorHelper(e.posX - posX + velX * prediction, (e.posY + e.height / 2) - (posY + 1) + velY * prediction, e.posZ - posZ + velZ * prediction); double len = delta.lengthVector(); @@ -72,6 +87,7 @@ public class EntityGlyphidBombardier extends EntityGlyphid { for(int i = 0; i < getBombCount(); i++) { EntityAcidBomb bomb = new EntityAcidBomb(worldObj, posX, posY + 1, posZ); + bomb.setThrower(this); bomb.setThrowableHeading(fireVec.xCoord, fireVec.yCoord, fireVec.zCoord, (float) v0, i * getSpreadMult()); bomb.damage = getBombDamage(); worldObj.spawnEntityInWorld(bomb); @@ -84,11 +100,11 @@ public class EntityGlyphidBombardier extends EntityGlyphid { } public float getBombDamage() { - return 1.5F; + return 5F; } public int getBombCount() { - return 10; + return 5; } public float getSpreadMult() { diff --git a/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidBrawler.java b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidBrawler.java new file mode 100644 index 000000000..7799040e2 --- /dev/null +++ b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidBrawler.java @@ -0,0 +1,139 @@ +package com.hbm.entity.mob.glyphid; + + +import com.hbm.main.ResourceManager; + + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; + + +public class EntityGlyphidBrawler extends EntityGlyphid { + + public EntityGlyphidBrawler(World world) { + super(world); + this.setSize(2F, 1.125F); + } + + public int timer = 0; + protected Entity lastTarget; + protected double lastX; + protected double lastY; + protected double lastZ; + + @Override + public void onUpdate(){ + super.onUpdate(); + Entity e = this.getEntityToAttack(); + if (e != null && this.isEntityAlive()) { + + this.lastX = e.posX; + this.lastY = e.posY; + this.lastZ = e.posZ; + + if (--timer <= 0) { + leap(); + timer = 80 + worldObj.rand.nextInt(30); + } + } + } + + /** Mainly composed of repurposed bombardier code**/ + public void leap() { + if (!worldObj.isRemote && entityToAttack instanceof EntityLivingBase && this.getDistanceToEntity(entityToAttack) < 20) { + Entity e = this.getEntityToAttack(); + + double velX = e.posX - lastX; + double velY = e.posY - lastY; + double velZ = e.posZ - lastZ; + + if (this.lastTarget != e) { + velX = velY = velZ = 0; + } + + int prediction = 60; + Vec3 delta = Vec3.createVectorHelper(e.posX - posX + velX * prediction, (e.posY + e.height / 2) - (posY + 1) + velY * prediction, e.posZ - posZ + velZ * prediction); + double len = delta.lengthVector(); + if (len < 3) return; + double targetYaw = -Math.atan2(delta.xCoord, delta.zCoord); + + double x = Math.sqrt(delta.xCoord * delta.xCoord + delta.zCoord * delta.zCoord); + double y = delta.yCoord; + double v0 = 1.5; + double v02 = v0 * v0; + double g = 0.01; + double targetPitch = Math.atan((v02 + Math.sqrt(v02 * v02 - g * (g * x * x + 2 * y * v02)) * 1) / (g * x)); + Vec3 fireVec = null; + if (!Double.isNaN(targetPitch)) { + + fireVec = Vec3.createVectorHelper(v0, 0, 0); + fireVec.rotateAroundZ((float) (-targetPitch / 3.5)); + fireVec.rotateAroundY((float) -(targetYaw + Math.PI * 0.5)); + } + if (fireVec != null) + this.setThrowableHeading(fireVec.xCoord, fireVec.yCoord, fireVec.zCoord, (float) v0, rand.nextFloat()); + } + } + //yeag this is now a motherfucking projectile + public void setThrowableHeading(double motionX, double motionY, double motionZ, float velocity, float inaccuracy) { + float throwLen = MathHelper.sqrt_double(motionX * motionX + motionY * motionY + motionZ * motionZ); + motionX /= (double) throwLen; + motionY /= (double) throwLen; + motionZ /= (double) throwLen; + motionX += this.rand.nextGaussian() * 0.0075D * (double) inaccuracy; + motionY += this.rand.nextGaussian() * 0.0075D * (double) inaccuracy; + motionZ += this.rand.nextGaussian() * 0.0075D * (double) inaccuracy; + motionX *= (double) velocity; + motionY *= (double) velocity; + motionZ *= (double) velocity; + this.motionX = motionX; + this.motionY = motionY; + this.motionZ = motionZ; + float hyp = MathHelper.sqrt_double(motionX * motionX + motionZ * motionZ); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(motionX, motionZ) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(motionY, (double) hyp) * 180.0D / Math.PI); + } + @Override + public ResourceLocation getSkin() { + return ResourceManager.glyphid_brawler_tex; + } + + @Override + public double getScale() { + return 1.25D; + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(GlyphidStats.getStats().getBrawler().health); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(GlyphidStats.getStats().getBrawler().speed); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(GlyphidStats.getStats().getBrawler().damage); + } + + @Override public float getDivisorPerArmorPoint() { return GlyphidStats.getStats().getBrawler().divisor; } + @Override public float getDamageThreshold() { return GlyphidStats.getStats().getBrawler().damageThreshold; } + @Override + public boolean attackEntityFrom(DamageSource source, float amount) { + + /*NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "debug"); + data.setInteger("color", 0x0000ff); + data.setFloat("scale", 2.5F); + data.setString("text", "" + (int) amount); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, posX, posY + 2, posZ), new TargetPoint(dimension, posX, posY + 2, posZ, 50));*/ + //allows brawlers to get no damage on short leaps, but still affected by fall damage on big drops + if(source == DamageSource.fall && amount <= 10) return false; + return super.attackEntityFrom(source, amount); + } + @Override + public boolean isArmorBroken(float amount) { + return this.rand.nextInt(100) <= Math.min(Math.pow(amount * 0.25, 2), 100); + } +} diff --git a/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidBrenda.java b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidBrenda.java new file mode 100644 index 000000000..a4b2f8367 --- /dev/null +++ b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidBrenda.java @@ -0,0 +1,73 @@ +package com.hbm.entity.mob.glyphid; + +import com.hbm.entity.effect.EntityMist; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.items.ModItems; +import com.hbm.main.ResourceManager; + +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.item.ItemStack; +import net.minecraft.util.DamageSource; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; + +public class EntityGlyphidBrenda extends EntityGlyphid { + + public EntityGlyphidBrenda(World world) { + super(world); + this.setSize(2.5F, 1.75F); + this.isImmuneToFire = true; + } + + @Override + public ResourceLocation getSkin() { + return ResourceManager.glyphid_brenda_tex; + } + + @Override + public double getScale() { + return 2D; + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(GlyphidStats.getStats().getBrenda().health); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(GlyphidStats.getStats().getBrenda().speed); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(GlyphidStats.getStats().getBrenda().damage); + } + + @Override public float getDivisorPerArmorPoint() { return GlyphidStats.getStats().getBrenda().divisor; } + @Override public float getDamageThreshold() { return GlyphidStats.getStats().getBrenda().damageThreshold; } + + @Override + public boolean isArmorBroken(float amount) { + // amount < 5 ? 5 : amount < 10 ? 3 : 2; + return this.rand.nextInt(100) <= Math.min(Math.pow(amount * 0.12, 2), 100); + } + + @Override + public void onDeath(DamageSource source) { + super.onDeath(source); + if(!this.worldObj.isRemote && this.getHealth() <= 0.0F) { + EntityMist mist = new EntityMist(worldObj); + mist.setType(Fluids.PHEROMONE); + mist.setPosition(posX, posY, posZ); + mist.setArea(14, 6); + mist.setDuration(80); + worldObj.spawnEntityInWorld(mist); + for(int i = 0; i < 12; ++i) { + EntityGlyphid glyphid = new EntityGlyphid(worldObj); + glyphid.setLocationAndAngles(this.posX, this.posY + 0.5D, this.posZ, rand.nextFloat() * 360.0F, 0.0F); + this.worldObj.spawnEntityInWorld(glyphid); + glyphid.moveEntity(rand.nextGaussian(), 0, rand.nextGaussian()); + } + } + } + @Override + protected void dropFewItems(boolean byPlayer, int looting) { + super.dropFewItems(byPlayer, looting); + if(rand.nextInt(3) == 0) this.entityDropItem(new ItemStack(ModItems.glyphid_gland, 1, Fluids.PHEROMONE.getID()), 1); + } + +} diff --git a/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidDigger.java b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidDigger.java new file mode 100644 index 000000000..1e044dcca --- /dev/null +++ b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidDigger.java @@ -0,0 +1,163 @@ +package com.hbm.entity.mob.glyphid; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ModBlocks; +import com.hbm.entity.projectile.EntityRubble; +import com.hbm.lib.Library; +import com.hbm.main.ResourceManager; + +import net.minecraft.block.Block; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.init.Blocks; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; + +import java.util.List; + +public class EntityGlyphidDigger extends EntityGlyphid { + protected Entity lastTarget; + protected double lastX; + protected double lastY; + protected double lastZ; + + public EntityGlyphidDigger(World world) { + super(world); + } + + public ResourceLocation getSkin() { + return ResourceManager.glyphid_digger_tex; + } + + @Override + public double getScale() { + return 1.3D; + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(GlyphidStats.getStats().getDigger().health); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(GlyphidStats.getStats().getDigger().speed); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(GlyphidStats.getStats().getDigger().damage); + } + + @Override public float getDivisorPerArmorPoint() { return GlyphidStats.getStats().getDigger().divisor; } + @Override public float getDamageThreshold() { return GlyphidStats.getStats().getDigger().damageThreshold; } + + public int timer = 0; + + @Override + public void onUpdate(){ + super.onUpdate(); + Entity e = this.getEntityToAttack(); + if (e != null && this.isEntityAlive()) { + + this.lastX = e.posX; + this.lastY = e.posY; + this.lastZ = e.posZ; + + if (--timer <= 0) { + groundSlam(); + timer = 120; + } + } + } + + /** Mainly composed of crusty old power fist code, with some touch ups **/ + public void groundSlam(){ + if (!worldObj.isRemote && entityToAttack instanceof EntityLivingBase && this.getDistanceToEntity(entityToAttack) < 30) { + Entity e = this.getEntityToAttack(); + + boolean topAttack = false; + + int l = 6; + float part = -1F / 16F; + + int bugX = (int) posX; + int bugY = (int) posY; + int bugZ = (int) posZ; + + Vec3 vec0 = getLookVec(); + + List list = Library.getBlockPosInPath(bugX, bugY, bugZ, l, vec0); + + for (int i = 0; i < 8; i++) { + vec0.rotateAroundY(part); + list.addAll(Library.getBlockPosInPath(bugX, bugY - 1, bugZ, l, vec0)); + } + + double velX = e.posX - lastX; + double velY = e.posY - lastY; + double velZ = e.posZ - lastZ; + + if(this.lastTarget != e) { + velX = velY = velZ = 0; + } + + if (this.getDistanceToEntity(e) > 20) { + topAttack = true; + } + + int prediction = 60; + Vec3 delta = Vec3.createVectorHelper(e.posX - posX + velX * prediction, (e.posY + e.height / 2) - (posY + 1) + velY * prediction, e.posZ - posZ + velZ * prediction); + double len = delta.lengthVector(); + if(len < 3) return; + double targetYaw = -Math.atan2(delta.xCoord, delta.zCoord); + + double x = Math.sqrt(delta.xCoord * delta.xCoord + delta.zCoord * delta.zCoord); + double y = delta.yCoord; + double v0 = 1.2; + double v02 = v0 * v0; + double g = 0.03D; + double upperLower = topAttack ? 1 : -1; + double targetPitch = Math.atan((v02 + Math.sqrt(v02*v02 - g*(g*x*x + 2*y*v02)) * upperLower) / (g*x)); + Vec3 fireVec = null; + if(!Double.isNaN(targetPitch)) { + + fireVec = Vec3.createVectorHelper(v0, 0, 0); + fireVec.rotateAroundZ((float) -targetPitch); + fireVec.rotateAroundY((float) -(targetYaw + Math.PI * 0.5)); + } + + for (int[] ints : list) { + + int x1 = ints[0]; + int y1 = ints[1]; + int z1 = ints[2]; + + + Block b = worldObj.getBlock(x1, y1, z1); + float k = b.getExplosionResistance(this, worldObj, x1, y1, z1, posX, posY, posZ); + + if (k < ModBlocks.concrete.getExplosionResistance(this) && b.isNormalCube() && !(b instanceof BlockDummyable) && worldObj.getTileEntity(x1, y1, z1) == null) { + + EntityRubble rubble = new EntityRubble(worldObj); + rubble.posX = x1 + 0.5F; + rubble.posY = y1 + 2; + rubble.posZ = z1 + 0.5F; + + rubble.setMetaBasedOnBlock(b, worldObj.getBlockMetadata(x1, y1, z1)); + + if(fireVec != null) + rubble.setThrowableHeading(fireVec.xCoord, fireVec.yCoord, fireVec.zCoord, (float) v0, rand.nextFloat()); + + worldObj.spawnEntityInWorld(rubble); + + worldObj.setBlock(x1, y1, z1, Blocks.air); + } + } + } + } + @Override + public boolean isArmorBroken(float amount) { + return this.rand.nextInt(100) <= Math.min(Math.pow(amount * 0.25, 2), 100); + } + + @Override + protected boolean canDig() { + return true; + } +} diff --git a/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidNuclear.java b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidNuclear.java new file mode 100644 index 000000000..7c1ce74e1 --- /dev/null +++ b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidNuclear.java @@ -0,0 +1,178 @@ +package com.hbm.entity.mob.glyphid; + +import com.hbm.blocks.ModBlocks; +import com.hbm.entity.logic.EntityWaypoint; +import com.hbm.entity.mob.EntityParasiteMaggot; +import com.hbm.explosion.vanillant.ExplosionVNT; +import com.hbm.explosion.vanillant.standard.BlockAllocatorStandard; +import com.hbm.explosion.vanillant.standard.BlockMutatorDebris; +import com.hbm.explosion.vanillant.standard.BlockProcessorStandard; +import com.hbm.explosion.vanillant.standard.EntityProcessorStandard; +import com.hbm.explosion.vanillant.standard.PlayerProcessorStandard; +import com.hbm.main.MainRegistry; +import com.hbm.main.ResourceManager; +import com.hbm.packet.AuxParticlePacketNT; +import com.hbm.packet.PacketDispatcher; + +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.entity.Entity; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; + +import javax.annotation.Nullable; +import java.util.List; + +public class EntityGlyphidNuclear extends EntityGlyphid { + + public int deathTicks; + public EntityGlyphidNuclear(World world) { + super(world); + this.setSize(2.5F, 1.75F); + this.isImmuneToFire = true; + } + + @Override + public ResourceLocation getSkin() { + return ResourceManager.glyphid_nuclear_tex; + } + + @Override + public double getScale() { + return 2D; + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(GlyphidStats.getStats().getNuclear().health); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(GlyphidStats.getStats().getNuclear().speed); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(GlyphidStats.getStats().getNuclear().damage); + } + + @Override public float getDivisorPerArmorPoint() { return GlyphidStats.getStats().getNuclear().divisor; } + @Override public float getDamageThreshold() { return GlyphidStats.getStats().getNuclear().damageThreshold; } + + @Override + public void onUpdate() { + super.onUpdate(); + if(ticksExisted % 20 == 0) { + if(isAtDestination() && getCurrentTask() == TASK_FOLLOW) { + setCurrentTask(TASK_IDLE, null); + } + + if(getCurrentTask() == TASK_BUILD_HIVE && getAITarget() == null) { + this.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 10 * 20, 3)); + } + + if(getCurrentTask() == TASK_TERRAFORM) { + this.setHealth(0); + } + } + } + + /** Communicates only with glyphid scouts, unlike the super implementation which does the opposite */ + @Override + public void communicate(int task, @Nullable EntityWaypoint waypoint) { + int radius = waypoint != null ? waypoint.radius : 4; + + AxisAlignedBB bb = AxisAlignedBB.getBoundingBox( + this.posX - radius, + this.posY - radius, + this.posZ - radius, + this.posX + radius, + this.posY + radius, + this.posZ + radius); + + List bugs = worldObj.getEntitiesWithinAABBExcludingEntity(this, bb); + for (Entity e: bugs){ + if(e instanceof EntityGlyphidScout){ + if(((EntityGlyphid) e).getCurrentTask() != task){ + ((EntityGlyphid) e).setCurrentTask(task, waypoint); + } + } + } + } + + @Override + public boolean isArmorBroken(float amount) { + return this.rand.nextInt(100) <= Math.min(Math.pow(amount * 0.12, 2), 100); + } + + @Override + public boolean doesInfectedSpawnMaggots() { + return false; + } + + public boolean hasWaypoint = false; + @Override + protected void onDeathUpdate() { + ++this.deathTicks; + + if(!hasWaypoint) { + // effectively causes neighboring EntityGlyphidScout to retreat + communicate(TASK_INITIATE_RETREAT, null); + hasWaypoint = true; + } + + if(deathTicks == 90){ + int radius = 8; + AxisAlignedBB bb = AxisAlignedBB.getBoundingBox(this.posX, this.posY, this.posZ, this.posX, this.posY, this.posZ).expand(radius, radius, radius); + + List bugs = worldObj.getEntitiesWithinAABBExcludingEntity(this, bb); + for (Entity e: bugs){ + if(e instanceof EntityGlyphid){ + addPotionEffect(new PotionEffect(Potion.field_76434_w.id, 20, 6)); + addPotionEffect(new PotionEffect(Potion.fireResistance.id, 15 * 20, 1)); + } + } + } + if(this.deathTicks == 100) { + + if(!worldObj.isRemote) { + ExplosionVNT vnt = new ExplosionVNT(worldObj, posX, posY, posZ, 25, this); + + if(this.dataWatcher.getWatchableObjectByte(DW_SUBTYPE) == TYPE_INFECTED) { + int j = 15 + this.rand.nextInt(6); + for(int k = 0; k < j; ++k) { + float f = ((float) (k % 2) - 0.5F) * 0.5F; + float f1 = ((float) (k / 2) - 0.5F) * 0.5F; + EntityParasiteMaggot maggot = new EntityParasiteMaggot(worldObj); + maggot.setLocationAndAngles(this.posX + (double) f, this.posY + 0.5D, this.posZ + (double) f1, this.rand.nextFloat() * 360.0F, 0.0F); + maggot.motionX = f; + maggot.motionZ = f1; + maggot.velocityChanged = true; + this.worldObj.spawnEntityInWorld(maggot); + } + } else { + vnt.setBlockAllocator(new BlockAllocatorStandard(24)); + vnt.setBlockProcessor(new BlockProcessorStandard().withBlockEffect(new BlockMutatorDebris(ModBlocks.volcanic_lava_block, 0)).setNoDrop()); + } + + vnt.setEntityProcessor(new EntityProcessorStandard()); + vnt.setPlayerProcessor(new PlayerProcessorStandard()); + vnt.explode(); + + worldObj.playSoundEffect(posX, posY, posZ, "hbm:weapon.mukeExplosion", 15.0F, 1.0F); + + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "muke"); + // if the FX type is "muke", apply random BF effect + if(MainRegistry.polaroidID == 11 || rand.nextInt(100) == 0) { + data.setBoolean("balefire", true); + } + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, posX, posY + 0.5, posZ), new TargetPoint(dimension, posX, posY, posZ, 250)); + } + + this.setDead(); + } else { + if(!worldObj.isRemote && this.deathTicks % 10 == 0) { + worldObj.playSoundEffect(posX, posY, posZ, "hbm:weapon.fstbmbPing", 5.0F, 1.0F); + } + } + } +} diff --git a/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidScout.java b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidScout.java new file mode 100644 index 000000000..ece0ee982 --- /dev/null +++ b/src/main/java/com/hbm/entity/mob/glyphid/EntityGlyphidScout.java @@ -0,0 +1,351 @@ +package com.hbm.entity.mob.glyphid; + +import com.hbm.blocks.ModBlocks; +import com.hbm.config.MobConfig; +import com.hbm.entity.logic.EntityWaypoint; +import com.hbm.handler.pollution.PollutionHandler; +import com.hbm.main.ResourceManager; +import com.hbm.world.feature.GlyphidHive; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.*; +import net.minecraft.world.World; + +import java.util.List; + +public class EntityGlyphidScout extends EntityGlyphid { + + boolean hasTarget = false; + int timer; + int scoutingRange = 45; + int minDistanceToHive = 8; + boolean useLargeHive = false; + float largeHiveChance = MobConfig.largeHiveChance; + + public EntityGlyphidScout(World world) { + super(world); + this.setSize(1.25F, 0.75F); + } + + //extreme measures for anti-scout bullying + @Override + public boolean attackEntityAsMob(Entity victum) { + if(super.attackEntityAsMob(victum) && victum instanceof EntityLivingBase){ + ((EntityLivingBase)victum).addPotionEffect(new PotionEffect(Potion.poison.id, 10 * 20, 3)); + return true; + } + return false; + } + + @Override + public ResourceLocation getSkin() { + return ResourceManager.glyphid_scout_tex; + } + + @Override + public double getScale() { + return 0.75D; + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(GlyphidStats.getStats().getScout().health); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(GlyphidStats.getStats().getScout().speed); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(GlyphidStats.getStats().getScout().damage); + } + + @Override public float getDivisorPerArmorPoint() { return GlyphidStats.getStats().getScout().divisor; } + @Override public float getDamageThreshold() { return GlyphidStats.getStats().getScout().damageThreshold; } + + @Override + public boolean isArmorBroken(float amount) { + return this.rand.nextInt(100) <= Math.min(Math.pow(amount, 2), 100); + } + + @Override + public void onUpdate() { + super.onUpdate(); + //Updates to check whether the player still exists, important to make sure it wont stop doing work + if(entityToAttack != null && ticksExisted % 60 == 0){ + entityToAttack = findPlayerToAttack(); + } + if((getCurrentTask() != TASK_BUILD_HIVE || getCurrentTask() != TASK_TERRAFORM) && taskWaypoint == null) { + + if(MobConfig.rampantGlyphidGuidance && PollutionHandler.targetCoords != null){ + if(!hasTarget) { + Vec3 dirVec = playerBaseDirFinder(Vec3.createVectorHelper(posX, posY, posZ), getPlayerTargetDirection()); + + EntityWaypoint target = new EntityWaypoint(worldObj); + target.setLocationAndAngles(dirVec.xCoord, dirVec.yCoord, dirVec.zCoord, 0, 0); + target.maxAge = 300; + target.radius = 6; + target.setWaypointType(TASK_BUILD_HIVE); + worldObj.spawnEntityInWorld(target); + hasTarget = true; + + setCurrentTask(TASK_RETREAT_FOR_REINFORCEMENTS, target); + } + + if(super.isAtDestination()) { + setCurrentTask(TASK_BUILD_HIVE, null) ; + hasTarget = false; + } + + } else { + setCurrentTask(TASK_BUILD_HIVE, null); + } + + } + + if(getCurrentTask() == TASK_BUILD_HIVE || getCurrentTask() == TASK_TERRAFORM) { + + if(!worldObj.isRemote && !hasTarget) { + //Check for whether a big man johnson is nearby, this makes the scout switch into its terraforming task + if(scoutingRange != 60 && hasNuclearGlyphidNearby()){ + setCurrentTask(TASK_TERRAFORM, null); + } + + if(expandHive()) { + this.addPotionEffect(new PotionEffect(Potion.fireResistance.id, 180 * 20, 1)); + hasTarget = true; + } + } + //fixes edge case where glyphids have no task and yet hasTarget is true + if(taskWaypoint == null && hasTarget){ + hasTarget = false; + } + + if (getCurrentTask() == TASK_TERRAFORM && super.isAtDestination() && canBuildHiveHere()) { + communicate(TASK_TERRAFORM, taskWaypoint); + } + + if (ticksExisted % 10 == 0 && isAtDestination()) { + timer++; + + if (!worldObj.isRemote && canBuildHiveHere()) { + if(timer == 1) { + + EntityWaypoint additional = new EntityWaypoint(worldObj); + additional.setLocationAndAngles(posX, posY, posZ, 0, 0); + additional.setWaypointType(TASK_IDLE); + + // First, go home and get reinforcements + EntityWaypoint home = new EntityWaypoint(worldObj); + home.setWaypointType(TASK_RETREAT_FOR_REINFORCEMENTS); + home.setAdditionalWaypoint(additional); + home.setLocationAndAngles(homeX, homeY, homeZ, 0, 0); + home.maxAge = 1200; + home.radius = 6; + + worldObj.spawnEntityInWorld(home); + + this.taskWaypoint = home; + this.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 40 * 20, 10)); + communicate(TASK_RETREAT_FOR_REINFORCEMENTS, taskWaypoint); + + } else if(timer >= 5) { + + worldObj.newExplosion(this, posX, posY, posZ, 5F, false, false); + GlyphidHive.generateSmall(worldObj, (int) Math.floor(posX), (int) Math.floor(posY), (int) Math.floor(posZ), rand, this.dataWatcher.getWatchableObjectByte(DW_SUBTYPE) != TYPE_NORMAL, false); + this.setDead(); + + } else { + communicate(TASK_FOLLOW, taskWaypoint); + } + } + } + } + } + + /** Returns true if the position is far enough away from other hives. Also resets the task if unsuccessful. */ + public boolean canBuildHiveHere() { + int length = useLargeHive ? 16 : 8; + + for(int i = 0; i < 8; i++) { + + float angle = (float) Math.toRadians(360D / 16 * i); + Vec3 rot = Vec3.createVectorHelper(0, 0, length); + rot.rotateAroundY(angle); + Vec3 pos = Vec3.createVectorHelper(this.posX, this.posY + 1, this.posZ); + Vec3 nextPos = Vec3.createVectorHelper(this.posX + rot.xCoord, this.posY + 1, this.posZ + rot.zCoord); + MovingObjectPosition mop = this.worldObj.rayTraceBlocks(pos, nextPos); + + if(mop != null && mop.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) { + + Block block = worldObj.getBlock(mop.blockX, mop.blockY, mop.blockZ); + + if(block == ModBlocks.glyphid_base) { + setCurrentTask(TASK_IDLE, null); + hasTarget = false; + return false; + } + + } + } + return true; + } + + @Override + public boolean isAtDestination() { + return this.getCurrentTask() == TASK_BUILD_HIVE && super.isAtDestination(); + } + + public boolean hasNuclearGlyphidNearby(){ + int radius = 8; + + AxisAlignedBB bb = AxisAlignedBB.getBoundingBox( + this.posX - radius, + this.posY - radius, + this.posZ - radius, + this.posX + radius, + this.posY + radius, + this.posZ + radius); + + List bugs = worldObj.getEntitiesWithinAABBExcludingEntity(this, bb); + + for (Entity e: bugs){ + if(e instanceof EntityGlyphidNuclear){ + return true; + } + } + return false; + } + + @Override + public boolean expandHive() { + + int nestX = rand.nextInt((homeX + scoutingRange) - (homeX - scoutingRange)) + (homeX - scoutingRange); + int nestZ = rand.nextInt((homeZ + scoutingRange) - (homeZ - scoutingRange)) + (homeZ - scoutingRange); + int nestY = worldObj.getHeightValue(nestX, nestZ); + Block b = worldObj.getBlock(nestX, nestY - 1, nestZ); + + boolean distanceCheck = Vec3.createVectorHelper(nestX - homeX, nestY - homeY, nestZ - homeZ).lengthVector() > minDistanceToHive; + + if(distanceCheck && b.getMaterial() != Material.air && b.isNormalCube() && b != ModBlocks.glyphid_base) { + + if(b == ModBlocks.basalt) { + useLargeHive = true; + largeHiveChance /= 2; + this.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 60 * 20, 3)); + } + + if(!worldObj.isRemote) { + EntityWaypoint nest = new EntityWaypoint(worldObj); + nest.setWaypointType(getCurrentTask()); + nest.radius = 5; + + if(useLargeHive) + nest.setHighPriority(); + + nest.setLocationAndAngles(nestX, nestY, nestZ, 0, 0); + worldObj.spawnEntityInWorld(nest); + + taskWaypoint = nest; + + // updates the task coordinates + setCurrentTask(getCurrentTask(), taskWaypoint); + communicate(TASK_BUILD_HIVE, taskWaypoint); + } + + return true; + } + + return false; + } + + @Override + public void carryOutTask() { + if (!worldObj.isRemote && taskWaypoint == null) { + switch(getCurrentTask()){ + case TASK_INITIATE_RETREAT: + this.removePotionEffect(Potion.moveSlowdown.id); + this.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 20 * 20, 4)); + + //then, come back later + EntityWaypoint additional = new EntityWaypoint(worldObj); + additional.setLocationAndAngles(posX, posY, posZ, 0, 0); + additional.setWaypointType(0); + + //First, go home and get reinforcements + EntityWaypoint home = new EntityWaypoint(worldObj); + home.setWaypointType(2); + home.setAdditionalWaypoint(additional); + home.setHighPriority(); + home.radius = 6; + home.setLocationAndAngles(homeX, homeY, homeZ, 0, 0); + worldObj.spawnEntityInWorld(home); + + communicate(4, home); + break; + + //terraforming task, only used if a big man johnson is near the scout + case TASK_TERRAFORM: + scoutingRange = 60; + minDistanceToHive = 20; + break; + } + } + super.carryOutTask(); + + } + + @Override + public boolean useExtendedTargeting() { + return false; + } + + @Override + protected Entity findPlayerToAttack() { + if(this.isPotionActive(Potion.blindness)) return null; + //no extended targeting, and a low attack distance, ensures the scouts are focused in expanding, and not in chasing the player + return this.worldObj.getClosestVulnerablePlayerToEntity(this, 10); + } + + + ///RAMPANT MODE STUFFS + + /** Finds the direction from the bug's location to the target and adds it to their current coord + * Used as a performant way to make scouts expand toward the player's spawn point + * @return An adjusted direction vector, to be added into the bug's current position for it to path in the required direction**/ + public static Vec3 playerBaseDirFinder(Vec3 currentLocation, Vec3 target){ + Vec3 dirVec = currentLocation.subtract(target).normalize(); + return Vec3.createVectorHelper( + currentLocation.xCoord + dirVec.xCoord * 10, + currentLocation.yCoord + dirVec.yCoord * 10, + currentLocation.zCoord + dirVec.zCoord * 10 + ); + } + + protected Vec3 getPlayerTargetDirection() { + EntityPlayer player = worldObj.getClosestPlayerToEntity(this, 300); + if(player != null) { + return Vec3.createVectorHelper(player.posX, player.posY, player.posZ); + } + return PollutionHandler.targetCoords; + } + + /** Vanilla implementation, minus the RNG */ + @Override + public boolean isValidLightLevel() { + int x = MathHelper.floor_double(this.posX); + int y = MathHelper.floor_double(this.boundingBox.minY); + int z = MathHelper.floor_double(this.posZ); + + int skylightSubtracted = this.worldObj.skylightSubtracted; + + if(this.worldObj.isThundering()) this.worldObj.skylightSubtracted = 10; + int light = worldObj.getChunkFromChunkCoords(x >> 4, z >> 4).getBlockLightValue(x & 15, y, z & 15, worldObj.skylightSubtracted); + + this.worldObj.skylightSubtracted = skylightSubtracted; + return light <= 7; + + } +} diff --git a/src/main/java/com/hbm/entity/mob/glyphid/GlyphidStats.java b/src/main/java/com/hbm/entity/mob/glyphid/GlyphidStats.java new file mode 100644 index 000000000..fa9594ec7 --- /dev/null +++ b/src/main/java/com/hbm/entity/mob/glyphid/GlyphidStats.java @@ -0,0 +1,174 @@ +package com.hbm.entity.mob.glyphid; + +import com.hbm.lib.ModDamageSource; +import com.hbm.potion.HbmPotion; + +import net.minecraft.util.DamageSource; + +public abstract class GlyphidStats { + + public static GlyphidStats GLYPHID_STATS_70K = new GlyphidStats70K(); + public static GlyphidStats GLYPHID_STATS_NT = new GlyphidStatsNT(); + + public static GlyphidStats getStats() { + return GLYPHID_STATS_NT; + } + + protected StatBundle statsGrunt; + protected StatBundle statsBombardier; + protected StatBundle statsBrawler; + protected StatBundle statsDigger; + protected StatBundle statsBlaster; + protected StatBundle statsBehemoth; + protected StatBundle statsBrenda; + protected StatBundle statsNuclear; + protected StatBundle statsScout; + + public static class StatBundle { + public final double health; + public final double speed; + public final double damage; + public final float divisor; + public final float damageThreshold; + + public StatBundle(double health, double speed, double damage, float divisor, float damageThreshold) { + this.health = health; + this.speed = speed; + this.damage = damage; + this.divisor = divisor; + this.damageThreshold = damageThreshold; + } + } + + public abstract boolean handleAttack(EntityGlyphid glyphid, DamageSource source, float amount); + + /** Tier 1 */ public StatBundle getGrunt() { return statsGrunt; } + /** Tier 1 Ranged */ public StatBundle getBombardier() { return statsBombardier; } + /** Tier 2 */ public StatBundle getBrawler() { return statsBrawler; } + /** Tier 2 Specialist */ public StatBundle getDigger() { return statsDigger; } + /** Tier 2 Ranged */ public StatBundle getBlaster() { return statsBlaster; } + /** Tier 3 */ public StatBundle getBehemoth() { return statsBehemoth; } + /** Tier 4 */ public StatBundle getBrenda() { return statsBrenda; } + /** Tier 4 Specialist */ public StatBundle getNuclear() { return statsNuclear; } + /** Tier 0 */ public StatBundle getScout() { return statsScout; } + + public static class GlyphidStats70K extends GlyphidStats { + + public GlyphidStats70K() { + this.statsGrunt = new StatBundle(30D, 1D, 5D, 1F, 0.5F); + this.statsBombardier = new StatBundle(20D, 1D, 5D, 1F, 0.5F); + this.statsBrawler = new StatBundle(50D, 1D, 10D, 3F, 1F); + this.statsDigger = new StatBundle(50D, 1D, 5D, 1F, 0.5F); + this.statsBlaster = new StatBundle(50D, 1D, 10D, 2F, 1F); + this.statsBehemoth = new StatBundle(130D, 0.8D, 25D, 4F, 2.5F); + this.statsBrenda = new StatBundle(250D, 1.2D, 50D, 5F, 10F); + this.statsNuclear = new StatBundle(100D, 0.8D, 50D, 5F, 10F); + this.statsScout = new StatBundle(20D, 1.5D, 2D, 1F, 0.5F); + } + + @Override + public boolean handleAttack(EntityGlyphid glyphid, DamageSource source, float amount) { + + if(!source.isDamageAbsolute() && !source.isUnblockable() && !glyphid.worldObj.isRemote && !source.isFireDamage() && !source.getDamageType().equals(ModDamageSource.s_cryolator)) { + byte armor = glyphid.getDataWatcher().getWatchableObjectByte(glyphid.DW_ARMOR); + + if(armor != 0) { //if at least one bit of armor is present + + if(amount < glyphid.getDamageThreshold()) return false; + + //chances of armor being broken off + if(amount > 1 && glyphid.isArmorBroken(amount)) { + glyphid.breakOffArmor(); + amount *= 0.25F; + } + + amount -= glyphid.getDamageThreshold(); + if(amount < 0) return true; + } + + amount = glyphid.calculateDamage(amount); + } + + if(source.isFireDamage()) { + amount *= 0.7F; + } else if(source.getDamageType().equals("player")) { + amount *= glyphid.getScale() < 1.25 ? 1.5 : glyphid.getScale() < 1.3 ? 0.8 : 0.5; + } else if(source == ModDamageSource.acid || ModDamageSource.s_acid.equals(source.getDamageType())) { + amount = 0; + } else if(source == DamageSource.inWall) { + amount *= 15F; + } + + if(glyphid.isPotionActive(HbmPotion.phosphorus.getId())){ + amount *= 1.5F; + } + + return glyphid.attackSuperclass(source, amount); + } + } + + /** UNTESTED! Spreadsheet will be consulted soon */ + public static class GlyphidStatsNT extends GlyphidStats { + + public GlyphidStatsNT() { + this.statsGrunt = new StatBundle(20D, 1D, 2D, 0.25F, 0F); + this.statsBombardier = new StatBundle(15D, 1D, 2D, 0.25F, 0F); + this.statsBrawler = new StatBundle(35D, 1D, 10D, 0.5F, 0.5F); + this.statsDigger = new StatBundle(50D, 1D, 10D, 0.5F, 0.5F); + this.statsBlaster = new StatBundle(35D, 1D, 10D, 0.5F, 0.5F); + this.statsBehemoth = new StatBundle(125D, 0.8D, 25D, 1.5F, 2F); + this.statsBrenda = new StatBundle(250D, 1.2D, 50D, 2.5F, 5F); + this.statsNuclear = new StatBundle(100D, 0.8D, 50D, 2.5F, 5F); + this.statsScout = new StatBundle(20D, 1.5D, 5D, 0.5F, 0F); + } + + @Override + public boolean handleAttack(EntityGlyphid glyphid, DamageSource source, float amount) { + + // Completely immune to acid from other glyphids + if((source == ModDamageSource.acid || ModDamageSource.s_acid.equals(source.getDamageType())) && source.getSourceOfDamage() instanceof EntityGlyphid) return false; + + // If damage is armor piercing or nuclear damage, don't apply any armor calculation + if(isNuclearDamage(source) || source.isDamageAbsolute() || source.isUnblockable()) { + if(source == DamageSource.inWall) amount *= 15F; + return glyphid.attackSuperclass(source, amount); + // This ensures that nukes will remain hyper-effective + } + + // If damage is fire damage, reduce damage above 5 then ignore armor + if(source.isFireDamage()) { + float dmg = Math.min(amount, 5F); + if(amount > 5) dmg += (amount - 5F) * 0.1F; + return glyphid.attackSuperclass(source, dmg); + // This ensures that afterburn and flamethrowers remain effective wihin reason + } + + // If damage is explosive, reduce by 25% then ignore armor + if(source.isExplosion()) { + amount *= 0.5F; + return glyphid.attackSuperclass(source, amount); + // This ensures that explosions remain mostly effective + } + + byte armor = glyphid.getDataWatcher().getWatchableObjectByte(glyphid.DW_ARMOR); + amount -= glyphid.getDamageThreshold(); + if(amount < 0) return armor == 0; // if armor is present, knockback from 0 damage attacks is negated + + if(armor != 0) { + if(glyphid.isArmorBroken(amount)) { + glyphid.breakOffArmor(); + amount *= 0.5F; + } + + amount = glyphid.calculateDamage((float) Math.min(amount, Math.sqrt(amount) * 50D / 7D)); + // This ensures that higher numbers have a diminishing effect + } + + return glyphid.attackSuperclass(source, amount); + } + + public boolean isNuclearDamage(DamageSource source) { + return source == ModDamageSource.nuclearBlast || source == ModDamageSource.radiation; + } + } +} diff --git a/src/main/java/com/hbm/entity/mob/siege/EntitySiegeCraft.java b/src/main/java/com/hbm/entity/mob/siege/EntitySiegeCraft.java index aba873b3b..72c0e29de 100644 --- a/src/main/java/com/hbm/entity/mob/siege/EntitySiegeCraft.java +++ b/src/main/java/com/hbm/entity/mob/siege/EntitySiegeCraft.java @@ -4,7 +4,6 @@ import java.util.List; import com.hbm.entity.mob.EntityUFOBase; import com.hbm.entity.projectile.EntitySiegeLaser; -import com.hbm.handler.SiegeOrchestrator; import com.hbm.lib.ModDamageSource; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; @@ -45,9 +44,6 @@ public class EntitySiegeCraft extends EntityUFOBase implements IBossDisplayData if(this.isEntityInvulnerable()) return false; - if(SiegeOrchestrator.isSiegeMob(source.getEntity())) - return false; - SiegeTier tier = this.getTier(); if(tier.fireProof && source.isFireDamage()) { diff --git a/src/main/java/com/hbm/entity/mob/siege/EntitySiegeSkeleton.java b/src/main/java/com/hbm/entity/mob/siege/EntitySiegeSkeleton.java index c81c0ef47..46e685a52 100644 --- a/src/main/java/com/hbm/entity/mob/siege/EntitySiegeSkeleton.java +++ b/src/main/java/com/hbm/entity/mob/siege/EntitySiegeSkeleton.java @@ -1,7 +1,6 @@ package com.hbm.entity.mob.siege; import com.hbm.entity.projectile.EntitySiegeLaser; -import com.hbm.handler.SiegeOrchestrator; import com.hbm.items.ModItems; import api.hbm.entity.IRadiationImmune; @@ -45,9 +44,6 @@ public class EntitySiegeSkeleton extends EntityMob implements IRangedAttackMob, if(this.isEntityInvulnerable()) return false; - if(SiegeOrchestrator.isSiegeMob(source.getEntity())) - return false; - SiegeTier tier = this.getTier(); if(tier.fireProof && source.isFireDamage()) { diff --git a/src/main/java/com/hbm/entity/mob/siege/EntitySiegeTunneler.java b/src/main/java/com/hbm/entity/mob/siege/EntitySiegeTunneler.java index da940e4b8..ff64a8476 100644 --- a/src/main/java/com/hbm/entity/mob/siege/EntitySiegeTunneler.java +++ b/src/main/java/com/hbm/entity/mob/siege/EntitySiegeTunneler.java @@ -1,7 +1,6 @@ package com.hbm.entity.mob.siege; import com.hbm.entity.mob.EntityBurrowingSwingingBase; -import com.hbm.handler.SiegeOrchestrator; import net.minecraft.entity.IEntityLivingData; import net.minecraft.entity.SharedMonsterAttributes; @@ -37,9 +36,6 @@ public class EntitySiegeTunneler extends EntityBurrowingSwingingBase { if(this.isEntityInvulnerable()) return false; - if(SiegeOrchestrator.isSiegeMob(source.getEntity())) - return false; - SiegeTier tier = this.getTier(); if(tier.fireProof && source.isFireDamage()) { diff --git a/src/main/java/com/hbm/entity/mob/siege/EntitySiegeUFO.java b/src/main/java/com/hbm/entity/mob/siege/EntitySiegeUFO.java index 30670edc8..12551252a 100644 --- a/src/main/java/com/hbm/entity/mob/siege/EntitySiegeUFO.java +++ b/src/main/java/com/hbm/entity/mob/siege/EntitySiegeUFO.java @@ -2,7 +2,6 @@ package com.hbm.entity.mob.siege; import com.hbm.entity.mob.EntityUFOBase; import com.hbm.entity.projectile.EntitySiegeLaser; -import com.hbm.handler.SiegeOrchestrator; import api.hbm.entity.IRadiationImmune; import net.minecraft.entity.IEntityLivingData; import net.minecraft.entity.SharedMonsterAttributes; @@ -48,9 +47,6 @@ public class EntitySiegeUFO extends EntityUFOBase implements IRadiationImmune { if(this.isEntityInvulnerable()) return false; - if(SiegeOrchestrator.isSiegeMob(source.getEntity())) - return false; - SiegeTier tier = this.getTier(); if(tier.fireProof && source.isFireDamage()) { diff --git a/src/main/java/com/hbm/entity/mob/siege/EntitySiegeZombie.java b/src/main/java/com/hbm/entity/mob/siege/EntitySiegeZombie.java index 49dac097b..82ac62ce8 100644 --- a/src/main/java/com/hbm/entity/mob/siege/EntitySiegeZombie.java +++ b/src/main/java/com/hbm/entity/mob/siege/EntitySiegeZombie.java @@ -1,6 +1,5 @@ package com.hbm.entity.mob.siege; -import com.hbm.handler.SiegeOrchestrator; import api.hbm.entity.IRadiationImmune; import net.minecraft.entity.IEntityLivingData; import net.minecraft.entity.SharedMonsterAttributes; @@ -43,9 +42,6 @@ public class EntitySiegeZombie extends EntityMob implements IRadiationImmune { if(this.isEntityInvulnerable()) return false; - if(SiegeOrchestrator.isSiegeMob(source.getEntity())) - return false; - SiegeTier tier = this.getTier(); if(tier.fireProof && source.isFireDamage()) { diff --git a/src/main/java/com/hbm/entity/mob/siege/SiegeTier.java b/src/main/java/com/hbm/entity/mob/siege/SiegeTier.java index ff3ac94c6..8949121c9 100644 --- a/src/main/java/com/hbm/entity/mob/siege/SiegeTier.java +++ b/src/main/java/com/hbm/entity/mob/siege/SiegeTier.java @@ -7,10 +7,7 @@ import java.util.function.Consumer; import com.hbm.items.ModItems; import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.potion.PotionEffect; public class SiegeTier { @@ -113,49 +110,12 @@ public class SiegeTier { return this; } - private SiegeTier addDrop(Item drop) { - return addDrop(new ItemStack(drop)); - } - private SiegeTier addDrop(ItemStack drop) { this.dropItem.add(drop); return this; } - private SiegeTier setAura(int range, PotionEffect... effects) { - this.daisyChain(x -> SiegeTier.doAura(x, range, effects)); //HOLY SHIT THAT ACTUALLY WORKS!! - return this; - } - - private SiegeTier daisyChain(Consumer link) { - - if(this.delegate == null) - this.delegate = link; - else - this.delegate.andThen(link); //HOLY FUCK! - - return this; - } - public void runDelegate(EntityLivingBase entity) { if(this.delegate != null) this.delegate.accept(entity); } - - /* - * DELEGATIONS - */ - private static void doAura(EntityLivingBase entity, int range, PotionEffect... effects) { - - List players = entity.worldObj.getEntitiesWithinAABB(EntityPlayer.class, entity.boundingBox.expand(range, range, range)); - - for(EntityPlayer player : players) { - - if(player.getDistanceSqToEntity(entity) < range * range) { - - for(PotionEffect e : effects) { - player.addPotionEffect(new PotionEffect(e)); - } - } - } - } } diff --git a/src/main/java/com/hbm/entity/particle/EntityCloudFX.java b/src/main/java/com/hbm/entity/particle/EntityCloudFX.java index 95513f498..b5b3dc474 100644 --- a/src/main/java/com/hbm/entity/particle/EntityCloudFX.java +++ b/src/main/java/com/hbm/entity/particle/EntityCloudFX.java @@ -1,7 +1,5 @@ package com.hbm.entity.particle; -import com.hbm.blocks.ModBlocks; -import com.hbm.blocks.bomb.BlockCloudResidue; import com.hbm.explosion.ExplosionChaos; import net.minecraft.util.MathHelper; @@ -79,10 +77,6 @@ public class EntityCloudFX extends EntityModFX { if(!worldObj.isRemote && rand.nextInt(5) != 0) { this.setDead(); - - if(BlockCloudResidue.hasPosNeightbour(worldObj, (int) (posX - motionX/subdivisions), (int) (posY - motionY/subdivisions), (int) (posZ - motionZ/subdivisions)) && worldObj.getBlock((int) (posX - motionX/subdivisions), (int) (posY - motionY/subdivisions), (int) (posZ - motionZ/subdivisions)).isReplaceable(worldObj, (int) (posX - motionX/subdivisions), (int) (posY - motionY/subdivisions), (int) (posZ - motionZ/subdivisions))) { - worldObj.setBlock((int) (posX - motionX/subdivisions), (int) (posY - motionY/subdivisions), (int) (posZ - motionZ/subdivisions), ModBlocks.residue); - } } this.posX -= this.motionX/subdivisions; diff --git a/src/main/java/com/hbm/entity/pathfinder/PathFinderUtils.java b/src/main/java/com/hbm/entity/pathfinder/PathFinderUtils.java index 9d5b2f36c..fc4064646 100644 --- a/src/main/java/com/hbm/entity/pathfinder/PathFinderUtils.java +++ b/src/main/java/com/hbm/entity/pathfinder/PathFinderUtils.java @@ -59,4 +59,54 @@ public class PathFinderUtils { world.theProfiler.endSection(); return pathentity; } + + public static PathEntity getPathEntityToCoordPartial(World world, Entity fromEntity, int posX, int posY, int posZ, float maxDist, boolean allowDoors, boolean allowBlocked, boolean allowWater, boolean canDrown) { + world.theProfiler.startSection("pathfind"); + int startX = MathHelper.floor_double(fromEntity.posX); + int startY = MathHelper.floor_double(fromEntity.posY + 1.0D); + int startZ = MathHelper.floor_double(fromEntity.posZ); + int maxDistEff = (int) (maxDist + 16.0F); + int minX = startX - maxDistEff; + int minY = startY - maxDistEff; + int minZ = startZ - maxDistEff; + int maxX = startX + maxDistEff; + int maxY = startY + maxDistEff; + int maxZ = startZ + maxDistEff; + ChunkCache chunkcache = new ChunkCache(world, minX, minY, minZ, maxX, maxY, maxZ, 0); + + Vec3 vec = Vec3.createVectorHelper(posX - fromEntity.posX, posY - fromEntity.posY, posZ - fromEntity.posZ); + vec = vec.normalize(); + vec.xCoord *= maxDist; + vec.yCoord *= maxDist; + vec.zCoord *= maxDist; + + int x = (int) Math.floor(fromEntity.posX + vec.xCoord); + int y = (int) Math.floor(fromEntity.posY + vec.yCoord); + int z = (int) Math.floor(fromEntity.posZ + vec.zCoord); + + //this part will adjust the end of the path so it's actually on the ground, it being unreachable causes mobs to slow down + boolean solid = false; + + for(int i = y; i > y - 10; i--) { + if(!world.getBlock(x, i, z).getMaterial().blocksMovement() && world.getBlock(x, i - 1, z).isNormalCube()) { + solid = true; + y = i; + break; + } + + } + + if(!solid) for(int i = y + 10; i > y; i--) { + if(!world.getBlock(x, i, z).getMaterial().blocksMovement() && world.getBlock(x, i - 1, z).isNormalCube()) { + solid = true; + y = i; + break; + } + } + + //PathEntity pathentity = (new PathFinder(chunkcache, allowDoors, allowBlocked, allowWater, canDrown)).createEntityPathTo(fromEntity, toEntity, maxDist); + PathEntity pathentity = (new PathFinder(chunkcache, allowDoors, allowBlocked, allowWater, canDrown)).createEntityPathTo(fromEntity, x, y, z, maxDist); + world.theProfiler.endSection(); + return pathentity; + } } diff --git a/src/main/java/com/hbm/entity/projectile/EntityAcidBomb.java b/src/main/java/com/hbm/entity/projectile/EntityAcidBomb.java index 8a688df2d..183d00c01 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityAcidBomb.java +++ b/src/main/java/com/hbm/entity/projectile/EntityAcidBomb.java @@ -1,9 +1,10 @@ package com.hbm.entity.projectile; -import com.hbm.entity.mob.EntityGlyphid; +import com.hbm.entity.mob.glyphid.EntityGlyphid; import com.hbm.lib.ModDamageSource; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EntityDamageSourceIndirect; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; @@ -27,7 +28,7 @@ public class EntityAcidBomb extends EntityThrowableInterp { if(mop.typeOfHit == mop.typeOfHit.ENTITY) { if(!(mop.entityHit instanceof EntityGlyphid)) { - mop.entityHit.attackEntityFrom(ModDamageSource.acid, damage); + mop.entityHit.attackEntityFrom(new EntityDamageSourceIndirect(ModDamageSource.s_acid, this, thrower), damage); this.setDead(); } } diff --git a/src/main/java/com/hbm/entity/projectile/EntityBombletZeta.java b/src/main/java/com/hbm/entity/projectile/EntityBombletZeta.java index 1571ff841..1a21d96c2 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityBombletZeta.java +++ b/src/main/java/com/hbm/entity/projectile/EntityBombletZeta.java @@ -63,7 +63,7 @@ public class EntityBombletZeta extends EntityThrowable { ExplosionChaos.spawnChlorine(worldObj, this.posX + 0.5F - motionX, this.posY + 0.5F - motionY, this.posZ + 0.5F - motionZ, 75, 2, 0); } if(type == 4) { - worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, (int) (BombConfig.fatmanRadius * 1.5), posX, posY, posZ).mute()); + worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, (int) (BombConfig.fatmanRadius * 1.5), posX, posY, posZ)); NBTTagCompound data = new NBTTagCompound(); data.setString("type", "muke"); diff --git a/src/main/java/com/hbm/entity/projectile/EntityBoxcar.java b/src/main/java/com/hbm/entity/projectile/EntityBoxcar.java index 74a4f9a47..8871bd430 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityBoxcar.java +++ b/src/main/java/com/hbm/entity/projectile/EntityBoxcar.java @@ -32,49 +32,36 @@ public class EntityBoxcar extends EntityThrowable { this.lastTickPosZ = this.prevPosZ = posZ; this.setPosition(posX + this.motionX, posY + this.motionY, posZ + this.motionZ); - /*this.prevPosX = this.posX; - this.prevPosY = this.posY; - this.prevPosZ = this.posZ; - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ;*/ - this.motionY -= 0.03; if(motionY < -1.5) motionY = -1.5; - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air) - { - this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "hbm:entity.oldExplosion", 10000.0F, 0.5F + this.rand.nextFloat() * 0.1F); - this.setDead(); - ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 3); - ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 2.5); - ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 2); - ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 1.5); - ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 1); - - List list = (List)worldObj.getEntitiesWithinAABBExcludingEntity(null, - AxisAlignedBB.getBoundingBox(posX - 2, posY - 2, posZ - 2, posX + 2, posY + 2, posZ + 2)); - - for(Entity e : list) { - e.attackEntityFrom(ModDamageSource.boxcar, 1000); - } - - if(!worldObj.isRemote) - worldObj.setBlock((int)(this.posX - 0.5), (int)(this.posY + 0.5), (int)(this.posZ - 0.5), ModBlocks.boxcar); - } - } + + if(this.worldObj.getBlock((int) this.posX, (int) this.posY, (int) this.posZ) != Blocks.air) { + this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "hbm:weapon.trainImpact", 100.0F, 1.0F); + this.setDead(); + ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 3); + ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 2.5); + ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 2); + //ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 1.5); + //ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 1); + + List list = (List) worldObj.getEntitiesWithinAABBExcludingEntity(null, AxisAlignedBB.getBoundingBox(posX - 2, posY - 2, posZ - 2, posX + 2, posY + 2, posZ + 2)); + + for(Entity e : list) { + e.attackEntityFrom(ModDamageSource.boxcar, 1000); + } + + if(!worldObj.isRemote) + worldObj.setBlock((int) (this.posX - 0.5), (int) (this.posY + 0.5), (int) (this.posZ - 0.5), ModBlocks.boxcar); + } + } @Override - protected void onImpact(MovingObjectPosition p_70184_1_) { - - } + protected void onImpact(MovingObjectPosition p_70184_1_) { } - @Override + @Override @SideOnly(Side.CLIENT) - public boolean isInRangeToRenderDist(double distance) - { - return distance < 25000; - } + public boolean isInRangeToRenderDist(double distance) { + return distance < 25000; + } } diff --git a/src/main/java/com/hbm/entity/projectile/EntityBulletBaseNT.java b/src/main/java/com/hbm/entity/projectile/EntityBulletBaseNT.java index d8ee0f4f3..20bff21ba 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityBulletBaseNT.java +++ b/src/main/java/com/hbm/entity/projectile/EntityBulletBaseNT.java @@ -111,12 +111,20 @@ public class EntityBulletBaseNT extends EntityThrowableInterp implements IBullet ItemStack gun = entity.getHeldItem(); boolean offsetShot = true; + boolean accuracyBoost = false; if(gun != null && gun.getItem() instanceof ItemGunBase) { GunConfiguration cfg = ((ItemGunBase) gun.getItem()).mainConfig; - - if(cfg != null && cfg.hasSights && entity.isSneaking()) { - offsetShot = false; + + if(cfg != null) { + if(cfg.hasSights && entity.isSneaking()) { + offsetShot = false; + accuracyBoost = true; + } + + if(cfg.isCentered){ + offsetShot = false; + } } } @@ -140,7 +148,7 @@ public class EntityBulletBaseNT extends EntityThrowableInterp implements IBullet this.renderDistanceWeight = 10.0D; this.setSize(0.5F, 0.5F); - this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, 1.0F, this.config.spread * (offsetShot ? 1F : 0.25F)); + this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, 1.0F, this.config.spread * (accuracyBoost ? 0.25F : 1F)); } public EntityBulletBaseNT(World world, int config, EntityLivingBase entity, EntityLivingBase target, float motion, float deviation) { @@ -378,8 +386,8 @@ public class EntityBulletBaseNT extends EntityThrowableInterp implements IBullet data.setInteger("block", Block.getIdFromBlock(Blocks.redstone_block)); PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, living.posX, living.posY + living.height - head, living.posZ), new TargetPoint(living.dimension, living.posX, living.posY, living.posZ, 50)); worldObj.playSoundEffect(victim.posX, victim.posY, victim.posZ, "mob.zombie.woodbreak", 1.0F, 0.95F + rand.nextFloat() * 0.2F); - } - } + } + } } } @@ -457,7 +465,7 @@ public class EntityBulletBaseNT extends EntityThrowableInterp implements IBullet } if(config.nuke > 0 && !worldObj.isRemote) { - worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, config.nuke, posX, posY, posZ).mute()); + worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, config.nuke, posX, posY, posZ)); NBTTagCompound data = new NBTTagCompound(); data.setString("type", "muke"); if(MainRegistry.polaroidID == 11 || rand.nextInt(100) == 0) data.setBoolean("balefire", true); diff --git a/src/main/java/com/hbm/entity/projectile/EntityChemical.java b/src/main/java/com/hbm/entity/projectile/EntityChemical.java index 3eb72cddc..f1a1e5e6c 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityChemical.java +++ b/src/main/java/com/hbm/entity/projectile/EntityChemical.java @@ -4,16 +4,12 @@ import java.awt.Color; import java.util.List; import com.hbm.blocks.ModBlocks; +import com.hbm.entity.mob.glyphid.EntityGlyphid; import com.hbm.extprop.HbmLivingProps; import com.hbm.handler.radiation.ChunkRadiationManager; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; -import com.hbm.inventory.fluid.trait.FT_Combustible; -import com.hbm.inventory.fluid.trait.FT_Corrosive; -import com.hbm.inventory.fluid.trait.FT_Flammable; -import com.hbm.inventory.fluid.trait.FT_Poison; -import com.hbm.inventory.fluid.trait.FT_Toxin; -import com.hbm.inventory.fluid.trait.FT_VentRadiation; +import com.hbm.inventory.fluid.trait.*; import com.hbm.lib.ModDamageSource; import com.hbm.main.MainRegistry; import com.hbm.tileentity.IRepairable; @@ -43,6 +39,7 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; + public class EntityChemical extends EntityThrowableNT { /* @@ -211,6 +208,12 @@ public class EntityChemical extends EntityThrowableNT { HbmLivingProps.setOil(living, 300); //doused in oil for 15 seconds } } + if(type.hasTrait(Fluids.DELICIOUS.getClass())) { + if(living != null && living.isEntityAlive()) { + living.heal(2F * (float) intensity); + } + } + } if(this.isExtinguishing()) { @@ -219,7 +222,7 @@ public class EntityChemical extends EntityThrowableNT { if(style == ChemicalStyle.BURNING) { FT_Combustible trait = type.getTrait(FT_Combustible.class); - EntityDamageUtil.attackEntityFromIgnoreIFrame(e, getDamage(ModDamageSource.s_flamethrower), 2F + (trait != null ? (trait.getCombustionEnergy() / 100_000F) : 0)); + EntityDamageUtil.attackEntityFromIgnoreIFrame(e, getDamage(ModDamageSource.s_flamethrower), 0.2F + (trait != null ? (trait.getCombustionEnergy() / 100_000F) : 0)); e.setFire(5); } @@ -229,17 +232,17 @@ public class EntityChemical extends EntityThrowableNT { float heat = Math.max(flammable != null ? flammable.getHeatEnergy() / 50_000F : 0, combustible != null ? combustible.getCombustionEnergy() / 100_000F : 0); heat *= intensity; - EntityDamageUtil.attackEntityFromIgnoreIFrame(e, getDamage(ModDamageSource.s_flamethrower), (2F + heat) * (float) intensity); + EntityDamageUtil.attackEntityFromIgnoreIFrame(e, getDamage(ModDamageSource.s_flamethrower), (0.2F + heat) * (float) intensity); e.setFire((int) Math.ceil(5 * intensity)); } if(type.hasTrait(FT_Corrosive.class)) { FT_Corrosive trait = type.getTrait(FT_Corrosive.class); - EntityDamageUtil.attackEntityFromIgnoreIFrame(e, getDamage(ModDamageSource.s_acid), trait.getRating() / 50F); - + if(living != null) { + EntityDamageUtil.attackEntityFromIgnoreIFrame(living, getDamage(ModDamageSource.s_acid), trait.getRating() / 50F); for(int i = 0; i < 4; i++) { - ArmorUtil.damageSuit(living, i, (int) Math.ceil(trait.getRating() / 50)); + ArmorUtil.damageSuit(living, i, trait.getRating() / 40); } } } @@ -267,6 +270,26 @@ public class EntityChemical extends EntityThrowableNT { trait.affect(living, intensity); } } + + if(type.hasTrait(FT_Pheromone.class)){ + + FT_Pheromone pheromone = type.getTrait(FT_Pheromone.class); + + if(living != null) { + living.addPotionEffect(new PotionEffect(Potion.resistance.id, 2 * 60 * 20, 2)); + living.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 5 * 60 * 20, 1)); + living.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 2 * 60 * 20, 4)); + + if (living instanceof EntityGlyphid && pheromone.getType() == 1) { + living.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 5 * 60 * 20, 4)); + living.addPotionEffect(new PotionEffect(Potion.fireResistance.id, 60 * 20, 0)); + living.addPotionEffect(new PotionEffect(Potion.field_76444_x.id, 60 * 20, 19)); + + } else if (living instanceof EntityPlayer && pheromone.getType() == 2) { + living.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 2 * 60 * 20, 2)); + } + } + } if(type == Fluids.XPJUICE) { @@ -301,14 +324,14 @@ public class EntityChemical extends EntityThrowableNT { } //terribly copy-pasted from EntityEnderman.class - protected boolean teleportRandomly(Entity e) { + public boolean teleportRandomly(Entity e) { double x = this.posX + (this.rand.nextDouble() - 0.5D) * 64.0D; double y = this.posY + (double) (this.rand.nextInt(64) - 32); double z = this.posZ + (this.rand.nextDouble() - 0.5D) * 64.0D; return this.teleportTo(e, x, y, z); } - protected boolean teleportTo(Entity e, double x, double y, double z) { + public boolean teleportTo(Entity e, double x, double y, double z) { double targetX = e.posX; double targetY = e.posY; @@ -387,7 +410,7 @@ public class EntityChemical extends EntityThrowableNT { FT_VentRadiation trait = type.getTrait(FT_VentRadiation.class); ChunkRadiationManager.proxy.incrementRad(worldObj, mop.blockX, mop.blockY, mop.blockZ, trait.getRadPerMB() * 5); } - + ChemicalStyle style = getStyle(); if(style == ChemicalStyle.BURNING || style == ChemicalStyle.GASFLAME) { @@ -401,6 +424,18 @@ public class EntityChemical extends EntityThrowableNT { } } } + + if(style == ChemicalStyle.BURNING || style == ChemicalStyle.GASFLAME) { + + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + + Block fire = type == Fluids.BALEFIRE ? ModBlocks.balefire : Blocks.fire; + + if(worldObj.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ).isAir(worldObj, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ)) { + worldObj.setBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, fire); + } + } + } if(this.isExtinguishing()) { @@ -418,6 +453,18 @@ public class EntityChemical extends EntityThrowableNT { if(core instanceof IRepairable) { ((IRepairable) core).tryExtinguish(worldObj, x, y, z, fext); } + + if(fext == EnumExtinguishType.WATER && style == ChemicalStyle.LIQUID) { + for(int i = -2; i <= 2; i++) { + for(int j = 0; j <= 1; j++) { + for(int k = -2; k <= 2; k++) { + if(worldObj.getBlock(x + i, y + j, z + k) == ModBlocks.fallout) { + worldObj.setBlock(x + i, y + j, z + k, Blocks.air); + } + } + } + } + } } Block block = worldObj.getBlock(x, y, z); @@ -431,6 +478,7 @@ public class EntityChemical extends EntityThrowableNT { int meta = worldObj.getBlockMetadata(x, y, z); if(block == Blocks.cobblestone) worldObj.setBlock(x, y, z, Blocks.mossy_cobblestone); if(block == Blocks.stonebrick && meta == 0) worldObj.setBlock(x, y, z, Blocks.stonebrick, 1, 3); + if(block == ModBlocks.waste_earth) worldObj.setBlock(x, y, z, Blocks.grass); if(block == ModBlocks.brick_concrete) worldObj.setBlock(x, y, z, ModBlocks.brick_concrete_mossy); if(block == ModBlocks.concrete_brick_slab && meta % 8 == 0) worldObj.setBlock(x, y, z, ModBlocks.concrete_brick_slab, meta + 1, 3); if(block == ModBlocks.brick_concrete_stairs) worldObj.setBlock(x, y, z, ModBlocks.brick_concrete_mossy_stairs, meta, 3); diff --git a/src/main/java/com/hbm/entity/projectile/EntityDischarge.java b/src/main/java/com/hbm/entity/projectile/EntityDischarge.java deleted file mode 100644 index 59b11bc82..000000000 --- a/src/main/java/com/hbm/entity/projectile/EntityDischarge.java +++ /dev/null @@ -1,595 +0,0 @@ -package com.hbm.entity.projectile; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -import java.util.List; - -import com.hbm.entity.effect.EntityEMPBlast; -import com.hbm.explosion.ExplosionNukeGeneric; -import com.hbm.lib.ModDamageSource; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.IProjectile; -import net.minecraft.entity.monster.EntityEnderman; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.play.server.S2BPacketChangeGameState; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; - -public class EntityDischarge extends Entity implements IProjectile -{ - private int field_145791_d = -1; - private int field_145792_e = -1; - private int field_145789_f = -1; - public double gravity = 0.0D; - private Block field_145790_g; - private int inData; - private boolean inGround; - /** 1 if the player can pick up the arrow */ - public int canBePickedUp; - /** Seems to be some sort of timer for animating an arrow. */ - public int arrowShake; - /** The owner of this arrow. */ - public Entity shootingEntity; - private int ticksInGround; - private int ticksInAir; - private double damage = 2.0D; - /** The amount of knockback an arrow applies when it hits a mob. */ - private int knockbackStrength; - public EntityDischarge(World p_i1753_1_) - { - super(p_i1753_1_); - this.renderDistanceWeight = 10.0D; - this.setSize(1.5F, 1.5F); - } - - public EntityDischarge(World p_i1754_1_, double p_i1754_2_, double p_i1754_4_, double p_i1754_6_) - { - super(p_i1754_1_); - this.renderDistanceWeight = 10.0D; - this.setSize(1.5F, 1.5F); - this.setPosition(p_i1754_2_, p_i1754_4_, p_i1754_6_); - this.yOffset = 0.0F; - } - - public EntityDischarge(World p_i1755_1_, EntityLivingBase p_i1755_2_, EntityLivingBase p_i1755_3_, float p_i1755_4_, float p_i1755_5_) - { - super(p_i1755_1_); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = p_i1755_2_; - - if (p_i1755_2_ instanceof EntityPlayer) - { - this.canBePickedUp = 1; - } - - this.posY = p_i1755_2_.posY + p_i1755_2_.getEyeHeight() - 0.10000000149011612D; - double d0 = p_i1755_3_.posX - p_i1755_2_.posX; - double d1 = p_i1755_3_.boundingBox.minY + p_i1755_3_.height / 3.0F - this.posY; - double d2 = p_i1755_3_.posZ - p_i1755_2_.posZ; - double d3 = MathHelper.sqrt_double(d0 * d0 + d2 * d2); - - if (d3 >= 1.0E-7D) - { - float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(p_i1755_2_.posX + d4, this.posY, p_i1755_2_.posZ + d5, f2, f3); - this.yOffset = 0.0F; - float f4 = (float)d3 * 0.2F; - this.setThrowableHeading(d0, d1 + f4, d2, p_i1755_4_, p_i1755_5_); - } - } - - public EntityDischarge(World p_i1756_1_, EntityLivingBase p_i1756_2_, float p_i1756_3_) - { - super(p_i1756_1_); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = p_i1756_2_; - - if (p_i1756_2_ instanceof EntityPlayer) - { - this.canBePickedUp = 1; - } - - this.setSize(1.5F, 1.5F); - this.setLocationAndAngles(p_i1756_2_.posX, p_i1756_2_.posY + p_i1756_2_.getEyeHeight(), p_i1756_2_.posZ, p_i1756_2_.rotationYaw, p_i1756_2_.rotationPitch); - this.posX -= MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F; - this.posY -= 0.10000000149011612D; - this.posZ -= MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F; - this.setPosition(this.posX, this.posY, this.posZ); - this.yOffset = 0.0F; - this.motionX = -MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI); - this.motionZ = MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI); - this.motionY = (-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI)); - this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, p_i1756_3_ * 1.5F, 1.0F); - } - - public EntityDischarge(World world, int x, int y, int z, double mx, double my, double mz, double grav) { - super(world); - this.posX = x + 0.5F; - this.posY = y + 0.5F; - this.posZ = z + 0.5F; - - this.motionX = mx; - this.motionY = my; - this.motionZ = mz; - - this.gravity = grav; - } - - @Override - protected void entityInit() - { - this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); - } - - /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. - */ - @Override - public void setThrowableHeading(double p_70186_1_, double p_70186_3_, double p_70186_5_, float p_70186_7_, float p_70186_8_) - { - float f2 = MathHelper.sqrt_double(p_70186_1_ * p_70186_1_ + p_70186_3_ * p_70186_3_ + p_70186_5_ * p_70186_5_); - p_70186_1_ /= f2; - p_70186_3_ /= f2; - p_70186_5_ /= f2; - p_70186_1_ += this.rand.nextGaussian() * (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * p_70186_8_; - p_70186_3_ += this.rand.nextGaussian() * (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * p_70186_8_; - p_70186_5_ += this.rand.nextGaussian() * (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * p_70186_8_; - p_70186_1_ *= p_70186_7_; - p_70186_3_ *= p_70186_7_; - p_70186_5_ *= p_70186_7_; - this.motionX = p_70186_1_; - this.motionY = p_70186_3_; - this.motionZ = p_70186_5_; - float f3 = MathHelper.sqrt_double(p_70186_1_ * p_70186_1_ + p_70186_5_ * p_70186_5_); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(p_70186_1_, p_70186_5_) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(p_70186_3_, f3) * 180.0D / Math.PI); - this.ticksInGround = 0; - } - - /** - * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, - * posY, posZ, yaw, pitch - */ - @Override - @SideOnly(Side.CLIENT) - public void setPositionAndRotation2(double p_70056_1_, double p_70056_3_, double p_70056_5_, float p_70056_7_, float p_70056_8_, int p_70056_9_) - { - this.setPosition(p_70056_1_, p_70056_3_, p_70056_5_); - this.setRotation(p_70056_7_, p_70056_8_); - } - - /** - * Sets the velocity to the args. Args: x, y, z - */ - @Override - @SideOnly(Side.CLIENT) - public void setVelocity(double p_70016_1_, double p_70016_3_, double p_70016_5_) - { - this.motionX = p_70016_1_; - this.motionY = p_70016_3_; - this.motionZ = p_70016_5_; - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - float f = MathHelper.sqrt_double(p_70016_1_ * p_70016_1_ + p_70016_5_ * p_70016_5_); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(p_70016_1_, p_70016_5_) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(p_70016_3_, f) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch; - this.prevRotationYaw = this.rotationYaw; - this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); - this.ticksInGround = 0; - } - } - - /** - * Called to update the entity's position/logic. - */ - //@Override - @Override - public void onUpdate() - { - super.onUpdate(); - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - //this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI); - } - - Block block = this.worldObj.getBlock(this.field_145791_d, this.field_145792_e, this.field_145789_f); - - if (block.getMaterial() != Material.air) - { - block.setBlockBoundsBasedOnState(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f); - AxisAlignedBB axisalignedbb = block.getCollisionBoundingBoxFromPool(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f); - - if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) - { - this.inGround = true; - } - } - - if (this.arrowShake > 0) - { - --this.arrowShake; - } - - if (this.inGround) - { - this.setDead(); - - EntityEMPBlast cloud = new EntityEMPBlast(this.worldObj, 10); - cloud.posX = this.posX; - cloud.posY = this.posY + 0.5F; - cloud.posZ = this.posZ; - if (!this.worldObj.isRemote) { - this.worldObj.spawnEntityInWorld(cloud); - } - - ExplosionNukeGeneric.empBlast(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 10); - } - else - { - ++this.ticksInAir; - Vec3 vec31 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); - Vec3 vec3 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); - vec31 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); - vec3 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - - if (movingobjectposition != null) - { - vec3 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - int i; - float f1; - - for (i = 0; i < list.size(); ++i) - { - Entity entity1 = (Entity)list.get(i); - - if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) - { - f1 = 0.3F; - AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand(f1, f1, f1); - MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec31, vec3); - - if (movingobjectposition1 != null) - { - double d1 = vec31.distanceTo(movingobjectposition1.hitVec); - - if (d1 < d0 || d0 == 0.0D) - { - entity = entity1; - d0 = d1; - } - } - } - } - - if (entity != null) - { - movingobjectposition = new MovingObjectPosition(entity); - } - - if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) - { - EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit; - - if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(entityplayer)) - { - movingobjectposition = null; - } - } - - float f2; - float f4; - - if (movingobjectposition != null) - { - if (movingobjectposition.entityHit != null) - { - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - int k = MathHelper.ceiling_double_int(f2 * this.damage); - - if (this.getIsCritical()) - { - k += this.rand.nextInt(k / 2 + 2); - } - - DamageSource damagesource = null; - - if (this.shootingEntity == null) - { - damagesource = DamageSource.generic; - } - else - { - damagesource = ModDamageSource.causeDischargeDamage(this, this); - } - - if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) - { - movingobjectposition.entityHit.setFire(5); - } - - if (movingobjectposition.entityHit.attackEntityFrom(damagesource, k)) - { - if (movingobjectposition.entityHit instanceof EntityLivingBase) - { - EntityLivingBase entitylivingbase = (EntityLivingBase)movingobjectposition.entityHit; - - if (this.knockbackStrength > 0) - { - f4 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - - if (f4 > 0.0F) - { - movingobjectposition.entityHit.addVelocity(this.motionX * this.knockbackStrength * 0.6000000238418579D / f4, 0.1D, this.motionZ * this.knockbackStrength * 0.6000000238418579D / f4); - } - } - - if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase) - { - EnchantmentHelper.func_151384_a(entitylivingbase, this.shootingEntity); - EnchantmentHelper.func_151385_b((EntityLivingBase)this.shootingEntity, entitylivingbase); - } - - if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) - { - ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F)); - } - } - - if (!(movingobjectposition.entityHit instanceof EntityEnderman)) - { - if (!this.worldObj.isRemote && movingobjectposition.entityHit instanceof EntityLivingBase) - { - movingobjectposition.entityHit.attackEntityFrom(damagesource, 24 + rand.nextInt(11)); - } - } - } - } - else - { - this.field_145791_d = movingobjectposition.blockX; - this.field_145792_e = movingobjectposition.blockY; - this.field_145789_f = movingobjectposition.blockZ; - this.field_145790_g = this.worldObj.getBlock(this.field_145791_d, this.field_145792_e, this.field_145789_f); - this.inData = this.worldObj.getBlockMetadata(this.field_145791_d, this.field_145792_e, this.field_145789_f); - this.motionX = ((float)(movingobjectposition.hitVec.xCoord - this.posX)); - this.motionY = ((float)(movingobjectposition.hitVec.yCoord - this.posY)); - this.motionZ = ((float)(movingobjectposition.hitVec.zCoord - this.posZ)); - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - this.posX -= this.motionX / f2 * 0.05000000074505806D; - this.posY -= this.motionY / f2 * 0.05000000074505806D; - this.posZ -= this.motionZ / f2 * 0.05000000074505806D; - this.inGround = true; - this.arrowShake = 7; - this.setIsCritical(false); - - if (this.field_145790_g.getMaterial() != Material.air) - { - this.field_145790_g.onEntityCollidedWithBlock(this.worldObj, this.field_145791_d, this.field_145792_e, this.field_145789_f, this); - } - } - } - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - float f3 = 0.99F; - f1 = 0.05F; - - if (this.isInWater()) - { - for (int l = 0; l < 4; ++l) - { - f4 = 0.25F; - this.worldObj.spawnParticle("bubble", this.posX - this.motionX * f4, this.posY - this.motionY * f4, this.posZ - this.motionZ * f4, this.motionX, this.motionY, this.motionZ); - } - - f3 = 0.8F; - } - - if (this.isWet()) - { - this.extinguish(); - } - - this.motionX *= f3; - this.motionY *= f3; - this.motionZ *= f3; - this.motionY -= gravity; - this.setPosition(this.posX, this.posY, this.posZ); - this.func_145775_I(); - } - - if (this.ticksExisted > 250) { - - EntityEMPBlast cloud = new EntityEMPBlast(this.worldObj, 10); - cloud.posX = this.posX; - cloud.posY = this.posY + 0.5F; - cloud.posZ = this.posZ; - if (!this.worldObj.isRemote) { - this.worldObj.spawnEntityInWorld(cloud); - } - - ExplosionNukeGeneric.empBlast(this.worldObj, (int)this.posX, (int)this.posY, (int)this.posZ, 10); - - this.setDead(); - } - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - @Override - public void writeEntityToNBT(NBTTagCompound p_70014_1_) - { - p_70014_1_.setShort("xTile", (short)this.field_145791_d); - p_70014_1_.setShort("yTile", (short)this.field_145792_e); - p_70014_1_.setShort("zTile", (short)this.field_145789_f); - p_70014_1_.setShort("life", (short)this.ticksInGround); - p_70014_1_.setByte("inTile", (byte)Block.getIdFromBlock(this.field_145790_g)); - p_70014_1_.setByte("inData", (byte)this.inData); - p_70014_1_.setByte("shake", (byte)this.arrowShake); - p_70014_1_.setByte("inGround", (byte)(this.inGround ? 1 : 0)); - p_70014_1_.setByte("pickup", (byte)this.canBePickedUp); - p_70014_1_.setDouble("damage", this.damage); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - @Override - public void readEntityFromNBT(NBTTagCompound p_70037_1_) - { - this.field_145791_d = p_70037_1_.getShort("xTile"); - this.field_145792_e = p_70037_1_.getShort("yTile"); - this.field_145789_f = p_70037_1_.getShort("zTile"); - this.ticksInGround = p_70037_1_.getShort("life"); - this.field_145790_g = Block.getBlockById(p_70037_1_.getByte("inTile") & 255); - this.inData = p_70037_1_.getByte("inData") & 255; - this.arrowShake = p_70037_1_.getByte("shake") & 255; - this.inGround = p_70037_1_.getByte("inGround") == 1; - - if (p_70037_1_.hasKey("damage", 99)) - { - this.damage = p_70037_1_.getDouble("damage"); - } - - if (p_70037_1_.hasKey("pickup", 99)) - { - this.canBePickedUp = p_70037_1_.getByte("pickup"); - } - else if (p_70037_1_.hasKey("player", 99)) - { - this.canBePickedUp = p_70037_1_.getBoolean("player") ? 1 : 0; - } - } - - /** - * Called by a player entity when they collide with an entity - */ - @Override - public void onCollideWithPlayer(EntityPlayer p_70100_1_) - { - if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) - { - boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && p_70100_1_.capabilities.isCreativeMode; - - if (flag) - { - p_70100_1_.onItemPickup(this, 1); - this.setDead(); - } - } - } - - /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to - * prevent them from trampling crops - */ - @Override - protected boolean canTriggerWalking() - { - return false; - } - - @Override - @SideOnly(Side.CLIENT) - public float getShadowSize() - { - return 0.0F; - } - - public void setDamage(double p_70239_1_) - { - this.damage = p_70239_1_; - } - - public double getDamage() - { - return this.damage; - } - - /** - * Sets the amount of knockback the arrow applies when it hits a mob. - */ - public void setKnockbackStrength(int p_70240_1_) - { - this.knockbackStrength = p_70240_1_; - } - - /** - * If returns false, the item will not inflict any damage against entities. - */ - @Override - public boolean canAttackWithItem() - { - return false; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public void setIsCritical(boolean p_70243_1_) - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (p_70243_1_) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); - } - else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); - } - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public boolean getIsCritical() - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } - - @Override - @SideOnly(Side.CLIENT) - public int getBrightnessForRender(float p_70070_1_) - { - return 15728880; - } - - @Override - public float getBrightness(float p_70013_1_) - { - return 1.0F; - } -} \ No newline at end of file diff --git a/src/main/java/com/hbm/entity/projectile/EntityOilSpill.java b/src/main/java/com/hbm/entity/projectile/EntityOilSpill.java index 5e3a1c55c..aba68c0a9 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityOilSpill.java +++ b/src/main/java/com/hbm/entity/projectile/EntityOilSpill.java @@ -3,47 +3,54 @@ package com.hbm.entity.projectile; import com.hbm.entity.particle.EntityOilSpillFX; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.projectile.EntityThrowable; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; public class EntityOilSpill extends EntityThrowable { - public EntityOilSpill(World p_i1773_1_) - { - super(p_i1773_1_); - } + public EntityOilSpill(World p_i1773_1_) { + super(p_i1773_1_); + } - public EntityOilSpill(World p_i1774_1_, EntityLivingBase p_i1774_2_) - { - super(p_i1774_1_, p_i1774_2_); - } + public EntityOilSpill(World p_i1774_1_, EntityLivingBase p_i1774_2_) { + super(p_i1774_1_, p_i1774_2_); + } - @Override - public void entityInit() { - } + @Override + public void entityInit() { } - public EntityOilSpill(World p_i1775_1_, double p_i1775_2_, double p_i1775_4_, double p_i1775_6_) - { - super(p_i1775_1_, p_i1775_2_, p_i1775_4_, p_i1775_6_); - } - - @Override - public void onUpdate() { - super.onUpdate(); - if(!worldObj.isRemote) { - worldObj.spawnEntityInWorld(new EntityOilSpillFX(worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); - if(this.isBurning()) { - this.setDead(); - worldObj.createExplosion(null, posX, posY, posZ, 1.5F, true); - } - } - } + public EntityOilSpill(World p_i1775_1_, double p_i1775_2_, double p_i1775_4_, double p_i1775_6_) { + super(p_i1775_1_, p_i1775_2_, p_i1775_4_, p_i1775_6_); + } - @Override - protected void onImpact(MovingObjectPosition p_70184_1_) - { - if(this.ticksExisted > 5) { - this.setDead(); - } - } + @Override + public void onUpdate() { + super.onUpdate(); + if(!worldObj.isRemote) { + worldObj.spawnEntityInWorld(new EntityOilSpillFX(worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); + if(this.isBurning()) { + this.setDead(); + worldObj.createExplosion(null, posX, posY, posZ, 1.5F, true); + } + } + } + + @Override + protected void onImpact(MovingObjectPosition p_70184_1_) { + if(this.ticksExisted > 5) { + this.setDead(); + } + } + + @Override + public boolean writeToNBTOptional(NBTTagCompound nbt) { + return false; + } + + @Override + public void readEntityFromNBT(NBTTagCompound nbt) { + super.readEntityFromNBT(nbt); + this.setDead(); + } } diff --git a/src/main/java/com/hbm/entity/projectile/EntityRubble.java b/src/main/java/com/hbm/entity/projectile/EntityRubble.java index 82aedea6b..b19f7263b 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityRubble.java +++ b/src/main/java/com/hbm/entity/projectile/EntityRubble.java @@ -6,22 +6,15 @@ import com.hbm.packet.ParticleBurstPacket; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.block.Block; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.projectile.EntityThrowable; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; -public class EntityRubble extends EntityThrowable { +public class EntityRubble extends EntityThrowableNT { - public EntityRubble(World p_i1773_1_) + public EntityRubble(World world) { - super(p_i1773_1_); - } - - public EntityRubble(World p_i1774_1_, EntityLivingBase p_i1774_2_) - { - super(p_i1774_1_, p_i1774_2_); + super(world); } @Override @@ -30,19 +23,18 @@ public class EntityRubble extends EntityThrowable { this.dataWatcher.addObject(17, (int)Integer.valueOf(0)); } - public EntityRubble(World p_i1775_1_, double p_i1775_2_, double p_i1775_4_, double p_i1775_6_) - { - super(p_i1775_1_, p_i1775_2_, p_i1775_4_, p_i1775_6_); + public EntityRubble(World world, double x, double y, double z) { + super(world, x, y, z); } @Override - protected void onImpact(MovingObjectPosition p_70184_1_) + protected void onImpact(MovingObjectPosition mop) { - if (p_70184_1_.entityHit != null) + if (mop.entityHit != null) { byte b0 = 15; - p_70184_1_.entityHit.attackEntityFrom(ModDamageSource.rubble, b0); + mop.entityHit.attackEntityFrom(ModDamageSource.rubble, b0); } if(this.ticksExisted > 2) { @@ -55,7 +47,12 @@ public class EntityRubble extends EntityThrowable { PacketDispatcher.wrapper.sendToAllAround(new ParticleBurstPacket((int)Math.floor(posX), (int)posY, (int)Math.floor(posZ), this.dataWatcher.getWatchableObjectInt(16), this.dataWatcher.getWatchableObjectInt(17)), new TargetPoint(worldObj.provider.dimensionId, posX, posY, posZ, 50)); } } - + + @Override + protected float getAirDrag() { + return 1F; + } + public void setMetaBasedOnBlock(Block b, int i) { this.dataWatcher.updateObject(16, Block.getIdFromBlock(b)); diff --git a/src/main/java/com/hbm/entity/projectile/EntityShrapnel.java b/src/main/java/com/hbm/entity/projectile/EntityShrapnel.java index c7cc1a674..a847e7e96 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityShrapnel.java +++ b/src/main/java/com/hbm/entity/projectile/EntityShrapnel.java @@ -52,13 +52,14 @@ public class EntityShrapnel extends EntityThrowable { if(!worldObj.isRemote) this.setDead(); - if(this.dataWatcher.getWatchableObjectByte(16) == 2) { + int b = this.dataWatcher.getWatchableObjectByte(16); + if(b == 2 || b == 4) { if(!worldObj.isRemote) { if(motionY < -0.2D) { if(worldObj.getBlock(mop.blockX, mop.blockY + 1, mop.blockZ).isReplaceable(worldObj, mop.blockX, mop.blockY + 1, mop.blockZ)) - worldObj.setBlock(mop.blockX, mop.blockY + 1, mop.blockZ, ModBlocks.volcanic_lava_block); + worldObj.setBlock(mop.blockX, mop.blockY + 1, mop.blockZ, b == 2 ? ModBlocks.volcanic_lava_block : ModBlocks.rad_lava_block); for(int x = mop.blockX - 1; x <= mop.blockX + 1; x++) { for(int y = mop.blockY; y <= mop.blockY + 2; y++) { @@ -73,7 +74,7 @@ public class EntityShrapnel extends EntityThrowable { if(motionY > 0) { ExplosionNT explosion = new ExplosionNT(worldObj, null, mop.blockX + 0.5, mop.blockY + 0.5, mop.blockZ + 0.5, 7); explosion.addAttrib(ExAttrib.NODROP); - explosion.addAttrib(ExAttrib.LAVA_V); + explosion.addAttrib(b == 2 ? ExAttrib.LAVA_V : ExAttrib.LAVA_R); explosion.addAttrib(ExAttrib.NOSOUND); explosion.addAttrib(ExAttrib.ALLMOD); explosion.addAttrib(ExAttrib.NOHURT); @@ -108,6 +109,10 @@ public class EntityShrapnel extends EntityThrowable { this.dataWatcher.updateObject(16, (byte) (b ? 3 : 0)); } + public void setRadVolcano(boolean b) { + this.dataWatcher.updateObject(16, (byte) (b ? 4 : 0)); + } + @Override public boolean writeToNBTOptional(NBTTagCompound nbt) { return false; diff --git a/src/main/java/com/hbm/entity/projectile/EntityThrowableInterp.java b/src/main/java/com/hbm/entity/projectile/EntityThrowableInterp.java index 08c860a57..5c14254dd 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityThrowableInterp.java +++ b/src/main/java/com/hbm/entity/projectile/EntityThrowableInterp.java @@ -7,18 +7,18 @@ import net.minecraft.world.World; public abstract class EntityThrowableInterp extends EntityThrowableNT { - private int turnProgress; - private double syncPosX; - private double syncPosY; - private double syncPosZ; - private double syncYaw; - private double syncPitch; + protected int turnProgress; + protected double syncPosX; + protected double syncPosY; + protected double syncPosZ; + protected double syncYaw; + protected double syncPitch; @SideOnly(Side.CLIENT) - private double velocityX; + protected double velocityX; @SideOnly(Side.CLIENT) - private double velocityY; + protected double velocityY; @SideOnly(Side.CLIENT) - private double velocityZ; + protected double velocityZ; public EntityThrowableInterp(World world) { super(world); @@ -34,6 +34,9 @@ public abstract class EntityThrowableInterp extends EntityThrowableNT { if(!worldObj.isRemote) { super.onUpdate(); } else { + this.lastTickPosX = this.posX; + this.lastTickPosY = this.posY; + this.lastTickPosZ = this.posZ; if(this.turnProgress > 0) { double interpX = this.posX + (this.syncPosX - this.posX) / (double) this.turnProgress; double interpY = this.posY + (this.syncPosY - this.posY) / (double) this.turnProgress; diff --git a/src/main/java/com/hbm/entity/projectile/EntityThrowableNT.java b/src/main/java/com/hbm/entity/projectile/EntityThrowableNT.java index 40964b9d3..a96f66097 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityThrowableNT.java +++ b/src/main/java/com/hbm/entity/projectile/EntityThrowableNT.java @@ -142,9 +142,6 @@ public abstract class EntityThrowableNT extends Entity implements IProjectile { @Override public void onUpdate() { - this.lastTickPosX = this.posX; - this.lastTickPosY = this.posY; - this.lastTickPosZ = this.posZ; super.onUpdate(); if(this.throwableShake > 0) { diff --git a/src/main/java/com/hbm/entity/projectile/EntityTom.java b/src/main/java/com/hbm/entity/projectile/EntityTom.java index 7a6e56df7..c8d6854dc 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityTom.java +++ b/src/main/java/com/hbm/entity/projectile/EntityTom.java @@ -30,7 +30,7 @@ public class EntityTom extends EntityThrowable { motionY = -0.5; - if(this.worldObj.getBlock((int) this.posX, (int) this.posY, (int) this.posZ) != Blocks.air) { + if(this.worldObj.getBlock((int) this.posX, (int) this.posY, (int) this.posZ) != Blocks.air || this.posY < 10) { if(!this.worldObj.isRemote) { EntityTomBlast tom = new EntityTomBlast(worldObj); tom.posX = posX; diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java index f4a301914..30045a22e 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java @@ -12,12 +12,8 @@ import com.hbm.blocks.rail.IRailNTM.RailCheckType; import com.hbm.blocks.rail.IRailNTM.RailContext; import com.hbm.blocks.rail.IRailNTM.TrackGauge; import com.hbm.items.ModItems; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; -import com.hbm.util.Tuple.Pair; import com.hbm.util.fauxpointtwelve.BlockPos; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; @@ -56,6 +52,7 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { public double renderX; public double renderY; public double renderZ; + public double cachedSpeed; public EntityRailCarBase coupledFront; public EntityRailCarBase coupledBack; @@ -131,7 +128,7 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { data.setInteger("color", 0x0000ff); data.setFloat("scale", 1.5F); data.setString("text", id + " (#" + train.ltuIndex + ")"); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, train.posX, train.posY + 1, train.posZ), new TargetPoint(this.dimension, train.posX, train.posY + 1, train.posZ, 50)); + //PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, train.posX, train.posY + 1, train.posZ), new TargetPoint(this.dimension, train.posX, train.posY + 1, train.posZ, 50)); } } @@ -175,9 +172,20 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { this.renderX = (frontPos.xCoord + backPos.xCoord) / 2D; this.renderY = (frontPos.yCoord + backPos.yCoord) / 2D; this.renderZ = (frontPos.zCoord + backPos.zCoord) / 2D; + } else { + this.renderX = posX; + this.renderY = posY; + this.renderZ = posZ; } } else { + + if(!this.isOnRail) { + if(this.coupledFront != null) this.coupledFront.couple(this.coupledFront.getCouplingFrom(this), null); + if(this.coupledBack != null) this.coupledBack.couple(this.coupledBack.getCouplingFrom(this), null); + this.coupledFront = null; + this.coupledBack = null; + } if(this.coupledFront != null && this.coupledFront.isDead) { this.coupledFront = null; @@ -188,10 +196,20 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { if(this.ltu != null) this.ltu.dissolveTrain(); } - if(this.ltu == null && (this.coupledFront == null || this.coupledBack == null)) { + if(this.ltu == null && (this.coupledFront == null || this.coupledBack == null) && this.isOnRail) { LogicalTrainUnit.generateTrain(this); } + if(!this.isOnRail) { + Vec3 motion = Vec3.createVectorHelper(0, 0, this.cachedSpeed); + motion.rotateAroundY((float) (-this.rotationYaw * Math.PI / 180D)); + this.moveEntity(motion.xCoord, motion.yCoord - 0.04, motion.zCoord); + this.renderX = posX; + this.renderY = posY; + this.renderZ = posZ; + this.cachedSpeed *= 0.95D; + } + DummyConfig[] definitions = this.getDummies(); if(!this.initDummies) { @@ -207,7 +225,6 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { double z = posZ + rot.zCoord; dummy.setPosition(x, y, z); dummy.setSize(def.width, def.height); - dummy.velocityChanged = true; worldObj.spawnEntityInWorld(dummy); this.dummies[i] = dummy; } @@ -215,16 +232,18 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { this.initDummies = true; } - for(int i = 0; i < definitions.length; i++) { - DummyConfig def = definitions[i]; - BoundingBoxDummyEntity dummy = dummies[i]; - Vec3 rot = Vec3.createVectorHelper(def.offset.xCoord, def.offset.yCoord, def.offset.zCoord); - rot.rotateAroundX((float) (this.rotationPitch * Math.PI / 180D)); - rot.rotateAroundY((float) (-this.rotationYaw * Math.PI / 180)); - double x = renderX + rot.xCoord; - double y = renderY + rot.yCoord; - double z = renderZ + rot.zCoord; - dummy.setPosition(x, y, z); + if(renderY != 0) { + for(int i = 0; i < definitions.length; i++) { + DummyConfig def = definitions[i]; + BoundingBoxDummyEntity dummy = dummies[i]; + Vec3 rot = Vec3.createVectorHelper(def.offset.xCoord, def.offset.yCoord, def.offset.zCoord); + rot.rotateAroundX((float) (this.rotationPitch * Math.PI / 180D)); + rot.rotateAroundY((float) (-this.rotationYaw * Math.PI / 180)); + double x = renderX + rot.xCoord; + double y = renderY + rot.yCoord; + double z = renderZ + rot.zCoord; + dummy.setPosition(x, y, z); + } } } } @@ -318,6 +337,8 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { if(Math.abs(speed) < 0.001) speed = 0; + for(EntityRailCarBase car : ltu.trains) car.cachedSpeed = speed; + if(ltu.trains.length == 1) { EntityRailCarBase train = ltu.trains[0]; @@ -355,11 +376,9 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { ltu.moveTrainByApproach(speed); } - if(ltu.trains.length != 1) { - //ltu.pushForce *= 0.95; - ltu.pushForce = 0; - ltu.collideTrain(speed); - } + //ltu.pushForce *= 0.95; + ltu.pushForce = 0; + ltu.collideTrain(speed); } } @@ -388,7 +407,7 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { public void derail() { isOnRail = false; - this.setDead(); + //this.setDead(); } @SideOnly(Side.CLIENT) @@ -745,24 +764,34 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { return totalSpeed; } + /* + * This method has no rhyme or reason behind it. Nothing of this was calculated, instead it was an old system that worked with older constraints, + * which was retrofitted with a slightly newer system and beaten into submission for two consecutive hours until it yielded the results it should. + * Booleans are flipped back and forth based on seemingly random conditions, numbers are inverted and then inverted again and finally smashed into + * the rail system in the hopes that it would make trains work. My apologies extend towards Bob in the future who will inevitably have to rewrite this + * abhorrence because of some constraint change which will cause the entire system to break. Part of me wishes to never touch the train code ever again, + * to abandon the idea and to ban the annoying people on Discord who keep asking about it. Another part wants me to slam my head against this project + * until either it or my skull gives way; and considering I got this far, it appears as if this side is the one that is winning. + */ /** Determines the "front" wagon based on the movement and moves it, then moves all other wagons towards that */ public void moveTrainByApproach(double speed) { - boolean forward = speed < 0; - speed = Math.abs(speed); EntityRailCarBase previous = null; - EntityRailCarBase first = this.trains[0]; + boolean forward = speed > 0; + boolean order = forward ^ first.getCouplingFrom(null) == TrainCoupling.BACK; - for(int i = !forward ? 0 : this.trains.length - 1; !forward ? i < this.trains.length : i >= 0; i += !forward ? 1 : -1) { + for(int i = order ? 0 : this.trains.length - 1; order ? i < this.trains.length : i >= 0; i += order ? 1 : -1) { EntityRailCarBase current = this.trains[i]; if(previous == null) { + if(first == current) speed *= -1; + boolean inReverse = first.getCouplingFrom(null) == current.getCouplingFrom(null); int sigNum = inReverse ? 1 : -1; BlockPos anchor = current.getCurrentAnchorPos(); - /*Vec3 frontPos = current.getRelPosAlongRail(anchor, current.getLengthSpan(), new MoveContext(RailCheckType.FRONT)); + Vec3 frontPos = current.getRelPosAlongRail(anchor, (speed + current.getLengthSpan()) * -sigNum, new MoveContext(RailCheckType.FRONT, current.getCollisionSpan() - current.getLengthSpan())); if(frontPos == null) { current.derail(); @@ -770,43 +799,16 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { return; } else { anchor = current.getCurrentAnchorPos(); //reset origin to new position - Vec3 corePos = current.getRelPosAlongRail(anchor, speed * sigNum, new MoveContext(RailCheckType.CORE)); + Vec3 corePos = current.getRelPosAlongRail(anchor, speed * -sigNum, new MoveContext(RailCheckType.CORE, 0)); current.setPosition(corePos.xCoord, corePos.yCoord, corePos.zCoord); - Vec3 backPos = current.getRelPosAlongRail(anchor, -current.getLengthSpan(), new MoveContext(RailCheckType.BACK)); + Vec3 backPos = current.getRelPosAlongRail(anchor, (speed - current.getLengthSpan()) * -sigNum, new MoveContext(RailCheckType.BACK, current.getCollisionSpan() - current.getLengthSpan())); if(frontPos == null || backPos == null) { current.derail(); this.dissolveTrain(); return; } else { - setRenderPos(current, frontPos, backPos); - } - }*/ - - Pair[] checks; - double dist = speed * sigNum; - - if(forward) { - checks = new Pair[] { - new Pair(dist + current.getLengthSpan(), RailCheckType.FRONT), - new Pair(dist, RailCheckType.CORE), - new Pair(dist - current.getLengthSpan(), RailCheckType.BACK) - }; - } else { - checks = new Pair[] { - new Pair(dist - current.getLengthSpan(), RailCheckType.BACK), - new Pair(dist, RailCheckType.CORE), - new Pair(dist + current.getLengthSpan(), RailCheckType.FRONT) - }; - } - - double brake = 0; - - for(Pair check : checks) { - MoveContext ctx = new MoveContext(check.getValue(), current.getCollisionSpan() - current.getLengthSpan()); - current.getRelPosAlongRail(anchor, check.getKey() - (brake * Math.signum(check.getKey())), ctx); - if(ctx.collision) { - brake += ctx.overshoot; + setRenderPos(current, inReverse ? backPos : frontPos, inReverse ? frontPos : backPos); } } @@ -885,7 +887,7 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { @Override @SideOnly(Side.CLIENT) public void printHook(RenderGameOverlayEvent.Pre event, World world, int x, int y, int z) { - List text = new ArrayList(); - ILookOverlay.printGeneric(event, this.getClass().getSimpleName() + " " + this.hashCode(), 0xffff00, 0x404000, text); //none of this shit is going to work anyway + //List text = new ArrayList(); + //ILookOverlay.printGeneric(event, this.getClass().getSimpleName() + " " + this.hashCode(), 0xffff00, 0x404000, text); } } diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarCargo.java b/src/main/java/com/hbm/entity/train/EntityRailCarCargo.java index 4bf5f2ee2..65deb95b5 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarCargo.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarCargo.java @@ -22,7 +22,7 @@ public abstract class EntityRailCarCargo extends EntityRailCarBase implements II this.dataWatcher.addObject(10, new Integer(0)); } - public int countVacantSlots() { + public int countOccupiedSlots() { int slots = 0; for(int i = 0; i < this.getSizeInventory(); i++) { @@ -53,11 +53,9 @@ public abstract class EntityRailCarCargo extends EntityRailCarBase implements II this.slots[slot] = null; } - if(!this.worldObj.isRemote) this.dataWatcher.updateObject(10, this.countVacantSlots()); return itemstack; } } else { - if(!this.worldObj.isRemote) this.dataWatcher.updateObject(10, this.countVacantSlots()); return null; } } @@ -67,10 +65,8 @@ public abstract class EntityRailCarCargo extends EntityRailCarBase implements II if(this.slots[slot] != null) { ItemStack itemstack = this.slots[slot]; this.slots[slot] = null; - if(!this.worldObj.isRemote) this.dataWatcher.updateObject(10, this.countVacantSlots()); return itemstack; } else { - if(!this.worldObj.isRemote) this.dataWatcher.updateObject(10, this.countVacantSlots()); return null; } } @@ -82,8 +78,12 @@ public abstract class EntityRailCarCargo extends EntityRailCarBase implements II if(stack != null && stack.stackSize > this.getInventoryStackLimit()) { stack.stackSize = this.getInventoryStackLimit(); } - - if(!this.worldObj.isRemote) this.dataWatcher.updateObject(10, this.countVacantSlots()); + } + + @Override + public void onUpdate() { + super.onUpdate(); + if(!this.worldObj.isRemote) this.dataWatcher.updateObject(10, this.countOccupiedSlots()); } @Override @@ -142,7 +142,7 @@ public abstract class EntityRailCarCargo extends EntityRailCarBase implements II } } - this.dataWatcher.updateObject(10, this.countVacantSlots()); + this.dataWatcher.updateObject(10, this.countOccupiedSlots()); } @Override diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarElectric.java b/src/main/java/com/hbm/entity/train/EntityRailCarElectric.java index 46643b029..bf794147c 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarElectric.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarElectric.java @@ -2,7 +2,7 @@ package com.hbm.entity.train; import com.hbm.items.ModItems; -import api.hbm.energy.IBatteryItem; +import api.hbm.energymk2.IBatteryItem; import net.minecraft.item.ItemStack; import net.minecraft.world.World; diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java b/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java index da9a66f4e..5ba0a98b4 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java @@ -3,7 +3,6 @@ package com.hbm.entity.train; import java.util.ArrayList; import java.util.List; -import com.hbm.blocks.ILookOverlay; import com.hbm.main.MainRegistry; import cpw.mods.fml.relauncher.Side; @@ -291,6 +290,6 @@ public abstract class EntityRailCarRidable extends EntityRailCarCargo { text.add("Front: " + this.coupledFront); text.add("Back: " + this.coupledBack);*/ text.add("Nearest seat: " + this.getNearestSeat(MainRegistry.proxy.me())); - ILookOverlay.printGeneric(event, this.getClass().getSimpleName() + " " + this.hashCode(), 0xffff00, 0x404000, text); + //ILookOverlay.printGeneric(event, this.getClass().getSimpleName() + " " + this.hashCode(), 0xffff00, 0x404000, text); } } diff --git a/src/main/java/com/hbm/entity/train/TrainCargoTram.java b/src/main/java/com/hbm/entity/train/TrainCargoTram.java index 3b64d7679..99f2c5c05 100644 --- a/src/main/java/com/hbm/entity/train/TrainCargoTram.java +++ b/src/main/java/com/hbm/entity/train/TrainCargoTram.java @@ -7,7 +7,7 @@ import com.hbm.inventory.gui.GuiInfoContainer; import com.hbm.lib.RefStrings; import com.hbm.tileentity.IGUIProvider; -import api.hbm.energy.IBatteryItem; +import api.hbm.energymk2.IBatteryItem; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.Minecraft; diff --git a/src/main/java/com/hbm/explosion/ExplosionChaos.java b/src/main/java/com/hbm/explosion/ExplosionChaos.java index 820f3df46..ea23952ef 100644 --- a/src/main/java/com/hbm/explosion/ExplosionChaos.java +++ b/src/main/java/com/hbm/explosion/ExplosionChaos.java @@ -538,7 +538,7 @@ public class ExplosionChaos { if(entity.getDistance(x, y, z) > range) continue; - if(ArmorRegistry.hasAnyProtection(entity, 3, HazardClass.GAS_CHLORINE, HazardClass.GAS_CORROSIVE)) { + if(ArmorRegistry.hasAnyProtection(entity, 3, HazardClass.GAS_LUNG, HazardClass.GAS_BLISTERING)) { ArmorUtil.damageGasMaskFilter(entity, 1); } else { entity.addPotionEffect(new PotionEffect(Potion.blindness.getId(), 5 * 20, 0)); diff --git a/src/main/java/com/hbm/explosion/ExplosionNT.java b/src/main/java/com/hbm/explosion/ExplosionNT.java index 1f56cc251..5de3072b3 100644 --- a/src/main/java/com/hbm/explosion/ExplosionNT.java +++ b/src/main/java/com/hbm/explosion/ExplosionNT.java @@ -273,6 +273,8 @@ public class ExplosionNT extends Explosion { } } else if(has(ExAttrib.LAVA_V)) { this.worldObj.setBlock(i, j, k, ModBlocks.volcanic_lava_block); + } else if(has(ExAttrib.LAVA_R)) { + this.worldObj.setBlock(i, j, k, ModBlocks.rad_lava_block); } } } @@ -327,7 +329,8 @@ public class ExplosionNT extends Explosion { DIGAMMA, DIGAMMA_CIRCUIT, LAVA, //again the same thing but lava - LAVA_V, //again the same thing but volcaniclava + LAVA_V, //again the same thing but volcanic lava + LAVA_R, //again the same thing but radioactive lava ERRODE, //will turn select blocks into gravel or sand ALLMOD, //block placer attributes like fire are applied for all destroyed blocks ALLDROP, //miner TNT! diff --git a/src/main/java/com/hbm/explosion/ExplosionNukeAdvanced.java b/src/main/java/com/hbm/explosion/ExplosionNukeAdvanced.java index 5893488d5..6aa06d540 100644 --- a/src/main/java/com/hbm/explosion/ExplosionNukeAdvanced.java +++ b/src/main/java/com/hbm/explosion/ExplosionNukeAdvanced.java @@ -3,8 +3,7 @@ package com.hbm.explosion; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; -public class ExplosionNukeAdvanced -{ +public class ExplosionNukeAdvanced { public int posX; public int posY; public int posZ; @@ -20,7 +19,7 @@ public class ExplosionNukeAdvanced private int element; public float explosionCoefficient = 1.0F; public int type = 0; - + public void saveToNbt(NBTTagCompound nbt, String name) { nbt.setInteger(name + "posX", posX); nbt.setInteger(name + "posY", posY); @@ -37,7 +36,7 @@ public class ExplosionNukeAdvanced nbt.setFloat(name + "explosionCoefficient", explosionCoefficient); nbt.setInteger(name + "type", type); } - + public void readFromNbt(NBTTagCompound nbt, String name) { posX = nbt.getInteger(name + "posX"); posY = nbt.getInteger(name + "posY"); @@ -54,92 +53,64 @@ public class ExplosionNukeAdvanced explosionCoefficient = nbt.getFloat(name + "explosionCoefficient"); type = nbt.getInteger(name + "type"); } - - public ExplosionNukeAdvanced(int x, int y, int z, World world, int rad, float coefficient, int typ) - { + + public ExplosionNukeAdvanced(int x, int y, int z, World world, int rad, float coefficient, int typ) { this.posX = x; this.posY = y; this.posZ = z; - this.worldObj = world; - this.radius = rad; this.radius2 = this.radius * this.radius; - - this.explosionCoefficient = Math.min(Math.max((rad + coefficient * (y - 60))/(coefficient*rad), 1/coefficient),1.0f); //scale the coefficient depending on detonation height + this.explosionCoefficient = Math.min(Math.max((rad + coefficient * (y - 60)) / (coefficient * rad), 1 / coefficient), 1.0f); this.type = typ; - - this.nlimit = this.radius2 * 4; //How many total columns should be broken (radius ^ 2 is one quadrant, there are 4 quadrants) + this.nlimit = this.radius2 * 4; } - - public boolean update() - { - switch(this.type) - { - case 0: - breakColumn(this.lastposX, this.lastposZ); break; - case 1: - vapor(this.lastposX, this.lastposZ); break; - case 2: - waste(this.lastposX, this.lastposZ); break; + + public boolean update() { + switch(this.type) { + case 0: breakColumn(this.lastposX, this.lastposZ); break; + case 1: vapor(this.lastposX, this.lastposZ); break; + case 2: waste(this.lastposX, this.lastposZ); break; } - this.shell = (int) Math.floor((Math.sqrt(n) + 1) / 2); //crazy stuff I can't explain + this.shell = (int) Math.floor((Math.sqrt(n) + 1) / 2); int shell2 = this.shell * 2; this.leg = (int) Math.floor((this.n - (shell2 - 1) * (shell2 - 1)) / shell2); this.element = (this.n - (shell2 - 1) * (shell2 - 1)) - shell2 * this.leg - this.shell + 1; this.lastposX = this.leg == 0 ? this.shell : this.leg == 1 ? -this.element : this.leg == 2 ? -this.shell : this.element; this.lastposZ = this.leg == 0 ? this.element : this.leg == 1 ? this.shell : this.leg == 2 ? -this.element : -this.shell; this.n++; - return this.n > this.nlimit; //return whether we are done or not + return this.n > this.nlimit; } - private void breakColumn(int x, int z) - { - int dist = this.radius2 - (x * x + z * z); //we have two sides of the triangle (hypotenuse is radius, one leg is (x*x+z*z)) this calculates the third one - if (dist > 0) //check if any blocks have to be broken here - { - dist = (int) Math.sqrt(dist); //calculate sphere height at this (x,z) coordinate - for (int y = dist; y > -dist * this.explosionCoefficient; y--) //go from top to bottom to favor light updates - { - if(y<8){//only spare blocks that are mostly below epicenter - y-= ExplosionNukeGeneric.destruction(this.worldObj, this.posX + x, this.posY + y, this.posZ + z);//spare blocks below - }else{//don't spare blocks above epicenter + private void breakColumn(int x, int z) { + int dist = this.radius2 - (x * x + z * z); + if(dist > 0) { + dist = (int) Math.sqrt(dist); + for(int y = dist; y > -dist * this.explosionCoefficient; y--) { + if(y < 8) { + y -= ExplosionNukeGeneric.destruction(this.worldObj, this.posX + x, this.posY + y, this.posZ + z); + } else { ExplosionNukeGeneric.destruction(this.worldObj, this.posX + x, this.posY + y, this.posZ + z); } } } } - private void vapor(int x, int z) - { + private void vapor(int x, int z) { int dist = this.radius2 - (x * x + z * z); - if (dist > 0) - { + if(dist > 0) { dist = (int) Math.sqrt(dist); - //int dist0 = (int)Math.sqrt(this.radius2*0.15f - (x * x + z * z)); - for (int y = dist; y > -dist * this.explosionCoefficient; y--) - { - y-=ExplosionNukeGeneric.vaporDest(this.worldObj, this.posX + x, this.posY + y, this.posZ + z); - /* - if(dist0>0){//skip blocks already in the destruction zone: we will - if(y>=dist0 || y<=-dist0*this.explosionCoefficient){ - y-=ExplosionNukeGeneric.vaporDest(this.worldObj, this.posX + x, this.posY + y, this.posZ + z); - } - }else{ - y-=ExplosionNukeGeneric.vaporDest(this.worldObj, this.posX + x, this.posY + y, this.posZ + z); - }*/ + for(int y = dist; y > -dist * this.explosionCoefficient; y--) { + y -= ExplosionNukeGeneric.vaporDest(this.worldObj, this.posX + x, this.posY + y, this.posZ + z); } } } - private void waste(int x, int z) - { + private void waste(int x, int z) { int dist = this.radius2 - (x * x + z * z); - if (dist > 0) - { + if(dist > 0) { dist = (int) Math.sqrt(dist); - for (int y = dist; y > -dist * this.explosionCoefficient; y--) - { + for(int y = dist; y > -dist * this.explosionCoefficient; y--) { if(radius >= 95) ExplosionNukeGeneric.wasteDest(this.worldObj, this.posX + x, this.posY + y, this.posZ + z); else diff --git a/src/main/java/com/hbm/explosion/ExplosionNukeGeneric.java b/src/main/java/com/hbm/explosion/ExplosionNukeGeneric.java index c2a58d0a1..30498fe20 100644 --- a/src/main/java/com/hbm/explosion/ExplosionNukeGeneric.java +++ b/src/main/java/com/hbm/explosion/ExplosionNukeGeneric.java @@ -20,7 +20,6 @@ import net.minecraftforge.common.util.ForgeDirection; import com.hbm.blocks.ModBlocks; import com.hbm.config.VersatileConfig; -import com.hbm.entity.effect.EntityNukeCloudSmall; import com.hbm.entity.grenade.EntityGrenadeASchrab; import com.hbm.entity.grenade.EntityGrenadeNuclear; import com.hbm.entity.missile.EntityMIRV; @@ -32,7 +31,7 @@ import com.hbm.lib.Library; import com.hbm.lib.ModDamageSource; import com.hbm.util.ArmorUtil; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyHandlerMK2; import cofh.api.energy.IEnergyProvider; public class ExplosionNukeGeneric { @@ -103,7 +102,6 @@ public class ExplosionNukeGeneric { private static boolean isExplosionExempt(Entity e) { if (e instanceof EntityOcelot || - e instanceof EntityNukeCloudSmall || e instanceof EntityMIRV || e instanceof EntityGrenadeASchrab || e instanceof EntityGrenadeNuclear || @@ -427,12 +425,9 @@ public class ExplosionNukeGeneric { Block b = world.getBlock(x,y,z); TileEntity te = world.getTileEntity(x, y, z); - if (te != null && te instanceof IEnergyUser) { - - ((IEnergyUser)te).setPower(0); - - if(random.nextInt(5) < 1) - world.setBlock(x, y, z, ModBlocks.block_electrical_scrap); + if (te != null && te instanceof IEnergyHandlerMK2) { + ((IEnergyHandlerMK2)te).setPower(0); + if(random.nextInt(5) < 1) world.setBlock(x, y, z, ModBlocks.block_electrical_scrap); } if (te != null && te instanceof IEnergyProvider) { @@ -446,7 +441,7 @@ public class ExplosionNukeGeneric { if(random.nextInt(5) <= 1) world.setBlock(x, y, z, ModBlocks.block_electrical_scrap); } - if((b == ModBlocks.fusion_conductor || b == ModBlocks.fwatz_conductor || b == ModBlocks.fusion_motor || b == ModBlocks.fusion_heater || b == ModBlocks.fwatz_computer) && random.nextInt(10) == 0) + if((b == ModBlocks.fusion_conductor || b == ModBlocks.fusion_motor || b == ModBlocks.fusion_heater) && random.nextInt(10) == 0) world.setBlock(x, y, z, ModBlocks.block_electrical_scrap); } } diff --git a/src/main/java/com/hbm/explosion/ExplosionNukeRay.java b/src/main/java/com/hbm/explosion/ExplosionNukeRay.java deleted file mode 100644 index a36975d17..000000000 --- a/src/main/java/com/hbm/explosion/ExplosionNukeRay.java +++ /dev/null @@ -1,519 +0,0 @@ -package com.hbm.explosion; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.init.Blocks; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; - -public class ExplosionNukeRay { - - List affectedBlocks = new ArrayList<>(); - int posX; - int posY; - int posZ; - World world; - - int strength; - int length; - int processed; - - int gspNumMax; - int gspNum; - double gspX; - double gspY; - - public boolean isAusf3Complete = false; - - /*[[unused]] - int count; - int speed; - int startY; - int startCir; - Random rand = new Random(); - private double overrideRange = 0; - */ - - public ExplosionNukeRay(World world, int x, int y, int z, int strength, int count, int speed, int length) { - this.world = world; - this.posX = x; - this.posY = y; - this.posZ = z; - this.strength = strength; - this.length = length; - //Ausf3, must be double - //Mk 4.5, must be int32 - - // Total number of points - this.gspNumMax = (int)(2.5 * Math.PI * Math.pow(this.strength,2)); - this.gspNum = 1; - - // The beginning of the generalized spiral points - this.gspX = Math.PI; - this.gspY = 0.0; - - - /*[[unused]] - // this.startY = strength; - this.startY = 0; - this.startCir = 0; - - this.count = count; - this.speed = speed; - - //starts at around 80, becomes 8 at length 500 - this.overrideRange = Math.max((Math.log(length) * 4 - 2.5D) * 10, 0); - */ - } - - // Raise one generalized spiral points - private void generateGspUp(){ - if (this.gspNum < this.gspNumMax) { - int k = this.gspNum + 1; - double hk = -1.0 + 2.0 * (k - 1.0) / (this.gspNumMax - 1.0); - this.gspX = Math.acos(hk); - - double prev_lon = this.gspY; - double lon = prev_lon + 3.6 / Math.sqrt(this.gspNumMax) / Math.sqrt(1.0 - hk * hk); - this.gspY = lon % (Math.PI * 2); - } else { - this.gspX = 0.0; - this.gspY = 0.0; - } - this.gspNum++; - } - - // Get Cartesian coordinates for spherical coordinates - private Vec3 getSpherical2cartesian(){ - double dx = Math.sin(this.gspX) * Math.cos(this.gspY); - double dz = Math.sin(this.gspX) * Math.sin(this.gspY); - double dy = Math.cos(this.gspX); - return Vec3.createVectorHelper(dx, dy, dz); - } - - //currently used by mk4 - public void collectTipMk4_5(int count) { - - int amountProcessed = 0; - - while (this.gspNumMax >= this.gspNum){ - // Get Cartesian coordinates for spherical coordinates - Vec3 vec = this.getSpherical2cartesian(); - - int length = (int)Math.ceil(strength); - float res = strength; - FloatTriplet lastPos = null; - - for(int i = 0; i < length; i ++) { - - if(i > this.length) - break; - - float x0 = (float) (posX + (vec.xCoord * i)); - float y0 = (float) (posY + (vec.yCoord * i)); - float z0 = (float) (posZ + (vec.zCoord * i)); - - double fac = 100 - ((double) i) / ((double) length) * 100; - fac *= 0.07D; - - if(!world.getBlock((int)x0, (int)y0, (int)z0).getMaterial().isLiquid()) - res -= Math.pow(world.getBlock((int)x0, (int)y0, (int)z0).getExplosionResistance(null), 7.5D - fac); - else - res -= Math.pow(Blocks.air.getExplosionResistance(null), 7.5D - fac); - - if(res > 0 && world.getBlock((int)x0, (int)y0, (int)z0) != Blocks.air) { - lastPos = new FloatTriplet(x0, y0, z0); - } - - if(res <= 0 || i + 1 >= this.length) { - if(affectedBlocks.size() < Integer.MAX_VALUE - 100 && lastPos != null) { - affectedBlocks.add(lastPos); - } - break; - } - } - // Raise one generalized spiral points - this.generateGspUp(); - - amountProcessed++; - if(amountProcessed >= count) { - return; - } - } - isAusf3Complete = true; - } - - public void processTip(int count) { - - int processedBlocks = 0; - int braker = 0; - - for(int l = 0; l < Integer.MAX_VALUE; l++) { - - if(processedBlocks >= count) - return; - - if(braker >= count * 50) - return; - - if(l > affectedBlocks.size() - 1) - break; - - if(affectedBlocks.isEmpty()) - return; - - int in = affectedBlocks.size() - 1; - - float x = affectedBlocks.get(in).xCoord; - float y = affectedBlocks.get(in).yCoord; - float z = affectedBlocks.get(in).zCoord; - - world.setBlock((int)x, (int)y, (int)z, Blocks.air); - - Vec3 vec = Vec3.createVectorHelper(x - this.posX, y - this.posY, z - this.posZ); - double pX = vec.xCoord / vec.lengthVector(); - double pY = vec.yCoord / vec.lengthVector(); - double pZ = vec.zCoord / vec.lengthVector(); - - for(int i = 0; i < vec.lengthVector(); i ++) { - int x0 = (int)(posX + pX * i); - int y0 = (int)(posY + pY * i); - int z0 = (int)(posZ + pZ * i); - - if(!world.isAirBlock(x0, y0, z0)) { - world.setBlock(x0, y0, z0, Blocks.air); - processedBlocks++; - } - - braker++; - } - - affectedBlocks.remove(in); - } - - processed += count; - } - - /*public void processBunch(int count) { - for(int l = processed; l < processed + count; l++) { - - if(l > affectedBlocks.size() - 1) - break; - - int x = affectedBlocks.get(l).chunkPosX; - int y = affectedBlocks.get(l).chunkPosY; - int z = affectedBlocks.get(l).chunkPosZ; - - if(world.getBlock(x, y, z) != Blocks.air) - { - world.setBlock(x, y, z, Blocks.air); - } - } - - processed += count; - } - - public void collectBunch(int count) { - - for(int k = 0; k < count; k++) { - double phi = rand.nextDouble() * (Math.PI * 2); - double costheta = rand.nextDouble() * 2 - 1; - double theta = Math.acos(costheta); - double x = Math.sin( theta) * Math.cos( phi ); - double y = Math.sin( theta) * Math.sin( phi ); - double z = Math.cos( theta ); - - Vec3 vec = Vec3.createVectorHelper(x, y, z); - int length = (int)Math.ceil(strength); - - float res = strength; - - for(int i = 0; i < length; i ++) { - - if(i > this.length) - break; - - int x0 = (int)(posX + (vec.xCoord * i)); - int y0 = (int)(posY + (vec.yCoord * i)); - int z0 = (int)(posZ + (vec.zCoord * i)); - if(!world.getBlock(x0, y0, z0).getMaterial().isLiquid()) - res -= Math.pow(world.getBlock(x0, y0, z0).getExplosionResistance(null), 1.25); - else - res -= Math.pow(Blocks.air.getExplosionResistance(null), 1.25); - - if(res > 0 && world.getBlock(x0, y0, z0) != Blocks.air) { - if(affectedBlocks.size() < Integer.MAX_VALUE - 100) - affectedBlocks.add(new ChunkPosition(x0, y0, z0)); - } - } - } - }*/ -/* - @Untested //override range - public void collectTip(int count) { - - for(int k = 0; k < count; k++) { - double phi = rand.nextDouble() * (Math.PI * 2); - double costheta = rand.nextDouble() * 2 - 1; - double theta = Math.acos(costheta); - double x = Math.sin(theta) * Math.cos(phi); - double y = Math.sin(theta) * Math.sin(phi); - double z = Math.cos(theta); - - Vec3 vec = Vec3.createVectorHelper(x, y, z); - int length = (int)Math.ceil(strength); - - float res = strength; - - FloatTriplet lastPos = null; - - for(int i = 0; i < length; i ++) { - - if(i > this.length) - break; - - float x0 = (float) (posX + (vec.xCoord * i)); - float y0 = (float) (posY + (vec.yCoord * i)); - float z0 = (float) (posZ + (vec.zCoord * i)); - - if(!world.getBlock((int)x0, (int)y0, (int)z0).getMaterial().isLiquid()) - res -= Math.pow(world.getBlock((int)x0, (int)y0, (int)z0).getExplosionResistance(null), 1.25); - else - res -= Math.pow(Blocks.air.getExplosionResistance(null), 1.25); - - //Blast resistance calculations are still done to preserve the general shape, - //but if the blast were to be stopped within this range we go through with it anyway. - //There is currently no blast resistance limit on this, could change in the future. - boolean inOverrideRange = this.overrideRange >= length; - - if((res > 0 || inOverrideRange) && world.getBlock((int)x0, (int)y0, (int)z0) != Blocks.air) { - lastPos = new FloatTriplet(x0, y0, z0); - } - - - // Only stop if we are either out of range or if the remaining strength is 0 while being outside the override range - - if((res <= 0 && !inOverrideRange) || i + 1 >= this.length) { - if(affectedBlocks.size() < Integer.MAX_VALUE - 100 && lastPos != null) - affectedBlocks.add(new FloatTriplet(lastPos.xCoord, lastPos.yCoord, lastPos.zCoord)); - break; - } - } - } - } -*/ - /* - public void collectTipExperimental(int count) { - - for(int k = 0; k < count; k++) { - double phi = rand.nextDouble() * (Math.PI * 2); - double costheta = rand.nextDouble() * 2 - 1; - double theta = Math.acos(costheta); - double x = Math.sin(theta) * Math.cos(phi); - double y = Math.sin(theta) * Math.sin(phi); - double z = Math.cos(theta); - - Vec3 vec = Vec3.createVectorHelper(x, y, z); - int length = (int)Math.ceil(strength); - - float res = strength; - - FloatTriplet lastPos = null; - - for(int i = 0; i < length; i ++) { - - if(i > this.length) - break; - - float x0 = (float) (posX + (vec.xCoord * i)); - float y0 = (float) (posY + (vec.yCoord * i)); - float z0 = (float) (posZ + (vec.zCoord * i)); - - double fac = 100 - ((double) i) / ((double) length) * 100; - fac *= 0.07D; - - if(!world.getBlock((int)x0, (int)y0, (int)z0).getMaterial().isLiquid()) - res -= Math.pow(world.getBlock((int)x0, (int)y0, (int)z0).getExplosionResistance(null), 7.5D - fac); - else - res -= Math.pow(Blocks.air.getExplosionResistance(null), 7.5D - fac); - - if(res > 0 && world.getBlock((int)x0, (int)y0, (int)z0) != Blocks.air) { - lastPos = new FloatTriplet(x0, y0, z0); - } - - if(res <= 0 || i + 1 >= this.length) { - if(affectedBlocks.size() < Integer.MAX_VALUE - 100 && lastPos != null) - affectedBlocks.add(new FloatTriplet(lastPos.xCoord, lastPos.yCoord, lastPos.zCoord)); - break; - } - } - } - } - */ - /*public void collectTipAusf3(int count) { - - int amountProcessed = 0; - - //Axial - //StartY starts at this.length - for(double y = startY; y >= -strength; y -= (0.35D + ( Math.pow((strength - Math.abs(y)) / strength, 1.5D) * 0.3D))) { - - double sectionRad = Math.sqrt(Math.pow(strength, 2) - Math.pow(y, 2)); - double circumference = (1.5 * Math.PI * sectionRad + rand.nextDouble()) * (sectionRad / strength + 0.1D); - - //circumference = Math.ceil(circumference); - - //Radial - //StartCir starts at circumference - for(int r = startCir; r < circumference; r ++) { - - Vec3 vec = Vec3.createVectorHelper(sectionRad, y, 0); - vec = vec.normalize(); - if(y > 0) - vec.rotateAroundZ((float) (y / sectionRad) * 0.15F); - if(y < 0) - vec.rotateAroundZ((float) (y / sectionRad) * -0.15F); - vec.rotateAroundY((float) (360 / circumference * r)); - - int length = (int)Math.ceil(strength); - - float res = strength; - - FloatTriplet lastPos = null; - - for(int i = 0; i < length; i ++) { - - if(i > this.length) - break; - - float x0 = (float) (posX + (vec.xCoord * i)); - float y0 = (float) (posY + (vec.yCoord * i)); - float z0 = (float) (posZ + (vec.zCoord * i)); - - double fac = 100 - ((double) i) / ((double) length) * 100; - fac *= 0.07D; - - if(!world.getBlock((int)x0, (int)y0, (int)z0).getMaterial().isLiquid()) - res -= Math.pow(world.getBlock((int)x0, (int)y0, (int)z0).getExplosionResistance(null), 7.5D - fac); - else - res -= Math.pow(Blocks.air.getExplosionResistance(null), 7.5D - fac); - - if(res > 0 && world.getBlock((int)x0, (int)y0, (int)z0) != Blocks.air) { - lastPos = new FloatTriplet(x0, y0, z0); - } - - if(res <= 0 || i + 1 >= this.length) { - if(affectedBlocks.size() < Integer.MAX_VALUE - 100 && lastPos != null) { - affectedBlocks.add(new FloatTriplet(lastPos.xCoord, lastPos.yCoord, lastPos.zCoord)); - } - break; - } - } - - amountProcessed++; - - if(amountProcessed >= count) { - startY = y + 1; - startCir = startCir + 1; - return; - } - } - } - - isAusf3Complete = true; - }*/ - - //Dysfunctional, punches hole into ground - /*public void collectTipAusf3(int count) { - - int amountProcessed = 0; - - //Axial - //StartY starts at this.length - for(int y = startY; y >= -length; y--) { - - double circumference = 2 * Math.PI * Math.sqrt(Math.pow(y, 2) + Math.pow(length, 2)); - - circumference = Math.ceil(circumference); - - //Radial - //StartCir starts at circumference - for(int r = startCir; r < circumference; r ++) { - - Vec3 vec = Vec3.createVectorHelper(1, y, 0); - vec.normalize(); - vec.rotateAroundY((float) (360 / circumference * r)); - - int length = (int)Math.ceil(strength); - - float res = strength; - - FloatTriplet lastPos = null; - - for(int i = 0; i < length; i ++) { - - if(i > this.length) - break; - - float x0 = (float) (posX + (vec.xCoord * i)); - float y0 = (float) (posY + (vec.yCoord * i)); - float z0 = (float) (posZ + (vec.zCoord * i)); - - double fac = 100 - ((double) i) / ((double) length) * 100; - fac *= 0.07D; - - if(!world.getBlock((int)x0, (int)y0, (int)z0).getMaterial().isLiquid()) - res -= Math.pow(world.getBlock((int)x0, (int)y0, (int)z0).getExplosionResistance(null), 7.5D - fac); - else - res -= Math.pow(Blocks.air.getExplosionResistance(null), 7.5D - fac); - - if(res > 0 && world.getBlock((int)x0, (int)y0, (int)z0) != Blocks.air) { - lastPos = new FloatTriplet(x0, y0, z0); - } - - if(res <= 0 || i + 1 >= this.length) { - if(affectedBlocks.size() < Integer.MAX_VALUE - 100 && lastPos != null) - affectedBlocks.add(new FloatTriplet(lastPos.xCoord, lastPos.yCoord, lastPos.zCoord)); - break; - } - } - - amountProcessed++; - - if(amountProcessed >= count) { - startY = y + 1; - startCir = startCir + 1; - return; - } - } - } - - isAusf3Complete = true; - }*/ - - public void deleteStorage() { - this.affectedBlocks.clear(); - } - - public int getStoredSize() { - return this.affectedBlocks.size(); - } - - public int getProgress() { - return this.processed; - } - - public class FloatTriplet { - public float xCoord; - public float yCoord; - public float zCoord; - - public FloatTriplet(float x, float y, float z) { - xCoord = x; - yCoord = y; - zCoord = z; - } - } - -} diff --git a/src/main/java/com/hbm/explosion/ExplosionNukeRayBalefire.java b/src/main/java/com/hbm/explosion/ExplosionNukeRayBalefire.java new file mode 100644 index 000000000..39db58083 --- /dev/null +++ b/src/main/java/com/hbm/explosion/ExplosionNukeRayBalefire.java @@ -0,0 +1,23 @@ +package com.hbm.explosion; + +import com.hbm.blocks.ModBlocks; + +import net.minecraft.init.Blocks; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class ExplosionNukeRayBalefire extends ExplosionNukeRayBatched { + + public ExplosionNukeRayBalefire(World world, int x, int y, int z, int strength, int speed, int length) { + super(world, x, y, z, strength, speed, length); + } + + protected void handleTip(int x, int y, int z) { + + if(world.rand.nextInt(5) == 0 && world.getBlock(x, y - 1, z).isSideSolid(world, x, y - 1, z, ForgeDirection.UP)) { + world.setBlock(x, y, z, ModBlocks.balefire, 0, 3); + } else { + world.setBlock(x, y, z, Blocks.air, 0, 3); + } + } +} diff --git a/src/main/java/com/hbm/explosion/ExplosionNukeRayBatched.java b/src/main/java/com/hbm/explosion/ExplosionNukeRayBatched.java index 8f075876c..de45a8741 100644 --- a/src/main/java/com/hbm/explosion/ExplosionNukeRayBatched.java +++ b/src/main/java/com/hbm/explosion/ExplosionNukeRayBatched.java @@ -81,7 +81,7 @@ public class ExplosionNukeRayBatched { int amountProcessed = 0; - while (this.gspNumMax >= this.gspNum){ + while(this.gspNumMax >= this.gspNum){ // Get Cartesian coordinates for spherical coordinates Vec3 vec = this.getSpherical2cartesian(); @@ -122,15 +122,6 @@ public class ExplosionNukeRayBatched { } if(res <= 0 || i + 1 >= this.length || i == length - 1) { - - /*NBTTagCompound fx = new NBTTagCompound(); - fx.setString("type", "debugline"); - fx.setDouble("mX", vec.xCoord * i); - fx.setDouble("mY", vec.yCoord * i); - fx.setDouble("mZ", vec.zCoord * i); - fx.setInteger("color", 0xff0000); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(fx, posX, posY, posZ), new TargetPoint(world.provider.dimensionId, posX, posY, posZ, 200));*/ - break; } } @@ -180,7 +171,7 @@ public class ExplosionNukeRayBatched { int diff1 = Math.abs((chunkX - o1.chunkXPos)) + Math.abs((chunkZ - o1.chunkZPos)); int diff2 = Math.abs((chunkX - o2.chunkXPos)) + Math.abs((chunkZ - o2.chunkZPos)); - return diff1 > diff2 ? 1 : diff1 < diff2 ? -1 : 0; + return diff1 - diff2; } } @@ -191,6 +182,7 @@ public class ExplosionNukeRayBatched { ChunkCoordIntPair coord = orderedChunks.get(0); List list = perChunk.get(coord); HashSet toRem = new HashSet(); + HashSet toRemTips = new HashSet(); //List toRem = new ArrayList(); int chunkX = coord.chunkXPos; int chunkZ = coord.chunkZPos; @@ -209,6 +201,10 @@ public class ExplosionNukeRayBatched { double pX = vec.xCoord / vec.lengthVector(); double pY = vec.yCoord / vec.lengthVector(); double pZ = vec.zCoord / vec.lengthVector(); + + int tipX = (int) Math.floor(x); + int tipY = (int) Math.floor(y); + int tipZ = (int) Math.floor(z); boolean inChunk = false; for(int i = enter; i < vec.lengthVector(); i++) { @@ -227,19 +223,33 @@ public class ExplosionNukeRayBatched { inChunk = true; if(!world.isAirBlock(x0, y0, z0)) { - toRem.add(new BlockPos(x0, y0, z0)); + + BlockPos pos = new BlockPos(x0, y0, z0); + + if(x0 == tipX && y0 == tipY && z0 == tipZ) { + toRemTips.add(pos); + } + toRem.add(pos); } } } - + for(BlockPos pos : toRem) { - world.setBlock(pos.getX(), pos.getY(), pos.getZ(), Blocks.air); + if(toRemTips.contains(pos)) { + this.handleTip(pos.getX(), pos.getY(), pos.getZ()); + } else { + world.setBlock(pos.getX(), pos.getY(), pos.getZ(), Blocks.air, 0, 2); + } } perChunk.remove(coord); orderedChunks.remove(0); } + protected void handleTip(int x, int y, int z) { + world.setBlock(x, y, z, Blocks.air, 0, 3); + } + public class FloatTriplet { public float xCoord; public float yCoord; diff --git a/src/main/java/com/hbm/explosion/ExplosionNukeSmall.java b/src/main/java/com/hbm/explosion/ExplosionNukeSmall.java index 88dbdacaf..0734db2e5 100644 --- a/src/main/java/com/hbm/explosion/ExplosionNukeSmall.java +++ b/src/main/java/com/hbm/explosion/ExplosionNukeSmall.java @@ -32,14 +32,16 @@ public class ExplosionNukeSmall { if(params.shrapnelCount > 0) ExplosionLarge.spawnShrapnels(world, posX, posY, posZ, params.shrapnelCount); if(params.miniNuke && !params.safe) new ExplosionNT(world, null, posX, posY, posZ, params.blastRadius).addAllAttrib(params.explosionAttribs).overrideResolution(params.resolution).explode(); if(params.killRadius > 0) ExplosionNukeGeneric.dealDamage(world, posX, posY, posZ, params.killRadius); - if(!params.miniNuke) world.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(world, (int) params.blastRadius, posX, posY, posZ).mute()); + if(!params.miniNuke) world.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(world, (int) params.blastRadius, posX, posY, posZ)); - float radMod = params.radiationLevel / 3F; - - for(int i = -2; i <= 2; i++) { - for(int j = -2; j <= 2; j++) { - if(Math.abs(i) + Math.abs(j) < 4) { - ChunkRadiationManager.proxy.incrementRad(world, (int) Math.floor(posX + i * 16), (int) Math.floor(posY), (int) Math.floor(posZ + j * 16), 50 / (Math.abs(i) + Math.abs(j) + 1) * radMod); + if(params.miniNuke) { + float radMod = params.radiationLevel / 3F; + + for(int i = -2; i <= 2; i++) { + for(int j = -2; j <= 2; j++) { + if(Math.abs(i) + Math.abs(j) < 4) { + ChunkRadiationManager.proxy.incrementRad(world, (int) Math.floor(posX + i * 16), (int) Math.floor(posY), (int) Math.floor(posZ + j * 16), 50 / (Math.abs(i) + Math.abs(j) + 1) * radMod); + } } } } @@ -49,7 +51,7 @@ public class ExplosionNukeSmall { public static MukeParams PARAMS_TOTS = new MukeParams() {{ blastRadius = 10F; killRadius = 30F; particle = "tinytot"; shrapnelCount = 0; resolution = 32; radiationLevel = 1; }}; public static MukeParams PARAMS_LOW = new MukeParams() {{ blastRadius = 15F; killRadius = 45F; radiationLevel = 2; }}; public static MukeParams PARAMS_MEDIUM = new MukeParams() {{ blastRadius = 20F; killRadius = 55F; radiationLevel = 3; }}; - public static MukeParams PARAMS_HIGH = new MukeParams() {{ miniNuke = false; blastRadius = BombConfig.fatmanRadius; shrapnelCount = 0; radiationLevel = 4; }}; + public static MukeParams PARAMS_HIGH = new MukeParams() {{ miniNuke = false; blastRadius = BombConfig.fatmanRadius; shrapnelCount = 0; }}; /* more sensible approach with more customization options, idea shamelessly stolen from Martin */ public static class MukeParams { diff --git a/src/main/java/com/hbm/explosion/nt/IExplosionLogic.java b/src/main/java/com/hbm/explosion/nt/IExplosionLogic.java deleted file mode 100644 index 0886cb3eb..000000000 --- a/src/main/java/com/hbm/explosion/nt/IExplosionLogic.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.hbm.explosion.nt; - -@Deprecated -public interface IExplosionLogic { - - public void updateLogic(); - public boolean isDone(); -} diff --git a/src/main/java/com/hbm/explosion/nt/Mark5.java b/src/main/java/com/hbm/explosion/nt/Mark5.java deleted file mode 100644 index 16d2d5ee4..000000000 --- a/src/main/java/com/hbm/explosion/nt/Mark5.java +++ /dev/null @@ -1,282 +0,0 @@ -package com.hbm.explosion.nt; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import net.minecraft.block.Block; -import net.minecraft.init.Blocks; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; - -@Deprecated -public class Mark5 implements IExplosionLogic { - - //holds rays after being calculated up to where the blocks get removed - private List pendingRays = new ArrayList(); - //once a ray has been processed, it will be buffered for extension - private List completedRays = new ArrayList(); - //buffered blocks marked for deletion - private Set buffer = new HashSet(); - - private World world; - private float strength; - float originX; - float originY; - float originZ; - float angularDelta; - - //0: calculate blocks to destroy - //1: destroy blocks - //2: generate new rays - int phase = 0; - - public Mark5(World world, float strength, float x, float y, float z) { - this.world = world; - this.strength = strength; - this.originX = x; - this.originY = y; - this.originZ = z; - - this.initRays(); - } - - private void initRays() { - - float startLen = 0.5F; - - //top - pendingRays.add(new MVRay(strength, originX, originY, originZ, 0F, (float) Math.PI * 0.5F, startLen)); - //bottom - pendingRays.add(new MVRay(strength, originX, originY, originZ, 0F, -(float) Math.PI * 0.5F, startLen)); - - float pilet = (float) Math.PI * 0.25F; - - for(int i = 0; i < 8; i++) { - pendingRays.add(new MVRay(strength, originX, originY, originZ, pilet * i, 0F, startLen)); - - {//if(i % 2 == 0) { - pendingRays.add(new MVRay(strength, originX, originY, originZ, pilet * i, -pilet, startLen)); - pendingRays.add(new MVRay(strength, originX, originY, originZ, pilet * i, pilet, startLen)); - } - } - - this.angularDelta = pilet; - } - - @Override - public void updateLogic() { - - switch(this.phase) { - case 0: processRays(5000); break; - case 1: breakBlocks(10000); break; - case 2: repopulate(20000); break; - } - } - - private void processRays(int amount) { - - if(this.phase == 0 && this.pendingRays.isEmpty()) { - this.phase = 1; - return; - } - - int rem = 0; - - for(MVRay ray : this.pendingRays) { - - Vec3 vec = Vec3.createVectorHelper(1, 0, 0); - vec.rotateAroundZ(ray.pitch); - vec.rotateAroundY(ray.yaw); - boolean shouldSplit = true; - float lastIndex = 0; - - for(float i = 0; i < ray.length; i += 0.5F) { - - lastIndex = i; - int x = (int)Math.floor(ray.x + vec.xCoord * i); - int y = (int)Math.floor(ray.y + vec.yCoord * i); - int z = (int)Math.floor(ray.z + vec.zCoord * i); - - BlockPos pos = new BlockPos(x, y, z); - - if(y > 255 || y < 0) { - shouldSplit = false; - break; - } - - Block b = world.getBlock(x, y, z); - - float res = (b.getMaterial().isLiquid() ? 0 : b.getExplosionResistance(null)) + Blocks.air.getExplosionResistance(null); - - ray.power -= (res * res); - - if(ray.power <= 0) { - shouldSplit = false; - break; - } - - if(b != Blocks.air) - this.buffer.add(pos); - } - - if(shouldSplit) { - ray.x = ray.x + (float)vec.xCoord * lastIndex; - ray.y = ray.y + (float)vec.yCoord * lastIndex; - ray.z = ray.z + (float)vec.zCoord * lastIndex; - this.completedRays.add(ray); - } - - rem++; - - if(rem == amount) - break; - } - - this.pendingRays.subList(0, rem).clear(); - - if(this.pendingRays.isEmpty()) { - this.phase = 1; - } - } - - private void breakBlocks(int amount) { - - if(this.phase == 1 && this.buffer.isEmpty()) { - this.angularDelta *= 0.5F; - this.phase = 2; - return; - } - - int rem = 0; - - List toRem = new ArrayList(); - - for(BlockPos pos : this.buffer) { - world.setBlock(pos.x, pos.y, pos.z, Blocks.air, 0, 3); - - toRem.add(pos); - rem++; - - if(rem == amount) - break; - } - - this.buffer.removeAll(toRem); - - if(this.buffer.isEmpty()) { - this.angularDelta *= 0.5F; - this.phase = 2; - } - } - - private void repopulate(int amount) { - - if(this.phase == 2 && this.completedRays.isEmpty()) { - this.phase = 0; - } - - int rem = 0; - - for(MVRay ray : this.completedRays) { - - for(int i = 0; i < 2; i++) { - for(int j = 0; j < 2; j++) { - MVRay child = new MVRay(ray.power, ray.x, ray.y, ray.z, ray.yaw + this.angularDelta * i, ray.pitch + this.angularDelta * j, ray.length * 2); - this.pendingRays.add(child); - } - } - - rem++; - - if(rem == amount) - break; - } - - this.completedRays.subList(0, rem).clear(); - } - - @Override - public boolean isDone() { - return this.pendingRays.isEmpty() && this.completedRays.isEmpty() && this.buffer.isEmpty(); - } - - public static class MVRay { - - //initiated with starting power, once processed it shows the power left - float power; - //once calculated, this becomes true - boolean collected = false; - float x; - float y; - float z; - float yaw; - float pitch; - float length; - - public MVRay(float power, float x, float y, float z, float yaw, float pitch, float length) { - this.power = power; - this.x = x; - this.y = y; - this.z = z; - this.yaw = yaw; - this.pitch = pitch; - this.length = length; - } - - public MVRay(float power, float x, float y, float z, Vec3 dir, float length) { - - double len = dir.lengthVector(); - - float yaw = (float)Math.atan2(dir.zCoord, dir.xCoord); - float pitch = (float)Math.asin(dir.yCoord / len); - - this.power = power; - this.x = x; - this.y = y; - this.z = z; - this.yaw = yaw; - this.pitch = pitch; - this.length = length; - } - } - - public static class BlockPos { - - int x; - int y; - int z; - - public BlockPos(int x, int y, int z) { - this.x = x; - this.y = y; - this.z = z; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + x; - result = prime * result + y; - result = prime * result + z; - return result; - } - - @Override - public boolean equals(Object obj) { - - if(this == obj) return true; - if(obj == null) return false; - if(getClass() != obj.getClass()) return false; - - BlockPos other = (BlockPos) obj; - if(x != other.x) return false; - if(y != other.y) return false; - if(z != other.z) return false; - - return true; - } - } -} \ No newline at end of file diff --git a/src/main/java/com/hbm/explosion/nt/Mark5Ausf2.java b/src/main/java/com/hbm/explosion/nt/Mark5Ausf2.java deleted file mode 100644 index 7c2d60e31..000000000 --- a/src/main/java/com/hbm/explosion/nt/Mark5Ausf2.java +++ /dev/null @@ -1,447 +0,0 @@ -package com.hbm.explosion.nt; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import net.minecraft.block.Block; -import net.minecraft.init.Blocks; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; - -/* - * Turns out segmenting makes the craters ugly and, for whatever reason, doesn't actually improve performance (??????) - * Ausf3 will use the same approach as MK4 but with some optimizations regarding setBlock redundancy and getBlock operations - * See: docvt7 - */ -@Deprecated -public class Mark5Ausf2 implements IExplosionLogic { - - //holds rays after being calculated up to where the blocks get removed - private HorizontalSegment[] segments; - private HorizontalSegment[] repopulatedSegments; - //buffered blocks marked for deletion - private Set buffer = new HashSet(); - - private World world; - private float strength; - float originX; - float originY; - float originZ; - float length; - - //0: calculate blocks to destroy - //1: destroy blocks - //2: generate new rays - int phase = 0; - - public Mark5Ausf2(World world, float strength, float x, float y, float z) { - this.world = world; - this.strength = strength; - this.originX = x; - this.originY = y; - this.originZ = z; - - this.initRays(); - } - - private double getResolutionMult() { - return 5D; - } - - private void initRays() { - - this.length = 5F; //how long the current rays are - - double bow = length * Math.PI; //one "bow", the distance between the poles along the circumference ( U/2 ) - int bowCount = (int) Math.ceil(bow * getResolutionMult()); //how many segments we want along one bow, usually 1 per block + a resolution multiplier - double bowDelta = (Math.PI / (double) (bowCount - 1)); //the angular difference (pitch) between where each segment is - - segments = new HorizontalSegment[bowCount]; - - for(int i = 0; i < bowCount; i++) { - double currBow = bowDelta * i; //the current angle along the bow (i.e. the pitch of the horizontal ring) - double ringRadius = Math.sin(currBow) * length; //the radius of the current ring - double ringCircumference = 2D * ringRadius * Math.PI; //the circumference for the ring - int ringCount = (int) Math.max(Math.ceil(ringCircumference * getResolutionMult()), 1); //how many rays we want per ring (1 per block plus extra resolution) - double ringDelta = ((Math.PI * 2D) / (double) (ringCount - 1)); //the angular difference (yaw) between rays in a ring - - HorizontalSegment seg = new HorizontalSegment(ringCount); - float pitch = (float) currBow; - - for(int j = 0; j < ringCount; j++) { - float yaw = (float)(ringDelta * j); - - //if(yaw < Math.PI * 0.5 && pitch < Math.PI) - seg.rays[j] = new MVRay(strength, originX, originY, originZ, yaw, pitch, length); - } - - segments[i] = seg; - } - - /*System.out.println("Initialized with" + segments.length + " segments!"); - - for(HorizontalSegment seg : segments) { - - if(seg == null) { - System.out.println("NULL"); - } else { - System.out.println(seg.rays.length); - } - }*/ - } - - @Override - public void updateLogic() { - - switch(this.phase) { - case 0: processRays(50000); break; - case 1: breakBlocks(2000); break; - case 2: repopulate(); break; - } - } - - private int processBow = 0; - private int processRing = 0; - - private void endPhaseZero() { - this.processBow = 0; - this.processRing = 0; - this.phase = 1; - } - - private void processRays(int amount) { - - while(true) { - - if(amount < 0) { - return; - } - - if(this.segments[processBow] == null || this.processRing >= this.segments[processBow].rays.length) { - this.processRing = 0; - this.processBow++; - - if(this.processBow >= this.segments.length) { - endPhaseZero(); - return; - } - continue; - } - - if(this.processBow >= this.segments.length) { - endPhaseZero(); - return; - } - - MVRay ray = this.segments[processBow].rays[this.processRing]; - - if(ray != null) { - - Vec3 vec = Vec3.createVectorHelper(1, 0, 0); - vec.rotateAroundZ(ray.pitch); - vec.rotateAroundY(ray.yaw); - - double finalX = 0; - double finalY = 0; - double finalZ = 0; - - for(float i = 0; i < ray.length; i += 0.5F) { - - finalX = ray.x + vec.xCoord * i; - finalY = ray.y + vec.yCoord * i; - finalZ = ray.z + vec.zCoord * i; - int x = (int)Math.floor(finalX); - int y = (int)Math.floor(finalY); - int z = (int)Math.floor(finalZ); - - //System.out.println(ray.pitch + " " + ray.yaw + " / " + x + " " + y + " " + z); - - BlockPos pos = new BlockPos(x, y, z); - - if(y > 255 || y < 0) { - break; - } - - Block b = world.getBlock(x, y, z); - - float res = (b.getMaterial().isLiquid() ? (float)Math.pow(Blocks.air.getExplosionResistance(null), 1.25) : (float)Math.pow(b.getExplosionResistance(null), 1.25)); - - ray.power -= res; - - if(ray.power <= 0) { - break; - } - - if(b != Blocks.air) - this.buffer.add(pos); - } - - if(ray.power <= 0 || finalY < 0 || finalY > 255 || this.length > this.strength) { - this.segments[processBow].rays[this.processRing] = null; - } - ray.x = (float) finalX; - ray.y = (float) finalY; - ray.z = (float) finalZ; - } - - amount--; - this.processRing++; - } - } - - private void breakBlocks(int amount) { - - if(this.phase == 1 && this.buffer.isEmpty()) { - this.phase = 2; - return; - } - - int rem = 0; - - List toRem = new ArrayList(); - - for(BlockPos pos : this.buffer) { - world.setBlock(pos.x, pos.y, pos.z, Blocks.air, 0, 3); - - toRem.add(pos); - rem++; - - if(rem == amount) - break; - } - - this.buffer.removeAll(toRem); - - if(this.buffer.isEmpty()) { - this.phase = 2; - } - } - - private void repopulate() { - - boolean didYouDoLiterallyAnything = false; - this.length *= 2; - - double bow = length * Math.PI; - int bowCount = (int) Math.ceil(bow * getResolutionMult()); - double bowDelta = (Math.PI / (double) (bowCount - 1)); - - repopulatedSegments = new HorizontalSegment[bowCount]; - - for(int i = 0; i < bowCount; i++) { - - double currBow = bowDelta * i; - double ringRadius = Math.sin(currBow) * length; - double ringCircumference = 2D * ringRadius * Math.PI; - int ringCount = (int) Math.max(Math.ceil(ringCircumference * getResolutionMult()), 1); - double ringDelta = ((Math.PI * 2D) / (double) (ringCount - 1)); - - float pitch = (float) currBow; - HorizontalSegment parentSegment = fromAngle(pitch); - - if(parentSegment != null) { - - HorizontalSegment seg = new HorizontalSegment(ringCount); - - for(int j = 0; j < ringCount; j++) { - float yaw = (float)(ringDelta * j); - - MVRay parentRay = parentSegment.fromAngle(yaw); - - if(parentRay != null && parentRay.power > 0) { - - /*Vec3 newDest = Vec3.createVectorHelper(length, 0D, 0D); - newDest.rotateAroundZ(pitch); - newDest.rotateAroundY(yaw); - Vec3 delta = Vec3.createVectorHelper(newDest.xCoord - parentRay.x, newDest.yCoord - parentRay.y, newDest.zCoord - parentRay.z); - - double deltaLen = delta.lengthVector(); - float pLen = parentRay.length; - - double s_deltaLen = Math.sqrt(delta.xCoord * delta.xCoord + delta.yCoord * delta.yCoord); - double s_alpha0 = parentRay.pitch; - double s_delta = Math.acos((pLen * pLen + s_deltaLen * s_deltaLen - length * length) / (2 * pLen * s_deltaLen)); - double newPitch = s_alpha0 + (Math.PI - s_delta); - - double r_deltaLen = Math.sqrt(delta.xCoord * delta.xCoord + delta.zCoord * delta.zCoord); - double r_alpha0 = parentRay.yaw; - double r_delta = Math.acos((pLen * pLen + r_deltaLen * r_deltaLen - length * length) / (2 * pLen * r_deltaLen)); - double newYaw = r_alpha0 + (Math.PI - r_delta);*/ - - /*System.out.println("deltaLen: " + deltaLen); - System.out.println("pLen: " + pLen); - System.out.println("s_deltaLen: " + s_deltaLen); - System.out.println("s_alpha0: " + s_alpha0); - System.out.println("s_delta: " + s_delta); - System.out.println("newPitch: " + newPitch); - System.out.println("r_deltaLen: " + r_deltaLen); - System.out.println("r_alpha0: " + r_alpha0); - System.out.println("r_delta: " + r_delta); - System.out.println("newYaw: " + newYaw);*/ - /*System.out.println("(pLen * pLen + s_deltaLen * s_deltaLen - length * length) / (2 * pLen * s_deltaLen)"); - System.out.println("" + (pLen * pLen + s_deltaLen * s_deltaLen - length * length) / (2 * pLen * s_deltaLen)); - System.out.println("(pLen * pLen + r_deltaLen * r_deltaLen - length * length) / (2 * pLen * r_deltaLen)"); - System.out.println("" + (pLen * pLen + r_deltaLen * r_deltaLen - length * length) / (2 * pLen * r_deltaLen));*/ - - Vec3 len = Vec3.createVectorHelper(parentRay.x - originX, parentRay.y - originY, parentRay.z - originZ); - double totalLen = len.lengthVector(); - Vec3 normal = Vec3.createVectorHelper(totalLen, 0D, 0D); - normal.rotateAroundZ(pitch); - normal.rotateAroundY(yaw); - - //double surface = 4 * Math.PI * this.length * this.length; - //double prevSurface = 4 * Math.PI * totalLen * totalLen; - float newPower = parentRay.power; - - MVRay newRay = new MVRay(newPower, - (float)(this.originX - normal.xCoord), - (float)(this.originY - normal.yCoord), - (float)(this.originZ - normal.zCoord), - yaw, pitch, (float) (this.length - totalLen)); - - seg.rays[j] = newRay; - repopulatedSegments[i] = seg; - didYouDoLiterallyAnything = true; - } - } - } - } - - this.segments = this.repopulatedSegments; - this.repopulatedSegments = null; - - - /*for(HorizontalSegment seg : segments) { - - if(seg == null) { - System.out.println("NULL"); - } else { - System.out.println(seg.rays.length); - } - } - System.out.println("STOP");*/ - - this.phase = 0; - - if(!didYouDoLiterallyAnything) { - this.isDone = true; - } - } - - private HorizontalSegment fromAngle(float pitch) { - int size = this.segments.length; - int index = (int)Math.floor((pitch * size) / Math.PI) % this.segments.length; - - if(index >= this.segments.length || index < 0) - return null; - - return this.segments[index]; - } - - private boolean isDone = false; - - @Override - public boolean isDone() { - return isDone; - } - - public static class HorizontalSegment { - - MVRay[] rays; - - private HorizontalSegment(int size) { - rays = new MVRay[size]; - } - - private MVRay fromAngle(float yaw) { - int size = rays.length; - int index = (int)Math.floor((yaw * size) / (Math.PI * 2)) % this.rays.length; - - if(index >= this.rays.length || index < 0) - return null; - - return rays[index]; - } - } - - public static class MVRay { - - //initiated with starting power, once processed it shows the power left - float power; - //once calculated, this becomes true - boolean collected = false; - float x; - float y; - float z; - float yaw; - float pitch; - float length; - boolean tracked; - - public MVRay(float power, float x, float y, float z, float yaw, float pitch, float length) { - this.power = power; - this.x = x; - this.y = y; - this.z = z; - this.yaw = yaw; - this.pitch = pitch; - this.length = length; - } - - public MVRay(float power, float x, float y, float z, Vec3 dir, float length) { - - double len = dir.lengthVector(); - - float yaw = (float)Math.atan2(dir.zCoord, dir.xCoord); - float pitch = (float)Math.asin(dir.yCoord / len); - - this.power = power; - this.x = x; - this.y = y; - this.z = z; - this.yaw = yaw; - this.pitch = pitch; - this.length = length; - } - } - - public static class BlockPos { - - int x; - int y; - int z; - - public BlockPos(int x, int y, int z) { - this.x = x; - this.y = y; - this.z = z; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + x; - result = prime * result + y; - result = prime * result + z; - return result; - } - - @Override - public boolean equals(Object obj) { - - if(this == obj) return true; - if(obj == null) return false; - if(getClass() != obj.getClass()) return false; - - BlockPos other = (BlockPos) obj; - if(x != other.x) return false; - if(y != other.y) return false; - if(z != other.z) return false; - - return true; - } - } -} diff --git a/src/main/java/com/hbm/explosion/vanillant/standard/BlockAllocatorGlyphidDig.java b/src/main/java/com/hbm/explosion/vanillant/standard/BlockAllocatorGlyphidDig.java new file mode 100644 index 000000000..98adec4a4 --- /dev/null +++ b/src/main/java/com/hbm/explosion/vanillant/standard/BlockAllocatorGlyphidDig.java @@ -0,0 +1,89 @@ +package com.hbm.explosion.vanillant.standard; + +import com.hbm.blocks.ModBlocks; +import com.hbm.explosion.vanillant.ExplosionVNT; +import com.hbm.explosion.vanillant.interfaces.IBlockAllocator; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.util.MathHelper; +import net.minecraft.world.ChunkPosition; +import net.minecraft.world.World; + +import java.util.HashSet; + +public class BlockAllocatorGlyphidDig implements IBlockAllocator { + + protected double maximum; + protected int resolution; + + public BlockAllocatorGlyphidDig(double maximum) { + this(maximum, 16); + } + + public BlockAllocatorGlyphidDig(double maximum, int resolution) { + this.resolution = resolution; + this.maximum = maximum; + } + + @Override + public HashSet allocate(ExplosionVNT explosion, World world, double x, double y, double z, float size) { + + HashSet affectedBlocks = new HashSet(); + + for(int i = 0; i < this.resolution; ++i) { + for(int j = 0; j < this.resolution; ++j) { + for(int k = 0; k < this.resolution; ++k) { + + if(i == 0 || i == this.resolution - 1 || j == 0 || j == this.resolution - 1 || k == 0 || k == this.resolution - 1) { + + double d0 = (double) ((float) i / ((float) this.resolution - 1.0F) * 2.0F - 1.0F); + double d1 = (double) ((float) j / ((float) this.resolution - 1.0F) * 2.0F - 1.0F); + double d2 = (double) ((float) k / ((float) this.resolution - 1.0F) * 2.0F - 1.0F); + double d3 = Math.sqrt(d0 * d0 + d1 * d1 + d2 * d2); + + d0 /= d3; + d1 /= d3; + d2 /= d3; + + double currentX = x; + double currentY = y; + double currentZ = z; + + double dist = 0; + + for(float stepSize = 0.3F; dist <= explosion.size;) { + + double deltaX = currentX - x; + double deltaY = currentY - y; + double deltaZ = currentZ - z; + dist = Math.sqrt(deltaX * deltaX + deltaY * deltaY + deltaZ * deltaZ); + + int blockX = MathHelper.floor_double(currentX); + int blockY = MathHelper.floor_double(currentY); + int blockZ = MathHelper.floor_double(currentZ); + + Block block = world.getBlock(blockX, blockY, blockZ); + + if(block.getMaterial() != Material.air) { + float blockResistance = explosion.exploder != null ? explosion.exploder.func_145772_a(explosion.compat, world, blockX, blockY, blockZ, block) : block.getExplosionResistance(explosion.exploder, world, blockX, blockY, blockZ, x, y, z); + if(this.maximum < blockResistance || block == ModBlocks.glyphid_spawner) { + break; + } + } + + if(explosion.exploder == null || explosion.exploder.func_145774_a(explosion.compat, world, blockX, blockY, blockZ, block, explosion.size)) { + affectedBlocks.add(new ChunkPosition(blockX, blockY, blockZ)); + } + + currentX += d0 * (double) stepSize; + currentY += d1 * (double) stepSize; + currentZ += d2 * (double) stepSize; + } + } + } + } + } + + return affectedBlocks; + } +} diff --git a/src/main/java/com/hbm/extprop/HbmPlayerProps.java b/src/main/java/com/hbm/extprop/HbmPlayerProps.java index f51905229..b1dfbd74d 100644 --- a/src/main/java/com/hbm/extprop/HbmPlayerProps.java +++ b/src/main/java/com/hbm/extprop/HbmPlayerProps.java @@ -1,13 +1,16 @@ package com.hbm.extprop; import com.hbm.entity.train.EntityRailCarBase; +import com.hbm.handler.ArmorModHandler; import com.hbm.handler.HbmKeybinds.EnumKeybind; +import com.hbm.items.armor.ItemModShield; import com.hbm.main.MainRegistry; import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; @@ -43,6 +46,8 @@ public class HbmPlayerProps implements IExtendedEntityProperties { public int reputation; + public boolean isOnLadder = false; + public HbmPlayerProps(EntityPlayer player) { this.player = player; } @@ -142,8 +147,19 @@ public class HbmPlayerProps implements IExtendedEntityProperties { } } - public float getMaxShield() { - return this.maxShield; + public float getEffectiveMaxShield() { + + float max = this.maxShield; + + if(player.getCurrentArmor(2) != null) { + ItemStack[] mods = ArmorModHandler.pryMods(player.getCurrentArmor(2)); + if(mods[ArmorModHandler.kevlar] != null && mods[ArmorModHandler.kevlar].getItem() instanceof ItemModShield) { + ItemModShield mod = (ItemModShield) mods[ArmorModHandler.kevlar].getItem(); + max += mod.shield; + } + } + + return max; } @Override @@ -153,13 +169,14 @@ public class HbmPlayerProps implements IExtendedEntityProperties { public void saveNBTData(NBTTagCompound nbt) { NBTTagCompound props = new NBTTagCompound(); - + props.setBoolean("hasReceivedBook", hasReceivedBook); props.setFloat("shield", shield); props.setFloat("maxShield", maxShield); props.setBoolean("enableBackpack", enableBackpack); props.setBoolean("enableHUD", enableHUD); props.setInteger("reputation", reputation); + props.setBoolean("isOnLadder", isOnLadder); nbt.setTag("HbmPlayerProps", props); } @@ -176,6 +193,7 @@ public class HbmPlayerProps implements IExtendedEntityProperties { this.enableBackpack = props.getBoolean("enableBackpack"); this.enableHUD = props.getBoolean("enableHUD"); this.reputation = props.getInteger("reputation"); + this.isOnLadder = props.getBoolean("isOnLadder"); } } } diff --git a/src/main/java/com/hbm/handler/BobmazonOfferFactory.java b/src/main/java/com/hbm/handler/BobmazonOfferFactory.java index 80f7ca4a2..28b1d3d9a 100644 --- a/src/main/java/com/hbm/handler/BobmazonOfferFactory.java +++ b/src/main/java/com/hbm/handler/BobmazonOfferFactory.java @@ -285,8 +285,6 @@ public class BobmazonOfferFactory { ModItems.ammo_5mm.stackFromEnum(64, Ammo5mm.STAR), ModItems.ammo_5mm.stackFromEnum(64, Ammo5mm.STAR) ).setStackDisplayName("Frenchman's Reward"), Requirement.HIDDEN, 32)); - - special.add(new Offer(new ItemStack(ModItems.gun_detonator, 1), Requirement.HIDDEN, 32)); } public static List getOffers(ItemStack stack) { diff --git a/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java b/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java index 3c2c2e7a3..29aaf510e 100644 --- a/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java +++ b/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java @@ -9,7 +9,7 @@ import com.hbm.items.ModItems; public class BulletConfigSyncingUtil { - private static HashMap configSet = new HashMap(); + private static HashMap configSet = new HashMap(); static int i = 0; diff --git a/src/main/java/com/hbm/handler/CasingEjector.java b/src/main/java/com/hbm/handler/CasingEjector.java index 72ec13a3a..eda29d1a0 100644 --- a/src/main/java/com/hbm/handler/CasingEjector.java +++ b/src/main/java/com/hbm/handler/CasingEjector.java @@ -23,7 +23,7 @@ import net.minecraft.world.World; */ public class CasingEjector implements Cloneable { - public static HashMap mappings = new HashMap(); + public static HashMap mappings = new HashMap(); public static final Random rand = new Random(); private int id; @@ -127,20 +127,17 @@ public class CasingEjector implements Cloneable { } private static Vec3 rotateVector(Vec3 vector, float pitch, float yaw, float pitchFactor, float yawFactor) { - // Apply randomness to vector - vector.xCoord += rand.nextGaussian() * yawFactor; - vector.yCoord += rand.nextGaussian() * pitchFactor; - vector.zCoord += rand.nextGaussian() * yawFactor; final Matrix4f pitchMatrix = new Matrix4f(), yawMatrix = new Matrix4f(); pitchMatrix.setIdentity(); - pitchMatrix.rotate(-pitch, new Vector3f(1, 0, 0)); + pitchMatrix.rotate(pitch, new Vector3f(1, 0, 0)); yawMatrix.setIdentity(); yawMatrix.rotate(-yaw, new Vector3f(0, 1, 0)); - - final Vector4f vector4f = new Vector4f((float) vector.xCoord, (float) vector.yCoord, (float) vector.zCoord, 1); + + // Apply randomness to vector + final Vector4f vector4f = new Vector4f((float) (vector.xCoord + rand.nextGaussian() * yawFactor), (float) (vector.yCoord + rand.nextGaussian() * pitchFactor), (float) (vector.zCoord + rand.nextGaussian() * yawFactor), 1); Matrix4f.transform(pitchMatrix, vector4f, vector4f); Matrix4f.transform(yawMatrix, vector4f, vector4f); diff --git a/src/main/java/com/hbm/handler/EntityEffectHandler.java b/src/main/java/com/hbm/handler/EntityEffectHandler.java index c38cf5755..86b640a72 100644 --- a/src/main/java/com/hbm/handler/EntityEffectHandler.java +++ b/src/main/java/com/hbm/handler/EntityEffectHandler.java @@ -7,6 +7,7 @@ import java.util.Random; import com.hbm.config.BombConfig; import com.hbm.config.GeneralConfig; import com.hbm.config.RadiationConfig; +import com.hbm.config.WorldConfig; import com.hbm.explosion.ExplosionNukeSmall; import com.hbm.extprop.HbmLivingProps; import com.hbm.extprop.HbmPlayerProps; @@ -30,6 +31,7 @@ import com.hbm.util.ContaminationUtil; import com.hbm.util.ArmorRegistry.HazardClass; import com.hbm.util.ContaminationUtil.ContaminationType; import com.hbm.util.ContaminationUtil.HazardType; +import com.hbm.world.biome.BiomeGenCraterBase; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.block.Block; @@ -48,6 +50,7 @@ import net.minecraft.potion.PotionEffect; import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraft.world.World; +import net.minecraft.world.biome.BiomeGenBase; public class EntityEffectHandler { @@ -57,19 +60,30 @@ public class EntityEffectHandler { HbmLivingProps.setRadBuf(entity, HbmLivingProps.getRadEnv(entity)); HbmLivingProps.setRadEnv(entity, 0); } + + if(entity instanceof EntityPlayer && entity == MainRegistry.proxy.me()) { + EntityPlayer player = MainRegistry.proxy.me(); + if(player != null) { + BiomeGenBase biome = player.worldObj.getBiomeGenForCoords((int) Math.floor(player.posX), (int) Math.floor(player.posZ)); + if(biome == BiomeGenCraterBase.craterBiome || biome == BiomeGenCraterBase.craterInnerBiome) { + Random rand = player.getRNG(); + for(int i = 0; i < 3; i++) player.worldObj.spawnParticle("townaura", player.posX + rand.nextGaussian() * 3, player.posY + rand.nextGaussian() * 2, player.posZ + rand.nextGaussian() * 3, 0, 0, 0); + } + } + } if(entity instanceof EntityPlayerMP) { HbmLivingProps props = HbmLivingProps.getData(entity); HbmPlayerProps pprps = HbmPlayerProps.getData((EntityPlayerMP) entity); NBTTagCompound data = new NBTTagCompound(); - if(pprps.shield < pprps.maxShield && entity.ticksExisted > pprps.lastDamage + 60) { + if(pprps.shield < pprps.getEffectiveMaxShield() && entity.ticksExisted > pprps.lastDamage + 60) { int tsd = entity.ticksExisted - (pprps.lastDamage + 60); - pprps.shield += Math.min(pprps.maxShield - pprps.shield, 0.005F * tsd); + pprps.shield += Math.min(pprps.getEffectiveMaxShield() - pprps.shield, 0.005F * tsd); } - if(pprps.shield > pprps.maxShield) - pprps.shield = pprps.maxShield; + if(pprps.shield > pprps.getEffectiveMaxShield()) + pprps.shield = pprps.getEffectiveMaxShield(); props.saveNBTData(data); pprps.saveNBTData(data); @@ -89,6 +103,18 @@ public class EntityEffectHandler { if(GeneralConfig.enable528 && entity instanceof EntityLivingBase && !entity.isImmuneToFire() && entity.worldObj.provider.isHellWorld) { entity.setFire(5); } + + BiomeGenBase biome = entity.worldObj.getBiomeGenForCoords((int) Math.floor(entity.posX), (int) Math.floor(entity.posZ)); + float radiation = 0; + if(biome == BiomeGenCraterBase.craterOuterBiome) radiation = WorldConfig.craterBiomeOuterRad; + if(biome == BiomeGenCraterBase.craterBiome) radiation = WorldConfig.craterBiomeRad; + if(biome == BiomeGenCraterBase.craterInnerBiome) radiation = WorldConfig.craterBiomeInnerRad; + + if(entity.isWet()) radiation *= WorldConfig.craterBiomeWaterMult; + + if(radiation > 0) { + ContaminationUtil.contaminate(entity, HazardType.RADIATION, ContaminationType.CREATIVE, radiation / 20F); + } } handleContamination(entity); @@ -102,6 +128,51 @@ public class EntityEffectHandler { handleDashing(entity); handlePlinking(entity); + + if(entity instanceof EntityPlayer) handleFauxLadder((EntityPlayer) entity); + } + + private static void handleFauxLadder(EntityPlayer player) { + + HbmPlayerProps props = HbmPlayerProps.getData(player); + + if(props.isOnLadder) { + float f5 = 0.15F; + + if(player.motionX < (double) (-f5)) { + player.motionX = (double) (-f5); + } + + if(player.motionX > (double) f5) { + player.motionX = (double) f5; + } + + if(player.motionZ < (double) (-f5)) { + player.motionZ = (double) (-f5); + } + + if(player.motionZ > (double) f5) { + player.motionZ = (double) f5; + } + + player.fallDistance = 0.0F; + + if(player.motionY < -0.15D) { + player.motionY = -0.15D; + } + + if(player.isSneaking() && player.motionY < 0.0D) { + player.motionY = 0.0D; + } + + if(player.isCollidedHorizontally) { + player.motionY = 0.2D; + } + + props.isOnLadder = false; + + if(!player.worldObj.isRemote) ArmorUtil.resetFlightTime(player); + } } private static void handleContamination(EntityLivingBase entity) { @@ -457,7 +528,7 @@ public class EntityEffectHandler { if(!RadiationConfig.enablePollution) return; - if(RadiationConfig.enablePoison && !ArmorRegistry.hasProtection(entity, 3, HazardClass.GAS_CORROSIVE) && entity.ticksExisted % 60 == 0) { + if(RadiationConfig.enablePoison && !ArmorRegistry.hasProtection(entity, 3, HazardClass.GAS_BLISTERING) && entity.ticksExisted % 60 == 0) { float poison = PollutionHandler.getPollution(entity.worldObj, (int) Math.floor(entity.posX), (int) Math.floor(entity.posY + entity.getEyeHeight()), (int) Math.floor(entity.posZ), PollutionType.POISON); diff --git a/src/main/java/com/hbm/handler/FuelHandler.java b/src/main/java/com/hbm/handler/FuelHandler.java index 18442a5a2..b89b86d58 100644 --- a/src/main/java/com/hbm/handler/FuelHandler.java +++ b/src/main/java/com/hbm/handler/FuelHandler.java @@ -29,8 +29,8 @@ public class FuelHandler implements IFuelHandler { if(fuel.getItem() == ModItems.biomass) return single * 2; if(fuel.getItem() == ModItems.biomass_compressed) return single * 4; if(fuel.getItem() == ModItems.powder_coal) return single * 8; - if(fuel.getItem() == ModItems.scrap) return single / 2; - if(fuel.getItem() == ModItems.dust) return single / 2; + if(fuel.getItem() == ModItems.scrap) return single / 4; + if(fuel.getItem() == ModItems.dust) return single / 8; if(fuel.getItem() == Item.getItemFromBlock(ModBlocks.block_scrap)) return single * 2; if(fuel.getItem() == ModItems.powder_fire) return 6400; if(fuel.getItem() == ModItems.lignite) return 1200; diff --git a/src/main/java/com/hbm/handler/GunConfiguration.java b/src/main/java/com/hbm/handler/GunConfiguration.java index 97cb7b3a5..3fe99df52 100644 --- a/src/main/java/com/hbm/handler/GunConfiguration.java +++ b/src/main/java/com/hbm/handler/GunConfiguration.java @@ -3,6 +3,7 @@ package com.hbm.handler; import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.function.Consumer; import com.hbm.lib.HbmCollection.EnumGunManufacturer; import com.hbm.render.anim.BusAnimation; @@ -35,9 +36,14 @@ public class GunConfiguration implements Cloneable { public int durability; //animations! - public HashMap animations = new HashMap(); + public HashMap animations = new HashMap(); + //lazy-ish loading for animations, required for loading animations from ResourceManager, since that occurs after we've initialised the guns + public Consumer loadAnimations; + public boolean animationsLoaded = false; //when sneaking, disables crosshair and centers the bullet spawn point public boolean hasSights; + //does this weapon behave like fully sick old-school boomer shooters + public boolean isCentered; //texture overlay when sneaking public ResourceLocation scopeTexture; //whether the FOV multiplier should be absolute or multiplicative to other modifiers, multiplicative mode is experimental! @@ -45,17 +51,20 @@ public class GunConfiguration implements Cloneable { //the target FOV/multiplied FOV modifier when sneaking public float zoomFOV = 0.0F; + //duration of every animation cycle, used also for how quickly a burst fire rifle can fire + public int firingDuration; + //sound path to the shooting sound + public String firingSound = ""; + public String firingSoundEmpty = null; + public float firingVolume = 1.0F; + public float firingPitch = 1.0F; //how long the reload animation will play //MUST BE GREATER THAN ZERO ! ! ! public int reloadDuration; - //duration of every animation cycle, used also for how quickly a burst fire rifle can fire - public int firingDuration; + public int emptyReloadAdditionalDuration; //sound path to the reload sound public String reloadSound = ""; - //sound path to the shooting sound - public String firingSound = ""; - public float firingVolume = 1.0F; - public float firingPitch = 1.0F; + public String reloadSoundEmpty = null; //whether the reload sound should be played at the beginning or at the end of the reload public boolean reloadSoundEnd = true; public String equipSound = ""; @@ -64,6 +73,8 @@ public class GunConfiguration implements Cloneable { public int ammoCap; //0 does not allow direct reload, 1 is full clip, 2 is single bullet public int reloadType; + // If the animations are designed to be sequential, the last frame will be held until the next anmiation starts + public boolean reloadAnimationsSequential = false; //whether or not the infinity enchantment should work public boolean allowsInfinity; //whether the ammo count should be displayed @@ -79,10 +90,10 @@ public class GunConfiguration implements Cloneable { public String name = ""; public EnumGunManufacturer manufacturer = EnumGunManufacturer.NONE; - public List comment = new ArrayList(); + public List comment = new ArrayList(); //bullet configs for main and alt fire - public List config = new ArrayList(); + public List config = new ArrayList(); //crosshair public Crosshair crosshair; @@ -105,6 +116,7 @@ public class GunConfiguration implements Cloneable { public static final String RSOUND_REVOLVER = "hbm:weapon.revolverReload"; public static final String RSOUND_RIFLE = ""; public static final String RSOUND_MAG = "hbm:weapon.magReload"; + public static final String RSOUND_MAG_BOLT = "hbm:weapon.magReloadBolt"; public static final String RSOUND_SHOTGUN = "hbm:weapon.shotgunReload"; public static final String RSOUND_LAUNCHER = "hbm:weapon.rpgReload"; public static final String RSOUND_GRENADE = "hbm:weapon.hkReload"; diff --git a/src/main/java/com/hbm/handler/ImpactWorldHandler.java b/src/main/java/com/hbm/handler/ImpactWorldHandler.java index 4fcf45157..fc528fc6d 100644 --- a/src/main/java/com/hbm/handler/ImpactWorldHandler.java +++ b/src/main/java/com/hbm/handler/ImpactWorldHandler.java @@ -45,6 +45,8 @@ public class ImpactWorldHandler { for(int x = 0; x < 16; x++) { for(int z = 0; z < 16; z++) { + if(world.rand.nextBoolean()) continue; + int X = coord.getCenterXPos() - 8 + x; int Z = coord.getCenterZPosition() - 8 + z; int Y = world.getHeightValue(X, Z) - world.rand.nextInt(Math.max(1, world.getHeightValue(X, Z))); diff --git a/src/main/java/com/hbm/handler/MissileStruct.java b/src/main/java/com/hbm/handler/MissileStruct.java index b7a4b5e52..79ea52b7e 100644 --- a/src/main/java/com/hbm/handler/MissileStruct.java +++ b/src/main/java/com/hbm/handler/MissileStruct.java @@ -1,7 +1,7 @@ package com.hbm.handler; -import com.hbm.items.weapon.ItemMissile; -import com.hbm.items.weapon.ItemMissile.PartType; +import com.hbm.items.weapon.ItemCustomMissilePart; +import com.hbm.items.weapon.ItemCustomMissilePart.PartType; import io.netty.buffer.ByteBuf; import net.minecraft.item.Item; @@ -9,35 +9,35 @@ import net.minecraft.item.ItemStack; public class MissileStruct { - public ItemMissile warhead; - public ItemMissile fuselage; - public ItemMissile fins; - public ItemMissile thruster; + public ItemCustomMissilePart warhead; + public ItemCustomMissilePart fuselage; + public ItemCustomMissilePart fins; + public ItemCustomMissilePart thruster; public MissileStruct() { } public MissileStruct(ItemStack w, ItemStack f, ItemStack s, ItemStack t) { - if(w != null && w.getItem() instanceof ItemMissile) - warhead = (ItemMissile) w.getItem(); - if(f != null && f.getItem() instanceof ItemMissile) - fuselage = (ItemMissile) f.getItem(); - if(s != null && s.getItem() instanceof ItemMissile) - fins = (ItemMissile) s.getItem(); - if(t != null && t.getItem() instanceof ItemMissile) - thruster = (ItemMissile) t.getItem(); + if(w != null && w.getItem() instanceof ItemCustomMissilePart) + warhead = (ItemCustomMissilePart) w.getItem(); + if(f != null && f.getItem() instanceof ItemCustomMissilePart) + fuselage = (ItemCustomMissilePart) f.getItem(); + if(s != null && s.getItem() instanceof ItemCustomMissilePart) + fins = (ItemCustomMissilePart) s.getItem(); + if(t != null && t.getItem() instanceof ItemCustomMissilePart) + thruster = (ItemCustomMissilePart) t.getItem(); } public MissileStruct(Item w, Item f, Item s, Item t) { - if(w instanceof ItemMissile) - warhead = (ItemMissile) w; - if(f instanceof ItemMissile) - fuselage = (ItemMissile) f; - if(s instanceof ItemMissile) - fins = (ItemMissile) s; - if(t instanceof ItemMissile) - thruster = (ItemMissile) t; + if(w instanceof ItemCustomMissilePart) + warhead = (ItemCustomMissilePart) w; + if(f instanceof ItemCustomMissilePart) + fuselage = (ItemCustomMissilePart) f; + if(s instanceof ItemCustomMissilePart) + fins = (ItemCustomMissilePart) s; + if(t instanceof ItemCustomMissilePart) + thruster = (ItemCustomMissilePart) t; } public void writeToByteBuffer(ByteBuf buf) { @@ -74,16 +74,16 @@ public class MissileStruct { int t = buf.readInt(); if(w != 0) - multipart.warhead = (ItemMissile) Item.getItemById(w); + multipart.warhead = (ItemCustomMissilePart) Item.getItemById(w); if(f != 0) - multipart.fuselage = (ItemMissile) Item.getItemById(f); + multipart.fuselage = (ItemCustomMissilePart) Item.getItemById(f); if(s != 0) - multipart.fins = (ItemMissile) Item.getItemById(s); + multipart.fins = (ItemCustomMissilePart) Item.getItemById(s); if(t != 0) - multipart.thruster = (ItemMissile) Item.getItemById(t); + multipart.thruster = (ItemCustomMissilePart) Item.getItemById(t); return multipart; } diff --git a/src/main/java/com/hbm/handler/SiegeOrchestrator.java b/src/main/java/com/hbm/handler/SiegeOrchestrator.java deleted file mode 100644 index d1c7fd725..000000000 --- a/src/main/java/com/hbm/handler/SiegeOrchestrator.java +++ /dev/null @@ -1,293 +0,0 @@ -package com.hbm.handler; - -import com.hbm.entity.missile.EntitySiegeDropship; -import com.hbm.entity.mob.siege.EntitySiegeCraft; -import com.hbm.entity.mob.siege.EntitySiegeSkeleton; -import com.hbm.entity.mob.siege.EntitySiegeTunneler; -import com.hbm.entity.mob.siege.EntitySiegeUFO; -import com.hbm.entity.mob.siege.EntitySiegeZombie; -import com.hbm.entity.mob.siege.SiegeTier; -import com.hbm.util.ChatBuilder; -import com.hbm.util.GameRuleHelper; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.server.MinecraftServer; -import net.minecraft.util.DamageSource; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.Vec3; -import net.minecraft.world.GameRules; -import net.minecraft.world.World; - -public class SiegeOrchestrator { - - public static boolean lastWave = false; - - public static int level = 0; - public static int levelCounter = 0; - - public static int siegeMobCount = 0; - - public static void update(World world) { - - //abort loop if sieges are disabled - if(world.isRemote || !siegeEnabled(world)) - return; - - int waveTime = getWaveDuration(world); - int pauseTime = getPauseDuration(world); - int interval = waveTime + pauseTime; - //whether we're in a wave or pause, pauses apply first in an interval - boolean wave = (int)(world.getTotalWorldTime() % interval) >= pauseTime; - - //send a server-wide message when the wave starts and ends - if(!lastWave && wave) { - MinecraftServer.getServer().getConfigurationManager().sendChatMsg(ChatBuilder.start("[SIEGE MODE] A new wave is starting!").color(EnumChatFormatting.RED).flush()); - } else if(lastWave && !wave) { - MinecraftServer.getServer().getConfigurationManager().sendChatMsg(ChatBuilder.start("[SIEGE MODE] The wave has ended!").color(EnumChatFormatting.RED).flush()); - } - - lastWave = wave; - - //if we're on pause, do nothing - if(!wave) - return; - - int spawnDelay = getSpawnDelay(world); - boolean threshold = spawnThresholdEnabled(world); - int thresholdSize = getSpawnThreshold(world); - - //if threshold is enabled, don't go into the spawn loop if the entity count exceeds the threshold - if(!(threshold && siegeMobCount > thresholdSize)) { - for(Object o : world.playerEntities) { - EntityPlayer player = (EntityPlayer) o; - - if((world.getTotalWorldTime() + player.getEntityId()) % spawnDelay == 0) { - perPlayerSpawn(player); - } - } - } - - int countCap = getTierDelay(world); - int prevLevel = level; - levelCounter++; - - //if the counter has reached the cap, tick up the tier and reset the counter - while(levelCounter >= countCap) { - levelCounter -= countCap; - level++; - } - - //if the counter is below 0, bring up the counter and deduct a tier - while(levelCounter < 0) { - levelCounter += countCap; - level--; - } - - //if the tier has changed, send a broadcast - if(prevLevel != level) { - MinecraftServer.getServer().getConfigurationManager().sendChatMsg(ChatBuilder.start("[SIEGE MODE] The siege tier is now " + (level + 1) + "!").color(EnumChatFormatting.RED).flush()); - } - - //every 10s we recount the loaded siege mobs - if(world.getTotalWorldTime() % 200 == 0) { - refreshMobCount(world); - } - } - - public static void perPlayerSpawn(EntityPlayer player) { - - Vec3 vec = Vec3.createVectorHelper(getSpawnDist(player.worldObj), 0, 0); - vec.rotateAroundY((float)(player.getRNG().nextFloat() * Math.PI)); - - double x = player.posX + vec.xCoord; - double z = player.posZ + vec.zCoord; - - if(enableMissileSpawn(player.worldObj)) { - EntitySiegeDropship ship = new EntitySiegeDropship(player.worldObj, x, 300, z); - player.worldObj.spawnEntityInWorld(ship); - } - } - - public static void playerDeathHook(EntityPlayer player, DamageSource source) { - - if(!player.worldObj.isRemote) { - if(isSiegeMob(source.getEntity())) { - levelCounter -= getTierSubDeath(player.worldObj); - } - } - } - - public static void mobDeathHook(EntityLivingBase entity, DamageSource source) { - - if(!entity.worldObj.isRemote) { - if(isSiegeMob(entity)) { - levelCounter += getTierAddKill(entity.worldObj); - } - } - } - - public static void spawnRandomMob(World world, double x, double y, double z, EntityPlayer target) { - - if(world.isRemote) - return; - - SiegeTier tier = SiegeTier.tiers[level]; - if(tier == null) - tier = SiegeTier.DNT; - - EntityLiving entity; - - float f = world.rand.nextFloat(); - - if(target != null && f < 0.25F && target.posY + 15 < y) { - entity = new EntitySiegeTunneler(world); - ((EntitySiegeTunneler)entity).setTier(tier); - } else if(f < 0.1F) { - entity = new EntitySiegeUFO(world); - ((EntitySiegeUFO)entity).setTier(tier); - } else if(f < 0.4F) { - entity = new EntitySiegeSkeleton(world); - ((EntitySiegeSkeleton)entity).setTier(tier); - } else { - entity = new EntitySiegeZombie(world); - ((EntitySiegeZombie)entity).setTier(tier); - } - - entity.setPositionAndRotation(x, y, z, (float)Math.PI * 2F, 0F); - - if(target != null) { - entity.setAttackTarget(target); - } - - world.spawnEntityInWorld(entity); - } - - private static void refreshMobCount(World world) { - - siegeMobCount = 0; - - for(Object o : world.loadedEntityList) { - Entity entity = (Entity) o; - - if(isSiegeMob(entity)) { - siegeMobCount++; - } - } - } - - public static boolean isSiegeMob(Entity entity) { - - if(entity instanceof EntitySiegeZombie) return true; - if(entity instanceof EntitySiegeSkeleton) return true; - if(entity instanceof EntitySiegeUFO) return true; - if(entity instanceof EntitySiegeTunneler) return true; - if(entity instanceof EntitySiegeCraft) return true; - - return false; - } - - public static final String KEY_SAVE_RULES = "siegeSaveRules"; - public static final String KEY_ENABLE_SIEGES = "siegeEnable"; - public static final String KEY_WAVE_DURATION = "siegeWaveDuration"; - public static final String KEY_PAUSE_DURATION = "siegePauseDuration"; - public static final String KEY_ENABLE_DROPS = "siegeEnableDropships"; - public static final String KEY_ENABLE_SPAWNS = "siegeEnableMobSpawning"; - public static final String KEY_ENABLE_BASES = "siegeEnableBases"; - public static final String KEY_ENABLE_MISSILES = "siegeEnableMissiles"; - public static final String KEY_SPAWN_DIST = "siegeSpawnDist"; - public static final String KEY_SPAWN_DELAY = "siegeSpawnDelay"; - public static final String KEY_TIER_DELAY = "siegeTierDuration"; - public static final String KEY_TIER_ADD_KILL = "siegeTierAddKill"; - public static final String KEY_TIER_ADD_DROP = "siegeTierAddDrop"; - public static final String KEY_TIER_SUB_DEATH = "siegeTierSubDeath"; - public static final String KEY_SPAWN_THRESHOLD = "siegeEnableSpawnThreshold"; - public static final String KEY_SPAWN_THRESHOLD_COUNT = "siegeSpawnThreshold"; - public static final String KEY_EXPANSION_THRESHOLD_COUNT = "siegeExpansionThreshold"; - - public static void createGameRules(World world) { - - GameRules rules = world.getGameRules(); - - if(!rules.getGameRuleBooleanValue(KEY_SAVE_RULES)) { - rules.setOrCreateGameRule(KEY_SAVE_RULES, "true"); - rules.setOrCreateGameRule(KEY_ENABLE_SIEGES, "false"); - rules.setOrCreateGameRule(KEY_WAVE_DURATION, "" + (20 * 60 * 20)); - rules.setOrCreateGameRule(KEY_PAUSE_DURATION, "" + (10 * 60 * 20)); - rules.setOrCreateGameRule(KEY_ENABLE_DROPS, "true"); - rules.setOrCreateGameRule(KEY_ENABLE_SPAWNS, "false"); - rules.setOrCreateGameRule(KEY_ENABLE_BASES, "true"); - rules.setOrCreateGameRule(KEY_ENABLE_MISSILES, "true"); - rules.setOrCreateGameRule(KEY_SPAWN_DIST, "64"); - rules.setOrCreateGameRule(KEY_SPAWN_DELAY, "" + (10 * 20)); - rules.setOrCreateGameRule(KEY_TIER_DELAY, "" + (15 * 60 * 20)); - rules.setOrCreateGameRule(KEY_TIER_ADD_KILL, "" + (1 * 20)); - rules.setOrCreateGameRule(KEY_TIER_SUB_DEATH, "" + (15 * 20)); - rules.setOrCreateGameRule(KEY_SPAWN_THRESHOLD, "true"); - rules.setOrCreateGameRule(KEY_SPAWN_THRESHOLD_COUNT, "50"); - rules.setOrCreateGameRule(KEY_EXPANSION_THRESHOLD_COUNT, "20"); - } - } - - public static boolean siegeEnabled(World world) { - return world.getGameRules().getGameRuleBooleanValue(KEY_ENABLE_SIEGES); - } - - public static int getWaveDuration(World world) { - return GameRuleHelper.getIntegerMinimum(world, KEY_WAVE_DURATION, 20 * 60 * 10, 1); - } - - public static int getPauseDuration(World world) { - return GameRuleHelper.getIntegerMinimum(world, KEY_PAUSE_DURATION, 10 * 60 * 10, 0); - } - - public static double getSpawnDist(World world) { - return GameRuleHelper.getDoubleMinimum(world, KEY_SPAWN_DIST, 64, 0); - } - - public static int getSpawnDelay(World world) { - return GameRuleHelper.getIntegerMinimum(world, KEY_SPAWN_DELAY, 10 * 20, 1); - } - - public static int getTierDelay(World world) { - return GameRuleHelper.getIntegerMinimum(world, KEY_TIER_DELAY, 15 * 60 * 20, 1); - } - - public static int getTierAddKill(World world) { - return GameRuleHelper.getIntegerMinimum(world, KEY_TIER_ADD_KILL, 1 * 20, 0); - } - - public static int getTierAddDrop(World world) { - return GameRuleHelper.getIntegerMinimum(world, KEY_TIER_ADD_DROP, 5 * 20, 0); - } - - public static int getTierSubDeath(World world) { - return GameRuleHelper.getIntegerMinimum(world, KEY_TIER_SUB_DEATH, 15 * 20, 0); - } - - public static boolean spawnThresholdEnabled(World world) { - return world.getGameRules().getGameRuleBooleanValue(KEY_SPAWN_THRESHOLD); - } - - public static int getSpawnThreshold(World world) { - return GameRuleHelper.getIntegerMinimum(world, KEY_SPAWN_THRESHOLD_COUNT, 50, 1); - } - - public static int getExpansionThreshold(World world) { - return GameRuleHelper.getIntegerMinimum(world, KEY_EXPANSION_THRESHOLD_COUNT, 20, 1); - } - - public static boolean enableBaseSpawning(World world) { - return world.getGameRules().getGameRuleBooleanValue(KEY_ENABLE_BASES); - } - - public static boolean enableMobSpawning(World world) { - return world.getGameRules().getGameRuleBooleanValue(KEY_ENABLE_SPAWNS); - } - - public static boolean enableMissileSpawn(World world) { - return world.getGameRules().getGameRuleBooleanValue(KEY_ENABLE_MISSILES); - } -} diff --git a/src/main/java/com/hbm/handler/guncfg/BulletConfigFactory.java b/src/main/java/com/hbm/handler/guncfg/BulletConfigFactory.java index 9e1e8bc13..5dac19082 100644 --- a/src/main/java/com/hbm/handler/guncfg/BulletConfigFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/BulletConfigFactory.java @@ -376,7 +376,7 @@ public class BulletConfigFactory { EntityLivingBase entity = (EntityLivingBase) e; - if(ArmorRegistry.hasAllProtection(entity, 3, HazardClass.GAS_CHLORINE)) + if(ArmorRegistry.hasAllProtection(entity, 3, HazardClass.GAS_LUNG)) continue; PotionEffect eff0 = new PotionEffect(Potion.poison.id, duration, 2, true); diff --git a/src/main/java/com/hbm/handler/guncfg/Gun12GaugeFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun12GaugeFactory.java index 424deacfc..0bb1f6103 100644 --- a/src/main/java/com/hbm/handler/guncfg/Gun12GaugeFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/Gun12GaugeFactory.java @@ -10,13 +10,13 @@ import com.hbm.items.ItemAmmoEnums.Ammo12Gauge; import com.hbm.items.ModItems; import com.hbm.lib.HbmCollection; import com.hbm.lib.HbmCollection.EnumGunManufacturer; +import com.hbm.main.ResourceManager; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; import com.hbm.particle.SpentCasing; import com.hbm.particle.SpentCasing.CasingType; import com.hbm.potion.HbmPotion; import com.hbm.render.anim.BusAnimation; -import com.hbm.render.anim.BusAnimationKeyframe; import com.hbm.render.anim.BusAnimationSequence; import com.hbm.render.anim.HbmAnimations.AnimType; import com.hbm.render.util.RenderScreenOverlay.Crosshair; @@ -39,7 +39,7 @@ public class Gun12GaugeFactory { static { EJECTOR_SPAS = new CasingEjector().setMotion(-0.4, 0.1, 0).setOffset(-0.35, 0, 0.5).setAngleRange(0.01F, 0.03F).setDelay(12); EJECTOR_SPAS_ALT = new CasingEjector().setMotion(-0.4, 0.1, 0).setOffset(-0.35, 0, 0.5).setAngleRange(0.01F, 0.03F).setDelay(12).setAmount(2); - EJECTOR_BENELLI = new CasingEjector().setMotion(-0.4, 0.1, 0).setOffset(-0.3, 1, 0).setAngleRange(0.01F, 0.03F); + EJECTOR_BENELLI = new CasingEjector().setMotion(-0.4, 0.3, 0).setOffset(-0.3, 0, 0.5).setAngleRange(0.01F, 0.03F); EJECTOR_UBOINIK = new CasingEjector().setMotion(-0.4, 0.1, 0).setOffset(-0.35, -0.3, 0.5).setAngleRange(0.01F, 0.03F); EJECTOR_SSG = new CasingEjector().setMotion(0.2, 0, -0.2).setOffset(0.8, 0, 0).setAngleRange(0.05F, 0.02F).setDelay(20).setAmount(2); @@ -70,13 +70,13 @@ public class Gun12GaugeFactory { config.animations.put(AnimType.CYCLE, new BusAnimation() .addBus("RECOIL_TRANSLATE", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, -2, 100)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 200)) + .addKeyframePosition(0, 0, -2, 100) + .addKeyframePosition(0, 0, 0, 200) ) .addBus("PUMP", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 450)) - .addKeyframe(new BusAnimationKeyframe(0, 0, -1.8, 200)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 200)) + .addKeyframePosition(0, 0, 0, 450) + .addKeyframePosition(0, 0, -1.8, 200) + .addKeyframePosition(0, 0, 0, 200) ) ); @@ -88,11 +88,12 @@ public class Gun12GaugeFactory { GunConfiguration config = new GunConfiguration(); - config.rateOfFire = 25; + config.rateOfFire = 20; config.roundsPerCycle = 1; config.gunMode = GunConfiguration.MODE_NORMAL; config.firingMode = GunConfiguration.FIRE_MANUAL; config.reloadDuration = 10; + config.emptyReloadAdditionalDuration = 5; config.firingDuration = 5; config.ammoCap = 8; config.durability = 2500; @@ -100,6 +101,7 @@ public class Gun12GaugeFactory { config.allowsInfinity = true; config.crosshair = Crosshair.CIRCLE; config.reloadSound = GunConfiguration.RSOUND_SHOTGUN; + config.reloadSoundEnd = false; config.firingSound = "hbm:weapon.shotgunPump"; config.name = "spas12"; @@ -107,23 +109,18 @@ public class Gun12GaugeFactory { config.comment.add("\"Here, I have a more suitable gun for you. You'll need it - Catch!\""); config.comment.add("Alt-fire with Mouse 2 (Right-click) to fire 2 shells at once"); - config.config = HbmCollection.g12; - - config.animations.put(AnimType.CYCLE, new BusAnimation() - .addBus("SPAS_RECOIL_TRANSLATE", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, -2, 100)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 200)) - ) - .addBus("SPAS_RECOIL_ROT", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(-1, 0, 1, 100)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 200)) - ) - .addBus("SPAS_PUMP", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 450)) - .addKeyframe(new BusAnimationKeyframe(0, 0, -1.8, 200)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 200)) - ) - ); + config.config = HbmCollection.g12hs; + + config.reloadAnimationsSequential = true; + + config.loadAnimations = i -> { + config.animations.put(AnimType.CYCLE, ResourceManager.spas_12_anim.get("Fire")); + config.animations.put(AnimType.ALT_CYCLE, ResourceManager.spas_12_anim.get("FireAlt")); + config.animations.put(AnimType.RELOAD, ResourceManager.spas_12_anim.get("ReloadStart")); + config.animations.put(AnimType.RELOAD_EMPTY, ResourceManager.spas_12_anim.get("ReloadEmptyStart")); + config.animations.put(AnimType.RELOAD_CYCLE, ResourceManager.spas_12_anim.get("Reload")); + config.animations.put(AnimType.RELOAD_END, ResourceManager.spas_12_anim.get("ReloadEnd")); + }; config.ejector = EJECTOR_SPAS; @@ -141,7 +138,7 @@ public class Gun12GaugeFactory { config.firingDuration = 10; config.ammoCap = 8; config.reloadSound = GunConfiguration.RSOUND_SHOTGUN; - config.firingSound = "hbm:weapon.shotgunPump"; + config.firingSound = "hbm:weapon.shotgunPumpAlt"; config.reloadType = GunConfiguration.RELOAD_SINGLE; config.config = HbmCollection.g12hs; @@ -183,7 +180,7 @@ public class Gun12GaugeFactory { GunConfiguration config = new GunConfiguration(); - config.rateOfFire = 20; + config.rateOfFire = 30; config.roundsPerCycle = 2; config.gunMode = GunConfiguration.MODE_NORMAL; config.firingMode = GunConfiguration.FIRE_MANUAL; @@ -193,33 +190,14 @@ public class Gun12GaugeFactory { config.durability = 3000; config.reloadType = GunConfiguration.RELOAD_NONE; config.allowsInfinity = true; - config.hasSights = true; + config.isCentered = true; config.crosshair = Crosshair.L_CIRCLE; config.reloadSound = GunConfiguration.RSOUND_REVOLVER; config.firingSound = "hbm:weapon.shottyShoot"; - - config.animations.put(AnimType.CYCLE, new BusAnimation() - .addBus("SHOTTY_RECOIL", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0.5, 0, 0, 50)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 50)) - ) - .addBus("SHOTTY_BREAK", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 100)) //do nothing for 100ms - .addKeyframe(new BusAnimationKeyframe(0, 0, 60, 200)) //open - .addKeyframe(new BusAnimationKeyframe(0, 0, 60, 500)) //do nothing for 500ms - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 200)) //close - ) - .addBus("SHOTTY_EJECT", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 300)) //do nothing for 300ms - .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 700)) //fling! - ) - .addBus("SHOTTY_INSERT", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 300)) //do nothing for 300ms - .addKeyframe(new BusAnimationKeyframe(1, 0, 1, 0)) //reposition - .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 350)) //come in from the side - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 150)) //push - ) - ); + + config.loadAnimations = i -> { + config.animations.put(AnimType.CYCLE, ResourceManager.supershotty_anim.get("Fire")); + }; config.name = "supershotty"; config.manufacturer = EnumGunManufacturer.UAC; @@ -248,32 +226,6 @@ public class Gun12GaugeFactory { config.firingSound = "hbm:weapon.deagleShoot"; config.firingPitch = 0.75F; config.reloadType = 2; - config.reloadSoundEnd = true; - - config.animations.put(AnimType.CYCLE, new BusAnimation() - .addBus("RECOIL", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(6.25, 0.25, 2.5, 55)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 55)) - ) - .addBus("EJECT", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 25)) - .addKeyframe(new BusAnimationKeyframe(25, 0, 0, 100)) - ) - ); - - config.animations.put(AnimType.RELOAD, new BusAnimation() - .addBus("RELOAD", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(60, 0, -10, 400)) - .addKeyframe(new BusAnimationKeyframe(60, 125, -10, 200)) - .addKeyframe(new BusAnimationKeyframe(60, 125, -10, 300)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 300)) - ) - .addBus("PUMP", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 900)) - .addKeyframe(new BusAnimationKeyframe(10, 0, 0, 200)) - .addKeyframe(new BusAnimationKeyframe()) - ) - ); config.name = "benelli"; config.manufacturer = EnumGunManufacturer.BENELLI; @@ -291,10 +243,19 @@ public class Gun12GaugeFactory { config.reloadType = 1; config.ammoCap = 24; - config.reloadDuration = 20; - config.reloadSound = config.RSOUND_MAG; - config.reloadSoundEnd = true; + config.reloadDuration = 21; + config.emptyReloadAdditionalDuration = 15; + config.reloadSound = GunConfiguration.RSOUND_MAG; + config.reloadSoundEmpty = GunConfiguration.RSOUND_MAG_BOLT; + config.reloadSoundEnd = false; config.name += "Drum"; + + config.loadAnimations = i -> { + config.animations.put(AnimType.CYCLE, ResourceManager.benelli_anim.get("Fire")); + config.animations.put(AnimType.RELOAD, ResourceManager.benelli_anim.get("Reload")); + config.animations.put(AnimType.RELOAD_EMPTY, ResourceManager.benelli_anim.get("ReloadEmpty")); + }; + return config; } diff --git a/src/main/java/com/hbm/handler/guncfg/Gun20GaugeFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun20GaugeFactory.java index 755296329..2bf40a528 100644 --- a/src/main/java/com/hbm/handler/guncfg/Gun20GaugeFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/Gun20GaugeFactory.java @@ -13,7 +13,6 @@ import com.hbm.lib.HbmCollection.EnumGunManufacturer; import com.hbm.particle.SpentCasing; import com.hbm.particle.SpentCasing.CasingType; import com.hbm.render.anim.BusAnimation; -import com.hbm.render.anim.BusAnimationKeyframe; import com.hbm.render.anim.BusAnimationSequence; import com.hbm.render.anim.HbmAnimations.AnimType; import com.hbm.render.util.RenderScreenOverlay.Crosshair; @@ -50,16 +49,16 @@ public class Gun20GaugeFactory { config.animations.put(AnimType.CYCLE, new BusAnimation() .addBus("LEVER_ROTATE", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 250)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 45, 500)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 500)) + .addKeyframePosition(0, 0, 0, 250) + .addKeyframePosition(0, 0, 45, 500) + .addKeyframePosition(0, 0, 0, 500) ) .addBus("LEVER_RECOIL", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0.5, 0, 0, 50)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 50)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 150)) - .addKeyframe(new BusAnimationKeyframe(0, -0.5, 0, 500)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 500)) + .addKeyframePosition(0.5, 0, 0, 50) + .addKeyframePosition(0, 0, 0, 50) + .addKeyframePosition(0, 0, 0, 150) + .addKeyframePosition(0, -0.5, 0, 500) + .addKeyframePosition(0, 0, 0, 500) ) ); diff --git a/src/main/java/com/hbm/handler/guncfg/Gun357MagnumFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun357MagnumFactory.java index 53b5251db..29340e37e 100644 --- a/src/main/java/com/hbm/handler/guncfg/Gun357MagnumFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/Gun357MagnumFactory.java @@ -10,10 +10,12 @@ import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.items.ModItems; import com.hbm.items.ItemAmmoEnums.Ammo357Magnum; import com.hbm.lib.HbmCollection.EnumGunManufacturer; +import com.hbm.main.ResourceManager; import com.hbm.particle.SpentCasing; import com.hbm.particle.SpentCasing.CasingType; import com.hbm.lib.ModDamageSource; import com.hbm.potion.HbmPotion; +import com.hbm.render.anim.HbmAnimations.AnimType; import com.hbm.render.util.RenderScreenOverlay.Crosshair; import net.minecraft.potion.PotionEffect; @@ -39,7 +41,7 @@ public class Gun357MagnumFactory { config.roundsPerCycle = 1; config.gunMode = GunConfiguration.MODE_NORMAL; config.firingMode = GunConfiguration.FIRE_MANUAL; - config.reloadDuration = 10; + config.reloadDuration = 30; config.firingDuration = 0; config.ammoCap = 6; config.reloadType = GunConfiguration.RELOAD_FULL; @@ -50,6 +52,11 @@ public class Gun357MagnumFactory { config.reloadSoundEnd = false; config.ejector = EJECTOR_REVOLVER; + + config.loadAnimations = i -> { + config.animations.put(AnimType.CYCLE, ResourceManager.python_anim.get("Fire")); + config.animations.put(AnimType.RELOAD, ResourceManager.python_anim.get("Reload")); + }; return config; } @@ -122,6 +129,11 @@ public class Gun357MagnumFactory { config.config = new ArrayList(); config.config.add(BulletConfigSyncingUtil.CURSED_REVOLVER); config.config.add(BulletConfigSyncingUtil.DESH_REVOLVER); + + config.loadAnimations = i -> { + config.animations.put(AnimType.CYCLE, ResourceManager.cursed_anim.get("Fire")); + config.animations.put(AnimType.RELOAD, ResourceManager.cursed_anim.get("Reload")); + }; return config; } @@ -242,7 +254,7 @@ public class Gun357MagnumFactory { bullet.dmgMin = 10; bullet.dmgMax = 15; - bullet.effects = new ArrayList(); + bullet.effects = new ArrayList(); bullet.effects.add(new PotionEffect(HbmPotion.radiation.id, 10 * 20, 4)); bullet.spentCasing = CASING357.clone().register("357Nuc").setColor(0xFEFEFE); @@ -328,8 +340,8 @@ public class Gun357MagnumFactory { bullet.dmgMax = 100; bullet.doesRicochet = false; bullet.destroysBlocks = true; - bullet.style = bullet.STYLE_BOLT; - bullet.trail = bullet.BOLT_NIGHTMARE; + bullet.style = BulletConfiguration.STYLE_BOLT; + bullet.trail = BulletConfiguration.BOLT_NIGHTMARE; bullet.damageType = ModDamageSource.s_laser; diff --git a/src/main/java/com/hbm/handler/guncfg/Gun44MagnumFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun44MagnumFactory.java index 515b1b8bf..9f7a5aca7 100644 --- a/src/main/java/com/hbm/handler/guncfg/Gun44MagnumFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/Gun44MagnumFactory.java @@ -15,12 +15,14 @@ import com.hbm.items.ModItems; import com.hbm.items.ItemAmmoEnums.Ammo44Magnum; import com.hbm.lib.HbmCollection; import com.hbm.lib.RefStrings; +import com.hbm.main.ResourceManager; import com.hbm.lib.HbmCollection.EnumGunManufacturer; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; import com.hbm.particle.SpentCasing; import com.hbm.particle.SpentCasing.CasingType; import com.hbm.potion.HbmPotion; +import com.hbm.render.anim.HbmAnimations.AnimType; import com.hbm.render.util.RenderScreenOverlay.Crosshair; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -47,19 +49,23 @@ public class Gun44MagnumFactory { config.roundsPerCycle = 1; config.gunMode = GunConfiguration.MODE_NORMAL; config.firingMode = GunConfiguration.FIRE_MANUAL; - config.reloadDuration = 10; + config.reloadDuration = 50; config.firingDuration = 0; config.ammoCap = 6; config.reloadType = GunConfiguration.RELOAD_FULL; config.allowsInfinity = true; config.crosshair = Crosshair.L_CLASSIC; config.reloadSound = GunConfiguration.RSOUND_REVOLVER; - config.firingSound = "hbm:weapon.revolverShootAlt"; + config.firingSound = "hbm:weapon.44Shoot"; config.reloadSoundEnd = false; config.config.addAll(HbmCollection.m44Normal); config.ejector = EJECTOR_PIP; + + config.loadAnimations = i -> { + config.animations.put(AnimType.CYCLE, ResourceManager.novac_anim.get("Fire")); + }; return config; } @@ -83,7 +89,7 @@ public class Gun44MagnumFactory { GunConfiguration config = getBaseConfig(); - config.durability = 4000; + config.durability = 31_000; config.name = "ifScope"; config.manufacturer = EnumGunManufacturer.IF; @@ -220,7 +226,7 @@ public class Gun44MagnumFactory { PotionEffect eff = new PotionEffect(HbmPotion.phosphorus.id, 20 * 20, 0, true); eff.getCurativeItems().clear(); - bullet.effects = new ArrayList(); + bullet.effects = new ArrayList(); bullet.effects.add(new PotionEffect(eff)); bullet.bntImpact = (bulletnt, x, y, z, sideHit) -> { diff --git a/src/main/java/com/hbm/handler/guncfg/Gun45ACPFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun45ACPFactory.java index 644d37457..d21ebf9c9 100644 --- a/src/main/java/com/hbm/handler/guncfg/Gun45ACPFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/Gun45ACPFactory.java @@ -12,7 +12,6 @@ import com.hbm.lib.HbmCollection.EnumGunManufacturer; import com.hbm.particle.SpentCasing; import com.hbm.particle.SpentCasing.CasingType; import com.hbm.render.anim.BusAnimation; -import com.hbm.render.anim.BusAnimationKeyframe; import com.hbm.render.anim.BusAnimationSequence; import com.hbm.render.anim.HbmAnimations.AnimType; import com.hbm.render.util.RenderScreenOverlay.Crosshair; @@ -81,12 +80,12 @@ public class Gun45ACPFactory { config.animations.put(AnimType.CYCLE, new BusAnimation() .addBus("SLIDE", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 10))// Wait for hammer - .addKeyframe(new BusAnimationKeyframe(0, 0, -3.5, 40))// Slide back - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 40)))// Return + .addKeyframePosition(0, 0, 0, 10)// Wait for hammer + .addKeyframePosition(0, 0, -3.5, 40)// Slide back + .addKeyframePosition(0, 0, 0, 40))// Return .addBus("HAMMER", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(15, 0, 0, 10)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 40)))); + .addKeyframePosition(15, 0, 0, 10) + .addKeyframePosition(0, 0, 0, 40))); return config; } diff --git a/src/main/java/com/hbm/handler/guncfg/Gun4GaugeFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun4GaugeFactory.java index 31447e131..786346617 100644 --- a/src/main/java/com/hbm/handler/guncfg/Gun4GaugeFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/Gun4GaugeFactory.java @@ -17,6 +17,7 @@ import com.hbm.items.ModItems; import com.hbm.items.ItemAmmoEnums.Ammo4Gauge; import com.hbm.lib.HbmCollection; import com.hbm.lib.HbmCollection.EnumGunManufacturer; +import com.hbm.main.ResourceManager; import com.hbm.lib.ModDamageSource; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; @@ -24,7 +25,6 @@ import com.hbm.particle.SpentCasing; import com.hbm.particle.SpentCasing.CasingType; import com.hbm.potion.HbmPotion; import com.hbm.render.anim.BusAnimation; -import com.hbm.render.anim.BusAnimationKeyframe; import com.hbm.render.anim.BusAnimationSequence; import com.hbm.render.anim.HbmAnimations.AnimType; import com.hbm.render.util.RenderScreenOverlay.Crosshair; @@ -78,12 +78,27 @@ public class Gun4GaugeFactory { config.durability = 3000; config.reloadSound = GunConfiguration.RSOUND_SHOTGUN; + config.reloadSoundEnd = false; config.firingSound = "hbm:weapon.revolverShootAlt"; config.firingPitch = 0.65F; + config.ejector = EJECTOR_SHOTGUN.clone().setDelay(10); + config.name = "ks23"; config.manufacturer = EnumGunManufacturer.TULSKY; + config.emptyReloadAdditionalDuration = 5; + + config.reloadAnimationsSequential = true; + + config.loadAnimations = i -> { + config.animations.put(AnimType.CYCLE, ResourceManager.ks23_anim.get("Fire")); + config.animations.put(AnimType.RELOAD, ResourceManager.ks23_anim.get("ReloadStart")); + config.animations.put(AnimType.RELOAD_EMPTY, ResourceManager.ks23_anim.get("ReloadEmptyStart")); + config.animations.put(AnimType.RELOAD_CYCLE, ResourceManager.ks23_anim.get("Reload")); + config.animations.put(AnimType.RELOAD_END, ResourceManager.ks23_anim.get("ReloadEnd")); + }; + config.config = HbmCollection.g4; return config; @@ -109,25 +124,25 @@ public class Gun4GaugeFactory { config.animations.put(AnimType.CYCLE, new BusAnimation() .addBus("SAUER_RECOIL", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0.5, 0, 0, 50)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 50)) + .addKeyframePosition(0.5, 0, 0, 50) + .addKeyframePosition(0, 0, 0, 50) ) .addBus("SAUER_TILT", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0.0, 0, 0, 200)) // do nothing for 200ms - .addKeyframe(new BusAnimationKeyframe(0, 0, 30, 150)) //tilt forward - .addKeyframe(new BusAnimationKeyframe(45, 0, 30, 150)) //tilt sideways - .addKeyframe(new BusAnimationKeyframe(45, 0, 30, 200)) //do nothing for 200ms (eject) - .addKeyframe(new BusAnimationKeyframe(0, 0, 30, 150)) //restore sideways - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 150)) //restore forward + .addKeyframePosition(0.0, 0, 0, 200) // do nothing for 200ms + .addKeyframePosition(0, 0, 30, 150) //tilt forward + .addKeyframePosition(45, 0, 30, 150) //tilt sideways + .addKeyframePosition(45, 0, 30, 200) //do nothing for 200ms (eject) + .addKeyframePosition(0, 0, 30, 150) //restore sideways + .addKeyframePosition(0, 0, 0, 150) //restore forward ) .addBus("SAUER_COCK", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 500)) //do nothing for 500ms - .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 100)) //pull back lever for 100ms - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 100)) //release lever for 100ms + .addKeyframePosition(0, 0, 0, 500) //do nothing for 500ms + .addKeyframePosition(1, 0, 0, 100) //pull back lever for 100ms + .addKeyframePosition(0, 0, 0, 100) //release lever for 100ms ) .addBus("SAUER_SHELL_EJECT", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 500)) //do nothing for 500ms - .addKeyframe(new BusAnimationKeyframe(0, 0, 1, 500)) //FLING! + .addKeyframePosition(0, 0, 0, 500) //do nothing for 500ms + .addKeyframePosition(0, 0, 1, 500) //FLING! ) ); @@ -203,7 +218,7 @@ public class Gun4GaugeFactory { PotionEffect eff = new PotionEffect(HbmPotion.phosphorus.id, 20 * 20, 0, true); eff.getCurativeItems().clear(); - bullet.effects = new ArrayList(); + bullet.effects = new ArrayList(); bullet.effects.add(new PotionEffect(eff)); bullet.bntImpact = (bulletnt, x, y, z, sideHit) -> { @@ -494,7 +509,7 @@ public class Gun4GaugeFactory { BulletConfigFactory.nuclearExplosion(creature, 0, 0, 0, ExplosionNukeSmall.PARAMS_TOTS); bulletnt.worldObj.removeEntity(creature); - bulletnt.worldObj.unloadEntities(new ArrayList() {{ add(creature); }}); + bulletnt.worldObj.unloadEntities(new ArrayList() {{ add(creature); }}); } } } diff --git a/src/main/java/com/hbm/handler/guncfg/Gun50BMGFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun50BMGFactory.java index 189ad105e..847a3f3ab 100644 --- a/src/main/java/com/hbm/handler/guncfg/Gun50BMGFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/Gun50BMGFactory.java @@ -20,7 +20,6 @@ import com.hbm.particle.SpentCasing; import com.hbm.particle.SpentCasing.CasingType; import com.hbm.potion.HbmPotion; import com.hbm.render.anim.BusAnimation; -import com.hbm.render.anim.BusAnimationKeyframe; import com.hbm.render.anim.BusAnimationSequence; import com.hbm.render.anim.HbmAnimations.AnimType; import com.hbm.render.util.RenderScreenOverlay.Crosshair; @@ -138,20 +137,20 @@ public class Gun50BMGFactory { config.animations.put(AnimType.CYCLE, new BusAnimation() .addBus("RECOIL", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 25)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 75)) + .addKeyframePosition(1, 0, 0, 25) + .addKeyframePosition(0, 0, 0, 75) ) ); config.animations.put(AnimType.RELOAD, new BusAnimation() .addBus("TILT", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 125)) - .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 750)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 125)) + .addKeyframePosition(1, 0, 0, 125) + .addKeyframePosition(1, 0, 0, 750) + .addKeyframePosition(0, 0, 0, 125) ) .addBus("MAG", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 1, 200)) - .addKeyframe(new BusAnimationKeyframe(1, 0, 1, 200)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 200)) + .addKeyframePosition(0, 0, 1, 200) + .addKeyframePosition(1, 0, 1, 200) + .addKeyframePosition(0, 0, 0, 200) ) ); @@ -191,8 +190,8 @@ public class Gun50BMGFactory { config.animations.put(AnimType.CYCLE, new BusAnimation() .addBus("RECOIL", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 25)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 75)) + .addKeyframePosition(1, 0, 0, 25) + .addKeyframePosition(0, 0, 0, 75) ) ); @@ -238,10 +237,10 @@ public class Gun50BMGFactory { config.animations.put(AnimType.CYCLE, new BusAnimation() .addBus("RECOIL", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(-0.45, 0.15, 0, 40)) // Moves back and raise slightly - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 75))) // Then forward again - .addBus("EJECT", new BusAnimationSequence().addKeyframe(new BusAnimationKeyframe(0, 0, 0, 30)) // Wait - .addKeyframe(new BusAnimationKeyframe(50, 0, 0, 120)))); // Fly // out + .addKeyframePosition(-0.45, 0.15, 0, 40) // Moves back and raise slightly + .addKeyframePosition(0, 0, 0, 75)) // Then forward again + .addBus("EJECT", new BusAnimationSequence().addKeyframePosition(0, 0, 0, 30) // Wait + .addKeyframePosition(50, 0, 0, 120))); // Fly // out config.ejector = EJECTOR_SNIPER; return config; diff --git a/src/main/java/com/hbm/handler/guncfg/Gun556mmFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun556mmFactory.java index 88c9aa190..4c0f19804 100644 --- a/src/main/java/com/hbm/handler/guncfg/Gun556mmFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/Gun556mmFactory.java @@ -18,7 +18,6 @@ import com.hbm.particle.SpentCasing; import com.hbm.particle.SpentCasing.CasingType; import com.hbm.potion.HbmPotion; import com.hbm.render.anim.BusAnimation; -import com.hbm.render.anim.BusAnimationKeyframe; import com.hbm.render.anim.BusAnimationSequence; import com.hbm.render.anim.HbmAnimations.AnimType; import com.hbm.render.util.RenderScreenOverlay.Crosshair; @@ -94,8 +93,8 @@ public class Gun556mmFactory { config.animations.put(AnimType.CYCLE, new BusAnimation() .addBus("RECOIL", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0.5, 0, 0, 25)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 75)) + .addKeyframePosition(0.5, 0, 0, 25) + .addKeyframePosition(0, 0, 0, 75) ) ); diff --git a/src/main/java/com/hbm/handler/guncfg/Gun75BoltFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun75BoltFactory.java index cc05924f6..47ae1fb7d 100644 --- a/src/main/java/com/hbm/handler/guncfg/Gun75BoltFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/Gun75BoltFactory.java @@ -14,7 +14,6 @@ import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; import com.hbm.potion.HbmPotion; import com.hbm.render.anim.BusAnimation; -import com.hbm.render.anim.BusAnimationKeyframe; import com.hbm.render.anim.BusAnimationSequence; import com.hbm.render.anim.HbmAnimations.AnimType; import com.hbm.render.util.RenderScreenOverlay.Crosshair; @@ -49,25 +48,25 @@ public class Gun75BoltFactory { config.animations.put(AnimType.CYCLE, new BusAnimation() .addBus("RECOIL", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 25)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 75)) + .addKeyframePosition(1, 0, 0, 25) + .addKeyframePosition(0, 0, 0, 75) ) .addBus("EJECT", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 25)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 1, 75)) + .addKeyframePosition(0, 0, 0, 25) + .addKeyframePosition(0, 0, 1, 75) ) ); config.animations.put(AnimType.RELOAD, new BusAnimation() .addBus("TILT", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 250)) - .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 1500)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 250)) + .addKeyframePosition(1, 0, 0, 250) + .addKeyframePosition(1, 0, 0, 1500) + .addKeyframePosition(0, 0, 0, 250) ) .addBus("MAG", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 1, 500)) - .addKeyframe(new BusAnimationKeyframe(1, 0, 1, 500)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 500)) + .addKeyframePosition(0, 0, 1, 500) + .addKeyframePosition(1, 0, 1, 500) + .addKeyframePosition(0, 0, 0, 500) ) ); diff --git a/src/main/java/com/hbm/handler/guncfg/Gun762mmFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun762mmFactory.java index 4dec2a175..3419a631b 100644 --- a/src/main/java/com/hbm/handler/guncfg/Gun762mmFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/Gun762mmFactory.java @@ -15,7 +15,6 @@ import com.hbm.particle.SpentCasing; import com.hbm.particle.SpentCasing.CasingType; import com.hbm.potion.HbmPotion; import com.hbm.render.anim.BusAnimation; -import com.hbm.render.anim.BusAnimationKeyframe; import com.hbm.render.anim.BusAnimationSequence; import com.hbm.render.anim.HbmAnimations.AnimType; import com.hbm.render.util.RenderScreenOverlay.Crosshair; @@ -58,15 +57,15 @@ public class Gun762mmFactory { config.animations.put(AnimType.CYCLE, new BusAnimation() .addBus("RECOIL", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 25)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 75)) + .addKeyframePosition(1, 0, 0, 25) + .addKeyframePosition(0, 0, 0, 75) ) ); config.animations.put(AnimType.RELOAD, new BusAnimation() .addBus("MAG", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, -1, 0, 500)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 500)) + .addKeyframePosition(0, -1, 0, 500) + .addKeyframePosition(0, 0, 0, 500) ) ); @@ -177,19 +176,19 @@ public class Gun762mmFactory { config.animations.put(AnimType.CYCLE, new BusAnimation() .addBus("RECOIL", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 25)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 75)) + .addKeyframePosition(1, 0, 0, 25) + .addKeyframePosition(0, 0, 0, 75) ) .addBus("LEVER_PULL", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 375)) //wait out recoil and lever flick - .addKeyframe(new BusAnimationKeyframe(-1, 0, 0, 375)) //pull back bolt - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 375)) //release bolt + .addKeyframePosition(0, 0, 0, 375) //wait out recoil and lever flick + .addKeyframePosition(-1, 0, 0, 375) //pull back bolt + .addKeyframePosition(0, 0, 0, 375) //release bolt ) .addBus("LEVER_ROTATE", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 250)) //wait out recoil - .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 125)) //flick up lever in 125ms - .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 750)) //pull action - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 125)) //flick down lever again + .addKeyframePosition(0, 0, 0, 250) //wait out recoil + .addKeyframePosition(1, 0, 0, 125) //flick up lever in 125ms + .addKeyframePosition(1, 0, 0, 750) //pull action + .addKeyframePosition(0, 0, 0, 125) //flick down lever again ) ); @@ -216,19 +215,19 @@ public class Gun762mmFactory { config.animations.put(AnimType.CYCLE, new BusAnimation() .addBus("RECOIL", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 25)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 75)) + .addKeyframePosition(1, 0, 0, 25) + .addKeyframePosition(0, 0, 0, 75) ) .addBus("LEVER_PULL", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 375)) //wait out recoil and lever flick - .addKeyframe(new BusAnimationKeyframe(-1, 0, 0, 375)) //pull back bolt - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 375)) //release bolt + .addKeyframePosition(0, 0, 0, 375) //wait out recoil and lever flick + .addKeyframePosition(-1, 0, 0, 375) //pull back bolt + .addKeyframePosition(0, 0, 0, 375) //release bolt ) .addBus("LEVER_ROTATE", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 250)) //wait out recoil - .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 125)) //flick up lever in 125ms - .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 750)) //pull action - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 125)) //flick down lever again + .addKeyframePosition(0, 0, 0, 250) //wait out recoil + .addKeyframePosition(1, 0, 0, 125) //flick up lever in 125ms + .addKeyframePosition(1, 0, 0, 750) //pull action + .addKeyframePosition(0, 0, 0, 125) //flick down lever again ) ); @@ -259,19 +258,19 @@ public class Gun762mmFactory { config.animations.put(AnimType.CYCLE, new BusAnimation() .addBus("RECOIL", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 25)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 75)) + .addKeyframePosition(1, 0, 0, 25) + .addKeyframePosition(0, 0, 0, 75) ) .addBus("LEVER_PULL", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 375)) //wait out recoil and lever flick - .addKeyframe(new BusAnimationKeyframe(-1, 0, 0, 375)) //pull back bolt - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 375)) //release bolt + .addKeyframePosition(0, 0, 0, 375) //wait out recoil and lever flick + .addKeyframePosition(-1, 0, 0, 375) //pull back bolt + .addKeyframePosition(0, 0, 0, 375) //release bolt ) .addBus("LEVER_ROTATE", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 250)) //wait out recoil - .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 125)) //flick up lever in 125ms - .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 750)) //pull action - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 125)) //flick down lever again + .addKeyframePosition(0, 0, 0, 250) //wait out recoil + .addKeyframePosition(1, 0, 0, 125) //flick up lever in 125ms + .addKeyframePosition(1, 0, 0, 750) //pull action + .addKeyframePosition(0, 0, 0, 125) //flick down lever again ) ); diff --git a/src/main/java/com/hbm/handler/guncfg/GunGaussFactory.java b/src/main/java/com/hbm/handler/guncfg/GunGaussFactory.java index 6fee544a6..905f80321 100644 --- a/src/main/java/com/hbm/handler/guncfg/GunGaussFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/GunGaussFactory.java @@ -9,7 +9,6 @@ import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.items.ModItems; import com.hbm.lib.HbmCollection.EnumGunManufacturer; import com.hbm.render.anim.BusAnimation; -import com.hbm.render.anim.BusAnimationKeyframe; import com.hbm.render.anim.BusAnimationSequence; import com.hbm.render.anim.HbmAnimations.AnimType; import com.hbm.render.util.RenderScreenOverlay.Crosshair; @@ -42,8 +41,8 @@ public class GunGaussFactory { config.animations.put(AnimType.CYCLE, new BusAnimation() .addBus("RECOIL", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 25)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 75)) + .addKeyframePosition(1, 0, 0, 25) + .addKeyframePosition(0, 0, 0, 75) ) ); diff --git a/src/main/java/com/hbm/handler/guncfg/GunGrenadeFactory.java b/src/main/java/com/hbm/handler/guncfg/GunGrenadeFactory.java index 092b7fd5a..1d7f84c1f 100644 --- a/src/main/java/com/hbm/handler/guncfg/GunGrenadeFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/GunGrenadeFactory.java @@ -11,10 +11,12 @@ import com.hbm.items.ModItems; import com.hbm.items.ItemAmmoEnums.AmmoGrenade; import com.hbm.lib.HbmCollection; import com.hbm.lib.HbmCollection.EnumGunManufacturer; +import com.hbm.main.ResourceManager; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; import com.hbm.particle.SpentCasing; import com.hbm.particle.SpentCasing.CasingType; +import com.hbm.render.anim.HbmAnimations.AnimType; import com.hbm.render.util.RenderScreenOverlay.Crosshair; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -31,7 +33,7 @@ public class GunGrenadeFactory { static { EJECTOR_LAUNCHER = new CasingEjector().setAngleRange(0.02F, 0.03F).setAfterReload(); EJECTOR_CONGOLAKE = new CasingEjector().setMotion(0.3, 0.1, 0).setAngleRange(0.02F, 0.03F).setDelay(15); - CASING40MM = new SpentCasing(CasingType.STRAIGHT).setScale(4F, 4F, 3F).setBounceMotion(0.02F, 0.03F).setColor(0x777777).setupSmoke(1F, 0.5D, 60, 40); + CASING40MM = new SpentCasing(CasingType.STRAIGHT).setScale(4F, 4F, 3F).setBounceMotion(0.02F, 0.03F).setColor(SpentCasing.COLOR_CASE_40MM, 0x4B5443).setupSmoke(1F, 0.5D, 60, 40); } public static GunConfiguration getHK69Config() { @@ -69,11 +71,11 @@ public class GunGrenadeFactory { GunConfiguration config = new GunConfiguration(); - config.rateOfFire = 20; + config.rateOfFire = 24; config.roundsPerCycle = 1; config.gunMode = GunConfiguration.MODE_NORMAL; config.firingMode = GunConfiguration.FIRE_MANUAL; - config.reloadDuration = 20; + config.reloadDuration = 16; config.firingDuration = 0; config.ammoCap = 4; config.reloadType = GunConfiguration.RELOAD_SINGLE; @@ -81,6 +83,7 @@ public class GunGrenadeFactory { config.crosshair = Crosshair.L_CIRCUMFLEX; config.firingSound = "hbm:weapon.glShoot"; config.reloadSound = GunConfiguration.RSOUND_GRENADE_NEW; + config.reloadSoundEnd = false; config.name = "congoLake"; config.manufacturer = EnumGunManufacturer.NAWS; @@ -89,7 +92,18 @@ public class GunGrenadeFactory { config.durability = 2500; config.ejector = EJECTOR_CONGOLAKE; - + + config.reloadAnimationsSequential = true; + + config.loadAnimations = i -> { + config.animations.put(AnimType.CYCLE, ResourceManager.congolake_anim.get("Fire")); + config.animations.put(AnimType.CYCLE_EMPTY, ResourceManager.congolake_anim.get("FireEmpty")); + config.animations.put(AnimType.RELOAD, ResourceManager.congolake_anim.get("ReloadStart")); + config.animations.put(AnimType.RELOAD_EMPTY, ResourceManager.congolake_anim.get("ReloadEmpty")); + config.animations.put(AnimType.RELOAD_CYCLE, ResourceManager.congolake_anim.get("Reload")); + config.animations.put(AnimType.RELOAD_END, ResourceManager.congolake_anim.get("ReloadEnd")); + }; + return config; } @@ -193,7 +207,7 @@ public class GunGrenadeFactory { bullet.explosive = 7.5F; bullet.jolt = 6.5D; - bullet.spentCasing = CASING40MM.clone().register("40MMIF"); + bullet.spentCasing = CASING40MM.clone().register("40MMIF").setColor(SpentCasing.COLOR_CASE_40MM, 0x1C1C1C); return bullet; } @@ -210,7 +224,7 @@ public class GunGrenadeFactory { bullet.explosive = 10.0F; bullet.trail = 3; - bullet.spentCasing = CASING40MM.clone().register("40MMCon"); + bullet.spentCasing = CASING40MM.clone().register("40MMCon").setColor(SpentCasing.COLOR_CASE_40MM, 0x3D5E1D); return bullet; } @@ -224,7 +238,7 @@ public class GunGrenadeFactory { bullet.explosive = 1.5F; bullet.trail = 5; - bullet.spentCasing = CASING40MM.clone().register("40MMFin"); + bullet.spentCasing = CASING40MM.clone().register("40MMFin").setColor(SpentCasing.COLOR_CASE_40MM, 0x007FDB); return bullet; } @@ -241,7 +255,7 @@ public class GunGrenadeFactory { BulletConfigFactory.nuclearExplosion(bulletnt, x, y, z, ExplosionNukeSmall.PARAMS_TOTS); }; - bullet.spentCasing = CASING40MM.clone().register("40MMNuke"); + bullet.spentCasing = CASING40MM.clone().register("40MMNuke").setColor(SpentCasing.COLOR_CASE_40MM, 0xE2C000); return bullet; } @@ -257,7 +271,7 @@ public class GunGrenadeFactory { bullet.trail = 5; bullet.vPFX = "bluedust"; - bullet.spentCasing = CASING40MM.clone().register("40MMTrac").setColor(0xEEEEEE); + bullet.spentCasing = CASING40MM.clone().register("40MMTrac").setColor(0xEEEEEE, 0x0075CA); return bullet; } diff --git a/src/main/java/com/hbm/handler/guncfg/GunRocketFactory.java b/src/main/java/com/hbm/handler/guncfg/GunRocketFactory.java index b6b0714dd..1c933ce55 100644 --- a/src/main/java/com/hbm/handler/guncfg/GunRocketFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/GunRocketFactory.java @@ -13,7 +13,6 @@ import com.hbm.items.ModItems; import com.hbm.items.ItemAmmoEnums.AmmoRocket; import com.hbm.lib.HbmCollection.EnumGunManufacturer; import com.hbm.render.anim.BusAnimation; -import com.hbm.render.anim.BusAnimationKeyframe; import com.hbm.render.anim.BusAnimationSequence; import com.hbm.render.anim.HbmAnimations.AnimType; import com.hbm.render.util.RenderScreenOverlay.Crosshair; @@ -84,23 +83,23 @@ public class GunRocketFactory { config.animations.put(AnimType.CYCLE, new BusAnimation() .addBus("QUADRO_RECOIL", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, -0.5, 50)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 50)) + .addKeyframePosition(0, 0, -0.5, 50) + .addKeyframePosition(0, 0, 0, 50) ) ); config.animations.put(AnimType.RELOAD, new BusAnimation() .addBus("QUADRO_RELOAD_ROTATE", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 60, 750)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 60, 3500)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 750)) + .addKeyframePosition(0, 0, 60, 750) + .addKeyframePosition(0, 0, 60, 3500) + .addKeyframePosition(0, 0, 0, 750) ) .addBus("QUADRO_RELOAD_PUSH", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(-1, -1, 0, 0)) - .addKeyframe(new BusAnimationKeyframe(-1, -1, 0, 750)) - .addKeyframe(new BusAnimationKeyframe(-1, 0, 0, 500)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 3000)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 750)) + .addKeyframePosition(-1, -1, 0, 0) + .addKeyframePosition(-1, -1, 0, 750) + .addKeyframePosition(-1, 0, 0, 500) + .addKeyframePosition(0, 0, 0, 3000) + .addKeyframePosition(0, 0, 0, 750) ) ); diff --git a/src/main/java/com/hbm/handler/imc/ICompatNHNEI.java b/src/main/java/com/hbm/handler/imc/ICompatNHNEI.java new file mode 100644 index 000000000..c1d630223 --- /dev/null +++ b/src/main/java/com/hbm/handler/imc/ICompatNHNEI.java @@ -0,0 +1,14 @@ +package com.hbm.handler.imc; + +import net.minecraft.item.ItemStack; + +public interface ICompatNHNEI { + /** + * First item on the list is the icon for the recipe in the NEI GUI, the + * rest are displayed on the sidebar as other items that can be used for the + * same purpose + **/ + public ItemStack[] getMachinesForRecipe(); + public String getRecipeID(); + +} diff --git a/src/main/java/com/hbm/handler/imc/IMCHandlerNHNEI.java b/src/main/java/com/hbm/handler/imc/IMCHandlerNHNEI.java new file mode 100644 index 000000000..78defc553 --- /dev/null +++ b/src/main/java/com/hbm/handler/imc/IMCHandlerNHNEI.java @@ -0,0 +1,61 @@ +package com.hbm.handler.imc; + +import codechicken.nei.recipe.TemplateRecipeHandler; +import com.hbm.lib.RefStrings; +import com.hbm.main.NEIRegistry; + +import cpw.mods.fml.common.event.FMLInterModComms; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; + +public class IMCHandlerNHNEI { + + public static void IMCSender() { + + for(TemplateRecipeHandler handler : NEIRegistry.listAllHandlers()) { + + Class handlerClass = handler.getClass(); + + if(handler instanceof ICompatNHNEI && ((ICompatNHNEI) handler).getMachinesForRecipe() != null) { + String blockName = "hbm:" + ((ICompatNHNEI) handler).getMachinesForRecipe()[0].getUnlocalizedName(); + String hClass = handlerClass.getName(); + sendHandler(hClass, ((ICompatNHNEI) handler).getRecipeID(), blockName); + for(ItemStack stack : ((ICompatNHNEI) handler).getMachinesForRecipe()) { + sendCatalyst(hClass, "hbm:" + stack.getUnlocalizedName()); + } + } + } + } + + private static void sendHandler(String aName, String handlerID, String aBlock) { + sendHandler(aName, handlerID, aBlock, 3); + } + + private static void sendHandler(String aName, String handlerID, String aBlock, int maxRecipesPerPage) { + NBTTagCompound aNBT = new NBTTagCompound(); + aNBT.setString("handler", aName); + aNBT.setString("handlerID", handlerID); + aNBT.setString("modName", RefStrings.NAME); + aNBT.setString("modId", RefStrings.MODID); + aNBT.setBoolean("modRequired", true); + aNBT.setString("itemName", aBlock); + aNBT.setInteger("handlerHeight", 65); + aNBT.setInteger("handlerWidth", 166); + aNBT.setInteger("maxRecipesPerPage", maxRecipesPerPage); + aNBT.setInteger("yShift", 6); + FMLInterModComms.sendMessage("NotEnoughItems", "registerHandlerInfo", aNBT); + } + + private static void sendCatalyst(String aName, String aStack, int aPriority) { + NBTTagCompound aNBT = new NBTTagCompound(); + aNBT.setString("handlerID", aName); + aNBT.setString("catalystHandlerID", aName); + aNBT.setString("itemName", aStack); + aNBT.setInteger("priority", aPriority); + FMLInterModComms.sendMessage("NotEnoughItems", "registerCatalystInfo", aNBT); + } + + private static void sendCatalyst(String aName, String aStack) { + sendCatalyst(aName, aStack, 0); + } +} diff --git a/src/main/java/com/hbm/handler/nei/AlloyFurnaceRecipeHandler.java b/src/main/java/com/hbm/handler/nei/AlloyFurnaceRecipeHandler.java index 8b76d904b..ee1d09a5b 100644 --- a/src/main/java/com/hbm/handler/nei/AlloyFurnaceRecipeHandler.java +++ b/src/main/java/com/hbm/handler/nei/AlloyFurnaceRecipeHandler.java @@ -7,6 +7,8 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; +import com.hbm.blocks.ModBlocks; +import com.hbm.handler.imc.ICompatNHNEI; import com.hbm.inventory.gui.GUIDiFurnace; import com.hbm.inventory.recipes.BlastFurnaceRecipes; import com.hbm.inventory.recipes.MachineRecipes; @@ -17,10 +19,22 @@ import codechicken.nei.recipe.TemplateRecipeHandler; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.item.ItemStack; -public class AlloyFurnaceRecipeHandler extends TemplateRecipeHandler { +public class AlloyFurnaceRecipeHandler extends TemplateRecipeHandler implements ICompatNHNEI { public static ArrayList fuels; + @Override + public ItemStack[] getMachinesForRecipe() { + return new ItemStack[]{ + new ItemStack(ModBlocks.machine_difurnace_off), + new ItemStack(ModBlocks.machine_difurnace_rtg_off)}; + } + + @Override + public String getRecipeID() { + return "alloysmelting"; + } + public class SmeltingSet extends TemplateRecipeHandler.CachedRecipe { PositionedStack input1; PositionedStack input2; diff --git a/src/main/java/com/hbm/handler/nei/AnvilRecipeHandler.java b/src/main/java/com/hbm/handler/nei/AnvilRecipeHandler.java index 4df799a33..2621af6f1 100644 --- a/src/main/java/com/hbm/handler/nei/AnvilRecipeHandler.java +++ b/src/main/java/com/hbm/handler/nei/AnvilRecipeHandler.java @@ -7,7 +7,9 @@ import java.util.ArrayList; import java.util.LinkedList; import java.util.List; +import com.hbm.blocks.ModBlocks; import com.hbm.blocks.machine.NTMAnvil; +import com.hbm.handler.imc.ICompatNHNEI; import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.gui.GUIAnvil; import com.hbm.inventory.recipes.anvil.AnvilRecipes; @@ -24,7 +26,29 @@ import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -public class AnvilRecipeHandler extends TemplateRecipeHandler { +public class AnvilRecipeHandler extends TemplateRecipeHandler implements ICompatNHNEI { + + @Override + public ItemStack[] getMachinesForRecipe() { + return new ItemStack[]{ + new ItemStack(ModBlocks.anvil_iron), + new ItemStack(ModBlocks.anvil_lead), + new ItemStack(ModBlocks.anvil_steel), + new ItemStack(ModBlocks.anvil_desh), + new ItemStack(ModBlocks.anvil_saturnite), + new ItemStack(ModBlocks.anvil_ferrouranium), + new ItemStack(ModBlocks.anvil_bismuth_bronze), + new ItemStack(ModBlocks.anvil_arsenic_bronze), + new ItemStack(ModBlocks.anvil_schrabidate), + new ItemStack(ModBlocks.anvil_dnt), + new ItemStack(ModBlocks.anvil_osmiridium), + new ItemStack(ModBlocks.anvil_murky)}; + } + + @Override + public String getRecipeID() { + return "ntmAnvil"; + } public LinkedList transferRectsRec = new LinkedList(); public LinkedList transferRectsGui = new LinkedList(); diff --git a/src/main/java/com/hbm/handler/nei/AssemblerRecipeHandler.java b/src/main/java/com/hbm/handler/nei/AssemblerRecipeHandler.java index f533fc02c..d3ddb9df0 100644 --- a/src/main/java/com/hbm/handler/nei/AssemblerRecipeHandler.java +++ b/src/main/java/com/hbm/handler/nei/AssemblerRecipeHandler.java @@ -6,6 +6,8 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; +import com.hbm.blocks.ModBlocks; +import com.hbm.handler.imc.ICompatNHNEI; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.gui.GUIMachineAssembler; import com.hbm.inventory.recipes.AssemblerRecipes; @@ -19,13 +21,25 @@ import codechicken.nei.recipe.TemplateRecipeHandler; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.item.ItemStack; -public class AssemblerRecipeHandler extends TemplateRecipeHandler { +public class AssemblerRecipeHandler extends TemplateRecipeHandler implements ICompatNHNEI { public LinkedList transferRectsRec = new LinkedList(); public LinkedList transferRectsGui = new LinkedList(); public LinkedList> guiRec = new LinkedList>(); public LinkedList> guiGui = new LinkedList>(); + @Override + public ItemStack[] getMachinesForRecipe() { + return new ItemStack[]{ + new ItemStack(ModBlocks.machine_assembler), + new ItemStack(ModBlocks.machine_assemfac)}; + } + + @Override + public String getRecipeID() { + return "assembly"; + } + public class SmeltingSet extends TemplateRecipeHandler.CachedRecipe { List input; diff --git a/src/main/java/com/hbm/handler/nei/BoilerRecipeHandler.java b/src/main/java/com/hbm/handler/nei/BoilerRecipeHandler.java deleted file mode 100644 index 5d966c2b8..000000000 --- a/src/main/java/com/hbm/handler/nei/BoilerRecipeHandler.java +++ /dev/null @@ -1,132 +0,0 @@ -package com.hbm.handler.nei; - -import java.awt.Rectangle; -import java.util.Arrays; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; - -import com.hbm.inventory.gui.GUIMachineBoiler; -import com.hbm.inventory.gui.GUIMachineBoilerElectric; -import com.hbm.inventory.recipes.MachineRecipes; -import com.hbm.lib.RefStrings; - -import codechicken.nei.PositionedStack; -import codechicken.nei.recipe.TemplateRecipeHandler; -import net.minecraft.client.gui.inventory.GuiContainer; -import net.minecraft.item.ItemStack; - -public class BoilerRecipeHandler extends TemplateRecipeHandler { - - public LinkedList transferRectsRec = new LinkedList(); - public LinkedList transferRectsGui = new LinkedList(); - public LinkedList> guiRec = new LinkedList>(); - public LinkedList> guiGui = new LinkedList>(); - - public class SmeltingSet extends TemplateRecipeHandler.CachedRecipe - { - PositionedStack input; - PositionedStack result; - - public SmeltingSet(ItemStack input, ItemStack result) { - input.stackSize = 1; - this.input = new PositionedStack(input, 21 + 9, 6 + 18); - this.result = new PositionedStack(result, 120, 24); - } - - @Override - public List getIngredients() { - return getCycledIngredients(cycleticks / 48, Arrays.asList(new PositionedStack[] {input})); - } - - @Override - public PositionedStack getResult() { - return result; - } - } - - @Override - public String getRecipeName() { - return "Boiler"; - } - - @Override - public String getGuiTexture() { - return RefStrings.MODID + ":textures/gui/nei/gui_nei_boiler.png"; - } - - @Override - public Class getGuiClass() { - return null; - } - - @Override - public TemplateRecipeHandler newInstance() { - return super.newInstance(); - } - - @Override - public void loadCraftingRecipes(String outputId, Object... results) { - if ((outputId.equals("ntmboiler")) && getClass() == BoilerRecipeHandler.class) { - Map recipes = MachineRecipes.instance().getBoilerRecipes(); - for (Map.Entry recipe : recipes.entrySet()) { - this.arecipes.add(new SmeltingSet((ItemStack)recipe.getKey(), - (ItemStack)recipe.getValue())); - } - } else { - super.loadCraftingRecipes(outputId, results); - } - } - - @Override - public void loadCraftingRecipes(ItemStack result) { - Map recipes = MachineRecipes.instance().getBoilerRecipes(); - for (Map.Entry recipe : recipes.entrySet()) { - if (compareFluidStacks((ItemStack)recipe.getValue(), result) || - compareFluidStacks((ItemStack)recipe.getValue(), result)) - this.arecipes.add(new SmeltingSet((ItemStack)recipe.getKey(), - (ItemStack)recipe.getValue())); - } - } - - @Override - public void loadUsageRecipes(String inputId, Object... ingredients) { - if ((inputId.equals("ntmboiler")) && getClass() == BoilerRecipeHandler.class) { - loadCraftingRecipes("ntmboiler", new Object[0]); - } else { - super.loadUsageRecipes(inputId, ingredients); - } - } - - @Override - public void loadUsageRecipes(ItemStack ingredient) { - Map recipes = MachineRecipes.instance().getBoilerRecipes(); - for (Map.Entry recipe : recipes.entrySet()) { - if (compareFluidStacks(ingredient, (ItemStack)recipe.getKey())) - this.arecipes.add(new SmeltingSet((ItemStack)recipe.getKey(), - (ItemStack)recipe.getValue())); - } - } - - private boolean compareFluidStacks(ItemStack sta1, ItemStack sta2) { - return sta1.getItem() == sta2.getItem() && sta1.getItemDamage() == sta2.getItemDamage(); - } - - @Override - public void drawExtras(int recipe) { - drawProgressBar(80, 23, 0, 85, 6, 17, 240, 3); - } - - @Override - public void loadTransferRects() { - transferRectsGui = new LinkedList(); - guiGui = new LinkedList>(); - - transferRects.add(new RecipeTransferRect(new Rectangle(138 - 1 - 36 - 27 - 9, 23, 36, 18), "ntmboiler")); - transferRectsGui.add(new RecipeTransferRect(new Rectangle(18 * 2 + 2 + 36, 89 - 29 - 18 - 18, 18, 18 * 2), "ntmboiler")); - guiGui.add(GUIMachineBoiler.class); - guiGui.add(GUIMachineBoilerElectric.class); - RecipeTransferRectHandler.registerRectsToGuis(getRecipeTransferRectGuis(), transferRects); - RecipeTransferRectHandler.registerRectsToGuis(guiGui, transferRectsGui); - } -} diff --git a/src/main/java/com/hbm/handler/nei/BookRecipeHandler.java b/src/main/java/com/hbm/handler/nei/BookRecipeHandler.java index 44e6c7ded..d77b5ac74 100644 --- a/src/main/java/com/hbm/handler/nei/BookRecipeHandler.java +++ b/src/main/java/com/hbm/handler/nei/BookRecipeHandler.java @@ -4,6 +4,7 @@ import java.awt.Rectangle; import java.util.ArrayList; import java.util.List; +import com.hbm.handler.imc.ICompatNHNEI; import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.RecipesCommon.OreDictStack; @@ -14,12 +15,22 @@ import com.hbm.inventory.recipes.MagicRecipes.MagicRecipe; import codechicken.nei.NEIServerUtils; import codechicken.nei.PositionedStack; import codechicken.nei.recipe.TemplateRecipeHandler; +import com.hbm.items.ModItems; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.item.ItemStack; -public class BookRecipeHandler extends TemplateRecipeHandler { +public class BookRecipeHandler extends TemplateRecipeHandler implements ICompatNHNEI { + @Override + public ItemStack[] getMachinesForRecipe() { + return new ItemStack[]{ + new ItemStack(ModItems.book_of_)}; + } - public class RecipeSet extends TemplateRecipeHandler.CachedRecipe { + @Override + public String getRecipeID() { + return "book_of_boxcars"; + } + public class RecipeSet extends TemplateRecipeHandler.CachedRecipe { List input; PositionedStack result; diff --git a/src/main/java/com/hbm/handler/nei/BreederRecipeHandler.java b/src/main/java/com/hbm/handler/nei/BreederRecipeHandler.java index 8f91f8d75..0fc3f70d2 100644 --- a/src/main/java/com/hbm/handler/nei/BreederRecipeHandler.java +++ b/src/main/java/com/hbm/handler/nei/BreederRecipeHandler.java @@ -5,6 +5,8 @@ import java.util.Arrays; import java.util.List; import java.util.Map; +import com.hbm.blocks.ModBlocks; +import com.hbm.handler.imc.ICompatNHNEI; import com.hbm.inventory.gui.GUIMachineReactorBreeding; import com.hbm.inventory.recipes.BreederRecipes; import com.hbm.inventory.recipes.BreederRecipes.BreederRecipe; @@ -16,8 +18,18 @@ import codechicken.nei.recipe.TemplateRecipeHandler; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.item.ItemStack; -public class BreederRecipeHandler extends TemplateRecipeHandler { +public class BreederRecipeHandler extends TemplateRecipeHandler implements ICompatNHNEI { + @Override + public ItemStack[] getMachinesForRecipe() { + return new ItemStack[]{ + new ItemStack(ModBlocks.machine_reactor_breeding)}; + } + + @Override + public String getRecipeID() { + return "breeding"; + } public class BreedingSet extends TemplateRecipeHandler.CachedRecipe { PositionedStack input; diff --git a/src/main/java/com/hbm/handler/nei/ChemplantRecipeHandler.java b/src/main/java/com/hbm/handler/nei/ChemplantRecipeHandler.java index 9ef27b9a9..b0b5e19a4 100644 --- a/src/main/java/com/hbm/handler/nei/ChemplantRecipeHandler.java +++ b/src/main/java/com/hbm/handler/nei/ChemplantRecipeHandler.java @@ -5,6 +5,8 @@ import java.util.ArrayList; import java.util.LinkedList; import java.util.List; +import com.hbm.blocks.ModBlocks; +import com.hbm.handler.imc.ICompatNHNEI; import com.hbm.inventory.FluidStack; import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.gui.GUIMachineChemplant; @@ -20,14 +22,26 @@ import codechicken.nei.recipe.TemplateRecipeHandler; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.item.ItemStack; -public class ChemplantRecipeHandler extends TemplateRecipeHandler { +public class ChemplantRecipeHandler extends TemplateRecipeHandler implements ICompatNHNEI { public LinkedList transferRectsRec = new LinkedList(); public LinkedList transferRectsGui = new LinkedList(); public LinkedList> guiRec = new LinkedList>(); public LinkedList> guiGui = new LinkedList>(); + @Override + public ItemStack[] getMachinesForRecipe() { + return new ItemStack[]{ + new ItemStack(ModBlocks.machine_chemplant), + new ItemStack(ModBlocks.machine_chemfac)}; + } + + @Override + public String getRecipeID() { + return "chemistry"; + } public class RecipeSet extends TemplateRecipeHandler.CachedRecipe { + PositionedStack[] itemIn = new PositionedStack[4]; PositionedStack[] fluidIn = new PositionedStack[2]; PositionedStack[] itemOut = new PositionedStack[4]; diff --git a/src/main/java/com/hbm/handler/nei/ChunkyHandler.java b/src/main/java/com/hbm/handler/nei/ChunkyHandler.java deleted file mode 100644 index 02ff171c1..000000000 --- a/src/main/java/com/hbm/handler/nei/ChunkyHandler.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.hbm.handler.nei; - -import static codechicken.lib.gui.GuiDraw.drawTexturedModalRect; - -import org.lwjgl.opengl.GL11; - -import com.hbm.config.GeneralConfig; -import com.hbm.lib.RefStrings; - -import codechicken.nei.PositionedStack; -import codechicken.nei.guihook.GuiContainerManager; -import codechicken.nei.recipe.TemplateRecipeHandler; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.FontRenderer; -import net.minecraft.client.renderer.RenderHelper; -import net.minecraft.item.ItemStack; - -public class ChunkyHandler extends TemplateRecipeHandler { - - public class RecipeSet extends TemplateRecipeHandler.CachedRecipe { - - ItemStack stack; - - public RecipeSet(ItemStack stack) { - this.stack = stack.copy(); - this.stack.stackSize = 1; - } - - @Override - public PositionedStack getResult() { - return null; - } - } - - @Override - public String getRecipeName() { - return ""; - } - - @Override - public String getGuiTexture() { - return RefStrings.MODID + ":textures/gui/nei/gui_nei.png"; - } - - @Override - public void loadCraftingRecipes(ItemStack result) { - if(GeneralConfig.enableChunkyNEIHandler) - this.arecipes.add(new RecipeSet(result)); - } - - @Override - public void loadUsageRecipes(ItemStack ingredient) { - if(GeneralConfig.enableChunkyNEIHandler) - this.arecipes.add(new RecipeSet(ingredient)); - } - - @Override - public void drawExtras(int recipe) { - RecipeSet rec = (RecipeSet) this.arecipes.get(recipe); - drawTexturedModalRect(145, 0, 20, 20, 20, 20); - GL11.glPushMatrix(); - GL11.glTranslated(83, 50, 0); - double scale = 5D; - GL11.glScaled(scale, scale, scale); - RenderHelper.enableGUIStandardItemLighting(); - GL11.glTranslated(-8, -8, 0); - GuiContainerManager.drawItem(0, 0, rec.stack); - GL11.glPopMatrix(); - RenderHelper.enableGUIStandardItemLighting(); - - FontRenderer font = Minecraft.getMinecraft().fontRenderer; - - int w = 83; - String top = "The same thing but in big"; - String bottom = "so you can really stare at it"; - font.drawString(top, w - font.getStringWidth(top) / 2, 100, 0x404040); - font.drawString(bottom, w - font.getStringWidth(bottom) / 2, 110, 0x404040); - } -} diff --git a/src/main/java/com/hbm/handler/nei/ConstructionHandler.java b/src/main/java/com/hbm/handler/nei/ConstructionHandler.java index c845f1601..baf61bfc1 100644 --- a/src/main/java/com/hbm/handler/nei/ConstructionHandler.java +++ b/src/main/java/com/hbm/handler/nei/ConstructionHandler.java @@ -16,6 +16,14 @@ public class ConstructionHandler extends NEIUniversalHandler { super("Construction", getRecipes(true), getRecipes(false)); } + @Override + public ItemStack[] getMachinesForRecipe() { + return new ItemStack[]{ + new ItemStack(ModItems.acetylene_torch), + new ItemStack(ModItems.blowtorch), + new ItemStack(ModItems.boltgun)}; + } + @Override public String getKey() { return "ntmConstruction"; @@ -33,9 +41,9 @@ public class ConstructionHandler extends NEIUniversalHandler { /* WATZ */ ItemStack[] watz = new ItemStack[] { new ItemStack(ModBlocks.watz_end, 48), - new ItemStack(ModItems.bolt_dura_steel, 64), - new ItemStack(ModItems.bolt_dura_steel, 64), - new ItemStack(ModItems.bolt_dura_steel, 64), + Mats.MAT_DURA.make(ModItems.bolt, 64), + Mats.MAT_DURA.make(ModItems.bolt, 64), + Mats.MAT_DURA.make(ModItems.bolt, 64), new ItemStack(ModBlocks.watz_element, 36), new ItemStack(ModBlocks.watz_cooler, 26), new ItemStack(ModItems.boltgun)}; @@ -83,12 +91,12 @@ public class ConstructionHandler extends NEIUniversalHandler { /* SOYUZ LAUNCHER */ ItemStack[] soysauce = new ItemStack[] { - new ItemStack(ModBlocks.struct_launcher, 60), - ItemStackUtil.addTooltipToStack(new ItemStack(ModBlocks.struct_launcher, 320), EnumChatFormatting.RED + "5x64"), - new ItemStack(ModBlocks.struct_scaffold, 53), + new ItemStack(ModBlocks.struct_launcher, 30), + ItemStackUtil.addTooltipToStack(new ItemStack(ModBlocks.struct_launcher, 384), EnumChatFormatting.RED + "6x64"), + new ItemStack(ModBlocks.struct_scaffold, 63), ItemStackUtil.addTooltipToStack(new ItemStack(ModBlocks.struct_scaffold, 384), EnumChatFormatting.RED + "6x64"), - new ItemStack(ModBlocks.concrete_smooth, 8), - ItemStackUtil.addTooltipToStack(new ItemStack(ModBlocks.concrete_smooth, 320), EnumChatFormatting.RED + "5x64"),}; + new ItemStack(ModBlocks.concrete_smooth, 38), + ItemStackUtil.addTooltipToStack(new ItemStack(ModBlocks.concrete_smooth, 320), EnumChatFormatting.RED + "4x64"),}; bufferedRecipes.put(soysauce, new ItemStack(ModBlocks.soyuz_launcher)); bufferedTools.put(soysauce, new ItemStack(ModBlocks.struct_soyuz_core)); diff --git a/src/main/java/com/hbm/handler/nei/CrucibleAlloyingHandler.java b/src/main/java/com/hbm/handler/nei/CrucibleAlloyingHandler.java index 80ccd314b..4cdca10fe 100644 --- a/src/main/java/com/hbm/handler/nei/CrucibleAlloyingHandler.java +++ b/src/main/java/com/hbm/handler/nei/CrucibleAlloyingHandler.java @@ -6,6 +6,7 @@ import java.util.LinkedList; import java.util.List; import com.hbm.blocks.ModBlocks; +import com.hbm.handler.imc.ICompatNHNEI; import com.hbm.inventory.material.Mats; import com.hbm.inventory.material.Mats.MaterialStack; import com.hbm.inventory.material.NTMMaterial; @@ -20,7 +21,16 @@ import codechicken.nei.recipe.TemplateRecipeHandler; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.item.ItemStack; -public class CrucibleAlloyingHandler extends TemplateRecipeHandler { +public class CrucibleAlloyingHandler extends TemplateRecipeHandler implements ICompatNHNEI { + @Override + public ItemStack[] getMachinesForRecipe() { + return new ItemStack[]{ + new ItemStack(ModBlocks.machine_crucible)}; + } + @Override + public String getRecipeID() { + return "ntmCrucibleAlloying"; + } public LinkedList transferRectsRec = new LinkedList(); public LinkedList> guiRec = new LinkedList>(); diff --git a/src/main/java/com/hbm/handler/nei/CrucibleCastingHandler.java b/src/main/java/com/hbm/handler/nei/CrucibleCastingHandler.java index 1befff001..eff865fb4 100644 --- a/src/main/java/com/hbm/handler/nei/CrucibleCastingHandler.java +++ b/src/main/java/com/hbm/handler/nei/CrucibleCastingHandler.java @@ -6,6 +6,8 @@ import java.util.Arrays; import java.util.LinkedList; import java.util.List; +import com.hbm.blocks.ModBlocks; +import com.hbm.handler.imc.ICompatNHNEI; import com.hbm.inventory.material.Mats; import com.hbm.inventory.recipes.CrucibleRecipes; import com.hbm.items.machine.ItemMold; @@ -17,7 +19,19 @@ import codechicken.nei.recipe.TemplateRecipeHandler; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.item.ItemStack; -public class CrucibleCastingHandler extends TemplateRecipeHandler { +public class CrucibleCastingHandler extends TemplateRecipeHandler implements ICompatNHNEI { + + @Override + public ItemStack[] getMachinesForRecipe() { + return new ItemStack[]{ + new ItemStack(ModBlocks.foundry_basin), + new ItemStack(ModBlocks.foundry_mold), + new ItemStack(ModBlocks.machine_strand_caster)}; + } + @Override + public String getRecipeID() { + return "ntmCrucibleFoundry"; + } public LinkedList transferRectsRec = new LinkedList(); public LinkedList> guiRec = new LinkedList>(); diff --git a/src/main/java/com/hbm/handler/nei/CrucibleSmeltingHandler.java b/src/main/java/com/hbm/handler/nei/CrucibleSmeltingHandler.java index b6af31dc1..63bbc26e7 100644 --- a/src/main/java/com/hbm/handler/nei/CrucibleSmeltingHandler.java +++ b/src/main/java/com/hbm/handler/nei/CrucibleSmeltingHandler.java @@ -9,6 +9,7 @@ import java.util.List; import java.util.Map.Entry; import com.hbm.blocks.ModBlocks; +import com.hbm.handler.imc.ICompatNHNEI; import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.recipes.CrucibleRecipes; import com.hbm.lib.RefStrings; @@ -19,8 +20,17 @@ import codechicken.nei.recipe.TemplateRecipeHandler; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.item.ItemStack; -public class CrucibleSmeltingHandler extends TemplateRecipeHandler { - +public class CrucibleSmeltingHandler extends TemplateRecipeHandler implements ICompatNHNEI { + + @Override + public ItemStack[] getMachinesForRecipe() { + return new ItemStack[]{ + new ItemStack(ModBlocks.machine_crucible)}; + } + @Override + public String getRecipeID() { + return "ntmCrucibleSmelting"; + } public LinkedList transferRectsRec = new LinkedList(); public LinkedList> guiRec = new LinkedList>(); diff --git a/src/main/java/com/hbm/handler/nei/CustomMachineHandler.java b/src/main/java/com/hbm/handler/nei/CustomMachineHandler.java index 844af6e60..fa3b88f6a 100644 --- a/src/main/java/com/hbm/handler/nei/CustomMachineHandler.java +++ b/src/main/java/com/hbm/handler/nei/CustomMachineHandler.java @@ -5,6 +5,7 @@ import java.util.ArrayList; import java.util.LinkedList; import java.util.List; +import codechicken.lib.gui.GuiDraw; import com.hbm.blocks.ModBlocks; import com.hbm.config.CustomMachineConfigJSON; import com.hbm.config.CustomMachineConfigJSON.MachineConfiguration; @@ -25,10 +26,10 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; public class CustomMachineHandler extends TemplateRecipeHandler { - + public LinkedList transferRectsRec = new LinkedList(); public LinkedList> guiRec = new LinkedList>(); - + public MachineConfiguration conf; @Override @@ -39,20 +40,25 @@ public class CustomMachineHandler extends TemplateRecipeHandler { throw new RuntimeException(e); } } - + public CustomMachineHandler(MachineConfiguration conf) { super(); this.conf = conf; loadTransferRects(); RecipeTransferRectHandler.registerRectsToGuis(getRecipeTransferRectGuis(), transferRects); } - + public class RecipeSet extends TemplateRecipeHandler.CachedRecipe { List inputs = new ArrayList(); PositionedStack machine; List outputs = new ArrayList(); - + public int flux = 0; + public int heat = 0; + public float radiationAmount = 0; + public String pollutionType; + public float pollutionAmount = 0; + public RecipeSet(CustomMachineRecipe recipe) { for(int i = 0; i < 3; i++) if(recipe.inputFluids.length > i) inputs.add(new PositionedStack(ItemFluidIcon.make(recipe.inputFluids[i]), 12 + i * 18, 6)); @@ -60,7 +66,7 @@ public class CustomMachineHandler extends TemplateRecipeHandler { for(int i = 3; i < 6; i++) if(recipe.inputItems.length > i) inputs.add(new PositionedStack(recipe.inputItems[i].extractForNEI(), 12 + (i - 3) * 18, 42)); for(int i = 0; i < 3; i++) if(recipe.outputFluids.length > i) outputs.add(new PositionedStack(ItemFluidIcon.make(recipe.outputFluids[i]), 102 + i * 18, 6)); - + for(int i = 0; i < 3; i++) if(recipe.outputItems.length > i) { Pair pair = recipe.outputItems[i]; ItemStack out = pair.getKey().copy(); @@ -69,7 +75,7 @@ public class CustomMachineHandler extends TemplateRecipeHandler { } outputs.add(new PositionedStack(out, 102 + i * 18, 24)); } - + for(int i = 3; i < 6; i++) if(recipe.outputItems.length > i) { Pair pair = recipe.outputItems[i]; ItemStack out = pair.getKey().copy(); @@ -79,6 +85,12 @@ public class CustomMachineHandler extends TemplateRecipeHandler { outputs.add(new PositionedStack(out, 102 + (i - 3) * 18, 42)); } + this.pollutionType = recipe.pollutionType; + this.pollutionAmount = recipe.pollutionAmount; + this.radiationAmount = recipe.radiationAmount; + if(conf.fluxMode) this.flux = recipe.flux; + if(conf.maxHeat > 0 && recipe.heat > 0) this.heat = recipe.heat; + this.machine = new PositionedStack(new ItemStack(ModBlocks.custom_machine, 1, 100 + CustomMachineConfigJSON.niceList.indexOf(conf)), 75, 42); } @@ -111,14 +123,14 @@ public class CustomMachineHandler extends TemplateRecipeHandler { public String getGuiTexture() { return RefStrings.MODID + ":textures/gui/nei/gui_nei_custom.png"; } - + @Override public void loadCraftingRecipes(String outputId, Object... results) { - + if(outputId.equals("ntm_" + conf.unlocalizedName)) { - + List recipes = CustomMachineRecipes.recipes.get(conf.recipeKey); - + if(recipes != null) for(CustomMachineRecipe recipe : recipes) { this.arecipes.add(new RecipeSet(recipe)); } @@ -126,25 +138,25 @@ public class CustomMachineHandler extends TemplateRecipeHandler { super.loadCraftingRecipes(outputId, results); } } - + @Override public void loadCraftingRecipes(ItemStack result) { - + List recipes = CustomMachineRecipes.recipes.get(conf.recipeKey); - + if(recipes != null) outer:for(CustomMachineRecipe recipe : recipes) { - + for(Pair stack : recipe.outputItems) { - + if(NEIServerUtils.areStacksSameTypeCrafting(stack.getKey(), result)) { this.arecipes.add(new RecipeSet(recipe)); continue outer; } } - + for(FluidStack fluid : recipe.outputFluids) { ItemStack drop = ItemFluidIcon.make(fluid); - + if(compareFluidStacks(result, drop)) { this.arecipes.add(new RecipeSet(recipe)); continue outer; @@ -152,28 +164,28 @@ public class CustomMachineHandler extends TemplateRecipeHandler { } } } - + @Override public void loadUsageRecipes(String inputId, Object... ingredients) { - + if(inputId.equals("ntm_" + conf.unlocalizedName)) { loadCraftingRecipes("ntm_" + conf.unlocalizedName, new Object[0]); } else { super.loadUsageRecipes(inputId, ingredients); } } - + @Override public void loadUsageRecipes(ItemStack ingredient) { - + List recipes = CustomMachineRecipes.recipes.get(conf.recipeKey); if(recipes != null) outer:for(CustomMachineRecipe recipe : recipes) { - + for(AStack stack : recipe.inputItems) { - + List stacks = stack.extractForNEI(); - + for(ItemStack sta : stacks) { if(NEIServerUtils.areStacksSameTypeCrafting(ingredient, sta)) { this.arecipes.add(new RecipeSet(recipe)); @@ -181,10 +193,10 @@ public class CustomMachineHandler extends TemplateRecipeHandler { } } } - + for(FluidStack fluid : recipe.inputFluids) { ItemStack drop = ItemFluidIcon.make(fluid); - + if(compareFluidStacks(ingredient, drop)) { this.arecipes.add(new RecipeSet(recipe)); continue outer; @@ -196,11 +208,33 @@ public class CustomMachineHandler extends TemplateRecipeHandler { public static boolean compareFluidStacks(ItemStack sta1, ItemStack sta2) { return sta1.getItem() == sta2.getItem() && sta1.getItemDamage() == sta2.getItemDamage(); } - + @Override public void loadTransferRects() { if(this.conf == null) return; + transferRects.clear(); transferRects.add(new RecipeTransferRect(new Rectangle(65, 23, 36, 18), "ntm_" + conf.unlocalizedName)); RecipeTransferRectHandler.registerRectsToGuis(getRecipeTransferRectGuis(), transferRects); } + @Override + public void drawExtras(int recipe) { + RecipeSet Recipe = (RecipeSet) this.arecipes.get(recipe); + int side = 83; + if(Recipe.radiationAmount != 0){ + String radiation = "Radiation:" + Recipe.radiationAmount + ""; + GuiDraw.drawString(radiation, 160 - GuiDraw.fontRenderer.getStringWidth(radiation), 63, 0x08FF00); + } + if (Recipe.pollutionAmount != 0){ + String pollution = Recipe.pollutionType + ":" + Recipe.pollutionAmount + ""; + GuiDraw.drawString(pollution, 160 - GuiDraw.fontRenderer.getStringWidth(pollution), 75, 0x404040); + } + if(conf.fluxMode) { + String flux = "Flux:" + Recipe.flux + ""; + GuiDraw.drawString(flux, side - GuiDraw.fontRenderer.getStringWidth(flux) / 2, 16, 0x08FF00); + } + if(conf.maxHeat>0 && Recipe.heat>0){ + String heat = "Heat:" + Recipe.heat + ""; + GuiDraw.drawString(heat, side - GuiDraw.fontRenderer.getStringWidth(heat) / 2, 8, 0xFF0000); + } + } } diff --git a/src/main/java/com/hbm/handler/nei/CyclotronRecipeHandler.java b/src/main/java/com/hbm/handler/nei/CyclotronRecipeHandler.java index b4f9221f2..51b0a6b6f 100644 --- a/src/main/java/com/hbm/handler/nei/CyclotronRecipeHandler.java +++ b/src/main/java/com/hbm/handler/nei/CyclotronRecipeHandler.java @@ -6,6 +6,8 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; +import com.hbm.blocks.ModBlocks; +import com.hbm.handler.imc.ICompatNHNEI; import com.hbm.inventory.gui.GUIMachineCyclotron; import com.hbm.inventory.recipes.CyclotronRecipes; import com.hbm.lib.RefStrings; @@ -16,8 +18,17 @@ import codechicken.nei.recipe.TemplateRecipeHandler; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.item.ItemStack; -public class CyclotronRecipeHandler extends TemplateRecipeHandler { - +public class CyclotronRecipeHandler extends TemplateRecipeHandler implements ICompatNHNEI { + @Override + public ItemStack[] getMachinesForRecipe() { + return new ItemStack[]{ + new ItemStack(ModBlocks.machine_cyclotron)}; + } + + @Override + public String getRecipeID() { + return "cyclotronProcessing"; + } public LinkedList transferRectsRec = new LinkedList(); public LinkedList transferRectsGui = new LinkedList(); public LinkedList> guiRec = new LinkedList>(); diff --git a/src/main/java/com/hbm/handler/nei/FluidRecipeHandler.java b/src/main/java/com/hbm/handler/nei/FluidRecipeHandler.java index 792f4465f..3ab732811 100644 --- a/src/main/java/com/hbm/handler/nei/FluidRecipeHandler.java +++ b/src/main/java/com/hbm/handler/nei/FluidRecipeHandler.java @@ -5,7 +5,9 @@ import java.util.Arrays; import java.util.List; import java.util.Map; +import com.hbm.handler.imc.ICompatNHNEI; import com.hbm.inventory.recipes.MachineRecipes; +import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; import codechicken.nei.NEIServerUtils; @@ -14,7 +16,23 @@ import codechicken.nei.recipe.TemplateRecipeHandler; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.item.ItemStack; -public class FluidRecipeHandler extends TemplateRecipeHandler { +public class FluidRecipeHandler extends TemplateRecipeHandler implements ICompatNHNEI { + @Override + public ItemStack[] getMachinesForRecipe() { + return new ItemStack[]{ + new ItemStack(ModItems.fluid_barrel_empty), + new ItemStack(ModItems.fluid_tank_empty), + new ItemStack(ModItems.fluid_tank_lead_empty), + new ItemStack(ModItems.canister_empty), + new ItemStack(ModItems.gas_empty), + new ItemStack(ModItems.cell_empty), + new ItemStack(ModItems.disperser_canister_empty), + new ItemStack(ModItems.glyphid_gland_empty)}; + } + @Override + public String getRecipeID() { + return "fluidcons"; + } public class SmeltingSet extends TemplateRecipeHandler.CachedRecipe { diff --git a/src/main/java/com/hbm/handler/nei/FusionRecipeHandler.java b/src/main/java/com/hbm/handler/nei/FusionRecipeHandler.java index ff6624e23..f5a69a4ec 100644 --- a/src/main/java/com/hbm/handler/nei/FusionRecipeHandler.java +++ b/src/main/java/com/hbm/handler/nei/FusionRecipeHandler.java @@ -6,6 +6,8 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; +import com.hbm.blocks.ModBlocks; +import com.hbm.handler.imc.ICompatNHNEI; import com.hbm.inventory.gui.GUIITER; import com.hbm.inventory.recipes.FusionRecipes; import com.hbm.lib.RefStrings; @@ -16,8 +18,17 @@ import codechicken.nei.recipe.TemplateRecipeHandler; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.item.ItemStack; -public class FusionRecipeHandler extends TemplateRecipeHandler { - +public class FusionRecipeHandler extends TemplateRecipeHandler implements ICompatNHNEI { + + @Override + public ItemStack[] getMachinesForRecipe() { + return new ItemStack[]{ + new ItemStack(ModBlocks.iter)}; + } + @Override + public String getRecipeID() { + return "fusion"; + } public LinkedList transferRectsRec = new LinkedList(); public LinkedList transferRectsGui = new LinkedList(); public LinkedList> guiRec = new LinkedList>(); diff --git a/src/main/java/com/hbm/handler/nei/GasCentrifugeRecipeHandler.java b/src/main/java/com/hbm/handler/nei/GasCentrifugeRecipeHandler.java index add9dcf95..085ec8b7a 100644 --- a/src/main/java/com/hbm/handler/nei/GasCentrifugeRecipeHandler.java +++ b/src/main/java/com/hbm/handler/nei/GasCentrifugeRecipeHandler.java @@ -9,6 +9,8 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; +import com.hbm.blocks.ModBlocks; +import com.hbm.handler.imc.ICompatNHNEI; import com.hbm.inventory.gui.GUIMachineGasCent; import com.hbm.inventory.recipes.GasCentrifugeRecipes; import com.hbm.inventory.recipes.MachineRecipes; @@ -22,8 +24,16 @@ import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.item.ItemStack; -public class GasCentrifugeRecipeHandler extends TemplateRecipeHandler { - +public class GasCentrifugeRecipeHandler extends TemplateRecipeHandler implements ICompatNHNEI { + @Override + public ItemStack[] getMachinesForRecipe() { + return new ItemStack[]{ + new ItemStack(ModBlocks.machine_gascent)}; + } + @Override + public String getRecipeID() { + return "gascentprocessing"; + } public static ArrayList fuels; public class SmeltingSet extends TemplateRecipeHandler.CachedRecipe { diff --git a/src/main/java/com/hbm/handler/nei/HadronRecipeHandler.java b/src/main/java/com/hbm/handler/nei/HadronRecipeHandler.java index cbd520858..b9325cd9c 100644 --- a/src/main/java/com/hbm/handler/nei/HadronRecipeHandler.java +++ b/src/main/java/com/hbm/handler/nei/HadronRecipeHandler.java @@ -8,6 +8,8 @@ import java.util.LinkedList; import java.util.List; import java.util.Locale; +import com.hbm.blocks.ModBlocks; +import com.hbm.handler.imc.ICompatNHNEI; import com.hbm.inventory.gui.GUIHadron; import com.hbm.inventory.recipes.HadronRecipes; import com.hbm.inventory.recipes.HadronRecipes.HadronRecipe; @@ -21,8 +23,17 @@ import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.item.ItemStack; -public class HadronRecipeHandler extends TemplateRecipeHandler { +public class HadronRecipeHandler extends TemplateRecipeHandler implements ICompatNHNEI { + @Override + public ItemStack[] getMachinesForRecipe() { + return new ItemStack[]{ + new ItemStack(ModBlocks.hadron_core)}; + } + @Override + public String getRecipeID() { + return "hadron"; + } public LinkedList transferRectsRec = new LinkedList(); public LinkedList transferRectsGui = new LinkedList(); public LinkedList> guiRec = new LinkedList>(); diff --git a/src/main/java/com/hbm/handler/nei/HydrotreatingHandler.java b/src/main/java/com/hbm/handler/nei/HydrotreatingHandler.java new file mode 100644 index 000000000..81a932ddb --- /dev/null +++ b/src/main/java/com/hbm/handler/nei/HydrotreatingHandler.java @@ -0,0 +1,16 @@ +package com.hbm.handler.nei; + +import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.recipes.HydrotreatingRecipes; + +public class HydrotreatingHandler extends NEIUniversalHandler { + + public HydrotreatingHandler() { + super("Hydrotreating", ModBlocks.machine_hydrotreater, HydrotreatingRecipes.getRecipes()); + } + + @Override + public String getKey() { + return "ntmHydrotreating"; + } +} diff --git a/src/main/java/com/hbm/handler/nei/NEIUniversalHandler.java b/src/main/java/com/hbm/handler/nei/NEIUniversalHandler.java index 0bb53100a..776755b75 100644 --- a/src/main/java/com/hbm/handler/nei/NEIUniversalHandler.java +++ b/src/main/java/com/hbm/handler/nei/NEIUniversalHandler.java @@ -10,6 +10,7 @@ import java.util.LinkedList; import java.util.List; import java.util.Map.Entry; +import com.hbm.handler.imc.ICompatNHNEI; import com.hbm.lib.RefStrings; import com.hbm.util.InventoryUtil; @@ -21,8 +22,13 @@ import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -public abstract class NEIUniversalHandler extends TemplateRecipeHandler { - +public abstract class NEIUniversalHandler extends TemplateRecipeHandler implements ICompatNHNEI { + + @Override + public ItemStack[] getMachinesForRecipe() { + return machine; + } + public LinkedList transferRectsRec = new LinkedList(); public LinkedList transferRectsGui = new LinkedList(); public LinkedList> guiRec = new LinkedList>(); @@ -34,7 +40,6 @@ public abstract class NEIUniversalHandler extends TemplateRecipeHandler { public final HashMap recipes; public HashMap machineOverrides; /// SETUP /// - public NEIUniversalHandler(String display, ItemStack machine[], HashMap recipes) { this.display = display; this.machine = machine; @@ -305,4 +310,9 @@ public abstract class NEIUniversalHandler extends TemplateRecipeHandler { } public abstract String getKey(); + + @Override + public String getRecipeID() { + return getKey(); + } } diff --git a/src/main/java/com/hbm/handler/nei/PressRecipeHandler.java b/src/main/java/com/hbm/handler/nei/PressRecipeHandler.java index fbc14c5cd..f0b2adefb 100644 --- a/src/main/java/com/hbm/handler/nei/PressRecipeHandler.java +++ b/src/main/java/com/hbm/handler/nei/PressRecipeHandler.java @@ -7,6 +7,8 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; +import com.hbm.blocks.ModBlocks; +import com.hbm.handler.imc.ICompatNHNEI; import com.hbm.interfaces.Untested; import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.RecipesCommon.ComparableStack; @@ -25,8 +27,19 @@ import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.item.ItemStack; @Untested -public class PressRecipeHandler extends TemplateRecipeHandler { +public class PressRecipeHandler extends TemplateRecipeHandler implements ICompatNHNEI { + @Override + public ItemStack[] getMachinesForRecipe() { + return new ItemStack[]{ + new ItemStack(ModBlocks.machine_press), + new ItemStack(ModBlocks.machine_epress), + new ItemStack(ModBlocks.machine_conveyor_press)}; + } + @Override + public String getRecipeID() { + return "pressing"; + } public LinkedList transferRectsRec = new LinkedList(); public LinkedList transferRectsGui = new LinkedList(); public LinkedList> guiRec = new LinkedList>(); diff --git a/src/main/java/com/hbm/handler/nei/RTGRecipeHandler.java b/src/main/java/com/hbm/handler/nei/RTGRecipeHandler.java index 77ea8225c..9a92cde64 100644 --- a/src/main/java/com/hbm/handler/nei/RTGRecipeHandler.java +++ b/src/main/java/com/hbm/handler/nei/RTGRecipeHandler.java @@ -11,7 +11,6 @@ public class RTGRecipeHandler extends NEIUniversalHandler { super("RTG", new ItemStack[] { new ItemStack(ModBlocks.machine_rtg_grey), new ItemStack(ModBlocks.machine_difurnace_rtg_off), - new ItemStack(ModBlocks.machine_industrial_generator), new ItemStack(ModBlocks.machine_rtg_furnace_off) }, ItemRTGPellet.getRecipeMap()); } diff --git a/src/main/java/com/hbm/handler/nei/RadiolysisRecipeHandler.java b/src/main/java/com/hbm/handler/nei/RadiolysisRecipeHandler.java index 9d5d619d4..84cd78979 100644 --- a/src/main/java/com/hbm/handler/nei/RadiolysisRecipeHandler.java +++ b/src/main/java/com/hbm/handler/nei/RadiolysisRecipeHandler.java @@ -8,6 +8,8 @@ import java.util.LinkedList; import java.util.List; import java.util.Map.Entry; +import com.hbm.blocks.ModBlocks; +import com.hbm.handler.imc.ICompatNHNEI; import com.hbm.inventory.gui.GUIRadiolysis; import com.hbm.inventory.recipes.RadiolysisRecipes; import com.hbm.lib.RefStrings; @@ -18,8 +20,17 @@ import codechicken.nei.recipe.TemplateRecipeHandler; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.item.ItemStack; -public class RadiolysisRecipeHandler extends TemplateRecipeHandler { - +public class RadiolysisRecipeHandler extends TemplateRecipeHandler implements ICompatNHNEI { + + @Override + public ItemStack[] getMachinesForRecipe() { + return new ItemStack[]{ + new ItemStack(ModBlocks.machine_radiolysis)}; + } + @Override + public String getRecipeID() { + return "ntmRadiolysis"; + } public LinkedList transferRectsRec = new LinkedList(); public LinkedList transferRectsGui = new LinkedList(); public LinkedList> guiRec = new LinkedList>(); diff --git a/src/main/java/com/hbm/handler/nei/RefineryRecipeHandler.java b/src/main/java/com/hbm/handler/nei/RefineryRecipeHandler.java index f3068bf17..f085e4ebe 100644 --- a/src/main/java/com/hbm/handler/nei/RefineryRecipeHandler.java +++ b/src/main/java/com/hbm/handler/nei/RefineryRecipeHandler.java @@ -7,6 +7,8 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; +import com.hbm.blocks.ModBlocks; +import com.hbm.handler.imc.ICompatNHNEI; import com.hbm.inventory.gui.GUIMachineRefinery; import com.hbm.inventory.recipes.RefineryRecipes; import com.hbm.lib.RefStrings; @@ -16,8 +18,17 @@ import codechicken.nei.recipe.TemplateRecipeHandler; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.item.ItemStack; -public class RefineryRecipeHandler extends TemplateRecipeHandler { +public class RefineryRecipeHandler extends TemplateRecipeHandler implements ICompatNHNEI { + @Override + public ItemStack[] getMachinesForRecipe() { + return new ItemStack[]{ + new ItemStack(ModBlocks.machine_refinery)}; + } + @Override + public String getRecipeID() { + return "refinery"; + } public LinkedList transferRectsRec = new LinkedList(); public LinkedList transferRectsGui = new LinkedList(); public LinkedList> guiRec = new LinkedList>(); diff --git a/src/main/java/com/hbm/handler/nei/SILEXRecipeHandler.java b/src/main/java/com/hbm/handler/nei/SILEXRecipeHandler.java index 444489abc..bc1363383 100644 --- a/src/main/java/com/hbm/handler/nei/SILEXRecipeHandler.java +++ b/src/main/java/com/hbm/handler/nei/SILEXRecipeHandler.java @@ -7,6 +7,8 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; +import com.hbm.blocks.ModBlocks; +import com.hbm.handler.imc.ICompatNHNEI; import com.hbm.inventory.gui.GUISILEX; import com.hbm.inventory.recipes.SILEXRecipes; import com.hbm.inventory.recipes.SILEXRecipes.SILEXRecipe; @@ -24,8 +26,17 @@ import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -public class SILEXRecipeHandler extends TemplateRecipeHandler { +public class SILEXRecipeHandler extends TemplateRecipeHandler implements ICompatNHNEI { + @Override + public ItemStack[] getMachinesForRecipe() { + return new ItemStack[]{ + new ItemStack(ModBlocks.machine_silex)}; + } + @Override + public String getRecipeID() { + return "silex"; + } public LinkedList transferRectsRec = new LinkedList(); public LinkedList transferRectsGui = new LinkedList(); public LinkedList> guiRec = new LinkedList>(); diff --git a/src/main/java/com/hbm/handler/nei/ShredderRecipeHandler.java b/src/main/java/com/hbm/handler/nei/ShredderRecipeHandler.java index 396109047..7524f5091 100644 --- a/src/main/java/com/hbm/handler/nei/ShredderRecipeHandler.java +++ b/src/main/java/com/hbm/handler/nei/ShredderRecipeHandler.java @@ -7,6 +7,8 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; +import com.hbm.blocks.ModBlocks; +import com.hbm.handler.imc.ICompatNHNEI; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.gui.GUIMachineShredder; import com.hbm.inventory.recipes.MachineRecipes; @@ -19,8 +21,17 @@ import codechicken.nei.recipe.TemplateRecipeHandler; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.item.ItemStack; -public class ShredderRecipeHandler extends TemplateRecipeHandler { +public class ShredderRecipeHandler extends TemplateRecipeHandler implements ICompatNHNEI { + @Override + public ItemStack[] getMachinesForRecipe() { + return new ItemStack[]{ + new ItemStack(ModBlocks.machine_shredder)}; + } + @Override + public String getRecipeID() { + return "ntmRadiolysis"; + } public static ArrayList fuels; public LinkedList transferRectsRec = new LinkedList(); diff --git a/src/main/java/com/hbm/handler/nei/SmithingRecipeHandler.java b/src/main/java/com/hbm/handler/nei/SmithingRecipeHandler.java index 35e698422..07e502064 100644 --- a/src/main/java/com/hbm/handler/nei/SmithingRecipeHandler.java +++ b/src/main/java/com/hbm/handler/nei/SmithingRecipeHandler.java @@ -5,6 +5,8 @@ import java.util.Arrays; import java.util.LinkedList; import java.util.List; +import com.hbm.blocks.ModBlocks; +import com.hbm.handler.imc.ICompatNHNEI; import com.hbm.inventory.gui.GUIAnvil; import com.hbm.inventory.recipes.anvil.AnvilRecipes; import com.hbm.inventory.recipes.anvil.AnvilSmithingRecipe; @@ -18,8 +20,28 @@ import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.item.ItemStack; -public class SmithingRecipeHandler extends TemplateRecipeHandler { +public class SmithingRecipeHandler extends TemplateRecipeHandler implements ICompatNHNEI { + @Override + public ItemStack[] getMachinesForRecipe() { + return new ItemStack[]{ + new ItemStack(ModBlocks.anvil_iron), + new ItemStack(ModBlocks.anvil_lead), + new ItemStack(ModBlocks.anvil_steel), + new ItemStack(ModBlocks.anvil_desh), + new ItemStack(ModBlocks.anvil_saturnite), + new ItemStack(ModBlocks.anvil_ferrouranium), + new ItemStack(ModBlocks.anvil_bismuth_bronze), + new ItemStack(ModBlocks.anvil_arsenic_bronze), + new ItemStack(ModBlocks.anvil_schrabidate), + new ItemStack(ModBlocks.anvil_dnt), + new ItemStack(ModBlocks.anvil_osmiridium), + new ItemStack(ModBlocks.anvil_murky)}; + } + @Override + public String getRecipeID() { + return "ntmSmithing"; + } public LinkedList transferRectsRec = new LinkedList(); public LinkedList transferRectsGui = new LinkedList(); public LinkedList> guiRec = new LinkedList>(); diff --git a/src/main/java/com/hbm/handler/nei/ToolingHandler.java b/src/main/java/com/hbm/handler/nei/ToolingHandler.java index c50074f1e..9c0420b18 100644 --- a/src/main/java/com/hbm/handler/nei/ToolingHandler.java +++ b/src/main/java/com/hbm/handler/nei/ToolingHandler.java @@ -1,9 +1,17 @@ package com.hbm.handler.nei; import com.hbm.blocks.generic.BlockToolConversion; +import com.hbm.items.ModItems; +import net.minecraft.item.ItemStack; public class ToolingHandler extends NEIUniversalHandler { - + @Override + public ItemStack[] getMachinesForRecipe() { + return new ItemStack[]{ + new ItemStack(ModItems.boltgun), + new ItemStack(ModItems.blowtorch), + new ItemStack(ModItems.acetylene_torch)}; + } public ToolingHandler() { super("Tooling", BlockToolConversion.getRecipes(true), BlockToolConversion.getRecipes(false)); } diff --git a/src/main/java/com/hbm/handler/pollution/PollutionHandler.java b/src/main/java/com/hbm/handler/pollution/PollutionHandler.java index 4ff3b70c1..82ddfeb53 100644 --- a/src/main/java/com/hbm/handler/pollution/PollutionHandler.java +++ b/src/main/java/com/hbm/handler/pollution/PollutionHandler.java @@ -8,24 +8,35 @@ import java.util.Locale; import java.util.Map.Entry; import java.util.UUID; +import com.hbm.config.MobConfig; import com.hbm.config.RadiationConfig; +import com.hbm.entity.mob.glyphid.EntityGlyphid; +import com.hbm.entity.mob.glyphid.EntityGlyphidDigger; +import com.hbm.entity.mob.glyphid.EntityGlyphidScout; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.TickEvent; import cpw.mods.fml.common.gameevent.TickEvent.Phase; import cpw.mods.fml.relauncher.Side; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.EnumCreatureType; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.ai.attributes.AttributeModifier; import net.minecraft.entity.monster.IMob; +import net.minecraft.init.Blocks; import net.minecraft.nbt.CompressedStreamTools; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.util.MathHelper; +import net.minecraft.util.Vec3; import net.minecraft.world.ChunkCoordIntPair; import net.minecraft.world.World; import net.minecraft.world.WorldServer; +import net.minecraft.world.gen.ChunkProviderServer; import net.minecraftforge.event.entity.living.LivingSpawnEvent; +import net.minecraftforge.event.entity.player.PlayerSleepInBedEvent; import net.minecraftforge.event.world.WorldEvent; public class PollutionHandler { @@ -37,7 +48,10 @@ public class PollutionHandler { public static final float SOOT_PER_SECOND = 1F / 25F; /** Baserate of heavy metal generation, balanced around the soot values of combustion engines */ public static final float HEAVY_METAL_PER_SECOND = 1F / 50F; - + /** Baserate for poison when spilled */ + public static final float POISON_PER_SECOND = 1F / 50F; + public static Vec3 targetCoords; + /////////////////////// /// UTILITY METHODS /// /////////////////////// @@ -53,7 +67,7 @@ public class PollutionHandler { data = new PollutionData(); ppw.pollution.put(pos, data); } - data.pollution[type.ordinal()] = MathHelper.clamp_float(data.pollution[type.ordinal()] + amount, 0F, 10_000F); + data.pollution[type.ordinal()] = MathHelper.clamp_float((float) (data.pollution[type.ordinal()] + amount * MobConfig.pollutionMult), 0F, 10_000F); } public static void decrementPollution(World world, int x, int y, int z, PollutionType type, float amount) { @@ -174,6 +188,8 @@ public class PollutionHandler { if(event.side == Side.SERVER && event.phase == Phase.END) { + handleWorldDestruction(); + eggTimer++; if(eggTimer < 60) return; eggTimer = 0; @@ -193,7 +209,7 @@ public class PollutionHandler { /* CALCULATION */ if(data.pollution[S] > 15) { - pollutionForNeightbors[S] = data.pollution[S] * 0.05F; + pollutionForNeightbors[S] = (float) (data.pollution[S] * 0.05F); data.pollution[S] *= 0.8F; } else { data.pollution[S] *= 0.99F; @@ -242,6 +258,43 @@ public class PollutionHandler { } } + protected static final float DESTRUCTION_THRESHOLD = 15F; + protected static final int DESTRUCTION_COUNT = 5; + + protected static void handleWorldDestruction() { + + for(Entry entry : perWorld.entrySet()) { + + World world = entry.getKey(); + WorldServer serv = (WorldServer) world; + ChunkProviderServer provider = (ChunkProviderServer) serv.getChunkProvider(); + + for(Entry pollution : entry.getValue().pollution.entrySet()) { + + float poison = pollution.getValue().pollution[PollutionType.POISON.ordinal()]; + if(poison < DESTRUCTION_THRESHOLD) continue; + + ChunkCoordIntPair entryPos = pollution.getKey(); + + for(int i = 0; i < DESTRUCTION_COUNT; i++) { + int x = (entryPos.chunkXPos << 6) + world.rand.nextInt(64); + int z = (entryPos.chunkZPos << 6) + world.rand.nextInt(64); + + if(provider.chunkExists(x >> 4, z >> 4)) { + int y = world.getHeightValue(x, z) - world.rand.nextInt(3) + 1; + Block b = world.getBlock(x, y, z); + + if(b == Blocks.grass || (b == Blocks.dirt && world.getBlockMetadata(x, y, z) == 0)) { + world.setBlock(x, y, z, Blocks.dirt, 1, 3); + } else if(b == Blocks.tallgrass || b.getMaterial() == Material.leaves || b.getMaterial() == Material.plants) { + world.setBlock(x, y, z, Blocks.air); + } + } + } + } + } + } + ////////////////////// /// DATA STRUCTURE /// ////////////////////// @@ -325,7 +378,7 @@ public class PollutionHandler { PollutionData data = getPollutionData(world, (int) Math.floor(event.x), (int) Math.floor(event.y), (int) Math.floor(event.z)); if(data == null) return; - if(living instanceof IMob) { + if(living instanceof IMob && !(living instanceof EntityGlyphid)) { if(data.pollution[PollutionType.SOOT.ordinal()] > RadiationConfig.buffMobThreshold) { if(living.getEntityAttribute(SharedMonsterAttributes.maxHealth) != null && living.getEntityAttribute(SharedMonsterAttributes.maxHealth).getModifier(maxHealth) == null) living.getEntityAttribute(SharedMonsterAttributes.maxHealth).applyModifier(new AttributeModifier(maxHealth, "Soot Anger Health Increase", 1D, 1)); @@ -334,4 +387,38 @@ public class PollutionHandler { } } } + ///RAMPANT MODE STUFFS/// + + @SubscribeEvent + public void rampantTargetSetter(PlayerSleepInBedEvent event){ + if (MobConfig.rampantGlyphidGuidance) targetCoords = Vec3.createVectorHelper(event.x, event.y, event.z); + } + + @SubscribeEvent + public void rampantScoutPopulator(WorldEvent.PotentialSpawns event){ + + if(MobConfig.rampantNaturalScoutSpawn && !event.world.isRemote && event.world.provider.dimensionId == 0 && event.type == EnumCreatureType.monster + && event.world.canBlockSeeTheSky(event.x, event.y, event.z) && !event.isCanceled()) { + + if (event.world.rand.nextInt(MobConfig.rampantScoutSpawnChance) == 0) { + + float soot = PollutionHandler.getPollution(event.world, event.x, event.y, event.z, PollutionType.SOOT); + + if (soot >= MobConfig.rampantScoutSpawnThresh) { + EntityGlyphidScout scout = new EntityGlyphidScout(event.world); + scout.setLocationAndAngles(event.x, event.y, event.z, event.world.rand.nextFloat() * 360.0F, 0.0F); + if(scout.isValidLightLevel()) { + //escort for the scout, which can also deal with obstacles + EntityGlyphidDigger digger = new EntityGlyphidDigger(event.world); + scout.setLocationAndAngles(event.x, event.y, event.z, event.world.rand.nextFloat() * 360.0F, 0.0F); + digger.setLocationAndAngles(event.x, event.y, event.z, event.world.rand.nextFloat() * 360.0F, 0.0F); + if(scout.getCanSpawnHere()) event.world.spawnEntityInWorld(scout); + if(digger.getCanSpawnHere()) event.world.spawnEntityInWorld(digger); + } + } + } + } + + } + } diff --git a/src/main/java/com/hbm/handler/radiation/ChunkRadiationHandler3D.java b/src/main/java/com/hbm/handler/radiation/ChunkRadiationHandler3D.java index 30066a91e..a1b85d242 100644 --- a/src/main/java/com/hbm/handler/radiation/ChunkRadiationHandler3D.java +++ b/src/main/java/com/hbm/handler/radiation/ChunkRadiationHandler3D.java @@ -97,7 +97,6 @@ public class ChunkRadiationHandler3D extends ChunkRadiationHandler { if(buff.containsKey(newCoord)) { int newY = MathHelper.clamp_int(y + j, 0, 15); Float[] vals = radiation.get(newCoord); - float rad = vals[newY]; float newRad = vals[newY] + chunk.getValue()[newY] * percent; vals[newY] = Math.max(0F, newRad * 0.999F - 0.05F); } diff --git a/src/main/java/com/hbm/hazard/HazardRegistry.java b/src/main/java/com/hbm/hazard/HazardRegistry.java index b670bfde7..61a8dbab4 100644 --- a/src/main/java/com/hbm/hazard/HazardRegistry.java +++ b/src/main/java/com/hbm/hazard/HazardRegistry.java @@ -13,6 +13,7 @@ import com.hbm.inventory.OreDictManager.DictFrame; import com.hbm.inventory.material.MaterialShapes; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemBreedingRod.BreedingRodType; +import com.hbm.items.machine.ItemPWRFuel.EnumPWRFuel; import com.hbm.items.machine.ItemRTGPelletDepleted.DepletedRTGMaterial; import com.hbm.items.machine.ItemWatzPellet.EnumWatzType; import com.hbm.items.machine.ItemZirnoxRod.EnumZirnoxType; @@ -25,6 +26,7 @@ import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +@SuppressWarnings("unused") //shut the fuck up public class HazardRegistry { //CO60 5a β− 030.00Rad/s Spicy @@ -222,6 +224,9 @@ public class HazardRegistry { HazardSystem.register(new ItemStack(ModBlocks.sellafield, 1, 3), makeData(RADIATION, 4F)); HazardSystem.register(new ItemStack(ModBlocks.sellafield, 1, 4), makeData(RADIATION, 5F)); HazardSystem.register(new ItemStack(ModBlocks.sellafield, 1, 5), makeData(RADIATION, 10F)); + + HazardSystem.register(new ItemStack(ModBlocks.ore_sellafield_radgem), makeData(RADIATION, 25F)); + HazardSystem.register(new ItemStack(ModItems.gem_rad), makeData(RADIATION, 25F)); registerOtherFuel(rod_zirnox, EnumZirnoxType.NATURAL_URANIUM_FUEL.ordinal(), u * rod_dual, wst * rod_dual * 11.5F, false); registerOtherFuel(rod_zirnox, EnumZirnoxType.URANIUM_FUEL.ordinal(), uf * rod_dual, wst * rod_dual * 10F, false); @@ -256,15 +261,6 @@ public class HazardRegistry { registerOtherWaste(waste_schrabidium, wst * billet * 15F); registerOtherWaste(waste_zfb_mox, wst * billet * 5F); - registerOtherFuel(pellet_schrabidium, sa326 * ingot * 5, wst * ingot * 100, true); - registerOtherFuel(pellet_hes, saf * ingot * 5, wst * ingot * 75, true); - registerOtherFuel(pellet_mes, saf * ingot * 5, wst * ingot * 50, true); - registerOtherFuel(pellet_les, saf * ingot * 5, wst * ingot * 20, false); - registerOtherFuel(pellet_beryllium, 0F, 10F, false); - registerOtherFuel(pellet_neptunium, np237 * ingot * 5, wst * ingot * 10, false); - registerOtherFuel(pellet_lead, 0F, 15F, false); - registerOtherFuel(pellet_advanced, 0F, 20F, false); - registerOtherFuel(plate_fuel_u233, u233 * ingot, wst * ingot * 13F, false); registerOtherFuel(plate_fuel_u235, u235 * ingot, wst * ingot * 10F, false); registerOtherFuel(plate_fuel_mox, mox * ingot, wst * ingot * 16F, false); @@ -442,6 +438,22 @@ public class HazardRegistry { HazardSystem.register(DictFrame.fromOne(ModItems.watz_pellet, EnumWatzType.DU), makeData(RADIATION, u238 * ingot * 4)); HazardSystem.register(DictFrame.fromOne(ModItems.watz_pellet, EnumWatzType.NQD), makeData(RADIATION, u235 * ingot * 4)); HazardSystem.register(DictFrame.fromOne(ModItems.watz_pellet, EnumWatzType.NQR), makeData(RADIATION, pu239 * ingot * 4)); + + registerPWRFuel(EnumPWRFuel.MEU, uf * billet * 2); + registerPWRFuel(EnumPWRFuel.HEU233, u233 * billet * 2); + registerPWRFuel(EnumPWRFuel.HEU235, u235 * billet * 2); + registerPWRFuel(EnumPWRFuel.MEN, npf * billet * 2); + registerPWRFuel(EnumPWRFuel.HEN237, np237 * billet * 2); + registerPWRFuel(EnumPWRFuel.MOX, mox * billet * 2); + registerPWRFuel(EnumPWRFuel.MEP, purg * billet * 2); + registerPWRFuel(EnumPWRFuel.HEP239, pu239 * billet * 2); + registerPWRFuel(EnumPWRFuel.HEP241, pu241 * billet * 2); + registerPWRFuel(EnumPWRFuel.MEA, amrg * billet * 2); + registerPWRFuel(EnumPWRFuel.HEA242, am242 * billet * 2); + registerPWRFuel(EnumPWRFuel.HES326, sa326 * billet * 2); + registerPWRFuel(EnumPWRFuel.HES327, sa327 * billet * 2); + registerPWRFuel(EnumPWRFuel.BFB_AM_MIX, amrg * billet); + registerPWRFuel(EnumPWRFuel.BFB_PU241, pu241 * billet); HazardSystem.register(powder_yellowcake, makeData(RADIATION, yc * powder)); HazardSystem.register(block_yellowcake, makeData(RADIATION, yc * block * powder_mult)); @@ -535,6 +547,12 @@ public class HazardRegistry { private static HazardData makeData(HazardTypeBase hazard, float level) { return new HazardData().addEntry(hazard, level); } private static HazardData makeData(HazardTypeBase hazard, float level, boolean override) { return new HazardData().addEntry(hazard, level, override); } + private static void registerPWRFuel(EnumPWRFuel fuel, float baseRad) { + HazardSystem.register(DictFrame.fromOne(ModItems.pwr_fuel, fuel), makeData(RADIATION, baseRad)); + HazardSystem.register(DictFrame.fromOne(ModItems.pwr_fuel_hot, fuel), makeData(RADIATION, baseRad * 10).addEntry(HOT, 5)); + HazardSystem.register(DictFrame.fromOne(ModItems.pwr_fuel_depleted, fuel), makeData(RADIATION, baseRad * 10)); + } + private static void registerRBMKPellet(Item pellet, float base, float dep) { registerRBMKPellet(pellet, base, dep, false, 0F, 0F); } private static void registerRBMKPellet(Item pellet, float base, float dep, boolean linear) { registerRBMKPellet(pellet, base, dep, linear, 0F, 0F); } private static void registerRBMKPellet(Item pellet, float base, float dep, boolean linear, float blinding, float digamma) { diff --git a/src/main/java/com/hbm/inventory/FluidContainerRegistry.java b/src/main/java/com/hbm/inventory/FluidContainerRegistry.java index f6f3d2971..c3f0e4afc 100644 --- a/src/main/java/com/hbm/inventory/FluidContainerRegistry.java +++ b/src/main/java/com/hbm/inventory/FluidContainerRegistry.java @@ -1,6 +1,7 @@ package com.hbm.inventory; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import com.hbm.blocks.ModBlocks; @@ -18,8 +19,9 @@ import net.minecraftforge.oredict.OreDictionary; public class FluidContainerRegistry { - //TODO: somehow incorporate hashmaps into this + //TODO: continue incorporating hashmaps into this public static List allContainers = new ArrayList(); + private static HashMap> containerMap = new HashMap>(); public static void register() { FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(Items.water_bucket), new ItemStack(Items.bucket), Fluids.WATER, 1000)); @@ -68,9 +70,14 @@ public class FluidContainerRegistry { if(type.getContainer(CD_Gastank.class) != null) FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.gas_full, 1, id), new ItemStack(ModItems.gas_empty), type, 1000)); if(type.hasNoContainer()) continue; + + if(type.isDispersable()){ + FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.disperser_canister, 1 , i), new ItemStack(ModItems.disperser_canister_empty), Fluids.fromID(i), 2000)); + FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.glyphid_gland, 1 , i), new ItemStack(ModItems.glyphid_gland_empty), Fluids.fromID(i), 4000)); + } FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.fluid_tank_lead_full, 1, id), new ItemStack(ModItems.fluid_tank_lead_empty), type, 1000)); - + if(type.needsLeadContainer()) continue; FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.fluid_tank_full, 1, id), new ItemStack(ModItems.fluid_tank_empty), type, 1000)); @@ -83,6 +90,35 @@ public class FluidContainerRegistry { public static void registerContainer(FluidContainer con) { allContainers.add(con); OreDictionary.registerOre(con.type.getDict(con.content), con.fullContainer); + + if(!containerMap.containsKey(con.type)) + containerMap.put(con.type, new ArrayList()); + + List items = containerMap.get(con.type); + items.add(con); + } + + public static List getContainers(FluidType type) { + return containerMap.get(type); + } + + public static FluidContainer getContainer(FluidType type, ItemStack stack) { + if(stack == null) + return null; + + ItemStack sta = stack.copy(); + sta.stackSize = 1; + + if (!containerMap.containsKey(type)) + return null; + + for (FluidContainer container : getContainers(type)) { + if (ItemStack.areItemStacksEqual(container.emptyContainer, sta) && ItemStack.areItemStackTagsEqual(container.emptyContainer, sta)) { + return container; + } + } + + return null; } public static int getFluidContent(ItemStack stack, FluidType type) { @@ -92,11 +128,12 @@ public class FluidContainerRegistry { ItemStack sta = stack.copy(); sta.stackSize = 1; + + if (!containerMap.containsKey(type)) + return 0; - for(FluidContainer container : allContainers) { - if(container.type == type && - ItemStack.areItemStacksEqual(container.fullContainer, sta) && - ItemStack.areItemStackTagsEqual(container.fullContainer, sta)) + for(FluidContainer container : containerMap.get(type)) { + if(ItemStack.areItemStacksEqual(container.fullContainer, sta) && ItemStack.areItemStackTagsEqual(container.fullContainer, sta)) return container.content; } @@ -126,8 +163,11 @@ public class FluidContainerRegistry { ItemStack sta = stack.copy(); sta.stackSize = 1; - for(FluidContainer container : allContainers) { - if(ItemStack.areItemStacksEqual(container.emptyContainer, sta) && ItemStack.areItemStackTagsEqual(container.emptyContainer, sta) && container.type == type) + if (!containerMap.containsKey(type)) + return null; + + for(FluidContainer container : containerMap.get(type)) { + if(ItemStack.areItemStacksEqual(container.emptyContainer, sta) && ItemStack.areItemStackTagsEqual(container.emptyContainer, sta)) return container.fullContainer.copy(); } diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java index a64fdb6eb..bddf26473 100644 --- a/src/main/java/com/hbm/inventory/OreDictManager.java +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -12,6 +12,7 @@ import static com.hbm.inventory.OreDictManager.DictFrame.*; import static com.hbm.inventory.OreNames.*; import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.generic.BlockOreBasalt.EnumBasaltOreType; import com.hbm.blocks.BlockEnums.EnumStoneType; import com.hbm.config.GeneralConfig; import com.hbm.hazard.HazardData; @@ -98,6 +99,8 @@ public class OreDictManager { public static final String KEY_CIRCUIT_BISMUTH = "circuitVersatile"; + public static final String KEY_GLYPHID_MEAT = "glyphidMeat"; + /* * MATERIALS */ @@ -161,6 +164,10 @@ public class OreDictManager { public static final DictFrame TCALLOY = new DictFrame("TcAlloy"); /** CADMIUM STEEL */ public static final DictFrame CDALLOY = new DictFrame("CdAlloy"); + /** BISMUTH BRONZE */ + public static final DictFrame BBRONZE = new DictFrame("BismuthBronze"); + /** ARSENIC BRONZE */ + public static final DictFrame ABRONZE = new DictFrame("ArsenicBronze"); /** LEAD */ public static final DictFrame PB = new DictFrame("Lead"); public static final DictFrame BI = new DictFrame("Bismuth"); @@ -214,6 +221,7 @@ public class OreDictManager { public static final DictFrame CINNABAR = new DictFrame("Cinnabar"); public static final DictFrame BORAX = new DictFrame("Borax"); public static final DictFrame CHLOROCALCITE = new DictFrame("Chlorocalcite"); + public static final DictFrame MOLYSITE = new DictFrame("Molysite"); public static final DictFrame SODALITE = new DictFrame("Sodalite"); public static final DictFrame VOLCANIC = new DictFrame("Volcanic"); public static final DictFrame HEMATITE = new DictFrame("Hematite"); @@ -286,6 +294,8 @@ public class OreDictManager { public static final DictGroup ANY_HARDPLASTIC = new DictGroup("AnyHardPlastic", PC, PVC); /** Any post nuclear steel like TCA or CDA */ public static final DictGroup ANY_RESISTANTALLOY = new DictGroup("AnyResistantAlloy", TCALLOY, CDALLOY); + /** Any post nuclear steel like TCA or CDA */ + public static final DictGroup ANY_BISMOIDBRONZE = new DictGroup("AnyBismoidBronze", BBRONZE, ABRONZE); /** Any "powder" propellant like gunpowder, ballistite and cordite */ public static final DictFrame ANY_GUNPOWDER = new DictFrame("AnyPropellant"); /** Any smokeless powder like ballistite and cordite */ @@ -300,6 +310,7 @@ public class OreDictManager { /** Any special post-RBMK gating material, namely bismuth and arsenic */ public static final DictFrame ANY_BISMOID = new DictFrame("AnyBismoid"); public static final DictFrame ANY_ASH = new DictFrame("Ash"); + public static void registerOres() { @@ -311,17 +322,17 @@ public class OreDictManager { GOLD.plate(plate_gold).dust(powder_gold).ore(ore_gneiss_gold); LAPIS.dust(powder_lapis); NETHERQUARTZ.gem(Items.quartz).dust(powder_quartz).ore(Blocks.quartz_ore); - DIAMOND.dust(powder_diamond).ore(gravel_diamond); - EMERALD.dust(powder_emerald); + DIAMOND.dust(powder_diamond).ore(gravel_diamond, ore_sellafield_diamond); + EMERALD.dust(powder_emerald).ore(ore_sellafield_emerald); /* * RADIOACTIVE */ - U .rad(HazardRegistry.u) .nugget(nugget_uranium) .billet(billet_uranium) .ingot(ingot_uranium) .dust(powder_uranium) .block(block_uranium) .ore(ore_uranium, ore_uranium_scorched, ore_gneiss_uranium, ore_gneiss_uranium_scorched, ore_nether_uranium, ore_nether_uranium_scorched, ore_meteor_uranium) .oreNether(ore_nether_uranium, ore_nether_uranium_scorched); + U .rad(HazardRegistry.u) .nugget(nugget_uranium) .billet(billet_uranium) .ingot(ingot_uranium) .dust(powder_uranium) .block(block_uranium) .ore(ore_uranium, ore_uranium_scorched, ore_gneiss_uranium, ore_gneiss_uranium_scorched, ore_nether_uranium, ore_nether_uranium_scorched, ore_sellafield_uranium_scorched) .oreNether(ore_nether_uranium, ore_nether_uranium_scorched); U233 .rad(HazardRegistry.u233) .nugget(nugget_u233) .billet(billet_u233) .ingot(ingot_u233) .block(block_u233); U235 .rad(HazardRegistry.u235) .nugget(nugget_u235) .billet(billet_u235) .ingot(ingot_u235) .block(block_u235); U238 .rad(HazardRegistry.u238) .nugget(nugget_u238) .billet(billet_u238) .ingot(ingot_u238) .block(block_u238); - TH232 .rad(HazardRegistry.th232) .nugget(nugget_th232) .billet(billet_th232) .ingot(ingot_th232) .dust(powder_thorium) .block(block_thorium) .ore(ore_thorium, ore_meteor_thorium); + TH232 .rad(HazardRegistry.th232) .nugget(nugget_th232) .billet(billet_th232) .ingot(ingot_th232) .dust(powder_thorium) .block(block_thorium) .ore(ore_thorium); PU .rad(HazardRegistry.pu) .nugget(nugget_plutonium) .billet(billet_plutonium) .ingot(ingot_plutonium) .dust(powder_plutonium) .block(block_plutonium) .ore(ore_nether_plutonium) .oreNether(ore_nether_plutonium); PURG .rad(HazardRegistry.purg) .nugget(nugget_pu_mix) .billet(billet_pu_mix) .ingot(ingot_pu_mix) .block(block_pu_mix); PU238 .rad(HazardRegistry.pu238) .hot(3F) .nugget(nugget_pu238) .billet(billet_pu238) .ingot(ingot_pu238) .block(block_pu238); @@ -339,7 +350,7 @@ public class OreDictManager { CO60 .rad(HazardRegistry.co60) .hot(1) .nugget(nugget_co60) .billet(billet_co60) .ingot(ingot_co60) .dust(powder_co60); AU198 .rad(HazardRegistry.au198) .hot(5) .nugget(nugget_au198) .billet(billet_au198) .ingot(ingot_au198) .dust(powder_au198); PB209 .rad(HazardRegistry.pb209) .blinding(50F) .hot(7) .nugget(nugget_pb209) .billet(billet_pb209) .ingot(ingot_pb209); - SA326 .rad(HazardRegistry.sa326) .blinding(50F) .nugget(nugget_schrabidium) .billet(billet_schrabidium) .ingot(ingot_schrabidium) .dust(powder_schrabidium).plate(plate_schrabidium).plateCast(Mats.MAT_SCHRABIDIUM.make(plate_cast)).block(block_schrabidium).ore(ore_schrabidium, ore_gneiss_schrabidium, ore_nether_schrabidium) .oreNether(ore_nether_schrabidium); + SA326 .rad(HazardRegistry.sa326) .blinding(50F) .nugget(nugget_schrabidium) .billet(billet_schrabidium) .ingot(ingot_schrabidium) .dust(powder_schrabidium).plate(plate_schrabidium).plateCast(Mats.MAT_SCHRABIDIUM.make(plate_cast)).block(block_schrabidium).ore(ore_schrabidium, ore_gneiss_schrabidium, ore_nether_schrabidium, ore_sellafield_schrabidium) .oreNether(ore_nether_schrabidium); SA327 .rad(HazardRegistry.sa327) .blinding(50F) .nugget(nugget_solinium) .billet(billet_solinium) .ingot(ingot_solinium) .block(block_solinium); SBD .rad(HazardRegistry.sb) .blinding(50F) .ingot(ingot_schrabidate) .dust(powder_schrabidate) .block(block_schrabidate); SRN .rad(HazardRegistry.sr) .blinding(50F) .ingot(ingot_schraranium) .block(block_schraranium); @@ -349,17 +360,19 @@ public class OreDictManager { /* * STABLE */ - TI .ingot(ingot_titanium) .dust(powder_titanium) .plate(plate_titanium) .block(block_titanium) .ore(ore_titanium, ore_meteor_titanium); - CU .ingot(ingot_copper) .dust(powder_copper) .plate(plate_copper) .block(block_copper) .ore(ore_copper, ore_gneiss_copper, ore_meteor_copper); + TI .ingot(ingot_titanium) .dust(powder_titanium) .plate(plate_titanium) .block(block_titanium) .ore(ore_titanium); + CU .ingot(ingot_copper) .dust(powder_copper) .plate(plate_copper) .block(block_copper) .ore(ore_copper, ore_gneiss_copper); MINGRADE .ingot(ingot_red_copper) .dust(powder_red_copper) .block(block_red_copper); ALLOY .ingot(ingot_advanced_alloy) .dust(powder_advanced_alloy) .plate(plate_advanced_alloy) .block(block_advanced_alloy); - W .ingot(ingot_tungsten) .dust(powder_tungsten) .block(block_tungsten) .ore(ore_tungsten, ore_nether_tungsten, ore_meteor_tungsten) .oreNether(ore_nether_tungsten); - AL .ingot(ingot_aluminium) .dust(powder_aluminium) .plate(plate_aluminium) .block(block_aluminium) .ore(ore_aluminium, ore_meteor_aluminium); + W .ingot(ingot_tungsten) .dust(powder_tungsten) .block(block_tungsten) .ore(ore_tungsten, ore_nether_tungsten) .oreNether(ore_nether_tungsten); + AL .ingot(ingot_aluminium) .dust(powder_aluminium) .plate(plate_aluminium) .block(block_aluminium) .ore(ore_aluminium); STEEL .ingot(ingot_steel) .dustSmall(powder_steel_tiny) .dust(powder_steel) .plate(plate_steel) .block(block_steel); TCALLOY .ingot(ingot_tcalloy) .dust(powder_tcalloy) .block(block_tcalloy); CDALLOY .ingot(ingot_cdalloy) .block(block_cdalloy); - PB .nugget(nugget_lead) .ingot(ingot_lead) .dust(powder_lead) .plate(plate_lead) .block(block_lead) .ore(ore_lead, ore_meteor_lead); - BI .nugget(nugget_bismuth) .billet(billet_bismuth) .ingot(ingot_bismuth) .dust(powder_bismuth); + BBRONZE .ingot(ingot_bismuth_bronze); + ABRONZE .ingot(ingot_arsenic_bronze); + PB .nugget(nugget_lead) .ingot(ingot_lead) .dust(powder_lead) .plate(plate_lead) .block(block_lead) .ore(ore_lead); + BI .nugget(nugget_bismuth) .billet(billet_bismuth) .ingot(ingot_bismuth) .dust(powder_bismuth) .block(block_bismuth); AS .nugget(nugget_arsenic) .ingot(ingot_arsenic); CA .ingot(ingot_calcium) .dust(powder_calcium); CD .ingot(ingot_cadmium) .dust(powder_cadmium) .block(block_cadmium); @@ -370,7 +383,7 @@ public class OreDictManager { CO .nugget(fragment_cobalt) .nugget(nugget_cobalt) .billet(billet_cobalt) .ingot(ingot_cobalt) .dust(powder_cobalt) .dustSmall(powder_cobalt_tiny) .block(block_cobalt) .ore(ore_cobalt, ore_nether_cobalt); B .nugget(fragment_boron) .ingot(ingot_boron) .dustSmall(powder_boron_tiny) .dust(powder_boron) .block(block_boron); GRAPHITE .ingot(ingot_graphite) .block(block_graphite); - DURA .ingot(ingot_dura_steel) .dust(powder_dura_steel) .block(block_dura_steel); + DURA .ingot(ingot_dura_steel) .dust(powder_dura_steel) .plate(plate_dura_steel) .block(block_dura_steel); POLYMER .ingot(ingot_polymer) .dust(powder_polymer) .block(block_polymer); BAKELITE .ingot(ingot_bakelite) .dust(powder_bakelite) .block(block_bakelite); LATEX .gem(ball_resin) .ingot(ingot_biorubber); @@ -381,21 +394,21 @@ public class OreDictManager { MAGTUNG .ingot(ingot_magnetized_tungsten) .dust(powder_magnetized_tungsten) .block(block_magnetized_tungsten); CMB .ingot(ingot_combine_steel) .dust(powder_combine_steel) .plate(plate_combine_steel) .block(block_combine_steel); DESH .nugget(nugget_desh) .ingot(ingot_desh) .dust(powder_desh) .block(block_desh); - STAR .ingot(ingot_starmetal) .block(block_starmetal) .ore(ore_meteor_starmetal); + STAR .ingot(ingot_starmetal) .block(block_starmetal); BIGMT .ingot(ingot_saturnite) .plate(plate_saturnite); FERRO .ingot(ingot_ferrouranium); EUPH .nugget(nugget_euphemium) .ingot(ingot_euphemium) .dust(powder_euphemium) .block(block_euphemium); DNT .nugget(nugget_dineutronium) .ingot(ingot_dineutronium) .dust(powder_dineutronium) .block(block_dineutronium); FIBER .ingot(ingot_fiberglass) .block(block_fiberglass); - ASBESTOS .asbestos(1F) .ingot(ingot_asbestos) .dust(powder_asbestos) .block(block_asbestos) .ore(ore_asbestos, ore_gneiss_asbestos, basalt_asbestos, DictFrame.fromOne(stone_resource, EnumStoneType.ASBESTOS)); + ASBESTOS .asbestos(1F) .ingot(ingot_asbestos) .dust(powder_asbestos) .block(block_asbestos) .ore(ore_asbestos, ore_gneiss_asbestos, DictFrame.fromOne(ore_basalt, EnumBasaltOreType.ASBESTOS), DictFrame.fromOne(stone_resource, EnumStoneType.ASBESTOS)); OSMIRIDIUM .nugget(nugget_osmiridium) .ingot(ingot_osmiridium); /* * DUST AND GEM ORES */ - S .dust(sulfur) .block(block_sulfur) .ore(ore_sulfur, ore_nether_sulfur, basalt_sulfur, ore_meteor_sulfur, DictFrame.fromOne(stone_resource, EnumStoneType.SULFUR)) .oreNether(ore_nether_sulfur); + S .dust(sulfur) .block(block_sulfur) .ore(ore_sulfur, ore_nether_sulfur, DictFrame.fromOne(ore_basalt, EnumBasaltOreType.SULFUR), DictFrame.fromOne(stone_resource, EnumStoneType.SULFUR)) .oreNether(ore_nether_sulfur); KNO .dust(niter) .block(block_niter) .ore(ore_niter); - F .dust(fluorite) .block(block_fluorite) .ore(ore_fluorite, basalt_fluorite); + F .dust(fluorite) .block(block_fluorite) .ore(ore_fluorite, DictFrame.fromOne(ore_basalt, EnumBasaltOreType.FLUORITE)); LIGNITE .gem(lignite) .dust(powder_lignite) .ore(ore_lignite); COALCOKE .gem(fromOne(coke, EnumCokeType.COAL)) .block(fromOne(block_coke, EnumCokeType.COAL)); PETCOKE .gem(fromOne(coke, EnumCokeType.PETROLEUM)) .block(fromOne(block_coke, EnumCokeType.PETROLEUM)); @@ -403,8 +416,9 @@ public class OreDictManager { CINNABAR .crystal(cinnebar) .gem(cinnebar) .ore(ore_cinnebar, ore_depth_cinnebar); BORAX .dust(powder_borax) .ore(ore_depth_borax); CHLOROCALCITE .dust(powder_chlorocalcite); + MOLYSITE .dust(powder_molysite) .ore(DictFrame.fromOne(ore_basalt, EnumBasaltOreType.MOLYSITE)); SODALITE .gem(gem_sodalite); - VOLCANIC .gem(gem_volcanic) .ore(basalt_gem); + VOLCANIC .gem(gem_volcanic) .ore(DictFrame.fromOne(ore_basalt, EnumBasaltOreType.GEM)); HEMATITE .ore(fromOne(stone_resource, EnumStoneType.HEMATITE)); MALACHITE .ore(fromOne(stone_resource, EnumStoneType.MALACHITE)); SLAG .block(block_slag); @@ -412,14 +426,14 @@ public class OreDictManager { /* * HAZARDS, MISC */ - LI .hydro(1F) .ingot(lithium) .dustSmall(powder_lithium_tiny) .dust(powder_lithium) .block(block_lithium) .ore(ore_gneiss_lithium, ore_meteor_lithium); + LI .hydro(1F) .ingot(lithium) .dustSmall(powder_lithium_tiny) .dust(powder_lithium) .block(block_lithium) .ore(ore_gneiss_lithium); NA .hydro(1F) .dust(powder_sodium); /* * PHOSPHORUS */ P_WHITE .hot(5) .ingot(ingot_phosphorus) .block(block_white_phosphorus); - P_RED .hot(2) .dust(powder_fire) .block(block_red_phosphorus); + P_RED .dust(powder_fire) .block(block_red_phosphorus); /* * RARE METALS @@ -504,13 +518,22 @@ public class OreDictManager { */ OreDictionary.registerOre(KEY_CIRCUIT_BISMUTH, circuit_bismuth); OreDictionary.registerOre(KEY_CIRCUIT_BISMUTH, circuit_arsenic); - + + /* + * GLYPHID M E A T + */ + OreDictionary.registerOre(KEY_GLYPHID_MEAT, new ItemStack(glyphid_meat)); + OreDictionary.registerOre(KEY_GLYPHID_MEAT, new ItemStack(glyphid_meat_grilled)); + for(NTMMaterial mat : Mats.orderedList) { if(mat.smeltable == SmeltingBehavior.SMELTABLE) { + if(mat.shapes.contains(MaterialShapes.BOLT)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.BOLT.name() + name, new ItemStack(ModItems.bolt, 1, mat.id)); if(mat.shapes.contains(MaterialShapes.CASTPLATE)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.CASTPLATE.name() + name, new ItemStack(ModItems.plate_cast, 1, mat.id)); if(mat.shapes.contains(MaterialShapes.WELDEDPLATE)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.WELDEDPLATE.name() + name, new ItemStack(ModItems.plate_welded, 1, mat.id)); if(mat.shapes.contains(MaterialShapes.HEAVY_COMPONENT)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.HEAVY_COMPONENT.name() + name, new ItemStack(ModItems.heavy_component, 1, mat.id)); if(mat.shapes.contains(MaterialShapes.DENSEWIRE)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.DENSEWIRE.name() + name, new ItemStack(ModItems.wire_dense, 1, mat.id)); + if(mat.shapes.contains(MaterialShapes.SHELL)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.SHELL.name() + name, new ItemStack(ModItems.shell, 1, mat.id)); + if(mat.shapes.contains(MaterialShapes.PIPE)) for(String name : mat.names) OreDictionary.registerOre(MaterialShapes.PIPE.name() + name, new ItemStack(ModItems.pipe, 1, mat.id)); } } @@ -612,6 +635,7 @@ public class OreDictManager { ANY_PLASTIC.addPrefix(INGOT, true).addPrefix(DUST, true).addPrefix(BLOCK, true); ANY_HARDPLASTIC.addPrefix(INGOT, true); ANY_RESISTANTALLOY.addPrefix(INGOT, true).addPrefix(DUST, true).addPrefix(PLATECAST, true).addPrefix(PLATEWELDED, true).addPrefix(HEAVY_COMPONENT, true).addPrefix(BLOCK, true); + ANY_BISMOIDBRONZE.addPrefix(INGOT, true).addPrefix(PLATECAST, true); ANY_TAR.addPrefix(ANY, false); } @@ -652,6 +676,7 @@ public class OreDictManager { public String any() { return ANY + mats[0]; } public String nugget() { return NUGGET + mats[0]; } public String tiny() { return TINY + mats[0]; } + public String bolt() { return BOLT + mats[0]; } public String ingot() { return INGOT + mats[0]; } public String dustTiny() { return DUSTTINY + mats[0]; } public String dust() { return DUST + mats[0]; } @@ -662,6 +687,8 @@ public class OreDictManager { public String plateWelded() { return PLATEWELDED + mats[0]; } public String heavyComp() { return HEAVY_COMPONENT + mats[0]; } public String wireDense() { return WIREDENSE + mats[0]; } + public String shell() { return SHELL + mats[0]; } + public String pipe() { return PIPE + mats[0]; } public String billet() { return BILLET + mats[0]; } public String block() { return BLOCK + mats[0]; } public String ore() { return ORE + mats[0]; } @@ -676,6 +703,8 @@ public class OreDictManager { public String[] crystals() { return appendToAll(CRYSTAL); } public String[] plates() { return appendToAll(PLATE); } public String[] plateCasts() { return appendToAll(PLATECAST); } + public String[] shells() { return appendToAll(SHELL); } + public String[] pipes() { return appendToAll(PIPE); } public String[] billets() { return appendToAll(BILLET); } public String[] blocks() { return appendToAll(BLOCK); } public String[] ores() { return appendToAll(ORE); } @@ -905,6 +934,7 @@ public class OreDictManager { public String any() { return ANY + groupName; } public String nugget() { return NUGGET + groupName; } public String tiny() { return TINY + groupName; } + public String bolt() { return BOLT + groupName; } public String ingot() { return INGOT + groupName; } public String dustTiny() { return DUSTTINY + groupName; } public String dust() { return DUST + groupName; } diff --git a/src/main/java/com/hbm/inventory/OreNames.java b/src/main/java/com/hbm/inventory/OreNames.java index 4f1584d60..3ca3a98a7 100644 --- a/src/main/java/com/hbm/inventory/OreNames.java +++ b/src/main/java/com/hbm/inventory/OreNames.java @@ -8,6 +8,7 @@ public class OreNames { public static final String ANY = "any"; public static final String NUGGET = "nugget"; public static final String TINY = "tiny"; + public static final String BOLT = "bolt"; public static final String INGOT = "ingot"; public static final String DUSTTINY = "dustTiny"; public static final String DUST = "dust"; @@ -16,6 +17,8 @@ public class OreNames { public static final String PLATE = "plate"; public static final String PLATECAST = "plateTriple"; //cast plates are solid plates made from 3 ingots, turns out that's literally just a GT triple plate public static final String PLATEWELDED = "plateSextuple"; + public static final String SHELL = "shell"; + public static final String PIPE = "ntmpipe"; public static final String WIREDENSE = "wireDense"; public static final String BILLET = "billet"; public static final String BLOCK = "block"; @@ -24,6 +27,6 @@ public class OreNames { public static final String HEAVY_COMPONENT = "componentHeavy"; public static final String[] prefixes = new String[] { - ANY, NUGGET, TINY, INGOT, DUSTTINY, DUST, GEM, CRYSTAL, PLATE, PLATECAST, BILLET, BLOCK, ORE, ORENETHER, HEAVY_COMPONENT, WIREDENSE + ANY, NUGGET, TINY, BOLT, INGOT, DUSTTINY, DUST, GEM, CRYSTAL, PLATE, PLATECAST, BILLET, BLOCK, ORE, ORENETHER, HEAVY_COMPONENT, WIREDENSE }; } diff --git a/src/main/java/com/hbm/inventory/SlotDeprecated.java b/src/main/java/com/hbm/inventory/SlotDeprecated.java new file mode 100644 index 000000000..1fa16a9d6 --- /dev/null +++ b/src/main/java/com/hbm/inventory/SlotDeprecated.java @@ -0,0 +1,28 @@ +package com.hbm.inventory; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.inventory.IInventory; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +/** + * Deprecated slots can hold items from previous versions, but are otherwise entirely uninteractable + */ +public class SlotDeprecated extends Slot { + + public SlotDeprecated(IInventory inventory, int id, int x, int y) { + super(inventory, id, x, y); + } + + @Override + public boolean isItemValid(ItemStack stack) { + return false; + } + + @Override + @SideOnly(Side.CLIENT) + public boolean func_111238_b() { + return false; + } +} diff --git a/src/main/java/com/hbm/inventory/container/ContainerAMSBase.java b/src/main/java/com/hbm/inventory/container/ContainerAMSBase.java deleted file mode 100644 index fd293f63f..000000000 --- a/src/main/java/com/hbm/inventory/container/ContainerAMSBase.java +++ /dev/null @@ -1,154 +0,0 @@ -package com.hbm.inventory.container; - -import com.hbm.tileentity.machine.TileEntityAMSBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.ICrafting; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class ContainerAMSBase extends Container { - -private TileEntityAMSBase amsBase; - - private int heat; - private int warning; - private int mode; - - public ContainerAMSBase(InventoryPlayer invPlayer, TileEntityAMSBase tedf) { - amsBase = tedf; - - //Cool 1 In - this.addSlotToContainer(new Slot(tedf, 0, 8, 18)); - //Cool 1 Out - this.addSlotToContainer(new Slot(tedf, 1, 8, 54)); - //Cool 2 In - this.addSlotToContainer(new Slot(tedf, 2, 152, 18)); - //Cool 2 Out - this.addSlotToContainer(new Slot(tedf, 3, 152, 54)); - //Fuel 1 In - this.addSlotToContainer(new Slot(tedf, 4, 8, 72)); - //Fuel 1 Out - this.addSlotToContainer(new Slot(tedf, 5, 8, 108)); - //Fuel 2 In - this.addSlotToContainer(new Slot(tedf, 6, 152, 72)); - //Fuel 2 Out - this.addSlotToContainer(new Slot(tedf, 7, 152, 108)); - //Moderator - this.addSlotToContainer(new Slot(tedf, 8, 80, 45)); - this.addSlotToContainer(new Slot(tedf, 9, 62, 63)); - this.addSlotToContainer(new Slot(tedf, 10, 98, 63)); - this.addSlotToContainer(new Slot(tedf, 11, 80, 81)); - //Core - this.addSlotToContainer(new Slot(tedf, 12, 80, 63)); - //Sat Chips - this.addSlotToContainer(new Slot(tedf, 13, 62, 108)); - this.addSlotToContainer(new Slot(tedf, 14, 62 + 18, 108)); - this.addSlotToContainer(new Slot(tedf, 15, 62 + 36, 108)); - - for(int i = 0; i < 3; i++) - { - for(int j = 0; j < 9; j++) - { - this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18 + 56)); - } - } - - for(int i = 0; i < 9; i++) - { - this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142 + 56)); - } - } - - @Override - public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) - { - ItemStack var3 = null; - Slot var4 = (Slot) this.inventorySlots.get(par2); - - if (var4 != null && var4.getHasStack()) - { - ItemStack var5 = var4.getStack(); - var3 = var5.copy(); - - if (par2 <= 3) { - if (!this.mergeItemStack(var5, 4, this.inventorySlots.size(), true)) - { - return null; - } - } - else - return null; - - if (var5.stackSize == 0) - { - var4.putStack((ItemStack) null); - } - else - { - var4.onSlotChanged(); - } - } - - return var3; - } - - @Override - public boolean canInteractWith(EntityPlayer player) { - return amsBase.isUseableByPlayer(player); - } - - @Override - public void detectAndSendChanges() { - super.detectAndSendChanges(); - - for(int i = 0; i < this.crafters.size(); i++) - { - ICrafting par1 = (ICrafting)this.crafters.get(i); - - if(this.heat != this.amsBase.heat) - { - par1.sendProgressBarUpdate(this, 0, this.amsBase.heat); - } - - if(this.warning != this.amsBase.warning) - { - par1.sendProgressBarUpdate(this, 2, this.amsBase.warning); - } - - if(this.mode != this.amsBase.mode) - { - par1.sendProgressBarUpdate(this, 4, this.amsBase.mode); - } - } - - this.heat = this.amsBase.heat; - this.warning = this.amsBase.warning; - this.mode = this.amsBase.mode; - } - - @Override - public void updateProgressBar(int i, int j) { - if(i == 0) - { - amsBase.heat = j; - } - if(i == 1) - { - amsBase.efficiency = j; - } - if(i == 2) - { - amsBase.warning = j; - } - if(i == 3) - { - amsBase.field = j; - } - if(i == 4) - { - amsBase.mode = j; - } - } -} diff --git a/src/main/java/com/hbm/inventory/container/ContainerAMSEmitter.java b/src/main/java/com/hbm/inventory/container/ContainerAMSEmitter.java deleted file mode 100644 index 6a4841a30..000000000 --- a/src/main/java/com/hbm/inventory/container/ContainerAMSEmitter.java +++ /dev/null @@ -1,116 +0,0 @@ -package com.hbm.inventory.container; - -import com.hbm.tileentity.machine.TileEntityAMSEmitter; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.ICrafting; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class ContainerAMSEmitter extends Container { - -private TileEntityAMSEmitter amsEmitter; - - private int heat; - private int warning; - - public ContainerAMSEmitter(InventoryPlayer invPlayer, TileEntityAMSEmitter tedf) { - amsEmitter = tedf; - - //Fluid In - this.addSlotToContainer(new Slot(tedf, 0, 44, 17)); - //Fluid Out - this.addSlotToContainer(new Slot(tedf, 1, 44, 53)); - //Focus - this.addSlotToContainer(new Slot(tedf, 2, 80, 53)); - //Battery - this.addSlotToContainer(new Slot(tedf, 3, 116, 53)); - - for(int i = 0; i < 3; i++) - { - for(int j = 0; j < 9; j++) - { - this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); - } - } - - for(int i = 0; i < 9; i++) - { - this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142)); - } - } - - @Override - public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) - { - ItemStack var3 = null; - Slot var4 = (Slot) this.inventorySlots.get(par2); - - if (var4 != null && var4.getHasStack()) - { - ItemStack var5 = var4.getStack(); - var3 = var5.copy(); - - if (par2 <= 3) { - if (!this.mergeItemStack(var5, 4, this.inventorySlots.size(), true)) - { - return null; - } - } - else - return null; - - if (var5.stackSize == 0) - { - var4.putStack((ItemStack) null); - } - else - { - var4.onSlotChanged(); - } - } - - return var3; - } - - @Override - public boolean canInteractWith(EntityPlayer player) { - return amsEmitter.isUseableByPlayer(player); - } - - @Override - public void detectAndSendChanges() { - super.detectAndSendChanges(); - - for(int i = 0; i < this.crafters.size(); i++) - { - ICrafting par1 = (ICrafting)this.crafters.get(i); - - if(this.heat != this.amsEmitter.heat) - { - par1.sendProgressBarUpdate(this, 0, this.amsEmitter.heat); - } - - if(this.warning != this.amsEmitter.warning) - { - par1.sendProgressBarUpdate(this, 2, this.amsEmitter.warning); - } - } - - this.heat = this.amsEmitter.heat; - this.warning = this.amsEmitter.warning; - } - - @Override - public void updateProgressBar(int i, int j) { - if(i == 0) - { - amsEmitter.heat = j; - } - if(i == 2) - { - amsEmitter.warning = j; - } - } -} diff --git a/src/main/java/com/hbm/inventory/container/ContainerAMSLimiter.java b/src/main/java/com/hbm/inventory/container/ContainerAMSLimiter.java deleted file mode 100644 index 83efdc5b6..000000000 --- a/src/main/java/com/hbm/inventory/container/ContainerAMSLimiter.java +++ /dev/null @@ -1,127 +0,0 @@ -package com.hbm.inventory.container; - -import com.hbm.tileentity.machine.TileEntityAMSLimiter; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.ICrafting; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class ContainerAMSLimiter extends Container { - -private TileEntityAMSLimiter amsLmiter; - - private int heat; - private int warning; - private int mode; - - public ContainerAMSLimiter(InventoryPlayer invPlayer, TileEntityAMSLimiter tedf) { - amsLmiter = tedf; - - //Fluid In - this.addSlotToContainer(new Slot(tedf, 0, 44, 17)); - //Fluid Out - this.addSlotToContainer(new Slot(tedf, 1, 44, 53)); - //Focus - this.addSlotToContainer(new Slot(tedf, 2, 80, 53)); - //Battery - this.addSlotToContainer(new Slot(tedf, 3, 116, 53)); - - for(int i = 0; i < 3; i++) - { - for(int j = 0; j < 9; j++) - { - this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); - } - } - - for(int i = 0; i < 9; i++) - { - this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142)); - } - } - - @Override - public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) - { - ItemStack var3 = null; - Slot var4 = (Slot) this.inventorySlots.get(par2); - - if (var4 != null && var4.getHasStack()) - { - ItemStack var5 = var4.getStack(); - var3 = var5.copy(); - - if (par2 <= 3) { - if (!this.mergeItemStack(var5, 4, this.inventorySlots.size(), true)) - { - return null; - } - } - else - return null; - - if (var5.stackSize == 0) - { - var4.putStack((ItemStack) null); - } - else - { - var4.onSlotChanged(); - } - } - - return var3; - } - - @Override - public boolean canInteractWith(EntityPlayer player) { - return amsLmiter.isUseableByPlayer(player); - } - - @Override - public void detectAndSendChanges() { - super.detectAndSendChanges(); - - for(int i = 0; i < this.crafters.size(); i++) - { - ICrafting par1 = (ICrafting)this.crafters.get(i); - - if(this.heat != this.amsLmiter.heat) - { - par1.sendProgressBarUpdate(this, 0, this.amsLmiter.heat); - } - - if(this.warning != this.amsLmiter.warning) - { - par1.sendProgressBarUpdate(this, 2, this.amsLmiter.warning); - } - - if(this.mode != this.amsLmiter.mode) - { - par1.sendProgressBarUpdate(this, 3, this.amsLmiter.mode); - } - } - - this.heat = this.amsLmiter.heat; - this.warning = this.amsLmiter.warning; - this.mode = this.amsLmiter.mode; - } - - @Override - public void updateProgressBar(int i, int j) { - if(i == 0) - { - amsLmiter.heat = j; - } - if(i == 2) - { - amsLmiter.warning = j; - } - if(i == 3) - { - amsLmiter.mode = j; - } - } -} diff --git a/src/main/java/com/hbm/inventory/container/ContainerBook.java b/src/main/java/com/hbm/inventory/container/ContainerBook.java index a3959b58a..9e1357dae 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerBook.java +++ b/src/main/java/com/hbm/inventory/container/ContainerBook.java @@ -14,109 +14,93 @@ import net.minecraft.inventory.SlotCrafting; import net.minecraft.item.ItemStack; public class ContainerBook extends Container { - - public InventoryCrafting craftMatrix = new InventoryCrafting(this, 2, 2); - public IInventory craftResult = new InventoryCraftResult(); - public ContainerBook(InventoryPlayer inventory) { - - this.addSlotToContainer(new SlotCrafting(inventory.player, this.craftMatrix, this.craftResult, 0, 124, 35)); + public InventoryCrafting craftMatrix = new InventoryCrafting(this, 2, 2); + public IInventory craftResult = new InventoryCraftResult(); - for (int l = 0; l < 2; ++l) { - for (int i1 = 0; i1 < 2; ++i1) { - this.addSlotToContainer(new Slot(this.craftMatrix, i1 + l * 2, 30 + i1 * 36, 17 + l * 36)); - } - } + public ContainerBook(InventoryPlayer inventory) { - for(int l = 0; l < 3; ++l) { - for (int i1 = 0; i1 < 9; ++i1) { - this.addSlotToContainer(new Slot(inventory, i1 + l * 9 + 9, 8 + i1 * 18, 84 + l * 18)); - } - } + this.addSlotToContainer(new SlotCrafting(inventory.player, this.craftMatrix, this.craftResult, 0, 124, 35)); - for(int l = 0; l < 9; ++l) { - this.addSlotToContainer(new Slot(inventory, l, 8 + l * 18, 142)); - } + for(int l = 0; l < 2; ++l) { + for(int i1 = 0; i1 < 2; ++i1) { + this.addSlotToContainer(new Slot(this.craftMatrix, i1 + l * 2, 30 + i1 * 36, 17 + l * 36)); + } + } - this.onCraftMatrixChanged(this.craftMatrix); - } - - public void onCraftMatrixChanged(IInventory inventory) { - this.craftResult.setInventorySlotContents(0, MagicRecipes.getRecipe(this.craftMatrix)); - } - - public void onContainerClosed(EntityPlayer player) { - super.onContainerClosed(player); + for(int l = 0; l < 3; ++l) { + for(int i1 = 0; i1 < 9; ++i1) { + this.addSlotToContainer(new Slot(inventory, i1 + l * 9 + 9, 8 + i1 * 18, 84 + l * 18)); + } + } - if (!player.worldObj.isRemote) { - - for (int i = 0; i < 4; ++i) { - ItemStack itemstack = this.craftMatrix.getStackInSlotOnClosing(i); + for(int l = 0; l < 9; ++l) { + this.addSlotToContainer(new Slot(inventory, l, 8 + l * 18, 142)); + } + + this.onCraftMatrixChanged(this.craftMatrix); + } + + public void onCraftMatrixChanged(IInventory inventory) { + this.craftResult.setInventorySlotContents(0, MagicRecipes.getRecipe(this.craftMatrix)); + } + + public void onContainerClosed(EntityPlayer player) { + super.onContainerClosed(player); + + if(!player.worldObj.isRemote) { + + for(int i = 0; i < 4; ++i) { + ItemStack itemstack = this.craftMatrix.getStackInSlotOnClosing(i); + + if(itemstack != null) + player.dropPlayerItemWithRandomChoice(itemstack, false); + } + } + } - if (itemstack != null) - player.dropPlayerItemWithRandomChoice(itemstack, false); - } - } - } - @Override - public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int p_82846_2_) - { - ItemStack itemstack = null; - Slot slot = (Slot)this.inventorySlots.get(p_82846_2_); + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int p_82846_2_) { + ItemStack itemstack = null; + Slot slot = (Slot) this.inventorySlots.get(p_82846_2_); - if (slot != null && slot.getHasStack()) - { - ItemStack itemstack1 = slot.getStack(); - itemstack = itemstack1.copy(); + if(slot != null && slot.getHasStack()) { + ItemStack itemstack1 = slot.getStack(); + itemstack = itemstack1.copy(); - if (p_82846_2_ == 0) - { - if (!this.mergeItemStack(itemstack1, 10 - 5, 46 - 5, true)) - { - return null; - } + if(p_82846_2_ == 0) { + if(!this.mergeItemStack(itemstack1, 10 - 5, 46 - 5, true)) { + return null; + } - slot.onSlotChange(itemstack1, itemstack); - } - else if (p_82846_2_ >= 10 - 5 && p_82846_2_ < 37 - 5) - { - if (!this.mergeItemStack(itemstack1, 37 - 5, 46 - 5, false)) - { - return null; - } - } - else if (p_82846_2_ >= 37 - 5 && p_82846_2_ < 46 - 5) - { - if (!this.mergeItemStack(itemstack1, 10 - 5, 37 - 5, false)) - { - return null; - } - } - else if (!this.mergeItemStack(itemstack1, 10 - 5, 46 - 5, false)) - { - return null; - } + slot.onSlotChange(itemstack1, itemstack); + } else if(p_82846_2_ >= 10 - 5 && p_82846_2_ < 37 - 5) { + if(!this.mergeItemStack(itemstack1, 37 - 5, 46 - 5, false)) { + return null; + } + } else if(p_82846_2_ >= 37 - 5 && p_82846_2_ < 46 - 5) { + if(!this.mergeItemStack(itemstack1, 10 - 5, 37 - 5, false)) { + return null; + } + } else if(!this.mergeItemStack(itemstack1, 10 - 5, 46 - 5, false)) { + return null; + } - if (itemstack1.stackSize == 0) - { - slot.putStack((ItemStack)null); - } - else - { - slot.onSlotChanged(); - } + if(itemstack1.stackSize == 0) { + slot.putStack((ItemStack) null); + } else { + slot.onSlotChanged(); + } - if (itemstack1.stackSize == itemstack.stackSize) - { - return null; - } + if(itemstack1.stackSize == itemstack.stackSize) { + return null; + } - slot.onPickupFromSlot(p_82846_1_, itemstack1); - } + slot.onPickupFromSlot(p_82846_1_, itemstack1); + } - return itemstack; - } + return itemstack; + } @Override public boolean canInteractWith(EntityPlayer player) { @@ -124,8 +108,7 @@ public class ContainerBook extends Container { } @Override - public boolean func_94530_a(ItemStack stack, Slot slot) { - return slot.inventory != this.craftResult && super.func_94530_a(stack, slot); - } - + public boolean func_94530_a(ItemStack stack, Slot slot) { + return slot.inventory != this.craftResult && super.func_94530_a(stack, slot); + } } diff --git a/src/main/java/com/hbm/inventory/container/ContainerCentrifuge.java b/src/main/java/com/hbm/inventory/container/ContainerCentrifuge.java index 4fca10fa1..58535bd9b 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerCentrifuge.java +++ b/src/main/java/com/hbm/inventory/container/ContainerCentrifuge.java @@ -2,8 +2,11 @@ package com.hbm.inventory.container; import com.hbm.inventory.SlotCraftingOutput; import com.hbm.inventory.SlotUpgrade; +import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemMachineUpgrade; import com.hbm.tileentity.machine.TileEntityMachineCentrifuge; +import api.hbm.energymk2.IBatteryItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; @@ -39,31 +42,43 @@ public class ContainerCentrifuge extends Container { } @Override - public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) { - ItemStack var3 = null; - Slot var4 = (Slot) this.inventorySlots.get(par2); + public ItemStack transferStackInSlot(EntityPlayer player, int index) { + ItemStack rStack = null; + Slot slot = (Slot) this.inventorySlots.get(index); - if(var4 != null && var4.getHasStack()) { - ItemStack var5 = var4.getStack(); - var3 = var5.copy(); - SlotCraftingOutput.checkAchievements(p_82846_1_, var5); - - if(par2 <= 6) { - if(!this.mergeItemStack(var5, 6, this.inventorySlots.size(), true)) { + if(slot != null && slot.getHasStack()) { + ItemStack stack = slot.getStack(); + rStack = stack.copy(); + + + if(index <= 7) { + if(!this.mergeItemStack(stack, 8, this.inventorySlots.size(), true)) { return null; } - } else if(!this.mergeItemStack(var5, 0, 2, false)) { - return null; + + slot.onSlotChange(stack, rStack); + } else { + + if(rStack.getItem() instanceof IBatteryItem || rStack.getItem() == ModItems.battery_creative) { + if(!this.mergeItemStack(stack, 1, 2, false)) + return null; + + } else if(rStack.getItem() instanceof ItemMachineUpgrade) { + if(!this.mergeItemStack(stack, 6, 8, false)) + return null; + + } else if(!this.mergeItemStack(stack, 0, 1, false)) + return null; } - if(var5.stackSize == 0) { - var4.putStack((ItemStack) null); + if(stack.stackSize == 0) { + slot.putStack((ItemStack) null); } else { - var4.onSlotChanged(); + slot.onSlotChanged(); } } - return var3; + return rStack; } @Override diff --git a/src/main/java/com/hbm/inventory/container/ContainerCombustionEngine.java b/src/main/java/com/hbm/inventory/container/ContainerCombustionEngine.java index 3ba9022e5..492bcb866 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerCombustionEngine.java +++ b/src/main/java/com/hbm/inventory/container/ContainerCombustionEngine.java @@ -5,7 +5,7 @@ import com.hbm.items.ModItems; import com.hbm.items.machine.IItemFluidIdentifier; import com.hbm.tileentity.machine.TileEntityMachineCombustionEngine; -import api.hbm.energy.IBatteryItem; +import api.hbm.energymk2.IBatteryItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; diff --git a/src/main/java/com/hbm/inventory/container/ContainerCompressor.java b/src/main/java/com/hbm/inventory/container/ContainerCompressor.java index 3f81b4f68..6e569938d 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerCompressor.java +++ b/src/main/java/com/hbm/inventory/container/ContainerCompressor.java @@ -3,7 +3,7 @@ package com.hbm.inventory.container; import com.hbm.items.machine.IItemFluidIdentifier; import com.hbm.tileentity.machine.TileEntityMachineCompressor; -import api.hbm.energy.IBatteryItem; +import api.hbm.energymk2.IBatteryItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; diff --git a/src/main/java/com/hbm/inventory/container/ContainerCrystallizer.java b/src/main/java/com/hbm/inventory/container/ContainerCrystallizer.java index 0a6747b9b..337bbea28 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerCrystallizer.java +++ b/src/main/java/com/hbm/inventory/container/ContainerCrystallizer.java @@ -2,10 +2,12 @@ package com.hbm.inventory.container; import com.hbm.inventory.SlotCraftingOutput; import com.hbm.inventory.SlotUpgrade; +import com.hbm.items.ModItems; import com.hbm.items.machine.IItemFluidIdentifier; +import com.hbm.items.machine.ItemMachineUpgrade; import com.hbm.tileentity.machine.TileEntityMachineCrystallizer; -import api.hbm.energy.IBatteryItem; +import api.hbm.energymk2.IBatteryItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; @@ -46,44 +48,46 @@ public class ContainerCrystallizer extends Container { } @Override - public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) { - ItemStack var3 = null; - Slot var4 = (Slot) this.inventorySlots.get(par2); + public ItemStack transferStackInSlot(EntityPlayer player, int index) { + ItemStack rStack = null; + Slot slot = (Slot) this.inventorySlots.get(index); - if(var4 != null && var4.getHasStack()) { - ItemStack var5 = var4.getStack(); - var3 = var5.copy(); - SlotCraftingOutput.checkAchievements(p_82846_1_, var5); + if(slot != null && slot.getHasStack()) { + ItemStack stack = slot.getStack(); + rStack = stack.copy(); + SlotCraftingOutput.checkAchievements(player, stack); - if(par2 <= diFurnace.getSizeInventory() - 1) { - if(!this.mergeItemStack(var5, diFurnace.getSizeInventory(), this.inventorySlots.size(), true)) { + if(index <= 7) { + if(!this.mergeItemStack(stack, 8, this.inventorySlots.size(), true)) { return null; } } else { - if(var3.getItem() instanceof IBatteryItem) { - if(!this.mergeItemStack(var5, 1, 2, false)) { + if(rStack.getItem() instanceof IBatteryItem || rStack.getItem() == ModItems.battery_creative) { + if(!this.mergeItemStack(stack, 1, 2, false)) return null; - } - } else if(var3.getItem() instanceof IItemFluidIdentifier) { - if(!this.mergeItemStack(var5, 7, 8, false)) { + + } else if(rStack.getItem() instanceof IItemFluidIdentifier) { + if(!this.mergeItemStack(stack, 7, 8, false)) return null; - } - } else { - if(!this.mergeItemStack(var5, 0, 1, false)) { + + } else if(rStack.getItem() instanceof ItemMachineUpgrade) { + if(!this.mergeItemStack(stack, 5, 7, false)) + return null; + + } else + if(!this.mergeItemStack(stack, 0, 1, false)) return null; - } - } } - if(var5.stackSize == 0) { - var4.putStack((ItemStack) null); + if(stack.stackSize == 0) { + slot.putStack((ItemStack) null); } else { - var4.onSlotChanged(); + slot.onSlotChanged(); } } - return var3; + return rStack; } @Override diff --git a/src/main/java/com/hbm/inventory/container/ContainerElectricFurnace.java b/src/main/java/com/hbm/inventory/container/ContainerElectricFurnace.java index 14e375c65..593b1feb5 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerElectricFurnace.java +++ b/src/main/java/com/hbm/inventory/container/ContainerElectricFurnace.java @@ -2,8 +2,11 @@ package com.hbm.inventory.container; import com.hbm.inventory.SlotSmelting; import com.hbm.inventory.SlotUpgrade; +import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemMachineUpgrade; import com.hbm.tileentity.machine.TileEntityMachineElectricFurnace; +import api.hbm.energymk2.IBatteryItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; @@ -42,33 +45,42 @@ public class ContainerElectricFurnace extends Container { } @Override - public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) { - ItemStack var3 = null; - Slot var4 = (Slot) this.inventorySlots.get(par2); + public ItemStack transferStackInSlot(EntityPlayer player, int index) { + ItemStack rStack = null; + Slot slot = (Slot) this.inventorySlots.get(index); - if(var4 != null && var4.getHasStack()) { - ItemStack var5 = var4.getStack(); - var3 = var5.copy(); + if(slot != null && slot.getHasStack()) { + ItemStack stack = slot.getStack(); + rStack = stack.copy(); - if(par2 <= 2) { - if(!this.mergeItemStack(var5, 3, this.inventorySlots.size(), true)) { + if(index <= 3) { + if(!this.mergeItemStack(stack, 4, this.inventorySlots.size(), true)) { return null; } - var4.onSlotChange(var5, var3); - } else if(!this.mergeItemStack(var5, 1, 2, false)) { - if(!this.mergeItemStack(var5, 0, 1, false)) + slot.onSlotChange(stack, rStack); + } else { + + if(rStack.getItem() instanceof IBatteryItem || rStack.getItem() == ModItems.battery_creative) { + if(!this.mergeItemStack(stack, 0, 1, false)) + return null; + + } else if(rStack.getItem() instanceof ItemMachineUpgrade) { + if(!this.mergeItemStack(stack, 3, 4, false)) + return null; + + } else if(!this.mergeItemStack(stack, 1, 2, false)) return null; } - if(var5.stackSize == 0) { - var4.putStack((ItemStack) null); + if(stack.stackSize == 0) { + slot.putStack((ItemStack) null); } else { - var4.onSlotChanged(); + slot.onSlotChanged(); } } - return var3; + return rStack; } @Override diff --git a/src/main/java/com/hbm/inventory/container/ContainerElectrolyserFluid.java b/src/main/java/com/hbm/inventory/container/ContainerElectrolyserFluid.java index f9fcff491..05a7ae646 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerElectrolyserFluid.java +++ b/src/main/java/com/hbm/inventory/container/ContainerElectrolyserFluid.java @@ -6,7 +6,7 @@ import com.hbm.items.machine.IItemFluidIdentifier; import com.hbm.items.machine.ItemMachineUpgrade; import com.hbm.tileentity.machine.TileEntityElectrolyser; -import api.hbm.energy.IBatteryItem; +import api.hbm.energymk2.IBatteryItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; diff --git a/src/main/java/com/hbm/inventory/container/ContainerElectrolyserMetal.java b/src/main/java/com/hbm/inventory/container/ContainerElectrolyserMetal.java index 15c8b9565..a376d01f5 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerElectrolyserMetal.java +++ b/src/main/java/com/hbm/inventory/container/ContainerElectrolyserMetal.java @@ -5,7 +5,7 @@ import com.hbm.items.ModItems; import com.hbm.items.machine.ItemMachineUpgrade; import com.hbm.tileentity.machine.TileEntityElectrolyser; -import api.hbm.energy.IBatteryItem; +import api.hbm.energymk2.IBatteryItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; diff --git a/src/main/java/com/hbm/inventory/container/ContainerFEL.java b/src/main/java/com/hbm/inventory/container/ContainerFEL.java index 4320feb46..c80e69e44 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerFEL.java +++ b/src/main/java/com/hbm/inventory/container/ContainerFEL.java @@ -1,5 +1,6 @@ package com.hbm.inventory.container; +import com.hbm.items.ModItems; import com.hbm.tileentity.machine.TileEntityFEL; import net.minecraft.entity.player.EntityPlayer; @@ -33,31 +34,35 @@ public class ContainerFEL extends Container { } @Override - public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) { - ItemStack var3 = null; - Slot var4 = (Slot) this.inventorySlots.get(par2); + public ItemStack transferStackInSlot(EntityPlayer player, int index) { + ItemStack rStack = null; + Slot slot = (Slot) this.inventorySlots.get(index); - if(var4 != null && var4.getHasStack()) { - ItemStack var5 = var4.getStack(); - var3 = var5.copy(); + if(slot != null && slot.getHasStack()) { + ItemStack stack = slot.getStack(); + rStack = stack.copy(); - if(par2 == 0) { - if(!this.mergeItemStack(var5, 1, this.inventorySlots.size(), false)) { + if(index == 0) { + if(!this.mergeItemStack(stack, 1, this.inventorySlots.size(), false)) { return null; } } else { - if(!this.mergeItemStack(var5, 0, 1, false)) - return null; + + if(rStack.getItem() instanceof api.hbm.energymk2.IBatteryItem || rStack.getItem() == ModItems.battery_creative) { + if(!this.mergeItemStack(stack, 0, 1, false)) return null; + } else { + if(!this.mergeItemStack(stack, 1, 2, false)) return null; + } } - if(var5.stackSize == 0) { - var4.putStack((ItemStack) null); + if(stack.stackSize == 0) { + slot.putStack((ItemStack) null); } else { - var4.onSlotChanged(); + slot.onSlotChanged(); } } - return var3; + return rStack; } @Override diff --git a/src/main/java/com/hbm/inventory/container/ContainerFWatzCore.java b/src/main/java/com/hbm/inventory/container/ContainerFWatzCore.java deleted file mode 100644 index 9b33d7ce0..000000000 --- a/src/main/java/com/hbm/inventory/container/ContainerFWatzCore.java +++ /dev/null @@ -1,119 +0,0 @@ -package com.hbm.inventory.container; - -import com.hbm.tileentity.machine.TileEntityFWatzCore; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.ICrafting; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class ContainerFWatzCore extends Container { - - private TileEntityFWatzCore diFurnace; - - private boolean isRunning; - - public ContainerFWatzCore(InventoryPlayer invPlayer, TileEntityFWatzCore tedf) { - - diFurnace = tedf; - - this.addSlotToContainer(new Slot(tedf, 0, 26, 108)); - this.addSlotToContainer(new Slot(tedf, 1, 62, 90)); - this.addSlotToContainer(new Slot(tedf, 2, 98, 90)); - //Inputs - this.addSlotToContainer(new Slot(tedf, 3, 134, 108 - 18)); - this.addSlotToContainer(new Slot(tedf, 4, 152, 108 - 18)); - //Outputs - this.addSlotToContainer(new Slot(tedf, 5, 134, 108)); - this.addSlotToContainer(new Slot(tedf, 6, 152, 108)); - - for(int i = 0; i < 3; i++) - { - for(int j = 0; j < 9; j++) - { - this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18 + 56)); - } - } - - for(int i = 0; i < 9; i++) - { - this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142 + 56)); - } - } - - @Override - public void addCraftingToCrafters(ICrafting crafting) { - super.addCraftingToCrafters(crafting); - crafting.sendProgressBarUpdate(this, 1, isRunning ? 1 : 0); - } - - @Override - public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) - { - ItemStack var3 = null; - Slot var4 = (Slot) this.inventorySlots.get(par2); - - if (var4 != null && var4.getHasStack()) - { - ItemStack var5 = var4.getStack(); - var3 = var5.copy(); - - if (par2 <= 6) { - if (!this.mergeItemStack(var5, 7, this.inventorySlots.size(), true)) - { - return null; - } - } else { - return null; - } - - if (var5.stackSize == 0) - { - var4.putStack((ItemStack) null); - } - else - { - var4.onSlotChanged(); - } - } - - return var3; - } - - @Override - public boolean canInteractWith(EntityPlayer player) { - return diFurnace.isUseableByPlayer(player); - } - - @Override - public void detectAndSendChanges() { - super.detectAndSendChanges(); - - for(int i = 0; i < this.crafters.size(); i++) - { - ICrafting par1 = (ICrafting)this.crafters.get(i); - - if(this.isRunning != this.diFurnace.isRunning()) - { - par1.sendProgressBarUpdate(this, 1, this.diFurnace.isRunning() ? 1 : 0); - } - } - - this.isRunning = this.diFurnace.isRunning(); - } - - @Override - public void updateProgressBar(int i, int j) { - if(i == 1) - { - if(j == 0) - { - diFurnace.emptyPlasma(); - } else { - diFurnace.fillPlasma(); - } - } - } -} diff --git a/src/main/java/com/hbm/inventory/container/ContainerFunnel.java b/src/main/java/com/hbm/inventory/container/ContainerFunnel.java new file mode 100644 index 000000000..5cfb3bcfb --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerFunnel.java @@ -0,0 +1,64 @@ +package com.hbm.inventory.container; + +import com.hbm.inventory.SlotCraftingOutput; +import com.hbm.tileentity.machine.TileEntityMachineFunnel; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +public class ContainerFunnel extends Container { + + private TileEntityMachineFunnel funnel; + + public ContainerFunnel(InventoryPlayer playerInv, TileEntityMachineFunnel tile) { + funnel = tile; + + for(int i = 0; i < 9; i++) this.addSlotToContainer(new Slot(tile, i, 8 + 18 * i, 18)); + for(int i = 0; i < 9; i++) this.addSlotToContainer(new SlotCraftingOutput(playerInv.player, tile, i + 9, 8 + 18 * i, 54)); + + for(int i = 0; i < 3; i++) { + for(int j = 0; j < 9; j++) { + this.addSlotToContainer(new Slot(playerInv, j + i * 9 + 9, 8 + j * 18, 86 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) { + this.addSlotToContainer(new Slot(playerInv, i, 8 + i * 18, 144)); + } + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return funnel.isUseableByPlayer(player); + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer player, int index) { + ItemStack var3 = null; + Slot var4 = (Slot) this.inventorySlots.get(index); + + if(var4 != null && var4.getHasStack()) { + ItemStack var5 = var4.getStack(); + var3 = var5.copy(); + + if(index <= 17) { + if(!this.mergeItemStack(var5, 18, this.inventorySlots.size(), true)) { + return null; + } + } else if(!this.mergeItemStack(var5, 0, 9, false)) { + return null; + } + + if(var5.stackSize == 0) { + var4.putStack((ItemStack) null); + } else { + var4.onSlotChanged(); + } + } + + return var3; + } +} diff --git a/src/main/java/com/hbm/inventory/container/ContainerFurnaceBrick.java b/src/main/java/com/hbm/inventory/container/ContainerFurnaceBrick.java new file mode 100644 index 000000000..8ca1ee0a0 --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerFurnaceBrick.java @@ -0,0 +1,79 @@ +package com.hbm.inventory.container; + +import com.hbm.inventory.SlotCraftingOutput; +import com.hbm.inventory.SlotSmelting; +import com.hbm.tileentity.machine.TileEntityFurnaceBrick; +import com.hbm.util.InventoryUtil; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntityFurnace; + +public class ContainerFurnaceBrick extends Container { + + private TileEntityFurnaceBrick furnace; + + public ContainerFurnaceBrick(InventoryPlayer invPlayer, TileEntityFurnaceBrick tedf) { + furnace = tedf; + + //input + this.addSlotToContainer(new Slot(tedf, 0, 62, 35)); + //fuel + this.addSlotToContainer(new Slot(tedf, 1, 35, 17)); + //output + this.addSlotToContainer(new SlotSmelting(invPlayer.player, tedf, 2, 116, 35)); + //ash + this.addSlotToContainer(new SlotCraftingOutput(invPlayer.player, tedf, 3, 35, 53)); + + for(int i = 0; i < 3; i++) { + for(int j = 0; j < 9; j++) { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142)); + } + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) { + ItemStack var3 = null; + Slot var4 = (Slot) this.inventorySlots.get(par2); + + if(var4 != null && var4.getHasStack()) { + ItemStack var5 = var4.getStack(); + var3 = var5.copy(); + + if(par2 <= 3) { + if(!this.mergeItemStack(var5, 4, this.inventorySlots.size(), true)) { + return null; + } + } else { + + if(!TileEntityFurnace.isItemFuel(var5)) { + if(!InventoryUtil.mergeItemStack(this.inventorySlots, var5, 0, 1, false)) + return null; + } else { + if(!this.mergeItemStack(var5, 1, 2, false) && !this.mergeItemStack(var5, 0, 1, false)) return null; + } + } + + if(var5.stackSize == 0) { + var4.putStack((ItemStack) null); + } else { + var4.onSlotChanged(); + } + } + + return var3; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return furnace.isUseableByPlayer(player); + } +} diff --git a/src/main/java/com/hbm/inventory/container/ContainerICF.java b/src/main/java/com/hbm/inventory/container/ContainerICF.java new file mode 100644 index 000000000..a5cfabe47 --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerICF.java @@ -0,0 +1,78 @@ +package com.hbm.inventory.container; + +import com.hbm.inventory.SlotCraftingOutput; +import com.hbm.items.machine.IItemFluidIdentifier; +import com.hbm.tileentity.machine.TileEntityICF; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +public class ContainerICF extends Container { + + protected TileEntityICF icf; + + public ContainerICF(InventoryPlayer invPlayer, TileEntityICF tedf) { + this.icf = tedf; + + for(int i = 0; i < 5; i++) this.addSlotToContainer(new Slot(icf, i, 80 + i * 18, 18)); + this.addSlotToContainer(new Slot(icf, 5, 116, 54)); + for(int i = 0; i < 5; i++) this.addSlotToContainer(new SlotCraftingOutput(invPlayer.player, icf, 6 + i, 80 + i * 18, 90)); + this.addSlotToContainer(new Slot(icf, 11, 44, 90)); + + for(int i = 0; i < 3; i++) { + for(int j = 0; j < 9; j++) { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 44 + j * 18, 140 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) { + this.addSlotToContainer(new Slot(invPlayer, i, 44 + i * 18, 198)); + } + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer player, int index) { + ItemStack copy = null; + Slot slot = (Slot) this.inventorySlots.get(index); + + if(slot != null && slot.getHasStack()) { + ItemStack stack = slot.getStack(); + copy = stack.copy(); + + if(index <= 11) { + if(!this.mergeItemStack(stack, 12, this.inventorySlots.size(), true)) { + return null; + } + } else { + + if(copy.getItem() instanceof IItemFluidIdentifier) { + if(!this.mergeItemStack(stack, 11, 12, false)) { + return null; + } + } else { + if(!this.mergeItemStack(stack, 5, 6, false)) { + if(!this.mergeItemStack(stack, 0, 5, false)) { + return null; + } + } + } + } + + if(stack.stackSize == 0) { + slot.putStack((ItemStack) null); + } else { + slot.onSlotChanged(); + } + } + + return copy; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return icf.isUseableByPlayer(player); + } +} diff --git a/src/main/java/com/hbm/inventory/container/ContainerITER.java b/src/main/java/com/hbm/inventory/container/ContainerITER.java index 1bf4e1bdd..e4285bc51 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerITER.java +++ b/src/main/java/com/hbm/inventory/container/ContainerITER.java @@ -43,37 +43,31 @@ private TileEntityITER iter; } @Override - public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) - { + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) { ItemStack var3 = null; Slot var4 = (Slot) this.inventorySlots.get(par2); - if (var4 != null && var4.getHasStack()) - { + if(var4 != null && var4.getHasStack()) { ItemStack var5 = var4.getStack(); var3 = var5.copy(); - if (par2 <= 2) { - if (!this.mergeItemStack(var5, 2, this.inventorySlots.size(), true)) - { + if(par2 <= 4) { + if(!this.mergeItemStack(var5, 5, this.inventorySlots.size(), true)) { return null; } } else { return null; } - - if (var5.stackSize == 0) - { + + if(var5.stackSize == 0) { var4.putStack((ItemStack) null); - } - else - { + } else { var4.onSlotChanged(); } } return var3; - } + } @Override public boolean canInteractWith(EntityPlayer player) { diff --git a/src/main/java/com/hbm/inventory/container/ContainerLaunchPadLarge.java b/src/main/java/com/hbm/inventory/container/ContainerLaunchPadLarge.java new file mode 100644 index 000000000..f45fd6d79 --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerLaunchPadLarge.java @@ -0,0 +1,108 @@ +package com.hbm.inventory.container; + +import com.hbm.inventory.FluidContainerRegistry; +import com.hbm.inventory.SlotTakeOnly; +import com.hbm.items.ModItems; +import com.hbm.tileentity.bomb.TileEntityLaunchPadBase; + +import api.hbm.energymk2.IBatteryItem; +import api.hbm.item.IDesignatorItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +public class ContainerLaunchPadLarge extends Container { + + private TileEntityLaunchPadBase launchpad; + + public ContainerLaunchPadLarge(InventoryPlayer invPlayer, TileEntityLaunchPadBase tedf) { + + launchpad = tedf; + + //Missile + this.addSlotToContainer(new Slot(tedf, 0, 26, 36)); + //Designator + this.addSlotToContainer(new Slot(tedf, 1, 26, 72)); + //Battery + this.addSlotToContainer(new Slot(tedf, 2, 107, 90)); + //Fuel in + this.addSlotToContainer(new Slot(tedf, 3, 125, 90)); + //Fuel out + this.addSlotToContainer(new SlotTakeOnly(tedf, 4, 125, 108)); + //Oxidizer in + this.addSlotToContainer(new Slot(tedf, 5, 143, 90)); + //Oxidizer out + this.addSlotToContainer(new SlotTakeOnly(tedf, 6, 143, 108)); + + for(int i = 0; i < 3; i++) { + for(int j = 0; j < 9; j++) { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 154 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 212)); + } + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer player, int par2) { + ItemStack var3 = null; + Slot var4 = (Slot) this.inventorySlots.get(par2); + + if(var4 != null && var4.getHasStack()) { + ItemStack var5 = var4.getStack(); + var3 = var5.copy(); + + if(par2 <= 6) { + if(!this.mergeItemStack(var5, 7, this.inventorySlots.size(), true)) { + return null; + } + } else { + + if(var3.getItem() instanceof IBatteryItem || var3.getItem() == ModItems.battery_creative) { + if(!this.mergeItemStack(var5, 2, 3, false)) { + return null; + } + } else if(launchpad.isMissileValid(var3)) { + if(!this.mergeItemStack(var5, 0, 1, false)) { + return null; + } + } else if(var3.getItem() == ModItems.fluid_barrel_infinite) { + if(!this.mergeItemStack(var5, 3, 4, false)) if(!this.mergeItemStack(var5, 5, 6, false)) { + return null; + } + } else if(FluidContainerRegistry.getFluidContent(var3, launchpad.tanks[0].getTankType()) > 0) { + if(!this.mergeItemStack(var5, 3, 4, false)) { + return null; + } + } else if(FluidContainerRegistry.getFluidContent(var3, launchpad.tanks[1].getTankType()) > 0) { + if(!this.mergeItemStack(var5, 5, 6, false)) { + return null; + } + } else if(var3.getItem() instanceof IDesignatorItem) { + if(!this.mergeItemStack(var5, 1, 2, false)) { + return null; + } + } else { + return null; + } + } + + if(var5.stackSize == 0) { + var4.putStack((ItemStack) null); + } else { + var4.onSlotChanged(); + } + } + + return var3; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return launchpad.isUseableByPlayer(player); + } +} diff --git a/src/main/java/com/hbm/inventory/container/ContainerLaunchPadRusted.java b/src/main/java/com/hbm/inventory/container/ContainerLaunchPadRusted.java new file mode 100644 index 000000000..fb829f26e --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerLaunchPadRusted.java @@ -0,0 +1,83 @@ +package com.hbm.inventory.container; + +import com.hbm.inventory.SlotCraftingOutput; +import com.hbm.items.ModItems; +import com.hbm.tileentity.bomb.TileEntityLaunchPadRusted; + +import api.hbm.item.IDesignatorItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +public class ContainerLaunchPadRusted extends Container { + + private TileEntityLaunchPadRusted launchpad; + + public ContainerLaunchPadRusted(InventoryPlayer invPlayer, TileEntityLaunchPadRusted tedf) { + this.launchpad = tedf; + + this.addSlotToContainer(new SlotCraftingOutput(invPlayer.player, tedf, 0, 26, 72)); + this.addSlotToContainer(new Slot(tedf, 1, 116, 45)); + this.addSlotToContainer(new Slot(tedf, 2, 134, 45)); + this.addSlotToContainer(new Slot(tedf, 3, 26, 99)); + + for(int i = 0; i < 3; i++) { + for(int j = 0; j < 9; j++) { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 154 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 212)); + } + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer player, int par2) { + ItemStack var3 = null; + Slot var4 = (Slot) this.inventorySlots.get(par2); + + if(var4 != null && var4.getHasStack()) { + ItemStack var5 = var4.getStack(); + var3 = var5.copy(); + + if(par2 <= 3) { + if(!this.mergeItemStack(var5, 4, this.inventorySlots.size(), true)) { + return null; + } + } else { + + if(var3.getItem() instanceof IDesignatorItem) { + if(!this.mergeItemStack(var5, 3, 4, false)) { + return null; + } + } else if(var3.getItem() == ModItems.launch_code) { + if(!this.mergeItemStack(var5, 1, 2, false)) { + return null; + } + } else if(var3.getItem() == ModItems.launch_key) { + if(!this.mergeItemStack(var5, 2, 3, false)) { + return null; + } + } else { + return null; + } + } + + if(var5.stackSize == 0) { + var4.putStack((ItemStack) null); + } else { + var4.onSlotChanged(); + } + } + + return var3; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return launchpad.isUseableByPlayer(player); + } +} diff --git a/src/main/java/com/hbm/inventory/container/ContainerLaunchPadTier1.java b/src/main/java/com/hbm/inventory/container/ContainerLaunchPadTier1.java deleted file mode 100644 index a19e9a385..000000000 --- a/src/main/java/com/hbm/inventory/container/ContainerLaunchPadTier1.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.hbm.inventory.container; - -import com.hbm.tileentity.bomb.TileEntityLaunchPad; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class ContainerLaunchPadTier1 extends Container { - - private TileEntityLaunchPad diFurnace; - - public ContainerLaunchPadTier1(InventoryPlayer invPlayer, TileEntityLaunchPad tedf) { - - diFurnace = tedf; - - this.addSlotToContainer(new Slot(tedf, 0, 26, 17)); - this.addSlotToContainer(new Slot(tedf, 1, 80, 17)); - this.addSlotToContainer(new Slot(tedf, 2, 134, 17)); - - for(int i = 0; i < 3; i++) { - for(int j = 0; j < 9; j++) { - this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); - } - } - - for(int i = 0; i < 9; i++) { - this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142)); - } - } - - @Override - public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) { - ItemStack var3 = null; - Slot var4 = (Slot) this.inventorySlots.get(par2); - - if(var4 != null && var4.getHasStack()) { - ItemStack var5 = var4.getStack(); - var3 = var5.copy(); - - if(par2 <= 2) { - if(!this.mergeItemStack(var5, 3, this.inventorySlots.size(), true)) { - return null; - } - } else { - return null; - } - - if(var5.stackSize == 0) { - var4.putStack((ItemStack) null); - } else { - var4.onSlotChanged(); - } - } - - return var3; - } - - @Override - public boolean canInteractWith(EntityPlayer player) { - return diFurnace.isUseableByPlayer(player); - } -} diff --git a/src/main/java/com/hbm/inventory/container/ContainerLemegeton.java b/src/main/java/com/hbm/inventory/container/ContainerLemegeton.java new file mode 100644 index 000000000..ec6aeb1e4 --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerLemegeton.java @@ -0,0 +1,96 @@ +package com.hbm.inventory.container; + +import com.hbm.inventory.recipes.LemegetonRecipes; +import com.hbm.items.ModItems; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.IInventory; +import net.minecraft.inventory.InventoryCraftResult; +import net.minecraft.inventory.InventoryCrafting; +import net.minecraft.inventory.Slot; +import net.minecraft.inventory.SlotCrafting; +import net.minecraft.item.ItemStack; + +public class ContainerLemegeton extends Container { + + public InventoryCrafting craftMatrix = new InventoryCrafting(this, 1, 1); + public IInventory craftResult = new InventoryCraftResult(); + + public ContainerLemegeton(InventoryPlayer inventory) { + + this.addSlotToContainer(new SlotCrafting(inventory.player, this.craftMatrix, this.craftResult, 0, 107, 35)); + this.addSlotToContainer(new Slot(this.craftMatrix, 0, 49, 35)); + + for(int l = 0; l < 3; ++l) { + for(int i1 = 0; i1 < 9; ++i1) { + this.addSlotToContainer(new Slot(inventory, i1 + l * 9 + 9, 8 + i1 * 18, 84 + l * 18)); + } + } + + for(int l = 0; l < 9; ++l) { + this.addSlotToContainer(new Slot(inventory, l, 8 + l * 18, 142)); + } + + this.onCraftMatrixChanged(this.craftMatrix); + } + + public void onCraftMatrixChanged(IInventory inventory) { + this.craftResult.setInventorySlotContents(0, LemegetonRecipes.getRecipe(this.craftMatrix.getStackInSlot(0))); + } + + public void onContainerClosed(EntityPlayer player) { + super.onContainerClosed(player); + + if(!player.worldObj.isRemote) { + ItemStack itemstack = this.craftMatrix.getStackInSlotOnClosing(0); + if(itemstack != null) player.dropPlayerItemWithRandomChoice(itemstack, false); + } + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int slotNo) { + ItemStack itemstack = null; + Slot slot = (Slot) this.inventorySlots.get(slotNo); + + if(slot != null && slot.getHasStack()) { + ItemStack itemstack1 = slot.getStack(); + itemstack = itemstack1.copy(); + + if(slotNo <= 1) { + if(!this.mergeItemStack(itemstack1, 2, this.inventorySlots.size(), true)) { + return null; + } + + slot.onSlotChange(itemstack1, itemstack); + } else if(!this.mergeItemStack(itemstack1, 1, 2, false)) { + return null; + } + + if(itemstack1.stackSize == 0) { + slot.putStack((ItemStack) null); + } else { + slot.onSlotChanged(); + } + + if(itemstack1.stackSize == itemstack.stackSize) { + return null; + } + + slot.onPickupFromSlot(p_82846_1_, itemstack1); + } + + return itemstack; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return player.inventory.hasItem(ModItems.book_lemegeton); + } + + @Override + public boolean func_94530_a(ItemStack stack, Slot slot) { + return slot.inventory != this.craftResult && super.func_94530_a(stack, slot); + } +} diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineArcFurnace.java b/src/main/java/com/hbm/inventory/container/ContainerMachineArcFurnace.java index 746bef698..7cf2e32e5 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineArcFurnace.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineArcFurnace.java @@ -1,7 +1,10 @@ package com.hbm.inventory.container; import com.hbm.inventory.SlotSmelting; +import com.hbm.items.ModItems; import com.hbm.tileentity.machine.TileEntityMachineArcFurnace; + +import api.hbm.energymk2.IBatteryItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; @@ -41,34 +44,43 @@ public class ContainerMachineArcFurnace extends Container { } @Override - public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) { - ItemStack var3 = null; - Slot var4 = (Slot) this.inventorySlots.get(par2); + public ItemStack transferStackInSlot(EntityPlayer player, int index) { + ItemStack rStack = null; + Slot slot = (Slot) this.inventorySlots.get(index); - if(var4 != null && var4.getHasStack()) { - ItemStack var5 = var4.getStack(); - var3 = var5.copy(); + if(slot != null && slot.getHasStack()) { + ItemStack stack = slot.getStack(); + rStack = stack.copy(); - if(par2 <= 5) { - if(!this.mergeItemStack(var5, 6, this.inventorySlots.size(), true)) { + if(index <= 5) { + if(!this.mergeItemStack(stack, 6, this.inventorySlots.size(), true)) { return null; } - var4.onSlotChange(var5, var3); + slot.onSlotChange(stack, rStack); - } else if(!this.mergeItemStack(var5, 0, 1, false)) { - if(!this.mergeItemStack(var5, 2, 6, false)) + } else { + + if(rStack.getItem() instanceof IBatteryItem || rStack.getItem() == ModItems.battery_creative) { + if(!this.mergeItemStack(stack, 5, 6, false)) + return null; + + } else if(rStack.getItem() == ModItems.arc_electrode_desh || rStack.getItem() == ModItems.arc_electrode) { + if(!this.mergeItemStack(stack, 2, 5, false)) + return null; + + } else if(!this.mergeItemStack(stack, 0, 1, false)) return null; } - if(var5.stackSize == 0) { - var4.putStack((ItemStack) null); + if(stack.stackSize == 0) { + slot.putStack((ItemStack) null); } else { - var4.onSlotChanged(); + slot.onSlotChanged(); } } - return var3; + return rStack; } @Override diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineArcWelder.java b/src/main/java/com/hbm/inventory/container/ContainerMachineArcWelder.java index 9c5d516b8..19ff1155c 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineArcWelder.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineArcWelder.java @@ -3,10 +3,11 @@ package com.hbm.inventory.container; import com.hbm.inventory.SlotCraftingOutput; import com.hbm.inventory.SlotUpgrade; import com.hbm.items.ModItems; +import com.hbm.items.machine.IItemFluidIdentifier; import com.hbm.items.machine.ItemMachineUpgrade; import com.hbm.tileentity.machine.TileEntityMachineArcWelder; -import api.hbm.energy.IBatteryItem; +import api.hbm.energymk2.IBatteryItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; @@ -52,35 +53,37 @@ public class ContainerMachineArcWelder extends Container { @Override public ItemStack transferStackInSlot(EntityPlayer player, int index) { - ItemStack var3 = null; - Slot var4 = (Slot) this.inventorySlots.get(index); + ItemStack rStack = null; + Slot slot = (Slot) this.inventorySlots.get(index); - if(var4 != null && var4.getHasStack()) { - ItemStack var5 = var4.getStack(); - var3 = var5.copy(); + if(slot != null && slot.getHasStack()) { + ItemStack stack = slot.getStack(); + rStack = stack.copy(); - if(index <= 3) { - if(!this.mergeItemStack(var5, 4, this.inventorySlots.size(), true)) { + if(index <= 7) { + if(!this.mergeItemStack(stack, 8, this.inventorySlots.size(), true)) { return null; } } else { - if(var3.getItem() instanceof IBatteryItem || var3.getItem() == ModItems.battery_creative) { - if(!this.mergeItemStack(var5, 4, 5, false)) return null; - } else if(var3.getItem() instanceof ItemMachineUpgrade ) { - if(!this.mergeItemStack(var5, 6, 8, false)) return null; + if(rStack.getItem() instanceof IBatteryItem || rStack.getItem() == ModItems.battery_creative) { + if(!this.mergeItemStack(stack, 4, 5, false)) return null; + } else if(rStack.getItem() instanceof IItemFluidIdentifier) { + if(!this.mergeItemStack(stack, 5, 6, false)) return null; + } else if(rStack.getItem() instanceof ItemMachineUpgrade ) { + if(!this.mergeItemStack(stack, 6, 8, false)) return null; } else { - if(!this.mergeItemStack(var5, 0, 3, false)) return null; + if(!this.mergeItemStack(stack, 0, 3, false)) return null; } } - if(var5.stackSize == 0) { - var4.putStack((ItemStack) null); + if(stack.stackSize == 0) { + slot.putStack((ItemStack) null); } else { - var4.onSlotChanged(); + slot.onSlotChanged(); } } - return var3; + return rStack; } } diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineAssembler.java b/src/main/java/com/hbm/inventory/container/ContainerMachineAssembler.java index 4fe7aa668..c8380834b 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineAssembler.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineAssembler.java @@ -1,8 +1,12 @@ package com.hbm.inventory.container; import com.hbm.inventory.SlotCraftingOutput; +import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemAssemblyTemplate; +import com.hbm.items.machine.ItemMachineUpgrade; import com.hbm.tileentity.machine.TileEntityMachineAssembler; +import api.hbm.energymk2.IBatteryItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; @@ -55,41 +59,46 @@ private TileEntityMachineAssembler assembler; } @Override - public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) - { - ItemStack var3 = null; - Slot var4 = (Slot) this.inventorySlots.get(par2); + public ItemStack transferStackInSlot(EntityPlayer player, int index) { + ItemStack rStack = null; + Slot slot = (Slot) this.inventorySlots.get(index); - if (var4 != null && var4.getHasStack()) - { - ItemStack var5 = var4.getStack(); - var3 = var5.copy(); - SlotCraftingOutput.checkAchievements(p_82846_1_, var5); + if (slot != null && slot.getHasStack()) { + ItemStack stack = slot.getStack(); + rStack = stack.copy(); + SlotCraftingOutput.checkAchievements(player, stack); - if (par2 <= 17) { - if (!this.mergeItemStack(var5, 18, this.inventorySlots.size(), true)) - { + if (index <= 17) { + if (!this.mergeItemStack(stack, 18, this.inventorySlots.size(), true)) { return null; } - } - else if (!this.mergeItemStack(var5, 6, 18, false)) - if (!this.mergeItemStack(var5, 0, 4, false)) - return null; - - if(var5.stackSize == 0) { - var4.putStack((ItemStack) null); } else { - var4.onSlotChanged(); + + if(rStack.getItem() instanceof IBatteryItem || rStack.getItem() == ModItems.battery_creative) { + if(!this.mergeItemStack(stack, 0, 1, false)) return null; + } else if(rStack.getItem() instanceof ItemMachineUpgrade) { + if(!this.mergeItemStack(stack, 1, 4, false)) return null; + } else if(rStack.getItem() instanceof ItemAssemblyTemplate) { + if(!this.mergeItemStack(stack, 4, 5, false)) return null; + } else { + if(!this.mergeItemStack(stack, 6, 18, false)) return null; + } + } + + if(stack.stackSize == 0) { + slot.putStack((ItemStack) null); + } else { + slot.onSlotChanged(); } - if(var5.stackSize == var3.stackSize) { + if(stack.stackSize == rStack.stackSize) { return null; } - var4.onPickupFromSlot(p_82846_1_, var3); + slot.onPickupFromSlot(player, rStack); } - return var3; + return rStack; } @Override diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineCMBFactory.java b/src/main/java/com/hbm/inventory/container/ContainerMachineCMBFactory.java deleted file mode 100644 index bedd1b951..000000000 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineCMBFactory.java +++ /dev/null @@ -1,115 +0,0 @@ -package com.hbm.inventory.container; - -import com.hbm.inventory.SlotCraftingOutput; -import com.hbm.inventory.SlotTakeOnly; -import com.hbm.tileentity.machine.TileEntityMachineCMBFactory; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.ICrafting; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class ContainerMachineCMBFactory extends Container { - - private TileEntityMachineCMBFactory diFurnace; - private int progress; - - public ContainerMachineCMBFactory(InventoryPlayer invPlayer, TileEntityMachineCMBFactory tedf) { - - diFurnace = tedf; - - this.addSlotToContainer(new Slot(tedf, 0, 62 + 9, 17)); - this.addSlotToContainer(new Slot(tedf, 1, 80 + 9, 17)); - this.addSlotToContainer(new Slot(tedf, 2, 62 + 9, 53)); - this.addSlotToContainer(new Slot(tedf, 3, 80 + 9, 53)); - this.addSlotToContainer(new SlotCraftingOutput(invPlayer.player, tedf, 4, 134 + 9, 35)); - this.addSlotToContainer(new SlotTakeOnly(tedf, 5, 62 - 9, 53)); - - for(int i = 0; i < 3; i++) - { - for(int j = 0; j < 9; j++) - { - this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); - } - } - - for(int i = 0; i < 9; i++) - { - this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142)); - } - } - - @Override - public void addCraftingToCrafters(ICrafting crafting) { - super.addCraftingToCrafters(crafting); - crafting.sendProgressBarUpdate(this, 1, this.diFurnace.process); - } - - @Override - public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) - { - ItemStack var3 = null; - Slot var4 = (Slot) this.inventorySlots.get(par2); - - if (var4 != null && var4.getHasStack()) - { - ItemStack var5 = var4.getStack(); - var3 = var5.copy(); - - if (par2 <= 5) { - if (!this.mergeItemStack(var5, 6, this.inventorySlots.size(), true)) - { - return null; - } - } - else - { - if (!this.mergeItemStack(var5, 0, 4, false)) - return null; - } - - if (var5.stackSize == 0) - { - var4.putStack((ItemStack) null); - } - else - { - var4.onSlotChanged(); - } - } - - return var3; - } - - @Override - public boolean canInteractWith(EntityPlayer player) { - return diFurnace.isUseableByPlayer(player); - } - - @Override - public void detectAndSendChanges() { - super.detectAndSendChanges(); - - for(int i = 0; i < this.crafters.size(); i++) - { - ICrafting par1 = (ICrafting)this.crafters.get(i); - - if(this.progress != this.diFurnace.process) - { - par1.sendProgressBarUpdate(this, 1, this.diFurnace.process); - } - } - - this.progress = this.diFurnace.process; - } - - @Override - public void updateProgressBar(int i, int j) { - if(i == 1) - { - diFurnace.process = j; - } - } -} diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineCatalyticReformer.java b/src/main/java/com/hbm/inventory/container/ContainerMachineCatalyticReformer.java index 41b30d98e..6994b80cc 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineCatalyticReformer.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineCatalyticReformer.java @@ -5,7 +5,7 @@ import com.hbm.items.ModItems; import com.hbm.items.machine.IItemFluidIdentifier; import com.hbm.tileentity.machine.oil.TileEntityMachineCatalyticReformer; -import api.hbm.energy.IBatteryItem; +import api.hbm.energymk2.IBatteryItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineChemplant.java b/src/main/java/com/hbm/inventory/container/ContainerMachineChemplant.java index 60c428c8a..950a00d7d 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineChemplant.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineChemplant.java @@ -2,8 +2,12 @@ package com.hbm.inventory.container; import com.hbm.inventory.SlotCraftingOutput; import com.hbm.inventory.SlotTakeOnly; +import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemChemistryTemplate; +import com.hbm.items.machine.ItemMachineUpgrade; import com.hbm.tileentity.machine.TileEntityMachineChemplant; +import api.hbm.energymk2.IBatteryItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; @@ -60,31 +64,42 @@ public class ContainerMachineChemplant extends Container { } @Override - public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) { - ItemStack var3 = null; - Slot var4 = (Slot) this.inventorySlots.get(par2); + public ItemStack transferStackInSlot(EntityPlayer player, int index) { + ItemStack rStack = null; + Slot slot = (Slot) this.inventorySlots.get(index); - if(var4 != null && var4.getHasStack()) { - ItemStack var5 = var4.getStack(); - var3 = var5.copy(); - SlotCraftingOutput.checkAchievements(p_82846_1_, var5); + if(slot != null && slot.getHasStack()) { + ItemStack stack = slot.getStack(); + rStack = stack.copy(); + SlotCraftingOutput.checkAchievements(player, stack); - if(par2 <= 20) { - if(!this.mergeItemStack(var5, 21, this.inventorySlots.size(), true)) { + if(index <= 20) { + if(!this.mergeItemStack(stack, 21, this.inventorySlots.size(), true)) { return null; } - } else if(!this.mergeItemStack(var5, 4, 5, false)) - if(!this.mergeItemStack(var5, 13, 19, false)) - return null; - - if(var5.stackSize == 0) { - var4.putStack((ItemStack) null); } else { - var4.onSlotChanged(); + + if(rStack.getItem() instanceof IBatteryItem || rStack.getItem() == ModItems.battery_creative) { + if(!this.mergeItemStack(stack, 0, 1, false)) return null; + } else if(rStack.getItem() instanceof ItemMachineUpgrade ) { + if(!this.mergeItemStack(stack, 1, 4, false)) return null; + } else if(rStack.getItem() instanceof ItemChemistryTemplate) { + if(!this.mergeItemStack(stack, 4, 5, false)) return null; + } else { //proper shift-clicking filled/empty fluid tanks is an exercise in futility + if(!this.mergeItemStack(stack, 13, 19, false)) + if(!this.mergeItemStack(stack, 9, 11, false)) + return null; + } + } + + if(stack.stackSize == 0) { + slot.putStack((ItemStack) null); + } else { + slot.onSlotChanged(); } } - return var3; + return rStack; } @Override diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineCyclotron.java b/src/main/java/com/hbm/inventory/container/ContainerMachineCyclotron.java index 632769cdf..7251c9623 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineCyclotron.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineCyclotron.java @@ -9,7 +9,7 @@ import com.hbm.items.ModItems; import com.hbm.items.machine.ItemMachineUpgrade; import com.hbm.tileentity.machine.TileEntityMachineCyclotron; -import api.hbm.energy.IBatteryItem; +import api.hbm.energymk2.IBatteryItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineEPress.java b/src/main/java/com/hbm/inventory/container/ContainerMachineEPress.java index c2cfea587..020eb7ac4 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineEPress.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineEPress.java @@ -7,7 +7,7 @@ import com.hbm.items.machine.ItemMachineUpgrade; import com.hbm.items.machine.ItemStamp; import com.hbm.tileentity.machine.TileEntityMachineEPress; -import api.hbm.energy.IBatteryItem; +import api.hbm.energymk2.IBatteryItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineExcavator.java b/src/main/java/com/hbm/inventory/container/ContainerMachineExcavator.java index c55fd5400..3169f6eeb 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineExcavator.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineExcavator.java @@ -1,10 +1,13 @@ package com.hbm.inventory.container; import com.hbm.inventory.SlotTakeOnly; +import com.hbm.items.ModItems; import com.hbm.items.machine.IItemFluidIdentifier; +import com.hbm.items.machine.ItemDrillbit; +import com.hbm.items.machine.ItemMachineUpgrade; import com.hbm.tileentity.machine.TileEntityMachineExcavator; -import api.hbm.energy.IBatteryItem; +import api.hbm.energymk2.IBatteryItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; @@ -46,43 +49,40 @@ public class ContainerMachineExcavator extends Container { } @Override - public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) { - ItemStack var3 = null; - Slot var4 = (Slot) this.inventorySlots.get(par2); + public ItemStack transferStackInSlot(EntityPlayer player, int index) { + ItemStack rStack = null; + Slot slot = (Slot) this.inventorySlots.get(index); - if(var4 != null && var4.getHasStack()) { - ItemStack var5 = var4.getStack(); - var3 = var5.copy(); + if(slot != null && slot.getHasStack()) { + ItemStack stack = slot.getStack(); + rStack = stack.copy(); - if(par2 <= 13) { - if(!this.mergeItemStack(var5, 14, this.inventorySlots.size(), true)) { + if(index <= 13) { + if(!this.mergeItemStack(stack, 14, this.inventorySlots.size(), true)) { return null; } } else { - if(var3.getItem() instanceof IBatteryItem) { - if(!this.mergeItemStack(var5, 0, 1, false)) { - return null; - } - } else if(var3.getItem() instanceof IItemFluidIdentifier) { - if(!this.mergeItemStack(var5, 1, 2, false)) { - return null; - } - } else { - if(!this.mergeItemStack(var5, 2, 5, false)) { - return null; - } - } + if(rStack.getItem() instanceof IBatteryItem || rStack.getItem() == ModItems.battery_creative) { + if(!this.mergeItemStack(stack, 0, 1, false)) return null; + } else if(rStack.getItem() instanceof IItemFluidIdentifier) { + if(!this.mergeItemStack(stack, 1, 2, false)) return null; + } else if(rStack.getItem() instanceof ItemMachineUpgrade ) { + if(!this.mergeItemStack(stack, 2, 4, false)) return null; + } else if(rStack.getItem() instanceof ItemDrillbit) { + if(!this.mergeItemStack(stack, 4, 5, false)) return null; + } else + return null; } - if(var5.stackSize == 0) { - var4.putStack((ItemStack) null); + if(stack.stackSize == 0) { + slot.putStack((ItemStack) null); } else { - var4.onSlotChanged(); + slot.onSlotChanged(); } } - return var3; + return rStack; } @Override diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineExposureChamber.java b/src/main/java/com/hbm/inventory/container/ContainerMachineExposureChamber.java index c4dd07df6..913dc36a2 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineExposureChamber.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineExposureChamber.java @@ -6,7 +6,7 @@ import com.hbm.items.ModItems; import com.hbm.items.machine.ItemMachineUpgrade; import com.hbm.tileentity.machine.TileEntityMachineExposureChamber; -import api.hbm.energy.IBatteryItem; +import api.hbm.energymk2.IBatteryItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineGasCent.java b/src/main/java/com/hbm/inventory/container/ContainerMachineGasCent.java index 4f5745ed7..51513c094 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineGasCent.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineGasCent.java @@ -1,8 +1,12 @@ package com.hbm.inventory.container; import com.hbm.inventory.SlotCraftingOutput; +import com.hbm.items.ModItems; +import com.hbm.items.machine.IItemFluidIdentifier; +import com.hbm.items.machine.ItemMachineUpgrade; import com.hbm.tileentity.machine.TileEntityMachineGasCent; +import api.hbm.energymk2.IBatteryItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; @@ -51,19 +55,27 @@ public class ContainerMachineGasCent extends Container { @Override public ItemStack transferStackInSlot(EntityPlayer player, int index) { - ItemStack returnStack = null; + ItemStack rStack = null; Slot slot = (Slot) this.inventorySlots.get(index); if(slot != null && slot.getHasStack()) { ItemStack stack = slot.getStack(); - returnStack = stack.copy(); + rStack = stack.copy(); if(index <= 6) { if (!this.mergeItemStack(stack, 7, this.inventorySlots.size(), true)) { return null; } - } else if(!this.mergeItemStack(stack, 4, 7, false)) { - return null; + } else { + + if(rStack.getItem() instanceof IBatteryItem || rStack.getItem() == ModItems.battery_creative) { + if(!this.mergeItemStack(stack, 4, 5, false)) return null; + } else if(rStack.getItem() instanceof IItemFluidIdentifier) { + if(!this.mergeItemStack(stack, 5, 6, false)) return null; + } else if(rStack.getItem() instanceof ItemMachineUpgrade ) { + if(!this.mergeItemStack(stack, 6, 7, false)) return null; + } else + return null; } if (stack.stackSize == 0) { @@ -73,7 +85,7 @@ public class ContainerMachineGasCent extends Container { } } - return returnStack; + return rStack; } @Override diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineGasFlare.java b/src/main/java/com/hbm/inventory/container/ContainerMachineGasFlare.java index 5165f4e37..37f444835 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineGasFlare.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineGasFlare.java @@ -5,7 +5,7 @@ import com.hbm.items.machine.IItemFluidIdentifier; import com.hbm.items.machine.ItemMachineUpgrade; import com.hbm.tileentity.machine.oil.TileEntityMachineGasFlare; -import api.hbm.energy.IBatteryItem; +import api.hbm.energymk2.IBatteryItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineHydrotreater.java b/src/main/java/com/hbm/inventory/container/ContainerMachineHydrotreater.java new file mode 100644 index 000000000..ec7b3e206 --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineHydrotreater.java @@ -0,0 +1,108 @@ +package com.hbm.inventory.container; + +import com.hbm.inventory.SlotDeprecated; +import com.hbm.inventory.SlotTakeOnly; +import com.hbm.items.ModItems; +import com.hbm.items.machine.IItemFluidIdentifier; +import com.hbm.tileentity.machine.oil.TileEntityMachineHydrotreater; + +import api.hbm.energymk2.IBatteryItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +public class ContainerMachineHydrotreater extends Container { + + private TileEntityMachineHydrotreater hydrotreater; + + public ContainerMachineHydrotreater(InventoryPlayer invPlayer, TileEntityMachineHydrotreater tedf) { + + hydrotreater = tedf; + + //Battery + this.addSlotToContainer(new Slot(tedf, 0, 17, 90)); + //Canister Input + this.addSlotToContainer(new Slot(tedf, 1, 35, 90)); + //Canister Output + this.addSlotToContainer(new SlotTakeOnly(tedf, 2, 35, 108)); + //Hydrogen Input (removed, requires pressurization) + this.addSlotToContainer(new SlotDeprecated(tedf, 3, 53, 90)); + //Hydrogen Output (samesies) + this.addSlotToContainer(new SlotDeprecated(tedf, 4, 53, 108)); + //Desulfated Oil Input + this.addSlotToContainer(new Slot(tedf, 5, 125, 90)); + //Desulfated Oil Output + this.addSlotToContainer(new SlotTakeOnly(tedf, 6, 125, 108)); + //Sour Gas Input + this.addSlotToContainer(new Slot(tedf, 7, 143, 90)); + //Sour Gas Oil Output + this.addSlotToContainer(new SlotTakeOnly(tedf, 8, 143, 108)); + //Fluid ID + this.addSlotToContainer(new Slot(tedf, 9, 17, 108)); + //Catalyst + this.addSlotToContainer(new Slot(tedf, 10, 89, 36)); + + for(int i = 0; i < 3; i++) { + for(int j = 0; j < 9; j++) { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 156 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 214)); + } + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) { + ItemStack var3 = null; + Slot var4 = (Slot) this.inventorySlots.get(par2); + + if(var4 != null && var4.getHasStack()) { + ItemStack var5 = var4.getStack(); + var3 = var5.copy(); + + if(par2 <= 10) { + if(!this.mergeItemStack(var5, 11, this.inventorySlots.size(), true)) { + return null; + } + } else { + + if(var3.getItem() instanceof IBatteryItem) { + if(!this.mergeItemStack(var5, 0, 1, false)) { + return null; + } + } else if(var3.getItem() instanceof IItemFluidIdentifier) { + if(!this.mergeItemStack(var5, 9, 10, false)) { + return null; + } + } else if(var3.getItem() == ModItems.catalytic_converter) { + if(!this.mergeItemStack(var5, 10, 11, false)) { + return null; + } + } else { + if(!this.mergeItemStack(var5, 1, 2, false)) + if(!this.mergeItemStack(var5, 3, 4, false)) + if(!this.mergeItemStack(var5, 5, 6, false)) + if(!this.mergeItemStack(var5, 7, 8, false)) + return null; + } + } + + if(var5.stackSize == 0) { + var4.putStack((ItemStack) null); + } else { + var4.onSlotChanged(); + } + } + + return var3; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return hydrotreater.isUseableByPlayer(player); + } +} diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineMiningDrill.java b/src/main/java/com/hbm/inventory/container/ContainerMachineMiningDrill.java deleted file mode 100644 index 4bc3aa5c0..000000000 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineMiningDrill.java +++ /dev/null @@ -1,116 +0,0 @@ -package com.hbm.inventory.container; - -import com.hbm.tileentity.machine.TileEntityMachineMiningDrill; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.ICrafting; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class ContainerMachineMiningDrill extends Container { - -private TileEntityMachineMiningDrill nukeBoy; - - private int warning; - - public ContainerMachineMiningDrill(InventoryPlayer invPlayer, TileEntityMachineMiningDrill tedf) { - - nukeBoy = tedf; - - //Battery - this.addSlotToContainer(new Slot(tedf, 0, 44, 53)); - //Outputs - this.addSlotToContainer(new Slot(tedf, 1, 80, 17)); - this.addSlotToContainer(new Slot(tedf, 2, 98, 17)); - this.addSlotToContainer(new Slot(tedf, 3, 116, 17)); - this.addSlotToContainer(new Slot(tedf, 4, 80, 35)); - this.addSlotToContainer(new Slot(tedf, 5, 98, 35)); - this.addSlotToContainer(new Slot(tedf, 6, 116, 35)); - this.addSlotToContainer(new Slot(tedf, 7, 80, 53)); - this.addSlotToContainer(new Slot(tedf, 8, 98, 53)); - this.addSlotToContainer(new Slot(tedf, 9, 116, 53)); - //Upgrades - this.addSlotToContainer(new Slot(tedf, 10, 152, 17)); - this.addSlotToContainer(new Slot(tedf, 11, 152, 35)); - this.addSlotToContainer(new Slot(tedf, 12, 152, 53)); - - for(int i = 0; i < 3; i++) - { - for(int j = 0; j < 9; j++) - { - this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); - } - } - - for(int i = 0; i < 9; i++) - { - this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142)); - } - - this.detectAndSendChanges(); - } - - @Override - public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) - { - ItemStack var3 = null; - Slot var4 = (Slot) this.inventorySlots.get(par2); - - if (var4 != null && var4.getHasStack()) - { - ItemStack var5 = var4.getStack(); - var3 = var5.copy(); - - if (par2 <= 12) { - if (!this.mergeItemStack(var5, 13, this.inventorySlots.size(), true)) - { - return null; - } - } - else if (!this.mergeItemStack(var5, 0, 13, false)) - { - return null; - } - - if (var5.stackSize == 0) - { - var4.putStack((ItemStack) null); - } - else - { - var4.onSlotChanged(); - } - } - - return var3; - } - - @Override - public boolean canInteractWith(EntityPlayer player) { - return nukeBoy.isUseableByPlayer(player); - } - - @Override - public void detectAndSendChanges() { - super.detectAndSendChanges(); - - for(int i = 0; i < this.crafters.size(); i++) { - ICrafting par1 = (ICrafting) this.crafters.get(i); - - if(this.warning != this.nukeBoy.warning) { - par1.sendProgressBarUpdate(this, 1, this.nukeBoy.warning); - } - } - - this.warning = this.nukeBoy.warning; - } - - @Override - public void updateProgressBar(int i, int j) { - if(i == 1) { - nukeBoy.warning = j; - } - } -} diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineRadarNT.java b/src/main/java/com/hbm/inventory/container/ContainerMachineRadarNT.java index 0bd1f475b..ea8efe275 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineRadarNT.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineRadarNT.java @@ -3,7 +3,7 @@ package com.hbm.inventory.container; import com.hbm.items.ModItems; import com.hbm.tileentity.machine.TileEntityMachineRadarNT; -import api.hbm.energy.IBatteryItem; +import api.hbm.energymk2.IBatteryItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineRefinery.java b/src/main/java/com/hbm/inventory/container/ContainerMachineRefinery.java index 1a72051a2..000a58cf1 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineRefinery.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineRefinery.java @@ -17,7 +17,7 @@ public class ContainerMachineRefinery extends Container { public ContainerMachineRefinery(InventoryPlayer invPlayer, TileEntityMachineRefinery tedf) { testNuke = tedf; - + //Battery this.addSlotToContainer(new Slot(tedf, 0, 8, 90)); //Canister Input @@ -42,17 +42,16 @@ public class ContainerMachineRefinery extends Container { this.addSlotToContainer(new SlotTakeOnly(tedf, 10, 134, 108)); //Sulfur Output this.addSlotToContainer(new SlotTakeOnly(tedf, 11, 152, 36)); + //Fluid ID + this.addSlotToContainer(new Slot(tedf, 12, 8, 108)); - for(int i = 0; i < 3; i++) - { - for(int j = 0; j < 9; j++) - { + for(int i = 0; i < 3; i++) { + for(int j = 0; j < 9; j++) { this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18 + 56)); } } - - for(int i = 0; i < 9; i++) - { + + for(int i = 0; i < 9; i++) { this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142 + 56)); } } @@ -71,8 +70,8 @@ public class ContainerMachineRefinery extends Container { ItemStack var5 = var4.getStack(); var3 = var5.copy(); - if(par2 <= 11) { - if(!this.mergeItemStack(var5, 12, this.inventorySlots.size(), true)) { + if(par2 <= 12) { + if(!this.mergeItemStack(var5, 13, this.inventorySlots.size(), true)) { return null; } } else if(!this.mergeItemStack(var5, 0, 1, false)) diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineSelenium.java b/src/main/java/com/hbm/inventory/container/ContainerMachineSelenium.java deleted file mode 100644 index e84240f2f..000000000 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineSelenium.java +++ /dev/null @@ -1,93 +0,0 @@ -package com.hbm.inventory.container; - -import com.hbm.inventory.SlotTakeOnly; -import com.hbm.tileentity.machine.TileEntityMachineSeleniumEngine; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class ContainerMachineSelenium extends Container { - -private TileEntityMachineSeleniumEngine seleniumEngine; - - public ContainerMachineSelenium(InventoryPlayer invPlayer, TileEntityMachineSeleniumEngine tedf) { - - seleniumEngine = tedf; - - //Pistons - this.addSlotToContainer(new Slot(tedf, 0, 8, 18)); - this.addSlotToContainer(new Slot(tedf, 1, 26, 18)); - this.addSlotToContainer(new Slot(tedf, 2, 44, 18)); - this.addSlotToContainer(new Slot(tedf, 3, 8, 36)); - this.addSlotToContainer(new Slot(tedf, 4, 26, 36)); - this.addSlotToContainer(new Slot(tedf, 5, 44, 36)); - this.addSlotToContainer(new Slot(tedf, 6, 8, 54)); - this.addSlotToContainer(new Slot(tedf, 7, 26, 54)); - this.addSlotToContainer(new Slot(tedf, 8, 44, 54)); - - //Fluid IO - this.addSlotToContainer(new Slot(tedf, 9, 80, 18)); - this.addSlotToContainer(new SlotTakeOnly(tedf, 10, 80, 54)); - - //Fluid IDs - this.addSlotToContainer(new Slot(tedf, 11, 152, 18)); - this.addSlotToContainer(new SlotTakeOnly(tedf, 12, 152, 54)); - - //Battery - this.addSlotToContainer(new Slot(tedf, 13, 116, 90)); - - for(int i = 0; i < 3; i++) - { - for(int j = 0; j < 9; j++) - { - this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18 + 56)); - } - } - - for(int i = 0; i < 9; i++) - { - this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142 + 56)); - } - } - - @Override - public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) - { - ItemStack var3 = null; - Slot var4 = (Slot) this.inventorySlots.get(par2); - - if (var4 != null && var4.getHasStack()) - { - ItemStack var5 = var4.getStack(); - var3 = var5.copy(); - - if (par2 <= 13) { - if (!this.mergeItemStack(var5, 14, this.inventorySlots.size(), true)) - { - return null; - } - } else { - return null; - } - - if (var5.stackSize == 0) - { - var4.putStack((ItemStack) null); - } - else - { - var4.onSlotChanged(); - } - } - - return var3; - } - - @Override - public boolean canInteractWith(EntityPlayer player) { - return seleniumEngine.isUseableByPlayer(player); - } -} diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineShredder.java b/src/main/java/com/hbm/inventory/container/ContainerMachineShredder.java index f903f1ddd..c10e47ae7 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineShredder.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineShredder.java @@ -1,8 +1,11 @@ package com.hbm.inventory.container; import com.hbm.inventory.SlotCraftingOutput; +import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemBlades; import com.hbm.tileentity.machine.TileEntityMachineShredder; +import api.hbm.energymk2.IBatteryItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; @@ -68,32 +71,37 @@ public class ContainerMachineShredder extends Container { } @Override - public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) { - ItemStack var3 = null; - Slot var4 = (Slot) this.inventorySlots.get(par2); + public ItemStack transferStackInSlot(EntityPlayer player, int index) { + ItemStack rStack = null; + Slot slot = (Slot) this.inventorySlots.get(index); - if(var4 != null && var4.getHasStack()) { - ItemStack var5 = var4.getStack(); - var3 = var5.copy(); + if(slot != null && slot.getHasStack()) { + ItemStack stack = slot.getStack(); + rStack = stack.copy(); - if(par2 <= 29) { - if(!this.mergeItemStack(var5, 30, this.inventorySlots.size(), true)) { + if(index <= 29) { + if(!this.mergeItemStack(stack, 30, this.inventorySlots.size(), true)) { return null; } } else { - if(!this.mergeItemStack(var5, 0, 9, false)) - if(!this.mergeItemStack(var5, 27, 30, false)) - return null; + + if(rStack.getItem() instanceof IBatteryItem || rStack.getItem() == ModItems.battery_creative) { + if(!this.mergeItemStack(stack, 29, 30, false)) return null; + } else if(rStack.getItem() instanceof ItemBlades) { + if(!this.mergeItemStack(stack, 27, 29, false)) return null; + } else { + if(!this.mergeItemStack(stack, 0, 9, false)) return null; + } } - if(var5.stackSize == 0) { - var4.putStack((ItemStack) null); + if(stack.stackSize == 0) { + slot.putStack((ItemStack) null); } else { - var4.onSlotChanged(); + slot.onSlotChanged(); } } - return var3; + return rStack; } @Override diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineStrandCaster.java b/src/main/java/com/hbm/inventory/container/ContainerMachineStrandCaster.java new file mode 100644 index 000000000..6c503f6ce --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineStrandCaster.java @@ -0,0 +1,76 @@ +package com.hbm.inventory.container; + +import com.hbm.inventory.SlotCraftingOutput; +import com.hbm.inventory.SlotNonRetarded; +import com.hbm.tileentity.machine.TileEntityMachineStrandCaster; +import com.hbm.util.InventoryUtil; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +public class ContainerMachineStrandCaster extends Container { + + protected TileEntityMachineStrandCaster caster; + + public ContainerMachineStrandCaster(InventoryPlayer invPlayer, TileEntityMachineStrandCaster caster) { + this.caster = caster; + + //the wretched mold + this.addSlotToContainer(new SlotNonRetarded(this.caster, 0, 57, 62)); + + //output + for (int i = 0; i < 3; i++) { + for (int j = 0; j < 2; j++) { + this.addSlotToContainer(new SlotCraftingOutput(invPlayer.player, this.caster, j + i * 2 + 1, 125 + j * 18, 26 + i * 18)); + } + } + + + for (int i = 0; i < 3; i++) { + for (int j = 0; j < 9; j++) { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 132 + i * 18)); + } + } + + for (int i = 0; i < 9; i++) { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 190)); + } + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer player, int index) { + ItemStack stack = null; + Slot slot = (Slot) this.inventorySlots.get(index); + + if (slot != null && slot.getHasStack()) { + ItemStack originalStack = slot.getStack(); + stack = originalStack.copy(); + + if (index <= 6) { + if (!InventoryUtil.mergeItemStack(this.inventorySlots, originalStack, 7, this.inventorySlots.size(), true)) { + return null; + } + + slot.onSlotChange(originalStack, stack); + + } else if (!InventoryUtil.mergeItemStack(this.inventorySlots, originalStack, 1, 2, false)) { + return null; + } + + if (originalStack.stackSize == 0) { + slot.putStack(null); + } else { + slot.onSlotChanged(); + } + } + + return stack; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return caster.isUseableByPlayer(player); + } +} diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineTurbineGas.java b/src/main/java/com/hbm/inventory/container/ContainerMachineTurbineGas.java index b1aa96ca1..5507df3c5 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineTurbineGas.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineTurbineGas.java @@ -5,7 +5,7 @@ import com.hbm.inventory.fluid.Fluids; import com.hbm.items.machine.ItemFluidIdentifier; import com.hbm.tileentity.machine.TileEntityMachineTurbineGas; -import api.hbm.energy.IBatteryItem; +import api.hbm.energymk2.IBatteryItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineTurbofan.java b/src/main/java/com/hbm/inventory/container/ContainerMachineTurbofan.java index e4e53720d..d2e12fa98 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineTurbofan.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineTurbofan.java @@ -1,8 +1,11 @@ package com.hbm.inventory.container; import com.hbm.inventory.SlotTakeOnly; +import com.hbm.items.machine.IItemFluidIdentifier; +import com.hbm.items.machine.ItemMachineUpgrade; import com.hbm.tileentity.machine.TileEntityMachineTurbofan; +import api.hbm.energymk2.IBatteryItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; @@ -44,31 +47,39 @@ public class ContainerMachineTurbofan extends Container { } @Override - public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) { - ItemStack var3 = null; - Slot var4 = (Slot) this.inventorySlots.get(par2); + public ItemStack transferStackInSlot(EntityPlayer player, int index) { + ItemStack rStack = null; + Slot slot = (Slot) this.inventorySlots.get(index); - if(var4 != null && var4.getHasStack()) { - ItemStack var5 = var4.getStack(); - var3 = var5.copy(); + if(slot != null && slot.getHasStack()) { + ItemStack stack = slot.getStack(); + rStack = stack.copy(); - if(par2 <= 4) { - if(!this.mergeItemStack(var5, 5, this.inventorySlots.size(), true)) { + if(index <= 4) { + if(!this.mergeItemStack(stack, 5, this.inventorySlots.size(), true)) { return null; } - } else if(!this.mergeItemStack(var5, 0, 1, false)) { - if(!this.mergeItemStack(var5, 2, 3, false)) - return null; + } else { + + if(rStack.getItem() instanceof IBatteryItem) { + if(!this.mergeItemStack(stack, 3, 4, false)) return null; + } else if(rStack.getItem() instanceof IItemFluidIdentifier) { + if(!this.mergeItemStack(stack, 4, 5, false)) return null; + } else if(rStack.getItem() instanceof ItemMachineUpgrade ) { + if(!this.mergeItemStack(stack, 2, 3, false)) return null; + } else { + if(!this.mergeItemStack(stack, 0, 1, false)) return null; + } } - if(var5.stackSize == 0) { - var4.putStack((ItemStack) null); + if(stack.stackSize == 0) { + slot.putStack((ItemStack) null); } else { - var4.onSlotChanged(); + slot.onSlotChanged(); } } - return var3; + return rStack; } @Override diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineVacuumDistill.java b/src/main/java/com/hbm/inventory/container/ContainerMachineVacuumDistill.java index 217391f34..c2fd3971b 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineVacuumDistill.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineVacuumDistill.java @@ -1,5 +1,6 @@ package com.hbm.inventory.container; +import com.hbm.inventory.SlotDeprecated; import com.hbm.inventory.SlotTakeOnly; import com.hbm.tileentity.machine.oil.TileEntityMachineVacuumDistill; @@ -20,10 +21,10 @@ public class ContainerMachineVacuumDistill extends Container { //Battery this.addSlotToContainer(new Slot(tedf, 0, 26, 90)); - //Canister Input - this.addSlotToContainer(new Slot(tedf, 1, 44, 90)); - //Canister Output - this.addSlotToContainer(new SlotTakeOnly(tedf, 2, 44, 108)); + //Canister Input (removed, requires pressurization) + this.addSlotToContainer(new SlotDeprecated(tedf, 1, 44, 90)); + //Canister Output (same as above) + this.addSlotToContainer(new SlotDeprecated(tedf, 2, 44, 108)); //Heavy Oil Input this.addSlotToContainer(new Slot(tedf, 3, 80, 90)); //Heavy Oil Output @@ -40,6 +41,8 @@ public class ContainerMachineVacuumDistill extends Container { this.addSlotToContainer(new Slot(tedf, 9, 134, 90)); //Petroleum Output this.addSlotToContainer(new SlotTakeOnly(tedf, 10, 134, 108)); + //Fluid ID + this.addSlotToContainer(new Slot(tedf, 11, 26, 108)); for(int i = 0; i < 3; i++) { for(int j = 0; j < 9; j++) { diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineWoodBurner.java b/src/main/java/com/hbm/inventory/container/ContainerMachineWoodBurner.java index 73684e642..f893fb23f 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineWoodBurner.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineWoodBurner.java @@ -4,7 +4,7 @@ import com.hbm.inventory.SlotTakeOnly; import com.hbm.items.machine.IItemFluidIdentifier; import com.hbm.tileentity.machine.TileEntityMachineWoodBurner; -import api.hbm.energy.IBatteryItem; +import api.hbm.energymk2.IBatteryItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; diff --git a/src/main/java/com/hbm/inventory/container/ContainerMixer.java b/src/main/java/com/hbm/inventory/container/ContainerMixer.java index dcbcdd17b..0242b916b 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMixer.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMixer.java @@ -4,7 +4,7 @@ import com.hbm.items.machine.IItemFluidIdentifier; import com.hbm.items.machine.ItemMachineUpgrade; import com.hbm.tileentity.machine.TileEntityMachineMixer; -import api.hbm.energy.IBatteryItem; +import api.hbm.energymk2.IBatteryItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; diff --git a/src/main/java/com/hbm/inventory/container/ContainerNukeN45.java b/src/main/java/com/hbm/inventory/container/ContainerNukeN45.java deleted file mode 100644 index 9829f3210..000000000 --- a/src/main/java/com/hbm/inventory/container/ContainerNukeN45.java +++ /dev/null @@ -1,82 +0,0 @@ -package com.hbm.inventory.container; - -import com.hbm.tileentity.bomb.TileEntityNukeN45; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.ICrafting; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class ContainerNukeN45 extends Container { - - private TileEntityNukeN45 diFurnace; - - public ContainerNukeN45(InventoryPlayer invPlayer, TileEntityNukeN45 tedf) { - - diFurnace = tedf; - - //Payload - this.addSlotToContainer(new Slot(tedf, 0, 44, 35)); - //Range up - this.addSlotToContainer(new Slot(tedf, 1, 116, 35)); - - for(int i = 0; i < 3; i++) - { - for(int j = 0; j < 9; j++) - { - this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); - } - } - - for(int i = 0; i < 9; i++) - { - this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142)); - } - } - - @Override - public void addCraftingToCrafters(ICrafting crafting) { - super.addCraftingToCrafters(crafting); - } - - @Override - public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) - { - ItemStack var3 = null; - Slot var4 = (Slot) this.inventorySlots.get(par2); - - if (var4 != null && var4.getHasStack()) - { - ItemStack var5 = var4.getStack(); - var3 = var5.copy(); - - if (par2 <= 1) { - if (!this.mergeItemStack(var5, 2, this.inventorySlots.size(), true)) - { - return null; - } - } - else if (!this.mergeItemStack(var5, 0, 2, false)) - { - return null; - } - - if (var5.stackSize == 0) - { - var4.putStack((ItemStack) null); - } - else - { - var4.onSlotChanged(); - } - } - - return var3; - } - - @Override - public boolean canInteractWith(EntityPlayer player) { - return diFurnace.isUseableByPlayer(player); - } -} diff --git a/src/main/java/com/hbm/inventory/container/ContainerReactorMultiblock.java b/src/main/java/com/hbm/inventory/container/ContainerReactorMultiblock.java deleted file mode 100644 index e84e79fd9..000000000 --- a/src/main/java/com/hbm/inventory/container/ContainerReactorMultiblock.java +++ /dev/null @@ -1,88 +0,0 @@ -package com.hbm.inventory.container; - -import com.hbm.inventory.SlotTakeOnly; -import com.hbm.tileentity.machine.TileEntityMachineReactorLarge; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class ContainerReactorMultiblock extends Container { - - private TileEntityMachineReactorLarge diFurnace; - - public ContainerReactorMultiblock(InventoryPlayer invPlayer, TileEntityMachineReactorLarge tedf) { - - diFurnace = tedf; - - //Water in - this.addSlotToContainer(new Slot(tedf, 0, 8, 90)); - //Water out - this.addSlotToContainer(new SlotTakeOnly(tedf, 1, 8, 108)); - //Coolant in - this.addSlotToContainer(new Slot(tedf, 2, 26, 90)); - //Coolant out - this.addSlotToContainer(new SlotTakeOnly(tedf, 3, 26, 108)); - - //Fuel in - this.addSlotToContainer(new Slot(tedf, 4, 80, 36)); - //Fuel out - this.addSlotToContainer(new SlotTakeOnly(tedf, 5, 80, 72)); - //Waste in - this.addSlotToContainer(new Slot(tedf, 6, 152, 36)); - //Waste out - this.addSlotToContainer(new SlotTakeOnly(tedf, 7, 152, 72)); - - for(int i = 0; i < 3; i++) - { - for(int j = 0; j < 9; j++) - { - this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18 + 56)); - } - } - - for(int i = 0; i < 9; i++) - { - this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142 + 56)); - } - } - - @Override - public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) - { - ItemStack var3 = null; - Slot var4 = (Slot) this.inventorySlots.get(par2); - - if (var4 != null && var4.getHasStack()) - { - ItemStack var5 = var4.getStack(); - var3 = var5.copy(); - - if (par2 <= 7) { - if (!this.mergeItemStack(var5, 8, this.inventorySlots.size(), true)) - { - return null; - } - } else { - return null; - } - - if (var5.stackSize == 0) - { - var4.putStack((ItemStack) null); - } - else - { - var4.onSlotChanged(); - } - } - - return var3; - } - - @Override - public boolean canInteractWith(EntityPlayer player) { - return diFurnace.isUseableByPlayer(player); - } -} diff --git a/src/main/java/com/hbm/inventory/container/ContainerTestNuke.java b/src/main/java/com/hbm/inventory/container/ContainerTestNuke.java deleted file mode 100644 index 94a9d2704..000000000 --- a/src/main/java/com/hbm/inventory/container/ContainerTestNuke.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.hbm.inventory.container; - -import com.hbm.tileentity.bomb.TileEntityTestNuke; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class ContainerTestNuke extends Container { - - private TileEntityTestNuke testNuke; - - public ContainerTestNuke(InventoryPlayer invPlayer, TileEntityTestNuke tedf) { - - testNuke = tedf; - - this.addSlotToContainer(new Slot(tedf, 0, 26, 36)); - this.addSlotToContainer(new Slot(tedf, 1, 44, 36)); - this.addSlotToContainer(new Slot(tedf, 2, 62, 36)); - this.addSlotToContainer(new Slot(tedf, 3, 80, 36)); - this.addSlotToContainer(new Slot(tedf, 4, 98, 36)); - - for(int i = 0; i < 3; i++) - { - for(int j = 0; j < 9; j++) - { - this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); - } - } - - for(int i = 0; i < 9; i++) - { - this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142)); - } - } - - @Override - public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int p_82846_2_) - { - return null; - } - - @Override - public boolean canInteractWith(EntityPlayer player) { - return testNuke.isUseableByPlayer(player); - } - -} diff --git a/src/main/java/com/hbm/inventory/container/ContainerWatzCore.java b/src/main/java/com/hbm/inventory/container/ContainerWatzCore.java deleted file mode 100644 index a3760e10c..000000000 --- a/src/main/java/com/hbm/inventory/container/ContainerWatzCore.java +++ /dev/null @@ -1,138 +0,0 @@ -package com.hbm.inventory.container; - -import com.hbm.items.ModItems; -import com.hbm.items.special.WatzFuel; -import com.hbm.tileentity.machine.TileEntityWatzCore; - -import api.hbm.energy.IBatteryItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.ICrafting; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; - -public class ContainerWatzCore extends Container { - - private TileEntityWatzCore diFurnace; - - public ContainerWatzCore(InventoryPlayer invPlayer, TileEntityWatzCore tedf) { - - diFurnace = tedf; - - this.addSlotToContainer(new Slot(tedf, 0, 8, 18)); - this.addSlotToContainer(new Slot(tedf, 1, 26, 18)); - this.addSlotToContainer(new Slot(tedf, 2, 44, 18)); - this.addSlotToContainer(new Slot(tedf, 3, 62, 18)); - this.addSlotToContainer(new Slot(tedf, 4, 80, 18)); - this.addSlotToContainer(new Slot(tedf, 5, 98, 18)); - this.addSlotToContainer(new Slot(tedf, 6, 8, 36)); - this.addSlotToContainer(new Slot(tedf, 7, 26, 36)); - this.addSlotToContainer(new Slot(tedf, 8, 44, 36)); - this.addSlotToContainer(new Slot(tedf, 9, 62, 36)); - this.addSlotToContainer(new Slot(tedf, 10, 80, 36)); - this.addSlotToContainer(new Slot(tedf, 11, 98, 36)); - this.addSlotToContainer(new Slot(tedf, 12, 8, 54)); - this.addSlotToContainer(new Slot(tedf, 13, 26, 54)); - this.addSlotToContainer(new Slot(tedf, 14, 44, 54)); - this.addSlotToContainer(new Slot(tedf, 15, 62, 54)); - this.addSlotToContainer(new Slot(tedf, 16, 80, 54)); - this.addSlotToContainer(new Slot(tedf, 17, 98, 54)); - this.addSlotToContainer(new Slot(tedf, 18, 8, 72)); - this.addSlotToContainer(new Slot(tedf, 19, 26, 72)); - this.addSlotToContainer(new Slot(tedf, 20, 44, 72)); - this.addSlotToContainer(new Slot(tedf, 21, 62, 72)); - this.addSlotToContainer(new Slot(tedf, 22, 80, 72)); - this.addSlotToContainer(new Slot(tedf, 23, 98, 72)); - this.addSlotToContainer(new Slot(tedf, 24, 8, 90)); - this.addSlotToContainer(new Slot(tedf, 25, 26, 90)); - this.addSlotToContainer(new Slot(tedf, 26, 44, 90)); - this.addSlotToContainer(new Slot(tedf, 27, 62, 90)); - this.addSlotToContainer(new Slot(tedf, 28, 80, 90)); - this.addSlotToContainer(new Slot(tedf, 29, 98, 90)); - this.addSlotToContainer(new Slot(tedf, 30, 8, 108)); - this.addSlotToContainer(new Slot(tedf, 31, 26, 108)); - this.addSlotToContainer(new Slot(tedf, 32, 44, 108)); - this.addSlotToContainer(new Slot(tedf, 33, 62, 108)); - this.addSlotToContainer(new Slot(tedf, 34, 80, 108)); - this.addSlotToContainer(new Slot(tedf, 35, 98, 108)); - //Mud Input - this.addSlotToContainer(new Slot(tedf, 36, 134, 108 - 18)); - //Battery - this.addSlotToContainer(new Slot(tedf, 37, 152, 108 - 18)); - //Filter - this.addSlotToContainer(new Slot(tedf, 38, 116, 63)); - //Mud Output - this.addSlotToContainer(new Slot(tedf, 39, 134, 108)); - - for(int i = 0; i < 3; i++) - { - for(int j = 0; j < 9; j++) - { - this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18 + 56)); - } - } - - for(int i = 0; i < 9; i++) - { - this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142 + 56)); - } - } - - @Override - public void addCraftingToCrafters(ICrafting crafting) { - super.addCraftingToCrafters(crafting); - } - - @Override - public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) { - ItemStack var3 = null; - Slot var4 = (Slot) this.inventorySlots.get(par2); - - if(var4 != null && var4.getHasStack()) { - ItemStack var5 = var4.getStack(); - var3 = var5.copy(); - - if(par2 <= 39) { - if(!this.mergeItemStack(var5, 40, this.inventorySlots.size(), true)) { - return null; - } - - } else { - - if(var5.getItem() == ModItems.titanium_filter) { - if(!this.mergeItemStack(var5, 38, 39, false)) { - return null; - } - } else if(var5.getItem() instanceof WatzFuel) { - if(!this.mergeItemStack(var5, 0, 36, false)) { - return null; - } - } else if(var5.getItem() instanceof IBatteryItem) { - if(!this.mergeItemStack(var5, 37, 38, false)) { - return null; - } - } else { - if(!this.mergeItemStack(var5, 36, 37, false)) { - return null; - } - } - } - - if(var5.stackSize == 0) { - var4.putStack((ItemStack) null); - } else { - var4.onSlotChanged(); - } - - var4.onPickupFromSlot(p_82846_1_, var5); - } - - return var3; - } - - @Override - public boolean canInteractWith(EntityPlayer player) { - return diFurnace.isUseableByPlayer(player); - } -} diff --git a/src/main/java/com/hbm/inventory/fluid/FluidType.java b/src/main/java/com/hbm/inventory/fluid/FluidType.java index d6fa4d759..f08ae979a 100644 --- a/src/main/java/com/hbm/inventory/fluid/FluidType.java +++ b/src/main/java/com/hbm/inventory/fluid/FluidType.java @@ -4,10 +4,10 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Locale; -import java.util.Map.Entry; import org.lwjgl.input.Keyboard; +import com.hbm.config.GeneralConfig; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.trait.*; import com.hbm.inventory.fluid.trait.FluidTraitSimple.*; @@ -150,7 +150,8 @@ public class FluidType { return this.localizedOverride != null ? this.localizedOverride : this.unlocalized; } public String getDict(int quantity) { - return "container" + quantity + this.stringId.replace("_", "").toLowerCase(Locale.US); + String prefix = GeneralConfig.enableFluidContainerCompat ? "container" : "ntmcontainer"; + return prefix + quantity + this.stringId.replace("_", "").toLowerCase(Locale.US); } public boolean isHot() { @@ -171,6 +172,9 @@ public class FluidType { public boolean needsLeadContainer() { return this.traits.containsKey(FT_LeadContainer.class); } + public boolean isDispersable() { + return !(this.traits.containsKey(FT_Amat.class) || this.traits.containsKey(FT_NoContainer.class) || this.traits.containsKey(FT_Viscous.class)); + } /** * Called when the tile entity is broken, effectively voiding the fluids. @@ -205,23 +209,23 @@ public class FluidType { if(temperature > 0) info.add(EnumChatFormatting.RED + "" + temperature + "°C"); } + boolean shiftHeld = Keyboard.isKeyDown(Keyboard.KEY_LSHIFT); + List hidden = new ArrayList(); - for(Entry, FluidTrait> entry : this.traits.entrySet()) { - entry.getValue().addInfo(info); - entry.getValue().addInfoHidden(hidden); + for(Class clazz : FluidTrait.traitList) { + FluidTrait trait = this.getTrait(clazz); + if(trait != null) { + trait.addInfo(info); + if(shiftHeld) trait.addInfoHidden(info); + trait.addInfoHidden(hidden); + } } - if(!hidden.isEmpty()) { - - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) { - info.addAll(hidden); - } else { - - info.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC +"Hold <" + - EnumChatFormatting.YELLOW + "" + EnumChatFormatting.ITALIC + "LSHIFT" + - EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC + "> to display more info"); - } + if(!hidden.isEmpty() && !shiftHeld) { + info.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC +"Hold <" + + EnumChatFormatting.YELLOW + "" + EnumChatFormatting.ITALIC + "LSHIFT" + + EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC + "> to display more info"); } } diff --git a/src/main/java/com/hbm/inventory/fluid/Fluids.java b/src/main/java/com/hbm/inventory/fluid/Fluids.java index 5ca1341f6..10e776c4c 100644 --- a/src/main/java/com/hbm/inventory/fluid/Fluids.java +++ b/src/main/java/com/hbm/inventory/fluid/Fluids.java @@ -13,6 +13,8 @@ import com.google.gson.Gson; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.stream.JsonWriter; +import com.hbm.handler.pollution.PollutionHandler; +import com.hbm.handler.pollution.PollutionHandler.PollutionType; import com.hbm.inventory.fluid.trait.*; import com.hbm.inventory.fluid.trait.FluidTraitSimple.*; import com.hbm.lib.ModDamageSource; @@ -46,8 +48,12 @@ public class Fluids { public static FluidType OIL; public static FluidType CRACKOIL; public static FluidType COALOIL; + public static FluidType OIL_DS; + public static FluidType CRACKOIL_DS; public static FluidType HOTOIL; public static FluidType HOTCRACKOIL; + public static FluidType HOTOIL_DS; + public static FluidType HOTCRACKOIL_DS; public static FluidType HEAVYOIL; public static FluidType BITUMEN; public static FluidType SMEAR; @@ -56,10 +62,12 @@ public class Fluids { public static FluidType LUBRICANT; public static FluidType NAPHTHA; public static FluidType NAPHTHA_CRACK; + public static FluidType NAPHTHA_DS; public static FluidType DIESEL; public static FluidType DIESEL_CRACK; public static FluidType LIGHTOIL; public static FluidType LIGHTOIL_CRACK; + public static FluidType LIGHTOIL_DS; public static FluidType KEROSENE; public static FluidType GAS; public static FluidType PETROLEUM; @@ -118,6 +126,8 @@ public class Fluids { public static FluidType SOLVENT; //oranic solvent in fact public static FluidType BLOOD; //BLOOD ORB! BLOOD ORB! BLOOD ORB! public static FluidType BLOOD_HOT; + public static FluidType PHEROMONE; + public static FluidType PHEROMONE_M; public static FluidType SYNGAS; public static FluidType OXYHYDROGEN; public static FluidType RADIOSOLVENT; //DCM-ish made by wacky radio cracking @@ -163,6 +173,7 @@ public class Fluids { public static FluidType THORIUM_SALT_HOT; public static FluidType THORIUM_SALT_DEPLETED; public static FluidType FULLERENE; + public static FluidType STELLAR_FLUX; public static List customFluids = new ArrayList(); @@ -181,8 +192,29 @@ public class Fluids { public static final FT_NoContainer NOCON = new FT_NoContainer(); public static final FT_NoID NOID = new FT_NoID(); public static final FT_Delicious DELICIOUS = new FT_Delicious(); - public static final FT_Leaded LEADED = new FT_Leaded(); - + public static final FT_Unsiphonable UNSIPHONABLE = new FT_Unsiphonable(); + + /* Burns 4x dirtier than regular fuel */ + public static final float SOOT_UNREFINED_OIL = PollutionHandler.SOOT_PER_SECOND * 0.1F; + /* Original baseline, used for most fuels */ + public static final float SOOT_REFINED_OIL = PollutionHandler.SOOT_PER_SECOND * 0.025F; + /* Gasses burn very cleanly */ + public static final float SOOT_GAS = PollutionHandler.SOOT_PER_SECOND * 0.005F; + /* Original baseline for leaded fuels */ + public static final float LEAD_FUEL = PollutionHandler.HEAVY_METAL_PER_SECOND * 0.025F; + /* Poison stat for most petrochemicals */ + public static final float POISON_OIL = PollutionHandler.POISON_PER_SECOND * 0.0025F; + /* Poison stat for horrible chemicals like red mud or phosgene */ + public static final float POISON_EXTREME = PollutionHandler.POISON_PER_SECOND * 0.025F; + /* Poison stat for mostly inert things like carbon dioxide */ + public static final float POISON_MINOR = PollutionHandler.POISON_PER_SECOND * 0.001F; + + public static final FT_Polluting P_OIL = new FT_Polluting().burn(PollutionType.SOOT, SOOT_UNREFINED_OIL).release(PollutionType.POISON, POISON_OIL); + public static final FT_Polluting P_FUEL = new FT_Polluting().burn(PollutionType.SOOT, SOOT_REFINED_OIL).release(PollutionType.POISON, POISON_OIL); + public static final FT_Polluting P_FUEL_LEADED = new FT_Polluting().burn(PollutionType.SOOT, SOOT_REFINED_OIL).burn(PollutionType.HEAVYMETAL, LEAD_FUEL).release(PollutionType.POISON, POISON_OIL).release(PollutionType.HEAVYMETAL, LEAD_FUEL * 0.1F); + public static final FT_Polluting P_GAS = new FT_Polluting().burn(PollutionType.SOOT, SOOT_GAS); + public static final FT_Polluting P_LIQUID_GAS = new FT_Polluting().burn(PollutionType.SOOT, SOOT_GAS * 2F); + public static void init() { // ##### ##### ##### ##### ## # ##### # # ##### ## # ##### @@ -199,34 +231,34 @@ public class Fluids { */ NONE = new FluidType("NONE", 0x888888, 0, 0, 0, EnumSymbol.NONE); - WATER = new FluidType("WATER", 0x3333FF, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID); - STEAM = new FluidType("STEAM", 0xe5e5e5, 3, 0, 0, EnumSymbol.NONE).setTemp(100).addTraits(GASEOUS); - HOTSTEAM = new FluidType("HOTSTEAM", 0xE7D6D6, 4, 0, 0, EnumSymbol.NONE).setTemp(300).addTraits(GASEOUS); - SUPERHOTSTEAM = new FluidType("SUPERHOTSTEAM", 0xE7B7B7, 4, 0, 0, EnumSymbol.NONE).setTemp(450).addTraits(GASEOUS); - ULTRAHOTSTEAM = new FluidType("ULTRAHOTSTEAM", 0xE39393, 4, 0, 0, EnumSymbol.NONE).setTemp(600).addTraits(GASEOUS); + WATER = new FluidType("WATER", 0x3333FF, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, UNSIPHONABLE); + STEAM = new FluidType("STEAM", 0xe5e5e5, 3, 0, 0, EnumSymbol.NONE).setTemp(100).addTraits(GASEOUS, UNSIPHONABLE); + HOTSTEAM = new FluidType("HOTSTEAM", 0xE7D6D6, 4, 0, 0, EnumSymbol.NONE).setTemp(300).addTraits(GASEOUS, UNSIPHONABLE); + SUPERHOTSTEAM = new FluidType("SUPERHOTSTEAM", 0xE7B7B7, 4, 0, 0, EnumSymbol.NONE).setTemp(450).addTraits(GASEOUS, UNSIPHONABLE); + ULTRAHOTSTEAM = new FluidType("ULTRAHOTSTEAM", 0xE39393, 4, 0, 0, EnumSymbol.NONE).setTemp(600).addTraits(GASEOUS, UNSIPHONABLE); COOLANT = new FluidType("COOLANT", 0xd8fcff, 1, 0, 0, EnumSymbol.NONE).addTraits(LIQUID); LAVA = new FluidType("LAVA", 0xFF3300, 4, 0, 0, EnumSymbol.NOWATER).setTemp(1200).addTraits(LIQUID, VISCOUS); DEUTERIUM = new FluidType("DEUTERIUM", 0x0000FF, 3, 4, 0, EnumSymbol.NONE).addTraits(new FT_Flammable(5_000), new FT_Combustible(FuelGrade.HIGH, 10_000), GASEOUS); TRITIUM = new FluidType("TRITIUM", 0x000099, 3, 4, 0, EnumSymbol.RADIATION).addTraits(new FT_Flammable(5_000), new FT_Combustible(FuelGrade.HIGH, 10_000), GASEOUS, new FT_VentRadiation(0.001F)); - OIL = new FluidType("OIL", 0x020202, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x424242)).addTraits(new FT_Flammable(10_000), LIQUID, VISCOUS); - HOTOIL = new FluidType("HOTOIL", 0x300900, 2, 3, 0, EnumSymbol.NONE).setTemp(350).addTraits(new FT_Flammable(10_000), LIQUID, VISCOUS); - HEAVYOIL = new FluidType("HEAVYOIL", 0x141312, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x513F39)).addTraits(new FT_Flammable(50_000), new FT_Combustible(FuelGrade.LOW, 25_000), LIQUID, VISCOUS); - BITUMEN = new FluidType("BITUMEN", 0x1f2426, 2, 0, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x5A5877)).addTraits(LIQUID, VISCOUS); - SMEAR = new FluidType("SMEAR", 0x190f01, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x624F3B)).addTraits(new FT_Flammable(50_000), LIQUID, VISCOUS); - HEATINGOIL = new FluidType("HEATINGOIL", 0x211806, 2, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x694235)).addTraits(new FT_Flammable(150_000), new FT_Combustible(FuelGrade.LOW, 100_000), LIQUID, VISCOUS); - RECLAIMED = new FluidType("RECLAIMED", 0x332b22, 2, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0xF65723)).addTraits(new FT_Flammable(100_000), new FT_Combustible(FuelGrade.LOW, 200_000), LIQUID, VISCOUS); - PETROIL = new FluidType("PETROIL", 0x44413d, 1, 3, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x2369F6)).addTraits(new FT_Flammable(125_000), new FT_Combustible(FuelGrade.MEDIUM, 300_000), LIQUID); - LUBRICANT = new FluidType("LUBRICANT", 0x606060, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0xF1CC05)).addTraits(LIQUID); - NAPHTHA = new FluidType("NAPHTHA", 0x595744, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x5F6D44)).addTraits(new FT_Flammable(125_000), new FT_Combustible(FuelGrade.MEDIUM, 200_000), LIQUID, VISCOUS); - DIESEL = new FluidType("DIESEL", 0xf2eed5, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0xFF2C2C)).addTraits(new FT_Flammable(200_000), new FT_Combustible(FuelGrade.HIGH, 500_000), LIQUID); - LIGHTOIL = new FluidType("LIGHTOIL", 0x8c7451, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0xB46B52)).addTraits(new FT_Flammable(200_000), new FT_Combustible(FuelGrade.MEDIUM, 500_000), LIQUID); - KEROSENE = new FluidType("KEROSENE", 0xffa5d2, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0xFF377D)).addTraits(new FT_Flammable(300_000), new FT_Combustible(FuelGrade.AERO, 1_250_000), LIQUID); - GAS = new FluidType("GAS", 0xfffeed, 1, 4, 1, EnumSymbol.NONE).addContainers(new CD_Gastank(0xFF4545, 0xFFE97F)).addTraits(new FT_Flammable(10_000), GASEOUS); - PETROLEUM = new FluidType("PETROLEUM", 0x7cb7c9, 1, 4, 1, EnumSymbol.NONE).addContainers(new CD_Gastank(0x5E7CFF, 0xFFE97F)).addTraits(new FT_Flammable(25_000), GASEOUS); - LPG = new FluidType("LPG", 0x4747EA, 1, 3, 1, EnumSymbol.NONE).addTraits(new FT_Flammable(200_000), new FT_Combustible(FuelGrade.HIGH, 400_000), LIQUID); - BIOGAS = new FluidType("BIOGAS", 0xbfd37c, 1, 4, 1, EnumSymbol.NONE).addContainers(new CD_Gastank(0xC8FF1F, 0x303030)).addTraits(new FT_Flammable(25_000), GASEOUS); - BIOFUEL = new FluidType("BIOFUEL", 0xeef274, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x9EB623)).addTraits(new FT_Flammable(150_000), new FT_Combustible(FuelGrade.HIGH, 400_000), LIQUID); - NITAN = new FluidType("NITAN", 0x8018ad, 2, 4, 1, EnumSymbol.NONE).addContainers(new CD_Canister(0x6B238C)).addTraits(new FT_Flammable(2_000_000), new FT_Combustible(FuelGrade.HIGH, 5_000_000), LIQUID); + OIL = new FluidType("OIL", 0x020202, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x424242)).addTraits(new FT_Flammable(10_000), LIQUID, VISCOUS, P_OIL); + HOTOIL = new FluidType("HOTOIL", 0x300900, 2, 3, 0, EnumSymbol.NONE).setTemp(350).addTraits(LIQUID, VISCOUS, P_OIL); + HEAVYOIL = new FluidType("HEAVYOIL", 0x141312, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x513F39)).addTraits(new FT_Flammable(50_000), new FT_Combustible(FuelGrade.LOW, 25_000), LIQUID, VISCOUS, P_OIL); + BITUMEN = new FluidType("BITUMEN", 0x1f2426, 2, 0, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x5A5877)).addTraits(LIQUID, VISCOUS, P_OIL); + SMEAR = new FluidType("SMEAR", 0x190f01, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x624F3B)).addTraits(new FT_Flammable(50_000), LIQUID, VISCOUS, P_OIL); + HEATINGOIL = new FluidType("HEATINGOIL", 0x211806, 2, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x694235)).addTraits(new FT_Flammable(150_000), new FT_Combustible(FuelGrade.LOW, 100_000), LIQUID, VISCOUS, P_OIL); + RECLAIMED = new FluidType("RECLAIMED", 0x332b22, 2, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0xF65723)).addTraits(new FT_Flammable(100_000), new FT_Combustible(FuelGrade.LOW, 200_000), LIQUID, VISCOUS, P_FUEL); + PETROIL = new FluidType("PETROIL", 0x44413d, 1, 3, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x2369F6)).addTraits(new FT_Flammable(125_000), new FT_Combustible(FuelGrade.MEDIUM, 300_000), LIQUID, P_FUEL); + LUBRICANT = new FluidType("LUBRICANT", 0x606060, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0xF1CC05)).addTraits(LIQUID, P_OIL); + NAPHTHA = new FluidType("NAPHTHA", 0x595744, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x5F6D44)).addTraits(new FT_Flammable(125_000), new FT_Combustible(FuelGrade.MEDIUM, 200_000), LIQUID, VISCOUS, P_FUEL); + DIESEL = new FluidType("DIESEL", 0xf2eed5, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0xFF2C2C)).addTraits(new FT_Flammable(200_000), new FT_Combustible(FuelGrade.HIGH, 500_000), LIQUID, P_FUEL); + LIGHTOIL = new FluidType("LIGHTOIL", 0x8c7451, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0xB46B52)).addTraits(new FT_Flammable(200_000), new FT_Combustible(FuelGrade.MEDIUM, 500_000), LIQUID, P_FUEL); + KEROSENE = new FluidType("KEROSENE", 0xffa5d2, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0xFF377D)).addTraits(new FT_Flammable(300_000), new FT_Combustible(FuelGrade.AERO, 1_250_000), LIQUID, P_FUEL); + GAS = new FluidType("GAS", 0xfffeed, 1, 4, 1, EnumSymbol.NONE).addContainers(new CD_Gastank(0xFF4545, 0xFFE97F)).addTraits(new FT_Flammable(10_000), GASEOUS, P_GAS); + PETROLEUM = new FluidType("PETROLEUM", 0x7cb7c9, 1, 4, 1, EnumSymbol.NONE).addContainers(new CD_Gastank(0x5E7CFF, 0xFFE97F)).addTraits(new FT_Flammable(25_000), GASEOUS, P_GAS); + LPG = new FluidType("LPG", 0x4747EA, 1, 3, 1, EnumSymbol.NONE).addTraits(new FT_Flammable(200_000), new FT_Combustible(FuelGrade.HIGH, 400_000), LIQUID, P_LIQUID_GAS); + BIOGAS = new FluidType("BIOGAS", 0xbfd37c, 1, 4, 1, EnumSymbol.NONE).addContainers(new CD_Gastank(0xC8FF1F, 0x303030)).addTraits(new FT_Flammable(25_000), GASEOUS, P_GAS); + BIOFUEL = new FluidType("BIOFUEL", 0xeef274, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x9EB623)).addTraits(new FT_Flammable(150_000), new FT_Combustible(FuelGrade.HIGH, 400_000), LIQUID, P_FUEL); + NITAN = new FluidType("NITAN", 0x8018ad, 2, 4, 1, EnumSymbol.NONE).addContainers(new CD_Canister(0x6B238C)).addTraits(new FT_Flammable(2_000_000), new FT_Combustible(FuelGrade.HIGH, 5_000_000), LIQUID, P_FUEL); UF6 = new FluidType("UF6", 0xD1CEBE, 4, 0, 2, EnumSymbol.RADIATION).addTraits(new FT_VentRadiation(0.2F), new FT_Corrosive(15), GASEOUS); PUF6 = new FluidType("PUF6", 0x4C4C4C, 4, 0, 4, EnumSymbol.RADIATION).addTraits(new FT_VentRadiation(0.1F), new FT_Corrosive(15), GASEOUS); SAS3 = new FluidType("SAS3", 0x4ffffc, 5, 0, 4, EnumSymbol.RADIATION).addTraits(new FT_VentRadiation(1F), new FT_Corrosive(30), LIQUID); @@ -234,18 +266,18 @@ public class Fluids { AMAT = new FluidType("AMAT", 0x010101, 5, 0, 5, EnumSymbol.ANTIMATTER).addTraits(ANTI, GASEOUS); ASCHRAB = new FluidType("ASCHRAB", 0xb50000, 5, 0, 5, EnumSymbol.ANTIMATTER).addTraits(ANTI, GASEOUS); ACID = new FluidType("ACID", 0xfff7aa, 3, 0, 3, EnumSymbol.OXIDIZER).addTraits(new FT_Corrosive(40), LIQUID); - WATZ = new FluidType("WATZ", 0x86653E, 4, 0, 3, EnumSymbol.ACID).addTraits(new FT_Corrosive(60), new FT_VentRadiation(0.1F), LIQUID, VISCOUS); + WATZ = new FluidType("WATZ", 0x86653E, 4, 0, 3, EnumSymbol.ACID).addTraits(new FT_Corrosive(60), new FT_VentRadiation(0.1F), LIQUID, VISCOUS, new FT_Polluting().release(PollutionType.POISON, POISON_EXTREME)); CRYOGEL = new FluidType("CRYOGEL", 0x32ffff, 2, 0, 0, EnumSymbol.CROYGENIC).setTemp(-170).addTraits(LIQUID, VISCOUS); HYDROGEN = new FluidType("HYDROGEN", 0x4286f4, 3, 4, 0, EnumSymbol.CROYGENIC).setTemp(-260).addContainers(new CD_Gastank(0x4286f4, 0xffffff)).addTraits(new FT_Flammable(5_000), new FT_Combustible(FuelGrade.HIGH, 10_000), LIQUID, EVAP); OXYGEN = new FluidType("OXYGEN", 0x98bdf9, 3, 0, 0, EnumSymbol.CROYGENIC).setTemp(-100).addContainers(new CD_Gastank(0x98bdf9, 0xffffff)).addTraits(LIQUID, EVAP); XENON = new FluidType("XENON", 0xba45e8, 0, 0, 0, EnumSymbol.ASPHYXIANT).addContainers(new CD_Gastank(0x8C21FF, 0x303030)).addTraits(GASEOUS); - BALEFIRE = new FluidType("BALEFIRE", 0x28e02e, 4, 4, 3, EnumSymbol.RADIATION).setTemp(1500).addTraits(new FT_Corrosive(50), new FT_Flammable(1_000_000), new FT_Combustible(FuelGrade.HIGH, 2_500_000), LIQUID, VISCOUS); + BALEFIRE = new FluidType("BALEFIRE", 0x28e02e, 4, 4, 3, EnumSymbol.RADIATION).setTemp(1500).addTraits(new FT_Corrosive(50), new FT_Flammable(1_000_000), new FT_Combustible(FuelGrade.HIGH, 2_500_000), LIQUID, VISCOUS, P_FUEL); MERCURY = new FluidType("MERCURY", 0x808080, 2, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, new FT_Poison(false, 2)); PAIN = new FluidType("PAIN", 0x938541, 2, 0, 1, EnumSymbol.ACID).setTemp(300).addTraits(new FT_Corrosive(30), new FT_Poison(true, 2), LIQUID, VISCOUS); WASTEFLUID = new FluidType("WASTEFLUID", 0x544400, 2, 0, 1, EnumSymbol.RADIATION).addTraits(new FT_VentRadiation(0.5F), NOCON, LIQUID, VISCOUS); WASTEGAS = new FluidType("WASTEGAS", 0xB8B8B8, 2, 0, 1, EnumSymbol.RADIATION).addTraits(new FT_VentRadiation(0.5F), NOCON, GASEOUS); - GASOLINE = new FluidType("GASOLINE", 0x445772, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x2F7747)).addTraits(new FT_Flammable(400_000), new FT_Combustible(FuelGrade.HIGH, 1_000_000), LIQUID); - COALGAS = new FluidType("COALGAS", 0x445772, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x2E155F)).addTraits(new FT_Flammable(75_000), new FT_Combustible(FuelGrade.MEDIUM, 150_000), LIQUID); + GASOLINE = new FluidType("GASOLINE", 0x445772, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x2F7747)).addTraits(new FT_Flammable(400_000), new FT_Combustible(FuelGrade.HIGH, 1_000_000), LIQUID, P_FUEL); + COALGAS = new FluidType("COALGAS", 0x445772, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x2E155F)).addTraits(new FT_Flammable(75_000), new FT_Combustible(FuelGrade.MEDIUM, 150_000), LIQUID, P_FUEL); SPENTSTEAM = new FluidType("SPENTSTEAM", 0x445772, 2, 0, 0, EnumSymbol.NONE).addTraits(NOCON, GASEOUS); FRACKSOL = new FluidType("FRACKSOL", 0x798A6B, 1, 3, 3, EnumSymbol.ACID).addContainers(new CD_Canister(0x4F887F)).addTraits(new FT_Corrosive(15), new FT_Poison(false, 0), LIQUID, VISCOUS); PLASMA_DT = new FluidType("PLASMA_DT", 0xF7AFDE, 0, 4, 0, EnumSymbol.RADIATION).setTemp(3250).addTraits(NOCON, NOID, PLASMA); @@ -253,65 +285,65 @@ public class Fluids { PLASMA_HT = new FluidType("PLASMA_HT", 0xD1ABF2, 0, 4, 0, EnumSymbol.RADIATION).setTemp(3000).addTraits(NOCON, NOID, PLASMA); PLASMA_XM = new FluidType("PLASMA_XM", 0xC6A5FF, 0, 4, 1, EnumSymbol.RADIATION).setTemp(4250).addTraits(NOCON, NOID, PLASMA); PLASMA_BF = new FluidType("PLASMA_BF", 0xA7F1A3, 4, 5, 4, EnumSymbol.ANTIMATTER).setTemp(8500).addTraits(NOCON, NOID, PLASMA); - CARBONDIOXIDE = new FluidType("CARBONDIOXIDE", 0x404040, 3, 0, 0, EnumSymbol.ASPHYXIANT).addTraits(GASEOUS); + CARBONDIOXIDE = new FluidType("CARBONDIOXIDE", 0x404040, 3, 0, 0, EnumSymbol.ASPHYXIANT).addTraits(GASEOUS, new FT_Polluting().release(PollutionType.POISON, POISON_MINOR)); PLASMA_DH3 = new FluidType("PLASMA_DH3", 0xFF83AA, 0, 4, 0, EnumSymbol.RADIATION).setTemp(3480).addTraits(NOCON, NOID, PLASMA); HELIUM3 = new FluidType("HELIUM3", 0xFCF0C4, 0, 0, 0, EnumSymbol.ASPHYXIANT).addTraits(GASEOUS); DEATH = new FluidType("DEATH", 0x717A88, 2, 0, 1, EnumSymbol.ACID).setTemp(300).addTraits(new FT_Corrosive(80), new FT_Poison(true, 4), LEADCON, LIQUID, VISCOUS); - ETHANOL = new FluidType("ETHANOL", 0xe0ffff, 2, 3, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0xEAFFF3)).addTraits(new FT_Flammable(75_000), new FT_Combustible(FuelGrade.HIGH, 200_000), LIQUID); + ETHANOL = new FluidType("ETHANOL", 0xe0ffff, 2, 3, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0xEAFFF3)).addTraits(new FT_Flammable(75_000), new FT_Combustible(FuelGrade.HIGH, 200_000), LIQUID, P_FUEL); HEAVYWATER = new FluidType("HEAVYWATER", 0x00a0b0, 1, 0, 0, EnumSymbol.NONE).addTraits(LIQUID); - CRACKOIL = new FluidType("CRACKOIL", 0x020202, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x424242)).addTraits(new FT_Flammable(10_000), LIQUID, VISCOUS); - COALOIL = new FluidType("COALOIL", 0x020202, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x424242)).addTraits(new FT_Flammable(10_000), LIQUID, VISCOUS); - HOTCRACKOIL = new FluidType("HOTCRACKOIL", 0x300900, 2, 3, 0, EnumSymbol.NONE).setTemp(350).addContainers(new CD_Canister(0x424242)).addTraits(new FT_Flammable(10_000), LIQUID, VISCOUS); - NAPHTHA_CRACK = new FluidType("NAPHTHA_CRACK", 0x595744, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x5F6D44)).addTraits(new FT_Flammable(125_000), new FT_Combustible(FuelGrade.MEDIUM, 200_000), LIQUID, VISCOUS); - LIGHTOIL_CRACK = new FluidType("LIGHTOIL_CRACK", 0x8c7451, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0xB46B52)).addTraits(new FT_Flammable(200_000), new FT_Combustible(FuelGrade.MEDIUM, 500_000), LIQUID); - DIESEL_CRACK = new FluidType("DIESEL_CRACK", 0xf2eed5, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0xFF2C2C)).addTraits(new FT_Flammable(200_000), new FT_Combustible(FuelGrade.HIGH, 450_000), LIQUID); - AROMATICS = new FluidType("AROMATICS", 0x68A09A, 1, 4, 1, EnumSymbol.NONE).addTraits(new FT_Flammable(25_000), LIQUID, VISCOUS); - UNSATURATEDS = new FluidType("UNSATURATEDS", 0x628FAE, 1, 4, 1, EnumSymbol.NONE).addTraits(new FT_Flammable(1_000_000), GASEOUS); //acetylene burns as hot as satan's asshole + CRACKOIL = new FluidType("CRACKOIL", 0x020202, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x424242)).addTraits(new FT_Flammable(10_000), LIQUID, VISCOUS, P_OIL); + COALOIL = new FluidType("COALOIL", 0x020202, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x424242)).addTraits(new FT_Flammable(10_000), LIQUID, VISCOUS, P_OIL); + HOTCRACKOIL = new FluidType("HOTCRACKOIL", 0x300900, 2, 3, 0, EnumSymbol.NONE).setTemp(350).addTraits(LIQUID, VISCOUS, P_OIL); + NAPHTHA_CRACK = new FluidType("NAPHTHA_CRACK", 0x595744, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x5F6D44)).addTraits(new FT_Flammable(125_000), new FT_Combustible(FuelGrade.MEDIUM, 200_000), LIQUID, VISCOUS, P_FUEL); + LIGHTOIL_CRACK = new FluidType("LIGHTOIL_CRACK", 0x8c7451, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0xB46B52)).addTraits(new FT_Flammable(200_000), new FT_Combustible(FuelGrade.MEDIUM, 500_000), LIQUID, P_FUEL); + DIESEL_CRACK = new FluidType("DIESEL_CRACK", 0xf2eed5, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0xFF2C2C)).addTraits(new FT_Flammable(200_000), new FT_Combustible(FuelGrade.HIGH, 450_000), LIQUID, P_FUEL); + AROMATICS = new FluidType("AROMATICS", 0x68A09A, 1, 4, 1, EnumSymbol.NONE).addTraits(new FT_Flammable(25_000), LIQUID, VISCOUS, P_GAS); + UNSATURATEDS = new FluidType("UNSATURATEDS", 0x628FAE, 1, 4, 1, EnumSymbol.NONE).addTraits(new FT_Flammable(1_000_000), GASEOUS, P_GAS); //acetylene burns as hot as satan's asshole SALIENT = new FluidType("SALIENT", 0x457F2D, 0, 0, 0, EnumSymbol.NONE).addTraits(DELICIOUS, LIQUID, VISCOUS); XPJUICE = new FluidType("XPJUICE", 0xBBFF09, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS); - ENDERJUICE = new FluidType("ENDERJUICE", 0x127766, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS); - PETROIL_LEADED = new FluidType("PETROIL_LEADED", 0x44413d, 1, 3, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x2331F6)).addTraits(new FT_Flammable(125_000), new FT_Combustible(FuelGrade.MEDIUM, 450_000), LIQUID, LEADED); - GASOLINE_LEADED = new FluidType("GASOLINE_LEADED", 0x445772, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x2F775A)).addTraits(new FT_Flammable(400_000), new FT_Combustible(FuelGrade.HIGH, 1_500_000), LIQUID, LEADED); - COALGAS_LEADED = new FluidType("COALGAS_LEADED", 0x445772, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x1E155F)).addTraits(new FT_Flammable(75_000), new FT_Combustible(FuelGrade.MEDIUM, 250_000), LIQUID, LEADED); + ENDERJUICE = new FluidType("ENDERJUICE", 0x127766, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID); + PETROIL_LEADED = new FluidType("PETROIL_LEADED", 0x44413d, 1, 3, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x2331F6)).addTraits(new FT_Flammable(125_000), new FT_Combustible(FuelGrade.MEDIUM, 450_000), LIQUID, P_FUEL_LEADED); + GASOLINE_LEADED = new FluidType("GASOLINE_LEADED", 0x445772, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x2F775A)).addTraits(new FT_Flammable(400_000), new FT_Combustible(FuelGrade.HIGH, 1_500_000), LIQUID, P_FUEL_LEADED); + COALGAS_LEADED = new FluidType("COALGAS_LEADED", 0x445772, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x1E155F)).addTraits(new FT_Flammable(75_000), new FT_Combustible(FuelGrade.MEDIUM, 250_000), LIQUID, P_FUEL_LEADED); SULFURIC_ACID = new FluidType("SULFURIC_ACID", 0xB0AA64, 3, 0, 2, EnumSymbol.ACID).addTraits(new FT_Corrosive(50), LIQUID); COOLANT_HOT = new FluidType("COOLANT_HOT", 0x99525E, 1, 0, 0, EnumSymbol.NONE).setTemp(600).addTraits(LIQUID); MUG = new FluidType("MUG", 0x4B2D28, 0, 0, 0, EnumSymbol.NONE).addTraits(DELICIOUS, LIQUID); MUG_HOT = new FluidType("MUG_HOT", 0x6B2A20, 0, 0, 0, EnumSymbol.NONE).setTemp(500).addTraits(DELICIOUS, LIQUID); - WOODOIL = new FluidType("WOODOIL", 0x847D54, 2, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0xBF7E4F)).addTraits(LIQUID, VISCOUS); - COALCREOSOTE = new FluidType("COALCREOSOTE", 0x51694F, 3, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x285A3F)).addTraits(LIQUID, VISCOUS); + WOODOIL = new FluidType("WOODOIL", 0x847D54, 2, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0xBF7E4F)).addTraits(LIQUID, VISCOUS, P_OIL); + COALCREOSOTE = new FluidType("COALCREOSOTE", 0x51694F, 3, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x285A3F)).addTraits(LIQUID, VISCOUS, P_OIL); SEEDSLURRY = new FluidType("SEEDSLURRY", 0x7CC35E, 0, 0, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x7CC35E)).addTraits(LIQUID, VISCOUS); - NITRIC_ACID = new FluidType("NITRIC_ACID", 0xBB7A1E, 3, 0, 2, EnumSymbol.OXIDIZER).addTraits(LIQUID, new FT_Corrosive(60)); + NITRIC_ACID = new FluidType("NITRIC_ACID", 0xBB7A1E, 3, 0, 2, EnumSymbol.OXIDIZER).addTraits(LIQUID, new FT_Corrosive(60), new FT_Polluting().release(PollutionType.POISON, POISON_EXTREME)); SOLVENT = new FluidType("SOLVENT", 0xE4E3EF, 2, 3, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0xE4E3EF)).addTraits(LIQUID, new FT_Corrosive(30)); - BLOOD = new FluidType("BLOOD", 0xB22424, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS); + BLOOD = new FluidType("BLOOD", 0xB22424, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS, DELICIOUS); BLOOD_HOT = new FluidType("BLOOD_HOT", 0xF22419, 3, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS).setTemp(666); //it's funny because it's the satan number SYNGAS = new FluidType("SYNGAS", 0x131313, 1, 4, 2, EnumSymbol.NONE).addContainers(new CD_Gastank(0xFFFFFF, 0x131313)).addTraits(GASEOUS); OXYHYDROGEN = new FluidType("OXYHYDROGEN", 0x483FC1, 0, 4, 2, EnumSymbol.NONE).addTraits(GASEOUS); RADIOSOLVENT = new FluidType("RADIOSOLVENT", 0xA4D7DD, 3, 3, 0, EnumSymbol.NONE).addTraits(LIQUID, LEADCON, new FT_Corrosive(50), new FT_VentRadiation(0.01F)); CHLORINE = new FluidType("CHLORINE", 0xBAB572, 3, 0, 0, EnumSymbol.OXIDIZER).addContainers(new CD_Gastank(0xBAB572, 0x887B34)).addTraits(GASEOUS, new FT_Corrosive(25)); - HEAVYOIL_VACUUM = new FluidType("HEAVYOIL_VACUUM", 0x131214, 2, 1, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS).addContainers(new CD_Canister(0x513F39)); - REFORMATE = new FluidType("REFORMATE", 0x835472, 2, 2, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS).addContainers(new CD_Canister(0xD180D6)); - LIGHTOIL_VACUUM = new FluidType("LIGHTOIL_VACUUM", 0x8C8851, 1, 2, 0, EnumSymbol.NONE).addTraits(LIQUID).addContainers(new CD_Canister(0xB46B52)); - SOURGAS = new FluidType("SOURGAS", 0xC9BE0D, 4, 4, 0, EnumSymbol.ACID).addContainers(new CD_Gastank(0xC9BE0D, 0x303030)).addTraits(GASEOUS, new FT_Corrosive(10), new FT_Poison(false, 1)); - XYLENE = new FluidType("XYLENE", 0x5C4E76, 2, 3, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS).addContainers(new CD_Canister(0xA380D6)); - HEATINGOIL_VACUUM = new FluidType("HEATINGOIL_VACUUM", 0x211D06, 2, 2, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS).addContainers(new CD_Canister(0x694235)); - DIESEL_REFORM = new FluidType("DIESEL_REFORM", 0xCDC3C6, 1, 2, 0, EnumSymbol.NONE).addTraits(LIQUID).addContainers(new CD_Canister(0xFFC500)); - DIESEL_CRACK_REFORM = new FluidType("DIESEL_CRACK_REFORM",0xCDC3CC, 1, 2, 0, EnumSymbol.NONE).addTraits(LIQUID).addContainers(new CD_Canister(0xFFC500)); - KEROSENE_REFORM = new FluidType("KEROSENE_REFORM", 0xFFA5F3, 1, 2, 0, EnumSymbol.NONE).addTraits(LIQUID).addContainers(new CD_Canister(0xFF377D)); - REFORMGAS = new FluidType("REFORMGAS", 0x6362AE, 1, 4, 1, EnumSymbol.NONE).addContainers(new CD_Gastank(0x9392FF, 0xFFB992)).addTraits(GASEOUS); + HEAVYOIL_VACUUM = new FluidType("HEAVYOIL_VACUUM", 0x131214, 2, 1, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS, P_OIL).addContainers(new CD_Canister(0x513F39)); + REFORMATE = new FluidType("REFORMATE", 0x835472, 2, 2, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS, P_FUEL).addContainers(new CD_Canister(0xD180D6)); + LIGHTOIL_VACUUM = new FluidType("LIGHTOIL_VACUUM", 0x8C8851, 1, 2, 0, EnumSymbol.NONE).addTraits(LIQUID, P_FUEL).addContainers(new CD_Canister(0xB46B52)); + SOURGAS = new FluidType("SOURGAS", 0xC9BE0D, 4, 4, 0, EnumSymbol.ACID).addContainers(new CD_Gastank(0xC9BE0D, 0x303030)).addTraits(GASEOUS, new FT_Corrosive(10), new FT_Poison(false, 1), P_GAS); + XYLENE = new FluidType("XYLENE", 0x5C4E76, 2, 3, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS, P_FUEL).addContainers(new CD_Canister(0xA380D6)); + HEATINGOIL_VACUUM = new FluidType("HEATINGOIL_VACUUM", 0x211D06, 2, 2, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS, P_OIL).addContainers(new CD_Canister(0x694235)); + DIESEL_REFORM = new FluidType("DIESEL_REFORM", 0xCDC3C6, 1, 2, 0, EnumSymbol.NONE).addTraits(LIQUID, P_FUEL).addContainers(new CD_Canister(0xFFC500)); + DIESEL_CRACK_REFORM = new FluidType("DIESEL_CRACK_REFORM",0xCDC3CC, 1, 2, 0, EnumSymbol.NONE).addTraits(LIQUID, P_FUEL).addContainers(new CD_Canister(0xFFC500)); + KEROSENE_REFORM = new FluidType("KEROSENE_REFORM", 0xFFA5F3, 1, 2, 0, EnumSymbol.NONE).addTraits(LIQUID, P_FUEL).addContainers(new CD_Canister(0xFF377D)); + REFORMGAS = new FluidType("REFORMGAS", 0x6362AE, 1, 4, 1, EnumSymbol.NONE).addContainers(new CD_Gastank(0x9392FF, 0xFFB992)).addTraits(GASEOUS, P_GAS); COLLOID = new FluidType("COLLOID", 0x787878, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS); - PHOSGENE = new FluidType("PHOSGENE", 0xCFC4A4, 4, 0, 1, EnumSymbol.NONE).addContainers(new CD_Gastank(0xCFC4A4, 0x361414)).addTraits(GASEOUS); - MUSTARDGAS = new FluidType("MUSTARDGAS", 0xBAB572, 4, 1, 1, EnumSymbol.NONE).addContainers(new CD_Gastank(0xBAB572, 0x361414)).addTraits(GASEOUS); + PHOSGENE = new FluidType("PHOSGENE", 0xCFC4A4, 4, 0, 1, EnumSymbol.NONE).addContainers(new CD_Gastank(0xCFC4A4, 0x361414)).addTraits(GASEOUS, new FT_Polluting().release(PollutionType.POISON, POISON_EXTREME)); + MUSTARDGAS = new FluidType("MUSTARDGAS", 0xBAB572, 4, 1, 1, EnumSymbol.NONE).addContainers(new CD_Gastank(0xBAB572, 0x361414)).addTraits(GASEOUS, new FT_Polluting().release(PollutionType.POISON, POISON_EXTREME)); IONGEL = new FluidType("IONGEL", 0xB8FFFF, 1, 0, 4, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS); - OIL_COKER = new FluidType("OIL_COKER", 0x001802, 2, 1, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS); - NAPHTHA_COKER = new FluidType("NAPHTHA_COKER", 0x495944, 2, 1, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS); - GAS_COKER = new FluidType("GAS_COKER", 0xDEF4CA, 1, 4, 0, EnumSymbol.NONE).addTraits(GASEOUS); + OIL_COKER = new FluidType("OIL_COKER", 0x001802, 2, 1, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS, P_OIL); + NAPHTHA_COKER = new FluidType("NAPHTHA_COKER", 0x495944, 2, 1, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS, P_OIL); + GAS_COKER = new FluidType("GAS_COKER", 0xDEF4CA, 1, 4, 0, EnumSymbol.NONE).addTraits(GASEOUS, P_GAS); EGG = new FluidType("EGG", 0xD2C273, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID); CHOLESTEROL = new FluidType("CHOLESTEROL", 0xD6D2BD, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID); ESTRADIOL = new FluidType("ESTRADIOL", 0xCDD5D8, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID); - FISHOIL = new FluidType("FISHOIL", 0x4B4A45, 0, 1, 0, EnumSymbol.NONE).addTraits(LIQUID); - SUNFLOWEROIL = new FluidType("SUNFLOWEROIL", 0xCBAD45, 0, 1, 0, EnumSymbol.NONE).addTraits(LIQUID); + FISHOIL = new FluidType("FISHOIL", 0x4B4A45, 0, 1, 0, EnumSymbol.NONE).addTraits(LIQUID, P_FUEL); + SUNFLOWEROIL = new FluidType("SUNFLOWEROIL", 0xCBAD45, 0, 1, 0, EnumSymbol.NONE).addTraits(LIQUID, P_FUEL); NITROGLYCERIN = new FluidType("NITROGLYCERIN", 0x92ACA6, 0, 4, 0, EnumSymbol.NONE).addTraits(LIQUID); - REDMUD = new FluidType("REDMUD", 0xD85638, 3, 0, 4, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS, LEADCON, new FT_Corrosive(60), new FT_Flammable(1_000)); + REDMUD = new FluidType("REDMUD", 0xD85638, 3, 0, 4, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS, LEADCON, new FT_Corrosive(60), new FT_Flammable(1_000), new FT_Polluting().release(PollutionType.POISON, POISON_EXTREME)); CHLOROCALCITE_SOLUTION = new FluidType("CHLOROCALCITE_SOLUTION", 0x808080, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, NOCON, new FT_Corrosive(60)); CHLOROCALCITE_MIX = new FluidType("CHLOROCALCITE_MIX", 0x808080, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, NOCON, new FT_Corrosive(60)); CHLOROCALCITE_CLEANED = new FluidType("CHLOROCALCITE_CLEANED", 0x808080, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, NOCON, new FT_Corrosive(60)); @@ -322,13 +354,22 @@ public class Fluids { SMOKE_LEADED = new FluidType("SMOKE_LEADED", 0x808080, 0, 0, 0, EnumSymbol.NONE).addTraits(GASEOUS, NOID, NOCON); SMOKE_POISON = new FluidType("SMOKE_POISON", 0x808080, 0, 0, 0, EnumSymbol.NONE).addTraits(GASEOUS, NOID, NOCON); HELIUM4 = new FluidType("HELIUM4", 0xE54B0A, 0, 0, 0, EnumSymbol.ASPHYXIANT).addTraits(GASEOUS); - HEAVYWATER_HOT = new FluidType("HEAVYWATER_HOT", 0x4D007B, 1, 0, 0, EnumSymbol.NONE).setTemp(600).addTraits(LIQUID); - SODIUM = new FluidType("SODIUM", 0xCCD4D5, 1, 2, 3, EnumSymbol.NONE).setTemp(400).addTraits(LIQUID); - SODIUM_HOT = new FluidType("SODIUM_HOT", 0xE2ADC1, 1, 2, 3, EnumSymbol.NONE).setTemp(1200).addTraits(LIQUID); - THORIUM_SALT = new FluidType("THORIUM_SALT", 0x7A5542, 2, 0, 3, EnumSymbol.NONE).setTemp(800).addTraits(LIQUID, new FT_Corrosive(65)); - THORIUM_SALT_HOT = new FluidType("THORIUM_SALT_HOT", 0x3E3627, 2, 0, 3, EnumSymbol.NONE).setTemp(1600).addTraits(LIQUID, new FT_Corrosive(65)); - THORIUM_SALT_DEPLETED = new FluidType("THORIUM_SALT_DEPLETED", 0x302D1C, 2, 0, 3, EnumSymbol.NONE).setTemp(800).addTraits(LIQUID, new FT_Corrosive(65)); - FULLERENE = new FluidType(130, "FULLERENE", 0xFF7FED, 3, 3, 3, EnumSymbol.NONE).addTraits(LIQUID, new FT_Corrosive(65)); + HEAVYWATER_HOT = new FluidType("HEAVYWATER_HOT", 0x4D007B, 1, 0, 0, EnumSymbol.NONE).setTemp(600).addTraits(LIQUID, VISCOUS); + SODIUM = new FluidType("SODIUM", 0xCCD4D5, 1, 2, 3, EnumSymbol.NONE).setTemp(400).addTraits(LIQUID, VISCOUS); + SODIUM_HOT = new FluidType("SODIUM_HOT", 0xE2ADC1, 1, 2, 3, EnumSymbol.NONE).setTemp(1200).addTraits(LIQUID, VISCOUS); + THORIUM_SALT = new FluidType("THORIUM_SALT", 0x7A5542, 2, 0, 3, EnumSymbol.NONE).setTemp(800).addTraits(LIQUID, VISCOUS, new FT_Corrosive(65)); + THORIUM_SALT_HOT = new FluidType("THORIUM_SALT_HOT", 0x3E3627, 2, 0, 3, EnumSymbol.NONE).setTemp(1600).addTraits(LIQUID, VISCOUS, new FT_Corrosive(65)); + THORIUM_SALT_DEPLETED = new FluidType("THORIUM_SALT_DEPLETED", 0x302D1C, 2, 0, 3, EnumSymbol.NONE).setTemp(800).addTraits(LIQUID, VISCOUS, new FT_Corrosive(65)); + FULLERENE = new FluidType("FULLERENE", 0xFF7FED, 3, 3, 3, EnumSymbol.NONE).addTraits(LIQUID, new FT_Corrosive(65), new FT_Polluting().release(PollutionType.POISON, POISON_MINOR)); + PHEROMONE = new FluidType("PHEROMONE", 0x5FA6E8, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, new FT_Pheromone(1)); + PHEROMONE_M = new FluidType("PHEROMONE_M", 0x48C9B0 , 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, new FT_Pheromone(2)); + OIL_DS = new FluidType("OIL_DS", 0x121212, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x424242)).addTraits(LIQUID, VISCOUS, P_OIL); + HOTOIL_DS = new FluidType("HOTOIL_DS", 0x3F180F, 2, 3, 0, EnumSymbol.NONE).setTemp(350).addTraits(LIQUID, VISCOUS, P_OIL); + CRACKOIL_DS = new FluidType("CRACKOIL_DS", 0x2A1C11, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x424242)).addTraits(LIQUID, VISCOUS, P_OIL); + HOTCRACKOIL_DS = new FluidType("HOTCRACKOIL_DS", 0x3A1A28, 2, 3, 0, EnumSymbol.NONE).setTemp(350).addTraits(LIQUID, VISCOUS, P_OIL); + NAPHTHA_DS = new FluidType("NAPHTHA_DS", 0x63614E, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x5F6D44)).addTraits(LIQUID, VISCOUS, P_FUEL); + LIGHTOIL_DS = new FluidType("LIGHTOIL_DS", 0x63543E, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0xB46B52)).addTraits(LIQUID, P_FUEL); + STELLAR_FLUX = new FluidType(139, "STELLAR_FLUX", 0xE300FF, 0, 4, 4, EnumSymbol.ANTIMATTER).addTraits(ANTI, GASEOUS); // ^ ^ ^ ^ ^ ^ ^ ^ //ADD NEW FLUIDS HERE @@ -380,18 +421,24 @@ public class Fluids { metaOrder.add(MERCURY); //oils, fuels metaOrder.add(OIL); + metaOrder.add(OIL_DS); metaOrder.add(CRACKOIL); + metaOrder.add(CRACKOIL_DS); metaOrder.add(COALOIL); metaOrder.add(OIL_COKER); metaOrder.add(HOTOIL); + metaOrder.add(HOTOIL_DS); metaOrder.add(HOTCRACKOIL); + metaOrder.add(HOTCRACKOIL_DS); metaOrder.add(HEAVYOIL); metaOrder.add(HEAVYOIL_VACUUM); metaOrder.add(NAPHTHA); + metaOrder.add(NAPHTHA_DS); metaOrder.add(NAPHTHA_CRACK); metaOrder.add(NAPHTHA_COKER); metaOrder.add(REFORMATE); metaOrder.add(LIGHTOIL); + metaOrder.add(LIGHTOIL_DS); metaOrder.add(LIGHTOIL_CRACK); metaOrder.add(LIGHTOIL_VACUUM); metaOrder.add(BITUMEN); @@ -475,6 +522,8 @@ public class Fluids { //garbage metaOrder.add(XPJUICE); metaOrder.add(ENDERJUICE); + //plasma-esque + metaOrder.add(STELLAR_FLUX); //plasma metaOrder.add(PLASMA_DT); metaOrder.add(PLASMA_HD); @@ -486,15 +535,18 @@ public class Fluids { metaOrder.add(SMOKE); metaOrder.add(SMOKE_LEADED); metaOrder.add(SMOKE_POISON); + //bug meth + metaOrder.add(PHEROMONE); + metaOrder.add(PHEROMONE_M); for(FluidType custom : customFluids) metaOrder.add(custom); - CHLORINE.addTraits(new FT_Toxin().addEntry(new ToxinDirectDamage(ModDamageSource.cloud, 2F, 20, HazardClass.GAS_CHLORINE, false))); - PHOSGENE.addTraits(new FT_Toxin().addEntry(new ToxinDirectDamage(ModDamageSource.cloud, 4F, 20, HazardClass.GAS_CHLORINE, false))); - MUSTARDGAS.addTraits(new FT_Toxin().addEntry(new ToxinDirectDamage(ModDamageSource.cloud, 4F, 10, HazardClass.GAS_CORROSIVE, false)) - .addEntry(new ToxinEffects(HazardClass.GAS_CORROSIVE, true).add(new PotionEffect(Potion.wither.id, 100, 1), new PotionEffect(Potion.confusion.id, 100, 0)))); + CHLORINE.addTraits(new FT_Toxin().addEntry(new ToxinDirectDamage(ModDamageSource.cloud, 2F, 20, HazardClass.GAS_LUNG, false))); + PHOSGENE.addTraits(new FT_Toxin().addEntry(new ToxinDirectDamage(ModDamageSource.cloud, 4F, 20, HazardClass.GAS_LUNG, false))); + MUSTARDGAS.addTraits(new FT_Toxin().addEntry(new ToxinDirectDamage(ModDamageSource.cloud, 4F, 10, HazardClass.GAS_BLISTERING, false)) + .addEntry(new ToxinEffects(HazardClass.GAS_BLISTERING, true).add(new PotionEffect(Potion.wither.id, 100, 1), new PotionEffect(Potion.confusion.id, 100, 0)))); ESTRADIOL.addTraits(new FT_Toxin().addEntry(new ToxinEffects(HazardClass.PARTICLE_FINE, false).add(new PotionEffect(HbmPotion.death.id, 60 * 60 * 20, 0)))); - REDMUD.addTraits(new FT_Toxin().addEntry(new ToxinEffects(HazardClass.GAS_CORROSIVE, false).add(new PotionEffect(Potion.wither.id, 30 * 20, 2)))); + REDMUD.addTraits(new FT_Toxin().addEntry(new ToxinEffects(HazardClass.GAS_BLISTERING, false).add(new PotionEffect(Potion.wither.id, 30 * 20, 2)))); double eff_steam_boil = 1.0D; double eff_steam_heatex = 0.25D; @@ -515,26 +567,30 @@ public class Fluids { HOTSTEAM.addTraits(new FT_Coolable(STEAM, 1, 10, 2).setEff(CoolingType.TURBINE, eff_steam_turbine).setEff(CoolingType.HEATEXCHANGER, eff_steam_cool)); SUPERHOTSTEAM.addTraits(new FT_Coolable(HOTSTEAM, 1, 10, 18).setEff(CoolingType.TURBINE, eff_steam_turbine).setEff(CoolingType.HEATEXCHANGER, eff_steam_cool)); ULTRAHOTSTEAM.addTraits(new FT_Coolable(SUPERHOTSTEAM, 1, 10, 120).setEff(CoolingType.TURBINE, eff_steam_turbine).setEff(CoolingType.HEATEXCHANGER, eff_steam_cool)); - + OIL.addTraits(new FT_Heatable().setEff(HeatingType.BOILER, 1.0D).setEff(HeatingType.HEATEXCHANGER, 1.0D).addStep(10, 1, HOTOIL, 1)); + OIL_DS.addTraits(new FT_Heatable().setEff(HeatingType.BOILER, 1.0D).setEff(HeatingType.HEATEXCHANGER, 1.0D).addStep(10, 1, HOTOIL_DS, 1)); CRACKOIL.addTraits(new FT_Heatable().setEff(HeatingType.BOILER, 1.0D).setEff(HeatingType.HEATEXCHANGER, 1.0D).addStep(10, 1, HOTCRACKOIL, 1)); + CRACKOIL_DS.addTraits(new FT_Heatable().setEff(HeatingType.BOILER, 1.0D).setEff(HeatingType.HEATEXCHANGER, 1.0D).addStep(10, 1, HOTCRACKOIL_DS, 1)); HOTOIL.addTraits(new FT_Coolable(OIL, 1, 1, 10).setEff(CoolingType.HEATEXCHANGER, 1.0D)); + HOTOIL_DS.addTraits(new FT_Coolable(OIL_DS, 1, 1, 10).setEff(CoolingType.HEATEXCHANGER, 1.0D)); HOTCRACKOIL.addTraits(new FT_Coolable(CRACKOIL, 1, 1, 10).setEff(CoolingType.HEATEXCHANGER, 1.0D)); + HOTCRACKOIL_DS.addTraits(new FT_Coolable(CRACKOIL_DS, 1, 1, 10).setEff(CoolingType.HEATEXCHANGER, 1.0D)); - COOLANT.addTraits(new FT_Heatable().setEff(HeatingType.HEATEXCHANGER, 1.0D).setEff(HeatingType.PWR, 1.0D).addStep(300, 1, COOLANT_HOT, 1)); + COOLANT.addTraits(new FT_Heatable().setEff(HeatingType.HEATEXCHANGER, 1.0D).setEff(HeatingType.PWR, 1.0D).setEff(HeatingType.ICF, 1.0D).addStep(300, 1, COOLANT_HOT, 1)); COOLANT_HOT.addTraits(new FT_Coolable(COOLANT, 1, 1, 300).setEff(CoolingType.HEATEXCHANGER, 1.0D)); - MUG.addTraits(new FT_Heatable().setEff(HeatingType.HEATEXCHANGER, 1.0D).setEff(HeatingType.PWR, 1.0D).addStep(400, 1, MUG_HOT, 1), new FT_PWRModerator(1.15D)); + MUG.addTraits(new FT_Heatable().setEff(HeatingType.HEATEXCHANGER, 1.0D).setEff(HeatingType.PWR, 1.0D).setEff(HeatingType.ICF, 1.25D).addStep(400, 1, MUG_HOT, 1), new FT_PWRModerator(1.15D)); MUG_HOT.addTraits(new FT_Coolable(MUG, 1, 1, 400).setEff(CoolingType.HEATEXCHANGER, 1.0D)); - BLOOD.addTraits(new FT_Heatable().setEff(HeatingType.HEATEXCHANGER, 1.0D).addStep(500, 1, BLOOD_HOT, 1)); + BLOOD.addTraits(new FT_Heatable().setEff(HeatingType.HEATEXCHANGER, 1.0D).setEff(HeatingType.ICF, 1.25D).addStep(500, 1, BLOOD_HOT, 1)); BLOOD_HOT.addTraits(new FT_Coolable(BLOOD, 1, 1, 500).setEff(CoolingType.HEATEXCHANGER, 1.0D)); HEAVYWATER.addTraits(new FT_Heatable().setEff(HeatingType.PWR, 1.0D).addStep(300, 1, HEAVYWATER_HOT, 1), new FT_PWRModerator(1.25D)); HEAVYWATER_HOT.addTraits(new FT_Coolable(HEAVYWATER, 1, 1, 300).setEff(CoolingType.HEATEXCHANGER, 1.0D)); - SODIUM.addTraits(new FT_Heatable().setEff(HeatingType.PWR, 2.5D).addStep(400, 1, SODIUM_HOT, 1)); + SODIUM.addTraits(new FT_Heatable().setEff(HeatingType.PWR, 2.5D).setEff(HeatingType.ICF, 3D).addStep(400, 1, SODIUM_HOT, 1)); SODIUM_HOT.addTraits(new FT_Coolable(SODIUM, 1, 1, 400).setEff(CoolingType.HEATEXCHANGER, 1.0D)); THORIUM_SALT.addTraits(new FT_Heatable().setEff(HeatingType.PWR, 1.0D).addStep(400, 1, THORIUM_SALT_HOT, 1), new FT_PWRModerator(2.5D)); @@ -545,13 +601,13 @@ public class Fluids { } - /// EXPERIMENTAL /// + /// FINAL /// long baseline = 100_000L; //we do not know - double demandVeryLow = 0.5D; - double demandLow = 1.0D; - double demandMedium = 1.5D; - double demandHigh = 2.0D; + double demandVeryLow = 0.5D; //for waste gasses + double demandLow = 1.0D; //for fuel oils + double demandMedium = 1.5D; //for processing oils like petroleum and BTX + double demandHigh = 2.0D; //kerosene and jet fuels double complexityRefinery = 1.1D; double complexityFraction = 1.05D; double complexityCracking = 1.25D; @@ -561,16 +617,19 @@ public class Fluids { double complexityLeaded = 1.5D; double complexityVacuum = 3.0D; double complexityReform = 2.5D; - double flammabilityLow = 0.25D; - double flammabilityNormal = 1.0D; - double flammabilityHigh = 2.0D; + double complexityHydro = 2.0D; + double flammabilityLow = 0.25D; //unrefined or low refined oils + double flammabilityNormal = 1.0D; //refined oils + double flammabilityHigh = 2.0D; //satan's asshole - /// the allmighty excel spreadsheet has spoken! /// + /// the almighty excel spreadsheet has spoken! /// registerCalculatedFuel(OIL, (baseline / 1D * flammabilityLow * demandLow), 0, null); + registerCalculatedFuel(OIL_DS, (baseline / 1D * flammabilityLow * demandLow * complexityHydro), 0, null); registerCalculatedFuel(CRACKOIL, (baseline / 1D * flammabilityLow * demandLow * complexityCracking), 0, null); + registerCalculatedFuel(CRACKOIL_DS, (baseline / 1D * flammabilityLow * demandLow * complexityCracking * complexityHydro), 0, null); registerCalculatedFuel(OIL_COKER, (baseline / 1D * flammabilityLow * demandLow * complexityCoker), 0, null); - registerCalculatedFuel(GAS, (baseline / 1D * flammabilityNormal * demandVeryLow), 1.25, FuelGrade.GAS); - registerCalculatedFuel(GAS_COKER, (baseline / 1D * flammabilityNormal * demandVeryLow * complexityCoker), 1.25, FuelGrade.GAS); + registerCalculatedFuel(GAS, (baseline / 1D * flammabilityNormal * demandVeryLow), 1.5, FuelGrade.GAS); + registerCalculatedFuel(GAS_COKER, (baseline / 1D * flammabilityNormal * demandVeryLow * complexityCoker), 1.5, FuelGrade.GAS); registerCalculatedFuel(HEAVYOIL, (baseline / 0.5 * flammabilityLow * demandLow * complexityRefinery), 1.25D, FuelGrade.LOW); registerCalculatedFuel(SMEAR, (baseline / 0.35 * flammabilityLow * demandLow * complexityRefinery * complexityFraction), 1.25D, FuelGrade.LOW); registerCalculatedFuel(RECLAIMED, (baseline / 0.28 * flammabilityLow * demandLow * complexityRefinery * complexityFraction * complexityChemplant), 1.25D, FuelGrade.LOW); @@ -578,6 +637,7 @@ public class Fluids { registerCalculatedFuel(PETROIL_LEADED, (baseline / 0.28 * flammabilityLow * demandLow * complexityRefinery * complexityFraction * complexityChemplant * complexityLubed * complexityLeaded), 1.5D, FuelGrade.MEDIUM); registerCalculatedFuel(HEATINGOIL, (baseline / 0.31 * flammabilityNormal * demandLow * complexityRefinery * complexityFraction * complexityFraction), 1.25D, FuelGrade.LOW); registerCalculatedFuel(NAPHTHA, (baseline / 0.25 * flammabilityLow * demandLow * complexityRefinery), 1.5D, FuelGrade.MEDIUM); + registerCalculatedFuel(NAPHTHA_DS, (baseline / 0.25 * flammabilityLow * demandLow * complexityRefinery * complexityHydro), 1.5D, FuelGrade.MEDIUM); registerCalculatedFuel(NAPHTHA_CRACK, (baseline / 0.40 * flammabilityLow * demandLow * complexityRefinery * complexityCracking), 1.5D, FuelGrade.MEDIUM); registerCalculatedFuel(NAPHTHA_COKER, (baseline / 0.25 * flammabilityLow * demandLow * complexityCoker), 1.5D, FuelGrade.MEDIUM); registerCalculatedFuel(GASOLINE, (baseline / 0.20 * flammabilityNormal * demandLow * complexityRefinery * complexityChemplant), 2.5D, FuelGrade.HIGH); @@ -585,12 +645,13 @@ public class Fluids { registerCalculatedFuel(DIESEL, (baseline / 0.21 * flammabilityNormal * demandLow * complexityRefinery * complexityFraction), 2.5D, FuelGrade.HIGH); registerCalculatedFuel(DIESEL_CRACK, (baseline / 0.28 * flammabilityNormal * demandLow * complexityRefinery * complexityCracking * complexityFraction), 2.5D, FuelGrade.HIGH); registerCalculatedFuel(LIGHTOIL, (baseline / 0.15 * flammabilityNormal * demandHigh * complexityRefinery), 1.5D, FuelGrade.MEDIUM); + registerCalculatedFuel(LIGHTOIL_DS, (baseline / 0.15 * flammabilityNormal * demandHigh * complexityRefinery * complexityHydro), 1.5D, FuelGrade.MEDIUM); registerCalculatedFuel(LIGHTOIL_CRACK, (baseline / 0.30 * flammabilityNormal * demandHigh * complexityRefinery * complexityCracking), 1.5D, FuelGrade.MEDIUM); registerCalculatedFuel(KEROSENE, (baseline / 0.09 * flammabilityNormal * demandHigh * complexityRefinery * complexityFraction), 1.5D, FuelGrade.AERO); - registerCalculatedFuel(PETROLEUM, (baseline / 0.10 * flammabilityNormal * demandMedium * complexityRefinery), 1.25, FuelGrade.GAS); + registerCalculatedFuel(PETROLEUM, (baseline / 0.10 * flammabilityNormal * demandMedium * complexityRefinery), 1.5, FuelGrade.GAS); registerCalculatedFuel(AROMATICS, (baseline / 0.15 * flammabilityLow * demandHigh * complexityRefinery * complexityCracking), 0, null); registerCalculatedFuel(UNSATURATEDS, (baseline / 0.15 * flammabilityHigh * demandHigh * complexityRefinery * complexityCracking), 0, null); - registerCalculatedFuel(LPG, (baseline / 0.05 * flammabilityNormal * demandMedium * complexityRefinery * complexityChemplant), 2.5, FuelGrade.HIGH); + registerCalculatedFuel(LPG, (baseline / 0.1 * flammabilityNormal * demandMedium * complexityRefinery * complexityChemplant), 2.5, FuelGrade.HIGH); registerCalculatedFuel(NITAN, KEROSENE.getTrait(FT_Flammable.class).getHeatEnergy() * 25L, 2.5, FuelGrade.HIGH); registerCalculatedFuel(BALEFIRE, KEROSENE.getTrait(FT_Flammable.class).getHeatEnergy() * 100L, 2.5, FuelGrade.HIGH); registerCalculatedFuel(HEAVYOIL_VACUUM, (baseline / 0.4 * flammabilityLow * demandLow * complexityVacuum), 1.25D, FuelGrade.LOW); @@ -602,7 +663,7 @@ public class Fluids { registerCalculatedFuel(DIESEL_REFORM, DIESEL.getTrait(FT_Flammable.class).getHeatEnergy() * complexityReform, 2.5D, FuelGrade.HIGH); registerCalculatedFuel(DIESEL_CRACK_REFORM, DIESEL_CRACK.getTrait(FT_Flammable.class).getHeatEnergy() * complexityReform, 2.5D, FuelGrade.HIGH); registerCalculatedFuel(KEROSENE_REFORM, KEROSENE.getTrait(FT_Flammable.class).getHeatEnergy() * complexityReform, 1.5D, FuelGrade.AERO); - registerCalculatedFuel(REFORMGAS, (baseline / 0.06 * flammabilityHigh * demandLow * complexityVacuum * complexityFraction), 1.25D, FuelGrade.GAS); + registerCalculatedFuel(REFORMGAS, (baseline / 0.06 * flammabilityHigh * demandLow * complexityVacuum * complexityFraction), 1.5D, FuelGrade.GAS); //all hail the spreadsheet //the spreadsheet must not be questioned diff --git a/src/main/java/com/hbm/inventory/fluid/tank/FluidLoaderFillableItem.java b/src/main/java/com/hbm/inventory/fluid/tank/FluidLoaderFillableItem.java index 8228afc44..9113bdfff 100644 --- a/src/main/java/com/hbm/inventory/fluid/tank/FluidLoaderFillableItem.java +++ b/src/main/java/com/hbm/inventory/fluid/tank/FluidLoaderFillableItem.java @@ -16,6 +16,8 @@ public class FluidLoaderFillableItem extends FluidLoadingHandler { public boolean fill(ItemStack stack, FluidTank tank) { + if(tank.pressure != 0) return false; + if(stack == null) return false; diff --git a/src/main/java/com/hbm/inventory/fluid/tank/FluidLoaderInfinite.java b/src/main/java/com/hbm/inventory/fluid/tank/FluidLoaderInfinite.java index 8ceac7946..adc4c49d9 100644 --- a/src/main/java/com/hbm/inventory/fluid/tank/FluidLoaderInfinite.java +++ b/src/main/java/com/hbm/inventory/fluid/tank/FluidLoaderInfinite.java @@ -18,6 +18,7 @@ public class FluidLoaderInfinite extends FluidLoadingHandler { ItemInfiniteFluid item = (ItemInfiniteFluid) slots[in].getItem(); + if(!item.allowPressure(tank.pressure)) return false; if(item.getType() != null && tank.type != item.getType()) return false; if(item.getChance() <= 1 || rand.nextInt(item.getChance()) == 0) { diff --git a/src/main/java/com/hbm/inventory/fluid/tank/FluidLoaderStandard.java b/src/main/java/com/hbm/inventory/fluid/tank/FluidLoaderStandard.java index d4c784396..4252f025c 100644 --- a/src/main/java/com/hbm/inventory/fluid/tank/FluidLoaderStandard.java +++ b/src/main/java/com/hbm/inventory/fluid/tank/FluidLoaderStandard.java @@ -10,6 +10,8 @@ public class FluidLoaderStandard extends FluidLoadingHandler { @Override public boolean fillItem(ItemStack[] slots, int in, int out, FluidTank tank) { + if(tank.pressure != 0) return false; + if(slots[in] == null) return true; @@ -18,8 +20,6 @@ public class FluidLoaderStandard extends FluidLoadingHandler { if(full != null && slots[in] != null && tank.getFill() - FluidContainerRegistry.getFluidContent(full, type) >= 0) { - ItemStack fullContainer = FluidContainerRegistry.getFullContainer(slots[in], type); - if(slots[out] == null) { tank.setFill(tank.getFill() - FluidContainerRegistry.getFluidContent(full, type)); @@ -29,7 +29,7 @@ public class FluidLoaderStandard extends FluidLoadingHandler { slots[in] = null; } - } else if(slots[out] != null && slots[out].getItem() == fullContainer.getItem() && slots[out].getItemDamage() == fullContainer.getItemDamage() && slots[out].stackSize < slots[out].getMaxStackSize()) { + } else if(slots[out] != null && slots[out].getItem() == full.getItem() && slots[out].getItemDamage() == full.getItemDamage() && slots[out].stackSize < slots[out].getMaxStackSize()) { tank.setFill(tank.getFill() - FluidContainerRegistry.getFluidContent(full, type)); slots[in].stackSize--; diff --git a/src/main/java/com/hbm/inventory/fluid/tank/FluidTank.java b/src/main/java/com/hbm/inventory/fluid/tank/FluidTank.java index 4294759bb..4fa6180d8 100644 --- a/src/main/java/com/hbm/inventory/fluid/tank/FluidTank.java +++ b/src/main/java/com/hbm/inventory/fluid/tank/FluidTank.java @@ -1,20 +1,25 @@ package com.hbm.inventory.fluid.tank; import java.util.ArrayList; +import java.util.HashSet; import java.util.List; +import java.util.Set; import org.lwjgl.opengl.GL11; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.gui.GuiInfoContainer; +import com.hbm.items.ModItems; import com.hbm.items.machine.IItemFluidIdentifier; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.TEFluidPacket; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import io.netty.buffer.ByteBuf; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.Tessellator; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; @@ -22,8 +27,9 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.MathHelper; public class FluidTank { - - public static final List loadingHandlers = new ArrayList(); + + public static final List loadingHandlers = new ArrayList(); + public static final Set noDualUnload = new HashSet(); static { loadingHandlers.add(new FluidLoaderStandard()); @@ -121,8 +127,11 @@ public class FluidTank { if(slots[in] == null) return false; - - if(this.pressure != 0) return false; //for now, canisters can only be loaded from high-pressure tanks, not unloaded + + boolean isInfiniteBarrel = slots[in].getItem() == ModItems.fluid_barrel_infinite; + + if(!isInfiniteBarrel && pressure != 0) + return false; int prev = this.getFill(); @@ -298,5 +307,18 @@ public class FluidTank { this.pressure = nbt.getShort(s + "_p"); } + + public void serialize(ByteBuf buf) { + buf.writeInt(fluid); + buf.writeInt(maxFluid); + buf.writeInt(type.getID()); + buf.writeShort((short) pressure); + } + public void deserialize(ByteBuf buf) { + fluid = buf.readInt(); + maxFluid = buf.readInt(); + type = Fluids.fromID(buf.readInt()); + pressure = buf.readShort(); + } } diff --git a/src/main/java/com/hbm/inventory/fluid/trait/FT_Coolable.java b/src/main/java/com/hbm/inventory/fluid/trait/FT_Coolable.java index 1bb6d3574..87f595015 100644 --- a/src/main/java/com/hbm/inventory/fluid/trait/FT_Coolable.java +++ b/src/main/java/com/hbm/inventory/fluid/trait/FT_Coolable.java @@ -42,14 +42,13 @@ public class FT_Coolable extends FluidTrait { @Override public void addInfoHidden(List info) { - info.add(EnumChatFormatting.AQUA + "Thermal capacity: " + heatEnergy + " TU"); + info.add(EnumChatFormatting.RED + "Thermal capacity: " + heatEnergy + " TU"); for(CoolingType type : CoolingType.values()) { double eff = getEfficiency(type); if(eff > 0) { - info.add(EnumChatFormatting.AQUA + "[" + type.name + "]"); - info.add(EnumChatFormatting.AQUA + "Efficiency: " + ((int) (eff * 100D)) + "%"); + info.add(EnumChatFormatting.YELLOW + "[" + type.name + "] " + EnumChatFormatting.AQUA + "Efficiency: " + ((int) (eff * 100D)) + "%"); } } } diff --git a/src/main/java/com/hbm/inventory/fluid/trait/FT_Heatable.java b/src/main/java/com/hbm/inventory/fluid/trait/FT_Heatable.java index c828858b8..0ec79abb7 100644 --- a/src/main/java/com/hbm/inventory/fluid/trait/FT_Heatable.java +++ b/src/main/java/com/hbm/inventory/fluid/trait/FT_Heatable.java @@ -42,14 +42,13 @@ public class FT_Heatable extends FluidTrait { @Override public void addInfoHidden(List info) { - info.add(EnumChatFormatting.AQUA + "Thermal capacity: " + this.getFirstStep().heatReq + " TU"); + info.add(EnumChatFormatting.RED + "Thermal capacity: " + this.getFirstStep().heatReq + " TU"); for(HeatingType type : HeatingType.values()) { double eff = getEfficiency(type); if(eff > 0) { - info.add(EnumChatFormatting.AQUA + "[" + type.name + "]"); - info.add(EnumChatFormatting.AQUA + "Efficiency: " + ((int) (eff * 100D)) + "%"); + info.add(EnumChatFormatting.YELLOW + "[" + type.name + "] " + EnumChatFormatting.AQUA + "Efficiency: " + ((int) (eff * 100D)) + "%"); } } } @@ -71,7 +70,8 @@ public class FT_Heatable extends FluidTrait { public static enum HeatingType { BOILER("Boilable"), HEATEXCHANGER("Heatable"), - PWR("PWR Coolant"); + PWR("PWR Coolant"), + ICF("ICF Coolant"); public String name; diff --git a/src/main/java/com/hbm/inventory/fluid/trait/FT_Pheromone.java b/src/main/java/com/hbm/inventory/fluid/trait/FT_Pheromone.java new file mode 100644 index 000000000..52e467d6f --- /dev/null +++ b/src/main/java/com/hbm/inventory/fluid/trait/FT_Pheromone.java @@ -0,0 +1,42 @@ +package com.hbm.inventory.fluid.trait; + +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonWriter; +import net.minecraft.util.EnumChatFormatting; + + +import java.io.IOException; +import java.util.List; + +public class FT_Pheromone extends FluidTrait{ + + public int type; + + public FT_Pheromone(int type) { + this.type = type; + } + + public int getType() { + return type; + } + + @Override + public void addInfo(List info) { + + if(type == 1) { + info.add(EnumChatFormatting.AQUA + "[Glyphid Pheromones]"); + } else { + info.add(EnumChatFormatting.BLUE + "[Modified Pheromones]"); + } + } + + @Override + public void serializeJSON(JsonWriter writer) throws IOException { + writer.name("type").value(type); + } + + @Override + public void deserializeJSON(JsonObject obj) { + this.type = obj.get("type").getAsInt(); + } +} diff --git a/src/main/java/com/hbm/inventory/fluid/trait/FT_Polluting.java b/src/main/java/com/hbm/inventory/fluid/trait/FT_Polluting.java new file mode 100644 index 000000000..457c5b639 --- /dev/null +++ b/src/main/java/com/hbm/inventory/fluid/trait/FT_Polluting.java @@ -0,0 +1,104 @@ +package com.hbm.inventory.fluid.trait; + +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map.Entry; + +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonWriter; +import com.hbm.handler.pollution.PollutionHandler; +import com.hbm.handler.pollution.PollutionHandler.PollutionType; +import com.hbm.inventory.fluid.FluidType; +import com.hbm.inventory.fluid.tank.FluidTank; + +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; + +public class FT_Polluting extends FluidTrait { + + //original draft had both of them inside a hashmap for the release type but honestly handling hash maps in hash maps adds more complexity than it removes + public HashMap releaseMap = new HashMap(); + public HashMap burnMap = new HashMap(); + + public FT_Polluting release(PollutionType type, float amount) { + releaseMap.put(type, amount); + return this; + } + + public FT_Polluting burn(PollutionType type, float amount) { + burnMap.put(type, amount); + return this; + } + + @Override + public void addInfo(List info) { + info.add(EnumChatFormatting.GOLD + "[Polluting]"); + } + + @Override + public void addInfoHidden(List info) { + + if(!this.releaseMap.isEmpty()) { + info.add(EnumChatFormatting.GREEN + "When spilled:"); + for(Entry entry : releaseMap.entrySet()) info.add(EnumChatFormatting.GREEN + " - " + entry.getValue() + " " + entry.getKey() + " per mB"); + } + + if(!this.burnMap.isEmpty()) { + info.add(EnumChatFormatting.RED + "When burned:"); + for(Entry entry : burnMap.entrySet()) info.add(EnumChatFormatting.RED + " - " + entry.getValue() + " " + entry.getKey() + " per mB"); + } + } + + @Override + public void onFluidRelease(World world, int x, int y, int z, FluidTank tank, int overflowAmount, FluidReleaseType type) { + if(type == FluidReleaseType.SPILL) for(Entry entry : releaseMap.entrySet()) PollutionHandler.incrementPollution(world, x, y, z, entry.getKey(), entry.getValue()); + if(type == FluidReleaseType.BURN) for(Entry entry : burnMap.entrySet()) PollutionHandler.incrementPollution(world, x, y, z, entry.getKey(), entry.getValue()); + } + + @Override + public void serializeJSON(JsonWriter writer) throws IOException { + writer.name("release").beginObject(); + for(Entry entry : releaseMap.entrySet()) { + writer.name(entry.toString()).value(entry.getValue()); + } + writer.endObject(); + writer.name("burn").beginObject(); + for(Entry entry : burnMap.entrySet()) { + writer.name(entry.toString()).value(entry.getValue()); + } + writer.endObject(); + } + + @Override + public void deserializeJSON(JsonObject obj) { + if(obj.has("release")) { + JsonObject release = obj.get("release").getAsJsonObject(); + for(PollutionType type : PollutionType.values()) { + if(release.has(type.name())) { + releaseMap.put(type, release.get(type.name()).getAsFloat()); + } + } + } + if(obj.has("burn")) { + JsonObject release = obj.get("burn").getAsJsonObject(); + for(PollutionType type : PollutionType.values()) { + if(release.has(type.name())) { + burnMap.put(type, release.get(type.name()).getAsFloat()); + } + } + } + } + + public static void pollute(World world, int x, int y, int z, FluidType type, FluidReleaseType release, float mB) { + FT_Polluting trait = type.getTrait(FT_Polluting.class); + if(trait == null) return; + if(release == FluidReleaseType.VOID) return; + + HashMap map = release == FluidReleaseType.BURN ? trait.burnMap : trait.releaseMap; + + for(Entry entry : map.entrySet()) { + PollutionHandler.incrementPollution(world, x, y, z, entry.getKey(), entry.getValue() * mB); + } + } +} diff --git a/src/main/java/com/hbm/inventory/fluid/trait/FT_VentRadiation.java b/src/main/java/com/hbm/inventory/fluid/trait/FT_VentRadiation.java index 516ef0e81..976dfedb2 100644 --- a/src/main/java/com/hbm/inventory/fluid/trait/FT_VentRadiation.java +++ b/src/main/java/com/hbm/inventory/fluid/trait/FT_VentRadiation.java @@ -26,7 +26,7 @@ public class FT_VentRadiation extends FluidTrait { } @Override - public void onFluidRelease(World world, int x, int y, int z, FluidTank tank, int overflowAmount) { + public void onFluidRelease(World world, int x, int y, int z, FluidTank tank, int overflowAmount, FluidReleaseType type) { ChunkRadiationManager.proxy.incrementRad(world, x, y, z, overflowAmount * radPerMB); } diff --git a/src/main/java/com/hbm/inventory/fluid/trait/FluidTrait.java b/src/main/java/com/hbm/inventory/fluid/trait/FluidTrait.java index ff2522d09..ae5809159 100644 --- a/src/main/java/com/hbm/inventory/fluid/trait/FluidTrait.java +++ b/src/main/java/com/hbm/inventory/fluid/trait/FluidTrait.java @@ -1,6 +1,7 @@ package com.hbm.inventory.fluid.trait; import java.io.IOException; +import java.util.ArrayList; import java.util.List; import com.google.common.collect.HashBiMap; @@ -13,30 +14,39 @@ import net.minecraft.world.World; public abstract class FluidTrait { + public static List> traitList = new ArrayList(); public static HashBiMap> traitNameMap = HashBiMap.create(); static { - traitNameMap.put("combustible", FT_Combustible.class); // x - traitNameMap.put("coolable", FT_Coolable.class); // x - traitNameMap.put("corrosive", FT_Corrosive.class); // x - traitNameMap.put("flammable", FT_Flammable.class); // x - traitNameMap.put("heatable", FT_Heatable.class); // x - traitNameMap.put("poison", FT_Poison.class); // x - traitNameMap.put("toxin", FT_Toxin.class); // x - traitNameMap.put("ventradiation", FT_VentRadiation.class); // x - traitNameMap.put("pwrmoderator", FT_PWRModerator.class); // x - - traitNameMap.put("gaseous", FT_Gaseous.class); - traitNameMap.put("gaseous_art", FT_Gaseous_ART.class); - traitNameMap.put("liquid", FT_Liquid.class); - traitNameMap.put("viscous", FT_Viscous.class); - traitNameMap.put("plasma", FT_Plasma.class); - traitNameMap.put("amat", FT_Amat.class); - traitNameMap.put("leadcontainer", FT_LeadContainer.class); - traitNameMap.put("delicious", FT_Delicious.class); - traitNameMap.put("leaded", FT_Leaded.class); - traitNameMap.put("noid", FT_NoID.class); - traitNameMap.put("nocontainer", FT_NoContainer.class); + //complex traits with values + registerTrait("corrosive", FT_Corrosive.class); + registerTrait("flammable", FT_Flammable.class); + registerTrait("combustible", FT_Combustible.class); + registerTrait("polluting", FT_Polluting.class); + registerTrait("heatable", FT_Heatable.class); + registerTrait("coolable", FT_Coolable.class); + registerTrait("pwrmoderator", FT_PWRModerator.class); + registerTrait("poison", FT_Poison.class); + registerTrait("toxin", FT_Toxin.class); + registerTrait("ventradiation", FT_VentRadiation.class); + registerTrait("pheromone", FT_Pheromone.class); + //simple traits, "tags" + registerTrait("gaseous", FT_Gaseous.class); + registerTrait("gaseous_art", FT_Gaseous_ART.class); + registerTrait("liquid", FT_Liquid.class); + registerTrait("viscous", FT_Viscous.class); + registerTrait("plasma", FT_Plasma.class); + registerTrait("amat", FT_Amat.class); + registerTrait("leadcontainer", FT_LeadContainer.class); + registerTrait("delicious", FT_Delicious.class); + registerTrait("noid", FT_NoID.class); + registerTrait("nocontainer", FT_NoContainer.class); + registerTrait("unsiphonable", FT_Unsiphonable.class); + } + + private static void registerTrait(String name, Class clazz) { + traitNameMap.put(name, clazz); + traitList.add(clazz); } /** Important information that should always be displayed */ @@ -44,8 +54,14 @@ public abstract class FluidTrait { /* General names of simple traits which are displayed when holding shift */ public void addInfoHidden(List info) { } - public void onFluidRelease(World world, int x, int y, int z, FluidTank tank, int overflowAmount) { } + public void onFluidRelease(World world, int x, int y, int z, FluidTank tank, int overflowAmount, FluidReleaseType type) { } public void serializeJSON(JsonWriter writer) throws IOException { } public void deserializeJSON(JsonObject obj) { } + + public static enum FluidReleaseType { + VOID, //if fluid is deleted entirely, shouldn't be used + BURN, //if fluid is burned or combusted + SPILL //if fluid is spilled via leakage or the container breaking + } } diff --git a/src/main/java/com/hbm/inventory/fluid/trait/FluidTraitSimple.java b/src/main/java/com/hbm/inventory/fluid/trait/FluidTraitSimple.java index d282cea42..71cdc2a3e 100644 --- a/src/main/java/com/hbm/inventory/fluid/trait/FluidTraitSimple.java +++ b/src/main/java/com/hbm/inventory/fluid/trait/FluidTraitSimple.java @@ -49,16 +49,16 @@ public class FluidTraitSimple { info.add(EnumChatFormatting.DARK_RED + "[Requires hazardous material tank to hold]"); } } - + public static class FT_Delicious extends FluidTrait { @Override public void addInfoHidden(List info) { info.add(EnumChatFormatting.DARK_GREEN + "[Delicious]"); } } - - public static class FT_Leaded extends FluidTrait { + + public static class FT_Unsiphonable extends FluidTrait { @Override public void addInfoHidden(List info) { - info.add(EnumChatFormatting.BLUE + "[Leaded Fuel]"); + info.add(EnumChatFormatting.BLUE + "[Ignored by siphon]"); } } diff --git a/src/main/java/com/hbm/inventory/gui/GUIAMSBase.java b/src/main/java/com/hbm/inventory/gui/GUIAMSBase.java deleted file mode 100644 index 08d91b392..000000000 --- a/src/main/java/com/hbm/inventory/gui/GUIAMSBase.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.hbm.inventory.gui; - -import org.lwjgl.opengl.GL11; - -import com.hbm.inventory.container.ContainerAMSBase; -import com.hbm.lib.RefStrings; -import com.hbm.tileentity.machine.TileEntityAMSBase; -import net.minecraft.client.Minecraft; -import net.minecraft.client.resources.I18n; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.util.ResourceLocation; - -public class GUIAMSBase extends GuiInfoContainer { - - private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_ams_base.png"); - private TileEntityAMSBase base; - - public GUIAMSBase(InventoryPlayer invPlayer, TileEntityAMSBase tedf) { - super(new ContainerAMSBase(invPlayer, tedf)); - base = tedf; - - this.xSize = 176; - this.ySize = 222; - } - - @Override - public void drawScreen(int mouseX, int mouseY, float f) { - super.drawScreen(mouseX, mouseY, f); - - base.tanks[0].renderTankInfo(this, mouseX, mouseY, guiLeft + 26, guiTop + 70 - 52, 16, 52); - base.tanks[1].renderTankInfo(this, mouseX, mouseY, guiLeft + 134, guiTop + 70 - 52, 16, 52); - base.tanks[2].renderTankInfo(this, mouseX, mouseY, guiLeft + 26, guiTop + 124 - 52, 16, 52); - base.tanks[3].renderTankInfo(this, mouseX, mouseY, guiLeft + 134, guiTop + 124 - 52, 16, 52); - this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 116, guiTop + 124 - 104, 7, 104, base.power, TileEntityAMSBase.maxPower); - this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 44, guiTop + 124 - 106, 7, 106, new String[] { "Restriction Field:", base.field + "%" }); - this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 53, guiTop + 124 - 106, 7, 106, new String[] { "Efficiency:", base.efficiency + "%" }); - this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 125, guiTop + 124 - 106, 7, 106, new String[] { "Heat:", base.heat + "/" + TileEntityAMSBase.maxHeat }); - - if(!base.hasResonators()) { - String[] text = new String[] { "Error: Three satellite ID-chips linked", - "to xenium resonators are required", - "for this machine to work!" }; - this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36, 16, 16, guiLeft - 8, guiTop + 36 + 16, text); - } - } - - @Override - protected void drawGuiContainerForegroundLayer( int i, int j) { - String name = this.base.hasCustomInventoryName() ? this.base.getInventoryName() : I18n.format(this.base.getInventoryName()); - - this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); - this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); - } - - @Override - protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - Minecraft.getMinecraft().getTextureManager().bindTexture(texture); - drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); - - int i = (int)base.getPowerScaled(106); - drawTexturedModalRect(guiLeft + 116, guiTop + 124 - i, 206, 106 - i, 7, i); - - int j = base.getFieldScaled(106); - drawTexturedModalRect(guiLeft + 44, guiTop + 124 - j, 192, 106 - j, 7, j); - - int k = base.getEfficiencyScaled(106); - drawTexturedModalRect(guiLeft + 53, guiTop + 124 - k, 199, 106 - k, 7, k); - - int l = base.getHeatScaled(106); - drawTexturedModalRect(guiLeft + 125, guiTop + 124 - l, 213, 106 - l, 7, l); - - int m = base.mode; - if(m > 0) - drawTexturedModalRect(guiLeft + 80, guiTop + 108, 176, 32 + 16 * m, 16, 16); - - int n = base.warning; - if(n > 0) - drawTexturedModalRect(guiLeft + 80, guiTop + 18, 176, 32 + 16 * n, 16, 16); - - if(base.color > -1) { - GL11.glColor3ub((byte)((base.color & 0xFF0000) >> 16), (byte)((base.color & 0x00FF00) >> 8), (byte)((base.color & 0x0000FF) >> 0)); - drawTexturedModalRect(guiLeft + 61, guiTop + 44, 176, 160, 54, 54); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - drawTexturedModalRect(guiLeft + 61, guiTop + 44, 176, 106, 54, 54); - } - - if(!base.hasResonators()) - this.drawInfoPanel(guiLeft - 16, guiTop + 36, 16, 16, 6); - - base.tanks[0].renderTank(guiLeft + 26, guiTop + 70, this.zLevel, 16, 52); - - base.tanks[1].renderTank(guiLeft + 134, guiTop + 70, this.zLevel, 16, 52); - - base.tanks[2].renderTank(guiLeft + 26, guiTop + 124, this.zLevel, 16, 52); - - base.tanks[3].renderTank(guiLeft + 134, guiTop + 124, this.zLevel, 16, 52); - } -} diff --git a/src/main/java/com/hbm/inventory/gui/GUIAMSEmitter.java b/src/main/java/com/hbm/inventory/gui/GUIAMSEmitter.java deleted file mode 100644 index a4bf1c205..000000000 --- a/src/main/java/com/hbm/inventory/gui/GUIAMSEmitter.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.hbm.inventory.gui; - -import org.lwjgl.opengl.GL11; - -import com.hbm.inventory.container.ContainerAMSEmitter; -import com.hbm.lib.RefStrings; -import com.hbm.tileentity.machine.TileEntityAMSEmitter; -import net.minecraft.client.Minecraft; -import net.minecraft.client.resources.I18n; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.util.ResourceLocation; - -public class GUIAMSEmitter extends GuiInfoContainer { - - private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_ams_emitter.png"); - private TileEntityAMSEmitter emitter; - - public GUIAMSEmitter(InventoryPlayer invPlayer, TileEntityAMSEmitter tedf) { - super(new ContainerAMSEmitter(invPlayer, tedf)); - emitter = tedf; - - this.xSize = 176; - this.ySize = 166; - } - - @Override - public void drawScreen(int mouseX, int mouseY, float f) { - super.drawScreen(mouseX, mouseY, f); - - emitter.tank.renderTankInfo(this, mouseX, mouseY, guiLeft + 26, guiTop + 69 - 52, 16, 52); - this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 134, guiTop + 69 - 52, 16, 52, emitter.power, emitter.maxPower); - this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 152, guiTop + 69 - 52, 16, 52, new String[] { "Power:", emitter.efficiency + "%" }); - this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 8, guiTop + 69 - 52, 16, 52, new String[] { "Heat:", emitter.heat + "/" + emitter.maxHeat }); - } - - @Override - protected void drawGuiContainerForegroundLayer( int i, int j) { - String name = this.emitter.hasCustomInventoryName() ? this.emitter.getInventoryName() : I18n.format(this.emitter.getInventoryName()); - - this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); - this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); - } - - @Override - protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - Minecraft.getMinecraft().getTextureManager().bindTexture(texture); - drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); - - int i = (int) emitter.getPowerScaled(52); - drawTexturedModalRect(guiLeft + 134, guiTop + 69 - i, 192, 52 - i, 16, i); - - int j = emitter.getEfficiencyScaled(52); - drawTexturedModalRect(guiLeft + 152, guiTop + 69 - j, 208, 52 - j, 16, j); - - int k = emitter.getHeatScaled(52); - drawTexturedModalRect(guiLeft + 8, guiTop + 69 - k, 176, 52 - k, 16, k); - - int m = emitter.warning; - if(m > 0) - drawTexturedModalRect(guiLeft + 80, guiTop + 17, 176, 36 + 16 * m, 16, 16); - - emitter.tank.renderTank(guiLeft + 26, guiTop + 69, this.zLevel, 16, 52); - } -} diff --git a/src/main/java/com/hbm/inventory/gui/GUIAMSLimiter.java b/src/main/java/com/hbm/inventory/gui/GUIAMSLimiter.java deleted file mode 100644 index e54a957d8..000000000 --- a/src/main/java/com/hbm/inventory/gui/GUIAMSLimiter.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.hbm.inventory.gui; - -import org.lwjgl.opengl.GL11; - -import com.hbm.inventory.container.ContainerAMSLimiter; -import com.hbm.lib.RefStrings; -import com.hbm.tileentity.machine.TileEntityAMSLimiter; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.resources.I18n; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.util.ResourceLocation; - -public class GUIAMSLimiter extends GuiInfoContainer { - - private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_ams_limiter.png"); - private TileEntityAMSLimiter limiter; - - public GUIAMSLimiter(InventoryPlayer invPlayer, TileEntityAMSLimiter tedf) { - super(new ContainerAMSLimiter(invPlayer, tedf)); - limiter = tedf; - - this.xSize = 176; - this.ySize = 166; - } - - @Override - public void drawScreen(int mouseX, int mouseY, float f) { - super.drawScreen(mouseX, mouseY, f); - - limiter.tank.renderTankInfo(this, mouseX, mouseY, guiLeft + 26, guiTop + 69 - 52, 16, 52); - this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 134, guiTop + 69 - 52, 16, 52, limiter.power, limiter.maxPower); - this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 152, guiTop + 69 - 52, 16, 52, new String[] { "Efficiency:", limiter.efficiency + "%" }); - this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 8, guiTop + 69 - 52, 16, 52, new String[] { "Heat:", limiter.heat + "/" + limiter.maxHeat }); - } - - @Override - protected void drawGuiContainerForegroundLayer( int i, int j) { - String name = this.limiter.hasCustomInventoryName() ? this.limiter.getInventoryName() : I18n.format(this.limiter.getInventoryName()); - - this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); - this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); - } - - @Override - protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - Minecraft.getMinecraft().getTextureManager().bindTexture(texture); - drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); - - int i = (int) limiter.getPowerScaled(52); - drawTexturedModalRect(guiLeft + 134, guiTop + 69 - i, 192, 52 - i, 16, i); - - int j = limiter.getEfficiencyScaled(52); - drawTexturedModalRect(guiLeft + 152, guiTop + 69 - j, 208, 52 - j, 16, j); - - int k = limiter.getHeatScaled(52); - drawTexturedModalRect(guiLeft + 8, guiTop + 69 - k, 176, 52 - k, 16, k); - - int l = limiter.mode; - if(l > 0) - drawTexturedModalRect(guiLeft + 98, guiTop + 17, 176, 84 + 16 * l, 16, 16); - - int m = limiter.warning; - if(m > 0) - drawTexturedModalRect(guiLeft + 80, guiTop + 17, 176, 36 + 16 * m, 16, 16); - - limiter.tank.renderTank(guiLeft + 26, guiTop + 69, this.zLevel, 16, 52); - } -} diff --git a/src/main/java/com/hbm/inventory/gui/GUIAnvil.java b/src/main/java/com/hbm/inventory/gui/GUIAnvil.java index 6f8ef4a10..092b1080f 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIAnvil.java +++ b/src/main/java/com/hbm/inventory/gui/GUIAnvil.java @@ -44,6 +44,7 @@ public class GUIAnvil extends GuiContainer { int size; int selection; private GuiTextField search; + private InventoryPlayer playerInventory; public GUIAnvil(InventoryPlayer player, int tier) { super(new ContainerAnvil(player, tier)); @@ -51,7 +52,8 @@ public class GUIAnvil extends GuiContainer { this.tier = tier; this.xSize = 176; this.ySize = 222; - + + this.playerInventory = player; for(AnvilConstructionRecipe recipe : AnvilRecipes.getConstruction()) { if(recipe.isTierValid(this.tier)) this.originList.add(recipe); @@ -243,7 +245,7 @@ public class GUIAnvil extends GuiContainer { if(this.selection >= 0) { AnvilConstructionRecipe recipe = recipes.get(this.selection); - List list = recipeToList(recipe); + List list = recipeToList(recipe, playerInventory); int longest = 0; for(String s : list) { @@ -274,25 +276,55 @@ public class GUIAnvil extends GuiContainer { * @param recipe * @return */ - public List recipeToList(AnvilConstructionRecipe recipe) { + public List recipeToList(AnvilConstructionRecipe recipe, InventoryPlayer inventory) { List list = new ArrayList(); - + list.add(EnumChatFormatting.YELLOW + "Inputs:"); - + for(AStack stack : recipe.input) { - if(stack instanceof ComparableStack) { - ItemStack input = ((ComparableStack) stack).toStack(); - list.add(">" + input.stackSize + "x " + input.getDisplayName()); - + if(stack instanceof ComparableStack) { + ComparableStack input = (ComparableStack) stack; + boolean hasItem = false; + int amount = 0; + for(int i = 0; i < inventory.mainInventory.length; i++) { + ItemStack stackItem = inventory.mainInventory[i]; + if(stackItem == null) { + continue; + } + if(input.matchesRecipe(stackItem, true)) { + hasItem = true; + amount += stackItem.stackSize; + } + } + if(hasItem && amount >= stack.stacksize) { + list.add(">" + input.stacksize + "x " + input.toStack().getDisplayName()); + } else { + list.add(EnumChatFormatting.RED + ">" + input.stacksize + "x " + input.toStack().getDisplayName()); + } } else if(stack instanceof OreDictStack) { OreDictStack input = (OreDictStack) stack; ArrayList ores = OreDictionary.getOres(input.name); - + if(ores.size() > 0) { + boolean hasItem = false; + int amount = 0; + for(int i = 0; i < inventory.mainInventory.length; i++) { + ItemStack stackItem = inventory.mainInventory[i]; + if(stackItem == null) { + continue; + } + if(input.matchesRecipe(stackItem, true)) { + hasItem = true; + amount += stackItem.stackSize; + } + } ItemStack inStack = ores.get((int) (Math.abs(System.currentTimeMillis() / 1000) % ores.size())); - list.add(">" + input.stacksize + "x " + inStack.getDisplayName()); - + if(hasItem && amount >= stack.stacksize) { + list.add(">" + input.stacksize + "x " + inStack.getDisplayName()); + } else { + list.add(EnumChatFormatting.RED + ">" + input.stacksize + "x " + inStack.getDisplayName()); + } } else { list.add("I AM ERROR"); } @@ -301,11 +333,11 @@ public class GUIAnvil extends GuiContainer { list.add(""); list.add(EnumChatFormatting.YELLOW + "Outputs:"); - + for(AnvilOutput stack : recipe.output) { - list.add(">" + stack.stack.stackSize + "x " + stack.stack.getDisplayName() + (stack.chance != 1F ? (" (" + (stack.chance * 100) + "%)" ) : "")); + list.add(">" + stack.stack.stackSize + "x " + stack.stack.getDisplayName() + (stack.chance != 1F ? (" (" + (stack.chance * 100) + "%)") : "")); } - + return list; } diff --git a/src/main/java/com/hbm/inventory/gui/GUIBook.java b/src/main/java/com/hbm/inventory/gui/GUIBook.java index 298aba1bf..8952cef3d 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIBook.java +++ b/src/main/java/com/hbm/inventory/gui/GUIBook.java @@ -16,6 +16,8 @@ public class GUIBook extends GuiContainer { public GUIBook(InventoryPlayer player) { super(new ContainerBook(player)); + this.xSize = 176; + this.ySize = 166; } protected void drawGuiContainerForegroundLayer(int mX, int mY) { @@ -25,7 +27,6 @@ public class GUIBook extends GuiContainer { } protected void drawGuiContainerBackgroundLayer(float inter, int mX, int mY) { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); this.mc.getTextureManager().bindTexture(texture); int left = (this.width - this.xSize) / 2; diff --git a/src/main/java/com/hbm/inventory/gui/GUIElectrolyserFluid.java b/src/main/java/com/hbm/inventory/gui/GUIElectrolyserFluid.java index fa4964eed..914228045 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIElectrolyserFluid.java +++ b/src/main/java/com/hbm/inventory/gui/GUIElectrolyserFluid.java @@ -67,7 +67,7 @@ public class GUIElectrolyserFluid extends GuiInfoContainer { int p = (int) (electrolyser.power * 89 / electrolyser.maxPower); drawTexturedModalRect(guiLeft + 186, guiTop + 107 - p, 210, 89 - p, 16, p); - if(electrolyser.power >= electrolyser.usage) + if(electrolyser.power >= electrolyser.usageFluid) drawTexturedModalRect(guiLeft + 190, guiTop + 4, 226, 40, 9, 12); int e = electrolyser.progressFluid * 41 / electrolyser.processFluidTime; diff --git a/src/main/java/com/hbm/inventory/gui/GUIElectrolyserMetal.java b/src/main/java/com/hbm/inventory/gui/GUIElectrolyserMetal.java index b132811e1..3e4eabfd9 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIElectrolyserMetal.java +++ b/src/main/java/com/hbm/inventory/gui/GUIElectrolyserMetal.java @@ -99,7 +99,7 @@ public class GUIElectrolyserMetal extends GuiInfoContainer { int p = (int) (electrolyser.power * 89 / electrolyser.maxPower); drawTexturedModalRect(guiLeft + 186, guiTop + 107 - p, 210, 89 - p, 16, p); - if(electrolyser.power >= electrolyser.usage) + if(electrolyser.power >= electrolyser.usageOre) drawTexturedModalRect(guiLeft + 190, guiTop + 4, 226, 25, 9, 12); int o = electrolyser.progressOre * 26 / electrolyser.processOreTime; diff --git a/src/main/java/com/hbm/inventory/gui/GUIFWatzCore.java b/src/main/java/com/hbm/inventory/gui/GUIFWatzCore.java deleted file mode 100644 index 5f9fd0bd4..000000000 --- a/src/main/java/com/hbm/inventory/gui/GUIFWatzCore.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.hbm.inventory.gui; - -import org.lwjgl.opengl.GL11; - -import com.hbm.inventory.container.ContainerFWatzCore; -import com.hbm.lib.RefStrings; -import com.hbm.tileentity.machine.TileEntityFWatzCore; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.resources.I18n; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.util.ResourceLocation; - -public class GUIFWatzCore extends GuiInfoContainer { - - private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_fwatz_multiblock.png"); - private TileEntityFWatzCore diFurnace; - - public GUIFWatzCore(InventoryPlayer invPlayer, TileEntityFWatzCore tedf) { - super(new ContainerFWatzCore(invPlayer, tedf)); - diFurnace = tedf; - - this.xSize = 176; - this.ySize = 222; - } - - @Override - public void drawScreen(int mouseX, int mouseY, float f) { - super.drawScreen(mouseX, mouseY, f); - - diFurnace.tanks[0].renderTankInfo(this, mouseX, mouseY, guiLeft + 8, guiTop + 88 - 70, 16, 70); - diFurnace.tanks[1].renderTankInfo(this, mouseX, mouseY, guiLeft + 134, guiTop + 88 - 70, 16, 70); - diFurnace.tanks[2].renderTankInfo(this, mouseX, mouseY, guiLeft + 152, guiTop + 88 - 70, 16, 70); - this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 26, guiTop + 106 - 88, 16, 88, diFurnace.power, diFurnace.maxPower); - } - - @Override - protected void drawGuiContainerForegroundLayer(int i, int j) { - String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName()); - - this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); - this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); - } - - @Override - protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - Minecraft.getMinecraft().getTextureManager().bindTexture(texture); - drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); - - int k = (int)diFurnace.getPowerScaled(88); - drawTexturedModalRect(guiLeft + 26, guiTop + 106 - k, 192, 88 - k, 16, k); - - if(diFurnace.isRunning()) - drawTexturedModalRect(guiLeft + 64, guiTop + 29, 176, 88, 48, 48); - - int m = diFurnace.getSingularityType(); - drawTexturedModalRect(guiLeft + 98, guiTop + 109, 240, 4 * m, 16, 4); - - diFurnace.tanks[0].renderTank(guiLeft + 8, guiTop + 88, this.zLevel, 16, 70); - diFurnace.tanks[1].renderTank(guiLeft + 134, guiTop + 88, this.zLevel, 16, 70); - diFurnace.tanks[2].renderTank(guiLeft + 152, guiTop + 88, this.zLevel, 16, 70); - } -} diff --git a/src/main/java/com/hbm/inventory/gui/GUIFunnel.java b/src/main/java/com/hbm/inventory/gui/GUIFunnel.java new file mode 100644 index 000000000..817be3b10 --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIFunnel.java @@ -0,0 +1,66 @@ +package com.hbm.inventory.gui; + +import org.lwjgl.opengl.GL11; + +import com.hbm.inventory.container.ContainerFunnel; +import com.hbm.lib.RefStrings; +import com.hbm.packet.NBTControlPacket; +import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.machine.TileEntityMachineFunnel; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.audio.PositionedSoundRecord; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; + +public class GUIFunnel extends GuiInfoContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/processing/gui_funnel.png"); + private TileEntityMachineFunnel funnel; + + public GUIFunnel(InventoryPlayer invPlayer, TileEntityMachineFunnel tedf) { + super(new ContainerFunnel(invPlayer, tedf)); + funnel = tedf; + + this.xSize = 176; + this.ySize = 168; + } + + @Override + public void drawScreen(int mouseX, int mouseY, float f) { + super.drawScreen(mouseX, mouseY, f); + + this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 159, guiTop + 73, 10, 10, mouseX, mouseY, "Mode: " + (funnel.mode == funnel.MODE_3x3 ? "3x3 only" : funnel.mode == funnel.MODE_2x2 ? "2x2 only" : "3x3 then 2x2")); + } + + @Override + protected void mouseClicked(int x, int y, int i) { + super.mouseClicked(x, y, i); + + if(this.checkClick(x, y, 159, 73, 10, 10)) { + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + NBTTagCompound data = new NBTTagCompound(); + data.setBoolean("toggle", true); + PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, funnel.xCoord, funnel.yCoord, funnel.zCoord)); + } + } + + @Override + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.funnel.hasCustomInventoryName() ? this.funnel.getInventoryName() : I18n.format(this.funnel.getInventoryName()); + + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); + this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + drawTexturedModalRect(guiLeft + 159, guiTop + 73, 176, funnel.mode * 10, 10, 10); + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUIFurnaceBrick.java b/src/main/java/com/hbm/inventory/gui/GUIFurnaceBrick.java new file mode 100644 index 000000000..31e360e39 --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIFurnaceBrick.java @@ -0,0 +1,44 @@ +package com.hbm.inventory.gui; + +import org.lwjgl.opengl.GL11; + +import com.hbm.inventory.container.ContainerFurnaceBrick; +import com.hbm.lib.RefStrings; +import com.hbm.tileentity.machine.TileEntityFurnaceBrick; + +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; + +public class GUIFurnaceBrick extends GuiInfoContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/processing/gui_furnace_brick.png"); + private TileEntityFurnaceBrick furnace; + + public GUIFurnaceBrick(InventoryPlayer invPlayer, TileEntityFurnaceBrick tile) { + super(new ContainerFurnaceBrick(invPlayer, tile)); + this.furnace = tile; + } + + protected void drawGuiContainerForegroundLayer(int p_146979_1_, int p_146979_2_) { + String name = this.furnace.hasCustomInventoryName() ? this.furnace.getInventoryName() : I18n.format(this.furnace.getInventoryName()); + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 0xffffff); + this.fontRendererObj.drawString(I18n.format("container.inventory", new Object[0]), 8, this.ySize - 96 + 2, 0xffffff); + } + + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + this.mc.getTextureManager().bindTexture(texture); + this.drawTexturedModalRect(guiLeft, guiTop, 0, 0, this.xSize, this.ySize); + + if(furnace.isInvalid() && furnace.getWorldObj().getTileEntity(furnace.xCoord, furnace.yCoord, furnace.zCoord) instanceof TileEntityFurnaceBrick) + furnace = (TileEntityFurnaceBrick) furnace.getWorldObj().getTileEntity(furnace.xCoord, furnace.yCoord, furnace.zCoord); + + if(this.furnace.burnTime > 0) { + int b = furnace.burnTime * 13 / furnace.maxBurnTime; + this.drawTexturedModalRect(guiLeft + 62, guiTop + 54 + 12 - b, 176, 12 - b, 14, b + 1); + int p = this.furnace.progress * 24 / 200; + this.drawTexturedModalRect(guiLeft + 85, guiTop + 34, 176, 14, p + 1, 16); + } + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUIHeaterHeatex.java b/src/main/java/com/hbm/inventory/gui/GUIHeaterHeatex.java index 6cfbc92bd..a5a2a781f 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIHeaterHeatex.java +++ b/src/main/java/com/hbm/inventory/gui/GUIHeaterHeatex.java @@ -39,11 +39,11 @@ public class GUIHeaterHeatex extends GuiInfoContainer { super.initGui(); Keyboard.enableRepeatEvents(true); - this.fieldCycles = new GuiTextField(this.fontRendererObj, guiLeft + 74, guiTop + 31, 28, 10); + this.fieldCycles = new GuiTextField(this.fontRendererObj, guiLeft + 73, guiTop + 31, 30, 10); initText(this.fieldCycles); this.fieldCycles.setText(String.valueOf(heater.amountToCool)); - this.fieldDelay = new GuiTextField(this.fontRendererObj, guiLeft + 74, guiTop + 49, 28, 10); + this.fieldDelay = new GuiTextField(this.fontRendererObj, guiLeft + 73, guiTop + 49, 30, 10); initText(this.fieldDelay); this.fieldDelay.setText(String.valueOf(heater.tickDelay)); } @@ -52,7 +52,7 @@ public class GUIHeaterHeatex extends GuiInfoContainer { field.setTextColor(0x00ff00); field.setDisabledTextColour(0x00ff00); field.setEnableBackgroundDrawing(false); - field.setMaxStringLength(4); + field.setMaxStringLength(5); } @Override diff --git a/src/main/java/com/hbm/inventory/gui/GUIICF.java b/src/main/java/com/hbm/inventory/gui/GUIICF.java new file mode 100644 index 000000000..4569fed1d --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIICF.java @@ -0,0 +1,63 @@ +package com.hbm.inventory.gui; + +import com.hbm.inventory.container.ContainerICF; +import com.hbm.lib.RefStrings; +import com.hbm.render.util.GaugeUtil; +import com.hbm.tileentity.machine.TileEntityICF; +import com.hbm.util.BobMathUtil; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; + +public class GUIICF extends GuiInfoContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/reactors/gui_icf.png"); + private TileEntityICF icf; + + public GUIICF(InventoryPlayer invPlayer, TileEntityICF icf) { + super(new ContainerICF(invPlayer, icf)); + this.icf = icf; + + this.xSize = 248; + this.ySize = 222; + } + + @Override + public void drawScreen(int x, int y, float interp) { + super.drawScreen(x, y, interp); + + icf.tanks[0].renderTankInfo(this, x, y, guiLeft + 44, guiTop + 18, 16, 70); + icf.tanks[1].renderTankInfo(this, x, y, guiLeft + 188, guiTop + 18, 16, 70); + icf.tanks[2].renderTankInfo(this, x, y, guiLeft + 224, guiTop + 18, 16, 70); + + this.drawCustomInfoStat(x, y, guiLeft + 8, guiTop + 18, 16, 70, x, y, icf.maxLaser <= 0 ? "OFFLINE" : (BobMathUtil.getShortNumber(icf.laser) + "TU - " + (icf.laser * 1000 / icf.maxLaser) / 10D + "%")); + this.drawCustomInfoStat(x, y, guiLeft + 187, guiTop + 89, 18, 18, x, y, BobMathUtil.getShortNumber(icf.heat) + " / " + BobMathUtil.getShortNumber(icf.maxHeat) + "TU"); + } + + @Override + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.icf.hasCustomInventoryName() ? this.icf.getInventoryName() : I18n.format(this.icf.getInventoryName()); + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); + this.fontRendererObj.drawString(I18n.format("container.inventory"), 44, this.ySize - 93, 4210752); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float interp, int x, int y) { + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, 114); + drawTexturedModalRect(guiLeft + 36, guiTop + 122, 36, 122, 176, 108); + + if(icf.maxLaser > 0) { + int p = (int) (icf.laser * 70 / icf.maxLaser); + drawTexturedModalRect(guiLeft + 8, guiTop + 88 - p, 212, 192 - p, 16, p); + } + + GaugeUtil.drawSmoothGauge(guiLeft + 196, guiTop + 98, this.zLevel, (double) icf.heat / (double) icf.maxHeat, 5, 2, 1, 0xFF00AF); + + icf.tanks[0].renderTank(guiLeft + 44, guiTop + 88, this.zLevel, 16, 70); + icf.tanks[1].renderTank(guiLeft + 188, guiTop + 88, this.zLevel, 16, 70); + icf.tanks[2].renderTank(guiLeft + 224, guiTop + 88, this.zLevel, 16, 70); + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUILaunchPadLarge.java b/src/main/java/com/hbm/inventory/gui/GUILaunchPadLarge.java new file mode 100644 index 000000000..ebcbe6365 --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUILaunchPadLarge.java @@ -0,0 +1,151 @@ +package com.hbm.inventory.gui; + +import java.util.ArrayList; +import java.util.List; +import java.util.function.Consumer; + +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; + +import com.hbm.inventory.RecipesCommon.ComparableStack; +import com.hbm.inventory.container.ContainerLaunchPadLarge; +import com.hbm.items.ModItems; +import com.hbm.items.weapon.ItemMissile; +import com.hbm.lib.RefStrings; +import com.hbm.render.item.ItemRenderMissileGeneric; +import com.hbm.tileentity.bomb.TileEntityLaunchPadBase; +import com.hbm.util.I18nUtil; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.RenderHelper; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; + +public class GUILaunchPadLarge extends GuiInfoContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/gui_launch_pad_large.png"); + private TileEntityLaunchPadBase launchpad; + + public GUILaunchPadLarge(InventoryPlayer invPlayer, TileEntityLaunchPadBase tedf) { + super(new ContainerLaunchPadLarge(invPlayer, tedf)); + launchpad = tedf; + + this.xSize = 176; + this.ySize = 236; + } + + @Override + public void drawScreen(int mouseX, int mouseY, float f) { + super.drawScreen(mouseX, mouseY, f); + + this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 107, guiTop + 88 - 52, 16, 52, launchpad.power, launchpad.maxPower); + launchpad.tanks[0].renderTankInfo(this, mouseX, mouseY, guiLeft + 125, guiTop + 88 - 52, 16, 52); + launchpad.tanks[1].renderTankInfo(this, mouseX, mouseY, guiLeft + 143, guiTop + 88 - 52, 16, 52); + + if(this.mc.thePlayer.inventory.getItemStack() == null && this.isMouseOverSlot(this.inventorySlots.getSlot(1), mouseX, mouseY) && !this.inventorySlots.getSlot(1).getHasStack()) { + ItemStack[] list = new ItemStack[] { new ItemStack(ModItems.designator), new ItemStack(ModItems.designator_range), new ItemStack(ModItems.designator_manual) }; + List lines = new ArrayList(); + ItemStack selected = list[(int) ((System.currentTimeMillis() % (1000 * list.length)) / 1000)]; + selected.stackSize = 0; + lines.add(list); + + lines.add(new Object[] {I18nUtil.resolveKey(selected.getDisplayName())}); + this.drawStackText(lines, mouseX, mouseY, this.fontRendererObj); + } + } + + @Override + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.launchpad.hasCustomInventoryName() ? this.launchpad.getInventoryName() : I18n.format(this.launchpad.getInventoryName()); + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 4, 4210752); + this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + int fuel = launchpad.getFuelState(); + int oxidizer = launchpad.getOxidizerState(); + + if(fuel == 1) drawTexturedModalRect(guiLeft + 130, guiTop + 23, 192, 0, 6, 8); + if(fuel == -1) drawTexturedModalRect(guiLeft + 130, guiTop + 23, 198, 0, 6, 8); + if(oxidizer == 1) drawTexturedModalRect(guiLeft + 148, guiTop + 23, 192, 0, 6, 8); + if(oxidizer == -1) drawTexturedModalRect(guiLeft + 148, guiTop + 23, 198, 0, 6, 8); + if(launchpad.isMissileValid()) { + drawTexturedModalRect(guiLeft + 112, guiTop + 23, launchpad.power >= 75_000 ? 192 : 198, 0, 6, 8); + } + + int power = (int) (launchpad.power * 52 / launchpad.maxPower); + drawTexturedModalRect(guiLeft + 107, guiTop + 88 - power, 176, 52 - power, 16, power); + launchpad.tanks[0].renderTank(guiLeft + 125, guiTop + 88,this.zLevel, 16, 52); + launchpad.tanks[1].renderTank(guiLeft + 143, guiTop + 88,this.zLevel, 16, 52); + + if(launchpad.slots[0] != null) { + Consumer renderer = ItemRenderMissileGeneric.renderers.get(new ComparableStack(launchpad.slots[0]).makeSingular()); + if(renderer != null) { + GL11.glPushMatrix(); + + GL11.glTranslatef(guiLeft + 70, guiTop + 120, 100); + + double scale = 1D; + + if(launchpad.slots[0].getItem() instanceof ItemMissile) { + ItemMissile missile = (ItemMissile) launchpad.slots[0].getItem(); + switch(missile.formFactor) { + case ABM: scale = 1.45D; break; + case MICRO: scale = 2.5D; break; + case V2: scale = 1.75D; break; + case STRONG: scale = 1.375D; break; + case HUGE: scale = 0.925D; break; + case ATLAS: scale = 0.875D; break; + case OTHER: break; + } + if(missile == ModItems.missile_stealth) scale = 1.125D; + } + + GL11.glRotatef(90, 0, 1, 0); + GL11.glScaled(scale, scale, scale); + GL11.glScalef(-8, -8, -8); + + GL11.glPushMatrix(); + GL11.glRotatef(75, 0.0F, 1.0F, 0.0F); + RenderHelper.enableStandardItemLighting(); + GL11.glPopMatrix(); + + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + renderer.accept(Minecraft.getMinecraft().getTextureManager()); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + GL11.glPopMatrix(); + } + } + + GL11.glPushMatrix(); + RenderHelper.disableStandardItemLighting(); + GL11.glTranslated(guiLeft + 34, guiTop + 107, 0); + String text = ""; + int color = 0xffffff; + if(launchpad.state == launchpad.STATE_MISSING) { + GL11.glScaled(0.5, 0.5, 1); + text = "Not ready"; + color = 0xff0000; + } + if(launchpad.state == launchpad.STATE_LOADING) { + GL11.glScaled(0.6, 0.6, 1); + text = "Loading..."; + color = 0xff8000; + } + if(launchpad.state == launchpad.STATE_READY) { + GL11.glScaled(0.8, 0.8, 1); + text = "Ready"; + color = 0x00ff000; + } + this.fontRendererObj.drawString(text, -this.fontRendererObj.getStringWidth(text) / 2, -this.fontRendererObj.FONT_HEIGHT / 2, color); + GL11.glPopMatrix(); + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUILaunchPadRusted.java b/src/main/java/com/hbm/inventory/gui/GUILaunchPadRusted.java new file mode 100644 index 000000000..a90bd4799 --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUILaunchPadRusted.java @@ -0,0 +1,115 @@ +package com.hbm.inventory.gui; + +import java.util.Random; +import java.util.function.Consumer; + +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; + +import com.hbm.inventory.RecipesCommon.ComparableStack; +import com.hbm.inventory.container.ContainerLaunchPadRusted; +import com.hbm.items.ModItems; +import com.hbm.lib.RefStrings; +import com.hbm.packet.NBTControlPacket; +import com.hbm.packet.PacketDispatcher; +import com.hbm.render.item.ItemRenderMissileGeneric; +import com.hbm.tileentity.bomb.TileEntityLaunchPadRusted; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.audio.PositionedSoundRecord; +import net.minecraft.client.renderer.RenderHelper; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.ResourceLocation; + +public class GUILaunchPadRusted extends GuiInfoContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/gui_launch_pad_rusted.png"); + private TileEntityLaunchPadRusted launchpad; + + public GUILaunchPadRusted(InventoryPlayer invPlayer, TileEntityLaunchPadRusted tedf) { + super(new ContainerLaunchPadRusted(invPlayer, tedf)); + launchpad = tedf; + + this.xSize = 176; + this.ySize = 236; + } + + @Override + public void drawScreen(int mouseX, int mouseY, float f) { + super.drawScreen(mouseX, mouseY, f); + drawCustomInfoStat(mouseX, mouseY, guiLeft + 26, guiTop + 36, 16, 16, mouseX, mouseY, EnumChatFormatting.YELLOW + "Release Missile", "Missile is locked in lauch position,", "releasing may cause damage to the missile.", "Damaged missile can not be put back", "into launching position."); + } + + @Override + protected void mouseClicked(int x, int y, int i) { + super.mouseClicked(x, y, i); + + if(guiLeft + 26 <= x && guiLeft + 26 + 16 > x && guiTop + 36 < y && guiTop + 36 + 16 >= y) { + + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + NBTTagCompound data = new NBTTagCompound(); + data.setBoolean("release", true); + PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, launchpad.xCoord, launchpad.yCoord, launchpad.zCoord)); + } + } + + @Override + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.launchpad.hasCustomInventoryName() ? this.launchpad.getInventoryName() : I18n.format(this.launchpad.getInventoryName()); + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 4, 4210752); + this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + boolean hasCodes = launchpad.slots[1] != null && launchpad.slots[1].getItem() == ModItems.launch_code; + boolean hasKey = launchpad.slots[2] != null && launchpad.slots[2].getItem() == ModItems.launch_key; + + if(hasCodes) drawTexturedModalRect(guiLeft + 121, guiTop + 32, 192, 0, 6, 8); + if(hasKey) drawTexturedModalRect(guiLeft + 139, guiTop + 32, 192, 0, 6, 8); + + if(hasCodes && hasKey && launchpad.missileLoaded) { + + Random rand = new Random(launchpad.xCoord * 131_071 + launchpad.zCoord); + int launchCodes = rand.nextInt(100_000_000); + + for(int i = 0; i < 8; i++) { + int magnitude = (int) Math.pow(10, i); + int digit = (launchCodes % (magnitude * 10)) / magnitude; + drawTexturedModalRect(guiLeft + 109 + 6 * i, guiTop + 85, 192 + 6 * digit, 8, 6, 8); + } + } + + if(launchpad.missileLoaded) { + Consumer renderer = ItemRenderMissileGeneric.renderers.get(new ComparableStack(ModItems.missile_doomsday_rusted).makeSingular()); + if(renderer != null) { + GL11.glPushMatrix(); + + GL11.glTranslatef(guiLeft + 70, guiTop + 120, 100); + + double scale = 0.875D; + GL11.glRotatef(90, 0, 1, 0); + GL11.glScaled(scale, scale, scale); + GL11.glScalef(-8, -8, -8); + + GL11.glPushMatrix(); + GL11.glRotatef(75, 0.0F, 1.0F, 0.0F); + RenderHelper.enableStandardItemLighting(); + GL11.glPopMatrix(); + + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + renderer.accept(Minecraft.getMinecraft().getTextureManager()); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + GL11.glPopMatrix(); + } + } + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUILaunchPadTier1.java b/src/main/java/com/hbm/inventory/gui/GUILaunchPadTier1.java deleted file mode 100644 index e57b35868..000000000 --- a/src/main/java/com/hbm/inventory/gui/GUILaunchPadTier1.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.hbm.inventory.gui; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.resources.I18n; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.util.ResourceLocation; - -import org.lwjgl.opengl.GL11; - -import com.hbm.inventory.container.ContainerLaunchPadTier1; -import com.hbm.lib.RefStrings; -import com.hbm.tileentity.bomb.TileEntityLaunchPad; - -public class GUILaunchPadTier1 extends GuiInfoContainer { - - private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/gui_launch_pad.png"); - private TileEntityLaunchPad diFurnace; - - public GUILaunchPadTier1(InventoryPlayer invPlayer, TileEntityLaunchPad tedf) { - super(new ContainerLaunchPadTier1(invPlayer, tedf)); - diFurnace = tedf; - - this.xSize = 176; - this.ySize = 166; - } - - @Override - public void drawScreen(int mouseX, int mouseY, float f) { - super.drawScreen(mouseX, mouseY, f); - - this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 8, guiTop + 53, 160, 16, diFurnace.power, diFurnace.maxPower); - - String[] text = new String[] { "First Slot:", - " -Missile (no custom ones!)", - " -Carrier Rocket" }; - this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36, 16, 16, guiLeft - 8, guiTop + 36 + 16, text); - - String[] text1 = new String[] { "Second Slot:", - " -Target designator for missiles", - " -Satellite payload for the carrier rocket" }; - this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36 + 16, 16, 16, guiLeft - 8, guiTop + 36 + 16, text1); - } - - @Override - protected void drawGuiContainerForegroundLayer(int i, int j) { - String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName()); - - this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); - this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); - } - - @Override - protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - Minecraft.getMinecraft().getTextureManager().bindTexture(texture); - drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); - - int j1 = (int)diFurnace.getPowerScaled(160); - drawTexturedModalRect(guiLeft + 8, guiTop + 53, 8, 166, j1, 16); - - this.drawInfoPanel(guiLeft - 16, guiTop + 36, 16, 16, 2); - this.drawInfoPanel(guiLeft - 16, guiTop + 36 + 16, 16, 16, 3); - } -} diff --git a/src/main/java/com/hbm/inventory/gui/GUILemegeton.java b/src/main/java/com/hbm/inventory/gui/GUILemegeton.java new file mode 100644 index 000000000..bc6ec5961 --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUILemegeton.java @@ -0,0 +1,40 @@ +package com.hbm.inventory.gui; + +import org.lwjgl.opengl.GL11; + +import com.hbm.inventory.container.ContainerLemegeton; +import com.hbm.lib.RefStrings; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; + +public class GUILemegeton extends GuiContainer { + + public static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/processing/gui_lemegeton.png"); + + public GUILemegeton(InventoryPlayer player) { + super(new ContainerLemegeton(player)); + this.xSize = 176; + this.ySize = 166; + } + + protected void drawGuiContainerForegroundLayer(int mX, int mY) { + + Minecraft.getMinecraft().standardGalacticFontRenderer.drawString("Material Upgrade Conversion", 28, 6, 4210752); + Minecraft.getMinecraft().standardGalacticFontRenderer.drawString("Standard Inventory", 8, this.ySize - 96 + 2, 4210752); + } + + protected void drawGuiContainerBackgroundLayer(float inter, int mX, int mY) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + this.mc.getTextureManager().bindTexture(texture); + int left = (this.width - this.xSize) / 2; + int top = (this.height - this.ySize) / 2; + + this.drawTexturedModalRect(left, top, 0, 0, this.xSize, this.ySize); + + if(this.inventorySlots.getSlot(0).getHasStack()) + this.drawTexturedModalRect(left + 7, top + 22, 0, 166, 162, 42); + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineBattery.java b/src/main/java/com/hbm/inventory/gui/GUIMachineBattery.java index 5b2e00658..11480d37d 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineBattery.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineBattery.java @@ -33,6 +33,7 @@ public class GUIMachineBattery extends GuiInfoContainer { this.ySize = 166; } + @SuppressWarnings("incomplete-switch") @Override public void drawScreen(int mouseX, int mouseY, float f) { super.drawScreen(mouseX, mouseY, f); @@ -110,6 +111,6 @@ public class GUIMachineBattery extends GuiInfoContainer { int j = battery.redHigh; drawTexturedModalRect(guiLeft + 133, guiTop + 52, 176, 52 + j * 18, 18, 18); - drawTexturedModalRect(guiLeft + 152, guiTop + 35, 194, 52 + battery.priority.ordinal() * 16, 16, 16); + drawTexturedModalRect(guiLeft + 152, guiTop + 35, 194, 52 + battery.priority.ordinal() * 16 - 16, 16, 16); } } diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineCMBFactory.java b/src/main/java/com/hbm/inventory/gui/GUIMachineCMBFactory.java deleted file mode 100644 index 1391cf2c4..000000000 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineCMBFactory.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.hbm.inventory.gui; - -import org.lwjgl.opengl.GL11; - -import com.hbm.inventory.container.ContainerMachineCMBFactory; -import com.hbm.lib.RefStrings; -import com.hbm.tileentity.machine.TileEntityMachineCMBFactory; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.resources.I18n; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.util.ResourceLocation; - -public class GUIMachineCMBFactory extends GuiInfoContainer { - - private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_cmb_manufactory.png"); - private TileEntityMachineCMBFactory diFurnace; - - public GUIMachineCMBFactory(InventoryPlayer invPlayer, TileEntityMachineCMBFactory tedf) { - super(new ContainerMachineCMBFactory(invPlayer, tedf)); - diFurnace = tedf; - - this.xSize = 176; - this.ySize = 166; - } - - @Override - public void drawScreen(int mouseX, int mouseY, float f) { - super.drawScreen(mouseX, mouseY, f); - - diFurnace.tank.renderTankInfo(this, mouseX, mouseY, guiLeft + 26, guiTop + 69 - 52, 16, 52); - this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 8, guiTop + 106 - 88, 16, 88, diFurnace.power, diFurnace.maxPower); - } - - @Override - protected void drawGuiContainerForegroundLayer(int i, int j) { - String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName()); - - this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); - this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); - } - - @Override - protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - Minecraft.getMinecraft().getTextureManager().bindTexture(texture); - drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); - - if(diFurnace.power > 0) { - int i = (int)diFurnace.getPowerScaled(52); - drawTexturedModalRect(guiLeft + 8, guiTop + 69 - i, 176, 52 - i, 16, i); - } - - int j1 = diFurnace.getProgressScaled(24); - drawTexturedModalRect(guiLeft + 101 + 9, guiTop + 34, 208, 0, j1 + 1, 16); - - diFurnace.tank.renderTank(guiLeft + 26, guiTop + 69, this.zLevel, 16, 52); - } -} diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineCatalyticReformer.java b/src/main/java/com/hbm/inventory/gui/GUIMachineCatalyticReformer.java index 4106bfa80..7c0c6d358 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineCatalyticReformer.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineCatalyticReformer.java @@ -1,14 +1,19 @@ package com.hbm.inventory.gui; +import java.util.ArrayList; +import java.util.List; + import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerMachineCatalyticReformer; +import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; import com.hbm.tileentity.machine.oil.TileEntityMachineCatalyticReformer; import net.minecraft.client.Minecraft; import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; public class GUIMachineCatalyticReformer extends GuiInfoContainer { @@ -33,6 +38,14 @@ public class GUIMachineCatalyticReformer extends GuiInfoContainer { refinery.tanks[2].renderTankInfo(this, mouseX, mouseY, guiLeft + 125, guiTop + 70 - 52, 16, 52); refinery.tanks[3].renderTankInfo(this, mouseX, mouseY, guiLeft + 143, guiTop + 70 - 52, 16, 52); this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 17, guiTop + 70 - 52, 16, 52, refinery.power, refinery.maxPower); + + if(this.mc.thePlayer.inventory.getItemStack() == null && this.isMouseOverSlot(this.inventorySlots.getSlot(10), mouseX, mouseY) && !this.inventorySlots.getSlot(10).getHasStack()) { + List lines = new ArrayList(); + ItemStack converter = new ItemStack(ModItems.catalytic_converter); + lines.add(new Object[] {converter}); + lines.add(new Object[] {converter.getDisplayName()}); + this.drawStackText(lines, mouseX, mouseY, this.fontRendererObj); + } } @Override diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineCustom.java b/src/main/java/com/hbm/inventory/gui/GUIMachineCustom.java index 7b658c150..2a02cd763 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineCustom.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineCustom.java @@ -1,12 +1,15 @@ package com.hbm.inventory.gui; import java.util.Arrays; +import java.util.Locale; +import com.hbm.render.util.GaugeUtil; import org.lwjgl.opengl.GL11; import com.hbm.inventory.SlotPattern; import com.hbm.inventory.container.ContainerMachineCustom; import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; import com.hbm.tileentity.machine.TileEntityCustomMachine; import net.minecraft.client.Minecraft; @@ -17,58 +20,61 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; public class GUIMachineCustom extends GuiInfoContainer { - + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/processing/gui_custom.png"); private TileEntityCustomMachine custom; public GUIMachineCustom(InventoryPlayer invPlayer, TileEntityCustomMachine tedf) { super(new ContainerMachineCustom(invPlayer, tedf)); custom = tedf; - + this.xSize = 176; this.ySize = 256; } - + @Override public void drawScreen(int x, int y, float interp) { super.drawScreen(x, y, interp); - - this.drawElectricityInfo(this, x, y, guiLeft + 150, guiTop + 18, 16, 52, custom.power, custom.config.maxPower); + this.drawElectricityInfo(this, x, y, guiLeft + 150, guiTop + 18, 16, 52, custom.power, custom.config.maxPower); + if(custom.config.maxHeat>0) this.drawCustomInfoStat(x, y, guiLeft + 61, guiTop + 53, 18, 18, x, y, new String[] { "Heat:" + String.format(Locale.US, "%,d", custom.heat) + " / " + String.format(Locale.US, "%,d", custom.config.maxHeat)}); if(this.mc.thePlayer.inventory.getItemStack() == null) { for(int i = 0; i < this.inventorySlots.inventorySlots.size(); ++i) { Slot slot = (Slot) this.inventorySlots.inventorySlots.get(i); int tileIndex = slot.getSlotIndex(); - + if(this.isMouseOverSlot(slot, x, y) && slot instanceof SlotPattern && custom.matcher.modes[tileIndex - 10] != null) { - + String label = EnumChatFormatting.YELLOW + ""; - + switch(custom.matcher.modes[tileIndex - 10]) { - case "exact": label += "Item and meta match"; break; - case "wildcard": label += "Item matches"; break; - default: label += "Ore dict key matches: " + custom.matcher.modes[tileIndex - 10]; break; + case "exact": label += "Item and meta match"; break; + case "wildcard": label += "Item matches"; break; + default: label += "Ore dict key matches: " + custom.matcher.modes[tileIndex - 10]; break; } - + this.func_146283_a(Arrays.asList(new String[] { EnumChatFormatting.RED + "Right click to change", label }), x, y - 30); } } } - + for(int i = 0; i < custom.inputTanks.length; i++) { custom.inputTanks[i].renderTankInfo(this, x, y, guiLeft + 8 + 18 * i, guiTop + 18, 16, 34); } - + for(int i = 0; i < custom.outputTanks.length; i++) { custom.outputTanks[i].renderTankInfo(this, x, y, guiLeft + 78 + 18 * i, guiTop + 18, 16, 34); } } - + @Override protected void drawGuiContainerForegroundLayer(int i, int j) { String name = this.custom.getInventoryName(); + String localizedName = this.custom.config.localization.get(MainRegistry.proxy.getLanguageCode()); + if(localizedName != null) name = localizedName; this.fontRendererObj.drawString(name, 68 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); + if(custom.config.fluxMode) this.fontRendererObj.drawString("Flux:" + custom.flux,83, 57,0x08FF00); } @Override @@ -76,17 +82,23 @@ public class GUIMachineCustom extends GuiInfoContainer { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); Minecraft.getMinecraft().getTextureManager().bindTexture(texture); drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); - + if(custom.config.fluxMode){ + drawTexturedModalRect(guiLeft + 78, guiTop + 54, 192, 122,51 , 15); + } + if(custom.maxHeat > 0) { + drawTexturedModalRect(guiLeft + 61, guiTop + 53, 236, 0, 18, 18); + GaugeUtil.drawSmoothGauge(guiLeft + 70, guiTop + 62, this.zLevel, (double) custom.heat / (double) custom.config.maxHeat, 5, 2, 1, 0x7F0000); + } int p = custom.progress * 90 / custom.maxProgress; drawTexturedModalRect(guiLeft + 78, guiTop + 119, 192, 0, Math.min(p, 44), 16); if(p > 44) { - p-= 44; + p -= 44; drawTexturedModalRect(guiLeft + 78 + 44, guiTop + 119, 192, 16, p, 16); } - + int e = (int) (custom.power * 52 / custom.config.maxPower); drawTexturedModalRect(guiLeft + 150, guiTop + 70 - e, 176, 52 - e, 16, e); - + for(int i = 0; i < 2; i++) { for(int j = 0; j < 3; j++) { int index = i * 3 + j; @@ -99,7 +111,7 @@ public class GUIMachineCustom extends GuiInfoContainer { } } } - + for(int i = 0; i < 3; i++) { if(custom.config.fluidInCount <= i) { drawTexturedModalRect(guiLeft + 7 + i * 18, guiTop + 17, 192 + i * 18, 32, 18, 54); @@ -108,11 +120,11 @@ public class GUIMachineCustom extends GuiInfoContainer { drawTexturedModalRect(guiLeft + 77 + i * 18, guiTop + 17, 192 + i * 18, 32, 18, 36); } } - + for(int i = 0; i < custom.inputTanks.length; i++) { custom.inputTanks[i].renderTank(guiLeft + 8 + 18 * i, guiTop + 52, this.zLevel, 16, 34); } - + for(int i = 0; i < custom.outputTanks.length; i++) { custom.outputTanks[i].renderTank(guiLeft + 78 + 18 * i, guiTop + 52, this.zLevel, 16, 34); } diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineGasCent.java b/src/main/java/com/hbm/inventory/gui/GUIMachineGasCent.java index 987b5caa6..0b81a0bd8 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineGasCent.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineGasCent.java @@ -56,9 +56,6 @@ public class GUIMachineGasCent extends GuiInfoContainer { @Override protected void drawGuiContainerForegroundLayer(int i, int j) { - String name = this.gasCent.hasCustomInventoryName() ? this.gasCent.getInventoryName() : I18n.format(this.gasCent.getInventoryName()); - - //this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); } diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineHydrotreater.java b/src/main/java/com/hbm/inventory/gui/GUIMachineHydrotreater.java new file mode 100644 index 000000000..f0fd2cf09 --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineHydrotreater.java @@ -0,0 +1,73 @@ +package com.hbm.inventory.gui; + +import java.util.ArrayList; +import java.util.List; + +import org.lwjgl.opengl.GL11; + +import com.hbm.inventory.container.ContainerMachineHydrotreater; +import com.hbm.items.ModItems; +import com.hbm.lib.RefStrings; +import com.hbm.tileentity.machine.oil.TileEntityMachineHydrotreater; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; + +public class GUIMachineHydrotreater extends GuiInfoContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/processing/gui_hydrotreater.png"); + private TileEntityMachineHydrotreater hydrotreater; + + public GUIMachineHydrotreater(InventoryPlayer invPlayer, TileEntityMachineHydrotreater tedf) { + super(new ContainerMachineHydrotreater(invPlayer, tedf)); + hydrotreater = tedf; + + this.xSize = 176; + this.ySize = 238; + } + + @Override + public void drawScreen(int mouseX, int mouseY, float f) { + super.drawScreen(mouseX, mouseY, f); + + hydrotreater.tanks[0].renderTankInfo(this, mouseX, mouseY, guiLeft + 35, guiTop + 70 - 52, 16, 52); + hydrotreater.tanks[1].renderTankInfo(this, mouseX, mouseY, guiLeft + 53, guiTop + 70 - 52, 16, 52); + hydrotreater.tanks[2].renderTankInfo(this, mouseX, mouseY, guiLeft + 125, guiTop + 70 - 52, 16, 52); + hydrotreater.tanks[3].renderTankInfo(this, mouseX, mouseY, guiLeft + 143, guiTop + 70 - 52, 16, 52); + this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 17, guiTop + 70 - 52, 16, 52, hydrotreater.power, hydrotreater.maxPower); + + if(this.mc.thePlayer.inventory.getItemStack() == null && this.isMouseOverSlot(this.inventorySlots.getSlot(10), mouseX, mouseY) && !this.inventorySlots.getSlot(10).getHasStack()) { + List lines = new ArrayList(); + ItemStack converter = new ItemStack(ModItems.catalytic_converter); + lines.add(new Object[] {converter}); + lines.add(new Object[] {converter.getDisplayName()}); + this.drawStackText(lines, mouseX, mouseY, this.fontRendererObj); + } + } + + @Override + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.hydrotreater.hasCustomInventoryName() ? this.hydrotreater.getInventoryName() : I18n.format(this.hydrotreater.getInventoryName()); + + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 5, 0xffffff); + this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + int j = (int) (hydrotreater.power * 54 / hydrotreater.maxPower); + drawTexturedModalRect(guiLeft + 17, guiTop + 70 - j, 176, 52 - j, 16, j); + + hydrotreater.tanks[0].renderTank(guiLeft + 35, guiTop + 70, this.zLevel, 16, 52); + hydrotreater.tanks[1].renderTank(guiLeft + 53, guiTop + 70, this.zLevel, 16, 52); + hydrotreater.tanks[2].renderTank(guiLeft + 125, guiTop + 70, this.zLevel, 16, 52); + hydrotreater.tanks[3].renderTank(guiLeft + 143, guiTop + 70, this.zLevel, 16, 52); + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineLaunchTable.java b/src/main/java/com/hbm/inventory/gui/GUIMachineLaunchTable.java index fc4621b1f..c5373d331 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineLaunchTable.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineLaunchTable.java @@ -4,7 +4,7 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerLaunchTable; import com.hbm.items.weapon.ItemCustomMissile; -import com.hbm.items.weapon.ItemMissile.PartSize; +import com.hbm.items.weapon.ItemCustomMissilePart.PartSize; import com.hbm.lib.RefStrings; import com.hbm.packet.AuxButtonPacket; import com.hbm.packet.PacketDispatcher; diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineMiningDrill.java b/src/main/java/com/hbm/inventory/gui/GUIMachineMiningDrill.java deleted file mode 100644 index c027203dc..000000000 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineMiningDrill.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.hbm.inventory.gui; - -import org.lwjgl.opengl.GL11; - -import com.hbm.inventory.container.ContainerMachineMiningDrill; -import com.hbm.lib.RefStrings; -import com.hbm.tileentity.machine.TileEntityMachineMiningDrill; -import com.hbm.util.I18nUtil; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.resources.I18n; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.util.ResourceLocation; - -public class GUIMachineMiningDrill extends GuiInfoContainer { - - private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_drill.png"); - private TileEntityMachineMiningDrill diFurnace; - - public GUIMachineMiningDrill(InventoryPlayer invPlayer, TileEntityMachineMiningDrill tedf) { - super(new ContainerMachineMiningDrill(invPlayer, tedf)); - diFurnace = tedf; - - this.xSize = 176; - this.ySize = 166; - } - - @Override - public void drawScreen(int mouseX, int mouseY, float f) { - super.drawScreen(mouseX, mouseY, f); - - this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 8, guiTop + 69 - 52, 16, 52, diFurnace.power, diFurnace.maxPower); - - String[] upgradeText = new String[4]; - upgradeText[0] = I18nUtil.resolveKey("desc.gui.upgrade"); - upgradeText[1] = I18nUtil.resolveKey("desc.gui.upgrade.speed"); - upgradeText[2] = I18nUtil.resolveKey("desc.gui.upgrade.effectiveness"); - upgradeText[3] = I18nUtil.resolveKey("desc.gui.upgrade.power"); - this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 141, guiTop + 39, 8, 8, guiLeft + 100, guiTop + 39 + 16 + 8, upgradeText); - } - - @Override - protected void drawGuiContainerForegroundLayer(int i, int j) { - String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName()); - - this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); - this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); - } - - @Override - protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - Minecraft.getMinecraft().getTextureManager().bindTexture(texture); - drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); - - if(diFurnace.power > 0) { - int i = (int)diFurnace.getPowerScaled(52); - drawTexturedModalRect(guiLeft + 8, guiTop + 69 - i, 176, 52 - i, 16, i); - } - - int k = diFurnace.warning; - if(k == 2) - drawTexturedModalRect(guiLeft + 44, guiTop + 17, 192, 0, 16, 16); - if(k == 1) - drawTexturedModalRect(guiLeft + 44, guiTop + 17, 208, 0, 16, 16); - - this.drawInfoPanel(guiLeft + 141, guiTop + 39, 8, 8, 8); - } -} diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineRadGen.java b/src/main/java/com/hbm/inventory/gui/GUIMachineRadGen.java index 527de1e9f..a3361e662 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineRadGen.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineRadGen.java @@ -36,7 +36,7 @@ public class GUIMachineRadGen extends GuiInfoContainer { this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 65, guiTop + 18 + i * 5, 46, 5, new String[] { "Slot " + (i + 1) + ":", radgen.production[i] + "HE/t for", - (radgen.maxProgress[i] - radgen.progress[i]) + " ticks. (" + ((radgen.maxProgress[i] - radgen.progress[i]) * 100 / radgen.maxProgress[i]) + "%)" + (radgen.maxProgress[i] - radgen.progress[i]) + " ticks (" + ((radgen.maxProgress[i] - radgen.progress[i]) * 100 / radgen.maxProgress[i]) + "%)" }); } } diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineRadarNT.java b/src/main/java/com/hbm/inventory/gui/GUIMachineRadarNT.java index accefedf1..68fd71f77 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineRadarNT.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineRadarNT.java @@ -94,8 +94,8 @@ public class GUIMachineRadarNT extends GuiScreen { if(!radar.entries.isEmpty()) { for(RadarEntry m : radar.entries) { - int x = guiLeft + (int)((m.posX - radar.xCoord) / ((double) TileEntityMachineRadarNT.radarRange * 2 + 1) * (200D - 8D)) + 108; - int z = guiTop + (int)((m.posZ - radar.zCoord) / ((double) TileEntityMachineRadarNT.radarRange * 2 + 1) * (200D - 8D)) + 117; + int x = guiLeft + (int)((m.posX - radar.xCoord) / ((double) radar.getRange() * 2 + 1) * (200D - 8D)) + 108; + int z = guiTop + (int)((m.posZ - radar.zCoord) / ((double) radar.getRange() * 2 + 1) * (200D - 8D)) + 117; if(mouseX + 5 > x && mouseX - 4 <= x && mouseY + 5 > z && mouseY - 4 <= z) { @@ -107,8 +107,8 @@ public class GUIMachineRadarNT extends GuiScreen { } if(checkClick(mouseX, mouseY, 8, 17, 200, 200)) { - int tX = (int) ((lastMouseX - guiLeft - 108) * ((double) TileEntityMachineRadarNT.radarRange * 2 + 1) / 192D + radar.xCoord); - int tZ = (int) ((lastMouseY - guiTop - 117) * ((double) TileEntityMachineRadarNT.radarRange * 2 + 1) / 192D + radar.zCoord); + int tX = (int) ((lastMouseX - guiLeft - 108) * ((double) radar.getRange() * 2 + 1) / 192D + radar.xCoord); + int tZ = (int) ((lastMouseY - guiTop - 117) * ((double) radar.getRange() * 2 + 1) / 192D + radar.zCoord); this.func_146283_a(Arrays.asList(tX + " / " + tZ), lastMouseX, lastMouseY); } } @@ -190,8 +190,8 @@ public class GUIMachineRadarNT extends GuiScreen { if(!radar.entries.isEmpty()) { for(RadarEntry m : radar.entries) { - double x = (m.posX - radar.xCoord) / ((double) TileEntityMachineRadarNT.radarRange * 2 + 1) * (200D - 8D) - 4D; - double z = (m.posZ - radar.zCoord) / ((double) TileEntityMachineRadarNT.radarRange * 2 + 1) * (200D - 8D) - 4D; + double x = (m.posX - radar.xCoord) / ((double) radar.getRange() * 2 + 1) * (200D - 8D) - 4D; + double z = (m.posZ - radar.zCoord) / ((double) radar.getRange() * 2 + 1) * (200D - 8D) - 4D; int t = m.blipLevel; drawTexturedModalRectDouble(guiLeft + 108 + x, guiTop + 117 + z, 216, 8 * t, 8, 8); } @@ -226,8 +226,8 @@ public class GUIMachineRadarNT extends GuiScreen { if(!radar.entries.isEmpty()) { for(RadarEntry m : radar.entries) { - int x = guiLeft + (int) ((m.posX - radar.xCoord) / ((double) TileEntityMachineRadarNT.radarRange * 2 + 1) * (200D - 8D)) + 108; - int z = guiTop + (int) ((m.posZ - radar.zCoord) / ((double) TileEntityMachineRadarNT.radarRange * 2 + 1) * (200D - 8D)) + 117; + int x = guiLeft + (int) ((m.posX - radar.xCoord) / ((double) radar.getRange() * 2 + 1) * (200D - 8D)) + 108; + int z = guiTop + (int) ((m.posZ - radar.zCoord) / ((double) radar.getRange() * 2 + 1) * (200D - 8D)) + 117; if(lastMouseX + 5 > x && lastMouseX - 4 <= x && lastMouseY + 5 > z && lastMouseY - 4 <= z) { NBTTagCompound data = new NBTTagCompound(); @@ -239,8 +239,8 @@ public class GUIMachineRadarNT extends GuiScreen { } } - int tX = (int) ((lastMouseX - guiLeft - 108) * ((double) TileEntityMachineRadarNT.radarRange * 2 + 1) / 192D + radar.xCoord); - int tZ = (int) ((lastMouseY - guiTop - 117) * ((double) TileEntityMachineRadarNT.radarRange * 2 + 1) / 192D + radar.zCoord); + int tX = (int) ((lastMouseX - guiLeft - 108) * ((double) radar.getRange() * 2 + 1) / 192D + radar.xCoord); + int tZ = (int) ((lastMouseY - guiTop - 117) * ((double) radar.getRange() * 2 + 1) / 192D + radar.zCoord); NBTTagCompound data = new NBTTagCompound(); data.setInteger("launchPosX", tX); data.setInteger("launchPosZ", tZ); diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineRadarNTSlots.java b/src/main/java/com/hbm/inventory/gui/GUIMachineRadarNTSlots.java index 77f1f3a60..2c9338326 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineRadarNTSlots.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineRadarNTSlots.java @@ -52,6 +52,7 @@ public class GUIMachineRadarNTSlots extends GuiInfoContainer { @Override protected void drawGuiContainerForegroundLayer(int i, int j) { String name = this.radar.hasCustomInventoryName() ? this.radar.getInventoryName() : I18n.format(this.radar.getInventoryName()); + if(MainRegistry.polaroidID == 11) name = "Reda"; this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); } diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineRefinery.java b/src/main/java/com/hbm/inventory/gui/GUIMachineRefinery.java index c271c162d..04b901816 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineRefinery.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineRefinery.java @@ -5,15 +5,11 @@ import org.lwjgl.opengl.GL11; import com.hbm.inventory.container.ContainerMachineRefinery; import com.hbm.inventory.fluid.Fluids; import com.hbm.lib.RefStrings; -import com.hbm.packet.NBTControlPacket; -import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.machine.oil.TileEntityMachineRefinery; import net.minecraft.client.Minecraft; -import net.minecraft.client.audio.PositionedSoundRecord; import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.ResourceLocation; public class GUIMachineRefinery extends GuiInfoContainer { @@ -40,18 +36,6 @@ public class GUIMachineRefinery extends GuiInfoContainer { refinery.tanks[4].renderTankInfo(this, mouseX, mouseY, guiLeft + 134, guiTop + 70 - 52, 16, 52); this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 8, guiTop + 70 - 52, 16, 52, refinery.power, refinery.maxPower); } - - @Override - protected void mouseClicked(int x, int y, int i) { - super.mouseClicked(x, y, i); - - if(guiLeft + 64 <= x && guiLeft + 76 > x && guiTop + 20 < y && guiTop + 46 >= y) { - mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); - NBTTagCompound data = new NBTTagCompound(); - data.setBoolean("toggle", true); //we only need to send one bit, so boolean it is - PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, refinery.xCoord, refinery.yCoord, refinery.zCoord)); - } - } @Override protected void drawGuiContainerForegroundLayer(int i, int j) { diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineSelenium.java b/src/main/java/com/hbm/inventory/gui/GUIMachineSelenium.java deleted file mode 100644 index 9c34f199d..000000000 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineSelenium.java +++ /dev/null @@ -1,121 +0,0 @@ -package com.hbm.inventory.gui; - -import java.util.ArrayList; -import java.util.List; -import org.lwjgl.opengl.GL11; - -import com.hbm.inventory.container.ContainerMachineSelenium; -import com.hbm.inventory.fluid.FluidType; -import com.hbm.inventory.fluid.Fluids; -import com.hbm.lib.RefStrings; -import com.hbm.tileentity.machine.TileEntityMachineSeleniumEngine; -import com.hbm.util.BobMathUtil; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.resources.I18n; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.ResourceLocation; - -public class GUIMachineSelenium extends GuiInfoContainer { - - private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_selenium.png"); - private TileEntityMachineSeleniumEngine selenium; - - public GUIMachineSelenium(InventoryPlayer invPlayer, TileEntityMachineSeleniumEngine tedf) { - super(new ContainerMachineSelenium(invPlayer, tedf)); - selenium = tedf; - - this.xSize = 176; - this.ySize = 222; - } - - @Override - public void drawScreen(int mouseX, int mouseY, float f) { - super.drawScreen(mouseX, mouseY, f); - - selenium.tank.renderTankInfo(this, mouseX, mouseY, guiLeft + 116, guiTop + 18, 16, 52); - this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 8, guiTop + 108, 160, 16, selenium.power, selenium.powerCap); - - List text = new ArrayList(); - text.add(EnumChatFormatting.YELLOW + "Accepted Fuels:"); - - for(FluidType type : Fluids.getInNiceOrder()) { - long energy = selenium.getHEFromFuel(type); - - if(energy > 0) - text.add(" " + type.getLocalizedName() + " (" + BobMathUtil.getShortNumber(energy) + "HE/t)"); - } - - text.add(EnumChatFormatting.ITALIC + "(These numbers are base values,"); - text.add(EnumChatFormatting.ITALIC + "actual output is based"); - text.add(EnumChatFormatting.ITALIC + "on piston count)"); - - this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36, 16, 16, guiLeft - 8, guiTop + 36 + 16, text.toArray(new String[0])); - - String[] text1 = new String[] { "Fuel consumption rate:", - " 1 mB/t", - " 20 mB/s", - "(Consumption rate per piston)" }; - this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36 + 16, 16, 16, guiLeft - 8, guiTop + 36 + 16, text1); - - if(selenium.pistonCount < 3) { - - String[] text2 = new String[] { "Error: At least three pistons are", - "required to operate this radial engine!" }; - this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36 + 32, 16, 16, guiLeft - 8, guiTop + 36 + 16 + 32, text2); - } - - if(!selenium.hasAcceptableFuel()) { - - String[] text2 = new String[] { "Error: The currently set fuel type", - "is not supported by this engine!" }; - this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36 + 48, 16, 16, guiLeft - 8, guiTop + 36 + 16 + 32, text2); - } - } - - @Override - protected void drawGuiContainerForegroundLayer(int i, int j) { - String name = this.selenium.hasCustomInventoryName() ? this.selenium.getInventoryName() : I18n.format(this.selenium.getInventoryName()); - - this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); - this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); - } - - @Override - protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - Minecraft.getMinecraft().getTextureManager().bindTexture(texture); - drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); - - if(selenium.power > 0) { - int i = (int)selenium.getPowerScaled(160); - - i = (int) Math.min(i, 160); - - drawTexturedModalRect(guiLeft + 8, guiTop + 108, 0, 222, i, 16); - } - - if(selenium.tank.getFill() > 0 && selenium.hasAcceptableFuel() && selenium.pistonCount > 2) - { - drawTexturedModalRect(guiLeft + 115, guiTop + 71, 192, 0, 18, 18); - } - - if(selenium.pistonCount > 0) - { - int k = selenium.pistonCount; - drawTexturedModalRect(guiLeft + 26, guiTop + 81, 176, 52 + 16 * k - 16, 16, 16); - } - - if(selenium.pistonCount < 3) - this.drawInfoPanel(guiLeft - 16, guiTop + 36 + 32, 16, 16, 6); - - if(!selenium.hasAcceptableFuel()) - this.drawInfoPanel(guiLeft - 16, guiTop + 36 + 48, 16, 16, 7); - - this.drawInfoPanel(guiLeft - 16, guiTop + 36, 16, 16, 2); - this.drawInfoPanel(guiLeft - 16, guiTop + 36 + 16, 16, 16, 3); - - selenium.tank.renderTank(guiLeft + 80 + 36, guiTop + 70, this.zLevel, 16, 52); - } -} diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineStrandCaster.java b/src/main/java/com/hbm/inventory/gui/GUIMachineStrandCaster.java new file mode 100644 index 000000000..f30b6d7a1 --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineStrandCaster.java @@ -0,0 +1,96 @@ +package com.hbm.inventory.gui; + +import com.hbm.inventory.container.ContainerMachineStrandCaster; +import com.hbm.inventory.material.Mats; +import com.hbm.lib.RefStrings; +import com.hbm.tileentity.machine.TileEntityMachineStrandCaster; +import com.hbm.util.I18nUtil; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.ResourceLocation; +import org.lwjgl.input.Keyboard; +import org.lwjgl.opengl.GL11; + +import java.awt.*; +import java.util.ArrayList; +import java.util.List; + +public class GUIMachineStrandCaster extends GuiInfoContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/processing/gui_strand_caster.png"); + private TileEntityMachineStrandCaster caster; + + public GUIMachineStrandCaster(InventoryPlayer invPlayer, TileEntityMachineStrandCaster tedf) { + super(new ContainerMachineStrandCaster(invPlayer, tedf)); + caster = tedf; + + this.xSize = 176; + this.ySize = 214; + } + + @Override + public void drawScreen(int x, int y, float interp) { + super.drawScreen(x, y, interp); + + drawStackInfo(x, y, 16, 17); + + caster.water.renderTankInfo(this, x, y, guiLeft + 82, guiTop + 14, 16, 24); + caster.steam.renderTankInfo(this, x, y, guiLeft + 82, guiTop + 65, 16, 24); + } + + @Override + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.caster.hasCustomInventoryName() ? this.caster.getInventoryName() : I18n.format(this.caster.getInventoryName()); + + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 4, 0xffffff); + this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + if(caster.amount != 0) { + + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); + + int targetHeight = Math.min((caster.amount) * 79 / caster.getCapacity(), 92); + + int hex = caster.type.moltenColor; + // hex = 0xC18336; + Color color = new Color(hex); + GL11.glColor3f(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F); + drawTexturedModalRect(guiLeft + 17, guiTop + 93 - targetHeight, 176, 89 - targetHeight, 34, targetHeight); + GL11.glEnable(GL11.GL_BLEND); + GL11.glColor4f(1F, 1F, 1F, 0.3F); + drawTexturedModalRect(guiLeft + 17, guiTop + 93 - targetHeight, 176, 89 - targetHeight, 34, targetHeight); + GL11.glDisable(GL11.GL_BLEND); + + } + OpenGlHelper.glBlendFunc(770, 771, 1, 0); + GL11.glColor3f(255, 255, 255); + + caster.water.renderTank(guiLeft + 82, guiTop + 38, this.zLevel, 16, 24); + caster.steam.renderTank(guiLeft + 82, guiTop + 89, this.zLevel, 16, 24); + + } + + protected void drawStackInfo(int mouseX, int mouseY, int x, int y) { + + List list = new ArrayList(); + + if(caster.type == null) + list.add(EnumChatFormatting.RED + "Empty"); + else + list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey(caster.type.getUnlocalizedName()) + ": " + Mats.formatAmount(caster.amount, Keyboard.isKeyDown(Keyboard.KEY_LSHIFT))); + + this.drawCustomInfoStat(mouseX, mouseY, guiLeft + x, guiTop + y, 36, 81, mouseX, mouseY, list); + } + +} diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineTurbineGas.java b/src/main/java/com/hbm/inventory/gui/GUIMachineTurbineGas.java index 4646f4e88..e691bffc9 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineTurbineGas.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineTurbineGas.java @@ -202,8 +202,6 @@ public class GUIMachineTurbineGas extends GuiInfoContainer { public void displayStartup() { - boolean displayOn = true; - if(numberToDisplay < 888888 && turbinegas.counter < 60) { //48 frames needed to complete digitNumber++; diff --git a/src/main/java/com/hbm/inventory/gui/GUINukeN45.java b/src/main/java/com/hbm/inventory/gui/GUINukeN45.java deleted file mode 100644 index 055cc2a30..000000000 --- a/src/main/java/com/hbm/inventory/gui/GUINukeN45.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.hbm.inventory.gui; - -import org.lwjgl.opengl.GL11; - -import com.hbm.inventory.container.ContainerNukeN45; -import com.hbm.lib.RefStrings; -import com.hbm.tileentity.bomb.TileEntityNukeN45; -import net.minecraft.client.Minecraft; -import net.minecraft.client.resources.I18n; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.util.ResourceLocation; - -public class GUINukeN45 extends GuiInfoContainer { - - public static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/gui_n45.png"); - private TileEntityNukeN45 diFurnace; - - public GUINukeN45(InventoryPlayer invPlayer, TileEntityNukeN45 tedf) { - super(new ContainerNukeN45(invPlayer, tedf)); - diFurnace = tedf; - - this.xSize = 176; - this.ySize = 168; - } - - @Override - public void drawScreen(int mouseX, int mouseY, float f) { - super.drawScreen(mouseX, mouseY, f); - - String[] text = new String[] { "The first slot holds the payload.", - "Acceptable payloads:", - " -Det Cord", - " -TNT", - " -Explosive Charge", - " -Nuclear Charge", - "Using detonator while in mine mode will", - "arm the mine, set to explode when", - "it detects a large entity nearby."}; - this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36, 16, 16, guiLeft - 8, guiTop + 36 + 16, text); - - String[] text1 = new String[] { "The second slot is for green machine", - "upgrades. Entity detection range increases", - "by 5 blocks for every level.", - "When left empty, the mine can not be armed", - "an will behave like a regular bomb." }; - this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 16, guiTop + 36 + 16, 16, 16, guiLeft - 8, guiTop + 36 + 16, text1); - - if(diFurnace.primed) - this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 121, guiTop + 22, 6, 8, mouseX, mouseY, new String[]{ "Mine armed!" } ); - } - - @Override - protected void drawGuiContainerForegroundLayer(int i, int j) { - String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName()); - - this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); - this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); - } - - @Override - protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - Minecraft.getMinecraft().getTextureManager().bindTexture(texture); - drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); - - if(diFurnace.primed) { - drawTexturedModalRect(guiLeft + 121, guiTop + 22, 176, 0, 6, 8); - } - - this.drawInfoPanel(guiLeft - 16, guiTop + 36, 16, 16, 2); - this.drawInfoPanel(guiLeft - 16, guiTop + 36 + 16, 16, 16, 3); - } -} diff --git a/src/main/java/com/hbm/inventory/gui/GUIPWR.java b/src/main/java/com/hbm/inventory/gui/GUIPWR.java index 338f4be99..d60c3bece 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIPWR.java +++ b/src/main/java/com/hbm/inventory/gui/GUIPWR.java @@ -62,7 +62,7 @@ public class GUIPWR extends GuiInfoContainer { super.drawScreen(x, y, interp); this.drawCustomInfoStat(x, y, guiLeft + 115, guiTop + 31, 18, 18, x, y, new String[] { "Core: " + String.format(Locale.US, "%,d", controller.coreHeat) + " / " + String.format(Locale.US, "%,d", controller.coreHeatCapacity) + " TU" }); - this.drawCustomInfoStat(x, y, guiLeft + 151, guiTop + 31, 18, 18, x, y, new String[] { "Hull: " + String.format(Locale.US, "%,d", controller.hullHeat) + " / " + String.format(Locale.US, "%,d", controller.hullHeatCapacity) + " TU" }); + this.drawCustomInfoStat(x, y, guiLeft + 151, guiTop + 31, 18, 18, x, y, new String[] { "Hull: " + String.format(Locale.US, "%,d", controller.hullHeat) + " / " + String.format(Locale.US, "%,d", controller.hullHeatCapacityBase) + " TU" }); this.drawCustomInfoStat(x, y, guiLeft + 52, guiTop + 31, 36, 18, x, y, new String[] { ((int) (controller.progress * 100 / controller.processTime)) + "%" }); this.drawCustomInfoStat(x, y, guiLeft + 52, guiTop + 53, 54, 4, x, y, "Control rod level: " + (100 - controller.rodLevel) + "%"); @@ -110,7 +110,7 @@ public class GUIPWR extends GuiInfoContainer { Minecraft.getMinecraft().getTextureManager().bindTexture(texture); drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); - if(controller.hullHeat > controller.hullHeatCapacity * 0.8 || controller.coreHeat > controller.coreHeatCapacity * 0.8) + if(controller.hullHeat > controller.hullHeatCapacityBase * 0.8 || controller.coreHeat > controller.coreHeatCapacity * 0.8) drawTexturedModalRect(guiLeft + 147, guiTop, 176, 14, 26, 26); int p = (int) (controller.progress * 33 / controller.processTime); @@ -123,7 +123,7 @@ public class GUIPWR extends GuiInfoContainer { //GaugeUtil.renderGauge(Gauge.ROUND_SMALL, guiLeft + 151, guiTop + 31, this.zLevel, (double) controller.hullHeat / (double) controller.hullHeatCapacity); GaugeUtil.drawSmoothGauge(guiLeft + 124, guiTop + 40, this.zLevel, (double) controller.coreHeat / (double) controller.coreHeatCapacity, 5, 2, 1, 0x7F0000); - GaugeUtil.drawSmoothGauge(guiLeft + 160, guiTop + 40, this.zLevel, (double) controller.hullHeat / (double) controller.hullHeatCapacity, 5, 2, 1, 0x7F0000); + GaugeUtil.drawSmoothGauge(guiLeft + 160, guiTop + 40, this.zLevel, (double) controller.hullHeat / (double) controller.hullHeatCapacityBase, 5, 2, 1, 0x7F0000); if(controller.typeLoaded != -1 && controller.amountLoaded > 0) { ItemStack display = new ItemStack(ModItems.pwr_fuel, 1, controller.typeLoaded); diff --git a/src/main/java/com/hbm/inventory/gui/GUIReactorMultiblock.java b/src/main/java/com/hbm/inventory/gui/GUIReactorMultiblock.java deleted file mode 100644 index 7cf44051e..000000000 --- a/src/main/java/com/hbm/inventory/gui/GUIReactorMultiblock.java +++ /dev/null @@ -1,189 +0,0 @@ -package com.hbm.inventory.gui; - -import org.lwjgl.opengl.GL11; - -import com.hbm.inventory.container.ContainerReactorMultiblock; -import com.hbm.inventory.fluid.FluidType; -import com.hbm.inventory.fluid.Fluids; -import com.hbm.lib.RefStrings; -import com.hbm.packet.AuxButtonPacket; -import com.hbm.packet.PacketDispatcher; -import com.hbm.tileentity.machine.TileEntityMachineReactorLarge; -import net.minecraft.client.Minecraft; -import net.minecraft.client.audio.PositionedSoundRecord; -import net.minecraft.client.resources.I18n; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.util.ResourceLocation; - -public class GUIReactorMultiblock extends GuiInfoContainer { - - private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_reactor_large_experimental.png"); - private TileEntityMachineReactorLarge diFurnace; - - public GUIReactorMultiblock(InventoryPlayer invPlayer, TileEntityMachineReactorLarge tedf) { - super(new ContainerReactorMultiblock(invPlayer, tedf)); - diFurnace = tedf; - - this.xSize = 176; - this.ySize = 222; - } - - @Override - public void drawScreen(int mouseX, int mouseY, float f) { - super.drawScreen(mouseX, mouseY, f); - - diFurnace.tanks[0].renderTankInfo(this, mouseX, mouseY, guiLeft + 8, guiTop + 88 - 52, 16, 52); - diFurnace.tanks[1].renderTankInfo(this, mouseX, mouseY, guiLeft + 26, guiTop + 88 - 52, 16, 52); - diFurnace.tanks[2].renderTankInfo(this, mouseX, mouseY, guiLeft + 80, guiTop + 108, 88, 4); - this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 80, guiTop + 114, 88, 4, new String[] { "Hull Temperature:", " " + Math.round((diFurnace.hullHeat) * 0.00001 * 980 + 20) + "°C" }); - this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 80, guiTop + 120, 88, 4, new String[] { "Core Temperature:", " " + Math.round((diFurnace.coreHeat) * 0.00002 * 980 + 20) + "°C" }); - - this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 115, guiTop + 17, 18, 90, new String[] { "Operating Level: " + diFurnace.rods + "%" }); - - String fuel = ""; - - switch(diFurnace.type) { - case URANIUM: - fuel = "Uranium"; - break; - case MOX: - fuel = "MOX"; - break; - case PLUTONIUM: - fuel = "Plutonium"; - break; - case SCHRABIDIUM: - fuel = "Schrabidium"; - break; - case THORIUM: - fuel = "Thorium"; - break; - default: - fuel = "ERROR"; - break; - } - - this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 98, guiTop + 18, 16, 88, new String[] { fuel + ": " + (diFurnace.fuel / diFurnace.fuelMult) + "/" + (diFurnace.maxFuel / diFurnace.fuelMult) + "ng" }); - this.drawCustomInfo(this, mouseX, mouseY, guiLeft + 134, guiTop + 18, 16, 88, new String[] { "Depleted " + fuel + ": " + (diFurnace.waste / diFurnace.fuelMult) + "/" + (diFurnace.maxWaste / diFurnace.fuelMult) + "ng" }); - - String[] text0 = new String[] { diFurnace.rods > 0 ? "Reactor is ON" : "Reactor is OFF"}; - this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 52, guiTop + 53, 18, 18, mouseX, mouseY, text0); - - String s = "0"; - - FluidType type = diFurnace.tanks[2].getTankType(); - if(type == Fluids.STEAM) s = "1x"; - if(type == Fluids.HOTSTEAM) s = "10x"; - if(type == Fluids.SUPERHOTSTEAM) s = "100x"; - - String[] text4 = new String[] { "Steam compression switch", - "Current compression level: " + s}; - this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 63, guiTop + 107, 14, 18, mouseX, mouseY, text4); - } - - protected void mouseClicked(int x, int y, int i) { - super.mouseClicked(x, y, i); - - if(guiLeft + 115 <= x && guiLeft + 115 + 18 > x && guiTop + 17 < y && guiTop + 17 + 90 >= y) { - - mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); - - int rods = (y - (guiTop + 24)) * 100 / 76; - - if(rods < 0) - rods = 0; - - if(rods > 100) - rods = 100; - - rods = 100 - rods; - - PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(diFurnace.xCoord, diFurnace.yCoord, diFurnace.zCoord, rods, 0)); - } - - if(guiLeft + 63 <= x && guiLeft + 63 + 14 > x && guiTop + 107 < y && guiTop + 107 + 18 >= y) { - - mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); - int c = 0; - - FluidType type = diFurnace.tanks[2].getTankType(); - if(type == Fluids.STEAM) c = 0; - if(type == Fluids.HOTSTEAM) c = 1; - if(type == Fluids.SUPERHOTSTEAM) c = 2; - - PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(diFurnace.xCoord, diFurnace.yCoord, diFurnace.zCoord, c, 1)); - } - } - - @Override - protected void drawGuiContainerForegroundLayer(int i, int j) { - String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName()); - - this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); - this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); - } - - @Override - protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - Minecraft.getMinecraft().getTextureManager().bindTexture(texture); - drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); - - int k = diFurnace.rods; - drawTexturedModalRect(guiLeft + 115, guiTop + 107 - 14 - (k * 76 / 100), 208, 36, 18, 14); - - if(diFurnace.rods > 0) - drawTexturedModalRect(guiLeft + 52, guiTop + 53, 212, 0, 18, 18); - - int q = diFurnace.getFuelScaled(88); - drawTexturedModalRect(guiLeft + 98, guiTop + 106 - q, 176, 124 - q, 16, q); - - int j = diFurnace.getWasteScaled(88); - drawTexturedModalRect(guiLeft + 134, guiTop + 106 - j, 192, 124 - j, 16, j); - - int s = diFurnace.size; - - if(s < 8) - drawTexturedModalRect(guiLeft + 50, guiTop + 17, 208, 50 + s * 18, 22, 18); - else - drawTexturedModalRect(guiLeft + 50, guiTop + 17, 230, 50 + (s - 8) * 18, 22, 18); - - - FluidType type = diFurnace.tanks[2].getTankType(); - if(type == Fluids.STEAM) drawTexturedModalRect(guiLeft + 63, guiTop + 107, 176, 18, 14, 18); - if(type == Fluids.HOTSTEAM) drawTexturedModalRect(guiLeft + 63, guiTop + 107, 190, 18, 14, 18); - if(type == Fluids.SUPERHOTSTEAM) drawTexturedModalRect(guiLeft + 63, guiTop + 107, 204, 18, 14, 18); - - if(diFurnace.hasHullHeat()) { - int i = diFurnace.getHullHeatScaled(88); - - i = (int) Math.min(i, 160); - - drawTexturedModalRect(guiLeft + 80, guiTop + 114, 0, 226, i, 4); - } - - if(diFurnace.hasCoreHeat()) { - int i = diFurnace.getCoreHeatScaled(88); - - i = (int) Math.min(i, 160); - - drawTexturedModalRect(guiLeft + 80, guiTop + 120, 0, 230, i, 4); - } - - if(diFurnace.tanks[2].getFill() > 0) { - int i = diFurnace.getSteamScaled(88); - - //i = (int) Math.min(i, 160); - - int offset = 234; - - if(type == Fluids.HOTSTEAM) offset += 4; - if(type == Fluids.SUPERHOTSTEAM) offset += 8; - - drawTexturedModalRect(guiLeft + 80, guiTop + 108, 0, offset, i, 4); - } - - diFurnace.tanks[0].renderTank(guiLeft + 8, guiTop + 88, this.zLevel, 16, 52); - diFurnace.tanks[1].renderTank(guiLeft + 26, guiTop + 88, this.zLevel, 16, 52); - } -} diff --git a/src/main/java/com/hbm/inventory/gui/GUIScreenBobble.java b/src/main/java/com/hbm/inventory/gui/GUIScreenBobble.java index 52998b48a..edd779896 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIScreenBobble.java +++ b/src/main/java/com/hbm/inventory/gui/GUIScreenBobble.java @@ -1,8 +1,14 @@ package com.hbm.inventory.gui; +import java.util.ArrayList; +import java.util.List; +import java.lang.Math; + import org.lwjgl.opengl.GL11; +import com.hbm.blocks.generic.BlockBobble.BobbleType; import com.hbm.blocks.generic.BlockBobble.TileEntityBobble; +import com.hbm.util.Tuple.Pair; import net.minecraft.client.audio.PositionedSoundRecord; import net.minecraft.client.gui.GuiScreen; @@ -59,6 +65,8 @@ public class GUIScreenBobble extends GuiScreen { nextLevel += 10; String bobbleName = this.bobble.type.name; + if(this.bobble.type == BobbleType.MELLOW) + bobbleName = anagramIt(bobbleName, "GEORGEWILLIAMPATON"); this.fontRendererObj.drawStringWithShadow(bobbleName, (int)(left + sizeX / 2 - this.fontRendererObj.getStringWidth(bobbleName) / 2), nextLevel, 0x009900); nextLevel += 20; @@ -110,4 +118,49 @@ public class GUIScreenBobble extends GuiScreen { public boolean doesGuiPauseGame() { return false; } + + // Animates the letters (from -> to) back and forth over 1.5 seconds + private String anagramIt(String from, String to) { + double t = Math.sin((double)System.currentTimeMillis() / 1500.0) * 0.75 + 0.5; + + char[] lettersFrom = from.toCharArray(); + char[] lettersTo = to.toCharArray(); + boolean[] hasPairedLetter = new boolean[lettersFrom.length]; + List> letterTargets = new ArrayList>(); + + for(int i = 0; i < lettersFrom.length; i++) { + char letterFrom = lettersFrom[i]; + for(int o = 0; o < lettersTo.length; o++) { + char letterTo = lettersTo[o]; + if(letterFrom == letterTo && !hasPairedLetter[o]) { + double v = lerp((double)i, (double)o, t); + letterTargets.add(new Pair(v, lettersFrom[i])); + hasPairedLetter[o] = true; + break; + } + } + } + + for(int i = 0; i < letterTargets.size(); i++) { + for (int j = i + 1; j < letterTargets.size(); j++) { + if (letterTargets.get(i).key > letterTargets.get(j).key) { + Pair temp = letterTargets.get(i); + letterTargets.set(i, letterTargets.get(j)); + letterTargets.set(j, temp); + } + } + } + + String anagrammedText = ""; + for(Pair in : letterTargets) { + anagrammedText += in.value; + } + + return anagrammedText; + } + + private double lerp(double a, double b, double t) { + t = Math.max(Math.min(t, 1), 0); + return a * (1 - t) + b * t; + } } diff --git a/src/main/java/com/hbm/inventory/gui/GUIScreenFluid.java b/src/main/java/com/hbm/inventory/gui/GUIScreenFluid.java index 8d0105f14..e72526ced 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIScreenFluid.java +++ b/src/main/java/com/hbm/inventory/gui/GUIScreenFluid.java @@ -67,6 +67,7 @@ public class GUIScreenFluid extends GuiScreen { this.search.setTextColor(-1); this.search.setDisabledTextColour(-1); this.search.setEnableBackgroundDrawing(false); + this.search.setFocused(true); if(player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.fluid_identifier_multi) { this.primary = ItemFluidIDMulti.getType(player.getHeldItem(), true); diff --git a/src/main/java/com/hbm/inventory/gui/GUIScreenPreview.java b/src/main/java/com/hbm/inventory/gui/GUIScreenPreview.java new file mode 100644 index 000000000..0165aa62d --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIScreenPreview.java @@ -0,0 +1,112 @@ +package com.hbm.inventory.gui; + +import org.lwjgl.input.Mouse; +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; + +import com.hbm.lib.RefStrings; + +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.gui.ScaledResolution; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.renderer.RenderHelper; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; + +public class GUIScreenPreview extends GuiScreen { + + protected static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/nei/gui_nei.png"); + protected ItemStack preview; + protected int zoom = 1; + + public GUIScreenPreview(ItemStack stack) { + this.preview = stack; + } + + public void drawScreen(int mouseX, int mouseY, float f) { + + if(this.mc.theWorld != null) { + this.drawRect(0, 0, this.width, this.height, 0xFFC6C6C6); + } else { + this.drawBackground(0); + } + + if(!Mouse.isButtonDown(0) && !Mouse.isButtonDown(1) && Mouse.next()) { + int scroll = Mouse.getEventDWheel(); + + if(scroll < 0 && this.zoom > 1) this.zoom--; + if(scroll > 0 && this.zoom < 15) this.zoom++; + } + + this.drawGuiContainerBackgroundLayer(f, mouseX, mouseY); + GL11.glDisable(GL11.GL_LIGHTING); + this.drawGuiContainerForegroundLayer(mouseX, mouseY); + GL11.glEnable(GL11.GL_LIGHTING); + } + + protected void drawGuiContainerBackgroundLayer(float f, int mouseX, int mouseY) { + GL11.glPushMatrix(); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + this.mc.getTextureManager().bindTexture(texture); + ScaledResolution res = new ScaledResolution(this.mc, this.mc.displayWidth, this.mc.displayHeight); + GL11.glScaled(zoom, zoom, zoom); + this.drawTexturedModalRect(res.getScaledWidth_double() / 2D / zoom - 9D, res.getScaledHeight_double() / 2D / zoom - 9D, 5, 87, 18, 18); + GL11.glPopMatrix(); + + String zoomString = "Zoom: " + zoom; + String scaleString = "Windows Scale: " + res.getScaleFactor(); + this.fontRendererObj.drawString(zoomString, this.width - this.fontRendererObj.getStringWidth(zoomString) - 2, this.height - 20, 0xff0000); + this.fontRendererObj.drawString(scaleString, this.width - this.fontRendererObj.getStringWidth(scaleString) - 2, this.height - 10, 0xff0000); + } + + public void drawTexturedModalRect(double x, double y, int sourceX, int sourceY, int sizeX, int sizeY) { + double f = 0.00390625D; + double f1 = 0.00390625D; + Tessellator tessellator = Tessellator.instance; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double) (x + 0), (double) (y + sizeY), (double) this.zLevel, (double) ((float) (sourceX + 0) * f), (double) ((float) (sourceY + sizeY) * f1)); + tessellator.addVertexWithUV((double) (x + sizeX), (double) (y + sizeY), (double) this.zLevel, (double) ((float) (sourceX + sizeX) * f), (double) ((float) (sourceY + sizeY) * f1)); + tessellator.addVertexWithUV((double) (x + sizeX), (double) (y + 0), (double) this.zLevel, (double) ((float) (sourceX + sizeX) * f), (double) ((float) (sourceY + 0) * f1)); + tessellator.addVertexWithUV((double) (x + 0), (double) (y + 0), (double) this.zLevel, (double) ((float) (sourceX + 0) * f), (double) ((float) (sourceY + 0) * f1)); + tessellator.draw(); + } + + protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY) { + + if(preview == null) return; + + GL11.glPushMatrix(); + RenderHelper.enableGUIStandardItemLighting(); + OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240F, 240F); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_DEPTH_TEST); + + GL11.glScaled(zoom, zoom, zoom); + + ScaledResolution res = new ScaledResolution(this.mc, this.mc.displayWidth, this.mc.displayHeight); + GL11.glTranslated(res.getScaledWidth_double() / 2D / zoom, res.getScaledHeight_double() / 2D / zoom, -200); + + this.zLevel = 200.0F; + itemRender.zLevel = 200.0F; + + GL11.glEnable(GL11.GL_DEPTH_TEST); + itemRender.renderItemAndEffectIntoGUI(this.fontRendererObj, this.mc.getTextureManager(), preview, -8, -8); + itemRender.renderItemOverlayIntoGUI(this.fontRendererObj, this.mc.getTextureManager(), preview, -8, -8, null); + + itemRender.zLevel = 0.0F; + this.zLevel = 0.0F; + + GL11.glPopMatrix(); + } + + @Override + protected void keyTyped(char c, int key) { + if(key == 1 || key == this.mc.gameSettings.keyBindInventory.getKeyCode()) { + this.mc.thePlayer.closeScreen(); + } + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUIScreenRadioTorchLogic.java b/src/main/java/com/hbm/inventory/gui/GUIScreenRadioTorchLogic.java new file mode 100644 index 000000000..c78ea3061 --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIScreenRadioTorchLogic.java @@ -0,0 +1,200 @@ +package com.hbm.inventory.gui; + +import java.util.Arrays; + +import org.lwjgl.input.Keyboard; +import org.lwjgl.input.Mouse; +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; +import com.hbm.packet.NBTControlPacket; +import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.network.TileEntityRadioTorchLogic; +import com.hbm.util.I18nUtil; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.audio.PositionedSoundRecord; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.gui.GuiTextField; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; + +public class GUIScreenRadioTorchLogic extends GuiScreen { + + protected static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/machine/gui_rtty_logic_receiver.png"); + + protected TileEntityRadioTorchLogic logic; + protected GuiTextField frequency; + protected GuiTextField[] map; + protected int[] conditions; //so the 'save settings' paradigm applies to the conditions, too + + protected static final int xSize = 256; + protected static final int ySize = 204; + protected int guiLeft; + protected int guiTop; + + public GUIScreenRadioTorchLogic(TileEntityRadioTorchLogic logic) { + this.logic = logic; + } + + @Override + public void initGui() { + super.initGui(); + this.guiLeft = (this.width - this.xSize) / 2; + this.guiTop = (this.height - this.ySize) / 2; + + Keyboard.enableRepeatEvents(true); + + int oX = 4; + int oY = 4; + + this.frequency = new GuiTextField(this.fontRendererObj, guiLeft + 25 + oX, guiTop + 17 + oY, 90 - oX * 2, 14); + this.frequency.setTextColor(0x00ff00); + this.frequency.setDisabledTextColour(0x00ff00); + this.frequency.setEnableBackgroundDrawing(false); + this.frequency.setMaxStringLength(10); + this.frequency.setText(logic.channel == null ? "" : logic.channel); + + this.map = new GuiTextField[16]; + this.conditions = new int[16]; + + for(int i = 0; i < 16; i++) { + this.map[i] = new GuiTextField(this.fontRendererObj, guiLeft + 7 + (130 * (i / 8)) + oX + 18, guiTop + 53 + (18 * (i % 8)) + oY, 54 - oX * 2, 14); + this.map[i].setTextColor(0x00ff00); + this.map[i].setDisabledTextColour(0x00ff00); + this.map[i].setEnableBackgroundDrawing(false); + this.map[i].setMaxStringLength(15); + this.map[i].setText(logic.mapping[i] == null ? "" : logic.mapping[i]); + + this.conditions[i] = logic.conditions[i]; + } + } + + @Override + public void drawScreen(int x, int y, float f) { + this.drawDefaultBackground(); + this.drawGuiContainerBackgroundLayer(f, x, y); + GL11.glDisable(GL11.GL_LIGHTING); + this.drawGuiContainerForegroundLayer(x, y); + GL11.glEnable(GL11.GL_LIGHTING); + //easy selection + if(guiLeft > x && guiLeft + xSize <= x && guiTop > y && guiTop + ySize <= y) return; + + if(!Mouse.isButtonDown(0) && !Mouse.isButtonDown(1) && Mouse.next()) { + for(int j = 0; j < 16; j++) { + if(guiLeft + 7 + (130 * (j / 8)) <= x && guiLeft + 7 + 18 + (130 * (j / 8)) > x && guiTop + 53 + (18 * (j % 8)) <= y && guiTop + 53 + 18 + (18 * (j % 8)) > y) { + int scroll = Mouse.getEventDWheel(); + + if(scroll > 0) this.conditions[j] = (this.conditions[j] + 1) % 10; + if(scroll < 0) this.conditions[j] = (this.conditions[j] + 9) % 10; + return; + } + } + } + } + + private void drawGuiContainerForegroundLayer(int x, int y) { + String name = I18nUtil.resolveKey("container.rttyLogic"); + this.fontRendererObj.drawString(name, this.guiLeft + this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, this.guiTop + 6, 4210752); + //TODO add localization for *every* RTTY + if(guiLeft + 137 <= x && guiLeft + 137 + 18 > x && guiTop + 17 < y && guiTop + 17 + 18 >= y) { + func_146283_a(Arrays.asList(new String[] { logic.descending ? "Descending Order" : "Ascending Order" }), x, y); + } + if(guiLeft + 173 <= x && guiLeft + 173 + 18 > x && guiTop + 17 < y && guiTop + 17 + 18 >= y) { + func_146283_a(Arrays.asList(new String[] { logic.polling ? "Polling" : "State Change" }), x, y); + } + if(guiLeft + 209 <= x && guiLeft + 209 + 18 > x && guiTop + 17 < y && guiTop + 17 + 18 >= y) { + func_146283_a(Arrays.asList(new String[] { "Save Settings" }), x, y); + } + for(int j = 0; j < 16; j++) { + if(guiLeft + 7 + (130 * (j / 8)) <= x && guiLeft + 7 + 18 + (130 * (j / 8)) > x && guiTop + 53 + (18 * (j % 8)) <= y && guiTop + 53 + 18 + (18 * (j % 8)) > y) { + func_146283_a(Arrays.asList(new String[] { I18nUtil.resolveKey("desc.gui.rttyLogic.cond" + this.conditions[j]) }), x, y); + break; + } + } + } + + private void drawGuiContainerBackgroundLayer(float f, int mouseX, int mouseY) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + if(logic.descending) drawTexturedModalRect(guiLeft + 137, guiTop + 17, 0, 204, 18, 18); + if(logic.polling) drawTexturedModalRect(guiLeft + 173, guiTop + 17, 0, 222, 18, 18); + + for(int i = 0; i < 16; i++) { + if(logic.mapping[i].isEmpty()) { + if(this.conditions[i] != 0) + drawTexturedModalRect(guiLeft + 7 + (130 * (i / 8)), guiTop + 53 + (18 * (i % 8)), 18 + this.conditions[i] * 18, 222, 18, 18); + } else { + drawTexturedModalRect(guiLeft + 7 + (130 * (i / 8)), guiTop + 53 + (18 * (i % 8)), 18 + this.conditions[i] * 18, 204, 18, 18); + drawTexturedModalRect(guiLeft + 85 + (130 * (i / 8)), guiTop + 57 + (18 * (i % 8)), 198, 204, 14, 10); + } + } + + for(int i = 0; i < 16; i++) this.map[i].drawTextBox(); + this.frequency.drawTextBox(); + } + + @Override + protected void mouseClicked(int x, int y, int i) { + super.mouseClicked(x, y, i); + + this.frequency.mouseClicked(x, y, i); + for(int j = 0; j < 16; j++) this.map[j].mouseClicked(x, y, i); + + if(guiLeft + 137 <= x && guiLeft + 137 + 18 > x && guiTop + 17 < y && guiTop + 17 + 18 >= y) { + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + NBTTagCompound data = new NBTTagCompound(); + data.setBoolean("d", !logic.descending); + PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, logic.xCoord, logic.yCoord, logic.zCoord)); + } + + if(guiLeft + 173 <= x && guiLeft + 173 + 18 > x && guiTop + 17 < y && guiTop + 17 + 18 >= y) { + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + NBTTagCompound data = new NBTTagCompound(); + data.setBoolean("p", !logic.polling); + PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, logic.xCoord, logic.yCoord, logic.zCoord)); + } + + if(guiLeft + 209 <= x && guiLeft + 209 + 18 > x && guiTop + 17 < y && guiTop + 17 + 18 >= y) { + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + NBTTagCompound data = new NBTTagCompound(); + data.setString("c", this.frequency.getText()); + for(int j = 0; j < 16; j++) data.setString("m" + j, this.map[j].getText().isEmpty() ? "" : this.map[j].getText()); + for(int j = 0; j < 16; j++) data.setInteger("c" + j, this.conditions[j]); + PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, logic.xCoord, logic.yCoord, logic.zCoord)); + } + + for(int j = 0; j < 16; j++) { + if(guiLeft + 7 + (130 * (j / 8)) <= x && guiLeft + 7 + 18 + (130 * (j / 8)) > x && guiTop + 53 + (18 * (j % 8)) <= y && guiTop + 53 + 18 + (18 * (j % 8)) > y) { + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + this.conditions[j] = (this.conditions[j] + 1) % 10; + } + } + } + + @Override + protected void keyTyped(char c, int i) { + + if(this.frequency.textboxKeyTyped(c, i)) + return; + + for(int j = 0; j < 16; j++) if(this.map[j].textboxKeyTyped(c, i)) return; + + if(i == 1 || i == this.mc.gameSettings.keyBindInventory.getKeyCode()) { + this.mc.thePlayer.closeScreen(); + this.mc.setIngameFocus(); + } + } + + @Override + public void onGuiClosed() { + Keyboard.enableRepeatEvents(false); + } + + @Override + public boolean doesGuiPauseGame() { + return false; + } + +} diff --git a/src/main/java/com/hbm/inventory/gui/GUIScreenSnowglobe.java b/src/main/java/com/hbm/inventory/gui/GUIScreenSnowglobe.java new file mode 100644 index 000000000..03021464e --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIScreenSnowglobe.java @@ -0,0 +1,116 @@ +package com.hbm.inventory.gui; + +import java.util.List; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.generic.BlockSnowglobe.TileEntitySnowglobe; +import com.hbm.util.I18nUtil; + +import net.minecraft.client.audio.PositionedSoundRecord; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.util.ResourceLocation; + +public class GUIScreenSnowglobe extends GuiScreen { + + TileEntitySnowglobe snowglobe; + + public GUIScreenSnowglobe(TileEntitySnowglobe bobble) { + this.snowglobe = bobble; + } + + @Override + public void initGui() { + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("hbm:block.bobble"), 1.0F)); + } + + @Override + public void drawScreen(int mouseX, int mouseY, float f) { + + this.drawDefaultBackground(); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_BLEND); + GL11.glDisable(GL11.GL_ALPHA_TEST); + OpenGlHelper.glBlendFunc(770, 771, 1, 0); + GL11.glDisable(GL11.GL_TEXTURE_2D); + + double sizeX = 300; + double sizeY = 150; + double left = (this.width - sizeX) / 2; + double top = (this.height - sizeY) / 2; + + Tessellator tess = Tessellator.instance; + tess.startDrawingQuads(); + tess.setColorRGBA_F(0F, 0.2F, 0F, 0.8F); + tess.addVertex(left + sizeX, top, this.zLevel); + tess.addVertex(left, top, this.zLevel); + tess.addVertex(left, top + sizeY, this.zLevel); + tess.addVertex(left + sizeX, top + sizeY, this.zLevel); + tess.draw(); + + GL11.glEnable(GL11.GL_TEXTURE_2D); + GL11.glEnable(GL11.GL_ALPHA_TEST); + GL11.glDisable(GL11.GL_BLEND); + + int nextLevel = (int)top + 10; + + String bobbleTitle = "Nuclear Tech Commemorative Snowglobe"; + this.fontRendererObj.drawStringWithShadow(bobbleTitle, (int)(left + sizeX / 2 - this.fontRendererObj.getStringWidth(bobbleTitle) / 2), nextLevel, 0x00ff00); + + nextLevel += 10; + + String bobbleName = this.snowglobe.type.label; + this.fontRendererObj.drawStringWithShadow(bobbleName, (int)(left + sizeX / 2 - this.fontRendererObj.getStringWidth(bobbleName) / 2), nextLevel, 0x009900); + + nextLevel += 20; + + /*if(this.snowglobe.type.contribution != null) { + + String title = "Has contributed"; + this.fontRendererObj.drawStringWithShadow(title, (int)(left + sizeX / 2 - this.fontRendererObj.getStringWidth(title) / 2), nextLevel, 0x00ff00); + + nextLevel += 10; + + + String[] list = this.snowglobe.type.contribution.split("\\$"); + for(String text : list) { + this.fontRendererObj.drawStringWithShadow(text, (int)(left + sizeX / 2 - this.fontRendererObj.getStringWidth(text) / 2), nextLevel, 0x009900); + nextLevel += 10; + } + + nextLevel += 10; + }*/ + + if(this.snowglobe.type.inscription != null) { + + String title = "On the bottom is the following inscription:"; + this.fontRendererObj.drawStringWithShadow(title, (int)(left + sizeX / 2 - this.fontRendererObj.getStringWidth(title) / 2), nextLevel, 0x00ff00); + + nextLevel += 10; + + List list = I18nUtil.autoBreakWithParagraphs(this.fontRendererObj, this.snowglobe.type.inscription, 280); + for(String text : list) { + this.fontRendererObj.drawStringWithShadow(text, (int)(left + sizeX / 2 - this.fontRendererObj.getStringWidth(text) / 2), nextLevel, 0x009900); + nextLevel += 10; + } + + nextLevel += 10; + } + + GL11.glEnable(GL11.GL_LIGHTING); + } + + @Override + protected void keyTyped(char c, int key) { + if(key == 1 || key == this.mc.gameSettings.keyBindInventory.getKeyCode()) { + this.mc.thePlayer.closeScreen(); + } + } + + @Override + public boolean doesGuiPauseGame() { + return false; + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUIScreenTemplateFolder.java b/src/main/java/com/hbm/inventory/gui/GUIScreenTemplateFolder.java index a563eb732..f58519d0a 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIScreenTemplateFolder.java +++ b/src/main/java/com/hbm/inventory/gui/GUIScreenTemplateFolder.java @@ -7,11 +7,13 @@ import java.util.Locale; import org.lwjgl.input.Keyboard; import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.recipes.AssemblerRecipes; +import com.hbm.inventory.recipes.AssemblerRecipes.AssemblerRecipe; import com.hbm.inventory.recipes.ChemplantRecipes; import com.hbm.inventory.recipes.ChemplantRecipes.ChemRecipe; import com.hbm.inventory.recipes.CrucibleRecipes; @@ -33,6 +35,7 @@ import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; @@ -55,21 +58,22 @@ public class GUIScreenTemplateFolder extends GuiScreen { if(player.getHeldItem() == null) return; + + Item item = player.getHeldItem().getItem(); - if(player.getHeldItem().getItem() == ModItems.template_folder) { + this.isJournal = item != ModItems.template_folder; + if(!this.isJournal) { // Stamps - for(ItemStack i : ItemStamp.stamps.get(StampType.PLATE)) - allStacks.add(i.copy()); - for(ItemStack i : ItemStamp.stamps.get(StampType.WIRE)) - allStacks.add(i.copy()); - for(ItemStack i : ItemStamp.stamps.get(StampType.CIRCUIT)) - allStacks.add(i.copy()); + for(ItemStack i : ItemStamp.stamps.get(StampType.PLATE)) allStacks.add(i.copy()); + for(ItemStack i : ItemStamp.stamps.get(StampType.WIRE)) allStacks.add(i.copy()); + for(ItemStack i : ItemStamp.stamps.get(StampType.CIRCUIT)) allStacks.add(i.copy()); // Tracks for(int i = 1; i < ItemCassette.TrackType.values().length; i++) { allStacks.add(new ItemStack(ModItems.siren_track, 1, i)); } + // Fluid IDs FluidType[] fluids = Fluids.getInNiceOrder(); for(int i = 1; i < fluids.length; i++) { @@ -77,14 +81,18 @@ public class GUIScreenTemplateFolder extends GuiScreen { allStacks.add(new ItemStack(ModItems.fluid_identifier, 1, fluids[i].getID())); } } - // Assembly Templates - for(int i = 0; i < AssemblerRecipes.recipeList.size(); i++) { - - ComparableStack comp = AssemblerRecipes.recipeList.get(i); - if(AssemblerRecipes.hidden.get(comp) == null) { - allStacks.add(ItemAssemblyTemplate.writeType(new ItemStack(ModItems.assembly_template, 1, i), comp)); - } + } + + // Assembly Templates + for(int i = 0; i < AssemblerRecipes.recipeList.size(); i++) { + ComparableStack comp = AssemblerRecipes.recipeList.get(i); + AssemblerRecipe recipe = AssemblerRecipes.recipes.get(comp); + if(recipe != null && recipe.folders.contains(item)) { + allStacks.add(ItemAssemblyTemplate.writeType(new ItemStack(ModItems.assembly_template, 1, i), comp)); } + } + + if(!this.isJournal) { // Chemistry Templates for(int i = 0; i < ChemplantRecipes.recipes.size(); i++) { ChemRecipe chem = ChemplantRecipes.recipes.get(i); @@ -95,19 +103,6 @@ public class GUIScreenTemplateFolder extends GuiScreen { for(int i = 0; i < CrucibleRecipes.recipes.size(); i++) { allStacks.add(new ItemStack(ModItems.crucible_template, 1, CrucibleRecipes.recipes.get(i).getId())); } - } else { - - for(int i = 0; i < AssemblerRecipes.recipeList.size(); i++) { - - if(AssemblerRecipes.hidden.get(AssemblerRecipes.recipeList.get(i)) != null && - AssemblerRecipes.hidden.get(AssemblerRecipes.recipeList.get(i)).contains(player.getHeldItem().getItem())) { - - ComparableStack comp = AssemblerRecipes.recipeList.get(i); - allStacks.add(ItemAssemblyTemplate.writeType(new ItemStack(ModItems.assembly_template, 1, i), comp)); - } - } - - isJournal = true; } search(null); @@ -186,6 +181,7 @@ public class GUIScreenTemplateFolder extends GuiScreen { this.search.setDisabledTextColour(0xffffff); this.search.setEnableBackgroundDrawing(false); this.search.setMaxStringLength(100); + this.search.setFocused(true); } @Override @@ -312,7 +308,7 @@ public class GUIScreenTemplateFolder extends GuiScreen { public void drawIcon(boolean b) { try { RenderHelper.enableGUIStandardItemLighting(); - GL11.glDisable(GL11.GL_LIGHTING); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float) 240 / 1.0F, (float) 240 / 1.0F); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); if(stack != null) { diff --git a/src/main/java/com/hbm/inventory/gui/GUIScreenWikiRender.java b/src/main/java/com/hbm/inventory/gui/GUIScreenWikiRender.java new file mode 100644 index 000000000..85e9b2ee6 --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIScreenWikiRender.java @@ -0,0 +1,170 @@ +package com.hbm.inventory.gui; + +import java.awt.image.BufferedImage; +import java.io.File; +import java.nio.IntBuffer; + +import javax.imageio.ImageIO; + +import org.lwjgl.BufferUtils; +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; + +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.gui.ScaledResolution; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.renderer.RenderHelper; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureUtil; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; + +public class GUIScreenWikiRender extends GuiScreen { + + // Basically the same thing as GUIScreenPreview, but will iterate through all provided preview stacks + // taking a screenshot of each, as fast as the game can render them + + protected static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/nei/gui_nei.png"); + protected ItemStack[] preview; + protected int index = 0; + + public GUIScreenWikiRender(ItemStack[] stacks) { + this.preview = stacks; + } + + @Override + public void drawScreen(int mouseX, int mouseY, float f) { + if(this.mc.theWorld != null) { + GuiScreen.drawRect(0, 0, this.width, this.height, 0xFFC6C6C6); + } else { + this.drawBackground(0); + } + + // Once we've reached the end of the array, immedaitely close this GUI + if(index >= preview.length) { + this.mc.thePlayer.closeScreen(); + return; + } + + this.drawGuiContainerBackgroundLayer(); + GL11.glDisable(GL11.GL_LIGHTING); + this.drawGuiContainerForegroundLayer(preview[index]); + GL11.glEnable(GL11.GL_LIGHTING); + + try { + String slotName = preview[index].getDisplayName().replaceAll("§.", "").replaceAll("[^\\w ().-]+", ""); + if(!slotName.endsWith(".name")) { + saveScreenshot(Minecraft.getMinecraft().mcDataDir, "Slot " + slotName + ".png", 2, 2, 32, 32, 0xFF8B8B8B); + } + } catch (Exception ex) { + // Just skip any failures caused by display name or rendering + } + + index++; + } + + protected void drawGuiContainerBackgroundLayer() { + GL11.glPushMatrix(); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + this.mc.getTextureManager().bindTexture(texture); + ScaledResolution res = new ScaledResolution(this.mc, this.mc.displayWidth, this.mc.displayHeight); + this.drawTexturedModalRect(0, res.getScaledHeight_double() - 18D, 5, 87, 18, 18); + GL11.glPopMatrix(); + } + + public void drawTexturedModalRect(double x, double y, int sourceX, int sourceY, int sizeX, int sizeY) { + double f = 0.00390625D; + double f1 = 0.00390625D; + Tessellator tessellator = Tessellator.instance; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV((double) (x + 0), (double) (y + sizeY), (double) this.zLevel, (double) ((float) (sourceX + 0) * f), (double) ((float) (sourceY + sizeY) * f1)); + tessellator.addVertexWithUV((double) (x + sizeX), (double) (y + sizeY), (double) this.zLevel, (double) ((float) (sourceX + sizeX) * f), (double) ((float) (sourceY + sizeY) * f1)); + tessellator.addVertexWithUV((double) (x + sizeX), (double) (y + 0), (double) this.zLevel, (double) ((float) (sourceX + sizeX) * f), (double) ((float) (sourceY + 0) * f1)); + tessellator.addVertexWithUV((double) (x + 0), (double) (y + 0), (double) this.zLevel, (double) ((float) (sourceX + 0) * f), (double) ((float) (sourceY + 0) * f1)); + tessellator.draw(); + } + + protected void drawGuiContainerForegroundLayer(ItemStack preview) { + if(preview == null) return; + + GL11.glPushMatrix(); + RenderHelper.enableGUIStandardItemLighting(); + OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240F, 240F); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_DEPTH_TEST); + + ScaledResolution res = new ScaledResolution(this.mc, this.mc.displayWidth, this.mc.displayHeight); + GL11.glTranslated(9D, res.getScaledHeight_double() - 9D, -200); + + this.zLevel = 200.0F; + itemRender.zLevel = 200.0F; + + GL11.glEnable(GL11.GL_DEPTH_TEST); + itemRender.renderItemAndEffectIntoGUI(this.fontRendererObj, this.mc.getTextureManager(), preview, -8, -8); + itemRender.renderItemOverlayIntoGUI(this.fontRendererObj, this.mc.getTextureManager(), preview, -8, -8, null); + + itemRender.zLevel = 0.0F; + this.zLevel = 0.0F; + + GL11.glPopMatrix(); + } + + + private static IntBuffer pixelBuffer; + private static int[] pixelValues; + + // This implementation is based directly on ScreenShotHelper.saveScreenshot() + // But allows for defining a rect where you want to sample pixels from + private static void saveScreenshot(File dataDir, String fileName, int x, int y, int width, int height, int transparentColor) { + try { + File screenshotDirectory = new File(dataDir, "wiki-screenshots"); + screenshotDirectory.mkdir(); + + int bufferSize = width * height; + if(pixelBuffer == null || pixelBuffer.capacity() < bufferSize) { + pixelBuffer = BufferUtils.createIntBuffer(bufferSize); + pixelValues = new int[bufferSize]; + } + + GL11.glPixelStorei(GL11.GL_PACK_ALIGNMENT, 1); + GL11.glPixelStorei(GL11.GL_UNPACK_ALIGNMENT, 1); + pixelBuffer.clear(); + GL11.glReadPixels(x, y, width, height, GL12.GL_BGRA, GL12.GL_UNSIGNED_INT_8_8_8_8_REV, pixelBuffer); + + pixelBuffer.get(pixelValues); + TextureUtil.func_147953_a(pixelValues, width, height); + BufferedImage imageBuffer = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); + imageBuffer.setRGB(0, 0, width, height, pixelValues, 0, width); + + // This is the only proper custom part, setting the background of an inventory slot to be transparent + if(transparentColor != 0) { + for(int iy = 0; iy < imageBuffer.getHeight(); ++iy) { + for(int ix = 0; ix < imageBuffer.getWidth(); ++ix) { + if(imageBuffer.getRGB(ix, iy) == transparentColor) { + imageBuffer.setRGB(ix, iy, 0); + } + } + } + } + + File imageFile; + if(fileName == null) { + throw new IllegalArgumentException("fileName must not be null"); + } else { + imageFile = new File(screenshotDirectory, fileName); + } + + ImageIO.write(imageBuffer, "png", imageFile); + } catch (Exception ex) { + MainRegistry.logger.warn("Failed to save NTM screenshot", ex); + } + } + +} \ No newline at end of file diff --git a/src/main/java/com/hbm/inventory/gui/GUITestNuke.java b/src/main/java/com/hbm/inventory/gui/GUITestNuke.java deleted file mode 100644 index f616a4a92..000000000 --- a/src/main/java/com/hbm/inventory/gui/GUITestNuke.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.hbm.inventory.gui; - -import org.lwjgl.opengl.GL11; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.inventory.GuiContainer; -import net.minecraft.client.resources.I18n; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.util.ResourceLocation; - -import com.hbm.inventory.container.ContainerTestNuke; -import com.hbm.lib.RefStrings; -import com.hbm.tileentity.bomb.TileEntityTestNuke; - -public class GUITestNuke extends GuiContainer { - - private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/weapon/gunBombSchematicSmall.png"); - private TileEntityTestNuke testNuke; - - public GUITestNuke(InventoryPlayer invPlayer, TileEntityTestNuke tedf) { - super(new ContainerTestNuke(invPlayer, tedf)); - testNuke = tedf; - - this.xSize = 176; - this.ySize = 166; - } - - @Override - protected void drawGuiContainerForegroundLayer( int i, int j) { - String name = this.testNuke.hasCustomInventoryName() ? this.testNuke.getInventoryName() : I18n.format(this.testNuke.getInventoryName()); - - this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); - this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); - } - - @Override - protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - Minecraft.getMinecraft().getTextureManager().bindTexture(texture); - drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); - - switch(testNuke.getNukeTier()) - { - case 0: - drawTexturedModalRect(guiLeft + 142, guiTop + 36, 176, 0, 16, 16); break; - case 1: - drawTexturedModalRect(guiLeft + 142, guiTop + 36, 176, 16, 16, 16); break; - case 2: - drawTexturedModalRect(guiLeft + 142, guiTop + 36, 176, 32, 16, 16); break; - case 3: - drawTexturedModalRect(guiLeft + 142, guiTop + 36, 176, 48, 16, 16); break; - case 4: - drawTexturedModalRect(guiLeft + 142, guiTop + 36, 176, 64, 16, 16); break; - case 5: - drawTexturedModalRect(guiLeft + 142, guiTop + 36, 176, 80, 16, 16); break; - case 6: - drawTexturedModalRect(guiLeft + 142, guiTop + 36, 176, 96, 16, 16); break; - case 7: - drawTexturedModalRect(guiLeft + 142, guiTop + 36, 176, 112, 16, 16); break; - case 8: - drawTexturedModalRect(guiLeft + 142, guiTop + 36, 176, 128, 16, 16); break; - case 9: - drawTexturedModalRect(guiLeft + 142, guiTop + 36, 176, 144, 16, 16); break; - case 999: - drawTexturedModalRect(guiLeft + 142, guiTop + 36, 176, 160, 16, 16); break; - default: - } - } - -} diff --git a/src/main/java/com/hbm/inventory/gui/GUIWatzCore.java b/src/main/java/com/hbm/inventory/gui/GUIWatzCore.java deleted file mode 100644 index 68aa1a7c5..000000000 --- a/src/main/java/com/hbm/inventory/gui/GUIWatzCore.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.hbm.inventory.gui; - -import org.lwjgl.opengl.GL11; - -import com.hbm.inventory.container.ContainerWatzCore; -import com.hbm.lib.RefStrings; -import com.hbm.tileentity.machine.TileEntityWatzCore; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.resources.I18n; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.util.ResourceLocation; - -public class GUIWatzCore extends GuiInfoContainer { - - private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_watz_multiblock.png"); - private TileEntityWatzCore diFurnace; - - public GUIWatzCore(InventoryPlayer invPlayer, TileEntityWatzCore tedf) { - super(new ContainerWatzCore(invPlayer, tedf)); - diFurnace = tedf; - - this.xSize = 176; - //this.ySize = 222; - this.ySize = 256; - } - - @Override - public void drawScreen(int mouseX, int mouseY, float f) { - super.drawScreen(mouseX, mouseY, f); - - diFurnace.tank.renderTankInfo(this, mouseX, mouseY, guiLeft + 134, guiTop + 106 - 18 - 70, 16, 70); - this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 152, guiTop + 106 - 70, 16, 70 - 18, diFurnace.power, diFurnace.maxPower); - } - - @Override - protected void drawGuiContainerForegroundLayer(int i, int j) { - String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName()); - - this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); - this.fontRendererObj.drawString(I18n.format("container.inventory")/* + String.valueOf(diFurnace.powerList)*/, 8, this.ySize - 96 + 2 - 34, 4210752); - this.fontRendererObj.drawString(String.valueOf(diFurnace.powerList + " HE/tick"), 8, this.ySize - 50 + 2 + 13, 4210752); - this.fontRendererObj.drawString(String.valueOf(diFurnace.heatList + " heat"), 8, this.ySize - 50 + 2 + 22, 4210752); - this.fontRendererObj.drawString(String.valueOf((diFurnace.decayMultiplier * diFurnace.heat)/100 /100 + " waste/tick"), 8, this.ySize - 50 + 2 + 31, 4210752); - this.fontRendererObj.drawString(String.valueOf(diFurnace.powerMultiplier + "% power"), 100, this.ySize - 50 + 2 + 13, 4210752); - this.fontRendererObj.drawString(String.valueOf(diFurnace.heatMultiplier + "% heat"), 100, this.ySize - 50 + 2 + 22, 4210752); - this.fontRendererObj.drawString(String.valueOf(diFurnace.decayMultiplier + "% decay"), 100, this.ySize - 50 + 2 + 31, 4210752); - } - - @Override - protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - Minecraft.getMinecraft().getTextureManager().bindTexture(texture); - drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); - - int l = (int)diFurnace.getPowerScaled(70); - drawTexturedModalRect(guiLeft + 152, guiTop + 106 - 18 - l, 192, 70 - l, 16, l); - - diFurnace.tank.renderTank(guiLeft + 134, guiTop + 106 - 18, this.zLevel, 16, 70); - } -} diff --git a/src/main/java/com/hbm/inventory/material/MatDistribution.java b/src/main/java/com/hbm/inventory/material/MatDistribution.java index dd55dc119..f05dbc927 100644 --- a/src/main/java/com/hbm/inventory/material/MatDistribution.java +++ b/src/main/java/com/hbm/inventory/material/MatDistribution.java @@ -55,11 +55,6 @@ public class MatDistribution extends SerializableRecipe { registerEntry(ModItems.stamp_steel_flat, MAT_STEEL, INGOT.q(3)); registerEntry(ModItems.stamp_titanium_flat, MAT_TITANIUM, INGOT.q(3)); registerEntry(ModItems.stamp_obsidian_flat, MAT_OBSIDIAN, INGOT.q(3)); - registerEntry(ModItems.hull_small_steel, MAT_STEEL, INGOT.q(2)); - registerEntry(ModItems.hull_small_aluminium, MAT_ALUMINIUM, INGOT.q(2)); - registerEntry(ModItems.hull_big_steel, MAT_STEEL, INGOT.q(6)); - registerEntry(ModItems.hull_big_aluminium, MAT_ALUMINIUM, INGOT.q(6)); - registerEntry(ModItems.hull_big_titanium, MAT_TITANIUM, INGOT.q(6)); registerEntry(ModItems.pipes_steel, MAT_STEEL, BLOCK.q(3)); registerEntry(ModItems.wire_aluminium, MAT_ALUMINIUM, WIRE.q(1)); registerEntry(ModItems.wire_copper, MAT_COPPER, WIRE.q(1)); diff --git a/src/main/java/com/hbm/inventory/material/MaterialShapes.java b/src/main/java/com/hbm/inventory/material/MaterialShapes.java index df72f9da9..14429207c 100644 --- a/src/main/java/com/hbm/inventory/material/MaterialShapes.java +++ b/src/main/java/com/hbm/inventory/material/MaterialShapes.java @@ -13,6 +13,7 @@ public class MaterialShapes { public static final MaterialShapes NUGGET = new MaterialShapes(8, "nugget"); public static final MaterialShapes DUSTTINY = new MaterialShapes(NUGGET.quantity, "dustTiny"); public static final MaterialShapes WIRE = new MaterialShapes(9); + public static final MaterialShapes BOLT = new MaterialShapes(9, "bolt"); public static final MaterialShapes BILLET = new MaterialShapes(NUGGET.quantity * 6, "billet"); public static final MaterialShapes INGOT = new MaterialShapes(NUGGET.quantity * 9, "ingot"); public static final MaterialShapes GEM = new MaterialShapes(INGOT.quantity, "gem"); @@ -22,6 +23,8 @@ public class MaterialShapes { public static final MaterialShapes PLATE = new MaterialShapes(INGOT.quantity, "plate"); public static final MaterialShapes CASTPLATE = new MaterialShapes(INGOT.quantity * 3, "plateTriple"); public static final MaterialShapes WELDEDPLATE = new MaterialShapes(INGOT.quantity * 6, "plateSextuple"); + public static final MaterialShapes SHELL = new MaterialShapes(INGOT.quantity * 4, "shell"); + public static final MaterialShapes PIPE = new MaterialShapes(INGOT.quantity * 3, "ntmpipe"); public static final MaterialShapes QUART = new MaterialShapes(162); public static final MaterialShapes BLOCK = new MaterialShapes(INGOT.quantity * 9, "block"); public static final MaterialShapes HEAVY_COMPONENT = new MaterialShapes(CASTPLATE.quantity * 256, "componentHeavy"); diff --git a/src/main/java/com/hbm/inventory/material/Mats.java b/src/main/java/com/hbm/inventory/material/Mats.java index 9526c475f..f2abc4a72 100644 --- a/src/main/java/com/hbm/inventory/material/Mats.java +++ b/src/main/java/com/hbm/inventory/material/Mats.java @@ -54,7 +54,8 @@ public class Mats { public static final NTMMaterial MAT_PETCOKE = make( 1411, PETCOKE) .setConversion(MAT_CARBON, 4, 3); public static final NTMMaterial MAT_LIGCOKE = make( 1412, LIGCOKE) .setConversion(MAT_CARBON, 4, 3); public static final NTMMaterial MAT_GRAPHITE = make( 1420, GRAPHITE) .setConversion(MAT_CARBON, 1, 1); - public static final NTMMaterial MAT_IRON = makeSmeltable(2600, IRON, 0xFFFFFF, 0x353535, 0xFFA259).setShapes(CASTPLATE, WELDEDPLATE); + public static final NTMMaterial MAT_DIAMOND = make( 1430, DIAMOND) .setConversion(MAT_CARBON, 1, 1); + public static final NTMMaterial MAT_IRON = makeSmeltable(2600, IRON, 0xFFFFFF, 0x353535, 0xFFA259).setShapes(PIPE, CASTPLATE, WELDEDPLATE); public static final NTMMaterial MAT_GOLD = makeSmeltable(7900, GOLD, 0xFFFF8B, 0xC26E00, 0xE8D754).setShapes(DENSEWIRE, CASTPLATE); public static final NTMMaterial MAT_REDSTONE = makeSmeltable(_VS + 01, REDSTONE, 0xE3260C, 0x700E06, 0xFF1000); public static final NTMMaterial MAT_OBSIDIAN = makeSmeltable(_VS + 02, df("Obsidian"), 0x3D234D); @@ -94,17 +95,18 @@ public class Mats { public static final NTMMaterial MAT_GHIORSIUM = makeSmeltable(12836, GH336, 0xF4EFE1, 0x2A3306, 0xC6C6A1).setShapes(NUGGET, BILLET, INGOT, BLOCK); //Base metals - public static final NTMMaterial MAT_TITANIUM = makeSmeltable(2200, TI, 0xF7F3F2, 0x4F4C4B, 0xA99E79).setShapes(INGOT, DUST, PLATE, CASTPLATE, WELDEDPLATE, BLOCK, HEAVY_COMPONENT); - public static final NTMMaterial MAT_COPPER = makeSmeltable(2900, CU, 0xFDCA88, 0x601E0D, 0xC18336).setShapes(WIRE, INGOT, DUST, PLATE, CASTPLATE, WELDEDPLATE, BLOCK, HEAVY_COMPONENT); - public static final NTMMaterial MAT_TUNGSTEN = makeSmeltable(7400, W, 0x868686, 0x000000, 0x977474).setShapes(WIRE, INGOT, DUST, DENSEWIRE, CASTPLATE, WELDEDPLATE, BLOCK, HEAVY_COMPONENT); - public static final NTMMaterial MAT_ALUMINIUM = makeSmeltable(1300, AL, 0xFFFFFF, 0x344550, 0xD0B8EB).setShapes(WIRE, INGOT, DUST, PLATE, CASTPLATE, BLOCK, HEAVY_COMPONENT); - public static final NTMMaterial MAT_LEAD = makeSmeltable(8200, PB, 0xA6A6B2, 0x03030F, 0x646470).setShapes(NUGGET, INGOT, DUST, PLATE, CASTPLATE, BLOCK, HEAVY_COMPONENT); + public static final NTMMaterial MAT_TITANIUM = makeSmeltable(2200, TI, 0xF7F3F2, 0x4F4C4B, 0xA99E79).setShapes(INGOT, DUST, PLATE, CASTPLATE, WELDEDPLATE, SHELL, BLOCK, HEAVY_COMPONENT); + public static final NTMMaterial MAT_COPPER = makeSmeltable(2900, CU, 0xFDCA88, 0x601E0D, 0xC18336).setShapes(WIRE, INGOT, DUST, PLATE, CASTPLATE, WELDEDPLATE, SHELL, PIPE, BLOCK, HEAVY_COMPONENT); + public static final NTMMaterial MAT_TUNGSTEN = makeSmeltable(7400, W, 0x868686, 0x000000, 0x977474).setShapes(WIRE, BOLT, INGOT, DUST, DENSEWIRE, CASTPLATE, WELDEDPLATE, BLOCK, HEAVY_COMPONENT); + public static final NTMMaterial MAT_ALUMINIUM = makeSmeltable(1300, AL, 0xFFFFFF, 0x344550, 0xD0B8EB).setShapes(WIRE, INGOT, DUST, PLATE, CASTPLATE, WELDEDPLATE, SHELL, PIPE, BLOCK, HEAVY_COMPONENT); + public static final NTMMaterial MAT_LEAD = makeSmeltable(8200, PB, 0xA6A6B2, 0x03030F, 0x646470).setShapes(NUGGET, INGOT, DUST, PLATE, CASTPLATE, PIPE, BLOCK, HEAVY_COMPONENT); public static final NTMMaterial MAT_BISMUTH = makeSmeltable(8300, BI, 0xB200FF).setShapes(NUGGET, BILLET, INGOT, DUST, BLOCK); public static final NTMMaterial MAT_ARSENIC = makeSmeltable(3300, AS, 0x6CBABA, 0x242525, 0x558080).setShapes(NUGGET, INGOT); public static final NTMMaterial MAT_TANTALIUM = makeSmeltable(7300, TA, 0xFFFFFF, 0x1D1D36, 0xA89B74).setShapes(NUGGET, INGOT, DUST, BLOCK); public static final NTMMaterial MAT_NEODYMIUM = makeSmeltable(6000, ND, 0xE6E6B6, 0x1C1C00, 0x8F8F5F).setShapes(NUGGET, DUSTTINY, INGOT, DUST, DENSEWIRE, BLOCK); public static final NTMMaterial MAT_NIOBIUM = makeSmeltable(4100, NB, 0xB76EC9, 0x2F2D42, 0xD576B1).setShapes(NUGGET, DUSTTINY, INGOT, DUST, BLOCK); public static final NTMMaterial MAT_BERYLLIUM = makeSmeltable(400, BE, 0xB2B2A6, 0x0F0F03, 0xAE9572).setShapes(NUGGET, INGOT, DUST, BLOCK); + public static final NTMMaterial MAT_EMERALD = make( 401, EMERALD) .setConversion(MAT_BERYLLIUM, 4, 3); public static final NTMMaterial MAT_COBALT = makeSmeltable(2700, CO, 0xC2D1EE, 0x353554, 0x8F72AE).setShapes(NUGGET, DUSTTINY, BILLET, INGOT, DUST, BLOCK); public static final NTMMaterial MAT_BORON = makeSmeltable(500, B, 0xBDC8D2, 0x29343E, 0xAD72AE).setShapes(DUSTTINY, INGOT, DUST, BLOCK); public static final NTMMaterial MAT_ZIRCONIUM = makeSmeltable(4000, ZR, 0xE3DCBE, 0x3E3719, 0xADA688).setShapes(NUGGET, DUSTTINY, BILLET, INGOT, DUST, CASTPLATE, WELDEDPLATE, BLOCK); @@ -113,16 +115,18 @@ public class Mats { public static final NTMMaterial MAT_OSMIRIDIUM = makeSmeltable(7699, OSMIRIDIUM, 0xDBE3EF, 0x7891BE, 0xACBDD9).setShapes(NUGGET, INGOT, CASTPLATE, WELDEDPLATE); //Alloys - public static final NTMMaterial MAT_STEEL = makeSmeltable(_AS + 0, STEEL, 0xAFAFAF, 0x0F0F0F, 0x4A4A4A).setShapes(DUSTTINY, INGOT, DUST, PLATE, CASTPLATE, WELDEDPLATE, BLOCK, HEAVY_COMPONENT); + public static final NTMMaterial MAT_STEEL = makeSmeltable(_AS + 0, STEEL, 0xAFAFAF, 0x0F0F0F, 0x4A4A4A).setShapes(DUSTTINY, BOLT, INGOT, DUST, PLATE, CASTPLATE, WELDEDPLATE, SHELL, PIPE, BLOCK, HEAVY_COMPONENT); public static final NTMMaterial MAT_MINGRADE = makeSmeltable(_AS + 1, MINGRADE, 0xFFBA7D, 0xAF1700, 0xE44C0F).setShapes(WIRE, INGOT, DUST, BLOCK); public static final NTMMaterial MAT_ALLOY = makeSmeltable(_AS + 2, ALLOY, 0xFF8330, 0x700000, 0xFF7318).setShapes(WIRE, INGOT, DUST, DENSEWIRE, PLATE, CASTPLATE, BLOCK, HEAVY_COMPONENT); - public static final NTMMaterial MAT_DURA = makeSmeltable(_AS + 3, DURA, 0x183039, 0x030B0B, 0x376373).setShapes(INGOT, DUST, BLOCK); - public static final NTMMaterial MAT_SATURN = makeSmeltable(_AS + 4, BIGMT, 0x4DA3AF, 0x00000C, 0x4DA3AF).setShapes(INGOT, DUST, BLOCK); + public static final NTMMaterial MAT_DURA = makeSmeltable(_AS + 3, DURA, 0x183039, 0x030B0B, 0x376373).setShapes(BOLT, INGOT, DUST, PIPE, BLOCK); + public static final NTMMaterial MAT_SATURN = makeSmeltable(_AS + 4, BIGMT, 0x4DA3AF, 0x00000C, 0x4DA3AF).setShapes(INGOT, DUST, PLATE, CASTPLATE, BLOCK); public static final NTMMaterial MAT_DESH = makeSmeltable(_AS + 12, DESH, 0xFF6D6D, 0x720000, 0xF22929).setShapes(INGOT, DUST, CASTPLATE, BLOCK, HEAVY_COMPONENT); public static final NTMMaterial MAT_STAR = makeSmeltable(_AS + 5, STAR, 0xCCCCEA, 0x11111A, 0xA5A5D3).setShapes(INGOT, DUST, DENSEWIRE, BLOCK); public static final NTMMaterial MAT_FERRO = makeSmeltable(_AS + 7, FERRO, 0xB7B7C9, 0x101022, 0x6B6B8B).setShapes(INGOT); public static final NTMMaterial MAT_TCALLOY = makeSmeltable(_AS + 6, TCALLOY, 0xD4D6D6, 0x323D3D, 0x9CA6A6).setShapes(INGOT, DUST, CASTPLATE, WELDEDPLATE, HEAVY_COMPONENT); public static final NTMMaterial MAT_CDALLOY = makeSmeltable(_AS + 13, CDALLOY, 0xF7DF8F, 0x604308, 0xFBD368).setShapes(INGOT, CASTPLATE, WELDEDPLATE, HEAVY_COMPONENT); + public static final NTMMaterial MAT_BBRONZE = makeSmeltable(_AS + 16, BBRONZE, 0xE19A69, 0x485353, 0x987D65).setShapes(INGOT, CASTPLATE); + public static final NTMMaterial MAT_ABRONZE = makeSmeltable(_AS + 17, ABRONZE, 0xDB9462, 0x203331, 0x77644D).setShapes(INGOT, CASTPLATE); public static final NTMMaterial MAT_MAGTUNG = makeSmeltable(_AS + 8, MAGTUNG, 0x22A2A2, 0x0F0F0F, 0x22A2A2).setShapes(INGOT, DUST, DENSEWIRE, BLOCK); public static final NTMMaterial MAT_CMB = makeSmeltable(_AS + 9, CMB, 0x6F6FB4, 0x000011, 0x6F6FB4).setShapes(INGOT, DUST, PLATE, CASTPLATE, WELDEDPLATE, BLOCK); public static final NTMMaterial MAT_DNT = makeSmeltable(_AS + 15, DNT, 0x7582B9, 0x16000E, 0x455289).setShapes(INGOT, DUST, DENSEWIRE, BLOCK); diff --git a/src/main/java/com/hbm/inventory/recipes/ArcWelderRecipes.java b/src/main/java/com/hbm/inventory/recipes/ArcWelderRecipes.java index 180c6981d..7130850c2 100644 --- a/src/main/java/com/hbm/inventory/recipes/ArcWelderRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ArcWelderRecipes.java @@ -69,6 +69,8 @@ public class ArcWelderRecipes extends SerializableRecipe { //mid-game PWR recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.plate_welded, 1, Mats.MAT_ZIRCONIUM.id), 600, 10_000L, new OreDictStack(ZR.plateCast(), 2))); + recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.plate_welded, 1, Mats.MAT_ALUMINIUM.id), 300, 10_000L, + new OreDictStack(AL.plateCast(), 2))); //late-game fusion recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.plate_welded, 1, Mats.MAT_TCALLOY.id), 1_200, 1_000_000L, new FluidStack(Fluids.OXYGEN, 1_000), new OreDictStack(TCALLOY.plateCast(), 2))); @@ -83,13 +85,14 @@ public class ArcWelderRecipes extends SerializableRecipe { //Missile Parts recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.thruster_small), 60, 1_000L, new OreDictStack(STEEL.plate(), 4), new ComparableStack(ModItems.wire_aluminium, 4), new OreDictStack(CU.plate(), 4))); recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.thruster_medium), 100, 2_000L, new OreDictStack(STEEL.plate(), 8), new ComparableStack(ModItems.motor, 1), new OreDictStack(GRAPHITE.ingot(), 8))); - recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.thruster_large), 200, 5_000L, new OreDictStack(DURA.ingot(), 12), new ComparableStack(ModItems.motor, 2), new OreDictStack(OreDictManager.getReflector(), 16))); + recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.thruster_large), 200, 5_000L, new OreDictStack(DURA.ingot(), 10), new ComparableStack(ModItems.motor, 1), new OreDictStack(OreDictManager.getReflector(), 12))); - recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.fuel_tank_small), 60, 1_000L, new OreDictStack(Fluids.ETHANOL.getDict(1_000), 6), new OreDictStack(TI.plate(), 6), new OreDictStack(STEEL.plate(), 2))); - recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.fuel_tank_medium), 100, 2_000L, new OreDictStack(Fluids.KEROSENE.getDict(1_000), 8), new OreDictStack(TI.plate(), 12), new OreDictStack(STEEL.plate(), 4))); - recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.fuel_tank_large), 200, 5_000L, new OreDictStack(Fluids.KEROSENE.getDict(1_000), 12), new OreDictStack(TI.plate(), 24), new OreDictStack(STEEL.plate(), 8))); + recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.fuel_tank_small), 60, 1_000L, new OreDictStack(AL.plate(), 6), new OreDictStack(CU.plate(), 4), new ComparableStack(ModBlocks.steel_scaffold, 4))); + recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.fuel_tank_medium), 100, 2_000L, new OreDictStack(AL.plateCast(), 4), new OreDictStack(TI.plate(), 8), new ComparableStack(ModBlocks.steel_scaffold, 12))); + recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.fuel_tank_large), 200, 5_000L, new OreDictStack(AL.plateWelded(), 8), new OreDictStack(BIGMT.plate(), 12), new ComparableStack(ModBlocks.steel_scaffold, 16))); //Missiles + recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.missile_anti_ballistic), 100, 5_000L, new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 3), new ComparableStack(ModItems.missile_assembly), new ComparableStack(ModItems.thruster_small, 4))); recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.missile_generic), 100, 5_000L, new ComparableStack(ModItems.warhead_generic_small), new ComparableStack(ModItems.fuel_tank_small), new ComparableStack(ModItems.thruster_small))); recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.missile_incendiary), 100, 5_000L, new ComparableStack(ModItems.warhead_incendiary_small), new ComparableStack(ModItems.fuel_tank_small), new ComparableStack(ModItems.thruster_small))); recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.missile_cluster), 100, 5_000L, new ComparableStack(ModItems.warhead_cluster_small), new ComparableStack(ModItems.fuel_tank_small), new ComparableStack(ModItems.thruster_small))); @@ -102,17 +105,14 @@ public class ArcWelderRecipes extends SerializableRecipe { recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.missile_buster_strong), 200, 10_000L, new ComparableStack(ModItems.warhead_buster_medium), new ComparableStack(ModItems.fuel_tank_medium), new ComparableStack(ModItems.thruster_medium))); recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.missile_emp_strong), 200, 10_000L, new ComparableStack(ModBlocks.emp_bomb, 3), new ComparableStack(ModItems.fuel_tank_medium), new ComparableStack(ModItems.thruster_medium))); - recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.missile_burst), 300, 25_000L, new ComparableStack(ModItems.warhead_generic_large), new ComparableStack(ModItems.fuel_tank_large), new ComparableStack(ModItems.thruster_large))); - recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.missile_inferno), 300, 25_000L, new ComparableStack(ModItems.warhead_incendiary_large), new ComparableStack(ModItems.fuel_tank_large), new ComparableStack(ModItems.thruster_large))); - recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.missile_rain), 300, 25_000L, new ComparableStack(ModItems.warhead_cluster_large), new ComparableStack(ModItems.fuel_tank_large), new ComparableStack(ModItems.thruster_large))); - recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.missile_drill), 300, 25_000L, new ComparableStack(ModItems.warhead_buster_large), new ComparableStack(ModItems.fuel_tank_large), new ComparableStack(ModItems.thruster_large))); + recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.missile_burst), 300, 25_000L, new ComparableStack(ModItems.warhead_generic_large), new ComparableStack(ModItems.fuel_tank_medium, 2), new ComparableStack(ModItems.thruster_medium, 4))); + recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.missile_inferno), 300, 25_000L, new ComparableStack(ModItems.warhead_incendiary_large), new ComparableStack(ModItems.fuel_tank_medium, 2), new ComparableStack(ModItems.thruster_medium, 4))); + recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.missile_rain), 300, 25_000L, new ComparableStack(ModItems.warhead_cluster_large), new ComparableStack(ModItems.fuel_tank_medium, 2), new ComparableStack(ModItems.thruster_medium, 4))); + recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.missile_drill), 300, 25_000L, new ComparableStack(ModItems.warhead_buster_large), new ComparableStack(ModItems.fuel_tank_medium, 2), new ComparableStack(ModItems.thruster_medium, 4))); - recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.missile_nuclear), 600, 50_000L, new ComparableStack(ModItems.warhead_nuclear), new ComparableStack(ModItems.fuel_tank_large), new ComparableStack(ModItems.thruster_large))); - recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.missile_nuclear_cluster), 600, 50_000L, new ComparableStack(ModItems.warhead_mirv), new ComparableStack(ModItems.fuel_tank_large), new ComparableStack(ModItems.thruster_large))); - recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.missile_volcano), 600, 50_000L, new ComparableStack(ModItems.warhead_volcano), new ComparableStack(ModItems.fuel_tank_large), new ComparableStack(ModItems.thruster_large))); - - recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.missile_endo), 200, 10_000L, new ComparableStack(ModItems.warhead_thermo_endo), new ComparableStack(ModItems.fuel_tank_large), new ComparableStack(ModItems.thruster_large))); - recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.missile_exo), 200, 10_000L, new ComparableStack(ModItems.warhead_thermo_exo), new ComparableStack(ModItems.fuel_tank_large), new ComparableStack(ModItems.thruster_large))); + recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.missile_nuclear), 600, 50_000L, new ComparableStack(ModItems.warhead_nuclear), new ComparableStack(ModItems.fuel_tank_large), new ComparableStack(ModItems.thruster_large, 3))); + recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.missile_nuclear_cluster), 600, 50_000L, new ComparableStack(ModItems.warhead_mirv), new ComparableStack(ModItems.fuel_tank_large), new ComparableStack(ModItems.thruster_large, 3))); + recipes.add(new ArcWelderRecipe(new ItemStack(ModItems.missile_volcano), 600, 50_000L, new ComparableStack(ModItems.warhead_volcano), new ComparableStack(ModItems.fuel_tank_large), new ComparableStack(ModItems.thruster_large, 3))); } public static HashMap getRecipes() { diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java index 33b9a227b..4a282e8e1 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java @@ -1,149 +1,57 @@ package com.hbm.inventory.recipes; -import com.google.gson.Gson; +import static com.hbm.inventory.OreDictManager.*; + +import java.io.IOException; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.stream.JsonWriter; import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.generic.BlockCap.EnumCapBlock; import com.hbm.config.GeneralConfig; import com.hbm.inventory.OreDictManager; -import com.hbm.inventory.RecipesCommon.AStack; -import com.hbm.inventory.RecipesCommon.ComparableStack; -import com.hbm.inventory.RecipesCommon.OreDictStack; +import com.hbm.inventory.RecipesCommon.*; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.material.MaterialShapes; import com.hbm.inventory.material.Mats; import com.hbm.inventory.material.NTMMaterial; +import com.hbm.inventory.recipes.loader.SerializableRecipe; import com.hbm.items.ItemAmmoEnums; -import com.hbm.items.ItemGenericPart.EnumPartType; import com.hbm.items.ModItems; +import com.hbm.items.ItemGenericPart.EnumPartType; import com.hbm.items.machine.ItemAssemblyTemplate; import com.hbm.items.machine.ItemDrillbit.EnumDrillType; import com.hbm.items.machine.ItemPistons.EnumPistonType; import com.hbm.items.weapon.ItemAmmoHIMARS; import com.hbm.main.MainRegistry; + import cpw.mods.fml.common.Loader; import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraftforge.oredict.OreDictionary; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.util.*; -import java.util.Map.Entry; - -import static com.hbm.inventory.OreDictManager.*; - -public class AssemblerRecipes { - - public static File config; - public static File template; - private static final Gson gson = new Gson(); - public static HashMap recipes = new HashMap(); - public static HashMap time = new HashMap(); +public class AssemblerRecipes extends SerializableRecipe { + + public static HashMap recipes = new HashMap(); public static List recipeList = new ArrayList(); - public static HashMap> hidden = new HashMap(); - /** - * Pre-Init phase: Finds the recipe config (if exists) and checks if a template is present, if not it generates one. - * @param dir The suggested config folder - */ - public static void preInit(File dir) { - - if(dir == null || !dir.isDirectory()) - return; - - template = dir; - - List files = Arrays.asList(dir.listFiles()); - - for(File file : files) { - if(file.getName().equals("hbmAssembler.json")) { - config = file; - } - } - } - - public static void loadRecipes() { - - if(config == null) { - registerDefaults(); - } else { - loadJSONRecipes(); - } - - generateList(); - saveTemplateJSON(template); - } - - /** - * Generates an ordered list of outputs, used by the template item to generate subitems - */ - private static void generateList() { - - List list = new ArrayList(recipes.keySet()); - Collections.sort(list); - recipeList = list; - } - - public static ItemStack getOutputFromTempate(ItemStack stack) { - - if(stack != null && stack.getItem() instanceof ItemAssemblyTemplate) { - - ComparableStack comp = ItemAssemblyTemplate.readType(stack); - - //NEW - if(comp != null) { - return comp.toStack(); - } - - //LEGACY - int i = stack.getItemDamage(); - if(i >= 0 && i < recipeList.size()) { - return recipeList.get(i).toStack(); - } - } - - return null; - } - - public static List getRecipeFromTempate(ItemStack stack) { - - if(stack != null && stack.getItem() instanceof ItemAssemblyTemplate) { - - //NEW - ComparableStack compStack = ItemAssemblyTemplate.readType(stack); - if(compStack != null) { - AStack[] ret = recipes.get(compStack); - return ret == null ? null : Arrays.asList(ret); - } - - //LEGACY - int i = stack.getItemDamage(); - if(i >= 0 && i < recipeList.size()) { - ItemStack out = recipeList.get(i).toStack(); - - if(out != null) { - ComparableStack comp = new ComparableStack(out); - AStack[] ret = recipes.get(comp); - return ret == null ? null : Arrays.asList(ret); - } - } - } - - return null; - } - - /** - * Registers regular recipes if there's no custom configuration - */ - private static void registerDefaults() { + /** Legacy NOP, WarTec needs this */ + public static void loadRecipes() { } + + @Override + public void registerDefaults() { boolean exp = GeneralConfig.enableExpensiveMode; @@ -173,13 +81,12 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModItems.centrifuge_element, 1), new AStack[] {new OreDictStack(STEEL.plate528(), 4), new OreDictStack(TI.plate528(), 4), new ComparableStack(ModItems.motor, 1), }, 100); makeRecipe(new ComparableStack(ModItems.magnet_circular, 1), new AStack[] {new ComparableStack(ModBlocks.fusion_conductor, 5), new OreDictStack(STEEL.ingot(), 4), new OreDictStack(ALLOY.plate(), 6), },150); makeRecipe(new ComparableStack(ModItems.reactor_core, 1), new AStack[] {new OreDictStack(PB.ingot(), 8), new OreDictStack(BE.ingot(), 6), new OreDictStack(STEEL.plate(), 16), new OreDictStack(OreDictManager.getReflector(), 8), new OreDictStack(FIBER.ingot(), 2) },100); - makeRecipe(new ComparableStack(ModItems.rtg_unit, 1), new AStack[] {new ComparableStack(ModItems.thermo_element, 2), new ComparableStack(ModItems.board_copper, 1), new OreDictStack(PB.ingot(), 2), new OreDictStack(STEEL.plate(), 2), new ComparableStack(ModItems.circuit_copper, 1), },100); + makeRecipe(new ComparableStack(ModItems.rtg_unit, 1), new AStack[] {new ComparableStack(ModItems.thermo_element, 2), new OreDictStack(CU.plateCast(), 1), new OreDictStack(PB.ingot(), 2), new OreDictStack(STEEL.plate(), 2), new ComparableStack(ModItems.circuit_copper, 1), },100); makeRecipe(new ComparableStack(ModItems.levitation_unit, 1), new AStack[] {new ComparableStack(ModItems.coil_copper, 4), new ComparableStack(ModItems.coil_tungsten, 2), new OreDictStack(TI.plate(), 6), new ComparableStack(ModItems.nugget_schrabidium, 2), },100); - makeRecipe(new ComparableStack(ModItems.drill_titanium, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 2), new OreDictStack(DURA.ingot(), 2), new ComparableStack(ModItems.bolt_dura_steel, 2), new OreDictStack(TI.plate(), 6), },100); + makeRecipe(new ComparableStack(ModItems.drill_titanium, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 2), new OreDictStack(DURA.ingot(), 2), new OreDictStack(DURA.bolt(), 4), new OreDictStack(TI.plate(), 6), },100); makeRecipe(new ComparableStack(ModItems.entanglement_kit, 1), new AStack[] {new OreDictStack(STEEL.plate(), 8), new OreDictStack(DURA.ingot(), 4), new OreDictStack(CU.plate(), 24), new ComparableStack(ModBlocks.hadron_coil_gold, 4), new OreDictStack(Fluids.XENON.getDict(1_000))},200); makeRecipe(new ComparableStack(ModItems.dysfunctional_reactor, 1), new AStack[] {new OreDictStack(STEEL.plate(), 15), new OreDictStack(PB.ingot(), 5), new ComparableStack(ModItems.rod_quad_empty, 10), new OreDictStack("dyeBrown", 3), },200); - makeRecipe(new ComparableStack(ModItems.missile_assembly, 1), new AStack[] {new ComparableStack(ModItems.hull_small_steel, 1), new ComparableStack(ModItems.hull_small_aluminium, 4), new OreDictStack(STEEL.ingot(), 2), new OreDictStack(TI.plate(), 6), new ComparableStack(ModItems.wire_aluminium, 6), new ComparableStack(ModItems.canister_full, 3, Fluids.KEROSENE.getID()), new ComparableStack(ModItems.circuit_targeting_tier1, 1), },200); - makeRecipe(new ComparableStack(ModItems.missile_carrier, 1), new AStack[] {new ComparableStack(ModItems.fluid_barrel_full, 16, Fluids.KEROSENE.getID()), new ComparableStack(ModItems.thruster_medium, 4), new ComparableStack(ModItems.thruster_large, 1), new ComparableStack(ModItems.hull_big_titanium, 6), new ComparableStack(ModItems.hull_big_steel, 2), new ComparableStack(ModItems.hull_small_aluminium, 12), new OreDictStack(TI.plate(), 24), new OreDictStack(ANY_RUBBER.ingot(), 128), new ComparableStack(ModBlocks.det_cord, 8), new ComparableStack(ModItems.circuit_targeting_tier3, 12), new ComparableStack(ModItems.circuit_targeting_tier4, 3), },4800); + makeRecipe(new ComparableStack(ModItems.missile_assembly, 1), new AStack[] {new OreDictStack(STEEL.shell(), 2), new OreDictStack(AL.shell(), 2), new OreDictStack(TI.plate(), 8), new OreDictStack(ANY_PLASTIC.ingot(), 8), new ComparableStack(ModItems.rocket_fuel, 8), new ComparableStack(ModItems.circuit_targeting_tier1, 1), }, 200); makeRecipe(new ComparableStack(ModItems.warhead_generic_small, 1), new AStack[] {new OreDictStack(TI.plate(), 5), new OreDictStack(STEEL.plate(), 3), new ComparableStack(ModItems.ball_dynamite, 2), new ComparableStack(ModItems.circuit_targeting_tier2) },100); makeRecipe(new ComparableStack(ModItems.warhead_generic_medium, 1), new AStack[] {new OreDictStack(TI.plate(), 8), new OreDictStack(STEEL.plate(), 5), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 4), new ComparableStack(ModItems.circuit_targeting_tier3) },150); makeRecipe(new ComparableStack(ModItems.warhead_generic_large, 1), new AStack[] {new OreDictStack(TI.plate(), 15), new OreDictStack(STEEL.plate(), 8), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 8), new ComparableStack(ModItems.circuit_targeting_tier4) },200); @@ -195,41 +102,31 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModItems.warhead_nuclear, 1), new AStack[] {new ComparableStack(ModItems.boy_shielding, 1), new ComparableStack(ModItems.boy_target, 1), new ComparableStack(ModItems.boy_bullet, 1), new ComparableStack(ModItems.boy_propellant, 1), new ComparableStack(ModItems.wire_red_copper, 6), new OreDictStack(TI.plate(), 24), new ComparableStack(ModItems.circuit_targeting_tier4, 1) },300); makeRecipe(new ComparableStack(ModItems.warhead_mirv, 1), new AStack[] {new OreDictStack(TI.plate(), 24), new OreDictStack(STEEL.plate(), 12), new OreDictStack(PU239.ingot(), 1), new ComparableStack(ModItems.ball_tatb, 8), new OreDictStack(BE.ingot(), 4), new OreDictStack(LI.ingot(), 4), new ComparableStack(ModItems.cell_deuterium, 6), new ComparableStack(ModItems.circuit_targeting_tier4, 3) },500); makeRecipe(new ComparableStack(ModItems.warhead_volcano, 1), new AStack[] {new OreDictStack(TI.plate(), 24), new OreDictStack(STEEL.plate(), 16), new ComparableStack(ModBlocks.det_nuke, 3), new OreDictStack(U238.block(), 24), new ComparableStack(ModItems.circuit_tantalium, 5) }, 600); - makeRecipe(new ComparableStack(ModItems.warhead_thermo_endo, 1), new AStack[] {new ComparableStack(ModBlocks.therm_endo, 2), new OreDictStack(TI.plate(), 12), new ComparableStack(ModItems.circuit_targeting_tier3, 1) },300); - makeRecipe(new ComparableStack(ModItems.warhead_thermo_exo, 1), new AStack[] {new ComparableStack(ModBlocks.therm_exo, 2), new OreDictStack(TI.plate(), 12), new ComparableStack(ModItems.circuit_targeting_tier3, 1) },300); + makeRecipe(new ComparableStack(ModItems.missile_stealth, 1), new AStack[] { new OreDictStack(TI.plate(), 20), new OreDictStack(AL.plate(), 20), new OreDictStack(CU.plate(), 10), new OreDictStack(KEY_BLACK, 16), new OreDictStack(ANY_HARDPLASTIC.ingot(), 16), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 4), new ComparableStack(ModItems.circuit_gold), new OreDictStack(STEEL.bolt(), 32) },1200); makeRecipe(new ComparableStack(ModItems.thruster_nuclear, 1), new AStack[] {new OreDictStack(DURA.ingot(), 32), new OreDictStack(B.ingot(), 8), new OreDictStack(PB.plate(), 16), new ComparableStack(ModItems.pipes_steel), new ComparableStack(ModItems.circuit_gold, 1) },600); - makeRecipe(new ComparableStack(ModItems.sat_base, 1), new AStack[] {new ComparableStack(ModItems.thruster_large, 1), new OreDictStack(STEEL.plate(), 6), new ComparableStack(ModItems.plate_desh, 4), new ComparableStack(ModItems.hull_big_titanium, 3), new ComparableStack(ModItems.fluid_barrel_full, 1, Fluids.KEROSENE.getID()), new ComparableStack(ModItems.photo_panel, 24), new ComparableStack(ModItems.board_copper, 12), new ComparableStack(ModItems.circuit_gold, 6), new ComparableStack(ModItems.battery_lithium_cell_6, 1), },500); - makeRecipe(new ComparableStack(ModItems.sat_head_mapper, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 4), new OreDictStack(STEEL.plate(), 6), new ComparableStack(ModItems.hull_small_steel, 3), new ComparableStack(ModItems.plate_desh, 2), new ComparableStack(ModItems.circuit_gold, 2), new OreDictStack(RUBBER.ingot(), 12), new OreDictStack(REDSTONE.dust(), 6), new ComparableStack(Items.diamond, 1), new ComparableStack(Blocks.glass_pane, 6), },400); + makeRecipe(new ComparableStack(ModItems.sat_base, 1), new AStack[] {new ComparableStack(ModItems.thruster_large, 1), new OreDictStack(STEEL.plate(), 6), new ComparableStack(ModItems.plate_desh, 4), new OreDictStack(TI.shell(), 3), new ComparableStack(ModItems.fluid_barrel_full, 1, Fluids.KEROSENE.getID()), new ComparableStack(ModItems.photo_panel, 24), new OreDictStack(CU.plateCast(), 12), new ComparableStack(ModItems.circuit_gold, 6), new ComparableStack(ModItems.battery_lithium_cell_6, 1), },500); + makeRecipe(new ComparableStack(ModItems.sat_head_mapper, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 4), new OreDictStack(STEEL.plate(), 6), new OreDictStack(STEEL.shell(), 3), new ComparableStack(ModItems.plate_desh, 2), new ComparableStack(ModItems.circuit_gold, 2), new OreDictStack(RUBBER.ingot(), 12), new OreDictStack(REDSTONE.dust(), 6), new ComparableStack(Items.diamond, 1), new ComparableStack(Blocks.glass_pane, 6), },400); makeRecipe(new ComparableStack(ModItems.sat_head_scanner, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 6), new OreDictStack(TI.plate(), 32), new ComparableStack(ModItems.plate_desh, 6), new ComparableStack(ModItems.magnetron, 6), new ComparableStack(ModItems.coil_advanced_torus, 2), new ComparableStack(ModItems.circuit_gold, 6), new OreDictStack(RUBBER.ingot(), 6), new ComparableStack(Items.diamond, 1), },400); makeRecipe(new ComparableStack(ModItems.sat_head_radar, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 4), new OreDictStack(TI.plate(), 32), new ComparableStack(ModItems.magnetron, 12), new OreDictStack(RUBBER.ingot(), 16), new ComparableStack(ModItems.wire_red_copper, 16), new ComparableStack(ModItems.coil_gold, 3), new ComparableStack(ModItems.circuit_gold, 5), new ComparableStack(Items.diamond, 1), },400); - makeRecipe(new ComparableStack(ModItems.sat_head_laser, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 12), new OreDictStack(W.ingot(), 16), new OreDictStack(ANY_PLASTIC.ingot(), 6), new OreDictStack(RUBBER.ingot(), 16), new ComparableStack(ModItems.board_copper, 24), new ComparableStack(ModItems.circuit_targeting_tier5, 2), new OreDictStack(REDSTONE.dust(), 16), new ComparableStack(Items.diamond, 5), new ComparableStack(Blocks.glass_pane, 16), },450); + makeRecipe(new ComparableStack(ModItems.sat_head_laser, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 12), new OreDictStack(W.ingot(), 16), new OreDictStack(ANY_PLASTIC.ingot(), 6), new OreDictStack(RUBBER.ingot(), 16), new OreDictStack(CU.plateCast(), 24), new ComparableStack(ModItems.circuit_targeting_tier5, 2), new OreDictStack(REDSTONE.dust(), 16), new ComparableStack(Items.diamond, 5), new ComparableStack(Blocks.glass_pane, 16), },450); makeRecipe(new ComparableStack(ModItems.sat_head_resonator, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 32), new OreDictStack(ANY_PLASTIC.ingot(), 48), new OreDictStack(RUBBER.ingot(), 8), new ComparableStack(ModItems.crystal_xen, 1), new OreDictStack(STAR.ingot(), 7), new ComparableStack(ModItems.circuit_targeting_tier5, 6), new ComparableStack(ModItems.circuit_targeting_tier6, 2), },1000); - makeRecipe(new ComparableStack(ModItems.sat_foeq, 1), new AStack[] {new OreDictStack(STEEL.plate(), 8), new OreDictStack(TI.plate(), 12), new ComparableStack(ModItems.plate_desh, 8), new ComparableStack(ModItems.hull_big_titanium, 3), new ComparableStack(ModItems.fluid_barrel_full, 1, Fluids.HYDROGEN.getID()), new ComparableStack(ModItems.photo_panel, 16), new ComparableStack(ModItems.thruster_nuclear, 1), new ComparableStack(ModItems.ingot_uranium_fuel, 6), new ComparableStack(ModItems.circuit_targeting_tier5, 6), new ComparableStack(ModItems.magnetron, 3), new ComparableStack(ModItems.battery_lithium_cell_6, 1), },1200); + makeRecipe(new ComparableStack(ModItems.sat_foeq, 1), new AStack[] {new OreDictStack(STEEL.plate(), 8), new OreDictStack(TI.plate(), 12), new ComparableStack(ModItems.plate_desh, 8), new OreDictStack(TI.shell(), 3), new ComparableStack(ModItems.fluid_barrel_full, 1, Fluids.HYDROGEN.getID()), new ComparableStack(ModItems.photo_panel, 16), new ComparableStack(ModItems.thruster_nuclear, 1), new ComparableStack(ModItems.ingot_uranium_fuel, 6), new ComparableStack(ModItems.circuit_targeting_tier5, 6), new ComparableStack(ModItems.magnetron, 3), new ComparableStack(ModItems.battery_lithium_cell_6, 1), },1200); makeRecipe(new ComparableStack(ModItems.sat_miner, 1), new AStack[] {new OreDictStack(BIGMT.plate(), 24), new ComparableStack(ModItems.plate_desh, 8), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.drill_titanium, 2), new ComparableStack(ModItems.circuit_targeting_tier4, 2), new ComparableStack(ModItems.fluid_barrel_full, 1, Fluids.KEROSENE.getID()), new ComparableStack(ModItems.thruster_small, 1), new ComparableStack(ModItems.photo_panel, 12), new ComparableStack(ModItems.centrifuge_element, 4), new ComparableStack(ModItems.magnetron, 3), new OreDictStack(RUBBER.ingot(), 12), new ComparableStack(ModItems.battery_lithium_cell_6, 1), },600); makeRecipe(new ComparableStack(ModItems.sat_lunar_miner, 1), new AStack[] {new ComparableStack(ModItems.ingot_meteorite, 4), new ComparableStack(ModItems.plate_desh, 4), new ComparableStack(ModItems.motor_desh, 2), new ComparableStack(ModItems.drill_titanium, 2), new ComparableStack(ModItems.circuit_targeting_tier4, 2), new ComparableStack(ModItems.fluid_barrel_full, 1, Fluids.KEROSENE.getID()), new ComparableStack(ModItems.thruster_small, 1), new ComparableStack(ModItems.photo_panel, 12), new ComparableStack(ModItems.magnetron, 3), new OreDictStack(RUBBER.ingot(), 12), new ComparableStack(ModItems.battery_lithium_cell_6, 1), },600); - makeRecipe(new ComparableStack(ModItems.chopper_head, 1), new AStack[] {new ComparableStack(ModBlocks.reinforced_glass, 2), new ComparableStack(ModBlocks.fwatz_computer, 1), new OreDictStack(CMB.ingot(), 22), new ComparableStack(ModItems.wire_magnetized_tungsten, 4), },300); + makeRecipe(new ComparableStack(ModItems.chopper_head, 1), new AStack[] {new ComparableStack(ModBlocks.reinforced_glass, 2), new ComparableStack(ModItems.circuit_gold, 3), new OreDictStack(CMB.ingot(), 22), new ComparableStack(ModItems.wire_magnetized_tungsten, 4), },300); makeRecipe(new ComparableStack(ModItems.chopper_gun, 1), new AStack[] {new OreDictStack(CMB.plate(), 4), new OreDictStack(CMB.ingot(), 2), new ComparableStack(ModItems.wire_tungsten, 6), new ComparableStack(ModItems.coil_magnetized_tungsten, 1), new ComparableStack(ModItems.motor, 1), },150); - makeRecipe(new ComparableStack(ModItems.chopper_torso, 1), new AStack[] {new OreDictStack(CMB.ingot(), 26), new ComparableStack(ModBlocks.fwatz_computer, 1), new ComparableStack(ModItems.wire_magnetized_tungsten, 4), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.chopper_blades, 2), },350); + makeRecipe(new ComparableStack(ModItems.chopper_torso, 1), new AStack[] {new OreDictStack(CMB.ingot(), 26), new ComparableStack(ModItems.circuit_gold, 3), new ComparableStack(ModItems.wire_magnetized_tungsten, 4), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.chopper_blades, 2), },350); makeRecipe(new ComparableStack(ModItems.chopper_tail, 1), new AStack[] {new OreDictStack(CMB.plate(), 8), new OreDictStack(CMB.ingot(), 5), new ComparableStack(ModItems.wire_magnetized_tungsten, 4), new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.chopper_blades, 2), },200); makeRecipe(new ComparableStack(ModItems.chopper_wing, 1), new AStack[] {new OreDictStack(CMB.plate(), 6), new OreDictStack(CMB.ingot(), 3), new ComparableStack(ModItems.wire_magnetized_tungsten, 2), },150); makeRecipe(new ComparableStack(ModItems.chopper_blades, 1), new AStack[] {new OreDictStack(CMB.plate(), 8), new OreDictStack(STEEL.plate(), 2), new OreDictStack(CMB.ingot(), 2), },200); makeRecipe(new ComparableStack(ModItems.circuit_aluminium, 1), new AStack[] {new ComparableStack(ModItems.circuit_raw, 1), },50); makeRecipe(new ComparableStack(ModItems.circuit_copper, 1), new AStack[] {new ComparableStack(ModItems.circuit_aluminium, 1), new ComparableStack(ModItems.wire_copper, 4), new OreDictStack(NETHERQUARTZ.dust(), 1), new OreDictStack(CU.plate(), 1), },100); makeRecipe(new ComparableStack(ModItems.circuit_red_copper, 1), new AStack[] {new ComparableStack(ModItems.circuit_copper, 1), new ComparableStack(ModItems.wire_red_copper, 4), new OreDictStack(GOLD.dust(), 1), new ComparableStack(ModItems.plate_polymer, 1), },150); - makeRecipe(new ComparableStack(ModItems.crt_display, 8), new AStack[] {new OreDictStack(AL.dust(), 2), new ComparableStack(Blocks.glass_pane, 2), new ComparableStack(ModItems.wire_tungsten, 4), new ComparableStack(ModItems.hull_small_steel, 1) }, 100); + makeRecipe(new ComparableStack(ModItems.crt_display, 8), new AStack[] {new OreDictStack(AL.dust(), 2), new ComparableStack(Blocks.glass_pane, 2), new ComparableStack(ModItems.wire_tungsten, 4), new OreDictStack(STEEL.shell(), 1) }, 100); makeRecipe(new ComparableStack(ModItems.tritium_deuterium_cake, 1), new AStack[] {new ComparableStack(ModItems.cell_deuterium, 6), new ComparableStack(ModItems.cell_tritium, 2), new OreDictStack(LI.ingot(), 4), },150); makeRecipe(new ComparableStack(ModItems.pellet_cluster, 1), new AStack[] {new OreDictStack(STEEL.plate(), 4), new ComparableStack(Blocks.tnt, 1), }, 50); makeRecipe(new ComparableStack(ModItems.pellet_buckshot, 1), new AStack[] {new OreDictStack(PB.nugget(), 6), }, 50); - makeRecipe(new ComparableStack(ModItems.australium_iii, 1), new AStack[] {new ComparableStack(ModItems.nugget_australium, 6), new OreDictStack(STEEL.ingot(), 1), new OreDictStack(STEEL.plate(), 6), new OreDictStack(CU.plate(), 2), new ComparableStack(ModItems.wire_copper, 6), },150); makeRecipe(new ComparableStack(ModItems.magnetron, 1), new AStack[] {new OreDictStack(ALLOY.plate(), 3), new ComparableStack(ModItems.wire_tungsten, 1), new ComparableStack(ModItems.coil_tungsten, 1), },100); - makeRecipe(new ComparableStack(ModItems.pellet_schrabidium, 1), new AStack[] {new OreDictStack(SA326.ingot(), 5), new OreDictStack(IRON.plate(), 2), }, 200); - makeRecipe(new ComparableStack(ModItems.pellet_hes, 1), new AStack[] {new ComparableStack(ModItems.ingot_hes, 5), new OreDictStack(IRON.plate(), 2), }, 200); - makeRecipe(new ComparableStack(ModItems.pellet_mes, 1), new AStack[] {new ComparableStack(ModItems.ingot_schrabidium_fuel, 5), new OreDictStack(IRON.plate(), 2), }, 200); - makeRecipe(new ComparableStack(ModItems.pellet_les, 1), new AStack[] {new ComparableStack(ModItems.ingot_les, 5), new OreDictStack(IRON.plate(), 2), }, 200); - makeRecipe(new ComparableStack(ModItems.pellet_beryllium, 1), new AStack[] {new OreDictStack(BE.ingot(), 5), new OreDictStack(IRON.plate(), 2), }, 200); - makeRecipe(new ComparableStack(ModItems.pellet_neptunium, 1), new AStack[] {new OreDictStack(NP237.ingot(), 5), new OreDictStack(IRON.plate(), 2), }, 200); - makeRecipe(new ComparableStack(ModItems.pellet_lead, 1), new AStack[] {new OreDictStack(PB.ingot(), 5), new OreDictStack(IRON.plate(), 2), }, 200); - makeRecipe(new ComparableStack(ModItems.pellet_advanced, 1), new AStack[] {new OreDictStack(DESH.ingot(), 5), new OreDictStack(IRON.plate(), 2), }, 200); makeRecipe(new ComparableStack(ModItems.upgrade_template, 1), new AStack[] {new OreDictStack(STEEL.plate528(), 1), new OreDictStack(IRON.plate528(), 4), new OreDictStack(CU.plate528(), 2), new ComparableStack(ModItems.wire_copper, 6), },100); makeRecipe(new ComparableStack(ModItems.upgrade_speed_1, 1), new AStack[] {new ComparableStack(ModItems.upgrade_template, 1), new OreDictStack(MINGRADE.dust(), 4), new OreDictStack(REDSTONE.dust(), 6), new ComparableStack(ModItems.wire_red_copper, 4), },200); makeRecipe(new ComparableStack(ModItems.upgrade_speed_2, 1), new AStack[] {new ComparableStack(ModItems.upgrade_speed_1, 1), new OreDictStack(MINGRADE.dust(), 2), new OreDictStack(REDSTONE.dust(), 4), new ComparableStack(ModItems.circuit_red_copper, 4), new ComparableStack(ModItems.wire_red_copper, 4), new OreDictStack(ANY_PLASTIC.ingot(), 2), },300); @@ -243,21 +140,20 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModItems.upgrade_fortune_1, 1), new AStack[] {new ComparableStack(ModItems.upgrade_template, 1), new OreDictStack(DIAMOND.dust(), 4), new OreDictStack(IRON.dust(), 6), new ComparableStack(ModItems.wire_red_copper, 4), },200); makeRecipe(new ComparableStack(ModItems.upgrade_fortune_2, 1), new AStack[] {new ComparableStack(ModItems.upgrade_fortune_1, 1), new OreDictStack(DIAMOND.dust(), 2), new OreDictStack(IRON.dust(), 4), new ComparableStack(ModItems.circuit_red_copper, 4), new ComparableStack(ModItems.wire_red_copper, 4), new OreDictStack(ANY_PLASTIC.ingot(), 2), },300); makeRecipe(new ComparableStack(ModItems.upgrade_fortune_3, 1), new AStack[] {new ComparableStack(ModItems.upgrade_fortune_2, 1), new OreDictStack(DIAMOND.dust(), 2), new OreDictStack(IRON.dust(), 6), new OreDictStack(DESH.ingot(), 4), },500); - makeRecipe(new ComparableStack(ModItems.upgrade_afterburn_1, 1), new AStack[] {new ComparableStack(ModItems.upgrade_template, 1), new OreDictStack(POLYMER.dust(), 4), new OreDictStack(W.dust(), 6), new ComparableStack(ModItems.wire_red_copper, 4), },200); - makeRecipe(new ComparableStack(ModItems.upgrade_afterburn_2, 1), new AStack[] {new ComparableStack(ModItems.upgrade_afterburn_1, 1), new OreDictStack(POLYMER.dust(), 2), new OreDictStack(W.dust(), 4), new ComparableStack(ModItems.circuit_red_copper, 4), new ComparableStack(ModItems.wire_red_copper, 4), new OreDictStack(ANY_PLASTIC.ingot(), 2), },300); - makeRecipe(new ComparableStack(ModItems.upgrade_afterburn_3, 1), new AStack[] {new ComparableStack(ModItems.upgrade_afterburn_2, 1), new OreDictStack(POLYMER.dust(), 2), new OreDictStack(W.dust(), 6), new OreDictStack(DESH.ingot(), 4), },500); + makeRecipe(new ComparableStack(ModItems.upgrade_afterburn_1, 1), new AStack[] {new ComparableStack(ModItems.upgrade_template, 1), new OreDictStack(ANY_PLASTIC.dust(), 4), new OreDictStack(W.dust(), 6), new ComparableStack(ModItems.wire_red_copper, 4), },200); + makeRecipe(new ComparableStack(ModItems.upgrade_afterburn_2, 1), new AStack[] {new ComparableStack(ModItems.upgrade_afterburn_1, 1), new OreDictStack(ANY_PLASTIC.dust(), 2), new OreDictStack(W.dust(), 4), new ComparableStack(ModItems.circuit_red_copper, 4), new ComparableStack(ModItems.wire_red_copper, 4), new OreDictStack(ANY_PLASTIC.ingot(), 2), },300); + makeRecipe(new ComparableStack(ModItems.upgrade_afterburn_3, 1), new AStack[] {new ComparableStack(ModItems.upgrade_afterburn_2, 1), new OreDictStack(ANY_PLASTIC.dust(), 2), new OreDictStack(W.dust(), 6), new OreDictStack(DESH.ingot(), 4), },500); makeRecipe(new ComparableStack(ModItems.upgrade_radius, 1), new AStack[] {new ComparableStack(ModItems.upgrade_template, 1), new ComparableStack(Items.glowstone_dust, 6), new OreDictStack(DIAMOND.dust(), 4), },500); makeRecipe(new ComparableStack(ModItems.upgrade_health, 1), new AStack[] {new ComparableStack(ModItems.upgrade_template, 1), new ComparableStack(Items.glowstone_dust, 6), new OreDictStack(TI.dust(), 4), },500); makeRecipe(new ComparableStack(ModItems.upgrade_overdrive_1, 1), new AStack[] {new ComparableStack(ModItems.upgrade_speed_3, 1), new ComparableStack(ModItems.upgrade_effect_3, 1), new OreDictStack(DESH.ingot(), 8), new ComparableStack(ModItems.powder_power, 16), new ComparableStack(ModItems.crystal_lithium, 4), new ComparableStack(ModItems.circuit_schrabidium, 1), }, 200); makeRecipe(new ComparableStack(ModItems.upgrade_overdrive_2, 1), new AStack[] {new ComparableStack(ModItems.upgrade_overdrive_1, 1), new ComparableStack(ModItems.upgrade_afterburn_1, 1), new ComparableStack(ModItems.upgrade_speed_3, 1), new ComparableStack(ModItems.upgrade_effect_3, 1), new ComparableStack(ModItems.crystal_lithium, 8), new ComparableStack(ModItems.circuit_tantalium, 16), }, 300); makeRecipe(new ComparableStack(ModItems.upgrade_overdrive_3, 1), new AStack[] {new ComparableStack(ModItems.upgrade_overdrive_2, 1), new ComparableStack(ModItems.upgrade_afterburn_1, 1), new ComparableStack(ModItems.upgrade_speed_3, 1), new ComparableStack(ModItems.upgrade_effect_3, 1), new ComparableStack(ModItems.crystal_lithium, 16), new OreDictStack(KEY_CIRCUIT_BISMUTH), }, 500); makeRecipe(new ComparableStack(ModItems.redcoil_capacitor, 1), new AStack[] {new OreDictStack(GOLD.plate(), 3), new ComparableStack(ModItems.fuse, 1), new ComparableStack(ModItems.wire_advanced_alloy, 4), new ComparableStack(ModItems.coil_advanced_alloy, 6), new ComparableStack(Blocks.redstone_block, 2), },200); - makeRecipe(new ComparableStack(ModItems.titanium_filter, 1), new AStack[] {new OreDictStack(PB.plate(), 3), new ComparableStack(ModItems.fuse, 1), new ComparableStack(ModItems.wire_tungsten, 4), new OreDictStack(TI.plate(), 6), new OreDictStack(U238.ingot(), 2), },200); - makeRecipe(new ComparableStack(ModItems.part_lithium, 1), new AStack[] {new OreDictStack(ANY_RUBBER.ingot(), 1), new OreDictStack(LI.dust(), 1), },50); - makeRecipe(new ComparableStack(ModItems.part_beryllium, 1), new AStack[] {new OreDictStack(ANY_RUBBER.ingot(), 1), new OreDictStack(BE.dust(), 1), },50); - makeRecipe(new ComparableStack(ModItems.part_carbon, 1), new AStack[] {new OreDictStack(ANY_RUBBER.ingot(), 1), new OreDictStack(COAL.dust(), 1), },50); - makeRecipe(new ComparableStack(ModItems.part_copper, 1), new AStack[] {new OreDictStack(ANY_RUBBER.ingot(), 1), new OreDictStack(CU.dust(), 1), },50); - makeRecipe(new ComparableStack(ModItems.part_plutonium, 1), new AStack[] {new OreDictStack(ANY_RUBBER.ingot(), 1), new ComparableStack(ModItems.powder_plutonium, 1), },50); + makeRecipe(new ComparableStack(ModItems.part_lithium, 8), new AStack[] {new OreDictStack(ANY_RUBBER.ingot(), 1), new OreDictStack(LI.dust(), 1), },50); + makeRecipe(new ComparableStack(ModItems.part_beryllium, 8), new AStack[] {new OreDictStack(ANY_RUBBER.ingot(), 1), new OreDictStack(BE.dust(), 1), },50); + makeRecipe(new ComparableStack(ModItems.part_carbon, 8), new AStack[] {new OreDictStack(ANY_RUBBER.ingot(), 1), new OreDictStack(COAL.dust(), 1), },50); + makeRecipe(new ComparableStack(ModItems.part_copper, 8), new AStack[] {new OreDictStack(ANY_RUBBER.ingot(), 1), new OreDictStack(CU.dust(), 1), },50); + makeRecipe(new ComparableStack(ModItems.part_plutonium, 8), new AStack[] {new OreDictStack(ANY_RUBBER.ingot(), 1), new OreDictStack(PU.dust(), 1), },50); makeRecipe(new ComparableStack(ModItems.thermo_element, 1), new AStack[] {new OreDictStack(STEEL.plate(), 1), new ComparableStack(ModItems.wire_red_copper, 2), new OreDictStack(NETHERQUARTZ.dust(), 2), }, 60); makeRecipe(new ComparableStack(ModItems.plate_dalekanium, 1), new AStack[] {new ComparableStack(ModBlocks.block_meteor, 1), },50); makeRecipe(new ComparableStack(ModBlocks.block_meteor, 1), new AStack[] {new ComparableStack(ModItems.fragment_meteorite, 100), },500); @@ -268,28 +164,27 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModBlocks.machine_centrifuge, 1), new AStack[] {new ComparableStack(ModItems.centrifuge_element, 1), new OreDictStack(ANY_PLASTIC.ingot(), 2), new OreDictStack(STEEL.plate528(), 8), new OreDictStack(CU.plate(), 8), new ComparableStack(ModItems.circuit_copper, 1), }, 200); makeRecipe(new ComparableStack(ModBlocks.machine_gascent, 1), new AStack[] {new ComparableStack(ModItems.centrifuge_element, 4), new OreDictStack(ANY_PLASTIC.ingot(), 4), new OreDictStack(DESH.ingot(), 2), new OreDictStack(STEEL.plate528(), 8), new ComparableStack(ModItems.coil_tungsten, 4), new ComparableStack(ModItems.circuit_red_copper, 1) }, 300); makeRecipe(new ComparableStack(ModBlocks.machine_rtg_furnace_off, 1), new AStack[] {new ComparableStack(Blocks.furnace, 1), new ComparableStack(ModItems.rtg_unit, 3), new OreDictStack(PB.plate528(), 6), new OreDictStack(OreDictManager.getReflector(), 4), new OreDictStack(CU.plate(), 2), },150); - makeRecipe(new ComparableStack(ModBlocks.machine_diesel, 1), new AStack[] {new ComparableStack(ModItems.hull_small_steel, 1), new ComparableStack(ModItems.piston_selenium, 1), new OreDictStack(STEEL.plateCast(), 1), new ComparableStack(ModItems.coil_copper, 4), }, 60); - makeRecipe(new ComparableStack(ModBlocks.machine_selenium, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 4), new OreDictStack(TI.plate(), 6), new OreDictStack(CU.plate(), 8), new ComparableStack(ModItems.hull_big_steel, 1), new ComparableStack(ModItems.hull_small_steel, 9), new ComparableStack(ModItems.pedestal_steel, 1), new ComparableStack(ModItems.coil_copper, 4), },250); + makeRecipe(new ComparableStack(ModBlocks.machine_diesel, 1), new AStack[] {new OreDictStack(STEEL.shell(), 1), new ComparableStack(ModItems.piston_selenium, 1), new OreDictStack(STEEL.plateCast(), 1), new ComparableStack(ModItems.coil_copper, 4), }, 60); makeRecipe(new ComparableStack(ModBlocks.machine_rtg_grey, 1), new AStack[] {new ComparableStack(ModItems.rtg_unit, 3), new OreDictStack(STEEL.plate528(), 4), new ComparableStack(ModItems.wire_red_copper, 4), new OreDictStack(ANY_PLASTIC.ingot(), 3), },200); makeRecipe(new ComparableStack(ModBlocks.machine_battery, 1), new AStack[] {new OreDictStack(STEEL.plateWelded(), 1), new OreDictStack(S.dust(), 12), new OreDictStack(PB.dust(), 12), new OreDictStack(MINGRADE.ingot(), 2), new ComparableStack(ModItems.wire_red_copper, 4), },200); makeRecipe(new ComparableStack(ModBlocks.machine_lithium_battery, 1), new AStack[] {new OreDictStack(ANY_PLASTIC.ingot(), 4), new OreDictStack(CO.dust(), 12), new OreDictStack(LI.dust(), 12), new OreDictStack(ALLOY.ingot(), 2), new ComparableStack(ModItems.wire_red_copper, 4), },400); makeRecipe(new ComparableStack(ModBlocks.machine_schrabidium_battery, 1), new AStack[] {new OreDictStack(DESH.ingot(), 4), new OreDictStack(NP237.dust(), 12), new OreDictStack(SA326.dust(), 12), new OreDictStack(SA326.ingot(), 2), new ComparableStack(ModItems.wire_schrabidium, 4), },800); makeRecipe(new ComparableStack(ModBlocks.machine_dineutronium_battery, 1), new AStack[] {new OreDictStack(DNT.ingot(), 24), new ComparableStack(ModItems.powder_spark_mix, 12), new ComparableStack(ModItems.battery_spark_cell_1000, 1), new OreDictStack(CMB.ingot(), 32), new ComparableStack(ModItems.coil_magnetized_tungsten, 8), },1600); makeRecipe(new ComparableStack(ModBlocks.machine_shredder, 1), new AStack[] {new OreDictStack(STEEL.plate528(), 8), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModBlocks.steel_beam, 2), new ComparableStack(Blocks.iron_bars, 2) },200); - makeRecipe(new ComparableStack(ModBlocks.machine_well, 1), new AStack[] {new ComparableStack(ModBlocks.steel_scaffold, 20), new ComparableStack(ModBlocks.steel_beam, 8), new ComparableStack(ModItems.tank_steel, 2), new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.pipes_steel, 3), new ComparableStack(ModItems.drill_titanium, 1), new ComparableStack(ModItems.wire_red_copper, 6), },250); - makeRecipe(new ComparableStack(ModBlocks.machine_pumpjack, 1), new AStack[] {new ComparableStack(ModBlocks.steel_scaffold, 8), new OreDictStack(STEEL.plateWelded(), 8), new ComparableStack(ModItems.pipes_steel, 4), new ComparableStack(ModItems.tank_steel, 4), new OreDictStack(STEEL.plate(), 32), new ComparableStack(ModItems.drill_titanium, 1), new ComparableStack(ModItems.motor, 2) }, 400); - makeRecipe(new ComparableStack(ModBlocks.machine_flare, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 12), new OreDictStack(IRON.ingot(), 12), new OreDictStack(CU.plate528(), 4), new ComparableStack(ModItems.tank_steel, 1), new ComparableStack(ModBlocks.deco_pipe_quad, 8), new ComparableStack(ModItems.hull_small_steel, 4), new ComparableStack(ModItems.thermo_element, 3), },200); + makeRecipe(new ComparableStack(ModBlocks.machine_well, 1), new AStack[] {new ComparableStack(ModBlocks.steel_scaffold, 20), new ComparableStack(ModBlocks.steel_beam, 8), new ComparableStack(ModItems.tank_steel, 2), new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.pipes_steel, 1), new ComparableStack(ModItems.drill_titanium, 1), new ComparableStack(ModItems.wire_red_copper, 6), },250); + makeRecipe(new ComparableStack(ModBlocks.machine_pumpjack, 1), new AStack[] {new ComparableStack(ModBlocks.steel_scaffold, 8), new OreDictStack(STEEL.plateWelded(), 8), new ComparableStack(ModItems.pipes_steel, 4), new ComparableStack(ModItems.tank_steel, 4), new OreDictStack(STEEL.plate(), 32), new ComparableStack(ModItems.drill_titanium, 1), new ComparableStack(ModItems.motor_desh) }, 400); + makeRecipe(new ComparableStack(ModBlocks.machine_flare, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 12), new OreDictStack(IRON.ingot(), 12), new OreDictStack(CU.plate528(), 4), new ComparableStack(ModItems.tank_steel, 1), new OreDictStack(STEEL.pipe(), 8), new OreDictStack(STEEL.shell(), 4), new ComparableStack(ModItems.thermo_element, 3), },200); makeRecipe(new ComparableStack(ModBlocks.machine_coker, 1), new AStack[] {!exp ? new OreDictStack(STEEL.plateWelded(), 3) : new OreDictStack(STEEL.heavyComp(), 2), new OreDictStack(IRON.ingot(), 16), new OreDictStack(CU.plate528(), 8), new OreDictStack(RUBBER.ingot(), 4), new ComparableStack(ModItems.tank_steel, 2), new ComparableStack(ModBlocks.steel_grate, 4) },200); - makeRecipe(new ComparableStack(ModBlocks.machine_refinery, 1), new AStack[] {!exp ? new OreDictStack(STEEL.plateWelded(), 3) : new OreDictStack(STEEL.heavyComp(), 1), new OreDictStack(CU.plate528(), 16), new ComparableStack(ModItems.hull_big_steel, 6), new ComparableStack(ModItems.pipes_steel, 2), new ComparableStack(ModItems.plate_polymer, 8), new ComparableStack(ModItems.circuit_red_copper, 1) },350); + makeRecipe(new ComparableStack(ModBlocks.machine_refinery, 1), new AStack[] {!exp ? new OreDictStack(STEEL.plateWelded(), 3) : new OreDictStack(STEEL.heavyComp(), 1), new OreDictStack(CU.plate528(), 16), new OreDictStack(STEEL.shell(), 6), new OreDictStack(STEEL.pipe(), 12), new ComparableStack(ModItems.plate_polymer, 8), new ComparableStack(ModItems.circuit_red_copper, 1) },350); makeRecipe(new ComparableStack(ModBlocks.machine_epress, 1), new AStack[] {new OreDictStack(STEEL.plate(), 8), new OreDictStack(ANY_RUBBER.ingot(), 4), new ComparableStack(ModItems.part_generic, 2, EnumPartType.PISTON_HYDRAULIC.ordinal()), new ComparableStack(ModItems.circuit_copper, 1) }, 100); - makeRecipe(new ComparableStack(ModBlocks.machine_chemplant, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 8), new OreDictStack(CU.plate528(), 6), new ComparableStack(ModItems.tank_steel, 4), new ComparableStack(ModItems.hull_big_steel, 1), new ComparableStack(ModItems.coil_tungsten, 3), new ComparableStack(ModItems.circuit_copper, 2), new ComparableStack(ModItems.circuit_red_copper, 1), new ComparableStack(ModItems.plate_polymer, 8), },200); - makeRecipe(new ComparableStack(ModBlocks.machine_crystallizer, 1), new AStack[] {new ComparableStack(ModItems.hull_big_steel, 4), new ComparableStack(ModItems.pipes_steel, 1), new OreDictStack(DESH.ingot(), 4), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.blades_advanced_alloy, 2), new OreDictStack(STEEL.plateWelded(), 4), new OreDictStack(TI.plate(), 16), new ComparableStack(Blocks.glass, 4), new ComparableStack(ModItems.circuit_gold, 1), },400); - makeRecipe(new ComparableStack(ModBlocks.machine_fluidtank, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 2), new OreDictStack(STEEL.plate528(), 6), new ComparableStack(ModItems.hull_big_steel, 4), new OreDictStack(ANY_TAR.any(), 4), },150); + makeRecipe(new ComparableStack(ModBlocks.machine_chemplant, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 12), new OreDictStack(CU.plate528(), 6), new ComparableStack(ModItems.tank_steel, 4), new ComparableStack(ModItems.coil_tungsten, 3), new ComparableStack(ModItems.circuit_copper, 2), new ComparableStack(ModItems.circuit_red_copper, 1), new ComparableStack(ModItems.plate_polymer, 8), },200); + makeRecipe(new ComparableStack(ModBlocks.machine_crystallizer, 1), new AStack[] {new OreDictStack(STEEL.shell(), 4), new OreDictStack(STEEL.pipe(), 8), new OreDictStack(DESH.ingot(), 4), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.blades_advanced_alloy, 2), new OreDictStack(STEEL.plateWelded(), 4), new OreDictStack(TI.plate(), 16), new ComparableStack(Blocks.glass, 4), new ComparableStack(ModItems.circuit_gold, 1), },400); + makeRecipe(new ComparableStack(ModBlocks.machine_fluidtank, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 2), new OreDictStack(STEEL.plate528(), 6), new OreDictStack(STEEL.shell(), 4), new OreDictStack(ANY_TAR.any(), 4), },150); makeRecipe(new ComparableStack(ModBlocks.machine_bat9000, 1), new AStack[] {new OreDictStack(STEEL.plate528(), 16), new OreDictStack(ANY_RESISTANTALLOY.plateWelded(), 2), new ComparableStack(ModBlocks.steel_scaffold, 16), new OreDictStack(ANY_TAR.any(), 16), },150); makeRecipe(new ComparableStack(ModBlocks.machine_orbus, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 12), new OreDictStack(ANY_RESISTANTALLOY.plateWelded(), 8), new OreDictStack(BIGMT.plate(), 12), new ComparableStack(ModItems.coil_advanced_alloy, 12), new ComparableStack(ModItems.battery_sc_polonium, 1) }, 200); - makeRecipe(new ComparableStack(ModBlocks.machine_mining_laser, 1), new AStack[] {new ComparableStack(ModItems.tank_steel, 3), !exp ? new OreDictStack(STEEL.plate528(), 16) : new OreDictStack(STEEL.heavyComp(), 3), new ComparableStack(ModItems.crystal_redstone, 3), new ComparableStack(Items.diamond, 3), new OreDictStack(ANY_PLASTIC.ingot(), 4), new ComparableStack(ModItems.motor, 3), !exp ? new OreDictStack(DURA.ingot(), 4) : new OreDictStack(DESH.heavyComp(), 1), new ComparableStack(ModItems.bolt_dura_steel, 6), new ComparableStack(ModBlocks.machine_battery, 3), },400); - makeRecipe(new ComparableStack(ModBlocks.machine_turbofan, 1), new AStack[] {!exp ? new ComparableStack(ModItems.hull_big_steel, 1) : new OreDictStack(STEEL.heavyComp(), 1), new ComparableStack(ModItems.hull_big_titanium, 3), new ComparableStack(ModItems.hull_small_steel, 2), new ComparableStack(ModItems.turbine_tungsten, 1), new ComparableStack(ModItems.turbine_titanium, 7), new ComparableStack(ModItems.bolt_compound, 8), new OreDictStack(MINGRADE.ingot(), 12), new ComparableStack(ModItems.wire_red_copper, 24), },500); - makeRecipe(new ComparableStack(ModBlocks.machine_turbinegas, 1), new AStack[] {!exp ? new ComparableStack(ModItems.hull_big_steel, 4) : new OreDictStack(STEEL.heavyComp(), 2), new ComparableStack(ModItems.hull_small_steel, 6), new ComparableStack(ModItems.generator_steel, 2), new ComparableStack(ModItems.bolt_compound, 4), new ComparableStack(ModBlocks.steel_scaffold, 8), new ComparableStack(ModBlocks.deco_pipe_quad, 4), new ComparableStack(ModItems.turbine_tungsten, 3), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.ingot_rubber, 4), new ComparableStack(ModItems.circuit_red_copper, 3)}, 600); + makeRecipe(new ComparableStack(ModBlocks.machine_mining_laser, 1), new AStack[] {new ComparableStack(ModItems.tank_steel, 3), !exp ? new OreDictStack(STEEL.plate528(), 16) : new OreDictStack(STEEL.heavyComp(), 3), new ComparableStack(ModItems.crystal_redstone, 3), new ComparableStack(Items.diamond, 3), new OreDictStack(ANY_PLASTIC.ingot(), 4), new ComparableStack(ModItems.motor, 3), !exp ? new OreDictStack(DURA.ingot(), 4) : new OreDictStack(DESH.heavyComp(), 1), new OreDictStack(DURA.bolt(), 8), new ComparableStack(ModBlocks.machine_battery, 3), },400); + makeRecipe(new ComparableStack(ModBlocks.machine_turbofan, 1), new AStack[] {!exp ? new OreDictStack(STEEL.shell(), 3) : new OreDictStack(STEEL.heavyComp(), 1), new OreDictStack(TI.shell(), 3), new ComparableStack(ModItems.turbine_tungsten, 1), new ComparableStack(ModItems.turbine_titanium, 7), new OreDictStack(DURA.pipe(), 4), new OreDictStack(MINGRADE.ingot(), 12), new ComparableStack(ModItems.wire_red_copper, 24), },500); + makeRecipe(new ComparableStack(ModBlocks.machine_turbinegas, 1), new AStack[] {!exp ? new OreDictStack(STEEL.shell(), 10) : new OreDictStack(STEEL.heavyComp(), 2), new OreDictStack(GOLD.wireDense(), 12), new OreDictStack(DURA.pipe(), 4), new ComparableStack(ModBlocks.steel_scaffold, 8), new OreDictStack(STEEL.pipe(), 4), new ComparableStack(ModItems.turbine_tungsten, 3), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.ingot_rubber, 4), new ComparableStack(ModItems.circuit_red_copper, 3)}, 600); makeRecipe(new ComparableStack(ModBlocks.machine_teleporter, 1), new AStack[] {new OreDictStack(TI.ingot(), 8), new OreDictStack(ALLOY.plate528(), 12), new ComparableStack(ModItems.wire_gold, 32), new ComparableStack(ModItems.entanglement_kit, 1), new ComparableStack(ModBlocks.machine_battery, 1) },300); makeRecipe(new ComparableStack(ModBlocks.machine_schrabidium_transmutator, 1), new AStack[] {new OreDictStack(MAGTUNG.ingot(), 1), !exp ? new OreDictStack(TI.ingot(), 24) : new OreDictStack(TI.heavyComp(), 2), !exp ? new OreDictStack(ALLOY.plate(), 18) : new OreDictStack(ALLOY.heavyComp(), 1), new OreDictStack(STEEL.plateWelded(), 12), new ComparableStack(ModItems.plate_desh, 6), new OreDictStack(RUBBER.ingot(), 8), new ComparableStack(ModBlocks.machine_battery, 5), new ComparableStack(ModItems.circuit_gold, 5), },500); makeRecipe(new ComparableStack(ModBlocks.fusion_conductor, 1), new AStack[] {new ComparableStack(ModItems.coil_advanced_alloy, 5), }, 100); @@ -299,25 +194,20 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModBlocks.watz_element, 3), new AStack[] {new OreDictStack(STEEL.plateCast(), 2), new OreDictStack(ZR.ingot(), 2), new OreDictStack(BIGMT.ingot(), 2), new OreDictStack(ANY_HARDPLASTIC.ingot(), 4)},200); makeRecipe(new ComparableStack(ModBlocks.watz_cooler, 3), new AStack[] {new OreDictStack(STEEL.plateCast(), 2), new OreDictStack(CU.plateCast(), 4), new OreDictStack(RUBBER.ingot(), 2), }, 200); makeRecipe(new ComparableStack(ModBlocks.watz_end, 3), new AStack[] {new OreDictStack(ANY_RESISTANTALLOY.plateWelded()), new OreDictStack(B.ingot(), 3), new OreDictStack(STEEL.plateWelded(), 2), }, 100); - makeRecipe(new ComparableStack(ModBlocks.fwatz_hatch, 1), new AStack[] {new OreDictStack(W.ingot(), 6), new OreDictStack(CMB.plate(), 4), },250); - makeRecipe(new ComparableStack(ModBlocks.fwatz_conductor, 1), new AStack[] {new OreDictStack(CMB.plate(), 2), new ComparableStack(ModItems.coil_magnetized_tungsten, 5), },250); - makeRecipe(new ComparableStack(ModBlocks.fwatz_computer, 1), new AStack[] {new ComparableStack(ModBlocks.block_meteor, 1), new ComparableStack(ModItems.wire_magnetized_tungsten, 16), new OreDictStack(DIAMOND.dust(), 6), new OreDictStack(MAGTUNG.dust(), 6), new OreDictStack(DESH.dust(), 4), },300); - makeRecipe(new ComparableStack(ModBlocks.fwatz_core, 1), new AStack[] {new ComparableStack(ModBlocks.block_meteor, 1), new ComparableStack(ModItems.wire_magnetized_tungsten, 24), new OreDictStack(DIAMOND.dust(), 8), new OreDictStack(MAGTUNG.dust(), 12), new OreDictStack(DESH.dust(), 8), new ComparableStack(ModItems.upgrade_power_3, 1), new ComparableStack(ModItems.upgrade_speed_3, 1), new OreDictStack(KEY_CIRCUIT_BISMUTH, 8)},450); makeRecipe(new ComparableStack(ModBlocks.nuke_gadget, 1), new AStack[] {new ComparableStack(ModItems.sphere_steel, 1), new ComparableStack(ModItems.fins_flat, 2), new ComparableStack(ModItems.pedestal_steel, 1), new ComparableStack(ModItems.circuit_targeting_tier3, 1), new ComparableStack(ModItems.wire_gold, 6), new OreDictStack("dyeGray", 6), },300); - makeRecipe(new ComparableStack(ModBlocks.nuke_boy, 1), new AStack[] {new ComparableStack(ModItems.hull_small_steel, 2), new ComparableStack(ModItems.fins_small_steel, 1), new ComparableStack(ModItems.circuit_targeting_tier2, 1), new ComparableStack(ModItems.wire_aluminium, 6), new OreDictStack("dyeBlue", 4), },300); - makeRecipe(new ComparableStack(ModBlocks.nuke_man, 1), new AStack[] {new ComparableStack(ModItems.sphere_steel, 1), new ComparableStack(ModItems.hull_big_steel, 2), new ComparableStack(ModItems.fins_big_steel, 1), new ComparableStack(ModItems.circuit_targeting_tier2, 2), new ComparableStack(ModItems.wire_copper, 6), new OreDictStack("dyeYellow", 6), },300); - makeRecipe(new ComparableStack(ModBlocks.nuke_mike, 1), new AStack[] {new ComparableStack(ModItems.sphere_steel, 1), new ComparableStack(ModItems.hull_big_aluminium, 4), new OreDictStack(AL.plate(), 3), new ComparableStack(ModItems.circuit_targeting_tier4, 3), new ComparableStack(ModItems.wire_gold, 18), new OreDictStack("dyeLightGray", 12), },300); - makeRecipe(new ComparableStack(ModBlocks.nuke_tsar, 1), new AStack[] {new ComparableStack(ModItems.sphere_steel, 1), new ComparableStack(ModItems.hull_big_titanium, 6), new ComparableStack(ModItems.hull_small_steel, 2), new ComparableStack(ModItems.fins_tri_steel, 1), new ComparableStack(ModItems.circuit_targeting_tier4, 5), new ComparableStack(ModItems.wire_gold, 24), new ComparableStack(ModItems.wire_tungsten, 12), new OreDictStack("dyeBlack", 6), },600); - makeRecipe(new ComparableStack(ModBlocks.nuke_prototype, 1), new AStack[] {new ComparableStack(ModItems.dysfunctional_reactor, 1), new ComparableStack(ModItems.hull_small_steel, 2), new ComparableStack(ModItems.ingot_euphemium, 3), new ComparableStack(ModItems.circuit_targeting_tier5, 1), new ComparableStack(ModItems.wire_gold, 16), },500); - makeRecipe(new ComparableStack(ModBlocks.nuke_fleija, 1), new AStack[] {new ComparableStack(ModItems.hull_small_aluminium, 1), new ComparableStack(ModItems.fins_quad_titanium, 1), new ComparableStack(ModItems.circuit_targeting_tier4, 2), new ComparableStack(ModItems.wire_gold, 8), new OreDictStack("dyeWhite", 4), },400); - makeRecipe(new ComparableStack(ModBlocks.nuke_solinium, 1), new AStack[] {new ComparableStack(ModItems.hull_small_steel, 2), new ComparableStack(ModItems.fins_quad_titanium, 1), new ComparableStack(ModItems.circuit_targeting_tier4, 3), new ComparableStack(ModItems.wire_gold, 10), new ComparableStack(ModItems.pipes_steel, 4), new OreDictStack("dyeGray", 4), },400); - makeRecipe(new ComparableStack(ModBlocks.nuke_n2, 1), new AStack[] {new ComparableStack(ModItems.hull_big_steel, 3), new ComparableStack(ModItems.hull_small_steel, 2), new ComparableStack(ModItems.wire_magnetized_tungsten, 12), new ComparableStack(ModItems.pipes_steel, 6), new ComparableStack(ModItems.circuit_targeting_tier4, 3), new OreDictStack("dyeBlack", 12), },300); - makeRecipe(new ComparableStack(ModBlocks.nuke_fstbmb, 1), new AStack[] {new ComparableStack(ModItems.sphere_steel, 1), new ComparableStack(ModItems.hull_big_titanium, 6), new ComparableStack(ModItems.fins_big_steel, 1), new ComparableStack(ModItems.powder_magic, 8), new ComparableStack(ModItems.wire_gold, 12), new ComparableStack(ModItems.circuit_targeting_tier4, 4), new OreDictStack("dyeGray", 6), },600); - makeRecipe(new ComparableStack(ModBlocks.nuke_custom, 1), new AStack[] {new ComparableStack(ModItems.hull_small_steel, 2), new ComparableStack(ModItems.fins_small_steel, 1), new ComparableStack(ModItems.circuit_gold, 1), new ComparableStack(ModItems.wire_gold, 12), new OreDictStack("dyeGray", 4), },300); + makeRecipe(new ComparableStack(ModBlocks.nuke_boy, 1), new AStack[] {new OreDictStack(STEEL.shell(), 2), new ComparableStack(ModItems.fins_small_steel, 1), new ComparableStack(ModItems.circuit_targeting_tier2, 1), new ComparableStack(ModItems.wire_aluminium, 6), new OreDictStack("dyeBlue", 4), },300); + makeRecipe(new ComparableStack(ModBlocks.nuke_man, 1), new AStack[] {new ComparableStack(ModItems.sphere_steel, 1), new OreDictStack(STEEL.shell(), 2), new ComparableStack(ModItems.fins_big_steel, 1), new ComparableStack(ModItems.circuit_targeting_tier2, 2), new ComparableStack(ModItems.wire_copper, 6), new OreDictStack("dyeYellow", 6), },300); + makeRecipe(new ComparableStack(ModBlocks.nuke_mike, 1), new AStack[] {new ComparableStack(ModItems.sphere_steel, 1), new OreDictStack(AL.shell(), 4), new OreDictStack(AL.plate(), 3), new ComparableStack(ModItems.circuit_targeting_tier4, 3), new ComparableStack(ModItems.wire_gold, 18), new OreDictStack("dyeLightGray", 12), },300); + makeRecipe(new ComparableStack(ModBlocks.nuke_tsar, 1), new AStack[] {new ComparableStack(ModItems.sphere_steel, 1), new OreDictStack(TI.shell(), 6), new OreDictStack(STEEL.shell(), 2), new ComparableStack(ModItems.fins_tri_steel, 1), new ComparableStack(ModItems.circuit_targeting_tier4, 5), new ComparableStack(ModItems.wire_gold, 24), new ComparableStack(ModItems.wire_tungsten, 12), new OreDictStack("dyeBlack", 6), },600); + makeRecipe(new ComparableStack(ModBlocks.nuke_prototype, 1), new AStack[] {new ComparableStack(ModItems.dysfunctional_reactor, 1), new OreDictStack(STEEL.shell(), 2), new ComparableStack(ModItems.ingot_euphemium, 3), new ComparableStack(ModItems.circuit_targeting_tier5, 1), new ComparableStack(ModItems.wire_gold, 16), },500); + makeRecipe(new ComparableStack(ModBlocks.nuke_fleija, 1), new AStack[] {new OreDictStack(AL.shell(), 1), new ComparableStack(ModItems.fins_quad_titanium, 1), new ComparableStack(ModItems.circuit_targeting_tier4, 2), new ComparableStack(ModItems.wire_gold, 8), new OreDictStack("dyeWhite", 4), },400); + makeRecipe(new ComparableStack(ModBlocks.nuke_solinium, 1), new AStack[] {new OreDictStack(STEEL.shell(), 2), new ComparableStack(ModItems.fins_quad_titanium, 1), new ComparableStack(ModItems.circuit_targeting_tier4, 3), new ComparableStack(ModItems.wire_gold, 10), new OreDictStack(STEEL.pipe(), 16), new OreDictStack("dyeGray", 4), },400); + makeRecipe(new ComparableStack(ModBlocks.nuke_n2, 1), new AStack[] {new OreDictStack(STEEL.shell(), 6), new ComparableStack(ModItems.wire_magnetized_tungsten, 12), new OreDictStack(STEEL.pipe(), 16), new ComparableStack(ModItems.circuit_targeting_tier4, 3), new OreDictStack("dyeBlack", 12), },300); + makeRecipe(new ComparableStack(ModBlocks.nuke_fstbmb, 1), new AStack[] {new ComparableStack(ModItems.sphere_steel, 1), new OreDictStack(TI.shell(), 6), new ComparableStack(ModItems.fins_big_steel, 1), new ComparableStack(ModItems.powder_magic, 8), new ComparableStack(ModItems.wire_gold, 12), new ComparableStack(ModItems.circuit_targeting_tier4, 4), new OreDictStack("dyeGray", 6), },600, ModItems.journal_pip, ModItems.journal_bj); + makeRecipe(new ComparableStack(ModBlocks.nuke_custom, 1), new AStack[] {new OreDictStack(STEEL.shell(), 2), new ComparableStack(ModItems.fins_small_steel, 1), new ComparableStack(ModItems.circuit_gold, 1), new ComparableStack(ModItems.wire_gold, 12), new OreDictStack("dyeGray", 4), },300); makeRecipe(new ComparableStack(ModBlocks.float_bomb, 1), new AStack[] {new OreDictStack(TI.plate(), 12), new ComparableStack(ModItems.levitation_unit, 1), new ComparableStack(ModItems.circuit_gold, 4), new ComparableStack(ModItems.wire_gold, 6), },250); makeRecipe(new ComparableStack(ModBlocks.therm_endo, 1), new AStack[] {new OreDictStack(TI.plate(), 12), new ComparableStack(ModItems.powder_ice, 32), new ComparableStack(ModItems.circuit_gold, 1), new ComparableStack(ModItems.coil_gold, 4), },250); makeRecipe(new ComparableStack(ModBlocks.therm_exo, 1), new AStack[] {new OreDictStack(TI.plate(), 12), new OreDictStack(P_RED.dust(), 32), new ComparableStack(ModItems.circuit_gold, 1), new ComparableStack(ModItems.coil_gold, 4), },250); - makeRecipe(new ComparableStack(ModBlocks.launch_pad, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 4), new OreDictStack(ANY_PLASTIC.ingot(), 2), new OreDictStack(STEEL.plate(), 12), new ComparableStack(ModBlocks.machine_battery, 1), new ComparableStack(ModItems.circuit_gold, 2), },250); makeRecipe(new ComparableStack(ModItems.spawn_chopper, 1), new AStack[] {new ComparableStack(ModItems.chopper_blades, 5), new ComparableStack(ModItems.chopper_gun, 1), new ComparableStack(ModItems.chopper_head, 1), new ComparableStack(ModItems.chopper_tail, 1), new ComparableStack(ModItems.chopper_torso, 1), new ComparableStack(ModItems.chopper_wing, 2), },300); makeRecipe(new ComparableStack(ModItems.gun_defabricator, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 2), new OreDictStack(ANY_PLASTIC.ingot(), 8), new OreDictStack(IRON.plate(), 5), new ComparableStack(ModItems.mechanism_special, 3), new ComparableStack(Items.diamond, 1), new ComparableStack(ModItems.plate_dalekanium, 3), },200); makeRecipe(new ComparableStack(ModItems.gun_osipr_ammo, 24), new AStack[] {new OreDictStack(STEEL.plate(), 2), new OreDictStack(REDSTONE.dust(), 1), new ComparableStack(Items.glowstone_dust, 1), },50); @@ -355,35 +245,32 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModItems.solinium_core, 1), new AStack[] {new OreDictStack(SA327.nugget(), 9), new OreDictStack(EUPH.nugget(), 1), },400); makeRecipe(new ComparableStack(ModItems.solinium_propellant, 1), new AStack[] {new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 3), new OreDictStack(OreDictManager.getReflector(), 2), new ComparableStack(ModItems.plate_polymer, 6), new ComparableStack(ModItems.wire_tungsten, 6), new ComparableStack(ModItems.biomass_compressed, 4), },350); makeRecipe(new ComparableStack(ModItems.schrabidium_hammer, 1), new AStack[] {new OreDictStack(SA326.block(), 35), new ComparableStack(ModItems.billet_yharonite, 128), new ComparableStack(Items.nether_star, 3), new ComparableStack(ModItems.fragment_meteorite, 512), },1000); - makeRecipe(new ComparableStack(ModItems.component_limiter, 1), new AStack[] {new ComparableStack(ModItems.hull_big_steel, 2), new OreDictStack(STEEL.plate(), 32), new OreDictStack(TI.plate(), 18), new ComparableStack(ModItems.plate_desh, 12), new ComparableStack(ModItems.pipes_steel, 4), new ComparableStack(ModItems.circuit_gold, 8), new ComparableStack(ModItems.circuit_schrabidium, 4), new OreDictStack(STAR.ingot(), 14), new ComparableStack(ModItems.plate_dalekanium, 5), new ComparableStack(ModItems.powder_magic, 16), new ComparableStack(ModBlocks.fwatz_computer, 3), },2500); - makeRecipe(new ComparableStack(ModItems.component_emitter, 1), new AStack[] {new ComparableStack(ModItems.hull_big_steel, 3), new ComparableStack(ModItems.hull_big_titanium, 2), new OreDictStack(STEEL.plate(), 32), new OreDictStack(PB.plate(), 24), new ComparableStack(ModItems.plate_desh, 24), new ComparableStack(ModItems.pipes_steel, 8), new ComparableStack(ModItems.circuit_gold, 12), new ComparableStack(ModItems.circuit_schrabidium, 8), new OreDictStack(STAR.ingot(), 26), new ComparableStack(ModItems.powder_magic, 48), new ComparableStack(ModBlocks.fwatz_computer, 2), new ComparableStack(ModItems.crystal_xen, 1), },2500); - makeRecipe(new ComparableStack(ModBlocks.ams_limiter, 1), new AStack[] {new ComparableStack(ModItems.board_copper, 6), new OreDictStack(STEEL.plate(), 24), new ComparableStack(ModBlocks.steel_scaffold, 20), new ComparableStack(ModItems.crystal_diamond, 1)}, 600); - makeRecipe(new ComparableStack(ModBlocks.ams_emitter, 1), new AStack[] {new ComparableStack(ModItems.board_copper, 24), new OreDictStack(STEEL.plate(), 32), new ComparableStack(ModBlocks.steel_scaffold, 40), new ComparableStack(ModItems.crystal_redstone, 5), new ComparableStack(ModBlocks.machine_lithium_battery)}, 600); - makeRecipe(new ComparableStack(ModBlocks.ams_base, 1), new AStack[] {new ComparableStack(ModItems.board_copper, 12), new OreDictStack(STEEL.plate(), 28), new ComparableStack(ModBlocks.steel_scaffold, 30), new ComparableStack(ModBlocks.steel_grate, 8), new ComparableStack(ModBlocks.barrel_steel, 2)}, 600); - makeRecipe(new ComparableStack(ModBlocks.machine_radar, 1), new AStack[] {new OreDictStack(STEEL.plate528(), 16), new OreDictStack(ANY_PLASTIC.ingot(), 8), new OreDictStack(ANY_RUBBER.ingot(), 8), new ComparableStack(ModItems.magnetron, 10), new ComparableStack(ModItems.motor, 3), new ComparableStack(ModItems.circuit_gold, 4), new ComparableStack(ModItems.coil_copper, 12), new ComparableStack(ModItems.crt_display, 4), },300); + makeRecipe(new ComparableStack(ModItems.component_emitter, 1), new AStack[] {new OreDictStack(STEEL.shell(), 3), new OreDictStack(AL.shell(), 2), new OreDictStack(STEEL.plate(), 32), new OreDictStack(PB.plate(), 24), new ComparableStack(ModItems.plate_desh, 24), new ComparableStack(ModItems.pipes_steel, 8), new ComparableStack(ModItems.circuit_gold, 12), new ComparableStack(ModItems.circuit_schrabidium, 8), new OreDictStack(STAR.ingot(), 26), new ComparableStack(ModItems.powder_magic, 48), new ComparableStack(ModItems.crystal_xen, 1), },2500); + makeRecipe(new ComparableStack(ModBlocks.machine_radar, 1), new AStack[] {new OreDictStack(STEEL.plate528(), 8), new OreDictStack(ANY_PLASTIC.ingot(), 8), new OreDictStack(ANY_RUBBER.ingot(), 8), new ComparableStack(ModItems.magnetron, 3), new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.circuit_gold, 1), new ComparableStack(ModItems.coil_copper, 12), new ComparableStack(ModItems.crt_display, 4), },300); + makeRecipe(new ComparableStack(ModBlocks.machine_radar_large, 1), new AStack[] {new OreDictStack(STEEL.plateWelded(), 6), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 4), new OreDictStack(ANY_PLASTIC.ingot(), 16), new OreDictStack(ANY_RUBBER.ingot(), 16), new ComparableStack(ModItems.magnetron, 12), new ComparableStack(ModItems.motor_desh, 1), new ComparableStack(ModItems.circuit_gold, 2), new ComparableStack(ModItems.coil_copper, 32), new ComparableStack(ModItems.crt_display, 4), },600); makeRecipe(new ComparableStack(ModBlocks.machine_forcefield, 1), new AStack[] {new OreDictStack(ALLOY.plate528(), 8), new ComparableStack(ModItems.plate_desh, 4), new ComparableStack(ModItems.coil_gold_torus, 6), new ComparableStack(ModItems.coil_magnetized_tungsten, 12), new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.upgrade_radius, 1), new ComparableStack(ModItems.upgrade_health, 1), new ComparableStack(ModItems.circuit_targeting_tier5, 1), new ComparableStack(ModBlocks.machine_transformer, 1), },1000); - makeRecipe(new ComparableStack(ModItems.mp_thruster_10_kerosene, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 1), new ComparableStack(ModBlocks.deco_pipe_quad, 1), new OreDictStack(W.ingot(), 4), new OreDictStack(STEEL.plate(), 4), },100); + makeRecipe(new ComparableStack(ModItems.mp_thruster_10_kerosene, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 1), new OreDictStack(STEEL.pipe(), 1), new OreDictStack(W.ingot(), 4), new OreDictStack(STEEL.plate(), 4), },100); makeRecipe(new ComparableStack(ModItems.mp_thruster_10_solid, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 1), new ComparableStack(ModItems.coil_tungsten, 1), new OreDictStack(DURA.ingot(), 4), new OreDictStack(STEEL.plate(), 4), },100); - makeRecipe(new ComparableStack(ModItems.mp_thruster_10_xenon, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 1), new OreDictStack(STEEL.plate(), 4), new ComparableStack(ModItems.pipes_steel, 2), new ComparableStack(ModItems.arc_electrode, 4), },100); - makeRecipe(new ComparableStack(ModItems.mp_thruster_15_kerosene, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new ComparableStack(ModBlocks.deco_pipe_quad, 1), new OreDictStack(W.ingot(), 8), new OreDictStack(STEEL.plate(), 6), new OreDictStack(DESH.ingot(), 4), },500); - makeRecipe(new ComparableStack(ModItems.mp_thruster_15_kerosene_dual, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new ComparableStack(ModBlocks.deco_pipe_quad, 1), new OreDictStack(W.ingot(), 4), new OreDictStack(STEEL.plate(), 6), new OreDictStack(DESH.ingot(), 1), },500); - makeRecipe(new ComparableStack(ModItems.mp_thruster_15_kerosene_triple, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new ComparableStack(ModBlocks.deco_pipe_quad, 1), new OreDictStack(W.ingot(), 6), new OreDictStack(STEEL.plate(), 6), new OreDictStack(DESH.ingot(), 2), },500); + makeRecipe(new ComparableStack(ModItems.mp_thruster_10_xenon, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 1), new OreDictStack(STEEL.plate(), 4), new OreDictStack(STEEL.pipe(), 12), new ComparableStack(ModItems.arc_electrode, 4), },100); + makeRecipe(new ComparableStack(ModItems.mp_thruster_15_kerosene, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new OreDictStack(STEEL.pipe(), 1), new OreDictStack(W.ingot(), 8), new OreDictStack(STEEL.plate(), 6), new OreDictStack(DESH.ingot(), 4), },500); + makeRecipe(new ComparableStack(ModItems.mp_thruster_15_kerosene_dual, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new OreDictStack(STEEL.pipe(), 1), new OreDictStack(W.ingot(), 4), new OreDictStack(STEEL.plate(), 6), new OreDictStack(DESH.ingot(), 1), },500); + makeRecipe(new ComparableStack(ModItems.mp_thruster_15_kerosene_triple, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new OreDictStack(STEEL.pipe(), 1), new OreDictStack(W.ingot(), 6), new OreDictStack(STEEL.plate(), 6), new OreDictStack(DESH.ingot(), 2), },500); makeRecipe(new ComparableStack(ModItems.mp_thruster_15_solid, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new OreDictStack(STEEL.plate(), 6), new OreDictStack(DURA.ingot(), 6), new ComparableStack(ModItems.coil_tungsten, 3), },500); makeRecipe(new ComparableStack(ModItems.mp_thruster_15_solid_hexdecuple, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new OreDictStack(STEEL.plate(), 6), new OreDictStack(DURA.ingot(), 12), new ComparableStack(ModItems.coil_tungsten, 6), },500); - makeRecipe(new ComparableStack(ModItems.mp_thruster_15_hydrogen, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new ComparableStack(ModBlocks.deco_pipe_quad, 1), new OreDictStack(W.ingot(), 8), new OreDictStack(STEEL.plate(), 6), new ComparableStack(ModItems.tank_steel, 1), new OreDictStack(DESH.ingot(), 4), },500); - makeRecipe(new ComparableStack(ModItems.mp_thruster_15_hydrogen_dual, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new ComparableStack(ModBlocks.deco_pipe_quad, 1), new OreDictStack(W.ingot(), 4), new OreDictStack(STEEL.plate(), 6), new ComparableStack(ModItems.tank_steel, 1), new OreDictStack(DESH.ingot(), 1), },500); - makeRecipe(new ComparableStack(ModItems.mp_thruster_15_balefire_short, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new ComparableStack(ModItems.plate_polymer, 8), new ComparableStack(ModBlocks.pwr_fuel, 1), new OreDictStack(DESH.ingot(), 8), new OreDictStack(BIGMT.plate(), 12), new ComparableStack(ModItems.board_copper, 2), new ComparableStack(ModItems.ingot_uranium_fuel, 4), new ComparableStack(ModItems.pipes_steel, 2), },500); - makeRecipe(new ComparableStack(ModItems.mp_thruster_15_balefire, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new ComparableStack(ModItems.plate_polymer, 16), new ComparableStack(ModBlocks.pwr_fuel, 2), new OreDictStack(DESH.ingot(), 16), new OreDictStack(BIGMT.plate(), 24), new ComparableStack(ModItems.board_copper, 4), new ComparableStack(ModItems.ingot_uranium_fuel, 8), new ComparableStack(ModItems.pipes_steel, 2), },500); - makeRecipe(new ComparableStack(ModItems.mp_thruster_15_balefire_large, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new ComparableStack(ModItems.plate_polymer, 16), new ComparableStack(ModBlocks.pwr_fuel, 2), new OreDictStack(DESH.ingot(), 24), new OreDictStack(BIGMT.plate(), 32), new ComparableStack(ModItems.board_copper, 4), new ComparableStack(ModItems.ingot_uranium_fuel, 8), new ComparableStack(ModItems.pipes_steel, 2), },500); - makeRecipe(new ComparableStack(ModItems.mp_thruster_20_kerosene, 1), new AStack[] {new ComparableStack(ModItems.seg_20, 1), new ComparableStack(ModBlocks.deco_pipe_quad, 1), new OreDictStack(W.ingot(), 16), new OreDictStack(STEEL.plate(), 12), new OreDictStack(DESH.ingot(), 8), },500); - makeRecipe(new ComparableStack(ModItems.mp_thruster_20_kerosene_dual, 1), new AStack[] {new ComparableStack(ModItems.seg_20, 1), new ComparableStack(ModBlocks.deco_pipe_quad, 1), new OreDictStack(W.ingot(), 8), new OreDictStack(STEEL.plate(), 6), new OreDictStack(DESH.ingot(), 4), },500); - makeRecipe(new ComparableStack(ModItems.mp_thruster_20_kerosene_triple, 1), new AStack[] {new ComparableStack(ModItems.seg_20, 1), new ComparableStack(ModBlocks.deco_pipe_quad, 1), new OreDictStack(W.ingot(), 12), new OreDictStack(STEEL.plate(), 8), new OreDictStack(DESH.ingot(), 6), },500); + makeRecipe(new ComparableStack(ModItems.mp_thruster_15_hydrogen, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new OreDictStack(STEEL.pipe(), 1), new OreDictStack(W.ingot(), 8), new OreDictStack(STEEL.plate(), 6), new ComparableStack(ModItems.tank_steel, 1), new OreDictStack(DESH.ingot(), 4), },500); + makeRecipe(new ComparableStack(ModItems.mp_thruster_15_hydrogen_dual, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new OreDictStack(STEEL.pipe(), 1), new OreDictStack(W.ingot(), 4), new OreDictStack(STEEL.plate(), 6), new ComparableStack(ModItems.tank_steel, 1), new OreDictStack(DESH.ingot(), 1), },500); + makeRecipe(new ComparableStack(ModItems.mp_thruster_15_balefire_short, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new ComparableStack(ModItems.plate_polymer, 8), new ComparableStack(ModBlocks.pwr_fuel, 1), new OreDictStack(DESH.ingot(), 8), new OreDictStack(BIGMT.plate(), 12), new OreDictStack(CU.plateCast(), 2), new ComparableStack(ModItems.ingot_uranium_fuel, 4), new ComparableStack(ModItems.pipes_steel, 2), },500); + makeRecipe(new ComparableStack(ModItems.mp_thruster_15_balefire, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new ComparableStack(ModItems.plate_polymer, 16), new ComparableStack(ModBlocks.pwr_fuel, 2), new OreDictStack(DESH.ingot(), 16), new OreDictStack(BIGMT.plate(), 24), new OreDictStack(CU.plateCast(), 4), new ComparableStack(ModItems.ingot_uranium_fuel, 8), new ComparableStack(ModItems.pipes_steel, 2), },500); + makeRecipe(new ComparableStack(ModItems.mp_thruster_15_balefire_large, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new ComparableStack(ModItems.plate_polymer, 16), new ComparableStack(ModBlocks.pwr_fuel, 2), new OreDictStack(DESH.ingot(), 24), new OreDictStack(BIGMT.plate(), 32), new OreDictStack(CU.plateCast(), 4), new ComparableStack(ModItems.ingot_uranium_fuel, 8), new ComparableStack(ModItems.pipes_steel, 2), },500); + makeRecipe(new ComparableStack(ModItems.mp_thruster_20_kerosene, 1), new AStack[] {new ComparableStack(ModItems.seg_20, 1), new OreDictStack(STEEL.pipe(), 1), new OreDictStack(W.ingot(), 16), new OreDictStack(STEEL.plate(), 12), new OreDictStack(DESH.ingot(), 8), },500); + makeRecipe(new ComparableStack(ModItems.mp_thruster_20_kerosene_dual, 1), new AStack[] {new ComparableStack(ModItems.seg_20, 1), new OreDictStack(STEEL.pipe(), 1), new OreDictStack(W.ingot(), 8), new OreDictStack(STEEL.plate(), 6), new OreDictStack(DESH.ingot(), 4), },500); + makeRecipe(new ComparableStack(ModItems.mp_thruster_20_kerosene_triple, 1), new AStack[] {new ComparableStack(ModItems.seg_20, 1), new OreDictStack(STEEL.pipe(), 1), new OreDictStack(W.ingot(), 12), new OreDictStack(STEEL.plate(), 8), new OreDictStack(DESH.ingot(), 6), },500); makeRecipe(new ComparableStack(ModItems.mp_thruster_20_solid, 1), new AStack[] {new ComparableStack(ModItems.seg_20, 1), new ComparableStack(ModItems.coil_tungsten, 8), new OreDictStack(DURA.ingot(), 16), new OreDictStack(STEEL.plate(), 12), },500); makeRecipe(new ComparableStack(ModItems.mp_thruster_20_solid_multi, 1), new AStack[] {new ComparableStack(ModItems.seg_20, 1), new ComparableStack(ModItems.coil_tungsten, 12), new OreDictStack(DURA.ingot(), 18), new OreDictStack(STEEL.plate(), 12), },500); makeRecipe(new ComparableStack(ModItems.mp_thruster_20_solid_multier, 1), new AStack[] {new ComparableStack(ModItems.seg_20, 1), new ComparableStack(ModItems.coil_tungsten, 16), new OreDictStack(DURA.ingot(), 20), new OreDictStack(STEEL.plate(), 12), },500); makeRecipe(new ComparableStack(ModItems.mp_fuselage_10_kerosene, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 2), new ComparableStack(ModBlocks.steel_scaffold, 3), new OreDictStack(TI.plate(), 12), new OreDictStack(STEEL.plate(), 3), },100); makeRecipe(new ComparableStack(ModItems.mp_fuselage_10_solid, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 2), new ComparableStack(ModBlocks.steel_scaffold, 3), new OreDictStack(TI.plate(), 12), new OreDictStack(AL.plate(), 3), },100); - makeRecipe(new ComparableStack(ModItems.mp_fuselage_10_xenon, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 2), new ComparableStack(ModBlocks.steel_scaffold, 3), new OreDictStack(TI.plate(), 12), new ComparableStack(ModItems.board_copper, 3), },100); + makeRecipe(new ComparableStack(ModItems.mp_fuselage_10_xenon, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 2), new ComparableStack(ModBlocks.steel_scaffold, 3), new OreDictStack(TI.plate(), 12), new OreDictStack(CU.plateCast(), 3), },100); makeRecipe(new ComparableStack(ModItems.mp_fuselage_10_long_kerosene, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 2), new ComparableStack(ModBlocks.steel_scaffold, 6), new OreDictStack(TI.plate(), 24), new OreDictStack(STEEL.plate(), 6), },200); makeRecipe(new ComparableStack(ModItems.mp_fuselage_10_long_solid, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 2), new ComparableStack(ModBlocks.steel_scaffold, 6), new OreDictStack(TI.plate(), 24), new OreDictStack(AL.plate(), 6), },200); makeRecipe(new ComparableStack(ModItems.mp_fuselage_10_15_kerosene, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 1), new ComparableStack(ModItems.seg_15, 1), new ComparableStack(ModBlocks.steel_scaffold, 9), new OreDictStack(TI.plate(), 36), new OreDictStack(STEEL.plate(), 9), },300); @@ -398,18 +285,18 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModItems.mp_fuselage_15_20_solid, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new ComparableStack(ModItems.seg_20, 1), new ComparableStack(ModBlocks.steel_scaffold, 16), new OreDictStack(TI.plate(), 64), new OreDictStack(AL.plate(), 16), },600); makeRecipe(new ComparableStack(ModItems.mp_warhead_10_he, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 1), new OreDictStack(STEEL.plate(), 6), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 3), new ComparableStack(ModItems.circuit_targeting_tier2, 1), },100); makeRecipe(new ComparableStack(ModItems.mp_warhead_10_incendiary, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 1), new OreDictStack(TI.plate(), 4), new OreDictStack(P_RED.dust(), 3), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 2), new ComparableStack(ModItems.circuit_targeting_tier2, 1), },100); - makeRecipe(new ComparableStack(ModItems.mp_warhead_10_buster, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 1), new OreDictStack(TI.plate(), 4), new ComparableStack(ModBlocks.det_charge, 1), new ComparableStack(ModBlocks.det_cord, 4), new ComparableStack(ModItems.board_copper, 4), new ComparableStack(ModItems.circuit_targeting_tier3, 1), },100); + makeRecipe(new ComparableStack(ModItems.mp_warhead_10_buster, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 1), new OreDictStack(TI.plate(), 4), new ComparableStack(ModBlocks.det_charge, 1), new ComparableStack(ModBlocks.det_cord, 4), new OreDictStack(CU.plateCast(), 4), new ComparableStack(ModItems.circuit_targeting_tier3, 1), },100); makeRecipe(new ComparableStack(ModItems.mp_warhead_10_nuclear, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 1), new OreDictStack(STEEL.plate(), 6), new OreDictStack(PU239.ingot(), 1), new OreDictStack(OreDictManager.getReflector(), 2), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 4), new ComparableStack(ModItems.circuit_targeting_tier3, 1), },200); makeRecipe(new ComparableStack(ModItems.mp_warhead_10_nuclear_large, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 1), new OreDictStack(STEEL.plate(), 8), new OreDictStack(AL.plate(), 4), new OreDictStack(PU239.ingot(), 2), new ComparableStack(ModBlocks.det_charge, 4), new ComparableStack(ModItems.circuit_targeting_tier4, 1), },300); - makeRecipe(new ComparableStack(ModItems.mp_warhead_10_taint, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 1), new OreDictStack(STEEL.plate(), 12), new ComparableStack(ModBlocks.det_cord, 2), new ComparableStack(ModItems.powder_magic, 12), new ComparableStack(ModItems.bucket_mud, 1), },100); - makeRecipe(new ComparableStack(ModItems.mp_warhead_10_cloud, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 1), new OreDictStack(STEEL.plate(), 12), new ComparableStack(ModBlocks.det_cord, 2), new ComparableStack(ModItems.grenade_pink_cloud, 2), },100); + makeRecipe(new ComparableStack(ModItems.mp_warhead_10_taint, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 1), new OreDictStack(STEEL.plate(), 12), new ComparableStack(ModBlocks.det_cord, 2), new ComparableStack(ModItems.powder_magic, 12), new ComparableStack(ModItems.bucket_mud, 1), },100, ModItems.journal_pip); + makeRecipe(new ComparableStack(ModItems.mp_warhead_10_cloud, 1), new AStack[] {new ComparableStack(ModItems.seg_10, 1), new OreDictStack(STEEL.plate(), 12), new ComparableStack(ModBlocks.det_cord, 2), new ComparableStack(ModItems.grenade_pink_cloud, 2), },100, ModItems.journal_pip); makeRecipe(new ComparableStack(ModItems.mp_warhead_15_he, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new OreDictStack(STEEL.plate(), 16), new ComparableStack(ModBlocks.det_charge, 4), new ComparableStack(ModItems.circuit_targeting_tier3, 1), },200); makeRecipe(new ComparableStack(ModItems.mp_warhead_15_incendiary, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new OreDictStack(STEEL.plate(), 16), new ComparableStack(ModBlocks.det_charge, 2), new OreDictStack(P_RED.dust(), 8), new ComparableStack(ModItems.circuit_targeting_tier3, 1), },200); makeRecipe(new ComparableStack(ModItems.mp_warhead_15_nuclear, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new OreDictStack(STEEL.plate(), 24), new OreDictStack(TI.plate(), 12), new OreDictStack(PU239.ingot(), 3), new ComparableStack(ModBlocks.det_charge, 6), new ComparableStack(ModItems.circuit_targeting_tier4, 1), },500); makeRecipe(new ComparableStack(ModItems.mp_warhead_15_n2, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new OreDictStack(STEEL.plate(), 8), new OreDictStack(TI.plate(), 20), new ComparableStack(ModBlocks.det_charge, 24), new ComparableStack(Blocks.redstone_block, 12), new OreDictStack(MAGTUNG.dust(), 6), new ComparableStack(ModItems.circuit_targeting_tier4, 1), },400); - makeRecipe(new ComparableStack(ModItems.mp_warhead_15_balefire, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new OreDictStack(OreDictManager.getReflector(), 16), new ComparableStack(ModItems.powder_magic, 6), new ComparableStack(ModItems.egg_balefire_shard, 4), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 8), new ComparableStack(ModItems.circuit_targeting_tier4, 1), }, 60); - makeRecipe(new ComparableStack(ModItems.missile_soyuz, 1), new AStack[] {new ComparableStack(ModItems.rocket_fuel, 40), new ComparableStack(ModBlocks.det_cord, 20), new ComparableStack(ModItems.thruster_medium, 12), new ComparableStack(ModItems.thruster_small, 12), new ComparableStack(ModItems.tank_steel, 10), new ComparableStack(ModItems.circuit_targeting_tier4, 2), new ComparableStack(ModItems.circuit_targeting_tier3, 8), new OreDictStack(RUBBER.ingot(), 64), new ComparableStack(ModItems.fins_small_steel, 4), new ComparableStack(ModItems.hull_big_titanium, 32), new ComparableStack(ModItems.hull_big_steel, 18), new OreDictStack(FIBER.ingot(), 64), },600); - makeRecipe(new ComparableStack(ModItems.missile_soyuz_lander, 1), new AStack[] {new ComparableStack(ModItems.rocket_fuel, 10), new ComparableStack(ModItems.thruster_small, 3), new ComparableStack(ModItems.tank_steel, 2), new ComparableStack(ModItems.circuit_targeting_tier3, 4), new OreDictStack(ANY_RUBBER.ingot(), 32), new ComparableStack(ModItems.hull_big_aluminium, 2), new ComparableStack(ModItems.sphere_steel, 1), new OreDictStack(FIBER.ingot(), 12), },600); + makeRecipe(new ComparableStack(ModItems.mp_warhead_15_balefire, 1), new AStack[] {new ComparableStack(ModItems.seg_15, 1), new OreDictStack(OreDictManager.getReflector(), 16), new ComparableStack(ModItems.powder_magic, 6), new ComparableStack(ModItems.egg_balefire_shard, 4), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 8), new ComparableStack(ModItems.circuit_targeting_tier4, 1), }, 60, ModItems.journal_bj); + makeRecipe(new ComparableStack(ModItems.missile_soyuz, 1), new AStack[] {new ComparableStack(ModItems.rocket_fuel, 40), new ComparableStack(ModBlocks.det_cord, 20), new ComparableStack(ModItems.thruster_medium, 12), new ComparableStack(ModItems.thruster_small, 12), new ComparableStack(ModItems.tank_steel, 10), new ComparableStack(ModItems.circuit_targeting_tier4, 2), new ComparableStack(ModItems.circuit_targeting_tier3, 8), new OreDictStack(RUBBER.ingot(), 64), new ComparableStack(ModItems.fins_small_steel, 4), new OreDictStack(TI.shell(), 32), new OreDictStack(STEEL.shell(), 18), new OreDictStack(FIBER.ingot(), 64), },600); + makeRecipe(new ComparableStack(ModItems.missile_soyuz_lander, 1), new AStack[] {new ComparableStack(ModItems.rocket_fuel, 10), new ComparableStack(ModItems.thruster_small, 3), new ComparableStack(ModItems.tank_steel, 2), new ComparableStack(ModItems.circuit_targeting_tier3, 4), new OreDictStack(ANY_RUBBER.ingot(), 32), new OreDictStack(AL.shell(), 2), new ComparableStack(ModItems.sphere_steel, 1), new OreDictStack(FIBER.ingot(), 12), },600, ModItems.journal_bj); makeRecipe(new ComparableStack(ModItems.fusion_shield_tungsten, 1), new AStack[] {new OreDictStack(W.block(), 32), new OreDictStack(OreDictManager.getReflector(), 96)}, 600); makeRecipe(new ComparableStack(ModItems.fusion_shield_desh, 1), new AStack[] {new OreDictStack(DESH.block(), 16), new OreDictStack(CO.block(), 16), new OreDictStack(BIGMT.plate(), 96)}, 600); makeRecipe(new ComparableStack(ModItems.fusion_shield_chlorophyte, 1), new AStack[] {new OreDictStack(W.block(), 16), new OreDictStack(DURA.block(), 16), new OreDictStack(OreDictManager.getReflector(), 48), new ComparableStack(ModItems.powder_chlorophyte, 48)}, 600); @@ -439,37 +326,46 @@ public class AssemblerRecipes { new OreDictStack(STEEL.plate528(), 12), new OreDictStack(IRON.plate(), 8), new OreDictStack(CU.ingot(), 8), - new ComparableStack(ModItems.generator_steel, 1), + new OreDictStack(GOLD.wireDense(), 6), new ComparableStack(ModItems.tank_steel, 2), - new ComparableStack(ModItems.bolt_tungsten, 8), + new OreDictStack(W.bolt(), 16), new ComparableStack(ModItems.wire_red_copper, 24), new ComparableStack(ModItems.circuit_copper, 1) }, 300); + + makeRecipe(new ComparableStack(ModBlocks.machine_strand_caster, 1), new AStack[] { + new ComparableStack(ModItems.ingot_firebrick, 12), + new OreDictStack(STEEL.plateCast(), 6), + new OreDictStack(CU.plateWelded(), 2), + new ComparableStack(ModItems.tank_steel, 2), + new OreDictStack(ANY_CONCRETE.any(), 8) + }, 100); + makeRecipe(new ComparableStack(ModItems.piston_set, 1, EnumPistonType.STEEL.ordinal()), new AStack[] { new OreDictStack(STEEL.plate(), 16), new OreDictStack(CU.plate(), 4), new OreDictStack(W.ingot(), 8), - new ComparableStack(ModItems.bolt_tungsten, 16) + new OreDictStack(W.bolt(), 16) }, 200); makeRecipe(new ComparableStack(ModItems.piston_set, 1, EnumPistonType.DURA.ordinal()), new AStack[] { new OreDictStack(DURA.ingot(), 24), new OreDictStack(TI.plate(), 8), new OreDictStack(W.ingot(), 8), - new ComparableStack(ModItems.bolt_dura_steel, 16) + new OreDictStack(DURA.bolt(), 16) }, 200); makeRecipe(new ComparableStack(ModItems.piston_set, 1, EnumPistonType.DESH.ordinal()), new AStack[] { new OreDictStack(DESH.ingot(), 24), new OreDictStack(ANY_PLASTIC.ingot(), 12), new OreDictStack(CU.plate(), 24), new OreDictStack(W.ingot(), 16), - new ComparableStack(ModItems.bolt_compound, 16) + new OreDictStack(DURA.pipe(), 4) }, 200); makeRecipe(new ComparableStack(ModItems.piston_set, 1, EnumPistonType.STARMETAL.ordinal()), new AStack[] { new OreDictStack(STAR.ingot(), 24), new OreDictStack(RUBBER.ingot(), 16), new OreDictStack(BIGMT.plate(), 24), new OreDictStack(NB.ingot(), 16), - new ComparableStack(ModItems.bolt_compound, 16) + new OreDictStack(DURA.pipe(), 4) }, 200); makeRecipe(new ComparableStack(ModBlocks.machine_excavator, 1), new AStack[] { @@ -534,22 +430,22 @@ public class AssemblerRecipes { !exp ? new OreDictStack(STEEL.plate528(), 12) : new OreDictStack(STEEL.heavyComp(), 1), new OreDictStack(RUBBER.ingot(), 4), new ComparableStack(ModItems.turbine_titanium, 3), - new ComparableStack(ModItems.generator_steel, 1), - new ComparableStack(ModItems.bolt_compound, 3), - new ComparableStack(ModItems.pipes_steel, 1), + new OreDictStack(GOLD.wireDense(), 6), + new OreDictStack(DURA.pipe(), 3), + new OreDictStack(STEEL.pipe(), 4), new ComparableStack(ModItems.circuit_aluminium, 1), }, 200); makeRecipe(new ComparableStack(ModBlocks.machine_chungus, 1), new AStack[] { - new ComparableStack(ModItems.hull_big_steel, 6), + new OreDictStack(STEEL.shell(), 6), !exp ? new OreDictStack(STEEL.plateWelded(), 16) : new OreDictStack(STEEL.heavyComp(), 3), !exp ? new OreDictStack(TI.plate528(), 12) : new OreDictStack(TI.heavyComp(), 1), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 16), new ComparableStack(ModItems.turbine_tungsten, 5), new ComparableStack(ModItems.turbine_titanium, 3), new ComparableStack(ModItems.flywheel_beryllium, 1), - new ComparableStack(ModItems.generator_steel, 10), - new ComparableStack(ModItems.bolt_compound, 16), - new ComparableStack(ModItems.pipes_steel, 3) + new OreDictStack(GOLD.wireDense(), 48), + new OreDictStack(DURA.pipe(), 16), + new OreDictStack(STEEL.pipe(), 16) }, 600); makeRecipe(new ComparableStack(ModBlocks.machine_condenser_powered, 1), new AStack[] { @@ -557,7 +453,7 @@ public class AssemblerRecipes { new OreDictStack(ANY_RESISTANTALLOY.plateWelded(), 4), !exp ? new OreDictStack(CU.plate528(), 16) : new OreDictStack(CU.heavyComp(), 3), new ComparableStack(ModItems.motor_desh, 3), - new ComparableStack(ModItems.pipes_steel, 4), + new OreDictStack(STEEL.pipe(), 24), new OreDictStack(Fluids.LUBRICANT.getDict(1_000), 4) }, 600); @@ -580,25 +476,25 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModBlocks.machine_cyclotron, 1), new AStack[] { new ComparableStack(ModBlocks.machine_lithium_battery, 3), new ComparableStack(ModBlocks.hadron_coil_neodymium, 8), - new ComparableStack(ModItems.wire_advanced_alloy, 96), + new OreDictStack(ALLOY.wireDense(), 16), !exp ? new OreDictStack(STEEL.ingot(), 16) : new OreDictStack(STEEL.heavyComp(), 3), new OreDictStack(STEEL.plate528(), 32), new OreDictStack(AL.plate528(), 32), new OreDictStack(ANY_PLASTIC.ingot(), 24), new OreDictStack(RUBBER.ingot(), 24), - new ComparableStack(ModItems.board_copper, 8), + new OreDictStack(CU.plateCast(), 8), new ComparableStack(ModItems.circuit_red_copper, 8), new ComparableStack(ModItems.circuit_gold, 3), }, 600); makeRecipe(new ComparableStack(ModBlocks.reactor_zirnox, 1), new AStack[] { - !exp ? new ComparableStack(ModItems.hull_big_steel, 4) : new OreDictStack(STEEL.heavyComp(), 1), - new ComparableStack(ModBlocks.steel_scaffold, 4), - new OreDictStack(ANY_CONCRETE.any(), 16), - new ComparableStack(ModBlocks.deco_pipe_quad, 8), - new ComparableStack(ModItems.motor, 4), + !exp ? new OreDictStack(STEEL.shell(), 4) : new OreDictStack(STEEL.heavyComp(), 1), + new OreDictStack(STEEL.pipe(), 8), new OreDictStack(B.ingot(), 8), new OreDictStack(GRAPHITE.ingot(), 16), + new OreDictStack(RUBBER.ingot(), 16), + new OreDictStack(ANY_CONCRETE.any(), 16), + new ComparableStack(ModBlocks.steel_scaffold, 4), new ComparableStack(ModItems.circuit_red_copper, 3) }, 600); @@ -664,7 +560,7 @@ public class AssemblerRecipes { new ComparableStack(ModItems.coin_radiation, 1), new ComparableStack(ModItems.coin_maskman, 1), new ComparableStack(ModItems.coin_worm, 1), - }, 1200); + }, 1200, ModItems.journal_bj); makeRecipe(new ComparableStack(ModBlocks.vault_door, 1), new AStack[] { new OreDictStack(STEEL.ingot(), 32), @@ -672,8 +568,8 @@ public class AssemblerRecipes { new OreDictStack(PB.plate(), 16), new OreDictStack(ALLOY.plate(), 4), new OreDictStack(ANY_RUBBER.ingot(), 4), - new ComparableStack(ModItems.bolt_tungsten, 8), - new ComparableStack(ModItems.bolt_dura_steel, 8), + new OreDictStack(W.bolt(), 16), + new OreDictStack(DURA.bolt(), 16), new ComparableStack(ModItems.motor, 3), }, 200); @@ -683,8 +579,8 @@ public class AssemblerRecipes { new OreDictStack(PB.plate(), 6), new OreDictStack(ALLOY.plate(), 3), new OreDictStack(ANY_RUBBER.ingot(), 3), - new ComparableStack(ModItems.bolt_tungsten, 3), - new ComparableStack(ModItems.bolt_dura_steel, 3), + new OreDictStack(W.bolt(), 4), + new OreDictStack(DURA.bolt(), 4), new ComparableStack(ModItems.motor, 1), }, 300); @@ -692,7 +588,7 @@ public class AssemblerRecipes { new OreDictStack(STEEL.ingot(), 8), new OreDictStack(STEEL.plate(), 8), new OreDictStack(ALLOY.plate(), 4), - new ComparableStack(ModItems.bolt_tungsten, 4), + new OreDictStack(W.bolt(), 8), new ComparableStack(ModItems.motor, 2), }, 200); @@ -702,7 +598,7 @@ public class AssemblerRecipes { new OreDictStack(DURA.ingot(), 4), new ComparableStack(ModItems.motor, 3), new ComparableStack(ModItems.circuit_targeting_tier3, 1), - new ComparableStack(ModItems.pipes_steel, 1), + new OreDictStack(STEEL.pipe(), 3), new ComparableStack(ModItems.mechanism_rifle_2, 1), new ComparableStack(ModBlocks.crate_iron, 1), new ComparableStack(ModItems.crt_display, 1) @@ -713,7 +609,7 @@ public class AssemblerRecipes { new OreDictStack(DURA.ingot(), 4), new ComparableStack(ModItems.motor, 3), new ComparableStack(ModItems.circuit_targeting_tier2, 1), - new ComparableStack(ModItems.pipes_steel, 1), + new OreDictStack(STEEL.pipe(), 3), new ComparableStack(ModItems.mechanism_rifle_1, 1), new ComparableStack(ModBlocks.crate_iron, 1), new ComparableStack(ModItems.crt_display, 1) @@ -725,7 +621,7 @@ public class AssemblerRecipes { new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.circuit_targeting_tier4, 1), new ComparableStack(ModItems.motor_desh, 1), - new ComparableStack(ModItems.hull_small_steel, 3), + new OreDictStack(STEEL.shell(), 3), new ComparableStack(ModItems.mechanism_launcher_2, 1), new ComparableStack(ModBlocks.crate_steel, 1), new ComparableStack(ModItems.crt_display, 1) @@ -749,7 +645,7 @@ public class AssemblerRecipes { new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.circuit_targeting_tier4, 1), new OreDictStack(ANY_PLASTIC.ingot(), 2), - new ComparableStack(ModItems.hull_small_steel, 8), + new OreDictStack(STEEL.shell(), 8), new ComparableStack(ModItems.mechanism_launcher_2, 1), new ComparableStack(ModBlocks.crate_steel, 1), new ComparableStack(ModItems.crt_display, 1) @@ -761,7 +657,7 @@ public class AssemblerRecipes { new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.motor_desh, 2), new ComparableStack(ModItems.circuit_targeting_tier3, 2), - new ComparableStack(ModItems.pipes_steel, 2), + new OreDictStack(STEEL.pipe(), 10), new ComparableStack(ModItems.mechanism_rifle_2, 2), new ComparableStack(ModBlocks.crate_steel, 1), new ComparableStack(ModItems.crt_display, 1) @@ -772,7 +668,7 @@ public class AssemblerRecipes { new OreDictStack(DURA.ingot(), 6), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.circuit_targeting_tier4, 2), - new ComparableStack(ModItems.pipes_steel, 1), + new OreDictStack(STEEL.pipe(), 4), new ComparableStack(ModItems.mechanism_special, 3), new ComparableStack(ModItems.magnetron, 16), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 8), @@ -784,7 +680,7 @@ public class AssemblerRecipes { new OreDictStack(DURA.ingot(), 4), new ComparableStack(ModItems.motor, 3), new ComparableStack(ModItems.circuit_targeting_tier3, 1), - new ComparableStack(ModItems.pipes_steel, 1), + new OreDictStack(STEEL.pipe(), 8), new ComparableStack(ModItems.mechanism_launcher_1, 1), new ComparableStack(ModBlocks.barrel_steel, 1), new ComparableStack(ModItems.crt_display, 1) @@ -795,7 +691,7 @@ public class AssemblerRecipes { new OreDictStack(DURA.ingot(), 32), new ComparableStack(ModItems.motor_desh, 5), new ComparableStack(ModItems.circuit_targeting_tier4, 1), - new ComparableStack(ModItems.pipes_steel, 1), + new OreDictStack(STEEL.pipe(), 12), new ComparableStack(ModItems.mechanism_launcher_2, 3), new ComparableStack(ModBlocks.machine_radar, 1), new ComparableStack(ModItems.crt_display, 1) @@ -885,17 +781,15 @@ public class AssemblerRecipes { !exp ? new OreDictStack(STEEL.plate528(), 8) : new OreDictStack(STEEL.heavyComp(), 1), new OreDictStack(DESH.ingot(), 2), new ComparableStack(ModItems.tank_steel, 1), - new ComparableStack(ModItems.pipes_steel, 1), + new OreDictStack(STEEL.pipe(), 12), new ComparableStack(ModItems.crystal_diamond, 1) }, 400); makeRecipe(new ComparableStack(Item.getItemFromBlock(ModBlocks.machine_fel), 1), new AStack[] { - new ComparableStack(ModBlocks.fusion_conductor, 16), new ComparableStack(ModBlocks.machine_lithium_battery, 2), - new OreDictStack(STEEL.ingot(), 16), + new OreDictStack(ALLOY.wireDense(), 64), !exp ? new OreDictStack(STEEL.plate528(), 24) : new OreDictStack(STEEL.heavyComp(), 1), - new OreDictStack(ANY_PLASTIC.ingot(), 8), + new OreDictStack(ANY_PLASTIC.ingot(), 16), new ComparableStack(ModItems.circuit_red_copper, 4), - new ComparableStack(ModItems.wire_red_copper, 64), new ComparableStack(ModItems.coil_advanced_torus, 16), new ComparableStack(ModItems.circuit_gold, 1) }, 400); @@ -922,8 +816,8 @@ public class AssemblerRecipes { new OreDictStack(RUBBER.ingot(), 16), new OreDictStack(KEY_ANYPANE, 64), new ComparableStack(ModItems.motor, 18), - new ComparableStack(ModItems.bolt_tungsten, 12), - new ComparableStack(ModItems.pipes_steel, 1), + new OreDictStack(W.bolt(), 16), + new OreDictStack(STEEL.pipe(), 8), new ComparableStack(ModItems.circuit_gold, 3) }, 400); @@ -932,11 +826,11 @@ public class AssemblerRecipes { new OreDictStack(ANY_RESISTANTALLOY.ingot(), 8), new OreDictStack(NB.ingot(), 4), new OreDictStack(RUBBER.ingot(), 16), - new ComparableStack(ModItems.hull_big_steel, 12), + new OreDictStack(STEEL.shell(), 12), new ComparableStack(ModItems.tank_steel, 8), new ComparableStack(ModItems.motor_desh, 4), new ComparableStack(ModItems.coil_tungsten, 24), - new ComparableStack(ModItems.pipes_steel, 1), + new OreDictStack(STEEL.pipe(), 8), new ComparableStack(ModItems.circuit_gold, 3) }, 400); @@ -966,7 +860,7 @@ public class AssemblerRecipes { !exp ? new OreDictStack(CU.plate528(), 16) : new OreDictStack(CU.heavyComp(), 4), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 4), new ComparableStack(ModItems.sphere_steel, 1), - new ComparableStack(ModItems.pipes_steel, 1), + new OreDictStack(STEEL.pipe(), 12), new ComparableStack(ModItems.motor_desh, 3), new OreDictStack(KEY_CIRCUIT_BISMUTH, 1) }, 200); @@ -975,16 +869,26 @@ public class AssemblerRecipes { !exp ? new OreDictStack(CU.plate528(), 8) : new OreDictStack(CU.heavyComp(), 2), new OreDictStack(NB.ingot(), 8), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 4), - new ComparableStack(ModItems.hull_big_steel, 3), - new ComparableStack(ModItems.pipes_steel, 1), + new OreDictStack(STEEL.shell(), 3), + new OreDictStack(STEEL.pipe(), 8), new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.circuit_red_copper, 3) }, 200); + makeRecipe(new ComparableStack(ModBlocks.machine_hydrotreater, 1), new AStack[] { + !exp ? new OreDictStack(STEEL.plateWelded(), 8) : new OreDictStack(STEEL.heavyComp(), 4), + !exp ? new OreDictStack(CU.plateCast(), 4) : new OreDictStack(CU.heavyComp(), 2), + new OreDictStack(NB.ingot(), 8), + new OreDictStack(ANY_RESISTANTALLOY.ingot(), 4), + new OreDictStack(STEEL.shell(), 2), + new OreDictStack(STEEL.pipe(), 8), + new ComparableStack(ModItems.motor_desh, 2), + new ComparableStack(ModItems.circuit_red_copper, 3) + }, 200); makeRecipe(new ComparableStack(ModBlocks.machine_compressor, 1), new AStack[] { new OreDictStack(STEEL.plateCast(), 8), new OreDictStack(CU.plate528(), 4), - new ComparableStack(ModItems.hull_big_steel, 2), + new OreDictStack(STEEL.shell(), 2), new ComparableStack(ModItems.motor, 3), new ComparableStack(ModItems.circuit_red_copper, 1) }, 200); @@ -1010,6 +914,21 @@ public class AssemblerRecipes { new ComparableStack(ModBlocks.glass_quartz, 16) }, 200); + + makeRecipe(new ComparableStack(ModBlocks.launch_pad_large, 1), new AStack[] { + new OreDictStack(STEEL.plateCast(), 6), + new OreDictStack(ANY_CONCRETE.any(), 64), + new OreDictStack(ANY_PLASTIC.ingot(), 16), + new ComparableStack(ModBlocks.steel_scaffold, 24), + new ComparableStack(ModItems.circuit_red_copper, 3) + }, 200); + makeRecipe(new ComparableStack(ModBlocks.launch_pad, 1), new AStack[] { + new OreDictStack(STEEL.plateWelded(), 8), + new OreDictStack(ANY_CONCRETE.any(), 8), + new OreDictStack(ANY_HARDPLASTIC.ingot(), 16), + new ComparableStack(ModItems.circuit_gold, 1) + }, 400); + makeRecipe(new ComparableStack(ModItems.euphemium_capacitor, 1), new AStack[] { new OreDictStack(NB.ingot(), 4), @@ -1019,18 +938,16 @@ public class AssemblerRecipes { new ComparableStack(ModItems.powder_nitan_mix, 18), }, 600); - makeRecipe(new ComparableStack(ModBlocks.block_cap_nuka, 1), new AStack[] { new ComparableStack(ModItems.cap_nuka, 128) }, 10); - makeRecipe(new ComparableStack(ModBlocks.block_cap_quantum, 1), new AStack[] { new ComparableStack(ModItems.cap_quantum, 128) }, 10); - makeRecipe(new ComparableStack(ModBlocks.block_cap_sparkle, 1), new AStack[] { new ComparableStack(ModItems.cap_sparkle, 128) }, 10); - makeRecipe(new ComparableStack(ModBlocks.block_cap_rad, 1), new AStack[] { new ComparableStack(ModItems.cap_rad, 128) }, 10); - makeRecipe(new ComparableStack(ModBlocks.block_cap_korl, 1), new AStack[] { new ComparableStack(ModItems.cap_korl, 128) }, 10); - makeRecipe(new ComparableStack(ModBlocks.block_cap_fritz, 1), new AStack[] { new ComparableStack(ModItems.cap_fritz, 128) }, 10); - makeRecipe(new ComparableStack(ModBlocks.block_cap_sunset, 1), new AStack[] { new ComparableStack(ModItems.cap_sunset, 128) }, 10); - makeRecipe(new ComparableStack(ModBlocks.block_cap_star, 1), new AStack[] { new ComparableStack(ModItems.cap_star, 128) }, 10); + makeRecipe(new ComparableStack(DictFrame.fromOne(ModBlocks.block_cap, EnumCapBlock.NUKA)), new AStack[] { new ComparableStack(ModItems.cap_nuka, 128) }, 10); + makeRecipe(new ComparableStack(DictFrame.fromOne(ModBlocks.block_cap, EnumCapBlock.QUANTUM)), new AStack[] { new ComparableStack(ModItems.cap_quantum, 128) }, 10); + makeRecipe(new ComparableStack(DictFrame.fromOne(ModBlocks.block_cap, EnumCapBlock.SPARKLE)), new AStack[] { new ComparableStack(ModItems.cap_sparkle, 128) }, 10); + makeRecipe(new ComparableStack(DictFrame.fromOne(ModBlocks.block_cap, EnumCapBlock.RAD)), new AStack[] { new ComparableStack(ModItems.cap_rad, 128) }, 10); + makeRecipe(new ComparableStack(DictFrame.fromOne(ModBlocks.block_cap, EnumCapBlock.FRITZ)), new AStack[] { new ComparableStack(ModItems.cap_fritz, 128) }, 10); + makeRecipe(new ComparableStack(DictFrame.fromOne(ModBlocks.block_cap, EnumCapBlock.KORL)), new AStack[] { new ComparableStack(ModItems.cap_korl, 128) }, 10); if(!GeneralConfig.enable528) { - makeRecipe(new ComparableStack(ModBlocks.machine_hephaestus, 1), new AStack[] { new ComparableStack(ModItems.pipes_steel, 1), !exp ? new OreDictStack(STEEL.ingot(), 24) : new OreDictStack(STEEL.heavyComp(), 2), !exp ? new OreDictStack(CU.plate(), 24) : new OreDictStack(CU.heavyComp(), 2), new OreDictStack(NB.ingot(), 4), new OreDictStack(RUBBER.ingot(), 12), new ComparableStack(ModBlocks.glass_quartz, 16) }, 150); - makeRecipe(new ComparableStack(ModBlocks.machine_radgen, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 8), new OreDictStack(STEEL.plate(), 32), new ComparableStack(ModItems.coil_magnetized_tungsten, 6), new ComparableStack(ModItems.wire_magnetized_tungsten, 24), new ComparableStack(ModItems.circuit_gold, 4), new ComparableStack(ModItems.reactor_core, 3), new OreDictStack(STAR.ingot(), 1), new OreDictStack("dyeRed", 1), },400); + makeRecipe(new ComparableStack(ModBlocks.machine_hephaestus, 1), new AStack[] { new OreDictStack(STEEL.pipe(), 12), !exp ? new OreDictStack(STEEL.ingot(), 24) : new OreDictStack(STEEL.heavyComp(), 2), !exp ? new OreDictStack(CU.plate(), 24) : new OreDictStack(CU.heavyComp(), 2), new OreDictStack(NB.ingot(), 4), new OreDictStack(RUBBER.ingot(), 12), new ComparableStack(ModBlocks.glass_quartz, 16) }, 150); + makeRecipe(new ComparableStack(ModBlocks.machine_radgen, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 8), new OreDictStack(STEEL.plate(), 32), new ComparableStack(ModItems.coil_magnetized_tungsten, 6), new ComparableStack(ModItems.wire_magnetized_tungsten, 24), new ComparableStack(ModItems.circuit_gold, 4), new ComparableStack(ModItems.reactor_core, 3), new OreDictStack(STAR.ingot(), 1), new OreDictStack("dyeRed", 1), }, 400, ModItems.journal_pip); makeRecipe(new ComparableStack(ModBlocks.machine_reactor_breeding, 1), new AStack[] {new ComparableStack(ModItems.reactor_core, 1), new OreDictStack(STEEL.ingot(), 12), new OreDictStack(PB.plate(), 16), new ComparableStack(ModBlocks.reinforced_glass, 4), new OreDictStack(ASBESTOS.ingot(), 4), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 4), new ComparableStack(ModItems.crt_display, 1)},150); makeRecipe(new ComparableStack(ModBlocks.reactor_research, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 8), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 4), new ComparableStack(ModItems.motor_desh, 2), new OreDictStack(B.ingot(), 5), new OreDictStack(PB.plate(), 8), new ComparableStack(ModItems.crt_display, 3), new ComparableStack(ModItems.circuit_copper, 2), },300); @@ -1066,7 +983,7 @@ public class AssemblerRecipes { new OreDictStack(AL.plate528(), 32), new OreDictStack(ANY_PLASTIC.ingot(), 24), new OreDictStack(RUBBER.ingot(), 24), - new ComparableStack(ModItems.board_copper, 8), + new OreDictStack(CU.plateCast(), 8), new ComparableStack(ModItems.circuit_red_copper, 8), new ComparableStack(ModItems.circuit_gold, 3), new ComparableStack(ModItems.circuit_tantalium, 50), @@ -1142,7 +1059,7 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModBlocks.machine_catalytic_cracker), new AStack[] { new ComparableStack(ModBlocks.steel_scaffold, 16), - !exp ? new ComparableStack(ModItems.hull_big_steel, 4) : new OreDictStack(STEEL.heavyComp()), + !exp ? new OreDictStack(STEEL.shell(), 4) : new OreDictStack(STEEL.heavyComp()), new ComparableStack(ModItems.tank_steel, 3), new OreDictStack(ANY_PLASTIC.ingot(), 4), new OreDictStack(NB.ingot(), 2), @@ -1164,7 +1081,7 @@ public class AssemblerRecipes { new OreDictStack(NB.ingot(), 2), new OreDictStack(AL.plate528(), 12), new OreDictStack(ANY_PLASTIC.ingot(), 4), - new ComparableStack(ModItems.hull_big_steel, 3), + new OreDictStack(STEEL.shell(), 3), new ComparableStack(ModItems.catalyst_clay, 4), new ComparableStack(ModItems.coil_copper, 4), new ComparableStack(ModItems.tank_steel, 2) @@ -1176,7 +1093,7 @@ public class AssemblerRecipes { new OreDictStack(DURA.ingot(), 10), new OreDictStack(RUBBER.ingot(), 4), new OreDictStack(PB.plate528(), 12), - new ComparableStack(ModItems.board_copper, 4), + new OreDictStack(CU.plateCast(), 4), new ComparableStack(ModItems.thermo_element, 10), new ComparableStack(ModItems.wire_red_copper, 8), new ComparableStack(ModItems.tank_steel, 3) @@ -1189,7 +1106,7 @@ public class AssemblerRecipes { new OreDictStack(ANY_RUBBER.ingot(), 36), new OreDictStack(STEEL.block(), 24), new ComparableStack(ModItems.motor_desh, 16), - new ComparableStack(ModItems.bolt_dura_steel, 12), + new OreDictStack(DURA.bolt(), 16), new OreDictStack(KEY_YELLOW, 4) }, 1200); @@ -1198,16 +1115,18 @@ public class AssemblerRecipes { new OreDictStack(W.ingot(), 8), new ComparableStack(ModBlocks.reinforced_glass, 4), new OreDictStack(ANY_RUBBER.ingot(), 4), - new ComparableStack(ModItems.bolt_dura_steel, 8), + new OreDictStack(DURA.bolt(), 16), new ComparableStack(ModItems.motor, 2) }, 200); - makeRecipe(new ComparableStack(ModBlocks.large_vehicle_door, 1), new AStack[]{new OreDictStack(STEEL.plate(), 36), new OreDictStack("plateAdvancedAlloy", 4), new ComparableStack(ModItems.plate_polymer, 2), new OreDictStack("blockSteel", 4), new ComparableStack(ModItems.motor, 4), new ComparableStack(ModItems.bolt_dura_steel, 12), new OreDictStack("dyeGreen", 4)}, 500); - makeRecipe(new ComparableStack(ModBlocks.water_door, 1), new AStack[]{new OreDictStack(STEEL.plate(), 12), new OreDictStack("plateAdvancedAlloy", 2), new ComparableStack(ModItems.bolt_dura_steel, 2), new OreDictStack("dyeRed", 1)}, 500); - makeRecipe(new ComparableStack(ModBlocks.qe_containment, 1), new AStack[]{new OreDictStack(STEEL.plate(), 24), new OreDictStack("plateAdvancedAlloy", 8), new ComparableStack(ModItems.plate_polymer, 8), new OreDictStack("blockSteel", 2), new ComparableStack(ModItems.motor, 4), new ComparableStack(ModItems.bolt_dura_steel, 16), new OreDictStack("dyeBlack", 4)}, 500); - makeRecipe(new ComparableStack(ModBlocks.qe_sliding_door, 1), new AStack[]{new OreDictStack(STEEL.plate(), 12), new ComparableStack(ModItems.plate_polymer, 2), new OreDictStack("blockSteel", 1), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.bolt_dura_steel, 2), new OreDictStack("dyeWhite", 4), new ComparableStack(Blocks.glass, 4)}, 200); - makeRecipe(new ComparableStack(ModBlocks.round_airlock_door, 1), new AStack[]{new OreDictStack(STEEL.plate(), 32), new OreDictStack("plateAdvancedAlloy", 12), new ComparableStack(ModItems.plate_polymer, 12), new OreDictStack("blockSteel", 6), new ComparableStack(ModItems.motor, 6), new ComparableStack(ModItems.bolt_dura_steel, 12), new OreDictStack("dyeGreen", 4)}, 500); - makeRecipe(new ComparableStack(ModBlocks.secure_access_door, 1), new AStack[]{new OreDictStack(STEEL.plate(), 48), new OreDictStack("plateAdvancedAlloy", 16), new ComparableStack(ModItems.plate_polymer, 2), new OreDictStack("blockSteel", 6), new ComparableStack(ModItems.motor, 4), new ComparableStack(ModItems.bolt_dura_steel, 24), new OreDictStack("dyeRed", 8)}, 1000); - makeRecipe(new ComparableStack(ModBlocks.sliding_seal_door, 1), new AStack[]{new OreDictStack(STEEL.plate(), 12), new OreDictStack("plateAdvancedAlloy", 4), new ComparableStack(ModItems.plate_polymer, 2), new OreDictStack("blockSteel", 1), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.bolt_dura_steel, 2), new OreDictStack("dyeWhite", 2)}, 500); + makeRecipe(new ComparableStack(ModBlocks.large_vehicle_door, 1), new AStack[]{new OreDictStack(STEEL.plateCast(), 16), new ComparableStack(ModItems.plate_polymer, 4), new ComparableStack(ModItems.motor, 4), new OreDictStack(DURA.bolt(), 16), new OreDictStack("dyeGreen", 4)}, 400); + makeRecipe(new ComparableStack(ModBlocks.water_door, 1), new AStack[]{new OreDictStack(STEEL.plate(), 16), new OreDictStack(DURA.bolt(), 4), new OreDictStack("dyeRed", 1)}, 200); + makeRecipe(new ComparableStack(ModBlocks.qe_containment, 1), new AStack[]{new OreDictStack(STEEL.plateCast(), 4), new OreDictStack(ALLOY.plate(), 4), new ComparableStack(ModItems.plate_polymer, 8), new ComparableStack(ModItems.motor, 2), new OreDictStack(DURA.bolt(), 32), new OreDictStack("dyeBlack", 4)}, 400); + makeRecipe(new ComparableStack(ModBlocks.qe_sliding_door, 1), new AStack[]{new OreDictStack(STEEL.plate(), 4), new ComparableStack(ModItems.plate_polymer, 4), new ComparableStack(ModItems.motor, 2), new OreDictStack(DURA.bolt(), 4), new OreDictStack("dyeWhite", 4), new ComparableStack(Blocks.glass, 4)}, 200); + makeRecipe(new ComparableStack(ModBlocks.round_airlock_door, 1), new AStack[]{new OreDictStack(STEEL.plateCast(), 12), new OreDictStack(ALLOY.plate(), 8), new ComparableStack(ModItems.plate_polymer, 16), new ComparableStack(ModItems.motor, 4), new OreDictStack(DURA.bolt(), 16), new OreDictStack("dyeGreen", 4)}, 400); + makeRecipe(new ComparableStack(ModBlocks.secure_access_door, 1), new AStack[]{new OreDictStack(STEEL.plateCast(), 12), new OreDictStack(ALLOY.plate(), 16), new ComparableStack(ModItems.plate_polymer, 8), new ComparableStack(ModItems.motor, 4), new OreDictStack(DURA.bolt(), 32), new OreDictStack("dyeRed", 8)}, 4000); + makeRecipe(new ComparableStack(ModBlocks.sliding_seal_door, 1), new AStack[]{new OreDictStack(STEEL.plate(), 12), new ComparableStack(ModItems.plate_polymer, 4), new ComparableStack(ModItems.motor, 2), new OreDictStack(DURA.bolt(), 4), new OreDictStack("dyeWhite", 2)}, 200); + makeRecipe(new ComparableStack(ModBlocks.silo_hatch, 1), new AStack[]{new OreDictStack(STEEL.plateWelded(), 4), new ComparableStack(ModItems.plate_polymer, 4), new ComparableStack(ModItems.motor, 2), new OreDictStack(STEEL.bolt(), 16), new OreDictStack(KEY_GREEN, 4)}, 200); + makeRecipe(new ComparableStack(ModBlocks.silo_hatch_large, 1), new AStack[]{new OreDictStack(STEEL.plateWelded(), 6), new ComparableStack(ModItems.plate_polymer, 8), new ComparableStack(ModItems.motor, 2), new OreDictStack(STEEL.bolt(), 16), new OreDictStack(KEY_GREEN, 8)}, 200); if(Loader.isModLoaded("Mekanism")) { @@ -1238,297 +1157,153 @@ public class AssemblerRecipes { } } - /// HIDDEN /// - hidden.put(new ComparableStack(ModBlocks.machine_radgen, 1), new HashSet() {{ add(ModItems.journal_pip); }}); - hidden.put(new ComparableStack(ModBlocks.nuke_fstbmb, 1), new HashSet() {{ add(ModItems.journal_pip); add(ModItems.journal_bj); }}); - hidden.put(new ComparableStack(ModItems.mp_warhead_10_cloud, 1), new HashSet() {{ add(ModItems.journal_pip); }}); - hidden.put(new ComparableStack(ModItems.mp_warhead_10_taint, 1), new HashSet() {{ add(ModItems.journal_pip); }}); - hidden.put(new ComparableStack(ModItems.mp_warhead_15_balefire, 1), new HashSet() {{ add(ModItems.journal_bj); }}); - hidden.put(new ComparableStack(ModItems.sat_gerald, 1), new HashSet() {{ add(ModItems.journal_bj); }}); - hidden.put(new ComparableStack(ModItems.missile_soyuz, 1), new HashSet() {{ add(ModItems.journal_bj); }}); - hidden.put(new ComparableStack(ModItems.missile_soyuz_lander, 1), new HashSet() {{ add(ModItems.journal_bj); }}); + // WarTec compatibility code + try { + Class wartecmodAssemblerRecipes = ClassLoader.getSystemClassLoader().loadClass("com.wartec.wartecmod.inventory.wartecmodAssemblerRecipes"); + MainRegistry.logger.info("WarTec assembler recipes class found!"); + Method method = wartecmodAssemblerRecipes.getDeclaredMethod("AssemblerRecipes"); + MainRegistry.logger.info("WarTec AssemblerRecipes method found!"); + method.invoke(null); + MainRegistry.logger.info("WarTec recipes loaded!"); + } catch(Exception e) { } } public static void makeRecipe(ComparableStack out, AStack[] in, int duration) { + makeRecipe(out, in, duration, ModItems.template_folder); + } + + public static void makeRecipe(ComparableStack out, AStack[] in, int duration, Item... folder) { if(out == null || Item.itemRegistry.getNameForObject(out.item) == null) { MainRegistry.logger.error("Canceling assembler registration, item was null!"); return; } - recipes.put(out, in); - time.put(out, duration); + AssemblerRecipe recipe = new AssemblerRecipe(in, duration, folder); + recipes.put(out, recipe); + recipeList.add(out); + } + + @Override + public String getFileName() { + return "hbmAssembler.json"; + } + + @Override + public Object getRecipeObject() { + return this.recipes; + } + + @Override + public void deleteRecipes() { + recipes.clear(); + recipeList.clear(); + } + + @Override + public void readRecipe(JsonElement recipe) { + JsonObject obj = recipe.getAsJsonObject(); + + ItemStack output = this.readItemStack(obj.get("output").getAsJsonArray()); + AStack[] input = this.readAStackArray(obj.get("input").getAsJsonArray()); + int duration = obj.get("duration").getAsInt(); + + if(obj.has("folders")) { + JsonArray array = obj.get("folders").getAsJsonArray(); + List items = new ArrayList(); + for(JsonElement element : array) { + Item item = (Item) Item.itemRegistry.getObject(element.getAsString()); + if(item != null) items.add(item); + } + this.makeRecipe(new ComparableStack(output), input, duration, items.toArray(new Item[0])); + } else { + this.makeRecipe(new ComparableStack(output), input, duration); + } + } + + @Override + public void writeRecipe(Object recipe, JsonWriter writer) throws IOException { + Entry entry = (Entry) recipe; + + writer.name("output"); + this.writeItemStack(entry.getKey().toStack(), writer); + writer.name("input").beginArray(); + for(AStack stack : entry.getValue().ingredients) this.writeAStack(stack, writer); + writer.endArray(); + writer.name("duration").value(entry.getValue().time); + + if(entry.getValue().folders.size() != 1 || !entry.getValue().folders.contains(ModItems.template_folder)) { + writer.name("folders").beginArray(); + for(Item folder : entry.getValue().folders) writer.value(Item.itemRegistry.getNameForObject(folder)); + writer.endArray(); + } + } + + public static ItemStack getOutputFromTempate(ItemStack stack) { + + if(stack != null && stack.getItem() instanceof ItemAssemblyTemplate) { + + ComparableStack comp = ItemAssemblyTemplate.readType(stack); + + //NEW + if(comp != null) { + return comp.toStack(); + } + + //LEGACY + int i = stack.getItemDamage(); + if(i >= 0 && i < recipeList.size()) { + return recipeList.get(i).toStack(); + } + } + + return null; + } + + public static List getRecipeFromTempate(ItemStack stack) { + + if(stack != null && stack.getItem() instanceof ItemAssemblyTemplate) { + + //NEW + ComparableStack compStack = ItemAssemblyTemplate.readType(stack); + if(compStack != null) { + AssemblerRecipe recipe = recipes.get(compStack); + if(recipe == null) return null; + AStack[] ret = recipe.ingredients; + return ret == null ? null : Arrays.asList(ret); + } + + //LEGACY + int i = stack.getItemDamage(); + if(i >= 0 && i < recipeList.size()) { + ItemStack out = recipeList.get(i).toStack(); + + if(out != null) { + ComparableStack comp = new ComparableStack(out); + AssemblerRecipe recipe = recipes.get(comp); + if(recipe == null) return null; + AStack[] ret = recipe.ingredients; + return ret == null ? null : Arrays.asList(ret); + } + } + } + + return null; } public static void addTantalium(ComparableStack out, int amount) { - AStack[] ins = recipes.get(out); + AssemblerRecipe recipe = recipes.get(out); - if(ins != null) { + if(recipe != null) { - AStack[] news = new AStack[ins.length + 1]; + AStack[] news = new AStack[recipe.ingredients.length + 1]; - for(int i = 0; i < ins.length; i++) - news[i] = ins[i]; + for(int i = 0; i < recipe.ingredients.length; i++) + news[i] = recipe.ingredients[i]; news[news.length - 1] = new ComparableStack(ModItems.circuit_tantalium, amount); - - recipes.put(out, news); - } - } - - /* - * { - * recipes : [ - * { - * output : [ "item", "hbm:item.tank_steel", 1, 0 ], - * duration : 100, - * input : [ - * [ "dict", "blockSteel", 6 ], - * [ "dict", "plateTitanium", 2 ], - * [ "dict", "dyeGray", 1 ], - * ] - * }, - * { - * output : [ "item", "hbm:plate_gold", 2, 0 ], - * duration : 20, - * input : [ - * [ "dict", "ingotGold", 3 ], - * [ "item", "hbm:item.wire_gold", 5 ] - * ] - * } - * ] - * } - */ - private static void loadJSONRecipes() { - - try { - JsonObject json = gson.fromJson(new FileReader(config), JsonObject.class); - - JsonElement recipes = json.get("recipes"); - - if(recipes instanceof JsonArray) { - - JsonArray recArray = recipes.getAsJsonArray(); - - //go through the recipes array - for(JsonElement recipe : recArray) { - - if(recipe.isJsonObject()) { - - JsonObject recObj = recipe.getAsJsonObject(); - - JsonElement input = recObj.get("input"); - JsonElement output = recObj.get("output"); - JsonElement duration = recObj.get("duration"); - - int time = 100; - - if(duration.isJsonPrimitive()) { - if(duration.getAsJsonPrimitive().isNumber()) { - time = Math.max(1, duration.getAsJsonPrimitive().getAsInt()); - } - } - - if(!(input instanceof JsonArray)) { - MainRegistry.logger.error("Error reading recipe, no input found!"); - continue; - } - - if(!(output instanceof JsonArray)) { - MainRegistry.logger.error("Error reading recipe, no output found!"); - continue; - } - - Object outp = parseJsonArray(output.getAsJsonArray()); - List inp = new ArrayList(); - - for(JsonElement in : input.getAsJsonArray()) { - - if(in.isJsonArray()) { - Object i = parseJsonArray(in.getAsJsonArray()); - - if(i instanceof ComparableStack || i instanceof OreDictStack) - inp.add(i); - } - } - - if(outp instanceof ComparableStack) { - AssemblerRecipes.recipes.put((ComparableStack) outp, Arrays.copyOf(inp.toArray(), inp.size(), AStack[].class)); - AssemblerRecipes.time.put((ComparableStack) outp, time); - } - } - } - } - - } catch (Exception e) { - //shush - } - } - - private static Object parseJsonArray(JsonArray array) { - - boolean dict = false; - String item = ""; - int stacksize = 1; - int meta = 0; - - if(array.size() < 2) - return null; - - //is index 0 "item" or "dict"? - if(array.get(0).isJsonPrimitive()) { - - if(array.get(0).getAsString().equals("item")) { - dict = false; - } else if(array.get(0).getAsString().equals("dict")) { - dict = true; - } else { - - MainRegistry.logger.error("Error reading recipe, stack array does not have 'item' or 'dict' label!"); - return null; - } - - } else { - - MainRegistry.logger.error("Error reading recipe, label is not a valid data type!"); - return null; - } - - //is index 1 a string - if(array.get(1).isJsonPrimitive()) { - - item = array.get(1).getAsString(); - - } else { - MainRegistry.logger.error("Error reading recipe, item string is not a valid data type!"); - return null; - } - - //if index 2 exists, eval it as a stacksize - if(array.size() > 2 && array.get(2).isJsonPrimitive()) { - - if(array.get(2).getAsJsonPrimitive().isNumber()) { - - stacksize = Math.max(1, array.get(2).getAsJsonPrimitive().getAsNumber().intValue()); - - } else { - - MainRegistry.logger.error("Error reading recipe, stack size is not a valid data type!"); - return null; - } - } - - //ore dict implementation - if(dict) { - - if(OreDictionary.doesOreNameExist(item)) { - return new OreDictStack(item, stacksize); - } else { - - MainRegistry.logger.error("Error reading recipe, ore dict name does not exist!"); - return null; - } - - //comparable stack - } else { - - //if index 4 exists, eval it as a meta - if(array.size() > 3 && array.get(3).isJsonPrimitive()) { - - if(array.get(3).getAsJsonPrimitive().isNumber()) { - - meta = Math.max(0, array.get(3).getAsJsonPrimitive().getAsNumber().intValue()); - - } else { - - MainRegistry.logger.error("Error reading recipe, metadata is not a valid data type!"); - return null; - } - } - - Item it = (Item)Item.itemRegistry.getObject(item); - - if(it == null) { - - MainRegistry.logger.error("Item could not be found!"); - return null; - } - - return new ComparableStack(it, stacksize, meta); - } - } - - public static void saveTemplateJSON(File dir) { - - template = new File(dir.getAbsolutePath() + File.separatorChar + "_hbmAssembler.json"); - - try { - - JsonWriter writer = new JsonWriter(new FileWriter(template)); - writer.setIndent(" "); - - writer.beginObject(); - - writer.name("recipes").beginArray(); - - for(ComparableStack output : recipeList) { - - writer.beginObject(); - writer.name("output").beginArray(); - writer.setIndent(""); - writer.value("item"); - writer.value(Item.itemRegistry.getNameForObject(output.toStack().getItem())); - writer.value(output.stacksize); - if(output.meta > 0) - writer.value(output.meta); - writer.endArray(); - writer.setIndent(" "); - - - writer.name("input").beginArray(); - - AStack[] inputs = recipes.get(output); - for(AStack astack : inputs) { - - writer.beginArray(); - writer.setIndent(""); - - if(astack instanceof ComparableStack) { - ComparableStack comp = (ComparableStack) astack; - - writer.value("item"); - writer.value(Item.itemRegistry.getNameForObject(comp.toStack().getItem())); - writer.value(comp.stacksize); - if(comp.meta > 0) - writer.value(comp.meta); - } - - if(astack instanceof OreDictStack) { - OreDictStack ore = (OreDictStack) astack; - - writer.value("dict"); - writer.value(ore.name); - writer.value(ore.stacksize); - } - - writer.endArray(); - writer.setIndent(" "); - } - - writer.endArray(); - - writer.name("duration").value(time.get(output)); - - writer.endObject(); - } - - writer.endArray(); - writer.endObject(); - writer.close(); - - } catch(IOException e) { - //shush + recipe.ingredients = news; } } @@ -1536,18 +1311,13 @@ public class AssemblerRecipes { Map> recipes = new HashMap(); - for(Entry entry : AssemblerRecipes.recipes.entrySet()) { + for(Entry entry : AssemblerRecipes.recipes.entrySet()) { List value = new ArrayList(); + AssemblerRecipe recipe = entry.getValue(); - for(AStack o : entry.getValue()) { - - if(o instanceof ComparableStack) { - value.add(((ComparableStack)o).toStack()); - - } else if(o instanceof OreDictStack) { - value.add(((OreDictStack)o).extractForNEI()); - } + for(AStack o : recipe.ingredients) { + value.add(o.extractForNEI()); } recipes.put(entry.getKey().toStack(), value); @@ -1555,4 +1325,22 @@ public class AssemblerRecipes { return recipes; } + + public static class AssemblerRecipe { + + public AStack[] ingredients; + public int time; + public HashSet folders; + + public AssemblerRecipe(AStack[] ingredients, int time) { + this(ingredients, time, ModItems.template_folder); + } + + public AssemblerRecipe(AStack[] ingredients, int time, Item... folder) { + this.ingredients = ingredients; + this.time = time; + this.folders = new HashSet(); + for(Item item : folder) this.folders.add(item); + } + } } diff --git a/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java b/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java index 5b933fdd3..b9f9066d5 100644 --- a/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java @@ -21,6 +21,7 @@ import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.RecipesCommon.OreDictStack; import com.hbm.inventory.recipes.loader.SerializableRecipe; import com.hbm.items.ItemEnums.EnumAshType; +import com.hbm.items.ItemEnums.EnumChunkType; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemPWRFuel.EnumPWRFuel; import com.hbm.items.machine.ItemWatzPellet.EnumWatzType; @@ -265,6 +266,12 @@ public class CentrifugeRecipes extends SerializableRecipe { new ItemStack(ModItems.nugget_pu_mix, 2), new ItemStack(ModItems.nugget_bismuth, 6), new ItemStack(ModItems.nuclear_waste_tiny, 1) }); + + recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.chunk_ore, EnumChunkType.RARE)), new ItemStack[] { + new ItemStack(ModItems.powder_cobalt_tiny, 2), + new ItemStack(ModItems.powder_boron_tiny, 2), + new ItemStack(ModItems.powder_niobium_tiny, 2), + new ItemStack(ModItems.nugget_zirconium, 3) }); ArrayList naquadriaNuggets = OreDictionary.getOres("nuggetNaquadria"); if(naquadriaNuggets.size() != 0) { @@ -283,12 +290,6 @@ public class CentrifugeRecipes extends SerializableRecipe { new ItemStack(ModItems.nuclear_waste, 2) }); } - recipes.put(new ComparableStack(ModItems.powder_cloud), new ItemStack[] { - new ItemStack(ModItems.powder_copper, 1), - new ItemStack(ModItems.sulfur, 1), - new ItemStack(ModItems.dust, 1), - new ItemStack(ModItems.dust, 1) }); - recipes.put(new OreDictStack(COAL.ore()), new ItemStack[] { new ItemStack(ModItems.powder_coal, 2), new ItemStack(ModItems.powder_coal, 2), @@ -421,12 +422,6 @@ public class CentrifugeRecipes extends SerializableRecipe { new ItemStack(ModItems.gem_sodalite, 1), new ItemStack(Blocks.gravel, 1) }); - recipes.put(new ComparableStack(ModBlocks.ore_meteor_starmetal), new ItemStack[] { - new ItemStack(ModItems.powder_dura_steel, 3), - new ItemStack(ModItems.powder_astatine, 1), - new ItemStack(ModItems.powder_cobalt, 2), - new ItemStack(Blocks.gravel, 1) }); - recipes.put(new ComparableStack(ModBlocks.block_euphemium_cluster), new ItemStack[] { new ItemStack(ModItems.nugget_euphemium, 7), new ItemStack(ModItems.powder_schrabidium, 4), @@ -523,7 +518,7 @@ public class CentrifugeRecipes extends SerializableRecipe { recipes.put(new ComparableStack(Items.blaze_rod), new ItemStack[] {new ItemStack(Items.blaze_powder, 1), new ItemStack(Items.blaze_powder, 1), new ItemStack(ModItems.powder_fire, 1), new ItemStack(ModItems.powder_fire, 1) }); - recipes.put(new ComparableStack(ModItems.ingot_schraranium), new ItemStack[] { new ItemStack(ModItems.nugget_schrabidium, 2), new ItemStack(ModItems.nugget_schrabidium, 1), new ItemStack(ModItems.nugget_uranium, 3), new ItemStack(ModItems.nugget_plutonium, 2) }); + recipes.put(new ComparableStack(ModItems.ingot_schraranium), new ItemStack[] { new ItemStack(ModItems.nugget_schrabidium, 2), new ItemStack(ModItems.nugget_schrabidium, 1), new ItemStack(ModItems.nugget_uranium, 3), new ItemStack(ModItems.nugget_neptunium, 2) }); recipes.put(new ComparableStack(ModItems.crystal_coal), new ItemStack[] { new ItemStack(ModItems.powder_coal, 3), new ItemStack(ModItems.powder_coal, 3), new ItemStack(ModItems.powder_coal, 3), new ItemStack(ModItems.powder_lithium_tiny, 1) }); recipes.put(new ComparableStack(ModItems.crystal_iron), new ItemStack[] { new ItemStack(ModItems.powder_iron, 2), new ItemStack(ModItems.powder_iron, 2), new ItemStack(ModItems.powder_titanium, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) }); @@ -543,7 +538,7 @@ public class CentrifugeRecipes extends SerializableRecipe { recipes.put(new ComparableStack(ModItems.crystal_fluorite), new ItemStack[] { new ItemStack(ModItems.fluorite, 4), new ItemStack(ModItems.fluorite, 4), new ItemStack(ModItems.gem_sodalite, 2), new ItemStack(ModItems.powder_lithium_tiny, 1) }); recipes.put(new ComparableStack(ModItems.crystal_beryllium), new ItemStack[] { new ItemStack(ModItems.powder_beryllium, 2), new ItemStack(ModItems.powder_beryllium, 2), new ItemStack(ModItems.powder_quartz, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) }); recipes.put(new ComparableStack(ModItems.crystal_lead), new ItemStack[] { new ItemStack(ModItems.powder_lead, 2), new ItemStack(ModItems.powder_lead, 2), new ItemStack(ModItems.powder_gold, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) }); - recipes.put(new ComparableStack(ModItems.crystal_schraranium), new ItemStack[] { new ItemStack(ModItems.nugget_schrabidium, 2), new ItemStack(ModItems.nugget_schrabidium, 2), new ItemStack(ModItems.nugget_uranium, 2), new ItemStack(ModItems.nugget_plutonium, 2) }); + recipes.put(new ComparableStack(ModItems.crystal_schraranium), new ItemStack[] { new ItemStack(ModItems.nugget_schrabidium, 2), new ItemStack(ModItems.nugget_schrabidium, 2), new ItemStack(ModItems.nugget_uranium, 2), new ItemStack(ModItems.nugget_neptunium, 2) }); recipes.put(new ComparableStack(ModItems.crystal_schrabidium), new ItemStack[] { new ItemStack(ModItems.powder_schrabidium, 2), new ItemStack(ModItems.powder_schrabidium, 2), new ItemStack(ModItems.powder_plutonium, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) }); recipes.put(new ComparableStack(ModItems.crystal_rare), new ItemStack[] { new ItemStack(ModItems.powder_desh_mix, 1), new ItemStack(ModItems.powder_desh_mix, 1), new ItemStack(ModItems.nugget_zirconium, 2), new ItemStack(ModItems.nugget_zirconium, 2) }); recipes.put(new ComparableStack(ModItems.crystal_phosphorus), new ItemStack[] { new ItemStack(ModItems.powder_fire, 3), new ItemStack(ModItems.powder_fire, 3), new ItemStack(ModItems.ingot_phosphorus, 2), new ItemStack(Items.blaze_powder, 2) }); diff --git a/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java b/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java index f3639536b..75af426bc 100644 --- a/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java @@ -38,7 +38,6 @@ public class ChemplantRecipes extends SerializableRecipe { @Override public void registerDefaults() { - registerFuelProcessing(); //6-30, formerly oil cracking, coal liquefaction and solidifciation registerOtherOil(); @@ -121,8 +120,8 @@ public class ChemplantRecipes extends SerializableRecipe { new FluidStack(Fluids.XYLENE, 250), new FluidStack(Fluids.PHOSGENE, 250)) .inputItems( - new ComparableStack(com.hbm.blocks.ModBlocks.reinforced_glass), - new ComparableStack(com.hbm.items.ModItems.bolt_tungsten, 4)) + new ComparableStack(ModBlocks.reinforced_glass), + new OreDictStack(STEEL.bolt(), 4)) .outputItems(new ItemStack(com.hbm.blocks.ModBlocks.reinforced_laminate))); recipes.add(new ChemRecipe(94, "PC", 100) .inputFluids( @@ -227,10 +226,10 @@ public class ChemplantRecipes extends SerializableRecipe { .inputFluids(new FluidStack(Fluids.PETROLEUM, 200, GeneralConfig.enable528 ? 1 : 0)) .outputItems(new ItemStack(ModItems.rocket_fuel, 4))); recipes.add(new ChemRecipe(58, "ELECTROLYSIS", 150) - .inputFluids(new FluidStack(Fluids.WATER, 8000)) + .inputFluids(new FluidStack(Fluids.WATER, 4000)) .outputFluids( - new FluidStack(Fluids.HYDROGEN, 800), - new FluidStack(Fluids.OXYGEN, 800))); + new FluidStack(Fluids.HYDROGEN, 400), + new FluidStack(Fluids.OXYGEN, 400))); recipes.add(new ChemRecipe(59, "XENON", 300) .inputFluids(new FluidStack(Fluids.NONE, 0)) .outputFluids(new FluidStack(Fluids.XENON, 50))); @@ -287,13 +286,6 @@ public class ChemplantRecipes extends SerializableRecipe { new ItemStack(ModItems.gem_tantalium), new ItemStack(ModItems.dust, 3)) .outputFluids(new FluidStack(Fluids.WATER, 250))); - recipes.add(new ChemRecipe(91, "ARSENIC", 1200) - .inputItems(new ComparableStack(ModItems.scrap_oil, 256)) - .inputFluids(new FluidStack(Fluids.SULFURIC_ACID, 1000)) - .outputItems( - new ItemStack(ModItems.nugget_arsenic), - new ItemStack(ModItems.sulfur, 2)) - .outputFluids(new FluidStack(Fluids.HEAVYOIL, 1500))); recipes.add(new ChemRecipe(68, "VIT_LIQUID", 100) .inputItems(new ComparableStack(ModBlocks.sand_lead)) .inputFluids(new FluidStack(Fluids.WASTEFLUID, 1000)) @@ -314,7 +306,7 @@ public class ChemplantRecipes extends SerializableRecipe { .inputFluids( new FluidStack(Fluids.PETROLEUM, 100), new FluidStack(Fluids.STEAM, 1000)) - .outputItems(new ItemStack(ModItems.antiknock))); + .outputItems(new ItemStack(ModItems.fuel_additive))); recipes.add(new ChemRecipe(4, "FR_REOIL", 30) .inputFluids(new FluidStack(1000, Fluids.SMEAR)) .outputFluids(new FluidStack(800, Fluids.RECLAIMED))); @@ -324,18 +316,18 @@ public class ChemplantRecipes extends SerializableRecipe { new FluidStack(200, Fluids.LUBRICANT)) .outputFluids(new FluidStack(1000, Fluids.PETROIL))); recipes.add(new ChemRecipe(86, "PETROIL_LEADED", 40) - .inputItems(new ComparableStack(ModItems.antiknock)) + .inputItems(new ComparableStack(ModItems.fuel_additive)) .inputFluids(new FluidStack(Fluids.PETROIL, 10_000)) .outputFluids(new FluidStack(Fluids.PETROIL_LEADED, 12_000))); recipes.add(new ChemRecipe(71, "GASOLINE", 40) .inputFluids(new FluidStack(Fluids.NAPHTHA, 1000)) .outputFluids(new FluidStack(Fluids.GASOLINE, 800))); recipes.add(new ChemRecipe(85, "GASOLINE_LEADED", 40) - .inputItems(new ComparableStack(ModItems.antiknock)) + .inputItems(new ComparableStack(ModItems.fuel_additive)) .inputFluids(new FluidStack(Fluids.GASOLINE, 10_000)) .outputFluids(new FluidStack(Fluids.GASOLINE_LEADED, 12_000))); recipes.add(new ChemRecipe(87, "COALGAS_LEADED", 40) - .inputItems(new ComparableStack(ModItems.antiknock)) + .inputItems(new ComparableStack(ModItems.fuel_additive)) .inputFluids(new FluidStack(Fluids.COALGAS, 10_000)) .outputFluids(new FluidStack(Fluids.COALGAS_LEADED, 12_000))); recipes.add(new ChemRecipe(72, "FRACKSOL", 20) @@ -372,10 +364,10 @@ public class ChemplantRecipes extends SerializableRecipe { .inputFluids(new FluidStack(Fluids.GAS, 1000)) .outputFluids(new FluidStack(Fluids.CARBONDIOXIDE, 1000))); recipes.add(new ChemRecipe(78, "HEAVY_ELECTROLYSIS", 150) - .inputFluids(new FluidStack(Fluids.HEAVYWATER, 8000)) + .inputFluids(new FluidStack(Fluids.HEAVYWATER, 2000)) .outputFluids( - new FluidStack(Fluids.DEUTERIUM, 400), - new FluidStack(Fluids.OXYGEN, 400))); + new FluidStack(Fluids.DEUTERIUM, 200), + new FluidStack(Fluids.OXYGEN, 200))); recipes.add(new ChemRecipe(80, "EPEARL", 100) .inputItems(new OreDictStack(DIAMOND.dust(), 1)) .inputFluids(new FluidStack(Fluids.XPJUICE, 500)) @@ -401,6 +393,7 @@ public class ChemplantRecipes extends SerializableRecipe { recipes.add(new ChemRecipe(101, "CC_CENTRIFUGE", 200) .inputFluids(new FluidStack(Fluids.CHLOROCALCITE_CLEANED, 500), new FluidStack(Fluids.SULFURIC_ACID, 8_000)) .outputFluids(new FluidStack(Fluids.POTASSIUM_CHLORIDE, 250), new FluidStack(Fluids.CALCIUM_CHLORIDE, 250))); + recipes.add(new ChemRecipe(102, "THORIUM_SALT", 60) .inputFluids(new FluidStack(Fluids.THORIUM_SALT_DEPLETED, 16_000)) .inputItems(new OreDictStack(TH232.nugget(), 2)) @@ -408,33 +401,14 @@ public class ChemplantRecipes extends SerializableRecipe { .outputItems( new ItemStack(ModItems.nugget_u233, 1), new ItemStack(ModItems.nuclear_waste_tiny, 1))); - } - - public static void registerFuelProcessing() { - recipes.add(new ChemRecipe(0, "FP_HEAVYOIL", 50) - .inputFluids(new FluidStack(1000, Fluids.HEAVYOIL)) - .outputFluids( - new FluidStack(FractionRecipes.heavy_frac_bitu * 10, Fluids.BITUMEN), - new FluidStack(FractionRecipes.heavy_frac_smear * 10, Fluids.SMEAR) - )); - recipes.add(new ChemRecipe(1, "FP_SMEAR", 50) - .inputFluids(new FluidStack(1000, Fluids.SMEAR)) - .outputFluids( - new FluidStack(FractionRecipes.smear_frac_heat * 10, Fluids.HEATINGOIL), - new FluidStack(FractionRecipes.smear_frac_lube * 10, Fluids.LUBRICANT) - )); - recipes.add(new ChemRecipe(2, "FP_NAPHTHA", 50) - .inputFluids(new FluidStack(1000, Fluids.NAPHTHA)) - .outputFluids( - new FluidStack(FractionRecipes.napht_frac_heat * 10, Fluids.HEATINGOIL), - new FluidStack(FractionRecipes.napht_frac_diesel * 10, Fluids.DIESEL) - )); - recipes.add(new ChemRecipe(3, "FP_LIGHTOIL", 50) - .inputFluids(new FluidStack(1000, Fluids.LIGHTOIL)) - .outputFluids( - new FluidStack(FractionRecipes.light_frac_diesel * 10, Fluids.DIESEL), - new FluidStack(FractionRecipes.light_frac_kero * 10, Fluids.KEROSENE) - )); + + recipes.add(new ChemRecipe(103, "MEAT_PROCESSING", 200) + .inputItems(new OreDictStack(KEY_GLYPHID_MEAT, 3)) + .inputFluids(new FluidStack(Fluids.SULFURIC_ACID, 1000)) + .outputItems(new ItemStack(ModItems.sulfur, 4), + new ItemStack(ModItems.niter, 3)) + .outputFluids(new FluidStack(Fluids.SALIENT, 250))); + } public static void registerOtherOil() { diff --git a/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java b/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java index d6f9cf30d..6acfc9df1 100644 --- a/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java @@ -38,12 +38,14 @@ public class CokerRecipes extends SerializableRecipe { registerAuto(HEATINGOIL_VACUUM, OIL_COKER); registerAuto(RECLAIMED, NAPHTHA_COKER); registerAuto(NAPHTHA, NAPHTHA_COKER); + registerAuto(NAPHTHA_DS, NAPHTHA_COKER); registerAuto(NAPHTHA_CRACK, NAPHTHA_COKER); registerAuto(DIESEL, NAPHTHA_COKER); registerAuto(DIESEL_REFORM, NAPHTHA_COKER); registerAuto(DIESEL_CRACK, GAS_COKER); registerAuto(DIESEL_CRACK_REFORM, GAS_COKER); registerAuto(LIGHTOIL, GAS_COKER); + registerAuto(LIGHTOIL_DS, GAS_COKER); registerAuto(LIGHTOIL_CRACK, GAS_COKER); registerAuto(LIGHTOIL_VACUUM, GAS_COKER); registerAuto(BIOFUEL, GAS_COKER); @@ -60,6 +62,8 @@ public class CokerRecipes extends SerializableRecipe { registerRecipe(BITUMEN, 16_000, DictFrame.fromOne(ModItems.coke, EnumCokeType.PETROLEUM), new FluidStack(OIL_COKER, 1_600)); registerRecipe(LUBRICANT, 12_000, DictFrame.fromOne(ModItems.coke, EnumCokeType.PETROLEUM), new FluidStack(OIL_COKER, 1_200)); registerRecipe(CALCIUM_SOLUTION, 125, new ItemStack(ModItems.powder_calcium), new FluidStack(SPENTSTEAM, 100)); + //only cokable gas to extract sulfur content + registerRecipe(SOURGAS, 250, new ItemStack(ModItems.sulfur), new FluidStack(GAS_COKER, 150)); } private static void registerAuto(FluidType fluid, FluidType type) { diff --git a/src/main/java/com/hbm/inventory/recipes/CombinationRecipes.java b/src/main/java/com/hbm/inventory/recipes/CombinationRecipes.java index 2b70c1359..1fe93cf7e 100644 --- a/src/main/java/com/hbm/inventory/recipes/CombinationRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CombinationRecipes.java @@ -44,7 +44,8 @@ public class CombinationRecipes extends SerializableRecipe { recipes.put(LIGNITE.dust(), new Pair(DictFrame.fromOne(ModItems.coke, EnumCokeType.LIGNITE), new FluidStack(Fluids.COALCREOSOTE, 50))); recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.briquette, EnumBriquetteType.LIGNITE)), new Pair(DictFrame.fromOne(ModItems.coke, EnumCokeType.LIGNITE), new FluidStack(Fluids.COALCREOSOTE, 100))); - //recipes.put(CHLOROCALCITE.dust(), new Pair(new ItemStack(ModItems.powder_calcium), new FluidStack(Fluids.CHLORINE, 250))); + recipes.put(CHLOROCALCITE.dust(), new Pair(new ItemStack(ModItems.powder_calcium), new FluidStack(Fluids.CHLORINE, 250))); + recipes.put(MOLYSITE.dust(), new Pair(new ItemStack(Items.iron_ingot), new FluidStack(Fluids.CHLORINE, 250))); recipes.put(CINNABAR.crystal(), new Pair(new ItemStack(ModItems.sulfur), new FluidStack(Fluids.MERCURY, 100))); recipes.put(new ComparableStack(Items.glowstone_dust), new Pair(new ItemStack(ModItems.sulfur), new FluidStack(Fluids.CHLORINE, 100))); recipes.put(SODALITE.gem(), new Pair(new ItemStack(ModItems.powder_sodium), new FluidStack(Fluids.CHLORINE, 100))); diff --git a/src/main/java/com/hbm/inventory/recipes/CompressorRecipes.java b/src/main/java/com/hbm/inventory/recipes/CompressorRecipes.java index 9b5ef555d..a611276ae 100644 --- a/src/main/java/com/hbm/inventory/recipes/CompressorRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CompressorRecipes.java @@ -26,7 +26,7 @@ public class CompressorRecipes extends SerializableRecipe { recipes.put(new Pair(Fluids.PETROLEUM, 0), new CompressorRecipe(2_000, new FluidStack(Fluids.PETROLEUM, 2_000, 1), 20)); recipes.put(new Pair(Fluids.PETROLEUM, 1), new CompressorRecipe(2_000, new FluidStack(Fluids.LPG, 1_000, 0), 20)); - recipes.put(new Pair(Fluids.BLOOD, 3), new CompressorRecipe(1_000, new FluidStack(Fluids.OIL, 500, 0), 100)); + recipes.put(new Pair(Fluids.BLOOD, 3), new CompressorRecipe(1_000, new FluidStack(Fluids.HEAVYOIL, 250, 0), 200)); } public static class CompressorRecipe { diff --git a/src/main/java/com/hbm/inventory/recipes/CrucibleRecipes.java b/src/main/java/com/hbm/inventory/recipes/CrucibleRecipes.java index fecbd9e20..903d07e1f 100644 --- a/src/main/java/com/hbm/inventory/recipes/CrucibleRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CrucibleRecipes.java @@ -96,6 +96,14 @@ public class CrucibleRecipes extends SerializableRecipe { .inputs(new MaterialStack(Mats.MAT_STEEL, n * 8), new MaterialStack(Mats.MAT_CADMIUM, n)) .outputs(new MaterialStack(Mats.MAT_CDALLOY, i))); + recipes.add(new CrucibleRecipe(14, "crucible.bbronze", 9, new ItemStack(ModItems.ingot_bismuth_bronze)) + .inputs(new MaterialStack(Mats.MAT_COPPER, n * 8), new MaterialStack(Mats.MAT_BISMUTH, n), new MaterialStack(Mats.MAT_FLUX, n * 3)) + .outputs(new MaterialStack(Mats.MAT_BBRONZE, i), new MaterialStack(Mats.MAT_SLAG, n * 3))); + + recipes.add(new CrucibleRecipe(15, "crucible.abronze", 9, new ItemStack(ModItems.ingot_arsenic_bronze)) + .inputs(new MaterialStack(Mats.MAT_COPPER, n * 8), new MaterialStack(Mats.MAT_ARSENIC, n), new MaterialStack(Mats.MAT_FLUX, n * 3)) + .outputs(new MaterialStack(Mats.MAT_ABRONZE, i), new MaterialStack(Mats.MAT_SLAG, n * 3))); + recipes.add(new CrucibleRecipe(13, "crucible.cmb", 3, new ItemStack(ModItems.ingot_combine_steel)) .inputs(new MaterialStack(Mats.MAT_MAGTUNG, n * 6), new MaterialStack(Mats.MAT_MUD, n * 3)) .outputs(new MaterialStack(Mats.MAT_CMB, i))); diff --git a/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java b/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java index 8f33e422e..95f88f353 100644 --- a/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java @@ -47,8 +47,9 @@ public class CrystallizerRecipes extends SerializableRecipe { @Override public void registerDefaults() { - int baseTime = 600; - int utilityTime = 100; + final int baseTime = 600; + final int utilityTime = 100; + final int mixingTime = 20; FluidStack sulfur = new FluidStack(Fluids.SULFURIC_ACID, 500); registerRecipe(COAL.ore(), new CrystallizerRecipe(ModItems.crystal_coal, baseTime)); @@ -93,9 +94,10 @@ public class CrystallizerRecipes extends SerializableRecipe { registerRecipe(new ComparableStack(Items.rotten_flesh), new CrystallizerRecipe(Items.leather, utilityTime)); registerRecipe(new ComparableStack(ModItems.coal_infernal), new CrystallizerRecipe(ModItems.solid_fuel, utilityTime)); registerRecipe(new ComparableStack(ModBlocks.stone_gneiss), new CrystallizerRecipe(ModItems.powder_lithium, utilityTime)); - registerRecipe(new ComparableStack(Items.dye, 1, 15), new CrystallizerRecipe(new ItemStack(Items.slime_ball, 4), 20), new FluidStack(Fluids.SULFURIC_ACID, 250)); - registerRecipe(new ComparableStack(Items.bone), new CrystallizerRecipe(new ItemStack(Items.slime_ball, 16), 20), new FluidStack(Fluids.SULFURIC_ACID, 1_000)); + registerRecipe(new ComparableStack(Items.dye, 1, 15), new CrystallizerRecipe(new ItemStack(Items.slime_ball, 4), mixingTime), new FluidStack(Fluids.SULFURIC_ACID, 250)); + registerRecipe(new ComparableStack(Items.bone), new CrystallizerRecipe(new ItemStack(Items.slime_ball, 16), mixingTime), new FluidStack(Fluids.SULFURIC_ACID, 1_000)); registerRecipe(new ComparableStack(DictFrame.fromOne(ModItems.plant_item, EnumPlantType.MUSTARDWILLOW)), new CrystallizerRecipe(new ItemStack(ModItems.powder_cadmium), 100).setReq(10), new FluidStack(Fluids.RADIOSOLVENT, 250)); + registerRecipe(new ComparableStack(ModItems.scrap_oil), new CrystallizerRecipe(new ItemStack(ModItems.nugget_arsenic), 100).setReq(16), new FluidStack(Fluids.RADIOSOLVENT, 100)); registerRecipe(new ComparableStack(DictFrame.fromOne(ModItems.powder_ash, EnumAshType.FULLERENE)), new CrystallizerRecipe(new ItemStack(ModItems.ingot_cft), baseTime).setReq(4), new FluidStack(Fluids.XYLENE, 1_000)); registerRecipe(DIAMOND.dust(), new CrystallizerRecipe(Items.diamond, utilityTime)); @@ -104,7 +106,9 @@ public class CrystallizerRecipes extends SerializableRecipe { registerRecipe(new ComparableStack(ModItems.powder_semtex_mix), new CrystallizerRecipe(ModItems.ingot_semtex, baseTime)); registerRecipe(new ComparableStack(ModItems.powder_desh_ready), new CrystallizerRecipe(ModItems.ingot_desh, baseTime)); registerRecipe(new ComparableStack(ModItems.powder_meteorite), new CrystallizerRecipe(ModItems.fragment_meteorite, utilityTime)); - registerRecipe(CD.dust(), new CrystallizerRecipe(ModItems.ingot_rubber, baseTime), new FluidStack(Fluids.FISHOIL, 250)); + registerRecipe(CD.dust(), new CrystallizerRecipe(ModItems.ingot_rubber, utilityTime), new FluidStack(Fluids.FISHOIL, 250)); + registerRecipe(LATEX.ingot(), new CrystallizerRecipe(ModItems.ingot_rubber, mixingTime), new FluidStack(Fluids.SOURGAS, 25)); + registerRecipe(new ComparableStack(ModItems.powder_sawdust), new CrystallizerRecipe(ModItems.cordite, mixingTime), new FluidStack(Fluids.NITROGLYCERIN, 250)); registerRecipe(new ComparableStack(ModItems.meteorite_sword_treated), new CrystallizerRecipe(ModItems.meteorite_sword_etched, baseTime)); registerRecipe(new ComparableStack(ModItems.powder_impure_osmiridium), new CrystallizerRecipe(ModItems.crystal_osmiridium, baseTime), new FluidStack(Fluids.SCHRABIDIC, 1_000)); @@ -131,12 +135,12 @@ public class CrystallizerRecipes extends SerializableRecipe { FluidStack[] dyes = new FluidStack[] {new FluidStack(Fluids.WOODOIL, 100), new FluidStack(Fluids.FISHOIL, 100)}; for(FluidStack dye : dyes) { - registerRecipe(COAL.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.BLACK, 4), 20), dye); - registerRecipe(TI.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.WHITE, 4), 20), dye); - registerRecipe(IRON.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.RED, 4), 20), dye); - registerRecipe(W.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.YELLOW, 4), 20), dye); - registerRecipe(CU.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.GREEN, 4), 20), dye); - registerRecipe(CO.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.BLUE, 4), 20), dye); + registerRecipe(COAL.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.BLACK, 4), mixingTime), dye); + registerRecipe(TI.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.WHITE, 4), mixingTime), dye); + registerRecipe(IRON.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.RED, 4), mixingTime), dye); + registerRecipe(W.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.YELLOW, 4), mixingTime), dye); + registerRecipe(CU.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.GREEN, 4), mixingTime), dye); + registerRecipe(CO.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.BLUE, 4), mixingTime), dye); } registerRecipe(new ComparableStack(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRUDE)), new CrystallizerRecipe(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.WAX), 20), new FluidStack(Fluids.CHLORINE, 250)); diff --git a/src/main/java/com/hbm/inventory/recipes/CustomMachineRecipes.java b/src/main/java/com/hbm/inventory/recipes/CustomMachineRecipes.java index e3fe13cef..a91431fa8 100644 --- a/src/main/java/com/hbm/inventory/recipes/CustomMachineRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CustomMachineRecipes.java @@ -22,12 +22,12 @@ import net.minecraft.init.Items; import net.minecraft.item.ItemStack; public class CustomMachineRecipes extends SerializableRecipe { - + public static HashMap> recipes = new HashMap(); @Override public void registerDefaults() { - + recipes.put("paperPress", new ArrayList() {{ CustomMachineRecipe recipe = new CustomMachineRecipe(); recipe.inputFluids = new FluidStack[] {new FluidStack(Fluids.WATER, 250)}; @@ -36,6 +36,11 @@ public class CustomMachineRecipes extends SerializableRecipe { recipe.outputItems = new Pair[] {new Pair(new ItemStack(Items.paper, 3), 1F)}; recipe.duration = 60; recipe.consumptionPerTick = 10; + recipe.pollutionType = "SOOT"; + recipe.pollutionAmount = 0.03F; + recipe.radiationAmount = 0; + recipe.flux = 0; + recipe.heat = 0; add(recipe); }}); } @@ -58,11 +63,11 @@ public class CustomMachineRecipes extends SerializableRecipe { @Override public void readRecipe(JsonElement recipe) { JsonObject obj = recipe.getAsJsonObject(); - + String name = obj.get("recipeKey").getAsString(); List list = new ArrayList(); JsonArray array = obj.get("recipes").getAsJsonArray(); - + for(int i = 0; i < array.size(); i++) { JsonObject rec = array.get(i).getAsJsonObject(); CustomMachineRecipe recipeInstance = new CustomMachineRecipe(); @@ -72,56 +77,79 @@ public class CustomMachineRecipes extends SerializableRecipe { recipeInstance.outputItems = this.readItemStackArrayChance(rec.get("outputItems").getAsJsonArray()); recipeInstance.duration = rec.get("duration").getAsInt(); recipeInstance.consumptionPerTick = rec.get("consumptionPerTick").getAsInt(); + + if(rec.has("pollutionType") && rec.has("pollutionAmount")) { + recipeInstance.pollutionType = rec.get("pollutionType").getAsString(); + recipeInstance.pollutionAmount = rec.get("pollutionAmount").getAsFloat(); + } else { + recipeInstance.pollutionType = ""; + } + + if(rec.has("radiationAmount")) recipeInstance.radiationAmount = rec.get("radiationAmount").getAsFloat(); + if(rec.has("flux")) recipeInstance.flux = rec.get("flux").getAsInt(); + if(rec.has("heat")) recipeInstance.heat = rec.get("heat").getAsInt(); + list.add(recipeInstance); } - + recipes.put(name, list); } @Override public void writeRecipe(Object recipe, JsonWriter writer) throws IOException { Entry> entry = (Entry) recipe; - + writer.name("recipeKey").value(entry.getKey()); writer.name("recipes").beginArray(); - + for(CustomMachineRecipe recipeInstance : entry.getValue()) { writer.beginObject(); - + writer.name("inputFluids").beginArray(); for(FluidStack stack : recipeInstance.inputFluids) this.writeFluidStack(stack, writer); writer.endArray(); - + writer.name("inputItems").beginArray(); for(AStack stack : recipeInstance.inputItems) this.writeAStack(stack, writer); writer.endArray(); - + writer.name("outputFluids").beginArray(); for(FluidStack stack : recipeInstance.outputFluids) this.writeFluidStack(stack, writer); writer.endArray(); - + writer.name("outputItems").beginArray(); for(Pair stack : recipeInstance.outputItems) this.writeItemStackChance(stack, writer); writer.endArray(); writer.name("duration").value(recipeInstance.duration); writer.name("consumptionPerTick").value(recipeInstance.consumptionPerTick); - + writer.name("pollutionType").value(recipeInstance.pollutionType); + writer.name("pollutionAmount").value(recipeInstance.pollutionAmount); + writer.name("radiationAmount").value(recipeInstance.radiationAmount); + writer.name("flux").value(recipeInstance.flux); + writer.name("heat").value(recipeInstance.heat); + writer.endObject(); } - + writer.endArray(); } - + public static class CustomMachineRecipe { - + public FluidStack[] inputFluids; public AStack[] inputItems; public FluidStack[] outputFluids; public Pair[] outputItems; - + public int duration; public int consumptionPerTick; + + public String pollutionType; + public float pollutionAmount; + public float radiationAmount; + public int flux; + public int heat; } } diff --git a/src/main/java/com/hbm/inventory/recipes/ElectrolyserFluidRecipes.java b/src/main/java/com/hbm/inventory/recipes/ElectrolyserFluidRecipes.java index 658f0d305..b60884f26 100644 --- a/src/main/java/com/hbm/inventory/recipes/ElectrolyserFluidRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ElectrolyserFluidRecipes.java @@ -24,8 +24,8 @@ public class ElectrolyserFluidRecipes extends SerializableRecipe { @Override public void registerDefaults() { - recipes.put(Fluids.WATER, new ElectrolysisRecipe(1_000, new FluidStack(Fluids.HYDROGEN, 100), new FluidStack(Fluids.OXYGEN, 100))); - recipes.put(Fluids.HEAVYWATER, new ElectrolysisRecipe(1_000, new FluidStack(Fluids.DEUTERIUM, 50), new FluidStack(Fluids.OXYGEN, 50))); + recipes.put(Fluids.WATER, new ElectrolysisRecipe(2_000, new FluidStack(Fluids.HYDROGEN, 200), new FluidStack(Fluids.OXYGEN, 200))); + recipes.put(Fluids.HEAVYWATER, new ElectrolysisRecipe(2_000, new FluidStack(Fluids.DEUTERIUM, 200), new FluidStack(Fluids.OXYGEN, 200))); recipes.put(Fluids.POTASSIUM_CHLORIDE, new ElectrolysisRecipe(250, new FluidStack(Fluids.CHLORINE, 125), new FluidStack(Fluids.NONE, 0), new ItemStack(ModItems.dust))); recipes.put(Fluids.CALCIUM_CHLORIDE, new ElectrolysisRecipe(250, new FluidStack(Fluids.CHLORINE, 125), new FluidStack(Fluids.CALCIUM_SOLUTION, 125))); diff --git a/src/main/java/com/hbm/inventory/recipes/ElectrolyserMetalRecipes.java b/src/main/java/com/hbm/inventory/recipes/ElectrolyserMetalRecipes.java index aabebb3a4..2e240f391 100644 --- a/src/main/java/com/hbm/inventory/recipes/ElectrolyserMetalRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ElectrolyserMetalRecipes.java @@ -93,7 +93,7 @@ public class ElectrolyserMetalRecipes extends SerializableRecipe { recipes.put(new ComparableStack(ModItems.crystal_schraranium), new ElectrolysisMetalRecipe( new MaterialStack(Mats.MAT_SCHRABIDIUM, MaterialShapes.NUGGET.q(5)), new MaterialStack(Mats.MAT_URANIUM, MaterialShapes.NUGGET.q(2)), - new ItemStack(ModItems.nugget_plutonium, 2))); + new ItemStack(ModItems.nugget_neptunium, 2))); recipes.put(new ComparableStack(ModItems.crystal_schrabidium), new ElectrolysisMetalRecipe( new MaterialStack(Mats.MAT_SCHRABIDIUM, MaterialShapes.INGOT.q(6)), diff --git a/src/main/java/com/hbm/inventory/recipes/ExposureChamberRecipes.java b/src/main/java/com/hbm/inventory/recipes/ExposureChamberRecipes.java index cb42e3140..5cee1cb84 100644 --- a/src/main/java/com/hbm/inventory/recipes/ExposureChamberRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ExposureChamberRecipes.java @@ -46,8 +46,10 @@ public class ExposureChamberRecipes extends SerializableRecipe { AStack stack = recipe.ingredient.copy(); stack.stacksize = 8; array[0] = stack; + ItemStack output = recipe.output.copy(); + output.stackSize = 8; - recipes.put(array, recipe.output); + recipes.put(array, output); } return recipes; diff --git a/src/main/java/com/hbm/inventory/recipes/FractionRecipes.java b/src/main/java/com/hbm/inventory/recipes/FractionRecipes.java index b3b673a6a..8b144c3fb 100644 --- a/src/main/java/com/hbm/inventory/recipes/FractionRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/FractionRecipes.java @@ -19,51 +19,28 @@ import net.minecraft.item.ItemStack; public class FractionRecipes extends SerializableRecipe { - public static final int heavy_frac_bitu = 30; - public static final int heavy_frac_smear = 70; - public static final int smear_frac_heat = 60; - public static final int smear_frac_lube = 40; - public static final int napht_frac_heat = 40; - public static final int napht_frac_diesel = 60; - public static final int light_frac_diesel = 40; - public static final int light_frac_kero = 60; - - public static final int ncrack_frac_heat = 30; - public static final int ncrack_frac_diesel = 70; - public static final int lcrack_frac_kero = 70; - public static final int lcrack_frac_petro = 30; - public static final int coal_frac_coalgas = 30; - public static final int coal_frac_oil = 70; - public static final int creo_frac_coaloil = 10; - public static final int creo_frac_bitu = 90; - public static final int reform_frac_arom = 40; - public static final int reform_frac_xyle = 60; - public static final int hvac_frac_smear = 40; - public static final int hvac_frac_heat = 60; - public static final int lvac_frac_kero = 70; - public static final int lvac_frac_gas = 30; - private static Map> fractions = new HashMap(); @Override public void registerDefaults() { - fractions.put(Fluids.HEAVYOIL, new Pair(new FluidStack(Fluids.BITUMEN, heavy_frac_bitu), new FluidStack(Fluids.SMEAR, heavy_frac_smear))); - fractions.put(Fluids.SMEAR, new Pair(new FluidStack(Fluids.HEATINGOIL, smear_frac_heat), new FluidStack(Fluids.LUBRICANT, smear_frac_lube))); - fractions.put(Fluids.NAPHTHA, new Pair(new FluidStack(Fluids.HEATINGOIL, napht_frac_heat), new FluidStack(Fluids.DIESEL, napht_frac_diesel))); - fractions.put(Fluids.NAPHTHA_CRACK, new Pair(new FluidStack(Fluids.HEATINGOIL, ncrack_frac_heat), new FluidStack(Fluids.DIESEL_CRACK, ncrack_frac_diesel))); - fractions.put(Fluids.LIGHTOIL, new Pair(new FluidStack(Fluids.DIESEL, light_frac_diesel), new FluidStack(Fluids.KEROSENE, light_frac_kero))); - fractions.put(Fluids.LIGHTOIL_CRACK, new Pair(new FluidStack(Fluids.KEROSENE, lcrack_frac_kero), new FluidStack(Fluids.PETROLEUM, lcrack_frac_petro))); - fractions.put(Fluids.COALOIL, new Pair(new FluidStack(Fluids.COALGAS, coal_frac_coalgas), new FluidStack(Fluids.OIL, coal_frac_oil))); - fractions.put(Fluids.COALCREOSOTE, new Pair(new FluidStack(Fluids.COALOIL, creo_frac_coaloil), new FluidStack(Fluids.BITUMEN, creo_frac_bitu))); - fractions.put(Fluids.HEAVYOIL_VACUUM, new Pair(new FluidStack(Fluids.SMEAR, hvac_frac_smear), new FluidStack(Fluids.HEATINGOIL_VACUUM, hvac_frac_heat))); - fractions.put(Fluids.REFORMATE, new Pair(new FluidStack(Fluids.AROMATICS, reform_frac_arom), new FluidStack(Fluids.XYLENE, reform_frac_xyle))); - fractions.put(Fluids.LIGHTOIL_VACUUM, new Pair(new FluidStack(Fluids.KEROSENE, lvac_frac_kero), new FluidStack(Fluids.REFORMGAS, lvac_frac_gas))); - fractions.put(Fluids.SOURGAS, new Pair(new FluidStack(Fluids.GAS, 30), new FluidStack(Fluids.PETROLEUM, 20))); - fractions.put(Fluids.EGG, new Pair(new FluidStack(Fluids.CHOLESTEROL, 50), new FluidStack(Fluids.RADIOSOLVENT, 50))); - fractions.put(Fluids.OIL_COKER, new Pair(new FluidStack(Fluids.CRACKOIL, 30), new FluidStack(Fluids.HEATINGOIL, 70))); - fractions.put(Fluids.NAPHTHA_COKER, new Pair(new FluidStack(Fluids.NAPHTHA_CRACK, 75), new FluidStack(Fluids.LIGHTOIL_CRACK, 25))); - fractions.put(Fluids.GAS_COKER, new Pair(new FluidStack(Fluids.AROMATICS, 25), new FluidStack(Fluids.CARBONDIOXIDE, 75))); - fractions.put(Fluids.CHLOROCALCITE_MIX, new Pair(new FluidStack(Fluids.CHLOROCALCITE_CLEANED, 50), new FluidStack(Fluids.COLLOID, 50))); + fractions.put(Fluids.HEAVYOIL, new Pair(new FluidStack(Fluids.BITUMEN, 30), new FluidStack(Fluids.SMEAR, 70))); + fractions.put(Fluids.HEAVYOIL_VACUUM, new Pair(new FluidStack(Fluids.SMEAR, 40), new FluidStack(Fluids.HEATINGOIL_VACUUM, 60))); + fractions.put(Fluids.SMEAR, new Pair(new FluidStack(Fluids.HEATINGOIL, 60), new FluidStack(Fluids.LUBRICANT, 40))); + fractions.put(Fluids.NAPHTHA, new Pair(new FluidStack(Fluids.HEATINGOIL, 40), new FluidStack(Fluids.DIESEL, 60))); + fractions.put(Fluids.NAPHTHA_DS, new Pair(new FluidStack(Fluids.XYLENE, 60), new FluidStack(Fluids.DIESEL_REFORM, 40))); + fractions.put(Fluids.NAPHTHA_CRACK, new Pair(new FluidStack(Fluids.HEATINGOIL, 30), new FluidStack(Fluids.DIESEL_CRACK, 70))); + fractions.put(Fluids.LIGHTOIL, new Pair(new FluidStack(Fluids.DIESEL, 40), new FluidStack(Fluids.KEROSENE, 60))); + fractions.put(Fluids.LIGHTOIL_DS, new Pair(new FluidStack(Fluids.DIESEL_REFORM, 60), new FluidStack(Fluids.KEROSENE_REFORM, 40))); + fractions.put(Fluids.LIGHTOIL_CRACK, new Pair(new FluidStack(Fluids.KEROSENE, 70), new FluidStack(Fluids.PETROLEUM, 30))); + fractions.put(Fluids.COALOIL, new Pair(new FluidStack(Fluids.COALGAS, 30), new FluidStack(Fluids.OIL, 70))); + fractions.put(Fluids.COALCREOSOTE, new Pair(new FluidStack(Fluids.COALOIL, 10), new FluidStack(Fluids.BITUMEN, 90))); + fractions.put(Fluids.REFORMATE, new Pair(new FluidStack(Fluids.AROMATICS, 40), new FluidStack(Fluids.XYLENE, 60))); + fractions.put(Fluids.LIGHTOIL_VACUUM, new Pair(new FluidStack(Fluids.KEROSENE, 70), new FluidStack(Fluids.REFORMGAS, 30))); + fractions.put(Fluids.EGG, new Pair(new FluidStack(Fluids.CHOLESTEROL, 50), new FluidStack(Fluids.RADIOSOLVENT, 50))); + fractions.put(Fluids.OIL_COKER, new Pair(new FluidStack(Fluids.CRACKOIL, 30), new FluidStack(Fluids.HEATINGOIL, 70))); + fractions.put(Fluids.NAPHTHA_COKER, new Pair(new FluidStack(Fluids.NAPHTHA_CRACK, 75), new FluidStack(Fluids.LIGHTOIL_CRACK, 25))); + fractions.put(Fluids.GAS_COKER, new Pair(new FluidStack(Fluids.AROMATICS, 25), new FluidStack(Fluids.CARBONDIOXIDE, 75))); + fractions.put(Fluids.CHLOROCALCITE_MIX, new Pair(new FluidStack(Fluids.CHLOROCALCITE_CLEANED, 50), new FluidStack(Fluids.COLLOID, 50))); } public static Pair getFractions(FluidType oil) { diff --git a/src/main/java/com/hbm/inventory/recipes/HydrotreatingRecipes.java b/src/main/java/com/hbm/inventory/recipes/HydrotreatingRecipes.java new file mode 100644 index 000000000..620d5b490 --- /dev/null +++ b/src/main/java/com/hbm/inventory/recipes/HydrotreatingRecipes.java @@ -0,0 +1,119 @@ +package com.hbm.inventory.recipes; + +import java.io.IOException; +import java.util.HashMap; +import java.util.Map.Entry; + +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonWriter; +import com.hbm.inventory.FluidStack; +import com.hbm.inventory.fluid.FluidType; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.recipes.loader.SerializableRecipe; +import com.hbm.items.machine.ItemFluidIcon; +import com.hbm.util.Tuple.Triplet; + +import net.minecraft.item.ItemStack; + +public class HydrotreatingRecipes extends SerializableRecipe { + + private static HashMap> recipes = new HashMap(); + + @Override + public void registerDefaults() { + + recipes.put(Fluids.OIL, new Triplet( + new FluidStack(Fluids.HYDROGEN, 5, 1), + new FluidStack(Fluids.OIL_DS, 90), + new FluidStack(Fluids.SOURGAS, 15) + )); + + recipes.put(Fluids.CRACKOIL, new Triplet( + new FluidStack(Fluids.HYDROGEN, 5, 1), + new FluidStack(Fluids.CRACKOIL_DS, 90), + new FluidStack(Fluids.SOURGAS, 15) + )); + + recipes.put(Fluids.GAS, new Triplet( + new FluidStack(Fluids.HYDROGEN, 5, 1), + new FluidStack(Fluids.PETROLEUM, 80), + new FluidStack(Fluids.SOURGAS, 15) + )); + + recipes.put(Fluids.DIESEL_CRACK, new Triplet( + new FluidStack(Fluids.HYDROGEN, 10, 1), + new FluidStack(Fluids.DIESEL, 80), + new FluidStack(Fluids.SOURGAS, 30) + )); + + recipes.put(Fluids.DIESEL_CRACK_REFORM, new Triplet( + new FluidStack(Fluids.HYDROGEN, 10, 1), + new FluidStack(Fluids.DIESEL_REFORM, 80), + new FluidStack(Fluids.SOURGAS, 30) + )); + + recipes.put(Fluids.COALOIL, new Triplet( + new FluidStack(Fluids.HYDROGEN, 10, 1), + new FluidStack(Fluids.COALGAS, 80), + new FluidStack(Fluids.SOURGAS, 15) + )); + } + + public static Triplet getOutput(FluidType type) { + return recipes.get(type); + } + + public static HashMap getRecipes() { + + HashMap map = new HashMap(); + + for(Entry> recipe : recipes.entrySet()) { + map.put(new ItemStack[] { + ItemFluidIcon.make(recipe.getKey(), 1000), + ItemFluidIcon.make(recipe.getValue().getX().type, recipe.getValue().getX().fill * 10, 1) }, + new ItemStack[] { + ItemFluidIcon.make(recipe.getValue().getY().type, recipe.getValue().getY().fill * 10), + ItemFluidIcon.make(recipe.getValue().getZ().type, recipe.getValue().getZ().fill * 10) }); + } + + return map; + } + + @Override + public String getFileName() { + return "hbmHydrotreating.json"; + } + + @Override + public Object getRecipeObject() { + return recipes; + } + + @Override + public void readRecipe(JsonElement recipe) { + JsonObject obj = (JsonObject) recipe; + + FluidType input = Fluids.fromName(obj.get("input").getAsString()); + FluidStack hydrogen = this.readFluidStack(obj.get("hydrogen").getAsJsonArray()); + FluidStack output1 = this.readFluidStack(obj.get("output1").getAsJsonArray()); + FluidStack output2 = this.readFluidStack(obj.get("output2").getAsJsonArray()); + + recipes.put(input, new Triplet(hydrogen, output1, output2)); + } + + @Override + public void writeRecipe(Object recipe, JsonWriter writer) throws IOException { + Entry> rec = (Entry>) recipe; + + writer.name("input").value(rec.getKey().getName()); + writer.name("hydrogen"); this.writeFluidStack(rec.getValue().getX(), writer); + writer.name("output1"); this.writeFluidStack(rec.getValue().getY(), writer); + writer.name("output2"); this.writeFluidStack(rec.getValue().getZ(), writer); + } + + @Override + public void deleteRecipes() { + recipes.clear(); + } +} diff --git a/src/main/java/com/hbm/inventory/recipes/LemegetonRecipes.java b/src/main/java/com/hbm/inventory/recipes/LemegetonRecipes.java new file mode 100644 index 000000000..bae7c2f25 --- /dev/null +++ b/src/main/java/com/hbm/inventory/recipes/LemegetonRecipes.java @@ -0,0 +1,78 @@ +package com.hbm.inventory.recipes; + +import java.util.HashMap; +import java.util.Map.Entry; + +import static com.hbm.inventory.OreDictManager.*; +import com.hbm.inventory.RecipesCommon.AStack; +import com.hbm.inventory.RecipesCommon.ComparableStack; +import com.hbm.inventory.RecipesCommon.OreDictStack; +import com.hbm.items.ModItems; + +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +public class LemegetonRecipes { + + public static HashMap recipes = new HashMap(); + + public static void register() { + recipes.put(new OreDictStack(IRON.ingot()), new ItemStack(ModItems.ingot_steel)); + recipes.put(new OreDictStack(STEEL.ingot()), new ItemStack(ModItems.ingot_dura_steel)); + recipes.put(new OreDictStack(DURA.ingot()), new ItemStack(ModItems.ingot_tcalloy)); + recipes.put(new OreDictStack(TCALLOY.ingot()), new ItemStack(ModItems.ingot_combine_steel)); + recipes.put(new OreDictStack(CMB.ingot()), new ItemStack(ModItems.ingot_dineutronium)); + + recipes.put(new OreDictStack(TI.ingot()), new ItemStack(ModItems.ingot_saturnite)); + recipes.put(new OreDictStack(BIGMT.ingot()), new ItemStack(ModItems.ingot_starmetal)); + + recipes.put(new OreDictStack(CU.ingot()), new ItemStack(ModItems.ingot_red_copper)); + recipes.put(new OreDictStack(MINGRADE.ingot()), new ItemStack(ModItems.ingot_advanced_alloy)); + recipes.put(new OreDictStack(ALLOY.ingot()), new ItemStack(ModItems.ingot_desh)); + + recipes.put(new OreDictStack(PB.ingot()), new ItemStack(Items.gold_ingot)); + recipes.put(new OreDictStack(GOLD.ingot()), new ItemStack(ModItems.ingot_bismuth)); + recipes.put(new OreDictStack(BI.ingot()), new ItemStack(ModItems.ingot_osmiridium)); + + recipes.put(new OreDictStack(TH232.ingot()), new ItemStack(ModItems.ingot_uranium)); + recipes.put(new OreDictStack(U.ingot()), new ItemStack(ModItems.ingot_u238)); + recipes.put(new OreDictStack(U238.ingot()), new ItemStack(ModItems.ingot_u235)); + recipes.put(new OreDictStack(U235.ingot()), new ItemStack(ModItems.ingot_plutonium)); + recipes.put(new OreDictStack(PU.ingot()), new ItemStack(ModItems.ingot_pu238)); + recipes.put(new OreDictStack(PU238.ingot()), new ItemStack(ModItems.ingot_pu239)); + recipes.put(new OreDictStack(PU239.ingot()), new ItemStack(ModItems.ingot_pu240)); + recipes.put(new OreDictStack(PU240.ingot()), new ItemStack(ModItems.ingot_pu241)); + recipes.put(new OreDictStack(PU241.ingot()), new ItemStack(ModItems.ingot_am241)); + recipes.put(new OreDictStack(AM241.ingot()), new ItemStack(ModItems.ingot_am242)); + + recipes.put(new OreDictStack(RA226.ingot()), new ItemStack(ModItems.ingot_polonium)); + recipes.put(new OreDictStack(PO210.ingot()), new ItemStack(ModItems.ingot_technetium)); + + recipes.put(new OreDictStack(POLYMER.ingot()), new ItemStack(ModItems.ingot_pc)); + recipes.put(new OreDictStack(BAKELITE.ingot()), new ItemStack(ModItems.ingot_pvc)); + recipes.put(new OreDictStack(LATEX.ingot()), new ItemStack(ModItems.ingot_rubber)); + + recipes.put(new OreDictStack(COAL.gem()), new ItemStack(ModItems.ingot_graphite)); + recipes.put(new OreDictStack(GRAPHITE.ingot()), new ItemStack(Items.diamond)); + recipes.put(new OreDictStack(DIAMOND.gem()), new ItemStack(ModItems.ingot_cft)); + + recipes.put(new OreDictStack(F.dust()), new ItemStack(ModItems.gem_sodalite)); + recipes.put(new OreDictStack(SODALITE.gem()), new ItemStack(ModItems.gem_volcanic)); + recipes.put(new OreDictStack(VOLCANIC.gem()), new ItemStack(ModItems.gem_rad)); + recipes.put(new ComparableStack(ModItems.gem_rad), new ItemStack(ModItems.gem_alexandrite)); + + recipes.put(new OreDictStack(KEY_SAND), new ItemStack(ModItems.ingot_fiberglass)); + recipes.put(new OreDictStack(FIBER.ingot()), new ItemStack(ModItems.ingot_asbestos)); + } + + public static ItemStack getRecipe(ItemStack ingredient) { + + for(Entry entry : recipes.entrySet()) { + if(entry.getKey().matchesRecipe(ingredient, true)) { + return entry.getValue().copy(); + } + } + + return null; + } +} diff --git a/src/main/java/com/hbm/inventory/recipes/LiquefactionRecipes.java b/src/main/java/com/hbm/inventory/recipes/LiquefactionRecipes.java index ee093f541..3af3808a7 100644 --- a/src/main/java/com/hbm/inventory/recipes/LiquefactionRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/LiquefactionRecipes.java @@ -59,6 +59,7 @@ public class LiquefactionRecipes extends SerializableRecipe { recipes.put(new ComparableStack(ModBlocks.plant_flower, 1, 3), new FluidStack(150, Fluids.ETHANOL)); recipes.put(new ComparableStack(ModBlocks.plant_flower, 1, 4), new FluidStack(50, Fluids.ETHANOL)); recipes.put(new ComparableStack(ModItems.biomass), new FluidStack(125, Fluids.BIOGAS)); + recipes.put(new ComparableStack(ModItems.glyphid_gland_empty), new FluidStack(2000, Fluids.BIOGAS)); recipes.put(new ComparableStack(Items.fish, 1, OreDictionary.WILDCARD_VALUE), new FluidStack(100, Fluids.FISHOIL)); recipes.put(new ComparableStack(Blocks.double_plant, 1, 0), new FluidStack(100, Fluids.SUNFLOWEROIL)); diff --git a/src/main/java/com/hbm/inventory/recipes/MachineRecipes.java b/src/main/java/com/hbm/inventory/recipes/MachineRecipes.java index 847c5b225..571777acd 100644 --- a/src/main/java/com/hbm/inventory/recipes/MachineRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/MachineRecipes.java @@ -55,15 +55,6 @@ public class MachineRecipes { * this is the smoldering crater where once the 2016 shredder recipe code was */ - public Map getCMBRecipes() { - Map recipes = new HashMap(); - recipes.put(new ItemStack[] { new ItemStack(ModItems.ingot_advanced_alloy), new ItemStack(ModItems.ingot_magnetized_tungsten) }, - new ItemStack(ModItems.ingot_combine_steel, 4)); - recipes.put(new ItemStack[] { new ItemStack(ModItems.powder_advanced_alloy), new ItemStack(ModItems.powder_magnetized_tungsten) }, - new ItemStack(ModItems.ingot_combine_steel, 4)); - return recipes; - } - public ArrayList getBatteries() { ArrayList fuels = new ArrayList(); fuels.add(new ItemStack(ModItems.battery_potato)); @@ -144,31 +135,6 @@ public class MachineRecipes { return false; } - - public Map getBoilerRecipes() { - - Map recipes = new HashMap(); - - for(int i = 0; i < Fluids.getAll().length; i++) { - Object[] outs = getBoilerOutput(Fluids.fromID(i)); - - if(outs != null) { - - ItemStack in = new ItemStack(ModItems.fluid_icon, 1, i); - in.stackTagCompound = new NBTTagCompound(); - in.stackTagCompound.setInteger("fill", (Integer) outs[2]); - - ItemStack out = new ItemStack(ModItems.fluid_icon, 1, ((FluidType)outs[0]).getID()); - out.stackTagCompound = new NBTTagCompound(); - out.stackTagCompound.setInteger("fill", (Integer) outs[1]); - - recipes.put(in, out); - } - } - - return recipes; - } - public Map getFluidContainers() { Map map = new HashMap(); diff --git a/src/main/java/com/hbm/inventory/recipes/MagicRecipes.java b/src/main/java/com/hbm/inventory/recipes/MagicRecipes.java index 21e8ca942..1cee88f3f 100644 --- a/src/main/java/com/hbm/inventory/recipes/MagicRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/MagicRecipes.java @@ -95,7 +95,7 @@ public class MagicRecipes { recipes.add(new MagicRecipe(new ItemStack(ModItems.gun_darter), new OreDictStack(STEEL.plate()), new OreDictStack(STEEL.plate()), - new ComparableStack(ModItems.ingot_polymer), + new OreDictStack(ANY_PLASTIC.ingot()), new OreDictStack(GOLD.plate()))); recipes.add(new MagicRecipe(new ItemStack(ModItems.ammo_dart, 4, ItemAmmoEnums.AmmoDart.NUCLEAR.ordinal()), diff --git a/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java b/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java index 15bf9a25e..9f66d91c8 100644 --- a/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java @@ -50,7 +50,11 @@ public class MixerRecipes extends SerializableRecipe { register(Fluids.SUNFLOWEROIL, new MixerRecipe(100, 50).setSolid(new ComparableStack(Blocks.double_plant, 1, 0))); register(Fluids.FULLERENE, new MixerRecipe(250, 50).setStack1(new FluidStack(Fluids.RADIOSOLVENT, 500)).setSolid(new ComparableStack(DictFrame.fromOne(ModItems.powder_ash, EnumAshType.SOOT)))); - register(Fluids.SOLVENT, new MixerRecipe(1000, 50).setStack1(new FluidStack(Fluids.NAPHTHA, 500)).setStack2(new FluidStack(Fluids.AROMATICS, 500))); + register(Fluids.SOLVENT, + new MixerRecipe(1000, 50).setStack1(new FluidStack(Fluids.NAPHTHA, 500)).setStack2(new FluidStack(Fluids.AROMATICS, 500)), + new MixerRecipe(1000, 50).setStack1(new FluidStack(Fluids.NAPHTHA_CRACK, 500)).setStack2(new FluidStack(Fluids.AROMATICS, 500)), + new MixerRecipe(1000, 50).setStack1(new FluidStack(Fluids.NAPHTHA_DS, 500)).setStack2(new FluidStack(Fluids.AROMATICS, 500)), + new MixerRecipe(1000, 50).setStack1(new FluidStack(Fluids.NAPHTHA_COKER, 500)).setStack2(new FluidStack(Fluids.AROMATICS, 500))); register(Fluids.SULFURIC_ACID, new MixerRecipe(500, 50).setStack1(new FluidStack(Fluids.ACID, 800)).setSolid(new OreDictStack(S.dust()))); register(Fluids.NITRIC_ACID, new MixerRecipe(500, 50).setStack1(new FluidStack(Fluids.SULFURIC_ACID, 500)).setSolid(new OreDictStack(KNO.dust()))); register(Fluids.RADIOSOLVENT, new MixerRecipe(1000, 50).setStack1(new FluidStack(Fluids.REFORMGAS, 750)).setStack2(new FluidStack(Fluids.CHLORINE, 250))); @@ -71,11 +75,13 @@ public class MixerRecipes extends SerializableRecipe { register(Fluids.THORIUM_SALT, new MixerRecipe(1_000, 30).setStack1(new FluidStack(Fluids.CHLORINE, 1000)).setSolid(new OreDictStack(TH232.dust()))); register(Fluids.SYNGAS, new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.COALOIL, 500)).setStack2(new FluidStack(Fluids.STEAM, 500))); - register(Fluids.OXYHYDROGEN, new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.HYDROGEN, 500)).setStack2(new FluidStack(Fluids.OXYGEN, 500))); + register(Fluids.OXYHYDROGEN, + new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.HYDROGEN, 500)), + new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.HYDROGEN, 500)).setStack2(new FluidStack(Fluids.OXYGEN, 500))); - register(Fluids.PETROIL_LEADED, new MixerRecipe(12_000, 40).setStack1(new FluidStack(Fluids.PETROIL, 10_000)).setSolid(new ComparableStack(ModItems.antiknock))); - register(Fluids.GASOLINE_LEADED, new MixerRecipe(12_000, 40).setStack1(new FluidStack(Fluids.GASOLINE, 10_000)).setSolid(new ComparableStack(ModItems.antiknock))); - register(Fluids.COALGAS_LEADED, new MixerRecipe(12_000, 40).setStack1(new FluidStack(Fluids.COALGAS, 10_000)).setSolid(new ComparableStack(ModItems.antiknock))); + register(Fluids.PETROIL_LEADED, new MixerRecipe(12_000, 40).setStack1(new FluidStack(Fluids.PETROIL, 10_000)).setSolid(new ComparableStack(ModItems.fuel_additive, 1, 0))); + register(Fluids.GASOLINE_LEADED, new MixerRecipe(12_000, 40).setStack1(new FluidStack(Fluids.GASOLINE, 10_000)).setSolid(new ComparableStack(ModItems.fuel_additive, 1, 0))); + register(Fluids.COALGAS_LEADED, new MixerRecipe(12_000, 40).setStack1(new FluidStack(Fluids.COALGAS, 10_000)).setSolid(new ComparableStack(ModItems.fuel_additive, 1, 0))); register(Fluids.DIESEL_REFORM, new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.DIESEL, 900)).setStack2(new FluidStack(Fluids.REFORMATE, 100))); register(Fluids.DIESEL_CRACK_REFORM, new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.DIESEL_CRACK, 900)).setStack2(new FluidStack(Fluids.REFORMATE, 100))); @@ -83,6 +89,8 @@ public class MixerRecipes extends SerializableRecipe { register(Fluids.CHLOROCALCITE_SOLUTION, new MixerRecipe(500, 50).setStack1(new FluidStack(Fluids.WATER, 250)).setStack2(new FluidStack(Fluids.NITRIC_ACID, 250)).setSolid(new OreDictStack(CHLOROCALCITE.dust()))); register(Fluids.CHLOROCALCITE_MIX, new MixerRecipe(1000, 50).setStack1(new FluidStack(Fluids.CHLOROCALCITE_SOLUTION, 500)).setStack2(new FluidStack(Fluids.SULFURIC_ACID, 500)).setSolid(new ComparableStack(ModItems.powder_flux))); + register(Fluids.PHEROMONE_M, new MixerRecipe(2000, 10).setStack1(new FluidStack(Fluids.PHEROMONE, 1500)).setStack2(new FluidStack(Fluids.BLOOD, 500)).setSolid(new ComparableStack(ModItems.pill_herbal))); + } public static void register(FluidType type, MixerRecipe... rec) { diff --git a/src/main/java/com/hbm/inventory/recipes/PressRecipes.java b/src/main/java/com/hbm/inventory/recipes/PressRecipes.java index aa3449238..84ef79b00 100644 --- a/src/main/java/com/hbm/inventory/recipes/PressRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/PressRecipes.java @@ -80,6 +80,7 @@ public class PressRecipes extends SerializableRecipe { makeRecipe(StampType.PLATE, new OreDictStack(SA326.ingot()), ModItems.plate_schrabidium); makeRecipe(StampType.PLATE, new OreDictStack(CMB.ingot()), ModItems.plate_combine_steel); makeRecipe(StampType.PLATE, new OreDictStack(BIGMT.ingot()), ModItems.plate_saturnite); + makeRecipe(StampType.PLATE, new OreDictStack(DURA.ingot()), ModItems.plate_dura_steel); makeRecipe(StampType.WIRE, new OreDictStack(AL.ingot()), new ItemStack(ModItems.wire_aluminium, 8)); makeRecipe(StampType.WIRE, new OreDictStack(CU.ingot()), new ItemStack(ModItems.wire_copper, 8)); diff --git a/src/main/java/com/hbm/inventory/recipes/RefineryRecipes.java b/src/main/java/com/hbm/inventory/recipes/RefineryRecipes.java index 427f4a329..edf2d005b 100644 --- a/src/main/java/com/hbm/inventory/recipes/RefineryRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/RefineryRecipes.java @@ -12,6 +12,7 @@ import com.hbm.items.ItemEnums.EnumTarType; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemFluidIcon; import com.hbm.util.ItemStackUtil; +import com.hbm.util.Tuple.Quartet; import com.hbm.util.Tuple.Quintet; import net.minecraft.item.ItemStack; @@ -28,16 +29,26 @@ public class RefineryRecipes { public static final int crack_frac_aroma = 15; public static final int crack_frac_unsat = 15; + public static final int oilds_frac_heavy = 30; + public static final int oilds_frac_naph = 35; + public static final int oilds_frac_light = 20; + public static final int oilds_frac_unsat = 15; + public static final int crackds_frac_naph = 35; + public static final int crackds_frac_light = 35; + public static final int crackds_frac_aroma = 15; + public static final int crackds_frac_unsat = 15; + public static final int vac_frac_heavy = 40; public static final int vac_frac_reform = 25; public static final int vac_frac_light = 20; public static final int vac_frac_sour = 15; private static Map> refinery = new HashMap(); + private static Map> vacuum = new HashMap(); - public static Map getRefineryRecipe() { + public static HashMap getRefineryRecipe() { - Map recipes = new HashMap(); + HashMap recipes = new HashMap(); for(Entry> recipe : refinery.entrySet()) { @@ -55,15 +66,21 @@ public class RefineryRecipes { return recipes; } - public static HashMap getVacuumRecipe() { + public static HashMap getVacuumRecipe() { HashMap recipes = new HashMap(); - recipes.put(ItemFluidIcon.make(Fluids.OIL, 1000, 2), - new ItemStack[] { - ItemFluidIcon.make(Fluids.HEAVYOIL_VACUUM, vac_frac_heavy * 10), - ItemFluidIcon.make(Fluids.REFORMATE, vac_frac_reform * 10), - ItemFluidIcon.make(Fluids.LIGHTOIL_VACUUM, vac_frac_light * 10), - ItemFluidIcon.make(Fluids.SOURGAS, vac_frac_sour * 10) }); + + for(Entry> recipe : vacuum.entrySet()) { + + Quartet fluids = recipe.getValue(); + + recipes.put(ItemFluidIcon.make(recipe.getKey(), 1000, 2), + new ItemStack[] { + ItemFluidIcon.make(fluids.getW().type, fluids.getW().fill * 10), + ItemFluidIcon.make(fluids.getX().type, fluids.getX().fill * 10), + ItemFluidIcon.make(fluids.getY().type, fluids.getY().fill * 10), + ItemFluidIcon.make(fluids.getZ().type, fluids.getZ().fill * 10) }); + } return recipes; } @@ -83,9 +100,40 @@ public class RefineryRecipes { new FluidStack(Fluids.UNSATURATEDS, crack_frac_unsat), DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRACK) )); + refinery.put(Fluids.HOTOIL_DS, new Quintet( + new FluidStack(Fluids.HEAVYOIL, oilds_frac_heavy), + new FluidStack(Fluids.NAPHTHA_DS, oilds_frac_naph), + new FluidStack(Fluids.LIGHTOIL_DS, oilds_frac_light), + new FluidStack(Fluids.UNSATURATEDS, oilds_frac_unsat), + DictFrame.fromOne(ModItems.oil_tar, EnumTarType.PARAFFIN) + )); + refinery.put(Fluids.HOTCRACKOIL_DS, new Quintet( + new FluidStack(Fluids.NAPHTHA_DS, crackds_frac_naph), + new FluidStack(Fluids.LIGHTOIL_DS, crackds_frac_light), + new FluidStack(Fluids.AROMATICS, crackds_frac_aroma), + new FluidStack(Fluids.UNSATURATEDS, crackds_frac_unsat), + DictFrame.fromOne(ModItems.oil_tar, EnumTarType.PARAFFIN) + )); + + vacuum.put(Fluids.OIL, new Quartet( + new FluidStack(Fluids.HEAVYOIL_VACUUM, vac_frac_heavy), + new FluidStack(Fluids.REFORMATE, vac_frac_reform), + new FluidStack(Fluids.LIGHTOIL_VACUUM, vac_frac_light), + new FluidStack(Fluids.SOURGAS, vac_frac_sour) + )); + vacuum.put(Fluids.OIL_DS, new Quartet( + new FluidStack(Fluids.HEAVYOIL_VACUUM, vac_frac_heavy), + new FluidStack(Fluids.REFORMATE, vac_frac_reform), + new FluidStack(Fluids.LIGHTOIL_VACUUM, vac_frac_light), + new FluidStack(Fluids.REFORMGAS, vac_frac_sour) + )); } public static Quintet getRefinery(FluidType oil) { return refinery.get(oil); } + + public static Quartet getVacuum(FluidType oil) { + return vacuum.get(oil); + } } diff --git a/src/main/java/com/hbm/inventory/recipes/ReformingRecipes.java b/src/main/java/com/hbm/inventory/recipes/ReformingRecipes.java index 168fbe902..ce8b44627 100644 --- a/src/main/java/com/hbm/inventory/recipes/ReformingRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ReformingRecipes.java @@ -22,6 +22,11 @@ public class ReformingRecipes extends SerializableRecipe { @Override public void registerDefaults() { + recipes.put(Fluids.HEATINGOIL, new Triplet( + new FluidStack(Fluids.NAPHTHA, 50), + new FluidStack(Fluids.PETROLEUM, 15), + new FluidStack(Fluids.HYDROGEN, 10) + )); recipes.put(Fluids.NAPHTHA, new Triplet( new FluidStack(Fluids.REFORMATE, 50), new FluidStack(Fluids.PETROLEUM, 15), @@ -32,6 +37,11 @@ public class ReformingRecipes extends SerializableRecipe { new FluidStack(Fluids.AROMATICS, 10), new FluidStack(Fluids.HYDROGEN, 5) )); + recipes.put(Fluids.NAPHTHA_COKER, new Triplet( + new FluidStack(Fluids.REFORMATE, 50), + new FluidStack(Fluids.REFORMGAS, 10), + new FluidStack(Fluids.HYDROGEN, 5) + )); recipes.put(Fluids.LIGHTOIL, new Triplet( new FluidStack(Fluids.AROMATICS, 50), new FluidStack(Fluids.REFORMGAS, 10), diff --git a/src/main/java/com/hbm/inventory/recipes/SILEXRecipes.java b/src/main/java/com/hbm/inventory/recipes/SILEXRecipes.java index 3b0d908a2..a996eaec5 100644 --- a/src/main/java/com/hbm/inventory/recipes/SILEXRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/SILEXRecipes.java @@ -58,7 +58,7 @@ public class SILEXRecipes { recipes.put(new ComparableStack(ModItems.ingot_schraranium), new SILEXRecipe(900, 100, 2) .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_schrabidium), 4)) .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_uranium), 3)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_plutonium), 2)) + .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_neptunium), 2)) ); itemTranslation.put(new ComparableStack(ModItems.powder_australium), new ComparableStack(ModItems.ingot_australium)); @@ -70,7 +70,7 @@ public class SILEXRecipes { recipes.put(new ComparableStack(ModItems.crystal_schraranium), new SILEXRecipe(900, 100, 3) .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_schrabidium), 5)) .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_uranium), 2)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_plutonium), 2)) + .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_neptunium), 2)) ); recipes.put(new ComparableStack(ModBlocks.ore_tikite), new SILEXRecipe(900, 100, EnumWavelengths.UV) diff --git a/src/main/java/com/hbm/inventory/recipes/ShredderRecipes.java b/src/main/java/com/hbm/inventory/recipes/ShredderRecipes.java index aee7d21ae..57aef7644 100644 --- a/src/main/java/com/hbm/inventory/recipes/ShredderRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ShredderRecipes.java @@ -16,6 +16,7 @@ import com.hbm.interfaces.Untested; import com.hbm.inventory.OreDictManager.DictFrame; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.recipes.loader.SerializableRecipe; +import com.hbm.items.ItemEnums.EnumChunkType; import com.hbm.items.ModItems; import com.hbm.items.special.ItemBedrockOre.EnumBedrockOre; import com.hbm.main.MainRegistry; @@ -79,7 +80,11 @@ public class ShredderRecipes extends SerializableRecipe { } } - if(name.length() > 3 && name.substring(0, 4).equals("dust")) { + if(name.length() > 7 && name.substring(0, 8).equals("dustTiny")) { + for(ItemStack stack : matches) { + putIfValid(stack, new ItemStack(ModItems.dust_tiny), name); + } + } else if(name.length() > 3 && name.substring(0, 4).equals("dust")) { for(ItemStack stack : matches) { putIfValid(stack, new ItemStack(ModItems.dust), name); } @@ -132,6 +137,7 @@ public class ShredderRecipes extends SerializableRecipe { /* Primary recipes */ ShredderRecipes.setRecipe(ModItems.scrap, new ItemStack(ModItems.dust)); ShredderRecipes.setRecipe(ModItems.dust, new ItemStack(ModItems.dust)); + ShredderRecipes.setRecipe(ModItems.dust_tiny, new ItemStack(ModItems.dust_tiny)); ShredderRecipes.setRecipe(Blocks.glowstone, new ItemStack(Items.glowstone_dust, 4)); ShredderRecipes.setRecipe(new ItemStack(Blocks.quartz_block, 1, 0), new ItemStack(ModItems.powder_quartz, 4)); ShredderRecipes.setRecipe(new ItemStack(Blocks.quartz_block, 1, 1), new ItemStack(ModItems.powder_quartz, 4)); @@ -199,6 +205,9 @@ public class ShredderRecipes extends SerializableRecipe { ShredderRecipes.setRecipe(Items.reeds, new ItemStack(Items.sugar, 3)); ShredderRecipes.setRecipe(Items.apple, new ItemStack(Items.sugar, 1)); ShredderRecipes.setRecipe(Items.carrot, new ItemStack(Items.sugar, 1)); + ShredderRecipes.setRecipe(ModItems.can_empty, new ItemStack(ModItems.powder_aluminium, 2)); + ShredderRecipes.setRecipe(ModBlocks.machine_well, new ItemStack(ModItems.powder_steel, 32)); + ShredderRecipes.setRecipe(DictFrame.fromOne(ModItems.chunk_ore, EnumChunkType.RARE), new ItemStack(ModItems.powder_desh_mix)); List logs = OreDictionary.getOres("logWood"); List planks = OreDictionary.getOres("plankWood"); @@ -261,9 +270,6 @@ public class ShredderRecipes extends SerializableRecipe { /* Misc recycling */ ShredderRecipes.setRecipe(ModBlocks.steel_poles, new ItemStack(ModItems.powder_steel_tiny, 3)); - ShredderRecipes.setRecipe(ModBlocks.pole_top, new ItemStack(ModItems.powder_tungsten, 4)); - ShredderRecipes.setRecipe(ModBlocks.tape_recorder, new ItemStack(ModItems.powder_steel, 1)); - ShredderRecipes.setRecipe(ModBlocks.pole_satellite_receiver, new ItemStack(ModItems.powder_steel, 5)); ShredderRecipes.setRecipe(ModBlocks.steel_roof, new ItemStack(ModItems.powder_steel_tiny, 13)); ShredderRecipes.setRecipe(ModBlocks.steel_wall, new ItemStack(ModItems.powder_steel_tiny, 13)); ShredderRecipes.setRecipe(ModBlocks.steel_corner, new ItemStack(ModItems.powder_steel_tiny, 26)); diff --git a/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java b/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java index 18e76b6a0..b224a5df0 100644 --- a/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java @@ -6,13 +6,20 @@ import java.util.List; import com.hbm.blocks.ModBlocks; import com.hbm.config.GeneralConfig; import com.hbm.inventory.OreDictManager; +import com.hbm.inventory.OreNames; + import static com.hbm.inventory.OreDictManager.*; import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.RecipesCommon.OreDictStack; import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.material.MaterialShapes; +import com.hbm.inventory.material.Mats; +import com.hbm.inventory.material.NTMMaterial; import com.hbm.inventory.recipes.AssemblerRecipes; +import com.hbm.inventory.recipes.AssemblerRecipes.AssemblerRecipe; import com.hbm.items.ItemAmmoEnums.*; +import com.hbm.items.ItemEnums.EnumChunkType; import com.hbm.items.ModItems; import com.hbm.items.food.ItemFlask.EnumInfusion; @@ -21,6 +28,7 @@ import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraftforge.oredict.OreDictionary; public class AnvilRecipes { @@ -45,13 +53,14 @@ public class AnvilRecipes { Block[] anvils = new Block[]{ModBlocks.anvil_iron, ModBlocks.anvil_lead}; for(Block anvil : anvils) { - smithingRecipes.add(new AnvilSmithingRecipe(1, new ItemStack(ModBlocks.anvil_bismuth, 1), new ComparableStack(anvil), new ComparableStack(ModItems.ingot_bismuth, 10))); - smithingRecipes.add(new AnvilSmithingRecipe(1, new ItemStack(ModBlocks.anvil_dnt, 1), new ComparableStack(anvil), new OreDictStack(DNT.ingot(), 10))); - smithingRecipes.add(new AnvilSmithingRecipe(1, new ItemStack(ModBlocks.anvil_ferrouranium, 1), new ComparableStack(anvil), new ComparableStack(ModItems.ingot_ferrouranium, 10))); - smithingRecipes.add(new AnvilSmithingRecipe(1, new ItemStack(ModBlocks.anvil_meteorite, 1), new ComparableStack(anvil), new ComparableStack(ModItems.ingot_meteorite, 10))); - smithingRecipes.add(new AnvilSmithingRecipe(1, new ItemStack(ModBlocks.anvil_schrabidate, 1), new ComparableStack(anvil), new OreDictStack(SBD.ingot(), 10))); - smithingRecipes.add(new AnvilSmithingRecipe(1, new ItemStack(ModBlocks.anvil_starmetal, 1), new ComparableStack(anvil), new OreDictStack(STAR.ingot(), 10))); smithingRecipes.add(new AnvilSmithingRecipe(1, new ItemStack(ModBlocks.anvil_steel, 1), new ComparableStack(anvil), new OreDictStack(STEEL.ingot(), 10))); + smithingRecipes.add(new AnvilSmithingRecipe(1, new ItemStack(ModBlocks.anvil_desh, 1), new ComparableStack(anvil), new OreDictStack(DESH.ingot(), 10))); + smithingRecipes.add(new AnvilSmithingRecipe(1, new ItemStack(ModBlocks.anvil_saturnite, 1), new ComparableStack(anvil), new OreDictStack(BIGMT.ingot(), 10))); + smithingRecipes.add(new AnvilSmithingRecipe(1, new ItemStack(ModBlocks.anvil_ferrouranium, 1), new ComparableStack(anvil), new ComparableStack(ModItems.ingot_ferrouranium, 10))); + smithingRecipes.add(new AnvilSmithingRecipe(1, new ItemStack(ModBlocks.anvil_bismuth_bronze, 1), new ComparableStack(anvil), new OreDictStack(BBRONZE.ingot(), 10))); + smithingRecipes.add(new AnvilSmithingRecipe(1, new ItemStack(ModBlocks.anvil_arsenic_bronze, 1), new ComparableStack(anvil), new OreDictStack(ABRONZE.ingot(), 10))); + smithingRecipes.add(new AnvilSmithingRecipe(1, new ItemStack(ModBlocks.anvil_schrabidate, 1), new ComparableStack(anvil), new OreDictStack(SBD.ingot(), 10))); + smithingRecipes.add(new AnvilSmithingRecipe(1, new ItemStack(ModBlocks.anvil_dnt, 1), new ComparableStack(anvil), new OreDictStack(DNT.ingot(), 10))); smithingRecipes.add(new AnvilSmithingRecipe(1, new ItemStack(ModBlocks.anvil_osmiridium, 1), new ComparableStack(anvil), new OreDictStack(OSMIRIDIUM.ingot(), 10))); } @@ -108,18 +117,11 @@ public class AnvilRecipes { new ItemStack(ModItems.stamp_titanium_flat), new ItemStack(ModItems.stamp_obsidian_flat) })); - smithingRecipes.add(new AnvilSmithingMold(8, new ComparableStack(ModItems.hull_small_steel), new ItemStack[] { - new ItemStack(ModItems.hull_small_aluminium), - new ItemStack(ModItems.hull_small_steel) - })); - smithingRecipes.add(new AnvilSmithingMold(9, new ComparableStack(ModItems.hull_big_steel), new ItemStack[] { - new ItemStack(ModItems.hull_big_steel), - new ItemStack(ModItems.hull_big_aluminium), - new ItemStack(ModItems.hull_big_titanium) - })); - smithingRecipes.add(new AnvilSmithingMold(10, new OreDictStack(IRON.ingot(), 9), new OreDictStack("ingot", 9))); - smithingRecipes.add(new AnvilSmithingMold(11, new OreDictStack(IRON.plate(), 9), new OreDictStack("plate", 9))); - smithingRecipes.add(new AnvilSmithingMold(12, new OreDictStack(IRON.block()), new OreDictStack("block"))); + smithingRecipes.add(new AnvilSmithingMold(8, new OreDictStack(STEEL.shell()), new OreDictStack(OreNames.SHELL))); + smithingRecipes.add(new AnvilSmithingMold(9, new OreDictStack(STEEL.pipe()), new OreDictStack(OreNames.PIPE))); + smithingRecipes.add(new AnvilSmithingMold(10, new OreDictStack(IRON.ingot(), 9), new OreDictStack("ingot", 9))); + smithingRecipes.add(new AnvilSmithingMold(11, new OreDictStack(IRON.plate(), 9), new OreDictStack("plate", 9))); + smithingRecipes.add(new AnvilSmithingMold(12, new OreDictStack(IRON.block()), new OreDictStack("block"))); smithingRecipes.add(new AnvilSmithingMold(13, new ComparableStack(ModItems.pipes_steel), new ItemStack[] {new ItemStack(ModItems.pipes_steel)})); smithingRecipes.add(new AnvilSmithingMold(14, new ComparableStack(ModItems.casing_357), new ItemStack[] {new ItemStack(ModItems.casing_357)})); smithingRecipes.add(new AnvilSmithingMold(15, new ComparableStack(ModItems.casing_44), new ItemStack[] {new ItemStack(ModItems.casing_44)})); @@ -189,15 +191,13 @@ public class AnvilRecipes { new AStack[] {new OreDictStack(DNT.ingot(), 4), new ComparableStack(ModBlocks.depth_brick)}, new AnvilOutput(new ItemStack(ModBlocks.depth_dnt))).setTier(1916169)); - constructionRecipes.add(new AnvilConstructionRecipe( - new OreDictStack(CU.plate(), 4), - new AnvilOutput(new ItemStack(ModItems.board_copper))).setTier(1)); - constructionRecipes.add(new AnvilConstructionRecipe( - new OreDictStack(STEEL.plate(), 2), - new AnvilOutput(new ItemStack(ModItems.hull_small_steel))).setTier(1)); - constructionRecipes.add(new AnvilConstructionRecipe( - new OreDictStack(AL.plate(), 2), - new AnvilOutput(new ItemStack(ModItems.hull_small_aluminium))).setTier(1)); + for(NTMMaterial mat : Mats.orderedList) if(mat.shapes.contains(MaterialShapes.SHELL)) constructionRecipes.add(new AnvilConstructionRecipe( + new OreDictStack(MaterialShapes.PLATE.name() + mat.names[0], 4), + new AnvilOutput(new ItemStack(ModItems.shell, 1, mat.id))).setTier(1)); + for(NTMMaterial mat : Mats.orderedList) if(mat.shapes.contains(MaterialShapes.PIPE)) constructionRecipes.add(new AnvilConstructionRecipe( + new OreDictStack(MaterialShapes.PLATE.name() + mat.names[0], 3), + new AnvilOutput(new ItemStack(ModItems.pipe, 1, mat.id))).setTier(1)); + constructionRecipes.add(new AnvilConstructionRecipe( new ComparableStack(ModItems.coil_copper, 2), new AnvilOutput(new ItemStack(ModItems.coil_copper_torus))).setTier(1).setOverlay(OverlayType.CONSTRUCTION)); @@ -222,7 +222,7 @@ public class AnvilRecipes { new AStack[] { new ComparableStack(Blocks.stonebrick, 4), new ComparableStack(ModItems.ingot_firebrick, 4), - new ComparableStack(ModItems.board_copper, 2) + new OreDictStack(CU.plate(), 4) }, new AnvilOutput(new ItemStack(ModBlocks.machine_difurnace_off))).setTier(1)); @@ -240,14 +240,15 @@ public class AnvilRecipes { new AStack[] { new OreDictStack(KEY_COBBLESTONE, 8), new OreDictStack(KEY_PLANKS, 16), - new OreDictStack(IRON.ingot(), 4), - new OreDictStack(CU.plate(), 8) + new OreDictStack(CU.plate(), 8), + new OreDictStack(PB.pipe(), 2) }, new AnvilOutput(new ItemStack(ModBlocks.pump_steam))).setTier(2)); constructionRecipes.add(new AnvilConstructionRecipe( new AStack[] { new ComparableStack(Blocks.stonebrick, 8), new OreDictStack(STEEL.plate(), 16), + new OreDictStack(PB.pipe(), 4), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.circuit_copper, 1) }, new AnvilOutput(new ItemStack(ModBlocks.pump_electric))).setTier(3)); @@ -311,7 +312,7 @@ public class AnvilRecipes { new AStack[] { new ComparableStack(Blocks.stonebrick, 8), new OreDictStack(KEY_LOG, 16), - new OreDictStack(CU.plateWelded(), 2), + new OreDictStack(CU.plateCast(), 2), new OreDictStack(KEY_BRICK, 16) }, new AnvilOutput(new ItemStack(ModBlocks.furnace_combination))).setTier(2)); @@ -337,7 +338,7 @@ public class AnvilRecipes { new AStack[] { new ComparableStack(ModBlocks.reinforced_stone, 16), new OreDictStack(STEEL.plate(), 12), - new ComparableStack(ModItems.hull_small_steel, 2), + new OreDictStack(STEEL.shell(), 2), new ComparableStack(ModItems.coil_copper, 4), new ComparableStack(ModItems.gear_large, 1) }, new AnvilOutput(new ItemStack(ModBlocks.machine_steam_engine))).setTier(2)); @@ -391,7 +392,7 @@ public class AnvilRecipes { pullFromAssembler(new ComparableStack(ModBlocks.machine_diesel), 2); - constructionRecipes.add(new AnvilConstructionRecipe( + /*constructionRecipes.add(new AnvilConstructionRecipe( new AStack[] { new OreDictStack(STEEL.ingot(), 6), new OreDictStack(IRON.plate528(), 8), @@ -400,7 +401,7 @@ public class AnvilRecipes { new ComparableStack(ModItems.turbine_titanium, 1), new ComparableStack(ModItems.thermo_element, 3), new ComparableStack(ModItems.crt_display, 1) - }, new AnvilOutput(new ItemStack(ModBlocks.machine_industrial_generator))).setTier(2)); + }, new AnvilOutput(new ItemStack(ModBlocks.machine_industrial_generator))).setTier(2));*/ constructionRecipes.add(new AnvilConstructionRecipe( new AStack[] { @@ -428,8 +429,8 @@ public class AnvilRecipes { new ComparableStack(ModItems.sulfur, 8), new OreDictStack(STEEL.plate528(), 4), new OreDictStack(AL.plate528(), 2), - new ComparableStack(ModItems.hull_small_steel, 4), - new ComparableStack(ModItems.board_copper, 1), + new OreDictStack(STEEL.shell(), 4), + new OreDictStack(CU.plateCast(), 4), new ComparableStack(ModItems.turbine_titanium, 1), new ComparableStack(ModItems.circuit_aluminium, 1) }, @@ -438,11 +439,11 @@ public class AnvilRecipes { constructionRecipes.add(new AnvilConstructionRecipe( new AStack[] { new ComparableStack(ModItems.deuterium_filter, 2), - new ComparableStack(ModItems.hull_big_steel, 5), + new OreDictStack(STEEL.shell(), 5), new ComparableStack(ModBlocks.concrete_smooth, 8), new ComparableStack(ModBlocks.concrete_asbestos, 4), new ComparableStack(ModBlocks.steel_scaffold, 16), - new ComparableStack(ModBlocks.deco_pipe_quad, 12), + new OreDictStack(STEEL.pipe(), 12), new OreDictStack(Fluids.SOURGAS.getDict(1_000), 8), }, new AnvilOutput(new ItemStack(ModBlocks.machine_deuterium_tower))).setTier(4)); @@ -458,14 +459,12 @@ public class AnvilRecipes { constructionRecipes.add(new AnvilConstructionRecipe( new AStack[] { - new OreDictStack(ANY_CONCRETE.any(), 6), - new OreDictStack(STEEL.ingot(), 4), - new ComparableStack(ModBlocks.steel_scaffold, 2), - new ComparableStack(ModItems.plate_polymer, 8), - new ComparableStack(ModItems.coil_copper, 2), - new ComparableStack(ModItems.coil_copper_torus, 2) + new OreDictStack(ANY_CONCRETE.any(), 8), + new OreDictStack(STEEL.ingot(), 8), + new ComparableStack(ModItems.plate_polymer, 12), + new ComparableStack(ModItems.coil_copper, 8) }, - new AnvilOutput(new ItemStack(ModBlocks.substation))).setTier(2)); + new AnvilOutput(new ItemStack(ModBlocks.substation, 2))).setTier(2)); constructionRecipes.add(new AnvilConstructionRecipe( new AStack[] { @@ -518,7 +517,7 @@ public class AnvilRecipes { new AnvilOutput(new ItemStack(ModItems.plate_dineutronium, 4))).setTier(7)); constructionRecipes.add(new AnvilConstructionRecipe( - new AStack[] {new OreDictStack(TI.plate(), 2), new OreDictStack(STEEL.ingot(), 1), new ComparableStack(ModItems.bolt_tungsten, 2)}, + new AStack[] {new OreDictStack(TI.plate(), 2), new OreDictStack(STEEL.ingot(), 1), new OreDictStack(STEEL.bolt(), 4)}, new AnvilOutput(new ItemStack(ModItems.plate_armor_titanium))).setTier(2)); constructionRecipes.add(new AnvilConstructionRecipe( new AStack[] {new OreDictStack(IRON.plate(), 4), new OreDictStack(BIGMT.plate(), 2), new ComparableStack(ModItems.plate_armor_titanium, 1)}, @@ -541,6 +540,14 @@ public class AnvilRecipes { constructionRecipes.add(new AnvilConstructionRecipe( new AStack[] {new OreDictStack(AS.ingot()), new OreDictStack(REDSTONE.dust(), 4), new OreDictStack(ASBESTOS.ingot(), 2)}, new AnvilOutput(new ItemStack(ModItems.circuit_arsenic_raw))).setTier(5)); + + constructionRecipes.add(new AnvilConstructionRecipe( + new AStack[] { + new ComparableStack(ModItems.missile_doomsday_rusted, 1), + new OreDictStack(ANY_HARDPLASTIC.ingot(), 8), + new OreDictStack(AL.plateWelded(), 2), + new OreDictStack(PU239.billet(), 3) + }, new AnvilOutput(new ItemStack(ModItems.missile_doomsday))).setTier(5)); constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModItems.ingot_u233, 1), new AnvilOutput(new ItemStack(ModItems.plate_fuel_u233))).setTier(4)); constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModItems.ingot_u235, 1), new AnvilOutput(new ItemStack(ModItems.plate_fuel_u235))).setTier(4)); @@ -703,6 +710,29 @@ public class AnvilRecipes { public static void registerConstructionRecycling() { + constructionRecipes.add(new AnvilConstructionRecipe( + new ComparableStack(DictFrame.fromOne(ModItems.chunk_ore, EnumChunkType.RARE)), + new AnvilOutput[] { + new AnvilOutput(new ItemStack(ModItems.fragment_boron)), + new AnvilOutput(new ItemStack(ModItems.fragment_boron), 0.5F), + new AnvilOutput(new ItemStack(ModItems.fragment_lanthanium), 0.1F), + new AnvilOutput(new ItemStack(ModItems.fragment_cobalt)), + new AnvilOutput(new ItemStack(ModItems.fragment_cobalt), 0.5F), + new AnvilOutput(new ItemStack(ModItems.fragment_cerium), 0.1F), + new AnvilOutput(new ItemStack(ModItems.fragment_neodymium), 0.5F), + new AnvilOutput(new ItemStack(ModItems.fragment_niobium), 0.5F), + } + ).setTier(2)); + + constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_titanium), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_titanium, 1), 0.25F)}).setTier(1)); + constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_red_copper), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_red_copper, 1), 0.25F)}).setTier(1)); + constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_tungsten), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_tungsten, 1), 0.25F)}).setTier(1)); + constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_aluminium), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_aluminium, 1), 0.25F)}).setTier(1)); + constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_steel), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_steel, 1), 0.25F)}).setTier(1)); + constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_lead), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_lead, 1), 0.25F)}).setTier(1)); + constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_beryllium), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_beryllium, 1), 0.25F)}).setTier(1)); + constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_asbestos), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_asbestos, 1), 0.25F)}).setTier(1)); + constructionRecipes.add(new AnvilConstructionRecipe( new ComparableStack(ModBlocks.heater_firebox), new AnvilOutput[] { @@ -718,7 +748,63 @@ public class AnvilRecipes { new AnvilOutput(new ItemStack(ModItems.ingot_copper, 8)) } ).setTier(2)); - + + constructionRecipes.add(new AnvilConstructionRecipe( + new ComparableStack(ModBlocks.machine_stirling), + new AnvilOutput[] { + new AnvilOutput(new ItemStack(ModItems.plate_steel, 6)), + new AnvilOutput(new ItemStack(ModItems.ingot_copper, 8)), + new AnvilOutput(new ItemStack(ModItems.coil_copper, 4)), + new AnvilOutput(new ItemStack(ModItems.gear_large, 1)), + + } + ).setTier(2)); + constructionRecipes.add(new AnvilConstructionRecipe( + new ComparableStack(ModBlocks.machine_stirling, 1, 1), + new AnvilOutput[] { + new AnvilOutput(new ItemStack(ModItems.plate_steel, 6)), + new AnvilOutput(new ItemStack(ModItems.ingot_copper, 8)), + new AnvilOutput(new ItemStack(ModItems.coil_copper, 4)), + + } + ).setTier(2)); + constructionRecipes.add(new AnvilConstructionRecipe( + new ComparableStack(ModBlocks.machine_stirling_steel), + new AnvilOutput[] { + new AnvilOutput(new ItemStack(ModItems.plate_steel, 16)), + new AnvilOutput(new ItemStack(ModItems.ingot_beryllium, 6)), + new AnvilOutput(new ItemStack(ModItems.ingot_copper, 8)), + new AnvilOutput(new ItemStack(ModItems.coil_gold, 16)), + new AnvilOutput(new ItemStack(ModItems.gear_large,1, 1)), + + } + ).setTier(2)); + constructionRecipes.add(new AnvilConstructionRecipe( + new ComparableStack(ModItems.gear_large,1, 1), + new AnvilOutput[] { + new AnvilOutput(new ItemStack(ModItems.plate_steel, 8)), + new AnvilOutput(new ItemStack(ModItems.ingot_titanium, 1)), + + } + ).setTier(2)); + constructionRecipes.add(new AnvilConstructionRecipe( + new ComparableStack(ModItems.gear_large), + new AnvilOutput[] { + new AnvilOutput(new ItemStack(ModItems.plate_iron, 8)), + new AnvilOutput(new ItemStack(ModItems.ingot_copper, 1)), + + } + ).setTier(2)); + constructionRecipes.add(new AnvilConstructionRecipe( + new ComparableStack(ModBlocks.machine_stirling_steel, 1, 1), + new AnvilOutput[] { + new AnvilOutput(new ItemStack(ModItems.plate_steel, 16)), + new AnvilOutput(new ItemStack(ModItems.ingot_beryllium, 6)), + new AnvilOutput(new ItemStack(ModItems.ingot_copper, 8)), + new AnvilOutput(new ItemStack(ModItems.coil_gold, 16)), + + } + ).setTier(2)); constructionRecipes.add(new AnvilConstructionRecipe( new ComparableStack(ModBlocks.barrel_tcalloy), new AnvilOutput[] { @@ -728,7 +814,7 @@ public class AnvilRecipes { new AnvilOutput(new ItemStack(ModItems.ingot_tcalloy, 1), 0.25F) } ).setTier(3)); - + constructionRecipes.add(new AnvilConstructionRecipe( new ComparableStack(ModBlocks.deco_computer), new AnvilOutput[] { @@ -740,6 +826,91 @@ public class AnvilRecipes { } ).setTier(2)); + constructionRecipes.add(new AnvilConstructionRecipe( + new ComparableStack(ModBlocks.deco_crt, 1, OreDictionary.WILDCARD_VALUE), + new AnvilOutput[] { + new AnvilOutput(new ItemStack(ModItems.crt_display, 1)), + new AnvilOutput(new ItemStack(ModItems.scrap, 2)), + new AnvilOutput(new ItemStack(ModItems.wire_copper, 2)), + new AnvilOutput(new ItemStack(ModItems.wire_gold, 2), 0.25F), + new AnvilOutput(new ItemStack(ModItems.circuit_aluminium, 1), 0.25F) + + } + ).setTier(2)); + constructionRecipes.add(new AnvilConstructionRecipe( + new ComparableStack(ModBlocks.deco_toaster, 1, 0), //iron toaster + new AnvilOutput[] { + new AnvilOutput(new ItemStack(ModItems.plate_iron, 3)), + new AnvilOutput(new ItemStack(ModItems.scrap, 1)), + new AnvilOutput(new ItemStack(ModItems.coil_tungsten, 1)), + new AnvilOutput(new ItemStack(Items.bread, 1), 0.5F), + new AnvilOutput(new ItemStack(ModItems.battery_generic, 1), 0.25F), + new AnvilOutput(new ItemStack(ModItems.battery_advanced, 1), 0.1F), + new AnvilOutput(new ItemStack(ModItems.fusion_core, 1), 0.01F) + + } + ).setTier(2)); + constructionRecipes.add(new AnvilConstructionRecipe( + new ComparableStack(ModBlocks.deco_toaster, 1, 1), // steel toaster + new AnvilOutput[] { + new AnvilOutput(new ItemStack(ModItems.plate_steel, 3)), + new AnvilOutput(new ItemStack(ModItems.scrap, 1)), + new AnvilOutput(new ItemStack(ModItems.coil_tungsten, 2)), + new AnvilOutput(new ItemStack(Items.bread, 1), 0.5F), + new AnvilOutput(new ItemStack(ModItems.battery_lithium, 1), 0.25F), + new AnvilOutput(new ItemStack(ModItems.battery_sc_uranium, 1), 0.1F), + new AnvilOutput(new ItemStack(ModItems.fusion_core, 1), 0.05F) + + } + ).setTier(2)); + constructionRecipes.add(new AnvilConstructionRecipe( + new ComparableStack(ModBlocks.deco_toaster, 1, 2), // wooden toaster + new AnvilOutput[] { + new AnvilOutput(new ItemStack(ModItems.powder_sawdust, 4)), + new AnvilOutput(new ItemStack(ModItems.scrap, 1)), + new AnvilOutput(new ItemStack(ModItems.coil_tungsten, 4)), + new AnvilOutput(new ItemStack(Items.bread, 1), 0.5F), + new AnvilOutput(new ItemStack(ModItems.fusion_core, 1), 0.5F), + new AnvilOutput(new ItemStack(ModItems.fusion_core, 1), 0.5F), + new AnvilOutput(new ItemStack(ModItems.gem_alexandrite, 1), 0.25F), + new AnvilOutput(new ItemStack(ModItems.flame_pony, 1), 0.01F) + + } + ).setTier(2)); + constructionRecipes.add(new AnvilConstructionRecipe( + new ComparableStack(ModBlocks.radiorec), + new AnvilOutput[] { + new AnvilOutput(new ItemStack(ModItems.plate_steel, 4)), + new AnvilOutput(new ItemStack(ModItems.wire_copper, 1)), + new AnvilOutput(new ItemStack(ModItems.circuit_red_copper, 1), 0.5F), + new AnvilOutput(new ItemStack(ModItems.ingot_polymer, 1), 0.25F), + } + ).setTier(2)); + constructionRecipes.add(new AnvilConstructionRecipe( + new ComparableStack(ModBlocks.tape_recorder), + new AnvilOutput[] { + new AnvilOutput(new ItemStack(ModItems.ingot_steel, 1)), + new AnvilOutput(new ItemStack(ModItems.ingot_tungsten, 1), 0.25F), + } + ).setTier(2)); + constructionRecipes.add(new AnvilConstructionRecipe( + new ComparableStack(ModBlocks.pole_top), + new AnvilOutput[] { + new AnvilOutput(new ItemStack(ModItems.ingot_tungsten, 3)), + new AnvilOutput(new ItemStack(ModItems.ingot_red_copper, 1)), + new AnvilOutput(new ItemStack(ModItems.ingot_beryllium, 2)), + new AnvilOutput(new ItemStack(ModItems.ingot_beryllium, 1), 0.5F), + } + ).setTier(2)); + constructionRecipes.add(new AnvilConstructionRecipe( + new ComparableStack(ModBlocks.pole_satellite_receiver), + new AnvilOutput[] { + new AnvilOutput(new ItemStack(ModItems.ingot_steel, 3)), + new AnvilOutput(new ItemStack(ModItems.ingot_steel, 2), 0.5F), + new AnvilOutput(new ItemStack(ModItems.circuit_red_copper, 1), 0.5F), + new AnvilOutput(new ItemStack(ModItems.wire_red_copper, 1)), + } + ).setTier(2)); constructionRecipes.add(new AnvilConstructionRecipe( new ComparableStack(ModBlocks.filing_cabinet), new AnvilOutput[] { @@ -916,7 +1087,7 @@ public class AnvilRecipes { new ComparableStack(ModBlocks.rbmk_rod_reasim), new AnvilOutput[] { new AnvilOutput(new ItemStack(ModBlocks.rbmk_blank, 1)), new AnvilOutput(new ItemStack(ModItems.ingot_zirconium, 4)), - new AnvilOutput(new ItemStack(ModItems.hull_small_steel, 2)) + new AnvilOutput(new ItemStack(ModItems.shell, 2, Mats.MAT_STEEL.id)) }).setTier(4)); constructionRecipes.add(new AnvilConstructionRecipe( new ComparableStack(ModBlocks.rbmk_rod_reasim_mod), new AnvilOutput[] { @@ -942,7 +1113,7 @@ public class AnvilRecipes { constructionRecipes.add(new AnvilConstructionRecipe( new ComparableStack(ModBlocks.rbmk_rod), new AnvilOutput[] { new AnvilOutput(new ItemStack(ModBlocks.rbmk_blank, 1)), - new AnvilOutput(new ItemStack(ModItems.hull_small_steel, 2)) + new AnvilOutput(new ItemStack(ModItems.shell, 2, Mats.MAT_STEEL.id)) }).setTier(4)); constructionRecipes.add(new AnvilConstructionRecipe( new ComparableStack(ModBlocks.rbmk_rod_mod), new AnvilOutput[] { @@ -953,8 +1124,8 @@ public class AnvilRecipes { constructionRecipes.add(new AnvilConstructionRecipe( new ComparableStack(ModBlocks.rbmk_boiler), new AnvilOutput[] { new AnvilOutput(new ItemStack(ModBlocks.rbmk_blank, 1)), - new AnvilOutput(new ItemStack(ModItems.board_copper, 6)), - new AnvilOutput(new ItemStack(ModItems.pipes_steel, 2)) + new AnvilOutput(new ItemStack(ModItems.pipe, 6, Mats.MAT_COPPER.id)), + new AnvilOutput(new ItemStack(ModItems.shell, 2, Mats.MAT_COPPER.id)) }).setTier(4)); constructionRecipes.add(new AnvilConstructionRecipe( new ComparableStack(ModBlocks.rbmk_cooler), new AnvilOutput[] { @@ -1034,10 +1205,10 @@ public class AnvilRecipes { public static void pullFromAssembler(ComparableStack result, int tier) { - AStack[] ingredients = AssemblerRecipes.recipes.get(result); + AssemblerRecipe recipe = AssemblerRecipes.recipes.get(result); - if(ingredients != null) { - constructionRecipes.add(new AnvilConstructionRecipe(ingredients, new AnvilOutput(result.toStack())).setTier(tier)); + if(recipe != null) { + constructionRecipes.add(new AnvilConstructionRecipe(recipe.ingredients, new AnvilOutput(result.toStack())).setTier(tier)); } } diff --git a/src/main/java/com/hbm/inventory/recipes/loader/SerializableRecipe.java b/src/main/java/com/hbm/inventory/recipes/loader/SerializableRecipe.java index f54138b0f..c187fd17a 100644 --- a/src/main/java/com/hbm/inventory/recipes/loader/SerializableRecipe.java +++ b/src/main/java/com/hbm/inventory/recipes/loader/SerializableRecipe.java @@ -52,6 +52,7 @@ public abstract class SerializableRecipe { recipeHandlers.add(new FractionRecipes()); recipeHandlers.add(new CrackingRecipes()); recipeHandlers.add(new ReformingRecipes()); + recipeHandlers.add(new HydrotreatingRecipes()); recipeHandlers.add(new LiquefactionRecipes()); recipeHandlers.add(new SolidificationRecipes()); recipeHandlers.add(new CokerRecipes()); @@ -66,6 +67,7 @@ public abstract class SerializableRecipe { recipeHandlers.add(new ElectrolyserMetalRecipes()); recipeHandlers.add(new ArcWelderRecipes()); recipeHandlers.add(new ExposureChamberRecipes()); + recipeHandlers.add(new AssemblerRecipes()); recipeHandlers.add(new MatDistribution()); recipeHandlers.add(new CustomMachineRecipes()); diff --git a/src/main/java/com/hbm/inventory/transfer/ITransferFilter.java b/src/main/java/com/hbm/inventory/transfer/ITransferFilter.java deleted file mode 100644 index 8f5e91cae..000000000 --- a/src/main/java/com/hbm/inventory/transfer/ITransferFilter.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.hbm.inventory.transfer; - -import java.util.List; - -import net.minecraft.item.ItemStack; - -public interface ITransferFilter { - - /** Returns a list of valid ItemStacks that pass the filter and can be added. The returned list is what is added to the target and removed from the source. */ - public List select(List offer); -} diff --git a/src/main/java/com/hbm/inventory/transfer/ITransferSource.java b/src/main/java/com/hbm/inventory/transfer/ITransferSource.java deleted file mode 100644 index 27891800f..000000000 --- a/src/main/java/com/hbm/inventory/transfer/ITransferSource.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.hbm.inventory.transfer; - -import java.util.List; - -import net.minecraft.item.ItemStack; - -public interface ITransferSource { - - /** Returns a list of ItemStacks accessible from this source */ - public List offer(); - /** Removes the selected ItemStacks */ - public void remove(List toRem); -} diff --git a/src/main/java/com/hbm/inventory/transfer/ITransferTarget.java b/src/main/java/com/hbm/inventory/transfer/ITransferTarget.java deleted file mode 100644 index 28bba3987..000000000 --- a/src/main/java/com/hbm/inventory/transfer/ITransferTarget.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.hbm.inventory.transfer; - -import java.util.List; - -import net.minecraft.item.ItemStack; - -public interface ITransferTarget { - - /** Adds the selected ItemStacks to the target */ - public void fill(List offer); -} diff --git a/src/main/java/com/hbm/inventory/transfer/TransferSourceSided.java b/src/main/java/com/hbm/inventory/transfer/TransferSourceSided.java deleted file mode 100644 index 8c0dfb998..000000000 --- a/src/main/java/com/hbm/inventory/transfer/TransferSourceSided.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.hbm.inventory.transfer; - -import net.minecraftforge.common.util.ForgeDirection; - -public abstract class TransferSourceSided implements ITransferSource { - - protected ForgeDirection fromSide; - - public TransferSourceSided fromSide(ForgeDirection side) { - this.fromSide = side; - return this; - } -} diff --git a/src/main/java/com/hbm/inventory/transfer/TransferSourceTileEntity.java b/src/main/java/com/hbm/inventory/transfer/TransferSourceTileEntity.java deleted file mode 100644 index 11a92d06c..000000000 --- a/src/main/java/com/hbm/inventory/transfer/TransferSourceTileEntity.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.hbm.inventory.transfer; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.ISidedInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.tileentity.TileEntityFurnace; - -public class TransferSourceTileEntity extends TransferSourceSided { - - protected TileEntity tile; - - public TransferSourceTileEntity fromTile(TileEntity tile) { - this.tile = tile; - return this; - } - - @Override - public List offer() { - - List list = new ArrayList(); - - if(tile instanceof ISidedInventory) { - ISidedInventory inventory = (ISidedInventory) tile; - int[] access = masquerade(inventory, fromSide.ordinal()); - - for(int i : access) { - ItemStack stack = inventory.getStackInSlot(i); - - if(stack != null && inventory.canExtractItem(i, stack, fromSide.ordinal())) { - list.add(stack.copy()); - } - } - - return list; - } - - if(tile instanceof IInventory) { - IInventory inventory = (IInventory) tile; - - for(int i = 0; i < inventory.getSizeInventory(); i++) { - ItemStack stack = inventory.getStackInSlot(i); - - if(stack != null) { - list.add(stack.copy()); - } - } - - return list; - } - - return list; - } - - public static int[] masquerade(ISidedInventory sided, int side) { - - if(sided instanceof TileEntityFurnace) { - return new int[] {2}; - } - - return sided.getAccessibleSlotsFromSide(side); - } - - @Override - public void remove(List toRem) { - } -} diff --git a/src/main/java/com/hbm/inventory/transfer/TransferUtil.java b/src/main/java/com/hbm/inventory/transfer/TransferUtil.java deleted file mode 100644 index 2ab5c8576..000000000 --- a/src/main/java/com/hbm/inventory/transfer/TransferUtil.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.hbm.inventory.transfer; - -import java.util.List; - -import net.minecraft.item.ItemStack; - -public class TransferUtil { - - public static void transfer(ITransferSource source, ITransferFilter filter, ITransferTarget target) { - - List filtered = filter.select(source.offer()); - source.remove(filtered); - target.fill(filtered); - } -} diff --git a/src/main/java/com/hbm/itempool/ItemPool.java b/src/main/java/com/hbm/itempool/ItemPool.java new file mode 100644 index 000000000..0d4fd2d11 --- /dev/null +++ b/src/main/java/com/hbm/itempool/ItemPool.java @@ -0,0 +1,82 @@ +package com.hbm.itempool; + +import static com.hbm.lib.HbmChestContents.weighted; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Random; + +import com.hbm.items.ModItems; + +import net.minecraft.block.Block; +import net.minecraft.init.Items; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.WeightedRandom; +import net.minecraft.util.WeightedRandomChestContent; + +public class ItemPool { + + public static void initialize() { + ItemPoolsLegacy.init(); + ItemPoolsComponent.init(); + ItemPoolsSingle.init(); + ItemPoolsRedRoom.init(); + ItemPoolsSatellite.init(); + ItemPoolsPile.init(); + } + + public static HashMap pools = new HashMap(); + + public String name; + public WeightedRandomChestContent[] pool = new WeightedRandomChestContent[0]; + + private List buildingList = new ArrayList(); + + public ItemPool() { } + + public ItemPool(String name) { + this.name = name; + pools.put(name, this); + } + + public ItemPool add(Item item, int meta, int min, int max, int weight) { buildingList.add(new WeightedRandomChestContent(item, meta, min, max, weight)); return this; } + public ItemPool add(Block block, int meta, int min, int max, int weight) { buildingList.add(new WeightedRandomChestContent(Item.getItemFromBlock(block), meta, min, max, weight)); return this; } + public ItemPool add(ItemStack item, int min, int max, int weight) { buildingList.add(new WeightedRandomChestContent(item, min, max, weight)); return this; } + + public ItemPool build() { + + this.pool = new WeightedRandomChestContent[buildingList.size()]; + + for(int i = 0; i < pool.length; i++) { + this.pool[i] = this.buildingList.get(i); + } + + this.buildingList.clear(); + + return this; + } + + /** Grabs the specified item pool out of the pool map, will return the backup pool if the given pool is not present */ + public static WeightedRandomChestContent[] getPool(String name) { + ItemPool pool = pools.get(name); + if(pool == null) return backupPool; + return pool.pool; + } + + public static ItemStack getStack(WeightedRandomChestContent[] pool, Random rand) { + WeightedRandomChestContent weighted = (WeightedRandomChestContent) WeightedRandom.getRandomItem(rand, pool); + ItemStack stack = weighted.theItemId.copy(); + stack.stackSize = weighted.theMinimumChanceToGenerateItem + rand.nextInt(weighted.theMaximumChanceToGenerateItem - weighted.theMinimumChanceToGenerateItem + 1); + return stack; + } + + /** Should a pool be lost due to misconfiguration or otherwise, this pool will be returned in its place */ + private static WeightedRandomChestContent[] backupPool = new WeightedRandomChestContent[] { + weighted(Items.bread, 0, 1, 3, 10), + weighted(Items.stick, 0, 2, 5, 10), + weighted(ModItems.scrap, 0, 1, 3, 10), + weighted(ModItems.dust, 0, 2, 5, 5) + }; +} diff --git a/src/main/java/com/hbm/itempool/ItemPoolsComponent.java b/src/main/java/com/hbm/itempool/ItemPoolsComponent.java new file mode 100644 index 000000000..e5c42e576 --- /dev/null +++ b/src/main/java/com/hbm/itempool/ItemPoolsComponent.java @@ -0,0 +1,186 @@ +package com.hbm.itempool; + +import static com.hbm.lib.HbmChestContents.weighted; + +import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.material.Mats; +import com.hbm.items.ItemEnums.EnumCokeType; +import com.hbm.items.ModItems; +import com.hbm.items.tool.ItemBlowtorch; + +import net.minecraft.init.Items; +import net.minecraft.util.WeightedRandomChestContent; + +public class ItemPoolsComponent { + + public static final String POOL_MACHINE_PARTS = "POOL_MACHINE_PARTS"; + public static final String POOL_NUKE_FUEL = "POOL_NUKE_FUEL"; + public static final String POOL_SILO = "POOL_SILO"; + public static final String POOL_OFFICE_TRASH = "POOL_OFFICE_TRASH"; + public static final String POOL_FILING_CABINET = "POOL_FILING_CABINET"; + public static final String POOL_SOLID_FUEL = "POOL_SOLID_FUEL"; + public static final String POOL_VAULT_LAB = "POOL_VAULT_LAB"; + public static final String POOL_VAULT_LOCKERS = "POOL_VAULT_LOCKERS"; + + public static void init() { + + //machine parts + new ItemPool(POOL_MACHINE_PARTS) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(ModItems.plate_steel, 0, 1, 5, 5), + weighted(ModItems.shell, Mats.MAT_STEEL.id, 1, 3, 3), + weighted(ModItems.plate_polymer, 0, 1, 6, 5), + weighted(ModItems.bolt, Mats.MAT_STEEL.id, 4, 16, 3), + weighted(ModItems.bolt, Mats.MAT_TUNGSTEN.id, 4, 16, 3), + weighted(ModItems.coil_tungsten, 0, 1, 2, 5), + weighted(ModItems.motor, 0, 1, 2, 4), + weighted(ModItems.tank_steel, 0, 1, 2, 3), + weighted(ModItems.coil_copper, 0, 1, 3, 4), + weighted(ModItems.coil_copper_torus, 0, 1, 2, 3), + weighted(ModItems.wire_red_copper, 0, 1, 8, 5), + weighted(ModItems.piston_selenium, 0, 1, 1, 3), + weighted(ModItems.battery_advanced_cell, 0, 1, 1, 3), + weighted(ModItems.circuit_raw, 0, 1, 3, 5), + weighted(ModItems.circuit_aluminium, 0, 1, 2, 4), + weighted(ModItems.circuit_copper, 0, 1, 1, 3), + weighted(ModItems.circuit_red_copper, 0, 1, 1, 2), + weighted(ModItems.blade_titanium, 0, 1, 8, 1) + }; + }}; + + //fuel isotopes found in bunkers and labs + new ItemPool(POOL_NUKE_FUEL) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(ModItems.billet_uranium, 0, 1, 4, 4), + weighted(ModItems.billet_th232, 0, 1, 3, 3), + weighted(ModItems.billet_uranium_fuel, 0, 1, 3, 5), + weighted(ModItems.billet_mox_fuel, 0, 1, 3, 5), + weighted(ModItems.billet_thorium_fuel, 0, 1, 3, 3), + weighted(ModItems.billet_ra226be, 0, 1, 2, 2), + weighted(ModItems.billet_beryllium, 0, 1, 1, 1), + weighted(ModItems.nugget_u233, 0, 1, 1, 1), + weighted(ModItems.nugget_uranium_fuel, 0, 1, 1, 1), + weighted(ModItems.rod_zirnox_empty, 0, 1, 3, 3), + weighted(ModItems.ingot_graphite, 0, 1, 4, 3), + weighted(ModItems.pile_rod_uranium, 0, 2, 5, 3), + weighted(ModItems.pile_rod_source, 0, 1, 2, 2), + weighted(ModItems.reacher, 0, 1, 1, 3), + weighted(ModItems.screwdriver, 0, 1, 1, 2) + }; + }}; + + //missile parts found in silos + new ItemPool(POOL_SILO) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(ModItems.missile_generic, 0, 1, 1, 4), + weighted(ModItems.missile_incendiary, 0, 1, 1, 4), + weighted(ModItems.gas_mask_m65, 0, 1, 1, 5), + weighted(ModItems.battery_advanced, 0, 1, 1, 5), + weighted(ModItems.designator, 0, 1, 1, 5), + weighted(ModItems.crate_caller, 0, 1, 1, 1), + weighted(ModItems.thruster_small, 0, 1, 1, 5), + weighted(ModItems.thruster_medium, 0, 1, 1, 4), + weighted(ModItems.fuel_tank_small, 0, 1, 1, 5), + weighted(ModItems.fuel_tank_medium, 0, 1, 1, 4), + weighted(ModItems.bomb_caller, 0, 1, 1, 1), + weighted(ModItems.bomb_caller, 3, 1, 1, 1), + weighted(ModItems.bottle_nuka, 0, 1, 3, 10) + }; + }}; + + //low quality items from offices in chests + new ItemPool(POOL_OFFICE_TRASH) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(Items.paper, 0, 1, 12, 10), + weighted(Items.book, 0, 1, 3, 4), + weighted(ModItems.twinkie, 0, 1, 2, 6), + weighted(ModItems.coffee, 0, 1, 1, 4), + weighted(ModItems.flame_politics, 0, 1, 1, 2), + weighted(ModItems.ring_pull, 0, 1, 1, 4), + weighted(ModItems.can_empty, 0, 1, 1, 2), + weighted(ModItems.can_creature, 0, 1, 2, 2), + weighted(ModItems.can_smart, 0, 1, 3, 2), + weighted(ModItems.can_mrsugar, 0, 1, 2, 2), + weighted(ModItems.cap_nuka, 0, 1, 16, 2), + weighted(ModItems.book_guide, 3, 1, 1, 1), + weighted(ModBlocks.deco_computer, 0, 1, 1, 1) + }; + }}; + + //things found in various filing cabinets, paper, books, etc + new ItemPool(POOL_FILING_CABINET) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(Items.paper, 0, 1, 12, 240), + weighted(Items.book, 0, 1, 3, 90), + weighted(Items.map, 0, 1, 1, 50), + weighted(Items.writable_book, 0, 1, 1, 30), + weighted(ModItems.cigarette, 0, 1, 16, 20), + weighted(ModItems.toothpicks, 0, 1, 16, 10), + weighted(ModItems.dust, 0, 1, 1, 40), + weighted(ModItems.dust_tiny, 0, 1, 3, 75), + weighted(ModItems.ink, 0, 1, 1, 1) + }; + }}; + + //solid fuels from bunker power rooms + new ItemPool(POOL_SOLID_FUEL) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(ModItems.solid_fuel, 0, 1, 5, 1), + weighted(ModItems.solid_fuel_presto, 0, 1, 2, 2), + weighted(ModItems.ball_dynamite, 0, 1, 4, 2), + weighted(ModItems.coke, EnumCokeType.PETROLEUM.ordinal(), 1, 3, 1), + weighted(Items.redstone, 0, 1, 3, 1), + weighted(ModItems.niter, 0, 1, 3, 1) + }; + }}; + + //various lab related items from bunkers + new ItemPool(POOL_VAULT_LAB) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(ItemBlowtorch.getEmptyTool(ModItems.blowtorch), 1, 1, 4), + weighted(ModItems.chemistry_set, 0, 1, 1, 15), + weighted(ModItems.screwdriver, 0, 1, 1, 10), + weighted(ModItems.nugget_mercury, 0, 1, 1, 3), + weighted(ModItems.morning_glory, 0, 1, 1, 1), + weighted(ModItems.filter_coal, 0, 1, 1, 5), + weighted(ModItems.dust, 0, 1, 3, 25), + weighted(Items.paper, 0, 1, 2, 15), + weighted(ModItems.cell_empty, 0, 1, 1, 5), + weighted(Items.glass_bottle, 0, 1, 1, 5), + weighted(ModItems.powder_iodine, 0, 1, 1, 1), + weighted(ModItems.powder_bromine, 0, 1, 1, 1), + weighted(ModItems.powder_cobalt, 0, 1, 1, 1), + weighted(ModItems.powder_neodymium, 0, 1, 1, 1), + weighted(ModItems.powder_boron, 0, 1, 1, 1) + }; + }}; + + //personal items and gear from vaults + new ItemPool(POOL_VAULT_LOCKERS) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(ModItems.robes_helmet, 0, 1, 1, 1), + weighted(ModItems.robes_plate, 0, 1, 1, 1), + weighted(ModItems.robes_legs, 0, 1, 1, 1), + weighted(ModItems.robes_boots, 0, 1, 1, 1), + weighted(ModItems.jackt, 0, 1, 1, 1), + weighted(ModItems.jackt2, 0, 1, 1, 1), + weighted(ModItems.gas_mask_m65, 0, 1, 1, 2), + weighted(ModItems.gas_mask_mono, 0, 1, 1, 2), + weighted(ModItems.goggles, 0, 1, 1, 2), + weighted(ModItems.gas_mask_filter, 0, 1, 1, 4), + weighted(ModItems.flame_opinion, 0, 1, 3, 5), + weighted(ModItems.flame_conspiracy, 0, 1, 3, 5), + weighted(ModItems.flame_politics, 0, 1, 3, 5), + weighted(ModItems.definitelyfood, 0, 2, 7, 5), + weighted(ModItems.cigarette, 0, 1, 8, 5), + weighted(ModItems.armor_polish, 0, 1, 1, 3), + weighted(ModItems.gun_kit_1, 0, 1, 1, 3), + weighted(ModItems.rag, 0, 1, 3, 5), + weighted(Items.paper, 0, 1, 6, 7), + weighted(Items.clock, 0, 1, 1, 3), + weighted(Items.book, 0, 1, 5, 10), + weighted(Items.experience_bottle, 0, 1, 3, 1) + }; + }}; + } +} diff --git a/src/main/java/com/hbm/itempool/ItemPoolsLegacy.java b/src/main/java/com/hbm/itempool/ItemPoolsLegacy.java new file mode 100644 index 000000000..865c39464 --- /dev/null +++ b/src/main/java/com/hbm/itempool/ItemPoolsLegacy.java @@ -0,0 +1,239 @@ +package com.hbm.itempool; + +import com.hbm.inventory.fluid.Fluids; +import com.hbm.items.ModItems; +import com.hbm.items.ItemAmmoEnums.Ammo357Magnum; +import com.hbm.items.ItemAmmoEnums.AmmoFatman; +import com.hbm.items.machine.ItemBreedingRod.BreedingRodType; +import com.hbm.items.machine.ItemZirnoxRod.EnumZirnoxType; + +import static com.hbm.lib.HbmChestContents.*; + +import com.hbm.blocks.ModBlocks; + +import net.minecraft.init.Items; +import net.minecraft.util.WeightedRandomChestContent; + +/** + * Item pools for "legacy" structures, i.e. schematic2java ones + * @author hbm + * + */ +public class ItemPoolsLegacy { + + public static final String POOL_GENERIC = "POOL_GENERIC"; + public static final String POOL_ANTENNA = "POOL_ANTENNA"; + public static final String POOL_EXPENSIVE = "POOL_EXPENSIVE"; + public static final String POOL_NUKE_TRASH = "POOL_NUKE_TRASH"; + public static final String POOL_NUKE_MISC = "POOL_NUKE_MISC"; + public static final String POOL_VERTIBIRD = "POOL_VERTIBIRD"; + public static final String POOL_SPACESHIP = "POOL_SPACESHIP"; + + public static void init() { + + //"generic" set, found commonly in chests in many structures + new ItemPool(POOL_GENERIC) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(Items.bread, 0, 1, 5, 8), + weighted(ModItems.twinkie, 0, 1, 3, 6), + weighted(Items.iron_ingot, 0, 2, 6, 10), + weighted(ModItems.ingot_steel, 0, 2, 5, 7), + weighted(ModItems.ingot_beryllium, 0, 1, 2, 4), + weighted(ModItems.ingot_titanium, 0, 1, 1, 3), + weighted(ModItems.circuit_targeting_tier1, 0, 1, 1, 5), + weighted(ModItems.gun_revolver, 0, 1, 1, 3), + weighted(ModItems.ammo_357, Ammo357Magnum.LEAD.ordinal(), 2, 6, 4), + weighted(ModItems.gun_kit_1, 0, 1, 3, 4), + weighted(ModItems.gun_lever_action, 0, 1, 1, 1), + weighted(ModItems.ammo_20gauge, 0, 2, 6, 3), + weighted(ModItems.casing_9, 0, 4, 10, 3), + weighted(ModItems.casing_50, 0, 4, 10, 3), + weighted(ModItems.cordite, 0, 4, 6, 5), + weighted(ModItems.battery_generic, 0, 1, 1, 4), + weighted(ModItems.battery_advanced, 0, 1, 1, 2), + weighted(ModItems.scrap, 0, 1, 3, 10), + weighted(ModItems.dust, 0, 2, 4, 9), + weighted(ModItems.bottle_opener, 0, 1, 1, 2), + weighted(ModItems.bottle_nuka, 0, 1, 3, 4), + weighted(ModItems.bottle_cherry, 0, 1, 1, 2), + weighted(ModItems.stealth_boy, 0, 1, 1, 1), + weighted(ModItems.cap_nuka, 0, 1, 15, 7), + weighted(ModItems.canister_full, Fluids.DIESEL.getID(), 1, 2, 2), + weighted(ModItems.canister_full, Fluids.BIOFUEL.getID(), 1, 2, 3), + weighted(ModItems.gas_mask_m65, 60, 1, 1, 2), + weighted(ModItems.gas_mask_filter, 0, 1, 1, 3) + }; + }}; + + //"antenna" pool, found by antennas and in radio stations + new ItemPool(POOL_ANTENNA) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(ModItems.twinkie, 0, 1, 3, 4), + weighted(ModItems.ingot_steel, 0, 1, 2, 7), + weighted(ModItems.ingot_red_copper, 0, 1, 1, 4), + weighted(ModItems.ingot_titanium, 0, 1, 3, 5), + weighted(ModItems.wire_red_copper, 0, 2, 3, 7), + weighted(ModItems.circuit_targeting_tier1, 0, 1, 1, 4), + weighted(ModItems.circuit_copper, 0, 1, 1, 4), + weighted(ModItems.battery_generic, 0, 1, 1, 4), + weighted(ModItems.battery_advanced, 0, 1, 1, 3), + weighted(ModItems.powder_iodine, 0, 1, 1, 1), + weighted(ModItems.powder_bromine, 0, 1, 1, 1), + weighted(ModBlocks.steel_poles, 0, 1, 4, 8), + weighted(ModBlocks.steel_scaffold, 0, 1, 3, 8), + weighted(ModBlocks.pole_top, 0, 1, 1, 4), + weighted(ModBlocks.pole_satellite_receiver, 0, 1, 1, 7), + weighted(ModItems.scrap, 0, 1, 3, 10), + weighted(ModItems.dust, 0, 2, 4, 9), + weighted(ModItems.bottle_opener, 0, 1, 1, 2), + weighted(ModItems.bottle_nuka, 0, 1, 3, 4), + weighted(ModItems.bottle_cherry, 0, 1, 1, 2), + weighted(ModItems.stealth_boy, 0, 1, 1, 1), + weighted(ModItems.cap_nuka, 0, 1, 15, 7), + weighted(ModItems.bomb_caller, 0, 1, 1, 1), + weighted(ModItems.gas_mask_filter, 0, 1, 1, 2) + }; + }}; + + //"hidden" loot + new ItemPool(POOL_EXPENSIVE) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(ModItems.chlorine_pinwheel, 0, 1, 1, 1), + weighted(ModItems.circuit_targeting_tier3, 0, 1, 1, 4), + weighted(ModItems.circuit_gold, 0, 1, 2, 3), + weighted(ModItems.circuit_targeting_tier4, 0, 1, 1, 2), + weighted(ModItems.gun_kit_1, 0, 1, 3, 6), + weighted(ModItems.gun_kit_2, 0, 1, 2, 3), + weighted(ModItems.gun_rpg, 0, 1, 1, 4), + weighted(ModItems.ammo_rocket, 0, 1, 4, 5), + weighted(ModItems.gun_fatman, 0, 1, 1, 1), + weighted(ModItems.ammo_nuke, AmmoFatman.SAFE.ordinal(), 1, 2, 1), + weighted(ModItems.ammo_nuke, AmmoFatman.LOW.ordinal(), 1, 2, 1), + weighted(ModItems.ammo_nuke, AmmoFatman.PUMPKIN.ordinal(), 1, 2, 1), + weighted(ModItems.grenade_nuclear, 0, 1, 1, 2), + weighted(ModItems.grenade_smart, 0, 1, 3, 3), + weighted(ModItems.grenade_mirv, 0, 1, 1, 2), + weighted(ModItems.stealth_boy, 0, 1, 1, 2), + weighted(ModItems.battery_advanced, 0, 1, 1, 3), + weighted(ModItems.battery_advanced_cell, 0, 1, 1, 2), + weighted(ModItems.battery_schrabidium, 0, 1, 1, 1), + weighted(ModItems.syringe_awesome, 0, 1, 1, 1), + weighted(ModItems.crate_caller, 0, 1, 1, 3), + weighted(ModItems.fusion_core, 0, 1, 1, 4), + weighted(ModItems.bottle_nuka, 0, 1, 3, 6), + weighted(ModItems.bottle_quantum, 0, 1, 1, 3), + weighted(ModBlocks.red_barrel, 0, 1, 1, 6), + weighted(ModItems.canister_full, Fluids.DIESEL.getID(), 1, 2, 2), + weighted(ModItems.canister_full, Fluids.BIOFUEL.getID(), 1, 2, 3), + weighted(ModItems.gas_mask_m65, 60, 1, 1, 5), + weighted(ModItems.bomb_caller, 0, 1, 1, 2), + weighted(ModItems.bomb_caller, 1, 1, 1, 1), + weighted(ModItems.bomb_caller, 2, 1, 1, 1), + weighted(ModItems.gas_mask_filter, 0, 1, 1, 4), + weighted(ModItems.journal_pip, 0, 1, 1, 1), + weighted(ModItems.journal_bj, 0, 1, 1, 1), + weighted(ModItems.launch_code_piece, 0, 1, 1, 1) + }; + }}; + + //nuclear waste products found in powerplants + new ItemPool(POOL_NUKE_TRASH) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(ModItems.nugget_u238, 0, 3, 12, 5), + weighted(ModItems.nugget_pu240, 0, 3, 8, 5), + weighted(ModItems.nugget_neptunium, 0, 1, 4, 3), + weighted(ModItems.rod, BreedingRodType.U238.ordinal(), 1, 1, 3), + weighted(ModItems.rod_dual, BreedingRodType.U238.ordinal(), 1, 1, 3), + weighted(ModItems.rod_quad, BreedingRodType.U238.ordinal(), 1, 1, 3), + weighted(ModItems.bottle_quantum, 0, 1, 1, 1), + weighted(ModItems.gas_mask_m65, 60, 1, 1, 5), + weighted(ModItems.hazmat_kit, 0, 1, 1, 1), + weighted(ModItems.gas_mask_filter, 0, 1, 1, 5), + weighted(ModBlocks.yellow_barrel, 0, 1, 1, 2) + }; + }}; + + //all sorts of nuclear related items, mostly fissile isotopes found in nuclear powerplants + new ItemPool(POOL_NUKE_MISC) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(ModItems.nugget_u235, 0, 3, 12, 5), + weighted(ModItems.nugget_pu238, 0, 3, 12, 5), + weighted(ModItems.nugget_ra226, 0, 3, 6, 5), + weighted(ModItems.rod, BreedingRodType.U235.ordinal(), 1, 1, 3), + weighted(ModItems.rod_dual, BreedingRodType.U235.ordinal(), 1, 1, 3), + weighted(ModItems.rod_quad, BreedingRodType.U235.ordinal(), 1, 1, 3), + weighted(ModItems.rod_zirnox, EnumZirnoxType.URANIUM_FUEL.ordinal(), 1, 1, 4), + weighted(ModItems.rod_zirnox, EnumZirnoxType.MOX_FUEL.ordinal(), 1, 1, 4), + weighted(ModItems.rod_zirnox, EnumZirnoxType.LITHIUM.ordinal(), 1, 1, 3), + weighted(ModItems.rod_zirnox, EnumZirnoxType.THORIUM_FUEL.ordinal(), 1, 1, 3), + weighted(ModItems.rod_dual, BreedingRodType.THF.ordinal(), 1, 1, 3), + weighted(ModItems.rod_zirnox_tritium, 0, 1, 1, 1), + weighted(ModItems.rod_zirnox, EnumZirnoxType.U233_FUEL.ordinal(), 1, 1, 1), + weighted(ModItems.rod_zirnox, EnumZirnoxType.U235_FUEL.ordinal(), 1, 1, 1), + weighted(ModItems.pellet_rtg, 0, 1, 1, 3), + weighted(ModItems.powder_thorium, 0, 1, 1, 1), + weighted(ModItems.powder_neptunium, 0, 1, 1, 1), + weighted(ModItems.powder_strontium, 0, 1, 1, 1), + weighted(ModItems.powder_cobalt, 0, 1, 1, 1), + weighted(ModItems.bottle_quantum, 0, 1, 1, 1), + weighted(ModItems.gas_mask_m65, 60, 1, 1, 5), + weighted(ModItems.hazmat_kit, 0, 1, 1, 2), + weighted(ModItems.gas_mask_filter, 0, 1, 1, 5), + weighted(ModBlocks.yellow_barrel, 0, 1, 3, 3) + }; + }}; + + //loot found in vertibirds + new ItemPool(POOL_VERTIBIRD) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(ModItems.t45_helmet, 0, 1, 1, 15), + weighted(ModItems.t45_plate, 0, 1, 1, 15), + weighted(ModItems.t45_legs, 0, 1, 1, 15), + weighted(ModItems.t45_boots, 0, 1, 1, 15), + weighted(ModItems.t45_kit, 0, 1, 1, 3), + weighted(ModItems.fusion_core, 0, 1, 1, 10), + weighted(ModItems.gun_revolver, 0, 1, 1, 4), + weighted(ModItems.ammo_357, Ammo357Magnum.LEAD.ordinal(), 1, 24, 4), + weighted(ModItems.gun_kit_1, 0, 2, 3, 4), + weighted(ModItems.gun_rpg, 0, 1, 1, 3), + weighted(ModItems.ammo_rocket, 0, 1, 6, 3), + weighted(ModItems.rod, BreedingRodType.U235.ordinal(), 1, 1, 2), + weighted(ModItems.billet_uranium_fuel, 0, 1, 1, 2), + weighted(ModItems.ingot_uranium_fuel, 0, 1, 1, 2), + weighted(ModItems.ammo_nuke, AmmoFatman.SAFE.ordinal(), 1, 2, 1), + weighted(ModItems.gun_fatman, 0, 1, 1, 1), + weighted(ModItems.bottle_nuka, 0, 1, 3, 6), + weighted(ModItems.bottle_quantum, 0, 1, 1, 3), + weighted(ModItems.stealth_boy, 0, 1, 1, 7), + weighted(ModItems.crate_caller, 0, 1, 1, 3), + weighted(ModItems.gas_mask_m65, 0, 1, 1, 5), + weighted(ModItems.gas_mask_filter, 0, 1, 1, 5), + weighted(ModItems.grenade_nuclear, 0, 1, 2, 2), + weighted(ModItems.bomb_caller, 0, 1, 1, 1), + weighted(ModItems.bomb_caller, 1, 1, 1, 1), + weighted(ModItems.bomb_caller, 2, 1, 1, 2) + }; + }}; + + //spaceship double chests + new ItemPool(POOL_SPACESHIP) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(ModItems.battery_advanced, 0, 1, 1, 5), + weighted(ModItems.ingot_advanced_alloy, 0, 2, 16, 5), + weighted(ModItems.wire_advanced_alloy, 0, 8, 32, 5), + weighted(ModItems.coil_advanced_alloy, 0, 2, 16, 5), + weighted(ModItems.cell_deuterium, 0, 1, 8, 5), + weighted(ModItems.cell_tritium, 0, 1, 8, 5), + weighted(ModItems.cell_antimatter, 0, 1, 1, 1), + weighted(ModItems.powder_neodymium, 0, 1, 1, 1), + weighted(ModItems.powder_niobium, 0, 1, 1, 1), + weighted(ModBlocks.fusion_conductor, 0, 2, 4, 5), + weighted(ModBlocks.fusion_heater, 0, 1, 3, 5), + weighted(ModBlocks.pwr_fuel, 0, 1, 2, 5), + weighted(ModBlocks.block_tungsten, 0, 3, 8, 5), + weighted(ModBlocks.red_wire_coated, 0, 4, 8, 5), + weighted(ModBlocks.red_cable, 0, 8, 16, 5) + }; + }}; + } +} diff --git a/src/main/java/com/hbm/itempool/ItemPoolsPile.java b/src/main/java/com/hbm/itempool/ItemPoolsPile.java new file mode 100644 index 000000000..46bf7adca --- /dev/null +++ b/src/main/java/com/hbm/itempool/ItemPoolsPile.java @@ -0,0 +1,73 @@ +package com.hbm.itempool; + +import static com.hbm.lib.HbmChestContents.weighted; + +import com.hbm.items.ItemAmmoEnums.Ammo357Magnum; +import com.hbm.items.ItemAmmoEnums.AmmoFatman; +import com.hbm.items.ModItems; + +import net.minecraft.init.Items; +import net.minecraft.util.WeightedRandomChestContent; + +public class ItemPoolsPile { + + public static final String POOL_PILE_HIVE = "POOL_PILE_HIVE"; + public static final String POOL_PILE_BONES = "POOL_PILE_BONES"; + public static final String POOL_PILE_CAPS = "POOL_PILE_CAPS"; + + public static void init() { + + //items found in glyphid hives + new ItemPool(POOL_PILE_HIVE) {{ + this.pool = new WeightedRandomChestContent[] { + //Materials + weighted(Items.iron_ingot, 0, 1, 3, 10), + weighted(ModItems.ingot_steel, 0, 1, 2, 10), + weighted(ModItems.ingot_aluminium, 0, 1, 2, 10), + weighted(ModItems.scrap, 0, 3, 6, 10), + //Armor + weighted(ModItems.gas_mask_m65, 0, 1, 1, 10), + weighted(ModItems.steel_plate, 0, 1, 1, 5), + weighted(ModItems.steel_legs, 0, 1, 1, 5), + //Gear + weighted(ModItems.steel_pickaxe, 0, 1, 1, 5), + weighted(ModItems.steel_shovel, 0, 1, 1, 5), + //Weapons + weighted(ModItems.gun_lever_action, 0, 1, 1, 5), + weighted(ModItems.gun_bio_revolver, 0, 1, 1, 1), + weighted(ModItems.grenade_if_generic, 0, 1, 2, 5), + weighted(ModItems.ammo_20gauge, 0, 8, 8, 10), + weighted(ModItems.ammo_12gauge, 0, 4, 4, 10), + weighted(ModItems.ammo_357, Ammo357Magnum.LEAD.ordinal(), 6, 12, 10), + weighted(ModItems.ammo_grenade, 0, 1, 1, 2), + weighted(ModItems.ammo_nuke, AmmoFatman.PUMPKIN.ordinal(), 1, 1, 1), + //Consumables + weighted(ModItems.bottle_nuka, 0, 1, 2, 20), + weighted(ModItems.bottle_quantum, 0, 1, 2, 1), + weighted(ModItems.definitelyfood, 0, 5, 12, 20), + weighted(ModItems.egg_glyphid, 0, 1, 3, 30), + weighted(ModItems.syringe_metal_stimpak, 0, 1, 1, 5), + weighted(ModItems.iv_blood, 0, 1, 1, 10), + weighted(Items.experience_bottle, 0, 1, 3, 5), + }; + }}; + + //items found in glyphid bone piles + new ItemPool(POOL_PILE_BONES) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(Items.bone, 0, 1, 1, 10), + weighted(Items.rotten_flesh, 0, 1, 1, 5), + weighted(ModItems.biomass, 0, 1, 1, 2) + }; + }}; + + //bottlecap stashess + new ItemPool(POOL_PILE_CAPS) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(ModItems.cap_nuka, 0, 4, 4, 20), + weighted(ModItems.cap_quantum, 0, 4, 4, 3), + weighted(ModItems.cap_sparkle, 0, 4, 4, 1), + }; + }}; + } +} diff --git a/src/main/java/com/hbm/itempool/ItemPoolsRedRoom.java b/src/main/java/com/hbm/itempool/ItemPoolsRedRoom.java new file mode 100644 index 000000000..f2de185bb --- /dev/null +++ b/src/main/java/com/hbm/itempool/ItemPoolsRedRoom.java @@ -0,0 +1,43 @@ +package com.hbm.itempool; + +import static com.hbm.lib.HbmChestContents.weighted; + +import com.hbm.blocks.ModBlocks; +import com.hbm.items.ModItems; + +import net.minecraft.util.WeightedRandomChestContent; + +public class ItemPoolsRedRoom { + + public static final String POOL_RED_PEDESTAL = "POOL_RED_PEDESTAL"; + + public static void init() { + + //pedestal items + new ItemPool(POOL_RED_PEDESTAL) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(ModItems.ballistic_gauntlet, 0, 1, 1, 10), + weighted(ModItems.armor_polish, 0, 1, 1, 10), + weighted(ModItems.bandaid, 0, 1, 1, 10), + weighted(ModItems.serum, 0, 1, 1, 10), + weighted(ModItems.quartz_plutonium, 0, 1, 1, 10), + weighted(ModItems.morning_glory, 0, 1, 1, 10), + weighted(ModItems.spider_milk, 0, 1, 1, 10), + weighted(ModItems.ink, 0, 1, 1, 10), + weighted(ModItems.heart_container, 0, 1, 1, 10), + weighted(ModItems.black_diamond, 0, 1, 1, 10), + weighted(ModItems.scrumpy, 0, 1, 1, 10), + weighted(ModItems.wild_p, 0, 1, 1, 5), + weighted(ModItems.card_aos, 0, 1, 1, 5), + weighted(ModItems.card_qos, 0, 1, 1, 5), + weighted(ModItems.starmetal_sword, 0, 1, 1, 5), + weighted(ModItems.gem_alexandrite, 0, 1, 1, 5), + weighted(ModItems.crackpipe, 0, 1, 1, 5), + weighted(ModItems.flask_infusion, 0, 1, 1, 5), + weighted(ModBlocks.boxcar, 0, 1, 1, 5), + weighted(ModItems.book_of_, 0, 1, 1, 5), + weighted(ModItems.gun_revolver_pip, 0, 1, 1, 5) + }; + }}; + } +} diff --git a/src/main/java/com/hbm/itempool/ItemPoolsSatellite.java b/src/main/java/com/hbm/itempool/ItemPoolsSatellite.java new file mode 100644 index 000000000..92a464329 --- /dev/null +++ b/src/main/java/com/hbm/itempool/ItemPoolsSatellite.java @@ -0,0 +1,61 @@ +package com.hbm.itempool; + +import static com.hbm.lib.HbmChestContents.weighted; + +import com.hbm.blocks.ModBlocks; +import com.hbm.items.ModItems; + +import net.minecraft.init.Items; +import net.minecraft.util.WeightedRandomChestContent; + +public class ItemPoolsSatellite { + + public static final String POOL_SAT_MINER = "POOL_SAT_MINER"; + public static final String POOL_SAT_LUNAR = "POOL_SAT_LUNAR"; //woona + + public static void init() { + + new ItemPool(POOL_SAT_MINER) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(ModItems.powder_aluminium, 0, 3, 3, 10), + weighted(ModItems.powder_iron, 0, 3, 3, 10), + weighted(ModItems.powder_titanium, 0, 2, 2, 8), + weighted(ModItems.crystal_tungsten, 0, 2, 2, 7), + weighted(ModItems.powder_coal, 0, 4, 4, 15), + weighted(ModItems.powder_uranium, 0, 2, 2, 5), + weighted(ModItems.powder_plutonium, 0, 1, 1, 5), + weighted(ModItems.powder_thorium, 0, 2, 2, 7), + weighted(ModItems.powder_desh_mix, 0, 3, 3, 5), + weighted(ModItems.powder_diamond, 0, 2, 2, 7), + weighted(Items.redstone, 0, 5, 5, 15), + weighted(ModItems.powder_nitan_mix, 0, 2, 2, 5), + weighted(ModItems.powder_power, 0, 2, 2, 5), + weighted(ModItems.powder_copper, 0, 5, 5, 15), + weighted(ModItems.powder_lead, 0, 3, 3, 10), + weighted(ModItems.fluorite, 0, 4, 4, 15), + weighted(ModItems.powder_lapis, 0, 4, 4, 10), + weighted(ModItems.crystal_aluminium, 0, 1, 1, 5), + weighted(ModItems.crystal_gold, 0, 1, 1, 5), + weighted(ModItems.crystal_phosphorus, 0, 1, 1, 10), + weighted(ModBlocks.gravel_diamond, 0, 1, 1, 3), + weighted(ModItems.crystal_uranium, 0, 1, 1, 3), + weighted(ModItems.crystal_plutonium, 0, 1, 1, 3), + weighted(ModItems.crystal_trixite, 0, 1, 1, 1), + weighted(ModItems.crystal_starmetal, 0, 1, 1, 1), + weighted(ModItems.crystal_lithium, 0, 2 ,2, 4) + }; + }}; + + new ItemPool(POOL_SAT_LUNAR) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(ModBlocks.moon_turf, 0, 48, 48, 5), + weighted(ModBlocks.moon_turf, 0, 32, 32, 7), + weighted(ModBlocks.moon_turf, 0, 16, 16, 5), + weighted(ModItems.powder_lithium, 0, 3, 3, 5), + weighted(ModItems.powder_iron, 0, 3, 3, 5), + weighted(ModItems.crystal_iron, 0, 1, 1, 1), + weighted(ModItems.crystal_lithium, 0, 1, 1, 1) + }; + }}; + } +} diff --git a/src/main/java/com/hbm/itempool/ItemPoolsSingle.java b/src/main/java/com/hbm/itempool/ItemPoolsSingle.java new file mode 100644 index 000000000..347f6eeba --- /dev/null +++ b/src/main/java/com/hbm/itempool/ItemPoolsSingle.java @@ -0,0 +1,143 @@ +package com.hbm.itempool; + +import static com.hbm.lib.HbmChestContents.weighted; + +import com.hbm.blocks.ModBlocks; +import com.hbm.items.ModItems; +import com.hbm.items.ItemAmmoEnums.AmmoFatman; + +import net.minecraft.init.Items; +import net.minecraft.util.WeightedRandomChestContent; + +public class ItemPoolsSingle { + + public static final String POOL_POWDER = "POOL_POWDER"; + public static final String POOL_VAULT_RUSTY = "POOL_VAULT_RUSTY"; + public static final String POOL_VAULT_STANDARD = "POOL_VAULT_STANDARD"; + public static final String POOL_VAULT_REINFORCED = "POOL_VAULT_REINFORCED"; + public static final String POOL_VAULT_UNBREAKABLE = "POOL_VAULT_UNBREAKABLE"; + public static final String POOL_METEORITE_TREASURE = "POOL_METEORITE_TREASURE"; + + public static void init() { + + //powder boxes + new ItemPool(POOL_POWDER) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(ModItems.powder_neptunium, 0, 1, 32, 1), + weighted(ModItems.powder_iodine, 0, 1, 32, 1), + weighted(ModItems.powder_thorium, 0, 1, 32, 1), + weighted(ModItems.powder_astatine, 0, 1, 32, 1), + weighted(ModItems.powder_neodymium, 0, 1, 32, 1), + weighted(ModItems.powder_caesium, 0, 1, 32, 1), + weighted(ModItems.powder_strontium, 0, 1, 32, 1), + weighted(ModItems.powder_cobalt, 0, 1, 32, 1), + weighted(ModItems.powder_bromine, 0, 1, 32, 1), + weighted(ModItems.powder_niobium, 0, 1, 32, 1), + weighted(ModItems.powder_tennessine, 0, 1, 32, 1), + weighted(ModItems.powder_cerium, 0, 1, 32, 1) + }; + }}; + + new ItemPool(POOL_VAULT_RUSTY) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(Items.gold_ingot, 0, 3, 14, 1), + weighted(ModItems.gun_uac_pistol, 0, 1, 1, 2), + weighted(ModItems.pin, 0, 8, 8, 1), + weighted(ModItems.gun_calamity, 0, 1, 1, 1), + weighted(ModItems.bottle_quantum, 0, 1, 3, 1), + weighted(ModItems.ingot_advanced_alloy, 0, 4, 12, 1), + weighted(ModItems.ammo_50bmg, 0, 24, 48, 1), + weighted(ModItems.ammo_45, 0, 48, 64, 2), + weighted(ModItems.circuit_red_copper, 0, 6, 12, 1), + weighted(ModItems.gas_mask_m65, 0, 1, 1, 1), + weighted(ModItems.grenade_if_he, 0, 1, 1, 1), + weighted(ModItems.grenade_if_incendiary, 0, 1, 1, 1), + weighted(Items.diamond, 0, 1, 2, 1) + }; + }}; + + new ItemPool(POOL_VAULT_STANDARD) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(ModItems.ingot_desh, 0, 2, 6, 1), + weighted(ModItems.battery_advanced_cell_4, 0, 1, 1, 1), + weighted(ModItems.powder_desh_mix, 0, 1, 5, 1), + weighted(Items.diamond, 0, 3, 6, 1), + weighted(ModItems.ammo_nuke, 0, 1, 1, 1), + weighted(ModItems.ammo_container, 0, 1, 1, 1), + weighted(ModItems.grenade_nuclear, 0, 1, 1, 1), + weighted(ModItems.grenade_smart, 0, 1, 6, 1), + weighted(ModItems.powder_yellowcake, 0, 16, 24, 1), + weighted(ModItems.gun_uzi, 0, 1, 1, 1), + weighted(ModItems.gun_uzi_silencer, 0, 1, 1, 1), + weighted(ModItems.clip_uzi, 0, 1, 3, 1), + weighted(ModItems.circuit_red_copper, 0, 12, 16, 1), + weighted(ModItems.circuit_gold, 0, 2, 6, 1) + }; + }}; + + new ItemPool(POOL_VAULT_REINFORCED) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(ModItems.ingot_desh, 0, 6, 16, 1), + weighted(ModItems.battery_lithium, 0, 1, 1, 1), + weighted(ModItems.powder_power, 0, 1, 5, 1), + weighted(ModItems.sat_chip, 0, 1, 1, 1), + weighted(Items.diamond, 0, 5, 9, 1), + weighted(ModItems.warhead_nuclear, 0, 1, 1, 1), + weighted(ModItems.ammo_nuke, 0, 1, 3, 1), + weighted(ModItems.ammo_container, 0, 1, 4, 1), + weighted(ModItems.grenade_nuclear, 0, 1, 2, 1), + weighted(ModItems.grenade_mirv, 0, 1, 1, 1), + weighted(ModItems.powder_yellowcake, 0, 26, 42, 1), + weighted(ModItems.ingot_u235, 0, 3, 6, 1), + weighted(ModItems.gun_fatman, 0, 1, 1, 1), + weighted(ModItems.gun_revolver_pip, 0, 1, 1, 1), + weighted(ModItems.clip_revolver_pip, 0, 2, 4, 1), + weighted(ModItems.circuit_red_copper, 0, 18, 32, 1), + weighted(ModItems.circuit_gold, 0, 6, 12, 1) + }; + }}; + + new ItemPool(POOL_VAULT_UNBREAKABLE) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(ModItems.ammo_container, 0, 3, 6, 1), + weighted(ModItems.clip_fatman, 0, 2, 3, 1), + weighted(ModItems.ammo_nuke, AmmoFatman.MIRV.ordinal(), 2, 3, 1), + weighted(ModItems.gun_mirv, 0, 1, 1, 1), + weighted(ModItems.gun_fatman, 0, 1, 1, 1), + weighted(ModItems.gun_proto, 0, 1, 1, 1), + weighted(ModItems.gun_b92, 0, 1, 1, 1), + weighted(ModItems.ingot_combine_steel, 0, 16, 28, 1), + weighted(ModItems.man_core, 0, 1, 1, 1), + weighted(ModItems.boy_kit, 0, 1, 1, 1), + weighted(ModItems.nuke_starter_kit, 0, 1, 1, 1), + weighted(ModItems.weaponized_starblaster_cell, 0, 1, 1, 1), + weighted(ModItems.warhead_mirv, 0, 1, 1, 1), + weighted(ModItems.battery_schrabidium_cell, 0, 1, 1, 1), + weighted(ModItems.powder_nitan_mix, 0, 16, 32, 1) + }; + }}; + + new ItemPool(POOL_METEORITE_TREASURE) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(ModItems.cobalt_pickaxe, 0, 1, 1, 10), + weighted(ModItems.ingot_zirconium, 0, 1, 16, 10), + weighted(ModItems.ingot_niobium, 0, 1, 16, 10), + weighted(ModItems.ingot_cobalt, 0, 1, 16, 10), + weighted(ModItems.ingot_boron, 0, 1, 16, 10), + weighted(ModItems.ingot_starmetal, 0, 1, 1, 5), + weighted(ModItems.crystal_gold, 0, 1, 4, 10), + weighted(ModItems.circuit_copper, 0, 4, 8, 10), + weighted(ModItems.circuit_red_copper, 0, 2, 4, 10), + weighted(ModItems.definitelyfood, 0, 16, 32, 25), + weighted(ModBlocks.crate_can, 0, 1, 3, 10), + weighted(ModItems.pill_herbal, 0, 1, 2, 10), + weighted(ModItems.serum, 0, 1, 1, 5), + weighted(ModItems.heart_piece, 0, 1, 1, 5), + weighted(ModItems.scrumpy, 0, 1, 1, 5), + weighted(ModItems.launch_code_piece, 0, 1, 1, 5), + weighted(ModItems.egg_glyphid, 0, 1, 1, 5), + weighted(ModItems.gem_alexandrite, 0, 1, 1, 1), + }; + }}; + } +} diff --git a/src/main/java/com/hbm/items/ItemCustomLore.java b/src/main/java/com/hbm/items/ItemCustomLore.java index 8ca98815c..b8598c288 100644 --- a/src/main/java/com/hbm/items/ItemCustomLore.java +++ b/src/main/java/com/hbm/items/ItemCustomLore.java @@ -17,7 +17,8 @@ import net.minecraft.util.EnumChatFormatting; public class ItemCustomLore extends Item { - EnumRarity rarity; + protected EnumRarity rarity; + protected boolean hasEffect = false; @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { @@ -80,21 +81,19 @@ public class ItemCustomLore extends Item { @Override @SideOnly(Side.CLIENT) - public boolean hasEffect(ItemStack p_77636_1_) { - if(this == ModItems.rune_isa || this == ModItems.rune_dagaz || - this == ModItems.rune_hagalaz || this == ModItems.rune_jera || - this == ModItems.rune_thurisaz || this == ModItems.egg_balefire_shard || - this == ModItems.egg_balefire) { - return true; - } - - return false; + public boolean hasEffect(ItemStack stack) { + return hasEffect; } public ItemCustomLore setRarity(EnumRarity rarity) { this.rarity = rarity; return this; } + + public ItemCustomLore setEffect() { + this.hasEffect = true; + return this; + } @Override public Item setUnlocalizedName(String uloc) { diff --git a/src/main/java/com/hbm/items/ItemEnums.java b/src/main/java/com/hbm/items/ItemEnums.java index b4d48e009..cfc8072df 100644 --- a/src/main/java/com/hbm/items/ItemEnums.java +++ b/src/main/java/com/hbm/items/ItemEnums.java @@ -50,6 +50,10 @@ public class ItemEnums { MUSTARDWILLOW } + public static enum EnumChunkType { + RARE + } + public static enum EnumAchievementType { GOFISH, ACID, @@ -59,7 +63,13 @@ public class ItemEnums { DIGAMMAKNOW, DIGAMMAKAUAIMOHO, DIGAMMAUPONTOP, - DIGAMMAFOROURRIGHT + DIGAMMAFOROURRIGHT, + QUESTIONMARK + } + + public static enum EnumFuelAdditive { + ANTIKNOCK, + DEICER } public static enum EnumPages { diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 211768119..ce398a5a8 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -9,6 +9,7 @@ import com.hbm.handler.WeaponAbility; import com.hbm.handler.guncfg.*; import com.hbm.interfaces.ICustomWarhead.SaltedFuel.HalfLifeType; import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.material.MaterialShapes; import com.hbm.inventory.material.Mats; import com.hbm.items.ItemAmmoEnums.*; @@ -26,13 +27,15 @@ import com.hbm.items.machine.ItemRBMKRod.EnumBurnFunc; import com.hbm.items.machine.ItemRBMKRod.EnumDepleteFunc; import com.hbm.items.machine.ItemRTGPelletDepleted.DepletedRTGMaterial; import com.hbm.items.machine.ItemStamp.StampType; -import com.hbm.items.machine.ItemZirnoxRod.EnumZirnoxType; import com.hbm.items.special.*; import com.hbm.items.special.ItemPlasticScrap.ScrapType; import com.hbm.items.tool.*; import com.hbm.items.tool.ItemToolAbility.EnumToolType; import com.hbm.items.weapon.*; -import com.hbm.items.weapon.ItemMissile.*; +import com.hbm.items.weapon.ItemCustomMissilePart.*; +import com.hbm.items.weapon.ItemMissile.MissileFormFactor; +import com.hbm.items.weapon.ItemMissile.MissileFuel; +import com.hbm.items.weapon.ItemMissile.MissileTier; import com.hbm.items.weapon.gununified.ItemEnergyGunBase; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; @@ -141,6 +144,8 @@ public class ModItems { public static Item ingot_advanced_alloy; public static Item ingot_tcalloy; public static Item ingot_cdalloy; + public static Item ingot_bismuth_bronze; + public static Item ingot_arsenic_bronze; public static Item lithium; public static Item ingot_zirconium; public static Item ingot_hes; @@ -306,6 +311,7 @@ public class ModItems { public static Item ingot_osmiridium; public static Item nugget_osmiridium; public static Item plate_lead; + public static Item plate_dura_steel; public static Item nugget_schrabidium; public static Item plate_schrabidium; public static Item plate_copper; @@ -323,14 +329,12 @@ public class ModItems { public static Item plate_combine_steel; public static Item plate_mixed; public static Item plate_paa; - public static Item board_copper; - public static Item bolt_dura_steel; public static Item pipes_steel; public static Item drill_titanium; public static Item plate_dalekanium; public static Item plate_euphemium; - public static Item bolt_tungsten; - public static Item bolt_compound; + public static Item bolt; + public static Item bolt_spike; public static Item plate_polymer; public static Item plate_kevlar; public static Item plate_dineutronium; @@ -424,6 +428,7 @@ public class ModItems { public static Item gem_sodalite; public static Item gem_tantalium; public static Item gem_volcanic; + public static Item gem_rad; public static Item gem_alexandrite; public static Item powder_lead; @@ -522,6 +527,7 @@ public class ModItems { public static Item powder_impure_osmiridium; public static Item powder_borax; public static Item powder_chlorocalcite; + public static Item powder_molysite; public static Item powder_lanthanium; public static Item powder_actinium; @@ -534,7 +540,6 @@ public class ModItems { public static Item powder_spark_mix; public static Item powder_yellowcake; public static Item powder_magic; - public static Item powder_cloud; public static Item powder_balefire; public static Item powder_sawdust; public static Item powder_flux; @@ -549,6 +554,7 @@ public class ModItems { public static Item fragment_boron; public static Item fragment_meteorite; public static Item fragment_coltan; + public static Item chunk_ore; public static Item biomass; public static Item biomass_compressed; @@ -654,12 +660,8 @@ public class ModItems { public static Item circuit_targeting_tier6; public static Item wiring_red_copper; - - public static Item hull_small_steel; - public static Item hull_small_aluminium; - public static Item hull_big_steel; - public static Item hull_big_aluminium; - public static Item hull_big_titanium; + public static Item shell; + public static Item pipe; public static Item fins_flat; public static Item fins_small_steel; public static Item fins_big_steel; @@ -668,8 +670,6 @@ public class ModItems { public static Item sphere_steel; public static Item pedestal_steel; public static Item dysfunctional_reactor; - public static Item rotor_steel; - public static Item generator_steel; public static Item blade_titanium; public static Item turbine_titanium; public static Item generator_front; @@ -702,8 +702,6 @@ public class ModItems { public static Item warhead_mirvlet; public static Item warhead_mirv; public static Item warhead_volcano; - public static Item warhead_thermo_endo; - public static Item warhead_thermo_exo; public static Item fuel_tank_small; public static Item fuel_tank_medium; @@ -820,15 +818,6 @@ public class ModItems { public static Item tritium_deuterium_cake; - public static Item pellet_schrabidium; - public static Item pellet_hes; - public static Item pellet_mes; - public static Item pellet_les; - public static Item pellet_beryllium; - public static Item pellet_neptunium; - public static Item pellet_lead; - public static Item pellet_advanced; - public static Item piston_selenium; public static Item piston_set; public static Item drillbit; @@ -919,7 +908,7 @@ public class ModItems { public static Item inf_water; public static Item inf_water_mk2; - public static Item antiknock; + public static Item fuel_additive; public static Item canister_empty; public static Item canister_full; @@ -935,6 +924,15 @@ public class ModItems { public static Item fluid_barrel_full; public static Item fluid_barrel_empty; public static Item fluid_barrel_infinite; + public static Item pipette; + public static Item pipette_boron; + public static Item pipette_laboratory; + public static Item siphon; + + public static Item disperser_canister_empty; + public static Item disperser_canister; + public static Item glyphid_gland; + public static Item glyphid_gland_empty; public static Item syringe_empty; public static Item syringe_antidote; @@ -998,7 +996,6 @@ public class ModItems { public static Item bottle2_fritz; public static Item bottle2_korl_special; public static Item bottle2_fritz_special; - public static Item bottle2_sunset; public static Item flask_empty; public static Item flask_infusion; public static Item chocolate_milk; @@ -1011,8 +1008,6 @@ public class ModItems { public static Item cap_rad; public static Item cap_korl; public static Item cap_fritz; - public static Item cap_sunset; - public static Item cap_star; public static Item ring_pull; public static Item bdcl; //public static Item canned_beef; @@ -1187,6 +1182,10 @@ public class ModItems { public static Item watz_pellet; public static Item watz_pellet_depleted; + public static Item icf_pellet_empty; + public static Item icf_pellet; + public static Item icf_pellet_depleted; + public static Item scrap_plastic; public static Item scrap; public static Item scrap_oil; @@ -1289,6 +1288,10 @@ public class ModItems { public static Item bobmazon_tools; public static Item bobmazon_hidden; + public static Item launch_code_piece; + public static Item launch_code; + public static Item launch_key; + public static Item missile_assembly; public static Item missile_generic; public static Item missile_anti_ballistic; @@ -1308,15 +1311,16 @@ public class ModItems { public static Item missile_nuclear; public static Item missile_nuclear_cluster; public static Item missile_volcano; - public static Item missile_endo; - public static Item missile_exo; public static Item missile_doomsday; + public static Item missile_doomsday_rusted; public static Item missile_taint; public static Item missile_micro; public static Item missile_bhole; public static Item missile_schrabidium; public static Item missile_emp; public static Item missile_shuttle; + public static Item missile_stealth; + public static Item missile_test; public static Item mp_thruster_10_kerosene; public static Item mp_thruster_10_kerosene_tec; @@ -1488,7 +1492,8 @@ public class ModItems { public static Item sat_interface; public static Item sat_coord; public static Item sat_designator; - + public static Item sat_relay; + public static ItemEnumMulti ammo_misc; public static ItemEnumMulti ammo_12gauge; public static ItemEnumMulti ammo_20gauge; @@ -1550,7 +1555,6 @@ public class ModItems { public static Item gun_ar15; public static Item gun_calamity; public static Item gun_minigun; - public static Item gun_avenger; public static Item gun_lacunae; public static Item gun_folly; public static Item gun_fatman; @@ -1618,10 +1622,8 @@ public class ModItems { public static Item gun_defabricator; public static Item gun_defabricator_ammo; public static Item gun_vortex; - public static Item gun_dampfmaschine; public static Item gun_waluigi; public static Item gun_darter; - public static Item gun_detonator; public static Item gun_glass_cannon; public static Item gun_m2; public static Item gun_lunatic_marksman; @@ -1722,7 +1724,6 @@ public class ModItems { public static Item med_ptsd; public static Item med_schizophrenia; - public static Item canteen_13; public static Item canteen_vodka; public static Item canteen_fab; @@ -1812,8 +1813,6 @@ public class ModItems { public static Item battery_su_l; public static Item battery_potato; public static Item battery_potatos; - public static Item battery_steam; - public static Item battery_steam_large; public static Item hev_battery; public static Item fusion_core; public static Item fusion_core_infinite; @@ -1821,7 +1820,6 @@ public class ModItems { public static Item fuse; public static Item redcoil_capacitor; public static Item euphemium_capacitor; - public static Item titanium_filter; //by using these in crafting table recipes, i'm running the risk of making my recipes too greg-ian (which i don't like) //in the event that i forget about the meaning of the word "sparingly", please throw a brick at my head public static Item screwdriver; @@ -1842,6 +1840,8 @@ public class ModItems { /*public static Item factory_core_titanium; public static Item factory_core_advanced;*/ + public static Item upgrade_muffler; + public static Item upgrade_template; public static Item upgrade_speed_1; public static Item upgrade_speed_2; @@ -1892,7 +1892,6 @@ public class ModItems { public static Item gas_mask_olde; public static Item mask_rag; public static Item mask_piss; - public static Item oxy_mask; public static Item hat; public static Item beta; public static Item no9; @@ -2002,10 +2001,6 @@ public class ModItems { public static Item robes_legs; public static Item robes_boots; - public static Item australium_iii; - public static Item australium_iv; - public static Item australium_v; - public static Item jetpack_boost; public static Item jetpack_break; public static Item jetpack_fly; @@ -2071,10 +2066,15 @@ public class ModItems { public static Item drax_mk2; public static Item drax_mk3; public static Item bismuth_pickaxe; + public static Item bismuth_axe; public static Item volcanic_pickaxe; + public static Item volcanic_axe; public static Item chlorophyte_pickaxe; + public static Item chlorophyte_axe; public static Item mese_pickaxe; + public static Item mese_axe; public static Item dnt_sword; + public static Item dwarven_pickaxe; public static Item meteorite_sword; public static Item meteorite_sword_seared; @@ -2194,6 +2194,9 @@ public class ModItems { public static Item defuser_gold; public static Item ballistic_gauntlet; public static Item night_vision; + public static Item card_aos; + public static Item card_qos; + public static Item australium_iii; public static Item hazmat_helmet; public static Item hazmat_plate; @@ -2328,6 +2331,7 @@ public class ModItems { public static Item key; public static Item key_red; + public static Item key_red_cracked; public static Item key_kit; public static Item key_fake; public static Item pin; @@ -2347,6 +2351,7 @@ public class ModItems { public static Item door_metal; public static Item door_office; public static Item door_bunker; + public static Item door_red; public static Item sliding_blast_door_skin; @@ -2366,6 +2371,7 @@ public class ModItems { public static Item book_secret; public static Item book_of_; public static Item page_of_; + public static Item book_lemegeton; public static Item burnt_bark; public static Item smoke1; @@ -2553,6 +2559,8 @@ public class ModItems { ingot_advanced_alloy = new Item().setUnlocalizedName("ingot_advanced_alloy").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_advanced_alloy"); ingot_tcalloy = new Item().setUnlocalizedName("ingot_tcalloy").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_tcalloy"); ingot_cdalloy = new Item().setUnlocalizedName("ingot_cdalloy").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_cdalloy"); + ingot_bismuth_bronze = new Item().setUnlocalizedName("ingot_bismuth_bronze").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_bismuth_bronze"); + ingot_arsenic_bronze = new Item().setUnlocalizedName("ingot_arsenic_bronze").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_arsenic_bronze"); niter = new Item().setUnlocalizedName("niter").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":salpeter"); ingot_copper = new Item().setUnlocalizedName("ingot_copper").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_copper"); @@ -2566,6 +2574,7 @@ public class ModItems { plate_iron = new Item().setUnlocalizedName("plate_iron").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_iron"); ingot_lead = new Item().setUnlocalizedName("ingot_lead").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_lead"); plate_lead = new Item().setUnlocalizedName("plate_lead").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_lead"); + plate_dura_steel = new Item().setUnlocalizedName("plate_dura_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_dura_steel"); ingot_schraranium = new ItemSchraranium().setUnlocalizedName("ingot_schraranium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_schraranium"); ingot_schrabidium = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("ingot_schrabidium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_schrabidium"); ingot_schrabidate = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("ingot_schrabidate").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_schrabidate"); @@ -2585,14 +2594,12 @@ public class ModItems { ingot_combine_steel = new ItemCustomLore().setUnlocalizedName("ingot_combine_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_combine_steel"); plate_mixed = new Item().setUnlocalizedName("plate_mixed").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_mixed"); plate_paa = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("plate_paa").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_paa"); - board_copper = new Item().setUnlocalizedName("board_copper").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":board_copper"); - bolt_dura_steel = new Item().setUnlocalizedName("bolt_dura_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":bolt_dura_steel"); pipes_steel = new Item().setUnlocalizedName("pipes_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pipes_steel"); drill_titanium = new Item().setUnlocalizedName("drill_titanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":drill_titanium"); plate_dalekanium = new Item().setUnlocalizedName("plate_dalekanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_dalekanium"); plate_euphemium = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("plate_euphemium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_euphemium"); - bolt_tungsten = new Item().setUnlocalizedName("bolt_tungsten").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":bolt_tungsten"); - bolt_compound = new Item().setUnlocalizedName("bolt_compound").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":bolt_compound"); + bolt = new ItemAutogen(MaterialShapes.BOLT).oun("boltntm").setUnlocalizedName("bolt").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":bolt"); + bolt_spike = new ItemCustomLore().setUnlocalizedName("bolt_spike").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":bolt_spike"); plate_polymer = new Item().setUnlocalizedName("plate_polymer").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_polymer"); plate_kevlar = new Item().setUnlocalizedName("plate_kevlar").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_kevlar"); plate_dineutronium = new Item().setUnlocalizedName("plate_dineutronium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_dineutronium"); @@ -2847,6 +2854,7 @@ public class ModItems { gem_sodalite = new ItemCustomLore().setUnlocalizedName("gem_sodalite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":gem_sodalite"); gem_tantalium = new ItemCustomLore().setUnlocalizedName("gem_tantalium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":gem_tantalium"); gem_volcanic = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("gem_volcanic").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":gem_volcanic"); + gem_rad = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("gem_rad").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":gem_rad"); gem_alexandrite = new ItemAlexandrite().setUnlocalizedName("gem_alexandrite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":gem_alexandrite"); powder_lead = new Item().setUnlocalizedName("powder_lead").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_lead"); @@ -2940,7 +2948,6 @@ public class ModItems { powder_meteorite_tiny = new Item().setUnlocalizedName("powder_meteorite_tiny").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_meteorite_tiny"); powder_yellowcake = new Item().setUnlocalizedName("powder_yellowcake").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_yellowcake"); powder_magic = new Item().setUnlocalizedName("powder_magic").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_magic"); - powder_cloud = new Item().setUnlocalizedName("powder_cloud").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_cloud"); powder_balefire = new Item().setUnlocalizedName("powder_balefire").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_balefire"); powder_sawdust = new Item().setUnlocalizedName("powder_sawdust").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_sawdust"); powder_flux = new Item().setUnlocalizedName("powder_flux").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_flux"); @@ -2953,6 +2960,7 @@ public class ModItems { powder_impure_osmiridium = new Item().setUnlocalizedName("powder_impure_osmiridium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_impure_osmiridium"); powder_borax = new Item().setUnlocalizedName("powder_borax").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_borax"); powder_chlorocalcite = new Item().setUnlocalizedName("powder_chlorocalcite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_chlorocalcite"); + powder_molysite = new Item().setUnlocalizedName("powder_molysite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_molysite"); fragment_neodymium = new Item().setUnlocalizedName("fragment_neodymium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fragment_neodymium"); fragment_cobalt = new Item().setUnlocalizedName("fragment_cobalt").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fragment_cobalt"); @@ -2963,6 +2971,7 @@ public class ModItems { fragment_boron = new Item().setUnlocalizedName("fragment_boron").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fragment_boron"); fragment_meteorite = new Item().setUnlocalizedName("fragment_meteorite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fragment_meteorite"); fragment_coltan = new Item().setUnlocalizedName("fragment_coltan").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fragment_coltan"); + chunk_ore = new ItemEnumMulti(EnumChunkType.class, true, true).setUnlocalizedName("chunk_ore").setCreativeTab(MainRegistry.partsTab); biomass = new Item().setUnlocalizedName("biomass").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":biomass"); biomass_compressed = new Item().setUnlocalizedName("biomass_compressed").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":biomass_compressed"); @@ -2999,6 +3008,7 @@ public class ModItems { component_limiter = new Item().setUnlocalizedName("component_limiter").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":component_limiter"); component_emitter = new Item().setUnlocalizedName("component_emitter").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":component_emitter"); chlorine_pinwheel = new ItemInfiniteFluid(Fluids.CHLORINE, 1, 2).setUnlocalizedName("chlorine_pinwheel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":chlorine_pinwheel"); + FluidTank.noDualUnload.add(chlorine_pinwheel); ring_starmetal = new Item().setUnlocalizedName("ring_starmetal").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ring_starmetal"); flywheel_beryllium = new Item().setUnlocalizedName("flywheel_beryllium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":flywheel_beryllium"); deuterium_filter = new Item().setUnlocalizedName("deuterium_filter").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":deuterium_filter"); @@ -3007,11 +3017,8 @@ public class ModItems { gear_large = new ItemGear().setUnlocalizedName("gear_large").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":gear_large"); sawblade = new Item().setUnlocalizedName("sawblade").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":sawblade"); - hull_small_steel = new Item().setUnlocalizedName("hull_small_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":hull_small_steel"); - hull_small_aluminium = new ItemCustomLore().setUnlocalizedName("hull_small_aluminium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":hull_small_aluminium"); - hull_big_steel = new Item().setUnlocalizedName("hull_big_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":hull_big_steel"); - hull_big_aluminium = new Item().setUnlocalizedName("hull_big_aluminium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":hull_big_aluminium"); - hull_big_titanium = new Item().setUnlocalizedName("hull_big_titanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":hull_big_titanium"); + shell = new ItemAutogen(MaterialShapes.SHELL).oun("shellntm").setUnlocalizedName("shell").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":shell"); + pipe = new ItemAutogen(MaterialShapes.PIPE).oun("pipentm").setUnlocalizedName("pipe").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pipe"); fins_flat = new Item().setUnlocalizedName("fins_flat").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fins_flat"); fins_small_steel = new Item().setUnlocalizedName("fins_small_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fins_small_steel"); fins_big_steel = new Item().setUnlocalizedName("fins_big_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fins_big_steel"); @@ -3020,8 +3027,6 @@ public class ModItems { sphere_steel = new Item().setUnlocalizedName("sphere_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":sphere_steel"); pedestal_steel = new Item().setUnlocalizedName("pedestal_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pedestal_steel"); dysfunctional_reactor = new Item().setUnlocalizedName("dysfunctional_reactor").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":dysfunctional_reactor"); - rotor_steel = new Item().setUnlocalizedName("rotor_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":rotor_steel"); - generator_steel = new Item().setUnlocalizedName("generator_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":generator_steel"); blade_titanium = new Item().setUnlocalizedName("blade_titanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":blade_titanium"); turbine_titanium = new Item().setUnlocalizedName("turbine_titanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":turbine_titanium"); generator_front = new Item().setUnlocalizedName("generator_front").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":generator_front"); @@ -3048,8 +3053,6 @@ public class ModItems { warhead_mirvlet = new Item().setUnlocalizedName("warhead_mirvlet").setCreativeTab(null).setTextureName(RefStrings.MODID + ":warhead_mirvlet"); warhead_mirv = new Item().setUnlocalizedName("warhead_mirv").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_mirv"); warhead_volcano = new Item().setUnlocalizedName("warhead_volcano").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_volcano"); - warhead_thermo_endo = new Item().setUnlocalizedName("warhead_thermo_endo").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_thermo_endo"); - warhead_thermo_exo = new Item().setUnlocalizedName("warhead_thermo_exo").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":warhead_thermo_exo"); fuel_tank_small = new Item().setUnlocalizedName("fuel_tank_small").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fuel_tank_small"); fuel_tank_medium = new Item().setUnlocalizedName("fuel_tank_medium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":fuel_tank_medium"); @@ -3081,7 +3084,6 @@ public class ModItems { shimmer_axe_head = new Item().setUnlocalizedName("shimmer_axe_head").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":shimmer_axe_head"); shimmer_handle = new Item().setUnlocalizedName("shimmer_handle").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":shimmer_handle"); - //telepad = new Item().setUnlocalizedName("telepad").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":telepad"); entanglement_kit = new ItemCustomLore().setUnlocalizedName("entanglement_kit").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":entanglement_kit"); circuit_raw = new Item().setUnlocalizedName("circuit_raw").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":circuit_raw"); @@ -3125,7 +3127,6 @@ public class ModItems { assembly_schrabidium = new Item().setUnlocalizedName("assembly_schrabidium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_schrabidium"); assembly_nightmare = new Item().setUnlocalizedName("assembly_nightmare").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_nightmare"); assembly_desh = new Item().setUnlocalizedName("assembly_desh").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_desh"); - //assembly_pip = new Item().setUnlocalizedName("assembly_pip").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_pip"); assembly_nopip = new Item().setUnlocalizedName("assembly_nopip").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_nopip"); assembly_smg = new Item().setUnlocalizedName("assembly_smg").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_smg"); assembly_556 = new Item().setUnlocalizedName("assembly_556").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_556"); @@ -3160,19 +3161,16 @@ public class ModItems { tritium_deuterium_cake = new ItemCustomLore().setUnlocalizedName("tritium_deuterium_cake").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":tritium_deuterium_cake"); - piston_selenium = new Item().setUnlocalizedName("piston_selenium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":piston_selenium"); + piston_selenium = new Item().setUnlocalizedName("piston_selenium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":piston_selenium"); piston_set = new ItemPistons().setUnlocalizedName("piston_set").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1); drillbit = new ItemDrillbit().setUnlocalizedName("drillbit").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1); - - //crystal_energy = new ItemCustomLore().setUnlocalizedName("crystal_energy").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":crystal_energy"); - //pellet_coolant = new ItemCustomLore().setUnlocalizedName("pellet_coolant").setMaxDamage(41400).setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":pellet_coolant"); - rune_blank = new ItemCustomLore().setUnlocalizedName("rune_blank").setCreativeTab(MainRegistry.partsTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":rune_blank"); - rune_isa = new ItemCustomLore().setUnlocalizedName("rune_isa").setCreativeTab(MainRegistry.partsTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":rune_isa"); - rune_dagaz = new ItemCustomLore().setUnlocalizedName("rune_dagaz").setCreativeTab(MainRegistry.partsTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":rune_dagaz"); - rune_hagalaz = new ItemCustomLore().setUnlocalizedName("rune_hagalaz").setCreativeTab(MainRegistry.partsTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":rune_hagalaz"); - rune_jera = new ItemCustomLore().setUnlocalizedName("rune_jera").setCreativeTab(MainRegistry.partsTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":rune_jera"); - rune_thurisaz = new ItemCustomLore().setUnlocalizedName("rune_thurisaz").setCreativeTab(MainRegistry.partsTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":rune_thurisaz"); + rune_blank = new ItemCustomLore().setEffect().setUnlocalizedName("rune_blank").setCreativeTab(MainRegistry.partsTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":rune_blank"); + rune_isa = new ItemCustomLore().setEffect().setUnlocalizedName("rune_isa").setCreativeTab(MainRegistry.partsTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":rune_isa"); + rune_dagaz = new ItemCustomLore().setEffect().setUnlocalizedName("rune_dagaz").setCreativeTab(MainRegistry.partsTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":rune_dagaz"); + rune_hagalaz = new ItemCustomLore().setEffect().setUnlocalizedName("rune_hagalaz").setCreativeTab(MainRegistry.partsTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":rune_hagalaz"); + rune_jera = new ItemCustomLore().setEffect().setUnlocalizedName("rune_jera").setCreativeTab(MainRegistry.partsTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":rune_jera"); + rune_thurisaz = new ItemCustomLore().setEffect().setUnlocalizedName("rune_thurisaz").setCreativeTab(MainRegistry.partsTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":rune_thurisaz"); ams_catalyst_blank = new Item().setUnlocalizedName("ams_catalyst_blank").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_blank"); ams_catalyst_aluminium = new ItemCatalyst(0xCCCCCC, 1000000, 1.15F, 0.85F, 1.15F).setUnlocalizedName("ams_catalyst_aluminium").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ams_catalyst_aluminium"); @@ -3229,8 +3227,6 @@ public class ModItems { singularity_spark = new ItemDrop().setUnlocalizedName("singularity_spark").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.nuclear_waste).setTextureName(RefStrings.MODID + ":singularity_spark_alt"); pellet_antimatter = new ItemDrop().setUnlocalizedName("pellet_antimatter").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.cell_empty).setTextureName(RefStrings.MODID + ":pellet_antimatter"); crystal_xen = new ItemDrop().setUnlocalizedName("crystal_xen").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":crystal_xen"); - inf_water = new ItemInfiniteFluid(Fluids.WATER, 50).setUnlocalizedName("inf_water").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":inf_water"); - inf_water_mk2 = new ItemInfiniteFluid(Fluids.WATER, 500).setUnlocalizedName("inf_water_mk2").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":inf_water_mk2"); stamp_stone_flat = new ItemStamp(10, StampType.FLAT).setUnlocalizedName("stamp_stone_flat").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_stone_flat"); stamp_stone_plate = new ItemStamp(10, StampType.PLATE).setUnlocalizedName("stamp_stone_plate").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":stamp_stone_plate"); @@ -3295,7 +3291,7 @@ public class ModItems { thermo_element = new Item().setUnlocalizedName("thermo_element").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":thermo_element"); catalytic_converter = new Item().setUnlocalizedName("catalytic_converter").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":catalytic_converter"); - antiknock = new Item().setUnlocalizedName("antiknock").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":antiknock"); + fuel_additive = new ItemEnumMulti(ItemEnums.EnumFuelAdditive.class, true, true).setUnlocalizedName("fuel_additive").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fuel_additive"); canister_empty = new ItemCustomLore().setUnlocalizedName("canister_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":canister_empty"); canister_full = new ItemCanister().setUnlocalizedName("canister_full").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.canister_empty).setTextureName(RefStrings.MODID + ":canister_empty"); @@ -3437,6 +3433,9 @@ public class ModItems { defuser_gold = new ItemModDefuser().setUnlocalizedName("defuser_gold").setTextureName(RefStrings.MODID + ":defuser_gold"); ballistic_gauntlet = new ItemModTwoKick().setUnlocalizedName("ballistic_gauntlet").setTextureName(RefStrings.MODID + ":ballistic_gauntlet"); night_vision = new ItemModNightVision().setUnlocalizedName("night_vision").setTextureName(RefStrings.MODID + ":night_vision"); + card_aos = new ItemModCard().setUnlocalizedName("card_aos").setTextureName(RefStrings.MODID + ":card_aos"); + card_qos = new ItemModCard().setUnlocalizedName("card_qos").setTextureName(RefStrings.MODID + ":card_qos"); + australium_iii = new ItemModShield(25F).setUnlocalizedName("australium_iii").setTextureName(RefStrings.MODID + ":australium_iii"); cap_nuka = new Item().setUnlocalizedName("cap_nuka").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cap_nuka"); cap_quantum = new Item().setUnlocalizedName("cap_quantum").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cap_quantum"); @@ -3444,8 +3443,6 @@ public class ModItems { cap_rad = new Item().setUnlocalizedName("cap_rad").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cap_rad"); cap_korl = new Item().setUnlocalizedName("cap_korl").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cap_korl"); cap_fritz = new Item().setUnlocalizedName("cap_fritz").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cap_fritz"); - cap_sunset = new Item().setUnlocalizedName("cap_sunset").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cap_sunset"); - cap_star = new Item().setUnlocalizedName("cap_star").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cap_star"); ring_pull = new Item().setUnlocalizedName("ring_pull").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":ring_pull"); can_empty = new Item().setUnlocalizedName("can_empty").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":can_empty"); @@ -3469,7 +3466,6 @@ public class ModItems { bottle2_fritz = new ItemEnergy().makeBottle(bottle2_empty, cap_fritz).setUnlocalizedName("bottle2_fritz").setContainerItem(ModItems.bottle2_empty).setTextureName(RefStrings.MODID + ":bottle2_fritz"); bottle2_korl_special = new ItemEnergy().makeBottle(bottle2_empty, cap_korl).setUnlocalizedName("bottle2_korl_special").setContainerItem(ModItems.bottle2_empty).setTextureName(RefStrings.MODID + ":bottle2_korl"); bottle2_fritz_special = new ItemEnergy().makeBottle(bottle2_empty, cap_fritz).setUnlocalizedName("bottle2_fritz_special").setContainerItem(ModItems.bottle2_empty).setTextureName(RefStrings.MODID + ":bottle2_fritz"); - bottle2_sunset = new ItemEnergy().makeBottle(bottle2_empty, cap_sunset).setUnlocalizedName("bottle2_sunset").setContainerItem(ModItems.bottle2_empty).setTextureName(RefStrings.MODID + ":bottle2_sunset"); flask_infusion = new ItemFlask().setUnlocalizedName("flask_infusion").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":flask"); chocolate_milk = new ItemEnergy().setUnlocalizedName("chocolate_milk").setTextureName(RefStrings.MODID + ":chocolate_milk"); coffee = new ItemEnergy().setUnlocalizedName("coffee").setTextureName(RefStrings.MODID + ":coffee"); @@ -3843,6 +3839,10 @@ public class ModItems { watz_pellet = new ItemWatzPellet().setUnlocalizedName("watz_pellet").setTextureName(RefStrings.MODID + ":watz_pellet"); watz_pellet_depleted = new ItemWatzPellet().setUnlocalizedName("watz_pellet_depleted").setTextureName(RefStrings.MODID + ":watz_pellet"); + + icf_pellet_empty = new Item().setUnlocalizedName("icf_pellet_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":icf_pellet_empty"); + icf_pellet = new ItemICFPellet().setUnlocalizedName("icf_pellet").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":icf_pellet"); + icf_pellet_depleted = new Item().setUnlocalizedName("icf_pellet_depleted").setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":icf_pellet"); trinitite = new ItemNuclearWaste().setUnlocalizedName("trinitite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":trinitite_new"); nuclear_waste_long = new ItemWasteLong().setUnlocalizedName("nuclear_waste_long").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nuclear_waste_long"); @@ -3894,48 +3894,43 @@ public class ModItems { pellet_claws = new Item().setUnlocalizedName("pellet_claws").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellets_claws"); pellet_charged = new Item().setUnlocalizedName("pellet_charged").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellets_charged"); - pellet_schrabidium = new WatzFuel(50000, 140000, 0.975F, 200, 1.05F, 1.05F).setUnlocalizedName("pellet_schrabidium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pellet_schrabidium").setMaxStackSize(1); - pellet_hes = new WatzFuel(108000, 65000, 1F, 85, 1, 1.025F).setUnlocalizedName("pellet_hes").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pellet_hes").setMaxStackSize(1); - pellet_mes = new WatzFuel(216000, 23000, 1.025F, 50, 1, 1F).setUnlocalizedName("pellet_mes").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pellet_mes").setMaxStackSize(1); - pellet_les = new WatzFuel(432000, 7000, 1.05F, 15, 1, 0.975F).setUnlocalizedName("pellet_les").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pellet_les").setMaxStackSize(1); - pellet_beryllium = new WatzFuel(864000, 50, 1.05F, 0, 0.95F, 1.025F).setUnlocalizedName("pellet_beryllium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pellet_beryllium").setMaxStackSize(1); - pellet_neptunium = new WatzFuel(216000, 3000, 1.1F, 25, 1.1F, 1.005F).setUnlocalizedName("pellet_neptunium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pellet_neptunium").setMaxStackSize(1); - pellet_lead = new WatzFuel(1728000, 0, 0.95F, 0, 0.95F, 0.95F).setUnlocalizedName("pellet_lead").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pellet_lead").setMaxStackSize(1); - pellet_advanced = new WatzFuel(216000, 1000, 1.1F, 0, 0.995F, 0.99F).setUnlocalizedName("pellet_advanced").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pellet_advanced").setMaxStackSize(1); - designator = new ItemDesingator().setUnlocalizedName("designator").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":designator"); designator_range = new ItemDesingatorRange().setUnlocalizedName("designator_range").setFull3D().setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":designator_range_alt"); designator_manual = new ItemDesingatorManual().setUnlocalizedName("designator_manual").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":designator_manual"); designator_arty_range = new ItemDesignatorArtyRange().setUnlocalizedName("designator_arty_range").setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":designator_arty_range"); + launch_code_piece = new Item().setUnlocalizedName("launch_code_piece").setMaxStackSize(1).setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":launch_code_piece"); + launch_code = new Item().setUnlocalizedName("launch_code").setMaxStackSize(1).setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":launch_code"); + launch_key = new Item().setUnlocalizedName("launch_key").setMaxStackSize(1).setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":launch_key"); missile_assembly = new Item().setUnlocalizedName("missile_assembly").setMaxStackSize(1).setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":missile_assembly"); - missile_generic = new Item().setUnlocalizedName("missile_generic").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_generic"); - missile_anti_ballistic = new Item().setUnlocalizedName("missile_anti_ballistic").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_anti_ballistic"); - missile_incendiary = new Item().setUnlocalizedName("missile_incendiary").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_incendiary"); - missile_cluster = new Item().setUnlocalizedName("missile_cluster").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_cluster"); - missile_buster = new Item().setUnlocalizedName("missile_buster").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_buster"); - missile_decoy = new Item().setUnlocalizedName("missile_decoy").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_decoy"); - missile_strong = new Item().setUnlocalizedName("missile_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_strong"); - missile_incendiary_strong = new Item().setUnlocalizedName("missile_incendiary_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_incendiary_strong"); - missile_cluster_strong = new Item().setUnlocalizedName("missile_cluster_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_cluster_strong"); - missile_buster_strong = new Item().setUnlocalizedName("missile_buster_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_buster_strong"); - missile_emp_strong = new Item().setUnlocalizedName("missile_emp_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_emp_strong"); - missile_burst = new Item().setUnlocalizedName("missile_burst").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_burst"); - missile_inferno = new Item().setUnlocalizedName("missile_inferno").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_inferno"); - missile_rain = new Item().setUnlocalizedName("missile_rain").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_rain"); - missile_drill = new Item().setUnlocalizedName("missile_drill").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_drill"); - missile_nuclear = new Item().setUnlocalizedName("missile_nuclear").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_nuclear"); - missile_nuclear_cluster = new Item().setUnlocalizedName("missile_nuclear_cluster").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_nuclear_cluster"); - missile_volcano = new ItemCustomLore().setUnlocalizedName("missile_volcano").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_volcano"); - missile_endo = new Item().setUnlocalizedName("missile_endo").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_endo"); - missile_exo = new Item().setUnlocalizedName("missile_exo").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_exo"); - missile_doomsday = new Item().setUnlocalizedName("missile_doomsday").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_doomsday"); - missile_taint = new Item().setUnlocalizedName("missile_taint").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_taint"); - missile_micro = new Item().setUnlocalizedName("missile_micro").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_micro"); - missile_bhole = new Item().setUnlocalizedName("missile_bhole").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_bhole"); - missile_schrabidium = new Item().setUnlocalizedName("missile_schrabidium").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_schrabidium"); - missile_emp = new Item().setUnlocalizedName("missile_emp").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_emp"); - missile_shuttle = new ItemMissileShuttle().setUnlocalizedName("missile_shuttle").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_shuttle"); - missile_carrier = new Item().setUnlocalizedName("missile_carrier").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_carrier"); + missile_generic = new ItemMissile(MissileFormFactor.V2, MissileTier.TIER1).setUnlocalizedName("missile_generic").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_generic"); + missile_anti_ballistic = new ItemMissile(MissileFormFactor.ABM, MissileTier.TIER1).setUnlocalizedName("missile_anti_ballistic").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_anti_ballistic"); + missile_incendiary = new ItemMissile(MissileFormFactor.V2, MissileTier.TIER1).setUnlocalizedName("missile_incendiary").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_incendiary"); + missile_cluster = new ItemMissile(MissileFormFactor.V2, MissileTier.TIER1).setUnlocalizedName("missile_cluster").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_cluster"); + missile_buster = new ItemMissile(MissileFormFactor.V2, MissileTier.TIER1).setUnlocalizedName("missile_buster").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_buster"); + missile_decoy = new ItemMissile(MissileFormFactor.V2, MissileTier.TIER1).setUnlocalizedName("missile_decoy").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_decoy"); + missile_strong = new ItemMissile(MissileFormFactor.STRONG, MissileTier.TIER2).setUnlocalizedName("missile_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_strong"); + missile_incendiary_strong = new ItemMissile(MissileFormFactor.STRONG, MissileTier.TIER2).setUnlocalizedName("missile_incendiary_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_incendiary_strong"); + missile_cluster_strong = new ItemMissile(MissileFormFactor.STRONG, MissileTier.TIER2).setUnlocalizedName("missile_cluster_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_cluster_strong"); + missile_buster_strong = new ItemMissile(MissileFormFactor.STRONG, MissileTier.TIER2).setUnlocalizedName("missile_buster_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_buster_strong"); + missile_emp_strong = new ItemMissile(MissileFormFactor.STRONG, MissileTier.TIER2).setUnlocalizedName("missile_emp_strong").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_emp_strong"); + missile_burst = new ItemMissile(MissileFormFactor.HUGE, MissileTier.TIER3).setUnlocalizedName("missile_burst").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_burst"); + missile_inferno = new ItemMissile(MissileFormFactor.HUGE, MissileTier.TIER3).setUnlocalizedName("missile_inferno").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_inferno"); + missile_rain = new ItemMissile(MissileFormFactor.HUGE, MissileTier.TIER3).setUnlocalizedName("missile_rain").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_rain"); + missile_drill = new ItemMissile(MissileFormFactor.HUGE, MissileTier.TIER3).setUnlocalizedName("missile_drill").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_drill"); + missile_nuclear = new ItemMissile(MissileFormFactor.ATLAS, MissileTier.TIER4).setUnlocalizedName("missile_nuclear").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_nuclear"); + missile_nuclear_cluster = new ItemMissile(MissileFormFactor.ATLAS, MissileTier.TIER4).setUnlocalizedName("missile_nuclear_cluster").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_nuclear_cluster"); + missile_volcano = new ItemMissile(MissileFormFactor.ATLAS, MissileTier.TIER4).setUnlocalizedName("missile_volcano").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_volcano"); + missile_doomsday = new ItemMissile(MissileFormFactor.ATLAS, MissileTier.TIER4).setUnlocalizedName("missile_doomsday").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_doomsday"); + missile_doomsday_rusted = new ItemMissile(MissileFormFactor.ATLAS, MissileTier.TIER4).notLaunchable().setUnlocalizedName("missile_doomsday_rusted").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_doomsday"); + missile_taint = new ItemMissile(MissileFormFactor.MICRO, MissileTier.TIER0).setUnlocalizedName("missile_taint").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_taint"); + missile_micro = new ItemMissile(MissileFormFactor.MICRO, MissileTier.TIER0).setUnlocalizedName("missile_micro").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_micro"); + missile_bhole = new ItemMissile(MissileFormFactor.MICRO, MissileTier.TIER0).setUnlocalizedName("missile_bhole").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_bhole"); + missile_schrabidium = new ItemMissile(MissileFormFactor.MICRO, MissileTier.TIER0).setUnlocalizedName("missile_schrabidium").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_schrabidium"); + missile_emp = new ItemMissile(MissileFormFactor.MICRO, MissileTier.TIER0).setUnlocalizedName("missile_emp").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_emp"); + missile_shuttle = new ItemMissile(MissileFormFactor.OTHER, MissileTier.TIER3, MissileFuel.KEROSENE_PEROXIDE).setUnlocalizedName("missile_shuttle").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_shuttle"); + missile_stealth = new ItemMissile(MissileFormFactor.STRONG, MissileTier.TIER1).setUnlocalizedName("missile_stealth").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_stealth"); + missile_test = new ItemMissile(MissileFormFactor.MICRO, MissileTier.TIER0).setUnlocalizedName("missile_test").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":missile_micro"); + missile_carrier = new Item().setUnlocalizedName("missile_carrier").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":missile_carrier"); missile_soyuz = new ItemSoyuz().setUnlocalizedName("missile_soyuz").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":soyuz"); missile_soyuz_lander = new ItemCustomLore().setUnlocalizedName("missile_soyuz_lander").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":soyuz_lander"); missile_custom = new ItemCustomMissile().setUnlocalizedName("missile_custom").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":missile_custom"); @@ -3952,148 +3947,149 @@ public class ModItems { sat_interface = new ItemSatInterface().setUnlocalizedName("sat_interface").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_interface"); sat_coord = new ItemSatInterface().setUnlocalizedName("sat_coord").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_coord"); sat_designator = new ItemSatDesignator().setUnlocalizedName("sat_designator").setFull3D().setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_designator"); + sat_relay = new ItemSatRelay().setUnlocalizedName("sat_relay").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":sat_relay"); - mp_thruster_10_kerosene = new ItemMissile().makeThruster(FuelType.KEROSENE, 1F, 1.5F, PartSize.SIZE_10).setHealth(10F) .setUnlocalizedName("mp_thruster_10_kerosene"); - mp_thruster_10_kerosene_tec = new ItemMissile().makeThruster(FuelType.KEROSENE, 1F, 1.5F, PartSize.SIZE_10).setHealth(15F).setRarity(Rarity.COMMON).setUnlocalizedName("mp_thruster_10_kerosene_tec"); - mp_thruster_10_solid = new ItemMissile().makeThruster(FuelType.SOLID, 1F, 1.5F, PartSize.SIZE_10).setHealth(15F) .setUnlocalizedName("mp_thruster_10_solid"); - mp_thruster_10_xenon = new ItemMissile().makeThruster(FuelType.XENON, 1F, 1.5F, PartSize.SIZE_10).setHealth(5F) .setUnlocalizedName("mp_thruster_10_xenon"); - mp_thruster_15_kerosene = new ItemMissile().makeThruster(FuelType.KEROSENE, 1F, 7.5F, PartSize.SIZE_15).setHealth(15F) .setUnlocalizedName("mp_thruster_15_kerosene"); - mp_thruster_15_kerosene_tec = new ItemMissile().makeThruster(FuelType.KEROSENE, 1F, 7.5F, PartSize.SIZE_15).setHealth(20F).setRarity(Rarity.COMMON).setUnlocalizedName("mp_thruster_15_kerosene_tec"); - mp_thruster_15_kerosene_dual = new ItemMissile().makeThruster(FuelType.KEROSENE, 1F, 2.5F, PartSize.SIZE_15).setHealth(15F) .setUnlocalizedName("mp_thruster_15_kerosene_dual"); - mp_thruster_15_kerosene_triple = new ItemMissile().makeThruster(FuelType.KEROSENE, 1F, 5F, PartSize.SIZE_15).setHealth(15F) .setUnlocalizedName("mp_thruster_15_kerosene_triple"); - mp_thruster_15_solid = new ItemMissile().makeThruster(FuelType.SOLID, 1F, 5F, PartSize.SIZE_15).setHealth(20F) .setUnlocalizedName("mp_thruster_15_solid"); - mp_thruster_15_solid_hexdecuple = new ItemMissile().makeThruster(FuelType.SOLID, 1F, 5F, PartSize.SIZE_15).setHealth(25F).setRarity(Rarity.UNCOMMON).setUnlocalizedName("mp_thruster_15_solid_hexdecuple"); - mp_thruster_15_hydrogen = new ItemMissile().makeThruster(FuelType.HYDROGEN, 1F, 7.5F, PartSize.SIZE_15).setHealth(20F) .setUnlocalizedName("mp_thruster_15_hydrogen"); - mp_thruster_15_hydrogen_dual = new ItemMissile().makeThruster(FuelType.HYDROGEN, 1F, 2.5F, PartSize.SIZE_15).setHealth(15F) .setUnlocalizedName("mp_thruster_15_hydrogen_dual"); - mp_thruster_15_balefire_short = new ItemMissile().makeThruster(FuelType.BALEFIRE, 1F, 5F, PartSize.SIZE_15).setHealth(25F) .setUnlocalizedName("mp_thruster_15_balefire_short"); - mp_thruster_15_balefire = new ItemMissile().makeThruster(FuelType.BALEFIRE, 1F, 5F, PartSize.SIZE_15).setHealth(25F) .setUnlocalizedName("mp_thruster_15_balefire"); - mp_thruster_15_balefire_large = new ItemMissile().makeThruster(FuelType.BALEFIRE, 1F, 7.5F, PartSize.SIZE_15).setHealth(35F) .setUnlocalizedName("mp_thruster_15_balefire_large"); - mp_thruster_15_balefire_large_rad = new ItemMissile().makeThruster(FuelType.BALEFIRE, 1F, 7.5F, PartSize.SIZE_15).setAuthor("The Master").setHealth(35F).setRarity(Rarity.UNCOMMON).setUnlocalizedName("mp_thruster_15_balefire_large_rad"); - mp_thruster_20_kerosene = new ItemMissile().makeThruster(FuelType.KEROSENE, 1F, 100F, PartSize.SIZE_20).setHealth(30F) .setUnlocalizedName("mp_thruster_20_kerosene"); - mp_thruster_20_kerosene_dual = new ItemMissile().makeThruster(FuelType.KEROSENE, 1F, 100F, PartSize.SIZE_20).setHealth(30F) .setUnlocalizedName("mp_thruster_20_kerosene_dual"); - mp_thruster_20_kerosene_triple = new ItemMissile().makeThruster(FuelType.KEROSENE, 1F, 100F, PartSize.SIZE_20).setHealth(30F) .setUnlocalizedName("mp_thruster_20_kerosene_triple"); - mp_thruster_20_solid = new ItemMissile().makeThruster(FuelType.SOLID, 1F, 100F, PartSize.SIZE_20).setHealth(35F).setWittyText("It's basically just a big hole at the end of the fuel tank.").setUnlocalizedName("mp_thruster_20_solid"); - mp_thruster_20_solid_multi = new ItemMissile().makeThruster(FuelType.SOLID, 1F, 100F, PartSize.SIZE_20).setHealth(35F) .setUnlocalizedName("mp_thruster_20_solid_multi"); - mp_thruster_20_solid_multier = new ItemMissile().makeThruster(FuelType.SOLID, 1F, 100F, PartSize.SIZE_20).setHealth(35F).setWittyText("Did I miscount? Hope not.").setUnlocalizedName("mp_thruster_20_solid_multier"); + mp_thruster_10_kerosene = new ItemCustomMissilePart().makeThruster(FuelType.KEROSENE, 1F, 1.5F, PartSize.SIZE_10).setHealth(10F) .setUnlocalizedName("mp_thruster_10_kerosene"); + mp_thruster_10_kerosene_tec = new ItemCustomMissilePart().makeThruster(FuelType.KEROSENE, 1F, 1.5F, PartSize.SIZE_10).setHealth(15F).setRarity(Rarity.COMMON).setUnlocalizedName("mp_thruster_10_kerosene_tec"); + mp_thruster_10_solid = new ItemCustomMissilePart().makeThruster(FuelType.SOLID, 1F, 1.5F, PartSize.SIZE_10).setHealth(15F) .setUnlocalizedName("mp_thruster_10_solid"); + mp_thruster_10_xenon = new ItemCustomMissilePart().makeThruster(FuelType.XENON, 1F, 1.5F, PartSize.SIZE_10).setHealth(5F) .setUnlocalizedName("mp_thruster_10_xenon"); + mp_thruster_15_kerosene = new ItemCustomMissilePart().makeThruster(FuelType.KEROSENE, 1F, 7.5F, PartSize.SIZE_15).setHealth(15F) .setUnlocalizedName("mp_thruster_15_kerosene"); + mp_thruster_15_kerosene_tec = new ItemCustomMissilePart().makeThruster(FuelType.KEROSENE, 1F, 7.5F, PartSize.SIZE_15).setHealth(20F).setRarity(Rarity.COMMON).setUnlocalizedName("mp_thruster_15_kerosene_tec"); + mp_thruster_15_kerosene_dual = new ItemCustomMissilePart().makeThruster(FuelType.KEROSENE, 1F, 2.5F, PartSize.SIZE_15).setHealth(15F) .setUnlocalizedName("mp_thruster_15_kerosene_dual"); + mp_thruster_15_kerosene_triple = new ItemCustomMissilePart().makeThruster(FuelType.KEROSENE, 1F, 5F, PartSize.SIZE_15).setHealth(15F) .setUnlocalizedName("mp_thruster_15_kerosene_triple"); + mp_thruster_15_solid = new ItemCustomMissilePart().makeThruster(FuelType.SOLID, 1F, 5F, PartSize.SIZE_15).setHealth(20F) .setUnlocalizedName("mp_thruster_15_solid"); + mp_thruster_15_solid_hexdecuple = new ItemCustomMissilePart().makeThruster(FuelType.SOLID, 1F, 5F, PartSize.SIZE_15).setHealth(25F).setRarity(Rarity.UNCOMMON).setUnlocalizedName("mp_thruster_15_solid_hexdecuple"); + mp_thruster_15_hydrogen = new ItemCustomMissilePart().makeThruster(FuelType.HYDROGEN, 1F, 7.5F, PartSize.SIZE_15).setHealth(20F) .setUnlocalizedName("mp_thruster_15_hydrogen"); + mp_thruster_15_hydrogen_dual = new ItemCustomMissilePart().makeThruster(FuelType.HYDROGEN, 1F, 2.5F, PartSize.SIZE_15).setHealth(15F) .setUnlocalizedName("mp_thruster_15_hydrogen_dual"); + mp_thruster_15_balefire_short = new ItemCustomMissilePart().makeThruster(FuelType.BALEFIRE, 1F, 5F, PartSize.SIZE_15).setHealth(25F) .setUnlocalizedName("mp_thruster_15_balefire_short"); + mp_thruster_15_balefire = new ItemCustomMissilePart().makeThruster(FuelType.BALEFIRE, 1F, 5F, PartSize.SIZE_15).setHealth(25F) .setUnlocalizedName("mp_thruster_15_balefire"); + mp_thruster_15_balefire_large = new ItemCustomMissilePart().makeThruster(FuelType.BALEFIRE, 1F, 7.5F, PartSize.SIZE_15).setHealth(35F) .setUnlocalizedName("mp_thruster_15_balefire_large"); + mp_thruster_15_balefire_large_rad = new ItemCustomMissilePart().makeThruster(FuelType.BALEFIRE, 1F, 7.5F, PartSize.SIZE_15).setAuthor("The Master").setHealth(35F).setRarity(Rarity.UNCOMMON).setUnlocalizedName("mp_thruster_15_balefire_large_rad"); + mp_thruster_20_kerosene = new ItemCustomMissilePart().makeThruster(FuelType.KEROSENE, 1F, 100F, PartSize.SIZE_20).setHealth(30F) .setUnlocalizedName("mp_thruster_20_kerosene"); + mp_thruster_20_kerosene_dual = new ItemCustomMissilePart().makeThruster(FuelType.KEROSENE, 1F, 100F, PartSize.SIZE_20).setHealth(30F) .setUnlocalizedName("mp_thruster_20_kerosene_dual"); + mp_thruster_20_kerosene_triple = new ItemCustomMissilePart().makeThruster(FuelType.KEROSENE, 1F, 100F, PartSize.SIZE_20).setHealth(30F) .setUnlocalizedName("mp_thruster_20_kerosene_triple"); + mp_thruster_20_solid = new ItemCustomMissilePart().makeThruster(FuelType.SOLID, 1F, 100F, PartSize.SIZE_20).setHealth(35F).setWittyText("It's basically just a big hole at the end of the fuel tank.").setUnlocalizedName("mp_thruster_20_solid"); + mp_thruster_20_solid_multi = new ItemCustomMissilePart().makeThruster(FuelType.SOLID, 1F, 100F, PartSize.SIZE_20).setHealth(35F) .setUnlocalizedName("mp_thruster_20_solid_multi"); + mp_thruster_20_solid_multier = new ItemCustomMissilePart().makeThruster(FuelType.SOLID, 1F, 100F, PartSize.SIZE_20).setHealth(35F).setWittyText("Did I miscount? Hope not.").setUnlocalizedName("mp_thruster_20_solid_multier"); - mp_stability_10_flat = new ItemMissile().makeStability(0.5F, PartSize.SIZE_10).setHealth(10F) .setUnlocalizedName("mp_stability_10_flat"); - mp_stability_10_cruise = new ItemMissile().makeStability(0.25F, PartSize.SIZE_10).setHealth(5F) .setUnlocalizedName("mp_stability_10_cruise"); - mp_stability_10_space = new ItemMissile().makeStability(0.35F, PartSize.SIZE_10).setHealth(5F).setRarity(Rarity.COMMON).setWittyText("Standing there alone, the ship is waiting / All systems are go, are you sure?") .setUnlocalizedName("mp_stability_10_space"); - mp_stability_15_flat = new ItemMissile().makeStability(0.5F, PartSize.SIZE_15).setHealth(10F) .setUnlocalizedName("mp_stability_15_flat"); - mp_stability_15_thin = new ItemMissile().makeStability(0.35F, PartSize.SIZE_15).setHealth(5F) .setUnlocalizedName("mp_stability_15_thin"); - mp_stability_15_soyuz = new ItemMissile().makeStability(0.25F, PartSize.SIZE_15).setHealth(15F).setRarity(Rarity.COMMON).setWittyText("Союз!").setUnlocalizedName("mp_stability_15_soyuz"); - mp_stability_20_flat = new ItemMissile().makeStability(0.5F, PartSize.SIZE_20) .setUnlocalizedName("mp_s_20"); + mp_stability_10_flat = new ItemCustomMissilePart().makeStability(0.5F, PartSize.SIZE_10).setHealth(10F) .setUnlocalizedName("mp_stability_10_flat"); + mp_stability_10_cruise = new ItemCustomMissilePart().makeStability(0.25F, PartSize.SIZE_10).setHealth(5F) .setUnlocalizedName("mp_stability_10_cruise"); + mp_stability_10_space = new ItemCustomMissilePart().makeStability(0.35F, PartSize.SIZE_10).setHealth(5F).setRarity(Rarity.COMMON).setWittyText("Standing there alone, the ship is waiting / All systems are go, are you sure?") .setUnlocalizedName("mp_stability_10_space"); + mp_stability_15_flat = new ItemCustomMissilePart().makeStability(0.5F, PartSize.SIZE_15).setHealth(10F) .setUnlocalizedName("mp_stability_15_flat"); + mp_stability_15_thin = new ItemCustomMissilePart().makeStability(0.35F, PartSize.SIZE_15).setHealth(5F) .setUnlocalizedName("mp_stability_15_thin"); + mp_stability_15_soyuz = new ItemCustomMissilePart().makeStability(0.25F, PartSize.SIZE_15).setHealth(15F).setRarity(Rarity.COMMON).setWittyText("Союз!").setUnlocalizedName("mp_stability_15_soyuz"); + mp_stability_20_flat = new ItemCustomMissilePart().makeStability(0.5F, PartSize.SIZE_20) .setUnlocalizedName("mp_s_20"); - mp_fuselage_10_kerosene = new ItemMissile().makeFuselage(FuelType.KEROSENE, 2500F, PartSize.SIZE_10, PartSize.SIZE_10).setAuthor("Hoboy").setHealth(20F).setUnlocalizedName("mp_fuselage_10_kerosene"); - mp_fuselage_10_kerosene_camo = ((ItemMissile) mp_fuselage_10_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Camo").setUnlocalizedName("mp_fuselage_10_kerosene_camo"); - mp_fuselage_10_kerosene_desert = ((ItemMissile) mp_fuselage_10_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Desert Camo").setUnlocalizedName("mp_fuselage_10_kerosene_desert"); - mp_fuselage_10_kerosene_sky = ((ItemMissile) mp_fuselage_10_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Sky Camo").setUnlocalizedName("mp_fuselage_10_kerosene_sky"); - mp_fuselage_10_kerosene_flames = ((ItemMissile) mp_fuselage_10_kerosene).copy().setRarity(Rarity.UNCOMMON).setTitle("Sick Flames").setUnlocalizedName("mp_fuselage_10_kerosene_flames"); - mp_fuselage_10_kerosene_insulation = ((ItemMissile) mp_fuselage_10_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(25F).setUnlocalizedName("mp_fuselage_10_kerosene_insulation"); - mp_fuselage_10_kerosene_sleek = ((ItemMissile) mp_fuselage_10_kerosene).copy().setRarity(Rarity.RARE).setTitle("IF-R&D").setHealth(35F).setUnlocalizedName("mp_fuselage_10_kerosene_sleek"); - mp_fuselage_10_kerosene_metal = ((ItemMissile) mp_fuselage_10_kerosene).copy().setRarity(Rarity.UNCOMMON).setTitle("Bolted Metal").setHealth(30F).setAuthor("Hoboy").setUnlocalizedName("mp_fuselage_10_kerosene_metal"); - mp_fuselage_10_kerosene_taint = ((ItemMissile) mp_fuselage_10_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Sam").setTitle("Tainted").setUnlocalizedName("mp_fuselage_10_kerosene_taint"); + mp_fuselage_10_kerosene = new ItemCustomMissilePart().makeFuselage(FuelType.KEROSENE, 2500F, PartSize.SIZE_10, PartSize.SIZE_10).setAuthor("Hoboy").setHealth(20F).setUnlocalizedName("mp_fuselage_10_kerosene"); + mp_fuselage_10_kerosene_camo = ((ItemCustomMissilePart) mp_fuselage_10_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Camo").setUnlocalizedName("mp_fuselage_10_kerosene_camo"); + mp_fuselage_10_kerosene_desert = ((ItemCustomMissilePart) mp_fuselage_10_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Desert Camo").setUnlocalizedName("mp_fuselage_10_kerosene_desert"); + mp_fuselage_10_kerosene_sky = ((ItemCustomMissilePart) mp_fuselage_10_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Sky Camo").setUnlocalizedName("mp_fuselage_10_kerosene_sky"); + mp_fuselage_10_kerosene_flames = ((ItemCustomMissilePart) mp_fuselage_10_kerosene).copy().setRarity(Rarity.UNCOMMON).setTitle("Sick Flames").setUnlocalizedName("mp_fuselage_10_kerosene_flames"); + mp_fuselage_10_kerosene_insulation = ((ItemCustomMissilePart) mp_fuselage_10_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(25F).setUnlocalizedName("mp_fuselage_10_kerosene_insulation"); + mp_fuselage_10_kerosene_sleek = ((ItemCustomMissilePart) mp_fuselage_10_kerosene).copy().setRarity(Rarity.RARE).setTitle("IF-R&D").setHealth(35F).setUnlocalizedName("mp_fuselage_10_kerosene_sleek"); + mp_fuselage_10_kerosene_metal = ((ItemCustomMissilePart) mp_fuselage_10_kerosene).copy().setRarity(Rarity.UNCOMMON).setTitle("Bolted Metal").setHealth(30F).setAuthor("Hoboy").setUnlocalizedName("mp_fuselage_10_kerosene_metal"); + mp_fuselage_10_kerosene_taint = ((ItemCustomMissilePart) mp_fuselage_10_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Sam").setTitle("Tainted").setUnlocalizedName("mp_fuselage_10_kerosene_taint"); - mp_fuselage_10_solid = new ItemMissile().makeFuselage(FuelType.SOLID, 2500F, PartSize.SIZE_10, PartSize.SIZE_10).setHealth(25F) .setUnlocalizedName("mp_fuselage_10_solid"); - mp_fuselage_10_solid_flames = ((ItemMissile) mp_fuselage_10_solid).copy().setRarity(Rarity.UNCOMMON).setTitle("Sick Flames").setUnlocalizedName("mp_fuselage_10_solid_flames"); - mp_fuselage_10_solid_insulation = ((ItemMissile) mp_fuselage_10_solid).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(30F).setUnlocalizedName("mp_fuselage_10_solid_insulation"); - mp_fuselage_10_solid_sleek = ((ItemMissile) mp_fuselage_10_solid).copy().setRarity(Rarity.RARE).setTitle("IF-R&D").setHealth(35F).setUnlocalizedName("mp_fuselage_10_solid_sleek"); - mp_fuselage_10_solid_soviet_glory = ((ItemMissile) mp_fuselage_10_solid).copy().setRarity(Rarity.EPIC).setAuthor("Hoboy").setHealth(35F).setTitle("Soviet Glory").setUnlocalizedName("mp_fuselage_10_solid_soviet_glory"); - mp_fuselage_10_solid_cathedral = ((ItemMissile) mp_fuselage_10_solid).copy().setRarity(Rarity.RARE).setAuthor("Satan").setTitle("Unholy Cathedral").setWittyText("Quakeesque!").setUnlocalizedName("mp_fuselage_10_solid_cathedral"); - mp_fuselage_10_solid_moonlit = ((ItemMissile) mp_fuselage_10_solid).copy().setRarity(Rarity.UNCOMMON).setAuthor("The Master & Hoboy").setTitle("Moonlit").setUnlocalizedName("mp_fuselage_10_solid_moonlit"); - mp_fuselage_10_solid_battery = ((ItemMissile) mp_fuselage_10_solid).copy().setRarity(Rarity.UNCOMMON).setAuthor("wolfmonster222").setHealth(30F).setTitle("Ecstatic").setWittyText("I got caught eating batteries again :(").setUnlocalizedName("mp_fuselage_10_solid_battery"); - mp_fuselage_10_solid_duracell = ((ItemMissile) mp_fuselage_10_solid).copy().setRarity(Rarity.RARE).setAuthor("Hoboy").setTitle("Duracell").setHealth(30F).setWittyText("The crunchiest battery on the market!").setUnlocalizedName("mp_fuselage_10_solid_duracell"); + mp_fuselage_10_solid = new ItemCustomMissilePart().makeFuselage(FuelType.SOLID, 2500F, PartSize.SIZE_10, PartSize.SIZE_10).setHealth(25F) .setUnlocalizedName("mp_fuselage_10_solid"); + mp_fuselage_10_solid_flames = ((ItemCustomMissilePart) mp_fuselage_10_solid).copy().setRarity(Rarity.UNCOMMON).setTitle("Sick Flames").setUnlocalizedName("mp_fuselage_10_solid_flames"); + mp_fuselage_10_solid_insulation = ((ItemCustomMissilePart) mp_fuselage_10_solid).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(30F).setUnlocalizedName("mp_fuselage_10_solid_insulation"); + mp_fuselage_10_solid_sleek = ((ItemCustomMissilePart) mp_fuselage_10_solid).copy().setRarity(Rarity.RARE).setTitle("IF-R&D").setHealth(35F).setUnlocalizedName("mp_fuselage_10_solid_sleek"); + mp_fuselage_10_solid_soviet_glory = ((ItemCustomMissilePart) mp_fuselage_10_solid).copy().setRarity(Rarity.EPIC).setAuthor("Hoboy").setHealth(35F).setTitle("Soviet Glory").setUnlocalizedName("mp_fuselage_10_solid_soviet_glory"); + mp_fuselage_10_solid_cathedral = ((ItemCustomMissilePart) mp_fuselage_10_solid).copy().setRarity(Rarity.RARE).setAuthor("Satan").setTitle("Unholy Cathedral").setWittyText("Quakeesque!").setUnlocalizedName("mp_fuselage_10_solid_cathedral"); + mp_fuselage_10_solid_moonlit = ((ItemCustomMissilePart) mp_fuselage_10_solid).copy().setRarity(Rarity.UNCOMMON).setAuthor("The Master & Hoboy").setTitle("Moonlit").setUnlocalizedName("mp_fuselage_10_solid_moonlit"); + mp_fuselage_10_solid_battery = ((ItemCustomMissilePart) mp_fuselage_10_solid).copy().setRarity(Rarity.UNCOMMON).setAuthor("wolfmonster222").setHealth(30F).setTitle("Ecstatic").setWittyText("I got caught eating batteries again :(").setUnlocalizedName("mp_fuselage_10_solid_battery"); + mp_fuselage_10_solid_duracell = ((ItemCustomMissilePart) mp_fuselage_10_solid).copy().setRarity(Rarity.RARE).setAuthor("Hoboy").setTitle("Duracell").setHealth(30F).setWittyText("The crunchiest battery on the market!").setUnlocalizedName("mp_fuselage_10_solid_duracell"); - mp_fuselage_10_xenon = new ItemMissile().makeFuselage(FuelType.XENON, 5000F, PartSize.SIZE_10, PartSize.SIZE_10).setHealth(20F) .setUnlocalizedName("mp_fuselage_10_xenon"); - mp_fuselage_10_xenon_bhole = ((ItemMissile) mp_fuselage_10_xenon).copy().setRarity(Rarity.RARE).setAuthor("Sten89").setTitle("Morceus-1457").setUnlocalizedName("mp_fuselage_10_xenon_bhole"); + mp_fuselage_10_xenon = new ItemCustomMissilePart().makeFuselage(FuelType.XENON, 5000F, PartSize.SIZE_10, PartSize.SIZE_10).setHealth(20F) .setUnlocalizedName("mp_fuselage_10_xenon"); + mp_fuselage_10_xenon_bhole = ((ItemCustomMissilePart) mp_fuselage_10_xenon).copy().setRarity(Rarity.RARE).setAuthor("Sten89").setTitle("Morceus-1457").setUnlocalizedName("mp_fuselage_10_xenon_bhole"); - mp_fuselage_10_long_kerosene = new ItemMissile().makeFuselage(FuelType.KEROSENE, 5000F, PartSize.SIZE_10, PartSize.SIZE_10).setAuthor("Hoboy").setHealth(30F).setUnlocalizedName("mp_fuselage_10_long_kerosene"); - mp_fuselage_10_long_kerosene_camo = ((ItemMissile) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Camo").setUnlocalizedName("mp_fuselage_10_long_kerosene_camo"); - mp_fuselage_10_long_kerosene_desert = ((ItemMissile) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Desert Camo").setUnlocalizedName("mp_fuselage_10_long_kerosene_desert"); - mp_fuselage_10_long_kerosene_sky = ((ItemMissile) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Sky Camo").setUnlocalizedName("mp_fuselage_10_long_kerosene_sky"); - mp_fuselage_10_long_kerosene_flames = ((ItemMissile) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.UNCOMMON).setTitle("Sick Flames").setUnlocalizedName("mp_fuselage_10_long_kerosene_flames"); - mp_fuselage_10_long_kerosene_insulation = ((ItemMissile) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(35F).setUnlocalizedName("mp_fuselage_10_long_kerosene_insulation"); - mp_fuselage_10_long_kerosene_sleek = ((ItemMissile) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.RARE).setTitle("IF-R&D").setHealth(40F).setUnlocalizedName("mp_fuselage_10_long_kerosene_sleek"); - mp_fuselage_10_long_kerosene_metal = ((ItemMissile) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Hoboy").setHealth(35F).setUnlocalizedName("mp_fuselage_10_long_kerosene_metal"); - mp_fuselage_10_long_kerosene_dash = ((ItemMissile) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.EPIC).setAuthor("Sam").setTitle("Dash").setWittyText("I wash my hands of it.").setCreativeTab(null).setUnlocalizedName("mp_fuselage_10_long_kerosene_dash"); - mp_fuselage_10_long_kerosene_taint = ((ItemMissile) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Sam").setTitle("Tainted").setUnlocalizedName("mp_fuselage_10_long_kerosene_taint"); - mp_fuselage_10_long_kerosene_vap = ((ItemMissile) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.EPIC).setAuthor("VT-6/24").setTitle("Minty Contrail").setWittyText("Upper rivet!").setUnlocalizedName("mp_fuselage_10_long_kerosene_vap"); + mp_fuselage_10_long_kerosene = new ItemCustomMissilePart().makeFuselage(FuelType.KEROSENE, 5000F, PartSize.SIZE_10, PartSize.SIZE_10).setAuthor("Hoboy").setHealth(30F).setUnlocalizedName("mp_fuselage_10_long_kerosene"); + mp_fuselage_10_long_kerosene_camo = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Camo").setUnlocalizedName("mp_fuselage_10_long_kerosene_camo"); + mp_fuselage_10_long_kerosene_desert = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Desert Camo").setUnlocalizedName("mp_fuselage_10_long_kerosene_desert"); + mp_fuselage_10_long_kerosene_sky = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Sky Camo").setUnlocalizedName("mp_fuselage_10_long_kerosene_sky"); + mp_fuselage_10_long_kerosene_flames = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.UNCOMMON).setTitle("Sick Flames").setUnlocalizedName("mp_fuselage_10_long_kerosene_flames"); + mp_fuselage_10_long_kerosene_insulation = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(35F).setUnlocalizedName("mp_fuselage_10_long_kerosene_insulation"); + mp_fuselage_10_long_kerosene_sleek = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.RARE).setTitle("IF-R&D").setHealth(40F).setUnlocalizedName("mp_fuselage_10_long_kerosene_sleek"); + mp_fuselage_10_long_kerosene_metal = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Hoboy").setHealth(35F).setUnlocalizedName("mp_fuselage_10_long_kerosene_metal"); + mp_fuselage_10_long_kerosene_dash = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.EPIC).setAuthor("Sam").setTitle("Dash").setWittyText("I wash my hands of it.").setCreativeTab(null).setUnlocalizedName("mp_fuselage_10_long_kerosene_dash"); + mp_fuselage_10_long_kerosene_taint = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Sam").setTitle("Tainted").setUnlocalizedName("mp_fuselage_10_long_kerosene_taint"); + mp_fuselage_10_long_kerosene_vap = ((ItemCustomMissilePart) mp_fuselage_10_long_kerosene).copy().setRarity(Rarity.EPIC).setAuthor("VT-6/24").setTitle("Minty Contrail").setWittyText("Upper rivet!").setUnlocalizedName("mp_fuselage_10_long_kerosene_vap"); - mp_fuselage_10_long_solid = new ItemMissile().makeFuselage(FuelType.SOLID, 5000F, PartSize.SIZE_10, PartSize.SIZE_10).setHealth(35F) .setUnlocalizedName("mp_fuselage_10_long_solid"); - mp_fuselage_10_long_solid_flames = ((ItemMissile) mp_fuselage_10_long_solid).copy().setRarity(Rarity.UNCOMMON).setTitle("Sick Flames").setUnlocalizedName("mp_fuselage_10_long_solid_flames"); - mp_fuselage_10_long_solid_insulation = ((ItemMissile) mp_fuselage_10_long_solid).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(40F).setUnlocalizedName("mp_fuselage_10_long_solid_insulation"); - mp_fuselage_10_long_solid_sleek = ((ItemMissile) mp_fuselage_10_long_solid).copy().setRarity(Rarity.RARE).setTitle("IF-R&D").setHealth(45F).setUnlocalizedName("mp_fuselage_10_long_solid_sleek"); - mp_fuselage_10_long_solid_soviet_glory = ((ItemMissile) mp_fuselage_10_long_solid).copy().setRarity(Rarity.EPIC).setAuthor("Hoboy").setHealth(45F).setTitle("Soviet Glory").setWittyText("Fully Automated Luxury Gay Space Communism!").setUnlocalizedName("mp_fuselage_10_long_solid_soviet_glory"); - mp_fuselage_10_long_solid_bullet = ((ItemMissile) mp_fuselage_10_long_solid).copy().setRarity(Rarity.COMMON).setAuthor("Sam").setTitle("Bullet Bill").setUnlocalizedName("mp_fuselage_10_long_solid_bullet"); - mp_fuselage_10_long_solid_silvermoonlight = ((ItemMissile) mp_fuselage_10_long_solid).copy().setRarity(Rarity.UNCOMMON).setAuthor("The Master").setTitle("Silver Moonlight").setUnlocalizedName("mp_fuselage_10_long_solid_silvermoonlight"); + mp_fuselage_10_long_solid = new ItemCustomMissilePart().makeFuselage(FuelType.SOLID, 5000F, PartSize.SIZE_10, PartSize.SIZE_10).setHealth(35F) .setUnlocalizedName("mp_fuselage_10_long_solid"); + mp_fuselage_10_long_solid_flames = ((ItemCustomMissilePart) mp_fuselage_10_long_solid).copy().setRarity(Rarity.UNCOMMON).setTitle("Sick Flames").setUnlocalizedName("mp_fuselage_10_long_solid_flames"); + mp_fuselage_10_long_solid_insulation = ((ItemCustomMissilePart) mp_fuselage_10_long_solid).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(40F).setUnlocalizedName("mp_fuselage_10_long_solid_insulation"); + mp_fuselage_10_long_solid_sleek = ((ItemCustomMissilePart) mp_fuselage_10_long_solid).copy().setRarity(Rarity.RARE).setTitle("IF-R&D").setHealth(45F).setUnlocalizedName("mp_fuselage_10_long_solid_sleek"); + mp_fuselage_10_long_solid_soviet_glory = ((ItemCustomMissilePart) mp_fuselage_10_long_solid).copy().setRarity(Rarity.EPIC).setAuthor("Hoboy").setHealth(45F).setTitle("Soviet Glory").setWittyText("Fully Automated Luxury Gay Space Communism!").setUnlocalizedName("mp_fuselage_10_long_solid_soviet_glory"); + mp_fuselage_10_long_solid_bullet = ((ItemCustomMissilePart) mp_fuselage_10_long_solid).copy().setRarity(Rarity.COMMON).setAuthor("Sam").setTitle("Bullet Bill").setUnlocalizedName("mp_fuselage_10_long_solid_bullet"); + mp_fuselage_10_long_solid_silvermoonlight = ((ItemCustomMissilePart) mp_fuselage_10_long_solid).copy().setRarity(Rarity.UNCOMMON).setAuthor("The Master").setTitle("Silver Moonlight").setUnlocalizedName("mp_fuselage_10_long_solid_silvermoonlight"); - mp_fuselage_10_15_kerosene = new ItemMissile().makeFuselage(FuelType.KEROSENE, 10000F, PartSize.SIZE_10, PartSize.SIZE_15).setHealth(40F).setUnlocalizedName("mp_fuselage_10_15_kerosene"); - mp_fuselage_10_15_solid = new ItemMissile().makeFuselage(FuelType.SOLID, 10000F, PartSize.SIZE_10, PartSize.SIZE_15).setHealth(40F) .setUnlocalizedName("mp_fuselage_10_15_solid"); - mp_fuselage_10_15_hydrogen = new ItemMissile().makeFuselage(FuelType.HYDROGEN, 10000F, PartSize.SIZE_10, PartSize.SIZE_15).setHealth(40F).setUnlocalizedName("mp_fuselage_10_15_hydrogen"); - mp_fuselage_10_15_balefire = new ItemMissile().makeFuselage(FuelType.BALEFIRE, 10000F, PartSize.SIZE_10, PartSize.SIZE_15).setHealth(40F).setUnlocalizedName("mp_fuselage_10_15_balefire"); + mp_fuselage_10_15_kerosene = new ItemCustomMissilePart().makeFuselage(FuelType.KEROSENE, 10000F, PartSize.SIZE_10, PartSize.SIZE_15).setHealth(40F).setUnlocalizedName("mp_fuselage_10_15_kerosene"); + mp_fuselage_10_15_solid = new ItemCustomMissilePart().makeFuselage(FuelType.SOLID, 10000F, PartSize.SIZE_10, PartSize.SIZE_15).setHealth(40F) .setUnlocalizedName("mp_fuselage_10_15_solid"); + mp_fuselage_10_15_hydrogen = new ItemCustomMissilePart().makeFuselage(FuelType.HYDROGEN, 10000F, PartSize.SIZE_10, PartSize.SIZE_15).setHealth(40F).setUnlocalizedName("mp_fuselage_10_15_hydrogen"); + mp_fuselage_10_15_balefire = new ItemCustomMissilePart().makeFuselage(FuelType.BALEFIRE, 10000F, PartSize.SIZE_10, PartSize.SIZE_15).setHealth(40F).setUnlocalizedName("mp_fuselage_10_15_balefire"); - mp_fuselage_15_kerosene = new ItemMissile().makeFuselage(FuelType.KEROSENE, 15000F, PartSize.SIZE_15, PartSize.SIZE_15).setAuthor("Hoboy").setHealth(50F).setUnlocalizedName("mp_fuselage_15_kerosene"); - mp_fuselage_15_kerosene_camo = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Camo").setUnlocalizedName("mp_fuselage_15_kerosene_camo"); - mp_fuselage_15_kerosene_desert = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Desert Camo").setUnlocalizedName("mp_fuselage_15_kerosene_desert"); - mp_fuselage_15_kerosene_sky = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Sky Camo").setUnlocalizedName("mp_fuselage_15_kerosene_sky"); - mp_fuselage_15_kerosene_insulation = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(55F).setWittyText("Rest in spaghetti Columbia :(").setUnlocalizedName("mp_fuselage_15_kerosene_insulation"); - mp_fuselage_15_kerosene_metal = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Hoboy").setTitle("Bolted Metal").setHealth(60F).setWittyText("Metal frame with metal plating reinforced with bolted metal sheets and metal.").setUnlocalizedName("mp_fuselage_15_kerosene_metal"); - mp_fuselage_15_kerosene_decorated = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Hoboy").setTitle("Decorated").setHealth(60F).setUnlocalizedName("mp_fuselage_15_kerosene_decorated"); - mp_fuselage_15_kerosene_steampunk = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.RARE).setAuthor("Hoboy").setTitle("Steampunk").setHealth(60F).setUnlocalizedName("mp_fuselage_15_kerosene_steampunk"); - mp_fuselage_15_kerosene_polite = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.LEGENDARY).setAuthor("Hoboy").setTitle("Polite").setHealth(60F).setUnlocalizedName("mp_fuselage_15_kerosene_polite"); - mp_fuselage_15_kerosene_blackjack = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.LEGENDARY).setTitle("Queen Whiskey").setHealth(100F).setUnlocalizedName("mp_fuselage_15_kerosene_blackjack"); - mp_fuselage_15_kerosene_lambda = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.RARE).setAuthor("VT-6/24").setTitle("Lambda Complex").setHealth(75F).setWittyText("MAGNIFICENT MICROWAVE CASSEROLE").setUnlocalizedName("mp_fuselage_15_kerosene_lambda"); - mp_fuselage_15_kerosene_minuteman = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Spexta").setTitle("MX 1702").setUnlocalizedName("mp_fuselage_15_kerosene_minuteman"); - mp_fuselage_15_kerosene_pip = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.EPIC).setAuthor("The Doctor").setTitle("LittlePip").setWittyText("31!").setCreativeTab(null).setUnlocalizedName("mp_fuselage_15_kerosene_pip"); - mp_fuselage_15_kerosene_taint = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Sam").setTitle("Tainted").setWittyText("DUN-DUN!").setUnlocalizedName("mp_fuselage_15_kerosene_taint"); - mp_fuselage_15_kerosene_yuck = ((ItemMissile) mp_fuselage_15_kerosene).copy().setRarity(Rarity.EPIC).setAuthor("Hoboy").setTitle("Flesh").setWittyText("Note: Never clean DNA vials with your own spit.").setHealth(60F).setUnlocalizedName("mp_fuselage_15_kerosene_yuck"); + mp_fuselage_15_kerosene = new ItemCustomMissilePart().makeFuselage(FuelType.KEROSENE, 15000F, PartSize.SIZE_15, PartSize.SIZE_15).setAuthor("Hoboy").setHealth(50F).setUnlocalizedName("mp_fuselage_15_kerosene"); + mp_fuselage_15_kerosene_camo = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Camo").setUnlocalizedName("mp_fuselage_15_kerosene_camo"); + mp_fuselage_15_kerosene_desert = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Desert Camo").setUnlocalizedName("mp_fuselage_15_kerosene_desert"); + mp_fuselage_15_kerosene_sky = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Sky Camo").setUnlocalizedName("mp_fuselage_15_kerosene_sky"); + mp_fuselage_15_kerosene_insulation = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(55F).setWittyText("Rest in spaghetti Columbia :(").setUnlocalizedName("mp_fuselage_15_kerosene_insulation"); + mp_fuselage_15_kerosene_metal = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Hoboy").setTitle("Bolted Metal").setHealth(60F).setWittyText("Metal frame with metal plating reinforced with bolted metal sheets and metal.").setUnlocalizedName("mp_fuselage_15_kerosene_metal"); + mp_fuselage_15_kerosene_decorated = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Hoboy").setTitle("Decorated").setHealth(60F).setUnlocalizedName("mp_fuselage_15_kerosene_decorated"); + mp_fuselage_15_kerosene_steampunk = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.RARE).setAuthor("Hoboy").setTitle("Steampunk").setHealth(60F).setUnlocalizedName("mp_fuselage_15_kerosene_steampunk"); + mp_fuselage_15_kerosene_polite = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.LEGENDARY).setAuthor("Hoboy").setTitle("Polite").setHealth(60F).setUnlocalizedName("mp_fuselage_15_kerosene_polite"); + mp_fuselage_15_kerosene_blackjack = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.LEGENDARY).setTitle("Queen Whiskey").setHealth(100F).setUnlocalizedName("mp_fuselage_15_kerosene_blackjack"); + mp_fuselage_15_kerosene_lambda = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.RARE).setAuthor("VT-6/24").setTitle("Lambda Complex").setHealth(75F).setWittyText("MAGNIFICENT MICROWAVE CASSEROLE").setUnlocalizedName("mp_fuselage_15_kerosene_lambda"); + mp_fuselage_15_kerosene_minuteman = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Spexta").setTitle("MX 1702").setUnlocalizedName("mp_fuselage_15_kerosene_minuteman"); + mp_fuselage_15_kerosene_pip = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.EPIC).setAuthor("The Doctor").setTitle("LittlePip").setWittyText("31!").setCreativeTab(null).setUnlocalizedName("mp_fuselage_15_kerosene_pip"); + mp_fuselage_15_kerosene_taint = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.UNCOMMON).setAuthor("Sam").setTitle("Tainted").setWittyText("DUN-DUN!").setUnlocalizedName("mp_fuselage_15_kerosene_taint"); + mp_fuselage_15_kerosene_yuck = ((ItemCustomMissilePart) mp_fuselage_15_kerosene).copy().setRarity(Rarity.EPIC).setAuthor("Hoboy").setTitle("Flesh").setWittyText("Note: Never clean DNA vials with your own spit.").setHealth(60F).setUnlocalizedName("mp_fuselage_15_kerosene_yuck"); - mp_fuselage_15_solid = new ItemMissile().makeFuselage(FuelType.SOLID, 15000F, PartSize.SIZE_15, PartSize.SIZE_15).setHealth(60F) .setUnlocalizedName("mp_fuselage_15_solid").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage"); - mp_fuselage_15_solid_insulation = ((ItemMissile) mp_fuselage_15_solid).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(65F).setUnlocalizedName("mp_fuselage_15_solid_insulation"); - mp_fuselage_15_solid_desh = ((ItemMissile) mp_fuselage_15_solid).copy().setRarity(Rarity.RARE).setAuthor("Hoboy").setTitle("Desh Plating").setHealth(80F).setUnlocalizedName("mp_fuselage_15_solid_desh"); - mp_fuselage_15_solid_soviet_glory = ((ItemMissile) mp_fuselage_15_solid).copy().setRarity(Rarity.RARE).setAuthor("Hoboy").setTitle("Soviet Glory").setHealth(70F).setUnlocalizedName("mp_fuselage_15_solid_soviet_glory"); - mp_fuselage_15_solid_soviet_stank = ((ItemMissile) mp_fuselage_15_solid).copy().setRarity(Rarity.EPIC).setAuthor("Hoboy").setTitle("Soviet Stank").setHealth(15F).setWittyText("Aged like a fine wine! Well, almost.").setUnlocalizedName("mp_fuselage_15_solid_soviet_stank"); - mp_fuselage_15_solid_faust = ((ItemMissile) mp_fuselage_15_solid).copy().setRarity(Rarity.LEGENDARY).setAuthor("Dr.Nostalgia").setTitle("Mighty Lauren").setHealth(250F).setWittyText("Welcome to Subway, may I take your order?").setUnlocalizedName("mp_fuselage_15_solid_faust"); - mp_fuselage_15_solid_silvermoonlight = ((ItemMissile) mp_fuselage_15_solid).copy().setRarity(Rarity.UNCOMMON).setAuthor("The Master").setTitle("Silver Moonlight").setUnlocalizedName("mp_fuselage_15_solid_silvermoonlight"); - mp_fuselage_15_solid_snowy = ((ItemMissile) mp_fuselage_15_solid).copy().setRarity(Rarity.UNCOMMON).setAuthor("Dr.Nostalgia").setTitle("Chilly Day").setUnlocalizedName("mp_fuselage_15_solid_snowy"); - mp_fuselage_15_solid_panorama = ((ItemMissile) mp_fuselage_15_solid).copy().setRarity(Rarity.RARE).setAuthor("Hoboy").setTitle("Panorama").setUnlocalizedName("mp_fuselage_15_solid_panorama"); - mp_fuselage_15_solid_roses = ((ItemMissile) mp_fuselage_15_solid).copy().setRarity(Rarity.UNCOMMON).setAuthor("Hoboy").setTitle("Bed of roses").setUnlocalizedName("mp_fuselage_15_solid_roses"); - mp_fuselage_15_solid_mimi = ((ItemMissile) mp_fuselage_15_solid).copy().setRarity(Rarity.RARE).setTitle("Mimi-chan").setUnlocalizedName("mp_fuselage_15_solid_mimi"); + mp_fuselage_15_solid = new ItemCustomMissilePart().makeFuselage(FuelType.SOLID, 15000F, PartSize.SIZE_15, PartSize.SIZE_15).setHealth(60F) .setUnlocalizedName("mp_fuselage_15_solid").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage"); + mp_fuselage_15_solid_insulation = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.COMMON).setTitle("Orange Insulation").setHealth(65F).setUnlocalizedName("mp_fuselage_15_solid_insulation"); + mp_fuselage_15_solid_desh = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.RARE).setAuthor("Hoboy").setTitle("Desh Plating").setHealth(80F).setUnlocalizedName("mp_fuselage_15_solid_desh"); + mp_fuselage_15_solid_soviet_glory = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.RARE).setAuthor("Hoboy").setTitle("Soviet Glory").setHealth(70F).setUnlocalizedName("mp_fuselage_15_solid_soviet_glory"); + mp_fuselage_15_solid_soviet_stank = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.EPIC).setAuthor("Hoboy").setTitle("Soviet Stank").setHealth(15F).setWittyText("Aged like a fine wine! Well, almost.").setUnlocalizedName("mp_fuselage_15_solid_soviet_stank"); + mp_fuselage_15_solid_faust = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.LEGENDARY).setAuthor("Dr.Nostalgia").setTitle("Mighty Lauren").setHealth(250F).setWittyText("Welcome to Subway, may I take your order?").setUnlocalizedName("mp_fuselage_15_solid_faust"); + mp_fuselage_15_solid_silvermoonlight = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.UNCOMMON).setAuthor("The Master").setTitle("Silver Moonlight").setUnlocalizedName("mp_fuselage_15_solid_silvermoonlight"); + mp_fuselage_15_solid_snowy = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.UNCOMMON).setAuthor("Dr.Nostalgia").setTitle("Chilly Day").setUnlocalizedName("mp_fuselage_15_solid_snowy"); + mp_fuselage_15_solid_panorama = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.RARE).setAuthor("Hoboy").setTitle("Panorama").setUnlocalizedName("mp_fuselage_15_solid_panorama"); + mp_fuselage_15_solid_roses = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.UNCOMMON).setAuthor("Hoboy").setTitle("Bed of roses").setUnlocalizedName("mp_fuselage_15_solid_roses"); + mp_fuselage_15_solid_mimi = ((ItemCustomMissilePart) mp_fuselage_15_solid).copy().setRarity(Rarity.RARE).setTitle("Mimi-chan").setUnlocalizedName("mp_fuselage_15_solid_mimi"); - mp_fuselage_15_hydrogen = new ItemMissile().makeFuselage(FuelType.HYDROGEN, 15000F, PartSize.SIZE_15, PartSize.SIZE_15).setHealth(50F) .setUnlocalizedName("mp_fuselage_15_hydrogen").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage"); - mp_fuselage_15_hydrogen_cathedral = ((ItemMissile) mp_fuselage_15_hydrogen).copy().setRarity(Rarity.UNCOMMON).setAuthor("Satan").setTitle("Unholy Cathedral").setUnlocalizedName("mp_fuselage_15_hydrogen_cathedral"); + mp_fuselage_15_hydrogen = new ItemCustomMissilePart().makeFuselage(FuelType.HYDROGEN, 15000F, PartSize.SIZE_15, PartSize.SIZE_15).setHealth(50F) .setUnlocalizedName("mp_fuselage_15_hydrogen").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage"); + mp_fuselage_15_hydrogen_cathedral = ((ItemCustomMissilePart) mp_fuselage_15_hydrogen).copy().setRarity(Rarity.UNCOMMON).setAuthor("Satan").setTitle("Unholy Cathedral").setUnlocalizedName("mp_fuselage_15_hydrogen_cathedral"); - mp_fuselage_15_balefire = new ItemMissile().makeFuselage(FuelType.BALEFIRE, 15000F, PartSize.SIZE_15, PartSize.SIZE_15).setHealth(75F) .setUnlocalizedName("mp_fuselage_15_balefire").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage"); + mp_fuselage_15_balefire = new ItemCustomMissilePart().makeFuselage(FuelType.BALEFIRE, 15000F, PartSize.SIZE_15, PartSize.SIZE_15).setHealth(75F) .setUnlocalizedName("mp_fuselage_15_balefire").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage"); - mp_fuselage_15_20_kerosene = new ItemMissile().makeFuselage(FuelType.KEROSENE, 20000, PartSize.SIZE_15, PartSize.SIZE_20).setAuthor("Hoboy").setHealth(70F).setUnlocalizedName("mp_fuselage_15_20_kerosene").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage"); - mp_fuselage_15_20_kerosene_magnusson = ((ItemMissile)mp_fuselage_15_20_kerosene).copy().setRarity(Rarity.RARE).setAuthor("VT-6/24").setTitle("White Forest Rocket").setWittyText("And get your cranio-conjugal parasite away from my nose cone!").setUnlocalizedName("mp_fuselage_15_20_kerosene_magnusson"); - mp_fuselage_15_20_solid = new ItemMissile().makeFuselage(FuelType.SOLID, 20000, PartSize.SIZE_15, PartSize.SIZE_20).setHealth(70F).setUnlocalizedName("mp_fuselage_15_20_solid").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage"); + mp_fuselage_15_20_kerosene = new ItemCustomMissilePart().makeFuselage(FuelType.KEROSENE, 20000, PartSize.SIZE_15, PartSize.SIZE_20).setAuthor("Hoboy").setHealth(70F).setUnlocalizedName("mp_fuselage_15_20_kerosene").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage"); + mp_fuselage_15_20_kerosene_magnusson = ((ItemCustomMissilePart)mp_fuselage_15_20_kerosene).copy().setRarity(Rarity.RARE).setAuthor("VT-6/24").setTitle("White Forest Rocket").setWittyText("And get your cranio-conjugal parasite away from my nose cone!").setUnlocalizedName("mp_fuselage_15_20_kerosene_magnusson"); + mp_fuselage_15_20_solid = new ItemCustomMissilePart().makeFuselage(FuelType.SOLID, 20000, PartSize.SIZE_15, PartSize.SIZE_20).setHealth(70F).setUnlocalizedName("mp_fuselage_15_20_solid").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage"); - mp_fuselage_20_kerosene = new ItemMissile().makeFuselage(FuelType.KEROSENE, 1000F, PartSize.SIZE_20, PartSize.SIZE_20) .setUnlocalizedName("mp_f_20").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage"); + mp_fuselage_20_kerosene = new ItemCustomMissilePart().makeFuselage(FuelType.KEROSENE, 1000F, PartSize.SIZE_20, PartSize.SIZE_20) .setUnlocalizedName("mp_f_20").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_fuselage"); - mp_warhead_10_he = new ItemMissile().makeWarhead(WarheadType.HE, 15F, 1.5F, PartSize.SIZE_10).setHealth(5F) .setUnlocalizedName("mp_warhead_10_he").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); - mp_warhead_10_incendiary = new ItemMissile().makeWarhead(WarheadType.INC, 15F, 1.5F, PartSize.SIZE_10).setHealth(5F) .setUnlocalizedName("mp_warhead_10_incendiary").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); - mp_warhead_10_buster = new ItemMissile().makeWarhead(WarheadType.BUSTER, 5F, 1.5F, PartSize.SIZE_10).setHealth(5F) .setUnlocalizedName("mp_warhead_10_buster").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); - mp_warhead_10_nuclear = new ItemMissile().makeWarhead(WarheadType.NUCLEAR, 35F, 1.5F, PartSize.SIZE_10).setTitle("Tater Tot").setHealth(10F).setUnlocalizedName("mp_warhead_10_nuclear").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); - mp_warhead_10_nuclear_large = new ItemMissile().makeWarhead(WarheadType.NUCLEAR, 75F, 2.5F, PartSize.SIZE_10).setTitle("Chernobyl Boris").setHealth(15F).setUnlocalizedName("mp_warhead_10_nuclear_large").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); - mp_warhead_10_taint = new ItemMissile().makeWarhead(WarheadType.TAINT, 15F, 1.5F, PartSize.SIZE_10).setHealth(20F).setRarity(Rarity.UNCOMMON).setWittyText("Eat my taint! Bureaucracy is dead and we killed it!").setUnlocalizedName("mp_warhead_10_taint").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); - mp_warhead_10_cloud = new ItemMissile().makeWarhead(WarheadType.CLOUD, 15F, 1.5F, PartSize.SIZE_10).setHealth(20F).setRarity(Rarity.RARE).setUnlocalizedName("mp_warhead_10_cloud").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); - mp_warhead_15_he = new ItemMissile().makeWarhead(WarheadType.HE, 50F, 2.5F, PartSize.SIZE_15).setHealth(10F) .setUnlocalizedName("mp_warhead_15_he").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); - mp_warhead_15_incendiary = new ItemMissile().makeWarhead(WarheadType.INC, 35F, 2.5F, PartSize.SIZE_15).setHealth(10F) .setUnlocalizedName("mp_warhead_15_incendiary").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); - mp_warhead_15_nuclear = new ItemMissile().makeWarhead(WarheadType.NUCLEAR, 125F, 5F, PartSize.SIZE_15).setTitle("Auntie Bertha").setHealth(15F).setUnlocalizedName("mp_warhead_15_nuclear").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); - mp_warhead_15_nuclear_shark = ((ItemMissile) mp_warhead_15_nuclear).copy().setRarity(Rarity.UNCOMMON).setTitle("Discount Bullet Bill").setWittyText("Nose art on a cannon bullet? Who does that?").setUnlocalizedName("mp_warhead_15_nuclear_shark"); - mp_warhead_15_nuclear_mimi = ((ItemMissile) mp_warhead_15_nuclear).copy().setRarity(Rarity.RARE).setTitle("FASHIONABLE MISSILE").setUnlocalizedName("mp_warhead_15_nuclear_mimi"); - mp_warhead_15_boxcar = new ItemMissile().makeWarhead(WarheadType.TX, 250F, 7.5F, PartSize.SIZE_15).setWittyText("?!?!").setHealth(35F).setRarity(Rarity.LEGENDARY).setUnlocalizedName("mp_warhead_15_boxcar").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); - mp_warhead_15_n2 = new ItemMissile().makeWarhead(WarheadType.N2, 100F, 5F, PartSize.SIZE_15).setWittyText("[screams geometrically]").setHealth(20F).setRarity(Rarity.RARE).setUnlocalizedName("mp_warhead_15_n2").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); - mp_warhead_15_balefire = new ItemMissile().makeWarhead(WarheadType.BALEFIRE, 100F, 7.5F, PartSize.SIZE_15).setRarity(Rarity.LEGENDARY).setAuthor("VT-6/24").setHealth(15F).setWittyText("Hightower, never forgetti.").setUnlocalizedName("mp_warhead_15_balefire").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); - mp_warhead_15_turbine = new ItemMissile().makeWarhead(WarheadType.TURBINE, 200F, 5F, PartSize.SIZE_15).setRarity(Rarity.SEWS_CLOTHES_AND_SUCKS_HORSE_COCK).setHealth(250F).setUnlocalizedName("mp_warhead_15_turbine").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); - mp_warhead_20_he = new ItemMissile().makeWarhead(WarheadType.HE, 15F, 1F, PartSize.SIZE_20) .setUnlocalizedName("mp_w_20").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); + mp_warhead_10_he = new ItemCustomMissilePart().makeWarhead(WarheadType.HE, 15F, 1.5F, PartSize.SIZE_10).setHealth(5F) .setUnlocalizedName("mp_warhead_10_he").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); + mp_warhead_10_incendiary = new ItemCustomMissilePart().makeWarhead(WarheadType.INC, 15F, 1.5F, PartSize.SIZE_10).setHealth(5F) .setUnlocalizedName("mp_warhead_10_incendiary").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); + mp_warhead_10_buster = new ItemCustomMissilePart().makeWarhead(WarheadType.BUSTER, 5F, 1.5F, PartSize.SIZE_10).setHealth(5F) .setUnlocalizedName("mp_warhead_10_buster").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); + mp_warhead_10_nuclear = new ItemCustomMissilePart().makeWarhead(WarheadType.NUCLEAR, 35F, 1.5F, PartSize.SIZE_10).setTitle("Tater Tot").setHealth(10F).setUnlocalizedName("mp_warhead_10_nuclear").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); + mp_warhead_10_nuclear_large = new ItemCustomMissilePart().makeWarhead(WarheadType.NUCLEAR, 75F, 2.5F, PartSize.SIZE_10).setTitle("Chernobyl Boris").setHealth(15F).setUnlocalizedName("mp_warhead_10_nuclear_large").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); + mp_warhead_10_taint = new ItemCustomMissilePart().makeWarhead(WarheadType.TAINT, 15F, 1.5F, PartSize.SIZE_10).setHealth(20F).setRarity(Rarity.UNCOMMON).setWittyText("Eat my taint! Bureaucracy is dead and we killed it!").setUnlocalizedName("mp_warhead_10_taint").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); + mp_warhead_10_cloud = new ItemCustomMissilePart().makeWarhead(WarheadType.CLOUD, 15F, 1.5F, PartSize.SIZE_10).setHealth(20F).setRarity(Rarity.RARE).setUnlocalizedName("mp_warhead_10_cloud").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); + mp_warhead_15_he = new ItemCustomMissilePart().makeWarhead(WarheadType.HE, 50F, 2.5F, PartSize.SIZE_15).setHealth(10F) .setUnlocalizedName("mp_warhead_15_he").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); + mp_warhead_15_incendiary = new ItemCustomMissilePart().makeWarhead(WarheadType.INC, 35F, 2.5F, PartSize.SIZE_15).setHealth(10F) .setUnlocalizedName("mp_warhead_15_incendiary").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); + mp_warhead_15_nuclear = new ItemCustomMissilePart().makeWarhead(WarheadType.NUCLEAR, 125F, 5F, PartSize.SIZE_15).setTitle("Auntie Bertha").setHealth(15F).setUnlocalizedName("mp_warhead_15_nuclear").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); + mp_warhead_15_nuclear_shark = ((ItemCustomMissilePart) mp_warhead_15_nuclear).copy().setRarity(Rarity.UNCOMMON).setTitle("Discount Bullet Bill").setWittyText("Nose art on a cannon bullet? Who does that?").setUnlocalizedName("mp_warhead_15_nuclear_shark"); + mp_warhead_15_nuclear_mimi = ((ItemCustomMissilePart) mp_warhead_15_nuclear).copy().setRarity(Rarity.RARE).setTitle("FASHIONABLE MISSILE").setUnlocalizedName("mp_warhead_15_nuclear_mimi"); + mp_warhead_15_boxcar = new ItemCustomMissilePart().makeWarhead(WarheadType.TX, 250F, 7.5F, PartSize.SIZE_15).setWittyText("?!?!").setHealth(35F).setRarity(Rarity.LEGENDARY).setUnlocalizedName("mp_warhead_15_boxcar").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); + mp_warhead_15_n2 = new ItemCustomMissilePart().makeWarhead(WarheadType.N2, 100F, 5F, PartSize.SIZE_15).setWittyText("[screams geometrically]").setHealth(20F).setRarity(Rarity.RARE).setUnlocalizedName("mp_warhead_15_n2").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); + mp_warhead_15_balefire = new ItemCustomMissilePart().makeWarhead(WarheadType.BALEFIRE, 100F, 7.5F, PartSize.SIZE_15).setRarity(Rarity.LEGENDARY).setAuthor("VT-6/24").setHealth(15F).setWittyText("Hightower, never forgetti.").setUnlocalizedName("mp_warhead_15_balefire").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); + mp_warhead_15_turbine = new ItemCustomMissilePart().makeWarhead(WarheadType.TURBINE, 200F, 5F, PartSize.SIZE_15).setRarity(Rarity.SEWS_CLOTHES_AND_SUCKS_HORSE_COCK).setHealth(250F).setUnlocalizedName("mp_warhead_15_turbine").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); + mp_warhead_20_he = new ItemCustomMissilePart().makeWarhead(WarheadType.HE, 15F, 1F, PartSize.SIZE_20) .setUnlocalizedName("mp_w_20").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_warhead"); - mp_chip_1 = new ItemMissile().makeChip(0.1F) .setUnlocalizedName("mp_c_1").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_1"); - mp_chip_2 = new ItemMissile().makeChip(0.05F) .setUnlocalizedName("mp_c_2").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_2"); - mp_chip_3 = new ItemMissile().makeChip(0.01F) .setUnlocalizedName("mp_c_3").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_3"); - mp_chip_4 = new ItemMissile().makeChip(0.005F) .setUnlocalizedName("mp_c_4").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_4"); - mp_chip_5 = new ItemMissile().makeChip(0.0F) .setUnlocalizedName("mp_c_5").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_5"); + mp_chip_1 = new ItemCustomMissilePart().makeChip(0.1F) .setUnlocalizedName("mp_c_1").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_1"); + mp_chip_2 = new ItemCustomMissilePart().makeChip(0.05F) .setUnlocalizedName("mp_c_2").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_2"); + mp_chip_3 = new ItemCustomMissilePart().makeChip(0.01F) .setUnlocalizedName("mp_c_3").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_3"); + mp_chip_4 = new ItemCustomMissilePart().makeChip(0.005F) .setUnlocalizedName("mp_c_4").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_4"); + mp_chip_5 = new ItemCustomMissilePart().makeChip(0.0F) .setUnlocalizedName("mp_c_5").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":mp_c_5"); missile_skin_camo = new ItemCustomLore().setUnlocalizedName("missile_skin_camo").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_skin_camo"); missile_skin_desert = new ItemCustomLore().setUnlocalizedName("missile_skin_desert").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_skin_desert"); @@ -4143,7 +4139,7 @@ public class ModItems { gun_panzerschreck = new ItemGunBase(GunRocketFactory.getPanzConfig()).setUnlocalizedName("gun_panzerschreck").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_panzerschreck"); gun_quadro = new ItemGunBase(GunRocketFactory.getQuadroConfig()).setUnlocalizedName("gun_quadro").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_quadro"); gun_hk69 = new ItemGunBase(GunGrenadeFactory.getHK69Config()).setUnlocalizedName("gun_hk69").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_hk69"); - gun_congolake = new ItemGunCongo(GunGrenadeFactory.getCongoConfig()).setUnlocalizedName("gun_congolake").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_congolake"); + gun_congolake = new ItemGunBase(GunGrenadeFactory.getCongoConfig()).setUnlocalizedName("gun_congolake").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_congolake"); gun_stinger = new ItemGunBase(GunRocketHomingFactory.getStingerConfig()).setUnlocalizedName("gun_stinger").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_stinger"); gun_skystinger = new ItemGunBase(GunRocketHomingFactory.getSkyStingerConfig()).setUnlocalizedName("gun_skystinger").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_skystinger"); gun_revolver = new ItemGunBase(Gun357MagnumFactory.getRevolverConfig()).setUnlocalizedName("gun_revolver").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver"); @@ -4153,7 +4149,7 @@ public class ModItems { gun_revolver_cursed = new ItemGunBase(Gun357MagnumFactory.getRevolverCursedConfig()).setUnlocalizedName("gun_revolver_cursed").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_cursed"); gun_revolver_nightmare = new ItemGunBase(Gun357MagnumFactory.getRevolverNightmareConfig()).setUnlocalizedName("gun_revolver_nightmare").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_nightmare"); gun_revolver_nightmare2 = new ItemGunBase(Gun357MagnumFactory.getRevolverNightmare2Config()).setUnlocalizedName("gun_revolver_nightmare2").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_nightmare2"); - gun_revolver_pip = new ItemGunBase(Gun44MagnumFactory.getMacintoshConfig()).setUnlocalizedName("gun_revolver_pip").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_pip"); + gun_revolver_pip = new ItemGunPip(Gun44MagnumFactory.getMacintoshConfig()).setUnlocalizedName("gun_revolver_pip").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_pip"); gun_revolver_nopip = new ItemGunBase(Gun44MagnumFactory.getNovacConfig()).setUnlocalizedName("gun_revolver_nopip").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_nopip"); gun_revolver_blackjack = new ItemGunBase(Gun44MagnumFactory.getBlackjackConfig()).setUnlocalizedName("gun_revolver_blackjack").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_blackjack"); gun_revolver_silver = new ItemGunBase(Gun44MagnumFactory.getSilverConfig()).setUnlocalizedName("gun_revolver_silver").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_silver"); @@ -4164,7 +4160,6 @@ public class ModItems { gun_ar15 = new ItemGunBase(Gun50BMGFactory.getAR15Config(), Gun50BMGFactory.getAR15BurstConfig()).setUnlocalizedName("gun_ar15").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_ar15"); gun_calamity = new ItemGunBase(Gun762mmFactory.getCalamityConfig()).setUnlocalizedName("gun_calamity").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_calamity"); gun_minigun = new ItemGunLacunae(Gun5mmFactory.get53Config()).setUnlocalizedName("gun_minigun").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_minigun"); - gun_avenger = new ItemGunLacunae(Gun5mmFactory.get57Config()).setUnlocalizedName("gun_avenger").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_avenger"); gun_lacunae = new ItemGunLacunae(Gun5mmFactory.getLacunaeConfig()).setUnlocalizedName("gun_lacunae").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_lacunae"); gun_folly = new GunFolly().setUnlocalizedName("gun_folly").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_folly"); gun_fatman = new ItemGunBase(GunFatmanFactory.getFatmanConfig()).setUnlocalizedName("gun_fatman").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_fatman"); @@ -4229,12 +4224,10 @@ public class ModItems { gun_twigun = new GunEuthanasia().setUnlocalizedName("gun_twigun").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_twigun"); gun_defabricator_ammo = new Item().setUnlocalizedName("gun_defabricator_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_defabricator_ammo"); gun_defabricator = new GunDefabricator().setUnlocalizedName("gun_defabricator").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_defabricator"); - gun_vortex = new ItemGunVortex(Gun556mmFactory.getEuphieConfig()).setUnlocalizedName("gun_vortex").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_vortex"); + gun_vortex = new ItemGunBase(Gun556mmFactory.getEuphieConfig()).setUnlocalizedName("gun_vortex").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_vortex"); gun_super_shotgun = new ItemCustomLore().setUnlocalizedName("gun_super_shotgun").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_super_shotgun"); gun_moist_nugget = new ItemNugget(3, false).setUnlocalizedName("gun_moist_nugget").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_moist_nugget"); - gun_dampfmaschine = new GunDampfmaschine().setUnlocalizedName("gun_dampfmaschine").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_dampfmaschine"); gun_darter = new ItemGunDart(GunDartFactory.getDarterConfig()).setFull3D().setUnlocalizedName("gun_darter").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_darter"); - gun_detonator = new ItemGunDetonator(GunDetonatorFactory.getDetonatorConfig()).setFull3D().setUnlocalizedName("gun_detonator").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_darter"); gun_glass_cannon = new ItemEnergyGunBase(GunPoweredFactory.getGlassCannonConfig()).setFull3D().setUnlocalizedName("gun_glass_cannon").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_darter"); gun_m2 = new ItemGunBase(Gun50BMGFactory.getM2Config()).setFull3D().setUnlocalizedName("gun_m2").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_darter"); gun_lunatic_marksman = new ItemGunBase(Gun50BMGFactory.getLunaticMarksman()).setFull3D().setUnlocalizedName("gun_lunatic_marksman").setCreativeTab(MainRegistry.weaponTab); @@ -4307,30 +4300,29 @@ public class ModItems { glowing_stew = new ItemSoup(6).setUnlocalizedName("glowing_stew").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":glowing_stew"); balefire_scrambled = new ItemSoup(6).setUnlocalizedName("balefire_scrambled").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":balefire_scrambled"); balefire_and_ham = new ItemSoup(6).setUnlocalizedName("balefire_and_ham").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":balefire_and_ham"); - lemon = new ItemLemon(3, 5, false).setUnlocalizedName("lemon").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":lemon"); - definitelyfood = new ItemLemon(2, 5, false).setUnlocalizedName("definitelyfood").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":definitelyfood"); + lemon = new ItemLemon(3, 0.5F, false).setUnlocalizedName("lemon").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":lemon"); + definitelyfood = new ItemLemon(3, 0.5F, false).setUnlocalizedName("definitelyfood").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":definitelyfood"); med_ipecac = new ItemLemon(0, 0, false).setUnlocalizedName("med_ipecac").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":med_ipecac_new"); med_ptsd = new ItemLemon(0, 0, false).setUnlocalizedName("med_ptsd").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":med_ptsd_new"); med_schizophrenia = new ItemLemon(0, 0, false).setUnlocalizedName("med_schizophrenia").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":med_schizophrenia_new"); - loops = new ItemLemon(4, 5, false).setUnlocalizedName("loops").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":loops"); - loop_stew = new ItemLemon(10, 10, false).setUnlocalizedName("loop_stew").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":loop_stew"); - spongebob_macaroni = new ItemLemon(5, 5, false).setUnlocalizedName("spongebob_macaroni").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":spongebob_macaroni"); - fooditem = new ItemLemon(2, 5, false).setUnlocalizedName("fooditem").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":fooditem"); - twinkie = new ItemLemon(3, 5, false).setUnlocalizedName("twinkie").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":twinkie"); - static_sandwich = new ItemLemon(6, 5, false).setUnlocalizedName("static_sandwich").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":static_sandwich"); - pudding = new ItemLemon(6, 15, false).setUnlocalizedName("pudding").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":pudding"); - canteen_13 = new ItemCanteen(1 * 60).setUnlocalizedName("canteen_13").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canteen_13"); + loops = new ItemLemon(4, 0.25F, false).setUnlocalizedName("loops").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":loops"); + loop_stew = new ItemLemon(10, 0.5F, false).setUnlocalizedName("loop_stew").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":loop_stew"); + spongebob_macaroni = new ItemLemon(5, 1F, false).setUnlocalizedName("spongebob_macaroni").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":spongebob_macaroni"); + fooditem = new ItemLemon(2, 5F, false).setUnlocalizedName("fooditem").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":fooditem"); + twinkie = new ItemLemon(3, 0.25F, false).setUnlocalizedName("twinkie").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":twinkie"); + static_sandwich = new ItemLemon(6, 1F, false).setUnlocalizedName("static_sandwich").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":static_sandwich"); + pudding = new ItemLemon(6, 1F, false).setUnlocalizedName("pudding").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":pudding"); canteen_vodka = new ItemCanteen(3 * 60).setUnlocalizedName("canteen_vodka").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canteen_vodka"); canteen_fab = new ItemCanteen(2 * 60).setUnlocalizedName("canteen_fab").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canteen_fab"); pancake = new ItemPancake(20, 20, false).setUnlocalizedName("pancake").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":pancake"); - nugget = new ItemLemon(200, 200, false).setUnlocalizedName("nugget").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":nugget"); + nugget = new ItemLemon(200, 1F, false).setUnlocalizedName("nugget").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":nugget"); peas = new ItemPeas().setUnlocalizedName("peas").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":peas"); marshmallow = new ItemMarshmallow().setUnlocalizedName("marshmallow").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":marshmallow"); - cheese = new ItemLemon(5, 10, false).setUnlocalizedName("cheese").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cheese"); - quesadilla = new ItemLemon(8, 10, false).setUnlocalizedName("cheese_quesadilla").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":quesadilla"); + cheese = new ItemLemon(5, 0.75F, false).setUnlocalizedName("cheese").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cheese"); + quesadilla = new ItemLemon(8, 1F, false).setUnlocalizedName("cheese_quesadilla").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":quesadilla"); mucho_mango = new ItemMuchoMango(10).setUnlocalizedName("mucho_mango").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":mucho_mango"); - glyphid_meat = new ItemLemon(3, 3, true).setUnlocalizedName("glyphid_meat").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":glyphid_meat"); - glyphid_meat_grilled = new ItemLemon(8, 8, true).setPotionEffect(Potion.damageBoost.id, 180, 1, 1F).setUnlocalizedName("glyphid_meat_grilled").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":glyphid_meat_grilled"); + glyphid_meat = new ItemLemon(3, 0.5F, true).setUnlocalizedName("glyphid_meat").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":glyphid_meat"); + glyphid_meat_grilled = new ItemLemon(8, 0.75F, true).setPotionEffect(Potion.damageBoost.id, 180, 1, 1F).setUnlocalizedName("glyphid_meat_grilled").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":glyphid_meat_grilled"); egg_glyphid = new Item().setUnlocalizedName("egg_glyphid").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":egg_glyphid"); defuser = new ItemTooling(ToolType.DEFUSER, 100).setUnlocalizedName("defuser").setMaxStackSize(1).setFull3D().setCreativeTab(MainRegistry.nukeTab).setTextureName(RefStrings.MODID + ":defuser"); @@ -4427,8 +4419,6 @@ public class ModItems { battery_potatos = new ItemPotatos(500000, 0, 100).setUnlocalizedName("battery_potatos").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_potatos"); battery_su = new ItemBattery(50000, 0, 1000).setUnlocalizedName("battery_su").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_su"); battery_su_l = new ItemBattery(150000, 0, 1000).setUnlocalizedName("battery_su_l").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_su_l"); - battery_steam = new ItemBattery(60000, 300, 6000).setUnlocalizedName("battery_steam").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_steam"); - battery_steam_large = new ItemBattery(100000, 500, 10000).setUnlocalizedName("battery_steam_large").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":battery_steam_large"); hev_battery = new ItemFusionCore(150000).setUnlocalizedName("hev_battery").setMaxStackSize(4).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":hev_battery"); fusion_core = new ItemFusionCore(2500000).setUnlocalizedName("fusion_core").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fusion_core"); fusion_core_infinite = new Item().setUnlocalizedName("fusion_core_infinite").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fusion_core_infinite"); @@ -4436,7 +4426,6 @@ public class ModItems { fuse = new ItemCustomLore().setUnlocalizedName("fuse").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fuse"); redcoil_capacitor = new ItemCapacitor(10).setUnlocalizedName("redcoil_capacitor").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":redcoil_capacitor"); euphemium_capacitor = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("euphemium_capacitor").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":redcoil_capacitor_euphemium"); - titanium_filter = new ItemTitaniumFilter(6 * 60 * 60 * 20).setUnlocalizedName("titanium_filter").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":titanium_filter"); screwdriver = new ItemTooling(ToolType.SCREWDRIVER, 100).setUnlocalizedName("screwdriver"); screwdriver_desh = new ItemTooling(ToolType.SCREWDRIVER, 0).setUnlocalizedName("screwdriver_desh"); hand_drill = new ItemTooling(ToolType.HAND_DRILL, 100).setUnlocalizedName("hand_drill"); @@ -4467,6 +4456,8 @@ public class ModItems { fusion_shield_chlorophyte = new ItemFusionShield(60 * 60 * 60 * 15, 9000).setUnlocalizedName("fusion_shield_chlorophyte").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fusion_shield_chlorophyte"); fusion_shield_vaporwave = new ItemFusionShield(60 * 60 * 60 * 10, 1916169).setUnlocalizedName("fusion_shield_vaporwave").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fusion_shield_vaporwave"); + upgrade_muffler = new ItemMuffler().setUnlocalizedName("upgrade_muffler").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":upgrade_muffler"); + upgrade_template = new ItemCustomLore().setUnlocalizedName("upgrade_template").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":upgrade_template"); upgrade_speed_1 = new ItemMachineUpgrade(UpgradeType.SPEED, 1).setUnlocalizedName("upgrade_speed_1").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_speed_1"); upgrade_speed_2 = new ItemMachineUpgrade(UpgradeType.SPEED, 2).setUnlocalizedName("upgrade_speed_2").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":upgrade_speed_2"); @@ -4616,6 +4607,7 @@ public class ModItems { key = new ItemKey().setUnlocalizedName("key").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":key"); key_red = new ItemCustomLore().setUnlocalizedName("key_red").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":key_red"); + key_red_cracked = new ItemCustomLore().setUnlocalizedName("key_red_cracked").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":key_red_cracked"); key_kit = new ItemCounterfitKeys().setUnlocalizedName("key_kit").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":key_pair"); key_fake = new ItemKey().setUnlocalizedName("key_fake").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":key_gold"); pin = new ItemCustomLore().setUnlocalizedName("pin").setMaxStackSize(8).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":pin"); @@ -4641,9 +4633,26 @@ public class ModItems { fluid_tank_full = new ItemFluidTank().setUnlocalizedName("fluid_tank_full").setContainerItem(ModItems.fluid_tank_empty).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank"); fluid_tank_lead_empty = new Item().setUnlocalizedName("fluid_tank_lead_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank_lead"); fluid_tank_lead_full = new ItemFluidTank().setUnlocalizedName("fluid_tank_lead_full").setContainerItem(ModItems.fluid_tank_lead_empty).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank_lead"); - fluid_barrel_full = new ItemFluidTank().setUnlocalizedName("fluid_barrel_full").setContainerItem(ModItems.fluid_barrel_empty).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_barrel"); fluid_barrel_empty = new Item().setUnlocalizedName("fluid_barrel_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_barrel"); + fluid_barrel_full = new ItemFluidTank().setUnlocalizedName("fluid_barrel_full").setContainerItem(ModItems.fluid_barrel_empty).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_barrel"); fluid_barrel_infinite = new ItemInfiniteFluid(null, 1_000_000_000).setUnlocalizedName("fluid_barrel_infinite").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_barrel_infinite"); + pipette = new ItemPipette().setUnlocalizedName("pipette").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pipette"); + pipette_boron = new ItemPipette().setUnlocalizedName("pipette_boron").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pipette_boron"); + pipette_laboratory = new ItemPipette().setUnlocalizedName("pipette_laboratory").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pipette_laboratory"); + siphon = new ItemFluidSiphon().setUnlocalizedName("siphon").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":siphon"); + inf_water = new ItemInfiniteFluid(Fluids.WATER, 50).setUnlocalizedName("inf_water").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":inf_water"); + inf_water_mk2 = new ItemInfiniteFluid(Fluids.WATER, 500).setUnlocalizedName("inf_water_mk2").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":inf_water_mk2"); + + FluidTank.noDualUnload.add(fluid_barrel_infinite); + FluidTank.noDualUnload.add(inf_water); + FluidTank.noDualUnload.add(inf_water_mk2); + + disperser_canister_empty = new Item().setUnlocalizedName("disperser_canister_empty").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":disperser_canister"); + disperser_canister = new ItemDisperser().setUnlocalizedName("disperser_canister").setContainerItem(ModItems.disperser_canister_empty).setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":disperser_canister"); + + glyphid_gland_empty = new Item().setUnlocalizedName("glyphid_gland_empty").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":glyphid_gland"); + glyphid_gland = new ItemDisperser().setUnlocalizedName("glyphid_gland").setContainerItem(ModItems.glyphid_gland_empty).setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":glyphid_gland"); + siren_track = new ItemCassette().setUnlocalizedName("siren_track").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":cassette"); fluid_duct = new ItemFluidDuct().setUnlocalizedName("fluid_duct").setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":duct"); @@ -4964,7 +4973,7 @@ public class ModItems { ArmorMaterial aMatTrench = EnumHelper.addArmorMaterial("HBM_TRENCH", 150, new int[] { 3, 8, 6, 3 }, 100); aMatTrench.customCraftingMaterial = ModItems.plate_iron; - trenchmaster_helmet = new ArmorTrenchmaster(aMatTrench, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png").setMod(0.25F).setThreshold(5.0F) + trenchmaster_helmet = new ArmorTrenchmaster(aMatTrench, 0, RefStrings.MODID + ":textures/armor/starmetal_1.png").setMod(0.125F).setThreshold(5.0F) .addEffect(new PotionEffect(Potion.damageBoost.id, 20, 2)) .addEffect(new PotionEffect(Potion.digSpeed.id, 20, 1)) .addEffect(new PotionEffect(Potion.jump.id, 20, 1)) @@ -5234,6 +5243,16 @@ public class ModItems { .addHitAbility(new WeaponAbility.VampireAbility(2F)) .addHitAbility(new WeaponAbility.BeheaderAbility()) .setDepthRockBreaker().setUnlocalizedName("bismuth_pickaxe").setTextureName(RefStrings.MODID + ":bismuth_pickaxe"); + bismuth_axe = new ItemToolAbility(125F, 0, matBismuth, EnumToolType.AXE) + .addBreakAbility(new ToolAbility.HammerAbility(2)) + .addBreakAbility(new ToolAbility.RecursionAbility(4)) + .addBreakAbility(new ToolAbility.ShredderAbility()) + .addBreakAbility(new ToolAbility.LuckAbility(2)) + .addBreakAbility(new ToolAbility.SilkAbility()) + .addHitAbility(new WeaponAbility.StunAbility(10)) + .addHitAbility(new WeaponAbility.VampireAbility(3F)) + .addHitAbility(new WeaponAbility.BeheaderAbility()).setUnlocalizedName("bismuth_axe").setTextureName(RefStrings.MODID + ":bismuth_axe"); + ToolMaterial matVolcano = EnumHelper.addToolMaterial("HBM_VOLCANIC", 4, 0, 50F, 0.0F, 200).setRepairItem(new ItemStack(ModItems.ingot_bismuth)); volcanic_pickaxe = new ItemToolAbility(15F, 0, matVolcano, EnumToolType.MINER) @@ -5246,6 +5265,15 @@ public class ModItems { .addHitAbility(new WeaponAbility.VampireAbility(2F)) .addHitAbility(new WeaponAbility.BeheaderAbility()) .setDepthRockBreaker().setUnlocalizedName("volcanic_pickaxe").setTextureName(RefStrings.MODID + ":volcanic_pickaxe"); + volcanic_axe = new ItemToolAbility(125F, 0, matVolcano, EnumToolType.AXE) + .addBreakAbility(new ToolAbility.HammerAbility(2)) + .addBreakAbility(new ToolAbility.RecursionAbility(4)) + .addBreakAbility(new ToolAbility.SmelterAbility()) + .addBreakAbility(new ToolAbility.LuckAbility(3)) + .addBreakAbility(new ToolAbility.SilkAbility()) + .addHitAbility(new WeaponAbility.FireAbility(10)) + .addHitAbility(new WeaponAbility.VampireAbility(3F)) + .addHitAbility(new WeaponAbility.BeheaderAbility()).setUnlocalizedName("volcanic_axe").setTextureName(RefStrings.MODID + ":volcanic_axe"); ToolMaterial matChlorophyte = EnumHelper.addToolMaterial("HBM_CHLOROPHYTE", 4, 0, 75F, 0.0F, 200).setRepairItem(new ItemStack(ModItems.powder_chlorophyte)); chlorophyte_pickaxe = new ItemToolAbility(20F, 0, matChlorophyte, EnumToolType.MINER) @@ -5258,7 +5286,14 @@ public class ModItems { .addHitAbility(new WeaponAbility.VampireAbility(5F)) .addHitAbility(new WeaponAbility.BeheaderAbility()) .setDepthRockBreaker().setUnlocalizedName("chlorophyte_pickaxe").setTextureName(RefStrings.MODID + ":chlorophyte_pickaxe"); - + chlorophyte_axe = new ItemToolAbility(175F, 0, matChlorophyte, EnumToolType.AXE) + .addBreakAbility(new ToolAbility.HammerAbility(2)) + .addBreakAbility(new ToolAbility.RecursionAbility(4)) + .addBreakAbility(new ToolAbility.LuckAbility(4)) + .addHitAbility(new WeaponAbility.StunAbility(15)) + .addHitAbility(new WeaponAbility.VampireAbility(10F)) + .addHitAbility(new WeaponAbility.BeheaderAbility()).setUnlocalizedName("chlorophyte_axe").setTextureName(RefStrings.MODID + ":chlorophyte_axe"); + ToolMaterial matMese = EnumHelper.addToolMaterial("HBM_MESE", 4, 0, 100F, 0.0F, 200).setRepairItem(new ItemStack(ModItems.plate_paa)); mese_pickaxe = new ItemToolAbility(35F, 0, matMese, EnumToolType.MINER) .addBreakAbility(new ToolAbility.HammerAbility(3)) @@ -5274,9 +5309,25 @@ public class ModItems { .addHitAbility(new WeaponAbility.PhosphorusAbility(60)) .addHitAbility(new WeaponAbility.BeheaderAbility()) .setDepthRockBreaker().setUnlocalizedName("mese_pickaxe").setTextureName(RefStrings.MODID + ":mese_pickaxe"); + mese_axe = new ItemToolAbility(250F, 0, matMese, EnumToolType.AXE) + .addBreakAbility(new ToolAbility.HammerAbility(3)) + .addBreakAbility(new ToolAbility.RecursionAbility(5)) + .addBreakAbility(new ToolAbility.SilkAbility()) + .addBreakAbility(new ToolAbility.LuckAbility(9)) + .addBreakAbility(new ToolAbility.ExplosionAbility(2.5F)) + .addBreakAbility(new ToolAbility.ExplosionAbility(5F)) + .addBreakAbility(new ToolAbility.ExplosionAbility(10F)) + .addBreakAbility(new ToolAbility.ExplosionAbility(15F)) + .addHitAbility(new WeaponAbility.StunAbility(15)) + .addHitAbility(new WeaponAbility.PhosphorusAbility(90)) + .addHitAbility(new WeaponAbility.BeheaderAbility()).setUnlocalizedName("mese_axe").setTextureName(RefStrings.MODID + ":mese_axe"); dnt_sword = new ItemSwordAbility(12F, 0, matMese).setUnlocalizedName("dnt_sword").setTextureName(RefStrings.MODID + ":dnt_sword"); + ToolMaterial matDwarf = EnumHelper.addToolMaterial("HBM_DWARVEN", 2, 0, 4F, 0.0F, 10).setRepairItem(new ItemStack(ModItems.ingot_copper)); + dwarven_pickaxe = new ItemToolAbility(5F, -0.1, matDwarf, EnumToolType.MINER) + .addBreakAbility(new ToolAbility.HammerAbility(1)).setUnlocalizedName("dwarven_pickaxe").setMaxDamage(250).setTextureName(RefStrings.MODID + ":dwarven_pickaxe"); + ToolMaterial matMeteorite = EnumHelper.addToolMaterial("HBM_METEORITE", 4, 0, 50F, 0.0F, 200).setRepairItem(new ItemStack(ModItems.plate_paa)); meteorite_sword = new ItemSwordMeteorite(10F, 0, matMeteorite).setUnlocalizedName("meteorite_sword").setTextureName(RefStrings.MODID + ":meteorite_sword"); meteorite_sword_seared = new ItemSwordMeteorite(15F, 0, matMeteorite).setUnlocalizedName("meteorite_sword_seared").setTextureName(RefStrings.MODID + ":meteorite_sword"); @@ -5325,8 +5376,6 @@ public class ModItems { liquidator_legs = new ArmorLiquidator(aMatLiquidator, 2, RefStrings.MODID + ":textures/armor/liquidator_2.png").cloneStats((ArmorFSB) liquidator_helmet).setUnlocalizedName("liquidator_legs").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":liquidator_legs"); liquidator_boots = new ArmorLiquidator(aMatLiquidator, 3, RefStrings.MODID + ":textures/armor/liquidator_1.png").cloneStats((ArmorFSB) liquidator_helmet).setUnlocalizedName("liquidator_boots").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":liquidator_boots"); - australium_iii = new ArmorAustralium(MainRegistry.aMatAus3, 1).setUnlocalizedName("australium_iii").setMaxStackSize(1).setTextureName(RefStrings.MODID + ":australium_iii"); - jetpack_boost = new JetpackBooster(Fluids.BALEFIRE, 32000).setUnlocalizedName("jetpack_boost").setCreativeTab(CreativeTabs.tabCombat).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":jetpack_boost"); jetpack_break = new JetpackBreak(Fluids.KEROSENE, 12000).setUnlocalizedName("jetpack_break").setCreativeTab(CreativeTabs.tabCombat).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":jetpack_break"); jetpack_fly = new JetpackRegular(Fluids.KEROSENE, 12000).setUnlocalizedName("jetpack_fly").setCreativeTab(CreativeTabs.tabCombat).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":jetpack_fly"); @@ -5397,6 +5446,7 @@ public class ModItems { door_metal = new ItemModDoor().setUnlocalizedName("door_metal").setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":door_metal"); door_office = new ItemModDoor().setUnlocalizedName("door_office").setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":door_office"); door_bunker = new ItemModDoor().setUnlocalizedName("door_bunker").setCreativeTab(MainRegistry.blockTab).setTextureName(RefStrings.MODID + ":door_bunker"); + door_red = new ItemModDoor().setUnlocalizedName("door_red").setCreativeTab(null).setTextureName(RefStrings.MODID + ":door_red"); sliding_blast_door_skin = new ItemSlidingBlastDoorSkin().setUnlocalizedName("sliding_blast_door_skin").setCreativeTab(CreativeTabs.tabMisc).setTextureName(RefStrings.MODID + ":sliding_blast_door_default"); @@ -5416,6 +5466,7 @@ public class ModItems { book_secret = new ItemCustomLore().setUnlocalizedName("book_secret").setCreativeTab(MainRegistry.polaroidID == 11 ? MainRegistry.consumableTab : null).setTextureName(RefStrings.MODID + ":book_secret"); book_of_ = new ItemBook().setUnlocalizedName("book_of_").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":book_of_"); page_of_ = new ItemEnumMulti(ItemEnums.EnumPages.class, true, false).setUnlocalizedName("page_of_").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":page_of_"); + book_lemegeton = new ItemBookLemegeton().setUnlocalizedName("book_lemegeton").setMaxStackSize(1).setCreativeTab(null).setTextureName(RefStrings.MODID + ":book_lemegeton"); burnt_bark = new ItemCustomLore().setUnlocalizedName("burnt_bark").setCreativeTab(null).setTextureName(RefStrings.MODID + ":burnt_bark"); smoke1 = new Item().setUnlocalizedName("smoke1").setTextureName(RefStrings.MODID + ":smoke1"); @@ -5595,6 +5646,8 @@ public class ModItems { GameRegistry.registerItem(ingot_steel, ingot_steel.getUnlocalizedName()); GameRegistry.registerItem(ingot_tcalloy, ingot_tcalloy.getUnlocalizedName()); GameRegistry.registerItem(ingot_cdalloy, ingot_cdalloy.getUnlocalizedName()); + GameRegistry.registerItem(ingot_bismuth_bronze, ingot_bismuth_bronze.getUnlocalizedName()); + GameRegistry.registerItem(ingot_arsenic_bronze, ingot_arsenic_bronze.getUnlocalizedName()); GameRegistry.registerItem(ingot_lead, ingot_lead.getUnlocalizedName()); GameRegistry.registerItem(ingot_bismuth, ingot_bismuth.getUnlocalizedName()); GameRegistry.registerItem(ingot_arsenic, ingot_arsenic.getUnlocalizedName()); @@ -5612,7 +5665,6 @@ public class ModItems { GameRegistry.registerItem(ingot_bakelite, ingot_bakelite.getUnlocalizedName()); GameRegistry.registerItem(ingot_biorubber, ingot_biorubber.getUnlocalizedName()); GameRegistry.registerItem(ingot_rubber, ingot_rubber.getUnlocalizedName()); - //GameRegistry.registerItem(ingot_pet, ingot_pet.getUnlocalizedName()); GameRegistry.registerItem(ingot_pc, ingot_pc.getUnlocalizedName()); GameRegistry.registerItem(ingot_pvc, ingot_pvc.getUnlocalizedName()); GameRegistry.registerItem(ingot_mud, ingot_mud.getUnlocalizedName()); @@ -5789,6 +5841,7 @@ public class ModItems { GameRegistry.registerItem(powder_impure_osmiridium, powder_impure_osmiridium.getUnlocalizedName()); GameRegistry.registerItem(powder_borax, powder_borax.getUnlocalizedName()); GameRegistry.registerItem(powder_chlorocalcite, powder_chlorocalcite.getUnlocalizedName()); + GameRegistry.registerItem(powder_molysite, powder_molysite.getUnlocalizedName()); GameRegistry.registerItem(powder_yellowcake, powder_yellowcake.getUnlocalizedName()); GameRegistry.registerItem(powder_beryllium, powder_beryllium.getUnlocalizedName()); GameRegistry.registerItem(powder_dura_steel, powder_dura_steel.getUnlocalizedName()); @@ -5833,7 +5886,6 @@ public class ModItems { GameRegistry.registerItem(powder_boron_tiny, powder_boron_tiny.getUnlocalizedName()); GameRegistry.registerItem(powder_asbestos, powder_asbestos.getUnlocalizedName()); GameRegistry.registerItem(powder_magic, powder_magic.getUnlocalizedName()); - GameRegistry.registerItem(powder_cloud, powder_cloud.getUnlocalizedName()); GameRegistry.registerItem(powder_sawdust, powder_sawdust.getUnlocalizedName()); GameRegistry.registerItem(powder_flux, powder_flux.getUnlocalizedName()); GameRegistry.registerItem(powder_fertilizer, powder_fertilizer.getUnlocalizedName()); @@ -5914,6 +5966,7 @@ public class ModItems { GameRegistry.registerItem(gem_sodalite, gem_sodalite.getUnlocalizedName()); GameRegistry.registerItem(gem_tantalium, gem_tantalium.getUnlocalizedName()); GameRegistry.registerItem(gem_volcanic, gem_volcanic.getUnlocalizedName()); + GameRegistry.registerItem(gem_rad, gem_rad.getUnlocalizedName()); GameRegistry.registerItem(gem_alexandrite, gem_alexandrite.getUnlocalizedName()); //Fragments @@ -5926,6 +5979,7 @@ public class ModItems { GameRegistry.registerItem(fragment_boron, fragment_boron.getUnlocalizedName()); GameRegistry.registerItem(fragment_meteorite, fragment_meteorite.getUnlocalizedName()); GameRegistry.registerItem(fragment_coltan, fragment_coltan.getUnlocalizedName()); + GameRegistry.registerItem(chunk_ore, chunk_ore.getUnlocalizedName()); //Things that look like rotten flesh but aren't GameRegistry.registerItem(biomass, biomass.getUnlocalizedName()); @@ -5998,6 +6052,7 @@ public class ModItems { GameRegistry.registerItem(plate_lead, plate_lead.getUnlocalizedName()); GameRegistry.registerItem(plate_copper, plate_copper.getUnlocalizedName()); GameRegistry.registerItem(plate_advanced_alloy, plate_advanced_alloy.getUnlocalizedName()); + GameRegistry.registerItem(plate_dura_steel, plate_dura_steel.getUnlocalizedName()); GameRegistry.registerItem(neutron_reflector, neutron_reflector.getUnlocalizedName()); GameRegistry.registerItem(plate_schrabidium, plate_schrabidium.getUnlocalizedName()); GameRegistry.registerItem(plate_combine_steel, plate_combine_steel.getUnlocalizedName()); @@ -6023,15 +6078,13 @@ public class ModItems { //Heavy/Cast Plate GameRegistry.registerItem(plate_cast, plate_cast.getUnlocalizedName()); GameRegistry.registerItem(plate_welded, plate_welded.getUnlocalizedName()); + GameRegistry.registerItem(shell, shell.getUnlocalizedName()); + GameRegistry.registerItem(pipe, pipe.getUnlocalizedName()); GameRegistry.registerItem(heavy_component, heavy_component.getUnlocalizedName()); - //Boards - GameRegistry.registerItem(board_copper, board_copper.getUnlocalizedName()); - //Bolts - GameRegistry.registerItem(bolt_dura_steel, bolt_dura_steel.getUnlocalizedName()); - GameRegistry.registerItem(bolt_tungsten, bolt_tungsten.getUnlocalizedName()); - GameRegistry.registerItem(bolt_compound, bolt_compound.getUnlocalizedName()); + GameRegistry.registerItem(bolt, bolt.getUnlocalizedName()); + GameRegistry.registerItem(bolt_spike, bolt_spike.getUnlocalizedName()); //Cloth GameRegistry.registerItem(hazmat_cloth, hazmat_cloth.getUnlocalizedName()); @@ -6104,11 +6157,6 @@ public class ModItems { GameRegistry.registerItem(component_emitter, component_emitter.getUnlocalizedName()); //Bomb Parts - GameRegistry.registerItem(hull_small_steel, hull_small_steel.getUnlocalizedName()); - GameRegistry.registerItem(hull_small_aluminium, hull_small_aluminium.getUnlocalizedName()); - GameRegistry.registerItem(hull_big_steel, hull_big_steel.getUnlocalizedName()); - GameRegistry.registerItem(hull_big_aluminium, hull_big_aluminium.getUnlocalizedName()); - GameRegistry.registerItem(hull_big_titanium, hull_big_titanium.getUnlocalizedName()); GameRegistry.registerItem(fins_flat, fins_flat.getUnlocalizedName()); GameRegistry.registerItem(fins_small_steel, fins_small_steel.getUnlocalizedName()); GameRegistry.registerItem(fins_big_steel, fins_big_steel.getUnlocalizedName()); @@ -6117,8 +6165,6 @@ public class ModItems { GameRegistry.registerItem(sphere_steel, sphere_steel.getUnlocalizedName()); GameRegistry.registerItem(pedestal_steel, pedestal_steel.getUnlocalizedName()); GameRegistry.registerItem(dysfunctional_reactor, dysfunctional_reactor.getUnlocalizedName()); - GameRegistry.registerItem(rotor_steel, rotor_steel.getUnlocalizedName()); - GameRegistry.registerItem(generator_steel, generator_steel.getUnlocalizedName()); GameRegistry.registerItem(blade_titanium, blade_titanium.getUnlocalizedName()); GameRegistry.registerItem(blade_tungsten, blade_tungsten.getUnlocalizedName()); GameRegistry.registerItem(turbine_titanium, turbine_titanium.getUnlocalizedName()); @@ -6145,8 +6191,6 @@ public class ModItems { GameRegistry.registerItem(warhead_mirvlet, warhead_mirvlet.getUnlocalizedName()); GameRegistry.registerItem(warhead_mirv, warhead_mirv.getUnlocalizedName()); GameRegistry.registerItem(warhead_volcano, warhead_volcano.getUnlocalizedName()); - GameRegistry.registerItem(warhead_thermo_endo, warhead_thermo_endo.getUnlocalizedName()); - GameRegistry.registerItem(warhead_thermo_exo, warhead_thermo_exo.getUnlocalizedName()); GameRegistry.registerItem(fuel_tank_small, fuel_tank_small.getUnlocalizedName()); GameRegistry.registerItem(fuel_tank_medium, fuel_tank_medium.getUnlocalizedName()); GameRegistry.registerItem(fuel_tank_large, fuel_tank_large.getUnlocalizedName()); @@ -6280,21 +6324,9 @@ public class ModItems { GameRegistry.registerItem(pellet_claws, pellet_claws.getUnlocalizedName()); GameRegistry.registerItem(pellet_charged, pellet_charged.getUnlocalizedName()); GameRegistry.registerItem(pellet_gas, pellet_gas.getUnlocalizedName()); - GameRegistry.registerItem(magnetron, magnetron.getUnlocalizedName()); - GameRegistry.registerItem(pellet_coal, pellet_coal.getUnlocalizedName()); - //Watz Pellets - GameRegistry.registerItem(pellet_schrabidium, pellet_schrabidium.getUnlocalizedName()); - GameRegistry.registerItem(pellet_hes, pellet_hes.getUnlocalizedName()); - GameRegistry.registerItem(pellet_mes, pellet_mes.getUnlocalizedName()); - GameRegistry.registerItem(pellet_les, pellet_les.getUnlocalizedName()); - GameRegistry.registerItem(pellet_beryllium, pellet_beryllium.getUnlocalizedName()); - GameRegistry.registerItem(pellet_neptunium, pellet_neptunium.getUnlocalizedName()); - GameRegistry.registerItem(pellet_lead, pellet_lead.getUnlocalizedName()); - GameRegistry.registerItem(pellet_advanced, pellet_advanced.getUnlocalizedName()); - //Engine Pieces GameRegistry.registerItem(piston_selenium, piston_selenium.getUnlocalizedName()); GameRegistry.registerItem(piston_set, piston_set.getUnlocalizedName()); @@ -6348,7 +6380,7 @@ public class ModItems { GameRegistry.registerItem(inf_water_mk2, inf_water_mk2.getUnlocalizedName()); //Canisters - GameRegistry.registerItem(antiknock, antiknock.getUnlocalizedName()); + GameRegistry.registerItem(fuel_additive, fuel_additive.getUnlocalizedName()); GameRegistry.registerItem(canister_empty, canister_empty.getUnlocalizedName()); GameRegistry.registerItem(canister_full, canister_full.getUnlocalizedName()); GameRegistry.registerItem(canister_napalm, canister_napalm.getUnlocalizedName()); @@ -6365,7 +6397,22 @@ public class ModItems { GameRegistry.registerItem(fluid_barrel_empty, fluid_barrel_empty.getUnlocalizedName()); GameRegistry.registerItem(fluid_barrel_full, fluid_barrel_full.getUnlocalizedName()); GameRegistry.registerItem(fluid_barrel_infinite, fluid_barrel_infinite.getUnlocalizedName()); - + + //Pipette + GameRegistry.registerItem(pipette, pipette.getUnlocalizedName()); + GameRegistry.registerItem(pipette_boron, pipette_boron.getUnlocalizedName()); + GameRegistry.registerItem(pipette_laboratory, pipette_laboratory.getUnlocalizedName()); + + //Siphon + GameRegistry.registerItem(siphon, siphon.getUnlocalizedName()); + + //Disperser Canister + GameRegistry.registerItem(disperser_canister_empty, disperser_canister_empty.getUnlocalizedName()); + GameRegistry.registerItem(disperser_canister, disperser_canister.getUnlocalizedName()); + + GameRegistry.registerItem(glyphid_gland_empty, glyphid_gland_empty.getUnlocalizedName()); + GameRegistry.registerItem(glyphid_gland, glyphid_gland.getUnlocalizedName()); + //Batteries GameRegistry.registerItem(battery_generic, battery_generic.getUnlocalizedName()); GameRegistry.registerItem(battery_red_cell, battery_red_cell.getUnlocalizedName()); @@ -6398,8 +6445,6 @@ public class ModItems { GameRegistry.registerItem(battery_su_l, battery_su_l.getUnlocalizedName()); GameRegistry.registerItem(battery_potato, battery_potato.getUnlocalizedName()); GameRegistry.registerItem(battery_potatos, battery_potatos.getUnlocalizedName()); - GameRegistry.registerItem(battery_steam, battery_steam.getUnlocalizedName()); - GameRegistry.registerItem(battery_steam_large, battery_steam_large.getUnlocalizedName()); GameRegistry.registerItem(battery_sc_uranium, battery_sc_uranium.getUnlocalizedName()); GameRegistry.registerItem(battery_sc_technetium, battery_sc_technetium.getUnlocalizedName()); GameRegistry.registerItem(battery_sc_plutonium, battery_sc_plutonium.getUnlocalizedName()); @@ -6465,6 +6510,7 @@ public class ModItems { GameRegistry.registerItem(scraps, scraps.getUnlocalizedName()); //Machine Upgrades + GameRegistry.registerItem(upgrade_muffler, upgrade_muffler.getUnlocalizedName()); GameRegistry.registerItem(upgrade_template, upgrade_template.getUnlocalizedName()); GameRegistry.registerItem(upgrade_speed_1, upgrade_speed_1.getUnlocalizedName()); GameRegistry.registerItem(upgrade_speed_2, upgrade_speed_2.getUnlocalizedName()); @@ -6512,7 +6558,6 @@ public class ModItems { GameRegistry.registerItem(fuse, fuse.getUnlocalizedName()); GameRegistry.registerItem(redcoil_capacitor, redcoil_capacitor.getUnlocalizedName()); GameRegistry.registerItem(euphemium_capacitor, euphemium_capacitor.getUnlocalizedName()); - GameRegistry.registerItem(titanium_filter, titanium_filter.getUnlocalizedName()); GameRegistry.registerItem(screwdriver, screwdriver.getUnlocalizedName()); GameRegistry.registerItem(screwdriver_desh, screwdriver_desh.getUnlocalizedName()); GameRegistry.registerItem(hand_drill, hand_drill.getUnlocalizedName()); @@ -6741,6 +6786,10 @@ public class ModItems { GameRegistry.registerItem(watz_pellet, watz_pellet.getUnlocalizedName()); GameRegistry.registerItem(watz_pellet_depleted, watz_pellet_depleted.getUnlocalizedName()); + + GameRegistry.registerItem(icf_pellet_empty, icf_pellet_empty.getUnlocalizedName()); + GameRegistry.registerItem(icf_pellet, icf_pellet.getUnlocalizedName()); + GameRegistry.registerItem(icf_pellet_depleted, icf_pellet_depleted.getUnlocalizedName()); GameRegistry.registerItem(debris_graphite, debris_graphite.getUnlocalizedName()); GameRegistry.registerItem(debris_metal, debris_metal.getUnlocalizedName()); @@ -6780,9 +6829,7 @@ public class ModItems { GameRegistry.registerItem(designator_range, designator_range.getUnlocalizedName()); GameRegistry.registerItem(designator_manual, designator_manual.getUnlocalizedName()); GameRegistry.registerItem(designator_arty_range, designator_arty_range.getUnlocalizedName()); - //GameRegistry.registerItem(turret_control, turret_control.getUnlocalizedName()); GameRegistry.registerItem(turret_chip, turret_chip.getUnlocalizedName()); - //GameRegistry.registerItem(turret_biometry, turret_biometry.getUnlocalizedName()); GameRegistry.registerItem(linker, linker.getUnlocalizedName()); GameRegistry.registerItem(reactor_sensor, reactor_sensor.getUnlocalizedName()); GameRegistry.registerItem(oil_detector, oil_detector.getUnlocalizedName()); @@ -6805,6 +6852,7 @@ public class ModItems { //Keys and Locks GameRegistry.registerItem(key, key.getUnlocalizedName()); GameRegistry.registerItem(key_red, key_red.getUnlocalizedName()); + GameRegistry.registerItem(key_red_cracked, key_red_cracked.getUnlocalizedName()); GameRegistry.registerItem(key_kit, key_kit.getUnlocalizedName()); GameRegistry.registerItem(key_fake, key_fake.getUnlocalizedName()); GameRegistry.registerItem(mech_key, mech_key.getUnlocalizedName()); @@ -6813,35 +6861,45 @@ public class ModItems { GameRegistry.registerItem(padlock, padlock.getUnlocalizedName()); GameRegistry.registerItem(padlock_reinforced, padlock_reinforced.getUnlocalizedName()); GameRegistry.registerItem(padlock_unbreakable, padlock_unbreakable.getUnlocalizedName()); + GameRegistry.registerItem(launch_code_piece, launch_code_piece.getUnlocalizedName()); + GameRegistry.registerItem(launch_code, launch_code.getUnlocalizedName()); + GameRegistry.registerItem(launch_key, launch_key.getUnlocalizedName()); //Missiles - GameRegistry.registerItem(missile_generic, missile_generic.getUnlocalizedName()); - GameRegistry.registerItem(missile_anti_ballistic, missile_anti_ballistic.getUnlocalizedName()); - GameRegistry.registerItem(missile_decoy, missile_decoy.getUnlocalizedName()); - GameRegistry.registerItem(missile_incendiary, missile_incendiary.getUnlocalizedName()); - GameRegistry.registerItem(missile_cluster, missile_cluster.getUnlocalizedName()); - GameRegistry.registerItem(missile_buster, missile_buster.getUnlocalizedName()); - GameRegistry.registerItem(missile_strong, missile_strong.getUnlocalizedName()); - GameRegistry.registerItem(missile_incendiary_strong, missile_incendiary_strong.getUnlocalizedName()); - GameRegistry.registerItem(missile_cluster_strong, missile_cluster_strong.getUnlocalizedName()); - GameRegistry.registerItem(missile_buster_strong, missile_buster_strong.getUnlocalizedName()); - GameRegistry.registerItem(missile_emp_strong, missile_emp_strong.getUnlocalizedName()); - GameRegistry.registerItem(missile_burst, missile_burst.getUnlocalizedName()); - GameRegistry.registerItem(missile_inferno, missile_inferno.getUnlocalizedName()); - GameRegistry.registerItem(missile_rain, missile_rain.getUnlocalizedName()); - GameRegistry.registerItem(missile_drill, missile_drill.getUnlocalizedName()); - GameRegistry.registerItem(missile_nuclear, missile_nuclear.getUnlocalizedName()); - GameRegistry.registerItem(missile_nuclear_cluster, missile_nuclear_cluster.getUnlocalizedName()); - GameRegistry.registerItem(missile_volcano, missile_volcano.getUnlocalizedName()); - GameRegistry.registerItem(missile_endo, missile_endo.getUnlocalizedName()); - GameRegistry.registerItem(missile_exo, missile_exo.getUnlocalizedName()); - GameRegistry.registerItem(missile_doomsday, missile_doomsday.getUnlocalizedName()); + //Tier 0 + GameRegistry.registerItem(missile_test, missile_test.getUnlocalizedName()); GameRegistry.registerItem(missile_taint, missile_taint.getUnlocalizedName()); GameRegistry.registerItem(missile_micro, missile_micro.getUnlocalizedName()); GameRegistry.registerItem(missile_bhole, missile_bhole.getUnlocalizedName()); GameRegistry.registerItem(missile_schrabidium, missile_schrabidium.getUnlocalizedName()); GameRegistry.registerItem(missile_emp, missile_emp.getUnlocalizedName()); + //Tier 1 + GameRegistry.registerItem(missile_generic, missile_generic.getUnlocalizedName()); + GameRegistry.registerItem(missile_decoy, missile_decoy.getUnlocalizedName()); + GameRegistry.registerItem(missile_incendiary, missile_incendiary.getUnlocalizedName()); + GameRegistry.registerItem(missile_cluster, missile_cluster.getUnlocalizedName()); + GameRegistry.registerItem(missile_buster, missile_buster.getUnlocalizedName()); + GameRegistry.registerItem(missile_stealth, missile_stealth.getUnlocalizedName()); + GameRegistry.registerItem(missile_anti_ballistic, missile_anti_ballistic.getUnlocalizedName()); + //Tier 2 + GameRegistry.registerItem(missile_strong, missile_strong.getUnlocalizedName()); + GameRegistry.registerItem(missile_incendiary_strong, missile_incendiary_strong.getUnlocalizedName()); + GameRegistry.registerItem(missile_cluster_strong, missile_cluster_strong.getUnlocalizedName()); + GameRegistry.registerItem(missile_buster_strong, missile_buster_strong.getUnlocalizedName()); + GameRegistry.registerItem(missile_emp_strong, missile_emp_strong.getUnlocalizedName()); + //Tier 3 + GameRegistry.registerItem(missile_burst, missile_burst.getUnlocalizedName()); + GameRegistry.registerItem(missile_inferno, missile_inferno.getUnlocalizedName()); + GameRegistry.registerItem(missile_rain, missile_rain.getUnlocalizedName()); + GameRegistry.registerItem(missile_drill, missile_drill.getUnlocalizedName()); GameRegistry.registerItem(missile_shuttle, missile_shuttle.getUnlocalizedName()); + //Tier 4 + GameRegistry.registerItem(missile_nuclear, missile_nuclear.getUnlocalizedName()); + GameRegistry.registerItem(missile_nuclear_cluster, missile_nuclear_cluster.getUnlocalizedName()); + GameRegistry.registerItem(missile_volcano, missile_volcano.getUnlocalizedName()); + GameRegistry.registerItem(missile_doomsday, missile_doomsday.getUnlocalizedName()); + GameRegistry.registerItem(missile_doomsday_rusted, missile_doomsday_rusted.getUnlocalizedName()); + //Rockets GameRegistry.registerItem(missile_carrier, missile_carrier.getUnlocalizedName()); GameRegistry.registerItem(missile_soyuz, missile_soyuz.getUnlocalizedName()); GameRegistry.registerItem(missile_soyuz_lander, missile_soyuz_lander.getUnlocalizedName()); @@ -6999,6 +7057,7 @@ public class ModItems { GameRegistry.registerItem(sat_interface, sat_interface.getUnlocalizedName()); GameRegistry.registerItem(sat_coord, sat_coord.getUnlocalizedName()); GameRegistry.registerItem(sat_designator, sat_designator.getUnlocalizedName()); + GameRegistry.registerItem(sat_relay, sat_relay.getUnlocalizedName()); //Guns GameRegistry.registerItem(gun_revolver, gun_revolver.getUnlocalizedName()); @@ -7021,7 +7080,6 @@ public class ModItems { GameRegistry.registerItem(gun_calamity, gun_calamity.getUnlocalizedName()); GameRegistry.registerItem(gun_m2, gun_m2.getUnlocalizedName()); GameRegistry.registerItem(gun_minigun, gun_minigun.getUnlocalizedName()); - GameRegistry.registerItem(gun_avenger, gun_avenger.getUnlocalizedName()); GameRegistry.registerItem(gun_lacunae, gun_lacunae.getUnlocalizedName()); GameRegistry.registerItem(gun_folly, gun_folly.getUnlocalizedName()); GameRegistry.registerItem(gun_b92, gun_b92.getUnlocalizedName()); @@ -7083,37 +7141,13 @@ public class ModItems { GameRegistry.registerItem(gun_vortex, gun_vortex.getUnlocalizedName()); GameRegistry.registerItem(gun_super_shotgun, gun_super_shotgun.getUnlocalizedName()); GameRegistry.registerItem(gun_moist_nugget, gun_moist_nugget.getUnlocalizedName()); - GameRegistry.registerItem(gun_dampfmaschine, gun_dampfmaschine.getUnlocalizedName()); GameRegistry.registerItem(gun_darter, gun_darter.getUnlocalizedName()); - GameRegistry.registerItem(gun_detonator, gun_detonator.getUnlocalizedName()); GameRegistry.registerItem(crucible, crucible.getUnlocalizedName()); GameRegistry.registerItem(gun_glass_cannon, gun_glass_cannon.getUnlocalizedName()); GameRegistry.registerItem(gun_lunatic_marksman, gun_lunatic_marksman.getUnlocalizedName()); //Ammo - /*GameRegistry.registerItem(gun_revolver_iron_ammo, gun_revolver_iron_ammo.getUnlocalizedName()); - GameRegistry.registerItem(gun_revolver_ammo, gun_revolver_ammo.getUnlocalizedName()); - GameRegistry.registerItem(gun_revolver_gold_ammo, gun_revolver_gold_ammo.getUnlocalizedName()); - GameRegistry.registerItem(gun_revolver_lead_ammo, gun_revolver_lead_ammo.getUnlocalizedName()); - GameRegistry.registerItem(gun_revolver_schrabidium_ammo, gun_revolver_schrabidium_ammo.getUnlocalizedName()); - GameRegistry.registerItem(gun_revolver_cursed_ammo, gun_revolver_cursed_ammo.getUnlocalizedName()); - GameRegistry.registerItem(gun_revolver_nightmare_ammo, gun_revolver_nightmare_ammo.getUnlocalizedName()); - GameRegistry.registerItem(ammo_357_desh, ammo_357_desh.getUnlocalizedName()); - GameRegistry.registerItem(gun_revolver_nightmare2_ammo, gun_revolver_nightmare2_ammo.getUnlocalizedName());*/ - //GameRegistry.registerItem(gun_revolver_pip_ammo, gun_revolver_pip_ammo.getUnlocalizedName()); - //GameRegistry.registerItem(gun_revolver_nopip_ammo, gun_revolver_nopip_ammo.getUnlocalizedName()); - //GameRegistry.registerItem(gun_calamity_ammo, gun_calamity_ammo.getUnlocalizedName()); - //GameRegistry.registerItem(gun_lacunae_ammo, gun_lacunae_ammo.getUnlocalizedName()); GameRegistry.registerItem(gun_b92_ammo, gun_b92_ammo.getUnlocalizedName()); - //GameRegistry.registerItem(gun_rpg_ammo, gun_rpg_ammo.getUnlocalizedName()); - //GameRegistry.registerItem(gun_stinger_ammo, gun_stinger_ammo.getUnlocalizedName()); - //GameRegistry.registerItem(gun_fatman_ammo, gun_fatman_ammo.getUnlocalizedName()); - //GameRegistry.registerItem(gun_mirv_ammo, gun_mirv_ammo.getUnlocalizedName()); - //GameRegistry.registerItem(gun_mp40_ammo, gun_mp40_ammo.getUnlocalizedName()); - //GameRegistry.registerItem(gun_uzi_ammo, gun_uzi_ammo.getUnlocalizedName()); - //GameRegistry.registerItem(gun_uboinik_ammo, gun_uboinik_ammo.getUnlocalizedName()); - //GameRegistry.registerItem(gun_lever_action_ammo, gun_lever_action_ammo.getUnlocalizedName()); - //GameRegistry.registerItem(gun_bolt_action_ammo, gun_bolt_action_ammo.getUnlocalizedName()); GameRegistry.registerItem(gun_xvl1456_ammo, gun_xvl1456_ammo.getUnlocalizedName()); GameRegistry.registerItem(gun_osipr_ammo, gun_osipr_ammo.getUnlocalizedName()); GameRegistry.registerItem(gun_osipr_ammo2, gun_osipr_ammo2.getUnlocalizedName()); @@ -7151,157 +7185,9 @@ public class ModItems { GameRegistry.registerItem(ammo_coilgun, ammo_coilgun.getUnlocalizedName()); GameRegistry.registerItem(ammo_grenade, ammo_grenade.getUnlocalizedName()); GameRegistry.registerItem(ammo_shell, ammo_shell.getUnlocalizedName()); - - /*GameRegistry.registerItem(ammo_12gauge, ammo_12gauge.getUnlocalizedName()); - GameRegistry.registerItem(ammo_12gauge_incendiary, ammo_12gauge_incendiary.getUnlocalizedName()); - GameRegistry.registerItem(ammo_12gauge_shrapnel, ammo_12gauge_shrapnel.getUnlocalizedName()); - GameRegistry.registerItem(ammo_12gauge_du, ammo_12gauge_du.getUnlocalizedName()); - GameRegistry.registerItem(ammo_12gauge_sleek, ammo_12gauge_sleek.getUnlocalizedName()); - GameRegistry.registerItem(ammo_12gauge_marauder, ammo_12gauge_marauder.getUnlocalizedName()); - GameRegistry.registerItem(ammo_20gauge, ammo_20gauge.getUnlocalizedName()); - GameRegistry.registerItem(ammo_20gauge_slug, ammo_20gauge_slug.getUnlocalizedName()); - GameRegistry.registerItem(ammo_20gauge_flechette, ammo_20gauge_flechette.getUnlocalizedName()); - GameRegistry.registerItem(ammo_20gauge_incendiary, ammo_20gauge_incendiary.getUnlocalizedName()); - GameRegistry.registerItem(ammo_20gauge_shrapnel, ammo_20gauge_shrapnel.getUnlocalizedName()); - GameRegistry.registerItem(ammo_20gauge_explosive, ammo_20gauge_explosive.getUnlocalizedName()); - GameRegistry.registerItem(ammo_20gauge_caustic, ammo_20gauge_caustic.getUnlocalizedName()); - GameRegistry.registerItem(ammo_20gauge_shock, ammo_20gauge_shock.getUnlocalizedName()); - GameRegistry.registerItem(ammo_20gauge_wither, ammo_20gauge_wither.getUnlocalizedName()); - GameRegistry.registerItem(ammo_20gauge_sleek, ammo_20gauge_sleek.getUnlocalizedName()); - GameRegistry.registerItem(ammo_4gauge, ammo_4gauge.getUnlocalizedName()); - GameRegistry.registerItem(ammo_4gauge_slug, ammo_4gauge_slug.getUnlocalizedName()); - GameRegistry.registerItem(ammo_4gauge_flechette, ammo_4gauge_flechette.getUnlocalizedName()); - GameRegistry.registerItem(ammo_4gauge_flechette_phosphorus, ammo_4gauge_flechette_phosphorus.getUnlocalizedName()); - GameRegistry.registerItem(ammo_4gauge_explosive, ammo_4gauge_explosive.getUnlocalizedName()); - GameRegistry.registerItem(ammo_4gauge_semtex, ammo_4gauge_semtex.getUnlocalizedName()); - GameRegistry.registerItem(ammo_4gauge_balefire, ammo_4gauge_balefire.getUnlocalizedName()); - GameRegistry.registerItem(ammo_4gauge_kampf, ammo_4gauge_kampf.getUnlocalizedName()); - GameRegistry.registerItem(ammo_4gauge_canister, ammo_4gauge_canister.getUnlocalizedName()); - GameRegistry.registerItem(ammo_4gauge_claw, ammo_4gauge_claw.getUnlocalizedName()); - GameRegistry.registerItem(ammo_4gauge_vampire, ammo_4gauge_vampire.getUnlocalizedName()); - GameRegistry.registerItem(ammo_4gauge_void, ammo_4gauge_void.getUnlocalizedName()); - GameRegistry.registerItem(ammo_4gauge_titan, ammo_4gauge_titan.getUnlocalizedName()); - GameRegistry.registerItem(ammo_4gauge_sleek, ammo_4gauge_sleek.getUnlocalizedName()); - GameRegistry.registerItem(ammo_44, ammo_44.getUnlocalizedName()); - GameRegistry.registerItem(ammo_44_ap, ammo_44_ap.getUnlocalizedName()); - GameRegistry.registerItem(ammo_44_du, ammo_44_du.getUnlocalizedName()); - GameRegistry.registerItem(ammo_44_phosphorus, ammo_44_phosphorus.getUnlocalizedName()); - GameRegistry.registerItem(ammo_44_star, ammo_44_star.getUnlocalizedName()); - GameRegistry.registerItem(ammo_44_chlorophyte, ammo_44_chlorophyte.getUnlocalizedName()); - GameRegistry.registerItem(ammo_44_pip, ammo_44_pip.getUnlocalizedName()); - GameRegistry.registerItem(ammo_44_bj, ammo_44_bj.getUnlocalizedName()); - GameRegistry.registerItem(ammo_44_silver, ammo_44_silver.getUnlocalizedName()); - GameRegistry.registerItem(ammo_44_rocket, ammo_44_rocket.getUnlocalizedName()); - GameRegistry.registerItem(ammo_5mm, ammo_5mm.getUnlocalizedName()); - GameRegistry.registerItem(ammo_5mm_explosive, ammo_5mm_explosive.getUnlocalizedName()); - GameRegistry.registerItem(ammo_5mm_du, ammo_5mm_du.getUnlocalizedName()); - GameRegistry.registerItem(ammo_5mm_star, ammo_5mm_star.getUnlocalizedName()); - GameRegistry.registerItem(ammo_5mm_chlorophyte, ammo_5mm_chlorophyte.getUnlocalizedName()); - GameRegistry.registerItem(ammo_9mm, ammo_9mm.getUnlocalizedName()); - GameRegistry.registerItem(ammo_9mm_ap, ammo_9mm_ap.getUnlocalizedName()); - GameRegistry.registerItem(ammo_9mm_du, ammo_9mm_du.getUnlocalizedName()); - GameRegistry.registerItem(ammo_9mm_chlorophyte, ammo_9mm_chlorophyte.getUnlocalizedName()); - GameRegistry.registerItem(ammo_9mm_rocket, ammo_9mm_rocket.getUnlocalizedName()); - GameRegistry.registerItem(ammo_556, ammo_556.getUnlocalizedName()); - GameRegistry.registerItem(ammo_566_gold, ammo_566_gold.getUnlocalizedName()); - GameRegistry.registerItem(ammo_556_phosphorus, ammo_556_phosphorus.getUnlocalizedName()); - GameRegistry.registerItem(ammo_556_ap, ammo_556_ap.getUnlocalizedName()); - GameRegistry.registerItem(ammo_556_du, ammo_556_du.getUnlocalizedName()); - GameRegistry.registerItem(ammo_556_star, ammo_556_star.getUnlocalizedName()); - GameRegistry.registerItem(ammo_556_chlorophyte, ammo_556_chlorophyte.getUnlocalizedName()); - GameRegistry.registerItem(ammo_556_sleek, ammo_556_sleek.getUnlocalizedName()); - GameRegistry.registerItem(ammo_556_tracer, ammo_556_tracer.getUnlocalizedName()); - GameRegistry.registerItem(ammo_556_flechette, ammo_556_flechette.getUnlocalizedName()); - GameRegistry.registerItem(ammo_556_flechette_incendiary, ammo_556_flechette_incendiary.getUnlocalizedName()); - GameRegistry.registerItem(ammo_556_flechette_phosphorus, ammo_556_flechette_phosphorus.getUnlocalizedName()); - GameRegistry.registerItem(ammo_556_flechette_du, ammo_556_flechette_du.getUnlocalizedName()); - GameRegistry.registerItem(ammo_556_flechette_chlorophyte, ammo_556_flechette_chlorophyte.getUnlocalizedName()); - GameRegistry.registerItem(ammo_556_flechette_sleek, ammo_556_flechette_sleek.getUnlocalizedName()); - GameRegistry.registerItem(ammo_556_k, ammo_556_k.getUnlocalizedName()); - GameRegistry.registerItem(ammo_22lr, ammo_22lr.getUnlocalizedName()); - GameRegistry.registerItem(ammo_22lr_ap, ammo_22lr_ap.getUnlocalizedName()); - GameRegistry.registerItem(ammo_22lr_chlorophyte, ammo_22lr_chlorophyte.getUnlocalizedName()); - GameRegistry.registerItem(ammo_50ae, ammo_50ae.getUnlocalizedName()); - GameRegistry.registerItem(ammo_50ae_ap, ammo_50ae_ap.getUnlocalizedName()); - GameRegistry.registerItem(ammo_50ae_du, ammo_50ae_du.getUnlocalizedName()); - GameRegistry.registerItem(ammo_50ae_star, ammo_50ae_star.getUnlocalizedName()); - GameRegistry.registerItem(ammo_50ae_chlorophyte, ammo_50ae_chlorophyte.getUnlocalizedName()); - GameRegistry.registerItem(ammo_50bmg, ammo_50bmg.getUnlocalizedName()); - GameRegistry.registerItem(ammo_50bmg_incendiary, ammo_50bmg_incendiary.getUnlocalizedName()); - GameRegistry.registerItem(ammo_50bmg_phosphorus, ammo_50bmg_phosphorus.getUnlocalizedName()); - GameRegistry.registerItem(ammo_50bmg_explosive, ammo_50bmg_explosive.getUnlocalizedName()); - GameRegistry.registerItem(ammo_50bmg_ap, ammo_50bmg_ap.getUnlocalizedName()); - GameRegistry.registerItem(ammo_50bmg_du, ammo_50bmg_du.getUnlocalizedName()); - GameRegistry.registerItem(ammo_50bmg_star, ammo_50bmg_star.getUnlocalizedName()); - GameRegistry.registerItem(ammo_50bmg_chlorophyte, ammo_50bmg_chlorophyte.getUnlocalizedName()); - GameRegistry.registerItem(ammo_50bmg_flechette, ammo_50bmg_flechette.getUnlocalizedName()); - GameRegistry.registerItem(ammo_50bmg_flechette_am, ammo_50bmg_flechette_am.getUnlocalizedName()); - GameRegistry.registerItem(ammo_50bmg_flechette_po, ammo_50bmg_flechette_po.getUnlocalizedName()); - GameRegistry.registerItem(ammo_50bmg_sleek, ammo_50bmg_sleek.getUnlocalizedName()); - GameRegistry.registerItem(ammo_75bolt, ammo_75bolt.getUnlocalizedName()); - GameRegistry.registerItem(ammo_75bolt_incendiary, ammo_75bolt_incendiary.getUnlocalizedName()); - GameRegistry.registerItem(ammo_75bolt_he, ammo_75bolt_he.getUnlocalizedName()); - GameRegistry.registerItem(ammo_fuel, ammo_fuel.getUnlocalizedName()); - GameRegistry.registerItem(ammo_fuel_napalm, ammo_fuel_napalm.getUnlocalizedName()); - GameRegistry.registerItem(ammo_fuel_phosphorus, ammo_fuel_phosphorus.getUnlocalizedName()); - GameRegistry.registerItem(ammo_fuel_vaporizer, ammo_fuel_vaporizer.getUnlocalizedName()); - GameRegistry.registerItem(ammo_fuel_gas, ammo_fuel_gas.getUnlocalizedName()); - GameRegistry.registerItem(ammo_fireext, ammo_fireext.getUnlocalizedName()); - GameRegistry.registerItem(ammo_fireext_foam, ammo_fireext_foam.getUnlocalizedName()); - GameRegistry.registerItem(ammo_fireext_sand, ammo_fireext_sand.getUnlocalizedName()); - GameRegistry.registerItem(ammo_cell, ammo_cell.getUnlocalizedName()); - GameRegistry.registerItem(ammo_dart, ammo_dart.getUnlocalizedName()); - GameRegistry.registerItem(ammo_dart_nuclear, ammo_dart_nuclear.getUnlocalizedName()); - GameRegistry.registerItem(ammo_dart_nerf, ammo_dart_nerf.getUnlocalizedName()); - GameRegistry.registerItem(ammo_rocket, ammo_rocket.getUnlocalizedName()); - GameRegistry.registerItem(ammo_rocket_he, ammo_rocket_he.getUnlocalizedName()); - GameRegistry.registerItem(ammo_rocket_incendiary, ammo_rocket_incendiary.getUnlocalizedName()); - GameRegistry.registerItem(ammo_rocket_phosphorus, ammo_rocket_phosphorus.getUnlocalizedName()); - GameRegistry.registerItem(ammo_rocket_shrapnel, ammo_rocket_shrapnel.getUnlocalizedName()); - GameRegistry.registerItem(ammo_rocket_emp, ammo_rocket_emp.getUnlocalizedName()); - GameRegistry.registerItem(ammo_rocket_glare, ammo_rocket_glare.getUnlocalizedName()); - GameRegistry.registerItem(ammo_rocket_toxic, ammo_rocket_toxic.getUnlocalizedName()); - GameRegistry.registerItem(ammo_rocket_canister, ammo_rocket_canister.getUnlocalizedName()); - GameRegistry.registerItem(ammo_rocket_sleek, ammo_rocket_sleek.getUnlocalizedName()); - GameRegistry.registerItem(ammo_rocket_nuclear, ammo_rocket_nuclear.getUnlocalizedName()); - GameRegistry.registerItem(ammo_rocket_rpc, ammo_rocket_rpc.getUnlocalizedName()); - GameRegistry.registerItem(ammo_rocket_digamma, ammo_rocket_digamma.getUnlocalizedName()); - GameRegistry.registerItem(ammo_stinger_rocket, ammo_stinger_rocket.getUnlocalizedName()); - GameRegistry.registerItem(ammo_stinger_rocket_he, ammo_stinger_rocket_he.getUnlocalizedName()); - GameRegistry.registerItem(ammo_stinger_rocket_incendiary, ammo_stinger_rocket_incendiary.getUnlocalizedName()); - GameRegistry.registerItem(ammo_stinger_rocket_nuclear, ammo_stinger_rocket_nuclear.getUnlocalizedName()); - GameRegistry.registerItem(ammo_stinger_rocket_bones, ammo_stinger_rocket_bones.getUnlocalizedName()); - GameRegistry.registerItem(ammo_grenade, ammo_grenade.getUnlocalizedName()); - GameRegistry.registerItem(ammo_grenade_he, ammo_grenade_he.getUnlocalizedName()); - GameRegistry.registerItem(ammo_grenade_incendiary, ammo_grenade_incendiary.getUnlocalizedName()); - GameRegistry.registerItem(ammo_grenade_phosphorus, ammo_grenade_phosphorus.getUnlocalizedName()); - GameRegistry.registerItem(ammo_grenade_toxic, ammo_grenade_toxic.getUnlocalizedName()); - GameRegistry.registerItem(ammo_grenade_concussion, ammo_grenade_concussion.getUnlocalizedName()); - GameRegistry.registerItem(ammo_grenade_finned, ammo_grenade_finned.getUnlocalizedName()); - GameRegistry.registerItem(ammo_grenade_sleek, ammo_grenade_sleek.getUnlocalizedName()); - GameRegistry.registerItem(ammo_grenade_nuclear, ammo_grenade_nuclear.getUnlocalizedName()); - GameRegistry.registerItem(ammo_grenade_tracer, ammo_grenade_tracer.getUnlocalizedName()); - GameRegistry.registerItem(ammo_grenade_kampf, ammo_grenade_kampf.getUnlocalizedName()); - GameRegistry.registerItem(ammo_shell, ammo_shell.getUnlocalizedName()); - GameRegistry.registerItem(ammo_shell_explosive, ammo_shell_explosive.getUnlocalizedName()); - GameRegistry.registerItem(ammo_shell_apfsds_t, ammo_shell_apfsds_t.getUnlocalizedName()); - GameRegistry.registerItem(ammo_shell_apfsds_du, ammo_shell_apfsds_du.getUnlocalizedName()); - GameRegistry.registerItem(ammo_shell_w9, ammo_shell_w9.getUnlocalizedName());*/ GameRegistry.registerItem(ammo_dgk, ammo_dgk.getUnlocalizedName()); GameRegistry.registerItem(ammo_arty, ammo_arty.getUnlocalizedName()); GameRegistry.registerItem(ammo_himars, ammo_himars.getUnlocalizedName()); - /*GameRegistry.registerItem(ammo_nuke, ammo_nuke.getUnlocalizedName()); - GameRegistry.registerItem(ammo_nuke_low, ammo_nuke_low.getUnlocalizedName()); - GameRegistry.registerItem(ammo_nuke_high, ammo_nuke_high.getUnlocalizedName()); - GameRegistry.registerItem(ammo_nuke_tots, ammo_nuke_tots.getUnlocalizedName()); - GameRegistry.registerItem(ammo_nuke_safe, ammo_nuke_safe.getUnlocalizedName()); - GameRegistry.registerItem(ammo_nuke_pumpkin, ammo_nuke_pumpkin.getUnlocalizedName()); - GameRegistry.registerItem(ammo_nuke_barrel, ammo_nuke_barrel.getUnlocalizedName()); - GameRegistry.registerItem(ammo_mirv, ammo_mirv.getUnlocalizedName()); - GameRegistry.registerItem(ammo_mirv_low, ammo_mirv_low.getUnlocalizedName()); - GameRegistry.registerItem(ammo_mirv_high, ammo_mirv_high.getUnlocalizedName()); - GameRegistry.registerItem(ammo_mirv_safe, ammo_mirv_safe.getUnlocalizedName()); - GameRegistry.registerItem(ammo_mirv_special, ammo_mirv_special.getUnlocalizedName());*/ GameRegistry.registerItem(ammo_folly, ammo_folly.getUnlocalizedName()); GameRegistry.registerItem(ammo_folly_nuclear, ammo_folly_nuclear.getUnlocalizedName()); GameRegistry.registerItem(ammo_folly_du, ammo_folly_du.getUnlocalizedName()); @@ -7402,6 +7288,7 @@ public class ModItems { GameRegistry.registerItem(cape_hidden, cape_hidden.getUnlocalizedName()); //Tools + GameRegistry.registerItem(dwarven_pickaxe, dwarven_pickaxe.getUnlocalizedName()); GameRegistry.registerItem(schrabidium_sword, schrabidium_sword.getUnlocalizedName()); GameRegistry.registerItem(schrabidium_hammer, schrabidium_hammer.getUnlocalizedName()); GameRegistry.registerItem(shimmer_sledge, shimmer_sledge.getUnlocalizedName()); @@ -7466,10 +7353,13 @@ public class ModItems { GameRegistry.registerItem(drax_mk2, drax_mk2.getUnlocalizedName()); GameRegistry.registerItem(drax_mk3, drax_mk3.getUnlocalizedName()); GameRegistry.registerItem(bismuth_pickaxe, bismuth_pickaxe.getUnlocalizedName()); + GameRegistry.registerItem(bismuth_axe, bismuth_axe.getUnlocalizedName()); GameRegistry.registerItem(volcanic_pickaxe, volcanic_pickaxe.getUnlocalizedName()); + GameRegistry.registerItem(volcanic_axe, volcanic_axe.getUnlocalizedName()); GameRegistry.registerItem(chlorophyte_pickaxe, chlorophyte_pickaxe.getUnlocalizedName()); + GameRegistry.registerItem(chlorophyte_axe, chlorophyte_axe.getUnlocalizedName()); GameRegistry.registerItem(mese_pickaxe, mese_pickaxe.getUnlocalizedName()); - GameRegistry.registerItem(matchstick, matchstick.getUnlocalizedName()); + GameRegistry.registerItem(mese_axe, mese_axe.getUnlocalizedName()); GameRegistry.registerItem(matchstick, matchstick.getUnlocalizedName()); GameRegistry.registerItem(balefire_and_steel, balefire_and_steel.getUnlocalizedName()); GameRegistry.registerItem(crowbar, crowbar.getUnlocalizedName()); GameRegistry.registerItem(wrench, wrench.getUnlocalizedName()); @@ -7581,7 +7471,6 @@ public class ModItems { GameRegistry.registerItem(egg_glyphid, egg_glyphid.getUnlocalizedName()); GameRegistry.registerItem(med_ipecac, med_ipecac.getUnlocalizedName()); GameRegistry.registerItem(med_ptsd, med_ptsd.getUnlocalizedName()); - GameRegistry.registerItem(canteen_13, canteen_13.getUnlocalizedName()); GameRegistry.registerItem(canteen_vodka, canteen_vodka.getUnlocalizedName()); GameRegistry.registerItem(canteen_fab, canteen_fab.getUnlocalizedName()); GameRegistry.registerItem(mucho_mango, mucho_mango.getUnlocalizedName()); @@ -7615,40 +7504,12 @@ public class ModItems { GameRegistry.registerItem(bottle2_fritz, bottle2_fritz.getUnlocalizedName()); GameRegistry.registerItem(bottle2_korl_special, bottle2_korl_special.getUnlocalizedName()); GameRegistry.registerItem(bottle2_fritz_special, bottle2_fritz_special.getUnlocalizedName()); - GameRegistry.registerItem(bottle2_sunset, bottle2_sunset.getUnlocalizedName()); GameRegistry.registerItem(bottle_opener, bottle_opener.getUnlocalizedName()); //Flasks GameRegistry.registerItem(flask_infusion, flask_infusion.getUnlocalizedName()); //Canned Food - //GameRegistry.registerItem(canned_beef, canned_beef.getUnlocalizedName()); - //GameRegistry.registerItem(canned_tuna, canned_tuna.getUnlocalizedName()); - //GameRegistry.registerItem(canned_mystery, canned_mystery.getUnlocalizedName()); - //GameRegistry.registerItem(canned_pashtet, canned_pashtet.getUnlocalizedName()); - //GameRegistry.registerItem(canned_cheese, canned_cheese.getUnlocalizedName()); - //GameRegistry.registerItem(canned_jizz, canned_jizz.getUnlocalizedName()); - //GameRegistry.registerItem(canned_milk, canned_milk.getUnlocalizedName()); - //GameRegistry.registerItem(canned_ass, canned_ass.getUnlocalizedName()); - //GameRegistry.registerItem(canned_pizza, canned_pizza.getUnlocalizedName()); - //GameRegistry.registerItem(canned_tube, canned_tube.getUnlocalizedName()); - //GameRegistry.registerItem(canned_tomato, canned_tomato.getUnlocalizedName()); - //GameRegistry.registerItem(canned_asbestos, canned_asbestos.getUnlocalizedName()); - //GameRegistry.registerItem(canned_bhole, canned_bhole.getUnlocalizedName()); - //GameRegistry.registerItem(canned_hotdogs, canned_hotdogs.getUnlocalizedName()); - //GameRegistry.registerItem(canned_leftovers, canned_leftovers.getUnlocalizedName()); - //GameRegistry.registerItem(canned_yogurt, canned_yogurt.getUnlocalizedName()); - //GameRegistry.registerItem(canned_stew, canned_stew.getUnlocalizedName()); - //GameRegistry.registerItem(canned_chinese, canned_chinese.getUnlocalizedName()); - //GameRegistry.registerItem(canned_oil, canned_oil.getUnlocalizedName()); - //GameRegistry.registerItem(canned_fist, canned_fist.getUnlocalizedName()); - //GameRegistry.registerItem(canned_spam, canned_spam.getUnlocalizedName()); - //GameRegistry.registerItem(canned_fried, canned_fried.getUnlocalizedName()); - //GameRegistry.registerItem(canned_napalm, canned_napalm.getUnlocalizedName()); - //GameRegistry.registerItem(canned_diesel, canned_diesel.getUnlocalizedName()); - //GameRegistry.registerItem(canned_kerosene, canned_kerosene.getUnlocalizedName()); - //GameRegistry.registerItem(canned_recursion, canned_recursion.getUnlocalizedName()); - //GameRegistry.registerItem(canned_bark, canned_bark.getUnlocalizedName()); GameRegistry.registerItem(canned_conserve, canned_conserve.getUnlocalizedName()); //Money @@ -7658,8 +7519,6 @@ public class ModItems { GameRegistry.registerItem(cap_rad, cap_rad.getUnlocalizedName()); GameRegistry.registerItem(cap_korl, cap_korl.getUnlocalizedName()); GameRegistry.registerItem(cap_fritz, cap_fritz.getUnlocalizedName()); - GameRegistry.registerItem(cap_sunset, cap_sunset.getUnlocalizedName()); - GameRegistry.registerItem(cap_star, cap_star.getUnlocalizedName()); GameRegistry.registerItem(ring_pull, ring_pull.getUnlocalizedName()); GameRegistry.registerItem(can_key, can_key.getUnlocalizedName()); GameRegistry.registerItem(coin_creeper, coin_creeper.getUnlocalizedName()); @@ -7676,6 +7535,9 @@ public class ModItems { GameRegistry.registerItem(defuser_gold, defuser_gold.getUnlocalizedName()); GameRegistry.registerItem(ballistic_gauntlet, ballistic_gauntlet.getUnlocalizedName()); GameRegistry.registerItem(night_vision, night_vision.getUnlocalizedName()); + GameRegistry.registerItem(card_aos, card_aos.getUnlocalizedName()); + GameRegistry.registerItem(card_qos, card_qos.getUnlocalizedName()); + GameRegistry.registerItem(australium_iii, australium_iii.getUnlocalizedName()); //Chaos GameRegistry.registerItem(chocolate_milk, chocolate_milk.getUnlocalizedName()); @@ -7959,7 +7821,6 @@ public class ModItems { GameRegistry.registerItem(apple_euphemium, apple_euphemium.getUnlocalizedName()); GameRegistry.registerItem(watch, watch.getUnlocalizedName()); GameRegistry.registerItem(mask_of_infamy, mask_of_infamy.getUnlocalizedName()); - GameRegistry.registerItem(australium_iii, australium_iii.getUnlocalizedName()); GameRegistry.registerItem(jackt, jackt.getUnlocalizedName()); GameRegistry.registerItem(jackt2, jackt2.getUnlocalizedName()); GameRegistry.registerItem(jetpack_fly, jetpack_fly.getUnlocalizedName()); @@ -7994,6 +7855,7 @@ public class ModItems { GameRegistry.registerItem(book_secret, book_secret.getUnlocalizedName()); GameRegistry.registerItem(book_of_, book_of_.getUnlocalizedName()); GameRegistry.registerItem(page_of_, page_of_.getUnlocalizedName()); + GameRegistry.registerItem(book_lemegeton, book_lemegeton.getUnlocalizedName()); GameRegistry.registerItem(burnt_bark, burnt_bark.getUnlocalizedName()); //Kits @@ -8039,6 +7901,7 @@ public class ModItems { GameRegistry.registerItem(door_metal, door_metal.getUnlocalizedName()); GameRegistry.registerItem(door_office, door_office.getUnlocalizedName()); GameRegistry.registerItem(door_bunker, door_bunker.getUnlocalizedName()); + GameRegistry.registerItem(door_red, door_red.getUnlocalizedName()); GameRegistry.registerItem(sliding_blast_door_skin, sliding_blast_door_skin.getUnlocalizedName()); //Records @@ -8159,24 +8022,6 @@ public class ModItems { GameRegistry.registerItem(bob_nuclear, bob_nuclear.getUnlocalizedName()); GameRegistry.registerItem(mysteryshovel, mysteryshovel.getUnlocalizedName()); GameRegistry.registerItem(memory, memory.getUnlocalizedName()); - - addRemap("rod_zirnox_natural_uranium_fuel", rod_zirnox, EnumZirnoxType.NATURAL_URANIUM_FUEL); - addRemap("rod_zirnox_uranium_fuel", rod_zirnox, EnumZirnoxType.URANIUM_FUEL); - addRemap("rod_zirnox_th232", rod_zirnox, EnumZirnoxType.TH232); - addRemap("rod_zirnox_thorium_fuel", rod_zirnox, EnumZirnoxType.THORIUM_FUEL); - addRemap("rod_zirnox_mox_fuel", rod_zirnox, EnumZirnoxType.MOX_FUEL); - addRemap("rod_zirnox_plutonium_fuel", rod_zirnox, EnumZirnoxType.PLUTONIUM_FUEL); - addRemap("rod_zirnox_u233_fuel", rod_zirnox, EnumZirnoxType.U233_FUEL); - addRemap("rod_zirnox_u235_fuel", rod_zirnox, EnumZirnoxType.U235_FUEL); - addRemap("rod_zirnox_les_fuel", rod_zirnox, EnumZirnoxType.LES_FUEL); - addRemap("rod_zirnox_lithium", rod_zirnox, EnumZirnoxType.LITHIUM); - addRemap("rod_zirnox_zfb_mox", rod_zirnox, EnumZirnoxType.ZFB_MOX); - - addRemap("gas_petroleum", gas_full, Fluids.PETROLEUM.getID()); - addRemap("gas_biogas", gas_full, Fluids.BIOGAS.getID()); - addRemap("gas_lpg", gas_full, Fluids.LPG.getID()); - - addRemap("gun_coilgun_ammo", ammo_coilgun, AmmoCoilgun.STOCK); } public static void addRemap(String unloc, Item item, Enum sub) { diff --git a/src/main/java/com/hbm/items/armor/ArmorAustralium.java b/src/main/java/com/hbm/items/armor/ArmorAustralium.java deleted file mode 100644 index b5a681561..000000000 --- a/src/main/java/com/hbm/items/armor/ArmorAustralium.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.hbm.items.armor; - -import java.util.List; -import java.util.Random; - -import com.hbm.items.ModItems; -import com.hbm.lib.RefStrings; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemArmor; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -public class ArmorAustralium extends ItemArmor { - - Random rand = new Random(); - - public ArmorAustralium(ArmorMaterial armorMaterial, int armorType) { - super(armorMaterial, 0, armorType); - } - - @Override - public void onArmorTick(World world, EntityPlayer player, ItemStack armor) { - if(armor.getItemDamage() < armor.getMaxDamage()) { - if (armor.getItem() == ModItems.australium_iii) { - if(rand.nextInt(3) == 0) { - armor.damageItem(1, player); - } - if(!player.isPotionActive(Potion.field_76444_x.id)) - player.addPotionEffect(new PotionEffect(Potion.field_76444_x.id, 80, 2, true)); - } - if (armor.getItem() == ModItems.australium_iv) { - if(rand.nextInt(5) == 0) { - armor.damageItem(1, player); - } - if(!player.isPotionActive(Potion.field_76444_x.id)) - player.addPotionEffect(new PotionEffect(Potion.field_76444_x.id, 80, 4, true)); - } - if (armor.getItem() == ModItems.australium_v) { - if(rand.nextInt(7) == 0) { - armor.damageItem(1, player); - } - if(!player.isPotionActive(Potion.field_76444_x.id)) - player.addPotionEffect(new PotionEffect(Potion.field_76444_x.id, 80, 3, true)); - } - } - } - - @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - - if (itemstack.getItem() == ModItems.australium_iii) - list.add("Ouch, that hurts."); - if (itemstack.getItem() == ModItems.australium_iv) - list.add("Just do it."); - if (itemstack.getItem() == ModItems.australium_v) - list.add("Gobbles up less australium than Mark IV!"); - } - - @Override - public String getArmorTexture(ItemStack stack, Entity entity, int slot, String layer) { - if(stack.getItem().equals(ModItems.australium_iii)) { - return (RefStrings.MODID + ":textures/armor/australium_iii.png"); - } - if(stack.getItem().equals(ModItems.australium_iv)) { - return (RefStrings.MODID + ":textures/armor/australium_iv.png"); - } - if(stack.getItem().equals(ModItems.australium_v)) { - return (RefStrings.MODID + ":textures/armor/australium_v.png"); - } - - else return null; - } - -} diff --git a/src/main/java/com/hbm/items/armor/ArmorFSB.java b/src/main/java/com/hbm/items/armor/ArmorFSB.java index d6eb33079..de7a67afa 100644 --- a/src/main/java/com/hbm/items/armor/ArmorFSB.java +++ b/src/main/java/com/hbm/items/armor/ArmorFSB.java @@ -12,6 +12,8 @@ import org.lwjgl.opengl.GL11; import com.hbm.extprop.HbmLivingProps; import com.hbm.handler.radiation.ChunkRadiationManager; +import com.hbm.items.ModItems; +import com.hbm.util.ContaminationUtil; import com.hbm.util.I18nUtil; import cpw.mods.fml.common.gameevent.TickEvent; @@ -48,8 +50,8 @@ public class ArmorFSB extends ItemArmor implements IArmorDisableModel { private String texture = ""; private ResourceLocation overlay = null; - public List effects = new ArrayList(); - public HashMap resistance = new HashMap(); + public List effects = new ArrayList(); + public HashMap resistance = new HashMap(); public float blastProtection = -1; public float projectileProtection = -1; public float damageCap = -1; @@ -572,34 +574,34 @@ public class ArmorFSB extends ItemArmor implements IArmorDisableModel { if(this.armorType != 1) return; - if(!this.hasFSBArmor(entity) || !this.geigerSound) + if(!hasFSBArmor(entity) || !this.geigerSound) + return; + + if(entity.inventory.hasItem(ModItems.geiger_counter) || entity.inventory.hasItem(ModItems.dosimeter)) return; if(world.getTotalWorldTime() % 5 == 0) { - - float x = HbmLivingProps.getRadBuf((EntityLivingBase)entity); + + // Armor piece dosimeters indicate radiation dosage inside the armor, so reduce the counts by the effective protection + float mod = ContaminationUtil.calculateRadiationMod(entity); + float x = HbmLivingProps.getRadBuf(entity) * mod; if(x > 1E-5) { - - if(x > 0) { - List list = new ArrayList(); - - if(x < 1) list.add(0); - if(x < 5) list.add(0); - if(x < 10) list.add(1); - if(x > 5 && x < 15) list.add(2); - if(x > 10 && x < 20) list.add(3); - if(x > 15 && x < 25) list.add(4); - if(x > 20 && x < 30) list.add(5); - if(x > 25) list.add(6); - - int r = list.get(world.rand.nextInt(list.size())); - - if(r > 0) - world.playSoundAtEntity(entity, "hbm:item.geiger" + r, 1.0F, 1.0F); - } else if(world.rand.nextInt(50) == 0) { - world.playSoundAtEntity(entity, "hbm:item.geiger" + (1 + world.rand.nextInt(1)), 1.0F, 1.0F); - } + List list = new ArrayList(); + + if(x < 1) list.add(0); + if(x < 5) list.add(0); + if(x < 10) list.add(1); + if(x > 5 && x < 15) list.add(2); + if(x > 10 && x < 20) list.add(3); + if(x > 15 && x < 25) list.add(4); + if(x > 20 && x < 30) list.add(5); + if(x > 25) list.add(6); + + int r = list.get(world.rand.nextInt(list.size())); + + if(r > 0) + world.playSoundAtEntity(entity, "hbm:item.geiger" + r, 1.0F, 1.0F); } } } @@ -645,7 +647,7 @@ public class ArmorFSB extends ItemArmor implements IArmorDisableModel { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); } - private HashSet hidden = new HashSet(); + private HashSet hidden = new HashSet(); private boolean needsFullSet = false; public ArmorFSB hides(EnumPlayerPart... parts) { diff --git a/src/main/java/com/hbm/items/armor/ArmorFSBFueled.java b/src/main/java/com/hbm/items/armor/ArmorFSBFueled.java index deb44ba51..cfb41950a 100644 --- a/src/main/java/com/hbm/items/armor/ArmorFSBFueled.java +++ b/src/main/java/com/hbm/items/armor/ArmorFSBFueled.java @@ -30,6 +30,7 @@ public class ArmorFSBFueled extends ArmorFSB implements IFillableItem { this.maxFuel = maxFuel; } + @Override public int getFill(ItemStack stack) { if(stack.stackTagCompound == null) { stack.stackTagCompound = new NBTTagCompound(); @@ -123,4 +124,9 @@ public class ArmorFSBFueled extends ArmorFSB implements IFillableItem { public int tryEmpty(FluidType type, int amount, ItemStack stack) { return 0; } + + @Override + public FluidType getFirstFluidType(ItemStack stack) { + return null; + } } diff --git a/src/main/java/com/hbm/items/armor/ArmorFSBPowered.java b/src/main/java/com/hbm/items/armor/ArmorFSBPowered.java index 139df77fe..0daddf0fb 100644 --- a/src/main/java/com/hbm/items/armor/ArmorFSBPowered.java +++ b/src/main/java/com/hbm/items/armor/ArmorFSBPowered.java @@ -4,7 +4,7 @@ import java.util.List; import com.hbm.util.BobMathUtil; -import api.hbm.energy.IBatteryItem; +import api.hbm.energymk2.IBatteryItem; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.player.EntityPlayer; diff --git a/src/main/java/com/hbm/items/armor/ArmorGasMask.java b/src/main/java/com/hbm/items/armor/ArmorGasMask.java index 5cb086925..1359848e8 100644 --- a/src/main/java/com/hbm/items/armor/ArmorGasMask.java +++ b/src/main/java/com/hbm/items/armor/ArmorGasMask.java @@ -148,9 +148,9 @@ public class ArmorGasMask extends ItemArmor implements IGasMask { public ArrayList getBlacklist(ItemStack stack, EntityLivingBase entity) { if(this == ModItems.gas_mask_mono) { - return new ArrayList(Arrays.asList(new HazardClass[] {HazardClass.GAS_CHLORINE, HazardClass.GAS_CORROSIVE, HazardClass.NERVE_AGENT, HazardClass.BACTERIA})); + return new ArrayList(Arrays.asList(new HazardClass[] {HazardClass.GAS_LUNG, HazardClass.GAS_BLISTERING, HazardClass.BACTERIA})); } else { - return new ArrayList(Arrays.asList(new HazardClass[] {HazardClass.GAS_CORROSIVE, HazardClass.NERVE_AGENT})); + return new ArrayList(Arrays.asList(new HazardClass[] {HazardClass.GAS_BLISTERING})); } } diff --git a/src/main/java/com/hbm/items/armor/ArmorHEV.java b/src/main/java/com/hbm/items/armor/ArmorHEV.java index b1fd292db..df2666d68 100644 --- a/src/main/java/com/hbm/items/armor/ArmorHEV.java +++ b/src/main/java/com/hbm/items/armor/ArmorHEV.java @@ -3,6 +3,7 @@ package com.hbm.items.armor; import org.lwjgl.opengl.GL11; import com.hbm.extprop.HbmLivingProps; +import com.hbm.items.ModItems; import com.hbm.render.model.ModelArmorHEV; import cpw.mods.fml.relauncher.Side; @@ -45,7 +46,7 @@ public class ArmorHEV extends ArmorFSBPowered { @Override public void handleOverlay(RenderGameOverlayEvent.Pre event, EntityPlayer player) { - if(this.hasFSBArmorIgnoreCharge(player)) { + if(this.hasFSBArmorIgnoreCharge(player) && player.inventory.armorInventory[2].getItem() == ModItems.hev_plate) { if(event.type == ElementType.ARMOR) { event.setCanceled(true); diff --git a/src/main/java/com/hbm/items/armor/ArmorModel.java b/src/main/java/com/hbm/items/armor/ArmorModel.java index 04cb9a48b..1bf1125c9 100644 --- a/src/main/java/com/hbm/items/armor/ArmorModel.java +++ b/src/main/java/com/hbm/items/armor/ArmorModel.java @@ -11,7 +11,6 @@ import com.hbm.render.model.ModelCloak; import com.hbm.render.model.ModelGoggles; import com.hbm.render.model.ModelHat; import com.hbm.render.model.ModelM65; -import com.hbm.render.model.ModelOxygenMask; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -37,8 +36,6 @@ public class ArmorModel extends ItemArmor { @SideOnly(Side.CLIENT) private ModelCloak modelCloak; @SideOnly(Side.CLIENT) - private ModelOxygenMask modelOxy; - @SideOnly(Side.CLIENT) private ModelM65 modelM65; @SideOnly(Side.CLIENT) private ModelHat modelHat; @@ -65,14 +62,6 @@ public class ArmorModel extends ItemArmor { return this.modelGoggles; } } - if(this == ModItems.oxy_mask) { - if(armorSlot == 0) { - if(this.modelOxy == null) { - this.modelOxy = new ModelOxygenMask(); - } - return this.modelOxy; - } - } if(this == ModItems.hat) { if(armorSlot == 0) { if(this.modelHat == null) { @@ -97,9 +86,6 @@ public class ArmorModel extends ItemArmor { if(stack.getItem() == ModItems.goggles) { return "hbm:textures/models/Goggles.png"; } - if(stack.getItem() == ModItems.oxy_mask) { - return null; - } if(stack.getItem() == ModItems.cape_test) { return "hbm:textures/models/TestCape.png"; } diff --git a/src/main/java/com/hbm/items/armor/ArmorTrenchmaster.java b/src/main/java/com/hbm/items/armor/ArmorTrenchmaster.java index 0036d36e6..4967059fc 100644 --- a/src/main/java/com/hbm/items/armor/ArmorTrenchmaster.java +++ b/src/main/java/com/hbm/items/armor/ArmorTrenchmaster.java @@ -50,6 +50,7 @@ public class ArmorTrenchmaster extends ArmorFSB { @Override public void handleHurt(LivingHurtEvent event) { + super.handleHurt(event); EntityLivingBase e = event.entityLiving; @@ -68,6 +69,7 @@ public class ArmorTrenchmaster extends ArmorFSB { @Override public void handleAttack(LivingAttackEvent event) { + super.handleAttack(event); EntityLivingBase e = event.entityLiving; diff --git a/src/main/java/com/hbm/items/armor/ItemModCard.java b/src/main/java/com/hbm/items/armor/ItemModCard.java new file mode 100644 index 000000000..e5a27c897 --- /dev/null +++ b/src/main/java/com/hbm/items/armor/ItemModCard.java @@ -0,0 +1,49 @@ +package com.hbm.items.armor; + +import java.util.List; + +import com.hbm.extprop.HbmPlayerProps; +import com.hbm.handler.ArmorModHandler; +import com.hbm.items.ModItems; + +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraftforge.event.entity.living.LivingHurtEvent; + +public class ItemModCard extends ItemArmorMod { + + public ItemModCard() { + super(ArmorModHandler.helmet_only, true, true, false, false); + this.setCreativeTab(null); + } + + @Override + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { + if(this == ModItems.card_aos) { + list.add(EnumChatFormatting.RED + "Top of the line!"); + list.add(EnumChatFormatting.RED + "Guns now have a 33% chance to not consume ammo."); + } + if(this == ModItems.card_qos) { + list.add(EnumChatFormatting.RED + "Power!"); + list.add(EnumChatFormatting.RED + "Adds a 33% chance to tank damage with no cap."); + } + list.add(""); + super.addInformation(itemstack, player, list, bool); + } + + @Override + public void addDesc(List list, ItemStack stack, ItemStack armor) { + list.add(EnumChatFormatting.YELLOW + I18n.format("item.night_vision.description.in_armor", stack.getDisplayName())); + } + + @Override + public void modDamage(LivingHurtEvent event, ItemStack armor) { + if(this == ModItems.card_qos && event.entityLiving.getRNG().nextInt(3) == 0 && event.entityLiving instanceof EntityPlayer) { + HbmPlayerProps.plink((EntityPlayer) event.entityLiving, "random.break", 0.5F, 1.0F + event.entityLiving.getRNG().nextFloat() * 0.5F); + event.ammount = 0; + event.setCanceled(true); + } + } +} diff --git a/src/main/java/com/hbm/items/armor/ItemModCharm.java b/src/main/java/com/hbm/items/armor/ItemModCharm.java index 2d68ff328..cc0b995c8 100644 --- a/src/main/java/com/hbm/items/armor/ItemModCharm.java +++ b/src/main/java/com/hbm/items/armor/ItemModCharm.java @@ -14,7 +14,7 @@ import net.minecraftforge.event.entity.living.LivingHurtEvent; public class ItemModCharm extends ItemArmorMod { public ItemModCharm() { - super(ArmorModHandler.helmet_only, false, true, false, false); + super(ArmorModHandler.helmet_only, true, true, false, false); } @Override diff --git a/src/main/java/com/hbm/items/armor/ItemModGasmask.java b/src/main/java/com/hbm/items/armor/ItemModGasmask.java index 7c8fd77f6..cacecfc27 100644 --- a/src/main/java/com/hbm/items/armor/ItemModGasmask.java +++ b/src/main/java/com/hbm/items/armor/ItemModGasmask.java @@ -99,9 +99,9 @@ public class ItemModGasmask extends ItemArmorMod implements IGasMask { public ArrayList getBlacklist(ItemStack stack, EntityLivingBase entity) { if(this == ModItems.attachment_mask_mono) { - return new ArrayList(Arrays.asList(new HazardClass[] {HazardClass.GAS_CHLORINE, HazardClass.GAS_CORROSIVE, HazardClass.NERVE_AGENT, HazardClass.BACTERIA})); + return new ArrayList(Arrays.asList(new HazardClass[] {HazardClass.GAS_LUNG, HazardClass.GAS_BLISTERING, HazardClass.BACTERIA})); } else { - return new ArrayList(Arrays.asList(new HazardClass[] {HazardClass.GAS_CORROSIVE, HazardClass.NERVE_AGENT})); + return new ArrayList(Arrays.asList(new HazardClass[] {HazardClass.GAS_BLISTERING})); } } diff --git a/src/main/java/com/hbm/items/armor/ItemModMedal.java b/src/main/java/com/hbm/items/armor/ItemModMedal.java index 99fc25b59..693c8c9ff 100644 --- a/src/main/java/com/hbm/items/armor/ItemModMedal.java +++ b/src/main/java/com/hbm/items/armor/ItemModMedal.java @@ -13,7 +13,7 @@ import net.minecraft.util.EnumChatFormatting; public class ItemModMedal extends ItemArmorMod { public ItemModMedal() { - super(ArmorModHandler.extra, false, true, false, false); + super(ArmorModHandler.plate_only, true, true, false, false); } @Override diff --git a/src/main/java/com/hbm/items/armor/ItemModNightVision.java b/src/main/java/com/hbm/items/armor/ItemModNightVision.java index 6df89d2a6..96af954c3 100644 --- a/src/main/java/com/hbm/items/armor/ItemModNightVision.java +++ b/src/main/java/com/hbm/items/armor/ItemModNightVision.java @@ -12,30 +12,30 @@ import net.minecraft.util.EnumChatFormatting; import java.util.List; public class ItemModNightVision extends ItemArmorMod { - public ItemModNightVision() { - super(ArmorModHandler.helmet_only, true, false, false, false); - } + public ItemModNightVision() { + super(ArmorModHandler.helmet_only, true, false, false, false); + } - @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - list.add(EnumChatFormatting.AQUA + I18n.format("item.night_vision.description.item")); - list.add(""); - super.addInformation(itemstack, player, list, bool); - } + @Override + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { + list.add(EnumChatFormatting.AQUA + I18n.format("item.night_vision.description.item")); + list.add(""); + super.addInformation(itemstack, player, list, bool); + } - @Override - public void addDesc(List list, ItemStack stack, ItemStack armor) { - list.add(EnumChatFormatting.YELLOW + I18n.format("item.night_vision.description.in_armor", stack.getDisplayName())); - } + @Override + public void addDesc(List list, ItemStack stack, ItemStack armor) { + list.add(EnumChatFormatting.YELLOW + I18n.format("item.night_vision.description.in_armor", stack.getDisplayName())); + } - @Override - public void modUpdate(EntityLivingBase entity, ItemStack armor) { - if(!entity.worldObj.isRemote && entity instanceof EntityPlayer && armor.getItem() instanceof ArmorFSBPowered && ArmorFSBPowered.hasFSBArmor((EntityPlayer)entity)) { - entity.addPotionEffect(new PotionEffect(Potion.nightVision.id, 15 * 20, 0)); + @Override + public void modUpdate(EntityLivingBase entity, ItemStack armor) { + if(!entity.worldObj.isRemote && entity instanceof EntityPlayer && armor.getItem() instanceof ArmorFSBPowered && ArmorFSBPowered.hasFSBArmor((EntityPlayer) entity)) { + entity.addPotionEffect(new PotionEffect(Potion.nightVision.id, 15 * 20, 0)); - if(entity.getRNG().nextInt(50) == 0) { - armor.damageItem(1, entity); - } - } - } + if(entity.getRNG().nextInt(50) == 0) { + armor.damageItem(1, entity); + } + } + } } diff --git a/src/main/java/com/hbm/items/armor/ItemModShield.java b/src/main/java/com/hbm/items/armor/ItemModShield.java new file mode 100644 index 000000000..9aa1782e4 --- /dev/null +++ b/src/main/java/com/hbm/items/armor/ItemModShield.java @@ -0,0 +1,33 @@ +package com.hbm.items.armor; + +import java.util.List; + +import com.hbm.handler.ArmorModHandler; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; + +public class ItemModShield extends ItemArmorMod { + + public final float shield; + + public ItemModShield(float shield) { + super(ArmorModHandler.kevlar, false, true, false, false); + this.shield = shield; + } + + @Override + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { + String color = "" + (System.currentTimeMillis() % 1000 < 500 ? EnumChatFormatting.YELLOW : EnumChatFormatting.GOLD); + list.add(color + "+" + (Math.round(shield * 10) * 0.1) + " shield"); + list.add(""); + super.addInformation(itemstack, player, list, bool); + } + + @Override + public void addDesc(List list, ItemStack stack, ItemStack armor) { + String color = "" + (System.currentTimeMillis() % 1000 < 500 ? EnumChatFormatting.YELLOW : EnumChatFormatting.GOLD); + list.add(color + " " + stack.getDisplayName() + " (+" + (Math.round(shield * 10) * 0.1) + " health)"); + } +} diff --git a/src/main/java/com/hbm/items/armor/ItemModV1.java b/src/main/java/com/hbm/items/armor/ItemModV1.java index bb5d8a3a6..fa6b0b9d7 100644 --- a/src/main/java/com/hbm/items/armor/ItemModV1.java +++ b/src/main/java/com/hbm/items/armor/ItemModV1.java @@ -18,7 +18,7 @@ public class ItemModV1 extends ItemArmorMod implements IArmorModDash { private static final UUID speed = UUID.fromString("1d11e63e-28c4-4e14-b09f-fe0bd1be708f"); public ItemModV1() { - super(ArmorModHandler.extra, false, true, false, false); + super(ArmorModHandler.plate_only, false, true, false, false); } @Override diff --git a/src/main/java/com/hbm/items/armor/JetpackBase.java b/src/main/java/com/hbm/items/armor/JetpackBase.java index e5701e3d8..f7dd9b7cd 100644 --- a/src/main/java/com/hbm/items/armor/JetpackBase.java +++ b/src/main/java/com/hbm/items/armor/JetpackBase.java @@ -176,4 +176,14 @@ public abstract class JetpackBase extends ItemArmorMod implements IFillableItem public int tryEmpty(FluidType type, int amount, ItemStack stack) { return 0; } + + @Override + public FluidType getFirstFluidType(ItemStack stack) { + return null; + } + + @Override + public int getFill(ItemStack stack) { + return 0; + } } diff --git a/src/main/java/com/hbm/items/block/ItemBlockLore.java b/src/main/java/com/hbm/items/block/ItemBlockLore.java index 6d26836e0..13bd6b2e4 100644 --- a/src/main/java/com/hbm/items/block/ItemBlockLore.java +++ b/src/main/java/com/hbm/items/block/ItemBlockLore.java @@ -59,8 +59,7 @@ public class ItemBlockLore extends ItemBlockBase { if(this.field_150939_a == ModBlocks.gravel_diamond) return EnumRarity.rare; - if(this.field_150939_a == ModBlocks.block_euphemium || this.field_150939_a == ModBlocks.block_euphemium_cluster || - this.field_150939_a == ModBlocks.plasma || this.field_150939_a == ModBlocks.fwatz_plasma) + if(this.field_150939_a == ModBlocks.block_euphemium || this.field_150939_a == ModBlocks.block_euphemium_cluster || this.field_150939_a == ModBlocks.plasma) return EnumRarity.epic; return EnumRarity.common; diff --git a/src/main/java/com/hbm/items/block/ItemCustomMachine.java b/src/main/java/com/hbm/items/block/ItemCustomMachine.java index 30723223d..ce6559b82 100644 --- a/src/main/java/com/hbm/items/block/ItemCustomMachine.java +++ b/src/main/java/com/hbm/items/block/ItemCustomMachine.java @@ -4,6 +4,7 @@ import java.util.List; import com.hbm.config.CustomMachineConfigJSON; import com.hbm.config.CustomMachineConfigJSON.MachineConfiguration; +import com.hbm.main.MainRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -39,7 +40,8 @@ public class ItemCustomMachine extends ItemBlock { MachineConfiguration conf = CustomMachineConfigJSON.niceList.get(id); if(conf != null) { - return conf.localizedName; + String localized = conf.localization.get(MainRegistry.proxy.getLanguageCode()); + return localized != null ? localized : conf.localizedName; } } diff --git a/src/main/java/com/hbm/items/food/ItemCanteen.java b/src/main/java/com/hbm/items/food/ItemCanteen.java index 0808c47fb..81a3c20b0 100644 --- a/src/main/java/com/hbm/items/food/ItemCanteen.java +++ b/src/main/java/com/hbm/items/food/ItemCanteen.java @@ -35,9 +35,6 @@ public class ItemCanteen extends Item { public ItemStack onEaten(ItemStack stack, World world, EntityPlayer player) { stack.setItemDamage(stack.getMaxDamage()); - if (this == ModItems.canteen_13) { - player.heal(5F); - } if (this == ModItems.canteen_vodka) { player.addPotionEffect(new PotionEffect(Potion.confusion.id, 10 * 20, 0)); player.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 30 * 20, 2)); @@ -77,17 +74,6 @@ public class ItemCanteen extends Item { @SideOnly(Side.CLIENT) public void addInformation(ItemStack p_77624_1_, EntityPlayer p_77624_2_, List list, boolean p_77624_4_) { - if(this == ModItems.canteen_13) - { - list.add("Cooldown: 1 minute"); - list.add("Restores 2.5 hearts"); - list.add(""); - - if(MainRegistry.polaroidID == 11) - list.add("You sip a sip from your trusty Vault 13 SIPPP"); - else - list.add("You take a sip from your trusty Vault 13 canteen."); - } if(this == ModItems.canteen_vodka) { list.add("Cooldown: 3 minutes"); diff --git a/src/main/java/com/hbm/items/food/ItemConserve.java b/src/main/java/com/hbm/items/food/ItemConserve.java index 11b2c9bb7..9b45540e6 100644 --- a/src/main/java/com/hbm/items/food/ItemConserve.java +++ b/src/main/java/com/hbm/items/food/ItemConserve.java @@ -105,33 +105,33 @@ public class ItemConserve extends ItemEnumMulti { } public static enum EnumFoodType { - BEEF(8, 5F), - TUNA(4, 5F), - MYSTERY(6, 5F), - PASHTET(4, 5F), - CHEESE(3, 5F), + BEEF(8, 0.75F), + TUNA(4, 0.75F), + MYSTERY(6, 0.5F), + PASHTET(4, 0.5F), + CHEESE(3, 1F), JIZZ(15, 5F), // :3 - MILK(5, 5F), - ASS(6, 5F), // :3 - PIZZA(8, 5F), - TUBE(2, 5F), - TOMATO(4, 5F), - ASBESTOS(7, 5F), - BHOLE(10, 5F), - HOTDOGS(5, 5F), - LEFTOVERS(1, 5F), - YOGURT(3, 5F), - STEW(5, 5F), - CHINESE(6, 5F), - OIL(3, 5F), - FIST(6, 5F), - SPAM(8, 5F), - FRIED(10, 5F), - NAPALM(6, 5F), - DIESEL(6, 5F), - KEROSENE(6, 4F), - RECURSION(1, 5F), - BARK(2, 5F); + MILK(5, 0.25F), + ASS(6, 0.75F), // :3 + PIZZA(8, 075F), + TUBE(2, 0.25F), + TOMATO(4, 0.5F), + ASBESTOS(7, 1F), + BHOLE(10, 1F), + HOTDOGS(5, 0.75F), + LEFTOVERS(1, 0.1F), + YOGURT(3, 0.5F), + STEW(5, 0.5F), + CHINESE(6, 0.1F), + OIL(3, 1F), + FIST(6, 0.75F), + SPAM(8, 1F), + FRIED(10, 0.75F), + NAPALM(6, 1F), + DIESEL(6, 1F), + KEROSENE(6, 1F), + RECURSION(1, 1F), + BARK(2, 1F); protected int foodLevel; protected float saturation; diff --git a/src/main/java/com/hbm/items/food/ItemEnergy.java b/src/main/java/com/hbm/items/food/ItemEnergy.java index 02b6caf87..b01195ad9 100644 --- a/src/main/java/com/hbm/items/food/ItemEnergy.java +++ b/src/main/java/com/hbm/items/food/ItemEnergy.java @@ -171,13 +171,6 @@ public class ItemEnergy extends Item { player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 120 * 20, 1)); ContaminationUtil.contaminate(player, HazardType.RADIATION, ContaminationType.RAD_BYPASS, 15.0F); } - if(this == ModItems.bottle2_sunset) { - player.heal(6); - player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 60 * 20, 1)); - player.addPotionEffect(new PotionEffect(Potion.resistance.id, 60 * 20, 2)); - player.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 60 * 20, 2)); - player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 60 * 20, 2)); - } if(this == ModItems.coffee) { player.heal(10); player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 60 * 20, 2)); @@ -192,11 +185,7 @@ public class ItemEnergy extends Item { if(!player.capabilities.isCreativeMode) { if(this.cap != null) { - - if(this == ModItems.bottle2_sunset && world.rand.nextInt(20) == 0) - player.inventory.addItemStackToInventory(new ItemStack(ModItems.cap_star)); - else - player.inventory.addItemStackToInventory(new ItemStack(this.cap)); + player.inventory.addItemStackToInventory(new ItemStack(this.cap)); } if(this.container != null) { if(stack.stackSize <= 0) { @@ -317,20 +306,5 @@ public class ItemEnergy extends Item { list.add("Tastes like radish and radiation."); list.add("[Requires bottle opener]"); } - if(this == ModItems.bottle2_sunset) { - if(MainRegistry.polaroidID == 11) { - list.add("\"Authentic Sunset Juice\""); - list.add(""); - list.add("This smells like fish."); - list.add("*sip*"); - list.add("Yup, that's pretty disugsting."); - list.add("..."); - list.add("..."); - list.add("*sip*"); - } else { - list.add("The eternal #2. Screw you, Bradberton!"); - } - list.add("[Requires bottle opener]"); - } } } diff --git a/src/main/java/com/hbm/items/food/ItemFlask.java b/src/main/java/com/hbm/items/food/ItemFlask.java index 9ecdb4fc2..13826d3b8 100644 --- a/src/main/java/com/hbm/items/food/ItemFlask.java +++ b/src/main/java/com/hbm/items/food/ItemFlask.java @@ -50,7 +50,7 @@ public class ItemFlask extends ItemEnumMulti { float infusion = 5F; HbmPlayerProps props = HbmPlayerProps.getData(player); props.maxShield = Math.min(props.shieldCap, props.maxShield + infusion); - props.shield = Math.min(props.shield + infusion, props.maxShield); + props.shield = Math.min(props.shield + infusion, props.getEffectiveMaxShield()); } return stack; diff --git a/src/main/java/com/hbm/items/food/ItemLemon.java b/src/main/java/com/hbm/items/food/ItemLemon.java index 25bb74a9e..17499655c 100644 --- a/src/main/java/com/hbm/items/food/ItemLemon.java +++ b/src/main/java/com/hbm/items/food/ItemLemon.java @@ -33,15 +33,6 @@ public class ItemLemon extends ItemFood { list.add("Eh, good enough."); } - if(this == ModItems.definitelyfood) { - list.add("A'right, I got sick and tired of"); - list.add("having to go out, kill things just"); - list.add("to get food and not die, so here is "); - list.add("my absolutely genius solution:"); - list.add(""); - list.add("Have some edible dirt."); - } - if(this == ModItems.med_ipecac) { list.add("Bitter juice that will cause your stomach"); list.add("to forcefully eject its contents."); diff --git a/src/main/java/com/hbm/items/food/ItemPancake.java b/src/main/java/com/hbm/items/food/ItemPancake.java index f3bbc368d..784ee8995 100644 --- a/src/main/java/com/hbm/items/food/ItemPancake.java +++ b/src/main/java/com/hbm/items/food/ItemPancake.java @@ -5,7 +5,7 @@ import java.util.List; import com.hbm.items.ModItems; import com.hbm.items.armor.ArmorFSB; -import api.hbm.energy.IBatteryItem; +import api.hbm.energymk2.IBatteryItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemFood; import net.minecraft.item.ItemStack; diff --git a/src/main/java/com/hbm/items/machine/ItemAssemblyTemplate.java b/src/main/java/com/hbm/items/machine/ItemAssemblyTemplate.java index 6c338eec9..d3e58e448 100644 --- a/src/main/java/com/hbm/items/machine/ItemAssemblyTemplate.java +++ b/src/main/java/com/hbm/items/machine/ItemAssemblyTemplate.java @@ -7,6 +7,7 @@ import java.util.List; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.RecipesCommon.OreDictStack; import com.hbm.inventory.recipes.AssemblerRecipes; +import com.hbm.inventory.recipes.AssemblerRecipes.AssemblerRecipe; import com.hbm.items.ModItems; import com.hbm.util.I18nUtil; @@ -37,8 +38,9 @@ public class ItemAssemblyTemplate extends Item { public IIcon getIconFromDamage(int meta) { ComparableStack stack = AssemblerRecipes.recipeList.get(meta); + AssemblerRecipe recipe = AssemblerRecipes.recipes.get(stack); - if(AssemblerRecipes.hidden.get(stack) != null) + if(recipe != null && !recipe.folders.contains(ModItems.template_folder)) return this.hiddenIcon; return this.itemIcon; @@ -52,7 +54,9 @@ public class ItemAssemblyTemplate extends Item { //LEGACY if(out == null) out = AssemblerRecipes.recipeList.get(stack.getItemDamage()); - if(AssemblerRecipes.hidden.get(out) != null) + AssemblerRecipe recipe = AssemblerRecipes.recipes.get(stack); + + if(recipe != null && !recipe.folders.contains(ModItems.template_folder)) return this.hiddenIcon; return this.itemIcon; @@ -106,7 +110,7 @@ public class ItemAssemblyTemplate extends Item { return EnumChatFormatting.RED + "Broken Template" + EnumChatFormatting.RESET; } - String s1 = ("" + StatCollector.translateToLocal(out.getUnlocalizedName() + ".name")).trim(); + String s1 = out.getDisplayName().trim(); if(s1 != null) { s = s + " " + s1; @@ -144,12 +148,11 @@ public class ItemAssemblyTemplate extends Item { ComparableStack out = readType(stack); //LEGACY if(out == null) out = AssemblerRecipes.recipeList.get(i); - Integer time = AssemblerRecipes.time.get(out); - - if(time != null) - return time; - else - return 100; + AssemblerRecipe recipe = AssemblerRecipes.recipes.get(out); + + if(recipe != null) return recipe.time; + + return 100; } @Override @@ -174,7 +177,14 @@ public class ItemAssemblyTemplate extends Item { out = AssemblerRecipes.recipeList.get(i); nbtType = false; } - HashSet folders = AssemblerRecipes.hidden.get(out); + + AssemblerRecipe recipe = AssemblerRecipes.recipes.get(out); + if(recipe == null) { + list.add("I AM ERROR"); + return; + } + + HashSet folders = recipe.folders; if(folders == null) folders = new HashSet() { @@ -206,7 +216,7 @@ public class ItemAssemblyTemplate extends Item { return; } - Object[] in = AssemblerRecipes.recipes.get(out); + Object[] in = recipe.ingredients; if(in == null) { list.add("I AM ERROR"); diff --git a/src/main/java/com/hbm/items/machine/ItemBattery.java b/src/main/java/com/hbm/items/machine/ItemBattery.java index 4f0fda9a7..cefa97fce 100644 --- a/src/main/java/com/hbm/items/machine/ItemBattery.java +++ b/src/main/java/com/hbm/items/machine/ItemBattery.java @@ -5,7 +5,7 @@ import java.util.List; import com.hbm.items.ModItems; import com.hbm.util.BobMathUtil; -import api.hbm.energy.IBatteryItem; +import api.hbm.energymk2.IBatteryItem; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.creativetab.CreativeTabs; diff --git a/src/main/java/com/hbm/items/machine/ItemFluidSiphon.java b/src/main/java/com/hbm/items/machine/ItemFluidSiphon.java new file mode 100644 index 000000000..2a7fc95ce --- /dev/null +++ b/src/main/java/com/hbm/items/machine/ItemFluidSiphon.java @@ -0,0 +1,96 @@ +package com.hbm.items.machine; + +import com.hbm.util.CompatExternal; + +import com.hbm.inventory.FluidContainer; +import com.hbm.inventory.FluidContainerRegistry; +import com.hbm.inventory.fluid.FluidType; +import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Unsiphonable; +import com.hbm.items.ModItems; +import com.hbm.items.tool.ItemPipette; + +import api.hbm.fluid.IFluidStandardReceiver; +import api.hbm.fluid.IFluidStandardTransceiver; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +public class ItemFluidSiphon extends Item { + + @Override + public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int i, float f0, float f1, float f2) { + TileEntity te = CompatExternal.getCoreFromPos(world, x, y, z); + + if(te != null && (te instanceof IFluidStandardReceiver || te instanceof IFluidStandardTransceiver)) { + FluidTank[] tanks; + if (te instanceof IFluidStandardReceiver) { + tanks = ((IFluidStandardReceiver) te).getReceivingTanks(); + } else { + tanks = ((IFluidStandardTransceiver) te).getReceivingTanks(); + } + + boolean hasDrainedTank = false; + + // We need to iterate through the inventory for _each_ siphonable tank, so we can handle fluids that can only go into certain containers + // After we successfully siphon any fluid from a tank, we stop further processing, multiple fluid types require multiple clicks + for (FluidTank tank : tanks) { + if (tank.getFill() <= 0) continue; + + ItemStack availablePipette = null; + FluidType tankType = tank.getTankType(); + + if (tankType.hasTrait(FT_Unsiphonable.class)) continue; + + for (int j = 0; j < player.inventory.mainInventory.length; j++) { + ItemStack inventoryStack = player.inventory.mainInventory[j]; + if (inventoryStack == null) continue; + + FluidContainer container = FluidContainerRegistry.getContainer(tankType, inventoryStack); + + if (availablePipette == null && inventoryStack.getItem() instanceof ItemPipette) { + ItemPipette pipette = (ItemPipette) inventoryStack.getItem(); + if (!pipette.willFizzle(tankType) && pipette != ModItems.pipette_laboratory) { // Ignoring laboratory pipettes for now + availablePipette = inventoryStack; + } + } + + if (container == null) continue; + + ItemStack full = FluidContainerRegistry.getFullContainer(inventoryStack, tankType); + + while (tank.getFill() >= container.content && inventoryStack.stackSize > 0) { + hasDrainedTank = true; + + inventoryStack.stackSize--; + if (inventoryStack.stackSize <= 0) { + player.inventory.mainInventory[j] = null; + } + + ItemStack filledContainer = full.copy(); + tank.setFill(tank.getFill() - container.content); + player.inventory.addItemStackToInventory(filledContainer); + } + } + + // If the remainder of the tank can only fit into a pipette, fill a pipette with the remainder + // Will not auto-fill fizzlable pipettes, there is no feedback for the fizzle in this case, and that's a touch too unfair + if (availablePipette != null && tank.getFill() < 1000) { + ItemPipette pipette = (ItemPipette) availablePipette.getItem(); + + if (pipette.acceptsFluid(tankType, availablePipette)) { + hasDrainedTank = true; + tank.setFill(pipette.tryFill(tankType, tank.getFill(), availablePipette)); + } + } + + if (hasDrainedTank) return true; + } + } + + return false; + } + +} diff --git a/src/main/java/com/hbm/items/machine/ItemFluidTank.java b/src/main/java/com/hbm/items/machine/ItemFluidTank.java index f4c0a3551..ce7a2cd0d 100644 --- a/src/main/java/com/hbm/items/machine/ItemFluidTank.java +++ b/src/main/java/com/hbm/items/machine/ItemFluidTank.java @@ -15,7 +15,7 @@ import net.minecraft.util.StatCollector; public class ItemFluidTank extends Item { - IIcon overlayIcon; + protected IIcon overlayIcon; public ItemFluidTank() { this.setHasSubtypes(true); diff --git a/src/main/java/com/hbm/items/machine/ItemICFPellet.java b/src/main/java/com/hbm/items/machine/ItemICFPellet.java new file mode 100644 index 000000000..d075af59d --- /dev/null +++ b/src/main/java/com/hbm/items/machine/ItemICFPellet.java @@ -0,0 +1,74 @@ +package com.hbm.items.machine; + +import com.hbm.lib.RefStrings; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.IIcon; + +public class ItemICFPellet extends Item { + + protected IIcon iconBG; + + public ItemICFPellet() { + this.setMaxStackSize(1); + } + + public static long getMaxDepletion(ItemStack stack) { + if(!stack.hasTagCompound()) return 10_000_000_000L; + //TODO: type-dependent + return 50_000_000_000L; + } + + public static long getDepletion(ItemStack stack) { + if(!stack.hasTagCompound()) return 0L; + return stack.stackTagCompound.getLong("depletion"); + } + + public static long react(ItemStack stack, long heat) { + if(!stack.hasTagCompound()) stack.stackTagCompound = new NBTTagCompound(); + //TODO: type-dependent + stack.stackTagCompound.setLong("depletion", stack.stackTagCompound.getLong("depletion") + heat); + return heat * 2; + } + + @Override + public boolean showDurabilityBar(ItemStack stack) { + return getDurabilityForDisplay(stack) > 0D; + } + + @Override + public double getDurabilityForDisplay(ItemStack stack) { + return (double) getDepletion(stack) / (double) getMaxDepletion(stack); + } + + @Override + @SideOnly(Side.CLIENT) + public boolean requiresMultipleRenderPasses() { + return true; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister reg) { + super.registerIcons(reg); + this.iconBG = reg.registerIcon(RefStrings.MODID + ":icf_pellet_bg"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIconFromDamageForRenderPass(int meta, int pass) { + return pass == 1 ? super.getIconFromDamageForRenderPass(meta, pass) : this.iconBG; + } + + @Override + @SideOnly(Side.CLIENT) + public int getColorFromItemStack(ItemStack stack, int pass) { + if(pass == 0) return 0x4040ff; + return 0xffffff; + } +} diff --git a/src/main/java/com/hbm/items/machine/ItemInfiniteFluid.java b/src/main/java/com/hbm/items/machine/ItemInfiniteFluid.java index 011b596b6..2223059ee 100644 --- a/src/main/java/com/hbm/items/machine/ItemInfiniteFluid.java +++ b/src/main/java/com/hbm/items/machine/ItemInfiniteFluid.java @@ -1,6 +1,7 @@ package com.hbm.items.machine; import com.hbm.inventory.fluid.FluidType; +import com.hbm.items.ModItems; import net.minecraft.item.Item; @@ -23,4 +24,5 @@ public class ItemInfiniteFluid extends Item { public FluidType getType() { return this.type; } public int getAmount() { return this.amount; } public int getChance() { return this.chance; } + public boolean allowPressure(int pressure) { return this == ModItems.fluid_barrel_infinite || pressure == 0; } } diff --git a/src/main/java/com/hbm/items/machine/ItemMachineUpgrade.java b/src/main/java/com/hbm/items/machine/ItemMachineUpgrade.java index 3e165b474..99619f968 100644 --- a/src/main/java/com/hbm/items/machine/ItemMachineUpgrade.java +++ b/src/main/java/com/hbm/items/machine/ItemMachineUpgrade.java @@ -57,84 +57,6 @@ public class ItemMachineUpgrade extends Item { } } - if(this.type == UpgradeType.SPEED) { - list.add(EnumChatFormatting.RED + "Mining Drill:"); - list.add("Delay -" + (15 * this.tier) + "% / Consumption +" + (300 * this.tier) + "HE/t"); - list.add(EnumChatFormatting.RED + "Laser Miner:"); - list.add("Delay ÷" + (1 + this.tier) + " / Consumption +" + (625 * this.tier) + "HE/t"); - list.add(EnumChatFormatting.RED + "Electric Furnace:"); - list.add("Delay -" + (25 * this.tier) + "% / Consumption +" + (50 * this.tier) + "HE/t"); - list.add(EnumChatFormatting.RED + "Assembly Machine:"); - list.add("Delay -" + (25 * this.tier) + "% / Consumption +" + (300 * this.tier) + "HE/t"); - list.add(EnumChatFormatting.RED + "Chemical Plant:"); - list.add("Delay -" + (25 * this.tier) + "% / Consumption +" + (300 * this.tier) + "HE/t"); - list.add(EnumChatFormatting.RED + "Oil Wells:"); - list.add("Delay -" + (25 * this.tier) + "% / Consumption +" + (25 * this.tier) + "%"); - list.add(EnumChatFormatting.RED + "Crystallizer:"); - list.add("Delay -" + (20 * this.tier) + "% / Consumption +" + (1000 * this.tier) + "HE/t"); - list.add(EnumChatFormatting.RED + "Cyclotron:"); - list.add("Speed x" + (1 + this.tier)); - list.add(EnumChatFormatting.RED + "Flare Stack:"); - list.add("Speed x" + (1 + this.tier)); - list.add(EnumChatFormatting.RED + "Maxwell:"); - list.add("Damage +" + (0.25 * (double)this.tier) + "dmg/t"); - } - - if(this.type == UpgradeType.EFFECT) { - list.add(EnumChatFormatting.RED + "Mining Drill:"); - list.add("Radius +" + this.tier + "m / Consumption +" + (80 * this.tier) + "HE/t"); - list.add(EnumChatFormatting.RED + "Crystallizer:"); - list.add("+" + (5 * this.tier) + "% chance of not consuming an item / Acid consumption +" + (1000 * this.tier) + "mB"); - list.add(EnumChatFormatting.RED + "Cyclotron:"); - list.add("-" + (100 - 100 / (this.tier + 1)) + "% chance of incrementing overheat counter"); - list.add(EnumChatFormatting.RED + "Flare Stack:"); - list.add("+" + (100 * this.tier / 3) + "% power production"); - list.add(EnumChatFormatting.RED + "Maxwell:"); - list.add("Range +" + (3 * this.tier) + "m"); - } - - if(this.type == UpgradeType.POWER) { - list.add(EnumChatFormatting.RED + "Mining Drill:"); - list.add("Consumption -" + (30 * this.tier) + "HE/t / Delay +" + (5 * this.tier) + "%"); - list.add(EnumChatFormatting.RED + "Electric Furnace:"); - list.add("Consumption -" + (15 * this.tier) + "HE/t / Delay +" + (10 * this.tier) + "%"); - list.add(EnumChatFormatting.RED + "Assembly Machine:"); - list.add("Consumption -" + (30 * this.tier) + "HE/t / Delay +" + (5 * this.tier) + "%"); - list.add(EnumChatFormatting.RED + "Chemical Plant:"); - list.add("Consumption -" + (30 * this.tier) + "HE/t / Delay +" + (5 * this.tier) + "%"); - list.add(EnumChatFormatting.RED + "Oil Wells:"); - list.add("Consumption -" + (25 * this.tier) + "% / Delay +" + (10 * this.tier) + "%"); - list.add(EnumChatFormatting.RED + "Cyclotron:"); - list.add("Consumption -" + (100 * this.tier) + "kHE/t"); - list.add(EnumChatFormatting.RED + "Maxwell:"); - list.add("Consumption -" + (150 * this.tier) + "HE/t"); - list.add("Consumption when firing -" + (1500 * this.tier) + "HE/t"); - } - - if(this == ModItems.upgrade_fortune_1) { - list.add(EnumChatFormatting.RED + "Mining Drill:"); - list.add("Fortune +1 / Delay +15"); - } - - if(this == ModItems.upgrade_fortune_2) { - list.add(EnumChatFormatting.RED + "Mining Drill:"); - list.add("Fortune +2 / Delay +30"); - } - - if(this == ModItems.upgrade_fortune_3) { - list.add(EnumChatFormatting.RED + "Mining Drill:"); - list.add("Fortune +3 / Delay +45"); - } - - if(this.type == UpgradeType.AFTERBURN) { - list.add(EnumChatFormatting.RED + "Turbofan:"); - list.add("Production x" + (this.tier + 1) + " / Consumption x" + (this.tier + 2)); - list.add(EnumChatFormatting.RED + "Maxwell:"); - list.add("Afterburn +" + (this.tier * 3) + "s"); - list.add(EnumChatFormatting.RED + "Oil Wells:"); - list.add("Burn " + (this.tier * 10) + "mB of gas for " + (this.tier * 50) + "HE/t"); - } - if(this == ModItems.upgrade_radius) { list.add(EnumChatFormatting.RED + "Forcefield Range Upgrade"); list.add("Radius +16 / Consumption +500"); diff --git a/src/main/java/com/hbm/items/machine/ItemMold.java b/src/main/java/com/hbm/items/machine/ItemMold.java index 78e5a8ff1..864f975b9 100644 --- a/src/main/java/com/hbm/items/machine/ItemMold.java +++ b/src/main/java/com/hbm/items/machine/ItemMold.java @@ -66,14 +66,8 @@ public class ItemMold extends Item { Mats.MAT_TITANIUM, new ItemStack(ModItems.stamp_titanium_flat), Mats.MAT_OBSIDIAN, new ItemStack(ModItems.stamp_obsidian_flat))); - registerMold(new MoldMulti( 8, S, "hull_small", MaterialShapes.INGOT.q(2), - Mats.MAT_STEEL, new ItemStack(ModItems.hull_small_steel), - Mats.MAT_ALUMINIUM, new ItemStack(ModItems.hull_small_aluminium))); - - registerMold(new MoldMulti( 9, L, "hull_big", MaterialShapes.INGOT.q(6), - Mats.MAT_STEEL, new ItemStack(ModItems.hull_big_steel), - Mats.MAT_ALUMINIUM, new ItemStack(ModItems.hull_big_aluminium), - Mats.MAT_TITANIUM, new ItemStack(ModItems.hull_big_titanium))); + registerMold(new MoldShape( 8, S, "shell", MaterialShapes.SHELL)); + registerMold(new MoldShape( 9, S, "pipe", MaterialShapes.PIPE)); registerMold(new MoldShape( 10, L, "ingots", MaterialShapes.INGOT, 9)); registerMold(new MoldShape( 11, L, "plates", MaterialShapes.PLATE, 9)); diff --git a/src/main/java/com/hbm/items/machine/ItemMuffler.java b/src/main/java/com/hbm/items/machine/ItemMuffler.java new file mode 100644 index 000000000..915fd65d7 --- /dev/null +++ b/src/main/java/com/hbm/items/machine/ItemMuffler.java @@ -0,0 +1,31 @@ +package com.hbm.items.machine; + +import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.CompatExternal; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +public class ItemMuffler extends Item { + + @Override + public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int i, float f0, float f1, float f2) { + TileEntity te = CompatExternal.getCoreFromPos(world, x, y, z); + + if(te != null && te instanceof TileEntityMachineBase) { + TileEntityMachineBase tile = (TileEntityMachineBase) te; + if(!tile.muffled) { + tile.muffled = true; + world.playSoundAtEntity(player, "hbm:item.upgradePlug", 1.0F, 1.0F); + stack.stackSize--; + tile.markDirty(); + return true; + } + } + + return false; + } +} diff --git a/src/main/java/com/hbm/items/machine/ItemPWRFuel.java b/src/main/java/com/hbm/items/machine/ItemPWRFuel.java index db802776a..b5cc90139 100644 --- a/src/main/java/com/hbm/items/machine/ItemPWRFuel.java +++ b/src/main/java/com/hbm/items/machine/ItemPWRFuel.java @@ -58,7 +58,7 @@ public class ItemPWRFuel extends ItemEnumMulti { String reset = EnumChatFormatting.RESET + ""; list.add(color + "Heat per flux: " + reset + num.heatEmission + " TU"); - list.add(color + "Reacton function: " + reset + num.function.getLabelForFuel()); + list.add(color + "Reaction function: " + reset + num.function.getLabelForFuel()); list.add(color + "Fuel type: " + reset + num.function.getDangerFromFuel()); } } diff --git a/src/main/java/com/hbm/items/machine/ItemSelfcharger.java b/src/main/java/com/hbm/items/machine/ItemSelfcharger.java index d8b54f7fe..67c05fb7b 100644 --- a/src/main/java/com/hbm/items/machine/ItemSelfcharger.java +++ b/src/main/java/com/hbm/items/machine/ItemSelfcharger.java @@ -4,7 +4,7 @@ import java.util.List; import com.hbm.util.BobMathUtil; -import api.hbm.energy.IBatteryItem; +import api.hbm.energymk2.IBatteryItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; diff --git a/src/main/java/com/hbm/items/machine/ItemWatzPellet.java b/src/main/java/com/hbm/items/machine/ItemWatzPellet.java index be5e0ad7f..8ed05aa4b 100644 --- a/src/main/java/com/hbm/items/machine/ItemWatzPellet.java +++ b/src/main/java/com/hbm/items/machine/ItemWatzPellet.java @@ -49,7 +49,7 @@ public class ItemWatzPellet extends ItemEnumMulti { NQD( 0x4B4B4B, 0x121212, 2_000, 20, 0.01D, new FunctionLinear(2D), new FunctionSqrt(1D/25D).withOff(25D * 25D), null), NQR( 0x2D2D2D, 0x0B0B0B, 2_500, 30, 0.01D, new FunctionLinear(1.5D), new FunctionSqrt(1D/25D).withOff(25D * 25D), null); - public double yield = 1_000_000_000; + public double yield = 500_000_000; public int colorLight; public int colorDark; public double mudContent; //how much mud per reaction flux should be produced @@ -64,7 +64,7 @@ public class ItemWatzPellet extends ItemEnumMulti { this.colorDark = colorDark; this.passive = passive; this.heatEmission = heatEmission; - this.mudContent = mudContent; + this.mudContent = mudContent / 2D; this.burnFunc = burnFunction; this.heatDiv = heatDivisor; this.absorbFunc = absorbFunction; @@ -139,7 +139,7 @@ public class ItemWatzPellet extends ItemEnumMulti { } if(num.heatEmission > 0) list.add(color + "Heat per flux: " + reset + num.heatEmission + " TU"); if(num.burnFunc != null) { - list.add(color + "Reacton function: " + reset + num.burnFunc.getLabelForFuel()); + list.add(color + "Reaction function: " + reset + num.burnFunc.getLabelForFuel()); list.add(color + "Fuel type: " + reset + num.burnFunc.getDangerFromFuel()); } if(num.heatDiv != null) list.add(color + "Thermal multiplier: " + reset + num.heatDiv.getLabelForFuel() + " TU⁻¹"); diff --git a/src/main/java/com/hbm/items/special/ItemAutogen.java b/src/main/java/com/hbm/items/special/ItemAutogen.java index 1e1f1d075..ea2be4db1 100644 --- a/src/main/java/com/hbm/items/special/ItemAutogen.java +++ b/src/main/java/com/hbm/items/special/ItemAutogen.java @@ -27,6 +27,7 @@ public class ItemAutogen extends Item { private HashMap textureOverrides = new HashMap(); private HashMap iconMap = new HashMap(); + private String overrideUnlocalizedName = null; public ItemAutogen(MaterialShapes shape) { this.setHasSubtypes(true); @@ -38,6 +39,10 @@ public class ItemAutogen extends Item { textureOverrides.put(mat, tex); return this; } + public ItemAutogen oun(String overrideUnlocalizedName) { + this.overrideUnlocalizedName = overrideUnlocalizedName; + return this; + } @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister reg) { @@ -64,7 +69,7 @@ public class ItemAutogen extends Item { @Override @SideOnly(Side.CLIENT) public void getSubItems(Item item, CreativeTabs tab, List list) { - + for(NTMMaterial mat : Mats.orderedList) { if(mat.shapes.contains(this.shape)) { list.add(new ItemStack(item, 1, mat.id)); @@ -117,4 +122,9 @@ public class ItemAutogen extends Item { String matName = StatCollector.translateToLocal(mat.getUnlocalizedName()); return StatCollector.translateToLocalFormatted(this.getUnlocalizedNameInefficiently(stack) + ".name", matName); } + + @Override + public String getUnlocalizedName(ItemStack stack) { + return overrideUnlocalizedName != null ? "item." + overrideUnlocalizedName : super.getUnlocalizedName(stack); + } } diff --git a/src/main/java/com/hbm/items/special/ItemBedrockOre.java b/src/main/java/com/hbm/items/special/ItemBedrockOre.java index ca2ad4853..2dc6404f0 100644 --- a/src/main/java/com/hbm/items/special/ItemBedrockOre.java +++ b/src/main/java/com/hbm/items/special/ItemBedrockOre.java @@ -98,7 +98,8 @@ public class ItemBedrockOre extends ItemEnumMulti { CHLOROCALCITE("Chlorocalcite", 0xCDE036, B_LITHIUM, B_SILICON, B_SILICON), //i guess? FLUORITE("Fluorite", 0xF6F3E7, B_SILICON, B_LITHIUM, B_ALUMINIUM), //different silicon-bearing gemstones, generic lithium, aluminium from sodium compound trailings HEMATITE("Hematite", 0xA37B72, B_SULFUR, B_TITANIUM, B_TITANIUM), //titanium, sulfur from pyrite - MALACHITE("Malachite", 0x66B48C, B_SULFUR, B_SULFUR, B_SULFUR); //sulfur sulfur sulfur sulfur + MALACHITE("Malachite", 0x66B48C, B_SULFUR, B_SULFUR, B_SULFUR), //sulfur sulfur sulfur sulfur + NEODYMIUM("Neodymium", 0x8F8F5F, B_LITHIUM, B_SILICON, B_BISMUTH); //yeah whatever public String oreName; public int color; diff --git a/src/main/java/com/hbm/items/special/ItemBook.java b/src/main/java/com/hbm/items/special/ItemBook.java index 5759ea383..56995b012 100644 --- a/src/main/java/com/hbm/items/special/ItemBook.java +++ b/src/main/java/com/hbm/items/special/ItemBook.java @@ -43,37 +43,4 @@ public class ItemBook extends Item implements IGUIProvider { public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIBook(player.inventory); } - - /*@Override - public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { - - if(world.isRemote) - return stack; - - if(!player.isSneaking()) { - List list = world.getEntitiesWithinAABBExcludingEntity(player, AxisAlignedBB.getBoundingBox(player.posX - 10, player.posY - 2, player.posZ - 10, player.posX + 10, player.posY + 2, player.posZ + 10)); - - for(Object o : list) { - - if(o instanceof EntityLivingBase) { - EntityLivingBase entity = (EntityLivingBase)o; - - entity.addPotionEffect(new PotionEffect(HbmPotion.telekinesis.id, 20, 0)); - } - } - } else { - if(player.inventory.hasItemStack(new ItemStack(ModItems.ingot_u238m2, 1, 1)) && - player.inventory.hasItemStack(new ItemStack(ModItems.ingot_u238m2, 1, 2)) && - player.inventory.hasItemStack(new ItemStack(ModItems.ingot_u238m2, 1, 3))) { - player.inventory.clearInventory(ModItems.ingot_u238m2, 1); - player.inventory.clearInventory(ModItems.ingot_u238m2, 2); - player.inventory.clearInventory(ModItems.ingot_u238m2, 3); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.ingot_u238m2)); - player.inventoryContainer.detectAndSendChanges(); - } - } - - return stack; - }*/ - } diff --git a/src/main/java/com/hbm/items/special/ItemCircuitStarComponent.java b/src/main/java/com/hbm/items/special/ItemCircuitStarComponent.java index 840d79ea9..f31ae27ef 100644 --- a/src/main/java/com/hbm/items/special/ItemCircuitStarComponent.java +++ b/src/main/java/com/hbm/items/special/ItemCircuitStarComponent.java @@ -11,6 +11,7 @@ public class ItemCircuitStarComponent extends ItemEnumMulti { public static enum CircuitComponentType { CHIPSET, CPU, - RAM + RAM, + CARD } } diff --git a/src/main/java/com/hbm/items/special/ItemGlitch.java b/src/main/java/com/hbm/items/special/ItemGlitch.java index 9942c4754..715eacd17 100644 --- a/src/main/java/com/hbm/items/special/ItemGlitch.java +++ b/src/main/java/com/hbm/items/special/ItemGlitch.java @@ -12,7 +12,7 @@ import com.hbm.items.ModItems; import com.hbm.lib.ModDamageSource; import com.hbm.main.MainRegistry; -import api.hbm.energy.IBatteryItem; +import api.hbm.energymk2.IBatteryItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.Item; diff --git a/src/main/java/com/hbm/items/special/ItemLootCrate.java b/src/main/java/com/hbm/items/special/ItemLootCrate.java index b51d629d2..56207a02b 100644 --- a/src/main/java/com/hbm/items/special/ItemLootCrate.java +++ b/src/main/java/com/hbm/items/special/ItemLootCrate.java @@ -5,7 +5,7 @@ import java.util.List; import java.util.Random; import com.hbm.items.ModItems; -import com.hbm.items.weapon.ItemMissile; +import com.hbm.items.weapon.ItemCustomMissilePart; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; @@ -14,9 +14,9 @@ import net.minecraft.world.World; public class ItemLootCrate extends Item { - public static List list10 = new ArrayList(); - public static List list15 = new ArrayList(); - public static List listMisc = new ArrayList(); + public static List list10 = new ArrayList(); + public static List list15 = new ArrayList(); + public static List listMisc = new ArrayList(); private static Random rand = new Random(); @Override @@ -35,10 +35,10 @@ public class ItemLootCrate extends Item { return stack; } - private ItemMissile choose(List parts) { + private ItemCustomMissilePart choose(List parts) { boolean flag = true; - ItemMissile item = null; + ItemCustomMissilePart item = null; while(flag) { item = parts.get(rand.nextInt(parts.size())); diff --git a/src/main/java/com/hbm/items/special/ItemPlasticScrap.java b/src/main/java/com/hbm/items/special/ItemPlasticScrap.java index a262df155..e658f7981 100644 --- a/src/main/java/com/hbm/items/special/ItemPlasticScrap.java +++ b/src/main/java/com/hbm/items/special/ItemPlasticScrap.java @@ -13,6 +13,7 @@ public class ItemPlasticScrap extends ItemEnumMulti { //GENERAL BOARD BOARD_BLANK, BOARD_TRANSISTOR, + BOARD_CONVERTER, //CHIPSET BRIDGE_NORTH, @@ -36,6 +37,10 @@ public class ItemPlasticScrap extends ItemEnumMulti { MEM_16K_A, MEM_16K_B, MEM_16K_C, - MEM_16K_D + MEM_16K_D, + + //EXTENSION CARD + CARD_BOARD, + CARD_PROCESSOR } } diff --git a/src/main/java/com/hbm/items/special/ItemStarterKit.java b/src/main/java/com/hbm/items/special/ItemStarterKit.java index 1890a002d..36aa11c9d 100644 --- a/src/main/java/com/hbm/items/special/ItemStarterKit.java +++ b/src/main/java/com/hbm/items/special/ItemStarterKit.java @@ -215,9 +215,8 @@ public class ItemStarterKit extends Item { player.inventory.addItemStackToInventory(new ItemStack(ModItems.battery_lithium, 1)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.battery_potato, 1)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.screwdriver, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_coal_off, 3)); + player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_excavator, 1)); player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_diesel, 2)); - player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.machine_selenium, 1)); player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.red_cable, 64)); player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.red_wire_coated, 16)); player.inventory.addItemStackToInventory(new ItemStack(ModBlocks.red_pylon, 8)); @@ -428,8 +427,6 @@ public class ItemStarterKit extends Item { player.inventory.addItemStackToInventory(new ItemStack(ModItems.missile_nuclear, 1)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.missile_nuclear_cluster, 1)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.missile_volcano, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.missile_endo, 1)); - player.inventory.addItemStackToInventory(new ItemStack(ModItems.missile_exo, 1)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.missile_doomsday, 1)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.missile_taint, 1)); player.inventory.addItemStackToInventory(new ItemStack(ModItems.missile_micro, 1)); diff --git a/src/main/java/com/hbm/items/special/ItemTrain.java b/src/main/java/com/hbm/items/special/ItemTrain.java index 007d31a91..6ecadd476 100644 --- a/src/main/java/com/hbm/items/special/ItemTrain.java +++ b/src/main/java/com/hbm/items/special/ItemTrain.java @@ -44,9 +44,9 @@ public class ItemTrain extends ItemEnumMulti { public static enum EnumTrainType { // Engine Gauge Max Speed Accel. Eng. Brake Parking Brake - CARGO_TRAM(TrainCargoTram.class, "Electric", "Standard Gauge", "10m/s", "0.2m/s", "<1m/s", "Yes"), + CARGO_TRAM(TrainCargoTram.class, "Electric", "Standard Gauge", "10m/s", "0.2m/s²", "<1m/s", "Yes"), CARGO_TRAM_TRAILER(TrainCargoTramTrailer.class, null, "Standard Gauge", "Yes", null, null, "No"), - TUNNEL_BORE(TrainTunnelBore.class, "NONE", "Standard Gauge", "10m/s", "0.2m/s", "<1m/s", "Yes"); + TUNNEL_BORE(TrainTunnelBore.class, "NONE", "Standard Gauge", "10m/s", "0.2m/s²", "<1m/s", "Yes"); public Class train; public String engine; @@ -78,20 +78,24 @@ public class ItemTrain extends ItemEnumMulti { try { train = type.train.getConstructor(World.class).newInstance(world); } catch(Exception e) { } if(train != null && train.getGauge() == ((IRailNTM) b).getGauge(world, x, y, z)) { - if(!world.isRemote) { - train.setPosition(x + fx, y + fy, z + fz); - BlockPos anchor = train.getCurrentAnchorPos(); - train.rotationYaw = entity.rotationYaw; - Vec3 corePos = train.getRelPosAlongRail(anchor, 0, new MoveContext(RailCheckType.CORE, 0)); + + train.setPosition(x + fx, y + fy, z + fz); + BlockPos anchor = train.getCurrentAnchorPos(); + train.rotationYaw = entity.rotationYaw; + Vec3 corePos = train.getRelPosAlongRail(anchor, 0, new MoveContext(RailCheckType.CORE, 0)); + if(corePos != null) { train.setPosition(corePos.xCoord, corePos.yCoord, corePos.zCoord); Vec3 frontPos = train.getRelPosAlongRail(anchor, train.getLengthSpan(), new MoveContext(RailCheckType.FRONT, train.getCollisionSpan() - train.getLengthSpan())); Vec3 backPos = train.getRelPosAlongRail(anchor, -train.getLengthSpan(), new MoveContext(RailCheckType.BACK, train.getCollisionSpan() - train.getLengthSpan())); - train.rotationYaw = train.generateYaw(frontPos, backPos); - world.spawnEntityInWorld(train); + if(frontPos != null && backPos != null) { + if(!world.isRemote) { + train.rotationYaw = train.generateYaw(frontPos, backPos); + world.spawnEntityInWorld(train); + } + stack.stackSize--; + return true; + } } - - stack.stackSize--; - return true; } } diff --git a/src/main/java/com/hbm/items/special/WatzFuel.java b/src/main/java/com/hbm/items/special/WatzFuel.java deleted file mode 100644 index e9a7e32a1..000000000 --- a/src/main/java/com/hbm/items/special/WatzFuel.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.hbm.items.special; - -import java.util.List; - -import com.hbm.items.machine.ItemFuelRod; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -public class WatzFuel extends ItemFuelRod { - - public int power; - public float powerMultiplier; - public int heat; - public float heatMultiplier; - public float decayMultiplier; - - /** - * Constructor for a new Watz fuel pellet - * @param lifeTime - * @param power - * @param powerMultiplier - * @param heat - * @param heatMultiplier - * @param decayMultiplier - */ - - public WatzFuel(int lifeTime, int power, float powerMultiplier, int heat, float heatMultiplier, float decayMultiplier) { - super(lifeTime * 100); - this.power = power/10; - this.powerMultiplier = powerMultiplier; - this.heat = heat; - this.heatMultiplier = heatMultiplier; - this.decayMultiplier = decayMultiplier; - this.setMaxDamage(100); - } - - @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) - { - list.add("Max age: " + this.lifeTime/100 + " ticks"); - list.add("Power per tick: " + (power) + "HE"); - list.add("Power multiplier: " + (powerMultiplier >= 1 ? "+" : "") + (Math.round(powerMultiplier * 1000) * .10 - 100) + "%"); - list.add("Heat provided: " + heat + " heat"); - list.add("Heat multiplier: " + (heatMultiplier >= 1 ? "+" : "") + (Math.round(heatMultiplier * 1000) * .10 - 100) + "%"); - list.add("Decay multiplier: " + (decayMultiplier >= 1 ? "+" : "") + (Math.round(decayMultiplier * 1000) * .10 - 100) + "%"); - - super.addInformation(itemstack, player, list, bool); - } - - public static void updateDamage(ItemStack stack) { - - if(!stack.hasTagCompound()) - stack.stackTagCompound = new NBTTagCompound(); - - stack.setItemDamage((int)((double)getLifeTime(stack) / (double)((WatzFuel)stack.getItem()).lifeTime * 100D)); - } -} diff --git a/src/main/java/com/hbm/items/tool/IItemAbility.java b/src/main/java/com/hbm/items/tool/IItemAbility.java index f02dccf4e..4096a2a6b 100644 --- a/src/main/java/com/hbm/items/tool/IItemAbility.java +++ b/src/main/java/com/hbm/items/tool/IItemAbility.java @@ -3,6 +3,8 @@ package com.hbm.items.tool; import java.util.ArrayList; import java.util.Random; +import com.hbm.blocks.ModBlocks; + import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.enchantment.Enchantment; @@ -43,7 +45,7 @@ public interface IItemAbility { Block block = world.getBlock(x, y, z); int meta = world.getBlockMetadata(x, y, z); - if(!(canHarvestBlock(block, stack) || canShearBlock(block, stack, world, x, y, z)) || block == Blocks.bedrock) + if(!(canHarvestBlock(block, stack) || canShearBlock(block, stack, world, x, y, z)) || block == Blocks.bedrock || block == ModBlocks.stone_keyhole) return; Block refBlock = world.getBlock(refX, refY, refZ); diff --git a/src/main/java/com/hbm/items/tool/ItemAnalyzer.java b/src/main/java/com/hbm/items/tool/ItemAnalyzer.java deleted file mode 100644 index 1076552b1..000000000 --- a/src/main/java/com/hbm/items/tool/ItemAnalyzer.java +++ /dev/null @@ -1,111 +0,0 @@ -package com.hbm.items.tool; - -import com.hbm.interfaces.IFluidDuct; -import com.hbm.tileentity.machine.TileEntityDummy; -import com.hbm.tileentity.machine.TileEntityLockableBase; -import com.hbm.tileentity.network.TileEntityPylon; - -import api.hbm.energy.IEnergyConnector; -import net.minecraft.block.Block; -import net.minecraft.client.resources.I18n; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ChatComponentText; -import net.minecraft.world.World; - -public class ItemAnalyzer extends Item { - - @Override - public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int b, float f0, float f1, float f2) - { - Block block = world.getBlock(x, y, z); - TileEntity te = world.getTileEntity(x, y, z); - - if(world.isRemote) { - player.addChatMessage(new ChatComponentText( - "Block: " + I18n.format(block.getUnlocalizedName() + ".name") + " (" + block.getUnlocalizedName() + ")" - )); - - player.addChatMessage(new ChatComponentText( - "Meta: " + world.getBlockMetadata(x, y, z) - )); - } - - if(!world.isRemote) { - - if(te == null) { - player.addChatMessage(new ChatComponentText( - "Tile Entity: none")); - } else { - - if(te instanceof TileEntityDummy) { - - player.addChatMessage(new ChatComponentText( - "Dummy Block, references TE at " + ((TileEntityDummy)te).targetX + " / " + ((TileEntityDummy)te).targetY + " / " + ((TileEntityDummy)te).targetZ)); - - te = world.getTileEntity(((TileEntityDummy)te).targetX, ((TileEntityDummy)te).targetY, ((TileEntityDummy)te).targetZ); - } - - String[] parts = te.toString().split("\\."); - - if(parts.length == 0) - parts = new String[]{"error"}; - - String post = parts[parts.length - 1]; - String name = post.split("@")[0]; - - player.addChatMessage(new ChatComponentText( - "Tile Entity: " + name)); - - if(te instanceof IInventory) { - - player.addChatMessage(new ChatComponentText( - "Slots: " + ((IInventory)te).getSizeInventory())); - } - - if(te instanceof IEnergyConnector) { - - player.addChatMessage(new ChatComponentText( - "Electricity: " + ((IEnergyConnector)te).getPower() + " HE")); - } - - if(te instanceof IFluidDuct) { - - player.addChatMessage(new ChatComponentText( - "Duct Type: " + ((IFluidDuct)te).getType().getLocalizedName())); - } - - if(te instanceof TileEntityPylon) { - - /** - * this is a smoldering crater - */ - } - - if(te instanceof TileEntityLockableBase) { - - player.addChatMessage(new ChatComponentText( - "Locked: " + ((TileEntityLockableBase)te).isLocked())); - - if(((TileEntityLockableBase)te).isLocked()) { - - //player.addChatMessage(new ChatComponentText( - // "Pins: " + ((TileEntityLockableBase)te).getPins())); - player.addChatMessage(new ChatComponentText( - "Pick Chance: " + (((TileEntityLockableBase)te).getMod() * 100D) + "%")); - } - } - } - - player.addChatMessage(new ChatComponentText( - "----------------------------" - )); - } - - return true; - } - -} diff --git a/src/main/java/com/hbm/items/tool/ItemBlowtorch.java b/src/main/java/com/hbm/items/tool/ItemBlowtorch.java index 0776efa01..a3aafa9df 100644 --- a/src/main/java/com/hbm/items/tool/ItemBlowtorch.java +++ b/src/main/java/com/hbm/items/tool/ItemBlowtorch.java @@ -204,4 +204,14 @@ public class ItemBlowtorch extends Item implements IFillableItem { @Override public boolean providesFluid(FluidType type, ItemStack stack) { return false; } @Override public int tryEmpty(FluidType type, int amount, ItemStack stack) { return amount; } + + @Override + public FluidType getFirstFluidType(ItemStack stack) { + return null; + } + + @Override + public int getFill(ItemStack stack) { + return 0; + } } diff --git a/src/main/java/com/hbm/items/tool/ItemBoltgun.java b/src/main/java/com/hbm/items/tool/ItemBoltgun.java index 34440b70a..0b4ef3dd2 100644 --- a/src/main/java/com/hbm/items/tool/ItemBoltgun.java +++ b/src/main/java/com/hbm/items/tool/ItemBoltgun.java @@ -1,6 +1,6 @@ package com.hbm.items.tool; -import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.material.Mats; import com.hbm.items.IAnimatedItem; import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; @@ -8,7 +8,6 @@ import com.hbm.main.MainRegistry; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; import com.hbm.render.anim.BusAnimation; -import com.hbm.render.anim.BusAnimationKeyframe; import com.hbm.render.anim.BusAnimationSequence; import com.hbm.util.EntityDamageUtil; @@ -50,14 +49,14 @@ public class ItemBoltgun extends Item implements IAnimatedItem { World world = player.worldObj; if(!entity.isEntityAlive()) return false; - Item[] bolts = new Item[] { ModItems.bolt_dura_steel, ModItems.bolt_tungsten, Item.getItemFromBlock(ModBlocks.steel_beam) }; + ItemStack[] bolts = new ItemStack[] { new ItemStack(ModItems.bolt_spike), Mats.MAT_STEEL.make(ModItems.bolt), Mats.MAT_TUNGSTEN.make(ModItems.bolt), Mats.MAT_DURA.make(ModItems.bolt)}; - for(Item item : bolts) { + for(ItemStack bolt : bolts) { for(int i = 0; i < player.inventory.getSizeInventory(); i++) { ItemStack slot = player.inventory.getStackInSlot(i); if(slot != null) { - if(slot.getItem() == item) { + if(slot.getItem() == bolt.getItem() && slot.getItemDamage() == bolt.getItemDamage()) { if(!world.isRemote) { world.playSoundAtEntity(entity, "hbm:item.boltgun", 1.0F, 1.0F); player.inventory.decrStackSize(i, 1); @@ -128,7 +127,7 @@ public class ItemBoltgun extends Item implements IAnimatedItem { public BusAnimation getAnimation(NBTTagCompound data, ItemStack stack) { return new BusAnimation() .addBus("RECOIL", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(1, 0, 1, 50)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 1, 100))); + .addKeyframePosition(1, 0, 1, 50) + .addKeyframePosition(0, 0, 1, 100)); } } diff --git a/src/main/java/com/hbm/items/tool/ItemBookLemegeton.java b/src/main/java/com/hbm/items/tool/ItemBookLemegeton.java new file mode 100644 index 000000000..90bcdd20c --- /dev/null +++ b/src/main/java/com/hbm/items/tool/ItemBookLemegeton.java @@ -0,0 +1,35 @@ +package com.hbm.items.tool; + +import com.hbm.inventory.container.ContainerLemegeton; +import com.hbm.inventory.gui.GUILemegeton; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.IGUIProvider; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class ItemBookLemegeton extends Item implements IGUIProvider { + + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + if(!world.isRemote) player.openGui(MainRegistry.instance, 0, world, 0, 0, 0); + return stack; + } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerLemegeton(player.inventory); + } + + @Override + @SideOnly(Side.CLIENT) + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUILemegeton(player.inventory); + } +} diff --git a/src/main/java/com/hbm/items/tool/ItemDosimeter.java b/src/main/java/com/hbm/items/tool/ItemDosimeter.java index 3a6a1f4bf..c8eeb585d 100644 --- a/src/main/java/com/hbm/items/tool/ItemDosimeter.java +++ b/src/main/java/com/hbm/items/tool/ItemDosimeter.java @@ -5,7 +5,6 @@ import java.util.List; import java.util.Random; import com.hbm.extprop.HbmLivingProps; -import com.hbm.items.armor.ArmorFSB; import com.hbm.util.ContaminationUtil; import net.minecraft.entity.Entity; @@ -25,12 +24,6 @@ public class ItemDosimeter extends Item { if(!(entity instanceof EntityLivingBase) || world.isRemote) return; - if(entity instanceof EntityPlayer) { - - if(ArmorFSB.hasFSBArmor((EntityPlayer)entity) && ((ArmorFSB)((EntityPlayer)entity).inventory.armorInventory[2].getItem()).geigerSound) - return; - } - float x = HbmLivingProps.getRadBuf((EntityLivingBase)entity); if(world.getTotalWorldTime() % 5 == 0) { diff --git a/src/main/java/com/hbm/items/tool/ItemDrone.java b/src/main/java/com/hbm/items/tool/ItemDrone.java index e2c7b5ffe..f63f44fd6 100644 --- a/src/main/java/com/hbm/items/tool/ItemDrone.java +++ b/src/main/java/com/hbm/items/tool/ItemDrone.java @@ -1,12 +1,18 @@ package com.hbm.items.tool; +import java.util.List; + +import org.lwjgl.input.Keyboard; + import com.hbm.entity.item.EntityDeliveryDrone; import com.hbm.items.ItemEnumMulti; import com.hbm.main.MainRegistry; +import com.hbm.util.I18nUtil; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; public class ItemDrone extends ItemEnumMulti { @@ -34,7 +40,7 @@ public class ItemDrone extends ItemEnumMulti { if(stack.getItemDamage() < 4) { toSpawn = new EntityDeliveryDrone(world); - if(stack.getItemDamage() % 2 == 0) { + if(stack.getItemDamage() % 2 == 1) { ((EntityDeliveryDrone) toSpawn).setChunkLoading(); } if(stack.getItemDamage() > 1) { @@ -47,6 +53,20 @@ public class ItemDrone extends ItemEnumMulti { world.spawnEntityInWorld(toSpawn); } + stack.stackSize--; + return false; } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { + + if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) { + for(String s : I18nUtil.resolveKeyArray(stack.getUnlocalizedName() + ".desc")) + list.add(EnumChatFormatting.YELLOW + s); + } else { + list.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC + "Hold <" + EnumChatFormatting.YELLOW + "" + EnumChatFormatting.ITALIC + "LSHIFT" + EnumChatFormatting.DARK_GRAY + + "" + EnumChatFormatting.ITALIC + "> to display more info"); + } + } } diff --git a/src/main/java/com/hbm/items/tool/ItemFusionCore.java b/src/main/java/com/hbm/items/tool/ItemFusionCore.java index b99f8fa16..473f6f62b 100644 --- a/src/main/java/com/hbm/items/tool/ItemFusionCore.java +++ b/src/main/java/com/hbm/items/tool/ItemFusionCore.java @@ -6,7 +6,7 @@ import com.hbm.items.armor.ArmorFSB; import com.hbm.items.armor.ArmorFSBPowered; import com.hbm.util.BobMathUtil; -import api.hbm.energy.IBatteryItem; +import api.hbm.energymk2.IBatteryItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -23,32 +23,32 @@ public class ItemFusionCore extends Item { @Override public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { - - if(ArmorFSB.hasFSBArmorIgnoreCharge(player) && player.inventory.armorInventory[3].getItem() instanceof ArmorFSBPowered) { - - for(ItemStack st : player.inventory.armorInventory) { - - if(st == null) - continue; - - if(st.getItem() instanceof IBatteryItem) { - - long maxcharge = ((IBatteryItem)st.getItem()).getMaxCharge(); - long charge = ((IBatteryItem)st.getItem()).getCharge(st); - long newcharge = Math.min(charge + this.charge, maxcharge); - - ((IBatteryItem)st.getItem()).setCharge(st, newcharge); - } - } - - stack.stackSize--; - - world.playSoundAtEntity(player, "hbm:item.battery", 1.0F, 1.0F); - } - + + if(ArmorFSB.hasFSBArmorIgnoreCharge(player) && player.inventory.armorInventory[2].getItem() instanceof ArmorFSBPowered) { + + for(ItemStack st : player.inventory.armorInventory) { + + if(st == null) + continue; + + if(st.getItem() instanceof IBatteryItem) { + + long maxcharge = ((IBatteryItem) st.getItem()).getMaxCharge(); + long charge = ((IBatteryItem) st.getItem()).getCharge(st); + long newcharge = Math.min(charge + this.charge, maxcharge); + + ((IBatteryItem) st.getItem()).setCharge(st, newcharge); + } + } + + stack.stackSize--; + + world.playSoundAtEntity(player, "hbm:item.battery", 1.0F, 1.0F); + } + return stack; } - + @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { diff --git a/src/main/java/com/hbm/items/tool/ItemGeigerCounter.java b/src/main/java/com/hbm/items/tool/ItemGeigerCounter.java index 72be9d361..cc86cc758 100644 --- a/src/main/java/com/hbm/items/tool/ItemGeigerCounter.java +++ b/src/main/java/com/hbm/items/tool/ItemGeigerCounter.java @@ -6,7 +6,6 @@ import java.util.Random; import com.hbm.extprop.HbmLivingProps; import com.hbm.handler.radiation.ChunkRadiationManager; -import com.hbm.items.armor.ArmorFSB; import com.hbm.util.ContaminationUtil; import net.minecraft.entity.Entity; @@ -27,12 +26,6 @@ public class ItemGeigerCounter extends Item { if(!(entity instanceof EntityLivingBase) || world.isRemote) return; - if(entity instanceof EntityPlayer) { - - if(ArmorFSB.hasFSBArmor((EntityPlayer)entity) && ((ArmorFSB)((EntityPlayer)entity).inventory.armorInventory[2].getItem()).geigerSound) - return; - } - float x = HbmLivingProps.getRadBuf((EntityLivingBase)entity); if(world.getTotalWorldTime() % 5 == 0) { diff --git a/src/main/java/com/hbm/items/tool/ItemLock.java b/src/main/java/com/hbm/items/tool/ItemLock.java index 0672f90a7..083d6b13a 100644 --- a/src/main/java/com/hbm/items/tool/ItemLock.java +++ b/src/main/java/com/hbm/items/tool/ItemLock.java @@ -1,7 +1,7 @@ package com.hbm.items.tool; -import com.hbm.tileentity.machine.TileEntityDummy; import com.hbm.tileentity.machine.TileEntityLockableBase; +import com.hbm.util.CompatExternal; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -17,51 +17,29 @@ public class ItemLock extends ItemKeyPin { } @Override - public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int i, float f0, float f1, float f2) - { + public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int i, float f0, float f1, float f2) { + if(this.getPins(stack) != 0) { - TileEntity te = world.getTileEntity(x, y, z); - + TileEntity te = CompatExternal.getCoreFromPos(world, x, y, z); + if(te != null && te instanceof TileEntityLockableBase) { - TileEntityLockableBase tile = (TileEntityLockableBase)te; - + TileEntityLockableBase tile = (TileEntityLockableBase) te; + if(tile.isLocked()) return false; - + tile.setPins(this.getPins(stack)); tile.lock(); tile.setMod(lockMod); - world.playSoundAtEntity(player, "hbm:block.lockHang", 1.0F, 1.0F); + world.playSoundAtEntity(player, "hbm:block.lockHang", 1.0F, 1.0F); stack.stackSize--; - + return true; } - - if(te != null && te instanceof TileEntityDummy) { - - TileEntityDummy dummy = (TileEntityDummy)te; - TileEntity target = world.getTileEntity(dummy.targetX, dummy.targetY, dummy.targetZ); - - if(target != null && target instanceof TileEntityLockableBase) { - TileEntityLockableBase tile = (TileEntityLockableBase)target; - - if(tile.isLocked()) - return false; - - tile.setPins(this.getPins(stack)); - tile.lock(); - tile.setMod(lockMod); - - world.playSoundAtEntity(player, "hbm:block.lockHang", 1.0F, 1.0F); - stack.stackSize--; - - return true; - } - } } - + return false; - } + } } diff --git a/src/main/java/com/hbm/items/tool/ItemModDoor.java b/src/main/java/com/hbm/items/tool/ItemModDoor.java index 6ed3f84f3..e7ead99c9 100644 --- a/src/main/java/com/hbm/items/tool/ItemModDoor.java +++ b/src/main/java/com/hbm/items/tool/ItemModDoor.java @@ -6,105 +6,82 @@ import com.hbm.items.ModItems; import net.minecraft.block.Block; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.MathHelper; import net.minecraft.world.World; -public class ItemModDoor extends Item -{ - public ItemModDoor() - { - this.maxStackSize = 1; - this.setCreativeTab(CreativeTabs.tabRedstone); - } +public class ItemModDoor extends Item { + + public ItemModDoor() { + this.maxStackSize = 1; + this.setCreativeTab(CreativeTabs.tabRedstone); + } - /** - * Callback for item usage. If the item does something special on right clicking, he will have one of those. Return - * True if something happen and false if it don't. This is for ITEMS, not BLOCKS - */ - public boolean onItemUse(ItemStack p_77648_1_, EntityPlayer p_77648_2_, World p_77648_3_, int p_77648_4_, int p_77648_5_, int p_77648_6_, int p_77648_7_, float p_77648_8_, float p_77648_9_, float p_77648_10_) - { - if (p_77648_7_ != 1) - { - return false; - } - else - { - ++p_77648_5_; - Block block; + public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ) { + if(side != 1) { + return false; + } else { + ++y; + + Block block = Blocks.air; - if(this == ModItems.door_metal) - block = ModBlocks.door_metal; - else if(this == ModItems.door_office) - block = ModBlocks.door_office; - else - block = ModBlocks.door_bunker; + if(this == ModItems.door_metal) block = ModBlocks.door_metal; + if(this == ModItems.door_office) block = ModBlocks.door_office; + if(this == ModItems.door_bunker) block = ModBlocks.door_bunker; + if(this == ModItems.door_red) block = ModBlocks.door_red; - if (p_77648_2_.canPlayerEdit(p_77648_4_, p_77648_5_, p_77648_6_, p_77648_7_, p_77648_1_) && p_77648_2_.canPlayerEdit(p_77648_4_, p_77648_5_ + 1, p_77648_6_, p_77648_7_, p_77648_1_)) - { - if (!block.canPlaceBlockAt(p_77648_3_, p_77648_4_, p_77648_5_, p_77648_6_)) - { - return false; - } - else - { - int i1 = MathHelper.floor_double((double)((p_77648_2_.rotationYaw + 180.0F) * 4.0F / 360.0F) - 0.5D) & 3; - placeDoorBlock(p_77648_3_, p_77648_4_, p_77648_5_, p_77648_6_, i1, block); - --p_77648_1_.stackSize; - return true; - } - } - else - { - return false; - } - } - } + if(player.canPlayerEdit(x, y, z, side, stack) && player.canPlayerEdit(x, y + 1, z, side, stack)) { + if(!block.canPlaceBlockAt(world, x, y, z)) { + return false; + } else { + int i1 = MathHelper.floor_double((double) ((player.rotationYaw + 180.0F) * 4.0F / 360.0F) - 0.5D) & 3; + placeDoorBlock(world, x, y, z, i1, block); + --stack.stackSize; + return true; + } + } else { + return false; + } + } + } - public static void placeDoorBlock(World p_150924_0_, int p_150924_1_, int p_150924_2_, int p_150924_3_, int p_150924_4_, Block p_150924_5_) - { - byte b0 = 0; - byte b1 = 0; + public static void placeDoorBlock(World world, int x, int y, int z, int meta, Block door) { + byte offsetX = 0; + byte offsetZ = 0; - if (p_150924_4_ == 0) - { - b1 = 1; - } + if(meta == 0) { + offsetZ = 1; + } - if (p_150924_4_ == 1) - { - b0 = -1; - } + if(meta == 1) { + offsetX = -1; + } - if (p_150924_4_ == 2) - { - b1 = -1; - } + if(meta == 2) { + offsetZ = -1; + } - if (p_150924_4_ == 3) - { - b0 = 1; - } + if(meta == 3) { + offsetX = 1; + } - int i1 = (p_150924_0_.getBlock(p_150924_1_ - b0, p_150924_2_, p_150924_3_ - b1).isNormalCube() ? 1 : 0) + (p_150924_0_.getBlock(p_150924_1_ - b0, p_150924_2_ + 1, p_150924_3_ - b1).isNormalCube() ? 1 : 0); - int j1 = (p_150924_0_.getBlock(p_150924_1_ + b0, p_150924_2_, p_150924_3_ + b1).isNormalCube() ? 1 : 0) + (p_150924_0_.getBlock(p_150924_1_ + b0, p_150924_2_ + 1, p_150924_3_ + b1).isNormalCube() ? 1 : 0); - boolean flag = p_150924_0_.getBlock(p_150924_1_ - b0, p_150924_2_, p_150924_3_ - b1) == p_150924_5_ || p_150924_0_.getBlock(p_150924_1_ - b0, p_150924_2_ + 1, p_150924_3_ - b1) == p_150924_5_; - boolean flag1 = p_150924_0_.getBlock(p_150924_1_ + b0, p_150924_2_, p_150924_3_ + b1) == p_150924_5_ || p_150924_0_.getBlock(p_150924_1_ + b0, p_150924_2_ + 1, p_150924_3_ + b1) == p_150924_5_; - boolean flag2 = false; + int i1 = (world.getBlock(x - offsetX, y, z - offsetZ).isNormalCube() ? 1 : 0) + (world.getBlock(x - offsetX, y + 1, z - offsetZ).isNormalCube() ? 1 : 0); + int j1 = (world.getBlock(x + offsetX, y, z + offsetZ).isNormalCube() ? 1 : 0) + (world.getBlock(x + offsetX, y + 1, z + offsetZ).isNormalCube() ? 1 : 0); + boolean flag = world.getBlock(x - offsetX, y, z - offsetZ) == door || world.getBlock(x - offsetX, y + 1, z - offsetZ) == door; + boolean flag1 = world.getBlock(x + offsetX, y, z + offsetZ) == door || world.getBlock(x + offsetX, y + 1, z + offsetZ) == door; + boolean flag2 = false; - if (flag && !flag1) - { - flag2 = true; - } - else if (j1 > i1) - { - flag2 = true; - } + if(flag && !flag1) { + flag2 = true; + } else if(j1 > i1) { + flag2 = true; + } - p_150924_0_.setBlock(p_150924_1_, p_150924_2_, p_150924_3_, p_150924_5_, p_150924_4_, 2); - p_150924_0_.setBlock(p_150924_1_, p_150924_2_ + 1, p_150924_3_, p_150924_5_, 8 | (flag2 ? 1 : 0), 2); - p_150924_0_.notifyBlocksOfNeighborChange(p_150924_1_, p_150924_2_, p_150924_3_, p_150924_5_); - p_150924_0_.notifyBlocksOfNeighborChange(p_150924_1_, p_150924_2_ + 1, p_150924_3_, p_150924_5_); - } + world.setBlock(x, y, z, door, meta, 2); + world.setBlock(x, y + 1, z, door, 8 | (flag2 ? 1 : 0), 2); + world.notifyBlocksOfNeighborChange(x, y, z, door); + world.notifyBlocksOfNeighborChange(x, y + 1, z, door); + } } diff --git a/src/main/java/com/hbm/items/tool/ItemPipette.java b/src/main/java/com/hbm/items/tool/ItemPipette.java new file mode 100644 index 000000000..7f9d37a8a --- /dev/null +++ b/src/main/java/com/hbm/items/tool/ItemPipette.java @@ -0,0 +1,211 @@ +package com.hbm.items.tool; + +import api.hbm.fluid.IFillableItem; + +import com.hbm.inventory.fluid.FluidType; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.items.ModItems; +import com.hbm.util.I18nUtil; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.ChatComponentTranslation; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; + +import java.util.List; + +public class ItemPipette extends Item implements IFillableItem { + + public ItemPipette() { + this.canRepair = false; + this.setMaxDamage(1); + } + + @SideOnly(Side.CLIENT) protected IIcon overlayIcon; + @SideOnly(Side.CLIENT) protected IIcon emptyIcon; + + public short getMaxFill() { + if(this == ModItems.pipette_laboratory) return 50; + else return 1_000; + } + + public void initNBT(ItemStack stack) { + stack.stackTagCompound = new NBTTagCompound(); + this.setFill(stack, Fluids.NONE, (short) 0); // sets "type" and "fill" NBT + stack.stackTagCompound.setShort("capacity", this.getMaxFill()); // set "capacity" + } + + public FluidType getType(ItemStack stack) { + if(!stack.hasTagCompound()) { + initNBT(stack); + } + + return Fluids.fromID(stack.stackTagCompound.getShort("type")); + } + + public short getCapacity(ItemStack stack) { + if(!stack.hasTagCompound()) { + initNBT(stack); + } + + return stack.stackTagCompound.getShort("capacity"); + } + + public void setFill(ItemStack stack, FluidType type, short fill) { + if(!stack.hasTagCompound()) { + initNBT(stack); + } + + stack.stackTagCompound.setShort("type", (short) type.getID()); + stack.stackTagCompound.setShort("fill", fill); + } + + @Override + public int getFill(ItemStack stack) { + if(!stack.hasTagCompound()) { + initNBT(stack); + } + + return stack.stackTagCompound.getShort("fill"); + } + + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + + if(!stack.hasTagCompound()) { + initNBT(stack); + } + + if(!world.isRemote) { + if(this.getFill(stack) == 0) { + int a; + if(this == ModItems.pipette_laboratory) + a = !player.isSneaking() ? Math.min(this.getCapacity(stack) + 1, 50) : Math.max(this.getCapacity(stack) - 1, 1); + else + a = !player.isSneaking() ? Math.min(this.getCapacity(stack) + 50, 1_000) : Math.max(this.getCapacity(stack) - 50, 50); + stack.stackTagCompound.setShort("capacity", (short) a); + player.addChatMessage(new ChatComponentText(a + "/" + this.getMaxFill() + "mB")); + } else { + player.addChatMessage(new ChatComponentTranslation("desc.item.pipette.noEmpty")); + } + } + return stack; + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { + if(this == ModItems.pipette_laboratory) { + list.add(I18nUtil.resolveKey("desc.item.pipette.corrosive")); + list.add(I18nUtil.resolveKey("desc.item.pipette.laboratory")); + } + if(this == ModItems.pipette_boron) + list.add(I18nUtil.resolveKey("desc.item.pipette.corrosive")); + if(this == ModItems.pipette) + list.add(I18nUtil.resolveKey("desc.item.pipette.noCorrosive")); + list.add("Fluid: " + this.getType(stack).getLocalizedName()); + list.add("Amount: " + this.getFill(stack) + "/" + this.getCapacity(stack) + "mB (" + this.getMaxFill() + "mB)"); + } + + @Override + public boolean acceptsFluid(FluidType type, ItemStack stack) { + return (type == this.getType(stack) || this.getFill(stack) == 0) && (!type.isAntimatter()); + } + + @Override + public int tryFill(FluidType type, int amount, ItemStack stack) { + + if(!acceptsFluid(type, stack)) + return amount; + + if(this.getFill(stack) == 0) + this.setFill(stack, type, (short) 0); + + int req = this.getCapacity(stack) - this.getFill(stack); + int toFill = Math.min(req, amount); + + this.setFill(stack, type, (short) (this.getFill(stack) + toFill)); + + // fizzling checks + if(this.getFill(stack) > 0 && willFizzle(type)) { + stack.stackSize = 0; + } + + return amount - toFill; + } + + public boolean willFizzle(FluidType type) { + if (this != ModItems.pipette) return false; + return type.isCorrosive() && type != Fluids.ACID; + } + + @Override + public boolean providesFluid(FluidType type, ItemStack stack) { + return this.getType(stack) == type; + } + + @Override + public int tryEmpty(FluidType type, int amount, ItemStack stack) { + if(providesFluid(type, stack)) { + int toUnload = Math.min(amount, this.getFill(stack)); + this.setFill(stack, type, (short) (this.getFill(stack) - toUnload)); + if(this.getFill(stack) == 0) + this.setFill(stack, Fluids.NONE, (short) 0); + return toUnload; + } + return amount; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister icon) { + super.registerIcons(icon); + if(this == ModItems.pipette_laboratory) + this.overlayIcon = icon.registerIcon("hbm:pipette_laboratory_overlay"); + else + this.overlayIcon = icon.registerIcon("hbm:pipette_overlay"); + + this.emptyIcon = icon.registerIcon("hbm:pipette_empty"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(ItemStack stack, int pass) { + if(getFill(stack) == 0 && pass == 1) return this.emptyIcon; + return pass == 1 ? this.overlayIcon : getIconFromDamageForRenderPass(stack.getItemDamage(), pass); + } + + @Override + @SideOnly(Side.CLIENT) + public boolean requiresMultipleRenderPasses() { + return true; + } + + @Override + @SideOnly(Side.CLIENT) + public int getColorFromItemStack(ItemStack stack, int pass) { + if(pass == 0) { + return 0xffffff; + } else { + int j = this.getType(stack).getColor(); + + if(j < 0) { + j = 0xffffff; + } + + return j; + } + } + + @Override + public FluidType getFirstFluidType(ItemStack stack) { + return this.getType(stack); + } +} diff --git a/src/main/java/com/hbm/items/tool/ItemPollutionDetector.java b/src/main/java/com/hbm/items/tool/ItemPollutionDetector.java index 4ff3cc55f..1776249cf 100644 --- a/src/main/java/com/hbm/items/tool/ItemPollutionDetector.java +++ b/src/main/java/com/hbm/items/tool/ItemPollutionDetector.java @@ -27,16 +27,16 @@ public class ItemPollutionDetector extends Item { float soot = data.pollution[PollutionType.SOOT.ordinal()]; float poison = data.pollution[PollutionType.POISON.ordinal()]; float heavymetal = data.pollution[PollutionType.HEAVYMETAL.ordinal()]; - float fallout = data.pollution[PollutionType.FALLOUT.ordinal()]; + //float fallout = data.pollution[PollutionType.FALLOUT.ordinal()]; soot = ((int) (soot * 100)) / 100F; poison = ((int) (poison * 100)) / 100F; heavymetal = ((int) (heavymetal * 100)) / 100F; - fallout = ((int) (fallout * 100)) / 100F; + //fallout = ((int) (fallout * 100)) / 100F; PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Soot: " + soot).color(EnumChatFormatting.YELLOW).flush(), 100, 4000), (EntityPlayerMP) entity); PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Poison: " + poison).color(EnumChatFormatting.YELLOW).flush(), 101, 4000), (EntityPlayerMP) entity); PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Heavy metal: " + heavymetal).color(EnumChatFormatting.YELLOW).flush(), 102, 4000), (EntityPlayerMP) entity); - PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Fallout: " + fallout).color(EnumChatFormatting.YELLOW).flush(), 103, 4000), (EntityPlayerMP) entity); + //PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Fallout: " + fallout).color(EnumChatFormatting.YELLOW).flush(), 103, 4000), (EntityPlayerMP) entity); } } diff --git a/src/main/java/com/hbm/items/tool/ItemPowerNetTool.java b/src/main/java/com/hbm/items/tool/ItemPowerNetTool.java index 10b0d2d20..a5907f3f5 100644 --- a/src/main/java/com/hbm/items/tool/ItemPowerNetTool.java +++ b/src/main/java/com/hbm/items/tool/ItemPowerNetTool.java @@ -6,11 +6,12 @@ import com.hbm.blocks.BlockDummyable; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; import com.hbm.util.ChatBuilder; +import com.hbm.util.fauxpointtwelve.BlockPos; -import api.hbm.energy.IEnergyConductor; -import api.hbm.energy.IEnergyConnector; -import api.hbm.energy.IPowerNet; -import api.hbm.energy.PowerNet; +import api.hbm.energymk2.IEnergyConductorMK2; +import api.hbm.energymk2.Nodespace; +import api.hbm.energymk2.Nodespace.PowerNode; +import api.hbm.energymk2.PowerNetMK2; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; @@ -19,7 +20,6 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.Vec3; import net.minecraft.world.World; public class ItemPowerNetTool extends Item { @@ -44,51 +44,33 @@ public class ItemPowerNetTool extends Item { if(world.isRemote) return true; - if((te instanceof IEnergyConductor)) { + if((te instanceof IEnergyConductorMK2)) { + PowerNode node = Nodespace.getNode(world, x, y, z); - IEnergyConductor con = (IEnergyConductor) te; - IPowerNet net = con.getPowerNet(); - - if(net == null) { - player.addChatComponentMessage(ChatBuilder.start("Error: No network found! This should be impossible!").color(EnumChatFormatting.RED).flush()); - return true; - } - - if(!(net instanceof PowerNet)) { - player.addChatComponentMessage(ChatBuilder.start("Error: Cannot print diagnostic for non-standard power net implementation!").color(EnumChatFormatting.RED).flush()); - } - - PowerNet network = (PowerNet) net; - String id = Integer.toHexString(net.hashCode()); - - player.addChatComponentMessage(ChatBuilder.start("Start of diagnostic for network " + id).color(EnumChatFormatting.GOLD).flush()); - player.addChatComponentMessage(ChatBuilder.start("Links: " + network.getLinks().size()).color(EnumChatFormatting.YELLOW).flush()); - player.addChatComponentMessage(ChatBuilder.start("Proxies: " + network.getProxies().size()).color(EnumChatFormatting.YELLOW).flush()); - player.addChatComponentMessage(ChatBuilder.start("Subscribers: " + network.getSubscribers().size()).color(EnumChatFormatting.YELLOW).flush()); - player.addChatComponentMessage(ChatBuilder.start("End of diagnostic for network " + id).color(EnumChatFormatting.GOLD).flush()); - - for(IEnergyConductor link : network.getLinks()) { - Vec3 pos = link.getDebugParticlePos(); + if(node != null && node.hasValidNet()) { - boolean errored = link.getPowerNet() != net; + PowerNetMK2 net = node.net; + String id = Integer.toHexString(net.hashCode()); + player.addChatComponentMessage(ChatBuilder.start("Start of diagnostic for network " + id).color(EnumChatFormatting.GOLD).flush()); + player.addChatComponentMessage(ChatBuilder.start("Links: " + net.links.size()).color(EnumChatFormatting.YELLOW).flush()); + player.addChatComponentMessage(ChatBuilder.start("Providers: " + net.providerEntries.size()).color(EnumChatFormatting.YELLOW).flush()); + player.addChatComponentMessage(ChatBuilder.start("Receivers: " + net.receiverEntries.size()).color(EnumChatFormatting.YELLOW).flush()); + player.addChatComponentMessage(ChatBuilder.start("End of diagnostic for network " + id).color(EnumChatFormatting.GOLD).flush()); - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "debug"); - data.setInteger("color", errored ? 0xff0000 : 0xffff00); - data.setFloat("scale", 0.5F); - data.setString("text", id); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, pos.xCoord, pos.yCoord, pos.zCoord), new TargetPoint(world.provider.dimensionId, pos.xCoord, pos.yCoord, pos.zCoord, radius)); - } - - for(IEnergyConnector subscriber : network.getSubscribers()) { - Vec3 pos = subscriber.getDebugParticlePos(); + for(PowerNode link : net.links) { + + for(BlockPos pos : link.positions) { + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "debug"); + data.setInteger("color", 0xffff00); + data.setFloat("scale", 0.5F); + data.setString("text", id); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, pos.getX() + 0.5, pos.getY() + 1.5, pos.getZ() + 0.5), new TargetPoint(world.provider.dimensionId, pos.getX(), pos.getY(), pos.getZ(), radius)); + } + } - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "debug"); - data.setInteger("color", 0x0000ff); - data.setFloat("scale", 1.5F); - data.setString("text", id); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, pos.xCoord, pos.yCoord, pos.zCoord), new TargetPoint(world.provider.dimensionId, pos.xCoord, pos.yCoord, pos.zCoord, radius)); + } else { + player.addChatComponentMessage(ChatBuilder.start("Error: No network found!").color(EnumChatFormatting.RED).flush()); } return true; diff --git a/src/main/java/com/hbm/items/tool/ItemSatRelay.java b/src/main/java/com/hbm/items/tool/ItemSatRelay.java new file mode 100644 index 000000000..ba040cbd0 --- /dev/null +++ b/src/main/java/com/hbm/items/tool/ItemSatRelay.java @@ -0,0 +1,9 @@ +package com.hbm.items.tool; + +import com.hbm.items.machine.ItemSatChip; + +public class ItemSatRelay extends ItemSatChip { +//Schrabby doesn't fucking know how this works so I HOPE it will create a new item that works without fucking everything up + + +} diff --git a/src/main/java/com/hbm/items/tool/ItemStructurePattern.java b/src/main/java/com/hbm/items/tool/ItemStructurePattern.java index 0e4832ad4..04cfbab21 100644 --- a/src/main/java/com/hbm/items/tool/ItemStructurePattern.java +++ b/src/main/java/com/hbm/items/tool/ItemStructurePattern.java @@ -46,10 +46,12 @@ public class ItemStructurePattern extends ItemStructureTool { for(int iy = minY; iy <= maxY; iy++) { for(int iz = minZ; iz <= maxZ; iz++) { - Block b = world.getBlock(ix + pos.getX(), iy + pos.getY(), iz + pos.getZ()); + Block b = world.getBlock(ix + pos.getX(), iy + pos.getY(), iz + pos.getZ()); + if(b.isAir(world, ix + pos.getX(), iy + pos.getY(), iz + pos.getZ())) continue; + int meta = world.getBlockMetadata(ix + pos.getX(), iy + pos.getY(), iz + pos.getZ()); - message.concat("placeBlockAtCurrentPosition(world, " + b.getUnlocalizedName() + ", " + meta + ", " + ix + ", " + iy + ", " + iz + ", box);\n"); + message += "placeBlockAtCurrentPosition(world, " + b.getUnlocalizedName() + ", " + meta + ", " + ix + ", " + iy + ", " + iz + ", box);\n"; } } } diff --git a/src/main/java/com/hbm/items/tool/ItemStructureTool.java b/src/main/java/com/hbm/items/tool/ItemStructureTool.java index 62e43b03c..de10db59e 100644 --- a/src/main/java/com/hbm/items/tool/ItemStructureTool.java +++ b/src/main/java/com/hbm/items/tool/ItemStructureTool.java @@ -137,6 +137,9 @@ public abstract class ItemStructureTool extends Item implements ILookOverlay { } } + if(Minecraft.getMinecraft().thePlayer.isSneaking()) + text.add("B: " + world.getBlock(x, y, z).getUnlocalizedName() + ", M: " + world.getBlockMetadata(x, y, z)); + ILookOverlay.printGeneric(event, this.getItemStackDisplayName(stack), 0xffff00, 0x404000, text); } } diff --git a/src/main/java/com/hbm/items/tool/ItemSwordAbilityPower.java b/src/main/java/com/hbm/items/tool/ItemSwordAbilityPower.java index 3d6313596..674fb7572 100644 --- a/src/main/java/com/hbm/items/tool/ItemSwordAbilityPower.java +++ b/src/main/java/com/hbm/items/tool/ItemSwordAbilityPower.java @@ -4,7 +4,7 @@ import java.util.List; import com.hbm.util.BobMathUtil; -import api.hbm.energy.IBatteryItem; +import api.hbm.energymk2.IBatteryItem; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.player.EntityPlayer; diff --git a/src/main/java/com/hbm/items/tool/ItemTitaniumFilter.java b/src/main/java/com/hbm/items/tool/ItemTitaniumFilter.java deleted file mode 100644 index 322d5f574..000000000 --- a/src/main/java/com/hbm/items/tool/ItemTitaniumFilter.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.hbm.items.tool; - -import java.util.List; - -import com.hbm.items.ModItems; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -public class ItemTitaniumFilter extends Item { - - private int dura; - - public ItemTitaniumFilter(int dura) { - this.dura = dura; - } - - @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - if(this == ModItems.titanium_filter) { - list.add("[Needed for Watz Reaction]"); - list.add((getDura(itemstack) / 20) + "/" + (dura / 20)); - } - } - - public boolean showDurabilityBar(ItemStack stack) { - return getDurabilityForDisplay(stack) > 0; - } - - public static int getDura(ItemStack stack) { - - if(stack.stackTagCompound == null) - return ((ItemTitaniumFilter) stack.getItem()).dura; - - return stack.stackTagCompound.getInteger("dura"); - } - - public static void setDura(ItemStack stack, int dura) { - - if(!stack.hasTagCompound()) - stack.stackTagCompound = new NBTTagCompound(); - - stack.stackTagCompound.setInteger("dura", dura); - } - - public double getDurabilityForDisplay(ItemStack stack) { - return 1D - (double) getDura(stack) / (double) dura; - } -} diff --git a/src/main/java/com/hbm/items/tool/ItemToolAbility.java b/src/main/java/com/hbm/items/tool/ItemToolAbility.java index 7fcded778..43b6c885e 100644 --- a/src/main/java/com/hbm/items/tool/ItemToolAbility.java +++ b/src/main/java/com/hbm/items/tool/ItemToolAbility.java @@ -49,7 +49,7 @@ public class ItemToolAbility extends ItemTool implements IItemAbility, IDepthRoc public static enum EnumToolType { PICKAXE( - Sets.newHashSet(new Material[] { Material.iron, Material.anvil, Material.rock }), + Sets.newHashSet(new Material[] { Material.iron, Material.anvil, Material.rock, Material.glass }), Sets.newHashSet(new Block[] { Blocks.cobblestone, Blocks.double_stone_slab, Blocks.stone_slab, Blocks.stone, Blocks.sandstone, Blocks.mossy_cobblestone, Blocks.iron_ore, Blocks.iron_block, Blocks.coal_ore, Blocks.gold_block, Blocks.gold_ore, Blocks.diamond_ore, Blocks.diamond_block, Blocks.ice, Blocks.netherrack, Blocks.lapis_ore, Blocks.lapis_block, Blocks.redstone_ore, Blocks.lit_redstone_ore, Blocks.rail, Blocks.detector_rail, Blocks.golden_rail, Blocks.activator_rail }) ), AXE( @@ -61,7 +61,7 @@ public class ItemToolAbility extends ItemTool implements IItemAbility, IDepthRoc Sets.newHashSet(new Block[] { Blocks.grass, Blocks.dirt, Blocks.sand, Blocks.gravel, Blocks.snow_layer, Blocks.snow, Blocks.clay, Blocks.farmland, Blocks.soul_sand, Blocks.mycelium }) ), MINER( - Sets.newHashSet(new Material[] { Material.grass, Material.iron, Material.anvil, Material.rock, Material.clay, Material.sand, Material.ground, Material.snow, Material.craftedSnow }) + Sets.newHashSet(new Material[] { Material.grass, Material.iron, Material.anvil, Material.glass, Material.rock, Material.clay, Material.sand, Material.ground, Material.snow, Material.craftedSnow }) ); private EnumToolType(Set materials) { diff --git a/src/main/java/com/hbm/items/tool/ItemToolAbilityFueled.java b/src/main/java/com/hbm/items/tool/ItemToolAbilityFueled.java index fd749bbd0..55ee9cf55 100644 --- a/src/main/java/com/hbm/items/tool/ItemToolAbilityFueled.java +++ b/src/main/java/com/hbm/items/tool/ItemToolAbilityFueled.java @@ -68,6 +68,7 @@ public class ItemToolAbilityFueled extends ItemToolAbility implements IFillableI return true; } + @Override public int getFill(ItemStack stack) { if(stack.stackTagCompound == null) { stack.stackTagCompound = new NBTTagCompound(); @@ -120,4 +121,9 @@ public class ItemToolAbilityFueled extends ItemToolAbility implements IFillableI tool.setFill(stack, 0); return stack; } + + @Override + public FluidType getFirstFluidType(ItemStack stack) { + return null; + } } diff --git a/src/main/java/com/hbm/items/tool/ItemToolAbilityPower.java b/src/main/java/com/hbm/items/tool/ItemToolAbilityPower.java index 80fb5fa87..52b8686b4 100644 --- a/src/main/java/com/hbm/items/tool/ItemToolAbilityPower.java +++ b/src/main/java/com/hbm/items/tool/ItemToolAbilityPower.java @@ -4,7 +4,7 @@ import java.util.List; import com.hbm.util.BobMathUtil; -import api.hbm.energy.IBatteryItem; +import api.hbm.energymk2.IBatteryItem; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.player.EntityPlayer; diff --git a/src/main/java/com/hbm/items/tool/ItemTurretControl.java b/src/main/java/com/hbm/items/tool/ItemTurretControl.java index 44fcfafef..bf976410d 100644 --- a/src/main/java/com/hbm/items/tool/ItemTurretControl.java +++ b/src/main/java/com/hbm/items/tool/ItemTurretControl.java @@ -168,10 +168,6 @@ public class ItemTurretControl extends Item { j = event.charge; if(stack.hasTagCompound()) { - int x = stack.getTagCompound().getInteger("xCoord"); - int y = stack.getTagCompound().getInteger("yCoord"); - int z = stack.getTagCompound().getInteger("zCoord"); - /// /// } } @@ -204,8 +200,6 @@ public class ItemTurretControl extends Item { if(world.getBlock(x, y, z) instanceof TurretBase) { - TileEntity te = world.getTileEntity(x, y, z); - /// /// } diff --git a/src/main/java/com/hbm/items/tool/ItemWandD.java b/src/main/java/com/hbm/items/tool/ItemWandD.java index 3c1a0da33..c57a32667 100644 --- a/src/main/java/com/hbm/items/tool/ItemWandD.java +++ b/src/main/java/com/hbm/items/tool/ItemWandD.java @@ -3,7 +3,7 @@ package com.hbm.items.tool; import java.util.List; import com.hbm.lib.Library; -import com.hbm.saveddata.TomSaveData; +import com.hbm.world.dungeon.Silo; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; @@ -33,6 +33,14 @@ public class ItemWandD extends Item { //PollutionHandler.incrementPollution(world, pos.blockX, pos.blockY, pos.blockZ, PollutionType.SOOT, 15); + /*int i = pos.blockX >> 4; + int j = pos.blockZ >> 4; + + i = (i << 4) + 8; + j = (j << 4) + 8; + Component comp = new RuralHouse1(world.rand, i, j); + comp.addComponentParts(world, world.rand, new StructureBoundingBox(i, j, i + 32, j + 32));*/ + /*TimeAnalyzer.startCount("setBlock"); world.setBlock(pos.blockX, pos.blockY, pos.blockZ, Blocks.dirt); TimeAnalyzer.startEndCount("getBlock"); @@ -40,11 +48,19 @@ public class ItemWandD extends Item { TimeAnalyzer.endCount(); TimeAnalyzer.dump();*/ - TomSaveData data = TomSaveData.forWorld(world); + /*TomSaveData data = TomSaveData.forWorld(world); data.impact = true; data.fire = 0F; data.dust = 0F; - data.markDirty(); + data.markDirty();*/ + + /*for(int i = -5; i <= 5; i++) { + for(int j = -5; j <= 5; j++) { + WorldUtil.setBiome(world, pos.blockX + i, pos.blockZ + j, BiomeGenCraterBase.craterBiome); + } + } + + WorldUtil.syncBiomeChange(world, pos.blockX, pos.blockZ);*/ /*EntityTomBlast tom = new EntityTomBlast(world); tom.posX = pos.blockX; @@ -53,12 +69,15 @@ public class ItemWandD extends Item { tom.destructionRange = 600; world.spawnEntityInWorld(tom);*/ - /*EntityNukeTorex torex = new EntityNukeTorex(world); - torex.setPositionAndRotation(pos.blockX, pos.blockY + 1, pos.blockZ, 0, 0); - torex.setScale(1.5F); - torex.setType(1); - world.spawnEntityInWorld(torex); - TrackerUtil.setTrackingRange(world, torex, 1000);*/ + /*List del = world.getEntitiesWithinAABB(EntityNukeTorex.class, AxisAlignedBB.getBoundingBox(pos.blockX, pos.blockY + 1, pos.blockZ, pos.blockX, pos.blockY + 1, pos.blockZ).expand(50, 50, 50)); + + if(!del.isEmpty()) { + for(EntityNukeTorex torex : del) torex.setDead(); + } else { + EntityNukeTorex.statFac(world, pos.blockX, pos.blockY + 1, pos.blockZ, 150); + }*/ + + new Silo().generate(world, world.rand, pos.blockX, pos.blockY + 1, pos.blockZ); /*EntityTracker entitytracker = ((WorldServer) world).getEntityTracker(); IntHashMap map = ReflectionHelper.getPrivateValue(EntityTracker.class, entitytracker, "trackedEntityIDs", "field_72794_c"); diff --git a/src/main/java/com/hbm/items/tool/ItemWandS.java b/src/main/java/com/hbm/items/tool/ItemWandS.java index ea7ba07fa..303a3114f 100644 --- a/src/main/java/com/hbm/items/tool/ItemWandS.java +++ b/src/main/java/com/hbm/items/tool/ItemWandS.java @@ -1,117 +1,7 @@ package com.hbm.items.tool; -import java.util.List; -import java.util.Random; - -import com.hbm.world.machine.FWatz; -import com.hbm.world.machine.NuclearReactor; -import com.hbm.world.machine.Watz; - -import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.ChatComponentText; -import net.minecraft.world.World; public class ItemWandS extends Item { - - @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) - { - list.add("Creative-only item"); - list.add("\"Instant structures for everyone!\""); - list.add("(Cycle with shift-right click,"); - list.add("spawn structures with right click!)"); - if(itemstack.stackTagCompound != null) - { - switch(itemstack.stackTagCompound.getInteger("building")) - { - case 0: - list.add("Structure: Nuclear Reactor"); - break; - case 1: - list.add("Structure: Watz Power Plant"); - break; - case 2: - list.add("Structure: Fusionary Watz Plant"); - break; - } - } - } - @Override - public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int p_77648_7_, float p_77648_8_, float p_77648_9_, float p_77648_10_) - { - if(stack.stackTagCompound == null) - { - stack.stackTagCompound = new NBTTagCompound(); - stack.stackTagCompound.setInteger("building", 0); - } - - boolean up = player.rotationPitch <= 0.5F; - - if(!world.isRemote) - { - Random rand = new Random(); - - switch(stack.stackTagCompound.getInteger("building")) - { - case 0: - new NuclearReactor().generate(world, rand, x, up ? y : y - 4, z); - break; - case 1: - new Watz().generate(world, rand, x, up ? y : y - 12, z); - break; - case 2: - new FWatz().generateHull(world, rand, x, up ? y : y - 18, z); - break; - } - - } - - return true; - } - - @Override - public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { - if(player.isSneaking()) - { - if(stack.stackTagCompound == null) - { - stack.stackTagCompound = new NBTTagCompound(); - stack.stackTagCompound.setInteger("building", 0); - if(world.isRemote) - player.addChatMessage(new ChatComponentText("Set Structure: Nuclear Reactor")); - } else { - int i = stack.stackTagCompound.getInteger("building"); - i++; - stack.stackTagCompound.setInteger("building", i); - if(i >= 3) { - stack.stackTagCompound.setInteger("building", 0); - } - - if(world.isRemote) - { - switch(i) - { - case 0: - player.addChatMessage(new ChatComponentText("Set Structure: Nuclear Reactor")); - break; - case 1: - player.addChatMessage(new ChatComponentText("Set Structure: Watz Power Plant")); - break; - case 2: - player.addChatMessage(new ChatComponentText("Set Structure: Fusionary Watz Plant")); - break; - default: - player.addChatMessage(new ChatComponentText("Set Structure: Nuclear Reactor")); - break; - } - } - } - } - - return stack; - } } diff --git a/src/main/java/com/hbm/items/weapon/GunDampfmaschine.java b/src/main/java/com/hbm/items/weapon/GunDampfmaschine.java deleted file mode 100644 index 3eaf7a036..000000000 --- a/src/main/java/com/hbm/items/weapon/GunDampfmaschine.java +++ /dev/null @@ -1,115 +0,0 @@ -package com.hbm.items.weapon; - -import java.util.List; -import java.util.Random; - -import com.google.common.collect.Multimap; -import com.hbm.entity.missile.EntityBombletSelena; -import com.hbm.entity.projectile.EntityRocket; - -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.attributes.AttributeModifier; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumAction; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.event.entity.player.ArrowNockEvent; - -public class GunDampfmaschine extends Item { - - Random rand = new Random(); - - public GunDampfmaschine() - { - this.maxStackSize = 1; - } - - @Override - public EnumAction getItemUseAction(ItemStack par1ItemStack) { - return EnumAction.bow; - } - - @Override - public int getMaxItemUseDuration(ItemStack p_77626_1_) { - return 72000; - } - - @Override - public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) { - new ArrowNockEvent(p_77659_3_, p_77659_1_); - { - p_77659_3_.setItemInUse(p_77659_1_, this.getMaxItemUseDuration(p_77659_1_)); - } - - return p_77659_1_; - } - - @Override - public void onUsingTick(ItemStack stack, EntityPlayer player, int count) - { - World world = player.worldObj; - - if (true) { - - if(!player.isSneaking()) { - EntityRocket entitybullet = new EntityRocket(world, player, 3.0F); - - world.playSoundAtEntity(player, "hbm:block.crateBreak", 10.0F, 0.9F + (rand.nextFloat() * 0.2F)); - if(count == this.getMaxItemUseDuration(stack)) - world.playSoundAtEntity(player, "hbm:alarm.autopilot", 100.0F, 1.0F); - - if (!world.isRemote) { - world.spawnEntityInWorld(entitybullet); - } - } else { - - world.playSoundAtEntity(player, "mob.pig.say", 10.0F, 0.9F + (rand.nextFloat() * 0.2F)); - - if(count % 10 == 0) { - EntityBombletSelena bomb = new EntityBombletSelena(world); - bomb.posX = player.posX; - bomb.posY = player.posY + player.eyeHeight; - bomb.posZ = player.posZ; - bomb.motionX = player.getLookVec().xCoord * 5; - bomb.motionY = player.getLookVec().yCoord * 5; - bomb.motionZ = player.getLookVec().zCoord * 5; - if(count == this.getMaxItemUseDuration(stack)) - world.playSoundAtEntity(player, "hbm:entity.chopperDrop", 10.0F, 1.0F); - - if (!world.isRemote) { - world.spawnEntityInWorld(bomb); - } - } - } - } - } - - @Override - public int getItemEnchantability() { - return 0; - } - - @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - - list.add("Sometimes, to do what’s right,"); - list.add("you have to become the villain of"); - list.add("the pi-I mean me too, thanks."); - list.add(""); - list.add("oh sorry how did this get here i'm not good with computer can somebody tell me how i can get out of here oh fiddlesticks this is not good oh no please can anybody hear me i am afraid please for the love of god somebody get me out of here"); - list.add(""); - list.add("Ammo: orang"); - list.add("Damage: aaaaaaaaa"); - list.add(""); - list.add("[LEGENDARY WEAPON]"); - } - - @Override - public Multimap getItemAttributeModifiers() { - Multimap multimap = super.getItemAttributeModifiers(); - multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), - new AttributeModifier(field_111210_e, "Weapon modifier", -2, 0)); - return multimap; - } -} diff --git a/src/main/java/com/hbm/items/weapon/GunEMPRay.java b/src/main/java/com/hbm/items/weapon/GunEMPRay.java deleted file mode 100644 index 7edf7a31a..000000000 --- a/src/main/java/com/hbm/items/weapon/GunEMPRay.java +++ /dev/null @@ -1,152 +0,0 @@ -package com.hbm.items.weapon; - -import java.util.List; -import java.util.Random; - -import com.google.common.collect.Multimap; -import com.hbm.entity.effect.EntityEMPBlast; -import com.hbm.entity.projectile.EntityDischarge; -import com.hbm.explosion.ExplosionNukeGeneric; -import com.hbm.items.ModItems; - -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.attributes.AttributeModifier; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumAction; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.entity.player.ArrowLooseEvent; -import net.minecraftforge.event.entity.player.ArrowNockEvent; - -public class GunEMPRay extends Item { - - Random rand = new Random(); - - public GunEMPRay() { - this.maxStackSize = 1; - } - - @Override - public EnumAction getItemUseAction(ItemStack par1ItemStack) { - return EnumAction.bow; - } - - @Override - public int getMaxItemUseDuration(ItemStack p_77626_1_) { - return 72000; - } - - @Override - public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) { - new ArrowNockEvent(p_77659_3_, p_77659_1_); - - p_77659_3_.setItemInUse(p_77659_1_, this.getMaxItemUseDuration(p_77659_1_)); - - return p_77659_1_; - } - - /** - * called when the player releases the use item button. Args: itemstack, - * world, entityplayer, itemInUseCount - */ - @Override - public void onPlayerStoppedUsing(ItemStack p_77615_1_, World p_77615_2_, EntityPlayer p_77615_3_, int p_77615_4_) { - int j = this.getMaxItemUseDuration(p_77615_1_) - p_77615_4_; - - ArrowLooseEvent event = new ArrowLooseEvent(p_77615_3_, p_77615_1_, j); - MinecraftForge.EVENT_BUS.post(event); - if (event.isCanceled()) { - return; - } - j = event.charge; - - boolean flag = p_77615_3_.capabilities.isCreativeMode - || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, p_77615_1_) > 0; - - if (!p_77615_3_.isSneaking()) { - if (flag || p_77615_3_.inventory.hasItem(ModItems.gun_emp_ammo)) { - float f = j / 20.0F; - f = (f * f + f * 2.0F) / 3.0F; - - if (j < 25.0D) { - return; - } - - if (j > 25.0F) { - f = 25.0F; - } - - EntityDischarge entityarrow = new EntityDischarge(p_77615_2_, p_77615_3_, 1.0F); - - entityarrow.setIsCritical(true); - - p_77615_1_.damageItem(1, p_77615_3_); - // p_77615_2_.playSoundAtEntity(p_77615_3_, "tile.piston.out", - // 1.0F, 0.5F); - p_77615_2_.playSoundAtEntity(p_77615_3_, "hbm:weapon.fatmanShoot", 1.0F, 1F); - - if (!flag) { - p_77615_3_.inventory.consumeInventoryItem(ModItems.gun_emp_ammo); - } - - if (!p_77615_2_.isRemote) { - p_77615_2_.spawnEntityInWorld(entityarrow); - } - } - } else { - if (flag || p_77615_3_.inventory.hasItem(ModItems.gun_emp_ammo)) { - - if (j < 25.0D) { - return; - } - - if (!flag) { - p_77615_3_.inventory.consumeInventoryItem(ModItems.gun_emp_ammo); - } - - EntityEMPBlast cloud = new EntityEMPBlast(p_77615_3_.worldObj, 25); - cloud.posX = p_77615_3_.posX; - cloud.posY = p_77615_3_.posY + 1.0F; - cloud.posZ = p_77615_3_.posZ; - if (!p_77615_2_.isRemote) { - p_77615_2_.spawnEntityInWorld(cloud); - } - - ExplosionNukeGeneric.empBlast(p_77615_3_.worldObj, (int)p_77615_3_.posX, (int)p_77615_3_.posY, (int)p_77615_3_.posZ, 25); - } - } - } - - @Override - public ItemStack onEaten(ItemStack p_77654_1_, World p_77654_2_, EntityPlayer p_77654_3_) { - return p_77654_1_; - } - - @Override - public int getItemEnchantability() { - return 0; - } - - @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - - list.add("Hold right mouse button"); - list.add("to shoot ball lightning,"); - list.add("sneak to create EMP wave!"); - list.add(""); - list.add("Ammo: Energy Cell"); - list.add("Damage: 25 - 35"); - } - - @Override - public Multimap getItemAttributeModifiers() { - Multimap multimap = super.getItemAttributeModifiers(); - multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), - new AttributeModifier(field_111210_e, "Weapon modifier", 4, 0)); - return multimap; - } -} diff --git a/src/main/java/com/hbm/items/weapon/GunLacunae.java b/src/main/java/com/hbm/items/weapon/GunLacunae.java deleted file mode 100644 index 6acdfb5e8..000000000 --- a/src/main/java/com/hbm/items/weapon/GunLacunae.java +++ /dev/null @@ -1,149 +0,0 @@ -package com.hbm.items.weapon; - -import java.util.List; -import java.util.Random; - -import com.google.common.collect.Multimap; -import com.hbm.entity.projectile.EntityBullet; -import com.hbm.interfaces.IHoldableWeapon; -import com.hbm.items.ModItems; -import com.hbm.main.MainRegistry; -import com.hbm.render.util.RenderScreenOverlay.Crosshair; - -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.attributes.AttributeModifier; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumAction; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.event.entity.player.ArrowNockEvent; - -public class GunLacunae extends Item implements IHoldableWeapon { - - Random rand = new Random(); - - public GunLacunae() - { - this.maxStackSize = 1; - } - - @Override - public EnumAction getItemUseAction(ItemStack par1ItemStack) { - return EnumAction.none; - } - - @Override - public int getMaxItemUseDuration(ItemStack p_77626_1_) { - return 72000; - } - - @Override - public ItemStack onItemRightClick(ItemStack p_77659_1_, World world, EntityPlayer player) { - new ArrowNockEvent(player, p_77659_1_); - { - player.setItemInUse(p_77659_1_, this.getMaxItemUseDuration(p_77659_1_)); - } - - world.playSoundAtEntity(player, "hbm:weapon.lacunaeSpinup", 1.0F, 1.0F); - - return p_77659_1_; - } - - @Override - public void onUsingTick(ItemStack stack, EntityPlayer player, int count) - { - World world = player.worldObj; - - boolean flag = player.capabilities.isCreativeMode - || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, stack) > 0; - - if ((player.capabilities.isCreativeMode || player.inventory.hasItem(ModItems.ammo_5mm)) && count % 1 == 0 && this.getMaxItemUseDuration(stack) - count > 15) { - - world.playSoundAtEntity(player, "hbm:weapon.lacunaeShoot", 1.0F, 1.0F); - - for(int i = 0; i < 3; i++) { - - if((player.capabilities.isCreativeMode || player.inventory.hasItem(ModItems.ammo_5mm))) { - EntityBullet entityarrow = new EntityBullet(world, player, 3.0F); - entityarrow.setDamage(5); - - if(!flag) - player.inventory.consumeInventoryItem(ModItems.ammo_5mm); - - if (!world.isRemote) { - world.spawnEntityInWorld(entityarrow); - } - } - } - } - } - - @Override - public void onPlayerStoppedUsing(ItemStack p_77615_1_, World world, EntityPlayer player, int p_77615_4_) { - int j = this.getMaxItemUseDuration(p_77615_1_) - p_77615_4_; - - if(j > 10) - world.playSoundAtEntity(player, "hbm:weapon.lacunaeSpindown", 1.0F, 1.0F); - } - - @Override - public int getItemEnchantability() { - return 0; - } - - @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - - if(this == ModItems.gun_minigun) - list.add("The perfect gift for the man who has everything."); - if(this == ModItems.gun_avenger) - list.add("Interloper! No quarter shall be shown hither, fiend!"); - - if(this == ModItems.gun_lacunae) { - list.add("Whoa, wait, what's that sound? Do you hear that?"); - list.add("I think that's silence! That's the sound people make"); - list.add("when everyone trying to kill me is dead!"); - list.add("And I have a minigun!"); - } - - list.add(""); - list.add("Ammo: 5mm Round"); - list.add("Damage: 5"); - } - - public String getItemStackDisplayName(ItemStack stack) - { - - if(this == ModItems.gun_lacunae && MainRegistry.polaroidID == 11) - return "CZ97 Lacunae"; - - return super.getItemStackDisplayName(stack); - } - - @Override - public Multimap getItemAttributeModifiers() { - Multimap multimap = super.getItemAttributeModifiers(); - multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), - new AttributeModifier(field_111210_e, "Weapon modifier", 6, 0)); - - if(this == ModItems.gun_minigun) - multimap.put(SharedMonsterAttributes.movementSpeed.getAttributeUnlocalizedName(), - new AttributeModifier(field_111210_e, "Weapon modifier", -0.3, 1)); - if(this == ModItems.gun_avenger) - multimap.put(SharedMonsterAttributes.movementSpeed.getAttributeUnlocalizedName(), - new AttributeModifier(field_111210_e, "Weapon modifier", -0.4, 1)); - if(this == ModItems.gun_lacunae) - multimap.put(SharedMonsterAttributes.movementSpeed.getAttributeUnlocalizedName(), - new AttributeModifier(field_111210_e, "Weapon modifier", -0.2, 1)); - - return multimap; - } - - @Override - public Crosshair getCrosshair() { - return Crosshair.L_CIRCLE; - } -} diff --git a/src/main/java/com/hbm/items/weapon/ItemAmmoHIMARS.java b/src/main/java/com/hbm/items/weapon/ItemAmmoHIMARS.java index 4eac7ec1f..a5784742f 100644 --- a/src/main/java/com/hbm/items/weapon/ItemAmmoHIMARS.java +++ b/src/main/java/com/hbm/items/weapon/ItemAmmoHIMARS.java @@ -216,7 +216,7 @@ public class ItemAmmoHIMARS extends Item { this.itemTypes[LARGE_TB] = new HIMARSRocket("single_tb", "himars_single_tb", 1) { public void onImpact(EntityArtilleryRocket rocket, MovingObjectPosition mop) { - standardExplosion(rocket, mop, 50F, 12F, true, ModBlocks.slag, 1); + standardExplosion(rocket, mop, 50F, 12F, true, ModBlocks.block_slag, 1); ExplosionLarge.spawnShrapnels(rocket.worldObj, (int) mop.hitVec.xCoord, (int) mop.hitVec.yCoord, (int) mop.hitVec.zCoord, 30); standardMush(rocket, mop, 35); }}; diff --git a/src/main/java/com/hbm/items/weapon/ItemCoilgun.java b/src/main/java/com/hbm/items/weapon/ItemCoilgun.java index 9bce20e0e..af245c5d2 100644 --- a/src/main/java/com/hbm/items/weapon/ItemCoilgun.java +++ b/src/main/java/com/hbm/items/weapon/ItemCoilgun.java @@ -2,7 +2,6 @@ package com.hbm.items.weapon; import com.hbm.handler.GunConfiguration; import com.hbm.render.anim.BusAnimation; -import com.hbm.render.anim.BusAnimationKeyframe; import com.hbm.render.anim.BusAnimationSequence; import com.hbm.render.anim.HbmAnimations.AnimType; @@ -23,16 +22,16 @@ public class ItemCoilgun extends ItemGunBase { if(type == AnimType.CYCLE) { return new BusAnimation() .addBus("RECOIL", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 100)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 200))); + .addKeyframePosition(1, 0, 0, 100) + .addKeyframePosition(0, 0, 0, 200)); } if(type == AnimType.RELOAD) { return new BusAnimation() .addBus("RELOAD", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 250)) - .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 500)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 250))); + .addKeyframePosition(1, 0, 0, 250) + .addKeyframePosition(1, 0, 0, 500) + .addKeyframePosition(0, 0, 0, 250)); } GunConfiguration config = ((ItemGunBase) stack.getItem()).mainConfig; diff --git a/src/main/java/com/hbm/items/weapon/ItemCryoCannon.java b/src/main/java/com/hbm/items/weapon/ItemCryoCannon.java index 6e9bf1de7..6a69055ab 100644 --- a/src/main/java/com/hbm/items/weapon/ItemCryoCannon.java +++ b/src/main/java/com/hbm/items/weapon/ItemCryoCannon.java @@ -26,12 +26,12 @@ public class ItemCryoCannon extends ItemGunBase { @Override protected void fire(ItemStack stack, World world, EntityPlayer player) { - if(this.getPressure(stack) >= 1000) return; - if(this.getTurbine(stack) < 100) return; + if(getPressure(stack) >= 1000) return; + if(getTurbine(stack) < 100) return; BulletConfiguration config = null; - if(mainConfig.reloadType == mainConfig.RELOAD_NONE) { + if(mainConfig.reloadType == GunConfiguration.RELOAD_NONE) { config = getBeltCfg(player, stack, true); } else { config = BulletConfigSyncingUtil.pullConfig(mainConfig.config.get(getMagType(stack))); @@ -50,6 +50,9 @@ public class ItemCryoCannon extends ItemGunBase { for(int i = 0; i < bullets; i++) { spawnProjectile(world, player, stack, BulletConfigSyncingUtil.getKey(config)); } + + if(player instanceof EntityPlayerMP) + PacketDispatcher.wrapper.sendTo(new GunAnimationPacket(AnimType.CYCLE.ordinal()), (EntityPlayerMP) player); useUpAmmo(player, stack, true); player.inventoryContainer.detectAndSendChanges(); @@ -66,26 +69,23 @@ public class ItemCryoCannon extends ItemGunBase { @Override protected void spawnProjectile(World world, EntityPlayer player, ItemStack stack, int config) { - EntityChemical chem = new EntityChemical(world, player); chem.setFluid(Fluids.OXYGEN); world.spawnEntityInWorld(chem); - int pressure = this.getPressure(stack); + int pressure = getPressure(stack); pressure += 5; pressure = MathHelper.clamp_int(pressure, 0, 1000); - this.setPressure(stack, pressure); - - if(player instanceof EntityPlayerMP) PacketDispatcher.wrapper.sendTo(new GunAnimationPacket(AnimType.CYCLE.ordinal()), (EntityPlayerMP) player); + setPressure(stack, pressure); } @Override protected void updateServer(ItemStack stack, World world, EntityPlayer player, int slot, boolean isCurrentItem) { - int turbine = this.getTurbine(stack); - int pressure = this.getPressure(stack); + int turbine = getTurbine(stack); + int pressure = getPressure(stack); - if(this.getIsMouseDown(stack)) { + if(getIsMouseDown(stack)) { turbine += 10; } else { turbine -= 5; @@ -94,8 +94,8 @@ public class ItemCryoCannon extends ItemGunBase { turbine = MathHelper.clamp_int(turbine, 0, 100); pressure = MathHelper.clamp_int(pressure, 0, 1000); - this.setTurbine(stack, turbine); - this.setPressure(stack, pressure); + setTurbine(stack, turbine); + setPressure(stack, pressure); super.updateServer(stack, world, player, slot, isCurrentItem); } diff --git a/src/main/java/com/hbm/items/weapon/ItemCustomMissile.java b/src/main/java/com/hbm/items/weapon/ItemCustomMissile.java index 768567803..a0bd103b3 100644 --- a/src/main/java/com/hbm/items/weapon/ItemCustomMissile.java +++ b/src/main/java/com/hbm/items/weapon/ItemCustomMissile.java @@ -4,8 +4,8 @@ import java.util.List; import com.hbm.handler.MissileStruct; import com.hbm.items.ModItems; -import com.hbm.items.weapon.ItemMissile.FuelType; -import com.hbm.items.weapon.ItemMissile.WarheadType; +import com.hbm.items.weapon.ItemCustomMissilePart.FuelType; +import com.hbm.items.weapon.ItemCustomMissilePart.WarheadType; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -57,11 +57,11 @@ public class ItemCustomMissile extends Item { return; try { - ItemMissile chip = (ItemMissile) Item.getItemById(readFromNBT(stack, "chip")); - ItemMissile warhead = (ItemMissile) Item.getItemById(readFromNBT(stack, "warhead")); - ItemMissile fuselage = (ItemMissile) Item.getItemById(readFromNBT(stack, "fuselage")); - ItemMissile stability = (ItemMissile) Item.getItemById(readFromNBT(stack, "stability")); - ItemMissile thruster = (ItemMissile) Item.getItemById(readFromNBT(stack, "thruster")); + ItemCustomMissilePart chip = (ItemCustomMissilePart) Item.getItemById(readFromNBT(stack, "chip")); + ItemCustomMissilePart warhead = (ItemCustomMissilePart) Item.getItemById(readFromNBT(stack, "warhead")); + ItemCustomMissilePart fuselage = (ItemCustomMissilePart) Item.getItemById(readFromNBT(stack, "fuselage")); + ItemCustomMissilePart stability = (ItemCustomMissilePart) Item.getItemById(readFromNBT(stack, "stability")); + ItemCustomMissilePart thruster = (ItemCustomMissilePart) Item.getItemById(readFromNBT(stack, "thruster")); list.add(EnumChatFormatting.BOLD + "Warhead: " + EnumChatFormatting.GRAY + warhead.getWarhead((WarheadType)warhead.attributes[0])); list.add(EnumChatFormatting.BOLD + "Strength: " + EnumChatFormatting.GRAY + (Float)warhead.attributes[1]); @@ -92,10 +92,10 @@ public class ItemCustomMissile extends Item { if(stack == null || !(stack.getItem() instanceof ItemCustomMissile)) return null; - ItemMissile warhead = (ItemMissile) Item.getItemById(readFromNBT(stack, "warhead")); - ItemMissile fuselage = (ItemMissile) Item.getItemById(readFromNBT(stack, "fuselage")); - ItemMissile stability = (ItemMissile) Item.getItemById(readFromNBT(stack, "stability")); - ItemMissile thruster = (ItemMissile) Item.getItemById(readFromNBT(stack, "thruster")); + ItemCustomMissilePart warhead = (ItemCustomMissilePart) Item.getItemById(readFromNBT(stack, "warhead")); + ItemCustomMissilePart fuselage = (ItemCustomMissilePart) Item.getItemById(readFromNBT(stack, "fuselage")); + ItemCustomMissilePart stability = (ItemCustomMissilePart) Item.getItemById(readFromNBT(stack, "stability")); + ItemCustomMissilePart thruster = (ItemCustomMissilePart) Item.getItemById(readFromNBT(stack, "thruster")); MissileStruct missile = new MissileStruct(warhead, fuselage, stability, thruster); diff --git a/src/main/java/com/hbm/items/weapon/ItemCustomMissilePart.java b/src/main/java/com/hbm/items/weapon/ItemCustomMissilePart.java new file mode 100644 index 000000000..7c660a189 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/ItemCustomMissilePart.java @@ -0,0 +1,347 @@ +package com.hbm.items.weapon; + +import java.util.HashMap; +import java.util.List; + +import com.hbm.items.special.ItemLootCrate; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; + +public class ItemCustomMissilePart extends Item { + + public PartType type; + public PartSize top; + public PartSize bottom; + public Rarity rarity; + public float health; + private String title; + private String author; + private String witty; + + public ItemCustomMissilePart() { + this.setMaxStackSize(1); + this.setCreativeTab(MainRegistry.missileTab); + } + + public static HashMap parts = new HashMap(); + + /** + * == Chips == + * [0]: inaccuracy + * + * == Warheads == + * [0]: type + * [1]: strength/radius/cluster count + * [2]: weight + * + * == Fuselages == + * [0]: type + * [1]: tank size + * + * == Stability == + * [0]: inaccuracy mod + * + * == Thrusters === + * [0]: type + * [1]: consumption + * [2]: lift strength + */ + public Object[] attributes; + + public enum PartType { + CHIP, + WARHEAD, + FUSELAGE, + FINS, + THRUSTER + } + + public enum PartSize { + + //for chips + ANY, + //for missile tips and thrusters + NONE, + //regular sizes, 1.0m, 1.5m and 2.0m + SIZE_10, + SIZE_15, + SIZE_20 + } + + public enum WarheadType { + + HE, + INC, + BUSTER, + CLUSTER, + NUCLEAR, + TX, + N2, + BALEFIRE, + SCHRAB, + TAINT, + CLOUD, + TURBINE + } + + public enum FuelType { + + KEROSENE, + SOLID, + HYDROGEN, + XENON, + BALEFIRE + } + + public enum Rarity { + + COMMON(EnumChatFormatting.GRAY + "Common"), + UNCOMMON(EnumChatFormatting.YELLOW + "Uncommon"), + RARE(EnumChatFormatting.AQUA + "Rare"), + EPIC(EnumChatFormatting.LIGHT_PURPLE + "Epic"), + LEGENDARY(EnumChatFormatting.DARK_GREEN + "Legendary"), + SEWS_CLOTHES_AND_SUCKS_HORSE_COCK(EnumChatFormatting.DARK_AQUA + "Strange"); + + String name; + + Rarity(String name) { + this.name = name; + } + } + + public ItemCustomMissilePart makeChip(float inaccuracy) { + + this.type = PartType.CHIP; + this.top = PartSize.ANY; + this.bottom = PartSize.ANY; + this.attributes = new Object[] { inaccuracy }; + + parts.put(this.hashCode(), this); + + return this; + } + + public ItemCustomMissilePart makeWarhead(WarheadType type, float punch, float weight, PartSize size) { + + this.type = PartType.WARHEAD; + this.top = PartSize.NONE; + this.bottom = size; + this.attributes = new Object[] { type, punch, weight }; + setTextureName(RefStrings.MODID + ":mp_warhead"); + + parts.put(this.hashCode(), this); + + return this; + } + + public ItemCustomMissilePart makeFuselage(FuelType type, float fuel, PartSize top, PartSize bottom) { + + this.type = PartType.FUSELAGE; + this.top = top; + this.bottom = bottom; + attributes = new Object[] { type, fuel }; + setTextureName(RefStrings.MODID + ":mp_fuselage"); + + parts.put(this.hashCode(), this); + + return this; + } + + public ItemCustomMissilePart makeStability(float inaccuracy, PartSize size) { + + this.type = PartType.FINS; + this.top = size; + this.bottom = size; + this.attributes = new Object[] { inaccuracy }; + setTextureName(RefStrings.MODID + ":mp_stability"); + + parts.put(this.hashCode(), this); + + return this; + } + + public ItemCustomMissilePart makeThruster(FuelType type, float consumption, float lift, PartSize size) { + + this.type = PartType.THRUSTER; + this.top = size; + this.bottom = PartSize.NONE; + this.attributes = new Object[] { type, consumption, lift }; + setTextureName(RefStrings.MODID + ":mp_thruster"); + + parts.put(this.hashCode(), this); + + return this; + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) + { + + if(title != null) + list.add(EnumChatFormatting.DARK_PURPLE + "\"" + title + "\""); + + try { + switch(type) { + case CHIP: + list.add(EnumChatFormatting.BOLD + "Inaccuracy: " + EnumChatFormatting.GRAY + (Float)attributes[0] * 100 + "%"); + break; + case WARHEAD: + list.add(EnumChatFormatting.BOLD + "Size: " + EnumChatFormatting.GRAY + getSize(bottom)); + list.add(EnumChatFormatting.BOLD + "Type: " + EnumChatFormatting.GRAY + getWarhead((WarheadType)attributes[0])); + list.add(EnumChatFormatting.BOLD + "Strength: " + EnumChatFormatting.GRAY + (Float)attributes[1]); + list.add(EnumChatFormatting.BOLD + "Weight: " + EnumChatFormatting.GRAY + (Float)attributes[2] + "t"); + break; + case FUSELAGE: + list.add(EnumChatFormatting.BOLD + "Top size: " + EnumChatFormatting.GRAY + getSize(top)); + list.add(EnumChatFormatting.BOLD + "Bottom size: " + EnumChatFormatting.GRAY + getSize(bottom)); + list.add(EnumChatFormatting.BOLD + "Fuel type: " + EnumChatFormatting.GRAY + getFuel((FuelType)attributes[0])); + list.add(EnumChatFormatting.BOLD + "Fuel amount: " + EnumChatFormatting.GRAY + (Float)attributes[1] + "l"); + break; + case FINS: + list.add(EnumChatFormatting.BOLD + "Size: " + EnumChatFormatting.GRAY + getSize(top)); + list.add(EnumChatFormatting.BOLD + "Inaccuracy: " + EnumChatFormatting.GRAY + (Float)attributes[0] * 100 + "%"); + break; + case THRUSTER: + list.add(EnumChatFormatting.BOLD + "Size: " + EnumChatFormatting.GRAY + getSize(top)); + list.add(EnumChatFormatting.BOLD + "Fuel type: " + EnumChatFormatting.GRAY + getFuel((FuelType)attributes[0])); + list.add(EnumChatFormatting.BOLD + "Fuel consumption: " + EnumChatFormatting.GRAY + (Float)attributes[1] + "l/tick"); + list.add(EnumChatFormatting.BOLD + "Max. payload: " + EnumChatFormatting.GRAY + (Float)attributes[2] + "t"); + break; + } + } catch(Exception ex) { + list.add("### I AM ERROR ###"); + } + + if(type != PartType.CHIP) + list.add(EnumChatFormatting.BOLD + "Health: " + EnumChatFormatting.GRAY + health + "HP"); + + if(this.rarity != null) + list.add(EnumChatFormatting.BOLD + "Rarity: " + EnumChatFormatting.GRAY + this.rarity.name); + if(author != null) + list.add(EnumChatFormatting.WHITE + " by " + author); + if(witty != null) + list.add(EnumChatFormatting.GOLD + " " + EnumChatFormatting.ITALIC + "\"" + witty + "\""); + } + + public String getSize(PartSize size) { + + switch(size) { + case ANY: + return "Any"; + case SIZE_10: + return "1.0m"; + case SIZE_15: + return "1.5m"; + case SIZE_20: + return "2.0m"; + default: + return "None"; + } + } + + public String getWarhead(WarheadType type) { + + switch(type) { + case HE: + return EnumChatFormatting.YELLOW + "HE"; + case INC: + return EnumChatFormatting.GOLD + "Incendiary"; + case CLUSTER: + return EnumChatFormatting.GRAY + "Cluster"; + case BUSTER: + return EnumChatFormatting.WHITE + "Bunker Buster"; + case NUCLEAR: + return EnumChatFormatting.DARK_GREEN + "Nuclear"; + case TX: + return EnumChatFormatting.DARK_PURPLE + "Thermonuclear (TX)"; + case N2: + return EnumChatFormatting.RED + "N²"; + case BALEFIRE: + return EnumChatFormatting.GREEN + "BF"; + case SCHRAB: + return EnumChatFormatting.AQUA + "Schrabidium"; + case TAINT: + return EnumChatFormatting.DARK_PURPLE + "Taint"; + case CLOUD: + return EnumChatFormatting.LIGHT_PURPLE + "Cloud"; + case TURBINE: + return (System.currentTimeMillis() % 1000 < 500 ? EnumChatFormatting.RED : EnumChatFormatting.LIGHT_PURPLE) + "Turbine"; + default: + return EnumChatFormatting.BOLD + "N/A"; + } + } + + public String getFuel(FuelType type) { + + switch(type) { + case KEROSENE: + return EnumChatFormatting.LIGHT_PURPLE + "Kerosene / Peroxide"; + case SOLID: + return EnumChatFormatting.GOLD + "Solid Fuel"; + case HYDROGEN: + return EnumChatFormatting.DARK_AQUA + "Hydrogen / Oxygen"; + case XENON: + return EnumChatFormatting.DARK_PURPLE + "Xenon Gas"; + case BALEFIRE: + return EnumChatFormatting.GREEN + "BF Rocket Fuel / Peroxide"; + default: + return EnumChatFormatting.BOLD + "N/A"; + } + } + + //am i retarded? + /* yes */ + public ItemCustomMissilePart copy() { + + ItemCustomMissilePart part = new ItemCustomMissilePart(); + part.type = this.type; + part.top = this.top; + part.bottom = this.bottom; + part.health = this.health; + part.attributes = this.attributes; + part.health = this.health; + part.setTextureName(this.iconString); + + return part; + } + + public ItemCustomMissilePart setAuthor(String author) { + this.author = author; + return this; + } + + public ItemCustomMissilePart setTitle(String title) { + this.title = title; + return this; + } + + public ItemCustomMissilePart setWittyText(String witty) { + this.witty = witty; + return this; + } + + public ItemCustomMissilePart setHealth(float health) { + this.health = health; + return this; + } + + public ItemCustomMissilePart setRarity(Rarity rarity) { + this.rarity = rarity; + + if(this.type == PartType.FUSELAGE) { + if(this.top == PartSize.SIZE_10) + ItemLootCrate.list10.add(this); + if(this.top == PartSize.SIZE_15) + ItemLootCrate.list15.add(this); + } else { + ItemLootCrate.listMisc.add(this); + } + return this; + } + +} diff --git a/src/main/java/com/hbm/items/weapon/ItemDisperser.java b/src/main/java/com/hbm/items/weapon/ItemDisperser.java new file mode 100644 index 000000000..7f06f07e1 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/ItemDisperser.java @@ -0,0 +1,75 @@ +package com.hbm.items.weapon; + +import com.hbm.entity.grenade.EntityDisperserCanister; +import com.hbm.inventory.fluid.FluidType; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemFluidTank; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; + +import java.util.List; + +public class ItemDisperser extends ItemFluidTank { + + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + + if(!player.capabilities.isCreativeMode) { + --stack.stackSize; + } + + world.playSoundAtEntity(player, "random.bow", 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F)); + + if(!world.isRemote) { + + EntityDisperserCanister canister = new EntityDisperserCanister(world, player); + canister.setType(Item.getIdFromItem(this)); + canister.setFluid(stack.getItemDamage()); + world.spawnEntityInWorld(canister); + } + return stack; + } + + @Override + @SideOnly(Side.CLIENT) + public void getSubItems(Item item, CreativeTabs tabs, List list) { + + FluidType[] order = Fluids.getInNiceOrder(); + + for(int i = 1; i < order.length; ++i) { + FluidType type = order[i]; + int id = type.getID(); + if(type.isDispersable() && this == ModItems.disperser_canister) { + list.add(new ItemStack(item, 1, id)); + } else if(type == Fluids.PHEROMONE || type == Fluids.SULFURIC_ACID && this == ModItems.glyphid_gland) { + list.add(new ItemStack(item, 1, id)); + } + + } + } + + @Override + public String getItemStackDisplayName(ItemStack stack) { + + String s = ("" + StatCollector.translateToLocal(this.getUnlocalizedName() + ".name")).trim(); + String s1 = ("" + StatCollector.translateToLocal(Fluids.fromID(stack.getItemDamage()).getConditionalName())).trim(); + + s = this == ModItems.glyphid_gland ? s1 + " " + s : s + " " + s1; + return s; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister p_94581_1_) { + super.registerIcons(p_94581_1_); + this.overlayIcon = this == ModItems.disperser_canister ? p_94581_1_.registerIcon("hbm:disperser_canister_overlay") : p_94581_1_.registerIcon("hbm:fluid_identifier_overlay"); + } +} diff --git a/src/main/java/com/hbm/items/weapon/ItemGunBase.java b/src/main/java/com/hbm/items/weapon/ItemGunBase.java index 6ec696cab..e40e9889c 100644 --- a/src/main/java/com/hbm/items/weapon/ItemGunBase.java +++ b/src/main/java/com/hbm/items/weapon/ItemGunBase.java @@ -6,6 +6,7 @@ import org.lwjgl.input.Mouse; import com.hbm.config.GeneralConfig; import com.hbm.entity.projectile.EntityBulletBaseNT; +import com.hbm.handler.ArmorModHandler; import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.handler.BulletConfiguration; import com.hbm.handler.CasingEjector; @@ -114,7 +115,7 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD, IEqu endActionClient(stack, world, entity, false); } - if(mainConfig.reloadType != mainConfig.RELOAD_NONE || (altConfig != null && altConfig.reloadType != 0)) { + if(mainConfig.reloadType != GunConfiguration.RELOAD_NONE || (altConfig != null && altConfig.reloadType != 0)) { if(GameSettings.isKeyDown(HbmKeybinds.reloadKey) && Minecraft.getMinecraft().currentScreen == null && (getMag(stack) < mainConfig.ammoCap || hasInfinity(stack, mainConfig))) { PacketDispatcher.wrapper.sendToServer(new GunButtonPacket(true, (byte) 2)); @@ -183,7 +184,7 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD, IEqu protected boolean tryShoot(ItemStack stack, World world, EntityPlayer player, boolean main) { //cancel reload when trying to shoot if it's a single reload weapon and at least one round is loaded - if(getIsReloading(stack) && mainConfig.reloadType == mainConfig.RELOAD_SINGLE && this.getMag(stack) > 0) { + if(getIsReloading(stack) && mainConfig.reloadType == GunConfiguration.RELOAD_SINGLE && getMag(stack) > 0) { setReloadCycle(stack, 0); setIsReloading(stack, false); } @@ -207,7 +208,7 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD, IEqu if(!main) config = altConfig; - if(config.reloadType == mainConfig.RELOAD_NONE) { + if(config.reloadType == GunConfiguration.RELOAD_NONE) { return getBeltSize(player, getBeltType(player, stack, main)) > 0; } else { @@ -221,7 +222,7 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD, IEqu BulletConfiguration config = null; - if(mainConfig.reloadType == mainConfig.RELOAD_NONE) { + if(mainConfig.reloadType == GunConfiguration.RELOAD_NONE) { config = getBeltCfg(player, stack, true); } else { config = BulletConfigSyncingUtil.pullConfig(mainConfig.config.get(getMagType(stack))); @@ -247,8 +248,15 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD, IEqu int wear = (int) Math.ceil(config.wear / (1F + EnchantmentHelper.getEnchantmentLevel(Enchantment.unbreaking.effectId, stack))); setItemWear(stack, getItemWear(stack) + wear); } + + if(player instanceof EntityPlayerMP) { + AnimType animType = getMag(stack) == 0 ? AnimType.CYCLE_EMPTY : AnimType.CYCLE; + PacketDispatcher.wrapper.sendTo(new GunAnimationPacket(animType.ordinal()), (EntityPlayerMP) player); + } - world.playSoundAtEntity(player, mainConfig.firingSound, mainConfig.firingVolume, mainConfig.firingPitch); + String firingSound = mainConfig.firingSound; + if (getMag(stack) == 0 && mainConfig.firingSoundEmpty != null) firingSound = mainConfig.firingSoundEmpty; + world.playSoundAtEntity(player, firingSound, mainConfig.firingVolume, mainConfig.firingPitch); if(mainConfig.ejector != null && !mainConfig.ejector.getAfterReload()) queueCasing(player, mainConfig.ejector, config, stack); @@ -260,13 +268,13 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD, IEqu if(altConfig == null) return; - BulletConfiguration config = altConfig.reloadType == altConfig.RELOAD_NONE ? getBeltCfg(player, stack, false) : BulletConfigSyncingUtil.pullConfig(altConfig.config.get(getMagType(stack))); + BulletConfiguration config = altConfig.reloadType == GunConfiguration.RELOAD_NONE ? getBeltCfg(player, stack, false) : BulletConfigSyncingUtil.pullConfig(altConfig.config.get(getMagType(stack))); int bullets = config.bulletsMin; for(int k = 0; k < altConfig.roundsPerCycle; k++) { - if(altConfig.reloadType != altConfig.RELOAD_NONE && !hasAmmo(stack, player, true)) + if(altConfig.reloadType != GunConfiguration.RELOAD_NONE && !hasAmmo(stack, player, true)) break; if(config.bulletsMax > config.bulletsMin) @@ -275,6 +283,9 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD, IEqu for(int i = 0; i < bullets; i++) { spawnProjectile(world, player, stack, BulletConfigSyncingUtil.getKey(config)); } + + if(player instanceof EntityPlayerMP) + PacketDispatcher.wrapper.sendTo(new GunAnimationPacket(AnimType.ALT_CYCLE.ordinal()), (EntityPlayerMP) player); useUpAmmo(player, stack, false); player.inventoryContainer.detectAndSendChanges(); @@ -290,13 +301,8 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD, IEqu //spawns the actual projectile, can be overridden to change projectile entity protected void spawnProjectile(World world, EntityPlayer player, ItemStack stack, int config) { - EntityBulletBaseNT bullet = new EntityBulletBaseNT(world, config, player); world.spawnEntityInWorld(bullet); - - if(player instanceof EntityPlayerMP) - PacketDispatcher.wrapper.sendTo(new GunAnimationPacket(AnimType.CYCLE.ordinal()), (EntityPlayerMP) player); - } //called on click (server side, called by mouse packet) for semi-automatics and specific events @@ -313,10 +319,6 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD, IEqu fire(stack, world, player); setDelay(stack, mainConfig.rateOfFire); } - - //setMag(stack, getMag(stack) - 1); - //useUpAmmo(player, stack, main); - //player.inventoryContainer.detectAndSendChanges(); } if(!main && altConfig != null && tryShoot(stack, world, player, main)) { @@ -327,9 +329,6 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD, IEqu altFire(stack, world, player); setDelay(stack, altConfig.rateOfFire); } - - //useUpAmmo(player, stack, main); - //player.inventoryContainer.detectAndSendChanges(); } } @@ -354,9 +353,6 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD, IEqu BulletConfiguration prevCfg = BulletConfigSyncingUtil.pullConfig(mainConfig.config.get(getMagType(stack))); - if(getMag(stack) == 0) - resetAmmoType(stack, world, player); - BulletConfiguration cfg = BulletConfigSyncingUtil.pullConfig(mainConfig.config.get(getMagType(stack))); ComparableStack ammo = (ComparableStack) cfg.ammo.copy(); @@ -372,20 +368,28 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD, IEqu setIsReloading(stack, false); return; } + + String reloadSound = mainConfig.reloadSoundEmpty != null && getMag(stack) == 0 ? mainConfig.reloadSoundEmpty : mainConfig.reloadSound; ammo.stacksize = toConsume; setMag(stack, getMag(stack) + toAdd); - if (getMag(stack) >= mainConfig.ammoCap) + if (getMag(stack) >= mainConfig.ammoCap) { setIsReloading(stack, false); - else + PacketDispatcher.wrapper.sendTo(new GunAnimationPacket(AnimType.RELOAD_END.ordinal()), (EntityPlayerMP) player); + } else { resetReloadCycle(player, stack); + AnimType animType = availableFills <= 1 ? AnimType.RELOAD_END : AnimType.RELOAD_CYCLE; + PacketDispatcher.wrapper.sendTo(new GunAnimationPacket(animType.ordinal()), (EntityPlayerMP) player); + if (availableFills > 1 && !mainConfig.reloadSoundEnd) + world.playSoundAtEntity(player, reloadSound, 1.0F, 1.0F); + } if(hasLoaded && mainConfig.reloadSoundEnd) - world.playSoundAtEntity(player, mainConfig.reloadSound, 1.0F, 1.0F); + world.playSoundAtEntity(player, reloadSound, 1.0F, 1.0F); if(mainConfig.ejector != null && mainConfig.ejector.getAfterReload()) queueCasing(player, mainConfig.ejector, prevCfg, stack); - + InventoryUtil.tryConsumeAStack(player.inventory.mainInventory, 0, player.inventory.mainInventory.length - 1, ammo); } else { setReloadCycle(stack, getReloadCycle(stack) - 1); @@ -399,11 +403,14 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD, IEqu //initiates a reload public void startReloadAction(ItemStack stack, World world, EntityPlayer player) { + + if(getMag(stack) == 0) + resetAmmoType(stack, world, player); if(player.isSneaking() && hasInfinity(stack, mainConfig)) { - if(this.getMag(stack) == mainConfig.ammoCap) { - this.setMag(stack, 0); + if(getMag(stack) == mainConfig.ammoCap) { + setMag(stack, 0); this.resetAmmoType(stack, world, player); world.playSoundAtEntity(player, "tile.piston.out", 1.0F, 1.0F); } @@ -411,17 +418,21 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD, IEqu return; } - if(this.getMag(stack) == mainConfig.ammoCap) + if(getMag(stack) == mainConfig.ammoCap) return; if(getIsReloading(stack)) return; - if(!mainConfig.reloadSoundEnd) - world.playSoundAtEntity(player, mainConfig.reloadSound, 1.0F, 1.0F); + if(!mainConfig.reloadSoundEnd) { + String reloadSound = mainConfig.reloadSoundEmpty != null && getMag(stack) == 0 ? mainConfig.reloadSoundEmpty : mainConfig.reloadSound; + world.playSoundAtEntity(player, reloadSound, 1.0F, 1.0F); + } - if(!world.isRemote) - PacketDispatcher.wrapper.sendTo(new GunAnimationPacket(AnimType.RELOAD.ordinal()), (EntityPlayerMP) player); + if(!world.isRemote) { + AnimType reloadType = getMag(stack) == 0 ? AnimType.RELOAD_EMPTY : AnimType.RELOAD; + PacketDispatcher.wrapper.sendTo(new GunAnimationPacket(reloadType.ordinal()), (EntityPlayerMP) player); + } setIsReloading(stack, true); resetReloadCycle(player, stack); @@ -488,8 +499,7 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD, IEqu addAdditionalInformation(stack, list); } - protected void addAdditionalInformation(ItemStack stack, List list) - { + protected void addAdditionalInformation(ItemStack stack, List list) { final BulletConfiguration bulletConfig = BulletConfigSyncingUtil.pullConfig(mainConfig.config.get(getMagType(stack))); list.add(I18nUtil.resolveKey(HbmCollection.gunDamage, bulletConfig.dmgMin, bulletConfig.dmgMax)); if(bulletConfig.bulletsMax != 1) @@ -580,6 +590,7 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD, IEqu if(hasInfinity(stack, config)) return; if(isTrenchMaster(player) && player.getRNG().nextInt(3) == 0) return; + if(hasAoS(player) && player.getRNG().nextInt(3) == 0) return; if(config.reloadType != GunConfiguration.RELOAD_NONE) { setMag(stack, getMag(stack) - 1); @@ -782,6 +793,10 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD, IEqu @SideOnly(Side.CLIENT) public BusAnimation getAnimation(ItemStack stack, AnimType type) { GunConfiguration config = ((ItemGunBase) stack.getItem()).mainConfig; + if (!config.animationsLoaded && config.loadAnimations != null) { + config.loadAnimations.accept(null); + config.animationsLoaded = true; + } return config.animations.get(type); } @@ -790,6 +805,8 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD, IEqu if(!mainConfig.equipSound.isEmpty() && !player.worldObj.isRemote) { player.worldObj.playSoundAtEntity(player, mainConfig.equipSound, 1, 1); } + + if(player instanceof EntityPlayerMP) PacketDispatcher.wrapper.sendTo(new GunAnimationPacket(AnimType.EQUIP.ordinal()), (EntityPlayerMP) player); } protected static void queueCasing(Entity entity, CasingEjector ejector, BulletConfiguration bullet, ItemStack stack) { @@ -821,7 +838,9 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD, IEqu } public static int getReloadDuration(EntityPlayer player, ItemStack stack) { - int cycle = ((ItemGunBase) stack.getItem()).mainConfig.reloadDuration; + GunConfiguration config = ((ItemGunBase) stack.getItem()).mainConfig; + int cycle = config.reloadDuration; + if (getMag(stack) == 0) cycle += config.emptyReloadAdditionalDuration; if(isTrenchMaster(player)) return Math.max(1, cycle / 2); return cycle; } @@ -829,4 +848,13 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD, IEqu public static boolean isTrenchMaster(EntityPlayer player) { return player.inventory.armorInventory[2] != null && player.inventory.armorInventory[2].getItem() == ModItems.trenchmaster_plate && ArmorFSB.hasFSBArmor(player); } + + public static boolean hasAoS(EntityPlayer player) { + if(player.inventory.armorInventory[3] != null) { + ItemStack[] mods = ArmorModHandler.pryMods(player.inventory.armorInventory[3]); + ItemStack helmet = mods[ArmorModHandler.helmet_only]; + return helmet != null && helmet.getItem() == ModItems.card_aos; + } + return false; + } } diff --git a/src/main/java/com/hbm/items/weapon/ItemGunBio.java b/src/main/java/com/hbm/items/weapon/ItemGunBio.java index f2788d810..1e7184e84 100644 --- a/src/main/java/com/hbm/items/weapon/ItemGunBio.java +++ b/src/main/java/com/hbm/items/weapon/ItemGunBio.java @@ -5,7 +5,6 @@ import java.util.List; import com.hbm.handler.GunConfiguration; import com.hbm.render.anim.BusAnimation; -import com.hbm.render.anim.BusAnimationKeyframe; import com.hbm.render.anim.BusAnimationSequence; import com.hbm.render.anim.HbmAnimations.AnimType; @@ -22,7 +21,6 @@ public class ItemGunBio extends ItemGunBase { super(config); } - /* just a test */ public static long lastShot; public static List smokeNodes = new ArrayList(); @@ -66,61 +64,59 @@ public class ItemGunBio extends ItemGunBase { @Override @SideOnly(Side.CLIENT) public BusAnimation getAnimation(ItemStack stack, AnimType type) { - //GunConfiguration config = ((ItemGunBase) stack.getItem()).mainConfig; - //return config.animations.get(type); if(type == AnimType.CYCLE) { lastShot = System.currentTimeMillis(); return new BusAnimation() .addBus("RECOIL", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 50)) - .addKeyframe(new BusAnimationKeyframe(0, 0, -3, 50)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 250)) + .addKeyframePosition(0, 0, 0, 50) + .addKeyframePosition(0, 0, -3, 50) + .addKeyframePosition(0, 0, 0, 250) ) .addBus("HAMMER", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 1, 50)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 1, 300)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 200)) + .addKeyframePosition(0, 0, 1, 50) + .addKeyframePosition(0, 0, 1, 300) + .addKeyframePosition(0, 0, 0, 200) ) .addBus("DRUM", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 1, 50)) + .addKeyframePosition(0, 0, 1, 50) ); } if(type == AnimType.RELOAD) { return new BusAnimation() .addBus("LATCH", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 90, 300)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 90, 2000)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 150)) + .addKeyframePosition(0, 0, 90, 300) + .addKeyframePosition(0, 0, 90, 2000) + .addKeyframePosition(0, 0, 0, 150) ) .addBus("FRONT", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 200)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 45, 150)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 45, 2000)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 75)) + .addKeyframePosition(0, 0, 0, 200) + .addKeyframePosition(0, 0, 45, 150) + .addKeyframePosition(0, 0, 45, 2000) + .addKeyframePosition(0, 0, 0, 75) ) .addBus("RELOAD_ROT", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 300)) - .addKeyframe(new BusAnimationKeyframe(60, 0, 0, 500)) - .addKeyframe(new BusAnimationKeyframe(60, 0, 0, 500)) - .addKeyframe(new BusAnimationKeyframe(0, -90, -90, 0)) - .addKeyframe(new BusAnimationKeyframe(0, -90, -90, 600)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 300)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 100)) - .addKeyframe(new BusAnimationKeyframe(-45, 0, 0, 50)) - .addKeyframe(new BusAnimationKeyframe(-45, 0, 0, 100)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 300)) + .addKeyframePosition(0, 0, 0, 300) + .addKeyframePosition(60, 0, 0, 500) + .addKeyframePosition(60, 0, 0, 500) + .addKeyframePosition(0, -90, -90, 0) + .addKeyframePosition(0, -90, -90, 600) + .addKeyframePosition(0, 0, 0, 300) + .addKeyframePosition(0, 0, 0, 100) + .addKeyframePosition(-45, 0, 0, 50) + .addKeyframePosition(-45, 0, 0, 100) + .addKeyframePosition(0, 0, 0, 300) ) .addBus("RELOAD_MOVE", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 300)) - .addKeyframe(new BusAnimationKeyframe(0, -15, 0, 1000)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 450)) + .addKeyframePosition(0, 0, 0, 300) + .addKeyframePosition(0, -15, 0, 1000) + .addKeyframePosition(0, 0, 0, 450) ) .addBus("DRUM_PUSH", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 1600)) - .addKeyframe(new BusAnimationKeyframe(0, 0, -5, 0)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 300)) + .addKeyframePosition(0, 0, 0, 1600) + .addKeyframePosition(0, 0, -5, 0) + .addKeyframePosition(0, 0, 0, 300) ); } diff --git a/src/main/java/com/hbm/items/weapon/ItemGunChemthrower.java b/src/main/java/com/hbm/items/weapon/ItemGunChemthrower.java index 80910ce01..110ed0f3e 100644 --- a/src/main/java/com/hbm/items/weapon/ItemGunChemthrower.java +++ b/src/main/java/com/hbm/items/weapon/ItemGunChemthrower.java @@ -48,13 +48,14 @@ public class ItemGunChemthrower extends ItemGunBase implements IFillableItem { spawnProjectile(world, player, stack, 0); } + if(player instanceof EntityPlayerMP) + PacketDispatcher.wrapper.sendTo(new GunAnimationPacket(AnimType.CYCLE.ordinal()), (EntityPlayerMP) player); + useUpAmmo(player, stack, true); player.inventoryContainer.detectAndSendChanges(); int wear = (int) Math.ceil(10 / (1F + EnchantmentHelper.getEnchantmentLevel(Enchantment.unbreaking.effectId, stack))); setItemWear(stack, getItemWear(stack) + wear); - - //world.playSoundAtEntity(player, mainConfig.firingSound, 1.0F, mainConfig.firingPitch); } @Override @@ -86,15 +87,10 @@ public class ItemGunChemthrower extends ItemGunBase implements IFillableItem { @Override protected void spawnProjectile(World world, EntityPlayer player, ItemStack stack, int config) { - //spawn fluid projectile - EntityChemical chem = new EntityChemical(world, player); chem.setFluid(this.getFluidType(stack)); world.spawnEntityInWorld(chem); - - if(player instanceof EntityPlayerMP) - PacketDispatcher.wrapper.sendTo(new GunAnimationPacket(AnimType.CYCLE.ordinal()), (EntityPlayerMP) player); } @Override @@ -218,4 +214,14 @@ public class ItemGunChemthrower extends ItemGunBase implements IFillableItem { return toUnload; } + + @Override + public FluidType getFirstFluidType(ItemStack stack) { + return this.getFluidType(stack); + } + + @Override + public int getFill(ItemStack stack) { + return this.getMag(stack); + } } diff --git a/src/main/java/com/hbm/items/weapon/ItemGunCongo.java b/src/main/java/com/hbm/items/weapon/ItemGunCongo.java deleted file mode 100644 index 7072e772d..000000000 --- a/src/main/java/com/hbm/items/weapon/ItemGunCongo.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.hbm.items.weapon; - -import com.hbm.handler.GunConfiguration; -import com.hbm.render.anim.BusAnimation; -import com.hbm.render.anim.BusAnimationKeyframe; -import com.hbm.render.anim.BusAnimationSequence; -import com.hbm.render.anim.HbmAnimations.AnimType; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.item.ItemStack; - -public class ItemGunCongo extends ItemGunBase { - - public ItemGunCongo(GunConfiguration config) { - super(config); - } - - @Override - @SideOnly(Side.CLIENT) - public BusAnimation getAnimation(ItemStack stack, AnimType type) { - - if(type == AnimType.CYCLE) { - return new BusAnimation() - .addBus("RECOIL", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 50)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 100))) - .addBus("PUMP", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 500)) - .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 100)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 200))); - - } - - return null; - } -} diff --git a/src/main/java/com/hbm/items/weapon/ItemGunPip.java b/src/main/java/com/hbm/items/weapon/ItemGunPip.java new file mode 100644 index 000000000..c6ed8aaf9 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/ItemGunPip.java @@ -0,0 +1,137 @@ +package com.hbm.items.weapon; + +import java.util.ArrayList; +import java.util.List; + +import com.hbm.handler.GunConfiguration; +import com.hbm.render.anim.BusAnimation; +import com.hbm.render.anim.BusAnimationSequence; +import com.hbm.render.anim.HbmAnimations.AnimType; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; + +public class ItemGunPip extends ItemGunBase { + + public static long lastShot; + public static List smokeNodes = new ArrayList(); + + public ItemGunPip(GunConfiguration config) { + super(config); + } + + @Override + @SideOnly(Side.CLIENT) + protected void updateClient(ItemStack stack, World world, EntityPlayer entity, int slot, boolean isCurrentItem) { + super.updateClient(stack, world, entity, slot, isCurrentItem); + + boolean smoking = lastShot + 2000 > System.currentTimeMillis(); + + if(!smoking && !smokeNodes.isEmpty()) { + smokeNodes.clear(); + } + + if(smoking) { + Vec3 prev = Vec3.createVectorHelper(-entity.motionX, -entity.motionY, -entity.motionZ); + prev.rotateAroundY((float) (entity.rotationYaw * Math.PI / 180D)); + double accel = 15D; + double side = (entity.rotationYaw - entity.prevRotationYawHead) * 0.1D; + double waggle = 0.025D; + + for(double[] node : smokeNodes) { + node[0] += -prev.zCoord * accel + world.rand.nextGaussian() * waggle; + node[1] += prev.yCoord + 1.5D; + node[2] += prev.xCoord * accel + world.rand.nextGaussian() * waggle + side; + } + + double alpha = (System.currentTimeMillis() - lastShot) / 2000D; + alpha = (1 - alpha) * 0.5D; + + if(this.getIsReloading(stack)) alpha = 0; + + smokeNodes.add(new double[] {0, 0, 0, alpha}); + } + } + + @Override + @SideOnly(Side.CLIENT) + public BusAnimation getAnimation(ItemStack stack, AnimType type) { + + if(type == AnimType.EQUIP) { + return new BusAnimation() + .addBus("ROTATE", new BusAnimationSequence() + .addKeyframePosition(-360, 0, 0, 350) + ); + } + + if(type == AnimType.CYCLE) { + lastShot = System.currentTimeMillis(); + int s = 1; + return new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence() + .addKeyframePosition(0, 0, 0, 50 * s) + .addKeyframePosition(0, 0, -3, 50 * s) + .addKeyframePosition(0, 0, 0, 250 * s) + ) + .addBus("HAMMER", new BusAnimationSequence() + .addKeyframePosition(0, 0, 1, 50 * s) + .addKeyframePosition(0, 0, 1, 300 * s) + .addKeyframePosition(0, 0, 0, 200 * s) + ) + .addBus("DRUM", new BusAnimationSequence() + .addKeyframePosition(0, 0, 1, 50 * s) + ); + } + + if(type == AnimType.RELOAD) { + int s = 1; + return new BusAnimation() + .addBus("RELAOD_TILT", new BusAnimationSequence() + .addKeyframePosition(-15, 0, 0, 100 * s) + .addKeyframePosition(65, 0, 0, 100 * s) //200 + .addKeyframePosition(45, 0, 0, 50 * s) //250 + .addKeyframePosition(0, 0, 0, 200 * s) //450 + .addKeyframePosition(0, 0, 0, 1450 * s) //1900 + .addKeyframePosition(-80, 0, 0, 100 * s) //2000 + .addKeyframePosition(-80, 0, 0, 100 * s) //2100 + .addKeyframePosition(0, 0, 0, 200 * s) //2300 + ) + .addBus("RELOAD_CYLINDER", new BusAnimationSequence() + .addKeyframePosition(0, 0, 0, 200 * s) + .addKeyframePosition(90, 0, 0, 100 * s) //300 + .addKeyframePosition(90, 0, 0, 1700 * s) //2000 + .addKeyframePosition(0, 0, 0, 70 * s) //2100 + ) + .addBus("RELOAD_LIFT", new BusAnimationSequence() + .addKeyframePosition(0, 0, 0, 350 * s) + .addKeyframePosition(-45, 0, 0, 250 * s) //600 + .addKeyframePosition(-45, 0, 0, 350 * s) //950 + .addKeyframePosition(-15, 0, 0, 200 * s) //1150 + .addKeyframePosition(-15, 0, 0, 1050 * s) //2200 + .addKeyframePosition(0, 0, 0, 100 * s) //2300 + ) + .addBus("RELOAD_JOLT", new BusAnimationSequence() + .addKeyframePosition(0, 0, 0, 600 * s) + .addKeyframePosition(2, 0, 0, 50 * s) //650 + .addKeyframePosition(0, 0, 0, 100 * s) //750 + ) + .addBus("RELOAD_BULLETS", new BusAnimationSequence() + .addKeyframePosition(0, 0, 0, 650 * s) + .addKeyframePosition(10, 0, 0, 300 * s) //950 + .addKeyframePosition(10, 0, 0, 200 * s) //1150 + .addKeyframePosition(0, 0, 0, 700 * s) //1850 + ) + .addBus("RELOAD_BULLETS_CON", new BusAnimationSequence() + .addKeyframePosition(1, 0, 0, 0 * s) + .addKeyframePosition(1, 0, 0, 950 * s) + .addKeyframePosition(0, 0, 0, 1 * s) + ); + } + + return null; + } +} diff --git a/src/main/java/com/hbm/items/weapon/ItemGunVortex.java b/src/main/java/com/hbm/items/weapon/ItemGunVortex.java deleted file mode 100644 index fb8422d72..000000000 --- a/src/main/java/com/hbm/items/weapon/ItemGunVortex.java +++ /dev/null @@ -1,215 +0,0 @@ -package com.hbm.items.weapon; - -import com.hbm.handler.GunConfiguration; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemGunVortex extends ItemGunBase { - - @SideOnly(Side.CLIENT) - private long lastFireTime; - - public ItemGunVortex(GunConfiguration config) { - super(config); - } - - /*@Override - protected void spawnProjectile(World world, EntityPlayer player, ItemStack stack, int config) { - //EntityBeamVortex beam = new EntityBeamVortex(world, player); - //world.spawnEntity(beam); - //100 blocks is its current max range, but I'm sure that could be increased if necessary. - List entsOnBeam = Library.rayTraceEntitiesOnLine(player, 100, 1).getRight(); - - for(Entity e : entsOnBeam){ - - if(!(e instanceof EntityLivingBase)) - continue; - - float dmg = 30; - EntityDamageUtil.attackEntityFromIgnoreIFrame(e, ModDamageSource.radiation, dmg); - } - - if(this.mainConfig.animations.containsKey(AnimType.CYCLE) && player instanceof EntityPlayerMP) - PacketDispatcher.wrapper.sendTo(new GunAnimationPacket(AnimType.CYCLE.ordinal()), (EntityPlayerMP) player); - PacketDispatcher.wrapper.sendToAllAround(new GunFXPacket(player, FXType.FIRE), new TargetPoint(world.provider.dimensionId, player.posX, player.posY, player.posZ, 1)); - } - - //This method should also solve the supershotgun issue where it doesn't fire some of the time (maybe?) - @Override - @SideOnly(Side.CLIENT) - public void onFireClient(ItemStack stack, EntityPlayer player, boolean shouldDoThirdPerson) { - //If I'm going to do more particle systems like this maybe I should write some kind of abstraction around it to make it less messy. - NBTTagCompound tag = new NBTTagCompound(); - Vec3d pos = null; - if(stack == player.getHeldItemMainhand()){ - pos = new Vec3d(-0.16, -0.20, 1).rotatePitch(-(float) Math.toRadians(player.rotationPitch)).rotateYaw(-(float) Math.toRadians(player.rotationYawHead)); - } else { - pos = new Vec3d(0.16, -0.20, 1).rotatePitch(-(float) Math.toRadians(player.rotationPitch)).rotateYaw(-(float) Math.toRadians(player.rotationYawHead)); - } - pos = pos.add(player.getPositionEyes(1F)); - Vec3d view = BobMathUtil.getVectorFromAngle(BobMathUtil.getEulerAngles(player.getLookVec()).addVector(0, 3, 0)); - Vec3d hitPos = null; - Vec3d hitNormal = null; - RayTraceResult r = Library.rayTraceIncludeEntities(player, 100, MainRegistry.proxy.partialTicks()); - if(r == null || r.typeOfHit == Type.MISS){ - hitPos = player.getLook(MainRegistry.proxy.partialTicks()).scale(100).add(pos); - } else { - hitPos = r.hitVec; - hitNormal = new Vec3d(r.sideHit.getFrontOffsetX(), r.sideHit.getFrontOffsetY(), r.sideHit.getFrontOffsetZ()); - } - - tag.setString("type", "spark"); - tag.setString("mode", "coneBurst"); - tag.setDouble("posX", pos.x-player.motionX); - tag.setDouble("posY", pos.y-player.motionY); - tag.setDouble("posZ", pos.z-player.motionZ); - tag.setDouble("dirX", view.x); - tag.setDouble("dirY", view.y); - tag.setDouble("dirZ", view.z); - tag.setFloat("r", 0.2F); - tag.setFloat("g", 0.8F); - tag.setFloat("b", 0.9F); - tag.setFloat("a", 1.5F); - tag.setInteger("lifetime", 1); - tag.setFloat("width", 0.01F); - tag.setFloat("length", 2F); - tag.setFloat("gravity", 0); - tag.setFloat("angle", 15F); - tag.setInteger("count", 12); - MainRegistry.proxy.effectNT(tag); - - ParticleVortexBeam beam = new ParticleVortexBeam(player.world, pos.x, pos.y, pos.z, hitPos.x, hitPos.y, hitPos.z, shouldDoThirdPerson); - beam.color(0.5F, 0.8F, 0.9F, 2.0F); - beam.width(0.125F); - Minecraft.getMinecraft().effectRenderer.addEffect(beam); - - ParticleVortexFireFlash flash = new ParticleVortexFireFlash(player.world, pos.x, pos.y, pos.z, hitPos.x, hitPos.y, hitPos.z); - flash.color(0.5F, 0.8F, 0.9F, 1F); - flash.width(0.5F); - Minecraft.getMinecraft().effectRenderer.addEffect(flash); - - Vec3 line = hitPos.subtract(pos); - int circleParticles = (int) line.lengthVector(); - for(int i = 0; i < circleParticles; i ++){ - Vec3 circlePos = line.scale(i/(float)circleParticles).add(pos); - ParticleVortexCircle c = new ParticleVortexCircle(player.worldObj, circlePos.x, circlePos.y, circlePos.z, 0.5F+player.worldObj.rand.nextFloat()*0.3F); - c.color(0.5F, 0.8F, 0.9F, 0.15F); - c.lifetime((int) (15+(i/(float)circleParticles)*10)); - Minecraft.getMinecraft().effectRenderer.addEffect(c); - } - - int extraParticles = (int) line.lengthVector(); - for(int i = 0; i < extraParticles; i ++){ - Vec3d circlePos = line.scale((i/(float)circleParticles)*0.25).add(pos); - float randX = (float) (player.worldObj.rand.nextGaussian()-0.5) * 0.01F; - float randY = (float) (player.worldObj.rand.nextGaussian()-0.5) * 0.01F; - float randZ = (float) (player.worldObj.rand.nextGaussian()-0.5) * 0.01F; - ParticleVortexParticle c = new ParticleVortexParticle(player.worldObj, circlePos.x+randX, circlePos.y+randY, circlePos.z+randZ, 0.5F); - c.color(0.5F, 0.8F, 0.9F, 0.15F); - c.lifetime(30); - Minecraft.getMinecraft().effectRenderer.addEffect(c); - } - - ParticleVortexGlow glow = new ParticleVortexGlow(player.worldObj, pos.x, pos.y, pos.z, 2F); - glow.color(0.3F, 0.7F, 1F, 0.5F); - glow.lifetime(15); - Minecraft.getMinecraft().effectRenderer.addEffect(glow); - - if(hitNormal != null){ - Vec3d sparkAxis = line.normalize().scale(0.25); - switch(r.sideHit.getAxis()){ - case X: - sparkAxis = new Vec3d(-sparkAxis.x, sparkAxis.y, sparkAxis.z); - break; - case Y: - sparkAxis = new Vec3d(sparkAxis.x, -sparkAxis.y, sparkAxis.z); - break; - case Z: - sparkAxis = new Vec3d(sparkAxis.x, sparkAxis.y, -sparkAxis.z); - break; - } - tag = new NBTTagCompound(); - tag.setString("type", "spark"); - tag.setString("mode", "coneBurst"); - tag.setDouble("posX", hitPos.x); - tag.setDouble("posY", hitPos.y); - tag.setDouble("posZ", hitPos.z); - tag.setDouble("dirX", sparkAxis.x); - tag.setDouble("dirY", sparkAxis.y+0.1); - tag.setDouble("dirZ", sparkAxis.z); - tag.setFloat("r", 0.2F); - tag.setFloat("g", 0.8F); - tag.setFloat("b", 0.9F); - tag.setFloat("a", 1.5F); - tag.setInteger("lifetime", 20); - tag.setInteger("randLifetime", 30); - tag.setFloat("width", 0.015F); - tag.setFloat("length", 0.5F); - tag.setFloat("gravity", 0.05F); - tag.setFloat("angle", 70F); - tag.setInteger("count", 15); - tag.setFloat("randomVelocity", 0.1F); - MainRegistry.proxy.effectNT(tag); - - ParticleVortexHit hit = new ParticleVortexHit(player.world, hitPos.x, hitPos.y, hitPos.z, 2.5F+player.world.rand.nextFloat()*0.5F, 90); - hit.color(0.4F, 0.8F, 1F, 0.25F); - hit.lifetime(20); - ParticleVortexHit hit2 = new ParticleVortexHit(player.world, hitPos.x, hitPos.y, hitPos.z, 2.5F+player.world.rand.nextFloat()*0.5F, -90); - hit2.color(0.4F, 0.8F, 1F, 0.25F); - hit2.lifetime(20); - Minecraft.getMinecraft().effectRenderer.addEffect(hit); - Minecraft.getMinecraft().effectRenderer.addEffect(hit2); - } - - MainRegistry.proxy.setRecoil(3); - lastFireTime = System.currentTimeMillis(); - } - - @Override - @SideOnly(Side.CLIENT) - public boolean hasCustomHudElement() { - return true; - } - - @Override - @SideOnly(Side.CLIENT) - public void renderHud(ScaledResolution res, GuiIngame gui, ItemStack stack, float partialTicks) { - float x = res.getScaledWidth()/2; - float y = res.getScaledHeight()/2; - - Minecraft.getMinecraft().getTextureManager().bindTexture(ResourceManager.vortex_hud_reticle); - GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_LINEAR); - GL11.glColor4f(0.4F, 0.9F, 0.9F, 1.0F); - GL11.glEnable(GL11.GL_BLEND); - GlStateManager.tryBlendFuncSeparate(SourceFactor.SRC_ALPHA, DestFactor.ONE, SourceFactor.ONE, DestFactor.ZERO); - RenderHelper.drawGuiRect(x - 11F, y - 11F, 0, 0, 22, 22, 1, 1); - Minecraft.getMinecraft().getTextureManager().bindTexture(ResourceManager.vortex_hud_circle); - - //Running off of system time gives less wonky results than relying on server updating the nbt tag. - long time = System.currentTimeMillis(); - - //float cooldown = (this.mainConfig.rateOfFire-getDelay(stack)+partialTicks)/(float)this.mainConfig.rateOfFire; - //Adding 0.05 so it doesn't start at nothing makes it look better in my opinion. - //It's 55 instead of 50 (50 ms in one tick) because xon lets you fire slightly before the cooldown is over. This extends the cooldown slightly beyond the real one. - float cooldown = MathHelper.clamp((time-lastFireTime)/(float)(mainConfig.rateOfFire*55), 0, 1)+0.05F; - final int SUBDIVISIONS = 64; - Tessellator tes = Tessellator.instance; - tes.startDrawing(GL11.GL_TRIANGLE_FAN); - - tes.setColorRGBA_F(0.4F, 0.9F, 0.9F, 0.4F); - tes.addVertexWithUV(x, y, 0, 0.5, 0.5); - - for(int i = 0; i < SUBDIVISIONS+1; i ++){ - //Should be quite fast because MathHelper uses a sin table... right? - float ratio = i/(float)SUBDIVISIONS; - float x2 = MathHelper.sin((float) (ratio*Math.PI*2+0.5*Math.PI)); - float y2 = MathHelper.cos((float) (ratio*Math.PI*2+0.5*Math.PI)); - float alphaMult = 1-ratio < cooldown ? 1 : 0; - buf.pos(x+x2*11, y+y2*11, 0).tex(BobMathUtil.remap01(x2, -1, 1), BobMathUtil.remap01(y2, -1, 1)).color(0.4F, 0.9F, 0.9F, 0.4F*alphaMult).endVertex(); - } - tes.draw(); - - GlStateManager.tryBlendFuncSeparate(SourceFactor.SRC_ALPHA, DestFactor.ONE_MINUS_SRC_ALPHA, SourceFactor.ONE, DestFactor.ZERO); - GlStateManager.disableBlend(); - }*/ -} diff --git a/src/main/java/com/hbm/items/weapon/ItemMissile.java b/src/main/java/com/hbm/items/weapon/ItemMissile.java index ec4b49b2f..692750516 100644 --- a/src/main/java/com/hbm/items/weapon/ItemMissile.java +++ b/src/main/java/com/hbm/items/weapon/ItemMissile.java @@ -1,347 +1,98 @@ package com.hbm.items.weapon; -import java.util.HashMap; import java.util.List; -import com.hbm.items.special.ItemLootCrate; -import com.hbm.lib.RefStrings; -import com.hbm.main.MainRegistry; +import com.hbm.items.ItemCustomLore; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -public class ItemMissile extends Item { +public class ItemMissile extends ItemCustomLore { - public PartType type; - public PartSize top; - public PartSize bottom; - public Rarity rarity; - public float health; - private String title; - private String author; - private String witty; + public final MissileFormFactor formFactor; + public final MissileTier tier; + public final MissileFuel fuel; + public int fuelCap; + public boolean launchable = true; - public ItemMissile() { - this.setMaxStackSize(1); - this.setCreativeTab(MainRegistry.missileTab); + public ItemMissile(MissileFormFactor form, MissileTier tier) { + this(form, tier, form.defaultFuel); } - public static HashMap parts = new HashMap(); - - /** - * == Chips == - * [0]: inaccuracy - * - * == Warheads == - * [0]: type - * [1]: strength/radius/cluster count - * [2]: weight - * - * == Fuselages == - * [0]: type - * [1]: tank size - * - * == Stability == - * [0]: inaccuracy mod - * - * == Thrusters === - * [0]: type - * [1]: consumption - * [2]: lift strength - */ - public Object[] attributes; - - public enum PartType { - CHIP, - WARHEAD, - FUSELAGE, - FINS, - THRUSTER + public ItemMissile(MissileFormFactor form, MissileTier tier, MissileFuel fuel) { + this.formFactor = form; + this.tier = tier; + this.fuel = fuel; + this.setFuelCap(this.fuel.defaultCap); } - public enum PartSize { - - //for chips - ANY, - //for missile tips and thrusters - NONE, - //regular sizes, 1.0m, 1.5m and 2.0m - SIZE_10, - SIZE_15, - SIZE_20 - } - - public enum WarheadType { - - HE, - INC, - BUSTER, - CLUSTER, - NUCLEAR, - TX, - N2, - BALEFIRE, - SCHRAB, - TAINT, - CLOUD, - TURBINE - } - - public enum FuelType { - - KEROSENE, - SOLID, - HYDROGEN, - XENON, - BALEFIRE - } - - public enum Rarity { - - COMMON(EnumChatFormatting.GRAY + "Common"), - UNCOMMON(EnumChatFormatting.YELLOW + "Uncommon"), - RARE(EnumChatFormatting.AQUA + "Rare"), - EPIC(EnumChatFormatting.LIGHT_PURPLE + "Epic"), - LEGENDARY(EnumChatFormatting.DARK_GREEN + "Legendary"), - SEWS_CLOTHES_AND_SUCKS_HORSE_COCK(EnumChatFormatting.DARK_AQUA + "Strange"); - - String name; - - Rarity(String name) { - this.name = name; - } - } - - public ItemMissile makeChip(float inaccuracy) { - - this.type = PartType.CHIP; - this.top = PartSize.ANY; - this.bottom = PartSize.ANY; - this.attributes = new Object[] { inaccuracy }; - - parts.put(this.hashCode(), this); - + public ItemMissile notLaunchable() { + this.launchable = false; return this; } - public ItemMissile makeWarhead(WarheadType type, float punch, float weight, PartSize size) { - - this.type = PartType.WARHEAD; - this.top = PartSize.NONE; - this.bottom = size; - this.attributes = new Object[] { type, punch, weight }; - setTextureName(RefStrings.MODID + ":mp_warhead"); - - parts.put(this.hashCode(), this); - + public ItemMissile setFuelCap(int fuelCap) { + this.fuelCap = fuelCap; return this; } - public ItemMissile makeFuselage(FuelType type, float fuel, PartSize top, PartSize bottom) { - - this.type = PartType.FUSELAGE; - this.top = top; - this.bottom = bottom; - attributes = new Object[] { type, fuel }; - setTextureName(RefStrings.MODID + ":mp_fuselage"); - - parts.put(this.hashCode(), this); - - return this; - } - - public ItemMissile makeStability(float inaccuracy, PartSize size) { - - this.type = PartType.FINS; - this.top = size; - this.bottom = size; - this.attributes = new Object[] { inaccuracy }; - setTextureName(RefStrings.MODID + ":mp_stability"); - - parts.put(this.hashCode(), this); - - return this; - } - - public ItemMissile makeThruster(FuelType type, float consumption, float lift, PartSize size) { - - this.type = PartType.THRUSTER; - this.top = size; - this.bottom = PartSize.NONE; - this.attributes = new Object[] { type, consumption, lift }; - setTextureName(RefStrings.MODID + ":mp_thruster"); - - parts.put(this.hashCode(), this); - - return this; - } - @Override - public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) - { - - if(title != null) - list.add(EnumChatFormatting.DARK_PURPLE + "\"" + title + "\""); + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { + list.add(EnumChatFormatting.ITALIC + this.tier.display); - try { - switch(type) { - case CHIP: - list.add(EnumChatFormatting.BOLD + "Inaccuracy: " + EnumChatFormatting.GRAY + (Float)attributes[0] * 100 + "%"); - break; - case WARHEAD: - list.add(EnumChatFormatting.BOLD + "Size: " + EnumChatFormatting.GRAY + getSize(bottom)); - list.add(EnumChatFormatting.BOLD + "Type: " + EnumChatFormatting.GRAY + getWarhead((WarheadType)attributes[0])); - list.add(EnumChatFormatting.BOLD + "Strength: " + EnumChatFormatting.GRAY + (Float)attributes[1]); - list.add(EnumChatFormatting.BOLD + "Weight: " + EnumChatFormatting.GRAY + (Float)attributes[2] + "t"); - break; - case FUSELAGE: - list.add(EnumChatFormatting.BOLD + "Top size: " + EnumChatFormatting.GRAY + getSize(top)); - list.add(EnumChatFormatting.BOLD + "Bottom size: " + EnumChatFormatting.GRAY + getSize(bottom)); - list.add(EnumChatFormatting.BOLD + "Fuel type: " + EnumChatFormatting.GRAY + getFuel((FuelType)attributes[0])); - list.add(EnumChatFormatting.BOLD + "Fuel amount: " + EnumChatFormatting.GRAY + (Float)attributes[1] + "l"); - break; - case FINS: - list.add(EnumChatFormatting.BOLD + "Size: " + EnumChatFormatting.GRAY + getSize(top)); - list.add(EnumChatFormatting.BOLD + "Inaccuracy: " + EnumChatFormatting.GRAY + (Float)attributes[0] * 100 + "%"); - break; - case THRUSTER: - list.add(EnumChatFormatting.BOLD + "Size: " + EnumChatFormatting.GRAY + getSize(top)); - list.add(EnumChatFormatting.BOLD + "Fuel type: " + EnumChatFormatting.GRAY + getFuel((FuelType)attributes[0])); - list.add(EnumChatFormatting.BOLD + "Fuel consumption: " + EnumChatFormatting.GRAY + (Float)attributes[1] + "l/tick"); - list.add(EnumChatFormatting.BOLD + "Max. payload: " + EnumChatFormatting.GRAY + (Float)attributes[2] + "t"); - break; - } - } catch(Exception ex) { - list.add("### I AM ERROR ###"); - } - - if(type != PartType.CHIP) - list.add(EnumChatFormatting.BOLD + "Health: " + EnumChatFormatting.GRAY + health + "HP"); - - if(this.rarity != null) - list.add(EnumChatFormatting.BOLD + "Rarity: " + EnumChatFormatting.GRAY + this.rarity.name); - if(author != null) - list.add(EnumChatFormatting.WHITE + " by " + author); - if(witty != null) - list.add(EnumChatFormatting.GOLD + " " + EnumChatFormatting.ITALIC + "\"" + witty + "\""); - } - - public String getSize(PartSize size) { - - switch(size) { - case ANY: - return "Any"; - case SIZE_10: - return "1.0m"; - case SIZE_15: - return "1.5m"; - case SIZE_20: - return "2.0m"; - default: - return "None"; - } - } - - public String getWarhead(WarheadType type) { - - switch(type) { - case HE: - return EnumChatFormatting.YELLOW + "HE"; - case INC: - return EnumChatFormatting.GOLD + "Incendiary"; - case CLUSTER: - return EnumChatFormatting.GRAY + "Cluster"; - case BUSTER: - return EnumChatFormatting.WHITE + "Bunker Buster"; - case NUCLEAR: - return EnumChatFormatting.DARK_GREEN + "Nuclear"; - case TX: - return EnumChatFormatting.DARK_PURPLE + "Thermonuclear (TX)"; - case N2: - return EnumChatFormatting.RED + "N²"; - case BALEFIRE: - return EnumChatFormatting.GREEN + "BF"; - case SCHRAB: - return EnumChatFormatting.AQUA + "Schrabidium"; - case TAINT: - return EnumChatFormatting.DARK_PURPLE + "Taint"; - case CLOUD: - return EnumChatFormatting.LIGHT_PURPLE + "Cloud"; - case TURBINE: - return (System.currentTimeMillis() % 1000 < 500 ? EnumChatFormatting.RED : EnumChatFormatting.LIGHT_PURPLE) + "Turbine"; - default: - return EnumChatFormatting.BOLD + "N/A"; - } - } - - public String getFuel(FuelType type) { - - switch(type) { - case KEROSENE: - return EnumChatFormatting.LIGHT_PURPLE + "Kerosene / Peroxide"; - case SOLID: - return EnumChatFormatting.GOLD + "Solid Fuel"; - case HYDROGEN: - return EnumChatFormatting.DARK_AQUA + "Hydrogen / Oxygen"; - case XENON: - return EnumChatFormatting.DARK_PURPLE + "Xenon Gas"; - case BALEFIRE: - return EnumChatFormatting.GREEN + "BF Rocket Fuel / Peroxide"; - default: - return EnumChatFormatting.BOLD + "N/A"; - } - } - - //am i retarded? - /* yes */ - public ItemMissile copy() { - - ItemMissile part = new ItemMissile(); - part.type = this.type; - part.top = this.top; - part.bottom = this.bottom; - part.health = this.health; - part.attributes = this.attributes; - part.health = this.health; - part.setTextureName(this.iconString); - - return part; - } - - public ItemMissile setAuthor(String author) { - this.author = author; - return this; - } - - public ItemMissile setTitle(String title) { - this.title = title; - return this; - } - - public ItemMissile setWittyText(String witty) { - this.witty = witty; - return this; - } - - public ItemMissile setHealth(float health) { - this.health = health; - return this; - } - - public ItemMissile setRarity(Rarity rarity) { - this.rarity = rarity; - - if(this.type == PartType.FUSELAGE) { - if(this.top == PartSize.SIZE_10) - ItemLootCrate.list10.add(this); - if(this.top == PartSize.SIZE_15) - ItemLootCrate.list15.add(this); + if(!this.launchable) { + list.add(EnumChatFormatting.RED + "Not launchable!"); } else { - ItemLootCrate.listMisc.add(this); + list.add("Fuel: " + this.fuel.display); + if(this.fuelCap > 0) list.add("Fuel capacity: " + this.fuelCap + "mB"); + super.addInformation(itemstack, player, list, bool); + } + } + + public enum MissileFormFactor { + ABM(MissileFuel.SOLID), + MICRO(MissileFuel.SOLID), + V2(MissileFuel.ETHANOL_PEROXIDE), + STRONG(MissileFuel.KEROSENE_PEROXIDE), + HUGE(MissileFuel.KEROSENE_LOXY), + ATLAS(MissileFuel.JETFUEL_LOXY), + OTHER(MissileFuel.KEROSENE_PEROXIDE); + + protected MissileFuel defaultFuel; + + private MissileFormFactor(MissileFuel defaultFuel) { + this.defaultFuel = defaultFuel; + } + } + + public enum MissileTier { + TIER0("Tier 0"), + TIER1("Tier 1"), + TIER2("Tier 2"), + TIER3("Tier 3"), + TIER4("Tier 4"); + + public String display; + + private MissileTier(String display) { + this.display = display; + } + } + + public enum MissileFuel { + SOLID(EnumChatFormatting.GOLD + "Solid Fuel (pre-fueled)", 0), + ETHANOL_PEROXIDE(EnumChatFormatting.AQUA + "Ethanol / Hydrogen Peroxide", 4_000), + KEROSENE_PEROXIDE(EnumChatFormatting.BLUE + "Kerosene / Hydrogen Peroxide", 8_000), + KEROSENE_LOXY(EnumChatFormatting.LIGHT_PURPLE + "Kerosene / Liquid Oxygen", 12_000), + JETFUEL_LOXY(EnumChatFormatting.RED + "Jet Fuel / Liquid Oxygen", 16_000); + + public String display; + public int defaultCap; + + private MissileFuel(String display, int defaultCap) { + this.display = display; + this.defaultCap = defaultCap; } - return this; } - } diff --git a/src/main/java/com/hbm/items/weapon/ItemPlasmaSpear.java b/src/main/java/com/hbm/items/weapon/ItemPlasmaSpear.java index a9847e544..38b210a38 100644 --- a/src/main/java/com/hbm/items/weapon/ItemPlasmaSpear.java +++ b/src/main/java/com/hbm/items/weapon/ItemPlasmaSpear.java @@ -38,6 +38,7 @@ public class ItemPlasmaSpear extends Item implements IFillableItem, ISyncButtons return 1 - (double) getFill(stack) / (double) maxFuel; } + @Override public int getFill(ItemStack stack) { if(stack.stackTagCompound == null) { stack.stackTagCompound = new NBTTagCompound(); @@ -170,4 +171,9 @@ public class ItemPlasmaSpear extends Item implements IFillableItem, ISyncButtons @Override public boolean providesFluid(FluidType type, ItemStack stack) { return false; } @Override public int tryEmpty(FluidType type, int amount, ItemStack stack) { return 0; } + + @Override + public FluidType getFirstFluidType(ItemStack stack) { + return Fluids.SCHRABIDIC; + } } diff --git a/src/main/java/com/hbm/items/weapon/gununified/GunFrame.java b/src/main/java/com/hbm/items/weapon/gununified/GunFrame.java index fd6139836..ad2ab4f0d 100644 --- a/src/main/java/com/hbm/items/weapon/gununified/GunFrame.java +++ b/src/main/java/com/hbm/items/weapon/gununified/GunFrame.java @@ -17,10 +17,9 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; import net.minecraft.world.World; +@Deprecated public abstract class GunFrame extends Item implements IGunHUDProvider, IClickReceiver { - private List statusBars = new ArrayList(); - @Override public void onUpdate(ItemStack stack, World world, Entity entity, int slot, boolean isCurrentItem) { @@ -36,7 +35,6 @@ public abstract class GunFrame extends Item implements IGunHUDProvider, IClickRe } public void updatePlayerClient(ItemStack stack, World world, EntityPlayer player, int slot, boolean isCurrentItem) { } - public void updatePlayerServer(ItemStack stack, World world, EntityPlayer player, int slot, boolean isCurrentItem) { } @Override diff --git a/src/main/java/com/hbm/items/weapon/gununified/ItemEnergyGunBase.java b/src/main/java/com/hbm/items/weapon/gununified/ItemEnergyGunBase.java index e137eda14..d93a73f4a 100644 --- a/src/main/java/com/hbm/items/weapon/gununified/ItemEnergyGunBase.java +++ b/src/main/java/com/hbm/items/weapon/gununified/ItemEnergyGunBase.java @@ -5,7 +5,6 @@ import java.util.List; import org.lwjgl.input.Mouse; import com.hbm.config.GeneralConfig; -import com.hbm.entity.projectile.EntityBulletBaseNT; import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.handler.BulletConfiguration; import com.hbm.handler.GunConfiguration; @@ -20,7 +19,7 @@ import com.hbm.render.util.RenderScreenOverlay.Crosshair; import com.hbm.util.BobMathUtil; import com.hbm.util.ChatBuilder; -import api.hbm.energy.IBatteryItem; +import api.hbm.energymk2.IBatteryItem; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.Minecraft; @@ -131,6 +130,9 @@ public class ItemEnergyGunBase extends ItemGunBase implements IBatteryItem { for(int i = 0; i < bullets; i++) { spawnProjectile(world, player, stack, BulletConfigSyncingUtil.getKey(config)); } + + if(player instanceof EntityPlayerMP) + PacketDispatcher.wrapper.sendTo(new GunAnimationPacket(AnimType.CYCLE.ordinal()), (EntityPlayerMP) player); setCharge(stack, getCharge(stack) - config.dischargePerShot);; } @@ -138,19 +140,9 @@ public class ItemEnergyGunBase extends ItemGunBase implements IBatteryItem { world.playSoundAtEntity(player, mainConfig.firingSound, 1.0F, mainConfig.firingPitch); } - protected void spawnProjectile(World world, EntityPlayer player, ItemStack stack, int config) { - - EntityBulletBaseNT bullet = new EntityBulletBaseNT(world, config, player); - world.spawnEntityInWorld(bullet); - - if(this.mainConfig.animations.containsKey(AnimType.CYCLE) && player instanceof EntityPlayerMP) - PacketDispatcher.wrapper.sendTo(new GunAnimationPacket(AnimType.CYCLE.ordinal()), (EntityPlayerMP) player); - - } - public void startAction(ItemStack stack, World world, EntityPlayer player, boolean main) { - if(mainConfig.firingMode == mainConfig.FIRE_MANUAL && main && tryShoot(stack, world, player, main)) { + if(mainConfig.firingMode == GunConfiguration.FIRE_MANUAL && main && tryShoot(stack, world, player, main)) { fire(stack, world, player); setDelay(stack, mainConfig.rateOfFire); diff --git a/src/main/java/com/hbm/lib/HbmChestContents.java b/src/main/java/com/hbm/lib/HbmChestContents.java index 812a66848..7c3c1f9f6 100644 --- a/src/main/java/com/hbm/lib/HbmChestContents.java +++ b/src/main/java/com/hbm/lib/HbmChestContents.java @@ -2,436 +2,49 @@ package com.hbm.lib; import java.util.Random; -import com.hbm.blocks.ModBlocks; -import com.hbm.inventory.fluid.Fluids; -import com.hbm.items.ItemAmmoEnums.Ammo357Magnum; -import com.hbm.items.ItemAmmoEnums.AmmoFatman; -import com.hbm.items.ModItems; -import com.hbm.items.machine.ItemBreedingRod.BreedingRodType; -import com.hbm.items.machine.ItemZirnoxRod.EnumZirnoxType; import com.hbm.items.special.ItemBookLore; -import com.hbm.items.tool.ItemBlowtorch; -import net.minecraft.init.Items; +import net.minecraft.block.Block; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.WeightedRandomChestContent; public class HbmChestContents { - public static WeightedRandomChestContent[] modGeneric = new WeightedRandomChestContent[] { - new WeightedRandomChestContent(Items.bread, 0, 1, 5, 8), - new WeightedRandomChestContent(ModItems.twinkie, 0, 1, 3, 6), - new WeightedRandomChestContent(Items.iron_ingot, 0, 2, 6, 10), - new WeightedRandomChestContent(ModItems.ingot_steel, 0, 2, 5, 7), - new WeightedRandomChestContent(ModItems.ingot_beryllium, 0, 1, 2, 4), - new WeightedRandomChestContent(ModItems.ingot_titanium, 0, 1, 1, 3), - new WeightedRandomChestContent(ModItems.circuit_targeting_tier1, 0, 1, 1, 5), - new WeightedRandomChestContent(ModItems.gun_revolver, 0, 1, 1, 3), - new WeightedRandomChestContent(ModItems.ammo_357, Ammo357Magnum.LEAD.ordinal(), 2, 6, 4), - new WeightedRandomChestContent(ModItems.gun_kit_1, 0, 1, 3, 4), - new WeightedRandomChestContent(ModItems.gun_lever_action, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.ammo_20gauge, 0, 2, 6, 3), - new WeightedRandomChestContent(ModItems.casing_9, 0, 4, 10, 3), - new WeightedRandomChestContent(ModItems.casing_50, 0, 4, 10, 3), - new WeightedRandomChestContent(ModItems.cordite, 0, 4, 6, 5), - new WeightedRandomChestContent(ModItems.battery_generic, 0, 1, 1, 4), - new WeightedRandomChestContent(ModItems.battery_advanced, 0, 1, 1, 2), - new WeightedRandomChestContent(ModItems.scrap, 0, 1, 3, 10), - new WeightedRandomChestContent(ModItems.dust, 0, 2, 4, 9), - new WeightedRandomChestContent(ModItems.bottle_opener, 0, 1, 1, 2), - new WeightedRandomChestContent(ModItems.bottle_nuka, 0, 1, 3, 4), - new WeightedRandomChestContent(ModItems.bottle_cherry, 0, 1, 1, 2), - new WeightedRandomChestContent(ModItems.stealth_boy, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.cap_nuka, 0, 1, 15, 7), - new WeightedRandomChestContent(ModItems.canister_full, Fluids.DIESEL.getID(), 1, 2, 2), - new WeightedRandomChestContent(ModItems.canister_full, Fluids.BIOFUEL.getID(), 1, 2, 3), - new WeightedRandomChestContent(ModItems.gas_mask_m65, 60, 1, 1, 2), - new WeightedRandomChestContent(ModItems.gas_mask_filter, 0, 1, 1, 3) }; - - public static WeightedRandomChestContent[] machineParts = new WeightedRandomChestContent[] { - new WeightedRandomChestContent(ModItems.plate_steel, 0, 1, 5, 5), - new WeightedRandomChestContent(ModItems.hull_big_steel, 0, 1, 2, 2), - new WeightedRandomChestContent(ModItems.hull_small_steel, 0, 1, 3, 3), - new WeightedRandomChestContent(ModItems.plate_polymer, 0, 1, 6, 5), - new WeightedRandomChestContent(ModItems.bolt_tungsten, 0, 1, 4, 3), - new WeightedRandomChestContent(ModItems.board_copper, 0, 1, 2, 4), - new WeightedRandomChestContent(ModItems.coil_tungsten, 0, 1, 2, 5), - new WeightedRandomChestContent(ModItems.motor, 0, 1, 2, 4), - new WeightedRandomChestContent(ModItems.tank_steel, 0, 1, 2, 3), - new WeightedRandomChestContent(ModItems.coil_copper, 0, 1, 3, 4), - new WeightedRandomChestContent(ModItems.coil_copper_torus, 0, 1, 2, 3), - new WeightedRandomChestContent(ModItems.wire_red_copper, 0, 1, 8, 5), - new WeightedRandomChestContent(ModItems.piston_selenium, 0, 1, 1, 3), - new WeightedRandomChestContent(ModItems.battery_advanced_cell, 0, 1, 1, 3), - new WeightedRandomChestContent(ModItems.circuit_raw, 0, 1, 3, 5), - new WeightedRandomChestContent(ModItems.circuit_aluminium, 0, 1, 2, 4), - new WeightedRandomChestContent(ModItems.circuit_copper, 0, 1, 1, 3), - new WeightedRandomChestContent(ModItems.circuit_red_copper, 0, 1, 1, 2), - new WeightedRandomChestContent(ModItems.blade_titanium, 0, 1, 8, 1) - }; - - public static WeightedRandomChestContent[] antenna = new WeightedRandomChestContent[] { - new WeightedRandomChestContent(ModItems.twinkie, 0, 1, 3, 4), - new WeightedRandomChestContent(ModItems.ingot_steel, 0, 1, 2, 7), - new WeightedRandomChestContent(ModItems.ingot_red_copper, 0, 1, 1, 4), - new WeightedRandomChestContent(ModItems.ingot_titanium, 0, 1, 3, 5), - new WeightedRandomChestContent(ModItems.wire_red_copper, 0, 2, 3, 7), - new WeightedRandomChestContent(ModItems.circuit_targeting_tier1, 0, 1, 1, 4), - new WeightedRandomChestContent(ModItems.circuit_copper, 0, 1, 1, 4), - new WeightedRandomChestContent(ModItems.battery_generic, 0, 1, 1, 4), - new WeightedRandomChestContent(ModItems.battery_advanced, 0, 1, 1, 3), - new WeightedRandomChestContent(ModItems.powder_iodine, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.powder_bromine, 0, 1, 1, 1), - new WeightedRandomChestContent(Item.getItemFromBlock(ModBlocks.steel_poles), 0, 1, 4, 8), - new WeightedRandomChestContent(Item.getItemFromBlock(ModBlocks.steel_scaffold), 0, 1, 3, 8), - new WeightedRandomChestContent(Item.getItemFromBlock(ModBlocks.pole_top), 0, 1, 1, 4), - new WeightedRandomChestContent(Item.getItemFromBlock(ModBlocks.pole_satellite_receiver), 0, 1, 1, 7), - new WeightedRandomChestContent(ModItems.scrap, 0, 1, 3, 10), - new WeightedRandomChestContent(ModItems.dust, 0, 2, 4, 9), - new WeightedRandomChestContent(ModItems.bottle_opener, 0, 1, 1, 2), - new WeightedRandomChestContent(ModItems.bottle_nuka, 0, 1, 3, 4), - new WeightedRandomChestContent(ModItems.bottle_cherry, 0, 1, 1, 2), - new WeightedRandomChestContent(ModItems.stealth_boy, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.cap_nuka, 0, 1, 15, 7), - new WeightedRandomChestContent(ModItems.bomb_caller, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.gas_mask_filter, 0, 1, 1, 2) }; - - public static WeightedRandomChestContent[] expensive = new WeightedRandomChestContent[] { - new WeightedRandomChestContent(ModItems.chlorine_pinwheel, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.circuit_targeting_tier3, 0, 1, 1, 4), - new WeightedRandomChestContent(ModItems.circuit_gold, 0, 1, 2, 3), - new WeightedRandomChestContent(ModItems.circuit_targeting_tier4, 0, 1, 1, 2), - new WeightedRandomChestContent(ModItems.gun_kit_1, 0, 1, 3, 6), - new WeightedRandomChestContent(ModItems.gun_kit_2, 0, 1, 2, 3), - new WeightedRandomChestContent(ModItems.gun_rpg, 0, 1, 1, 4), - new WeightedRandomChestContent(ModItems.ammo_rocket, 0, 1, 4, 5), - new WeightedRandomChestContent(ModItems.gun_fatman, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.ammo_nuke, AmmoFatman.SAFE.ordinal(), 1, 2, 1), - new WeightedRandomChestContent(ModItems.ammo_nuke, AmmoFatman.LOW.ordinal(), 1, 2, 1), - new WeightedRandomChestContent(ModItems.ammo_nuke, AmmoFatman.PUMPKIN.ordinal(), 1, 2, 1), - new WeightedRandomChestContent(ModItems.grenade_nuclear, 0, 1, 1, 2), - new WeightedRandomChestContent(ModItems.grenade_smart, 0, 1, 3, 3), - new WeightedRandomChestContent(ModItems.grenade_mirv, 0, 1, 1, 2), - new WeightedRandomChestContent(ModItems.stealth_boy, 0, 1, 1, 2), - new WeightedRandomChestContent(ModItems.battery_advanced, 0, 1, 1, 3), - new WeightedRandomChestContent(ModItems.battery_advanced_cell, 0, 1, 1, 2), - new WeightedRandomChestContent(ModItems.battery_schrabidium, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.syringe_awesome, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.crate_caller, 0, 1, 1, 3), - new WeightedRandomChestContent(ModItems.fusion_core, 0, 1, 1, 4), - new WeightedRandomChestContent(ModItems.bottle_nuka, 0, 1, 3, 6), - new WeightedRandomChestContent(ModItems.bottle_quantum, 0, 1, 1, 3), - new WeightedRandomChestContent(Item.getItemFromBlock(ModBlocks.red_barrel), 0, 1, 1, 6), - new WeightedRandomChestContent(ModItems.canister_full, Fluids.DIESEL.getID(), 1, 2, 2), - new WeightedRandomChestContent(ModItems.canister_full, Fluids.BIOFUEL.getID(), 1, 2, 3), - new WeightedRandomChestContent(ModItems.gas_mask_m65, 60, 1, 1, 5), - new WeightedRandomChestContent(ModItems.bomb_caller, 0, 1, 1, 2), - new WeightedRandomChestContent(ModItems.bomb_caller, 1, 1, 1, 1), - new WeightedRandomChestContent(ModItems.bomb_caller, 2, 1, 1, 1), - new WeightedRandomChestContent(ModItems.gas_mask_filter, 0, 1, 1, 4), - new WeightedRandomChestContent(ModItems.journal_pip, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.journal_bj, 0, 1, 1, 1) }; - - public static WeightedRandomChestContent[] nukeTrash = new WeightedRandomChestContent[] { - new WeightedRandomChestContent(ModItems.nugget_u238, 0, 3, 12, 5), - new WeightedRandomChestContent(ModItems.nugget_pu240, 0, 3, 8, 5), - new WeightedRandomChestContent(ModItems.nugget_neptunium, 0, 1, 4, 3), - new WeightedRandomChestContent(ModItems.rod, BreedingRodType.U238.ordinal(), 1, 1, 3), - new WeightedRandomChestContent(ModItems.rod_dual, BreedingRodType.U238.ordinal(), 1, 1, 3), - new WeightedRandomChestContent(ModItems.rod_quad, BreedingRodType.U238.ordinal(), 1, 1, 3), - new WeightedRandomChestContent(ModItems.bottle_quantum, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.gas_mask_m65, 60, 1, 1, 5), - new WeightedRandomChestContent(ModItems.hazmat_kit, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.gas_mask_filter, 0, 1, 1, 5), - new WeightedRandomChestContent(Item.getItemFromBlock(ModBlocks.yellow_barrel), 0, 1, 1, 2) }; - - public static WeightedRandomChestContent[] nuclearFuel = new WeightedRandomChestContent[] { - new WeightedRandomChestContent(ModItems.billet_uranium, 0, 1, 4, 4), - new WeightedRandomChestContent(ModItems.billet_th232, 0, 1, 3, 3), - new WeightedRandomChestContent(ModItems.billet_uranium_fuel, 0, 1, 3, 5), - new WeightedRandomChestContent(ModItems.billet_mox_fuel, 0, 1, 3, 5), - new WeightedRandomChestContent(ModItems.billet_thorium_fuel, 0, 1, 3, 3), - new WeightedRandomChestContent(ModItems.billet_ra226be, 0, 1, 2, 2), - new WeightedRandomChestContent(ModItems.billet_beryllium, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.nugget_u233, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.nugget_uranium_fuel, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.rod_zirnox_empty, 0, 1, 3, 3), - new WeightedRandomChestContent(ModItems.ingot_graphite, 0, 1, 4, 3), - new WeightedRandomChestContent(ModItems.pile_rod_uranium, 0, 2, 5, 3), - new WeightedRandomChestContent(ModItems.pile_rod_source, 0, 1, 2, 2), - new WeightedRandomChestContent(ModItems.reacher, 0, 1, 1, 3), - new WeightedRandomChestContent(ModItems.screwdriver, 0, 1, 1, 2), - }; - - public static WeightedRandomChestContent[] nuclear = new WeightedRandomChestContent[] { - new WeightedRandomChestContent(ModItems.nugget_u235, 0, 3, 12, 5), - new WeightedRandomChestContent(ModItems.nugget_pu238, 0, 3, 12, 5), - new WeightedRandomChestContent(ModItems.nugget_ra226, 0, 3, 6, 5), - new WeightedRandomChestContent(ModItems.rod, BreedingRodType.U235.ordinal(), 1, 1, 3), - new WeightedRandomChestContent(ModItems.rod_dual, BreedingRodType.U235.ordinal(), 1, 1, 3), - new WeightedRandomChestContent(ModItems.rod_quad, BreedingRodType.U235.ordinal(), 1, 1, 3), - new WeightedRandomChestContent(ModItems.rod_zirnox, EnumZirnoxType.URANIUM_FUEL.ordinal(), 1, 1, 4), - new WeightedRandomChestContent(ModItems.rod_zirnox, EnumZirnoxType.MOX_FUEL.ordinal(), 1, 1, 4), - new WeightedRandomChestContent(ModItems.rod_zirnox, EnumZirnoxType.LITHIUM.ordinal(), 1, 1, 3), - new WeightedRandomChestContent(ModItems.rod_zirnox, EnumZirnoxType.THORIUM_FUEL.ordinal(), 1, 1, 3), - new WeightedRandomChestContent(ModItems.rod_dual, BreedingRodType.THF.ordinal(), 1, 1, 3), - new WeightedRandomChestContent(ModItems.rod_zirnox_tritium, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.rod_zirnox, EnumZirnoxType.U233_FUEL.ordinal(), 1, 1, 1), - new WeightedRandomChestContent(ModItems.rod_zirnox, EnumZirnoxType.U235_FUEL.ordinal(), 1, 1, 1), - new WeightedRandomChestContent(ModItems.pellet_rtg, 0, 1, 1, 3), - new WeightedRandomChestContent(ModItems.powder_thorium, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.powder_neptunium, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.powder_strontium, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.powder_cobalt, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.bottle_quantum, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.gas_mask_m65, 60, 1, 1, 5), - new WeightedRandomChestContent(ModItems.hazmat_kit, 0, 1, 1, 2), - new WeightedRandomChestContent(ModItems.gas_mask_filter, 0, 1, 1, 5), - new WeightedRandomChestContent(Item.getItemFromBlock(ModBlocks.yellow_barrel), 0, 1, 3, 3) }; - - public static WeightedRandomChestContent[] vertibird = new WeightedRandomChestContent[] { - new WeightedRandomChestContent(ModItems.t45_helmet, 0, 1, 1, 15), - new WeightedRandomChestContent(ModItems.t45_plate, 0, 1, 1, 15), - new WeightedRandomChestContent(ModItems.t45_legs, 0, 1, 1, 15), - new WeightedRandomChestContent(ModItems.t45_boots, 0, 1, 1, 15), - new WeightedRandomChestContent(ModItems.t45_kit, 0, 1, 1, 3), - new WeightedRandomChestContent(ModItems.fusion_core, 0, 1, 1, 10), - new WeightedRandomChestContent(ModItems.gun_revolver, 0, 1, 1, 4), - new WeightedRandomChestContent(ModItems.ammo_357, Ammo357Magnum.LEAD.ordinal(), 1, 24, 4), - new WeightedRandomChestContent(ModItems.gun_kit_1, 0, 2, 3, 4), - new WeightedRandomChestContent(ModItems.gun_rpg, 0, 1, 1, 3), - new WeightedRandomChestContent(ModItems.ammo_rocket, 0, 1, 6, 3), - new WeightedRandomChestContent(ModItems.rod, BreedingRodType.U235.ordinal(), 1, 1, 2), - new WeightedRandomChestContent(ModItems.billet_uranium_fuel, 0, 1, 1, 2), - new WeightedRandomChestContent(ModItems.ingot_uranium_fuel, 0, 1, 1, 2), - new WeightedRandomChestContent(ModItems.ammo_nuke, AmmoFatman.SAFE.ordinal(), 1, 2, 1), - new WeightedRandomChestContent(ModItems.gun_fatman, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.bottle_nuka, 0, 1, 3, 6), - new WeightedRandomChestContent(ModItems.bottle_quantum, 0, 1, 1, 3), - new WeightedRandomChestContent(ModItems.stealth_boy, 0, 1, 1, 7), - new WeightedRandomChestContent(ModItems.crate_caller, 0, 1, 1, 3), - new WeightedRandomChestContent(ModItems.gas_mask_m65, 0, 1, 1, 5), - new WeightedRandomChestContent(ModItems.gas_mask_filter, 0, 1, 1, 5), - new WeightedRandomChestContent(ModItems.grenade_nuclear, 0, 1, 2, 2), - new WeightedRandomChestContent(ModItems.bomb_caller, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.bomb_caller, 1, 1, 1, 1), - new WeightedRandomChestContent(ModItems.bomb_caller, 2, 1, 1, 2) }; - - public static WeightedRandomChestContent[] missile = new WeightedRandomChestContent[] { - new WeightedRandomChestContent(ModItems.missile_generic, 0, 1, 1, 4), - new WeightedRandomChestContent(ModItems.missile_incendiary, 0, 1, 1, 4), - new WeightedRandomChestContent(ModItems.gas_mask_m65, 0, 1, 1, 5), - new WeightedRandomChestContent(ModItems.battery_advanced, 0, 1, 1, 5), - new WeightedRandomChestContent(ModItems.designator, 0, 1, 1, 5), - new WeightedRandomChestContent(ModItems.crate_caller, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.thruster_small, 0, 1, 1, 5), - new WeightedRandomChestContent(ModItems.thruster_medium, 0, 1, 1, 4), - new WeightedRandomChestContent(ModItems.fuel_tank_small, 0, 1, 1, 5), - new WeightedRandomChestContent(ModItems.fuel_tank_medium, 0, 1, 1, 4), - new WeightedRandomChestContent(ModItems.bomb_caller, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.bomb_caller, 3, 1, 1, 1), - new WeightedRandomChestContent(ModItems.bottle_nuka, 0, 1, 3, 10) }; - - public static WeightedRandomChestContent[] spaceship = new WeightedRandomChestContent[] { - new WeightedRandomChestContent(ModItems.battery_advanced, 0, 1, 1, 5), - new WeightedRandomChestContent(ModItems.ingot_advanced_alloy, 0, 2, 16, 5), - new WeightedRandomChestContent(ModItems.wire_advanced_alloy, 0, 8, 32, 5), - new WeightedRandomChestContent(ModItems.coil_advanced_alloy, 0, 2, 16, 5), - new WeightedRandomChestContent(ModItems.cell_deuterium, 0, 1, 8, 5), - new WeightedRandomChestContent(ModItems.cell_tritium, 0, 1, 8, 5), - new WeightedRandomChestContent(ModItems.cell_antimatter, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.powder_neodymium, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.powder_niobium, 0, 1, 1, 1), - new WeightedRandomChestContent(Item.getItemFromBlock(ModBlocks.fusion_conductor), 0, 2, 4, 5), - new WeightedRandomChestContent(Item.getItemFromBlock(ModBlocks.fusion_heater), 0, 1, 3, 5), - new WeightedRandomChestContent(Item.getItemFromBlock(ModBlocks.pwr_fuel), 0, 1, 2, 5), - new WeightedRandomChestContent(Item.getItemFromBlock(ModBlocks.block_tungsten), 0, 3, 8, 5), - new WeightedRandomChestContent(Item.getItemFromBlock(ModBlocks.red_wire_coated), 0, 4, 8, 5), - new WeightedRandomChestContent(Item.getItemFromBlock(ModBlocks.red_cable), 0, 8, 16, 5) }; - - public static WeightedRandomChestContent[] powder = new WeightedRandomChestContent[] { - new WeightedRandomChestContent(ModItems.powder_neptunium, 0, 1, 32, 1), - new WeightedRandomChestContent(ModItems.powder_iodine, 0, 1, 32, 1), - new WeightedRandomChestContent(ModItems.powder_thorium, 0, 1, 32, 1), - new WeightedRandomChestContent(ModItems.powder_astatine, 0, 1, 32, 1), - new WeightedRandomChestContent(ModItems.powder_neodymium, 0, 1, 32, 1), - new WeightedRandomChestContent(ModItems.powder_caesium, 0, 1, 32, 1), - new WeightedRandomChestContent(ModItems.powder_strontium, 0, 1, 32, 1), - new WeightedRandomChestContent(ModItems.powder_cobalt, 0, 1, 32, 1), - new WeightedRandomChestContent(ModItems.powder_bromine, 0, 1, 32, 1), - new WeightedRandomChestContent(ModItems.powder_niobium, 0, 1, 32, 1), - new WeightedRandomChestContent(ModItems.powder_tennessine, 0, 1, 32, 1), - new WeightedRandomChestContent(ModItems.powder_cerium, 0, 1, 32, 1) }; - - public static WeightedRandomChestContent[] vault1 = new WeightedRandomChestContent[] { - new WeightedRandomChestContent(Items.gold_ingot, 0, 3, 14, 1), - new WeightedRandomChestContent(ModItems.gun_uac_pistol, 0, 1, 1, 2), - new WeightedRandomChestContent(ModItems.pin, 0, 8, 8, 1), - new WeightedRandomChestContent(ModItems.gun_calamity, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.bottle_quantum, 0, 1, 3, 1), - new WeightedRandomChestContent(ModItems.ingot_advanced_alloy, 0, 4, 12, 1), - new WeightedRandomChestContent(ModItems.ammo_50bmg, 0, 24, 48, 1), - new WeightedRandomChestContent(ModItems.ammo_45, 0, 48, 64, 2), - new WeightedRandomChestContent(ModItems.circuit_red_copper, 0, 6, 12, 1), - new WeightedRandomChestContent(ModItems.gas_mask_m65, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.grenade_if_he, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.grenade_if_incendiary, 0, 1, 1, 1), - new WeightedRandomChestContent(Items.diamond, 0, 1, 2, 1) }; - - public static WeightedRandomChestContent[] vault2 = new WeightedRandomChestContent[] { - new WeightedRandomChestContent(ModItems.ingot_desh, 0, 2, 6, 1), - new WeightedRandomChestContent(ModItems.battery_advanced_cell_4, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.powder_desh_mix, 0, 1, 5, 1), - new WeightedRandomChestContent(Items.diamond, 0, 3, 6, 1), - new WeightedRandomChestContent(ModItems.ammo_nuke, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.ammo_container, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.grenade_nuclear, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.grenade_smart, 0, 1, 6, 1), - new WeightedRandomChestContent(ModItems.powder_yellowcake, 0, 16, 24, 1), - new WeightedRandomChestContent(ModItems.gun_uzi, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.gun_uzi_silencer, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.clip_uzi, 0, 1, 3, 1), - new WeightedRandomChestContent(ModItems.circuit_red_copper, 0, 12, 16, 1), - new WeightedRandomChestContent(ModItems.circuit_gold, 0, 2, 6, 1) }; - - public static WeightedRandomChestContent[] vault3 = new WeightedRandomChestContent[] { - new WeightedRandomChestContent(ModItems.ingot_desh, 0, 6, 16, 1), - new WeightedRandomChestContent(ModItems.battery_lithium, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.powder_power, 0, 1, 5, 1), - new WeightedRandomChestContent(ModItems.sat_chip, 0, 1, 1, 1), - new WeightedRandomChestContent(Items.diamond, 0, 5, 9, 1), - new WeightedRandomChestContent(ModItems.warhead_nuclear, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.ammo_nuke, 0, 1, 3, 1), - new WeightedRandomChestContent(ModItems.ammo_container, 0, 1, 4, 1), - new WeightedRandomChestContent(ModItems.grenade_nuclear, 0, 1, 2, 1), - new WeightedRandomChestContent(ModItems.grenade_mirv, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.powder_yellowcake, 0, 26, 42, 1), - new WeightedRandomChestContent(ModItems.ingot_u235, 0, 3, 6, 1), - new WeightedRandomChestContent(ModItems.gun_fatman, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.gun_revolver_pip, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.clip_revolver_pip, 0, 2, 4, 1), - new WeightedRandomChestContent(ModItems.circuit_red_copper, 0, 18, 32, 1), - new WeightedRandomChestContent(ModItems.circuit_gold, 0, 6, 12, 1) }; - - public static WeightedRandomChestContent[] vault4 = new WeightedRandomChestContent[] { - new WeightedRandomChestContent(ModItems.ammo_container, 0, 3, 6, 1), - new WeightedRandomChestContent(ModItems.clip_fatman, 0, 2, 3, 1), - new WeightedRandomChestContent(ModItems.ammo_nuke, AmmoFatman.MIRV.ordinal(), 2, 3, 1), - new WeightedRandomChestContent(ModItems.gun_mirv, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.gun_fatman, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.gun_proto, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.gun_b92, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.ingot_combine_steel, 0, 16, 28, 1), - new WeightedRandomChestContent(ModItems.man_core, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.boy_kit, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.nuke_starter_kit, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.weaponized_starblaster_cell, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.warhead_mirv, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.battery_schrabidium_cell, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.powder_nitan_mix, 0, 16, 32, 1) }; - - public static WeightedRandomChestContent[] officeTrash = new WeightedRandomChestContent[] { - //Meta, Min amount, Max amount, Weight - new WeightedRandomChestContent(Items.paper, 0, 1, 12, 10), - new WeightedRandomChestContent(Items.book, 0, 1, 3, 4), - new WeightedRandomChestContent(ModItems.twinkie, 0, 1, 2, 6), - new WeightedRandomChestContent(ModItems.coffee, 0, 1, 1, 4), - new WeightedRandomChestContent(ModItems.flame_politics, 0, 1, 1, 2), - new WeightedRandomChestContent(ModItems.ring_pull, 0, 1, 1, 4), - new WeightedRandomChestContent(ModItems.can_empty, 0, 1, 1, 2), - new WeightedRandomChestContent(ModItems.can_creature, 0, 1, 2, 2), - new WeightedRandomChestContent(ModItems.can_smart, 0, 1, 3, 2), - new WeightedRandomChestContent(ModItems.can_mrsugar, 0, 1, 2, 2), - new WeightedRandomChestContent(ModItems.cap_nuka, 0, 1, 16, 2), - new WeightedRandomChestContent(ModItems.book_guide, 3, 1, 1, 1), - new WeightedRandomChestContent(Item.getItemFromBlock(ModBlocks.deco_computer), 0, 1, 1, 1)}; - - public static WeightedRandomChestContent[] filingCabinet = new WeightedRandomChestContent[] { - new WeightedRandomChestContent(Items.paper, 0, 1, 12, 240), - new WeightedRandomChestContent(Items.book, 0, 1, 3, 90), - new WeightedRandomChestContent(Items.map, 0, 1, 1, 50), - new WeightedRandomChestContent(Items.writable_book, 0, 1, 1, 30), - new WeightedRandomChestContent(ModItems.cigarette, 0, 1, 16, 20), - new WeightedRandomChestContent(ModItems.toothpicks, 0, 1, 16, 10), - new WeightedRandomChestContent(ModItems.dust, 0, 1, 1, 40), - new WeightedRandomChestContent(ModItems.dust_tiny, 0, 1, 3, 75), - new WeightedRandomChestContent(ModItems.ink, 0, 1, 1, 1), //make that mf rare; 1:555 weight - }; - - public static WeightedRandomChestContent[] solidFuel = new WeightedRandomChestContent[] { - new WeightedRandomChestContent(ModItems.solid_fuel, 0, 1, 5, 1), - new WeightedRandomChestContent(ModItems.solid_fuel_presto, 0, 1, 2, 2), - new WeightedRandomChestContent(ModItems.ball_dynamite, 0, 1, 4, 2), - new WeightedRandomChestContent(Items.redstone, 0, 1, 3, 1), - new WeightedRandomChestContent(ModItems.niter, 0, 1, 3, 1) - }; - - public static WeightedRandomChestContent[] labVault = new WeightedRandomChestContent[] { - new WeightedRandomChestContent(ItemBlowtorch.getEmptyTool(ModItems.blowtorch), 1, 1, 4), - new WeightedRandomChestContent(ModItems.chemistry_set, 0, 1, 1, 15), - new WeightedRandomChestContent(ModItems.screwdriver, 0, 1, 1, 10), - new WeightedRandomChestContent(ModItems.nugget_mercury, 0, 1, 1, 3), - new WeightedRandomChestContent(ModItems.morning_glory, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.filter_coal, 0, 1, 1, 5), - new WeightedRandomChestContent(ModItems.dust, 0, 1, 3, 25), - new WeightedRandomChestContent(Items.paper, 0, 1, 2, 15), - new WeightedRandomChestContent(ModItems.cell_empty, 0, 1, 1, 5), - new WeightedRandomChestContent(Items.glass_bottle, 0, 1, 1, 5), - new WeightedRandomChestContent(ModItems.powder_iodine, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.powder_bromine, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.powder_cobalt, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.powder_neodymium, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.powder_boron, 0, 1, 1, 1), - }; - - public static WeightedRandomChestContent[] lockersVault = new WeightedRandomChestContent[] { - new WeightedRandomChestContent(ModItems.robes_helmet, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.robes_plate, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.ammo_45, 0, 48, 64, 2), - new WeightedRandomChestContent(ModItems.gun_uac_pistol, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.robes_legs, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.robes_boots, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.jackt, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.jackt2, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.gas_mask_m65, 0, 1, 1, 2), - new WeightedRandomChestContent(ModItems.gas_mask_mono, 0, 1, 1, 2), - new WeightedRandomChestContent(ModItems.goggles, 0, 1, 1, 2), - new WeightedRandomChestContent(ModItems.gas_mask_filter, 0, 1, 1, 4), - new WeightedRandomChestContent(ModItems.flame_opinion, 0, 1, 3, 5), - new WeightedRandomChestContent(ModItems.flame_conspiracy, 0, 1, 3, 5), - new WeightedRandomChestContent(ModItems.flame_politics, 0, 1, 3, 5), - new WeightedRandomChestContent(ModItems.cigarette, 0, 1, 8, 5), - new WeightedRandomChestContent(ModItems.canteen_13, 0, 1, 1, 2), - new WeightedRandomChestContent(ModItems.armor_polish, 0, 1, 1, 3), - new WeightedRandomChestContent(ModItems.gun_kit_1, 0, 1, 1, 3), - new WeightedRandomChestContent(ModItems.rag, 0, 1, 3, 5), - new WeightedRandomChestContent(Items.paper, 0, 1, 6, 7), - new WeightedRandomChestContent(Items.clock, 0, 1, 1, 3), - new WeightedRandomChestContent(Items.book, 0, 1, 5, 10), - new WeightedRandomChestContent(Items.experience_bottle, 0, 1, 3, 1), - }; + public static WeightedRandomChestContent weighted(Item item, int meta, int min, int max, int weight) { return new WeightedRandomChestContent(item, meta, Math.min(min, max), Math.max(min, max), weight); } + public static WeightedRandomChestContent weighted(Block block, int meta, int min, int max, int weight) { return new WeightedRandomChestContent(Item.getItemFromBlock(block), meta, Math.min(min, max), Math.max(min, max), weight); } + public static WeightedRandomChestContent weighted(ItemStack item, int min, int max, int weight) { return new WeightedRandomChestContent(item, Math.min(min, max), Math.max(min, max), weight); } /** ITEMBOOKLORE SHIT */ //one downside of all this huge flexibility, make a wrapper if it's too annoying public static ItemStack generateOfficeBook(Random rand) { //TODO rework this lore in general String key; int pages; - switch(rand.nextInt(10)) { + switch(rand.nextInt(5)) { case 0: key = "resignation_note"; pages = 3; break; case 1: key = "memo_stocks"; pages = 1; break; case 2: key = "memo_schrab_gsa"; pages = 2; break; case 3: key = "memo_schrab_rd"; pages = 4; break; case 4: key = "memo_schrab_nuke"; pages = 3; break; - case 5: key = "bf_bomb_1"; pages = 4; break; - case 6: key = "bf_bomb_2"; pages = 6; break; - case 7: key = "bf_bomb_3"; pages = 6; break; - case 8: key = "bf_bomb_4"; pages = 5; break; - case 9: key = "bf_bomb_5"; pages = 9; break; - default: - return null; + default: return null; } return ItemBookLore.createBook(key, pages, 0x6BC8FF, 0x0A0A0A); } + + public static ItemStack generateLabBook(Random rand) { + String key; + int pages; + + switch(rand.nextInt(5)) { + case 0: key = "bf_bomb_1"; pages = 4; break; + case 1: key = "bf_bomb_2"; pages = 6; break; + case 2: key = "bf_bomb_3"; pages = 6; break; + case 3: key = "bf_bomb_4"; pages = 5; break; + case 4: key = "bf_bomb_5"; pages = 9; break; + default: return null; + } + + return ItemBookLore.createBook(key, pages, 0x1E1E1E, 0x46EA44); + } } diff --git a/src/main/java/com/hbm/lib/HbmWorld.java b/src/main/java/com/hbm/lib/HbmWorld.java index 4a24a192f..3c6b89701 100644 --- a/src/main/java/com/hbm/lib/HbmWorld.java +++ b/src/main/java/com/hbm/lib/HbmWorld.java @@ -3,10 +3,11 @@ package com.hbm.lib; import com.hbm.world.gen.MapGenNTMFeatures; import com.hbm.world.gen.NTMWorldGenerator; import com.hbm.world.gen.component.BunkerComponents; +import com.hbm.world.gen.component.BunkerComponents.BunkerStart; import com.hbm.world.gen.component.CivilianFeatures; import com.hbm.world.gen.component.OfficeFeatures; import com.hbm.world.gen.component.RuinFeatures; -import com.hbm.world.gen.component.BunkerComponents.BunkerStart; +import com.hbm.world.gen.component.SiloComponent; import cpw.mods.fml.common.IWorldGenerator; import cpw.mods.fml.common.registry.GameRegistry; @@ -19,6 +20,8 @@ public class HbmWorld { initWorldGen(); } + public static NTMWorldGenerator worldGenerator; + public static void initWorldGen() { //MapGenStructureIO.registerStructure(StructureStartTest.class, "HFR_STRUCTURE"); @@ -29,7 +32,7 @@ public class HbmWorld { registerWorldGen(new HbmWorldGen(), 1); - NTMWorldGenerator worldGenerator = new NTMWorldGenerator(); + worldGenerator = new NTMWorldGenerator(); registerWorldGen(worldGenerator, 1); //Ideally, move everything over from HbmWorldGen to NTMWorldGenerator MinecraftForge.EVENT_BUS.register(worldGenerator); //registerWorldGen(new WorldGenTest(), 1); @@ -45,5 +48,6 @@ public class HbmWorld { OfficeFeatures.registerComponents(); RuinFeatures.registerComponents(); BunkerComponents.registerComponents(); + MapGenStructureIO.func_143031_a(SiloComponent.class, "NTMSiloComponent"); } } diff --git a/src/main/java/com/hbm/lib/HbmWorldGen.java b/src/main/java/com/hbm/lib/HbmWorldGen.java index d8019a7ea..f8ee016ff 100644 --- a/src/main/java/com/hbm/lib/HbmWorldGen.java +++ b/src/main/java/com/hbm/lib/HbmWorldGen.java @@ -10,28 +10,18 @@ import com.hbm.config.GeneralConfig; import com.hbm.config.MobConfig; import com.hbm.config.WorldConfig; import com.hbm.handler.MultiblockHandlerXR; +import com.hbm.itempool.ItemPool; +import com.hbm.itempool.ItemPoolsSingle; import com.hbm.items.ModItems; import com.hbm.main.MainRegistry; import com.hbm.saveddata.TomSaveData; +import com.hbm.tileentity.bomb.TileEntityLandmine; import com.hbm.tileentity.deco.TileEntityLanternBehemoth; import com.hbm.tileentity.machine.storage.TileEntitySafe; import com.hbm.tileentity.machine.storage.TileEntitySoyuzCapsule; import com.hbm.util.LootGenerator; import com.hbm.util.WeightedRandomGeneric; -import com.hbm.world.dungeon.AncientTomb; -import com.hbm.world.dungeon.Antenna; -import com.hbm.world.dungeon.ArcticVault; -import com.hbm.world.dungeon.Barrel; -import com.hbm.world.dungeon.CrashedVertibird; -import com.hbm.world.dungeon.DesertAtom001; -import com.hbm.world.dungeon.Factory; -import com.hbm.world.dungeon.LibraryDungeon; -import com.hbm.world.dungeon.Radio01; -import com.hbm.world.dungeon.Relay; -import com.hbm.world.dungeon.Satellite; -import com.hbm.world.dungeon.Silo; -import com.hbm.world.dungeon.Spaceship; -import com.hbm.world.dungeon.Vertibird; +import com.hbm.world.dungeon.*; import com.hbm.world.feature.BedrockOre; import com.hbm.world.feature.BedrockOre.BedrockOreDefinition; import com.hbm.world.feature.DepthDeposit; @@ -61,7 +51,6 @@ import net.minecraft.world.biome.BiomeGenForest; import net.minecraft.world.biome.BiomeGenJungle; import net.minecraft.world.biome.BiomeGenRiver; import net.minecraft.world.chunk.IChunkProvider; -import net.minecraft.world.gen.ChunkProviderFlat; import net.minecraft.world.gen.feature.WorldGenMinable; import net.minecraftforge.common.util.ForgeDirection; import cpw.mods.fml.common.IWorldGenerator; @@ -165,6 +154,7 @@ public class HbmWorldGen implements IWorldGenerator { DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.limestoneSpawn, 12, 25, 30, ModBlocks.stone_resource, EnumStoneType.LIMESTONE.ordinal()); if(rand.nextInt(3) == 0) { + @SuppressWarnings("unchecked") WeightedRandomGeneric item = (WeightedRandomGeneric) WeightedRandom.getRandomItem(rand, BedrockOre.weightedOres); BedrockOreDefinition def = item.get(); @@ -229,20 +219,23 @@ public class HbmWorldGen implements IWorldGenerator { } } - boolean enableDungeons = true; + boolean enableDungeons = world.getWorldInfo().isMapFeaturesEnabled(); + if(GeneralConfig.enableDungeons == 1) enableDungeons = true; + if(GeneralConfig.enableDungeons == 0) enableDungeons = false; - if(world.getChunkProvider() instanceof ChunkProviderFlat) { - ChunkProviderFlat provider = (ChunkProviderFlat) world.getChunkProvider(); - enableDungeons = provider.hasDungeons; - } - - if(GeneralConfig.enableDungeons && world.provider.dimensionId == 0 && enableDungeons) { + if(enableDungeons && world.provider.dimensionId == 0) { if(MobConfig.enableHives && rand.nextInt(MobConfig.hiveSpawn) == 0) { int x = i + rand.nextInt(16) + 8; int z = j + rand.nextInt(16) + 8; int y = world.getHeightValue(x, z); - if(world.getBlock(x, y - 1, z).isNormalCube()) GlyphidHive.generate(world, x, y, z, rand); + + for(int k = 3; k >= -1; k--) { + if(world.getBlock(x, y - 1 + k, z).isNormalCube()) { + GlyphidHive.generateSmall(world, x, y + k, z, rand, rand.nextInt(10) == 0, true); + break; + } + } } if(biome == BiomeGenBase.plains || biome == BiomeGenBase.desert) { @@ -341,13 +334,13 @@ public class HbmWorldGen implements IWorldGenerator { } } - if(WorldConfig.siloStructure > 0 && rand.nextInt(WorldConfig.siloStructure) == 0) { + /*if(WorldConfig.siloStructure > 0 && rand.nextInt(WorldConfig.siloStructure) == 0) { int x = i + rand.nextInt(16); int z = j + rand.nextInt(16); int y = world.getHeightValue(x, z); new Silo().generate(world, rand, x, y, z); - } + }*/ if(WorldConfig.factoryStructure > 0 && rand.nextInt(WorldConfig.factoryStructure) == 0) { int x = i + rand.nextInt(16); @@ -365,6 +358,7 @@ public class HbmWorldGen implements IWorldGenerator { new Dud().generate(world, rand, x, y, z); } + if(WorldConfig.spaceshipStructure > 0 && rand.nextInt(WorldConfig.spaceshipStructure) == 0) { int x = i + rand.nextInt(16); int z = j + rand.nextInt(16); @@ -372,7 +366,6 @@ public class HbmWorldGen implements IWorldGenerator { new Spaceship().generate(world, rand, x, y, z); } - if(WorldConfig.barrelStructure > 0 && biome.temperature >= 1.5F && !biome.canSpawnLightningBolt() && rand.nextInt(WorldConfig.barrelStructure) == 0) { int x = i + rand.nextInt(16); int z = j + rand.nextInt(16); @@ -401,6 +394,8 @@ public class HbmWorldGen implements IWorldGenerator { if(world.getBlock(x, y - 1, z).canPlaceTorchOnTop(world, x, y - 1, z)) { world.setBlock(x, y, z, ModBlocks.mine_ap); + TileEntityLandmine landmine = (TileEntityLandmine) world.getTileEntity(x, y, z); + landmine.waitingForPlayer = true; if(GeneralConfig.enableDebugMode) MainRegistry.logger.info("[Debug] Successfully spawned landmine at " + x + " " + (y) + " " + z); @@ -436,6 +431,8 @@ public class HbmWorldGen implements IWorldGenerator { int y = world.getHeightValue(x, z); if(world.getBlock(x, y - 1, z).canPlaceTorchOnTop(world, x, y - 1, z)) { world.setBlock(x, y, z, ModBlocks.mine_he); + TileEntityLandmine landmine = (TileEntityLandmine) world.getTileEntity(x, y, z); + landmine.waitingForPlayer = true; } } @@ -530,39 +527,29 @@ public class HbmWorldGen implements IWorldGenerator { if(world.getBlock(x, y - 1, z).canPlaceTorchOnTop(world, x, y - 1, z)) { world.setBlock(x, y, z, ModBlocks.safe, rand.nextInt(4) + 2, 2); + TileEntitySafe safe = (TileEntitySafe) world.getTileEntity(x, y, z); switch(rand.nextInt(10)) { - case 0: - case 1: - case 2: - case 3: - ((TileEntitySafe)world.getTileEntity(x, y, z)).setPins(rand.nextInt(999) + 1); - ((TileEntitySafe)world.getTileEntity(x, y, z)).setMod(1); - ((TileEntitySafe)world.getTileEntity(x, y, z)).lock(); - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.vault1, (TileEntitySafe)world.getTileEntity(x, y, z), rand.nextInt(4) + 3); + case 0: case 1: case 2: case 3: + safe.setMod(1); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsSingle.POOL_VAULT_RUSTY), safe, rand.nextInt(4) + 3); break; - case 4: - case 5: - case 6: - ((TileEntitySafe)world.getTileEntity(x, y, z)).setPins(rand.nextInt(999) + 1); - ((TileEntitySafe)world.getTileEntity(x, y, z)).setMod(0.1); - ((TileEntitySafe)world.getTileEntity(x, y, z)).lock(); - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.vault2, (TileEntitySafe)world.getTileEntity(x, y, z), rand.nextInt(3) + 2); + case 4: case 5: case 6: + safe.setMod(0.1); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsSingle.POOL_VAULT_STANDARD), safe, rand.nextInt(3) + 2); break; - case 7: - case 8: - ((TileEntitySafe)world.getTileEntity(x, y, z)).setPins(rand.nextInt(999) + 1); - ((TileEntitySafe)world.getTileEntity(x, y, z)).setMod(0.02); - ((TileEntitySafe)world.getTileEntity(x, y, z)).lock(); - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.vault3, (TileEntitySafe)world.getTileEntity(x, y, z), rand.nextInt(3) + 1); + case 7: case 8: + safe.setMod(0.02); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsSingle.POOL_VAULT_REINFORCED), safe, rand.nextInt(3) + 1); break; case 9: - ((TileEntitySafe)world.getTileEntity(x, y, z)).setPins(rand.nextInt(999) + 1); - ((TileEntitySafe)world.getTileEntity(x, y, z)).setMod(0.0); - ((TileEntitySafe)world.getTileEntity(x, y, z)).lock(); - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.vault4, (TileEntitySafe)world.getTileEntity(x, y, z), rand.nextInt(2) + 1); + safe.setMod(0.0); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsSingle.POOL_VAULT_UNBREAKABLE), safe, rand.nextInt(2) + 1); break; } + + safe.setPins(rand.nextInt(999) + 1); + safe.lock(); if(GeneralConfig.enableDebugMode) MainRegistry.logger.info("[Debug] Successfully spawned safe at " + x + " " + (y + 1) +" " + z); @@ -679,8 +666,7 @@ public class HbmWorldGen implements IWorldGenerator { if (world.getBlock(10000, 250, 10000) == Blocks.air) { world.setBlock(10000, 250, 10000, Blocks.chest); if (world.getBlock(10000, 250, 10000) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.powder, - (TileEntityChest) world.getTileEntity(10000, 250, 10000), 29); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsSingle.POOL_POWDER), (TileEntityChest) world.getTileEntity(10000, 250, 10000), 29); } } } @@ -688,8 +674,7 @@ public class HbmWorldGen implements IWorldGenerator { if (world.getBlock(0, 250, 10000) == Blocks.air) { world.setBlock(0, 250, 10000, Blocks.chest); if (world.getBlock(0, 250, 10000) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.powder, - (TileEntityChest) world.getTileEntity(0, 250, 10000), 29); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsSingle.POOL_POWDER), (TileEntityChest) world.getTileEntity(0, 250, 10000), 29); } } } @@ -697,8 +682,7 @@ public class HbmWorldGen implements IWorldGenerator { if (world.getBlock(-10000, 250, 10000) == Blocks.air) { world.setBlock(-10000, 250, 10000, Blocks.chest); if (world.getBlock(-10000, 250, 10000) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.powder, - (TileEntityChest) world.getTileEntity(-10000, 250, 10000), 29); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsSingle.POOL_POWDER), (TileEntityChest) world.getTileEntity(-10000, 250, 10000), 29); } } } @@ -706,8 +690,7 @@ public class HbmWorldGen implements IWorldGenerator { if (world.getBlock(10000, 250, 0) == Blocks.air) { world.setBlock(10000, 250, 0, Blocks.chest); if (world.getBlock(10000, 250, 0) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.powder, - (TileEntityChest) world.getTileEntity(10000, 250, 0), 29); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsSingle.POOL_POWDER), (TileEntityChest) world.getTileEntity(10000, 250, 0), 29); } } } @@ -715,8 +698,7 @@ public class HbmWorldGen implements IWorldGenerator { if (world.getBlock(-10000, 250, 0) == Blocks.air) { world.setBlock(-10000, 250, 0, Blocks.chest); if (world.getBlock(-10000, 250, 0) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.powder, - (TileEntityChest) world.getTileEntity(-10000, 250, 0), 29); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsSingle.POOL_POWDER), (TileEntityChest) world.getTileEntity(-10000, 250, 0), 29); } } } @@ -724,8 +706,7 @@ public class HbmWorldGen implements IWorldGenerator { if (world.getBlock(10000, 250, -10000) == Blocks.air) { world.setBlock(10000, 250, -10000, Blocks.chest); if (world.getBlock(10000, 250, -10000) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.powder, - (TileEntityChest) world.getTileEntity(10000, 250, -10000), 29); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsSingle.POOL_POWDER), (TileEntityChest) world.getTileEntity(10000, 250, -10000), 29); } } } @@ -733,8 +714,7 @@ public class HbmWorldGen implements IWorldGenerator { if (world.getBlock(0, 250, -10000) == Blocks.air) { world.setBlock(0, 250, -10000, Blocks.chest); if (world.getBlock(0, 250, -10000) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.powder, - (TileEntityChest) world.getTileEntity(0, 250, -10000), 29); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsSingle.POOL_POWDER), (TileEntityChest) world.getTileEntity(0, 250, -10000), 29); } } } @@ -742,12 +722,21 @@ public class HbmWorldGen implements IWorldGenerator { if (world.getBlock(-10000, 250, -10000) == Blocks.air) { world.setBlock(-10000, 250, -10000, Blocks.chest); if (world.getBlock(-10000, 250, -10000) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.powder, - (TileEntityChest) world.getTileEntity(-10000, 250, -10000), 29); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsSingle.POOL_POWDER), (TileEntityChest) world.getTileEntity(-10000, 250, -10000), 29); } } } } + + if(rand.nextInt(4) == 0) { + int x = i + rand.nextInt(16) + 8; + int y = 6 + rand.nextInt(13); + int z = j + rand.nextInt(16) + 8; + + if(world.getBlock(x, y, z).isReplaceableOreGen(world, x, y, z, Blocks.stone)) { + world.setBlock(x, y, z, ModBlocks.stone_keyhole); + } + } } @@ -765,6 +754,7 @@ public class HbmWorldGen implements IWorldGenerator { DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.netherPlutoniumSpawn, 4, 0, 127, ModBlocks.ore_nether_plutonium, Blocks.netherrack); if(rand.nextInt(10) == 0) { + @SuppressWarnings("unchecked") WeightedRandomGeneric item = (WeightedRandomGeneric) WeightedRandom.getRandomItem(rand, BedrockOre.weightedOresNether); BedrockOreDefinition def = item.get(); int randPosX = i + rand.nextInt(2) + 8; diff --git a/src/main/java/com/hbm/lib/Library.java b/src/main/java/com/hbm/lib/Library.java index 3cd331dae..c90495ca0 100644 --- a/src/main/java/com/hbm/lib/Library.java +++ b/src/main/java/com/hbm/lib/Library.java @@ -7,7 +7,6 @@ import java.util.Set; import com.google.common.collect.Sets; import com.hbm.blocks.ModBlocks; -import com.hbm.calc.UnionOfTileEntitiesAndBooleansForFluids; import com.hbm.entity.mob.EntityHunterChopper; import com.hbm.entity.projectile.EntityChopperMine; import com.hbm.interfaces.IFluidAcceptor; @@ -16,14 +15,11 @@ import com.hbm.interfaces.IFluidSource; import com.hbm.interfaces.Spaghetti; import com.hbm.inventory.fluid.FluidType; import com.hbm.items.ModItems; -import com.hbm.tileentity.TileEntityProxyBase; import com.hbm.tileentity.TileEntityProxyInventory; -import com.hbm.tileentity.conductor.TileEntityFluidDuctSimple; -import com.hbm.tileentity.machine.TileEntityDummy; -import api.hbm.energy.IBatteryItem; -import api.hbm.energy.IEnergyConnector; -import api.hbm.energy.IEnergyConnectorBlock; +import api.hbm.energymk2.IBatteryItem; +import api.hbm.energymk2.IEnergyConnectorBlock; +import api.hbm.energymk2.IEnergyConnectorMK2; import api.hbm.fluid.IFluidConnector; import api.hbm.fluid.IFluidConnectorBlock; import net.minecraft.block.Block; @@ -76,6 +72,8 @@ public class Library { public static String Barnaby99_x = "b04cf173-cff0-4acd-aa19-3d835224b43d"; public static String Ma118 = "1121cb7a-8773-491f-8e2b-221290c93d81"; public static String Adam29Adam29 = "bbae7bfa-0eba-40ac-a0dd-f3b715e73e61"; + public static String Alcater = "0b399a4a-8545-45a1-be3d-ece70d7d48e9"; + public static String ege444 = "42ee978c-442a-4cd8-95b6-29e469b6df10"; public static Set contributors = Sets.newHashSet(new String[] { "06ab7c03-55ce-43f8-9d3c-2850e3c652de", //mustang_rudolf @@ -120,8 +118,8 @@ public class Library { TileEntity te = world.getTileEntity(x, y, z); - if(te instanceof IEnergyConnector) { - IEnergyConnector con = (IEnergyConnector) te; + if(te instanceof IEnergyConnectorMK2) { + IEnergyConnectorMK2 con = (IEnergyConnectorMK2) te; if(con.canConnect(dir.getOpposite() /* machine's connecting side */)) return true; @@ -164,14 +162,7 @@ public class Library { return true; if((tileentity != null && (tileentity instanceof IFluidAcceptor || tileentity instanceof IFluidSource)) || - world.getBlock(x, y, z) == ModBlocks.reactor_hatch || - world.getBlock(x, y, z) == ModBlocks.reactor_conductor || world.getBlock(x, y, z) == ModBlocks.fusion_hatch || - world.getBlock(x, y, z) == ModBlocks.watz_hatch || - world.getBlock(x, y, z) == ModBlocks.fwatz_hatch || - world.getBlock(x, y, z) == ModBlocks.dummy_port_ams_limiter || - world.getBlock(x, y, z) == ModBlocks.dummy_port_ams_emitter || - world.getBlock(x, y, z) == ModBlocks.dummy_port_ams_base || world.getBlock(x, y, z) == ModBlocks.dummy_port_compact_launcher || world.getBlock(x, y, z) == ModBlocks.dummy_port_launch_table || world.getBlock(x, y, z) == ModBlocks.rbmk_loader) { @@ -183,19 +174,6 @@ public class Library { return false; } - - public static boolean checkUnionListForFluids(List list, IFluidSource that) { - - for(UnionOfTileEntitiesAndBooleansForFluids union : list) - { - if(union.source == that) - { - return true; - } - } - - return false; - } public static EntityLivingBase getClosestEntityForChopper(World world, double x, double y, double z, double radius) { double d4 = -1.0D; @@ -386,133 +364,7 @@ public class Library { */ } - public static void transmitFluid(int x, int y, int z, boolean newTact, IFluidSource that, World worldObj, FluidType type) { - Block block = worldObj.getBlock(x, y, z); - TileEntity tileentity = worldObj.getTileEntity(x, y, z); - - //Large Nuclear Reactor - if(block == ModBlocks.reactor_hatch && worldObj.getBlock(x, y, z + 2) == ModBlocks.reactor_computer) - { - tileentity = worldObj.getTileEntity(x, y, z + 2); - } - if(block == ModBlocks.reactor_hatch && worldObj.getBlock(x, y, z - 2) == ModBlocks.reactor_computer) - { - tileentity = worldObj.getTileEntity(x, y, z - 2); - } - if(block == ModBlocks.reactor_hatch && worldObj.getBlock(x + 2, y, z) == ModBlocks.reactor_computer) - { - tileentity = worldObj.getTileEntity(x + 2, y, z); - } - if(block == ModBlocks.reactor_hatch && worldObj.getBlock(x - 2, y, z) == ModBlocks.reactor_computer) - { - tileentity = worldObj.getTileEntity(x - 2, y, z); - } - //FWatz Reactor - if(block == ModBlocks.fwatz_hatch && worldObj.getBlock(x, y + 11, z + 9) == ModBlocks.fwatz_core) - { - tileentity = worldObj.getTileEntity(x, y + 11, z + 9); - } - if(block == ModBlocks.fwatz_hatch && worldObj.getBlock(x, y + 11, z - 9) == ModBlocks.fwatz_core) - { - tileentity = worldObj.getTileEntity(x, y + 11, z - 9); - } - if(block == ModBlocks.fwatz_hatch && worldObj.getBlock(x + 9, y + 11, z) == ModBlocks.fwatz_core) - { - tileentity = worldObj.getTileEntity(x + 9, y + 11, z); - } - if(block == ModBlocks.fwatz_hatch && worldObj.getBlock(x - 9, y + 11, z) == ModBlocks.fwatz_core) - { - tileentity = worldObj.getTileEntity(x - 9, y + 11, z); - } - //AMS Limiter - if(block == ModBlocks.dummy_port_ams_limiter) - { - tileentity = worldObj.getTileEntity(((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetX, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetY, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetZ); - } - //AMS Limiter - if(block == ModBlocks.dummy_port_ams_emitter) - { - tileentity = worldObj.getTileEntity(((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetX, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetY, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetZ); - } - //AMS Base - if(block == ModBlocks.dummy_port_ams_base) - { - tileentity = worldObj.getTileEntity(((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetX, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetY, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetZ); - } - //Launchers - if(block == ModBlocks.dummy_port_compact_launcher || block == ModBlocks.dummy_port_launch_table) - { - tileentity = worldObj.getTileEntity(((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetX, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetY, ((TileEntityDummy)worldObj.getTileEntity(x, y, z)).targetZ); - } - - if(tileentity == that) - tileentity = null; - - if(tileentity instanceof TileEntityProxyBase) { - TileEntityProxyBase proxy = (TileEntityProxyBase) tileentity; - - if(proxy.getTE() == that) - tileentity = null; - } - - if(tileentity instanceof IFluidDuct) - { - if(tileentity instanceof TileEntityFluidDuctSimple && ((TileEntityFluidDuctSimple)tileentity).getType().name().equals(type.name())) - { - if(Library.checkUnionListForFluids(((TileEntityFluidDuctSimple)tileentity).uoteab, that)) - { - for(int i = 0; i < ((TileEntityFluidDuctSimple)tileentity).uoteab.size(); i++) - { - if(((TileEntityFluidDuctSimple)tileentity).uoteab.get(i).source == that) - { - if(((TileEntityFluidDuctSimple)tileentity).uoteab.get(i).ticked != newTact) - { - ((TileEntityFluidDuctSimple)tileentity).uoteab.get(i).ticked = newTact; - transmitFluid(x, y + 1, z, that.getTact(), that, worldObj, type); - transmitFluid(x, y - 1, z, that.getTact(), that, worldObj, type); - transmitFluid(x - 1, y, z, that.getTact(), that, worldObj, type); - transmitFluid(x + 1, y, z, that.getTact(), that, worldObj, type); - transmitFluid(x, y, z - 1, that.getTact(), that, worldObj, type); - transmitFluid(x, y, z + 1, that.getTact(), that, worldObj, type); - } - } - } - } else { - ((TileEntityFluidDuctSimple)tileentity).uoteab.add(new UnionOfTileEntitiesAndBooleansForFluids(that, newTact)); - } - } - } - - if(tileentity instanceof IFluidAcceptor && newTact && ((IFluidAcceptor)tileentity).getMaxFluidFillForReceive(type) > 0 && - ((IFluidAcceptor)tileentity).getMaxFluidFillForReceive(type) - ((IFluidAcceptor)tileentity).getFluidFillForReceive(type) > 0) { - that.getFluidList(type).add((IFluidAcceptor)tileentity); - } - - if(!newTact) { - int size = that.getFluidList(type).size(); - - if(size > 0) { - int part = that.getFluidFillForTransfer(type) / size; - - for(IFluidAcceptor consume : that.getFluidList(type)) { - - if(consume.getFluidFillForReceive(type) < consume.getMaxFluidFillForReceive(type)) { - - if(consume.getMaxFluidFillForReceive(type) - consume.getFluidFillForReceive(type) >= part) { - that.transferFluid(part, type); - consume.receiveFluid(part, type); - - } else { - int transfer = consume.getMaxFluidFillForReceive(type) - consume.getFluidFillForReceive(type); - that.transferFluid(transfer, type); - consume.receiveFluid(transfer, type); - } - } - } - } - that.clearFluidList(type); - } - } + public static void transmitFluid(int x, int y, int z, boolean newTact, IFluidSource that, World worldObj, FluidType type) { } public static boolean isArrayEmpty(Object[] array) { if(array == null) diff --git a/src/main/java/com/hbm/lib/ModDamageSource.java b/src/main/java/com/hbm/lib/ModDamageSource.java index a477d929c..142c57380 100644 --- a/src/main/java/com/hbm/lib/ModDamageSource.java +++ b/src/main/java/com/hbm/lib/ModDamageSource.java @@ -1,12 +1,6 @@ package com.hbm.lib; -import com.hbm.entity.projectile.EntityBullet; -import com.hbm.entity.projectile.EntityDischarge; -import com.hbm.entity.projectile.EntityFire; -import com.hbm.entity.projectile.EntityLN2; -import com.hbm.entity.projectile.EntityLaserBeam; -import com.hbm.entity.projectile.EntityMinerBeam; -import com.hbm.entity.projectile.EntityPlasmaBeam; +import com.hbm.entity.projectile.*; import net.minecraft.entity.Entity; import net.minecraft.util.DamageSource; @@ -16,7 +10,7 @@ public class ModDamageSource extends DamageSource { public static DamageSource nuclearBlast = (new DamageSource("nuclearBlast")).setExplosion(); public static DamageSource mudPoisoning = (new DamageSource("mudPoisoning")).setDamageBypassesArmor(); - public static DamageSource acid = (new DamageSource("acid")).setDamageBypassesArmor(); + public static DamageSource acid = (new DamageSource("acid")); //.setDamageBypassesArmor(); public static DamageSource euthanizedSelf = (new DamageSource("euthanizedSelf")).setDamageBypassesArmor(); public static DamageSource euthanizedSelf2 = (new DamageSource("euthanizedSelf2")).setDamageBypassesArmor(); public static DamageSource tauBlast = (new DamageSource("tauBlast")).setDamageBypassesArmor(); @@ -53,6 +47,7 @@ public class ModDamageSource extends DamageSource { public static DamageSource vacuum = (new DamageSource("vacuum")).setDamageIsAbsolute().setDamageBypassesArmor(); public static DamageSource overdose = (new DamageSource("overdose")).setDamageIsAbsolute().setDamageBypassesArmor(); public static DamageSource microwave = (new DamageSource("microwave")).setDamageIsAbsolute().setDamageBypassesArmor(); + public static DamageSource nitan = (new DamageSource("nitan")).setDamageIsAbsolute().setDamageBypassesArmor().setDamageAllowedInCreativeMode();; public static final String s_bullet = "revolverBullet"; public static final String s_emplacer = "chopperBullet"; @@ -100,10 +95,6 @@ public class ModDamageSource extends DamageSource { return (new EntityDamageSourceIndirect(s_euthanized, ent, hit)).setDamageBypassesArmor(); } - public static DamageSource causeDischargeDamage(EntityDischarge ent, Entity hit) { - return (new EntityDamageSourceIndirect(s_emp, ent, hit)).setDamageBypassesArmor(); - } - public static DamageSource causeFireDamage(EntityFire ent, Entity hit) { return (new EntityDamageSourceIndirect(s_flamethrower, ent, hit)).setFireDamage().setDamageBypassesArmor(); } diff --git a/src/main/java/com/hbm/lib/RefStrings.java b/src/main/java/com/hbm/lib/RefStrings.java index 8803032ed..84e65898f 100644 --- a/src/main/java/com/hbm/lib/RefStrings.java +++ b/src/main/java/com/hbm/lib/RefStrings.java @@ -3,7 +3,7 @@ package com.hbm.lib; public class RefStrings { public static final String MODID = "hbm"; public static final String NAME = "Hbm's Nuclear Tech Mod"; - public static final String VERSION = "1.0.27 BETA (4809)"; + public static final String VERSION = "1.0.27 BETA (4942)"; //HBM's Beta Naming Convention: //V T (X) //V -> next release version diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 2a8e88ddb..9e561dcef 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -1,5 +1,6 @@ package com.hbm.main; +import com.hbm.handler.imc.IMCHandlerNHNEI; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.PositionedSoundRecord; @@ -15,12 +16,14 @@ import net.minecraft.client.renderer.entity.RenderMinecart; import net.minecraft.client.renderer.entity.RenderSnowball; import net.minecraft.client.renderer.texture.TextureManager; import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; +import net.minecraft.client.resources.Language; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; +import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.MovingObjectPosition; @@ -31,6 +34,7 @@ import net.minecraft.world.World; import net.minecraftforge.client.MinecraftForgeClient; import net.minecraftforge.client.model.AdvancedModelLoader; import net.minecraftforge.common.MinecraftForge; +import paulscode.sound.SoundSystemConfig; import java.awt.Color; import java.awt.Desktop; @@ -41,16 +45,19 @@ import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entry; + import java.util.Random; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.BlockBobble.TileEntityBobble; import com.hbm.blocks.generic.BlockEmitter.TileEntityEmitter; import com.hbm.blocks.generic.BlockLoot.TileEntityLoot; +import com.hbm.blocks.generic.BlockPedestal.TileEntityPedestal; import com.hbm.blocks.generic.BlockSnowglobe.TileEntitySnowglobe; import com.hbm.blocks.machine.MachineFan.TileEntityFan; import com.hbm.blocks.machine.PistonInserter.TileEntityPistonInserter; import com.hbm.blocks.machine.WatzPump.TileEntityWatzPump; +import com.hbm.config.GeneralConfig; import com.hbm.entity.cart.*; import com.hbm.entity.effect.*; import com.hbm.entity.grenade.*; @@ -64,6 +71,7 @@ import com.hbm.entity.missile.EntityMissileTier3.*; import com.hbm.entity.missile.EntityMissileTier4.*; import com.hbm.entity.mob.*; import com.hbm.entity.mob.botprime.*; +import com.hbm.entity.mob.glyphid.*; import com.hbm.entity.mob.siege.*; import com.hbm.entity.particle.*; import com.hbm.entity.projectile.*; @@ -89,6 +97,7 @@ import com.hbm.render.entity.mob.*; import com.hbm.render.entity.projectile.*; import com.hbm.render.entity.rocket.*; import com.hbm.render.item.*; +import com.hbm.render.item.ItemRenderMissileGeneric.RenderMissileType; import com.hbm.render.item.block.*; import com.hbm.render.item.weapon.*; import com.hbm.render.loader.HmfModelLoader; @@ -101,7 +110,6 @@ import com.hbm.render.util.RenderOverhead; import com.hbm.render.util.RenderOverhead.Marker; import com.hbm.sound.AudioWrapper; import com.hbm.sound.AudioWrapperClient; -import com.hbm.sound.AudioWrapperClientStartStop; import com.hbm.tileentity.TileEntityDoorGeneric; import com.hbm.tileentity.bomb.*; import com.hbm.tileentity.conductor.*; @@ -113,6 +121,7 @@ import com.hbm.tileentity.machine.storage.*; import com.hbm.tileentity.network.*; import com.hbm.tileentity.turret.*; import com.hbm.util.BobMathUtil; +import com.hbm.util.ColorUtil; import com.hbm.util.fauxpointtwelve.BlockPos; import com.hbm.wiaj.cannery.Jars; @@ -134,7 +143,6 @@ public class ClientProxy extends ServerProxy { registerClientEventHandler(theInfoSystem); AdvancedModelLoader.registerModelHandler(new HmfModelLoader()); - ResourceManager.loadAnimatedModels(); registerTileEntitySpecialRenderer(); registerItemRenderer(); @@ -142,29 +150,34 @@ public class ClientProxy extends ServerProxy { registerBlockRenderer(); Jars.initJars(); - - //SoundUtil.addSoundCategory("ntmMachines"); + + if(GeneralConfig.enableSoundExtension) { + SoundSystemConfig.setNumberNormalChannels(1000); + SoundSystemConfig.setNumberStreamingChannels(50); + } } private void registerClientEventHandler(Object handler) { MinecraftForge.EVENT_BUS.register(handler); FMLCommonHandler.instance().bus().register(handler); } - + + @Override + public void handleNHNEICompat(){ + IMCHandlerNHNEI.IMCSender(); + } + @Override public void registerTileEntitySpecialRenderer() { //test crap - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTestRender.class, new RenderTestRender()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTestBombAdvanced.class, new RenderTestBombAdvanced()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityObjTester.class, new RendererObjTester()); - //deco + //deco ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoPoleSatelliteReceiver.class, new RenderPoleSatelliteReceiver()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoBlock.class, new RenderDecoBlock()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBroadcaster.class, new RenderDecoBlock()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityGeiger.class, new RenderDecoBlock()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRadioRec.class, new RenderDecoBlock()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRadiobox.class, new RenderDecoBlock()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBomber.class, new RenderDecoBlock()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineSatDock.class, new RenderDecoBlock()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoBlockAlt.class, new RenderDecoBlockAlt()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoBlockAltG.class, new RenderDecoBlockAlt()); @@ -172,6 +185,7 @@ public class ClientProxy extends ServerProxy { ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDecoBlockAltF.class, new RenderDecoBlockAlt()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDemonLamp.class, new RenderDemonLamp()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLoot.class, new RenderLoot()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPedestal.class, new RenderPedestalTile()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBobble.class, new RenderBobble()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySnowglobe.class, new RenderSnowglobe()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityEmitter.class, new RenderEmitter()); @@ -184,7 +198,6 @@ public class ClientProxy extends ServerProxy { ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeSolinium.class, new RenderNukeSolinium()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeN2.class, new RenderNukeN2()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeMan.class, new RenderNukeMan()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeN45.class, new RenderNukeN45()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeBalefire.class, new RenderNukeFstbmb()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBombMulti.class, new RenderBombMulti()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityNukeMike.class, new RenderNukeMike()); @@ -207,6 +220,7 @@ public class ClientProxy extends ServerProxy { ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretArty.class, new RenderTurretArty()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretHIMARS.class, new RenderTurretHIMARS()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretSentry.class, new RenderTurretSentry()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTurretSentryDamaged.class, new RenderTurretSentry()); //mines ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLandmine.class, new RenderLandmine()); //machines @@ -223,7 +237,6 @@ public class ClientProxy extends ServerProxy { ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineGasFlare.class, new RenderGasFlare()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityChimneyBrick.class, new RenderChimneyBrick()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityChimneyIndustrial.class, new RenderChimneyIndustrial()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineMiningDrill.class, new RenderMiningDrill()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineMiningLaser.class, new RenderLaserMiner()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineAssembler.class, new RenderAssembler()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineAssemfac.class, new RenderAssemfac()); @@ -243,10 +256,9 @@ public class ClientProxy extends ServerProxy { ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineEPress.class, new RenderEPress()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRadGen.class, new RenderRadGen()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRadarNT.class, new RenderRadar()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRadarLarge.class, new RenderRadarLarge()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRadarScreen.class, new RenderRadarScreen()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineSeleniumEngine.class, new RenderSelenium()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityReactorResearch.class, new RenderSmallReactor()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineShredderLarge.class, new RenderMachineShredder()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTesla.class, new RenderTesla()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBarrel.class, new RenderFluidBarrel()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineCrystallizer.class, new RenderCrystallizer()); @@ -269,6 +281,7 @@ public class ClientProxy extends ServerProxy { ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineLiquefactor.class, new RenderLiquefactor()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineSolidifier.class, new RenderSolidifier()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineCompressor.class, new RenderCompressor()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineDrain.class, new RenderDrain()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRadiolysis.class, new RenderRadiolysis()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityElectrolyser.class, new RenderElectrolyser()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFurnaceIron.class, new RenderFurnaceIron()); @@ -294,6 +307,7 @@ public class ClientProxy extends ServerProxy { ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineAutosaw.class, new RenderAutosaw()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineVacuumDistill.class, new RenderVacuumDistill()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineCatalyticReformer.class, new RenderCatalyticReformer()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineHydrotreater.class, new RenderHydrotreater()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineCoker.class, new RenderCoker()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFan.class, new RenderFan()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPistonInserter.class, new RenderPistonInserter()); @@ -306,10 +320,7 @@ public class ClientProxy extends ServerProxy { //Foundry ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFoundryBasin.class, new RenderFoundry()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFoundryMold.class, new RenderFoundry()); - //AMS - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityAMSBase.class, new RenderAMSBase()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityAMSEmitter.class, new RenderAMSEmitter()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityAMSLimiter.class, new RenderAMSLimiter()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineStrandCaster.class, new RenderStrandCaster()); //ZIRNOX ClientRegistry.bindTileEntitySpecialRenderer(TileEntityReactorZirnox.class, new RenderZirnox()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityZirnoxDestroyed.class, new RenderZirnoxDestroyed()); @@ -320,7 +331,9 @@ public class ClientProxy extends ServerProxy { ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCoreStabilizer.class, new RenderCoreComponent()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCore.class, new RenderCore()); //missile blocks - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLaunchPad.class, new RenderLaunchPadTier1()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLaunchPad.class, new RenderLaunchPad()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLaunchPadRusted.class, new RenderLaunchPadRusted()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLaunchPadLarge.class, new RenderLaunchPadLarge()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineMissileAssembly.class, new RenderMissileAssembly()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCompactLauncher.class, new RenderCompactLauncher()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLaunchTable.class, new RenderLaunchTable()); @@ -328,9 +341,9 @@ public class ClientProxy extends ServerProxy { ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySoyuzCapsule.class, new RenderCapsule()); //network ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFluidDuct.class, new RenderFluidDuct()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRFDuct.class, new RenderRFCable()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPylon.class, new RenderPylon()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityConnector.class, new RenderConnector()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPylonMedium.class, new RenderPylonMedium()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPylonLarge.class, new RenderPylonLarge()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySubstation.class, new RenderSubstation()); //chargers @@ -338,7 +351,6 @@ public class ClientProxy extends ServerProxy { //DecoContainer ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFileCabinet.class, new RenderFileCabinet()); //multiblocks - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityStructureMarker.class, new RenderStructureMaker()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMultiblock.class, new RenderMultiblock()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySoyuzStruct.class, new RenderSoyuzMultiblock()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityITERStruct.class, new RenderITERMultiblock()); @@ -364,6 +376,8 @@ public class ClientProxy extends ServerProxy { //ITER ClientRegistry.bindTileEntitySpecialRenderer(TileEntityITER.class, new RenderITER()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachinePlasmaHeater.class, new RenderPlasmaHeater()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityICF.class, new RenderICF()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityICFController.class, new RenderICFController()); //Watz ClientRegistry.bindTileEntitySpecialRenderer(TileEntityWatz.class, new RenderWatz()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityWatzPump.class, new RenderWatzPump()); @@ -414,14 +428,51 @@ public class ClientProxy extends ServerProxy { MinecraftForgeClient.registerItemRenderer(ModItems.schrabidium_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir)); MinecraftForgeClient.registerItemRenderer(ModItems.cmb_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir)); MinecraftForgeClient.registerItemRenderer(ModItems.dnt_sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir)); + + double[] sfp_default = new double[] {1, 1, 1}; + double[] tfp_default = new double[] {0, 0, 0}; + double[] sir_default = new double[] {1, 1, 1}; - /*for(ItemSwordMeteorite sword : ItemSwordMeteorite.swords) { - MinecraftForgeClient.registerItemRenderer(sword, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp, sfp, rir, tir, sir)); - }*/ + MinecraftForgeClient.registerItemRenderer(ModItems.bismuth_pickaxe, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp_default, sfp_default, rir, tir, sir_default)); + MinecraftForgeClient.registerItemRenderer(ModItems.bismuth_axe, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp_default, sfp_default, rir, tir, sir_default)); + MinecraftForgeClient.registerItemRenderer(ModItems.volcanic_pickaxe, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp_default, sfp_default, rir, tir, sir_default)); + MinecraftForgeClient.registerItemRenderer(ModItems.volcanic_axe, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp_default, sfp_default, rir, tir, sir_default)); + MinecraftForgeClient.registerItemRenderer(ModItems.chlorophyte_pickaxe, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp_default, sfp_default, rir, tir, sir_default)); + MinecraftForgeClient.registerItemRenderer(ModItems.chlorophyte_axe, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp_default, sfp_default, rir, tir, sir_default)); + MinecraftForgeClient.registerItemRenderer(ModItems.mese_pickaxe, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp_default, sfp_default, rir, tir, sir_default)); + MinecraftForgeClient.registerItemRenderer(ModItems.mese_axe, new ItemRenderTransformer(rtp, ttp_high, stp, rfp, tfp_default, sfp_default, rir, tir, sir_default)); + ItemRenderMissileGeneric.init(); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_test, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER0)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_taint, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER0)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_micro, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER0)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_bhole, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER0)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_schrabidium, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER0)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_emp, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER0)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_stealth, new ItemRenderMissileGeneric(RenderMissileType.TYPE_STEALTH)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_generic, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER1)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_incendiary, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER1)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_cluster, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER1)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_buster, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER1)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_decoy, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER1)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_anti_ballistic, new ItemRenderMissileGeneric(RenderMissileType.TYPE_ABM)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_strong, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER2)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_incendiary_strong, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER2)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_cluster_strong, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER2)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_buster_strong, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER2)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_emp_strong, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER2)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_burst, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER3)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_inferno, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER3)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_rain, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER3)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_drill, new ItemRenderMissileGeneric(RenderMissileType.TYPE_TIER3)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_nuclear, new ItemRenderMissileGeneric(RenderMissileType.TYPE_NUCLEAR)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_nuclear_cluster, new ItemRenderMissileGeneric(RenderMissileType.TYPE_NUCLEAR)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_volcano, new ItemRenderMissileGeneric(RenderMissileType.TYPE_NUCLEAR)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_doomsday, new ItemRenderMissileGeneric(RenderMissileType.TYPE_NUCLEAR)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_doomsday_rusted, new ItemRenderMissileGeneric(RenderMissileType.TYPE_NUCLEAR)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_carrier, new ItemRenderMissileGeneric(RenderMissileType.TYPE_CARRIER)); + MinecraftForgeClient.registerItemRenderer(ModItems.missile_shuttle, new ItemRenderMissileGeneric(RenderMissileType.TYPE_ROBIN)); - //test crap - MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ModBlocks.test_bomb_advanced), new ItemRenderTestBombAdvanced()); //templates MinecraftForgeClient.registerItemRenderer(ModItems.assembly_template, new ItemRenderTemplate()); MinecraftForgeClient.registerItemRenderer(ModItems.chemistry_template, new ItemRenderTemplate()); @@ -493,7 +544,6 @@ public class ClientProxy extends ServerProxy { MinecraftForgeClient.registerItemRenderer(ModItems.gun_defabricator, new ItemRenderOverkill()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_dash, new ItemRenderOverkill()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_twigun, new ItemRenderOverkill()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_dampfmaschine, new ItemRenderBullshit()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_lever_action, new ItemRenderWeaponFFMaresLeg(ResourceManager.ff_gun_bright, ResourceManager.ff_wood)); MinecraftForgeClient.registerItemRenderer(ModItems.gun_bolt_action, new ItemRenderWeaponFFBolt(ResourceManager.rem700, ResourceManager.rem700_tex)); MinecraftForgeClient.registerItemRenderer(ModItems.gun_lever_action_dark, new ItemRenderWeaponFFMaresLeg(ResourceManager.ff_gun_normal, ResourceManager.ff_wood_red)); @@ -509,14 +559,13 @@ public class ClientProxy extends ServerProxy { MinecraftForgeClient.registerItemRenderer(ModItems.gun_uzi_saturnite_silencer, new ItemRenderUZI()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_calamity, new ItemRenderWeaponFFMG42()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_minigun, new ItemRenderOverkill()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_avenger, new ItemRenderOverkill()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_lacunae, new ItemRenderOverkill()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_folly, new ItemRenderOverkill()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_hk69, new ItemRenderWeaponObj()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_bio_revolver, new ItemRenderBioRevolver()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_deagle, new ItemRenderWeaponObj()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_supershotgun, new ItemRenderWeaponShotty()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_ks23, new ItemRenderWeaponObj()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_ks23, new ItemRenderWeaponKS23()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_flamer, new ItemRenderWeaponObj()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_flechette, new ItemRenderWeaponObj()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_quadro, new ItemRenderWeaponQuadro()); @@ -527,7 +576,6 @@ public class ClientProxy extends ServerProxy { MinecraftForgeClient.registerItemRenderer(ModItems.gun_bolter_digamma, new ItemRenderWeaponBolter()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_fireext, new ItemRenderFireExt()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_ar15, new ItemRenderWeaponAR15()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_detonator, new ItemRenderDetonatorLaser()); MinecraftForgeClient.registerItemRenderer(ModItems.detonator_laser, new ItemRenderDetonatorLaser()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_remington, new ItemRenderWeaponRemington()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_spas12, new ItemRenderWeaponSpas12()); @@ -535,7 +583,7 @@ public class ClientProxy extends ServerProxy { MinecraftForgeClient.registerItemRenderer(ModItems.gun_chemthrower, new ItemRenderWeaponChemthrower()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_m2, new ItemRenderM2()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver_nopip, new ItemRenderWeaponNovac()); - MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver_pip, new ItemRenderWeaponNovac()); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver_pip, new ItemRenderWeaponLilMac()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver_blackjack, new ItemRenderWeaponNovac()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver_silver, new ItemRenderWeaponNovac()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_revolver_red, new ItemRenderWeaponNovac()); @@ -581,9 +629,7 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerEntityRenderingHandler(EntitySiegeLaser.class, new RenderSiegeLaser()); RenderingRegistry.registerEntityRenderingHandler(EntityLN2.class, new RenderLN2(ModItems.energy_ball)); RenderingRegistry.registerEntityRenderingHandler(EntityLaser.class, new RenderLaser()); - RenderingRegistry.registerEntityRenderingHandler(EntityBombletTheta.class, new RenderBombletTheta()); RenderingRegistry.registerEntityRenderingHandler(EntityBombletZeta.class, new RenderBombletTheta()); - RenderingRegistry.registerEntityRenderingHandler(EntityBombletSelena.class, new RenderBombletSelena()); RenderingRegistry.registerEntityRenderingHandler(EntityMeteor.class, new RenderMeteor()); RenderingRegistry.registerEntityRenderingHandler(EntityBoxcar.class, new RenderBoxcar()); RenderingRegistry.registerEntityRenderingHandler(EntityDuchessGambit.class, new RenderBoxcar()); @@ -593,7 +639,6 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerEntityRenderingHandler(EntityFallingNuke.class, new RenderFallingNuke()); RenderingRegistry.registerEntityRenderingHandler(EntityMinerRocket.class, new RenderMinerRocket()); RenderingRegistry.registerEntityRenderingHandler(EntityBobmazon.class, new RenderMinerRocket()); - RenderingRegistry.registerEntityRenderingHandler(EntitySiegeDropship.class, new RenderMinerRocket()); RenderingRegistry.registerEntityRenderingHandler(EntityTom.class, new RenderTom()); RenderingRegistry.registerEntityRenderingHandler(EntityAAShell.class, new RenderMirv()); RenderingRegistry.registerEntityRenderingHandler(EntityRocketHoming.class, new RenderSRocket()); @@ -613,6 +658,7 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerEntityRenderingHandler(EntitySawblade.class, new RenderSawblade()); RenderingRegistry.registerEntityRenderingHandler(EntityChemical.class, new RenderChemical()); RenderingRegistry.registerEntityRenderingHandler(EntityMist.class, new RenderMist()); + RenderingRegistry.registerEntityRenderingHandler(EntityWaypoint.class, new RenderMist()); RenderingRegistry.registerEntityRenderingHandler(EntityAcidBomb.class, new RenderSnowball(Items.slime_ball)); //grenades RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeGeneric.class, new RenderSnowball(ModItems.grenade_generic)); @@ -660,11 +706,12 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeDynamite.class, new RenderSnowball(ModItems.stick_dynamite)); RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeBouncyGeneric.class, new RenderGenericGrenade()); RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeImpactGeneric.class, new RenderGenericGrenade()); + RenderingRegistry.registerEntityRenderingHandler(EntityDisperserCanister.class, new RenderGenericGrenade()); //missiles - RenderingRegistry.registerEntityRenderingHandler(EntityTestMissile.class, new RenderTestMissile()); RenderingRegistry.registerEntityRenderingHandler(EntityMissileCustom.class, new RenderMissileCustom()); RenderingRegistry.registerEntityRenderingHandler(EntityMissileGeneric.class, new RenderMissileGeneric()); RenderingRegistry.registerEntityRenderingHandler(EntityMissileDecoy.class, new RenderMissileGeneric()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileStealth.class, new RenderMissileGeneric()); RenderingRegistry.registerEntityRenderingHandler(EntityMissileAntiBallistic.class, new RenderMissileGeneric()); RenderingRegistry.registerEntityRenderingHandler(EntityMissileIncendiary.class, new RenderMissileGeneric()); RenderingRegistry.registerEntityRenderingHandler(EntityMissileCluster.class, new RenderMissileGeneric()); @@ -679,10 +726,11 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerEntityRenderingHandler(EntityMissileRain.class, new RenderMissileHuge()); RenderingRegistry.registerEntityRenderingHandler(EntityMissileDrill.class, new RenderMissileHuge()); RenderingRegistry.registerEntityRenderingHandler(EntityMissileNuclear.class, new RenderMissileNuclear()); - RenderingRegistry.registerEntityRenderingHandler(EntityMissileMirv.class, new RenderMissileMirv()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileMirv.class, new RenderMissileNuclear()); RenderingRegistry.registerEntityRenderingHandler(EntityMissileVolcano.class, new RenderMissileNuclear()); RenderingRegistry.registerEntityRenderingHandler(EntityMIRV.class, new RenderMirv()); - RenderingRegistry.registerEntityRenderingHandler(EntityMissileDoomsday.class, new RenderMissileDoomsday()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileDoomsday.class, new RenderMissileNuclear()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileDoomsdayRusted.class, new RenderMissileNuclear()); RenderingRegistry.registerEntityRenderingHandler(EntityCarrier.class, new RenderCarrierMissile()); RenderingRegistry.registerEntityRenderingHandler(EntityBooster.class, new RenderBoosterMissile()); RenderingRegistry.registerEntityRenderingHandler(EntitySoyuz.class, new RenderSoyuz()); @@ -692,12 +740,9 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerEntityRenderingHandler(EntityMissileBHole.class, new RenderMissileTaint()); RenderingRegistry.registerEntityRenderingHandler(EntityMissileSchrabidium.class, new RenderMissileTaint()); RenderingRegistry.registerEntityRenderingHandler(EntityMissileEMP.class, new RenderMissileTaint()); - RenderingRegistry.registerEntityRenderingHandler(EntityMissileEndo.class, new RenderMissileThermo()); - RenderingRegistry.registerEntityRenderingHandler(EntityMissileExo.class, new RenderMissileThermo()); RenderingRegistry.registerEntityRenderingHandler(EntityMissileShuttle.class, new RenderMissileShuttle()); + RenderingRegistry.registerEntityRenderingHandler(EntityMissileTest.class, new RenderMissileTaint()); //effects - RenderingRegistry.registerEntityRenderingHandler(EntityNukeCloudSmall.class, new RenderSmallNukeMK4()); - RenderingRegistry.registerEntityRenderingHandler(EntityNukeCloudBig.class, new RenderBigNuke()); RenderingRegistry.registerEntityRenderingHandler(EntityCloudFleija.class, new RenderCloudFleija()); RenderingRegistry.registerEntityRenderingHandler(EntityCloudFleijaRainbow.class, new RenderCloudRainbow()); RenderingRegistry.registerEntityRenderingHandler(EntityCloudSolinium.class, new RenderCloudSolinium()); @@ -762,6 +807,7 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerEntityRenderingHandler(EntityGlyphidBlaster.class, new RenderGlyphid()); RenderingRegistry.registerEntityRenderingHandler(EntityGlyphidScout.class, new RenderGlyphid()); RenderingRegistry.registerEntityRenderingHandler(EntityGlyphidNuclear.class, new RenderGlyphidNuclear()); + RenderingRegistry.registerEntityRenderingHandler(EntityParasiteMaggot.class, new RenderMaggot()); RenderingRegistry.registerEntityRenderingHandler(EntityFBIDrone.class, new RenderDrone()); RenderingRegistry.registerEntityRenderingHandler(EntityPlasticBag.class, new RenderPlasticBag()); RenderingRegistry.registerEntityRenderingHandler(EntityPigeon.class, new RenderPigeon(new ModelPigeon(), 0.3F)); @@ -778,7 +824,6 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerEntityRenderingHandler(EntityOilSpillFX.class, new SpillRenderer(ModItems.nuclear_waste)); RenderingRegistry.registerEntityRenderingHandler(EntityGasFX.class, new GasRenderer(ModItems.nuclear_waste)); RenderingRegistry.registerEntityRenderingHandler(EntityCombineBall.class, new RenderSnowball(ModItems.energy_ball)); - RenderingRegistry.registerEntityRenderingHandler(EntityDischarge.class, new ElectricityRenderer(ModItems.discharge)); RenderingRegistry.registerEntityRenderingHandler(EntityEMPBlast.class, new RenderEMPBlast()); RenderingRegistry.registerEntityRenderingHandler(EntityTSmokeFX.class, new TSmokeRenderer(ModItems.nuclear_waste)); } @@ -822,6 +867,10 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerBlockHandler(new RenderDiFurnaceExtension()); RenderingRegistry.registerBlockHandler(new RenderSplitter()); RenderingRegistry.registerBlockHandler(new RenderCapacitor()); + RenderingRegistry.registerBlockHandler(new RenderPedestal()); + RenderingRegistry.registerBlockHandler(new RenderLight()); + RenderingRegistry.registerBlockHandler(new RenderCRT()); + RenderingRegistry.registerBlockHandler(new RenderToaster()); RenderingRegistry.registerBlockHandler(new RenderFoundryBasin()); RenderingRegistry.registerBlockHandler(new RenderFoundryMold()); @@ -829,12 +878,7 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerBlockHandler(new RenderFoundryTank()); RenderingRegistry.registerBlockHandler(new RenderFoundryOutlet()); - RenderingRegistry.registerBlockHandler(new RenderNarrowStraightRail()); - RenderingRegistry.registerBlockHandler(new RenderNarrowCurveRail()); - RenderingRegistry.registerBlockHandler(new RenderStandardStraightRail()); - RenderingRegistry.registerBlockHandler(new RenderStandardCurveRail()); - RenderingRegistry.registerBlockHandler(new RenderStandardRampRail()); - RenderingRegistry.registerBlockHandler(new RenderStandardBufferRail()); + RenderingRegistry.registerBlockHandler(new RenderRail()); RenderingRegistry.registerBlockHandler(new RenderBlockRotated(ModBlocks.charge_dynamite.getRenderType(), ResourceManager.charge_dynamite)); RenderingRegistry.registerBlockHandler(new RenderBlockRotated(ModBlocks.charge_c4.getRenderType(), ResourceManager.charge_c4)); @@ -914,7 +958,7 @@ public class ClientProxy extends ServerProxy { Minecraft.getMinecraft().effectRenderer.addEffect(contrail); } if("exKerosene".equals(type)) { - ParticleContrail contrail = new ParticleContrail(man, world, x, y, z); + ParticleContrail contrail = new ParticleContrail(man, world, x, y, z, 0F, 0F, 0F, 1F); Minecraft.getMinecraft().effectRenderer.addEffect(contrail); } if("exSolid".equals(type)) { @@ -952,6 +996,29 @@ public class ClientProxy extends ServerProxy { double y = data.getDouble("posY"); double z = data.getDouble("posZ"); + if("missileContrail".equals(type)) { + + if(Vec3.createVectorHelper(player.posX - x, player.posY - y, player.posZ - z).lengthVector() > 350) return; + + float scale = data.hasKey("scale") ? data.getFloat("scale") : 1F; + double mX = data.getDouble("moX"); + double mY = data.getDouble("moY"); + double mZ = data.getDouble("moZ"); + + /*ParticleContrail contrail = new ParticleContrail(man, world, x, y, z, 0, 0, 0, scale); + contrail.motionX = mX; + contrail.motionY = mY; + contrail.motionZ = mZ; + Minecraft.getMinecraft().effectRenderer.addEffect(contrail);*/ + + ParticleRocketFlame fx = new ParticleRocketFlame(man, world, x, y, z).setScale(scale); + fx.motionX = mX; + fx.motionY = mY; + fx.motionZ = mZ; + if(data.hasKey("maxAge")) fx.setMaxAge(data.getInteger("maxAge")); + Minecraft.getMinecraft().effectRenderer.addEffect(fx); + } + if("smoke".equals(type)) { String mode = data.getString("mode"); @@ -1689,6 +1756,9 @@ public class ClientProxy extends ServerProxy { fx.setBaseScale(data.getFloat("base")); fx.setMaxScale(data.getFloat("max")); fx.setLife(data.getInteger("life") / (particleSetting + 1)); + if(data.hasKey("noWind")) fx.noWind(); + if(data.hasKey("strafe")) fx.setStrafe(data.getFloat("strafe")); + if(data.hasKey("alpha")) fx.alphaMod(data.getFloat("alpha")); if(data.hasKey("color")) { Color color = new Color(data.getInteger("color")); @@ -1699,6 +1769,20 @@ public class ClientProxy extends ServerProxy { } } + if("splash".equals(type)) { + if(particleSetting == 0 || (particleSetting == 1 && rand.nextBoolean())) { + ParticleSplash fx = new ParticleSplash(man, world, x, y, z); + + if(data.hasKey("color")) { + Color color = new Color(data.getInteger("color")); + float f = 1F - rand.nextFloat() * 0.2F; + fx.setRBGColorF(color.getRed() / 255F * f, color.getGreen() / 255F * f, color.getBlue() / 255F * f); + } + + Minecraft.getMinecraft().effectRenderer.addEffect(fx); + } + } + if("deadleaf".equals(type)) { if(particleSetting == 0 || (particleSetting == 1 && rand.nextBoolean())) Minecraft.getMinecraft().effectRenderer.addEffect(new ParticleDeadLeaf(man, world, x, y, z)); @@ -1713,9 +1797,9 @@ public class ClientProxy extends ServerProxy { BusAnimation animation = new BusAnimation() .addBus("GUARD_ROT", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(90, 0, 1, 0)) - .addKeyframe(new BusAnimationKeyframe(90, 0, 1, 800)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 1, 50))); + .addKeyframePosition(90, 0, 1, 0) + .addKeyframePosition(90, 0, 1, 800) + .addKeyframePosition(0, 0, 1, 50)); HbmAnimations.hotbar[player.inventory.currentItem] = new Animation(player.getHeldItem().getItem().getUnlocalizedName(), System.currentTimeMillis(), animation); } @@ -1729,13 +1813,13 @@ public class ClientProxy extends ServerProxy { BusAnimation animation = new BusAnimation() .addBus("SWING_ROT", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(90 - offset, 90 - offset, 35, 75)) - .addKeyframe(new BusAnimationKeyframe(90 + offset, 90 - offset, -45, 150)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 500))) + .addKeyframePosition(90 - offset, 90 - offset, 35, 75) + .addKeyframePosition(90 + offset, 90 - offset, -45, 150) + .addKeyframePosition(0, 0, 0, 500)) .addBus("SWING_TRANS", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(-3, 0, 0, 75)) - .addKeyframe(new BusAnimationKeyframe(8, 0, 0, 150)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 500))); + .addKeyframePosition(-3, 0, 0, 75) + .addKeyframePosition(8, 0, 0, 150) + .addKeyframePosition(0, 0, 0, 500)); Minecraft.getMinecraft().getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("hbm:weapon.cSwing"), 0.8F + player.getRNG().nextFloat() * 0.2F)); @@ -1754,13 +1838,13 @@ public class ClientProxy extends ServerProxy { BusAnimation animation = new BusAnimation() .addBus("SWING_ROT", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 90, forward)) - .addKeyframe(new BusAnimationKeyframe(45, 0, 90, sideways)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, retire))) + .addKeyframePosition(0, 0, 90, forward) + .addKeyframePosition(45, 0, 90, sideways) + .addKeyframePosition(0, 0, 0, retire)) .addBus("SWING_TRANS", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 3, forward)) - .addKeyframe(new BusAnimationKeyframe(2, 0, 2, sideways)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, retire))); + .addKeyframePosition(0, 0, 3, forward) + .addKeyframePosition(2, 0, 2, sideways) + .addKeyframePosition(0, 0, 0, retire)); HbmAnimations.hotbar[player.inventory.currentItem] = new Animation(player.getHeldItem().getItem().getUnlocalizedName(), System.currentTimeMillis(), animation); @@ -1774,15 +1858,15 @@ public class ClientProxy extends ServerProxy { BusAnimation animation = new BusAnimation() .addBus("SWING_ROT", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(rot[0], rot[1], rot[2], 0)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 90, forward)) - .addKeyframe(new BusAnimationKeyframe(45, 0, 90, sideways)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, retire))) + .addKeyframePosition(rot[0], rot[1], rot[2], 0) + .addKeyframePosition(0, 0, 90, forward) + .addKeyframePosition(45, 0, 90, sideways) + .addKeyframePosition(0, 0, 0, retire)) .addBus("SWING_TRANS", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(trans[0], trans[1], trans[2], 0)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 3, forward)) - .addKeyframe(new BusAnimationKeyframe(2, 0, 2, sideways)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, retire))); + .addKeyframePosition(trans[0], trans[1], trans[2], 0) + .addKeyframePosition(0, 0, 3, forward) + .addKeyframePosition(2, 0, 2, sideways) + .addKeyframePosition(0, 0, 0, retire)); HbmAnimations.hotbar[player.inventory.currentItem] = new Animation(player.getHeldItem().getItem().getUnlocalizedName(), System.currentTimeMillis(), animation); } @@ -1981,14 +2065,6 @@ public class ClientProxy extends ServerProxy { audio.setKeepAlive(keepAlive); return audio; } - - /** Only used for doors */ - @Override - public AudioWrapper getLoopedSoundStartStop(World world, String sound, String start, String stop, float x, float y, float z, float volume, float pitch) { - AudioWrapperClientStartStop audio = new AudioWrapperClientStartStop(world, sound == null ? null : new ResourceLocation(sound), start, stop, volume * 5); - audio.updatePosition(x, y, z); - return audio; - } @Override public void playSound(String sound, Object data) { } @@ -2064,4 +2140,22 @@ public class ClientProxy extends ServerProxy { public void playSoundClient(double x, double y, double z, String sound, float volume, float pitch) { Minecraft.getMinecraft().getSoundHandler().playSound(new PositionedSoundRecord(new ResourceLocation(sound), volume, pitch, (float) x, (float) y, (float) z)); } + + @Override + public String getLanguageCode() { + Language lang = Minecraft.getMinecraft().getLanguageManager().getCurrentLanguage(); + return lang.getLanguageCode(); + } + + @Override + public int getStackColor(ItemStack stack, boolean amplify) { + if(stack == null) return 0x000000; + if(stack.getItem() instanceof ItemBlock) { + Block b = Block.getBlockFromItem(stack.getItem()); + return b.getMaterial().getMaterialMapColor().colorValue; + } + int color = ColorUtil.getAverageColorFromStack(stack); + if(amplify) color = ColorUtil.amplifyColor(color); + return color; + } } diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 9203ee542..20840711d 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -88,15 +88,15 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModItems.redstone_sword, 1), new Object[] { "R", "R", "S", 'R', REDSTONE.block(), 'S', KEY_STICK }); addRecipeAuto(new ItemStack(ModItems.big_sword, 1), new Object[] { "QIQ", "QIQ", "GSG", 'G', Items.gold_ingot, 'S', KEY_STICK, 'I', Items.iron_ingot, 'Q', Items.quartz}); - addRecipeAuto(new ItemStack(ModItems.board_copper, 1), new Object[] { "TTT", "TTT", 'T', CU.plate() }); - addRecipeAuto(Mats.MAT_IRON.make(ModItems.plate_cast), new Object[] { "BPB", "BPB", "BPB", 'B', ModItems.bolt_tungsten, 'P', IRON.plate() }); + addRecipeAuto(Mats.MAT_IRON.make(ModItems.plate_cast), new Object[] { "BPB", "BPB", "BPB", 'B', STEEL.bolt(), 'P', IRON.plate() }); addRecipeAuto(new ItemStack(ModItems.hazmat_cloth_red, 1), new Object[] { "C", "R", "C", 'C', ModItems.hazmat_cloth, 'R', REDSTONE.dust() }); addRecipeAuto(new ItemStack(ModItems.hazmat_cloth_grey, 1), new Object[] { " P ", "ICI", " L ", 'C', ModItems.hazmat_cloth_red, 'P', IRON.plate(), 'L', PB.plate(), 'I', ANY_RUBBER.ingot() }); addRecipeAuto(new ItemStack(ModItems.asbestos_cloth, 8), new Object[] { "SCS", "CPC", "SCS", 'S', Items.string, 'P', BR.dust(), 'C', Blocks.wool }); - addRecipeAuto(new ItemStack(ModItems.bolt_dura_steel, 4), new Object[] { "D", "D", 'D', DURA.ingot()}); + addRecipeAuto(Mats.MAT_TUNGSTEN.make(ModItems.bolt, 16), new Object[] { "D", "D", 'D', W.ingot()}); + addRecipeAuto(Mats.MAT_STEEL.make(ModItems.bolt, 16), new Object[] { "D", "D", 'D', STEEL.ingot()}); + addRecipeAuto(Mats.MAT_DURA.make(ModItems.bolt, 16), new Object[] { "D", "D", 'D', DURA.ingot()}); + addRecipeAuto(new ItemStack(ModItems.bolt_spike, 2), new Object[] { "BB", "B ", "B ", 'B', STEEL.bolt()}); addRecipeAuto(new ItemStack(ModItems.pipes_steel, 1), new Object[] { "B", "B", "B", 'B', STEEL.block() }); - addRecipeAuto(new ItemStack(ModItems.bolt_tungsten, 4), new Object[] { "D", "D", 'D', W.ingot() }); - addRecipeAuto(new ItemStack(ModItems.bolt_compound, 1), new Object[] { "PDP", "PTP", "PDP", 'D', ModItems.bolt_dura_steel, 'T', ModItems.bolt_tungsten, 'P', TI.plate() }); addRecipeAuto(new ItemStack(ModItems.pellet_coal, 1), new Object[] { "PFP", "FOF", "PFP", 'P', COAL.dust(), 'F', Items.flint, 'O', ModBlocks.gravel_obsidian }); addRecipeAuto(new ItemStack(ModItems.plate_polymer, 8), new Object[] { "DD", 'D', ANY_PLASTIC.ingot() }); addRecipeAuto(new ItemStack(ModItems.plate_polymer, 8), new Object[] { "DD", 'D', ANY_RUBBER.ingot() }); @@ -106,8 +106,6 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModItems.plate_polymer, 4), new Object[] { "BB", 'B', "ingotBrick" }); addRecipeAuto(new ItemStack(ModItems.plate_polymer, 4), new Object[] { "BB", 'B', "ingotNetherBrick" }); - addRecipeAuto(new ItemStack(ModBlocks.marker_structure, 1), new Object[] { "L", "G", "R", 'L', LAPIS.dust(), 'G', Items.glowstone_dust, 'R', Blocks.redstone_torch }); - addRecipeAuto(new ItemStack(ModItems.circuit_raw, 1), new Object[] { "A", "R", "S", 'S', STEEL.plate(), 'R', REDSTONE.dust(), 'A', ModItems.wire_aluminium }); addRecipeAuto(new ItemStack(ModItems.circuit_bismuth_raw, 1), new Object[] { "RPR", "ABA", "RPR", 'R', REDSTONE.dust(), 'P', ANY_PLASTIC.ingot(), 'A', (GeneralConfig.enable528 ? ModItems.circuit_tantalium : ASBESTOS.ingot()), 'B', ModItems.ingot_bismuth }); addRecipeAuto(new ItemStack(ModItems.circuit_tantalium_raw, 1), new Object[] { "RWR", "PTP", "RWR", 'R', REDSTONE.dust(), 'W', ModItems.wire_gold, 'P', CU.plate(), 'T', TA.nugget() }); @@ -201,11 +199,6 @@ public class CraftingManager { //addRecipeAuto(new ItemStack(ModItems.levitation_unit, 1), new Object[] { "CSC", "TAT", "PSP", 'C', ModItems.coil_copper, 'S', ModItems.nugget_schrabidium, 'T', ModItems.coil_tungsten, 'P', TI.plate(), 'A', STEEL.ingot() }); addRecipeAuto(new ItemStack(ModItems.deuterium_filter, 1), new Object[] { "TST", "SCS", "TST", 'T', ANY_RESISTANTALLOY.ingot(), 'S', S.dust(), 'C', ModItems.catalyst_clay }); - addRecipeAuto(new ItemStack(ModItems.hull_small_steel, 3), new Object[] { "PPP", " ", "PPP", 'P', STEEL.plate(), 'I', STEEL.ingot() }); - addRecipeAuto(new ItemStack(ModItems.hull_small_aluminium, 3), new Object[] { "PPP", " ", "PPP", 'P', AL.plate(), 'I', AL.ingot() }); - addRecipeAuto(new ItemStack(ModItems.hull_big_steel, 1), new Object[] { "III", " ", "III", 'P', STEEL.plate(), 'I', STEEL.ingot() }); - addRecipeAuto(new ItemStack(ModItems.hull_big_aluminium, 1), new Object[] { "III", " ", "III", 'P', AL.plate(), 'I', AL.ingot() }); - addRecipeAuto(new ItemStack(ModItems.hull_big_titanium, 1), new Object[] { "III", " ", "III", 'P', TI.plate(), 'I', TI.ingot() }); addRecipeAuto(new ItemStack(ModItems.fins_flat, 1), new Object[] { "IP", "PP", "IP", 'P', STEEL.plate(), 'I', STEEL.ingot() }); addRecipeAuto(new ItemStack(ModItems.fins_small_steel, 1), new Object[] { " PP", "PII", " PP", 'P', STEEL.plate(), 'I', STEEL.ingot() }); addRecipeAuto(new ItemStack(ModItems.fins_big_steel, 1), new Object[] { " PI", "III", " PI", 'P', STEEL.plate(), 'I', STEEL.ingot() }); @@ -216,17 +209,16 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModItems.lemon, 1), new Object[] { " D ", "DSD", " D ", 'D', KEY_YELLOW, 'S', "stone" }); addRecipeAuto(new ItemStack(ModItems.blade_titanium, 2), new Object[] { "TP", "TP", "TT", 'P', TI.plate(), 'T', TI.ingot() }); addRecipeAuto(new ItemStack(ModItems.turbine_titanium, 1), new Object[] { "BBB", "BSB", "BBB", 'B', ModItems.blade_titanium, 'S', STEEL.ingot() }); - addRecipeAuto(new ItemStack(ModItems.rotor_steel, 3), new Object[] { "CCC", "SSS", "CCC", 'C', ModItems.coil_gold, 'S', STEEL.ingot() }); - addRecipeAuto(new ItemStack(ModItems.generator_steel, 1), new Object[] { "RRR", "CCC", "SSS", 'C', ModItems.coil_gold_torus, 'S', STEEL.ingot(), 'R', ModItems.rotor_steel }); addRecipeAuto(new ItemStack(ModItems.shimmer_head, 1), new Object[] { "SSS", "DTD", "SSS", 'S', STEEL.ingot(), 'D', DESH.block(), 'T', W.block() }); addRecipeAuto(new ItemStack(ModItems.shimmer_axe_head, 1), new Object[] { "PII", "PBB", "PII", 'P', STEEL.plate(), 'B', DESH.block(), 'I', W.ingot() }); addRecipeAuto(new ItemStack(ModItems.shimmer_handle, 1), new Object[] { "GP", "GP", "GP", 'G', GOLD.plate(), 'P', ANY_PLASTIC.ingot() }); addRecipeAuto(new ItemStack(ModItems.shimmer_sledge, 1), new Object[] { "H", "G", "G", 'G', ModItems.shimmer_handle, 'H', ModItems.shimmer_head }); addRecipeAuto(new ItemStack(ModItems.shimmer_axe, 1), new Object[] { "H", "G", "G", 'G', ModItems.shimmer_handle, 'H', ModItems.shimmer_axe_head }); - addRecipeAuto(new ItemStack(ModItems.definitelyfood, 1), new Object[] { "DDD", "SDS", "DDD", 'D', Blocks.dirt, 'S', STEEL.plate() }); + addShapelessAuto(new ItemStack(ModItems.definitelyfood, 4), new Object[] { ANY_RUBBER.ingot(), Items.wheat, Items.rotten_flesh, "treeSapling" }); + addShapelessAuto(new ItemStack(ModItems.definitelyfood, 4), new Object[] { ANY_RUBBER.ingot(), Items.wheat, Items.rotten_flesh, Items.wheat_seeds, Items.wheat_seeds, Items.wheat_seeds }); addRecipeAuto(new ItemStack(ModItems.turbine_tungsten, 1), new Object[] { "BBB", "BSB", "BBB", 'B', ModItems.blade_tungsten, 'S', DURA.ingot() }); addRecipeAuto(new ItemStack(ModItems.ring_starmetal, 1), new Object[] { " S ", "S S", " S ", 'S', STAR.ingot() }); - addRecipeAuto(new ItemStack(ModItems.flywheel_beryllium, 1), new Object[] { "IBI", "BTB", "IBI", 'B', BE.block(), 'I', IRON.plateCast(), 'T', ModItems.bolt_compound }); + addRecipeAuto(new ItemStack(ModItems.flywheel_beryllium, 1), new Object[] { "IBI", "BTB", "IBI", 'B', BE.block(), 'I', IRON.plateCast(), 'T', DURA.pipe() }); addShapelessAuto(new ItemStack(ModItems.powder_poison), new Object[] { DictFrame.fromOne(ModBlocks.plant_flower, EnumFlowerType.NIGHTSHADE) }); addShapelessAuto(new ItemStack(ModItems.syringe_metal_stimpak), new Object[] { ModItems.syringe_metal_empty, Items.carrot, DictFrame.fromOne(ModBlocks.plant_flower, EnumFlowerType.FOXGLOVE) }); //xander root and broc flower @@ -248,14 +240,15 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModItems.wrench, 1), new Object[] { " S ", " IS", "I ", 'S', STEEL.ingot(), 'I', IRON.ingot() }); addRecipeAuto(new ItemStack(ModItems.wrench_flipped, 1), new Object[] { "S", "D", "W", 'S', Items.iron_sword, 'D', ModItems.ducttape, 'W', ModItems.wrench }); - addRecipeAuto(new ItemStack(ModItems.memespoon, 1), new Object[] { "CGC", "PSP", "IAI", 'C', ModItems.powder_cloud, 'G', TH232.block(), 'P', ModItems.photo_panel, 'S', ModItems.steel_shovel, 'I', ModItems.plate_polymer, 'A', "ingotAustralium" }); - addShapelessAuto(new ItemStack(ModItems.cbt_device, 1), new Object[] { ModItems.bolt_tungsten, ModItems.wrench }); + addRecipeAuto(new ItemStack(ModItems.memespoon, 1), new Object[] { "CGC", "PSP", "IAI", 'C', ModItems.powder_yellowcake, 'G', TH232.block(), 'P', ModItems.photo_panel, 'S', ModItems.steel_shovel, 'I', ModItems.plate_polymer, 'A', "ingotAustralium" }); + addShapelessAuto(new ItemStack(ModItems.cbt_device, 1), new Object[] { STEEL.bolt(), ModItems.wrench }); addShapelessAuto(new ItemStack(ModItems.toothpicks, 3), new Object[] { KEY_STICK, KEY_STICK, KEY_STICK }); addRecipeAuto(new ItemStack(ModItems.ducttape, 6), new Object[] { "FSF", "SPS", "FSF", 'F', Items.string, 'S', KEY_SLIME, 'P', Items.paper }); addRecipeAuto(new ItemStack(ModBlocks.radio_torch_sender, 4), new Object[] { "G", "R", "I", 'G', "dustGlowstone", 'R', Blocks.redstone_torch, 'I', NETHERQUARTZ.gem() }); addRecipeAuto(new ItemStack(ModBlocks.radio_torch_receiver, 4), new Object[] { "G", "R", "I", 'G', "dustGlowstone", 'R', Blocks.redstone_torch, 'I', IRON.ingot() }); + addRecipeAuto(new ItemStack(ModBlocks.radio_torch_logic, 4), new Object[] { "G", "R", "I", 'G', "dustGlowstone", 'R', Blocks.redstone_torch, 'I', ModItems.circuit_copper }); addRecipeAuto(new ItemStack(ModBlocks.radio_torch_counter, 4), new Object[] { "G", "R", "I", 'G', "dustGlowstone", 'R', Blocks.redstone_torch, 'I', ModItems.circuit_aluminium }); addRecipeAuto(new ItemStack(ModBlocks.radio_telex, 2), new Object[] { "SCR", "W#W", "WWW", 'S', ModBlocks.radio_torch_sender, 'C', ModItems.crt_display, 'R', ModBlocks.radio_torch_receiver, 'W', KEY_PLANKS, '#', ModItems.circuit_aluminium }); @@ -272,9 +265,9 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.machine_difurnace_extension, 1), new Object[] { " C ", "BGB", "BGB", 'C', CU.plate(), 'B', ModItems.ingot_firebrick, 'G', ModBlocks.steel_grate }); addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_uf6_tank), 1), new Object[] { "WTW", "WTW", "SRS", 'S', IRON.plate(), 'W', ModItems.coil_tungsten, 'T', ModItems.tank_steel, 'W', ModItems.coil_tungsten,'R', MINGRADE.ingot() }); addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_puf6_tank), 1), new Object[] { "WTW", "WTW", "SRS", 'S', STEEL.plate(), 'W', ModItems.coil_tungsten, 'T', ModItems.tank_steel, 'W', ModItems.coil_tungsten,'R', MINGRADE.ingot() }); - addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_nuke_furnace_off), 1), new Object[] { "SSS", "LFL", "CCC", 'S', STEEL.plate(), 'C', ModItems.board_copper, 'L', PB.plate(), 'F', Item.getItemFromBlock(Blocks.furnace) }); - addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_electric_furnace_off), 1), new Object[] { "BBB", "WFW", "RRR", 'B', BE.ingot(), 'R', ModItems.coil_tungsten, 'W', ModItems.board_copper, 'F', Item.getItemFromBlock(Blocks.furnace) }); - addRecipeAuto(new ItemStack(ModBlocks.machine_arc_furnace_off, 1), new Object[] { "ITI", "PFP", "ITI", 'I', W.ingot(), 'T', ModBlocks.machine_transformer, 'P', ModItems.board_copper, 'F', Blocks.furnace }); + addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_nuke_furnace_off), 1), new Object[] { "SSS", "LFL", "CCC", 'S', STEEL.plate(), 'C', CU.plateCast(), 'L', PB.plate(), 'F', Item.getItemFromBlock(Blocks.furnace) }); + addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.machine_electric_furnace_off), 1), new Object[] { "BBB", "WFW", "RRR", 'B', BE.ingot(), 'R', ModItems.coil_tungsten, 'W', CU.plateCast(), 'F', Item.getItemFromBlock(Blocks.furnace) }); + addRecipeAuto(new ItemStack(ModBlocks.machine_arc_furnace_off, 1), new Object[] { "ITI", "PFP", "ITI", 'I', W.ingot(), 'T', ModBlocks.machine_transformer, 'P', CU.plateWelded(), 'F', Blocks.furnace }); addRecipeAuto(new ItemStack(ModBlocks.red_wire_coated, 16), new Object[] { "WRW", "RIR", "WRW", 'W', ModItems.plate_polymer, 'I', MINGRADE.ingot(), 'R', ModItems.wire_red_copper }); addRecipeAuto(new ItemStack(ModBlocks.red_cable_paintable, 16), new Object[] { "WRW", "RIR", "WRW", 'W', STEEL.plate(), 'I', MINGRADE.ingot(), 'R', ModItems.wire_red_copper }); addRecipeAuto(new ItemStack(ModBlocks.cable_switch, 1), new Object[] { "S", "W", 'S', Blocks.lever, 'W', ModBlocks.red_wire_coated }); @@ -287,6 +280,10 @@ public class CraftingManager { addShapelessAuto(new ItemStack(ModBlocks.red_cable_gauge), new Object[] { ModBlocks.red_wire_coated, STEEL.ingot(), ModItems.circuit_aluminium }); addRecipeAuto(new ItemStack(ModBlocks.red_connector, 4), new Object[] { "C", "I", "S", 'C', ModItems.coil_copper, 'I', ModItems.plate_polymer, 'S', STEEL.ingot() }); addRecipeAuto(new ItemStack(ModBlocks.red_pylon, 4), new Object[] { "CWC", "PWP", " T ", 'C', ModItems.coil_copper, 'W', KEY_PLANKS, 'P', ModItems.plate_polymer, 'T', ModBlocks.red_wire_coated }); + addRecipeAuto(new ItemStack(ModBlocks.red_pylon_medium_wood, 2), new Object[] { "CCW", "IIW", " S", 'C', ModItems.coil_copper, 'W', KEY_PLANKS, 'I', ModItems.plate_polymer, 'S', KEY_COBBLESTONE }); + addShapelessAuto(new ItemStack(ModBlocks.red_pylon_medium_wood_transformer, 1), new Object[] { ModBlocks.red_pylon_medium_wood, ModItems.plate_polymer, ModItems.coil_copper }); + addRecipeAuto(new ItemStack(ModBlocks.red_pylon_medium_steel, 2), new Object[] { "CCW", "IIW", " S", 'C', ModItems.coil_copper, 'W', STEEL.pipe(), 'I', ModItems.plate_polymer, 'S', KEY_COBBLESTONE }); + addShapelessAuto(new ItemStack(ModBlocks.red_pylon_medium_steel_transformer, 1), new Object[] { ModBlocks.red_pylon_medium_steel, ModItems.plate_polymer, ModItems.coil_copper }); addRecipeAuto(new ItemStack(ModBlocks.machine_battery_potato, 1), new Object[] { "PCP", "WRW", "PCP", 'P', ItemBattery.getEmptyBattery(ModItems.battery_potato), 'C', CU.ingot(), 'R', REDSTONE.block(), 'W', KEY_PLANKS }); addRecipeAuto(new ItemStack(ModBlocks.capacitor_bus, 1), new Object[] { "PIP", "PIP", "PIP", 'P', ModItems.plate_polymer, 'I', MINGRADE.ingot() }); addRecipeAuto(new ItemStack(ModBlocks.capacitor_copper, 1), new Object[] { "PPP", "PCP", "WWW", 'P', STEEL.plate(), 'C', CU.block(), 'W', KEY_PLANKS }); @@ -296,8 +293,6 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.capacitor_schrabidate, 1), new Object[] { "PPP", "ICI", "WWW", 'P', STEEL.plate(), 'I', ANY_RESISTANTALLOY.ingot(), 'C', SBD.block(), 'W', STEEL.ingot() }); //addRecipeAuto(new ItemStack(ModBlocks.machine_coal_off, 1), new Object[] { "STS", "SCS", "SFS", 'S', STEEL.ingot(), 'T', ModItems.tank_steel, 'C', MINGRADE.ingot(), 'F', Blocks.furnace }); addRecipeAuto(new ItemStack(ModBlocks.machine_wood_burner, 1), new Object[] { "PPP", "CFC", "I I" , 'P', STEEL.plate528(), 'C', ModItems.coil_copper, 'I', IRON.ingot(), 'F', Blocks.furnace}); - addRecipeAuto(new ItemStack(ModBlocks.machine_boiler_off, 1), new Object[] { "SPS", "TFT", "SPS", 'S', STEEL.ingot(), 'P', ModItems.board_copper, 'T', ModItems.tank_steel, 'F', Blocks.furnace }); - addRecipeAuto(new ItemStack(ModBlocks.machine_boiler_electric_off, 1), new Object[] { "SPS", "TFT", "SPS", 'S', DESH.ingot(), 'P', ModItems.board_copper, 'T', ModItems.tank_steel, 'F', ModBlocks.machine_electric_furnace_off }); addRecipeAuto(new ItemStack(ModBlocks.machine_turbine, 1), new Object[] { "SMS", "PTP", "SMS", 'S', STEEL.ingot(), 'T', ModItems.turbine_titanium, 'M', ModItems.coil_copper, 'P', ANY_PLASTIC.ingot() }); addRecipeAuto(new ItemStack(ModBlocks.machine_converter_he_rf, 1), new Object[] { "SSS", "CRB", "SSS", 'S', STEEL.ingot(), 'C', ModItems.coil_copper, 'R', ModItems.coil_copper_torus, 'B', REDSTONE.block() }); addRecipeAuto(new ItemStack(ModBlocks.machine_converter_rf_he, 1), new Object[] { "SSS", "BRC", "SSS", 'S', BE.ingot(), 'C', ModItems.coil_copper, 'R', ModItems.coil_copper_torus, 'B', REDSTONE.block() }); @@ -305,35 +300,37 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.crate_iron, 1), new Object[] { "PPP", "I I", "III", 'P', IRON.plate(), 'I', IRON.ingot() }); addRecipeAuto(new ItemStack(ModBlocks.crate_steel, 1), new Object[] { "PPP", "I I", "III", 'P', STEEL.plate(), 'I', STEEL.ingot() }); addRecipeAuto(new ItemStack(ModBlocks.crate_desh, 1), new Object[] { " D ", "DSD", " D ", 'D', ModItems.plate_desh, 'S', ModBlocks.crate_steel }); - addRecipeAuto(new ItemStack(ModBlocks.crate_tungsten, 1), new Object[] { "BPB", "PCP", "BPB", 'B', W.block(), 'P', ModItems.board_copper, 'C', ModBlocks.crate_steel }); + addRecipeAuto(new ItemStack(ModBlocks.crate_tungsten, 1), new Object[] { "BPB", "PCP", "BPB", 'B', W.block(), 'P', CU.plateCast(), 'C', ModBlocks.crate_steel }); addRecipeAuto(new ItemStack(ModBlocks.safe, 1), new Object[] { "LAL", "ACA", "LAL", 'L', PB.plate(), 'A', ALLOY.plate(), 'C', ModBlocks.crate_steel }); addRecipeAuto(new ItemStack(ModBlocks.mass_storage, 1, 0), new Object[] { "ICI", "CLC", "ICI", 'I', TI.ingot(), 'C', ModBlocks.crate_steel, 'L', ModItems.circuit_copper }); addRecipeAuto(new ItemStack(ModBlocks.mass_storage, 1, 1), new Object[] { "PCP", "PMP", "PPP", 'P', DESH.ingot(), 'C', ModItems.circuit_red_copper, 'M', new ItemStack(ModBlocks.mass_storage, 1, 0) }); addRecipeAuto(new ItemStack(ModBlocks.mass_storage, 1, 2), new Object[] { "PCP", "PMP", "PPP", 'P', ANY_RESISTANTALLOY.ingot(), 'C', ModItems.circuit_gold, 'M', new ItemStack(ModBlocks.mass_storage, 1, 1) }); addRecipeAuto(new ItemStack(ModBlocks.mass_storage, 1, 3), new Object[] { "PPP", "PIP", "PPP", 'P', KEY_PLANKS, 'I', IRON.plate() }); addRecipeAuto(new ItemStack(ModBlocks.machine_autocrafter, 1), new Object[] { "SCS", "MWM", "SCS", 'S', STEEL.plate(), 'C', ModItems.circuit_copper, 'M', ModItems.motor, 'W', Blocks.crafting_table }); + addRecipeAuto(new ItemStack(ModBlocks.machine_funnel, 1), new Object[] { "S S", "SRS", " S ", 'S', STEEL.ingot(), 'R', REDSTONE.dust() }); addRecipeAuto(new ItemStack(ModBlocks.machine_waste_drum, 1), new Object[] { "LRL", "BRB", "LRL", 'L', PB.ingot(), 'B', Blocks.iron_bars, 'R', ModItems.rod_quad_empty }); addRecipeAuto(new ItemStack(ModBlocks.machine_press, 1), new Object[] { "IRI", "IPI", "IBI", 'I', IRON.ingot(), 'R', Blocks.furnace, 'B', IRON.block(), 'P', Blocks.piston }); addRecipeAuto(new ItemStack(ModBlocks.machine_siren, 1), new Object[] { "SIS", "ICI", "SRS", 'S', STEEL.plate(), 'I', ANY_RUBBER.ingot(), 'C', ModItems.circuit_copper, 'R', REDSTONE.dust() }); addRecipeAuto(new ItemStack(ModBlocks.machine_microwave, 1), new Object[] { "III", "SGM", "IDI", 'I', ModItems.plate_polymer, 'S', STEEL.plate(), 'G', KEY_ANYPANE, 'M', ModItems.magnetron, 'D', ModItems.motor }); - addRecipeAuto(new ItemStack(ModBlocks.machine_solar_boiler), new Object[] { "SHS", "DHD", "SHS", 'S', STEEL.ingot(), 'H', ModItems.hull_big_steel, 'D', KEY_BLACK }); + addRecipeAuto(new ItemStack(ModBlocks.machine_solar_boiler), new Object[] { "SHS", "DHD", "SHS", 'S', STEEL.ingot(), 'H', STEEL.shell(), 'D', KEY_BLACK }); addRecipeAuto(new ItemStack(ModBlocks.solar_mirror, 3), new Object[] { "AAA", " B ", "SSS", 'A', AL.plate(), 'B', ModBlocks.steel_beam, 'S', STEEL.ingot() }); addRecipeAuto(new ItemStack(ModBlocks.anvil_iron, 1), new Object[] { "III", " B ", "III", 'I', IRON.ingot(), 'B', IRON.block() }); addRecipeAuto(new ItemStack(ModBlocks.anvil_lead, 1), new Object[] { "III", " B ", "III", 'I', PB.ingot(), 'B', PB.block() }); addRecipeAuto(new ItemStack(ModBlocks.anvil_murky, 1), new Object[] { "UUU", "UAU", "UUU", 'U', ModItems.undefined, 'A', ModBlocks.anvil_steel }); addRecipeAuto(new ItemStack(ModBlocks.machine_fraction_tower), new Object[] { "H", "G", "H", 'H', STEEL.plateWelded(), 'G', ModBlocks.steel_grate }); - addRecipeAuto(new ItemStack(ModBlocks.fraction_spacer), new Object[] { "BHB", 'H', ModItems.hull_big_steel, 'B', Blocks.iron_bars }); + addRecipeAuto(new ItemStack(ModBlocks.fraction_spacer), new Object[] { "BHB", 'H', STEEL.shell(), 'B', Blocks.iron_bars }); + addRecipeAuto(new ItemStack(ModBlocks.machine_furnace_brick_off), new Object[] { "III", "I I", "BBB", 'I', Items.brick, 'B', Blocks.stone }); addRecipeAuto(new ItemStack(ModBlocks.furnace_iron), new Object[] { "III", "IFI", "BBB", 'I', IRON.ingot(), 'F', Blocks.furnace, 'B', Blocks.stonebrick }); addRecipeAuto(new ItemStack(ModBlocks.machine_mixer), new Object[] { "PIP", "GCG", "PMP", 'P', STEEL.plate(), 'I', DURA.ingot(), 'G', KEY_ANYPANE, 'C', ModItems.circuit_copper, 'M', ModItems.motor }); - addRecipeAuto(new ItemStack(ModBlocks.fan), new Object[] { "BPB", "PRP", "BPB", 'B', ModItems.bolt_tungsten, 'P', IRON.plate(), 'R', REDSTONE.dust() }); - addRecipeAuto(new ItemStack(ModBlocks.piston_inserter), new Object[] { "ITI", "TPT", "ITI", 'P', DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_PNEUMATIC), 'I', IRON.plate(), 'T', ModItems.bolt_tungsten }); + addRecipeAuto(new ItemStack(ModBlocks.fan), new Object[] { "BPB", "PRP", "BPB", 'B', STEEL.bolt(), 'P', IRON.plate(), 'R', REDSTONE.dust() }); + addRecipeAuto(new ItemStack(ModBlocks.piston_inserter), new Object[] { "ITI", "TPT", "ITI", 'P', DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_PNEUMATIC), 'I', IRON.plate(), 'T', STEEL.bolt() }); - addRecipeAuto(new ItemStack(ModBlocks.muffler, 1), new Object[] { "III", "IWI", "III", 'I', ANY_RUBBER.ingot(), 'W', Blocks.wool }); + addRecipeAuto(new ItemStack(ModItems.upgrade_muffler, 16), new Object[] { "III", "IWI", "III", 'I', ANY_RUBBER.ingot(), 'W', Blocks.wool }); addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.factory_titanium_hull), 8), new Object[] { "PIP", "I I", "PIP", 'P', TI.plate(), 'I', TI.ingot() }); addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.factory_advanced_hull), 8), new Object[] { "PIP", "I I", "PIP", 'P', ALLOY.plate(), 'I', ALLOY.ingot() }); - addRecipeAuto(new ItemStack(ModItems.arc_electrode, 1), new Object[] { "C", "T", "C", 'C', GRAPHITE.ingot(), 'T', ModItems.bolt_tungsten }); + addRecipeAuto(new ItemStack(ModItems.arc_electrode, 1), new Object[] { "C", "T", "C", 'C', GRAPHITE.ingot(), 'T', W.bolt() }); addRecipeAuto(new ItemStack(ModItems.arc_electrode_desh, 1), new Object[] { "C", "T", "C", 'C', DESH.dust(), 'T', ModItems.arc_electrode }); addRecipeAuto(new ItemStack(ModItems.detonator, 1), new Object[] { " W", "SC", "CE", 'S', STEEL.plate(), 'W', ModItems.wire_red_copper, 'C', ModItems.circuit_red_copper, 'E', STEEL.ingot() }); addShapelessAuto(new ItemStack(ModItems.detonator_multi, 1), new Object[] { ModItems.detonator, ModItems.circuit_targeting_tier3 }); @@ -349,8 +346,8 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModItems.crystal_xen, 1), new Object[] { "EEE", "EIE", "EEE", 'E', ModItems.powder_power, 'I', EUPH.ingot() }); addShapelessAuto(new ItemStack(ModItems.fuse, 1), new Object[] { STEEL.plate(), ModItems.plate_polymer, ModItems.wire_tungsten }); - addShapelessAuto(new ItemStack(ModItems.overfuse, 1), new Object[] { ModItems.bolt_tungsten, NP237.dust(), I.dust(), TH232.dust(), AT.dust(), ND.dust(), ModItems.board_copper, ModItems.black_hole, CS.dust() }); - addShapelessAuto(new ItemStack(ModItems.overfuse, 1), new Object[] { ModItems.bolt_tungsten, ST.dust(), BR.dust(), CO.dust(), TS.dust(), NB.dust(), ModItems.board_copper, ModItems.black_hole, CE.dust() }); + addShapelessAuto(new ItemStack(ModItems.overfuse, 1), new Object[] { STEEL.bolt(), NP237.dust(), I.dust(), TH232.dust(), AT.dust(), ND.dust(), CU.plateCast(), ModItems.black_hole, CS.dust() }); + addShapelessAuto(new ItemStack(ModItems.overfuse, 1), new Object[] { STEEL.bolt(), ST.dust(), BR.dust(), CO.dust(), TS.dust(), NB.dust(), CU.plateCast(), ModItems.black_hole, CE.dust() }); addRecipeAuto(new ItemStack(ModItems.blades_steel, 1), new Object[] { " P ", "PIP", " P ", 'P', STEEL.plate(), 'I', STEEL.ingot() }); addRecipeAuto(new ItemStack(ModItems.blades_titanium, 1), new Object[] { " P ", "PIP", " P ", 'P', TI.plate(), 'I', TI.ingot() }); @@ -382,14 +379,11 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModItems.mechanism_revolver_2, 1), new Object[] { "ATA", "TDT", "ATA", 'A', ALLOY.plate(), 'T', W.ingot(), 'D', DURA.ingot() }); addRecipeAuto(new ItemStack(ModItems.mechanism_rifle_1, 1), new Object[] { "ICI", "MAM", "ICI", 'I', IRON.plate(), 'C', CU.ingot(), 'A', AL.ingot(), 'M', ModItems.mechanism_revolver_1 }); addRecipeAuto(new ItemStack(ModItems.mechanism_rifle_2, 1), new Object[] { "ATA", "MDM", "ATA", 'A', ALLOY.plate(), 'T', W.ingot(), 'D', DURA.ingot(), 'M', ModItems.mechanism_revolver_2 }); - addRecipeAuto(new ItemStack(ModItems.mechanism_launcher_1, 1), new Object[] { "TTT", "SSS", "BBI", 'T', TI.plate(), 'S', STEEL.ingot(), 'B', ModItems.bolt_tungsten, 'I', MINGRADE.ingot() }); - addRecipeAuto(new ItemStack(ModItems.mechanism_launcher_2, 1), new Object[] { "TTT", "SSS", "BBI", 'T', ALLOY.plate(), 'S', ANY_PLASTIC.ingot(), 'B', ModItems.bolt_dura_steel, 'I', DESH.ingot() }); + addRecipeAuto(new ItemStack(ModItems.mechanism_launcher_1, 1), new Object[] { "TTT", "SSS", "BBI", 'T', TI.plate(), 'S', STEEL.ingot(), 'B', W.bolt(), 'I', MINGRADE.ingot() }); + addRecipeAuto(new ItemStack(ModItems.mechanism_launcher_2, 1), new Object[] { "TTT", "SSS", "BBI", 'T', ALLOY.plate(), 'S', ANY_PLASTIC.ingot(), 'B', W.bolt(), 'I', DESH.ingot() }); addRecipeAuto(new ItemStack(ModItems.mechanism_special, 1), new Object[] { "PCI", "ISS", "PCI", 'P', ModItems.plate_desh, 'C', ModItems.coil_advanced_alloy, 'I', STAR.ingot(), 'S', ModItems.circuit_targeting_tier3 }); addRecipeAuto(new ItemStack(ModBlocks.watz_pump, 1), new Object[] { "MPM", "PCP", "PSP", 'M', ModItems.motor_desh, 'P', ANY_RESISTANTALLOY.plateCast(), 'C', KEY_CIRCUIT_BISMUTH, 'S', ModItems.pipes_steel }); - addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.fwatz_cooler), 1), new Object[] { "IPI", "IPI", "IPI", 'I', TI.ingot(), 'P', TI.plate() }); - addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.fwatz_tank), 1), new Object[] { "CGC", "GGG", "CGC", 'C', CMB.plate(), 'G', KEY_ANYPANE }); - addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.fwatz_scaffold), 1), new Object[] { "IPI", "P P", "IPI", 'I', W.ingot(), 'P', getReflector() }); addRecipeAuto(new ItemStack(ModBlocks.reinforced_stone, 4), new Object[] { "FBF", "BFB", "FBF", 'F', Blocks.cobblestone, 'B', Blocks.stone }); addRecipeAuto(new ItemStack(ModBlocks.brick_light, 4), new Object[] { "FBF", "BFB", "FBF", 'F', Blocks.fence, 'B', Blocks.brick_block }); @@ -417,7 +411,6 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.tile_lab_broken, 6), new Object[] { " C " , "C C", " C ", 'C', ModBlocks.tile_lab_cracked }); addShapelessAuto(new ItemStack(ModBlocks.asphalt_light, 1), new Object[] { ModBlocks.asphalt, Items.glowstone_dust }); addShapelessAuto(new ItemStack(ModBlocks.asphalt, 1), new Object[] { ModBlocks.asphalt_light }); - addRecipeAuto(new ItemStack(ModBlocks.block_niter_reinforced, 1), new Object[] { "TCT", "CNC", "TCT", 'T', ANY_RESISTANTALLOY.ingot(), 'C', ModBlocks.concrete, 'N', KNO.block() }); String[] dyes = { "Black", "Red", "Green", "Brown", "Blue", "Purple", "Cyan", "LightGray", "Gray", "Pink", "Lime", "Yellow", "LightBlue", "Magenta", "Orange", "White" }; @@ -448,7 +441,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.reinforced_brick), 4), new Object[] { "FBF", "BFB", "FBF", 'F', Blocks.iron_bars, 'B', ModBlocks.brick_concrete }); - addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.brick_compound), 4), new Object[] { "FBF", "BTB", "FBF", 'F', ModItems.bolt_tungsten, 'B', ModBlocks.reinforced_brick, 'T', ANY_TAR.any() }); + addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.brick_compound), 4), new Object[] { "FBF", "BTB", "FBF", 'F', STEEL.bolt(), 'B', ModBlocks.reinforced_brick, 'T', ANY_TAR.any() }); addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.reinforced_glass), 4), new Object[] { "FBF", "BFB", "FBF", 'F', Blocks.iron_bars, 'B', Blocks.glass }); addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.reinforced_glass_pane), 16), new Object[] { " ", "GGG", "GGG", 'G', ModBlocks.reinforced_glass}); addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.reinforced_laminate_pane), 16), new Object[] { " ", "LLL", "LLL", 'L', ModBlocks.reinforced_laminate}); @@ -456,16 +449,19 @@ public class CraftingManager { addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.reinforced_lamp_off), 1), new Object[] { "FFF", "FBF", "FFF", 'F', Blocks.iron_bars, 'B', Blocks.redstone_lamp }); addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.reinforced_sand), 4), new Object[] { "FBF", "BFB", "FBF", 'F', Blocks.iron_bars, 'B', Blocks.sandstone }); - addRecipeAuto(new ItemStack(ModBlocks.lamp_tritium_green_off, 1), new Object[] { "GPG", "1T2", "GPG", 'G', KEY_ANYGLASS, 'P', P_RED.dust(), 'T', ModItems.cell_tritium, '1', "dustSulfur", '2', CU.dust() }); - addRecipeAuto(new ItemStack(ModBlocks.lamp_tritium_blue_off, 1), new Object[] { "GPG", "1T2", "GPG", 'G', KEY_ANYGLASS, 'P',P_RED.dust(), 'T', ModItems.cell_tritium, '1', AL.dust(), '2', ST.dust() }); + addShapelessAuto(new ItemStack(ModBlocks.lamp_tritium_green_off, 1), new Object[] { KEY_ANYGLASS, P_RED.dust(), Fluids.TRITIUM.getDict(1_000), S.dust() }); + addShapelessAuto(new ItemStack(ModBlocks.lamp_tritium_blue_off, 1), new Object[] { KEY_ANYGLASS, P_RED.dust(), Fluids.TRITIUM.getDict(1_000), AL.dust() }); addRecipeAuto(new ItemStack(ModBlocks.lantern, 1), new Object[] { "PGP", " S ", " S ", 'P', KEY_ANYPANE, 'G', Items.glowstone_dust, 'S', ModBlocks.steel_beam }); + addRecipeAuto(new ItemStack(ModBlocks.spotlight_incandescent, 8), new Object[] { " G ", " T ", " I ", 'G', KEY_ANYPANE, 'T', ModItems.wire_tungsten, 'I', Items.iron_ingot }); + addRecipeAuto(new ItemStack(ModBlocks.spotlight_fluoro, 8), new Object[] { " G ", " M ", " A ", 'G', KEY_ANYPANE, 'M', ModItems.ingot_mercury, 'A', ModItems.plate_aluminium }); + addRecipeAuto(new ItemStack(ModBlocks.spotlight_halogen, 8), new Object[] { " G ", " B ", " S ", 'G', KEY_ANYPANE, 'B', ModItems.powder_bromine, 'S', ModItems.plate_steel }); addRecipeAuto(new ItemStack(ModBlocks.barbed_wire, 16), new Object[] { "AIA", "I I", "AIA", 'A', ModItems.wire_aluminium, 'I', IRON.ingot() }); addRecipeAuto(new ItemStack(ModBlocks.barbed_wire_fire, 8), new Object[] { "BBB", "BIB", "BBB", 'B', ModBlocks.barbed_wire, 'I', P_RED.dust() }); addRecipeAuto(new ItemStack(ModBlocks.barbed_wire_poison, 8), new Object[] { "BBB", "BIB", "BBB", 'B', ModBlocks.barbed_wire, 'I', ModItems.powder_poison }); addRecipeAuto(new ItemStack(ModBlocks.barbed_wire_acid, 8), new Object[] { "BBB", "BIB", "BBB", 'B', ModBlocks.barbed_wire, 'I', new ItemStack(ModItems.fluid_tank_full, 1, Fluids.ACID.getID()) }); addRecipeAuto(new ItemStack(ModBlocks.barbed_wire_wither, 8), new Object[] { "BBB", "BIB", "BBB", 'B', ModBlocks.barbed_wire, 'I', new ItemStack(Items.skull, 1, 1) }); - addRecipeAuto(new ItemStack(ModBlocks.barbed_wire_ultradeath, 4), new Object[] { "BCB", "CIC", "BCB", 'B', ModBlocks.barbed_wire, 'C', ModItems.powder_cloud, 'I', ModItems.nuclear_waste }); + addRecipeAuto(new ItemStack(ModBlocks.barbed_wire_ultradeath, 4), new Object[] { "BCB", "CIC", "BCB", 'B', ModBlocks.barbed_wire, 'C', ModItems.powder_yellowcake, 'I', ModItems.nuclear_waste }); addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.tape_recorder), 4), new Object[] { "TST", "SSS", 'T', W.ingot(), 'S', STEEL.ingot() }); addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.steel_poles), 16), new Object[] { "S S", "SSS", "S S", 'S', STEEL.ingot() }); @@ -511,7 +507,19 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.rail_highspeed, 16), new Object[] { "S S", "SIS", "S S", 'S', STEEL.ingot(), 'I', IRON.plate() }); addRecipeAuto(new ItemStack(ModBlocks.rail_booster, 6), new Object[] { "S S", "CIC", "SRS", 'S', STEEL.ingot(), 'I', IRON.plate(), 'R', MINGRADE.ingot(), 'C', ModItems.coil_copper }); - addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.bomb_multi), 1), new Object[] { "AAD", "CHF", "AAD", 'A', ModItems.wire_aluminium, 'C', ModItems.circuit_aluminium, 'H', ModItems.hull_small_aluminium, 'F', ModItems.fins_quad_titanium, 'D', KEY_WHITE }); + addRecipeAuto(new ItemStack(ModBlocks.rail_large_straight, 4), new Object[] { "B B", "SSS", "W W", 'B', ModItems.bolt_spike, 'S', ModBlocks.steel_beam, 'W', KEY_SLAB }); + addShapelessAuto(new ItemStack(ModBlocks.rail_large_straight, 1), new Object[] { ModBlocks.rail_large_straight_short, ModBlocks.rail_large_straight_short, ModBlocks.rail_large_straight_short, ModBlocks.rail_large_straight_short, ModBlocks.rail_large_straight_short }); + addShapelessAuto(new ItemStack(ModBlocks.rail_large_straight_short, 5), new Object[] { ModBlocks.rail_large_straight }); + addRecipeAuto(new ItemStack(ModBlocks.rail_large_buffer, 1), new Object[] { " S", "RS", 'R', ModBlocks.rail_large_straight, 'S', STEEL.ingot() }); + addRecipeAuto(new ItemStack(ModBlocks.rail_large_curve, 1), new Object[] { "R ", " R", 'R', ModBlocks.rail_large_straight }); + addRecipeAuto(new ItemStack(ModBlocks.rail_large_curve_7, 1), new Object[] { "RR", " R", 'R', ModBlocks.rail_large_straight }); + addRecipeAuto(new ItemStack(ModBlocks.rail_large_curve_9, 1), new Object[] { "RR ", " R", " R", 'R', ModBlocks.rail_large_straight }); + addRecipeAuto(new ItemStack(ModBlocks.rail_large_ramp, 1), new Object[] { " R ", "SSS", 'R', ModBlocks.rail_large_straight, 'S', KEY_SLAB }); + addRecipeAuto(new ItemStack(ModBlocks.rail_large_switch, 1), new Object[] { "R R", " RR", " R", 'R', ModBlocks.rail_large_straight }); + addShapelessAuto(new ItemStack(ModBlocks.rail_large_switch), new Object[] { ModBlocks.rail_large_switch_flipped }); + addShapelessAuto(new ItemStack(ModBlocks.rail_large_switch_flipped), new Object[] { ModBlocks.rail_large_switch }); + + addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.bomb_multi), 1), new Object[] { "AAD", "CHF", "AAD", 'A', ModItems.wire_aluminium, 'C', ModItems.circuit_aluminium, 'H', AL.shell(), 'F', ModItems.fins_quad_titanium, 'D', KEY_WHITE }); addShapelessAuto(new ItemStack(ModItems.powder_ice, 4), new Object[] { Items.snowball, KNO.dust(), REDSTONE.dust() }); addShapelessAuto(new ItemStack(ModItems.powder_poison, 4), new Object[] { Items.spider_eye, REDSTONE.dust(), NETHERQUARTZ.gem() }); addShapelessAuto(new ItemStack(ModItems.pellet_gas, 2), new Object[] { Items.water_bucket, "dustGlowstone", STEEL.plate() }); @@ -585,8 +593,6 @@ public class CraftingManager { addRecipeAuto(ItemBattery.getFullBattery(ModItems.battery_su_l), new Object[] { " W ", "RPR", "CPC", 'W', ModItems.wire_copper, 'P', Items.paper, 'R', REDSTONE.dust(), 'C', COAL.dust() }); addShapelessAuto(ItemBattery.getFullBattery(ModItems.battery_potato), new Object[] { Items.potato, ModItems.wire_aluminium, ModItems.wire_copper }); addShapelessAuto(ItemBattery.getFullBattery(ModItems.battery_potatos), new Object[] { ItemBattery.getFullBattery(ModItems.battery_potato), ModItems.turret_chip, REDSTONE.dust() }); - addRecipeAuto(ItemBattery.getEmptyBattery(ModItems.battery_steam), new Object[] { "PMP", "ISI", "PCP", 'P', CU.plate(), 'M', ModItems.motor, 'C', ModItems.coil_tungsten, 'S', new ItemStack(ModItems.fluid_tank_full, 1, Fluids.WATER.getID()), 'I', ModItems.plate_polymer }); - addRecipeAuto(ItemBattery.getEmptyBattery(ModItems.battery_steam_large), new Object[] { "MPM", "ISI", "CPC", 'P', ModItems.board_copper, 'M', ModItems.motor, 'C', ModItems.coil_tungsten, 'S', new ItemStack(ModItems.fluid_barrel_full, 1, Fluids.WATER.getID()), 'I', ANY_PLASTIC.ingot() }); addRecipeAuto(new ItemStack(ModItems.battery_sc_uranium), new Object[] { "NBN", "PCP", "NBN", 'N', GOLD.nugget(), 'B', U238.billet(), 'P', PB.plate(), 'C', ModItems.thermo_element }); addRecipeAuto(new ItemStack(ModItems.battery_sc_technetium), new Object[] { "NBN", "PCP", "NBN", 'N', GOLD.nugget(), 'B', TC99.billet(), 'P', PB.plate(), 'C', ModItems.battery_sc_uranium }); @@ -598,21 +604,21 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModItems.wiring_red_copper, 1), new Object[] { "PPP", "PIP", "PPP", 'P', STEEL.plate(), 'I', STEEL.ingot() }); - addRecipeAuto(new ItemStack(ModItems.jetpack_tank, 1), new Object[] { " S ", "BKB", " S ", 'S', STEEL.plate(), 'B', ModItems.bolt_tungsten, 'K', Fluids.KEROSENE.getDict(1000) }); - addRecipeAuto(new ItemStack(ModItems.gun_kit_1, 4), new Object[] { "I ", "LB", "P ", 'I', ANY_RUBBER.ingot(), 'L', Fluids.LUBRICANT.getDict(1000), 'B', ModItems.bolt_tungsten, 'P', IRON.plate() }); + addRecipeAuto(new ItemStack(ModItems.jetpack_tank, 1), new Object[] { " S ", "BKB", " S ", 'S', STEEL.plate(), 'B', STEEL.bolt(), 'K', Fluids.KEROSENE.getDict(1000) }); + addRecipeAuto(new ItemStack(ModItems.gun_kit_1, 4), new Object[] { "I ", "LB", "P ", 'I', ANY_RUBBER.ingot(), 'L', Fluids.LUBRICANT.getDict(1000), 'B', STEEL.bolt(), 'P', IRON.plate() }); addRecipeAuto(new ItemStack(ModItems.gun_kit_2, 1), new Object[] { "III", "GLG", "PPP", 'I', ANY_RUBBER.ingot(), 'L', ModItems.ducttape, 'G', ModItems.gun_kit_1, 'P', IRON.plate() }); addRecipeAuto(new ItemStack(ModItems.igniter, 1), new Object[] { " W", "SC", "CE", 'S', STEEL.plate(), 'W', ModItems.wire_schrabidium, 'C', ModItems.circuit_schrabidium, 'E', EUPH.ingot() }); addRecipeAuto(new ItemStack(ModItems.watch, 1), new Object[] { "LYL", "EWE", "LYL", 'E', EUPH.ingot(), 'L', KEY_BLUE, 'W', Items.clock, 'Y', ModItems.billet_yharonite }); - addRecipeAuto(new ItemStack(ModItems.key, 1), new Object[] { " B", " B ", "P ", 'P', STEEL.plate(), 'B', ModItems.bolt_tungsten }); + addRecipeAuto(new ItemStack(ModItems.key, 1), new Object[] { " B", " B ", "P ", 'P', STEEL.plate(), 'B', STEEL.bolt() }); addRecipeAuto(new ItemStack(ModItems.key_kit, 1), new Object[] { "PKP", "DTD", "PKP", 'P', GOLD.plate(), 'K', ModItems.key, 'D', DESH.dust(), 'T', KEY_TOOL_SCREWDRIVER }); addRecipeAuto(new ItemStack(ModItems.key_red, 1), new Object[] { "RCA", "CIC", "KCR", 'R', KEY_RED, 'C', STAR.wireDense(), 'A', ModItems.gem_alexandrite, 'I', ModItems.ingot_chainsteel, 'K', ModItems.key }); addRecipeAuto(new ItemStack(ModItems.pin, 1), new Object[] { "W ", " W", " W", 'W', ModItems.wire_copper }); - addRecipeAuto(new ItemStack(ModItems.padlock_rusty, 1), new Object[] { "I", "B", "I", 'I', IRON.ingot(), 'B', ModItems.bolt_tungsten }); - addRecipeAuto(new ItemStack(ModItems.padlock, 1), new Object[] { " P ", "PBP", "PPP", 'P', STEEL.plate(), 'B', ModItems.bolt_tungsten }); - addRecipeAuto(new ItemStack(ModItems.padlock_reinforced, 1), new Object[] { " P ", "PBP", "PDP", 'P', ALLOY.plate(), 'D', ModItems.plate_desh, 'B', ModItems.bolt_dura_steel }); - addRecipeAuto(new ItemStack(ModItems.padlock_unbreakable, 1), new Object[] { " P ", "PBP", "PDP", 'P', BIGMT.plate(), 'D', DIAMOND.gem(), 'B', ModItems.bolt_dura_steel }); + addRecipeAuto(new ItemStack(ModItems.padlock_rusty, 1), new Object[] { "I", "B", "I", 'I', IRON.ingot(), 'B', STEEL.bolt() }); + addRecipeAuto(new ItemStack(ModItems.padlock, 1), new Object[] { " P ", "PBP", "PPP", 'P', STEEL.plate(), 'B', STEEL.bolt() }); + addRecipeAuto(new ItemStack(ModItems.padlock_reinforced, 1), new Object[] { " P ", "PBP", "PDP", 'P', ALLOY.plate(), 'D', ModItems.plate_desh, 'B', DURA.bolt() }); + addRecipeAuto(new ItemStack(ModItems.padlock_unbreakable, 1), new Object[] { " P ", "PBP", "PDP", 'P', BIGMT.plate(), 'D', DIAMOND.gem(), 'B', DURA.bolt() }); addRecipeAuto(new ItemStack(ModItems.record_lc, 1), new Object[] { " S ", "SDS", " S ", 'S', ANY_PLASTIC.ingot(), 'D', LAPIS.dust() }); addRecipeAuto(new ItemStack(ModItems.record_ss, 1), new Object[] { " S ", "SDS", " S ", 'S', ANY_PLASTIC.ingot(), 'D', ALLOY.dust() }); @@ -647,7 +653,7 @@ public class CraftingManager { } //not so Temporary Crappy Recipes - addRecipeAuto(new ItemStack(ModItems.piston_selenium, 1), new Object[] { "SSS", "STS", " D ", 'S', STEEL.plate(), 'T', W.ingot(), 'D', ModItems.bolt_dura_steel }); + addRecipeAuto(new ItemStack(ModItems.piston_selenium, 1), new Object[] { "SSS", "STS", " D ", 'S', STEEL.plate(), 'T', W.ingot(), 'D', DURA.bolt() }); addShapelessAuto(new ItemStack(ModItems.catalyst_clay), new Object[] { IRON.dust(), Items.clay_ball }); addRecipeAuto(new ItemStack(ModItems.singularity_spark, 1), new Object[] { "XAX", "BCB", "XAX", 'X', ModItems.plate_dineutronium, 'A', ModItems.singularity_counter_resonant, 'B', ModItems.singularity_super_heated, 'C', ModItems.black_hole }); addRecipeAuto(new ItemStack(ModItems.singularity_spark, 1), new Object[] { "XBX", "ACA", "XBX", 'X', ModItems.plate_dineutronium, 'A', ModItems.singularity_counter_resonant, 'B', ModItems.singularity_super_heated, 'C', ModItems.black_hole }); @@ -679,14 +685,10 @@ public class CraftingManager { addShapelessAuto(new ItemStack(ModBlocks.sat_foeq), new Object[] { ModItems.sat_foeq }); addRecipeAuto(new ItemStack(ModItems.sat_interface), new Object[] { "ISI", "PCP", "PAP", 'I', STEEL.ingot(), 'S', STAR.ingot(), 'P', ModItems.plate_polymer, 'C', ModItems.sat_chip, 'A', ModItems.circuit_gold }); addRecipeAuto(new ItemStack(ModItems.sat_coord), new Object[] { "SII", "SCA", "SPP", 'I', STEEL.ingot(), 'S', STAR.ingot(), 'P', ModItems.plate_polymer, 'C', ModItems.sat_chip, 'A', ModItems.circuit_red_copper }); - addRecipeAuto(new ItemStack(ModBlocks.machine_spp_bottom), new Object[] { "MDM", "LCL", "LWL", 'M', MAGTUNG.ingot(), 'D', ModItems.plate_desh, 'L', PB.plate(), 'C', ModItems.circuit_gold, 'W', ModItems.coil_magnetized_tungsten }); - addRecipeAuto(new ItemStack(ModBlocks.machine_spp_top), new Object[] { "LWL", "LCL", "MDM", 'M', MAGTUNG.ingot(), 'D', ModItems.plate_desh, 'L', PB.plate(), 'C', ModItems.circuit_gold, 'W', ModItems.coil_magnetized_tungsten }); - addShapelessAuto(new ItemStack(ModBlocks.machine_spp_bottom), new Object[] { ModBlocks.machine_spp_top }); - addShapelessAuto(new ItemStack(ModBlocks.machine_spp_top), new Object[] { ModBlocks.machine_spp_bottom }); addRecipeAuto(new ItemStack(ModBlocks.machine_transformer), new Object[] { "SDS", "MCM", "MCM", 'S', IRON.ingot(), 'D', MINGRADE.ingot(), 'M',ModItems.coil_advanced_alloy, 'C', ModItems.circuit_copper }); addRecipeAuto(new ItemStack(ModBlocks.machine_transformer_20), new Object[] { "SDS", "MCM", "MCM", 'S', IRON.ingot(), 'D', MINGRADE.ingot(), 'M', ModItems.coil_copper, 'C', ModItems.circuit_copper }); - addRecipeAuto(new ItemStack(ModBlocks.machine_transformer_dnt), new Object[] { "SDS", "MCM", "MCM", 'S', STAR.ingot(), 'D', DESH.ingot(), 'M', ModBlocks.fwatz_conductor, 'C', ModItems.circuit_targeting_tier6 }); - addRecipeAuto(new ItemStack(ModBlocks.machine_transformer_dnt_20), new Object[] { "SDS", "MCM", "MCM", 'S', STAR.ingot(), 'D', DESH.ingot(), 'M', ModBlocks.fusion_conductor, 'C', ModItems.circuit_targeting_tier6 }); + addRecipeAuto(new ItemStack(ModBlocks.machine_transformer_dnt), new Object[] { "SDS", "MCM", "MCM", 'S', STAR.ingot(), 'D', DESH.ingot(), 'M', MAGTUNG.wireDense(), 'C', ModItems.circuit_targeting_tier6 }); + addRecipeAuto(new ItemStack(ModBlocks.machine_transformer_dnt_20), new Object[] { "SDS", "MCM", "MCM", 'S', STAR.ingot(), 'D', DESH.ingot(), 'M', ALLOY.wireDense(), 'C', ModItems.circuit_targeting_tier6 }); addRecipeAuto(new ItemStack(ModBlocks.radiobox), new Object[] { "PLP", "PSP", "PLP", 'P', STEEL.plate(), 'S', ModItems.ring_starmetal, 'C', ModItems.fusion_core, 'L', getReflector() }); addRecipeAuto(new ItemStack(ModBlocks.radiorec), new Object[] { " W", "PCP", "PIP", 'W', ModItems.wire_copper, 'P', STEEL.plate(), 'C', ModItems.circuit_red_copper, 'I', ANY_PLASTIC.ingot() }); addRecipeAuto(new ItemStack(ModItems.jackt), new Object[] { "S S", "LIL", "LIL", 'S', STEEL.plate(), 'L', Items.leather, 'I', ANY_RUBBER.ingot() }); @@ -695,8 +697,8 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.vent_chlorine_seal), new Object[] { "ISI", "SCS", "ISI", 'I', BIGMT.ingot(), 'S', STAR.ingot(), 'C', ModItems.chlorine_pinwheel }); addRecipeAuto(new ItemStack(ModBlocks.vent_cloud), new Object[] { "IGI", "ICI", "IDI", 'I', IRON.plate(), 'G', Blocks.iron_bars, 'C', ModItems.grenade_cloud, 'D', Blocks.dispenser }); addRecipeAuto(new ItemStack(ModBlocks.vent_pink_cloud), new Object[] { "IGI", "ICI", "IDI", 'I', IRON.plate(), 'G', Blocks.iron_bars, 'C', ModItems.grenade_pink_cloud, 'D', Blocks.dispenser }); - addRecipeAuto(new ItemStack(ModBlocks.spikes, 4), new Object[] { "FFF", "BBB", "TTT", 'F', Items.flint, 'B', ModItems.bolt_tungsten, 'T', W.ingot() }); - addRecipeAuto(new ItemStack(ModItems.custom_fall, 1), new Object[] { "IIP", "CHW", "IIP", 'I', ANY_RUBBER.ingot(), 'P', BIGMT.plate(), 'C', ModItems.circuit_red_copper, 'H', ModItems.hull_small_steel, 'W', ModItems.coil_copper }); + addRecipeAuto(new ItemStack(ModBlocks.spikes, 4), new Object[] { "BBB", "BBB", "TTT", 'B', STEEL.bolt(), 'T', STEEL.ingot() }); + addRecipeAuto(new ItemStack(ModItems.custom_fall, 1), new Object[] { "IIP", "CHW", "IIP", 'I', ANY_RUBBER.ingot(), 'P', BIGMT.plate(), 'C', ModItems.circuit_red_copper, 'H', STEEL.shell(), 'W', ModItems.coil_copper }); addRecipeAuto(new ItemStack(ModBlocks.machine_controller, 1), new Object[] { "TDT", "DCD", "TDT", 'T', ANY_RESISTANTALLOY.ingot(), 'D', ModItems.crt_display, 'C', ModItems.circuit_targeting_tier3 }); addRecipeAuto(new ItemStack(ModItems.containment_box, 1), new Object[] { "LUL", "UCU", "LUL", 'L', PB.plate(), 'U', U238.billet(), 'C', ModBlocks.crate_steel }); @@ -706,7 +708,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.absorber_pink, 1), new Object[] { "ICI", "CPC", "ICI", 'I', BIGMT.ingot(), 'C', ModItems.powder_nitan_mix, 'P', ModBlocks.absorber_green }); addRecipeAuto(new ItemStack(ModBlocks.decon, 1), new Object[] { "BGB", "SAS", "BSB", 'B', BE.ingot(), 'G', Blocks.iron_bars, 'S', STEEL.ingot(), 'A', ModBlocks.absorber }); addRecipeAuto(new ItemStack(ModBlocks.machine_amgen, 1), new Object[] { "ITI", "TAT", "ITI", 'I', ALLOY.ingot(), 'T', ModItems.thermo_element, 'A', ModBlocks.absorber }); - addRecipeAuto(new ItemStack(ModBlocks.machine_geo, 1), new Object[] { "ITI", "PCP", "ITI", 'I', DURA.ingot(), 'T', ModItems.thermo_element, 'P', ModItems.board_copper, 'C', ModBlocks.red_wire_coated }); + addRecipeAuto(new ItemStack(ModBlocks.machine_geo, 1), new Object[] { "ITI", "PCP", "ITI", 'I', DURA.ingot(), 'T', ModItems.thermo_element, 'P', CU.plateCast(), 'C', ModBlocks.red_wire_coated }); addRecipeAuto(new ItemStack(ModBlocks.machine_minirtg, 1), new Object[] { "LLL", "PPP", "TRT", 'L', PB.plate(), 'P', PU238.billet(), 'T', ModItems.thermo_element, 'R', ModItems.rtg_unit }); addRecipeAuto(new ItemStack(ModBlocks.machine_powerrtg, 1), new Object[] { "SRS", "PTP", "SRS", 'S', STAR.ingot(), 'R', ModItems.rtg_unit, 'P', PO210.billet(), 'T', TS.dust() }); @@ -747,9 +749,8 @@ public class CraftingManager { addRecipeAuto(new ItemStack(Blocks.torch, 8), new Object[] { "L", "S", 'L', ANY_COKE.gem(), 'S', KEY_STICK }); addRecipeAuto(new ItemStack(ModBlocks.machine_missile_assembly, 1), new Object[] { "PWP", "SSS", "CCC", 'P', ModItems.pedestal_steel, 'W', ModItems.wrench, 'S', STEEL.plate(), 'C', ModBlocks.steel_scaffold }); - addRecipeAuto(new ItemStack(ModBlocks.struct_launcher, 4), new Object[] { "PPP", "SDS", "CCC", 'P', STEEL.plate(), 'S', ModBlocks.steel_scaffold, 'D', ModBlocks.deco_pipe_quad, 'C', ModBlocks.concrete_smooth }); - addRecipeAuto(new ItemStack(ModBlocks.struct_launcher, 4), new Object[] { "PPP", "SDS", "CCC", 'P', STEEL.plate(), 'S', ModBlocks.steel_scaffold, 'D', ModBlocks.deco_pipe_quad, 'C', ModBlocks.concrete }); - addRecipeAuto(new ItemStack(ModBlocks.struct_scaffold, 4), new Object[] { "SSS", "DCD", "SSS", 'S', ModBlocks.steel_scaffold, 'D', new ItemStack(ModBlocks.fluid_duct_neo, 1, OreDictionary.WILDCARD_VALUE), 'C', ModBlocks.red_cable }); + addRecipeAuto(new ItemStack(ModBlocks.struct_launcher, 8), new Object[] { "PPP", "SDS", "CCC", 'P', STEEL.plate(), 'S', ModBlocks.steel_scaffold, 'D', STEEL.pipe(), 'C', ANY_CONCRETE.any() }); + addRecipeAuto(new ItemStack(ModBlocks.struct_scaffold, 8), new Object[] { "SSS", "DCD", "SSS", 'S', ModBlocks.steel_scaffold, 'D', new ItemStack(ModBlocks.fluid_duct_neo, 1, OreDictionary.WILDCARD_VALUE), 'C', ModBlocks.red_cable }); addRecipeAuto(new ItemStack(ModItems.seg_10, 1), new Object[] { "P", "S", "B", 'P', AL.plate(), 'S', ModBlocks.steel_scaffold, 'B', ModBlocks.steel_beam }); addRecipeAuto(new ItemStack(ModItems.seg_15, 1), new Object[] { "PP", "SS", "BB", 'P', TI.plate(), 'S', ModBlocks.steel_scaffold, 'B', ModBlocks.steel_beam }); @@ -794,7 +795,7 @@ public class CraftingManager { addShapelessAuto(new ItemStack(ModItems.ams_catalyst_dineutronium, 1), new Object[] { ModItems.ams_catalyst_blank, ModItems.rune_hagalaz, ModItems.rune_hagalaz, ModItems.rune_thurisaz, ModItems.rune_thurisaz, DNT.dust(), DNT.dust(), DNT.dust(), DNT.dust() }); addRecipeAuto(new ItemStack(ModBlocks.dfc_core, 1), new Object[] { "DLD", "LML", "DLD", 'D', ModItems.ingot_bismuth, 'L', DNT.block(), 'M', KEY_CIRCUIT_BISMUTH }); addRecipeAuto(new ItemStack(ModBlocks.dfc_emitter, 1), new Object[] { "SDS", "TXL", "SDS", 'S', OSMIRIDIUM.plateWelded(), 'D', ModItems.plate_desh, 'T', ModBlocks.machine_transformer_dnt, 'X', ModItems.crystal_xen, 'L', ModItems.sat_head_laser }); - addRecipeAuto(new ItemStack(ModBlocks.dfc_receiver, 1), new Object[] { "SDS", "TXL", "SDS", 'S', OSMIRIDIUM.plateWelded(), 'D', ModItems.plate_desh, 'T', ModBlocks.machine_transformer_dnt, 'X', ModBlocks.block_dineutronium, 'L', ModItems.hull_small_steel }); + addRecipeAuto(new ItemStack(ModBlocks.dfc_receiver, 1), new Object[] { "SDS", "TXL", "SDS", 'S', OSMIRIDIUM.plateWelded(), 'D', ModItems.plate_desh, 'T', ModBlocks.machine_transformer_dnt, 'X', ModBlocks.block_dineutronium, 'L', STEEL.shell() }); addRecipeAuto(new ItemStack(ModBlocks.dfc_injector, 1), new Object[] { "SDS", "TXL", "SDS", 'S', OSMIRIDIUM.plateWelded(), 'D', CMB.plate(), 'T', ModBlocks.machine_fluidtank, 'X', ModItems.motor, 'L', ModItems.pipes_steel }); addRecipeAuto(new ItemStack(ModBlocks.dfc_stabilizer, 1), new Object[] { "SDS", "TXL", "SDS", 'S', OSMIRIDIUM.plateWelded(), 'D', ModItems.plate_desh, 'T', ModItems.singularity_spark, 'X', ModItems.magnet_circular, 'L', ModItems.crystal_xen }); addRecipeAuto(new ItemStack(ModBlocks.barrel_plastic, 1), new Object[] { "IPI", "I I", "IPI", 'I', ModItems.plate_polymer, 'P', AL.plate() }); @@ -834,7 +835,6 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.hadron_coil_gold, 1), new Object[] { "WG", "GW", 'W', ALLOY.wireDense(), 'G', GOLD.wireDense() }); addRecipeAuto(new ItemStack(ModBlocks.hadron_coil_neodymium, 1), new Object[] { "G", "C", "G", 'G', ND.dust(), 'C', ModBlocks.hadron_coil_gold }); addRecipeAuto(new ItemStack(ModBlocks.hadron_coil_neodymium, 1), new Object[] { "WG", "GW", 'W', ND.wireDense(), 'G', GOLD.wireDense() }); - addRecipeAuto(new ItemStack(ModBlocks.hadron_coil_magtung, 1), new Object[] { "WWW", "WCW", "WWW", 'W', ModItems.wire_magnetized_tungsten, 'C', ModBlocks.fwatz_conductor }); addRecipeAuto(new ItemStack(ModBlocks.hadron_coil_magtung, 1), new Object[] { "WW", "WW", 'W', MAGTUNG.wireDense() }); addRecipeAuto(new ItemStack(ModBlocks.hadron_coil_schrabidium, 1), new Object[] { "WWW", "WCW", "WWW", 'W', ModItems.wire_schrabidium, 'C', ModBlocks.hadron_coil_magtung }); addRecipeAuto(new ItemStack(ModBlocks.hadron_coil_schrabidium, 1), new Object[] { "WS", "SW", 'W', MAGTUNG.wireDense(), 'S', SA326.wireDense() }); @@ -880,7 +880,7 @@ public class CraftingManager { } addRecipeAuto(new ItemStack(ModBlocks.rbmk_control_mod, 1), new Object[] { "BGB", "GRG", "BGB", 'G', GRAPHITE.block(), 'R', ModBlocks.rbmk_control, 'B', ModItems.nugget_bismuth }); addRecipeAuto(new ItemStack(ModBlocks.rbmk_control_auto, 1), new Object[] { "C", "R", "D", 'C', ModItems.circuit_targeting_tier1, 'R', ModBlocks.rbmk_control, 'D', ModItems.crt_display }); - addRecipeAuto(new ItemStack(ModBlocks.rbmk_rod_reasim, 1), new Object[] { "ZCZ", "ZRZ", "ZCZ", 'C', ModItems.hull_small_steel, 'R', ModBlocks.rbmk_blank, 'Z', ZR.ingot() }); + addRecipeAuto(new ItemStack(ModBlocks.rbmk_rod_reasim, 1), new Object[] { "ZCZ", "ZRZ", "ZCZ", 'C', STEEL.shell(), 'R', ModBlocks.rbmk_blank, 'Z', ZR.ingot() }); addRecipeAuto(new ItemStack(ModBlocks.rbmk_rod_reasim_mod, 1), new Object[] { "BGB", "GRG", "BGB", 'G', GRAPHITE.block(), 'R', ModBlocks.rbmk_rod_reasim, 'B', ANY_RESISTANTALLOY.ingot() }); addRecipeAuto(new ItemStack(ModBlocks.rbmk_outgasser, 1), new Object[] { "GHG", "GRG", "GTG", 'G', ModBlocks.steel_grate, 'H', Blocks.hopper, 'T', ModItems.tank_steel, 'R', ModBlocks.rbmk_blank }); addRecipeAuto(new ItemStack(ModBlocks.rbmk_storage, 1), new Object[] { "C", "R", "C", 'C', ModBlocks.crate_steel, 'R', ModBlocks.rbmk_blank }); @@ -891,8 +891,9 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.pwr_fuel, 4), new Object[] { "LZL", "L L", "LZL", 'L', PB.plate528(), 'Z', ZR.plateWelded() }); addRecipeAuto(new ItemStack(ModBlocks.pwr_control, 4), new Object[] { "SBS", "MBM", "SBS", 'S', STEEL.plate528(), 'B', B.ingot(), 'M', ModItems.motor }); - addRecipeAuto(new ItemStack(ModBlocks.pwr_channel, 4), new Object[] { "CPC", "BPB", "CPC", 'C', CU.ingot(), 'P', ModBlocks.deco_pipe_quad, 'B', ANY_PLASTIC.ingot() }); + addRecipeAuto(new ItemStack(ModBlocks.pwr_channel, 4), new Object[] { "CPC", "BPB", "CPC", 'C', CU.ingot(), 'P', STEEL.pipe(), 'B', ANY_PLASTIC.ingot() }); addRecipeAuto(new ItemStack(ModBlocks.pwr_heatex, 4), new Object[] { "CSC", "SMS", "CSC", 'C', CU.plateCast(), 'S', STEEL.plate528(), 'M', ModItems.motor }); + addRecipeAuto(new ItemStack(ModBlocks.pwr_heatsink, 4), new Object[] { "SCS", "CRC", "SCS", 'S', BIGMT.plateCast(), 'C', CU.plate(), 'R', RUBBER.ingot() }); addRecipeAuto(new ItemStack(ModBlocks.pwr_reflector, 4), new Object[] { "RLR", "LSL", "RLR", 'R', OreDictManager.getReflector(), 'L', PB.plate528(), 'S', STEEL.plateCast() }); addRecipeAuto(new ItemStack(ModBlocks.pwr_casing, 4), new Object[] { "LCL", "CSC", "LCL", 'L', PB.plate528(), 'C', ANY_CONCRETE.any(), 'S', STEEL.plateCast() }); addRecipeAuto(new ItemStack(ModBlocks.pwr_controller, 1), new Object[] { "CPC", "PSP", "CPC", 'C', ModBlocks.pwr_casing, 'P', ANY_PLASTIC.ingot(), 'S', !GeneralConfig.enableExpensiveMode ? ModItems.circuit_gold : STEEL.heavyComp() }); @@ -917,7 +918,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.machine_storage_drum), new Object[] { "LLL", "L#L", "LLL", 'L', PB.plate(), '#', ModItems.tank_steel }); - addRecipeAuto(new ItemStack(ModBlocks.deco_pipe, 6), new Object[] { "PPP", 'P', ModItems.hull_small_steel }); + addRecipeAuto(new ItemStack(ModBlocks.deco_pipe, 6), new Object[] { "PP", 'P', STEEL.pipe() }); addShapelessAuto(new ItemStack(ModBlocks.deco_pipe, 1), new Object[] { ModBlocks.deco_pipe_rim }); addShapelessAuto(new ItemStack(ModBlocks.deco_pipe, 1), new Object[] { ModBlocks.deco_pipe_framed }); addShapelessAuto(new ItemStack(ModBlocks.deco_pipe, 1), new Object[] { ModBlocks.deco_pipe_quad }); @@ -958,7 +959,7 @@ public class CraftingManager { addShapelessAuto(new ItemStack(ModItems.solid_fuel, 3), new Object[] { Fluids.HEATINGOIL.getDict(16000), KEY_TOOL_CHEMISTRYSET }); addShapelessAuto(new ItemStack(ModItems.canister_full, 2, Fluids.LUBRICANT.getID()), new Object[] { Fluids.HEATINGOIL.getDict(1000), Fluids.UNSATURATEDS.getDict(1000), ModItems.canister_empty, ModItems.canister_empty, KEY_TOOL_CHEMISTRYSET }); - addRecipeAuto(new ItemStack(ModBlocks.machine_condenser), new Object[] { "SIS", "ICI", "SIS", 'S', STEEL.ingot(), 'I', IRON.plate(), 'C', ModItems.board_copper }); + addRecipeAuto(new ItemStack(ModBlocks.machine_condenser), new Object[] { "SIS", "ICI", "SIS", 'S', STEEL.ingot(), 'I', IRON.plate(), 'C', CU.plateCast() }); addShapelessAuto(new ItemStack(ModItems.book_guide, 1, BookType.TEST.ordinal()), new Object[] { Items.book, ModItems.canned_conserve.stackFromEnum(EnumFoodType.JIZZ) }); addShapelessAuto(new ItemStack(ModItems.book_guide, 1, BookType.RBMK.ordinal()), new Object[] { Items.book, Items.potato }); @@ -967,7 +968,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.charger), new Object[] { "G", "S", "C", 'G', Items.glowstone_dust, 'S', STEEL.ingot(), 'C', ModItems.coil_copper }); addRecipeAuto(new ItemStack(ModBlocks.charger, 16), new Object[] { "G", "S", "C", 'G', Blocks.glowstone, 'S', STEEL.block(), 'C', ModItems.coil_copper_torus }); - addRecipeAuto(new ItemStack(ModBlocks.press_preheater), new Object[] { "CCC", "SLS", "TST", 'C', ModItems.board_copper, 'S', Blocks.stone, 'L', Fluids.LAVA.getDict(1000), 'T', W.ingot() }); + addRecipeAuto(new ItemStack(ModBlocks.press_preheater), new Object[] { "CCC", "SLS", "TST", 'C', CU.plate(), 'S', Blocks.stone, 'L', Fluids.LAVA.getDict(1000), 'T', W.ingot() }); addRecipeAuto(new ItemStack(ModItems.fluid_identifier_multi), new Object[] { "D", "C", "P", 'D', "dye", 'C', ModItems.circuit_aluminium, 'P', ANY_PLASTIC.ingot() }); addShapelessAuto(ItemBattery.getEmptyBattery(ModItems.anchor_remote), new Object[] { DIAMOND.gem(), ModItems.ducttape, ModItems.circuit_red_copper }); @@ -975,7 +976,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.field_disturber), new Object[] { "ICI", "CAC", "ICI", 'I', STAR.ingot(), 'C', KEY_CIRCUIT_BISMUTH, 'A', ModItems.gem_alexandrite }); addShapelessAuto(new ItemStack(ModItems.holotape_image, 1, EnumHoloImage.HOLO_RESTORED.ordinal()), new Object[] { new ItemStack(ModItems.holotape_image, 1, EnumHoloImage.HOLO_DIGAMMA.ordinal()), KEY_TOOL_SCREWDRIVER, ModItems.ducttape, ModItems.armor_polish }); - addShapelessAuto(new ItemStack(ModItems.holotape_damaged), new Object[] { DictFrame.fromOne(ModItems.holotape_image, EnumHoloImage.HOLO_RESTORED), ModBlocks.muffler, ModItems.crt_display, ModItems.gem_alexandrite /* placeholder for amplifier */ }); + addShapelessAuto(new ItemStack(ModItems.holotape_damaged), new Object[] { DictFrame.fromOne(ModItems.holotape_image, EnumHoloImage.HOLO_RESTORED), ModItems.upgrade_muffler, ModItems.crt_display, ModItems.gem_alexandrite /* placeholder for amplifier */ }); addRecipeAuto(DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_PNEUMATIC, 4), new Object[] { " I ", "CPC", " I ", 'I', IRON.ingot(), 'C', CU.ingot(), 'P', IRON.plate() }); addRecipeAuto(DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_HYDRAULIC, 4), new Object[] { " I ", "CPC", " I ", 'I', STEEL.ingot(), 'C', TI.ingot(), 'P', Fluids.LUBRICANT.getDict(1000) }); @@ -1004,7 +1005,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.radar_screen), new Object[] { "PCP", "SRS", "PCP", 'P', ANY_PLASTIC.ingot(), 'C', ModItems.circuit_aluminium, 'S', STEEL.plate(), 'R', ModItems.crt_display }); addRecipeAuto(new ItemStack(ModItems.radar_linker), new Object[] { "S", "C", "P", 'S', ModItems.crt_display, 'C', ModItems.circuit_copper, 'P', STEEL.plate() }); - addRecipeAuto(new ItemStack(ModItems.drone, 1, EnumDroneType.PATROL.ordinal()), new Object[] { "PPP", "HCH", " B ", 'P', ANY_PLASTIC.ingot(), 'H', ModItems.hull_small_steel, 'C', ModItems.circuit_copper, 'B', ModBlocks.crate_steel }); + addRecipeAuto(new ItemStack(ModItems.drone, 1, EnumDroneType.PATROL.ordinal()), new Object[] { "PPP", "HCH", " B ", 'P', ANY_PLASTIC.ingot(), 'H', STEEL.shell(), 'C', ModItems.circuit_copper, 'B', ModBlocks.crate_steel }); addRecipeAuto(new ItemStack(ModItems.drone, 1, EnumDroneType.PATROL_CHUNKLOADING.ordinal()), new Object[] { "E", "D", 'E', Items.ender_pearl, 'D', new ItemStack(ModItems.drone, 1, EnumDroneType.PATROL.ordinal()) }); addRecipeAuto(new ItemStack(ModItems.drone, 1, EnumDroneType.PATROL_EXPRESS.ordinal()), new Object[] { " P ", "KDK", " P ", 'P', TI.plateWelded(), 'K', Fluids.KEROSENE.getDict(1_000), 'D', new ItemStack(ModItems.drone, 1, EnumDroneType.PATROL.ordinal()) }); addRecipeAuto(new ItemStack(ModItems.drone, 1, EnumDroneType.PATROL_EXPRESS_CHUNKLOADING.ordinal()), new Object[] { "E", "D", 'E', Items.ender_pearl, 'D', new ItemStack(ModItems.drone, 1, EnumDroneType.PATROL_EXPRESS.ordinal()) }); @@ -1043,6 +1044,8 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModItems.mold_base), new Object[] { " B ", "BIB", " B ", 'B', ModItems.ingot_firebrick, 'I', IRON.ingot() }); addRecipeAuto(new ItemStack(ModBlocks.brick_fire), new Object[] { "BB", "BB", 'B', ModItems.ingot_firebrick }); addShapelessAuto(new ItemStack(ModItems.ingot_firebrick, 4), new Object[] { ModBlocks.brick_fire }); + + addRecipeAuto(new ItemStack(ModBlocks.machine_drain), new Object[] { "PPP", "T ", "PPP", 'P', STEEL.plateCast(), 'T', ModItems.tank_steel }); addRecipeAuto(new ItemStack(ModBlocks.filing_cabinet, 1, DecoCabinetEnum.STEEL.ordinal()), new Object[] { " P ", "PIP", " P ", 'P', STEEL.plate(), 'I', ModItems.plate_polymer }); @@ -1067,6 +1070,8 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.ore_nether_uranium, 8), new Object[] { "OOO", "OBO", "OOO", 'O', ModBlocks.ore_nether_uranium_scorched, 'B', Items.water_bucket }); addShapelessAuto(new ItemStack(ModBlocks.ore_gneiss_uranium, 1), new Object[] { ModBlocks.ore_gneiss_uranium_scorched, Items.water_bucket }); addRecipeAuto(new ItemStack(ModBlocks.ore_gneiss_uranium, 8), new Object[] { "OOO", "OBO", "OOO", 'O', ModBlocks.ore_gneiss_uranium_scorched, 'B', Items.water_bucket }); + addShapelessAuto(new ItemStack(ModBlocks.ore_uranium, 1), new Object[] { ModBlocks.ore_sellafield_uranium_scorched, Items.water_bucket }); + addRecipeAuto(new ItemStack(ModBlocks.ore_uranium, 8), new Object[] { "OOO", "OBO", "OOO", 'O', ModBlocks.ore_sellafield_uranium_scorched, 'B', Items.water_bucket }); addRecipeAuto(new ItemStack(ModItems.plate_iron, 4), new Object[] { "##", "##", '#', IRON.ingot() }); addRecipeAuto(new ItemStack(ModItems.plate_gold, 4), new Object[] { "##", "##", '#', GOLD.ingot() }); @@ -1093,6 +1098,10 @@ public class CraftingManager { } if(!GeneralConfig.enable528) { + addRecipeAuto(new ItemStack(ModBlocks.machine_spp_bottom), new Object[] { "MDM", "LCL", "LWL", 'M', MAGTUNG.ingot(), 'D', ModItems.plate_desh, 'L', PB.plate(), 'C', ModItems.circuit_gold, 'W', ModItems.coil_magnetized_tungsten }); + addRecipeAuto(new ItemStack(ModBlocks.machine_spp_top), new Object[] { "LWL", "LCL", "MDM", 'M', MAGTUNG.ingot(), 'D', ModItems.plate_desh, 'L', PB.plate(), 'C', ModItems.circuit_gold, 'W', ModItems.coil_magnetized_tungsten }); + addShapelessAuto(new ItemStack(ModBlocks.machine_spp_bottom), new Object[] { ModBlocks.machine_spp_top }); + addShapelessAuto(new ItemStack(ModBlocks.machine_spp_top), new Object[] { ModBlocks.machine_spp_bottom }); addRecipeAuto(new ItemStack(ModBlocks.struct_launcher_core, 1), new Object[] { "SCS", "SIS", "BEB", 'S', ModBlocks.steel_scaffold, 'I', Blocks.iron_bars, 'C', ModItems.circuit_targeting_tier3, 'B', ModBlocks.struct_launcher, 'E', ModBlocks.machine_battery }); addRecipeAuto(new ItemStack(ModBlocks.struct_launcher_core_large, 1), new Object[] { "SIS", "ICI", "BEB", 'S', ModItems.circuit_red_copper, 'I', Blocks.iron_bars, 'C', ModItems.circuit_targeting_tier4, 'B', ModBlocks.struct_launcher, 'E', ModBlocks.machine_battery }); addRecipeAuto(new ItemStack(ModBlocks.struct_soyuz_core, 1), new Object[] { "CUC", "TST", "TBT", 'C', ModItems.circuit_targeting_tier4, 'U', ModItems.upgrade_power_3, 'T', ModBlocks.barrel_steel, 'S', ModBlocks.steel_scaffold, 'B', ModBlocks.machine_lithium_battery }); @@ -1100,13 +1109,21 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.rbmk_console, 1), new Object[] { "BBB", "DGD", "DCD", 'B', B.ingot(), 'D', ModBlocks.deco_rbmk, 'G', KEY_ANYPANE, 'C', ModItems.circuit_targeting_tier3 }); addRecipeAuto(new ItemStack(ModBlocks.rbmk_crane_console, 1), new Object[] { "BCD", "DDD", 'B', B.ingot(), 'D', ModBlocks.deco_rbmk, 'C', ModItems.circuit_targeting_tier3 }); addRecipeAuto(new ItemStack(ModBlocks.hadron_core, 1), new Object[] { "CCC", "DSD", "CCC", 'C', ModBlocks.hadron_coil_alloy, 'D', ModBlocks.hadron_diode, 'S', ModItems.circuit_schrabidium }); - addRecipeAuto(new ItemStack(ModBlocks.rbmk_rod, 1), new Object[] { "C", "R", "C", 'C', ModItems.hull_small_steel, 'R', ModBlocks.rbmk_blank }); + addRecipeAuto(new ItemStack(ModBlocks.rbmk_rod, 1), new Object[] { "C", "R", "C", 'C', STEEL.shell(), 'R', ModBlocks.rbmk_blank }); addRecipeAuto(new ItemStack(ModBlocks.rbmk_rod_mod, 1), new Object[] { "BGB", "GRG", "BGB", 'G', GRAPHITE.block(), 'R', ModBlocks.rbmk_rod, 'B', ModItems.nugget_bismuth }); - addRecipeAuto(new ItemStack(ModBlocks.rbmk_boiler, 1), new Object[] { "CPC", "CRC", "CPC", 'C', ModItems.board_copper, 'P', ModItems.pipes_steel, 'R', ModBlocks.rbmk_blank }); - addRecipeAuto(new ItemStack(ModBlocks.rbmk_heater, 1), new Object[] { "CIC", "PRP", "CIC", 'C', ModItems.board_copper, 'P', ModItems.pipes_steel, 'R', ModBlocks.rbmk_blank, 'I', ANY_PLASTIC.ingot() }); + addRecipeAuto(new ItemStack(ModBlocks.rbmk_boiler, 1), new Object[] { "CPC", "CRC", "CPC", 'C', CU.pipe(), 'P', CU.shell(), 'R', ModBlocks.rbmk_blank }); + addRecipeAuto(new ItemStack(ModBlocks.rbmk_heater, 1), new Object[] { "CIC", "PRP", "CIC", 'C', CU.pipe(), 'P', STEEL.shell(), 'R', ModBlocks.rbmk_blank, 'I', ANY_PLASTIC.ingot() }); addRecipeAuto(new ItemStack(ModBlocks.rbmk_cooler, 1), new Object[] { "IGI", "GCG", "IGI", 'C', ModBlocks.rbmk_blank, 'I', ModItems.plate_polymer, 'G', ModBlocks.steel_grate }); } + addShapelessAuto(new ItemStack(ModItems.launch_code), new Object[] { + new ItemStack(ModItems.launch_code_piece), new ItemStack(ModItems.launch_code_piece), + new ItemStack(ModItems.launch_code_piece), new ItemStack(ModItems.launch_code_piece), + new ItemStack(ModItems.launch_code_piece), new ItemStack(ModItems.launch_code_piece), + new ItemStack(ModItems.launch_code_piece), new ItemStack(ModItems.launch_code_piece), + new ItemStack(ModItems.circuit_aluminium) + }); + addShapelessAuto(ModItems.circuit_star_component.stackFromEnum(CircuitComponentType.CHIPSET), new Object[] { ModItems.circuit_star_piece.stackFromEnum(ScrapType.BRIDGE_BIOS), ModItems.circuit_star_piece.stackFromEnum(ScrapType.BRIDGE_BUS), @@ -1134,11 +1151,18 @@ public class CraftingManager { ModItems.circuit_star_piece.stackFromEnum(ScrapType.MEM_16K_D) }); + addShapelessAuto(ModItems.circuit_star_component.stackFromEnum(CircuitComponentType.CARD), new Object[] { + ModItems.circuit_star_piece.stackFromEnum(ScrapType.CARD_BOARD), + ModItems.circuit_star_piece.stackFromEnum(ScrapType.CARD_PROCESSOR) + }); + addShapelessAuto(new ItemStack(ModItems.circuit_star), new Object[] { ModItems.circuit_star_component.stackFromEnum(CircuitComponentType.CHIPSET), ModItems.circuit_star_component.stackFromEnum(CircuitComponentType.CPU), ModItems.circuit_star_component.stackFromEnum(CircuitComponentType.RAM), + ModItems.circuit_star_component.stackFromEnum(CircuitComponentType.CARD), ModItems.circuit_star_piece.stackFromEnum(ScrapType.BOARD_TRANSISTOR), + ModItems.circuit_star_piece.stackFromEnum(ScrapType.BOARD_CONVERTER), ModItems.circuit_star_piece.stackFromEnum(ScrapType.BOARD_BLANK) }); @@ -1166,6 +1190,10 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.cm_circuit, 1, 2), " I ", "IMI", " I ", 'I', STEEL.ingot(), 'M', ModItems.circuit_red_copper); addRecipeAuto(new ItemStack(ModBlocks.cm_circuit, 1, 3), " I ", "IMI", " I ", 'I', STEEL.ingot(), 'M', ModItems.circuit_gold); addRecipeAuto(new ItemStack(ModBlocks.cm_circuit, 1, 4), " I ", "IMI", " I ", 'I', STEEL.ingot(), 'M', ModItems.circuit_schrabidium); + addRecipeAuto(new ItemStack(ModBlocks.cm_flux, 1, 0), "NNN", "ZCZ", "NNN", 'Z', ZR.plateCast(), 'N', ModItems.neutron_reflector, 'C', ModItems.reactor_core); + addRecipeAuto(new ItemStack(ModBlocks.cm_heat, 1, 0), "PCP", "PCP", "PCP", 'P', ModItems.plate_polymer, 'C', CU.ingot()); + + addShapelessAuto(new ItemStack(ModItems.missile_soyuz), new ItemStack(ModItems.missile_carrier)); } public static void crumple() { diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 6b933db58..bab9ff66b 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -25,6 +25,7 @@ import com.hbm.inventory.FluidContainerRegistry; import com.hbm.inventory.OreDictManager; import com.hbm.inventory.OreDictManager.DictFrame; import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.material.Mats; import com.hbm.inventory.recipes.*; import com.hbm.inventory.recipes.anvil.AnvilRecipes; import com.hbm.inventory.recipes.loader.SerializableRecipe; @@ -40,24 +41,21 @@ import com.hbm.packet.PacketDispatcher; import com.hbm.potion.HbmPotion; import com.hbm.saveddata.satellites.Satellite; import com.hbm.tileentity.TileMappings; -import com.hbm.tileentity.bomb.TileEntityLaunchPad; +import com.hbm.tileentity.bomb.TileEntityLaunchPadBase; import com.hbm.tileentity.bomb.TileEntityNukeCustom; -import com.hbm.tileentity.machine.TileEntityMachineReactorLarge; import com.hbm.tileentity.machine.TileEntityNukeFurnace; import com.hbm.tileentity.machine.rbmk.RBMKDials; import com.hbm.util.*; +import com.hbm.world.biome.BiomeGenCraterBase; import com.hbm.world.feature.BedrockOre; import com.hbm.world.feature.OreCave; import com.hbm.world.feature.OreLayer3D; import com.hbm.world.feature.SchistStratum; import com.hbm.world.generator.CellularDungeonFactory; -import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.common.Mod; +import cpw.mods.fml.common.*; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.Mod.Metadata; -import cpw.mods.fml.common.ModMetadata; -import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.*; import cpw.mods.fml.common.event.FMLInterModComms.IMCEvent; import cpw.mods.fml.common.event.FMLInterModComms.IMCMessage; @@ -190,6 +188,7 @@ public class MainRegistry { public static Achievement achGoFish; public static Achievement achNo9; public static Achievement achInferno; + public static Achievement achRedRoom; public static Achievement bobHidden; public static Achievement horizonsStart; public static Achievement horizonsEnd; @@ -269,6 +268,9 @@ public class MainRegistry { loadConfig(PreEvent); HbmPotion.init(); + /* For whichever fucking reason, replacing the bolt items with a bolt autogen broke all autogen items, most likely due to the load order. + * This "fix" just makes sure that the material system is loaded first no matter what. */ + Mats.MAT_STONE.getUnlocalizedName(); Fluids.init(); ModBlocks.mainRegistry(); ModItems.mainRegistry(); @@ -280,7 +282,6 @@ public class MainRegistry { Satellite.register(); HTTPHandler.loadStats(); CraftingManager.mainRegistry(); - AssemblerRecipes.preInit(PreEvent.getModConfigurationDirectory()); SiegeTier.registerTiers(); HazardRegistry.registerItems(); HazardRegistry.registerTrafos(); @@ -289,6 +290,8 @@ public class MainRegistry { MinecraftForge.EVENT_BUS.register(oreMan); //OreRegisterEvent OreDictManager.registerGroups(); //important to run first OreDictManager.registerOres(); + + if(WorldConfig.enableCraterBiomes) BiomeGenCraterBase.initDictionary(); Library.superuser.add("192af5d7-ed0f-48d8-bd89-9d41af8524f8"); Library.superuser.add("5aee1e3d-3767-4987-a222-e7ce1fbdf88e"); @@ -325,7 +328,7 @@ public class MainRegistry { TileMappings.writeMappings(); MachineDynConfig.initialize(); - TileEntityLaunchPad.registerLaunchables(); + TileEntityLaunchPadBase.registerLaunchables(); for(Entry, String[]> e : TileMappings.map.entrySet()) { @@ -340,7 +343,9 @@ public class MainRegistry { ChestGenHooks.addItem(ChestGenHooks.MINESHAFT_CORRIDOR, new WeightedRandomChestContent(new ItemStack(ModItems.bathwater), 1, 1, 1)); ChestGenHooks.addItem(ChestGenHooks.MINESHAFT_CORRIDOR, new WeightedRandomChestContent(new ItemStack(ModItems.serum), 1, 1, 5)); ChestGenHooks.addItem(ChestGenHooks.MINESHAFT_CORRIDOR, new WeightedRandomChestContent(new ItemStack(ModItems.no9), 1, 1, 5)); + ChestGenHooks.addItem(ChestGenHooks.MINESHAFT_CORRIDOR, new WeightedRandomChestContent(new ItemStack(ModItems.key_red_cracked), 1, 1, 5)); ChestGenHooks.addItem(ChestGenHooks.DUNGEON_CHEST, new WeightedRandomChestContent(new ItemStack(ModItems.heart_piece), 1, 1, 1)); + ChestGenHooks.addItem(ChestGenHooks.DUNGEON_CHEST, new WeightedRandomChestContent(new ItemStack(ModItems.key_red_cracked), 1, 1, 5)); ChestGenHooks.addItem(ChestGenHooks.PYRAMID_DESERT_CHEST, new WeightedRandomChestContent(new ItemStack(ModItems.heart_piece), 1, 1, 1)); ChestGenHooks.addItem(ChestGenHooks.PYRAMID_JUNGLE_CHEST, new WeightedRandomChestContent(new ItemStack(ModItems.heart_piece), 1, 1, 1)); ChestGenHooks.addItem(ChestGenHooks.DUNGEON_CHEST, new WeightedRandomChestContent(new ItemStack(ModItems.scrumpy), 1, 1, 1)); @@ -667,7 +672,7 @@ public class MainRegistry { achFreytag = new Achievement("achievement.freytag", "freytag", 0, -4, ModItems.gun_mp40, null).initIndependentStat().setSpecial().registerStat(); achPotato = new Achievement("achievement.potato", "potato", -2, -2, ModItems.battery_potatos, null).initIndependentStat().setSpecial().registerStat(); achC44 = new Achievement("achievement.c44", "c44", 2, -4, ModItems.gun_revolver_pip, null).initIndependentStat().setSpecial().registerStat(); - achC20_5 = new Achievement("achievement.c20_5", "c20_5", 3, 6, ModItems.gun_dampfmaschine, null).initIndependentStat().setSpecial().registerStat(); + achC20_5 = new Achievement("achievement.c20_5", "c20_5", 3, 6, DictFrame.fromOne(ModItems.achievement_icon, EnumAchievementType.QUESTIONMARK), null).initIndependentStat().setSpecial().registerStat(); achFiend = new Achievement("achievement.fiend", "fiend", -6, 8, ModItems.shimmer_sledge, null).initIndependentStat().setSpecial().registerStat(); achFiend2 = new Achievement("achievement.fiend2", "fiend2", -4, 9, ModItems.shimmer_axe, null).initIndependentStat().setSpecial().registerStat(); achStratum = new Achievement("achievement.stratum", "stratum", -4, -2, new ItemStack(ModBlocks.stone_gneiss), null).initIndependentStat().setSpecial().registerStat(); @@ -678,8 +683,9 @@ public class MainRegistry { achSlimeball = new Achievement("achievement.slimeball", "slimeball", -10, 6, DictFrame.fromOne(ModItems.achievement_icon, EnumAchievementType.ACID), null).initIndependentStat().registerStat(); achSulfuric = new Achievement("achievement.sulfuric", "sulfuric", -10, 8, DictFrame.fromOne(ModItems.achievement_icon, EnumAchievementType.BALLS), achSlimeball).initIndependentStat().setSpecial().registerStat(); achInferno = new Achievement("achievement.inferno", "inferno", -8, 10, ModItems.canister_napalm, null).initIndependentStat().setSpecial().registerStat(); + achRedRoom = new Achievement("achievement.redRoom", "redRoom", -10, 10, ModItems.key_red, null).initIndependentStat().setSpecial().registerStat(); - bobHidden = new Achievement("achievement.hidden", "hidden", 15, -4, ModItems.gun_dampfmaschine, null).initIndependentStat().registerStat(); + bobHidden = new Achievement("achievement.hidden", "hidden", 15, -4, DictFrame.fromOne(ModItems.achievement_icon, EnumAchievementType.QUESTIONMARK), null).initIndependentStat().registerStat(); horizonsStart = new Achievement("achievement.horizonsStart", "horizonsStart", -5, 4, ModItems.sat_gerald, null).initIndependentStat().registerStat(); horizonsEnd = new Achievement("achievement.horizonsEnd", "horizonsEnd", -3, 4, ModItems.sat_gerald, horizonsStart).initIndependentStat().registerStat(); @@ -724,7 +730,7 @@ public class MainRegistry { achZIRNOXBoom = new Achievement("achievement.ZIRNOXBoom", "ZIRNOXBoom", 14, -1, ModItems.debris_element, achCentrifuge).initIndependentStat().setSpecial().registerStat(); achChicagoPile = new Achievement("achievement.chicagoPile", "chicagoPile", 13, 0, ModItems.pile_rod_plutonium, achCentrifuge).initIndependentStat().registerStat(); achSILEX = new Achievement("achievement.SILEX", "SILEX", 12, 7, new ItemStack(ModBlocks.machine_silex), achAcidizer).initIndependentStat().registerStat(); - achWatz = new Achievement("achievement.watz", "watz", 14, 3, ModItems.pellet_schrabidium, achSchrab).initIndependentStat().registerStat(); + achWatz = new Achievement("achievement.watz", "watz", 14, 3, ModItems.watz_pellet, achSchrab).initIndependentStat().registerStat(); achWatzBoom = new Achievement("achievement.watzBoom", "watzBoom", 14, 5, ModItems.bucket_mud, achWatz).initIndependentStat().setSpecial().registerStat(); achRBMK = new Achievement("achievement.RBMK", "RBMK", 9, -5, ModItems.rbmk_fuel_ueu, achConcrete).initIndependentStat().registerStat(); achRBMKBoom = new Achievement("achievement.RBMKBoom", "RBMKBoom", 9, -7, ModItems.debris_fuel, achRBMK).initIndependentStat().setSpecial().registerStat(); @@ -757,6 +763,7 @@ public class MainRegistry { achWitchtaunter, achNo9, achInferno, + achRedRoom, achSlimeball, achSulfuric, bossCreeper, @@ -810,6 +817,12 @@ public class MainRegistry { IMCHandler.registerHandler("blastfurnace", new IMCBlastFurnace()); IMCHandler.registerHandler("crystallizer", new IMCCrystallizer()); IMCHandler.registerHandler("centrifuge", new IMCCentrifuge()); + + if (Loader.isModLoaded("NotEnoughItems")){ + if (Loader.instance().getIndexedModList().get("NotEnoughItems").getVersion().contains("GTNH")) { + proxy.handleNHNEICompat(); + } + } } @EventHandler @@ -832,10 +845,9 @@ public class MainRegistry { @EventHandler public static void PostLoad(FMLPostInitializationEvent PostEvent) { TileEntityNukeFurnace.registerFuels(); - AssemblerRecipes.loadRecipes(); MagicRecipes.register(); + LemegetonRecipes.register(); SILEXRecipes.register(); - AnvilRecipes.register(); RefineryRecipes.registerRefinery(); GasCentrifugeRecipes.register(); @@ -844,17 +856,20 @@ public class MainRegistry { //the good stuff SerializableRecipe.registerAllHandlers(); SerializableRecipe.initialize(); + + //Anvil has to come after serializables (i.e. anvil) + AnvilRecipes.register(); //has to register after cracking, and therefore after all serializable recipes RadiolysisRecipes.registerRadiolysis(); FalloutConfigJSON.initialize(); + ItemPoolConfigJSON.initialize(); TileEntityNukeCustom.registerBombItems(); ArmorUtil.register(); HazmatRegistry.registerHazmats(); FluidContainerRegistry.register(); - TileEntityMachineReactorLarge.registerAll(); BlockToolConversion.registerRecipes(); AchievementHandler.register(); @@ -920,7 +935,6 @@ public class MainRegistry { public void serverStart(FMLServerStartingEvent event) { World world = event.getServer().getEntityWorld(); RBMKDials.createDials(world); - SiegeOrchestrator.createGameRules(world); event.registerServerCommand(new CommandReloadRecipes()); event.registerServerCommand(new CommandDebugChunkLoad()); event.registerServerCommand(new CommandSatellites()); @@ -1175,11 +1189,151 @@ public class MainRegistry { ignoreMappings.add("hbm:item.recycled_nuclear"); ignoreMappings.add("hbm:item.recycled_misc"); ignoreMappings.add("hbm:item.gun_bf_ammo"); + ignoreMappings.add("hbm:tile.brick_dungeon"); + ignoreMappings.add("hbm:tile.brick_dungeon_flat"); + ignoreMappings.add("hbm:tile.brick_dungeon_tile"); + ignoreMappings.add("hbm:tile.brick_dungeon_circle"); + ignoreMappings.add("hbm:tile.bomber"); + ignoreMappings.add("hbm:item.bolt_tungsten"); + ignoreMappings.add("hbm:item.bolt_dura_steel"); + ignoreMappings.add("hbm:tile.rail_large_curve_wide"); + ignoreMappings.add("hbm:tile.nuke_n45"); + ignoreMappings.add("hbm:tile.machine_coal_off"); + ignoreMappings.add("hbm:tile.machine_coal_on"); + ignoreMappings.add("hbm:tile.machine_drill"); + ignoreMappings.add("hbm:tile.drill_pipe"); + ignoreMappings.add("hbm:tile.dummy_block_drill"); + ignoreMappings.add("hbm:tile.dummy_port_drill"); + ignoreMappings.add("hbm:tile.machine_combine_factory"); + ignoreMappings.add("hbm:tile.watz_core"); + ignoreMappings.add("hbm:tile.watz_hatch"); + ignoreMappings.add("hbm:tile.marker_structure"); + ignoreMappings.add("hbm:tile.reactor_element"); + ignoreMappings.add("hbm:tile.reactor_control"); + ignoreMappings.add("hbm:tile.reactor_hatch"); + ignoreMappings.add("hbm:tile.reactor_ejector"); + ignoreMappings.add("hbm:tile.reactor_inserter"); + ignoreMappings.add("hbm:tile.reactor_conductor"); + ignoreMappings.add("hbm:tile.reactor_computer"); + ignoreMappings.add("hbm:tile.ff"); + ignoreMappings.add("hbm:tile.muffler"); + ignoreMappings.add("hbm:tile.basalt_sulfur"); + ignoreMappings.add("hbm:tile.basalt_fluorite"); + ignoreMappings.add("hbm:tile.basalt_asbestos"); + ignoreMappings.add("hbm:tile.basalt_gem"); + ignoreMappings.add("hbm:item.missile_endo"); + ignoreMappings.add("hbm:item.missile_exo"); + ignoreMappings.add("hbm:item.warhead_thermo_endo"); + ignoreMappings.add("hbm:item.warhead_thermo_exo"); + ignoreMappings.add("hbm:item.gun_dampfmaschine"); + ignoreMappings.add("hbm:item.canteen_13"); + ignoreMappings.add("hbm:tile.residue"); + ignoreMappings.add("hbm:item.powder_cloud"); + ignoreMappings.add("hbm:item.gun_detonator"); + ignoreMappings.add("hbm:item.gun_avenger"); + ignoreMappings.add("hbm:tile.block_cap_nuka"); + ignoreMappings.add("hbm:tile.block_cap_quantum"); + ignoreMappings.add("hbm:tile.block_cap_rad"); + ignoreMappings.add("hbm:tile.block_cap_sparkle"); + ignoreMappings.add("hbm:tile.block_cap_korl"); + ignoreMappings.add("hbm:tile.block_cap_fritz"); + ignoreMappings.add("hbm:tile.block_cap_sunset"); + ignoreMappings.add("hbm:tile.block_cap_star"); + ignoreMappings.add("hbm:tile.machine_deaerator"); + ignoreMappings.add("hbm:item.bottle2_sunset"); + ignoreMappings.add("hbm:item.cap_sunset"); + ignoreMappings.add("hbm:item.cap_star"); + ignoreMappings.add("hbm:tile.test_render"); + ignoreMappings.add("hbm:tile.test_bomb"); + ignoreMappings.add("hbm:tile.test_bomb_advanced"); + ignoreMappings.add("hbm:tile.test_nuke"); + ignoreMappings.add("hbm:tile.test_pipe"); + ignoreMappings.add("hbm:tile.test_ct"); + ignoreMappings.add("hbm:tile.test_rail"); + ignoreMappings.add("hbm:tile.block_niter_reinforced"); + ignoreMappings.add("hbm:tile.siege_shield"); + ignoreMappings.add("hbm:tile.siege_internal"); + ignoreMappings.add("hbm:tile.siege_circuit"); + ignoreMappings.add("hbm:tile.siege_emergency"); + ignoreMappings.add("hbm:tile.siege_hole"); + ignoreMappings.add("hbm:tile.machine_shredder_large"); + ignoreMappings.add("hbm:tile.turret_brandon"); + ignoreMappings.add("hbm:item.bottle2_sunset"); + ignoreMappings.add("hbm:item.pellet_schrabidium"); + ignoreMappings.add("hbm:item.pellet_hes"); + ignoreMappings.add("hbm:item.pellet_mes"); + ignoreMappings.add("hbm:item.pellet_les"); + ignoreMappings.add("hbm:item.pellet_beryllium"); + ignoreMappings.add("hbm:item.pellet_neptunium"); + ignoreMappings.add("hbm:item.pellet_lead"); + ignoreMappings.add("hbm:item.pellet_advanced"); + ignoreMappings.add("hbm:item.board_copper"); + ignoreMappings.add("hbm:item.titanium_filter"); + ignoreMappings.add("hbm:item.battery_steam"); + ignoreMappings.add("hbm:item.battery_steam_large"); + ignoreMappings.add("hbm:item.hull_small_steel"); + ignoreMappings.add("hbm:item.hull_small_aluminium"); + ignoreMappings.add("hbm:item.hull_big_steel"); + ignoreMappings.add("hbm:item.hull_big_aluminium"); + ignoreMappings.add("hbm:item.hull_big_titanium"); + ignoreMappings.add("hbm:item.rod_zirnox_natural_uranium_fuel"); + ignoreMappings.add("hbm:item.rod_zirnox_uranium_fuel"); + ignoreMappings.add("hbm:item.rod_zirnox_th232"); + ignoreMappings.add("hbm:item.rod_zirnox_thorium_fuel"); + ignoreMappings.add("hbm:item.rod_zirnox_mox_fuel"); + ignoreMappings.add("hbm:item.rod_zirnox_plutonium_fuel"); + ignoreMappings.add("hbm:item.rod_zirnox_u233_fuel"); + ignoreMappings.add("hbm:item.rod_zirnox_u235_fuel"); + ignoreMappings.add("hbm:item.rod_zirnox_les_fuel"); + ignoreMappings.add("hbm:item.rod_zirnox_lithium"); + ignoreMappings.add("hbm:item.rod_zirnox_zfb_mox"); + ignoreMappings.add("hbm:item.gas_petroleum"); + ignoreMappings.add("hbm:item.gas_biogas"); + ignoreMappings.add("hbm:item.gas_lpg"); + ignoreMappings.add("hbm:item.gun_coilgun_ammo"); + ignoreMappings.add("hbm:item.rotor_steel"); + ignoreMappings.add("hbm:item.generator_steel"); + ignoreMappings.add("hbm:item.bolt_compound"); + ignoreMappings.add("hbm:tile.anvil_meteorite"); + ignoreMappings.add("hbm:tile.anvil_starmetal"); + ignoreMappings.add("hbm:tile.anvil_bismuth"); + ignoreMappings.add("hbm:tile.lamp_uv_off"); + ignoreMappings.add("hbm:tile.lamp_uv_on"); + ignoreMappings.add("hbm:tile.ams_base"); + ignoreMappings.add("hbm:tile.ams_emitter"); + ignoreMappings.add("hbm:tile.ams_limiter"); + ignoreMappings.add("hbm:tile.dummy_block_ams_limiter"); + ignoreMappings.add("hbm:tile.dummy_port_ams_limiter"); + ignoreMappings.add("hbm:tile.dummy_block_ams_emitter"); + ignoreMappings.add("hbm:tile.dummy_port_ams_emitter"); + ignoreMappings.add("hbm:tile.dummy_block_ams_base"); + ignoreMappings.add("hbm:tile.dummy_port_ams_base"); + ignoreMappings.add("hbm:tile.machine_selenium"); + ignoreMappings.add("hbm:tile.fwatz_conductor"); + ignoreMappings.add("hbm:tile.fwatz_cooler"); + ignoreMappings.add("hbm:tile.fwatz_tank"); + ignoreMappings.add("hbm:tile.fwatz_scaffold"); + ignoreMappings.add("hbm:tile.fwatz_hatch"); + ignoreMappings.add("hbm:tile.fwatz_computer"); + ignoreMappings.add("hbm:tile.fwatz_core"); + ignoreMappings.add("hbm:tile.fwatz_plasma"); + ignoreMappings.add("hbm:tile.ore_meteor_uranium"); + ignoreMappings.add("hbm:tile.ore_meteor_thorium"); + ignoreMappings.add("hbm:tile.ore_meteor_titanium"); + ignoreMappings.add("hbm:tile.ore_meteor_sulfur"); + ignoreMappings.add("hbm:tile.ore_meteor_copper"); + ignoreMappings.add("hbm:tile.ore_meteor_tungsten"); + ignoreMappings.add("hbm:tile.ore_meteor_aluminium"); + ignoreMappings.add("hbm:tile.ore_meteor_lead"); + ignoreMappings.add("hbm:tile.ore_meteor_lithium"); + ignoreMappings.add("hbm:tile.ore_meteor_starmetal"); + ignoreMappings.add("hbm:tile.machine_generator"); /// REMAP /// remapItems.put("hbm:item.gadget_explosive8", ModItems.early_explosive_lenses); remapItems.put("hbm:item.man_explosive8", ModItems.explosive_lenses); remapItems.put("hbm:item.briquette_lignite", ModItems.briquette); + remapItems.put("hbm:item.antiknock", ModItems.fuel_additive); for(MissingMapping mapping : event.get()) { diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index d0ab5626f..7b5772fc7 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -44,7 +44,6 @@ import com.hbm.handler.HTTPHandler; import com.hbm.handler.HbmKeybinds.EnumKeybind; import com.hbm.handler.pollution.PollutionHandler; import com.hbm.handler.pollution.PollutionHandler.PollutionType; -import com.hbm.handler.SiegeOrchestrator; import com.hbm.items.IEquipReceiver; import com.hbm.items.ModItems; import com.hbm.items.armor.ArmorFSB; @@ -80,6 +79,7 @@ import com.hbm.util.InventoryUtil; import com.hbm.util.ArmorRegistry.HazardClass; import com.hbm.world.generator.TimedGenerator; +import api.hbm.energymk2.Nodespace; import cpw.mods.fml.common.eventhandler.EventPriority; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.PlayerEvent; @@ -158,33 +158,38 @@ public class ModEventHandler { public void onPlayerLogin(PlayerEvent.PlayerLoggedInEvent event) { if(!event.player.worldObj.isRemote) { - event.player.addChatMessage(new ChatComponentText("Loaded world with Hbm's Nuclear Tech Mod " + RefStrings.VERSION + " for Minecraft 1.7.10!")); - - if(HTTPHandler.newVersion) { - event.player.addChatMessage( - new ChatComponentText("New version " + HTTPHandler.versionNumber + " is available! Click ") - .setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW)) - .appendSibling(new ChatComponentText("[here]") - .setChatStyle(new ChatStyle() - .setChatClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, "https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT/releases")) - .setUnderlined(true) - .setColor(EnumChatFormatting.RED) + + if(GeneralConfig.enableMOTD) { + event.player.addChatMessage(new ChatComponentText("Loaded world with Hbm's Nuclear Tech Mod " + RefStrings.VERSION + " for Minecraft 1.7.10!")); + + if(HTTPHandler.newVersion) { + event.player.addChatMessage( + new ChatComponentText("New version " + HTTPHandler.versionNumber + " is available! Click ") + .setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW)) + .appendSibling(new ChatComponentText("[here]") + .setChatStyle(new ChatStyle() + .setChatClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, "https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT/releases")) + .setUnderlined(true) + .setColor(EnumChatFormatting.RED) + ) ) - ) - .appendSibling(new ChatComponentText(" to download!").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW))) - ); + .appendSibling(new ChatComponentText(" to download!").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW))) + ); + } } if(MobConfig.enableDucks && event.player instanceof EntityPlayerMP && !event.player.getEntityData().getCompoundTag(EntityPlayer.PERSISTED_NBT_TAG).getBoolean("hasDucked")) PacketDispatcher.wrapper.sendTo(new PlayerInformPacket("Press O to Duck!", MainRegistry.proxy.ID_DUCK, 30_000), (EntityPlayerMP) event.player); - - HbmPlayerProps props = HbmPlayerProps.getData(event.player); - - if(!props.hasReceivedBook) { - event.player.inventory.addItemStackToInventory(new ItemStack(ModItems.book_guide, 1, BookType.STARTER.ordinal())); - event.player.inventoryContainer.detectAndSendChanges(); - props.hasReceivedBook = true; + + if(GeneralConfig.enableGuideBook) { + HbmPlayerProps props = HbmPlayerProps.getData(event.player); + + if(!props.hasReceivedBook) { + event.player.inventory.addItemStackToInventory(new ItemStack(ModItems.book_guide, 1, BookType.STARTER.ordinal())); + event.player.inventoryContainer.detectAndSendChanges(); + props.hasReceivedBook = true; + } } } } @@ -322,8 +327,10 @@ public class ModEventHandler { event.entityLiving.dropItem(ModItems.bandaid, 1); } - if(event.entityLiving instanceof IMob && event.entityLiving.getRNG().nextInt(1000) == 0) { - event.entityLiving.dropItem(ModItems.heart_piece, 1); + if(event.entityLiving instanceof IMob) { + if(event.entityLiving.getRNG().nextInt(1000) == 0) event.entityLiving.dropItem(ModItems.heart_piece, 1); + if(event.entityLiving.getRNG().nextInt(250) == 0) event.entityLiving.dropItem(ModItems.key_red_cracked, 1); + if(event.entityLiving.getRNG().nextInt(250) == 0) event.entityLiving.dropItem(ModItems.launch_code_piece, 1); } if(event.entityLiving instanceof EntityCyberCrab && event.entityLiving.getRNG().nextInt(500) == 0) { @@ -382,11 +389,6 @@ public class ModEventHandler { } } } - - SiegeOrchestrator.playerDeathHook(player, event.source); - - } else { - SiegeOrchestrator.mobDeathHook(entity, event.source); } } @@ -709,7 +711,6 @@ public class ModEventHandler { if(event.phase == Phase.START) { BossSpawnHandler.rollTheDice(event.world); TimedGenerator.automaton(event.world, 100); - SiegeOrchestrator.update(event.world); } } @@ -1078,7 +1079,7 @@ public class ModEventHandler { for(int k = 0; k < 5; k++) { vec.rotateAroundY((float) (1F * Math.PI / 180D)); - player.worldObj.spawnParticle("townaura", player.posX + vec.xCoord, player.posY + 1 + player.worldObj.rand.nextDouble() * 0.05, player.posZ + vec.zCoord, 0.0, 0.0, 0.0); + //player.worldObj.spawnParticle("townaura", player.posX + vec.xCoord, player.posY + 1 + player.worldObj.rand.nextDouble() * 0.05, player.posZ + vec.zCoord, 0.0, 0.0, 0.0); } } @@ -1101,6 +1102,7 @@ public class ModEventHandler { RTTYSystem.updateBroadcastQueue(); RequestNetwork.updateEntries(); TileEntityMachineRadarNT.updateSystem(); + Nodespace.updateNodespace(); } } diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index 7e3226470..ebc4c3d4b 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -1,6 +1,8 @@ package com.hbm.main; import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.Locale; import java.util.Random; @@ -29,6 +31,8 @@ import com.hbm.interfaces.IItemHUD; import com.hbm.interfaces.Spaghetti; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.gui.GUIArmorTable; +import com.hbm.inventory.gui.GUIScreenPreview; +import com.hbm.inventory.gui.GUIScreenWikiRender; import com.hbm.items.ISyncButtons; import com.hbm.items.ModItems; import com.hbm.items.armor.ArmorFSB; @@ -36,6 +40,9 @@ import com.hbm.items.armor.ArmorFSBPowered; import com.hbm.items.armor.ArmorNo9; import com.hbm.items.armor.ItemArmorMod; import com.hbm.items.armor.JetpackBase; +import com.hbm.items.machine.ItemDepletedFuel; +import com.hbm.items.machine.ItemFluidDuct; +import com.hbm.items.machine.ItemRBMKPellet; import com.hbm.items.weapon.ItemGunBase; import com.hbm.lib.Library; import com.hbm.lib.RefStrings; @@ -79,6 +86,7 @@ import com.hbm.sound.MovingSoundPlayerLoop.EnumHbmSound; import cpw.mods.fml.client.FMLClientHandler; import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.eventhandler.EventPriority; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.InputEvent; @@ -105,6 +113,7 @@ import net.minecraft.client.settings.KeyBinding; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; +import net.minecraft.init.Blocks; import net.minecraft.inventory.Slot; import net.minecraft.item.Item; import net.minecraft.item.ItemArmor; @@ -142,6 +151,8 @@ public class ModEventHandlerClient { public static final int flashDuration = 5_000; public static long flashTimestamp; + public static final int shakeDuration = 1_500; + public static long shakeTimestamp; @SubscribeEvent public void onOverlayRender(RenderGameOverlayEvent.Pre event) { @@ -160,7 +171,7 @@ public class ModEventHandlerClient { GL11.glDepthMask(false); tess.startDrawingQuads(); float brightness = (flashTimestamp + flashDuration - System.currentTimeMillis()) / (float) flashDuration; - tess.setColorRGBA_F(1F, 1F, 1F, brightness * 0.8F); + tess.setColorRGBA_F(1F, 1F, 1F, brightness * 1F); tess.addVertex(width, 0, 0); tess.addVertex(0, 0, 0); tess.addVertex(0, height, 0); @@ -208,6 +219,11 @@ public class ModEventHandlerClient { } else if(world.getBlock(mop.blockX, mop.blockY, mop.blockZ) instanceof ILookOverlay) { ((ILookOverlay) world.getBlock(mop.blockX, mop.blockY, mop.blockZ)).printHook(event, world, mop.blockX, mop.blockY, mop.blockZ); } + + /*List text = new ArrayList(); + text.add("Meta: " + world.getBlockMetadata(mop.blockX, mop.blockY, mop.blockZ)); + ILookOverlay.printGeneric(event, "DEBUG", 0xffff00, 0x4040000, text);*/ + } else if(mop.typeOfHit == mop.typeOfHit.ENTITY) { Entity entity = mop.entityHit; @@ -249,6 +265,11 @@ public class ModEventHandlerClient { double distanceToCover = 4D * (i == 0 ? 1 : -1); + if(distanceToCover < 0) { + distanceToCover *= -1; + yaw += 180; + } + do { it++; @@ -309,6 +330,9 @@ public class ModEventHandlerClient { if(animation == null) continue; + + if(animation.holdLastFrame) + continue; long time = System.currentTimeMillis() - animation.startMillis; @@ -349,24 +373,31 @@ public class ModEventHandlerClient { } } - @SubscribeEvent - public void onOverlayRender(RenderGameOverlayEvent.Post event) { + @SubscribeEvent(receiveCanceled = true) + public void onHUDRenderShield(RenderGameOverlayEvent.Pre event) { + + EntityPlayer player = Minecraft.getMinecraft().thePlayer; + + if(event.type == event.type.ARMOR) { + + HbmPlayerProps props = HbmPlayerProps.getData(player); + if(props.getEffectiveMaxShield() > 0) { + RenderScreenOverlay.renderShieldBar(event.resolution, Minecraft.getMinecraft().ingameGUI); + } + } + } + + @SubscribeEvent(receiveCanceled = true, priority = EventPriority.LOW) + public void onHUDRenderBar(RenderGameOverlayEvent.Post event) { /// HANDLE ELECTRIC FSB HUD /// EntityPlayer player = Minecraft.getMinecraft().thePlayer; Tessellator tess = Tessellator.instance; - if(!event.isCanceled() && event.type == event.type.HEALTH) { - HbmPlayerProps props = HbmPlayerProps.getData(player); - if(props.maxShield > 0) { - RenderScreenOverlay.renderShieldBar(event.resolution, Minecraft.getMinecraft().ingameGUI); - } - } - - if(!event.isCanceled() && event.type == event.type.ARMOR) { + if(event.type == event.type.ARMOR) { - if(ForgeHooks.getTotalArmorValue(player) == 0/* && GuiIngameForge.left_height == 59*/) { + if(ForgeHooks.getTotalArmorValue(player) == 0) { GuiIngameForge.left_height -= 10; } @@ -383,7 +414,7 @@ public class ModEventHandlerClient { for(int i = 0; i < (noHelmet ? 3 : 4); i++) { - int top = height - GuiIngameForge.left_height + 6; + int top = height - GuiIngameForge.left_height + 7; ItemStack stack = player.inventory.armorInventory[i]; @@ -437,7 +468,6 @@ public class ModEventHandlerClient { GL11.glEnable(GL11.GL_TEXTURE_2D); } - } } @@ -796,6 +826,8 @@ public class ModEventHandlerClient { CanneryBase cannery = Jars.canneries.get(comp); if(cannery != null) { list.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey("cannery.f1")); + lastCannery = comp; + canneryTimestamp = System.currentTimeMillis(); } } catch(Exception ex) { list.add(EnumChatFormatting.RED + "Error loading cannery: " + ex.getLocalizedMessage()); @@ -811,6 +843,9 @@ public class ModEventHandlerClient { }*/ } + private static long canneryTimestamp; + private static ComparableStack lastCannery = null; + private ResourceLocation ashes = new ResourceLocation(RefStrings.MODID + ":textures/misc/overlay_ash.png"); @SideOnly(Side.CLIENT) @@ -883,20 +918,24 @@ public class ModEventHandlerClient { public static int currentBrightness = 0; public static int lastBrightness = 0; + + static boolean isRenderingItems = false; @SubscribeEvent public void clentTick(ClientTickEvent event) { Minecraft mc = Minecraft.getMinecraft(); ArmorNo9.updateWorldHook(mc.theWorld); + + boolean supportsHighRenderDistance = FMLClientHandler.instance().hasOptifine() || Loader.isModLoaded("angelica"); - if(mc.gameSettings.renderDistanceChunks > 16 && GeneralConfig.enableRenderDistCheck && ! FMLClientHandler.instance().hasOptifine()) { + if(mc.gameSettings.renderDistanceChunks > 16 && GeneralConfig.enableRenderDistCheck && !supportsHighRenderDistance) { mc.gameSettings.renderDistanceChunks = 16; LoggingUtil.errorWithHighlight("========================== WARNING =========================="); - LoggingUtil.errorWithHighlight("Dangerous render distance detected: Values over 16 only work on 1.8+ or with Optifine installed!!"); + LoggingUtil.errorWithHighlight("Dangerous render distance detected: Values over 16 only work on 1.8+ or with Optifine/Angelica installed!!"); LoggingUtil.errorWithHighlight("Set '1.25_enableRenderDistCheck' in hbm.cfg to 'false' to disable this check."); LoggingUtil.errorWithHighlight("========================== WARNING =========================="); - LoggingUtil.errorWithHighlight("If you got this error after removing Optifine: Consider deleting your option files after removing mods."); + LoggingUtil.errorWithHighlight("If you got this error after removing Optifine/Angelica: Consider deleting your option files after removing mods."); LoggingUtil.errorWithHighlight("If you got this error after downgrading your Minecraft version: Consider using a launcher that doesn't reuse the same folders for every game instance. MultiMC for example, it's really good and it comes with a dedicated cat button. You like cats, right? Are you using the Microsoft launcher? The one launcher that turns every version switch into a tightrope act because all the old config and options files are still here because different instances all use the same folder structure instead of different folders like a competent launcher would, because some MO-RON thought that this was an acceptable way of doing things? Really? The launcher that circumcises every crashlog into indecipherable garbage, tricking oblivious people into posting that as a \"crash report\", effectively wasting everyone's time? The launcher made by the company that thought it would be HI-LA-RI-OUS to force everyone to use Microsoft accounts, effectively breaking every other launcher until they implement their terrible auth system?"); LoggingUtil.errorWithHighlight("========================== WARNING =========================="); } @@ -920,40 +959,73 @@ public class ModEventHandlerClient { } } - if(mc.currentScreen instanceof GuiContainer && Keyboard.isKeyDown(Keyboard.KEY_F1)) { - - ScaledResolution scaledresolution = new ScaledResolution(mc, mc.displayWidth, mc.displayHeight); - int width = scaledresolution.getScaledWidth(); - int height = scaledresolution.getScaledHeight(); - int mouseX = Mouse.getX() * width / mc.displayWidth; - int mouseY = height - Mouse.getY() * height / mc.displayHeight - 1; + if(Keyboard.isKeyDown(Keyboard.KEY_F1)) { - GuiContainer container = (GuiContainer) mc.currentScreen; + ComparableStack comp = canneryTimestamp > System.currentTimeMillis() - 100 ? lastCannery : null; - for(Object o : container.inventorySlots.inventorySlots) { - Slot slot = (Slot) o; - - if(slot.getHasStack()) { - try { - Method isMouseOverSlot = ReflectionHelper.findMethod(GuiContainer.class, container, new String[] {"func_146981_a", "isMouseOverSlot"}, Slot.class, int.class, int.class); - - if((boolean) isMouseOverSlot.invoke(container, slot, mouseX, mouseY)) { - - ComparableStack comp = new ComparableStack(slot.getStack()).makeSingular(); - CanneryBase cannery = Jars.canneries.get(comp); - - if(cannery != null) { - FMLCommonHandler.instance().showGuiScreen(new GuiWorldInAJar(cannery.createScript(), cannery.getName(), cannery.getIcon(), cannery.seeAlso())); - } - - break; - } - - } catch(Exception ex) { } + if(comp == null) { + ItemStack stack = getMouseOverStack(); + if(stack != null) comp = new ComparableStack(stack).makeSingular(); + } + + if(comp != null) { + CanneryBase cannery = Jars.canneries.get(comp); + if(cannery != null) { + FMLCommonHandler.instance().showGuiScreen(new GuiWorldInAJar(cannery.createScript(), cannery.getName(), cannery.getIcon(), cannery.seeAlso())); } } } + if(Keyboard.isKeyDown(Keyboard.KEY_LCONTROL) && Keyboard.isKeyDown(Keyboard.KEY_LMENU)) { + + ItemStack stack = getMouseOverStack(); + if(stack != null) { + stack = stack.copy(); + stack.stackSize = 1; + FMLCommonHandler.instance().showGuiScreen(new GUIScreenPreview(stack)); + } + } + + if(Keyboard.isKeyDown(Keyboard.KEY_LCONTROL) && Keyboard.isKeyDown(Keyboard.KEY_0) && Keyboard.isKeyDown(Keyboard.KEY_1)) { + if (!isRenderingItems) { + isRenderingItems = true; + + MainRegistry.logger.info("Taking a screenshot of ALL items, if you did this by mistake: fucking lmao get rekt nerd"); + + List ignoredItems = Arrays.asList( + ModItems.assembly_template, + ModItems.crucible_template, + ModItems.chemistry_template, + ModItems.chemistry_icon, + ModItems.fluid_icon, + ModItems.achievement_icon, + Items.spawn_egg, + Item.getItemFromBlock(Blocks.mob_spawner) + ); + + List> collapsedClasses = Arrays.asList( + ItemRBMKPellet.class, + ItemDepletedFuel.class, + ItemFluidDuct.class + ); + + List stacks = new ArrayList(); + for (Object reg : Item.itemRegistry) { + Item item = (Item) reg; + if(ignoredItems.contains(item)) continue; + if(collapsedClasses.contains(item.getClass())) { + stacks.add(new ItemStack(item)); + } else { + item.getSubItems(item, null, stacks); + } + } + + FMLCommonHandler.instance().showGuiScreen(new GUIScreenWikiRender(stacks.toArray(new ItemStack[0]))); + } + } else { + isRenderingItems = false; + } + if(event.phase == Phase.START) { EntityPlayer player = mc.thePlayer; @@ -974,6 +1046,38 @@ public class ModEventHandlerClient { } } + public static ItemStack getMouseOverStack() { + + Minecraft mc = Minecraft.getMinecraft(); + if(mc.currentScreen instanceof GuiContainer) { + + ScaledResolution scaledresolution = new ScaledResolution(mc, mc.displayWidth, mc.displayHeight); + int width = scaledresolution.getScaledWidth(); + int height = scaledresolution.getScaledHeight(); + int mouseX = Mouse.getX() * width / mc.displayWidth; + int mouseY = height - Mouse.getY() * height / mc.displayHeight - 1; + + GuiContainer container = (GuiContainer) mc.currentScreen; + + for(Object o : container.inventorySlots.inventorySlots) { + Slot slot = (Slot) o; + + if(slot.getHasStack()) { + try { + Method isMouseOverSlot = ReflectionHelper.findMethod(GuiContainer.class, container, new String[] {"func_146981_a", "isMouseOverSlot"}, Slot.class, int.class, int.class); + + if((boolean) isMouseOverSlot.invoke(container, slot, mouseX, mouseY)) { + return slot.getStack(); + } + + } catch(Exception ex) { } + } + } + } + + return null; + } + @SideOnly(Side.CLIENT) @SubscribeEvent(priority = EventPriority.LOWEST) public void onClientTickLast(ClientTickEvent event) { @@ -1205,6 +1309,7 @@ public class ModEventHandlerClient { public static IIcon particleBase; public static IIcon particleLeaf; + public static IIcon particleSplash; @SubscribeEvent public void onTextureStitch(TextureStitchEvent.Pre event) { @@ -1212,6 +1317,7 @@ public class ModEventHandlerClient { if(event.map.getTextureType() == 0) { particleBase = event.map.registerIcon(RefStrings.MODID + ":particle/particle_base"); particleLeaf = event.map.registerIcon(RefStrings.MODID + ":particle/dead_leaf"); + particleSplash = event.map.registerIcon(RefStrings.MODID + ":particle/particle_splash"); } } @@ -1303,7 +1409,9 @@ public class ModEventHandlerClient { case 12: main.splashText = "Imagine being scared by splash texts!"; break; } - if(Math.random() < 0.1) main.splashText = "Redditors aren't people!"; + double d = Math.random(); + if(d < 0.1) main.splashText = "Redditors aren't people!"; + else if(d < 0.2) main.splashText = "Can someone tell me what corrosive fumes the people on Reddit are huffing so I can avoid those more effectively?"; } } } diff --git a/src/main/java/com/hbm/main/ModEventHandlerRenderer.java b/src/main/java/com/hbm/main/ModEventHandlerRenderer.java index 50156b735..7fb0fc35b 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerRenderer.java +++ b/src/main/java/com/hbm/main/ModEventHandlerRenderer.java @@ -10,16 +10,19 @@ import com.hbm.items.armor.IArmorDisableModel; import com.hbm.items.armor.IArmorDisableModel.EnumPlayerPart; import com.hbm.packet.PermaSyncHandler; import com.hbm.render.model.ModelMan; +import com.hbm.world.biome.BiomeGenCraterBase; import cpw.mods.fml.common.eventhandler.EventPriority; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.TickEvent.WorldTickEvent; import net.minecraft.block.Block; +import net.minecraft.block.material.Material; import net.minecraft.client.Minecraft; import net.minecraft.client.model.ModelRenderer; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.entity.RenderManager; import net.minecraft.client.renderer.entity.RenderPlayer; +import net.minecraft.client.settings.GameSettings; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.item.EnumAction; @@ -27,12 +30,16 @@ import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraft.util.MathHelper; import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; +import net.minecraft.world.biome.BiomeGenBase; import net.minecraftforge.client.event.DrawBlockHighlightEvent; import net.minecraftforge.client.event.RenderGameOverlayEvent; import net.minecraftforge.client.event.EntityViewRenderEvent.FogColors; import net.minecraftforge.client.event.EntityViewRenderEvent.FogDensity; import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType; import net.minecraftforge.client.event.RenderPlayerEvent; +import net.minecraftforge.common.ForgeModContainer; public class ModEventHandlerRenderer { @@ -369,6 +376,17 @@ public class ModEventHandlerRenderer { @SubscribeEvent(priority = EventPriority.LOW) public void tintFog(FogColors event) { + + EntityPlayer player = MainRegistry.proxy.me(); + if(player.worldObj.getBlock((int) Math.floor(player.posX), (int) Math.floor(player.posY), (int) Math.floor(player.posZ)).getMaterial() != Material.water) { + Vec3 color = getFogBlendColor(player.worldObj, (int) Math.floor(player.posX), (int) Math.floor(player.posZ), event.red, event.green, event.blue, event.renderPartialTicks); + if(color != null) { + event.red = (float) color.xCoord; + event.green = (float) color.yCoord; + event.blue = (float) color.zCoord; + } + } + float soot = (float) (renderSoot - RadiationConfig.sootFogThreshold); float sootColor = 0.15F; float sootReq = (float) RadiationConfig.sootFogDivisor; @@ -383,11 +401,85 @@ public class ModEventHandlerRenderer { @SubscribeEvent public void onRenderHUD(RenderGameOverlayEvent.Pre event) { - if(event.type == ElementType.HOTBAR && (ModEventHandlerClient.flashTimestamp + ModEventHandlerClient.flashDuration - System.currentTimeMillis()) > 0) { - double mult = (ModEventHandlerClient.flashTimestamp + ModEventHandlerClient.flashDuration - System.currentTimeMillis()) / (double) ModEventHandlerClient.flashDuration * 2; - double horizontal = MathHelper.clamp_double(Math.sin(System.currentTimeMillis() * 0.02), -0.7, 0.7) * 5; - double vertical = MathHelper.clamp_double(Math.sin(System.currentTimeMillis() * 0.01 + 2), -0.7, 0.7) * 1; + if(event.type == ElementType.HOTBAR && (ModEventHandlerClient.shakeTimestamp + ModEventHandlerClient.shakeDuration - System.currentTimeMillis()) > 0) { + double mult = (ModEventHandlerClient.shakeTimestamp + ModEventHandlerClient.shakeDuration - System.currentTimeMillis()) / (double) ModEventHandlerClient.shakeDuration * 2; + double horizontal = MathHelper.clamp_double(Math.sin(System.currentTimeMillis() * 0.02), -0.7, 0.7) * 15; + double vertical = MathHelper.clamp_double(Math.sin(System.currentTimeMillis() * 0.01 + 2), -0.7, 0.7) * 3; GL11.glTranslated(horizontal * mult, vertical * mult, 0); } } + + private static boolean fogInit = false; + private static int fogX; + private static int fogZ; + private static Vec3 fogRGBMultiplier; + private static boolean doesBiomeApply = false; + private static long fogTimer = 0; + + /** Same procedure as getting the blended sky color but for fog */ + public static Vec3 getFogBlendColor(World world, int playerX, int playerZ, float red, float green, float blue, double partialTicks) { + + long millis = System.currentTimeMillis() - fogTimer; + if(playerX == fogX && playerZ == fogZ && fogInit && millis < 3000) return fogRGBMultiplier; + + fogInit = true; + fogTimer = System.currentTimeMillis(); + GameSettings settings = Minecraft.getMinecraft().gameSettings; + int[] ranges = ForgeModContainer.blendRanges; + int distance = 0; + + if(settings.fancyGraphics && settings.renderDistanceChunks >= 0) { + distance = ranges[Math.min(settings.renderDistanceChunks, ranges.length - 1)]; + } + + float r = 0F; + float g = 0F; + float b = 0F; + + int divider = 0; + doesBiomeApply = false; + + for(int x = -distance; x <= distance; x++) { + for(int z = -distance; z <= distance; z++) { + BiomeGenBase biome = world.getBiomeGenForCoords(playerX + x, playerZ + z); + Vec3 color = getBiomeFogColors(world, biome, red, green, blue, partialTicks); + r += color.xCoord; + g += color.yCoord; + b += color.zCoord; + divider++; + } + } + + fogX = playerX; + fogZ = playerZ; + + if(doesBiomeApply) { + fogRGBMultiplier = Vec3.createVectorHelper(r / divider, g / divider, b / divider); + } else { + fogRGBMultiplier = null; + } + + return fogRGBMultiplier; + } + + /** Returns the current biome's fog color adjusted for brightness if in a crater, or the world's cached fog color if not */ + public static Vec3 getBiomeFogColors(World world, BiomeGenBase biome, float r, float g, float b, double partialTicks) { + + if(biome instanceof BiomeGenCraterBase) { + int color = biome.getSkyColorByTemp(biome.temperature); + r = ((color & 0xff0000) >> 16) / 255F; + g = ((color & 0x00ff00) >> 8) / 255F; + b = (color & 0x0000ff) / 255F; + + float celestialAngle = world.getCelestialAngle((float) partialTicks); + float skyBrightness = MathHelper.clamp_float(MathHelper.cos(celestialAngle * (float) Math.PI * 2.0F) * 2.0F + 0.5F, 0F, 1F); + r *= skyBrightness; + g *= skyBrightness; + b *= skyBrightness; + + doesBiomeApply = true; + } + + return Vec3.createVectorHelper(r, g, b); + } } diff --git a/src/main/java/com/hbm/main/NEIConfig.java b/src/main/java/com/hbm/main/NEIConfig.java index 1d1697804..a2b264190 100644 --- a/src/main/java/com/hbm/main/NEIConfig.java +++ b/src/main/java/com/hbm/main/NEIConfig.java @@ -2,12 +2,11 @@ package com.hbm.main; import java.util.List; +import codechicken.nei.recipe.*; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.BlockMotherOfAllOres.TileEntityRandomOre; import com.hbm.config.CustomMachineConfigJSON; -import com.hbm.config.CustomMachineConfigJSON.MachineConfiguration; -import com.hbm.config.VersatileConfig; -import com.hbm.handler.nei.*; +import com.hbm.handler.nei.CustomMachineHandler; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemBattery; import com.hbm.lib.RefStrings; @@ -16,10 +15,6 @@ import codechicken.nei.api.API; import codechicken.nei.api.IConfigureNEI; import codechicken.nei.api.IHighlightHandler; import codechicken.nei.api.ItemInfo.Layout; -import codechicken.nei.recipe.GuiCraftingRecipe; -import codechicken.nei.recipe.GuiUsageRecipe; -import codechicken.nei.recipe.ICraftingHandler; -import codechicken.nei.recipe.IUsageHandler; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; @@ -27,68 +22,19 @@ import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; public class NEIConfig implements IConfigureNEI { - + @Override public void loadConfig() { - registerHandler(new AlloyFurnaceRecipeHandler()); - registerHandler(new ShredderRecipeHandler()); - registerHandler(new PressRecipeHandler()); - registerHandler(new CentrifugeRecipeHandler()); - registerHandler(new GasCentrifugeRecipeHandler()); - registerHandler(new BreederRecipeHandler()); - registerHandler(new CyclotronRecipeHandler()); - registerHandler(new AssemblerRecipeHandler()); - registerHandler(new RefineryRecipeHandler()); - registerHandler(new VacuumRecipeHandler()); - registerHandler(new CrackingHandler()); - registerHandler(new ReformingHandler()); - registerHandler(new BoilerRecipeHandler()); - registerHandler(new ChemplantRecipeHandler()); - registerHandler(new CrystallizerRecipeHandler()); - registerHandler(new BookRecipeHandler()); - registerHandler(new FusionRecipeHandler()); - registerHandler(new HadronRecipeHandler()); - registerHandler(new SILEXRecipeHandler()); - registerHandler(new SmithingRecipeHandler()); - registerHandler(new AnvilRecipeHandler()); - registerHandler(new FuelPoolHandler()); - registerHandler(new RadiolysisRecipeHandler()); - registerHandler(new CrucibleSmeltingHandler()); - registerHandler(new CrucibleAlloyingHandler()); - registerHandler(new CrucibleCastingHandler()); - registerHandler(new ToolingHandler()); - registerHandler(new ConstructionHandler()); - - //universal boyes - registerHandler(new ZirnoxRecipeHandler()); - if(VersatileConfig.rtgDecay()) { - registerHandler(new RTGRecipeHandler()); + for (TemplateRecipeHandler handler: NEIRegistry.listAllHandlers()) { + registerHandler(handler); } - registerHandler(new LiquefactionHandler()); - registerHandler(new SolidificationHandler()); - registerHandler(new CokingHandler()); - registerHandler(new FractioningHandler()); - registerHandler(new BoilingHandler()); - registerHandler(new CombinationHandler()); - registerHandler(new SawmillHandler()); - registerHandler(new MixerHandler()); - registerHandler(new OutgasserHandler()); - registerHandler(new ElectrolyserFluidHandler()); - registerHandler(new ElectrolyserMetalHandler()); - registerHandler(new AshpitHandler()); - registerHandler(new ArcWelderHandler()); - registerHandler(new ExposureChamberHandler()); - for(MachineConfiguration conf : CustomMachineConfigJSON.niceList) registerHandlerBypass(new CustomMachineHandler(conf)); + for(CustomMachineConfigJSON.MachineConfiguration conf : CustomMachineConfigJSON.niceList) registerHandler(new CustomMachineHandler(conf)); - //fluids - registerHandler(new FluidRecipeHandler()); - //Some things are even beyond my control...or are they? API.hideItem(ItemBattery.getEmptyBattery(ModItems.memory)); API.hideItem(ItemBattery.getFullBattery(ModItems.memory)); - API.hideItem(new ItemStack(ModBlocks.machine_coal_on)); API.hideItem(new ItemStack(ModBlocks.machine_electric_furnace_on)); API.hideItem(new ItemStack(ModBlocks.machine_difurnace_on)); API.hideItem(new ItemStack(ModBlocks.machine_nuke_furnace_on)); @@ -110,18 +56,10 @@ public class NEIConfig implements IConfigureNEI { API.hideItem(new ItemStack(ModItems.burnt_bark)); API.hideItem(new ItemStack(ModItems.ams_core_thingy)); } - API.hideItem(new ItemStack(ModBlocks.dummy_block_drill)); - API.hideItem(new ItemStack(ModBlocks.dummy_block_ams_base)); - API.hideItem(new ItemStack(ModBlocks.dummy_block_ams_emitter)); - API.hideItem(new ItemStack(ModBlocks.dummy_block_ams_limiter)); API.hideItem(new ItemStack(ModBlocks.dummy_block_vault)); API.hideItem(new ItemStack(ModBlocks.dummy_block_blast)); API.hideItem(new ItemStack(ModBlocks.dummy_block_uf6)); API.hideItem(new ItemStack(ModBlocks.dummy_block_puf6)); - API.hideItem(new ItemStack(ModBlocks.dummy_port_drill)); - API.hideItem(new ItemStack(ModBlocks.dummy_port_ams_base)); - API.hideItem(new ItemStack(ModBlocks.dummy_port_ams_emitter)); - API.hideItem(new ItemStack(ModBlocks.dummy_port_ams_limiter)); API.hideItem(new ItemStack(ModBlocks.dummy_port_compact_launcher)); API.hideItem(new ItemStack(ModBlocks.dummy_port_launch_table)); API.hideItem(new ItemStack(ModBlocks.dummy_plate_compact_launcher)); @@ -133,6 +71,11 @@ public class NEIConfig implements IConfigureNEI { API.hideItem(new ItemStack(ModBlocks.pink_slab)); API.hideItem(new ItemStack(ModBlocks.pink_double_slab)); API.hideItem(new ItemStack(ModBlocks.pink_stairs)); + + API.hideItem(new ItemStack(ModBlocks.spotlight_incandescent_off)); + API.hideItem(new ItemStack(ModBlocks.spotlight_fluoro_off)); + API.hideItem(new ItemStack(ModBlocks.spotlight_halogen_off)); + API.hideItem(new ItemStack(ModBlocks.spotlight_beam)); API.registerHighlightIdentifier(ModBlocks.ore_random, new IHighlightHandler() { diff --git a/src/main/java/com/hbm/main/NEIRegistry.java b/src/main/java/com/hbm/main/NEIRegistry.java new file mode 100644 index 000000000..893312e63 --- /dev/null +++ b/src/main/java/com/hbm/main/NEIRegistry.java @@ -0,0 +1,69 @@ +package com.hbm.main; + +import java.util.ArrayList; +import java.util.List; + +import com.hbm.config.VersatileConfig; +import com.hbm.handler.nei.*; + +import codechicken.nei.recipe.TemplateRecipeHandler; + +public class NEIRegistry { + + public static List handlers = new ArrayList(); + + public static List listAllHandlers() { + + if(!handlers.isEmpty()) return handlers; + + handlers.add(new AlloyFurnaceRecipeHandler()); + handlers.add(new ShredderRecipeHandler()); + handlers.add(new PressRecipeHandler()); + handlers.add(new CentrifugeRecipeHandler()); + handlers.add(new GasCentrifugeRecipeHandler()); + handlers.add(new BreederRecipeHandler()); + handlers.add(new CyclotronRecipeHandler()); + handlers.add(new AssemblerRecipeHandler()); + handlers.add(new RefineryRecipeHandler()); + handlers.add(new VacuumRecipeHandler()); + handlers.add(new CrackingHandler()); + handlers.add(new ReformingHandler()); + handlers.add(new HydrotreatingHandler()); + handlers.add(new ChemplantRecipeHandler()); + handlers.add(new CrystallizerRecipeHandler()); + handlers.add(new BookRecipeHandler()); + handlers.add(new FusionRecipeHandler()); + handlers.add(new HadronRecipeHandler()); + handlers.add(new SILEXRecipeHandler()); + handlers.add(new SmithingRecipeHandler()); + handlers.add(new AnvilRecipeHandler()); + handlers.add(new FuelPoolHandler()); + handlers.add(new FluidRecipeHandler()); + handlers.add(new RadiolysisRecipeHandler()); + handlers.add(new CrucibleSmeltingHandler()); + handlers.add(new CrucibleAlloyingHandler()); + handlers.add(new CrucibleCastingHandler()); + handlers.add(new ToolingHandler()); + handlers.add(new ConstructionHandler()); + + //universal boyes + handlers.add(new ZirnoxRecipeHandler()); + if(VersatileConfig.rtgDecay()) handlers.add(new RTGRecipeHandler()); + handlers.add(new LiquefactionHandler()); + handlers.add(new SolidificationHandler()); + handlers.add(new CokingHandler()); + handlers.add(new FractioningHandler()); + handlers.add(new BoilingHandler()); + handlers.add(new CombinationHandler()); + handlers.add(new SawmillHandler()); + handlers.add(new MixerHandler()); + handlers.add(new OutgasserHandler()); + handlers.add(new ElectrolyserFluidHandler()); + handlers.add(new ElectrolyserMetalHandler()); + handlers.add(new AshpitHandler()); + handlers.add(new ArcWelderHandler()); + handlers.add(new ExposureChamberHandler()); + + return handlers; + } +} diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 9816aee87..bc2017527 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -1,11 +1,15 @@ package com.hbm.main; +import java.util.HashMap; + import com.hbm.animloader.AnimatedModel; import com.hbm.animloader.Animation; import com.hbm.animloader.ColladaLoader; import com.hbm.lib.RefStrings; +import com.hbm.render.anim.AnimationLoader; +import com.hbm.render.anim.BusAnimation; import com.hbm.render.loader.HFRWavefrontObject; -import com.hbm.render.loader.WavefrontObjDisplayList; +import com.hbm.render.loader.IModelCustomNamed; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.model.AdvancedModelLoader; @@ -21,36 +25,39 @@ public class ResourceManager { ////Obj TEs //Turrets - public static final IModelCustom turret_chekhov = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_chekhov.obj")); - public static final IModelCustom turret_jeremy = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_jeremy.obj")); - public static final IModelCustom turret_tauon = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_tauon.obj")); - public static final IModelCustom turret_richard = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_richard.obj")); - public static final IModelCustom turret_howard = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_howard.obj")); - public static final IModelCustom turret_maxwell = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_microwave.obj")); - public static final IModelCustom turret_fritz = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_fritz.obj")); - public static final IModelCustom turret_brandon = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_brandon.obj")); - public static final IModelCustom turret_arty = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_arty.obj")).asDisplayList(); // test! - public static final IModelCustom turret_himars = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_himars.obj")).asDisplayList(); - public static final IModelCustom turret_sentry = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_sentry.obj")); + public static final IModelCustom turret_chekhov = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_chekhov.obj")).asVBO(); + public static final IModelCustom turret_jeremy = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_jeremy.obj")).asVBO(); + public static final IModelCustom turret_tauon = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_tauon.obj")).asVBO(); + public static final IModelCustom turret_richard = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_richard.obj")).asVBO(); + public static final IModelCustom turret_howard = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_howard.obj")).asVBO(); + public static final IModelCustom turret_maxwell = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_microwave.obj")).asVBO(); + public static final IModelCustom turret_fritz = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_fritz.obj")).asVBO(); + public static final IModelCustom turret_brandon = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_brandon.obj")).asVBO(); + public static final IModelCustom turret_arty = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_arty.obj")).asVBO(); + public static final IModelCustom turret_himars = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_himars.obj")).asVBO(); + public static final IModelCustom turret_sentry = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_sentry.obj")).asVBO(); - public static final IModelCustom turret_howard_damaged = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_howard_damaged.obj")); + public static final IModelCustom turret_howard_damaged = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_howard_damaged.obj")).asVBO(); //Heaters - public static final IModelCustom heater_firebox = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/firebox.obj")); - public static final IModelCustom heater_oven = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/heating_oven.obj")); - public static final IModelCustom heater_oilburner = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/oilburner.obj")); - public static final IModelCustom heater_electric = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/electric_heater.obj"), false); - public static final IModelCustom heater_heatex = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/heatex.obj")); + public static final IModelCustom heater_firebox = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/firebox.obj"), false).asVBO(); + public static final IModelCustom heater_oven = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/heating_oven.obj"), false).asVBO(); + public static final IModelCustom heater_oilburner = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/oilburner.obj")).asVBO(); + public static final IModelCustom heater_electric = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/electric_heater.obj"), false).asVBO(); + public static final IModelCustom heater_heatex = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/heatex.obj")).asVBO(); //Heat Engines public static final IModelCustom stirling = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/stirling.obj")); public static final IModelCustom sawmill = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/sawmill.obj")); public static final IModelCustom crucible_heat = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/crucible.obj")); - public static final IModelCustom boiler = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/boiler.obj")); - public static final IModelCustom boiler_burst = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/boiler_burst.obj")); - public static final IModelCustom boiler_industrial = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/industrial_boiler.obj")); - public static final IModelCustom hephaestus = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/hephaestus.obj")); - + public static final IModelCustom boiler = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/boiler.obj")).asVBO(); + public static final IModelCustom boiler_burst = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/boiler_burst.obj")).asVBO(); + public static final IModelCustom boiler_industrial = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/industrial_boiler.obj")).asVBO(); + public static final IModelCustom hephaestus = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/hephaestus.obj")).asVBO(); + + //Caster o' Strands + public static final IModelCustom strand_caster = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/strand_caster.obj")); + //Furnaces public static final IModelCustom furnace_iron = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/furnace_iron.obj")); public static final IModelCustom furnace_steel = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/furnace_steel.obj")); @@ -63,52 +70,53 @@ public class ResourceManager { public static final IModelCustom mine_fat = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/mine_fat.obj")); //Oil Pumps - public static final IModelCustom derrick = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/derrick.obj")); - public static final IModelCustom pumpjack = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/pumpjack.obj")); - public static final IModelCustom fracking_tower = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/fracking_tower.obj")); + public static final IModelCustom derrick = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/derrick.obj")).asVBO(); + public static final IModelCustom pumpjack = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/pumpjack.obj")).asVBO(); + public static final IModelCustom fracking_tower = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/fracking_tower.obj")).asVBO(); //Refinery - public static final IModelCustom refinery = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/refinery.obj")); - public static final IModelCustom vacuum_distill = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/vacuum_distill.obj")); - public static final IModelCustom refinery_exploded = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/refinery_exploded.obj")); + public static final IModelCustom refinery = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/refinery.obj")).asVBO(); + public static final IModelCustom vacuum_distill = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/vacuum_distill.obj")).asVBO(); + public static final IModelCustom refinery_exploded = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/refinery_exploded.obj")).asVBO(); public static final IModelCustom fraction_tower = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/fraction_tower.obj")); public static final IModelCustom fraction_spacer = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/fraction_spacer.obj")); - public static final IModelCustom cracking_tower = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/cracking_tower.obj")); - public static final IModelCustom catalytic_reformer = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/catalytic_reformer.obj")); - public static final IModelCustom liquefactor = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/liquefactor.obj")); - public static final IModelCustom solidifier = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/solidifier.obj")); - public static final IModelCustom compressor = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/compressor.obj")); - public static final IModelCustom coker = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/coker.obj")); + public static final IModelCustom cracking_tower = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/cracking_tower.obj")).asVBO(); + public static final IModelCustom catalytic_reformer = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/catalytic_reformer.obj")).asVBO(); + public static final IModelCustom hydrotreater = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/hydrotreater.obj")).asVBO(); + public static final IModelCustom liquefactor = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/liquefactor.obj")).asVBO(); + public static final IModelCustom solidifier = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/solidifier.obj")).asVBO(); + public static final IModelCustom compressor = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/compressor.obj")).asVBO(); + public static final IModelCustom coker = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/coker.obj")).asVBO(); //Flare Stack - public static final IModelCustom oilflare = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/flare_stack.obj")); - public static final IModelCustom chimney_brick = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/chimney_brick.obj")); - public static final IModelCustom chimney_industrial = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/chimney_industrial.obj")); + public static final IModelCustom oilflare = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/flare_stack.obj")).asVBO(); + public static final IModelCustom chimney_brick = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/chimney_brick.obj")).asVBO(); + public static final IModelCustom chimney_industrial = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/chimney_industrial.obj")).asVBO(); //Tank - public static final IModelCustom fluidtank = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/fluidtank.obj")); - public static final IModelCustom fluidtank_exploded = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/fluidtank_exploded.obj")); - public static final IModelCustom bat9000 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/bat9000.obj")); - public static final IModelCustom orbus = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/orbus.obj")); + public static final IModelCustom fluidtank = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/fluidtank.obj")).asVBO(); + public static final IModelCustom fluidtank_exploded = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/fluidtank_exploded.obj")).asVBO(); + public static final IModelCustom bat9000 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/bat9000.obj")).asVBO(); + public static final IModelCustom orbus = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/orbus.obj")).asVBO(); //Turbofan - public static final IModelCustom turbofan = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/turbofan.obj")); + public static final IModelCustom turbofan = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/turbofan.obj")).asVBO(); //Gas Turbine - public static final IModelCustom turbinegas = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/turbinegas.obj")); + public static final IModelCustom turbinegas = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/turbinegas.obj")).asVBO(); //Pumps - public static final IModelCustom pump = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/pump.obj")).asDisplayList(); + public static final IModelCustom pump = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/pump.obj")).asVBO(); //Large Turbine - public static final IModelCustom steam_engine = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/steam_engine.obj")).asDisplayList(); + public static final IModelCustom steam_engine = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/steam_engine.obj")).asVBO(); public static final IModelCustom turbine = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/turbine.obj")); - public static final IModelCustom chungus = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/chungus.obj")).asDisplayList(); + public static final IModelCustom chungus = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/chungus.obj")).asVBO(); //Cooling Tower - public static final IModelCustom tower_small = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/tower_small.obj")); - public static final IModelCustom tower_large = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/tower_large.obj")); - public static final IModelCustom condenser = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/condenser.obj")); + public static final IModelCustom tower_small = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/tower_small.obj")).asVBO(); + public static final IModelCustom tower_large = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/tower_large.obj")).asVBO(); + public static final IModelCustom condenser = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/condenser.obj")).asVBO(); //Wood burner public static final IModelCustom wood_burner = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/wood_burner.obj")); @@ -116,14 +124,9 @@ public class ResourceManager { //IGen public static final IModelCustom igen = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/igen.obj")); - //Selenium Engine - public static final IModelCustom selenium_body = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/selenium_engine_body.obj")); - public static final IModelCustom selenium_rotor = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/selenium_engine_rotor.obj")); - public static final IModelCustom selenium_piston = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/selenium_engine_piston.obj")); - //Combustion Engine public static final IModelCustom dieselgen = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/dieselgen.obj")); - public static final IModelCustom combustion_engine = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/combustion_engine.obj")).asDisplayList(); + public static final IModelCustom combustion_engine = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/combustion_engine.obj")).asVBO(); //Press public static final IModelCustom press_body = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/press_body.obj")); @@ -169,9 +172,7 @@ public class ResourceManager { public static final IModelCustom autosaw = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/autosaw.obj")); //Mining Drill - public static final IModelCustom drill_body = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/drill_main.obj")); - public static final IModelCustom drill_bolt = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/drill_bolt.obj")); - public static final IModelCustom mining_drill = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/mining_drill.obj")).asDisplayList(); + public static final IModelCustom mining_drill = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/mining_drill.obj")).asVBO(); //Laser Miner public static final IModelCustom mining_laser = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/mining_laser.obj")); @@ -194,13 +195,6 @@ public class ResourceManager { //Deuterium Tower public static final IModelCustom deuterium_tower = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/machine_deuterium_tower.obj")); - //Anti Mass Spectrometer - public static final IModelCustom ams_base = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/ams_base.obj")); - public static final IModelCustom ams_emitter = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/ams_emitter.obj")); - public static final IModelCustom ams_emitter_destroyed = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/ams_emitter_destroyed.obj")); - public static final IModelCustom ams_limiter = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/ams_limiter.obj")); - public static final IModelCustom ams_limiter_destroyed = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/ams_limiter_destroyed.obj")); - //Dark Matter Core public static final IModelCustom dfc_emitter = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/core_emitter.obj")); public static final IModelCustom dfc_receiver = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/core_receiver.obj")); @@ -232,20 +226,24 @@ public class ResourceManager { public static final IModelCustom breeder = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/reactors/breeder.obj")); //ITER - public static final IModelCustom iter = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/reactors/iter.obj")); + public static final IModelCustom iter = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/reactors/iter.obj")).asVBO(); + + //ICF + public static final IModelCustom icf = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/reactors/icf.obj")).asVBO(); //Watz - public static final IModelCustom watz = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/reactors/watz.obj")); - public static final IModelCustom watz_pump = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/watz_pump.obj")); + public static final IModelCustom watz = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/reactors/watz.obj")).asVBO(); + public static final IModelCustom watz_pump = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/watz_pump.obj")).asVBO(); //FENSU - public static final IModelCustom fensu = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/fensu.obj")); + public static final IModelCustom fensu = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/fensu.obj")).asVBO(); //Radar - public static final IModelCustom radar_body = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/radar_base.obj")); - public static final IModelCustom radar_head = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/radar_head.obj")); - public static final IModelCustom radar = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/radar.obj")); - public static final IModelCustom radar_screen = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/radar_screen.obj")); + public static final IModelCustom radar_body = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/radar_base.obj"), false).asVBO(); + public static final IModelCustom radar_head = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/radar_head.obj"), false).asVBO(); + public static final IModelCustom radar = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/radar.obj"), false).asVBO(); + public static final IModelCustom radar_large = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/radar_large.obj"), false).asVBO(); + public static final IModelCustom radar_screen = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/radar_screen.obj"), false).asVBO(); //Forcefield public static final IModelCustom forcefield_top = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/forcefield_top.obj")); @@ -254,30 +252,18 @@ public class ResourceManager { public static final IModelCustom shredder = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/shredder.obj")); //Bombs - public static final IModelCustom bomb_gadget = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/TheGadget3.obj")); + public static final IModelCustom bomb_gadget = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/bombs/gadget.obj")).asVBO(); public static final IModelCustom bomb_boy = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/LilBoy1.obj")); - public static final IModelCustom bomb_man = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/FatMan.obj")).asDisplayList(); + public static final IModelCustom bomb_man = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/FatMan.obj")).asVBO(); public static final IModelCustom bomb_mike = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/bombs/ivymike.obj")); - public static final IModelCustom bomb_tsar = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/bombs/tsar.obj")).asDisplayList(); + public static final IModelCustom bomb_tsar = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/bombs/tsar.obj")).asVBO(); public static final IModelCustom bomb_prototype = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/Prototype.obj")); public static final IModelCustom bomb_fleija = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/Fleija.obj")); public static final IModelCustom bomb_solinium = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/bombs/ufp.obj")); public static final IModelCustom n2 = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/bombs/n2.obj")); public static final IModelCustom bomb_multi = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/BombGeneric.obj")); - public static final IModelCustom n45_globe = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/bombs/n45_globe.obj")); - public static final IModelCustom n45_knob = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/bombs/n45_knob.obj")); - public static final IModelCustom n45_rod = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/bombs/n45_rod.obj")); - public static final IModelCustom n45_stand = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/bombs/n45_stand.obj")); - public static final IModelCustom n45_chain = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/bombs/n45_chain.obj")); public static final IModelCustom fstbmb = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/bombs/fstbmb.obj")); public static final IModelCustom dud = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/BalefireCrashed.obj")); - - //Cel-Prime - public static final IModelCustom cp_tower = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/cel_prime_tower.obj")); - public static final IModelCustom cp_terminal = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/cel_prime_terminal.obj")); - public static final IModelCustom cp_battery = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/cel_prime_battery.obj")); - public static final IModelCustom cp_tanks = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/cel_prime_tanks.obj")); - public static final IModelCustom cp_port = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/cel_prime_port.obj")); //Satellites public static final IModelCustom sat_base = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/sat_base.obj")); @@ -297,6 +283,9 @@ public class ResourceManager { public static final IModelCustom solar_boiler = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/solar_boiler.obj")); public static final IModelCustom solar_mirror = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/solar_mirror.obj")); + //Drain + public static final IModelCustom drain = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/drain.obj")); + //Vault Door public static final IModelCustom vault_cog = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/vault_cog.obj")); public static final IModelCustom vault_frame = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/vault_frame.obj")); @@ -314,40 +303,48 @@ public class ResourceManager { public static final ResourceLocation sliding_blast_door_variant1_tex = new ResourceLocation(RefStrings.MODID, "textures/models/doors/sliding_blast_door_variant1.png"); public static final ResourceLocation sliding_blast_door_variant2_tex = new ResourceLocation(RefStrings.MODID, "textures/models/doors/sliding_blast_door_variant2.png"); - public static AnimatedModel sliding_blast_door; - public static Animation sliding_blast_door_anim; + public static AnimatedModel sliding_blast_door = ColladaLoader.load(new ResourceLocation(RefStrings.MODID, "models/doors/sliding_blast_door.dae")); + public static Animation sliding_blast_door_anim = ColladaLoader.loadAnim(1200, new ResourceLocation(RefStrings.MODID, "models/doors/sliding_blast_door.dae")); //Doors - public static AnimatedModel transition_seal; - public static Animation transition_seal_anim; - public static final WavefrontObjDisplayList fire_door = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/doors/fire_door.obj")).asDisplayList(); + public static AnimatedModel transition_seal = ColladaLoader.load(new ResourceLocation(RefStrings.MODID, "models/doors/seal.dae"), true); + public static Animation transition_seal_anim = ColladaLoader.loadAnim(24040, new ResourceLocation(RefStrings.MODID, "models/doors/seal.dae")); + public static final IModelCustomNamed fire_door = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/doors/fire_door.obj")).asVBO(); //Secure Access Door public static final ResourceLocation secure_access_door_tex = new ResourceLocation(RefStrings.MODID, "textures/models/doors/secure_access_door.png"); - public static WavefrontObjDisplayList secure_access_door = new WavefrontObjDisplayList(new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/doors/secure_access_door.obj"))); + public static IModelCustomNamed secure_access_door = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/doors/secure_access_door.obj")).asVBO(); public static final ResourceLocation water_door_tex = new ResourceLocation(RefStrings.MODID, "textures/models/doors/water_door.png"); - public static WavefrontObjDisplayList water_door = new WavefrontObjDisplayList(new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/doors/water_door.obj"))); + public static IModelCustomNamed water_door = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/doors/water_door.obj")).asVBO(); public static final ResourceLocation sliding_seal_door_tex = new ResourceLocation(RefStrings.MODID, "textures/models/doors/sliding_seal_door.png"); - public static WavefrontObjDisplayList sliding_seal_door = new WavefrontObjDisplayList(new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/doors/sliding_seal_door.obj"))); + public static IModelCustomNamed sliding_seal_door = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/doors/sliding_seal_door.obj")).asVBO(); public static final ResourceLocation round_airlock_door_tex = new ResourceLocation(RefStrings.MODID, "textures/models/doors/round_airlock_door.png"); - public static WavefrontObjDisplayList round_airlock_door = new WavefrontObjDisplayList(new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/doors/round_airlock_door.obj"))); + public static IModelCustomNamed round_airlock_door = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/doors/round_airlock_door.obj")).asVBO(); public static final ResourceLocation qe_sliding_door_tex = new ResourceLocation(RefStrings.MODID, "textures/models/doors/qe_sliding_door.png"); - public static WavefrontObjDisplayList qe_sliding_door = new WavefrontObjDisplayList(new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/doors/qe_sliding_door.obj"))); + public static IModelCustomNamed qe_sliding_door = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/doors/qe_sliding_door.obj")).asVBO(); public static final ResourceLocation qe_containment_tex = new ResourceLocation(RefStrings.MODID, "textures/models/doors/qe_containment.png"); - public static WavefrontObjDisplayList qe_containment = new WavefrontObjDisplayList(new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/doors/qe_containment.obj"))); + public static IModelCustomNamed qe_containment = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/doors/qe_containment.obj")).asVBO(); public static final ResourceLocation large_vehicle_door_tex = new ResourceLocation(RefStrings.MODID, "textures/models/doors/large_vehicle_door.png"); - public static WavefrontObjDisplayList large_vehicle_door = new WavefrontObjDisplayList(new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/doors/large_vehicle_door.obj"))); + public static IModelCustomNamed large_vehicle_door = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/doors/large_vehicle_door.obj")).asVBO(); public static final ResourceLocation qe_containment_decal = new ResourceLocation(RefStrings.MODID, "textures/models/doors/qe_containment_decal.png"); + public static final ResourceLocation silo_hatch_tex = new ResourceLocation(RefStrings.MODID, "textures/models/doors/silo_hatch.png"); + public static IModelCustomNamed silo_hatch = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/doors/silo_hatch.obj")).asVBO(); + public static final ResourceLocation silo_hatch_large_tex = new ResourceLocation(RefStrings.MODID, "textures/models/doors/silo_hatch_large.png"); + public static IModelCustomNamed silo_hatch_large = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/doors/silo_hatch_large.obj")).asVBO(); + - //Lantern + //Lights public static final IModelCustom lantern = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/trinkets/lantern.obj")); + public static final IModelCustom cage_lamp = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/lights/cage_lamp.obj")); + public static final IModelCustom fluorescent_lamp = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/lights/fluorescent_lamp.obj")); + public static final IModelCustom flood_lamp = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/lights/flood_lamp.obj")); //Tesla Coil public static final IModelCustom tesla = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/tesla.obj")); @@ -370,6 +367,7 @@ public class ResourceManager { //Network public static final IModelCustom connector = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/network/connector.obj")); + public static final IModelCustom pylon_medium = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/network/pylon_medium.obj")); public static final IModelCustom pylon_large = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/network/pylon_large.obj")); public static final IModelCustom substation = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/network/substation.obj")); @@ -379,7 +377,7 @@ public class ResourceManager { //Electrolyser public static final IModelCustom electrolyser = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/electrolyser.obj")); - //Belt + //Charging Station public static final IModelCustom charger = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/blocks/charger.obj")); //DecoContainer (File Cabinet for now) @@ -412,6 +410,7 @@ public class ResourceManager { public static final ResourceLocation turret_arty_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/arty.png"); public static final ResourceLocation turret_himars_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/himars.png"); public static final ResourceLocation turret_sentry_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/sentry.png"); + public static final ResourceLocation turret_sentry_damaged_tex = new ResourceLocation(RefStrings.MODID, "textures/models/turrets/sentry_damaged.png"); public static final ResourceLocation himars_standard_tex = new ResourceLocation(RefStrings.MODID, "textures/models/projectiles/himars_standard.png"); public static final ResourceLocation himars_single_tex = new ResourceLocation(RefStrings.MODID, "textures/models/projectiles/himars_single.png"); @@ -447,7 +446,10 @@ public class ResourceManager { public static final ResourceLocation boiler_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/boiler.png"); public static final ResourceLocation boiler_industrial_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/industrial_boiler.png"); public static final ResourceLocation hephaestus_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/hephaestus.png"); - + + //Strand Caster + public static final ResourceLocation strand_caster_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/strand_caster.png"); + //Furnaces public static final ResourceLocation furnace_iron_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/furnace_iron.png"); public static final ResourceLocation furnace_steel_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/furnace_steel.png"); @@ -465,6 +467,7 @@ public class ResourceManager { public static final ResourceLocation fraction_spacer_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/fraction_spacer.png"); public static final ResourceLocation cracking_tower_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/cracking_tower.png"); public static final ResourceLocation catalytic_reformer_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/catalytic_reformer.png"); + public static final ResourceLocation hydrotreater_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/hydrotreater.png"); public static final ResourceLocation liquefactor_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/liquefactor.png"); public static final ResourceLocation solidifier_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/solidifier.png"); public static final ResourceLocation compressor_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/compressor.png"); @@ -517,11 +520,6 @@ public class ResourceManager { public static final ResourceLocation igen_arm = new ResourceLocation(RefStrings.MODID, "textures/models/machines/igen_arm.png"); public static final ResourceLocation igen_pistons = new ResourceLocation(RefStrings.MODID, "textures/models/machines/igen_pistons.png"); - //Selenium Engine - public static final ResourceLocation selenium_body_tex = new ResourceLocation(RefStrings.MODID, "textures/models/selenium_engine_body.png"); - public static final ResourceLocation selenium_piston_tex = new ResourceLocation(RefStrings.MODID, "textures/models/selenium_engine_piston.png"); - public static final ResourceLocation selenium_rotor_tex = new ResourceLocation(RefStrings.MODID, "textures/models/selenium_engine_rotor.png"); - //Combustion Engine public static final ResourceLocation dieselgen_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/dieselgen.png"); public static final ResourceLocation combustion_engine_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/combustion_engine.png"); @@ -607,12 +605,6 @@ public class ResourceManager { //Waste Drum public static final ResourceLocation waste_drum_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/drum_gray.png"); - //Anti Mass Spectrometer - public static final ResourceLocation ams_base_tex = new ResourceLocation(RefStrings.MODID, "textures/models/ams_base.png"); - public static final ResourceLocation ams_emitter_tex = new ResourceLocation(RefStrings.MODID, "textures/models/ams_emitter.png"); - public static final ResourceLocation ams_limiter_tex = new ResourceLocation(RefStrings.MODID, "textures/models/ams_limiter.png"); - public static final ResourceLocation ams_destroyed_tex = new ResourceLocation(RefStrings.MODID, "textures/models/ams_destroyed.png"); - //Dark Matter Core public static final ResourceLocation dfc_emitter_tex = new ResourceLocation(RefStrings.MODID, "textures/models/core_emitter.png"); public static final ResourceLocation dfc_receiver_tex = new ResourceLocation(RefStrings.MODID, "textures/models/core_receiver.png"); @@ -649,6 +641,9 @@ public class ResourceManager { public static final ResourceLocation iter_torus_chlorophyte = new ResourceLocation(RefStrings.MODID, "textures/models/iter/torus_chlorophyte.png"); public static final ResourceLocation iter_torus_vaporwave = new ResourceLocation(RefStrings.MODID, "textures/models/iter/torus_vaporwave.png"); + //ICF + public static final ResourceLocation icf_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/icf.png"); + //Watz public static final ResourceLocation watz_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/watz.png"); public static final ResourceLocation watz_pump_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/watz_pump.png"); @@ -661,6 +656,7 @@ public class ResourceManager { public static final ResourceLocation radar_head_tex = new ResourceLocation(RefStrings.MODID, "textures/models/radar_head.png"); public static final ResourceLocation radar_base_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/radar_base.png"); public static final ResourceLocation radar_dish_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/radar_dish.png"); + public static final ResourceLocation radar_large_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/radar_large.png"); public static final ResourceLocation radar_screen_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/radar_screen.png"); //Forcefield @@ -671,7 +667,7 @@ public class ResourceManager { public static final ResourceLocation shredder_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/shredder.png"); //Bombs - public static final ResourceLocation bomb_gadget_tex = new ResourceLocation(RefStrings.MODID, "textures/models/TheGadget3_tex.png"); + public static final ResourceLocation bomb_gadget_tex = new ResourceLocation(RefStrings.MODID, "textures/models/bombs/gadget.png"); public static final ResourceLocation bomb_boy_tex = new ResourceLocation(RefStrings.MODID, "textures/models/lilboy.png"); public static final ResourceLocation bomb_man_tex = new ResourceLocation(RefStrings.MODID, "textures/models/FatMan.png"); public static final ResourceLocation bomb_mike_tex = new ResourceLocation(RefStrings.MODID, "textures/models/bombs/ivymike.png"); @@ -720,6 +716,9 @@ public class ResourceManager { public static final ResourceLocation solar_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/solar_boiler.png"); public static final ResourceLocation solar_mirror_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/solar_mirror.png"); + //Drain + public static final ResourceLocation drain_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/drain.png"); + //Blast Door public static final ResourceLocation blast_door_base_tex = new ResourceLocation(RefStrings.MODID, "textures/models/blast_door_base.png"); public static final ResourceLocation blast_door_tooth_tex = new ResourceLocation(RefStrings.MODID, "textures/models/blast_door_tooth.png"); @@ -750,6 +749,7 @@ public class ResourceManager { public static final ResourceLocation glyphid_blaster_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/glyphid_blaster.png"); public static final ResourceLocation glyphid_scout_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/glyphid_scout.png"); public static final ResourceLocation glyphid_nuclear_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/glyphid_nuclear.png"); + public static final ResourceLocation glyphid_digger_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/glyphid_digger.png"); //ZIRNOX public static final ResourceLocation zirnox_tex = new ResourceLocation(RefStrings.MODID, "textures/models/zirnox.png"); @@ -757,8 +757,12 @@ public class ResourceManager { //Electricity public static final ResourceLocation connector_tex = new ResourceLocation(RefStrings.MODID, "textures/models/network/connector.png"); + public static final ResourceLocation pylon_medium_tex = new ResourceLocation(RefStrings.MODID, "textures/models/network/pylon_medium.png"); + public static final ResourceLocation pylon_medium_steel_tex = new ResourceLocation(RefStrings.MODID, "textures/models/network/pylon_medium_steel.png"); public static final ResourceLocation pylon_large_tex = new ResourceLocation(RefStrings.MODID, "textures/models/network/pylon_large.png"); public static final ResourceLocation substation_tex = new ResourceLocation(RefStrings.MODID, "textures/models/network/substation.png"); + public static final ResourceLocation wire_tex = new ResourceLocation(RefStrings.MODID, "textures/models/network/wire.png"); + public static final ResourceLocation wire_greyscale_tex = new ResourceLocation(RefStrings.MODID, "textures/models/network/wire_greyscale.png"); //Radiolysis public static final ResourceLocation radiolysis_tex = new ResourceLocation(RefStrings.MODID, "textures/models/radiolysis.png"); @@ -816,17 +820,26 @@ public class ResourceManager { public static final IModelCustom nightmare_dark = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/nightmare_dark.obj")); public static final IModelCustom glass_cannon = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/glass_cannon.obj")); public static final IModelCustom bio_revolver = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/bio_revolver.obj")); - public static final IModelCustom chemthrower = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/chemthrower.obj")).asDisplayList(); + public static final IModelCustom chemthrower = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/chemthrower.obj")).asVBO(); public static final IModelCustom novac = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/novac.obj")); - public static final IModelCustom novac_scoped = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/novac_scoped.obj")); - public static final IModelCustom m2 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/m2_browning.obj")).asDisplayList(); //large fella should be a display list - public static final IModelCustom lunatic_sniper = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/lunatic_sniper.obj")).asDisplayList(); + public static final IModelCustom m2 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/m2_browning.obj")).asVBO(); //large fella should be a display list + public static final IModelCustom lunatic_sniper = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/lunatic_sniper.obj")).asVBO(); public static final IModelCustom tau = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/tau.obj")); - public static final IModelCustom benelli = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/benelli_new.obj")).asDisplayList(); - public static final IModelCustom coilgun = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/coilgun.obj")).asDisplayList(); - public static final IModelCustom cryocannon = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/cryo_cannon.obj")).asDisplayList(); - public static final IModelCustom uac_pistol = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/UAC pistol.obj")).asDisplayList(); - public static final IModelCustom congolake = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/congolake.obj")).asDisplayList(); + public static final IModelCustom benelli = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/benelli_new.obj")).asVBO(); + public static final IModelCustom coilgun = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/coilgun.obj")).asVBO(); + public static final IModelCustom cryocannon = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/cryo_cannon.obj")).asVBO(); + public static final IModelCustom uac_pistol = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/UAC pistol.obj")).asVBO(); + public static final IModelCustom congolake = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/congolake.obj")).asVBO(); + public static final IModelCustom lilmac = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/lilmac.obj")).asVBO(); + + public static final HashMap python_anim = AnimationLoader.load(new ResourceLocation(RefStrings.MODID, "models/weapons/animations/python.json")); + public static final HashMap cursed_anim = AnimationLoader.load(new ResourceLocation(RefStrings.MODID, "models/weapons/animations/cursed.json")); + public static final HashMap novac_anim = AnimationLoader.load(new ResourceLocation(RefStrings.MODID, "models/weapons/animations/novac.json")); + public static final HashMap ks23_anim = AnimationLoader.load(new ResourceLocation(RefStrings.MODID, "models/weapons/animations/ks23.json")); + public static final HashMap spas_12_anim = AnimationLoader.load(new ResourceLocation(RefStrings.MODID, "models/weapons/animations/spas12.json")); + public static final HashMap supershotty_anim = AnimationLoader.load(new ResourceLocation(RefStrings.MODID, "models/weapons/animations/supershotty.json")); + public static final HashMap benelli_anim = AnimationLoader.load(new ResourceLocation(RefStrings.MODID, "models/weapons/animations/benelli.json")); + public static final HashMap congolake_anim = AnimationLoader.load(new ResourceLocation(RefStrings.MODID, "models/weapons/animations/congolake.json")); public static final IModelCustom lance = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/lance.obj")); @@ -924,6 +937,8 @@ public class ResourceManager { public static final ResourceLocation cryocannon_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/cryo_cannon.png"); public static final ResourceLocation uac_pistol_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/pistol_texture.png"); public static final ResourceLocation congolake_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/congolake.png"); + public static final ResourceLocation lilmac_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lilmac.png"); + public static final ResourceLocation lilmac_scope_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lilmac_scope.png"); public static final ResourceLocation lance_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lance.png"); @@ -1041,31 +1056,30 @@ public class ResourceManager { public static final IModelCustom b29 = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/b29.obj")); //Missiles - public static final IModelCustom missileV2 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_v2.obj")).asDisplayList(); - public static final IModelCustom missileABM = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_abm.obj")).asDisplayList(); - public static final IModelCustom missileStrong = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_strong.obj")); - public static final IModelCustom missileHuge = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_huge.obj")); - public static final IModelCustom missileNuclear = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileNeon.obj")); - public static final IModelCustom missileMIRV = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileMIRV.obj")); - public static final IModelCustom missileThermo = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileThermo.obj")); - public static final IModelCustom missileDoomsday = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileDoomsday.obj")); - public static final IModelCustom missileTaint = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileTaint.obj")); + public static final IModelCustom missileV2 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_v2.obj")).asVBO(); + public static final IModelCustom missileABM = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_abm.obj")).asVBO(); + public static final IModelCustom missileStealth = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_stealth.obj"), false).asVBO(); + public static final IModelCustom missileStrong = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_strong.obj")).asVBO(); + public static final IModelCustom missileHuge = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_huge.obj")).asVBO(); + public static final IModelCustom missileNuclear = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_atlas.obj")).asVBO(); + public static final IModelCustom missileMicro = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_micro.obj")).asVBO(); public static final IModelCustom missileShuttle = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileShuttle.obj")); public static final IModelCustom missileCarrier = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileCarrier.obj")); public static final IModelCustom missileBooster = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileBooster.obj")); public static final IModelCustom minerRocket = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/minerRocket.obj")); - public static final IModelCustom soyuz = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/soyuz.obj")).asDisplayList(); - public static final IModelCustom soyuz_lander = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/soyuz_lander.obj")).asDisplayList(); - public static final IModelCustom soyuz_module = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/soyuz_module.obj")).asDisplayList(); - public static final IModelCustom soyuz_launcher_legs = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/launch_table/soyuz_launcher_legs.obj"), false).asDisplayList(); - public static final IModelCustom soyuz_launcher_table = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/launch_table/soyuz_launcher_table.obj"), false).asDisplayList(); - public static final IModelCustom soyuz_launcher_tower_base = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/launch_table/soyuz_launcher_tower_base.obj"), false).asDisplayList(); - public static final IModelCustom soyuz_launcher_tower = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/launch_table/soyuz_launcher_tower.obj"), false).asDisplayList(); - public static final IModelCustom soyuz_launcher_support_base = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/launch_table/soyuz_launcher_support_base.obj"), false).asDisplayList(); - public static final IModelCustom soyuz_launcher_support = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/launch_table/soyuz_launcher_support.obj"), false).asDisplayList(); + public static final IModelCustom soyuz = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/soyuz.obj")).asVBO(); + public static final IModelCustom soyuz_lander = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/soyuz_lander.obj")).asVBO(); + public static final IModelCustom soyuz_module = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/soyuz_module.obj")).asVBO(); + public static final IModelCustom soyuz_launcher_legs = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/launch_table/soyuz_launcher_legs.obj"), false).asVBO(); + public static final IModelCustom soyuz_launcher_table = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/launch_table/soyuz_launcher_table.obj"), false).asVBO(); + public static final IModelCustom soyuz_launcher_tower_base = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/launch_table/soyuz_launcher_tower_base.obj"), false).asVBO(); + public static final IModelCustom soyuz_launcher_tower = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/launch_table/soyuz_launcher_tower.obj"), false).asVBO(); + public static final IModelCustom soyuz_launcher_support_base = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/launch_table/soyuz_launcher_support_base.obj"), false).asVBO(); + public static final IModelCustom soyuz_launcher_support = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/launch_table/soyuz_launcher_support.obj"), false).asVBO(); //Missile Parts - public static final IModelCustom missile_pad = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missilePad.obj")); + public static final IModelCustom missile_pad = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/weapons/launch_pad_silo.obj")); + public static final IModelCustom missile_erector = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/launch_pad_erector.obj")).asVBO(); public static final IModelCustom missile_assembly = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_assembly.obj")); public static final IModelCustom strut = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/strut.obj")); public static final IModelCustom compact_launcher = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/compact_launcher.obj")); @@ -1187,6 +1201,7 @@ public class ResourceManager { public static final ResourceLocation missileV2_BU_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_v2_bu.png"); public static final ResourceLocation missileV2_decoy_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_v2_decoy.png"); public static final ResourceLocation missileAA_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_abm.png"); + public static final ResourceLocation missileStealth_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_stealth.png"); public static final ResourceLocation missileStrong_HE_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_strong.png"); public static final ResourceLocation missileStrong_EMP_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_strong_emp.png"); public static final ResourceLocation missileStrong_IN_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_strong_inc.png"); @@ -1196,23 +1211,23 @@ public class ResourceManager { public static final ResourceLocation missileHuge_IN_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_huge_inc.png"); public static final ResourceLocation missileHuge_CL_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_huge_cl.png"); public static final ResourceLocation missileHuge_BU_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_huge_bu.png"); - public static final ResourceLocation missileNuclear_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileNeon.png"); - public static final ResourceLocation missileMIRV_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileNeonH.png"); - public static final ResourceLocation missileVolcano_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileNeonV.png"); - public static final ResourceLocation missileEndo_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileEndo.png"); - public static final ResourceLocation missileExo_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileExo.png"); - public static final ResourceLocation missileDoomsday_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileDoomsday.png"); - public static final ResourceLocation missileTaint_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileTaint.png"); + public static final ResourceLocation missileNuclear_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_atlas_nuclear.png"); + public static final ResourceLocation missileMIRV_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_atlas_thermo.png"); + public static final ResourceLocation missileVolcano_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_atlas_tectonic.png"); + public static final ResourceLocation missileDoomsday_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_atlas_doomsday.png"); + public static final ResourceLocation missileDoomsdayRusted_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_atlas_doomsday_weathered.png"); + public static final ResourceLocation missileTaint_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_micro_taint.png"); public static final ResourceLocation missileShuttle_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileShuttle.png"); - public static final ResourceLocation missileMicro_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileMicro.png"); + public static final ResourceLocation missileMicro_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_micro.png"); public static final ResourceLocation missileCarrier_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileCarrier.png"); public static final ResourceLocation missileBooster_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileBooster.png"); public static final ResourceLocation minerRocket_tex = new ResourceLocation(RefStrings.MODID, "textures/models/minerRocket.png"); public static final ResourceLocation bobmazon_tex = new ResourceLocation(RefStrings.MODID, "textures/models/bobmazon.png"); public static final ResourceLocation siege_dropship_tex = new ResourceLocation(RefStrings.MODID, "textures/models/siege_dropship.png"); - public static final ResourceLocation missileMicroBHole_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileMicroBHole.png"); - public static final ResourceLocation missileMicroSchrab_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileMicroSchrab.png"); - public static final ResourceLocation missileMicroEMP_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missileMicroEMP.png"); + public static final ResourceLocation missileMicroBHole_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_micro_bhole.png"); + public static final ResourceLocation missileMicroSchrab_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_micro_schrab.png"); + public static final ResourceLocation missileMicroEMP_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_micro_emp.png"); + public static final ResourceLocation missileMicroTest_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_test.png"); public static final ResourceLocation soyuz_engineblock = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz/engineblock.png"); public static final ResourceLocation soyuz_bottomstage = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz/bottomstage.png"); @@ -1266,7 +1281,15 @@ public class ResourceManager { public static final ResourceLocation soyuz_launcher_support_tex = new ResourceLocation(RefStrings.MODID, "textures/models/soyuz_launcher/launcher_support.png"); //Missile Parts - public static final ResourceLocation missile_pad_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missilePad.png"); + public static final ResourceLocation missile_pad_tex = new ResourceLocation(RefStrings.MODID, "textures/models/launchpad/silo.png"); + public static final ResourceLocation missile_pad_rusted_tex = new ResourceLocation(RefStrings.MODID, "textures/models/launchpad/silo_rusted.png"); + public static final ResourceLocation missile_erector_tex = new ResourceLocation(RefStrings.MODID, "textures/models/launchpad/pad.png"); + public static final ResourceLocation missile_erector_micro_tex = new ResourceLocation(RefStrings.MODID, "textures/models/launchpad/erector_micro.png"); + public static final ResourceLocation missile_erector_v2_tex = new ResourceLocation(RefStrings.MODID, "textures/models/launchpad/erector_v2.png"); + public static final ResourceLocation missile_erector_strong_tex = new ResourceLocation(RefStrings.MODID, "textures/models/launchpad/erector_strong.png"); + public static final ResourceLocation missile_erector_huge_tex = new ResourceLocation(RefStrings.MODID, "textures/models/launchpad/erector_huge.png"); + public static final ResourceLocation missile_erector_atlas_tex = new ResourceLocation(RefStrings.MODID, "textures/models/launchpad/erector_atlas.png"); + public static final ResourceLocation missile_erector_abm_tex = new ResourceLocation(RefStrings.MODID, "textures/models/launchpad/erector_abm.png"); public static final ResourceLocation missile_assembly_tex = new ResourceLocation(RefStrings.MODID, "textures/models/missile_assembly.png"); public static final ResourceLocation strut_tex = new ResourceLocation(RefStrings.MODID, "textures/models/strut.png"); public static final ResourceLocation compact_launcher_tex = new ResourceLocation(RefStrings.MODID, "textures/models/compact_launcher.png"); @@ -1437,6 +1460,8 @@ public class ResourceManager { public static final IModelCustom pipe_quad = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/pipe_quad.obj")); public static final IModelCustom pipe_frame = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/pipe_frame.obj")); public static final IModelCustom rtty = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rtty.obj")); + public static final IModelCustom crt = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/crt.obj")); + public static final IModelCustom toaster = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/toaster.obj")); public static final IModelCustom deco_computer = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/puter.obj")); @@ -1463,10 +1488,16 @@ public class ResourceManager { public static final IModelCustom rail_narrow_straight = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rail_narrow.obj")); public static final IModelCustom rail_narrow_curve = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rail_narrow_bend.obj")); public static final IModelCustom rail_standard_straight = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rail_standard.obj")); + public static final IModelCustom rail_standard_straight_short = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rail_standard_short.obj")); public static final IModelCustom rail_standard_curve = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rail_standard_bend.obj")); + public static final IModelCustom rail_standard_curve_wide7 = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rail_standard_bend_wide.obj")); + public static final IModelCustom rail_standard_curve_wide9 = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rail_standard_bend_wide9.obj")); public static final IModelCustom rail_standard_ramp = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rail_standard_ramp.obj")); public static final IModelCustom rail_standard_buffer = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rail_standard_buffer.obj")); + public static final IModelCustom rail_standard_switch = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rail_standard_switch.obj")); + public static final IModelCustom rail_standard_switch_flipped = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rail_standard_switch_flipped.obj")); public static final IModelCustom capacitor = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/capacitor.obj")); + public static final IModelCustom funnel = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/funnel.obj")); public static final IModelCustom charge_dynamite = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/charge_dynamite.obj")); public static final IModelCustom charge_c4 = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/charge_c4.obj")); @@ -1485,11 +1516,4 @@ public class ResourceManager { public static final IModelCustom deb_zirnox_exchanger = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/zirnox/deb_exchanger.obj")); public static final IModelCustom deb_zirnox_shrapnel = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/zirnox/deb_shrapnel.obj")); - public static void loadAnimatedModels(){ - transition_seal = ColladaLoader.load(new ResourceLocation(RefStrings.MODID, "models/doors/seal.dae"), true); - transition_seal_anim = ColladaLoader.loadAnim(24040, new ResourceLocation(RefStrings.MODID, "models/doors/seal.dae")); - - sliding_blast_door = ColladaLoader.load(new ResourceLocation(RefStrings.MODID, "models/doors/sliding_blast_door.dae")); - sliding_blast_door_anim = ColladaLoader.loadAnim(1200, new ResourceLocation(RefStrings.MODID, "models/doors/sliding_blast_door.dae")); - } } diff --git a/src/main/java/com/hbm/main/ServerProxy.java b/src/main/java/com/hbm/main/ServerProxy.java index e30cbe562..3e48b8e15 100644 --- a/src/main/java/com/hbm/main/ServerProxy.java +++ b/src/main/java/com/hbm/main/ServerProxy.java @@ -34,6 +34,7 @@ public class ServerProxy { public void registerItemRenderer() { } public void registerEntityRenderer() { } public void registerBlockRenderer() { } + public void handleNHNEICompat() { } public void particleControl(double x, double y, double z, int type) { } @@ -45,7 +46,6 @@ public class ServerProxy { public AudioWrapper getLoopedSound(String sound, float x, float y, float z, float volume, float range, float pitch) { return null; } public AudioWrapper getLoopedSound(String sound, float x, float y, float z, float volume, float range, float pitch, int keepAlive) { return null; } - public AudioWrapper getLoopedSoundStartStop(World world, String sound, String start, String stop, float x, float y, float z, float volume, float pitch) { return null; } public void playSound(String sound, Object data) { } @@ -87,4 +87,8 @@ public class ServerProxy { } public void playSoundClient(double x, double y, double z, String sound, float volume, float pitch) { } + + public String getLanguageCode() { return "en_US"; } + + public int getStackColor(ItemStack stack, boolean amplify) { return 0x000000; } } \ No newline at end of file diff --git a/src/main/java/com/hbm/packet/AuxButtonPacket.java b/src/main/java/com/hbm/packet/AuxButtonPacket.java index 3cb163883..c80dfd5ef 100644 --- a/src/main/java/com/hbm/packet/AuxButtonPacket.java +++ b/src/main/java/com/hbm/packet/AuxButtonPacket.java @@ -2,9 +2,7 @@ package com.hbm.packet; import com.hbm.config.MobConfig; import com.hbm.entity.mob.EntityDuck; -import com.hbm.inventory.fluid.FluidType; -import com.hbm.inventory.fluid.Fluids; -import com.hbm.items.weapon.ItemMissile.PartSize; +import com.hbm.items.weapon.ItemCustomMissilePart.PartSize; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.tileentity.TileEntityTickingBase; import com.hbm.tileentity.bomb.TileEntityLaunchTable; @@ -13,12 +11,11 @@ import com.hbm.tileentity.machine.TileEntityCoreStabilizer; import com.hbm.tileentity.machine.TileEntityForceField; import com.hbm.tileentity.machine.TileEntityMachineMiningLaser; import com.hbm.tileentity.machine.TileEntityMachineMissileAssembly; -import com.hbm.tileentity.machine.TileEntityMachineReactorLarge; import com.hbm.tileentity.machine.TileEntitySoyuzLauncher; import com.hbm.tileentity.machine.storage.TileEntityBarrel; import com.hbm.tileentity.machine.storage.TileEntityMachineBattery; -import api.hbm.energy.IEnergyConnector.ConnectionPriority; +import api.hbm.energymk2.IEnergyReceiverMK2.ConnectionPriority; import cpw.mods.fml.common.network.simpleimpl.IMessage; import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; import cpw.mods.fml.common.network.simpleimpl.MessageContext; @@ -71,6 +68,7 @@ public class AuxButtonPacket implements IMessage { public static class Handler implements IMessageHandler { + @SuppressWarnings("incomplete-switch") @Override public IMessage onMessage(AuxButtonPacket m, MessageContext ctx) { @@ -85,30 +83,6 @@ public class AuxButtonPacket implements IMessage { field.isOn = !field.isOn; } - if (te instanceof TileEntityMachineReactorLarge) { - TileEntityMachineReactorLarge reactor = (TileEntityMachineReactorLarge)te; - - if(m.id == 0) - reactor.rods = m.value; - - if(m.id == 1) { - FluidType type = Fluids.STEAM; - int fill = reactor.tanks[2].getFill(); - - switch(m.value) { - case 0: type = Fluids.HOTSTEAM; fill = (int)Math.floor(fill / 10D); break; - case 1: type = Fluids.SUPERHOTSTEAM; fill = (int)Math.floor(fill / 10D); break; - case 2: type = Fluids.STEAM; fill = (int)Math.floor(fill * 100); break; - } - - if(fill > reactor.tanks[2].getMaxFill()) - fill = reactor.tanks[2].getMaxFill(); - - reactor.tanks[2].setTankType(type); - reactor.tanks[2].setFill(fill); - } - } - if (te instanceof TileEntityMachineMissileAssembly) { TileEntityMachineMissileAssembly assembly = (TileEntityMachineMissileAssembly)te; diff --git a/src/main/java/com/hbm/packet/AuxElectricityPacket.java b/src/main/java/com/hbm/packet/AuxElectricityPacket.java index bebb4e9c1..39c27e7e1 100644 --- a/src/main/java/com/hbm/packet/AuxElectricityPacket.java +++ b/src/main/java/com/hbm/packet/AuxElectricityPacket.java @@ -1,6 +1,6 @@ package com.hbm.packet; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyHandlerMK2; import cpw.mods.fml.common.network.simpleimpl.IMessage; import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; import cpw.mods.fml.common.network.simpleimpl.MessageContext; @@ -55,9 +55,9 @@ public class AuxElectricityPacket implements IMessage { try { TileEntity te = Minecraft.getMinecraft().theWorld.getTileEntity(m.x, m.y, m.z); - if (te instanceof IEnergyUser) { + if (te instanceof IEnergyHandlerMK2) { - IEnergyUser gen = (IEnergyUser) te; + IEnergyHandlerMK2 gen = (IEnergyHandlerMK2) te; gen.setPower(m.charge); } } catch (Exception x) { } diff --git a/src/main/java/com/hbm/packet/AuxGaugePacket.java b/src/main/java/com/hbm/packet/AuxGaugePacket.java index 1a9e99d5d..c0555e549 100644 --- a/src/main/java/com/hbm/packet/AuxGaugePacket.java +++ b/src/main/java/com/hbm/packet/AuxGaugePacket.java @@ -1,19 +1,13 @@ package com.hbm.packet; import com.hbm.interfaces.Spaghetti; -import com.hbm.items.weapon.ItemMissile.PartSize; +import com.hbm.items.weapon.ItemCustomMissilePart.PartSize; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.tileentity.bomb.TileEntityCompactLauncher; import com.hbm.tileentity.bomb.TileEntityLaunchTable; -import com.hbm.tileentity.bomb.TileEntityNukeN45; -import com.hbm.tileentity.deco.TileEntityBomber; -import com.hbm.tileentity.machine.TileEntityAMSBase; -import com.hbm.tileentity.machine.TileEntityAMSEmitter; -import com.hbm.tileentity.machine.TileEntityAMSLimiter; import com.hbm.tileentity.machine.TileEntityMachineArcFurnace; import com.hbm.tileentity.machine.TileEntityMachineBoiler; import com.hbm.tileentity.machine.TileEntityMachineBoilerElectric; -import com.hbm.tileentity.machine.TileEntityMachineSeleniumEngine; import cpw.mods.fml.common.network.simpleimpl.IMessage; import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; @@ -73,51 +67,6 @@ public class AuxGaugePacket implements IMessage { public IMessage onMessage(AuxGaugePacket m, MessageContext ctx) { try { TileEntity te = Minecraft.getMinecraft().theWorld.getTileEntity(m.x, m.y, m.z); - - if (te instanceof TileEntityAMSLimiter) { - TileEntityAMSLimiter limiter = (TileEntityAMSLimiter)te; - if(m.id == 0) - limiter.locked = m.value == 1; - else if(m.id == 1) - limiter.efficiency = m.value; - } - if (te instanceof TileEntityAMSEmitter) { - TileEntityAMSEmitter emitter = (TileEntityAMSEmitter)te; - if(m.id == 0) - emitter.locked = m.value == 1; - else if(m.id == 1) - emitter.efficiency = m.value; - } - if (te instanceof TileEntityAMSBase) { - TileEntityAMSBase base = (TileEntityAMSBase)te; - - if(m.id == 0) - base.locked = m.value == 1; - else if(m.id == 1) - base.color = m.value; - else if(m.id == 2) - base.efficiency = m.value; - else if(m.id == 3) - base.field = m.value; - } - if (te instanceof TileEntityMachineSeleniumEngine) { - TileEntityMachineSeleniumEngine selenium = (TileEntityMachineSeleniumEngine)te; - - if(m.id == 0) - selenium.pistonCount = m.value; - if(m.id == 1) - selenium.powerCap = m.value; - } - if (te instanceof TileEntityBomber) { - TileEntityBomber bomber = (TileEntityBomber)te; - - if(m.id == 0) - bomber.yaw = m.value; - if(m.id == 1) - bomber.pitch = m.value; - if(m.id == 2) - bomber.type = m.value; - } if (te instanceof TileEntityMachineBoiler) { TileEntityMachineBoiler boiler = (TileEntityMachineBoiler)te; @@ -138,11 +87,6 @@ public class AuxGaugePacket implements IMessage { if(m.id == 0) boiler.heat = m.value; } - if (te instanceof TileEntityNukeN45) { - TileEntityNukeN45 nuke = (TileEntityNukeN45)te; - - nuke.primed = m.value == 1; - } if (te instanceof TileEntityCompactLauncher) { TileEntityCompactLauncher launcher = (TileEntityCompactLauncher)te; diff --git a/src/main/java/com/hbm/packet/BiomeSyncPacket.java b/src/main/java/com/hbm/packet/BiomeSyncPacket.java index aa8f992ea..203ddc281 100644 --- a/src/main/java/com/hbm/packet/BiomeSyncPacket.java +++ b/src/main/java/com/hbm/packet/BiomeSyncPacket.java @@ -28,8 +28,8 @@ public class BiomeSyncPacket implements IMessage { } public BiomeSyncPacket(int blockX, int blockZ, byte biome) { - this.chunkX = blockX << 4; - this.chunkZ = blockZ << 4; + this.chunkX = blockX >> 4; + this.chunkZ = blockZ >> 4; this.blockX = (byte) (blockX & 15); this.blockZ = (byte) (blockZ & 15); this.biome = biome; @@ -63,7 +63,6 @@ public class BiomeSyncPacket implements IMessage { this.blockX = buf.readByte(); this.blockZ = buf.readByte(); } else { - buf.writeBoolean(true); this.biomeArray = new byte[256]; for(int i = 0; i < 256; i++) { this.biomeArray[i] = buf.readByte(); @@ -80,12 +79,15 @@ public class BiomeSyncPacket implements IMessage { World world = Minecraft.getMinecraft().theWorld; if(!world.getChunkProvider().chunkExists(m.chunkX, m.chunkZ)) return null; Chunk chunk = world.getChunkFromChunkCoords(m.chunkX, m.chunkZ); + chunk.isModified = true; if(m.biomeArray == null) { chunk.getBiomeArray()[(m.blockZ & 15) << 4 | (m.blockX & 15)] = m.biome; + world.markBlockRangeForRenderUpdate(m.chunkX << 4, 0, m.chunkZ << 4, m.chunkX << 4, 255, m.chunkZ << 4); } else { for(int i = 0; i < 256; i++) { chunk.getBiomeArray()[i] = m.biomeArray[i]; + world.markBlockRangeForRenderUpdate(m.chunkX << 4, 0, m.chunkZ << 4, (m.chunkX << 4) + 15, 255, (m.chunkZ << 4) + 15); } } diff --git a/src/main/java/com/hbm/packet/GunAnimationPacket.java b/src/main/java/com/hbm/packet/GunAnimationPacket.java index 3a98fdffb..c744f72fd 100644 --- a/src/main/java/com/hbm/packet/GunAnimationPacket.java +++ b/src/main/java/com/hbm/packet/GunAnimationPacket.java @@ -58,10 +58,23 @@ public class GunAnimationPacket implements IMessage { return null; AnimType type = AnimType.values()[m.type]; - BusAnimation animation = ((ItemGunBase) stack.getItem()).getAnimation(stack, type); + ItemGunBase base = (ItemGunBase) stack.getItem(); + + BusAnimation animation = base.getAnimation(stack, type); + + // Fallback to regular reload if no empty reload animation + if(animation == null && type == AnimType.RELOAD_EMPTY) { + animation = base.getAnimation(stack, AnimType.RELOAD); + } + + // Fallback to regular CYCLE if no ALT_CYCLE (or CYCLE_EMPTY) exists + if(animation == null && (type == AnimType.ALT_CYCLE || type == AnimType.CYCLE_EMPTY)) { + animation = base.getAnimation(stack, AnimType.CYCLE); + } if(animation != null) { - HbmAnimations.hotbar[slot] = new Animation(stack.getItem().getUnlocalizedName(), System.currentTimeMillis(), animation); + boolean isReloadAnimation = type == AnimType.RELOAD || type == AnimType.RELOAD_CYCLE || type == AnimType.RELOAD_EMPTY; + HbmAnimations.hotbar[slot] = new Animation(stack.getItem().getUnlocalizedName(), System.currentTimeMillis(), animation, isReloadAnimation && base.mainConfig.reloadAnimationsSequential); } } catch(Exception x) { } diff --git a/src/main/java/com/hbm/packet/ItemBobmazonPacket.java b/src/main/java/com/hbm/packet/ItemBobmazonPacket.java index 8e9047038..c665f8891 100644 --- a/src/main/java/com/hbm/packet/ItemBobmazonPacket.java +++ b/src/main/java/com/hbm/packet/ItemBobmazonPacket.java @@ -128,9 +128,7 @@ public class ItemBobmazonPacket implements IMessage { item == ModItems.cap_nuka || item == ModItems.cap_quantum || item == ModItems.cap_rad || - item == ModItems.cap_sparkle || - item == ModItems.cap_star || - item == ModItems.cap_sunset) + item == ModItems.cap_sparkle) count += stack.stackSize; } @@ -157,9 +155,7 @@ public class ItemBobmazonPacket implements IMessage { item == ModItems.cap_nuka || item == ModItems.cap_quantum || item == ModItems.cap_rad || - item == ModItems.cap_sparkle || - item == ModItems.cap_star || - item == ModItems.cap_sunset) { + item == ModItems.cap_sparkle) { int size = stack.stackSize; for(int j = 0; j < size; j++) { diff --git a/src/main/java/com/hbm/packet/LoopedSoundPacket.java b/src/main/java/com/hbm/packet/LoopedSoundPacket.java index 44d9339bf..0312680a0 100644 --- a/src/main/java/com/hbm/packet/LoopedSoundPacket.java +++ b/src/main/java/com/hbm/packet/LoopedSoundPacket.java @@ -1,17 +1,8 @@ package com.hbm.packet; import com.hbm.interfaces.Spaghetti; -import com.hbm.sound.SoundLoopAssembler; -import com.hbm.sound.SoundLoopBroadcaster; -import com.hbm.sound.SoundLoopCentrifuge; -import com.hbm.sound.SoundLoopMiner; -import com.hbm.sound.SoundLoopTurbofan; -import com.hbm.tileentity.machine.TileEntityBroadcaster; -import com.hbm.tileentity.machine.TileEntityMachineAssembler; -import com.hbm.tileentity.machine.TileEntityMachineCentrifuge; -import com.hbm.tileentity.machine.TileEntityMachineGasCent; -import com.hbm.tileentity.machine.TileEntityMachineMiningDrill; -import com.hbm.tileentity.machine.TileEntityMachineTurbofan; +import com.hbm.sound.*; +import com.hbm.tileentity.machine.*; import cpw.mods.fml.common.network.simpleimpl.IMessage; import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; @@ -63,18 +54,6 @@ public class LoopedSoundPacket implements IMessage { @SideOnly(Side.CLIENT) public IMessage onMessage(LoopedSoundPacket m, MessageContext ctx) { TileEntity te = Minecraft.getMinecraft().theWorld.getTileEntity(m.x, m.y, m.z); - - if (te != null && te instanceof TileEntityMachineMiningDrill) { - - boolean flag = true; - for(int i = 0; i < SoundLoopMiner.list.size(); i++) { - if(SoundLoopMiner.list.get(i).getTE() == te && !SoundLoopMiner.list.get(i).isDonePlaying()) - flag = false; - } - - if(flag && te.getWorldObj().isRemote && ((TileEntityMachineMiningDrill)te).torque > 0.2F) - Minecraft.getMinecraft().getSoundHandler().playSound(new SoundLoopMiner(new ResourceLocation("hbm:block.minerOperate"), te)); - } if (te != null && te instanceof TileEntityMachineAssembler) { diff --git a/src/main/java/com/hbm/packet/PacketDispatcher.java b/src/main/java/com/hbm/packet/PacketDispatcher.java index 9414d49a0..5bc992dd8 100644 --- a/src/main/java/com/hbm/packet/PacketDispatcher.java +++ b/src/main/java/com/hbm/packet/PacketDispatcher.java @@ -15,10 +15,6 @@ public class PacketDispatcher { { int i = 0; - //Machine type for marker rendering - wrapper.registerMessage(TEStructurePacket.Handler.class, TEStructurePacket.class, i++, Side.CLIENT); - //Mining drill rotation for rendering - wrapper.registerMessage(TEDrillPacket.Handler.class, TEDrillPacket.class, i++, Side.CLIENT); //Fluid packet for GUI wrapper.registerMessage(TEFluidPacket.Handler.class, TEFluidPacket.class, i++, Side.CLIENT); //Sound packet that keeps client and server separated diff --git a/src/main/java/com/hbm/packet/TEDrillPacket.java b/src/main/java/com/hbm/packet/TEDrillPacket.java deleted file mode 100644 index f157550f0..000000000 --- a/src/main/java/com/hbm/packet/TEDrillPacket.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.hbm.packet; - -import com.hbm.tileentity.machine.TileEntityMachineMiningDrill; - -import cpw.mods.fml.common.network.simpleimpl.IMessage; -import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; -import io.netty.buffer.ByteBuf; -import net.minecraft.client.Minecraft; -import net.minecraft.tileentity.TileEntity; - -public class TEDrillPacket implements IMessage { - - int x; - int y; - int z; - float spin; - float torque; - - public TEDrillPacket() - { - - } - - public TEDrillPacket(int x, int y, int z, float spin, float torque) - { - this.x = x; - this.y = y; - this.z = z; - this.spin = spin; - this.torque = torque; - } - - @Override - public void fromBytes(ByteBuf buf) { - x = buf.readInt(); - y = buf.readInt(); - z = buf.readInt(); - spin = buf.readFloat(); - torque = buf.readFloat(); - } - - @Override - public void toBytes(ByteBuf buf) { - buf.writeInt(x); - buf.writeInt(y); - buf.writeInt(z); - buf.writeFloat(spin); - buf.writeFloat(torque); - } - - public static class Handler implements IMessageHandler { - - @Override - public IMessage onMessage(TEDrillPacket m, MessageContext ctx) { - TileEntity te = Minecraft.getMinecraft().theWorld.getTileEntity(m.x, m.y, m.z); - - if (te != null && te instanceof TileEntityMachineMiningDrill) { - - TileEntityMachineMiningDrill gen = (TileEntityMachineMiningDrill) te; - gen.rotation = m.spin; - gen.torque = m.torque; - } - return null; - } - } -} diff --git a/src/main/java/com/hbm/packet/TEStructurePacket.java b/src/main/java/com/hbm/packet/TEStructurePacket.java deleted file mode 100644 index 59af50274..000000000 --- a/src/main/java/com/hbm/packet/TEStructurePacket.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.hbm.packet; - -import com.hbm.tileentity.machine.TileEntityStructureMarker; - -import cpw.mods.fml.common.network.simpleimpl.IMessage; -import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; -import io.netty.buffer.ByteBuf; -import net.minecraft.client.Minecraft; -import net.minecraft.tileentity.TileEntity; - -public class TEStructurePacket implements IMessage { - - int x; - int y; - int z; - int type; - - public TEStructurePacket() - { - - } - - public TEStructurePacket(int x, int y, int z, int type) - { - this.x = x; - this.y = y; - this.z = z; - this.type = type; - } - - @Override - public void fromBytes(ByteBuf buf) { - x = buf.readInt(); - y = buf.readInt(); - z = buf.readInt(); - type = buf.readInt(); - } - - @Override - public void toBytes(ByteBuf buf) { - buf.writeInt(x); - buf.writeInt(y); - buf.writeInt(z); - buf.writeInt(type); - } - - public static class Handler implements IMessageHandler { - - @Override - public IMessage onMessage(TEStructurePacket m, MessageContext ctx) { - TileEntity te = Minecraft.getMinecraft().theWorld.getTileEntity(m.x, m.y, m.z); - - if (te != null && te instanceof TileEntityStructureMarker) { - - TileEntityStructureMarker marker = (TileEntityStructureMarker) te; - marker.type = m.type; - } - return null; - } - } -} diff --git a/src/main/java/com/hbm/particle/ParticleContrail.java b/src/main/java/com/hbm/particle/ParticleContrail.java index 9a972bee4..5bdacfcad 100644 --- a/src/main/java/com/hbm/particle/ParticleContrail.java +++ b/src/main/java/com/hbm/particle/ParticleContrail.java @@ -8,11 +8,13 @@ import com.hbm.lib.RefStrings; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.Minecraft; import net.minecraft.client.particle.EntityFX; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; @@ -28,9 +30,9 @@ public class ParticleContrail extends EntityFX { super(p_i1218_1_, p_i1218_2_, p_i1218_4_, p_i1218_6_); theRenderEngine = p_i1213_1_; maxAge = 100 + rand.nextInt(40); - - this.particleRed = this.particleGreen = this.particleBlue = 0; - this.particleScale = 1F; + + this.particleRed = this.particleGreen = this.particleBlue = 0; + this.particleScale = 1F; } public ParticleContrail(TextureManager p_i1213_1_, World p_i1218_1_, double p_i1218_2_, double p_i1218_4_, double p_i1218_6_, float red, float green, float blue, float scale) { @@ -38,24 +40,23 @@ public class ParticleContrail extends EntityFX { theRenderEngine = p_i1213_1_; maxAge = 100 + rand.nextInt(40); - this.particleRed = red; - this.particleGreen = green; - this.particleBlue = blue; - - this.particleScale = scale; + this.particleRed = red; + this.particleGreen = green; + this.particleBlue = blue; + + this.particleScale = scale; } public void onUpdate() { this.prevPosX = this.posX; this.prevPosY = this.posY; this.prevPosZ = this.posZ; - - particleAlpha = 1 - ((float) age / (float) maxAge); - - ++this.age; - - if (this.age == this.maxAge) { + particleAlpha = 1 - ((float) age / (float) maxAge); + + ++this.age; + + if(this.age == this.maxAge) { this.setDead(); } } @@ -65,40 +66,44 @@ public class ParticleContrail extends EntityFX { } public void renderParticle(Tessellator p_70539_1_, float p_70539_2_, float p_70539_3_, float p_70539_4_, float p_70539_5_, float p_70539_6_, float p_70539_7_) { - + this.theRenderEngine.bindTexture(texture); - + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); GL11.glDisable(GL11.GL_LIGHTING); GL11.glEnable(GL11.GL_BLEND); GL11.glDepthMask(false); - OpenGlHelper.glBlendFunc(770, 771, 1, 0); + OpenGlHelper.glBlendFunc(770, 771, 1, 0); RenderHelper.disableStandardItemLighting(); - + Random urandom = new Random(this.getEntityId()); + EntityPlayer player = Minecraft.getMinecraft().thePlayer; + double dX = player.lastTickPosX + (player.posX - player.lastTickPosX) * (double)p_70539_2_; + double dY = player.lastTickPosY + (player.posY - player.lastTickPosY) * (double)p_70539_2_; + double dZ = player.lastTickPosZ + (player.posZ - player.lastTickPosZ) * (double)p_70539_2_; + for(int i = 0; i < 6; i++) { - + p_70539_1_.startDrawingQuads(); - float mod = urandom.nextFloat() * 0.2F + 0.2F; p_70539_1_.setColorRGBA_F(this.particleRed + mod, this.particleGreen + mod, this.particleBlue + mod, this.particleAlpha); p_70539_1_.setNormal(0.0F, 1.0F, 0.0F); p_70539_1_.setBrightness(240); - - float scale = particleAlpha + 0.5F * this.particleScale; - float pX = (float) ((this.prevPosX + (this.posX - this.prevPosX) * (double)p_70539_2_ - interpPosX) + urandom.nextGaussian() * 0.5); - float pY = (float) ((this.prevPosY + (this.posY - this.prevPosY) * (double)p_70539_2_ - interpPosY) + urandom.nextGaussian() * 0.5); - float pZ = (float) ((this.prevPosZ + (this.posZ - this.prevPosZ) * (double)p_70539_2_ - interpPosZ) + urandom.nextGaussian() * 0.5); - - p_70539_1_.addVertexWithUV((double)(pX - p_70539_3_ * scale - p_70539_6_ * scale), (double)(pY - p_70539_4_ * scale), (double)(pZ - p_70539_5_ * scale - p_70539_7_ * scale), 1, 1); - p_70539_1_.addVertexWithUV((double)(pX - p_70539_3_ * scale + p_70539_6_ * scale), (double)(pY + p_70539_4_ * scale), (double)(pZ - p_70539_5_ * scale + p_70539_7_ * scale), 1, 0); - p_70539_1_.addVertexWithUV((double)(pX + p_70539_3_ * scale + p_70539_6_ * scale), (double)(pY + p_70539_4_ * scale), (double)(pZ + p_70539_5_ * scale + p_70539_7_ * scale), 0, 0); - p_70539_1_.addVertexWithUV((double)(pX + p_70539_3_ * scale - p_70539_6_ * scale), (double)(pY - p_70539_4_ * scale), (double)(pZ + p_70539_5_ * scale - p_70539_7_ * scale), 0, 1); + + float scale = (particleAlpha + 0.5F) * this.particleScale; + float pX = (float) ((this.prevPosX + (this.posX - this.prevPosX) * (double) p_70539_2_ - dX) + urandom.nextGaussian() * 0.5 * this.particleScale); + float pY = (float) ((this.prevPosY + (this.posY - this.prevPosY) * (double) p_70539_2_ - dY) + urandom.nextGaussian() * 0.5 * this.particleScale); + float pZ = (float) ((this.prevPosZ + (this.posZ - this.prevPosZ) * (double) p_70539_2_ - dZ) + urandom.nextGaussian() * 0.5 * this.particleScale); + + p_70539_1_.addVertexWithUV((double) (pX - p_70539_3_ * scale - p_70539_6_ * scale), (double) (pY - p_70539_4_ * scale), (double) (pZ - p_70539_5_ * scale - p_70539_7_ * scale), 1, 1); + p_70539_1_.addVertexWithUV((double) (pX - p_70539_3_ * scale + p_70539_6_ * scale), (double) (pY + p_70539_4_ * scale), (double) (pZ - p_70539_5_ * scale + p_70539_7_ * scale), 1, 0); + p_70539_1_.addVertexWithUV((double) (pX + p_70539_3_ * scale + p_70539_6_ * scale), (double) (pY + p_70539_4_ * scale), (double) (pZ + p_70539_5_ * scale + p_70539_7_ * scale), 0, 0); + p_70539_1_.addVertexWithUV((double) (pX + p_70539_3_ * scale - p_70539_6_ * scale), (double) (pY - p_70539_4_ * scale), (double) (pZ + p_70539_5_ * scale - p_70539_7_ * scale), 0, 1); p_70539_1_.draw(); } - + GL11.glPolygonOffset(0.0F, 0.0F); GL11.glEnable(GL11.GL_LIGHTING); } diff --git a/src/main/java/com/hbm/particle/ParticleCoolingTower.java b/src/main/java/com/hbm/particle/ParticleCoolingTower.java index ced14c05f..cf9d39559 100644 --- a/src/main/java/com/hbm/particle/ParticleCoolingTower.java +++ b/src/main/java/com/hbm/particle/ParticleCoolingTower.java @@ -15,6 +15,9 @@ public class ParticleCoolingTower extends EntityFX { private float baseScale = 1.0F; private float maxScale = 1.0F; private float lift = 0.3F; + private float strafe = 0.075F; + private boolean windDir = true; + private float alphaMod = 0.25F; public ParticleCoolingTower(TextureManager texman, World world, double x, double y, double z) { super(world, x, y, z); @@ -23,21 +26,13 @@ public class ParticleCoolingTower extends EntityFX { this.noClip = true; } - public void setBaseScale(float f) { - this.baseScale = f; - } - - public void setMaxScale(float f) { - this.maxScale = f; - } - - public void setLift(float f) { - this.lift = f; - } - - public void setLife(int i) { - this.particleMaxAge = i; - } + public void setBaseScale(float f) { this.baseScale = f; } + public void setMaxScale(float f) { this.maxScale = f; } + public void setLift(float f) { this.lift = f; } + public void setLife(int i) { this.particleMaxAge = i; } + public void setStrafe(float f) { this.strafe = f; } + public void noWind() { this.windDir = false; } + public void alphaMod(float mod) { this.alphaMod = mod; } public void onUpdate() { @@ -47,20 +42,25 @@ public class ParticleCoolingTower extends EntityFX { float ageScale = (float) this.particleAge / (float) this.particleMaxAge; - this.particleAlpha = 0.25F - ageScale * 0.25F; + this.particleAlpha = alphaMod - ageScale * alphaMod; this.particleScale = baseScale + (float)Math.pow((maxScale * ageScale - baseScale), 2); this.particleAge++; - - if(this.motionY < this.lift) { + + if(lift > 0 && this.motionY < this.lift) { this.motionY += 0.01F; } + if(lift < 0 && this.motionY > this.lift) { + this.motionY -= 0.01F; + } - this.motionX += rand.nextGaussian() * 0.075D * ageScale; - this.motionZ += rand.nextGaussian() * 0.075D * ageScale; + this.motionX += rand.nextGaussian() * strafe * ageScale; + this.motionZ += rand.nextGaussian() * strafe * ageScale; - this.motionX += 0.02 * ageScale; - this.motionX -= 0.01 * ageScale; + if(windDir) { + this.motionX += 0.02 * ageScale; + this.motionZ -= 0.01 * ageScale; + } if(this.particleAge == this.particleMaxAge) { this.setDead(); diff --git a/src/main/java/com/hbm/particle/ParticleRocketFlame.java b/src/main/java/com/hbm/particle/ParticleRocketFlame.java index 72981706a..ac60a5bf5 100644 --- a/src/main/java/com/hbm/particle/ParticleRocketFlame.java +++ b/src/main/java/com/hbm/particle/ParticleRocketFlame.java @@ -21,8 +21,20 @@ public class ParticleRocketFlame extends EntityFX { super(p_i1218_1_, p_i1218_2_, p_i1218_4_, p_i1218_6_); particleIcon = ModEventHandlerClient.particleBase; maxAge = 300 + rand.nextInt(50); + this.particleScale = 1F; + } + + public ParticleRocketFlame setScale(float scale) { + this.particleScale = scale; + return this; + } + + public ParticleRocketFlame setMaxAge(int maxAge) { + this.maxAge = maxAge; + return this; } + @Override public void onUpdate() { this.prevPosX = this.posX; this.prevPosY = this.posY; @@ -30,51 +42,54 @@ public class ParticleRocketFlame extends EntityFX { this.age++; - if (this.age == this.maxAge) { + if(this.age == this.maxAge) { this.setDead(); } - this.motionX *= 0.9099999785423279D; - this.motionY *= 0.9099999785423279D; - this.motionZ *= 0.9099999785423279D; + this.motionX *= 0.91D; + this.motionY *= 0.91D; + this.motionZ *= 0.91D; - this.moveEntity(this.motionX, this.motionY, this.motionZ); + this.moveEntity(this.motionX, this.motionY, this.motionZ); } + @Override public int getFXLayer() { - return 1; - } - - public void renderParticle(Tessellator p_70539_1_, float p_70539_2_, float p_70539_3_, float p_70539_4_, float p_70539_5_, float p_70539_6_, float p_70539_7_) { - - Random urandom = new Random(this.getEntityId()); - - for(int i = 0; i < 10; i++) { - - float add = urandom.nextFloat() * 0.3F; - float dark = 1 - Math.min(((float)(age) / (float)(maxAge * 0.25F)), 1); - - this.particleRed = 1 * dark + add; - this.particleGreen = 0.6F * dark + add; - this.particleBlue = 0 + add; - - this.particleAlpha = (float) Math.pow(1 - Math.min(((float)(age) / (float)(maxAge)), 1), 0.5); - - p_70539_1_.setColorRGBA_F(this.particleRed, this.particleGreen, this.particleBlue, this.particleAlpha * 0.75F); - p_70539_1_.setNormal(0.0F, 1.0F, 0.0F); - p_70539_1_.setBrightness(240); - - float spread = (float) Math.pow(((float)(age) / (float)maxAge) * 4F, 1.5) + 1F; - - float scale = urandom.nextFloat() * 0.5F + 0.1F + ((float)(age) / (float)maxAge) * 2F; - float pX = (float) ((this.prevPosX + (this.posX - this.prevPosX) * (double)p_70539_2_ - interpPosX) + (urandom.nextGaussian() - 1D) * 0.2F * spread); - float pY = (float) ((this.prevPosY + (this.posY - this.prevPosY) * (double)p_70539_2_ - interpPosY) + (urandom.nextGaussian() - 1D) * 0.5F * spread); - float pZ = (float) ((this.prevPosZ + (this.posZ - this.prevPosZ) * (double)p_70539_2_ - interpPosZ) + (urandom.nextGaussian() - 1D) * 0.2F * spread); - - p_70539_1_.addVertexWithUV((double)(pX - p_70539_3_ * scale - p_70539_6_ * scale), (double)(pY - p_70539_4_ * scale), (double)(pZ - p_70539_5_ * scale - p_70539_7_ * scale), particleIcon.getMaxU(), particleIcon.getMaxV()); - p_70539_1_.addVertexWithUV((double)(pX - p_70539_3_ * scale + p_70539_6_ * scale), (double)(pY + p_70539_4_ * scale), (double)(pZ - p_70539_5_ * scale + p_70539_7_ * scale), particleIcon.getMaxU(), particleIcon.getMinV()); - p_70539_1_.addVertexWithUV((double)(pX + p_70539_3_ * scale + p_70539_6_ * scale), (double)(pY + p_70539_4_ * scale), (double)(pZ + p_70539_5_ * scale + p_70539_7_ * scale), particleIcon.getMinU(), particleIcon.getMinV()); - p_70539_1_.addVertexWithUV((double)(pX + p_70539_3_ * scale - p_70539_6_ * scale), (double)(pY - p_70539_4_ * scale), (double)(pZ + p_70539_5_ * scale - p_70539_7_ * scale), particleIcon.getMinU(), particleIcon.getMaxV()); - } - } + return 1; + } + + @Override + public void renderParticle(Tessellator p_70539_1_, float interp, float sX, float sY, float sZ, float dX, float dZ) { + + Random urandom = new Random(this.getEntityId()); + + for(int i = 0; i < 10; i++) { + + float add = urandom.nextFloat() * 0.3F; + float dark = 1 - Math.min(((float) (age) / (float) (maxAge * 0.25F)), 1); + + this.particleRed = 1 * dark + add; + this.particleGreen = 0.6F * dark + add; + this.particleBlue = 0 + add; + + this.particleAlpha = (float) Math.pow(1 - Math.min(((float) (age) / (float) (maxAge)), 1), 0.5); + + p_70539_1_.setColorRGBA_F(this.particleRed, this.particleGreen, this.particleBlue, this.particleAlpha * 0.75F); + p_70539_1_.setNormal(0.0F, 1.0F, 0.0F); + p_70539_1_.setBrightness(240); + + float spread = (float) Math.pow(((float) (age) / (float) maxAge) * 4F, 1.5) + 1F; + spread *= this.particleScale; + + float scale = (urandom.nextFloat() * 0.5F + 0.1F + ((float) (age) / (float) maxAge) * 2F) * particleScale; + float pX = (float) ((this.prevPosX + (this.posX - this.prevPosX) * (double) interp - interpPosX) + (urandom.nextGaussian() - 1D) * 0.2F * spread); + float pY = (float) ((this.prevPosY + (this.posY - this.prevPosY) * (double) interp - interpPosY) + (urandom.nextGaussian() - 1D) * 0.5F * spread); + float pZ = (float) ((this.prevPosZ + (this.posZ - this.prevPosZ) * (double) interp - interpPosZ) + (urandom.nextGaussian() - 1D) * 0.2F * spread); + + p_70539_1_.addVertexWithUV((double) (pX - sX * scale - dX * scale), (double) (pY - sY * scale), (double) (pZ - sZ * scale - dZ * scale), particleIcon.getMaxU(), particleIcon.getMaxV()); + p_70539_1_.addVertexWithUV((double) (pX - sX * scale + dX * scale), (double) (pY + sY * scale), (double) (pZ - sZ * scale + dZ * scale), particleIcon.getMaxU(), particleIcon.getMinV()); + p_70539_1_.addVertexWithUV((double) (pX + sX * scale + dX * scale), (double) (pY + sY * scale), (double) (pZ + sZ * scale + dZ * scale), particleIcon.getMinU(), particleIcon.getMinV()); + p_70539_1_.addVertexWithUV((double) (pX + sX * scale - dX * scale), (double) (pY - sY * scale), (double) (pZ + sZ * scale - dZ * scale), particleIcon.getMinU(), particleIcon.getMaxV()); + } + } } diff --git a/src/main/java/com/hbm/particle/ParticleSmokePlume.java b/src/main/java/com/hbm/particle/ParticleSmokePlume.java index bc6c9c2c5..9ccd4d6ee 100644 --- a/src/main/java/com/hbm/particle/ParticleSmokePlume.java +++ b/src/main/java/com/hbm/particle/ParticleSmokePlume.java @@ -8,11 +8,13 @@ import com.hbm.lib.RefStrings; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.Minecraft; import net.minecraft.client.particle.EntityFX; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.ResourceLocation; import net.minecraft.util.Vec3; import net.minecraft.world.World; @@ -28,7 +30,8 @@ public class ParticleSmokePlume extends EntityFX { public ParticleSmokePlume(TextureManager p_i1213_1_, World p_i1218_1_, double p_i1218_2_, double p_i1218_4_, double p_i1218_6_) { super(p_i1218_1_, p_i1218_2_, p_i1218_4_, p_i1218_6_); theRenderEngine = p_i1213_1_; - maxAge = 100 + rand.nextInt(40); + maxAge = 80 + rand.nextInt(20); + this.particleScale = 0.25F; } public void onUpdate() { @@ -37,6 +40,8 @@ public class ParticleSmokePlume extends EntityFX { this.prevPosZ = this.posZ; particleAlpha = 1 - ((float) age / (float) maxAge); + float prevScale = this.particleScale; + this.particleScale = 0.25F + ((float) age / (float) maxAge) * 2; ++this.age; @@ -46,9 +51,9 @@ public class ParticleSmokePlume extends EntityFX { double bak = Vec3.createVectorHelper(motionX, motionY, motionZ).lengthVector(); - this.moveEntity(this.motionX, this.motionY, this.motionZ); + this.moveEntity(this.motionX, this.motionY + (this.particleScale - prevScale), this.motionZ); - if(Math.abs(motionX) < 0.025 && Math.abs(motionZ) < 0.025) { + if(this.isCollidedVertically) { motionY = bak; } @@ -73,21 +78,26 @@ public class ParticleSmokePlume extends EntityFX { RenderHelper.disableStandardItemLighting(); Random urandom = new Random(this.getEntityId()); + + EntityPlayer player = Minecraft.getMinecraft().thePlayer; + double dX = player.lastTickPosX + (player.posX - player.lastTickPosX) * (double)p_70539_2_; + double dY = player.lastTickPosY + (player.posY - player.lastTickPosY) * (double)p_70539_2_; + double dZ = player.lastTickPosZ + (player.posZ - player.lastTickPosZ) * (double)p_70539_2_; for(int i = 0; i < 6; i++) { p_70539_1_.startDrawingQuads(); - this.particleRed = this.particleGreen = this.particleBlue = urandom.nextFloat() * 0.7F + 0.2F; + this.particleRed = this.particleGreen = this.particleBlue = urandom.nextFloat() * 0.75F + 0.1F; p_70539_1_.setColorRGBA_F(this.particleRed, this.particleGreen, this.particleBlue, this.particleAlpha); p_70539_1_.setNormal(0.0F, 1.0F, 0.0F); p_70539_1_.setBrightness(240); - float scale = 0.5F; - float pX = (float) ((this.prevPosX + (this.posX - this.prevPosX) * (double) p_70539_2_ - interpPosX) + urandom.nextGaussian() * 0.5); - float pY = (float) ((this.prevPosY + (this.posY - this.prevPosY) * (double) p_70539_2_ - interpPosY) + urandom.nextGaussian() * 0.5); - float pZ = (float) ((this.prevPosZ + (this.posZ - this.prevPosZ) * (double) p_70539_2_ - interpPosZ) + urandom.nextGaussian() * 0.5); + float scale = this.particleScale; + float pX = (float) ((this.prevPosX + (this.posX - this.prevPosX) * (double) p_70539_2_ - dX) + urandom.nextGaussian() * 0.5 * scale); + float pY = (float) ((this.prevPosY + (this.posY - this.prevPosY) * (double) p_70539_2_ - dY) + urandom.nextGaussian() * 0.5 * scale); + float pZ = (float) ((this.prevPosZ + (this.posZ - this.prevPosZ) * (double) p_70539_2_ - dZ) + urandom.nextGaussian() * 0.5 * scale); p_70539_1_.addVertexWithUV((double) (pX - p_70539_3_ * scale - p_70539_6_ * scale), (double) (pY - p_70539_4_ * scale), (double) (pZ - p_70539_5_ * scale - p_70539_7_ * scale), 1, 1); p_70539_1_.addVertexWithUV((double) (pX - p_70539_3_ * scale + p_70539_6_ * scale), (double) (pY + p_70539_4_ * scale), (double) (pZ - p_70539_5_ * scale + p_70539_7_ * scale), 1, 0); diff --git a/src/main/java/com/hbm/particle/ParticleSplash.java b/src/main/java/com/hbm/particle/ParticleSplash.java new file mode 100644 index 000000000..0411a3f62 --- /dev/null +++ b/src/main/java/com/hbm/particle/ParticleSplash.java @@ -0,0 +1,68 @@ +package com.hbm.particle; + +import com.hbm.main.ModEventHandlerClient; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.particle.EntityFX; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.world.World; + +@SideOnly(Side.CLIENT) +public class ParticleSplash extends EntityFX { + + public ParticleSplash(TextureManager texman, World world, double x, double y, double z) { + super(world, x, y, z); + particleIcon = ModEventHandlerClient.particleSplash; + this.particleRed = this.particleGreen = this.particleBlue = 1F - world.rand.nextFloat() * 0.2F; + this.particleAlpha = 0.5F; + this.particleScale = 0.4F; + this.particleMaxAge = 200 + world.rand.nextInt(50); + this.particleGravity = 0.4F; + } + + public int getFXLayer() { + return 1; + } + + public void onUpdate() { + super.onUpdate(); + + if(!this.onGround) { + this.motionX += rand.nextGaussian() * 0.002D; + this.motionZ += rand.nextGaussian() * 0.002D; + + if(this.motionY < -0.5D) + this.motionY = -0.5D; + } else { + this.setDead(); + } + } + + @Override + public void renderParticle(Tessellator tess, float interp, float fX, float fY, float fZ, float sX, float sZ) { + + tess.setNormal(0.0F, 1.0F, 0.0F); + + tess.setColorRGBA_F(this.particleRed, this.particleGreen, this.particleBlue, this.particleAlpha); + + float scale = this.particleScale; + float pX = (float) (this.prevPosX + (this.posX - this.prevPosX) * (double) interp - interpPosX); + float pY = (float) (this.prevPosY + (this.posY - this.prevPosY) * (double) interp - interpPosY); + float pZ = (float) (this.prevPosZ + (this.posZ - this.prevPosZ) * (double) interp - interpPosZ); + + boolean flipU = this.getEntityId() % 2 == 0; + boolean flipV = this.getEntityId() % 4 < 2; + + double minU = flipU ? particleIcon.getMaxU() : particleIcon.getMinU(); + double maxU = flipU ? particleIcon.getMinU() : particleIcon.getMaxU(); + double minV = flipV ? particleIcon.getMaxV() : particleIcon.getMinV(); + double maxV = flipV ? particleIcon.getMinV() : particleIcon.getMaxV(); + + tess.addVertexWithUV((double) (pX - fX * scale - sX * scale), (double) (pY - fY * scale), (double) (pZ - fZ * scale - sZ * scale), maxU, maxV); + tess.addVertexWithUV((double) (pX - fX * scale + sX * scale), (double) (pY + fY * scale), (double) (pZ - fZ * scale + sZ * scale), maxU, minV); + tess.addVertexWithUV((double) (pX + fX * scale + sX * scale), (double) (pY + fY * scale), (double) (pZ + fZ * scale + sZ * scale), minU, minV); + tess.addVertexWithUV((double) (pX + fX * scale - sX * scale), (double) (pY - fY * scale), (double) (pZ + fZ * scale - sZ * scale), minU, maxV); + } +} \ No newline at end of file diff --git a/src/main/java/com/hbm/particle/SpentCasing.java b/src/main/java/com/hbm/particle/SpentCasing.java index a44534a3f..200f12893 100644 --- a/src/main/java/com/hbm/particle/SpentCasing.java +++ b/src/main/java/com/hbm/particle/SpentCasing.java @@ -15,8 +15,9 @@ public class SpentCasing implements Cloneable { public static final int COLOR_CASE_16INCH = 0xD89128; public static final int COLOR_CASE_16INCH_PHOS = 0xC8C8C8; public static final int COLOR_CASE_16INCH_NUKE = 0x495443; + public static final int COLOR_CASE_40MM = 0x515151; - public static final HashMap casingMap = new HashMap(); + public static final HashMap casingMap = new HashMap(); public enum CasingType { STRAIGHT("Straight"), diff --git a/src/main/java/com/hbm/render/anim/AnimationLoader.java b/src/main/java/com/hbm/render/anim/AnimationLoader.java new file mode 100644 index 000000000..4ad0edb6a --- /dev/null +++ b/src/main/java/com/hbm/render/anim/AnimationLoader.java @@ -0,0 +1,151 @@ +package com.hbm.render.anim; + +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.HashMap; +import java.util.Map; + +import com.google.gson.Gson; +import com.google.gson.JsonObject; +import com.google.gson.JsonElement; +import com.google.gson.JsonArray; + +import net.minecraft.client.Minecraft; +import net.minecraft.util.ResourceLocation; + +import com.hbm.render.anim.BusAnimationKeyframe.InterpolationType; +import com.hbm.render.anim.BusAnimationSequence.Dimension; + +public class AnimationLoader { + + // The collada loader is great, but is not so backwards compatible and spews keyframes rather than doing interpolation + // Yeah - more animation loading is not so great, but 3mb for a single door opening is maybe overkill on a 50mb mod + // and even though the format supports multiple animations, no fucking animation software will actually export multiple animations, + // (even though blender even has a fucking toggle for it, but it doesn't _do_ anything) + // This instead just loads transformation data from a JSON file, turning it into a set of BusAnimations + // See ntm-animator.blend for a JSON format creation script + + // "How do I make animations?" + // See ntm-animator.blend, it has the Colt/Python already setup and animated as an example, it'll generate JSON data that this can load + + public static final Gson gson = new Gson(); + + + public static HashMap load(ResourceLocation file) { + HashMap animations = new HashMap(); + + InputStream in; + try { + in = Minecraft.getMinecraft().getResourceManager().getResource(file).getInputStream(); + } catch (IOException ex) { + return null; + } + + InputStreamReader reader = new InputStreamReader(in); + JsonObject json = gson.fromJson(reader, JsonObject.class); + + // Load our model offsets, we'll place these into all the sequences that share the name of the offset + // The offsets are only required when sequences are played for an object, which is why we don't globally offset! The obj rendering handles the non-animated case fine + // Effectively, this removes double translation AND ensures that rotations occur around the individual object origin, rather than the weapon origin + HashMap offsets = new HashMap(); + for (Map.Entry root : json.getAsJsonObject("offset").entrySet()) { + double[] offset = new double[3]; + + for (int i = 0; i < 3; i++) { + offset[i] = root.getValue().getAsJsonArray().get(i).getAsDouble(); + } + + offsets.put(root.getKey(), offset); + } + + + // Top level parsing, this is for the animation name as set in Blender + for (Map.Entry root : json.getAsJsonObject("anim").entrySet()) { + BusAnimation animation = new BusAnimation(); + + // Loading the buses for this animation + JsonObject entryObject = root.getValue().getAsJsonObject(); + for (Map.Entry model : entryObject.entrySet()) { + String modelName = model.getKey(); + double[] offset = new double[3]; + if (offsets.containsKey(modelName)) offset = offsets.get(modelName); + animation.addBus(modelName, loadSequence(model.getValue().getAsJsonObject(), offset)); + } + + animations.put(root.getKey(), animation); + } + + return animations; + } + + private static BusAnimationSequence loadSequence(JsonObject json, double[] offset) { + BusAnimationSequence sequence = new BusAnimationSequence(); + + // Location fcurves + if (json.has("location")) { + JsonObject location = json.getAsJsonObject("location"); + + if (location.has("x")) { + addToSequence(sequence, Dimension.TX, location.getAsJsonArray("x")); + } + if (location.has("y")) { + addToSequence(sequence, Dimension.TY, location.getAsJsonArray("y")); + } + if (location.has("z")) { + addToSequence(sequence, Dimension.TZ, location.getAsJsonArray("z")); + } + } + + // Rotation fcurves, only euler at the moment + if (json.has("rotation_euler")) { + JsonObject rotation = json.getAsJsonObject("rotation_euler"); + + if (rotation.has("x")) { + addToSequence(sequence, Dimension.RX, rotation.getAsJsonArray("x")); + } + if (rotation.has("y")) { + addToSequence(sequence, Dimension.RY, rotation.getAsJsonArray("y")); + } + if (rotation.has("z")) { + addToSequence(sequence, Dimension.RZ, rotation.getAsJsonArray("z")); + } + } + + // Scale fcurves + if (json.has("scale")) { + JsonObject scale = json.getAsJsonObject("scale"); + + if (scale.has("x")) { + addToSequence(sequence, Dimension.SX, scale.getAsJsonArray("x")); + } + if (scale.has("y")) { + addToSequence(sequence, Dimension.SY, scale.getAsJsonArray("y")); + } + if (scale.has("z")) { + addToSequence(sequence, Dimension.SZ, scale.getAsJsonArray("z")); + } + } + + sequence.offset = offset; + + return sequence; + } + + private static void addToSequence(BusAnimationSequence sequence, Dimension dimension, JsonArray array) { + for (JsonElement element : array) { + sequence.addKeyframe(dimension, loadKeyframe(element)); + } + } + + private static BusAnimationKeyframe loadKeyframe(JsonElement element) { + JsonArray array = element.getAsJsonArray(); + + double value = array.get(0).getAsDouble(); + int duration = array.get(1).getAsInt(); + InterpolationType interpolation = array.size() >= 3 ? InterpolationType.valueOf(array.get(2).getAsString()) : InterpolationType.LINEAR; + + return new BusAnimationKeyframe(value, duration, interpolation); + } + +} diff --git a/src/main/java/com/hbm/render/anim/BusAnimation.java b/src/main/java/com/hbm/render/anim/BusAnimation.java index cef75c8a9..f2cb95b80 100644 --- a/src/main/java/com/hbm/render/anim/BusAnimation.java +++ b/src/main/java/com/hbm/render/anim/BusAnimation.java @@ -10,7 +10,7 @@ import java.util.Map.Entry; public class BusAnimation { //"buses" with one S since it's not a vehicle - private final HashMap animationBuses= new HashMap(); + private final HashMap animationBuses = new HashMap(); //multiples buses exist simultaneously and start with 0. //a bus has one authority, i.e. the translation of a single part of a model or the rotation of the entire thing. //imagine the busses being film strips that hang from the ceiling, with the tape player diff --git a/src/main/java/com/hbm/render/anim/BusAnimationKeyframe.java b/src/main/java/com/hbm/render/anim/BusAnimationKeyframe.java index db0e18261..6833652dd 100644 --- a/src/main/java/com/hbm/render/anim/BusAnimationKeyframe.java +++ b/src/main/java/com/hbm/render/anim/BusAnimationKeyframe.java @@ -7,47 +7,30 @@ public class BusAnimationKeyframe { //it's an enum so stuff like accelerated animations between just //two frames could be implemented public static enum InterpolationType { - NONE, - SMOOTH + CONSTANT, + LINEAR } - - //unimplemented, all current animations are absolute - //whether the transformation happens on its own or relative to the last state - //i.e. 5 with 15 being the previous would be 20 additive and 5 absolute, simple enough - public static enum StateType { - ADDITIVE, - ABSOLTE - } - - public double x; - public double y; - public double z; + + public double value; public InterpolationType interpolationType; public int duration; - public double[] toArray() { - return new double[] {x, y, z}; - } - //this one can be used for "reset" type keyframes public BusAnimationKeyframe() { - this.x = 0; - this.y = 0; - this.z = 0; + this.value = 0; this.duration = 1; - this.interpolationType = InterpolationType.SMOOTH; + this.interpolationType = InterpolationType.LINEAR; } - - public BusAnimationKeyframe(double x, double y, double z, int duration) { + + public BusAnimationKeyframe(double value, int duration) { this(); - this.x = x; - this.y = y; - this.z = z; + this.value = value; this.duration = duration; } - - public BusAnimationKeyframe(double x, double y, double z, int duration, InterpolationType interpolation) { - this(x, y, z, duration); + + public BusAnimationKeyframe(double value, int duration, InterpolationType interpolation) { + this(value, duration); this.interpolationType = interpolation; } + } diff --git a/src/main/java/com/hbm/render/anim/BusAnimationSequence.java b/src/main/java/com/hbm/render/anim/BusAnimationSequence.java index f9de9f4ba..ea573fb96 100644 --- a/src/main/java/com/hbm/render/anim/BusAnimationSequence.java +++ b/src/main/java/com/hbm/render/anim/BusAnimationSequence.java @@ -7,105 +7,126 @@ import com.hbm.render.anim.BusAnimationKeyframe.InterpolationType; //the actual bus, a sequence of keyframes with their own behavior and such public class BusAnimationSequence { - - //not actually useful for anything since the renderer usually handles - //this part, but it's nice to have for distinction just in case - public static enum EnumTransformation { - UNDEFINED, - ROTATION, - TRANSLATION, - SCALE + + public static enum Dimension { + TX, + TY, + TZ, + RX, + RY, + RZ, + SX, + SY, + SZ } - private List keyframes = new ArrayList(); - public EnumTransformation transformationType; + + // Storing a matrix of keyframe data, each keyframe stores a SINGLE dimension, so we can stagger frames over each parameter + private List> transformKeyframes = new ArrayList>(9); + + public double[] offset = new double[3]; + + + public BusAnimationSequence() { + // Initialise our keyframe storage, since it's multidimensional + for (int i = 0; i < 9; i++) { + transformKeyframes.add(new ArrayList()); + } + } + + - //appends a keyframe at the end of the sequence - public BusAnimationSequence addKeyframe(BusAnimationKeyframe keyframe) { - - keyframes.add(keyframe); + // Adds a keyframe to the given dimension + public BusAnimationSequence addKeyframe(Dimension dimension, BusAnimationKeyframe keyframe) { + transformKeyframes.get(dimension.ordinal()).add(keyframe); return this; } + + public BusAnimationSequence addKeyframe(Dimension dimension, double value, int duration) { + return addKeyframe(dimension, new BusAnimationKeyframe(value, duration)); + } + + + // Two helper methods for the old hard-coded animations + public BusAnimationSequence addKeyframePosition(double x, double y, double z, int duration) { + addKeyframe(Dimension.TX, new BusAnimationKeyframe(x, duration)); + addKeyframe(Dimension.TY, new BusAnimationKeyframe(y, duration)); + addKeyframe(Dimension.TZ, new BusAnimationKeyframe(z, duration)); + + return this; + } + + public BusAnimationSequence addKeyframeRotation(double x, double y, double z, int duration) { + addKeyframe(Dimension.RX, new BusAnimationKeyframe(x, duration)); + addKeyframe(Dimension.RY, new BusAnimationKeyframe(y, duration)); + addKeyframe(Dimension.RZ, new BusAnimationKeyframe(z, duration)); + + return this; + } //all transformation data is absolute, additive transformations have not yet been implemented public double[] getTransformation(int millis) { - - BusAnimationKeyframe frame = getFrameAtTime(millis); - - if(frame == null) - return null; - - //if no interpolation type is set, just return the new coords - if(frame.interpolationType == InterpolationType.NONE) - return frame.toArray(); - - //if this is the first frame, the "previous" values are 0 - double[] previous = new double[] {0, 0, 0}; - - BusAnimationKeyframe lastFrame = getPreviousFrame(frame); - - if(lastFrame != null) - previous = lastFrame.toArray(); - - //the time elapsed during the frame is the total current time minus the starting timie of the current frame - int frameTime = millis - getStartingTime(frame); - double interpolation = (double)frameTime / (double)frame.duration; + double[] transform = new double[12]; - double interX = (frame.x - previous[0]) * interpolation + previous[0]; - double interY = (frame.y - previous[1]) * interpolation + previous[1]; - double interZ = (frame.z - previous[2]) * interpolation + previous[2]; - - return new double[] {interX, interY, interZ}; - } - - public BusAnimationKeyframe getFrameAtTime(int millis) { + for (int i = 0; i < 9; i++) { + List keyframes = transformKeyframes.get(i); - int time = 0; - - for(BusAnimationKeyframe frame : keyframes) { - time += frame.duration; - - if(millis < time) - return frame; + BusAnimationKeyframe currentFrame = null; + BusAnimationKeyframe previousFrame = null; + + int startTime = 0; + int endTime = 0; + for (BusAnimationKeyframe keyframe: keyframes) { + startTime = endTime; + endTime += keyframe.duration; + previousFrame = currentFrame; + currentFrame = keyframe; + if (millis < endTime) break; + } + + if (currentFrame == null) { + // Scale defaults to 1, others are 0 + transform[i] = i >= 6 ? 1 : 0; + continue; + } + + if (millis >= endTime) { + transform[i] = currentFrame.value; + continue; + } + + if (previousFrame != null && previousFrame.interpolationType == InterpolationType.CONSTANT) { + transform[i] = previousFrame.value; + continue; + } + + double a = currentFrame.value; + double b = previousFrame != null ? previousFrame.value : 0; + double t = (double)(millis - startTime) / (double)currentFrame.duration; + + transform[i] = (a - b) * t + b; } - - return null; - } - - public BusAnimationKeyframe getPreviousFrame(BusAnimationKeyframe frame) { - int index = keyframes.indexOf(frame); - - if(index == 0) - return null; - - return keyframes.get(index - 1); - } - - public int getStartingTime(BusAnimationKeyframe start) { - - int time = 0; - - for(BusAnimationKeyframe frame : keyframes) { - - if(frame == start) - break; - - time += frame.duration; - } - - return time; + transform[9] = offset[0]; + transform[10] = offset[1]; + transform[11] = offset[2]; + + return transform; } public int getTotalTime() { + int highestTime = 0; - int time = 0; - - for(BusAnimationKeyframe frame : keyframes) { - time += frame.duration; + for (List keyframes: transformKeyframes) { + int time = 0; + for (BusAnimationKeyframe frame: keyframes) { + time += frame.duration; + } + + highestTime = Math.max(time, highestTime); } - return time; + return highestTime; } } diff --git a/src/main/java/com/hbm/render/anim/HbmAnimations.java b/src/main/java/com/hbm/render/anim/HbmAnimations.java index ca9e9f986..44fff33dc 100644 --- a/src/main/java/com/hbm/render/anim/HbmAnimations.java +++ b/src/main/java/com/hbm/render/anim/HbmAnimations.java @@ -4,6 +4,8 @@ import net.minecraft.client.Minecraft; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; +import org.lwjgl.opengl.GL11; + public class HbmAnimations { //in flans mod and afaik also MW, there's an issue that there is only one @@ -16,12 +18,20 @@ public class HbmAnimations { public static final Animation[] hotbar = new Animation[9]; public static enum AnimType { - RELOAD, //animation for every reload cycle - CYCLE, //animation for every firing cycle - ALT_CYCLE, //animation for alt fire cycles - SPINUP, //animation for actionstart - SPINDOWN //animation for actionend + RELOAD, //animation for reloading the weapon + RELOAD_EMPTY, //animation for reloading from empty + RELOAD_CYCLE, //animation that plays for every individual round (for shotguns and similar single round loading weapons) + RELOAD_END, //animation for transitioning from our RELOAD_CYCLE to idle + CYCLE, //animation for every firing cycle + CYCLE_EMPTY, //animation for the final shot in the magazine + ALT_CYCLE, //animation for alt fire cycles + SPINUP, //animation for actionstart + SPINDOWN, //animation for actionend + EQUIP //animation for drawing the weapon } + + // A NOTE ON SHOTGUN STYLE RELOADS + // Make sure the RELOAD and RELOAD_EMPTY adds shells, not just RELOAD_CYCLE, they all proc once for each loaded shell public static class Animation { @@ -32,12 +42,21 @@ public class HbmAnimations { public long startMillis; //the animation bus public BusAnimation animation; + // If set, don't cancel this animation when the timer ends, instead wait for the next to start + public boolean holdLastFrame = false; public Animation(String key, long startMillis, BusAnimation animation) { this.key = key; this.startMillis = startMillis; this.animation = animation; } + + public Animation(String key, long startMillis, BusAnimation animation, boolean holdLastFrame) { + this.key = key; + this.startMillis = startMillis; + this.animation = animation; + this.holdLastFrame = holdLastFrame; + } } public static Animation getRelevantAnim() { @@ -81,8 +100,24 @@ public class HbmAnimations { return trans; } } + + return new double[] { + 0, 0, 0, // position + 0, 0, 0, // rotation + 1, 1, 1, // scale + 0, 0, 0 // offset + }; + } + + public static void applyRelevantTransformation(String bus) { + double[] transform = getRelevantTransformation(bus); - return new double[] {0, 0, 0}; + GL11.glTranslated(transform[0], transform[1], transform[2]); + GL11.glRotated(transform[3], 1, 0, 0); + GL11.glRotated(transform[4], 0, 1, 0); + GL11.glRotated(transform[5], 0, 0, 1); + GL11.glTranslated(-transform[9], -transform[10], -transform[11]); + GL11.glScaled(transform[6], transform[7], transform[8]); } } diff --git a/src/main/java/com/hbm/render/block/RenderBlockDecoModel.java b/src/main/java/com/hbm/render/block/RenderBlockDecoModel.java index 171cba047..d0441fa3a 100644 --- a/src/main/java/com/hbm/render/block/RenderBlockDecoModel.java +++ b/src/main/java/com/hbm/render/block/RenderBlockDecoModel.java @@ -38,7 +38,7 @@ public class RenderBlockDecoModel implements ISimpleBlockRenderingHandler { GL11.glTranslated(0, 0.1D, 0); GL11.glScaled(1.2D, 1.2D, 1.2D); tessellator.startDrawingQuads(); - ObjUtil.renderWithIcon((WavefrontObject) model, iicon, tessellator, modelId, false); + ObjUtil.renderWithIcon((WavefrontObject) model, iicon, tessellator, 0, false); tessellator.draw(); diff --git a/src/main/java/com/hbm/render/block/RenderBlockMultipass.java b/src/main/java/com/hbm/render/block/RenderBlockMultipass.java index 9932ae2a1..181407f36 100644 --- a/src/main/java/com/hbm/render/block/RenderBlockMultipass.java +++ b/src/main/java/com/hbm/render/block/RenderBlockMultipass.java @@ -41,31 +41,35 @@ public class RenderBlockMultipass implements ISimpleBlockRenderingHandler { renderer.setRenderBoundsFromBlock(block); GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + IBlockMultiPass multi = (IBlockMultiPass) block; - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderer.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 0, metadata)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderer.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 1, metadata)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderer.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 2, metadata)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderer.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 3, metadata)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderer.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 4, metadata)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderer.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 5, metadata)); - tessellator.draw(); + for(int i = 0; i < (multi.shouldRenderItemMulti() ? multi.getPasses() : 1); i++) { + this.currentPass = i; + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderer.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 0, metadata)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderer.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 1, metadata)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderer.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 2, metadata)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderer.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 3, metadata)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderer.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 4, metadata)); + tessellator.draw(); + tessellator.startDrawingQuads(); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderer.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 5, metadata)); + tessellator.draw(); + } /** terrible hack to make this shit work */ if(block == ModBlocks.ore_random) { diff --git a/src/main/java/com/hbm/render/block/RenderCRT.java b/src/main/java/com/hbm/render/block/RenderCRT.java new file mode 100644 index 000000000..a048efafc --- /dev/null +++ b/src/main/java/com/hbm/render/block/RenderCRT.java @@ -0,0 +1,83 @@ +package com.hbm.render.block; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.generic.BlockDecoCRT; +import com.hbm.main.ResourceManager; +import com.hbm.render.util.ObjUtil; + +import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraftforge.client.model.obj.WavefrontObject; + +public class RenderCRT implements ISimpleBlockRenderingHandler { + + @Override + public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { + + GL11.glPushMatrix(); + Tessellator tessellator = Tessellator.instance; + IIcon iicon = block.getIcon(0, metadata * 4); + tessellator.setColorOpaque_F(1, 1, 1); + + if(renderer.hasOverrideBlockTexture()) { + iicon = renderer.overrideBlockTexture; + } + + GL11.glTranslated(0, -0.5, 0); + tessellator.startDrawingQuads(); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.crt, iicon, tessellator, (float) Math.PI * -0.5F, false); + tessellator.draw(); + + GL11.glPopMatrix(); + } + + @Override + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + + Tessellator tessellator = Tessellator.instance; + IIcon iicon = block.getIcon(0, world.getBlockMetadata(x, y, z)); + + int brightness = block.getMixedBrightnessForBlock(world, x, y, z); + tessellator.setBrightness(brightness); + tessellator.setColorOpaque_F(1, 1, 1); + + if(renderer.hasOverrideBlockTexture()) { + iicon = renderer.overrideBlockTexture; + } + + float rotation = 0; + int metaOrig = world.getBlockMetadata(x, y, z); + int meta = metaOrig % 4; + + switch(meta) { + default: rotation = 0.5F * (float) Math.PI; break; + case 1: break; + case 2: rotation = 1.5F * (float) Math.PI; break; + case 3: rotation = (float) Math.PI; break; + } + + tessellator.addTranslation(x + 0.5F, y, z + 0.5F); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.crt, "Monitor", iicon, tessellator, rotation, true); + if(metaOrig >= 8) tessellator.setBrightness(240); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.crt, "Screen", iicon, tessellator, rotation, true); + tessellator.setBrightness(brightness); + tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F); + + return true; + } + + @Override + public boolean shouldRender3DInInventory(int modelId) { + return true; + } + + @Override + public int getRenderId() { + return BlockDecoCRT.renderID; + } +} diff --git a/src/main/java/com/hbm/render/block/RenderLight.java b/src/main/java/com/hbm/render/block/RenderLight.java new file mode 100644 index 000000000..465bae66e --- /dev/null +++ b/src/main/java/com/hbm/render/block/RenderLight.java @@ -0,0 +1,118 @@ +package com.hbm.render.block; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.machine.Spotlight; +import com.hbm.blocks.machine.SpotlightModular; +import com.hbm.render.util.ObjUtil; + +import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraftforge.common.util.ForgeDirection; + +public class RenderLight implements ISimpleBlockRenderingHandler { + + @Override + public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { + if (!(block instanceof Spotlight)) return; + Spotlight spot = (Spotlight) block; + + GL11.glPushMatrix(); + Tessellator tessellator = Tessellator.instance; + IIcon iicon = block.getIcon(0, 0); + tessellator.setColorOpaque_F(1, 1, 1); + + if(renderer.hasOverrideBlockTexture()) { + iicon = renderer.overrideBlockTexture; + } + + GL11.glRotated(-90, 0, 1, 0); + GL11.glScaled(1.5D, 1.5D, 1.5D); + tessellator.startDrawingQuads(); + ObjUtil.renderPartWithIcon(spot.getModel(), spot.getPartName(0), iicon, tessellator, 0, false); + tessellator.draw(); + + GL11.glPopMatrix(); + } + + @Override + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + if (!(block instanceof Spotlight)) return true; + Spotlight spot = (Spotlight) block; + + Tessellator tessellator = Tessellator.instance; + ForgeDirection dir = spot.getDirection(world, x, y, z); + + tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); + tessellator.setColorOpaque_F(1, 1, 1); + + float ox = 0.5F - dir.offsetX * 0.5F, oy = 0.5F - dir.offsetY * 0.5F, oz = 0.5F - dir.offsetZ * 0.5F; + float rot = ObjUtil.getYaw(dir); + float pitch = ObjUtil.getPitch(dir); + float roll = 0; + + int connectionCount = 0; + if (spot instanceof SpotlightModular) { + ForgeDirection connectionDirection = null; + SpotlightModular modular = (SpotlightModular) spot; + + // Searching through only adjacent blocks is simple, iterate through all directions ignoring the root and its opposite + // Once we have found any valid connection, we'll only connect in that one axis + for (ForgeDirection availableDir : ForgeDirection.VALID_DIRECTIONS) { + if (availableDir == dir || availableDir == dir.getOpposite()) continue; + if (modular.canConnectTo(world, x + availableDir.offsetX, y + availableDir.offsetY, z + availableDir.offsetZ)) { + connectionCount++; + connectionDirection = availableDir; + + break; + } + } + + if (connectionDirection != null) { + // Check if we're sandwiched between two lights + if (modular.canConnectTo(world, x - connectionDirection.offsetX, y - connectionDirection.offsetY, z - connectionDirection.offsetZ)) { + connectionCount++; + } + + roll = getRotation(connectionDirection, dir); + } + } + + tessellator.addTranslation(x + ox, y + oy, z + oz); + ObjUtil.renderPartWithIcon(spot.getModel(), spot.getPartName(connectionCount), block.getIcon(0, 0), tessellator, rot, pitch, roll, false); + tessellator.addTranslation(-x - ox, -y - oy, -z - oz); + + return true; + } + + @Override + public boolean shouldRender3DInInventory(int modelId) { + return true; + } + + @Override + public int getRenderId() { + return Spotlight.renderID; + } + + // This is very ad-hoc, which isn't ideal + private float getRotation(ForgeDirection dir, ForgeDirection axis) { + float flipX = axis == ForgeDirection.DOWN || axis == ForgeDirection.NORTH || axis == ForgeDirection.WEST ? -0.5F : 0.5F; + float addX = axis == ForgeDirection.NORTH || axis == ForgeDirection.SOUTH ? -0.5F : 0; + boolean flipNS = axis == ForgeDirection.WEST; + switch (dir) { + case NORTH: return flipNS ? (float)Math.PI : 0; + case SOUTH: return !flipNS ? (float)Math.PI : 0; + case EAST: return (float)Math.PI * (flipX + addX); + case WEST: return (float)Math.PI * (-flipX + addX); + case UP: return (float)Math.PI * -0.5F; + case DOWN: return (float)Math.PI * 0.5F; + default: return 0; + } + } + +} diff --git a/src/main/java/com/hbm/render/block/RenderNarrowCurveRail.java b/src/main/java/com/hbm/render/block/RenderNarrowCurveRail.java deleted file mode 100644 index 0cb029690..000000000 --- a/src/main/java/com/hbm/render/block/RenderNarrowCurveRail.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.hbm.render.block; - -import org.lwjgl.opengl.GL11; - -import com.hbm.blocks.rail.RailNarrowCurve; -import com.hbm.main.ResourceManager; -import com.hbm.render.util.ObjUtil; - -import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; -import net.minecraft.block.Block; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.world.IBlockAccess; -import net.minecraftforge.client.model.obj.WavefrontObject; - -public class RenderNarrowCurveRail implements ISimpleBlockRenderingHandler { - - @Override - public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { - - GL11.glPushMatrix(); - Tessellator tessellator = Tessellator.instance; - - GL11.glScaled(0.2, 0.2, 0.2); - GL11.glTranslated(2.5, -0.0625, -1.5); - tessellator.startDrawingQuads(); - ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_narrow_curve, block.getIcon(1, 0), tessellator, 0, false); - tessellator.draw(); - - GL11.glPopMatrix(); - } - - @Override - public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { - - int meta = world.getBlockMetadata(x, y, z); - if(meta < 12) return true; - - Tessellator tessellator = Tessellator.instance; - - tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); - tessellator.setColorOpaque_F(1, 1, 1); - - float rotation = 0; - - if(meta == 12) - rotation = 90F / 180F * (float) Math.PI; - if(meta == 14) - rotation = 180F / 180F * (float) Math.PI; - if(meta == 13) - rotation = 270F / 180F * (float) Math.PI; - - tessellator.addTranslation(x + 0.5F, y, z + 0.5F); - ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_narrow_curve, block.getIcon(1, 0), tessellator, rotation, true); - tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F); - - return true; - } - - @Override - public boolean shouldRender3DInInventory(int modelId) { - return true; - } - - @Override - public int getRenderId() { - return RailNarrowCurve.renderID; - } -} diff --git a/src/main/java/com/hbm/render/block/RenderPedestal.java b/src/main/java/com/hbm/render/block/RenderPedestal.java new file mode 100644 index 000000000..5c8eef3dc --- /dev/null +++ b/src/main/java/com/hbm/render/block/RenderPedestal.java @@ -0,0 +1,68 @@ +package com.hbm.render.block; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.generic.BlockPedestal; + +import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.world.IBlockAccess; + +public class RenderPedestal implements ISimpleBlockRenderingHandler { + + @Override + public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { + + GL11.glPushMatrix(); + GL11.glTranslatef(-0.5F, -0.5F, -0.5F); + + Tessellator tessellator = Tessellator.instance; + tessellator.startDrawingQuads(); + + for(int i = 0; i < 3; i++) { + if(i == 0) renderer.setRenderBounds(0.0, 0.0, 0.0, 1.0, 0.25, 1.0); + if(i == 1) renderer.setRenderBounds(0.0, 0.75, 0.0, 1.0, 1.0, 1.0); + if(i == 2) renderer.setRenderBounds(0.125, 0.25, 0.125, 0.875, 0.75, 0.875); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderer.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 0, metadata)); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderer.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 1, metadata)); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderer.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 2, metadata)); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderer.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 3, metadata)); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderer.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 4, metadata)); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderer.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 5, metadata)); + } + + tessellator.draw(); + GL11.glPopMatrix(); + } + + @Override + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + + renderer.setRenderBounds(0.0, 0.0, 0.0, 1.0, 0.25, 1.0); + renderer.renderStandardBlock(block, x, y, z); + renderer.setRenderBounds(0.0, 0.75, 0.0, 1.0, 1.0, 1.0); + renderer.renderStandardBlock(block, x, y, z); + renderer.setRenderBounds(0.125, 0.25, 0.125, 0.875, 0.75, 0.875); + renderer.renderStandardBlock(block, x, y, z); + + return true; + } + + @Override + public boolean shouldRender3DInInventory(int modelId) { + return true; + } + + @Override + public int getRenderId() { + return BlockPedestal.renderID; + } +} diff --git a/src/main/java/com/hbm/render/block/RenderRTTY.java b/src/main/java/com/hbm/render/block/RenderRTTY.java index 0f657c636..68b3af3ec 100644 --- a/src/main/java/com/hbm/render/block/RenderRTTY.java +++ b/src/main/java/com/hbm/render/block/RenderRTTY.java @@ -4,6 +4,7 @@ import com.hbm.blocks.network.RadioTorchBase; import com.hbm.main.ResourceManager; import com.hbm.render.util.ObjUtil; import com.hbm.tileentity.network.TileEntityRadioTorchBase; +import com.hbm.tileentity.network.TileEntityRadioTorchLogic; import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; import net.minecraft.block.Block; @@ -39,6 +40,14 @@ public class RenderRTTY implements ISimpleBlockRenderingHandler { icon = block.getIcon(1, 0); } } + //consequences of my actions + if(tile instanceof TileEntityRadioTorchLogic) { + TileEntityRadioTorchLogic rtty = (TileEntityRadioTorchLogic) tile; + + if(rtty.lastState > 0) { + icon = block.getIcon(1, 0); + } + } float flip = 0; float rotation = 0; diff --git a/src/main/java/com/hbm/render/block/RenderNarrowStraightRail.java b/src/main/java/com/hbm/render/block/RenderRail.java similarity index 53% rename from src/main/java/com/hbm/render/block/RenderNarrowStraightRail.java rename to src/main/java/com/hbm/render/block/RenderRail.java index 3f2c40c78..ab366486b 100644 --- a/src/main/java/com/hbm/render/block/RenderNarrowStraightRail.java +++ b/src/main/java/com/hbm/render/block/RenderRail.java @@ -2,51 +2,34 @@ package com.hbm.render.block; import org.lwjgl.opengl.GL11; -import com.hbm.blocks.rail.RailNarrowStraight; -import com.hbm.main.ResourceManager; -import com.hbm.render.util.ObjUtil; +import com.hbm.blocks.rail.IRenderBlock; +import com.hbm.blocks.rail.RailStandardStraight; import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; import net.minecraft.block.Block; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.Tessellator; import net.minecraft.world.IBlockAccess; -import net.minecraftforge.client.model.obj.WavefrontObject; -public class RenderNarrowStraightRail implements ISimpleBlockRenderingHandler { +public class RenderRail implements ISimpleBlockRenderingHandler { @Override public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { - GL11.glPushMatrix(); Tessellator tessellator = Tessellator.instance; - - GL11.glTranslated(0, -0.0625, 0); - tessellator.startDrawingQuads(); - ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_narrow_straight, block.getIcon(1, 0), tessellator, 0, false); - tessellator.draw(); - + IRenderBlock rail = (IRenderBlock) block; + rail.renderInventory(tessellator, block, metadata); GL11.glPopMatrix(); } @Override public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { - Tessellator tessellator = Tessellator.instance; - tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); tessellator.setColorOpaque_F(1, 1, 1); int meta = world.getBlockMetadata(x, y, z); - - float rotation = 0; - - if(meta == 2 || meta == 3 || meta == 12 || meta == 13) - rotation = 90F / 180F * (float) Math.PI; - - tessellator.addTranslation(x + 0.5F, y, z + 0.5F); - ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_narrow_straight, block.getIcon(1, 0), tessellator, rotation, true); - tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F); - + IRenderBlock rail = (IRenderBlock) block; + rail.renderWorld(tessellator, block, meta, world, x, y, z); return true; } @@ -57,6 +40,6 @@ public class RenderNarrowStraightRail implements ISimpleBlockRenderingHandler { @Override public int getRenderId() { - return RailNarrowStraight.renderID; + return RailStandardStraight.renderID; } } diff --git a/src/main/java/com/hbm/render/block/RenderStandardBufferRail.java b/src/main/java/com/hbm/render/block/RenderStandardBufferRail.java deleted file mode 100644 index 5cf6381e1..000000000 --- a/src/main/java/com/hbm/render/block/RenderStandardBufferRail.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.hbm.render.block; - -import org.lwjgl.opengl.GL11; - -import com.hbm.blocks.rail.RailStandardBuffer; -import com.hbm.main.ResourceManager; -import com.hbm.render.util.ObjUtil; - -import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; -import net.minecraft.block.Block; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.world.IBlockAccess; -import net.minecraftforge.client.model.obj.WavefrontObject; - -public class RenderStandardBufferRail implements ISimpleBlockRenderingHandler { - - @Override - public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { - - GL11.glPushMatrix(); - Tessellator tessellator = Tessellator.instance; - - GL11.glTranslated(0, -0.0625, 0); - GL11.glRotated(90, 0, 1, 0); - GL11.glScaled(0.3, 0.3, 0.3); - tessellator.startDrawingQuads(); - ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_standard_buffer, block.getIcon(1, 0), tessellator, 0, false); - tessellator.draw(); - - GL11.glPopMatrix(); - } - - @Override - public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { - - int meta = world.getBlockMetadata(x, y, z); - if(meta < 12) return true; - - Tessellator tessellator = Tessellator.instance; - - tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); - tessellator.setColorOpaque_F(1, 1, 1); - - float rotation = 0; - - if(meta == 12) rotation = (float) Math.PI; - if(meta == 14) rotation = 270F / 180F * (float) Math.PI; - if(meta == 15) rotation = 90F / 180F * (float) Math.PI; - - if(meta == 12) tessellator.addTranslation(0.5F, 0F, 0F); - if(meta == 13) tessellator.addTranslation(-0.5F, 0F, 0F); - if(meta == 14) tessellator.addTranslation(0F, 0F, -0.5F); - if(meta == 15) tessellator.addTranslation(0F, 0F, 0.5F); - - tessellator.addTranslation(x + 0.5F, y, z + 0.5F); - ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_standard_buffer, block.getIcon(1, 0), tessellator, rotation, true); - tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F); - - if(meta == 12) tessellator.addTranslation(-0.5F, 0F, 0F); - if(meta == 13) tessellator.addTranslation(0.5F, 0F, 0F); - if(meta == 14) tessellator.addTranslation(0F, 0F, 0.5F); - if(meta == 15) tessellator.addTranslation(0F, 0F, -0.5F); - - return true; - } - - @Override - public boolean shouldRender3DInInventory(int modelId) { - return true; - } - - @Override - public int getRenderId() { - return RailStandardBuffer.renderID; - } -} diff --git a/src/main/java/com/hbm/render/block/RenderStandardRampRail.java b/src/main/java/com/hbm/render/block/RenderStandardRampRail.java deleted file mode 100644 index eb1e245fd..000000000 --- a/src/main/java/com/hbm/render/block/RenderStandardRampRail.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.hbm.render.block; - -import org.lwjgl.opengl.GL11; - -import com.hbm.blocks.rail.RailStandardRamp; -import com.hbm.main.ResourceManager; -import com.hbm.render.util.ObjUtil; - -import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; -import net.minecraft.block.Block; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.world.IBlockAccess; -import net.minecraftforge.client.model.obj.WavefrontObject; - -public class RenderStandardRampRail implements ISimpleBlockRenderingHandler { - - @Override - public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { - - GL11.glPushMatrix(); - Tessellator tessellator = Tessellator.instance; - - GL11.glTranslated(0, -0.0625, 0); - GL11.glRotated(90, 0, 1, 0); - GL11.glScaled(0.3, 0.3, 0.3); - tessellator.startDrawingQuads(); - ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_standard_ramp, block.getIcon(1, 0), tessellator, 0, false); - tessellator.draw(); - - GL11.glPopMatrix(); - } - - @Override - public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { - - int meta = world.getBlockMetadata(x, y, z); - if(meta < 12) return true; - - Tessellator tessellator = Tessellator.instance; - - tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); - tessellator.setColorOpaque_F(1, 1, 1); - - float rotation = 0; - - if(meta == 15) - rotation = 90F / 180F * (float) Math.PI; - if(meta == 12) - rotation = 180F / 180F * (float) Math.PI; - if(meta == 14) - rotation = 270F / 180F * (float) Math.PI; - - if(meta == 12) tessellator.addTranslation(0.5F, 0F, 0F); - if(meta == 13) tessellator.addTranslation(-0.5F, 0F, 0F); - if(meta == 14) tessellator.addTranslation(0F, 0F, -0.5F); - if(meta == 15) tessellator.addTranslation(0F, 0F, 0.5F); - - tessellator.addTranslation(x + 0.5F, y, z + 0.5F); - ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_standard_ramp, block.getIcon(1, 0), tessellator, rotation, true); - tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F); - - if(meta == 12) tessellator.addTranslation(-0.5F, 0F, 0F); - if(meta == 13) tessellator.addTranslation(0.5F, 0F, 0F); - if(meta == 14) tessellator.addTranslation(0F, 0F, 0.5F); - if(meta == 15) tessellator.addTranslation(0F, 0F, -0.5F); - - return true; - } - - @Override - public boolean shouldRender3DInInventory(int modelId) { - return true; - } - - @Override - public int getRenderId() { - return RailStandardRamp.renderID; - } -} diff --git a/src/main/java/com/hbm/render/block/RenderStandardStraightRail.java b/src/main/java/com/hbm/render/block/RenderStandardStraightRail.java deleted file mode 100644 index 5108aaea2..000000000 --- a/src/main/java/com/hbm/render/block/RenderStandardStraightRail.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.hbm.render.block; - -import org.lwjgl.opengl.GL11; - -import com.hbm.blocks.rail.RailStandardStraight; -import com.hbm.main.ResourceManager; -import com.hbm.render.util.ObjUtil; - -import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; -import net.minecraft.block.Block; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.world.IBlockAccess; -import net.minecraftforge.client.model.obj.WavefrontObject; - -public class RenderStandardStraightRail implements ISimpleBlockRenderingHandler { - - @Override - public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { - - GL11.glPushMatrix(); - Tessellator tessellator = Tessellator.instance; - - GL11.glTranslated(0, -0.0625, 0); - GL11.glRotated(90, 0, 1, 0); - GL11.glScaled(0.3, 0.3, 0.3); - tessellator.startDrawingQuads(); - ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_standard_straight, block.getIcon(1, 0), tessellator, 0, false); - tessellator.draw(); - - GL11.glPopMatrix(); - } - - @Override - public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { - - int meta = world.getBlockMetadata(x, y, z); - if(meta < 12) return true; - - Tessellator tessellator = Tessellator.instance; - - tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); - tessellator.setColorOpaque_F(1, 1, 1); - - float rotation = 0; - - if(meta == 14 || meta == 15) rotation = 90F / 180F * (float) Math.PI; - - if(meta == 12) tessellator.addTranslation(0.5F, 0F, 0F); - if(meta == 13) tessellator.addTranslation(-0.5F, 0F, 0F); - if(meta == 14) tessellator.addTranslation(0F, 0F, -0.5F); - if(meta == 15) tessellator.addTranslation(0F, 0F, 0.5F); - - tessellator.addTranslation(x + 0.5F, y, z + 0.5F); - ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_standard_straight, block.getIcon(1, 0), tessellator, rotation, true); - tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F); - - if(meta == 12) tessellator.addTranslation(-0.5F, 0F, 0F); - if(meta == 13) tessellator.addTranslation(0.5F, 0F, 0F); - if(meta == 14) tessellator.addTranslation(0F, 0F, 0.5F); - if(meta == 15) tessellator.addTranslation(0F, 0F, -0.5F); - - return true; - } - - @Override - public boolean shouldRender3DInInventory(int modelId) { - return true; - } - - @Override - public int getRenderId() { - return RailStandardStraight.renderID; - } -} diff --git a/src/main/java/com/hbm/render/block/RenderTestPipe.java b/src/main/java/com/hbm/render/block/RenderTestPipe.java index 770e2ed7f..e535eccc5 100644 --- a/src/main/java/com/hbm/render/block/RenderTestPipe.java +++ b/src/main/java/com/hbm/render/block/RenderTestPipe.java @@ -2,7 +2,7 @@ package com.hbm.render.block; import org.lwjgl.opengl.GL11; -import com.hbm.blocks.test.TestPipe; +import com.hbm.blocks.network.FluidDuctStandard; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.lib.Library; @@ -146,6 +146,6 @@ public class RenderTestPipe implements ISimpleBlockRenderingHandler { @Override public int getRenderId() { - return TestPipe.renderID; + return FluidDuctStandard.renderID; } } diff --git a/src/main/java/com/hbm/render/block/RenderStandardCurveRail.java b/src/main/java/com/hbm/render/block/RenderToaster.java similarity index 51% rename from src/main/java/com/hbm/render/block/RenderStandardCurveRail.java rename to src/main/java/com/hbm/render/block/RenderToaster.java index a238d461d..a5938e20c 100644 --- a/src/main/java/com/hbm/render/block/RenderStandardCurveRail.java +++ b/src/main/java/com/hbm/render/block/RenderToaster.java @@ -2,7 +2,7 @@ package com.hbm.render.block; import org.lwjgl.opengl.GL11; -import com.hbm.blocks.rail.RailStandardCurve; +import com.hbm.blocks.generic.BlockDecoToaster; import com.hbm.main.ResourceManager; import com.hbm.render.util.ObjUtil; @@ -10,22 +10,27 @@ import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; import net.minecraft.block.Block; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.Tessellator; +import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraftforge.client.model.obj.WavefrontObject; -public class RenderStandardCurveRail implements ISimpleBlockRenderingHandler { +public class RenderToaster implements ISimpleBlockRenderingHandler { @Override public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { GL11.glPushMatrix(); Tessellator tessellator = Tessellator.instance; + IIcon iicon = block.getIcon(0, metadata * 4); + tessellator.setColorOpaque_F(1, 1, 1); - GL11.glScaled(0.2, 0.2, 0.2); - GL11.glTranslated(2.5, -0.0625, -1.5); - GL11.glRotated(90, 0, 1, 0); + if(renderer.hasOverrideBlockTexture()) { + iicon = renderer.overrideBlockTexture; + } + + GL11.glTranslated(0, -0.25, 0); tessellator.startDrawingQuads(); - ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_standard_curve, block.getIcon(1, 0), tessellator, 0, false); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.toaster, iicon, tessellator, (float) Math.PI * -0.5F, false); tessellator.draw(); GL11.glPopMatrix(); @@ -33,26 +38,31 @@ public class RenderStandardCurveRail implements ISimpleBlockRenderingHandler { @Override public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { - - int meta = world.getBlockMetadata(x, y, z); - if(meta < 12) return true; Tessellator tessellator = Tessellator.instance; + IIcon iicon = block.getIcon(0, world.getBlockMetadata(x, y, z)); - tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); + int brightness = block.getMixedBrightnessForBlock(world, x, y, z); + tessellator.setBrightness(brightness); tessellator.setColorOpaque_F(1, 1, 1); + if(renderer.hasOverrideBlockTexture()) { + iicon = renderer.overrideBlockTexture; + } + float rotation = 0; - - if(meta == 15) - rotation = 90F / 180F * (float) Math.PI; - if(meta == 12) - rotation = 180F / 180F * (float) Math.PI; - if(meta == 14) - rotation = 270F / 180F * (float) Math.PI; + int metaOrig = world.getBlockMetadata(x, y, z); + int meta = metaOrig % 4; + + switch(meta) { + default: rotation = 0.5F * (float) Math.PI; break; + case 1: break; + case 2: rotation = 1.5F * (float) Math.PI; break; + case 3: rotation = (float) Math.PI; break; + } tessellator.addTranslation(x + 0.5F, y, z + 0.5F); - ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_standard_curve, block.getIcon(1, 0), tessellator, rotation, true); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.toaster, iicon, tessellator, rotation, true); tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F); return true; @@ -65,6 +75,6 @@ public class RenderStandardCurveRail implements ISimpleBlockRenderingHandler { @Override public int getRenderId() { - return RailStandardCurve.renderID; + return BlockDecoToaster.renderID; } } diff --git a/src/main/java/com/hbm/render/block/ct/RenderBlocksCT.java b/src/main/java/com/hbm/render/block/ct/RenderBlocksCT.java index bbd2655ee..498e81e3a 100644 --- a/src/main/java/com/hbm/render/block/ct/RenderBlocksCT.java +++ b/src/main/java/com/hbm/render/block/ct/RenderBlocksCT.java @@ -26,11 +26,8 @@ public class RenderBlocksCT extends RenderBlocks { VertInfo bc; VertInfo br; - Tessellator tess; - public RenderBlocksCT() { super(); - this.tess = Tessellator.instance; } public void prepWorld(IBlockAccess acc) { @@ -240,13 +237,13 @@ public class RenderBlocksCT extends RenderBlocks { boolean debugColor = false; /// ORDER: ROTATIONAL /// - if(debugColor) tess.setColorOpaque_F(1F, 1F, 0F); + if(debugColor) Tessellator.instance.setColorOpaque_F(1F, 1F, 0F); drawVert(ftr, icon.getMaxU(), icon.getMinV(), ntr); - if(debugColor) tess.setColorOpaque_F(1F, 0F, 0F); + if(debugColor) Tessellator.instance.setColorOpaque_F(1F, 0F, 0F); drawVert(ftl, icon.getMinU(), icon.getMinV(), ntl); - if(debugColor) tess.setColorOpaque_F(0F, 0F, 1F); + if(debugColor) Tessellator.instance.setColorOpaque_F(0F, 0F, 1F); drawVert(fbl, icon.getMinU(), icon.getMaxV(), nbl); - if(debugColor) tess.setColorOpaque_F(0F, 1F, 0F); + if(debugColor) Tessellator.instance.setColorOpaque_F(0F, 1F, 0F); drawVert(fbr, icon.getMaxU(), icon.getMaxV(), nbr); } @@ -257,11 +254,11 @@ public class RenderBlocksCT extends RenderBlocks { private void drawVert(double x, double y, double z, double u, double v, VertInfo info) { if(this.enableAO) { - tess.setColorOpaque_F(info.red, info.green, info.blue); - tess.setBrightness(info.brightness); + Tessellator.instance.setColorOpaque_F(info.red, info.green, info.blue); + Tessellator.instance.setBrightness(info.brightness); } - tess.addVertexWithUV(x, y, z, u, v); + Tessellator.instance.addVertexWithUV(x, y, z, u, v); } private double[] avgCoords(double[] first, double[] second) { @@ -315,32 +312,32 @@ public class RenderBlocksCT extends RenderBlocks { GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tess.startDrawingQuads(); - tess.setNormal(0.0F, -1.0F, 0.0F); + Tessellator.instance.startDrawingQuads(); + Tessellator.instance.setNormal(0.0F, -1.0F, 0.0F); super.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, this.getBlockIconFromSideAndMetadata(block, 0, meta)); - tess.draw(); - tess.startDrawingQuads(); - tess.setNormal(0.0F, 1.0F, 0.0F); + Tessellator.instance.draw(); + Tessellator.instance.startDrawingQuads(); + Tessellator.instance.setNormal(0.0F, 1.0F, 0.0F); super.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, this.getBlockIconFromSideAndMetadata(block, 1, meta)); - tess.draw(); + Tessellator.instance.draw(); - tess.startDrawingQuads(); - tess.setNormal(0.0F, 0.0F, -1.0F); + Tessellator.instance.startDrawingQuads(); + Tessellator.instance.setNormal(0.0F, 0.0F, -1.0F); super.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, this.getBlockIconFromSideAndMetadata(block, 2, meta)); - tess.draw(); - tess.startDrawingQuads(); - tess.setNormal(0.0F, 0.0F, 1.0F); + Tessellator.instance.draw(); + Tessellator.instance.startDrawingQuads(); + Tessellator.instance.setNormal(0.0F, 0.0F, 1.0F); super.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, this.getBlockIconFromSideAndMetadata(block, 3, meta)); - tess.draw(); + Tessellator.instance.draw(); - tess.startDrawingQuads(); - tess.setNormal(-1.0F, 0.0F, 0.0F); + Tessellator.instance.startDrawingQuads(); + Tessellator.instance.setNormal(-1.0F, 0.0F, 0.0F); super.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, this.getBlockIconFromSideAndMetadata(block, 4, meta)); - tess.draw(); - tess.startDrawingQuads(); - tess.setNormal(1.0F, 0.0F, 0.0F); + Tessellator.instance.draw(); + Tessellator.instance.startDrawingQuads(); + Tessellator.instance.setNormal(1.0F, 0.0F, 0.0F); super.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, this.getBlockIconFromSideAndMetadata(block, 5, meta)); - tess.draw(); + Tessellator.instance.draw(); GL11.glTranslatef(0.5F, 0.5F, 0.5F); } diff --git a/src/main/java/com/hbm/render/entity/effect/ElectricityRenderer.java b/src/main/java/com/hbm/render/entity/effect/ElectricityRenderer.java deleted file mode 100644 index 6fe82111c..000000000 --- a/src/main/java/com/hbm/render/entity/effect/ElectricityRenderer.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.hbm.render.entity.effect; - -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; - -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.client.renderer.texture.TextureMap; -import net.minecraft.entity.Entity; -import net.minecraft.item.Item; -import net.minecraft.util.IIcon; -import net.minecraft.util.ResourceLocation; - -public class ElectricityRenderer extends Render { - private Item field_94151_a; - public ElectricityRenderer(Item p_i1259_1_, int p_i1259_2_) { - this.field_94151_a = p_i1259_1_; - } - - public ElectricityRenderer(Item p_i1260_1_) { - this(p_i1260_1_, 0); - } - - /** - * Actually renders the given argument. This is a synthetic bridge method, - * always casting down its argument and then handing it off to a worker - * function which does the actual work. In all probabilty, the class Render - * is generic (Render 100) - { - this.renderMush((EntityNukeCloudBig)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); - this.renderCloud((EntityNukeCloudBig)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); - } else { - this.renderFlare((EntityNukeCloudBig)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); - } - this.renderRing((EntityNukeCloudBig)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); - } - - public void renderMush(EntityNukeCloudBig p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { - - GL11.glPushMatrix(); - GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); - if(p_76986_1_.age < 150) - { - //GL11.glTranslatef(0.0F, -60F + ((p_76986_1_.age - 100) * 60 / 50), 0.0F); - GL11.glTranslatef(0.0F, p_76986_1_.height, 0.0F); - } - GL11.glScalef(10.0F, 10.0F, 10.0F); - - bindTexture(blastTexture); - blastModel.renderAll(); - GL11.glPopMatrix(); - } - - public void renderCloud(EntityNukeCloudBig p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { - - GL11.glPushMatrix(); - GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glTranslatef(0.0F, 80F, 0.0F); - /*if(scale < 1.5) - { - scale += 0.02; - }*/ - GL11.glScalef(p_76986_1_.scale, 1.0F, p_76986_1_.scale); - GL11.glScalef(125F, 25.0F, 125F); - - bindTexture(ringBigTexture); - ringBigModel.renderAll(); - GL11.glPopMatrix(); - } - - public void renderRing(EntityNukeCloudBig p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { - - GL11.glPushMatrix(); - GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glTranslatef(0.0F, 23F, 0.0F); - //ring += 0.1F; - GL11.glScalef(p_76986_1_.ring * 10, 50F, p_76986_1_.ring * 10); - - bindTexture(ringTexture); - ringModel.renderAll(); - GL11.glPopMatrix(); - } - - public void renderFlare(EntityNukeCloudBig p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { - - Tessellator tessellator = Tessellator.instance; - RenderHelper.disableStandardItemLighting(); - float f1 = (p_76986_1_.ticksExisted + 2.0F) / 200.0F; - float f2 = 0.0F; - int count = 250; - - if(p_76986_1_.ticksExisted < 250) - { - count = p_76986_1_.ticksExisted * 3; - } - - if (f1 > 0.8F) - { - f2 = (f1 - 0.8F) / 0.2F; - } - - Random random = new Random(432L); - GL11.glDisable(GL11.GL_TEXTURE_2D); - GL11.glShadeModel(GL11.GL_SMOOTH); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); - GL11.glDisable(GL11.GL_ALPHA_TEST); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glDepthMask(false); - GL11.glPushMatrix(); - //GL11.glTranslatef(0.0F, -1.0F, -2.0F); - GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_ + 15, (float)p_76986_6_); - GL11.glScalef(7.5F, 7.5F, 7.5F); - - //for (int i = 0; (float)i < (f1 + f1 * f1) / 2.0F * 60.0F; ++i) - for(int i = 0; i < count; i++) - { - GL11.glRotatef(random.nextFloat() * 360.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(random.nextFloat() * 360.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(random.nextFloat() * 360.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(random.nextFloat() * 360.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(random.nextFloat() * 360.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(random.nextFloat() * 360.0F + f1 * 90.0F, 0.0F, 0.0F, 1.0F); - tessellator.startDrawing(6); - float f3 = random.nextFloat() * 20.0F + 5.0F + f2 * 10.0F; - float f4 = random.nextFloat() * 2.0F + 1.0F + f2 * 2.0F; - //tessellator.setColorRGBA_I(16777215, (int)(255.0F * (1.0F - f2))); - tessellator.setColorRGBA_I(59345715, (int)(255.0F * (1.0F - f2))); - tessellator.addVertex(0.0D, 0.0D, 0.0D); - //tessellator.setColorRGBA_I(16711935, 0); - tessellator.setColorRGBA_I(59345735, 0); - tessellator.addVertex(-0.866D * f4, f3, -0.5F * f4); - tessellator.addVertex(0.866D * f4, f3, -0.5F * f4); - tessellator.addVertex(0.0D, f3, 1.0F * f4); - tessellator.addVertex(-0.866D * f4, f3, -0.5F * f4); - tessellator.draw(); - } - - GL11.glPopMatrix(); - GL11.glDepthMask(true); - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glDisable(GL11.GL_BLEND); - GL11.glShadeModel(GL11.GL_FLAT); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glEnable(GL11.GL_ALPHA_TEST); - RenderHelper.enableStandardItemLighting(); - } - - @Override - protected ResourceLocation getEntityTexture(Entity p_110775_1_) { - return null; - } - -} diff --git a/src/main/java/com/hbm/render/entity/effect/RenderFallout.java b/src/main/java/com/hbm/render/entity/effect/RenderFallout.java index 1b3131ad1..fb565fd31 100644 --- a/src/main/java/com/hbm/render/entity/effect/RenderFallout.java +++ b/src/main/java/com/hbm/render/entity/effect/RenderFallout.java @@ -17,45 +17,34 @@ import net.minecraft.entity.EntityLivingBase; import net.minecraft.util.MathHelper; import net.minecraft.util.ResourceLocation; import net.minecraft.util.Vec3; -import net.minecraft.world.biome.BiomeGenBase; -import net.minecraftforge.client.IRenderHandler; public class RenderFallout extends Render { - private Minecraft mc; + private static final ResourceLocation falloutTexture = new ResourceLocation(RefStrings.MODID, "textures/entity/fallout.png"); private Random random = new Random(); float[] rainXCoords; float[] rainYCoords; - private int rendererUpdateCount; long lastTime = System.nanoTime(); - private static final ResourceLocation falloutTexture = new ResourceLocation(RefStrings.MODID, - "textures/entity/fallout.png"); @Override - public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, - float p_76986_9_) { + public void doRender(Entity entity, double x, double y, double z, float f0, float f1) { - if (p_76986_1_ instanceof EntityFalloutRain) - this.render((EntityFalloutRain) p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); + if(entity instanceof EntityFalloutRain) + this.render((EntityFalloutRain) entity, x, y, z, f0, f1); } - public void render(EntityFalloutRain p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, - float p_76986_8_, float p_76986_9_) { - - this.mc = Minecraft.getMinecraft(); + public void render(EntityFalloutRain entity, double x, double y, double z, float f0, float f1) { - EntityLivingBase entitylivingbase = this.mc.renderViewEntity; - Vec3 vector = Vec3.createVectorHelper(entitylivingbase.posX - p_76986_1_.posX, - entitylivingbase.posY - p_76986_1_.posY, entitylivingbase.posZ - p_76986_1_.posZ); - - double d = vector.lengthVector(); - - if (d <= p_76986_1_.getScale()) { - rendererUpdateCount++; + Minecraft mc = Minecraft.getMinecraft(); + + EntityLivingBase entitylivingbase = mc.renderViewEntity; + Vec3 vector = Vec3.createVectorHelper(entitylivingbase.posX - entity.posX, entitylivingbase.posY - entity.posY, entitylivingbase.posZ - entity.posZ); + + if(vector.lengthVector() <= entity.getScale()) { long time = System.nanoTime(); - float t = (time - lastTime) / 50000000; - if (t <= 1.0F) + float t = (time - lastTime) / 50_000_000; + if(t <= 1.0F) renderRainSnow(t); else renderRainSnow(1.0F); @@ -65,31 +54,25 @@ public class RenderFallout extends Render { } @Override - protected ResourceLocation getEntityTexture(Entity p_110775_1_) { - return null; + protected ResourceLocation getEntityTexture(Entity entity) { + return this.falloutTexture; } - protected void renderRainSnow(float p_78474_1_) { + protected void renderRainSnow(float interp) { - IRenderHandler renderer = null; - if ((renderer = this.mc.theWorld.provider.getWeatherRenderer()) != null) { - renderer.render(p_78474_1_, this.mc.theWorld, mc); - return; - } + Minecraft mc = Minecraft.getMinecraft(); + int timer = mc.thePlayer.ticksExisted; - // float f1 = this.mc.theWorld.getRainStrength(p_78474_1_); + float intensity = 1F; - float f1 = 1; + if(intensity > 0.0F) { - if (f1 > 0.0F) { - // this.enableLightmap((double)p_78474_1_); - - if (this.rainXCoords == null) { + if(this.rainXCoords == null) { this.rainXCoords = new float[1024]; this.rainYCoords = new float[1024]; - for (int i = 0; i < 32; ++i) { - for (int j = 0; j < 32; ++j) { + for(int i = 0; i < 32; ++i) { + for(int j = 0; j < 32; ++j) { float f2 = j - 16; float f3 = i - 16; float f4 = MathHelper.sqrt_float(f2 * f2 + f3 * f3); @@ -99,185 +82,88 @@ public class RenderFallout extends Render { } } - EntityLivingBase entitylivingbase = this.mc.renderViewEntity; - WorldClient worldclient = this.mc.theWorld; - int k2 = MathHelper.floor_double(entitylivingbase.posX); - int l2 = MathHelper.floor_double(entitylivingbase.posY); - int i3 = MathHelper.floor_double(entitylivingbase.posZ); + WorldClient worldclient = mc.theWorld; + EntityLivingBase camera = mc.renderViewEntity; + + int playerX = MathHelper.floor_double(camera.posX); + int playerY = MathHelper.floor_double(camera.posY); + int playerZ = MathHelper.floor_double(camera.posZ); + double dX = camera.lastTickPosX + (camera.posX - camera.lastTickPosX) * interp; + double dY = camera.lastTickPosY + (camera.posY - camera.lastTickPosY) * interp; + double dZ = camera.lastTickPosZ + (camera.posZ - camera.lastTickPosZ) * interp; + + int playerHeight = MathHelper.floor_double(dY); + byte renderLayerCount = 5; + byte layer = -1; + + if(mc.gameSettings.fancyGraphics) renderLayerCount = 10; + Tessellator tessellator = Tessellator.instance; GL11.glDisable(GL11.GL_CULL_FACE); GL11.glNormal3f(0.0F, 1.0F, 0.0F); GL11.glEnable(GL11.GL_BLEND); OpenGlHelper.glBlendFunc(770, 771, 1, 0); GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F); - double d0 = entitylivingbase.lastTickPosX - + (entitylivingbase.posX - entitylivingbase.lastTickPosX) * p_78474_1_; - double d1 = entitylivingbase.lastTickPosY - + (entitylivingbase.posY - entitylivingbase.lastTickPosY) * p_78474_1_; - double d2 = entitylivingbase.lastTickPosZ - + (entitylivingbase.posZ - entitylivingbase.lastTickPosZ) * p_78474_1_; - int k = MathHelper.floor_double(d1); - byte b0 = 5; - - if (this.mc.gameSettings.fancyGraphics) { - b0 = 10; - } - - byte b1 = -1; - float f5 = this.rendererUpdateCount + p_78474_1_; - - if (this.mc.gameSettings.fancyGraphics) { - b0 = 10; - } GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - for (int l = i3 - b0; l <= i3 + b0; ++l) { - for (int i1 = k2 - b0; i1 <= k2 + b0; ++i1) { - int j1 = (l - i3 + 16) * 32 + i1 - k2 + 16; - float f6 = this.rainXCoords[j1] * 0.5F; - float f7 = this.rainYCoords[j1] * 0.5F; - BiomeGenBase biomegenbase = worldclient.getBiomeGenForCoords(i1, l); - if (true) { - int k1 = worldclient.getPrecipitationHeight(i1, l); - int l1 = l2 - b0; - int i2 = l2 + b0; + for(int layerZ = playerZ - renderLayerCount; layerZ <= playerZ + renderLayerCount; ++layerZ) { + for(int layerX = playerX - renderLayerCount; layerX <= playerX + renderLayerCount; ++layerX) { + int rainCoord = (layerZ - playerZ + 16) * 32 + layerX - playerX + 16; + float rainCoordX = this.rainXCoords[rainCoord] * 0.5F; + float rainCoordY = this.rainYCoords[rainCoord] * 0.5F; - if (l1 < k1) { - l1 = k1; - } + int rainHeight = worldclient.getPrecipitationHeight(layerX, layerZ); + int minHeight = playerY - renderLayerCount; + int maxHeight = playerY + renderLayerCount; - if (i2 < k1) { - i2 = k1; - } + if(minHeight < rainHeight) minHeight = rainHeight; + if(maxHeight < rainHeight) maxHeight = rainHeight; + + int layerY = rainHeight; + if(rainHeight < playerHeight) layerY = playerHeight; - float f8 = 1.0F; - int j2 = k1; + if(minHeight != maxHeight) { + this.random.setSeed(layerX * layerX * 3121 + layerX * 45238971 ^ layerZ * layerZ * 418711 + layerZ * 13761); - if (k1 < k) { - j2 = k; - } - - if (l1 != i2) { - this.random.setSeed(i1 * i1 * 3121 + i1 * 45238971 ^ l * l * 418711 + l * 13761); - biomegenbase.getFloatTemperature(i1, l1, l); - float f10; - double d4; - - /* - * if (false) { if (b1 != 0) { if (b1 >= 0) { - * tessellator.draw(); } - * - * b1 = 0; - * this.mc.getTextureManager().bindTexture(this. - * falloutTexture); tessellator.startDrawingQuads(); - * //System.out.println("Called!"); } - * - * f10 = ((float)(this.rendererUpdateCount + i1 * i1 - * * 3121 + i1 * 45238971 + l * l * 418711 + l * - * 13761 & 31) + p_78474_1_) / 32.0F * (3.0F + - * this.random.nextFloat()); double d3 = - * (double)((float)i1 + 0.5F) - - * entitylivingbase.posX; d4 = (double)((float)l + - * 0.5F) - entitylivingbase.posZ; float f12 = - * MathHelper.sqrt_double(d3 * d3 + d4 * d4) / - * (float)b0; float f13 = 1.0F; - * tessellator.setBrightness(worldclient. - * getLightBrightnessForSkyBlocks(i1, j2, l, 0)); - * tessellator.setColorRGBA_F(f13, f13, f13, ((1.0F - * - f12 * f12) * 0.5F + 0.5F) * f1); - * tessellator.setTranslation(-d0 * 1.0D, -d1 * - * 1.0D, -d2 * 1.0D); - * tessellator.addVertexWithUV((double)((float)i1 - - * f6) + 0.5D, (double)l1, (double)((float)l - f7) + - * 0.5D, (double)(0.0F * f8), (double)((float)l1 * - * f8 / 4.0F + f10 * f8)); - * tessellator.addVertexWithUV((double)((float)i1 + - * f6) + 0.5D, (double)l1, (double)((float)l + f7) + - * 0.5D, (double)(1.0F * f8), (double)((float)l1 * - * f8 / 4.0F + f10 * f8)); - * tessellator.addVertexWithUV((double)((float)i1 + - * f6) + 0.5D, (double)i2, (double)((float)l + f7) + - * 0.5D, (double)(1.0F * f8), (double)((float)i2 * - * f8 / 4.0F + f10 * f8)); - * tessellator.addVertexWithUV((double)((float)i1 - - * f6) + 0.5D, (double)i2, (double)((float)l - f7) + - * 0.5D, (double)(0.0F * f8), (double)((float)i2 * - * f8 / 4.0F + f10 * f8)); - * tessellator.setTranslation(0.0D, 0.0D, 0.0D); } - * else - */ - { - if (b1 != 1) { - if (b1 >= 0) { - tessellator.draw(); - } - - b1 = 1; - this.mc.getTextureManager().bindTexture(RenderFallout.falloutTexture); - tessellator.startDrawingQuads(); - } - - f10 = ((this.rendererUpdateCount & 511) + p_78474_1_) / 512.0F; - float f16 = this.random.nextFloat() + f5 * 0.01F * (float) this.random.nextGaussian(); - float f11 = this.random.nextFloat() + f5 * (float) this.random.nextGaussian() * 0.001F; - d4 = i1 + 0.5F - entitylivingbase.posX; - double d5 = l + 0.5F - entitylivingbase.posZ; - float f14 = MathHelper.sqrt_double(d4 * d4 + d5 * d5) / b0; - float f15 = 1.0F; - tessellator.setBrightness( - (worldclient.getLightBrightnessForSkyBlocks(i1, j2, l, 0) * 3 + 15728880) / 4); - tessellator.setColorRGBA_F(f15, f15, f15, ((1.0F - f14 * f14) * 0.3F + 0.5F) * f1); - tessellator.setTranslation(-d0 * 1.0D, -d1 * 1.0D, -d2 * 1.0D); - tessellator.addVertexWithUV(i1 - f6 + 0.5D, l1, - l - f7 + 0.5D, 0.0F * f8 + f16, - l1 * f8 / 4.0F + f10 * f8 + f11); - tessellator.addVertexWithUV(i1 + f6 + 0.5D, l1, - l + f7 + 0.5D, 1.0F * f8 + f16, - l1 * f8 / 4.0F + f10 * f8 + f11); - tessellator.addVertexWithUV(i1 + f6 + 0.5D, i2, - l + f7 + 0.5D, 1.0F * f8 + f16, - i2 * f8 / 4.0F + f10 * f8 + f11); - tessellator.addVertexWithUV(i1 - f6 + 0.5D, i2, - l - f7 + 0.5D, 0.0F * f8 + f16, - i2 * f8 / 4.0F + f10 * f8 + f11); - tessellator.setTranslation(0.0D, 0.0D, 0.0D); + if(layer != 1) { + if(layer >= 0) { + tessellator.draw(); } + + layer = 1; + mc.getTextureManager().bindTexture(RenderFallout.falloutTexture); + tessellator.startDrawingQuads(); } + + float fallSpeed = 1.0F; + float swayLoop = ((timer & 511) + interp) / 512.0F; + float fallVariation = 0.4F + this.random.nextFloat() * 0.2F; + float swayVariation = this.random.nextFloat(); + double distX = layerX + 0.5F - camera.posX; + double distZ = layerZ + 0.5F - camera.posZ; + float intensityMod = MathHelper.sqrt_double(distX * distX + distZ * distZ) / renderLayerCount; + float colorMod = 1.0F; + + tessellator.setBrightness((worldclient.getLightBrightnessForSkyBlocks(layerX, layerY, layerZ, 0) * 3 + 15728880) / 4); + tessellator.setColorRGBA_F(colorMod, colorMod, colorMod, ((1.0F - intensityMod * intensityMod) * 0.3F + 0.5F) * intensity); + tessellator.setTranslation(-dX * 1.0D, -dY * 1.0D, -dZ * 1.0D); + tessellator.addVertexWithUV(layerX - rainCoordX + 0.5D, minHeight, layerZ - rainCoordY + 0.5D, 0.0F * fallSpeed + fallVariation, minHeight * fallSpeed / 4.0F + swayLoop * fallSpeed + swayVariation); + tessellator.addVertexWithUV(layerX + rainCoordX + 0.5D, minHeight, layerZ + rainCoordY + 0.5D, 1.0F * fallSpeed + fallVariation, minHeight * fallSpeed / 4.0F + swayLoop * fallSpeed + swayVariation); + tessellator.addVertexWithUV(layerX + rainCoordX + 0.5D, maxHeight, layerZ + rainCoordY + 0.5D, 1.0F * fallSpeed + fallVariation, maxHeight * fallSpeed / 4.0F + swayLoop * fallSpeed + swayVariation); + tessellator.addVertexWithUV(layerX - rainCoordX + 0.5D, maxHeight, layerZ - rainCoordY + 0.5D, 0.0F * fallSpeed + fallVariation, maxHeight * fallSpeed / 4.0F + swayLoop * fallSpeed + swayVariation); + tessellator.setTranslation(0.0D, 0.0D, 0.0D); } } } - if (b1 >= 0) { + if(layer >= 0) { tessellator.draw(); - // System.out.println("Fired!"); } GL11.glEnable(GL11.GL_CULL_FACE); GL11.glDisable(GL11.GL_BLEND); GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F); - // this.disableLightmap((double)p_78474_1_); } } - - /* - * public void enableLightmap(double p_78463_1_) { - * OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapTexUnit); - * GL11.glMatrixMode(GL11.GL_TEXTURE); GL11.glLoadIdentity(); float f = - * 0.00390625F; GL11.glScalef(f, f, f); GL11.glTranslatef(8.0F, 8.0F, 8.0F); - * GL11.glMatrixMode(GL11.GL_MODELVIEW); - * this.mc.getTextureManager().bindTexture(this.locationLightMap); - * GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, - * GL11.GL_LINEAR); GL11.glTexParameteri(GL11.GL_TEXTURE_2D, - * GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_LINEAR); - * GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, - * GL11.GL_LINEAR); GL11.glTexParameteri(GL11.GL_TEXTURE_2D, - * GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_LINEAR); - * GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_S, - * GL11.GL_CLAMP); GL11.glTexParameteri(GL11.GL_TEXTURE_2D, - * GL11.GL_TEXTURE_WRAP_T, GL11.GL_CLAMP); GL11.glColor4f(1.0F, 1.0F, 1.0F, - * 1.0F); GL11.glEnable(GL11.GL_TEXTURE_2D); - * OpenGlHelper.setActiveTexture(OpenGlHelper.defaultTexUnit); } - */ - } diff --git a/src/main/java/com/hbm/render/entity/effect/RenderSmallNuke.java b/src/main/java/com/hbm/render/entity/effect/RenderSmallNuke.java deleted file mode 100644 index 7eda6e0f4..000000000 --- a/src/main/java/com/hbm/render/entity/effect/RenderSmallNuke.java +++ /dev/null @@ -1,104 +0,0 @@ -package com.hbm.render.entity.effect; - -import org.lwjgl.opengl.GL11; - -import com.hbm.entity.effect.EntityNukeCloudSmall; -import com.hbm.lib.RefStrings; - -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.entity.Entity; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.model.AdvancedModelLoader; -import net.minecraftforge.client.model.IModelCustom; - -public class RenderSmallNuke extends Render { - - private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/NukeCloudSmall.obj"); - private IModelCustom blastModel; - private ResourceLocation blastTexture; - private static final ResourceLocation ringModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/Ring.obj"); - private IModelCustom ringModel; - private ResourceLocation ringTexture; - private static final ResourceLocation ringBigModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/RingBig.obj"); - private IModelCustom ringBigModel; - private ResourceLocation ringBigTexture; - public float scale = 0; - public float ring = 0; - public float color = 0; - public int alpha = 0; - - public RenderSmallNuke() { - blastModel = AdvancedModelLoader.loadModel(objTesterModelRL); - blastTexture = new ResourceLocation(RefStrings.MODID, "textures/models/NukeCloudFire.png"); - ringModel = AdvancedModelLoader.loadModel(ringModelRL); - ringTexture = new ResourceLocation(RefStrings.MODID, "textures/models/Ring2.png"); - ringBigModel = AdvancedModelLoader.loadModel(ringBigModelRL); - ringBigTexture = new ResourceLocation(RefStrings.MODID, "textures/models/Ring2.png"); - scale = 0; - ring = 0; - color = 0; - alpha = 0; - } - - @Override - public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { - - GL11.glPushMatrix(); - GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glScalef(4.0F, 4.0F, 4.0F); - if(scale < 1) - scale += 0.01F; - { - GL11.glScalef(scale, scale, scale); - } - - if(((EntityNukeCloudSmall)p_76986_1_).age > ((EntityNukeCloudSmall)p_76986_1_).maxAge - 150) - { - if(color < 0.75) - color += 0.005; - } - - GL11.glColor4f(1.0f - color, 1.0f - color, 1.0f - color, 1.0F - alpha); - - //GL11.glTranslatef(0.0F, -2.5F, 0.0F); - //GL11.glTranslatef(0.0F, 11F, 0.0F); - - bindTexture(blastTexture); - blastModel.renderAll(); - - GL11.glTranslatef(0, 15F, 0); - GL11.glScalef(20.0F, 5.0F, 20.0F); - - bindTexture(ringBigTexture); - ringBigModel.renderAll(); - - GL11.glScalef(1/scale, 1/scale, 1/scale); - GL11.glTranslatef(0, -4.75F, 0); - //GL11.glScalef(1/20.0F, 1/5.0F, 1/20.0F); - ring += 0.1F; - { - GL11.glScalef(ring, 5, ring); - } - - GL11.glTranslatef(0, 1F, 0); - bindTexture(ringTexture); - ringModel.renderAll(); - - GL11.glPopMatrix(); - - if(((EntityNukeCloudSmall)p_76986_1_).age >= ((EntityNukeCloudSmall)p_76986_1_).maxAge - 1) - { - scale = 0; - ring = 0; - color = 0; - } - } - - @Override - protected ResourceLocation getEntityTexture(Entity p_110775_1_) { - return null; - } - -} diff --git a/src/main/java/com/hbm/render/entity/effect/RenderSmallNukeAlt.java b/src/main/java/com/hbm/render/entity/effect/RenderSmallNukeAlt.java deleted file mode 100644 index b62f5b58b..000000000 --- a/src/main/java/com/hbm/render/entity/effect/RenderSmallNukeAlt.java +++ /dev/null @@ -1,177 +0,0 @@ -package com.hbm.render.entity.effect; - -import java.util.Random; - -import org.lwjgl.opengl.GL11; - -import com.hbm.entity.effect.EntityNukeCloudSmall; -import com.hbm.lib.RefStrings; - -import net.minecraft.client.renderer.RenderHelper; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.entity.Entity; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.model.AdvancedModelLoader; -import net.minecraftforge.client.model.IModelCustom; - -public class RenderSmallNukeAlt extends Render { - - private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/NukeCloudSmall.obj"); - private IModelCustom blastModel; - private ResourceLocation blastTexture; - private static final ResourceLocation ringModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/Ring.obj"); - private IModelCustom ringModel; - private ResourceLocation ringTexture; - private static final ResourceLocation ringBigModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/RingBig.obj"); - private IModelCustom ringBigModel; - private ResourceLocation ringBigTexture; - public float scale = 0; - public float ring = 0; - - public RenderSmallNukeAlt() { - blastModel = AdvancedModelLoader.loadModel(objTesterModelRL); - blastTexture = new ResourceLocation(RefStrings.MODID, "textures/models/NukeCloudFire.png"); - ringModel = AdvancedModelLoader.loadModel(ringModelRL); - ringTexture = new ResourceLocation(RefStrings.MODID, "textures/models/Ring2.png"); - ringBigModel = AdvancedModelLoader.loadModel(ringBigModelRL); - ringBigTexture = new ResourceLocation(RefStrings.MODID, "textures/models/Ring2.png"); - scale = 0; - ring = 0; - } - - @Override - public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { - if(((EntityNukeCloudSmall)p_76986_1_).age > 100) - { - this.renderMush((EntityNukeCloudSmall)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); - this.renderCloud((EntityNukeCloudSmall)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); - } else { - this.renderFlare((EntityNukeCloudSmall)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); - } - this.renderRing((EntityNukeCloudSmall)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); - } - - public void renderMush(EntityNukeCloudSmall p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { - - GL11.glPushMatrix(); - GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); - if(p_76986_1_.age < 150) - { - //GL11.glTranslatef(0.0F, -60F + ((p_76986_1_.age - 100) * 60 / 50), 0.0F); - GL11.glTranslatef(0.0F, p_76986_1_.height, 0.0F); - } - GL11.glScalef(4.0F, 4.0F, 4.0F); - - bindTexture(blastTexture); - blastModel.renderAll(); - GL11.glPopMatrix(); - } - - public void renderCloud(EntityNukeCloudSmall p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { - - GL11.glPushMatrix(); - GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glTranslatef(0.0F, 60F, 0.0F); - /*if(scale < 1.5) - { - scale += 0.02; - }*/ - //GL11.glScalef(p_76986_1_.scale, 1.0F, p_76986_1_.scale); - GL11.glScalef(50F, 25.0F, 50F); - - bindTexture(ringBigTexture); - ringBigModel.renderAll(); - GL11.glPopMatrix(); - } - - public void renderRing(EntityNukeCloudSmall p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { - - GL11.glPushMatrix(); - GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glTranslatef(0.0F, 18F, 0.0F); - //ring += 0.1F; - - bindTexture(ringTexture); - ringModel.renderAll(); - GL11.glPopMatrix(); - } - - public void renderFlare(EntityNukeCloudSmall p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { - - Tessellator tessellator = Tessellator.instance; - RenderHelper.disableStandardItemLighting(); - float f1 = (p_76986_1_.age + 2.0F) / 200.0F; - float f2 = 0.0F; - int count = 250; - - if(p_76986_1_.age < 250) - { - count = p_76986_1_.age * 3; - } - - if (f1 > 0.8F) - { - f2 = (f1 - 0.8F) / 0.2F; - } - - Random random = new Random(432L); - GL11.glDisable(GL11.GL_TEXTURE_2D); - GL11.glShadeModel(GL11.GL_SMOOTH); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); - GL11.glDisable(GL11.GL_ALPHA_TEST); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glDepthMask(false); - GL11.glPushMatrix(); - //GL11.glTranslatef(0.0F, -1.0F, -2.0F); - GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_ + 15, (float)p_76986_6_); - GL11.glScalef(5F, 5F, 5F); - - //for (int i = 0; (float)i < (f1 + f1 * f1) / 2.0F * 60.0F; ++i) - for(int i = 0; i < count; i++) - { - GL11.glRotatef(random.nextFloat() * 360.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(random.nextFloat() * 360.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(random.nextFloat() * 360.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(random.nextFloat() * 360.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(random.nextFloat() * 360.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(random.nextFloat() * 360.0F + f1 * 90.0F, 0.0F, 0.0F, 1.0F); - tessellator.startDrawing(6); - float f3 = random.nextFloat() * 20.0F + 5.0F + f2 * 10.0F; - float f4 = random.nextFloat() * 2.0F + 1.0F + f2 * 2.0F; - //tessellator.setColorRGBA_I(16777215, (int)(255.0F * (1.0F - f2))); - tessellator.setColorRGBA_I(59345715, (int)(255.0F * (1.0F - f2))); - tessellator.addVertex(0.0D, 0.0D, 0.0D); - //tessellator.setColorRGBA_I(16711935, 0); - tessellator.setColorRGBA_I(59345735, 0); - tessellator.addVertex(-0.866D * f4, f3, -0.5F * f4); - tessellator.addVertex(0.866D * f4, f3, -0.5F * f4); - tessellator.addVertex(0.0D, f3, 1.0F * f4); - tessellator.addVertex(-0.866D * f4, f3, -0.5F * f4); - tessellator.draw(); - } - - GL11.glPopMatrix(); - GL11.glDepthMask(true); - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glDisable(GL11.GL_BLEND); - GL11.glShadeModel(GL11.GL_FLAT); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glEnable(GL11.GL_ALPHA_TEST); - RenderHelper.enableStandardItemLighting(); - } - - @Override - protected ResourceLocation getEntityTexture(Entity p_110775_1_) { - return null; - } - -} diff --git a/src/main/java/com/hbm/render/entity/effect/RenderSmallNukeMK3.java b/src/main/java/com/hbm/render/entity/effect/RenderSmallNukeMK3.java deleted file mode 100644 index 5434244c0..000000000 --- a/src/main/java/com/hbm/render/entity/effect/RenderSmallNukeMK3.java +++ /dev/null @@ -1,217 +0,0 @@ -package com.hbm.render.entity.effect; - - -import org.lwjgl.opengl.GL11; - -import com.hbm.entity.effect.EntityNukeCloudSmall; -import com.hbm.lib.RefStrings; -import com.hbm.main.ResourceManager; - -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.entity.Entity; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.model.AdvancedModelLoader; -import net.minecraftforge.client.model.IModelCustom; - -public class RenderSmallNukeMK3 extends Render { - - //what the fuck is all this, i thought you made the resource manager - private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/mush.hmf"); - private IModelCustom blastModel; - private static final ResourceLocation ringModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/Ring.obj"); - private IModelCustom ringModel; - private static final ResourceLocation ringBigModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/RingBig.obj"); - private IModelCustom ringBigModel; - public float scale = 0; - public float ring = 0; - - //can't you just instantiate the AMLs as a whole like a normal person smh - public RenderSmallNukeMK3() { - blastModel = AdvancedModelLoader.loadModel(objTesterModelRL); - ringModel = AdvancedModelLoader.loadModel(ringModelRL); - ringBigModel = AdvancedModelLoader.loadModel(ringBigModelRL); - scale = 0; - ring = 0; - } - - @Override - public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { - render((EntityNukeCloudSmall)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); - } - - //choreographic analysis of a nuclear blast - //by VeeTee McFuckface - - //shockwave: rapidly expanding sphere of compressed air - // optional: wave of ground dust, make sphere white to pair it with the flash - // use multiple rings if necessary, but make them thinner (maybe fire-y) - // duration: something like two seconds, the thing is fast - - //fireball: similar story to the shockwave, but with color - // slower expanding bubble that raises upwards - // use one of those large donuts for the dust on the ground - // optional: dust clouds descending from top to bottom of the sphere (adjust radius based on height for smoothness) - // use lighter tone (vapor) - // duration: ~5 seconds, maybe less - - //mushroom: large donut to simulate breakthrough of the cloud layer (more vapor) - // use more rings around the shaft, make them wobble (use a sine function for the height, look at RR for reference) - // make the thing larger, this isn't a children's birthday and your excuses "too big" are shit - // make the fireball fade so it looks like the cloud is formed by it - // use more rings. really. - // more polygons, this is a cloud, not a metal pillar made by a seven-yo - // duration: as long as you want - - // - - - //your other render classes look like shit, write code like a sensible person for once. good luck, you'll need it - public void render(EntityNukeCloudSmall cloud, double posX, double posY, double posZ, float fa, float fb) { - GL11.glPushMatrix(); - GL11.glTranslatef((float)posX, (float)posY + 0.25F, (float)posZ); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_CULL_FACE); - - float size = cloud.getDataWatcher().getWatchableObjectFloat(18); - GL11.glScalef(size, size, size); - - int age = cloud.age; - int shockScale = age * 4; - int fireScale = (int)((age - 25) * 1.5); - - if(age < 50) { - GL11.glPushMatrix(); - GL11.glColor4f(0.2F, 0.2F, 0.2F, 0.9F); - - GL11.glDisable(GL11.GL_TEXTURE_2D); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); - - GL11.glScalef(shockScale, shockScale, shockScale); - GL11.glScalef(2, 2, 2); - - for(float i = 0.9F; i <= 1; i += 0.05F) { - GL11.glScalef(i, i, i); - ResourceManager.sphere_ruv.renderAll(); - ResourceManager.sphere_iuv.renderAll(); - GL11.glScalef(1/i, 1/i, 1/i); - } - - GL11.glDisable(GL11.GL_BLEND); - - GL11.glColor4f(0.4F, 0.4F, 0.4F, 1F); - - GL11.glScalef(0.6F, 1F / shockScale * 5, 0.6F); - ringModel.renderAll(); - GL11.glScalef(1.1F, 1F, 1.1F); - ringModel.renderAll(); - GL11.glScalef(1.1F, 1F, 1.1F); - ringModel.renderAll(); - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glPopMatrix(); - } - - if(age >= 50 && age < 150) { - GL11.glPushMatrix(); - - if(cloud.getDataWatcher().getWatchableObjectByte(19) == 1) - GL11.glColor4f(0.2F, 0.7F, 0.0F, 0.9F); - else - GL11.glColor4f(0.4F, 0.15F, 0.0F, 0.9F); - - GL11.glDisable(GL11.GL_TEXTURE_2D); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); - GL11.glTranslatef(0, fireScale * 0.75F, 0); - - GL11.glScalef(fireScale * 0.85F, fireScale, fireScale * 0.85F); - - for(float i = 0.6F; i <= 1; i += 0.2F) { - GL11.glScalef(i, i, i); - ResourceManager.sphere_ruv.renderAll(); - GL11.glScalef(1/i, 1/i, 1/i); - } - - GL11.glDisable(GL11.GL_BLEND); - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glPopMatrix(); - } - - if(age >= 150) { - GL11.glPushMatrix(); - bindTexture(getEntityTexture(cloud)); - GL11.glTranslatef(0, -50, 0); - GL11.glScalef(6, 6, 6); - GL11.glDisable(GL11.GL_CULL_FACE); - blastModel.renderAll(); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glPopMatrix(); - - GL11.glPushMatrix(); - GL11.glDisable(GL11.GL_TEXTURE_2D); - GL11.glScalef(1.5F, 1.5F, 1.5F); - GL11.glColor4f(0.4F, 0.4F, 0.4F, 1F); - GL11.glScalef(10, 10, 10); - float f = 1.8F + (((float)Math.sin(((double)age) / 20 + 90) * 0.25F) * 0.5F); - float f1 = 1 + ((float)Math.sin(((double)age) / 10) * 0.15F); - GL11.glScalef(f, 1, f); - GL11.glTranslatef(0, 3.5F + f1 * 0.25F, 0); - ringModel.renderAll(); - GL11.glTranslatef(0, - f1 * 0.25F * 2, 0); - ringModel.renderAll(); - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glPopMatrix(); - } - - if(age >= 50) { - GL11.glPushMatrix(); - GL11.glDisable(GL11.GL_TEXTURE_2D); - GL11.glScalef(2, 2, 2); - GL11.glColor4f(0.4F, 0.4F, 0.4F, 1F); - float f = (float)Math.min((age - 50) * 0.5, 20); - GL11.glScalef(f, 15, f); - //ringBigModel.renderAll(); - GL11.glScalef(1.5F, 1, 1.5F); - GL11.glTranslatef(0, -0.15F, 0); - //ringBigModel.renderAll(); - GL11.glScalef(1.5F, 1, 1.5F); - GL11.glTranslatef(0, -0.15F, 0); - //ringBigModel.renderAll(); - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glPopMatrix(); - - GL11.glPushMatrix(); - GL11.glDisable(GL11.GL_TEXTURE_2D); - GL11.glScalef(2, 2, 2); - GL11.glColor4f(0.6F, 0.6F, 0.6F, 1F); - float f0 = (float)Math.min((age - 50) * 0.25, 20) * 5F; - GL11.glScalef(f0, 15, f0); - GL11.glTranslatef(0, 3.5F, 0); - ringBigModel.renderAll(); - GL11.glTranslatef(0, 1F, 0); - GL11.glScalef(0.65F, 1, 0.65F); - ringModel.renderAll(); - //GL11.glTranslatef(0, -2F, 0); - //ringModel.renderAll(); - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glPopMatrix(); - } - - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glPopMatrix(); - } - - //very professional, i love me some null textures /s - - //there, fixed it ~bob - @Override - protected ResourceLocation getEntityTexture(Entity ent) { - - if(ent.getDataWatcher().getWatchableObjectByte(19) == 1) - return ResourceManager.balefire; - - return ResourceManager.fireball; - } - -} diff --git a/src/main/java/com/hbm/render/entity/effect/RenderSmallNukeMK4.java b/src/main/java/com/hbm/render/entity/effect/RenderSmallNukeMK4.java deleted file mode 100644 index bb2f8b852..000000000 --- a/src/main/java/com/hbm/render/entity/effect/RenderSmallNukeMK4.java +++ /dev/null @@ -1,379 +0,0 @@ -package com.hbm.render.entity.effect; - -import java.util.Random; - -import org.lwjgl.opengl.GL11; - -import com.hbm.entity.effect.EntityNukeCloudSmall; -import com.hbm.entity.effect.EntityNukeCloudSmall.Cloudlet; -import com.hbm.lib.RefStrings; -import com.hbm.main.ResourceManager; -import com.hbm.render.loader.HFRWavefrontObject; - -import net.minecraft.client.renderer.ActiveRenderInfo; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.RenderHelper; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.entity.Entity; -import net.minecraft.util.MathHelper; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.model.IModelCustom; - -public class RenderSmallNukeMK4 extends Render { - - public static final IModelCustom mush = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/effect/mush.obj")); - public static final IModelCustom shockwave = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/effect/ring_roller.obj")); - public static final IModelCustom thinring = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/effect/ring_thin.obj")); - private static final ResourceLocation cloudlet = new ResourceLocation(RefStrings.MODID + ":textures/particle/particle_base.png"); - - /* - * // // ////// ////// // // - * //// //// // // // //// // - * // // // ////// // // //// - * // // // // // // // - * // // // // ////// // // - */ - - /** - * Look how nice and clean this is! - */ - @Override - public void doRender(Entity entity, double x, double y, double z, float f0, float interp) { - - GL11.glPushMatrix(); - GL11.glTranslated(x, y, z); - - EntityNukeCloudSmall cloud = (EntityNukeCloudSmall)entity; - - mushWrapper(cloud, interp); - cloudletWrapper(cloud, interp); - flashWrapper(cloud, interp); - - GL11.glPopMatrix(); - } - - @Override - protected ResourceLocation getEntityTexture(Entity entity) { - return null; - } - - /* - * // // ////// ////// ////// ////// ////// ////// ////// - * // // // // // // // // // // // // // // - * // // // //// ////// ////// ////// //// //// ////// - * //// //// // // // // // // // // // // - * // // // // // // // // ////// // // ////// - */ - - /** - * Wrapper for the initial flash - * Caps the rendering at 60 ticks and sets the alpha function - * @param cloud - * @param interp - */ - private void flashWrapper(EntityNukeCloudSmall cloud, float interp) { - - if(cloud.age < 60) { - - GL11.glPushMatrix(); - //Function [0, 1] that determines the scale and intensity (inverse!) of the flash - double scale = (cloud.ticksExisted + interp) / 60D; - GL11.glAlphaFunc(GL11.GL_GEQUAL, 0.0F); - - //Euler function to slow down the scale as it progresses - //Makes it start fast and the fade-out is nice and smooth - scale = scale * Math.pow(Math.E, -scale) * 2.717391304D; - - renderFlash(scale); - GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F); - GL11.glPopMatrix(); - } - } - - /** - * Wrapper for the entire mush (head + stem) - * Renders the entire thing twice to allow for smooth color gradients - * @param cloud - * @param interp - */ - private void mushWrapper(EntityNukeCloudSmall cloud, float interp) { - - float size = cloud.getDataWatcher().getWatchableObjectFloat(18) * 5; - - GL11.glPushMatrix(); - - GL11.glScalef(size, size, size); - - boolean balefire = cloud.getDataWatcher().getWatchableObjectByte(19) == 1; - - if(balefire) - bindTexture(ResourceManager.balefire); - else - bindTexture(ResourceManager.fireball); - - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glDisable(GL11.GL_TEXTURE_2D); - GL11.glDisable(GL11.GL_LIGHTING); - - //Float [0, 1] for the initial solid-colored layer fade-in - float func = MathHelper.clamp_float((cloud.ticksExisted + interp) * 0.0075F, 0, 1); - //Function that determines how high the cloud has risen. The values are the results of trial and error and i forgot what they mean - double height = Math.max(20 - 30 * 20 / ((((cloud.ticksExisted + interp) * 0.5) - 60 * 0.1) + 1), 0); - - if(balefire) - GL11.glColor4f(1.0F - (1.0F - 0.64F) * func, 1.0F, 1.0F - (1.0F - 0.5F) * func, 1F); - else - GL11.glColor4f(1.0F, 1.0F - (1.0F - 0.7F) * func, 1.0F - (1.0F - 0.48F) * func, 1F); - - renderMushHead(cloud.ticksExisted + interp, height); - renderMushStem(cloud.ticksExisted + interp, height); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_TEXTURE_2D); - - //Float [0.75, 0] That determines the occupancy of the texture layer - float texAlpha = func * 0.875F; - - GL11.glColor4f(1F, 1F, 1F, texAlpha); - //Sets blend to "how you'd expect it" mode - OpenGlHelper.glBlendFunc(770, 771, 1, 0); - GL11.glEnable(GL11.GL_BLEND); - - //And now we fuck with texture transformations - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glLoadIdentity(); - - GL11.glTranslated(0, -(cloud.ticksExisted + interp) * 0.035, 0); - - GL11.glMatrixMode(GL11.GL_MODELVIEW); - - GL11.glPushMatrix(); - //It's the thing that makes glow-in-the-dark work - GL11.glPushAttrib(GL11.GL_LIGHTING_BIT); - OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240F, 240F); - renderMushHead(cloud.ticksExisted + interp, height); - renderMushStem(cloud.ticksExisted + interp, height); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glPopAttrib(); - GL11.glPopMatrix(); - - //Clean this up otherwise the game becomes one-dimensional - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glLoadIdentity(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - - GL11.glDisable(GL11.GL_BLEND); - GL11.glEnable(GL11.GL_CULL_FACE); - - GL11.glPopMatrix(); - } - - /** - * Adds all cloudlets to the tessellator and then draws them - * @param cloud - * @param interp - */ - private void cloudletWrapper(EntityNukeCloudSmall cloud, float interp) { - - GL11.glPushMatrix(); - GL11.glEnable(GL11.GL_BLEND); - //To prevent particles cutting off before fully fading out - GL11.glAlphaFunc(GL11.GL_GEQUAL, 0.01F); - OpenGlHelper.glBlendFunc(770, 771, 1, 0); - RenderHelper.disableStandardItemLighting(); - GL11.glDisable(GL11.GL_ALPHA_TEST); - GL11.glDepthMask(false); - - bindTexture(cloudlet); - - Tessellator tess = Tessellator.instance; - tess.startDrawingQuads(); - - for(Cloudlet cloudlet : cloud.cloudlets) { - float scale = cloud.age + interp - cloudlet.age; - tessellateCloudlet(tess, cloudlet.posX, cloudlet.posY - cloud.posY + 2, cloudlet.posZ, scale, cloud.getDataWatcher().getWatchableObjectByte(19)); - } - - /*Random rand = new Random(cloud.getEntityId()); - float size = cloud.getDataWatcher().getWatchableObjectFloat(18); - - for(int i = 0; i < 300 * size; i++) { - - float scale = size * 10; - Vec3 vec = Vec3.createVectorHelper(rand.nextGaussian() * scale, 0, rand.nextGaussian() * scale); - - tessellateCloudlet(tess, vec.xCoord, (scale - vec.lengthVector()) * rand.nextDouble() * 0.5, vec.zCoord - 10, (float)(cloud.age * cloud.cloudletLife) / cloud.maxAge, cloud.getDataWatcher().getWatchableObjectByte(19)); - }*/ - - tess.draw(); - - GL11.glDepthMask(true); - GL11.glEnable(GL11.GL_ALPHA_TEST); - RenderHelper.enableStandardItemLighting(); - GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F); - GL11.glDisable(GL11.GL_BLEND); - GL11.glPopMatrix(); - } - - /* - * ////// ////// // // //// ////// ////// ////// ////// ////// - * // // // //// // // // // // // // // // // - * //// //// // //// // // //// //// //// //// ////// - * // // // // // // // // // // // // // // - * // // ////// // // //// ////// // // ////// // // ////// - */ - - /** - * Once again the recycled ender dragon death animation - * It worked so well the last 14 times, let's go for 15 - * @param intensity Double [0, 1] that determines scale and alpha - */ - private void renderFlash(double intensity) { - - GL11.glScalef(0.2F, 0.2F, 0.2F); - - double inverse = 1.0D - intensity; - - Tessellator tessellator = Tessellator.instance; - RenderHelper.disableStandardItemLighting(); - - Random random = new Random(432L); - GL11.glDisable(GL11.GL_TEXTURE_2D); - GL11.glShadeModel(GL11.GL_SMOOTH); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); - GL11.glDisable(GL11.GL_ALPHA_TEST); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glDepthMask(false); - - GL11.glPushMatrix(); - - float scale = 100; - - for(int i = 0; i < 300; i++) { - - GL11.glRotatef(random.nextFloat() * 360.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(random.nextFloat() * 360.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(random.nextFloat() * 360.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(random.nextFloat() * 360.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(random.nextFloat() * 360.0F, 0.0F, 1.0F, 0.0F); - - float vert1 = (random.nextFloat() * 20.0F + 5.0F + 1 * 10.0F) * (float)(intensity * scale); - float vert2 = (random.nextFloat() * 2.0F + 1.0F + 1 * 2.0F) * (float)(intensity * scale); - - tessellator.startDrawing(6); - - tessellator.setColorRGBA_F(1.0F, 1.0F, 1.0F, (float) inverse); - tessellator.addVertex(0.0D, 0.0D, 0.0D); - tessellator.setColorRGBA_F(1.0F, 1.0F, 1.0F, 0.0F); - tessellator.addVertex(-0.866D * vert2, vert1, -0.5F * vert2); - tessellator.addVertex(0.866D * vert2, vert1, -0.5F * vert2); - tessellator.addVertex(0.0D, vert1, 1.0F * vert2); - tessellator.addVertex(-0.866D * vert2, vert1, -0.5F * vert2); - tessellator.draw(); - } - - GL11.glPopMatrix(); - - GL11.glDepthMask(true); - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glDisable(GL11.GL_BLEND); - GL11.glShadeModel(GL11.GL_FLAT); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glEnable(GL11.GL_ALPHA_TEST); - RenderHelper.enableStandardItemLighting(); - } - - /** - * Render call for the mush head model - * Includes offset and smoothing - * Also scales the fireball along XZ - * @param progress Lifetime + interpolation number - * @param height The current animation offset - */ - private void renderMushHead(float progress, double height) { - - GL11.glPushMatrix(); - - double expansion = 100; - double width = Math.min(progress, expansion) / expansion * 0.3 + 0.7; - - GL11.glTranslated(0, -26 + height, 0); - GL11.glScaled(width, 1, width); - - GL11.glShadeModel(GL11.GL_SMOOTH); - GL11.glDisable(GL11.GL_ALPHA_TEST); - mush.renderPart("Ball"); - GL11.glEnable(GL11.GL_ALPHA_TEST); - GL11.glShadeModel(GL11.GL_FLAT); - - GL11.glPopMatrix(); - } - - /** - * Render call for the mush stem model - * Includes offset and smoothing - * @param progress Lifetime + interpolation number - * @param height The current animation offset - */ - private void renderMushStem(float progress, double height) { - - GL11.glPushMatrix(); - - GL11.glTranslated(0, -26 + height, 0); - - GL11.glShadeModel(GL11.GL_SMOOTH); - GL11.glDisable(GL11.GL_ALPHA_TEST); - mush.renderPart("Stem"); - GL11.glEnable(GL11.GL_ALPHA_TEST); - GL11.glShadeModel(GL11.GL_FLAT); - - GL11.glPopMatrix(); - } - - /** - * Adds one cloudlet (one face) to the tessellator. - * Rotation is done using ActiveRenderInfo, which I'd assume runs on magic - * But hey, if it works for particles, why not here too? - * @param tess - * @param posX - * @param posY - * @param posZ - * @param age The mush' age when the cloudlet was created - * @param type DataWatcher byte #19 which differentiates between different mush types - */ - private void tessellateCloudlet(Tessellator tess, double posX, double posY, double posZ, float age, int type) { - - float alpha = 1F - Math.max(age / (float)(EntityNukeCloudSmall.cloudletLife), 0F); - float alphaorig = alpha; - - float scale = 5F * (alpha * 0.5F + 0.5F); - - if(age < 3) - alpha = age * 0.333F; - - float f1 = ActiveRenderInfo.rotationX; - float f2 = ActiveRenderInfo.rotationZ; - float f3 = ActiveRenderInfo.rotationYZ; - float f4 = ActiveRenderInfo.rotationXY; - float f5 = ActiveRenderInfo.rotationXZ; - - Random rand = new Random((long) ((posX * 5 + posY * 25 + posZ * 125) * 1000D)); - - float brightness = rand.nextFloat() * 0.25F + 0.25F; - - if(type == 1) { - tess.setColorRGBA_F(0.25F * alphaorig, alphaorig - brightness * 0.5F, 0.25F * alphaorig, alpha); - } else { - - tess.setColorRGBA_F(brightness, brightness, brightness, alpha); - } - - tess.addVertexWithUV((double)(posX - f1 * scale - f3 * scale), (double)(posY - f5 * scale), (double)(posZ - f2 * scale - f4 * scale), 1, 1); - tess.addVertexWithUV((double)(posX - f1 * scale + f3 * scale), (double)(posY + f5 * scale), (double)(posZ - f2 * scale + f4 * scale), 1, 0); - tess.addVertexWithUV((double)(posX + f1 * scale + f3 * scale), (double)(posY + f5 * scale), (double)(posZ + f2 * scale + f4 * scale), 0, 0); - tess.addVertexWithUV((double)(posX + f1 * scale - f3 * scale), (double)(posY - f5 * scale), (double)(posZ + f2 * scale - f4 * scale), 0, 1); - - } -} diff --git a/src/main/java/com/hbm/render/entity/effect/RenderTorex.java b/src/main/java/com/hbm/render/entity/effect/RenderTorex.java index e90761d3e..674eb8818 100644 --- a/src/main/java/com/hbm/render/entity/effect/RenderTorex.java +++ b/src/main/java/com/hbm/render/entity/effect/RenderTorex.java @@ -38,6 +38,14 @@ public class RenderTorex extends Render { cloudletWrapper(cloud, interp); if(cloud.ticksExisted < 101) flashWrapper(cloud, interp); if(cloud.ticksExisted < 10 && System.currentTimeMillis() - ModEventHandlerClient.flashTimestamp > 1_000) ModEventHandlerClient.flashTimestamp = System.currentTimeMillis(); + if(cloud.didPlaySound && !cloud.didShake && System.currentTimeMillis() - ModEventHandlerClient.shakeTimestamp > 1_000) { + ModEventHandlerClient.shakeTimestamp = System.currentTimeMillis(); + cloud.didShake = true; + EntityPlayer player = MainRegistry.proxy.me(); + player.hurtTime = 15; + player.maxHurtTime = 15; + player.attackedAtYaw = 0F; + } if(fog) GL11.glEnable(GL11.GL_FOG); GL11.glPopMatrix(); } @@ -77,7 +85,10 @@ public class RenderTorex extends Render { for(Cloudlet cloudlet : cloudlets) { Vec3 vec = cloudlet.getInterpPos(interp); - tessellateCloudlet(tess, vec.xCoord - cloud.posX, vec.yCoord - cloud.posY, vec.zCoord - cloud.posZ, cloudlet, interp); + double x = vec.xCoord - cloud.posX; + double y = vec.yCoord - cloud.posY; + double z = vec.zCoord - cloud.posZ; + tessellateCloudlet(tess, x, y, z, cloudlet, interp); } tess.draw(); @@ -114,7 +125,7 @@ public class RenderTorex extends Render { float x = (float) (rand.nextGaussian() * 0.5F * cloud.rollerSize); float y = (float) (rand.nextGaussian() * 0.5F * cloud.rollerSize); float z = (float) (rand.nextGaussian() * 0.5F * cloud.rollerSize); - tessellateFlash(tess, x, y + cloud.coreHeight, z, (float) (10 * cloud.rollerSize), alpha, interp); + tessellateFlash(tess, x, y + cloud.coreHeight, z, (float) (25 * cloud.rollerSize), alpha, interp); } tess.draw(); @@ -138,7 +149,7 @@ public class RenderTorex extends Render { float f4 = ActiveRenderInfo.rotationXY; float f5 = ActiveRenderInfo.rotationXZ; - float brightness = 0.75F * cloud.colorMod; + float brightness = cloud.type == cloud.type.CONDENSATION ? 0.9F : 0.75F * cloud.colorMod; Vec3 color = cloud.getInterpColor(interp); tess.setColorRGBA_F((float)color.xCoord * brightness, (float)color.yCoord * brightness, (float)color.zCoord * brightness, alpha); diff --git a/src/main/java/com/hbm/render/entity/item/RenderFallingBlockNT.java b/src/main/java/com/hbm/render/entity/item/RenderFallingBlockNT.java index e42ebd0f2..ad73dcc96 100644 --- a/src/main/java/com/hbm/render/entity/item/RenderFallingBlockNT.java +++ b/src/main/java/com/hbm/render/entity/item/RenderFallingBlockNT.java @@ -32,27 +32,29 @@ public class RenderFallingBlockNT extends Render { int iY = MathHelper.floor_double(entity.posY); int iZ = MathHelper.floor_double(entity.posZ); - if(block != null && block != world.getBlock(iX, iY, iZ)) { - GL11.glPushMatrix(); - GL11.glTranslated(x, y, z); - this.bindEntityTexture(entity); - GL11.glDisable(GL11.GL_LIGHTING); - - this.renderBlocks.blockAccess = world; - - if(block instanceof BlockFallingNT && ((BlockFallingNT) block).shouldOverrideRenderer()) { - Tessellator tessellator = Tessellator.instance; - tessellator.startDrawingQuads(); - ((BlockFallingNT) block).overrideRenderer(entity, renderBlocks, tessellator); - tessellator.draw(); - } else { - this.renderBlocks.setRenderBoundsFromBlock(block); - this.renderBlocks.renderBlockSandFalling(block, world, iX, iY, iZ, entity.getDataWatcher().getWatchableObjectInt(11)); + GL11.glPushMatrix(); + try { + if(block != null && block != world.getBlock(iX, iY, iZ)) { + GL11.glTranslated(x, y, z); + this.bindEntityTexture(entity); + GL11.glDisable(GL11.GL_LIGHTING); + + this.renderBlocks.blockAccess = world; + + if(block instanceof BlockFallingNT && ((BlockFallingNT) block).shouldOverrideRenderer()) { + Tessellator tessellator = Tessellator.instance; + tessellator.startDrawingQuads(); + ((BlockFallingNT) block).overrideRenderer(entity, renderBlocks, tessellator); + tessellator.draw(); + } else { + this.renderBlocks.setRenderBoundsFromBlock(block); + this.renderBlocks.renderBlockSandFalling(block, world, iX, iY, iZ, entity.getDataWatcher().getWatchableObjectInt(11)); + } + + GL11.glEnable(GL11.GL_LIGHTING); } - - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glPopMatrix(); - } + } catch(Exception ex) { } + GL11.glPopMatrix(); } protected ResourceLocation getEntityTexture(EntityFallingBlockNT entity) { diff --git a/src/main/java/com/hbm/render/entity/mob/RenderGlyphid.java b/src/main/java/com/hbm/render/entity/mob/RenderGlyphid.java index 49b0ea4f8..f5dc00064 100644 --- a/src/main/java/com/hbm/render/entity/mob/RenderGlyphid.java +++ b/src/main/java/com/hbm/render/entity/mob/RenderGlyphid.java @@ -2,7 +2,8 @@ package com.hbm.render.entity.mob; import org.lwjgl.opengl.GL11; -import com.hbm.entity.mob.EntityGlyphid; +import com.hbm.entity.mob.glyphid.EntityGlyphid; +import com.hbm.lib.RefStrings; import com.hbm.main.ResourceManager; import net.minecraft.client.model.ModelBase; @@ -13,10 +14,13 @@ import net.minecraft.util.MathHelper; import net.minecraft.util.ResourceLocation; public class RenderGlyphid extends RenderLiving { + + public static final ResourceLocation glyphid_infested_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/glyphid_infestation.png"); public RenderGlyphid() { super(new ModelGlyphid(), 1.0F); this.shadowOpaque = 0.0F; + this.setRenderPassModel(this.mainModel); } @Override @@ -24,6 +28,21 @@ public class RenderGlyphid extends RenderLiving { EntityGlyphid glyphid = (EntityGlyphid) entity; return glyphid.getSkin(); } + + @Override + protected int shouldRenderPass(EntityLivingBase entity, int pass, float interp) { + if(pass != 0) { + return -1; + } else { + if(entity.getDataWatcher().getWatchableObjectByte(EntityGlyphid.DW_SUBTYPE) == EntityGlyphid.TYPE_INFECTED) { + this.bindTexture(glyphid_infested_tex); + GL11.glEnable(GL11.GL_BLEND); + GL11.glDisable(GL11.GL_ALPHA_TEST); + return 1; + } + return -1; + } + } public static class ModelGlyphid extends ModelBase { @@ -43,11 +62,20 @@ public class RenderGlyphid extends RenderLiving { GL11.glEnable(GL11.GL_LIGHTING); GL11.glDisable(GL11.GL_CULL_FACE); + this.renderModel(entity, limbSwing); + + GL11.glPopMatrix(); + } + + public void renderModel(Entity entity, float limbSwing) { + + GL11.glPushMatrix(); + double s = ((EntityGlyphid) entity).getScale(); GL11.glScaled(s, s, s); EntityLivingBase living = (EntityLivingBase) entity; - byte armor = living.getDataWatcher().getWatchableObjectByte(17); + byte armor = living.getDataWatcher().getWatchableObjectByte(EntityGlyphid.DW_ARMOR); double walkCycle = limbSwing; diff --git a/src/main/java/com/hbm/render/entity/mob/RenderGlyphidNuclear.java b/src/main/java/com/hbm/render/entity/mob/RenderGlyphidNuclear.java index 88c74cc21..2cd0abf45 100644 --- a/src/main/java/com/hbm/render/entity/mob/RenderGlyphidNuclear.java +++ b/src/main/java/com/hbm/render/entity/mob/RenderGlyphidNuclear.java @@ -2,8 +2,8 @@ package com.hbm.render.entity.mob; import org.lwjgl.opengl.GL11; -import com.hbm.entity.mob.EntityGlyphid; -import com.hbm.entity.mob.EntityGlyphidNuclear; +import com.hbm.entity.mob.glyphid.EntityGlyphid; +import com.hbm.entity.mob.glyphid.EntityGlyphidNuclear; import com.hbm.main.ResourceManager; import net.minecraft.client.Minecraft; diff --git a/src/main/java/com/hbm/render/entity/mob/RenderMaggot.java b/src/main/java/com/hbm/render/entity/mob/RenderMaggot.java new file mode 100644 index 000000000..6fa0184cc --- /dev/null +++ b/src/main/java/com/hbm/render/entity/mob/RenderMaggot.java @@ -0,0 +1,28 @@ +package com.hbm.render.entity.mob; + +import com.hbm.lib.RefStrings; + +import net.minecraft.client.model.ModelSilverfish; +import net.minecraft.client.renderer.entity.RenderLiving; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.util.ResourceLocation; + +public class RenderMaggot extends RenderLiving { + + public static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID, "textures/entity/parasite_maggot.png"); + + public RenderMaggot() { + super(new ModelSilverfish(), 0.3F); + } + + @Override + protected float getDeathMaxRotation(EntityLivingBase entity) { + return 180.0F; + } + + @Override + protected ResourceLocation getEntityTexture(Entity entity) { + return texture; + } +} diff --git a/src/main/java/com/hbm/render/entity/mob/RenderRADBeast.java b/src/main/java/com/hbm/render/entity/mob/RenderRADBeast.java index 068ce2365..8e37a801f 100644 --- a/src/main/java/com/hbm/render/entity/mob/RenderRADBeast.java +++ b/src/main/java/com/hbm/render/entity/mob/RenderRADBeast.java @@ -20,95 +20,86 @@ import net.minecraft.util.Vec3; public class RenderRADBeast extends RenderLiving { - private static final ResourceLocation blazeTextures = new ResourceLocation(RefStrings.MODID, "textures/entity/radbeast.png"); - private static final ResourceLocation mask = new ResourceLocation(RefStrings.MODID, "textures/models/ModelM65Blaze.png"); - private int field_77068_a; + private static final ResourceLocation blazeTextures = new ResourceLocation(RefStrings.MODID, "textures/entity/radbeast.png"); + private static final ResourceLocation mask = new ResourceLocation(RefStrings.MODID, "textures/models/ModelM65Blaze.png"); + private int blazeModel; - public RenderRADBeast() - { - super(new ModelBlaze(), 0.5F); - this.field_77068_a = ((ModelBlaze)this.mainModel).func_78104_a(); - } - - public void doRender(EntityRADBeast entity, double x, double y, double z, float r0, float r1) - { - int i = ((ModelBlaze)this.mainModel).func_78104_a(); + public RenderRADBeast() { + super(new ModelBlaze(), 0.5F); + this.blazeModel = ((ModelBlaze) this.mainModel).func_78104_a(); + } - if (i != this.field_77068_a) - { - this.field_77068_a = i; - this.mainModel = new ModelBlaze(); - } - - Entity victim = entity.getUnfortunateSoul(); - - if(victim != null) { + public void doRender(EntityRADBeast entity, double x, double y, double z, float r0, float r1) { + int i = ((ModelBlaze) this.mainModel).func_78104_a(); - GL11.glPushMatrix(); - - GL11.glTranslated(x, y + 1.25, z); - - double sx = entity.posX; - double sy = entity.posY + 1.25; - double sz = entity.posZ; - - double tX = victim.posX; - double tY = victim.posY + victim.height / 2; - double tZ = victim.posZ; - - if(victim == Minecraft.getMinecraft().thePlayer) - tY -= 1.5; - - double length = Math.sqrt(Math.pow(tX - sx, 2) + Math.pow(tY - sy, 2) + Math.pow(tZ - sz, 2)); - BeamPronter.prontBeam(Vec3.createVectorHelper(tX - sx, tY - sy, tZ - sz), EnumWaveType.RANDOM, EnumBeamType.SOLID, 0x004000, 0x004000, (int) (entity.worldObj.getTotalWorldTime() % 1000 + 1), (int) (length * 5), 0.125F, 2, 0.03125F); - - GL11.glPopMatrix(); + if(i != this.blazeModel) { + this.blazeModel = i; + this.mainModel = new ModelBlaze(); } - super.doRender((EntityLiving)entity, x, y, z, r0, r1); - } - - protected ResourceLocation getEntityTexture(EntityRADBeast p_110775_1_) - { - return blazeTextures; - } - - public void doRender(EntityLiving p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) - { - this.doRender((EntityRADBeast)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); - } - - public void doRender(EntityLivingBase p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) - { - this.doRender((EntityRADBeast)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); - } - - protected ResourceLocation getEntityTexture(Entity p_110775_1_) - { - return this.getEntityTexture((EntityRADBeast)p_110775_1_); - } - - public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) - { - this.doRender((EntityRADBeast)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); - } + Entity victim = entity.getUnfortunateSoul(); + + if(victim != null && entity.posY > 0.1) { + + GL11.glPushMatrix(); + + GL11.glTranslated(x, y + 1.25, z); + + double sx = entity.posX; + double sy = entity.posY + 1.25; + double sz = entity.posZ; + + double tX = victim.posX; + double tY = victim.posY + victim.height / 2; + double tZ = victim.posZ; + + if(victim == Minecraft.getMinecraft().thePlayer) + tY -= 1.5; + + double length = Math.sqrt(Math.pow(tX - sx, 2) + Math.pow(tY - sy, 2) + Math.pow(tZ - sz, 2)); + if(length < 200) BeamPronter.prontBeam(Vec3.createVectorHelper(tX - sx, tY - sy, tZ - sz), EnumWaveType.RANDOM, EnumBeamType.SOLID, 0x004000, 0x004000, (int) (entity.worldObj.getTotalWorldTime() % 1000 + 1), (int) (length * 5), 0.125F, 2, 0.03125F); + + GL11.glPopMatrix(); + } + + super.doRender((EntityLiving) entity, x, y, z, r0, r1); + } + + protected ResourceLocation getEntityTexture(EntityRADBeast p_110775_1_) { + return blazeTextures; + } + + public void doRender(EntityLiving p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { + this.doRender((EntityRADBeast) p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); + } + + public void doRender(EntityLivingBase p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { + this.doRender((EntityRADBeast) p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); + } + + protected ResourceLocation getEntityTexture(Entity p_110775_1_) { + return this.getEntityTexture((EntityRADBeast) p_110775_1_); + } + + public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { + this.doRender((EntityRADBeast) p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); + } private ModelM65Blaze modelM65; - protected int shouldRenderPass(EntityLivingBase p_77032_1_, int p_77032_2_, float p_77032_3_) - { - - if(p_77032_2_ == 0) { - this.bindTexture(mask); - - if (this.modelM65 == null) { + protected int shouldRenderPass(EntityLivingBase p_77032_1_, int p_77032_2_, float p_77032_3_) { + + if(p_77032_2_ == 0) { + this.bindTexture(mask); + + if(this.modelM65 == null) { this.modelM65 = new ModelM65Blaze(); } - - this.setRenderPassModel(modelM65); - return 1; - } - - return super.shouldRenderPass(p_77032_1_, p_77032_2_, p_77032_3_); - } + + this.setRenderPassModel(modelM65); + return 1; + } + + return super.shouldRenderPass(p_77032_1_, p_77032_2_, p_77032_3_); + } } diff --git a/src/main/java/com/hbm/render/entity/projectile/RenderBombletSelena.java b/src/main/java/com/hbm/render/entity/projectile/RenderBombletSelena.java deleted file mode 100644 index 1c8850bed..000000000 --- a/src/main/java/com/hbm/render/entity/projectile/RenderBombletSelena.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.hbm.render.entity.projectile; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; - -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.entity.Entity; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.model.AdvancedModelLoader; -import net.minecraftforge.client.model.IModelCustom; - -public class RenderBombletSelena extends Render { - - private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/bombletSelena.obj"); - private IModelCustom boyModel; - private ResourceLocation boyTexture; - - public RenderBombletSelena() { - boyModel = AdvancedModelLoader.loadModel(objTesterModelRL); - boyTexture = new ResourceLocation(RefStrings.MODID, "textures/models/TheGadget3_.png"); - } - - @Override - public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { - - GL11.glPushMatrix(); - GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_); - GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F); - GL11.glScalef(2, 2, 2); - - bindTexture(boyTexture); - boyModel.renderAll(); - GL11.glPopMatrix(); - } - - @Override - protected ResourceLocation getEntityTexture(Entity p_110775_1_) { - return new ResourceLocation(RefStrings.MODID +":textures/models/TheGadget3_.png"); - } -} diff --git a/src/main/java/com/hbm/render/entity/projectile/RenderGenericGrenade.java b/src/main/java/com/hbm/render/entity/projectile/RenderGenericGrenade.java index cca75e72d..06ecc70fa 100644 --- a/src/main/java/com/hbm/render/entity/projectile/RenderGenericGrenade.java +++ b/src/main/java/com/hbm/render/entity/projectile/RenderGenericGrenade.java @@ -1,9 +1,11 @@ package com.hbm.render.entity.projectile; +import com.hbm.entity.grenade.EntityDisperserCanister; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; import com.hbm.entity.grenade.IGenericGrenade; +import com.hbm.inventory.fluid.FluidType; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.entity.Render; @@ -17,21 +19,43 @@ public class RenderGenericGrenade extends Render { @Override public void doRender(Entity entity, double x, double y, double z, float f0, float f1) { - IGenericGrenade grenade = (IGenericGrenade) entity; + boolean disperser = entity instanceof EntityDisperserCanister; - IIcon iicon = grenade.getGrenade().getIconFromDamage(0); - - if(iicon != null) { - GL11.glPushMatrix(); - GL11.glTranslatef((float) x, (float) y, (float) z); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - GL11.glScalef(0.5F, 0.5F, 0.5F); - this.bindEntityTexture(entity); - Tessellator tessellator = Tessellator.instance; - - this.renderItem(tessellator, iicon); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - GL11.glPopMatrix(); + for(int i = 0; i < (disperser ? 2 : 1); i++) { + + IIcon iicon; + if(disperser){ + EntityDisperserCanister canister = (EntityDisperserCanister) entity; + FluidType fluid = canister.getFluid(); + iicon = canister.getType().getIconFromDamageForRenderPass(fluid.getID(), i); + + if(i == 1) { + int hex = fluid.getColor(); + int r = (hex & 0xFF0000) >> 16; + int g = (hex & 0xFF00) >> 8; + int b = (hex & 0xFF); + GL11.glColor3b((byte) (r / 2), (byte) (g / 2), (byte) (b / 2)); + } + + } else { + IGenericGrenade grenade = (IGenericGrenade) entity; + iicon = grenade.getGrenade().getIconFromDamage(i); + } + + if(iicon != null) { + GL11.glPushMatrix(); + GL11.glTranslatef((float) x, (float) y, (float) z); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + GL11.glScalef(0.5F, 0.5F, 0.5F); + this.bindEntityTexture(entity); + Tessellator tessellator = Tessellator.instance; + + this.renderItem(tessellator, iicon); + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + GL11.glPopMatrix(); + } + + GL11.glColor3f(1F, 1F, 1F); } } diff --git a/src/main/java/com/hbm/render/entity/rocket/RenderMinerRocket.java b/src/main/java/com/hbm/render/entity/rocket/RenderMinerRocket.java index 1031f515d..b3c89b5f3 100644 --- a/src/main/java/com/hbm/render/entity/rocket/RenderMinerRocket.java +++ b/src/main/java/com/hbm/render/entity/rocket/RenderMinerRocket.java @@ -3,7 +3,6 @@ package com.hbm.render.entity.rocket; import org.lwjgl.opengl.GL11; import com.hbm.entity.missile.EntityMinerRocket; -import com.hbm.entity.missile.EntitySiegeDropship; import com.hbm.main.ResourceManager; import net.minecraft.client.renderer.entity.Render; @@ -22,12 +21,7 @@ public class RenderMinerRocket extends Render { if(entity instanceof EntityMinerRocket) { bindTexture(ResourceManager.minerRocket_tex); } else { - - if(entity instanceof EntitySiegeDropship) { - bindTexture(ResourceManager.siege_dropship_tex); - } else { - bindTexture(ResourceManager.bobmazon_tex); - } + bindTexture(ResourceManager.bobmazon_tex); GL11.glRotatef(180, 1, 0, 0); } diff --git a/src/main/java/com/hbm/render/entity/rocket/RenderMissileCustom.java b/src/main/java/com/hbm/render/entity/rocket/RenderMissileCustom.java index e7fd50aa1..be59b8aa1 100644 --- a/src/main/java/com/hbm/render/entity/rocket/RenderMissileCustom.java +++ b/src/main/java/com/hbm/render/entity/rocket/RenderMissileCustom.java @@ -16,27 +16,26 @@ import net.minecraft.util.ResourceLocation; public class RenderMissileCustom extends Render { @Override - public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, - float p_76986_9_) { + public void doRender(Entity entity, double x, double y, double z, float p_76986_8_, float interp) { GL11.glPushMatrix(); - GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_); - GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F); + GL11.glTranslatef((float) x, (float) y, (float) z); + GL11.glRotatef(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * interp - 90.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(entity.prevRotationPitch + (entity.rotationPitch - entity.prevRotationPitch) * interp, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * interp - 90.0F, 0.0F, -1.0F, 0.0F); + + int w = entity.getDataWatcher().getWatchableObjectInt(9); + int f = entity.getDataWatcher().getWatchableObjectInt(10); + int s = entity.getDataWatcher().getWatchableObjectInt(11); + int t = entity.getDataWatcher().getWatchableObjectInt(12); + MissileMultipart missile = new MissileMultipart(); + missile.warhead = MissilePart.getPart(Item.getItemById(w)); + missile.fuselage = MissilePart.getPart(Item.getItemById(f)); + missile.fins = MissilePart.getPart(Item.getItemById(s)); + missile.thruster = MissilePart.getPart(Item.getItemById(t)); + + MissilePronter.prontMissile(missile, Minecraft.getMinecraft().getTextureManager()); - int w = p_76986_1_.getDataWatcher().getWatchableObjectInt(9); - int f = p_76986_1_.getDataWatcher().getWatchableObjectInt(10); - int s = p_76986_1_.getDataWatcher().getWatchableObjectInt(11); - int t = p_76986_1_.getDataWatcher().getWatchableObjectInt(12); - - MissileMultipart missile = new MissileMultipart(); - missile.warhead = MissilePart.getPart(Item.getItemById(w)); - missile.fuselage = MissilePart.getPart(Item.getItemById(f)); - missile.fins = MissilePart.getPart(Item.getItemById(s)); - missile.thruster = MissilePart.getPart(Item.getItemById(t)); - - MissilePronter.prontMissile(missile, Minecraft.getMinecraft().getTextureManager()); - GL11.glPopMatrix(); } @@ -44,5 +43,4 @@ public class RenderMissileCustom extends Render { protected ResourceLocation getEntityTexture(Entity p_110775_1_) { return ResourceManager.universal; } - } diff --git a/src/main/java/com/hbm/render/entity/rocket/RenderMissileDoomsday.java b/src/main/java/com/hbm/render/entity/rocket/RenderMissileDoomsday.java deleted file mode 100644 index f67f888e0..000000000 --- a/src/main/java/com/hbm/render/entity/rocket/RenderMissileDoomsday.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.hbm.render.entity.rocket; - -import org.lwjgl.opengl.GL11; - -import com.hbm.main.ResourceManager; - -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.entity.Entity; -import net.minecraft.util.ResourceLocation; - -public class RenderMissileDoomsday extends Render { - - public RenderMissileDoomsday() { } - - @Override - public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { - - GL11.glPushMatrix(); - GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_); - GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F); - GL11.glScalef(2F, 2F, 2F); - - GL11.glDisable(GL11.GL_CULL_FACE); - bindTexture(ResourceManager.missileDoomsday_tex); - ResourceManager.missileDoomsday.renderAll(); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glPopMatrix(); - } - - @Override - protected ResourceLocation getEntityTexture(Entity p_110775_1_) { - return ResourceManager.missileDoomsday_tex; - } -} diff --git a/src/main/java/com/hbm/render/entity/rocket/RenderMissileGeneric.java b/src/main/java/com/hbm/render/entity/rocket/RenderMissileGeneric.java index 1dff79e27..cf420dd0b 100644 --- a/src/main/java/com/hbm/render/entity/rocket/RenderMissileGeneric.java +++ b/src/main/java/com/hbm/render/entity/rocket/RenderMissileGeneric.java @@ -3,6 +3,8 @@ package com.hbm.render.entity.rocket; import org.lwjgl.opengl.GL11; import com.hbm.entity.missile.EntityMissileAntiBallistic; +import com.hbm.entity.missile.EntityMissileBaseNT; +import com.hbm.entity.missile.EntityMissileStealth; import com.hbm.entity.missile.EntityMissileTier1.*; import com.hbm.main.ResourceManager; @@ -22,12 +24,23 @@ public class RenderMissileGeneric extends Render { GL11.glTranslatef((float) x, (float) y, (float) z); GL11.glRotatef(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * interp - 90.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(entity.prevRotationPitch + (entity.rotationPitch - entity.prevRotationPitch) * interp, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * interp - 90.0F, 0.0F, -1.0F, 0.0F); + + if(entity instanceof EntityMissileBaseNT) switch(entity.getDataWatcher().getWatchableObjectByte(3)) { + case 2: GL11.glRotatef(90, 0F, 1F, 0F); break; + case 4: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(0, 0F, 1F, 0F); break; + } if(entity instanceof EntityMissileAntiBallistic) { bindTexture(ResourceManager.missileAA_tex); GL11.glShadeModel(GL11.GL_SMOOTH); ResourceManager.missileABM.renderAll(); GL11.glShadeModel(GL11.GL_FLAT); + } else if(entity instanceof EntityMissileStealth) { + bindTexture(ResourceManager.missileStealth_tex); + ResourceManager.missileStealth.renderAll(); } else { if(entity instanceof EntityMissileGeneric) diff --git a/src/main/java/com/hbm/render/entity/rocket/RenderMissileHuge.java b/src/main/java/com/hbm/render/entity/rocket/RenderMissileHuge.java index 00df032dc..70edc8592 100644 --- a/src/main/java/com/hbm/render/entity/rocket/RenderMissileHuge.java +++ b/src/main/java/com/hbm/render/entity/rocket/RenderMissileHuge.java @@ -2,6 +2,7 @@ package com.hbm.render.entity.rocket; import org.lwjgl.opengl.GL11; +import com.hbm.entity.missile.EntityMissileBaseNT; import com.hbm.entity.missile.EntityMissileTier3.*; import com.hbm.main.ResourceManager; @@ -15,21 +16,25 @@ public class RenderMissileHuge extends Render { } @Override - public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { + public void doRender(Entity entity, double x, double y, double z, float p_76986_8_, float interp) { GL11.glPushMatrix(); - GL11.glTranslatef((float) p_76986_2_, (float) p_76986_4_, (float) p_76986_6_); - GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F); + GL11.glTranslatef((float) x, (float) y, (float) z); + GL11.glRotatef(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * interp - 90.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(entity.prevRotationPitch + (entity.rotationPitch - entity.prevRotationPitch) * interp, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * interp - 90.0F, 0.0F, -1.0F, 0.0F); - if(p_76986_1_ instanceof EntityMissileBurst) - bindTexture(ResourceManager.missileHuge_HE_tex); - if(p_76986_1_ instanceof EntityMissileInferno) - bindTexture(ResourceManager.missileHuge_IN_tex); - if(p_76986_1_ instanceof EntityMissileRain) - bindTexture(ResourceManager.missileHuge_CL_tex); - if(p_76986_1_ instanceof EntityMissileDrill) - bindTexture(ResourceManager.missileHuge_BU_tex); + if(entity instanceof EntityMissileBaseNT) switch(entity.getDataWatcher().getWatchableObjectByte(3)) { + case 2: GL11.glRotatef(90, 0F, 1F, 0F); break; + case 4: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(0, 0F, 1F, 0F); break; + } + + if(entity instanceof EntityMissileBurst) bindTexture(ResourceManager.missileHuge_HE_tex); + if(entity instanceof EntityMissileInferno) bindTexture(ResourceManager.missileHuge_IN_tex); + if(entity instanceof EntityMissileRain) bindTexture(ResourceManager.missileHuge_CL_tex); + if(entity instanceof EntityMissileDrill) bindTexture(ResourceManager.missileHuge_BU_tex); GL11.glShadeModel(GL11.GL_SMOOTH); ResourceManager.missileHuge.renderAll(); GL11.glShadeModel(GL11.GL_FLAT); diff --git a/src/main/java/com/hbm/render/entity/rocket/RenderMissileMirv.java b/src/main/java/com/hbm/render/entity/rocket/RenderMissileMirv.java deleted file mode 100644 index 413da7814..000000000 --- a/src/main/java/com/hbm/render/entity/rocket/RenderMissileMirv.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.hbm.render.entity.rocket; - -import org.lwjgl.opengl.GL11; - -import com.hbm.main.ResourceManager; - -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.entity.Entity; -import net.minecraft.util.ResourceLocation; - -public class RenderMissileMirv extends Render { - - public RenderMissileMirv() { } - - @Override - public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { - - GL11.glPushMatrix(); - GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_); - GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F); - GL11.glScalef(1.5F, 1.5F, 1.5F); - - bindTexture(ResourceManager.missileMIRV_tex); - ResourceManager.missileNuclear.renderAll(); - GL11.glPopMatrix(); - } - - @Override - protected ResourceLocation getEntityTexture(Entity p_110775_1_) { - return ResourceManager.missileMIRV_tex; - } -} diff --git a/src/main/java/com/hbm/render/entity/rocket/RenderMissileNuclear.java b/src/main/java/com/hbm/render/entity/rocket/RenderMissileNuclear.java index f69443b8f..51abf8cd7 100644 --- a/src/main/java/com/hbm/render/entity/rocket/RenderMissileNuclear.java +++ b/src/main/java/com/hbm/render/entity/rocket/RenderMissileNuclear.java @@ -2,7 +2,8 @@ package com.hbm.render.entity.rocket; import org.lwjgl.opengl.GL11; -import com.hbm.entity.missile.EntityMissileTier4.EntityMissileVolcano; +import com.hbm.entity.missile.EntityMissileBaseNT; +import com.hbm.entity.missile.EntityMissileTier4.*; import com.hbm.main.ResourceManager; import net.minecraft.client.renderer.entity.Render; @@ -14,19 +15,31 @@ public class RenderMissileNuclear extends Render { public RenderMissileNuclear() { } @Override - public void doRender(Entity missile, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { + public void doRender(Entity entity, double x, double y, double z, float p_76986_8_, float interp) { GL11.glPushMatrix(); - GL11.glTranslatef((float) p_76986_2_, (float) p_76986_4_, (float) p_76986_6_); - GL11.glRotatef(missile.prevRotationYaw + (missile.rotationYaw - missile.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(missile.prevRotationPitch + (missile.rotationPitch - missile.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F); + GL11.glTranslatef((float) x, (float) y, (float) z); + GL11.glRotatef(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * interp - 90.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(entity.prevRotationPitch + (entity.rotationPitch - entity.prevRotationPitch) * interp, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * interp - 90.0F, 0.0F, -1.0F, 0.0F); - if(missile instanceof EntityMissileVolcano) - bindTexture(ResourceManager.missileVolcano_tex); - else - bindTexture(ResourceManager.missileNuclear_tex); + if(entity instanceof EntityMissileBaseNT) switch(entity.getDataWatcher().getWatchableObjectByte(3)) { + case 2: GL11.glRotatef(90, 0F, 1F, 0F); break; + case 4: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(0, 0F, 1F, 0F); break; + } + if(entity instanceof EntityMissileNuclear) bindTexture(ResourceManager.missileNuclear_tex); + if(entity instanceof EntityMissileMirv) bindTexture(ResourceManager.missileMIRV_tex); + if(entity instanceof EntityMissileDoomsday) bindTexture(ResourceManager.missileDoomsday_tex); + if(entity instanceof EntityMissileDoomsdayRusted) bindTexture(ResourceManager.missileDoomsdayRusted_tex); + if(entity instanceof EntityMissileVolcano) bindTexture(ResourceManager.missileVolcano_tex); + + GL11.glShadeModel(GL11.GL_SMOOTH); ResourceManager.missileNuclear.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + GL11.glPopMatrix(); } diff --git a/src/main/java/com/hbm/render/entity/rocket/RenderMissileShuttle.java b/src/main/java/com/hbm/render/entity/rocket/RenderMissileShuttle.java index eff8e7b16..a874418d6 100644 --- a/src/main/java/com/hbm/render/entity/rocket/RenderMissileShuttle.java +++ b/src/main/java/com/hbm/render/entity/rocket/RenderMissileShuttle.java @@ -13,16 +13,16 @@ public class RenderMissileShuttle extends Render { public RenderMissileShuttle() { } @Override - public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { + public void doRender(Entity entity, double x, double y, double z, float p_76986_8_, float interp) { GL11.glPushMatrix(); - GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_); - GL11.glScalef(1F, 1F, 1F); - GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F); + GL11.glTranslatef((float) x, (float) y, (float) z); + GL11.glRotatef(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * interp - 90.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(entity.prevRotationPitch + (entity.rotationPitch - entity.prevRotationPitch) * interp, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * interp - 90.0F, 0.0F, -1.0F, 0.0F); - bindTexture(ResourceManager.missileShuttle_tex); - ResourceManager.missileShuttle.renderAll(); + bindTexture(ResourceManager.missileShuttle_tex); + ResourceManager.missileShuttle.renderAll(); GL11.glPopMatrix(); } diff --git a/src/main/java/com/hbm/render/entity/rocket/RenderMissileStrong.java b/src/main/java/com/hbm/render/entity/rocket/RenderMissileStrong.java index 5b31dbd04..d02c2b35c 100644 --- a/src/main/java/com/hbm/render/entity/rocket/RenderMissileStrong.java +++ b/src/main/java/com/hbm/render/entity/rocket/RenderMissileStrong.java @@ -2,6 +2,7 @@ package com.hbm.render.entity.rocket; import org.lwjgl.opengl.GL11; +import com.hbm.entity.missile.EntityMissileBaseNT; import com.hbm.entity.missile.EntityMissileTier2.*; import com.hbm.main.ResourceManager; @@ -14,24 +15,27 @@ public class RenderMissileStrong extends Render { public RenderMissileStrong() { } @Override - public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { + public void doRender(Entity entity, double x, double y, double z, float p_76986_8_, float interp) { GL11.glPushMatrix(); - GL11.glTranslatef((float) p_76986_2_, (float) p_76986_4_, (float) p_76986_6_); + GL11.glTranslatef((float) x, (float) y, (float) z); + GL11.glRotatef(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * interp - 90.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(entity.prevRotationPitch + (entity.rotationPitch - entity.prevRotationPitch) * interp, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * interp - 90.0F, 0.0F, -1.0F, 0.0F); GL11.glScalef(1.5F, 1.5F, 1.5F); - GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F); - if(p_76986_1_ instanceof EntityMissileStrong) - bindTexture(ResourceManager.missileStrong_HE_tex); - if(p_76986_1_ instanceof EntityMissileIncendiaryStrong) - bindTexture(ResourceManager.missileStrong_IN_tex); - if(p_76986_1_ instanceof EntityMissileClusterStrong) - bindTexture(ResourceManager.missileStrong_CL_tex); - if(p_76986_1_ instanceof EntityMissileBusterStrong) - bindTexture(ResourceManager.missileStrong_BU_tex); - if(p_76986_1_ instanceof EntityMissileEMPStrong) - bindTexture(ResourceManager.missileStrong_EMP_tex); + if(entity instanceof EntityMissileBaseNT) switch(entity.getDataWatcher().getWatchableObjectByte(3)) { + case 2: GL11.glRotatef(90, 0F, 1F, 0F); break; + case 4: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(0, 0F, 1F, 0F); break; + } + + if(entity instanceof EntityMissileStrong) bindTexture(ResourceManager.missileStrong_HE_tex); + if(entity instanceof EntityMissileIncendiaryStrong) bindTexture(ResourceManager.missileStrong_IN_tex); + if(entity instanceof EntityMissileClusterStrong) bindTexture(ResourceManager.missileStrong_CL_tex); + if(entity instanceof EntityMissileBusterStrong) bindTexture(ResourceManager.missileStrong_BU_tex); + if(entity instanceof EntityMissileEMPStrong) bindTexture(ResourceManager.missileStrong_EMP_tex); GL11.glShadeModel(GL11.GL_SMOOTH); ResourceManager.missileStrong.renderAll(); GL11.glShadeModel(GL11.GL_FLAT); diff --git a/src/main/java/com/hbm/render/entity/rocket/RenderMissileTaint.java b/src/main/java/com/hbm/render/entity/rocket/RenderMissileTaint.java index 65643516f..09d45cba4 100644 --- a/src/main/java/com/hbm/render/entity/rocket/RenderMissileTaint.java +++ b/src/main/java/com/hbm/render/entity/rocket/RenderMissileTaint.java @@ -2,6 +2,7 @@ package com.hbm.render.entity.rocket; import org.lwjgl.opengl.GL11; +import com.hbm.entity.missile.EntityMissileBaseNT; import com.hbm.entity.missile.EntityMissileTier0.*; import com.hbm.main.ResourceManager; @@ -15,18 +16,26 @@ public class RenderMissileTaint extends Render { } @Override - public void doRender(Entity missile, double x, double y, double z, float f1, float f2) { + public void doRender(Entity entity, double x, double y, double z, float p_76986_8_, float interp) { GL11.glPushMatrix(); - GL11.glTranslatef((float)x, (float)y, (float)z); - GL11.glRotatef(missile.prevRotationYaw + (missile.rotationYaw - missile.prevRotationYaw) * f2 - 90.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(missile.prevRotationPitch + (missile.rotationPitch - missile.prevRotationPitch) * f2, 0.0F, 0.0F, 1.0F); - GL11.glScalef(2F, 2F, 2F); + GL11.glTranslatef((float) x, (float) y, (float) z); + GL11.glRotatef(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * interp - 90.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(entity.prevRotationPitch + (entity.rotationPitch - entity.prevRotationPitch) * interp, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * interp - 90.0F, 0.0F, -1.0F, 0.0F); - GL11.glDisable(GL11.GL_CULL_FACE); - bindTexture(getEntityTexture(missile)); - ResourceManager.missileTaint.renderAll(); - GL11.glEnable(GL11.GL_CULL_FACE); + if(entity instanceof EntityMissileBaseNT) switch(entity.getDataWatcher().getWatchableObjectByte(3)) { + case 2: GL11.glRotatef(90, 0F, 1F, 0F); break; + case 4: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(0, 0F, 1F, 0F); break; + } + + GL11.glEnable(GL11.GL_CULL_FACE); + bindTexture(getEntityTexture(entity)); + GL11.glShadeModel(GL11.GL_SMOOTH); + ResourceManager.missileMicro.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); GL11.glPopMatrix(); } @@ -40,6 +49,8 @@ public class RenderMissileTaint extends Render { return ResourceManager.missileMicroSchrab_tex; if(p_110775_1_ instanceof EntityMissileEMP) return ResourceManager.missileMicroEMP_tex; + if(p_110775_1_ instanceof EntityMissileTest) + return ResourceManager.missileMicroTest_tex; return ResourceManager.missileMicro_tex; } diff --git a/src/main/java/com/hbm/render/entity/rocket/RenderMissileThermo.java b/src/main/java/com/hbm/render/entity/rocket/RenderMissileThermo.java deleted file mode 100644 index c19a36c83..000000000 --- a/src/main/java/com/hbm/render/entity/rocket/RenderMissileThermo.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.hbm.render.entity.rocket; - -import org.lwjgl.opengl.GL11; - -import com.hbm.entity.missile.EntityMissileTier3.*; -import com.hbm.main.ResourceManager; - -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.entity.Entity; -import net.minecraft.util.ResourceLocation; - -public class RenderMissileThermo extends Render { - - public RenderMissileThermo() { } - - @Override - public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { - - GL11.glPushMatrix(); - GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_); - GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F); - GL11.glScalef(1.5F, 1.5F, 1.5F); - - if(p_76986_1_ instanceof EntityMissileEndo) - bindTexture(ResourceManager.missileEndo_tex); - if(p_76986_1_ instanceof EntityMissileExo) - bindTexture(ResourceManager.missileExo_tex); - ResourceManager.missileThermo.renderAll(); - GL11.glPopMatrix(); - } - - @Override - protected ResourceLocation getEntityTexture(Entity p_110775_1_) { - return ResourceManager.missileEndo_tex; - } - -} diff --git a/src/main/java/com/hbm/render/item/ItemRenderLibrary.java b/src/main/java/com/hbm/render/item/ItemRenderLibrary.java index 0c3a421c2..41d42e7c2 100644 --- a/src/main/java/com/hbm/render/item/ItemRenderLibrary.java +++ b/src/main/java/com/hbm/render/item/ItemRenderLibrary.java @@ -138,24 +138,6 @@ public class ItemRenderLibrary { GL11.glShadeModel(GL11.GL_FLAT); }}); - renderers.put(Item.getItemFromBlock(ModBlocks.machine_selenium), new ItemRenderBase() { - public void renderInventory() { - GL11.glTranslated(0, -4, 0); - GL11.glScaled(4, 4, 4); - } - public void renderCommon() { - GL11.glScaled(2, 2, 2); - GL11.glDisable(GL11.GL_CULL_FACE); - bindTexture(ResourceManager.selenium_body_tex); ResourceManager.selenium_body.renderAll(); - GL11.glTranslated(0.0D, 1.0D, 0.0D); - bindTexture(ResourceManager.selenium_rotor_tex); ResourceManager.selenium_rotor.renderAll(); - bindTexture(ResourceManager.selenium_piston_tex); - for(int i = 0; i < 7; i++) { - ResourceManager.selenium_piston.renderAll(); GL11.glRotatef(360F/7F, 0, 0, 1); - } - GL11.glEnable(GL11.GL_CULL_FACE); - }}); - renderers.put(Item.getItemFromBlock(ModBlocks.reactor_research), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -4, 0); @@ -291,7 +273,9 @@ public class ItemRenderLibrary { GL11.glDisable(GL11.GL_CULL_FACE); GL11.glScaled(0.5, 0.5, 0.5); GL11.glTranslatef(0, 0, 3); + GL11.glShadeModel(GL11.GL_SMOOTH); bindTexture(ResourceManager.pumpjack_tex); ResourceManager.pumpjack.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); GL11.glEnable(GL11.GL_CULL_FACE); }}); @@ -322,19 +306,6 @@ public class ItemRenderLibrary { GL11.glShadeModel(GL11.GL_FLAT); }}); - renderers.put(Item.getItemFromBlock(ModBlocks.machine_drill), new ItemRenderBase() { - public void renderInventory() { - GL11.glTranslated(0, -2, 0); - GL11.glScaled(3, 3, 3); - } - public void renderCommon() { - GL11.glRotated(180, 0, 1, 0); - GL11.glDisable(GL11.GL_CULL_FACE); - bindTexture(ResourceManager.drill_body_tex); ResourceManager.drill_body.renderAll(); - bindTexture(ResourceManager.drill_bolt_tex); ResourceManager.drill_bolt.renderAll(); - GL11.glEnable(GL11.GL_CULL_FACE); - }}); - renderers.put(Item.getItemFromBlock(ModBlocks.machine_mining_laser), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -0.5, 0); @@ -351,7 +322,7 @@ public class ItemRenderLibrary { renderers.put(Item.getItemFromBlock(ModBlocks.machine_turbofan), new ItemRenderBase() { public void renderInventory() { GL11.glRotated(90, 0, 1, 0); - GL11.glScaled(2, 2, 2); + GL11.glScaled(2.25, 2.25, 2.25); } public void renderCommon() { GL11.glShadeModel(GL11.GL_SMOOTH); @@ -408,30 +379,7 @@ public class ItemRenderLibrary { public void renderCommon() { GL11.glScaled(0.5, 0.5, 0.5); GL11.glTranslatef(0, 0, -3); - bindTexture(ResourceManager.duchessgambit_tex); ResourceManager.duchessgambit.renderAll(); - }}); - - renderers.put(Item.getItemFromBlock(ModBlocks.bomber), new ItemRenderBase() { - public void renderInventory() { - GL11.glTranslated(0, 1, 0); - GL11.glScaled(2.25, 2.25, 2.25); - } - public void renderCommon() { - GL11.glRotated(-90, 0, 1, 0); - GL11.glScaled(2, 2, 2); - GL11.glTranslatef(0, 0, -0.25F); - bindTexture(ResourceManager.dornier_0_tex); ResourceManager.dornier.renderAll(); - }}); - - renderers.put(Item.getItemFromBlock(ModBlocks.nuke_gadget), new ItemRenderBase() { - public void renderInventory() { - GL11.glTranslated(0, -3, 0); - GL11.glScaled(5, 5, 5); - } - public void renderCommon() { - GL11.glTranslated(0.25, 0, 0); - bindTexture(ResourceManager.bomb_gadget_tex); - ResourceManager.bomb_gadget.renderAll(); + bindTexture(ResourceManager.duchessgambit_tex); ResourceManager.duchessgambit.renderAll(); }}); renderers.put(Item.getItemFromBlock(ModBlocks.nuke_boy), new ItemRenderBase() { @@ -764,6 +712,43 @@ public class ItemRenderLibrary { GL11.glShadeModel(GL11.GL_FLAT); } }); + renderers.put(Item.getItemFromBlock(ModBlocks.silo_hatch), new ItemRenderBase(){ + public void renderInventory() { + GL11.glTranslated(0, -2, 0); + GL11.glScaled(2, 2, 2); + } + public void renderCommon() { + bindTexture(ResourceManager.silo_hatch_tex); + GL11.glShadeModel(GL11.GL_SMOOTH); + GL11.glRotated(90, 0, 1, 0); + ResourceManager.silo_hatch.renderPart("Frame"); + GL11.glTranslated(0, 0.875, -1.875); + GL11.glRotated(-120, 1, 0, 0); + GL11.glTranslated(0, -0.875, 1.875); + GL11.glTranslated(0, 0.25, 0); + ResourceManager.silo_hatch.renderPart("Hatch"); + GL11.glShadeModel(GL11.GL_FLAT); + } + }); + renderers.put(Item.getItemFromBlock(ModBlocks.silo_hatch_large), new ItemRenderBase(){ + public void renderInventory() { + GL11.glTranslated(0, -2, 0); + GL11.glScaled(1.5, 1.5, 1.5); + } + public void renderCommon() { + bindTexture(ResourceManager.silo_hatch_large_tex); + GL11.glShadeModel(GL11.GL_SMOOTH); + GL11.glTranslated(1, 0, 0); + GL11.glRotated(90, 0, 1, 0); + ResourceManager.silo_hatch_large.renderPart("Frame"); + GL11.glTranslated(0, 0.875, -2.875); + GL11.glRotated(-120, 1, 0, 0); + GL11.glTranslated(0, -0.875, 2.875); + GL11.glTranslated(0, 0.25, 0); + ResourceManager.silo_hatch_large.renderPart("Hatch"); + GL11.glShadeModel(GL11.GL_FLAT); + } + }); renderers.put(Item.getItemFromBlock(ModBlocks.qe_containment), new ItemRenderBase(){ public void renderInventory() { GL11.glTranslated(0, -3.5, 0); @@ -1173,7 +1158,9 @@ public class ItemRenderLibrary { public void renderCommon() { GL11.glScaled(0.25, 0.25, 0.25); GL11.glShadeModel(GL11.GL_SMOOTH); + GL11.glDisable(GL11.GL_CULL_FACE); bindTexture(ResourceManager.fracking_tower_tex); ResourceManager.fracking_tower.renderAll(); + GL11.glEnable(GL11.GL_CULL_FACE); GL11.glShadeModel(GL11.GL_FLAT); }}); diff --git a/src/main/java/com/hbm/render/item/ItemRenderMissileGeneric.java b/src/main/java/com/hbm/render/item/ItemRenderMissileGeneric.java new file mode 100644 index 000000000..08bbe24d0 --- /dev/null +++ b/src/main/java/com/hbm/render/item/ItemRenderMissileGeneric.java @@ -0,0 +1,190 @@ +package com.hbm.render.item; + +import java.util.HashMap; +import java.util.function.Consumer; + +import org.lwjgl.opengl.GL11; + +import com.hbm.inventory.RecipesCommon.ComparableStack; +import com.hbm.items.ModItems; +import com.hbm.main.ResourceManager; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.RenderHelper; +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.IItemRenderer; +import net.minecraftforge.client.model.IModelCustom; + +public class ItemRenderMissileGeneric implements IItemRenderer { + + public static HashMap> renderers = new HashMap(); + + protected RenderMissileType type; + + public static enum RenderMissileType { + TYPE_TIER0, + TYPE_TIER1, + TYPE_TIER2, + TYPE_TIER3, + TYPE_STEALTH, + TYPE_ABM, + TYPE_NUCLEAR, + TYPE_CARRIER, + TYPE_ROBIN + } + + public ItemRenderMissileGeneric(RenderMissileType type) { + this.type = type; + } + + @Override + public boolean handleRenderType(ItemStack item, ItemRenderType type) { + switch(type) { + case EQUIPPED: + case EQUIPPED_FIRST_PERSON: + case ENTITY: + case INVENTORY: + return true; + default: return false; + } + } + + @Override + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { + return helper == ItemRendererHelper.ENTITY_BOBBING || helper == ItemRendererHelper.ENTITY_ROTATION; + } + + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object... data) { + + Consumer renderer = renderers.get(new ComparableStack(item).makeSingular()); + if(renderer == null) return; + + GL11.glPushMatrix(); + + double guiScale = 1; + double guiOffset = 0; + + switch(this.type) { + case TYPE_TIER0: guiScale = 3.75D; guiOffset = 10.75D; break; + case TYPE_TIER1: guiScale = 2.5D; guiOffset = 8.5D; break; + case TYPE_TIER2: guiScale = 2D; guiOffset = 6.5D; break; + case TYPE_TIER3: guiScale = 1.25D; guiOffset = 1D; break; + case TYPE_STEALTH: guiScale = 1.75D; guiOffset = 4.75D; break; + case TYPE_ABM: guiScale = 2.25D; guiOffset = 7D; break; + case TYPE_NUCLEAR: guiScale = 1.375D; guiOffset = 1.5D; break; + case TYPE_CARRIER: guiScale = 0.625D; guiOffset = -17D; break; + case TYPE_ROBIN: guiScale = 1.25D; guiOffset = 2D; break; + } + + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glAlphaFunc(GL11.GL_GREATER, 0F); + GL11.glEnable(GL11.GL_ALPHA_TEST); + + switch(type) { + case EQUIPPED: + double s = 0.15; + GL11.glTranslated(0.5, -0.25, 0); + GL11.glScaled(s, s, s); + break; + case EQUIPPED_FIRST_PERSON: + double heldScale = 0.1; + GL11.glTranslated(0.5, 0.25, 0); + GL11.glScaled(heldScale, heldScale, heldScale); + break; + case ENTITY: + double s2 = 0.15; + GL11.glScaled(s2, s2, s2); + break; + case INVENTORY: + RenderHelper.enableGUIStandardItemLighting(); + GL11.glScaled(guiScale, guiScale, guiScale); + GL11.glRotated(135, 0, 0, 1); + GL11.glRotatef(System.currentTimeMillis() / 15 % 360, 0, 1, 0); + GL11.glTranslated(0, -16 + guiOffset, 0); + break; + default: break; + } + + GL11.glDisable(GL11.GL_CULL_FACE); + renderer.accept(Minecraft.getMinecraft().renderEngine); + GL11.glEnable(GL11.GL_CULL_FACE); + + GL11.glPopMatrix(); + } + + public static Consumer generateStandard(ResourceLocation texture, IModelCustom model) { return generateWithScale(texture, model, 1F); } + public static Consumer generateLarge(ResourceLocation texture, IModelCustom model) { return generateWithScale(texture, model, 1.5F); } + public static Consumer generateDouble(ResourceLocation texture, IModelCustom model) { return generateWithScale(texture, model, 2F); } + + public static Consumer generateWithScale(ResourceLocation texture, IModelCustom model, float scale) { + return x -> { + GL11.glScalef(scale, scale, scale); + GL11.glShadeModel(GL11.GL_SMOOTH); + x.bindTexture(texture); model.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + }; + } + + public static void init() { + + renderers.put(new ComparableStack(ModItems.missile_test), generateStandard(ResourceManager.missileMicroTest_tex, ResourceManager.missileMicro)); + renderers.put(new ComparableStack(ModItems.missile_taint), generateStandard(ResourceManager.missileTaint_tex, ResourceManager.missileMicro)); + renderers.put(new ComparableStack(ModItems.missile_micro), generateStandard(ResourceManager.missileMicro_tex, ResourceManager.missileMicro)); + renderers.put(new ComparableStack(ModItems.missile_bhole), generateStandard(ResourceManager.missileMicroBHole_tex, ResourceManager.missileMicro)); + renderers.put(new ComparableStack(ModItems.missile_schrabidium), generateStandard(ResourceManager.missileMicroSchrab_tex, ResourceManager.missileMicro)); + renderers.put(new ComparableStack(ModItems.missile_emp), generateStandard(ResourceManager.missileMicroEMP_tex, ResourceManager.missileMicro)); + + renderers.put(new ComparableStack(ModItems.missile_stealth), x -> { + GL11.glShadeModel(GL11.GL_SMOOTH); + x.bindTexture(ResourceManager.missileStealth_tex); ResourceManager.missileStealth.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + }); + + renderers.put(new ComparableStack(ModItems.missile_generic), generateStandard(ResourceManager.missileV2_HE_tex, ResourceManager.missileV2)); + renderers.put(new ComparableStack(ModItems.missile_incendiary), generateStandard(ResourceManager.missileV2_IN_tex, ResourceManager.missileV2)); + renderers.put(new ComparableStack(ModItems.missile_cluster), generateStandard(ResourceManager.missileV2_CL_tex, ResourceManager.missileV2)); + renderers.put(new ComparableStack(ModItems.missile_buster), generateStandard(ResourceManager.missileV2_BU_tex, ResourceManager.missileV2)); + renderers.put(new ComparableStack(ModItems.missile_decoy), generateStandard(ResourceManager.missileV2_decoy_tex, ResourceManager.missileV2)); + renderers.put(new ComparableStack(ModItems.missile_anti_ballistic), generateStandard(ResourceManager.missileAA_tex, ResourceManager.missileABM)); + + renderers.put(new ComparableStack(ModItems.missile_strong), generateLarge(ResourceManager.missileStrong_HE_tex, ResourceManager.missileStrong)); + renderers.put(new ComparableStack(ModItems.missile_incendiary_strong), generateLarge(ResourceManager.missileStrong_IN_tex, ResourceManager.missileStrong)); + renderers.put(new ComparableStack(ModItems.missile_cluster_strong), generateLarge(ResourceManager.missileStrong_CL_tex, ResourceManager.missileStrong)); + renderers.put(new ComparableStack(ModItems.missile_buster_strong), generateLarge(ResourceManager.missileStrong_BU_tex, ResourceManager.missileStrong)); + renderers.put(new ComparableStack(ModItems.missile_emp_strong), generateLarge(ResourceManager.missileStrong_EMP_tex, ResourceManager.missileStrong)); + + renderers.put(new ComparableStack(ModItems.missile_burst), generateStandard(ResourceManager.missileHuge_HE_tex, ResourceManager.missileHuge)); + renderers.put(new ComparableStack(ModItems.missile_inferno), generateStandard(ResourceManager.missileHuge_IN_tex, ResourceManager.missileHuge)); + renderers.put(new ComparableStack(ModItems.missile_rain), generateStandard(ResourceManager.missileHuge_CL_tex, ResourceManager.missileHuge)); + renderers.put(new ComparableStack(ModItems.missile_drill), generateStandard(ResourceManager.missileHuge_BU_tex, ResourceManager.missileHuge)); + + renderers.put(new ComparableStack(ModItems.missile_nuclear), generateStandard(ResourceManager.missileNuclear_tex, ResourceManager.missileNuclear)); + renderers.put(new ComparableStack(ModItems.missile_nuclear_cluster), generateStandard(ResourceManager.missileMIRV_tex, ResourceManager.missileNuclear)); + renderers.put(new ComparableStack(ModItems.missile_volcano), generateStandard(ResourceManager.missileVolcano_tex, ResourceManager.missileNuclear)); + renderers.put(new ComparableStack(ModItems.missile_doomsday), generateStandard(ResourceManager.missileDoomsday_tex, ResourceManager.missileNuclear)); + renderers.put(new ComparableStack(ModItems.missile_doomsday_rusted), generateStandard(ResourceManager.missileDoomsdayRusted_tex, ResourceManager.missileNuclear)); + + renderers.put(new ComparableStack(ModItems.missile_carrier), x -> { + GL11.glScalef(2F, 2F, 2F); + x.bindTexture(ResourceManager.missileCarrier_tex); + ResourceManager.missileCarrier.renderAll(); + GL11.glTranslated(0.0D, 0.5D, 0.0D); + GL11.glTranslated(1.25D, 0.0D, 0.0D); + x.bindTexture(ResourceManager.missileBooster_tex); + ResourceManager.missileBooster.renderAll(); + GL11.glTranslated(-2.5D, 0.0D, 0.0D); + ResourceManager.missileBooster.renderAll(); + GL11.glTranslated(1.25D, 0.0D, 0.0D); + GL11.glTranslated(0.0D, 0.0D, 1.25D); + ResourceManager.missileBooster.renderAll(); + GL11.glTranslated(0.0D, 0.0D, -2.5D); + ResourceManager.missileBooster.renderAll(); + GL11.glTranslated(0.0D, 0.0D, 1.25D); + }); + + renderers.put(new ComparableStack(ModItems.missile_shuttle), generateStandard(ResourceManager.missileShuttle_tex, ResourceManager.missileShuttle)); + } +} diff --git a/src/main/java/com/hbm/render/item/ItemRenderMissilePart.java b/src/main/java/com/hbm/render/item/ItemRenderMissilePart.java index 3c3988c19..9f40cd590 100644 --- a/src/main/java/com/hbm/render/item/ItemRenderMissilePart.java +++ b/src/main/java/com/hbm/render/item/ItemRenderMissilePart.java @@ -2,7 +2,7 @@ package com.hbm.render.item; import org.lwjgl.opengl.GL11; -import com.hbm.items.weapon.ItemMissile.PartType; +import com.hbm.items.weapon.ItemCustomMissilePart.PartType; import com.hbm.render.util.MissilePart; import net.minecraft.client.Minecraft; diff --git a/src/main/java/com/hbm/render/item/ItemRenderTransformer.java b/src/main/java/com/hbm/render/item/ItemRenderTransformer.java index d8370c5c3..c461f2803 100644 --- a/src/main/java/com/hbm/render/item/ItemRenderTransformer.java +++ b/src/main/java/com/hbm/render/item/ItemRenderTransformer.java @@ -3,9 +3,11 @@ package com.hbm.render.item; import org.lwjgl.opengl.GL11; import com.hbm.render.util.RenderItemStack; +import com.hbm.render.util.RenderMiscEffects; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.texture.TextureUtil; import net.minecraft.entity.EntityLivingBase; @@ -99,9 +101,96 @@ public class ItemRenderTransformer implements IItemRenderer { TextureUtil.func_152777_a(false, false, 1.0F); Tessellator tessellator = Tessellator.instance; ItemRenderer.renderItemIn2D(tessellator, iicon.getMaxU(), iicon.getMinV(), iicon.getMinU(), iicon.getMaxV(), iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + if(item.hasEffect()) renderGlint3D(tessellator, 0.0625F); } else { RenderItemStack.renderItemStackNoEffect(0, 0, 0, item); + if(item.hasEffect()) renderGlintFlat(); } } + + public void renderGlintFlat() { + Minecraft mc = Minecraft.getMinecraft(); + mc.renderEngine.bindTexture(RenderMiscEffects.glint); + + GL11.glDepthFunc(GL11.GL_EQUAL); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glDepthMask(false); + GL11.glEnable(GL11.GL_ALPHA_TEST); + GL11.glEnable(GL11.GL_BLEND); + + for(int j1 = 0; j1 < 2; ++j1) { + OpenGlHelper.glBlendFunc(772, 1, 0, 0); + float scaleU = 0.00390625F; + float scaleV = 0.00390625F; + float anim = (float) (Minecraft.getSystemTime() % (long) (3000 + j1 * 1873)) / (3000.0F + (float) (j1 * 1873)) * 256.0F; + float offsetV = 0.0F; + Tessellator tessellator = Tessellator.instance; + float sizeMultU = 4.0F; + + if(j1 == 1) { + sizeMultU = -1.0F; + } + + float in = 0.76F; + GL11.glColor4f(0.5F * in, 0.25F * in, 0.8F * in, 1.0F); + + int x = 0; + int sizeX = 16; + int y = 0; + int sizeY = 16; + int zLevel = 0; + + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV(x + 0, y + sizeY, zLevel, (anim + sizeY * sizeMultU) * scaleU, (offsetV + sizeY) * scaleV); + tessellator.addVertexWithUV(x + sizeX, y + sizeY, zLevel, (anim + sizeX + sizeY * sizeMultU) * scaleU, (offsetV + sizeY) * scaleV); + tessellator.addVertexWithUV(x + sizeX, y + 0, zLevel, (anim + sizeX) * scaleU, (offsetV + 0.0F) * scaleV); + tessellator.addVertexWithUV(x + 0, y + 0, zLevel, (anim + 0.0F) * scaleU, (offsetV + 0.0F) * scaleV); + tessellator.draw(); + } + + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + GL11.glDepthMask(true); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDisable(GL11.GL_ALPHA_TEST); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDepthFunc(GL11.GL_LEQUAL); + } + + public void renderGlint3D(Tessellator tessellator, float depth) { + + Minecraft mc = Minecraft.getMinecraft(); + mc.renderEngine.bindTexture(RenderMiscEffects.glint); + + GL11.glDepthFunc(GL11.GL_EQUAL); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_COLOR, GL11.GL_ONE); + + float in = 0.76F; + GL11.glColor4f(0.5F * in, 0.25F * in, 0.8F * in, 1.0F); + + GL11.glMatrixMode(GL11.GL_TEXTURE); + + GL11.glPushMatrix(); + float scale = 0.125F; + GL11.glScalef(scale, scale, scale); + float offset = (float) (Minecraft.getSystemTime() % 3000L) / 3000.0F * 8.0F; + GL11.glTranslatef(offset, 0.0F, 0.0F); + GL11.glRotatef(-50.0F, 0.0F, 0.0F, 1.0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 255, 255, depth); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glScalef(scale, scale, scale); + offset = (float) (Minecraft.getSystemTime() % 4873L) / 4873.0F * 8.0F; + GL11.glTranslatef(-offset, 0.0F, 0.0F); + GL11.glRotatef(10.0F, 0.0F, 0.0F, 1.0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 255, 255, depth); + GL11.glPopMatrix(); + + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glDisable(GL11.GL_BLEND); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDepthFunc(GL11.GL_LEQUAL); + } } diff --git a/src/main/java/com/hbm/render/item/ItemRendererMeteorSword.java b/src/main/java/com/hbm/render/item/ItemRendererMeteorSword.java index fa0dc5387..27834f8e0 100644 --- a/src/main/java/com/hbm/render/item/ItemRendererMeteorSword.java +++ b/src/main/java/com/hbm/render/item/ItemRendererMeteorSword.java @@ -6,10 +6,14 @@ import com.hbm.render.util.RenderItemStack; import com.hbm.render.util.RenderMiscEffects; import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.TextureUtil; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; import net.minecraftforge.client.IItemRenderer; public class ItemRendererMeteorSword implements IItemRenderer { @@ -17,16 +21,16 @@ public class ItemRendererMeteorSword implements IItemRenderer { float r; float g; float b; - + public ItemRendererMeteorSword(float r, float g, float b) { this.r = r; this.g = g; this.b = b; } - + @Override public boolean handleRenderType(ItemStack stack, ItemRenderType type) { - return type == ItemRenderType.INVENTORY; + return type != ItemRenderType.ENTITY; } @Override @@ -39,56 +43,138 @@ public class ItemRendererMeteorSword implements IItemRenderer { GL11.glPushMatrix(); RenderHelper.enableGUIStandardItemLighting(); - Minecraft mc = Minecraft.getMinecraft(); - RenderItemStack.renderItem.renderItemIntoGUI(mc.fontRenderer, mc.renderEngine, item, 0, 0); + switch(type) { - mc.renderEngine.bindTexture(RenderMiscEffects.glint); + case EQUIPPED_FIRST_PERSON: + GL11.glRotated(180, 0, 1, 0); + GL11.glRotated(-90, 0, 0, 1); + GL11.glTranslated(0.5, 0.5, 0); + GL11.glTranslated(-0.5, -0.5, 0); + GL11.glRotated(180, 0, 1, 0); + GL11.glRotated(-90, 0, 0, 1); + GL11.glTranslated(0.5, 0.5, 0); + GL11.glScaled(1.36 * 2, 1.36 * 2, 0.68 * 2); + GL11.glTranslated(-0.5, -0.5, 0.25); + break; + case EQUIPPED: + GL11.glRotated(180, 0, 1, 0); + GL11.glRotated(-90, 0, 0, 1); + GL11.glTranslated(0.2, 0.55, 0); + GL11.glRotated(45, 0, 0, 1); + GL11.glRotated(180, 0, 1, 0); + GL11.glRotated(-45, 0, 0, 1); + GL11.glScaled(1.7, 1.7, 0.85); + break; + case INVENTORY: + break; + + default: break; + } - GL11.glDepthFunc(GL11.GL_EQUAL); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDepthMask(false); - GL11.glEnable(GL11.GL_ALPHA_TEST); - GL11.glEnable(GL11.GL_BLEND); - - for (int j1 = 0; j1 < 2; ++j1) { - OpenGlHelper.glBlendFunc(772, 1, 0, 0); - float f = 0.00390625F; - float f1 = 0.00390625F; - float f2 = (float)(Minecraft.getSystemTime() % (long)(3000 + j1 * 1873)) / (3000.0F + (float)(j1 * 1873)) * 256.0F; - float f3 = 0.0F; - Tessellator tessellator = Tessellator.instance; - float f4 = 4.0F; + if(data.length > 1 && data[1] instanceof EntityLivingBase) { + EntityLivingBase entity = (EntityLivingBase) data[1]; + IIcon iicon = entity.getItemIcon(item, 0); - if (j1 == 1) - { - f4 = -1.0F; - } - - float in = 0.36F; - - GL11.glColor4f(r * in, g * in, b * in, 1.0F); - - int p_77018_2_ = 0; - int p_77018_4_ = 16; - int p_77018_3_ = 0; - int p_77018_5_ = 16; - int zLevel = 0; + if(iicon == null) { + return; + } - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV((double)(p_77018_2_ + 0), (double)(p_77018_3_ + p_77018_5_), (double)zLevel, (double)((f2 + (float)p_77018_5_ * f4) * f), (double)((f3 + (float)p_77018_5_) * f1)); - tessellator.addVertexWithUV((double)(p_77018_2_ + p_77018_4_), (double)(p_77018_3_ + p_77018_5_), (double)zLevel, (double)((f2 + (float)p_77018_4_ + (float)p_77018_5_ * f4) * f), (double)((f3 + (float)p_77018_5_) * f1)); - tessellator.addVertexWithUV((double)(p_77018_2_ + p_77018_4_), (double)(p_77018_3_ + 0), (double)zLevel, (double)((f2 + (float)p_77018_4_) * f), (double)((f3 + 0.0F) * f1)); - tessellator.addVertexWithUV((double)(p_77018_2_ + 0), (double)(p_77018_3_ + 0), (double)zLevel, (double)((f2 + 0.0F) * f), (double)((f3 + 0.0F) * f1)); - tessellator.draw(); - } + Minecraft.getMinecraft().getTextureManager().bindTexture(Minecraft.getMinecraft().getTextureManager().getResourceLocation(item.getItemSpriteNumber())); + TextureUtil.func_152777_a(false, false, 1.0F); + Tessellator tessellator = Tessellator.instance; + ItemRenderer.renderItemIn2D(tessellator, iicon.getMaxU(), iicon.getMinV(), iicon.getMinU(), iicon.getMaxV(), iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); + renderGlint3D(tessellator, 0.0625F); + } else { + RenderItemStack.renderItemStackNoEffect(0, 0, 0, item); + renderGlintFlat(); + } - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glDepthMask(true); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDisable(GL11.GL_ALPHA_TEST); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glPopMatrix(); } + + public void renderGlintFlat() { + + Minecraft mc = Minecraft.getMinecraft(); + mc.renderEngine.bindTexture(RenderMiscEffects.glint); + + GL11.glDepthFunc(GL11.GL_EQUAL); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glDepthMask(false); + GL11.glEnable(GL11.GL_ALPHA_TEST); + GL11.glEnable(GL11.GL_BLEND); + + for(int j1 = 0; j1 < 2; ++j1) { + OpenGlHelper.glBlendFunc(772, 1, 0, 0); + float scaleU = 0.00390625F; + float scaleV = 0.00390625F; + float anim = (float) (Minecraft.getSystemTime() % (long) (3000 + j1 * 1873)) / (3000.0F + (float) (j1 * 1873)) * 256.0F; + float offsetV = 0.0F; + Tessellator tessellator = Tessellator.instance; + float sizeMultU = 4.0F; + + if(j1 == 1) { + sizeMultU = -1.0F; + } + + float in = 0.36F; + GL11.glColor4f(r * in, g * in, b * in, 1.0F); + + int x = 0; + int sizeX = 16; + int y = 0; + int sizeY = 16; + int zLevel = 0; + + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV(x + 0, y + sizeY, zLevel, (anim + sizeY * sizeMultU) * scaleU, (offsetV + sizeY) * scaleV); + tessellator.addVertexWithUV(x + sizeX, y + sizeY, zLevel, (anim + sizeX + sizeY * sizeMultU) * scaleU, (offsetV + sizeY) * scaleV); + tessellator.addVertexWithUV(x + sizeX, y + 0, zLevel, (anim + sizeX) * scaleU, (offsetV + 0.0F) * scaleV); + tessellator.addVertexWithUV(x + 0, y + 0, zLevel, (anim + 0.0F) * scaleU, (offsetV + 0.0F) * scaleV); + tessellator.draw(); + } + + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + GL11.glDepthMask(true); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDisable(GL11.GL_ALPHA_TEST); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDepthFunc(GL11.GL_LEQUAL); + } + + public void renderGlint3D(Tessellator tessellator, float depth) { + + Minecraft mc = Minecraft.getMinecraft(); + mc.renderEngine.bindTexture(RenderMiscEffects.glint); + + GL11.glDepthFunc(GL11.GL_EQUAL); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_COLOR, GL11.GL_ONE); + + float in = 0.36F; + GL11.glColor4f(r * in, g * in, b * in, 1.0F); + + GL11.glMatrixMode(GL11.GL_TEXTURE); + + GL11.glPushMatrix(); + float scale = 0.125F; + GL11.glScalef(scale, scale, scale); + float offset = (float) (Minecraft.getSystemTime() % 3000L) / 3000.0F * 8.0F; + GL11.glTranslatef(offset, 0.0F, 0.0F); + GL11.glRotatef(-50.0F, 0.0F, 0.0F, 1.0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 255, 255, depth); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glScalef(scale, scale, scale); + offset = (float) (Minecraft.getSystemTime() % 4873L) / 4873.0F * 8.0F; + GL11.glTranslatef(-offset, 0.0F, 0.0F); + GL11.glRotatef(10.0F, 0.0F, 0.0F, 1.0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 255, 255, depth); + GL11.glPopMatrix(); + + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glDisable(GL11.GL_BLEND); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDepthFunc(GL11.GL_LEQUAL); + } } diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderBenelli.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderBenelli.java index 712cc58ab..c7c3a19d0 100644 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderBenelli.java +++ b/src/main/java/com/hbm/render/item/weapon/ItemRenderBenelli.java @@ -2,7 +2,6 @@ package com.hbm.render.item.weapon; import org.lwjgl.opengl.GL11; -import com.hbm.items.weapon.ItemGunBase; import com.hbm.main.ResourceManager; import com.hbm.render.anim.HbmAnimations; @@ -33,14 +32,8 @@ public class ItemRenderBenelli implements IItemRenderer return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); } - static final String body = "Body.001_Cube.001"; - static final String frontGrip = "Pump_Cylinder.003"; - static final String slide = "Cylinder"; - static final String barrelAndTube = "Body_Cube.002"; - @Override public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - int magSize = ItemGunBase.getMag(item); EntityPlayer player = Minecraft.getMinecraft().thePlayer; GL11.glPushMatrix(); @@ -50,9 +43,6 @@ public class ItemRenderBenelli implements IItemRenderer final float scale1 = 0.2F; final double scale2 = 0.065D; final double scale3 = 0.52D; - - double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); - double[] feedNew = HbmAnimations.getRelevantTransformation("PUMP"); switch (type) { case EQUIPPED_FIRST_PERSON:// In hand from POV @@ -63,31 +53,43 @@ public class ItemRenderBenelli implements IItemRenderer GL11.glTranslatef(-1.007F, 0F, -2.5F); } else { - GL11.glRotatef(30.0F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(0.0F, -1F, -2.5F); + GL11.glRotatef(-10F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(20.0F, 1.0F, 0.0F, 0.0F); + GL11.glTranslatef(0.0F, -0.5F, -2.5F); } + GL11.glScalef(scale1, scale1, scale1); - // Move on recoil - GL11.glTranslated(0, recoil[1], recoil[2]); - GL11.glRotated(recoil[0], 1, 0, 0); - // Move up for reload + + HbmAnimations.applyRelevantTransformation("Body"); + ResourceManager.benelli.renderPart("Body"); + GL11.glPushMatrix(); - ResourceManager.benelli.renderAll(); - // Pump new round if empty - if (magSize == 0) - GL11.glTranslated(feedNew[0], feedNew[1], feedNew[2]); - ResourceManager.benelli.renderPart(slide); + + HbmAnimations.applyRelevantTransformation("Bolt"); + ResourceManager.benelli.renderPart("Bolt"); + GL11.glPopMatrix(); - // Eject spent shell + GL11.glPushMatrix(); + + HbmAnimations.applyRelevantTransformation("Drum"); + ResourceManager.benelli.renderPart("Drum"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + + HbmAnimations.applyRelevantTransformation("Shell"); + ResourceManager.benelli.renderPart("Shell"); + + GL11.glPopMatrix(); + break; case EQUIPPED:// In hand from other's POV GL11.glRotatef(15F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(-170, 0.0F, 1.0F, 0.0F); GL11.glRotatef(-15F, 1.0F, 0.0F, 0.0F); GL11.glTranslatef(-0.4F, 0.05F, -0.5F); - GL11.glRotated(recoil[0], 1, 0, 0); GL11.glScaled(scale2 - scale2 * 2, scale2, scale2); GL11.glPushMatrix(); diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderBullshit.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderBullshit.java deleted file mode 100644 index d66b937f2..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderBullshit.java +++ /dev/null @@ -1,101 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelBaleflare; -import com.hbm.render.model.ModelMP40; -import com.hbm.render.model.ModelPip; -import com.hbm.render.model.ModelSpark; -import net.minecraft.client.Minecraft; -import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderBullshit implements IItemRenderer { - - protected ModelSpark sparkPlug; - protected ModelPip pip; - protected ModelMP40 mp40; - protected ModelBaleflare bomb; - - public ItemRenderBullshit() { - sparkPlug = new ModelSpark(); - pip = new ModelPip(); - mp40 = new ModelMP40(); - bomb = new ModelBaleflare(); - } - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return false; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - switch(type) { - case EQUIPPED_FIRST_PERSON: - GL11.glPushMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - - GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(-0.5F, 0.0F, -0.2F); - GL11.glScalef(0.5F, 0.5F, 0.5F); - GL11.glTranslatef(-0.2F, -0.1F, -0.1F); - - renderWhatever(type, item, data); - - GL11.glPopMatrix(); - break; - case EQUIPPED: - case ENTITY: - GL11.glPushMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - - GL11.glRotatef(-200.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(75.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(0.0F, -0.2F, -0.5F); - GL11.glRotatef(-5.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(0.5F, -0.2F, 0.0F); - //GL11.glScalef(0.75F, 0.75F, 0.75F); - GL11.glTranslatef(-1.4F, 0.0F, 0.0F); - - renderWhatever(type, item, data); - - GL11.glPopMatrix(); - default: break; - } - } - - private void renderWhatever(ItemRenderType type, ItemStack item, Object... data) { - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelMP40.png")); - GL11.glScalef(0.75F, 0.75F, 0.75F); - mp40.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelSpark.png")); - GL11.glScalef(4/3F, 4/3F, 4/3F); - GL11.glTranslatef(-0.5F, 0.0F, 0.0F); - sparkPlug.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPip.png")); - GL11.glTranslatef(0.0F, 0.2F, 0.0F); - GL11.glTranslatef(0.5F, 0.0F, 0.0F); - GL11.glScalef(0.75F, 0.75F, 0.75F); - pip.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/BaleFlare.png")); - GL11.glScalef(4/3F, 4/3F, 4/3F); - GL11.glTranslatef(-1.5F, 0.0F, 0.0F); - bomb.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderM2.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderM2.java index 519caa36d..b4b01c472 100644 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderM2.java +++ b/src/main/java/com/hbm/render/item/weapon/ItemRenderM2.java @@ -30,11 +30,11 @@ public class ItemRenderM2 extends ItemRenderBase { GL11.glRotatef(30, 1, 0, 0); break; case EQUIPPED_FIRST_PERSON: - GL11.glRotatef(-90, 0, 1, 0); if (Minecraft.getMinecraft().thePlayer.isSneaking()) { + GL11.glRotatef(-90, 0, 1, 0); GL11.glTranslatef(-0.96f, -0.9f, -2); - GL11.glRotatef(-5.6f, 0, 1, 1); + GL11.glRotatef(-5.75f, 0, 1, 1);// Just of by 0.15 /* vvv remove to restore original look vvv */ GL11.glRotatef(1.9F, 0, 0, 1); @@ -44,6 +44,7 @@ public class ItemRenderM2 extends ItemRenderBase { GL11.glTranslatef(0, 1.15F, -1.75F); } else { + GL11.glRotatef(-95, 0, 1, 0); GL11.glTranslatef(0, -1, -3); } GL11.glRotatef(25, 1, 0, 0); diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderOverkill.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderOverkill.java index 153b07ee5..e44b0444f 100644 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderOverkill.java +++ b/src/main/java/com/hbm/render/item/weapon/ItemRenderOverkill.java @@ -104,8 +104,6 @@ public class ItemRenderOverkill implements IItemRenderer { Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPipRed.png")); if(item.getItem() == ModItems.gun_minigun) Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelLacunae.png")); - if(item.getItem() == ModItems.gun_avenger) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelLacunaeAvenger.png")); if(item.getItem() == ModItems.gun_lacunae) Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelLacunaeReal.png")); if(item.getItem() == ModItems.gun_folly) @@ -134,8 +132,7 @@ public class ItemRenderOverkill implements IItemRenderer { } if(item.getItem() == ModItems.gun_lacunae || - item.getItem() == ModItems.gun_minigun || - item.getItem() == ModItems.gun_avenger) { + item.getItem() == ModItems.gun_minigun) { GL11.glRotatef(-15.0F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(180, 0, 1, 0); GL11.glTranslatef(0.5F, 0.3F, -0.2F); @@ -169,8 +166,7 @@ public class ItemRenderOverkill implements IItemRenderer { pip.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); if(item.getItem() == ModItems.gun_lacunae || - item.getItem() == ModItems.gun_minigun || - item.getItem() == ModItems.gun_avenger) + item.getItem() == ModItems.gun_minigun) lacunae.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, ItemGunBase.readNBT(item, "rot")); if(item.getItem() == ModItems.gun_folly) { @@ -210,8 +206,6 @@ public class ItemRenderOverkill implements IItemRenderer { Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPipRed.png")); if(item.getItem() == ModItems.gun_minigun) Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelLacunae.png")); - if(item.getItem() == ModItems.gun_avenger) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelLacunaeAvenger.png")); if(item.getItem() == ModItems.gun_lacunae) Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelLacunaeReal.png")); if(item.getItem() == ModItems.gun_folly) @@ -243,8 +237,7 @@ public class ItemRenderOverkill implements IItemRenderer { GL11.glTranslatef(0.7F, 0.3F, 0.0F); } if(item.getItem() == ModItems.gun_lacunae || - item.getItem() == ModItems.gun_minigun || - item.getItem() == ModItems.gun_avenger) { + item.getItem() == ModItems.gun_minigun) { GL11.glRotatef(5.0F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(185, 0, 1, 0); GL11.glTranslatef(0.5F, 0.6F, 0.2F); @@ -275,8 +268,7 @@ public class ItemRenderOverkill implements IItemRenderer { pip.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); if(item.getItem() == ModItems.gun_lacunae || - item.getItem() == ModItems.gun_minigun || - item.getItem() == ModItems.gun_avenger) + item.getItem() == ModItems.gun_minigun) lacunae.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, f); if(item.getItem() == ModItems.gun_folly) { @@ -315,8 +307,6 @@ public class ItemRenderOverkill implements IItemRenderer { Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelPipRed.png")); if(item.getItem() == ModItems.gun_minigun) Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelLacunae.png")); - if(item.getItem() == ModItems.gun_avenger) - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelLacunaeAvenger.png")); if(item.getItem() == ModItems.gun_lacunae) Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelLacunaeReal.png")); if(item.getItem() == ModItems.gun_folly) @@ -336,8 +326,7 @@ public class ItemRenderOverkill implements IItemRenderer { GL11.glScalef(0.75F, 0.75F, 0.75F); } if(item.getItem() == ModItems.gun_lacunae || - item.getItem() == ModItems.gun_minigun || - item.getItem() == ModItems.gun_avenger) { + item.getItem() == ModItems.gun_minigun) { GL11.glTranslatef(0, -1, 0); GL11.glRotatef(180.0F, 0.0F, 1.0F, 0.0F); } @@ -364,8 +353,7 @@ public class ItemRenderOverkill implements IItemRenderer { pip.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); if(item.getItem() == ModItems.gun_lacunae || - item.getItem() == ModItems.gun_minigun || - item.getItem() == ModItems.gun_avenger) + item.getItem() == ModItems.gun_minigun) lacunae.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, f); if(item.getItem() == ModItems.gun_folly) { diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderTestBombAdvanced.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderTestBombAdvanced.java deleted file mode 100644 index 90a3275c4..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderTestBombAdvanced.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.hbm.render.item.weapon; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; -import com.hbm.tileentity.bomb.TileEntityTestBombAdvanced; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderTestBombAdvanced implements IItemRenderer { - - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) { - switch(type) { - case EQUIPPED: - case EQUIPPED_FIRST_PERSON: - case ENTITY: - case INVENTORY: - return true; - default: return false; - } - } - - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, - ItemRendererHelper helper) { - return true; - } - - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - //TileEntityRendererDispatcher.instance.renderTileEntityAt(new TileEntityTestBombAdvanced(), 0.0D, 0.0D, 0.0D, 0.0F); - - switch(type) { - case INVENTORY: - GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/NukeTestBomb.png")); - GL11.glRotatef(180.0F, 0.0F, 1.0F, 0.0F); - GL11.glScalef(0.65F, 0.65F, 0.65F); - GL11.glTranslatef(0.0F, -0.75F, 0.0F); - //bombModel.render((Entity)data[0], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - TileEntityRendererDispatcher.instance.renderTileEntityAt(new TileEntityTestBombAdvanced(), 0.0D, 0.0D, 0.0D, 0.0F); - GL11.glPopMatrix(); - break; - case EQUIPPED: - GL11.glPushMatrix(); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/NukeTestBomb.png")); - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-1.5F, 0.0F, 0.0F); - //bombModel.render((Entity)data[0], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); - TileEntityRendererDispatcher.instance.renderTileEntityAt(new TileEntityTestBombAdvanced(), 0.0D, 0.0D, 0.0D, 0.0F); - GL11.glPopMatrix(); - break; - case EQUIPPED_FIRST_PERSON: - case ENTITY: - TileEntityRendererDispatcher.instance.renderTileEntityAt(new TileEntityTestBombAdvanced(), 0.0D, 0.0D, 0.0D, 0.0F); - default: break; - } - } -} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponCongo.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponCongo.java index bcf9f2c02..07cac42d7 100644 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponCongo.java +++ b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponCongo.java @@ -1,8 +1,14 @@ package com.hbm.render.item.weapon; +import java.awt.Color; + import org.lwjgl.opengl.GL11; +import com.hbm.handler.BulletConfigSyncingUtil; +import com.hbm.handler.BulletConfiguration; +import com.hbm.items.weapon.ItemGunBase; import com.hbm.main.ResourceManager; +import com.hbm.particle.SpentCasing; import com.hbm.render.anim.HbmAnimations; import net.minecraft.client.Minecraft; @@ -34,8 +40,7 @@ public class ItemRenderWeaponCongo implements IItemRenderer { GL11.glPushMatrix(); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glEnable(GL11.GL_LIGHTING); + GL11.glShadeModel(GL11.GL_SMOOTH); Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.congolake_tex); @@ -50,17 +55,70 @@ public class ItemRenderWeaponCongo implements IItemRenderer { GL11.glRotated(90, 0, 1, 0); GL11.glScaled(s0, s0, s0); - double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); - GL11.glTranslated(0, 0, -recoil[0]); - - GL11.glShadeModel(GL11.GL_SMOOTH); + HbmAnimations.applyRelevantTransformation("Gun"); ResourceManager.congolake.renderPart("Gun"); - double[] pump = HbmAnimations.getRelevantTransformation("PUMP"); - GL11.glTranslated(0, 0, -pump[0]); - - ResourceManager.congolake.renderPart("Pump_Pummp"); - GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPushMatrix(); + { + HbmAnimations.applyRelevantTransformation("Pump"); + ResourceManager.congolake.renderPart("Pump"); + } + GL11.glPopMatrix(); + + + GL11.glPushMatrix(); + { + HbmAnimations.applyRelevantTransformation("Sight"); + ResourceManager.congolake.renderPart("Sight"); + } + GL11.glPopMatrix(); + + + GL11.glPushMatrix(); + { + HbmAnimations.applyRelevantTransformation("Loop"); + ResourceManager.congolake.renderPart("Loop"); + } + GL11.glPopMatrix(); + + + GL11.glPushMatrix(); + { + HbmAnimations.applyRelevantTransformation("GuardOuter"); + ResourceManager.congolake.renderPart("GuardOuter"); + + GL11.glPushMatrix(); + { + HbmAnimations.applyRelevantTransformation("GuardInner"); + ResourceManager.congolake.renderPart("GuardInner"); + } + GL11.glPopMatrix(); + } + GL11.glPopMatrix(); + + + GL11.glPushMatrix(); + { + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.casings_tex); + + HbmAnimations.applyRelevantTransformation("Shell"); + + ItemGunBase gun = (ItemGunBase)item.getItem(); + BulletConfiguration bullet = BulletConfigSyncingUtil.pullConfig(gun.mainConfig.config.get(ItemGunBase.getMagType(item))); + int[] colors = bullet.spentCasing != null ? bullet.spentCasing.getColors() : new int[] { SpentCasing.COLOR_CASE_40MM }; + + Color shellColor = new Color(colors[0]); + GL11.glColor3f(shellColor.getRed() / 255F, shellColor.getGreen() / 255F, shellColor.getBlue() / 255F); + ResourceManager.congolake.renderPart("Shell"); + + Color shellForeColor = new Color(colors.length > 1 ? colors[1] : colors[0]); + GL11.glColor3f(shellForeColor.getRed() / 255F, shellForeColor.getGreen() / 255F, shellForeColor.getBlue() / 255F); + ResourceManager.congolake.renderPart("ShellFore"); + + GL11.glColor3f(1F, 1F, 1F); + } + GL11.glPopMatrix(); break; @@ -96,11 +154,11 @@ public class ItemRenderWeaponCongo implements IItemRenderer { } if(type != ItemRenderType.EQUIPPED_FIRST_PERSON) { - GL11.glShadeModel(GL11.GL_SMOOTH); ResourceManager.congolake.renderAll(); - GL11.glShadeModel(GL11.GL_FLAT); } - + + GL11.glShadeModel(GL11.GL_FLAT); + GL11.glPopMatrix(); } } diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFColt.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFColt.java index a51de09ef..9e02394a5 100644 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFColt.java +++ b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFColt.java @@ -3,6 +3,7 @@ package com.hbm.render.item.weapon; import org.lwjgl.opengl.GL11; import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; import net.minecraft.client.Minecraft; import net.minecraft.item.ItemStack; @@ -55,8 +56,26 @@ public class ItemRenderWeaponFFColt implements IItemRenderer { GL11.glScaled(s0, s0, s0); GL11.glRotated(100, 0, -1, 0); GL11.glRotated(25, 1, 0, 0); + + HbmAnimations.applyRelevantTransformation("Body"); + Minecraft.getMinecraft().renderEngine.bindTexture(main); + ResourceManager.ff_python.renderPart("Body"); + + GL11.glPushMatrix(); + HbmAnimations.applyRelevantTransformation("Cylinder"); + ResourceManager.ff_python.renderPart("Cylinder"); + GL11.glPopMatrix(); + + Minecraft.getMinecraft().renderEngine.bindTexture(grip); + ResourceManager.ff_python.renderPart("Grip"); + + HbmAnimations.applyRelevantTransformation("Hammer"); + Minecraft.getMinecraft().renderEngine.bindTexture(hammer); + ResourceManager.ff_python.renderPart("Hammer"); - break; + GL11.glPopMatrix(); + + return; case EQUIPPED: diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFCursed.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFCursed.java index a7d7e585b..a53e3147b 100644 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFCursed.java +++ b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFCursed.java @@ -3,6 +3,7 @@ package com.hbm.render.item.weapon; import org.lwjgl.opengl.GL11; import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; import net.minecraft.client.Minecraft; import net.minecraft.item.ItemStack; @@ -39,30 +40,52 @@ public class ItemRenderWeaponFFCursed implements IItemRenderer { case EQUIPPED_FIRST_PERSON: - double s0 = 0.25D; - GL11.glTranslated(0.75, 0.25, 0); + double s0 = 1.5D; + GL11.glTranslated(0.75, 0.5, 0); GL11.glScaled(s0, s0, s0); - GL11.glRotated(170, 0, 1, 0); - GL11.glRotated(25, 0, 0, -1); + GL11.glRotated(100, 0, -1, 0); + GL11.glRotated(20, 1, 0, 0); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + HbmAnimations.applyRelevantTransformation("Body"); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ff_cursed); + ResourceManager.cursed_revolver.renderPart("Body"); + ResourceManager.cursed_revolver.renderPart("Barrel"); + ResourceManager.cursed_revolver.renderPart("Grip"); - break; + GL11.glPushMatrix(); + HbmAnimations.applyRelevantTransformation("Slide"); + ResourceManager.cursed_revolver.renderPart("Slide"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + HbmAnimations.applyRelevantTransformation("Magazine"); + ResourceManager.cursed_revolver.renderPart("Magazine"); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPopMatrix(); + + return; case EQUIPPED: - double scale = 0.25D; - GL11.glRotated(105, 0, 1, 0); + double scale = 1.5D; + GL11.glRotated(195, 0, 1, 0); + GL11.glRotated(-10, 0, 0, 1); GL11.glRotated(-10, 1, 0, 0); - GL11.glRotated(10, 0, 0, 1); - GL11.glTranslated(0.2, 0.05, 0.45); + GL11.glTranslated(-0.5, 0.1, -0.25); GL11.glScaled(scale, scale, scale); break; case ENTITY: - double s1 = 0.125D; + double s1 = 1D; GL11.glScaled(s1, s1, s1); - GL11.glTranslated(1, 0, 0); + GL11.glRotated(90, 0, 1, 0); break; @@ -70,10 +93,10 @@ public class ItemRenderWeaponFFCursed implements IItemRenderer { GL11.glEnable(GL11.GL_LIGHTING); - double s = 2.75D; + double s = 17D; GL11.glTranslated(10, 11.5, 0); GL11.glRotated(-135, 0, 0, 1); - GL11.glRotated(180, 0, 1, 0); + GL11.glRotated(90, 0, 1, 0); GL11.glScaled(s, s, -s); break; diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponKS23.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponKS23.java new file mode 100644 index 000000000..4160ee3f9 --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponKS23.java @@ -0,0 +1,149 @@ +package com.hbm.render.item.weapon; + +import java.awt.Color; + +import org.lwjgl.opengl.GL11; + +import com.hbm.handler.BulletConfigSyncingUtil; +import com.hbm.handler.BulletConfiguration; +import com.hbm.items.weapon.ItemGunBase; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraftforge.client.IItemRenderer; + +public class ItemRenderWeaponKS23 implements IItemRenderer { + + public ItemRenderWeaponKS23() { } + + @Override + public boolean handleRenderType(ItemStack item, ItemRenderType type) { + switch(type) { + case EQUIPPED: + case EQUIPPED_FIRST_PERSON: + case ENTITY: + case INVENTORY: + return true; + default: return false; + } + } + + @Override + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { + + return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); + } + + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object... data) { + + GL11.glPushMatrix(); + GL11.glDisable(GL11.GL_CULL_FACE); + + EntityPlayer player = Minecraft.getMinecraft().thePlayer; + + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ks23_tex); + + switch(type) { + + case EQUIPPED_FIRST_PERSON: + + GL11.glTranslatef(1.0F, 0.5F, -0.25F); + GL11.glRotatef(25F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(-100, 0.0F, 1.0F, 0.0F); + GL11.glScaled(0.75, 0.75, 0.75); + + if(player.isSneaking()) { + GL11.glRotatef(4.5F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(-2F, 0.0F, 0.0F, 1.0F); + GL11.glTranslatef(-0.9F, 0.2F, 0.325F); + } + + HbmAnimations.applyRelevantTransformation("Body"); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + ResourceManager.ks23.renderPart("Body"); + ResourceManager.ks23.renderPart("Trigger"); + + GL11.glPushMatrix(); + HbmAnimations.applyRelevantTransformation("Bolt"); + ResourceManager.ks23.renderPart("Bolt"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + HbmAnimations.applyRelevantTransformation("Guard"); + ResourceManager.ks23.renderPart("Guard"); + GL11.glPopMatrix(); + + + GL11.glPushMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.casings_tex); + + HbmAnimations.applyRelevantTransformation("Shell"); + + ItemGunBase gun = (ItemGunBase)item.getItem(); + BulletConfiguration bullet = BulletConfigSyncingUtil.pullConfig(gun.mainConfig.config.get(ItemGunBase.getMagType(item))); + int[] colors = bullet.spentCasing.getColors(); + + Color shellColor = new Color(colors[1]); + GL11.glColor3f(shellColor.getRed() / 255F, shellColor.getGreen() / 255F, shellColor.getBlue() / 255F); + ResourceManager.ks23.renderPart("Shell"); + + Color shellForeColor = new Color(colors[0]); + GL11.glColor3f(shellForeColor.getRed() / 255F, shellForeColor.getGreen() / 255F, shellForeColor.getBlue() / 255F); + ResourceManager.ks23.renderPart("ShellFore"); + + GL11.glColor3f(1F, 1F, 1F); + GL11.glPopMatrix(); + + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glPopMatrix(); + + return; + + case EQUIPPED: + + GL11.glRotatef(20F, 1.0F, 0.0F, 1.0F); + GL11.glRotatef(-170F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-0.5F, 0.0F, -0.9F); + GL11.glScaled(0.5, 0.5, 0.5); + + break; + + case ENTITY: + + GL11.glTranslatef(0.3F, 0.2F, 0.0F); + GL11.glScaled(0.5, 0.5, 0.5); + + break; + + case INVENTORY: + + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glTranslatef(7F, 8F, 0.0F); + GL11.glScaled(4, 4, -4); + GL11.glRotatef(-90, 0, 1, 0); + GL11.glRotatef(-135F, 1.0F, 0.0F, 0.0F); + + break; + + default: break; + } + + GL11.glShadeModel(GL11.GL_SMOOTH); + ResourceManager.ks23.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glPopMatrix(); + } + +} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponLilMac.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponLilMac.java new file mode 100644 index 000000000..9417e7d8a --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponLilMac.java @@ -0,0 +1,256 @@ +package com.hbm.render.item.weapon; + +import org.lwjgl.opengl.GL11; + +import com.hbm.items.ModItems; +import com.hbm.items.weapon.ItemGunPip; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; +import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.IItemRenderer; + +public class ItemRenderWeaponLilMac implements IItemRenderer { + + public static final ResourceLocation lilmac_plume = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lilmac_plume.png"); + + @Override + public boolean handleRenderType(ItemStack item, ItemRenderType type) { + switch(type) { + case EQUIPPED: + case EQUIPPED_FIRST_PERSON: + case ENTITY: + case INVENTORY: + return true; + default: return false; + } + } + + @Override + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { + return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); + } + + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object... data) { + + //prevent rendering when using scope + if(item.getItem() == ModItems.gun_revolver_pip && type == ItemRenderType.EQUIPPED_FIRST_PERSON && MainRegistry.proxy.me().isSneaking()) return; + + GL11.glPushMatrix(); + + switch(type) { + + case EQUIPPED_FIRST_PERSON: + + double s0 = 0.1D; + GL11.glRotated(25, 0, 0, 1); + GL11.glTranslated(1.0, 0.25, -0.25); + GL11.glRotated(170, 0, 1, 0); + GL11.glScaled(s0, s0, s0); + double width = 0.5D; + + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); + double[] reloadLift = HbmAnimations.getRelevantTransformation("RELOAD_LIFT"); + double[] reloadJolt = HbmAnimations.getRelevantTransformation("RELOAD_JOLT"); + double[] equipSpin = HbmAnimations.getRelevantTransformation("ROTATE"); + GL11.glTranslated(2, 0, 0); + GL11.glRotated(equipSpin[0], 0, 0, 1); + GL11.glTranslated(-2, 0, 0); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + GL11.glPushMatrix(); + Tessellator tess = Tessellator.instance; + + GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glEnable(GL11.GL_BLEND); + + GL11.glDisable(GL11.GL_TEXTURE_2D); + GL11.glAlphaFunc(GL11.GL_GREATER, 0F); + GL11.glTranslated(-10, 2.25, 0); + GL11.glTranslated(-recoil[2] * 3.5, -recoil[2] * 1.375, 0); + + if(ItemGunPip.smokeNodes.size() > 1 && equipSpin[0] == 0) { + + tess.startDrawingQuads(); + tess.setNormal(0F, 1F, 0F); + + for(int i = 0; i < ItemGunPip.smokeNodes.size() - 1; i++) { + double[] node = ItemGunPip.smokeNodes.get(i); + double[] past = ItemGunPip.smokeNodes.get(i + 1); + + tess.setColorRGBA_F(1F, 1F, 1F, (float) node[3]); + tess.addVertex(node[0], node[1], node[2]); + tess.setColorRGBA_F(1F, 1F, 1F, 0F); + tess.addVertex(node[0], node[1], node[2] + width); + tess.setColorRGBA_F(1F, 1F, 1F, 0F); + tess.addVertex(past[0], past[1], past[2] + width); + tess.setColorRGBA_F(1F, 1F, 1F, (float) past[3]); + tess.addVertex(past[0], past[1], past[2]); + + tess.setColorRGBA_F(1F, 1F, 1F, (float) node[3]); + tess.addVertex(node[0], node[1], node[2]); + tess.setColorRGBA_F(1F, 1F, 1F, 0F); + tess.addVertex(node[0], node[1], node[2] - width); + tess.setColorRGBA_F(1F, 1F, 1F, 0F); + tess.addVertex(past[0], past[1], past[2] - width); + tess.setColorRGBA_F(1F, 1F, 1F, (float) past[3]); + tess.addVertex(past[0], past[1], past[2]); + } + GL11.glDepthMask(false); + tess.draw(); + GL11.glDepthMask(true); + } + + GL11.glEnable(GL11.GL_TEXTURE_2D); + GL11.glDisable(GL11.GL_BLEND); + GL11.glAlphaFunc(GL11.GL_GEQUAL, 0.1F); + GL11.glEnable(GL11.GL_CULL_FACE); + + GL11.glPopMatrix(); + + GL11.glTranslated(0, reloadLift[0] / -22D, 0); + + GL11.glTranslated(recoil[0], recoil[1], recoil[2]); + GL11.glRotated(recoil[2] * 10, 0, 0, 1); + GL11.glRotated(reloadLift[0], 0, 0, 1); + GL11.glTranslated(reloadJolt[0], 0, 0); + + double[] reloadTilt = HbmAnimations.getRelevantTransformation("RELAOD_TILT"); + GL11.glRotated(reloadTilt[0], 1, 0, 0); + + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.lilmac_scope_tex); + ResourceManager.lilmac.renderPart("Scope"); + + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.lilmac_tex); + ResourceManager.lilmac.renderPart("Gun"); + + double[] cylinderFlip = HbmAnimations.getRelevantTransformation("RELOAD_CYLINDER"); + GL11.glPushMatrix(); /// DRUM PUSH /// + GL11.glRotated(cylinderFlip[0], 1, 0, 0); + ResourceManager.lilmac.renderPart("Pivot"); + GL11.glTranslated(0, 1.75, 0); + GL11.glRotated(HbmAnimations.getRelevantTransformation("DRUM")[2] * -60, 1, 0, 0); + GL11.glTranslated(0, -1.75, 0); + ResourceManager.lilmac.renderPart("Cylinder"); + double[] reloadBullets = HbmAnimations.getRelevantTransformation("RELOAD_BULLETS"); + GL11.glTranslated(reloadBullets[0], reloadBullets[1], reloadBullets[2]); + if(HbmAnimations.getRelevantTransformation("RELOAD_BULLETS_CON")[0] != 1) + ResourceManager.lilmac.renderPart("Bullets"); + ResourceManager.lilmac.renderPart("Casings"); + GL11.glPopMatrix(); /// DRUM POP /// + + GL11.glPushMatrix(); /// HAMMER /// + GL11.glTranslated(4, 1.25, 0); + GL11.glRotated(-30 + 30 * HbmAnimations.getRelevantTransformation("HAMMER")[2], 0, 0, 1); + GL11.glTranslated(-4, -1.25, 0); + ResourceManager.lilmac.renderPart("Hammer"); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + + int flash = 75; + if(System.currentTimeMillis() - ItemGunPip.lastShot < flash) { + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); + GL11.glPushMatrix(); + GL11.glTranslated(0.125, 2.25, 0); + + double fire = (System.currentTimeMillis() - ItemGunPip.lastShot) / (double) flash; + + double height = 4 * fire; + double length = 15 * fire; + double lift = 3 * fire; + double offset = 1 * fire; + double lengthOffset = 0.125; + Minecraft.getMinecraft().renderEngine.bindTexture(lilmac_plume); + tess.startDrawingQuads(); + tess.setNormal(0F, 1F, 0F); + tess.setColorRGBA_F(1F, 1F, 1F, 1F); + + tess.addVertexWithUV(0, -height, -offset, 1, 1); + tess.addVertexWithUV(0, height, -offset, 0, 1); + tess.addVertexWithUV(0, height + lift, length - offset, 0 ,0); + tess.addVertexWithUV(0, -height + lift, length - offset, 1, 0); + + tess.addVertexWithUV(0, height, offset, 0, 1); + tess.addVertexWithUV(0, -height, offset, 1, 1); + tess.addVertexWithUV(0, -height + lift, -length + offset, 1, 0); + tess.addVertexWithUV(0, height + lift, -length + offset, 0 ,0); + + tess.addVertexWithUV(0, -height, -offset, 1, 1); + tess.addVertexWithUV(0, height, -offset, 0, 1); + tess.addVertexWithUV(lengthOffset, height, length - offset, 0 ,0); + tess.addVertexWithUV(lengthOffset, -height, length - offset, 1, 0); + + tess.addVertexWithUV(0, height, offset, 0, 1); + tess.addVertexWithUV(0, -height, offset, 1, 1); + tess.addVertexWithUV(lengthOffset, -height, -length + offset, 1, 0); + tess.addVertexWithUV(lengthOffset, height, -length + offset, 0 ,0); + + tess.draw(); + GL11.glPopMatrix(); + GL11.glDisable(GL11.GL_BLEND); + } + + break; + + case EQUIPPED: + + double scale = 0.1D; + GL11.glScaled(scale, scale, scale); + GL11.glRotatef(15F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(100, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(15F, 0.0F, 0.0F, 1.0F); + GL11.glTranslatef(-3F, 1F, 4F); + + break; + + case ENTITY: + + double s1 = 0.075D; + GL11.glScaled(s1, s1, s1); + GL11.glTranslatef(0F, 1F, 0F); + + break; + + case INVENTORY: + + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glAlphaFunc(GL11.GL_GREATER, 0F); + GL11.glEnable(GL11.GL_ALPHA_TEST); + + double s = 0.8D; + GL11.glTranslated(8, 8, 0); + GL11.glRotated(180, 0, 1, 0); + GL11.glRotated(135, 0, 0, 1); + GL11.glScaled(s, s, -s); + + break; + + default: break; + } + + if(type != ItemRenderType.EQUIPPED_FIRST_PERSON) { + GL11.glShadeModel(GL11.GL_SMOOTH); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.lilmac_scope_tex); + ResourceManager.lilmac.renderPart("Scope"); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.lilmac_tex); + ResourceManager.lilmac.renderPart("Gun"); + ResourceManager.lilmac.renderPart("Cylinder"); + ResourceManager.lilmac.renderPart("Bullets"); + ResourceManager.lilmac.renderPart("Casings"); + ResourceManager.lilmac.renderPart("Pivot"); + ResourceManager.lilmac.renderPart("Hammer"); + GL11.glShadeModel(GL11.GL_FLAT); + } + + GL11.glPopMatrix(); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponNovac.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponNovac.java index f99591f9d..eb3fdf4d6 100644 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponNovac.java +++ b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponNovac.java @@ -5,6 +5,7 @@ import org.lwjgl.opengl.GL11; import com.hbm.items.ModItems; import com.hbm.main.MainRegistry; import com.hbm.main.ResourceManager; +import com.hbm.render.anim.HbmAnimations; import net.minecraft.client.Minecraft; import net.minecraft.item.ItemStack; @@ -58,8 +59,37 @@ public class ItemRenderWeaponNovac implements IItemRenderer { GL11.glRotatef(180, 0.0F, 1.0F, 0.0F); GL11.glTranslatef(-0.0F, 0.0F, -1.25F); GL11.glScaled(s0, s0, s0); + + GL11.glShadeModel(GL11.GL_SMOOTH); + + HbmAnimations.applyRelevantTransformation("Body"); + ResourceManager.novac.renderPart("Body"); + + GL11.glPushMatrix(); + HbmAnimations.applyRelevantTransformation("Cylinder"); + ResourceManager.novac.renderPart("Cylinder"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + HbmAnimations.applyRelevantTransformation("Hammer"); + ResourceManager.novac.renderPart("Hammer"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + HbmAnimations.applyRelevantTransformation("Trigger"); + ResourceManager.novac.renderPart("Trigger"); + GL11.glPopMatrix(); + + if (item.getItem() == ModItems.gun_revolver_pip) { + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.novac_scope_tex); + ResourceManager.novac.renderPart("Scope"); + } + + GL11.glShadeModel(GL11.GL_FLAT); - break; + GL11.glPopMatrix(); + + return; case EQUIPPED: @@ -97,15 +127,13 @@ public class ItemRenderWeaponNovac implements IItemRenderer { } GL11.glShadeModel(GL11.GL_SMOOTH); + ResourceManager.novac.renderAllExcept("Scope"); + if(item.getItem() == ModItems.gun_revolver_pip) { - ResourceManager.novac_scoped.renderPart("Gun"); - ResourceManager.novac_scoped.renderPart("Hammer"); - ResourceManager.novac_scoped.renderPart("Cylinder"); Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.novac_scope_tex); - ResourceManager.novac_scoped.renderPart("Scope"); - } else { - ResourceManager.novac.renderAll(); + ResourceManager.novac.renderPart("Scope"); } + GL11.glShadeModel(GL11.GL_FLAT); GL11.glPopMatrix(); diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponObj.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponObj.java index 0e8e2603e..4be5806c5 100644 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponObj.java +++ b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponObj.java @@ -23,7 +23,7 @@ public class ItemRenderWeaponObj implements IItemRenderer { case ENTITY: return true; case INVENTORY: - return item.getItem() == ModItems.gun_ks23 || item.getItem() == ModItems.gun_hk69 + return item.getItem() == ModItems.gun_hk69 || item.getItem() == ModItems.gun_flamer || item.getItem() == ModItems.gun_deagle || item.getItem() == ModItems.gun_flechette || item.getItem() == ModItems.gun_quadro; default: return false; @@ -50,9 +50,6 @@ public class ItemRenderWeaponObj implements IItemRenderer { if(item.getItem() == ModItems.gun_deagle) Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.universal_bright); - if(item.getItem() == ModItems.gun_ks23) - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.ks23_tex); - if(item.getItem() == ModItems.gun_flamer) Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.flamer_tex); @@ -90,19 +87,6 @@ public class ItemRenderWeaponObj implements IItemRenderer { } } - if(item.getItem() == ModItems.gun_ks23) { - GL11.glTranslatef(1.0F, 0.5F, -0.25F); - GL11.glRotatef(25F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(-10F, 0.0F, 1.0F, 0.0F); - GL11.glScaled(0.75, 0.75, 0.75); - - if(player.isSneaking()) { - GL11.glRotatef(4.5F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-2.5F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(0.3F, 0.2F, -0.875F); - } - } - if(item.getItem() == ModItems.gun_flamer) { GL11.glTranslatef(1.0F, 0.0F, -0.15F); GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F); @@ -169,13 +153,6 @@ public class ItemRenderWeaponObj implements IItemRenderer { GL11.glScaled(0.15, 0.15, 0.15); } - if(item.getItem() == ModItems.gun_ks23) { - GL11.glRotatef(20F, 1.0F, 0.0F, 1.0F); - GL11.glRotatef(-80F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(0.9F, 0.0F, -0.5F); - GL11.glScaled(0.5, 0.5, 0.5); - } - if(item.getItem() == ModItems.gun_flamer) { GL11.glRotatef(20F, 1.0F, 0.0F, 1.0F); GL11.glRotatef(10F, 0.0F, 1.0F, 0.0F); @@ -213,11 +190,6 @@ public class ItemRenderWeaponObj implements IItemRenderer { GL11.glScaled(0.25, 0.25, 0.25); } - if(item.getItem() == ModItems.gun_ks23) { - GL11.glTranslatef(0.3F, 0.2F, 0.0F); - GL11.glScaled(0.5, 0.5, 0.5); - } - if(item.getItem() == ModItems.gun_flamer) { GL11.glTranslatef(0.25F, 0.2F, 0.0F); GL11.glRotatef(-90F, 0.0F, 1.0F, 0.0F); @@ -257,12 +229,6 @@ public class ItemRenderWeaponObj implements IItemRenderer { GL11.glRotatef(-45F, 1.0F, 0.0F, 0.0F); } - if(item.getItem() == ModItems.gun_ks23) { - GL11.glTranslatef(7F, 8F, 0.0F); - GL11.glScaled(4, 4, -4); - GL11.glRotatef(-135F, 0.0F, 0.0F, 1.0F); - } - if(item.getItem() == ModItems.gun_flamer) { GL11.glScaled(2.0, 2.0, -2.0); GL11.glTranslatef(4.0F, 5.0F, 0.0F); @@ -303,12 +269,6 @@ public class ItemRenderWeaponObj implements IItemRenderer { GL11.glShadeModel(GL11.GL_FLAT); } - if(item.getItem() == ModItems.gun_ks23) { - GL11.glShadeModel(GL11.GL_SMOOTH); - ResourceManager.ks23.renderAll(); - GL11.glShadeModel(GL11.GL_FLAT); - } - if(item.getItem() == ModItems.gun_flamer) { GL11.glShadeModel(GL11.GL_SMOOTH); ResourceManager.flamer.renderAll(); diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponShotty.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponShotty.java index 25840aa8c..bcf4670e2 100644 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponShotty.java +++ b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponShotty.java @@ -2,9 +2,11 @@ package com.hbm.render.item.weapon; import org.lwjgl.opengl.GL11; +import com.hbm.config.WeaponConfig; import com.hbm.items.weapon.ItemGunBase; import com.hbm.main.ResourceManager; import com.hbm.render.anim.HbmAnimations; +import com.hbm.render.anim.HbmAnimations.Animation; import net.minecraft.client.Minecraft; import net.minecraft.entity.player.EntityPlayer; @@ -41,10 +43,6 @@ public class ItemRenderWeaponShotty implements IItemRenderer { GL11.glDisable(GL11.GL_CULL_FACE); GL11.glShadeModel(GL11.GL_SMOOTH); - String barrel = "Body_Cube.008"; - String handle = "handle_Cylinder.005"; - String shells = "boolets_Cylinder.008"; - Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.shotty_tex); EntityPlayer player = Minecraft.getMinecraft().thePlayer; @@ -53,69 +51,56 @@ public class ItemRenderWeaponShotty implements IItemRenderer { case EQUIPPED_FIRST_PERSON: - double[] recoil = HbmAnimations.getRelevantTransformation("SHOTTY_RECOIL"); - double[] eject = HbmAnimations.getRelevantTransformation("SHOTTY_BREAK"); - double[] ejectShell = HbmAnimations.getRelevantTransformation("SHOTTY_EJECT"); - double[] insertShell = HbmAnimations.getRelevantTransformation("SHOTTY_INSERT"); + String animSuffix = WeaponConfig.linearAnimations ? "Lame" : ""; GL11.glScalef(0.5F, 0.5F, 0.5F); GL11.glRotatef(20F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(-10F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(1.75F, -0.2F, -0.3F); - - if(player.isSneaking()) { - GL11.glTranslatef(0F, 1.0F, -2.05F); - GL11.glRotatef(3.5F, 0.0F, 1.0F, 0.0F); - } else { - - GL11.glRotated(-eject[2] * 0.25, 0, 0, 1); - } + GL11.glRotatef(-95F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-2.0F, 0.25F, -2.5F); - GL11.glTranslated(-recoil[0] * 2, 0, 0); - GL11.glRotated(recoil[0] * 5, 0, 0, 1); - - GL11.glPushMatrix(); - GL11.glRotated(-eject[2] * 0.8, 0, 0, 1); - ResourceManager.shotty.renderPart(barrel); + HbmAnimations.applyRelevantTransformation("Body" + animSuffix); + ResourceManager.shotty.renderPart("Body"); - GL11.glPushMatrix(); - GL11.glRotated(ejectShell[0] * 90, 0, 0, 1); - GL11.glTranslated(-ejectShell[0] * 10, 0, 0); - ResourceManager.shotty.renderPart(shells); - GL11.glPopMatrix(); - - if(ItemGunBase.getBeltSize(player, ItemGunBase.getBeltType(player, item, true)) > 0) { + HbmAnimations.applyRelevantTransformation("Barrel" + animSuffix); + ResourceManager.shotty.renderPart("Barrel"); + + // If we've run out of ammo, stop drawing the shells after ejection has completed + Animation anim = HbmAnimations.getRelevantAnim(); + int millis = anim != null ? (int)(System.currentTimeMillis() - anim.startMillis) : 0; + + if(ItemGunBase.getBeltSize(player, ItemGunBase.getBeltType(player, item, true)) > 0 || millis < 1000) { GL11.glPushMatrix(); - GL11.glTranslated(-insertShell[0], insertShell[2] * -2, insertShell[2] * -1); - ResourceManager.shotty.renderPart(shells); + HbmAnimations.applyRelevantTransformation("ShellL" + animSuffix); + ResourceManager.shotty.renderPart("ShellL"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + HbmAnimations.applyRelevantTransformation("ShellR" + animSuffix); + ResourceManager.shotty.renderPart("ShellR"); GL11.glPopMatrix(); } - GL11.glPopMatrix(); - - ResourceManager.shotty.renderPart(handle); - break; case EQUIPPED: - GL11.glRotatef(-80F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(-170F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(-10F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(10F, 1.0F, 0.0F, 0.0F); + GL11.glRotatef(-10F, 1.0F, 0.0F, 0.0F); GL11.glRotatef(5F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(0.5F, 0.0F, -0.4F); + GL11.glTranslatef(-0.4F, 0.0F, -0.5F); GL11.glScaled(0.35, 0.35, 0.35); - ResourceManager.shotty.renderPart(handle); - ResourceManager.shotty.renderPart(barrel); + ResourceManager.shotty.renderPart("Body"); + ResourceManager.shotty.renderPart("Barrel"); break; case ENTITY: GL11.glScaled(0.5, 0.5, 0.5); - GL11.glTranslatef(-1.0F, 0.2F, 0.0F); - ResourceManager.shotty.renderPart(handle); - ResourceManager.shotty.renderPart(barrel); + GL11.glTranslatef(0.0F, 0.2F, 0.0F); + ResourceManager.shotty.renderPart("Body"); + ResourceManager.shotty.renderPart("Barrel"); break; default: break; diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponSpas12.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponSpas12.java index 33de43282..4fff46dd0 100644 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponSpas12.java +++ b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponSpas12.java @@ -1,7 +1,12 @@ package com.hbm.render.item.weapon; +import java.awt.Color; + import org.lwjgl.opengl.GL11; +import com.hbm.handler.BulletConfigSyncingUtil; +import com.hbm.handler.BulletConfiguration; +import com.hbm.items.weapon.ItemGunBase; import com.hbm.main.ResourceManager; import com.hbm.render.anim.HbmAnimations; @@ -44,26 +49,40 @@ public class ItemRenderWeaponSpas12 implements IItemRenderer { case EQUIPPED_FIRST_PERSON: - double[] recoilT = HbmAnimations.getRelevantTransformation("SPAS_RECOIL_TRANSLATE"); - double[] recoilR = HbmAnimations.getRelevantTransformation("SPAS_RECOIL_ROT"); - double[] pump = HbmAnimations.getRelevantTransformation("SPAS_PUMP"); - double s0 = 0.5D; GL11.glRotated(25, 0, 0, 1); GL11.glTranslated(0, -0.8, 0.1); - GL11.glRotated(80, 0, 1, 0); + GL11.glRotated(-100, 0, 1, 0); GL11.glScaled(s0, s0, s0); - - int m = 2; - - GL11.glTranslated(recoilT[0]*m, recoilT[1]*m, recoilT[2]*m); - GL11.glRotated(2, recoilR[0]*m, recoilR[1]*m, recoilR[2]*m); - + + HbmAnimations.applyRelevantTransformation("MainBody"); ResourceManager.spas_12.renderPart("MainBody"); - GL11.glTranslated(pump[0], pump[1], pump[2]); - + GL11.glPushMatrix(); + HbmAnimations.applyRelevantTransformation("PumpGrip"); ResourceManager.spas_12.renderPart("PumpGrip"); + GL11.glPopMatrix(); + + + GL11.glPushMatrix(); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.casings_tex); + + HbmAnimations.applyRelevantTransformation("Shell"); + + ItemGunBase gun = (ItemGunBase)item.getItem(); + BulletConfiguration bullet = BulletConfigSyncingUtil.pullConfig(gun.mainConfig.config.get(ItemGunBase.getMagType(item))); + int[] colors = bullet.spentCasing.getColors(); + + Color shellColor = new Color(colors[1]); + GL11.glColor3f(shellColor.getRed() / 255F, shellColor.getGreen() / 255F, shellColor.getBlue() / 255F); + ResourceManager.spas_12.renderPart("Shell"); + + Color shellForeColor = new Color(colors[0]); + GL11.glColor3f(shellForeColor.getRed() / 255F, shellForeColor.getGreen() / 255F, shellForeColor.getBlue() / 255F); + ResourceManager.spas_12.renderPart("ShellFore"); + + GL11.glColor3f(1F, 1F, 1F); + GL11.glPopMatrix(); break; @@ -72,9 +91,9 @@ public class ItemRenderWeaponSpas12 implements IItemRenderer { double scale = 0.25D; GL11.glScaled(scale, scale, scale); GL11.glRotatef(20F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(10, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(15F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(2F, -1F, -2F); + GL11.glRotatef(190, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(-15F, 1.0F, 0.0F, 0.0F); + GL11.glTranslatef(-2F, -1F, 2F); ResourceManager.spas_12.renderAll(); @@ -84,7 +103,7 @@ public class ItemRenderWeaponSpas12 implements IItemRenderer { double s1 = 0.25D; GL11.glScaled(s1, s1, s1); - GL11.glTranslated(0, 0, -4); + GL11.glTranslated(0, 0, 4); ResourceManager.spas_12.renderAll(); @@ -98,7 +117,7 @@ public class ItemRenderWeaponSpas12 implements IItemRenderer { GL11.glTranslated(12, 13.5, 0); GL11.glRotated(-90, 0, 1, 0); GL11.glRotated(-135, 1, 0, 0); - GL11.glScaled(s, s, -s); + GL11.glScaled(s, s, s); ResourceManager.spas_12.renderAll(); @@ -106,9 +125,6 @@ public class ItemRenderWeaponSpas12 implements IItemRenderer { default: break; } - - GL11.glShadeModel(GL11.GL_SMOOTH); - GL11.glShadeModel(GL11.GL_FLAT); GL11.glPopMatrix(); } diff --git a/src/main/java/com/hbm/render/loader/HFRWavefrontObject.java b/src/main/java/com/hbm/render/loader/HFRWavefrontObject.java index 3b27a781c..a3e443e99 100644 --- a/src/main/java/com/hbm/render/loader/HFRWavefrontObject.java +++ b/src/main/java/com/hbm/render/loader/HFRWavefrontObject.java @@ -5,6 +5,7 @@ import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; +import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -16,12 +17,11 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.resources.IResource; import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.model.IModelCustom; import net.minecraftforge.client.model.ModelFormatException; import net.minecraftforge.client.model.obj.TextureCoordinate; import net.minecraftforge.client.model.obj.Vertex; -public class HFRWavefrontObject implements IModelCustom { +public class HFRWavefrontObject implements IModelCustomNamed { private static Pattern vertexPattern = Pattern.compile("(v( (\\-){0,1}\\d+(\\.\\d+)?){3,4} *\\n)|(v( (\\-){0,1}\\d+(\\.\\d+)?){3,4} *$)"); private static Pattern vertexNormalPattern = Pattern.compile("(vn( (\\-){0,1}\\d+(\\.\\d+)?){3,4} *\\n)|(vn( (\\-){0,1}\\d+(\\.\\d+)?){3,4} *$)"); private static Pattern textureCoordinatePattern = Pattern.compile("(vt( (\\-){0,1}\\d+\\.\\d+){2,3} *\\n)|(vt( (\\-){0,1}\\d+(\\.\\d+)?){2,3} *$)"); @@ -482,6 +482,19 @@ public class HFRWavefrontObject implements IModelCustom { public String getType() { return "obj"; } + + @Override + public List getPartNames() { + List names = new ArrayList(); + for(S_GroupObject data : groupObjects) { + names.add(data.name); + } + return names; + } + + public WavefrontObjVBO asVBO() { + return new WavefrontObjVBO(this); + } public WavefrontObjDisplayList asDisplayList() { return new WavefrontObjDisplayList(this); diff --git a/src/main/java/com/hbm/render/loader/IModelCustomNamed.java b/src/main/java/com/hbm/render/loader/IModelCustomNamed.java new file mode 100644 index 000000000..a12e1bdb4 --- /dev/null +++ b/src/main/java/com/hbm/render/loader/IModelCustomNamed.java @@ -0,0 +1,13 @@ +package com.hbm.render.loader; + +import java.util.List; + +import net.minecraftforge.client.model.IModelCustom; + +public interface IModelCustomNamed extends IModelCustom { + + // A little messy, but this is the cleanest refactor, and can be useful in the future + + public List getPartNames(); + +} diff --git a/src/main/java/com/hbm/render/loader/WavefrontObjDisplayList.java b/src/main/java/com/hbm/render/loader/WavefrontObjDisplayList.java index 99eef4360..b797be151 100644 --- a/src/main/java/com/hbm/render/loader/WavefrontObjDisplayList.java +++ b/src/main/java/com/hbm/render/loader/WavefrontObjDisplayList.java @@ -7,11 +7,10 @@ import org.apache.commons.lang3.tuple.Pair; import org.lwjgl.opengl.GL11; import net.minecraft.client.renderer.Tessellator; -import net.minecraftforge.client.model.IModelCustom; import net.minecraftforge.client.model.obj.GroupObject; import net.minecraftforge.client.model.obj.WavefrontObject; -public class WavefrontObjDisplayList implements IModelCustom { +public class WavefrontObjDisplayList implements IModelCustomNamed { public List> nameToCallList = new ArrayList<>(); @@ -95,4 +94,13 @@ public class WavefrontObjDisplayList implements IModelCustom { } } } + + @Override + public List getPartNames() { + List names = new ArrayList(); + for(Pair data : nameToCallList) { + names.add(data.getLeft()); + } + return names; + } } \ No newline at end of file diff --git a/src/main/java/com/hbm/render/loader/WavefrontObjVBO.java b/src/main/java/com/hbm/render/loader/WavefrontObjVBO.java new file mode 100644 index 000000000..fe7eb985f --- /dev/null +++ b/src/main/java/com/hbm/render/loader/WavefrontObjVBO.java @@ -0,0 +1,158 @@ +package com.hbm.render.loader; + +import java.nio.FloatBuffer; +import java.util.ArrayList; +import java.util.List; + +import org.lwjgl.BufferUtils; +import org.lwjgl.opengl.*; + +import net.minecraftforge.client.model.obj.TextureCoordinate; +import net.minecraftforge.client.model.obj.Vertex; + +public class WavefrontObjVBO implements IModelCustomNamed { + + class VBOBufferData { + + String name; + int vertices = 0; + int vertexHandle; + int uvHandle; + int normalHandle; + + } + + List groups = new ArrayList(); + + static int VERTEX_SIZE = 3; + static int UV_SIZE = 3; + + public WavefrontObjVBO(HFRWavefrontObject obj) { + for(S_GroupObject g : obj.groupObjects) { + VBOBufferData data = new VBOBufferData(); + data.name = g.name; + + FloatBuffer vertexData = BufferUtils.createFloatBuffer(g.faces.size() * 3 * VERTEX_SIZE); + FloatBuffer uvData = BufferUtils.createFloatBuffer(g.faces.size() * 3 * UV_SIZE); + FloatBuffer normalData = BufferUtils.createFloatBuffer(g.faces.size() * 3 * VERTEX_SIZE); + + for(S_Face face : g.faces) { + for(int i = 0; i < face.vertices.length; i++) { + Vertex vert = face.vertices[i]; + TextureCoordinate tex = new TextureCoordinate(0, 0); + Vertex normal = face.vertexNormals[i]; + + if(face.textureCoordinates != null && face.textureCoordinates.length > 0) { + tex = face.textureCoordinates[i]; + } + + data.vertices++; + vertexData.put(new float[] { vert.x, vert.y, vert.z }); + uvData.put(new float[] { tex.u, tex.v, tex.w }); + normalData.put(new float[] { normal.x, normal.y, normal.z }); + } + } + vertexData.flip(); + uvData.flip(); + normalData.flip(); + + data.vertexHandle = GL15.glGenBuffers(); + GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, data.vertexHandle); + GL15.glBufferData(GL15.GL_ARRAY_BUFFER, vertexData, GL15.GL_STATIC_DRAW); + GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0); + + data.uvHandle = GL15.glGenBuffers(); + GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, data.uvHandle); + GL15.glBufferData(GL15.GL_ARRAY_BUFFER, uvData, GL15.GL_STATIC_DRAW); + GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0); + + data.normalHandle = GL15.glGenBuffers(); + GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, data.normalHandle); + GL15.glBufferData(GL15.GL_ARRAY_BUFFER, normalData, GL15.GL_STATIC_DRAW); + GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0); + + groups.add(data); + } + } + + @Override + public String getType() { + return "obj_vbo"; + } + + private void renderVBO(VBOBufferData data) { + GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, data.vertexHandle); + GL11.glVertexPointer(VERTEX_SIZE, GL11.GL_FLOAT, 0, 0l); + + GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, data.uvHandle); + GL11.glTexCoordPointer(UV_SIZE, GL11.GL_FLOAT, 0, 0l); + + GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, data.normalHandle); + GL11.glNormalPointer(GL11.GL_FLOAT, 0, 0l); + + GL11.glEnableClientState(GL11.GL_VERTEX_ARRAY); + GL11.glEnableClientState(GL11.GL_TEXTURE_COORD_ARRAY); + GL11.glEnableClientState(GL11.GL_NORMAL_ARRAY); + + GL11.glDrawArrays(GL11.GL_TRIANGLES, 0, data.vertices); + + GL11.glDisableClientState(GL11.GL_VERTEX_ARRAY); + GL11.glDisableClientState(GL11.GL_TEXTURE_COORD_ARRAY); + GL11.glDisableClientState(GL11.GL_NORMAL_ARRAY); + + GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0); + } + + @Override + public void renderAll() { + for(VBOBufferData data : groups) { + renderVBO(data); + } + } + + @Override + public void renderOnly(String... groupNames) { + for(VBOBufferData data : groups) { + for(String name : groupNames) { + if(data.name.equalsIgnoreCase(name)) { + renderVBO(data); + } + } + } + } + + @Override + public void renderPart(String partName) { + for(VBOBufferData data : groups) { + if(data.name.equalsIgnoreCase(partName)) { + renderVBO(data); + } + } + } + + @Override + public void renderAllExcept(String... excludedGroupNames) { + for(VBOBufferData data : groups) { + boolean skip = false; + for(String name : excludedGroupNames) { + if(data.name.equalsIgnoreCase(name)) { + skip = true; + break; + } + } + if(!skip) { + renderVBO(data); + } + } + } + + @Override + public List getPartNames() { + List names = new ArrayList(); + for(VBOBufferData data : groups) { + names.add(data.name); + } + return names; + } + +} \ No newline at end of file diff --git a/src/main/java/com/hbm/render/model/ModelOxygenMask.java b/src/main/java/com/hbm/render/model/ModelOxygenMask.java deleted file mode 100644 index 893bf5bda..000000000 --- a/src/main/java/com/hbm/render/model/ModelOxygenMask.java +++ /dev/null @@ -1,114 +0,0 @@ - -package com.hbm.render.model; - -import org.lwjgl.opengl.GL11; - -import net.minecraft.client.model.ModelBiped; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; - -public class ModelOxygenMask extends ModelBiped { - // fields - ModelRenderer mask; - ModelRenderer Shape1; - ModelRenderer Shape2; - ModelRenderer Shape3; - ModelRenderer Shape4; - ModelRenderer Shape5; - ModelRenderer Shape6; - - public ModelOxygenMask() { - textureWidth = 64; - textureHeight = 32; - - mask = new ModelRenderer(this, 0, 0); - Shape1 = new ModelRenderer(this, 0, 0); - Shape1.addBox(0F, 0F, 0F, 8, 8, 3); - Shape1.setRotationPoint(0F - 4, 0F - 8 + 0.075F / 2, 0F - 4); - Shape1.setTextureSize(64, 32); - Shape1.mirror = true; - setRotation(Shape1, 0F, 0F, 0F); - convertToChild(mask, Shape1); - Shape2 = new ModelRenderer(this, 22, 0); - Shape2.addBox(0F, 0F, 0F, 2, 2, 1); - Shape2.setRotationPoint(1F - 4, 3F - 8 + 0.075F / 2, -0.5333334F - 4); - Shape2.setTextureSize(64, 32); - Shape2.mirror = true; - setRotation(Shape2, 0F, 0F, 0F); - convertToChild(mask, Shape2); - Shape3 = new ModelRenderer(this, 22, 0); - Shape3.addBox(0F, 0F, 0F, 2, 2, 1); - Shape3.setRotationPoint(5F - 4, 3F - 8 + 0.075F / 2, -0.5F - 4); - Shape3.setTextureSize(64, 32); - Shape3.mirror = true; - setRotation(Shape3, 0F, 0F, 0F); - convertToChild(mask, Shape3); - Shape4 = new ModelRenderer(this, 0, 11); - Shape4.addBox(0F, 0F, 0F, 2, 2, 2); - Shape4.setRotationPoint(3F - 4, 5F - 8 + 0.075F / 2, 0F - 4); - Shape4.setTextureSize(64, 32); - Shape4.mirror = true; - setRotation(Shape4, -0.7853982F, 0F, 0F); - convertToChild(mask, Shape4); - Shape5 = new ModelRenderer(this, 0, 15); - Shape5.addBox(0F, 2F, -0.5F, 3, 4, 3); - Shape5.setRotationPoint(2.5F - 4, 5F - 8 + 0.075F / 2, 0F - 4); - Shape5.setTextureSize(64, 32); - Shape5.mirror = true; - setRotation(Shape5, -0.7853982F, 0F, 0F); - convertToChild(mask, Shape5); - Shape6 = new ModelRenderer(this, 0, 22); - Shape6.addBox(0F, 0F, 0F, 8, 1, 5); - Shape6.setRotationPoint(0F - 4, 3F - 8 + 0.075F / 2, 3F - 4); - Shape6.setTextureSize(64, 32); - Shape6.mirror = true; - setRotation(Shape6, 0F, 0F, 0F); - - - convertToChild(mask, Shape6); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { - EntityPlayer player = (EntityPlayer) entity; - if (player.isSneaking()) { - this.isSneak = true; - } else { - this.isSneak = false; - } - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - this.mask.rotationPointX = this.bipedHead.rotationPointX; - this.mask.rotationPointY = this.bipedHead.rotationPointY; - this.mask.rotateAngleY = this.bipedHead.rotateAngleY; - this.mask.rotateAngleX = this.bipedHead.rotateAngleX; - } - - @Override - public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { - setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); - GL11.glPushMatrix(); - GL11.glScalef(1.15F, 1.15F, 1.15F); - this.mask.render(par7); - GL11.glPopMatrix(); - } - - protected void convertToChild(ModelRenderer parParent, ModelRenderer parChild) { - // move child rotation point to be relative to parent - parChild.rotationPointX -= parParent.rotationPointX; - parChild.rotationPointY -= parParent.rotationPointY; - parChild.rotationPointZ -= parParent.rotationPointZ; - // make rotations relative to parent - parChild.rotateAngleX -= parParent.rotateAngleX; - parChild.rotateAngleY -= parParent.rotateAngleY; - parChild.rotateAngleZ -= parParent.rotateAngleZ; - // create relationship - parParent.addChild(parChild); - } -} diff --git a/src/main/java/com/hbm/render/model/ModelTestBombAdvanced.java b/src/main/java/com/hbm/render/model/ModelTestBombAdvanced.java deleted file mode 100644 index 07c1ea779..000000000 --- a/src/main/java/com/hbm/render/model/ModelTestBombAdvanced.java +++ /dev/null @@ -1,125 +0,0 @@ -// Date: 18.05.2015 21:04:52 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - - - - - - -package com.hbm.render.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelTestBombAdvanced extends ModelBase -{ - //fields - ModelRenderer FinEnd; - ModelRenderer BombTip; - ModelRenderer FinBase; - ModelRenderer FinTop; - ModelRenderer FinBottom; - ModelRenderer FinLeft; - ModelRenderer FinRight; - ModelRenderer BombBody; - - public ModelTestBombAdvanced() - { - textureWidth = 128; - textureHeight = 128; - - FinEnd = new ModelRenderer(this, 0, 0); - FinEnd.addBox(0F, 0F, 0F, 8, 8, 4); - FinEnd.setRotationPoint(-4F, 16F, 20F); - FinEnd.setTextureSize(128, 128); - FinEnd.mirror = true; - setRotation(FinEnd, 0F, 0F, 0F); - BombTip = new ModelRenderer(this, 55, 0); - BombTip.addBox(0F, 0F, 0F, 6, 6, 2); - BombTip.setRotationPoint(-3F, 17F, -24F); - BombTip.setTextureSize(128, 128); - BombTip.mirror = true; - setRotation(BombTip, 0F, 0F, 0F); - FinBase = new ModelRenderer(this, 74, 0); - FinBase.addBox(0F, 0F, 0F, 6, 6, 2); - FinBase.setRotationPoint(-3F, 17F, 14F); - FinBase.setTextureSize(128, 128); - FinBase.mirror = true; - setRotation(FinBase, 0F, 0F, 0F); - FinTop = new ModelRenderer(this, 0, 74); - FinTop.addBox(0F, 0F, -6F, 8, 0, 6); - FinTop.setRotationPoint(-4F, 16F, 20F); - FinTop.setTextureSize(128, 128); - FinTop.mirror = true; - setRotation(FinTop, 0.4363323F, 0F, 0F); - FinBottom = new ModelRenderer(this, 0, 74); - FinBottom.addBox(0F, 0F, -6F, 8, 0, 6); - FinBottom.setRotationPoint(-4F, 24F, 20F); - FinBottom.setTextureSize(128, 128); - FinBottom.mirror = true; - setRotation(FinBottom, -0.4363323F, 0F, 0F); - FinLeft = new ModelRenderer(this, 0, 51); - FinLeft.addBox(0F, 0F, -6F, 0, 8, 6); - FinLeft.setRotationPoint(4F, 16F, 20F); - FinLeft.setTextureSize(128, 128); - FinLeft.mirror = true; - setRotation(FinLeft, 0F, 0.4363323F, 0F); - FinRight = new ModelRenderer(this, 0, 51); - FinRight.addBox(0F, 0F, -6F, 0, 8, 6); - FinRight.setRotationPoint(-4F, 16F, 20F); - FinRight.setTextureSize(128, 128); - FinRight.mirror = true; - setRotation(FinRight, 0F, -0.4363323F, 0F); - BombBody = new ModelRenderer(this, 0, 0); - BombBody.addBox(0F, 0F, 0F, 8, 8, 36); - BombBody.setRotationPoint(-4F, 16F, -22F); - BombBody.setTextureSize(128, 128); - BombBody.mirror = true; - setRotation(BombBody, 0F, 0F, 0F); - } - - @Override -public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - FinEnd.render(f5); - BombTip.render(f5); - FinBase.render(f5); - FinTop.render(f5); - FinBottom.render(f5); - FinLeft.render(f5); - FinRight.render(f5); - BombBody.render(f5); - } - - public void renderModel(float f) - { - FinEnd.render(f); - BombTip.render(f); - FinBase.render(f); - FinTop.render(f); - FinBottom.render(f); - FinLeft.render(f); - FinRight.render(f); - BombBody.render(f); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override -public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/model/ModelTestRender.java b/src/main/java/com/hbm/render/model/ModelTestRender.java deleted file mode 100644 index 7c02b0da5..000000000 --- a/src/main/java/com/hbm/render/model/ModelTestRender.java +++ /dev/null @@ -1,61 +0,0 @@ -// Date: 16.05.2015 19:38:19 -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - - - - - - -package com.hbm.render.model; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelTestRender extends ModelBase -{ - //fields - ModelRenderer MainBlock; - - public ModelTestRender() - { - textureWidth = 64; - textureHeight = 32; - - MainBlock = new ModelRenderer(this, 0, 0); - MainBlock.addBox(0F, 0F, 0F, 12, 16, 12); - MainBlock.setRotationPoint(-6F, 8F, -6F); - MainBlock.setTextureSize(64, 32); - MainBlock.mirror = true; - setRotation(MainBlock, 0F, 0F, 0F); - } - - @Override -public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - MainBlock.render(f5); - } - - public void renderModel(float f) { - MainBlock.render(f); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override -public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/com/hbm/render/tileentity/RenderAMSBase.java b/src/main/java/com/hbm/render/tileentity/RenderAMSBase.java deleted file mode 100644 index f98abf111..000000000 --- a/src/main/java/com/hbm/render/tileentity/RenderAMSBase.java +++ /dev/null @@ -1,134 +0,0 @@ -package com.hbm.render.tileentity; - -import org.lwjgl.opengl.GL11; - -import com.hbm.main.ResourceManager; -import com.hbm.tileentity.machine.TileEntityAMSBase; - -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.tileentity.TileEntity; - -public class RenderAMSBase extends TileEntitySpecialRenderer { - - public RenderAMSBase() { } - - @Override - public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) - { - GL11.glPushMatrix(); - GL11.glTranslated(x + 0.5D, y, z + 0.5D); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glRotatef(180, 0F, 1F, 0F); - - bindTexture(ResourceManager.ams_base_tex); - - ResourceManager.ams_base.renderAll(); - - GL11.glPopMatrix(); - - TileEntityAMSBase base = (TileEntityAMSBase)tileEntity; - if(base.color > -1) - renderTileEntityAt2(tileEntity, x, y, z, f); - } - - public void renderTileEntityAt2(TileEntity tileEntity, double x, double y, double z, float f) - { - GL11.glPushMatrix(); - GL11.glTranslated(x + 0.5D, y + 5.5, z + 0.5D); - //GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glRotatef(180, 0F, 1F, 0F); - - int rot = (int) ((System.nanoTime()/100000000)%360) * 3; - - TileEntityAMSBase base = (TileEntityAMSBase)tileEntity; - - double maxSize = 5; - double minSize = 0.5; - double scale = minSize; - scale += ((((double)base.tanks[2].getFill()) / ((double)base.tanks[2].getMaxFill())) + (((double)base.tanks[3].getFill()) / ((double)base.tanks[3].getMaxFill()))) * ((maxSize - minSize) / 2); - GL11.glScaled(scale, scale, scale); - - //bindTexture(new ResourceLocation(RefStrings.MODID, "textures/models/EMPBlast.png")); - GL11.glDisable(GL11.GL_TEXTURE_2D); - - GL11.glRotatef(rot, 0F, 1F, 0F); - GL11.glScalef(1.1F, 1.1F, 1.1F); - GL11.glColor3ub((byte)(0x20), (byte)(0x20), (byte)(0x40)); - ResourceManager.sphere_iuv.renderAll(); - GL11.glScalef(1/1.1F, 1/1.1F, 1/1.1F); - - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glPopMatrix(); - - renderTileEntityAt3(tileEntity, x, y, z, f); - } - - public void renderTileEntityAt3(TileEntity tileEntity, double x, double y, double z, float f) - { - GL11.glPushMatrix(); - GL11.glTranslated(x + 0.5D, y + 5.5, z + 0.5D); - //GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glRotatef(180, 0F, 1F, 0F); - - TileEntityAMSBase base = (TileEntityAMSBase)tileEntity; - - double maxSize = 5; - double minSize = 0.5; - double scale = minSize; - scale += ((((double)base.tanks[2].getFill()) / ((double)base.tanks[2].getMaxFill())) + (((double)base.tanks[3].getFill()) / ((double)base.tanks[3].getMaxFill()))) * ((maxSize - minSize) / 2); - GL11.glScaled(scale, scale, scale); - - GL11.glColor3ub((byte)((base.color & 0xFF0000) >> 16), (byte)((base.color & 0x00FF00) >> 8), (byte)((base.color & 0x0000FF) >> 0)); - - GL11.glDisable(GL11.GL_TEXTURE_2D); - - int rot = (int) ((System.nanoTime()/100000000)%360) * 3; - - GL11.glRotatef(rot, 0F, 1F, 0F); - GL11.glScalef(0.5F, 0.5F, 0.5F); - ResourceManager.sphere_ruv.renderAll(); - GL11.glScalef(1/0.5F, 1/0.5F, 1/0.5F); - - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); - - GL11.glRotatef(-rot * 2, 0F, 1F, 0F); - GL11.glScalef(0.6F, 0.6F, 0.6F); - ResourceManager.sphere_ruv.renderAll(); - GL11.glScalef(1/0.6F, 1/0.6F, 1/0.6F); - - GL11.glRotatef(rot * 2, 0F, 1F, 0F); - GL11.glScalef(0.7F, 0.7F, 0.7F); - ResourceManager.sphere_ruv.renderAll(); - GL11.glScalef(1/0.7F, 1/0.7F, 1/0.7F); - - GL11.glRotatef(-rot * 2, 0F, 1F, 0F); - GL11.glScalef(0.8F, 0.8F, 0.8F); - ResourceManager.sphere_ruv.renderAll(); - GL11.glScalef(1/0.8F, 1/0.8F, 1/0.8F); - - GL11.glRotatef(rot * 2, 0F, 1F, 0F); - GL11.glScalef(0.9F, 0.9F, 0.9F); - ResourceManager.sphere_ruv.renderAll(); - GL11.glScalef(1/0.9F, 1/0.9F, 1/0.9F); - - GL11.glRotatef(-rot * 2, 0F, 1F, 0F); - ResourceManager.sphere_ruv.renderAll(); - - GL11.glDisable(GL11.GL_BLEND); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - - GL11.glPopMatrix(); - } -} diff --git a/src/main/java/com/hbm/render/tileentity/RenderAMSEmitter.java b/src/main/java/com/hbm/render/tileentity/RenderAMSEmitter.java deleted file mode 100644 index 0454f808d..000000000 --- a/src/main/java/com/hbm/render/tileentity/RenderAMSEmitter.java +++ /dev/null @@ -1,145 +0,0 @@ -package com.hbm.render.tileentity; - -import java.util.Random; - -import org.lwjgl.opengl.GL11; - -import com.hbm.main.ResourceManager; -import com.hbm.tileentity.machine.TileEntityAMSBase; -import com.hbm.tileentity.machine.TileEntityAMSEmitter; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.tileentity.TileEntity; - -public class RenderAMSEmitter extends TileEntitySpecialRenderer { - - public RenderAMSEmitter() { } - Random rand = new Random(); - - @Override - public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) - { - GL11.glPushMatrix(); - GL11.glTranslated(x + 0.5D, y, z + 0.5D); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glRotatef(180, 0F, 1F, 0F); - - - if(((TileEntityAMSEmitter)tileEntity).locked) - bindTexture(ResourceManager.ams_destroyed_tex); - else - bindTexture(ResourceManager.ams_emitter_tex); - - if(((TileEntityAMSEmitter)tileEntity).locked) - ResourceManager.ams_emitter_destroyed.renderAll(); - else - ResourceManager.ams_emitter.renderAll(); - - GL11.glPopMatrix(); - renderTileEntityAt2(tileEntity, x, y, z, f); - } - - public void renderTileEntityAt2(TileEntity tileEntity, double x, double y, double z, float f) - { - float radius = 0.04F; - int distance = 1; - int layers = 3; - Tessellator tessellator = Tessellator.instance; - - GL11.glPushMatrix(); - GL11.glDisable(GL11.GL_TEXTURE_2D); - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); - GL11.glTranslatef((float) x + 0.5F, (float) y - 7, (float) z + 0.5F); - - TileEntityAMSEmitter emitter = (TileEntityAMSEmitter)tileEntity; - - if(emitter.getWorldObj().getTileEntity(emitter.xCoord, emitter.yCoord - 9, emitter.zCoord) instanceof TileEntityAMSBase && !emitter.locked || true) { - - if(emitter.efficiency > 0 || true) { - - double lastPosX = 0; - double lastPosZ = 0; - - for(int i = 7; i > 0; i -= distance) { - - double posX = rand.nextDouble() - 0.5; - double posZ = rand.nextDouble() - 0.5; - - for(int j = 1; j <= layers; j++) { - - tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(1, 0.5F, 0, 1f); - tessellator.addVertex(lastPosX + (radius * j), i, lastPosZ + (radius * j)); - tessellator.addVertex(lastPosX + (radius * j), i, lastPosZ - (radius * j)); - tessellator.addVertex(posX + (radius * j), i - distance, posZ - (radius * j)); - tessellator.addVertex(posX + (radius * j), i - distance, posZ + (radius * j)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(1, 0.5F, 0, 1f); - tessellator.addVertex(lastPosX - (radius * j), i, lastPosZ + (radius * j)); - tessellator.addVertex(lastPosX - (radius * j), i, lastPosZ - (radius * j)); - tessellator.addVertex(posX - (radius * j), i - distance, posZ - (radius * j)); - tessellator.addVertex(posX - (radius * j), i - distance, posZ + (radius * j)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(1, 0.5F, 0, 1f); - tessellator.addVertex(lastPosX + (radius * j), i, lastPosZ + (radius * j)); - tessellator.addVertex(lastPosX - (radius * j), i, lastPosZ + (radius * j)); - tessellator.addVertex(posX - (radius * j), i - distance, posZ + (radius * j)); - tessellator.addVertex(posX + (radius * j), i - distance, posZ + (radius * j)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(1, 0.5F, 0, 1f); - tessellator.addVertex(lastPosX + (radius * j), i, lastPosZ - (radius * j)); - tessellator.addVertex(lastPosX - (radius * j), i, lastPosZ - (radius * j)); - tessellator.addVertex(posX - (radius * j), i - distance, posZ - (radius * j)); - tessellator.addVertex(posX + (radius * j), i - distance, posZ - (radius * j)); - tessellator.draw(); - } - - lastPosX = posX; - lastPosZ = posZ; - } - } - - for(int j = 1; j <= 2; j++) { - - tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(1, 1, 0, 1f); - tessellator.addVertex(0 + (radius * j), 7, 0 + (radius * j)); - tessellator.addVertex(0 + (radius * j), 7, 0 - (radius * j)); - tessellator.addVertex(0 + (radius * j), 0, 0 - (radius * j)); - tessellator.addVertex(0 + (radius * j), 0, 0 + (radius * j)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(1, 1, 0, 1f); - tessellator.addVertex(0 - (radius * j), 7, 0 + (radius * j)); - tessellator.addVertex(0 - (radius * j), 7, 0 - (radius * j)); - tessellator.addVertex(0 - (radius * j), 0, 0 - (radius * j)); - tessellator.addVertex(0 - (radius * j), 0, 0 + (radius * j)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(1, 1, 0, 1f); - tessellator.addVertex(0 + (radius * j), 7, 0 + (radius * j)); - tessellator.addVertex(0 - (radius * j), 7, 0 + (radius * j)); - tessellator.addVertex(0 - (radius * j), 0, 0 + (radius * j)); - tessellator.addVertex(0 + (radius * j), 0, 0 + (radius * j)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(1, 1, 0, 1f); - tessellator.addVertex(0 + (radius * j), 7, 0 - (radius * j)); - tessellator.addVertex(0 - (radius * j), 7, 0 - (radius * j)); - tessellator.addVertex(0 - (radius * j), 0, 0 - (radius * j)); - tessellator.addVertex(0 + (radius * j), 0, 0 - (radius * j)); - tessellator.draw(); - } - } - - GL11.glDisable(GL11.GL_BLEND); - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glPopMatrix(); - } -} diff --git a/src/main/java/com/hbm/render/tileentity/RenderAMSLimiter.java b/src/main/java/com/hbm/render/tileentity/RenderAMSLimiter.java deleted file mode 100644 index 8d3abdd52..000000000 --- a/src/main/java/com/hbm/render/tileentity/RenderAMSLimiter.java +++ /dev/null @@ -1,297 +0,0 @@ -package com.hbm.render.tileentity; - -import org.lwjgl.opengl.GL11; - -import com.hbm.main.ResourceManager; -import com.hbm.tileentity.machine.TileEntityAMSBase; -import com.hbm.tileentity.machine.TileEntityAMSLimiter; - -import net.minecraft.client.renderer.RenderHelper; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.tileentity.TileEntity; - -public class RenderAMSLimiter extends TileEntitySpecialRenderer { - - public RenderAMSLimiter() { } - - @Override - public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) - { - GL11.glPushMatrix(); - GL11.glTranslated(x + 0.5D, y, z + 0.5D); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glRotatef(180, 0F, 1F, 0F); - GL11.glRotatef(-90, 0F, 1F, 0F); - switch(tileEntity.getBlockMetadata()) - { - case 2: - GL11.glRotatef(90, 0F, 1F, 0F); break; - case 4: - GL11.glRotatef(180, 0F, 1F, 0F); break; - case 3: - GL11.glRotatef(270, 0F, 1F, 0F); break; - case 5: - GL11.glRotatef(0, 0F, 1F, 0F); break; - } - - if(((TileEntityAMSLimiter)tileEntity).locked) - bindTexture(ResourceManager.ams_destroyed_tex); - else - bindTexture(ResourceManager.ams_limiter_tex); - - if(((TileEntityAMSLimiter)tileEntity).locked) - ResourceManager.ams_limiter_destroyed.renderAll(); - else - ResourceManager.ams_limiter.renderAll(); - - GL11.glPopMatrix(); - renderTileEntityAt2(tileEntity, x, y, z, f); - } - - public void renderTileEntityAt2(TileEntity tileEntity, double x, double y, double z, float f) - { - GL11.glPushMatrix(); - GL11.glTranslated(x + 0.5D, y, z + 0.5D); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glRotatef(180, 0F, 1F, 0F); - GL11.glRotatef(-90, 0F, 1F, 0F); - - switch(tileEntity.getBlockMetadata()) - { - case 2: - GL11.glRotatef(90, 0F, 1F, 0F); break; - case 4: - GL11.glRotatef(180, 0F, 1F, 0F); break; - case 3: - GL11.glRotatef(270, 0F, 1F, 0F); break; - case 5: - GL11.glRotatef(0, 0F, 1F, 0F); break; - } - - // bindTexture(ResourceManager.universal); - - TileEntityAMSLimiter limiter = (TileEntityAMSLimiter)tileEntity; - - int meta = tileEntity.getBlockMetadata(); - boolean flag = false; - double maxSize = 5; - double minSize = 0.5; - if(meta == 2 && tileEntity.getWorldObj().getTileEntity(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord - 6) instanceof TileEntityAMSBase && !limiter.locked) { - flag = true; - TileEntityAMSBase base = (TileEntityAMSBase)tileEntity.getWorldObj().getTileEntity(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord - 6); - maxSize += ((((double)base.tanks[2].getFill()) / ((double)base.tanks[2].getMaxFill())) + (((double)base.tanks[3].getFill()) / ((double)base.tanks[3].getMaxFill()))) * ((maxSize - minSize) / 2); - } - if(meta == 3 && tileEntity.getWorldObj().getTileEntity(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord + 6) instanceof TileEntityAMSBase && !limiter.locked) { - flag = true; - TileEntityAMSBase base = (TileEntityAMSBase)tileEntity.getWorldObj().getTileEntity(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord + 6); - maxSize += ((((double)base.tanks[2].getFill()) / ((double)base.tanks[2].getMaxFill())) + (((double)base.tanks[3].getFill()) / ((double)base.tanks[3].getMaxFill()))) * ((maxSize - minSize) / 2); - } - if(meta == 4 && tileEntity.getWorldObj().getTileEntity(tileEntity.xCoord - 6, tileEntity.yCoord, tileEntity.zCoord) instanceof TileEntityAMSBase && !limiter.locked) { - flag = true; - TileEntityAMSBase base = (TileEntityAMSBase)tileEntity.getWorldObj().getTileEntity(tileEntity.xCoord - 6, tileEntity.yCoord, tileEntity.zCoord); - maxSize += ((((double)base.tanks[2].getFill()) / ((double)base.tanks[2].getMaxFill())) + (((double)base.tanks[3].getFill()) / ((double)base.tanks[3].getMaxFill()))) * ((maxSize - minSize) / 2); - } - if(meta == 5 && tileEntity.getWorldObj().getTileEntity(tileEntity.xCoord + 6, tileEntity.yCoord, tileEntity.zCoord) instanceof TileEntityAMSBase && !limiter.locked) { - flag = true; - TileEntityAMSBase base = (TileEntityAMSBase)tileEntity.getWorldObj().getTileEntity(tileEntity.xCoord + 6, tileEntity.yCoord, tileEntity.zCoord); - maxSize += ((((double)base.tanks[2].getFill()) / ((double)base.tanks[2].getMaxFill())) + (((double)base.tanks[3].getFill()) / ((double)base.tanks[3].getMaxFill()))) * ((maxSize - minSize) / 2); - } - - if(flag) { - - GL11.glRotatef(-90, 0F, 1F, 0F); - - double posX = 0; - double posY = 0; - double posZ = 0; - double length = 4; - double radius = 0.12; - GL11.glTranslated(2.5, 5.5, 0); - - RenderHelper.disableStandardItemLighting(); - GL11.glDisable(GL11.GL_TEXTURE_2D); - GL11.glShadeModel(GL11.GL_SMOOTH); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); - GL11.glDisable(GL11.GL_ALPHA_TEST); - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glDepthMask(false); - Tessellator tessellator = Tessellator.instance; - tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(0.408F - 0.175F, 0.686F - 0.175F, 0.686F - 0.175F, 0f); - tessellator.addVertex(posX + length, posY - radius, posZ - radius); - tessellator.addVertex(posX + length, posY - radius, posZ + radius); - tessellator.setColorRGBA_F(0.408F - 0.175F, 0.686F - 0.175F, 0.686F - 0.175F, 1); - tessellator.addVertex(posX, posY - radius, posZ + radius); - tessellator.addVertex(posX, posY - radius, posZ - radius); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(0.408F - 0.175F, 0.686F - 0.175F, 0.686F - 0.175F, 0f); - tessellator.addVertex(posX + length, posY + radius, posZ + radius); - tessellator.addVertex(posX + length, posY + radius, posZ - radius); - tessellator.setColorRGBA_F(0.408F - 0.175F, 0.686F - 0.175F, 0.686F - 0.175F, 1); - tessellator.addVertex(posX, posY + radius, posZ - radius); - tessellator.addVertex(posX, posY + radius, posZ + radius); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(0.408F - 0.175F, 0.686F - 0.175F, 0.686F - 0.175F, 0f); - tessellator.addVertex(posX + length, posY - radius, posZ - radius); - tessellator.addVertex(posX + length, posY + radius, posZ - radius); - tessellator.setColorRGBA_F(0.408F - 0.175F, 0.686F - 0.175F, 0.686F - 0.175F, 1); - tessellator.addVertex(posX, posY + radius, posZ - radius); - tessellator.addVertex(posX, posY - radius, posZ - radius); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(0.408F - 0.175F, 0.686F - 0.175F, 0.686F - 0.175F, 0f); - tessellator.addVertex(posX + length, posY - radius, posZ + radius); - tessellator.addVertex(posX + length, posY + radius, posZ + radius); - tessellator.setColorRGBA_F(0.408F - 0.175F, 0.686F - 0.175F, 0.686F - 0.175F, 1); - tessellator.addVertex(posX, posY + radius, posZ + radius); - tessellator.addVertex(posX, posY - radius, posZ + radius); - tessellator.draw(); - - if(limiter.efficiency > 0) { - - radius *= 2; - RenderHelper.disableStandardItemLighting(); - GL11.glDisable(GL11.GL_TEXTURE_2D); - GL11.glShadeModel(GL11.GL_SMOOTH); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); - GL11.glDisable(GL11.GL_ALPHA_TEST); - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glDepthMask(false); - tessellator.startDrawingQuads(); - //tessellator.setColorRGBA_F(0.494F, 0.8F, 0.796F, 0f); - //tessellator.setColorRGBA_F(0, 0.627F, 0.627F, 0f); - //tessellator.setColorRGBA_F(0, 0.765F, 0.765F, 0f); - tessellator.setColorRGBA_F(0.408F - 0.175F, 0.686F - 0.175F, 0.686F - 0.175F, 0f); - tessellator.addVertex(posX + length, posY - radius, posZ - radius); - tessellator.addVertex(posX + length, posY - radius, posZ + radius); - tessellator.setColorRGBA_F(0.408F - 0.175F, 0.686F - 0.175F, 0.686F - 0.175F, 1); - tessellator.addVertex(posX, posY - radius, posZ + radius); - tessellator.addVertex(posX, posY - radius, posZ - radius); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(0.408F - 0.175F, 0.686F - 0.175F, 0.686F - 0.175F, 0f); - tessellator.addVertex(posX + length, posY + radius, posZ + radius); - tessellator.addVertex(posX + length, posY + radius, posZ - radius); - tessellator.setColorRGBA_F(0.408F - 0.175F, 0.686F - 0.175F, 0.686F - 0.175F, 1); - tessellator.addVertex(posX, posY + radius, posZ - radius); - tessellator.addVertex(posX, posY + radius, posZ + radius); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(0.408F - 0.175F, 0.686F - 0.175F, 0.686F - 0.175F, 0f); - tessellator.addVertex(posX + length, posY - radius, posZ - radius); - tessellator.addVertex(posX + length, posY + radius, posZ - radius); - tessellator.setColorRGBA_F(0.408F - 0.175F, 0.686F - 0.175F, 0.686F - 0.175F, 1); - tessellator.addVertex(posX, posY + radius, posZ - radius); - tessellator.addVertex(posX, posY - radius, posZ - radius); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(0.408F - 0.175F, 0.686F - 0.175F, 0.686F - 0.175F, 0f); - tessellator.addVertex(posX + length, posY - radius, posZ + radius); - tessellator.addVertex(posX + length, posY + radius, posZ + radius); - tessellator.setColorRGBA_F(0.408F - 0.175F, 0.686F - 0.175F, 0.686F - 0.175F, 1); - tessellator.addVertex(posX, posY + radius, posZ + radius); - tessellator.addVertex(posX, posY - radius, posZ + radius); - tessellator.draw(); - - /*double iRadiusB = 0.3; - double oRadiusB = 2; - double iRadiusS = iRadiusB * 0.75; - double oRadiusS = oRadiusB * 0.60; - double bLength = rad; - - int rot = (int) ((System.nanoTime()/100000000)%360) * 3; - - GL11.glRotatef(rot, 1F, 0F, 0F); - - tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(0, 0, 1F, 0f); - tessellator.addVertex(posX + bLength, posY - oRadiusB, posZ - oRadiusS); - tessellator.addVertex(posX + bLength, posY - oRadiusB, posZ + oRadiusS); - tessellator.setColorRGBA_F(0, 0, 1F, 1f); - tessellator.addVertex(posX, posY - iRadiusB, posZ + iRadiusS); - tessellator.addVertex(posX, posY - iRadiusB, posZ - iRadiusS); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(0, 0, 1F, 0f); - tessellator.addVertex(posX + bLength, posY + oRadiusB, posZ - oRadiusS); - tessellator.addVertex(posX + bLength, posY + oRadiusB, posZ + oRadiusS); - tessellator.setColorRGBA_F(0, 0, 1F, 1f); - tessellator.addVertex(posX, posY + iRadiusB, posZ + iRadiusS); - tessellator.addVertex(posX, posY + iRadiusB, posZ - iRadiusS); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(0, 0, 1F, 0f); - tessellator.addVertex(posX + bLength, posY - oRadiusS, posZ - oRadiusB); - tessellator.addVertex(posX + bLength, posY + oRadiusS, posZ - oRadiusB); - tessellator.setColorRGBA_F(0, 0, 1F, 1f); - tessellator.addVertex(posX, posY + iRadiusS, posZ - iRadiusB); - tessellator.addVertex(posX, posY - iRadiusS, posZ - iRadiusB); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(0, 0, 1F, 0f); - tessellator.addVertex(posX + bLength, posY - oRadiusS, posZ + oRadiusB); - tessellator.addVertex(posX + bLength, posY + oRadiusS, posZ + oRadiusB); - tessellator.setColorRGBA_F(0, 0, 1F, 1f); - tessellator.addVertex(posX, posY + iRadiusS, posZ + iRadiusB); - tessellator.addVertex(posX, posY - iRadiusS, posZ + iRadiusB); - tessellator.draw(); - - iRadiusB *= 0.60; - oRadiusB *= 0.60; - iRadiusS = iRadiusB * 0.75; - oRadiusS = oRadiusB * 0.60; - bLength = 2.5; - - GL11.glRotatef(-2 * rot, 1F, 0F, 0F); - - tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(0.25F, 0.25F, 1F, 1f); - tessellator.addVertex(posX + bLength, posY - oRadiusB, posZ - oRadiusS); - tessellator.addVertex(posX + bLength, posY - oRadiusB, posZ + oRadiusS); - tessellator.addVertex(posX, posY - iRadiusB, posZ + iRadiusS); - tessellator.addVertex(posX, posY - iRadiusB, posZ - iRadiusS); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(0.25F, 0.25F, 1F, 1f); - tessellator.addVertex(posX + bLength, posY + oRadiusB, posZ - oRadiusS); - tessellator.addVertex(posX + bLength, posY + oRadiusB, posZ + oRadiusS); - tessellator.addVertex(posX, posY + iRadiusB, posZ + iRadiusS); - tessellator.addVertex(posX, posY + iRadiusB, posZ - iRadiusS); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(0.25F, 0.25F, 1F, 1f); - tessellator.addVertex(posX + bLength, posY - oRadiusS, posZ - oRadiusB); - tessellator.addVertex(posX + bLength, posY + oRadiusS, posZ - oRadiusB); - tessellator.addVertex(posX, posY + iRadiusS, posZ - iRadiusB); - tessellator.addVertex(posX, posY - iRadiusS, posZ - iRadiusB); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setColorRGBA_F(0.25F, 0.25F, 1F, 1f); - tessellator.addVertex(posX + bLength, posY - oRadiusS, posZ + oRadiusB); - tessellator.addVertex(posX + bLength, posY + oRadiusS, posZ + oRadiusB); - tessellator.addVertex(posX, posY + iRadiusS, posZ + iRadiusB); - tessellator.addVertex(posX, posY - iRadiusS, posZ + iRadiusB); - tessellator.draw();*/ - } - - - GL11.glDisable(GL11.GL_BLEND); - GL11.glEnable(GL11.GL_ALPHA_TEST); - GL11.glShadeModel(GL11.GL_FLAT); - RenderHelper.enableStandardItemLighting(); - GL11.glDepthMask(true); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glEnable(GL11.GL_TEXTURE_2D); - } - - GL11.glPopMatrix(); - } -} diff --git a/src/main/java/com/hbm/render/tileentity/RenderBobble.java b/src/main/java/com/hbm/render/tileentity/RenderBobble.java index 5d2e0ea14..fc5332997 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderBobble.java +++ b/src/main/java/com/hbm/render/tileentity/RenderBobble.java @@ -30,6 +30,8 @@ public class RenderBobble extends TileEntitySpecialRenderer { public static final IModelCustom bobble = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/trinkets/bobble.obj")); public static final ResourceLocation socket = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/socket.png"); + public static final ResourceLocation glow = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/glow.png"); + public static final ResourceLocation lamp = new ResourceLocation(RefStrings.MODID, "textures/blocks/fluorescent_lamp.png"); public static final ResourceLocation bobble_vaultboy = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/vaultboy.png"); public static final ResourceLocation bobble_hbm = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/hbm.png"); @@ -47,6 +49,7 @@ public class RenderBobble extends TileEntitySpecialRenderer { public static final ResourceLocation bobble_cirno = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/cirno.png"); public static final ResourceLocation bobble_microwave = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/microwave.png"); public static final ResourceLocation bobble_peep = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/peep.png"); + public static final ResourceLocation bobble_mellow = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/mellowrpg8.png"); @Override public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float intero) { @@ -98,6 +101,7 @@ public class RenderBobble extends TileEntitySpecialRenderer { case DRILLGON: bindTexture(bobble_drillgon); break; case MICROWAVE: bindTexture(bobble_microwave); break; case PEEP: bindTexture(bobble_peep); break; + case MELLOW: bindTexture(bobble_mellow); break; default: bindTexture(ResourceManager.universal); } @@ -201,10 +205,17 @@ public class RenderBobble extends TileEntitySpecialRenderer { case VAER: rotLeftArm = new double[]{0, -5, 45}; rotRightArm = new double[]{0, 15, 45}; + break; case PEEP: rotLeftArm = new double[]{0, 0, 1}; rotRightArm = new double[]{0, 0, 1}; break; + case MELLOW: + rotLeftArm = new double[]{0, 10, 0}; + rotRightArm = new double[]{0, -10, 0}; + rotLeftLeg = new double[]{3, 5, 2}; + rotRightLeg = new double[]{-3, -5, 0}; + break; } } @@ -442,6 +453,20 @@ public class RenderBobble extends TileEntitySpecialRenderer { GL11.glScaled(0.5, 0.5, 0.5); shotgun.renderDud(0.0625F); break; + case MELLOW: + GL11.glEnable(GL11.GL_BLEND); + GL11.glAlphaFunc(GL11.GL_GREATER, 0); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); + GL11.glPushAttrib(GL11.GL_LIGHTING_BIT); + OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240F, 240F); + this.bindTexture(lamp); + bobble.renderPart("Fluoro"); + this.bindTexture(glow); + bobble.renderPart("Glow"); + GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F); + GL11.glDisable(GL11.GL_BLEND); + GL11.glPopAttrib(); + break; } } diff --git a/src/main/java/com/hbm/render/tileentity/RenderConnector.java b/src/main/java/com/hbm/render/tileentity/RenderConnector.java index bbd6b0c5e..64a3eb44e 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderConnector.java +++ b/src/main/java/com/hbm/render/tileentity/RenderConnector.java @@ -12,6 +12,7 @@ public class RenderConnector extends RenderPylonBase { @Override public void renderTileEntityAt(TileEntity te, double x, double y, double z, float interp) { TileEntityConnector con = (TileEntityConnector) te; + GL11.glEnable(GL11.GL_LIGHTING); GL11.glPushMatrix(); @@ -33,7 +34,7 @@ public class RenderConnector extends RenderPylonBase { GL11.glPopMatrix(); GL11.glPushMatrix(); - this.renderSingleLine(con, x, y, z); + this.renderLinesGeneric(con, x, y, z); GL11.glPopMatrix(); } } diff --git a/src/main/java/com/hbm/render/tileentity/RenderDecoBlock.java b/src/main/java/com/hbm/render/tileentity/RenderDecoBlock.java index 38905a176..00cdc05fa 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderDecoBlock.java +++ b/src/main/java/com/hbm/render/tileentity/RenderDecoBlock.java @@ -13,7 +13,6 @@ import com.hbm.render.model.ModelSteelCorner; import com.hbm.render.model.ModelSteelRoof; import com.hbm.render.model.ModelSteelScaffold; import com.hbm.render.model.ModelSteelWall; -import com.hbm.tileentity.deco.TileEntityBomber; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; @@ -231,33 +230,6 @@ public class RenderDecoBlock extends TileEntitySpecialRenderer { ResourceManager.duchessgambit.renderAll(); } - if(tileentity instanceof TileEntityBomber) - { - TileEntityBomber bomber = (TileEntityBomber)tileentity; - - float yaw = (float)(((double)bomber.yaw) / 180D * Math.PI); - float pitch = (float)(((double)bomber.pitch) / 180D * Math.PI); - - GL11.glRotatef(yaw - 90.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(90, 0F, 0F, 1F); - GL11.glRotatef(pitch, 0.0F, 0.0F, 1.0F); - - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glScalef(5F, 5F, 5F); - - int i = bomber.type; - - switch(i) { - case 0: bindTexture(ResourceManager.dornier_0_tex); break; - case 1: bindTexture(ResourceManager.dornier_1_tex); break; - case 2: bindTexture(ResourceManager.dornier_2_tex); break; - default: bindTexture(ResourceManager.dornier_1_tex); break; - } - - ResourceManager.dornier.renderAll(); - } - if(tileentity.getWorldObj().getBlock(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord) == ModBlocks.sat_radar) { GL11.glRotatef(180, 0F, 0F, 1F); GL11.glTranslatef(0, -1.5F, 0); diff --git a/src/main/java/com/hbm/render/tileentity/RenderDoorGeneric.java b/src/main/java/com/hbm/render/tileentity/RenderDoorGeneric.java index 080be2114..33bdb32d9 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderDoorGeneric.java +++ b/src/main/java/com/hbm/render/tileentity/RenderDoorGeneric.java @@ -2,7 +2,6 @@ package com.hbm.render.tileentity; import java.nio.DoubleBuffer; -import org.apache.commons.lang3.tuple.Pair; import org.lwjgl.opengl.GL11; import com.hbm.animloader.AnimatedModel; @@ -11,7 +10,7 @@ import com.hbm.animloader.AnimationWrapper; import com.hbm.animloader.AnimationWrapper.EndResult; import com.hbm.animloader.AnimationWrapper.EndType; import com.hbm.blocks.BlockDummyable; -import com.hbm.render.loader.WavefrontObjDisplayList; +import com.hbm.render.loader.IModelCustomNamed; import com.hbm.tileentity.DoorDecl; import com.hbm.tileentity.TileEntityDoorGeneric; @@ -75,25 +74,33 @@ public class RenderDoorGeneric extends TileEntitySpecialRenderer { animModel.controller.setAnim(w); animModel.renderAnimated(System.currentTimeMillis()); } else { - WavefrontObjDisplayList model = door.getModel(); + IModelCustomNamed model = door.getModel(); long ms = System.currentTimeMillis()-te.animStartTime; float openTicks = MathHelper.clamp_float(te.state == 2 || te.state == 0 ? door.timeToOpen()*50-ms : ms, 0, door.timeToOpen()*50)*0.02F; - for(Pair p : model.nameToCallList){ - if(!door.doesRender(p.getLeft(), false)) + + for(String partName : model.getPartNames()) { + if(!door.doesRender(partName, false)) continue; + GL11.glPushMatrix(); - bindTexture(door.getTextureForPart(te.getSkinIndex(), p.getLeft())); - doPartTransform(door, p.getLeft(), openTicks, false); - GL11.glCallList(p.getRight()); - for(String name : door.getChildren(p.getLeft())){ - if(!door.doesRender(name, true)) - continue; - GL11.glPushMatrix(); - bindTexture(door.getTextureForPart(te.getSkinIndex(), name)); - doPartTransform(door, name, openTicks, true); - model.renderPart(name); - GL11.glPopMatrix(); + { + bindTexture(door.getTextureForPart(te.getSkinIndex(), partName)); + doPartTransform(door, partName, openTicks, false); + model.renderPart(partName); + + for(String innerPartName : door.getChildren(partName)) { + if(!door.doesRender(innerPartName, true)) + continue; + + GL11.glPushMatrix(); + { + bindTexture(door.getTextureForPart(te.getSkinIndex(), innerPartName)); + doPartTransform(door, innerPartName, openTicks, true); + model.renderPart(innerPartName); + } + GL11.glPopMatrix(); + } } GL11.glPopMatrix(); } diff --git a/src/main/java/com/hbm/render/tileentity/RenderDrain.java b/src/main/java/com/hbm/render/tileentity/RenderDrain.java new file mode 100644 index 000000000..e2fdcfce0 --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderDrain.java @@ -0,0 +1,58 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ModBlocks; +import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderBase; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.item.Item; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.client.IItemRenderer; + +public class RenderDrain extends TileEntitySpecialRenderer implements IItemRendererProvider { + + @Override + public void renderTileEntityAt(TileEntity te, double x, double y, double z, float interp) { + + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_CULL_FACE); + + switch(te.getBlockMetadata() - BlockDummyable.offset) { + case 4: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(0, 0F, 1F, 0F); break; + case 2: GL11.glRotatef(90, 0F, 1F, 0F); break; + } + + bindTexture(ResourceManager.drain_tex); + ResourceManager.drain.renderAll(); + + GL11.glPopMatrix(); + + } + + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.machine_drain); + } + + @Override + public IItemRenderer getRenderer() { + return new ItemRenderBase( ) { + public void renderInventory() { + GL11.glTranslated(-1, -1, 0); + GL11.glScaled(5, 5, 5); + } + public void renderCommon() { + GL11.glRotatef(180, 0F, 1F, 0F); + GL11.glTranslated(0.75, 0, 0); + bindTexture(ResourceManager.drain_tex); ResourceManager.drain.renderAll(); + } + }; + } +} diff --git a/src/main/java/com/hbm/render/tileentity/RenderHydrotreater.java b/src/main/java/com/hbm/render/tileentity/RenderHydrotreater.java new file mode 100644 index 000000000..b2e3b319a --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderHydrotreater.java @@ -0,0 +1,52 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.ModBlocks; +import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderBase; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.item.Item; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.client.IItemRenderer; + +public class RenderHydrotreater extends TileEntitySpecialRenderer implements IItemRendererProvider { + + @Override + public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float f) { + + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5, y, z + 0.5); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_CULL_FACE); + + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.hydrotreater_tex); + ResourceManager.hydrotreater.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPopMatrix(); + } + + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.machine_hydrotreater); + } + + @Override + public IItemRenderer getRenderer() { + return new ItemRenderBase() { + public void renderInventory() { + GL11.glTranslated(0, -4, 0); + GL11.glScaled(4, 4, 4); + } + public void renderCommon() { + GL11.glScaled(0.5, 0.5, 0.5); + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.hydrotreater_tex); + ResourceManager.hydrotreater.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + }}; + } +} diff --git a/src/main/java/com/hbm/render/tileentity/RenderICF.java b/src/main/java/com/hbm/render/tileentity/RenderICF.java new file mode 100644 index 000000000..650f57fda --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderICF.java @@ -0,0 +1,37 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.main.ResourceManager; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; + +public class RenderICF extends TileEntitySpecialRenderer { + + @Override + public void renderTileEntityAt(TileEntity te, double x, double y, double z, float f) { + + GL11.glPushMatrix(); + GL11.glTranslatef((float) x + 0.5F, (float) y, (float) z + 0.5F); + + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glShadeModel(GL11.GL_SMOOTH); + + switch(te.getBlockMetadata() - BlockDummyable.offset) { + case 2: GL11.glRotatef(90, 0F, 1F, 0F); break; + case 4: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(0, 0F, 1F, 0F); break; + } + + bindTexture(ResourceManager.icf_tex); + ResourceManager.icf.renderAll(); + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPopMatrix(); + } +} diff --git a/src/main/java/com/hbm/render/tileentity/RenderICFController.java b/src/main/java/com/hbm/render/tileentity/RenderICFController.java new file mode 100644 index 000000000..9bc0d69ba --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderICFController.java @@ -0,0 +1,45 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.render.util.BeamPronter; +import com.hbm.render.util.BeamPronter.EnumBeamType; +import com.hbm.render.util.BeamPronter.EnumWaveType; +import com.hbm.tileentity.machine.TileEntityICFController; + +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.Vec3; + +public class RenderICFController extends TileEntitySpecialRenderer { + + @Override + public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float f) { + + TileEntityICFController controller = (TileEntityICFController) tile; + + if(controller.laserLength > 0) { + + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5); + GL11.glRotatef(90, 0F, 1F, 0F); + switch(tile.getBlockMetadata()) { + case 4: GL11.glRotatef(90, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 2: GL11.glRotatef(0, 0F, 1F, 0F); break; + } + + GL11.glDisable(GL11.GL_TEXTURE_2D); + GL11.glPushAttrib(GL11.GL_LIGHTING_BIT); + GL11.glDisable(GL11.GL_LIGHTING); + OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240F, 240F); + BeamPronter.prontBeam(Vec3.createVectorHelper(controller.laserLength, 0, 0), EnumWaveType.SPIRAL, EnumBeamType.SOLID, 0x202020, 0x100000, 0, 1, 0F, 10, 0.125F); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glPopAttrib(); + + GL11.glPopMatrix(); + } + } +} diff --git a/src/main/java/com/hbm/render/tileentity/RenderIGenerator.java b/src/main/java/com/hbm/render/tileentity/RenderIGenerator.java index 5431dc93c..3fd621158 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderIGenerator.java +++ b/src/main/java/com/hbm/render/tileentity/RenderIGenerator.java @@ -1,6 +1,7 @@ package com.hbm.render.tileentity; import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; import com.hbm.blocks.BlockDummyable; import com.hbm.main.ResourceManager; @@ -30,6 +31,11 @@ public class RenderIGenerator extends TileEntitySpecialRenderer { GL11.glEnable(GL11.GL_LIGHTING); GL11.glDisable(GL11.GL_CULL_FACE); GL11.glShadeModel(GL11.GL_SMOOTH); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + + GL11.glTranslated(0, 0, 1); + GL11.glScaled(1D/6D, 1D/6D, 1D/6D); + GL11.glTranslated(0, 0, -0.5); bindTexture(ResourceManager.igen_tex); ResourceManager.igen.renderPart("Body"); @@ -39,6 +45,8 @@ public class RenderIGenerator extends TileEntitySpecialRenderer { GL11.glRotatef(-rot, 0, 0, 1); GL11.glTranslated(0, -1.5D, 0); ResourceManager.igen.renderPart("Rotor"); + + GL11.glDisable(GL12.GL_RESCALE_NORMAL); GL11.glPopMatrix(); } diff --git a/src/main/java/com/hbm/render/tileentity/RenderLaunchPad.java b/src/main/java/com/hbm/render/tileentity/RenderLaunchPad.java new file mode 100644 index 000000000..a57b0cce3 --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderLaunchPad.java @@ -0,0 +1,52 @@ +package com.hbm.render.tileentity; + +import java.util.function.Consumer; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.inventory.RecipesCommon.ComparableStack; +import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderMissileGeneric; +import com.hbm.tileentity.bomb.TileEntityLaunchPad; + +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; + +public class RenderLaunchPad extends TileEntitySpecialRenderer { + + @Override + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_CULL_FACE); + + switch(tileEntity.getBlockMetadata() - BlockDummyable.offset) { + case 2: GL11.glRotatef(90, 0F, 1F, 0F); break; + case 4: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(0, 0F, 1F, 0F); break; + } + + bindTexture(ResourceManager.missile_pad_tex); + ResourceManager.missile_pad.renderAll(); + + if(tileEntity instanceof TileEntityLaunchPad) { + ItemStack toRender = ((TileEntityLaunchPad) tileEntity).toRender; + + if(toRender != null) { + GL11.glTranslated(0, 1, 0); + Consumer renderer = ItemRenderMissileGeneric.renderers.get(new ComparableStack(toRender).makeSingular()); + if(renderer != null) renderer.accept(this.field_147501_a.field_147553_e); + } + } + + GL11.glEnable(GL11.GL_CULL_FACE); + + GL11.glPopMatrix(); + } + +} diff --git a/src/main/java/com/hbm/render/tileentity/RenderLaunchPadLarge.java b/src/main/java/com/hbm/render/tileentity/RenderLaunchPadLarge.java new file mode 100644 index 000000000..4ddd583dd --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderLaunchPadLarge.java @@ -0,0 +1,131 @@ +package com.hbm.render.tileentity; + +import java.util.function.Consumer; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.RecipesCommon.ComparableStack; +import com.hbm.items.weapon.ItemMissile; +import com.hbm.items.weapon.ItemMissile.MissileFormFactor; +import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderBase; +import com.hbm.render.item.ItemRenderMissileGeneric; +import com.hbm.tileentity.bomb.TileEntityLaunchPadLarge; + +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.client.IItemRenderer; + +public class RenderLaunchPadLarge extends TileEntitySpecialRenderer implements IItemRendererProvider { + + @Override + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_CULL_FACE); + + switch(tileEntity.getBlockMetadata() - BlockDummyable.offset) { + case 2: GL11.glRotatef(90, 0F, 1F, 0F); break; + case 4: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(0, 0F, 1F, 0F); break; + } + + TileEntityLaunchPadLarge pad = (TileEntityLaunchPadLarge) tileEntity; + + bindTexture(ResourceManager.missile_erector_tex); + ResourceManager.missile_erector.renderPart("Pad"); + + if(pad.formFactor >= 0 && pad.formFactor < ItemMissile.MissileFormFactor.values().length) { + + MissileFormFactor formFactor = MissileFormFactor.values()[pad.formFactor]; + String[] parts = null; + double[] offset = null; + + switch(formFactor) { + case ABM: parts = new String[] {"ABM_Pad", "ABM_Erector", "ABM_Pivot", "ABM_Rope"}; + offset = new double[] {1.5D, 1.25D}; + bindTexture(ResourceManager.missile_erector_abm_tex); break; + case MICRO: parts = new String[] {"Micro_Pad", "Micro_Erector", "Micro_Pivot", "Micro_Rope"}; + offset = new double[] {1.5D, 1.25D}; + bindTexture(ResourceManager.missile_erector_micro_tex); break; + case V2: parts = new String[] {"V2_Pad", "V2_Erector", "V2_Pivot", "V2_Rope"}; + offset = new double[] {1.75D, 1.25D}; + bindTexture(ResourceManager.missile_erector_v2_tex); break; + case STRONG: parts = new String[] {"Strong_Pad", "Strong_Erector", "Strong_Pivot", "Strong_Rope"}; + offset = new double[] {3D, 1.5D}; + bindTexture(ResourceManager.missile_erector_strong_tex); break; + case HUGE: parts = new String[] {"Huge_Pad", "Huge_Erector", "Huge_Pivot", "Huge_Rope"}; + offset = new double[] {3D, 1.5D}; + bindTexture(ResourceManager.missile_erector_huge_tex); break; + case ATLAS: parts = new String[] {"Atlas_Pad", "Atlas_Erector", "Atlas_Pivot", "Atlas_Rope"}; + offset = new double[] {4D, 1.5D}; + bindTexture(ResourceManager.missile_erector_atlas_tex); break; + case OTHER: parts = new String[] {"ABM_Pad", "ABM_Erector", "ABM_Pivot", "ABM_Rope"}; + offset = new double[] {1.5D, 1.25D}; + bindTexture(ResourceManager.missile_erector_abm_tex); break; + } + + float erectorAngle = pad.prevErector + (pad.erector - pad.prevErector) * f; + float erectorLift = pad.prevLift + (pad.lift - pad.prevLift) * f; + + GL11.glPushMatrix(); + GL11.glShadeModel(GL11.GL_SMOOTH); + ResourceManager.missile_erector.renderPart(parts[0]); + if(pad.toRender != null && pad.erected) ResourceManager.missile_erector.renderPart(parts[3]); + GL11.glTranslated(0, offset[1], -offset[0]); + GL11.glRotatef(-erectorAngle, 1, 0, 0); + GL11.glTranslated(0, -offset[1], offset[0]); + ResourceManager.missile_erector.renderPart(parts[2]); + GL11.glTranslatef(0, erectorLift, 0); + ResourceManager.missile_erector.renderPart(parts[1]); + GL11.glShadeModel(GL11.GL_FLAT); + + if(pad.erected) { + GL11.glPopMatrix(); + GL11.glPushMatrix(); + } + + if(pad.toRender != null && (pad.erected || pad.readyToLoad)) { + GL11.glTranslated(0, 2, 0); + Consumer renderer = ItemRenderMissileGeneric.renderers.get(new ComparableStack(pad.toRender).makeSingular()); + if(renderer != null) renderer.accept(this.field_147501_a.field_147553_e); + } + GL11.glPopMatrix(); + } + + GL11.glPopMatrix(); + } + + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.launch_pad_large); + } + + @Override + public IItemRenderer getRenderer() { + return new ItemRenderBase( ) { + public void renderInventory() { + GL11.glTranslated(0, -3.75, 0); + GL11.glScaled(1.625, 1.625, 1.625); + } + public void renderCommonWithStack(ItemStack item) { + GL11.glScaled(0.5, 0.5, 0.5); + GL11.glRotatef(90, 0F, 1F, 0F); + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.missile_erector_tex); + ResourceManager.missile_erector.renderPart("Pad"); + bindTexture(ResourceManager.missile_erector_atlas_tex); + ResourceManager.missile_erector.renderPart("Atlas_Pad"); + ResourceManager.missile_erector.renderPart("Atlas_Erector"); + ResourceManager.missile_erector.renderPart("Atlas_Pivot"); + GL11.glShadeModel(GL11.GL_FLAT); + }}; + } +} diff --git a/src/main/java/com/hbm/render/tileentity/RenderLaunchPadRusted.java b/src/main/java/com/hbm/render/tileentity/RenderLaunchPadRusted.java new file mode 100644 index 000000000..3b0dec424 --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderLaunchPadRusted.java @@ -0,0 +1,72 @@ +package com.hbm.render.tileentity; + +import java.util.function.Consumer; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.RecipesCommon.ComparableStack; +import com.hbm.items.ModItems; +import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderBase; +import com.hbm.render.item.ItemRenderMissileGeneric; +import com.hbm.tileentity.bomb.TileEntityLaunchPadRusted; + +import net.minecraft.client.renderer.texture.TextureManager; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.item.Item; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.client.IItemRenderer; + +public class RenderLaunchPadRusted extends TileEntitySpecialRenderer implements IItemRendererProvider { + + @Override + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_CULL_FACE); + + switch(tileEntity.getBlockMetadata() - BlockDummyable.offset) { + case 2: GL11.glRotatef(90, 0F, 1F, 0F); break; + case 4: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(0, 0F, 1F, 0F); break; + } + + bindTexture(ResourceManager.missile_pad_rusted_tex); + ResourceManager.missile_pad.renderAll(); + + if(tileEntity instanceof TileEntityLaunchPadRusted) { + TileEntityLaunchPadRusted launchpad = (TileEntityLaunchPadRusted) tileEntity; + if(launchpad.missileLoaded) { + GL11.glTranslated(0, 1, 0); + Consumer renderer = ItemRenderMissileGeneric.renderers.get(new ComparableStack(ModItems.missile_doomsday_rusted).makeSingular()); + if(renderer != null) renderer.accept(this.field_147501_a.field_147553_e); + } + } + + GL11.glEnable(GL11.GL_CULL_FACE); + + GL11.glPopMatrix(); + } + + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.launch_pad_rusted); + } + + @Override + public IItemRenderer getRenderer() { + + return new ItemRenderBase() { + @Override public void renderInventory() { + GL11.glTranslated(0, -1, 0); + GL11.glScaled(3, 3, 3); + } + @Override public void renderCommon() { + bindTexture(ResourceManager.missile_pad_rusted_tex); ResourceManager.missile_pad.renderAll(); + }}; + } +} diff --git a/src/main/java/com/hbm/render/tileentity/RenderLaunchPadTier1.java b/src/main/java/com/hbm/render/tileentity/RenderLaunchPadTier1.java deleted file mode 100644 index 8b6e245aa..000000000 --- a/src/main/java/com/hbm/render/tileentity/RenderLaunchPadTier1.java +++ /dev/null @@ -1,220 +0,0 @@ -package com.hbm.render.tileentity; - -import org.lwjgl.opengl.GL11; - -import com.hbm.items.ModItems; -import com.hbm.main.ResourceManager; -import com.hbm.tileentity.bomb.TileEntityLaunchPad; - -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; - -public class RenderLaunchPadTier1 extends TileEntitySpecialRenderer { - - @Override - public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) { - GL11.glPushMatrix(); - GL11.glTranslated(x + 0.5D, y, z + 0.5D); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); - - bindTexture(ResourceManager.missile_pad_tex); - ResourceManager.missile_pad.renderAll(); - - GL11.glDisable(GL11.GL_CULL_FACE); - - if(tileEntity instanceof TileEntityLaunchPad) { - ItemStack toRender = ((TileEntityLaunchPad) tileEntity).toRender; - - if(toRender != null) { - GL11.glTranslated(0, 1, 0); - - //TODO: add a registry for missile rendering to be reused here and for the entity renderer - if(toRender.getItem() == ModItems.missile_generic) { - GL11.glScalef(1.0F, 1.0F, 1.0F); - bindTexture(ResourceManager.missileV2_HE_tex); - GL11.glShadeModel(GL11.GL_SMOOTH); - ResourceManager.missileV2.renderAll(); - GL11.glShadeModel(GL11.GL_FLAT); - } - if(toRender.getItem() == ModItems.missile_decoy) { - GL11.glScalef(1.0F, 1.0F, 1.0F); - bindTexture(ResourceManager.missileV2_decoy_tex); - GL11.glShadeModel(GL11.GL_SMOOTH); - ResourceManager.missileV2.renderAll(); - GL11.glShadeModel(GL11.GL_FLAT); - } - if(toRender.getItem() == ModItems.missile_strong) { - GL11.glScalef(1.5F, 1.5F, 1.5F); - bindTexture(ResourceManager.missileStrong_HE_tex); - GL11.glShadeModel(GL11.GL_SMOOTH); - ResourceManager.missileStrong.renderAll(); - GL11.glShadeModel(GL11.GL_FLAT); - } - if(toRender.getItem() == ModItems.missile_cluster) { - GL11.glScalef(1.0F, 1.0F, 1.0F); - bindTexture(ResourceManager.missileV2_CL_tex); - GL11.glShadeModel(GL11.GL_SMOOTH); - ResourceManager.missileV2.renderAll(); - GL11.glShadeModel(GL11.GL_FLAT); - } - if(toRender.getItem() == ModItems.missile_nuclear) { - GL11.glScalef(1.5F, 1.5F, 1.5F); - bindTexture(ResourceManager.missileNuclear_tex); - ResourceManager.missileNuclear.renderAll(); - } - if(toRender.getItem() == ModItems.missile_incendiary) { - GL11.glScalef(1.0F, 1.0F, 1.0F); - bindTexture(ResourceManager.missileV2_IN_tex); - GL11.glShadeModel(GL11.GL_SMOOTH); - ResourceManager.missileV2.renderAll(); - GL11.glShadeModel(GL11.GL_FLAT); - } - if(toRender.getItem() == ModItems.missile_buster) { - GL11.glScalef(1.0F, 1.0F, 1.0F); - bindTexture(ResourceManager.missileV2_BU_tex); - GL11.glShadeModel(GL11.GL_SMOOTH); - ResourceManager.missileV2.renderAll(); - GL11.glShadeModel(GL11.GL_FLAT); - } - if(toRender.getItem() == ModItems.missile_incendiary_strong) { - GL11.glScalef(1.5F, 1.5F, 1.5F); - bindTexture(ResourceManager.missileStrong_IN_tex); - GL11.glShadeModel(GL11.GL_SMOOTH); - ResourceManager.missileStrong.renderAll(); - GL11.glShadeModel(GL11.GL_FLAT); - } - if(toRender.getItem() == ModItems.missile_cluster_strong) { - GL11.glScalef(1.5F, 1.5F, 1.5F); - bindTexture(ResourceManager.missileStrong_CL_tex); - GL11.glShadeModel(GL11.GL_SMOOTH); - ResourceManager.missileStrong.renderAll(); - GL11.glShadeModel(GL11.GL_FLAT); - } - if(toRender.getItem() == ModItems.missile_buster_strong) { - GL11.glScalef(1.5F, 1.5F, 1.5F); - bindTexture(ResourceManager.missileStrong_BU_tex); - GL11.glShadeModel(GL11.GL_SMOOTH); - ResourceManager.missileStrong.renderAll(); - GL11.glShadeModel(GL11.GL_FLAT); - } - if(toRender.getItem() == ModItems.missile_burst) { - bindTexture(ResourceManager.missileHuge_HE_tex); - GL11.glShadeModel(GL11.GL_SMOOTH); - ResourceManager.missileHuge.renderAll(); - GL11.glShadeModel(GL11.GL_FLAT); - } - if(toRender.getItem() == ModItems.missile_inferno) { - bindTexture(ResourceManager.missileHuge_IN_tex); - GL11.glShadeModel(GL11.GL_SMOOTH); - ResourceManager.missileHuge.renderAll(); - GL11.glShadeModel(GL11.GL_FLAT); - } - if(toRender.getItem() == ModItems.missile_rain) { - bindTexture(ResourceManager.missileHuge_CL_tex); - GL11.glShadeModel(GL11.GL_SMOOTH); - ResourceManager.missileHuge.renderAll(); - GL11.glShadeModel(GL11.GL_FLAT); - } - if(toRender.getItem() == ModItems.missile_drill) { - bindTexture(ResourceManager.missileHuge_BU_tex); - GL11.glShadeModel(GL11.GL_SMOOTH); - ResourceManager.missileHuge.renderAll(); - GL11.glShadeModel(GL11.GL_FLAT); - } - if(toRender.getItem() == ModItems.missile_endo) { - GL11.glScalef(1.5F, 1.5F, 1.5F); - bindTexture(ResourceManager.missileEndo_tex); - ResourceManager.missileThermo.renderAll(); - } - if(toRender.getItem() == ModItems.missile_exo) { - GL11.glScalef(1.5F, 1.5F, 1.5F); - bindTexture(ResourceManager.missileExo_tex); - ResourceManager.missileThermo.renderAll(); - } - if(toRender.getItem() == ModItems.missile_nuclear_cluster) { - GL11.glScalef(1.5F, 1.5F, 1.5F); - bindTexture(ResourceManager.missileMIRV_tex); - ResourceManager.missileNuclear.renderAll(); - } - if(toRender.getItem() == ModItems.missile_doomsday) { - GL11.glScalef(2F, 2F, 2F); - bindTexture(ResourceManager.missileDoomsday_tex); - ResourceManager.missileDoomsday.renderAll(); - } - if(toRender.getItem() == ModItems.missile_taint) { - GL11.glScalef(2F, 2F, 2F); - bindTexture(ResourceManager.missileTaint_tex); - ResourceManager.missileTaint.renderAll(); - } - if(toRender.getItem() == ModItems.missile_micro) { - GL11.glScalef(2F, 2F, 2F); - bindTexture(ResourceManager.missileMicro_tex); - ResourceManager.missileTaint.renderAll(); - } - if(toRender.getItem() == ModItems.missile_carrier) { - GL11.glScalef(2F, 2F, 2F); - bindTexture(ResourceManager.missileCarrier_tex); - ResourceManager.missileCarrier.renderAll(); - GL11.glTranslated(0.0D, 0.5D, 0.0D); - GL11.glTranslated(1.25D, 0.0D, 0.0D); - bindTexture(ResourceManager.missileBooster_tex); - ResourceManager.missileBooster.renderAll(); - GL11.glTranslated(-2.5D, 0.0D, 0.0D); - ResourceManager.missileBooster.renderAll(); - GL11.glTranslated(1.25D, 0.0D, 0.0D); - GL11.glTranslated(0.0D, 0.0D, 1.25D); - ResourceManager.missileBooster.renderAll(); - GL11.glTranslated(0.0D, 0.0D, -2.5D); - ResourceManager.missileBooster.renderAll(); - GL11.glTranslated(0.0D, 0.0D, 1.25D); - } - if(toRender.getItem() == ModItems.missile_anti_ballistic) { - GL11.glScalef(1.0F, 1.0F, 1.0F); - bindTexture(ResourceManager.missileAA_tex); - GL11.glShadeModel(GL11.GL_SMOOTH); - ResourceManager.missileABM.renderAll(); - GL11.glShadeModel(GL11.GL_FLAT); - } - if(toRender.getItem() == ModItems.missile_bhole) { - GL11.glScalef(2F, 2F, 2F); - bindTexture(ResourceManager.missileMicroBHole_tex); - ResourceManager.missileTaint.renderAll(); - } - if(toRender.getItem() == ModItems.missile_schrabidium) { - GL11.glScalef(2F, 2F, 2F); - bindTexture(ResourceManager.missileMicroSchrab_tex); - ResourceManager.missileTaint.renderAll(); - } - if(toRender.getItem() == ModItems.missile_emp) { - GL11.glScalef(2F, 2F, 2F); - bindTexture(ResourceManager.missileMicroEMP_tex); - ResourceManager.missileTaint.renderAll(); - } - if(toRender.getItem() == ModItems.missile_emp_strong) { - GL11.glScalef(1.5F, 1.5F, 1.5F); - bindTexture(ResourceManager.missileStrong_EMP_tex); - GL11.glShadeModel(GL11.GL_SMOOTH); - ResourceManager.missileStrong.renderAll(); - GL11.glShadeModel(GL11.GL_FLAT); - } - if(toRender.getItem() == ModItems.missile_volcano) { - GL11.glScalef(1.5F, 1.5F, 1.5F); - bindTexture(ResourceManager.missileVolcano_tex); - ResourceManager.missileNuclear.renderAll(); - } - if(toRender.getItem() == ModItems.missile_shuttle) { - GL11.glScalef(1.0F, 1.0F, 1.0F); - bindTexture(ResourceManager.missileShuttle_tex); - ResourceManager.missileShuttle.renderAll(); - } - } - } - - GL11.glEnable(GL11.GL_CULL_FACE); - - GL11.glPopMatrix(); - } - -} diff --git a/src/main/java/com/hbm/render/tileentity/RenderLaunchTable.java b/src/main/java/com/hbm/render/tileentity/RenderLaunchTable.java index 20e1c131b..7f8b6b0c8 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderLaunchTable.java +++ b/src/main/java/com/hbm/render/tileentity/RenderLaunchTable.java @@ -2,8 +2,8 @@ package com.hbm.render.tileentity; import org.lwjgl.opengl.GL11; -import com.hbm.items.weapon.ItemMissile; -import com.hbm.items.weapon.ItemMissile.PartSize; +import com.hbm.items.weapon.ItemCustomMissilePart; +import com.hbm.items.weapon.ItemCustomMissilePart.PartSize; import com.hbm.main.ResourceManager; import com.hbm.render.util.MissileMultipart; import com.hbm.render.util.MissilePronter; @@ -87,7 +87,7 @@ public class RenderLaunchTable extends TileEntitySpecialRenderer { emptyM.renderAll(); } else { - if(launcher.load != null && launcher.load.fuselage != null && ((ItemMissile)launcher.load.fuselage).top == launcher.padSize) { + if(launcher.load != null && launcher.load.fuselage != null && ((ItemCustomMissilePart)launcher.load.fuselage).top == launcher.padSize) { bindTexture(connector); connectorM.renderAll(); } else { diff --git a/src/main/java/com/hbm/render/tileentity/RenderLoot.java b/src/main/java/com/hbm/render/tileentity/RenderLoot.java index 1813bb7d7..da6545a1e 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderLoot.java +++ b/src/main/java/com/hbm/render/tileentity/RenderLoot.java @@ -1,16 +1,20 @@ package com.hbm.render.tileentity; import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; import com.hbm.blocks.generic.BlockLoot.TileEntityLoot; import com.hbm.items.ModItems; +import com.hbm.items.armor.ArmorTrenchmaster; import com.hbm.lib.RefStrings; import com.hbm.main.ResourceManager; import com.hbm.render.model.ModelFatman; import com.hbm.render.model.ModelLeverAction; import com.hbm.util.Tuple.Quartet; +import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.texture.TextureMap; @@ -47,6 +51,8 @@ public class RenderLoot extends TileEntitySpecialRenderer { } else if(stack.getItem() == ModItems.gun_lever_action) { renderShotgun(); + } else if(stack.getItem() instanceof ArmorTrenchmaster) { + renderTrenchmaster(stack); } else { renderStandardItem(item.getW()); } @@ -57,6 +63,57 @@ public class RenderLoot extends TileEntitySpecialRenderer { GL11.glPopMatrix(); } + private void renderTrenchmaster(ItemStack stack) { + GL11.glPushMatrix(); + GL11.glTranslated(0.5, 1.5, 0.5); + GL11.glScaled(0.0625, 0.0625, 0.0625); + GL11.glRotated(180, 1, 0, 0); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + if(stack.getItem() == ModItems.trenchmaster_helmet) { + bindTexture(ResourceManager.trenchmaster_helmet); + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(770, 771, 1, 0); + ResourceManager.armor_trenchmaster.renderPart("Helmet"); + GL11.glDisable(GL11.GL_BLEND); + float lastX = OpenGlHelper.lastBrightnessX; + float lastY = OpenGlHelper.lastBrightnessY; + GL11.glPushAttrib(GL11.GL_LIGHTING_BIT); + OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240F, 240F); + GL11.glDisable(GL11.GL_LIGHTING); + ResourceManager.armor_trenchmaster.renderPart("Light"); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glPopAttrib(); + OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, lastX, lastY); + } + if(stack.getItem() == ModItems.trenchmaster_plate) { + bindTexture(ResourceManager.trenchmaster_chest); + ResourceManager.armor_trenchmaster.renderPart("Chest"); + bindTexture(ResourceManager.trenchmaster_arm); + GL11.glPushMatrix(); + GL11.glRotated(-3, 1, 0, 0); + ResourceManager.armor_trenchmaster.renderPart("LeftArm"); + ResourceManager.armor_trenchmaster.renderPart("RightArm"); + GL11.glPopMatrix(); + } + if(stack.getItem() == ModItems.trenchmaster_legs) { + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.trenchmaster_leg); + ResourceManager.armor_trenchmaster.renderPart("LeftLeg"); + GL11.glPushMatrix(); + GL11.glRotated(-0.1, 1, 0, 0); + ResourceManager.armor_trenchmaster.renderPart("RightLeg"); + GL11.glPopMatrix(); + } + if(stack.getItem() == ModItems.trenchmaster_boots) { + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.trenchmaster_leg); + ResourceManager.armor_trenchmaster.renderPart("LeftBoot"); + GL11.glPushMatrix(); + GL11.glRotated(-0.1, 1, 0, 0); + ResourceManager.armor_trenchmaster.renderPart("RightBoot"); + GL11.glPopMatrix(); + } + GL11.glPopMatrix(); + } + private void renderNuke() { GL11.glScaled(0.5, 0.5, 0.5); GL11.glTranslated(1, 0.5, 1); @@ -82,16 +139,20 @@ public class RenderLoot extends TileEntitySpecialRenderer { protected ModelLeverAction shotgun; private void renderShotgun() { - - if(shotgun == null) - shotgun = new ModelLeverAction(); - GL11.glScaled(0.25, 0.25, 0.25); - GL11.glTranslated(3, 0.0625, 2); - GL11.glRotated(-25, 0, 1, 0); + GL11.glScaled(0.5, 0.5, 0.5); + GL11.glTranslated(1, 0, 0); + GL11.glRotated(25, 0, 1, 0); GL11.glRotated(90, 1, 0, 0); - bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelLeverAction.png")); - shotgun.render(null, 0F, 0F, 0F, 0F, 0F, 0.0625F); + GL11.glRotated(90, 0, 1, 0); + + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + bindTexture(ResourceManager.ff_wood); + ResourceManager.ff_maresleg.renderPart("Grip"); + bindTexture(ResourceManager.ff_gun_bright); + ResourceManager.ff_maresleg.renderPart("Gun"); + ResourceManager.ff_maresleg.renderPart("Lever"); + GL11.glDisable(GL12.GL_RESCALE_NORMAL); } private void renderStandardItem(ItemStack stack) { diff --git a/src/main/java/com/hbm/render/tileentity/RenderMachineShredder.java b/src/main/java/com/hbm/render/tileentity/RenderMachineShredder.java deleted file mode 100644 index fbcc4b08c..000000000 --- a/src/main/java/com/hbm/render/tileentity/RenderMachineShredder.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.hbm.render.tileentity; - -import org.lwjgl.opengl.GL11; - -import com.hbm.main.ResourceManager; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.tileentity.TileEntity; - -public class RenderMachineShredder extends TileEntitySpecialRenderer { - - @Override - public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) { - GL11.glPushMatrix(); - GL11.glTranslated(x + 0.5D, y, z + 0.5D); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glShadeModel(GL11.GL_SMOOTH); - GL11.glRotatef(180, 0F, 1F, 0F); - - bindTexture(ResourceManager.shredder_tex); - ResourceManager.shredder.renderPart("Base"); - - double side = 0.3D; - double height = 2.75D; - float rot = (System.currentTimeMillis() / 5) % 360; - - GL11.glPushMatrix(); - GL11.glTranslated(side, height, 0); - GL11.glRotatef(rot, 0F, 0F, 1F); - ResourceManager.shredder.renderPart("Blades1"); - GL11.glPopMatrix(); - - GL11.glPushMatrix(); - GL11.glTranslated(-side, height, 0); - GL11.glRotatef(rot, 0F, 0F, -1F); - ResourceManager.shredder.renderPart("Blades2"); - GL11.glPopMatrix(); - - GL11.glShadeModel(GL11.GL_FLAT); - - GL11.glPopMatrix(); - } -} diff --git a/src/main/java/com/hbm/render/tileentity/RenderMiningDrill.java b/src/main/java/com/hbm/render/tileentity/RenderMiningDrill.java deleted file mode 100644 index a034556c5..000000000 --- a/src/main/java/com/hbm/render/tileentity/RenderMiningDrill.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.hbm.render.tileentity; - -import org.lwjgl.opengl.GL11; - -import com.hbm.main.ResourceManager; -import com.hbm.tileentity.machine.TileEntityMachineMiningDrill; - -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.tileentity.TileEntity; - -public class RenderMiningDrill extends TileEntitySpecialRenderer { - - @Override - public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) - { - GL11.glPushMatrix(); - GL11.glTranslated(x + 0.5D, y, z + 0.5D); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glRotatef(180, 0F, 1F, 0F); - switch(tileEntity.getBlockMetadata()) - { - case 2: - GL11.glRotatef(180, 0F, 1F, 0F); break; - case 4: - GL11.glRotatef(270, 0F, 1F, 0F); break; - case 3: - GL11.glRotatef(0, 0F, 1F, 0F); break; - case 5: - GL11.glRotatef(90, 0F, 1F, 0F); break; - } - - bindTexture(ResourceManager.drill_body_tex); - - ResourceManager.drill_body.renderAll(); - - GL11.glPopMatrix(); - - renderTileEntityAt2(tileEntity, x, y, z, f); - } - - public void renderTileEntityAt2(TileEntity tileEntity, double x, double y, double z, float f) - { - GL11.glPushMatrix(); - GL11.glTranslated(x + 0.5D, y, z + 0.5D); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glRotatef(180, 0F, 1F, 0F); - switch(tileEntity.getBlockMetadata()) - { - case 2: - GL11.glRotatef(90, 0F, 1F, 0F); break; - case 4: - GL11.glRotatef(180, 0F, 1F, 0F); break; - case 3: - GL11.glRotatef(270, 0F, 1F, 0F); break; - case 5: - GL11.glRotatef(0, 0F, 1F, 0F); break; - } - - GL11.glRotatef(((TileEntityMachineMiningDrill)tileEntity).rotation, 0F, 1F, 0F); - - bindTexture(ResourceManager.drill_bolt_tex); - ResourceManager.drill_bolt.renderAll(); - - GL11.glPopMatrix(); - } -} diff --git a/src/main/java/com/hbm/render/tileentity/RenderNukeGadget.java b/src/main/java/com/hbm/render/tileentity/RenderNukeGadget.java index a41bdf06b..3168f7c12 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderNukeGadget.java +++ b/src/main/java/com/hbm/render/tileentity/RenderNukeGadget.java @@ -2,38 +2,66 @@ package com.hbm.render.tileentity; import org.lwjgl.opengl.GL11; +import com.hbm.blocks.ModBlocks; import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderBase; +import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.item.Item; import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.client.IItemRenderer; -public class RenderNukeGadget extends TileEntitySpecialRenderer { +public class RenderNukeGadget extends TileEntitySpecialRenderer implements IItemRendererProvider { - @Override - public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) - { - GL11.glPushMatrix(); - GL11.glTranslated(x + 0.5D, y, z + 0.5D); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); - switch(tileEntity.getBlockMetadata()) - { - case 2: - GL11.glRotatef(90, 0F, 1F, 0F); break; - case 4: - GL11.glRotatef(180, 0F, 1F, 0F); break; - case 3: - GL11.glRotatef(270, 0F, 1F, 0F); break; - case 5: - GL11.glRotatef(0, 0F, 1F, 0F); break; + @Override + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); + + switch(tileEntity.getBlockMetadata()) { + case 2: GL11.glRotatef(0, 0F, 1F, 0F); break; + case 4: GL11.glRotatef(90, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(270, 0F, 1F, 0F); break; } - bindTexture(ResourceManager.bomb_gadget_tex); - ResourceManager.bomb_gadget.renderAll(); - - GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.bomb_gadget_tex); + ResourceManager.bomb_gadget.renderPart("Body"); + + if(Minecraft.getMinecraft().gameSettings.fancyGraphics) + ResourceManager.bomb_gadget.renderPart("Wires"); + GL11.glShadeModel(GL11.GL_FLAT); - GL11.glPopMatrix(); - } + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glPopMatrix(); + } + + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.nuke_gadget); + } + + @Override + public IItemRenderer getRenderer() { + return new ItemRenderBase() { + public void renderInventory() { + GL11.glTranslated(0, -3, 0); + GL11.glScaled(5, 5, 5); + } + public void renderCommon() { + GL11.glRotatef(-90, 0F, 1F, 0F); + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.bomb_gadget_tex); + ResourceManager.bomb_gadget.renderPart("Body"); + + if(Minecraft.getMinecraft().gameSettings.fancyGraphics) + ResourceManager.bomb_gadget.renderPart("Wires"); + GL11.glShadeModel(GL11.GL_FLAT); + }}; + } } diff --git a/src/main/java/com/hbm/render/tileentity/RenderNukeN45.java b/src/main/java/com/hbm/render/tileentity/RenderNukeN45.java deleted file mode 100644 index 415d2c26f..000000000 --- a/src/main/java/com/hbm/render/tileentity/RenderNukeN45.java +++ /dev/null @@ -1,113 +0,0 @@ -package com.hbm.render.tileentity; - -import org.lwjgl.opengl.GL11; - -import com.hbm.main.ResourceManager; -import com.hbm.tileentity.bomb.TileEntityNukeN45; - -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.tileentity.TileEntity; - -public class RenderNukeN45 extends TileEntitySpecialRenderer { - - @Override - public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) - { - boolean standing = tileEntity.getWorldObj().getBlock(tileEntity.xCoord, tileEntity.yCoord - 1, tileEntity.zCoord).isNormalCube(); - - GL11.glPushMatrix(); - GL11.glTranslated(x + 0.5D, y, z + 0.5D); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); - bindTexture(ResourceManager.universal); - - GL11.glPushMatrix(); - - //GL11.glScaled(2.0D, 2.0D, 2.0D); - - if(standing) { - ResourceManager.n45_stand.renderAll(); - } - - double d = 0.25; - - if(((TileEntityNukeN45)tileEntity).primed) - d /= 4D; - - GL11.glTranslated(0, standing ? 1D : 0.5D, 0); - - ResourceManager.n45_globe.renderAll(); - - GL11.glRotated(90, 1, 0, 0); - - for(int i = 0; i < 8; i++) { - ResourceManager.n45_knob.renderAll(); - GL11.glTranslated(0, -d, 0); - ResourceManager.n45_rod.renderAll(); - GL11.glTranslated(0, d, 0); - GL11.glRotated(45, 0, 0, 1); - } - - GL11.glRotated(45, 0, 0, 1); - - for(int i = 0; i < 4; i++) { - GL11.glRotated(-45, 1, 0, 0); - ResourceManager.n45_knob.renderAll(); - GL11.glTranslated(0, -d, 0); - ResourceManager.n45_rod.renderAll(); - GL11.glTranslated(0, d, 0); - GL11.glRotated(45, 1, 0, 0); - GL11.glRotated(90, 0, 0, 1); - } - - GL11.glRotated(-90, 0, 0, 1); - - for(int i = 0; i < 4; i++) { - GL11.glRotated(45, 1, 0, 0); - ResourceManager.n45_knob.renderAll(); - GL11.glTranslated(0, -d, 0); - ResourceManager.n45_rod.renderAll(); - GL11.glTranslated(0, d, 0); - GL11.glRotated(-45, 1, 0, 0); - GL11.glRotated(90, 0, 0, 1); - } - - GL11.glRotated(45, 0, 0, 1); - GL11.glRotated(-90, 1, 0, 0); - - ResourceManager.n45_knob.renderAll(); - GL11.glTranslated(0, -d, 0); - ResourceManager.n45_rod.renderAll(); - GL11.glTranslated(0, d, 0); - - if(!standing) { - int depth = 0; - - for(int i = 0; i < 51; i++) { - - if(!tileEntity.getWorldObj().getBlock(tileEntity.xCoord, tileEntity.yCoord - i - 1, tileEntity.zCoord).isNormalCube()) { - depth++; - } else { - break; - } - } - - if(depth != 0 && depth < 51) { - - GL11.glTranslated(0, -1D, 0); - - for(int i = 0; i < depth + 1; i++) { - - ResourceManager.n45_chain.renderAll(); - GL11.glTranslated(0, -1, 0); - } - } - } - - GL11.glPopMatrix(); - - GL11.glEnable(GL11.GL_CULL_FACE); - - GL11.glPopMatrix(); - } -} diff --git a/src/main/java/com/hbm/render/tileentity/RenderPedestalTile.java b/src/main/java/com/hbm/render/tileentity/RenderPedestalTile.java new file mode 100644 index 000000000..6f39d7389 --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderPedestalTile.java @@ -0,0 +1,61 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.generic.BlockPedestal.TileEntityPedestal; + +import net.minecraft.block.Block; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.RenderHelper; +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.entity.RenderManager; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; + +public class RenderPedestalTile extends TileEntitySpecialRenderer { + + @Override + public void renderTileEntityAt(TileEntity te, double x, double y, double z, float interp) { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5, y + 1, z + 0.5); + GL11.glEnable(GL11.GL_LIGHTING); + RenderHelper.enableStandardItemLighting(); + + TileEntityPedestal pedestal = (TileEntityPedestal) te; + + if(pedestal.item != null) { + + EntityPlayer player = Minecraft.getMinecraft().thePlayer; + ItemStack stack = pedestal.item.copy(); + GL11.glScaled(1.5, 1.5, 1.5); + + if(!(stack.getItemSpriteNumber() == 0 && stack.getItem() instanceof ItemBlock && RenderBlocks.renderItemIn3d(Block.getBlockFromItem(stack.getItem()).getRenderType()))) { + GL11.glTranslated(0, 0.125, 0); + GL11.glRotatef(player.prevRotationYaw + (player.rotationYaw - player.prevRotationYaw) * interp + 180, 0.0F, -1.0F, 0.0F); + + if(!RenderManager.instance.options.fancyGraphics) { + GL11.glRotatef(180F, 0.0F, 1.0F, 0.0F); + } + + GL11.glTranslated(0, Math.sin((player.ticksExisted + interp) * 0.1) * 0.0625, 0); + } else { + GL11.glTranslated(0, Math.sin((player.ticksExisted + interp) * 0.1) * 0.0625 + 0.0625, 0); + } + + EntityItem dummy = new EntityItem(te.getWorldObj(), 0, 0, 0, stack); + dummy.hoverStart = 0.0F; + + RenderItem.renderInFrame = true; + RenderManager.instance.renderEntityWithPosYaw(dummy, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F); + RenderItem.renderInFrame = false; + } + + GL11.glPopMatrix(); + } + +} diff --git a/src/main/java/com/hbm/render/tileentity/RenderPlasmaHeater.java b/src/main/java/com/hbm/render/tileentity/RenderPlasmaHeater.java index f16e7205a..0a268b920 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderPlasmaHeater.java +++ b/src/main/java/com/hbm/render/tileentity/RenderPlasmaHeater.java @@ -14,27 +14,26 @@ public class RenderPlasmaHeater extends TileEntitySpecialRenderer { public void renderTileEntityAt(TileEntity te, double x, double y, double z, float f) { GL11.glPushMatrix(); - GL11.glTranslatef((float)x + 0.5F, (float)y, (float)z + 0.5F); - + GL11.glTranslatef((float) x + 0.5F, (float) y, (float) z + 0.5F); + GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glShadeModel(GL11.GL_SMOOTH); - + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glShadeModel(GL11.GL_SMOOTH); + switch(te.getBlockMetadata() - BlockDummyable.offset) { case 2: GL11.glRotatef(0, 0F, 1F, 0F); break; case 4: GL11.glRotatef(90, 0F, 1F, 0F); break; case 3: GL11.glRotatef(180, 0F, 1F, 0F); break; case 5: GL11.glRotatef(270, 0F, 1F, 0F); break; } - - GL11.glTranslatef(0, 0, 18); - - bindTexture(ResourceManager.iter_microwave); - ResourceManager.iter.renderPart("Microwave"); - GL11.glShadeModel(GL11.GL_FLAT); + GL11.glTranslatef(0, 0, 18); + + bindTexture(ResourceManager.iter_microwave); + ResourceManager.iter.renderPart("Microwave"); + + GL11.glShadeModel(GL11.GL_FLAT); GL11.glPopMatrix(); } - } diff --git a/src/main/java/com/hbm/render/tileentity/RenderPylon.java b/src/main/java/com/hbm/render/tileentity/RenderPylon.java index f36a62bbf..ef270f2f3 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderPylon.java +++ b/src/main/java/com/hbm/render/tileentity/RenderPylon.java @@ -23,6 +23,8 @@ public class RenderPylon extends RenderPylonBase { public void renderTileEntityAt(TileEntity te, double x, double y, double z, float f) { TileEntityPylon pyl = (TileEntityPylon)te; + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glPushMatrix(); GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F - ((1F / 16F) * 14F), (float) z + 0.5F); GL11.glRotatef(180, 0F, 0F, 1F); @@ -31,7 +33,7 @@ public class RenderPylon extends RenderPylonBase { GL11.glPopMatrix(); GL11.glPushMatrix(); - this.renderSingleLine(pyl, x, y, z); + this.renderLinesGeneric(pyl, x, y, z); GL11.glPopMatrix(); } } diff --git a/src/main/java/com/hbm/render/tileentity/RenderPylonBase.java b/src/main/java/com/hbm/render/tileentity/RenderPylonBase.java index 2dda796c5..1d69ca2ba 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderPylonBase.java +++ b/src/main/java/com/hbm/render/tileentity/RenderPylonBase.java @@ -2,10 +2,9 @@ package com.hbm.render.tileentity; import org.lwjgl.opengl.GL11; +import com.hbm.main.ResourceManager; import com.hbm.tileentity.network.TileEntityPylonBase; -import com.hbm.tileentity.network.TileEntityPylonBase.ConnectionType; -import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; @@ -15,63 +14,6 @@ import net.minecraft.world.World; public abstract class RenderPylonBase extends TileEntitySpecialRenderer { - //TODO: adapt this into a more generic form for multi wire pylons - @Deprecated - public void renderSingleLine(TileEntityPylonBase pyl, double x, double y, double z) { - - for(int i = 0; i < pyl.connected.size(); i++) { - - int[] wire = pyl.connected.get(i); - TileEntity tile = pyl.getWorldObj().getTileEntity(wire[0], wire[1], wire[2]); - - if(tile instanceof TileEntityPylonBase) { - TileEntityPylonBase pylon = (TileEntityPylonBase) tile; - Vec3 myOffset = pyl.getMountPos()[0]; - Vec3 theirOffset = pylon.getMountPos()[0]; - - double conX0 = pyl.xCoord + myOffset.xCoord; - double conY0 = pyl.yCoord + myOffset.yCoord; - double conZ0 = pyl.zCoord + myOffset.zCoord; - double conX1 = pylon.xCoord + theirOffset.xCoord; - double conY1 = pylon.yCoord + theirOffset.yCoord; - double conZ1 = pylon.zCoord + theirOffset.zCoord; - - double wX = (conX1 - conX0) / 2D; - double wY = (conY1 - conY0) / 2D; - double wZ = (conZ1 - conZ0) / 2D; - - float count = 10; - Vec3 delta = Vec3.createVectorHelper(conX1 - conX0, conY1 - conY0, conZ1 - conZ0); - double hang = delta.lengthVector() / 15D; - - for(float j = 0; j < count; j++) { - - float k = j + 1; - - double ja = j + 0.5D; - double ix = conX0 + delta.xCoord / (double)(count * 2) * ja; - double iy = conY0 + delta.yCoord / (double)(count * 2) * ja - Math.sin(j / count * Math.PI * 0.5) * hang; - double iz = conZ0 + delta.zCoord / (double)(count * 2) * ja; - - //pylon.getWorldObj().spawnParticle("reddust", ix, iy, iz, 0.01 + j * 0.1, 0, 0); - - int brightness = pyl.getWorldObj().getLightBrightnessForSkyBlocks(MathHelper.floor_double(ix), MathHelper.floor_double(iy), MathHelper.floor_double(iz), 0); - int lX = brightness % 65536; - int lY = brightness / 65536; - OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float)lX / 1.0F, (float)lY / 1.0F); - - drawLineSegment( - x + myOffset.xCoord + (wX * j / count), - y + myOffset.yCoord + (wY * j / count) - Math.sin(j / count * Math.PI * 0.5) * hang, - z + myOffset.zCoord + (wZ * j / count), - x + myOffset.xCoord + (wX * k / count), - y + myOffset.yCoord + (wY * k / count) - Math.sin(k / count * Math.PI * 0.5) * hang, - z + myOffset.zCoord + (wZ * k / count)); - } - } - } - } - /** * The closest we have to a does-all solution. It will figure out if it needs to draw multiple lines, * iterate through all the mounting points, try to find the matching mounting points and then draw the lines. @@ -82,6 +24,8 @@ public abstract class RenderPylonBase extends TileEntitySpecialRenderer { */ public void renderLinesGeneric(TileEntityPylonBase pyl, double x, double y, double z) { + this.bindTexture(pyl.color == 0 ? ResourceManager.wire_tex : ResourceManager.wire_greyscale_tex); + for(int i = 0; i < pyl.connected.size(); i++) { int[] wire = pyl.connected.get(i); @@ -93,7 +37,7 @@ public abstract class RenderPylonBase extends TileEntitySpecialRenderer { Vec3[] m1 = pyl.getMountPos(); Vec3[] m2 = pylon.getMountPos(); - int lineCount = Math.max(pyl.getConnectionType() == ConnectionType.QUAD ? 4 : 1, pylon.getConnectionType() == ConnectionType.QUAD ? 4 : 1); + int lineCount = Math.min(m1.length, m2.length); for(int line = 0; line < lineCount; line++) { @@ -155,33 +99,48 @@ public abstract class RenderPylonBase extends TileEntitySpecialRenderer { GL11.glPushMatrix(); GL11.glTranslated(x, y, z); float count = 10; + Tessellator tess = Tessellator.instance; + + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); + tess.startDrawingQuads(); + Vec3 delta = Vec3.createVectorHelper(x0 - x1, y0 - y1, z0 - z1); + double hang = Math.min(delta.lengthVector() / 15D, 2.5D); for(float j = 0; j < count; j++) { float k = j + 1; + + double sagJ = Math.sin(j / count * Math.PI * 0.5) * hang; + double sagK = Math.sin(k / count * Math.PI * 0.5) * hang; + double sagMean = (sagJ + sagK) / 2D; double deltaX = x1 - x0; double deltaY = y1 - y0; double deltaZ = z1 - z0; double ja = j + 0.5D; - double ix = pyl.xCoord + x0 + deltaX / (double)(count * 2) * ja; - double iy = pyl.yCoord + y0 + deltaY / (double)(count * 2) * ja - Math.sin(j / count * Math.PI * 0.5); - double iz = pyl.zCoord + z0 + deltaZ / (double)(count * 2) * ja; + double ix = pyl.xCoord + x0 + deltaX / (double)(count) * ja; + double iy = pyl.yCoord + y0 + deltaY / (double)(count) * ja - sagMean; + double iz = pyl.zCoord + z0 + deltaZ / (double)(count) * ja; int brightness = world.getLightBrightnessForSkyBlocks(MathHelper.floor_double(ix), MathHelper.floor_double(iy), MathHelper.floor_double(iz), 0); - int lX = brightness % 65536; - int lY = brightness / 65536; - OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float)lX / 1.0F, (float)lY / 1.0F); + tess.setBrightness(brightness); - drawLineSegment( + tess.setColorOpaque_I(pyl.color == 0 ? 0xffffff : pyl.color); + + drawLineSegment(tess, x0 + (deltaX * j / count), - y0 + (deltaY * j / count) - Math.sin(j / count * Math.PI * 0.5), + y0 + (deltaY * j / count) - sagJ, z0 + (deltaZ * j / count), x0 + (deltaX * k / count), - y0 + (deltaY * k / count) - Math.sin(k / count * Math.PI * 0.5), + y0 + (deltaY * k / count) - sagK, z0 + (deltaZ * k / count)); } + tess.draw(); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glPopMatrix(); } @@ -196,32 +155,41 @@ public abstract class RenderPylonBase extends TileEntitySpecialRenderer { * @param b * @param c */ - public void drawLineSegment(double x, double y, double z, double a, double b, double c) { + public void drawLineSegment(Tessellator tessellator, double x, double y, double z, double a, double b, double c) { double girth = 0.03125D; - GL11.glDisable(GL11.GL_TEXTURE_2D); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); - Tessellator tessellator = Tessellator.instance; - tessellator.startDrawing(5); - tessellator.setColorOpaque_I(LINE_COLOR); - tessellator.addVertex(x, y + girth, z); - tessellator.addVertex(x, y - girth, z); - tessellator.addVertex(a, b + girth, c); - tessellator.addVertex(a, b - girth, c); - tessellator.addVertex(x + girth, y, z); - tessellator.addVertex(x - girth, y, z); - tessellator.addVertex(a + girth, b, c); - tessellator.addVertex(a - girth, b, c); - tessellator.addVertex(x, y, z + girth); - tessellator.addVertex(x, y, z - girth); - tessellator.addVertex(a, b, c + girth); - tessellator.addVertex(a, b, c - girth); - tessellator.draw(); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glEnable(GL11.GL_CULL_FACE); + double deltaX = a - x; + double deltaY = b - y; + double deltaZ = c - z; + double hyp = Math.sqrt(deltaX * deltaX + deltaZ * deltaZ); + double yaw = Math.atan2(deltaX, deltaZ); + double pitch = Math.atan2(deltaY, hyp); + double rotator = Math.PI * 0.5D; + double newPitch = pitch + rotator; + double newYaw = yaw + rotator; + double iZ = Math.cos(yaw) * Math.cos(newPitch) * girth; + double iX = Math.sin(yaw) * Math.cos(newPitch) * girth; + double iY = Math.sin(newPitch) * girth; + double jZ = Math.cos(newYaw) * girth; + double jX = Math.sin(newYaw) * girth; + double length = Math.sqrt(deltaX * deltaX + deltaY * deltaY + deltaZ * deltaZ); + int wrap = (int) Math.ceil(length * 8); + + if(deltaX + deltaZ < 0) { + wrap *= -1; + jZ *= -1; + jX *= -1; + } + + tessellator.addVertexWithUV(x + iX, y + iY, z + iZ, 0, 0); + tessellator.addVertexWithUV(x - iX, y - iY, z - iZ, 0, 1); + tessellator.addVertexWithUV(a - iX, b - iY, c - iZ, wrap, 1); + tessellator.addVertexWithUV(a + iX, b + iY, c + iZ, wrap, 0); + tessellator.addVertexWithUV(x + jX, y, z + jZ, 0, 0); + tessellator.addVertexWithUV(x - jX, y, z - jZ, 0, 1); + tessellator.addVertexWithUV(a - jX, b, c - jZ, wrap, 1); + tessellator.addVertexWithUV(a + jX, b, c + jZ, wrap, 0); } public static final int LINE_COLOR = 0xBB3311; diff --git a/src/main/java/com/hbm/render/tileentity/RenderPylonLarge.java b/src/main/java/com/hbm/render/tileentity/RenderPylonLarge.java index a5fca8bb9..a70616ce7 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderPylonLarge.java +++ b/src/main/java/com/hbm/render/tileentity/RenderPylonLarge.java @@ -14,6 +14,7 @@ public class RenderPylonLarge extends RenderPylonBase { public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float interp) { GL11.glPushMatrix(); GL11.glTranslated(x + 0.5, y, z + 0.5); + GL11.glEnable(GL11.GL_LIGHTING); switch(tile.getBlockMetadata() - BlockDummyable.offset) { case 2: GL11.glRotatef(90, 0F, 1F, 0F); break; @@ -34,5 +35,4 @@ public class RenderPylonLarge extends RenderPylonBase { this.renderLinesGeneric(pyl, x, y, z); GL11.glPopMatrix(); } - } diff --git a/src/main/java/com/hbm/render/tileentity/RenderPylonMedium.java b/src/main/java/com/hbm/render/tileentity/RenderPylonMedium.java new file mode 100644 index 000000000..c37cd2881 --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderPylonMedium.java @@ -0,0 +1,87 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ModBlocks; +import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderBase; +import com.hbm.tileentity.network.TileEntityPylonMedium; + +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.client.IItemRenderer; + +public class RenderPylonMedium extends RenderPylonBase implements IItemRendererProvider { + + @Override + public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float interp) { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5, y, z + 0.5); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_CULL_FACE); + + switch(tile.getBlockMetadata() - BlockDummyable.offset) { + case 2: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 4: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(0, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(90, 0F, 1F, 0F); break; + } + + TileEntityPylonMedium pyl = (TileEntityPylonMedium)tile; + + + if(tile.getBlockType() == ModBlocks.red_pylon_medium_steel || tile.getBlockType() == ModBlocks.red_pylon_medium_steel_transformer) + bindTexture(ResourceManager.pylon_medium_steel_tex); + else + bindTexture(ResourceManager.pylon_medium_tex); + + ResourceManager.pylon_medium.renderPart("Pylon"); + if(pyl.hasTransformer()) ResourceManager.pylon_medium.renderPart("Transformer"); + + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + this.renderLinesGeneric(pyl, x, y, z); + GL11.glPopMatrix(); + } + + @Override + public Item[] getItemsForRenderer() { + return new Item[] { + Item.getItemFromBlock(ModBlocks.red_pylon_medium_wood), + Item.getItemFromBlock(ModBlocks.red_pylon_medium_wood_transformer), + Item.getItemFromBlock(ModBlocks.red_pylon_medium_steel), + Item.getItemFromBlock(ModBlocks.red_pylon_medium_steel_transformer) + }; + } + + @Override + public Item getItemForRenderer() { return Item.getItemFromBlock(ModBlocks.red_pylon_medium_wood); } + + @Override + public IItemRenderer getRenderer() { + return new ItemRenderBase( ) { + public void renderInventory() { + GL11.glTranslated(1, -5, 0); + GL11.glScaled(4.5, 4.5, 4.5); + } + public void renderCommonWithStack(ItemStack stack) { + GL11.glRotatef(90, 0F, 1F, 0F); + GL11.glScaled(0.5, 0.5, 0.5); + GL11.glTranslated(0.75, 0, 0); + + if(stack.getItem() == Item.getItemFromBlock(ModBlocks.red_pylon_medium_steel) || stack.getItem() == Item.getItemFromBlock(ModBlocks.red_pylon_medium_steel_transformer)) + bindTexture(ResourceManager.pylon_medium_steel_tex); + else + bindTexture(ResourceManager.pylon_medium_tex); + + ResourceManager.pylon_medium.renderPart("Pylon"); + + if(stack.getItem() == Item.getItemFromBlock(ModBlocks.red_pylon_medium_wood_transformer) || stack.getItem() == Item.getItemFromBlock(ModBlocks.red_pylon_medium_steel_transformer)) + ResourceManager.pylon_medium.renderPart("Transformer"); + } + }; + } +} diff --git a/src/main/java/com/hbm/render/tileentity/RenderRFCable.java b/src/main/java/com/hbm/render/tileentity/RenderRFCable.java deleted file mode 100644 index 918d88d6a..000000000 --- a/src/main/java/com/hbm/render/tileentity/RenderRFCable.java +++ /dev/null @@ -1,159 +0,0 @@ -package com.hbm.render.tileentity; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; -import com.hbm.tileentity.conductor.TileEntityRFDuct; - -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.common.util.ForgeDirection; - -public class RenderRFCable extends TileEntitySpecialRenderer { - - public ResourceLocation texture = new ResourceLocation(RefStrings.MODID, "textures/blocks/rf_cable.png"); - float pixel = 1F/16F; - float textureP = 1F / 32F; - - @Override - public void renderTileEntityAt(TileEntity tileentity, double offsetX, double offsetY, double offsetZ, float f) { - GL11.glTranslated(offsetX, offsetY, offsetZ); - GL11.glDisable(GL11.GL_LIGHTING); - this.bindTexture(texture); - drawCore(tileentity); - TileEntityRFDuct cable = (TileEntityRFDuct) tileentity; - for(int i = 0; i < cable.connections.length; i++) - { - if(cable.connections[i] != null) - { - drawConnection(cable.connections[i]); - } - } - GL11.glTranslated(-offsetX, -offsetY, -offsetZ); - GL11.glEnable(GL11.GL_LIGHTING); - - } - - public void drawCore(TileEntity tileentity) { - Tessellator tesseract = Tessellator.instance; - tesseract.startDrawingQuads(); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 5 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 0 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 0 * textureP, 0 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 0 * textureP, 5 * textureP); - - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 5 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 0 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 0 * textureP, 0 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 0 * textureP, 5 * textureP); - - tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 5 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 0 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 0 * textureP, 0 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 0 * textureP, 5 * textureP); - - tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 5 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 0 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 0 * textureP, 0 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 0 * textureP, 5 * textureP); - - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 5 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 0 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 0 * textureP, 0 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 0 * textureP, 5 * textureP); - - tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 5 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 0 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 0 * textureP, 0 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 0 * textureP, 5 * textureP); - tesseract.draw(); - - // Muehsam muss ich hier im BSH meine genialen Mods schreiben, obwohl ich die Zeit eigentlich doch besser nutzen koennte. - // Da mir das aber Spass macht, wird auch in Zukunft gutes Zeug von mir geben (und damit meine ich NICHT Drogen, etc.) - // Danke. - - //I didn't write this, but I'm gonna leave it there. - } - - public void drawConnection(ForgeDirection direction) - { - Tessellator tesseract = Tessellator.instance; - tesseract.startDrawingQuads(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - if(direction.equals(ForgeDirection.UP)) - { - - } - if(direction.equals(ForgeDirection.DOWN)) - { - GL11.glRotatef(180, 1, 0, 0); - } - if(direction.equals(ForgeDirection.NORTH)) - { - GL11.glRotatef(270, 1, 0, 0); - } - if(direction.equals(ForgeDirection.SOUTH)) - { - GL11.glRotatef(90, 1, 0, 0); - } - if(direction.equals(ForgeDirection.EAST)) - { - GL11.glRotatef(270, 0, 0, 1); - } - if(direction.equals(ForgeDirection.WEST)) - { - GL11.glRotatef(90, 0, 0, 1); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 5 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1, 1 - 11 * pixel / 2, 10 * textureP, 5 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 1, 1 - 11 * pixel / 2, 10 * textureP, 0 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 0 * textureP); - - tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 5 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 1, 11 * pixel / 2, 10 * textureP, 5 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1, 11 * pixel / 2, 10 * textureP, 0 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 0 * textureP); - - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 5 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1, 11 * pixel / 2, 10 * textureP, 5 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1, 1 - 11 * pixel / 2, 10 * textureP, 0 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 0 * textureP); - - tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 5 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 1, 1 - 11 * pixel / 2, 10 * textureP, 5 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 1, 11 * pixel / 2, 10 * textureP, 0 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 0 * textureP); - tesseract.draw(); - - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - if(direction.equals(ForgeDirection.UP)) - { - - } - if(direction.equals(ForgeDirection.DOWN)) - { - GL11.glRotatef(-180, 1, 0, 0); - } - if(direction.equals(ForgeDirection.NORTH)) - { - GL11.glRotatef(-270, 1, 0, 0); - } - if(direction.equals(ForgeDirection.SOUTH)) - { - GL11.glRotatef(-90, 1, 0, 0); - } - if(direction.equals(ForgeDirection.EAST)) - { - GL11.glRotatef(-270, 0, 0, 1); - } - if(direction.equals(ForgeDirection.WEST)) - { - GL11.glRotatef(-90, 0, 0, 1); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - } -} diff --git a/src/main/java/com/hbm/render/tileentity/RenderRadarLarge.java b/src/main/java/com/hbm/render/tileentity/RenderRadarLarge.java new file mode 100644 index 000000000..ab6c3bfad --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderRadarLarge.java @@ -0,0 +1,58 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.ModBlocks; +import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderBase; +import com.hbm.tileentity.machine.TileEntityMachineRadarNT; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.client.IItemRenderer; + +public class RenderRadarLarge extends TileEntitySpecialRenderer implements IItemRendererProvider { + + @Override + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glRotatef(180, 0F, 1F, 0F); + + bindTexture(ResourceManager.radar_large_tex); + ResourceManager.radar_large.renderPart("Radar"); + + TileEntityMachineRadarNT radar = (TileEntityMachineRadarNT) tileEntity; + GL11.glRotatef(radar.prevRotation + (radar.rotation - radar.prevRotation) * f, 0F, -1F, 0F); + + ResourceManager.radar_large.renderPart("Dish"); + + GL11.glPopMatrix(); + } + + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.machine_radar_large); + } + + @Override + public IItemRenderer getRenderer() { + return new ItemRenderBase( ) { + public void renderInventory() { + GL11.glTranslated(0, -5, 0); + GL11.glScaled(3, 3, 3); + } + public void renderCommonWithStack(ItemStack item) { + GL11.glRotated(180, 0, 1, 0); + GL11.glScaled(0.5, 0.5, 0.5); + bindTexture(ResourceManager.radar_large_tex); + ResourceManager.radar_large.renderPart("Radar"); + GL11.glRotated(System.currentTimeMillis() % 3600 * 0.1D, 0, -1, 0); + ResourceManager.radar_large.renderPart("Dish"); + }}; + } +} diff --git a/src/main/java/com/hbm/render/tileentity/RenderRadarScreen.java b/src/main/java/com/hbm/render/tileentity/RenderRadarScreen.java index 92342b53b..5980da6a6 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderRadarScreen.java +++ b/src/main/java/com/hbm/render/tileentity/RenderRadarScreen.java @@ -7,7 +7,6 @@ import com.hbm.blocks.ModBlocks; import com.hbm.inventory.gui.GUIMachineRadarNT; import com.hbm.main.ResourceManager; import com.hbm.render.item.ItemRenderBase; -import com.hbm.tileentity.machine.TileEntityMachineRadarNT; import com.hbm.tileentity.machine.TileEntityMachineRadarScreen; import api.hbm.entity.RadarEntry; @@ -56,6 +55,7 @@ public class RenderRadarScreen extends TileEntitySpecialRenderer implements IIte GL11.glDisable(GL11.GL_TEXTURE_2D); GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GL11.glDisable(GL11.GL_ALPHA_TEST); GL11.glShadeModel(GL11.GL_SMOOTH); tess.draw(); @@ -70,8 +70,8 @@ public class RenderRadarScreen extends TileEntitySpecialRenderer implements IIte for(RadarEntry entry : screen.entries) { - double sX = (entry.posX - screen.refX) / ((double) TileEntityMachineRadarNT.radarRange + 1) * (0.875D); - double sZ = (entry.posZ - screen.refZ) / ((double) TileEntityMachineRadarNT.radarRange + 1) * (0.875D); + double sX = (entry.posX - screen.refX) / ((double) screen.range + 1) * (0.875D); + double sZ = (entry.posZ - screen.refZ) / ((double) screen.range + 1) * (0.875D); double size = 0.0625D; tess.addVertexWithUV(0.38, 1 - sZ + size, 0.5 - sX + size, 216D / 256D, (entry.blipLevel * 8F + 8F) / 256F); tess.addVertexWithUV(0.38, 1 - sZ + size, 0.5 - sX - size, 224D / 256D, (entry.blipLevel * 8F + 8F) / 256F); diff --git a/src/main/java/com/hbm/render/tileentity/RenderRedBarrel.java b/src/main/java/com/hbm/render/tileentity/RenderRedBarrel.java deleted file mode 100644 index 8e6974cfd..000000000 --- a/src/main/java/com/hbm/render/tileentity/RenderRedBarrel.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.hbm.render.tileentity; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelTestRender; - -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; - -public class RenderRedBarrel extends TileEntitySpecialRenderer { - - private static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":" + "textures/models/ModelRedBarrel.png"); - - private ModelTestRender model; - - public RenderRedBarrel() { - this.model = new ModelTestRender(); - } - - @Override - public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float f) { - GL11.glPushMatrix(); - GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F); - GL11.glRotatef(180, 0F, 0F, 1F); - - this.bindTexture(texture); - - GL11.glPushMatrix(); - this.model.renderModel(0.0625F); - GL11.glPopMatrix(); - GL11.glPopMatrix(); - } - -} diff --git a/src/main/java/com/hbm/render/tileentity/RenderSelenium.java b/src/main/java/com/hbm/render/tileentity/RenderSelenium.java deleted file mode 100644 index 8ee84a595..000000000 --- a/src/main/java/com/hbm/render/tileentity/RenderSelenium.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.hbm.render.tileentity; - -import org.lwjgl.opengl.GL11; - -import com.hbm.main.ResourceManager; -import com.hbm.tileentity.machine.TileEntityMachineSeleniumEngine; - -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.tileentity.TileEntity; - -public class RenderSelenium extends TileEntitySpecialRenderer { - - @Override - public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) - { - GL11.glPushMatrix(); - GL11.glTranslated(x + 0.5D, y, z + 0.5D); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glRotatef(180, 0F, 1F, 0F); - GL11.glRotatef(-90, 0F, 1F, 0F); - - switch(tileEntity.getBlockMetadata()) - { - case 2: - GL11.glRotatef(90, 0F, 1F, 0F); break; - case 4: - GL11.glRotatef(180, 0F, 1F, 0F); break; - case 3: - GL11.glRotatef(270, 0F, 1F, 0F); break; - case 5: - GL11.glRotatef(0, 0F, 1F, 0F); break; - } - - bindTexture(ResourceManager.selenium_body_tex); - ResourceManager.selenium_body.renderAll(); - - GL11.glTranslated(0.0D, 1.0D, 0.0D); - - int count = ((TileEntityMachineSeleniumEngine)tileEntity).pistonCount; - - float rot = 360F / count; - - bindTexture(ResourceManager.selenium_piston_tex); - for(int i = 0; i < count; i++) { - ResourceManager.selenium_piston.renderAll(); - GL11.glRotatef(rot, 0, 0, 1); - } - - if(count > 2 && ((TileEntityMachineSeleniumEngine)tileEntity).hasAcceptableFuel() && ((TileEntityMachineSeleniumEngine)tileEntity).tank.getFill() > 0) - GL11.glRotatef((System.currentTimeMillis() / 2) % 360, 0F, 0F, -1F); - - bindTexture(ResourceManager.selenium_rotor_tex); - ResourceManager.selenium_rotor.renderAll(); - - GL11.glPopMatrix(); - } -} diff --git a/src/main/java/com/hbm/render/tileentity/RenderSnowglobe.java b/src/main/java/com/hbm/render/tileentity/RenderSnowglobe.java index 44dcab19f..5a87ce681 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderSnowglobe.java +++ b/src/main/java/com/hbm/render/tileentity/RenderSnowglobe.java @@ -3,26 +3,31 @@ package com.hbm.render.tileentity; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.generic.BlockSnowglobe.SnowglobeType; import com.hbm.blocks.generic.BlockSnowglobe.TileEntitySnowglobe; import com.hbm.lib.RefStrings; -import com.hbm.wiaj.WorldInAJar; +import com.hbm.render.item.ItemRenderBase; +import com.hbm.render.loader.HFRWavefrontObject; +import com.hbm.util.EnumUtil; -import net.minecraft.block.Block; import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.RenderHelper; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.model.AdvancedModelLoader; +import net.minecraftforge.client.IItemRenderer; import net.minecraftforge.client.model.IModelCustom; -public class RenderSnowglobe extends TileEntitySpecialRenderer { +public class RenderSnowglobe extends TileEntitySpecialRenderer implements IItemRendererProvider { - public static final IModelCustom snowglobe = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/trinkets/snowglobe.obj")); + public static final IModelCustom snowglobe = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/trinkets/snowglobe.obj"), false).asVBO(); public static final ResourceLocation socket = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/snowglobe.png"); + public static final ResourceLocation glass = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/snowglobe_glass.png"); + public static final ResourceLocation features = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/snowglobe_features.png"); public static RenderBlocks renderer = new RenderBlocks(); @Override @@ -30,61 +35,77 @@ public class RenderSnowglobe extends TileEntitySpecialRenderer { GL11.glPushMatrix(); GL11.glTranslated(x + 0.5, y, z + 0.5); + GL11.glRotated(22.5D * tile.getBlockMetadata() + 90, 0, -1, 0); + + TileEntitySnowglobe te = (TileEntitySnowglobe) tile; + renderSnowglobe(te.type); + + GL11.glPopMatrix(); + } + + public static void renderSnowglobe(SnowglobeType type) { + GL11.glEnable(GL11.GL_LIGHTING); GL11.glEnable(GL12.GL_RESCALE_NORMAL); - - GL11.glRotated(22.5D * tile.getBlockMetadata() + 90, 0, -1, 0); + GL11.glShadeModel(GL11.GL_SMOOTH); + GL11.glDisable(GL11.GL_CULL_FACE); double scale = 0.0625D; GL11.glScaled(scale, scale, scale); - - this.bindTexture(socket); + + Minecraft.getMinecraft().getTextureManager().bindTexture(socket); snowglobe.renderPart("Socket"); - - TileEntitySnowglobe te = (TileEntitySnowglobe) tile; + Minecraft.getMinecraft().getTextureManager().bindTexture(glass); + snowglobe.renderPart("Glass"); - if(te.type.scene != null) { - - WorldInAJar world = te.type.scene; - renderer.blockAccess = world; - - double size = Math.max(world.sizeX, world.sizeZ); - scale = 4D / size; - GL11.glScaled(scale, scale, scale); - GL11.glTranslated(0, 1, 0); - GL11.glScaled(scale, scale, scale); - - GL11.glTranslated(world.sizeX * -0.5, 0, world.sizeZ * -0.5); - - RenderHelper.disableStandardItemLighting(); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - GL11.glEnable(GL11.GL_BLEND); - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glShadeModel(GL11.GL_SMOOTH); - - bindTexture(TextureMap.locationBlocksTexture); - Minecraft.getMinecraft().entityRenderer.disableLightmap(interp); - - Tessellator tess = Tessellator.instance; - tess.startDrawingQuads(); - tess.setColorOpaque_F(1F, 1F, 1F); - - for(int a = 0; a < world.sizeX; a++) { - for(int b = 0; b < world.sizeY; b++) { - for(int c = 0; c < world.sizeZ; c++) { - Block block = world.getBlock(a, b, c); - renderer.renderBlockByRenderType(block, a, b, c); - } - } - } - - tess.draw(); - GL11.glShadeModel(GL11.GL_FLAT); - + Minecraft.getMinecraft().getTextureManager().bindTexture(features); + + switch(type) { + case NONE: break; + case RIVETCITY: snowglobe.renderPart("RivetCity"); break; + case TENPENNYTOWER: snowglobe.renderPart("TenpennyTower"); break; + case LUCKY38: snowglobe.renderPart("Lucky38"); break; + case SIERRAMADRE: snowglobe.renderPart("SierraMadre"); break; + case PRYDWEN: snowglobe.renderPart("Prydwen"); break; + default: break; } - GL11.glPopMatrix(); - Minecraft.getMinecraft().entityRenderer.enableLightmap(interp); - RenderHelper.enableStandardItemLighting(); + + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glDisable(GL11.GL_LIGHTING); + FontRenderer font = Minecraft.getMinecraft().fontRenderer; + float f3 = 0.05F; + GL11.glTranslated(4.025, 0.5, 0); + GL11.glScalef(f3, -f3, f3); + GL11.glTranslated(0, -font.FONT_HEIGHT / 2F, font.getStringWidth(type.label) * 0.5D); + GL11.glRotatef(90, 0, 1, 0); + GL11.glDepthMask(false); + GL11.glTranslatef(0, 1, 0); + font.drawString(type.label, 0, 0, 0xffffff); + GL11.glDepthMask(true); + GL11.glEnable(GL11.GL_LIGHTING); + } + + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.snowglobe); + } + + @Override + public IItemRenderer getRenderer() { + return new ItemRenderBase() { + public void renderInventory() { + GL11.glTranslated(0, -2, 0); + GL11.glScaled(6, 6, 6); + } + public void renderCommonWithStack(ItemStack item) { + GL11.glTranslated(0, 0.25, 0); + GL11.glScaled(3, 3, 3); + SnowglobeType type = EnumUtil.grabEnumSafely(SnowglobeType.class, item.getItemDamage()); + renderSnowglobe(type); + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + }}; } } diff --git a/src/main/java/com/hbm/render/tileentity/RenderSolarBoiler.java b/src/main/java/com/hbm/render/tileentity/RenderSolarBoiler.java index 0dad6fd63..54c3c1ad1 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderSolarBoiler.java +++ b/src/main/java/com/hbm/render/tileentity/RenderSolarBoiler.java @@ -38,7 +38,7 @@ public class RenderSolarBoiler extends TileEntitySpecialRenderer { GL11.glShadeModel(GL11.GL_FLAT); GL11.glPopMatrix(); - if(te instanceof TileEntitySolarBoiler && Minecraft.getMinecraft().gameSettings.particleSetting < 2) { + if(te instanceof TileEntitySolarBoiler && !Minecraft.getMinecraft().gameSettings.fancyGraphics) { TileEntitySolarBoiler boiler = (TileEntitySolarBoiler) te; Tessellator tess = Tessellator.instance; diff --git a/src/main/java/com/hbm/render/tileentity/RenderStrandCaster.java b/src/main/java/com/hbm/render/tileentity/RenderStrandCaster.java new file mode 100644 index 000000000..5655e97fc --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderStrandCaster.java @@ -0,0 +1,124 @@ +package com.hbm.render.tileentity; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ModBlocks; +import com.hbm.lib.RefStrings; +import com.hbm.main.ResourceManager; +import com.hbm.render.item.ItemRenderBase; +import com.hbm.tileentity.machine.TileEntityMachineStrandCaster; +import net.minecraft.client.renderer.GLAllocation; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.item.Item; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.IItemRenderer; +import org.lwjgl.opengl.GL11; + +import java.nio.DoubleBuffer; + +public class RenderStrandCaster extends TileEntitySpecialRenderer implements IItemRendererProvider { + public static final ResourceLocation lava = new ResourceLocation(RefStrings.MODID, "textures/models/machines/lava_gray.png"); + private static DoubleBuffer buf = null; + + @Override + public void renderTileEntityAt(TileEntity te, double x, double y, double z, float interp) { + TileEntityMachineStrandCaster caster = (TileEntityMachineStrandCaster) te; + + if(buf == null){ + buf = GLAllocation.createDirectByteBuffer(8*4).asDoubleBuffer(); + } + + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5, y, z + 0.5); + switch(te.getBlockMetadata() - BlockDummyable.offset) { + case 4: GL11.glRotatef(90, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 2: GL11.glRotatef(0, 0F, 1F, 0F); break; + } + GL11.glTranslated( 0.5, 0, 0.5); + GL11.glRotated(180, 0, 1, 0); + + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glShadeModel(GL11.GL_SMOOTH); + + bindTexture(ResourceManager.strand_caster_tex); + ResourceManager.strand_caster.renderPart("caster"); + + + if (caster.amount != 0 && caster.getInstalledMold() != null) { + + double level = ((double) caster.amount / (double) caster.getCapacity()) * 0.675D; + double offset = ((double) caster.amount / (double) caster.getInstalledMold().getCost()) * 0.375D; + + int color = caster.type.moltenColor; + + int r = color >> 16 & 0xFF; + int g = color >> 8 & 0xFF; + int b = color & 0xFF; + + GL11.glPushAttrib(GL11.GL_LIGHTING_BIT); + GL11.glDisable(GL11.GL_LIGHTING); + + GL11.glPushMatrix(); + GL11.glColor3f( r/ 255F, g/ 255F, b/ 255F); + GL11.glEnable(GL11.GL_CLIP_PLANE0); + buf.put(new double[] { 0, 0, -1, 0.5} ); + buf.rewind(); + GL11.glClipPlane(GL11.GL_CLIP_PLANE0, buf); + GL11.glTranslated(0,0,Math.max(-offset + 3.4, 0)); + ResourceManager.strand_caster.renderPart("plate"); + GL11.glDisable(GL11.GL_CLIP_PLANE0); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glDisable(GL11.GL_CULL_FACE); + OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240F, 240F); + Tessellator tess = Tessellator.instance; + tess.setNormal(0F, 1F, 0F); + tess.setColorOpaque_F(r / 255F, g / 255F, b / 255F); + bindTexture(lava); + tess.startDrawingQuads(); + tess.addVertexWithUV(-0.9, 2.3 + level, -0.999, 0, 0); + tess.addVertexWithUV(-0.9, 2.3 + level, 0.999, 0, 1); + tess.addVertexWithUV(0.9, 2.3 + level, 0.999, 1, 1); + tess.addVertexWithUV(0.9, 2.3 + level, -0.999, 1, 0); + tess.draw(); + + GL11.glPopMatrix(); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glPopAttrib(); + } + + + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPopMatrix(); + + } + + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.machine_strand_caster); + } + + @Override + public IItemRenderer getRenderer() { + return new ItemRenderBase( ) { + public void renderInventory() { + GL11.glTranslated(2, 0, 2); + GL11.glScaled( 2, 2, 2); + } + public void renderCommon() { + GL11.glScaled(1, 1, 1); + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.strand_caster_tex); ResourceManager.strand_caster.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + } + }; + } + +} diff --git a/src/main/java/com/hbm/render/tileentity/RenderStructureMaker.java b/src/main/java/com/hbm/render/tileentity/RenderStructureMaker.java deleted file mode 100644 index 20d55b4d6..000000000 --- a/src/main/java/com/hbm/render/tileentity/RenderStructureMaker.java +++ /dev/null @@ -1,239 +0,0 @@ -package com.hbm.render.tileentity; - -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL14; - -import com.hbm.blocks.ModBlocks; -import com.hbm.lib.RefStrings; -import com.hbm.tileentity.machine.TileEntityStructureMarker; -import com.hbm.world.machine.FWatz; -import com.hbm.world.machine.NuclearReactor; -import com.hbm.world.machine.Watz; - -import net.minecraft.block.Block; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.init.Blocks; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; - -public class RenderStructureMaker extends TileEntitySpecialRenderer { - - float pixel = 1F/16F; - - @Override - public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float f) { - GL11.glPushMatrix(); - GL11.glTranslatef((float) x, (float) y, (float) z); - GL11.glRotatef(180, 0F, 0F, 1F); - - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_BLEND); - GL14.glBlendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE, GL11.GL_ZERO); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); - GL14.glBlendEquation(GL14.GL_FUNC_ADD); - GL11.glColor4f(0.5f, 0.25f, 1.0f, 1f); - this.renderBlocks((int)x, (int)y, (int)z, ((TileEntityStructureMarker)tileentity).type, tileentity.getWorldObj().getBlockMetadata(tileentity.xCoord, tileentity.yCoord, tileentity.zCoord)); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_BLEND); - GL11.glPopMatrix(); - } - - public void renderBlocks(int x, int y, int z, int type, int meta) { - int offsetX = 0; - int offsetZ = 0; - if(type == 0) { - - if(meta == 6) { - offsetZ = 3; - } - if(meta == 7) { - offsetX = 3; - } - if(meta == 8) { - offsetZ = -3; - } - if(meta == 9) { - offsetX = -3; - } - - GL11.glTranslatef(-2 + offsetX, -3, -2 + offsetZ); - for(int a = 0; a < 5; a++) { - for(int b = 0; b < 5; b++) { - for(int c = 0; c < 5; c++) { - - Block block = Blocks.air; - if(NuclearReactor.array2[b][a].substring(c, c + 1).equals("R")) - block = ModBlocks.reactor_element; - if(NuclearReactor.array2[b][a].substring(c, c + 1).equals("#")) - block = ModBlocks.reactor_computer; - if(NuclearReactor.array2[b][a].substring(c, c + 1).equals("C")) - block = ModBlocks.reactor_control; - if(NuclearReactor.array2[b][a].substring(c, c + 1).equals("A")) - block = ModBlocks.reactor_hatch; - if(NuclearReactor.array2[b][a].substring(c, c + 1).equals("I")) - block = ModBlocks.reactor_conductor; - //if(NuclearReactor.array2[b][a].substring(c, c + 1).equals("B")) - // block = ModBlocks.brick_concrete; - if(block != Blocks.air) { - RenderBlocks rb = RenderBlocks.getInstance(); - ResourceLocation loc1 = new ResourceLocation(RefStrings.MODID + ":textures/blocks/" + rb.getBlockIconFromSide(block, 1).getIconName().substring(4, rb.getBlockIconFromSide(block, 1).getIconName().length()) + ".png"); - ResourceLocation loc2 = new ResourceLocation(RefStrings.MODID + ":textures/blocks/" + rb.getBlockIconFromSide(block, 3).getIconName().substring(4, rb.getBlockIconFromSide(block, 3).getIconName().length()) + ".png"); - renderSmolBlockAt(loc1, loc2, a, b, c); - } - } - } - } - } - if(type == 1) { - - if(meta == 6) { - offsetZ = 4; - } - if(meta == 7) { - offsetX = 4; - } - if(meta == 8) { - offsetZ = -4; - } - if(meta == 9) { - offsetX = -4; - } - - GL11.glTranslatef(-3 + offsetX, -12, -3 + offsetZ); - for(int a = 0; a < 7; a++) { - for(int b = 0; b < 13; b++) { - for(int c = 0; c < 7; c++) { - - Block block = Blocks.air; - if(Watz.array[b][a].substring(c, c + 1).equals("C")) - block = ModBlocks.reinforced_brick; - if(Watz.array[b][a].substring(c, c + 1).equals("A")) - block = ModBlocks.watz_hatch; - if(Watz.array[b][a].substring(c, c + 1).equals("R")) - block = ModBlocks.watz_control; - if(Watz.array[b][a].substring(c, c + 1).equals("S")) - block = ModBlocks.watz_end; - if(Watz.array[b][a].substring(c, c + 1).equals("I")) - block = ModBlocks.watz_conductor; - if(Watz.array[b][a].substring(c, c + 1).equals("#")) - block = ModBlocks.watz_core; - if(Watz.array[b][a].substring(c, c + 1).equals("K")) - block = ModBlocks.watz_cooler; - if(Watz.array[b][a].substring(c, c + 1).equals("W")) - block = ModBlocks.watz_element; - if(block != Blocks.air) { - RenderBlocks rb = RenderBlocks.getInstance(); - ResourceLocation loc1 = new ResourceLocation(RefStrings.MODID + ":textures/blocks/" + rb.getBlockIconFromSide(block, 1).getIconName().substring(4, rb.getBlockIconFromSide(block, 1).getIconName().length()) + ".png"); - ResourceLocation loc2 = new ResourceLocation(RefStrings.MODID + ":textures/blocks/" + rb.getBlockIconFromSide(block, 3).getIconName().substring(4, rb.getBlockIconFromSide(block, 3).getIconName().length()) + ".png"); - renderSmolBlockAt(loc1, loc2, a, b, c); - } - } - } - } - } - if(type == 2) { - - if(meta == 6) { - offsetZ = 10; - } - if(meta == 7) { - offsetX = 10; - } - if(meta == 8) { - offsetZ = -10; - } - if(meta == 9) { - offsetX = -10; - } - - GL11.glTranslatef(-9 + offsetX, -18, -9 + offsetZ); - for(int a = 0; a < 19; a++) { - for(int b = 0; b < 19; b++) { - for(int c = 0; c < 19; c++) { - - Block block = Blocks.air; - if(FWatz.fwatz[18 - b][a].substring(c, c + 1).equals("X")) - block = ModBlocks.fwatz_scaffold; - if(FWatz.fwatz[18 - b][a].substring(c, c + 1).equals("H")) - block = ModBlocks.fwatz_hatch; - if(FWatz.fwatz[18 - b][a].substring(c, c + 1).equals("S")) - block = ModBlocks.fwatz_cooler; - if(FWatz.fwatz[18 - b][a].substring(c, c + 1).equals("T")) - block = ModBlocks.fwatz_tank; - if(FWatz.fwatz[18 - b][a].substring(c, c + 1).equals("M")) - block = ModBlocks.fwatz_conductor; - if(FWatz.fwatz[18 - b][a].substring(c, c + 1).equals("C")) - block = ModBlocks.fwatz_computer; - if(FWatz.fwatz[18 - b][a].substring(c, c + 1).equals("#")) - block = ModBlocks.fwatz_core; - if(block != Blocks.air) { - RenderBlocks rb = RenderBlocks.getInstance(); - ResourceLocation loc1 = new ResourceLocation(RefStrings.MODID + ":textures/blocks/" + rb.getBlockIconFromSide(block, 1).getIconName().substring(4, rb.getBlockIconFromSide(block, 1).getIconName().length()) + ".png"); - ResourceLocation loc2 = new ResourceLocation(RefStrings.MODID + ":textures/blocks/" + rb.getBlockIconFromSide(block, 3).getIconName().substring(4, rb.getBlockIconFromSide(block, 3).getIconName().length()) + ".png"); - renderSmolBlockAt(loc1, loc2, a, b, c); - } - } - } - } - } - } - - public void renderSmolBlockAt(ResourceLocation loc1, ResourceLocation loc2, int x, int y, int z) { - GL11.glPushMatrix(); - GL11.glTranslatef(x, y, z); - GL11.glRotatef(180, 0F, 0F, 1F); - Tessellator tesseract = Tessellator.instance; - tesseract.startDrawingQuads(); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1, 0); - tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 0, 0); - tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 0, 1); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 1, 1); - this.bindTexture(loc2); - tesseract.draw(); - - tesseract.startDrawingQuads(); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 1, 0); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 0, 0); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 0, 1); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 1, 1); - this.bindTexture(loc2); - tesseract.draw(); - - tesseract.startDrawingQuads(); - tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 1, 0); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 0, 0); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 0, 1); - tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 1, 1); - this.bindTexture(loc2); - tesseract.draw(); - - tesseract.startDrawingQuads(); - tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1, 0); - tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 0, 0); - tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 0, 1); - tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 1, 1); - this.bindTexture(loc2); - tesseract.draw(); - - tesseract.startDrawingQuads(); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 1, 0); - tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 0, 0); - tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 0, 1); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1, 1); - this.bindTexture(loc1); - tesseract.draw(); - - tesseract.startDrawingQuads(); - tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 1, 0); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 0, 0); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 0, 1); - tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 1, 1); - this.bindTexture(loc1); - tesseract.draw(); - GL11.glPopMatrix(); - - } - -} diff --git a/src/main/java/com/hbm/render/tileentity/RenderTestBombAdvanced.java b/src/main/java/com/hbm/render/tileentity/RenderTestBombAdvanced.java deleted file mode 100644 index d28da090f..000000000 --- a/src/main/java/com/hbm/render/tileentity/RenderTestBombAdvanced.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.hbm.render.tileentity; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelTestBombAdvanced; - -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; - -public class RenderTestBombAdvanced extends TileEntitySpecialRenderer { - - private static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":" + "textures/models/NukeTestBomb.png"); - - private ModelTestBombAdvanced modelBomb; - - public RenderTestBombAdvanced() { - this.modelBomb = new ModelTestBombAdvanced(); - } - - @Override - public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float f) { - GL11.glPushMatrix(); - GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F); - GL11.glRotatef(180, 0F, 0F, 1F); - - this.bindTexture(texture); - - GL11.glPushMatrix(); - this.modelBomb.renderModel(0.0625F); - GL11.glPopMatrix(); - GL11.glPopMatrix(); - } - -} diff --git a/src/main/java/com/hbm/render/tileentity/RenderTestMissile.java b/src/main/java/com/hbm/render/tileentity/RenderTestMissile.java deleted file mode 100644 index b39ff2863..000000000 --- a/src/main/java/com/hbm/render/tileentity/RenderTestMissile.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.hbm.render.tileentity; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; - -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.entity.Entity; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.model.AdvancedModelLoader; -import net.minecraftforge.client.model.IModelCustom; - -public class RenderTestMissile extends Render { - - private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/Missile.obj"); - private IModelCustom boyModel; - private ResourceLocation boyTexture; - - public RenderTestMissile() { - boyModel = AdvancedModelLoader.loadModel(objTesterModelRL); - boyTexture = new ResourceLocation(RefStrings.MODID, "textures/models/Missile.png"); - } - - @Override - public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { - - GL11.glPushMatrix(); - GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_); - GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F); - - bindTexture(boyTexture); - boyModel.renderAll(); - GL11.glPopMatrix(); - } - - @Override - protected ResourceLocation getEntityTexture(Entity p_110775_1_) { - return new ResourceLocation(RefStrings.MODID +":textures/models/Missile.png"); - } - -} diff --git a/src/main/java/com/hbm/render/tileentity/RenderTestRender.java b/src/main/java/com/hbm/render/tileentity/RenderTestRender.java deleted file mode 100644 index bb590ebb4..000000000 --- a/src/main/java/com/hbm/render/tileentity/RenderTestRender.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.hbm.render.tileentity; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelTestRender; - -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; - -public class RenderTestRender extends TileEntitySpecialRenderer { - - private static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":" + "textures/models/ModelTestRender.png"); - - private ModelTestRender model; - - public RenderTestRender() { - this.model = new ModelTestRender(); - } - - @Override - public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float f) { - GL11.glPushMatrix(); - GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F); - GL11.glRotatef(180, 0F, 0F, 1F); - - this.bindTexture(texture); - - GL11.glPushMatrix(); - this.model.renderModel(0.0625F); - GL11.glPopMatrix(); - GL11.glPopMatrix(); - } - -} diff --git a/src/main/java/com/hbm/render/tileentity/RenderTurretSentry.java b/src/main/java/com/hbm/render/tileentity/RenderTurretSentry.java index 480de1536..107e37973 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderTurretSentry.java +++ b/src/main/java/com/hbm/render/tileentity/RenderTurretSentry.java @@ -6,6 +6,7 @@ import com.hbm.blocks.ModBlocks; import com.hbm.main.ResourceManager; import com.hbm.render.item.ItemRenderBase; import com.hbm.tileentity.turret.TileEntityTurretSentry; +import com.hbm.tileentity.turret.TileEntityTurretSentryDamaged; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.item.Item; @@ -26,8 +27,14 @@ public class RenderTurretSentry extends TileEntitySpecialRenderer implements IIt GL11.glEnable(GL11.GL_LIGHTING); GL11.glEnable(GL11.GL_CULL_FACE); GL11.glShadeModel(GL11.GL_SMOOTH); + + boolean damaged = te instanceof TileEntityTurretSentryDamaged; - bindTexture(ResourceManager.turret_sentry_tex); + if(damaged) + bindTexture(ResourceManager.turret_sentry_damaged_tex); + else + bindTexture(ResourceManager.turret_sentry_tex); + ResourceManager.turret_sentry.renderPart("Base"); double yaw = -Math.toDegrees(turret.lastRotationYaw + (turret.rotationYaw - turret.lastRotationYaw) * interp); @@ -48,7 +55,13 @@ public class RenderTurretSentry extends TileEntitySpecialRenderer implements IIt GL11.glPopMatrix(); GL11.glPushMatrix(); - GL11.glTranslated(0, 0, (turret.lastBarrelRightPos + (turret.barrelRightPos - turret.lastBarrelRightPos) * interp) * -0.5); + if(damaged) { + GL11.glTranslated(0, 1.5, 0.5); + GL11.glRotated(25, 1, 0, 0); + GL11.glTranslated(0, -1.5, -0.5); + } else { + GL11.glTranslated(0, 0, (turret.lastBarrelRightPos + (turret.barrelRightPos - turret.lastBarrelRightPos) * interp) * -0.5); + } ResourceManager.turret_sentry.renderPart("BarrelR"); GL11.glPopMatrix(); diff --git a/src/main/java/com/hbm/render/util/HorsePronter.java b/src/main/java/com/hbm/render/util/HorsePronter.java index 6cba0146c..bec1e9ef6 100644 --- a/src/main/java/com/hbm/render/util/HorsePronter.java +++ b/src/main/java/com/hbm/render/util/HorsePronter.java @@ -11,7 +11,7 @@ import net.minecraftforge.client.model.IModelCustom; public class HorsePronter { - public static final IModelCustom horse = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/mobs/horse.obj"), false).asDisplayList(); + public static final IModelCustom horse = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/mobs/horse.obj"), false).asVBO(); public static final ResourceLocation tex_demohorse = new ResourceLocation(RefStrings.MODID, "textures/models/horse/horse_demo.png"); diff --git a/src/main/java/com/hbm/render/util/MissileMultipart.java b/src/main/java/com/hbm/render/util/MissileMultipart.java index 979a53b15..025343b30 100644 --- a/src/main/java/com/hbm/render/util/MissileMultipart.java +++ b/src/main/java/com/hbm/render/util/MissileMultipart.java @@ -1,7 +1,7 @@ package com.hbm.render.util; import com.hbm.handler.MissileStruct; -import com.hbm.items.weapon.ItemMissile.PartType; +import com.hbm.items.weapon.ItemCustomMissilePart.PartType; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/src/main/java/com/hbm/render/util/MissilePart.java b/src/main/java/com/hbm/render/util/MissilePart.java index bbaf1e539..dbec574c4 100644 --- a/src/main/java/com/hbm/render/util/MissilePart.java +++ b/src/main/java/com/hbm/render/util/MissilePart.java @@ -2,7 +2,7 @@ package com.hbm.render.util; import java.util.HashMap; import com.hbm.items.ModItems; -import com.hbm.items.weapon.ItemMissile.PartType; +import com.hbm.items.weapon.ItemCustomMissilePart.PartType; import com.hbm.main.ResourceManager; import net.minecraft.item.Item; diff --git a/src/main/java/com/hbm/render/util/MissilePronter.java b/src/main/java/com/hbm/render/util/MissilePronter.java index 406499470..c5f979ede 100644 --- a/src/main/java/com/hbm/render/util/MissilePronter.java +++ b/src/main/java/com/hbm/render/util/MissilePronter.java @@ -2,7 +2,7 @@ package com.hbm.render.util; import org.lwjgl.opengl.GL11; -import com.hbm.items.weapon.ItemMissile.PartType; +import com.hbm.items.weapon.ItemCustomMissilePart.PartType; import net.minecraft.client.renderer.texture.TextureManager; diff --git a/src/main/java/com/hbm/render/util/ObjUtil.java b/src/main/java/com/hbm/render/util/ObjUtil.java index 9385fa1e8..69bb79457 100644 --- a/src/main/java/com/hbm/render/util/ObjUtil.java +++ b/src/main/java/com/hbm/render/util/ObjUtil.java @@ -8,14 +8,19 @@ import net.minecraftforge.client.model.obj.GroupObject; import net.minecraftforge.client.model.obj.TextureCoordinate; import net.minecraftforge.client.model.obj.Vertex; import net.minecraftforge.client.model.obj.WavefrontObject; +import net.minecraftforge.common.util.ForgeDirection; public class ObjUtil { public static void renderWithIcon(WavefrontObject model, IIcon icon, Tessellator tes, float rot, boolean shadow) { - renderWithIcon(model, icon, tes, rot, 0, shadow); + renderWithIcon(model, icon, tes, rot, 0, 0, shadow); } public static void renderWithIcon(WavefrontObject model, IIcon icon, Tessellator tes, float rot, float pitch, boolean shadow) { + renderWithIcon(model, icon, tes, rot, pitch, 0, shadow); + } + + public static void renderWithIcon(WavefrontObject model, IIcon icon, Tessellator tes, float rot, float pitch, float roll, boolean shadow) { for(GroupObject go : model.groupObjects) { for(Face f : go.faces) { @@ -41,6 +46,7 @@ public class ObjUtil { Vertex v = f.vertices[i]; Vec3 vec = Vec3.createVectorHelper(v.x, v.y, v.z); + vec.rotateAroundX(roll); vec.rotateAroundZ(pitch); vec.rotateAroundY(rot); @@ -61,10 +67,14 @@ public class ObjUtil { } public static void renderPartWithIcon(WavefrontObject model, String name, IIcon icon, Tessellator tes, float rot, boolean shadow) { - renderPartWithIcon(model, name, icon, tes, rot, 0, shadow); + renderPartWithIcon(model, name, icon, tes, rot, 0, 0, shadow); } public static void renderPartWithIcon(WavefrontObject model, String name, IIcon icon, Tessellator tes, float rot, float pitch, boolean shadow) { + renderPartWithIcon(model, name, icon, tes, rot, pitch, 0, shadow); + } + + public static void renderPartWithIcon(WavefrontObject model, String name, IIcon icon, Tessellator tes, float rot, float pitch, float roll, boolean shadow) { GroupObject go = null; @@ -108,6 +118,7 @@ public class ObjUtil { Vertex v = f.vertices[i]; Vec3 vec = Vec3.createVectorHelper(v.x, v.y, v.z); + vec.rotateAroundX(roll); vec.rotateAroundZ(pitch); vec.rotateAroundY(rot); @@ -120,7 +131,7 @@ public class ObjUtil { // The shoddy way of rendering a tringulated model with a quad // tessellator - if(i % 3 == 2) + if(f.vertices.length == 3 && i % 3 == 2) tes.addVertexWithUV(x, y, z, icon.getInterpolatedU(t.u * 16D), icon.getInterpolatedV(t.v * 16D)); } } @@ -148,4 +159,20 @@ public class ObjUtil { public static void clearColor() { hasColor = false; } + + // Both methods assume model is facing towards +X (EAST) + // Why not +Z (NORTH)? Pitch doesn't rotate as you would expect in that case using the (current) draw methods + public static float getPitch(ForgeDirection dir) { + if (dir == ForgeDirection.UP) return (float)Math.PI * -0.5F; + if (dir == ForgeDirection.DOWN) return (float)Math.PI * 0.5F; + return 0; + } + + public static float getYaw(ForgeDirection dir) { + if (dir == ForgeDirection.NORTH) return (float)Math.PI * 0.5f;; + if (dir == ForgeDirection.SOUTH) return (float)Math.PI * -0.5f; + if (dir == ForgeDirection.WEST) return (float)Math.PI; + return 0; + } + } diff --git a/src/main/java/com/hbm/render/util/RenderAccessoryUtility.java b/src/main/java/com/hbm/render/util/RenderAccessoryUtility.java index d2ea47b0f..7b99b1719 100644 --- a/src/main/java/com/hbm/render/util/RenderAccessoryUtility.java +++ b/src/main/java/com/hbm/render/util/RenderAccessoryUtility.java @@ -44,6 +44,8 @@ public class RenderAccessoryUtility { private static ResourceLocation pheo = new ResourceLocation(RefStrings.MODID + ":textures/models/capes/CapePheo.png"); private static ResourceLocation vaer = new ResourceLocation(RefStrings.MODID + ":textures/models/capes/CapeVaer.png"); private static ResourceLocation adam = new ResourceLocation(RefStrings.MODID + ":textures/models/capes/CapeAdam.png"); + private static ResourceLocation alcater = new ResourceLocation(RefStrings.MODID + ":textures/models/capes/CapeAlcater.png"); + private static ResourceLocation jame = new ResourceLocation(RefStrings.MODID + ":textures/models/capes/CapeJame.png"); public static ResourceLocation getCloakFromPlayer(EntityPlayer player) { @@ -51,7 +53,7 @@ public class RenderAccessoryUtility { String name = player.getDisplayName(); if(uuid.equals(Library.HbMinecraft)) { - return (MainRegistry.polaroidID == 11 ? hbm : hbm2); + return (MainRegistry.polaroidID == 11 ? hbm2 : hbm); } if(uuid.equals(Library.Drillgon)) { @@ -123,6 +125,12 @@ public class RenderAccessoryUtility { if(uuid.equals(Library.Adam29Adam29)) { return adam; } + if(uuid.equals(Library.Alcater)) { + return alcater; + } + if(uuid.equals(Library.ege444)) { + return jame; + } if(Library.contributors.contains(uuid)) { return wiki; } diff --git a/src/main/java/com/hbm/render/util/RenderInfoSystem.java b/src/main/java/com/hbm/render/util/RenderInfoSystem.java index da618d194..94f7760d2 100644 --- a/src/main/java/com/hbm/render/util/RenderInfoSystem.java +++ b/src/main/java/com/hbm/render/util/RenderInfoSystem.java @@ -44,7 +44,7 @@ public class RenderInfoSystem { } } - @SubscribeEvent + @SubscribeEvent(receiveCanceled = true) public void onOverlayRender(RenderGameOverlayEvent.Pre event) { if(event.type != ElementType.CROSSHAIRS) @@ -80,7 +80,7 @@ public class RenderInfoSystem { int side = pX + 5 + longest; int height = messages.size() * 10 + pZ + 2; int z = 0; - + GL11.glDisable(GL11.GL_TEXTURE_2D); Tessellator tess = Tessellator.instance; tess.startDrawingQuads(); diff --git a/src/main/java/com/hbm/render/util/RenderScreenOverlay.java b/src/main/java/com/hbm/render/util/RenderScreenOverlay.java index 50ef61541..512eb41af 100644 --- a/src/main/java/com/hbm/render/util/RenderScreenOverlay.java +++ b/src/main/java/com/hbm/render/util/RenderScreenOverlay.java @@ -230,11 +230,10 @@ public class RenderScreenOverlay { int bar = barID; if(stamina % 30 >= 25) bar++; - int yPos = y; if(bar / 3 != y) y++; bar = bar % 3; - gui.drawTexturedModalRect(posX + (width+2)*bar, posY - 12*y, 76, 58, width, 10); + gui.drawTexturedModalRect(posX + (width + 2) * bar, posY - 12 * y, 76, 58, width, 10); fadeOut -= 0.04F; GL11.glColor4f(1F, 1F, 1F, 1F); } @@ -297,7 +296,7 @@ public class RenderScreenOverlay { Minecraft.getMinecraft().renderEngine.bindTexture(misc); gui.drawTexturedModalRect(left, top, 146, 0, 81, 9); - int i = (int) Math.ceil(props.shield * 79 / props.maxShield); + int i = (int) Math.ceil(props.shield * 79 / props.getEffectiveMaxShield()); gui.drawTexturedModalRect(left + 1, top, 147, 9, i, 9); String label = "" + ((int) (props.shield * 10F)) / 10D; diff --git a/src/main/java/com/hbm/saveddata/satellites/SatelliteLunarMiner.java b/src/main/java/com/hbm/saveddata/satellites/SatelliteLunarMiner.java index 59b2d3f3d..4249dd8db 100644 --- a/src/main/java/com/hbm/saveddata/satellites/SatelliteLunarMiner.java +++ b/src/main/java/com/hbm/saveddata/satellites/SatelliteLunarMiner.java @@ -1,20 +1,10 @@ package com.hbm.saveddata.satellites; -import com.hbm.blocks.ModBlocks; -import com.hbm.items.ModItems; -import com.hbm.util.WeightedRandomObject; -import net.minecraft.item.ItemStack; +import com.hbm.itempool.ItemPoolsSatellite; public class SatelliteLunarMiner extends SatelliteMiner { - static { - registerCargo(SatelliteLunarMiner.class, new WeightedRandomObject[] { - new WeightedRandomObject(new ItemStack(ModBlocks.moon_turf, 48), 5), - new WeightedRandomObject(new ItemStack(ModBlocks.moon_turf, 32), 7), - new WeightedRandomObject(new ItemStack(ModBlocks.moon_turf, 16), 5), - new WeightedRandomObject(new ItemStack(ModItems.powder_lithium, 3), 5), - new WeightedRandomObject(new ItemStack(ModItems.powder_iron, 3), 5), - new WeightedRandomObject(new ItemStack(ModItems.crystal_iron, 1), 1), - new WeightedRandomObject(new ItemStack(ModItems.crystal_lithium, 1), 1) - }); - } + + static { + registerCargo(SatelliteLunarMiner.class, ItemPoolsSatellite.POOL_SAT_LUNAR); + } } \ No newline at end of file diff --git a/src/main/java/com/hbm/saveddata/satellites/SatelliteMiner.java b/src/main/java/com/hbm/saveddata/satellites/SatelliteMiner.java index c1ee0f836..8481a54e9 100644 --- a/src/main/java/com/hbm/saveddata/satellites/SatelliteMiner.java +++ b/src/main/java/com/hbm/saveddata/satellites/SatelliteMiner.java @@ -1,10 +1,7 @@ package com.hbm.saveddata.satellites; -import com.hbm.blocks.ModBlocks; -import com.hbm.items.ModItems; +import com.hbm.itempool.ItemPoolsSatellite; import com.hbm.util.WeightedRandomObject; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import java.util.HashMap; @@ -13,7 +10,7 @@ public class SatelliteMiner extends Satellite { /** * {@link WeightedRandomObject} array with loot the satellite will deliver. */ - private static final HashMap, WeightedRandomObject[]> CARGO = new HashMap<>(); + private static final HashMap, String> CARGO = new HashMap<>(); public long lastOp; @@ -33,7 +30,7 @@ public class SatelliteMiner extends Satellite { * Replaces cargo of the satellite. * @param cargo - Array of {@link WeightedRandomObject} representing the loot that will be delivered. */ - public static void registerCargo(Class minerSatelliteClass, WeightedRandomObject[] cargo) { + public static void registerCargo(Class minerSatelliteClass, String cargo) { CARGO.put(minerSatelliteClass, cargo); } @@ -41,39 +38,11 @@ public class SatelliteMiner extends Satellite { * Gets items the satellite can deliver. * @return - Array of {@link WeightedRandomObject} of satellite loot. */ - public WeightedRandomObject[] getCargo() { + public String getCargo() { return CARGO.get(getClass()); } static { - registerCargo(SatelliteMiner.class, new WeightedRandomObject[] { - new WeightedRandomObject(new ItemStack(ModItems.powder_aluminium, 3), 10), - new WeightedRandomObject(new ItemStack(ModItems.powder_iron, 3), 10), - new WeightedRandomObject(new ItemStack(ModItems.powder_titanium, 2), 8), - new WeightedRandomObject(new ItemStack(ModItems.crystal_tungsten, 2), 7), - new WeightedRandomObject(new ItemStack(ModItems.powder_coal, 4), 15), - new WeightedRandomObject(new ItemStack(ModItems.powder_uranium, 2), 5), - new WeightedRandomObject(new ItemStack(ModItems.powder_plutonium, 1), 5), - new WeightedRandomObject(new ItemStack(ModItems.powder_thorium, 2), 7), - new WeightedRandomObject(new ItemStack(ModItems.powder_desh_mix, 3), 5), - new WeightedRandomObject(new ItemStack(ModItems.powder_diamond, 2), 7), - new WeightedRandomObject(new ItemStack(Items.redstone, 5), 15), - new WeightedRandomObject(new ItemStack(ModItems.powder_nitan_mix, 2), 5), - new WeightedRandomObject(new ItemStack(ModItems.powder_power, 2), 5), - new WeightedRandomObject(new ItemStack(ModItems.powder_copper, 5), 15), - new WeightedRandomObject(new ItemStack(ModItems.powder_lead, 3), 10), - new WeightedRandomObject(new ItemStack(ModItems.fluorite, 4), 15), - new WeightedRandomObject(new ItemStack(ModItems.powder_lapis, 4), 10), - new WeightedRandomObject(new ItemStack(ModItems.powder_combine_steel, 1), 1), - new WeightedRandomObject(new ItemStack(ModItems.crystal_aluminium, 1), 5), - new WeightedRandomObject(new ItemStack(ModItems.crystal_gold, 1), 5), - new WeightedRandomObject(new ItemStack(ModItems.crystal_phosphorus, 1), 10), - new WeightedRandomObject(new ItemStack(ModBlocks.gravel_diamond, 1), 3), - new WeightedRandomObject(new ItemStack(ModItems.crystal_uranium, 1), 3), - new WeightedRandomObject(new ItemStack(ModItems.crystal_plutonium, 1), 3), - new WeightedRandomObject(new ItemStack(ModItems.crystal_trixite, 1), 1), - new WeightedRandomObject(new ItemStack(ModItems.crystal_starmetal, 1), 1), - new WeightedRandomObject(new ItemStack(ModItems.crystal_lithium, 2), 4) - }); + registerCargo(SatelliteMiner.class, ItemPoolsSatellite.POOL_SAT_MINER); } } diff --git a/src/main/java/com/hbm/sound/AudioDynamic.java b/src/main/java/com/hbm/sound/AudioDynamic.java index 3799b7d05..db13d09b3 100644 --- a/src/main/java/com/hbm/sound/AudioDynamic.java +++ b/src/main/java/com/hbm/sound/AudioDynamic.java @@ -62,7 +62,7 @@ public class AudioDynamic extends MovingSound { } public void setVolume(float volume) { - this.volume = volume; + this.maxVolume = volume; } public void setRange(float range) { diff --git a/src/main/java/com/hbm/sound/AudioWrapperClient.java b/src/main/java/com/hbm/sound/AudioWrapperClient.java index bc259c1dd..ca5d038ba 100644 --- a/src/main/java/com/hbm/sound/AudioWrapperClient.java +++ b/src/main/java/com/hbm/sound/AudioWrapperClient.java @@ -72,8 +72,10 @@ public class AudioWrapperClient extends AudioWrapper { @Override public void stopSound() { - if(sound != null) + if(sound != null) { sound.stop(); + sound.setKeepAlive(0); + } } @Override diff --git a/src/main/java/com/hbm/sound/AudioWrapperClientStartStop.java b/src/main/java/com/hbm/sound/AudioWrapperClientStartStop.java deleted file mode 100644 index 6df22c652..000000000 --- a/src/main/java/com/hbm/sound/AudioWrapperClientStartStop.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.hbm.sound; - -import net.minecraft.util.ResourceLocation; -import net.minecraft.world.World; - -/** Only used for doors */ -public class AudioWrapperClientStartStop extends AudioWrapperClient { - - public String start; - public String stop; - public World world; - public float ssVol; - public float x, y, z; - - public AudioWrapperClientStartStop(World world, ResourceLocation source, String start, String stop, float vol){ - super(source); - if(sound != null){ - sound.setVolume(vol); - } - this.ssVol = vol; - this.world = world; - this.start = start; - this.stop = stop; - } - - @Override - public void updatePosition(float x, float y, float z){ - this.x = x; - this.y = y; - this.z = z; - super.updatePosition(x, y, z); - } - - @Override - public void startSound(){ - if(start != null){ - world.playSound(x, y, z, start, ssVol * 0.2F, 1, false); - } - super.startSound(); - } - - @Override - public void stopSound(){ - if(stop != null){ - world.playSound(x, y, z, stop, ssVol * 0.2F, 1, false); - } - super.stopSound(); - } - - @Override - public float getVolume(){ - return ssVol; - } -} diff --git a/src/main/java/com/hbm/sound/SoundLoopMiner.java b/src/main/java/com/hbm/sound/SoundLoopMiner.java deleted file mode 100644 index 0655f0bdf..000000000 --- a/src/main/java/com/hbm/sound/SoundLoopMiner.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.hbm.sound; - -import java.util.ArrayList; -import java.util.List; - -import com.hbm.tileentity.machine.TileEntityMachineMiningDrill; - -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; - -public class SoundLoopMiner extends SoundLoopMachine { - - public static List list = new ArrayList(); - - public SoundLoopMiner(ResourceLocation path, TileEntity te) { - super(path, te); - list.add(this); - } - - @Override - public void update() { - super.update(); - - if(te instanceof TileEntityMachineMiningDrill) { - TileEntityMachineMiningDrill drill = (TileEntityMachineMiningDrill)te; - - if(this.volume != 3) - volume = 3; - - if(drill.torque <= 0.5F) - this.donePlaying = true; - } - } - - public TileEntity getTE() { - return te; - } - -} diff --git a/src/main/java/com/hbm/test/ReEvalTest.java b/src/main/java/com/hbm/test/ReEvalTest.java deleted file mode 100644 index 9c137c481..000000000 --- a/src/main/java/com/hbm/test/ReEvalTest.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.hbm.test; - -import java.util.HashMap; - -import com.hbm.main.MainRegistry; - -import api.hbm.energy.IEnergyConductor; - -public class ReEvalTest { - - /** - * Runs a collision test on a relatively large scale. So large in fact that it will most certainly OOM. - * Not an issue, since by that point we will already have our results. - * @throws OutOfMemoryError - */ - public static void runTest() throws OutOfMemoryError { - - HashMap collisions = new HashMap(); - - int minX = -130; - int maxX = 140; - int minZ = 300; - int maxZ = 520; - - MainRegistry.logger.info("Starting collision test..."); - - for(int x = minX; x <= maxX; x++) { - for(int y = 1; y <= 255; y++) { - for(int z = minZ; z <= maxZ; z++) { - int identity = IEnergyConductor.getIdentityFromPos(x, y, z); - - if(collisions.containsKey(identity)) { - int[] collision = collisions.get(identity); - MainRegistry.logger.info("Position " + x + "/" + y + "/" + z + " collides with " + collision[0] + "/" + collision[1] + "/" + collision[2] + "!"); - } else { - collisions.put(identity, new int[] {x, y, z}); - } - } - } - } - - MainRegistry.logger.info("Collision test complete!"); - } -} diff --git a/src/main/java/com/hbm/tileentity/DoorDecl.java b/src/main/java/com/hbm/tileentity/DoorDecl.java index 5f81ef8f5..d28ae1e22 100644 --- a/src/main/java/com/hbm/tileentity/DoorDecl.java +++ b/src/main/java/com/hbm/tileentity/DoorDecl.java @@ -4,12 +4,13 @@ import com.hbm.animloader.AnimatedModel; import com.hbm.animloader.Animation; import com.hbm.lib.Library; import com.hbm.main.ResourceManager; -import com.hbm.render.loader.WavefrontObjDisplayList; +import com.hbm.render.loader.IModelCustomNamed; import com.hbm.util.BobMathUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.ResourceLocation; + import org.lwjgl.opengl.GL11; public abstract class DoorDecl { @@ -90,7 +91,7 @@ public abstract class DoorDecl { @Override @SideOnly(Side.CLIENT) - public WavefrontObjDisplayList getModel() { + public IModelCustomNamed getModel() { return null; } }; @@ -179,7 +180,7 @@ public abstract class DoorDecl { @Override @SideOnly(Side.CLIENT) - public WavefrontObjDisplayList getModel() { + public IModelCustomNamed getModel() { return ResourceManager.fire_door; } }; @@ -267,7 +268,7 @@ public abstract class DoorDecl { } @Override - public WavefrontObjDisplayList getModel() { + public IModelCustomNamed getModel() { return null; } @@ -358,7 +359,7 @@ public abstract class DoorDecl { @Override @SideOnly(Side.CLIENT) - public WavefrontObjDisplayList getModel() { + public IModelCustomNamed getModel() { return ResourceManager.sliding_seal_door; } }; @@ -457,7 +458,7 @@ public abstract class DoorDecl { @Override @SideOnly(Side.CLIENT) - public WavefrontObjDisplayList getModel() { + public IModelCustomNamed getModel() { return ResourceManager.secure_access_door; } }; @@ -546,7 +547,7 @@ public abstract class DoorDecl { @Override @SideOnly(Side.CLIENT) - public WavefrontObjDisplayList getModel() { + public IModelCustomNamed getModel() { return ResourceManager.round_airlock_door; } }; @@ -629,7 +630,7 @@ public abstract class DoorDecl { @Override @SideOnly(Side.CLIENT) - public WavefrontObjDisplayList getModel() { + public IModelCustomNamed getModel() { return ResourceManager.qe_sliding_door; } @@ -715,7 +716,7 @@ public abstract class DoorDecl { @Override @SideOnly(Side.CLIENT) - public WavefrontObjDisplayList getModel() { + public IModelCustomNamed getModel() { return ResourceManager.qe_containment; } @@ -856,12 +857,132 @@ public abstract class DoorDecl { @Override @SideOnly(Side.CLIENT) - public WavefrontObjDisplayList getModel() { + public IModelCustomNamed getModel() { return ResourceManager.water_door; } }; + public static final DoorDecl SILO_HATCH = new DoorDecl() { + + @Override public String getOpenSoundEnd() { return "hbm:door.wgh_big_stop"; }; + @Override public String getOpenSoundLoop() { return "hbm:door.wgh_big_start"; }; + @Override public String getOpenSoundStart() { return null; }; + @Override public String getCloseSoundStart() { return null; }; + @Override public String getCloseSoundEnd() { return "hbm:door.wgh_big_stop"; }; + @Override public float getSoundVolume() { return 2; } + @Override public boolean remoteControllable() { return true; } + + @Override + @SideOnly(Side.CLIENT) + public void getTranslation(String partName, float openTicks, boolean child, float[] trans) { + if("Hatch".equals(partName)) { + set(trans, 0, 0.25F * Library.smoothstep(getNormTime(openTicks, 0, 10), 0, 1), 0); + } else { + set(trans, 0, 0, 0); + } + }; + + @Override + @SideOnly(Side.CLIENT) + public void getOrigin(String partName, float[] orig) { + if("Hatch".equals(partName)) { + set(orig, 0F, 0.875F, -1.875F); + return; + } + set(orig, 0, 0, 0); + super.getOrigin(partName, orig); + }; + + @Override + @SideOnly(Side.CLIENT) + public void getRotation(String partName, float openTicks, float[] rot) { + if("Hatch".equals(partName)) { + set(rot, Library.smoothstep(getNormTime(openTicks, 20, 100), 0, 1) * -240, 0, 0); + return; + } + super.getRotation(partName, openTicks, rot); + }; + + @Override + @SideOnly(Side.CLIENT) + public boolean doesRender(String partName, boolean child) { + return true; + }; + + @Override public int timeToOpen() { return 60; }; + @Override public int[][] getDoorOpenRanges() { return new int[][] { { 1, 0, 1, -3, 3, 0 }, { 0, 0, 1, -3, 3, 0 }, { -1, 0, 1, -3, 3, 0 } }; } + @Override public float getDoorRangeOpenTime(int ticks, int idx) { return getNormTime(ticks, 20, 20); }; + + + @Override public int getBlockOffset() { return 2; } + @Override public int[] getDimensions() { return new int[] { 0, 0, 2, 2, 2, 2 }; } + @Override @SideOnly(Side.CLIENT) public ResourceLocation getTextureForPart(String partName) { return ResourceManager.silo_hatch_tex; } + @Override public ResourceLocation getTextureForPart(int skinIndex, String partName) { return ResourceManager.silo_hatch_tex; } + @Override @SideOnly(Side.CLIENT) public IModelCustomNamed getModel() { return ResourceManager.silo_hatch; } + + }; + + public static final DoorDecl SILO_HATCH_LARGE = new DoorDecl() { + + @Override public String getOpenSoundEnd() { return "hbm:door.wgh_big_stop"; }; + @Override public String getOpenSoundLoop() { return "hbm:door.wgh_big_start"; }; + @Override public String getOpenSoundStart() { return null; }; + @Override public String getCloseSoundStart() { return null; }; + @Override public String getCloseSoundEnd() { return "hbm:door.wgh_big_stop"; }; + @Override public float getSoundVolume() { return 2; } + @Override public boolean remoteControllable() { return true; } + + @Override + @SideOnly(Side.CLIENT) + public void getTranslation(String partName, float openTicks, boolean child, float[] trans) { + if("Hatch".equals(partName)) { + set(trans, 0, 0.25F * Library.smoothstep(getNormTime(openTicks, 0, 10), 0, 1), 0); + } else { + set(trans, 0, 0, 0); + } + }; + + @Override + @SideOnly(Side.CLIENT) + public void getOrigin(String partName, float[] orig) { + if("Hatch".equals(partName)) { + set(orig, 0F, 0.875F, -2.875F); + return; + } + set(orig, 0, 0, 0); + super.getOrigin(partName, orig); + }; + + @Override + @SideOnly(Side.CLIENT) + public void getRotation(String partName, float openTicks, float[] rot) { + if("Hatch".equals(partName)) { + set(rot, Library.smoothstep(getNormTime(openTicks, 20, 100), 0, 1) * -240, 0, 0); + return; + } + super.getRotation(partName, openTicks, rot); + }; + + @Override + @SideOnly(Side.CLIENT) + public boolean doesRender(String partName, boolean child) { + return true; + }; + + @Override public int timeToOpen() { return 60; }; + @Override public int[][] getDoorOpenRanges() { return new int[][] { { 2, 0, 1, -3, 3, 0 }, { 1, 0, 2, -5, 3, 0 }, { 0, 0, 2, -5, 3, 0 }, { -1, 0, 2, -5, 3, 0 }, { -2, 0, 1, -3, 3, 0 } }; } + @Override public float getDoorRangeOpenTime(int ticks, int idx) { return getNormTime(ticks, 20, 20); }; + + + @Override public int getBlockOffset() { return 3; } + @Override public int[] getDimensions() { return new int[] { 0, 0, 3, 3, 3, 3 }; } + @Override @SideOnly(Side.CLIENT) public ResourceLocation getTextureForPart(String partName) { return ResourceManager.silo_hatch_large_tex; } + @Override public ResourceLocation getTextureForPart(int skinIndex, String partName) { return ResourceManager.silo_hatch_large_tex; } + @Override @SideOnly(Side.CLIENT) public IModelCustomNamed getModel() { return ResourceManager.silo_hatch_large; } + + }; + public static final DoorDecl LARGE_VEHICLE_DOOR = new DoorDecl() { @Override @@ -936,7 +1057,7 @@ public abstract class DoorDecl { @Override @SideOnly(Side.CLIENT) - public WavefrontObjDisplayList getModel() { + public IModelCustomNamed getModel() { return ResourceManager.large_vehicle_door; } @@ -948,6 +1069,14 @@ public abstract class DoorDecl { public abstract int[][] getDoorOpenRanges(); public abstract int[] getDimensions(); + + public int getBlockOffset() { + return 0; + } + + public boolean remoteControllable() { + return false; + } public float getDoorRangeOpenTime(int ticks, int idx) { return getNormTime(ticks); @@ -982,7 +1111,7 @@ public abstract class DoorDecl { public abstract ResourceLocation getTextureForPart(int skinIndex, String partName); @SideOnly(Side.CLIENT) - public abstract WavefrontObjDisplayList getModel(); + public abstract IModelCustomNamed getModel(); @SideOnly(Side.CLIENT) public AnimatedModel getAnimatedModel() { diff --git a/src/main/java/com/hbm/tileentity/IUpgradeInfoProvider.java b/src/main/java/com/hbm/tileentity/IUpgradeInfoProvider.java index f1a420b5f..90a348e1c 100644 --- a/src/main/java/com/hbm/tileentity/IUpgradeInfoProvider.java +++ b/src/main/java/com/hbm/tileentity/IUpgradeInfoProvider.java @@ -22,8 +22,10 @@ public interface IUpgradeInfoProvider { public static final String KEY_ACID = "upgrade.acid"; public static final String KEY_BURN = "upgrade.burn"; public static final String KEY_CONSUMPTION = "upgrade.consumption"; + public static final String KEY_COOLANT_CONSUMPTION = "upgrade.coolantConsumption"; public static final String KEY_DELAY = "upgrade.delay"; public static final String KEY_EFFICIENCY = "upgrade.efficiency"; public static final String KEY_FORTUNE = "upgrade.fortune"; + public static final String KEY_OVERHEAT_CHANCE = "upgrade.overheatChance"; public static final String KEY_RANGE = "upgrade.range"; } diff --git a/src/main/java/com/hbm/tileentity/TileEntityData.java b/src/main/java/com/hbm/tileentity/TileEntityData.java new file mode 100644 index 000000000..df740c776 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/TileEntityData.java @@ -0,0 +1,26 @@ +package com.hbm.tileentity; + +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; + +// A whole ass TE just for 2 extra bits +// My kingdom for 2 fucking flags + +// Use this TE if you need more bits, that's it. Blame Mojang +public class TileEntityData extends TileEntity { + + public int metadata; + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + metadata = nbt.getInteger("meta"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setInteger("meta", metadata); + } + +} diff --git a/src/main/java/com/hbm/tileentity/TileEntityDoorGeneric.java b/src/main/java/com/hbm/tileentity/TileEntityDoorGeneric.java index 5968d685e..a8f856310 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityDoorGeneric.java +++ b/src/main/java/com/hbm/tileentity/TileEntityDoorGeneric.java @@ -142,9 +142,9 @@ public class TileEntityDoorGeneric extends TileEntityLockableBase implements IAn } PacketDispatcher.wrapper.sendToAllAround(new TEDoorAnimationPacket(xCoord, yCoord, zCoord, state, skinIndex, (byte)(shouldUseBB ? 1 : 0)), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 100)); - if(redstonePower == -1 && state == 0){ + if(redstonePower == -1 && state == 1){ tryToggle(-1); - } else if(redstonePower > 0 && state == 1){ + } else if(redstonePower > 0 && state == 0){ tryToggle(-1); } if(redstonePower == -1){ @@ -167,7 +167,7 @@ public class TileEntityDoorGeneric extends TileEntityLockableBase implements IAn public DoorDecl getDoorType(){ - if(this.doorType == null) + if(this.doorType == null && this.getBlockType() instanceof BlockDoorGeneric) this.doorType = ((BlockDoorGeneric)this.getBlockType()).type; return this.doorType; @@ -175,6 +175,8 @@ public class TileEntityDoorGeneric extends TileEntityLockableBase implements IAn public boolean tryToggle(EntityPlayer player){ + if(this.isLocked() && player == null) return false; + if(state == 0 && redstonePower > 0){ //Redstone "power locks" doors, just like minecraft iron doors return false; @@ -241,27 +243,54 @@ public class TileEntityDoorGeneric extends TileEntityLockableBase implements IAn public void handleNewState(byte state){ if(this.state != state) { - if(this.state == 0 && state == 3){ - if(audio == null){ - audio = MainRegistry.proxy.getLoopedSoundStartStop(worldObj, getDoorType().getOpenSoundLoop(), getDoorType().getOpenSoundStart(), getDoorType().getOpenSoundEnd(), xCoord, yCoord, zCoord, getDoorType().getSoundVolume(), 1); + DoorDecl doorType = getDoorType(); + + if(this.state == 0 && state == 3){ // Door transitioning to open + if(audio != null) { + audio.stopSound(); + audio.setKeepAlive(0); + } + + if(doorType.getOpenSoundLoop() != null){ + audio = MainRegistry.proxy.getLoopedSound(doorType.getOpenSoundLoop(), xCoord, yCoord, zCoord, doorType.getSoundVolume(), 10F, 1F); audio.startSound(); } - if(audio2 == null && getDoorType().getSoundLoop2() != null){ - audio2 = MainRegistry.proxy.getLoopedSoundStartStop(worldObj, getDoorType().getSoundLoop2(), null, null, xCoord, yCoord, zCoord, getDoorType().getSoundVolume(), 1); + + if(doorType.getOpenSoundStart() != null){ + worldObj.playSound(xCoord, yCoord, zCoord, doorType.getOpenSoundStart(), doorType.getSoundVolume(), 1F, false); + } + + if(doorType.getSoundLoop2() != null){ + if(audio2 != null) audio2.stopSound(); + + audio2 = MainRegistry.proxy.getLoopedSound(doorType.getSoundLoop2(), xCoord, yCoord, zCoord, doorType.getSoundVolume(), 10F, 1F); audio2.startSound(); } } - if(this.state == 1 && state == 2){ - if(audio == null){ - audio = MainRegistry.proxy.getLoopedSoundStartStop(worldObj, getDoorType().getCloseSoundLoop(), getDoorType().getCloseSoundStart(), getDoorType().getCloseSoundEnd(), xCoord, yCoord, zCoord, getDoorType().getSoundVolume(), 1); + + if(this.state == 1 && state == 2){ // Door transitioning to closed + if(audio != null) { + audio.stopSound(); + } + + if(doorType.getCloseSoundLoop() != null){ + audio = MainRegistry.proxy.getLoopedSound(doorType.getCloseSoundLoop(), xCoord, yCoord, zCoord, doorType.getSoundVolume(), 10F, 1F); audio.startSound(); } - if(audio2 == null && getDoorType().getSoundLoop2() != null){ - audio2 = MainRegistry.proxy.getLoopedSoundStartStop(worldObj, getDoorType().getSoundLoop2(), null, null, xCoord, yCoord, zCoord, getDoorType().getSoundVolume(), 1); + + if(doorType.getCloseSoundStart() != null){ + worldObj.playSound(xCoord, yCoord, zCoord, doorType.getCloseSoundStart(), doorType.getSoundVolume(), 1F, false); + } + + if(doorType.getSoundLoop2() != null){ + if(audio2 != null) audio2.stopSound(); + + audio2 = MainRegistry.proxy.getLoopedSound(doorType.getSoundLoop2(), xCoord, yCoord, zCoord, doorType.getSoundVolume(), 10F, 1F); audio2.startSound(); } } - if((this.state == 3 && state == 1) || (this.state == 2 && state == 0)){ + + if(state == 1 || state == 0){ // Door finished any transition if(audio != null){ audio.stopSound(); audio = null; @@ -271,6 +300,18 @@ public class TileEntityDoorGeneric extends TileEntityLockableBase implements IAn audio2 = null; } } + + if(this.state == 3 && state == 1){ // Door finished transitioning to open + if(doorType.getOpenSoundEnd() != null){ + worldObj.playSound(xCoord, yCoord, zCoord, doorType.getOpenSoundEnd(), doorType.getSoundVolume(), 1F, false); + } + } + + if(this.state == 2 && state == 0){ // Door finished transitioning to closed + if(doorType.getCloseSoundEnd() != null){ + worldObj.playSound(xCoord, yCoord, zCoord, doorType.getCloseSoundEnd(), doorType.getSoundVolume(), 1F, false); + } + } this.state = state; @@ -311,7 +352,7 @@ public class TileEntityDoorGeneric extends TileEntityLockableBase implements IAn } @Override - public void readFromNBT(NBTTagCompound tag){ + public void readFromNBT(NBTTagCompound tag) { this.state = tag.getByte("state"); this.openTicks = tag.getInteger("openTicks"); this.animStartTime = tag.getInteger("animStartTime"); @@ -320,16 +361,16 @@ public class TileEntityDoorGeneric extends TileEntityLockableBase implements IAn this.skinIndex = tag.getByte("skin"); NBTTagCompound activatedBlocks = tag.getCompoundTag("activatedBlocks"); this.activatedBlocks.clear(); - for(int i = 0; i < activatedBlocks.func_150296_c().size()/3; i ++){ - this.activatedBlocks.add(new BlockPos(activatedBlocks.getInteger("x"+i), activatedBlocks.getInteger("y"+i), activatedBlocks.getInteger("z"+i))); + for(int i = 0; i < activatedBlocks.func_150296_c().size() / 3; i++) { + this.activatedBlocks.add(new BlockPos(activatedBlocks.getInteger("x" + i), activatedBlocks.getInteger("y" + i), activatedBlocks.getInteger("z" + i))); } super.readFromNBT(tag); } @Override - public void writeToNBT(NBTTagCompound tag){ + public void writeToNBT(NBTTagCompound tag) { super.writeToNBT(tag); - + tag.setByte("state", state); tag.setInteger("openTicks", openTicks); tag.setLong("animStartTime", animStartTime); @@ -339,10 +380,10 @@ public class TileEntityDoorGeneric extends TileEntityLockableBase implements IAn tag.setByte("skin", skinIndex); NBTTagCompound activatedBlocks = new NBTTagCompound(); int i = 0; - for(BlockPos p : this.activatedBlocks){ - activatedBlocks.setInteger("x"+i, p.getX()); - activatedBlocks.setInteger("y"+i, p.getY()); - activatedBlocks.setInteger("z"+i, p.getZ()); + for(BlockPos p : this.activatedBlocks) { + activatedBlocks.setInteger("x" + i, p.getX()); + activatedBlocks.setInteger("y" + i, p.getY()); + activatedBlocks.setInteger("z" + i, p.getZ()); i++; } tag.setTag("activatedBlocks", activatedBlocks); @@ -366,7 +407,7 @@ public class TileEntityDoorGeneric extends TileEntityLockableBase implements IAn } } - public void updateRedstonePower(int x, int y, int z){ + public void updateRedstonePower(int x, int y, int z) { //Drillgon200: Best I could come up with without having to use dummy tile entities BlockPos pos = new BlockPos(x, y, z); boolean powered = worldObj.isBlockIndirectlyGettingPowered(x, y, z); diff --git a/src/main/java/com/hbm/tileentity/TileEntityLoadedBase.java b/src/main/java/com/hbm/tileentity/TileEntityLoadedBase.java index f2ab912aa..11ec8ddd1 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityLoadedBase.java +++ b/src/main/java/com/hbm/tileentity/TileEntityLoadedBase.java @@ -2,12 +2,14 @@ package com.hbm.tileentity; import com.hbm.sound.AudioWrapper; -import api.hbm.energy.ILoadedTile; +import api.hbm.tile.ILoadedTile; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; public class TileEntityLoadedBase extends TileEntity implements ILoadedTile { public boolean isLoaded = true; + public boolean muffled = false; @Override public boolean isLoaded() { @@ -28,4 +30,20 @@ public class TileEntityLoadedBase extends TileEntity implements ILoadedTile { audio.startSound(); return audio; } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + this.muffled = nbt.getBoolean("muffled"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setBoolean("muffled", muffled); + } + + public float getVolume(float baseVolume) { + return muffled ? baseVolume * 0.1F : baseVolume; + } } diff --git a/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java b/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java index bf1318f0f..d9a17469d 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java +++ b/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java @@ -1,13 +1,14 @@ package com.hbm.tileentity; -import com.hbm.blocks.ModBlocks; import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.BufPacket; import com.hbm.packet.NBTPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.util.fauxpointtwelve.DirPos; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import io.netty.buffer.ByteBuf; +import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; @@ -155,17 +156,27 @@ public abstract class TileEntityMachineBase extends TileEntityLoadedBase impleme @Deprecated public void processGauge(int val, int id) { } @Deprecated public void networkPack(NBTTagCompound nbt, int range) { + nbt.setBoolean("muffled", muffled); if(!worldObj.isRemote) PacketDispatcher.wrapper.sendToAllAround(new NBTPacket(nbt, xCoord, yCoord, zCoord), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, range)); } - @Deprecated public void networkUnpack(NBTTagCompound nbt) { } + + @Deprecated + public void networkUnpack(NBTTagCompound nbt) { + this.muffled = nbt.getBoolean("muffled"); + } /** Sends a sync packet that uses ByteBuf for efficient information-cramming */ public void networkPackNT(int range) { if(!worldObj.isRemote) PacketDispatcher.wrapper.sendToAllAround(new BufPacket(xCoord, yCoord, zCoord, this), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, range)); } - @Override public void serialize(ByteBuf buf) { } - @Override public void deserialize(ByteBuf buf) { } + @Override public void serialize(ByteBuf buf) { + buf.writeBoolean(muffled); + } + + @Override public void deserialize(ByteBuf buf) { + this.muffled = buf.readBoolean(); + } @Deprecated public void handleButtonPacket(int value, int meta) { } @@ -204,21 +215,26 @@ public abstract class TileEntityMachineBase extends TileEntityLoadedBase impleme nbt.setTag("items", list); } - public int countMufflers() { - - int count = 0; - - for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) - if(worldObj.getBlock(xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ) == ModBlocks.muffler) - count++; - - return count; - } - - public float getVolume(int toSilence) { - - float volume = 1 - (countMufflers() / (float)toSilence); - - return Math.max(volume, 0); + public void updateRedstoneConnection(DirPos pos) { + + int x = pos.getX(); + int y = pos.getY(); + int z = pos.getZ(); + ForgeDirection dir = pos.getDir(); + Block block1 = worldObj.getBlock(x, y, z); + + block1.onNeighborChange(worldObj, x, y, z, xCoord, yCoord, zCoord); + block1.onNeighborBlockChange(worldObj, x, y, z, this.getBlockType()); + if(block1.isNormalCube(worldObj, x, y, z)) { + x += dir.offsetX; + y += dir.offsetY; + z += dir.offsetZ; + Block block2 = worldObj.getBlock(x, y, z); + + if(block2.getWeakChanges(worldObj, x, y, z)) { + block2.onNeighborChange(worldObj, x, y, z, xCoord, yCoord, zCoord); + block2.onNeighborBlockChange(worldObj, x, y, z, this.getBlockType()); + } + } } } diff --git a/src/main/java/com/hbm/tileentity/TileEntityProxyCombo.java b/src/main/java/com/hbm/tileentity/TileEntityProxyCombo.java index eb4a603e0..7fe9db0f3 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityProxyCombo.java +++ b/src/main/java/com/hbm/tileentity/TileEntityProxyCombo.java @@ -1,28 +1,31 @@ package com.hbm.tileentity; +import api.hbm.block.ICrucibleAcceptor; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; import com.hbm.inventory.fluid.FluidType; -import api.hbm.energy.IEnergyConnector; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidConnector; import api.hbm.tile.IHeatSource; +import com.hbm.inventory.material.Mats; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergyUser, IFluidAcceptor, ISidedInventory, IFluidConnector, IHeatSource { +public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergyReceiverMK2, IFluidAcceptor, ISidedInventory, IFluidConnector, IHeatSource, ICrucibleAcceptor { TileEntity tile; boolean inventory; boolean power; boolean fluid; boolean heat; + public boolean moltenMetal; public TileEntityProxyCombo() { } @@ -41,7 +44,10 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy this.power = true; return this; } - + public TileEntityProxyCombo moltenMetal() { + this.moltenMetal = true; + return this; + } public TileEntityProxyCombo fluid() { this.fluid = true; return this; @@ -163,8 +169,8 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy if(!power) return; - if(getTile() instanceof IEnergyUser) { - ((IEnergyUser)getTile()).setPower(i); + if(getTile() instanceof IEnergyReceiverMK2) { + ((IEnergyReceiverMK2)getTile()).setPower(i); } } @@ -174,8 +180,8 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy if(!power) return 0; - if(getTile() instanceof IEnergyConnector) { - return ((IEnergyConnector)getTile()).getPower(); + if(getTile() instanceof IEnergyReceiverMK2) { + return ((IEnergyReceiverMK2)getTile()).getPower(); } return 0; @@ -187,8 +193,8 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy if(!power) return 0; - if(getTile() instanceof IEnergyConnector) { - return ((IEnergyConnector)getTile()).getMaxPower(); + if(getTile() instanceof IEnergyReceiverMK2) { + return ((IEnergyReceiverMK2)getTile()).getMaxPower(); } return 0; @@ -200,8 +206,8 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy if(!this.power) return power; - if(getTile() instanceof IEnergyConnector) { - return ((IEnergyConnector)getTile()).transferPower(power); + if(getTile() instanceof IEnergyReceiverMK2) { + return ((IEnergyReceiverMK2)getTile()).transferPower(power); } return power; @@ -213,8 +219,8 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy if(!power) return false; - if(getTile() instanceof IEnergyConnector) { - return ((IEnergyConnector)getTile()).canConnect(dir); + if(getTile() instanceof IEnergyReceiverMK2) { + return ((IEnergyReceiverMK2)getTile()).canConnect(dir); } return true; @@ -425,6 +431,7 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy this.inventory = nbt.getBoolean("inv"); this.power = nbt.getBoolean("power"); this.fluid = nbt.getBoolean("fluid"); + this.moltenMetal = nbt.getBoolean("metal"); this.heat = nbt.getBoolean("heat"); } @@ -435,6 +442,7 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy nbt.setBoolean("inv", inventory); nbt.setBoolean("power", power); nbt.setBoolean("fluid", fluid); + nbt.setBoolean("metal", moltenMetal); nbt.setBoolean("heat", heat); } @@ -497,4 +505,36 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy ((IHeatSource)getTile()).useUpHeat(heat); } } + + @Override + public boolean canAcceptPartialPour(World world, int x, int y, int z, double dX, double dY, double dZ, ForgeDirection side, Mats.MaterialStack stack) { + if(this.moltenMetal && getTile() instanceof ICrucibleAcceptor){ + return ((ICrucibleAcceptor)getTile()).canAcceptPartialPour(world, x, y, z, dX, dY, dZ, side, stack); + } + return false; + } + + @Override + public Mats.MaterialStack pour(World world, int x, int y, int z, double dX, double dY, double dZ, ForgeDirection side, Mats.MaterialStack stack) { + if(this.moltenMetal && getTile() instanceof ICrucibleAcceptor){ + return ((ICrucibleAcceptor)getTile()).pour(world, x, y, z, dX, dY, dZ, side, stack); + } + return null; + } + + @Override + public boolean canAcceptPartialFlow(World world, int x, int y, int z, ForgeDirection side, Mats.MaterialStack stack) { + if(this.moltenMetal && getTile() instanceof ICrucibleAcceptor){ + return ((ICrucibleAcceptor)getTile()).canAcceptPartialFlow(world, x, y, z, side, stack); + } + return false; + } + + @Override + public Mats.MaterialStack flow(World world, int x, int y, int z, ForgeDirection side, Mats.MaterialStack stack) { + if(this.moltenMetal && getTile() instanceof ICrucibleAcceptor){ + return ((ICrucibleAcceptor)getTile()).flow(world, x, y, z, side, stack); + } + return null; + } } diff --git a/src/main/java/com/hbm/tileentity/TileEntityProxyConductor.java b/src/main/java/com/hbm/tileentity/TileEntityProxyConductor.java index 1bcbaa6cb..f7b16aec9 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityProxyConductor.java +++ b/src/main/java/com/hbm/tileentity/TileEntityProxyConductor.java @@ -1,87 +1,11 @@ package com.hbm.tileentity; -import java.util.ArrayList; -import java.util.List; +import api.hbm.energymk2.IEnergyConnectorMK2; -import api.hbm.energy.IEnergyConductor; -import api.hbm.energy.IPowerNet; -import net.minecraft.tileentity.TileEntity; - -public class TileEntityProxyConductor extends TileEntityProxyBase implements IEnergyConductor { +public class TileEntityProxyConductor extends TileEntityProxyBase implements IEnergyConnectorMK2 { @Override public boolean canUpdate() { return false; } - - @Override - public long transferPower(long power) { - - TileEntity te = this.getTE(); - - if(te instanceof IEnergyConductor) { - return ((IEnergyConductor)te).transferPower(power); - } - - return 0; - } - - @Override - public long getPower() { - - TileEntity te = this.getTE(); - - if(te instanceof IEnergyConductor) { - return ((IEnergyConductor)te).getPower(); - } - - return 0; - } - - @Override - public long getMaxPower() { - - TileEntity te = this.getTE(); - - if(te instanceof IEnergyConductor) { - return ((IEnergyConductor)te).getMaxPower(); - } - - return 0; - } - - @Override - public IPowerNet getPowerNet() { - - TileEntity te = this.getTE(); - - if(te instanceof IEnergyConductor) { - return ((IEnergyConductor)te).getPowerNet(); - } - - return null; - } - - @Override - public void setPowerNet(IPowerNet network) { - - TileEntity te = this.getTE(); - - if(te instanceof IEnergyConductor) { - ((IEnergyConductor)te).setPowerNet(network); - } - } - - @Override - public List getConnectionPoints() { - - /*TileEntity te = this.getTE(); - - if(te instanceof IEnergyConductor) { - return ((IEnergyConductor)te).getConnectionPoints(); - }*/ - - /* Proxy TE doesn't need to implement proxying here because the conductor main TE already has a network-specific proxying system */ - return new ArrayList(); - } } diff --git a/src/main/java/com/hbm/tileentity/TileEntityProxyEnergy.java b/src/main/java/com/hbm/tileentity/TileEntityProxyEnergy.java index f4ae0e810..65c983e23 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityProxyEnergy.java +++ b/src/main/java/com/hbm/tileentity/TileEntityProxyEnergy.java @@ -1,24 +1,23 @@ package com.hbm.tileentity; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; //can be used as a soruce too since the core TE handles that anyway -public class TileEntityProxyEnergy extends TileEntityProxyBase implements IEnergyUser { +public class TileEntityProxyEnergy extends TileEntityProxyBase implements IEnergyReceiverMK2 { - public boolean canUpdate() - { - return false; - } + public boolean canUpdate() { + return false; + } @Override public void setPower(long i) { TileEntity te = getTE(); - if(te instanceof IEnergyUser) { - ((IEnergyUser)te).setPower(i); + if(te instanceof IEnergyReceiverMK2) { + ((IEnergyReceiverMK2)te).setPower(i); } } @@ -27,8 +26,8 @@ public class TileEntityProxyEnergy extends TileEntityProxyBase implements IEnerg TileEntity te = getTE(); - if(te instanceof IEnergyUser) { - return ((IEnergyUser)te).getPower(); + if(te instanceof IEnergyReceiverMK2) { + return ((IEnergyReceiverMK2)te).getPower(); } return 0; @@ -39,8 +38,8 @@ public class TileEntityProxyEnergy extends TileEntityProxyBase implements IEnerg TileEntity te = getTE(); - if(te instanceof IEnergyUser) { - return ((IEnergyUser)te).getMaxPower(); + if(te instanceof IEnergyReceiverMK2) { + return ((IEnergyReceiverMK2)te).getMaxPower(); } return 0; @@ -49,8 +48,8 @@ public class TileEntityProxyEnergy extends TileEntityProxyBase implements IEnerg @Override public long transferPower(long power) { - if(getTE() instanceof IEnergyUser) { - return ((IEnergyUser)getTE()).transferPower(power); + if(getTE() instanceof IEnergyReceiverMK2) { + return ((IEnergyReceiverMK2)getTE()).transferPower(power); } return 0; @@ -60,8 +59,8 @@ public class TileEntityProxyEnergy extends TileEntityProxyBase implements IEnerg public boolean canConnect(ForgeDirection dir) { TileEntity te = getTE(); - if(te instanceof IEnergyUser) { - return ((IEnergyUser)te).canConnect(dir); //for some reason two consecutive getTE calls return different things? + if(te instanceof IEnergyReceiverMK2) { + return ((IEnergyReceiverMK2)te).canConnect(dir); //for some reason two consecutive getTE calls return different things? } return false; diff --git a/src/main/java/com/hbm/tileentity/TileEntityTickingBase.java b/src/main/java/com/hbm/tileentity/TileEntityTickingBase.java index aa11fb99a..1d1871c2e 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityTickingBase.java +++ b/src/main/java/com/hbm/tileentity/TileEntityTickingBase.java @@ -1,13 +1,15 @@ package com.hbm.tileentity; +import com.hbm.packet.BufPacket; import com.hbm.packet.NBTPacket; import com.hbm.packet.PacketDispatcher; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import io.netty.buffer.ByteBuf; import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.fluids.FluidTank; -public abstract class TileEntityTickingBase extends TileEntityLoadedBase implements INBTPacketReceiver { +public abstract class TileEntityTickingBase extends TileEntityLoadedBase implements INBTPacketReceiver, IBufPacketReceiver { public TileEntityTickingBase() { } @@ -22,16 +24,28 @@ public abstract class TileEntityTickingBase extends TileEntityLoadedBase impleme //was it update? onUpdate? updateTile? did it have any args? //shit i don't know man @Override - public abstract void updateEntity(); + public abstract void updateEntity(); - public void networkPack(NBTTagCompound nbt, int range) { + @Deprecated public void networkPack(NBTTagCompound nbt, int range) { if(!worldObj.isRemote) PacketDispatcher.wrapper.sendToAllAround(new NBTPacket(nbt, xCoord, yCoord, zCoord), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, range)); } - public void networkUnpack(NBTTagCompound nbt) { } + @Deprecated public void networkUnpack(NBTTagCompound nbt) { } @Deprecated public void handleButtonPacket(int value, int meta) { } + + public void networkPackNT(int range) { + if(!worldObj.isRemote) PacketDispatcher.wrapper.sendToAllAround(new BufPacket(xCoord, yCoord, zCoord, this), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, range)); + } + + @Override public void serialize(ByteBuf buf) { + buf.writeBoolean(muffled); + } + + @Override public void deserialize(ByteBuf buf) { + this.muffled = buf.readBoolean(); + } } diff --git a/src/main/java/com/hbm/tileentity/TileMappings.java b/src/main/java/com/hbm/tileentity/TileMappings.java index 0161679ba..a6d60d8b8 100644 --- a/src/main/java/com/hbm/tileentity/TileMappings.java +++ b/src/main/java/com/hbm/tileentity/TileMappings.java @@ -12,8 +12,10 @@ import com.hbm.blocks.generic.BlockEmitter.TileEntityEmitter; import com.hbm.blocks.generic.BlockGlyphidSpawner.TileEntityGlpyhidSpawner; import com.hbm.blocks.generic.BlockLoot.TileEntityLoot; import com.hbm.blocks.generic.BlockMotherOfAllOres.TileEntityRandomOre; +import com.hbm.blocks.generic.BlockPedestal.TileEntityPedestal; import com.hbm.blocks.generic.BlockSnowglobe.TileEntitySnowglobe; import com.hbm.blocks.generic.PartEmitter.TileEntityPartEmitter; +import com.hbm.blocks.machine.BlockICF.TileEntityBlockICF; import com.hbm.blocks.machine.BlockPWR.TileEntityBlockPWR; import com.hbm.blocks.machine.MachineCapacitor.TileEntityCapacitor; import com.hbm.blocks.machine.MachineFan.TileEntityFan; @@ -24,6 +26,7 @@ import com.hbm.blocks.network.BlockCablePaintable.TileEntityCablePaintable; import com.hbm.blocks.network.CableDiode.TileEntityDiode; import com.hbm.blocks.network.FluidDuctGauge.TileEntityPipeGauge; import com.hbm.blocks.network.FluidDuctPaintable.TileEntityPipePaintable; +import com.hbm.blocks.rail.RailStandardSwitch.TileEntityRailSwitch; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidSource; import com.hbm.tileentity.bomb.*; @@ -43,14 +46,11 @@ import net.minecraft.tileentity.TileEntity; public class TileMappings { - public static HashMap, String[]> map = new HashMap(); - public static List> configurables = new ArrayList(); + public static HashMap, String[]> map = new HashMap, String[]>(); + public static List> configurables = new ArrayList>(); public static void writeMappings() { - put(TileEntityTestBombAdvanced.class, "tilentity_testbombadvanced"); put(TileEntityDiFurnace.class, "tilentity_diFurnace"); - put(TileEntityTestNuke.class, "tilentity_testnuke"); - put(TileEntityTestRender.class, "tilentity_testrenderer"); put(TileEntityObjTester.class, "tilentity_objtester"); put(TileEntityMachineCentrifuge.class, "tileentity_centrifuge"); put(TileEntityNukeMan.class, "tileentity_nukeman"); @@ -66,11 +66,12 @@ public class TileMappings { put(TileEntityDecoPoleSatelliteReceiver.class, "tileentity_satellitereceicer"); put(TileEntityMachineBattery.class, "tileentity_battery"); put(TileEntityCapacitor.class, "tileentity_capacitor"); - put(TileEntityMachineCoal.class, "tileentity_coal"); put(TileEntityMachineWoodBurner.class, "tileentity_wood_burner"); put(TileEntityRedBarrel.class, "tileentity_barrel"); put(TileEntityYellowBarrel.class, "tileentity_nukebarrel"); put(TileEntityLaunchPad.class, "tileentity_launch1"); + put(TileEntityLaunchPadRusted.class, "tileentity_launchpad_rusted"); + put(TileEntityLaunchPadLarge.class, "tileentity_launchpad_large"); put(TileEntityDecoBlock.class, "tileentity_deco"); put(TileEntityDecoBlockAltW.class, "tileentity_deco_w"); put(TileEntityDecoBlockAltG.class, "tileentity_deco_g"); @@ -80,10 +81,7 @@ public class TileMappings { put(TileEntityConverterRfHe.class, "tileentity_converter_rfhe"); put(TileEntityMachineSchrabidiumTransmutator.class, "tileentity_schrabidium_transmutator"); put(TileEntityMachineDiesel.class, "tileentity_diesel_generator"); - put(TileEntityWatzCore.class, "tileentity_watz_multiblock"); put(TileEntityMachineShredder.class, "tileentity_machine_shredder"); - put(TileEntityMachineCMBFactory.class, "tileentity_machine_cmb"); - put(TileEntityFWatzCore.class, "tileentity_fwatz_multiblock"); put(TileEntityMachineTeleporter.class, "tileentity_teleblock"); put(TileEntityHatch.class, "tileentity_seal_lid"); put(TileEntityMachineIGenerator.class, "tileentity_igenerator"); @@ -92,11 +90,10 @@ public class TileMappings { put(TileEntityMachineCyclotron.class, "tileentity_cyclotron"); put(TileEntityMachineExposureChamber.class, "tileentity_exposure_chamber"); put(TileEntityMachineRTG.class, "tileentity_machine_rtg"); - put(TileEntityStructureMarker.class, "tileentity_structure_marker"); - put(TileEntityMachineMiningDrill.class, "tileentity_mining_drill"); put(TileEntityMachineExcavator.class, "tileentity_ntm_excavator"); put(TileEntityFluidDuctSimple.class, "tileentity_universal_duct_simple"); put(TileEntityFluidDuct.class, "tileentity_universal_duct"); + put(TileEntityMachineDrain.class, "tileentity_fluid_drain"); put(TileEntityMachineFluidTank.class, "tileentity_fluid_tank"); put(TileEntityMachineTurbofan.class, "tileentity_machine_turbofan"); put(TileEntityMachineTurbineGas.class, "tileentity_machine_gasturbine"); @@ -106,17 +103,14 @@ public class TileMappings { put(TileEntityCrateDesh.class, "tileentity_crate_desh"); put(TileEntityMassStorage.class, "tileentity_mass_storage"); put(TileEntityMachinePress.class, "tileentity_press"); - put(TileEntityAMSBase.class, "tileentity_ams_base"); - put(TileEntityAMSEmitter.class, "tileentity_ams_emitter"); - put(TileEntityAMSLimiter.class, "tileentity_ams_limiter"); put(TileEntityMachineSiren.class, "tileentity_siren"); put(TileEntityMachineSPP.class, "tileentity_spp"); put(TileEntityMachineRadGen.class, "tileentity_radgen"); put(TileEntityMachineTransformer.class, "tileentity_transformer"); put(TileEntityMachineRadarNT.class, "tileentity_radar"); + put(TileEntityMachineRadarLarge.class, "tileentity_radar_large"); put(TileEntityMachineRadarScreen.class, "tileentity_radar_screen"); put(TileEntityBroadcaster.class, "tileentity_pink_cloud_broadcaster"); - put(TileEntityMachineSeleniumEngine.class, "tileentity_selenium_engine"); put(TileEntityMachineSatLinker.class, "tileentity_satlinker"); put(TileEntityReactorResearch.class, "tileentity_small_reactor"); put(TileEntityVaultDoor.class, "tileentity_vault_door"); @@ -124,10 +118,8 @@ public class TileMappings { put(TileEntityRadioRec.class, "tileentity_radio_receiver"); put(TileEntityVent.class, "tileentity_vent"); put(TileEntityLandmine.class, "tileentity_landmine"); - put(TileEntityBomber.class, "tileentity_bomber"); put(TileEntityMachineKeyForge.class, "tileentity_key_forge"); put(TileEntitySellafield.class, "tileentity_sellafield_core"); - put(TileEntityNukeN45.class, "tileentity_n45"); put(TileEntityBlastDoor.class, "tileentity_blast_door"); put(TileEntitySafe.class, "tileentity_safe"); put(TileEntityMachineGasCent.class, "tileentity_gas_centrifuge"); @@ -136,10 +128,7 @@ public class TileMappings { put(TileEntityGeiger.class, "tileentity_geiger"); put(TileEntityFF.class, "tileentity_forcefield"); put(TileEntityForceField.class, "tileentity_machine_field"); - put(TileEntityMachineShredderLarge.class, "tileentity_machine_big_shredder"); - put(TileEntityRFDuct.class, "tileentity_hbm_rfduct"); put(TileEntityReactorControl.class, "tileentity_reactor_remote_control"); - put(TileEntityMachineReactorLarge.class, "tileentity_large_reactor"); put(TileEntityWasteDrum.class, "tileentity_waste_drum"); put(TileEntityDecon.class, "tileentity_decon"); put(TileEntityMachineSatDock.class, "tileentity_miner_dock"); @@ -172,6 +161,9 @@ public class TileMappings { put(TileEntityMicrowave.class, "tileentity_microwave"); put(TileEntityMachineMiniRTG.class, "tileentity_mini_rtg"); put(TileEntityITER.class, "tileentity_iter"); + put(TileEntityBlockICF.class, "tileentity_block_icf"); + put(TileEntityICFController.class, "tileentity_icf_controller"); + put(TileEntityICF.class, "tileentity_icf"); put(TileEntityMachinePlasmaHeater.class, "tileentity_plasma_heater"); put(TileEntityMachineFENSU.class, "tileentity_fensu"); put(TileEntityTrappedBrick.class, "tileentity_trapped_brick"); @@ -191,7 +183,6 @@ public class TileMappings { put(TileEntityLantern.class, "tileentity_lantern_ordinary"); put(TileEntityLanternBehemoth.class, "tileentity_lantern_behemoth"); put(TileEntityStorageDrum.class, "tileentity_waste_storage_drum"); - put(TileEntityDeaerator.class, "tileentity_deaerator"); put(TileEntityCableBaseNT.class, "tileentity_ohgod"); // what? put(TileEntityCablePaintable.class, "tileentity_cable_paintable"); put(TileEntityCableGauge.class, "tileentity_cable_gauge"); @@ -206,6 +197,7 @@ public class TileMappings { put(TileEntityCustomMachine.class, "tileentity_custom_machine"); put(TileEntityLoot.class, "tileentity_ntm_loot"); + put(TileEntityPedestal.class, "tileentity_ntm_pedestal"); put(TileEntityBobble.class, "tileentity_ntm_bobblehead"); put(TileEntitySnowglobe.class, "tileentity_ntm_snowglobe"); put(TileEntityEmitter.class, "tileentity_ntm_emitter"); @@ -226,6 +218,8 @@ public class TileMappings { put(TileEntityBlockPWR.class, "tileentity_block_pwr"); put(TileEntityPWRController.class, "tileentity_pwr_controller"); + + put(TileEntityData.class, "tileentity_data"); putNetwork(); putBombs(); @@ -267,6 +261,7 @@ public class TileMappings { put(TileEntityTurretArty.class, "tileentity_turret_arty"); put(TileEntityTurretHIMARS.class, "tileentity_turret_himars"); put(TileEntityTurretSentry.class, "tileentity_turret_sentry"); + put(TileEntityTurretSentryDamaged.class, "tileentity_turret_sentry_damaged"); } private static void putMachines() { @@ -277,6 +272,7 @@ public class TileMappings { put(TileEntityHeaterElectric.class, "tileentity_electric_heater"); put(TileEntityHeaterHeatex.class, "tileentity_heater_heatex"); put(TileEntityFurnaceIron.class, "tileentity_furnace_iron"); + put(TileEntityFurnaceBrick.class, "tileentity_furnace_brick"); put(TileEntityFurnaceSteel.class, "tileentity_furnace_steel"); put(TileEntityFurnaceCombination.class, "tileentity_combination_oven"); put(TileEntityStirling.class, "tileentity_stirling"); @@ -295,11 +291,12 @@ public class TileMappings { put(TileEntityFoundryOutlet.class, "tileentity_foundry_outlet"); put(TileEntityFoundrySlagtap.class, "tileentity_foundry_slagtap"); put(TileEntitySlag.class, "tileentity_foundry_slag"); - + put(TileEntityMachineStrandCaster.class, "tileentity_strand_caster"); + put(TileEntityMachineAutocrafter.class, "tileentity_autocrafter"); + put(TileEntityMachineFunnel.class, "tileentity_funnel"); put(TileEntityDiFurnaceRTG.class, "tileentity_rtg_difurnace"); put(TileEntityMachineRadiolysis.class, "tileentity_radiolysis"); - put(TileEntityUVLamp.class, "tileentity_uv_lamp"); put(TileEntityMachineAutosaw.class, "tileentity_autosaw"); put(TileEntityCondenser.class, "tileentity_condenser"); @@ -337,6 +334,7 @@ public class TileMappings { put(TileEntitySpacer.class, "tileentity_fraction_spacer"); put(TileEntityMachineCatalyticCracker.class, "tileentity_catalytic_cracker"); put(TileEntityMachineCatalyticReformer.class, "tileentity_catalytic_reformer"); + put(TileEntityMachineHydrotreater.class, "tileentity_hydrotreater"); put(TileEntityMachineCoker.class, "tileentity_coker"); put(TileEntityChimneyBrick.class, "tileentity_chimney_brick"); put(TileEntityChimneyIndustrial.class, "tileentity_chimney_industrial"); @@ -382,6 +380,7 @@ public class TileMappings { put(TileEntityConnector.class, "tileentity_connector_redwire"); put(TileEntityPylon.class, "tileentity_pylon_redwire"); + put(TileEntityPylonMedium.class, "tileentity_pylon_medium"); put(TileEntityPylonLarge.class, "tileentity_pylon_large"); put(TileEntitySubstation.class, "tileentity_substation"); @@ -398,6 +397,7 @@ public class TileMappings { put(TileEntityRadioTorchSender.class, "tileentity_rtty_sender"); put(TileEntityRadioTorchReceiver.class, "tileentity_rtty_rec"); put(TileEntityRadioTorchCounter.class, "tileentity_rtty_counter"); + put(TileEntityRadioTorchLogic.class, "tileentity_rtty_logic"); put(TileEntityRadioTelex.class, "tileentity_rtty_telex"); put(TileEntityDroneWaypoint.class, "tileentity_drone_waypoint"); @@ -406,6 +406,8 @@ public class TileMappings { put(TileEntityDroneDock.class, "tileentity_drone_dock"); put(TileEntityDroneProvider.class, "tileentity_drone_provider"); put(TileEntityDroneRequester.class, "tileentity_drone_requester"); + + put(TileEntityRailSwitch.class, "tileentity_rail_switch"); } private static void put(Class clazz, String... names) { diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityCompactLauncher.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityCompactLauncher.java index 6dd6a97be..3266a973f 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityCompactLauncher.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityCompactLauncher.java @@ -13,9 +13,9 @@ import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.gui.GUIMachineCompactLauncher; import com.hbm.items.ModItems; import com.hbm.items.weapon.ItemCustomMissile; -import com.hbm.items.weapon.ItemMissile; -import com.hbm.items.weapon.ItemMissile.FuelType; -import com.hbm.items.weapon.ItemMissile.PartSize; +import com.hbm.items.weapon.ItemCustomMissilePart; +import com.hbm.items.weapon.ItemCustomMissilePart.FuelType; +import com.hbm.items.weapon.ItemCustomMissilePart.PartSize; import com.hbm.lib.Library; import com.hbm.main.MainRegistry; import com.hbm.packet.AuxElectricityPacket; @@ -27,7 +27,7 @@ import com.hbm.tileentity.IRadarCommandReceiver; import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardReceiver; import api.hbm.item.IDesignatorItem; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -48,7 +48,7 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityCompactLauncher extends TileEntityLoadedBase implements ISidedInventory, IFluidContainer, IFluidAcceptor, IEnergyUser, IFluidStandardReceiver, IGUIProvider, IRadarCommandReceiver { +public class TileEntityCompactLauncher extends TileEntityLoadedBase implements ISidedInventory, IFluidContainer, IFluidAcceptor, IEnergyReceiverMK2, IFluidStandardReceiver, IGUIProvider, IRadarCommandReceiver { private ItemStack slots[]; @@ -284,22 +284,29 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I public void launchFromDesignator() { - int tX = slots[1].stackTagCompound.getInteger("xCoord"); - int tZ = slots[1].stackTagCompound.getInteger("zCoord"); - - this.launchTo(tX, tZ); + if(slots[1] != null && slots[1].getItem() instanceof IDesignatorItem) { + IDesignatorItem designator = (IDesignatorItem) slots[1].getItem(); + + if(designator.isReady(worldObj, slots[1], xCoord, yCoord, zCoord)) { + Vec3 coords = designator.getCoords(worldObj, slots[1], xCoord, yCoord, zCoord); + int tX = (int) Math.floor(coords.xCoord); + int tZ = (int) Math.floor(coords.zCoord); + + this.launchTo(tX, tZ); + } + } } public void launchTo(int tX, int tZ) { worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:weapon.missileTakeOff", 10.0F, 1.0F); - ItemMissile chip = (ItemMissile) Item.getItemById(ItemCustomMissile.readFromNBT(slots[0], "chip")); + ItemCustomMissilePart chip = (ItemCustomMissilePart) Item.getItemById(ItemCustomMissile.readFromNBT(slots[0], "chip")); float c = (Float)chip.attributes[0]; float f = 1.0F; if(getStruct(slots[0]).fins != null) { - ItemMissile fins = (ItemMissile) Item.getItemById(ItemCustomMissile.readFromNBT(slots[0], "stability")); + ItemCustomMissilePart fins = (ItemCustomMissilePart) Item.getItemById(ItemCustomMissile.readFromNBT(slots[0], "stability")); f = (Float) fins.attributes[0]; } @@ -329,7 +336,7 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I if(multipart == null || multipart.fuselage == null) return; - ItemMissile fuselage = (ItemMissile)multipart.fuselage; + ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage; float f = (Float)fuselage.attributes[1]; int fuel = (int)f; @@ -370,7 +377,7 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I if(multipart == null || multipart.fuselage == null) return false; - ItemMissile fuselage = (ItemMissile)multipart.fuselage; + ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage; return fuselage.top == PartSize.SIZE_10; } @@ -391,7 +398,7 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I if(multipart == null || multipart.fuselage == null) return -1; - ItemMissile fuselage = (ItemMissile)multipart.fuselage; + ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage; if((FuelType)fuselage.attributes[0] == FuelType.SOLID) { @@ -411,7 +418,7 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I if(multipart == null || multipart.fuselage == null) return -1; - ItemMissile fuselage = (ItemMissile)multipart.fuselage; + ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage; switch((FuelType)fuselage.attributes[0]) { case KEROSENE: @@ -436,7 +443,7 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I if(multipart == null || multipart.fuselage == null) return -1; - ItemMissile fuselage = (ItemMissile)multipart.fuselage; + ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage; switch((FuelType)fuselage.attributes[0]) { case KEROSENE: @@ -460,7 +467,7 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I if(multipart == null || multipart.fuselage == null) return; - ItemMissile fuselage = (ItemMissile)multipart.fuselage; + ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage; switch((FuelType)fuselage.attributes[0]) { case KEROSENE: diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityLandmine.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityLandmine.java index b6b909f62..e9320c85d 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityLandmine.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityLandmine.java @@ -2,13 +2,14 @@ package com.hbm.tileentity.bomb; import java.util.List; -import com.hbm.blocks.ModBlocks; import com.hbm.blocks.bomb.Landmine; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.passive.EntityBat; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; @@ -16,55 +17,59 @@ import net.minecraft.util.AxisAlignedBB; public class TileEntityLandmine extends TileEntity { private boolean isPrimed = false; + public boolean waitingForPlayer = false; public void updateEntity() { + if(worldObj.isRemote) return; + + Block block = worldObj.getBlock(xCoord, yCoord, zCoord); - if(!worldObj.isRemote) { - Block block = worldObj.getBlock(xCoord, yCoord, zCoord); - double range = 1; - double height = 1; + if(!(block instanceof Landmine)) return; + Landmine landmine = (Landmine) block; - if (block == ModBlocks.mine_ap) { - range = 1.5D; - } - if (block == ModBlocks.mine_he) { - range = 2; - height = 5; - } - if (block == ModBlocks.mine_shrap) { - range = 1.5D; - } - if (block == ModBlocks.mine_fat) { - range = 2.5D; - } - - if(!isPrimed) - range *= 2; - - List list = worldObj.getEntitiesWithinAABBExcludingEntity(null, - AxisAlignedBB.getBoundingBox(xCoord - range, yCoord - height, zCoord - range, xCoord + range + 1, yCoord + height, zCoord + range + 1)); - - boolean flag = false; - for(Object o : list) { + double range = landmine.range; + double height = landmine.height; + if(waitingForPlayer) { + range = 25; + height = 25; + } else if(!isPrimed) { + range *= 2; + height *= 2; + } + + @SuppressWarnings("unchecked") + List list = worldObj.getEntitiesWithinAABBExcludingEntity(null, + AxisAlignedBB.getBoundingBox(xCoord - range, yCoord - height, zCoord - range, xCoord + range + 1, yCoord + height, zCoord + range + 1)); + + for(Object o : list) { + if(o instanceof EntityBat) continue; + if(waitingForPlayer) { + // This mine has been generated by worldgen and is ignoring mobs until a player is close enough + // This is to prevent worldgen mines from detonating well before they become gameplay relevant + + if(o instanceof EntityPlayer) { + waitingForPlayer = false; + return; + } + } else { if(o instanceof EntityLivingBase) { - - flag = true; - if(isPrimed) { - //why did i do it like that? - ((Landmine) block).explode(worldObj, xCoord, yCoord, zCoord); + //the explosion is part of the mine block so that the IBomb interface works, i remember now + landmine.explode(worldObj, xCoord, yCoord, zCoord); } - + return; } } + } - if(!isPrimed && !flag) { - - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:weapon.fstbmbStart", 3.0F, 1.0F); - isPrimed = true; - } + // After placing, the mine needs to prime itself in order to not immediately kill the placer + // The mine will prime itself only after all entities have left its trigger radius * 2 + // I'm leaving this note because I made a dumb assumption on what this was meant to do + if(!isPrimed && !waitingForPlayer) { + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:weapon.fstbmbStart", 3.0F, 1.0F); + isPrimed = true; } } @@ -72,18 +77,19 @@ public class TileEntityLandmine extends TileEntity { super.readFromNBT(nbt); isPrimed = nbt.getBoolean("primed"); + waitingForPlayer = nbt.getBoolean("waiting"); } public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setBoolean("primed", isPrimed); + nbt.setBoolean("waiting", waitingForPlayer); } @Override @SideOnly(Side.CLIENT) - public double getMaxRenderDistanceSquared() - { + public double getMaxRenderDistanceSquared() { return 65536.0D; } } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPad.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPad.java index 676409778..0adf91ab8 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPad.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPad.java @@ -1,210 +1,117 @@ package com.hbm.tileentity.bomb; -import java.util.HashMap; +import java.util.List; -import org.apache.logging.log4j.Level; - -import com.hbm.blocks.ModBlocks; -import com.hbm.blocks.bomb.LaunchPad; -import com.hbm.config.GeneralConfig; -import com.hbm.entity.missile.EntityCarrier; -import com.hbm.entity.missile.EntityMissileAntiBallistic; import com.hbm.entity.missile.EntityMissileBaseNT; -import com.hbm.entity.missile.EntityMissileShuttle; -import com.hbm.entity.missile.EntityMissileTier0.*; -import com.hbm.entity.missile.EntityMissileTier1.*; -import com.hbm.entity.missile.EntityMissileTier2.*; -import com.hbm.entity.missile.EntityMissileTier3.*; -import com.hbm.entity.missile.EntityMissileTier4.*; -import com.hbm.interfaces.IBomb.BombReturnCode; -import com.hbm.inventory.RecipesCommon.ComparableStack; -import com.hbm.inventory.container.ContainerLaunchPadTier1; -import com.hbm.inventory.gui.GUILaunchPadTier1; -import com.hbm.items.ModItems; import com.hbm.lib.Library; import com.hbm.main.MainRegistry; -import com.hbm.tileentity.IGUIProvider; -import com.hbm.tileentity.IRadarCommandReceiver; -import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IEnergyUser; -import api.hbm.item.IDesignatorItem; -import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import li.cil.oc.api.machine.Arguments; -import li.cil.oc.api.machine.Callback; -import li.cil.oc.api.machine.Context; -import li.cil.oc.api.network.SimpleComponent; -import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityLaunchPad extends TileEntityMachineBase implements IEnergyUser, SimpleComponent, IGUIProvider, IRadarCommandReceiver { - - /** Automatic instantiation of generic missiles, i.e. everything that both extends EntityMissileBaseNT and needs a designator */ - public static final HashMap> missiles = new HashMap(); - - public static void registerLaunchables() { +public class TileEntityLaunchPad extends TileEntityLaunchPadBase { - //Tier 0 - missiles.put(new ComparableStack(ModItems.missile_micro), EntityMissileMicro.class); - missiles.put(new ComparableStack(ModItems.missile_schrabidium), EntityMissileSchrabidium.class); - missiles.put(new ComparableStack(ModItems.missile_bhole), EntityMissileBHole.class); - missiles.put(new ComparableStack(ModItems.missile_taint), EntityMissileTaint.class); - missiles.put(new ComparableStack(ModItems.missile_emp), EntityMissileEMP.class); - //Tier 1 - missiles.put(new ComparableStack(ModItems.missile_generic), EntityMissileGeneric.class); - missiles.put(new ComparableStack(ModItems.missile_decoy), EntityMissileDecoy.class); - missiles.put(new ComparableStack(ModItems.missile_incendiary), EntityMissileIncendiary.class); - missiles.put(new ComparableStack(ModItems.missile_cluster), EntityMissileCluster.class); - missiles.put(new ComparableStack(ModItems.missile_buster), EntityMissileBunkerBuster.class); - //Tier 2 - missiles.put(new ComparableStack(ModItems.missile_strong), EntityMissileStrong.class); - missiles.put(new ComparableStack(ModItems.missile_incendiary_strong), EntityMissileIncendiaryStrong.class); - missiles.put(new ComparableStack(ModItems.missile_cluster_strong), EntityMissileClusterStrong.class); - missiles.put(new ComparableStack(ModItems.missile_buster_strong), EntityMissileBusterStrong.class); - missiles.put(new ComparableStack(ModItems.missile_emp_strong), EntityMissileEMPStrong.class); - //Tier 3 - missiles.put(new ComparableStack(ModItems.missile_burst), EntityMissileBurst.class); - missiles.put(new ComparableStack(ModItems.missile_inferno), EntityMissileInferno.class); - missiles.put(new ComparableStack(ModItems.missile_rain), EntityMissileRain.class); - missiles.put(new ComparableStack(ModItems.missile_drill), EntityMissileDrill.class); - missiles.put(new ComparableStack(ModItems.missile_endo), EntityMissileEndo.class); - missiles.put(new ComparableStack(ModItems.missile_exo), EntityMissileExo.class); - missiles.put(new ComparableStack(ModItems.missile_shuttle), EntityMissileShuttle.class); - //Tier 4 - missiles.put(new ComparableStack(ModItems.missile_nuclear), EntityMissileNuclear.class); - missiles.put(new ComparableStack(ModItems.missile_nuclear_cluster), EntityMissileMirv.class); - missiles.put(new ComparableStack(ModItems.missile_volcano), EntityMissileVolcano.class); - } - - public ItemStack toRender; + @Override public boolean isReadyForLaunch() { return delay <= 0; } + @Override public double getLaunchOffset() { return 1D; } - public long power; - public final long maxPower = 100000; - - private static final int[] slots_bottom = new int[] {0, 1, 2}; - private static final int[] slots_side = new int[] {0}; - - public TileEntityLaunchPad() { - super(3); - } - - @Override - public String getName() { - return "container.launchPad"; - } + public int delay = 0; @Override public void updateEntity() { if(!worldObj.isRemote) { - power = Library.chargeTEFromItems(slots, 2, power, maxPower); - this.updateConnections(); + if(this.delay > 0) delay--; - NBTTagCompound data = new NBTTagCompound(); - data.setLong("power", power); - if(slots[0] != null) { - data.setInteger("id", Item.getIdFromItem(slots[0].getItem())); - data.setShort("meta", (short) slots[0].getItemDamage()); + if(!this.isMissileValid() || !this.hasFuel()) { + this.delay = 100; + } + + if(!this.hasFuel() || !this.isMissileValid()) { + this.state = this.STATE_MISSING; + } else { + if(this.delay > 0) { + this.state = this.STATE_LOADING; + } else { + this.state = this.STATE_READY; + } + } + + } else { + + List entities = worldObj.getEntitiesWithinAABB(EntityMissileBaseNT.class, AxisAlignedBB.getBoundingBox(xCoord - 0.5, yCoord, zCoord - 0.5, xCoord + 1.5, yCoord + 10, zCoord + 1.5)); + + if(!entities.isEmpty()) { + for(int i = 0; i < 15; i++) { + + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); + if(worldObj.rand.nextBoolean()) dir = dir.getOpposite(); + if(worldObj.rand.nextBoolean()) dir = dir.getRotation(ForgeDirection.UP); + float moX = (float) (worldObj.rand.nextGaussian() * 0.15F + 0.75) * dir.offsetX; + float moZ = (float) (worldObj.rand.nextGaussian() * 0.15F + 0.75) * dir.offsetZ; + + MainRegistry.proxy.spawnParticle(xCoord + 0.5, yCoord + 0.25, zCoord + 0.5, "launchsmoke", new float[] {moX, 0, moZ}); + } } - networkPack(data, 250); } + + super.updateEntity(); } @Override - public void networkUnpack(NBTTagCompound nbt) { - this.power = nbt.getLong("power"); - - if(nbt.hasKey("id")) { - this.toRender = new ItemStack(Item.getItemById(nbt.getInteger("id")), 1, nbt.getShort("meta")); - } else { - this.toRender = null; - } + public void finalizeLaunch(Entity missile) { + super.finalizeLaunch(missile); + this.delay = 100; } - private void updateConnections() { - this.trySubscribe(worldObj, xCoord + 1, yCoord, zCoord, Library.POS_X); - this.trySubscribe(worldObj, xCoord - 1, yCoord, zCoord, Library.NEG_X); - this.trySubscribe(worldObj, xCoord, yCoord, zCoord + 1, Library.POS_Z); - this.trySubscribe(worldObj, xCoord, yCoord, zCoord - 1, Library.NEG_Z); - this.trySubscribe(worldObj, xCoord, yCoord - 1, zCoord, Library.NEG_Y); - } - @Override - public boolean isItemValidForSlot(int i, ItemStack itemStack) { - return true; + public DirPos[] getConPos() { + return new DirPos[] { + new DirPos(xCoord + 2, yCoord, zCoord - 1, Library.POS_X), + new DirPos(xCoord + 2, yCoord, zCoord + 1, Library.POS_X), + new DirPos(xCoord - 2, yCoord, zCoord - 1, Library.NEG_X), + new DirPos(xCoord - 2, yCoord, zCoord + 1, Library.NEG_X), + new DirPos(xCoord - 1, yCoord, zCoord + 2, Library.POS_Z), + new DirPos(xCoord + 1, yCoord, zCoord + 2, Library.POS_Z), + new DirPos(xCoord - 1, yCoord, zCoord - 2, Library.NEG_Z), + new DirPos(xCoord + 1, yCoord, zCoord - 2, Library.NEG_Z) + }; } @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); - power = nbt.getLong("power"); - - if(slots == null || slots.length != 3) slots = new ItemStack[3]; + this.delay = nbt.getInteger("delay"); } @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - nbt.setLong("power", power); + nbt.setInteger("delay", delay); } - @Override - public int[] getAccessibleSlotsFromSide(int side) { - return side == 0 ? slots_bottom : (side == 1 ? new int[0] : slots_side); - } - - public long getPowerScaled(long i) { - return (power * i) / maxPower; - } + AxisAlignedBB bb = null; @Override public AxisAlignedBB getRenderBoundingBox() { - return TileEntity.INFINITE_EXTENT_AABB; - } - - @Override - public void setPower(long i) { - power = i; - } - - @Override - public long getPower() { - return power; - } - - @Override - public long getMaxPower() { - return maxPower; - } - - @Override - public long transferPower(long power) { - this.power += power; - if(this.power > this.getMaxPower()) { - long overshoot = this.power - this.getMaxPower(); - this.power = this.getMaxPower(); - return overshoot; + + if(bb == null) { + bb = AxisAlignedBB.getBoundingBox( + xCoord - 2, + yCoord, + zCoord - 2, + xCoord + 3, + yCoord + 15, + zCoord + 3 + ); } - return 0; - } - - @Override - public boolean canConnect(ForgeDirection dir) { - return dir != ForgeDirection.UP && dir != ForgeDirection.UNKNOWN; + + return bb; } @Override @@ -212,181 +119,4 @@ public class TileEntityLaunchPad extends TileEntityMachineBase implements IEnerg public double getMaxRenderDistanceSquared() { return 65536.0D; } - - public boolean hasPower() { - return this.power >= 75_000; - } - - @Override - public boolean sendCommandPosition(int x, int y, int z) { - return this.launchToCoordinate(x, z) == BombReturnCode.LAUNCHED; - } - - @Override - public boolean sendCommandEntity(Entity target) { - return this.launchToEntity(target) == BombReturnCode.LAUNCHED; - } - - public BombReturnCode launchFromDesignator() { - if(slots[0] == null) return BombReturnCode.ERROR_MISSING_COMPONENT; - - boolean needsDesignator = missiles.containsKey(new ComparableStack(slots[0]).makeSingular()); - - int targetX = 0; - int targetZ = 0; - - if(slots[1] != null && slots[1].getItem() instanceof IDesignatorItem) { - - IDesignatorItem designator = (IDesignatorItem) slots[1].getItem(); - - if(!designator.isReady(worldObj, slots[1], xCoord, yCoord, zCoord) && needsDesignator) return BombReturnCode.ERROR_MISSING_COMPONENT; - - Vec3 coords = designator.getCoords(worldObj, slots[1], xCoord, yCoord, zCoord); - targetX = (int) Math.floor(coords.xCoord); - targetZ = (int) Math.floor(coords.zCoord); - - } else { - if(needsDesignator) return BombReturnCode.ERROR_MISSING_COMPONENT; - } - - return this.launchToCoordinate(targetX, targetZ); - } - - public BombReturnCode launchToEntity(Entity entity) { - if(!hasPower()) return BombReturnCode.ERROR_MISSING_COMPONENT; - Entity e = instantiateMissile((int) Math.floor(entity.posX), (int) Math.floor(entity.posZ)); - if(e != null) { - - if(e instanceof EntityMissileAntiBallistic) { - EntityMissileAntiBallistic abm = (EntityMissileAntiBallistic) e; - abm.tracking = entity; - } - - finalizeLaunch(e); - return BombReturnCode.LAUNCHED; - } - return BombReturnCode.ERROR_MISSING_COMPONENT; - } - - public BombReturnCode launchToCoordinate(int targetX, int targetZ) { - if(!hasPower()) return BombReturnCode.ERROR_MISSING_COMPONENT; - Entity e = instantiateMissile(targetX, targetZ); - if(e != null) { - finalizeLaunch(e); - return BombReturnCode.LAUNCHED; - } - return BombReturnCode.ERROR_MISSING_COMPONENT; - } - - public Entity instantiateMissile(int targetX, int targetZ) { - - if(slots[0] == null) return null; - - if(slots[0].getItem() == ModItems.missile_carrier) { - EntityCarrier missile = new EntityCarrier(worldObj); - missile.posX = xCoord + 0.5F; - missile.posY = yCoord + 1F; - missile.posZ = zCoord + 0.5F; - if(slots[1] != null) { - missile.setPayload(slots[1]); - this.slots[1] = null; - } - worldObj.playSoundEffect(xCoord + 0.5, yCoord, zCoord + 0.5, "hbm:entity.rocketTakeoff", 100.0F, 1.0F); - return missile; - } - - Class clazz = this.missiles.get(new ComparableStack(slots[0]).makeSingular()); - - if(clazz != null) { - try { - EntityMissileBaseNT missile = clazz.getConstructor(World.class, float.class, float.class, float.class, int.class, int.class).newInstance(worldObj, xCoord + 0.5F, yCoord + 2F, zCoord + 0.5F, targetX, targetZ); - worldObj.playSoundEffect(xCoord + 0.5, yCoord, zCoord + 0.5, "hbm:weapon.missileTakeOff", 2.0F, 1.0F); - if(GeneralConfig.enableExtendedLogging) MainRegistry.logger.log(Level.INFO, "[MISSILE] Tried to launch missile at " + xCoord + " / " + yCoord + " / " + zCoord + " to " + xCoord + " / " + zCoord + "!"); - return missile; - } catch(Exception e) { } - } - - if(slots[0].getItem() == ModItems.missile_anti_ballistic) { - EntityMissileAntiBallistic missile = new EntityMissileAntiBallistic(worldObj); - missile.posX = xCoord + 0.5F; - missile.posY = yCoord + 0.5F; - missile.posZ = zCoord + 0.5F; - worldObj.playSoundEffect(xCoord + 0.5, yCoord, zCoord + 0.5, "hbm:weapon.missileTakeOff", 2.0F, 1.0F); - return missile; - } - - return null; - } - - public void finalizeLaunch(Entity missile) { - this.power -= 75_000; - worldObj.spawnEntityInWorld(missile); - this.decrStackSize(0, 1); - } - - // do some opencomputer stuff - @Override - public String getComponentName() { - return "launch_pad"; - } - - @Callback - @Optional.Method(modid = "OpenComputers") - public Object[] getEnergyInfo(Context context, Arguments args) { - return new Object[] {getPower(), getMaxPower()}; - } - - @Callback - @Optional.Method(modid = "OpenComputers") - public Object[] getCoords(Context context, Arguments args) { - if (slots[1] != null && slots[1].getItem() instanceof IDesignatorItem) { - int xCoord2; - int zCoord2; - if (slots[1].stackTagCompound != null) { - xCoord2 = slots[1].stackTagCompound.getInteger("xCoord"); - zCoord2 = slots[1].stackTagCompound.getInteger("zCoord"); - } else - return new Object[] {false}; - - // Not sure if i should have this - /* - if(xCoord2 == xCoord && zCoord2 == zCoord) { - xCoord2 += 1; - } - */ - - return new Object[] {xCoord2, zCoord2}; - } - return new Object[] {false, "Designator not found"}; - } - @Callback - @Optional.Method(modid = "OpenComputers") - public Object[] setCoords(Context context, Arguments args) { - if (slots[1] != null && slots[1].getItem() instanceof IDesignatorItem) { - slots[1].stackTagCompound = new NBTTagCompound(); - slots[1].stackTagCompound.setInteger("xCoord", args.checkInteger(0)); - slots[1].stackTagCompound.setInteger("zCoord", args.checkInteger(1)); - - return new Object[] {true}; - } - return new Object[] {false, "Designator not found"}; - } - - @Callback - @Optional.Method(modid = "OpenComputers") - public Object[] launch(Context context, Arguments args) { - ((LaunchPad) ModBlocks.launch_pad).explode(worldObj, xCoord, yCoord, zCoord); - return new Object[] {}; - } - - @Override - public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new ContainerLaunchPadTier1(player.inventory, this); - } - - @Override - @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new GUILaunchPadTier1(player.inventory, this); - } } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPadBase.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPadBase.java new file mode 100644 index 000000000..d73ed90bf --- /dev/null +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPadBase.java @@ -0,0 +1,465 @@ +package com.hbm.tileentity.bomb; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.Set; + +import org.apache.logging.log4j.Level; + +import com.hbm.config.GeneralConfig; +import com.hbm.entity.missile.*; +import com.hbm.entity.missile.EntityMissileTier0.*; +import com.hbm.entity.missile.EntityMissileTier1.*; +import com.hbm.entity.missile.EntityMissileTier2.*; +import com.hbm.entity.missile.EntityMissileTier3.*; +import com.hbm.entity.missile.EntityMissileTier4.*; +import com.hbm.interfaces.IBomb.BombReturnCode; +import com.hbm.inventory.RecipesCommon.ComparableStack; +import com.hbm.inventory.container.ContainerLaunchPadLarge; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUILaunchPadLarge; +import com.hbm.items.ModItems; +import com.hbm.items.weapon.ItemMissile; +import com.hbm.items.weapon.ItemMissile.MissileFuel; +import com.hbm.lib.Library; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.IGUIProvider; +import com.hbm.tileentity.IRadarCommandReceiver; +import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.TrackerUtil; +import com.hbm.util.fauxpointtwelve.BlockPos; +import com.hbm.util.fauxpointtwelve.DirPos; + +import api.hbm.energymk2.IEnergyReceiverMK2; +import api.hbm.fluid.IFluidStandardReceiver; +import api.hbm.item.IDesignatorItem; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.MathHelper; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public abstract class TileEntityLaunchPadBase extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardReceiver, IGUIProvider, IRadarCommandReceiver { + + /** Automatic instantiation of generic missiles, i.e. everything that both extends EntityMissileBaseNT and needs a designator */ + public static final HashMap> missiles = new HashMap(); + + public static void registerLaunchables() { + + //Tier 0 + missiles.put(new ComparableStack(ModItems.missile_test), EntityMissileTest.class); + missiles.put(new ComparableStack(ModItems.missile_micro), EntityMissileMicro.class); + missiles.put(new ComparableStack(ModItems.missile_schrabidium), EntityMissileSchrabidium.class); + missiles.put(new ComparableStack(ModItems.missile_bhole), EntityMissileBHole.class); + missiles.put(new ComparableStack(ModItems.missile_taint), EntityMissileTaint.class); + missiles.put(new ComparableStack(ModItems.missile_emp), EntityMissileEMP.class); + //Tier 1 + missiles.put(new ComparableStack(ModItems.missile_generic), EntityMissileGeneric.class); + missiles.put(new ComparableStack(ModItems.missile_decoy), EntityMissileDecoy.class); + missiles.put(new ComparableStack(ModItems.missile_incendiary), EntityMissileIncendiary.class); + missiles.put(new ComparableStack(ModItems.missile_cluster), EntityMissileCluster.class); + missiles.put(new ComparableStack(ModItems.missile_buster), EntityMissileBunkerBuster.class); + //Tier 2 + missiles.put(new ComparableStack(ModItems.missile_strong), EntityMissileStrong.class); + missiles.put(new ComparableStack(ModItems.missile_incendiary_strong), EntityMissileIncendiaryStrong.class); + missiles.put(new ComparableStack(ModItems.missile_cluster_strong), EntityMissileClusterStrong.class); + missiles.put(new ComparableStack(ModItems.missile_buster_strong), EntityMissileBusterStrong.class); + missiles.put(new ComparableStack(ModItems.missile_emp_strong), EntityMissileEMPStrong.class); + //Tier 3 + missiles.put(new ComparableStack(ModItems.missile_burst), EntityMissileBurst.class); + missiles.put(new ComparableStack(ModItems.missile_inferno), EntityMissileInferno.class); + missiles.put(new ComparableStack(ModItems.missile_rain), EntityMissileRain.class); + missiles.put(new ComparableStack(ModItems.missile_drill), EntityMissileDrill.class); + missiles.put(new ComparableStack(ModItems.missile_shuttle), EntityMissileShuttle.class); + //Tier 4 + missiles.put(new ComparableStack(ModItems.missile_nuclear), EntityMissileNuclear.class); + missiles.put(new ComparableStack(ModItems.missile_nuclear_cluster), EntityMissileMirv.class); + missiles.put(new ComparableStack(ModItems.missile_volcano), EntityMissileVolcano.class); + missiles.put(new ComparableStack(ModItems.missile_doomsday), EntityMissileDoomsday.class); + + missiles.put(new ComparableStack(ModItems.missile_stealth), EntityMissileStealth.class); + } + + public ItemStack toRender; + + public long power; + public final long maxPower = 100_000; + + public int prevRedstonePower; + public int redstonePower; + public Set activatedBlocks = new HashSet<>(4); + + public int state = 0; + public static final int STATE_MISSING = 0; + public static final int STATE_LOADING = 1; + public static final int STATE_READY = 2; + + public FluidTank[] tanks; + + public TileEntityLaunchPadBase() { + super(7); + this.tanks = new FluidTank[2]; + this.tanks[0] = new FluidTank(Fluids.NONE, 24_000); + this.tanks[1] = new FluidTank(Fluids.NONE, 24_000); + } + + @Override + public String getName() { + return "container.launchPad"; + } + + @Override + public boolean canExtractItem(int slot, ItemStack itemStack, int side) { + return false; + } + + @Override + public int[] getAccessibleSlotsFromSide(int side) { + return new int[] { 0 }; + } + + @Override + public boolean isItemValidForSlot(int slot, ItemStack stack) { + return slot == 0 && this.isMissileValid(stack); + } + + public abstract DirPos[] getConPos(); + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + + if(worldObj.getTotalWorldTime() % 20 == 0) { + for(DirPos pos : getConPos()) { + this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + if(tanks[0].getTankType() != Fluids.NONE) this.trySubscribe(tanks[0].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + if(tanks[1].getTankType() != Fluids.NONE) this.trySubscribe(tanks[1].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + } + } + + if(this.redstonePower > 0 && this.prevRedstonePower <= 0) { + this.launchFromDesignator(); + } + + this.prevRedstonePower = this.redstonePower; + + this.power = Library.chargeTEFromItems(slots, 2, power, maxPower); + tanks[0].loadTank(3, 4, slots); + tanks[1].loadTank(5, 6, slots); + + if(this.isMissileValid()) { + if(slots[0].getItem() instanceof ItemMissile) { + ItemMissile missile = (ItemMissile) slots[0].getItem(); + setFuel(missile); + } + } + + this.networkPackNT(250); + } + } + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + + buf.writeLong(this.power); + buf.writeInt(this.state); + tanks[0].serialize(buf); + tanks[1].serialize(buf); + + if(slots[0] != null) { + buf.writeBoolean(true); + buf.writeInt(Item.getIdFromItem(slots[0].getItem())); + buf.writeShort((short) slots[0].getItemDamage()); + } else { + buf.writeBoolean(false); + } + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + + this.power = buf.readLong(); + this.state = buf.readInt(); + tanks[0].deserialize(buf); + tanks[1].deserialize(buf); + + if(buf.readBoolean()) { + this.toRender = new ItemStack(Item.getItemById(buf.readInt()), 1, buf.readShort()); + } else { + this.toRender = null; + } + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + power = nbt.getLong("power"); + tanks[0].readFromNBT(nbt, "t0"); + tanks[1].readFromNBT(nbt, "t1"); + + this.redstonePower = nbt.getInteger("redstonePower"); + this.prevRedstonePower = nbt.getInteger("prevRedstonePower"); + NBTTagCompound activatedBlocks = nbt.getCompoundTag("activatedBlocks"); + this.activatedBlocks.clear(); + for(int i = 0; i < activatedBlocks.func_150296_c().size() / 3; i++) { + this.activatedBlocks.add(new BlockPos(activatedBlocks.getInteger("x" + i), activatedBlocks.getInteger("y" + i), activatedBlocks.getInteger("z" + i))); + } + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setLong("power", power); + tanks[0].writeToNBT(nbt, "t0"); + tanks[1].writeToNBT(nbt, "t1"); + + nbt.setInteger("redstonePower", redstonePower); + nbt.setInteger("prevRedstonePower", prevRedstonePower); + NBTTagCompound activatedBlocks = new NBTTagCompound(); + int i = 0; + for(BlockPos p : this.activatedBlocks) { + activatedBlocks.setInteger("x" + i, p.getX()); + activatedBlocks.setInteger("y" + i, p.getY()); + activatedBlocks.setInteger("z" + i, p.getZ()); + i++; + } + nbt.setTag("activatedBlocks", activatedBlocks); + } + + public void updateRedstonePower(int x, int y, int z) { + BlockPos pos = new BlockPos(x, y, z); + boolean powered = worldObj.isBlockIndirectlyGettingPowered(x, y, z); + boolean contained = activatedBlocks.contains(pos); + if(!contained && powered){ + activatedBlocks.add(pos); + if(redstonePower == -1){ + redstonePower = 0; + } + redstonePower++; + } else if(contained && !powered){ + activatedBlocks.remove(pos); + redstonePower--; + if(redstonePower == 0){ + redstonePower = -1; + } + } + } + + @Override public long getPower() { return power; } + @Override public void setPower(long power) { this.power = power; } + @Override public long getMaxPower() { return maxPower; } + @Override public FluidTank[] getAllTanks() { return this.tanks; } + @Override public FluidTank[] getReceivingTanks() { return this.tanks; } + + @Override public boolean canConnect(ForgeDirection dir) { + return dir != ForgeDirection.UP && dir != ForgeDirection.DOWN; + } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerLaunchPadLarge(player.inventory, this); + } + + @Override + @SideOnly(Side.CLIENT) + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUILaunchPadLarge(player.inventory, this); + } + + @SuppressWarnings("incomplete-switch") //shut up + public void setFuel(ItemMissile missile) { + switch(missile.fuel) { + case ETHANOL_PEROXIDE: + tanks[0].setTankType(Fluids.ETHANOL); + tanks[1].setTankType(Fluids.ACID); + break; + case KEROSENE_PEROXIDE: + tanks[0].setTankType(Fluids.KEROSENE); + tanks[1].setTankType(Fluids.ACID); + break; + case KEROSENE_LOXY: + tanks[0].setTankType(Fluids.KEROSENE); + tanks[1].setTankType(Fluids.OXYGEN); + break; + case JETFUEL_LOXY: + tanks[0].setTankType(Fluids.KEROSENE_REFORM); + tanks[1].setTankType(Fluids.OXYGEN); + break; + } + } + + /** Requires the missile slot to be non-null and he item to be compatible */ + public boolean isMissileValid() { + return slots[0] != null && isMissileValid(slots[0]); + } + + public boolean isMissileValid(ItemStack stack) { + return stack.getItem() instanceof ItemMissile && ((ItemMissile) stack.getItem()).launchable; + } + + public boolean hasFuel() { + if(this.power < 75_000) return false; + + if(slots[0] != null && slots[0].getItem() instanceof ItemMissile) { + ItemMissile missile = (ItemMissile) slots[0].getItem(); + if(this.tanks[0].getFill() < missile.fuelCap) return false; + if(this.tanks[1].getFill() < missile.fuelCap) return false; + + return true; + } + + return false; + } + + public Entity instantiateMissile(int targetX, int targetZ) { + + if(slots[0] == null) return null; + + Class clazz = TileEntityLaunchPadBase.missiles.get(new ComparableStack(slots[0]).makeSingular()); + + if(clazz != null) { + try { + EntityMissileBaseNT missile = clazz.getConstructor(World.class, float.class, float.class, float.class, int.class, int.class).newInstance(worldObj, xCoord + 0.5F, yCoord + (float) getLaunchOffset() /* Position arguments need to be floats, jackass */, zCoord + 0.5F, targetX, targetZ); + if(GeneralConfig.enableExtendedLogging) MainRegistry.logger.log(Level.INFO, "[MISSILE] Tried to launch missile at " + xCoord + " / " + yCoord + " / " + zCoord + " to " + xCoord + " / " + zCoord + "!"); + missile.getDataWatcher().updateObject(3, (byte) MathHelper.clamp_int(this.getBlockMetadata() - 10, 2, 5)); + return missile; + } catch(Exception e) { } + } + + if(slots[0].getItem() == ModItems.missile_anti_ballistic) { + EntityMissileAntiBallistic missile = new EntityMissileAntiBallistic(worldObj); + missile.posX = xCoord + 0.5D; + missile.posY = yCoord + getLaunchOffset(); + missile.posZ = zCoord + 0.5D; + return missile; + } + + return null; + } + + public void finalizeLaunch(Entity missile) { + worldObj.spawnEntityInWorld(missile); + TrackerUtil.setTrackingRange(worldObj, missile, 500); + worldObj.playSoundEffect(xCoord + 0.5, yCoord, zCoord + 0.5, "hbm:weapon.missileTakeOff", 2.0F, 1.0F); + + this.power -= 75_000; + + if(slots[0] != null && slots[0].getItem() instanceof ItemMissile) { + ItemMissile item = (ItemMissile) slots[0].getItem(); + tanks[0].setFill(tanks[0].getFill() - item.fuelCap); + tanks[1].setFill(tanks[1].getFill() - item.fuelCap); + } + + this.decrStackSize(0, 1); + } + + public BombReturnCode launchFromDesignator() { + if(!canLaunch()) return BombReturnCode.ERROR_MISSING_COMPONENT; + + boolean needsDesignator = needsDesignator(slots[0].getItem()); + + int targetX = 0; + int targetZ = 0; + + if(slots[1] != null && slots[1].getItem() instanceof IDesignatorItem) { + IDesignatorItem designator = (IDesignatorItem) slots[1].getItem(); + + if(!designator.isReady(worldObj, slots[1], xCoord, yCoord, zCoord) && needsDesignator) return BombReturnCode.ERROR_MISSING_COMPONENT; + + Vec3 coords = designator.getCoords(worldObj, slots[1], xCoord, yCoord, zCoord); + targetX = (int) Math.floor(coords.xCoord); + targetZ = (int) Math.floor(coords.zCoord); + + } else { + if(needsDesignator) return BombReturnCode.ERROR_MISSING_COMPONENT; + } + + return this.launchToCoordinate(targetX, targetZ); + } + + public BombReturnCode launchToEntity(Entity entity) { + if(!canLaunch()) return BombReturnCode.ERROR_MISSING_COMPONENT; + + Entity e = instantiateMissile((int) Math.floor(entity.posX), (int) Math.floor(entity.posZ)); + if(e != null) { + + if(e instanceof EntityMissileAntiBallistic) { + EntityMissileAntiBallistic abm = (EntityMissileAntiBallistic) e; + abm.tracking = entity; + } + + finalizeLaunch(e); + return BombReturnCode.LAUNCHED; + } + return BombReturnCode.ERROR_MISSING_COMPONENT; + } + + public BombReturnCode launchToCoordinate(int targetX, int targetZ) { + if(!canLaunch()) return BombReturnCode.ERROR_MISSING_COMPONENT; + + Entity e = instantiateMissile(targetX, targetZ); + if(e != null) { + finalizeLaunch(e); + return BombReturnCode.LAUNCHED; + } + return BombReturnCode.ERROR_MISSING_COMPONENT; + } + + @Override + public boolean sendCommandPosition(int x, int y, int z) { + return this.launchToCoordinate(x, z) == BombReturnCode.LAUNCHED; + } + + @Override + public boolean sendCommandEntity(Entity target) { + return this.launchToEntity(target) == BombReturnCode.LAUNCHED; + } + + public boolean needsDesignator(Item item) { + return item != ModItems.missile_anti_ballistic; + } + + /** Full launch condition, checks if the item is launchable, fuel and power are present and any additional checks based on launch pad type */ + public boolean canLaunch() { + return this.isMissileValid() && this.hasFuel() && this.isReadyForLaunch(); + } + + public int getFuelState() { + return getGaugeState(0); + } + + public int getOxidizerState() { + return getGaugeState(1); + } + + public int getGaugeState(int tank) { + if(slots[0] == null) return 0; + + if(slots[0].getItem() instanceof ItemMissile) { + ItemMissile missile = (ItemMissile) slots[0].getItem(); + MissileFuel fuel = missile.fuel; + + if(fuel == MissileFuel.SOLID) return 0; + return tanks[tank].getFill() >= missile.fuelCap ? 1 : -1; + } + + return 0; + } + + /** Any extra conditions for launching in addition to the missile being valid and fueled */ + public abstract boolean isReadyForLaunch(); + public abstract double getLaunchOffset(); +} diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPadLarge.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPadLarge.java new file mode 100644 index 000000000..55a9dac77 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPadLarge.java @@ -0,0 +1,326 @@ +package com.hbm.tileentity.bomb; + +import java.util.List; + +import com.hbm.entity.missile.EntityMissileBaseNT; +import com.hbm.items.weapon.ItemMissile; +import com.hbm.items.weapon.ItemMissile.MissileFormFactor; +import com.hbm.lib.Library; +import com.hbm.main.MainRegistry; +import com.hbm.sound.AudioWrapper; +import com.hbm.util.fauxpointtwelve.DirPos; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import net.minecraft.entity.Entity; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.AxisAlignedBB; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityLaunchPadLarge extends TileEntityLaunchPadBase { + + public int formFactor = -1; + /** Whether the missile has already been placed on the launchpad. Missile will render statically on the pad if true */ + public boolean erected = false; + /** Whether the missile can be lifted. Missile will not render at all if false and not erected */ + public boolean readyToLoad = false; + /** Instead of setting erected to true outright, this makes it so that it ties into the delay, + * which prevents a jerky transition due to the animation of the erector lagging behind a bit */ + public boolean scheduleErect = false; + public float lift = 1F; + public float erector = 90F; + public float prevLift = 1F; + public float prevErector = 90F; + public float syncLift; + public float syncErector; + private int sync; + /** Delay between erector movements */ + public int delay = 20; + + private AudioWrapper audioLift; + private AudioWrapper audioErector; + + protected boolean liftMoving = false; + protected boolean erectorMoving = false; + + @Override public boolean isReadyForLaunch() { return this.erected && this.readyToLoad; } + @Override public double getLaunchOffset() { return 2D; } + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + + this.prevLift = this.lift; + this.prevErector = this.erector; + + float erectorSpeed = 1.5F; + float liftSpeed = 0.025F; + + if(this.isMissileValid()) { + if(slots[0].getItem() instanceof ItemMissile) { + ItemMissile missile = (ItemMissile) slots[0].getItem(); + this.formFactor = missile.formFactor.ordinal(); + + if(missile.formFactor == MissileFormFactor.ATLAS || missile.formFactor == MissileFormFactor.HUGE) { + erectorSpeed /= 2F; + liftSpeed /= 2F; + } + } + + if(this.erector == 90F && this.lift == 1F) { + this.readyToLoad = true; + } + } else { + readyToLoad = false; + erected = false; + delay = 20; + } + + if(this.power >= 75_000) { + if(delay > 0) { + delay--; + + if(delay < 10 && scheduleErect) { + this.erected = true; + this.scheduleErect = false; + } + + // if there is no missile or the missile isn't ready (i.e. the erector hasn't returned to zero position yet), retract + if(slots[0] == null || !readyToLoad) { + //fold back erector + if(erector < 90F) { + erector = Math.min(erector + erectorSpeed, 90F); + if(erector == 90F) delay = 20; + //extend lift + } else if(lift < 1F) { + lift = Math.min(lift + liftSpeed, 1F); + if(erector == 1F) { + //if the lift is fully extended, the loading can begin + readyToLoad = true; + delay = 20; + } + } + } + + } else { + + //only extend if the erector isn't up yet and the missile can be loaded + if(!erected && readyToLoad) { + this.state = this.STATE_LOADING; + + //first, rotate the erector + if(erector != 0F) { + erector = Math.max(erector - erectorSpeed, 0F); + if(erector == 0F) delay = 20; + //then retract the lift + } else if(lift > 0) { + lift = Math.max(lift - liftSpeed, 0F); + if(lift == 0F) { + //once the lift is at the bottom, the missile is deployed + scheduleErect = true; + delay = 20; + } + } + } else { + //first, fold back the erector + if(erector < 90F) { + erector = Math.min(erector + erectorSpeed, 90F); + if(erector == 90F) delay = 20; + //then extend the lift again + } else if(lift < 1F) { + lift = Math.min(lift + liftSpeed, 1F); + if(erector == 1F) { + //if the lift is fully extended, the loading can begin + readyToLoad = true; + delay = 20; + } + } + } + } + } + + if(!this.hasFuel() || !this.isMissileValid()) this.state = this.STATE_MISSING; + if(this.erected && this.canLaunch()) this.state = this.STATE_READY; + + boolean prevLiftMoving = this.liftMoving; + boolean prevErectorMoving = this.erectorMoving; + this.liftMoving = false; + this.erectorMoving = false; + if(this.prevLift != this.lift) this.liftMoving = true; + if(this.prevErector != this.erector) this.erectorMoving = true; + + if(prevLiftMoving && !this.liftMoving) worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:door.wgh_stop", 2F, 1F); + if(prevErectorMoving && !this.erectorMoving) worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:door.garage_stop", 2F, 1F); + + } else { + this.prevLift = this.lift; + this.prevErector = this.erector; + + if(this.sync > 0) { + this.lift = this.lift + ((this.syncLift - this.lift) / (float) this.sync); + this.erector = this.erector + ((this.syncErector - this.erector) / (float) this.sync); + --this.sync; + } else { + this.lift = this.syncLift; + this.erector = this.syncErector; + } + + if(this.liftMoving) { + if(this.audioLift == null || !this.audioLift.isPlaying()) { + this.audioLift = MainRegistry.proxy.getLoopedSound("hbm:door.wgh_start", xCoord, yCoord, zCoord, 0.75F, 25F, 1.0F, 5); + this.audioLift.startSound(); + } + this.audioLift.keepAlive(); + } else { + if(this.audioLift != null) { + this.audioLift.stopSound(); + this.audioLift = null; + } + } + + if(this.erectorMoving) { + if(this.audioErector == null || !this.audioErector.isPlaying()) { + this.audioErector = MainRegistry.proxy.getLoopedSound("hbm:door.garage_move", xCoord, yCoord, zCoord, 1.5F, 25F, 1.0F, 5); + this.audioErector.startSound(); + } + this.audioErector.keepAlive(); + } else { + if(this.audioErector != null) { + this.audioErector.stopSound(); + this.audioErector = null; + } + } + + if(this.erected && (this.formFactor == MissileFormFactor.HUGE.ordinal() || this.formFactor == MissileFormFactor.ATLAS.ordinal()) && this.tanks[1].getFill() > 0) { + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "tower"); + data.setFloat("lift", 0F); + data.setFloat("base", 0.5F); + data.setFloat("max", 2F); + data.setInteger("life", 70 + worldObj.rand.nextInt(30)); + data.setDouble("posX", xCoord + 0.5 + worldObj.rand.nextGaussian() * 0.5); + data.setDouble("posZ", zCoord + 0.5 + worldObj.rand.nextGaussian() * 0.5); + data.setDouble("posY", yCoord + 2); + data.setBoolean("noWind", true); + data.setFloat("alphaMod", 2F); + data.setFloat("strafe", 0.05F); + for(int i = 0; i < 3; i++) MainRegistry.proxy.effectNT(data); + } + + List entities = worldObj.getEntitiesWithinAABB(EntityMissileBaseNT.class, AxisAlignedBB.getBoundingBox(xCoord - 0.5, yCoord, zCoord - 0.5, xCoord + 1.5, yCoord + 10, zCoord + 1.5)); + + if(!entities.isEmpty()) { + for(int i = 0; i < 15; i++) { + + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); + if(worldObj.rand.nextBoolean()) dir = dir.getOpposite(); + float moX = (float) (worldObj.rand.nextGaussian() * 0.15F + 0.75) * dir.offsetX; + float moZ = (float) (worldObj.rand.nextGaussian() * 0.15F + 0.75) * dir.offsetZ; + + MainRegistry.proxy.spawnParticle(xCoord + 0.5, yCoord + 0.25, zCoord + 0.5, "launchsmoke", new float[] {moX, 0, moZ}); + } + } + } + + super.updateEntity(); + } + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + + buf.writeBoolean(this.liftMoving); + buf.writeBoolean(this.erectorMoving); + buf.writeBoolean(this.erected); + buf.writeBoolean(this.readyToLoad); + buf.writeByte((byte) this.formFactor); + buf.writeFloat(this.lift); + buf.writeFloat(this.erector); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + + this.liftMoving = buf.readBoolean(); + this.erectorMoving = buf.readBoolean(); + this.erected = buf.readBoolean(); + this.readyToLoad = buf.readBoolean(); + this.formFactor = buf.readByte(); + this.syncLift = buf.readFloat(); + this.syncErector = buf.readFloat(); + + if(this.lift != this.syncLift || this.erector != this.syncErector) { + this.sync = 3; + } + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + + this.erected = nbt.getBoolean("erected"); + this.readyToLoad = nbt.getBoolean("readyToLoad"); + this.lift = nbt.getFloat("lift"); + this.erector = nbt.getFloat("erector"); + this.formFactor = nbt.getInteger("formFactor"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + + nbt.setBoolean("erected", erected); + nbt.setBoolean("readyToLoad", readyToLoad); + nbt.setFloat("lift", lift); + nbt.setFloat("erector", erector); + nbt.setInteger("formFactor", formFactor); + } + + @Override + public void finalizeLaunch(Entity missile) { + super.finalizeLaunch(missile); + this.erected = false; + } + + @Override + public DirPos[] getConPos() { + return new DirPos[] { + new DirPos(xCoord + 5, yCoord, zCoord - 2, Library.POS_X), + new DirPos(xCoord + 5, yCoord, zCoord + 2, Library.POS_X), + new DirPos(xCoord - 5, yCoord, zCoord - 2, Library.NEG_X), + new DirPos(xCoord - 5, yCoord, zCoord + 2, Library.NEG_X), + new DirPos(xCoord - 2, yCoord, zCoord + 5, Library.POS_Z), + new DirPos(xCoord + 2, yCoord, zCoord + 5, Library.POS_Z), + new DirPos(xCoord - 2, yCoord, zCoord - 5, Library.NEG_Z), + new DirPos(xCoord + 2, yCoord, zCoord - 5, Library.NEG_Z) + }; + } + + AxisAlignedBB bb = null; + + @Override + public AxisAlignedBB getRenderBoundingBox() { + + if(bb == null) { + bb = AxisAlignedBB.getBoundingBox( + xCoord - 10, + yCoord, + zCoord - 10, + xCoord + 11, + yCoord + 15, + zCoord + 11 + ); + } + + return bb; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } +} diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPadRusted.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPadRusted.java new file mode 100644 index 000000000..cdfa9eca8 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPadRusted.java @@ -0,0 +1,226 @@ +package com.hbm.tileentity.bomb; + +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +import com.hbm.entity.missile.EntityMissileBaseNT; +import com.hbm.entity.missile.EntityMissileTier4.EntityMissileDoomsdayRusted; +import com.hbm.interfaces.IBomb.BombReturnCode; +import com.hbm.interfaces.IControlReceiver; +import com.hbm.inventory.container.ContainerLaunchPadRusted; +import com.hbm.inventory.gui.GUILaunchPadRusted; +import com.hbm.items.ModItems; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.IGUIProvider; +import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.TrackerUtil; +import com.hbm.util.fauxpointtwelve.BlockPos; + +import api.hbm.item.IDesignatorItem; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityLaunchPadRusted extends TileEntityMachineBase implements IGUIProvider, IControlReceiver { + + public int prevRedstonePower; + public int redstonePower; + public Set activatedBlocks = new HashSet<>(4); + + public boolean missileLoaded; + + public TileEntityLaunchPadRusted() { + super(4); + } + + @Override + public String getName() { + return "container.launchPadRusted"; + } + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + + if(this.redstonePower > 0 && this.prevRedstonePower <= 0) { + this.launch(); + } + + this.prevRedstonePower = this.redstonePower; + this.networkPackNT(250); + } else { + + List entities = worldObj.getEntitiesWithinAABB(EntityMissileBaseNT.class, AxisAlignedBB.getBoundingBox(xCoord - 0.5, yCoord, zCoord - 0.5, xCoord + 1.5, yCoord + 10, zCoord + 1.5)); + + if(!entities.isEmpty()) { + for(int i = 0; i < 15; i++) { + + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); + if(worldObj.rand.nextBoolean()) dir = dir.getOpposite(); + if(worldObj.rand.nextBoolean()) dir = dir.getRotation(ForgeDirection.UP); + float moX = (float) (worldObj.rand.nextGaussian() * 0.15F + 0.75) * dir.offsetX; + float moZ = (float) (worldObj.rand.nextGaussian() * 0.15F + 0.75) * dir.offsetZ; + + MainRegistry.proxy.spawnParticle(xCoord + 0.5, yCoord + 0.25, zCoord + 0.5, "launchsmoke", new float[] {moX, 0, moZ}); + } + } + } + } + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeBoolean(this.missileLoaded); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.missileLoaded = buf.readBoolean(); + } + + public BombReturnCode launch() { + + if(slots[1] != null && slots[2] != null && slots[3] != null && this.missileLoaded) { + if(slots[1].getItem() == ModItems.launch_code && slots[2].getItem() == ModItems.launch_key) { + if(slots[3] != null && slots[3].getItem() instanceof IDesignatorItem) { + IDesignatorItem designator = (IDesignatorItem) slots[3].getItem(); + + if(!designator.isReady(worldObj, slots[3], xCoord, yCoord, zCoord)) return BombReturnCode.ERROR_MISSING_COMPONENT; + + Vec3 coords = designator.getCoords(worldObj, slots[3], xCoord, yCoord, zCoord); + int targetX = (int) Math.floor(coords.xCoord); + int targetZ = (int) Math.floor(coords.zCoord); + + EntityMissileDoomsdayRusted missile = new EntityMissileDoomsdayRusted(worldObj, xCoord + 0.5F, yCoord + 1F, zCoord + 0.5F, targetX, targetZ); + worldObj.spawnEntityInWorld(missile); + TrackerUtil.setTrackingRange(worldObj, missile, 500); + worldObj.playSoundEffect(xCoord + 0.5, yCoord, zCoord + 0.5, "hbm:weapon.missileTakeOff", 2.0F, 1.0F); + this.missileLoaded = false; + this.decrStackSize(1, 1); + this.markDirty(); + + return BombReturnCode.LAUNCHED; + } + } + } + + return BombReturnCode.ERROR_MISSING_COMPONENT; + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + + this.missileLoaded = nbt.getBoolean("missileLoaded"); + + this.redstonePower = nbt.getInteger("redstonePower"); + this.prevRedstonePower = nbt.getInteger("prevRedstonePower"); + NBTTagCompound activatedBlocks = nbt.getCompoundTag("activatedBlocks"); + this.activatedBlocks.clear(); + for(int i = 0; i < activatedBlocks.func_150296_c().size() / 3; i++) { + this.activatedBlocks.add(new BlockPos(activatedBlocks.getInteger("x" + i), activatedBlocks.getInteger("y" + i), activatedBlocks.getInteger("z" + i))); + } + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + + nbt.setBoolean("missileLoaded", missileLoaded); + + nbt.setInteger("redstonePower", redstonePower); + nbt.setInteger("prevRedstonePower", prevRedstonePower); + NBTTagCompound activatedBlocks = new NBTTagCompound(); + int i = 0; + for(BlockPos p : this.activatedBlocks) { + activatedBlocks.setInteger("x" + i, p.getX()); + activatedBlocks.setInteger("y" + i, p.getY()); + activatedBlocks.setInteger("z" + i, p.getZ()); + i++; + } + nbt.setTag("activatedBlocks", activatedBlocks); + } + + public void updateRedstonePower(int x, int y, int z) { + BlockPos pos = new BlockPos(x, y, z); + boolean powered = worldObj.isBlockIndirectlyGettingPowered(x, y, z); + boolean contained = activatedBlocks.contains(pos); + if(!contained && powered){ + activatedBlocks.add(pos); + if(redstonePower == -1){ + redstonePower = 0; + } + redstonePower++; + } else if(contained && !powered){ + activatedBlocks.remove(pos); + redstonePower--; + if(redstonePower == 0){ + redstonePower = -1; + } + } + } + + AxisAlignedBB bb = null; + + @Override + public AxisAlignedBB getRenderBoundingBox() { + + if(bb == null) { + bb = AxisAlignedBB.getBoundingBox( + xCoord - 2, + yCoord, + zCoord - 2, + xCoord + 3, + yCoord + 15, + zCoord + 3 + ); + } + + return bb; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerLaunchPadRusted(player.inventory, this); + } + + @Override + @SideOnly(Side.CLIENT) + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUILaunchPadRusted(player.inventory, this); + } + + @Override + public boolean hasPermission(EntityPlayer player) { + return this.isUseableByPlayer(player); + } + + @Override + public void receiveControl(NBTTagCompound data) { + if(data.hasKey("release")) { + if(this.missileLoaded && slots[0] == null) { + this.missileLoaded = false; + slots[0] = new ItemStack(ModItems.missile_doomsday_rusted); + this.markDirty(); + } + } + } +} diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java index 709db4fdb..3259452ce 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java @@ -2,8 +2,6 @@ package com.hbm.tileentity.bomb; import java.util.List; -import com.hbm.blocks.ModBlocks; -import com.hbm.blocks.bomb.LaunchPad; import com.hbm.entity.missile.EntityMissileCustom; import com.hbm.handler.MissileStruct; import com.hbm.interfaces.IFluidAcceptor; @@ -15,9 +13,9 @@ import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.gui.GUIMachineLaunchTable; import com.hbm.items.ModItems; import com.hbm.items.weapon.ItemCustomMissile; -import com.hbm.items.weapon.ItemMissile; -import com.hbm.items.weapon.ItemMissile.FuelType; -import com.hbm.items.weapon.ItemMissile.PartSize; +import com.hbm.items.weapon.ItemCustomMissilePart; +import com.hbm.items.weapon.ItemCustomMissilePart.FuelType; +import com.hbm.items.weapon.ItemCustomMissilePart.PartSize; import com.hbm.lib.Library; import com.hbm.main.MainRegistry; import com.hbm.packet.AuxElectricityPacket; @@ -28,7 +26,7 @@ import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IRadarCommandReceiver; import com.hbm.tileentity.TileEntityLoadedBase; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardReceiver; import api.hbm.item.IDesignatorItem; import cpw.mods.fml.common.Optional; @@ -55,7 +53,7 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISidedInventory, IEnergyUser, IFluidContainer, IFluidAcceptor, IFluidStandardReceiver, IGUIProvider, SimpleComponent, IRadarCommandReceiver { +public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISidedInventory, IEnergyReceiverMK2, IFluidContainer, IFluidAcceptor, IFluidStandardReceiver, IGUIProvider, SimpleComponent, IRadarCommandReceiver { private ItemStack slots[]; @@ -261,7 +259,7 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide public boolean canLaunch() { - if(power >= maxPower * 0.75 && isMissileValid() && hasDesignator() && hasFuel()) + if(power >= maxPower * 0.75 && isMissileValid() && hasFuel()) return true; return false; @@ -281,22 +279,29 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide public void launchFromDesignator() { - int tX = slots[1].stackTagCompound.getInteger("xCoord"); - int tZ = slots[1].stackTagCompound.getInteger("zCoord"); - - this.launchTo(tX, tZ); + if(slots[1] != null && slots[1].getItem() instanceof IDesignatorItem) { + IDesignatorItem designator = (IDesignatorItem) slots[1].getItem(); + + if(designator.isReady(worldObj, slots[1], xCoord, yCoord, zCoord)) { + Vec3 coords = designator.getCoords(worldObj, slots[1], xCoord, yCoord, zCoord); + int tX = (int) Math.floor(coords.xCoord); + int tZ = (int) Math.floor(coords.zCoord); + + this.launchTo(tX, tZ); + } + } } public void launchTo(int tX, int tZ) { worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:weapon.missileTakeOff", 10.0F, 1.0F); - ItemMissile chip = (ItemMissile) Item.getItemById(ItemCustomMissile.readFromNBT(slots[0], "chip")); + ItemCustomMissilePart chip = (ItemCustomMissilePart) Item.getItemById(ItemCustomMissile.readFromNBT(slots[0], "chip")); float c = (Float)chip.attributes[0]; float f = 1.0F; if(getStruct(slots[0]).fins != null) { - ItemMissile fins = (ItemMissile) Item.getItemById(ItemCustomMissile.readFromNBT(slots[0], "stability")); + ItemCustomMissilePart fins = (ItemCustomMissilePart) Item.getItemById(ItemCustomMissile.readFromNBT(slots[0], "stability")); f = (Float) fins.attributes[0]; } @@ -326,7 +331,7 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide if(multipart == null || multipart.fuselage == null) return; - ItemMissile fuselage = (ItemMissile)multipart.fuselage; + ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage; float f = (Float)fuselage.attributes[1]; int fuel = (int)f; @@ -367,7 +372,7 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide if(multipart == null || multipart.fuselage == null) return false; - ItemMissile fuselage = (ItemMissile)multipart.fuselage; + ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage; return fuselage.top == padSize; } @@ -388,7 +393,7 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide if(multipart == null || multipart.fuselage == null) return -1; - ItemMissile fuselage = (ItemMissile)multipart.fuselage; + ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage; if((FuelType)fuselage.attributes[0] == FuelType.SOLID) { @@ -408,7 +413,7 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide if(multipart == null || multipart.fuselage == null) return -1; - ItemMissile fuselage = (ItemMissile)multipart.fuselage; + ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage; switch((FuelType)fuselage.attributes[0]) { case KEROSENE: @@ -433,7 +438,7 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide if(multipart == null || multipart.fuselage == null) return -1; - ItemMissile fuselage = (ItemMissile)multipart.fuselage; + ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage; switch((FuelType)fuselage.attributes[0]) { case KEROSENE: @@ -457,7 +462,7 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide if(multipart == null || multipart.fuselage == null) return; - ItemMissile fuselage = (ItemMissile)multipart.fuselage; + ItemCustomMissilePart fuselage = (ItemCustomMissilePart)multipart.fuselage; switch((FuelType)fuselage.attributes[0]) { case KEROSENE: @@ -704,9 +709,11 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide @Callback @Optional.Method(modid = "OpenComputers") public Object[] launch(Context context, Arguments args) { - //worldObj.getBlock(xCoord, yCoord, zCoord).explode(worldObj, xCoord, yCoord, zCoord); - ((LaunchPad) ModBlocks.launch_pad).explode(worldObj, xCoord, yCoord, zCoord); - return new Object[] {}; + if(this.canLaunch()) { + this.launchFromDesignator(); + return new Object[] {true}; + } + return new Object[] {false}; } @Override diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeBalefire.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeBalefire.java index 4044d26df..51bef052f 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeBalefire.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeBalefire.java @@ -8,7 +8,7 @@ import com.hbm.items.ModItems; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; -import api.hbm.energy.IBatteryItem; +import api.hbm.energymk2.IBatteryItem; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.GuiScreen; @@ -64,7 +64,7 @@ public class TileEntityNukeBalefire extends TileEntityMachineBase implements IGU } public void networkUnpack(NBTTagCompound data) { - + super.networkUnpack(data); timer = data.getInteger("timer"); started = data.getBoolean("started"); loaded = data.getBoolean("loaded"); diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeN45.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeN45.java deleted file mode 100644 index 07cd73d6a..000000000 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityNukeN45.java +++ /dev/null @@ -1,326 +0,0 @@ -package com.hbm.tileentity.bomb; - -import java.util.List; - -import com.hbm.blocks.ModBlocks; -import com.hbm.config.BombConfig; -import com.hbm.entity.effect.EntityNukeTorex; -import com.hbm.entity.logic.EntityNukeExplosionMK5; -import com.hbm.explosion.ExplosionLarge; -import com.hbm.inventory.container.ContainerNukeN45; -import com.hbm.inventory.gui.GUINukeN45; -import com.hbm.items.ModItems; -import com.hbm.packet.AuxGaugePacket; -import com.hbm.packet.PacketDispatcher; -import com.hbm.tileentity.IGUIProvider; - -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.ISidedInventory; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.potion.Potion; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.World; - -public class TileEntityNukeN45 extends TileEntity implements ISidedInventory, IGUIProvider { - - public ItemStack slots[]; - private String customName; - - public boolean primed = false; - - public TileEntityNukeN45() { - slots = new ItemStack[2]; - } - - @Override - public int getSizeInventory() { - return slots.length; - } - - @Override - public ItemStack getStackInSlot(int i) { - return slots[i]; - } - - @Override - public ItemStack decrStackSize(int i, int j) { - if(slots[i] != null) - { - if(slots[i].stackSize <= j) - { - ItemStack itemStack = slots[i]; - slots[i] = null; - return itemStack; - } - ItemStack itemStack1 = slots[i].splitStack(j); - if (slots[i].stackSize == 0) - { - slots[i] = null; - } - - return itemStack1; - } else { - return null; - } - } - - @Override - public ItemStack getStackInSlotOnClosing(int i) { - if(slots[i] != null) - { - ItemStack itemStack = slots[i]; - slots[i] = null; - return itemStack; - } else { - return null; - } - } - - @Override - public void setInventorySlotContents(int i, ItemStack itemStack) { - slots[i] = itemStack; - if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) - { - itemStack.stackSize = getInventoryStackLimit(); - } - } - - @Override - public String getInventoryName() { - return this.hasCustomInventoryName() ? this.customName : "container.nukeN45"; - } - - @Override - public boolean hasCustomInventoryName() { - return this.customName != null && this.customName.length() > 0; - } - - public void setCustomName(String name) { - this.customName = name; - } - - @Override - public int getInventoryStackLimit() { - return 64; - } - - @Override - public boolean isUseableByPlayer(EntityPlayer player) { - if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) - { - return false; - }else{ - return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <=64; - } - } - - @Override - public void openInventory() { - - } - - @Override - public void closeInventory() { - - } - - @Override - public boolean isItemValidForSlot(int p_94041_1_, ItemStack p_94041_2_) { - return false; - } - - @Override - public int[] getAccessibleSlotsFromSide(int p_94128_1_) { - return new int[0]; - } - - @Override - public boolean canInsertItem(int i, ItemStack itemStack, int j) { - return this.isItemValidForSlot(i, itemStack); - } - - @Override - public boolean canExtractItem(int i, ItemStack itemStack, int j) { - return true; - } - - @Override - public void readFromNBT(NBTTagCompound nbt) { - super.readFromNBT(nbt); - NBTTagList list = nbt.getTagList("items", 10); - - primed = nbt.getBoolean("primed"); - - slots = new ItemStack[getSizeInventory()]; - - for(int i = 0; i < list.tagCount(); i++) - { - NBTTagCompound nbt1 = list.getCompoundTagAt(i); - byte b0 = nbt1.getByte("slot"); - if(b0 >= 0 && b0 < slots.length) - { - slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); - } - } - } - - @Override - public void writeToNBT(NBTTagCompound nbt) { - super.writeToNBT(nbt); - NBTTagList list = new NBTTagList(); - - nbt.setBoolean("primed", primed); - - for(int i = 0; i < slots.length; i++) - { - if(slots[i] != null) - { - NBTTagCompound nbt1 = new NBTTagCompound(); - nbt1.setByte("slot", (byte)i); - slots[i].writeToNBT(nbt1); - list.appendTag(nbt1); - } - } - nbt.setTag("items", list); - } - - public void updateEntity() { - - if(!worldObj.isRemote) { - - PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, primed ? 1 : 0, 0), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150)); - - if(primed) { - - if(getType() == 0) { - return; - } - - int rad = 0; - - if(slots[1] != null) { - - if(slots[1].getItem() == ModItems.upgrade_effect_1) - rad = 5; - if(slots[1].getItem() == ModItems.upgrade_effect_2) - rad = 10; - if(slots[1].getItem() == ModItems.upgrade_effect_3) - rad = 15; - } - - if(rad == 0) { - primed = false; - return; - } - - List list = worldObj.getEntitiesWithinAABBExcludingEntity(null, AxisAlignedBB.getBoundingBox(xCoord + 0.5 - rad, yCoord + 0.5 - rad, zCoord + 0.5 - rad, xCoord + 0.5 + rad, yCoord + 0.5 + rad, zCoord + 0.5 + rad)); - - for(Object o : list) { - - Entity e = (Entity)o; - - if(e instanceof EntityLivingBase && e.width * e.width * e.height >= 0.5 && !((EntityLivingBase)e).isPotionActive(Potion.invisibility.id)) { - int t = getType(); - this.clearSlots(); - explode(worldObj, xCoord, yCoord, zCoord, t); - break; - } - } - } - } - - } - - public static void explode(World world, int x, int y, int z, int type) { - - if(!world.isRemote) { - world.setBlockToAir(x, y, z); - - //System.out.println(type); - - switch(type) { - case 1: - world.createExplosion(null, x + 0.5, y + 0.5, z + 0.5, 1.5F, true); - break; - case 2: - world.createExplosion(null, x + 0.5, y + 0.5, z + 0.5, 4.0F, true); - break; - case 3: - ExplosionLarge.explode(world, x, y, z, 15, true, false, false); - break; - case 4: - world.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(world, (int)(BombConfig.missileRadius * 0.75F), x + 0.5, y + 0.5, z + 0.5)); - EntityNukeTorex.statFac(world, x + 0.5, y + 0.5, z + 0.5, BombConfig.missileRadius * 0.75F); - break; - } - } - } - - public int getType() { - - if(!primed && slots[1] != null) { - - if(slots[1].getItem() == ModItems.upgrade_effect_1 || - slots[1].getItem() == ModItems.upgrade_effect_2 || - slots[1].getItem() == ModItems.upgrade_effect_3) - return 100; - } - - if(slots[0] != null) { - - if(slots[0].getItem() == Item.getItemFromBlock(ModBlocks.det_cord)) - return 1; - if(slots[0].getItem() == Item.getItemFromBlock(Blocks.tnt)) - return 2; - if(slots[0].getItem() == Item.getItemFromBlock(ModBlocks.det_charge)) - return 3; - if(slots[0].getItem() == Item.getItemFromBlock(ModBlocks.det_nuke)) - return 4; - } - - return 0; - } - - public void clearSlots() { - for(int i = 0; i < slots.length; i++) - { - slots[i] = null; - } - } - - @Override - public AxisAlignedBB getRenderBoundingBox() { - return TileEntity.INFINITE_EXTENT_AABB; - } - - @Override - @SideOnly(Side.CLIENT) - public double getMaxRenderDistanceSquared() - { - return 65536.0D; - } - - @Override - public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new ContainerNukeN45(player.inventory, this); - } - - @Override - @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new GUINukeN45(player.inventory, this); - } - -} diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityTestBombAdvanced.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityTestBombAdvanced.java deleted file mode 100644 index f47eb33f5..000000000 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityTestBombAdvanced.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.hbm.tileentity.bomb; - -import net.minecraft.tileentity.TileEntity; - -public class TileEntityTestBombAdvanced extends TileEntity { - -} diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityTestNuke.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityTestNuke.java deleted file mode 100644 index d18dbcc55..000000000 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityTestNuke.java +++ /dev/null @@ -1,222 +0,0 @@ -package com.hbm.tileentity.bomb; - -import com.hbm.inventory.container.ContainerTestNuke; -import com.hbm.inventory.gui.GUITestNuke; -import com.hbm.items.ModItems; -import com.hbm.tileentity.IGUIProvider; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.ISidedInventory; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; - -public class TileEntityTestNuke extends TileEntity implements ISidedInventory, IGUIProvider { - - private ItemStack slots[]; - private String customName; - - public TileEntityTestNuke() { - slots = new ItemStack[5]; - } - - @Override - public int getSizeInventory() { - return slots.length; - } - - @Override - public ItemStack getStackInSlot(int i) { - return slots[i]; - } - - @Override - public ItemStack decrStackSize(int i, int j) { - if(slots[i] != null) - { - if(slots[i].stackSize <= j) - { - ItemStack itemStack = slots[i]; - slots[i] = null; - return itemStack; - } - ItemStack itemStack1 = slots[i].splitStack(j); - if (slots[i].stackSize == 0) - { - slots[i] = null; - } - - return itemStack1; - } else { - return null; - } - } - - @Override - public ItemStack getStackInSlotOnClosing(int i) { - if(slots[i] != null) - { - ItemStack itemStack = slots[i]; - slots[i] = null; - return itemStack; - } else { - return null; - } - } - - @Override - public void setInventorySlotContents(int i, ItemStack itemStack) { - slots[i] = itemStack; - if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) - { - itemStack.stackSize = getInventoryStackLimit(); - } - } - - @Override - public String getInventoryName() { - return this.hasCustomInventoryName() ? this.customName : "container.testNuke"; - } - - @Override - public boolean hasCustomInventoryName() { - return this.customName != null && this.customName.length() > 0; - } - - public void setCustomName(String name) { - this.customName = name; - } - - @Override - public int getInventoryStackLimit() { - return 64; - } - - @Override - public boolean isUseableByPlayer(EntityPlayer player) { - if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) - { - return false; - }else{ - return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <=64; - } - } - - @Override - public void openInventory() { - - } - - @Override - public void closeInventory() { - - } - - @Override - public boolean isItemValidForSlot(int p_94041_1_, ItemStack p_94041_2_) { - return false; - } - - @Override - public int[] getAccessibleSlotsFromSide(int p_94128_1_) { - return new int[0]; - } - - @Override - public boolean canInsertItem(int i, ItemStack itemStack, int j) { - return this.isItemValidForSlot(i, itemStack); - } - - @Override - public boolean canExtractItem(int i, ItemStack itemStack, int j) { - return j != 0 || i != 1 || itemStack.getItem() == Items.bucket; - } - - @Override - public void readFromNBT(NBTTagCompound nbt) { - super.readFromNBT(nbt); - NBTTagList list = nbt.getTagList("items", 10); - slots = new ItemStack[getSizeInventory()]; - - for(int i = 0; i < list.tagCount(); i++) - { - NBTTagCompound nbt1 = list.getCompoundTagAt(i); - byte b0 = nbt1.getByte("slot"); - if(b0 >= 0 && b0 < slots.length) - { - slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); - } - } - } - - @Override - public void writeToNBT(NBTTagCompound nbt) { - super.writeToNBT(nbt); - NBTTagList list = new NBTTagList(); - - for(int i = 0; i < slots.length; i++) - { - if(slots[i] != null) - { - NBTTagCompound nbt1 = new NBTTagCompound(); - nbt1.setByte("slot", (byte)i); - slots[i].writeToNBT(nbt1); - list.appendTag(nbt1); - } - } - nbt.setTag("items", list); - } - - public int getNukeTier() { - if(this.slots[0] != null && this.slots[1] != null && this.slots[2] != null && this.slots[3] != null && this.slots[4] != null) - { - if(this.slots[0].getItem() == ModItems.test_nuke_tier1_shielding && this.slots[1].getItem() == ModItems.test_nuke_tier1_target && this.slots[2].getItem() == ModItems.test_nuke_tier1_bullet && this.slots[3].getItem() == ModItems.test_nuke_propellant && this.slots[4].getItem() == ModItems.test_nuke_igniter) - { - return 1; - } - if(this.slots[0].getItem() == ModItems.test_nuke_tier2_shielding && this.slots[1].getItem() == ModItems.test_nuke_tier2_target && this.slots[2].getItem() == ModItems.test_nuke_tier2_bullet && this.slots[3].getItem() == ModItems.test_nuke_propellant && this.slots[4].getItem() == ModItems.test_nuke_igniter) - { - return 2; - } - if(this.slots[0].getItem() == Item.getItemFromBlock(Blocks.obsidian) && this.slots[1].getItem() == Items.nether_star && this.slots[2].getItem() == Items.diamond && this.slots[3].getItem() == Item.getItemFromBlock(Blocks.tnt) && this.slots[4].getItem() == Items.repeater) - { - return 999; - } - else - { - return 0; - } - } - else - { - return 0; - } - } - - public void clearSlots() { - for(int i = 0; i < slots.length; i++) - { - slots[i] = null; - } - } - - @Override - public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new ContainerTestNuke(player.inventory, this); - } - - @Override - @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new GUITestNuke(player.inventory, this); - } -} diff --git a/src/main/java/com/hbm/tileentity/conductor/TileEntityFluidDuctSimple.java b/src/main/java/com/hbm/tileentity/conductor/TileEntityFluidDuctSimple.java index 9027eca23..87b407eba 100644 --- a/src/main/java/com/hbm/tileentity/conductor/TileEntityFluidDuctSimple.java +++ b/src/main/java/com/hbm/tileentity/conductor/TileEntityFluidDuctSimple.java @@ -1,10 +1,6 @@ package com.hbm.tileentity.conductor; -import java.util.ArrayList; -import java.util.List; - import com.hbm.blocks.ModBlocks; -import com.hbm.calc.UnionOfTileEntitiesAndBooleansForFluids; import com.hbm.interfaces.IFluidDuct; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; @@ -22,7 +18,6 @@ import net.minecraftforge.common.util.ForgeDirection; public class TileEntityFluidDuctSimple extends TileEntity implements IFluidDuct { protected FluidType type = Fluids.NONE; - public List uoteab = new ArrayList(); public ForgeDirection[] connections = new ForgeDirection[6]; diff --git a/src/main/java/com/hbm/tileentity/conductor/TileEntityRFDuct.java b/src/main/java/com/hbm/tileentity/conductor/TileEntityRFDuct.java deleted file mode 100644 index 1054a5b41..000000000 --- a/src/main/java/com/hbm/tileentity/conductor/TileEntityRFDuct.java +++ /dev/null @@ -1,144 +0,0 @@ -package com.hbm.tileentity.conductor; - -import cofh.api.energy.EnergyStorage; -import cofh.api.energy.IEnergyConnection; -import cofh.api.energy.IEnergyHandler; -import cofh.api.energy.IEnergyReceiver; -import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.util.ForgeDirection; - -public class TileEntityRFDuct extends TileEntity implements IEnergyHandler { - - public ForgeDirection[] connections = new ForgeDirection[6]; - protected EnergyStorage storage; - public int output; - - public TileEntityRFDuct(int output) { - this.output = output; - this.storage = new EnergyStorage(200); - - storage.setMaxReceive(output); - storage.setMaxExtract(output); - storage.setMaxTransfer(output); - } - - public void updateEntity() { - this.updateConnections(); - - if (storage.getEnergyStored() > 0) { - for (int i = 0; i < 6; i++) { - - int targetX = xCoord + ForgeDirection.getOrientation(i).offsetX; - int targetY = yCoord + ForgeDirection.getOrientation(i).offsetY; - int targetZ = zCoord + ForgeDirection.getOrientation(i).offsetZ; - - TileEntity tile = worldObj.getTileEntity(targetX, targetY, targetZ); - if (tile instanceof IEnergyReceiver) { - int maxExtract = storage.getMaxExtract(); - int maxAvailable = storage.extractEnergy(maxExtract, true); - int energyTransferred = ((IEnergyReceiver) tile) - .receiveEnergy(ForgeDirection.getOrientation(i).getOpposite(), maxAvailable, false); - - storage.extractEnergy(energyTransferred, false); - } - } - } - - } - - public void updateConnections() { - if (this.worldObj.getTileEntity(xCoord, yCoord + 1, zCoord) instanceof IEnergyConnection) - connections[0] = ForgeDirection.UP; - else - connections[0] = null; - - if (this.worldObj.getTileEntity(xCoord, yCoord - 1, zCoord) instanceof IEnergyConnection) - connections[1] = ForgeDirection.DOWN; - else - connections[1] = null; - - if (this.worldObj.getTileEntity(xCoord, yCoord, zCoord - 1) instanceof IEnergyConnection) - connections[2] = ForgeDirection.NORTH; - else - connections[2] = null; - - if (this.worldObj.getTileEntity(xCoord, yCoord, zCoord + 1) instanceof IEnergyConnection) - connections[3] = ForgeDirection.SOUTH; - else - connections[3] = null; - - if (this.worldObj.getTileEntity(xCoord + 1, yCoord, zCoord) instanceof IEnergyConnection) - connections[4] = ForgeDirection.EAST; - else - connections[4] = null; - - if (this.worldObj.getTileEntity(xCoord - 1, yCoord, zCoord) instanceof IEnergyConnection) - connections[5] = ForgeDirection.WEST; - else - connections[5] = null; - } - - public boolean onlyOneOpposite(ForgeDirection[] directions) { - ForgeDirection mainDirection = null; - boolean isOpposite = false; - - for (int i = 0; i < directions.length; i++) { - - if (mainDirection == null && directions[i] != null) - mainDirection = directions[i]; - - if (directions[i] != null && mainDirection != directions[i]) { - if (!isOpposite(mainDirection, directions[i])) - return false; - else - isOpposite = true; - } - } - - return isOpposite; - } - - public boolean isOpposite(ForgeDirection firstDirection, ForgeDirection secondDirection) { - - if ((firstDirection.equals(ForgeDirection.NORTH) && secondDirection.equals(ForgeDirection.SOUTH)) - || firstDirection.equals(ForgeDirection.SOUTH) && secondDirection.equals(ForgeDirection.NORTH)) - return true; - - if ((firstDirection.equals(ForgeDirection.EAST) && secondDirection.equals(ForgeDirection.WEST)) - || firstDirection.equals(ForgeDirection.WEST) && secondDirection.equals(ForgeDirection.EAST)) - return true; - - if ((firstDirection.equals(ForgeDirection.UP) && secondDirection.equals(ForgeDirection.DOWN)) - || firstDirection.equals(ForgeDirection.DOWN) && secondDirection.equals(ForgeDirection.UP)) - return true; - - return false; - } - - @Override - public boolean canConnectEnergy(ForgeDirection from) { - return true; - } - - @Override - public int receiveEnergy(ForgeDirection from, int maxReceive, boolean simulate) { - return this.storage.receiveEnergy(Math.min(output, maxReceive), simulate); - } - - @Override - public int extractEnergy(ForgeDirection from, int maxExtract, boolean simulate) { - - return storage.extractEnergy(storage.getMaxExtract(), simulate); - } - - @Override - public int getEnergyStored(ForgeDirection from) { - return storage.getEnergyStored(); - } - - @Override - public int getMaxEnergyStored(ForgeDirection from) { - return storage.getMaxEnergyStored(); - } - -} diff --git a/src/main/java/com/hbm/tileentity/deco/TileEntityBomber.java b/src/main/java/com/hbm/tileentity/deco/TileEntityBomber.java deleted file mode 100644 index ea08b8e6a..000000000 --- a/src/main/java/com/hbm/tileentity/deco/TileEntityBomber.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.hbm.tileentity.deco; - -import com.hbm.packet.AuxGaugePacket; -import com.hbm.packet.PacketDispatcher; - -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; - -public class TileEntityBomber extends TileEntity { - - public int yaw; - public int pitch; - public int type = 1; - - @Override - public void updateEntity() { - - if (!worldObj.isRemote) { - PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, yaw, 0), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150)); - PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, pitch, 1), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150)); - PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, type, 2), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150)); - } - } - - public void readFromNBT(NBTTagCompound nbt) { - super.readFromNBT(nbt); - - yaw = nbt.getInteger("bomberYaw"); - pitch = nbt.getInteger("bomberPitch"); - type = nbt.getInteger("bomberType"); - } - - public void writeToNBT(NBTTagCompound nbt) { - super.writeToNBT(nbt); - nbt.setInteger("bomberYaw", yaw); - nbt.setInteger("bomberPitch", pitch); - nbt.setInteger("bomberType", type); - } - -} diff --git a/src/main/java/com/hbm/tileentity/deco/TileEntityLantern.java b/src/main/java/com/hbm/tileentity/deco/TileEntityLantern.java index 65be4a600..a3db452bb 100644 --- a/src/main/java/com/hbm/tileentity/deco/TileEntityLantern.java +++ b/src/main/java/com/hbm/tileentity/deco/TileEntityLantern.java @@ -2,7 +2,7 @@ package com.hbm.tileentity.deco; import java.util.List; -import com.hbm.entity.mob.EntityGlyphid; +import com.hbm.entity.mob.glyphid.EntityGlyphid; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/src/main/java/com/hbm/tileentity/deco/TileEntityTestRender.java b/src/main/java/com/hbm/tileentity/deco/TileEntityTestRender.java deleted file mode 100644 index 251dbc96a..000000000 --- a/src/main/java/com/hbm/tileentity/deco/TileEntityTestRender.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.hbm.tileentity.deco; - -import net.minecraft.tileentity.TileEntity; - -public class TileEntityTestRender extends TileEntity { - -} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityAMSBase.java b/src/main/java/com/hbm/tileentity/machine/TileEntityAMSBase.java deleted file mode 100644 index 9be891eba..000000000 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityAMSBase.java +++ /dev/null @@ -1,548 +0,0 @@ -package com.hbm.tileentity.machine; - -import java.util.Random; - -import com.hbm.interfaces.IFluidAcceptor; -import com.hbm.interfaces.IFluidContainer; -import com.hbm.inventory.container.ContainerAMSBase; -import com.hbm.inventory.fluid.FluidType; -import com.hbm.inventory.fluid.Fluids; -import com.hbm.inventory.fluid.tank.FluidTank; -import com.hbm.inventory.gui.GUIAMSBase; -import com.hbm.items.ISatChip; -import com.hbm.items.ModItems; -import com.hbm.items.machine.ItemCatalyst; -import com.hbm.items.special.ItemAMSCore; -import com.hbm.packet.AuxElectricityPacket; -import com.hbm.packet.AuxGaugePacket; -import com.hbm.packet.PacketDispatcher; -import com.hbm.saveddata.SatelliteSavedData; -import com.hbm.saveddata.satellites.SatelliteResonator; -import com.hbm.tileentity.IGUIProvider; - -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.ISidedInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.World; - -public class TileEntityAMSBase extends TileEntity implements ISidedInventory, IFluidContainer, IFluidAcceptor, IGUIProvider { - - private ItemStack slots[]; - - public long power = 0; - public static final long maxPower = 1000000000000000L; - public int field = 0; - public static final int maxField = 100; - public int efficiency = 0; - public static final int maxEfficiency = 100; - public int heat = 0; - public static final int maxHeat = 5000; - public int age = 0; - public int warning = 0; - public int mode = 0; - public boolean locked = false; - public FluidTank[] tanks; - public int color = -1; - - Random rand = new Random(); - - private static final int[] slots_top = new int[] { 0 }; - private static final int[] slots_bottom = new int[] { 0 }; - private static final int[] slots_side = new int[] { 0 }; - - private String customName; - - public TileEntityAMSBase() { - slots = new ItemStack[16]; - tanks = new FluidTank[4]; - tanks[0] = new FluidTank(Fluids.COOLANT, 8000, 0); - tanks[1] = new FluidTank(Fluids.CRYOGEL, 8000, 1); - tanks[2] = new FluidTank(Fluids.DEUTERIUM, 8000, 2); - tanks[3] = new FluidTank(Fluids.TRITIUM, 8000, 3); - } - - @Override - public int getSizeInventory() { - return slots.length; - } - - @Override - public ItemStack getStackInSlot(int i) { - return slots[i]; - } - - @Override - public ItemStack getStackInSlotOnClosing(int i) { - if(slots[i] != null) - { - ItemStack itemStack = slots[i]; - slots[i] = null; - return itemStack; - } else { - return null; - } - } - - @Override - public void setInventorySlotContents(int i, ItemStack itemStack) { - slots[i] = itemStack; - if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) - { - itemStack.stackSize = getInventoryStackLimit(); - } - } - - @Override - public String getInventoryName() { - return this.hasCustomInventoryName() ? this.customName : "container.amsBase"; - } - - @Override - public boolean hasCustomInventoryName() { - return this.customName != null && this.customName.length() > 0; - } - - public void setCustomName(String name) { - this.customName = name; - } - - @Override - public int getInventoryStackLimit() { - return 64; - } - - @Override - public boolean isUseableByPlayer(EntityPlayer player) { - if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) - { - return false; - }else{ - return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <=128; - } - } - - @Override - public void openInventory() {} - @Override - public void closeInventory() {} - - @Override - public boolean isItemValidForSlot(int i, ItemStack stack) { - - return false; - } - - @Override - public ItemStack decrStackSize(int i, int j) { - if(slots[i] != null) - { - if(slots[i].stackSize <= j) - { - ItemStack itemStack = slots[i]; - slots[i] = null; - return itemStack; - } - ItemStack itemStack1 = slots[i].splitStack(j); - if (slots[i].stackSize == 0) - { - slots[i] = null; - } - - return itemStack1; - } else { - return null; - } - } - - @Override - public void readFromNBT(NBTTagCompound nbt) { - super.readFromNBT(nbt); - NBTTagList list = nbt.getTagList("items", 10); - - power = nbt.getLong("power"); - tanks[0].readFromNBT(nbt, "coolant1"); - tanks[1].readFromNBT(nbt, "coolant2"); - tanks[2].readFromNBT(nbt, "fuel1"); - tanks[3].readFromNBT(nbt, "fuel2"); - field = nbt.getInteger("field"); - efficiency = nbt.getInteger("efficiency"); - heat = nbt.getInteger("heat"); - locked = nbt.getBoolean("locked"); - slots = new ItemStack[getSizeInventory()]; - - for(int i = 0; i < list.tagCount(); i++) - { - NBTTagCompound nbt1 = list.getCompoundTagAt(i); - byte b0 = nbt1.getByte("slot"); - if(b0 >= 0 && b0 < slots.length) - { - slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); - } - } - } - - @Override - public void writeToNBT(NBTTagCompound nbt) { - super.writeToNBT(nbt); - nbt.setLong("power", power); - tanks[0].writeToNBT(nbt, "coolant1"); - tanks[1].writeToNBT(nbt, "coolant2"); - tanks[2].writeToNBT(nbt, "fuel1"); - tanks[3].writeToNBT(nbt, "fuel2"); - nbt.setInteger("field", field); - nbt.setInteger("efficiency", efficiency); - nbt.setInteger("heat", heat); - nbt.setBoolean("locked", locked); - NBTTagList list = new NBTTagList(); - - for(int i = 0; i < slots.length; i++) - { - if(slots[i] != null) - { - NBTTagCompound nbt1 = new NBTTagCompound(); - nbt1.setByte("slot", (byte)i); - slots[i].writeToNBT(nbt1); - list.appendTag(nbt1); - } - } - nbt.setTag("items", list); - } - - @Override - public int[] getAccessibleSlotsFromSide(int p_94128_1_) - { - return p_94128_1_ == 0 ? slots_bottom : (p_94128_1_ == 1 ? slots_top : slots_side); - } - - @Override - public boolean canInsertItem(int i, ItemStack itemStack, int j) { - return this.isItemValidForSlot(i, itemStack); - } - - @Override - public boolean canExtractItem(int i, ItemStack itemStack, int j) { - return false; - } - - @Override - public void updateEntity() { - - if (!worldObj.isRemote) { - - for(int i = 0; i < tanks.length; i++) - tanks[i].setFill(tanks[i].getMaxFill()); - - if(!locked) { - - age++; - if(age >= 20) - { - age = 0; - } - - tanks[0].setType(0, 1, slots); - tanks[1].setType(2, 3, slots); - tanks[2].setType(4, 5, slots); - tanks[3].setType(6, 7, slots); - - for(int i = 0; i < 4; i++) - tanks[i].updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId); - - int f1 = 0, f2 = 0, f3 = 0, f4 = 0; - int booster = 0; - - if(worldObj.getTileEntity(xCoord + 6, yCoord, zCoord) instanceof TileEntityAMSLimiter) { - TileEntityAMSLimiter te = (TileEntityAMSLimiter)worldObj.getTileEntity(xCoord + 6, yCoord, zCoord); - if(!te.locked && worldObj.getBlockMetadata(xCoord + 6, yCoord, zCoord) == 4) { - f1 = te.efficiency; - if(te.mode == 2) - booster++; - } - } - if(worldObj.getTileEntity(xCoord - 6, yCoord, zCoord) instanceof TileEntityAMSLimiter) { - TileEntityAMSLimiter te = (TileEntityAMSLimiter)worldObj.getTileEntity(xCoord - 6, yCoord, zCoord); - if(!te.locked && worldObj.getBlockMetadata(xCoord - 6, yCoord, zCoord) == 5) { - f2 = te.efficiency; - if(te.mode == 2) - booster++; - } - } - if(worldObj.getTileEntity(xCoord, yCoord, zCoord + 6) instanceof TileEntityAMSLimiter) { - TileEntityAMSLimiter te = (TileEntityAMSLimiter)worldObj.getTileEntity(xCoord, yCoord, zCoord + 6); - if(!te.locked && worldObj.getBlockMetadata(xCoord, yCoord, zCoord + 6) == 2) { - f3 = te.efficiency; - if(te.mode == 2) - booster++; - } - } - if(worldObj.getTileEntity(xCoord, yCoord, zCoord - 6) instanceof TileEntityAMSLimiter) { - TileEntityAMSLimiter te = (TileEntityAMSLimiter)worldObj.getTileEntity(xCoord, yCoord, zCoord - 6); - if(!te.locked && worldObj.getBlockMetadata(xCoord, yCoord, zCoord - 6) == 3) { - f4 = te.efficiency; - if(te.mode == 2) - booster++; - } - } - - this.field = Math.round(calcField(f1, f2, f3, f4)); - - mode = 0; - if(field > 0) - mode = 1; - if(booster > 0) - mode = 2; - - if(worldObj.getTileEntity(xCoord, yCoord + 9, zCoord) instanceof TileEntityAMSEmitter) { - TileEntityAMSEmitter te = (TileEntityAMSEmitter)worldObj.getTileEntity(xCoord, yCoord + 9, zCoord); - this.efficiency = te.efficiency; - } - - this.color = -1; - - float heatMod = 1; - float fuelMod = 1; - int heatBase = 0; - int fuelBase = 0; - - if(slots[8] != null && slots[9] != null && slots[10] != null && slots[11] != null && slots[12] != null && - slots[8].getItem() instanceof ItemCatalyst && slots[9].getItem() instanceof ItemCatalyst && - slots[10].getItem() instanceof ItemCatalyst && slots[11].getItem() instanceof ItemCatalyst && - slots[12].getItem() instanceof ItemAMSCore && hasResonators() && efficiency > 0) { - int a = ((ItemCatalyst)slots[8].getItem()).getColor(); - int b = ((ItemCatalyst)slots[9].getItem()).getColor(); - int c = ((ItemCatalyst)slots[10].getItem()).getColor(); - int d = ((ItemCatalyst)slots[11].getItem()).getColor(); - - int e = this.calcAvgHex(a, b); - int f = this.calcAvgHex(c, d); - - int g = this.calcAvgHex(e, f); - - this.color = g; - - - for(int i = 8; i < 12; i++) { - heatMod *= ItemCatalyst.getHeatMod(slots[i]); - fuelMod *= ItemCatalyst.getFuelMod(slots[i]); - } - - heatBase = ItemAMSCore.getHeatBase(slots[12]); - fuelBase = ItemAMSCore.getFuelBase(slots[12]); - - heatBase *= Math.pow(1.25F, booster); - heatBase *= (100 - field); - - if(this.getFuelPower(tanks[2].getTankType()) > 0 && this.getFuelPower(tanks[3].getTankType()) > 0 && - tanks[2].getFill() > 0 && tanks[3].getFill() > 0) { - - //power += (powerBase * powerMod * gauss(1, (heat - (maxHeat / 2)) / maxHeat)) / 1000 * getFuelPower(tanks[2].getTankType()) * getFuelPower(tanks[3].getTankType()); - heat += (heatBase * heatMod) / (float)(this.field / 100F); - tanks[2].setFill((int)(tanks[2].getFill() - fuelBase * fuelMod)); - tanks[3].setFill((int)(tanks[3].getFill() - fuelBase * fuelMod)); - if(tanks[2].getFill() <= 0) - tanks[2].setFill(0); - if(tanks[3].getFill() <= 0) - tanks[3].setFill(0); - - if(heat > maxHeat) { - heat = maxHeat; - } - } - } - - if(power > maxPower) - power = maxPower; - - - if(heat > 0 && tanks[0].getFill() > 0 && tanks[1].getFill() > 0) { - heat -= (this.getCoolingStrength(tanks[0].getTankType()) * this.getCoolingStrength(tanks[1].getTankType())); - - tanks[0].setFill(tanks[0].getFill() - 10); - tanks[1].setFill(tanks[1].getFill() - 10); - - if(tanks[0].getFill() < 0) - tanks[0].setFill(0); - if(tanks[1].getFill() < 0) - tanks[1].setFill(0); - - if(heat < 0) - heat = 0; - } - - } else { - field = 0; - efficiency = 0; - power = 0; - warning = 3; - } - - PacketDispatcher.wrapper.sendToAllAround(new AuxElectricityPacket(xCoord, yCoord, zCoord, power), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150)); - PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, locked ? 1 : 0, 0), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150)); - PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, color, 1), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150)); - PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, efficiency, 2), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150)); - PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, field, 3), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150)); - } - } - - private int getCoolingStrength(FluidType type) { - - if(type == Fluids.WATER) return 5; - if(type == Fluids.OIL) return 15; - if(type == Fluids.COOLANT) return this.heat / 250; - if(type == Fluids.CRYOGEL) return this.heat > heat/2 ? 25 : 5; - return 0; - } - - private int getFuelPower(FluidType type) { - if(type == Fluids.DEUTERIUM) return 50; - if(type == Fluids.TRITIUM) return 75; - return 0; - } - - private float calcField(int a, int b, int c, int d) { - return (float)(a + b + c + d) * (a * 25 + b * 25 + c * 25 + d * 25) / 40000; - } - - private int calcAvgHex(int h1, int h2) { - - int r1 = ((h1 & 0xFF0000) >> 16); - int g1 = ((h1 & 0x00FF00) >> 8); - int b1 = ((h1 & 0x0000FF) >> 0); - - int r2 = ((h2 & 0xFF0000) >> 16); - int g2 = ((h2 & 0x00FF00) >> 8); - int b2 = ((h2 & 0x0000FF) >> 0); - - int r = (((r1 + r2) / 2) << 16); - int g = (((g1 + g2) / 2) << 8); - int b = (((b1 + b2) / 2) << 0); - - return r | g | b; - } - - public long getPowerScaled(long i) { - return (power * i) / maxPower; - } - - public int getEfficiencyScaled(int i) { - return (efficiency * i) / maxEfficiency; - } - - public int getFieldScaled(int i) { - return (field * i) / maxField; - } - - public int getHeatScaled(int i) { - return (heat * i) / maxHeat; - } - - public boolean hasResonators() { - - if(slots[13] != null && slots[14] != null && slots[15] != null && - slots[13].getItem() == ModItems.sat_chip && slots[14].getItem() == ModItems.sat_chip && slots[15].getItem() == ModItems.sat_chip) { - - SatelliteSavedData data = (SatelliteSavedData)worldObj.perWorldStorage.loadData(SatelliteSavedData.class, "satellites"); - if(data == null) { - worldObj.perWorldStorage.setData("satellites", new SatelliteSavedData()); - data = (SatelliteSavedData)worldObj.perWorldStorage.loadData(SatelliteSavedData.class, "satellites"); - } - data.markDirty(); - - int i1 = ISatChip.getFreqS(slots[13]); - int i2 = ISatChip.getFreqS(slots[14]); - int i3 = ISatChip.getFreqS(slots[15]); - - if(data.getSatFromFreq(i1) != null && data.getSatFromFreq(i2) != null && data.getSatFromFreq(i3) != null && - data.getSatFromFreq(i1) instanceof SatelliteResonator && data.getSatFromFreq(i2) instanceof SatelliteResonator && data.getSatFromFreq(i3) instanceof SatelliteResonator && - i1 != i2 && i1 != i3 && i2 != i3) - return true; - - } - - return true; - } - - @Override - public int getMaxFluidFill(FluidType type) { - if(type.name().equals(tanks[0].getTankType().name())) - return tanks[0].getMaxFill(); - else if(type.name().equals(tanks[1].getTankType().name())) - return tanks[1].getMaxFill(); - else if(type.name().equals(tanks[2].getTankType().name())) - return tanks[2].getMaxFill(); - else if(type.name().equals(tanks[3].getTankType().name())) - return tanks[3].getMaxFill(); - else - return 0; - } - - @Override - public void setFluidFill(int i, FluidType type) { - if(type.name().equals(tanks[0].getTankType().name())) - tanks[0].setFill(i); - else if(type.name().equals(tanks[1].getTankType().name())) - tanks[1].setFill(i); - else if(type.name().equals(tanks[2].getTankType().name())) - tanks[2].setFill(i); - else if(type.name().equals(tanks[3].getTankType().name())) - tanks[3].setFill(i); - } - - @Override - public int getFluidFill(FluidType type) { - if(type.name().equals(tanks[0].getTankType().name())) - return tanks[0].getFill(); - else if(type.name().equals(tanks[1].getTankType().name())) - return tanks[1].getFill(); - else if(type.name().equals(tanks[2].getTankType().name())) - return tanks[2].getFill(); - else if(type.name().equals(tanks[3].getTankType().name())) - return tanks[3].getFill(); - else - return 0; - } - - @Override - public void setFillForSync(int fill, int index) { - if(index < 4 && tanks[index] != null) - tanks[index].setFill(fill); - } - - @Override - public void setTypeForSync(FluidType type, int index) { - if(index < 4 && tanks[index] != null) - tanks[index].setTankType(type); - } - - @Override - public AxisAlignedBB getRenderBoundingBox() { - return TileEntity.INFINITE_EXTENT_AABB; - } - - @Override - @SideOnly(Side.CLIENT) - public double getMaxRenderDistanceSquared() - { - return 65536.0D; - } - - @Override - public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new ContainerAMSBase(player.inventory, this); - } - - @Override - @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new GUIAMSBase(player.inventory, this); - } -} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityAMSEmitter.java b/src/main/java/com/hbm/tileentity/machine/TileEntityAMSEmitter.java deleted file mode 100644 index 3595c47ea..000000000 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityAMSEmitter.java +++ /dev/null @@ -1,425 +0,0 @@ -package com.hbm.tileentity.machine; - -import java.util.Random; - -import com.hbm.explosion.ExplosionLarge; -import com.hbm.interfaces.IFluidAcceptor; -import com.hbm.interfaces.IFluidContainer; -import com.hbm.inventory.container.ContainerAMSEmitter; -import com.hbm.inventory.fluid.FluidType; -import com.hbm.inventory.fluid.Fluids; -import com.hbm.inventory.fluid.tank.FluidTank; -import com.hbm.inventory.gui.GUIAMSEmitter; -import com.hbm.items.ModItems; -import com.hbm.lib.Library; -import com.hbm.packet.AuxElectricityPacket; -import com.hbm.packet.AuxGaugePacket; -import com.hbm.packet.PacketDispatcher; -import com.hbm.tileentity.IGUIProvider; - -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.ISidedInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.World; - -public class TileEntityAMSEmitter extends TileEntity implements ISidedInventory, IFluidContainer, IFluidAcceptor, IGUIProvider { - - private ItemStack slots[]; - - public long power = 0; - public static final long maxPower = 100000000; - public int efficiency = 0; - public static final int maxEfficiency = 100; - public int heat = 0; - public static final int maxHeat = 2500; - public int age = 0; - public int warning = 0; - public boolean locked = false; - public FluidTank tank; - - Random rand = new Random(); - - private static final int[] slots_top = new int[] { 0 }; - private static final int[] slots_bottom = new int[] { 0 }; - private static final int[] slots_side = new int[] { 0 }; - - private String customName; - - public TileEntityAMSEmitter() { - slots = new ItemStack[4]; - tank = new FluidTank(Fluids.COOLANT, 16000, 0); - } - - @Override - public int getSizeInventory() { - return slots.length; - } - - @Override - public ItemStack getStackInSlot(int i) { - return slots[i]; - } - - @Override - public ItemStack getStackInSlotOnClosing(int i) { - if(slots[i] != null) - { - ItemStack itemStack = slots[i]; - slots[i] = null; - return itemStack; - } else { - return null; - } - } - - @Override - public void setInventorySlotContents(int i, ItemStack itemStack) { - slots[i] = itemStack; - if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) - { - itemStack.stackSize = getInventoryStackLimit(); - } - } - - @Override - public String getInventoryName() { - return this.hasCustomInventoryName() ? this.customName : "container.amsEmitter"; - } - - @Override - public boolean hasCustomInventoryName() { - return this.customName != null && this.customName.length() > 0; - } - - public void setCustomName(String name) { - this.customName = name; - } - - @Override - public int getInventoryStackLimit() { - return 64; - } - - @Override - public boolean isUseableByPlayer(EntityPlayer player) { - if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) - { - return false; - }else{ - return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <=128; - } - } - - @Override - public void openInventory() {} - @Override - public void closeInventory() {} - - @Override - public boolean isItemValidForSlot(int i, ItemStack stack) { - - return false; - } - - @Override - public ItemStack decrStackSize(int i, int j) { - if(slots[i] != null) - { - if(slots[i].stackSize <= j) - { - ItemStack itemStack = slots[i]; - slots[i] = null; - return itemStack; - } - ItemStack itemStack1 = slots[i].splitStack(j); - if (slots[i].stackSize == 0) - { - slots[i] = null; - } - - return itemStack1; - } else { - return null; - } - } - - @Override - public void readFromNBT(NBTTagCompound nbt) { - super.readFromNBT(nbt); - NBTTagList list = nbt.getTagList("items", 10); - - power = nbt.getLong("power"); - tank.readFromNBT(nbt, "coolant"); - efficiency = nbt.getInteger("efficiency"); - heat = nbt.getInteger("heat"); - locked = nbt.getBoolean("locked"); - slots = new ItemStack[getSizeInventory()]; - - for(int i = 0; i < list.tagCount(); i++) - { - NBTTagCompound nbt1 = list.getCompoundTagAt(i); - byte b0 = nbt1.getByte("slot"); - if(b0 >= 0 && b0 < slots.length) - { - slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); - } - } - } - - @Override - public void writeToNBT(NBTTagCompound nbt) { - super.writeToNBT(nbt); - nbt.setLong("power", power); - tank.writeToNBT(nbt, "coolant"); - nbt.setInteger("efficiency", efficiency); - nbt.setInteger("heat", heat); - nbt.setBoolean("locked", locked); - NBTTagList list = new NBTTagList(); - - for(int i = 0; i < slots.length; i++) - { - if(slots[i] != null) - { - NBTTagCompound nbt1 = new NBTTagCompound(); - nbt1.setByte("slot", (byte)i); - slots[i].writeToNBT(nbt1); - list.appendTag(nbt1); - } - } - nbt.setTag("items", list); - } - - @Override - public int[] getAccessibleSlotsFromSide(int p_94128_1_) - { - return p_94128_1_ == 0 ? slots_bottom : (p_94128_1_ == 1 ? slots_top : slots_side); - } - - @Override - public boolean canInsertItem(int i, ItemStack itemStack, int j) { - return this.isItemValidForSlot(i, itemStack); - } - - @Override - public boolean canExtractItem(int i, ItemStack itemStack, int j) { - return false; - } - - @Override - public void updateEntity() { - - if (!worldObj.isRemote) { - - if(!locked) { - - tank.setType(0, 1, slots); - tank.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId); - - if(power > 0) { - //" - (maxHeat / 2)" offsets center to 50% instead of 0% - efficiency = Math.round(calcEffect(power, heat - (maxHeat / 2)) * 100); - power -= Math.ceil(power * 0.025); - warning = 0; - } else { - efficiency = 0; - warning = 1; - } - - if(tank.getTankType() == Fluids.CRYOGEL) { - - if(tank.getFill() >= 15) { - if(heat > 0) - tank.setFill(tank.getFill() - 15); - - if(heat <= maxHeat / 2) - if(efficiency > 0) - heat += efficiency; - else - for(int i = 0; i < 10; i++) - if(heat > 0) - heat--; - - for(int i = 0; i < 10; i++) - if(heat > maxHeat / 2) - heat--; - } else { - heat += efficiency; - } - } else if(tank.getTankType() == Fluids.COOLANT) { - - if(tank.getFill() >= 15) { - if(heat > 0) - tank.setFill(tank.getFill() - 15); - - if(heat <= maxHeat / 4) - if(efficiency > 0) - heat += efficiency; - else - for(int i = 0; i < 5; i++) - if(heat > 0) - heat--; - - for(int i = 0; i < 5; i++) - if(heat > maxHeat / 4) - heat--; - } else { - heat += efficiency; - } - } else if(tank.getTankType() == Fluids.WATER) { - - if(tank.getFill() >= 45) { - if(heat > 0) - tank.setFill(tank.getFill() - 45); - - if(heat <= maxHeat * 0.85) - if(efficiency > 0) - heat += efficiency; - else - for(int i = 0; i < 2; i++) - if(heat > 0) - heat--; - - for(int i = 0; i < 2; i++) - if(heat > maxHeat * 0.85) - heat--; - } else { - heat += efficiency; - } - } else { - heat += efficiency; - warning = 2; - } - - if(slots[2] != null) { - if(slots[2].getItem() != ModItems.ams_muzzle) { - this.efficiency = 0; - this.warning = 2; - } - } else { - this.efficiency = 0; - this.warning = 2; - } - - if(tank.getFill() <= 5 || heat > maxHeat * 0.9) - warning = 2; - - if(heat > maxHeat) { - heat = maxHeat; - locked = true; - ExplosionLarge.spawnBurst(worldObj, xCoord + 0.5, yCoord, zCoord + 0.5, 36, 3); - ExplosionLarge.spawnBurst(worldObj, xCoord + 0.5, yCoord, zCoord + 0.5, 36, 2.5); - ExplosionLarge.spawnBurst(worldObj, xCoord + 0.5, yCoord, zCoord + 0.5, 36, 2); - ExplosionLarge.spawnBurst(worldObj, xCoord + 0.5, yCoord, zCoord + 0.5, 36, 1.5); - ExplosionLarge.spawnBurst(worldObj, xCoord + 0.5, yCoord, zCoord + 0.5, 36, 1); - this.worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:entity.oldExplosion", 10.0F, 1); - this.worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:block.shutdown", 10.0F, 1.0F); - } - - power = Library.chargeTEFromItems(slots, 3, power, maxPower); - - } else { - //fire particles n stuff - ExplosionLarge.spawnBurst(worldObj, xCoord + 0.5, yCoord - 0.5, zCoord + 0.5, rand.nextInt(10), 1); - - efficiency = 0; - power = 0; - warning = 3; - } - - tank.setTankType(Fluids.CRYOGEL); - tank.setFill(tank.getMaxFill()); - - PacketDispatcher.wrapper.sendToAllAround(new AuxElectricityPacket(xCoord, yCoord, zCoord, power), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); - PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, locked ? 1 : 0, 0), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 250)); - PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, efficiency, 1), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 250)); - } - } - - private float gauss(float a, float x) { - - //Greater values -> less difference of temperate impact - double amplifier = 0.10; - - return (float) ( (1/Math.sqrt(a * Math.PI)) * Math.pow(Math.E, -1 * Math.pow(x, 2)/amplifier) ); - } - - private float calcEffect(float a, float x) { - return (float) (gauss( 1 / a, x / maxHeat) * Math.sqrt(Math.PI * 2) / (Math.sqrt(2) * Math.sqrt(maxPower))); - } - - public long getPowerScaled(long i) { - return (power * i) / maxPower; - } - - public int getEfficiencyScaled(int i) { - return (efficiency * i) / maxEfficiency; - } - - public int getHeatScaled(int i) { - return (heat * i) / maxHeat; - } - - @Override - public void setFluidFill(int i, FluidType type) { - if(type.name().equals(tank.getTankType().name())) - tank.setFill(i); - } - - @Override - public int getFluidFill(FluidType type) { - if(type.name().equals(tank.getTankType().name())) - return tank.getFill(); - else - return 0; - } - - @Override - public int getMaxFluidFill(FluidType type) { - if(type.name().equals(tank.getTankType().name())) - return tank.getMaxFill(); - else - return 0; - } - - @Override - public void setFillForSync(int fill, int index) { - tank.setFill(fill); - } - - @Override - public void setTypeForSync(FluidType type, int index) { - tank.setTankType(type); - } - - @Override - public AxisAlignedBB getRenderBoundingBox() { - return TileEntity.INFINITE_EXTENT_AABB; - } - - @Override - @SideOnly(Side.CLIENT) - public double getMaxRenderDistanceSquared() - { - return 65536.0D; - } - - @Override - public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new ContainerAMSEmitter(player.inventory, this); - } - - @Override - @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new GUIAMSEmitter(player.inventory, this); - } -} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityAMSLimiter.java b/src/main/java/com/hbm/tileentity/machine/TileEntityAMSLimiter.java deleted file mode 100644 index 2d8163463..000000000 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityAMSLimiter.java +++ /dev/null @@ -1,435 +0,0 @@ -package com.hbm.tileentity.machine; - -import java.util.Random; - -import com.hbm.explosion.ExplosionLarge; -import com.hbm.interfaces.IFluidAcceptor; -import com.hbm.interfaces.IFluidContainer; -import com.hbm.inventory.container.ContainerAMSLimiter; -import com.hbm.inventory.fluid.FluidType; -import com.hbm.inventory.fluid.Fluids; -import com.hbm.inventory.fluid.tank.FluidTank; -import com.hbm.inventory.gui.GUIAMSLimiter; -import com.hbm.items.ModItems; -import com.hbm.lib.Library; -import com.hbm.packet.AuxElectricityPacket; -import com.hbm.packet.AuxGaugePacket; -import com.hbm.packet.PacketDispatcher; -import com.hbm.tileentity.IGUIProvider; -import com.hbm.util.ParticleUtil; - -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.ISidedInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.World; - -public class TileEntityAMSLimiter extends TileEntity implements ISidedInventory, IFluidContainer, IFluidAcceptor, IGUIProvider { - - private ItemStack slots[]; - - public long power = 0; - public static final long maxPower = 10000000; - public int efficiency = 0; - public static final int maxEfficiency = 100; - public int heat = 0; - public static final int maxHeat = 2500; - public int age = 0; - public int warning = 0; - public int mode = 0; - public boolean locked = false; - public FluidTank tank; - - Random rand = new Random(); - - private static final int[] slots_top = new int[] { 0 }; - private static final int[] slots_bottom = new int[] { 0 }; - private static final int[] slots_side = new int[] { 0 }; - - private String customName; - - public TileEntityAMSLimiter() { - slots = new ItemStack[4]; - tank = new FluidTank(Fluids.COOLANT, 8000, 0); - } - - @Override - public int getSizeInventory() { - return slots.length; - } - - @Override - public ItemStack getStackInSlot(int i) { - return slots[i]; - } - - @Override - public ItemStack getStackInSlotOnClosing(int i) { - if(slots[i] != null) - { - ItemStack itemStack = slots[i]; - slots[i] = null; - return itemStack; - } else { - return null; - } - } - - @Override - public void setInventorySlotContents(int i, ItemStack itemStack) { - slots[i] = itemStack; - if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) - { - itemStack.stackSize = getInventoryStackLimit(); - } - } - - @Override - public String getInventoryName() { - return this.hasCustomInventoryName() ? this.customName : "container.amsLimiter"; - } - - @Override - public boolean hasCustomInventoryName() { - return this.customName != null && this.customName.length() > 0; - } - - public void setCustomName(String name) { - this.customName = name; - } - - @Override - public int getInventoryStackLimit() { - return 64; - } - - @Override - public boolean isUseableByPlayer(EntityPlayer player) { - if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) - { - return false; - }else{ - return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <=128; - } - } - - @Override - public void openInventory() {} - @Override - public void closeInventory() {} - - @Override - public boolean isItemValidForSlot(int i, ItemStack stack) { - - return false; - } - - @Override - public ItemStack decrStackSize(int i, int j) { - if(slots[i] != null) - { - if(slots[i].stackSize <= j) - { - ItemStack itemStack = slots[i]; - slots[i] = null; - return itemStack; - } - ItemStack itemStack1 = slots[i].splitStack(j); - if (slots[i].stackSize == 0) - { - slots[i] = null; - } - - return itemStack1; - } else { - return null; - } - } - - @Override - public void readFromNBT(NBTTagCompound nbt) { - super.readFromNBT(nbt); - NBTTagList list = nbt.getTagList("items", 10); - - power = nbt.getLong("power"); - tank.readFromNBT(nbt, "coolant"); - efficiency = nbt.getInteger("efficiency"); - heat = nbt.getInteger("heat"); - locked = nbt.getBoolean("locked"); - slots = new ItemStack[getSizeInventory()]; - - for(int i = 0; i < list.tagCount(); i++) - { - NBTTagCompound nbt1 = list.getCompoundTagAt(i); - byte b0 = nbt1.getByte("slot"); - if(b0 >= 0 && b0 < slots.length) - { - slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); - } - } - } - - @Override - public void writeToNBT(NBTTagCompound nbt) { - super.writeToNBT(nbt); - nbt.setLong("power", power); - tank.writeToNBT(nbt, "coolant"); - nbt.setInteger("efficiency", efficiency); - nbt.setInteger("heat", heat); - nbt.setBoolean("locked", locked); - NBTTagList list = new NBTTagList(); - - for(int i = 0; i < slots.length; i++) - { - if(slots[i] != null) - { - NBTTagCompound nbt1 = new NBTTagCompound(); - nbt1.setByte("slot", (byte)i); - slots[i].writeToNBT(nbt1); - list.appendTag(nbt1); - } - } - nbt.setTag("items", list); - } - - @Override - public int[] getAccessibleSlotsFromSide(int p_94128_1_) - { - return p_94128_1_ == 0 ? slots_bottom : (p_94128_1_ == 1 ? slots_top : slots_side); - } - - @Override - public boolean canInsertItem(int i, ItemStack itemStack, int j) { - return this.isItemValidForSlot(i, itemStack); - } - - @Override - public boolean canExtractItem(int i, ItemStack itemStack, int j) { - return false; - } - - @Override - public void updateEntity() { - - if (!worldObj.isRemote) { - - if(!locked) { - - tank.setType(0, 1, slots); - tank.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId); - - if(power > 0) { - //" - (maxHeat / 2)" offsets center to 50% instead of 0% - efficiency = Math.round(calcEffect(power, heat - (maxHeat / 2)) * 100); - power -= Math.ceil(power * 0.025); - warning = 0; - } else { - efficiency = 0; - warning = 1; - } - - if(tank.getTankType() == Fluids.CRYOGEL) { - - if(tank.getFill() >= 5) { - if(heat > 0) - tank.setFill(tank.getFill() - 5); - - if(heat <= maxHeat / 2) - if(efficiency > 0) - heat += efficiency; - else - for(int i = 0; i < 10; i++) - if(heat > 0) - heat--; - - for(int i = 0; i < 10; i++) - if(heat > maxHeat / 2) - heat--; - } else { - heat += efficiency; - } - } else if(tank.getTankType() == Fluids.COOLANT) { - - if(tank.getFill() >= 5) { - if(heat > 0) - tank.setFill(tank.getFill() - 5); - - if(heat <= maxHeat / 4) - if(efficiency > 0) - heat += efficiency; - else - for(int i = 0; i < 5; i++) - if(heat > 0) - heat--; - - for(int i = 0; i < 5; i++) - if(heat > maxHeat / 4) - heat--; - } else { - heat += efficiency; - } - } else if(tank.getTankType() == Fluids.WATER) { - - if(tank.getFill() >= 15) { - if(heat > 0) - tank.setFill(tank.getFill() - 15); - - if(heat <= maxHeat * 0.85) - if(efficiency > 0) - heat += efficiency; - else - for(int i = 0; i < 2; i++) - if(heat > 0) - heat--; - - for(int i = 0; i < 2; i++) - if(heat > maxHeat * 0.85) - heat--; - } else { - heat += efficiency; - } - } else { - heat += efficiency; - warning = 2; - } - - mode = 0; - if(slots[2] != null) { - if(slots[2].getItem() == ModItems.ams_focus_limiter) - mode = 1; - else if(slots[2].getItem() == ModItems.ams_focus_booster) - mode = 2; - else { - this.efficiency = 0; - this.warning = 2; - } - } else { - this.efficiency = 0; - this.warning = 2; - } - - if(tank.getFill() <= 5 || heat > maxHeat * 0.9) - warning = 2; - - if(heat > maxHeat) { - heat = maxHeat; - locked = true; - ExplosionLarge.spawnShock(worldObj, xCoord + 0.5, yCoord, zCoord + 0.5, 24, 3); - ExplosionLarge.spawnBurst(worldObj, xCoord + 0.5, yCoord, zCoord + 0.5, 24, 3); - this.worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:entity.oldExplosion", 10.0F, 1); - this.worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:block.shutdown", 10.0F, 1.0F); - } - - power = Library.chargeTEFromItems(slots, 3, power, maxPower); - - } else { - //fire particles n stuff - int meta = worldObj.getBlockMetadata(xCoord, yCoord, zCoord); - double pos = rand.nextDouble() * 2.5; - double off = 0.25; - if(meta == 2) ParticleUtil.spawnGasFlame(worldObj, xCoord + 0.5 + off, yCoord + 5.5, zCoord + 0.5 - pos, 0.0, 0.0, 0.0); - if(meta == 3) ParticleUtil.spawnGasFlame(worldObj, xCoord + 0.5 - off, yCoord + 5.5, zCoord + 0.5 + pos, 0.0, 0.0, 0.0); - if(meta == 4) ParticleUtil.spawnGasFlame(worldObj, xCoord + 0.5 - pos, yCoord + 5.5, zCoord + 0.5 - off, 0.0, 0.0, 0.0); - if(meta == 5) ParticleUtil.spawnGasFlame(worldObj, xCoord + 0.5 + pos, yCoord + 5.5, zCoord + 0.5 + off, 0.0, 0.0, 0.0); - - efficiency = 0; - power = 0; - warning = 3; - } - - tank.setTankType(Fluids.CRYOGEL); - tank.setFill(tank.getMaxFill()); - - PacketDispatcher.wrapper.sendToAllAround(new AuxElectricityPacket(xCoord, yCoord, zCoord, power), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); - PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, locked ? 1 : 0, 0), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 250)); - PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, efficiency, 1), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 250)); - } - } - - private float gauss(float a, float x) { - - //Greater values -> less difference of temperate impact - double amplifier = 0.10; - - return (float) ( (1/Math.sqrt(a * Math.PI)) * Math.pow(Math.E, -1 * Math.pow(x, 2)/amplifier) ); - } - - private float calcEffect(float a, float x) { - return (float) (gauss( 1 / a, x / maxHeat) * Math.sqrt(Math.PI * 2) / (Math.sqrt(2) * Math.sqrt(maxPower))); - } - - public long getPowerScaled(long i) { - return (power * i) / maxPower; - } - - public int getEfficiencyScaled(int i) { - return (efficiency * i) / maxEfficiency; - } - - public int getHeatScaled(int i) { - return (heat * i) / maxHeat; - } - - @Override - public void setFluidFill(int i, FluidType type) { - if(type.name().equals(tank.getTankType().name())) - tank.setFill(i); - } - - @Override - public int getFluidFill(FluidType type) { - if(type.name().equals(tank.getTankType().name())) - return tank.getFill(); - else - return 0; - } - - @Override - public int getMaxFluidFill(FluidType type) { - if(type.name().equals(tank.getTankType().name())) - return tank.getMaxFill(); - else - return 0; - } - - @Override - public void setFillForSync(int fill, int index) { - tank.setFill(fill); - } - - @Override - public void setTypeForSync(FluidType type, int index) { - tank.setTankType(type); - } - - @Override - public AxisAlignedBB getRenderBoundingBox() { - return TileEntity.INFINITE_EXTENT_AABB; - } - - @Override - @SideOnly(Side.CLIENT) - public double getMaxRenderDistanceSquared() - { - return 65536.0D; - } - - @Override - public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new ContainerAMSLimiter(player.inventory, this); - } - - @Override - @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new GUIAMSLimiter(player.inventory, this); - } -} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityAshpit.java b/src/main/java/com/hbm/tileentity/machine/TileEntityAshpit.java index cd78eb206..183c48ad6 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityAshpit.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityAshpit.java @@ -109,6 +109,7 @@ public class TileEntityAshpit extends TileEntityMachineBase implements IGUIProvi @Override public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); this.playersUsing = nbt.getInteger("playersUsing"); this.isFull = nbt.getBoolean("isFull"); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCharger.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCharger.java index 9e47668de..e747c3a5d 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCharger.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCharger.java @@ -7,15 +7,15 @@ import java.util.Random; import com.hbm.tileentity.INBTPacketReceiver; import com.hbm.tileentity.TileEntityLoadedBase; -import api.hbm.energy.IBatteryItem; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IBatteryItem; +import api.hbm.energymk2.IEnergyReceiverMK2; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityCharger extends TileEntityLoadedBase implements IEnergyUser, INBTPacketReceiver { +public class TileEntityCharger extends TileEntityLoadedBase implements IEnergyReceiverMK2, INBTPacketReceiver { private List players = new ArrayList(); private long charge = 0; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityChimneyBase.java b/src/main/java/com/hbm/tileentity/machine/TileEntityChimneyBase.java index e01b8352f..08964ccc8 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityChimneyBase.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityChimneyBase.java @@ -85,6 +85,9 @@ public abstract class TileEntityChimneyBase extends TileEntityLoadedBase impleme @Override public long transferFluid(FluidType type, int pressure, long fluid) { + + if(type != Fluids.SMOKE && type != Fluids.SMOKE_LEADED && type != Fluids.SMOKE_POISON) return fluid; + onTicks = 20; if(cpaturesAsh()) ashTick += fluid; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityChimneyBrick.java b/src/main/java/com/hbm/tileentity/machine/TileEntityChimneyBrick.java index 5a95b31ac..c237c9be9 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityChimneyBrick.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityChimneyBrick.java @@ -1,5 +1,7 @@ package com.hbm.tileentity.machine; + +import com.hbm.config.MobConfig; import com.hbm.main.MainRegistry; import cpw.mods.fml.relauncher.Side; @@ -29,7 +31,7 @@ public class TileEntityChimneyBrick extends TileEntityChimneyBase { @Override public double getPollutionMod() { - return 0.25D; + return MobConfig.rampantMode ? MobConfig.rampantSmokeStackOverride : 0.25D; } AxisAlignedBB bb = null; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityChimneyIndustrial.java b/src/main/java/com/hbm/tileentity/machine/TileEntityChimneyIndustrial.java index f5a79dce4..80006caf3 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityChimneyIndustrial.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityChimneyIndustrial.java @@ -1,5 +1,6 @@ package com.hbm.tileentity.machine; +import com.hbm.config.MobConfig; import com.hbm.main.MainRegistry; import cpw.mods.fml.relauncher.Side; @@ -29,7 +30,7 @@ public class TileEntityChimneyIndustrial extends TileEntityChimneyBase { @Override public double getPollutionMod() { - return 0.1D; + return MobConfig.rampantMode ? MobConfig.rampantSmokeStackOverride/2 : 0.1D; } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityChungus.java b/src/main/java/com/hbm/tileentity/machine/TileEntityChungus.java index d1a9abd64..5ae5bc423 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityChungus.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityChungus.java @@ -14,15 +14,19 @@ import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.trait.FT_Coolable; import com.hbm.inventory.fluid.trait.FT_Coolable.CoolingType; import com.hbm.lib.Library; +import com.hbm.main.MainRegistry; import com.hbm.packet.NBTPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.sound.AudioWrapper; import com.hbm.tileentity.INBTPacketReceiver; import com.hbm.tileentity.TileEntityLoadedBase; +import com.hbm.util.CompatEnergyControl; import com.hbm.util.fauxpointtwelve.BlockPos; import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IEnergyGenerator; +import api.hbm.energymk2.IEnergyProviderMK2; import api.hbm.fluid.IFluidStandardTransceiver; +import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.common.Optional; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; @@ -36,7 +40,8 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityChungus extends TileEntityLoadedBase implements IFluidAcceptor, IFluidSource, IEnergyGenerator, INBTPacketReceiver, IFluidStandardTransceiver, SimpleComponent { +@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) +public class TileEntityChungus extends TileEntityLoadedBase implements IFluidAcceptor, IFluidSource, IEnergyProviderMK2, INBTPacketReceiver, IFluidStandardTransceiver, SimpleComponent, IInfoProviderEC { public long power; public static final long maxPower = 100000000000L; @@ -48,12 +53,18 @@ public class TileEntityChungus extends TileEntityLoadedBase implements IFluidAcc public List list2 = new ArrayList(); public FluidTank[] tanks; + protected double[] info = new double[3]; + + private AudioWrapper audio; + private float audioDesync; public TileEntityChungus() { - tanks = new FluidTank[2]; tanks[0] = new FluidTank(Fluids.STEAM, 1000000000, 0); tanks[1] = new FluidTank(Fluids.SPENTSTEAM, 1000000000, 1); + + Random rand = new Random(); + audioDesync = rand.nextFloat() * 0.05F; } @Override @@ -61,6 +72,8 @@ public class TileEntityChungus extends TileEntityLoadedBase implements IFluidAcc if(!worldObj.isRemote) { + this.info = new double[3]; + boolean operational = false; FluidType in = tanks[0].getTankType(); boolean valid = false; @@ -75,6 +88,9 @@ public class TileEntityChungus extends TileEntityLoadedBase implements IFluidAcc tanks[0].setFill(tanks[0].getFill() - ops * trait.amountReq); tanks[1].setFill(tanks[1].getFill() + ops * trait.amountProduced); this.power += (ops * trait.heatEnergy * eff); + info[0] = ops * trait.amountReq; + info[1] = ops * trait.amountProduced; + info[2] = ops * trait.heatEnergy * eff; valid = true; operational = ops > 0; } @@ -84,7 +100,7 @@ public class TileEntityChungus extends TileEntityLoadedBase implements IFluidAcc if(power > maxPower) power = maxPower; ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); - this.sendPower(worldObj, xCoord - dir.offsetX * 11, yCoord, zCoord - dir.offsetZ * 11, dir.getOpposite()); + this.tryProvide(worldObj, xCoord - dir.offsetX * 11, yCoord, zCoord - dir.offsetZ * 11, dir.getOpposite()); for(DirPos pos : this.getConPos()) { this.sendFluid(tanks[1], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); @@ -118,9 +134,9 @@ public class TileEntityChungus extends TileEntityLoadedBase implements IFluidAcc } if(turnTimer > 0) { - - this.fanAcceleration = Math.max(0F, Math.min(25F, this.fanAcceleration += 0.1F)); - + // Fan accelerates with a random offset to ensure the audio doesn't perfectly align, makes for a more pleasant hum + this.fanAcceleration = Math.max(0F, Math.min(25F, this.fanAcceleration += 0.075F + audioDesync)); + Random rand = worldObj.rand; ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); ForgeDirection side = dir.getRotation(ForgeDirection.UP); @@ -132,9 +148,29 @@ public class TileEntityChungus extends TileEntityLoadedBase implements IFluidAcc zCoord + 0.5 + dir.offsetZ * (rand.nextDouble() + 1.25) + rand.nextGaussian() * side.offsetZ * 0.65, -dir.offsetX * 0.2, 0, -dir.offsetZ * 0.2); } - } - if(turnTimer < 0) { + + + if(audio == null) { + audio = MainRegistry.proxy.getLoopedSound("hbm:block.chungusTurbineRunning", xCoord, yCoord, zCoord, 1.0F, 20F, 1.0F); + audio.startSound(); + } + + float turbineSpeed = this.fanAcceleration / 25F; + audio.updateVolume(getVolume(0.5f * turbineSpeed)); + audio.updatePitch(0.25F + 0.75F * turbineSpeed); + } else { this.fanAcceleration = Math.max(0F, Math.min(25F, this.fanAcceleration -= 0.1F)); + + if(audio != null) { + if(this.fanAcceleration > 0) { + float turbineSpeed = this.fanAcceleration / 25F; + audio.updateVolume(getVolume(0.5f * turbineSpeed)); + audio.updatePitch(0.25F + 0.75F * turbineSpeed); + } else { + audio.stopSound(); + audio = null; + } + } } } } @@ -285,6 +321,26 @@ public class TileEntityChungus extends TileEntityLoadedBase implements IFluidAcc public String getComponentName() { return "ntm_turbine"; } + + @Override + public void onChunkUnload() { + super.onChunkUnload(); + + if(audio != null) { + audio.stopSound(); + audio = null; + } + } + + @Override + public void invalidate() { + super.invalidate(); + + if(audio != null) { + audio.stopSound(); + audio = null; + } + } @Callback(direct = true) @Optional.Method(modid = "OpenComputers") @@ -325,4 +381,12 @@ public class TileEntityChungus extends TileEntityLoadedBase implements IFluidAcc public FluidTank[] getAllTanks() { return tanks; } + + @Override + public void provideExtraInfo(NBTTagCompound data) { + data.setBoolean(CompatEnergyControl.B_ACTIVE, info[1] > 0); + data.setDouble(CompatEnergyControl.D_CONSUMPTION_MB, info[0]); + data.setDouble(CompatEnergyControl.D_OUTPUT_MB, info[1]); + data.setDouble(CompatEnergyControl.D_OUTPUT_HE, info[2]); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCondenser.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCondenser.java index 3e4df7177..2a13a059a 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCondenser.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCondenser.java @@ -1,35 +1,29 @@ package com.hbm.tileentity.machine; -import java.util.ArrayList; -import java.util.List; - -import com.hbm.interfaces.IFluidAcceptor; -import com.hbm.interfaces.IFluidSource; -import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; -import com.hbm.lib.Library; import com.hbm.saveddata.TomSaveData; import com.hbm.tileentity.INBTPacketReceiver; import com.hbm.tileentity.TileEntityLoadedBase; +import com.hbm.util.CompatEnergyControl; import api.hbm.fluid.IFluidStandardTransceiver; +import api.hbm.tile.IInfoProviderEC; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.EnumSkyBlock; -import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityCondenser extends TileEntityLoadedBase implements IFluidAcceptor, IFluidSource, IFluidStandardTransceiver, INBTPacketReceiver { +public class TileEntityCondenser extends TileEntityLoadedBase implements IFluidStandardTransceiver, INBTPacketReceiver, IInfoProviderEC { public int age = 0; public FluidTank[] tanks; - public List list = new ArrayList(); public int waterTimer = 0; + protected int throughput; public TileEntityCondenser() { tanks = new FluidTank[2]; - tanks[0] = new FluidTank(Fluids.SPENTSTEAM, 100, 0); - tanks[1] = new FluidTank(Fluids.WATER, 100, 1); + tanks[0] = new FluidTank(Fluids.SPENTSTEAM, 100); + tanks[1] = new FluidTank(Fluids.WATER, 100); } @Override @@ -49,6 +43,8 @@ public class TileEntityCondenser extends TileEntityLoadedBase implements IFluidA this.waterTimer--; int convert = Math.min(tanks[0].getFill(), tanks[1].getMaxFill() - tanks[1].getFill()); + this.throughput = convert; + if(extraCondition(convert)) { tanks[0].setFill(tanks[0].getFill() - convert); @@ -71,7 +67,6 @@ public class TileEntityCondenser extends TileEntityLoadedBase implements IFluidA this.subscribeToAllAround(tanks[0].getTankType(), this); this.sendFluidToAll(tanks[1], this); - fillFluidInit(tanks[1].getTankType()); data.setByte("timer", (byte) this.waterTimer); packExtra(data); INBTPacketReceiver.networkPack(this, data, 150); @@ -103,76 +98,6 @@ public class TileEntityCondenser extends TileEntityLoadedBase implements IFluidA tanks[1].writeToNBT(nbt, "steam"); } - @Override - public void fillFluidInit(FluidType type) { - - for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) - fillFluid(xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, getTact(), type); - } - - @Override - public void fillFluid(int x, int y, int z, boolean newTact, FluidType type) { - Library.transmitFluid(x, y, z, newTact, this, worldObj, type); - } - - @Override - public boolean getTact() { - if(age == 0) - { - return true; - } - - return false; - } - - @Override - public void setFluidFill(int i, FluidType type) { - if(type.name().equals(tanks[0].getTankType().name())) - tanks[0].setFill(i); - else if(type.name().equals(tanks[1].getTankType().name())) - tanks[1].setFill(i); - } - - @Override - public int getFluidFill(FluidType type) { - if(type.name().equals(tanks[0].getTankType().name())) - return tanks[0].getFill(); - else if(type.name().equals(tanks[1].getTankType().name())) - return tanks[1].getFill(); - - return 0; - } - - @Override - public int getMaxFluidFill(FluidType type) { - if(type.name().equals(tanks[0].getTankType().name())) - return tanks[0].getMaxFill(); - - return 0; - } - - @Override - public void setFillForSync(int fill, int index) { - if(index < 2 && tanks[index] != null) - tanks[index].setFill(fill); - } - - @Override - public void setTypeForSync(FluidType type, int index) { - if(index < 2 && tanks[index] != null) - tanks[index].setTankType(type); - } - - @Override - public List getFluidList(FluidType type) { - return list; - } - - @Override - public void clearFluidList(FluidType type) { - list.clear(); - } - @Override public FluidTank[] getSendingTanks() { return new FluidTank[] {tanks [1]}; @@ -187,4 +112,10 @@ public class TileEntityCondenser extends TileEntityLoadedBase implements IFluidA public FluidTank[] getAllTanks() { return tanks; } + + @Override + public void provideExtraInfo(NBTTagCompound data) { + data.setDouble(CompatEnergyControl.D_CONSUMPTION_MB, throughput); + data.setDouble(CompatEnergyControl.D_OUTPUT_MB, throughput); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCondenserPowered.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCondenserPowered.java index 7bd58cf0a..65fa15e19 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCondenserPowered.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCondenserPowered.java @@ -5,7 +5,7 @@ import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.nbt.NBTTagCompound; @@ -13,7 +13,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityCondenserPowered extends TileEntityCondenser implements IEnergyUser { +public class TileEntityCondenserPowered extends TileEntityCondenser implements IEnergyReceiverMK2 { public long power; public static final long maxPower = 10_000_000; @@ -22,8 +22,8 @@ public class TileEntityCondenserPowered extends TileEntityCondenser implements I public TileEntityCondenserPowered() { tanks = new FluidTank[2]; - tanks[0] = new FluidTank(Fluids.SPENTSTEAM, 100_000); - tanks[1] = new FluidTank(Fluids.WATER, 100_000); + tanks[0] = new FluidTank(Fluids.SPENTSTEAM, 1_000_000); + tanks[1] = new FluidTank(Fluids.WATER, 1_000_000); } @Override @@ -91,8 +91,6 @@ public class TileEntityCondenserPowered extends TileEntityCondenser implements I tanks[1].writeToNBT(nbt, "steam"); } - @Deprecated @Override public void fillFluidInit(FluidType type) { } - @Override public void subscribeToAllAround(FluidType type, TileEntity te) { for(DirPos pos : getConPos()) { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityConveyorPress.java b/src/main/java/com/hbm/tileentity/machine/TileEntityConveyorPress.java index c4f7eaf9f..418c9932c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityConveyorPress.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityConveyorPress.java @@ -9,7 +9,7 @@ import com.hbm.lib.Library; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.item.ItemStack; @@ -17,7 +17,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityConveyorPress extends TileEntityMachineBase implements IEnergyUser { +public class TileEntityConveyorPress extends TileEntityMachineBase implements IEnergyReceiverMK2 { public int usage = 100; public long power = 0; @@ -163,7 +163,7 @@ public class TileEntityConveyorPress extends TileEntityMachineBase implements IE } } - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.pressOperate", 1.5F, 1.0F); + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.pressOperate", getVolume(1.5F), 1.0F); if(slots[0].getMaxDamage() != 0) { slots[0].setItemDamage(slots[0].getItemDamage() + 1); @@ -180,6 +180,7 @@ public class TileEntityConveyorPress extends TileEntityMachineBase implements IE @Override public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); this.power = nbt.getLong("power"); this.syncPress = nbt.getInteger("press"); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCore.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCore.java index 24817d855..13c6a2036 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCore.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCore.java @@ -21,7 +21,9 @@ import com.hbm.lib.ModDamageSource; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.ArmorUtil; +import com.hbm.util.CompatEnergyControl; +import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.GuiScreen; @@ -33,7 +35,7 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.Vec3; import net.minecraft.world.World; -public class TileEntityCore extends TileEntityMachineBase implements IGUIProvider { +public class TileEntityCore extends TileEntityMachineBase implements IGUIProvider, IInfoProviderEC { public int field; public int heat; @@ -41,6 +43,8 @@ public class TileEntityCore extends TileEntityMachineBase implements IGUIProvide public FluidTank[] tanks; private boolean lastTickValid = false; public boolean meltdownTick = false; + protected int consumption; + protected int prevConsumption; public TileEntityCore() { super(3); @@ -59,6 +63,9 @@ public class TileEntityCore extends TileEntityMachineBase implements IGUIProvide if(!worldObj.isRemote) { + this.prevConsumption = this.consumption; + this.consumption = 0; + int chunkX = xCoord >> 4; int chunkZ = zCoord >> 4; @@ -156,8 +163,9 @@ public class TileEntityCore extends TileEntityMachineBase implements IGUIProvide } } - + public void networkUnpack(NBTTagCompound data) { + super.networkUnpack(data); tanks[0].setTankType(Fluids.fromID(data.getInteger("tank0"))); tanks[1].setTankType(Fluids.fromID(data.getInteger("tank1"))); @@ -230,6 +238,8 @@ public class TileEntityCore extends TileEntityMachineBase implements IGUIProvide if(tanks[0].getFill() < demand || tanks[1].getFill() < demand) return joules; + this.consumption += demand; + heat += (int)Math.ceil((double)joules / 10000D); tanks[0].setFill(tanks[0].getFill() - demand); @@ -354,4 +364,9 @@ public class TileEntityCore extends TileEntityMachineBase implements IGUIProvide public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUICore(player.inventory, this); } + + @Override + public void provideExtraInfo(NBTTagCompound data) { + data.setDouble(CompatEnergyControl.D_CONSUMPTION_MB, this.prevConsumption); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java index 92a83d81b..ff1278e52 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java @@ -1,8 +1,10 @@ package com.hbm.tileentity.machine; import api.hbm.block.ILaserable; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardReceiver; +import api.hbm.tile.IInfoProviderEC; + import com.hbm.inventory.container.ContainerCoreEmitter; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; @@ -10,6 +12,8 @@ import com.hbm.inventory.gui.GUICoreEmitter; import com.hbm.lib.ModDamageSource; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.CompatEnergyControl; + import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -33,7 +37,7 @@ import net.minecraftforge.common.util.ForgeDirection; import java.util.List; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityCoreEmitter extends TileEntityMachineBase implements IEnergyUser, ILaserable, IFluidStandardReceiver, SimpleComponent, IGUIProvider { +public class TileEntityCoreEmitter extends TileEntityMachineBase implements IEnergyReceiverMK2, ILaserable, IFluidStandardReceiver, SimpleComponent, IGUIProvider, IInfoProviderEC { public long power; public static final long maxPower = 1000000000L; @@ -60,8 +64,7 @@ public class TileEntityCoreEmitter extends TileEntityMachineBase implements IEne public void updateEntity() { if (!worldObj.isRemote) { - - this.updateStandardConnections(worldObj, xCoord, yCoord, zCoord); + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); this.subscribeToAllAround(tank.getTankType(), this); watts = MathHelper.clamp_int(watts, 1, 100); @@ -177,6 +180,7 @@ public class TileEntityCoreEmitter extends TileEntityMachineBase implements IEne } public void networkUnpack(NBTTagCompound data) { + super.networkUnpack(data); power = data.getLong("power"); watts = data.getInteger("watts"); @@ -329,4 +333,10 @@ public class TileEntityCoreEmitter extends TileEntityMachineBase implements IEne public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUICoreEmitter(player.inventory, this); } + + @Override + public void provideExtraInfo(NBTTagCompound data) { + data.setDouble(CompatEnergyControl.D_CONSUMPTION_MB, joules > 0 || prev > 0 ? 20 : 0); + data.setDouble(CompatEnergyControl.D_CONSUMPTION_HE, maxPower * watts / 2000); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java index b0fb0c484..e5862e2ab 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java @@ -110,8 +110,9 @@ public class TileEntityCoreInjector extends TileEntityMachineBase implements IFl this.networkPack(data, 250); } } - + public void networkUnpack(NBTTagCompound data) { + super.networkUnpack(data); beam = data.getInteger("beam"); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java index c3fbf28d6..54ca9de4c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java @@ -8,10 +8,12 @@ import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.gui.GUICoreReceiver; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.CompatEnergyControl; import api.hbm.block.ILaserable; -import api.hbm.energy.IEnergyGenerator; +import api.hbm.energymk2.IEnergyProviderMK2; import api.hbm.fluid.IFluidStandardReceiver; +import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -30,7 +32,7 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEnergyGenerator, IFluidAcceptor, ILaserable, IFluidStandardReceiver, SimpleComponent, IGUIProvider { +public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEnergyProviderMK2, IFluidAcceptor, ILaserable, IFluidStandardReceiver, SimpleComponent, IGUIProvider, IInfoProviderEC { public long power; public long joules; @@ -57,7 +59,7 @@ public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEn power = joules * 5000; for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) - this.sendPower(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); + this.tryProvide(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); if(joules > 0) { @@ -78,6 +80,7 @@ public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEn } public void networkUnpack(NBTTagCompound data) { + super.networkUnpack(data); joules = data.getLong("joules"); } @@ -98,7 +101,7 @@ public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEn @Override public long getMaxPower() { - return 0; + return this.power; } @Override @@ -152,8 +155,7 @@ public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEn @Override @SideOnly(Side.CLIENT) - public double getMaxRenderDistanceSquared() - { + public double getMaxRenderDistanceSquared() { return 65536.0D; } @@ -219,4 +221,10 @@ public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEn public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUICoreReceiver(player.inventory, this); } + + @Override + public void provideExtraInfo(NBTTagCompound data) { + data.setDouble(CompatEnergyControl.D_CONSUMPTION_MB, joules > 0 ? 20 : 0); + data.setDouble(CompatEnergyControl.D_OUTPUT_HE, joules * 5000); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java index 6e6413032..50564fb48 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java @@ -6,8 +6,10 @@ import com.hbm.items.ModItems; import com.hbm.items.machine.ItemLens; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.CompatEnergyControl; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; +import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -26,7 +28,7 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityCoreStabilizer extends TileEntityMachineBase implements IEnergyUser, SimpleComponent, IGUIProvider { +public class TileEntityCoreStabilizer extends TileEntityMachineBase implements IEnergyReceiverMK2, SimpleComponent, IGUIProvider, IInfoProviderEC { public long power; public static final long maxPower = 2500000000L; @@ -105,6 +107,7 @@ public class TileEntityCoreStabilizer extends TileEntityMachineBase implements I } public void networkUnpack(NBTTagCompound data) { + super.networkUnpack(data); power = data.getLong("power"); watts = data.getInteger("watts"); @@ -223,4 +226,15 @@ public class TileEntityCoreStabilizer extends TileEntityMachineBase implements I public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUICoreStabilizer(player.inventory, this); } + + @Override + public void provideExtraInfo(NBTTagCompound data) { + int demand = (int) Math.pow(watts, 4); + long damage = ItemLens.getLensDamage(slots[0]); + ItemLens lens = (ItemLens) com.hbm.items.ModItems.ams_lens; + if(getPower() >= demand && slots[0] != null && slots[0].getItem() == lens && damage < 432000000L) + data.setDouble(CompatEnergyControl.D_CONSUMPTION_HE, demand); + else + data.setDouble(CompatEnergyControl.D_CONSUMPTION_HE, 0); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCrucible.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCrucible.java index a6ee9501c..7894a916c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCrucible.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCrucible.java @@ -158,7 +158,7 @@ public class TileEntityCrucible extends TileEntityMachineBase implements IGUIPro ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset).getOpposite(); Vec3 impact = Vec3.createVectorHelper(0, 0, 0); - MaterialStack didPour = CrucibleUtil.pourFullStack(worldObj, xCoord + 0.5D + dir.offsetX * 1.875D, yCoord + 0.25D, zCoord + 0.5D + dir.offsetZ * 1.875D, 6, true, this.wasteStack, MaterialShapes.NUGGET.q(2), impact); + MaterialStack didPour = CrucibleUtil.pourFullStack(worldObj, xCoord + 0.5D + dir.offsetX * 1.875D, yCoord + 0.25D, zCoord + 0.5D + dir.offsetZ * 1.875D, 6, true, this.wasteStack, MaterialShapes.NUGGET.q(3), impact); if(didPour != null) { NBTTagCompound data = new NBTTagCompound(); @@ -198,7 +198,7 @@ public class TileEntityCrucible extends TileEntityMachineBase implements IGUIPro } Vec3 impact = Vec3.createVectorHelper(0, 0, 0); - MaterialStack didPour = CrucibleUtil.pourFullStack(worldObj, xCoord + 0.5D + dir.offsetX * 1.875D, yCoord + 0.25D, zCoord + 0.5D + dir.offsetZ * 1.875D, 6, true, toCast, MaterialShapes.NUGGET.q(2), impact); + MaterialStack didPour = CrucibleUtil.pourFullStack(worldObj, xCoord + 0.5D + dir.offsetX * 1.875D, yCoord + 0.25D, zCoord + 0.5D + dir.offsetZ * 1.875D, 6, true, toCast, MaterialShapes.NUGGET.q(3), impact); if(didPour != null) { NBTTagCompound data = new NBTTagCompound(); @@ -235,6 +235,7 @@ public class TileEntityCrucible extends TileEntityMachineBase implements IGUIPro @Override public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); this.recipeStack.clear(); this.wasteStack.clear(); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCustomMachine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCustomMachine.java index 9c906623d..afc3b4d8e 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCustomMachine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCustomMachine.java @@ -3,9 +3,14 @@ package com.hbm.tileentity.machine; import java.util.ArrayList; import java.util.List; +import api.hbm.tile.IHeatSource; +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.machine.ReactorResearch; import com.hbm.config.CustomMachineConfigJSON; import com.hbm.config.CustomMachineConfigJSON.MachineConfiguration; import com.hbm.config.CustomMachineConfigJSON.MachineConfiguration.ComponentDefinition; +import com.hbm.handler.pollution.PollutionHandler; +import com.hbm.handler.radiation.ChunkRadiationManager; import com.hbm.inventory.container.ContainerMachineCustom; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; @@ -15,13 +20,14 @@ import com.hbm.inventory.recipes.CustomMachineRecipes.CustomMachineRecipe; import com.hbm.lib.Library; import com.hbm.module.ModulePatternMatcher; import com.hbm.tileentity.IGUIProvider; -import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.tileentity.TileEntityMachinePolluting; import com.hbm.tileentity.TileEntityProxyBase; import com.hbm.util.Compat; import com.hbm.util.fauxpointtwelve.BlockPos; import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyProviderMK2; +import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -35,12 +41,15 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityCustomMachine extends TileEntityMachineBase implements IFluidStandardTransceiver, IEnergyUser, IGUIProvider { - +public class TileEntityCustomMachine extends TileEntityMachinePolluting implements IFluidStandardTransceiver, IEnergyProviderMK2, IEnergyReceiverMK2, IGUIProvider { + public String machineType; public MachineConfiguration config; - + public long power; + public int flux; + public int heat; + public int maxHeat; public int progress; public int maxProgress = 1; public FluidTank[] inputTanks; @@ -49,8 +58,10 @@ public class TileEntityCustomMachine extends TileEntityMachineBase implements IF public int structureCheckDelay; public boolean structureOK = false; public CustomMachineRecipe cachedRecipe; - + public List connectionPos = new ArrayList(); + public List fluxPos = new ArrayList(); + public List heatPos = new ArrayList(); public TileEntityCustomMachine() { /* @@ -60,22 +71,26 @@ public class TileEntityCustomMachine extends TileEntityMachineBase implements IF * 10-15: Template * 16-21: Output */ - super(22); + super(22, 100); } - + public void init() { MachineConfiguration config = CustomMachineConfigJSON.customMachines.get(this.machineType); - - if(config != null) { + + if (config != null) { this.config = config; inputTanks = new FluidTank[config.fluidInCount]; - for(int i = 0; i < inputTanks.length; i++) inputTanks[i] = new FluidTank(Fluids.NONE, config.fluidInCap); + for (int i = 0; i < inputTanks.length; i++) inputTanks[i] = new FluidTank(Fluids.NONE, config.fluidInCap); outputTanks = new FluidTank[config.fluidOutCount]; - for(int i = 0; i < outputTanks.length; i++) outputTanks[i] = new FluidTank(Fluids.NONE, config.fluidOutCap); - + for (int i = 0; i < outputTanks.length; i++) + outputTanks[i] = new FluidTank(Fluids.NONE, config.fluidOutCap); + maxHeat = config.maxHeat; matcher = new ModulePatternMatcher(config.itemInCount); - + smoke.changeTankSize(config.maxPollutionCap); + smoke_leaded.changeTankSize(config.maxPollutionCap); + smoke_poison.changeTankSize(config.maxPollutionCap); + } else { worldObj.func_147480_a(xCoord, yCoord, zCoord, false); } @@ -88,75 +103,112 @@ public class TileEntityCustomMachine extends TileEntityMachineBase implements IF @Override public void updateEntity() { - - if(!worldObj.isRemote) { - - if(config == null) { + + if (!worldObj.isRemote) { + + if (config == null) { worldObj.func_147480_a(xCoord, yCoord, zCoord, false); return; } this.power = Library.chargeTEFromItems(slots, 0, power, this.config.maxPower); - - if(this.inputTanks.length > 0) this.inputTanks[0].setType(1, slots); - if(this.inputTanks.length > 1) this.inputTanks[1].setType(2, slots); - if(this.inputTanks.length > 2) this.inputTanks[2].setType(3, slots); - + + if (this.inputTanks.length > 0) this.inputTanks[0].setType(1, slots); + if (this.inputTanks.length > 1) this.inputTanks[1].setType(2, slots); + if (this.inputTanks.length > 2) this.inputTanks[2].setType(3, slots); + this.structureCheckDelay--; - if(this.structureCheckDelay <= 0) this.checkStructure(); - - if(this.worldObj.getTotalWorldTime() % 20 == 0) { - for(DirPos pos : this.connectionPos) { - for(FluidTank tank : this.inputTanks) { + if (this.structureCheckDelay <= 0) this.checkStructure(); + + if (this.worldObj.getTotalWorldTime() % 20 == 0) { + for (DirPos pos : this.connectionPos) { + for (FluidTank tank : this.inputTanks) { this.trySubscribe(tank.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } - if(!config.generatorMode) this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + if (!config.generatorMode) + this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + } + for (byte d = 2; d < 6; d++) { + ForgeDirection dir = ForgeDirection.getOrientation(d); + for (DirPos pos : this.fluxPos) { + Block b = worldObj.getBlock(pos.getX() + dir.offsetX, pos.getY(), pos.getZ() + dir.offsetZ); + if (b == ModBlocks.reactor_research) { + int[] source = ((ReactorResearch) ModBlocks.reactor_research).findCore(worldObj, pos.getX() + dir.offsetX, pos.getY(), pos.getZ() + dir.offsetZ); + if (source != null) { + + TileEntity tile = worldObj.getTileEntity(source[0], source[1], source[2]); + + if (tile instanceof TileEntityReactorResearch) { + + TileEntityReactorResearch reactor = (TileEntityReactorResearch) tile; + this.flux = reactor.totalFlux; + } + } + } + } + if(config.maxHeat>0){ + for (DirPos pos : this.heatPos){ + this.tryPullHeat(pos.getX() + dir.offsetX, pos.getY()-1, pos.getZ() + dir.offsetZ); + } + } } } - - for(DirPos pos : this.connectionPos) { - if(config.generatorMode && power > 0) this.sendPower(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); - for(FluidTank tank : this.outputTanks) if(tank.getFill() > 0) this.sendFluid(tank, worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + + for (DirPos pos : this.connectionPos) { + if (config.generatorMode && power > 0) + this.tryProvide(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + for (FluidTank tank : this.outputTanks) + if (tank.getFill() > 0) + this.sendFluid(tank, worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + this.sendSmoke(pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } - - if(this.structureOK) { - - if(config.generatorMode) { - if(this.cachedRecipe == null) { + + if (this.structureOK) { + + if (config.generatorMode) { + if (this.cachedRecipe == null) { CustomMachineRecipe recipe = this.getMatchingRecipe(); - if(recipe != null && this.hasRequiredQuantities(recipe) && this.hasSpace(recipe)) { + if (recipe != null && this.hasRequiredQuantities(recipe) && this.hasSpace(recipe)) { this.cachedRecipe = recipe; this.useUpInput(recipe); } } - - if(this.cachedRecipe != null) { + + if (this.cachedRecipe != null) { this.maxProgress = (int) Math.max(cachedRecipe.duration / this.config.recipeSpeedMult, 1); int powerReq = (int) Math.max(cachedRecipe.consumptionPerTick * this.config.recipeConsumptionMult, 1); - + this.progress++; this.power += powerReq; - if(power > config.maxPower) power = config.maxPower; - - if(progress >= this.maxProgress) { + this.heat -= cachedRecipe.heat; + if (power > config.maxPower) power = config.maxPower; + if (worldObj.getTotalWorldTime() % 20 == 0) { + pollution(cachedRecipe); + radiation(cachedRecipe); + } + if (progress >= this.maxProgress) { this.progress = 0; this.processRecipe(cachedRecipe); this.cachedRecipe = null; } } - + } else { CustomMachineRecipe recipe = this.getMatchingRecipe(); - - if(recipe != null) { + + if (recipe != null) { this.maxProgress = (int) Math.max(recipe.duration / this.config.recipeSpeedMult, 1); int powerReq = (int) Math.max(recipe.consumptionPerTick * this.config.recipeConsumptionMult, 1); - - if(this.power >= powerReq && this.hasRequiredQuantities(recipe) && this.hasSpace(recipe)) { + + if (this.power >= powerReq && this.hasRequiredQuantities(recipe) && this.hasSpace(recipe)) { this.progress++; this.power -= powerReq; - - if(progress >= this.maxProgress) { + this.heat -= recipe.heat; + if (worldObj.getTotalWorldTime() % 20 == 0) { + pollution(recipe); + radiation(recipe); + } + if (progress >= this.maxProgress) { this.progress = 0; this.useUpInput(recipe); this.processRecipe(recipe); @@ -169,89 +221,125 @@ public class TileEntityCustomMachine extends TileEntityMachineBase implements IF } else { this.progress = 0; } - + NBTTagCompound data = new NBTTagCompound(); data.setString("type", this.machineType); data.setLong("power", power); data.setBoolean("structureOK", structureOK); + data.setInteger("flux", flux); + data.setInteger("heat", heat); data.setInteger("progress", progress); data.setInteger("maxProgress", maxProgress); - for(int i = 0; i < inputTanks.length; i++) inputTanks[i].writeToNBT(data, "i" + i); - for(int i = 0; i < outputTanks.length; i++) outputTanks[i].writeToNBT(data, "o" + i); + for (int i = 0; i < inputTanks.length; i++) inputTanks[i].writeToNBT(data, "i" + i); + for (int i = 0; i < outputTanks.length; i++) outputTanks[i].writeToNBT(data, "o" + i); this.matcher.writeToNBT(data); this.networkPack(data, 50); } + } - + /** Only accepts inputs in a fixed order, saves a ton of performance because there's no permutations to check for */ public CustomMachineRecipe getMatchingRecipe() { List recipes = CustomMachineRecipes.recipes.get(this.config.recipeKey); if(recipes == null || recipes.isEmpty()) return null; - + outer: for(CustomMachineRecipe recipe : recipes) { for(int i = 0; i < recipe.inputFluids.length; i++) { if(this.inputTanks[i].getTankType() != recipe.inputFluids[i].type || this.inputTanks[i].getPressure() != recipe.inputFluids[i].pressure) continue outer; } - + for(int i = 0; i < recipe.inputItems.length; i++) { if(recipe.inputItems[i] != null && slots[i + 4] == null) continue outer; if(!recipe.inputItems[i].matchesRecipe(slots[i + 4], true)) continue outer; } - + return recipe; } - + return null; } - + public void pollution(CustomMachineRecipe recipe) { + if(recipe.pollutionAmount > 0) { + this.pollute(PollutionHandler.PollutionType.valueOf(recipe.pollutionType), recipe.pollutionAmount); + } else if(recipe.pollutionAmount < 0 && PollutionHandler.getPollution(worldObj, xCoord, yCoord, zCoord, PollutionHandler.PollutionType.valueOf(recipe.pollutionType)) >= -recipe.pollutionAmount) { + PollutionHandler.decrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionHandler.PollutionType.valueOf(recipe.pollutionType), -recipe.pollutionAmount); + } + } + public void radiation(CustomMachineRecipe recipe){ + if(recipe.radiationAmount > 0) { + ChunkRadiationManager.proxy.incrementRad(worldObj, xCoord, yCoord, zCoord, recipe.radiationAmount); + } else if (recipe.radiationAmount < 0) { + ChunkRadiationManager.proxy.decrementRad(worldObj, xCoord, yCoord, zCoord, -recipe.radiationAmount); + } + } + protected void tryPullHeat(int x, int y, int z) { + TileEntity con = worldObj.getTileEntity(x, y, z); + + if(con instanceof IHeatSource) { + IHeatSource source = (IHeatSource) con; + int diff = source.getHeatStored() - this.heat; + + if(diff == 0) { + return; + } + + if(diff > 0) { + source.useUpHeat(diff); + this.heat += diff; + if(this.heat > this.maxHeat) + this.heat = this.maxHeat; + } + } + } public boolean hasRequiredQuantities(CustomMachineRecipe recipe) { - + for(int i = 0; i < recipe.inputFluids.length; i++) { if(this.inputTanks[i].getFill() < recipe.inputFluids[i].fill) return false; } - + for(int i = 0; i < recipe.inputItems.length; i++) { if(slots[i + 4] != null && slots[i + 4].stackSize < recipe.inputItems[i].stacksize) return false; } - + if(config.fluxMode ? this.flux < recipe.flux : false) return false; + if(config.maxHeat>0 && recipe.heat>0 ? this.heat < recipe.heat : false) return false; return true; } - + public boolean hasSpace(CustomMachineRecipe recipe) { - + for(int i = 0; i < recipe.outputFluids.length; i++) { if(this.outputTanks[i].getTankType() == recipe.outputFluids[i].type && this.outputTanks[i].getFill() + recipe.outputFluids[i].fill > this.outputTanks[i].getMaxFill()) return false; } - + for(int i = 0; i < recipe.outputItems.length; i++) { if(slots[i + 16] != null && (slots[i + 16].getItem() != recipe.outputItems[i].key.getItem() || slots[i + 16].getItemDamage() != recipe.outputItems[i].key.getItemDamage())) return false; if(slots[i + 16] != null && slots[16 + i].stackSize + recipe.outputItems[i].key.stackSize > slots[i + 16].getMaxStackSize()) return false; } - + return true; } - + public void useUpInput(CustomMachineRecipe recipe) { - + for(int i = 0; i < recipe.inputFluids.length; i++) { this.inputTanks[i].setFill(this.inputTanks[i].getFill() - recipe.inputFluids[i].fill); } - + for(int i = 0; i < recipe.inputItems.length; i++) { this.decrStackSize(i + 4, recipe.inputItems[i].stacksize); } } - + public void processRecipe(CustomMachineRecipe recipe) { - + for(int i = 0; i < recipe.outputFluids.length; i++) { if(this.outputTanks[i].getTankType() != recipe.outputFluids[i].type) this.outputTanks[i].setTankType(recipe.outputFluids[i].type); this.outputTanks[i].setFill(this.outputTanks[i].getFill() + recipe.outputFluids[i].fill); } - + for(int i = 0; i < recipe.outputItems.length; i++) { - + if(worldObj.rand.nextFloat() < recipe.outputItems[i].value) { if(slots[i + 16] == null) { slots[i + 16] = recipe.outputItems[i].key.copy(); @@ -261,19 +349,18 @@ public class TileEntityCustomMachine extends TileEntityMachineBase implements IF } } } - + public boolean checkStructure() { - + this.connectionPos.clear(); this.structureCheckDelay = 300; this.structureOK = false; if(this.config == null) return false; - + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - for(ComponentDefinition comp : config.components) { - + /* vvv precisely the same method used for defining ports vvv */ int x = xCoord - dir.offsetX * comp.x + rot.offsetX * comp.x; int y = yCoord + comp.y; @@ -285,42 +372,52 @@ public class TileEntityCustomMachine extends TileEntityMachineBase implements IF z = zCoord + dir.offsetX * comp.x - rot.offsetX * comp.x; } /* i wholeheartedly believe it is the computer who is wrong here */ - + Block b = worldObj.getBlock(x, y, z); if(b != comp.block) return false; - + int meta = worldObj.getBlockMetadata(x, y, z); if(!comp.allowedMetas.contains(meta)) return false; - + TileEntity tile = Compat.getTileStandard(worldObj, x, y, z); if(tile instanceof TileEntityProxyBase) { TileEntityProxyBase proxy = (TileEntityProxyBase) tile; proxy.cachedPosition = new BlockPos(xCoord, yCoord, zCoord); proxy.markDirty(); - + for(ForgeDirection facing : ForgeDirection.VALID_DIRECTIONS) { this.connectionPos.add(new DirPos(x + facing.offsetX, y + facing.offsetY, z + facing.offsetZ, facing)); } } + if(worldObj.getBlock(x,y,z) == ModBlocks.cm_flux){ + for(ForgeDirection facing : ForgeDirection.VALID_DIRECTIONS) { + this.fluxPos.add(new DirPos(x + facing.offsetX, y + facing.offsetY, z + facing.offsetZ, facing)); + } + } + else if(worldObj.getBlock(x,y,z) == ModBlocks.cm_heat){ + for(ForgeDirection facing : ForgeDirection.VALID_DIRECTIONS) { + this.heatPos.add(new DirPos(x + facing.offsetX, y + facing.offsetY, z + facing.offsetZ, facing)); + } + } + } - for(ForgeDirection facing : ForgeDirection.VALID_DIRECTIONS) { this.connectionPos.add(new DirPos(xCoord + facing.offsetX, yCoord + facing.offsetY, zCoord + facing.offsetZ, facing)); } - + this.structureOK = true; return true; } - + public void buildStructure() { - + if(this.config == null) return; - + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - + for(ComponentDefinition comp : config.components) { - + int x = xCoord - dir.offsetX * comp.x + rot.offsetX * comp.x; int y = yCoord + comp.y; int z = zCoord - dir.offsetZ * comp.z + rot.offsetZ * comp.z; @@ -328,7 +425,7 @@ public class TileEntityCustomMachine extends TileEntityMachineBase implements IF x = xCoord + dir.offsetZ * comp.z - rot.offsetZ * comp.z; z = zCoord + dir.offsetX * comp.x - rot.offsetX * comp.x; } - + worldObj.setBlock(x, y, z, comp.block, (int) comp.allowedMetas.toArray()[0], 3); } } @@ -342,7 +439,7 @@ public class TileEntityCustomMachine extends TileEntityMachineBase implements IF if(this.config.itemInCount > 2) return new int[] { 4, 5, 6, 16, 17, 18, 19, 20, 21 }; if(this.config.itemInCount > 1) return new int[] { 4, 5, 16, 17, 18, 19, 20, 21 }; if(this.config.itemInCount > 0) return new int[] { 4, 16, 17, 18, 19, 20, 21 }; - return new int[] { }; + return new int[] { 16, 17, 18, 19, 20, 21 }; } @Override @@ -353,69 +450,73 @@ public class TileEntityCustomMachine extends TileEntityMachineBase implements IF @Override public boolean isItemValidForSlot(int slot, ItemStack stack) { if(slot < 4 || slot > 9) return false; - + int index = slot - 4; int filterSlot = slot + 6; - + if(slots[filterSlot] == null) return true; - + return matcher.isValidForFilter(slots[filterSlot], index, stack); } @Override public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + this.machineType = nbt.getString("type"); if(this.config == null) this.init(); - + this.power = nbt.getLong("power"); this.progress = nbt.getInteger("progress"); + this.flux = nbt.getInteger("flux"); + this.heat = nbt.getInteger("heat"); this.structureOK = nbt.getBoolean("structureOK"); this.maxProgress = nbt.getInteger("maxProgress"); for(int i = 0; i < inputTanks.length; i++) inputTanks[i].readFromNBT(nbt, "i" + i); for(int i = 0; i < outputTanks.length; i++) outputTanks[i].readFromNBT(nbt, "o" + i); - + this.matcher.readFromNBT(nbt); } - + @Override public void readFromNBT(NBTTagCompound nbt) { - + this.machineType = nbt.getString("machineType"); this.init(); - + super.readFromNBT(nbt); - + if(this.config != null) { - + for(int i = 0; i < inputTanks.length; i++) inputTanks[i].readFromNBT(nbt, "i" + i); for(int i = 0; i < outputTanks.length; i++) outputTanks[i].readFromNBT(nbt, "o" + i); - + this.matcher.readFromNBT(nbt); - + int index = nbt.getInteger("cachedIndex"); if(index != -1) { this.cachedRecipe = CustomMachineRecipes.recipes.get(this.config.recipeKey).get(index); } } } - + @Override public void writeToNBT(NBTTagCompound nbt) { - + if(machineType == null || this.config == null) { super.writeToNBT(nbt); return; } - + nbt.setString("machineType", machineType); - + super.writeToNBT(nbt); for(int i = 0; i < inputTanks.length; i++) inputTanks[i].writeToNBT(nbt, "i" + i); for(int i = 0; i < outputTanks.length; i++) outputTanks[i].writeToNBT(nbt, "o" + i); - + this.matcher.writeToNBT(nbt); - + if(this.cachedRecipe != null) { int index = CustomMachineRecipes.recipes.get(this.config.recipeKey).indexOf(this.cachedRecipe); nbt.setInteger("cachedIndex", index); @@ -426,18 +527,22 @@ public class TileEntityCustomMachine extends TileEntityMachineBase implements IF @Override public FluidTank[] getAllTanks() { - + FluidTank[] all = new FluidTank[inputTanks.length + outputTanks.length]; for(int i = 0; i < inputTanks.length; i++) all[i] = inputTanks[i]; for(int i = 0; i < outputTanks.length; i++) all[inputTanks.length + i] = outputTanks[i]; - + return all; } @Override public FluidTank[] getSendingTanks() { - return outputTanks != null ? outputTanks : new FluidTank[0]; + FluidTank[] all = new FluidTank[outputTanks.length + this.getSmokeTanks().length]; + for(int i = 0; i < outputTanks.length; i++) all[i] = outputTanks[i]; + for(int i = 0; i < this.getSmokeTanks().length; i++) all[outputTanks.length + i] = this.getSmokeTanks()[i]; + //return outputTanks != null ? outputTanks : new FluidTank[0]; + return all; } @Override @@ -472,27 +577,32 @@ public class TileEntityCustomMachine extends TileEntityMachineBase implements IF public void setPower(long power) { this.power = power; } - + @Override public long transferPower(long power) { if(this.config != null && this.config.generatorMode) return power; - + this.setPower(this.getPower() + power); - + if(this.getPower() > this.getMaxPower()) { - + long overshoot = this.getPower() - this.getMaxPower(); this.setPower(this.getMaxPower()); return overshoot; } - + return 0; } - + @Override - public long getTransferWeight() { - if(this.config != null && this.config.generatorMode) return 0; - - return Math.max(getMaxPower() - getPower(), 0); + public long getReceiverSpeed() { + if(this.config != null && !this.config.generatorMode) return this.getMaxPower(); + return 0; + } + + @Override + public long getProviderSpeed() { + if(this.config != null && this.config.generatorMode) return this.getMaxPower(); + return 0; } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCyberCrab.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCyberCrab.java index df1c3f774..9cdfd6e3d 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCyberCrab.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCyberCrab.java @@ -20,7 +20,7 @@ public class TileEntityCyberCrab extends TileEntity { if (!this.worldObj.isRemote) { age++; - if(age > 200 && worldObj.getBlock(xCoord, yCoord + 1, zCoord) == Blocks.air) { + if(age > 200 && worldObj.getBlock(xCoord, yCoord + 1, zCoord) == Blocks.air && worldObj.getClosestPlayer(xCoord + 0.5, yCoord + 1, zCoord + 0.5, 25) != null) { List entities = this.worldObj.getEntitiesWithinAABB(EntityCyberCrab.class, AxisAlignedBB.getBoundingBox(this.xCoord - 5, this.yCoord - 2, this.zCoord - 5, this.xCoord + 6, this.yCoord + 4, this.zCoord + 6)); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityDeaerator.java b/src/main/java/com/hbm/tileentity/machine/TileEntityDeaerator.java deleted file mode 100644 index 9877146e6..000000000 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityDeaerator.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.hbm.tileentity.machine; - -import com.hbm.tileentity.TileEntityMachineBase; - -public class TileEntityDeaerator extends TileEntityMachineBase { - - public TileEntityDeaerator() { - super(0); - } - - @Override - public String getName() { - return "container.deaerator"; - } - - @Override - public void updateEntity() { - - } - -} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityDeuteriumExtractor.java b/src/main/java/com/hbm/tileentity/machine/TileEntityDeuteriumExtractor.java index b902dfd3e..12cc135b4 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityDeuteriumExtractor.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityDeuteriumExtractor.java @@ -4,12 +4,12 @@ import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.tileentity.TileEntityMachineBase; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardTransceiver; import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityDeuteriumExtractor extends TileEntityMachineBase implements IEnergyUser, IFluidStandardTransceiver { +public class TileEntityDeuteriumExtractor extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardTransceiver { public long power = 0; public FluidTank[] tanks; @@ -61,6 +61,8 @@ public class TileEntityDeuteriumExtractor extends TileEntityMachineBase implemen } public void networkUnpack(NBTTagCompound data) { + super.networkUnpack(data); + this.power = data.getLong("power"); tanks[0].readFromNBT(data, "water"); tanks[1].readFromNBT(data, "heavyWater"); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnace.java b/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnace.java index 4e5cf6c3b..c1d3bb893 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnace.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnace.java @@ -12,8 +12,10 @@ import com.hbm.items.ModItems; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.INBTPacketReceiver; import com.hbm.tileentity.TileEntityMachinePolluting; +import com.hbm.util.CompatEnergyControl; import api.hbm.fluid.IFluidStandardSender; +import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.GuiScreen; @@ -27,7 +29,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityDiFurnace extends TileEntityMachinePolluting implements IFluidStandardSender, IGUIProvider { +public class TileEntityDiFurnace extends TileEntityMachinePolluting implements IFluidStandardSender, IGUIProvider, IInfoProviderEC { public int progress; public int fuel; @@ -270,4 +272,11 @@ public class TileEntityDiFurnace extends TileEntityMachinePolluting implements I public FluidTank[] getSendingTanks() { return this.getSmokeTanks(); } + + @Override + public void provideExtraInfo(NBTTagCompound data) { + data.setLong(CompatEnergyControl.L_ENERGY_, this.fuel); + data.setLong(CompatEnergyControl.L_CAPACITY_, this.maxFuel); + data.setInteger(CompatEnergyControl.I_PROGRESS, this.progress); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnaceRTG.java b/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnaceRTG.java index 7c7891802..db4d16a27 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnaceRTG.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnaceRTG.java @@ -7,8 +7,10 @@ import com.hbm.inventory.recipes.BlastFurnaceRecipes; import com.hbm.items.machine.ItemRTGPellet; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.CompatEnergyControl; import com.hbm.util.RTGUtil; +import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.GuiScreen; @@ -18,8 +20,8 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; -public class TileEntityDiFurnaceRTG extends TileEntityMachineBase implements IGUIProvider -{ +public class TileEntityDiFurnaceRTG extends TileEntityMachineBase implements IGUIProvider, IInfoProviderEC { + public short progress; private short processSpeed = 0; // Edit as needed @@ -79,6 +81,8 @@ public class TileEntityDiFurnaceRTG extends TileEntityMachineBase implements IGU @Override public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + progress = nbt.getShort("progress"); processSpeed = nbt.getShort("speed"); byte[] modes = nbt.getByteArray("modes"); @@ -217,4 +221,9 @@ public class TileEntityDiFurnaceRTG extends TileEntityMachineBase implements IGU return new GUIMachineDiFurnaceRTG(player.inventory, this); } + @Override + public void provideExtraInfo(NBTTagCompound data) { + data.setLong(CompatEnergyControl.L_FUEL, this.getPower()); + data.setInteger(CompatEnergyControl.I_PROGRESS, this.progress); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityElectrolyser.java b/src/main/java/com/hbm/tileentity/machine/TileEntityElectrolyser.java index 04b147c79..633c18cb7 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityElectrolyser.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityElectrolyser.java @@ -32,7 +32,7 @@ import com.hbm.util.CrucibleUtil; import com.hbm.util.I18nUtil; import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; @@ -49,18 +49,20 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityElectrolyser extends TileEntityMachineBase implements IEnergyUser, IFluidStandardTransceiver, IControlReceiver, IGUIProvider, IUpgradeInfoProvider { +public class TileEntityElectrolyser extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardTransceiver, IControlReceiver, IGUIProvider, IUpgradeInfoProvider { public long power; public static final long maxPower = 20000000; - public static final int usageBase = 10000; - public int usage; + public static final int usageOreBase = 10_000; + public static final int usageFluidBase = 10_000; + public int usageOre; + public int usageFluid; public int progressFluid; - public static final int processFluidTimeBase = 100; + public static final int processFluidTimeBase = 20; public int processFluidTime; public int progressOre; - public static final int processOreTimeBase = 1000; + public static final int processOreTimeBase = 600; public int processOreTime; public MaterialStack leftStack; @@ -136,11 +138,12 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn processFluidTime = processFluidTimeBase - processFluidTimeBase * speedLevel / 4; processOreTime = processOreTimeBase - processOreTimeBase * speedLevel / 4; - usage = usageBase - usageBase * powerLevel / 4; + usageOre = usageOreBase - usageOreBase * powerLevel / 4; + usageFluid = usageFluidBase - usageFluidBase * powerLevel / 4; if(this.canProcessFluid()) { this.progressFluid++; - this.power -= this.usage; + this.power -= this.usageFluid; if(this.progressFluid >= this.processFluidTime) { this.processFluids(); @@ -151,7 +154,7 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn if(this.canProcesMetal()) { this.progressOre++; - this.power -= this.usage; + this.power -= this.usageOre; if(this.progressOre >= this.processOreTime) { this.processMetal(); @@ -167,7 +170,7 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn toCast.add(this.leftStack); Vec3 impact = Vec3.createVectorHelper(0, 0, 0); - MaterialStack didPour = CrucibleUtil.pourFullStack(worldObj, xCoord + 0.5D + dir.offsetX * 5.875D, yCoord + 2D, zCoord + 0.5D + dir.offsetZ * 5.875D, 6, true, toCast, MaterialShapes.NUGGET.q(1), impact); + MaterialStack didPour = CrucibleUtil.pourFullStack(worldObj, xCoord + 0.5D + dir.offsetX * 5.875D, yCoord + 2D, zCoord + 0.5D + dir.offsetZ * 5.875D, 6, true, toCast, MaterialShapes.NUGGET.q(3), impact); if(didPour != null) { NBTTagCompound data = new NBTTagCompound(); @@ -190,7 +193,7 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn toCast.add(this.rightStack); Vec3 impact = Vec3.createVectorHelper(0, 0, 0); - MaterialStack didPour = CrucibleUtil.pourFullStack(worldObj, xCoord + 0.5D + dir.offsetX * 5.875D, yCoord + 2D, zCoord + 0.5D + dir.offsetZ * 5.875D, 6, true, toCast, MaterialShapes.NUGGET.q(1), impact); + MaterialStack didPour = CrucibleUtil.pourFullStack(worldObj, xCoord + 0.5D + dir.offsetX * 5.875D, yCoord + 2D, zCoord + 0.5D + dir.offsetZ * 5.875D, 6, true, toCast, MaterialShapes.NUGGET.q(3), impact); if(didPour != null) { NBTTagCompound data = new NBTTagCompound(); @@ -210,7 +213,8 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn data.setLong("power", this.power); data.setInteger("progressFluid", this.progressFluid); data.setInteger("progressOre", this.progressOre); - data.setInteger("usage", this.usage); + data.setInteger("usageOre", this.usageOre); + data.setInteger("usageFluid", this.usageFluid); data.setInteger("processFluidTime", this.processFluidTime); data.setInteger("processOreTime", this.processOreTime); if(this.leftStack != null) { @@ -242,10 +246,13 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn @Override public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + this.power = nbt.getLong("power"); this.progressFluid = nbt.getInteger("progressFluid"); this.progressOre = nbt.getInteger("progressOre"); - this.usage = nbt.getInteger("usage"); + this.usageOre = nbt.getInteger("usageOre"); + this.usageFluid = nbt.getInteger("usageFluid"); this.processFluidTime = nbt.getInteger("processFluidTime"); this.processOreTime = nbt.getInteger("processOreTime"); if(nbt.hasKey("leftType")) this.leftStack = new MaterialStack(Mats.matById.get(nbt.getInteger("leftType")), nbt.getInteger("leftAmount")); @@ -257,7 +264,7 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn public boolean canProcessFluid() { - if(this.power < usage) return false; + if(this.power < usageFluid) return false; ElectrolysisRecipe recipe = ElectrolyserFluidRecipes.recipes.get(tanks[0].getTankType()); @@ -308,7 +315,7 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn public boolean canProcesMetal() { if(slots[14] == null) return false; - if(this.power < usage) return false; + if(this.power < usageOre) return false; if(this.tanks[3].getFill() < 100) return false; ElectrolysisMetalRecipe recipe = ElectrolyserMetalRecipes.getRecipe(slots[14]); @@ -380,7 +387,6 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn this.power = nbt.getLong("power"); this.progressFluid = nbt.getInteger("progressFluid"); this.progressOre = nbt.getInteger("progressOre"); - this.usage = nbt.getInteger("usage"); this.processFluidTime = nbt.getInteger("processFluidTime"); this.processOreTime = nbt.getInteger("processOreTime"); if(nbt.hasKey("leftType")) this.leftStack = new MaterialStack(Mats.matById.get(nbt.getInteger("leftType")), nbt.getInteger("leftAmount")); @@ -397,7 +403,6 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn nbt.setLong("power", this.power); nbt.setInteger("progressFluid", this.progressFluid); nbt.setInteger("progressOre", this.progressOre); - nbt.setInteger("usage", this.usage); nbt.setInteger("processFluidTime", this.processFluidTime); nbt.setInteger("processOreTime", this.processOreTime); if(this.leftStack != null) { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFEL.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFEL.java index 40b8b27e3..d34054398 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFEL.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFEL.java @@ -13,13 +13,14 @@ import com.hbm.items.machine.ItemFELCrystal; import com.hbm.items.machine.ItemFELCrystal.EnumWavelengths; import com.hbm.lib.Library; import com.hbm.main.MainRegistry; +import com.hbm.sound.AudioWrapper; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.ContaminationUtil; import com.hbm.util.ContaminationUtil.ContaminationType; import com.hbm.util.ContaminationUtil.HazardType; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; @@ -36,10 +37,11 @@ import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityFEL extends TileEntityMachineBase implements IEnergyUser, IGUIProvider { +public class TileEntityFEL extends TileEntityMachineBase implements IEnergyReceiverMK2, IGUIProvider { public long power; public static final long maxPower = 20000000; @@ -49,6 +51,8 @@ public class TileEntityFEL extends TileEntityMachineBase implements IEnergyUser, public boolean missingValidSilex = true ; public int distance; public List entities = new ArrayList(); + private int audioDuration = 0; + private AudioWrapper audio; public TileEntityFEL() { @@ -179,6 +183,35 @@ public class TileEntityFEL extends TileEntityMachineBase implements IEnergyUser, data.setBoolean("valid", missingValidSilex); data.setInteger("distance", distance); this.networkPack(data, 250); + } else { + + if(isOn) { + audioDuration += 2; + } else { + audioDuration -= 3; + } + + audioDuration = MathHelper.clamp_int(audioDuration, 0, 60); + + if(audioDuration > 10) { + + if(audio == null) { + audio = createAudioLoop(); + audio.startSound(); + } else if(!audio.isPlaying()) { + audio = rebootAudio(audio); + } + + audio.updateVolume(getVolume(2F)); + audio.updatePitch((audioDuration - 10) / 100F + 0.5F); + + } else { + + if(audio != null) { + audio.stopSound(); + audio = null; + } + } } } @@ -194,6 +227,8 @@ public class TileEntityFEL extends TileEntityMachineBase implements IEnergyUser, @Override public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + this.power = nbt.getLong("power"); this.mode = EnumWavelengths.valueOf(nbt.getString("mode")); this.isOn = nbt.getBoolean("isOn"); @@ -234,7 +269,12 @@ public class TileEntityFEL extends TileEntityMachineBase implements IEnergyUser, nbt.setBoolean("valid", missingValidSilex); nbt.setInteger("distance", distance); } - + + @Override + public AudioWrapper createAudioLoop() { + return MainRegistry.proxy.getLoopedSound("hbm:block.fel", xCoord, yCoord, zCoord, 2.0F, 10F, 2.0F); + } + @Override public AxisAlignedBB getRenderBoundingBox() { return INFINITE_EXTENT_AABB; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFWatzCore.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFWatzCore.java deleted file mode 100644 index ff3e3a1ee..000000000 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFWatzCore.java +++ /dev/null @@ -1,464 +0,0 @@ -package com.hbm.tileentity.machine; - -import java.util.Random; - -import com.hbm.interfaces.IFluidAcceptor; -import com.hbm.interfaces.IFluidContainer; -import com.hbm.interfaces.IReactor; -import com.hbm.inventory.container.ContainerFWatzCore; -import com.hbm.inventory.fluid.FluidType; -import com.hbm.inventory.fluid.Fluids; -import com.hbm.inventory.fluid.tank.FluidTank; -import com.hbm.inventory.gui.GUIFWatzCore; -import com.hbm.items.ModItems; -import com.hbm.lib.Library; -import com.hbm.packet.AuxElectricityPacket; -import com.hbm.packet.PacketDispatcher; -import com.hbm.tileentity.IGUIProvider; -import com.hbm.tileentity.TileEntityLoadedBase; -import com.hbm.util.fauxpointtwelve.DirPos; -import com.hbm.world.machine.FWatz; - -import api.hbm.energy.IEnergyGenerator; -import api.hbm.fluid.IFluidStandardReceiver; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.ISidedInventory; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.world.World; - -public class TileEntityFWatzCore extends TileEntityLoadedBase implements ISidedInventory, IReactor, IEnergyGenerator, IFluidContainer, IFluidAcceptor, IFluidStandardReceiver, IGUIProvider { - - public long power; - public final static long maxPower = 10000000000L; - public boolean cooldown = false; - - public FluidTank tanks[]; - - Random rand = new Random(); - - private ItemStack slots[]; - - private String customName; - - public TileEntityFWatzCore() { - slots = new ItemStack[7]; - tanks = new FluidTank[3]; - tanks[0] = new FluidTank(Fluids.COOLANT, 128000, 0); - tanks[1] = new FluidTank(Fluids.AMAT, 64000, 1); - tanks[2] = new FluidTank(Fluids.ASCHRAB, 64000, 2); - } - @Override - public int getSizeInventory() { - return slots.length; - } - - @Override - public ItemStack getStackInSlot(int i) { - return slots[i]; - } - - @Override - public ItemStack getStackInSlotOnClosing(int i) { - if(slots[i] != null) - { - ItemStack itemStack = slots[i]; - slots[i] = null; - return itemStack; - } else { - return null; - } - } - - @Override - public void setInventorySlotContents(int i, ItemStack itemStack) { - slots[i] = itemStack; - if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) - { - itemStack.stackSize = getInventoryStackLimit(); - } - } - - @Override - public String getInventoryName() { - return this.hasCustomInventoryName() ? this.customName : "container.fusionaryWatzPlant"; - } - - @Override - public boolean hasCustomInventoryName() { - return this.customName != null && this.customName.length() > 0; - } - - public void setCustomName(String name) { - this.customName = name; - } - - @Override - public int getInventoryStackLimit() { - return 64; - } - - @Override - public boolean isUseableByPlayer(EntityPlayer player) { - if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) - { - return false; - }else{ - return true; - } - } - - @Override - public void openInventory() {} - - @Override - public void closeInventory() {} - - @Override - public boolean isItemValidForSlot(int i, ItemStack itemStack) { - return true; - } - - @Override - public ItemStack decrStackSize(int i, int j) { - if(slots[i] != null) - { - if(slots[i].stackSize <= j) - { - ItemStack itemStack = slots[i]; - slots[i] = null; - return itemStack; - } - ItemStack itemStack1 = slots[i].splitStack(j); - if (slots[i].stackSize == 0) - { - slots[i] = null; - } - - return itemStack1; - } else { - return null; - } - } - - @Override - public int[] getAccessibleSlotsFromSide(int p_94128_1_) { - return null; - } - - @Override - public boolean canInsertItem(int p_102007_1_, ItemStack p_102007_2_, int p_102007_3_) { - return false; - } - - @Override - public boolean canExtractItem(int p_102008_1_, ItemStack p_102008_2_, int p_102008_3_) { - return false; - } - - @Override - public void readFromNBT(NBTTagCompound nbt) { - super.readFromNBT(nbt); - NBTTagList list = nbt.getTagList("items", 10); - - power = nbt.getLong("power"); - tanks[0].readFromNBT(nbt, "cool"); - tanks[1].readFromNBT(nbt, "amat"); - tanks[2].readFromNBT(nbt, "aschrab"); - - slots = new ItemStack[getSizeInventory()]; - - for(int i = 0; i < list.tagCount(); i++) - { - NBTTagCompound nbt1 = list.getCompoundTagAt(i); - byte b0 = nbt1.getByte("slot"); - if(b0 >= 0 && b0 < slots.length) - { - slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); - } - } - } - - @Override - public void writeToNBT(NBTTagCompound nbt) { - super.writeToNBT(nbt); - - nbt.setLong("power", power); - tanks[0].writeToNBT(nbt, "cool"); - tanks[1].writeToNBT(nbt, "amat"); - tanks[2].writeToNBT(nbt, "aschrab"); - - NBTTagList list = new NBTTagList(); - - for(int i = 0; i < slots.length; i++) - { - if(slots[i] != null) - { - NBTTagCompound nbt1 = new NBTTagCompound(); - nbt1.setByte("slot", (byte)i); - slots[i].writeToNBT(nbt1); - list.appendTag(nbt1); - } - } - nbt.setTag("items", list); - } - - @Override - public boolean isStructureValid(World world) { - return FWatz.checkHull(world, this.xCoord, this.yCoord, this.zCoord); - } - - @Override - public boolean isCoatingValid(World world) { - { - return true; - } - } - - @Override - public boolean hasFuse() { - return slots[1] != null && (slots[1].getItem() == ModItems.fuse || slots[1].getItem() == ModItems.screwdriver); - } - - @Override - public int getCoolantScaled(int i) { - return 0; - } - - @Override - public long getPowerScaled(long i) { - return (power/100 * i) / (maxPower/100); - } - - @Override - public int getWaterScaled(int i) { - return 0; - } - - @Override - public int getHeatScaled(int i) { - return 0; - } - - public int getSingularityType() { - - if(slots[2] != null) { - Item item = slots[2].getItem(); - - if(item == ModItems.singularity) - return 1; - if(item == ModItems.singularity_counter_resonant) - return 2; - if(item == ModItems.singularity_super_heated) - return 3; - if(item == ModItems.black_hole) - return 4; - if(item == ModItems.overfuse) - return 5; - } - - return 0; - } - - public DirPos[] getConPos() { - return new DirPos[] { - new DirPos(xCoord + 10, yCoord - 11, zCoord, Library.POS_X), - new DirPos(xCoord - 10, yCoord - 11, zCoord, Library.NEG_X), - new DirPos(xCoord, yCoord - 11, zCoord + 10, Library.POS_Z), - new DirPos(xCoord, yCoord - 11, zCoord - 10, Library.NEG_Z) - }; - } - - @Override - public void updateEntity() { - if(!worldObj.isRemote && this.isStructureValid(this.worldObj)) { - - for(DirPos pos : this.getConPos()) { - this.sendPower(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); - - this.trySubscribe(tanks[1].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); - this.trySubscribe(tanks[2].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); - } - - if (hasFuse() && getSingularityType() > 0) { - if(cooldown) { - - int i = getSingularityType(); - - if(i == 1) - tanks[0].setFill(tanks[0].getFill() + 1500); - if(i == 2) - tanks[0].setFill(tanks[0].getFill() + 3000); - if(i == 3) - tanks[0].setFill(tanks[0].getFill() + 750); - if(i == 4) - tanks[0].setFill(tanks[0].getFill() + 7500); - if(i == 5) - tanks[0].setFill(tanks[0].getFill() + 15000); - - if(tanks[0].getFill() >= tanks[0].getMaxFill()) { - cooldown = false; - tanks[0].setFill(tanks[0].getMaxFill()); - } - - } else { - int i = getSingularityType(); - - if(i == 1 && tanks[1].getFill() - 75 >= 0 && tanks[2].getFill() - 75 >= 0) { - tanks[0].setFill(tanks[0].getFill() - 150); - tanks[1].setFill(tanks[1].getFill() - 75); - tanks[2].setFill(tanks[2].getFill() - 75); - power += 5000000; - } - if(i == 2 && tanks[1].getFill() - 75 >= 0 && tanks[2].getFill() - 35 >= 0) { - tanks[0].setFill(tanks[0].getFill() - 75); - tanks[1].setFill(tanks[1].getFill() - 35); - tanks[2].setFill(tanks[2].getFill() - 30); - power += 2500000; - } - if(i == 3 && tanks[1].getFill() - 75 >= 0 && tanks[2].getFill() - 140 >= 0) { - tanks[0].setFill(tanks[0].getFill() - 300); - tanks[1].setFill(tanks[1].getFill() - 75); - tanks[2].setFill(tanks[2].getFill() - 140); - power += 10000000; - } - if(i == 4 && tanks[1].getFill() - 100 >= 0 && tanks[2].getFill() - 100 >= 0) { - tanks[0].setFill(tanks[0].getFill() - 100); - tanks[1].setFill(tanks[1].getFill() - 100); - tanks[2].setFill(tanks[2].getFill() - 100); - power += 10000000; - } - if(i == 5 && tanks[1].getFill() - 15 >= 0 && tanks[2].getFill() - 15 >= 0) { - tanks[0].setFill(tanks[0].getFill() - 150); - tanks[1].setFill(tanks[1].getFill() - 15); - tanks[2].setFill(tanks[2].getFill() - 15); - power += 100000000; - } - - if(power > maxPower) - power = maxPower; - - if(tanks[0].getFill() <= 0) { - cooldown = true; - tanks[0].setFill(0); - } - } - } - - if(power > maxPower) - power = maxPower; - - power = Library.chargeItemsFromTE(slots, 0, power, maxPower); - - tanks[1].loadTank(3, 5, slots); - tanks[2].loadTank(4, 6, slots); - - for(int i = 0; i < 3; i++) - tanks[i].updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId); - } - - if(this.isRunning() && (tanks[1].getFill() <= 0 || tanks[2].getFill() <= 0 || !hasFuse() || getSingularityType() == 0) || cooldown || !this.isStructureValid(worldObj)) - this.emptyPlasma(); - - if(!this.isRunning() && tanks[1].getFill() >= 100 && tanks[2].getFill() >= 100 && hasFuse() && getSingularityType() > 0 && !cooldown && this.isStructureValid(worldObj)) - this.fillPlasma(); - - if(!worldObj.isRemote) - PacketDispatcher.wrapper.sendToAllAround(new AuxElectricityPacket(xCoord, yCoord, zCoord, power), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); - } - - public void fillPlasma() { - if(!this.worldObj.isRemote) - FWatz.fillPlasma(worldObj, this.xCoord, this.yCoord, this.zCoord); - } - - public void emptyPlasma() { - if(!this.worldObj.isRemote) - FWatz.emptyPlasma(worldObj, this.xCoord, this.yCoord, this.zCoord); - } - - public boolean isRunning() { - return FWatz.getPlasma(worldObj, this.xCoord, this.yCoord, this.zCoord) && this.isStructureValid(worldObj); - } - - @Override - public long getMaxPower() { - return this.maxPower; - } - - @Override - public long getPower() { - return power; - } - - @Override - public void setPower(long i) { - this.power = i; - } - - @Override - public void setFillForSync(int fill, int index) { - if(index < 3 && tanks[index] != null) - tanks[index].setFill(fill); - } - - @Override - public void setTypeForSync(FluidType type, int index) { - if(index < 3 && tanks[index] != null) - tanks[index].setTankType(type); - } - - @Override - public void setFluidFill(int i, FluidType type) { - if(type.name().equals(tanks[1].getTankType().name())) - tanks[1].setFill(i); - else if(type.name().equals(tanks[2].getTankType().name())) - tanks[2].setFill(i); - } - - @Override - public int getFluidFill(FluidType type) { - if(type.name().equals(tanks[1].getTankType().name())) - return tanks[1].getFill(); - else if(type.name().equals(tanks[2].getTankType().name())) - return tanks[2].getFill(); - else - return 0; - } - - @Override - public int getMaxFluidFill(FluidType type) { - if(type.name().equals(tanks[1].getTankType().name())) - return tanks[1].getMaxFill(); - else if(type.name().equals(tanks[2].getTankType().name())) - return tanks[2].getMaxFill(); - else - return 0; - } - - @Override - public FluidTank[] getReceivingTanks() { - return new FluidTank[] { tanks[1], tanks[2] }; - } - - @Override - public FluidTank[] getAllTanks() { - return tanks; - } - @Override - public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new ContainerFWatzCore(player.inventory, this); - } - @Override - @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new GUIFWatzCore(player.inventory, this); - } -} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFireboxBase.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFireboxBase.java index 5a52abb70..c52d0270d 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFireboxBase.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFireboxBase.java @@ -109,7 +109,7 @@ public abstract class TileEntityFireboxBase extends TileEntityMachinePolluting i } this.wasOn = true; - if(worldObj.rand.nextInt(15) == 0) { + if(worldObj.rand.nextInt(15) == 0 && !this.muffled) { worldObj.playSoundEffect(xCoord, yCoord, zCoord, "fire.fire", 1.0F, 0.5F + worldObj.rand.nextFloat() * 0.5F); } } @@ -184,6 +184,8 @@ public abstract class TileEntityFireboxBase extends TileEntityMachinePolluting i @Override public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + this.maxBurnTime = nbt.getInteger("maxBurnTime"); this.burnTime = nbt.getInteger("burnTime"); this.burnHeat = nbt.getInteger("burnHeat"); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityForceField.java b/src/main/java/com/hbm/tileentity/machine/TileEntityForceField.java index 6259e1eb1..417c24894 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityForceField.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityForceField.java @@ -12,8 +12,8 @@ import com.hbm.packet.TEFFPacket; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityLoadedBase; -import api.hbm.energy.IBatteryItem; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IBatteryItem; +import api.hbm.energymk2.IEnergyReceiverMK2; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -31,7 +31,7 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityForceField extends TileEntityLoadedBase implements ISidedInventory, IEnergyUser, IGUIProvider { +public class TileEntityForceField extends TileEntityLoadedBase implements ISidedInventory, IEnergyReceiverMK2, IGUIProvider { private ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFoundryBasin.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFoundryBasin.java index 145c2159a..6c65fb4c2 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFoundryBasin.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFoundryBasin.java @@ -7,7 +7,11 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; public class TileEntityFoundryBasin extends TileEntityFoundryCastingBase implements IRenderFoundry { - + + public TileEntityFoundryBasin() { + super(2); + } + @Override public void updateEntity() { super.updateEntity(); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFoundryCastingBase.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFoundryCastingBase.java index bf2e63a95..578565ae9 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFoundryCastingBase.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFoundryCastingBase.java @@ -19,10 +19,12 @@ import net.minecraftforge.common.util.ForgeDirection; * */ public abstract class TileEntityFoundryCastingBase extends TileEntityFoundryBase implements ISidedInventory { - - public ItemStack slots[] = new ItemStack[2]; + public ItemStack[] slots; + public TileEntityFoundryCastingBase(int slotCount) { + slots = new ItemStack[slotCount]; + } public int cooloff = 100; - + @Override public void updateEntity() { super.updateEntity(); @@ -52,6 +54,7 @@ public abstract class TileEntityFoundryCastingBase extends TileEntityFoundryBase } cooloff = 200; + this.markDirty(); } } else { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFoundryChannel.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFoundryChannel.java index dd09a8a59..3156aada3 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFoundryChannel.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFoundryChannel.java @@ -110,7 +110,7 @@ public class TileEntityFoundryChannel extends TileEntityFoundryBase { @Override public int getCapacity() { - return MaterialShapes.INGOT.q(1); + return MaterialShapes.INGOT.q(2); } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFoundryMold.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFoundryMold.java index 607b1d13c..f2e476a3e 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFoundryMold.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFoundryMold.java @@ -3,7 +3,11 @@ package com.hbm.tileentity.machine; import com.hbm.inventory.material.NTMMaterial; public class TileEntityFoundryMold extends TileEntityFoundryCastingBase implements IRenderFoundry { - + + public TileEntityFoundryMold() { + super(2); + } + @Override public void updateEntity() { super.updateEntity(); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFoundrySlagtap.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFoundrySlagtap.java index ef09f7257..ba297333f 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFoundrySlagtap.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFoundrySlagtap.java @@ -11,16 +11,18 @@ import api.hbm.block.ICrucibleAcceptor; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.block.Block; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityFoundrySlagtap extends TileEntity implements ICrucibleAcceptor { +public class TileEntityFoundrySlagtap extends TileEntityFoundryOutlet implements ICrucibleAcceptor { @Override public boolean canAcceptPartialFlow(World world, int x, int y, int z, ForgeDirection side, MaterialStack stack) { + if(filter != null && (filter != stack.material ^ invertFilter)) return false; + if(isClosed()) return false; + if(side != ForgeDirection.getOrientation(this.getBlockMetadata()).getOpposite()) return false; Vec3 start = Vec3.createVectorHelper(x + 0.5, y - 0.125, z + 0.5); Vec3 end = Vec3.createVectorHelper(x + 0.5, y + 0.125 - 15, z + 0.5); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceBrick.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceBrick.java new file mode 100644 index 000000000..be440a25c --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceBrick.java @@ -0,0 +1,234 @@ +package com.hbm.tileentity.machine; + +import java.util.HashMap; + +import com.hbm.blocks.machine.MachineBrickFurnace; +import com.hbm.inventory.OreDictManager.DictFrame; +import com.hbm.inventory.container.ContainerFurnaceBrick; +import com.hbm.inventory.gui.GUIFurnaceBrick; +import com.hbm.items.ModItems; +import com.hbm.items.ItemEnums.EnumAshType; +import com.hbm.tileentity.IGUIProvider; +import com.hbm.tileentity.TileEntityMachineBase; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.inventory.Container; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.FurnaceRecipes; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntityFurnace; +import net.minecraft.world.World; + +public class TileEntityFurnaceBrick extends TileEntityMachineBase implements IGUIProvider { + + private static final int[] slotsTop = new int[] { 0 }; + private static final int[] slotsBottom = new int[] { 2, 1, 3 }; + private static final int[] slotsSides = new int[] {1}; + + public static HashMap burnSpeed = new HashMap(); + + static { + burnSpeed.put(Items.clay_ball, 4); + burnSpeed.put(ModItems.ball_fireclay, 4); + burnSpeed.put(Item.getItemFromBlock(Blocks.netherrack), 4); + burnSpeed.put(Item.getItemFromBlock(Blocks.cobblestone), 2); + burnSpeed.put(Item.getItemFromBlock(Blocks.sand), 2); + burnSpeed.put(Item.getItemFromBlock(Blocks.log), 2); + burnSpeed.put(Item.getItemFromBlock(Blocks.log2), 2); + } + + public int burnTime; + public int maxBurnTime; + public int progress; + + public int ashLevelWood; + public int ashLevelCoal; + public int ashLevelMisc; + + public TileEntityFurnaceBrick() { + super(4); + } + + @Override + public String getName() { + return "container.furnaceBrick"; + } + + @Override + + public void updateEntity() { + + if(!worldObj.isRemote) { + boolean wasBurning = this.burnTime > 0; + boolean markDirty = false; + + if(this.burnTime > 0) { + this.burnTime--; + } + + if(this.burnTime != 0 || this.slots[1] != null && this.slots[0] != null) { + if(this.burnTime == 0 && this.canSmelt()) { + this.maxBurnTime = this.burnTime = TileEntityFurnace.getItemBurnTime(this.slots[1]); + + if(this.burnTime > 0) { + markDirty = true; + + if(this.slots[1] != null) { + this.slots[1].stackSize--; + + EnumAshType type = TileEntityFireboxBase.getAshFromFuel(slots[1]); + if(type == EnumAshType.WOOD) ashLevelWood += burnTime; + if(type == EnumAshType.COAL) ashLevelCoal += burnTime; + if(type == EnumAshType.MISC) ashLevelMisc += burnTime; + int threshold = 2000; + if(processAsh(ashLevelWood, EnumAshType.WOOD, threshold)) ashLevelWood -= threshold; + if(processAsh(ashLevelCoal, EnumAshType.COAL, threshold)) ashLevelCoal -= threshold; + if(processAsh(ashLevelMisc, EnumAshType.MISC, threshold)) ashLevelMisc -= threshold; + + if(this.slots[1].stackSize == 0) { + this.slots[1] = slots[1].getItem().getContainerItem(slots[1]); + } + } + } + } + + if(this.burnTime > 0 && this.canSmelt()) { + this.progress += this.getBurnSpeed(); + + if(this.progress >= 200) { + this.progress = 0; + this.smeltItem(); + markDirty = true; + } + } else { + this.progress = 0; + } + } + + if(wasBurning != this.burnTime > 0) { + markDirty = true; + MachineBrickFurnace.updateBlockState(this.burnTime > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord); + } + + if(markDirty) { + this.markDirty(); + } + + this.networkPackNT(15); + } + } + + public int getBurnSpeed() { + Integer speed = burnSpeed.get(slots[0].getItem()); + if(speed != null) return speed; + return 1; + } + + @Override + public boolean isItemValidForSlot(int slot, ItemStack stack) { + return slot >= 2 ? false : (slot == 1 ? TileEntityFurnace.getItemBurnTime(stack) > 0 : true); + } + + @Override + public int[] getAccessibleSlotsFromSide(int side) { + return side == 0 ? slotsBottom : (side == 1 ? slotsTop : slotsSides); + } + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeInt(burnTime); + buf.writeInt(maxBurnTime); + buf.writeInt(progress); + } + + @Override public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.burnTime = buf.readInt(); + this.maxBurnTime = buf.readInt(); + this.progress = buf.readInt(); + } + + protected boolean processAsh(int level, EnumAshType type, int threshold) { + + if(level >= threshold) { + if(slots[3] == null) { + slots[3] = DictFrame.fromOne(ModItems.powder_ash, type); + return true; + } else if(slots[3].stackSize < slots[3].getMaxStackSize() && slots[3].getItem() == ModItems.powder_ash && slots[3].getItemDamage() == type.ordinal()) { + slots[3].stackSize++; + return true; + } + } + + return false; + } + + private boolean canSmelt() { + if(this.slots[0] == null) { + return false; + } else { + ItemStack itemstack = FurnaceRecipes.smelting().getSmeltingResult(this.slots[0]); + if(itemstack == null) + return false; + if(this.slots[2] == null) + return true; + if(!this.slots[2].isItemEqual(itemstack)) + return false; + int result = slots[2].stackSize + itemstack.stackSize; + return result <= getInventoryStackLimit() && result <= this.slots[2].getMaxStackSize(); + } + } + + public void smeltItem() { + if(this.canSmelt()) { + ItemStack itemstack = FurnaceRecipes.smelting().getSmeltingResult(this.slots[0]); + + if(this.slots[2] == null) { + this.slots[2] = itemstack.copy(); + } else if(this.slots[2].getItem() == itemstack.getItem()) { + this.slots[2].stackSize += itemstack.stackSize; + } + + --this.slots[0].stackSize; + + if(this.slots[0].stackSize <= 0) { + this.slots[0] = null; + } + } + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + this.burnTime = nbt.getInteger("burnTime"); + this.maxBurnTime = nbt.getInteger("maxBurn"); + this.progress = nbt.getInteger("progress"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setInteger("burnTime", this.burnTime); + nbt.setInteger("maxBurn", this.maxBurnTime); + nbt.setInteger("progress", this.progress); + } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerFurnaceBrick(player.inventory, this); + } + + @Override + @SideOnly(Side.CLIENT) + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIFurnaceBrick(player.inventory, this); + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceCombination.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceCombination.java index 4b6c42214..81fb4c1c3 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceCombination.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceCombination.java @@ -168,6 +168,8 @@ public class TileEntityFurnaceCombination extends TileEntityMachinePolluting imp @Override public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + this.wasOn = nbt.getBoolean("wasOn"); this.heat = nbt.getInteger("heat"); this.progress = nbt.getInteger("progress"); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceIron.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceIron.java index 9a00a9bba..c85bb845d 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceIron.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceIron.java @@ -36,7 +36,7 @@ public class TileEntityFurnaceIron extends TileEntityMachineBase implements IGUI public int progress; public int processingTime; - public static final int baseTime = 200; + public static final int baseTime = 160; public ModuleBurnTime burnModule; @@ -63,7 +63,7 @@ public class TileEntityFurnaceIron extends TileEntityMachineBase implements IGUI if(!worldObj.isRemote) { UpgradeManager.eval(slots, 4, 4); - this.processingTime = baseTime - (100 * Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 3) / 3); + this.processingTime = baseTime - ((baseTime / 2) * Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 3) / 3); wasOn = false; @@ -93,7 +93,7 @@ public class TileEntityFurnaceIron extends TileEntityMachineBase implements IGUI this.progress++; this.burnTime--; - if(this.progress % 15 == 0) { + if(this.progress % 15 == 0 && !this.muffled) { worldObj.playSoundEffect(xCoord, yCoord, zCoord, "fire.fire", 1.0F, 0.5F + worldObj.rand.nextFloat() * 0.5F); } @@ -142,6 +142,8 @@ public class TileEntityFurnaceIron extends TileEntityMachineBase implements IGUI @Override public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + this.maxBurnTime = nbt.getInteger("maxBurnTime"); this.burnTime = nbt.getInteger("burnTime"); this.progress = nbt.getInteger("progress"); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceSteel.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceSteel.java index 77d212d9e..4d6d7cbab 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceSteel.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceSteel.java @@ -123,6 +123,8 @@ public class TileEntityFurnaceSteel extends TileEntityMachineBase implements IGU @Override public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + this.progress = nbt.getIntArray("progress"); this.bonus = nbt.getIntArray("bonus"); this.heat = nbt.getInteger("heat"); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityGeiger.java b/src/main/java/com/hbm/tileentity/machine/TileEntityGeiger.java index 4c43bf5fc..a53e7614d 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityGeiger.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityGeiger.java @@ -4,15 +4,20 @@ import java.util.ArrayList; import java.util.List; import com.hbm.handler.radiation.ChunkRadiationManager; +import com.hbm.util.CompatEnergyControl; +import com.hbm.util.ContaminationUtil; + +import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.common.Optional; import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Context; import li.cil.oc.api.network.SimpleComponent; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityGeiger extends TileEntity implements SimpleComponent { +public class TileEntityGeiger extends TileEntity implements SimpleComponent, IInfoProviderEC { int timer = 0; int ticker = 0; @@ -74,4 +79,10 @@ public class TileEntityGeiger extends TileEntity implements SimpleComponent { return new Object[] {check()}; } + @Override + public void provideExtraInfo(NBTTagCompound data) { + int rads = check(); + String chunkPrefix = ContaminationUtil.getPreffixFromRad(rads); + data.setString(CompatEnergyControl.S_CHUNKRAD, chunkPrefix + rads + " RAD/s"); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHadron.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHadron.java index fed73cb60..167f550c8 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHadron.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHadron.java @@ -3,6 +3,7 @@ package com.hbm.tileentity.machine; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; +import java.util.HashMap; import java.util.List; import com.hbm.blocks.ModBlocks; @@ -20,7 +21,7 @@ import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.tileentity.machine.TileEntityHadronDiode.DiodeConfig; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -36,7 +37,7 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUser, IGUIProvider { +public class TileEntityHadron extends TileEntityMachineBase implements IEnergyReceiverMK2, IGUIProvider { public long power; public static final long maxPower = 10000000; @@ -106,6 +107,9 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs power = Library.chargeTEFromItems(slots, 4, power, maxPower); drawPower(); + + particles.addAll(particlesToAdd); + particlesToAdd.clear(); if(delay <= 0 && this.isOn && particles.size() < maxParticles && slots[0] != null && slots[1] != null && power >= maxPower * 0.75) { @@ -133,6 +137,25 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs } particlesToRemove.clear(); + + //Sort the virtual particles by momentum, and run through them until we have enough momentum to complete the recipe + //If we succeed, "collapse" the cheapest particle that had enough momentum + //If we fail to make anything, "collapse" the most expensive particle + if(particles.isEmpty() && !particlesCompleted.isEmpty()) { + ItemStack[] result = null; + Particle particle = null; + + particlesCompleted.sort((p1, p2) -> { return p1.momentum - p2.momentum; }); + for(Particle p : particlesCompleted) { + particle = p; + result = HadronRecipes.getOutput(p.item1, p.item2, p.momentum, analysisOnly); + if(result != null) break; + } + + process(particle, result); + + particlesCompleted.clear(); + } NBTTagCompound data = new NBTTagCompound(); data.setBoolean("isOn", isOn); @@ -151,9 +174,9 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs } } - private void process(Particle p) { - - ItemStack[] result = HadronRecipes.getOutput(p.item1, p.item2, p.momentum, analysisOnly); + private void process(Particle p, ItemStack[] result) { + //Collapse this particle to real by consuming power + p.consumePower(); if(result == null) { this.state = HadronRecipes.returnCode; @@ -166,9 +189,7 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs if((slots[2] == null || (slots[2].getItem() == result[0].getItem() && slots[2].stackSize < slots[2].getMaxStackSize())) && (slots[3] == null || (slots[3].getItem() == result[1].getItem() && slots[3].stackSize < slots[3].getMaxStackSize()))) { - for(int i = 2; i <= 3; i++ ) { - - //System.out.println("yes"); + for(int i = 2; i <= 3; i++) { if(slots[i] == null) slots[i] = result[i - 2].copy(); else @@ -193,6 +214,8 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs @Override public void networkUnpack(NBTTagCompound data) { + super.networkUnpack(data); + this.isOn = data.getBoolean("isOn"); this.power = data.getLong("power"); this.analysisOnly = data.getBoolean("analysis"); @@ -250,17 +273,18 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs particlesToRemove.add(p); if(!p.isExpired()) - process(p); + particlesCompleted.add(p); p.expired = true; } static final int maxParticles = 1; - List particles = new ArrayList(); - List particlesToRemove = new ArrayList(); + List particles = new ArrayList(); + List particlesToRemove = new ArrayList(); + List particlesToAdd = new ArrayList(); + List particlesCompleted = new ArrayList(); private void updateParticles() { - for(Particle particle : particles) { particle.update(); } @@ -325,6 +349,25 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs this.stat_z = z; this.stat_success = false; } + + public void expire(Particle particle, EnumHadronState reason) { + if(particle.expired) + return; + + particle.consumePower(); + for(Particle p : particles) { + p.expired = true; + particlesToRemove.add(p); + } + worldObj.newExplosion(null, particle.posX + 0.5, particle.posY + 0.5, particle.posZ + 0.5, 10, false, false); + + //If any particles expire, cancel any succeeding particles, since they'll confuse the player + particlesCompleted.clear(); + + state = reason; + delay = delayError; + setExpireStats(reason, particle.momentum, particle.posX, particle.posY, particle.posZ); + } public class Particle { @@ -345,6 +388,16 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs int cl1 = 0; boolean expired = false; + boolean cloned = false; + + //Quantum mechanical ass particle + //Virtual particles traverse the accelerator without consuming electrical power + //The cheapest valid route to the analysis chamber is then turned into a real particle, consuming power + List plugs = new ArrayList(); + + //Quantum particles should only traverse a schottky direction ONCE + //Keep a list of traversed diodes and directions + HashMap> history = new HashMap>(); public Particle(ItemStack item1, ItemStack item2, ForgeDirection dir, int posX, int posY, int posZ) { this.item1 = item1.copy(); @@ -359,22 +412,27 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs this.charge = 750; this.momentum = 0; } - - public void expire(EnumHadronState reason) { - - if(expired) - return; - - this.expired = true; - particlesToRemove.add(this); - worldObj.newExplosion(null, posX + 0.5, posY + 0.5, posZ + 0.5, 10, false, false); - //System.out.println("Last dir: " + dir.name()); - //System.out.println("Last pos: " + posX + " " + posY + " " + posZ); - //Thread.currentThread().dumpStack(); - TileEntityHadron.this.state = reason; - TileEntityHadron.this.delay = delayError; - TileEntityHadron.this.setExpireStats(reason, this.momentum, posX, posY, posZ); + //Clones the particle and gives it a new direction + public Particle clone(ForgeDirection dir) { + Particle p = new Particle(item1, item2, dir, posX, posY, posZ); + p.momentum = momentum; + p.charge = charge; + p.analysis = analysis; + p.isCheckExempt = isCheckExempt; + p.cl0 = cl0; + p.cl1 = cl1; + p.expired = expired; + p.plugs = new ArrayList(plugs); + p.cloned = true; + + //Deep clone the history + p.history = new HashMap>(history); + for(TileEntityHadronDiode diode : p.history.keySet()) { + p.history.put(diode, new ArrayList(p.history.get(diode))); + } + + return p; } public boolean isExpired() { @@ -386,7 +444,13 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs if(expired) //just in case return; - changeDirection(this); + //Recently cloned particles have already a set direction, this prevents infinite recursion + if(cloned) { + cloned = false; + } else { + changeDirection(this); + } + makeSteppy(this); if(!this.isExpired()) //only important for when the current segment is the core @@ -395,19 +459,13 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs isCheckExempt = false; //clearing up the exemption we might have held from the previous turn, AFTER stepping if(charge < 0) - this.expire(EnumHadronState.ERROR_NO_CHARGE); + expire(this, EnumHadronState.ERROR_NO_CHARGE); if(cl0 > 0) cl0--; if(cl1 > 0) cl1--; } - public void incrementCharge(Block block, int meta, int coilVal) { - - if(block == ModBlocks.hadron_cooler) { - if(meta == 0) cl0 += 10; - if(meta == 1) cl1 += 5; - } - + public void incrementCharge(int coilVal) { //not the best code ever made but it works, dammit if(cl1 > 0) { @@ -425,6 +483,14 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs this.momentum += coilVal; } + + public void consumePower() { + for(TileEntityHadronPower plug : plugs) { + long bit = 10000; + int times = (int) (plug.getPower() / bit); + plug.setPower(plug.getPower() - times * bit); + } + } } /** @@ -450,7 +516,7 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs if(te instanceof TileEntityHadron) { if(p.analysis != 3) - p.expire(EnumHadronState.ERROR_NO_ANALYSIS); + expire(p, EnumHadronState.ERROR_NO_ANALYSIS); else this.finishParticle(p); @@ -458,7 +524,7 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs } if(block.getMaterial() != Material.air && block != ModBlocks.hadron_diode) - p.expire(EnumHadronState.ERROR_OBSTRUCTED_CHANNEL); + expire(p, EnumHadronState.ERROR_OBSTRUCTED_CHANNEL); if(block == ModBlocks.hadron_diode) p.isCheckExempt = true; @@ -488,6 +554,8 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs //-> all coils have to be air //-> all platings have to be analysis chamber walls boolean analysis = true; + //ensures coolers are useful throughout their initial segment + int totalValue = 0; for(int a = x - dX * 2; a <= x + dX * 2; a++) { for(int b = y - dY * 2; b <= y + dY * 2; b++) { @@ -530,10 +598,15 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs //not a valid coil: kablam! if(!isValidCoil(block)) { - p.expire(EnumHadronState.ERROR_EXPECTED_COIL); + expire(p, EnumHadronState.ERROR_EXPECTED_COIL); } else { p.charge -= coilVal; - p.incrementCharge(block, meta, coilVal); + totalValue += coilVal; + + if(block == ModBlocks.hadron_cooler) { + if(meta == 0) p.cl0 += 10; + if(meta == 1) p.cl1 += 5; + } } continue; @@ -564,7 +637,7 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs int times = (int) (plug.getPower() / bit); //how many charges the plug has to offer p.charge += times; - plug.setPower(plug.getPower() - times * bit); + p.plugs.add(plug); continue; } @@ -573,15 +646,14 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs if(p.isCheckExempt && ix + iy + iz == 2) { continue; } - - //System.out.println("Was exempt: " + p.isCheckExempt); - //worldObj.setBlock(a, b, c, Blocks.dirt); - p.expire(EnumHadronState.ERROR_MALFORMED_SEGMENT); + expire(p, EnumHadronState.ERROR_MALFORMED_SEGMENT); } } } } + //all errors prior to this point come from bad construction, where exact momentum is irrelevant + p.incrementCharge(totalValue); if(analysis) { @@ -589,14 +661,17 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs //if the analysis chamber is too big, destroy if(p.analysis > 3) - p.expire(EnumHadronState.ERROR_ANALYSIS_TOO_LONG); + expire(p, EnumHadronState.ERROR_ANALYSIS_TOO_LONG); if(p.analysis == 2) { - this.worldObj.playSoundEffect(p.posX + 0.5, p.posY + 0.5, p.posZ + 0.5, "fireworks.blast", 2.0F, 2F); + //Only pop for the first particle + if(this.state != EnumHadronState.ANALYSIS) { + this.worldObj.playSoundEffect(p.posX + 0.5, p.posY + 0.5, p.posZ + 0.5, "fireworks.blast", 2.0F, 2F); + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "hadron"); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, p.posX + 0.5, p.posY + 0.5, p.posZ + 0.5), new TargetPoint(worldObj.provider.dimensionId, p.posX + 0.5, p.posY + 0.5, p.posZ + 0.5, 25)); + } this.state = EnumHadronState.ANALYSIS; - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "hadron"); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, p.posX + 0.5, p.posY + 0.5, p.posZ + 0.5), new TargetPoint(worldObj.provider.dimensionId, p.posX + 0.5, p.posY + 0.5, p.posZ + 0.5, 25)); } //if operating in line accelerator mode, halt after 2 blocks and staart the reading @@ -608,7 +683,7 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs //if the analysis stops despite being short of 3 steps in the analysis chamber, destroy if(p.analysis > 0 && p.analysis < 3) - p.expire(EnumHadronState.ERROR_ANALYSIS_TOO_SHORT); + expire(p, EnumHadronState.ERROR_ANALYSIS_TOO_SHORT); } } @@ -639,7 +714,7 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs if(diode.getConfig(p.dir.getOpposite().ordinal()) != DiodeConfig.IN) { //it appears as if we have slammed into the side of a diode, ouch - p.expire(EnumHadronState.ERROR_DIODE_COLLISION); + expire(p, EnumHadronState.ERROR_DIODE_COLLISION); } //there's a diode ahead, turn off checks so we can make the curve @@ -661,29 +736,36 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs p.isCheckExempt = true; TileEntityHadronDiode diode = (TileEntityHadronDiode)te; - - //the direction in which we were going anyway is an output, so we will keep going - if(diode.getConfig(dir.ordinal()) == DiodeConfig.OUT) { - return; - - //well then, iterate through some random directions and hope a valid output shows up - } else { - - List dirs = getRandomDirs(); - - for(ForgeDirection d : dirs) { - - if(d == dir || d == dir.getOpposite()) - continue; - - //looks like we can leave! - if(diode.getConfig(d.ordinal()) == DiodeConfig.OUT) { - //set the direction and leave this hellhole + + boolean hasTurnedCurrent = false; + + if(!p.history.containsKey(diode)) + p.history.put(diode, new ArrayList()); + + List usedDirections = p.history.get(diode); + + //Instance a new particle for each required fork + for(ForgeDirection d : ForgeDirection.VALID_DIRECTIONS) { + if(!usedDirections.contains(d) && diode.getConfig(d.ordinal()) == DiodeConfig.OUT) { + if(!hasTurnedCurrent) { p.dir = d; - return; + hasTurnedCurrent = true; + } else { + Particle clone = p.clone(d); + clone.history.get(diode).add(d); + particlesToAdd.add(clone); } } } + + //Add the used direction to the main particle AFTER cloning, so the clones don't get incorrect travel history + usedDirections.add(p.dir); + + //If we failed to exit, raise DIODE_COLLISION + if(!hasTurnedCurrent) + expire(p, EnumHadronState.ERROR_DIODE_COLLISION); + + return; } //next step is air or the core, proceed @@ -712,7 +794,7 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs //it seems like there are two or more possible ways, which is not allowed without a diode //sorry kid, nothing personal } else { - p.expire(EnumHadronState.ERROR_BRANCHING_TURN); + expire(p, EnumHadronState.ERROR_BRANCHING_TURN); return; } } @@ -724,7 +806,7 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs return; } - p.expire(EnumHadronState.ERROR_OBSTRUCTED_CHANNEL); + expire(p, EnumHadronState.ERROR_OBSTRUCTED_CHANNEL); } /** @@ -764,7 +846,8 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs b instanceof BlockHadronCoil || b == ModBlocks.hadron_plating_glass || b == ModBlocks.hadron_analysis_glass || - b == ModBlocks.hadron_access; + b == ModBlocks.hadron_access || + b == ModBlocks.hadron_cooler; } public boolean isAnalysis(Block b) { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHadronPower.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHadronPower.java index 4e8bcf815..814711f6d 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHadronPower.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHadronPower.java @@ -4,12 +4,12 @@ import com.hbm.blocks.machine.BlockHadronPower; import com.hbm.tileentity.INBTPacketReceiver; import com.hbm.tileentity.TileEntityLoadedBase; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import net.minecraft.block.Block; import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityHadronPower extends TileEntityLoadedBase implements IEnergyUser, INBTPacketReceiver { +public class TileEntityHadronPower extends TileEntityLoadedBase implements IEnergyReceiverMK2, INBTPacketReceiver { public long power; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHeatBoiler.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHeatBoiler.java index 39b72b06c..312210f98 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHeatBoiler.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHeatBoiler.java @@ -94,6 +94,7 @@ public class TileEntityHeatBoiler extends TileEntityLoadedBase implements IFluid data.setBoolean("exploded", this.hasExploded); data.setBoolean("isOn", this.isOn); + data.setBoolean("muffled", this.muffled); INBTPacketReceiver.networkPack(this, data, 25); } else { @@ -109,7 +110,8 @@ public class TileEntityHeatBoiler extends TileEntityLoadedBase implements IFluid } else if(!audio.isPlaying()) { audio = rebootAudio(audio); } - + + audio.updateVolume(getVolume(1F)); audio.keepAlive(); } else { @@ -150,6 +152,7 @@ public class TileEntityHeatBoiler extends TileEntityLoadedBase implements IFluid @Override public void networkUnpack(NBTTagCompound nbt) { this.hasExploded = nbt.getBoolean("exploded"); + this.muffled = nbt.getBoolean("muffled"); this.heat = nbt.getInteger("heat"); this.tanks[0].readFromNBT(nbt, "0"); this.tanks[1].readFromNBT(nbt, "1"); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHeatBoilerIndustrial.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHeatBoilerIndustrial.java index fa447da65..fe337615f 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHeatBoilerIndustrial.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHeatBoilerIndustrial.java @@ -75,6 +75,7 @@ public class TileEntityHeatBoilerIndustrial extends TileEntityLoadedBase impleme } data.setBoolean("isOn", this.isOn); + data.setBoolean("muffled", this.muffled); INBTPacketReceiver.networkPack(this, data, 25); } else { @@ -90,7 +91,8 @@ public class TileEntityHeatBoilerIndustrial extends TileEntityLoadedBase impleme } else if(!audio.isPlaying()) { audio = rebootAudio(audio); } - + + audio.updateVolume(getVolume(1F)); audio.keepAlive(); } else { @@ -134,6 +136,7 @@ public class TileEntityHeatBoilerIndustrial extends TileEntityLoadedBase impleme this.tanks[0].readFromNBT(nbt, "0"); this.tanks[1].readFromNBT(nbt, "1"); this.isOn = nbt.getBoolean("isOn"); + this.muffled = nbt.getBoolean("muffled"); } protected void tryPullHeat() { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterElectric.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterElectric.java index 35569da50..7c8a19797 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterElectric.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterElectric.java @@ -5,9 +5,11 @@ import com.hbm.main.MainRegistry; import com.hbm.sound.AudioWrapper; import com.hbm.tileentity.INBTPacketReceiver; import com.hbm.tileentity.TileEntityLoadedBase; +import com.hbm.util.CompatEnergyControl; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.tile.IHeatSource; +import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.nbt.NBTTagCompound; @@ -15,7 +17,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityHeaterElectric extends TileEntityLoadedBase implements IHeatSource, IEnergyUser, INBTPacketReceiver { +public class TileEntityHeaterElectric extends TileEntityLoadedBase implements IHeatSource, IEnergyReceiverMK2, INBTPacketReceiver, IInfoProviderEC { public long power; public int heatEnergy; @@ -49,6 +51,7 @@ public class TileEntityHeaterElectric extends TileEntityLoadedBase implements IH data.setByte("s", (byte) this.setting); data.setInteger("h", this.heatEnergy); data.setBoolean("o", isOn); + data.setBoolean("muffled", muffled); INBTPacketReceiver.networkPack(this, data, 25); } else { @@ -60,7 +63,8 @@ public class TileEntityHeaterElectric extends TileEntityLoadedBase implements IH } else if(!audio.isPlaying()) { audio = rebootAudio(audio); } - + + audio.updateVolume(getVolume(1F)); audio.keepAlive(); } else { @@ -103,6 +107,7 @@ public class TileEntityHeaterElectric extends TileEntityLoadedBase implements IH this.setting = nbt.getByte("s"); this.heatEnergy = nbt.getInteger("h"); this.isOn = nbt.getBoolean("o"); + this.muffled = nbt.getBoolean("muffled"); } @Override @@ -197,4 +202,11 @@ public class TileEntityHeaterElectric extends TileEntityLoadedBase implements IH public double getMaxRenderDistanceSquared() { return 65536.0D; } + + @Override + public void provideExtraInfo(NBTTagCompound data) { + data.setLong(CompatEnergyControl.D_CONSUMPTION_HE, getConsumption()); + data.setLong(CompatEnergyControl.L_ENERGY_TU, getHeatStored()); + data.setLong(CompatEnergyControl.D_OUTPUT_TU, getHeatGen()); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterHeatex.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterHeatex.java index e1dffc2b1..73f01dbce 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterHeatex.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterHeatex.java @@ -23,6 +23,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @@ -227,7 +228,7 @@ public class TileEntityHeaterHeatex extends TileEntityMachineBase implements IHe @Override public void receiveControl(NBTTagCompound data) { - if(data.hasKey("toCool")) this.amountToCool = Math.max(data.getInteger("toCool"), 1); + if(data.hasKey("toCool")) this.amountToCool = MathHelper.clamp_int(data.getInteger("toCool"), 1, tanks[0].getMaxFill()); if(data.hasKey("delay")) this.tickDelay = Math.max(data.getInteger("delay"), 1); this.markChanged(); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterOilburner.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterOilburner.java index 964ef74fd..6b348f78d 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterOilburner.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterOilburner.java @@ -1,13 +1,12 @@ package com.hbm.tileentity.machine; -import com.hbm.handler.pollution.PollutionHandler; -import com.hbm.handler.pollution.PollutionHandler.PollutionType; import com.hbm.interfaces.IControlReceiver; import com.hbm.inventory.container.ContainerOilburner; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.trait.FT_Flammable; -import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Leaded; +import com.hbm.inventory.fluid.trait.FT_Polluting; +import com.hbm.inventory.fluid.trait.FluidTrait.FluidReleaseType; import com.hbm.inventory.gui.GUIOilburner; import com.hbm.lib.Library; import com.hbm.tileentity.IGUIProvider; @@ -82,9 +81,8 @@ public class TileEntityHeaterOilburner extends TileEntityMachinePolluting implem this.heatEnergy += heat * toBurn; - if(worldObj.getTotalWorldTime() % 20 == 0 && toBurn > 0) { - this.pollute(PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * burnRate * 0.5F); - if(tank.getTankType().hasTrait(FT_Leaded.class)) this.pollute(PollutionType.HEAVYMETAL, PollutionHandler.HEAVY_METAL_PER_SECOND * burnRate * 0.5F); + if(worldObj.getTotalWorldTime() % 5 == 0 && toBurn > 0) { + FT_Polluting.pollute(worldObj, xCoord, yCoord, zCoord, tank.getTankType(), FluidReleaseType.BURN, toBurn * 5); } shouldCool = false; @@ -108,6 +106,8 @@ public class TileEntityHeaterOilburner extends TileEntityMachinePolluting implem @Override public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + tank.readFromNBT(nbt, "tank"); isOn = nbt.getBoolean("isOn"); heatEnergy = nbt.getInteger("h"); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityICF.java b/src/main/java/com/hbm/tileentity/machine/TileEntityICF.java new file mode 100644 index 000000000..7d8a66dfd --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityICF.java @@ -0,0 +1,252 @@ +package com.hbm.tileentity.machine; + +import com.hbm.inventory.container.ContainerICF; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.fluid.trait.FT_Heatable; +import com.hbm.inventory.fluid.trait.FT_Heatable.HeatingStep; +import com.hbm.inventory.fluid.trait.FT_Heatable.HeatingType; +import com.hbm.inventory.gui.GUIICF; +import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemICFPellet; +import com.hbm.lib.Library; +import com.hbm.tileentity.IGUIProvider; +import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.fauxpointtwelve.DirPos; + +import api.hbm.fluid.IFluidStandardTransceiver; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityICF extends TileEntityMachineBase implements IGUIProvider, IFluidStandardTransceiver { + + public long laser; + public long maxLaser; + public long heat; + public static final long maxHeat = 1_000_000_000_000L; + + public FluidTank[] tanks; + + public TileEntityICF() { + super(12); + this.tanks = new FluidTank[3]; + this.tanks[0] = new FluidTank(Fluids.SODIUM, 512_000); + this.tanks[1] = new FluidTank(Fluids.SODIUM_HOT, 512_000); + this.tanks[2] = new FluidTank(Fluids.STELLAR_FLUX, 24_000); + } + + @Override + public String getName() { + return "container.machineICF"; + } + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + + tanks[0].setType(11, slots); + + for(DirPos pos : getConPos()) { + this.trySubscribe(tanks[0].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + } + + this.heat += this.laser * 0.25D; + boolean markDirty = false; + + //eject depleted pellet + if(slots[5] != null && slots[5].getItem() == ModItems.icf_pellet_depleted) { + for(int i = 6; i < 11; i++) { + if(slots[i] == null) { + slots[i] = slots[5].copy(); + slots[5] = null; + markDirty = true; + break; + } + } + } + + //insert fresh pellet + if(slots[5] == null) { + for(int i = 0; i < 5; i++) { + if(slots[i] != null && slots[i].getItem() == ModItems.icf_pellet) { + slots[5] = slots[i].copy(); + slots[i] = null; + markDirty = true; + break; + } + } + } + + if(slots[5] != null && slots[5].getItem() == ModItems.icf_pellet) { + this.heat += ItemICFPellet.react(slots[5], this.laser); + if(ItemICFPellet.getDepletion(slots[5]) >= ItemICFPellet.getMaxDepletion(slots[5])) { + slots[5] = new ItemStack(ModItems.icf_pellet_depleted); + markDirty = true; + } + + tanks[2].setFill(tanks[2].getFill() + (int) Math.ceil(this.heat * 10D / this.maxHeat)); + if(tanks[2].getFill() > tanks[2].getMaxFill()) tanks[2].setFill(tanks[2].getMaxFill()); + } + + if(tanks[0].getTankType().hasTrait(FT_Heatable.class)) { + FT_Heatable trait = tanks[0].getTankType().getTrait(FT_Heatable.class); + HeatingStep step = trait.getFirstStep(); + tanks[1].setTankType(step.typeProduced); + + int coolingCycles = tanks[0].getFill() / step.amountReq; + int heatingCycles = (tanks[1].getMaxFill() - tanks[1].getFill()) / step.amountProduced; + int heatCycles = (int) (this.heat / 4 / step.heatReq * trait.getEfficiency(HeatingType.ICF)); //25% cooling per tick + int cycles = Math.min(coolingCycles, Math.min(heatingCycles, heatCycles)); + + tanks[0].setFill(tanks[0].getFill() - step.amountReq * cycles); + tanks[1].setFill(tanks[1].getFill() + step.amountProduced * cycles); + this.heat -= step.heatReq * cycles; + } + + for(DirPos pos : getConPos()) { + this.sendFluid(tanks[1], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + this.sendFluid(tanks[2], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + } + + this.heat *= 0.999D; + if(this.heat > this.maxHeat) this.heat = this.maxHeat; + if(markDirty) this.markDirty(); + + this.networkPackNT(150); + this.laser = 0; + this.maxLaser = 0; + } + } + + public DirPos[] getConPos() { + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + return new DirPos[] { + new DirPos(xCoord, yCoord + 6, zCoord, Library.POS_Y), + new DirPos(xCoord, yCoord - 1, zCoord, Library.NEG_Y), + new DirPos(xCoord + dir.offsetX * 3 + rot.offsetX * 6, yCoord + 3, zCoord + dir.offsetZ * 3 + rot.offsetZ * 6, dir), + new DirPos(xCoord + dir.offsetX * 3 - rot.offsetX * 6, yCoord + 3, zCoord + dir.offsetZ * 3 - rot.offsetZ * 6, dir), + new DirPos(xCoord - dir.offsetX * 3 + rot.offsetX * 6, yCoord + 3, zCoord - dir.offsetZ * 3 + rot.offsetZ * 6, dir.getOpposite()), + new DirPos(xCoord - dir.offsetX * 3 - rot.offsetX * 6, yCoord + 3, zCoord - dir.offsetZ * 3 - rot.offsetZ * 6, dir.getOpposite()) + }; + } + + @Override public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeLong(laser); + buf.writeLong(maxLaser); + buf.writeLong(heat); + for(int i = 0; i < 3; i++) tanks[i].serialize(buf); + } + + @Override public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.laser = buf.readLong(); + this.maxLaser = buf.readLong(); + this.heat = buf.readLong(); + for(int i = 0; i < 3; i++) tanks[i].deserialize(buf); + } + + @Override + public boolean isItemValidForSlot(int slot, ItemStack stack) { + return slot < 5 && stack.getItem() == ModItems.icf_pellet; + } + + @Override + public boolean canExtractItem(int slot, ItemStack stack, int side) { + return slot > 5; + } + + public static final int[] io = new int[] {0, 1, 2, 3, 4, 6, 7, 8, 9, 10}; + + @Override + public int[] getAccessibleSlotsFromSide(int side) { + return io; + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + for(int i = 0; i < 3; i++) tanks[i].readFromNBT(nbt, "t" + i); + + this.heat = nbt.getLong("heat"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + for(int i = 0; i < 3; i++) tanks[i].writeToNBT(nbt, "t" + i); + + nbt.setLong("heat", heat); + } + + @Override + public boolean isUseableByPlayer(EntityPlayer player) { + if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) { + return false; + } else { + return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <= 256; + } + } + + AxisAlignedBB bb = null; + + @Override + public AxisAlignedBB getRenderBoundingBox() { + + if(bb == null) { + bb = AxisAlignedBB.getBoundingBox( + xCoord + 0.5 - 8, + yCoord, + zCoord + 0.5 - 8, + xCoord + 0.5 + 9, + yCoord + 0.5 + 5, + zCoord + 0.5 + 9 + ); + } + + return bb; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } + + @Override + public FluidTank[] getAllTanks() { + return tanks; + } + + @Override + public FluidTank[] getSendingTanks() { + return new FluidTank[] {tanks[1], tanks[2]}; + } + + @Override + public FluidTank[] getReceivingTanks() { + return new FluidTank[] {tanks[0]}; + } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerICF(player.inventory, this); + } + + @Override + @SideOnly(Side.CLIENT) + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIICF(player.inventory, this); + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityICFController.java b/src/main/java/com/hbm/tileentity/machine/TileEntityICFController.java new file mode 100644 index 000000000..a6dae446b --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityICFController.java @@ -0,0 +1,244 @@ +package com.hbm.tileentity.machine; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; + +import com.hbm.blocks.ModBlocks; +import com.hbm.tileentity.TileEntityTickingBase; +import com.hbm.util.fauxpointtwelve.BlockPos; + +import api.hbm.energymk2.IEnergyReceiverMK2; +import io.netty.buffer.ByteBuf; +import net.minecraft.block.Block; +import net.minecraft.entity.Entity; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.DamageSource; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityICFController extends TileEntityTickingBase implements IEnergyReceiverMK2 { + + public long power; + public int laserLength; + + public int cellCount; + public int emitterCount; + public int capacitorCount; + public int turbochargerCount; + + protected List ports = new ArrayList(); + + public boolean assembled; + + public void setup(HashSet ports, HashSet cells, HashSet emitters, HashSet capacitors, HashSet turbochargers) { + + this.cellCount = 0; + this.emitterCount = 0; + this.capacitorCount = 0; + this.turbochargerCount = 0; + + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()).getOpposite(); + BlockPos pos = new BlockPos(0, 0, 0); + + for(int i = 0; i < cells.size(); i++) { + int j = i + 1; + + if(cells.contains(pos.mutate(xCoord + dir.offsetX * j, yCoord, zCoord + dir.offsetZ * j))) { + this.cellCount++; + } else { + break; + } + } + + for(BlockPos emitter : emitters) { for(ForgeDirection offset : ForgeDirection.VALID_DIRECTIONS) { + pos.mutate(emitter.getX() + offset.offsetX, emitter.getY() + offset.offsetY, emitter.getZ() + offset.offsetZ); + if(cells.contains(pos)) { this.emitterCount++; break; } + } + } + + for(BlockPos capacitor : capacitors) { for(ForgeDirection offset : ForgeDirection.VALID_DIRECTIONS) { + pos.mutate(capacitor.getX() + offset.offsetX, capacitor.getY() + offset.offsetY, capacitor.getZ() + offset.offsetZ); + if(emitters.contains(pos)) { this.capacitorCount++; break; } + } + } + + for(BlockPos turbo : turbochargers) { for(ForgeDirection offset : ForgeDirection.VALID_DIRECTIONS) { + pos.mutate(turbo.getX() + offset.offsetX, turbo.getY() + offset.offsetY, turbo.getZ() + offset.offsetZ); + if(capacitors.contains(pos)) { this.turbochargerCount++; break; } + } + } + + this.ports.addAll(ports); + } + + @Override + public String getInventoryName() { + return "container.icfController"; + } + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + + this.networkPackNT(50); + + if(this.assembled) { + for(BlockPos pos : ports) { + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + BlockPos portPos = pos.offset(dir); + if(this.getMaxPower() > 0) this.trySubscribe(worldObj, portPos.getX(), portPos.getY(), portPos.getZ(), dir); + } + } + + if(this.power > 0) { + + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()); + + for(int i = 1; i < 50; i++) { + this.laserLength = i; + + Block b = worldObj.getBlock(xCoord + dir.offsetX * i, yCoord, zCoord + dir.offsetZ * i); + if(b == ModBlocks.icf) { + TileEntity tile = worldObj.getTileEntity(xCoord + dir.offsetX * (i + 8), yCoord - 3, zCoord + dir.offsetZ * (i + 8)); + if(tile instanceof TileEntityICF) { + TileEntityICF icf = (TileEntityICF) tile; + icf.laser += this.getPower(); + icf.maxLaser += this.getMaxPower(); + break; + } + } + + if(!b.isAir(worldObj, xCoord + dir.offsetX * i, yCoord, zCoord + dir.offsetZ * i)) { + float hardness = b.getExplosionResistance(null); + if(hardness < 6000) worldObj.func_147480_a(xCoord + dir.offsetX * i, yCoord, zCoord + dir.offsetZ * i, false); + break; + } + } + + double blx = Math.min(xCoord, xCoord + dir.offsetX * laserLength) + 0.2; + double bux = Math.max(xCoord, xCoord + dir.offsetX * laserLength) + 0.8; + double bly = Math.min(yCoord, yCoord + dir.offsetY * laserLength) + 0.2; + double buy = Math.max(yCoord, yCoord + dir.offsetY * laserLength) + 0.8; + double blz = Math.min(zCoord, zCoord + dir.offsetZ * laserLength) + 0.2; + double buz = Math.max(zCoord, zCoord + dir.offsetZ * laserLength) + 0.8; + + List list = worldObj.getEntitiesWithinAABB(Entity.class, AxisAlignedBB.getBoundingBox(blx, bly, blz, bux, buy, buz)); + + for(Entity e : list) { + e.attackEntityFrom(DamageSource.inFire, 50); + e.setFire(5); + } + + this.setPower(0); + } else { + this.laserLength = 0; + } + + } else { + this.laserLength = 0; + } + } else { + + if(this.laserLength > 0 && worldObj.rand.nextInt(5) == 0) { + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + double offXZ = worldObj.rand.nextDouble() * 0.25 - 0.125; + double offY = worldObj.rand.nextDouble() * 0.25 - 0.125; + double dist = 0.55; + worldObj.spawnParticle("reddust", xCoord + 0.5 + dir.offsetX * dist + rot.offsetX * offXZ, yCoord + 0.5 + offY, zCoord + 0.5 + dir.offsetZ * dist + rot.offsetZ * offXZ, 0, 0, 0); + } + } + } + + @Override public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeLong(power); + buf.writeInt(capacitorCount); + buf.writeInt(turbochargerCount); + buf.writeInt(laserLength); + } + + @Override public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.power = buf.readLong(); + this.capacitorCount = buf.readInt(); + this.turbochargerCount = buf.readInt(); + this.laserLength = buf.readInt(); + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + + this.power = nbt.getLong("power"); + + this.assembled = nbt.getBoolean("assembled"); + this.cellCount = nbt.getInteger("cellCount"); + this.emitterCount = nbt.getInteger("emitterCount"); + this.capacitorCount = nbt.getInteger("capacitorCount"); + this.turbochargerCount = nbt.getInteger("turbochargerCount"); + + ports.clear(); + int portCount = nbt.getInteger("portCount"); + for(int i = 0; i < portCount; i++) { + int[] port = nbt.getIntArray("p" + i); + ports.add(new BlockPos(port[0], port[1], port[2])); + } + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + + nbt.setLong("power", power); + + nbt.setBoolean("assembled", assembled); + nbt.setInteger("cellCount", cellCount); + nbt.setInteger("emitterCount", emitterCount); + nbt.setInteger("capacitorCount", capacitorCount); + nbt.setInteger("turbochargerCount", turbochargerCount); + + nbt.setInteger("portCount", ports.size()); + for(int i = 0; i < ports.size(); i++) { + BlockPos pos = ports.get(i); + nbt.setIntArray("p" + i, new int[] { pos.getX(), pos.getY(), pos.getZ() }); + } + } + + @Override + public long getPower() { + return Math.min(power, this.getMaxPower()); + } + + @Override + public void setPower(long power) { + this.power = power; + } + + @Override + public long getMaxPower() { + return (long) (Math.sqrt(capacitorCount) * 2_500_000 + Math.sqrt(Math.min(turbochargerCount, capacitorCount)) * 5_000_000); + } + + AxisAlignedBB bb = null; + + @Override + public AxisAlignedBB getRenderBoundingBox() { + + if(bb == null) { + bb = AxisAlignedBB.getBoundingBox( + xCoord + 0.5 - 50, + yCoord, + zCoord + 0.5 - 50, + xCoord + 0.5 + 50, + yCoord + 1, + zCoord + 0.5 + 50 + ); + } + + return bb; + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java b/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java index f7a078115..22fb2665d 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java @@ -24,12 +24,15 @@ import com.hbm.lib.Library; import com.hbm.main.MainRegistry; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; +import com.hbm.sound.AudioWrapper; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.CompatEnergyControl; import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardTransceiver; +import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -43,7 +46,7 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityITER extends TileEntityMachineBase implements IEnergyUser, IFluidAcceptor, IFluidSource, IFluidStandardTransceiver, IGUIProvider /* TODO: finish fluid API impl */ { +public class TileEntityITER extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidAcceptor, IFluidSource, IFluidStandardTransceiver, IGUIProvider, IInfoProviderEC { public long power; public static final long maxPower = 10000000; @@ -63,6 +66,10 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyUser public float lastRotor; public boolean isOn; + private float rotorSpeed = 0F; + + private AudioWrapper audio; + public TileEntityITER() { super(5); tanks = new FluidTank[2]; @@ -181,16 +188,38 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyUser /// END Notif packets /// } else { - + this.lastRotor = this.rotor; + this.rotor += this.rotorSpeed; + + if(this.rotor >= 360) { + this.rotor -= 360; + this.lastRotor -= 360; + } - if(this.isOn && this.power >= this.powerReq) { + if(this.isOn && this.power >= powerReq) { + this.rotorSpeed = Math.max(0F, Math.min(15F, this.rotorSpeed + 0.05F)); + + if(audio == null) { + audio = MainRegistry.proxy.getLoopedSound("hbm:block.fusionReactorRunning", xCoord, yCoord, zCoord, 1.0F, 30F, 1.0F); + audio.startSound(); + } + + float rotorSpeed = this.rotorSpeed / 15F; + audio.updateVolume(getVolume(0.5f * rotorSpeed)); + audio.updatePitch(0.25F + 0.75F * rotorSpeed); + } else { + this.rotorSpeed = Math.max(0F, Math.min(15F, this.rotorSpeed - 0.1F)); - this.rotor += 15F; - - if(this.rotor >= 360) { - this.rotor -= 360; - this.lastRotor -= 360; + if(audio != null) { + if(this.rotorSpeed > 0) { + float rotorSpeed = this.rotorSpeed / 15F; + audio.updateVolume(getVolume(0.5f * rotorSpeed)); + audio.updatePitch(0.25F + 0.75F * rotorSpeed); + } else { + audio.stopSound(); + audio = null; + } } } } @@ -356,6 +385,8 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyUser @Override public void networkUnpack(NBTTagCompound data) { + super.networkUnpack(data); + this.isOn = data.getBoolean("isOn"); this.power = data.getLong("power"); this.blanket = data.getInteger("blanket"); @@ -475,6 +506,26 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyUser return 0; } + @Override + public void onChunkUnload() { + super.onChunkUnload(); + + if(audio != null) { + audio.stopSound(); + audio = null; + } + } + + @Override + public void invalidate() { + super.invalidate(); + + if(audio != null) { + audio.stopSound(); + audio = null; + } + } + @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); @@ -600,4 +651,12 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyUser public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIITER(player.inventory, this); } + + @Override + public void provideExtraInfo(NBTTagCompound data) { + data.setBoolean(CompatEnergyControl.B_ACTIVE, this.isOn && plasma.getFill() > 0); + int output = FusionRecipes.getSteamProduction(plasma.getTankType()); + data.setDouble("consumption", output * 10); + data.setDouble("outputmb", output); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityLockableBase.java b/src/main/java/com/hbm/tileentity/machine/TileEntityLockableBase.java index 7e32bc7b7..5e65220a5 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityLockableBase.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityLockableBase.java @@ -68,6 +68,7 @@ public abstract class TileEntityLockableBase extends TileEntity { if(!isLocked) { return true; } else { + if(player == null) return false; ItemStack stack = player.getHeldItem(); if(stack != null && stack.getItem() instanceof ItemKey && diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAmgen.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAmgen.java index a88a7db69..a01b3b6f6 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAmgen.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAmgen.java @@ -3,27 +3,33 @@ package com.hbm.tileentity.machine; import com.hbm.blocks.ModBlocks; import com.hbm.handler.radiation.ChunkRadiationManager; import com.hbm.tileentity.TileEntityLoadedBase; +import com.hbm.util.CompatEnergyControl; -import api.hbm.energy.IEnergyGenerator; +import api.hbm.energymk2.IEnergyProviderMK2; +import api.hbm.tile.IInfoProviderEC; import net.minecraft.block.Block; import net.minecraft.init.Blocks; +import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineAmgen extends TileEntityLoadedBase implements IEnergyGenerator { +public class TileEntityMachineAmgen extends TileEntityLoadedBase implements IEnergyProviderMK2, IInfoProviderEC { public long power; public long maxPower = 500; + protected long output = 0; @Override public void updateEntity() { if(!worldObj.isRemote) { + + this.output = 0; Block block = worldObj.getBlock(xCoord, yCoord, zCoord); if(block == ModBlocks.machine_amgen) { float rad = ChunkRadiationManager.proxy.getRadiation(worldObj, xCoord, yCoord, zCoord); - power += rad; + this.output += rad; ChunkRadiationManager.proxy.decrementRad(worldObj, xCoord, yCoord, zCoord, 5F); } else if(block == ModBlocks.machine_geo) { @@ -31,11 +37,12 @@ public class TileEntityMachineAmgen extends TileEntityLoadedBase implements IEne this.checkGeoInteraction(xCoord, yCoord - 1, zCoord); } + this.power += this.output; if(power > maxPower) power = maxPower; for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) - this.sendPower(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); + this.tryProvide(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); } } @@ -44,21 +51,21 @@ public class TileEntityMachineAmgen extends TileEntityLoadedBase implements IEne Block b = worldObj.getBlock(x, y, z); if(b == ModBlocks.geysir_water) { - power += 75; + this.output += 75; } else if(b == ModBlocks.geysir_chlorine) { - power += 100; + this.output += 100; } else if(b == ModBlocks.geysir_vapor) { - power += 50; + this.output += 50; } else if(b == ModBlocks.geysir_nether) { - power += 500; + this.output += 500; } else if(b == Blocks.lava) { - power += 100; + this.output += 100; if(worldObj.rand.nextInt(6000) == 0) { worldObj.setBlock(xCoord, yCoord - 1, zCoord, Blocks.obsidian); } } else if(b == Blocks.flowing_lava) { - power += 25; + this.output += 25; if(worldObj.rand.nextInt(3000) == 0) { worldObj.setBlock(xCoord, yCoord - 1, zCoord, Blocks.cobblestone); @@ -80,4 +87,10 @@ public class TileEntityMachineAmgen extends TileEntityLoadedBase implements IEne public long getMaxPower() { return this.maxPower; } + + @Override + public void provideExtraInfo(NBTTagCompound data) { + data.setBoolean(CompatEnergyControl.B_ACTIVE, this.output > 0); + data.setDouble(CompatEnergyControl.D_OUTPUT_HE, this.output); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcFurnace.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcFurnace.java index 195b5f43e..f907bf852 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcFurnace.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcFurnace.java @@ -11,8 +11,10 @@ import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityLoadedBase; +import com.hbm.util.CompatEnergyControl; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; +import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -25,8 +27,9 @@ import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineArcFurnace extends TileEntityLoadedBase implements ISidedInventory, IEnergyUser, IGUIProvider { +public class TileEntityMachineArcFurnace extends TileEntityLoadedBase implements ISidedInventory, IEnergyReceiverMK2, IGUIProvider, IInfoProviderEC { private ItemStack slots[]; @@ -313,8 +316,9 @@ public class TileEntityMachineArcFurnace extends TileEntityLoadedBase implements boolean flag1 = false; if(!worldObj.isRemote) { - - this.updateStandardConnections(worldObj, xCoord, yCoord, zCoord); + + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) + this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); if(hasPower() && canProcess()) { @@ -400,4 +404,10 @@ public class TileEntityMachineArcFurnace extends TileEntityLoadedBase implements public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineArcFurnace(player.inventory, this); } + + @Override + public void provideExtraInfo(NBTTagCompound data) { + data.setBoolean(CompatEnergyControl.B_ACTIVE, this.hasPower() && this.canProcess()); + data.setInteger(CompatEnergyControl.I_PROGRESS, this.dualCookTime); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcWelder.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcWelder.java index d6211169b..fc2837579 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcWelder.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcWelder.java @@ -23,7 +23,7 @@ import com.hbm.util.I18nUtil; import com.hbm.util.fauxpointtwelve.BlockPos; import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardReceiver; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; @@ -39,7 +39,7 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineArcWelder extends TileEntityMachineBase implements IEnergyUser, IFluidStandardReceiver, IConditionalInvAccess, IGUIProvider, IUpgradeInfoProvider { +public class TileEntityMachineArcWelder extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardReceiver, IConditionalInvAccess, IGUIProvider, IUpgradeInfoProvider { public long power; public long maxPower = 2_000; @@ -142,7 +142,7 @@ public class TileEntityMachineArcWelder extends TileEntityMachineBase implements public boolean canProcess(ArcWelderRecipe recipe) { - if(this.power < recipe.consumption) return false; + if(this.power < this.consumption) return false; if(recipe.fluid != null) { if(this.tank.getTankType() != recipe.fluid.type) return false; @@ -197,6 +197,8 @@ public class TileEntityMachineArcWelder extends TileEntityMachineBase implements @Override public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + this.power = nbt.getLong("power"); this.maxPower = nbt.getLong("maxPower"); this.consumption = nbt.getLong("consumption"); @@ -354,7 +356,7 @@ public class TileEntityMachineArcWelder extends TileEntityMachineBase implements @Override public void provideInfo(UpgradeType type, int level, List info, boolean extendedInfo) { - info.add(IUpgradeInfoProvider.getStandardLabel(ModBlocks.machine_electric_furnace_off)); + info.add(IUpgradeInfoProvider.getStandardLabel(ModBlocks.machine_arc_welder)); if(type == UpgradeType.SPEED) { info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(this.KEY_DELAY, "-" + (level * 100 / 6) + "%")); info.add(EnumChatFormatting.RED + I18nUtil.resolveKey(this.KEY_CONSUMPTION, "+" + (level * 100) + "%")); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java index b549a6335..89a674740 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java @@ -20,7 +20,7 @@ import com.hbm.util.BobMathUtil; import com.hbm.util.I18nUtil; import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IBatteryItem; +import api.hbm.energymk2.IBatteryItem; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.GuiScreen; @@ -120,7 +120,7 @@ public class TileEntityMachineAssembler extends TileEntityMachineAssemblerBase i this.networkPack(data, 150); } else { - float volume = this.getVolume(2); + float volume = this.getVolume(2F); if(isProgressing && volume > 0) { @@ -145,6 +145,8 @@ public class TileEntityMachineAssembler extends TileEntityMachineAssemblerBase i @Override public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + this.power = nbt.getLong("power"); this.progress = nbt.getIntArray("progress"); this.maxProgress = nbt.getIntArray("maxProgress"); @@ -247,18 +249,6 @@ public class TileEntityMachineAssembler extends TileEntityMachineAssemblerBase i public double getMaxRenderDistanceSquared() { return 65536.0D; } - - public int countMufflers() { - - int count = 0; - - for(int x = xCoord - 1; x <= xCoord + 1; x++) - for(int z = zCoord - 1; z <= zCoord + 1; z++) - if(worldObj.getBlock(x, yCoord - 1, z) == ModBlocks.muffler) - count++; - - return count; - } @Override public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemblerBase.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemblerBase.java index 836b03f1d..be6f29afa 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemblerBase.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemblerBase.java @@ -13,14 +13,14 @@ import com.hbm.tileentity.machine.storage.TileEntityCrateTemplate; import com.hbm.util.InventoryUtil; import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; -public abstract class TileEntityMachineAssemblerBase extends TileEntityMachineBase implements IEnergyUser, IGUIProvider { +public abstract class TileEntityMachineAssemblerBase extends TileEntityMachineBase implements IEnergyReceiverMK2, IGUIProvider { public long power; public int[] progress; @@ -184,8 +184,12 @@ public abstract class TileEntityMachineAssemblerBase extends TileEntityMachineBa if(recipe != null) { for(AStack ingredient : recipe) { + + int tracker = 0; outer: while(!InventoryUtil.doesArrayHaveIngredients(slots, indices[0], indices[1], ingredient)) { + + if(tracker++ > 10) break; boolean found = false; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemfac.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemfac.java index 009bc53e7..a44f0e996 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemfac.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemfac.java @@ -117,6 +117,8 @@ public class TileEntityMachineAssemfac extends TileEntityMachineAssemblerBase im @Override public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + this.power = nbt.getLong("power"); this.progress = nbt.getIntArray("progress"); this.maxProgress = nbt.getIntArray("maxProgress"); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAutocrafter.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAutocrafter.java index 6b964c3a0..9f1834c63 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAutocrafter.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAutocrafter.java @@ -10,7 +10,7 @@ import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.ItemStackUtil; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.GuiScreen; @@ -23,8 +23,9 @@ import net.minecraft.item.crafting.CraftingManager; import net.minecraft.item.crafting.IRecipe; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineAutocrafter extends TileEntityMachineBase implements IEnergyUser, IGUIProvider { +public class TileEntityMachineAutocrafter extends TileEntityMachineBase implements IEnergyReceiverMK2, IGUIProvider { public static final String MODE_EXACT = "exact"; public static final String MODE_WILDCARD = "wildcard"; @@ -146,7 +147,7 @@ public class TileEntityMachineAutocrafter extends TileEntityMachineBase implemen if(!worldObj.isRemote) { this.power = Library.chargeTEFromItems(slots, 20, power, maxPower); - this.updateStandardConnections(worldObj, this); + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); if(!this.recipes.isEmpty() && this.power >= this.consumption) { IRecipe recipe = this.recipes.get(recipeIndex); @@ -207,6 +208,8 @@ public class TileEntityMachineAutocrafter extends TileEntityMachineBase implemen @Override public void networkUnpack(NBTTagCompound data) { + super.networkUnpack(data); + this.power = data.getLong("power"); modes = new String[9]; @@ -369,6 +372,10 @@ public class TileEntityMachineAutocrafter extends TileEntityMachineBase implemen } } + public void clear() { + for(int i = 0; i < this.getSizeInventory(); i++) this.setInventorySlotContents(i, null); + } + public static class ContainerBlank extends Container { @Override public void onCraftMatrixChanged(IInventory inventory) { } @Override public boolean canInteractWith(EntityPlayer player) { return false; } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoilerElectric.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoilerElectric.java index e29757724..dd61cdfae 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoilerElectric.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoilerElectric.java @@ -21,8 +21,8 @@ import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityLoadedBase; -import api.hbm.energy.IBatteryItem; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IBatteryItem; +import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; @@ -38,7 +38,7 @@ import net.minecraft.tileentity.TileEntityFurnace; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineBoilerElectric extends TileEntityLoadedBase implements ISidedInventory, IFluidContainer, IFluidAcceptor, IFluidSource, IEnergyUser, IFluidStandardTransceiver, IGUIProvider { +public class TileEntityMachineBoilerElectric extends TileEntityLoadedBase implements ISidedInventory, IFluidContainer, IFluidAcceptor, IFluidSource, IEnergyReceiverMK2, IFluidStandardTransceiver, IGUIProvider { private ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCMBFactory.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCMBFactory.java deleted file mode 100644 index 9232bc0da..000000000 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCMBFactory.java +++ /dev/null @@ -1,385 +0,0 @@ -package com.hbm.tileentity.machine; - -import com.hbm.interfaces.IFluidAcceptor; -import com.hbm.interfaces.IFluidContainer; -import com.hbm.inventory.container.ContainerMachineCMBFactory; -import com.hbm.inventory.fluid.FluidType; -import com.hbm.inventory.fluid.Fluids; -import com.hbm.inventory.fluid.tank.FluidTank; -import com.hbm.inventory.gui.GUIMachineCMBFactory; -import com.hbm.items.ModItems; -import com.hbm.lib.Library; -import com.hbm.packet.AuxElectricityPacket; -import com.hbm.packet.PacketDispatcher; -import com.hbm.tileentity.IGUIProvider; -import com.hbm.tileentity.TileEntityLoadedBase; - -import api.hbm.energy.IBatteryItem; -import api.hbm.energy.IEnergyUser; -import api.hbm.fluid.IFluidStandardReceiver; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Items; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.ISidedInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.world.World; - -public class TileEntityMachineCMBFactory extends TileEntityLoadedBase implements ISidedInventory, IEnergyUser, IFluidContainer, IFluidAcceptor, IFluidStandardReceiver, IGUIProvider { - - private ItemStack slots[]; - - public long power = 0; - public int process = 0; - public int soundCycle = 0; - public static final long maxPower = 100000000; - public static final int processSpeed = 200; - public FluidTank tank; - - private static final int[] slots_top = new int[] {1, 3}; - private static final int[] slots_bottom = new int[] {0, 2, 4}; - private static final int[] slots_side = new int[] {0, 2}; - - private String customName; - - public TileEntityMachineCMBFactory() { - slots = new ItemStack[6]; - tank = new FluidTank(Fluids.WATZ, 8000, 0); - } - - @Override - public int getSizeInventory() { - return slots.length; - } - - @Override - public ItemStack getStackInSlot(int i) { - return slots[i]; - } - - @Override - public ItemStack getStackInSlotOnClosing(int i) { - if(slots[i] != null) - { - ItemStack itemStack = slots[i]; - slots[i] = null; - return itemStack; - } else { - return null; - } - } - - @Override - public void setInventorySlotContents(int i, ItemStack itemStack) { - slots[i] = itemStack; - if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) - { - itemStack.stackSize = getInventoryStackLimit(); - } - } - - @Override - public String getInventoryName() { - return this.hasCustomInventoryName() ? this.customName : "container.machineCMB"; - } - - @Override - public boolean hasCustomInventoryName() { - return this.customName != null && this.customName.length() > 0; - } - - public void setCustomName(String name) { - this.customName = name; - } - - @Override - public int getInventoryStackLimit() { - return 64; - } - - @Override - public boolean isUseableByPlayer(EntityPlayer player) { - if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) - { - return false; - }else{ - return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <=64; - } - } - - @Override - public void openInventory() {} - @Override - public void closeInventory() {} - - @Override - public boolean isItemValidForSlot(int i, ItemStack stack) { - switch(i) - { - case 0: - if(stack.getItem() instanceof IBatteryItem) - return true; - break; - case 1: - if(stack.getItem() == ModItems.ingot_magnetized_tungsten || stack.getItem() == ModItems.powder_magnetized_tungsten) - return true; - break; - case 2: - if(stack.getItem() == ModItems.bucket_mud) - return true; - break; - case 3: - if(stack.getItem() == ModItems.ingot_advanced_alloy || stack.getItem() == ModItems.powder_advanced_alloy) - return true; - break; - } - - return false; - } - - @Override - public ItemStack decrStackSize(int i, int j) { - if(slots[i] != null) - { - if(slots[i].stackSize <= j) - { - ItemStack itemStack = slots[i]; - slots[i] = null; - return itemStack; - } - ItemStack itemStack1 = slots[i].splitStack(j); - if (slots[i].stackSize == 0) - { - slots[i] = null; - } - - return itemStack1; - } else { - return null; - } - } - - @Override - public void readFromNBT(NBTTagCompound nbt) { - super.readFromNBT(nbt); - NBTTagList list = nbt.getTagList("items", 10); - - power = nbt.getLong("power"); - tank.readFromNBT(nbt, "watz"); - process = nbt.getShort("process"); - slots = new ItemStack[getSizeInventory()]; - - for(int i = 0; i < list.tagCount(); i++) - { - NBTTagCompound nbt1 = list.getCompoundTagAt(i); - byte b0 = nbt1.getByte("slot"); - if(b0 >= 0 && b0 < slots.length) - { - slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); - } - } - } - - @Override - public void writeToNBT(NBTTagCompound nbt) { - super.writeToNBT(nbt); - nbt.setLong("power", power); - tank.writeToNBT(nbt, "watz"); - nbt.setShort("process", (short) process); - NBTTagList list = new NBTTagList(); - - for(int i = 0; i < slots.length; i++) - { - if(slots[i] != null) - { - NBTTagCompound nbt1 = new NBTTagCompound(); - nbt1.setByte("slot", (byte)i); - slots[i].writeToNBT(nbt1); - list.appendTag(nbt1); - } - } - nbt.setTag("items", list); - } - - @Override - public int[] getAccessibleSlotsFromSide(int p_94128_1_) - { - return p_94128_1_ == 0 ? slots_bottom : (p_94128_1_ == 1 ? slots_top : slots_side); - } - - @Override - public boolean canInsertItem(int i, ItemStack itemStack, int j) { - return this.isItemValidForSlot(i, itemStack); - } - - @Override - public boolean canExtractItem(int i, ItemStack itemStack, int j) { - if(i == 4) - return true; - if(i == 0) - if (itemStack.getItem() instanceof IBatteryItem && ((IBatteryItem)itemStack.getItem()).getCharge(itemStack) == 0) - return true; - if(i == 2) - if(itemStack.getItem() == Items.bucket) - return true; - - return false; - } - - public long getPowerScaled(long i) { - return (power * i) / maxPower; - } - - public int getProgressScaled(int i) { - return (process * i) / processSpeed; - } - - public boolean canProcess() { - - boolean b = false; - - if(tank.getFill() >= 1 && power >= 100000 && slots[1] != null && slots[3] != null && (slots[4] == null || slots[4].stackSize <= 60)) - { - boolean flag0 = slots[1].getItem() == ModItems.ingot_magnetized_tungsten || slots[1].getItem() == ModItems.powder_magnetized_tungsten; - boolean flag1 = slots[3].getItem() == ModItems.ingot_advanced_alloy || slots[3].getItem() == ModItems.powder_advanced_alloy; - - b = flag0 && flag1; - } - - return b; - } - - public boolean isProcessing() { - return process > 0; - } - - public void process() { - tank.setFill(tank.getFill() - 1); - power -= 100000; - - process++; - - if(process >= processSpeed) { - - slots[1].stackSize--; - if (slots[1].stackSize == 0) { - slots[1] = null; - } - - slots[3].stackSize--; - if (slots[3].stackSize == 0) { - slots[3] = null; - } - - if(slots[4] == null) - { - slots[4] = new ItemStack(ModItems.ingot_combine_steel, 4); - } else { - - slots[4].stackSize += 4; - } - - process = 0; - } - } - - @Override - public void updateEntity() { - - if (!worldObj.isRemote) { - - this.updateConnections(); - - power = Library.chargeTEFromItems(slots, 0, power, maxPower); - - tank.loadTank(2, 5, slots); - tank.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId); - - if (canProcess()) { - process(); - if(soundCycle == 0) - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "minecart.base", 1.0F, 1.5F); - soundCycle++; - - if(soundCycle >= 25) - soundCycle = 0; - } else { - process = 0; - } - - PacketDispatcher.wrapper.sendToAllAround(new AuxElectricityPacket(xCoord, yCoord, zCoord, power), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); - } - } - - private void updateConnections() { - this.updateStandardConnections(worldObj, this); - this.subscribeToAllAround(tank.getTankType(), this); - } - - @Override - public void setPower(long i) { - power = i; - } - - @Override - public long getPower() { - return power; - } - - @Override - public long getMaxPower() { - return maxPower; - } - - @Override - public void setFillForSync(int fill, int index) { - tank.setFill(fill); - } - - @Override - public void setTypeForSync(FluidType type, int index) { - tank.setTankType(type); - } - - @Override - public int getMaxFluidFill(FluidType type) { - return type.name().equals(this.tank.getTankType().name()) ? tank.getMaxFill() : 0; - } - - @Override - public int getFluidFill(FluidType type) { - return type.name().equals(this.tank.getTankType().name()) ? tank.getFill() : 0; - } - - @Override - public void setFluidFill(int i, FluidType type) { - if(type.name().equals(tank.getTankType().name())) - tank.setFill(i); - } - - @Override - public FluidTank[] getReceivingTanks() { - return new FluidTank[] { tank }; - } - - @Override - public FluidTank[] getAllTanks() { - return new FluidTank[] { tank }; - } - - @Override - public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new ContainerMachineCMBFactory(player.inventory, this); - } - - @Override - @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new GUIMachineCMBFactory(player.inventory, this); - } -} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCentrifuge.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCentrifuge.java index 835324307..71694f632 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCentrifuge.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCentrifuge.java @@ -15,9 +15,11 @@ import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IUpgradeInfoProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.BobMathUtil; +import com.hbm.util.CompatEnergyControl; import com.hbm.util.I18nUtil; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; +import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.GuiScreen; @@ -29,8 +31,9 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.MathHelper; import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineCentrifuge extends TileEntityMachineBase implements IEnergyUser, IGUIProvider, IUpgradeInfoProvider { +public class TileEntityMachineCentrifuge extends TileEntityMachineBase implements IEnergyReceiverMK2, IGUIProvider, IUpgradeInfoProvider, IInfoProviderEC { public int progress; public long power; @@ -153,8 +156,8 @@ public class TileEntityMachineCentrifuge extends TileEntityMachineBase implement public void updateEntity() { if(!worldObj.isRemote) { - - this.updateStandardConnections(worldObj, xCoord, yCoord, zCoord); + + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); power = Library.chargeTEFromItems(slots, 1, power, maxPower); @@ -218,7 +221,8 @@ public class TileEntityMachineCentrifuge extends TileEntityMachineBase implement } else if(!audio.isPlaying()) { audio = rebootAudio(audio); } - + + audio.updateVolume(getVolume(1F)); audio.updatePitch((audioDuration - 10) / 100F + 0.5F); } else { @@ -233,6 +237,8 @@ public class TileEntityMachineCentrifuge extends TileEntityMachineBase implement @Override public void networkUnpack(NBTTagCompound data) { + super.networkUnpack(data); + this.power = data.getLong("power"); this.progress = data.getInteger("progress"); this.isProgressing = data.getBoolean("isProgressing"); @@ -342,4 +348,10 @@ public class TileEntityMachineCentrifuge extends TileEntityMachineBase implement if(type == UpgradeType.OVERDRIVE) return 3; return 0; } + + @Override + public void provideExtraInfo(NBTTagCompound data) { + data.setBoolean(CompatEnergyControl.B_ACTIVE, this.progress > 0); + data.setInteger(CompatEnergyControl.B_ACTIVE, this.progress); + } } \ No newline at end of file diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemfac.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemfac.java index 7f8a84d03..4fbfdfab9 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemfac.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemfac.java @@ -159,6 +159,8 @@ public class TileEntityMachineChemfac extends TileEntityMachineChemplantBase imp @Override public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + this.power = nbt.getLong("power"); this.progress = nbt.getIntArray("progress"); this.maxProgress = nbt.getIntArray("maxProgress"); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java index 00523e45b..0e1efc401 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java @@ -1,16 +1,12 @@ package com.hbm.tileentity.machine; -import java.util.ArrayList; import java.util.List; import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ModBlocks; -import com.hbm.interfaces.IFluidAcceptor; -import com.hbm.interfaces.IFluidSource; import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.UpgradeManager; import com.hbm.inventory.container.ContainerMachineChemplant; -import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.gui.GUIMachineChemplant; @@ -29,7 +25,7 @@ import com.hbm.util.I18nUtil; import com.hbm.util.InventoryUtil; import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -46,7 +42,7 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineChemplant extends TileEntityMachineBase implements IEnergyUser, IFluidSource, IFluidAcceptor, IFluidStandardTransceiver, IGUIProvider, IUpgradeInfoProvider { +public class TileEntityMachineChemplant extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardTransceiver, IGUIProvider, IUpgradeInfoProvider { public long power; public static final long maxPower = 100000; @@ -78,7 +74,7 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements tanks = new FluidTank[4]; for(int i = 0; i < 4; i++) { - tanks[i] = new FluidTank(Fluids.NONE, 24_000, i); + tanks[i] = new FluidTank(Fluids.NONE, 24_000); } } @@ -86,6 +82,12 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements public String getName() { return "container.chemplant"; } + + // last successful load + int lsl0 = 0; + int lsl1 = 0; + int lsu0 = 0; + int lsu1 = 0; @Override public void updateEntity() { @@ -98,19 +100,25 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements this.isProgressing = false; this.power = Library.chargeTEFromItems(slots, 0, power, maxPower); - if(!tanks[0].loadTank(17, 19, slots) && (slots[17] == null || slots[17].getItem() != ModItems.fluid_barrel_infinite)) tanks[0].unloadTank(17, 19, slots); - if(!tanks[1].loadTank(18, 20, slots) && (slots[18] == null || slots[18].getItem() != ModItems.fluid_barrel_infinite)) tanks[1].unloadTank(18, 20, slots); + int fluidDelay = 40; + + if(lsu0 >= fluidDelay && tanks[0].loadTank(17, 19, slots)) lsl0 = 0; + if(lsu1 >= fluidDelay && tanks[1].loadTank(18, 20, slots)) lsl1 = 0; + + if(lsl0 >= fluidDelay && slots[17] != null && !FluidTank.noDualUnload.contains(slots[17].getItem())) if(tanks[0].unloadTank(17, 19, slots)) lsu0 = 0; + if(lsl1 >= fluidDelay && slots[18] != null && !FluidTank.noDualUnload.contains(slots[18].getItem())) if(tanks[1].unloadTank(18, 20, slots)) lsu1 = 0; tanks[2].unloadTank(9, 11, slots); tanks[3].unloadTank(10, 12, slots); + + if(lsl0 < fluidDelay) lsl0++; + if(lsl1 < fluidDelay) lsl1++; + if(lsu0 < fluidDelay) lsu0++; + if(lsu1 < fluidDelay) lsu1++; loadItems(); unloadItems(); - if(worldObj.getTotalWorldTime() % 10 == 0) { - this.fillFluidInit(tanks[2].getTankType()); - this.fillFluidInit(tanks[3].getTankType()); - } if(worldObj.getTotalWorldTime() % 20 == 0) { this.updateConnections(); } @@ -167,7 +175,7 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements worldObj.spawnParticle("cloud", x, y, z, 0.0, 0.1, 0.0); } - float volume = 1;//this.getVolume(2); + float volume = this.getVolume(1F); if(isProgressing && volume > 0) { @@ -197,6 +205,8 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements @Override public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + this.power = nbt.getLong("power"); this.progress = nbt.getInteger("progress"); this.maxProgress = nbt.getInteger("maxProgress"); @@ -428,41 +438,50 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements ISidedInventory sided = inv instanceof ISidedInventory ? (ISidedInventory) inv : null; int[] access = sided != null ? sided.getAccessibleSlotsFromSide(dir.ordinal()) : null; - for(int i = 5; i <= 8; i++) { - - ItemStack out = slots[i]; - - if(out != null) { + boolean shouldOutput = true; + + while(shouldOutput) { + shouldOutput = false; + outer: + for(int i = 5; i <= 8; i++) { - for(int j = 0; j < (access != null ? access.length : inv.getSizeInventory()); j++) { - - int slot = access != null ? access[j] : j; + ItemStack out = slots[i]; + + if(out != null) { - if(!inv.isItemValidForSlot(slot, out)) - continue; + for(int j = 0; j < (access != null ? access.length : inv.getSizeInventory()); j++) { + + int slot = access != null ? access[j] : j; - ItemStack target = inv.getStackInSlot(slot); - - if(InventoryUtil.doesStackDataMatch(out, target) && target.stackSize < target.getMaxStackSize()) { - this.decrStackSize(i, 1); - target.stackSize++; - return; + if(!inv.isItemValidForSlot(slot, out)) + continue; + + ItemStack target = inv.getStackInSlot(slot); + + if(InventoryUtil.doesStackDataMatch(out, target) && target.stackSize < Math.min(target.getMaxStackSize(), inv.getInventoryStackLimit())) { + int toDec = Math.min(out.stackSize, Math.min(target.getMaxStackSize(), inv.getInventoryStackLimit()) - target.stackSize); + this.decrStackSize(i, toDec); + target.stackSize += toDec; + shouldOutput = true; + break outer; + } } - } - - for(int j = 0; j < (access != null ? access.length : inv.getSizeInventory()); j++) { - - int slot = access != null ? access[j] : j; - if(!inv.isItemValidForSlot(slot, out)) - continue; - - if(inv.getStackInSlot(slot) == null && (sided != null ? sided.canInsertItem(slot, out, dir.ordinal()) : inv.isItemValidForSlot(slot, out))) { - ItemStack copy = out.copy(); - copy.stackSize = 1; - inv.setInventorySlotContents(slot, copy); - this.decrStackSize(i, 1); - return; + for(int j = 0; j < (access != null ? access.length : inv.getSizeInventory()); j++) { + + int slot = access != null ? access[j] : j; + + if(!inv.isItemValidForSlot(slot, out)) + continue; + + if(inv.getStackInSlot(slot) == null && (sided != null ? sided.canInsertItem(slot, out, dir.ordinal()) : inv.isItemValidForSlot(slot, out))) { + ItemStack copy = out.copy(); + copy.stackSize = 1; + inv.setInventorySlotContents(slot, copy); + this.decrStackSize(i, 1); + shouldOutput = true; + break outer; + } } } } @@ -484,106 +503,6 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements public long getMaxPower() { return this.maxPower; } - - @Override - public void setFillForSync(int fill, int index) { - if(index >= 0 && index < tanks.length) tanks[index].setFill(fill); - } - - @Override - public void setFluidFill(int fill, FluidType type) { - - for(FluidTank tank : tanks) { - if(tank.getTankType() == type) { - tank.setFill(fill); - return; - } - } - } - - @Override - public void setTypeForSync(FluidType type, int index) { - if(index >= 0 && index < tanks.length) tanks[index].setTankType(type); - } - - @Override - public int getFluidFill(FluidType type) { - - for(FluidTank tank : tanks) { - if(tank.getTankType() == type) { - return tank.getFill(); - } - } - - return 0; - } - - @Override - public int getMaxFluidFill(FluidType type) { - - for(int i = 0; i < 2; i++) { - if(tanks[i].getTankType() == type) { - return tanks[i].getMaxFill(); - } - } - - return 0; - } - - @Override - public void fillFluidInit(FluidType type) { - - /* - * #### - * X####X - * X##O#X - * #### - */ - - ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset).getOpposite(); - ForgeDirection rot = dir.getRotation(ForgeDirection.DOWN); - - fillFluid(xCoord + rot.offsetX * 3, yCoord, zCoord + rot.offsetZ * 3, this.getTact(), type); - fillFluid(xCoord - rot.offsetX * 2, yCoord, zCoord - rot.offsetZ * 2, this.getTact(), type); - fillFluid(xCoord + rot.offsetX * 3 + dir.offsetX, yCoord, zCoord + rot.offsetZ * 3 + dir.offsetZ, this.getTact(), type); - fillFluid(xCoord - rot.offsetX * 2 + dir.offsetX, yCoord, zCoord - rot.offsetZ * 2 + dir.offsetZ, this.getTact(), type); - } - - @Override - public void fillFluid(int x, int y, int z, boolean newTact, FluidType type) { - Library.transmitFluid(x, y, z, newTact, this, worldObj, type); - } - - @Override - public boolean getTact() { - return worldObj.getTotalWorldTime() % 20 < 10; - } - - List[] lists = new List[] { - new ArrayList(), new ArrayList(), new ArrayList(), new ArrayList() - }; - - @Override - public List getFluidList(FluidType type) { - - for(int i = 0; i < tanks.length; i++) { - if(tanks[i].getTankType() == type) { - return lists[i]; - } - } - - return new ArrayList(); - } - - @Override - public void clearFluidList(FluidType type) { - - for(int i = 0; i < tanks.length; i++) { - if(tanks[i].getTankType() == type) { - lists[i].clear(); - } - } - } @Override public void readFromNBT(NBTTagCompound nbt) { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java index 129a665fd..1ca2d230e 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java @@ -16,7 +16,7 @@ import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.InventoryUtil; import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidUser; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.ISidedInventory; @@ -32,7 +32,7 @@ import net.minecraft.tileentity.TileEntity; * Tanks follow the order R1(I1, I2, O1, O2), R2(I1, I2, O1, O2) ... * @author hbm */ -public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBase implements IEnergyUser, IFluidUser, IGUIProvider { +public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidUser, IGUIProvider { public long power; public int[] progress; @@ -271,42 +271,50 @@ public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBa IInventory inv = (IInventory) te; ISidedInventory sided = inv instanceof ISidedInventory ? (ISidedInventory) inv : null; int[] access = sided != null ? sided.getAccessibleSlotsFromSide(coord.getDir().ordinal()) : null; - - for(int i = indices[2]; i <= indices[3]; i++) { - - ItemStack out = slots[i]; - - if(out != null) { - - for(int j = 0; j < (access != null ? access.length : inv.getSizeInventory()); j++) { - int slot = access != null ? access[j] : j; + boolean shouldOutput = true; + while(shouldOutput) { + shouldOutput = false; + outer: + for(int i = indices[2]; i <= indices[3]; i++) { + + ItemStack out = slots[i]; + + if(out != null) { - if(!inv.isItemValidForSlot(slot, out)) - continue; - - ItemStack target = inv.getStackInSlot(slot); - - if(InventoryUtil.doesStackDataMatch(out, target) && target.stackSize < target.getMaxStackSize() && target.stackSize < inv.getInventoryStackLimit()) { - this.decrStackSize(i, 1); - target.stackSize++; - return; + for(int j = 0; j < (access != null ? access.length : inv.getSizeInventory()); j++) { + + int slot = access != null ? access[j] : j; + + if(!inv.isItemValidForSlot(slot, out)) + continue; + + ItemStack target = inv.getStackInSlot(slot); + + if(InventoryUtil.doesStackDataMatch(out, target) && target.stackSize < target.getMaxStackSize() && target.stackSize < inv.getInventoryStackLimit()) { + int toDec = Math.min(out.stackSize, Math.min(target.getMaxStackSize(), inv.getInventoryStackLimit()) - target.stackSize); + this.decrStackSize(i, toDec); + target.stackSize += toDec; + shouldOutput = true; + break outer; + } } - } - - for(int j = 0; j < (access != null ? access.length : inv.getSizeInventory()); j++) { - - int slot = access != null ? access[j] : j; - if(!inv.isItemValidForSlot(slot, out)) - continue; - - if(inv.getStackInSlot(slot) == null && (sided != null ? sided.canInsertItem(slot, out, coord.getDir().ordinal()) : inv.isItemValidForSlot(slot, out))) { - ItemStack copy = out.copy(); - copy.stackSize = 1; - inv.setInventorySlotContents(slot, copy); - this.decrStackSize(i, 1); - return; + for(int j = 0; j < (access != null ? access.length : inv.getSizeInventory()); j++) { + + int slot = access != null ? access[j] : j; + + if(!inv.isItemValidForSlot(slot, out)) + continue; + + if(inv.getStackInSlot(slot) == null && (sided != null ? sided.canInsertItem(slot, out, coord.getDir().ordinal()) : inv.isItemValidForSlot(slot, out))) { + ItemStack copy = out.copy(); + copy.stackSize = 1; + inv.setInventorySlotContents(slot, copy); + this.decrStackSize(i, 1); + shouldOutput = true; + break outer; + } } } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java deleted file mode 100644 index c616c9afc..000000000 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.hbm.tileentity.machine; - -import com.hbm.blocks.ModBlocks; -import com.hbm.tileentity.TileEntityMachineBase; - -import net.minecraft.entity.item.EntityItem; -import net.minecraft.inventory.ISidedInventory; -import net.minecraft.item.ItemStack; - -@Deprecated -public class TileEntityMachineCoal extends TileEntityMachineBase implements ISidedInventory { - - public TileEntityMachineCoal() { - super(4); - } - - @Override - public String getName() { - return "container.machineCoal"; - } - - @Override - public void updateEntity() { - - if(!worldObj.isRemote) { - worldObj.setBlockToAir(xCoord, yCoord, zCoord); - EntityItem drop = new EntityItem(worldObj); - drop.setEntityItemStack(new ItemStack(ModBlocks.machine_wood_burner)); - drop.setPosition(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5); - worldObj.spawnEntityInWorld(drop); - } - } -} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java index 38fce4e2a..8e4687ac3 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java @@ -1,15 +1,14 @@ package com.hbm.tileentity.machine; import com.hbm.blocks.BlockDummyable; -import com.hbm.handler.pollution.PollutionHandler; -import com.hbm.handler.pollution.PollutionHandler.PollutionType; import com.hbm.interfaces.IControlReceiver; import com.hbm.inventory.container.ContainerCombustionEngine; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.trait.FT_Combustible; -import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Leaded; +import com.hbm.inventory.fluid.trait.FT_Polluting; +import com.hbm.inventory.fluid.trait.FluidTrait.FluidReleaseType; import com.hbm.inventory.gui.GUICombustionEngine; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemPistons.EnumPistonType; @@ -21,7 +20,7 @@ import com.hbm.tileentity.TileEntityMachinePolluting; import com.hbm.util.EnumUtil; import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IEnergyGenerator; +import api.hbm.energymk2.IEnergyProviderMK2; import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -34,7 +33,7 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineCombustionEngine extends TileEntityMachinePolluting implements IEnergyGenerator, IFluidStandardTransceiver, IControlReceiver, IGUIProvider { +public class TileEntityMachineCombustionEngine extends TileEntityMachinePolluting implements IEnergyProviderMK2, IFluidStandardTransceiver, IControlReceiver, IGUIProvider { public boolean isOn = false; public static long maxPower = 2_500_000; @@ -53,7 +52,7 @@ public class TileEntityMachineCombustionEngine extends TileEntityMachinePollutin public TileEntityMachineCombustionEngine() { super(5, 50); - this.tank = new FluidTank(Fluids.DIESEL, 24_000, 0); + this.tank = new FluidTank(Fluids.DIESEL, 24_000); } @Override @@ -86,10 +85,9 @@ public class TileEntityMachineCombustionEngine extends TileEntityMachinePollutin int toBurn = Math.min(fill, speed); this.power += toBurn * (trait.getCombustionEnergy() / 10_000D) * eff; fill -= toBurn; - - if(worldObj.getTotalWorldTime() % 20 == 0) { - this.pollute(PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * setting * 0.1F); - if(tank.getTankType().hasTrait(FT_Leaded.class)) this.pollute(PollutionType.HEAVYMETAL, PollutionHandler.HEAVY_METAL_PER_SECOND * setting * 0.1F); + + if(worldObj.getTotalWorldTime() % 5 == 0 && toBurn > 0) { + FT_Polluting.pollute(worldObj, xCoord, yCoord, zCoord, tank.getTankType(), FluidReleaseType.BURN, toBurn * 5); } if(toBurn > 0) { @@ -107,7 +105,7 @@ public class TileEntityMachineCombustionEngine extends TileEntityMachinePollutin this.power = Library.chargeItemsFromTE(slots, 3, power, power); for(DirPos pos : getConPos()) { - this.sendPower(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + this.tryProvide(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); this.trySubscribe(tank.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); this.sendSmoke(pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } @@ -142,8 +140,9 @@ public class TileEntityMachineCombustionEngine extends TileEntityMachinePollutin } else if(!audio.isPlaying()) { audio = rebootAudio(audio); } - + audio.keepAlive(); + audio.updateVolume(this.getVolume(1F)); } else { @@ -203,6 +202,7 @@ public class TileEntityMachineCombustionEngine extends TileEntityMachinePollutin @Override public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); this.playersUsing = nbt.getInteger("playersUsing"); this.setting = nbt.getInteger("setting"); this.power = nbt.getLong("power"); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java index 9a05a00b5..c3e94a705 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java @@ -23,7 +23,7 @@ import com.hbm.util.I18nUtil; import com.hbm.util.Tuple.Pair; import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -37,7 +37,7 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineCompressor extends TileEntityMachineBase implements IGUIProvider, IControlReceiver, IEnergyUser, IFluidStandardTransceiver, IUpgradeInfoProvider { +public class TileEntityMachineCompressor extends TileEntityMachineBase implements IGUIProvider, IControlReceiver, IEnergyReceiverMK2, IFluidStandardTransceiver, IUpgradeInfoProvider { public FluidTank[] tanks; public long power; @@ -146,7 +146,7 @@ public class TileEntityMachineCompressor extends TileEntityMachineBase implement if(this.pistonDir) { this.piston -= randSpeed; if(this.piston <= 0) { - MainRegistry.proxy.playSoundClient(xCoord, yCoord, zCoord, "hbm:item.boltgun", 0.5F, 0.75F); + MainRegistry.proxy.playSoundClient(xCoord, yCoord, zCoord, "hbm:item.boltgun", this.getVolume(0.5F), 0.75F); this.pistonDir = !this.pistonDir; } } else { @@ -165,6 +165,8 @@ public class TileEntityMachineCompressor extends TileEntityMachineBase implement private float randSpeed = 0.1F; public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + this.progress = nbt.getInteger("progress"); this.processTime = nbt.getInteger("processTime"); this.powerRequirement = nbt.getInteger("powerRequirement"); @@ -346,8 +348,8 @@ public class TileEntityMachineCompressor extends TileEntityMachineBase implement public void provideInfo(UpgradeType type, int level, List info, boolean extendedInfo) { info.add(IUpgradeInfoProvider.getStandardLabel(ModBlocks.machine_compressor)); if(type == UpgradeType.SPEED) { - info.add(EnumChatFormatting.GREEN + "Recipe: "+ I18nUtil.resolveKey(this.KEY_DELAY, "-" + (level == 3 ? 90 : level == 2 ? 80 : level == 1 ? 40 : 0) + "%")); - info.add(EnumChatFormatting.GREEN + "Generic compression: "+ I18nUtil.resolveKey(this.KEY_DELAY, "-" + (100 - 100 / (level + 1)) + "%")); + info.add(EnumChatFormatting.GREEN + "Generic compression: "+ I18nUtil.resolveKey(this.KEY_DELAY, "-" + (level == 3 ? 90 : level == 2 ? 80 : level == 1 ? 40 : 0) + "%")); + info.add(EnumChatFormatting.GREEN + "Recipe: "+ I18nUtil.resolveKey(this.KEY_DELAY, "-" + (100 - 100 / (level + 1)) + "%")); } if(type == UpgradeType.POWER) { info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(this.KEY_CONSUMPTION, "-" + (100 - 100 / (level + 1)) + "%")); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCrystallizer.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCrystallizer.java index 18acf6556..3ead60a33 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCrystallizer.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCrystallizer.java @@ -4,6 +4,7 @@ import java.util.List; import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ModBlocks; +import com.hbm.extprop.HbmPlayerProps; import com.hbm.inventory.UpgradeManager; import com.hbm.inventory.container.ContainerCrystallizer; import com.hbm.inventory.fluid.Fluids; @@ -21,8 +22,8 @@ import com.hbm.util.BobMathUtil; import com.hbm.util.I18nUtil; import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IBatteryItem; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IBatteryItem; +import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardReceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -37,7 +38,7 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineCrystallizer extends TileEntityMachineBase implements IEnergyUser, IFluidStandardReceiver, IGUIProvider, IUpgradeInfoProvider { +public class TileEntityMachineCrystallizer extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardReceiver, IGUIProvider, IUpgradeInfoProvider { public long power; public static final long maxPower = 1000000; @@ -111,6 +112,15 @@ public class TileEntityMachineCrystallizer extends TileEntityMachineBase impleme } } } + + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + List players = worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox(xCoord, yCoord, zCoord, xCoord + 1, yCoord + 6.875, zCoord + 1).offset(dir.offsetX * 0.75 + rot.offsetX * 1.25, 0, dir.offsetZ * 0.75 + rot.offsetZ * 1.25)); + + for(EntityPlayer player : players) { + HbmPlayerProps props = HbmPlayerProps.getData(player); + props.isOnLadder = true; + } } private void updateConnections() { @@ -145,6 +155,7 @@ public class TileEntityMachineCrystallizer extends TileEntityMachineBase impleme } public void networkUnpack(NBTTagCompound data) { + super.networkUnpack(data); this.power = data.getLong("power"); this.progress = data.getShort("progress"); @@ -356,7 +367,7 @@ public class TileEntityMachineCrystallizer extends TileEntityMachineBase impleme @Override public void provideInfo(UpgradeType type, int level, List info, boolean extendedInfo) { - info.add(IUpgradeInfoProvider.getStandardLabel(ModBlocks.turret_maxwell)); + info.add(IUpgradeInfoProvider.getStandardLabel(ModBlocks.machine_crystallizer)); if(type == UpgradeType.SPEED) { info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(this.KEY_DELAY, "-" + (level * 25) + "%")); info.add(EnumChatFormatting.RED + I18nUtil.resolveKey(this.KEY_CONSUMPTION, "+" + (level * 100) + "%")); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCyclotron.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCyclotron.java index 9d30a9f22..87660cb63 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCyclotron.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCyclotron.java @@ -3,6 +3,7 @@ package com.hbm.tileentity.machine; import java.util.List; import java.util.Map.Entry; +import com.hbm.blocks.ModBlocks; import com.hbm.config.BombConfig; import com.hbm.entity.effect.EntityBlackHole; import com.hbm.entity.logic.EntityBalefire; @@ -21,17 +22,22 @@ import com.hbm.inventory.gui.GUIMachineCyclotron; import com.hbm.inventory.recipes.CyclotronRecipes; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemMachineUpgrade; +import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.lib.Library; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.IConditionalInvAccess; import com.hbm.tileentity.IGUIProvider; +import com.hbm.tileentity.IUpgradeInfoProvider; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.CompatEnergyControl; +import com.hbm.util.I18nUtil; import com.hbm.util.Tuple.Pair; import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardTransceiver; +import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -42,14 +48,15 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineCyclotron extends TileEntityMachineBase implements IFluidSource, IFluidAcceptor, IEnergyUser, IFluidStandardTransceiver, IGUIProvider, IConditionalInvAccess { +public class TileEntityMachineCyclotron extends TileEntityMachineBase implements IFluidSource, IFluidAcceptor, IEnergyReceiverMK2, IFluidStandardTransceiver, IGUIProvider, IConditionalInvAccess, IUpgradeInfoProvider, IInfoProviderEC { public long power; public static final long maxPower = 100000000; - public int consumption = 1000000; + public int consumption = 1_000_000; public boolean isOn; @@ -98,7 +105,7 @@ public class TileEntityMachineCyclotron extends TileEntityMachineBase implements if(isOn) { - int defConsumption = consumption - 100000 * getConsumption(); + int defConsumption = consumption - 100_000 * getConsumption(); if(canProcess() && power >= defConsumption) { @@ -111,14 +118,16 @@ public class TileEntityMachineCyclotron extends TileEntityMachineBase implements this.markDirty(); } + int safety = this.getSafety(); + if(coolant.getFill() > 0) { countdown = 0; - if(worldObj.rand.nextInt(3) == 0) + if(worldObj.rand.nextInt(3 * safety) == 0) coolant.setFill(coolant.getFill() - 1); - } else if(worldObj.rand.nextInt(this.getSafety()) == 0) { + } else if(worldObj.rand.nextInt(safety) == 0) { countdown++; @@ -194,6 +203,8 @@ public class TileEntityMachineCyclotron extends TileEntityMachineBase implements } public void networkUnpack(NBTTagCompound data) { + super.networkUnpack(data); + this.isOn = data.getBoolean("isOn"); this.power = data.getLong("power"); this.progress = data.getInteger("progress"); @@ -213,7 +224,7 @@ public class TileEntityMachineCyclotron extends TileEntityMachineBase implements if(rand < 2) { - worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, (int)(BombConfig.fatmanRadius * 1.5), xCoord + 0.5, yCoord + 1.5, zCoord + 0.5).mute()); + worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, (int)(BombConfig.fatmanRadius * 1.5), xCoord + 0.5, yCoord + 1.5, zCoord + 0.5)); NBTTagCompound data = new NBTTagCompound(); data.setString("type", "muke"); @@ -222,7 +233,7 @@ public class TileEntityMachineCyclotron extends TileEntityMachineBase implements } else if(rand < 4) { - EntityBalefire bf = new EntityBalefire(worldObj).mute(); + EntityBalefire bf = new EntityBalefire(worldObj); bf.posX = xCoord + 0.5; bf.posY = yCoord + 1.5; bf.posZ = zCoord + 0.5; @@ -576,4 +587,38 @@ public class TileEntityMachineCyclotron extends TileEntityMachineBase implements return new int[] {6, 7, 8}; } + + @Override + public boolean canProvideInfo(UpgradeType type, int level, boolean extendedInfo) { + return type == UpgradeType.SPEED || type == UpgradeType.POWER || type == UpgradeType.EFFECT; + } + + @Override + public void provideInfo(UpgradeType type, int level, List info, boolean extendedInfo) { + info.add(IUpgradeInfoProvider.getStandardLabel(ModBlocks.machine_cyclotron)); + if(type == UpgradeType.SPEED) { + info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(this.KEY_DELAY, "-" + (100 - 100 / (level + 1)) + "%")); + } + if(type == UpgradeType.POWER) { + info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(this.KEY_CONSUMPTION, "-" + (level * 10) + "%")); + } + if(type == UpgradeType.EFFECT) { + info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(this.KEY_COOLANT_CONSUMPTION, "-" + (100 - 100 / (level + 1)) + "%")); + info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(this.KEY_OVERHEAT_CHANCE, "-" + (100 - 100 / (level + 1)) + "%")); + } + } + + @Override + public int getMaxLevel(UpgradeType type) { + if(type == UpgradeType.SPEED) return 3; + if(type == UpgradeType.POWER) return 3; + if(type == UpgradeType.EFFECT) return 3; + return 0; + } + + @Override + public void provideExtraInfo(NBTTagCompound data) { + data.setBoolean(CompatEnergyControl.B_ACTIVE, this.isOn && this.progress > 0); + data.setDouble(CompatEnergyControl.D_CONSUMPTION_HE, this.progress > 0 ? consumption - 100_000 * getConsumption() : 0); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDetector.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDetector.java index 8f62d9f47..b4d1a8d39 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDetector.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDetector.java @@ -2,15 +2,15 @@ package com.hbm.tileentity.machine; import com.hbm.tileentity.TileEntityLoadedBase; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineDetector extends TileEntityLoadedBase implements IEnergyUser { +public class TileEntityMachineDetector extends TileEntityLoadedBase implements IEnergyReceiverMK2 { long power; @Override - public void updateEntity() { + public void updateEntity() { if(!worldObj.isRemote) { @@ -56,5 +56,4 @@ public class TileEntityMachineDetector extends TileEntityLoadedBase implements I public ConnectionPriority getPriority() { return ConnectionPriority.HIGH; } - } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDiesel.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDiesel.java index f1c7097e7..af951569c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDiesel.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDiesel.java @@ -6,8 +6,6 @@ import java.util.HashMap; import com.google.gson.JsonArray; import com.google.gson.JsonObject; import com.google.gson.stream.JsonWriter; -import com.hbm.handler.pollution.PollutionHandler; -import com.hbm.handler.pollution.PollutionHandler.PollutionType; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; import com.hbm.inventory.FluidContainerRegistry; @@ -16,18 +14,21 @@ import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.trait.FT_Combustible; +import com.hbm.inventory.fluid.trait.FT_Polluting; import com.hbm.inventory.fluid.trait.FT_Combustible.FuelGrade; -import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Leaded; +import com.hbm.inventory.fluid.trait.FluidTrait.FluidReleaseType; import com.hbm.inventory.gui.GUIMachineDiesel; import com.hbm.items.ModItems; import com.hbm.lib.Library; import com.hbm.tileentity.IConfigurableMachine; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachinePolluting; +import com.hbm.util.CompatEnergyControl; -import api.hbm.energy.IBatteryItem; -import api.hbm.energy.IEnergyGenerator; +import api.hbm.energymk2.IBatteryItem; +import api.hbm.energymk2.IEnergyProviderMK2; import api.hbm.fluid.IFluidStandardTransceiver; +import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.GuiScreen; @@ -38,7 +39,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineDiesel extends TileEntityMachinePolluting implements IEnergyGenerator, IFluidContainer, IFluidAcceptor, IFluidStandardTransceiver, IConfigurableMachine, IGUIProvider { +public class TileEntityMachineDiesel extends TileEntityMachinePolluting implements IEnergyProviderMK2, IFluidContainer, IFluidAcceptor, IFluidStandardTransceiver, IConfigurableMachine, IGUIProvider, IInfoProviderEC { public long power; public int soundCycle = 0; @@ -131,7 +132,7 @@ public class TileEntityMachineDiesel extends TileEntityMachinePolluting implemen if(!worldObj.isRemote) { for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { - this.sendPower(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); + this.tryProvide(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); this.sendSmoke(xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); } @@ -162,6 +163,7 @@ public class TileEntityMachineDiesel extends TileEntityMachinePolluting implemen } public void networkUnpack(NBTTagCompound data) { + super.networkUnpack(data); power = data.getInteger("power"); powerCap = data.getInteger("powerCap"); @@ -197,7 +199,7 @@ public class TileEntityMachineDiesel extends TileEntityMachinePolluting implemen if(!shutUp) { if (soundCycle == 0) { - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "fireworks.blast", 0.75F * this.getVolume(3), 0.5F); + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "fireworks.blast", this.getVolume(0.75F), 0.5F); } soundCycle++; } @@ -209,8 +211,9 @@ public class TileEntityMachineDiesel extends TileEntityMachinePolluting implemen if(tank.getFill() < 0) tank.setFill(0); - this.pollute(PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * 0.5F); - if(tank.getTankType().hasTrait(FT_Leaded.class)) this.pollute(PollutionType.HEAVYMETAL, PollutionHandler.HEAVY_METAL_PER_SECOND * 0.5F); + if(worldObj.getTotalWorldTime() % 5 == 0) { + FT_Polluting.pollute(worldObj, xCoord, yCoord, zCoord, tank.getTankType(), FluidReleaseType.BURN, 5F); + } if(power + getHEFromFuel() <= powerCap) { power += getHEFromFuel(); @@ -325,4 +328,13 @@ public class TileEntityMachineDiesel extends TileEntityMachinePolluting implemen public FluidTank[] getSendingTanks() { return this.getSmokeTanks(); } + + @Override + public void provideExtraInfo(NBTTagCompound data) { + long he = getHEFromFuel(tank.getTankType()); + boolean active = tank.getFill() > 0 && he > 0; + data.setBoolean(CompatEnergyControl.B_ACTIVE, active); + data.setDouble(CompatEnergyControl.D_CONSUMPTION_MB, active ? 1D : 0D); + data.setDouble(CompatEnergyControl.D_OUTPUT_HE, he); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDrain.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDrain.java new file mode 100644 index 000000000..9a6dc8f21 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDrain.java @@ -0,0 +1,160 @@ +package com.hbm.tileentity.machine; + +import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.fluid.FluidType; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.fluid.trait.FT_Flammable; +import com.hbm.inventory.fluid.trait.FT_Polluting; +import com.hbm.inventory.fluid.trait.FluidTrait.FluidReleaseType; +import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Amat; +import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Gaseous; +import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Liquid; +import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Viscous; +import com.hbm.main.MainRegistry; +import com.hbm.packet.BufPacket; +import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.IBufPacketReceiver; +import com.hbm.tileentity.TileEntityLoadedBase; +import com.hbm.util.fauxpointtwelve.DirPos; + +import api.hbm.fluid.IFluidStandardReceiver; +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import net.minecraft.block.Block; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityMachineDrain extends TileEntityLoadedBase implements IFluidStandardReceiver, IBufPacketReceiver { + + public FluidTank tank; + + public TileEntityMachineDrain() { + this.tank = new FluidTank(Fluids.NONE, 2_000); + } + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + + if(worldObj.getTotalWorldTime() % 20 == 0) { + for(DirPos pos : getConPos()) this.trySubscribe(tank.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + } + + PacketDispatcher.wrapper.sendToAllAround(new BufPacket(xCoord, yCoord, zCoord, this), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); + + if(tank.getFill() > 0) { + if(tank.getTankType().hasTrait(FT_Amat.class)) { + worldObj.newExplosion(null, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, 10F, true, true); + return; + } + int toSpill = Math.max(tank.getFill() / 2, 1); + tank.setFill(tank.getFill() - toSpill); + FT_Polluting.pollute(worldObj, xCoord, yCoord, zCoord, tank.getTankType(), FluidReleaseType.SPILL, toSpill); + + if(toSpill >= 100 && worldObj.rand.nextInt(20) == 0 && tank.getTankType().hasTrait(FT_Liquid.class) && tank.getTankType().hasTrait(FT_Viscous.class) && tank.getTankType().hasTrait(FT_Flammable.class)) { + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); + Vec3 start = Vec3.createVectorHelper(xCoord + 0.5 - dir.offsetX * 3, yCoord + 0.5, zCoord + 0.5 - dir.offsetZ * 3); + Vec3 end = start.addVector(worldObj.rand.nextGaussian() * 5, -25, worldObj.rand.nextGaussian() * 5); + MovingObjectPosition mop = worldObj.func_147447_a(start, end, false, true, false); + + if(mop != null && mop.typeOfHit == mop.typeOfHit.BLOCK && mop.sideHit == 1) { + Block block = worldObj.getBlock(mop.blockX, mop.blockY + 1, mop.blockZ); + if(!block.getMaterial().isLiquid() && block.isReplaceable(worldObj, mop.blockX, mop.blockY + 1, mop.blockZ) && ModBlocks.oil_spill.canPlaceBlockAt(worldObj, mop.blockX, mop.blockY + 1, mop.blockZ)) { + worldObj.setBlock(mop.blockX, mop.blockY + 1, mop.blockZ, ModBlocks.oil_spill); + } + } + } + } + + } else { + + if(tank.getFill() > 0 && MainRegistry.proxy.me().getDistance(xCoord, yCoord, zCoord) < 100) { + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); + + NBTTagCompound data = new NBTTagCompound(); + if(tank.getTankType().hasTrait(FT_Gaseous.class)) { + data.setString("type", "tower"); + data.setFloat("lift", 0.5F); + data.setFloat("base", 0.375F); + data.setFloat("max", 3F); + data.setInteger("life", 100 + worldObj.rand.nextInt(50)); + } else { + data.setString("type", "splash"); + } + + data.setInteger("color", tank.getTankType().getColor()); + data.setDouble("posX", xCoord + 0.5 - dir.offsetX * 2.5); + data.setDouble("posZ", zCoord + 0.5 - dir.offsetZ * 2.5); + data.setDouble("posY", yCoord + 0.5); + + MainRegistry.proxy.effectNT(data); + } + } + } + + public DirPos[] getConPos() { + ForgeDirection dir0 = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); + ForgeDirection dir1 = dir0.getRotation(ForgeDirection.UP); + ForgeDirection dir2 = dir0.getRotation(ForgeDirection.DOWN); + return new DirPos[] { + new DirPos(xCoord + dir0.offsetX, yCoord, zCoord + dir0.offsetZ, dir0), + new DirPos(xCoord + dir1.offsetX, yCoord, zCoord + dir1.offsetZ, dir1), + new DirPos(xCoord + dir2.offsetX, yCoord, zCoord + dir2.offsetZ, dir2) + }; + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + this.tank.readFromNBT(nbt, "t"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + this.tank.writeToNBT(nbt, "t"); + } + + @Override public void serialize(ByteBuf buf) { tank.serialize(buf); } + @Override public void deserialize(ByteBuf buf) { tank.deserialize(buf); } + + @Override public FluidTank[] getAllTanks() { return new FluidTank[] {tank}; } + @Override public FluidTank[] getReceivingTanks() { return new FluidTank[] {tank}; } + + @Override + public boolean canConnect(FluidType type, ForgeDirection dir) { + return dir != ForgeDirection.UP && dir != ForgeDirection.DOWN; + } + + AxisAlignedBB bb = null; + + @Override + public AxisAlignedBB getRenderBoundingBox() { + + if(bb == null) { + bb = AxisAlignedBB.getBoundingBox( + xCoord - 2, + yCoord, + zCoord - 2, + xCoord + 3, + yCoord + 1, + zCoord + 3 + ); + } + + return bb; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineEPress.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineEPress.java index 7e6b2c4cb..081aab10a 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineEPress.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineEPress.java @@ -13,9 +13,11 @@ import com.hbm.lib.Library; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IUpgradeInfoProvider; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.CompatEnergyControl; import com.hbm.util.I18nUtil; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; +import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.GuiScreen; @@ -28,7 +30,7 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineEPress extends TileEntityMachineBase implements IEnergyUser, IGUIProvider, IUpgradeInfoProvider { +public class TileEntityMachineEPress extends TileEntityMachineBase implements IEnergyReceiverMK2, IGUIProvider, IUpgradeInfoProvider, IInfoProviderEC { public long power = 0; public final static long maxPower = 50000; @@ -86,7 +88,7 @@ public class TileEntityMachineEPress extends TileEntityMachineBase implements IE this.press += stampSpeed; if(this.press >= this.maxPress) { - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.pressOperate", 1.5F, 1.0F); + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.pressOperate", getVolume(1.5F), 1.0F); ItemStack output = PressRecipes.getOutput(slots[2], slots[1]); if(slots[3] == null) { slots[3] = output.copy(); @@ -142,6 +144,8 @@ public class TileEntityMachineEPress extends TileEntityMachineBase implements IE @Override public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + this.power = nbt.getLong("power"); this.syncPress = nbt.getInteger("press"); @@ -279,4 +283,9 @@ public class TileEntityMachineEPress extends TileEntityMachineBase implements IE if(type == UpgradeType.SPEED) return 3; return 0; } + + @Override + public void provideExtraInfo(NBTTagCompound data) { + data.setInteger(CompatEnergyControl.I_PROGRESS, this.press); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineElectricFurnace.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineElectricFurnace.java index 8626dcf6c..4636da4e2 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineElectricFurnace.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineElectricFurnace.java @@ -14,8 +14,8 @@ import com.hbm.tileentity.IUpgradeInfoProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.I18nUtil; -import api.hbm.energy.IBatteryItem; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IBatteryItem; +import api.hbm.energymk2.IEnergyReceiverMK2; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.GuiScreen; @@ -29,7 +29,7 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineElectricFurnace extends TileEntityMachineBase implements ISidedInventory, IEnergyUser, IGUIProvider, IUpgradeInfoProvider { +public class TileEntityMachineElectricFurnace extends TileEntityMachineBase implements ISidedInventory, IEnergyReceiverMK2, IGUIProvider, IUpgradeInfoProvider { // HOLY FUCKING SHIT I SPENT 5 DAYS ON THIS SHITFUCK CLASS FILE // thanks Martin, vaer and Bob for the help @@ -236,6 +236,8 @@ public class TileEntityMachineElectricFurnace extends TileEntityMachineBase impl } public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + this.power = nbt.getLong("power"); this.maxProgress = nbt.getInteger("MaxProgress"); this.progress = nbt.getInteger("progress"); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineExcavator.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineExcavator.java index ac3095dd3..2dbbcb63b 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineExcavator.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineExcavator.java @@ -29,12 +29,13 @@ import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.Compat; import com.hbm.util.EnumUtil; import com.hbm.util.I18nUtil; +import com.hbm.util.InventoryUtil; import com.hbm.util.ItemStackUtil; import com.hbm.util.fauxpointtwelve.BlockPos; import com.hbm.util.fauxpointtwelve.DirPos; import api.hbm.conveyor.IConveyorBelt; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardReceiver; import cpw.mods.fml.relauncher.ReflectionHelper; import cpw.mods.fml.relauncher.Side; @@ -57,7 +58,7 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineExcavator extends TileEntityMachineBase implements IEnergyUser, IFluidStandardReceiver, IControlReceiver, IGUIProvider, IUpgradeInfoProvider { +public class TileEntityMachineExcavator extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardReceiver, IControlReceiver, IGUIProvider, IUpgradeInfoProvider { public static final long maxPower = 1_000_000; public long power; @@ -214,6 +215,8 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements } public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + this.enableDrill = nbt.getBoolean("d"); this.enableCrusher = nbt.getBoolean("c"); this.enableWalling = nbt.getBoolean("w"); @@ -671,7 +674,7 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements if(inv instanceof ISidedInventory) { ISidedInventory sided = (ISidedInventory) inv; - access = CraneInserter.masquerade(sided, dir.ordinal()); + access = InventoryUtil.masquerade(sided, dir.ordinal()); } for(ItemStack item : items) { @@ -850,9 +853,9 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements @Override public void provideInfo(UpgradeType type, int level, List info, boolean extendedInfo) { - info.add(IUpgradeInfoProvider.getStandardLabel(ModBlocks.machine_assembler)); + info.add(IUpgradeInfoProvider.getStandardLabel(ModBlocks.machine_excavator)); if(type == UpgradeType.SPEED) { - info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(this.KEY_DELAY, "-" + (100 - 100 / (level / 2 + 1)) + "%")); + info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(this.KEY_DELAY, "-" + (100 - 200 / (level + 2)) + "%")); info.add(EnumChatFormatting.RED + I18nUtil.resolveKey(this.KEY_CONSUMPTION, "+" + (level * 100) + "%")); } if(type == UpgradeType.POWER) { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineExposureChamber.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineExposureChamber.java index e8f98a245..d733720ba 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineExposureChamber.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineExposureChamber.java @@ -17,7 +17,7 @@ import com.hbm.util.BobMathUtil; import com.hbm.util.I18nUtil; import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import io.netty.buffer.ByteBuf; @@ -25,12 +25,13 @@ import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineExposureChamber extends TileEntityMachineBase implements IGUIProvider, IEnergyUser, IUpgradeInfoProvider { +public class TileEntityMachineExposureChamber extends TileEntityMachineBase implements IGUIProvider, IEnergyReceiverMK2, IUpgradeInfoProvider { public long power; public static final long maxPower = 1_000_000; @@ -45,6 +46,22 @@ public class TileEntityMachineExposureChamber extends TileEntityMachineBase impl public boolean isOn = false; public float rotation; public float prevRotation; + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + this.progress = nbt.getInteger("progress"); + this.power = nbt.getLong("power"); + this.savedParticles = nbt.getInteger("savedParticles"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setInteger("progress", progress); + nbt.setLong("power", power); + nbt.setInteger("savedParticles", savedParticles); + } public TileEntityMachineExposureChamber() { /* diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineFunnel.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineFunnel.java new file mode 100644 index 000000000..3b7a8f6fd --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineFunnel.java @@ -0,0 +1,164 @@ +package com.hbm.tileentity.machine; + +import com.hbm.interfaces.IControlReceiver; +import com.hbm.inventory.container.ContainerFunnel; +import com.hbm.inventory.gui.GUIFunnel; +import com.hbm.tileentity.IGUIProvider; +import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.tileentity.machine.TileEntityMachineAutocrafter.InventoryCraftingAuto; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.InventoryCrafting; +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.CraftingManager; +import net.minecraft.item.crafting.IRecipe; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; + +public class TileEntityMachineFunnel extends TileEntityMachineBase implements IGUIProvider, IControlReceiver { + + public int mode = 0; + public static final int MODE_ALL = 0; + public static final int MODE_3x3 = 1; + public static final int MODE_2x2 = 2; + + public TileEntityMachineFunnel() { + super(18); + } + + @Override + public String getName() { + return "container.machineFunnel"; + } + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + + for(int i = 0; i < 9; i++) { + + if(slots[i] != null) { + int stacksize = 9; + ItemStack compressed = (mode == MODE_2x2 || slots[i].stackSize < 9) ? null : this.getFrom9(slots[i]); + if(compressed == null) { + compressed = (mode == MODE_3x3 || slots[i].stackSize < 4) ? null : this.getFrom4(slots[i]); + stacksize = 4; + } + + if(compressed != null && slots[i].stackSize >= stacksize) { + if(slots[i + 9] == null) { + slots[i + 9] = compressed.copy(); + this.decrStackSize(i, stacksize); + } else if(slots[i + 9].getItem() == compressed.getItem() && slots[i + 9].getItemDamage() == compressed.getItemDamage() && slots[i + 9].stackSize + compressed.stackSize <= compressed.getMaxStackSize()) { + slots[i + 9].stackSize += compressed.stackSize; + this.decrStackSize(i, stacksize); + } + } + } + } + + this.networkPackNT(15); + } + } + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeInt(this.mode); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.mode = buf.readInt(); + } + + public int[] topAccess = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8 }; + public int[] bottomAccess = new int[] { 9, 10, 11, 12, 13, 14, 15, 16, 17 }; + + @Override + public int[] getAccessibleSlotsFromSide(int side) { + return side == 0 ? bottomAccess : topAccess; + } + + @Override + public boolean canExtractItem(int i, ItemStack stack, int j) { + if(j == 0) return i > 8; + return j != 1 && i < 9; + } + + @Override + public boolean isItemValidForSlot(int slot, ItemStack stack) { + if(slot > 8) return false; + return this.getFrom9(stack) != null || this.getFrom4(stack) != null; + } + + protected InventoryCraftingAuto craftingInventory = new InventoryCraftingAuto(3, 3); + + public ItemStack getFrom4(ItemStack ingredient) { + this.craftingInventory.clear(); + this.craftingInventory.setInventorySlotContents(0, ingredient.copy()); + this.craftingInventory.setInventorySlotContents(1, ingredient.copy()); + this.craftingInventory.setInventorySlotContents(3, ingredient.copy()); + this.craftingInventory.setInventorySlotContents(4, ingredient.copy()); + return getMatch(this.craftingInventory); + } + + public ItemStack getFrom9(ItemStack ingredient) { + this.craftingInventory.clear(); + for(int i = 0; i < 9; i++) this.craftingInventory.setInventorySlotContents(i, ingredient.copy()); + return getMatch(this.craftingInventory); + } + + public ItemStack getMatch(InventoryCrafting grid) { + for(Object o : CraftingManager.getInstance().getRecipeList()) { + IRecipe recipe = (IRecipe) o; + + if(recipe.matches(grid, worldObj)) { + return recipe.getCraftingResult(grid); + } + } + return null; + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + this.mode = nbt.getInteger("mode"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setInteger("mode", mode); + } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerFunnel(player.inventory, this); + } + + @Override + @SideOnly(Side.CLIENT) + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIFunnel(player.inventory, this); + } + + @Override + public boolean hasPermission(EntityPlayer player) { + return this.isUseableByPlayer(player); + } + + @Override + public void receiveControl(NBTTagCompound data) { + this.mode++; + if(mode > 2) mode = 0; + this.markDirty(); + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGasCent.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGasCent.java index eb993e4f7..cf0ad2b1c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGasCent.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGasCent.java @@ -15,11 +15,13 @@ import com.hbm.packet.LoopedSoundPacket; import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.CompatEnergyControl; import com.hbm.util.InventoryUtil; import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardReceiver; +import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -34,7 +36,7 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; //epic! -public class TileEntityMachineGasCent extends TileEntityMachineBase implements IEnergyUser, IFluidStandardReceiver, IGUIProvider { +public class TileEntityMachineGasCent extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardReceiver, IGUIProvider, IInfoProviderEC { public long power; public int progress; @@ -167,6 +169,8 @@ public class TileEntityMachineGasCent extends TileEntityMachineBase implements I } public void networkUnpack(NBTTagCompound data) { + super.networkUnpack(data); + this.power = data.getLong("power"); this.progress = data.getInteger("progress"); this.isProgressing = data.getBoolean("isProgressing"); @@ -450,4 +454,10 @@ public class TileEntityMachineGasCent extends TileEntityMachineBase implements I public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineGasCent(player.inventory, this); } + + @Override + public void provideExtraInfo(NBTTagCompound data) { + data.setBoolean(CompatEnergyControl.B_ACTIVE, this.progress > 0); + data.setInteger(CompatEnergyControl.I_PROGRESS, this.progress); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineHephaestus.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineHephaestus.java index f629c577b..eb22b3289 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineHephaestus.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineHephaestus.java @@ -8,6 +8,8 @@ import com.hbm.inventory.fluid.trait.FT_Heatable; import com.hbm.inventory.fluid.trait.FT_Heatable.HeatingStep; import com.hbm.inventory.fluid.trait.FT_Heatable.HeatingType; import com.hbm.lib.Library; +import com.hbm.main.MainRegistry; +import com.hbm.sound.AudioWrapper; import com.hbm.tileentity.INBTPacketReceiver; import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.util.fauxpointtwelve.DirPos; @@ -37,6 +39,8 @@ public class TileEntityMachineHephaestus extends TileEntityLoadedBase implements private int[] heat = new int[10]; private long fissureScanTime; + + private AudioWrapper audio; @Override public void updateEntity() { @@ -91,6 +95,16 @@ public class TileEntityMachineHephaestus extends TileEntityLoadedBase implements double z = worldObj.rand.nextGaussian() * 2; worldObj.spawnParticle("cloud", xCoord + 0.5 + x, yCoord + 6 + y, zCoord + 0.5 + z, 0, 0, 0); } + + if(audio == null) { + audio = MainRegistry.proxy.getLoopedSound("hbm:block.hephaestusRunning", xCoord, yCoord + 5F, zCoord, 0.75F, 10F, 1.0F); + audio.startSound(); + } + } else { + if(audio != null) { + audio.stopSound(); + audio = null; + } } if(this.rot >= 360F) { @@ -234,6 +248,26 @@ public class TileEntityMachineHephaestus extends TileEntityLoadedBase implements return dir != ForgeDirection.UNKNOWN && dir != ForgeDirection.UP && dir != ForgeDirection.DOWN; } + @Override + public void onChunkUnload() { + super.onChunkUnload(); + + if(audio != null) { + audio.stopSound(); + audio = null; + } + } + + @Override + public void invalidate() { + super.invalidate(); + + if(audio != null) { + audio.stopSound(); + audio = null; + } + } + AxisAlignedBB bb = null; @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIGenerator.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIGenerator.java index 141c16d38..325b68a64 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIGenerator.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIGenerator.java @@ -1,33 +1,23 @@ package com.hbm.tileentity.machine; -import java.io.IOException; - -import com.google.gson.JsonObject; -import com.google.gson.stream.JsonWriter; import com.hbm.blocks.BlockDummyable; -import com.hbm.config.GeneralConfig; -import com.hbm.interfaces.IFluidAcceptor; import com.hbm.inventory.container.ContainerIGenerator; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.trait.FT_Flammable; import com.hbm.inventory.gui.GUIIGenerator; -import com.hbm.items.ModItems; -import com.hbm.lib.Library; -import com.hbm.tileentity.IConfigurableMachine; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; -import com.hbm.util.RTGUtil; +import com.hbm.util.CompatEnergyControl; import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IEnergyGenerator; import api.hbm.fluid.IFluidStandardReceiver; +import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Items; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -37,7 +27,7 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineIGenerator extends TileEntityMachineBase implements IFluidAcceptor, IEnergyGenerator, IFluidStandardReceiver, IConfigurableMachine, IGUIProvider { +public class TileEntityMachineIGenerator extends TileEntityMachineBase implements IFluidStandardReceiver, IGUIProvider, IInfoProviderEC { public long power; public int spin; @@ -61,51 +51,13 @@ public class TileEntityMachineIGenerator extends TileEntityMachineBase implement public static int waterCap = 16000; public static int oilCap = 16000; public static int lubeCap = 4000; - public static int coalGenRate = 20; + public static int coalGenRate = 100; public static double rtgHeatMult = 0.15D; - public static double waterPowerMult = 1.0D; - public static double lubePowerMult = 1.5D; - public static double heatExponent = 1.15D; public static int waterRate = 10; public static int lubeRate = 1; public static long fluidHeatDiv = 1_000L; - - @Override - public String getConfigName() { - return "igen"; - } - - @Override - public void readIfPresent(JsonObject obj) { - maxPower = IConfigurableMachine.grab(obj, "L:powerCap", maxPower); - waterCap = IConfigurableMachine.grab(obj, "I:waterCap", waterCap); - oilCap = IConfigurableMachine.grab(obj, "I:oilCap", oilCap); - lubeCap = IConfigurableMachine.grab(obj, "I:lubeCap", lubeCap); - coalGenRate = IConfigurableMachine.grab(obj, "I:solidFuelRate", coalGenRate); - rtgHeatMult = IConfigurableMachine.grab(obj, "D:rtgHeatMult", rtgHeatMult); - waterPowerMult = IConfigurableMachine.grab(obj, "D:waterPowerMult", waterPowerMult); - lubePowerMult = IConfigurableMachine.grab(obj, "D:lubePowerMult", lubePowerMult); - heatExponent = IConfigurableMachine.grab(obj, "D:heatExponent", heatExponent); - waterRate = IConfigurableMachine.grab(obj, "I:waterRate", waterRate); - lubeRate = IConfigurableMachine.grab(obj, "I:lubeRate", lubeRate); - fluidHeatDiv = IConfigurableMachine.grab(obj, "D:fluidHeatDiv", fluidHeatDiv); - } - - @Override - public void writeConfig(JsonWriter writer) throws IOException { - writer.name("L:powerCap").value(maxPower); - writer.name("I:waterCap").value(waterCap); - writer.name("I:oilCap").value(oilCap); - writer.name("I:lubeCap").value(lubeCap); - writer.name("I:solidFuelRate").value(coalGenRate); - writer.name("D:rtgHeatMult").value(rtgHeatMult); - writer.name("D:waterPowerMult").value(waterPowerMult); - writer.name("D:lubePowerMult").value(lubePowerMult); - writer.name("D:heatExponent").value(heatExponent); - writer.name("I:waterRate").value(waterRate); - writer.name("I:lubeRate").value(lubeRate); - writer.name("D:fluidHeatDiv").value(fluidHeatDiv); - } + + protected long output; public TileEntityMachineIGenerator() { super(21); @@ -134,7 +86,7 @@ public class TileEntityMachineIGenerator extends TileEntityMachineBase implement @Override public void updateEntity() { - if(!worldObj.isRemote) { + /*if(!worldObj.isRemote) { boolean con = GeneralConfig.enableLBSM && GeneralConfig.enableLBSMIGen; @@ -215,19 +167,21 @@ public class TileEntityMachineIGenerator extends TileEntityMachineBase implement if(this.spin > 0) { - int powerGen = this.spin; + double genMult = 0.5D; + if(this.tanks[0].getFill() >= 10) { - powerGen += this.spin * waterPowerMult; + genMult += 0.5D; this.tanks[0].setFill(this.tanks[0].getFill() - waterRate); } if(this.tanks[2].getFill() >= 1) { - powerGen += this.spin * lubePowerMult; + genMult += 0.25D; this.tanks[2].setFill(this.tanks[2].getFill() - lubeRate); } - this.power += Math.pow(powerGen, heatExponent); + this.output = (long) (this.spin * genMult); + this.power += this.output; if(this.power > this.maxPower) this.power = this.maxPower; @@ -255,7 +209,7 @@ public class TileEntityMachineIGenerator extends TileEntityMachineBase implement this.rotation -= 360; this.prevRotation -= 360; } - } + }*/ } @Override @@ -270,6 +224,8 @@ public class TileEntityMachineIGenerator extends TileEntityMachineBase implement @Override public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + this.power = nbt.getLong("power"); this.spin = nbt.getInteger("spin"); this.burn = nbt.getIntArray("burn"); @@ -280,47 +236,6 @@ public class TileEntityMachineIGenerator extends TileEntityMachineBase implement FluidType type = tanks[1].getTankType(); return type.hasTrait(FT_Flammable.class) ? (int)(type.getTrait(FT_Flammable.class).getHeatEnergy() / (con ? 5000L : fluidHeatDiv)) : 0; } - - @Override - public void setFillForSync(int fill, int index) { - tanks[index].setFill(fill); - } - - @Override - public void setFluidFill(int fill, FluidType type) { - - if(type == Fluids.WATER) - tanks[0].setFill(fill); - else if(type == Fluids.LUBRICANT) - tanks[2].setFill(fill); - else if(tanks[1].getTankType() == type) - tanks[1].setFill(fill); - } - - @Override - public void setTypeForSync(FluidType type, int index) { - tanks[index].setTankType(type); - } - - @Override - public int getFluidFill(FluidType type) { - - for(int i = 0; i < 3; i++) - if(tanks[i].getTankType() == type) - return tanks[i].getFill(); - - return 0; - } - - @Override - public int getMaxFluidFill(FluidType type) { - - for(int i = 0; i < 3; i++) - if(tanks[i].getTankType() == type) - return tanks[i].getMaxFill(); - - return 0; - } @Override public void readFromNBT(NBTTagCompound nbt) { @@ -351,26 +266,10 @@ public class TileEntityMachineIGenerator extends TileEntityMachineBase implement @Override @SideOnly(Side.CLIENT) - public double getMaxRenderDistanceSquared() - { + public double getMaxRenderDistanceSquared() { return 65536.0D; } - @Override - public void setPower(long power) { - this.power = power; - } - - @Override - public long getPower() { - return this.power; - } - - @Override - public long getMaxPower() { - return this.maxPower; - } - @Override public FluidTank[] getReceivingTanks() { return new FluidTank[] { tanks[0], tanks[1], tanks[2] }; @@ -391,4 +290,10 @@ public class TileEntityMachineIGenerator extends TileEntityMachineBase implement public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIIGenerator(player.inventory, this); } + + @Override + public void provideExtraInfo(NBTTagCompound data) { + data.setBoolean(CompatEnergyControl.B_ACTIVE, this.output > 0); + data.setDouble(CompatEnergyControl.D_OUTPUT_HE, this.output); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineLargeTurbine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineLargeTurbine.java index acdc7ee38..508e4d3a0 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineLargeTurbine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineLargeTurbine.java @@ -2,6 +2,7 @@ package com.hbm.tileentity.machine; import java.util.ArrayList; import java.util.List; +import java.util.Random; import com.hbm.blocks.BlockDummyable; import com.hbm.handler.CompatHandler; @@ -16,12 +17,16 @@ import com.hbm.inventory.fluid.trait.FT_Coolable; import com.hbm.inventory.fluid.trait.FT_Coolable.CoolingType; import com.hbm.inventory.gui.GUIMachineLargeTurbine; import com.hbm.lib.Library; +import com.hbm.main.MainRegistry; +import com.hbm.sound.AudioWrapper; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.CompatEnergyControl; import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IEnergyGenerator; +import api.hbm.energymk2.IEnergyProviderMK2; import api.hbm.fluid.IFluidStandardTransceiver; +import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -39,18 +44,22 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityMachineLargeTurbine extends TileEntityMachineBase implements IFluidContainer, IFluidAcceptor, IFluidSource, IEnergyGenerator, IFluidStandardTransceiver, IGUIProvider, SimpleComponent { +public class TileEntityMachineLargeTurbine extends TileEntityMachineBase implements IFluidContainer, IFluidAcceptor, IFluidSource, IEnergyProviderMK2, IFluidStandardTransceiver, IGUIProvider, SimpleComponent, IInfoProviderEC { public long power; public static final long maxPower = 100000000; public int age = 0; public List list2 = new ArrayList(); public FluidTank[] tanks; + protected double[] info = new double[3]; private boolean shouldTurn; public float rotor; public float lastRotor; public float fanAcceleration = 0F; + + private AudioWrapper audio; + private float audioDesync; public TileEntityMachineLargeTurbine() { super(7); @@ -58,6 +67,9 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme tanks = new FluidTank[2]; tanks[0] = new FluidTank(Fluids.STEAM, 512000, 0); tanks[1] = new FluidTank(Fluids.SPENTSTEAM, 10240000, 1); + + Random rand = new Random(); + audioDesync = rand.nextFloat() * 0.05F; } @Override @@ -70,16 +82,17 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme if(!worldObj.isRemote) { + this.info = new double[3]; + age++; - if(age >= 2) - { + if(age >= 2) { age = 0; } fillFluidInit(tanks[1].getTankType()); ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); - this.sendPower(worldObj, xCoord + dir.offsetX * -4, yCoord, zCoord + dir.offsetZ * -4, dir.getOpposite()); + this.tryProvide(worldObj, xCoord + dir.offsetX * -4, yCoord, zCoord + dir.offsetZ * -4, dir.getOpposite()); for(DirPos pos : getConPos()) this.trySubscribe(tanks[0].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); for(DirPos pos : getConPos()) this.sendFluid(tanks[1], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); @@ -103,6 +116,9 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme tanks[0].setFill(tanks[0].getFill() - ops * trait.amountReq); tanks[1].setFill(tanks[1].getFill() + ops * trait.amountProduced); this.power += (ops * trait.heatEnergy * eff); + info[0] = ops * trait.amountReq; + info[1] = ops * trait.amountProduced; + info[2] = ops * trait.heatEnergy * eff; valid = true; operational = ops > 0; } @@ -129,11 +145,30 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme } if(shouldTurn) { + // Fan accelerates with a random offset to ensure the audio doesn't perfectly align, makes for a more pleasant hum + this.fanAcceleration = Math.max(0F, Math.min(15F, this.fanAcceleration += 0.075F + audioDesync)); - this.fanAcceleration = Math.max(0F, Math.min(15F, this.fanAcceleration += 0.1F)); - } - if(!shouldTurn) { + if(audio == null) { + audio = MainRegistry.proxy.getLoopedSound("hbm:block.largeTurbineRunning", xCoord, yCoord, zCoord, 1.0F, 10F, 1.0F); + audio.startSound(); + } + + float turbineSpeed = this.fanAcceleration / 15F; + audio.updateVolume(getVolume(0.4f * turbineSpeed)); + audio.updatePitch(0.25F + 0.75F * turbineSpeed); + } else { this.fanAcceleration = Math.max(0F, Math.min(15F, this.fanAcceleration -= 0.1F)); + + if(audio != null) { + if(this.fanAcceleration > 0) { + float turbineSpeed = this.fanAcceleration / 15F; + audio.updateVolume(getVolume(0.4f * turbineSpeed)); + audio.updatePitch(0.25F + 0.75F * turbineSpeed); + } else { + audio.stopSound(); + audio = null; + } + } } } } @@ -149,6 +184,8 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme } public void networkUnpack(NBTTagCompound data) { + super.networkUnpack(data); + this.power = data.getLong("power"); this.shouldTurn = data.getBoolean("operational"); } @@ -291,6 +328,26 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme public String getComponentName() { return "ntm_turbine"; } + + @Override + public void onChunkUnload() { + super.onChunkUnload(); + + if(audio != null) { + audio.stopSound(); + audio = null; + } + } + + @Override + public void invalidate() { + super.invalidate(); + + if(audio != null) { + audio.stopSound(); + audio = null; + } + } @Callback(direct = true) @Optional.Method(modid = "OpenComputers") @@ -327,4 +384,12 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineLargeTurbine(player.inventory, this); } + + @Override + public void provideExtraInfo(NBTTagCompound data) { + data.setBoolean(CompatEnergyControl.B_ACTIVE, info[1] > 0); + data.setDouble(CompatEnergyControl.D_CONSUMPTION_MB, info[0]); + data.setDouble(CompatEnergyControl.D_OUTPUT_MB, info[1]); + data.setDouble(CompatEnergyControl.D_OUTPUT_HE, info[2]); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiniRTG.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiniRTG.java index e9d41a607..ba194d48d 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiniRTG.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiniRTG.java @@ -2,11 +2,14 @@ package com.hbm.tileentity.machine; import com.hbm.blocks.ModBlocks; import com.hbm.tileentity.TileEntityLoadedBase; +import com.hbm.util.CompatEnergyControl; -import api.hbm.energy.IEnergyGenerator; +import api.hbm.energymk2.IEnergyProviderMK2; +import api.hbm.tile.IInfoProviderEC; +import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineMiniRTG extends TileEntityLoadedBase implements IEnergyGenerator { +public class TileEntityMachineMiniRTG extends TileEntityLoadedBase implements IEnergyProviderMK2, IInfoProviderEC { public long power; boolean tact = false; @@ -16,27 +19,26 @@ public class TileEntityMachineMiniRTG extends TileEntityLoadedBase implements IE if(!worldObj.isRemote) { - if(this.getBlockType() == ModBlocks.machine_powerrtg) - power += 2500; - else - power += 700; + power += this.getOutput(); if(power > getMaxPower()) power = getMaxPower(); - for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) - this.sendPower(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + this.tryProvide(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); + } } } - + + public long getOutput() { + if(this.getBlockType() == ModBlocks.machine_powerrtg) return 2_500; + return 700; + } @Override public long getMaxPower() { - - if(this.getBlockType() == ModBlocks.machine_powerrtg) - return 50000; - - return 1400; + if(this.getBlockType() == ModBlocks.machine_powerrtg) return 50_000; + return 1_400; } @Override @@ -48,4 +50,11 @@ public class TileEntityMachineMiniRTG extends TileEntityLoadedBase implements IE public void setPower(long i) { power = i; } + + + @Override + public void provideExtraInfo(NBTTagCompound data) { + data.setBoolean(CompatEnergyControl.B_ACTIVE, true); + data.setDouble(CompatEnergyControl.D_OUTPUT_HE, this.getOutput()); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningDrill.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningDrill.java deleted file mode 100644 index f34c79c98..000000000 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningDrill.java +++ /dev/null @@ -1,495 +0,0 @@ -package com.hbm.tileentity.machine; - -import com.hbm.blocks.ModBlocks; -import com.hbm.inventory.UpgradeManager; -import com.hbm.inventory.container.ContainerMachineMiningDrill; -import com.hbm.inventory.gui.GUIMachineMiningDrill; -import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; -import com.hbm.lib.Library; -import com.hbm.packet.AuxElectricityPacket; -import com.hbm.packet.LoopedSoundPacket; -import com.hbm.packet.PacketDispatcher; -import com.hbm.packet.TEDrillPacket; -import com.hbm.sound.SoundLoopMachine; -import com.hbm.tileentity.IGUIProvider; -import com.hbm.tileentity.TileEntityMachineBase; - -import api.hbm.block.IDrillInteraction; -import api.hbm.block.IMiningDrill; -import api.hbm.energy.IBatteryItem; -import api.hbm.energy.IEnergyUser; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.World; - -public class TileEntityMachineMiningDrill extends TileEntityMachineBase implements IEnergyUser, IMiningDrill, IGUIProvider { - - public long power; - public int warning; - public static final long maxPower = 100000; - int age = 0; - int timer = 50; - int radius = 100; - int consumption = 100; - int fortune = 0; - boolean flag = true; - public float torque; - public float rotation; - SoundLoopMachine sound; - - public TileEntityMachineMiningDrill() { - super(13); - } - - @Override - public String getName() { - return "container.miningDrill"; - } - - @Override - public boolean isItemValidForSlot(int i, ItemStack itemStack) { - if(i == 0) - if(itemStack.getItem() instanceof IBatteryItem) - return true; - - if(i == 1) - return true; - - return false; - } - - @Override - public void readFromNBT(NBTTagCompound nbt) { - super.readFromNBT(nbt); - this.power = nbt.getLong("power"); - } - - @Override - public void writeToNBT(NBTTagCompound nbt) { - super.writeToNBT(nbt); - nbt.setLong("power", power); - } - - public long getPowerScaled(long i) { - return (power * i) / maxPower; - } - - @Override - public void updateEntity() { - - if(!worldObj.isRemote) { - - this.updateConnections(); - - this.consumption = 100; - this.timer = 50; - this.radius = 1; - this.fortune = 0; - - UpgradeManager.eval(slots, 10, 12); - this.radius += Math.min(UpgradeManager.getLevel(UpgradeType.EFFECT), 3); - this.consumption += Math.min(UpgradeManager.getLevel(UpgradeType.EFFECT), 3) * 80; - - this.timer -= Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 3) * 15; - this.consumption += Math.min(UpgradeManager.getLevel(UpgradeType.SPEED), 3) * 300; - - this.consumption -= Math.min(UpgradeManager.getLevel(UpgradeType.POWER), 3) * 30; - this.timer += Math.min(UpgradeManager.getLevel(UpgradeType.POWER), 3) * 5; - - this.fortune += Math.min(UpgradeManager.getLevel(UpgradeType.FORTUNE), 3); - this.timer += Math.min(UpgradeManager.getLevel(UpgradeType.FORTUNE), 3) * 15; - - age++; - if(age >= timer) - age -= timer; - - power = Library.chargeTEFromItems(slots, 0, power, maxPower); - - if(power >= consumption) { - - //operation start - - if(age == timer - 1) { - warning = 0; - - //warning 0, green: drill is operational - //warning 1, red: drill is full, has no power or the drill is jammed - //warning 2, yellow: drill has reached max depth - - for(int i = this.yCoord - 1; i > this.yCoord - 1 - 100; i--) { - - if(i <= 3) { - //Code 2: The drilling ended - warning = 2; - break; - } - - if(worldObj.getBlock(xCoord, i, zCoord) != ModBlocks.drill_pipe) { - - if(worldObj.getBlock(xCoord, i, zCoord).isReplaceable(worldObj, xCoord, i, zCoord) || this.tryDrill(xCoord, i, zCoord)) { - - if(worldObj.getBlock(xCoord, i, zCoord).isReplaceable(worldObj, xCoord, i, zCoord)) { - worldObj.setBlock(xCoord, i, zCoord, ModBlocks.drill_pipe); - } - - break; - - } else { - this.warning = 1; - break; - } - } - - if(this.drill(xCoord, i, zCoord, radius)) - break; - } - } - - //operation end - - power -= consumption; - } else { - warning = 1; - } - - int meta = worldObj.getBlockMetadata(this.xCoord, this.yCoord, this.zCoord); - TileEntity te = null; - if(meta == 2) { - te = worldObj.getTileEntity(xCoord - 2, yCoord, zCoord); - //worldObj.setBlock(xCoord - 2, yCoord, zCoord, Blocks.dirt); - } - if(meta == 3) { - te = worldObj.getTileEntity(xCoord + 2, yCoord, zCoord); - //worldObj.setBlock(xCoord - 2, yCoord, zCoord, Blocks.dirt); - } - if(meta == 4) { - te = worldObj.getTileEntity(xCoord, yCoord, zCoord + 2); - //worldObj.setBlock(xCoord - 2, yCoord, zCoord, Blocks.dirt); - } - if(meta == 5) { - te = worldObj.getTileEntity(xCoord, yCoord, zCoord - 2); - //worldObj.setBlock(xCoord - 2, yCoord, zCoord, Blocks.dirt); - } - - if(te != null && te instanceof IInventory) { - IInventory chest = (IInventory)te; - - for(int i = 1; i < 10; i++) - if(tryFillContainer(chest, i)) - break; - } - - if(warning == 0) { - torque += 0.1; - if(torque > (100/timer)) - torque = (100/timer); - } else { - torque -= 0.1F; - if(torque < -(100/timer)) - torque = -(100/timer); - } - - if(torque < 0) { - torque = 0; - } - rotation += torque; - if(rotation >= 360) - rotation -= 360; - - PacketDispatcher.wrapper.sendToAllAround(new TEDrillPacket(xCoord, yCoord, zCoord, rotation, torque), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150)); - PacketDispatcher.wrapper.sendToAllAround(new LoopedSoundPacket(xCoord, yCoord, zCoord), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); - PacketDispatcher.wrapper.sendToAllAround(new AuxElectricityPacket(xCoord, yCoord, zCoord, power), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); - } - } - - private void updateConnections() { - this.getBlockMetadata(); - - if(this.blockMetadata == 5 || this.blockMetadata == 4) { - this.trySubscribe(worldObj, xCoord + 2, yCoord, zCoord, Library.POS_X); - this.trySubscribe(worldObj, xCoord - 2, yCoord, zCoord, Library.NEG_X); - - } else if(this.blockMetadata == 3 || this.blockMetadata == 2) { - this.trySubscribe(worldObj, xCoord, yCoord, zCoord + 2, Library.POS_Z); - this.trySubscribe(worldObj, xCoord, yCoord, zCoord - 2, Library.NEG_Z); - } - } - - public boolean tryFillContainer(IInventory inventory, int slot) { - - int size = inventory.getSizeInventory(); - - for(int i = 0; i < size; i++) { - if(inventory.getStackInSlot(i) != null) { - - if(slots[slot] == null) - return false; - - ItemStack sta1 = inventory.getStackInSlot(i).copy(); - ItemStack sta2 = slots[slot].copy(); - - if(!inventory.isItemValidForSlot(i, sta2)) - continue; - - if(sta1 != null && sta2 != null) { - sta1.stackSize = 1; - sta2.stackSize = 1; - - if(ItemStack.areItemStacksEqual(sta1, sta2) && ItemStack.areItemStackTagsEqual(sta1, sta2) && inventory.getStackInSlot(i).stackSize < inventory.getStackInSlot(i).getMaxStackSize()) { - slots[slot].stackSize--; - - if(slots[slot].stackSize <= 0) - slots[slot] = null; - - ItemStack sta3 = inventory.getStackInSlot(i).copy(); - sta3.stackSize++; - inventory.setInventorySlotContents(i, sta3); - - return true; - } - } - } - } - for(int i = 0; i < size; i++) { - - if(slots[slot] == null) - return false; - - ItemStack sta2 = slots[slot].copy(); - - if(!inventory.isItemValidForSlot(i, sta2)) - continue; - - if(inventory.getStackInSlot(i) == null && sta2 != null) { - sta2.stackSize = 1; - slots[slot].stackSize--; - - if(slots[slot].stackSize <= 0) - slots[slot] = null; - - inventory.setInventorySlotContents(i, sta2); - - return true; - } - } - - return false; - } - - //Method: isOre - //"make it oreo!" - //"ok" - public boolean isOreo(int x, int y, int z) { - - Block b = worldObj.getBlock(x, y, z); - float hardness = b.getBlockHardness(worldObj, x, y, z); - - return hardness < 70 && hardness >= 0; - } - - public boolean isMinableOreo(int x, int y, int z) { - - Block b = worldObj.getBlock(x, y, z); - float hardness = b.getBlockHardness(worldObj, x, y, z); - - return (hardness < 70 && hardness >= 0) || b instanceof IDrillInteraction; - } - - /** - * returns true if there has been a successful mining operation - * returns false if no block could be mined and the drill is ready to extend - * */ - public boolean drill(int x, int y, int z, int rad) { - - if(!flag) - return false; - - for(int ix = x - rad; ix <= x + rad; ix++) { - for(int iz = z - rad; iz <= z + rad; iz++) { - - if(ix != x || iz != z) - if(tryDrill(ix, y, iz)) - return true; - } - } - - return false; - } - - /** - * returns true if there has been a successful mining operation - * returns false if no block could be mined, as it is either air or unmineable - * */ - public boolean tryDrill(int x, int y, int z) { - - if(worldObj.getBlock(x, y, z).isAir(worldObj, x, y, z) || !isMinableOreo(x, y, z)) - return false; - if(worldObj.getBlock(x, y, z).getMaterial().isLiquid()) { - worldObj.func_147480_a(x, y, z, false); - return false; - } - - Block b = worldObj.getBlock(x, y, z); - int meta = worldObj.getBlockMetadata(x, y, z); - - if(b instanceof IDrillInteraction) { - IDrillInteraction in = (IDrillInteraction) b; - - ItemStack sta = in.extractResource(worldObj, x, y, z, meta, this); - - if(sta != null && hasSpace(sta)) { - this.addItemToInventory(sta); - } - - if(!in.canBreak(worldObj, x, y, z, meta, this)) - return true; //true because the block is still there and mining should continue - } - - ItemStack stack = new ItemStack(b.getItemDropped(meta, worldObj.rand, fortune), b.quantityDropped(meta, fortune, worldObj.rand), b.damageDropped(meta)); - - //yup that worked - if(stack != null && stack.getItem() == null) { - worldObj.func_147480_a(x, y, z, false); - return true; - } - - if(hasSpace(stack)) { - this.addItemToInventory(stack); - worldObj.func_147480_a(x, y, z, false); - return true; - } - - return true; - } - - public boolean hasSpace(ItemStack stack) { - - ItemStack st = stack.copy(); - - if(st == null) - return true; - - for(int i = 1; i < 10; i++) { - if(slots[i] == null) - return true; - } - - st.stackSize = 1; - - ItemStack[] fakeArray = slots.clone(); - boolean flag = true; - for(int i = 0; i < stack.stackSize; i++) { - if(!canAddItemToArray(st, fakeArray)) - flag = false; - } - - return flag; - } - - public void addItemToInventory(ItemStack stack) { - - ItemStack st = stack.copy(); - - if(st == null) - return; - - int size = st.stackSize; - st.stackSize = 1; - - for(int i = 0; i < size; i++) - canAddItemToArray(st, this.slots); - - } - - public boolean canAddItemToArray(ItemStack stack, ItemStack[] array) { - - ItemStack st = stack.copy(); - - if(stack == null || st == null) - return true; - - for(int i = 1; i < 10; i++) { - - if(array[i] != null) { - ItemStack sta = array[i].copy(); - - if(stack == null || st == null) - return true; - - if(sta != null && sta.getItem() == st.getItem() && sta.stackSize < st.getMaxStackSize()) { - array[i].stackSize++; - return true; - } - } - } - - for(int i = 1; i < 10; i++) { - if(array[i] == null) { - array[i] = stack.copy(); - return true; - } - } - - return false; - } - - @Override - public void setPower(long i) { - power = i; - - } - - @Override - public long getPower() { - return power; - - } - - @Override - public long getMaxPower() { - return maxPower; - } - - @Override - public AxisAlignedBB getRenderBoundingBox() { - return TileEntity.INFINITE_EXTENT_AABB; - } - - @Override - @SideOnly(Side.CLIENT) - public double getMaxRenderDistanceSquared() - { - return 65536.0D; - } - - @Override - public DrillType getDrillTier() { - return DrillType.INDUSTRIAL; - } - - @Override - public int getDrillRating() { - return 50; - } - - @Override - public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new ContainerMachineMiningDrill(player.inventory, this); - } - - @Override - @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new GUIMachineMiningDrill(player.inventory, this); - } -} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningLaser.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningLaser.java index d40bac866..018855a6b 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningLaser.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningLaser.java @@ -31,7 +31,7 @@ import com.hbm.util.InventoryUtil; import api.hbm.block.IDrillInteraction; import api.hbm.block.IMiningDrill; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardSender; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -54,7 +54,7 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineMiningLaser extends TileEntityMachineBase implements IEnergyUser, IFluidSource, IMiningDrill, IFluidStandardSender, IGUIProvider, IUpgradeInfoProvider { +public class TileEntityMachineMiningLaser extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidSource, IMiningDrill, IFluidStandardSender, IGUIProvider, IUpgradeInfoProvider { public long power; public int age = 0; @@ -202,6 +202,7 @@ public class TileEntityMachineMiningLaser extends TileEntityMachineBase implemen } public void networkUnpack(NBTTagCompound data) { + super.networkUnpack(data); this.power = data.getLong("power"); this.lastTargetX = data.getInteger("lastX"); @@ -726,7 +727,7 @@ public class TileEntityMachineMiningLaser extends TileEntityMachineBase implemen @Override public void provideInfo(UpgradeType type, int level, List info, boolean extendedInfo) { - info.add(IUpgradeInfoProvider.getStandardLabel(ModBlocks.machine_assembler)); + info.add(IUpgradeInfoProvider.getStandardLabel(ModBlocks.machine_mining_laser)); if(type == UpgradeType.SPEED) { info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(this.KEY_DELAY, "-" + (100 - 100 / (level + 1)) + "%")); info.add(EnumChatFormatting.RED + I18nUtil.resolveKey(this.KEY_CONSUMPTION, "+" + (100 * level / 16) + "%")); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMissileAssembly.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMissileAssembly.java index f47fc563f..4ffd642d6 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMissileAssembly.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMissileAssembly.java @@ -4,9 +4,9 @@ import com.hbm.handler.MissileStruct; import com.hbm.inventory.container.ContainerMachineMissileAssembly; import com.hbm.inventory.gui.GUIMachineMissileAssembly; import com.hbm.items.weapon.ItemCustomMissile; -import com.hbm.items.weapon.ItemMissile; -import com.hbm.items.weapon.ItemMissile.FuelType; -import com.hbm.items.weapon.ItemMissile.PartType; +import com.hbm.items.weapon.ItemCustomMissilePart; +import com.hbm.items.weapon.ItemCustomMissilePart.FuelType; +import com.hbm.items.weapon.ItemCustomMissilePart.PartType; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.TEMissileMultipartPacket; import com.hbm.tileentity.IGUIProvider; @@ -190,9 +190,9 @@ public class TileEntityMachineMissileAssembly extends TileEntity implements ISid public int fuselageState() { - if(slots[2] != null && slots[2].getItem() instanceof ItemMissile) { + if(slots[2] != null && slots[2].getItem() instanceof ItemCustomMissilePart) { - ItemMissile part = (ItemMissile)slots[2].getItem(); + ItemCustomMissilePart part = (ItemCustomMissilePart)slots[2].getItem(); if(part.type == PartType.FUSELAGE) return 1; @@ -203,9 +203,9 @@ public class TileEntityMachineMissileAssembly extends TileEntity implements ISid public int chipState() { - if(slots[0] != null && slots[0].getItem() instanceof ItemMissile) { + if(slots[0] != null && slots[0].getItem() instanceof ItemCustomMissilePart) { - ItemMissile part = (ItemMissile)slots[0].getItem(); + ItemCustomMissilePart part = (ItemCustomMissilePart)slots[0].getItem(); if(part.type == PartType.CHIP) return 1; @@ -216,13 +216,13 @@ public class TileEntityMachineMissileAssembly extends TileEntity implements ISid public int warheadState() { - if(slots[1] != null && slots[1].getItem() instanceof ItemMissile && - slots[2] != null && slots[2].getItem() instanceof ItemMissile && - slots[4] != null && slots[4].getItem() instanceof ItemMissile) { + if(slots[1] != null && slots[1].getItem() instanceof ItemCustomMissilePart && + slots[2] != null && slots[2].getItem() instanceof ItemCustomMissilePart && + slots[4] != null && slots[4].getItem() instanceof ItemCustomMissilePart) { - ItemMissile part = (ItemMissile)slots[1].getItem(); - ItemMissile fuselage = (ItemMissile)slots[2].getItem(); - ItemMissile thruster = (ItemMissile)slots[4].getItem(); + ItemCustomMissilePart part = (ItemCustomMissilePart)slots[1].getItem(); + ItemCustomMissilePart fuselage = (ItemCustomMissilePart)slots[2].getItem(); + ItemCustomMissilePart thruster = (ItemCustomMissilePart)slots[4].getItem(); if(part.type == PartType.WARHEAD && fuselage.type == PartType.FUSELAGE && thruster.type == PartType.THRUSTER) { float weight = (Float)part.attributes[2]; @@ -241,11 +241,11 @@ public class TileEntityMachineMissileAssembly extends TileEntity implements ISid if(slots[3] == null) return -1; - if(slots[3] != null && slots[3].getItem() instanceof ItemMissile && - slots[2] != null && slots[2].getItem() instanceof ItemMissile) { + if(slots[3] != null && slots[3].getItem() instanceof ItemCustomMissilePart && + slots[2] != null && slots[2].getItem() instanceof ItemCustomMissilePart) { - ItemMissile part = (ItemMissile)slots[3].getItem(); - ItemMissile fuselage = (ItemMissile)slots[2].getItem(); + ItemCustomMissilePart part = (ItemCustomMissilePart)slots[3].getItem(); + ItemCustomMissilePart fuselage = (ItemCustomMissilePart)slots[2].getItem(); if(part.top == fuselage.bottom && part.type == PartType.FINS) return 1; @@ -256,11 +256,11 @@ public class TileEntityMachineMissileAssembly extends TileEntity implements ISid public int thrusterState() { - if(slots[4] != null && slots[4].getItem() instanceof ItemMissile && - slots[2] != null && slots[2].getItem() instanceof ItemMissile) { + if(slots[4] != null && slots[4].getItem() instanceof ItemCustomMissilePart && + slots[2] != null && slots[2].getItem() instanceof ItemCustomMissilePart) { - ItemMissile part = (ItemMissile)slots[4].getItem(); - ItemMissile fuselage = (ItemMissile)slots[2].getItem(); + ItemCustomMissilePart part = (ItemCustomMissilePart)slots[4].getItem(); + ItemCustomMissilePart fuselage = (ItemCustomMissilePart)slots[2].getItem(); if(part.type == PartType.THRUSTER && fuselage.type == PartType.FUSELAGE && part.top == fuselage.bottom && (FuelType)part.attributes[0] == (FuelType)fuselage.attributes[0]) { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMixer.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMixer.java index ae5054b00..34e2b1498 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMixer.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMixer.java @@ -21,7 +21,7 @@ import com.hbm.util.BobMathUtil; import com.hbm.util.I18nUtil; import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -34,7 +34,7 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; -public class TileEntityMachineMixer extends TileEntityMachineBase implements INBTPacketReceiver, IControlReceiver, IGUIProvider, IEnergyUser, IFluidStandardTransceiver, IUpgradeInfoProvider { +public class TileEntityMachineMixer extends TileEntityMachineBase implements INBTPacketReceiver, IControlReceiver, IGUIProvider, IEnergyReceiverMK2, IFluidStandardTransceiver, IUpgradeInfoProvider { public long power; public static final long maxPower = 10_000; @@ -140,6 +140,8 @@ public class TileEntityMachineMixer extends TileEntityMachineBase implements INB @Override public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + this.power = nbt.getLong("power"); this.processTime = nbt.getInteger("processTime"); this.progress = nbt.getInteger("progress"); @@ -327,7 +329,7 @@ public class TileEntityMachineMixer extends TileEntityMachineBase implements INB @Override public void provideInfo(UpgradeType type, int level, List info, boolean extendedInfo) { - info.add(IUpgradeInfoProvider.getStandardLabel(ModBlocks.machine_assembler)); + info.add(IUpgradeInfoProvider.getStandardLabel(ModBlocks.machine_mixer)); if(type == UpgradeType.SPEED) { info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(this.KEY_DELAY, "-" + (level * 25) + "%")); info.add(EnumChatFormatting.RED + I18nUtil.resolveKey(this.KEY_CONSUMPTION, "+" + (level * 300) + "%")); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePlasmaHeater.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePlasmaHeater.java index 2ddf52c34..175e11a68 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePlasmaHeater.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePlasmaHeater.java @@ -16,7 +16,7 @@ import com.hbm.lib.Library; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardReceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -29,7 +29,7 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachinePlasmaHeater extends TileEntityMachineBase implements IFluidAcceptor, IEnergyUser, IFluidStandardReceiver, IGUIProvider { +public class TileEntityMachinePlasmaHeater extends TileEntityMachineBase implements IFluidAcceptor, IEnergyReceiverMK2, IFluidStandardReceiver, IGUIProvider { public long power; public static final long maxPower = 100000000; @@ -151,6 +151,8 @@ public class TileEntityMachinePlasmaHeater extends TileEntityMachineBase impleme } public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + this.power = nbt.getLong("power"); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePress.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePress.java index c049d696e..58a31e5bd 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePress.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePress.java @@ -91,7 +91,7 @@ public class TileEntityMachinePress extends TileEntityMachineBase implements IGU this.press += stampSpeed; if(this.press >= this.maxPress) { - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.pressOperate", 1.5F, 1.0F); + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "hbm:block.pressOperate", getVolume(1.5F), 1.0F); ItemStack output = PressRecipes.getOutput(slots[2], slots[1]); if(slots[3] == null) { slots[3] = output.copy(); @@ -161,6 +161,8 @@ public class TileEntityMachinePress extends TileEntityMachineBase implements IGU @Override public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + this.speed = nbt.getInteger("speed"); this.burnTime = nbt.getInteger("burnTime"); this.syncPress = nbt.getInteger("press"); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePumpElectric.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePumpElectric.java index 25b22372d..288193818 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePumpElectric.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePumpElectric.java @@ -4,10 +4,10 @@ import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import net.minecraft.nbt.NBTTagCompound; -public class TileEntityMachinePumpElectric extends TileEntityMachinePumpBase implements IEnergyUser { +public class TileEntityMachinePumpElectric extends TileEntityMachinePumpBase implements IEnergyReceiverMK2 { public long power; public static final long maxPower = 10_000; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRTG.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRTG.java index 4e386f468..56ab3442f 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRTG.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRTG.java @@ -8,9 +8,11 @@ import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityLoadedBase; +import com.hbm.util.CompatEnergyControl; import com.hbm.util.RTGUtil; -import api.hbm.energy.IEnergyGenerator; +import api.hbm.energymk2.IEnergyProviderMK2; +import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -24,7 +26,7 @@ import net.minecraft.nbt.NBTTagList; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineRTG extends TileEntityLoadedBase implements ISidedInventory, IEnergyGenerator, IGUIProvider { +public class TileEntityMachineRTG extends TileEntityLoadedBase implements ISidedInventory, IEnergyProviderMK2, IGUIProvider, IInfoProviderEC { private ItemStack slots[]; @@ -209,7 +211,7 @@ public class TileEntityMachineRTG extends TileEntityLoadedBase implements ISided if(!worldObj.isRemote) { for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) - this.sendPower(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); + this.tryProvide(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); heat = RTGUtil.updateRTGs(slots, slot_io); @@ -249,4 +251,10 @@ public class TileEntityMachineRTG extends TileEntityLoadedBase implements ISided public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineRTG(player.inventory, this); } + + @Override + public void provideExtraInfo(NBTTagCompound data) { + data.setBoolean(CompatEnergyControl.B_ACTIVE, this.heat > 0); + data.setDouble(CompatEnergyControl.D_OUTPUT_HE, heat * 5D); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadGen.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadGen.java index 6549a7e90..825937515 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadGen.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadGen.java @@ -11,13 +11,16 @@ import com.hbm.items.special.ItemWasteLong; import com.hbm.items.special.ItemWasteShort; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.CompatEnergyControl; import com.hbm.util.Tuple.Triplet; -import api.hbm.energy.IEnergyGenerator; +import api.hbm.energymk2.IEnergyProviderMK2; +import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -27,12 +30,13 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineRadGen extends TileEntityMachineBase implements IEnergyGenerator, IGUIProvider { +public class TileEntityMachineRadGen extends TileEntityMachineBase implements IEnergyProviderMK2, IGUIProvider, IInfoProviderEC { public int[] progress = new int[12]; public int[] maxProgress = new int[12]; public int[] production = new int[12]; public ItemStack[] processing = new ItemStack[12]; + protected int output; public long power; public static final long maxPower = 1000000; @@ -52,9 +56,11 @@ public class TileEntityMachineRadGen extends TileEntityMachineBase implements IE public void updateEntity() { if(!worldObj.isRemote) { + + this.output = 0; ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); - this.sendPower(worldObj, this.xCoord - dir.offsetX * 4, this.yCoord, this.zCoord - dir.offsetZ * 4, dir.getOpposite()); + this.tryProvide(worldObj, this.xCoord - dir.offsetX * 4, this.yCoord, this.zCoord - dir.offsetZ * 4, dir.getOpposite()); //check if reload necessary for any queues for(int i = 0; i < 12; i++) { @@ -81,6 +87,7 @@ public class TileEntityMachineRadGen extends TileEntityMachineBase implements IE this.isOn = true; this.power += production[i]; + this.output += production[i]; progress[i]++; if(progress[i] >= maxProgress[i]) { @@ -117,6 +124,8 @@ public class TileEntityMachineRadGen extends TileEntityMachineBase implements IE @Override public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + this.progress = nbt.getIntArray("progress"); this.maxProgress = nbt.getIntArray("maxProgress"); this.production = nbt.getIntArray("production"); @@ -212,15 +221,16 @@ public class TileEntityMachineRadGen extends TileEntityMachineBase implements IE static { for(int i = 0; i < ItemWasteShort.WasteClass.values().length; i++) { - fuels.put( new ComparableStack(ModItems.nuclear_waste_short, 1, i), new Triplet(150, 30 * 60 * 20, new ItemStack(ModItems.nuclear_waste_short_depleted, 1, i))); - fuels.put( new ComparableStack(ModItems.nuclear_waste_short_tiny, 1, i), new Triplet(15, 3 * 60 * 20, new ItemStack(ModItems.nuclear_waste_short_depleted_tiny, 1, i))); + fuels.put( new ComparableStack(ModItems.nuclear_waste_short, 1, i), new Triplet(1500, 30 * 60 * 20, new ItemStack(ModItems.nuclear_waste_short_depleted, 1, i))); + fuels.put( new ComparableStack(ModItems.nuclear_waste_short_tiny, 1, i), new Triplet(150, 3 * 60 * 20, new ItemStack(ModItems.nuclear_waste_short_depleted_tiny, 1, i))); } for(int i = 0; i < ItemWasteLong.WasteClass.values().length; i++) { - fuels.put( new ComparableStack(ModItems.nuclear_waste_long, 1, i), new Triplet(50, 2 * 60 * 60 * 20, new ItemStack(ModItems.nuclear_waste_long_depleted, 1, i))); - fuels.put( new ComparableStack(ModItems.nuclear_waste_long_tiny, 1, i), new Triplet(5, 12 * 60 * 20, new ItemStack(ModItems.nuclear_waste_long_depleted_tiny, 1, i))); + fuels.put( new ComparableStack(ModItems.nuclear_waste_long, 1, i), new Triplet(500, 2 * 60 * 60 * 20, new ItemStack(ModItems.nuclear_waste_long_depleted, 1, i))); + fuels.put( new ComparableStack(ModItems.nuclear_waste_long_tiny, 1, i), new Triplet(50, 12 * 60 * 20, new ItemStack(ModItems.nuclear_waste_long_depleted_tiny, 1, i))); } - - fuels.put( new ComparableStack(ModItems.scrap_nuclear), new Triplet(5, 5 * 60 * 20, null)); + + fuels.put( new ComparableStack(ModItems.scrap_nuclear), new Triplet(50, 5 * 60 * 20, null)); + fuels.put( new ComparableStack(ModItems.gem_rad), new Triplet(25_000, 30 * 60 * 20, new ItemStack(Items.diamond))); } private Triplet grabResult(ItemStack stack) { @@ -286,4 +296,9 @@ public class TileEntityMachineRadGen extends TileEntityMachineBase implements IE public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineRadGen(player.inventory, this); } + + @Override + public void provideExtraInfo(NBTTagCompound data) { + data.setDouble(CompatEnergyControl.D_OUTPUT_HE, output); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarLarge.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarLarge.java new file mode 100644 index 000000000..79b60e6b5 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarLarge.java @@ -0,0 +1,63 @@ +package com.hbm.tileentity.machine; + +import java.io.IOException; + +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonWriter; +import com.hbm.lib.Library; +import com.hbm.tileentity.IConfigurableMachine; +import com.hbm.util.fauxpointtwelve.DirPos; + +import net.minecraft.util.AxisAlignedBB; + +public class TileEntityMachineRadarLarge extends TileEntityMachineRadarNT { + + public static int radarLargeRange = 3_000; + + @Override + public String getConfigName() { + return "radar_large"; + } + + @Override + public void readIfPresent(JsonObject obj) { + radarLargeRange = IConfigurableMachine.grab(obj, "I:radarLargeRange", radarLargeRange); + } + + @Override + public void writeConfig(JsonWriter writer) throws IOException { + writer.name("I:radarLargeRange").value(radarLargeRange); + } + + @Override + public int getRange() { + return radarLargeRange; + } + + @Override + public DirPos[] getConPos() { + return new DirPos[] { + new DirPos(xCoord + 2, yCoord, zCoord, Library.POS_X), + new DirPos(xCoord - 2, yCoord, zCoord, Library.NEG_X), + new DirPos(xCoord, yCoord, zCoord + 2, Library.POS_Z), + new DirPos(xCoord, yCoord, zCoord - 2, Library.NEG_Z), + }; + } + + @Override + public AxisAlignedBB getRenderBoundingBox() { + + if(bb == null) { + bb = AxisAlignedBB.getBoundingBox( + xCoord - 5, + yCoord, + zCoord - 5, + xCoord + 6, + yCoord + 10, + zCoord + 6 + ); + } + + return bb; + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarNT.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarNT.java index 9e9061ff1..e4f255b8a 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarNT.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarNT.java @@ -7,30 +7,37 @@ import java.util.function.Function; import com.google.gson.JsonObject; import com.google.gson.stream.JsonWriter; -import com.hbm.blocks.ModBlocks; -import com.hbm.config.WeaponConfig; import com.hbm.extprop.HbmLivingProps; import com.hbm.interfaces.IControlReceiver; import com.hbm.inventory.container.ContainerMachineRadarNT; import com.hbm.inventory.gui.GUIMachineRadarNT; import com.hbm.inventory.gui.GUIMachineRadarNTSlots; +import com.hbm.items.ISatChip; import com.hbm.items.ModItems; import com.hbm.items.tool.ItemCoordinateBase; import com.hbm.lib.Library; import com.hbm.main.MainRegistry; +import com.hbm.packet.BufPacket; +import com.hbm.packet.PacketDispatcher; +import com.hbm.saveddata.SatelliteSavedData; +import com.hbm.saveddata.satellites.Satellite; +import com.hbm.saveddata.satellites.SatelliteHorizons; +import com.hbm.saveddata.satellites.SatelliteLaser; import com.hbm.tileentity.IConfigurableMachine; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IRadarCommandReceiver; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.Tuple.Triplet; import com.hbm.util.fauxpointtwelve.BlockPos; +import com.hbm.util.fauxpointtwelve.DirPos; import com.hbm.world.WorldUtil; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.entity.IRadarDetectable; import api.hbm.entity.IRadarDetectableNT; import api.hbm.entity.IRadarDetectableNT.RadarScanParams; import api.hbm.entity.RadarEntry; +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -53,7 +60,7 @@ import net.minecraft.world.WorldServer; * Now with SmЯt™ lag-free entity detection! (patent pending) * @author hbm */ -public class TileEntityMachineRadarNT extends TileEntityMachineBase implements IEnergyUser, IGUIProvider, IConfigurableMachine, IControlReceiver { +public class TileEntityMachineRadarNT extends TileEntityMachineBase implements IEnergyReceiverMK2, IGUIProvider, IConfigurableMachine, IControlReceiver { public boolean scanMissiles = true; public boolean scanShells = true; @@ -120,6 +127,10 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I public String getName() { return "container.radar"; } + + public int getRange() { + return radarRange; + } @Override public void updateEntity() { @@ -130,18 +141,23 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I this.power = Library.chargeTEFromItems(slots, 9, power, maxPower); - if(worldObj.getTotalWorldTime() % 20 == 0) this.updateStandardConnections(worldObj, xCoord, yCoord, zCoord); + if(worldObj.getTotalWorldTime() % 20 == 0) { + for(DirPos pos : getConPos()) { + this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + } + } this.power = Library.chargeTEFromItems(slots, 0, power, maxPower); this.jammed = false; allocateTargets(); if(this.lastPower != getRedPower()) { - this.markDirty(); + this.markChanged(); + for(DirPos pos : getConPos()) this.updateRedstoneConnection(pos); } lastPower = getRedPower(); - if(worldObj.getBlock(xCoord, yCoord - 1, zCoord) != ModBlocks.muffler) { + if(!this.muffled) { pingTimer++; @@ -155,11 +171,11 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I int chunkLoads = 0; for(int i = 0; i < 100; i++) { int index = (int) (worldObj.getTotalWorldTime() % 400) * 100 + i; - int iX = (index % 200) * radarRange * 2 / 200; - int iZ = index / 200 * radarRange * 2 / 200; + int iX = (index % 200) * getRange() * 2 / 200; + int iZ = index / 200 * getRange() * 2 / 200; - int x = xCoord - radarRange + iX; - int z = zCoord - radarRange + iZ; + int x = xCoord - getRange() + iX; + int z = zCoord - getRange() + iZ; if(worldObj.getChunkProvider().chunkExists(x >> 4, z >> 4)) { this.map[index] = (byte) MathHelper.clamp_int(worldObj.getHeightValue(x, z), 50, 128); @@ -190,7 +206,9 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I screen.refX = xCoord; screen.refY = yCoord; screen.refZ = zCoord; + screen.range = this.getRange(); screen.linked = true; + PacketDispatcher.wrapper.sendToAllAround(new BufPacket(xCoord, yCoord, zCoord, this), new TargetPoint(this.worldObj.provider.dimensionId, pos.getX(), pos.getY(), pos.getZ(), 25)); } } } @@ -211,8 +229,18 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I } } + public DirPos[] getConPos() { + return new DirPos[] { + new DirPos(xCoord + 1, yCoord, zCoord, Library.POS_X), + new DirPos(xCoord - 1, yCoord, zCoord, Library.NEG_X), + new DirPos(xCoord, yCoord, zCoord + 1, Library.POS_Z), + new DirPos(xCoord, yCoord, zCoord - 1, Library.NEG_Z), + }; + } + @Override public void serialize(ByteBuf buf) { + super.serialize(buf); buf.writeLong(this.power); buf.writeBoolean(this.scanMissiles); buf.writeBoolean(this.scanShells); @@ -242,6 +270,7 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I @Override public void deserialize(ByteBuf buf) { + super.deserialize(buf); this.power = buf.readLong(); this.scanMissiles = buf.readBoolean(); this.scanShells = buf.readBoolean(); @@ -302,7 +331,7 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I if(this.power < consumption) return; this.power -= consumption; - int scan = this.scanRange(); + int scan = this.getRange(); RadarScanParams params = new RadarScanParams(this.scanMissiles, this.scanShells, this.scanPlayers, this.smartMode); @@ -335,7 +364,7 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I /// PROXIMITY /// if(redMode) { - double maxRange = WeaponConfig.radarRange * Math.sqrt(2D); + double maxRange = this.getRange() * Math.sqrt(2D); int power = 0; for(int i = 0; i < entries.size(); i++) { @@ -368,10 +397,6 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I return 0; } - - protected int scanRange() { - return radarRange; - } @Override public void setPower(long i) { @@ -412,6 +437,27 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I int id = data.getInteger("link"); ItemStack link = slots[id]; + if(link != null && link.getItem() == ModItems.sat_relay) { + World world = player.getEntityWorld(); + Satellite sat = SatelliteSavedData.getData(world).getSatFromFreq(ISatChip.getFreqS(link)); + if(sat instanceof SatelliteLaser) { + if(data.hasKey("launchPosX")) { + int x = data.getInteger("launchPosX"); + int z = data.getInteger("launchPosZ"); + worldObj.playSoundAtEntity(player, "hbm:item.techBleep", 1.0F, 1.0F); + sat.onClick(world, x, z); + } + } + if(sat instanceof SatelliteHorizons) { + if(data.hasKey("launchPosX")) { + int x = data.getInteger("launchPosX"); + int z = data.getInteger("launchPosZ"); + int y = 60; //one day I will make radars transmit Y coordinate as well and you will be butchered alhamdulila + worldObj.playSoundAtEntity(player, "hbm:item.techBleep", 1.0F, 1.0F); + sat.onCoordAction(world, player, x, y, z); + } + } + } if(link != null && link.getItem() == ModItems.radar_linker) { BlockPos pos = ItemCoordinateBase.getPosition(link); @@ -470,7 +516,7 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) { return false; } else { - return player.getDistance(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <= 128; + return true; } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarScreen.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarScreen.java index 663b6835a..ba08f0d82 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarScreen.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadarScreen.java @@ -21,6 +21,7 @@ public class TileEntityMachineRadarScreen extends TileEntity implements IBufPack public int refX; public int refY; public int refZ; + public int range; public boolean linked; @Override @@ -43,6 +44,7 @@ public class TileEntityMachineRadarScreen extends TileEntity implements IBufPack buf.writeInt(refX); buf.writeInt(refY); buf.writeInt(refZ); + buf.writeInt(range); buf.writeInt(entries.size()); for(RadarEntry entry : entries) entry.toBytes(buf); } @@ -53,6 +55,7 @@ public class TileEntityMachineRadarScreen extends TileEntity implements IBufPack refX = buf.readInt(); refY = buf.readInt(); refZ = buf.readInt(); + range = buf.readInt(); int count = buf.readInt(); this.entries.clear(); for(int i = 0; i < count; i++) { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadiolysis.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadiolysis.java index 1cbe50ab4..612cdabfd 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadiolysis.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadiolysis.java @@ -19,12 +19,14 @@ import com.hbm.items.machine.ItemRTGPelletDepleted; import com.hbm.lib.Library; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.CompatEnergyControl; import com.hbm.util.RTGUtil; import com.hbm.util.Tuple.Pair; import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IEnergyGenerator; +import api.hbm.energymk2.IEnergyProviderMK2; import api.hbm.fluid.IFluidStandardTransceiver; +import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.GuiScreen; @@ -37,7 +39,7 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineRadiolysis extends TileEntityMachineBase implements IEnergyGenerator, IFluidAcceptor, IFluidSource, IFluidContainer, IFluidStandardTransceiver, IGUIProvider { +public class TileEntityMachineRadiolysis extends TileEntityMachineBase implements IEnergyProviderMK2, IFluidAcceptor, IFluidSource, IFluidContainer, IFluidStandardTransceiver, IGUIProvider, IInfoProviderEC { public long power; public static final int maxPower = 1000000; @@ -105,6 +107,8 @@ public class TileEntityMachineRadiolysis extends TileEntityMachineBase implement } public void networkUnpack(NBTTagCompound data) { + super.networkUnpack(data); + this.power = data.getLong("power"); this.heat = data.getInteger("heat"); } @@ -140,7 +144,7 @@ public class TileEntityMachineRadiolysis extends TileEntityMachineBase implement } for(DirPos pos : getConPos()) { - this.sendPower(worldObj, pos.getX(), pos.getY(),pos.getZ(), pos.getDir()); + this.tryProvide(worldObj, pos.getX(), pos.getY(),pos.getZ(), pos.getDir()); this.trySubscribe(tanks[0].getTankType(), worldObj, pos.getX(), pos.getY(),pos.getZ(), pos.getDir()); if(tanks[1].getFill() > 0) this.sendFluid(tanks[1], worldObj, pos.getX(), pos.getY(),pos.getZ(), pos.getDir()); if(tanks[2].getFill() > 0) this.sendFluid(tanks[2], worldObj, pos.getX(), pos.getY(),pos.getZ(), pos.getDir()); @@ -382,4 +386,9 @@ public class TileEntityMachineRadiolysis extends TileEntityMachineBase implement public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIRadiolysis(player.inventory, this); } + + @Override + public void provideExtraInfo(NBTTagCompound data) { + data.setDouble(CompatEnergyControl.D_OUTPUT_HE, this.heat * 10); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorBreeding.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorBreeding.java index 3a8cec7ca..4c42a1ce5 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorBreeding.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorBreeding.java @@ -8,7 +8,9 @@ import com.hbm.inventory.recipes.BreederRecipes; import com.hbm.inventory.recipes.BreederRecipes.BreederRecipe; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.CompatEnergyControl; +import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -28,7 +30,7 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityMachineReactorBreeding extends TileEntityMachineBase implements SimpleComponent, IGUIProvider { +public class TileEntityMachineReactorBreeding extends TileEntityMachineBase implements SimpleComponent, IGUIProvider, IInfoProviderEC { public int flux; public float progress; @@ -72,6 +74,8 @@ public class TileEntityMachineReactorBreeding extends TileEntityMachineBase impl } public void networkUnpack(NBTTagCompound data) { + super.networkUnpack(data); + flux = data.getInteger("flux"); progress = data.getFloat("progress"); } @@ -80,22 +84,17 @@ public class TileEntityMachineReactorBreeding extends TileEntityMachineBase impl for(byte d = 2; d < 6; d++) { ForgeDirection dir = ForgeDirection.getOrientation(d); - Block b = worldObj.getBlock(xCoord + dir.offsetX, yCoord, zCoord + dir.offsetZ); - TileEntity te = worldObj.getTileEntity(xCoord + dir.offsetX, yCoord, zCoord + dir.offsetZ); if(b == ModBlocks.reactor_research) { int[] pos = ((ReactorResearch) ModBlocks.reactor_research).findCore(worldObj, xCoord + dir.offsetX, yCoord, zCoord + dir.offsetZ); if(pos != null) { - TileEntity tile = worldObj.getTileEntity(pos[0], pos[1], pos[2]); if(tile instanceof TileEntityReactorResearch) { - TileEntityReactorResearch reactor = (TileEntityReactorResearch) tile; - this.flux += reactor.totalFlux; } } @@ -249,4 +248,9 @@ public class TileEntityMachineReactorBreeding extends TileEntityMachineBase impl public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineReactorBreeding(player.inventory, this); } + + @Override + public void provideExtraInfo(NBTTagCompound data) { + data.setInteger(CompatEnergyControl.I_FLUX, flux); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java deleted file mode 100644 index 9cfafeb0d..000000000 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java +++ /dev/null @@ -1,1017 +0,0 @@ -package com.hbm.tileentity.machine; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import com.hbm.blocks.ModBlocks; -import com.hbm.config.MobConfig; -import com.hbm.explosion.ExplosionNukeGeneric; -import com.hbm.handler.radiation.ChunkRadiationManager; -import com.hbm.interfaces.IFluidAcceptor; -import com.hbm.interfaces.IFluidContainer; -import com.hbm.interfaces.IFluidSource; -import com.hbm.inventory.container.ContainerReactorMultiblock; -import com.hbm.inventory.fluid.FluidType; -import com.hbm.inventory.fluid.Fluids; -import com.hbm.inventory.fluid.tank.FluidTank; -import com.hbm.inventory.gui.GUIReactorMultiblock; -import com.hbm.items.ModItems; -import com.hbm.items.machine.ItemFuelRod; -import com.hbm.lib.Library; -import com.hbm.packet.AuxGaugePacket; -import com.hbm.packet.PacketDispatcher; -import com.hbm.tileentity.IGUIProvider; -import com.hbm.tileentity.TileEntityLoadedBase; - -import api.hbm.fluid.IFluidStandardTransceiver; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.ISidedInventory; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -public class TileEntityMachineReactorLarge extends TileEntityLoadedBase implements ISidedInventory, IFluidContainer, IFluidAcceptor, IFluidSource, IFluidStandardTransceiver, IGUIProvider { - - private ItemStack slots[]; - - public int hullHeat; - public final int maxHullHeat = 100000; - public int coreHeat; - public final int maxCoreHeat = 50000; - public int rods; - public final int rodsMax = 100; - public int age = 0; - public List list = new ArrayList(); - public FluidTank[] tanks; - public ReactorFuelType type; - public int fuel; - public int maxFuel = 240 * fuelMult; - public int waste; - public int maxWaste = 240 * fuelMult; - - public static int fuelMult = 1000; - public static int cycleDuration = 24000; - private static int fuelBase = 240 * fuelMult; - private static int waterBase = 128 * 1000; - private static int coolantBase = 64 * 1000; - private static int steamBase = 32 * 1000; - - private static final int[] slots_top = new int[] { 0 }; - private static final int[] slots_bottom = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 16 }; - private static final int[] slots_side = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16 }; - - private String customName; - - public TileEntityMachineReactorLarge() { - slots = new ItemStack[8]; - tanks = new FluidTank[3]; - tanks[0] = new FluidTank(Fluids.WATER, 128000, 0); - tanks[1] = new FluidTank(Fluids.COOLANT, 64000, 1); - tanks[2] = new FluidTank(Fluids.STEAM, 32000, 2); - type = ReactorFuelType.URANIUM; - } - - @Override - public int getSizeInventory() { - return slots.length; - } - - @Override - public ItemStack getStackInSlot(int i) { - return slots[i]; - } - - @Override - public ItemStack getStackInSlotOnClosing(int i) { - if (slots[i] != null) { - ItemStack itemStack = slots[i]; - slots[i] = null; - return itemStack; - } else { - return null; - } - } - - @Override - public void setInventorySlotContents(int i, ItemStack itemStack) { - slots[i] = itemStack; - if (itemStack != null && itemStack.stackSize > getInventoryStackLimit()) { - itemStack.stackSize = getInventoryStackLimit(); - } - } - - @Override - public String getInventoryName() { - return this.hasCustomInventoryName() ? this.customName : "container.reactorLarge"; - } - - @Override - public boolean hasCustomInventoryName() { - return this.customName != null && this.customName.length() > 0; - } - - public void setCustomName(String name) { - this.customName = name; - } - - @Override - public int getInventoryStackLimit() { - return 64; - } - - @Override - public boolean isUseableByPlayer(EntityPlayer player) { - if (worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) { - return false; - } else { - return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <= 64; - } - } - - // You scrubs aren't needed for anything (right now) - @Override - public void openInventory() { - } - - @Override - public void closeInventory() { - } - - @Override - public boolean isItemValidForSlot(int i, ItemStack itemStack) { - return false; - } - - @Override - public ItemStack decrStackSize(int i, int j) { - if (slots[i] != null) { - if (slots[i].stackSize <= j) { - ItemStack itemStack = slots[i]; - slots[i] = null; - return itemStack; - } - ItemStack itemStack1 = slots[i].splitStack(j); - if (slots[i].stackSize == 0) { - slots[i] = null; - } - - return itemStack1; - } else { - return null; - } - } - - @Override - public void readFromNBT(NBTTagCompound nbt) { - super.readFromNBT(nbt); - NBTTagList list = nbt.getTagList("items", 10); - - coreHeat = nbt.getInteger("heat"); - hullHeat = nbt.getInteger("hullHeat"); - rods = nbt.getInteger("rods"); - fuel = nbt.getInteger("fuel"); - waste = nbt.getInteger("waste"); - slots = new ItemStack[getSizeInventory()]; - tanks[0].readFromNBT(nbt, "water"); - tanks[1].readFromNBT(nbt, "coolant"); - tanks[2].readFromNBT(nbt, "steam"); - type = ReactorFuelType.getEnum(nbt.getInteger("type")); - - for (int i = 0; i < list.tagCount(); i++) { - NBTTagCompound nbt1 = list.getCompoundTagAt(i); - byte b0 = nbt1.getByte("slot"); - if (b0 >= 0 && b0 < slots.length) { - slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); - } - } - } - - @Override - public void writeToNBT(NBTTagCompound nbt) { - super.writeToNBT(nbt); - nbt.setInteger("heat", coreHeat); - nbt.setInteger("hullHeat", hullHeat); - nbt.setInteger("rods", rods); - nbt.setInteger("fuel", fuel); - nbt.setInteger("waste", waste); - NBTTagList list = new NBTTagList(); - tanks[0].writeToNBT(nbt, "water"); - tanks[1].writeToNBT(nbt, "coolant"); - tanks[2].writeToNBT(nbt, "steam"); - nbt.setInteger("type", type.getID()); - - for (int i = 0; i < slots.length; i++) { - if (slots[i] != null) { - NBTTagCompound nbt1 = new NBTTagCompound(); - nbt1.setByte("slot", (byte) i); - slots[i].writeToNBT(nbt1); - list.appendTag(nbt1); - } - } - nbt.setTag("items", list); - } - - @Override - public int[] getAccessibleSlotsFromSide(int p_94128_1_) { - return p_94128_1_ == 0 ? slots_bottom : (p_94128_1_ == 1 ? slots_top : slots_side); - } - - @Override - public boolean canInsertItem(int i, ItemStack itemStack, int j) { - return false; - } - - @Override - public boolean canExtractItem(int i, ItemStack itemStack, int j) { - return false; - - } - - public int getCoreHeatScaled(int i) { - return (coreHeat * i) / maxCoreHeat; - } - - public int getHullHeatScaled(int i) { - return (hullHeat * i) / maxHullHeat; - } - - public int getFuelScaled(int i) { - return (fuel * i) / maxFuel; - } - - public int getWasteScaled(int i) { - return (waste * i) / maxWaste; - } - - public int getSteamScaled(int i) { - return (tanks[2].getFill() * i) / tanks[2].getMaxFill(); - } - - public boolean hasCoreHeat() { - return coreHeat > 0; - } - - public boolean hasHullHeat() { - return hullHeat > 0; - } - - public boolean checkBody() { - - return worldObj.getBlock(xCoord + 1, yCoord, zCoord + 1) == ModBlocks.reactor_element && - worldObj.getBlock(xCoord - 1, yCoord, zCoord + 1) == ModBlocks.reactor_element && - worldObj.getBlock(xCoord - 1, yCoord, zCoord - 1) == ModBlocks.reactor_element && - worldObj.getBlock(xCoord + 1, yCoord, zCoord - 1) == ModBlocks.reactor_element && - worldObj.getBlock(xCoord + 1, yCoord, zCoord) == ModBlocks.reactor_control && - worldObj.getBlock(xCoord - 1, yCoord, zCoord) == ModBlocks.reactor_control && - worldObj.getBlock(xCoord, yCoord, zCoord + 1) == ModBlocks.reactor_control && - worldObj.getBlock(xCoord, yCoord, zCoord - 1) == ModBlocks.reactor_control; - } - - public boolean checkSegment(int offset) { - - return worldObj.getBlock(xCoord + 1, yCoord + offset, zCoord + 1) == ModBlocks.reactor_element && - worldObj.getBlock(xCoord - 1, yCoord + offset, zCoord + 1) == ModBlocks.reactor_element && - worldObj.getBlock(xCoord - 1, yCoord + offset, zCoord - 1) == ModBlocks.reactor_element && - worldObj.getBlock(xCoord + 1, yCoord + offset, zCoord - 1) == ModBlocks.reactor_element && - worldObj.getBlock(xCoord + 1, yCoord + offset, zCoord) == ModBlocks.reactor_control && - worldObj.getBlock(xCoord - 1, yCoord + offset, zCoord) == ModBlocks.reactor_control && - worldObj.getBlock(xCoord, yCoord + offset, zCoord + 1) == ModBlocks.reactor_control && - worldObj.getBlock(xCoord, yCoord + offset, zCoord - 1) == ModBlocks.reactor_control && - worldObj.getBlock(xCoord, yCoord + offset, zCoord) == ModBlocks.reactor_conductor; - } - - private float checkHull() { - - float max = getSize() * 12; - float count = 0; - - for(int y = yCoord - depth; y <= yCoord + height; y++) { - - if(blocksRad(xCoord - 1, y, zCoord + 2)) - count++; - if(blocksRad(xCoord, y, zCoord + 2)) - count++; - if(blocksRad(xCoord + 1, y, zCoord + 2)) - count++; - - if(blocksRad(xCoord - 1, y, zCoord - 2)) - count++; - if(blocksRad(xCoord, y, zCoord - 2)) - count++; - if(blocksRad(xCoord + 1, y, zCoord - 2)) - count++; - - if(blocksRad(xCoord + 2, y, zCoord - 1)) - count++; - if(blocksRad(xCoord + 2, y, zCoord)) - count++; - if(blocksRad(xCoord + 2, y, zCoord + 1)) - count++; - - if(blocksRad(xCoord - 2, y, zCoord - 1)) - count++; - if(blocksRad(xCoord - 2, y, zCoord)) - count++; - if(blocksRad(xCoord - 2, y, zCoord + 1)) - count++; - } - - if(count == 0) - return 1; - - //System.out.println(count + "/" + max); - - return 1 - (count / max); - } - - private boolean blocksRad(int x, int y, int z) { - - Block b = worldObj.getBlock(x, y, z); - - if(b == ModBlocks.block_lead || b == ModBlocks.block_desh || b == ModBlocks.brick_concrete) - return true; - - if(b.getExplosionResistance(null) >= 100) - return true; - - return false; - } - - int height; - int depth; - public int size; - - private void caluclateSize() { - - height = 0; - depth = 0; - - for(int i = 0; i < 7; i++) { - - if(checkSegment(i + 1)) - height++; - else - break; - } - - for(int i = 0; i < 7; i++) { - - if(checkSegment(-i - 1)) - depth++; - else - break; - } - - size = height + depth + 1; - } - - private int getSize() { - return size; - } - - private void generate() { - - int consumption = (int) (((double)maxFuel / cycleDuration) * rods / 100); - - if(consumption > fuel) - consumption = fuel; - - if(consumption + waste > maxWaste) - consumption = maxWaste - waste; - - fuel -= consumption; - waste += consumption; - - int heat = (int) (((double)consumption / size) * type.heat / fuelMult); - - this.coreHeat += heat; - - } - - @Override - public void updateEntity() { - - if (!worldObj.isRemote && checkBody()) { - - age++; - if (age >= 20) { - age = 0; - } - - fillFluidInit(tanks[2].getTankType()); - - caluclateSize(); - PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, size, 3), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); - } - - tanks[0].changeTankSize(waterBase * getSize()); - tanks[1].changeTankSize(coolantBase * getSize()); - tanks[2].changeTankSize(steamBase * getSize()); - - maxWaste = maxFuel = fuelBase * getSize(); - - if(!worldObj.isRemote) { - - if(waste > maxWaste) - waste = maxWaste; - - if(fuel > maxFuel) - fuel = maxFuel; - - tanks[0].loadTank(0, 1, slots); - tanks[1].loadTank(2, 3, slots); - - //Change fuel type if empty - if(fuel == 0) { - - if(slots[4] != null && !getFuelType(slots[4].getItem()).toString().equals(ReactorFuelType.UNKNOWN.toString())) { - - this.type = getFuelType(slots[4].getItem()); - this.waste = 0; - - } - } - - //Meteorite sword - if(slots[4] != null && coreHeat > 0 && slots[4].getItem() == ModItems.meteorite_sword_bred) - slots[4] = new ItemStack(ModItems.meteorite_sword_irradiated); - - //Load fuel - if(slots[4] != null && getFuelContent(slots[4], type) > 0) { - - int cont = getFuelContent(slots[4], type) * fuelMult; - - if(fuel + cont <= maxFuel) { - - if(!slots[4].getItem().hasContainerItem()) { - - slots[4].stackSize--; - fuel += cont; - - } else if(slots[5] == null) { - - slots[5] = new ItemStack(slots[4].getItem().getContainerItem()); - slots[4].stackSize--; - fuel += cont; - - } else if(slots[4].getItem().getContainerItem() == slots[5].getItem() && slots[5].stackSize < slots[5].getMaxStackSize()) { - - slots[4].stackSize--; - slots[5].stackSize++; - fuel += cont; - - } - - if(slots[4].stackSize == 0) - slots[4] = null; - } - } - - //Unload waste - if(slots[6] != null && getWasteAbsorbed(slots[6].getItem(), type) > 0) { - - int absorbed = getWasteAbsorbed(slots[6].getItem(), type) * fuelMult; - - if(absorbed <= waste) { - - if(slots[7] == null) { - - waste -= absorbed; - slots[7] = new ItemStack(getWaste(slots[6].getItem(), type)); - slots[6].stackSize--; - - } else if(slots[7] != null && slots[7].getItem() == getWaste(slots[6].getItem(), type) && slots[7].stackSize < slots[7].getMaxStackSize()) { - - waste -= absorbed; - slots[7].stackSize++; - slots[6].stackSize--; - } - - if(slots[6].stackSize == 0) - slots[6] = null; - } - - } - - if(rods > 0) - generate(); - - if (this.coreHeat > 0 && this.tanks[1].getFill() > 0 && this.hullHeat < this.maxHullHeat) { - this.hullHeat += this.coreHeat * 0.175; - this.coreHeat -= this.coreHeat * 0.1; - - this.tanks[1].setFill(this.tanks[1].getFill() - 10); - - if (this.tanks[1].getFill() < 0) - this.tanks[1].setFill(0); - } - - if (this.hullHeat > maxHullHeat) { - this.hullHeat = maxHullHeat; - } - - if (this.hullHeat > 0 && this.tanks[0].getFill() > 0) { - generateSteam(); - this.hullHeat -= this.hullHeat * 0.085; - } - - if (this.coreHeat > maxCoreHeat) { - this.explode(); - } - - if (rods > 0 && coreHeat > 0 && age == 5) { - - float rad = (float)coreHeat / (float)maxCoreHeat * 50F; - rad *= checkHull(); - ChunkRadiationManager.proxy.incrementRad(worldObj, xCoord, yCoord, zCoord, rad); - } - - for (int i = 0; i < 3; i++) - tanks[i].updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId); - - if(worldObj.getBlock(xCoord, yCoord, zCoord - 2) == ModBlocks.reactor_ejector && worldObj.getBlockMetadata(xCoord, yCoord, zCoord - 2) == 2) - tryEjectInto(xCoord, yCoord, zCoord - 3); - if(worldObj.getBlock(xCoord, yCoord, zCoord + 2) == ModBlocks.reactor_ejector && worldObj.getBlockMetadata(xCoord, yCoord, zCoord + 2) == 3) - tryEjectInto(xCoord, yCoord, zCoord + 3); - if(worldObj.getBlock(xCoord - 2, yCoord, zCoord) == ModBlocks.reactor_ejector && worldObj.getBlockMetadata(xCoord - 2, yCoord, zCoord) == 4) - tryEjectInto(xCoord - 3, yCoord, zCoord); - if(worldObj.getBlock(xCoord + 2, yCoord, zCoord) == ModBlocks.reactor_ejector && worldObj.getBlockMetadata(xCoord + 2, yCoord, zCoord) == 5) - tryEjectInto(xCoord + 3, yCoord, zCoord); - - if(worldObj.getBlock(xCoord, yCoord, zCoord - 2) == ModBlocks.reactor_inserter && worldObj.getBlockMetadata(xCoord, yCoord, zCoord - 2) == 2) - tryInsertFrom(xCoord, yCoord, zCoord - 3); - if(worldObj.getBlock(xCoord, yCoord, zCoord + 2) == ModBlocks.reactor_inserter && worldObj.getBlockMetadata(xCoord, yCoord, zCoord + 2) == 3) - tryInsertFrom(xCoord, yCoord, zCoord + 3); - if(worldObj.getBlock(xCoord - 2, yCoord, zCoord) == ModBlocks.reactor_inserter && worldObj.getBlockMetadata(xCoord - 2, yCoord, zCoord) == 4) - tryInsertFrom(xCoord - 3, yCoord, zCoord); - if(worldObj.getBlock(xCoord + 2, yCoord, zCoord) == ModBlocks.reactor_inserter && worldObj.getBlockMetadata(xCoord + 2, yCoord, zCoord) == 5) - tryInsertFrom(xCoord + 3, yCoord, zCoord); - - PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, rods, 0), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); - PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, coreHeat, 1), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); - PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, hullHeat, 2), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); - PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, fuel, 4), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); - PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, waste, 5), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); - PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, type.getID(), 6), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); - } - } - - private void tryEjectInto(int x, int y, int z) { - - int wSize = type.toString().equals(ReactorFuelType.SCHRABIDIUM.toString()) ? 60 * fuelMult : 6 * fuelMult; - - if(waste < wSize) - return; - - TileEntity te = worldObj.getTileEntity(x, y, z); - - if(te instanceof IInventory) { - - IInventory chest = (IInventory)te; - - Item waste = ModItems.waste_uranium; - - switch(type) { - case PLUTONIUM: - waste = ModItems.waste_plutonium; - break; - case MOX: - waste = ModItems.waste_mox; - break; - case SCHRABIDIUM: - waste = ModItems.waste_schrabidium; - break; - case THORIUM: - waste = ModItems.waste_thorium; - break; - default: - waste = ModItems.waste_uranium; - break; - } - - for(int i = 0; i < chest.getSizeInventory(); i++) { - - if(chest.isItemValidForSlot(i, new ItemStack(waste, 1, 1)) && chest.getStackInSlot(i) != null && chest.getStackInSlot(i).getItem() == waste && chest.getStackInSlot(i).stackSize < chest.getStackInSlot(i).getMaxStackSize()) { - chest.setInventorySlotContents(i, new ItemStack(waste, chest.getStackInSlot(i).stackSize + 1, 1)); - this.waste -= wSize; - return; - } - } - - for(int i = 0; i < chest.getSizeInventory(); i++) { - - if(chest.isItemValidForSlot(i, new ItemStack(waste, 1, 1)) && chest.getStackInSlot(i) == null) { - chest.setInventorySlotContents(i, new ItemStack(waste, 1, 1)); - this.waste -= wSize; - return; - } - } - } - } - - private void tryInsertFrom(int x, int y, int z) { - - TileEntity te = worldObj.getTileEntity(x, y, z); - - if(te instanceof IInventory) { - - IInventory chest = (IInventory)te; - - if(fuel > 0) { - for(int i = 0; i < chest.getSizeInventory(); i++) { - - if(chest.getStackInSlot(i) != null) { - int cont = getFuelContent(chest.getStackInSlot(i), type) * fuelMult; - - if(cont > 0 && fuel + cont <= maxFuel) { - - Item container = chest.getStackInSlot(i).getItem().getContainerItem(); - - chest.decrStackSize(i, 1); - fuel += cont; - - if(chest.getStackInSlot(i) == null && container != null) - chest.setInventorySlotContents(i, new ItemStack(container)); - } - } - } - } else { - for(int i = 0; i < chest.getSizeInventory(); i++) { - - if(chest.getStackInSlot(i) != null) { - int cont = getFuelContent(chest.getStackInSlot(i), getFuelType(chest.getStackInSlot(i).getItem())) * fuelMult; - - if(cont > 0 && fuel + cont <= maxFuel) { - - Item container = chest.getStackInSlot(i).getItem().getContainerItem(); - - type = getFuelType(chest.getStackInSlot(i).getItem()); - chest.decrStackSize(i, 1); - fuel += cont; - - if(chest.getStackInSlot(i) == null && container != null) - chest.setInventorySlotContents(i, new ItemStack(container)); - } - } - } - } - } - } - - private void generateSteam() { - - //function of SHS produced per tick - //maxes out at heat% * tank capacity / 20 - - double statSteMaFiFiLe = 8000; - - double steam = (((double)hullHeat / (double)maxHullHeat) * (/*(double)tanks[2].getMaxFill()*/statSteMaFiFiLe / 50D)) * size; - - double water = steam; - - FluidType type = tanks[2].getTankType(); - if(type == Fluids.STEAM) water /= 100D; - if(type == Fluids.HOTSTEAM) water /= 10; - - tanks[0].setFill(tanks[0].getFill() - (int)Math.ceil(water)); - tanks[2].setFill(tanks[2].getFill() + (int)Math.floor(steam)); - - if(tanks[0].getFill() < 0) - tanks[0].setFill(0); - - if(tanks[2].getFill() > tanks[2].getMaxFill()) - tanks[2].setFill(tanks[2].getMaxFill()); - - } - - private void explode() { - for (int i = 0; i < slots.length; i++) { - this.slots[i] = null; - } - - int rad = (int)(((long)fuel) * 25000L / (fuelBase * 15L)); - - ChunkRadiationManager.proxy.incrementRad(worldObj, xCoord, yCoord, zCoord, rad); - - worldObj.createExplosion(null, this.xCoord, this.yCoord, this.zCoord, 7.5F, true); - ExplosionNukeGeneric.waste(worldObj, this.xCoord, this.yCoord, this.zCoord, 35); - - for(int i = yCoord - depth; i <= yCoord + height; i++) { - - if(worldObj.rand.nextInt(2) == 0) { - randomizeRadBlock(this.xCoord + 1, i, this.zCoord + 1); - } - if(worldObj.rand.nextInt(2) == 0) { - randomizeRadBlock(this.xCoord + 1, i, this.zCoord - 1); - } - if(worldObj.rand.nextInt(2) == 0) { - randomizeRadBlock(this.xCoord - 1, i, this.zCoord - 1); - } - if(worldObj.rand.nextInt(2) == 0) { - randomizeRadBlock(this.xCoord - 1, i, this.zCoord + 1); - } - - if(worldObj.rand.nextInt(5) == 0) { - worldObj.createExplosion(null, this.xCoord, this.yCoord, this.zCoord, 5.0F, true); - } - } - - worldObj.setBlock(this.xCoord, this.yCoord, this.zCoord, ModBlocks.sellafield, 5, 3); - - if(MobConfig.enableElementals) { - List players = worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5).expand(100, 100, 100)); - - for(EntityPlayer player : players) { - player.getEntityData().getCompoundTag(player.PERSISTED_NBT_TAG).setBoolean("radMark", true); - } - } - } - - private void randomizeRadBlock(int x, int y, int z) { - - int rand = worldObj.rand.nextInt(20); - - if(rand < 7) - worldObj.setBlock(x, y, z, ModBlocks.toxic_block); - else if(rand < 10) - worldObj.setBlock(x, y, z, ModBlocks.sellafield, 0, 3); - else if(rand < 14) - worldObj.setBlock(x, y, z, ModBlocks.sellafield, 1, 3); - else if(rand < 17) - worldObj.setBlock(x, y, z, ModBlocks.sellafield, 2, 3); - else if(rand < 19) - worldObj.setBlock(x, y, z, ModBlocks.sellafield, 3, 3); - else - worldObj.setBlock(x, y, z, ModBlocks.sellafield, 4, 3); - } - - @Override - public void fillFluid(int x, int y, int z, boolean newTact, FluidType type) { - Library.transmitFluid(x, y, z, newTact, this, worldObj, type); - } - - @Override - public void fillFluidInit(FluidType type) { - - for(ForgeDirection dir : new ForgeDirection[] {Library.POS_X, Library.NEG_X, Library.POS_Z, Library.NEG_Z}) { - - if(worldObj.getBlock(xCoord + dir.offsetX * 2, yCoord, zCoord + dir.offsetZ * 2) == ModBlocks.reactor_hatch) { - fillFluid(this.xCoord + dir.offsetX * 3, this.yCoord, this.zCoord + dir.offsetZ * 3, getTact(), type); - for(int i = 0; i < 2; i++) this.trySubscribe(tanks[i].getTankType(), worldObj, this.xCoord + dir.offsetX * 3, this.yCoord, this.zCoord + dir.offsetZ * 3, Library.NEG_X); - this.sendFluid(tanks[2], worldObj, this.xCoord + dir.offsetX * 3, this.yCoord, this.zCoord + dir.offsetZ * 3, Library.NEG_X); - } else { - for(int i = 0; i < 2; i++) this.tryUnsubscribe(tanks[i].getTankType(), worldObj, this.xCoord + dir.offsetX * 3, this.yCoord, this.zCoord + dir.offsetZ * 3); - } - } - - fillFluid(this.xCoord, this.yCoord + height + 1, this.zCoord, getTact(), type); - fillFluid(this.xCoord, this.yCoord - depth - 1, this.zCoord, getTact(), type); - - this.sendFluid(tanks[2], worldObj, this.xCoord, this.yCoord + height + 1, this.zCoord, Library.POS_Y); - this.sendFluid(tanks[2], worldObj, this.xCoord, this.yCoord - depth - 1, this.zCoord, Library.NEG_Y); - } - - @Override - public boolean getTact() { - return this.worldObj.getTotalWorldTime() % 2 == 0; - } - - @Override - public int getMaxFluidFill(FluidType type) { - if (type.name().equals(tanks[0].getTankType().name())) - return tanks[0].getMaxFill(); - else if (type.name().equals(tanks[1].getTankType().name())) - return tanks[1].getMaxFill(); - else - return 0; - } - - @Override - public void setFluidFill(int i, FluidType type) { - if (type.name().equals(tanks[0].getTankType().name())) - tanks[0].setFill(i); - else if (type.name().equals(tanks[1].getTankType().name())) - tanks[1].setFill(i); - else if (type.name().equals(tanks[2].getTankType().name())) - tanks[2].setFill(i); - } - - @Override - public int getFluidFill(FluidType type) { - if (type.name().equals(tanks[0].getTankType().name())) - return tanks[0].getFill(); - else if (type.name().equals(tanks[1].getTankType().name())) - return tanks[1].getFill(); - else if (type.name().equals(tanks[2].getTankType().name())) - return tanks[2].getFill(); - else - return 0; - } - - @Override - public void setFillForSync(int fill, int index) { - if (index < 3 && tanks[index] != null) - tanks[index].setFill(fill); - } - - @Override - public void setTypeForSync(FluidType type, int index) { - if (index < 3 && tanks[index] != null) - tanks[index].setTankType(type); - } - - @Override - public List getFluidList(FluidType type) { - return list; - } - - @Override - public void clearFluidList(FluidType type) { - list.clear(); - } - - public enum ReactorFuelType { - - URANIUM(250000), - THORIUM(200000), - PLUTONIUM(312500), - MOX(250000), - SCHRABIDIUM(2085000), - UNKNOWN(1); - - private ReactorFuelType(int i) { - heat = i; - } - - //Heat per nugget burned - private int heat; - - public int getHeat() { - return heat; - } - - public int getID() { - return Arrays.asList(ReactorFuelType.values()).indexOf(this); - } - - public static ReactorFuelType getEnum(int i) { - if(i < ReactorFuelType.values().length) - return ReactorFuelType.values()[i]; - else - return ReactorFuelType.URANIUM; - } - } - - static class ReactorFuelEntry { - - int value; - ReactorFuelType type; - Item item; - - public ReactorFuelEntry(int value, ReactorFuelType type, Item item) { - this.value = value; - this.type = type; - this.item = item; - } - } - - static class ReactorWasteEntry { - - int value; - ReactorFuelType type; - Item in; - Item out; - - public ReactorWasteEntry(int value, ReactorFuelType type, Item in, Item out) { - this.value = value; - this.type = type; - this.in = in; - this.out = out; - } - } - - //TODO: turn this steaming hot garbage into hashmaps - static List fuels = new ArrayList(); - static List wastes = new ArrayList(); - - public static void registerAll() { - - TileEntityMachineReactorLarge.registerFuelEntry(1, ReactorFuelType.URANIUM, ModItems.nugget_uranium_fuel); - TileEntityMachineReactorLarge.registerFuelEntry(9, ReactorFuelType.URANIUM, ModItems.ingot_uranium_fuel); - - TileEntityMachineReactorLarge.registerFuelEntry(1, ReactorFuelType.PLUTONIUM, ModItems.nugget_plutonium_fuel); - TileEntityMachineReactorLarge.registerFuelEntry(9, ReactorFuelType.PLUTONIUM, ModItems.ingot_plutonium_fuel); - - TileEntityMachineReactorLarge.registerFuelEntry(1, ReactorFuelType.MOX, ModItems.nugget_mox_fuel); - TileEntityMachineReactorLarge.registerFuelEntry(9, ReactorFuelType.MOX, ModItems.ingot_mox_fuel); - - TileEntityMachineReactorLarge.registerFuelEntry(10, ReactorFuelType.SCHRABIDIUM, ModItems.nugget_schrabidium_fuel); - TileEntityMachineReactorLarge.registerFuelEntry(90, ReactorFuelType.SCHRABIDIUM, ModItems.ingot_schrabidium_fuel); - - TileEntityMachineReactorLarge.registerFuelEntry(1, ReactorFuelType.THORIUM, ModItems.nugget_thorium_fuel); - TileEntityMachineReactorLarge.registerFuelEntry(9, ReactorFuelType.THORIUM, ModItems.ingot_thorium_fuel); - } - - public static void registerFuelEntry(int nuggets, ReactorFuelType type, Item fuel) { - - fuels.add(new ReactorFuelEntry(nuggets, type, fuel)); - } - - public static void registerWasteEntry(int nuggets, ReactorFuelType type, Item in, Item out) { - - wastes.add(new ReactorWasteEntry(nuggets, type, in, out)); - } - - public static int getFuelContent(ItemStack item, ReactorFuelType type) { - - if(item == null) - return 0; - - for(ReactorFuelEntry ent : fuels) { - if(ent.item == item.getItem() && type.toString().equals(ent.type.toString())) { - - int value = ent.value; - - //if it's a fuel rod that has been used up, multiply by damage and floor it - if(item.getItem() instanceof ItemFuelRod) { - - double mult = 1D - ((double)ItemFuelRod.getLifeTime(item) / (double)((ItemFuelRod)item.getItem()).lifeTime); - return (int)Math.floor(mult * value); - } - - return value; - } - } - - return 0; - } - - public static ReactorFuelType getFuelType(Item item) { - - for(ReactorFuelEntry ent : fuels) { - if(ent.item == item) - return ent.type; - } - - return ReactorFuelType.UNKNOWN; - } - - public static Item getWaste(Item item, ReactorFuelType type) { - - for(ReactorWasteEntry ent : wastes) { - if(ent.in == item && type.toString().equals(ent.type.toString())) - return ent.out; - } - - return null; - } - - public static int getWasteAbsorbed(Item item, ReactorFuelType type) { - - for(ReactorWasteEntry ent : wastes) { - if(ent.in == item && type.toString().equals(ent.type.toString())) - return ent.value; - } - - return 0; - } - - @Override - public FluidTank[] getAllTanks() { - return tanks; - } - - @Override - public FluidTank[] getSendingTanks() { - return new FluidTank[] {tanks[2]}; - } - - @Override - public FluidTank[] getReceivingTanks() { - return new FluidTank[] {tanks[0], tanks[1]}; - } - - @Override - public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new ContainerReactorMultiblock(player.inventory, this); - } - - @Override - @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new GUIReactorMultiblock(player.inventory, this); - } -} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSPP.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSPP.java index ad3adb63d..f659905d0 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSPP.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSPP.java @@ -3,11 +3,14 @@ package com.hbm.tileentity.machine; import com.hbm.blocks.ModBlocks; import com.hbm.lib.Library; import com.hbm.tileentity.TileEntityLoadedBase; +import com.hbm.util.CompatEnergyControl; -import api.hbm.energy.IEnergyGenerator; +import api.hbm.energymk2.IEnergyProviderMK2; +import api.hbm.tile.IInfoProviderEC; import net.minecraft.init.Blocks; +import net.minecraft.nbt.NBTTagCompound; -public class TileEntityMachineSPP extends TileEntityLoadedBase implements IEnergyGenerator { +public class TileEntityMachineSPP extends TileEntityLoadedBase implements IEnergyProviderMK2, IInfoProviderEC { public long power; public static final long maxPower = 100000; @@ -19,11 +22,11 @@ public class TileEntityMachineSPP extends TileEntityLoadedBase implements IEnerg if(!worldObj.isRemote) { - this.sendPower(worldObj, xCoord + 1, yCoord, zCoord, Library.POS_X); - this.sendPower(worldObj, xCoord - 1, yCoord, zCoord, Library.NEG_X); - this.sendPower(worldObj, xCoord, yCoord, zCoord + 1, Library.POS_Z); - this.sendPower(worldObj, xCoord, yCoord, zCoord - 1, Library.NEG_Z); - this.sendPower(worldObj, xCoord, yCoord - 1, zCoord, Library.NEG_Y); + this.tryProvide(worldObj, xCoord + 1, yCoord, zCoord, Library.POS_X); + this.tryProvide(worldObj, xCoord - 1, yCoord, zCoord, Library.NEG_X); + this.tryProvide(worldObj, xCoord, yCoord, zCoord + 1, Library.POS_Z); + this.tryProvide(worldObj, xCoord, yCoord, zCoord - 1, Library.NEG_Z); + this.tryProvide(worldObj, xCoord, yCoord - 1, zCoord, Library.NEG_Y); if(worldObj.getTotalWorldTime() % 20 == 0) gen = checkStructure() * 15; @@ -86,4 +89,9 @@ public class TileEntityMachineSPP extends TileEntityLoadedBase implements IEnerg return this.maxPower; } + @Override + public void provideExtraInfo(NBTTagCompound data) { + data.setBoolean(CompatEnergyControl.B_ACTIVE, this.gen > 0); + data.setDouble(CompatEnergyControl.D_OUTPUT_HE, this.gen); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatDock.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatDock.java index 0fd248320..f195414d3 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatDock.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatDock.java @@ -4,12 +4,12 @@ import com.hbm.entity.missile.EntityMinerRocket; import com.hbm.explosion.ExplosionNukeSmall; import com.hbm.inventory.container.ContainerSatDock; import com.hbm.inventory.gui.GUISatDock; +import com.hbm.itempool.ItemPool; import com.hbm.items.ISatChip; import com.hbm.saveddata.SatelliteSavedData; import com.hbm.saveddata.satellites.Satellite; import com.hbm.saveddata.satellites.SatelliteMiner; import com.hbm.tileentity.IGUIProvider; -import com.hbm.util.WeightedRandomObject; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.GuiScreen; @@ -22,7 +22,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.WeightedRandom; +import net.minecraft.util.WeightedRandomChestContent; import net.minecraft.world.World; import java.util.List; @@ -233,16 +233,15 @@ public class TileEntityMachineSatDock extends TileEntity implements ISidedInvent } } - private void unloadCargo(SatelliteMiner satellite) { - int itemAmount = worldObj.rand.nextInt(6) + 10; + private void unloadCargo(SatelliteMiner satellite) { + int itemAmount = worldObj.rand.nextInt(6) + 10; - WeightedRandomObject[] cargo = satellite.getCargo(); + WeightedRandomChestContent[] cargo = ItemPool.getPool(satellite.getCargo()); - for (int i = 0; i < itemAmount; i++) { - ItemStack stack = ((WeightedRandomObject) WeightedRandom.getRandomItem(worldObj.rand, cargo)).asStack(); - addToInv(stack.copy()); - } - } + for(int i = 0; i < itemAmount; i++) { + addToInv(ItemPool.getStack(cargo, worldObj.rand)); + } + } private void addToInv(ItemStack stack) { for (int i = 0; i < 15; i++) { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java index bed920b68..7f9241d46 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java @@ -12,8 +12,8 @@ import com.hbm.sound.AudioWrapper; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; -import api.hbm.energy.IBatteryItem; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IBatteryItem; +import api.hbm.energymk2.IEnergyReceiverMK2; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.GuiScreen; @@ -24,7 +24,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineSchrabidiumTransmutator extends TileEntityMachineBase implements IEnergyUser, IGUIProvider { +public class TileEntityMachineSchrabidiumTransmutator extends TileEntityMachineBase implements IEnergyReceiverMK2, IGUIProvider { public long power = 0; public int process = 0; @@ -33,9 +33,7 @@ public class TileEntityMachineSchrabidiumTransmutator extends TileEntityMachineB private AudioWrapper audio; - private static final int[] slots_top = new int[] { 0 }; - private static final int[] slots_bottom = new int[] { 1, 2 }; - private static final int[] slots_side = new int[] { 3, 2 }; + private static final int[] slots_io = new int[] { 0, 1, 2, 3 }; public TileEntityMachineSchrabidiumTransmutator() { super(4); @@ -82,22 +80,24 @@ public class TileEntityMachineSchrabidiumTransmutator extends TileEntityMachineB @Override public int[] getAccessibleSlotsFromSide(int p_94128_1_) { - return p_94128_1_ == 0 ? slots_bottom : (p_94128_1_ == 1 ? slots_top : slots_side); + return slots_io; } @Override public boolean canExtractItem(int i, ItemStack stack, int j) { - if (i == 2 && stack.getItem() != null && (stack.getItem() == ModItems.redcoil_capacitor && stack.getItemDamage() == stack.getMaxDamage()) || stack.getItem() == ModItems.euphemium_capacitor) { + if(stack.getItem() == ModItems.euphemium_capacitor) return false; + + if(i == 2 && stack.getItem() != null && (stack.getItem() == ModItems.redcoil_capacitor && stack.getItemDamage() == stack.getMaxDamage())) { return true; } - if (i == 1) { + if(i == 1) { return true; } - if (i == 3) { - if (stack.getItem() instanceof IBatteryItem && ((IBatteryItem)stack.getItem()).getCharge(stack) == 0) + if(i == 3) { + if(stack.getItem() instanceof IBatteryItem && ((IBatteryItem) stack.getItem()).getCharge(stack) == 0) return true; } @@ -183,6 +183,7 @@ public class TileEntityMachineSchrabidiumTransmutator extends TileEntityMachineB } else if(!audio.isPlaying()) { audio = rebootAudio(audio); } + audio.updateVolume(getVolume(1F)); } else { if(audio != null) { @@ -226,6 +227,7 @@ public class TileEntityMachineSchrabidiumTransmutator extends TileEntityMachineB @Override public void networkUnpack(NBTTagCompound data) { + super.networkUnpack(data); this.power = data.getLong("power"); this.process = data.getInteger("progress"); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSeleniumEngine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSeleniumEngine.java deleted file mode 100644 index c55778131..000000000 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSeleniumEngine.java +++ /dev/null @@ -1,435 +0,0 @@ -package com.hbm.tileentity.machine; - -import java.io.IOException; -import java.util.HashMap; - -import com.google.gson.JsonArray; -import com.google.gson.JsonObject; -import com.google.gson.stream.JsonWriter; -import com.hbm.interfaces.IFluidAcceptor; -import com.hbm.interfaces.IFluidContainer; -import com.hbm.inventory.FluidContainerRegistry; -import com.hbm.inventory.container.ContainerMachineSelenium; -import com.hbm.inventory.fluid.FluidType; -import com.hbm.inventory.fluid.Fluids; -import com.hbm.inventory.fluid.tank.FluidTank; -import com.hbm.inventory.fluid.trait.FT_Combustible; -import com.hbm.inventory.fluid.trait.FT_Combustible.FuelGrade; -import com.hbm.inventory.gui.GUIMachineSelenium; -import com.hbm.items.ModItems; -import com.hbm.lib.Library; -import com.hbm.packet.AuxElectricityPacket; -import com.hbm.packet.AuxGaugePacket; -import com.hbm.packet.PacketDispatcher; -import com.hbm.tileentity.IConfigurableMachine; -import com.hbm.tileentity.IGUIProvider; -import com.hbm.tileentity.TileEntityLoadedBase; - -import api.hbm.energy.IBatteryItem; -import api.hbm.energy.IEnergyGenerator; -import api.hbm.fluid.IFluidStandardReceiver; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.ISidedInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -public class TileEntityMachineSeleniumEngine extends TileEntityLoadedBase implements ISidedInventory, IEnergyGenerator, IFluidContainer, IFluidAcceptor, IFluidStandardReceiver, IConfigurableMachine, IGUIProvider { - - private ItemStack slots[]; - - public long power; - public int soundCycle = 0; - public long powerCap = 250000; - public FluidTank tank; - public int pistonCount = 0; - - public static long maxPower = 250000; - public static int fluidCap = 16000; - public static double pistonExp = 1.0D; - public static boolean shutUp = false; - public static HashMap fuelEfficiency = new HashMap(); - static { - fuelEfficiency.put(FuelGrade.LOW, 0.75D); - fuelEfficiency.put(FuelGrade.MEDIUM, 0.5D); - fuelEfficiency.put(FuelGrade.HIGH, 0.25D); - fuelEfficiency.put(FuelGrade.AERO, 0.00D); - } - - private static final int[] slots_top = new int[] { 0 }; - private static final int[] slots_bottom = new int[] { 1, 2 }; - private static final int[] slots_side = new int[] { 2 }; - - private String customName; - - public TileEntityMachineSeleniumEngine() { - slots = new ItemStack[14]; - tank = new FluidTank(Fluids.DIESEL, fluidCap, 0); - } - - @Override - public int getSizeInventory() { - return slots.length; - } - - @Override - public ItemStack getStackInSlot(int i) { - return slots[i]; - } - - @Override - public ItemStack getStackInSlotOnClosing(int i) { - if (slots[i] != null) { - ItemStack itemStack = slots[i]; - slots[i] = null; - return itemStack; - } else { - return null; - } - } - - @Override - public void setInventorySlotContents(int i, ItemStack itemStack) { - slots[i] = itemStack; - if (itemStack != null && itemStack.stackSize > getInventoryStackLimit()) { - itemStack.stackSize = getInventoryStackLimit(); - } - } - - @Override - public String getInventoryName() { - return this.hasCustomInventoryName() ? this.customName : "container.machineSelenium"; - } - - @Override - public boolean hasCustomInventoryName() { - return this.customName != null && this.customName.length() > 0; - } - - public void setCustomName(String name) { - this.customName = name; - } - - @Override - public int getInventoryStackLimit() { - return 64; - } - - @Override - public boolean isUseableByPlayer(EntityPlayer player) { - if (worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) { - return false; - } else { - return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <= 64; - } - } - - // You scrubs aren't needed for anything (right now) - @Override - public void openInventory() { - } - - @Override - public void closeInventory() { - } - - @Override - public boolean isItemValidForSlot(int i, ItemStack stack) { - if (i == 9) - if (FluidContainerRegistry.getFluidContent(stack, tank.getTankType()) > 0) - return true; - if (i == 13) - if (stack.getItem() instanceof IBatteryItem) - return true; - - return false; - } - - @Override - public ItemStack decrStackSize(int i, int j) { - if (slots[i] != null) { - if (slots[i].stackSize <= j) { - ItemStack itemStack = slots[i]; - slots[i] = null; - return itemStack; - } - ItemStack itemStack1 = slots[i].splitStack(j); - if (slots[i].stackSize == 0) { - slots[i] = null; - } - - return itemStack1; - } else { - return null; - } - } - - @Override - public void readFromNBT(NBTTagCompound nbt) { - super.readFromNBT(nbt); - NBTTagList list = nbt.getTagList("items", 10); - - this.power = nbt.getLong("powerTime"); - this.powerCap = nbt.getLong("powerCap"); - tank.readFromNBT(nbt, "fuel"); - slots = new ItemStack[getSizeInventory()]; - - for (int i = 0; i < list.tagCount(); i++) { - NBTTagCompound nbt1 = list.getCompoundTagAt(i); - byte b0 = nbt1.getByte("slot"); - if (b0 >= 0 && b0 < slots.length) { - slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); - } - } - } - - @Override - public void writeToNBT(NBTTagCompound nbt) { - super.writeToNBT(nbt); - nbt.setLong("powerTime", power); - nbt.setLong("powerCap", powerCap); - tank.writeToNBT(nbt, "fuel"); - NBTTagList list = new NBTTagList(); - - for (int i = 0; i < slots.length; i++) { - if (slots[i] != null) { - NBTTagCompound nbt1 = new NBTTagCompound(); - nbt1.setByte("slot", (byte) i); - slots[i].writeToNBT(nbt1); - list.appendTag(nbt1); - } - } - nbt.setTag("items", list); - } - - @Override - public int[] getAccessibleSlotsFromSide(int p_94128_1_) { - return p_94128_1_ == 0 ? slots_bottom : (p_94128_1_ == 1 ? slots_top : slots_side); - } - - @Override - public boolean canInsertItem(int i, ItemStack itemStack, int j) { - return this.isItemValidForSlot(i, itemStack); - } - - @Override - public boolean canExtractItem(int i, ItemStack itemStack, int j) { - if (i == 1) - if (itemStack.getItem() == ModItems.canister_empty || itemStack.getItem() == ModItems.tank_steel) - return true; - if (i == 2) - if (itemStack.getItem() instanceof IBatteryItem && ((IBatteryItem)itemStack.getItem()).getCharge(itemStack) == ((IBatteryItem)itemStack.getItem()).getMaxCharge()) - return true; - - return false; - } - - public long getPowerScaled(long i) { - return (power * i) / powerCap; - } - - @Override - public void updateEntity() { - - if (!worldObj.isRemote) { - - this.subscribeToAllAround(tank.getTankType(), this); - this.sendPower(worldObj, xCoord, yCoord - 1, zCoord, ForgeDirection.DOWN); - - pistonCount = countPistons(); - - //Tank Management - tank.setType(11, 12, slots); - tank.loadTank(9, 10, slots); - tank.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId); - - FluidType type = tank.getTankType(); - if(type == Fluids.NITAN) - powerCap = maxPower * 10; - else - powerCap = maxPower; - - // Battery Item - power = Library.chargeItemsFromTE(slots, 13, power, powerCap); - - if(this.pistonCount > 2) - generate(); - - PacketDispatcher.wrapper.sendToAllAround(new AuxElectricityPacket(xCoord, yCoord, zCoord, power), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); - PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, pistonCount, 0), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150)); - PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, (int)powerCap, 1), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); - } - } - - public int countPistons() { - int count = 0; - - for(int i = 0; i < 9; i++) { - if(slots[i] != null && slots[i].getItem() == ModItems.piston_selenium) - count++; - } - - return count; - } - - public boolean hasAcceptableFuel() { - return getHEFromFuel() > 0; - } - - public long getHEFromFuel() { - return getHEFromFuel(tank.getTankType()); - } - - public static long getHEFromFuel(FluidType type) { - - if(type.hasTrait(FT_Combustible.class)) { - FT_Combustible fuel = type.getTrait(FT_Combustible.class); - FuelGrade grade = fuel.getGrade(); - double efficiency = fuelEfficiency.containsKey(grade) ? fuelEfficiency.get(grade) : 0; - return (long) (fuel.getCombustionEnergy() / 1000L * efficiency); - } - - return 0; - } - - public void generate() { - if (hasAcceptableFuel()) { - if (tank.getFill() > 0) { - - if(!shutUp) { - if (soundCycle == 0) { - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "fireworks.blast", 1.0F, 0.5F); - } - soundCycle++; - - if (soundCycle >= 3) - soundCycle = 0; - } - - tank.setFill(tank.getFill() - this.pistonCount); - if(tank.getFill() < 0) - tank.setFill(0); - - power += getHEFromFuel() * Math.pow(this.pistonCount, pistonExp); - - if(power > powerCap) - power = powerCap; - } - } - } - - @Override - public long getPower() { - return power; - } - - @Override - public long getMaxPower() { - return maxPower; - } - - @Override - public void setPower(long i) { - this.power = i; - } - - @Override - public void setFillForSync(int fill, int index) { - tank.setFill(fill); - } - - @Override - public void setTypeForSync(FluidType type, int index) { - tank.setTankType(type); - } - - @Override - public int getMaxFluidFill(FluidType type) { - return type == this.tank.getTankType() ? tank.getMaxFill() : 0; - } - - @Override - public int getFluidFill(FluidType type) { - return type == this.tank.getTankType() ? tank.getFill() : 0; - } - - @Override - public void setFluidFill(int i, FluidType type) { - if(type == tank.getTankType()) - tank.setFill(i); - } - - @Override - public boolean canConnect(ForgeDirection dir) { - return dir == ForgeDirection.DOWN; - } - - @Override - public String getConfigName() { - return "radialengine"; - } - - @Override - public void readIfPresent(JsonObject obj) { - maxPower = IConfigurableMachine.grab(obj, "L:powerCap", maxPower); - fluidCap = IConfigurableMachine.grab(obj, "I:fuelCap", fluidCap); - pistonExp = IConfigurableMachine.grab(obj, "D:pistonGenExponent", pistonExp); - - if(obj.has("D[:efficiency")) { - JsonArray array = obj.get("D[:efficiency").getAsJsonArray(); - for(FuelGrade grade : FuelGrade.values()) { - fuelEfficiency.put(grade, array.get(grade.ordinal()).getAsDouble()); - } - } - - shutUp = IConfigurableMachine.grab(obj, "B:shutUp", shutUp); - } - - @Override - public void writeConfig(JsonWriter writer) throws IOException { - writer.name("L:powerCap").value(maxPower); - writer.name("I:fuelCap").value(fluidCap); - writer.name("D:pistonGenExponent").value(pistonExp); - - String info = "Fuel grades in order: "; - for(FuelGrade grade : FuelGrade.values()) info += grade.name() + " "; - info = info.trim(); - writer.name("INFO").value(info); - - writer.name("D[:efficiency").beginArray().setIndent(""); - for(FuelGrade grade : FuelGrade.values()) { - double d = fuelEfficiency.containsKey(grade) ? fuelEfficiency.get(grade) : 0.0D; - writer.value(d); - } - writer.endArray().setIndent(" "); - writer.name("B:shutUp").value(shutUp); - } - - @Override - public FluidTank[] getAllTanks() { - return new FluidTank[] {tank}; - } - - @Override - public FluidTank[] getReceivingTanks() { - return new FluidTank[] {tank}; - } - - @Override - public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new ContainerMachineSelenium(player.inventory, this); - } - - @Override - @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new GUIMachineSelenium(player.inventory, this); - } -} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineShredder.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineShredder.java index ee1e8fb32..9ac85cf5c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineShredder.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineShredder.java @@ -10,8 +10,8 @@ import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityLoadedBase; -import api.hbm.energy.IBatteryItem; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IBatteryItem; +import api.hbm.energymk2.IEnergyReceiverMK2; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -25,7 +25,7 @@ import net.minecraft.nbt.NBTTagList; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineShredder extends TileEntityLoadedBase implements ISidedInventory, IEnergyUser, IGUIProvider { +public class TileEntityMachineShredder extends TileEntityLoadedBase implements ISidedInventory, IEnergyReceiverMK2, IGUIProvider { private ItemStack slots[]; @@ -249,7 +249,7 @@ public class TileEntityMachineShredder extends TileEntityLoadedBase implements I flag1 = true; } if(soundCycle == 0) - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "minecart.base", 1.0F, 0.75F); + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "minecart.base", getVolume(1.0F), 0.75F); soundCycle++; if(soundCycle >= 50) diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineShredderLarge.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineShredderLarge.java deleted file mode 100644 index 66454362c..000000000 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineShredderLarge.java +++ /dev/null @@ -1,220 +0,0 @@ -package com.hbm.tileentity.machine; - -import java.util.Random; - -import com.hbm.packet.AuxElectricityPacket; -import com.hbm.packet.PacketDispatcher; - -import api.hbm.energy.IBatteryItem; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.ISidedInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; - -public class TileEntityMachineShredderLarge extends TileEntity implements ISidedInventory { - - private ItemStack slots[]; - - public long power; - public static final long maxPower = 100000; - public int progress; - public int maxProgress = 100; - - Random rand = new Random(); - - private String customName; - - public TileEntityMachineShredderLarge() { - slots = new ItemStack[31]; - } - - @Override - public int getSizeInventory() { - return slots.length; - } - - @Override - public ItemStack getStackInSlot(int i) { - return slots[i]; - } - - @Override - public ItemStack getStackInSlotOnClosing(int i) { - if(slots[i] != null) - { - ItemStack itemStack = slots[i]; - slots[i] = null; - return itemStack; - } else { - return null; - } - } - - @Override - public void setInventorySlotContents(int i, ItemStack itemStack) { - slots[i] = itemStack; - if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) - { - itemStack.stackSize = getInventoryStackLimit(); - } - } - - @Override - public String getInventoryName() { - return this.hasCustomInventoryName() ? this.customName : "container.assembler"; - } - - @Override - public boolean hasCustomInventoryName() { - return this.customName != null && this.customName.length() > 0; - } - - public void setCustomName(String name) { - this.customName = name; - } - - @Override - public int getInventoryStackLimit() { - return 64; - } - - @Override - public boolean isUseableByPlayer(EntityPlayer player) { - if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) - { - return false; - }else{ - return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <=128; - } - } - - //You scrubs aren't needed for anything (right now) - @Override - public void openInventory() {} - @Override - public void closeInventory() {} - - @Override - public boolean isItemValidForSlot(int i, ItemStack itemStack) { - if(i == 0) - if(itemStack.getItem() instanceof IBatteryItem) - return true; - - if(i == 1) - return true; - - return false; - } - - @Override - public ItemStack decrStackSize(int i, int j) { - if(slots[i] != null) - { - if(slots[i].stackSize <= j) - { - ItemStack itemStack = slots[i]; - slots[i] = null; - return itemStack; - } - ItemStack itemStack1 = slots[i].splitStack(j); - if (slots[i].stackSize == 0) - { - slots[i] = null; - } - - return itemStack1; - } else { - return null; - } - } - - @Override - public void readFromNBT(NBTTagCompound nbt) { - super.readFromNBT(nbt); - NBTTagList list = nbt.getTagList("items", 10); - - this.power = nbt.getLong("powerTime"); - slots = new ItemStack[getSizeInventory()]; - - for(int i = 0; i < list.tagCount(); i++) - { - NBTTagCompound nbt1 = list.getCompoundTagAt(i); - byte b0 = nbt1.getByte("slot"); - if(b0 >= 0 && b0 < slots.length) - { - slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); - } - } - } - - @Override - public void writeToNBT(NBTTagCompound nbt) { - super.writeToNBT(nbt); - nbt.setLong("powerTime", power); - NBTTagList list = new NBTTagList(); - - for(int i = 0; i < slots.length; i++) - { - if(slots[i] != null) - { - NBTTagCompound nbt1 = new NBTTagCompound(); - nbt1.setByte("slot", (byte)i); - slots[i].writeToNBT(nbt1); - list.appendTag(nbt1); - } - } - nbt.setTag("items", list); - } - - @Override - public int[] getAccessibleSlotsFromSide(int p_94128_1_) - { - return new int[] { 0 }; - } - - @Override - public boolean canInsertItem(int i, ItemStack itemStack, int j) { - return this.isItemValidForSlot(i, itemStack); - } - - @Override - public boolean canExtractItem(int i, ItemStack itemStack, int j) { - return false; - } - - public long getPowerScaled(long i) { - return (power * i) / maxPower; - } - - public int getProgressScaled(int i) { - return (progress * i) / maxProgress; - } - - @Override - public void updateEntity() { - - if(!worldObj.isRemote) { - PacketDispatcher.wrapper.sendToAllAround(new AuxElectricityPacket(xCoord, yCoord, zCoord, power), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150)); - } - - } - - @Override - public AxisAlignedBB getRenderBoundingBox() { - return TileEntity.INFINITE_EXTENT_AABB; - } - - @Override - @SideOnly(Side.CLIENT) - public double getMaxRenderDistanceSquared() - { - return 65536.0D; - } - -} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineStrandCaster.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineStrandCaster.java new file mode 100644 index 000000000..71caf6423 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineStrandCaster.java @@ -0,0 +1,352 @@ +package com.hbm.tileentity.machine; + +import api.hbm.block.ICrucibleAcceptor; +import api.hbm.fluid.IFluidStandardTransceiver; +import com.hbm.blocks.BlockDummyable; +import com.hbm.inventory.container.ContainerMachineStrandCaster; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUIMachineStrandCaster; +import com.hbm.inventory.material.Mats; +import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemMold; +import com.hbm.items.machine.ItemScraps; +import com.hbm.packet.NBTPacket; +import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.IGUIProvider; +import com.hbm.tileentity.INBTPacketReceiver; +import com.hbm.util.fauxpointtwelve.DirPos; +import cpw.mods.fml.common.network.NetworkRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.IInventory; +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +//god thank you bob for this base class +public class TileEntityMachineStrandCaster extends TileEntityFoundryCastingBase implements IGUIProvider, ICrucibleAcceptor, ISidedInventory, IFluidStandardTransceiver, INBTPacketReceiver, IInventory { + + public FluidTank water; + public FluidTank steam; + + public String getName() { + return "container.machineStrandCaster"; + } + + @Override + public String getInventoryName() { + return getName(); + } + + public TileEntityMachineStrandCaster() { + super(7); + water = new FluidTank(Fluids.WATER, 64_000); + steam = new FluidTank(Fluids.SPENTSTEAM, 64_000); + } + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + + if(this.lastType != this.type || this.lastAmount != this.amount) { + worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); + this.lastType = this.type; + this.lastAmount = this.amount; + } + + if (this.amount >= this.getCapacity()) { + //In case of overfill problems, spit out the excess as scrap + if (amount > getCapacity()) { + ItemStack scrap = ItemScraps.create(new Mats.MaterialStack(type, Math.max(amount - getCapacity(), 0))); + EntityItem item = new EntityItem(worldObj, xCoord + 0.5, yCoord + 2, zCoord + 0.5, scrap); + worldObj.spawnEntityInWorld(item); + } + this.amount = this.getCapacity(); + } + + if(this.amount == 0) { + this.type = null; + } + + this.updateConnections(); + + ItemMold.Mold mold = this.getInstalledMold(); + + if(canProcess()) { + + int itemsCasted = Math.min(amount / mold.getCost(), 9); + + for(int j = 0; j < itemsCasted; j++) { + this.amount -= mold.getCost(); + + ItemStack out = mold.getOutput(type); + + for(int i = 1; i < 7; i++) { + if(slots[i] == null) { + slots[i] = out.copy(); + break; + } + + if(slots[i].isItemEqual(out) && slots[i].stackSize + out.stackSize <= out.getMaxStackSize()) { + slots[i].stackSize += out.stackSize; + break; + } + + } + } + markChanged(); + + water.setFill(water.getFill() - getWaterRequired() * itemsCasted); + steam.setFill(steam.getFill() + getWaterRequired() * itemsCasted); + } + } + + NBTTagCompound data = new NBTTagCompound(); + + water.writeToNBT(data, "w"); + steam.writeToNBT(data, "s"); + + this.networkPack(data, 150); + + } + + public boolean canProcess() { + ItemMold.Mold mold = this.getInstalledMold(); + if(type != null && mold != null && this.amount >= mold.getCost() * 9 && mold.getOutput(type) != null) { + for(int i = 1; i < 7; i++) { + if(slots[i] == null || slots[i].isItemEqual(mold.getOutput(type)) && slots[i].stackSize + mold.getOutput(type).stackSize <= mold.getOutput(type).getMaxStackSize()) + return water.getFill() >= getWaterRequired() && steam.getFill() < steam.getMaxFill(); + + } + } + + return false; + } + + public DirPos[] getFluidConPos() { + + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + + return new DirPos[] { + new DirPos(xCoord + rot.offsetX * 2 - dir.offsetX, yCoord, zCoord + rot.offsetZ * 2 - dir.offsetZ, rot), + new DirPos(xCoord - rot.offsetX - dir.offsetX, yCoord, zCoord - rot.offsetZ - dir.offsetZ, rot.getOpposite()), + new DirPos(xCoord + rot.offsetX * 2 - dir.offsetX * 5, yCoord, zCoord + rot.offsetZ * 2 - dir.offsetZ * 5, rot), + new DirPos(xCoord - rot.offsetX - dir.offsetX * 5, yCoord, zCoord - rot.offsetZ - dir.offsetZ * 5, rot.getOpposite()) + }; + } + + public int[][] getMetalPourPos() { + + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + + return new int[][] { + new int[] { xCoord + rot.offsetX - dir.offsetX, yCoord + 2, zCoord + rot.offsetZ - dir.offsetZ }, + new int[] { xCoord - dir.offsetX, yCoord + 2, zCoord - dir.offsetZ }, + new int[] { xCoord + rot.offsetX, yCoord + 2, zCoord + rot.offsetZ }, + new int[] { xCoord, yCoord + 2, zCoord } + }; + } + + @Override + public ItemMold.Mold getInstalledMold() { + if(slots[0] == null) + return null; + + if(slots[0].getItem() == ModItems.mold) { + return ((ItemMold) slots[0].getItem()).getMold(slots[0]); + } + + return null; + } + + @Override + public int getMoldSize() { + return getInstalledMold().size; + } + + @Override + public boolean canAcceptPartialPour(World world, int x, int y, int z, double dX, double dY, double dZ, ForgeDirection side, Mats.MaterialStack stack) { + + if(side != ForgeDirection.UP) + return false; + for(int[] pos : getMetalPourPos()) { + if(pos[0] == x && pos[1] == y && pos[2] == z) { + return this.standardCheck(world, x, y, z, side, stack); + } + } + return false; + + } + + @Override + public boolean standardCheck(World world, int x, int y, int z, ForgeDirection side, Mats.MaterialStack stack) { + if(this.type != null && this.type != stack.material) return false; + int limit = this.getInstalledMold() != null ? this.getInstalledMold().getCost() * 9 : this.getCapacity(); + return !(this.amount >= limit || getInstalledMold() == null); + } + + @Override + public int getCapacity() { + ItemMold.Mold mold = this.getInstalledMold(); + return mold == null ? 50000 : mold.getCost() * 10; + } + + private int getWaterRequired() { + return getInstalledMold() != null ? 5 * getInstalledMold().getCost() : 50; + } + + private void updateConnections() { + for(DirPos pos : getFluidConPos()) { + this.trySubscribe(water.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + this.sendFluid(steam, worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + } + } + @Override + public Mats.MaterialStack standardAdd(World world, int x, int y, int z, ForgeDirection side, Mats.MaterialStack stack) { + this.type = stack.material; + int limit = this.getInstalledMold() != null ? this.getInstalledMold().getCost() * 9 : this.getCapacity(); + if(stack.amount + this.amount <= limit) { + this.amount += stack.amount; + return null; + } + + int required = limit - this.amount; + this.amount = limit; + + stack.amount -= required; + + return stack; + } + @Override + public FluidTank[] getSendingTanks() { + return new FluidTank[] { steam }; + } + + @Override + public FluidTank[] getReceivingTanks() { + return new FluidTank[] { water }; + } + + @Override + public FluidTank[] getAllTanks() { + return new FluidTank[] { water, steam }; + } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMachineStrandCaster(player.inventory, this); + } + + @Override + @SideOnly(Side.CLIENT) + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineStrandCaster(player.inventory, this); + } + + public void networkPack(NBTTagCompound nbt, int range) { + if(!worldObj.isRemote) + PacketDispatcher.wrapper.sendToAllAround(new NBTPacket(nbt, xCoord, yCoord, zCoord), new NetworkRegistry.TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, range)); + } + + @Override + public void networkUnpack(NBTTagCompound nbt) { + water.readFromNBT(nbt, "w"); + steam.readFromNBT(nbt, "s"); + + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + water.writeToNBT(nbt, "w"); + steam.writeToNBT(nbt, "s"); + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + water.readFromNBT(nbt, "w"); + steam.readFromNBT(nbt, "s"); + } + + @Override + public boolean isItemValidForSlot(int i, ItemStack stack) { + if(i == 0) return stack.getItem() == ModItems.mold; + return false; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } + + @Override + public int[] getAccessibleSlotsFromSide(int meta) { + return new int[] { 1, 2, 3, 4, 5, 6 }; + } + + public void markChanged() { + this.worldObj.markTileEntityChunkModified(this.xCoord, this.yCoord, this.zCoord, this); + } + + @Override + public boolean isUseableByPlayer(EntityPlayer player) { + if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) { + return false; + } else { + return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <= 128; + } + } + + @Override + public boolean canInsertItem(int slot, ItemStack itemStack, int side) { + return this.isItemValidForSlot(slot, itemStack); + } + + @Override + public boolean canExtractItem(int slot, ItemStack itemStack, int side) { + return !this.isItemValidForSlot(slot, itemStack); + } + + AxisAlignedBB bb = null; + + @Override + public AxisAlignedBB getRenderBoundingBox() { + + if(bb == null) { + bb = AxisAlignedBB.getBoundingBox( + xCoord - 7, + yCoord, + zCoord - 7, + xCoord + 7, + yCoord + 3, + zCoord + 7); + } + return bb; + } + + public boolean isLoaded = true; + + @Override + public boolean isLoaded() { + return isLoaded; + } + + @Override + public void onChunkUnload() { + super.onChunkUnload(); + this.isLoaded = false; + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTeleporter.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTeleporter.java index 9baaffd5f..0784cd130 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTeleporter.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTeleporter.java @@ -6,7 +6,7 @@ import java.util.List; import com.hbm.tileentity.INBTPacketReceiver; import com.hbm.tileentity.TileEntityLoadedBase; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.relauncher.ReflectionHelper; import net.minecraft.entity.Entity; @@ -27,8 +27,9 @@ import net.minecraft.util.IntHashMap; import net.minecraft.util.MathHelper; import net.minecraft.world.WorldServer; import net.minecraft.world.chunk.IChunkProvider; +import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineTeleporter extends TileEntityLoadedBase implements IEnergyUser, INBTPacketReceiver { +public class TileEntityMachineTeleporter extends TileEntityLoadedBase implements IEnergyReceiverMK2, INBTPacketReceiver { public long power = 0; public int targetX = -1; @@ -42,7 +43,7 @@ public class TileEntityMachineTeleporter extends TileEntityLoadedBase implements public void updateEntity() { if(!this.worldObj.isRemote) { - this.updateStandardConnections(worldObj, xCoord, yCoord, zCoord); + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); if(this.targetY != -1) { List entities = this.worldObj.getEntitiesWithinAABB(Entity.class, AxisAlignedBB.getBoundingBox(this.xCoord + 0.25, this.yCoord, this.zCoord + 0.25, this.xCoord + 0.75, this.yCoord + 2, this.zCoord + 0.75)); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbine.java index 1845c5e72..9221bcb5d 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbine.java @@ -1,12 +1,7 @@ package com.hbm.tileentity.machine; -import java.util.ArrayList; -import java.util.List; - import com.hbm.handler.CompatHandler; -import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; -import com.hbm.interfaces.IFluidSource; import com.hbm.inventory.container.ContainerMachineTurbine; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; @@ -19,10 +14,12 @@ import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityLoadedBase; +import com.hbm.util.CompatEnergyControl; -import api.hbm.energy.IBatteryItem; -import api.hbm.energy.IEnergyGenerator; +import api.hbm.energymk2.IBatteryItem; +import api.hbm.energymk2.IEnergyProviderMK2; import api.hbm.fluid.IFluidStandardTransceiver; +import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.common.Optional; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; @@ -42,14 +39,13 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityMachineTurbine extends TileEntityLoadedBase implements ISidedInventory, IFluidContainer, IFluidAcceptor, IFluidSource, IEnergyGenerator, IFluidStandardTransceiver, IGUIProvider, SimpleComponent { +public class TileEntityMachineTurbine extends TileEntityLoadedBase implements ISidedInventory, IFluidContainer, IEnergyProviderMK2, IFluidStandardTransceiver, IGUIProvider, SimpleComponent, IInfoProviderEC { private ItemStack slots[]; public long power; public static final long maxPower = 1000000; public int age = 0; - public List list2 = new ArrayList(); public FluidTank[] tanks; private static final int[] slots_top = new int[] {4}; @@ -57,6 +53,7 @@ public class TileEntityMachineTurbine extends TileEntityLoadedBase implements IS private static final int[] slots_side = new int[] {4}; private String customName; + protected double[] info = new double[3]; public TileEntityMachineTurbine() { slots = new ItemStack[7]; @@ -230,19 +227,19 @@ public class TileEntityMachineTurbine extends TileEntityLoadedBase implements IS @Override public void updateEntity() { - if(!worldObj.isRemote) - { + if(!worldObj.isRemote) { + + this.info = new double[3]; + age++; - if(age >= 2) - { + if(age >= 2) { age = 0; } this.subscribeToAllAround(tanks[0].getTankType(), this); - fillFluidInit(tanks[1].getTankType()); for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) - this.sendPower(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); + this.tryProvide(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); tanks[0].setType(0, 1, slots); tanks[0].loadTank(2, 3, slots); @@ -262,6 +259,9 @@ public class TileEntityMachineTurbine extends TileEntityLoadedBase implements IS tanks[0].setFill(tanks[0].getFill() - ops * trait.amountReq); tanks[1].setFill(tanks[1].getFill() + ops * trait.amountProduced); this.power += (ops * trait.heatEnergy * eff); + info[0] = ops * trait.amountReq; + info[1] = ops * trait.amountProduced; + info[2] = ops * trait.heatEnergy * eff; valid = true; } } @@ -279,32 +279,6 @@ public class TileEntityMachineTurbine extends TileEntityLoadedBase implements IS } } - @Override - public void fillFluidInit(FluidType type) { - - fillFluid(this.xCoord + 1, this.yCoord, this.zCoord, getTact(), type); - fillFluid(this.xCoord - 1, this.yCoord, this.zCoord, getTact(), type); - fillFluid(this.xCoord, this.yCoord + 1, this.zCoord, getTact(), type); - fillFluid(this.xCoord, this.yCoord - 1, this.zCoord, getTact(), type); - fillFluid(this.xCoord, this.yCoord, this.zCoord + 1, getTact(), type); - fillFluid(this.xCoord, this.yCoord, this.zCoord - 1, getTact(), type); - } - - @Override - public void fillFluid(int x, int y, int z, boolean newTact, FluidType type) { - Library.transmitFluid(x, y, z, newTact, this, worldObj, type); - } - - @Override - public boolean getTact() { - if(age == 0) - { - return true; - } - - return false; - } - @Override public void setFluidFill(int i, FluidType type) { if(type.name().equals(tanks[0].getTankType().name())) @@ -323,14 +297,6 @@ public class TileEntityMachineTurbine extends TileEntityLoadedBase implements IS return 0; } - @Override - public int getMaxFluidFill(FluidType type) { - if(type.name().equals(tanks[0].getTankType().name())) - return tanks[0].getMaxFill(); - - return 0; - } - @Override public void setFillForSync(int fill, int index) { if(index < 2 && tanks[index] != null) @@ -343,16 +309,6 @@ public class TileEntityMachineTurbine extends TileEntityLoadedBase implements IS tanks[index].setTankType(type); } - @Override - public List getFluidList(FluidType type) { - return list2; - } - - @Override - public void clearFluidList(FluidType type) { - list2.clear(); - } - @Override public long getPower() { return power; @@ -423,4 +379,12 @@ public class TileEntityMachineTurbine extends TileEntityLoadedBase implements IS public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineTurbine(player.inventory, this); } + + @Override + public void provideExtraInfo(NBTTagCompound data) { + data.setBoolean(CompatEnergyControl.B_ACTIVE, info[1] > 0); + data.setDouble(CompatEnergyControl.D_CONSUMPTION_MB, info[0]); + data.setDouble(CompatEnergyControl.D_OUTPUT_MB, info[1]); + data.setDouble(CompatEnergyControl.D_OUTPUT_HE, info[2]); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java index 21bb03777..28895add2 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java @@ -19,9 +19,11 @@ import com.hbm.main.MainRegistry; import com.hbm.sound.AudioWrapper; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.CompatEnergyControl; -import api.hbm.energy.IEnergyGenerator; +import api.hbm.energymk2.IEnergyProviderMK2; import api.hbm.fluid.IFluidStandardTransceiver; +import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -39,7 +41,7 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityMachineTurbineGas extends TileEntityMachineBase implements IFluidStandardTransceiver, IEnergyGenerator, IControlReceiver, IGUIProvider, SimpleComponent { +public class TileEntityMachineTurbineGas extends TileEntityMachineBase implements IFluidStandardTransceiver, IEnergyProviderMK2, IControlReceiver, IGUIProvider, SimpleComponent, IInfoProviderEC { public long power; public static final long maxPower = 1000000L; @@ -134,7 +136,7 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement //do net/battery deductions first... power = Library.chargeItemsFromTE(slots, 0, power, maxPower); - this.sendPower(worldObj, xCoord - dir.offsetZ * 5, yCoord + 1, zCoord + dir.offsetX * 5, rot); //sends out power + this.tryProvide(worldObj, xCoord - dir.offsetZ * 5, yCoord + 1, zCoord + dir.offsetX * 5, rot); //sends out power //...and then cap it. Prevents potential future cases where power would be limited due to the fuel being too strong and the buffer too small. if(this.power > this.maxPower) @@ -176,17 +178,17 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement if(audio == null) { //if there is no sound playing, start it - audio = MainRegistry.proxy.getLoopedSound("hbm:block.turbinegasRunning", xCoord, yCoord, zCoord, 1.0F, 20F, 1.0F); + audio = MainRegistry.proxy.getLoopedSound("hbm:block.turbinegasRunning", xCoord, yCoord, zCoord, 1.0F, 20F, 2.0F); audio.startSound(); } else if(!audio.isPlaying()) { audio.stopSound(); - audio = MainRegistry.proxy.getLoopedSound("hbm:block.turbinegasRunning", xCoord, yCoord, zCoord, 1.0F, 20F, 1.0F); + audio = MainRegistry.proxy.getLoopedSound("hbm:block.turbinegasRunning", xCoord, yCoord, zCoord, 1.0F, 20F, 2.0F); audio.startSound(); } audio.updatePitch((float) (0.55 + 0.1 * rpm / 10)); //dynamic pitch update based on rpm - audio.updateVolume(100F); //yeah i need this + audio.updateVolume(getVolume(2F)); //yeah i need this } else { @@ -378,6 +380,7 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement @Override public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); this.power = nbt.getLong("power"); this.rpm = nbt.getInteger("rpm"); @@ -648,4 +651,15 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineTurbineGas(player.inventory, this); } + + @Override + public void provideExtraInfo(NBTTagCompound data) { + data.setBoolean(CompatEnergyControl.B_ACTIVE, this.state == 1); + data.setDouble(CompatEnergyControl.D_HEAT_C, Math.max(20D, this.temp)); + data.setDouble(CompatEnergyControl.D_TURBINE_PERCENT, this.powerSliderPos * 100D / 60D); + data.setInteger(CompatEnergyControl.I_TURBINE_SPEED, this.rpm); + data.setDouble(CompatEnergyControl.D_OUTPUT_HE, this.instantPowerOutput); + data.setDouble(CompatEnergyControl.D_CONSUMPTION_MB, this.waterToBoil); + data.setDouble(CompatEnergyControl.D_OUTPUT_MB, this.waterToBoil * 10); + } } \ No newline at end of file diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java index 414d273a4..d5155190d 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java @@ -28,11 +28,13 @@ import com.hbm.sound.AudioWrapper; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IUpgradeInfoProvider; import com.hbm.tileentity.TileEntityMachinePolluting; +import com.hbm.util.CompatEnergyControl; import com.hbm.util.I18nUtil; import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IEnergyGenerator; +import api.hbm.energymk2.IEnergyProviderMK2; import api.hbm.fluid.IFluidStandardTransceiver; +import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -49,7 +51,7 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineTurbofan extends TileEntityMachinePolluting implements IEnergyGenerator, IFluidContainer, IFluidAcceptor, IFluidStandardTransceiver, IGUIProvider, IUpgradeInfoProvider { +public class TileEntityMachineTurbofan extends TileEntityMachinePolluting implements IEnergyProviderMK2, IFluidContainer, IFluidAcceptor, IFluidStandardTransceiver, IGUIProvider, IUpgradeInfoProvider, IInfoProviderEC { public long power; public static final long maxPower = 1_000_000; @@ -59,6 +61,8 @@ public class TileEntityMachineTurbofan extends TileEntityMachinePolluting implem public int afterburner; public boolean wasOn; public boolean showBlood = false; + protected int output; + protected int consumption; public float spin; public float lastSpin; @@ -119,6 +123,9 @@ public class TileEntityMachineTurbofan extends TileEntityMachinePolluting implem if(!worldObj.isRemote) { + this.output = 0; + this.consumption = 0; + //meta below 12 means that it's an old multiblock configuration if(this.getBlockMetadata() < 12) { //get old direction @@ -165,7 +172,9 @@ public class TileEntityMachineTurbofan extends TileEntityMachinePolluting implem if(amountToBurn > 0) { this.wasOn = true; this.tank.setFill(this.tank.getFill() - amountToBurn); - this.power += burnValue * amountToBurn * (1 + Math.min(this.afterburner / 3D, 4)); + this.output = (int) (burnValue * amountToBurn * (1 + Math.min(this.afterburner / 3D, 4))); + this.power += this.output; + this.consumption = amountToBurn; if(worldObj.getTotalWorldTime() % 20 == 0) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * amountToBurn); } @@ -173,7 +182,7 @@ public class TileEntityMachineTurbofan extends TileEntityMachinePolluting implem power = Library.chargeItemsFromTE(slots, 3, power, power); for(DirPos pos : getConPos()) { - this.sendPower(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + this.tryProvide(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); this.trySubscribe(tank.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); if(this.blood.getFill() > 0) this.sendFluid(blood, worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); this.sendSmoke(pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); @@ -318,7 +327,7 @@ public class TileEntityMachineTurbofan extends TileEntityMachinePolluting implem } audio.keepAlive(); - audio.updateVolume(momentum); + audio.updateVolume(getVolume(momentum / 50F)); audio.updatePitch(momentum / 200F + 0.5F + this.afterburner * 0.16F); } else { @@ -382,6 +391,8 @@ public class TileEntityMachineTurbofan extends TileEntityMachinePolluting implem } public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + this.power = nbt.getLong("power"); this.afterburner = nbt.getByte("after"); this.wasOn = nbt.getBoolean("wasOn"); @@ -499,7 +510,7 @@ public class TileEntityMachineTurbofan extends TileEntityMachinePolluting implem @Override public void provideInfo(UpgradeType type, int level, List info, boolean extendedInfo) { - info.add(IUpgradeInfoProvider.getStandardLabel(ModBlocks.machine_assembler)); + info.add(IUpgradeInfoProvider.getStandardLabel(ModBlocks.machine_turbofan)); if(type == UpgradeType.AFTERBURN) { info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(this.KEY_EFFICIENCY, "+" + (int)(level * 100 * (1 + Math.min(level / 3D, 4D))) + "%")); info.add(EnumChatFormatting.RED + I18nUtil.resolveKey(this.KEY_CONSUMPTION, "+" + (level * 100) + "%")); @@ -511,4 +522,11 @@ public class TileEntityMachineTurbofan extends TileEntityMachinePolluting implem if(type == UpgradeType.AFTERBURN) return 3; return 0; } + + @Override + public void provideExtraInfo(NBTTagCompound data) { + data.setBoolean(CompatEnergyControl.B_ACTIVE, this.output > 0); + data.setDouble(CompatEnergyControl.D_CONSUMPTION_MB, this.consumption); + data.setDouble(CompatEnergyControl.D_OUTPUT_HE, this.output); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineWoodBurner.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineWoodBurner.java index 42510532f..72306abf9 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineWoodBurner.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineWoodBurner.java @@ -16,10 +16,12 @@ import com.hbm.lib.Library; import com.hbm.module.ModuleBurnTime; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.CompatEnergyControl; import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IEnergyGenerator; +import api.hbm.energymk2.IEnergyProviderMK2; import api.hbm.fluid.IFluidStandardReceiver; +import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.GuiScreen; @@ -31,7 +33,7 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineWoodBurner extends TileEntityMachineBase implements IFluidStandardReceiver, IControlReceiver, IEnergyGenerator, IGUIProvider { +public class TileEntityMachineWoodBurner extends TileEntityMachineBase implements IFluidStandardReceiver, IControlReceiver, IEnergyProviderMK2, IGUIProvider, IInfoProviderEC { public long power; public static final long maxPower = 100_000; @@ -39,6 +41,7 @@ public class TileEntityMachineWoodBurner extends TileEntityMachineBase implement public int maxBurnTime; public boolean liquidBurn = false; public boolean isOn = false; + protected int powerGen = 0; public FluidTank tank; @@ -63,12 +66,14 @@ public class TileEntityMachineWoodBurner extends TileEntityMachineBase implement if(!worldObj.isRemote) { + powerGen = 0; + this.tank.setType(2, slots); this.tank.loadTank(3, 4, slots); this.power = Library.chargeItemsFromTE(slots, 5, power, maxPower); for(DirPos pos : getConPos()) { - if(power > 0) this.sendPower(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + if(power > 0) this.tryProvide(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); if(worldObj.getTotalWorldTime() % 20 == 0) this.trySubscribe(tank.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } @@ -96,8 +101,7 @@ public class TileEntityMachineWoodBurner extends TileEntityMachineBase implement } else if(this.power < this.maxPower && isOn){ this.burnTime--; - this.power += 100; - if(power > maxPower) this.power = this.maxPower; + this.powerGen += 100; if(worldObj.getTotalWorldTime() % 20 == 0) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND); } @@ -111,7 +115,7 @@ public class TileEntityMachineWoodBurner extends TileEntityMachineBase implement int toBurn = Math.min(tank.getFill(), 2); if(toBurn > 0) { - this.power += trait.getHeatEnergy() * toBurn / 2_000L; + this.powerGen += trait.getHeatEnergy() * toBurn / 2_000L; this.tank.setFill(this.tank.getFill() - toBurn); if(worldObj.getTotalWorldTime() % 20 == 0) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * toBurn / 2F); } @@ -119,11 +123,13 @@ public class TileEntityMachineWoodBurner extends TileEntityMachineBase implement } } + this.power += this.powerGen; if(this.power > this.maxPower) this.power = this.maxPower; NBTTagCompound data = new NBTTagCompound(); data.setLong("power", power); data.setInteger("burnTime", burnTime); + data.setInteger("powerGen", powerGen); data.setInteger("maxBurnTime", maxBurnTime); data.setBoolean("isOn", isOn); data.setBoolean("liquidBurn", liquidBurn); @@ -131,7 +137,7 @@ public class TileEntityMachineWoodBurner extends TileEntityMachineBase implement this.networkPack(data, 25); } else { - if(this.isOn && ((!this.liquidBurn && this.burnTime > 0) || (this.liquidBurn && this.tank.getTankType().hasTrait(FT_Flammable.class) && tank.getFill() > 0))) { + if(powerGen > 0) { ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); worldObj.spawnParticle("smoke", xCoord + 0.5 - dir.offsetX + rot.offsetX, yCoord + 4, zCoord + 0.5 - dir.offsetZ + rot.offsetZ, 0, 0.05, 0); @@ -144,13 +150,16 @@ public class TileEntityMachineWoodBurner extends TileEntityMachineBase implement ForgeDirection rot = dir.getRotation(ForgeDirection.UP); return new DirPos[] { new DirPos(xCoord - dir.offsetX * 2, yCoord, zCoord - dir.offsetZ * 2, dir.getOpposite()), - new DirPos(xCoord - dir.offsetX * 2 + rot.offsetX, yCoord, zCoord - dir.offsetZ * 2 + rot.offsetX, dir.getOpposite()) + new DirPos(xCoord - dir.offsetX * 2 + rot.offsetX, yCoord, zCoord - dir.offsetZ * 2 + rot.offsetZ, dir.getOpposite()) }; } @Override public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + this.power = nbt.getLong("power"); + this.powerGen = nbt.getInteger("powerGen"); this.burnTime = nbt.getInteger("burnTime"); this.maxBurnTime = nbt.getInteger("maxBurnTime"); this.isOn = nbt.getBoolean("isOn"); @@ -185,7 +194,6 @@ public class TileEntityMachineWoodBurner extends TileEntityMachineBase implement if(level >= threshold) { if(slots[1] == null) { slots[1] = DictFrame.fromOne(ModItems.powder_ash, type); - ashLevelWood -= threshold; return true; } else if(slots[1].stackSize < slots[1].getMaxStackSize() && slots[1].getItem() == ModItems.powder_ash && slots[1].getItemDamage() == type.ordinal()) { slots[1].stackSize++; @@ -300,4 +308,11 @@ public class TileEntityMachineWoodBurner extends TileEntityMachineBase implement public double getMaxRenderDistanceSquared() { return 65536.0D; } + + @Override + public void provideExtraInfo(NBTTagCompound data) { + data.setBoolean(CompatEnergyControl.B_ACTIVE, isOn); + if(this.liquidBurn) data.setDouble(CompatEnergyControl.D_CONSUMPTION_MB, 1D); + data.setDouble(CompatEnergyControl.D_OUTPUT_HE, power); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMicrowave.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMicrowave.java index 5253e4aec..781adaa14 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMicrowave.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMicrowave.java @@ -6,7 +6,7 @@ import com.hbm.lib.Library; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -23,9 +23,10 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityMicrowave extends TileEntityMachineBase implements IEnergyUser, IGUIProvider, SimpleComponent { +public class TileEntityMicrowave extends TileEntityMachineBase implements IEnergyReceiverMK2, IGUIProvider, SimpleComponent { public long power; public static final long maxPower = 50000; @@ -48,8 +49,8 @@ public class TileEntityMicrowave extends TileEntityMachineBase implements IEnerg public void updateEntity() { if(!worldObj.isRemote) { - - this.updateStandardConnections(worldObj, xCoord, yCoord, zCoord); + + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); this.power = Library.chargeTEFromItems(slots, 2, power, maxPower); @@ -81,6 +82,8 @@ public class TileEntityMicrowave extends TileEntityMachineBase implements IEnerg } public void networkUnpack(NBTTagCompound data) { + super.networkUnpack(data); + power = data.getLong("power"); time = data.getInteger("time"); speed = data.getInteger("speed"); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityPWRController.java b/src/main/java/com/hbm/tileentity/machine/TileEntityPWRController.java index 09ca138b6..ffebeb03c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityPWRController.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityPWRController.java @@ -47,9 +47,10 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG public FluidTank[] tanks; public int coreHeat; - public static final int coreHeatCapacity = 10_000_000; + public static final int coreHeatCapacityBase = 10_000_000; + public int coreHeatCapacity = 10_000_000; public int hullHeat; - public static final int hullHeatCapacity = 10_000_000; + public static final int hullHeatCapacityBase = 10_000_000; public double flux; public int rodLevel = 100; @@ -64,6 +65,7 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG public int connections; public int connectionsControlled; public int heatexCount; + public int heatsinkCount; public int channelCount; public int sourceCount; @@ -91,6 +93,7 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG connectionsControlled = 0; heatexCount = 0; channelCount = 0; + heatsinkCount = 0; sourceCount = 0; ports.clear(); rods.clear(); @@ -104,6 +107,7 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG if(block == ModBlocks.pwr_fuel) rodCount++; if(block == ModBlocks.pwr_heatex) heatexCount++; if(block == ModBlocks.pwr_channel) channelCount++; + if(block == ModBlocks.pwr_heatsink) heatsinkCount++; if(block == ModBlocks.pwr_neutron_source) sourceCount++; if(block == ModBlocks.pwr_port) ports.add(entry.getKey()); } @@ -144,14 +148,8 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG connections = connectionsDouble / 2; connectionsControlled = connectionsControlledDouble / 2; - - /*System.out.println("Finalized nuclear reactor!"); - System.out.println("Rods: " + rodCount); - System.out.println("Connections: " + connections); - System.out.println("Controlled connections: " + connectionsControlled); - System.out.println("Heatex: " + heatexCount); - System.out.println("Channels: " + channelCount); - System.out.println("Sources: " + sourceCount);*/ + + this.coreHeatCapacity = this.coreHeatCapacityBase + this.heatsinkCount * this.coreHeatCapacityBase / 20; } @Override @@ -178,7 +176,7 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG !worldObj.getChunkProvider().chunkExists(chunkX + 2, chunkZ - 2) || !worldObj.getChunkProvider().chunkExists(chunkX - 2, chunkZ + 2) || !worldObj.getChunkProvider().chunkExists(chunkX - 2, chunkZ - 2)) { - this.unloadDelay = 40; + this.unloadDelay = 60; } if(this.assembled) { @@ -246,7 +244,7 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG if(amountLoaded > rodCount) amountLoaded = rodCount; /* CORE COOLING */ - double coreCoolingApproachNum = getXOverE((double) this.heatexCount * 5 / (double) this.rodCount, 2) / 2D; + double coreCoolingApproachNum = getXOverE((double) this.heatexCount * 5 / (double) getRodCountForCoolant(), 2) / 2D; int averageCoreHeat = (this.coreHeat + this.hullHeat) / 2; this.coreHeat -= (coreHeat - averageCoreHeat) * coreCoolingApproachNum; this.hullHeat -= (hullHeat - averageCoreHeat) * coreCoolingApproachNum; @@ -265,6 +263,9 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG if(this.coreHeat > this.coreHeatCapacity) { meltDown(); } + } else { + this.hullHeat = 0; + this.coreHeat = 0; } } @@ -281,6 +282,7 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG data.setInteger("amountLoaded", amountLoaded); data.setInteger("rodLevel", rodLevel); data.setInteger("rodTarget", rodTarget); + data.setInteger("coreHeatCapacity", coreHeatCapacity); this.networkPack(data, 150); } else { @@ -292,7 +294,8 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG } else if(!audio.isPlaying()) { audio = rebootAudio(audio); } - + + audio.updateVolume(getVolume(1F)); audio.keepAlive(); } else { @@ -360,7 +363,7 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG FT_Heatable trait = tanks[0].getTankType().getTrait(FT_Heatable.class); if(trait == null || trait.getEfficiency(HeatingType.PWR) <= 0) return; - double coolingEff = (double) this.channelCount / (double) this.rodCount * 0.1D; //10% cooling if numbers match + double coolingEff = (double) this.channelCount / (double) getRodCountForCoolant() * 0.1D; //10% cooling if numbers match if(coolingEff > 1D) coolingEff = 1D; int heatToUse = Math.min(this.hullHeat, (int) (this.hullHeat * coolingEff * trait.getEfficiency(HeatingType.PWR))); @@ -375,7 +378,13 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG this.tanks[1].setFill(tanks[1].getFill() + step.amountProduced * cycles); } + protected int getRodCountForCoolant() { + return this.rodCount + (int) Math.ceil(this.heatsinkCount / 4D); + } + public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + tanks[0].readFromNBT(nbt, "t0"); tanks[1].readFromNBT(nbt, "t1"); rodCount = nbt.getInteger("rodCount"); @@ -388,6 +397,7 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG amountLoaded = nbt.getInteger("amountLoaded"); rodLevel = nbt.getInteger("rodLevel"); rodTarget = nbt.getInteger("rodTarget"); + coreHeatCapacity = nbt.getInteger("coreHeatCapacity"); } protected void setupTanks() { @@ -450,6 +460,8 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG this.amountLoaded = nbt.getInteger("amountLoaded"); this.progress = nbt.getDouble("progress"); this.processTime = nbt.getDouble("processTime"); + this.coreHeatCapacity = nbt.getInteger("coreHeatCapacity"); + if(this.coreHeatCapacity < this.coreHeatCapacityBase) this.coreHeatCapacity = this.coreHeatCapacityBase; this.rodCount = nbt.getInteger("rodCount"); this.connections = nbt.getInteger("connections"); @@ -457,6 +469,7 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG this.heatexCount = nbt.getInteger("heatexCount"); this.channelCount = nbt.getInteger("channelCount"); this.sourceCount = nbt.getInteger("sourceCount"); + this.heatsinkCount = nbt.getInteger("heatsinkCount"); ports.clear(); int portCount = nbt.getInteger("portCount"); @@ -492,6 +505,7 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG nbt.setInteger("amountLoaded", amountLoaded); nbt.setDouble("progress", progress); nbt.setDouble("processTime", processTime); + nbt.setInteger("coreHeatCapacity", coreHeatCapacity); nbt.setInteger("rodCount", rodCount); nbt.setInteger("connections", connections); @@ -499,6 +513,7 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG nbt.setInteger("heatexCount", heatexCount); nbt.setInteger("channelCount", channelCount); nbt.setInteger("sourceCount", sourceCount); + nbt.setInteger("heatsinkCount", heatsinkCount); nbt.setInteger("portCount", ports.size()); for(int i = 0; i < ports.size(); i++) { @@ -528,6 +543,8 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG } + // do some opencomputer stuff + @Override public String getComponentName() { return "ntm_pwr_control"; } @@ -547,13 +564,25 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG @Callback(direct = true) @Optional.Method(modid = "OpenComputers") public Object[] getLevel(Context context, Arguments args) { - return new Object[] {rodTarget}; + return new Object[] {rodTarget, rodLevel}; + } + + @Callback(direct = true) + @Optional.Method(modid = "OpenComputers") + public Object[] getCoolantInfo(Context context, Arguments args) { + return new Object[] {tanks[0].getFill(), tanks[0].getMaxFill(), tanks[1].getFill(), tanks[1].getMaxFill()}; + } + + @Callback(direct = true) + @Optional.Method(modid = "OpenComputers") + public Object[] getFuelInfo(Context context, Arguments args) { + return new Object[] {amountLoaded, progress, processTime}; } @Callback(direct = true) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { - return new Object[] {coreHeat, hullHeat, flux, rodTarget}; + return new Object[] {coreHeat, hullHeat, flux, rodTarget, rodLevel, amountLoaded, progress, processTime, tanks[0].getFill(), tanks[0].getMaxFill(), tanks[1].getFill(), tanks[1].getMaxFill()}; } @Callback(direct = true, limit = 4) diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityRadiobox.java b/src/main/java/com/hbm/tileentity/machine/TileEntityRadiobox.java index 8a513a99b..7b4751c96 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityRadiobox.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityRadiobox.java @@ -9,7 +9,7 @@ import com.hbm.lib.ModDamageSource; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityLoadedBase; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.GuiScreen; @@ -22,7 +22,7 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityRadiobox extends TileEntityLoadedBase implements IEnergyUser, IGUIProvider { +public class TileEntityRadiobox extends TileEntityLoadedBase implements IEnergyReceiverMK2, IGUIProvider { long power; public static long maxPower = 500000; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorControl.java b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorControl.java index 63ea4818e..7169ce7f4 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorControl.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorControl.java @@ -151,6 +151,8 @@ public class TileEntityReactorControl extends TileEntityMachineBase implements I } public void networkUnpack(NBTTagCompound data) { + super.networkUnpack(data); + this.heat = data.getInteger("heat"); this.level = data.getDouble("level"); this.flux = data.getInteger("flux"); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java index 0bc646eee..fb5b31782 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java @@ -14,7 +14,9 @@ import com.hbm.items.ModItems; import com.hbm.items.machine.ItemPlateFuel; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.CompatEnergyControl; +import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -39,7 +41,7 @@ import net.minecraftforge.common.util.ForgeDirection; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) //TODO: fix reactor control; -public class TileEntityReactorResearch extends TileEntityMachineBase implements IControlReceiver, SimpleComponent, IGUIProvider { +public class TileEntityReactorResearch extends TileEntityMachineBase implements IControlReceiver, SimpleComponent, IGUIProvider, IInfoProviderEC { @SideOnly(Side.CLIENT) public double lastLevel; @@ -161,6 +163,8 @@ public class TileEntityReactorResearch extends TileEntityMachineBase implements } public void networkUnpack(NBTTagCompound data) { + super.networkUnpack(data); + this.heat = data.getInteger("heat"); this.water = data.getByte("water"); this.level = data.getDouble("level"); @@ -430,7 +434,7 @@ public class TileEntityReactorResearch extends TileEntityMachineBase implements @Optional.Method(modid = "OpenComputers") public Object[] setLevel(Context context, Arguments args) { double newLevel = args.checkDouble(0)/100.0; - targetLevel = MathHelper.clamp_double(newLevel, 0, 100.0); + targetLevel = MathHelper.clamp_double(newLevel, 0, 1.0); return new Object[] {}; } @@ -444,4 +448,11 @@ public class TileEntityReactorResearch extends TileEntityMachineBase implements public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIReactorResearch(player.inventory, this); } + + @Override + public void provideExtraInfo(NBTTagCompound data) { + data.setDouble(CompatEnergyControl.D_HEAT_C, Math.round(heat * 2.0E-5D * 980.0D + 20.0D)); + data.setInteger(CompatEnergyControl.I_FLUX, totalFlux); + data.setInteger(CompatEnergyControl.I_WATER, water); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java index 43536fedb..91286049a 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java @@ -28,10 +28,12 @@ import com.hbm.lib.Library; import com.hbm.main.MainRegistry; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.CompatEnergyControl; import com.hbm.util.EnumUtil; import com.hbm.util.fauxpointtwelve.DirPos; import api.hbm.fluid.IFluidStandardTransceiver; +import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -50,7 +52,7 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityReactorZirnox extends TileEntityMachineBase implements IFluidContainer, IFluidAcceptor, IFluidSource, IControlReceiver, IFluidStandardTransceiver, SimpleComponent, IGUIProvider { +public class TileEntityReactorZirnox extends TileEntityMachineBase implements IFluidContainer, IFluidAcceptor, IFluidSource, IControlReceiver, IFluidStandardTransceiver, SimpleComponent, IGUIProvider, IInfoProviderEC { public int heat; public static final int maxHeat = 100000; @@ -64,6 +66,7 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF public FluidTank steam; public FluidTank carbonDioxide; public FluidTank water; + protected int output; private static final int[] slots_io = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 }; @@ -133,6 +136,8 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF } public void networkUnpack(NBTTagCompound data) { + super.networkUnpack(data); + this.heat = data.getInteger("heat"); this.pressure = data.getInteger("pressure"); this.isOn = data.getBoolean("isOn"); @@ -186,6 +191,7 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF if(!worldObj.isRemote) { + this.output = 0; age++; if (age >= 20) { @@ -252,11 +258,11 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF // function of SHS produced per tick // (heat - 10256)/100000 * steamFill (max efficiency at 14b) * 25 * 5 (should get rid of any rounding errors) if(this.heat > 10256) { - int Water = (int)((((float)heat - 10256F) / (float)maxHeat) * Math.min(((float)carbonDioxide.getFill() / 14000F), 1F) * 25F * 5F); - int Steam = Water * 1; + int cycle = (int)((((float)heat - 10256F) / (float)maxHeat) * Math.min(((float)carbonDioxide.getFill() / 14000F), 1F) * 25F * 5F); + this.output = cycle; - water.setFill(water.getFill() - Water); - steam.setFill(steam.getFill() + Steam); + water.setFill(water.getFill() - cycle); + steam.setFill(steam.getFill() + cycle); if(water.getFill() < 0) water.setFill(0); @@ -604,4 +610,13 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIReactorZirnox(player.inventory, this); } + + @Override + public void provideExtraInfo(NBTTagCompound data) { + data.setDouble(CompatEnergyControl.D_HEAT_C, Math.round(heat * 1.0E-5D * 780.0D + 20.0D)); + data.setDouble(CompatEnergyControl.D_MAXHEAT_C, Math.round(maxHeat * 1.0E-5D * 780.0D + 20.0D)); + data.setLong(CompatEnergyControl.L_PRESSURE_BAR, Math.round(pressure * 1.0E-5D * 30.0D)); + data.setDouble(CompatEnergyControl.D_CONSUMPTION_MB, output); + data.setDouble(CompatEnergyControl.D_OUTPUT_MB, output); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntitySILEX.java b/src/main/java/com/hbm/tileentity/machine/TileEntitySILEX.java index 454714695..ffaf2871f 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntitySILEX.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntitySILEX.java @@ -15,10 +15,12 @@ import com.hbm.items.ModItems; import com.hbm.items.machine.ItemFELCrystal.EnumWavelengths; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.CompatEnergyControl; import com.hbm.util.InventoryUtil; import com.hbm.util.WeightedRandomObject; import api.hbm.fluid.IFluidStandardReceiver; +import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.GuiScreen; @@ -32,7 +34,7 @@ import net.minecraft.util.WeightedRandom; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntitySILEX extends TileEntityMachineBase implements IFluidAcceptor, IFluidStandardReceiver, IGUIProvider { +public class TileEntitySILEX extends TileEntityMachineBase implements IFluidAcceptor, IFluidStandardReceiver, IGUIProvider, IInfoProviderEC { public EnumWavelengths mode = EnumWavelengths.NULL; public boolean hasLaser; @@ -101,6 +103,7 @@ public class TileEntitySILEX extends TileEntityMachineBase implements IFluidAcce } public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); this.currentFill = nbt.getInteger("fill"); this.progress = nbt.getInteger("progress"); @@ -372,4 +375,13 @@ public class TileEntitySILEX extends TileEntityMachineBase implements IFluidAcce public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUISILEX(player.inventory, this); } + + @Override + public void provideExtraInfo(NBTTagCompound data) { + data.setBoolean(CompatEnergyControl.B_ACTIVE, this.progress > 0); + if(current == null) + data.setString("tank2", "N/A"); + else + data.setString("tank2", String.format("%s: %s mB", current.toStack().getDisplayName(), currentFill)); + } } \ No newline at end of file diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntitySolarBoiler.java b/src/main/java/com/hbm/tileentity/machine/TileEntitySolarBoiler.java index ab91d87c3..0a41526db 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntitySolarBoiler.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntitySolarBoiler.java @@ -30,18 +30,14 @@ public class TileEntitySolarBoiler extends TileEntityLoadedBase implements IFlui public HashSet secondary = new HashSet(); public TileEntitySolarBoiler() { - water = new FluidTank(Fluids.WATER, 16000, 0); - steam = new FluidTank(Fluids.STEAM, 1600000, 1); + water = new FluidTank(Fluids.WATER, 100, 0); + steam = new FluidTank(Fluids.STEAM, 10_000, 1); } @Override public void updateEntity() { if(!worldObj.isRemote) { - - //if(worldObj.getTotalWorldTime() % 5 == 0) { - fillFluidInit(Fluids.STEAM); - //} this.trySubscribe(water.getTankType(), worldObj, xCoord, yCoord + 3, zCoord, Library.POS_Y); this.trySubscribe(water.getTankType(), worldObj, xCoord, yCoord - 1, zCoord, Library.NEG_Y); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntitySoyuzLauncher.java b/src/main/java/com/hbm/tileentity/machine/TileEntitySoyuzLauncher.java index 6f85b34fd..d13fea7ff 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntitySoyuzLauncher.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntitySoyuzLauncher.java @@ -20,7 +20,7 @@ import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardReceiver; import api.hbm.item.IDesignatorItem; import cpw.mods.fml.relauncher.Side; @@ -38,7 +38,7 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntitySoyuzLauncher extends TileEntityMachineBase implements ISidedInventory, IEnergyUser, IFluidContainer, IFluidAcceptor, IFluidStandardReceiver, IGUIProvider { +public class TileEntitySoyuzLauncher extends TileEntityMachineBase implements ISidedInventory, IEnergyReceiverMK2, IFluidContainer, IFluidAcceptor, IFluidStandardReceiver, IGUIProvider { public long power; public static final long maxPower = 1000000; @@ -193,6 +193,8 @@ public class TileEntitySoyuzLauncher extends TileEntityMachineBase implements IS } public void networkUnpack(NBTTagCompound data) { + super.networkUnpack(data); + power = data.getLong("power"); mode = data.getByte("mode"); starting = data.getBoolean("starting"); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntitySteamEngine.java b/src/main/java/com/hbm/tileentity/machine/TileEntitySteamEngine.java index 2d70dc4c6..a09c5747e 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntitySteamEngine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntitySteamEngine.java @@ -1,26 +1,20 @@ package com.hbm.tileentity.machine; import java.io.IOException; -import java.util.ArrayList; -import java.util.List; import com.google.gson.JsonObject; import com.google.gson.stream.JsonWriter; import com.hbm.blocks.BlockDummyable; -import com.hbm.interfaces.IFluidAcceptor; -import com.hbm.interfaces.IFluidSource; -import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.trait.FT_Coolable; import com.hbm.inventory.fluid.trait.FT_Coolable.CoolingType; -import com.hbm.lib.Library; import com.hbm.tileentity.IConfigurableMachine; import com.hbm.tileentity.INBTPacketReceiver; import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IEnergyGenerator; +import api.hbm.energymk2.IEnergyProviderMK2; import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -30,14 +24,13 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MathHelper; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntitySteamEngine extends TileEntityLoadedBase implements IFluidAcceptor, IFluidSource, IEnergyGenerator, IFluidStandardTransceiver, INBTPacketReceiver, IConfigurableMachine { +public class TileEntitySteamEngine extends TileEntityLoadedBase implements IEnergyProviderMK2, IFluidStandardTransceiver, INBTPacketReceiver, IConfigurableMachine { public long powerBuffer; public float rotor; public float lastRotor; private float syncRotor; - public List list2 = new ArrayList(); public FluidTank[] tanks; private int turnProgress; @@ -51,8 +44,8 @@ public class TileEntitySteamEngine extends TileEntityLoadedBase implements IFlui public TileEntitySteamEngine() { tanks = new FluidTank[2]; - tanks[0] = new FluidTank(Fluids.STEAM, steamCap, 0); - tanks[1] = new FluidTank(Fluids.SPENTSTEAM, ldsCap, 1); + tanks[0] = new FluidTank(Fluids.STEAM, steamCap); + tanks[1] = new FluidTank(Fluids.SPENTSTEAM, ldsCap); } @Override @@ -109,7 +102,7 @@ public class TileEntitySteamEngine extends TileEntityLoadedBase implements IFlui if(this.rotor >= 360D) { this.rotor -= 360D; - this.worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:block.steamEngineOperate", 1.0F, 0.5F + (acceleration / 80F)); + this.worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:block.steamEngineOperate", getVolume(1.0F), 0.5F + (acceleration / 80F)); } data.setLong("power", this.powerBuffer); @@ -117,12 +110,10 @@ public class TileEntitySteamEngine extends TileEntityLoadedBase implements IFlui tanks[1].writeToNBT(data, "w"); for(DirPos pos : getConPos()) { - if(this.powerBuffer > 0) - this.sendPower(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + if(this.powerBuffer > 0) this.tryProvide(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); this.trySubscribe(tanks[0].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); this.sendFluid(tanks[1], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } - if(tanks[1].getFill() > 0) fillFluidInit(tanks[1].getTankType()); INBTPacketReceiver.networkPack(this, data, 150); } else { @@ -168,69 +159,6 @@ public class TileEntitySteamEngine extends TileEntityLoadedBase implements IFlui tanks[0].writeToNBT(nbt, "s"); tanks[1].writeToNBT(nbt, "w"); } - - @Override - public void fillFluidInit(FluidType type) { - for(DirPos pos : getConPos()) fillFluid(pos.getX(), pos.getY(), pos.getZ(), getTact(), type); - } - - @Override - public void fillFluid(int x, int y, int z, boolean newTact, FluidType type) { - Library.transmitFluid(x, y, z, newTact, this, worldObj, type); - } - - @Override - public boolean getTact() { - return worldObj.getTotalWorldTime() % 2 == 0; - } - - @Override - public void setFluidFill(int i, FluidType type) { - if(type == tanks[0].getTankType()) - tanks[0].setFill(i); - else if(type == tanks[1].getTankType()) - tanks[1].setFill(i); - } - - @Override - public int getFluidFill(FluidType type) { - if(type == tanks[0].getTankType()) - return tanks[0].getFill(); - else if(type == tanks[1].getTankType()) - return tanks[1].getFill(); - - return 0; - } - - @Override - public int getMaxFluidFill(FluidType type) { - if(type == tanks[0].getTankType()) - return tanks[0].getMaxFill(); - - return 0; - } - - @Override - public void setFillForSync(int fill, int index) { - if(index < 2 && tanks[index] != null) - tanks[index].setFill(fill); - } - - @Override - public void setTypeForSync(FluidType type, int index) { - if(index < 2 && tanks[index] != null) - tanks[index].setTankType(type); - } - - @Override - public List getFluidList(FluidType type) { - return list2; - } - - @Override - public void clearFluidList(FluidType type) { - list2.clear(); - } @Override public AxisAlignedBB getRenderBoundingBox() { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityStirling.java b/src/main/java/com/hbm/tileentity/machine/TileEntityStirling.java index fc2560845..d59a5e933 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityStirling.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityStirling.java @@ -13,7 +13,7 @@ import com.hbm.tileentity.INBTPacketReceiver; import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IEnergyGenerator; +import api.hbm.energymk2.IEnergyProviderMK2; import api.hbm.tile.IHeatSource; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -22,7 +22,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityStirling extends TileEntityLoadedBase implements INBTPacketReceiver, IEnergyGenerator, IConfigurableMachine { +public class TileEntityStirling extends TileEntityLoadedBase implements INBTPacketReceiver, IEnergyProviderMK2, IConfigurableMachine { public long powerBuffer; public int heat; @@ -46,6 +46,7 @@ public class TileEntityStirling extends TileEntityLoadedBase implements INBTPack if(!worldObj.isRemote) { if(hasCog) { + this.powerBuffer = 0; tryPullHeat(); this.powerBuffer = (long) (this.heat * (this.isCreative() ? 1 : this.efficiency)); @@ -95,9 +96,8 @@ public class TileEntityStirling extends TileEntityLoadedBase implements INBTPack if(hasCog) { for(DirPos pos : getConPos()) { - this.sendPower(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + this.tryProvide(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } - this.powerBuffer = 0; } else { if(this.powerBuffer > 0) diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityStructureMarker.java b/src/main/java/com/hbm/tileentity/machine/TileEntityStructureMarker.java deleted file mode 100644 index e6551423b..000000000 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityStructureMarker.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.hbm.tileentity.machine; - -import com.hbm.packet.PacketDispatcher; -import com.hbm.packet.TEStructurePacket; - -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; - -public class TileEntityStructureMarker extends TileEntity { - - //0: Nuclear Reactor - //1: Watz Power Plant - //2: Fusionary Watz Plant - public int type = 0; - - @Override - public void updateEntity() { - - if(this.type > 2) - type -= 3; - - if(!worldObj.isRemote) - PacketDispatcher.wrapper.sendToAllAround(new TEStructurePacket(xCoord, yCoord, zCoord, type), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 250)); - } - - @Override - public void readFromNBT(NBTTagCompound nbt) { - super.readFromNBT(nbt); - type = nbt.getInteger("type"); - } - - @Override - public void writeToNBT(NBTTagCompound nbt) { - super.writeToNBT(nbt); - nbt.setInteger("type", type); - } - -} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityTesla.java b/src/main/java/com/hbm/tileentity/machine/TileEntityTesla.java index f3c930d3e..ecdb619a0 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityTesla.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityTesla.java @@ -12,7 +12,7 @@ import com.hbm.lib.ModDamageSource; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.ArmorUtil; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.Entity; @@ -28,7 +28,7 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityTesla extends TileEntityMachineBase implements IEnergyUser { +public class TileEntityTesla extends TileEntityMachineBase implements IEnergyReceiverMK2 { public long power; public static final long maxPower = 100000; @@ -147,6 +147,7 @@ public class TileEntityTesla extends TileEntityMachineBase implements IEnergyUse } public void networkUnpack(NBTTagCompound data) { + super.networkUnpack(data); int s = data.getShort("length"); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityTowerLarge.java b/src/main/java/com/hbm/tileentity/machine/TileEntityTowerLarge.java index 03b16cf88..741988067 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityTowerLarge.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityTowerLarge.java @@ -1,5 +1,6 @@ package com.hbm.tileentity.machine; +import com.hbm.config.GeneralConfig; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; @@ -16,8 +17,8 @@ public class TileEntityTowerLarge extends TileEntityCondenser { public TileEntityTowerLarge() { tanks = new FluidTank[2]; - tanks[0] = new FluidTank(Fluids.SPENTSTEAM, 10000, 0); - tanks[1] = new FluidTank(Fluids.WATER, 10000, 1); + tanks[0] = new FluidTank(Fluids.SPENTSTEAM, 10000); + tanks[1] = new FluidTank(Fluids.WATER, 10000); } @Override @@ -26,7 +27,7 @@ public class TileEntityTowerLarge extends TileEntityCondenser { if(worldObj.isRemote) { - if(this.waterTimer > 0 && this.worldObj.getTotalWorldTime() % 4 == 0) { + if(GeneralConfig.enableSteamParticles && (this.waterTimer > 0 && this.worldObj.getTotalWorldTime() % 4 == 0)) { NBTTagCompound data = new NBTTagCompound(); data.setString("type", "tower"); data.setFloat("lift", 0.5F); @@ -43,18 +44,6 @@ public class TileEntityTowerLarge extends TileEntityCondenser { } } - @Override - public void fillFluidInit(FluidType type) { - - for(int i = 2; i < 6; i++) { - ForgeDirection dir = ForgeDirection.getOrientation(i); - ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - fillFluid(xCoord + dir.offsetX * 5, yCoord, zCoord + dir.offsetZ * 5, getTact(), type); - fillFluid(xCoord + dir.offsetX * 5 + rot.offsetX * 3, yCoord, zCoord + dir.offsetZ * 5 + rot.offsetZ * 3, getTact(), type); - fillFluid(xCoord + dir.offsetX * 5 + rot.offsetX * -3, yCoord, zCoord + dir.offsetZ * 5 + rot.offsetZ * -3, getTact(), type); - } - } - @Override public void subscribeToAllAround(FluidType type, TileEntity te) { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityTowerSmall.java b/src/main/java/com/hbm/tileentity/machine/TileEntityTowerSmall.java index 7dbb010bb..d11366f33 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityTowerSmall.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityTowerSmall.java @@ -1,5 +1,6 @@ package com.hbm.tileentity.machine; +import com.hbm.config.GeneralConfig; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; @@ -11,14 +12,13 @@ import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; -import net.minecraftforge.common.util.ForgeDirection; public class TileEntityTowerSmall extends TileEntityCondenser { public TileEntityTowerSmall() { tanks = new FluidTank[2]; - tanks[0] = new FluidTank(Fluids.SPENTSTEAM, 1000, 0); - tanks[1] = new FluidTank(Fluids.WATER, 1000, 1); + tanks[0] = new FluidTank(Fluids.SPENTSTEAM, 1000); + tanks[1] = new FluidTank(Fluids.WATER, 1000); } @Override @@ -27,7 +27,7 @@ public class TileEntityTowerSmall extends TileEntityCondenser { if(worldObj.isRemote) { - if(this.waterTimer > 0 && this.worldObj.getTotalWorldTime() % 2 == 0) { + if(GeneralConfig.enableSteamParticles && (this.waterTimer > 0 && this.worldObj.getTotalWorldTime() % 2 == 0)) { NBTTagCompound data = new NBTTagCompound(); data.setString("type", "tower"); data.setFloat("lift", 1F); @@ -59,15 +59,6 @@ public class TileEntityTowerSmall extends TileEntityCondenser { this.sendFluid(this.tanks[1], worldObj, xCoord, yCoord, zCoord + 3, Library.POS_Z); this.sendFluid(this.tanks[1], worldObj, xCoord, yCoord, zCoord - 3, Library.NEG_Z); } - - @Override - public void fillFluidInit(FluidType type) { - - for(int i = 2; i <= 6; i++) { - ForgeDirection dir = ForgeDirection.getOrientation(i); - fillFluid(xCoord + dir.offsetX * 3, yCoord, zCoord + dir.offsetZ * 3, getTact(), type); - } - } AxisAlignedBB bb = null; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityUVLamp.java b/src/main/java/com/hbm/tileentity/machine/TileEntityUVLamp.java deleted file mode 100644 index da9fe44ea..000000000 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityUVLamp.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.hbm.tileentity.machine; - -import net.minecraft.tileentity.TileEntity; - -public class TileEntityUVLamp extends TileEntity { - -} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityWatz.java b/src/main/java/com/hbm/tileentity/machine/TileEntityWatz.java index a1f6d8b65..9168d4387 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityWatz.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityWatz.java @@ -169,7 +169,7 @@ public class TileEntityWatz extends TileEntityMachineBase implements IFluidStand public void updateCoolant(FluidTank[] tanks) { - double coolingFactor = 0.1D; //10% per tick, TEMP + double coolingFactor = 0.2D; //20% per tick double heatToUse = this.heat * coolingFactor; FT_Heatable trait = tanks[0].getTankType().getTrait(FT_Heatable.class); @@ -293,6 +293,8 @@ public class TileEntityWatz extends TileEntityMachineBase implements IFluidStand @Override public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + this.heat = nbt.getInteger("heat"); this.isOn = nbt.getBoolean("isOn"); this.isLocked = nbt.getBoolean("lock"); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityWatzCore.java b/src/main/java/com/hbm/tileentity/machine/TileEntityWatzCore.java deleted file mode 100644 index ad410410b..000000000 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityWatzCore.java +++ /dev/null @@ -1,787 +0,0 @@ -package com.hbm.tileentity.machine; - -import java.util.ArrayList; -import java.util.List; -import java.util.Random; - -import com.hbm.blocks.ModBlocks; -import com.hbm.config.BombConfig; -import com.hbm.entity.effect.EntityCloudFleija; -import com.hbm.entity.logic.EntityNukeExplosionMK3; -import com.hbm.interfaces.IFluidAcceptor; -import com.hbm.interfaces.IFluidContainer; -import com.hbm.interfaces.IFluidSource; -import com.hbm.interfaces.IReactor; -import com.hbm.inventory.container.ContainerWatzCore; -import com.hbm.inventory.fluid.FluidType; -import com.hbm.inventory.fluid.Fluids; -import com.hbm.inventory.fluid.tank.FluidTank; -import com.hbm.inventory.gui.GUIWatzCore; -import com.hbm.items.ModItems; -import com.hbm.items.special.WatzFuel; -import com.hbm.items.tool.ItemTitaniumFilter; -import com.hbm.lib.Library; -import com.hbm.main.MainRegistry; -import com.hbm.packet.AuxElectricityPacket; -import com.hbm.packet.PacketDispatcher; -import com.hbm.tileentity.IGUIProvider; -import com.hbm.tileentity.TileEntityLoadedBase; - -import api.hbm.energy.IEnergyGenerator; -import api.hbm.fluid.IFluidStandardSender; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.ISidedInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -@Deprecated -public class TileEntityWatzCore extends TileEntityLoadedBase implements ISidedInventory, IReactor, IEnergyGenerator, IFluidContainer, IFluidSource, IFluidStandardSender, IGUIProvider { - - public long power; - public final static long maxPower = 100000000; - public int heat; - - public int heatMultiplier; - public int powerMultiplier; - public int decayMultiplier; - - public int heatList; - public int wasteList; - public int powerList; - - Random rand = new Random(); - - private ItemStack slots[]; - public int age = 0; - public List list1 = new ArrayList(); - public FluidTank tank; - - private String customName; - - public TileEntityWatzCore() { - slots = new ItemStack[40]; - tank = new FluidTank(Fluids.WATZ, 64000, 0); - } - @Override - public int getSizeInventory() { - return slots.length; - } - - @Override - public ItemStack getStackInSlot(int i) { - return slots[i]; - } - - @Override - public ItemStack getStackInSlotOnClosing(int i) { - if(slots[i] != null) - { - ItemStack itemStack = slots[i]; - slots[i] = null; - return itemStack; - } else { - return null; - } - } - - @Override - public void setInventorySlotContents(int i, ItemStack itemStack) { - slots[i] = itemStack; - if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) - { - itemStack.stackSize = getInventoryStackLimit(); - } - } - - @Override - public String getInventoryName() { - return this.hasCustomInventoryName() ? this.customName : "container.watzPowerplant"; - } - - @Override - public boolean hasCustomInventoryName() { - return this.customName != null && this.customName.length() > 0; - } - - public void setCustomName(String name) { - this.customName = name; - } - - @Override - public int getInventoryStackLimit() { - return 64; - } - - @Override - public boolean isUseableByPlayer(EntityPlayer player) { - if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) - { - return false; - }else{ - return true; - } - } - - @Override - public void openInventory() {} - - @Override - public void closeInventory() {} - - @Override - public boolean isItemValidForSlot(int i, ItemStack itemStack) { - return true; - } - - @Override - public ItemStack decrStackSize(int i, int j) { - if(slots[i] != null) - { - if(slots[i].stackSize <= j) - { - ItemStack itemStack = slots[i]; - slots[i] = null; - return itemStack; - } - ItemStack itemStack1 = slots[i].splitStack(j); - if (slots[i].stackSize == 0) - { - slots[i] = null; - } - - return itemStack1; - } else { - return null; - } - } - - @Override - public int[] getAccessibleSlotsFromSide(int p_94128_1_) { - return null; - } - - @Override - public boolean canInsertItem(int p_102007_1_, ItemStack p_102007_2_, int p_102007_3_) { - return false; - } - - @Override - public boolean canExtractItem(int p_102008_1_, ItemStack p_102008_2_, int p_102008_3_) { - return false; - } - - @Override - public void readFromNBT(NBTTagCompound nbt) { - super.readFromNBT(nbt); - NBTTagList list = nbt.getTagList("items", 10); - - power = nbt.getLong("power"); - tank.readFromNBT(nbt, "watz"); - - slots = new ItemStack[getSizeInventory()]; - - for(int i = 0; i < list.tagCount(); i++) - { - NBTTagCompound nbt1 = list.getCompoundTagAt(i); - byte b0 = nbt1.getByte("slot"); - if(b0 >= 0 && b0 < slots.length) - { - slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); - } - } - } - - @Override - public void writeToNBT(NBTTagCompound nbt) { - super.writeToNBT(nbt); - - nbt.setLong("power", power); - tank.writeToNBT(nbt, "watz"); - - NBTTagList list = new NBTTagList(); - - for(int i = 0; i < slots.length; i++) - { - if(slots[i] != null) - { - NBTTagCompound nbt1 = new NBTTagCompound(); - nbt1.setByte("slot", (byte)i); - slots[i].writeToNBT(nbt1); - list.appendTag(nbt1); - } - } - nbt.setTag("items", list); - } - - @Override - public boolean isStructureValid(World world) { - for(int i = -5; i <= 5; i++) - { - if(world.getBlock(this.xCoord + 3, this.yCoord + i, this.zCoord - 1) != ModBlocks.reinforced_brick) - return false; - } - for(int i = -5; i <= 5; i++) - { - if(world.getBlock(this.xCoord + 3, this.yCoord + i, this.zCoord + 1) != ModBlocks.reinforced_brick) - return false; - } - - - - for(int i = -5; i <= 5; i++) - { - if(world.getBlock(this.xCoord + 2, this.yCoord + i, this.zCoord - 2) != ModBlocks.reinforced_brick) - return false; - } - for(int i = -5; i <= 5; i++) - { - if(world.getBlock(this.xCoord + 2, this.yCoord + i, this.zCoord - 1) != ModBlocks.watz_element) - return false; - } - for(int i = -5; i <= 5; i++) - { - if(world.getBlock(this.xCoord + 2, this.yCoord + i, this.zCoord) != ModBlocks.watz_control) - return false; - } - for(int i = -5; i <= 5; i++) - { - if(world.getBlock(this.xCoord + 2, this.yCoord + i, this.zCoord + 1) != ModBlocks.watz_element) - return false; - } - for(int i = -5; i <= 5; i++) - { - if(world.getBlock(this.xCoord + 2, this.yCoord + i, this.zCoord + 2) != ModBlocks.reinforced_brick) - return false; - } - - - - for(int i = -5; i <= 5; i++) - { - if(world.getBlock(this.xCoord + 1, this.yCoord + i, this.zCoord - 3) != ModBlocks.reinforced_brick) - return false; - } - for(int i = -5; i <= 5; i++) - { - if(world.getBlock(this.xCoord + 1, this.yCoord + i, this.zCoord - 2) != ModBlocks.watz_element) - return false; - } - for(int i = -5; i <= 5; i++) - { - if(world.getBlock(this.xCoord + 1, this.yCoord + i, this.zCoord - 1) != ModBlocks.watz_control) - return false; - } - for(int i = -5; i <= 5; i++) - { - if(world.getBlock(this.xCoord + 1, this.yCoord + i, this.zCoord) != ModBlocks.watz_cooler) - return false; - } - for(int i = -5; i <= 5; i++) - { - if(world.getBlock(this.xCoord + 1, this.yCoord + i, this.zCoord + 1) != ModBlocks.watz_control) - return false; - } - for(int i = -5; i <= 5; i++) - { - if(world.getBlock(this.xCoord + 1, this.yCoord + i, this.zCoord + 2) != ModBlocks.watz_element) - return false; - } - for(int i = -5; i <= 5; i++) - { - if(world.getBlock(this.xCoord + 1, this.yCoord + i, this.zCoord + 3) != ModBlocks.reinforced_brick) - return false; - } - - - - for(int i = -5; i <= 5; i++) - { - if(world.getBlock(this.xCoord + 0, this.yCoord + i, this.zCoord - 2) != ModBlocks.watz_control) - return false; - } - for(int i = -5; i <= 5; i++) - { - if(world.getBlock(this.xCoord + 0, this.yCoord + i, this.zCoord - 1) != ModBlocks.watz_cooler) - return false; - } - for(int i = -5; i <= 5; i++) - { - if(world.getBlock(this.xCoord + 0, this.yCoord + i, this.zCoord + 1) != ModBlocks.watz_cooler) - return false; - } - for(int i = -5; i <= 5; i++) - { - if(world.getBlock(this.xCoord + 0, this.yCoord + i, this.zCoord + 2) != ModBlocks.watz_control) - return false; - } - - - - for(int i = -5; i <= 5; i++) - { - if(world.getBlock(this.xCoord - 1, this.yCoord + i, this.zCoord - 3) != ModBlocks.reinforced_brick) - return false; - } - for(int i = -5; i <= 5; i++) - { - if(world.getBlock(this.xCoord - 1, this.yCoord + i, this.zCoord - 2) != ModBlocks.watz_element) - return false; - } - for(int i = -5; i <= 5; i++) - { - if(world.getBlock(this.xCoord - 1, this.yCoord + i, this.zCoord - 1) != ModBlocks.watz_control) - return false; - } - for(int i = -5; i <= 5; i++) - { - if(world.getBlock(this.xCoord - 1, this.yCoord + i, this.zCoord) != ModBlocks.watz_cooler) - return false; - } - for(int i = -5; i <= 5; i++) - { - if(world.getBlock(this.xCoord - 1, this.yCoord + i, this.zCoord + 1) != ModBlocks.watz_control) - return false; - } - for(int i = -5; i <= 5; i++) - { - if(world.getBlock(this.xCoord - 1, this.yCoord + i, this.zCoord + 2) != ModBlocks.watz_element) - return false; - } - for(int i = -5; i <= 5; i++) - { - if(world.getBlock(this.xCoord - 1, this.yCoord + i, this.zCoord + 3) != ModBlocks.reinforced_brick) - return false; - } - - - - for(int i = -5; i <= 5; i++) - { - if(world.getBlock(this.xCoord - 2, this.yCoord + i, this.zCoord - 2) != ModBlocks.reinforced_brick) - return false; - } - for(int i = -5; i <= 5; i++) - { - if(world.getBlock(this.xCoord - 2, this.yCoord + i, this.zCoord - 1) != ModBlocks.watz_element) - return false; - } - for(int i = -5; i <= 5; i++) - { - if(world.getBlock(this.xCoord - 2, this.yCoord + i, this.zCoord) != ModBlocks.watz_control) - return false; - } - for(int i = -5; i <= 5; i++) - { - if(world.getBlock(this.xCoord - 2, this.yCoord + i, this.zCoord + 1) != ModBlocks.watz_element) - return false; - } - for(int i = -5; i <= 5; i++) - { - if(world.getBlock(this.xCoord - 2, this.yCoord + i, this.zCoord + 2) != ModBlocks.reinforced_brick) - return false; - } - - - - for(int i = -5; i <= 5; i++) - { - if(world.getBlock(this.xCoord - 3, this.yCoord + i, this.zCoord - 1) != ModBlocks.reinforced_brick) - return false; - } - for(int i = -5; i <= 5; i++) - { - if(world.getBlock(this.xCoord - 3, this.yCoord + i, this.zCoord + 1) != ModBlocks.reinforced_brick) - return false; - } - - - - for(int i = -5; i <= -1; i++) - { - if(world.getBlock(this.xCoord, this.yCoord + i, this.zCoord) != ModBlocks.watz_conductor) - return false; - } - for(int i = 1; i <= 5; i++) - { - if(world.getBlock(this.xCoord, this.yCoord + i, this.zCoord) != ModBlocks.watz_conductor) - return false; - } - - for(int i = -5; i <= -1; i++) - { - if(world.getBlock(this.xCoord + 3, this.yCoord + i, this.zCoord) != ModBlocks.reinforced_brick) - return false; - } - for(int i = 1; i <= 5; i++) - { - if(world.getBlock(this.xCoord + 3, this.yCoord + i, this.zCoord) != ModBlocks.reinforced_brick) - return false; - } - - for(int i = -5; i <= -1; i++) - { - if(world.getBlock(this.xCoord - 3, this.yCoord + i, this.zCoord) != ModBlocks.reinforced_brick) - return false; - } - for(int i = 1; i <= 5; i++) - { - if(world.getBlock(this.xCoord - 3, this.yCoord + i, this.zCoord) != ModBlocks.reinforced_brick) - return false; - } - - for(int i = -5; i <= -1; i++) - { - if(world.getBlock(this.xCoord, this.yCoord + i, this.zCoord + 3) != ModBlocks.reinforced_brick) - return false; - } - for(int i = 1; i <= 5; i++) - { - if(world.getBlock(this.xCoord, this.yCoord + i, this.zCoord + 3) != ModBlocks.reinforced_brick) - return false; - } - - for(int i = -5; i <= -1; i++) - { - if(world.getBlock(this.xCoord, this.yCoord + i, this.zCoord - 3) != ModBlocks.reinforced_brick) - return false; - } - for(int i = 1; i <= 5; i++) - { - if(world.getBlock(this.xCoord, this.yCoord + i, this.zCoord - 3) != ModBlocks.reinforced_brick) - return false; - } - - if(world.getBlock(this.xCoord + 3, this.yCoord, this.zCoord) != ModBlocks.watz_hatch) - return false; - - if(world.getBlock(this.xCoord - 3, this.yCoord, this.zCoord) != ModBlocks.watz_hatch) - return false; - - if(world.getBlock(this.xCoord, this.yCoord, this.zCoord + 3) != ModBlocks.watz_hatch) - return false; - - if(world.getBlock(this.xCoord, this.yCoord, this.zCoord - 3) != ModBlocks.watz_hatch) - return false; - - for(int i = -3; i <= 3; i++) - { - for(int j = -3; j <= 3; j++) - { - if(world.getBlock(this.xCoord + i, this.yCoord + 6, this.zCoord + j) != ModBlocks.watz_end && world.getBlock(this.xCoord + i, this.yCoord + 6, this.zCoord + j) != ModBlocks.watz_conductor) - return false; - } - } - for(int i = -3; i <= 3; i++) - { - for(int j = -3; j <= 3; j++) - { - if(world.getBlock(this.xCoord + i, this.yCoord - 6, this.zCoord + j) != ModBlocks.watz_end && world.getBlock(this.xCoord + i, this.yCoord - 6, this.zCoord + j) != ModBlocks.watz_conductor) - return false; - } - } - - return true; - } - - @Override - public boolean isCoatingValid(World world) { - { - return true; - } - - //return false; - } - - @Override - public boolean hasFuse() { - return slots[38] != null && slots[38].getItem() == ModItems.titanium_filter && ItemTitaniumFilter.getDura(slots[38]) > 0; - } - - @Override - public int getWaterScaled(int i) { - return 0; - } - - @Override - public long getPowerScaled(long i) { - return (power/100 * i) / (maxPower/100); - } - - @Override - public int getCoolantScaled(int i) { - return 0; - } - - @Override - public int getHeatScaled(int i) { - return 0; - } - - @Override - public void updateEntity() { - - if(this.isStructureValid(this.worldObj)) { - - powerMultiplier = 100; - heatMultiplier = 100; - decayMultiplier = 100; - powerList = 0; - heatList = 0; - heat = 0; - - if (hasFuse()) { - - //Adds power and heat - for (int i = 0; i < 36; i++) { - surveyPellet(slots[i]); - } - //Calculates modifiers - for (int i = 0; i < 36; i++) { - surveyPelletAgain(slots[i]); - } - //Decays pellet by (DECAYMULTIPLIER * DEFAULTDECAY=100)/100 ticks - for (int i = 0; i < 36; i++) { - decayPellet(i); - } - } - - if(!worldObj.isRemote) { - - age++; - if (age >= 20) { - age = 0; - } - - this.sendPower(worldObj, xCoord, yCoord + 7, zCoord, ForgeDirection.UP); - this.sendPower(worldObj, xCoord, yCoord - 7, zCoord, ForgeDirection.DOWN); - - this.sendFluid(tank, worldObj, xCoord + 4, yCoord, zCoord, Library.POS_X); - this.sendFluid(tank, worldObj, xCoord, yCoord, zCoord + 4, Library.POS_Z); - this.sendFluid(tank, worldObj, xCoord - 4, yCoord, zCoord, Library.NEG_X); - this.sendFluid(tank, worldObj, xCoord, yCoord, zCoord - 4, Library.NEG_Z); - - if (age == 9 || age == 19) { - fillFluidInit(tank.getTankType()); - } - - //Only damages filter when heat is present (thus waste being created) - if (heatList > 0) { - ItemTitaniumFilter.setDura(slots[38], ItemTitaniumFilter.getDura(slots[38]) - 1); - } - - heatList *= heatMultiplier; - heatList /= 100; - heat = heatList; - - powerList *= powerMultiplier; - powerList /= 100; - power += powerList; - - tank.setFill(tank.getFill() + ((decayMultiplier * heat) / 100) / 100); - - if(power > maxPower) - power = maxPower; - - //Gets rid of 1/4 of the total waste, if at least one access hatch is not occupied - if(tank.getFill() > tank.getMaxFill()) - emptyWaste(); - - power = Library.chargeItemsFromTE(slots, 37, power, maxPower); - - tank.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId); - tank.unloadTank(36, 39, slots); - - PacketDispatcher.wrapper.sendToAllAround(new AuxElectricityPacket(xCoord, yCoord, zCoord, power), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); - } - } - } - - public void surveyPellet(ItemStack stack) { - if(stack != null && stack.getItem() instanceof WatzFuel) - { - WatzFuel fuel = (WatzFuel)stack.getItem(); - this.powerList += fuel.power; - this.heatList += fuel.heat; - } - } - - public void surveyPelletAgain(ItemStack stack) { - if(stack != null && stack.getItem() instanceof WatzFuel) - { - WatzFuel fuel = (WatzFuel)stack.getItem(); - this.powerMultiplier *= fuel.powerMultiplier; - this.heatMultiplier *= fuel.heatMultiplier; - this.decayMultiplier *= fuel.decayMultiplier; - } - } - - public void decayPellet(int i) { - if(slots[i] != null && slots[i].getItem() instanceof WatzFuel) - { - WatzFuel fuel = (WatzFuel)slots[i].getItem(); - WatzFuel.setLifeTime(slots[i], WatzFuel.getLifeTime(slots[i]) + this.decayMultiplier); - WatzFuel.updateDamage(slots[i]); - if(WatzFuel.getLifeTime(slots[i]) >= fuel.lifeTime) - { - if(slots[i].getItem() == ModItems.pellet_lead) - slots[i] = new ItemStack(ModItems.powder_lead); - else - slots[i] = new ItemStack(ModItems.pellet_lead); - } - } - } - - public void emptyWaste() { - tank.setFill(tank.getFill() / 4); - tank.setFill(tank.getFill() * 3); - if (!worldObj.isRemote) { - if (this.worldObj.getBlock(this.xCoord + 4, this.yCoord, this.zCoord) == Blocks.air) - { - this.worldObj.setBlock(this.xCoord + 4, this.yCoord, this.zCoord, ModBlocks.mud_block); - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "game.neutral.swim.splash", 3.0F, 0.5F); - } - else if (this.worldObj.getBlock(this.xCoord - 4, this.yCoord, this.zCoord) == Blocks.air) - { - this.worldObj.setBlock(this.xCoord - 4, this.yCoord, this.zCoord, ModBlocks.mud_block); - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "game.neutral.swim.splash", 3.0F, 0.5F); - } - else if (this.worldObj.getBlock(this.xCoord, this.yCoord, this.zCoord + 4) == Blocks.air) - { - this.worldObj.setBlock(this.xCoord, this.yCoord, this.zCoord + 4, ModBlocks.mud_block); - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "game.neutral.swim.splash", 3.0F, 0.5F); - } - else if (this.worldObj.getBlock(this.xCoord, this.yCoord, this.zCoord - 4) == Blocks.air) - { - this.worldObj.setBlock(this.xCoord, this.yCoord, this.zCoord - 4, ModBlocks.mud_block); - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "game.neutral.swim.splash", 3.0F, 0.5F); - } - else { - List players = worldObj.getEntitiesWithinAABB(EntityPlayer.class, - AxisAlignedBB.getBoundingBox(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5).expand(50, 50, 50)); - - for(EntityPlayer player : players) { - player.triggerAchievement(MainRegistry.achWatzBoom); - } - - if (rand.nextInt(10) != 0) { - for (int i = -3; i <= 3; i++) - for (int j = -5; j <= 5; j++) - for (int k = -3; k <= 3; k++) - if (rand.nextInt(2) == 0) - this.worldObj.setBlock(this.xCoord + i, this.yCoord + j, this.zCoord + k, - ModBlocks.mud_block); - this.worldObj.setBlock(this.xCoord, this.yCoord, this.zCoord, ModBlocks.mud_block); - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "game.neutral.swim.splash", 3.0F, 0.5F); - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "random.explode", 3.0F, 0.75F); - } else { - EntityNukeExplosionMK3 ex = EntityNukeExplosionMK3.statFacFleija(worldObj, xCoord, yCoord, zCoord, BombConfig.fleijaRadius); - if(!ex.isDead) { - worldObj.spawnEntityInWorld(ex); - EntityCloudFleija cloud = new EntityCloudFleija(worldObj, BombConfig.fleijaRadius); - cloud.posX = xCoord + 0.5; - cloud.posY = yCoord + 0.5; - cloud.posZ = zCoord + 0.6; - worldObj.spawnEntityInWorld(cloud); - } - } - } - } - } - - @Override - public boolean getTact() { - if(age >= 0 && age < 10) - { - return true; - } - - return false; - } - - @Override - public long getPower() { - return power; - } - - @Override - public void setPower(long i) { - this.power = i; - } - - @Override - public long getMaxPower() { - return this.maxPower; - } - - @Override - public void setFillForSync(int fill, int index) { - tank.setFill(fill); - } - - @Override - public void setTypeForSync(FluidType type, int index) { - tank.setTankType(type); - } - - @Override - public void fillFluidInit(FluidType type) { - fillFluid(this.xCoord + 4, this.yCoord, this.zCoord, getTact(), type); - fillFluid(this.xCoord - 4, this.yCoord, this.zCoord, getTact(), type); - fillFluid(this.xCoord, this.yCoord, this.zCoord + 4, getTact(), type); - fillFluid(this.xCoord, this.yCoord, this.zCoord - 4, getTact(), type); - - } - - @Override - public void fillFluid(int x, int y, int z, boolean newTact, FluidType type) { - Library.transmitFluid(x, y, z, newTact, this, worldObj, type); - } - - @Override - public int getFluidFill(FluidType type) { - return tank.getFill(); - } - - @Override - public void setFluidFill(int i, FluidType type) { - tank.setFill(i); - } - - @Override - public List getFluidList(FluidType type) { - return list1; - } - - @Override - public void clearFluidList(FluidType type) { - list1.clear(); - } - @Override - public FluidTank[] getSendingTanks() { - return new FluidTank[] { tank }; - } - - @Override - public FluidTank[] getAllTanks() { - return new FluidTank[] { tank }; - } - @Override - public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new ContainerWatzCore(player.inventory, this); - } - @Override - @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new GUIWatzCore(player.inventory, this); - } -} diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticReformer.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticReformer.java index 04e534de5..3ef9daf56 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticReformer.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticReformer.java @@ -16,7 +16,7 @@ import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.Tuple.Triplet; import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -28,7 +28,7 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineCatalyticReformer extends TileEntityMachineBase implements IEnergyUser, IFluidStandardTransceiver, IPersistentNBT, IGUIProvider { +public class TileEntityMachineCatalyticReformer extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardTransceiver, IPersistentNBT, IGUIProvider { public long power; public static final long maxPower = 1_000_000; @@ -55,7 +55,7 @@ public class TileEntityMachineCatalyticReformer extends TileEntityMachineBase im if(!worldObj.isRemote) { - this.updateConnections(); + if(this.worldObj.getTotalWorldTime() % 20 == 0) this.updateConnections(); power = Library.chargeTEFromItems(slots, 0, power, maxPower); tanks[0].setType(9, slots); tanks[0].loadTank(1, 2, slots); @@ -83,6 +83,8 @@ public class TileEntityMachineCatalyticReformer extends TileEntityMachineBase im @Override public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + this.power = nbt.getLong("power"); for(int i = 0; i < 4; i++) tanks[i].readFromNBT(nbt, "" + i); } diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCoker.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCoker.java index f2adcb771..cf90645d5 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCoker.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCoker.java @@ -101,7 +101,7 @@ public class TileEntityMachineCoker extends TileEntityMachineBase implements IFl } } - if(worldObj.getTotalWorldTime() % 20 == 0) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * 20); + if(wasOn && worldObj.getTotalWorldTime() % 20 == 0) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * 20); } for(DirPos pos : getConPos()) { @@ -175,6 +175,8 @@ public class TileEntityMachineCoker extends TileEntityMachineBase implements IFl @Override public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + this.wasOn = nbt.getBoolean("wasOn"); this.heat = nbt.getInteger("heat"); this.progress = nbt.getInteger("progress"); diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFractionTower.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFractionTower.java index 19ed18ecd..a00c4ecfb 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFractionTower.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFractionTower.java @@ -1,12 +1,6 @@ package com.hbm.tileentity.machine.oil; -import java.util.ArrayList; -import java.util.List; - -import com.hbm.interfaces.IFluidAcceptor; -import com.hbm.interfaces.IFluidSource; import com.hbm.inventory.FluidStack; -import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.recipes.FractionRecipes; @@ -22,19 +16,16 @@ import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; -import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineFractionTower extends TileEntityLoadedBase implements IFluidSource, IFluidAcceptor, INBTPacketReceiver, IFluidStandardTransceiver { +public class TileEntityMachineFractionTower extends TileEntityLoadedBase implements INBTPacketReceiver, IFluidStandardTransceiver { public FluidTank[] tanks; - public List list1 = new ArrayList(); - public List list2 = new ArrayList(); public TileEntityMachineFractionTower() { tanks = new FluidTank[3]; - tanks[0] = new FluidTank(Fluids.HEAVYOIL, 4000, 0); - tanks[1] = new FluidTank(Fluids.BITUMEN, 4000, 1); - tanks[2] = new FluidTank(Fluids.SMEAR, 4000, 2); + tanks[0] = new FluidTank(Fluids.HEAVYOIL, 4000); + tanks[1] = new FluidTank(Fluids.BITUMEN, 4000); + tanks[2] = new FluidTank(Fluids.SMEAR, 4000); } @Override @@ -69,14 +60,9 @@ public class TileEntityMachineFractionTower extends TileEntityLoadedBase impleme setupTanks(); this.updateConnections(); - if(worldObj.getTotalWorldTime() % 20 == 0) + if(worldObj.getTotalWorldTime() % 10 == 0) fractionate(); - if(worldObj.getTotalWorldTime() % 10 == 0) { - fillFluidInit(tanks[1].getTankType()); - fillFluidInit(tanks[2].getTankType()); - } - this.sendFluid(); NBTTagCompound data = new NBTTagCompound(); @@ -168,76 +154,6 @@ public class TileEntityMachineFractionTower extends TileEntityLoadedBase impleme for(int i = 0; i < 3; i++) tanks[i].writeToNBT(nbt, "tank" + i); } - - @Override - public void setFillForSync(int fill, int index) { - if(index < 3 && tanks[index] != null) - tanks[index].setFill(fill); - } - - @Override - public void setFluidFill(int fill, FluidType type) { - for(FluidTank tank : tanks) { - if(tank.getTankType() == type) { - tank.setFill(fill); - } - } - } - - @Override - public void setTypeForSync(FluidType type, int index) { - this.tanks[index].setTankType(type); - } - - @Override - public int getFluidFill(FluidType type) { - for(FluidTank tank : tanks) { - if(tank.getTankType() == type) { - return tank.getFill(); - } - } - return 0; - } - - @Override - public int getMaxFluidFill(FluidType type) { - if(type == tanks[0].getTankType()) - return tanks[0].getMaxFill(); - else - return 0; - } - - @Override - public void fillFluidInit(FluidType type) { - - for(int i = 2; i < 6; i++) { - ForgeDirection dir = ForgeDirection.getOrientation(i); - fillFluid(xCoord + dir.offsetX * 2, yCoord, zCoord + dir.offsetZ * 2, this.getTact(), type); - } - } - - @Override - public void fillFluid(int x, int y, int z, boolean newTact, FluidType type) { - Library.transmitFluid(x, y, z, newTact, this, worldObj, type); - } - - @Override - public boolean getTact() { - return worldObj.getTotalWorldTime() % 20 < 10; - } - - @Override - public List getFluidList(FluidType type) { - if(type == tanks[1].getTankType()) return list1; - if(type == tanks[2].getTankType()) return list2; - return new ArrayList(); - } - - @Override - public void clearFluidList(FluidType type) { - if(type == tanks[1].getTankType()) list1.clear(); - if(type == tanks[2].getTankType()) list2.clear(); - } AxisAlignedBB bb = null; diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineGasFlare.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineGasFlare.java index 25d5f4029..e8f5928f0 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineGasFlare.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineGasFlare.java @@ -3,8 +3,6 @@ package com.hbm.tileentity.machine.oil; import java.util.List; import com.hbm.blocks.ModBlocks; -import com.hbm.handler.pollution.PollutionHandler; -import com.hbm.handler.pollution.PollutionHandler.PollutionType; import com.hbm.interfaces.IControlReceiver; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; @@ -14,9 +12,10 @@ import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.trait.FT_Flammable; +import com.hbm.inventory.fluid.trait.FT_Polluting; +import com.hbm.inventory.fluid.trait.FluidTrait.FluidReleaseType; import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Gaseous; import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Gaseous_ART; -import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Leaded; import com.hbm.inventory.gui.GUIMachineGasFlare; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.lib.Library; @@ -24,12 +23,14 @@ import com.hbm.main.MainRegistry; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IUpgradeInfoProvider; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.CompatEnergyControl; import com.hbm.util.I18nUtil; import com.hbm.util.ParticleUtil; import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IEnergyGenerator; +import api.hbm.energymk2.IEnergyProviderMK2; import api.hbm.fluid.IFluidStandardReceiver; +import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.GuiScreen; @@ -43,13 +44,15 @@ import net.minecraft.util.DamageSource; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; -public class TileEntityMachineGasFlare extends TileEntityMachineBase implements IEnergyGenerator, IFluidContainer, IFluidAcceptor, IFluidStandardReceiver, IControlReceiver, IGUIProvider, IUpgradeInfoProvider { +public class TileEntityMachineGasFlare extends TileEntityMachineBase implements IEnergyProviderMK2, IFluidContainer, IFluidAcceptor, IFluidStandardReceiver, IControlReceiver, IGUIProvider, IUpgradeInfoProvider, IInfoProviderEC { public long power; public static final long maxPower = 100000; public FluidTank tank; public boolean isOn = false; public boolean doesBurn = false; + protected int fluidUsed = 0; + protected int output = 0; public TileEntityMachineGasFlare() { super(6); @@ -99,9 +102,12 @@ public class TileEntityMachineGasFlare extends TileEntityMachineBase implements public void updateEntity() { if(!worldObj.isRemote) { + + this.fluidUsed = 0; + this.output = 0; for(DirPos pos : getConPos()) { - this.sendPower(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + this.tryProvide(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); this.trySubscribe(tank.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } @@ -125,16 +131,22 @@ public class TileEntityMachineGasFlare extends TileEntityMachineBase implements if(tank.getTankType().hasTrait(FT_Gaseous.class) || tank.getTankType().hasTrait(FT_Gaseous_ART.class)) { int eject = Math.min(maxVent, tank.getFill()); + this.fluidUsed = eject; tank.setFill(tank.getFill() - eject); tank.getTankType().onFluidRelease(this, tank, eject); if(worldObj.getTotalWorldTime() % 7 == 0) - this.worldObj.playSoundEffect(this.xCoord, this.yCoord + 11, this.zCoord, "random.fizz", 1.5F, 0.5F); + this.worldObj.playSoundEffect(this.xCoord, this.yCoord + 11, this.zCoord, "random.fizz", getVolume(1.5F), 0.5F); + + if(worldObj.getTotalWorldTime() % 5 == 0 && eject > 0) { + FT_Polluting.pollute(worldObj, xCoord, yCoord, zCoord, tank.getTankType(), FluidReleaseType.SPILL, eject * 5); + } } } else { if(tank.getTankType().hasTrait(FT_Flammable.class)) { int eject = Math.min(maxBurn, tank.getFill()); + this.fluidUsed = eject; tank.setFill(tank.getFill() - eject); int penalty = 5; @@ -145,6 +157,7 @@ public class TileEntityMachineGasFlare extends TileEntityMachineBase implements powerProd /= penalty; powerProd += powerProd * yield / 3; + this.output = (int) powerProd; power += powerProd; if(power > maxPower) @@ -159,11 +172,10 @@ public class TileEntityMachineGasFlare extends TileEntityMachineBase implements } if(worldObj.getTotalWorldTime() % 3 == 0) - this.worldObj.playSoundEffect(this.xCoord, this.yCoord + 11, this.zCoord, "hbm:weapon.flamethrowerShoot", 1.5F, 0.75F); + this.worldObj.playSoundEffect(this.xCoord, this.yCoord + 11, this.zCoord, "hbm:weapon.flamethrowerShoot", getVolume(1.5F), 0.75F); - if(worldObj.getTotalWorldTime() % 20 == 0) { - PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * 5); - if(tank.getTankType().hasTrait(FT_Leaded.class)) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.HEAVYMETAL, PollutionHandler.HEAVY_METAL_PER_SECOND * 5); + if(worldObj.getTotalWorldTime() % 5 == 0 && eject > 0) { + FT_Polluting.pollute(worldObj, xCoord, yCoord, zCoord, tank.getTankType(), FluidReleaseType.BURN, eject * 5); } } } @@ -234,6 +246,8 @@ public class TileEntityMachineGasFlare extends TileEntityMachineBase implements @Override public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + this.power = nbt.getLong("power"); this.isOn = nbt.getBoolean("isOn"); this.doesBurn = nbt.getBoolean("doesBurn"); @@ -334,4 +348,11 @@ public class TileEntityMachineGasFlare extends TileEntityMachineBase implements if(type == UpgradeType.EFFECT) return 3; return 0; } + + @Override + public void provideExtraInfo(NBTTagCompound data) { + data.setBoolean(CompatEnergyControl.B_ACTIVE, this.fluidUsed > 0); + data.setDouble(CompatEnergyControl.D_CONSUMPTION_MB, this.fluidUsed); + data.setDouble(CompatEnergyControl.D_OUTPUT_HE, this.output); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineHydrotreater.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineHydrotreater.java new file mode 100644 index 000000000..9bffbf38b --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineHydrotreater.java @@ -0,0 +1,225 @@ +package com.hbm.tileentity.machine.oil; + +import com.hbm.inventory.FluidStack; +import com.hbm.inventory.container.ContainerMachineHydrotreater; +import com.hbm.inventory.fluid.FluidType; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUIMachineHydrotreater; +import com.hbm.inventory.recipes.HydrotreatingRecipes; +import com.hbm.items.ModItems; +import com.hbm.lib.Library; +import com.hbm.tileentity.IGUIProvider; +import com.hbm.tileentity.IPersistentNBT; +import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.Tuple.Triplet; +import com.hbm.util.fauxpointtwelve.DirPos; + +import api.hbm.energymk2.IEnergyReceiverMK2; +import api.hbm.fluid.IFluidStandardTransceiver; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import io.netty.buffer.ByteBuf; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityMachineHydrotreater extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardTransceiver, IPersistentNBT, IGUIProvider { + + public long power; + public static final long maxPower = 1_000_000; + + public FluidTank[] tanks; + + public TileEntityMachineHydrotreater() { + super(11); + + this.tanks = new FluidTank[4]; + this.tanks[0] = new FluidTank(Fluids.OIL, 64_000); + this.tanks[1] = new FluidTank(Fluids.HYDROGEN, 64_000).withPressure(1); + this.tanks[2] = new FluidTank(Fluids.OIL_DS, 24_000); + this.tanks[3] = new FluidTank(Fluids.SOURGAS, 24_000); + } + + @Override + public String getName() { + return "container.hydrotreater"; + } + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + + if(this.worldObj.getTotalWorldTime() % 20 == 0) this.updateConnections(); + power = Library.chargeTEFromItems(slots, 0, power, maxPower); + tanks[0].setType(9, slots); + + tanks[0].loadTank(1, 2, slots); + tanks[1].loadTank(3, 4, slots); + + if(worldObj.getTotalWorldTime() % 2 == 0) reform(); + + tanks[2].unloadTank(5, 6, slots); + tanks[3].unloadTank(7, 8, slots); + + for(DirPos pos : getConPos()) { + for(int i = 2; i < 4; i++) { + if(tanks[i].getFill() > 0) { + this.sendFluid(tanks[i], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + } + } + } + + this.networkPackNT(25); + } + } + + @Override + public void serialize(ByteBuf buf) { + super.serialize(buf); + buf.writeLong(power); + for(int i = 0; i < 4; i++) tanks[i].serialize(buf); + } + + @Override + public void deserialize(ByteBuf buf) { + super.deserialize(buf); + this.power = buf.readLong(); + for(int i = 0; i < 4; i++) tanks[i].deserialize(buf); + } + + private void reform() { + + Triplet out = HydrotreatingRecipes.getOutput(tanks[0].getTankType()); + if(out == null) { + tanks[2].setTankType(Fluids.NONE); + tanks[3].setTankType(Fluids.NONE); + return; + } + + tanks[1].withPressure(out.getX().pressure).setTankType(out.getX().type); + tanks[2].setTankType(out.getY().type); + tanks[3].setTankType(out.getZ().type); + + if(power < 20_000) return; + if(tanks[0].getFill() < 100) return; + if(tanks[1].getFill() < out.getX().fill) return; + if(slots[10] == null || slots[10].getItem() != ModItems.catalytic_converter) return; + + if(tanks[2].getFill() + out.getY().fill > tanks[2].getMaxFill()) return; + if(tanks[3].getFill() + out.getZ().fill > tanks[3].getMaxFill()) return; + + tanks[0].setFill(tanks[0].getFill() - 100); + tanks[1].setFill(tanks[1].getFill() - out.getX().fill); + tanks[2].setFill(tanks[2].getFill() + out.getY().fill); + tanks[3].setFill(tanks[3].getFill() + out.getZ().fill); + + power -= 20_000; + } + + private void updateConnections() { + for(DirPos pos : getConPos()) { + this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + this.trySubscribe(tanks[0].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + this.trySubscribe(tanks[1].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + } + } + + public DirPos[] getConPos() { + + return new DirPos[] { + new DirPos(xCoord + 2, yCoord, zCoord + 1, Library.POS_X), + new DirPos(xCoord + 2, yCoord, zCoord - 1, Library.POS_X), + new DirPos(xCoord - 2, yCoord, zCoord + 1, Library.NEG_X), + new DirPos(xCoord - 2, yCoord, zCoord - 1, Library.NEG_X), + new DirPos(xCoord + 1, yCoord, zCoord + 2, Library.POS_Z), + new DirPos(xCoord - 1, yCoord, zCoord + 2, Library.POS_Z), + new DirPos(xCoord + 1, yCoord, zCoord - 2, Library.NEG_Z), + new DirPos(xCoord - 1, yCoord, zCoord - 2, Library.NEG_Z) + }; + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + power = nbt.getLong("power"); + tanks[0].readFromNBT(nbt, "t0"); + tanks[1].readFromNBT(nbt, "t1"); + tanks[2].readFromNBT(nbt, "t2"); + tanks[3].readFromNBT(nbt, "t3"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setLong("power", power); + tanks[0].writeToNBT(nbt, "t0"); + tanks[1].writeToNBT(nbt, "t1"); + tanks[2].writeToNBT(nbt, "t2"); + tanks[3].writeToNBT(nbt, "t3"); + } + + AxisAlignedBB bb = null; + + @Override + public AxisAlignedBB getRenderBoundingBox() { + + if(bb == null) { + bb = AxisAlignedBB.getBoundingBox( + xCoord - 1, + yCoord, + zCoord - 1, + xCoord + 2, + yCoord + 7, + zCoord + 2 + ); + } + + return bb; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } + + @Override public long getPower() { return power; } + @Override public void setPower(long power) { this.power = power; } + @Override public long getMaxPower() { return maxPower; } + @Override public FluidTank[] getAllTanks() { return tanks; } + @Override public FluidTank[] getSendingTanks() { return new FluidTank[] {tanks[2], tanks[3]}; } + @Override public FluidTank[] getReceivingTanks() { return new FluidTank[] {tanks[0], tanks[1]}; } + @Override public boolean canConnect(ForgeDirection dir) { return dir != ForgeDirection.UNKNOWN && dir != ForgeDirection.DOWN; } + @Override public boolean canConnect(FluidType type, ForgeDirection dir) { return dir != ForgeDirection.UNKNOWN && dir != ForgeDirection.DOWN; } + + @Override + public void writeNBT(NBTTagCompound nbt) { + if(tanks[0].getFill() == 0 && tanks[1].getFill() == 0 && tanks[2].getFill() == 0 && tanks[3].getFill() == 0) return; + NBTTagCompound data = new NBTTagCompound(); + for(int i = 0; i < 4; i++) this.tanks[i].writeToNBT(data, "" + i); + nbt.setTag(NBT_PERSISTENT_KEY, data); + } + + @Override + public void readNBT(NBTTagCompound nbt) { + NBTTagCompound data = nbt.getCompoundTag(NBT_PERSISTENT_KEY); + for(int i = 0; i < 4; i++) this.tanks[i].readFromNBT(data, "" + i); + } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMachineHydrotreater(player.inventory, this); + } + + @Override + @SideOnly(Side.CLIENT) + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineHydrotreater(player.inventory, this); + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineLiquefactor.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineLiquefactor.java index 4aa306854..531bebb18 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineLiquefactor.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineLiquefactor.java @@ -19,12 +19,13 @@ import com.hbm.lib.Library; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IUpgradeInfoProvider; import com.hbm.tileentity.TileEntityMachineBase; -import com.hbm.util.BobMathUtil; +import com.hbm.util.CompatEnergyControl; import com.hbm.util.I18nUtil; import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardSender; +import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.GuiScreen; @@ -36,7 +37,7 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; -public class TileEntityMachineLiquefactor extends TileEntityMachineBase implements IEnergyUser, IFluidSource, IFluidStandardSender, IGUIProvider, IUpgradeInfoProvider { +public class TileEntityMachineLiquefactor extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidSource, IFluidStandardSender, IGUIProvider, IUpgradeInfoProvider, IInfoProviderEC { public long power; public static final long maxPower = 100000; @@ -170,6 +171,8 @@ public class TileEntityMachineLiquefactor extends TileEntityMachineBase implemen @Override public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + this.power = nbt.getLong("power"); this.progress = nbt.getInteger("progress"); this.usage = nbt.getInteger("usage"); @@ -309,7 +312,7 @@ public class TileEntityMachineLiquefactor extends TileEntityMachineBase implemen @Override public void provideInfo(UpgradeType type, int level, List info, boolean extendedInfo) { - info.add(IUpgradeInfoProvider.getStandardLabel(ModBlocks.machine_assembler)); + info.add(IUpgradeInfoProvider.getStandardLabel(ModBlocks.machine_liquefactor)); if(type == UpgradeType.SPEED) { info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(this.KEY_DELAY, "-" + (level * 25) + "%")); info.add(EnumChatFormatting.RED + I18nUtil.resolveKey(this.KEY_CONSUMPTION, "+" + (level * 100) + "%")); @@ -325,4 +328,10 @@ public class TileEntityMachineLiquefactor extends TileEntityMachineBase implemen if(type == UpgradeType.POWER) return 3; return 0; } + + @Override + public void provideExtraInfo(NBTTagCompound data) { + data.setBoolean(CompatEnergyControl.B_ACTIVE, this.progress > 0); + data.setDouble(CompatEnergyControl.D_CONSUMPTION_HE, this.usage); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachinePumpjack.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachinePumpjack.java index dd11a3431..9788943a9 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachinePumpjack.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachinePumpjack.java @@ -123,8 +123,8 @@ public class TileEntityMachinePumpjack extends TileEntityOilDrillBase { @Override public void networkUnpack(NBTTagCompound nbt) { - this.power = nbt.getLong("power"); - this.indicator = nbt.getInteger("indicator"); + super.networkUnpack(nbt); + this.speed = nbt.getFloat("speed"); } diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineRefinery.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineRefinery.java index 27e48d4a1..65bf61681 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineRefinery.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineRefinery.java @@ -9,10 +9,6 @@ import com.hbm.blocks.ModBlocks; import com.hbm.handler.MultiblockHandlerXR; import com.hbm.handler.pollution.PollutionHandler; import com.hbm.handler.pollution.PollutionHandler.PollutionType; -import com.hbm.interfaces.IControlReceiver; -import com.hbm.interfaces.IFluidAcceptor; -import com.hbm.interfaces.IFluidContainer; -import com.hbm.interfaces.IFluidSource; import com.hbm.inventory.FluidStack; import com.hbm.inventory.OreDictManager; import com.hbm.inventory.RecipesCommon.AStack; @@ -37,7 +33,7 @@ import com.hbm.util.ParticleUtil; import com.hbm.util.Tuple.Quintet; import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -49,22 +45,17 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.Vec3; import net.minecraft.world.Explosion; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineRefinery extends TileEntityMachineBase implements IEnergyUser, IFluidContainer, IFluidAcceptor, IFluidSource, IControlReceiver, IOverpressurable, IPersistentNBT, IRepairable, IFluidStandardTransceiver, IGUIProvider { +public class TileEntityMachineRefinery extends TileEntityMachineBase implements IEnergyReceiverMK2, IOverpressurable, IPersistentNBT, IRepairable, IFluidStandardTransceiver, IGUIProvider { public long power = 0; public int sulfur = 0; public static final int maxSulfur = 100; public static final long maxPower = 1000; public FluidTank[] tanks; - public List list1 = new ArrayList(); - public List list2 = new ArrayList(); - public List list3 = new ArrayList(); - public List list4 = new ArrayList(); public boolean hasExploded = false; public boolean onFire = false; @@ -77,13 +68,13 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements private static final int[] slot_access = new int[] {11}; public TileEntityMachineRefinery() { - super(12); + super(13); tanks = new FluidTank[5]; - tanks[0] = new FluidTank(Fluids.HOTOIL, 64_000, 0); - tanks[1] = new FluidTank(Fluids.HEAVYOIL, 24_000, 1); - tanks[2] = new FluidTank(Fluids.NAPHTHA, 24_000, 2); - tanks[3] = new FluidTank(Fluids.LIGHTOIL, 24_000, 3); - tanks[4] = new FluidTank(Fluids.PETROLEUM, 24_000, 4); + tanks[0] = new FluidTank(Fluids.HOTOIL, 64_000); + tanks[1] = new FluidTank(Fluids.HEAVYOIL, 24_000); + tanks[2] = new FluidTank(Fluids.NAPHTHA, 24_000); + tanks[3] = new FluidTank(Fluids.LIGHTOIL, 24_000); + tanks[4] = new FluidTank(Fluids.PETROLEUM, 24_000); } @Override @@ -164,14 +155,7 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements this.updateConnections(); power = Library.chargeTEFromItems(slots, 0, power, maxPower); - - if(worldObj.getTotalWorldTime() % 10 == 0) { - fillFluidInit(tanks[1].getTankType()); - fillFluidInit(tanks[2].getTankType()); - fillFluidInit(tanks[3].getTankType()); - fillFluidInit(tanks[4].getTankType()); - } - + tanks[0].setType(12, slots); tanks[0].loadTank(1, 2, slots); refine(); @@ -231,7 +215,8 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements } else if(!audio.isPlaying()) { audio = rebootAudio(audio); } - + + audio.updateVolume(getVolume(1F)); audio.keepAlive(); } else { @@ -271,6 +256,8 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements @Override public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + this.power = nbt.getLong("power"); for(int i = 0; i < 5; i++) tanks[i].readFromNBT(nbt, "" + i); this.hasExploded = nbt.getBoolean("exploded"); @@ -280,17 +267,16 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements private void refine() { Quintet refinery = RefineryRecipes.getRefinery(tanks[0].getTankType()); - - if(refinery == null) //usually not possible + if(refinery == null) { + for(int i = 1; i < 5; i++) tanks[i].setTankType(Fluids.NONE); return; + } FluidStack[] stacks = new FluidStack[] {refinery.getV(), refinery.getW(), refinery.getX(), refinery.getY()}; - for(int i = 0; i < stacks.length; i++) - tanks[i + 1].setTankType(stacks[i].type); + for(int i = 0; i < stacks.length; i++) tanks[i + 1].setTankType(stacks[i].type); - if(power < 5 || tanks[0].getFill() < 100) - return; + if(power < 5 || tanks[0].getFill() < 100) return; for(int i = 0; i < stacks.length; i++) { if(tanks[i + 1].getFill() + stacks[i].fill > tanks[i + 1].getMaxFill()) { @@ -301,8 +287,7 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements this.isOn = true; tanks[0].setFill(tanks[0].getFill() - 100); - for(int i = 0; i < stacks.length; i++) - tanks[i + 1].setFill(tanks[i + 1].getFill() + stacks[i].fill); + for(int i = 0; i < stacks.length; i++) tanks[i + 1].setFill(tanks[i + 1].getFill() + stacks[i].fill); this.sulfur++; @@ -327,7 +312,6 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements } if(worldObj.getTotalWorldTime() % 20 == 0) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * 5); - this.power -= 5; } @@ -370,88 +354,6 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements public long getMaxPower() { return maxPower; } - - @Override - public void fillFluidInit(FluidType type) { - fillFluid(this.xCoord + 1, this.yCoord, this.zCoord - 2, getTact(), type); - fillFluid(this.xCoord + 1, this.yCoord, this.zCoord + 2, getTact(), type); - fillFluid(this.xCoord - 1, this.yCoord, this.zCoord - 2, getTact(), type); - fillFluid(this.xCoord - 1, this.yCoord, this.zCoord + 2, getTact(), type); - - fillFluid(this.xCoord - 2, this.yCoord, this.zCoord + 1, getTact(), type); - fillFluid(this.xCoord + 2, this.yCoord, this.zCoord + 1, getTact(), type); - fillFluid(this.xCoord - 2, this.yCoord, this.zCoord - 1, getTact(), type); - fillFluid(this.xCoord + 2, this.yCoord, this.zCoord - 1, getTact(), type); - } - - @Override - public void fillFluid(int x, int y, int z, boolean newTact, FluidType type) { - Library.transmitFluid(x, y, z, newTact, this, worldObj, type); - } - - @Override - public boolean getTact() { - return worldObj.getTotalWorldTime() % 20 < 10; - } - - @Override - public int getFluidFill(FluidType type) { - - for(int i = 0; i < 5; i++) { - if(type == tanks[i].getTankType()) { - return tanks[i].getFill(); - } - } - - return 0; - } - - @Override - public void setFluidFill(int fill, FluidType type) { - - for(int i = 0; i < 5; i++) { - if(type == tanks[i].getTankType()) { - tanks[i].setFill(fill); - } - } - } - - @Override - public List getFluidList(FluidType type) { - if(type == tanks[1].getTankType()) return list1; - if(type == tanks[2].getTankType()) return list2; - if(type == tanks[3].getTankType()) return list3; - if(type == tanks[4].getTankType()) return list4; - return new ArrayList(); - } - - @Override - public void clearFluidList(FluidType type) { - if(type == tanks[1].getTankType()) list1.clear(); - if(type == tanks[2].getTankType()) list2.clear(); - if(type == tanks[3].getTankType()) list3.clear(); - if(type == tanks[4].getTankType()) list4.clear(); - } - - @Override - public int getMaxFluidFill(FluidType type) { - if(type == tanks[0].getTankType()) - return tanks[0].getMaxFill(); - else - return 0; - } - - @Override - public void setFillForSync(int fill, int index) { - if(index < 5 && tanks[index] != null) - tanks[index].setFill(fill); - } - - @Override - public void setTypeForSync(FluidType type, int index) { - if(index < 5 && tanks[index] != null) - tanks[index].setTankType(type); - } @Override public AxisAlignedBB getRenderBoundingBox() { @@ -464,28 +366,6 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements return 65536.0D; } - @Override - public boolean hasPermission(EntityPlayer player) { - return Vec3.createVectorHelper(xCoord - player.posX, yCoord - player.posY, zCoord - player.posZ).lengthVector() < 25; - } - - @Override - public void receiveControl(NBTTagCompound data) { - - if(data.hasKey("toggle")) { - - for(DirPos pos : getConPos()) { - this.tryUnsubscribe(tanks[0].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ()); - } - - if(tanks[0].getTankType() == Fluids.HOTOIL) { - tanks[0].setTankType(Fluids.HOTCRACKOIL); - } else { - tanks[0].setTankType(Fluids.HOTOIL); - } - } - } - @Override public FluidTank[] getSendingTanks() { return new FluidTank[] { tanks[1], tanks[2], tanks[3], tanks[4] }; diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineSolidifier.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineSolidifier.java index 2846293e3..ae595e10d 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineSolidifier.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineSolidifier.java @@ -16,12 +16,14 @@ import com.hbm.lib.Library; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IUpgradeInfoProvider; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.CompatEnergyControl; import com.hbm.util.I18nUtil; import com.hbm.util.Tuple.Pair; import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardReceiver; +import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.GuiScreen; @@ -33,7 +35,7 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; -public class TileEntityMachineSolidifier extends TileEntityMachineBase implements IEnergyUser, IFluidAcceptor, IFluidStandardReceiver, IGUIProvider, IUpgradeInfoProvider { +public class TileEntityMachineSolidifier extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidAcceptor, IFluidStandardReceiver, IGUIProvider, IUpgradeInfoProvider, IInfoProviderEC { public long power; public static final long maxPower = 100000; @@ -172,6 +174,8 @@ public class TileEntityMachineSolidifier extends TileEntityMachineBase implement @Override public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + this.power = nbt.getLong("power"); this.progress = nbt.getInteger("progress"); this.usage = nbt.getInteger("usage"); @@ -284,7 +288,7 @@ public class TileEntityMachineSolidifier extends TileEntityMachineBase implement @Override public void provideInfo(UpgradeType type, int level, List info, boolean extendedInfo) { - info.add(IUpgradeInfoProvider.getStandardLabel(ModBlocks.machine_assembler)); + info.add(IUpgradeInfoProvider.getStandardLabel(ModBlocks.machine_solidifier)); if(type == UpgradeType.SPEED) { info.add(EnumChatFormatting.GREEN + I18nUtil.resolveKey(this.KEY_DELAY, "-" + (level * 25) + "%")); info.add(EnumChatFormatting.RED + I18nUtil.resolveKey(this.KEY_CONSUMPTION, "+" + (level * 100) + "%")); @@ -300,4 +304,10 @@ public class TileEntityMachineSolidifier extends TileEntityMachineBase implement if(type == UpgradeType.POWER) return 3; return 0; } + + @Override + public void provideExtraInfo(NBTTagCompound data) { + data.setBoolean(CompatEnergyControl.B_ACTIVE, this.progress > 0); + data.setDouble(CompatEnergyControl.D_CONSUMPTION_HE, this.usage); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineVacuumDistill.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineVacuumDistill.java index 9fc45de36..037982ffd 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineVacuumDistill.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineVacuumDistill.java @@ -1,5 +1,6 @@ package com.hbm.tileentity.machine.oil; +import com.hbm.inventory.FluidStack; import com.hbm.inventory.container.ContainerMachineVacuumDistill; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; @@ -12,9 +13,10 @@ import com.hbm.sound.AudioWrapper; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IPersistentNBT; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.Tuple.Quartet; import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -26,7 +28,7 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineVacuumDistill extends TileEntityMachineBase implements IEnergyUser, IFluidStandardTransceiver, IPersistentNBT, IGUIProvider { +public class TileEntityMachineVacuumDistill extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardTransceiver, IPersistentNBT, IGUIProvider { public long power; public static final long maxPower = 1_000_000; @@ -38,7 +40,7 @@ public class TileEntityMachineVacuumDistill extends TileEntityMachineBase implem public boolean isOn; public TileEntityMachineVacuumDistill() { - super(11); + super(12); this.tanks = new FluidTank[5]; this.tanks[0] = new FluidTank(Fluids.OIL, 64_000).withPressure(2); @@ -62,6 +64,7 @@ public class TileEntityMachineVacuumDistill extends TileEntityMachineBase implem this.updateConnections(); power = Library.chargeTEFromItems(slots, 0, power, maxPower); + tanks[0].setType(11, slots); tanks[0].loadTank(1, 2, slots); refine(); @@ -98,7 +101,8 @@ public class TileEntityMachineVacuumDistill extends TileEntityMachineBase implem } else if(!audio.isPlaying()) { audio = rebootAudio(audio); } - + + audio.updateVolume(getVolume(1F)); audio.keepAlive(); } else { @@ -138,27 +142,32 @@ public class TileEntityMachineVacuumDistill extends TileEntityMachineBase implem @Override public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + this.power = nbt.getLong("power"); this.isOn = nbt.getBoolean("isOn"); for(int i = 0; i < 5; i++) tanks[i].readFromNBT(nbt, "" + i); } private void refine() { + Quartet refinery = RefineryRecipes.getVacuum(tanks[0].getTankType()); + if(refinery == null) { + for(int i = 1; i < 5; i++) tanks[i].setTankType(Fluids.NONE); + return; + } + + FluidStack[] stacks = new FluidStack[] {refinery.getW(), refinery.getX(), refinery.getY(), refinery.getZ()}; + for(int i = 0; i < stacks.length; i++) tanks[i + 1].setTankType(stacks[i].type); if(power < 10_000) return; if(tanks[0].getFill() < 100) return; - if(tanks[1].getFill() + RefineryRecipes.vac_frac_heavy > tanks[1].getMaxFill()) return; - if(tanks[2].getFill() + RefineryRecipes.vac_frac_reform > tanks[2].getMaxFill()) return; - if(tanks[3].getFill() + RefineryRecipes.vac_frac_light > tanks[3].getMaxFill()) return; - if(tanks[4].getFill() + RefineryRecipes.vac_frac_sour > tanks[4].getMaxFill()) return; + for(int i = 0; i < stacks.length; i++) if(tanks[i + 1].getFill() + stacks[i].fill > tanks[i + 1].getMaxFill()) return; this.isOn = true; power -= 10_000; tanks[0].setFill(tanks[0].getFill() - 100); - tanks[1].setFill(tanks[1].getFill() + RefineryRecipes.vac_frac_heavy); - tanks[2].setFill(tanks[2].getFill() + RefineryRecipes.vac_frac_reform); - tanks[3].setFill(tanks[3].getFill() + RefineryRecipes.vac_frac_light); - tanks[4].setFill(tanks[4].getFill() + RefineryRecipes.vac_frac_sour); + + for(int i = 0; i < stacks.length; i++) tanks[i + 1].setFill(tanks[i + 1].getFill() + stacks[i].fill); } private void updateConnections() { diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityOilDrillBase.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityOilDrillBase.java index 4c785a486..b61115d65 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityOilDrillBase.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityOilDrillBase.java @@ -24,7 +24,7 @@ import com.hbm.util.Tuple; import com.hbm.util.Tuple.Triplet; import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -35,7 +35,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; -public abstract class TileEntityOilDrillBase extends TileEntityMachineBase implements IEnergyUser, IFluidSource, IFluidStandardTransceiver, IConfigurableMachine, IPersistentNBT, IGUIProvider, IUpgradeInfoProvider { +public abstract class TileEntityOilDrillBase extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidSource, IFluidStandardTransceiver, IConfigurableMachine, IPersistentNBT, IGUIProvider, IUpgradeInfoProvider { public int indicator = 0; @@ -177,6 +177,8 @@ public abstract class TileEntityOilDrillBase extends TileEntityMachineBase imple } public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + this.power = nbt.getLong("power"); this.indicator = nbt.getInteger("indicator"); } diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityCraneConsole.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityCraneConsole.java index 823259e3d..37e97639f 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityCraneConsole.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityCraneConsole.java @@ -80,16 +80,18 @@ public class TileEntityCraneConsole extends TileEntity implements INBTPacketRece goesDown = false; if(!worldObj.isRemote && this.canTargetInteract()) { - if(this.loadedItem != null) { - getColumnAtPos().load(this.loadedItem); - this.loadedItem = null; - } else { - IRBMKLoadable column = getColumnAtPos(); - this.loadedItem = column.provideNext(); - column.unload(); + IRBMKLoadable column = getColumnAtPos(); + if(column != null) { // canTargetInteract already assumes this, but there seems to be some freak race conditions that cause the column to be null anyway + if(this.loadedItem != null) { + column.load(this.loadedItem); + this.loadedItem = null; + } else { + this.loadedItem = column.provideNext(); + column.unload(); + } + + this.markDirty(); } - - this.markDirty(); } } diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBase.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBase.java index 9e7b3d63e..b57598ff6 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBase.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBase.java @@ -90,7 +90,7 @@ public abstract class TileEntityRBMKBase extends TileEntityLoadedBase implements //unused public int trackingRange() { - return 25; + return 15; } @Override @@ -135,14 +135,14 @@ public abstract class TileEntityRBMKBase extends TileEntityLoadedBase implements this.heat -= processedWater * heatConsumption; } - public static final ForgeDirection[] heatDirs = new ForgeDirection[] { + public static final ForgeDirection[] neighborDirs = new ForgeDirection[] { ForgeDirection.NORTH, ForgeDirection.EAST, ForgeDirection.SOUTH, ForgeDirection.WEST }; - protected TileEntityRBMKBase[] heatCache = new TileEntityRBMKBase[4]; + protected TileEntityRBMKBase[] neighborCache = new TileEntityRBMKBase[4]; /** * Moves heat to neighboring parts, if possible, in a relatively fair manner @@ -156,24 +156,24 @@ public abstract class TileEntityRBMKBase extends TileEntityLoadedBase implements int steamTot = this.steam; int index = 0; - for(ForgeDirection dir : heatDirs) { + for(ForgeDirection dir : neighborDirs) { - if(heatCache[index] != null && heatCache[index].isInvalid()) - heatCache[index] = null; + if(neighborCache[index] != null && neighborCache[index].isInvalid()) + neighborCache[index] = null; - if(heatCache[index] == null) { + if(neighborCache[index] == null) { TileEntity te = Compat.getTileStandard(worldObj, xCoord + dir.offsetX, yCoord, zCoord + dir.offsetZ); if(te instanceof TileEntityRBMKBase) { TileEntityRBMKBase base = (TileEntityRBMKBase) te; - heatCache[index] = base; + neighborCache[index] = base; } } index++; } - for(TileEntityRBMKBase base : heatCache) { + for(TileEntityRBMKBase base : neighborCache) { if(base != null) { rec.add(base); diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java index c0a883300..164ce4192 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java @@ -3,6 +3,8 @@ package com.hbm.tileentity.machine.rbmk; import api.hbm.fluid.IFluidStandardTransceiver; import api.hbm.fluid.IFluidUser; import api.hbm.fluid.IPipeNet; +import api.hbm.tile.IInfoProviderEC; + import com.hbm.blocks.ModBlocks; import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType; import com.hbm.handler.CompatHandler; @@ -16,6 +18,7 @@ import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.gui.GUIRBMKBoiler; import com.hbm.lib.Library; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; +import com.hbm.util.CompatEnergyControl; import com.hbm.util.fauxpointtwelve.DirPos; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; @@ -35,11 +38,13 @@ import java.util.ArrayList; import java.util.List; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements IFluidAcceptor, IFluidSource, IControlReceiver, IFluidStandardTransceiver, SimpleComponent { +public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements IFluidAcceptor, IFluidSource, IControlReceiver, IFluidStandardTransceiver, SimpleComponent, IInfoProviderEC { public FluidTank feed; public FluidTank steam; public List list = new ArrayList(); + protected int consumption; + protected int output; public TileEntityRBMKBoiler() { super(0); @@ -59,6 +64,9 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I if(!worldObj.isRemote) { feed.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId); steam.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId); + + this.consumption = 0; + this.output = 0; double heatCap = this.getHeatFromSteam(steam.getTankType()); double heatProvided = this.heat - heatCap; @@ -83,6 +91,9 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I steamProduced = (int)Math.floor((waterUsed * 100D) / steamFactor); } + this.consumption = waterUsed; + this.output = steamProduced; + feed.setFill(feed.getFill() - waterUsed); steam.setFill(steam.getFill() + steamProduced); @@ -402,4 +413,10 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIRBMKBoiler(player.inventory, this); } + + @Override + public void provideExtraInfo(NBTTagCompound data) { + data.setDouble(CompatEnergyControl.D_CONSUMPTION_MB, consumption); + data.setDouble(CompatEnergyControl.D_OUTPUT_MB, output); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKConsole.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKConsole.java index ee5690703..158f30152 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKConsole.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKConsole.java @@ -5,6 +5,7 @@ import java.util.Arrays; import java.util.List; import java.util.Locale; import java.util.Set; +import java.util.LinkedHashMap; import com.hbm.interfaces.IControlReceiver; import com.hbm.inventory.fluid.Fluids; @@ -15,6 +16,7 @@ import com.hbm.tileentity.machine.rbmk.TileEntityRBMKControlManual.RBMKColor; import com.hbm.util.EnumUtil; import com.hbm.util.I18nUtil; +import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.GuiScreen; @@ -28,7 +30,13 @@ import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraft.world.World; -public class TileEntityRBMKConsole extends TileEntityMachineBase implements IControlReceiver, IGUIProvider { +import li.cil.oc.api.machine.Arguments; +import li.cil.oc.api.machine.Callback; +import li.cil.oc.api.machine.Context; +import li.cil.oc.api.network.SimpleComponent; + +@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) +public class TileEntityRBMKConsole extends TileEntityMachineBase implements IControlReceiver, IGUIProvider, SimpleComponent { private int targetX; private int targetY; @@ -509,4 +517,203 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIRBMKConsole(player.inventory, this); } + + // do some opencomputer stuff + @Override + public String getComponentName() { + return "rbmk_console"; + } + + @Callback(direct = true) + @Optional.Method(modid = "OpenComputers") + public Object[] getColumnData(Context context, Arguments args) { + int x = args.checkInteger(0) - 7; + int y = -args.checkInteger(1) + 7; + + int i = (y + 7) * 15 + (x + 7); + + TileEntity te = worldObj.getTileEntity(targetX + x, targetY, targetZ + y); + if (te instanceof TileEntityRBMKBase) { + TileEntityRBMKBase column = (TileEntityRBMKBase) te; + + NBTTagCompound column_data = columns[i].data; + LinkedHashMap data_table = new LinkedHashMap<>(); + data_table.put("type", column.getConsoleType().name()); + data_table.put("hullTemp", column_data.getDouble("heat")); + data_table.put("realSimWater", column_data.getDouble("water")); + data_table.put("realSimSteam", column_data.getDouble("steam")); + data_table.put("moderated", column_data.getBoolean("moderated")); + data_table.put("level", column_data.getDouble("level")); + data_table.put("color", column_data.getShort("color")); + data_table.put("enrichment", column_data.getDouble("enrichment")); + data_table.put("xenon", column_data.getDouble("xenon")); + data_table.put("coreSkinTemp", column_data.getDouble("c_heat")); + data_table.put("coreTemp", column_data.getDouble("c_coreHeat")); + data_table.put("coreMaxTemp", column_data.getDouble("c_maxHeat")); + + if(te instanceof TileEntityRBMKRod){ + TileEntityRBMKRod fuelChannel = (TileEntityRBMKRod)te; + data_table.put("fluxSlow", fuelChannel.fluxSlow); + data_table.put("fluxFast", fuelChannel.fluxFast); + } + + if(te instanceof TileEntityRBMKBoiler){ + TileEntityRBMKBoiler boiler = (TileEntityRBMKBoiler)te; + data_table.put("water", boiler.feed.getFill()); + data_table.put("steam", boiler.steam.getFill()); + } + + if(te instanceof TileEntityRBMKOutgasser){ + TileEntityRBMKOutgasser irradiationChannel = (TileEntityRBMKOutgasser)te; + data_table.put("fluxProgress", irradiationChannel.progress); + data_table.put("requiredFlux", irradiationChannel.duration); + } + + if(te instanceof TileEntityRBMKHeater){ + TileEntityRBMKHeater heaterChannel = (TileEntityRBMKHeater)te; + data_table.put("coolant", heaterChannel.feed.getFill()); + data_table.put("hotcoolant", heaterChannel.steam.getFill()); + } + + return new Object[] {data_table}; + } + return new Object[] {null}; + } + + @Callback(direct = true) + @Optional.Method(modid = "OpenComputers") + public Object[] getRBMKPos(Context context, Arguments args) { + if(!(targetX == 0 && targetY== 0 && targetZ==0)){ + LinkedHashMap data_table = new LinkedHashMap<>(); + data_table.put("rbmkCenterX", targetX); + data_table.put("rbmkCenterY", targetY); + data_table.put("rbmkCenterZ", targetZ); + + return new Object[] {data_table}; + } + return new Object[] {null}; + } + + @Callback(direct = true) + @Optional.Method(modid = "OpenComputers") + public Object[] setLevel(Context context, Arguments args) { + double new_level = args.checkDouble(0); + boolean foundRods = false; + for(int i = -7; i <= 7; i++) { + for(int j = -7; j <= 7; j++) { + TileEntity te = worldObj.getTileEntity(targetX + i, targetY, targetZ + j); + + if (te instanceof TileEntityRBMKControlManual) { + TileEntityRBMKControlManual rod = (TileEntityRBMKControlManual) te; + rod.startingLevel = rod.level; + new_level = Math.min(1, Math.max(0, new_level)); + + rod.setTarget(new_level); + te.markDirty(); + foundRods = true; + } + } + } + if(foundRods) + return new Object[] {}; + else + return new Object[] {"No control rods found"}; + } + + @Callback(direct = true) + @Optional.Method(modid = "OpenComputers") + public Object[] setColumnLevel(Context context, Arguments args) { + int x = args.checkInteger(0) - 7; + int y = -args.checkInteger(1) + 7; + double new_level = args.checkDouble(2); + + TileEntity te = worldObj.getTileEntity(targetX + x, targetY, targetZ + y); + + if (te instanceof TileEntityRBMKControlManual) { + TileEntityRBMKControlManual rod = (TileEntityRBMKControlManual) te; + rod.startingLevel = rod.level; + new_level = Math.min(1, Math.max(0, new_level)); + + rod.setTarget(new_level); + te.markDirty(); + return new Object[] {}; + } + return new Object[] {"No control rod found at "+(x+7)+","+(7-y)}; + } + + @Callback(direct = true) + @Optional.Method(modid = "OpenComputers") + public Object[] setColorLevel(Context context, Arguments args) { + int color = args.checkInteger(0); + double new_level = args.checkDouble(1); + boolean foundRods = false; + if(color >= 0 && color <=4){ + for(int i = -7; i <= 7; i++) { + for(int j = -7; j <= 7; j++) { + TileEntity te = worldObj.getTileEntity(targetX + i, targetY, targetZ + j); + + if (te instanceof TileEntityRBMKControlManual) { + TileEntityRBMKControlManual rod = (TileEntityRBMKControlManual) te; + if(rod.color == RBMKColor.values()[color]){ + rod.startingLevel = rod.level; + new_level = Math.min(1, Math.max(0, new_level)); + + rod.setTarget(new_level); + te.markDirty(); + foundRods = true; + } + } + } + } + if(foundRods) + return new Object[] {}; + else + return new Object[] { "No rods for color "+color+" found" }; + } + return new Object[] {"Color "+color+" does not exist"}; + } + + @Callback(direct = true) + @Optional.Method(modid = "OpenComputers") + public Object[] setColor(Context context, Arguments args) { + int x = args.checkInteger(0) - 7; + int y = -args.checkInteger(1) + 7; + int new_color = args.checkInteger(2); + if(new_color >= 0 && new_color <=4){ + TileEntity te = worldObj.getTileEntity(targetX + x, targetY, targetZ + y); + + if (te instanceof TileEntityRBMKControlManual) { + TileEntityRBMKControlManual rod = (TileEntityRBMKControlManual) te; + rod.color = RBMKColor.values()[new_color]; + te.markDirty(); + return new Object[] {}; + } + return new Object[] {"No control rod found at "+(x+7)+","+(7-y)}; + } + return new Object[] {"Color "+new_color+" does not exist"}; + } + + @Callback(direct = true) + @Optional.Method(modid = "OpenComputers") + public Object[] pressAZ5(Context context, Arguments args) { + boolean hasRods = false; + for(int i = -7; i <= 7; i++) { + for(int j = -7; j <= 7; j++) { + TileEntity te = worldObj.getTileEntity(targetX + i, targetY, targetZ + j); + + if (te instanceof TileEntityRBMKControlManual) { + TileEntityRBMKControlManual rod = (TileEntityRBMKControlManual) te; + rod.startingLevel = rod.level; + rod.setTarget(0); + te.markDirty(); + hasRods = true; + } + } + } + if(hasRods){ + return new Object[] {}; + } else { + return new Object[] {"No control rods found"}; + } + } } diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java index 076e5afc6..e06d7ff1a 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java @@ -68,7 +68,7 @@ public abstract class TileEntityRBMKControl extends TileEntityRBMKSlottedBase im @Override public int trackingRange() { - return 150; + return 100; } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java index e1a0e3384..2b6d0c9b5 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java @@ -11,8 +11,10 @@ import com.hbm.items.ModItems; import com.hbm.items.machine.ItemRBMKRod; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; import com.hbm.util.Compat; +import com.hbm.util.CompatEnergyControl; import com.hbm.util.ParticleUtil; +import api.hbm.tile.IInfoProviderEC; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -31,7 +33,7 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBMKFluxReceiver, IRBMKLoadable, SimpleComponent { +public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBMKFluxReceiver, IRBMKLoadable, SimpleComponent, IInfoProviderEC { //amount of "neutron energy" buffered for the next tick to use for the reaction public double fluxFast; @@ -51,6 +53,11 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM public boolean isModerated() { return ((RBMKRod)this.getBlockType()).moderated; } + + @Override + public int trackingRange() { + return 25; + } @SuppressWarnings("incomplete-switch") //shut the fuck up @Override @@ -498,4 +505,15 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIRBMKRod(player.inventory, this); } + + @Override + public void provideExtraInfo(NBTTagCompound data) { + if(slots[0] != null && slots[0].getItem() instanceof ItemRBMKRod) { + data.setDouble(CompatEnergyControl.D_DEPLETION_PERCENT, ((1.0D - ItemRBMKRod.getEnrichment(slots[0])) * 100_000.0D) / 1_000.0D); + data.setDouble(CompatEnergyControl.D_XENON_PERCENT, ItemRBMKRod.getPoison(slots[0])); + data.setDouble(CompatEnergyControl.D_SKIN_C, ItemRBMKRod.getHullHeat(slots[0])); + data.setDouble(CompatEnergyControl.D_CORE_C, ItemRBMKRod.getCoreHeat(slots[0])); + data.setDouble(CompatEnergyControl.D_MELT_C, ((ItemRBMKRod) slots[0].getItem()).meltingPoint); + } + } } diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java index 66ea25fcb..bca156c87 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java @@ -10,6 +10,8 @@ import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.trait.FT_Corrosive; +import com.hbm.inventory.fluid.trait.FT_Polluting; +import com.hbm.inventory.fluid.trait.FluidTrait.FluidReleaseType; import com.hbm.inventory.gui.GUIBarrel; import com.hbm.lib.Library; import com.hbm.saveddata.TomSaveData; @@ -87,6 +89,7 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc public long transferFluid(FluidType type, int pressure, long fluid) { long toTransfer = Math.min(getDemand(type, pressure), fluid); tank.setFill(tank.getFill() + (int) toTransfer); + this.markChanged(); return fluid - toTransfer; } @@ -96,8 +99,10 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc if(!worldObj.isRemote) { byte comp = this.getComparatorPower(); //do comparator shenanigans - if(comp != this.lastRedstone) + if(comp != this.lastRedstone) { this.markDirty(); + for(DirPos pos : getConPos()) this.updateRedstoneConnection(pos); + } this.lastRedstone = comp; tank.setType(0, 1, slots); @@ -109,12 +114,6 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc tank.setFill(transmitFluidFairly(worldObj, tank, this, tank.getFill(), this.mode == 0 || this.mode == 1, this.mode == 1 || this.mode == 2, getConPos())); this.sendingBrake = false; - age++; - if(age >= 20) { - age = 0; - this.markChanged(); - } - if((mode == 1 || mode == 2) && (age == 9 || age == 19)) fillFluidInit(tank.getTankType()); @@ -249,8 +248,12 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "random.fizz", 1.0F, 1.0F); } - if(b == ModBlocks.barrel_corroded && worldObj.rand.nextInt(3) == 0) { - tank.setFill(tank.getFill() - 1); + if(b == ModBlocks.barrel_corroded ) { + if(worldObj.rand.nextInt(3) == 0) { + tank.setFill(tank.getFill() - 1); + FT_Polluting.pollute(worldObj, xCoord, yCoord, zCoord, tank.getTankType(), FluidReleaseType.SPILL, 1F); + } + if(worldObj.rand.nextInt(3 * 60 * 20) == 0) worldObj.func_147480_a(xCoord, yCoord, zCoord, false); } //For when Tom's firestorm hits a barrel full of water @@ -264,6 +267,8 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc } public void networkUnpack(NBTTagCompound data) { + super.networkUnpack(data); + mode = data.getShort("mode"); } diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java index c27670d37..84e40e47b 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java @@ -1,14 +1,22 @@ package com.hbm.tileentity.machine.storage; -import api.hbm.energy.*; +import api.hbm.energymk2.IBatteryItem; +import api.hbm.energymk2.IEnergyConductorMK2; +import api.hbm.energymk2.IEnergyProviderMK2; +import api.hbm.energymk2.IEnergyReceiverMK2; +import api.hbm.energymk2.Nodespace; +import api.hbm.energymk2.Nodespace.PowerNode; +import api.hbm.tile.IInfoProviderEC; + import com.hbm.blocks.machine.MachineBattery; -import com.hbm.config.GeneralConfig; import com.hbm.inventory.container.ContainerMachineBattery; import com.hbm.inventory.gui.GUIMachineBattery; import com.hbm.lib.Library; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IPersistentNBT; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.CompatEnergyControl; + import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -21,24 +29,19 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "opencomputers")}) -public class TileEntityMachineBattery extends TileEntityMachineBase implements IEnergyUser, IPersistentNBT, SimpleComponent, IGUIProvider { +public class TileEntityMachineBattery extends TileEntityMachineBase implements IEnergyConductorMK2, IEnergyProviderMK2, IEnergyReceiverMK2, IPersistentNBT, SimpleComponent, IGUIProvider, IInfoProviderEC { public long[] log = new long[20]; public long delta = 0; public long power = 0; public long prevPowerState = 0; - public int pingPongTicks = 0; + + protected PowerNode node; //0: input only //1: buffer @@ -91,8 +94,7 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I switch(i) { case 0: case 1: - if(stack.getItem() instanceof IBatteryItem) - return true; + if(stack.getItem() instanceof IBatteryItem) return true; break; } @@ -161,19 +163,43 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I if(!worldObj.isRemote && worldObj.getBlock(xCoord, yCoord, zCoord) instanceof MachineBattery) { + if(priority == null || priority.ordinal() == 0 || priority.ordinal() == 4) { + priority = ConnectionPriority.LOW; + } + + int mode = this.getRelevantMode(false); + + if(this.node == null || this.node.expired) { + + this.node = Nodespace.getNode(worldObj, xCoord, yCoord, zCoord); + + if(this.node == null || this.node.expired) { + this.node = this.createNode(); + Nodespace.createNode(worldObj, this.node); + } + } + long prevPower = this.power; power = Library.chargeItemsFromTE(slots, 1, power, getMaxPower()); - ////////////////////////////////////////////////////////////////////// - this.transmitPowerFairly(); - ////////////////////////////////////////////////////////////////////// + if(mode == mode_output || mode == mode_buffer) { + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) this.tryProvide(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); + } else { + if(node != null && node.hasValidNet()) node.net.removeProvider(this); + } byte comp = this.getComparatorPower(); if(comp != this.lastRedstone) this.markDirty(); this.lastRedstone = comp; + if(mode == mode_input || mode == mode_buffer) { + if(node != null && node.hasValidNet()) node.net.addReceiver(this); + } else { + if(node != null && node.hasValidNet()) node.net.removeReceiver(this); + } + power = Library.chargeTEFromItems(slots, 0, power, getMaxPower()); long avg = (power + prevPower) / 2; @@ -183,19 +209,6 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I this.log[i - 1] = this.log[i]; } - if(GeneralConfig.enable528) { - long threshold = this.getMaxPower() / 3; - if(Math.abs(prevPower - power) > threshold && Math.abs(prevPower - prevPowerState) > threshold) { - this.pingPongTicks++; - if(this.pingPongTicks > 10) { - worldObj.func_147480_a(xCoord, yCoord, zCoord, false); - worldObj.newExplosion(null, xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, 10F, false, false); - } - } else { - if(this.pingPongTicks > 0) this.pingPongTicks--; - } - } - this.log[19] = avg; prevPowerState = power; @@ -210,119 +223,34 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I } } - protected void transmitPowerFairly() { - - short mode = (short) this.getRelevantMode(); - - //HasSets to we don'T have any duplicates - Set nets = new HashSet(); - Set consumers = new HashSet(); - - //iterate over all sides - for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { - - TileEntity te = worldObj.getTileEntity(xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ); - - //if it's a cable, buffer both the network and all subscribers of the net - if(te instanceof IEnergyConductor) { - IEnergyConductor con = (IEnergyConductor) te; - if(con.canConnect(dir.getOpposite()) && con.getPowerNet() != null) { - nets.add(con.getPowerNet()); - con.getPowerNet().unsubscribe(this); - consumers.addAll(con.getPowerNet().getSubscribers()); - } - - //if it's just a consumer, buffer it as a subscriber - } else if(te instanceof IEnergyConnector) { - IEnergyConnector con = (IEnergyConnector) te; - if(con.canConnect(dir.getOpposite())) { - consumers.add((IEnergyConnector) te); - } - } - } - - //send power to buffered consumers, independent of nets - if(this.power > 0 && (mode == mode_buffer || mode == mode_output)) { - List con = new ArrayList(); - con.addAll(consumers); - - if(PowerNet.trackingInstances == null) { - PowerNet.trackingInstances = new ArrayList(); - } - PowerNet.trackingInstances.clear(); - - nets.forEach(x -> { - if(x instanceof PowerNet) PowerNet.trackingInstances.add((PowerNet) x); - }); - - long toSend = Math.min(this.power, this.getMaxTransfer()); - long powerRemaining = this.power - toSend; - this.power = PowerNet.fairTransfer(con, toSend) + powerRemaining; - } - - //resubscribe to buffered nets, if necessary - if(mode == mode_buffer || mode == mode_input) { - nets.forEach(x -> x.subscribe(this)); - } - } - - @Deprecated protected void transmitPower() { - - short mode = (short) this.getRelevantMode(); - - for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { - - TileEntity te = worldObj.getTileEntity(xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ); - - // first we make sure we're not subscribed to the network that we'll be supplying - if(te instanceof IEnergyConductor) { - IEnergyConductor con = (IEnergyConductor) te; - - if(con.getPowerNet() != null && con.getPowerNet().isSubscribed(this)) - con.getPowerNet().unsubscribe(this); - } - - //then we add energy - if(mode == mode_buffer || mode == mode_output) { - if(te instanceof IEnergyConnector) { - IEnergyConnector con = (IEnergyConnector) te; - - long max = getMaxTransfer(); - long toTransfer = Math.min(max, this.power); - long remainder = this.power - toTransfer; - this.power = toTransfer; - - long oldPower = this.power; - long transfer = this.power - con.transferPower(this.power); - this.power = oldPower - transfer; - - power += remainder; - } - } - - //then we subscribe if possible - if(te instanceof IEnergyConductor) { - IEnergyConductor con = (IEnergyConductor) te; - - if(con.getPowerNet() != null) { - if(mode == mode_output || mode == mode_none) { - if(con.getPowerNet().isSubscribed(this)) { - con.getPowerNet().unsubscribe(this); - } - } else if(!con.getPowerNet().isSubscribed(this)) { - con.getPowerNet().subscribe(this); - } - } - } - } - } - - public long getMaxTransfer() { - return this.getMaxPower() / 20; + public void onNodeDestroyedCallback() { + this.node = null; } @Override - public void networkUnpack(NBTTagCompound nbt) { + public void invalidate() { + super.invalidate(); + + if(!worldObj.isRemote) { + if(this.node != null) { + Nodespace.destroyNode(worldObj, xCoord, yCoord, zCoord); + } + } + } + + @Override public long getProviderSpeed() { + int mode = this.getRelevantMode(true); + return mode == mode_output || mode == mode_buffer ? this.getMaxPower() / 20 : 0; + } + + @Override public long getReceiverSpeed() { + int mode = this.getRelevantMode(true); + return mode == mode_input || mode == mode_buffer ? this.getMaxPower() / 20 : 0; + } + + @Override + public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); this.power = nbt.getLong("power"); this.delta = nbt.getLong("delta"); @@ -336,13 +264,11 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I return power; } - public short getRelevantMode() { - - if(worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord, zCoord)) { - return this.redHigh; - } else { - return this.redLow; - } + private short modeCache = 0; + public short getRelevantMode(boolean useCache) { + if(useCache) return this.modeCache; + this.modeCache = worldObj.isBlockIndirectlyGettingPowered(xCoord, yCoord, zCoord) ? this.redHigh : this.redLow; + return this.modeCache; } private long bufferedMax; @@ -356,63 +282,10 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I return bufferedMax; } - - /* - * SATAN - TECH - */ - @Override - public long transferPower(long power) { - - long overshoot = 0; - - // if power exceeds our transfer limit, truncate - if(power > getMaxTransfer()) { - overshoot += power - getMaxTransfer(); - power = getMaxTransfer(); - } - - // this check is in essence the same as the default implementation, but re-arranged to never overflow the int64 range - // if the remaining power exceeds the power cap, truncate again - long freespace = this.getMaxPower() - this.getPower(); - - if(freespace < power) { - overshoot += power - freespace; - power = freespace; - } - - // what remains is sure to not exceed the transfer limit and the power cap (and therefore the int64 range) - this.setPower(this.getPower() + power); - this.worldObj.markTileEntityChunkModified(this.xCoord, this.yCoord, this.zCoord, this); - - return overshoot; - } - - @Override - public long getTransferWeight() { - int mode = this.getRelevantMode(); - - if(mode == mode_output || mode == mode_none) { - return 0; - } - - return Math.min(Math.max(getMaxPower() - getPower(), 0), this.getMaxTransfer()); - } - - @Override - public boolean canConnect(ForgeDirection dir) { - return true; - } - - @Override - public void setPower(long power) { - this.power = power; - } - - @Override - public ConnectionPriority getPriority() { - return this.priority; - } + @Override public boolean canConnect(ForgeDirection dir) { return true; } + @Override public void setPower(long power) { this.power = power; } + @Override public ConnectionPriority getPriority() { return this.priority; } // do some opencomputer stuff @Override @@ -463,4 +336,9 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineBattery(player.inventory, this); } + + @Override + public void provideExtraInfo(NBTTagCompound data) { + data.setLong(CompatEnergyControl.L_DIFF_HE, (log[0] - log[19]) / 20L); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFENSU.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFENSU.java index 3ece44aca..bef292604 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFENSU.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFENSU.java @@ -1,16 +1,11 @@ package com.hbm.tileentity.machine.storage; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - import com.hbm.lib.Library; +import com.hbm.util.fauxpointtwelve.BlockPos; +import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IEnergyConductor; -import api.hbm.energy.IEnergyConnector; -import api.hbm.energy.IPowerNet; -import api.hbm.energy.PowerNet; +import api.hbm.energymk2.Nodespace; +import api.hbm.energymk2.Nodespace.PowerNode; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.nbt.NBTTagCompound; @@ -24,25 +19,55 @@ public class TileEntityMachineFENSU extends TileEntityMachineBattery { public float rotation = 0F; public static final long maxTransfer = 10_000_000_000_000_000L; + + @Override public long getProviderSpeed() { + int mode = this.getRelevantMode(true); + return mode == mode_output || mode == mode_buffer ? maxTransfer : 0; + } + + @Override public long getReceiverSpeed() { + int mode = this.getRelevantMode(true); + return mode == mode_input || mode == mode_buffer ? maxTransfer : 0; + } @Override public void updateEntity() { if(!worldObj.isRemote) { + + int mode = this.getRelevantMode(false); + + if(this.node == null || this.node.expired) { + + this.node = Nodespace.getNode(worldObj, xCoord, yCoord, zCoord); + + if(this.node == null || this.node.expired) { + this.node = this.createNode(); + Nodespace.createNode(worldObj, this.node); + } + } long prevPower = this.power; power = Library.chargeItemsFromTE(slots, 1, power, getMaxPower()); - ////////////////////////////////////////////////////////////////////// - this.transmitPowerFairly(); - ////////////////////////////////////////////////////////////////////// + if(mode == mode_output || mode == mode_buffer) { + this.tryProvide(worldObj, xCoord, yCoord - 1, zCoord, ForgeDirection.DOWN); + } else { + if(node != null && node.hasValidNet()) node.net.removeProvider(this); + } byte comp = this.getComparatorPower(); if(comp != this.lastRedstone) this.markDirty(); this.lastRedstone = comp; + if(mode == mode_input || mode == mode_buffer) { + if(node != null && node.hasValidNet()) node.net.addReceiver(this); + } else { + if(node != null && node.hasValidNet()) node.net.removeReceiver(this); + } + power = Library.chargeTEFromItems(slots, 0, power, getMaxPower()); long avg = (power / 2 + prevPower / 2); @@ -73,61 +98,10 @@ public class TileEntityMachineFENSU extends TileEntityMachineBattery { } } } - - @Deprecated protected void transmitPower() { - - short mode = (short) this.getRelevantMode(); - - //HasSets to we don'T have any duplicates - Set nets = new HashSet(); - Set consumers = new HashSet(); - - //iterate over all sides - for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { - - TileEntity te = worldObj.getTileEntity(xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ); - - //if it's a cable, buffer both the network and all subscribers of the net - if(te instanceof IEnergyConductor) { - IEnergyConductor con = (IEnergyConductor) te; - if(con.canConnect(dir.getOpposite()) && con.getPowerNet() != null) { - nets.add(con.getPowerNet()); - con.getPowerNet().unsubscribe(this); - consumers.addAll(con.getPowerNet().getSubscribers()); - } - - //if it's just a consumer, buffer it as a subscriber - } else if(te instanceof IEnergyConnector) { - IEnergyConnector con = (IEnergyConnector) te; - if(con.canConnect(dir.getOpposite())) { - consumers.add((IEnergyConnector) te); - } - } - } - //send power to buffered consumers, independent of nets - if(this.power > 0 && (mode == mode_buffer || mode == mode_output)) { - List con = new ArrayList(); - con.addAll(consumers); - - if(PowerNet.trackingInstances == null) { - PowerNet.trackingInstances = new ArrayList(); - } - PowerNet.trackingInstances.clear(); - - nets.forEach(x -> { - if(x instanceof PowerNet) PowerNet.trackingInstances.add((PowerNet) x); - }); - - long toSend = Math.min(this.power, maxTransfer); - long powerRemaining = this.power - toSend; - this.power = PowerNet.fairTransfer(con, toSend) + powerRemaining; - } - - //resubscribe to buffered nets, if necessary - if(mode == mode_buffer || mode == mode_input) { - nets.forEach(x -> x.subscribe(this)); - } + @Override + public PowerNode createNode() { + return new PowerNode(new BlockPos(xCoord, yCoord, zCoord)).setConnections(new DirPos(xCoord, yCoord - 1, zCoord, Library.NEG_Y)); } @Override @@ -140,11 +114,6 @@ public class TileEntityMachineFENSU extends TileEntityMachineBattery { public long getMaxPower() { return Long.MAX_VALUE; } - - @Override - public long getMaxTransfer() { - return maxTransfer; - } public float getSpeed() { return (float) Math.pow(Math.log(power * 0.75 + 1) * 0.05F, 5); diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java index 3b4e8d261..73e3e47e2 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java @@ -4,9 +4,8 @@ import api.hbm.fluid.IFluidStandardTransceiver; import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ModBlocks; import com.hbm.explosion.vanillant.ExplosionVNT; +import com.hbm.extprop.HbmPlayerProps; import com.hbm.handler.MultiblockHandlerXR; -import com.hbm.handler.pollution.PollutionHandler; -import com.hbm.handler.pollution.PollutionHandler.PollutionType; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; import com.hbm.interfaces.IFluidSource; @@ -15,13 +14,9 @@ import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.RecipesCommon.OreDictStack; import com.hbm.inventory.container.ContainerMachineFluidTank; import com.hbm.inventory.fluid.FluidType; -import com.hbm.inventory.fluid.trait.FT_Corrosive; -import com.hbm.inventory.fluid.trait.FT_Flammable; -import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Amat; -import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Gaseous; -import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Gaseous_ART; -import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Leaded; -import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Liquid; +import com.hbm.inventory.fluid.trait.*; +import com.hbm.inventory.fluid.trait.FluidTrait.FluidReleaseType; +import com.hbm.inventory.fluid.trait.FluidTraitSimple.*; import com.hbm.inventory.gui.GUIMachineFluidTank; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; @@ -127,11 +122,15 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements tank.loadTank(2, 3, slots); tank.setType(0, 1, slots); + } else { + for(DirPos pos : getConPos()) this.tryUnsubscribe(tank.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ()); } byte comp = this.getComparatorPower(); //comparator shit - if(comp != this.lastRedstone) + if(comp != this.lastRedstone) { this.markDirty(); + for(DirPos pos : getConPos()) this.updateRedstoneConnection(pos); + } this.lastRedstone = comp; if(tank.getFill() > 0) { @@ -168,6 +167,15 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements this.tank.writeToNBT(data, "t"); this.networkPack(data, 150); } + + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + List players = worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox(xCoord, yCoord, zCoord, xCoord + 1, yCoord + 2.875, zCoord + 1).offset(dir.offsetX * 0.5 - rot.offsetX * 2.25, 0, dir.offsetZ * 0.5 - rot.offsetZ * 2.25)); + + for(EntityPlayer player : players) { + HbmPlayerProps props = HbmPlayerProps.getData(player); + props.isOnLadder = true; + } } /** called when the tank breaks due to hazardous materials or external force, can be used to quickly void part of the tank or spawn a mushroom cloud */ @@ -196,9 +204,8 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements Random rand = worldObj.rand; ParticleUtil.spawnGasFlame(worldObj, xCoord + rand.nextDouble(), yCoord + 0.5 + rand.nextDouble(), zCoord + rand.nextDouble(), rand.nextGaussian() * 0.2, 0.1, rand.nextGaussian() * 0.2); - if(worldObj.getTotalWorldTime() % 20 == 0) { - PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * 50); - if(type.hasTrait(FT_Leaded.class)) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.HEAVYMETAL, PollutionHandler.HEAVY_METAL_PER_SECOND * 50); + if(worldObj.getTotalWorldTime() % 5 == 0) { + FT_Polluting.pollute(worldObj, xCoord, yCoord, zCoord, tank.getTankType(), FluidReleaseType.BURN, amount * 5); } } else if(type.hasTrait(FT_Gaseous.class) || type.hasTrait(FT_Gaseous_ART.class)) { @@ -213,6 +220,10 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements data.setInteger("color", tank.getTankType().getColor()); PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, xCoord + 0.5, yCoord + 1, zCoord + 0.5), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150)); } + + if(worldObj.getTotalWorldTime() % 5 == 0 ) { + FT_Polluting.pollute(worldObj, xCoord, yCoord, zCoord, tank.getTankType(), FluidReleaseType.SPILL, amount * 5); + } } } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityCableBaseNT.java b/src/main/java/com/hbm/tileentity/network/TileEntityCableBaseNT.java index 71b37ab3c..8afaeb73c 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityCableBaseNT.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityCableBaseNT.java @@ -1,53 +1,40 @@ package com.hbm.tileentity.network; -import api.hbm.energy.IEnergyConductor; -import api.hbm.energy.IPowerNet; -import api.hbm.energy.PowerNet; +import api.hbm.energymk2.IEnergyConductorMK2; +import api.hbm.energymk2.Nodespace; +import api.hbm.energymk2.Nodespace.PowerNode; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityCableBaseNT extends TileEntity implements IEnergyConductor { +public class TileEntityCableBaseNT extends TileEntity implements IEnergyConductorMK2 { - protected IPowerNet network; + protected PowerNode node; @Override public void updateEntity() { - if(!worldObj.isRemote && canUpdate()) { + if(!worldObj.isRemote) { - //we got here either because the net doesn't exist or because it's not valid, so that's safe to assume - this.setPowerNet(null); - - this.connect(); - - if(this.getPowerNet() == null) { - this.setPowerNet(new PowerNet().joinLink(this)); + if(this.node == null || this.node.expired) { + + if(this.shouldCreateNode()) { + this.node = Nodespace.getNode(worldObj, xCoord, yCoord, zCoord); + + if(this.node == null || this.node.expired) { + this.node = this.createNode(); + Nodespace.createNode(worldObj, this.node); + } + } } } } - protected void connect() { - - for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { - - TileEntity te = worldObj.getTileEntity(xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ); - - if(te instanceof IEnergyConductor) { - - IEnergyConductor conductor = (IEnergyConductor) te; - - if(!conductor.canConnect(dir.getOpposite())) - continue; - - if(this.getPowerNet() == null && conductor.getPowerNet() != null) { - conductor.getPowerNet().joinLink(this); - } - - if(this.getPowerNet() != null && conductor.getPowerNet() != null && this.getPowerNet() != conductor.getPowerNet()) { - conductor.getPowerNet().joinNetworks(this.getPowerNet()); - } - } - } + public boolean shouldCreateNode() { + return true; + } + + public void onNodeDestroyedCallback() { + this.node = null; } @Override @@ -55,52 +42,14 @@ public class TileEntityCableBaseNT extends TileEntity implements IEnergyConducto super.invalidate(); if(!worldObj.isRemote) { - if(this.network != null) { - this.network.reevaluate(); - this.network = null; + if(this.node != null) { + Nodespace.destroyNode(worldObj, xCoord, yCoord, zCoord); } } } - /** - * Only update until a power net is formed, in >99% of the cases it should be the first tick. Everything else is handled by neighbors and the net itself. - */ - @Override - public boolean canUpdate() { - return (this.network == null || !this.network.isValid()) && !this.isInvalid(); - } - @Override public boolean canConnect(ForgeDirection dir) { return dir != ForgeDirection.UNKNOWN; } - - @Override - public long getPower() { - return 0; - } - - @Override - public long getMaxPower() { - return 0; - } - - @Override - public void setPowerNet(IPowerNet network) { - this.network = network; - } - - @Override - public long transferPower(long power) { - - if(this.network == null) - return power; - - return this.network.transferPower(power); - } - - @Override - public IPowerNet getPowerNet() { - return this.network; - } } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityCableSwitch.java b/src/main/java/com/hbm/tileentity/network/TileEntityCableSwitch.java index e8a80f871..acdffcd99 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityCableSwitch.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityCableSwitch.java @@ -1,33 +1,26 @@ package com.hbm.tileentity.network; -import api.hbm.energy.PowerNet; +import api.hbm.energymk2.Nodespace; public class TileEntityCableSwitch extends TileEntityCableBaseNT { @Override public boolean canUpdate() { - return this.worldObj != null && this.getBlockMetadata() == 1 && super.canUpdate(); + return super.canUpdate(); } public void updateState() { //if the meta is 0 (OFF) and there is a net present, destroy and de-reference it. //that should be all, since the state being 0 also prevents the TE from updating and joining the new net. - if(this.getBlockMetadata() == 0 && this.network != null) { - this.network.reevaluate(); - this.network = null; - } - - if(this.getBlockMetadata() == 1) { - this.connect(); - - if(this.getPowerNet() == null) { - new PowerNet().joinLink(this); - } + if(this.getBlockMetadata() == 0 && this.node != null) { + Nodespace.destroyNode(worldObj, xCoord, yCoord, zCoord); + this.node = null; } } - public boolean canReevaluate() { - return super.canReevaluate() && this.getBlockMetadata() == 1; + @Override + public boolean shouldCreateNode() { + return this.getBlockMetadata() == 1; } } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityConnector.java b/src/main/java/com/hbm/tileentity/network/TileEntityConnector.java index dc20b8f8d..baa262982 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityConnector.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityConnector.java @@ -1,9 +1,9 @@ package com.hbm.tileentity.network; -import java.util.ArrayList; -import java.util.List; +import com.hbm.util.fauxpointtwelve.BlockPos; +import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IEnergyConductor; +import api.hbm.energymk2.Nodespace.PowerNode; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.Vec3; import net.minecraftforge.common.util.ForgeDirection; @@ -24,33 +24,16 @@ public class TileEntityConnector extends TileEntityPylonBase { public double getMaxWireLength() { return 10; } - + @Override - public List getConnectionPoints() { - List pos = new ArrayList(connected); - + public PowerNode createNode() { + TileEntity tile = (TileEntity) this; ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()).getOpposite(); - //pos.add(new int[] {xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ}); - - TileEntity te = worldObj.getTileEntity(xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ); - - if(te instanceof IEnergyConductor) { - - IEnergyConductor conductor = (IEnergyConductor) te; - - if(conductor.canConnect(dir.getOpposite())) { - - if(this.getPowerNet() == null && conductor.getPowerNet() != null) { - conductor.getPowerNet().joinLink(this); - } - - if(this.getPowerNet() != null && conductor.getPowerNet() != null && this.getPowerNet() != conductor.getPowerNet()) { - conductor.getPowerNet().joinNetworks(this.getPowerNet()); - } - } - } - - return pos; + PowerNode node = new PowerNode(new BlockPos(tile.xCoord, tile.yCoord, tile.zCoord)).setConnections( + new DirPos(xCoord, yCoord, zCoord, ForgeDirection.UNKNOWN), + new DirPos(xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir)); + for(int[] pos : this.connected) node.addConnection(new DirPos(pos[0], pos[1], pos[2], ForgeDirection.UNKNOWN)); + return node; } @Override diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityConverterHeRf.java b/src/main/java/com/hbm/tileentity/network/TileEntityConverterHeRf.java index 941f83c1c..325e31ee1 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityConverterHeRf.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityConverterHeRf.java @@ -3,13 +3,13 @@ package com.hbm.tileentity.network; import com.hbm.calc.Location; import com.hbm.tileentity.TileEntityLoadedBase; -import api.hbm.energy.IEnergyConnector; +import api.hbm.energymk2.IEnergyReceiverMK2; import cofh.api.energy.IEnergyHandler; import cofh.api.energy.IEnergyReceiver; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityConverterHeRf extends TileEntityLoadedBase implements IEnergyConnector, IEnergyHandler { +public class TileEntityConverterHeRf extends TileEntityLoadedBase implements IEnergyReceiverMK2, IEnergyHandler { //Thanks to the great people of Fusion Warfare for helping me with the original implementation of the RF energy API @@ -22,30 +22,13 @@ public class TileEntityConverterHeRf extends TileEntityLoadedBase implements IEn } } - @Override - public boolean canConnectEnergy(ForgeDirection from) { - return true; - } - - @Override - public int extractEnergy(ForgeDirection from, int maxExtract, boolean simulate) { - return 0; - } - - @Override - public int getEnergyStored(ForgeDirection from) { - return 0; - } - - @Override - public int getMaxEnergyStored(ForgeDirection from) { - return 0; - } - - @Override - public long getPower() { - return 0; - } + @Override public boolean canConnectEnergy(ForgeDirection from) { return true; } + @Override public int receiveEnergy(ForgeDirection from, int maxReceive, boolean simulate) { return 0; } + @Override public int extractEnergy(ForgeDirection from, int maxExtract, boolean simulate) { return 0; } + @Override public int getEnergyStored(ForgeDirection from) { return 0; } + @Override public int getMaxEnergyStored(ForgeDirection from) { return 0; } + @Override public long getPower() { return 0; } + @Override public void setPower(long power) { } @Override public long getMaxPower() { @@ -55,7 +38,7 @@ public class TileEntityConverterHeRf extends TileEntityLoadedBase implements IEn private long lastTransfer = 0; @Override - public long getTransferWeight() { + public long getReceiverSpeed() { if(lastTransfer > 0) { return lastTransfer * 2; @@ -63,11 +46,6 @@ public class TileEntityConverterHeRf extends TileEntityLoadedBase implements IEn return getMaxPower(); } } - - @Override - public int receiveEnergy(ForgeDirection from, int maxReceive, boolean simulate) { - return 0; - } private boolean recursionBrake = false; diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityConverterRfHe.java b/src/main/java/com/hbm/tileentity/network/TileEntityConverterRfHe.java index 7346c5066..a41c62ce2 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityConverterRfHe.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityConverterRfHe.java @@ -3,11 +3,11 @@ package com.hbm.tileentity.network; import com.hbm.interfaces.Untested; import com.hbm.tileentity.TileEntityLoadedBase; -import api.hbm.energy.IEnergyGenerator; +import api.hbm.energymk2.IEnergyProviderMK2; import cofh.api.energy.IEnergyHandler; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityConverterRfHe extends TileEntityLoadedBase implements IEnergyGenerator, IEnergyHandler { +public class TileEntityConverterRfHe extends TileEntityLoadedBase implements IEnergyProviderMK2, IEnergyHandler { @Override public void setPower(long power) { @@ -48,7 +48,7 @@ public class TileEntityConverterRfHe extends TileEntityLoadedBase implements IEn subBuffer = capacity; for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { - this.sendPower(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); + this.tryProvide(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); } recursionBrake = false; diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityCraneBoxer.java b/src/main/java/com/hbm/tileentity/network/TileEntityCraneBoxer.java index 2996d102a..a634dcc79 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityCraneBoxer.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityCraneBoxer.java @@ -151,6 +151,8 @@ public class TileEntityCraneBoxer extends TileEntityCraneBase implements IGUIPro } public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + this.mode = nbt.getByte("mode"); } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityCraneExtractor.java b/src/main/java/com/hbm/tileentity/network/TileEntityCraneExtractor.java index d947f9922..8f08fa356 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityCraneExtractor.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityCraneExtractor.java @@ -172,6 +172,8 @@ public class TileEntityCraneExtractor extends TileEntityCraneBase implements IGU } public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + this.isWhitelist = nbt.getBoolean("isWhitelist"); this.matcher.modes = new String[this.matcher.modes.length]; this.matcher.readFromNBT(nbt); diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityCraneGrabber.java b/src/main/java/com/hbm/tileentity/network/TileEntityCraneGrabber.java index e6dc6b48b..e5878bfb3 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityCraneGrabber.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityCraneGrabber.java @@ -9,6 +9,8 @@ import com.hbm.inventory.gui.GUICraneGrabber; import com.hbm.items.ModItems; import com.hbm.module.ModulePatternMatcher; import com.hbm.tileentity.IGUIProvider; +import com.hbm.util.InventoryUtil; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; @@ -81,7 +83,7 @@ public class TileEntityCraneGrabber extends TileEntityCraneBase implements IGUIP if(te instanceof ISidedInventory) { sided = (ISidedInventory) te; - access = CraneInserter.masquerade(sided, outputSide.getOpposite().ordinal()); + access = InventoryUtil.masquerade(sided, outputSide.getOpposite().ordinal()); } if(te instanceof IInventory) { @@ -137,6 +139,8 @@ public class TileEntityCraneGrabber extends TileEntityCraneBase implements IGUIP } public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + this.isWhitelist = nbt.getBoolean("isWhitelist"); this.matcher.modes = new String[this.matcher.modes.length]; this.matcher.readFromNBT(nbt); diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityCraneInserter.java b/src/main/java/com/hbm/tileentity/network/TileEntityCraneInserter.java index 9de4fb7fc..b98985bc2 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityCraneInserter.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityCraneInserter.java @@ -4,6 +4,8 @@ import com.hbm.blocks.network.CraneInserter; import com.hbm.inventory.container.ContainerCraneInserter; import com.hbm.inventory.gui.GUICraneInserter; import com.hbm.tileentity.IGUIProvider; +import com.hbm.util.InventoryUtil; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.GuiScreen; @@ -42,7 +44,7 @@ public class TileEntityCraneInserter extends TileEntityCraneBase implements IGUI if(te instanceof ISidedInventory) { ISidedInventory sided = (ISidedInventory) te; //access = sided.getAccessibleSlotsFromSide(dir.ordinal()); - access = CraneInserter.masquerade(sided, outputSide.getOpposite().ordinal()); + access = InventoryUtil.masquerade(sided, outputSide.getOpposite().ordinal()); } if(te instanceof IInventory) { diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityCraneRouter.java b/src/main/java/com/hbm/tileentity/network/TileEntityCraneRouter.java index 68db57165..603e839e4 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityCraneRouter.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityCraneRouter.java @@ -57,6 +57,8 @@ public class TileEntityCraneRouter extends TileEntityMachineBase implements IGUI @Override public void networkUnpack(NBTTagCompound data) { + super.networkUnpack(data); + for(int i = 0; i < patterns.length; i++) { NBTTagCompound compound = data.getCompoundTag("pattern" + i); patterns[i].readFromNBT(compound); diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityPipeBaseNT.java b/src/main/java/com/hbm/tileentity/network/TileEntityPipeBaseNT.java index c238da297..4db863014 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityPipeBaseNT.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityPipeBaseNT.java @@ -153,4 +153,17 @@ public class TileEntityPipeBaseNT extends TileEntity implements IFluidConductor super.writeToNBT(nbt); nbt.setInteger("type", this.type.getID()); } + + public boolean isLoaded = true; + + @Override + public boolean isLoaded() { + return isLoaded; + } + + @Override + public void onChunkUnload() { + super.onChunkUnload(); + this.isLoaded = false; + } } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityPipeExhaust.java b/src/main/java/com/hbm/tileentity/network/TileEntityPipeExhaust.java index 992aca682..5d4ac7d1c 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityPipeExhaust.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityPipeExhaust.java @@ -112,4 +112,17 @@ public class TileEntityPipeExhaust extends TileEntity implements IFluidConductor if(type == Fluids.SMOKE_LEADED) nets[1] = network; if(type == Fluids.SMOKE_POISON) nets[2] = network; } + + public boolean isLoaded = true; + + @Override + public boolean isLoaded() { + return isLoaded; + } + + @Override + public void onChunkUnload() { + super.onChunkUnload(); + this.isLoaded = false; + } } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityPylon.java b/src/main/java/com/hbm/tileentity/network/TileEntityPylon.java index 3dde2245e..03646593c 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityPylon.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityPylon.java @@ -1,8 +1,11 @@ package com.hbm.tileentity.network; -import java.util.ArrayList; -import java.util.List; +import com.hbm.lib.Library; +import com.hbm.util.fauxpointtwelve.BlockPos; +import com.hbm.util.fauxpointtwelve.DirPos; +import api.hbm.energymk2.Nodespace.PowerNode; +import net.minecraft.tileentity.TileEntity; import net.minecraft.util.Vec3; import net.minecraftforge.common.util.ForgeDirection; @@ -22,14 +25,20 @@ public class TileEntityPylon extends TileEntityPylonBase { public double getMaxWireLength() { return 25D; } - + @Override - public List getConnectionPoints() { - List pos = new ArrayList(connected); - - for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { - pos.add(new int[] {xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ}); - } - return pos; + public PowerNode createNode() { + TileEntity tile = (TileEntity) this; + PowerNode node = new PowerNode(new BlockPos(tile.xCoord, tile.yCoord, tile.zCoord)).setConnections( + new DirPos(xCoord, yCoord, zCoord, ForgeDirection.UNKNOWN), + new DirPos(xCoord + 1, yCoord, zCoord, Library.POS_X), + new DirPos(xCoord - 1, yCoord, zCoord, Library.NEG_X), + new DirPos(xCoord, yCoord + 1, zCoord, Library.POS_Y), + new DirPos(xCoord, yCoord - 1, zCoord, Library.NEG_Y), + new DirPos(xCoord, yCoord, zCoord + 1, Library.POS_Z), + new DirPos(xCoord, yCoord, zCoord - 1, Library.NEG_Z) + ); + for(int[] pos : this.connected) node.addConnection(new DirPos(pos[0], pos[1], pos[2], ForgeDirection.UNKNOWN)); + return node; } } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityPylonBase.java b/src/main/java/com/hbm/tileentity/network/TileEntityPylonBase.java index 09e335094..7581ddaed 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityPylonBase.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityPylonBase.java @@ -3,9 +3,15 @@ package com.hbm.tileentity.network; import java.util.ArrayList; import java.util.List; -import api.hbm.energy.IEnergyConductor; +import com.hbm.util.ColorUtil; +import com.hbm.util.fauxpointtwelve.BlockPos; +import com.hbm.util.fauxpointtwelve.DirPos; + +import api.hbm.energymk2.Nodespace; +import api.hbm.energymk2.Nodespace.PowerNode; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.NetworkManager; import net.minecraft.network.Packet; @@ -14,10 +20,12 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.Vec3; import net.minecraft.world.WorldServer; +import net.minecraftforge.common.util.ForgeDirection; public abstract class TileEntityPylonBase extends TileEntityCableBaseNT { public List connected = new ArrayList(); + public int color; public static int canConnect(TileEntityPylonBase first, TileEntityPylonBase second) { @@ -41,14 +49,37 @@ public abstract class TileEntityPylonBase extends TileEntityCableBaseNT { return len >= delta.lengthVector() ? 0 : 3; } + public boolean setColor(ItemStack stack) { + if(stack == null) return false; + int color = ColorUtil.getColorFromDye(stack); + if(color == 0 || color == this.color) return false; + stack.stackSize--; + this.color = color; + + this.markDirty(); + if(worldObj instanceof WorldServer) { + WorldServer world = (WorldServer) worldObj; + world.getPlayerManager().markBlockForUpdate(xCoord, yCoord, zCoord); + } + + return true; + } + + @Override + public PowerNode createNode() { + TileEntity tile = (TileEntity) this; + PowerNode node = new PowerNode(new BlockPos(tile.xCoord, tile.yCoord, tile.zCoord)).setConnections(new DirPos(xCoord, yCoord, zCoord, ForgeDirection.UNKNOWN)); + for(int[] pos : this.connected) node.addConnection(new DirPos(pos[0], pos[1], pos[2], ForgeDirection.UNKNOWN)); + return node; + } + public void addConnection(int x, int y, int z) { connected.add(new int[] {x, y, z}); - if(this.getPowerNet() != null) { - this.getPowerNet().reevaluate(); - this.network = null; - } + PowerNode node = Nodespace.getNode(worldObj, xCoord, yCoord, zCoord); + node.recentlyChanged = true; + node.addConnection(new DirPos(x, y, z, ForgeDirection.UNKNOWN)); this.markDirty(); @@ -69,6 +100,7 @@ public abstract class TileEntityPylonBase extends TileEntityCableBaseNT { if(te instanceof TileEntityPylonBase) { TileEntityPylonBase pylon = (TileEntityPylonBase) te; + Nodespace.destroyNode(worldObj, pos[0], pos[1], pos[2]); for(int i = 0; i < pylon.connected.size(); i++) { int[] conPos = pylon.connected.get(i); @@ -87,33 +119,8 @@ public abstract class TileEntityPylonBase extends TileEntityCableBaseNT { } } } - } - - @Override - protected void connect() { - for(int[] pos : getConnectionPoints()) { - - TileEntity te = worldObj.getTileEntity(pos[0], pos[1], pos[2]); - - if(te instanceof IEnergyConductor) { - - IEnergyConductor conductor = (IEnergyConductor) te; - - if(this.getPowerNet() == null && conductor.getPowerNet() != null) { - conductor.getPowerNet().joinLink(this); - } - - if(this.getPowerNet() != null && conductor.getPowerNet() != null && this.getPowerNet() != conductor.getPowerNet()) { - conductor.getPowerNet().joinNetworks(this.getPowerNet()); - } - } - } - } - - @Override - public List getConnectionPoints() { - return new ArrayList(connected); + Nodespace.destroyNode(worldObj, xCoord, yCoord, zCoord); } public abstract ConnectionType getConnectionType(); @@ -132,8 +139,9 @@ public abstract class TileEntityPylonBase extends TileEntityCableBaseNT { @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - + nbt.setInteger("conCount", connected.size()); + nbt.setInteger("color", color); for(int i = 0; i < connected.size(); i++) { nbt.setIntArray("con" + i, connected.get(i)); @@ -145,6 +153,7 @@ public abstract class TileEntityPylonBase extends TileEntityCableBaseNT { super.readFromNBT(nbt); int count = nbt.getInteger("conCount"); + this.color = nbt.getInteger("color"); this.connected.clear(); @@ -168,6 +177,7 @@ public abstract class TileEntityPylonBase extends TileEntityCableBaseNT { public static enum ConnectionType { SINGLE, + TRIPLE, QUAD //more to follow } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityPylonLarge.java b/src/main/java/com/hbm/tileentity/network/TileEntityPylonLarge.java index f0ef0c3d5..03b588ed0 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityPylonLarge.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityPylonLarge.java @@ -37,5 +37,4 @@ public class TileEntityPylonLarge extends TileEntityPylonBase { public double getMaxWireLength() { return 100; } - } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityPylonMedium.java b/src/main/java/com/hbm/tileentity/network/TileEntityPylonMedium.java new file mode 100644 index 000000000..fd7cb146f --- /dev/null +++ b/src/main/java/com/hbm/tileentity/network/TileEntityPylonMedium.java @@ -0,0 +1,59 @@ +package com.hbm.tileentity.network; + +import com.hbm.blocks.ModBlocks; +import com.hbm.util.fauxpointtwelve.BlockPos; +import com.hbm.util.fauxpointtwelve.DirPos; + +import api.hbm.energymk2.Nodespace.PowerNode; +import net.minecraft.block.Block; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.Vec3; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityPylonMedium extends TileEntityPylonBase { + + @Override + public ConnectionType getConnectionType() { + return ConnectionType.TRIPLE; + } + + @Override + public Vec3[] getMountPos() { + + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); + double height = 7.5D; + + return new Vec3[] { + Vec3.createVectorHelper(0.5, height, 0.5), + Vec3.createVectorHelper(0.5 + dir.offsetX, height, 0.5 + dir.offsetZ), + Vec3.createVectorHelper(0.5 + dir.offsetX * 2, height, 0.5 + dir.offsetZ * 2), + }; + } + + @Override + public double getMaxWireLength() { + return 45; + } + + @Override + public boolean canConnect(ForgeDirection dir) { + return this.hasTransformer() ? ForgeDirection.getOrientation(this.getBlockMetadata() - 10).getOpposite() == dir : false; + } + + @Override + public PowerNode createNode() { + TileEntity tile = (TileEntity) this; + PowerNode node = new PowerNode(new BlockPos(tile.xCoord, tile.yCoord, tile.zCoord)).setConnections(new DirPos(xCoord, yCoord, zCoord, ForgeDirection.UNKNOWN)); + for(int[] pos : this.connected) node.addConnection(new DirPos(pos[0], pos[1], pos[2], ForgeDirection.UNKNOWN)); + if(this.hasTransformer()) { + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10).getOpposite(); + node.addConnection(new DirPos(xCoord + dir.offsetX, yCoord, zCoord + dir.offsetZ, dir)); + } + return node; + } + + public boolean hasTransformer() { + Block block = this.getBlockType(); + return block == ModBlocks.red_pylon_medium_wood_transformer || block == ModBlocks.red_pylon_medium_steel_transformer; + } +} diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchCounter.java b/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchCounter.java index 809fec28f..90328882b 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchCounter.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchCounter.java @@ -75,6 +75,8 @@ public class TileEntityRadioTorchCounter extends TileEntityMachineBase implement } public void networkUnpack(NBTTagCompound nbt) { + super.networkUnpack(nbt); + this.polling = nbt.getBoolean("polling"); this.lastCount = nbt.getIntArray("last"); this.matcher.modes = new String[this.matcher.modes.length]; diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchLogic.java b/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchLogic.java new file mode 100644 index 000000000..4a44c3504 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchLogic.java @@ -0,0 +1,192 @@ +package com.hbm.tileentity.network; + +import com.hbm.interfaces.IControlReceiver; +import com.hbm.tileentity.INBTPacketReceiver; +import com.hbm.tileentity.network.RTTYSystem.RTTYChannel; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.NetworkManager; +import net.minecraft.network.Packet; +import net.minecraft.network.play.server.S35PacketUpdateTileEntity; +import net.minecraft.tileentity.TileEntity; + +public class TileEntityRadioTorchLogic extends TileEntity implements INBTPacketReceiver, IControlReceiver { + + /** channel we're broadcasting on/listening to */ + public String channel = ""; + /** previous redstone state for input/output, needed for state change detection */ + public int lastState = 0; + /** last update tick, needed for receivers listening for changes */ + public long lastUpdate; + /** switches state change mode to tick-based polling */ + public boolean polling = false; + /** switches evaluation of conditions from ascending to descending */ + public boolean descending = false; + /** mapping for constants to compare against */ + public String[] mapping; + /** mapping for conditions through [1, 10], being (<, <=, >=, >, ==, !=, equals, !equals, contains, !contains) */ + public int[] conditions; + + public TileEntityRadioTorchLogic() { + this.mapping = new String[16]; + for(int i = 0; i < 16; i++) this.mapping[i] = ""; + this.conditions = new int[16]; + for(int i = 0; i < 16; i++) this.conditions[i] = 0; + } + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + + if(!this.channel.isEmpty()) { + + RTTYChannel chan = RTTYSystem.listen(worldObj, this.channel); + + if(chan != null && (this.polling || (chan.timeStamp > this.lastUpdate - 1 && chan.timeStamp != -1))) { // if we're either polling or a new message has come in + String msg = "" + chan.signal; + this.lastUpdate = worldObj.getTotalWorldTime(); + int nextState = 0; //if no remap apply, default to 0 + + if(chan.timeStamp < this.lastUpdate - 2 && this.polling) { + /* the vast majority use-case for this is going to be inequalities, NOT parsing, and the input is undefined - not the output + * if no signal => 0 for polling, advanced users parsing strings can easily accommodate this fact instead of breaking numerical torches */ + msg = "0"; + } + + if(descending) { + for(int i = 15; i >= 0; i--) { + if(!mapping[i].equals("") && parseSignal(msg, i)) { + nextState = i; + break; + } + } + } else { + for(int i = 0; i <= 15; i++) { + if(!mapping[i].equals("") && parseSignal(msg, i)) { + nextState = i; + break; + } + } + } + + if(this.lastState != nextState) { + this.lastState = nextState; + worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); + worldObj.notifyBlocksOfNeighborChange(xCoord, yCoord, zCoord, this.getBlockType()); + this.markDirty(); + } + } + } + + NBTTagCompound data = new NBTTagCompound(); + data.setBoolean("p", polling); + data.setBoolean("d", descending); + if(channel != null) data.setString("c", channel); + for(int i = 0; i < 16; i++) if(!mapping[i].equals("")) data.setString("m" + i, mapping[i]); + for(int i = 0; i < 16; i++) if(conditions[i] > 0) data.setInteger("c" + i, conditions[i]); + INBTPacketReceiver.networkPack(this, data, 50); + } + } + + public boolean parseSignal(String signal, int index) { + if(conditions[index] <= 5) { //if a non-string operator + int sig = 0; + int map = 0; + try { sig = Integer.parseInt(signal); map = Integer.parseInt(mapping[index]); } catch(Exception x) { + return false; //not a valid input; skip! slightly annoying about the mapping but we'll restrict input anyway + }; + + switch(conditions[index]) { + default: + return sig < map; + case 1: + return sig <= map; + case 2: + return sig >= map; + case 3: + return sig > map; + case 4: + return sig == map; + case 5: + return sig != map; + } + } + + switch(conditions[index]) { + default: + return signal.equals(mapping[index]); + case 7: + return !signal.equals(mapping[index]); + case 8: + return signal.contains(mapping[index]); + case 9: + return !signal.contains(mapping[index]); + } + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + this.polling = nbt.getBoolean("p"); + this.descending = nbt.getBoolean("d"); + this.lastState = nbt.getInteger("l"); + this.lastUpdate = nbt.getLong("u"); + this.channel = nbt.getString("c"); + for(int i = 0; i < 16; i++) this.mapping[i] = nbt.getString("m" + i); + for(int i = 0; i < 16; i++) this.conditions[i] = nbt.getInteger("c" + i); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setBoolean("p", polling); + nbt.setBoolean("d", descending); + nbt.setInteger("l", lastState); + nbt.setLong("u", lastUpdate); + if(channel != null) nbt.setString("c", channel); + for(int i = 0; i < 16; i++) if(!mapping[i].equals("")) nbt.setString("m" + i, mapping[i]); + for(int i = 0; i < 16; i++) if(conditions[i] > 0) nbt.setInteger("c" + i, conditions[i]); + } + + public void networkUnpack(NBTTagCompound nbt) { + this.polling = nbt.getBoolean("p"); + this.channel = nbt.getString("c"); + this.descending = nbt.getBoolean("d"); + for(int i = 0; i < 16; i++) this.mapping[i] = nbt.getString("m" + i); + for(int i = 0; i < 16; i++) this.conditions[i] = nbt.getInteger("c" + i); + } + + @Override + public Packet getDescriptionPacket() { + NBTTagCompound nbt = new NBTTagCompound(); + nbt.setByte("l", (byte) this.lastState); + return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 0, nbt); + } + + @Override + public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) { + int last = this.lastState; + this.lastState = pkt.func_148857_g().getByte("l"); + if(this.lastState != last) { + worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); + } + } + + @Override + public boolean hasPermission(EntityPlayer player) { + return player.getDistance(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5) < 16D; + } + + @Override + public void receiveControl(NBTTagCompound data) { + if(data.hasKey("p")) this.polling = data.getBoolean("p"); + if(data.hasKey("c")) this.channel = data.getString("c"); + if(data.hasKey("d")) this.descending = data.getBoolean("d"); + for(int i = 0; i < 16; i++) if(data.hasKey("m" + i)) this.mapping[i] = data.getString("m" + i); + for(int i = 0; i < 16; i++) if(data.hasKey("c" + i)) this.conditions[i] = data.getInteger("c" + i); + + this.markDirty(); + } +} diff --git a/src/main/java/com/hbm/tileentity/network/TileEntitySubstation.java b/src/main/java/com/hbm/tileentity/network/TileEntitySubstation.java index 6f4235e38..1f6b90818 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntitySubstation.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntitySubstation.java @@ -1,12 +1,14 @@ package com.hbm.tileentity.network; -import java.util.ArrayList; -import java.util.List; - import com.hbm.blocks.BlockDummyable; +import com.hbm.lib.Library; +import com.hbm.util.fauxpointtwelve.BlockPos; +import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.energy.IEnergyConductor; +import api.hbm.energymk2.Nodespace.PowerNode; +import net.minecraft.tileentity.TileEntity; import net.minecraft.util.Vec3; +import net.minecraftforge.common.util.ForgeDirection; public class TileEntitySubstation extends TileEntityPylonBase { @@ -45,33 +47,26 @@ public class TileEntitySubstation extends TileEntityPylonBase { public double getMaxWireLength() { return 20; } - - @Override - public List getConnectionPoints() { - List pos = new ArrayList(connected); - pos.add(new int[] {xCoord + 2, yCoord, zCoord - 1}); - pos.add(new int[] {xCoord + 2, yCoord, zCoord + 1}); - pos.add(new int[] {xCoord - 2, yCoord, zCoord - 1}); - pos.add(new int[] {xCoord - 2, yCoord, zCoord + 1}); - pos.add(new int[] {xCoord - 1, yCoord, zCoord + 2}); - pos.add(new int[] {xCoord + 1, yCoord, zCoord + 2}); - pos.add(new int[] {xCoord - 1, yCoord, zCoord - 2}); - pos.add(new int[] {xCoord + 1, yCoord, zCoord - 2}); - return pos; - } @Override - public boolean hasProxies() { - return true; - } - - @Override - public List getProxies() { - List proxies = new ArrayList(); - proxies.add(IEnergyConductor.getIdentityFromPos(xCoord + 1, yCoord, zCoord + 1)); - proxies.add(IEnergyConductor.getIdentityFromPos(xCoord + 1, yCoord, zCoord - 1)); - proxies.add(IEnergyConductor.getIdentityFromPos(xCoord - 1, yCoord, zCoord + 1)); - proxies.add(IEnergyConductor.getIdentityFromPos(xCoord - 1, yCoord, zCoord - 1)); - return proxies; + public PowerNode createNode() { + TileEntity tile = (TileEntity) this; + PowerNode node = new PowerNode(new BlockPos(tile.xCoord, tile.yCoord, tile.zCoord), + new BlockPos(tile.xCoord + 1, tile.yCoord, tile.zCoord + 1), + new BlockPos(tile.xCoord + 1, tile.yCoord, tile.zCoord - 1), + new BlockPos(tile.xCoord - 1, tile.yCoord, tile.zCoord + 1), + new BlockPos(tile.xCoord - 1, tile.yCoord, tile.zCoord - 1)).setConnections( + new DirPos(xCoord, yCoord, zCoord, ForgeDirection.UNKNOWN), + new DirPos(xCoord + 2, yCoord, zCoord - 1, Library.POS_X), + new DirPos(xCoord + 2, yCoord, zCoord + 1, Library.POS_X), + new DirPos(xCoord - 2, yCoord, zCoord - 1, Library.NEG_X), + new DirPos(xCoord - 2, yCoord, zCoord + 1, Library.NEG_X), + new DirPos(xCoord - 1, yCoord, zCoord + 2, Library.POS_Z), + new DirPos(xCoord + 1, yCoord, zCoord + 2, Library.POS_Z), + new DirPos(xCoord - 1, yCoord, zCoord - 2, Library.NEG_Z), + new DirPos(xCoord + 1, yCoord, zCoord - 2, Library.NEG_Z) + ); + for(int[] pos : this.connected) node.addConnection(new DirPos(pos[0], pos[1], pos[2], ForgeDirection.UNKNOWN)); + return node; } } diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretArty.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretArty.java index c479982db..2e0775a00 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretArty.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretArty.java @@ -3,7 +3,6 @@ package com.hbm.tileentity.turret; import java.util.ArrayList; import java.util.List; -import com.hbm.blocks.BlockDummyable; import com.hbm.entity.projectile.EntityArtilleryShell; import com.hbm.handler.CasingEjector; import com.hbm.inventory.container.ContainerTurretBase; @@ -27,7 +26,6 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.Vec3; import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; public class TileEntityTurretArty extends TileEntityTurretBaseArtillery implements IGUIProvider { @@ -221,20 +219,6 @@ public class TileEntityTurretArty extends TileEntityTurretBaseArtillery implemen return 7; } - protected void updateConnections() { - ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset).getOpposite(); - ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - - for(int i = 0; i < 2; i++) { - for(int j = 0; j < 4; j++) { - this.trySubscribe(worldObj, xCoord + dir.offsetX * (-1 + j) + rot.offsetX * -3, yCoord + i, zCoord + dir.offsetZ * (-1 + j) + rot.offsetZ * -3, ForgeDirection.SOUTH); - this.trySubscribe(worldObj, xCoord + dir.offsetX * (-1 + j) + rot.offsetX * 2, yCoord + i, zCoord + dir.offsetZ * (-1 + j) + rot.offsetZ * 2, ForgeDirection.NORTH); - this.trySubscribe(worldObj, xCoord + dir.offsetX * -2 + rot.offsetX * (1 - j), yCoord + i, zCoord + dir.offsetZ * -2 + rot.offsetZ * (1 - j), ForgeDirection.EAST); - this.trySubscribe(worldObj, xCoord + dir.offsetX * 3 + rot.offsetX * (1 - j), yCoord + i, zCoord + dir.offsetZ * 3 + rot.offsetZ * (1 - j), ForgeDirection.WEST); - } - } - } - @Override public void updateEntity() { @@ -254,24 +238,22 @@ public class TileEntityTurretArty extends TileEntityTurretBaseArtillery implemen this.barrelPos = 0; } } - } - - if(this.mode == this.MODE_MANUAL) { - if(!this.targetQueue.isEmpty()) { - this.tPos = this.targetQueue.get(0); - } - } else { - this.targetQueue.clear(); - } - - if(worldObj.isRemote) { this.lastRotationPitch = this.rotationPitch; this.lastRotationYaw = this.rotationYaw; + this.rotationPitch = this.syncRotationPitch; + this.rotationYaw = this.syncRotationYaw; } - - this.aligned = false; if(!worldObj.isRemote) { + if(this.mode == this.MODE_MANUAL) { + if(!this.targetQueue.isEmpty()) { + this.tPos = this.targetQueue.get(0); + } + } else { + this.targetQueue.clear(); + } + + this.aligned = false; this.updateConnections(); @@ -279,15 +261,12 @@ public class TileEntityTurretArty extends TileEntityTurretBaseArtillery implemen this.target = null; this.stattrak++; } - } - if(target != null && this.mode != this.MODE_MANUAL) { - if(!this.entityInLOS(this.target)) { - this.target = null; + if(target != null && this.mode != this.MODE_MANUAL) { + if(!this.entityInLOS(this.target)) { + this.target = null; + } } - } - - if(!worldObj.isRemote) { if(target != null) { this.tPos = this.getEntityPos(target); @@ -296,18 +275,15 @@ public class TileEntityTurretArty extends TileEntityTurretBaseArtillery implemen this.tPos = null; } } - } - if(isOn() && hasPower()) { - - if(tPos != null) - this.alignTurret(); - } else { - this.target = null; - this.tPos = null; - } - - if(!worldObj.isRemote) { + if(isOn() && hasPower()) { + + if(tPos != null) + this.alignTurret(); + } else { + this.target = null; + this.tPos = null; + } if(!isOn()) this.targetQueue.clear(); @@ -351,10 +327,6 @@ public class TileEntityTurretArty extends TileEntityTurretBaseArtillery implemen } else { - Vec3 vec = Vec3.createVectorHelper(this.getBarrelLength(), 0, 0); - vec.rotateAroundZ((float) -this.rotationPitch); - vec.rotateAroundY((float) -(this.rotationYaw + Math.PI * 0.5)); - //this will fix the interpolation error when the turret crosses the 360° point if(Math.abs(this.lastRotationYaw - this.rotationYaw) > Math.PI) { diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseArtillery.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseArtillery.java index 4257d55b6..f4866fe7a 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseArtillery.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseArtillery.java @@ -3,10 +3,12 @@ package com.hbm.tileentity.turret; import java.util.ArrayList; import java.util.List; +import com.hbm.blocks.BlockDummyable; import com.hbm.tileentity.IRadarCommandReceiver; import net.minecraft.entity.Entity; import net.minecraft.util.Vec3; +import net.minecraftforge.common.util.ForgeDirection; public abstract class TileEntityTurretBaseArtillery extends TileEntityTurretBaseNT implements IRadarCommandReceiver { @@ -52,4 +54,19 @@ public abstract class TileEntityTurretBaseArtillery extends TileEntityTurretBase return height < (e.posY + e.height); } } + + @Override + protected void updateConnections() { + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset).getOpposite(); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + + for(int i = 0; i < 2; i++) { + for(int j = 0; j < 4; j++) { + this.trySubscribe(worldObj, xCoord + dir.offsetX * (-1 + j) + rot.offsetX * -3, yCoord + i, zCoord + dir.offsetZ * (-1 + j) + rot.offsetZ * -3, ForgeDirection.SOUTH); + this.trySubscribe(worldObj, xCoord + dir.offsetX * (-1 + j) + rot.offsetX * 2, yCoord + i, zCoord + dir.offsetZ * (-1 + j) + rot.offsetZ * 2, ForgeDirection.NORTH); + this.trySubscribe(worldObj, xCoord + dir.offsetX * -2 + rot.offsetX * (1 - j), yCoord + i, zCoord + dir.offsetZ * -2 + rot.offsetZ * (1 - j), ForgeDirection.EAST); + this.trySubscribe(worldObj, xCoord + dir.offsetX * 3 + rot.offsetX * (1 - j), yCoord + i, zCoord + dir.offsetZ * 3 + rot.offsetZ * (1 - j), ForgeDirection.WEST); + } + } + } } diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java index fa55c200b..6006a5767 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java @@ -9,7 +9,6 @@ import com.hbm.blocks.BlockDummyable; import com.hbm.entity.logic.EntityBomber; import com.hbm.entity.missile.EntityMissileBaseNT; import com.hbm.entity.missile.EntityMissileCustom; -import com.hbm.entity.missile.EntitySiegeDropship; import com.hbm.entity.projectile.EntityBulletBaseNT; import com.hbm.entity.train.EntityRailCarBase; import com.hbm.handler.BulletConfigSyncingUtil; @@ -28,7 +27,8 @@ import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.CompatExternal; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyReceiverMK2; +import api.hbm.entity.IRadarDetectableNT; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -58,7 +58,7 @@ import net.minecraftforge.common.util.ForgeDirection; * @author hbm * */ -public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase implements IEnergyUser, IControlReceiver, IGUIProvider { +public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase implements IEnergyReceiverMK2, IControlReceiver, IGUIProvider { @Override public boolean hasPermission(EntityPlayer player) { @@ -83,6 +83,10 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple //only used by clients for interpolation public double lastRotationYaw; public double lastRotationPitch; + //only used by clients for approach + public double syncRotationYaw; + public double syncRotationPitch; + protected int turnProgress; //is the turret on? public boolean isOn = false; //is the turret aimed at the target? @@ -155,46 +159,41 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple if(worldObj.isRemote) { this.lastRotationPitch = this.rotationPitch; this.lastRotationYaw = this.rotationYaw; + this.rotationPitch = this.syncRotationPitch; + this.rotationYaw = this.syncRotationYaw; } - - this.aligned = false; if(!worldObj.isRemote) { - + + this.aligned = false; this.updateConnections(); if(this.target != null && !target.isEntityAlive()) { this.target = null; this.stattrak++; } - } - - if(target != null) { - if(!this.entityInLOS(this.target)) { - this.target = null; - } - } - - if(!worldObj.isRemote) { + if(target != null) { + if(!this.entityInLOS(this.target)) { + this.target = null; + } + } + if(target != null) { this.tPos = this.getEntityPos(target); } else { this.tPos = null; } - } - - if(isOn() && hasPower()) { - if(tPos != null) - this.alignTurret(); - } else { - - this.target = null; - this.tPos = null; - } - - if(!worldObj.isRemote) { + if(isOn() && hasPower()) { + + if(tPos != null) + this.alignTurret(); + } else { + + this.target = null; + this.tPos = null; + } if(this.target != null && !target.isEntityAlive()) { this.target = null; @@ -236,10 +235,6 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple } else { - Vec3 vec = Vec3.createVectorHelper(this.getBarrelLength(), 0, 0); - vec.rotateAroundZ((float) -this.rotationPitch); - vec.rotateAroundY((float) -(this.rotationYaw + Math.PI * 0.5)); - //this will fix the interpolation error when the turret crosses the 360° point if(Math.abs(this.lastRotationYaw - this.rotationYaw) > Math.PI) { @@ -259,6 +254,8 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple data.setDouble("tY", this.tPos.yCoord); data.setDouble("tZ", this.tPos.zCoord); } + data.setDouble("pitch", this.rotationPitch); + data.setDouble("yaw", this.rotationYaw); data.setLong("power", this.power); data.setBoolean("isOn", this.isOn); data.setBoolean("targetPlayers", this.targetPlayers); @@ -290,7 +287,11 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple @Override public void networkUnpack(NBTTagCompound nbt) { - + super.networkUnpack(nbt); + + this.turnProgress = 2; + this.syncRotationPitch = nbt.getDouble("pitch"); + this.syncRotationYaw = nbt.getDouble("yaw"); this.power = nbt.getLong("power"); this.isOn = nbt.getBoolean("isOn"); this.targetPlayers = nbt.getBoolean("targetPlayers"); @@ -642,20 +643,18 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple if(targetMachines) { + if(e instanceof IRadarDetectableNT && !((IRadarDetectableNT)e).canBeSeenBy(this)) return false; if(e instanceof EntityMissileBaseNT) return true; if(e instanceof EntityMissileCustom) return true; if(e instanceof EntityMinecart) return true; if(e instanceof EntityRailCarBase) return true; if(e instanceof EntityBomber) return true; - if(e instanceof EntitySiegeDropship) return true; for(Class c : CompatExternal.turretTargetMachine) if(c.isAssignableFrom(e.getClass())) return true; } if(targetPlayers ) { - if(e instanceof FakePlayer) - return false; - + if(e instanceof FakePlayer) return false; if(e instanceof EntityPlayer) return true; for(Class c : CompatExternal.turretTargetPlayer) if(c.isAssignableFrom(e.getClass())) return true; } diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretHIMARS.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretHIMARS.java index 050040197..4cd07246e 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretHIMARS.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretHIMARS.java @@ -135,40 +135,38 @@ public class TileEntityTurretHIMARS extends TileEntityTurretBaseArtillery implem @Override public void updateEntity() { - this.lastCrane = this.crane; - - if(this.mode == this.MODE_MANUAL) { - if(!this.targetQueue.isEmpty()) { - this.tPos = this.targetQueue.get(0); - } - } else { - this.targetQueue.clear(); - } - if(worldObj.isRemote) { this.lastRotationPitch = this.rotationPitch; this.lastRotationYaw = this.rotationYaw; + this.lastCrane = this.crane; + this.rotationPitch = this.syncRotationPitch; + this.rotationYaw = this.syncRotationYaw; } - - this.aligned = false; if(!worldObj.isRemote) { + if(this.mode == this.MODE_MANUAL) { + if(!this.targetQueue.isEmpty()) { + this.tPos = this.targetQueue.get(0); + } + } else { + this.targetQueue.clear(); + } + + this.aligned = false; + this.updateConnections(); if(this.target != null && !target.isEntityAlive()) { this.target = null; this.stattrak++; } - } - if(target != null && this.mode != this.MODE_MANUAL) { - if(!this.entityInLOS(this.target)) { - this.target = null; + if(target != null && this.mode != this.MODE_MANUAL) { + if(!this.entityInLOS(this.target)) { + this.target = null; + } } - } - - if(!worldObj.isRemote) { if(target != null) { this.tPos = this.getEntityPos(target); @@ -177,51 +175,48 @@ public class TileEntityTurretHIMARS extends TileEntityTurretBaseArtillery implem this.tPos = null; } } - } - if(isOn() && hasPower()) { - - if(!this.hasAmmo() || this.crane > 0) { + if(isOn() && hasPower()) { - this.turnTowardsAngle(0, this.rotationYaw); - - if(this.aligned) { + if(!this.hasAmmo() || this.crane > 0) { - if(this.hasAmmo()) { - this.crane -= 0.0125F; - } else { - this.crane += 0.0125F; + this.turnTowardsAngle(0, this.rotationYaw); + + if(this.aligned) { - if(this.crane >= 1F && !worldObj.isRemote) { - int available = this.getSpareRocket(); + if(this.hasAmmo()) { + this.crane -= 0.0125F; + } else { + this.crane += 0.0125F; - if(available != -1) { - HIMARSRocket type = ItemAmmoHIMARS.itemTypes[available]; - this.typeLoaded = available; - this.ammo = type.amount; - this.conusmeAmmo(new ComparableStack(ModItems.ammo_himars, 1, available)); + if(this.crane >= 1F) { + int available = this.getSpareRocket(); + + if(available != -1) { + HIMARSRocket type = ItemAmmoHIMARS.itemTypes[available]; + this.typeLoaded = available; + this.ammo = type.amount; + this.conusmeAmmo(new ComparableStack(ModItems.ammo_himars, 1, available)); + } } } } + + this.crane = MathHelper.clamp_float(this.crane, 0F, 1F); + + } else { + + if(tPos != null) { + this.alignTurret(); + } } - this.crane = MathHelper.clamp_float(this.crane, 0F, 1F); - } else { - - if(tPos != null) { - this.alignTurret(); - } + + this.target = null; + this.tPos = null; } - } else { - - this.target = null; - this.tPos = null; - } - - if(!worldObj.isRemote) { - if(!isOn()) this.targetQueue.clear(); if(this.target != null && !target.isEntityAlive()) { @@ -256,10 +251,6 @@ public class TileEntityTurretHIMARS extends TileEntityTurretBaseArtillery implem } else { - Vec3 vec = Vec3.createVectorHelper(this.getBarrelLength(), 0, 0); - vec.rotateAroundZ((float) -this.rotationPitch); - vec.rotateAroundY((float) -(this.rotationYaw + Math.PI * 0.5)); - //this will fix the interpolation error when the turret crosses the 360° point if(Math.abs(this.lastRotationYaw - this.rotationYaw) > Math.PI) { @@ -277,6 +268,7 @@ public class TileEntityTurretHIMARS extends TileEntityTurretBaseArtillery implem data.setShort("mode", this.mode); data.setInteger("type", this.typeLoaded); data.setInteger("ammo", this.ammo); + data.setFloat("crane", crane); return data; } @@ -286,6 +278,7 @@ public class TileEntityTurretHIMARS extends TileEntityTurretBaseArtillery implem this.mode = nbt.getShort("mode"); this.typeLoaded = nbt.getShort("type"); this.ammo = nbt.getInteger("ammo"); + this.crane = nbt.getFloat("crane"); } public boolean hasAmmo() { @@ -357,6 +350,8 @@ public class TileEntityTurretHIMARS extends TileEntityTurretBaseArtillery implem super.readFromNBT(nbt); this.mode = nbt.getShort("mode"); + this.typeLoaded = nbt.getShort("type"); + this.ammo = nbt.getInteger("ammo"); } @Override @@ -364,6 +359,8 @@ public class TileEntityTurretHIMARS extends TileEntityTurretBaseArtillery implem super.writeToNBT(nbt); nbt.setShort("mode", this.mode); + nbt.setInteger("type", this.typeLoaded); + nbt.setInteger("ammo", this.ammo); } @Override diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretSentry.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretSentry.java index 5a1a1326b..09b8d22ee 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretSentry.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretSentry.java @@ -26,12 +26,12 @@ import net.minecraftforge.common.util.ForgeDirection; public class TileEntityTurretSentry extends TileEntityTurretBaseNT implements IGUIProvider { - private boolean didJustShootLeft = false; - private boolean retractingLeft = false; + protected boolean didJustShootLeft = false; + protected boolean retractingLeft = false; public double barrelLeftPos = 0; public double lastBarrelLeftPos = 0; - private boolean didJustShootRight = false; - private boolean retractingRight = false; + protected boolean didJustShootRight = false; + protected boolean retractingRight = false; public double barrelRightPos = 0; public double lastBarrelRightPos = 0; diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretSentryDamaged.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretSentryDamaged.java new file mode 100644 index 000000000..acb7898cb --- /dev/null +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretSentryDamaged.java @@ -0,0 +1,106 @@ +package com.hbm.tileentity.turret; + +import com.hbm.handler.BulletConfigSyncingUtil; +import com.hbm.handler.BulletConfiguration; +import com.hbm.packet.AuxParticlePacketNT; +import com.hbm.packet.PacketDispatcher; + +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.Vec3; + +public class TileEntityTurretSentryDamaged extends TileEntityTurretSentry { + + @Override + public boolean hasPower() { //does not need power + return true; + } + + @Override + public boolean isOn() { //is always on + return true; + } + + @Override + public double getTurretYawSpeed() { + return 3D; + } + + @Override + public double getTurretPitchSpeed() { + return 2D; + } + + @Override + public boolean hasThermalVision() { + return false; + } + + @Override + public boolean entityAcceptableTarget(Entity e) { //will fire at any living entity + + if(e instanceof EntityPlayer && ((EntityPlayer)e).capabilities.isCreativeMode) + return false; + + return e instanceof EntityLivingBase; + } + + @Override + public void updateFiringTick() { + + timer++; + + if(timer % 10 == 0) { + + BulletConfiguration conf = BulletConfigSyncingUtil.pullConfig(BulletConfigSyncingUtil.R5_NORMAL); + + if(conf != null) { + + Vec3 pos = this.getTurretPos(); + Vec3 vec = Vec3.createVectorHelper(0, 0, 0); + Vec3 side = Vec3.createVectorHelper(0, 0, 0); + + this.cachedCasingConfig = conf.spentCasing; + + if(shotSide) { + this.worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:turret.sentry_fire", 2.0F, 1.0F); + this.spawnBullet(conf); + + vec = Vec3.createVectorHelper(this.getBarrelLength(), 0, 0); + vec.rotateAroundZ((float) -this.rotationPitch); + vec.rotateAroundY((float) -(this.rotationYaw + Math.PI * 0.5)); + + side = Vec3.createVectorHelper(0.125 * (shotSide ? 1 : -1), 0, 0); + side.rotateAroundY((float) -(this.rotationYaw)); + + } else { + this.worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:turret.sentry_fire", 2.0F, 0.75F); + if(usesCasings()) { + if(this.casingDelay() == 0) { + spawnCasing(); + } else { + casingDelay = this.casingDelay(); + } + } + } + + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "vanillaExt"); + data.setString("mode", "largeexplode"); + data.setFloat("size", 1F); + data.setByte("count", (byte) 1); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, pos.xCoord + vec.xCoord + side.xCoord, pos.yCoord + vec.yCoord, pos.zCoord + vec.zCoord + side.zCoord), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); + + if(shotSide) { + this.didJustShootLeft = true; + } else { + this.didJustShootRight = true; + } + shotSide = !shotSide; + } + } + } +} diff --git a/src/main/java/com/hbm/util/ArmorRegistry.java b/src/main/java/com/hbm/util/ArmorRegistry.java index fc1a20601..c098d6a89 100644 --- a/src/main/java/com/hbm/util/ArmorRegistry.java +++ b/src/main/java/com/hbm/util/ArmorRegistry.java @@ -100,14 +100,14 @@ public class ArmorRegistry { } public static enum HazardClass { - GAS_CHLORINE("hazard.gasChlorine"), //also attacks eyes -> no half mask + GAS_LUNG("hazard.gasChlorine"), //also attacks eyes -> no half mask GAS_MONOXIDE("hazard.gasMonoxide"), //only affects lungs GAS_INERT("hazard.gasInert"), //SA PARTICLE_COARSE("hazard.particleCoarse"), //only affects lungs PARTICLE_FINE("hazard.particleFine"), //only affects lungs BACTERIA("hazard.bacteria"), //no half masks - NERVE_AGENT("hazard.nerveAgent"), //aggressive nerve agent, also attacks skin - GAS_CORROSIVE("hazard.corrosive"), //corrosive substance, also attacks skin + //NERVE_AGENT("hazard.nerveAgent"), //aggressive nerve agent, also attacks skin + GAS_BLISTERING("hazard.corrosive"), //corrosive substance, also attacks skin SAND("hazard.sand"), //blinding sand particles LIGHT("hazard.light"); //blinding light diff --git a/src/main/java/com/hbm/util/ArmorUtil.java b/src/main/java/com/hbm/util/ArmorUtil.java index 33272462b..ece9306a9 100644 --- a/src/main/java/com/hbm/util/ArmorUtil.java +++ b/src/main/java/com/hbm/util/ArmorUtil.java @@ -30,16 +30,16 @@ public class ArmorUtil { */ public static void register() { - ArmorRegistry.registerHazard(ModItems.gas_mask_filter, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.NERVE_AGENT); + ArmorRegistry.registerHazard(ModItems.gas_mask_filter, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.GAS_BLISTERING, HazardClass.BACTERIA); ArmorRegistry.registerHazard(ModItems.gas_mask_filter_mono, HazardClass.PARTICLE_COARSE, HazardClass.GAS_MONOXIDE); - ArmorRegistry.registerHazard(ModItems.gas_mask_filter_combo, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.NERVE_AGENT); + ArmorRegistry.registerHazard(ModItems.gas_mask_filter_combo, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.GAS_BLISTERING, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE); ArmorRegistry.registerHazard(ModItems.gas_mask_filter_rag, HazardClass.PARTICLE_COARSE); - ArmorRegistry.registerHazard(ModItems.gas_mask_filter_piss, HazardClass.PARTICLE_COARSE, HazardClass.GAS_CHLORINE); + ArmorRegistry.registerHazard(ModItems.gas_mask_filter_piss, HazardClass.PARTICLE_COARSE, HazardClass.GAS_LUNG); ArmorRegistry.registerHazard(ModItems.gas_mask, HazardClass.SAND, HazardClass.LIGHT); ArmorRegistry.registerHazard(ModItems.gas_mask_m65, HazardClass.SAND); ArmorRegistry.registerHazard(ModItems.mask_rag, HazardClass.PARTICLE_COARSE); - ArmorRegistry.registerHazard(ModItems.mask_piss, HazardClass.PARTICLE_COARSE, HazardClass.GAS_CHLORINE); + ArmorRegistry.registerHazard(ModItems.mask_piss, HazardClass.PARTICLE_COARSE, HazardClass.GAS_LUNG); ArmorRegistry.registerHazard(ModItems.goggles, HazardClass.LIGHT, HazardClass.SAND); ArmorRegistry.registerHazard(ModItems.ashglasses, HazardClass.LIGHT, HazardClass.SAND); @@ -52,22 +52,23 @@ public class ArmorUtil { ArmorRegistry.registerHazard(ModItems.hazmat_helmet_grey, HazardClass.SAND); ArmorRegistry.registerHazard(ModItems.hazmat_paa_helmet, HazardClass.LIGHT, HazardClass.SAND); ArmorRegistry.registerHazard(ModItems.liquidator_helmet, HazardClass.LIGHT, HazardClass.SAND); - ArmorRegistry.registerHazard(ModItems.t45_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); - ArmorRegistry.registerHazard(ModItems.ajr_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); - ArmorRegistry.registerHazard(ModItems.ajro_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); - ArmorRegistry.registerHazard(ModItems.steamsuit_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); - ArmorRegistry.registerHazard(ModItems.hev_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); - ArmorRegistry.registerHazard(ModItems.fau_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); - ArmorRegistry.registerHazard(ModItems.dns_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); - ArmorRegistry.registerHazard(ModItems.schrabidium_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); - ArmorRegistry.registerHazard(ModItems.euphemium_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); - ArmorRegistry.registerHazard(ModItems.rpa_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); - ArmorRegistry.registerHazard(ModItems.envsuit_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); + ArmorRegistry.registerHazard(ModItems.t45_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.LIGHT, HazardClass.SAND); + ArmorRegistry.registerHazard(ModItems.ajr_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); + ArmorRegistry.registerHazard(ModItems.ajro_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); + ArmorRegistry.registerHazard(ModItems.steamsuit_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); + ArmorRegistry.registerHazard(ModItems.hev_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); + ArmorRegistry.registerHazard(ModItems.fau_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); + ArmorRegistry.registerHazard(ModItems.dns_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); + ArmorRegistry.registerHazard(ModItems.schrabidium_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); + ArmorRegistry.registerHazard(ModItems.euphemium_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); + ArmorRegistry.registerHazard(ModItems.rpa_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); + ArmorRegistry.registerHazard(ModItems.envsuit_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); + ArmorRegistry.registerHazard(ModItems.trenchmaster_helmet, HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); //Ob ihr wirklich richtig steht, seht ihr wenn das Licht angeht! - registerIfExists(Compat.MOD_GT6, "gt.armor.hazmat.universal.head", HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); - registerIfExists(Compat.MOD_GT6, "gt.armor.hazmat.biochemgas.head", HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); - registerIfExists(Compat.MOD_GT6, "gt.armor.hazmat.radiation.head", HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_CHLORINE, HazardClass.BACTERIA, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); + registerIfExists(Compat.MOD_GT6, "gt.armor.hazmat.universal.head", HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); + registerIfExists(Compat.MOD_GT6, "gt.armor.hazmat.biochemgas.head", HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); + registerIfExists(Compat.MOD_GT6, "gt.armor.hazmat.radiation.head", HazardClass.PARTICLE_COARSE, HazardClass.PARTICLE_FINE, HazardClass.GAS_LUNG, HazardClass.BACTERIA, HazardClass.GAS_BLISTERING, HazardClass.GAS_MONOXIDE, HazardClass.LIGHT, HazardClass.SAND); } private static void registerIfExists(String domain, String name, HazardClass... classes) { diff --git a/src/main/java/com/hbm/util/ColorUtil.java b/src/main/java/com/hbm/util/ColorUtil.java index aec239b53..2d0ad9378 100644 --- a/src/main/java/com/hbm/util/ColorUtil.java +++ b/src/main/java/com/hbm/util/ColorUtil.java @@ -7,6 +7,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; +import java.util.Locale; import javax.imageio.ImageIO; @@ -182,4 +183,36 @@ public class ColorUtil { float[] hsb = Color.RGBtoHSB(color.getRed(), color.getGreen(), color.getBlue(), new float[3]); return hsb[2]; } + + public static HashMap nameToColor = new HashMap() {{ + put("black", 1973019); + put("red", 11743532); + put("green", 3887386); + put("brown", 5320730); + put("blue", 2437522); + put("purple", 8073150); + put("cyan", 2651799); + put("silver", 11250603); + put("gray", 4408131); + put("pink", 14188952); + put("lime", 4312372); + put("yellow", 14602026); + put("lightBlue", 6719955); + put("magenta", 12801229); + put("orange", 15435844); + put("white", 15790320); + }}; + + public static int getColorFromDye(ItemStack stack) { + List oreNames = ItemStackUtil.getOreDictNames(stack); + + for(String dict : oreNames) { + if(dict.length() > 3 && dict.startsWith("dye")) { + String color = dict.substring(3).toLowerCase(Locale.US); + if(nameToColor.containsKey(color)) return nameToColor.get(color); + } + } + + return 0; + } } diff --git a/src/main/java/com/hbm/util/Compat.java b/src/main/java/com/hbm/util/Compat.java index 3a8a4a9a6..3b6bc6069 100644 --- a/src/main/java/com/hbm/util/Compat.java +++ b/src/main/java/com/hbm/util/Compat.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import java.util.List; import java.util.concurrent.ConcurrentHashMap; +import com.hbm.config.GeneralConfig; import com.hbm.handler.HazmatRegistry; import com.hbm.hazard.HazardRegistry; import com.hbm.inventory.FluidContainer; @@ -163,7 +164,7 @@ public class Compat { public static void registerCompatFluidContainers() { - if(Compat.isModLoaded(Compat.MOD_TC)) { + if(Compat.isModLoaded(Compat.MOD_TC) && GeneralConfig.enableFluidContainerCompat) { Item canister = Compat.tryLoadItem(Compat.MOD_TC, "emptyCanister"); Item diesel = Compat.tryLoadItem(Compat.MOD_TC, "diesel"); if(diesel != null && canister != null) FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(diesel), new ItemStack(canister), Fluids.DIESEL, 1000)); diff --git a/src/main/java/com/hbm/util/CompatEnergyControl.java b/src/main/java/com/hbm/util/CompatEnergyControl.java new file mode 100644 index 000000000..0de988733 --- /dev/null +++ b/src/main/java/com/hbm/util/CompatEnergyControl.java @@ -0,0 +1,170 @@ +package com.hbm.util; + +import java.util.ArrayList; +import java.util.List; + +import com.hbm.inventory.fluid.FluidType; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.items.ModItems; +import com.hbm.tileentity.machine.TileEntityMachineGasCent; +import com.hbm.tileentity.machine.TileEntityMachineGasCent.PseudoFluidTank; +import com.hbm.tileentity.machine.rbmk.TileEntityRBMKBase; + +import api.hbm.energymk2.IBatteryItem; +import api.hbm.energymk2.IEnergyHandlerMK2; +import api.hbm.fluid.IFluidUser; +import api.hbm.tile.IInfoProviderEC; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; + +/** Provides data specified by EC's CrossModBase */ +public class CompatEnergyControl { + + /** Returns the steel ingot to craft the sensor kit with */ + public static ItemStack getCraftingMaterial() { + return new ItemStack(ModItems.ingot_steel); //in the event that i do end up moving all ingots to metadata + } + + /** Returns true for stacks with electric items like batteries or powertools (i.e. implements IBatteryItem) */ + public static boolean isElectricItem(ItemStack stack) { + return stack.getItem() instanceof IBatteryItem; + } + + /** Standardized discharge for IBatteryItem, returns the amount that was removed */ + public static double dischargeItem(ItemStack stack, double needed) { + IBatteryItem battery = (IBatteryItem) stack.getItem(); + long toDischarge = Math.min(battery.getDischargeRate(), Math.min(battery.getCharge(stack), (long) needed)); + battery.dischargeBattery(stack, toDischarge); + return toDischarge; + } + + /** Returns the power and maxPower values for IEnergyUser */ + public static void getEnergyData(TileEntity tile, NBTTagCompound data) { + + data.setString(KEY_EUTYPE, "HE"); + + if(tile instanceof IEnergyHandlerMK2) { + IEnergyHandlerMK2 user = (IEnergyHandlerMK2) tile; + data.setDouble(L_ENERGY_HE, user.getPower()); + data.setDouble(L_CAPACITY_HE, user.getMaxPower()); + } + } + + /** Returns the heat for RBMKs */ + public static int getHeat(TileEntity tile) { + if(tile instanceof TileEntityRBMKBase) return (int) ((TileEntityRBMKBase) tile).heat; + //original implementation also used the SNR and LNR for some reason, but those no longer exist. neither ZINOX nor research reactor were part of the system. + return -1; + } + + /** Returns a list of Object arrays, one array for each fluid tank where the array contains fluid name, fill state and capacity (STRING, INTEGER, INTEGER) */ + public static List getAllTanks(TileEntity tile) { + + List list = new ArrayList(); + + if(tile instanceof IFluidUser) { + IFluidUser user = (IFluidUser) tile; + + for(FluidTank tank : user.getAllTanks()) { + if(tank.getTankType() == Fluids.SMOKE || tank.getTankType() == Fluids.SMOKE_LEADED || tank.getTankType() == Fluids.SMOKE_POISON) continue; + list.add(toFluidInfo(tank)); + } + } + + if(tile instanceof TileEntityMachineGasCent) { + TileEntityMachineGasCent cent = (TileEntityMachineGasCent) tile; + list.add(toFluidInfo(cent.inputTank)); + list.add(toFluidInfo(cent.outputTank)); + } + + if(!list.isEmpty()) return list; + + return null; + } + + private static Object[] toFluidInfo(FluidTank tank) { + return new Object[] {tank.getTankType().getName(), tank.getFill(), tank.getMaxFill()}; + } + + private static Object[] toFluidInfo(PseudoFluidTank tank) { + return new Object[] {tank.getTankType().getName(), tank.getFill(), tank.getMaxFill()}; + } + + /** Returns any non-standard data like progress, unique stats and so forth. Data comes from the IInfoProviderEC implementation */ + public static void getExtraData(TileEntity tile, NBTTagCompound data) { + + if(tile instanceof IInfoProviderEC) { + IInfoProviderEC provider = (IInfoProviderEC) tile; + provider.provideExtraInfo(data); + } + } + + /** Returns the core tile entity for that position, can resolve the MK1 "IMultiblock" and MK2 "BlockDummyable" systems. */ + public static TileEntity findTileEntity(World world, int x, int y, int z) { + return CompatExternal.getCoreFromPos(world, x, y, z); //CompatExternal you're just standing around, do something for once + } + + /** Returns the ResourceLocation for the given fluid name */ + public static ResourceLocation getFluidTexture(String name) { + FluidType type = Fluids.fromName(name); + return type == null ? null : type.getTexture(); + } + + /* + * [DATA TYPE] _ [NAME] _ [UNIT] + */ + + public static final String KEY_EUTYPE = "euType"; + + public static final String L_ENERGY_HE = "energy"; + public static final String L_ENERGY_TU = "energyTU"; + public static final String L_ENERGY_ = "energy_"; // Blast Furnace fuel + + public static final String L_CAPACITY_HE = "capacity"; + public static final String L_CAPACITY_TU = "capacityTU"; + public static final String L_CAPACITY_ = "capacity_"; // Blast Furnace fuel capacity + + public static final String D_CONSUMPTION_HE = "consumptionHE"; + public static final String D_CONSUMPTION_MB = "consumption"; + @Deprecated public static final String S_CONSUMPTION_ = "consumption_"; // FWatz fluid consumption rates + + public static final String D_OUTPUT_HE = "output"; + public static final String D_OUTPUT_MB = "outputmb"; + public static final String D_OUTPUT_TU = "outputTU"; + + public static final String L_DIFF_HE = "diff"; // Battery diff per tick + @Deprecated public static final String I_TEMP_K = "temp"; // Unused? + public static final String D_TURBINE_PERCENT = "turbine"; // CCGT slider + public static final String I_TURBINE_SPEED = "speed"; // CCGT RPM + public static final String L_COREHEAT_C = "core"; // Research Reactor core heat + public static final String L_HULLHEAT_C = "hull"; // Research Reactor hull heat + public static final String S_LEVEL_PERCENT = "level"; // Research Reactor rods + @Deprecated public static final String L_HEATL = "heatL"; // AMS and old Watz heat values + public static final String D_HEAT_C = "heat"; // Research Reactor and RBMK column heat + public static final String D_MAXHEAT_C = "maxHeat"; // ZIRNOX melting temp + public static final String L_PRESSURE_BAR = "bar"; // ZIRNOX pressure + public static final String L_FUEL = "fuel"; // RTG Blast Furnace heat + @Deprecated public static final String S_FUELTEXT = "fuelText"; // Large Nuclear Reactor only + @Deprecated public static final String S_DEPLETED = "depleted"; // Large Nuclear Reactor only + public static final String D_DEPLETION_PERCENT = "depletion"; // RBMK Fuel depletion + public static final String D_XENON_PERCENT = "xenon"; // RBMK Fuel xenon poisoning + public static final String D_SKIN_C = "skin"; // RBMK Fuel skin heat + public static final String D_CORE_C = "c_heat"; // RBMK Fuel core heat + public static final String D_MELT_C = "melt"; // RBMK Fuel melting point + public static final String I_PROGRESS = "progress"; + public static final String I_FLUX = "flux"; // Research and Breeding Reactor flux + public static final String I_WATER = "water"; // Research Reactor water gauge + public static final String L_DURABILITY = "durability"; // DFC Stabilizer Lens + public static final String S_TANK = "tank"; + public static final String S_TANK2 = "tank2"; + public static final String S_TANK3 = "tank3"; + public static final String S_TANK4 = "tank4"; + public static final String S_TANK5 = "tank5"; + @Deprecated public static final String I_PISTONS = "pistons"; // Radial Performance Engine piston count + public static final String S_CHUNKRAD = "chunkRad"; // Geiger Counter + public static final String B_ACTIVE = "active"; +} diff --git a/src/main/java/com/hbm/util/CompatExternal.java b/src/main/java/com/hbm/util/CompatExternal.java index 46f1fab61..9881ef7fa 100644 --- a/src/main/java/com/hbm/util/CompatExternal.java +++ b/src/main/java/com/hbm/util/CompatExternal.java @@ -12,7 +12,8 @@ import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.tileentity.machine.TileEntityDummy; import com.hbm.tileentity.turret.TileEntityTurretSentry; -import api.hbm.energy.IEnergyUser; +import api.hbm.energymk2.IEnergyHandlerMK2; +import api.hbm.energymk2.IEnergyReceiverMK2; import api.hbm.fluid.IFluidUser; import net.minecraft.block.Block; import net.minecraft.entity.Entity; @@ -67,8 +68,8 @@ public class CompatExternal { */ public static long getBufferedPowerFromTile(TileEntity tile) { - if(tile instanceof IEnergyUser) { - return ((IEnergyUser) tile).getPower(); + if(tile instanceof IEnergyHandlerMK2) { + return ((IEnergyHandlerMK2) tile).getPower(); } return 0L; @@ -81,8 +82,8 @@ public class CompatExternal { */ public static long getMaxPowerFromTile(TileEntity tile) { - if(tile instanceof IEnergyUser) { - return ((IEnergyUser) tile).getMaxPower(); + if(tile instanceof IEnergyHandlerMK2) { + return ((IEnergyHandlerMK2) tile).getMaxPower(); } return 0L; @@ -95,8 +96,8 @@ public class CompatExternal { */ public static int getEnergyPriorityFromTile(TileEntity tile) { - if(tile instanceof IEnergyUser) { - return ((IEnergyUser) tile).getPriority().ordinal(); + if(tile instanceof IEnergyReceiverMK2) { + return ((IEnergyReceiverMK2) tile).getPriority().ordinal(); } return -1; @@ -124,7 +125,7 @@ public class CompatExternal { for(FluidTank tank : container.getAllTanks()) { FluidType type = tank.getTankType(); list.add(new Object[] { - type.getName(), + type.getConditionalName(), type.getID(), type.getColor(), tank.getFill(), diff --git a/src/main/java/com/hbm/util/ContaminationUtil.java b/src/main/java/com/hbm/util/ContaminationUtil.java index c09b3ba4a..63689591b 100644 --- a/src/main/java/com/hbm/util/ContaminationUtil.java +++ b/src/main/java/com/hbm/util/ContaminationUtil.java @@ -254,7 +254,7 @@ public class ContaminationUtil { DIGAMMA, //preventable by fau armor or stability DIGAMMA2, //preventable by robes CREATIVE, //preventable by creative mode, for rad calculation armor piece bonuses still apply - RAD_BYPASS, //same as craative but will not apply radiation resistance calculation + RAD_BYPASS, //same as creative but will not apply radiation resistance calculation NONE //not preventable } diff --git a/src/main/java/com/hbm/util/InventoryUtil.java b/src/main/java/com/hbm/util/InventoryUtil.java index 4e6a27661..97cc2bfe7 100644 --- a/src/main/java/com/hbm/util/InventoryUtil.java +++ b/src/main/java/com/hbm/util/InventoryUtil.java @@ -4,16 +4,27 @@ import java.util.List; import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.recipes.anvil.AnvilRecipes.AnvilOutput; +import com.hbm.tileentity.machine.TileEntityFurnaceBrick; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; +import net.minecraft.inventory.ISidedInventory; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntityFurnace; import net.minecraftforge.oredict.OreDictionary; //'t was about time public class InventoryUtil { + public static int[] masquerade(ISidedInventory sided, int side) { + + if(sided instanceof TileEntityFurnace) return new int[] {1, 0}; + if(sided instanceof TileEntityFurnaceBrick) return new int[] {1, 0, 3}; + + return sided.getAccessibleSlotsFromSide(side); + } + /** * Will attempt to cram a much of the given itemstack into the stack array as possible * The rest will be returned diff --git a/src/main/java/com/hbm/util/ItemStackUtil.java b/src/main/java/com/hbm/util/ItemStackUtil.java index 313e9bad3..1ab7af389 100644 --- a/src/main/java/com/hbm/util/ItemStackUtil.java +++ b/src/main/java/com/hbm/util/ItemStackUtil.java @@ -2,12 +2,17 @@ package com.hbm.util; import java.util.ArrayList; import java.util.List; +import java.util.Random; +import net.minecraft.block.Block; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.nbt.NBTTagString; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; import net.minecraftforge.oredict.OreDictionary; public class ItemStackUtil { @@ -161,4 +166,36 @@ public class ItemStackUtil { return list; } + + public static void spillItems(World world, int x, int y, int z, Block block, Random rand) { + IInventory tileentityfurnace = (IInventory) world.getTileEntity(x, y, z); + + if(tileentityfurnace != null) { + for(int slot = 0; slot < tileentityfurnace.getSizeInventory(); ++slot) { + ItemStack itemstack = tileentityfurnace.getStackInSlot(slot); + + if(itemstack != null) { + float oX = rand.nextFloat() * 0.8F + 0.1F; + float oY = rand.nextFloat() * 0.8F + 0.1F; + float oZ = rand.nextFloat() * 0.8F + 0.1F; + + while(itemstack.stackSize > 0) { + int j1 = rand.nextInt(21) + 10; + if(j1 > itemstack.stackSize) j1 = itemstack.stackSize; + itemstack.stackSize -= j1; + + EntityItem entityitem = new EntityItem(world, x + oX, y + oY, z + oZ, new ItemStack(itemstack.getItem(), j1, itemstack.getItemDamage())); + if(itemstack.hasTagCompound()) entityitem.getEntityItem().setTagCompound((NBTTagCompound) itemstack.getTagCompound().copy()); + + float motion = 0.05F; + entityitem.motionX = (float) rand.nextGaussian() * motion; + entityitem.motionY = (float) rand.nextGaussian() * motion + 0.2F; + entityitem.motionZ = (float) rand.nextGaussian() * motion; + world.spawnEntityInWorld(entityitem); + } + } + } + world.func_147453_f(x, y, z, block); + } + } } diff --git a/src/main/java/com/hbm/util/LootGenerator.java b/src/main/java/com/hbm/util/LootGenerator.java index 69b0af7f5..404375df6 100644 --- a/src/main/java/com/hbm/util/LootGenerator.java +++ b/src/main/java/com/hbm/util/LootGenerator.java @@ -4,10 +4,13 @@ import java.util.Random; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.BlockLoot.TileEntityLoot; +import com.hbm.itempool.ItemPool; +import com.hbm.itempool.ItemPoolsPile; import com.hbm.items.ModItems; import com.hbm.items.special.ItemBookLore; import com.hbm.items.ItemAmmoEnums.AmmoFatman; +import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.World; @@ -78,16 +81,9 @@ public class LootGenerator { for(int i = -1; i <= 1; i++) { for(int j = -1; j <= 1; j++) { - int r = world.rand.nextInt(3); - Item cap = r < 2 ? ModItems.cap_nuka : ModItems.cap_sunset; - int count = world.rand.nextInt(5) + 3; for(int k = 0; k < count; k++) { - - if(cap == ModItems.cap_sunset && world.rand.nextInt(10) == 0) - addItemWithDeviation(loot, world.rand, new ItemStack(ModItems.cap_star, 1), i * 0.3125, k * 0.03125, j * 0.3125); - else - addItemWithDeviation(loot, world.rand, new ItemStack(cap, 4), i * 0.3125, k * 0.03125, j * 0.3125); + addItemWithDeviation(loot, world.rand, ItemPool.getStack(ItemPool.getPool(ItemPoolsPile.POOL_PILE_CAPS), world.rand), i * 0.3125, k * 0.03125, j * 0.3125); } } } @@ -100,23 +96,21 @@ public class LootGenerator { if(loot != null && loot.items.isEmpty()) { - if(world.rand.nextInt(2) == 0) - addItemWithDeviation(loot, world.rand, new ItemStack(ModItems.gun_lever_action), 0, 0, 0.125); + boolean r = world.rand.nextBoolean(); + if(r) + addItemWithDeviation(loot, world.rand, new ItemStack(ModItems.gun_lever_action), 0.125, 0.025, 0.25); + + if(!r || world.rand.nextBoolean()) + addItemWithDeviation(loot, world.rand, new ItemStack(ModItems.wrench), -0.25, 0, -0.28125); int count = world.rand.nextInt(2) + 1; for(int i = 0; i < count; i++) { - int type = world.rand.nextInt(2); - Item parts = type < 1 ? ModItems.plate_steel : ModItems.mechanism_rifle_1; - addItemWithDeviation(loot, world.rand, new ItemStack(parts), -0.3125, i * 0.03125, 0.3125); + addItemWithDeviation(loot, world.rand, new ItemStack(ModItems.plate_steel), -0.25, i * 0.03125, 0.3125); } count = world.rand.nextInt(2) + 2; for(int i = 0; i < count; i++) - addItemWithDeviation(loot, world.rand, new ItemStack(ModItems.wire_aluminium), 0.3125, i * 0.03125, -0.125); - - int type = world.rand.nextInt(4); - Item tool = type > 2 ? ModItems.wrench : ModItems.screwdriver; - addItemWithDeviation(loot, world.rand, new ItemStack(tool), 0.005, 0, -0.3125); + addItemWithDeviation(loot, world.rand, new ItemStack(ModItems.wire_aluminium), 0.25, i * 0.03125, 0.1875); } } @@ -140,4 +134,48 @@ public class LootGenerator { } } } + + public static void lootBones(World world, int x, int y, int z) { + + TileEntityLoot loot = (TileEntityLoot) world.getTileEntity(x, y, z); + + if(loot != null && loot.items.isEmpty()) { + + int limit = world.rand.nextInt(3) + 3; + for(int i = 0; i < limit; i++) { + addItemWithDeviation(loot, world.rand, ItemPool.getStack(ItemPool.getPool(ItemPoolsPile.POOL_PILE_BONES), world.rand), world.rand.nextDouble() - 0.5, i * 0.03125, world.rand.nextDouble() - 0.5); + } + } + } + + public static void lootGlyphidHive(World world, int x, int y, int z) { + + TileEntityLoot loot = (TileEntityLoot) world.getTileEntity(x, y, z); + + if(loot != null && loot.items.isEmpty()) { + + int limit = world.rand.nextInt(3) + 3; + for(int i = 0; i < limit; i++) { + addItemWithDeviation(loot, world.rand, ItemPool.getStack(ItemPool.getPool(ItemPoolsPile.POOL_PILE_HIVE), world.rand), world.rand.nextDouble() - 0.5, i * 0.03125, world.rand.nextDouble() - 0.5); + } + } + } + + public static void lootBookLore(World world, int x, int y, int z, ItemStack book) { + + TileEntityLoot loot = (TileEntityLoot) world.getTileEntity(x, y, z); + + if(loot != null && loot.items.isEmpty()) { + addItemWithDeviation(loot, world.rand, book, 0, 0, -0.25); + + int count = world.rand.nextInt(3) + 2; + for(int k = 0; k < count; k++) + addItemWithDeviation(loot, world.rand, new ItemStack(Items.book), -0.25, k * 0.03125, 0.25); + + count = world.rand.nextInt(2) + 1; + for(int k = 0; k < count; k++) + addItemWithDeviation(loot, world.rand, new ItemStack(Items.paper), 0.25, k * 0.03125, 0.125); + } + } + } diff --git a/src/main/java/com/hbm/util/TrackerUtil.java b/src/main/java/com/hbm/util/TrackerUtil.java index 62140046e..5990c8b21 100644 --- a/src/main/java/com/hbm/util/TrackerUtil.java +++ b/src/main/java/com/hbm/util/TrackerUtil.java @@ -47,7 +47,7 @@ public class TrackerUtil { if(world instanceof WorldServer) { WorldServer server = (WorldServer) world; EntityTrackerEntry entry = getTrackerEntry(server, e.getEntityId()); - entry.blocksDistanceThreshold = range; + if(entry != null) entry.blocksDistanceThreshold = range; } } } diff --git a/src/main/java/com/hbm/util/fauxpointtwelve/BlockPos.java b/src/main/java/com/hbm/util/fauxpointtwelve/BlockPos.java index 4b2c6a1c8..90d897693 100644 --- a/src/main/java/com/hbm/util/fauxpointtwelve/BlockPos.java +++ b/src/main/java/com/hbm/util/fauxpointtwelve/BlockPos.java @@ -9,9 +9,9 @@ import net.minecraftforge.common.util.ForgeDirection; */ public class BlockPos implements Cloneable { - private final int x; - private final int y; - private final int z; + private int x; + private int y; + private int z; public BlockPos(int x, int y, int z) { this.x = x; @@ -27,6 +27,15 @@ public class BlockPos implements Cloneable { this((int)MathHelper.floor_double(x), (int)MathHelper.floor_double(y), (int)MathHelper.floor_double(z)); } + /** Basically a setter for the coords. Violates the "muh unmutability" horseshit I don't care about and + * lets me re-use the same instance for a ton of checks. RAM has priority over stupid religious bullshit. */ + public BlockPos mutate(int x, int y, int z) { + this.x = x; + this.y = y; + this.z = z; + return this; + } + public BlockPos add(int x, int y, int z) { return x == 0 && y == 0 && z == 0 ? this : new BlockPos(this.getX() + x, this.getY() + y, this.getZ() + z); } diff --git a/src/main/java/com/hbm/wiaj/WorldInAJar.java b/src/main/java/com/hbm/wiaj/WorldInAJar.java index e1e6e7b47..7f2fc1266 100644 --- a/src/main/java/com/hbm/wiaj/WorldInAJar.java +++ b/src/main/java/com/hbm/wiaj/WorldInAJar.java @@ -83,7 +83,7 @@ public class WorldInAJar implements IBlockAccess { } //always render fullbright, if the situation requires it we could add a very rudimentary system that - //darkens blocks id there is a solid one above + //darkens blocks if there is a solid one above @Override @SideOnly(Side.CLIENT) public int getLightBrightnessForSkyBlocks(int x, int y, int z, int blockBrightness) { diff --git a/src/main/java/com/hbm/wiaj/cannery/CanneryHadron.java b/src/main/java/com/hbm/wiaj/cannery/CanneryHadron.java new file mode 100644 index 000000000..90089afc6 --- /dev/null +++ b/src/main/java/com/hbm/wiaj/cannery/CanneryHadron.java @@ -0,0 +1,679 @@ +package com.hbm.wiaj.cannery; + +import com.hbm.blocks.ModBlocks; +import com.hbm.util.I18nUtil; +import com.hbm.wiaj.JarScene; +import com.hbm.wiaj.JarScript; +import com.hbm.wiaj.WorldInAJar; +import com.hbm.wiaj.actions.ActionCreateActor; +import com.hbm.wiaj.actions.ActionOffsetBy; +import com.hbm.wiaj.actions.ActionRemoveActor; +import com.hbm.wiaj.actions.ActionRotateBy; +import com.hbm.wiaj.actions.ActionSetBlock; +import com.hbm.wiaj.actions.ActionSetZoom; +import com.hbm.wiaj.actions.ActionWait; +import com.hbm.wiaj.actors.ActorFancyPanel; +import com.hbm.wiaj.actors.ActorFancyPanel.Orientation; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; +import net.minecraft.block.Block; +import net.minecraft.init.Blocks; +import net.minecraftforge.common.util.ForgeDirection; + +public class CanneryHadron extends CanneryBase { + + @Override + public ItemStack getIcon() { + return new ItemStack(ModBlocks.hadron_core); + } + + @Override + public String getName() { + return "cannery.hadron"; + } + + @Override + public CanneryBase[] seeAlso() { + return new CanneryBase[] { + new CannerySchottky() + }; + } + + @Override + public JarScript createScript() { + WorldInAJar world = new WorldInAJar(25, 5, 25); + JarScript script = new JarScript(world); + + + + // FIRST SCENE: Show and explain the core component + JarScene scene0 = new JarScene(script); + scene0.add(new ActionSetZoom(4, 0)); + + scene0.add(new ActionSetBlock(12, 2, 12, ModBlocks.hadron_core, ForgeDirection.NORTH.ordinal())); + + scene0.add(new ActionCreateActor(1, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -20, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.0")}}, 200) + .setColors(colorCopper).setOrientation(Orientation.BOTTOM))); + + scene0.add(new ActionWait(100)); + scene0.add(new ActionRemoveActor(1)); + scene0.add(new ActionWait(5)); + + scene0.add(new ActionCreateActor(2, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -20, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.1")}}, 200) + .setColors(colorCopper).setOrientation(Orientation.BOTTOM))); + + scene0.add(new ActionWait(100)); + scene0.add(new ActionRemoveActor(2)); + scene0.add(new ActionWait(10)); + + scene0.add(new ActionCreateActor(3, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, -14, 4, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.2")}}, 200) + .setColors(colorCopper).setOrientation(Orientation.BOTTOM))); + + scene0.add(new ActionWait(80)); + scene0.add(new ActionRemoveActor(3)); + scene0.add(new ActionWait(5)); + + scene0.add(new ActionRotateBy(-90, 0, 10)); + + scene0.add(new ActionCreateActor(4, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 14, 4, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.3")}}, 200) + .setColors(colorCopper).setOrientation(Orientation.BOTTOM))); + + scene0.add(new ActionWait(80)); + scene0.add(new ActionRemoveActor(4)); + scene0.add(new ActionWait(5)); + + scene0.add(new ActionRotateBy(90, 0, 10)); + + + + // SECOND SCENE: Begin building a coil around the core component + JarScene scene1 = new JarScene(script); + + scene1.add(new ActionSetZoom(4, 0)); + scene1.add(new ActionSetZoom(-2, 10)); + + for(int i = 0; i < 8; i++) { + double r = i * Math.PI / 4; + scene1.add(new ActionSetBlock(12 + (int)(Math.cos(r) * 1.5F), 2 + (int)(Math.sin(r) * 1.5F), 12, ModBlocks.hadron_coil_alloy)); + scene1.add(new ActionWait(2)); + } + + scene1.add(new ActionWait(5)); + + scene1.add(new ActionCreateActor(5, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -25, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.4")}}, 200) + .setColors(colorCopper).setOrientation(Orientation.BOTTOM))); + + scene1.add(new ActionWait(40)); + + for(Block block : new Block[] { + ModBlocks.hadron_coil_gold, + ModBlocks.hadron_coil_neodymium, + ModBlocks.hadron_coil_magtung, + ModBlocks.hadron_coil_schrabidium, + ModBlocks.hadron_coil_schrabidate, + ModBlocks.hadron_coil_starmetal, + ModBlocks.hadron_coil_chlorophyte, + ModBlocks.hadron_coil_mese + }) { + for(int i = 0; i < 8; i++) { + double r = i * Math.PI / 4; + scene1.add(new ActionSetBlock(12 + (int)(Math.cos(r) * 1.5F), 2 + (int)(Math.sin(r) * 1.5F), 12, block)); + scene1.add(new ActionWait(1)); + } + + scene1.add(new ActionWait(4)); + } + + scene1.add(new ActionWait(20)); + scene1.add(new ActionRemoveActor(5)); + scene1.add(new ActionWait(5)); + + for(int i = 0; i < 12; i++) { + double r = i * Math.PI / 6; + scene1.add(new ActionSetBlock(12 + (int)(Math.cos(r) * 2.75F), 2 + (int)(Math.sin(r) * 2.75F), 12, ModBlocks.hadron_plating)); + scene1.add(new ActionWait(2)); + } + + scene1.add(new ActionCreateActor(6, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -40, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.5")}}, 200) + .setColors(colorCopper).setOrientation(Orientation.BOTTOM))); + + scene1.add(new ActionWait(60)); + scene1.add(new ActionRemoveActor(6)); + scene1.add(new ActionWait(5)); + + + + // THIRD SCENE: Add the Access Terminal and Power Plug + JarScene scene2 = new JarScene(script); + scene2.add(new ActionSetZoom(2, 0)); + + scene2.add(new ActionWait(5)); + + for(int i = 7; i >= 0; i--) { + double r = i * Math.PI / 4; + scene2.add(new ActionSetBlock(12 + (int)(Math.cos(r) * 1.5F), 2 + (int)(Math.sin(r) * 1.5F), 12, ModBlocks.hadron_coil_neodymium)); + scene2.add(new ActionWait(1)); + } + + scene2.add(new ActionWait(20)); + + scene2.add(new ActionSetBlock(12 - 2, 2, 12, Blocks.air)); + scene2.add(new ActionWait(15)); + + scene2.add(new ActionSetBlock(12 - 2, 2, 12, ModBlocks.hadron_access, ForgeDirection.EAST.ordinal())); + scene2.add(new ActionWait(10)); + + scene2.add(new ActionCreateActor(7, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 36, 18, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.6")}}, 100) + .setColors(colorCopper).setOrientation(Orientation.LEFT))); + + scene2.add(new ActionWait(80)); + scene2.add(new ActionRemoveActor(7)); + scene2.add(new ActionWait(20)); + + scene2.add(new ActionSetBlock(12, 2 + 2, 12, Blocks.air)); + scene2.add(new ActionWait(15)); + + scene2.add(new ActionSetBlock(12, 2 + 2, 12, ModBlocks.hadron_power)); + scene2.add(new ActionWait(10)); + + scene2.add(new ActionCreateActor(8, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -45, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.7")}}, 200) + .setColors(colorCopper).setOrientation(Orientation.BOTTOM))); + + scene2.add(new ActionWait(80)); + scene2.add(new ActionRemoveActor(8)); + scene2.add(new ActionWait(20)); + + + + // FOURTH SCENE: Add some coil segments and power them + JarScene scene3 = new JarScene(script); + scene3.add(new ActionSetZoom(2, 0)); + + for(int i = 0; i < 8; i++) { + double r = i * Math.PI / 4; + scene3.add(new ActionSetBlock(12 + (int)(Math.cos(r) * 1.5F), 2 + (int)(Math.sin(r) * 1.5F), 11, ModBlocks.hadron_coil_neodymium)); + scene3.add(new ActionWait(2)); + } + + for(int i = 0; i < 12; i++) { + double r = i * Math.PI / 6; + scene3.add(new ActionSetBlock(12 + (int)(Math.cos(r) * 2.75F), 2 + (int)(Math.sin(r) * 2.75F), 11, ModBlocks.hadron_plating)); + scene3.add(new ActionWait(2)); + } + + scene3.add(new ActionWait(5)); + + for(int i = 0; i < 8; i++) { + double r = i * Math.PI / 4; + scene3.add(new ActionSetBlock(12 + (int)(Math.cos(r) * 1.5F), 2 + (int)(Math.sin(r) * 1.5F), 10, ModBlocks.hadron_coil_neodymium)); + scene3.add(new ActionWait(2)); + } + + for(int i = 0; i < 12; i++) { + double r = i * Math.PI / 6; + scene3.add(new ActionSetBlock(12 + (int)(Math.cos(r) * 2.75F), 2 + (int)(Math.sin(r) * 2.75F), 10, ModBlocks.hadron_plating)); + scene3.add(new ActionWait(2)); + } + + scene3.add(new ActionWait(20)); + + scene3.add(new ActionSetBlock(12, 2 + 2, 10, Blocks.air)); + scene3.add(new ActionWait(15)); + + scene3.add(new ActionSetBlock(12, 2 + 2, 10, ModBlocks.hadron_power)); + scene3.add(new ActionWait(10)); + + scene3.add(new ActionCreateActor(9, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, -28, -28, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.8")}}, 200) + .setColors(colorCopper).setOrientation(Orientation.BOTTOM))); + + scene3.add(new ActionWait(40)); + + scene3.add(new ActionCreateActor(10, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, -12, 28, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.math.0")}, {I18nUtil.resolveKey("cannery.hadron.math.1")}}, 0) + .setColors(colorCopper).setOrientation(Orientation.LEFT))); + + scene3.add(new ActionWait(40)); + scene3.add(new ActionRemoveActor(10)); + scene3.add(new ActionWait(5)); + + for(int i = 0; i < 8; i++) { + double r = i * Math.PI / 4; + scene3.add(new ActionSetBlock(12 + (int)(Math.cos(r) * 1.5F), 2 + (int)(Math.sin(r) * 1.5F), 10, ModBlocks.hadron_coil_starmetal)); + scene3.add(new ActionWait(1)); + } + + scene3.add(new ActionCreateActor(13, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, -12, 28, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.math.2")}, {I18nUtil.resolveKey("cannery.hadron.math.3")}}, 0) + .setColors(colorCopper).setOrientation(Orientation.LEFT))); + + + scene3.add(new ActionWait(80)); + scene3.add(new ActionRemoveActor(9)); + scene3.add(new ActionWait(10)); + + scene3.add(new ActionCreateActor(11, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -45, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.9")}}, 200) + .setColors(colorCopper).setOrientation(Orientation.BOTTOM))); + + scene3.add(new ActionWait(80)); + scene3.add(new ActionRemoveActor(11)); + scene3.add(new ActionWait(5)); + + scene3.add(new ActionCreateActor(12, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -45, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.10")}}, 200) + .setColors(colorCopper).setOrientation(Orientation.BOTTOM))); + + scene3.add(new ActionWait(80)); + scene3.add(new ActionRemoveActor(12)); + scene3.add(new ActionWait(10)); + + scene3.add(new ActionRemoveActor(13)); + + for(int i = 7; i >= 0; i--) { + double r = i * Math.PI / 4; + scene3.add(new ActionSetBlock(12 + (int)(Math.cos(r) * 1.5F), 2 + (int)(Math.sin(r) * 1.5F), 10, ModBlocks.hadron_coil_neodymium)); + scene3.add(new ActionWait(1)); + } + + + + // FIFTH SCENE: Add a bend to the coil + JarScene scene4 = new JarScene(script); + scene4.add(new ActionSetZoom(2, 0)); + + scene4.add(new ActionOffsetBy(0, 0, 4, 10)); + scene4.add(new ActionRotateBy(90, 0, 10)); + + + // BEGIN CORNER SEGMENT + for(int z = 9; z >= 7; z--) { + for(int x = 11; x <= 14; x++) { + if(z == 7 && x == 11) continue; + scene4.add(new ActionSetBlock(x, 0, z, ModBlocks.hadron_plating)); + scene4.add(new ActionWait(2)); + } + } + + for(int z = 9; z >= 6; z--) { + for(int x = 10; x <= 14; x++) { + if(z == 6 && x <= 11) continue; + if(z <= 7 && x == 10) continue; + scene4.add(new ActionSetBlock(x, 1, z, z == 6 || x == 10 || (z == 7 && x == 11) ? ModBlocks.hadron_plating : ModBlocks.hadron_coil_neodymium)); + scene4.add(new ActionWait(2)); + } + } + + for(int z = 9; z >= 6; z--) { + for(int x = 10; x <= 14; x++) { + if(z == 6 && x <= 11) continue; + if(z <= 7 && x == 10) continue; + if(z == 9 && x == 12) continue; + if(z == 8 && x == 12) continue; + if(z == 8 && x == 13) continue; + if(z == 8 && x == 14) continue; + scene4.add(new ActionSetBlock(x, 2, z, z == 6 || x == 10 || (z == 7 && x == 11) ? ModBlocks.hadron_plating : ModBlocks.hadron_coil_neodymium)); + scene4.add(new ActionWait(2)); + } + } + // END CORNER SEGMENT + + + scene4.add(new ActionWait(5)); + + scene4.add(new ActionCreateActor(14, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, -8, -35, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.11")}}, 200) + .setColors(colorCopper).setOrientation(Orientation.BOTTOM))); + + scene4.add(new ActionWait(80)); + scene4.add(new ActionRemoveActor(14)); + scene4.add(new ActionWait(5)); + + scene4.add(new ActionCreateActor(15, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 24, -16, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.12")}}, 200) + .setColors(colorCopper).setOrientation(Orientation.BOTTOM))); + + scene4.add(new ActionWait(80)); + scene4.add(new ActionRemoveActor(15)); + scene4.add(new ActionWait(10)); + + for(int z = 9; z >= 6; z--) { + for(int x = 10; x <= 14; x++) { + if(z == 6 && x <= 11) continue; + if(z <= 7 && x == 10) continue; + scene4.add(new ActionSetBlock(x, 3, z, z == 6 || x == 10 || (z == 7 && x == 11) ? ModBlocks.hadron_plating : ModBlocks.hadron_coil_neodymium)); + scene4.add(new ActionWait(2)); + } + } + + for(int z = 9; z >= 7; z--) { + for(int x = 11; x <= 14; x++) { + if(z == 7 && x == 11) continue; + scene4.add(new ActionSetBlock(x, 4, z, ModBlocks.hadron_plating)); + scene4.add(new ActionWait(2)); + } + } + + scene4.add(new ActionWait(10)); + + scene4.add(new ActionSetBlock(14, 2 + 2, 8, Blocks.air)); + scene4.add(new ActionWait(10)); + + scene4.add(new ActionSetBlock(14, 2 + 2, 8, ModBlocks.hadron_power)); + scene4.add(new ActionWait(10)); + + + + + // SIXTH SCENE: Reach the Analysis Chamber + JarScene scene5 = new JarScene(script); + scene5.add(new ActionSetZoom(2, 0)); + + for(int i = 0; i < 8; i++) { + double r = i * Math.PI / 4; + scene5.add(new ActionSetBlock(15, 2 + (int)(Math.sin(r) * 1.5F), 8 + (int)(Math.cos(r) * 1.5F), ModBlocks.hadron_coil_neodymium)); + scene5.add(new ActionWait(1)); + } + + for(int i = 0; i < 12; i++) { + double r = i * Math.PI / 6; + scene5.add(new ActionSetBlock(15, 2 + (int)(Math.sin(r) * 2.75F), 8 + (int)(Math.cos(r) * 2.75F), ModBlocks.hadron_plating)); + scene5.add(new ActionWait(1)); + } + + for(int i = 0; i < 8; i++) { + double r = i * Math.PI / 4; + scene5.add(new ActionSetBlock(16, 2 + (int)(Math.sin(r) * 1.5F), 8 + (int)(Math.cos(r) * 1.5F), ModBlocks.hadron_coil_neodymium)); + scene5.add(new ActionWait(1)); + } + + for(int i = 0; i < 12; i++) { + double r = i * Math.PI / 6; + scene5.add(new ActionSetBlock(16, 2 + (int)(Math.sin(r) * 2.75F), 8 + (int)(Math.cos(r) * 2.75F), i == 3 ? ModBlocks.hadron_power : ModBlocks.hadron_plating)); + scene5.add(new ActionWait(1)); + } + + + // BEGIN CORNER SEGMENT + for(int x = 17; x <= 19; x++) { + for(int z = 10; z >= 7; z--) { + if(z == 7 && x == 19) continue; + scene5.add(new ActionSetBlock(x, 0, z, ModBlocks.hadron_plating)); + scene5.add(new ActionWait(1)); + } + } + + for(int x = 17; x <= 20; x++) { + for(int z = 10; z >= 6; z--) { + if(z == 6 && x >= 19) continue; + if(z <= 7 && x == 20) continue; + scene5.add(new ActionSetBlock(x, 1, z, z == 6 || x == 20 || (z == 7 && x == 19) ? ModBlocks.hadron_plating : ModBlocks.hadron_coil_neodymium)); + scene5.add(new ActionWait(1)); + } + } + + for(int x = 17; x <= 20; x++) { + for(int z = 10; z >= 6; z--) { + if(z == 6 && x >= 19) continue; + if(z <= 7 && x == 20) continue; + if(z == 9 && x == 18) continue; + if(z == 8 && x == 18) continue; + if(z == 8 && x == 17) continue; + if(z == 10 && x == 18) continue; + scene5.add(new ActionSetBlock(x, 2, z, z == 6 || x == 20 || (z == 7 && x == 19) ? ModBlocks.hadron_plating : ModBlocks.hadron_coil_neodymium)); + scene5.add(new ActionWait(1)); + } + } + + for(int x = 17; x <= 20; x++) { + for(int z = 10; z >= 6; z--) { + if(z == 6 && x >= 19) continue; + if(z <= 7 && x == 20) continue; + scene5.add(new ActionSetBlock(x, 3, z, z == 6 || x == 20 || (z == 7 && x == 19) ? ModBlocks.hadron_plating : ModBlocks.hadron_coil_neodymium)); + scene5.add(new ActionWait(1)); + } + } + + for(int x = 17; x <= 19; x++) { + for(int z = 10; z >= 7; z--) { + if(z == 7 && x == 19) continue; + scene5.add(new ActionSetBlock(x, 4, z, ModBlocks.hadron_plating)); + scene5.add(new ActionWait(1)); + } + } + // END CORNER SEGMENT + + + scene5.add(new ActionRotateBy(-90, 0, 5)); + scene5.add(new ActionOffsetBy(0, 0, -8, 10)); + scene5.add(new ActionRotateBy(-90, 0, 10)); + scene5.add(new ActionSetZoom(-1, 10)); + + for(int z = 11; z <= 20; z++) { + for(int i = 0; i < 8; i++) { + double r = i * Math.PI / 4; + scene5.add(new ActionSetBlock(18 + (int)(Math.cos(r) * 1.5F), 2 + (int)(Math.sin(r) * 1.5F), z, ModBlocks.hadron_coil_neodymium)); + if(z == 11 || z == 20) scene5.add(new ActionWait(1)); + } + + for(int i = 0; i < 12; i++) { + double r = i * Math.PI / 6; + scene5.add(new ActionSetBlock(18 + (int)(Math.cos(r) * 2.75F), 2 + (int)(Math.sin(r) * 2.75F), z, i == 3 && z % 3 == 0 ? ModBlocks.hadron_power : ModBlocks.hadron_plating)); + if(z == 11 || z == 20) scene5.add(new ActionWait(1)); + } + + scene5.add(new ActionWait(z < 13 || z > 18 ? 2 : 1)); + } + + // SEVENTH SCENE: Actually build the Analysis Chamber + JarScene scene6 = new JarScene(script); + scene6.add(new ActionSetZoom(1, 0)); + + scene6.add(new ActionSetZoom(1, 10)); + + for(int i = 0; i < 8; i++) { + double r = i * Math.PI / 4; + scene6.add(new ActionSetBlock(12 + (int)(Math.cos(r) * 1.5F), 2 + (int)(Math.sin(r) * 1.5F), 13, ModBlocks.hadron_coil_neodymium)); + scene6.add(new ActionWait(1)); + } + + for(int i = 0; i < 12; i++) { + double r = i * Math.PI / 6; + scene6.add(new ActionSetBlock(12 + (int)(Math.cos(r) * 2.75F), 2 + (int)(Math.sin(r) * 2.75F), 13, ModBlocks.hadron_plating)); + scene6.add(new ActionWait(1)); + } + + for(int z = 14; z <= 16; z++) { + for(int i = 0; i < 12; i++) { + double r = i * Math.PI / 6; + scene6.add(new ActionSetBlock(12 + (int)(Math.cos(r) * 2.75F), 2 + (int)(Math.sin(r) * 2.75F), z, i == 6 ? ModBlocks.hadron_analysis_glass : ModBlocks.hadron_analysis)); + scene6.add(new ActionWait(2)); + } + } + + scene6.add(new ActionWait(10)); + + scene6.add(new ActionCreateActor(16, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, 0, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.13")}}, 200) + .setColors(colorCopper).setOrientation(Orientation.BOTTOM))); + + scene6.add(new ActionWait(100)); + scene6.add(new ActionRemoveActor(16)); + scene6.add(new ActionWait(10)); + + for(int z = 17; z <= 20; z++) { + for(int i = 0; i < 8; i++) { + double r = i * Math.PI / 4; + scene6.add(new ActionSetBlock(12 + (int)(Math.cos(r) * 1.5F), 2 + (int)(Math.sin(r) * 1.5F), z, ModBlocks.hadron_coil_neodymium)); + if(z == 17 || z == 20) scene6.add(new ActionWait(1)); + } + + for(int i = 0; i < 12; i++) { + double r = i * Math.PI / 6; + scene6.add(new ActionSetBlock(12 + (int)(Math.cos(r) * 2.75F), 2 + (int)(Math.sin(r) * 2.75F), z, i == 3 && (z == 18 || z == 20) ? ModBlocks.hadron_power : ModBlocks.hadron_plating)); + if(z == 17 || z == 20) scene6.add(new ActionWait(1)); + } + + scene6.add(new ActionWait(1)); + } + + scene6.add(new ActionSetZoom(-1, 10)); + + // BEGIN CORNER SEGMENT + for(int x = 17; x <= 19; x++) { + for(int z = 23; z >= 21; z--) { + if(z == 23 && x == 19) continue; + scene6.add(new ActionSetBlock(x, 0, z, ModBlocks.hadron_plating)); + scene6.add(new ActionWait(1)); + } + } + + for(int x = 17; x <= 20; x++) { + for(int z = 24; z >= 21; z--) { + if(z == 24 && x >= 19) continue; + if(z >= 23 && x == 20) continue; + scene6.add(new ActionSetBlock(x, 1, z, z == 24 || x == 20 || (z == 23 && x == 19) ? ModBlocks.hadron_plating : ModBlocks.hadron_coil_neodymium)); + scene6.add(new ActionWait(1)); + } + } + + for(int x = 17; x <= 20; x++) { + for(int z = 24; z >= 21; z--) { + if(z == 24 && x >= 19) continue; + if(z >= 23 && x == 20) continue; + if(z == 21 && x == 18) continue; + if(z == 22 && x == 18) continue; + if(z == 22 && x == 17) continue; + if(z == 20 && x == 18) continue; + scene6.add(new ActionSetBlock(x, 2, z, z == 24 || x == 20 || (z == 23 && x == 19) ? ModBlocks.hadron_plating : ModBlocks.hadron_coil_neodymium)); + scene6.add(new ActionWait(1)); + } + } + + for(int x = 17; x <= 20; x++) { + for(int z = 24; z >= 21; z--) { + if(z == 24 && x >= 19) continue; + if(z >= 23 && x == 20) continue; + scene6.add(new ActionSetBlock(x, 3, z, z == 24 || x == 20 || (z == 23 && x == 19) ? ModBlocks.hadron_plating : ModBlocks.hadron_coil_neodymium)); + scene6.add(new ActionWait(1)); + } + } + + for(int x = 17; x <= 19; x++) { + for(int z = 23; z >= 21; z--) { + if(z == 23 && x == 19) continue; + scene6.add(new ActionSetBlock(x, 4, z, ModBlocks.hadron_plating)); + scene6.add(new ActionWait(1)); + } + } + // END CORNER SEGMENT + + for(int i = 0; i < 8; i++) { + double r = i * Math.PI / 4; + scene6.add(new ActionSetBlock(16, 2 + (int)(Math.sin(r) * 1.5F), 22 + (int)(Math.cos(r) * 1.5F), ModBlocks.hadron_coil_neodymium)); + scene6.add(new ActionWait(1)); + } + + for(int i = 0; i < 12; i++) { + double r = i * Math.PI / 6; + scene6.add(new ActionSetBlock(16, 2 + (int)(Math.sin(r) * 2.75F), 22 + (int)(Math.cos(r) * 2.75F), i == 3 ? ModBlocks.hadron_power : ModBlocks.hadron_plating)); + scene6.add(new ActionWait(1)); + } + + for(int i = 0; i < 8; i++) { + double r = i * Math.PI / 4; + scene6.add(new ActionSetBlock(15, 2 + (int)(Math.sin(r) * 1.5F), 22 + (int)(Math.cos(r) * 1.5F), ModBlocks.hadron_coil_neodymium)); + scene6.add(new ActionWait(1)); + } + + for(int i = 0; i < 12; i++) { + double r = i * Math.PI / 6; + scene6.add(new ActionSetBlock(15, 2 + (int)(Math.sin(r) * 2.75F), 22 + (int)(Math.cos(r) * 2.75F), ModBlocks.hadron_plating)); + scene6.add(new ActionWait(1)); + } + + for(int i = 0; i < 8; i++) { + double r = i * Math.PI / 4; + scene6.add(new ActionSetBlock(14, 2 + (int)(Math.sin(r) * 1.5F), 22 + (int)(Math.cos(r) * 1.5F), ModBlocks.hadron_coil_neodymium)); + scene6.add(new ActionWait(1)); + } + + for(int i = 0; i < 12; i++) { + double r = i * Math.PI / 6; + scene6.add(new ActionSetBlock(14, 2 + (int)(Math.sin(r) * 2.75F), 22 + (int)(Math.cos(r) * 2.75F), i == 3 ? ModBlocks.hadron_power : ModBlocks.hadron_plating)); + scene6.add(new ActionWait(1)); + } + + // BEGIN CORNER SEGMENT + for(int x = 11; x <= 13; x++) { + for(int z = 23; z >= 21; z--) { + if(z == 23 && x == 11) continue; + scene6.add(new ActionSetBlock(x, 0, z, ModBlocks.hadron_plating)); + scene6.add(new ActionWait(1)); + } + } + + for(int x = 10; x <= 13; x++) { + for(int z = 24; z >= 21; z--) { + if(z == 24 && x <= 11) continue; + if(z >= 23 && x == 10) continue; + scene6.add(new ActionSetBlock(x, 1, z, z == 24 || x == 10 || (z == 23 && x == 11) ? ModBlocks.hadron_plating : ModBlocks.hadron_coil_neodymium)); + scene6.add(new ActionWait(1)); + } + } + + for(int x = 10; x <= 13; x++) { + for(int z = 24; z >= 21; z--) { + if(z == 24 && x <= 11) continue; + if(z >= 23 && x == 10) continue; + if(z == 21 && x == 12) continue; + if(z == 22 && x == 12) continue; + if(z == 22 && x == 13) continue; + scene6.add(new ActionSetBlock(x, 2, z, z == 24 || x == 10 || (z == 23 && x == 11) ? ModBlocks.hadron_plating : ModBlocks.hadron_coil_neodymium)); + scene6.add(new ActionWait(1)); + } + } + + for(int x = 10; x <= 13; x++) { + for(int z = 24; z >= 21; z--) { + if(z == 24 && x <= 11) continue; + if(z >= 23 && x == 10) continue; + scene6.add(new ActionSetBlock(x, 3, z, z == 24 || x == 10 || (z == 23 && x == 11) ? ModBlocks.hadron_plating : ModBlocks.hadron_coil_neodymium)); + scene6.add(new ActionWait(1)); + } + } + + for(int x = 11; x <= 13; x++) { + for(int z = 23; z >= 21; z--) { + if(z == 23 && x == 11) continue; + scene6.add(new ActionSetBlock(x, 4, z, ModBlocks.hadron_plating)); + scene6.add(new ActionWait(1)); + } + } + // END CORNER SEGMENT + + scene6.add(new ActionWait(10)); + + scene6.add(new ActionCreateActor(17, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -50, new Object[][] {{I18nUtil.resolveKey("cannery.hadron.14")}}, 200) + .setColors(colorCopper).setOrientation(Orientation.BOTTOM))); + + scene6.add(new ActionWait(100)); + scene6.add(new ActionRemoveActor(17)); + scene6.add(new ActionWait(10)); + + + + + // ADDENDUM SCENE: Schottky diodes + + + + // ADDENDUM SCENE: Cooling + + + script + .addScene(scene0) + .addScene(scene1) + .addScene(scene2) + .addScene(scene3) + .addScene(scene4) + .addScene(scene5) + .addScene(scene6); + + return script; + } + +} diff --git a/src/main/java/com/hbm/wiaj/cannery/CannerySchottky.java b/src/main/java/com/hbm/wiaj/cannery/CannerySchottky.java new file mode 100644 index 000000000..e7d956e53 --- /dev/null +++ b/src/main/java/com/hbm/wiaj/cannery/CannerySchottky.java @@ -0,0 +1,250 @@ +package com.hbm.wiaj.cannery; + +import com.hbm.blocks.ModBlocks; +import com.hbm.items.ModItems; +import com.hbm.tileentity.machine.TileEntityHadronDiode; +import com.hbm.util.I18nUtil; +import com.hbm.wiaj.JarScene; +import com.hbm.wiaj.JarScript; +import com.hbm.wiaj.WorldInAJar; +import com.hbm.wiaj.actions.ActionCreateActor; +import com.hbm.wiaj.actions.ActionRemoveActor; +import com.hbm.wiaj.actions.ActionRotateBy; +import com.hbm.wiaj.actions.ActionSetBlock; +import com.hbm.wiaj.actions.ActionSetTile; +import com.hbm.wiaj.actions.ActionSetZoom; +import com.hbm.wiaj.actions.ActionWait; +import com.hbm.wiaj.actors.ActorFancyPanel; +import com.hbm.wiaj.actors.ActorFancyPanel.Orientation; + +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; + +public class CannerySchottky extends CanneryBase { + + @Override + public ItemStack getIcon() { + return new ItemStack(ModBlocks.hadron_diode); + } + + @Override + public String getName() { + return "cannery.schottky"; + } + + @Override + public CanneryBase[] seeAlso() { + return new CanneryBase[] { + new CanneryHadron() + }; + } + + @Override + public JarScript createScript() { + WorldInAJar world = new WorldInAJar(5, 5, 5); + JarScript script = new JarScript(world); + + + // FIRST SCENE: Show and explain the diode + JarScene scene0 = new JarScene(script); + scene0.add(new ActionSetZoom(4, 0)); + + scene0.add(new ActionSetTile(2, 2, 2, new TileEntityHadronDiode())); + scene0.add(new ActionSetBlock(2, 2, 2, ModBlocks.hadron_diode)); + + scene0.add(new ActionCreateActor(1, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -20, new Object[][] {{I18nUtil.resolveKey("cannery.schottky.0")}}, 200) + .setColors(colorCopper).setOrientation(Orientation.BOTTOM))); + + scene0.add(new ActionWait(100)); + scene0.add(new ActionRemoveActor(1)); + scene0.add(new ActionWait(5)); + + scene0.add(new ActionCreateActor(1, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -20, new Object[][] {{I18nUtil.resolveKey("cannery.schottky.1")}}, 200) + .setColors(colorCopper).setOrientation(Orientation.BOTTOM))); + + scene0.add(new ActionWait(80)); + scene0.add(new ActionRemoveActor(1)); + scene0.add(new ActionWait(10)); + + scene0.add(new ActionCreateActor(2, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, -14, 8, new Object[][] {{new ItemStack(ModItems.screwdriver)}}, 0) + .setColors(colorCopper).setOrientation(Orientation.RIGHT))); + + scene0.add(new ActionWait(20)); + scene0.add(new ActionRemoveActor(2)); + + scene0.add(new ActionSetTile(2, 2, 2, new TileEntityHadronDiode() {{ sides[2] = DiodeConfig.IN; }})); + + scene0.add(new ActionWait(10)); + + scene0.add(new ActionCreateActor(3, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, -14, 8, new Object[][] {{I18nUtil.resolveKey("cannery.schottky.2")}}, 100) + .setColors(colorCopper).setOrientation(Orientation.RIGHT))); + + scene0.add(new ActionWait(60)); + scene0.add(new ActionRemoveActor(3)); + scene0.add(new ActionWait(10)); + + scene0.add(new ActionCreateActor(4, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 14, 8, new Object[][] {{new ItemStack(ModItems.screwdriver)}}, 0) + .setColors(colorCopper).setOrientation(Orientation.LEFT))); + + scene0.add(new ActionWait(10)); + scene0.add(new ActionRemoveActor(4)); + + scene0.add(new ActionSetTile(2, 2, 2, new TileEntityHadronDiode() {{ sides[2] = DiodeConfig.IN; sides[4] = DiodeConfig.IN; }})); + + scene0.add(new ActionWait(5)); + + scene0.add(new ActionCreateActor(5, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 14, 8, new Object[][] {{new ItemStack(ModItems.screwdriver)}}, 0) + .setColors(colorCopper).setOrientation(Orientation.LEFT))); + + scene0.add(new ActionWait(10)); + scene0.add(new ActionRemoveActor(5)); + + scene0.add(new ActionSetTile(2, 2, 2, new TileEntityHadronDiode() {{ sides[2] = DiodeConfig.IN; sides[4] = DiodeConfig.OUT; }})); + + scene0.add(new ActionWait(10)); + + scene0.add(new ActionCreateActor(6, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 14, 8, new Object[][] {{I18nUtil.resolveKey("cannery.schottky.3")}}, 100) + .setColors(colorCopper).setOrientation(Orientation.LEFT))); + + scene0.add(new ActionWait(60)); + scene0.add(new ActionRemoveActor(6)); + scene0.add(new ActionWait(10)); + + + // SECOND SCENE: Add another entrance and exit + JarScene scene1 = new JarScene(script); + scene1.add(new ActionSetZoom(4, 0)); + + scene1.add(new ActionRotateBy(180, 0, 10)); + + scene1.add(new ActionCreateActor(2, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, -14, 8, new Object[][] {{new ItemStack(ModItems.screwdriver)}}, 0) + .setColors(colorCopper).setOrientation(Orientation.RIGHT))); + + scene1.add(new ActionWait(10)); + scene1.add(new ActionRemoveActor(2)); + + scene1.add(new ActionSetTile(2, 2, 2, new TileEntityHadronDiode() {{ sides[2] = DiodeConfig.IN; sides[4] = DiodeConfig.OUT; sides[3] = DiodeConfig.IN; }})); + + scene1.add(new ActionWait(10)); + + scene1.add(new ActionCreateActor(4, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 14, 8, new Object[][] {{new ItemStack(ModItems.screwdriver)}}, 0) + .setColors(colorCopper).setOrientation(Orientation.LEFT))); + + scene1.add(new ActionWait(10)); + scene1.add(new ActionRemoveActor(4)); + + scene1.add(new ActionSetTile(2, 2, 2, new TileEntityHadronDiode() {{ sides[2] = DiodeConfig.IN; sides[4] = DiodeConfig.OUT; sides[3] = DiodeConfig.IN; sides[5] = DiodeConfig.IN; }})); + + scene1.add(new ActionWait(5)); + + scene1.add(new ActionCreateActor(5, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 14, 8, new Object[][] {{new ItemStack(ModItems.screwdriver)}}, 0) + .setColors(colorCopper).setOrientation(Orientation.LEFT))); + + scene1.add(new ActionWait(10)); + scene1.add(new ActionRemoveActor(5)); + + scene1.add(new ActionSetTile(2, 2, 2, new TileEntityHadronDiode() {{ sides[2] = DiodeConfig.IN; sides[4] = DiodeConfig.OUT; sides[3] = DiodeConfig.IN; sides[5] = DiodeConfig.OUT; }})); + + scene1.add(new ActionWait(10)); + + scene1.add(new ActionRotateBy(-180, 0, 10)); + + scene1.add(new ActionCreateActor(1, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -20, new Object[][] {{I18nUtil.resolveKey("cannery.schottky.4")}}, 200) + .setColors(colorCopper).setOrientation(Orientation.BOTTOM))); + + scene1.add(new ActionWait(100)); + scene1.add(new ActionRemoveActor(1)); + scene1.add(new ActionWait(10)); + + scene1.add(new ActionCreateActor(1, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -20, new Object[][] {{I18nUtil.resolveKey("cannery.schottky.5")}}, 200) + .setColors(colorCopper).setOrientation(Orientation.BOTTOM))); + + scene1.add(new ActionWait(100)); + scene1.add(new ActionRemoveActor(1)); + scene1.add(new ActionWait(10)); + + scene1.add(new ActionCreateActor(1, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -20, new Object[][] {{I18nUtil.resolveKey("cannery.schottky.6")}}, 200) + .setColors(colorCopper).setOrientation(Orientation.BOTTOM))); + + scene1.add(new ActionWait(100)); + scene1.add(new ActionRemoveActor(1)); + scene1.add(new ActionWait(10)); + + scene1.add(new ActionCreateActor(1, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -20, new Object[][] {{I18nUtil.resolveKey("cannery.schottky.7")}}, 200) + .setColors(colorCopper).setOrientation(Orientation.BOTTOM))); + + scene1.add(new ActionWait(100)); + scene1.add(new ActionRemoveActor(1)); + scene1.add(new ActionWait(10)); + + scene1.add(new ActionCreateActor(1, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -20, new Object[][] {{I18nUtil.resolveKey("cannery.schottky.8")}}, 200) + .setColors(colorCopper).setOrientation(Orientation.BOTTOM))); + + scene1.add(new ActionWait(100)); + scene1.add(new ActionRemoveActor(1)); + scene1.add(new ActionWait(10)); + + + + // THIRD SCENE: Correctly enclose the diode + JarScene scene2 = new JarScene(script); + scene2.add(new ActionSetZoom(4, 0)); + + scene2.add(new ActionSetZoom(-2, 10)); + + for(int x = 0; x < 5; x++) { + for(int z = 0; z < 5; z++) { + if((x == 0 || x == 4) && (z == 0 || z == 4)) continue; + scene2.add(new ActionSetBlock(x, 0, z, ModBlocks.hadron_plating)); + scene2.add(new ActionWait(1)); + } + } + + for(int x = 0; x < 5; x++) { + for(int z = 0; z < 5; z++) { + scene2.add(new ActionSetBlock(x, 1, z, (x == 0 || x == 4) && (z == 0 || z == 4) ? ModBlocks.hadron_plating : ModBlocks.hadron_coil_alloy)); + scene2.add(new ActionWait(1)); + } + } + + for(int x = 0; x < 5; x++) { + for(int z = 0; z < 5; z++) { + if(x == 2 || z == 2) continue; + scene2.add(new ActionSetBlock(x, 2, z, (x == 0 || x == 4) && (z == 0 || z == 4) ? ModBlocks.hadron_plating : ModBlocks.hadron_coil_alloy)); + scene2.add(new ActionWait(1)); + } + } + + scene2.add(new ActionCreateActor(1, new ActorFancyPanel(Minecraft.getMinecraft().fontRenderer, 0, -20, new Object[][] {{I18nUtil.resolveKey("cannery.schottky.9")}}, 200) + .setColors(colorCopper).setOrientation(Orientation.BOTTOM))); + + + scene2.add(new ActionRotateBy(360, 0, 100)); + scene2.add(new ActionRemoveActor(1)); + scene2.add(new ActionWait(10)); + + for(int x = 0; x < 5; x++) { + for(int z = 0; z < 5; z++) { + scene2.add(new ActionSetBlock(x, 3, z, (x == 0 || x == 4) && (z == 0 || z == 4) ? ModBlocks.hadron_plating : ModBlocks.hadron_coil_alloy)); + scene2.add(new ActionWait(1)); + } + } + + for(int x = 0; x < 5; x++) { + for(int z = 0; z < 5; z++) { + if((x == 0 || x == 4) && (z == 0 || z == 4)) continue; + scene2.add(new ActionSetBlock(x, 4, z, ModBlocks.hadron_plating)); + scene2.add(new ActionWait(1)); + } + } + + + script + .addScene(scene0) + .addScene(scene1) + .addScene(scene2); + + return script; + } + +} diff --git a/src/main/java/com/hbm/wiaj/cannery/Dummies.java b/src/main/java/com/hbm/wiaj/cannery/Dummies.java index 879a3fd3a..cf9e23347 100644 --- a/src/main/java/com/hbm/wiaj/cannery/Dummies.java +++ b/src/main/java/com/hbm/wiaj/cannery/Dummies.java @@ -2,19 +2,16 @@ package com.hbm.wiaj.cannery; import com.hbm.inventory.fluid.FluidType; -import api.hbm.energy.IEnergyConnector; +import api.hbm.energymk2.IEnergyConnectorMK2; import api.hbm.fluid.IFluidConnector; import net.minecraft.tileentity.TileEntity; public class Dummies { - public static class JarDummyConnector extends TileEntity implements IEnergyConnector, IFluidConnector { + public static class JarDummyConnector extends TileEntity implements IEnergyConnectorMK2, IFluidConnector { @Override public boolean isLoaded() { return false; } @Override public long transferFluid(FluidType type, int pressure, long fluid) { return 0; } @Override public long getDemand(FluidType type, int pressure) { return 0; } - @Override public long transferPower(long power) { return 0; } - @Override public long getPower() { return 0; } - @Override public long getMaxPower() { return 0; } } } diff --git a/src/main/java/com/hbm/wiaj/cannery/Jars.java b/src/main/java/com/hbm/wiaj/cannery/Jars.java index 47723ba8a..7355cdd5c 100644 --- a/src/main/java/com/hbm/wiaj/cannery/Jars.java +++ b/src/main/java/com/hbm/wiaj/cannery/Jars.java @@ -11,7 +11,7 @@ import com.hbm.items.ItemEnums.EnumPlantType; public class Jars { - public static HashMap canneries = new HashMap(); + public static HashMap canneries = new HashMap(); public static void initJars() { canneries.put(new ComparableStack(ModBlocks.heater_firebox), new CanneryFirebox()); @@ -23,6 +23,8 @@ public class Jars { canneries.put(new ComparableStack(ModBlocks.machine_silex), new CannerySILEX()); canneries.put(new ComparableStack(ModBlocks.foundry_channel), new CanneryFoundryChannel()); canneries.put(new ComparableStack(ModBlocks.machine_crucible), new CanneryCrucible()); + canneries.put(new ComparableStack(ModBlocks.hadron_core), new CanneryHadron()); + canneries.put(new ComparableStack(ModBlocks.hadron_diode), new CannerySchottky()); canneries.put(new ComparableStack(DictFrame.fromOne(ModItems.plant_item, EnumPlantType.MUSTARDWILLOW)), new CanneryWillow()); canneries.put(new ComparableStack(DictFrame.fromOne(ModBlocks.plant_flower, EnumFlowerType.CD0)), new CanneryWillow()); diff --git a/src/main/java/com/hbm/world/WorldUtil.java b/src/main/java/com/hbm/world/WorldUtil.java index f8667dad7..b06cf9d86 100644 --- a/src/main/java/com/hbm/world/WorldUtil.java +++ b/src/main/java/com/hbm/world/WorldUtil.java @@ -21,6 +21,18 @@ public class WorldUtil { public static void setBiome(World world, int x, int z, BiomeGenBase biome) { Chunk chunk = world.getChunkFromBlockCoords(x, z); chunk.getBiomeArray()[(z & 15) << 4 | (x & 15)] = (byte)(biome.biomeID & 255); + chunk.isModified = true; + } + + public static void syncBiomeChange(World world, int x, int z) { + Chunk chunk = world.getChunkFromBlockCoords(x, z); + PacketDispatcher.wrapper.sendToAllAround(new BiomeSyncPacket(x >> 4, z >> 4, chunk.getBiomeArray()), new TargetPoint(world.provider.dimensionId, x, 128, z, 1024D)); + } + + public static void syncBiomeChangeBlock(World world, int x, int z) { + Chunk chunk = world.getChunkFromBlockCoords(x, z); + byte biome = chunk.getBiomeArray()[(z & 15) << 4 | (x & 15)]; + PacketDispatcher.wrapper.sendToAllAround(new BiomeSyncPacket(x, z, biome), new TargetPoint(world.provider.dimensionId, x, 128, z, 1024D)); } public static void syncBiomeChange(World world, Chunk chunk) { @@ -69,18 +81,16 @@ public class WorldUtil { } } } - - public static void syncBiomeChange(World world, int x, int z) { - Chunk chunk = world.getChunkFromBlockCoords(x, z); - //byte biome = chunk.getBiomeArray()[(z & 15) << 4 | (x & 15)]; - PacketDispatcher.wrapper.sendToAllAround(new BiomeSyncPacket(x, z, chunk.getBiomeArray()), new TargetPoint(world.provider.dimensionId, x, 128, z, 1024D)); - } public static Chunk provideChunk(WorldServer world, int chunkX, int chunkZ) { - ChunkProviderServer provider = world.theChunkProviderServer; - Chunk chunk = (Chunk) provider.loadedChunkHashMap.getValueByKey(ChunkCoordIntPair.chunkXZ2Int(chunkX, chunkZ)); - if(chunk != null) return chunk; - return loadChunk(world, provider, chunkX, chunkZ); + try { + ChunkProviderServer provider = world.theChunkProviderServer; + Chunk chunk = (Chunk) provider.loadedChunkHashMap.getValueByKey(ChunkCoordIntPair.chunkXZ2Int(chunkX, chunkZ)); + if(chunk != null) return chunk; + return loadChunk(world, provider, chunkX, chunkZ); + } catch(Throwable x) { + return null; + } } private static Chunk loadChunk(WorldServer world, ChunkProviderServer provider, int chunkX, int chunkZ) { diff --git a/src/main/java/com/hbm/world/biome/BiomeGenCraterBase.java b/src/main/java/com/hbm/world/biome/BiomeGenCraterBase.java new file mode 100644 index 000000000..467ee78ef --- /dev/null +++ b/src/main/java/com/hbm/world/biome/BiomeGenCraterBase.java @@ -0,0 +1,88 @@ +package com.hbm.world.biome; + +import com.hbm.config.WorldConfig; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.world.biome.BiomeGenBase; +import net.minecraftforge.common.BiomeDictionary; + +import static net.minecraftforge.common.BiomeDictionary.Type.*; + +public class BiomeGenCraterBase extends BiomeGenBase { + + public static final BiomeGenBase craterBiome = new BiomeGenCrater(WorldConfig.craterBiomeId).setDisableRain().setBiomeName("Crater"); + public static final BiomeGenBase craterInnerBiome = new BiomeGenCraterInner(WorldConfig.craterBiomeInnerId).setDisableRain().setBiomeName("Inner Crater"); + public static final BiomeGenBase craterOuterBiome = new BiomeGenCraterOuter(WorldConfig.craterBiomeOuterId).setDisableRain().setBiomeName("Outer Crater"); + + public static void initDictionary() { + BiomeDictionary.registerBiomeType(craterBiome, DRY, DEAD, WASTELAND); + BiomeDictionary.registerBiomeType(craterInnerBiome, DRY, DEAD, WASTELAND); + BiomeDictionary.registerBiomeType(craterOuterBiome, DRY, DEAD, WASTELAND); + } + + public int getWaterColorMultiplier() { + return 0x505020; //0x50d030 + } + + public BiomeGenCraterBase(int id) { + super(id); + this.waterColorMultiplier = 0xE0FFAE; //swamp color + this.spawnableCreatureList.clear(); + this.spawnableWaterCreatureList.clear(); + this.spawnableCaveCreatureList.clear(); + } + + public static class BiomeGenCrater extends BiomeGenCraterBase { + + public BiomeGenCrater(int id) { super(id); } + + @Override @SideOnly(Side.CLIENT) + public int getBiomeGrassColor(int x, int y, int z) { + double noise = plantNoise.func_151601_a((double) x * 0.225D, (double) z * 0.225D); + return noise < -0.1D ? 0x606060 : 0x505050; + } + + @Override @SideOnly(Side.CLIENT) + public int getBiomeFoliageColor(int x, int y, int z) { return 0x6A7039; } + + @Override @SideOnly(Side.CLIENT) + public int getSkyColorByTemp(float temp) { return 0x525A52; } + } + + public static class BiomeGenCraterOuter extends BiomeGenCraterBase { + + public BiomeGenCraterOuter(int id) { super(id); } + + @Override @SideOnly(Side.CLIENT) + public int getBiomeGrassColor(int x, int y, int z) { + double noise = plantNoise.func_151601_a((double) x * 0.225D, (double) z * 0.225D); + return noise < -0.1D ? 0x776F59 : 0x6F6752; + } + + @Override @SideOnly(Side.CLIENT) + public int getBiomeFoliageColor(int x, int y, int z) { return 0x6A7039; } + + @Override @SideOnly(Side.CLIENT) + public int getSkyColorByTemp(float temp) { return 0x6B9189; } + + } + + public static class BiomeGenCraterInner extends BiomeGenCraterBase { + + public BiomeGenCraterInner(int id) { super(id); } + + @Override @SideOnly(Side.CLIENT) + public int getBiomeGrassColor(int x, int y, int z) { + double noise = plantNoise.func_151601_a((double) x * 0.225D, (double) z * 0.225D); + return noise < -0.1D ? 0x404040 : 0x303030; + } + + @Override @SideOnly(Side.CLIENT) + public int getBiomeFoliageColor(int x, int y, int z) { return 0x6A7039; } + + @Override @SideOnly(Side.CLIENT) + public int getSkyColorByTemp(float temp) { return 0x424A42; } + + } +} diff --git a/src/main/java/com/hbm/world/dungeon/Antenna.java b/src/main/java/com/hbm/world/dungeon/Antenna.java index b3832a1ab..b0bb8e6a1 100644 --- a/src/main/java/com/hbm/world/dungeon/Antenna.java +++ b/src/main/java/com/hbm/world/dungeon/Antenna.java @@ -6,7 +6,8 @@ import java.util.Random; import com.hbm.blocks.ModBlocks; import com.hbm.config.GeneralConfig; -import com.hbm.lib.HbmChestContents; +import com.hbm.itempool.ItemPool; +import com.hbm.itempool.ItemPoolsLegacy; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.init.Blocks; @@ -88,7 +89,7 @@ public class Antenna extends WorldGenerator world.setBlock(x + 1, y + 0, z + 2, ModBlocks.steel_poles, 3, 3); world.setBlock(x + 2, y + 0, z + 2, Blocks.chest, 0, 3); world.setBlockMetadataWithNotify(x + 2, y + 0, z + 2, 5, 3); - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.antenna, (TileEntityChest)world.getTileEntity(x + 2, y, z + 2), 8); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_ANTENNA), (TileEntityChest)world.getTileEntity(x + 2, y, z + 2), 8); world.setBlock(x + 0, y + 1, z + 0, Blocks.air, 0, 3); world.setBlock(x + 1, y + 1, z + 0, ModBlocks.steel_poles, 2, 3); world.setBlock(x + 2, y + 1, z + 0, Blocks.air, 0, 3); diff --git a/src/main/java/com/hbm/world/dungeon/Barrel.java b/src/main/java/com/hbm/world/dungeon/Barrel.java index 40f80cd9f..14f2a7400 100644 --- a/src/main/java/com/hbm/world/dungeon/Barrel.java +++ b/src/main/java/com/hbm/world/dungeon/Barrel.java @@ -6,7 +6,8 @@ import java.util.Random; import com.hbm.blocks.ModBlocks; import com.hbm.config.GeneralConfig; -import com.hbm.lib.HbmChestContents; +import com.hbm.itempool.ItemPool; +import com.hbm.itempool.ItemPoolsLegacy; import com.hbm.lib.Library; import com.hbm.tileentity.bomb.TileEntitySellafield; import com.hbm.tileentity.machine.storage.TileEntityCrateSteel; @@ -153,7 +154,7 @@ public class Barrel extends WorldGenerator { if(world.getBlock(x + 2, y + 1, z + 2) == ModBlocks.crate_steel) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.expensive, (TileEntityCrateSteel)world.getTileEntity(x + 2, y + 1, z + 2), 16); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_EXPENSIVE), (TileEntityCrateSteel)world.getTileEntity(x + 2, y + 1, z + 2), 16); } world.setBlock(x + 3, y + 1, z + 2, sellafield, 3, 3); diff --git a/src/main/java/com/hbm/world/dungeon/CrashedVertibird.java b/src/main/java/com/hbm/world/dungeon/CrashedVertibird.java index d171f253b..68b8f2cbb 100644 --- a/src/main/java/com/hbm/world/dungeon/CrashedVertibird.java +++ b/src/main/java/com/hbm/world/dungeon/CrashedVertibird.java @@ -6,7 +6,8 @@ import java.util.Random; import com.hbm.blocks.ModBlocks; import com.hbm.config.GeneralConfig; -import com.hbm.lib.HbmChestContents; +import com.hbm.itempool.ItemPool; +import com.hbm.itempool.ItemPoolsLegacy; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.init.Blocks; @@ -158,7 +159,7 @@ public class CrashedVertibird extends WorldGenerator world.setBlock(x + 6, y + 4 - yOffset, z + 7, Blocks.chest, 2, 3); if(world.getBlock(x + 6, y + 4 - yOffset, z + 7) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.vertibird, (TileEntityChest)world.getTileEntity(x + 6, y + 4 - yOffset, z + 7), 8); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_VERTIBIRD), (TileEntityChest)world.getTileEntity(x + 6, y + 4 - yOffset, z + 7), 8); } world.setBlock(x + 7, y + 4 - yOffset, z + 7, Block1, 0, 3); world.setBlock(x + 4, y + 4 - yOffset, z + 8, Block1, 0, 3); @@ -266,9 +267,9 @@ public class CrashedVertibird extends WorldGenerator world.setBlock(x + 6, y + 7 - yOffset, z + 8, Block1, 0, 3); world.setBlock(x + 7, y + 7 - yOffset, z + 8, Block1, 0, 3); world.setBlock(x + 3, y + 7 - yOffset, z + 9, Block1, 0, 3); - world.setBlock(x + 4, y + 7 - yOffset, z + 9, ModBlocks.machine_generator, 0, 3); + world.setBlock(x + 4, y + 7 - yOffset, z + 9, ModBlocks.block_electrical_scrap, 0, 3); world.setBlock(x + 5, y + 7 - yOffset, z + 9, ModBlocks.red_wire_coated, 0, 3); - world.setBlock(x + 6, y + 7 - yOffset, z + 9, ModBlocks.machine_generator, 0, 3); + world.setBlock(x + 6, y + 7 - yOffset, z + 9, ModBlocks.block_electrical_scrap, 0, 3); world.setBlock(x + 7, y + 7 - yOffset, z + 9, Block1, 0, 3); world.setBlock(x + 5, y + 7 - yOffset, z + 10, Block4, 0, 3); world.setBlock(x + 6, y + 7 - yOffset, z + 10, Block1, 0, 3); @@ -287,7 +288,7 @@ public class CrashedVertibird extends WorldGenerator world.setBlock(x + 5, y + 8 - yOffset, z + 6, Blocks.chest, 2, 3); if(world.getBlock(x + 5, y + 8 - yOffset, z + 6) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.expensive, (TileEntityChest)world.getTileEntity(x + 5, y + 8 - yOffset, z + 6), 8); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_EXPENSIVE), (TileEntityChest)world.getTileEntity(x + 5, y + 8 - yOffset, z + 6), 8); } world.setBlock(x + 6, y + 8 - yOffset, z + 6, Block1, 0, 3); world.setBlock(x + 7, y + 8 - yOffset, z + 6, Block1, 0, 3); @@ -303,13 +304,13 @@ public class CrashedVertibird extends WorldGenerator world.setBlock(x + 6, y + 8 - yOffset, z + 8, Block1, 0, 3); world.setBlock(x + 7, y + 8 - yOffset, z + 8, Block1, 0, 3); world.setBlock(x + 3, y + 8 - yOffset, z + 9, Block1, 0, 3); - world.setBlock(x + 4, y + 8 - yOffset, z + 9, ModBlocks.machine_generator, 0, 3); + world.setBlock(x + 4, y + 8 - yOffset, z + 9, ModBlocks.block_electrical_scrap, 0, 3); world.setBlock(x + 5, y + 8 - yOffset, z + 9, ModBlocks.red_wire_coated, 0, 3); - world.setBlock(x + 6, y + 8 - yOffset, z + 9, ModBlocks.machine_generator, 0, 3); + world.setBlock(x + 6, y + 8 - yOffset, z + 9, ModBlocks.block_electrical_scrap, 0, 3); world.setBlock(x + 7, y + 8 - yOffset, z + 9, Block1, 0, 3); - world.setBlock(x + 4, y + 8 - yOffset, z + 10, ModBlocks.machine_generator, 0, 3); + world.setBlock(x + 4, y + 8 - yOffset, z + 10, ModBlocks.block_electrical_scrap, 0, 3); world.setBlock(x + 5, y + 8 - yOffset, z + 10, ModBlocks.red_wire_coated, 0, 3); - world.setBlock(x + 6, y + 8 - yOffset, z + 10, ModBlocks.machine_generator, 0, 3); + world.setBlock(x + 6, y + 8 - yOffset, z + 10, ModBlocks.block_electrical_scrap, 0, 3); world.setBlock(x + 7, y + 8 - yOffset, z + 10, Block1, 0, 3); world.setBlock(x + 5, y + 8 - yOffset, z + 11, Block4, 0, 3); world.setBlock(x + 6, y + 8 - yOffset, z + 11, Block1, 0, 3); @@ -334,9 +335,9 @@ public class CrashedVertibird extends WorldGenerator world.setBlock(x + 4, y + 9 - yOffset, z + 9, Block1, 0, 3); world.setBlock(x + 5, y + 9 - yOffset, z + 9, Block4, 0, 3); world.setBlock(x + 6, y + 9 - yOffset, z + 9, Block1, 0, 3); - world.setBlock(x + 4, y + 9 - yOffset, z + 10, ModBlocks.machine_generator, 0, 3); + world.setBlock(x + 4, y + 9 - yOffset, z + 10, ModBlocks.block_electrical_scrap, 0, 3); world.setBlock(x + 5, y + 9 - yOffset, z + 10, ModBlocks.red_wire_coated, 0, 3); - world.setBlock(x + 6, y + 9 - yOffset, z + 10, ModBlocks.machine_generator, 0, 3); + world.setBlock(x + 6, y + 9 - yOffset, z + 10, ModBlocks.block_electrical_scrap, 0, 3); world.setBlock(x + 7, y + 9 - yOffset, z + 10, Block1, 0, 3); world.setBlock(x + 5, y + 9 - yOffset, z + 11, ModBlocks.red_wire_coated, 0, 3); world.setBlock(x + 6, y + 9 - yOffset, z + 11, Block1, 0, 3); diff --git a/src/main/java/com/hbm/world/dungeon/DesertAtom001.java b/src/main/java/com/hbm/world/dungeon/DesertAtom001.java index 598f30699..194aea997 100644 --- a/src/main/java/com/hbm/world/dungeon/DesertAtom001.java +++ b/src/main/java/com/hbm/world/dungeon/DesertAtom001.java @@ -5,7 +5,8 @@ package com.hbm.world.dungeon; import java.util.Random; import com.hbm.blocks.ModBlocks; -import com.hbm.lib.HbmChestContents; +import com.hbm.itempool.ItemPool; +import com.hbm.itempool.ItemPoolsLegacy; import com.hbm.lib.Library; import net.minecraft.block.Block; @@ -30,7 +31,7 @@ public class DesertAtom001 extends WorldGenerator Block Block11 = ModBlocks.reinforced_glass; Block Block12 = ModBlocks.reinforced_lamp_off; Block Block13 = ModBlocks.pole_satellite_receiver; - Block Block14 = ModBlocks.machine_generator; + Block Block14 = ModBlocks.pwr_fuel; Block Block15 = ModBlocks.deco_titanium; Block Block16 = ModBlocks.block_lead; Block Block17 = ModBlocks.ore_schrabidium; @@ -214,7 +215,7 @@ public class DesertAtom001 extends WorldGenerator world.setBlock(x + 9, y + -4, z + 14, Blocks.chest, 2, 3); if(world.getBlock(x + 9, y + -4, z + 14) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.nuclear, (TileEntityChest)world.getTileEntity(x + 9, y + -4, z + 14), 10); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_NUKE_MISC), (TileEntityChest)world.getTileEntity(x + 9, y + -4, z + 14), 10); } world.setBlock(x + 10, y + -4, z + 14, Library.getRandomConcrete(), 0, 3); world.setBlock(x + 11, y + -4, z + 14, Library.getRandomConcrete(), 0, 3); diff --git a/src/main/java/com/hbm/world/dungeon/DesertAtom002.java b/src/main/java/com/hbm/world/dungeon/DesertAtom002.java index 5f1415e99..81fdc1634 100644 --- a/src/main/java/com/hbm/world/dungeon/DesertAtom002.java +++ b/src/main/java/com/hbm/world/dungeon/DesertAtom002.java @@ -5,7 +5,8 @@ package com.hbm.world.dungeon; import java.util.Random; import com.hbm.blocks.ModBlocks; -import com.hbm.lib.HbmChestContents; +import com.hbm.itempool.ItemPool; +import com.hbm.itempool.ItemPoolsLegacy; import com.hbm.lib.Library; import com.hbm.tileentity.machine.storage.TileEntityCrateSteel; @@ -30,7 +31,7 @@ public class DesertAtom002 Block Block11 = ModBlocks.reinforced_glass; Block Block12 = ModBlocks.reinforced_lamp_off; Block Block13 = ModBlocks.pole_satellite_receiver; - Block Block14 = ModBlocks.machine_generator; + Block Block14 = ModBlocks.pwr_fuel; Block Block15 = ModBlocks.deco_titanium; Block Block16 = ModBlocks.block_lead; Block Block17 = ModBlocks.ore_nether_plutonium; @@ -1162,7 +1163,7 @@ public class DesertAtom002 world.setBlock(x + 36, y + 0, z + 12, Blocks.chest, 3, 3); if(world.getBlock(x + 36, y + 0, z + 12) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.modGeneric, (TileEntityChest)world.getTileEntity(x + 36, y + 0, z + 12), 8); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_GENERIC), (TileEntityChest)world.getTileEntity(x + 36, y + 0, z + 12), 8); } world.setBlock(x + 37, y + 0, z + 12, Library.getRandomConcrete(), 0, 3); world.setBlock(x + 40, y + 0, z + 12, ModBlocks.fence_metal, 0, 3); @@ -1183,7 +1184,7 @@ public class DesertAtom002 world.setBlock(x + 22, y + 0, z + 13, Blocks.chest, 4, 3); if(world.getBlock(x + 22, y + 0, z + 13) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.modGeneric, (TileEntityChest)world.getTileEntity(x + 22, y + 0, z + 13), 8); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_GENERIC), (TileEntityChest)world.getTileEntity(x + 22, y + 0, z + 13), 8); } world.setBlock(x + 23, y + 0, z + 13, Library.getRandomConcrete(), 0, 3); world.setBlock(x + 24, y + 0, z + 13, Block9, 5, 3); @@ -1375,7 +1376,7 @@ public class DesertAtom002 world.setBlock(x + 24, y + 0, z + 26, Blocks.chest, 2, 3); if(world.getBlock(x + 24, y + 0, z + 26) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.nukeTrash, (TileEntityChest)world.getTileEntity(x + 24, y + 0, z + 26), 8); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_NUKE_TRASH), (TileEntityChest)world.getTileEntity(x + 24, y + 0, z + 26), 8); } world.setBlock(x + 25, y + 0, z + 26, Block2, 0, 3); world.setBlock(x + 30, y + 0, z + 26, Block2, 0, 3); @@ -1754,7 +1755,7 @@ public class DesertAtom002 world.setBlock(x + 18, y + 1, z + 16, ModBlocks.crate_steel, 0, 3); if(world.getBlock(x + 18, y + 1, z + 16) == ModBlocks.crate_steel) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.expensive, (TileEntityCrateSteel)world.getTileEntity(x + 18, y + 1, z + 16), 12); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_EXPENSIVE), (TileEntityCrateSteel)world.getTileEntity(x + 18, y + 1, z + 16), 12); } world.setBlock(x + 19, y + 1, z + 16, Library.getRandomConcrete(), 0, 3); diff --git a/src/main/java/com/hbm/world/dungeon/DesertAtom003.java b/src/main/java/com/hbm/world/dungeon/DesertAtom003.java index 23104ddd3..de58b4283 100644 --- a/src/main/java/com/hbm/world/dungeon/DesertAtom003.java +++ b/src/main/java/com/hbm/world/dungeon/DesertAtom003.java @@ -6,7 +6,8 @@ import java.util.Random; import com.hbm.blocks.ModBlocks; import com.hbm.config.GeneralConfig; -import com.hbm.lib.HbmChestContents; +import com.hbm.itempool.ItemPool; +import com.hbm.itempool.ItemPoolsLegacy; import com.hbm.lib.Library; import com.hbm.tileentity.machine.storage.TileEntityMachinePuF6Tank; import com.hbm.tileentity.machine.storage.TileEntityMachineUF6Tank; @@ -33,7 +34,7 @@ public class DesertAtom003 Block Block11 = ModBlocks.reinforced_glass; Block Block12 = ModBlocks.reinforced_lamp_off; Block Block13 = ModBlocks.pole_satellite_receiver; - Block Block14 = ModBlocks.machine_generator; + Block Block14 = ModBlocks.pwr_fuel; Block Block15 = ModBlocks.deco_titanium; Block Block16 = ModBlocks.block_lead; Block Block17 = ModBlocks.ore_schrabidium; @@ -439,7 +440,7 @@ public class DesertAtom003 world.setBlock(x + 36, y + 4, z + 9, Blocks.chest, 2, 3); if(world.getBlock(x + 36, y + 4, z + 9) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.nuclear, (TileEntityChest)world.getTileEntity(x + 36, y + 4, z + 9), 12); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_NUKE_MISC), (TileEntityChest)world.getTileEntity(x + 36, y + 4, z + 9), 12); } world.setBlock(x + 37, y + 4, z + 9, Library.getRandomConcrete(), 0, 3); world.setBlock(x + 40, y + 4, z + 9, Block5, 0, 3); diff --git a/src/main/java/com/hbm/world/dungeon/Factory.java b/src/main/java/com/hbm/world/dungeon/Factory.java index d5e060fc3..2d3ce64a9 100644 --- a/src/main/java/com/hbm/world/dungeon/Factory.java +++ b/src/main/java/com/hbm/world/dungeon/Factory.java @@ -6,7 +6,8 @@ import java.util.Random; import com.hbm.blocks.ModBlocks; import com.hbm.config.GeneralConfig; -import com.hbm.lib.HbmChestContents; +import com.hbm.itempool.ItemPool; +import com.hbm.itempool.ItemPoolsLegacy; import net.minecraft.block.Block; import net.minecraft.block.material.Material; @@ -601,7 +602,7 @@ public class Factory extends WorldGenerator world.setBlockMetadataWithNotify(x + 9, y + 0, z + 4, 5, 3); if(world.getBlock(x + 9, y + 0, z + 4) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.modGeneric, (TileEntityChest)world.getTileEntity(x + 9, y + 0, z + 4), rand.nextInt(2)+ 8); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_GENERIC), (TileEntityChest)world.getTileEntity(x + 9, y + 0, z + 4), rand.nextInt(2)+ 8); } world.setBlock(x + 13, y + 0, z + 4, Blocks.hopper, 3, 3); world.setBlock(x + 14, y + 0, z + 4, Blocks.stonebrick, 0, 3); @@ -637,7 +638,7 @@ public class Factory extends WorldGenerator world.setBlockMetadataWithNotify(x + 9, y + 0, z + 10, 5, 3); if(world.getBlock(x + 9, y + 0, z + 10) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.modGeneric, (TileEntityChest)world.getTileEntity(x + 9, y + 0, z + 10), rand.nextInt(2)+ 8); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_GENERIC), (TileEntityChest)world.getTileEntity(x + 9, y + 0, z + 10), rand.nextInt(2)+ 8); } world.setBlock(x + 13, y + 0, z + 10, Blocks.hopper, 3, 3); world.setBlock(x + 14, y + 0, z + 10, Blocks.stonebrick, 0, 3); @@ -673,7 +674,7 @@ public class Factory extends WorldGenerator world.setBlockMetadataWithNotify(x + 9, y + 0, z + 16, 5, 3); if(world.getBlock(x + 9, y + 0, z + 16) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.modGeneric, (TileEntityChest)world.getTileEntity(x + 9, y + 0, z + 16), rand.nextInt(2)+ 8); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_GENERIC), (TileEntityChest)world.getTileEntity(x + 9, y + 0, z + 16), rand.nextInt(2)+ 8); } world.setBlock(x + 13, y + 0, z + 16, Blocks.hopper, 3, 3); world.setBlock(x + 14, y + 0, z + 16, Blocks.stonebrick, 0, 3); @@ -736,7 +737,7 @@ public class Factory extends WorldGenerator world.setBlockMetadataWithNotify(x + 4, y + 0, z + 25, 3, 3); if(world.getBlock(x + 4, y + 0, z + 25) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.expensive, (TileEntityChest)world.getTileEntity(x + 4, y + 0, z + 25), rand.nextInt(2)+ 6); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_EXPENSIVE), (TileEntityChest)world.getTileEntity(x + 4, y + 0, z + 25), rand.nextInt(2)+ 6); } world.setBlock(x + 5, y + 0, z + 25, Blocks.lava, 0, 3); world.setBlock(x + 6, y + 0, z + 25, Blocks.stonebrick, 0, 3); diff --git a/src/main/java/com/hbm/world/dungeon/Radio01.java b/src/main/java/com/hbm/world/dungeon/Radio01.java index 4257fd171..57111ce3c 100644 --- a/src/main/java/com/hbm/world/dungeon/Radio01.java +++ b/src/main/java/com/hbm/world/dungeon/Radio01.java @@ -5,7 +5,8 @@ package com.hbm.world.dungeon; import java.util.Random; import com.hbm.blocks.ModBlocks; -import com.hbm.lib.HbmChestContents; +import com.hbm.itempool.ItemPool; +import com.hbm.itempool.ItemPoolsLegacy; import com.hbm.lib.Library; import com.hbm.tileentity.machine.storage.TileEntityCrateSteel; @@ -499,7 +500,7 @@ public class Radio01 extends WorldGenerator world.setBlock(x + 5, y + 0, z + 11, Blocks.flower_pot, 0, 3); world.setBlock(x + 6, y + 0, z + 11, Blocks.chest, 3, 3); world.setBlockMetadataWithNotify(x + 6, y + 0, z + 11, 5, 3); - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.modGeneric, (TileEntityChest)world.getTileEntity(x + 6, y + 0, z + 11), 8); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_GENERIC), (TileEntityChest)world.getTileEntity(x + 6, y + 0, z + 11), 8); world.setBlock(x + 7, y + 0, z + 11, Library.getRandomConcrete(), 0, 3); world.setBlock(x + 8, y + 0, z + 11, Blocks.air, 0, 3); world.setBlock(x + 9, y + 0, z + 11, Blocks.air, 0, 3); @@ -651,7 +652,7 @@ public class Radio01 extends WorldGenerator world.setBlock(x + 6, y + 0, z + 24, ModBlocks.deco_steel, 0, 3); world.setBlock(x + 7, y + 0, z + 24, Blocks.chest, 2, 3); world.setBlockMetadataWithNotify(x + 7, y + 0, z + 24, 5, 3); - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.antenna, (TileEntityChest)world.getTileEntity(x + 7, y + 0, z + 24), 8); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_ANTENNA), (TileEntityChest)world.getTileEntity(x + 7, y + 0, z + 24), 8); world.setBlock(x + 8, y + 0, z + 24, ModBlocks.deco_steel, 0, 3); world.setBlock(x + 9, y + 0, z + 24, ModBlocks.deco_steel, 0, 3); world.setBlock(x + 10, y + 0, z + 24, Library.getRandomConcrete(), 0, 3); @@ -1607,7 +1608,7 @@ public class Radio01 extends WorldGenerator world.setBlock(x + 6, y + 4, z + 6, Blocks.air, 0, 3); world.setBlock(x + 7, y + 4, z + 6, Blocks.chest, 4, 3); world.setBlockMetadataWithNotify(x + 7, y + 4, z + 6, 5, 3); - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.modGeneric, (TileEntityChest)world.getTileEntity(x + 7, y + 4, z + 6), 8); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_GENERIC), (TileEntityChest)world.getTileEntity(x + 7, y + 4, z + 6), 8); world.setBlock(x + 8, y + 4, z + 6, ModBlocks.deco_steel, 0, 3); world.setBlock(x + 9, y + 4, z + 6, ModBlocks.deco_steel, 0, 3); world.setBlock(x + 10, y + 4, z + 6, Library.getRandomConcrete(), 0, 3); @@ -1697,7 +1698,7 @@ public class Radio01 extends WorldGenerator world.setBlock(x + 3, y + 4, z + 14, Library.getRandomConcrete(), 0, 3); world.setBlock(x + 4, y + 4, z + 14, Blocks.chest, 2, 3); world.setBlockMetadataWithNotify(x + 4, y + 4, z + 14, 5, 3); - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.modGeneric, (TileEntityChest)world.getTileEntity(x + 4, y + 4, z + 14), 8); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_GENERIC), (TileEntityChest)world.getTileEntity(x + 4, y + 4, z + 14), 8); world.setBlock(x + 5, y + 4, z + 14, Blocks.air, 0, 3); world.setBlock(x + 6, y + 4, z + 14, ModBlocks.tape_recorder, 4, 3); world.setBlock(x + 7, y + 4, z + 14, Blocks.oak_stairs, 5, 3); @@ -2817,7 +2818,7 @@ public class Radio01 extends WorldGenerator WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(3), (TileEntityChest)world.getTileEntity(x + 5, y + 8, z + 11), 16);*/ world.setBlock(x + 5, y + 8, z + 11, ModBlocks.crate_steel, 0, 3); - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.expensive, (TileEntityCrateSteel)world.getTileEntity(x + 5, y + 8, z + 11), 16); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_EXPENSIVE), (TileEntityCrateSteel)world.getTileEntity(x + 5, y + 8, z + 11), 16); world.setBlock(x + 6, y + 8, z + 11, ModBlocks.deco_steel, 0, 3); world.setBlock(x + 7, y + 8, z + 11, Blocks.air, 0, 3); diff --git a/src/main/java/com/hbm/world/dungeon/Relay.java b/src/main/java/com/hbm/world/dungeon/Relay.java index 93fb53610..de4920fc9 100644 --- a/src/main/java/com/hbm/world/dungeon/Relay.java +++ b/src/main/java/com/hbm/world/dungeon/Relay.java @@ -8,8 +8,9 @@ import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.BlockBobble.BobbleType; import com.hbm.blocks.generic.BlockBobble.TileEntityBobble; import com.hbm.config.GeneralConfig; +import com.hbm.itempool.ItemPool; +import com.hbm.itempool.ItemPoolsLegacy; import com.hbm.items.ModItems; -import com.hbm.lib.HbmChestContents; import com.hbm.lib.Library; import com.hbm.tileentity.machine.storage.TileEntityCrateIron; import com.hbm.util.LootGenerator; @@ -658,7 +659,7 @@ public class Relay extends WorldGenerator world.setBlock(x + 4, y + 0, z + 10, Blocks.brick_block, 0, 3); world.setBlock(x + 6, y + 0, z + 10, ModBlocks.crate_iron, 0, 3); world.setBlockMetadataWithNotify(x + 6, y + 0, z + 10, 3, 3); - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.modGeneric, (TileEntityCrateIron)world.getTileEntity(x + 6, y + 0, z + 10), 8); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_GENERIC), (TileEntityCrateIron)world.getTileEntity(x + 6, y + 0, z + 10), 8); if(world.rand.nextInt(5) == 0) { ((TileEntityCrateIron)world.getTileEntity(x + 6, y + 0, z + 10)).setInventorySlotContents(11, new ItemStack(ModItems.morning_glory)); @@ -1295,7 +1296,7 @@ public class Relay extends WorldGenerator world.setBlock(x + 7, y + 14, z + 6, Block4, s2, 3); world.setBlock(x + 8, y + 14, z + 6, ModBlocks.crate_iron, 0, 3); world.setBlockMetadataWithNotify(x + 8, y + 14, z + 6, 3, 3); - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.antenna, (TileEntityCrateIron)world.getTileEntity(x + 8, y + 14, z + 6), 8); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_ANTENNA), (TileEntityCrateIron)world.getTileEntity(x + 8, y + 14, z + 6), 8); world.setBlock(x + 9, y + 14, z + 6, ModBlocks.fence_metal, 0, 3); world.setBlock(x + 10, y + 14, z + 6, Block6, 0, 3); world.setBlock(x + 9, y + 14, z + 7, ModBlocks.fence_metal, 0, 3); @@ -1515,7 +1516,7 @@ public class Relay extends WorldGenerator world.setBlock(x + 5, y + 32, z + 2, Block6, 0, 3); world.setBlock(x + 6, y + 32, z + 2, ModBlocks.crate_iron, 0, 3); world.setBlockMetadataWithNotify(x + 6, y + 32, z + 2, 2, 3); - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.expensive, (TileEntityCrateIron)world.getTileEntity(x + 6, y + 32, z + 2), 8); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_EXPENSIVE), (TileEntityCrateIron)world.getTileEntity(x + 6, y + 32, z + 2), 8); world.setBlock(x + 7, y + 32, z + 2, Block6, 0, 3); world.setBlock(x + 5, y + 32, z + 3, Block4, s3, 3); world.setBlock(x + 6, y + 32, z + 3, Block2, 0, 3); diff --git a/src/main/java/com/hbm/world/dungeon/Satellite.java b/src/main/java/com/hbm/world/dungeon/Satellite.java index 33c4b9273..9de904cde 100644 --- a/src/main/java/com/hbm/world/dungeon/Satellite.java +++ b/src/main/java/com/hbm/world/dungeon/Satellite.java @@ -6,7 +6,8 @@ import java.util.Random; import com.hbm.blocks.ModBlocks; import com.hbm.config.GeneralConfig; -import com.hbm.lib.HbmChestContents; +import com.hbm.itempool.ItemPool; +import com.hbm.itempool.ItemPoolsLegacy; import com.hbm.lib.Library; import com.hbm.util.LootGenerator; @@ -976,7 +977,7 @@ public class Satellite extends WorldGenerator world.setBlock(x + 7, y + 14, z + 19, dSteel, 0, 3); world.setBlock(x + 10, y + 14, z + 19, Blocks.chest, 3, 3); world.setBlockMetadataWithNotify(x + 10, y + 14, z + 19, 3, 3); - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.modGeneric, (TileEntityChest)world.getTileEntity(x + 10, y + 14, z + 19), 8); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_GENERIC), (TileEntityChest)world.getTileEntity(x + 10, y + 14, z + 19), 8); world.setBlock(x + 19, y + 14, z + 19, dSteel, 0, 3); world.setBlock(x + 20, y + 14, z + 19, dSteel, 0, 3); world.setBlock(x + 21, y + 14, z + 19, dSteel, 0, 3); @@ -1005,7 +1006,7 @@ public class Satellite extends WorldGenerator world.setBlock(x + 7, y + 14, z + 27, dSteel, 0, 3); world.setBlock(x + 16, y + 14, z + 27, Blocks.chest, 2, 3); world.setBlockMetadataWithNotify(x + 16, y + 14, z + 27, 3, 3); - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.antenna, (TileEntityChest)world.getTileEntity(x + 16, y + 14, z + 27), 8); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_ANTENNA), (TileEntityChest)world.getTileEntity(x + 16, y + 14, z + 27), 8); world.setBlock(x + 19, y + 14, z + 27, dSteel, 0, 3); world.setBlock(x + 5, y + 14, z + 28, ModBlocks.fence_metal, 0, 3); world.setBlock(x + 6, y + 14, z + 28, ModBlocks.fence_metal, 0, 3); @@ -1423,7 +1424,7 @@ public class Satellite extends WorldGenerator world.setBlock(x + 18, y + 19, z + 12, Library.getRandomConcrete(), 0, 3); world.setBlock(x + 19, y + 19, z + 12, Blocks.chest, 4, 3); world.setBlockMetadataWithNotify(x + 19, y + 19, z + 12, 4, 3); - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.expensive, (TileEntityChest)world.getTileEntity(x + 19, y + 19, z + 12), 12); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_EXPENSIVE), (TileEntityChest)world.getTileEntity(x + 19, y + 19, z + 12), 12); world.setBlock(x + 20, y + 19, z + 12, Library.getRandomConcrete(), 0, 3); world.setBlock(x + 21, y + 19, z + 12, Library.getRandomConcrete(), 0, 3); world.setBlock(x + 17, y + 19, z + 13, Library.getRandomConcrete(), 0, 3); @@ -2440,7 +2441,7 @@ public class Satellite extends WorldGenerator //world.setBlock(x + 5, y + 39, z + 12, Block7, 0, 3); world.setBlock(x + 5, y + 39, z + 12, Blocks.chest, 4, 3); world.setBlockMetadataWithNotify(x + 5, y + 39, z + 12, 4, 3); - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.expensive, (TileEntityChest)world.getTileEntity(x + 5, y + 39, z + 12), 12); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_EXPENSIVE), (TileEntityChest)world.getTileEntity(x + 5, y + 39, z + 12), 12); world.setBlock(x + 6, y + 39, z + 12, Block7, 0, 3); world.setBlock(x + 7, y + 39, z + 12, Block4, 0, 3); world.setBlock(x + 8, y + 39, z + 12, Block4, 0, 3); diff --git a/src/main/java/com/hbm/world/dungeon/Silo.java b/src/main/java/com/hbm/world/dungeon/Silo.java index fba097d42..076a7ff63 100644 --- a/src/main/java/com/hbm/world/dungeon/Silo.java +++ b/src/main/java/com/hbm/world/dungeon/Silo.java @@ -4,9 +4,13 @@ package com.hbm.world.dungeon; import java.util.Random; +import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.bomb.LaunchPad; import com.hbm.config.GeneralConfig; -import com.hbm.lib.HbmChestContents; +import com.hbm.itempool.ItemPool; +import com.hbm.itempool.ItemPoolsComponent; +import com.hbm.itempool.ItemPoolsLegacy; import com.hbm.lib.Library; import net.minecraft.block.Block; import net.minecraft.block.material.Material; @@ -15,6 +19,7 @@ import net.minecraft.tileentity.TileEntityChest; import net.minecraft.util.WeightedRandomChestContent; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; +import net.minecraftforge.common.util.ForgeDirection; public class Silo extends WorldGenerator { @@ -374,8 +379,6 @@ public class Silo extends WorldGenerator world.setBlock(x + 6, y + -20, z + 10, Blocks.air, 0, 3); world.setBlock(x + 7, y + -20, z + 10, Blocks.air, 0, 3); world.setBlock(x + 8, y + -20, z + 10, Blocks.air, 0, 3); - world.setBlock(x + 9, y + -20, z + 10, Block2, 0, 3); - world.setBlock(x + 10, y + -20, z + 10, Blocks.unpowered_repeater, 3, 3); world.setBlock(x + 11, y + -20, z + 10, Blocks.redstone_wire, 0, 3); world.setBlock(x + 12, y + -20, z + 10, Blocks.redstone_wire, 0, 3); world.setBlock(x + 13, y + -20, z + 10, Blocks.iron_bars, 0, 3); @@ -388,7 +391,7 @@ public class Silo extends WorldGenerator world.setBlockMetadataWithNotify(x + 19, y + -20, z + 10, 5, 3); if(world.getBlock(x + 19, y + -20, z + 10) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.expensive, (TileEntityChest)world.getTileEntity(x + 19, y + -20, z + 10), rand.nextInt(2)+ 6); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_EXPENSIVE), (TileEntityChest)world.getTileEntity(x + 19, y + -20, z + 10), rand.nextInt(2)+ 6); } world.setBlock(x + 20, y + -20, z + 10, Library.getRandomConcrete(), 0, 3); world.setBlock(x + 0, y + -20, z + 11, Library.getRandomConcrete(), 0, 3); @@ -856,7 +859,7 @@ public class Silo extends WorldGenerator world.setBlockMetadataWithNotify(x + 8, y + -17, z + 2, 3, 3); if(world.getBlock(x + 8, y + -17, z + 2) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.missile, (TileEntityChest)world.getTileEntity(x + 8, y + -17, z + 2), rand.nextInt(2)+ 6); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsComponent.POOL_SILO), (TileEntityChest)world.getTileEntity(x + 8, y + -17, z + 2), rand.nextInt(2)+ 6); } world.setBlock(x + 10, y + -17, z + 2, Blocks.air, 0, 3); world.setBlock(x + 11, y + -17, z + 2, Library.getRandomConcrete(), 0, 3); @@ -1640,7 +1643,7 @@ public class Silo extends WorldGenerator world.setBlockMetadataWithNotify(x + 8, y + -9, z + 5, 3, 3); if(world.getBlock(x + 8, y + -9, z + 5) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.modGeneric, (TileEntityChest)world.getTileEntity(x + 8, y + -9, z + 5), rand.nextInt(2)+ 8); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_GENERIC), (TileEntityChest)world.getTileEntity(x + 8, y + -9, z + 5), rand.nextInt(2)+ 8); } world.setBlock(x + 8, y + -10, z + 5, Blocks.stone_slab, 8, 3); world.setBlock(x + 9, y + -9, z + 5, Blocks.planks, 0, 3); @@ -2474,6 +2477,14 @@ public class Silo extends WorldGenerator world.setBlock(x + 8, y + 1, z + 13, Block6, 0, 3); world.setBlock(x + 9, y + 1, z + 13, Block6, 0, 3); world.setBlock(x + 10, y + 1, z + 13, Block6, 0, 3); + + + BlockDummyable.safeRem = true; + world.setBlock(x + 9, y + -20, z + 10, ModBlocks.launch_pad, 12, 3); + ((LaunchPad) ModBlocks.launch_pad).fillSpace(world, x + 9, y + -20, z + 10, ForgeDirection.NORTH, 0); + BlockDummyable.safeRem = false; + + //world.setBlock(x + 9, y + -20, z + 10, ModBlocks.stone_biome, 1, 3); generate_r03_last(world, rand, x, y, z); return true; @@ -2520,6 +2531,7 @@ public class Silo extends WorldGenerator world.setBlock(x + 9, y + -1, z + 2, Blocks.ladder, 3, 3); world.setBlock(x + 9, y + 0, z + 2, Blocks.ladder, 3, 3); world.setBlock(x + 9, y + 1, z + 2, Blocks.ladder, 3, 3); + if(GeneralConfig.enableDebugMode) System.out.print("[Debug] Successfully spawned missile silo at " + x + " " + y +" " + z + "\n"); return true; diff --git a/src/main/java/com/hbm/world/dungeon/Spaceship.java b/src/main/java/com/hbm/world/dungeon/Spaceship.java index c5f4cc5e2..4ab3bba36 100644 --- a/src/main/java/com/hbm/world/dungeon/Spaceship.java +++ b/src/main/java/com/hbm/world/dungeon/Spaceship.java @@ -5,7 +5,8 @@ package com.hbm.world.dungeon; import java.util.Random; import com.hbm.blocks.ModBlocks; -import com.hbm.lib.HbmChestContents; +import com.hbm.itempool.ItemPool; +import com.hbm.itempool.ItemPoolsLegacy; import net.minecraft.block.Block; import net.minecraft.block.material.Material; @@ -22,7 +23,7 @@ public class Spaceship extends WorldGenerator Block Block3 = ModBlocks.deco_steel; Block Block4 = ModBlocks.fusion_heater; Block Block5 = ModBlocks.block_meteor; - Block Block6 = ModBlocks.reactor_element; + Block Block6 = ModBlocks.pwr_fuel; Block Block7 = ModBlocks.cable_switch; Block Block8 = ModBlocks.fusion_hatch; Block Block9 = ModBlocks.reinforced_light; @@ -455,7 +456,7 @@ public class Spaceship extends WorldGenerator world.setBlockMetadataWithNotify(x + 5, y + -2, z + 25, 5, 3); if(world.getBlock(x + 5, y + -2, z + 25) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.spaceship, (TileEntityChest)world.getTileEntity(x + 5, y + -2, z + 25), 12); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_SPACESHIP), (TileEntityChest)world.getTileEntity(x + 5, y + -2, z + 25), 12); } world.setBlock(x + 6, y + -2, z + 25, Blocks.air, 0, 3); world.setBlock(x + 7, y + -2, z + 25, Blocks.air, 0, 3); @@ -463,7 +464,7 @@ public class Spaceship extends WorldGenerator world.setBlockMetadataWithNotify(x + 8, y + -2, z + 25, 4, 3); if(world.getBlock(x + 8, y + -2, z + 25) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.spaceship, (TileEntityChest)world.getTileEntity(x + 8, y + -2, z + 25), 12); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_SPACESHIP), (TileEntityChest)world.getTileEntity(x + 8, y + -2, z + 25), 12); } world.setBlock(x + 9, y + -2, z + 25, Block3, 0, 3); world.setBlock(x + 10, y + -2, z + 25, Block2, 0, 3); @@ -477,7 +478,7 @@ public class Spaceship extends WorldGenerator world.setBlockMetadataWithNotify(x + 5, y + -2, z + 26, 5, 3); if(world.getBlock(x + 5, y + -2, z + 26) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.spaceship, (TileEntityChest)world.getTileEntity(x + 5, y + -2, z + 26), 12); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_SPACESHIP), (TileEntityChest)world.getTileEntity(x + 5, y + -2, z + 26), 12); } world.setBlock(x + 6, y + -2, z + 26, Blocks.air, 0, 3); world.setBlock(x + 7, y + -2, z + 26, Blocks.air, 0, 3); @@ -485,7 +486,7 @@ public class Spaceship extends WorldGenerator world.setBlockMetadataWithNotify(x + 8, y + -2, z + 26, 4, 3); if(world.getBlock(x + 8, y + -2, z + 26) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.spaceship, (TileEntityChest)world.getTileEntity(x + 8, y + -2, z + 26), 12); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_SPACESHIP), (TileEntityChest)world.getTileEntity(x + 8, y + -2, z + 26), 12); } world.setBlock(x + 9, y + -2, z + 26, Block3, 0, 3); world.setBlock(x + 10, y + -2, z + 26, Block3, 0, 3); @@ -623,7 +624,7 @@ public class Spaceship extends WorldGenerator world.setBlockMetadataWithNotify(x + 8, y + -2, z + 38, 2, 3); if(world.getBlock(x + 8, y + -2, z + 38) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.expensive, (TileEntityChest)world.getTileEntity(x + 8, y + -2, z + 38), 12); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_EXPENSIVE), (TileEntityChest)world.getTileEntity(x + 8, y + -2, z + 38), 12); } world.setBlock(x + 9, y + -2, z + 38, Block3, 0, 3); world.setBlock(x + 4, y + -2, z + 39, Block3, 0, 3); @@ -888,14 +889,14 @@ public class Spaceship extends WorldGenerator world.setBlock(x + 10, y + -1, z + 29, Block3, 0, 3); world.setBlock(x + 11, y + -1, z + 29, Block3, 0, 3); world.setBlock(x + 2, y + -1, z + 30, Block3, 0, 3); - world.setBlock(x + 3, y + -1, z + 30, ModBlocks.machine_generator, 0, 3); + world.setBlock(x + 3, y + -1, z + 30, ModBlocks.pwr_control, 0, 3); world.setBlock(x + 4, y + -1, z + 30, ModBlocks.red_cable, 0, 3); world.setBlock(x + 5, y + -1, z + 30, Blocks.air, 0, 3); world.setBlock(x + 6, y + -1, z + 30, Blocks.air, 0, 3); world.setBlock(x + 7, y + -1, z + 30, Blocks.air, 0, 3); world.setBlock(x + 8, y + -1, z + 30, Blocks.air, 0, 3); world.setBlock(x + 9, y + -1, z + 30, ModBlocks.red_cable, 0, 3); - world.setBlock(x + 10, y + -1, z + 30, ModBlocks.machine_generator, 0, 3); + world.setBlock(x + 10, y + -1, z + 30, ModBlocks.pwr_control, 0, 3); world.setBlock(x + 11, y + -1, z + 30, Block3, 0, 3); world.setBlock(x + 2, y + -1, z + 31, Block2, 0, 3); world.setBlock(x + 3, y + -1, z + 31, Block3, 0, 3); diff --git a/src/main/java/com/hbm/world/dungeon/Spaceship2.java b/src/main/java/com/hbm/world/dungeon/Spaceship2.java index 165fd93d8..d94cb01ae 100644 --- a/src/main/java/com/hbm/world/dungeon/Spaceship2.java +++ b/src/main/java/com/hbm/world/dungeon/Spaceship2.java @@ -18,7 +18,7 @@ public class Spaceship2 Block Block3 = ModBlocks.deco_steel; Block Block4 = ModBlocks.fusion_heater; Block Block5 = ModBlocks.block_meteor; - Block Block6 = ModBlocks.reactor_element; + Block Block6 = ModBlocks.pwr_fuel; Block Block8 = ModBlocks.fusion_hatch; Block Block9 = ModBlocks.reinforced_light; Block Block10 = ModBlocks.reinforced_glass; diff --git a/src/main/java/com/hbm/world/dungeon/Vertibird.java b/src/main/java/com/hbm/world/dungeon/Vertibird.java index a8b09f4b0..67b34f015 100644 --- a/src/main/java/com/hbm/world/dungeon/Vertibird.java +++ b/src/main/java/com/hbm/world/dungeon/Vertibird.java @@ -6,7 +6,8 @@ import java.util.Random; import com.hbm.blocks.ModBlocks; import com.hbm.config.GeneralConfig; -import com.hbm.lib.HbmChestContents; +import com.hbm.itempool.ItemPool; +import com.hbm.itempool.ItemPoolsLegacy; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.init.Blocks; @@ -141,7 +142,7 @@ public class Vertibird extends WorldGenerator world.setBlock(x + 14, y + 2 - yOffset, z + 7, Blocks.chest, 2, 3); if(world.getBlock(x + 14, y + 2 - yOffset, z + 7) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.vertibird, (TileEntityChest)world.getTileEntity(x + 14, y + 2 - yOffset, z + 7), 8); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_VERTIBIRD), (TileEntityChest)world.getTileEntity(x + 14, y + 2 - yOffset, z + 7), 8); } world.setBlock(x + 15, y + 2 - yOffset, z + 7, Block2, 0, 3); world.setBlock(x + 12, y + 2 - yOffset, z + 8, Block2, 0, 3); @@ -224,14 +225,14 @@ public class Vertibird extends WorldGenerator world.setBlock(x + 14, y + 4 - yOffset, z + 8, Block2, 0, 3); world.setBlock(x + 15, y + 4 - yOffset, z + 8, Block2, 0, 3); world.setBlock(x + 11, y + 4 - yOffset, z + 9, Block2, 0, 3); - world.setBlock(x + 12, y + 4 - yOffset, z + 9, ModBlocks.machine_generator, 0, 3); + world.setBlock(x + 12, y + 4 - yOffset, z + 9, ModBlocks.block_electrical_scrap, 0, 3); world.setBlock(x + 13, y + 4 - yOffset, z + 9, ModBlocks.red_wire_coated, 0, 3); - world.setBlock(x + 14, y + 4 - yOffset, z + 9, ModBlocks.machine_generator, 0, 3); + world.setBlock(x + 14, y + 4 - yOffset, z + 9, ModBlocks.block_electrical_scrap, 0, 3); world.setBlock(x + 15, y + 4 - yOffset, z + 9, Block2, 0, 3); world.setBlock(x + 11, y + 4 - yOffset, z + 10, Block2, 0, 3); - world.setBlock(x + 12, y + 4 - yOffset, z + 10, ModBlocks.machine_generator, 0, 3); + world.setBlock(x + 12, y + 4 - yOffset, z + 10, ModBlocks.block_electrical_scrap, 0, 3); world.setBlock(x + 13, y + 4 - yOffset, z + 10, ModBlocks.red_wire_coated, 0, 3); - world.setBlock(x + 14, y + 4 - yOffset, z + 10, ModBlocks.machine_generator, 0, 3); + world.setBlock(x + 14, y + 4 - yOffset, z + 10, ModBlocks.block_electrical_scrap, 0, 3); world.setBlock(x + 15, y + 4 - yOffset, z + 10, Block2, 0, 3); world.setBlock(x + 11, y + 4 - yOffset, z + 11, Block2, 0, 3); world.setBlock(x + 12, y + 4 - yOffset, z + 11, Block2, 0, 3); @@ -304,14 +305,14 @@ public class Vertibird extends WorldGenerator world.setBlock(x + 14, y + 5 - yOffset, z + 8, Block2, 0, 3); world.setBlock(x + 15, y + 5 - yOffset, z + 8, Block2, 0, 3); world.setBlock(x + 11, y + 5 - yOffset, z + 9, Block2, 0, 3); - world.setBlock(x + 12, y + 5 - yOffset, z + 9, ModBlocks.machine_generator, 0, 3); + world.setBlock(x + 12, y + 5 - yOffset, z + 9, ModBlocks.block_electrical_scrap, 0, 3); world.setBlock(x + 13, y + 5 - yOffset, z + 9, ModBlocks.red_wire_coated, 0, 3); - world.setBlock(x + 14, y + 5 - yOffset, z + 9, ModBlocks.machine_generator, 0, 3); + world.setBlock(x + 14, y + 5 - yOffset, z + 9, ModBlocks.block_electrical_scrap, 0, 3); world.setBlock(x + 15, y + 5 - yOffset, z + 9, Block2, 0, 3); world.setBlock(x + 11, y + 5 - yOffset, z + 10, Block2, 0, 3); - world.setBlock(x + 12, y + 5 - yOffset, z + 10, ModBlocks.machine_generator, 0, 3); + world.setBlock(x + 12, y + 5 - yOffset, z + 10, ModBlocks.block_electrical_scrap, 0, 3); world.setBlock(x + 13, y + 5 - yOffset, z + 10, ModBlocks.red_wire_coated, 0, 3); - world.setBlock(x + 14, y + 5 - yOffset, z + 10, ModBlocks.machine_generator, 0, 3); + world.setBlock(x + 14, y + 5 - yOffset, z + 10, ModBlocks.block_electrical_scrap, 0, 3); world.setBlock(x + 15, y + 5 - yOffset, z + 10, Block2, 0, 3); world.setBlock(x + 12, y + 5 - yOffset, z + 11, Block2, 0, 3); world.setBlock(x + 13, y + 5 - yOffset, z + 11, ModBlocks.red_wire_coated, 0, 3); @@ -391,7 +392,7 @@ public class Vertibird extends WorldGenerator world.setBlock(x + 13, y + 6 - yOffset, z + 6, Blocks.chest, 2, 3); if(world.getBlock(x + 13, y + 6 - yOffset, z + 6) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.vertibird, (TileEntityChest)world.getTileEntity(x + 13, y + 6 - yOffset, z + 6), 8); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_VERTIBIRD), (TileEntityChest)world.getTileEntity(x + 13, y + 6 - yOffset, z + 6), 8); } world.setBlock(x + 14, y + 6 - yOffset, z + 6, Block2, 0, 3); world.setBlock(x + 15, y + 6 - yOffset, z + 6, Block2, 0, 3); diff --git a/src/main/java/com/hbm/world/feature/BedrockOre.java b/src/main/java/com/hbm/world/feature/BedrockOre.java index 98bbd0c48..2f4258234 100644 --- a/src/main/java/com/hbm/world/feature/BedrockOre.java +++ b/src/main/java/com/hbm/world/feature/BedrockOre.java @@ -4,12 +4,14 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import com.hbm.blocks.BlockEnums.EnumStoneType; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.BlockBedrockOreTE.TileEntityBedrockOre; import com.hbm.config.WorldConfig; import com.hbm.inventory.FluidStack; import com.hbm.inventory.OreDictManager.DictFrame; import com.hbm.inventory.fluid.Fluids; +import com.hbm.items.ItemEnums.EnumChunkType; import com.hbm.items.ModItems; import com.hbm.items.special.ItemBedrockOre.EnumBedrockOre; import com.hbm.util.WeightedRandomGeneric; @@ -28,28 +30,32 @@ public class BedrockOre { public static HashMap replacements = new HashMap(); public static void init() { - registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.IRON, 1), WorldConfig.bedrockIronSpawn); - registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.COPPER, 1), WorldConfig.bedrockCopperSpawn); - registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.BORAX, 3, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockBoraxSpawn); - registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.CHLOROCALCITE, 3, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockChlorocalciteSpawn); - registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.ASBESTOS, 2), WorldConfig.bedrockAsbestosSpawn); - registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.NIOBIUM, 2, new FluidStack(Fluids.ACID, 500)), WorldConfig.bedrockNiobiumSpawn); - registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.TITANIUM, 2, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockTitaniumSpawn); - registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.TUNGSTEN, 2, new FluidStack(Fluids.ACID, 500)), WorldConfig.bedrockTungstenSpawn); - registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.GOLD, 1), WorldConfig.bedrockGoldSpawn); - registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.URANIUM, 4, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockUraniumSpawn); - registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.THORIUM, 4, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockThoriumSpawn); - registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.FLUORITE, 1), WorldConfig.bedrockFluoriteSpawn); - registerBedrockOre(weightedOres, new BedrockOreDefinition(new ItemStack(Items.coal, 8), 1, 0x202020), WorldConfig.bedrockCoalSpawn); - registerBedrockOre(weightedOres, new BedrockOreDefinition(new ItemStack(ModItems.niter, 4), 2, 0x808080, new FluidStack(Fluids.ACID, 500)), WorldConfig.bedrockNiterSpawn); - registerBedrockOre(weightedOres, new BedrockOreDefinition(new ItemStack(Items.redstone, 4), 1, 0xd01010), WorldConfig.bedrockRedstoneSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.IRON, 1), WorldConfig.bedrockIronSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.COPPER, 1), WorldConfig.bedrockCopperSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.BORAX, 3, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockBoraxSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.CHLOROCALCITE, 3, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockChlorocalciteSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.ASBESTOS, 2), WorldConfig.bedrockAsbestosSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.NIOBIUM, 2, new FluidStack(Fluids.ACID, 500)), WorldConfig.bedrockNiobiumSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.NEODYMIUM, 3, new FluidStack(Fluids.ACID, 500)), WorldConfig.bedrockNeodymiumSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.TITANIUM, 2, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockTitaniumSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.TUNGSTEN, 2, new FluidStack(Fluids.ACID, 500)), WorldConfig.bedrockTungstenSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.GOLD, 1), WorldConfig.bedrockGoldSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.URANIUM, 4, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockUraniumSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.THORIUM, 4, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockThoriumSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.FLUORITE, 1), WorldConfig.bedrockFluoriteSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(new ItemStack(Items.coal, 8), 1, 0x202020), WorldConfig.bedrockCoalSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(new ItemStack(ModItems.niter, 4), 2, 0x808080, new FluidStack(Fluids.ACID, 500)), WorldConfig.bedrockNiterSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(new ItemStack(Items.redstone, 4), 1, 0xd01010), WorldConfig.bedrockRedstoneSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(new ItemStack(Items.emerald, 4), 1, 0x3FDD85), WorldConfig.bedrockEmeraldSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(DictFrame.fromOne(ModItems.chunk_ore, EnumChunkType.RARE), 2, 0x8F9999, new FluidStack(Fluids.ACID, 500)), WorldConfig.bedrockRareEarthSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(DictFrame.fromOne(ModBlocks.stone_resource, EnumStoneType.BAUXITE, 2),1, 0xEF7213), WorldConfig.bedrockBauxiteSpawn); registerBedrockOre(weightedOresNether, new BedrockOreDefinition(new ItemStack(Items.glowstone_dust, 4), 1, 0xF9FF4D), WorldConfig.bedrockGlowstoneSpawn); registerBedrockOre(weightedOresNether, new BedrockOreDefinition(new ItemStack(ModItems.powder_fire, 4), 1, 0xD7341F), WorldConfig.bedrockPhosphorusSpawn); registerBedrockOre(weightedOresNether, new BedrockOreDefinition(new ItemStack(Items.quartz, 4), 1, 0xF0EFDD), WorldConfig.bedrockQuartzSpawn); - replacements.put(EnumBedrockOre.IRON.oreName, new BedrockOreDefinition(EnumBedrockOre.HEMATITE, 1)); - replacements.put(EnumBedrockOre.COPPER.oreName, new BedrockOreDefinition(EnumBedrockOre.MALACHITE, 1)); + replacements.put("ore" + EnumBedrockOre.IRON.oreName, new BedrockOreDefinition(EnumBedrockOre.HEMATITE, 1)); + replacements.put("ore" + EnumBedrockOre.COPPER.oreName, new BedrockOreDefinition(EnumBedrockOre.MALACHITE, 1)); } public static void registerBedrockOre(List list, BedrockOreDefinition def, int weight) { diff --git a/src/main/java/com/hbm/world/feature/BiomeCave.java b/src/main/java/com/hbm/world/feature/BiomeCave.java index 1dc57bd73..be98089b6 100644 --- a/src/main/java/com/hbm/world/feature/BiomeCave.java +++ b/src/main/java/com/hbm/world/feature/BiomeCave.java @@ -3,11 +3,11 @@ package com.hbm.world.feature; import java.util.Random; import com.hbm.blocks.BlockEnums.EnumBiomeType; -import com.hbm.world.generator.DungeonToolbox; import com.hbm.blocks.ModBlocks; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import net.minecraft.block.Block; +import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.biome.BiomeGenBase.TempCategory; @@ -96,7 +96,7 @@ public class BiomeCave { private static void handleBiome(World world, int x, int y, int z, EnumBiomeType type) { Block target = world.getBlock(x, y, z); - if(target.isNormalCube() && DungeonToolbox.allowedToReplace(target)) { + if(target.isNormalCube() && target.isReplaceableOreGen(world, x, y, z, Blocks.stone)) { boolean shouldGen = false; diff --git a/src/main/java/com/hbm/world/feature/DeepLayer.java b/src/main/java/com/hbm/world/feature/DeepLayer.java deleted file mode 100644 index 69216034d..000000000 --- a/src/main/java/com/hbm/world/feature/DeepLayer.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.hbm.world.feature; - -import java.util.Random; - -import com.hbm.blocks.ModBlocks; -import com.hbm.world.generator.DungeonToolbox; - -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.world.World; -import net.minecraft.world.gen.NoiseGeneratorPerlin; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.event.terraingen.DecorateBiomeEvent; - -public class DeepLayer { - - NoiseGeneratorPerlin noise; - - @SubscribeEvent - public void onDecorate(DecorateBiomeEvent.Pre event) { - - World world = event.world; - if(world.provider == null || world.provider.dimensionId != 0) return; - - if(this.noise == null) { - this.noise = new NoiseGeneratorPerlin(new Random(event.world.getSeed() + 19), 4); - } - - int cX = event.chunkX; - int cZ = event.chunkZ; - - double scale = 0.01D; - int threshold = 2; - - for(int x = cX + 8; x < cX + 24; x++) { - for(int z = cZ + 8; z < cZ + 24; z++) { - - double n = noise.func_151601_a(x * scale, z * scale); - - if(n > threshold) { - int range = (int)((n - threshold) * 8); - - if(range > 24) - range = 48 - range; - - if(range < 0) - continue; - - for(int y = 1; y <= range; y++) { - - Block target = world.getBlock(x, y, z); - - if(target.isNormalCube() && target.getMaterial() == Material.rock && DungeonToolbox.allowedToReplace(target)) { - - boolean lava = false; - - for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { - Block neighbor = world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ); - if(neighbor.getMaterial() == Material.lava) { - lava = true; - break; - } - } - - if(lava || world.rand.nextInt(10) == 0) { - world.setBlock(x, y, z, ModBlocks.stone_deep_cobble, 1, 2); - } else if(world.rand.nextInt(10) == 0 && world.getBlock(x, y + 1, z).getMaterial() == Material.air) { - world.setBlock(x, y, z, ModBlocks.stone_deep_cobble, 2, 2); - } else { - world.setBlock(x, y, z, ModBlocks.stone_deep_cobble, 0, 2); - } - } - } - } - } - } - } -} diff --git a/src/main/java/com/hbm/world/feature/GlyphidHive.java b/src/main/java/com/hbm/world/feature/GlyphidHive.java index 5c60e3ff2..f615b6519 100644 --- a/src/main/java/com/hbm/world/feature/GlyphidHive.java +++ b/src/main/java/com/hbm/world/feature/GlyphidHive.java @@ -3,126 +3,117 @@ package com.hbm.world.feature; import java.util.Random; import com.hbm.blocks.ModBlocks; +import com.hbm.util.LootGenerator; import net.minecraft.init.Blocks; +import net.minecraft.tileentity.TileEntitySkull; import net.minecraft.world.World; public class GlyphidHive { - public static final int[][][] schematic = new int[][][] { + public static final int[][][] schematicSmall = new int[][][] { { {0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0}, + {0,0,0,0,0,0,0,0,0,0,0}, + {0,0,0,0,1,1,1,0,0,0,0}, {0,0,0,0,1,1,1,0,0,0,0}, - {0,0,0,1,1,1,1,1,0,0,0}, - {0,0,0,1,1,1,1,1,0,0,0}, - {0,0,0,1,1,1,1,1,0,0,0}, {0,0,0,0,1,1,1,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0}, - }, - { - {0,0,0,0,0,0,0,0,0,0,0}, - {0,0,0,0,0,0,0,0,0,0,0}, - {0,0,0,0,1,1,1,0,0,0,0}, - {0,0,0,1,1,9,1,1,0,0,0}, - {0,0,1,1,9,9,9,1,1,0,0}, - {0,0,1,9,9,9,9,9,1,0,0}, - {0,0,1,1,9,9,9,1,1,0,0}, - {0,0,0,1,1,9,1,1,0,0,0}, - {0,0,0,0,1,1,1,0,0,0,0}, - {0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0}, }, { {0,0,0,0,0,0,0,0,0,0,0}, - {0,0,0,0,4,4,4,0,0,0,0}, - {0,0,0,1,1,9,1,1,0,0,0}, - {0,0,1,1,9,9,9,1,1,0,0}, - {0,3,1,9,9,9,9,9,1,5,0}, - {0,3,9,9,9,9,9,9,9,5,0}, - {0,3,1,9,9,9,9,9,1,5,0}, - {0,0,1,1,9,9,9,1,1,0,0}, - {0,0,0,1,1,9,1,1,0,0,0}, - {0,0,0,0,2,2,2,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0}, - }, - { - {0,0,0,0,0,4,0,0,0,0,0}, - {0,0,0,0,4,4,4,0,0,0,0}, - {0,0,0,1,4,9,4,1,0,0,0}, - {0,0,1,1,9,9,9,1,1,0,0}, - {0,3,3,9,9,9,9,9,5,5,0}, - {3,3,9,9,9,9,9,9,9,5,5}, - {0,3,3,9,9,9,9,9,5,5,0}, - {0,0,1,1,9,9,9,1,1,0,0}, - {0,0,0,1,2,9,2,1,0,0,0}, - {0,0,0,0,2,2,2,0,0,0,0}, - {0,0,0,0,0,2,0,0,0,0,0}, - }, - { - {0,0,0,0,4,4,4,0,0,0,0}, - {0,0,0,1,4,4,4,1,0,0,0}, - {0,0,1,1,4,9,4,1,1,0,0}, - {0,1,1,1,9,9,0,1,1,1,0}, - {3,3,3,9,9,9,9,9,5,5,5}, - {3,3,9,9,9,9,9,9,9,5,5}, - {3,3,3,9,9,9,9,9,5,5,5}, - {0,1,1,1,9,9,9,1,1,1,0}, - {0,0,1,1,2,9,2,1,1,0,0}, - {0,0,0,1,2,2,2,1,0,0,0}, - {0,0,0,0,2,2,2,0,0,0,0}, - }, - { {0,0,0,0,1,1,1,0,0,0,0}, {0,0,0,1,1,1,1,1,0,0,0}, {0,0,1,1,1,1,1,1,1,0,0}, - {0,1,1,1,1,1,1,1,1,1,0}, - {1,1,1,1,1,1,1,1,1,1,1}, - {1,1,1,1,1,1,1,1,1,1,1}, - {1,1,1,1,1,1,1,1,1,1,1}, - {0,1,1,1,1,1,1,1,1,1,0}, + {0,0,1,1,1,1,1,1,1,0,0}, {0,0,1,1,1,1,1,1,1,0,0}, {0,0,0,1,1,1,1,1,0,0,0}, {0,0,0,0,1,1,1,0,0,0,0}, + {0,0,0,0,0,0,0,0,0,0,0}, + {0,0,0,0,0,0,0,0,0,0,0}, }, { {0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,1,1,1,0,0,0,0}, - {0,0,0,1,1,1,1,1,0,0,0}, + {0,0,1,1,1,1,1,1,1,0,0}, + {0,0,1,1,1,1,1,1,1,0,0}, + {0,1,1,1,3,3,3,1,1,1,0}, + {0,1,1,1,3,3,3,1,1,1,0}, + {0,1,1,1,3,3,3,1,1,1,0}, + {0,0,1,1,1,1,1,1,1,0,0}, + {0,0,1,1,1,1,1,1,1,0,0}, + {0,0,0,0,1,1,1,0,0,0,0}, + {0,0,0,0,0,0,0,0,0,0,0}, + }, + { + {0,0,0,0,0,0,0,0,0,0,0}, + {0,0,0,0,1,1,1,0,0,0,0}, + {0,0,1,1,1,1,1,1,1,0,0}, + {0,0,1,1,2,2,2,1,1,0,0}, + {0,1,1,2,2,2,2,2,1,1,0}, + {0,1,1,2,2,2,2,2,1,1,0}, + {0,1,1,2,2,2,2,2,1,1,0}, + {0,0,1,1,2,2,2,1,1,0,0}, + {0,0,1,1,1,1,1,1,1,0,0}, + {0,0,0,0,1,1,1,0,0,0,0}, + {0,0,0,0,0,0,0,0,0,0,0}, + }, + { + {0,0,0,0,0,0,0,0,0,0,0}, + {0,0,0,0,1,1,1,0,0,0,0}, + {0,0,1,1,1,1,1,1,1,0,0}, {0,0,1,1,1,1,1,1,1,0,0}, {0,1,1,1,1,1,1,1,1,1,0}, {0,1,1,1,1,1,1,1,1,1,0}, {0,1,1,1,1,1,1,1,1,1,0}, {0,0,1,1,1,1,1,1,1,0,0}, - {0,0,0,1,1,1,1,1,0,0,0}, + {0,0,1,1,1,1,1,1,1,0,0}, {0,0,0,0,1,1,1,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0}, } }; - - public static void generate(World world, int x, int y, int z, Random rand) { - - int orientation = rand.nextInt(4) + 2; + public static void generateSmall(World world, int x, int y, int z, Random rand, boolean infected, boolean loot) { + int overrideMeta = infected ? 1 : 0; for(int i = 0; i < 11; i++) { - for(int j = 0; j < 7; j++) { + for(int j = 0; j < 5; j++) { for(int k = 0; k < 11; k++) { - int block = schematic[6 - j][i][k]; + int block = schematicSmall[4 - j][i][k]; + int iX = x + i - 5; + int iY = y + j - 2; + int iZ = z + k - 5; - if(block == 1 || (block != orientation && block > 1 && block < 6)) { - world.setBlock(x + i - 5, y + j - 2, z + k - 5, ModBlocks.glyphid_base); - } - if(block == 9) { - world.setBlock(x + i - 5, y + j - 2, z + k - 5, Blocks.air); + switch(block) { + case 1: world.setBlock(iX, iY, iZ, ModBlocks.glyphid_base, overrideMeta, 2); break; + case 2: world.setBlock(iX, iY, iZ, rand.nextInt(3) == 0 ? ModBlocks.glyphid_spawner : ModBlocks.glyphid_base, overrideMeta, 2); break; + case 3: + int r = rand.nextInt(3); + if(r == 0) { + world.setBlock(iX, iY, iZ, Blocks.skull, 1, 3); + TileEntitySkull skull = (TileEntitySkull) world.getTileEntity(iX, iY, iZ); + if(skull != null) skull.func_145903_a(rand.nextInt(16)); + } else if(r == 1) { + world.setBlock(iX, iY, z + k - 5, ModBlocks.deco_loot, 0, 2); + LootGenerator.lootBones(world, iX, iY, iZ); + } else if(r == 2) { + if(loot) { + world.setBlock(iX, iY, iZ, ModBlocks.deco_loot, 0, 2); + LootGenerator.lootGlyphidHive(world, iX, iY, iZ); + } else { + world.setBlock(iX, iY, iZ, ModBlocks.glyphid_base, overrideMeta, 2); + } + } + break; } } } } - - world.setBlock(x, y - 1, z, ModBlocks.glyphid_spawner); } } diff --git a/src/main/java/com/hbm/world/feature/Meteorite.java b/src/main/java/com/hbm/world/feature/Meteorite.java index b561d4451..ff80fe266 100644 --- a/src/main/java/com/hbm/world/feature/Meteorite.java +++ b/src/main/java/com/hbm/world/feature/Meteorite.java @@ -5,10 +5,12 @@ import java.util.HashSet; import java.util.List; import java.util.Random; +import com.hbm.blocks.BlockEnums.EnumMeteorType; import com.hbm.blocks.ModBlocks; import com.hbm.config.WorldConfig; import com.hbm.explosion.ExplosionLarge; import com.hbm.interfaces.Spaghetti; +import com.hbm.inventory.OreDictManager.DictFrame; import com.hbm.items.ModItems; import com.hbm.lib.ModDamageSource; @@ -687,30 +689,8 @@ public class Meteorite { } public List getRandomOre(Random rand) { - List ores = new ArrayList(); - - for(int i = 0; i < 3; i++) - ores.add(new ItemStack(ModBlocks.ore_meteor_uranium)); - for(int i = 0; i < 5; i++) - ores.add(new ItemStack(ModBlocks.ore_meteor_thorium)); - for(int i = 0; i < 6; i++) - ores.add(new ItemStack(ModBlocks.ore_meteor_titanium)); - for(int i = 0; i < 7; i++) - ores.add(new ItemStack(ModBlocks.ore_meteor_sulfur)); - for(int i = 0; i < 8; i++) - ores.add(new ItemStack(ModBlocks.ore_meteor_copper)); - for(int i = 0; i < 5; i++) - ores.add(new ItemStack(ModBlocks.ore_meteor_tungsten)); - for(int i = 0; i < 7; i++) - ores.add(new ItemStack(ModBlocks.ore_meteor_aluminium)); - for(int i = 0; i < 6; i++) - ores.add(new ItemStack(ModBlocks.ore_meteor_lead)); - for(int i = 0; i < 4; i++) - ores.add(new ItemStack(ModBlocks.ore_meteor_lithium)); - for(int i = 0; i < 1; i++) - ores.add(new ItemStack(ModBlocks.ore_meteor_starmetal)); - + for(EnumMeteorType num : EnumMeteorType.values()) ores.add(DictFrame.fromOne(ModBlocks.ore_meteor, num)); return ores; } @@ -734,15 +714,6 @@ public class Meteorite { replacables.add(ModBlocks.block_meteor_cobble); replacables.add(ModBlocks.block_meteor_molten); replacables.add(ModBlocks.block_meteor_treasure); - replacables.add(ModBlocks.ore_meteor_uranium); - replacables.add(ModBlocks.ore_meteor_thorium); - replacables.add(ModBlocks.ore_meteor_titanium); - replacables.add(ModBlocks.ore_meteor_sulfur); - replacables.add(ModBlocks.ore_meteor_copper); - replacables.add(ModBlocks.ore_meteor_tungsten); - replacables.add(ModBlocks.ore_meteor_aluminium); - replacables.add(ModBlocks.ore_meteor_lead); - replacables.add(ModBlocks.ore_meteor_lithium); - replacables.add(ModBlocks.ore_meteor_starmetal); + replacables.add(ModBlocks.ore_meteor); } } diff --git a/src/main/java/com/hbm/world/feature/OreCave.java b/src/main/java/com/hbm/world/feature/OreCave.java index 7f879866b..3679b8d4c 100644 --- a/src/main/java/com/hbm/world/feature/OreCave.java +++ b/src/main/java/com/hbm/world/feature/OreCave.java @@ -5,11 +5,11 @@ import java.util.Random; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.BlockStalagmite; import com.hbm.inventory.RecipesCommon.MetaBlock; -import com.hbm.world.generator.DungeonToolbox; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.gen.NoiseGeneratorPerlin; import net.minecraftforge.common.MinecraftForge; @@ -104,7 +104,7 @@ public class OreCave { for(int y = yLevel - range; y <= yLevel + range; y++) { Block genTarget = world.getBlock(x, y, z); - if(genTarget.isNormalCube() && (genTarget.getMaterial() == Material.rock || genTarget.getMaterial() == Material.ground) && DungeonToolbox.allowedToReplace(genTarget)) { + if(genTarget.isNormalCube() && (genTarget.getMaterial() == Material.rock || genTarget.getMaterial() == Material.ground) && genTarget.isReplaceableOreGen(world, x, y, z, Blocks.stone)) { boolean shouldGen = false; boolean canGenFluid = event.rand.nextBoolean(); diff --git a/src/main/java/com/hbm/world/feature/OreLayer.java b/src/main/java/com/hbm/world/feature/OreLayer.java index aacf1c416..fb4b84543 100644 --- a/src/main/java/com/hbm/world/feature/OreLayer.java +++ b/src/main/java/com/hbm/world/feature/OreLayer.java @@ -3,7 +3,6 @@ package com.hbm.world.feature; import java.util.Random; import com.hbm.inventory.RecipesCommon.MetaBlock; -import com.hbm.world.generator.DungeonToolbox; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import net.minecraft.block.Block; @@ -100,7 +99,7 @@ public class OreLayer { if(event.rand.nextFloat() < density) { Block genTarget = world.getBlock(x, y, z); - if(genTarget.isReplaceableOreGen(world, x, y, z, target) && DungeonToolbox.allowedToReplace(genTarget)) { + if(genTarget.isReplaceableOreGen(world, x, y, z, target) && genTarget.isReplaceableOreGen(world, x, y, z, Blocks.stone)) { world.setBlock(x, y, z, ore.block, ore.meta, 2); } } diff --git a/src/main/java/com/hbm/world/feature/OreLayer3D.java b/src/main/java/com/hbm/world/feature/OreLayer3D.java index 50fba58b3..84b8f88b0 100644 --- a/src/main/java/com/hbm/world/feature/OreLayer3D.java +++ b/src/main/java/com/hbm/world/feature/OreLayer3D.java @@ -2,11 +2,10 @@ package com.hbm.world.feature; import java.util.Random; -import com.hbm.world.generator.DungeonToolbox; - import cpw.mods.fml.common.eventhandler.SubscribeEvent; import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.gen.NoiseGeneratorPerlin; import net.minecraftforge.common.MinecraftForge; @@ -76,7 +75,7 @@ public class OreLayer3D { if(nX * nY * nZ > threshold) { Block target = world.getBlock(x, y, z); - if(target.isNormalCube() && target.getMaterial() == Material.rock && DungeonToolbox.allowedToReplace(target)) { + if(target.isNormalCube() && target.getMaterial() == Material.rock && target.isReplaceableOreGen(world, x, y, z, Blocks.stone)) { world.setBlock(x, y, z, block, meta, 2); } } diff --git a/src/main/java/com/hbm/world/feature/SchistStratum.java b/src/main/java/com/hbm/world/feature/SchistStratum.java index d83ec528e..56ae0dbdb 100644 --- a/src/main/java/com/hbm/world/feature/SchistStratum.java +++ b/src/main/java/com/hbm/world/feature/SchistStratum.java @@ -3,11 +3,11 @@ package com.hbm.world.feature; import java.util.Random; import com.hbm.blocks.ModBlocks; -import com.hbm.world.generator.DungeonToolbox; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.gen.NoiseGeneratorPerlin; import net.minecraftforge.event.terraingen.DecorateBiomeEvent; @@ -52,7 +52,7 @@ public class SchistStratum { Block target = world.getBlock(x, y, z); - if(target.isNormalCube() && target.getMaterial() == Material.rock && DungeonToolbox.allowedToReplace(target)) { + if(target.isNormalCube() && target.getMaterial() == Material.rock && target.isReplaceableOreGen(world, x, y, z, Blocks.stone)) { world.setBlock(x, y, z, ModBlocks.stone_gneiss, 0, 2); } } diff --git a/src/main/java/com/hbm/world/gen/MapGenNTMFeatures.java b/src/main/java/com/hbm/world/gen/MapGenNTMFeatures.java index c5383cca0..a4d225c7f 100644 --- a/src/main/java/com/hbm/world/gen/MapGenNTMFeatures.java +++ b/src/main/java/com/hbm/world/gen/MapGenNTMFeatures.java @@ -8,9 +8,19 @@ import java.util.Random; import com.hbm.config.GeneralConfig; import com.hbm.config.StructureConfig; import com.hbm.world.gen.component.BunkerComponents.BunkerStart; -import com.hbm.world.gen.component.CivilianFeatures.*; -import com.hbm.world.gen.component.OfficeFeatures.*; -import com.hbm.world.gen.component.RuinFeatures.*; +import com.hbm.world.gen.component.CivilianFeatures.NTMHouse1; +import com.hbm.world.gen.component.CivilianFeatures.NTMHouse2; +import com.hbm.world.gen.component.CivilianFeatures.NTMLab1; +import com.hbm.world.gen.component.CivilianFeatures.NTMLab2; +import com.hbm.world.gen.component.CivilianFeatures.NTMWorkshop1; +import com.hbm.world.gen.component.CivilianFeatures.RuralHouse1; +import com.hbm.world.gen.component.OfficeFeatures.LargeOffice; +import com.hbm.world.gen.component.OfficeFeatures.LargeOfficeCorner; +import com.hbm.world.gen.component.RuinFeatures.NTMRuin1; +import com.hbm.world.gen.component.RuinFeatures.NTMRuin2; +import com.hbm.world.gen.component.RuinFeatures.NTMRuin3; +import com.hbm.world.gen.component.RuinFeatures.NTMRuin4; +import com.hbm.world.gen.component.SiloComponent; import net.minecraft.world.World; import net.minecraft.world.biome.BiomeGenBase; @@ -103,8 +113,10 @@ public class MapGenNTMFeatures extends MapGenStructure { public Start(World world, Random rand, int chunkX, int chunkZ) { super(chunkX, chunkZ); - BiomeGenBase biome = world.getBiomeGenForCoords(chunkX * 16 + 8, chunkZ * 16 + 8); //Only gets the biome in the corner of the chunk. - final int posY = 64; // Terrain *does not exist* at this stage - at least, for vanilla. Here it has to be called after, but better safe than sorry. + int i = (chunkX << 4) + 8; + int j = (chunkZ << 4) + 8; + + BiomeGenBase biome = world.getBiomeGenForCoords(i, j); //Only gets the biome in the corner of the chunk. /* * Probably want to use nextInt() to increase the structures of rarity here. As a fallback, you could have generic stone brick/useless block ruins that will always be chosen if the @@ -112,56 +124,64 @@ public class MapGenNTMFeatures extends MapGenStructure { * Rainfall & Temperature Check */ //TODO: Do something about this so it's nice-looking and easily readable. Plus, test compatibility against mods like BoP + if(rand.nextInt(3) == 0) { //Empty Ruin Structures switch(rand.nextInt(4)) { case 0: - NTMRuin1 ruin1 = new NTMRuin1(rand, chunkX * 16 + 8, posY, chunkZ * 16 + 8); + NTMRuin1 ruin1 = new NTMRuin1(rand, i, j); this.components.add(ruin1); break; case 1: - NTMRuin2 ruin2 = new NTMRuin2(rand, chunkX * 16 + 8, posY, chunkZ * 16 + 8); + NTMRuin2 ruin2 = new NTMRuin2(rand, i, j); this.components.add(ruin2); break; case 2: - NTMRuin3 ruin3 = new NTMRuin3(rand, chunkX * 16 + 8, posY, chunkZ * 16 + 8); + NTMRuin3 ruin3 = new NTMRuin3(rand, i, j); this.components.add(ruin3); break; case 3: - NTMRuin4 ruin4 = new NTMRuin4(rand, chunkX * 16 + 8, posY, chunkZ * 16 + 8); + NTMRuin4 ruin4 = new NTMRuin4(rand, i, j); this.components.add(ruin4); } + } else if(biome.heightVariation <= 0.25F && rand.nextInt(10) == 0) { //for now our only restriction is kinda-flat biomes. that and chance might change idk + SiloComponent silo = new SiloComponent(rand, i, j); + this.components.add(silo); } else if(biome.temperature >= 1.0 && biome.rainfall == 0 && !(biome instanceof BiomeGenMesa)) { //Desert & Savannah if(rand.nextBoolean()) { - NTMHouse1 house1 = new NTMHouse1(rand, chunkX * 16 + 8, posY, chunkZ * 16 + 8); + NTMHouse1 house1 = new NTMHouse1(rand, i, j); this.components.add(house1); } else { - NTMHouse2 house2 = new NTMHouse2(rand, chunkX * 16 + 8, posY, chunkZ * 16 + 8); + NTMHouse2 house2 = new NTMHouse2(rand, i, j); this.components.add(house2); } } else if(biome.temperature >= 0.25 && biome.temperature <= 0.3 && biome.rainfall >= 0.6 && biome.rainfall <= 0.9 && rand.nextBoolean()) { //Taiga & Mega Taiga - NTMWorkshop1 workshop1 = new NTMWorkshop1(rand, chunkX * 16 + 8, posY, chunkZ * 16 + 8); + NTMWorkshop1 workshop1 = new NTMWorkshop1(rand, i, j); //TODO replace this this.components.add(workshop1); } else { //Everything else - switch(rand.nextInt(4)) { + switch(rand.nextInt(6)) { case 0: - NTMLab2 lab2 = new NTMLab2(rand, chunkX * 16 + 8, posY, chunkZ * 16 + 8); + NTMLab2 lab2 = new NTMLab2(rand, i, j); //and these, too this.components.add(lab2); break; case 1: - NTMLab1 lab1 = new NTMLab1(rand, chunkX * 16 + 8, posY, chunkZ * 16 + 8); + NTMLab1 lab1 = new NTMLab1(rand, i, j); this.components.add(lab1); break; case 2: - LargeOffice office = new LargeOffice(rand, chunkX * 16 + 8, posY, chunkZ * 16 + 8); + LargeOffice office = new LargeOffice(rand, i, j); this.components.add(office); break; case 3: - LargeOfficeCorner officeCorner = new LargeOfficeCorner(rand, chunkX * 16 + 8, posY, chunkZ * 16 + 8); + LargeOfficeCorner officeCorner = new LargeOfficeCorner(rand, i, j); this.components.add(officeCorner); break; + case 4: + case 5: + RuralHouse1 ruralHouse = new RuralHouse1(rand, i, j); + this.components.add(ruralHouse); break; } } if(GeneralConfig.enableDebugMode) { - System.out.print("[Debug] StructureStart at " + (chunkX * 16 + 8) + ", " + posY + ", " + (chunkZ * 16 + 8) + "\n[Debug] Components: "); + System.out.print("[Debug] StructureStart at " + i + ", 64, " + j + "\n[Debug] Components: "); this.components.forEach((component) -> { System.out.print(MapGenStructureIO.func_143036_a((StructureComponent) component) + " "); }); diff --git a/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java index a672e32a3..6fb9e7fd1 100644 --- a/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java +++ b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java @@ -17,15 +17,15 @@ import static net.minecraftforge.event.terraingen.TerrainGen.*; import net.minecraftforge.event.world.WorldEvent; public class NTMWorldGenerator implements IWorldGenerator { - - private MapGenNTMFeatures scatteredFeatureGenerator = new MapGenNTMFeatures(); + private MapGenNTMFeatures scatteredFeatureGen = new MapGenNTMFeatures(); private final Random rand = new Random(); //A central random, used to cleanly generate our stuff without affecting vanilla or modded seeds. /** Inits all MapGen upon the loading of a new world. Hopefully clears out structureMaps and structureData when a different world is loaded. */ @SubscribeEvent public void onLoad(WorldEvent.Load event) { - scatteredFeatureGenerator = (MapGenNTMFeatures) getModdedMapGen(new MapGenNTMFeatures(), EventType.CUSTOM); + scatteredFeatureGen = (MapGenNTMFeatures) getModdedMapGen(new MapGenNTMFeatures(), EventType.CUSTOM); + hasPopulationEvent = false; } @@ -49,7 +49,8 @@ public class NTMWorldGenerator implements IWorldGenerator { setRandomSeed(event.world, event.chunkX, event.chunkZ); //Set random for population down the line. hasPopulationEvent = true; - if(!StructureConfig.enableStructures) return; + if(StructureConfig.enableStructures == 0) return; + if(StructureConfig.enableStructures == 2 && !event.world.getWorldInfo().isMapFeaturesEnabled()) return; switch (event.world.provider.dimensionId) { case -1: @@ -65,8 +66,8 @@ public class NTMWorldGenerator implements IWorldGenerator { protected void generateOverworldStructures(World world, IChunkProvider chunkProvider, int chunkX, int chunkZ) { Block[] ablock = new Block[65536]; //ablock isn't actually used for anything in MapGenStructure - this.scatteredFeatureGenerator.func_151539_a(chunkProvider, world, chunkX, chunkZ, ablock); - this.scatteredFeatureGenerator.generateStructuresInChunk(world, rand, chunkX, chunkZ); + this.scatteredFeatureGen.func_151539_a(chunkProvider, world, chunkX, chunkZ, ablock); + this.scatteredFeatureGen.generateStructuresInChunk(world, rand, chunkX, chunkZ); } /* @@ -94,13 +95,14 @@ public class NTMWorldGenerator implements IWorldGenerator { private void generateSurface(World world, Random rand, IChunkProvider chunkGenerator, IChunkProvider chunkProvider, int chunkX, int chunkZ) { if(!hasPopulationEvent) { //If we've failed to generate any structures (flatlands) setRandomSeed(world, chunkX, chunkZ); //Reset the random seed to compensate - if(StructureConfig.enableStructures) generateOverworldStructures(world, chunkGenerator, chunkX, chunkZ); //Do it through the post-population generation directly + + boolean enableStructures = world.getWorldInfo().isMapFeaturesEnabled(); + if(StructureConfig.enableStructures == 1) enableStructures = true; + if(StructureConfig.enableStructures == 0) enableStructures = false; + + if(enableStructures) generateOverworldStructures(world, chunkGenerator, chunkX, chunkZ); //Do it through the post-population generation directly } - final int posX = (chunkX << 4) + 8; - final int posZ = (chunkZ << 4) + 8; - BiomeGenBase biome = world.getBiomeGenForCoords(posX, posZ); - /* biome dictionary my beloved <3 * no check for tom here because the event handler already checks for decoration events, + this way they won't become permanently extinct. */ @@ -120,4 +122,13 @@ public class NTMWorldGenerator implements IWorldGenerator { return true; } + + /** utility method, same as above but inclusive. useful for catch-alls, like the dirty glass structures have */ + public static boolean doesBiomeHaveTypes(BiomeGenBase biome, Type... types) { + for(Type type : types) { + if(isBiomeOfType(biome, type)) return true; + } + + return false; + } } \ No newline at end of file diff --git a/src/main/java/com/hbm/world/gen/component/BunkerComponents.java b/src/main/java/com/hbm/world/gen/component/BunkerComponents.java index 286687203..ee12ac748 100644 --- a/src/main/java/com/hbm/world/gen/component/BunkerComponents.java +++ b/src/main/java/com/hbm/world/gen/component/BunkerComponents.java @@ -4,7 +4,9 @@ import java.util.List; import java.util.Random; import com.hbm.blocks.ModBlocks; -import com.hbm.lib.HbmChestContents; +import com.hbm.itempool.ItemPool; +import com.hbm.itempool.ItemPoolsComponent; +import com.hbm.itempool.ItemPoolsLegacy; import com.hbm.world.gen.ProceduralStructureStart; import com.hbm.world.gen.ProceduralStructureStart.ProceduralComponent; import com.hbm.world.gen.component.Component.ConcreteBricks; @@ -147,7 +149,7 @@ public class BunkerComponents { placeBlockAtCurrentPosition(world, ModBlocks.fan, 0, 5, 4, 5, box); //machine placeBlockAtCurrentPosition(world, ModBlocks.deco_tungsten, 0, 3, 1, 6, box); - generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(3), 4, 1, 6, HbmChestContents.antenna/*TODO change */, 5); + generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(3), 4, 1, 6, ItemPool.getPool(ItemPoolsLegacy.POOL_ANTENNA)/*TODO change */, 5); placeBlockAtCurrentPosition(world, ModBlocks.deco_tungsten, 0, 5, 1, 6, box); fillWithMetadataBlocks(world, box, 3, 2, 6, 5, 2, 6, ModBlocks.concrete_smooth_stairs, getStairMeta(2) | 4); fillWithMetadataBlocks(world, box, 3, 3, 6, 5, 3, 6, ModBlocks.tape_recorder, getDecoMeta(2)); @@ -375,13 +377,13 @@ public class BunkerComponents { placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaE | 4, 4, 1, 9, box); placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairMetaS, 5, 1, 8, box); placeBlockAtCurrentPosition(world, ModBlocks.deco_computer, getDecoModelMeta(0), 5, 2, 9, box); - generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 3, 1, 9, HbmChestContents.filingCabinet, 5); + generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 3, 1, 9, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 5); //lockers - generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 8, 1, 7, HbmChestContents.lockersVault, 3); - generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 8, 2, 7, HbmChestContents.lockersVault, 5); + generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 8, 1, 7, ItemPool.getPool(ItemPoolsComponent.POOL_VAULT_LOCKERS), 3); + generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 8, 2, 7, ItemPool.getPool(ItemPoolsComponent.POOL_VAULT_LOCKERS), 5); fillWithBlocks(world, box, 8, 1, 8, 8, 2, 8, ModBlocks.deco_tungsten); - generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 8, 1, 9, HbmChestContents.lockersVault, 4); - generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 8, 2, 9, HbmChestContents.lockersVault, 5); + generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 8, 1, 9, ItemPool.getPool(ItemPoolsComponent.POOL_VAULT_LOCKERS), 4); + generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 8, 2, 9, ItemPool.getPool(ItemPoolsComponent.POOL_VAULT_LOCKERS), 5); fillWithMetadataBlocks(world, box, 8, 3, 7, 8, 3, 9, Blocks.trapdoor, getDecoModelMeta(2) >> 2); //doors placeDoor(world, box, ModBlocks.door_bunker, 1, true, rand.nextBoolean(), 7, 1, 0); @@ -474,7 +476,7 @@ public class BunkerComponents { //table & chest placeBlockAtCurrentPosition(world, Blocks.fence, 0, 6, 1, 2, box); placeBlockAtCurrentPosition(world, Blocks.wooden_pressure_plate, 0, 6, 2, 2, box); - generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 6, 1, 3, HbmChestContents.lockersVault, 8); + generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 6, 1, 3, ItemPool.getPool(ItemPoolsComponent.POOL_VAULT_LOCKERS), 8); //desk w/ computer + bobblehead placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaS | 4, 1, 1, 8, box); placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaE | 4, 1, 1, 9, box); @@ -679,7 +681,7 @@ public class BunkerComponents { fillWithMetadataBlocks(world, box, 1, 3, 9, 1, 3, 10, ModBlocks.tape_recorder, decoMetaW); fillWithBlocks(world, box, 1, 1, 11, 1, 3, 11, ModBlocks.deco_tungsten); //desks w/ computers - generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(2), 3, 1, 4, HbmChestContents.machineParts, 6); + generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(2), 3, 1, 4, ItemPool.getPool(ItemPoolsComponent.POOL_MACHINE_PARTS), 6); placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaS | 4, 3, 1, 5, box); fillWithMetadataBlocks(world, box, 4, 1, 5, 4, 1, 7, ModBlocks.concrete_smooth_stairs, stairMetaW | 4); placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairMetaN, 3, 1, 7, box); @@ -704,7 +706,7 @@ public class BunkerComponents { //table w/ chest placeBlockAtCurrentPosition(world, Blocks.fence, 0, 7, 1, 9, box); placeBlockAtCurrentPosition(world, Blocks.wooden_pressure_plate, 0, 7, 2, 9, box); - generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 7, 1, 10, HbmChestContents.labVault, 8); + generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 7, 1, 10, ItemPool.getPool(ItemPoolsComponent.POOL_VAULT_LAB), 8); //doors placeDoor(world, box, ModBlocks.door_bunker, 1, true, rand.nextBoolean(), 5, 1, 0); placeDoor(world, box, ModBlocks.door_bunker, 1, false, rand.nextBoolean(), 6, 1, 0); @@ -819,8 +821,8 @@ public class BunkerComponents { placeBlockAtCurrentPosition(world, ModBlocks.fluid_duct_gauge, decoMetaW, 10, 2, 5, box); placeBlockAtCurrentPosition(world, ModBlocks.barrel_plastic, 0, 6, 1, 5, box); //chests - generateInvContents(world, box, rand, Blocks.chest, decoMetaS, 7, 1, 5, HbmChestContents.solidFuel, 5); - generateInvContents(world, box, rand, Blocks.chest, decoMetaS, 9, 1, 5, HbmChestContents.solidFuel, 6); + generateInvContents(world, box, rand, Blocks.chest, decoMetaS, 7, 1, 5, ItemPool.getPool(ItemPoolsComponent.POOL_SOLID_FUEL), 5); + generateInvContents(world, box, rand, Blocks.chest, decoMetaS, 9, 1, 5, ItemPool.getPool(ItemPoolsComponent.POOL_SOLID_FUEL), 6); break; case 1: placeBlockAtCurrentPosition(world, ModBlocks.concrete_colored_ext, 5, 6, 1, 1, box); @@ -873,7 +875,7 @@ public class BunkerComponents { placeBlockAtCurrentPosition(world, ModBlocks.deco_pipe_quad_rusted, getPillarMeta(4), 7, 3, 1, box); placeBlockAtCurrentPosition(world, ModBlocks.fluid_duct_gauge, decoMetaN, 6, 3, 1, box); //chest - generateInvContents(world, box, rand, Blocks.chest, decoMetaN, 6, 1, 2, HbmChestContents.nuclearFuel, 8); + generateInvContents(world, box, rand, Blocks.chest, decoMetaN, 6, 1, 2, ItemPool.getPool(ItemPoolsComponent.POOL_NUKE_FUEL), 8); break; } //transformer @@ -905,8 +907,8 @@ public class BunkerComponents { placeBlockAtCurrentPosition(world, Blocks.flower_pot, 0, 8, 2, 10, box); placeBlockAtCurrentPosition(world, ModBlocks.deco_computer, getDecoModelMeta(0), 9, 2, 10, box); //loot - generateInvContents(world, box, rand, Blocks.chest, decoMetaE, 1, 1, 7, HbmChestContents.machineParts, 6); - generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 7, 1, 10, HbmChestContents.filingCabinet, 4); + generateInvContents(world, box, rand, Blocks.chest, decoMetaE, 1, 1, 7, ItemPool.getPool(ItemPoolsComponent.POOL_MACHINE_PARTS), 6); + generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 7, 1, 10, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 4); //doors placeDoor(world, box, ModBlocks.door_bunker, 1, true, rand.nextBoolean(), 3, 1, 0); placeDoor(world, box, ModBlocks.door_bunker, 1, false, rand.nextBoolean(), 4, 1, 0); diff --git a/src/main/java/com/hbm/world/gen/component/CivilianFeatures.java b/src/main/java/com/hbm/world/gen/component/CivilianFeatures.java index 26d7faaba..b6a335dd4 100644 --- a/src/main/java/com/hbm/world/gen/component/CivilianFeatures.java +++ b/src/main/java/com/hbm/world/gen/component/CivilianFeatures.java @@ -5,9 +5,13 @@ import java.util.Random; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.BlockBobble.BobbleType; import com.hbm.blocks.generic.BlockBobble.TileEntityBobble; +import com.hbm.itempool.ItemPool; +import com.hbm.itempool.ItemPoolsComponent; +import com.hbm.itempool.ItemPoolsLegacy; import com.hbm.lib.HbmChestContents; import com.hbm.util.LootGenerator; +import net.minecraft.block.BlockStairs; import net.minecraft.init.Blocks; import net.minecraft.item.ItemDoor; import net.minecraft.nbt.NBTTagCompound; @@ -25,9 +29,10 @@ public class CivilianFeatures { public static void registerComponents() { MapGenStructureIO.func_143031_a(NTMHouse1.class, "NTMHouse1"); MapGenStructureIO.func_143031_a(NTMHouse2.class, "NTMHouse2"); - MapGenStructureIO.func_143031_a(NTMLab1.class, "NTMLab1"); + MapGenStructureIO.func_143031_a(NTMLab1.class, "NTMLab1"); //i'll replace these shitty structures one day trust MapGenStructureIO.func_143031_a(NTMLab2.class, "NTMLab2"); MapGenStructureIO.func_143031_a(NTMWorkshop1.class, "NTMWorkshop1"); + MapGenStructureIO.func_143031_a(RuralHouse1.class, "NTMRuralHouse1"); } /** Sandstone Ruin 1 */ @@ -42,8 +47,8 @@ public class CivilianFeatures { } /** Constructor for this feature; takes coordinates for bounding box */ - public NTMHouse1(Random rand, int minX, int minY, int minZ) { - super(rand, minX, minY, minZ, 9, 4, 6); + public NTMHouse1(Random rand, int minX, int minZ) { + super(rand, minX, 64, minZ, 9, 4, 6); this.hasPlacedChest = false; } @@ -88,27 +93,27 @@ public class CivilianFeatures { } //System.out.println("" + this.boundingBox.minX + ", " + this.boundingBox.minY + ", " + this.boundingBox.minZ); - placeFoundationUnderneath(world, Blocks.sandstone, 0, 0, 0, sizeX, sizeZ, -1, box); + placeFoundationUnderneath(world, Blocks.sandstone, 0, 0, 0, 9, 6, -1, box); //Walls - this.fillWithRandomizedBlocks(world, box, 0, 0, 0, sizeX, 0, 0, false, rand, RandomSandstone); //Back Wall + this.fillWithRandomizedBlocks(world, box, 0, 0, 0, 9, 0, 0, false, rand, RandomSandstone); //Back Wall this.fillWithRandomizedBlocks(world, box, 0, 1, 0, 1, 1, 0, false, rand, RandomSandstone); this.placeBlockAtCurrentPosition(world, Blocks.fence, 0, 2, 1, 0, box); this.fillWithRandomizedBlocks(world, box, 3, 1, 0, 5, 1, 0, false, rand, RandomSandstone); this.placeBlockAtCurrentPosition(world, Blocks.fence, 0, 6, 1, 0, box); this.placeBlockAtCurrentPosition(world, Blocks.fence, 0, 7, 1, 0, box); - this.fillWithRandomizedBlocks(world, box, sizeX - 1, 1, 0, sizeX, 1, 0, false, rand, RandomSandstone); - this.fillWithRandomizedBlocks(world, box, 0, 2, 0, sizeX - 2, 2, 0, false, rand, RandomSandstone); - this.fillWithRandomizedBlocks(world, box, 0, 0, 0, 0, 1, sizeZ, false, rand, RandomSandstone); //Left Wall + this.fillWithRandomizedBlocks(world, box, 9 - 1, 1, 0, 9, 1, 0, false, rand, RandomSandstone); + this.fillWithRandomizedBlocks(world, box, 0, 2, 0, 9 - 2, 2, 0, false, rand, RandomSandstone); + this.fillWithRandomizedBlocks(world, box, 0, 0, 0, 0, 1, 6, false, rand, RandomSandstone); //Left Wall this.placeBlockAtCurrentPosition(world, Blocks.stone_slab, 1, 0, 2, 1, box); - this.fillWithMetadataBlocks(world, box, 0, 2, 3, 0, 2, sizeZ, Blocks.stone_slab, 1, Blocks.air, 0, false); - this.fillWithRandomizedBlocks(world, box, 1, 0, sizeZ, 1, 1, sizeZ, false, rand, RandomSandstone); //Front Wall - this.fillWithRandomizedBlocks(world, box, 3, 0, sizeZ, sizeX, 1, sizeZ, false, rand, RandomSandstone); - this.fillWithRandomizedBlocks(world, box, 1, 2, sizeZ, 3, 2, sizeZ, false, rand, RandomSandstone); - this.fillWithMetadataBlocks(world, box, 4, 2, sizeZ, 5, 2, sizeZ, Blocks.stone_slab, 1, Blocks.air, 0, false); - this.placeBlockAtCurrentPosition(world, Blocks.stone_slab, 1, sizeX - 2, 2, sizeZ, box); - this.fillWithRandomizedBlocks(world, box, sizeX, 0, 0, sizeX, 0, sizeZ, false, rand, RandomSandstone); //Right Wall - this.randomlyFillWithBlocks(world, box, rand, 0.65F, sizeX, 1, 1, sizeX, 1, sizeZ - 1, Blocks.sand, Blocks.air, false); + this.fillWithMetadataBlocks(world, box, 0, 2, 3, 0, 2, 6, Blocks.stone_slab, 1, Blocks.air, 0, false); + this.fillWithRandomizedBlocks(world, box, 1, 0, 6, 1, 1, 6, false, rand, RandomSandstone); //Front Wall + this.fillWithRandomizedBlocks(world, box, 3, 0, 6, 9, 1, 6, false, rand, RandomSandstone); + this.fillWithRandomizedBlocks(world, box, 1, 2, 6, 3, 2, 6, false, rand, RandomSandstone); + this.fillWithMetadataBlocks(world, box, 4, 2, 6, 5, 2, 6, Blocks.stone_slab, 1, Blocks.air, 0, false); + this.placeBlockAtCurrentPosition(world, Blocks.stone_slab, 1, 9 - 2, 2, 6, box); + this.fillWithRandomizedBlocks(world, box, 9, 0, 0, 9, 0, 6, false, rand, RandomSandstone); //Right Wall + this.randomlyFillWithBlocks(world, box, rand, 0.65F, 9, 1, 1, 9, 1, 6 - 1, Blocks.sand, Blocks.air, false); this.fillWithRandomizedBlocks(world, box, 4, 0, 1, 4, 1, 3, false, rand, RandomSandstone); this.placeBlockAtCurrentPosition(world, ModBlocks.reinforced_sand, 0, 4, 0, 4, box); @@ -116,13 +121,13 @@ public class CivilianFeatures { //Loot/Sand this.placeBlockAtCurrentPosition(world, ModBlocks.crate_weapon, 0, 1, 0, 1, box); if(!this.hasPlacedChest) - this.hasPlacedChest = this.generateStructureChestContents(world, box, rand, 3, 0, 1, HbmChestContents.modGeneric, rand.nextInt(2) + 8); + this.hasPlacedChest = this.generateStructureChestContents(world, box, rand, 3, 0, 1, ItemPool.getPool(ItemPoolsLegacy.POOL_GENERIC), rand.nextInt(2) + 8); this.fillWithBlocks(world, box, 5, 0, 1, 6, 0, 1, ModBlocks.crate, Blocks.air, false); this.placeBlockAtCurrentPosition(world, Blocks.sand, 0, 7, 0, 1, box); if(rand.nextFloat() <= 0.25) - this.placeBlockAtCurrentPosition(world, ModBlocks.crate_metal, 0, sizeX - 1, 0, 1, box); - this.randomlyFillWithBlocks(world, box, rand, 0.25F, 1, 0, 2, 3, 0, sizeZ - 1, Blocks.sand, Blocks.air, false); - this.randomlyFillWithBlocks(world, box, rand, 0.25F, 5, 0, 2, sizeX - 1, 0, sizeZ - 1, Blocks.sand, Blocks.air, false); + this.placeBlockAtCurrentPosition(world, ModBlocks.crate_metal, 0, 9 - 1, 0, 1, box); + this.randomlyFillWithBlocks(world, box, rand, 0.25F, 1, 0, 2, 3, 0, 6 - 1, Blocks.sand, Blocks.air, false); + this.randomlyFillWithBlocks(world, box, rand, 0.25F, 5, 0, 2, 9 - 1, 0, 6 - 1, Blocks.sand, Blocks.air, false); return true; } @@ -139,8 +144,8 @@ public class CivilianFeatures { super(); } - public NTMHouse2(Random rand, int minX, int minY, int minZ) { - super(rand, minX, minY, minZ, 15, 5, 9); + public NTMHouse2(Random rand, int minX, int minZ) { + super(rand, minX, 64, minZ, 15, 5, 9); this.hasPlacedLoot[0] = false; this.hasPlacedLoot[1] = false; } @@ -168,10 +173,10 @@ public class CivilianFeatures { } //System.out.println("" + this.boundingBox.minX + ", " + this.boundingBox.minY + ", " + this.boundingBox.minZ); - placeFoundationUnderneath(world, Blocks.sandstone, 0, 0, 0, 6, sizeZ, -1, box); - placeFoundationUnderneath(world, Blocks.sandstone, 0, 9, 0, sizeX, sizeZ, -1, box); + placeFoundationUnderneath(world, Blocks.sandstone, 0, 0, 0, 6, 15, -1, box); + placeFoundationUnderneath(world, Blocks.sandstone, 0, 9, 0, 15, 9, -1, box); - this.fillWithAir(world, box, 1, 0, 1, 5, sizeY, sizeZ - 1); + this.fillWithAir(world, box, 1, 0, 1, 5, 5, 9 - 1); //House 1 this.fillWithRandomizedBlocks(world, box, 0, 0, 0, 6, 1, 0, false, rand, RandomSandstone); //Back Wall @@ -181,72 +186,72 @@ public class CivilianFeatures { this.placeBlockAtCurrentPosition(world, Blocks.fence, 0, 4, 2, 0, box); this.fillWithRandomizedBlocks(world, box, 5, 2, 0, 6, 2, 0, false, rand, RandomSandstone); this.fillWithRandomizedBlocks(world, box, 0, 3, 0, 6, 3, 0, false, rand, RandomSandstone); - this.fillWithRandomizedBlocks(world, box, 0, 0, 1, 0, 3, sizeZ, false, rand, RandomSandstone); //Left Wall - this.fillWithRandomizedBlocks(world, box, 1, 0, sizeZ, 6, 1, sizeZ, false, rand, RandomSandstone); //Front Wall - this.fillWithRandomizedBlocks(world, box, 1, 2, sizeZ, 1, 2, sizeZ, false, rand, RandomSandstone); - this.fillWithBlocks(world, box, 2, 2, sizeZ, 4, 2, sizeZ, Blocks.fence, Blocks.air, false); - this.fillWithRandomizedBlocks(world, box, 5, 2, sizeZ, 6, 2, sizeZ, false, rand, RandomSandstone); - this.fillWithRandomizedBlocks(world, box, 1, 3, sizeZ, 6, 3, sizeZ, false, rand, RandomSandstone); - this.fillWithRandomizedBlocks(world, box, 6, 0, sizeZ - 1, 6, 3, sizeZ - 1, false, rand, RandomSandstone); //Right Wall - this.fillWithRandomizedBlocks(world, box, 6, 0, sizeZ - 2, 6, 0, sizeZ - 2, false, rand, RandomSandstone); - this.fillWithRandomizedBlocks(world, box, 6, 3, sizeZ - 2, 6, 3, sizeZ - 2, false, rand, RandomSandstone); - this.fillWithRandomizedBlocks(world, box, 6, 0, 1, 6, 3, sizeZ - 3, false, rand, RandomSandstone); + this.fillWithRandomizedBlocks(world, box, 0, 0, 1, 0, 3, 9, false, rand, RandomSandstone); //Left Wall + this.fillWithRandomizedBlocks(world, box, 1, 0, 9, 6, 1, 9, false, rand, RandomSandstone); //Front Wall + this.fillWithRandomizedBlocks(world, box, 1, 2, 9, 1, 2, 9, false, rand, RandomSandstone); + this.fillWithBlocks(world, box, 2, 2, 9, 4, 2, 9, Blocks.fence, Blocks.air, false); + this.fillWithRandomizedBlocks(world, box, 5, 2, 9, 6, 2, 9, false, rand, RandomSandstone); + this.fillWithRandomizedBlocks(world, box, 1, 3, 9, 6, 3, 9, false, rand, RandomSandstone); + this.fillWithRandomizedBlocks(world, box, 6, 0, 9 - 1, 6, 3, 9 - 1, false, rand, RandomSandstone); //Right Wall + this.fillWithRandomizedBlocks(world, box, 6, 0, 9 - 2, 6, 0, 9 - 2, false, rand, RandomSandstone); + this.fillWithRandomizedBlocks(world, box, 6, 3, 9 - 2, 6, 3, 9 - 2, false, rand, RandomSandstone); + this.fillWithRandomizedBlocks(world, box, 6, 0, 1, 6, 3, 9 - 3, false, rand, RandomSandstone); - this.fillWithBlocks(world, box, 1, 0, 1, 5, 0, sizeZ - 1, Blocks.sandstone, Blocks.air, false); //Floor - //this.fillWithRandomizedBlocks(world, box, 1, sizeY - 1, 0, 5, sizeY - 1, sizeZ, false, rand, RandomSandstone); //Ceiling - this.fillWithBlocks(world, box, 1, sizeY - 1, 0, 5, sizeY - 1, sizeZ, Blocks.sandstone, Blocks.air, false); - this.fillWithMetadataBlocks(world, box, 0, sizeY - 1, 0, 0, sizeY - 1, sizeZ, Blocks.stone_slab, 1, Blocks.air, 0, false); //Roof - this.fillWithMetadataBlocks(world, box, 6, sizeY - 1, 0, 6, sizeY - 1, sizeZ, Blocks.stone_slab, 1, Blocks.air, 0, false); - this.fillWithMetadataBlocks(world, box, 2, sizeY, 0, 4, sizeY, 0, Blocks.stone_slab, 1, Blocks.air, 0, false); - this.fillWithMetadataBlocks(world, box, 3, sizeY, 1, 3, sizeY, 2, Blocks.stone_slab, 1, Blocks.air, 0, false); - this.fillWithMetadataBlocks(world, box, 3, sizeY, 4, 3, sizeY, 6, Blocks.stone_slab, 1, Blocks.air, 0, false); - this.placeBlockAtCurrentPosition(world, Blocks.stone_slab, 1, 3, sizeY, sizeZ - 1, box); - this.fillWithMetadataBlocks(world, box, 2, sizeY, sizeZ, 4, sizeY, sizeZ, Blocks.stone_slab, 1, Blocks.air, 0, false); + this.fillWithBlocks(world, box, 1, 0, 1, 5, 0, 9 - 1, Blocks.sandstone, Blocks.air, false); //Floor + //this.fillWithRandomizedBlocks(world, box, 1, 5 - 1, 0, 5, 5 - 1, 9, false, rand, RandomSandstone); //Ceiling + this.fillWithBlocks(world, box, 1, 5 - 1, 0, 5, 5 - 1, 9, Blocks.sandstone, Blocks.air, false); + this.fillWithMetadataBlocks(world, box, 0, 5 - 1, 0, 0, 5 - 1, 9, Blocks.stone_slab, 1, Blocks.air, 0, false); //Roof + this.fillWithMetadataBlocks(world, box, 6, 5 - 1, 0, 6, 5 - 1, 9, Blocks.stone_slab, 1, Blocks.air, 0, false); + this.fillWithMetadataBlocks(world, box, 2, 5, 0, 4, 5, 0, Blocks.stone_slab, 1, Blocks.air, 0, false); + this.fillWithMetadataBlocks(world, box, 3, 5, 1, 3, 5, 2, Blocks.stone_slab, 1, Blocks.air, 0, false); + this.fillWithMetadataBlocks(world, box, 3, 5, 4, 3, 5, 6, Blocks.stone_slab, 1, Blocks.air, 0, false); + this.placeBlockAtCurrentPosition(world, Blocks.stone_slab, 1, 3, 5, 9 - 1, box); + this.fillWithMetadataBlocks(world, box, 2, 5, 9, 4, 5, 9, Blocks.stone_slab, 1, Blocks.air, 0, false); //House 2 - this.fillWithRandomizedBlocks(world, box, sizeX - 6, 0, 0, sizeX, 0, 0, false, rand, RandomSandstone); //Back Wall - this.fillWithRandomizedBlocks(world, box, sizeX - 6, 1, 0, sizeX - 2, 1, 0, false, rand, RandomSandstone); - this.fillWithRandomizedBlocks(world, box, sizeX - 6, 2, 0, sizeX - 6, 2, 0, false, rand, RandomSandstone); - this.placeBlockAtCurrentPosition(world, Blocks.stone_slab, 1, sizeX - 6, 2, 0, box); - this.placeBlockAtCurrentPosition(world, Blocks.stone_slab, 1, sizeX - 3, 2, 0, box); - this.fillWithRandomizedBlocks(world, box, sizeX - 6, 0, 1, sizeX - 6, 3, 1, false, rand, RandomSandstone); //Left Wall - this.fillWithRandomizedBlocks(world, box, sizeX - 6, 0, 2, sizeX - 6, 0, 2, false, rand, RandomSandstone); - this.fillWithRandomizedBlocks(world, box, sizeX - 6, 3, 2, sizeX - 6, 3, sizeZ - 1, false, rand, RandomSandstone); - this.placeBlockAtCurrentPosition(world, Blocks.stone_slab, 1, sizeX - 6, sizeY - 1, 2, box); - this.fillWithMetadataBlocks(world, box, sizeX - 6, sizeY - 1, 4, sizeX - 6, sizeY - 1, sizeZ - 2, Blocks.stone_slab, 1, Blocks.air, 0, false); - this.fillWithRandomizedBlocks(world, box, sizeX - 6, 0, 3, sizeX - 6, 1, sizeZ, false, rand, RandomSandstone); - this.fillWithRandomizedBlocks(world, box, sizeX - 6, 0, 2, sizeX - 6, 0, 2, false, rand, RandomSandstone); - this.fillWithRandomizedBlocks(world, box, sizeX - 6, 2, 3, sizeX - 6, 2, 3, false, rand, RandomSandstone); - this.placeBlockAtCurrentPosition(world, Blocks.fence, 0, sizeX - 6, 2, 4, box); - this.fillWithRandomizedBlocks(world, box, sizeX - 6, 2, 5, sizeX - 6, 2, 5, false, rand, RandomSandstone); - this.fillWithBlocks(world, box, sizeX - 6, 2, sizeZ - 3, sizeX - 6, 2, sizeZ - 2, Blocks.fence, Blocks.air, false); - this.fillWithRandomizedBlocks(world, box, sizeX - 6, 2, sizeZ - 1, sizeX - 6, 2, sizeZ, false, rand, RandomSandstone); - this.fillWithRandomizedBlocks(world, box, sizeX - 5, 0, sizeZ, sizeX, 1, sizeZ, false, rand, RandomSandstone); //Front Wall - this.fillWithRandomizedBlocks(world, box, sizeX - 5, 2, sizeZ, sizeX - 5, 2, sizeZ, false, rand, RandomSandstone); - this.fillWithRandomizedBlocks(world, box, sizeX - 1, 2, sizeZ, sizeX, 2, sizeZ, false, rand, RandomSandstone); - this.fillWithRandomizedBlocks(world, box, sizeX, 0, 1, sizeX, 0, sizeZ - 1, false, rand, RandomSandstone); //Right Wall - this.fillWithRandomizedBlocks(world, box, sizeX, 1, 3, sizeX, 1, 3, false, rand, RandomSandstone); - this.fillWithMetadataBlocks(world, box, sizeX, 1, 4, sizeX, 1, 5, Blocks.stone_slab, 1, Blocks.air, 0, false); - this.fillWithRandomizedBlocks(world, box, sizeX, 1, sizeZ - 1, sizeX, 1, sizeZ - 3, false, rand, RandomSandstone); - this.placeBlockAtCurrentPosition(world, Blocks.stone_slab, 1, sizeX, 1, sizeZ - 1, box); + this.fillWithRandomizedBlocks(world, box, 15 - 6, 0, 0, 15, 0, 0, false, rand, RandomSandstone); //Back Wall + this.fillWithRandomizedBlocks(world, box, 15 - 6, 1, 0, 15 - 2, 1, 0, false, rand, RandomSandstone); + this.fillWithRandomizedBlocks(world, box, 15 - 6, 2, 0, 15 - 6, 2, 0, false, rand, RandomSandstone); + this.placeBlockAtCurrentPosition(world, Blocks.stone_slab, 1, 15 - 6, 2, 0, box); + this.placeBlockAtCurrentPosition(world, Blocks.stone_slab, 1, 15 - 3, 2, 0, box); + this.fillWithRandomizedBlocks(world, box, 15 - 6, 0, 1, 15 - 6, 3, 1, false, rand, RandomSandstone); //Left Wall + this.fillWithRandomizedBlocks(world, box, 15 - 6, 0, 2, 15 - 6, 0, 2, false, rand, RandomSandstone); + this.fillWithRandomizedBlocks(world, box, 15 - 6, 3, 2, 15 - 6, 3, 9 - 1, false, rand, RandomSandstone); + this.placeBlockAtCurrentPosition(world, Blocks.stone_slab, 1, 15 - 6, 5 - 1, 2, box); + this.fillWithMetadataBlocks(world, box, 15 - 6, 5 - 1, 4, 15 - 6, 5 - 1, 9 - 2, Blocks.stone_slab, 1, Blocks.air, 0, false); + this.fillWithRandomizedBlocks(world, box, 15 - 6, 0, 3, 15 - 6, 1, 9, false, rand, RandomSandstone); + this.fillWithRandomizedBlocks(world, box, 15 - 6, 0, 2, 15 - 6, 0, 2, false, rand, RandomSandstone); + this.fillWithRandomizedBlocks(world, box, 15 - 6, 2, 3, 15 - 6, 2, 3, false, rand, RandomSandstone); + this.placeBlockAtCurrentPosition(world, Blocks.fence, 0, 15 - 6, 2, 4, box); + this.fillWithRandomizedBlocks(world, box, 15 - 6, 2, 5, 15 - 6, 2, 5, false, rand, RandomSandstone); + this.fillWithBlocks(world, box, 15 - 6, 2, 9 - 3, 15 - 6, 2, 9 - 2, Blocks.fence, Blocks.air, false); + this.fillWithRandomizedBlocks(world, box, 15 - 6, 2, 9 - 1, 15 - 6, 2, 9, false, rand, RandomSandstone); + this.fillWithRandomizedBlocks(world, box, 15 - 5, 0, 9, 15, 1, 9, false, rand, RandomSandstone); //Front Wall + this.fillWithRandomizedBlocks(world, box, 15 - 5, 2, 9, 15 - 5, 2, 9, false, rand, RandomSandstone); + this.fillWithRandomizedBlocks(world, box, 15 - 1, 2, 9, 15, 2, 9, false, rand, RandomSandstone); + this.fillWithRandomizedBlocks(world, box, 15, 0, 1, 15, 0, 9 - 1, false, rand, RandomSandstone); //Right Wall + this.fillWithRandomizedBlocks(world, box, 15, 1, 3, 15, 1, 3, false, rand, RandomSandstone); + this.fillWithMetadataBlocks(world, box, 15, 1, 4, 15, 1, 5, Blocks.stone_slab, 1, Blocks.air, 0, false); + this.fillWithRandomizedBlocks(world, box, 15, 1, 9 - 1, 15, 1, 9 - 3, false, rand, RandomSandstone); + this.placeBlockAtCurrentPosition(world, Blocks.stone_slab, 1, 15, 1, 9 - 1, box); - this.fillWithBlocks(world, box, sizeX - 5, 0, 1, sizeX - 1, 0, sizeZ - 1, Blocks.sandstone, Blocks.air, false); //Floor + this.fillWithBlocks(world, box, 15 - 5, 0, 1, 15 - 1, 0, 9 - 1, Blocks.sandstone, Blocks.air, false); //Floor //Loot & Decorations //House 1 int eastMeta = this.getDecoMeta(4); this.placeBlockAtCurrentPosition(world, ModBlocks.machine_boiler_off, 4, 1, 1, 1, box); this.fillWithBlocks(world, box, 1, 2, 1, 1, 3, 1, ModBlocks.deco_pipe_quad_rusted, Blocks.air, false); - this.placeBlockAtCurrentPosition(world, ModBlocks.deco_pipe_rim_rusted, 0, 1, sizeY, 1, box); + this.placeBlockAtCurrentPosition(world, ModBlocks.deco_pipe_rim_rusted, 0, 1, 5, 1, box); this.placeBlockAtCurrentPosition(world, ModBlocks.crate, 0, 2, 1, 3, box); - this.placeBlockAtCurrentPosition(world, ModBlocks.crate_can, 0, 1, 1, sizeZ - 4, box); + this.placeBlockAtCurrentPosition(world, ModBlocks.crate_can, 0, 1, 1, 9 - 4, box); if(!hasPlacedLoot[0]) { - this.placeBlockAtCurrentPosition(world, Blocks.chest, this.getMetadataWithOffset(Blocks.chest, 3), 1, 1, sizeZ - 2, box); - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.machineParts, (TileEntityChest)world.getTileEntity(this.getXWithOffset(1, sizeZ - 2), - this.getYWithOffset(1), this.getZWithOffset(1, sizeZ - 2)), 10); + this.placeBlockAtCurrentPosition(world, Blocks.chest, this.getMetadataWithOffset(Blocks.chest, 3), 1, 1, 9 - 2, box); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsComponent.POOL_MACHINE_PARTS), (TileEntityChest)world.getTileEntity(this.getXWithOffset(1, 9 - 2), + this.getYWithOffset(1), this.getZWithOffset(1, 9 - 2)), 10); this.hasPlacedLoot[0] = true; } - this.fillWithBlocks(world, box, 4, 1, sizeZ - 1, 5, 1, sizeZ - 1, ModBlocks.crate, Blocks.air, false); + this.fillWithBlocks(world, box, 4, 1, 9 - 1, 5, 1, 9 - 1, ModBlocks.crate, Blocks.air, false); this.fillWithMetadataBlocks(world, box, 5, 1, 4, 5, 3, 4, ModBlocks.steel_scaffold, eastMeta < 4 ? 0 : 8, Blocks.air, 0, false); this.fillWithMetadataBlocks(world, box, 5, 1, 6, 5, 3, 6, ModBlocks.steel_scaffold, eastMeta < 4 ? 0 : 8, Blocks.air, 0, false); this.placeBlockAtCurrentPosition(world, ModBlocks.steel_grate, 7, 5, 1, 5, box); @@ -254,20 +259,20 @@ public class CivilianFeatures { //House 2 if(!hasPlacedLoot[1]) { - this.placeBlockAtCurrentPosition(world, Blocks.chest, this.getMetadataWithOffset(Blocks.chest, 3), sizeX - 5, 1, 1, box); - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.antenna, (TileEntityChest)world.getTileEntity(this.getXWithOffset(sizeX - 5, 1), - this.getYWithOffset(1), this.getZWithOffset(sizeX - 5, 1)), 10); + this.placeBlockAtCurrentPosition(world, Blocks.chest, this.getMetadataWithOffset(Blocks.chest, 3), 15 - 5, 1, 1, box); + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_ANTENNA), (TileEntityChest)world.getTileEntity(this.getXWithOffset(15 - 5, 1), + this.getYWithOffset(1), this.getZWithOffset(15 - 5, 1)), 10); this.hasPlacedLoot[1] = true; } - this.placeBlockAtCurrentPosition(world, ModBlocks.bobblehead, rand.nextInt(16), sizeX - 5, 1, 4, box); - TileEntityBobble bobble = (TileEntityBobble) world.getTileEntity(this.getXWithOffset(sizeX - 5, 4), this.getYWithOffset(1), this.getZWithOffset(sizeX - 5, 4)); + this.placeBlockAtCurrentPosition(world, ModBlocks.bobblehead, rand.nextInt(16), 15 - 5, 1, 4, box); + TileEntityBobble bobble = (TileEntityBobble) world.getTileEntity(this.getXWithOffset(15 - 5, 4), this.getYWithOffset(1), this.getZWithOffset(15 - 5, 4)); if(bobble != null) { bobble.type = BobbleType.values()[rand.nextInt(BobbleType.values().length - 1) + 1]; bobble.markDirty(); } - this.randomlyFillWithBlocks(world, box, rand, 0.25F, sizeX - 4, 1, 1, sizeX - 1, 1, sizeZ - 1, Blocks.sand, Blocks.air, false); + this.randomlyFillWithBlocks(world, box, rand, 0.25F, 15 - 4, 1, 1, 15 - 1, 1, 9 - 1, Blocks.sand, Blocks.air, false); return true; } @@ -285,8 +290,8 @@ public class CivilianFeatures { } /** Constructor for this feature; takes coordinates for bounding box */ - public NTMLab1(Random rand, int minX, int minY, int minZ) { - super(rand, minX, minY, minZ, 9, 4, 7); + public NTMLab1(Random rand, int minX, int minZ) { + super(rand, minX, 64, minZ, 9, 4, 7); this.hasPlacedLoot[0] = false; this.hasPlacedLoot[1] = false; } @@ -314,86 +319,86 @@ public class CivilianFeatures { } //System.out.println("" + this.boundingBox.minX + ", " + this.boundingBox.minY + ", " + this.boundingBox.minZ); - placeFoundationUnderneath(world, Blocks.stonebrick, 0, 0, 0, sizeX, sizeZ - 2, -1, box); - placeFoundationUnderneath(world, Blocks.stonebrick, 0, 3, 6, sizeX, sizeZ, -1, box); + placeFoundationUnderneath(world, Blocks.stonebrick, 0, 0, 0, 9, 7 - 2, -1, box); + placeFoundationUnderneath(world, Blocks.stonebrick, 0, 3, 6, 9, 7, -1, box); - if(this.getBlockAtCurrentPosition(world, 2, 0, sizeZ - 1, box).getMaterial().isReplaceable() - || this.getBlockAtCurrentPosition(world, 2, 0, sizeZ - 1, box) == Blocks.air) { - placeFoundationUnderneath(world, Blocks.stonebrick, 0, 2, sizeZ - 1, 2, sizeZ - 1, -1, box); - this.placeBlockAtCurrentPosition(world, Blocks.stone_brick_stairs, getStairMeta(0), 2, 0, sizeZ - 1, box); + if(this.getBlockAtCurrentPosition(world, 2, 0, 7 - 1, box).getMaterial().isReplaceable() + || this.getBlockAtCurrentPosition(world, 2, 0, 7 - 1, box) == Blocks.air) { + placeFoundationUnderneath(world, Blocks.stonebrick, 0, 2, 7 - 1, 2, 7 - 1, -1, box); + this.placeBlockAtCurrentPosition(world, Blocks.stone_brick_stairs, getStairMeta(0), 2, 0, 7 - 1, box); } - this.fillWithAir(world, box, 1, 0, 1, sizeX - 1, sizeY, 4); - this.fillWithAir(world, box, 4, 0, 4, sizeX - 1, sizeY, sizeZ - 1); - this.fillWithAir(world, box, 3, 1, sizeZ - 1, 3, 2, sizeZ - 1); + this.fillWithAir(world, box, 1, 0, 1, 9 - 1, 4, 4); + this.fillWithAir(world, box, 4, 0, 4, 9 - 1, 4, 7 - 1); + this.fillWithAir(world, box, 3, 1, 7 - 1, 3, 2, 7 - 1); int pillarMeta = this.getPillarMeta(8); //Pillars this.fillWithBlocks(world, box, 0, 0, 0, 0, 3, 0, ModBlocks.concrete_pillar, Blocks.air, false); - this.fillWithBlocks(world, box, sizeX, 0, 0, sizeX, 3, 0, ModBlocks.concrete_pillar, Blocks.air, false); + this.fillWithBlocks(world, box, 9, 0, 0, 9, 3, 0, ModBlocks.concrete_pillar, Blocks.air, false); this.fillWithMetadataBlocks(world, box, 0, 0, 1, 0, 0, 4, ModBlocks.concrete_pillar, pillarMeta, Blocks.air, 0, false); - this.fillWithMetadataBlocks(world, box, sizeX, 0, 1, sizeX, 0, sizeZ - 1, ModBlocks.concrete_pillar, pillarMeta, Blocks.air, 0, false); - this.fillWithBlocks(world, box, 0, 0, sizeZ - 2, 0, 3, sizeZ - 2, ModBlocks.concrete_pillar, Blocks.air, false); - this.fillWithBlocks(world, box, 3, 0, sizeZ - 2, 3, 3, sizeZ - 2, ModBlocks.concrete_pillar, Blocks.air, false); - this.fillWithBlocks(world, box, 3, 0, sizeZ, 3, 3, sizeZ, ModBlocks.concrete_pillar, Blocks.air, false); - this.fillWithBlocks(world, box, sizeX, 0, sizeZ, sizeX, 3, sizeZ, ModBlocks.concrete_pillar, Blocks.air, false); + this.fillWithMetadataBlocks(world, box, 9, 0, 1, 9, 0, 7 - 1, ModBlocks.concrete_pillar, pillarMeta, Blocks.air, 0, false); + this.fillWithBlocks(world, box, 0, 0, 7 - 2, 0, 3, 7 - 2, ModBlocks.concrete_pillar, Blocks.air, false); + this.fillWithBlocks(world, box, 3, 0, 7 - 2, 3, 3, 7 - 2, ModBlocks.concrete_pillar, Blocks.air, false); + this.fillWithBlocks(world, box, 3, 0, 7, 3, 3, 7, ModBlocks.concrete_pillar, Blocks.air, false); + this.fillWithBlocks(world, box, 9, 0, 7, 9, 3, 7, ModBlocks.concrete_pillar, Blocks.air, false); //Walls - this.fillWithRandomizedBlocks(world, box, 1, 0, 0, sizeX - 1, sizeY - 1, 0, false, rand, RandomConcreteBricks); //Back Wall - this.fillWithRandomizedBlocks(world, box, 0, sizeY, 0, sizeX, sizeY, 0, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, 0, 1, 1, 0, sizeY - 1, 4, false, rand, RandomConcreteBricks); //Left Wall - this.fillWithRandomizedBlocks(world, box, 0, sizeY, 0, 0, sizeY, sizeZ - 2, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, 1, 0, sizeZ - 2, 2, sizeY, sizeZ - 2, false, rand, RandomConcreteBricks); //Front Wall Pt. 1 - this.placeBlockAtCurrentPosition(world, ModBlocks.brick_concrete_broken, 0, 3, sizeY, sizeZ - 2, box); - this.fillWithRandomizedBlocks(world, box, 3, sizeY - 1, sizeZ - 1, 3, sizeY, sizeZ - 1, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, 4, 0, sizeZ, sizeX - 1, 1, sizeZ, false, rand, RandomConcreteBricks); //Front Wall Pt. 2 - this.fillWithRandomizedBlocks(world, box, 4, 2, sizeZ, 4, 3, sizeZ, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, sizeX - 1, 2, sizeZ, sizeX - 1, 3, sizeZ, false, rand, RandomConcreteBricks); - this.randomlyFillWithBlocks(world, box, rand, 0.75F, 5, 2, sizeZ, sizeX - 2, 3, sizeZ, Blocks.glass_pane, Blocks.air, false); - this.fillWithRandomizedBlocks(world, box, 3, sizeY, sizeZ, sizeX, sizeY, sizeZ, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, sizeX, 1, 1, sizeX, sizeY, sizeZ - 1, false, rand, RandomConcreteBricks); //Right Wall + this.fillWithRandomizedBlocks(world, box, 1, 0, 0, 9 - 1, 4 - 1, 0, false, rand, RandomConcreteBricks); //Back Wall + this.fillWithRandomizedBlocks(world, box, 0, 4, 0, 9, 4, 0, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 0, 1, 1, 0, 4 - 1, 4, false, rand, RandomConcreteBricks); //Left Wall + this.fillWithRandomizedBlocks(world, box, 0, 4, 0, 0, 4, 7 - 2, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 1, 0, 7 - 2, 2, 4, 7 - 2, false, rand, RandomConcreteBricks); //Front Wall Pt. 1 + this.placeBlockAtCurrentPosition(world, ModBlocks.brick_concrete_broken, 0, 3, 4, 7 - 2, box); + this.fillWithRandomizedBlocks(world, box, 3, 4 - 1, 7 - 1, 3, 4, 7 - 1, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 4, 0, 7, 9 - 1, 1, 7, false, rand, RandomConcreteBricks); //Front Wall Pt. 2 + this.fillWithRandomizedBlocks(world, box, 4, 2, 7, 4, 3, 7, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 9 - 1, 2, 7, 9 - 1, 3, 7, false, rand, RandomConcreteBricks); + this.randomlyFillWithBlocks(world, box, rand, 0.75F, 5, 2, 7, 9 - 2, 3, 7, Blocks.glass_pane, Blocks.air, false); + this.fillWithRandomizedBlocks(world, box, 3, 4, 7, 9, 4, 7, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 9, 1, 1, 9, 4, 7 - 1, false, rand, RandomConcreteBricks); //Right Wall //Floor & Ceiling - this.fillWithRandomizedBlocks(world, box, 1, 0, 1, sizeX - 1, 0, 4, false, rand, RandomLabTiles); //Floor - this.fillWithRandomizedBlocks(world, box, 4, 0, sizeZ - 2, sizeX - 1, 0, sizeZ - 1, false, rand, RandomLabTiles); - this.placeBlockAtCurrentPosition(world, ModBlocks.tile_lab_cracked, 0, 3, 0, sizeZ - 1, box); + this.fillWithRandomizedBlocks(world, box, 1, 0, 1, 9 - 1, 0, 4, false, rand, RandomLabTiles); //Floor + this.fillWithRandomizedBlocks(world, box, 4, 0, 7 - 2, 9 - 1, 0, 7 - 1, false, rand, RandomLabTiles); + this.placeBlockAtCurrentPosition(world, ModBlocks.tile_lab_cracked, 0, 3, 0, 7 - 1, box); - this.fillWithBlocks(world, box, 1, sizeY - 1, 1, 1, sizeY, 4, ModBlocks.reinforced_glass, Blocks.air, false); //Ceiling - this.fillWithBlocks(world, box, 2, sizeY, 1, sizeX - 1, sizeY, 4, ModBlocks.brick_light, Blocks.air, false); - this.fillWithBlocks(world, box, 4, sizeY, sizeZ - 2, sizeX - 1, sizeY, sizeZ - 1, ModBlocks.brick_light, Blocks.air, false); + this.fillWithBlocks(world, box, 1, 4 - 1, 1, 1, 4, 4, ModBlocks.reinforced_glass, Blocks.air, false); //Ceiling + this.fillWithBlocks(world, box, 2, 4, 1, 9 - 1, 4, 4, ModBlocks.brick_light, Blocks.air, false); + this.fillWithBlocks(world, box, 4, 4, 7 - 2, 9 - 1, 4, 7 - 1, ModBlocks.brick_light, Blocks.air, false); //Decorations & Loot this.fillWithMetadataBlocks(world, box, 1, 1, 1, 1, 1, 4, Blocks.dirt, 2, Blocks.air, 0, false); int westDecoMeta = this.getDecoMeta(5); this.fillWithMetadataBlocks(world, box, 2, 1, 1, 2, 1, 4, ModBlocks.steel_wall, westDecoMeta, Blocks.air, 0, false); - this.fillWithMetadataBlocks(world, box, 2, sizeY - 1, 1, 2, sizeY - 1, 4, ModBlocks.steel_wall, westDecoMeta, Blocks.air, 0, false); + this.fillWithMetadataBlocks(world, box, 2, 4 - 1, 1, 2, 4 - 1, 4, ModBlocks.steel_wall, westDecoMeta, Blocks.air, 0, false); for(byte i = 0; i < 4; i++) { this.placeBlockAtCurrentPosition(world, ModBlocks.plant_flower, i, 1, 2, 1 + i, box); } int doorMeta = this.getMetadataWithOffset(Blocks.wooden_door, 2); - this.placeBlockAtCurrentPosition(world, ModBlocks.door_office, doorMeta, 3, 1, sizeZ - 1, box); - ItemDoor.placeDoorBlock(world, this.getXWithOffset(3, sizeZ - 1), this.getYWithOffset(1), this.getZWithOffset(3, sizeZ - 1), doorMeta, ModBlocks.door_office); + this.placeBlockAtCurrentPosition(world, ModBlocks.door_office, doorMeta, 3, 1, 7 - 1, box); + ItemDoor.placeDoorBlock(world, this.getXWithOffset(3, 7 - 1), this.getYWithOffset(1), this.getZWithOffset(3, 7 - 1), doorMeta, ModBlocks.door_office); int northDecoMeta = this.getDecoMeta(3); - this.fillWithMetadataBlocks(world, box, 5, sizeY - 1, 1, sizeX - 1, sizeY - 1, 1, ModBlocks.steel_scaffold, westDecoMeta < 4 ? 0 : 8, Blocks.air, 0, false); - this.fillWithMetadataBlocks(world, box, 5, sizeY - 1, 2, sizeX - 1, sizeY - 1, 2, ModBlocks.steel_wall, northDecoMeta, Blocks.air, 0, false); + this.fillWithMetadataBlocks(world, box, 5, 4 - 1, 1, 9 - 1, 4 - 1, 1, ModBlocks.steel_scaffold, westDecoMeta < 4 ? 0 : 8, Blocks.air, 0, false); + this.fillWithMetadataBlocks(world, box, 5, 4 - 1, 2, 9 - 1, 4 - 1, 2, ModBlocks.steel_wall, northDecoMeta, Blocks.air, 0, false); this.placeBlockAtCurrentPosition(world, ModBlocks.machine_electric_furnace_off, northDecoMeta, 5, 1, 1, box); this.placeBlockAtCurrentPosition(world, ModBlocks.machine_microwave, northDecoMeta, 5, 2, 1, box); this.placeBlockAtCurrentPosition(world, ModBlocks.deco_titanium, 0, 6, 1, 1, box); - this.placeBlockAtCurrentPosition(world, ModBlocks.machine_shredder, 0, sizeX - 2, 1, 1, box); - this.placeBlockAtCurrentPosition(world, ModBlocks.deco_titanium, 0, sizeX - 1, 1, 1, box); - this.fillWithBlocks(world, box, 5, 1, 3, sizeX - 1, 1, 3, ModBlocks.deco_titanium, Blocks.air, false); + this.placeBlockAtCurrentPosition(world, ModBlocks.machine_shredder, 0, 9 - 2, 1, 1, box); + this.placeBlockAtCurrentPosition(world, ModBlocks.deco_titanium, 0, 9 - 1, 1, 1, box); + this.fillWithBlocks(world, box, 5, 1, 3, 9 - 1, 1, 3, ModBlocks.deco_titanium, Blocks.air, false); if(!hasPlacedLoot[0]) { this.placeBlockAtCurrentPosition(world, ModBlocks.deco_loot, 0, 6, 2, 3, box); LootGenerator.lootMedicine(world, this.getXWithOffset(6, 3), this.getYWithOffset(2), this.getZWithOffset(6, 3)); this.hasPlacedLoot[0] = true; } - this.placeBlockAtCurrentPosition(world, ModBlocks.crate_can, 0, sizeX - 1, 1, sizeZ - 2, box); + this.placeBlockAtCurrentPosition(world, ModBlocks.crate_can, 0, 9 - 1, 1, 7 - 2, box); if(!hasPlacedLoot[1]) { - this.hasPlacedLoot[1] = this.generateInvContents(world, box, rand, ModBlocks.crate_iron, sizeX - 1, 1, sizeZ - 1, HbmChestContents.modGeneric, 8); + this.hasPlacedLoot[1] = this.generateInvContents(world, box, rand, ModBlocks.crate_iron, 9 - 1, 1, 7 - 1, ItemPool.getPool(ItemPoolsLegacy.POOL_GENERIC), 8); } return true; @@ -412,8 +417,8 @@ public class CivilianFeatures { super(); } - public NTMLab2(Random rand, int minX, int minY, int minZ) { - super(rand, minX, minY, minZ, 12, 11, 8); + public NTMLab2(Random rand, int minX, int minZ) { + super(rand, minX, 64, minZ, 12, 11, 8); this.hasPlacedLoot[0] = false; this.hasPlacedLoot[1] = false; } @@ -442,134 +447,134 @@ public class CivilianFeatures { this.boundingBox.offset(0, -7, 0); //System.out.println("" + this.boundingBox.minX + ", " + this.boundingBox.minY + ", " + this.boundingBox.minZ); - placeFoundationUnderneath(world, Blocks.stonebrick, 0, 0, 0, sizeX, sizeZ - 2, 6, box); - placeFoundationUnderneath(world, Blocks.stonebrick, 0, 0, 7, 6, sizeZ, 6, box); + placeFoundationUnderneath(world, Blocks.stonebrick, 0, 0, 0, 12, 8 - 2, 6, box); + placeFoundationUnderneath(world, Blocks.stonebrick, 0, 0, 7, 6, 8, 6, box); - if(this.getBlockAtCurrentPosition(world, sizeX - 3, sizeY - 4, 7, box).getMaterial().isReplaceable() - || this.getBlockAtCurrentPosition(world, sizeX - 3, sizeY - 4, 7, box) == Blocks.air) { + if(this.getBlockAtCurrentPosition(world, 12 - 3, 11 - 4, 7, box).getMaterial().isReplaceable() + || this.getBlockAtCurrentPosition(world, 12 - 3, 11 - 4, 7, box) == Blocks.air) { int stairMeta = this.getMetadataWithOffset(Blocks.stone_brick_stairs, 2); - placeFoundationUnderneath(world, Blocks.stonebrick, 0, sizeX - 3, 7, sizeX - 2, 7, sizeY - 4, box); - this.fillWithMetadataBlocks(world, box, sizeX - 3, sizeY - 4, 7, sizeX - 2, sizeY - 4, 7, Blocks.stone_brick_stairs, stairMeta, Blocks.air, 0, false); + placeFoundationUnderneath(world, Blocks.stonebrick, 0, 12 - 3, 7, 12 - 2, 7, 11 - 4, box); + this.fillWithMetadataBlocks(world, box, 12 - 3, 11 - 4, 7, 12 - 2, 11 - 4, 7, Blocks.stone_brick_stairs, stairMeta, Blocks.air, 0, false); } - this.fillWithAir(world, box, 1, sizeY - 4, 1, sizeX - 1, sizeY, sizeZ - 3); - this.fillWithAir(world, box, 1, sizeY - 4, sizeZ - 2, 5, sizeY, sizeZ - 1); - this.fillWithAir(world, box, sizeX - 3, sizeY - 3, sizeZ - 2, sizeX - 2, sizeY - 2, sizeZ - 2); + this.fillWithAir(world, box, 1, 11 - 4, 1, 12 - 1, 11, 8 - 3); + this.fillWithAir(world, box, 1, 11 - 4, 8 - 2, 5, 11, 8 - 1); + this.fillWithAir(world, box, 12 - 3, 11 - 3, 8 - 2, 12 - 2, 11 - 2, 8 - 2); this.fillWithAir(world, box, 5, 5, 1, 6, 6, 2); - this.fillWithAir(world, box, 2, 0, 2, sizeX - 2, 3, sizeZ - 2); + this.fillWithAir(world, box, 2, 0, 2, 12 - 2, 3, 8 - 2); //Walls - this.fillWithRandomizedBlocks(world, box, 0, sizeY - 4, 0, sizeX, sizeY, 0, false, rand, RandomSuperConcrete); //Back Wall - this.fillWithRandomizedBlocks(world, box, 0, sizeY - 4, 0, 0, sizeY, sizeZ, false, rand, RandomSuperConcrete); //Left Wall - this.fillWithRandomizedBlocks(world, box, 1, sizeY - 4, sizeZ, 5, sizeY - 4, sizeZ, false, rand, RandomSuperConcrete); //Front Wall pt. 1 - this.fillWithBlocks(world, box, 1, sizeY - 3, sizeZ, 1, sizeY - 1, sizeZ, ModBlocks.reinforced_glass, Blocks.air, false); - this.fillWithRandomizedBlocks(world, box, 2, sizeY - 4, sizeZ, 2, sizeY - 1, sizeZ, false, rand, RandomSuperConcrete); - this.fillWithBlocks(world, box, 3, sizeY - 3, sizeZ, 3, sizeY - 1, sizeZ, ModBlocks.reinforced_glass, Blocks.air, false); - this.fillWithRandomizedBlocks(world, box, 4, sizeY - 4, sizeZ, 4, sizeY - 1, sizeZ, false, rand, RandomSuperConcrete); - this.fillWithBlocks(world, box, 5, sizeY - 3, sizeZ, 5, sizeY - 1, sizeZ, ModBlocks.reinforced_glass, Blocks.air, false); - this.fillWithRandomizedBlocks(world, box, 1, sizeY, sizeZ, 5, sizeY, sizeZ, false, rand, RandomSuperConcrete); - this.fillWithRandomizedBlocks(world, box, 6, sizeY - 4, sizeZ - 1, 6, sizeY, sizeZ, false, rand, RandomSuperConcrete); //Front Wall pt. 2 - this.fillWithRandomizedBlocks(world, box, 6, sizeY - 4, sizeZ - 2, 7, sizeY - 2, sizeZ - 2, false, rand, RandomSuperConcrete); //Front Wall pt. 3 - this.fillWithBlocks(world, box, 6, sizeY - 1, sizeZ - 2, 7, sizeY - 1, sizeZ - 2, ModBlocks.concrete_super_broken, Blocks.air, false); - this.fillWithRandomizedBlocks(world, box, sizeX - 4, sizeY - 4, sizeZ - 2, sizeX, sizeY - 4, sizeZ - 2, false, rand, RandomSuperConcrete); - this.fillWithRandomizedBlocks(world, box, sizeX - 4, sizeY - 3, sizeZ - 2, sizeX - 4, sizeY, sizeZ - 2, false, rand, RandomSuperConcrete); - this.fillWithRandomizedBlocks(world, box, sizeX - 3, sizeY - 1, sizeZ - 2, sizeX - 2, sizeY, sizeZ - 2, false, rand, RandomSuperConcrete); - this.fillWithRandomizedBlocks(world, box, sizeX - 1, sizeY - 4, sizeZ - 2, sizeX, sizeY, sizeZ - 2, false, rand, RandomSuperConcrete); - this.fillWithRandomizedBlocks(world, box, sizeX, sizeY - 4, 1, sizeX, sizeY - 4, sizeZ - 3, false, rand, RandomSuperConcrete); //Right Wall - this.fillWithBlocks(world, box, sizeX, sizeY - 3, sizeZ - 3, sizeX, sizeY - 1, sizeZ - 3, ModBlocks.reinforced_glass, Blocks.air, false); - this.fillWithRandomizedBlocks(world, box, sizeX, sizeY - 3, 4, sizeX, sizeY - 1, 4, false, rand, RandomSuperConcrete); - this.fillWithBlocks(world, box, sizeX, sizeY - 3, 3, sizeX, sizeY - 1, 3, ModBlocks.reinforced_glass, Blocks.air, false); - this.fillWithRandomizedBlocks(world, box, sizeX, sizeY - 3, 2, sizeX, sizeY - 1, 2, false, rand, RandomSuperConcrete); - this.fillWithBlocks(world, box, sizeX, sizeY - 3, 1, sizeX, sizeY - 1, 1, ModBlocks.reinforced_glass, Blocks.air, false); - this.fillWithRandomizedBlocks(world, box, sizeX, sizeY, 1, sizeX, sizeY, sizeZ - 3, false, rand, RandomSuperConcrete); + this.fillWithRandomizedBlocks(world, box, 0, 11 - 4, 0, 12, 11, 0, false, rand, RandomSuperConcrete); //Back Wall + this.fillWithRandomizedBlocks(world, box, 0, 11 - 4, 0, 0, 11, 8, false, rand, RandomSuperConcrete); //Left Wall + this.fillWithRandomizedBlocks(world, box, 1, 11 - 4, 8, 5, 11 - 4, 8, false, rand, RandomSuperConcrete); //Front Wall pt. 1 + this.fillWithBlocks(world, box, 1, 11 - 3, 8, 1, 11 - 1, 8, ModBlocks.reinforced_glass, Blocks.air, false); + this.fillWithRandomizedBlocks(world, box, 2, 11 - 4, 8, 2, 11 - 1, 8, false, rand, RandomSuperConcrete); + this.fillWithBlocks(world, box, 3, 11 - 3, 8, 3, 11 - 1, 8, ModBlocks.reinforced_glass, Blocks.air, false); + this.fillWithRandomizedBlocks(world, box, 4, 11 - 4, 8, 4, 11 - 1, 8, false, rand, RandomSuperConcrete); + this.fillWithBlocks(world, box, 5, 11 - 3, 8, 5, 11 - 1, 8, ModBlocks.reinforced_glass, Blocks.air, false); + this.fillWithRandomizedBlocks(world, box, 1, 11, 8, 5, 11, 8, false, rand, RandomSuperConcrete); + this.fillWithRandomizedBlocks(world, box, 6, 11 - 4, 8 - 1, 6, 11, 8, false, rand, RandomSuperConcrete); //Front Wall pt. 2 + this.fillWithRandomizedBlocks(world, box, 6, 11 - 4, 8 - 2, 7, 11 - 2, 8 - 2, false, rand, RandomSuperConcrete); //Front Wall pt. 3 + this.fillWithBlocks(world, box, 6, 11 - 1, 8 - 2, 7, 11 - 1, 8 - 2, ModBlocks.concrete_super_broken, Blocks.air, false); + this.fillWithRandomizedBlocks(world, box, 12 - 4, 11 - 4, 8 - 2, 12, 11 - 4, 8 - 2, false, rand, RandomSuperConcrete); + this.fillWithRandomizedBlocks(world, box, 12 - 4, 11 - 3, 8 - 2, 12 - 4, 11, 8 - 2, false, rand, RandomSuperConcrete); + this.fillWithRandomizedBlocks(world, box, 12 - 3, 11 - 1, 8 - 2, 12 - 2, 11, 8 - 2, false, rand, RandomSuperConcrete); + this.fillWithRandomizedBlocks(world, box, 12 - 1, 11 - 4, 8 - 2, 12, 11, 8 - 2, false, rand, RandomSuperConcrete); + this.fillWithRandomizedBlocks(world, box, 12, 11 - 4, 1, 12, 11 - 4, 8 - 3, false, rand, RandomSuperConcrete); //Right Wall + this.fillWithBlocks(world, box, 12, 11 - 3, 8 - 3, 12, 11 - 1, 8 - 3, ModBlocks.reinforced_glass, Blocks.air, false); + this.fillWithRandomizedBlocks(world, box, 12, 11 - 3, 4, 12, 11 - 1, 4, false, rand, RandomSuperConcrete); + this.fillWithBlocks(world, box, 12, 11 - 3, 3, 12, 11 - 1, 3, ModBlocks.reinforced_glass, Blocks.air, false); + this.fillWithRandomizedBlocks(world, box, 12, 11 - 3, 2, 12, 11 - 1, 2, false, rand, RandomSuperConcrete); + this.fillWithBlocks(world, box, 12, 11 - 3, 1, 12, 11 - 1, 1, ModBlocks.reinforced_glass, Blocks.air, false); + this.fillWithRandomizedBlocks(world, box, 12, 11, 1, 12, 11, 8 - 3, false, rand, RandomSuperConcrete); - this.fillWithBlocks(world, box, 1, 0, 1, sizeX - 1, 3, 1, ModBlocks.reinforced_stone, Blocks.air, false); //Back Wall - this.fillWithBlocks(world, box, 1, 0, 2, 1, 3, sizeZ - 2, ModBlocks.reinforced_stone, Blocks.air, false); //Left Wall - this.fillWithBlocks(world, box, 1, 0, sizeZ - 1, sizeX - 1, 3, sizeZ - 1, ModBlocks.reinforced_stone, Blocks.air, false); //Front Wall - this.fillWithBlocks(world, box, sizeX - 1, 0, 2, sizeX - 1, 3, sizeZ - 2, ModBlocks.reinforced_stone, Blocks.air, false); // Right Wall - this.fillWithBlocks(world, box, 6, 0, 3, 6, 3, sizeZ - 2, ModBlocks.reinforced_stone, Blocks.air, false); //Internal Wall + this.fillWithBlocks(world, box, 1, 0, 1, 12 - 1, 3, 1, ModBlocks.reinforced_stone, Blocks.air, false); //Back Wall + this.fillWithBlocks(world, box, 1, 0, 2, 1, 3, 8 - 2, ModBlocks.reinforced_stone, Blocks.air, false); //Left Wall + this.fillWithBlocks(world, box, 1, 0, 8 - 1, 12 - 1, 3, 8 - 1, ModBlocks.reinforced_stone, Blocks.air, false); //Front Wall + this.fillWithBlocks(world, box, 12 - 1, 0, 2, 12 - 1, 3, 8 - 2, ModBlocks.reinforced_stone, Blocks.air, false); // Right Wall + this.fillWithBlocks(world, box, 6, 0, 3, 6, 3, 8 - 2, ModBlocks.reinforced_stone, Blocks.air, false); //Internal Wall //Floors & Ceiling - this.fillWithRandomizedBlocks(world, box, 1, sizeY - 4, 1, 3, sizeY - 4, sizeZ - 1, false, rand, RandomLabTiles); //Left Floor - this.fillWithRandomizedBlocks(world, box, 4, sizeY - 4, sizeZ - 2, 5, sizeY - 4, sizeZ - 1, false, rand, RandomLabTiles); - this.fillWithRandomizedBlocks(world, box, sizeX - 4, sizeY - 4, 1, sizeX - 1, sizeY - 4, sizeZ - 3, false, rand, RandomLabTiles); //Right Floor - this.fillWithRandomizedBlocks(world, box, sizeX - 3, sizeY - 4, sizeZ - 2, sizeX - 2, sizeY - 4, sizeZ - 2, false, rand, RandomLabTiles); - this.fillWithBlocks(world, box, 4, sizeY - 4, 1, 7, sizeY - 4, 1, ModBlocks.tile_lab_broken, Blocks.air, false); //Center Floor (Pain) - this.placeBlockAtCurrentPosition(world, ModBlocks.tile_lab_broken, 0, 4, sizeY - 4, 2, box); - this.fillWithBlocks(world, box, 4, sizeY - 4, 3, 4, sizeY - 4, 5, ModBlocks.tile_lab_cracked, Blocks.air, false); - this.placeBlockAtCurrentPosition(world, ModBlocks.tile_lab_broken, 0, 5, sizeY - 4, 3, box); - this.fillWithBlocks(world, box, 5, sizeY - 4, 4, 5, sizeY - 4, 5, ModBlocks.tile_lab_cracked, Blocks.air, false); - this.placeBlockAtCurrentPosition(world, ModBlocks.tile_lab_broken, 0, 6, sizeY - 4, 4, box); - this.placeBlockAtCurrentPosition(world, ModBlocks.tile_lab_cracked, 0, 6, sizeY - 4, 5, box); - this.fillWithBlocks(world, box, 7, sizeY - 4, 2, 7, sizeY - 4, 3, ModBlocks.tile_lab_broken, Blocks.air, false); - this.fillWithBlocks(world, box, 7, sizeY - 4, 4, 7, sizeY - 4, 5, ModBlocks.tile_lab_cracked, Blocks.air, false); + this.fillWithRandomizedBlocks(world, box, 1, 11 - 4, 1, 3, 11 - 4, 8 - 1, false, rand, RandomLabTiles); //Left Floor + this.fillWithRandomizedBlocks(world, box, 4, 11 - 4, 8 - 2, 5, 11 - 4, 8 - 1, false, rand, RandomLabTiles); + this.fillWithRandomizedBlocks(world, box, 12 - 4, 11 - 4, 1, 12 - 1, 11 - 4, 8 - 3, false, rand, RandomLabTiles); //Right Floor + this.fillWithRandomizedBlocks(world, box, 12 - 3, 11 - 4, 8 - 2, 12 - 2, 11 - 4, 8 - 2, false, rand, RandomLabTiles); + this.fillWithBlocks(world, box, 4, 11 - 4, 1, 7, 11 - 4, 1, ModBlocks.tile_lab_broken, Blocks.air, false); //Center Floor (Pain) + this.placeBlockAtCurrentPosition(world, ModBlocks.tile_lab_broken, 0, 4, 11 - 4, 2, box); + this.fillWithBlocks(world, box, 4, 11 - 4, 3, 4, 11 - 4, 5, ModBlocks.tile_lab_cracked, Blocks.air, false); + this.placeBlockAtCurrentPosition(world, ModBlocks.tile_lab_broken, 0, 5, 11 - 4, 3, box); + this.fillWithBlocks(world, box, 5, 11 - 4, 4, 5, 11 - 4, 5, ModBlocks.tile_lab_cracked, Blocks.air, false); + this.placeBlockAtCurrentPosition(world, ModBlocks.tile_lab_broken, 0, 6, 11 - 4, 4, box); + this.placeBlockAtCurrentPosition(world, ModBlocks.tile_lab_cracked, 0, 6, 11 - 4, 5, box); + this.fillWithBlocks(world, box, 7, 11 - 4, 2, 7, 11 - 4, 3, ModBlocks.tile_lab_broken, Blocks.air, false); + this.fillWithBlocks(world, box, 7, 11 - 4, 4, 7, 11 - 4, 5, ModBlocks.tile_lab_cracked, Blocks.air, false); - this.fillWithBlocks(world, box, 1, sizeY, 1, 2, sizeY, sizeZ - 1, ModBlocks.brick_light, Blocks.air, false); //Left Ceiling - this.fillWithBlocks(world, box, 3, sizeY, sizeZ - 2, 4, sizeY, sizeZ - 1, ModBlocks.brick_light, Blocks.air, false); - this.fillWithBlocks(world, box, sizeX - 3, sizeY, 1, sizeX - 1, sizeY, sizeZ - 3, ModBlocks.brick_light, Blocks.air, false); //Right Ceiling - this.fillWithBlocks(world, box, 3, sizeY, 1, 8, sizeY, 1, ModBlocks.waste_planks, Blocks.air, false); //Center Ceiling (Pain) - this.fillWithBlocks(world, box, 3, sizeY, 2, 4, sizeY, 2, ModBlocks.waste_planks, Blocks.air, false); - this.fillWithBlocks(world, box, 7, sizeY, 2, 8, sizeY, 2, ModBlocks.waste_planks, Blocks.air, false); - this.fillWithBlocks(world, box, 3, sizeY, 3, 3, sizeY, 5, ModBlocks.waste_planks, Blocks.air, false); - this.fillWithBlocks(world, box, 4, sizeY, 4, 4, sizeY, 5, ModBlocks.waste_planks, Blocks.air, false); - this.fillWithBlocks(world, box, 5, sizeY, 6, 5, sizeY, sizeZ - 1, ModBlocks.waste_planks, Blocks.air, false); - this.fillWithBlocks(world, box, 8, sizeY, 3, 8, sizeY, 5, ModBlocks.waste_planks, Blocks.air, false); + this.fillWithBlocks(world, box, 1, 11, 1, 2, 11, 8 - 1, ModBlocks.brick_light, Blocks.air, false); //Left Ceiling + this.fillWithBlocks(world, box, 3, 11, 8 - 2, 4, 11, 8 - 1, ModBlocks.brick_light, Blocks.air, false); + this.fillWithBlocks(world, box, 12 - 3, 11, 1, 12 - 1, 11, 8 - 3, ModBlocks.brick_light, Blocks.air, false); //Right Ceiling + this.fillWithBlocks(world, box, 3, 11, 1, 8, 11, 1, ModBlocks.waste_planks, Blocks.air, false); //Center Ceiling (Pain) + this.fillWithBlocks(world, box, 3, 11, 2, 4, 11, 2, ModBlocks.waste_planks, Blocks.air, false); + this.fillWithBlocks(world, box, 7, 11, 2, 8, 11, 2, ModBlocks.waste_planks, Blocks.air, false); + this.fillWithBlocks(world, box, 3, 11, 3, 3, 11, 5, ModBlocks.waste_planks, Blocks.air, false); + this.fillWithBlocks(world, box, 4, 11, 4, 4, 11, 5, ModBlocks.waste_planks, Blocks.air, false); + this.fillWithBlocks(world, box, 5, 11, 6, 5, 11, 8 - 1, ModBlocks.waste_planks, Blocks.air, false); + this.fillWithBlocks(world, box, 8, 11, 3, 8, 11, 5, ModBlocks.waste_planks, Blocks.air, false); - this.fillWithRandomizedBlocks(world, box, 2, 0, 2, 5, 0, sizeZ - 2, false, rand, RandomLabTiles); //Floor + this.fillWithRandomizedBlocks(world, box, 2, 0, 2, 5, 0, 8 - 2, false, rand, RandomLabTiles); //Floor this.fillWithRandomizedBlocks(world, box, 6, 0, 2, 6, 0, 3, false, rand, RandomLabTiles); - this.fillWithRandomizedBlocks(world, box, 7, 0, 2, sizeX - 2, 0, sizeZ - 2, false, rand, RandomLabTiles); + this.fillWithRandomizedBlocks(world, box, 7, 0, 2, 12 - 2, 0, 8 - 2, false, rand, RandomLabTiles); - this.fillWithRandomizedBlocks(world, box, 1, 4, 1, sizeX - 1, 4, sizeZ - 1, false, rand, RandomConcreteBricks); //Ceiling + this.fillWithRandomizedBlocks(world, box, 1, 4, 1, 12 - 1, 4, 8 - 1, false, rand, RandomConcreteBricks); //Ceiling //Decorations & Loot int eastMeta = this.getDecoMeta(4); int westMeta = this.getDecoMeta(5); int northMeta = this.getDecoMeta(3); int southMeta = this.getDecoMeta(2); - this.placeBlockAtCurrentPosition(world, ModBlocks.crashed_balefire, southMeta, 6, sizeY - 2, 3, box); + this.placeBlockAtCurrentPosition(world, ModBlocks.crashed_balefire, southMeta, 6, 11 - 2, 3, box); int doorMeta = this.getMetadataWithOffset(Blocks.wooden_door, 1); - this.placeBlockAtCurrentPosition(world, ModBlocks.door_office, doorMeta, sizeX - 3, sizeY - 3, sizeZ - 2, box); - ItemDoor.placeDoorBlock(world, this.getXWithOffset(sizeX - 3, sizeZ - 2), this.getYWithOffset(sizeY - 3), this.getZWithOffset(sizeX - 3, sizeZ - 2), + this.placeBlockAtCurrentPosition(world, ModBlocks.door_office, doorMeta, 12 - 3, 11 - 3, 8 - 2, box); + ItemDoor.placeDoorBlock(world, this.getXWithOffset(12 - 3, 8 - 2), this.getYWithOffset(11 - 3), this.getZWithOffset(12 - 3, 8 - 2), doorMeta, ModBlocks.door_office); - this.placeBlockAtCurrentPosition(world, ModBlocks.door_office, doorMeta, sizeX - 2, sizeY - 3, sizeZ - 2, box); - ItemDoor.placeDoorBlock(world, this.getXWithOffset(sizeX - 2, sizeZ - 2), this.getYWithOffset(sizeY - 3), this.getZWithOffset(sizeX - 2, sizeZ - 2), + this.placeBlockAtCurrentPosition(world, ModBlocks.door_office, doorMeta, 12 - 2, 11 - 3, 8 - 2, box); + ItemDoor.placeDoorBlock(world, this.getXWithOffset(12 - 2, 8 - 2), this.getYWithOffset(11 - 3), this.getZWithOffset(12 - 2, 8 - 2), doorMeta, ModBlocks.door_office); - this.fillWithBlocks(world, box, 1, sizeY - 3, 1, 1, sizeY - 1, 1, ModBlocks.deco_steel, Blocks.air, false); - this.fillWithMetadataBlocks(world, box, 1, sizeY - 3, 2, 1, sizeY - 2, 3, ModBlocks.steel_grate, 7, Blocks.air, 0, false); - this.placeBlockAtCurrentPosition(world, ModBlocks.tape_recorder, westMeta, 1, sizeY - 1, 2, box); - this.placeBlockAtCurrentPosition(world, ModBlocks.steel_beam, 0, 1, sizeY - 1, 3, box); - this.fillWithBlocks(world, box, 1, sizeY - 3, 6, 1, sizeY - 1, 6, ModBlocks.deco_pipe_framed_rusted, Blocks.air, false); + this.fillWithBlocks(world, box, 1, 11 - 3, 1, 1, 11 - 1, 1, ModBlocks.deco_steel, Blocks.air, false); + this.fillWithMetadataBlocks(world, box, 1, 11 - 3, 2, 1, 11 - 2, 3, ModBlocks.steel_grate, 7, Blocks.air, 0, false); + this.placeBlockAtCurrentPosition(world, ModBlocks.tape_recorder, westMeta, 1, 11 - 1, 2, box); + this.placeBlockAtCurrentPosition(world, ModBlocks.steel_beam, 0, 1, 11 - 1, 3, box); + this.fillWithBlocks(world, box, 1, 11 - 3, 6, 1, 11 - 1, 6, ModBlocks.deco_pipe_framed_rusted, Blocks.air, false); - this.fillWithMetadataBlocks(world, box, sizeX - 4, sizeY - 3, 1, sizeX - 4, sizeY - 1, 1, ModBlocks.steel_wall, eastMeta, Blocks.air, 0, false); - this.fillWithMetadataBlocks(world, box, sizeX - 3, sizeY - 1, 1, sizeX - 2, sizeY - 1, 1, ModBlocks.steel_grate, 0, Blocks.air, 0, false); - this.fillWithMetadataBlocks(world, box, sizeX - 3, sizeY - 2, 1, sizeX - 2, sizeY - 2, 1, ModBlocks.tape_recorder, northMeta, Blocks.air, 0, false); - this.fillWithBlocks(world, box, sizeX - 3, sizeY - 3, 1, sizeX - 2, sizeY - 3, 1, ModBlocks.deco_steel, Blocks.air, false); - this.fillWithMetadataBlocks(world, box, sizeX - 1, sizeY - 3, 1, sizeX - 1, sizeY - 1, 1, ModBlocks.steel_wall, westMeta, Blocks.air, 0, false); + this.fillWithMetadataBlocks(world, box, 12 - 4, 11 - 3, 1, 12 - 4, 11 - 1, 1, ModBlocks.steel_wall, eastMeta, Blocks.air, 0, false); + this.fillWithMetadataBlocks(world, box, 12 - 3, 11 - 1, 1, 12 - 2, 11 - 1, 1, ModBlocks.steel_grate, 0, Blocks.air, 0, false); + this.fillWithMetadataBlocks(world, box, 12 - 3, 11 - 2, 1, 12 - 2, 11 - 2, 1, ModBlocks.tape_recorder, northMeta, Blocks.air, 0, false); + this.fillWithBlocks(world, box, 12 - 3, 11 - 3, 1, 12 - 2, 11 - 3, 1, ModBlocks.deco_steel, Blocks.air, false); + this.fillWithMetadataBlocks(world, box, 12 - 1, 11 - 3, 1, 12 - 1, 11 - 1, 1, ModBlocks.steel_wall, westMeta, Blocks.air, 0, false); - this.fillWithMetadataBlocks(world, box, 2, 1, 2, 2, 1, sizeZ - 2, ModBlocks.steel_grate, 7, Blocks.air, 0, false); + this.fillWithMetadataBlocks(world, box, 2, 1, 2, 2, 1, 8 - 2, ModBlocks.steel_grate, 7, Blocks.air, 0, false); this.placeBlockAtCurrentPosition(world, ModBlocks.vitrified_barrel, 0, 2, 2, 2, box); this.fillWithMetadataBlocks(world, box, 3, 1, 2, 3, 3, 2, ModBlocks.steel_wall, westMeta, Blocks.air, 0, false); this.fillWithMetadataBlocks(world, box, 3, 1, 4, 3, 3, 4, ModBlocks.steel_wall, westMeta, Blocks.air, 0, false); - this.fillWithMetadataBlocks(world, box, 3, 1, sizeZ - 2, 3, 3, sizeZ - 2, ModBlocks.steel_wall, westMeta, Blocks.air, 0, false); - this.placeBlockAtCurrentPosition(world, ModBlocks.crate, 0, 4, 1, sizeZ - 2, box); - this.placeBlockAtCurrentPosition(world, ModBlocks.crate_lead, 0, 4, 2, sizeZ - 2, box); + this.fillWithMetadataBlocks(world, box, 3, 1, 8 - 2, 3, 3, 8 - 2, ModBlocks.steel_wall, westMeta, Blocks.air, 0, false); + this.placeBlockAtCurrentPosition(world, ModBlocks.crate, 0, 4, 1, 8 - 2, box); + this.placeBlockAtCurrentPosition(world, ModBlocks.crate_lead, 0, 4, 2, 8 - 2, box); if(!hasPlacedLoot[0]) { - this.hasPlacedLoot[0] = this.generateInvContents(world, box, rand, ModBlocks.crate_iron, 5, 1, sizeZ - 2, HbmChestContents.nuclearFuel, 10); + this.hasPlacedLoot[0] = this.generateInvContents(world, box, rand, ModBlocks.crate_iron, 5, 1, 8 - 2, ItemPool.getPool(ItemPoolsComponent.POOL_NUKE_FUEL), 10); } - this.fillWithBlocks(world, box, 4, 1, sizeZ - 3, 5, 1, sizeZ - 3, ModBlocks.crate_lead, Blocks.air, false); + this.fillWithBlocks(world, box, 4, 1, 8 - 3, 5, 1, 8 - 3, ModBlocks.crate_lead, Blocks.air, false); - this.fillWithBlocks(world, box, sizeX - 5, 1, sizeZ - 2, sizeX - 5, 3, sizeZ - 2, ModBlocks.deco_steel, Blocks.air, false);; - this.fillWithMetadataBlocks(world, box, sizeX - 4, 1, sizeZ - 2, sizeX - 2, 1, sizeZ - 2, ModBlocks.steel_grate, 7, Blocks.air, 0, false); - this.fillWithMetadataBlocks(world, box, sizeX - 4, 2, sizeZ - 2, sizeX - 3, 2, sizeZ - 2, ModBlocks.tape_recorder, southMeta, Blocks.air, 0, false); - this.placeBlockAtCurrentPosition(world, ModBlocks.steel_beam, 0, sizeX - 2, 2, sizeZ - 2, box); - this.fillWithBlocks(world, box, sizeX - 4, 3, sizeZ - 2, sizeX - 2, 3, sizeZ - 2, ModBlocks.steel_roof, Blocks.air, false); + this.fillWithBlocks(world, box, 12 - 5, 1, 8 - 2, 12 - 5, 3, 8 - 2, ModBlocks.deco_steel, Blocks.air, false);; + this.fillWithMetadataBlocks(world, box, 12 - 4, 1, 8 - 2, 12 - 2, 1, 8 - 2, ModBlocks.steel_grate, 7, Blocks.air, 0, false); + this.fillWithMetadataBlocks(world, box, 12 - 4, 2, 8 - 2, 12 - 3, 2, 8 - 2, ModBlocks.tape_recorder, southMeta, Blocks.air, 0, false); + this.placeBlockAtCurrentPosition(world, ModBlocks.steel_beam, 0, 12 - 2, 2, 8 - 2, box); + this.fillWithBlocks(world, box, 12 - 4, 3, 8 - 2, 12 - 2, 3, 8 - 2, ModBlocks.steel_roof, Blocks.air, false); if(!hasPlacedLoot[1]) { - this.hasPlacedLoot[1] = this.generateInvContents(world, box, rand, ModBlocks.crate_iron, sizeX - 2, 1, 3, HbmChestContents.nukeTrash, 9); + this.hasPlacedLoot[1] = this.generateInvContents(world, box, rand, ModBlocks.crate_iron, 12 - 2, 1, 3, ItemPool.getPool(ItemPoolsLegacy.POOL_NUKE_TRASH), 9); if(rand.nextInt(2) == 0) - generateLoreBook(world, box, sizeX - 2, 1, 3, 1, HbmChestContents.generateOfficeBook(rand)); + generateLoreBook(world, box, 12 - 2, 1, 3, 1, HbmChestContents.generateOfficeBook(rand)); } return true; @@ -586,8 +591,8 @@ public class CivilianFeatures { super(); } - public NTMWorkshop1(Random rand, int minX, int minY, int minZ) { - super(rand, minX, minY, minZ, 10, 6, 8); + public NTMWorkshop1(Random rand, int minX, int minZ) { + super(rand, minX, 64, minZ, 10, 6, 8); this.hasPlacedLoot = false; } @@ -612,20 +617,20 @@ public class CivilianFeatures { } //System.out.println("" + this.boundingBox.minX + ", " + this.boundingBox.minY + ", " + this.boundingBox.minZ); - placeFoundationUnderneath(world, Blocks.stonebrick, 0, 1, 0, sizeX - 3, sizeZ, -1, box); - placeFoundationUnderneath(world, Blocks.dirt, 0, 8, 1, sizeX, 6, -1, box); + placeFoundationUnderneath(world, Blocks.stonebrick, 0, 1, 0, 8 - 3, 11, -1, box); + placeFoundationUnderneath(world, Blocks.dirt, 0, 8, 1, 10, 6, -1, box); - this.fillWithAir(world, box, 1, 0, 0, sizeX - 3, sizeY - 2, sizeZ); - this.fillWithAir(world, box, sizeX - 2, 0, 2, sizeX - 1, 2, 5); + this.fillWithAir(world, box, 1, 0, 0, 10 - 3, 6 - 2, 8); + this.fillWithAir(world, box, 10 - 2, 0, 2, 10 - 1, 2, 5); if(this.getBlockAtCurrentPosition(world, 0, 0, 5, box).getMaterial().isReplaceable() || this.getBlockAtCurrentPosition(world, 0, 0, 5, box) == Blocks.air) { int stairMeta = this.getMetadataWithOffset(Blocks.stone_brick_stairs, 1); this.placeBlockAtCurrentPosition(world, Blocks.stone_brick_stairs, stairMeta, 0, 0, 5, box); - placeFoundationUnderneath(world, Blocks.stonebrick, 0, 0, 1, 0, sizeZ - 1, -1, box); + placeFoundationUnderneath(world, Blocks.stonebrick, 0, 0, 1, 0, 8 - 1, -1, box); - this.fillWithMetadataBlocks(world, box, 0, 0, 1, 0, 0, sizeZ - 1, Blocks.stone_slab, 5, Blocks.air, 0, false); + this.fillWithMetadataBlocks(world, box, 0, 0, 1, 0, 0, 8 - 1, Blocks.stone_slab, 5, Blocks.air, 0, false); } //Walls @@ -633,96 +638,529 @@ public class CivilianFeatures { int pillarMetaNS = this.getPillarMeta(8); this.fillWithBlocks(world, box, 1, 0, 0, 1, 3, 0, ModBlocks.concrete_pillar, Blocks.air, false); //Back Wall this.placeBlockAtCurrentPosition(world, ModBlocks.concrete, 0, 1, 4, 0, box); - this.fillWithMetadataBlocks(world, box, 2, 4, 0, sizeX - 4, 4, 0, ModBlocks.concrete_pillar, pillarMetaWE, Blocks.air, 0, false); - this.placeBlockAtCurrentPosition(world, ModBlocks.concrete, 0, sizeX - 3, 4, 0, box); - this.fillWithBlocks(world, box, sizeX - 3, 0, 0, sizeX - 3, 3, 0, ModBlocks.concrete_pillar, Blocks.air, false); - this.fillWithRandomizedBlocks(world, box, 2, 0, 0, sizeX - 4, 1, 0, false, rand, RandomSuperConcrete); + this.fillWithMetadataBlocks(world, box, 2, 4, 0, 10 - 4, 4, 0, ModBlocks.concrete_pillar, pillarMetaWE, Blocks.air, 0, false); + this.placeBlockAtCurrentPosition(world, ModBlocks.concrete, 0, 10 - 3, 4, 0, box); + this.fillWithBlocks(world, box, 10 - 3, 0, 0, 10 - 3, 3, 0, ModBlocks.concrete_pillar, Blocks.air, false); + this.fillWithRandomizedBlocks(world, box, 2, 0, 0, 10 - 4, 1, 0, false, rand, RandomSuperConcrete); this.fillWithRandomizedBlocks(world, box, 2, 2, 0, 2, 2, 0, false, rand, RandomSuperConcrete); this.fillWithBlocks(world, box, 3, 2, 0, 5, 2, 0, ModBlocks.reinforced_glass, Blocks.air, false); - this.fillWithRandomizedBlocks(world, box, sizeX - 4, 2, 0, sizeX - 4, 2, 0, false, rand, RandomSuperConcrete); - this.fillWithRandomizedBlocks(world, box, 2, 3, 0, sizeX - 4, 3, 0, false, rand, RandomSuperConcrete); - this.fillWithMetadataBlocks(world, box, 1, 4, 1, 1, 4, sizeZ - 1, ModBlocks.concrete_pillar, pillarMetaNS, Blocks.air, 0, false); //Left Wall - this.placeBlockAtCurrentPosition(world, ModBlocks.concrete, 0, 1, 4, sizeZ, box); - this.fillWithBlocks(world, box, 1, 0, sizeZ, 1, 3, sizeZ, ModBlocks.concrete_pillar, Blocks.air, false); + this.fillWithRandomizedBlocks(world, box, 10 - 4, 2, 0, 10 - 4, 2, 0, false, rand, RandomSuperConcrete); + this.fillWithRandomizedBlocks(world, box, 2, 3, 0, 10 - 4, 3, 0, false, rand, RandomSuperConcrete); + this.fillWithMetadataBlocks(world, box, 1, 4, 1, 1, 4, 8 - 1, ModBlocks.concrete_pillar, pillarMetaNS, Blocks.air, 0, false); //Left Wall + this.placeBlockAtCurrentPosition(world, ModBlocks.concrete, 0, 1, 4, 8, box); + this.fillWithBlocks(world, box, 1, 0, 8, 1, 3, 8, ModBlocks.concrete_pillar, Blocks.air, false); this.fillWithRandomizedBlocks(world, box, 1, 0, 1, 1, 1, 4, false, rand, RandomSuperConcrete); this.fillWithRandomizedBlocks(world, box, 1, 2, 1, 1, 2, 1, false, rand, RandomSuperConcrete); this.fillWithBlocks(world, box, 1, 2, 2, 1, 2, 3, ModBlocks.reinforced_glass, Blocks.air, false); this.fillWithRandomizedBlocks(world, box, 1, 2, 4, 1, 2, 4, false, rand, RandomSuperConcrete); - this.fillWithRandomizedBlocks(world, box, 1, 3, 1, 1, 3, sizeZ - 1, false, rand, RandomSuperConcrete); - this.fillWithRandomizedBlocks(world, box, 1, 0, sizeZ - 2, 1, 3, sizeZ - 1, false, rand, RandomSuperConcrete); - this.fillWithMetadataBlocks(world, box, 2, 4, sizeZ, sizeX - 4, 4, sizeZ, ModBlocks.concrete_pillar, pillarMetaWE, Blocks.air, 0, false); //Front Wall - this.placeBlockAtCurrentPosition(world, ModBlocks.concrete, 0, sizeX - 3, 4, sizeZ, box); - this.fillWithBlocks(world, box, sizeX - 3, 0, sizeZ, sizeX - 3, 3, sizeZ, ModBlocks.concrete_pillar, Blocks.air, false); - this.fillWithRandomizedBlocks(world, box, 2, 0, sizeZ, sizeX - 4, 1, sizeZ, false, rand, RandomSuperConcrete); - this.fillWithRandomizedBlocks(world, box, 2, 2, sizeZ, 2, 2, sizeZ, false, rand, RandomSuperConcrete); - this.fillWithBlocks(world, box, 3, 2, sizeZ, 5, 2, sizeZ, ModBlocks.reinforced_glass, Blocks.air, false); - this.fillWithRandomizedBlocks(world, box, sizeX - 4, 2, sizeZ, sizeX - 4, 2, sizeZ, false, rand, RandomSuperConcrete); - this.fillWithRandomizedBlocks(world, box, 2, 3, sizeZ, sizeX - 4, 3, sizeZ, false, rand, RandomSuperConcrete); - this.fillWithMetadataBlocks(world, box, sizeX - 3, 4, 1, sizeX - 3, 4, sizeZ - 1, ModBlocks.concrete_pillar, pillarMetaNS, Blocks.air, 0, false); //Right Wall - this.fillWithRandomizedBlocks(world, box, sizeX - 3, 0, 1, sizeX - 3, 3, sizeZ - 1, false, rand, RandomSuperConcrete); + this.fillWithRandomizedBlocks(world, box, 1, 3, 1, 1, 3, 8 - 1, false, rand, RandomSuperConcrete); + this.fillWithRandomizedBlocks(world, box, 1, 0, 8 - 2, 1, 3, 8 - 1, false, rand, RandomSuperConcrete); + this.fillWithMetadataBlocks(world, box, 2, 4, 8, 10 - 4, 4, 8, ModBlocks.concrete_pillar, pillarMetaWE, Blocks.air, 0, false); //Front Wall + this.placeBlockAtCurrentPosition(world, ModBlocks.concrete, 0, 10 - 3, 4, 8, box); + this.fillWithBlocks(world, box, 10 - 3, 0, 8, 10 - 3, 3, 8, ModBlocks.concrete_pillar, Blocks.air, false); + this.fillWithRandomizedBlocks(world, box, 2, 0, 8, 10 - 4, 1, 8, false, rand, RandomSuperConcrete); + this.fillWithRandomizedBlocks(world, box, 2, 2, 8, 2, 2, 8, false, rand, RandomSuperConcrete); + this.fillWithBlocks(world, box, 3, 2, 8, 5, 2, 8, ModBlocks.reinforced_glass, Blocks.air, false); + this.fillWithRandomizedBlocks(world, box, 10 - 4, 2, 8, 10 - 4, 2, 8, false, rand, RandomSuperConcrete); + this.fillWithRandomizedBlocks(world, box, 2, 3, 8, 10 - 4, 3, 8, false, rand, RandomSuperConcrete); + this.fillWithMetadataBlocks(world, box, 10 - 3, 4, 1, 10 - 3, 4, 8 - 1, ModBlocks.concrete_pillar, pillarMetaNS, Blocks.air, 0, false); //Right Wall + this.fillWithRandomizedBlocks(world, box, 10 - 3, 0, 1, 10 - 3, 3, 8 - 1, false, rand, RandomSuperConcrete); pillarMetaWE = this.getPillarMeta(5); pillarMetaNS = this.getPillarMeta(9); - this.fillWithMetadataBlocks(world, box, sizeX - 2, 2, 1, sizeX - 1, 2, 1, Blocks.log, pillarMetaWE, Blocks.air, 0, false); //Back Wall - this.fillWithMetadataBlocks(world, box, sizeX, 0, 1, sizeX, 2, 1, Blocks.log, 1, Blocks.air, 0, false); - this.fillWithMetadataBlocks(world, box, sizeX - 2, 0, 1, sizeX - 1, 1, 1, Blocks.planks, 1, Blocks.air, 0, false); - this.fillWithMetadataBlocks(world, box, sizeX, 2, 2, sizeX, 2, 5, Blocks.log, pillarMetaNS, Blocks.air, 0, false); //Right Wall - this.fillWithMetadataBlocks(world, box, sizeX, 0, 6, sizeX, 2, 6, Blocks.log, 1, Blocks.air, 0, false); - this.fillWithMetadataBlocks(world, box, sizeX, 0, 3, sizeX, 1, 5, Blocks.planks, 1, Blocks.air, 0, false); - this.fillWithMetadataBlocks(world, box, sizeX - 2, 2, 6, sizeX - 1, 2, 6, Blocks.log, pillarMetaWE, Blocks.air, 0, false); //Front Wall - this.fillWithMetadataBlocks(world, box, sizeX - 2, 0, 6, sizeX - 1, 1, 6, Blocks.planks, 1, Blocks.air, 0, false); + this.fillWithMetadataBlocks(world, box, 10 - 2, 2, 1, 10 - 1, 2, 1, Blocks.log, pillarMetaWE, Blocks.air, 0, false); //Back Wall + this.fillWithMetadataBlocks(world, box, 10, 0, 1, 10, 2, 1, Blocks.log, 1, Blocks.air, 0, false); + this.fillWithMetadataBlocks(world, box, 10 - 2, 0, 1, 10 - 1, 1, 1, Blocks.planks, 1, Blocks.air, 0, false); + this.fillWithMetadataBlocks(world, box, 10, 2, 2, 10, 2, 5, Blocks.log, pillarMetaNS, Blocks.air, 0, false); //Right Wall + this.fillWithMetadataBlocks(world, box, 10, 0, 6, 10, 2, 6, Blocks.log, 1, Blocks.air, 0, false); + this.fillWithMetadataBlocks(world, box, 10, 0, 3, 10, 1, 5, Blocks.planks, 1, Blocks.air, 0, false); + this.fillWithMetadataBlocks(world, box, 10 - 2, 2, 6, 10 - 1, 2, 6, Blocks.log, pillarMetaWE, Blocks.air, 0, false); //Front Wall + this.fillWithMetadataBlocks(world, box, 10 - 2, 0, 6, 10 - 1, 1, 6, Blocks.planks, 1, Blocks.air, 0, false); //Floor & Ceiling - this.fillWithBlocks(world, box, 2, 0, 1, 6, 0, sizeZ - 1, ModBlocks.brick_light, Blocks.air, false); //Floor + this.fillWithBlocks(world, box, 2, 0, 1, 6, 0, 8 - 1, ModBlocks.brick_light, Blocks.air, false); //Floor this.placeBlockAtCurrentPosition(world, ModBlocks.brick_light, 0, 1, 0, 5, box); this.fillWithRandomizedBlocks(world, box, 2, 4, 1, 6, 4, 3, false, rand, RandomSuperConcrete); //Ceiling this.fillWithRandomizedBlocks(world, box, 2, 4, 4, 2, 4, 4, false, rand, RandomSuperConcrete); this.fillWithRandomizedBlocks(world, box, 5, 4, 4, 6, 4, 4, false, rand, RandomSuperConcrete); - this.fillWithRandomizedBlocks(world, box, 2, 4, sizeZ - 3, 6, 4, sizeZ - 1, false, rand, RandomSuperConcrete); + this.fillWithRandomizedBlocks(world, box, 2, 4, 8 - 3, 6, 4, 8 - 1, false, rand, RandomSuperConcrete); - this.fillWithBlocks(world, box, sizeX - 2, 2, 2, sizeX - 1, 2, 5, ModBlocks.deco_steel, Blocks.air, false); + this.fillWithBlocks(world, box, 10 - 2, 2, 2, 10 - 1, 2, 5, ModBlocks.deco_steel, Blocks.air, false); //Loot & Decorations int southMeta = this.getDecoMeta(2); int eastMeta = this.getDecoMeta(5); - this.placeBlockAtCurrentPosition(world, ModBlocks.pole_satellite_receiver, eastMeta, 2, sizeY - 1, 1, box); - this.fillWithBlocks(world, box, 3, sizeY - 1, 1, 4, sizeY - 1, 1, ModBlocks.deco_steel, Blocks.air, false); - this.fillWithBlocks(world, box, 2, sizeY - 1, 2, 4, sizeY - 1, 2, ModBlocks.deco_steel, Blocks.air, false); - this.fillWithBlocks(world, box, 2, sizeY, 1, 4, sizeY, 2, ModBlocks.steel_roof, Blocks.air, false); + this.placeBlockAtCurrentPosition(world, ModBlocks.pole_satellite_receiver, eastMeta, 2, 6 - 1, 1, box); + this.fillWithBlocks(world, box, 3, 6 - 1, 1, 4, 6 - 1, 1, ModBlocks.deco_steel, Blocks.air, false); + this.fillWithBlocks(world, box, 2, 6 - 1, 2, 4, 6 - 1, 2, ModBlocks.deco_steel, Blocks.air, false); + this.fillWithBlocks(world, box, 2, 6, 1, 4, 6, 2, ModBlocks.steel_roof, Blocks.air, false); this.fillWithBlocks(world, box, 2, 1, 1, 2, 3, 1, ModBlocks.deco_red_copper, Blocks.air, false); this.fillWithBlocks(world, box, 3, 1, 1, 3, 1, 2, ModBlocks.deco_beryllium, Blocks.air, false); - this.placeBlockAtCurrentPosition(world, ModBlocks.machine_generator, 0, 4, 1, 1, box); + this.placeBlockAtCurrentPosition(world, ModBlocks.machine_amgen, 0, 4, 1, 1, box); this.placeBlockAtCurrentPosition(world, ModBlocks.machine_detector, 0, 4, 1, 2, box); this.fillWithBlocks(world, box, 5, 1, 1, 5, 1, 2, ModBlocks.deco_beryllium, Blocks.air, false); this.fillWithBlocks(world, box, 6, 1, 1, 6, 3, 1, ModBlocks.deco_red_copper, Blocks.air, false); this.fillWithBlocks(world, box, 3, 1, 4, 4, 1, 4, ModBlocks.concrete_super_broken, Blocks.air, false); this.fillWithMetadataBlocks(world, box, 6, 1, 4, 6, 3, 4, ModBlocks.steel_scaffold, eastMeta < 4 ? 0 : 8, Blocks.air, 0, false); this.fillWithMetadataBlocks(world, box, 6, 1, 5, 6, 1, 7, ModBlocks.steel_grate, 7, Blocks.air, 0, false); - this.placeBlockAtCurrentPosition(world, ModBlocks.radiorec, eastMeta, 6, 2, sizeZ - 1, box); - this.fillWithMetadataBlocks(world, box, 2, 1, sizeZ - 1, 3, 1, sizeZ - 1, ModBlocks.machine_electric_furnace_off, southMeta, Blocks.air, 0, false); + this.placeBlockAtCurrentPosition(world, ModBlocks.radiorec, eastMeta, 6, 2, 8 - 1, box); + this.fillWithMetadataBlocks(world, box, 2, 1, 8 - 1, 3, 1, 8 - 1, ModBlocks.machine_electric_furnace_off, southMeta, Blocks.air, 0, false); if(!hasPlacedLoot) { - this.hasPlacedLoot = this.generateInvContents(world, box, rand, ModBlocks.crate_iron, 4, 1, sizeZ - 1, HbmChestContents.machineParts, 11); + this.hasPlacedLoot = this.generateInvContents(world, box, rand, ModBlocks.crate_iron, 4, 1, 8 - 1, ItemPool.getPool(ItemPoolsComponent.POOL_MACHINE_PARTS), 11); } this.placeBlockAtCurrentPosition(world, Blocks.web, 0, 5, 3, 1, box); this.placeBlockAtCurrentPosition(world, Blocks.web, 0, 2, 1, 2, box); this.placeBlockAtCurrentPosition(world, Blocks.web, 0, 6, 1, 2, box); this.placeBlockAtCurrentPosition(world, Blocks.web, 0, 6, 2, 5, box); - this.fillWithMetadataBlocks(world, box, sizeX - 2, 0, 5, sizeX - 1, 0, 5, ModBlocks.steel_grate, 7, Blocks.air, 0, false); - this.placeBlockAtCurrentPosition(world, ModBlocks.tape_recorder, southMeta, sizeX - 2, 1, 5, box); - this.placeBlockAtCurrentPosition(world, ModBlocks.bobblehead, rand.nextInt(16), sizeX - 1, 1, 5, box); - TileEntityBobble bobble = (TileEntityBobble) world.getTileEntity(this.getXWithOffset(sizeX - 1, 5), this.getYWithOffset(1), this.getZWithOffset(sizeX - 1, 5)); + this.fillWithMetadataBlocks(world, box, 10 - 2, 0, 5, 10 - 1, 0, 5, ModBlocks.steel_grate, 7, Blocks.air, 0, false); + this.placeBlockAtCurrentPosition(world, ModBlocks.tape_recorder, southMeta, 10 - 2, 1, 5, box); + this.placeBlockAtCurrentPosition(world, ModBlocks.bobblehead, rand.nextInt(16), 10 - 1, 1, 5, box); + TileEntityBobble bobble = (TileEntityBobble) world.getTileEntity(this.getXWithOffset(10 - 1, 5), this.getYWithOffset(1), this.getZWithOffset(10 - 1, 5)); if(bobble != null) { bobble.type = BobbleType.values()[rand.nextInt(BobbleType.values().length - 1) + 1]; bobble.markDirty(); } - this.fillWithMetadataBlocks(world, box, sizeX - 2, 0, 2, sizeX - 2, 0, 3, Blocks.log, pillarMetaWE, Blocks.air, 0, false); - this.placeBlockAtCurrentPosition(world, Blocks.log, pillarMetaWE, sizeX - 2, 1, 2, box); - this.placeBlockAtCurrentPosition(world, Blocks.web, 0, sizeX - 2, 1, 3, box); + this.fillWithMetadataBlocks(world, box, 10 - 2, 0, 2, 10 - 2, 0, 3, Blocks.log, pillarMetaWE, Blocks.air, 0, false); + this.placeBlockAtCurrentPosition(world, Blocks.log, pillarMetaWE, 10 - 2, 1, 2, box); + this.placeBlockAtCurrentPosition(world, Blocks.web, 0, 10 - 2, 1, 3, box); return true; } } + + public static class RuralHouse1 extends Component { + + public RuralHouse1() { + super(); + } + + public RuralHouse1(Random rand, int minX, int minZ) { + super(rand, minX, 64, minZ, 14, 8, 14); + } + + @Override + public boolean addComponentParts(World world, Random rand, StructureBoundingBox box) { + + if(!this.setAverageHeight(world, box, this.boundingBox.minY)) { + return false; + } + + //FillWithAir + fillWithAir(world, box, 9, 1, 3, 12, 4, 8); + fillWithAir(world, box, 5, 1, 2, 8, 3, 8); + fillWithAir(world, box, 2, 1, 5, 4, 3, 8); + fillWithAir(world, box, 2, 1, 10, 7, 3, 12); + + //Foundations + fillWithBlocks(world, box, 1, 0, 4, 4, 0, 4, ModBlocks.concrete_colored_ext); + fillWithBlocks(world, box, 4, 0, 2, 4, 0, 3, ModBlocks.concrete_colored_ext); + fillWithBlocks(world, box, 4, 0, 1, 9, 0, 1, ModBlocks.concrete_colored_ext); + fillWithBlocks(world, box, 9, 0, 2, 10, 0, 2, ModBlocks.concrete_colored_ext); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_colored_ext, 0, 12, 0, 2, box); + fillWithBlocks(world, box, 13, 0, 2, 13, 0, 9, ModBlocks.concrete_colored_ext); + fillWithBlocks(world, box, 5, 0, 9, 12, 0, 9, ModBlocks.concrete_colored_ext); + fillWithBlocks(world, box, 2, 0, 9, 3, 0, 9, ModBlocks.concrete_colored_ext); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_colored_ext, 0, 8, 0, 10, box); + fillWithBlocks(world, box, 8, 0, 12, 8, 0, 13, ModBlocks.concrete_colored_ext); + fillWithBlocks(world, box, 1, 0, 13, 7, 0, 13, ModBlocks.concrete_colored_ext); + fillWithBlocks(world, box, 1, 0, 5, 1, 0, 12, ModBlocks.concrete_colored_ext); + placeFoundationUnderneath(world, ModBlocks.concrete_colored_ext, 0, 1, 10, 8, 13, -1, box); + placeFoundationUnderneath(world, ModBlocks.concrete_colored_ext, 0, 1, 4, 3, 9, -1, box); + placeFoundationUnderneath(world, ModBlocks.concrete_colored_ext, 0, 4, 1, 13, 9, -1, box); + + placeFoundationUnderneath(world, Blocks.log, 0, 2, 3, 2, 3, 0, box); + placeFoundationUnderneath(world, Blocks.log, 0, 3, 2, 3, 2, 0, box); + placeFoundationUnderneath(world, Blocks.log, 0, 3, 0, 3, 0, -1, box); + placeFoundationUnderneath(world, Blocks.log, 0, 5, 0, 5, 0, 0, box); + placeFoundationUnderneath(world, Blocks.log, 0, 8, 0, 8, 0, 0, box); + placeFoundationUnderneath(world, Blocks.log, 0, 10, 0, 10, 0, -1, box); + placeFoundationUnderneath(world, Blocks.log, 0, 14, 1, 14, 1, -1, box); + placeFoundationUnderneath(world, Blocks.log, 0, 14, 3, 14, 3, -1, box); + placeFoundationUnderneath(world, Blocks.log, 0, 14, 5, 14, 6, 0, box); + placeFoundationUnderneath(world, Blocks.log, 0, 14, 8, 14, 8, -1, box); + placeFoundationUnderneath(world, Blocks.log, 0, 14, 10, 14, 10, -1, box); + placeFoundationUnderneath(world, Blocks.log, 0, 9, 14, 9, 14, -1, box); + placeFoundationUnderneath(world, Blocks.log, 0, 7, 14, 7, 14, -1, box); + placeFoundationUnderneath(world, Blocks.log, 0, 4, 14, 5, 14, 0, box); + placeFoundationUnderneath(world, Blocks.log, 0, 2, 14, 2, 14, -1, box); + placeFoundationUnderneath(world, Blocks.log, 0, 0, 14, 0, 14, -1, box); + placeFoundationUnderneath(world, Blocks.log, 0, 0, 13, 0, 13, 0, box); + placeFoundationUnderneath(world, Blocks.log, 0, 0, 11, 0, 11, 0, box); + placeFoundationUnderneath(world, Blocks.log, 0, 0, 9, 0, 9, -1, box); + placeFoundationUnderneath(world, Blocks.log, 0, 0, 6, 0, 7, 0, box); + placeFoundationUnderneath(world, Blocks.log, 0, 0, 4, 0, 4, 0, box); + placeFoundationUnderneath(world, Blocks.log, 0, 0, 3, 0, 4, -1, box); + + //Walls + //North/Front + fillWithBlocks(world, box, 1, 1, 4, 4, 4, 4, Blocks.brick_block); + fillWithBlocks(world, box, 2, 5, 4, 7, 5, 4, Blocks.brick_block); + placeBlockAtCurrentPosition(world, Blocks.brick_block, 0, 3, 6, 4, box); + placeBlockAtCurrentPosition(world, Blocks.brick_block, 0, 6, 6, 4, box); + fillWithBlocks(world, box, 4, 7, 4, 5, 7, 4, Blocks.brick_block); + fillWithBlocks(world, box, 4, 1, 1, 4, 4, 3, Blocks.brick_block); + fillWithBlocks(world, box, 5, 1, 1, 8, 1, 1, Blocks.brick_block); + fillWithBlocks(world, box, 5, 4, 1, 8, 4, 1, Blocks.brick_block); + fillWithBlocks(world, box, 9, 1, 1, 9, 4, 2, Blocks.brick_block); + fillWithBlocks(world, box, 10, 1, 2, 10, 3, 2, Blocks.brick_block); + fillWithBlocks(world, box, 12, 1, 2, 13, 3, 2, Blocks.brick_block); + fillWithBlocks(world, box, 10, 4, 2, 13, 4, 2, Blocks.brick_block); + fillWithBlocks(world, box, 9, 5, 2, 12, 5, 2, Blocks.brick_block); + fillWithBlocks(world, box, 10, 6, 2, 11, 6, 2, Blocks.brick_block); + //East/Left + fillWithBlocks(world, box, 13, 1, 3, 13, 1, 8, Blocks.brick_block); + fillWithBlocks(world, box, 13, 3, 3, 13, 4, 8, Blocks.brick_block); + //South/Back + fillWithBlocks(world, box, 13, 1, 9, 13, 4, 9, Blocks.brick_block); + fillWithBlocks(world, box, 9, 1, 9, 12, 1, 9, Blocks.brick_block); + fillWithBlocks(world, box, 9, 4, 9, 12, 5, 9, Blocks.brick_block); + fillWithBlocks(world, box, 10, 6, 9, 11, 6, 9, Blocks.brick_block); + fillWithBlocks(world, box, 8, 1, 9, 8, 4, 10, Blocks.brick_block); + fillWithBlocks(world, box, 8, 1, 12, 8, 3, 13, Blocks.brick_block); + fillWithBlocks(world, box, 8, 4, 11, 8, 4, 13, Blocks.brick_block); + fillWithBlocks(world, box, 7, 1, 13, 7, 3, 13, Blocks.brick_block); + fillWithBlocks(world, box, 3, 1, 13, 6, 1, 13, Blocks.brick_block); + fillWithBlocks(world, box, 2, 4, 13, 7, 5, 13, Blocks.brick_block); + placeBlockAtCurrentPosition(world, Blocks.brick_block, 0, 6, 6, 13, box); + placeBlockAtCurrentPosition(world, Blocks.brick_block, 0, 3, 6, 13, box); + fillWithBlocks(world, box, 4, 7, 13, 5, 7, 13, Blocks.brick_block); + fillWithBlocks(world, box, 2, 1, 13, 2, 3, 13, Blocks.brick_block); + //West/Right + fillWithBlocks(world, box, 1, 1, 13, 1, 4, 13, Blocks.brick_block); + fillWithBlocks(world, box, 1, 1, 5, 1, 1, 12, Blocks.brick_block); + placeBlockAtCurrentPosition(world, Blocks.brick_block, 0, 1, 2, 9, box); + fillWithBlocks(world, box, 1, 3, 5, 1, 3, 12, Blocks.brick_block); + //Inside + fillWithBlocks(world, box, 2, 1, 9, 3, 3, 9, Blocks.brick_block); + fillWithBlocks(world, box, 5, 1, 9, 7, 3, 9, Blocks.brick_block); + //Wood Paneling + fillWithMetadataBlocks(world, box, 5, 2, 1, 5, 3, 1, Blocks.planks, 1); + fillWithMetadataBlocks(world, box, 8, 2, 1, 8, 3, 1, Blocks.planks, 1); + placeBlockAtCurrentPosition(world, Blocks.planks, 1, 11, 3, 2, box); + fillWithMetadataBlocks(world, box, 13, 2, 3, 13, 2, 4, Blocks.planks, 1); + fillWithMetadataBlocks(world, box, 13, 2, 7, 13, 2, 8, Blocks.planks, 1); + fillWithMetadataBlocks(world, box, 12, 2, 9, 12, 3, 9, Blocks.planks, 1); + fillWithMetadataBlocks(world, box, 9, 2, 9, 9, 3, 9, Blocks.planks, 1); + placeBlockAtCurrentPosition(world, Blocks.planks, 1, 8, 3, 11, box); + fillWithMetadataBlocks(world, box, 6, 2, 13, 6, 3, 13, Blocks.planks, 1); + fillWithMetadataBlocks(world, box, 3, 2, 13, 3, 3, 13, Blocks.planks, 1); + placeBlockAtCurrentPosition(world, Blocks.planks, 1, 1, 2, 12, box); + placeBlockAtCurrentPosition(world, Blocks.planks, 1, 1, 2, 10, box); + placeBlockAtCurrentPosition(world, Blocks.planks, 1, 1, 2, 8, box); + placeBlockAtCurrentPosition(world, Blocks.planks, 1, 1, 2, 5, box); + placeBlockAtCurrentPosition(world, Blocks.planks, 1, 4, 3, 9, box); + //Wood Framing + //North/Front + int logW = this.getPillarMeta(4); + int logN = this.getPillarMeta(8); + + fillWithBlocks(world, box, 0, 0, 3, 0, 3, 3, Blocks.log); + fillWithMetadataBlocks(world, box, 1, 4, 3, 3, 4, 3, Blocks.log, logW); + fillWithMetadataBlocks(world, box, 3, 4, 1, 3, 4, 2, Blocks.log, logN); + placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 9, 1, 3, 3, box); + placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 9, 3, 3, 1, box); + fillWithMetadataBlocks(world, box, 1, 1, 3, 2, 1, 3, Blocks.wooden_slab, 1); + fillWithMetadataBlocks(world, box, 3, 1, 1, 3, 1, 3, Blocks.wooden_slab, 1); + fillWithBlocks(world, box, 3, 0, 0, 3, 3, 0, Blocks.log); + fillWithMetadataBlocks(world, box, 4, 1, 0, 9, 1, 0, Blocks.wooden_slab, 1); + placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 9, 4, 3, 0, box); + placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 9, 9, 3, 0, box); + fillWithBlocks(world, box, 10, 0, 0, 10, 3, 0, Blocks.log); + fillWithMetadataBlocks(world, box, 10, 4, 1, 13, 4, 1, Blocks.log, logW); + fillWithBlocks(world, box, 14, 0, 1, 14, 3, 1, Blocks.log); + //East/Left + fillWithBlocks(world, box, 14, 0, 3, 14, 3, 3, Blocks.log); + fillWithBlocks(world, box, 14, 0, 8, 14, 3, 8, Blocks.log); + fillWithBlocks(world, box, 14, 0, 10, 14, 3, 10, Blocks.log); + placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 1, 14, 1, 2, box); + fillWithMetadataBlocks(world, box, 14, 1, 4, 14, 1, 7, Blocks.wooden_slab, 1); + placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 1, 14, 1, 9, box); + placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 9, 14, 3, 2, box); + placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 9, 14, 3, 4, box); + placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 9, 14, 3, 7, box); + placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 9, 14, 3, 9, box); + //South/Back + fillWithMetadataBlocks(world, box, 9, 4, 10, 13, 4, 10, Blocks.log, logW); + placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 9, 13, 3, 10, box); + fillWithBlocks(world, box, 9, 0, 14, 9, 3, 14, Blocks.log); + fillWithBlocks(world, box, 7, 0, 14, 7, 3, 14, Blocks.log); + fillWithBlocks(world, box, 2, 0, 14, 2, 3, 14, Blocks.log); + fillWithBlocks(world, box, 0, 0, 14, 0, 3, 14, Blocks.log); + fillWithMetadataBlocks(world, box, 1, 4, 14, 8, 4, 14, Blocks.log, logW); + placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 1, 8, 1, 14, box); + fillWithMetadataBlocks(world, box, 3, 1, 14, 6, 1, 14, Blocks.wooden_slab, 1); + placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 1, 1, 1, 14, box); + placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 9, 8, 3, 14, box); + placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 9, 1, 3, 14, box); + //West/Right + fillWithBlocks(world, box, 0, 0, 9, 0, 3, 9, Blocks.log); + fillWithMetadataBlocks(world, box, 0, 1, 10, 0, 1, 13, Blocks.wooden_slab, 1); + fillWithMetadataBlocks(world, box, 0, 1, 4, 0, 1, 8, Blocks.wooden_slab, 1); + placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 9, 0, 3, 13, box); + placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 9, 0, 3, 10, box); + placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 9, 0, 3, 8, box); + placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 9, 0, 3, 4, box); + + int stairW = this.getStairMeta(0); + int stairE = this.getStairMeta(1); + int stairN = this.getStairMeta(2); + int stairS = this.getStairMeta(3); + + //Floor + placeBlockAtCurrentPosition(world, Blocks.planks, 1, 11, 0, 2, box); + fillWithMetadataBlocks(world, box, 9, 0, 3, 12, 0, 8, Blocks.planks, 1); + fillWithMetadataBlocks(world, box, 5, 0, 2, 8, 0, 8, Blocks.planks, 1); + fillWithMetadataBlocks(world, box, 2, 0, 5, 4, 0, 8, Blocks.planks, 1); + placeBlockAtCurrentPosition(world, Blocks.planks, 1, 4, 0, 9, box); + fillWithMetadataBlocks(world, box, 2, 0, 10, 7, 0, 12, Blocks.planks, 1); + placeBlockAtCurrentPosition(world, Blocks.planks, 1, 8, 0, 11, box); + fillWithBlocks(world, box, 13, 1, 0, 14, 1, 0, Blocks.fence); + //Porches + fillWithBlocks(world, box, 10, 0, 1, 13, 0, 1, Blocks.planks); + fillWithMetadataBlocks(world, box, 11, 0, 0, 12, 0, 0, Blocks.spruce_stairs, stairN); + fillWithMetadataBlocks(world, box, 13, 0, 0, 14, 0, 0, Blocks.planks, 1); + fillWithBlocks(world, box, 12, 0, 10, 13, 0, 10, Blocks.planks); + fillWithBlocks(world, box, 9, 0, 10, 11, 0, 11, Blocks.planks); + fillWithBlocks(world, box, 9, 0, 12, 10, 0, 12, Blocks.planks); + placeBlockAtCurrentPosition(world, Blocks.planks, 0, 9, 0, 13, box); + for(int i = 0; i < 3; i++) { + fillWithMetadataBlocks(world, box, 10 + i, 0, 13 - i, 11 + i, 0, 13 - i, Blocks.planks, 1); + fillWithBlocks(world, box, 10 + i, 1, 13 - i, 11 + i, 1, 13 - i, Blocks.fence); + } + + //Ceiling + fillWithMetadataBlocks(world, box, 12, 4, 3, 12, 4, 8, Blocks.oak_stairs, stairW | 4); + fillWithBlocks(world, box, 12, 5, 3, 12, 5, 8, Blocks.planks); + fillWithBlocks(world, box, 10, 5, 3, 11, 6, 8, Blocks.planks); + fillWithBlocks(world, box, 9, 5, 3, 9, 5, 8, Blocks.planks); + fillWithMetadataBlocks(world, box, 9, 4, 3, 9, 4, 8, Blocks.oak_stairs, stairE | 4); + fillWithBlocks(world, box, 8, 4, 5, 8, 4, 8, Blocks.planks); + fillWithBlocks(world, box, 5, 4, 2, 8, 4, 4, Blocks.planks); + fillWithBlocks(world, box, 1, 4, 5, 7, 4, 12, Blocks.planks); + + //Roofing + //Framing + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairW, 1, 5, 3, box); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairW, 2, 6, 3, box); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairE | 4, 3, 6, 3, box); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairW, 3, 7, 3, box); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairE | 4, 4, 7, 3, box); + fillWithMetadataBlocks(world, box, 4, 8, 3, 5, 8, 3, Blocks.wooden_slab, 1); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairW | 4, 5, 7, 3, box); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairE, 6, 7, 3, box); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairW | 4, 6, 6, 3, box); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairE, 7, 6, 3, box); + fillWithMetadataBlocks(world, box, 2, 5, 3, 3, 5, 3, Blocks.planks, 1); + placeBlockAtCurrentPosition(world, Blocks.planks, 1, 3, 5, 2, box); + placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 1, 3, 5, 1, box); + fillWithMetadataBlocks(world, box, 3, 4, 0, 14, 4, 0, Blocks.spruce_stairs, stairN); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairW, 8, 5, 1, box); + placeBlockAtCurrentPosition(world, Blocks.planks, 1, 9, 5, 1, box); + placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 1, 10, 5, 1, box); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairW, 9, 6, 1, box); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairE | 4, 10, 6, 1, box); + fillWithMetadataBlocks(world, box, 10, 7, 1, 11, 7, 1, Blocks.wooden_slab, 1); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairW | 4, 11, 6, 1, box); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairE, 12, 6, 1, box); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairW | 4, 12, 5, 1, box); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairE, 13, 5, 1, box); + fillWithMetadataBlocks(world, box, 14, 4, 1, 14, 4, 10, Blocks.spruce_stairs, stairE); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairE, 13, 5, 10, box); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairW | 4, 12, 5, 10, box); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairE, 12, 6, 10, box); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairW | 4, 11, 6, 10, box); + fillWithMetadataBlocks(world, box, 10, 7, 10, 11, 7, 10, Blocks.wooden_slab, 1); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairE | 4, 10, 6, 10, box); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairW, 9, 6, 10, box); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairE | 4, 9, 5, 10, box); + fillWithMetadataBlocks(world, box, 9, 4, 11, 9, 4, 14, Blocks.spruce_stairs, stairE); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairE, 8, 5, 14, box); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairW | 4, 7, 5, 14, box); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairE, 7, 6, 14, box); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairW | 4, 6, 6, 14, box); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairE, 6, 7, 14, box); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairW | 4, 5, 7, 14, box); + fillWithMetadataBlocks(world, box, 4, 8, 14, 5, 8, 14, Blocks.wooden_slab, 1); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairE | 4, 4, 7, 14, box); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairW, 3, 7, 14, box); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairE | 4, 3, 6, 14, box); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairW, 2, 6, 14, box); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairE | 4, 2, 5, 14, box); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairW, 1, 5, 14, box); + fillWithMetadataBlocks(world, box, 0, 4, 3, 0, 4, 14, Blocks.spruce_stairs, stairW); + //Beams + for(int z = 6; z <= 11; z += 5) { + for(int i = 0; i < 3; i++) { + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairE | 4, 2 + i, 5 + i, z, box); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairW | 4, 7 - i, 5 + i, z, box); + } + } + + //Main (LEFT) + BrokenStairs roofStairs = new BrokenStairs(); + BrokenBlocks roofBlocks = new BrokenBlocks(); + + roofStairs.setMetadata(stairW); + fillWithBlocks(world, box, 4, 5, 1, 7, 5, 1, Blocks.wooden_slab); + fillWithRandomizedBlocks(world, box, 4, 5, 2, 7, 5, 3, rand, roofBlocks); //TODO separate into stair/slab/block block selectors + fillWithRandomizedBlocks(world, box, 8, 5, 2, 8, 5, 10, rand, roofBlocks); + fillWithRandomizedBlocks(world, box, 9, 6, 2, 9, 6, 9, rand, roofStairs); + randomlyFillWithBlocks(world, box, rand, 0.8F, 10, 7, 2, 11, 7, 9, Blocks.wooden_slab); + roofStairs.setMetadata(stairE); + fillWithRandomizedBlocks(world, box, 12, 6, 2, 12, 6, 9, rand, roofStairs); //i should redo like most of this shit + fillWithRandomizedBlocks(world, box, 13, 5, 2, 13, 5, 9, rand, roofStairs); + //Main (RIGHT) + fillWithRandomizedBlocks(world, box, 8, 5, 11, 8, 5, 13, rand, roofStairs); + fillWithRandomizedBlocks(world, box, 7, 6, 4, 7, 6, 13, rand, roofStairs); + fillWithRandomizedBlocks(world, box, 6, 7, 4, 6, 7, 7, rand, roofStairs); + fillWithRandomizedBlocks(world, box, 6, 7, 11, 6, 7, 13, rand, roofStairs); + roofStairs.setMetadata(stairW); + fillWithBlocks(world, box, 4, 8, 4, 5, 8, 5, Blocks.wooden_slab); + placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 0, 5, 8, 6, box); + placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 0, 4, 8, 11, box); + fillWithBlocks(world, box, 4, 8, 12, 5, 8, 13, Blocks.wooden_slab); + fillWithRandomizedBlocks(world, box, 3, 7, 4, 3, 7, 6, rand, roofStairs); + fillWithRandomizedBlocks(world, box, 3, 7, 10, 3, 7, 13, rand, roofStairs); + fillWithRandomizedBlocks(world, box, 2, 6, 4, 2, 6, 13, rand, roofStairs); + fillWithRandomizedBlocks(world, box, 1, 5, 4, 1, 5, 13, rand, roofStairs); + + //Deco + int metaN = getDecoMeta(3); + int metaE = getDecoMeta(4); + + //Webs + randomlyFillWithBlocks(world, box, rand, 0.05F, 12, 3, 3, 12, 3, 8, Blocks.web); + randomlyFillWithBlocks(world, box, rand, 0.05F, 10, 4, 3, 11, 4, 8, Blocks.web); + randomlyFillWithBlocks(world, box, rand, 0.05F, 5, 3, 2, 8, 3, 2, Blocks.web); + randomlyFillWithBlocks(world, box, rand, 0.05F, 5, 3, 3, 9, 3, 8, Blocks.web); + randomlyFillWithBlocks(world, box, rand, 0.05F, 2, 3, 5, 4, 3, 8, Blocks.web); + randomlyFillWithBlocks(world, box, rand, 0.05F, 2, 3, 10, 7, 3, 12, Blocks.web); + //Doors + placeDoor(world, box, Blocks.wooden_door, 1, false, false, 11, 1, 2); + placeDoor(world, box, Blocks.wooden_door, 1, false, rand.nextBoolean(), 4, 1, 9); + placeDoor(world, box, Blocks.wooden_door, 2, false, rand.nextBoolean(), 8, 1, 11); + //Windows + randomlyFillWithBlocks(world, box, rand, 0.5F, 6, 2, 1, 7, 3, 1, Blocks.glass_pane); + randomlyFillWithBlocks(world, box, rand, 0.5F, 13, 2, 5, 13, 2, 6, Blocks.glass_pane); + randomlyFillWithBlocks(world, box, rand, 0.5F, 10, 2, 9, 11, 3, 9, Blocks.glass_pane); + randomlyFillWithBlocks(world, box, rand, 0.5F, 4, 2, 13, 5, 3, 13, Blocks.glass_pane); + randomlyFillWithBlocks(world, box, rand, 0.5F, 1, 2, 11, 1, 2, 11, Blocks.glass_pane); + randomlyFillWithBlocks(world, box, rand, 0.5F, 1, 2, 6, 1, 2, 7, Blocks.glass_pane); + randomlyFillWithBlocks(world, box, rand, 0.5F, 4, 6, 4, 5, 6, 4, Blocks.glass_pane); + randomlyFillWithBlocks(world, box, rand, 0.5F, 4, 6, 13, 5, 6, 13, Blocks.glass_pane); + //Attic Access + placeBlockAtCurrentPosition(world, Blocks.trapdoor, getDecoModelMeta(4) >> 2, 6, 4, 10, box); + fillWithMetadataBlocks(world, box, 6, 2, 10, 6, 3, 10, Blocks.ladder, metaN); + //Furniture + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairN | 4, 12, 1, 5, box); //tables + placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 8, 12, 1, 6, box); + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairS | 4, 12, 1, 7, box); + fillWithMetadataBlocks(world, box, 9, 1, 4, 9, 1, 5, Blocks.dark_oak_stairs, stairE | 4); + fillWithMetadataBlocks(world, box, 8, 1, 4, 8, 1, 5, Blocks.wooden_slab, 13); + fillWithMetadataBlocks(world, box, 7, 1, 4, 7, 1, 5, Blocks.dark_oak_stairs, stairW | 4); + placeBlockAtCurrentPosition(world, Blocks.dark_oak_stairs, stairS | 4, 8, 1, 2, box); //couch + placeBlockAtCurrentPosition(world, Blocks.dark_oak_stairs, stairW, 7, 1, 2, box); + placeBlockAtCurrentPosition(world, Blocks.dark_oak_stairs, stairS, 6, 1, 2, box); + fillWithMetadataBlocks(world, box, 5, 1, 2, 5, 1, 3, Blocks.dark_oak_stairs, stairE); + placeBlockAtCurrentPosition(world, Blocks.dark_oak_stairs, stairN, 5, 1, 4, box); + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairW, 10, 1, 5, box); //chairs + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairN, 8, 1, 6, box); + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairE, 9, 1, 8, box); //bookshelf + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairE | 4, 9, 2, 8, box); + fillWithBlocks(world, box, 8, 1, 8, 8, 2, 8, Blocks.bookshelf); + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairW, 7, 1, 8, box); + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairW | 4, 7, 2, 8, box); + fillWithMetadataBlocks(world, box, 7, 3, 8, 9, 3, 8, Blocks.wooden_slab, 1); + placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 4, 1, 5, box); //kitchen + placeBlockAtCurrentPosition(world, rand.nextBoolean() ? ModBlocks.machine_electric_furnace_off : Blocks.furnace, metaN, 3, 1, 5, box); //idk why the meta is off between all these blocks and idc + fillWithBlocks(world, box, 2, 1, 5, 2, 1, 6, Blocks.double_stone_slab); + placeBlockAtCurrentPosition(world, Blocks.cauldron, 2, 2, 1, 7, box); + placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 2, 1, 8, box); + placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 4, 3, 5, box); + placeBlockAtCurrentPosition(world, Blocks.redstone_lamp, 0, 3, 3, 5, box); + placeBlockAtCurrentPosition(world, Blocks.double_stone_slab, 0, 2, 3, 5, box); + placeBlockAtCurrentPosition(world, ModBlocks.steel_wall, metaN, 3, 3, 6, box); + placeBlockAtCurrentPosition(world, ModBlocks.radiorec, getDecoMeta(2), 8, 2, 2, box); + placeBlockAtCurrentPosition(world, Blocks.flower_pot, 0, 7, 2, 4, box); + + fillWithBlocks(world, box, 2, 1, 12, 3, 1, 12, Blocks.bookshelf); //bookshelf/desk + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairE | 4, 4, 1, 12, box); + placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 8, 5, 1, 12, box); + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairW | 4, 6, 1, 12, box); + fillWithBlocks(world, box, 7, 1, 12, 7, 2, 12, Blocks.bookshelf); + placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 5, 5, 1, 11, box); //seat + placeBed(world, box, 1, 3, 1, 10); + placeBlockAtCurrentPosition(world, Blocks.flower_pot, 0, 4, 2, 12, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_computer, getDecoModelMeta(0), 5, 2, 12, box); + + fillWithMetadataBlocks(world, box, 4, 5, 5, 5, 5, 5, Blocks.dark_oak_stairs, stairS | 4); //seat and desk + placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 1, 4, 5, 6, box); + placeBlockAtCurrentPosition(world, ModBlocks.crate_can, 0, 7, 5, 7, box); //conserve crates + placeBlockAtCurrentPosition(world, ModBlocks.crate_can, 0, 2, 5, 9, box); + placeBlockAtCurrentPosition(world, ModBlocks.crate_can, 0, 3, 5, 11, box); + if(rand.nextBoolean()) + placeBlockAtCurrentPosition(world, ModBlocks.machine_diesel, metaE, 7, 5, 9, box); + placeBlockAtCurrentPosition(world, rand.nextBoolean() ? ModBlocks.crate_weapon : ModBlocks.crate, 0, 6, 5, 12, box); + + //inventories + generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(2), 7, 1, 10, ItemPool.getPool(ItemPoolsComponent.POOL_OFFICE_TRASH), 4); + generateInvContents(world, box, rand, Blocks.chest, metaE, 7, 5, 5, ItemPool.getPool(ItemPoolsLegacy.POOL_GENERIC), 8); + //loot + placeBlockAtCurrentPosition(world, ModBlocks.deco_loot, 0, 3, 2, 12, box); + LootGenerator.lootBookLore(world, getXWithOffset(3, 12), getYWithOffset(2), getZWithOffset(3, 12), HbmChestContents.generateLabBook(rand)); //TODO write more lore + placeBlockAtCurrentPosition(world, ModBlocks.deco_loot, 0, 5, 6, 5, box); + LootGenerator.lootMakeshiftGun(world, getXWithOffset(5, 5), getYWithOffset(6), getZWithOffset(5, 5)); + placeRandomBobble(world, box, rand, 5, 5, 12); + + return true; + } + + //i don't like this class + public static class BrokenStairs extends BlockSelector { + //man. + public void setMetadata(int meta) { + this.selectedBlockMetaData = meta; + } + //mannnnnnnn. + @Override + public int getSelectedBlockMetaData() { + return this.field_151562_a instanceof BlockStairs ? this.selectedBlockMetaData : 0; + } + + @Override + public void selectBlocks(Random rand, int posX, int posY, int posZ, boolean notInterior) { + float chance = rand.nextFloat(); + + if(chance < 0.7) + this.field_151562_a = Blocks.oak_stairs; + else if(chance < 0.97) + this.field_151562_a = Blocks.wooden_slab; + else + this.field_151562_a = Blocks.air; + } + } + + //this fucking sucks. i am racist against the blockselector class + public static class BrokenBlocks extends BlockSelector { + + @Override + public void selectBlocks(Random rand, int posX, int posY, int posZ, boolean notInterior) { + float chance = rand.nextFloat(); + + if(chance < 0.6) { + this.field_151562_a = Blocks.planks; + this.selectedBlockMetaData = 0; + } else if(chance < 0.8) { + this.field_151562_a = Blocks.oak_stairs; + this.selectedBlockMetaData = rand.nextInt(4); + } else { + this.field_151562_a = Blocks.wooden_slab; + this.selectedBlockMetaData = 0; + } + } + } + } } diff --git a/src/main/java/com/hbm/world/gen/component/Component.java b/src/main/java/com/hbm/world/gen/component/Component.java index 8ffa1292e..0a652a6eb 100644 --- a/src/main/java/com/hbm/world/gen/component/Component.java +++ b/src/main/java/com/hbm/world/gen/component/Component.java @@ -11,7 +11,6 @@ import com.hbm.handler.MultiblockHandlerXR; import com.hbm.tileentity.machine.TileEntityLockableBase; import net.minecraft.block.Block; -import net.minecraft.block.BlockWeb; import net.minecraft.block.material.Material; import net.minecraft.init.Blocks; import net.minecraft.inventory.IInventory; @@ -25,12 +24,7 @@ import net.minecraft.world.gen.structure.StructureComponent; import net.minecraftforge.common.util.ForgeDirection; abstract public class Component extends StructureComponent { - /** The size of the bounding box for this feature in the X axis */ - protected int sizeX; - /** The size of the bounding box for this feature in the Y axis */ - protected int sizeY; - /** The size of the bounding box for this feature in the Z axis */ - protected int sizeZ; + /** Average height (Presumably stands for height position) */ protected int hpos = -1; @@ -44,9 +38,6 @@ abstract public class Component extends StructureComponent { protected Component(Random rand, int minX, int minY, int minZ, int maxX, int maxY, int maxZ ) { super(0); - this.sizeX = maxX; - this.sizeY = maxY; - this.sizeZ = maxZ; this.coordBaseMode = rand.nextInt(4); switch(this.coordBaseMode) { @@ -70,17 +61,11 @@ abstract public class Component extends StructureComponent { /** Set to NBT */ protected void func_143012_a(NBTTagCompound nbt) { - nbt.setInteger("Width", this.sizeX); - nbt.setInteger("Height", this.sizeY); - nbt.setInteger("Depth", this.sizeZ); nbt.setInteger("HPos", this.hpos); } /** Get from NBT */ protected void func_143011_b(NBTTagCompound nbt) { - this.sizeX = nbt.getInteger("Width"); - this.sizeY = nbt.getInteger("Height"); - this.sizeZ = nbt.getInteger("Depth"); this.hpos = nbt.getInteger("HPos"); } @@ -147,7 +132,7 @@ abstract public class Component extends StructureComponent { /** * Gets metadata for rotatable DecoBlock * honestly i don't remember how i did this and i'm scared to optimize it because i fail to see any reasonable patterns like the pillar - * seriously, 3 fucking bits for 4 orientations when you can do it easily with 2? + * should work for hoppers, just flip dir for N/S and W/E * @param metadata (2 for facing South, 3 for facing North, 4 for facing East, 5 for facing West */ protected int getDecoMeta(int metadata) { @@ -210,10 +195,15 @@ abstract public class Component extends StructureComponent { metadata = metadata ^ 3; break; } - + //genuinely like. why did i do that return metadata << 2; //To accommodate for BlockDecoModel's shift in the rotation bits; otherwise, simply bit-shift right and or any non-rotation meta after } + //works for crts, toasters, and anything that follows mc's cardinal dirs. S: 0, W: 1, N: 2, E: 3 + protected int getCRTMeta(int meta) { + return (meta + this.coordBaseMode) % 4; + } + /** * Gets orientation-adjusted meta for stairs. * 0 = West, 1 = East, 2 = North, 3 = South @@ -377,6 +367,7 @@ abstract public class Component extends StructureComponent { return generateInvContents(world, box, rand, block, 0, featureX, featureY, featureZ, content, amount); } + //TODO: explore min / max item generations: e.g., between 3 and 5 separate items are generated protected boolean generateInvContents(World world, StructureBoundingBox box, Random rand, Block block, int meta, int featureX, int featureY, int featureZ, WeightedRandomChestContent[] content, int amount) { int posX = this.getXWithOffset(featureX, featureZ); int posY = this.getYWithOffset(featureY); @@ -520,47 +511,11 @@ abstract public class Component extends StructureComponent { } } - /** Fills an area with cobwebs. Cobwebs will concentrate on corners and surfaces without floating cobwebs. */ - protected void fillWithCobwebs(World world, StructureBoundingBox box, Random rand, int minX, int minY, int minZ, int maxX, int maxY, int maxZ) { - - if(getYWithOffset(minY) < box.minY || getYWithOffset(maxY) > box.maxY) - return; - - for(int x = minX; x <= maxX; x++) { - - for(int z = minZ; z <= maxZ; z++) { - int posX = getXWithOffset(x, z); - int posZ = getZWithOffset(x, z); - - if(posX >= box.minX && posX <= box.maxX && posZ >= box.minZ && posZ <= box.maxZ) { - for(int y = minY; y <= maxY; y++) { - int posY = getYWithOffset(y); - Block genTarget = world.getBlock(posX, posY, posZ); - - if(!genTarget.isAir(world, posX, posY, posZ)) - continue; - - int validNeighbors = 0; - for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { - Block neighbor = world.getBlock(posX + dir.offsetX, posY + dir.offsetY, posZ + dir.offsetZ); - - if(neighbor.getMaterial().blocksMovement() || neighbor instanceof BlockWeb) - validNeighbors++; - } - - if(validNeighbors > 5 || (validNeighbors > 1 && rand.nextInt(6 - validNeighbors) == 0)) - world.setBlock(posX, posY, posZ, Blocks.web); - } - } - } - } - } - /** getXWithOffset & getZWithOffset Methods that are actually fixed **/ //Turns out, this entire time every single minecraft structure is mirrored instead of rotated when facing East and North //Also turns out, it's a scarily easy fix that they somehow didn't see *entirely* @Override - protected int getXWithOffset(int x, int z) { + public int getXWithOffset(int x, int z) { switch(this.coordBaseMode) { case 0: return this.boundingBox.minX + x; @@ -576,7 +531,7 @@ abstract public class Component extends StructureComponent { } @Override - protected int getZWithOffset(int x, int z) { + public int getZWithOffset(int x, int z) { switch(this.coordBaseMode) { case 0: return this.boundingBox.minZ + z; @@ -597,7 +552,7 @@ abstract public class Component extends StructureComponent { if(getYWithOffset(minY) < box.minY || getYWithOffset(maxY) > box.maxY) return; - for(int x = minX; x <= maxX; x++) { + for(int x = minX; x <= maxX; x++) { //TODO these could technically be optimized a bit more. probably won't do anything but worth for(int z = minZ; z <= maxZ; z++) { int posX = getXWithOffset(x, z); @@ -739,7 +694,7 @@ abstract public class Component extends StructureComponent { } } } - + //TODO replace the shitty block selector with something else. probably a lambda that returns a metablock for convenience protected void fillWithRandomizedBlocks(World world, StructureBoundingBox box, int minX, int minY, int minZ, int maxX, int maxY, int maxZ, Random rand, BlockSelector selector) { //so i don't have to replace shit if(getYWithOffset(minY) < box.minY || getYWithOffset(maxY) > box.maxY) @@ -838,6 +793,29 @@ abstract public class Component extends StructureComponent { } } + protected void randomlyFillWithBlocks(World world, StructureBoundingBox box, Random rand, float randLimit, int minX, int minY, int minZ, int maxX, int maxY, int maxZ, Block block, int meta) { + + if(getYWithOffset(minY) < box.minY || getYWithOffset(maxY) > box.maxY) + return; + + for(int x = minX; x <= maxX; x++) { + + for(int z = minZ; z <= maxZ; z++) { + int posX = getXWithOffset(x, z); + int posZ = getZWithOffset(x, z); + + if(posX >= box.minX && posX <= box.maxX && posZ >= box.minZ && posZ <= box.maxZ) { + for(int y = minY; y <= maxY; y++) { + int posY = getYWithOffset(y); + + if(rand.nextFloat() <= randLimit) + world.setBlock(posX, posY, posZ, block, meta, 2); + } + } + } + } + } + protected ForgeDirection getDirection(ForgeDirection dir) { switch(coordBaseMode) { default: //South @@ -851,17 +829,35 @@ abstract public class Component extends StructureComponent { } } + /** Sets the core block for a BlockDummyable multiblock. WARNING: Does not take {@link com.hbm.blocks.BlockDummyable#getDirModified(ForgeDirection)} or {@link com.hbm.blocks.BlockDummyable#getMetaForCore(World, int, int, int, EntityPlayer, int)} + * into account yet! This will be changed as it comes up!
+ * For BlockDummyables, 'dir' always faces the player, being the opposite of the player's direction. This is already taken into account. */ + protected void placeCore(World world, StructureBoundingBox box, Block block, ForgeDirection dir, int x, int y, int z) { + int posX = getXWithOffset(x, z); + int posZ = getZWithOffset(x, z); + int posY = getYWithOffset(y); + + if(!box.isVecInside(posX, posY, posZ)) return; + + if(dir == null) + dir = ForgeDirection.NORTH; + + dir = getDirection(dir.getOpposite()); + world.setBlock(posX, posY, posZ, block, dir.ordinal() + BlockDummyable.offset, 2); + } + //always set the core block first - /** StructureComponent-friendly method for {@link com.hbm.handler.MultiblockHandlerXR#fillSpace(World, int, int, int, int[], Block, ForgeDirection)}. Prevents runoff outside of the provided bounding box. */ + /** StructureComponent-friendly method for {@link com.hbm.handler.MultiblockHandlerXR#fillSpace(World, int, int, int, int[], Block, ForgeDirection)}. Prevents runoff outside of the provided bounding box.
+ * For BlockDummyables, 'dir' always faces the player, being the opposite of the player's direction. This is already taken into account. */ protected void fillSpace(World world, StructureBoundingBox box, int x, int y, int z, int[] dim, Block block, ForgeDirection dir) { if(getYWithOffset(y - dim[1]) < box.minY || getYWithOffset(y + dim[0]) > box.maxY) //the BlockDummyable will be fucked regardless if it goes beyond either limit return; if(dir == null) - dir = ForgeDirection.SOUTH; + dir = ForgeDirection.NORTH; - dir = getDirection(dir); + dir = getDirection(dir.getOpposite()); int count = 0; diff --git a/src/main/java/com/hbm/world/gen/component/OfficeFeatures.java b/src/main/java/com/hbm/world/gen/component/OfficeFeatures.java index e4a96eabb..353b2a06e 100644 --- a/src/main/java/com/hbm/world/gen/component/OfficeFeatures.java +++ b/src/main/java/com/hbm/world/gen/component/OfficeFeatures.java @@ -3,8 +3,12 @@ package com.hbm.world.gen.component; import java.util.Random; import com.hbm.blocks.ModBlocks; +import com.hbm.itempool.ItemPool; +import com.hbm.itempool.ItemPoolsComponent; +import com.hbm.itempool.ItemPoolsLegacy; import com.hbm.lib.HbmChestContents; import com.hbm.util.LootGenerator; + import net.minecraft.init.Blocks; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; @@ -29,8 +33,8 @@ public class OfficeFeatures { super(); } - public LargeOffice(Random rand, int minX, int minY, int minZ) { - super(rand, minX, minY, minZ, 14, 5, 12); + public LargeOffice(Random rand, int minX, int minZ) { + super(rand, minX, 64, minZ, 14, 5, 12); this.hasPlacedLoot[0] = false; this.hasPlacedLoot[1] = false; } @@ -59,60 +63,60 @@ public class OfficeFeatures { this.boundingBox.offset(0, -1, 0); - placeFoundationUnderneath(world, Blocks.stonebrick, 0, 5, 0, sizeX, 1, -1, box); - placeFoundationUnderneath(world, Blocks.stonebrick, 0, 0, 2, sizeX, 7, -1, box); - placeFoundationUnderneath(world, Blocks.stonebrick, 0, 0, 8, 8, sizeZ, 0, box); - placeFoundationUnderneath(world, Blocks.stonebrick, 0, 9, 8, sizeX, sizeZ, -1, box); + placeFoundationUnderneath(world, Blocks.stonebrick, 0, 5, 0, 14, 1, -1, box); + placeFoundationUnderneath(world, Blocks.stonebrick, 0, 0, 2, 14, 7, -1, box); + placeFoundationUnderneath(world, Blocks.stonebrick, 0, 0, 8, 8, 12, 0, box); + placeFoundationUnderneath(world, Blocks.stonebrick, 0, 9, 8, 14, 12, -1, box); fillWithAir(world, box, 1, 1, 3, 4, 3, 6); - fillWithAir(world, box, 6, 1, 1, sizeX - 1, 3, 6); - fillWithAir(world, box, 10, 1, 7, sizeX - 1, 3, sizeZ - 1); + fillWithAir(world, box, 6, 1, 1, 14 - 1, 3, 6); + fillWithAir(world, box, 10, 1, 7, 14 - 1, 3, 12 - 1); //Pillars //Back fillWithBlocks(world, box, 0, 0, 2, 0, 4, 2, ModBlocks.concrete_pillar); fillWithBlocks(world, box, 5, 0, 0, 5, 4, 0, ModBlocks.concrete_pillar); - fillWithBlocks(world, box, sizeX, 0, 0, sizeX, 4, 0, ModBlocks.concrete_pillar); + fillWithBlocks(world, box, 14, 0, 0, 14, 4, 0, ModBlocks.concrete_pillar); //Front fillWithBlocks(world, box, 0, 0, 7, 0, 3, 7, ModBlocks.concrete_pillar); - fillWithBlocks(world, box, 0, 0, sizeZ, 0, 3, sizeZ, ModBlocks.concrete_pillar); - fillWithBlocks(world, box, 3, 0, sizeZ, 3, 3, sizeZ, ModBlocks.concrete_pillar); - fillWithBlocks(world, box, 6, 0, sizeZ, 6, 3, sizeZ, ModBlocks.concrete_pillar); - fillWithBlocks(world, box, 9, 0, sizeZ, 9, 3, sizeZ, ModBlocks.concrete_pillar); + fillWithBlocks(world, box, 0, 0, 12, 0, 3, 12, ModBlocks.concrete_pillar); + fillWithBlocks(world, box, 3, 0, 12, 3, 3, 12, ModBlocks.concrete_pillar); + fillWithBlocks(world, box, 6, 0, 12, 6, 3, 12, ModBlocks.concrete_pillar); + fillWithBlocks(world, box, 9, 0, 12, 9, 3, 12, ModBlocks.concrete_pillar); fillWithBlocks(world, box, 9, 0, 7, 9, 3, 7, ModBlocks.concrete_pillar); - fillWithBlocks(world, box, sizeX, 0, sizeZ, sizeX, 4, sizeZ, ModBlocks.concrete_pillar); + fillWithBlocks(world, box, 14, 0, 12, 14, 4, 12, ModBlocks.concrete_pillar); //Walls //Back fillWithRandomizedBlocks(world, box, 1, 0, 2, 5, 4, 2, rand, ConcreteBricks); fillWithRandomizedBlocks(world, box, 5, 0, 1, 5, 4, 1, rand, ConcreteBricks); - fillWithRandomizedBlocks(world, box, 6, 0, 0, sizeX - 1, 1, 0, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 6, 0, 0, 14 - 1, 1, 0, rand, ConcreteBricks); fillWithRandomizedBlocks(world, box, 6, 2, 0, 6, 2, 0, rand, ConcreteBricks); fillWithRandomizedBlocks(world, box, 9, 2, 0, 10, 2, 0, rand, ConcreteBricks); - fillWithRandomizedBlocks(world, box, sizeX - 1, 2, 0, sizeX - 1, 2, 0, rand, ConcreteBricks); - fillWithRandomizedBlocks(world, box, 6, 3, 0, sizeX - 1, 4, 0, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 14 - 1, 2, 0, 14 - 1, 2, 0, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 6, 3, 0, 14 - 1, 4, 0, rand, ConcreteBricks); //Right - fillWithRandomizedBlocks(world, box, sizeX, 0, 1, sizeX, 1, sizeZ - 1, rand, ConcreteBricks); - fillWithRandomizedBlocks(world, box, sizeX, 2, 1, sizeX, 2, 2, rand, ConcreteBricks); - fillWithRandomizedBlocks(world, box, sizeX, 2, 5, sizeX, 2, 7, rand, ConcreteBricks); - fillWithRandomizedBlocks(world, box, sizeX, 2, sizeZ - 2, sizeX, 2, sizeZ - 1, rand, ConcreteBricks); - fillWithRandomizedBlocks(world, box, sizeX, 3, 1, sizeX, 4, sizeZ - 1, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 14, 0, 1, 14, 1, 12 - 1, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 14, 2, 1, 14, 2, 2, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 14, 2, 5, 14, 2, 7, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 14, 2, 12 - 2, 14, 2, 12 - 1, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 14, 3, 1, 14, 4, 12 - 1, rand, ConcreteBricks); //Front - fillWithRandomizedBlocks(world, box, 0, 4, sizeZ, sizeX - 1, 4, sizeZ, rand, ConcreteBricks); - fillWithRandomizedBlocks(world, box, 10, 0, sizeZ, sizeX - 1, 1, sizeZ, rand, ConcreteBricks); - fillWithRandomizedBlocks(world, box, 10, 2, sizeZ, 10, 2, sizeZ, rand, ConcreteBricks); - fillWithRandomizedBlocks(world, box, sizeX - 1, 2, sizeZ, sizeX - 1, 2, sizeZ, rand, ConcreteBricks); - fillWithRandomizedBlocks(world, box, 10, 3, sizeZ, sizeX - 1, 3, sizeZ, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 0, 4, 12, 14 - 1, 4, 12, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 10, 0, 12, 14 - 1, 1, 12, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 10, 2, 12, 10, 2, 12, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 14 - 1, 2, 12, 14 - 1, 2, 12, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 10, 3, 12, 14 - 1, 3, 12, rand, ConcreteBricks); - fillWithRandomizedBlocks(world, box, 9, 0, 8, 9, 3, sizeZ - 1, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 9, 0, 8, 9, 3, 12 - 1, rand, ConcreteBricks); fillWithRandomizedBlocks(world, box, 1, 0, 7, 8, 0, 7, rand, ConcreteBricks); fillWithRandomizedBlocks(world, box, 1, 1, 7, 1, 2, 7, rand, ConcreteBricks); fillWithRandomizedBlocks(world, box, 4, 1, 7, 8, 3, 7, rand, ConcreteBricks); fillWithRandomizedBlocks(world, box, 1, 3, 7, 3, 3, 7, rand, ConcreteBricks); //Left - fillWithRandomizedBlocks(world, box, 0, 4, 3, 0, 4, sizeZ - 1, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 0, 4, 3, 0, 4, 12 - 1, rand, ConcreteBricks); fillWithRandomizedBlocks(world, box, 0, 0, 3, 0, 1, 6, rand, ConcreteBricks); fillWithRandomizedBlocks(world, box, 0, 2, 3, 0, 3, 3, rand, ConcreteBricks); fillWithRandomizedBlocks(world, box, 0, 2, 6, 0, 3, 6, rand, ConcreteBricks); @@ -121,21 +125,21 @@ public class OfficeFeatures { fillWithRandomizedBlocks(world, box, 5, 3, 6, 5, 3, 6, rand, ConcreteBricks); //Trim - randomlyFillWithBlocks(world, box, rand, 0.85F, 0, sizeY, 2, 5, sizeY, 2, Blocks.stone_slab); - randomlyFillWithBlocks(world, box, rand, 0.85F, 5, sizeY, 1, 5, sizeY, 1, Blocks.stone_slab); - randomlyFillWithBlocks(world, box, rand, 0.85F, 5, sizeY, 0, sizeX, sizeY, 0, Blocks.stone_slab); - randomlyFillWithBlocks(world, box, rand, 0.85F, sizeX, sizeY, 1, sizeX, sizeY, sizeZ, Blocks.stone_slab); - randomlyFillWithBlocks(world, box, rand, 0.85F, 0, sizeY, sizeZ, sizeX - 1, sizeY, sizeZ, Blocks.stone_slab); - randomlyFillWithBlocks(world, box, rand, 0.85F, 0, sizeY, 3, 0, sizeY, sizeZ - 1, Blocks.stone_slab); + randomlyFillWithBlocks(world, box, rand, 0.85F, 0, 5, 2, 5, 5, 2, Blocks.stone_slab); + randomlyFillWithBlocks(world, box, rand, 0.85F, 5, 5, 1, 5, 5, 1, Blocks.stone_slab); + randomlyFillWithBlocks(world, box, rand, 0.85F, 5, 5, 0, 14, 5, 0, Blocks.stone_slab); + randomlyFillWithBlocks(world, box, rand, 0.85F, 14, 5, 1, 14, 5, 12, Blocks.stone_slab); + randomlyFillWithBlocks(world, box, rand, 0.85F, 0, 5, 12, 14 - 1, 5, 12, Blocks.stone_slab); + randomlyFillWithBlocks(world, box, rand, 0.85F, 0, 5, 3, 0, 5, 12 - 1, Blocks.stone_slab); //Floor fillWithMetadataBlocks(world, box, 1, 0, 3, 4, 0, 6, Blocks.wool, 13); //Green Wool fillWithBlocks(world, box, 5, 0, 3, 5, 0, 6, ModBlocks.brick_light); - fillWithBlocks(world, box, 6, 0, 1, sizeX - 1, 0, 6, ModBlocks.brick_light); - fillWithBlocks(world, box, 10, 0, 7, sizeX - 1, 0, sizeZ - 1, ModBlocks.brick_light); + fillWithBlocks(world, box, 6, 0, 1, 14 - 1, 0, 6, ModBlocks.brick_light); + fillWithBlocks(world, box, 10, 0, 7, 14 - 1, 0, 12 - 1, ModBlocks.brick_light); //Ceiling - fillWithBlocks(world, box, 6, 4, 1, sizeX - 1, 4, 2, ModBlocks.brick_light); - fillWithBlocks(world, box, 1, 4, 3, sizeX - 1, 4, sizeZ - 1, ModBlocks.brick_light); + fillWithBlocks(world, box, 6, 4, 1, 14 - 1, 4, 2, ModBlocks.brick_light); + fillWithBlocks(world, box, 1, 4, 3, 14 - 1, 4, 12 - 1, ModBlocks.brick_light); //Decorations //Carpet @@ -143,10 +147,10 @@ public class OfficeFeatures { //Windows randomlyFillWithBlocks(world, box, rand, 0.75F, 0, 2, 4, 0, 3, 5, Blocks.glass_pane); randomlyFillWithBlocks(world, box, rand, 0.75F, 7, 2, 0, 8, 2, 0, Blocks.glass_pane); - randomlyFillWithBlocks(world, box, rand, 0.75F, sizeX - 3, 2, 0, sizeX - 2, 2, 0, Blocks.glass_pane); - randomlyFillWithBlocks(world, box, rand, 0.75F, sizeX, 2, 3, sizeX, 2, 4, Blocks.glass_pane); - randomlyFillWithBlocks(world, box, rand, 0.75F, sizeX, 2, 8, sizeX, 2, 9, Blocks.glass_pane); - randomlyFillWithBlocks(world, box, rand, 0.75F, sizeX - 3, 2, sizeZ, sizeX - 2, 2, sizeZ, Blocks.glass_pane); + randomlyFillWithBlocks(world, box, rand, 0.75F, 14 - 3, 2, 0, 14 - 2, 2, 0, Blocks.glass_pane); + randomlyFillWithBlocks(world, box, rand, 0.75F, 14, 2, 3, 14, 2, 4, Blocks.glass_pane); + randomlyFillWithBlocks(world, box, rand, 0.75F, 14, 2, 8, 14, 2, 9, Blocks.glass_pane); + randomlyFillWithBlocks(world, box, rand, 0.75F, 14 - 3, 2, 12, 14 - 2, 2, 12, Blocks.glass_pane); //Fuwnituwe >w< int stairMetaE = getStairMeta(1); //East int stairMetaN = getStairMeta(2); //*SHOULD* be north @@ -170,35 +174,35 @@ public class OfficeFeatures { placeBlockAtCurrentPosition(world, Blocks.flower_pot, 0, 8, 2, 4, box); //Desk 3 :3 placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairMetaEU, 10, 1, 1, box); - fillWithMetadataBlocks(world, box, 11, 1, 1, sizeX - 1, 1, 1, Blocks.spruce_stairs, stairMetaSU); - placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairMetaNU, sizeX - 1, 1, 2, box); - placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairMetaSU, sizeX - 1, 1, 3, box); - placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairMetaWU, sizeX - 1, 1, 4, box); - placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairMetaNU, sizeX - 1, 1, 5, box); + fillWithMetadataBlocks(world, box, 11, 1, 1, 14 - 1, 1, 1, Blocks.spruce_stairs, stairMetaSU); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairMetaNU, 14 - 1, 1, 2, box); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairMetaSU, 14 - 1, 1, 3, box); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairMetaWU, 14 - 1, 1, 4, box); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairMetaNU, 14 - 1, 1, 5, box); placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairMetaN, 11, 1, 2, box); //Chaiw ;3 - placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairMetaE, sizeX - 2, 1, 4, box); //Chaiw :333 - placeBlockAtCurrentPosition(world, ModBlocks.deco_computer, getDecoModelMeta(1), sizeX - 3, 2, 1, box); //South-facing Computer :3 - placeBlockAtCurrentPosition(world, ModBlocks.deco_computer, getDecoModelMeta(2), sizeX - 1, 2, 5, box); //West-facing Computer ^w^ - placeBlockAtCurrentPosition(world, Blocks.flower_pot, 0, sizeX - 1, 2, 3, box); - placeBlockAtCurrentPosition(world, ModBlocks.radiorec, getDecoMeta(5), sizeX - 1, 2, 2, box); //Wadio + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairMetaE, 14 - 2, 1, 4, box); //Chaiw :333 + placeBlockAtCurrentPosition(world, ModBlocks.deco_computer, getDecoModelMeta(1), 14 - 3, 2, 1, box); //South-facing Computer :3 + placeBlockAtCurrentPosition(world, ModBlocks.deco_computer, getDecoModelMeta(2), 14 - 1, 2, 5, box); //West-facing Computer ^w^ + placeBlockAtCurrentPosition(world, Blocks.flower_pot, 0, 14 - 1, 2, 3, box); + placeBlockAtCurrentPosition(world, ModBlocks.radiorec, getDecoMeta(5), 14 - 1, 2, 2, box); //Wadio //Desk 4 DX placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairMetaEU, 10, 1, 8, box); placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairMetaWU, 11, 1, 8, box); placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairMetaN, 10, 1, 9, box); //Chaiw ;3 placeBlockAtCurrentPosition(world, ModBlocks.deco_computer, getDecoModelMeta(1), 10, 2, 8, box); //South-facing Computer :33 //Desk 5 :333 - placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairMetaSU, sizeX - 1, 1, sizeZ - 3, box); - placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairMetaWU, sizeX - 1, 1, sizeZ - 2, box); - placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairMetaNU, sizeX - 1, 1, sizeZ - 1, box); - placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairMetaE, sizeX - 3, 1, sizeZ - 1, box); //UwU... Chaiw!!!! :333 I wove chaiws XD :333 OwO what's this?? chaiw???? :333333333333333333 - placeBlockAtCurrentPosition(world, ModBlocks.deco_computer, getDecoModelMeta(2), sizeX - 1, 2, sizeZ - 1, box); //West-facing Computer >w< + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairMetaSU, 14 - 1, 1, 12 - 3, box); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairMetaWU, 14 - 1, 1, 12 - 2, box); + placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairMetaNU, 14 - 1, 1, 12 - 1, box); + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairMetaE, 14 - 3, 1, 12 - 1, box); //UwU... Chaiw!!!! :333 I wove chaiws XD :333 OwO what's this?? chaiw???? :333333333333333333 + placeBlockAtCurrentPosition(world, ModBlocks.deco_computer, getDecoModelMeta(2), 14 - 1, 2, 12 - 1, box); //West-facing Computer >w< //Cobwebs pwobabwy //Maybe make a method for this eventually? //Something where the tops of ceilings + empty corners along walls get most cobwebs, //with no cobwebs hanging midair + it not being performance intensive randomlyFillWithBlocks(world, box, rand, 0.25F, 1, 3, 3, 4, 3, 6, Blocks.web); - randomlyFillWithBlocks(world, box, rand, 0.25F, 6, 3, 1, sizeX - 1, 3, 6, Blocks.web); - randomlyFillWithBlocks(world, box, rand, 0.25F, 10, 3, 7, sizeX - 1, 3, sizeZ - 1, Blocks.web); + randomlyFillWithBlocks(world, box, rand, 0.25F, 6, 3, 1, 14 - 1, 3, 6, Blocks.web); + randomlyFillWithBlocks(world, box, rand, 0.25F, 10, 3, 7, 14 - 1, 3, 12 - 1, Blocks.web); //Doors placeDoor(world, box, ModBlocks.door_office, 3, false, rand.nextBoolean(), 2, 1, 7); placeDoor(world, box, ModBlocks.door_office, 3, true, rand.nextBoolean(), 3, 1, 7); @@ -206,9 +210,9 @@ public class OfficeFeatures { //Woot if(!this.hasPlacedLoot[0]) - this.hasPlacedLoot[0] = generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), sizeX - 4, 1, sizeZ - 1, HbmChestContents.officeTrash, 8); + this.hasPlacedLoot[0] = generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 14 - 4, 1, 12 - 1, ItemPool.getPool(ItemPoolsComponent.POOL_OFFICE_TRASH), 8); if(!this.hasPlacedLoot[1]) { - this.hasPlacedLoot[1] = generateLockableContents(world, box, rand, ModBlocks.safe, getDecoMeta(3), 6, 1, 1, HbmChestContents.machineParts, 10, 0.5D); + this.hasPlacedLoot[1] = generateLockableContents(world, box, rand, ModBlocks.safe, getDecoMeta(3), 6, 1, 1, ItemPool.getPool(ItemPoolsComponent.POOL_MACHINE_PARTS), 10, 0.5D); if(rand.nextInt(2) == 0) generateLoreBook(world, box, 6, 1, 1, 7, HbmChestContents.generateOfficeBook(rand)); } @@ -230,8 +234,8 @@ public class OfficeFeatures { super(); } - public LargeOfficeCorner(Random rand, int minX, int minY, int minZ) { - super(rand, minX, minY, minZ, 11, 15, 14); + public LargeOfficeCorner(Random rand, int minX, int minZ) { + super(rand, minX, 64, minZ, 11, 15, 14); } @Override @@ -525,27 +529,26 @@ public class OfficeFeatures { placeBlockAtCurrentPosition(world, Blocks.flower_pot, 0, 5, 13, 9, box); placeBlockAtCurrentPosition(world, Blocks.flower_pot, 0, 7, 13, 11, box); - generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(3), 9, 1, 7, HbmChestContents.filingCabinet, 4); - generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(1), 7, 5, 4, HbmChestContents.filingCabinet, 4); - generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(1), 7, 6, 4, HbmChestContents.filingCabinet, 4); - generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(2), 10, 5, 7, HbmChestContents.filingCabinet, 4); - generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 10, 5, 12, HbmChestContents.filingCabinet, 4); - generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 10, 6, 12, HbmChestContents.filingCabinet, 4); - generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 2, 9, 5, HbmChestContents.filingCabinet, 4); + generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(3), 9, 1, 7, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 4); + generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(1), 7, 5, 4, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 4); + generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(1), 7, 6, 4, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 4); + generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(2), 10, 5, 7, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 4); + generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 10, 5, 12, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 4); + generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 10, 6, 12, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 4); + generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 2, 9, 5, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 4); - generateLockableContents(world, box, rand, ModBlocks.safe, getDecoMeta(2), 1, 9, 13, HbmChestContents.officeTrash, 10, 1.0D); + generateLockableContents(world, box, rand, ModBlocks.safe, getDecoMeta(2), 1, 9, 13, ItemPool.getPool(ItemPoolsComponent.POOL_OFFICE_TRASH), 10, 1.0D); if(rand.nextInt(2) == 0) generateLoreBook(world, box, 1, 9, 13, 7, HbmChestContents.generateOfficeBook(rand)); - generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 2, 9, 13, HbmChestContents.filingCabinet, 4); - generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 3, 9, 13, HbmChestContents.filingCabinet, 4); - generateLockableContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 3, 10, 13, HbmChestContents.expensive, 8, 0.1D); + generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 2, 9, 13, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 4); + generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 3, 9, 13, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 4); + generateLockableContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 3, 10, 13, ItemPool.getPool(ItemPoolsLegacy.POOL_EXPENSIVE), 8, 0.1D); placeBlockAtCurrentPosition(world, ModBlocks.deco_loot, 0, 6, 13, 11, box); LootGenerator.lootCapStash(world, this.getXWithOffset(6, 11), this.getYWithOffset(13), this.getZWithOffset(6, 11)); placeBlockAtCurrentPosition(world, ModBlocks.deco_loot, 0, 1, 10, 11, box); LootGenerator.lootMedicine(world, this.getXWithOffset(1, 11), this.getYWithOffset(10), this.getZWithOffset(1, 11)); - //this hurt my soul return true; diff --git a/src/main/java/com/hbm/world/gen/component/RuinFeatures.java b/src/main/java/com/hbm/world/gen/component/RuinFeatures.java index b5f5d141d..9204e7b0e 100644 --- a/src/main/java/com/hbm/world/gen/component/RuinFeatures.java +++ b/src/main/java/com/hbm/world/gen/component/RuinFeatures.java @@ -26,8 +26,8 @@ public class RuinFeatures { super(); } - public NTMRuin1(Random rand, int minX, int minY, int minZ) { - super(rand, minX, minY, minZ, 8, 6, 10); + public NTMRuin1(Random rand, int minX, int minZ) { + super(rand, minX, 64, minZ, 8, 6, 10); } @Override @@ -39,52 +39,52 @@ public class RuinFeatures { } //System.out.println("" + this.boundingBox.minX + ", " + this.boundingBox.minY + ", " + this.boundingBox.minZ); - placeFoundationUnderneath(world, Blocks.stonebrick, 0, 0, 0, sizeX, sizeZ, -1, box); + placeFoundationUnderneath(world, Blocks.stonebrick, 0, 0, 0, 8, 10, -1, box); int pillarMetaWE = this.getPillarMeta(4); int pillarMetaNS = this.getPillarMeta(8); - this.fillWithBlocks(world, box, 0, 0, 0, 0, sizeY, 0, ModBlocks.concrete_pillar, Blocks.air, false); //Back Wall + this.fillWithBlocks(world, box, 0, 0, 0, 0, 6, 0, ModBlocks.concrete_pillar, Blocks.air, false); //Back Wall this.fillWithMetadataBlocks(world, box, 1, 3, 0, 3, 3, 0, ModBlocks.concrete_pillar, pillarMetaWE, Blocks.air, 0, false); - this.fillWithBlocks(world, box, 4, 0, 0, 4, sizeY - 1, 0, ModBlocks.concrete_pillar, Blocks.air, false); - this.fillWithMetadataBlocks(world, box, 5, 3, 0, sizeX - 1, 3, 0, ModBlocks.concrete_pillar, pillarMetaWE, Blocks.air, 0, false); - this.fillWithBlocks(world, box, sizeX, 0, 0, sizeX, sizeY - 1, 0, ModBlocks.concrete_pillar, Blocks.air, false); + this.fillWithBlocks(world, box, 4, 0, 0, 4, 6 - 1, 0, ModBlocks.concrete_pillar, Blocks.air, false); + this.fillWithMetadataBlocks(world, box, 5, 3, 0, 8 - 1, 3, 0, ModBlocks.concrete_pillar, pillarMetaWE, Blocks.air, 0, false); + this.fillWithBlocks(world, box, 8, 0, 0, 8, 6 - 1, 0, ModBlocks.concrete_pillar, Blocks.air, false); this.fillWithRandomizedBlocks(world, box, 1, 0, 0, 3, 0, 0, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, 5, 0, 0, sizeX - 1, 0, 0, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 5, 0, 0, 8 - 1, 0, 0, false, rand, RandomConcreteBricks); this.fillWithRandomizedBlocks(world, box, 1, 1, 0, 1, 2, 0, false, rand, RandomConcreteBricks); this.fillWithRandomizedBlocks(world, box, 3, 1, 0, 3, 2, 0, false, rand, RandomConcreteBricks); this.fillWithRandomizedBlocks(world, box, 5, 1, 0, 5, 2, 0, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, sizeX - 1, 1, 0, sizeX - 1, 2, 0, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 8 - 1, 1, 0, 8 - 1, 2, 0, false, rand, RandomConcreteBricks); this.fillWithRandomizedBlocks(world, box, 1, 4, 0, 3, 4, 0, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, 5, 4, 0, sizeX - 1, 4, 0, false, rand, RandomConcreteBricks); - this.fillWithMetadataBlocks(world, box, 0, 3, 1, 0, 3, sizeZ - 1, ModBlocks.concrete_pillar, pillarMetaNS, Blocks.air, 0, false); //Left Wall - this.fillWithBlocks(world, box, 0, 0, sizeZ, 0, sizeY - 1, sizeZ, ModBlocks.concrete_pillar, Blocks.air, false); - this.fillWithRandomizedBlocks(world, box, 0, 0, 1, 0, 0, sizeZ - 1, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 5, 4, 0, 8 - 1, 4, 0, false, rand, RandomConcreteBricks); + this.fillWithMetadataBlocks(world, box, 0, 3, 1, 0, 3, 10 - 1, ModBlocks.concrete_pillar, pillarMetaNS, Blocks.air, 0, false); //Left Wall + this.fillWithBlocks(world, box, 0, 0, 10, 0, 6 - 1, 10, ModBlocks.concrete_pillar, Blocks.air, false); + this.fillWithRandomizedBlocks(world, box, 0, 0, 1, 0, 0, 10 - 1, false, rand, RandomConcreteBricks); this.fillWithRandomizedBlocks(world, box, 0, 1, 1, 0, 2, 2, false, rand, RandomConcreteBricks); this.fillWithRandomizedBlocks(world, box, 0, 1, 4, 0, 2, 6, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, 0, 1, sizeZ - 2, 0, 2, sizeZ - 1, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 0, 1, 10 - 2, 0, 2, 10 - 1, false, rand, RandomConcreteBricks); this.fillWithRandomizedBlocks(world, box, 0, 4, 1, 0, 4, 5, false, rand, RandomConcreteBricks); this.fillWithRandomizedBlocks(world, box, 0, 5, 1, 0, 5, 2, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, 0, 4, sizeZ - 2, 0, 4, sizeZ - 1, false, rand, RandomConcreteBricks); - this.fillWithMetadataBlocks(world, box, 1, 3, sizeZ, 3, 3, sizeZ, ModBlocks.concrete_pillar, pillarMetaWE, Blocks.air, 0, false); //Front Wall - this.fillWithBlocks(world, box, 4, 0, sizeZ, 4, sizeY - 2, sizeZ, ModBlocks.concrete_pillar, Blocks.air, false); - this.fillWithMetadataBlocks(world, box, 5, 3, sizeZ, sizeX - 1, 3, sizeZ, ModBlocks.concrete_pillar, pillarMetaWE, Blocks.air, 0, false); - this.fillWithBlocks(world, box, sizeX, 0, sizeZ, sizeX, sizeY - 2, sizeZ, ModBlocks.concrete_pillar, Blocks.air, false); - this.fillWithRandomizedBlocks(world, box, 1, 0, sizeZ, 3, 0, sizeZ, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, 5, 0, sizeZ, sizeX - 1, 0, sizeZ, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, 1, 1, sizeZ, 1, 2, sizeZ, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, 3, 1, sizeZ, 3, 2, sizeZ, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, 5, 1, sizeZ, 5, 2, sizeZ, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, sizeX - 1, 1, sizeZ, sizeX - 1, 2, sizeZ, false, rand, RandomConcreteBricks); - this.fillWithMetadataBlocks(world, box, sizeX, 3, 1, sizeX, 3, 2, ModBlocks.concrete_pillar, pillarMetaNS, Blocks.air, 0, false); //Right Wall - this.fillWithMetadataBlocks(world, box, sizeX, 3, sizeZ - 1, sizeX, 3, sizeZ - 1, ModBlocks.concrete_pillar, pillarMetaNS, Blocks.air, 0, false); - this.fillWithRandomizedBlocks(world, box, sizeX, 0, 1, sizeX, 0, 4, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, sizeX, 1, 1, sizeX, 2, 2, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, sizeX, 0, 6, sizeX, 0, 6, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, sizeX, 0, sizeZ - 2, sizeX, 1, sizeZ - 1, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, sizeX, 2, sizeZ - 1, sizeX, 2, sizeZ - 1, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 0, 4, 10 - 2, 0, 4, 10 - 1, false, rand, RandomConcreteBricks); + this.fillWithMetadataBlocks(world, box, 1, 3, 10, 3, 3, 10, ModBlocks.concrete_pillar, pillarMetaWE, Blocks.air, 0, false); //Front Wall + this.fillWithBlocks(world, box, 4, 0, 10, 4, 6 - 2, 10, ModBlocks.concrete_pillar, Blocks.air, false); + this.fillWithMetadataBlocks(world, box, 5, 3, 10, 8 - 1, 3, 10, ModBlocks.concrete_pillar, pillarMetaWE, Blocks.air, 0, false); + this.fillWithBlocks(world, box, 8, 0, 10, 8, 6 - 2, 10, ModBlocks.concrete_pillar, Blocks.air, false); + this.fillWithRandomizedBlocks(world, box, 1, 0, 10, 3, 0, 10, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 5, 0, 10, 8 - 1, 0, 10, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 1, 1, 10, 1, 2, 10, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 3, 1, 10, 3, 2, 10, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 5, 1, 10, 5, 2, 10, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 8 - 1, 1, 10, 8 - 1, 2, 10, false, rand, RandomConcreteBricks); + this.fillWithMetadataBlocks(world, box, 8, 3, 1, 8, 3, 2, ModBlocks.concrete_pillar, pillarMetaNS, Blocks.air, 0, false); //Right Wall + this.fillWithMetadataBlocks(world, box, 8, 3, 10 - 1, 8, 3, 10 - 1, ModBlocks.concrete_pillar, pillarMetaNS, Blocks.air, 0, false); + this.fillWithRandomizedBlocks(world, box, 8, 0, 1, 8, 0, 4, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 8, 1, 1, 8, 2, 2, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 8, 0, 6, 8, 0, 6, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 8, 0, 10 - 2, 8, 1, 10 - 1, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 8, 2, 10 - 1, 8, 2, 10 - 1, false, rand, RandomConcreteBricks); - this.randomlyFillWithBlocks(world, box, rand, 0.25F, 1, 0, 1, sizeX - 1, 0, sizeZ - 1, Blocks.gravel, Blocks.air, false); + this.randomlyFillWithBlocks(world, box, rand, 0.25F, 1, 0, 1, 8 - 1, 0, 10 - 1, Blocks.gravel, Blocks.air, false); return true; } @@ -98,8 +98,8 @@ public class RuinFeatures { super(); } - public NTMRuin2(Random rand, int minX, int minY, int minZ) { - super(rand, minX, minY, minZ, 7, 5, 10); + public NTMRuin2(Random rand, int minX, int minZ) { + super(rand, minX, 64, minZ, 7, 5, 10); } @Override @@ -111,43 +111,43 @@ public class RuinFeatures { } //System.out.println("" + this.boundingBox.minX + ", " + this.boundingBox.minY + ", " + this.boundingBox.minZ); - placeFoundationUnderneath(world, Blocks.stonebrick, 0, 0, 0, sizeX, sizeZ, -1, box); + placeFoundationUnderneath(world, Blocks.stonebrick, 0, 0, 0, 7, 10, -1, box); int pillarMetaWE = this.getPillarMeta(4); int pillarMetaNS = this.getPillarMeta(8); this.fillWithBlocks(world, box, 0, 0, 0, 0, 3, 0, ModBlocks.concrete_pillar, Blocks.air, false); //Back Wall - this.fillWithMetadataBlocks(world, box, 1, 3, 0, sizeX - 1, 3, 0, ModBlocks.concrete_pillar, pillarMetaWE, Blocks.air, 0, false); - this.fillWithBlocks(world, box, sizeX, 0, 0, sizeX, sizeY, 0, ModBlocks.concrete_pillar, Blocks.air, false); - this.fillWithRandomizedBlocks(world, box, 1, 0, 0, sizeX - 1, 0, 0, false, rand, RandomConcreteBricks); + this.fillWithMetadataBlocks(world, box, 1, 3, 0, 7 - 1, 3, 0, ModBlocks.concrete_pillar, pillarMetaWE, Blocks.air, 0, false); + this.fillWithBlocks(world, box, 7, 0, 0, 7, 5, 0, ModBlocks.concrete_pillar, Blocks.air, false); + this.fillWithRandomizedBlocks(world, box, 1, 0, 0, 7 - 1, 0, 0, false, rand, RandomConcreteBricks); this.fillWithRandomizedBlocks(world, box, 1, 1, 0, 1, 2, 0, false, rand, RandomConcreteBricks); this.fillWithRandomizedBlocks(world, box, 3, 1, 0, 4, 2, 0, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, sizeX - 1, 1, 0, sizeX - 1, 2, 0, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, 3, 4, 0, sizeX - 1, 4, 0, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, sizeX - 1, sizeY, 0, sizeX - 1, sizeY, 0, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 7 - 1, 1, 0, 7 - 1, 2, 0, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 3, 4, 0, 7 - 1, 4, 0, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 7 - 1, 5, 0, 7 - 1, 5, 0, false, rand, RandomConcreteBricks); this.fillWithMetadataBlocks(world, box, 0, 3, 1, 0, 3, 4, ModBlocks.concrete_pillar, pillarMetaNS, Blocks.air, 0, false); //Left Wall this.fillWithBlocks(world, box, 0, 0, 5, 0, 0, 5, ModBlocks.concrete_pillar, Blocks.air, false); - this.fillWithBlocks(world, box, 0, 0, sizeZ, 0, 2, sizeZ, ModBlocks.concrete_pillar, Blocks.air, false); + this.fillWithBlocks(world, box, 0, 0, 10, 0, 2, 10, ModBlocks.concrete_pillar, Blocks.air, false); this.fillWithRandomizedBlocks(world, box, 0, 0, 1, 0, 2, 3, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, 0, 0, sizeZ - 3, 0, 0, sizeZ - 1, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, 0, 1, sizeZ - 1, 0, 1, sizeZ - 1, false, rand, RandomConcreteBricks); - this.fillWithMetadataBlocks(world, box, sizeX - 1, 3, sizeZ, sizeX - 1, 3, sizeZ, ModBlocks.concrete_pillar, pillarMetaWE, Blocks.air, 0, false); //Front Wall - this.fillWithBlocks(world, box, sizeX, 0, sizeZ, sizeX, 3, sizeZ, ModBlocks.concrete_pillar, Blocks.air, false); - this.fillWithRandomizedBlocks(world, box, 1, 0, sizeZ, sizeX - 1, 0, sizeZ, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, 1, 1, sizeZ, 1, 2, sizeZ, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, sizeX - 1, 1, sizeZ, sizeX - 1, 2, sizeZ, false, rand, RandomConcreteBricks); - this.fillWithMetadataBlocks(world, box, sizeX, 3, 1, sizeX, 3, 4, ModBlocks.concrete_pillar, pillarMetaNS, Blocks.air, 0, false); //Right Wall - this.fillWithBlocks(world, box, sizeX, 0, 5, sizeX, 4, 5, ModBlocks.concrete_pillar, Blocks.air, false); - this.fillWithMetadataBlocks(world, box, sizeX, 3, sizeZ - 2, sizeX, 3, sizeZ - 1, ModBlocks.concrete_pillar, pillarMetaNS, Blocks.air, 0, false); - this.fillWithRandomizedBlocks(world, box, sizeX, 0, 1, sizeX, 0, 4, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, sizeX, 1, 1, sizeX, 2, 1, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, sizeX, 1, 3, sizeX, 2, 3, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, sizeX, 1, 4, sizeX, 1, 4, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, sizeX, 0, 6, sizeX, 0, sizeZ - 1, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, sizeX, 1, 6, sizeX, 1, 7, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, sizeX, 1, sizeZ - 1, sizeX, 2, sizeZ - 1, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 0, 0, 10 - 3, 0, 0, 10 - 1, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 0, 1, 10 - 1, 0, 1, 10 - 1, false, rand, RandomConcreteBricks); + this.fillWithMetadataBlocks(world, box, 7 - 1, 3, 10, 7 - 1, 3, 10, ModBlocks.concrete_pillar, pillarMetaWE, Blocks.air, 0, false); //Front Wall + this.fillWithBlocks(world, box, 7, 0, 10, 7, 3, 10, ModBlocks.concrete_pillar, Blocks.air, false); + this.fillWithRandomizedBlocks(world, box, 1, 0, 10, 7 - 1, 0, 10, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 1, 1, 10, 1, 2, 10, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 7 - 1, 1, 10, 7 - 1, 2, 10, false, rand, RandomConcreteBricks); + this.fillWithMetadataBlocks(world, box, 7, 3, 1, 7, 3, 4, ModBlocks.concrete_pillar, pillarMetaNS, Blocks.air, 0, false); //Right Wall + this.fillWithBlocks(world, box, 7, 0, 5, 7, 4, 5, ModBlocks.concrete_pillar, Blocks.air, false); + this.fillWithMetadataBlocks(world, box, 7, 3, 10 - 2, 7, 3, 10 - 1, ModBlocks.concrete_pillar, pillarMetaNS, Blocks.air, 0, false); + this.fillWithRandomizedBlocks(world, box, 7, 0, 1, 7, 0, 4, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 7, 1, 1, 7, 2, 1, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 7, 1, 3, 7, 2, 3, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 7, 1, 4, 7, 1, 4, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 7, 0, 6, 7, 0, 10 - 1, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 7, 1, 6, 7, 1, 7, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 7, 1, 10 - 1, 7, 2, 10 - 1, false, rand, RandomConcreteBricks); - this.randomlyFillWithBlocks(world, box, rand, 0.25F, 1, 0, 1, sizeX - 1, 0, sizeZ - 1, Blocks.gravel, Blocks.air, false); + this.randomlyFillWithBlocks(world, box, rand, 0.25F, 1, 0, 1, 7 - 1, 0, 10 - 1, Blocks.gravel, Blocks.air, false); return true; } @@ -161,8 +161,8 @@ public class RuinFeatures { super(); } - public NTMRuin3(Random rand, int minX, int minY, int minZ) { - super(rand, minX, minY, minZ, 8, 3, 10); + public NTMRuin3(Random rand, int minX, int minZ) { + super(rand, minX, 64, minZ, 8, 3, 10); } @Override @@ -174,37 +174,37 @@ public class RuinFeatures { } //System.out.println("" + this.boundingBox.minX + ", " + this.boundingBox.minY + ", " + this.boundingBox.minZ); - placeFoundationUnderneath(world, Blocks.stonebrick, 0, 0, 0, 0, sizeZ, -1, box); - placeFoundationUnderneath(world, Blocks.stonebrick, 0, sizeX, 0, sizeX, sizeZ, -1, box); + placeFoundationUnderneath(world, Blocks.stonebrick, 0, 0, 0, 0, 10, -1, box); + placeFoundationUnderneath(world, Blocks.stonebrick, 0, 8, 0, 8, 10, -1, box); - placeFoundationUnderneath(world, Blocks.stonebrick, 0, 1, 0, sizeX, 0, -1, box); - placeFoundationUnderneath(world, Blocks.stonebrick, 0, 1, 4, sizeX, 4, -1, box); + placeFoundationUnderneath(world, Blocks.stonebrick, 0, 1, 0, 8, 0, -1, box); + placeFoundationUnderneath(world, Blocks.stonebrick, 0, 1, 4, 8, 4, -1, box); - this.fillWithBlocks(world, box, 0, 0, 0, 0, sizeY, 0, ModBlocks.concrete_pillar, Blocks.air, false); //Back Wall - this.fillWithBlocks(world, box, sizeX, 0, 0, sizeX, 1, 0, ModBlocks.concrete_pillar, Blocks.air, false); - this.fillWithRandomizedBlocks(world, box, 1, 0, 0, sizeX - 1, 0, 0, false, rand, RandomConcreteBricks); + this.fillWithBlocks(world, box, 0, 0, 0, 0, 3, 0, ModBlocks.concrete_pillar, Blocks.air, false); //Back Wall + this.fillWithBlocks(world, box, 8, 0, 0, 8, 1, 0, ModBlocks.concrete_pillar, Blocks.air, false); + this.fillWithRandomizedBlocks(world, box, 1, 0, 0, 8 - 1, 0, 0, false, rand, RandomConcreteBricks); this.fillWithRandomizedBlocks(world, box, 1, 1, 0, 1, 1, 0, false, rand, RandomConcreteBricks); this.fillWithRandomizedBlocks(world, box, 4, 1, 0, 4, 1, 0, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, sizeX - 1, 1, 0, sizeX - 1, 1, 0, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, 1, 2, 0, sizeX - 2, 2, 0, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 8 - 1, 1, 0, 8 - 1, 1, 0, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 1, 2, 0, 8 - 2, 2, 0, false, rand, RandomConcreteBricks); this.fillWithBlocks(world, box, 0, 0, 4, 0, 1, 4, ModBlocks.concrete_pillar, Blocks.air, false); //Left Wall - this.placeBlockAtCurrentPosition(world, ModBlocks.concrete_pillar, 0, 0, 0, sizeZ, box); + this.placeBlockAtCurrentPosition(world, ModBlocks.concrete_pillar, 0, 0, 0, 10, box); this.fillWithRandomizedBlocks(world, box, 0, 0, 1, 0, 0, 3, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, 0, 0, 5, 0, 0, sizeZ - 1, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 0, 0, 5, 0, 0, 10 - 1, false, rand, RandomConcreteBricks); this.fillWithRandomizedBlocks(world, box, 0, 1, 5, 0, 1, 5, false, rand, RandomConcreteBricks); this.fillWithRandomizedBlocks(world, box, 0, 1, 7, 0, 1, 7, false, rand, RandomConcreteBricks); - this.fillWithBlocks(world, box, sizeX, 0, 4, sizeX, 1, 4, ModBlocks.concrete_pillar, Blocks.air, false); //Right Wall - this.fillWithBlocks(world, box, sizeX, 0, sizeZ, sizeX, 1, sizeZ, ModBlocks.concrete_pillar, Blocks.air, false); - this.fillWithRandomizedBlocks(world, box, sizeX, 0, 1, sizeX, 1, 3, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, sizeX, 0, 5, sizeX, 0, 6, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, sizeX, 0, sizeZ - 1, sizeX, 0, sizeZ - 1, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, sizeX - 1, 0, sizeZ, sizeX - 1, 0, sizeZ, false, rand, RandomConcreteBricks); + this.fillWithBlocks(world, box, 8, 0, 4, 8, 1, 4, ModBlocks.concrete_pillar, Blocks.air, false); //Right Wall + this.fillWithBlocks(world, box, 8, 0, 10, 8, 1, 10, ModBlocks.concrete_pillar, Blocks.air, false); + this.fillWithRandomizedBlocks(world, box, 8, 0, 1, 8, 1, 3, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 8, 0, 5, 8, 0, 6, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 8, 0, 10 - 1, 8, 0, 10 - 1, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 8 - 1, 0, 10, 8 - 1, 0, 10, false, rand, RandomConcreteBricks); this.fillWithBlocks(world, box, 4, 0, 4, 4, 2, 4, ModBlocks.concrete_pillar, Blocks.air, false); //Center Wall this.fillWithRandomizedBlocks(world, box, 3, 0, 4, 3, 1, 4, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, 5, 0, 4, sizeX - 1, 1, 4, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 5, 0, 4, 8 - 1, 1, 4, false, rand, RandomConcreteBricks); - this.randomlyFillWithBlocks(world, box, rand, 0.05F, 1, 0, 1, sizeX - 1, 0, 3, Blocks.gravel, Blocks.air, false); - this.randomlyFillWithBlocks(world, box, rand, 0.05F, 1, 0, 5, sizeX - 1, 0, sizeZ - 1, Blocks.gravel, Blocks.air, false); + this.randomlyFillWithBlocks(world, box, rand, 0.05F, 1, 0, 1, 8 - 1, 0, 3, Blocks.gravel, Blocks.air, false); + this.randomlyFillWithBlocks(world, box, rand, 0.05F, 1, 0, 5, 8 - 1, 0, 10 - 1, Blocks.gravel, Blocks.air, false); return true; } @@ -218,8 +218,8 @@ public class RuinFeatures { super(); } - public NTMRuin4(Random rand, int minX, int minY, int minZ) { - super(rand, minX, minY, minZ, 10, 2, 11); + public NTMRuin4(Random rand, int minX, int minZ) { + super(rand, minX, 64, minZ, 10, 2, 11); } @Override @@ -232,40 +232,40 @@ public class RuinFeatures { //System.out.println("" + this.boundingBox.minX + ", " + this.boundingBox.minY + ", " + this.boundingBox.minZ); - placeFoundationUnderneath(world, Blocks.stonebrick, 0, 0, 0, 0, sizeZ, -1, box); - placeFoundationUnderneath(world, Blocks.stonebrick, 0, sizeX, 5, sizeX, sizeZ, -1, box); + placeFoundationUnderneath(world, Blocks.stonebrick, 0, 0, 0, 0, 11, -1, box); + placeFoundationUnderneath(world, Blocks.stonebrick, 0, 10, 5, 10, 11, -1, box); placeFoundationUnderneath(world, Blocks.stonebrick, 0, 5, 0, 5, 4, -1, box); - placeFoundationUnderneath(world, Blocks.stonebrick, 0, 1, sizeZ, sizeX - 1, sizeZ, -1, box); + placeFoundationUnderneath(world, Blocks.stonebrick, 0, 1, 11, 10 - 1, 11, -1, box); placeFoundationUnderneath(world, Blocks.stonebrick, 0, 1, 0, 4, 0, -1, box); - placeFoundationUnderneath(world, Blocks.stonebrick, 0, 5, 5, sizeX - 1, 5, -1, box); + placeFoundationUnderneath(world, Blocks.stonebrick, 0, 5, 5, 10 - 1, 5, -1, box); this.fillWithBlocks(world, box, 0, 0, 0, 0, 1, 0, ModBlocks.concrete_pillar, Blocks.air, false); //Back Wall Pt. 1 - this.fillWithBlocks(world, box, 5, 0, 0, 5, sizeY, 0, ModBlocks.concrete_pillar, Blocks.air, false); + this.fillWithBlocks(world, box, 5, 0, 0, 5, 2, 0, ModBlocks.concrete_pillar, Blocks.air, false); this.fillWithRandomizedBlocks(world, box, 1, 0, 0, 4, 0, 0, false, rand, RandomConcreteBricks); this.fillWithRandomizedBlocks(world, box, 4, 1, 0, 4, 1, 0, false, rand, RandomConcreteBricks); - this.fillWithBlocks(world, box, 5, 0, 5, 5, sizeY, 5, ModBlocks.concrete_pillar, Blocks.air, false); //Right Wall Pt. 1 + this.fillWithBlocks(world, box, 5, 0, 5, 5, 2, 5, ModBlocks.concrete_pillar, Blocks.air, false); //Right Wall Pt. 1 this.fillWithRandomizedBlocks(world, box, 5, 0, 1, 5, 0, 4, false, rand, RandomConcreteBricks); this.fillWithRandomizedBlocks(world, box, 5, 1, 1, 5, 1, 1, false, rand, RandomConcreteBricks); this.fillWithRandomizedBlocks(world, box, 5, 1, 4, 5, 1, 4, false, rand, RandomConcreteBricks); this.fillWithRandomizedBlocks(world, box, 5, 2, 1, 5, 2, 4, false, rand, RandomConcreteBricks); - this.fillWithBlocks(world, box, sizeX, 0, 5, sizeX, 1, 5, ModBlocks.concrete_pillar, Blocks.air, false); //Back Wall Pt. 2 - this.fillWithRandomizedBlocks(world, box, 6, 0, 5, sizeX - 1, 0, 5, false, rand, RandomConcreteBricks); + this.fillWithBlocks(world, box, 10, 0, 5, 10, 1, 5, ModBlocks.concrete_pillar, Blocks.air, false); //Back Wall Pt. 2 + this.fillWithRandomizedBlocks(world, box, 6, 0, 5, 10 - 1, 0, 5, false, rand, RandomConcreteBricks); this.fillWithRandomizedBlocks(world, box, 6, 1, 5, 6, 1, 5, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, sizeX - 1, 1, 5, sizeX - 1, 1, 5, false, rand, RandomConcreteBricks); - this.fillWithBlocks(world, box, sizeX, 0, sizeZ, sizeX, 1, sizeZ, ModBlocks.concrete_pillar, Blocks.air, false); //Right Wall Pt. 2 - this.fillWithRandomizedBlocks(world, box, sizeX, 0, 6, sizeX, 0, sizeZ - 1, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, sizeX, 1, 6, sizeX, 1, sizeZ - 3, false, rand, RandomConcreteBricks); - this.fillWithBlocks(world, box, 0, 0, sizeZ, 0, 0, sizeZ, ModBlocks.concrete_pillar, Blocks.air, false); //Front Wall - this.fillWithRandomizedBlocks(world, box, 1, 0, sizeZ, 1, 0, sizeZ, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, 6, 0, sizeZ, 7, 0, sizeZ, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, sizeX - 1, 0, sizeZ, sizeX - 1, 0, sizeZ, false, rand, RandomConcreteBricks); - this.fillWithRandomizedBlocks(world, box, 0, 0, 1, 0, 0, sizeZ - 1, false, rand, RandomConcreteBricks); //Left Wall + this.fillWithRandomizedBlocks(world, box, 10 - 1, 1, 5, 10 - 1, 1, 5, false, rand, RandomConcreteBricks); + this.fillWithBlocks(world, box, 10, 0, 11, 10, 1, 11, ModBlocks.concrete_pillar, Blocks.air, false); //Right Wall Pt. 2 + this.fillWithRandomizedBlocks(world, box, 10, 0, 6, 10, 0, 11 - 1, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 10, 1, 6, 10, 1, 11 - 3, false, rand, RandomConcreteBricks); + this.fillWithBlocks(world, box, 0, 0, 11, 0, 0, 11, ModBlocks.concrete_pillar, Blocks.air, false); //Front Wall + this.fillWithRandomizedBlocks(world, box, 1, 0, 11, 1, 0, 11, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 6, 0, 11, 7, 0, 11, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 10 - 1, 0, 11, 10 - 1, 0, 11, false, rand, RandomConcreteBricks); + this.fillWithRandomizedBlocks(world, box, 0, 0, 1, 0, 0, 11 - 1, false, rand, RandomConcreteBricks); //Left Wall this.fillWithRandomizedBlocks(world, box, 0, 1, 1, 0, 1, 1, false, rand, RandomConcreteBricks); this.fillWithRandomizedBlocks(world, box, 0, 1, 4, 0, 1, 7, false, rand, RandomConcreteBricks); this.randomlyFillWithBlocks(world, box, rand, 0.05F, 1, 0, 1, 4, 0, 5, Blocks.gravel, Blocks.air, false); - this.randomlyFillWithBlocks(world, box, rand, 0.05F, 1, 0, 6, sizeX - 1, 0, sizeZ - 1, Blocks.gravel, Blocks.air, false); + this.randomlyFillWithBlocks(world, box, rand, 0.05F, 1, 0, 6, 10 - 1, 0, 11 - 1, Blocks.gravel, Blocks.air, false); return true; } diff --git a/src/main/java/com/hbm/world/gen/component/SiloComponent.java b/src/main/java/com/hbm/world/gen/component/SiloComponent.java new file mode 100644 index 000000000..4dd2aaee0 --- /dev/null +++ b/src/main/java/com/hbm/world/gen/component/SiloComponent.java @@ -0,0 +1,1394 @@ +package com.hbm.world.gen.component; + +import java.util.Random; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ModBlocks; +import com.hbm.itempool.ItemPool; +import com.hbm.itempool.ItemPoolsComponent; +import com.hbm.itempool.ItemPoolsLegacy; +import com.hbm.itempool.ItemPoolsSingle; +import com.hbm.items.ModItems; +import com.hbm.tileentity.bomb.TileEntityLandmine; +import com.hbm.tileentity.bomb.TileEntityLaunchPadRusted; +import com.hbm.tileentity.network.TileEntityRadioTorchBase; + +import net.minecraft.block.Block; +import net.minecraft.init.Blocks; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.WeightedRandomChestContent; +import net.minecraft.world.World; +import net.minecraft.world.gen.structure.StructureBoundingBox; +import net.minecraftforge.common.util.ForgeDirection; + +public class SiloComponent extends Component { + + public int freq = 0; //frequency of RTTY torches, this is the easiest way to sync them up. + public int freqHatch = 0; + + public SiloComponent() { + + } + + public SiloComponent(Random rand, int minX, int minZ) { + super(rand, minX, 64, minZ, 42, 29, 26); + this.freq = rand.nextInt(); //so other silos won't conflict, hopefully + this.freqHatch = rand.nextInt(); + } + + /** Set to NBT */ + protected void func_143012_a(NBTTagCompound nbt) { + super.func_143012_a(nbt); + nbt.setInteger("freq", freq); + nbt.setInteger("freqHatch", freqHatch); + } + + /** Get from NBT */ + protected void func_143011_b(NBTTagCompound nbt) { + super.func_143011_b(nbt); + this.freq = nbt.getInteger("freq"); + this.freqHatch = nbt.getInteger("freqHatch"); + } + + @Override + public boolean addComponentParts(World world, Random rand, StructureBoundingBox box) { + //seems to work + if(this.hpos == -1) { + StructureBoundingBox area = getRotatedBoundingBox(getXWithOffset(13, 2), getYWithOffset(25), getZWithOffset(13, 2), 29, 3, 18); //anchor offset/world pos already accounted for with offset methods + this.hpos = this.getAverageHeight(world, area, box, getYWithOffset(25)); + this.boundingBox.offset(0, this.hpos - 1 - getYWithOffset(25), 0); + } + + /*if(!this.setAverageHeight(world, box, this.boundingBox.minY)) { + return false; + }*/ + + //alright kids, we're adding the largest single-component mapgen structure in ntm, 2x3 chunks. what do? + //you break it into sections instead of doing the whole thing at once. adding it that is, the server won't die + //from checking a lot of small switches and if statements in some for loops i hope... + + /* SURFACE */ + fillWithAir(world, box, 13, 26, 2, 42, 36, 20); + + placeFoundationUnderneath(world, ModBlocks.concrete_colored_ext, 0, 13, 2, 42, 20, 24, box); + + //Floor + fillWithBlocks(world, box, 13, 25, 2, 42, 25, 4, ModBlocks.asphalt); //it's okay to cut corners (vanilla does it all the time!), but + fillWithBlocks(world, box, 13, 25, 5, 34, 25, 9, ModBlocks.asphalt); //being pretty careful trades unnecessary setBlocks for some extra lines. + fillWithBlocks(world, box, 13, 25, 10, 14, 25, 18, ModBlocks.asphalt); + fillWithBlocks(world, box, 24, 25, 10, 35, 25, 12, ModBlocks.asphalt); + fillWithBlocks(world, box, 24, 25, 13, 26, 25, 18, ModBlocks.asphalt); + fillWithBlocks(world, box, 13, 25, 19, 42, 25, 20, ModBlocks.asphalt); + fillWithBlocks(world, box, 40, 25, 5, 42, 25, 18, ModBlocks.asphalt); + fillWithBlocks(world, box, 39, 25, 10, 39, 25, 12, ModBlocks.asphalt); + fillWithMetadataBlocks(world, box, 15, 25, 10, 23, 25, 10, ModBlocks.concrete_colored_ext, 5); + fillWithMetadataBlocks(world, box, 15, 25, 11, 15, 25, 17, ModBlocks.concrete_colored_ext, 5); + fillWithMetadataBlocks(world, box, 15, 25, 18, 23, 25, 18, ModBlocks.concrete_colored_ext, 5); + fillWithMetadataBlocks(world, box, 23, 25, 11, 23, 25, 17, ModBlocks.concrete_colored_ext, 5); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_colored_ext, 5, 16, 25, 11, box); //it's figuring out meta that makes you shoot yourself anyway + placeBlockAtCurrentPosition(world, ModBlocks.concrete_colored_ext, 5, 22, 25, 11, box); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_colored_ext, 5, 22, 25, 17, box); + + ConcreteBricks ConcreteBricks = new ConcreteBricks(); + + fillWithRandomizedBlocks(world, box, 27, 25, 13, 39, 25, 18, rand, ConcreteBricks); + fillWithBlocks(world, box, 36, 25, 4, 38, 25, 4, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 35, 25, 5, 39, 25, 9, ModBlocks.concrete_smooth); + //Fences + fillWithBlocks(world, box, 13, 26, 2, 13, 28, 2, ModBlocks.deco_steel); + fillWithBlocks(world, box, 42, 26, 2, 42, 28, 2, ModBlocks.deco_steel); + fillWithBlocks(world, box, 13, 26, 20, 13, 28, 20, ModBlocks.deco_steel); + fillWithBlocks(world, box, 42, 26, 20, 42, 28, 20, ModBlocks.deco_steel); + //N-facing + fillWithBlocks(world, box, 38, 26, 2, 41, 27, 2, ModBlocks.fence_metal); + fillWithBlocks(world, box, 34, 26, 2, 36, 27, 2, ModBlocks.fence_metal); + fillWithBlocks(world, box, 30, 26, 2, 31, 27, 2, ModBlocks.fence_metal); + placeBlockAtCurrentPosition(world, ModBlocks.fence_metal, 0, 28, 27, 2, box); + fillWithBlocks(world, box, 22, 26, 2, 28, 26, 2, ModBlocks.fence_metal); + fillWithBlocks(world, box, 23, 27, 2, 26, 27, 2, ModBlocks.fence_metal); + fillWithBlocks(world, box, 18, 26, 2, 20, 26, 2, ModBlocks.fence_metal); + fillWithBlocks(world, box, 14, 26, 2, 16, 26, 2, ModBlocks.fence_metal); + placeBlockAtCurrentPosition(world, ModBlocks.fence_metal, 0, 14, 27, 2, box); + fillWithMetadataBlocks(world, box, 38, 28, 2, 41, 28, 2, ModBlocks.barbed_wire, 5); + fillWithMetadataBlocks(world, box, 35, 28, 2, 36, 28, 2, ModBlocks.barbed_wire, 5); + fillWithMetadataBlocks(world, box, 23, 28, 2, 25, 28, 2, ModBlocks.barbed_wire, 5); + placeBlockAtCurrentPosition(world, ModBlocks.barbed_wire, 5, 14, 28, 2, box); + //W-facing + fillWithBlocks(world, box, 13, 26, 3, 13, 27, 4, ModBlocks.fence_metal); + fillWithBlocks(world, box, 13, 26, 5, 13, 26, 6, ModBlocks.fence_metal); + fillWithBlocks(world, box, 13, 26, 9, 13, 27, 9, ModBlocks.fence_metal); + placeBlockAtCurrentPosition(world, ModBlocks.fence_metal, 0, 13, 26, 11, box); + fillWithBlocks(world, box, 13, 26, 12, 13, 27, 19, ModBlocks.fence_metal); + fillWithMetadataBlocks(world, box, 13, 28, 3, 13, 28, 4, ModBlocks.barbed_wire, 2); + fillWithMetadataBlocks(world, box, 13, 28, 15, 13, 28, 19, ModBlocks.barbed_wire, 2); + //E-facing + fillWithBlocks(world, box, 42, 26, 3, 42, 27, 4, ModBlocks.fence_metal); + placeBlockAtCurrentPosition(world, ModBlocks.fence_metal, 0, 42, 26, 7, box); + fillWithBlocks(world, box, 42, 26, 9, 42, 26, 12, ModBlocks.fence_metal); + placeBlockAtCurrentPosition(world, ModBlocks.fence_metal, 0, 42, 26, 14, box); + fillWithBlocks(world, box, 42, 26, 15, 42, 27, 19, ModBlocks.fence_metal); + fillWithMetadataBlocks(world, box, 42, 28, 3, 42, 28, 4, ModBlocks.barbed_wire, 3); + fillWithMetadataBlocks(world, box, 42, 28, 15, 42, 28, 19, ModBlocks.barbed_wire, 3); + //S-facing + fillWithBlocks(world, box, 14, 26, 20, 17, 27, 20, ModBlocks.fence_metal); + fillWithBlocks(world, box, 18, 26, 20, 22, 26, 20, ModBlocks.fence_metal); + fillWithBlocks(world, box, 20, 27, 20, 21, 27, 20, ModBlocks.fence_metal); + fillWithBlocks(world, box, 24, 26, 20, 25, 26, 20, ModBlocks.fence_metal); + placeBlockAtCurrentPosition(world, ModBlocks.fence_metal, 0, 27, 26, 20, box); + fillWithBlocks(world, box, 29, 26, 20, 32, 27, 20, ModBlocks.fence_metal); + placeBlockAtCurrentPosition(world, ModBlocks.fence_metal, 0, 33, 26, 20, box); + fillWithBlocks(world, box, 35, 26, 20, 37, 26, 20, ModBlocks.fence_metal); + placeBlockAtCurrentPosition(world, ModBlocks.fence_metal, 0, 36, 27, 20, box); + placeBlockAtCurrentPosition(world, ModBlocks.fence_metal, 0, 39, 26, 20, box); + fillWithBlocks(world, box, 40, 26, 20, 41, 27, 20, ModBlocks.fence_metal); + fillWithMetadataBlocks(world, box, 14, 28, 20, 17, 28, 20, ModBlocks.barbed_wire, 4); + fillWithMetadataBlocks(world, box, 29, 28, 20, 32, 28, 20, ModBlocks.barbed_wire, 4); + fillWithMetadataBlocks(world, box, 40, 28, 20, 41, 28, 20, ModBlocks.barbed_wire, 4); + + //Defense Platforms + placeBlockAtCurrentPosition(world, ModBlocks.concrete_pillar, 0, 27, 26, 13, box); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_pillar, 0, 32, 26, 13, box); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_pillar, 0, 27, 26, 18, box); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_pillar, 0, 32, 26, 18, box); + fillWithRandomizedBlocks(world, box, 28, 26, 14, 31, 26, 17, rand, ConcreteBricks); + + ConcreteStairs ConcreteStairs = new ConcreteStairs(); + + int stairW = this.getStairMeta(0); + int stairE = this.getStairMeta(1); + int stairN = this.getStairMeta(2); + int stairS = this.getStairMeta(3); + + ConcreteStairs.setMetadata(stairN); + fillWithRandomizedBlocks(world, box, 28, 26, 13, 31, 26, 13, rand, ConcreteStairs); + ConcreteStairs.setMetadata(stairW); + fillWithRandomizedBlocks(world, box, 27, 26, 14, 27, 26, 17, rand, ConcreteStairs); + ConcreteStairs.setMetadata(stairS); + fillWithRandomizedBlocks(world, box, 28, 26, 18, 31, 26, 18, rand, ConcreteStairs); + fillWithMetadataBlocks(world, box, 27, 27, 13, 32, 27, 13, ModBlocks.concrete_slab, 1); + fillWithMetadataBlocks(world, box, 27, 27, 14, 27, 27, 17, ModBlocks.concrete_slab, 1); + fillWithMetadataBlocks(world, box, 27, 27, 18, 32, 27, 18, ModBlocks.concrete_slab, 1); + fillWithMetadataBlocks(world, box, 32, 27, 14, 32, 27, 17, ModBlocks.concrete_slab, 1); + //Methusalem + placeCore(world, box, ModBlocks.turret_howard_damaged, ForgeDirection.SOUTH, 29, 27, 15); + fillSpace(world, box, 29, 27, 15, new int[] { 0, 0, 1, 0, 1, 0 }, ModBlocks.turret_howard_damaged, ForgeDirection.SOUTH); + //Destroyed platform + placeBlockAtCurrentPosition(world, ModBlocks.concrete_pillar, 0, 34, 26, 13, box); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_pillar, 0, 39, 26, 13, box); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_pillar, 0, 34, 26, 18, box); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_pillar, 0, 39, 26, 18, box); + fillWithRandomizedBlocks(world, box, 35, 26, 13, 38, 26, 13, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 32, 26, 15, 34, 26, 17, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 35, 26, 18, 38, 26, 18, rand, ConcreteStairs); + ConcreteStairs.setMetadata(stairE); + fillWithRandomizedBlocks(world, box, 39, 26, 14, 39, 26, 15, rand, ConcreteStairs); + + DestroyedBricks DestroyedBricks = new DestroyedBricks(); //it's funny cause i'm probably gonna use this like once in this entire thing + + fillWithRandomizedBlocks(world, box, 35, 26, 14, 38, 26, 17, rand, DestroyedBricks); //destroyed layer + fillWithMetadataBlocks(world, box, 33, 27, 15, 33, 27, 17, ModBlocks.concrete_slab, 1); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_slab, 1, 34, 27, 17, box); + fillWithMetadataBlocks(world, box, 34, 27, 18, 36, 27, 18, ModBlocks.concrete_slab, 1); + fillWithMetadataBlocks(world, box, 37, 27, 13, 39, 27, 13, ModBlocks.concrete_slab, 1); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_slab, 1, 39, 27, 14, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_steel, 0, 37, 25, 15, box); //deco + placeBlockAtCurrentPosition(world, ModBlocks.deco_pipe_rim_rusted, 0, 37, 26, 15, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_steel, 0, 36, 25, 16, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_pipe_quad_rusted, 0, 36, 26, 16, box); + + //Access Building (staircase not included) + fillWithRandomizedBlocks(world, box, 35, 26, 5, 39, 28, 5, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 35, 26, 6, 35, 28, 9, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 39, 26, 6, 39, 28, 9, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 36, 26, 9, 38, 28, 10, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 36, 27, 11, 38, 27, 11, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 36, 26, 12, 38, 26, 12, rand, ConcreteBricks); + ConcreteStairs.setMetadata(stairS); + fillWithRandomizedBlocks(world, box, 36, 28, 11, 38, 28, 11, rand, ConcreteStairs); + fillWithRandomizedBlocks(world, box, 36, 27, 12, 38, 27, 12, rand, ConcreteStairs); + fillWithBlocks(world, box, 36, 29, 5, 38, 29, 9, ModBlocks.concrete); //Roof + fillWithMetadataBlocks(world, box, 35, 29, 5, 35, 29, 9, ModBlocks.concrete_stairs, stairW); + fillWithMetadataBlocks(world, box, 36, 29, 10, 38, 29, 10, ModBlocks.concrete_stairs, stairS); + fillWithMetadataBlocks(world, box, 39, 29, 5, 39, 29, 9, ModBlocks.concrete_stairs, stairE); + //Deco + placeBlockAtCurrentPosition(world, Blocks.iron_bars, 0, 35, 27, 7, box); + placeBlockAtCurrentPosition(world, Blocks.iron_bars, 0, 39, 27, 7, box); + placeDoor(world, box, ModBlocks.door_metal, 1, false, rand.nextBoolean(), 37, 26, 5); + + //Stuff not-bolted down + //Tent + for(int j = 4; j <= 8; j += 2) { + placeBlockAtCurrentPosition(world, ModBlocks.steel_beam, 2, 20, 26, j, box); + fillWithMetadataBlocks(world, box, 16, 26, j, 16, 27, j, ModBlocks.steel_beam, 3); + } + + fillWithBlocks(world, box, 16, 28, 4, 17, 28, 8, ModBlocks.brick_slab); + fillWithMetadataBlocks(world, box, 18, 27, 4, 19, 27, 8, ModBlocks.brick_slab, 8); + fillWithBlocks(world, box, 20, 27, 4, 20, 27, 8, ModBlocks.brick_slab); + fillWithMetadataBlocks(world, box, 16, 28, 6, 17, 28, 6, ModBlocks.brick_slab, 5); + fillWithMetadataBlocks(world, box, 18, 27, 6, 19, 27, 6, ModBlocks.brick_slab, 13); + placeBlockAtCurrentPosition(world, ModBlocks.brick_slab, 5, 20, 27, 6, box); + //Supplies + SiloSupplies Supplies = new SiloSupplies(); + + fillWithRandomizedBlocks(world, box, 27, 26, 7, 29, 26, 9, rand, Supplies); + fillWithRandomizedBlocks(world, box, 17, 26, 4, 19, 26, 8, rand, Supplies); + //Wreckage + //not really worth the effort to make yet another selector + placeBlockAtCurrentPosition(world, ModBlocks.barrel_corroded, 0, 32, 26, 5, box); + fillWithRandomizedBlocks(world, box, 32, 26, 7, 32, 26, 7, rand, DestroyedBricks); + placeBlockAtCurrentPosition(world, ModBlocks.barrel_corroded, 0, 31, 26, 9, box); + fillWithRandomizedBlocks(world, box, 31, 26, 11, 32, 26, 11, rand, DestroyedBricks); + fillWithRandomizedBlocks(world, box, 34, 26, 11, 34, 26, 11, rand, DestroyedBricks); + fillWithRandomizedBlocks(world, box, 41, 26, 17, 41, 26, 17, rand, DestroyedBricks); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_slab, 1, 37, 26, 19, box); + + //Large Silo Hatch + placeCore(world, box, ModBlocks.silo_hatch_large, ForgeDirection.SOUTH, 19, 26, 14); + fillSpace(world, box, 19, 26, 14, new int[] { 0, 0, 3, 3, 3, 3 }, ModBlocks.silo_hatch_large, ForgeDirection.SOUTH); + placeBlockAtCurrentPosition(world, ModBlocks.radio_torch_receiver, 1, 16, 25, 17, box); + setRTTYFreq(world, box, 16, 25, 17, freqHatch); + + //Containers + generateInvContents(world, box, rand, Blocks.chest, 2, 36, 26, 17, ItemPool.getPool(ItemPoolsLegacy.POOL_VERTIBIRD), 5); + + /* Stairway */ + fillWithAir(world, box, 37, 26, 9, 37, 27, 10); + placeBlockAtCurrentPosition(world, Blocks.air, 11, 37, 25, 10, box); + fillWithAir(world, box, 37, 24, 11, 37, 26, 11); + fillWithAir(world, box, 37, 23, 12, 37, 25, 12); + fillWithAir(world, box, 37, 21, 13, 37, 24, 14); + //bottoms + for(int i = 0; i < 5; i++) { + fillWithRandomizedBlocks(world, box, 36, 24 - i, 9 + i, 38, 24 - i, 9 + i, rand, ConcreteBricks); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairS, 37, 25 - i, 9 + i, box); + } + + //walls + for(int i = 36; i <= 38; i += 2) { + fillWithRandomizedBlocks(world, box, i, 26, 11, i, 26, 11, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, i, 25, 10, i, 25, 12, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, i, 24, 10, i, 24, 15, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, i, 23, 11, i, 23, 15, rand, ConcreteBricks); + fillWithMetadataBlocks(world, box, i, 22, 12, i, 22, 15, ModBlocks.concrete_colored, 11); + fillWithRandomizedBlocks(world, box, i, 21, 13, i, 21, 15, rand, ConcreteBricks); + } + + fillWithBlocks(world, box, 36, 20, 14, 38, 20, 15, ModBlocks.concrete_smooth); + fillWithAir(world, box, 36, 21, 14, 36, 22, 14); + + /* Blue Control Room */ + //Air + placeBlockAtCurrentPosition(world, Blocks.air, 0, 36, 23, 17, box); + fillWithAir(world, box, 34, 21, 13, 35, 23, 19); + fillWithAir(world, box, 33, 21, 13, 33, 23, 15); + fillWithAir(world, box, 29, 21, 16, 31, 23, 19); + fillWithAir(world, box, 29, 21, 12, 32, 23, 15); + fillWithAir(world, box, 28, 21, 10, 32, 23, 11); + fillWithAir(world, box, 27, 21, 7, 31, 23, 9); + fillWithAir(world, box, 27, 21, 5, 30, 23, 6); + fillWithAir(world, box, 27, 21, 4, 29, 23, 4); + fillWithAir(world, box, 27, 21, 3, 28, 23, 3); + fillWithAir(world, box, 26, 22, 7, 26, 23, 8); + fillWithAir(world, box, 25, 22, 7, 25, 23, 7); + fillWithAir(world, box, 24, 21, 2, 26, 23, 6); + fillWithAir(world, box, 22, 21, 5, 23, 23, 5); + fillWithAir(world, box, 16, 21, 1, 23, 23, 4); + //Floor and Ceiling + for(int i = 20; i <= 24; i += 4) { + fillWithBlocks(world, box, 15, i, 0, 23, i, 5, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 24, i, 1, 26, i, 6, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 25, i, 7, 26, i, 7, ModBlocks.concrete_smooth); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth, 0, 26, i, 8, box); + fillWithBlocks(world, box, 27, i, 2, 28, i, 6, ModBlocks.concrete_smooth); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth, 0, 29, i, 3, box); + fillWithBlocks(world, box, 29, i, 4, 30, i, 4, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 29, i, 5, 31, i, 6, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 27, i, 7, 32, i, 9, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 28, i, 10, 33, i, 20, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 34, i, 12, 35, i, 15, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 34, i, 16, 37, i, 20, ModBlocks.concrete_smooth); + } + //Walls + //Curve (N-facing) + for(int i = 21; i <= 23; i += 2) { + fillWithRandomizedBlocks(world, box, 15, i, 0, 23, i, 0, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 24, i, 1, 26, i, 1, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 27, i, 2, 28, i, 2, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 29, i, 3, 29, i, 3, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 30, i, 4, 30, i, 4, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 31, i, 5, 31, i, 6, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 32, i, 7, 32, i, 9, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 33, i, 10, 33, i, 12, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 34, i, 12, 35, i, 12, rand, ConcreteBricks); + } + + fillWithMetadataBlocks(world, box, 15, 22, 0, 23, 22, 0, ModBlocks.concrete_colored, 11); + fillWithMetadataBlocks(world, box, 24, 22, 1, 26, 22, 1, ModBlocks.concrete_colored, 11); + fillWithMetadataBlocks(world, box, 27, 22, 2, 28, 22, 2, ModBlocks.concrete_colored, 11); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_colored, 11, 29, 22, 3, box); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_colored, 11, 30, 22, 4, box); + fillWithMetadataBlocks(world, box, 31, 22, 5, 31, 22, 6, ModBlocks.concrete_colored, 11); + fillWithMetadataBlocks(world, box, 32, 22, 7, 32, 22, 9, ModBlocks.concrete_colored, 11); + fillWithMetadataBlocks(world, box, 33, 22, 10, 33, 22, 12, ModBlocks.concrete_colored, 11); + fillWithMetadataBlocks(world, box, 34, 22, 12, 35, 22, 12, ModBlocks.concrete_colored, 11); + //W-facing side + fillWithRandomizedBlocks(world, box, 15, 21, 1, 15, 21, 4, rand, ConcreteBricks); + fillWithMetadataBlocks(world, box, 15, 22, 1, 15, 22, 4, ModBlocks.concrete_colored, 11); + fillWithRandomizedBlocks(world, box, 15, 23, 1, 15, 23, 4, rand, ConcreteBricks); + //Inner Curve (S-facing) + for(int i = 20; i <= 23; i += 3) { + fillWithRandomizedBlocks(world, box, 15, i, 6, 16, i + 1, 6, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 22, i, 6, 23, i + 1, 6, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 24, i, 7, 24, i + 1, 7, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 25, i, 8, 25, i + 1, 8, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 26, i, 9, 26, i + 1, 9, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 27, i, 10, 27, i + 1, 11, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 27, i, 17, 27, i + 1, 18, rand, ConcreteBricks); + } + fillWithRandomizedBlocks(world, box, 15, 21, 5, 18, 21, 5, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 20, 21, 5, 21, 21, 5, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 15, 23, 5, 21, 23, 5, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 28, 21, 12, 28, 21, 13, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 28, 21, 15, 28, 21, 20, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 28, 23, 12, 28, 23, 20, rand, ConcreteBricks); + fillWithMetadataBlocks(world, box, 15, 22, 6, 16, 22, 6, ModBlocks.concrete_colored, 11); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_colored, 11, 22, 22, 6, box); + placeBlockAtCurrentPosition(world, ModBlocks.reinforced_glass, 0, 23, 22, 6, box); + placeBlockAtCurrentPosition(world, ModBlocks.reinforced_glass, 0, 24, 22, 7, box); + placeBlockAtCurrentPosition(world, ModBlocks.reinforced_glass, 0, 25, 22, 8, box); + placeBlockAtCurrentPosition(world, ModBlocks.reinforced_glass, 0, 26, 22, 9, box); + placeBlockAtCurrentPosition(world, ModBlocks.reinforced_glass, 0, 27, 22, 10, box); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_colored, 11, 27, 22, 11, box); + fillWithMetadataBlocks(world, box, 27, 22, 17, 27, 22, 18, ModBlocks.concrete_colored, 11); + fillWithMetadataBlocks(world, box, 15, 22, 5, 18, 22, 5, ModBlocks.concrete_colored, 11); + fillWithMetadataBlocks(world, box, 20, 22, 5, 21, 22, 5, ModBlocks.concrete_colored, 11); + fillWithMetadataBlocks(world, box, 28, 22, 12, 28, 22, 13, ModBlocks.concrete_colored, 11); + fillWithMetadataBlocks(world, box, 28, 22, 15, 28, 22, 20, ModBlocks.concrete_colored, 11); + //S-facing side + fillWithRandomizedBlocks(world, box, 29, 21, 20, 36, 21, 20, rand, ConcreteBricks); + fillWithMetadataBlocks(world, box, 29, 22, 20, 36, 22, 20, ModBlocks.concrete_colored, 11); + fillWithRandomizedBlocks(world, box, 29, 23, 20, 36, 23, 20, rand, ConcreteBricks); + //E-facing side + fillWithRandomizedBlocks(world, box, 37, 21, 15, 37, 21, 20, rand, ConcreteBricks); + fillWithMetadataBlocks(world, box, 37, 22, 15, 37, 22, 20, ModBlocks.concrete_colored, 11); + fillWithRandomizedBlocks(world, box, 37, 23, 15, 37, 23, 20, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 37, 24, 15, 37, 24, 15, rand, ConcreteBricks); + //Internal walls + fillWithRandomizedBlocks(world, box, 32, 21, 16, 32, 21, 19, rand, ConcreteBricks); + fillWithMetadataBlocks(world, box, 32, 22, 16, 32, 22, 19, ModBlocks.concrete_colored, 11); + fillWithRandomizedBlocks(world, box, 32, 23, 16, 32, 23, 19, rand, ConcreteBricks); + //Arches + ConcreteStairs.setMetadata(stairS | 4); + fillWithRandomizedBlocks(world, box, 24, 23, 2, 26, 23, 2, rand, ConcreteStairs); + fillWithRandomizedBlocks(world, box, 27, 23, 3, 28, 23, 3, rand, ConcreteStairs); + ConcreteStairs.setMetadata(stairW | 4); + fillWithRandomizedBlocks(world, box, 30, 23, 5, 30, 23, 6, rand, ConcreteStairs); + fillWithRandomizedBlocks(world, box, 31, 23, 7, 31, 23, 9, rand, ConcreteStairs); + //Doors + placeDoor(world, box, ModBlocks.door_bunker, 1, true, rand.nextBoolean(), 19, 21, 5); + placeDoor(world, box, ModBlocks.door_bunker, 2, false, rand.nextBoolean(), 28, 21, 14); + //Deco + //Computer area + int decoS = getDecoMeta(2); + int decoN = getDecoMeta(3); + int decoE = getDecoMeta(4); + int decoW = getDecoMeta(5); + int pillarWE = getPillarMeta(4); + int pillarNS = getPillarMeta(8); + int decoModelN = getDecoModelMeta(0); + int decoModelW = getDecoModelMeta(2); + int decoModelE = getDecoModelMeta(3); + + fillWithBlocks(world, box, 33, 21, 19, 33, 23, 19, ModBlocks.deco_steel); + fillWithBlocks(world, box, 33, 21, 17, 33, 23, 17, ModBlocks.deco_steel); + placeBlockAtCurrentPosition(world, ModBlocks.tape_recorder, decoW, 33, 21, 18, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_crt, getCRTMeta(1) | 8, 33, 22, 18, box); + placeBlockAtCurrentPosition(world, ModBlocks.tape_recorder, decoW, 33, 23, 18, box); + fillWithMetadataBlocks(world, box, 33, 21, 16, 33, 23, 16, ModBlocks.tape_recorder, decoW); + placeBlockAtCurrentPosition(world, ModBlocks.reinforced_stone_stairs, stairE | 4, 34, 21, 19, box); + placeBlockAtCurrentPosition(world, ModBlocks.brick_slab, 8, 34, 21, 18, box); + placeBlockAtCurrentPosition(world, Blocks.heavy_weighted_pressure_plate, 0, 34, 22, 18, box); + placeBlockAtCurrentPosition(world, ModBlocks.capacitor_copper, decoE, 36, 21, 16, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_steel, 0, 36, 21, 17, box); + placeBlockAtCurrentPosition(world, ModBlocks.fusion_conductor, 0, 36, 21, 19, box); + fillWithMetadataBlocks(world, box, 36, 22, 16, 36, 23, 16, ModBlocks.tape_recorder, decoE); + placeBlockAtCurrentPosition(world, ModBlocks.deco_computer, decoModelW, 36, 22, 17, box); + fillWithMetadataBlocks(world, box, 36, 21, 18, 36, 23, 18, ModBlocks.tape_recorder, decoE); + fillWithMetadataBlocks(world, box, 36, 22, 19, 36, 23, 19, ModBlocks.deco_crt, getCRTMeta(3) | 12); + //Cabinets + Pipe + fillWithBlocks(world, box, 32, 21, 11, 32, 22, 11, ModBlocks.deco_pipe_framed_green_rusted); + placeBlockAtCurrentPosition(world, ModBlocks.deco_pipe_framed_green_rusted, pillarNS, 32, 23, 10, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_steel, 0, 32, 23, 11, box); + fillWithMetadataBlocks(world, box, 32, 23, 12, 32, 23, 15, ModBlocks.deco_pipe_framed_green_rusted, pillarNS); + + placeBlockAtCurrentPosition(world, ModBlocks.turret_sentry_damaged, 0, 30, 21, 16, box); + //Desk Area + fillWithBlocks(world, box, 27, 21, 9, 28, 21, 9, ModBlocks.deco_steel); + placeBlockAtCurrentPosition(world, ModBlocks.deco_beryllium, 0, 26, 21, 8, box); + fillWithBlocks(world, box, 25, 21, 7, 26, 21, 7, ModBlocks.deco_steel); + fillWithBlocks(world, box, 24, 21, 5, 24, 21, 6, ModBlocks.deco_steel); + placeBlockAtCurrentPosition(world, ModBlocks.deco_computer, decoModelN, 28, 22, 9, box); + placeBlockAtCurrentPosition(world, Blocks.lever, 6, 26, 22, 8, box); //placed on ground + placeBlockAtCurrentPosition(world, Blocks.lever, 6, 25, 22, 7, box); + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairS, 28, 21, 7, box); + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairW, 27, 21, 5, box); + + placeBlockAtCurrentPosition(world, ModBlocks.tape_recorder, decoE, 30, 21, 5, box); + placeBlockAtCurrentPosition(world, Blocks.flower_pot, 0, 27, 21, 3, box); + + placeBlockAtCurrentPosition(world, Blocks.flower_pot, 0, 25, 22, 2, box); + + placeCore(world, box, ModBlocks.radio_telex, ForgeDirection.WEST, 25, 21, 5); + fillSpace(world, box, 25, 21, 5, new int[] {0, 0, 0, 0, 1, 0}, ModBlocks.radio_telex, ForgeDirection.WEST); + placeBlockAtCurrentPosition(world, ModBlocks.radio_torch_sender, 0, 26, 20, 8, box); //Launchpad lever + setRTTYFreq(world, box, 26, 20, 8, freq); + placeBlockAtCurrentPosition(world, ModBlocks.radio_torch_sender, 0, 25, 20, 7, box); //hatch lever + setRTTYFreq(world, box, 25, 20, 7, freqHatch); + + //Machine/Small Desk Area + placeBlockAtCurrentPosition(world, ModBlocks.deco_pipe_framed_green_rusted, pillarWE, 23, 23, 1, box); + fillWithMetadataBlocks(world, box, 16, 23, 1, 19, 23, 1, ModBlocks.deco_pipe_framed_green_rusted, pillarWE); + placeBlockAtCurrentPosition(world, ModBlocks.deco_steel, 0, 20, 21, 1, box); + placeBlockAtCurrentPosition(world, ModBlocks.capacitor_copper, decoN, 20, 22, 1, box); + placeBlockAtCurrentPosition(world, ModBlocks.reinforced_stone_stairs, stairS | 4, 21, 21, 1, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_crt, getCRTMeta(2) | 4, 21, 22, 1, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_steel, 0, 22, 21, 1, box); + placeBlockAtCurrentPosition(world, ModBlocks.capacitor_copper, decoN, 22, 22, 1, box); + fillWithBlocks(world, box, 20, 23, 1, 22, 23, 1, ModBlocks.deco_steel); + placeBlockAtCurrentPosition(world, ModBlocks.hev_battery, 0, 23, 21, 1, box); + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairW, 18, 21, 2, box); + fillWithBlocks(world, box, 16, 21, 1, 16, 21, 3, ModBlocks.deco_steel); + + placeBlockAtCurrentPosition(world, ModBlocks.deco_computer, decoModelE, 16, 22, 2, box); + placeBlockAtCurrentPosition(world, Blocks.flower_pot, 0, 16, 22, 3, box); + placeRandomBobble(world, box, rand, 16, 22, 4); + + //Containers + generateInvContents(world, box, rand, ModBlocks.filing_cabinet, decoModelW, 31, 21, 17, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 4); + generateInvContents(world, box, rand, ModBlocks.filing_cabinet, decoModelW, 31, 21, 18, ItemPool.getPool(ItemPoolsComponent.POOL_VAULT_LAB), 6); + generateInvContents(world, box, rand, ModBlocks.filing_cabinet, decoModelW, 31, 21, 19, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 4); + generateInvContents(world, box, rand, ModBlocks.filing_cabinet, decoModelW, 31, 22, 17, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 4); + generateInvContents(world, box, rand, ModBlocks.filing_cabinet, decoModelW, 31, 22, 19, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 4); + generateInvContents(world, box, rand, ModBlocks.crate_steel, 2, 29, 21, 19, ItemPool.getPool(ItemPoolsComponent.POOL_OFFICE_TRASH), 8); + generateInvContents(world, box, rand, ModBlocks.filing_cabinet, decoModelE, 29, 21, 18, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 4); + generateInvContents(world, box, rand, ModBlocks.filing_cabinet, decoModelE, 29, 21, 17, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 4); + + generateInvContents(world, box, rand, ModBlocks.filing_cabinet, decoModelW, 31, 21, 8, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 5); + + generateInvContents(world, box, rand, ModBlocks.crate_steel, 3, 25, 21, 2, ItemPool.getPool(ItemPoolsComponent.POOL_MACHINE_PARTS), 4); + + generateInvContents(world, box, rand, ModBlocks.filing_cabinet, decoModelN, 23, 21, 5, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 5); + + generateLockableContents(world, box, rand, ModBlocks.safe, decoW, 16, 21, 4, ItemPool.getPool(ItemPoolsSingle.POOL_VAULT_RUSTY), 3, 1D); + + /* Silo */ + // TOP + //Air + fillWithAir(world, box, 17, 21, 6, 21, 23, 6); + fillWithAir(world, box, 15, 21, 7, 23, 23, 10); + fillWithAir(world, box, 24, 21, 8, 24, 23, 10); + fillWithAir(world, box, 25, 21, 9, 25, 23, 10); + fillWithAir(world, box, 26, 21, 10, 26, 23, 10); + fillWithAir(world, box, 23, 21, 11, 26, 23, 17); + fillWithAir(world, box, 27, 21, 12, 27, 23, 16); + fillWithAir(world, box, 26, 21, 18, 26, 23, 18); + fillWithAir(world, box, 25, 21, 18, 25, 23, 19); + fillWithAir(world, box, 24, 21, 18, 24, 23, 20); + fillWithAir(world, box, 15, 21, 18, 23, 23, 21); + fillWithAir(world, box, 17, 21, 22, 21, 23, 22); + fillWithAir(world, box, 14, 21, 18, 14, 23, 20); + fillWithAir(world, box, 13, 21, 18, 13, 23, 19); + fillWithAir(world, box, 12, 21, 18, 12, 23, 18); + fillWithAir(world, box, 12, 21, 11, 15, 23, 17); + fillWithAir(world, box, 11, 21, 12, 11, 23, 16); + fillWithAir(world, box, 12, 21, 10, 12, 23, 10); + fillWithAir(world, box, 13, 21, 9, 13, 23, 10); + fillWithAir(world, box, 14, 21, 8, 14, 23, 10); + //Floor + fillWithBlocks(world, box, 13, 20, 9, 13, 20, 11, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 14, 20, 8, 14, 20, 9, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 15, 20, 7, 16, 20, 8, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 17, 20, 6, 21, 20, 7, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 22, 20, 7, 23, 20, 8, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 24, 20, 8, 24, 20, 9, ModBlocks.concrete_smooth); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth, 0, 25, 20, 9, box); + fillWithBlocks(world, box, 25, 20, 10, 26, 20, 11, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 26, 20, 12, 27, 20, 16, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 25, 20, 17, 26, 20, 18, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 24, 20, 19, 25, 20, 19, ModBlocks.concrete_smooth); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth, 0, 24, 20, 20, box); + fillWithBlocks(world, box, 22, 20, 20, 23, 20, 21, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 17, 20, 21, 21, 20, 22, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 15, 20, 20, 16, 20, 21, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 14, 20, 19, 14, 20, 20, ModBlocks.concrete_smooth); + //grates + fillWithMetadataBlocks(world, box, 14, 20, 10, 15, 20, 18, ModBlocks.steel_grate, 7); + fillWithMetadataBlocks(world, box, 13, 20, 12, 13, 20, 16, ModBlocks.steel_grate, 7); + fillWithMetadataBlocks(world, box, 17, 20, 8, 21, 20, 8, ModBlocks.steel_grate, 7); + fillWithMetadataBlocks(world, box, 15, 20, 9, 23, 20, 9, ModBlocks.steel_grate, 7); + fillWithMetadataBlocks(world, box, 16, 20, 10, 22, 20, 10, ModBlocks.steel_grate, 7); + fillWithMetadataBlocks(world, box, 23, 20, 10, 24, 20, 18, ModBlocks.steel_grate, 7); + fillWithMetadataBlocks(world, box, 25, 20, 12, 25, 20, 16, ModBlocks.steel_grate, 7); + fillWithMetadataBlocks(world, box, 22, 20, 19, 23, 20, 19, ModBlocks.steel_grate, 7); + fillWithMetadataBlocks(world, box, 15, 20, 19, 16, 20, 19, ModBlocks.steel_grate, 7); + fillWithMetadataBlocks(world, box, 16, 20, 18, 22, 20, 18, ModBlocks.steel_grate, 7); + //Ceiling + fillWithBlocks(world, box, 11, 24, 12, 11, 24, 16, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 12, 24, 10, 15, 24, 18, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 13, 24, 9, 15, 24, 9, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 14, 24, 8, 15, 24, 8, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 13, 24, 19, 15, 24, 19, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 14, 24, 20, 15, 24, 20, ModBlocks.concrete_smooth); + + fillWithBlocks(world, box, 17, 24, 6, 21, 24, 6, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 15, 24, 7, 23, 24, 7, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 16, 24, 8, 22, 24, 10, ModBlocks.concrete_smooth); + + fillWithBlocks(world, box, 27, 24, 12, 27, 24, 16, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 23, 24, 10, 26, 24, 18, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 23, 24, 9, 25, 24, 9, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 23, 24, 8, 24, 24, 8, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 23, 24, 19, 25, 24, 19, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 23, 24, 20, 24, 24, 20, ModBlocks.concrete_smooth); + + fillWithBlocks(world, box, 17, 24, 22, 21, 24, 22, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 15, 24, 21, 23, 24, 21, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 16, 24, 18, 22, 24, 20, ModBlocks.concrete_smooth); + //Walls + fillWithRandomizedBlocks(world, box, 14, 20, 7, 14, 24, 7, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 13, 20, 8, 13, 24, 8, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 12, 21, 9, 12, 24, 9, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 11, 21, 10, 11, 24, 11, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 10, 21, 12, 10, 24, 16, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 11, 21, 17, 11, 24, 18, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 12, 21, 19, 12, 24, 19, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 13, 21, 20, 13, 24, 20, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 14, 20, 21, 14, 24, 21, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 15, 20, 22, 16, 24, 22, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 17, 20, 23, 21, 24, 23, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 22, 20, 22, 23, 24, 22, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 24, 20, 21, 24, 24, 21, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 25, 20, 20, 25, 24, 20, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 26, 20, 19, 26, 24, 19, rand, ConcreteBricks); + + // CENTER + //Air + fillWithAir(world, box, 17, 2, 12, 21, 25, 16); + for(int i = 5; i <= 17; i += 4) { + if(((i - 5) / 4) % 2 == 0) { //stairs facing N + fillWithAir(world, box, 17, i, 8, 20, i + 3, 9); + fillWithAir(world, box, 17, i, 10, 21, i + 2, 10); + fillWithAir(world, box, 17, i, 18, 21, i + 2, 20); + } else { //stairs facing S + fillWithAir(world, box, 18, i, 19, 21, i + 3, 20); + fillWithAir(world, box, 17, i, 18, 21, i + 2, 18); + fillWithAir(world, box, 17, i, 8, 21, i + 2, 10); + } + fillWithAir(world, box, 22, i, 10, 22, i + 2, 10); + fillWithAir(world, box, 22, i, 9, 23, i + 2, 9); + fillWithAir(world, box, 23, i, 10, 24, i + 2, 18); + fillWithAir(world, box, 25, i, 12, 25, i + 2, 16); + fillWithAir(world, box, 22, i, 19, 23, i + 2, 19); + fillWithAir(world, box, 22, i, 18, 22, i + 2, 18); + fillWithAir(world, box, 16, i, 18, 16, i + 2, 18); + fillWithAir(world, box, 15, i, 19, 16, i + 2, 19); + fillWithAir(world, box, 14, i, 10, 15, i + 2, 18); + fillWithAir(world, box, 13, i, 12, 13, i + 2, 16); + fillWithAir(world, box, 15, i, 9, 16, i + 2, 9); + fillWithAir(world, box, 16, i, 10, 16, i + 2, 10); + } + for(int i = 6; i <= 22; i += 4) { + fillWithAir(world, box, 16, i, 11, 18, i + 1, 11); + fillWithAir(world, box, 16, i, 12, 16, i + 1, 13); + fillWithAir(world, box, 16, i, 15, 16, i + 1, 16); + fillWithAir(world, box, 16, i, 17, 18, i + 1, 17); + fillWithAir(world, box, 20, i, 17, 22, i + 1, 17); + fillWithAir(world, box, 22, i, 15, 22, i + 1, 16); + fillWithAir(world, box, 22, i, 12, 22, i + 1, 13); + fillWithAir(world, box, 20, i, 11, 22, i + 1, 11); + } + //Supports + fillWithRandomizedBlocks(world, box, 22, 24, 17, 22, 24, 17, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 17, 24, 17, 21, 25, 17, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 16, 24, 17, 16, 24, 17, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 16, 24, 12, 16, 25, 16, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 16, 24, 11, 16, 24, 11, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 17, 24, 11, 21, 25, 11, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 22, 24, 11, 22, 24, 11, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 22, 24, 12, 22, 25, 16, rand, ConcreteBricks); + + fillWithRandomizedBlocks(world, box, 19, 5, 11, 19, 23, 11, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 22, 5, 14, 22, 23, 14, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 19, 5, 17, 19, 23, 17, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 16, 5, 14, 16, 23, 14, rand, ConcreteBricks); + //Grates + Railing + for(int j = 8; j <= 20; j += 4) { + for(int i = 16; i <= 22; i += 6) { + fillWithMetadataBlocks(world, box, i, j, 15, i, j, 16, ModBlocks.steel_grate, 7); + fillWithMetadataBlocks(world, box, i, j, 12, i, j, 13, ModBlocks.steel_grate, 7); + fillWithBlocks(world, box, i, j + 1, 15, i, j + 1, 16, ModBlocks.fence_metal); + fillWithBlocks(world, box, i, j + 1, 12, i, j + 1, 13, ModBlocks.fence_metal); + } + for(int k = 11; k <= 17; k += 6) { + fillWithMetadataBlocks(world, box, 16, j, k, 18, j, k, ModBlocks.steel_grate, 7); + fillWithMetadataBlocks(world, box, 20, j, k, 22, j, k, ModBlocks.steel_grate, 7); + fillWithBlocks(world, box, 16, j + 1, k, 18, j + 1, k, ModBlocks.fence_metal); + fillWithBlocks(world, box, 20, j + 1, k, 22, j + 1, k, ModBlocks.fence_metal); + } + } + //Floor + for(int j = 8; j <= 16; j += 4) { + fillWithBlocks(world, box, 15, j, 11, 15, j, 17, ModBlocks.concrete); + fillWithBlocks(world, box, 16, j, 10, 22, j, 10, ModBlocks.concrete); + fillWithBlocks(world, box, 23, j, 11, 23, j, 17, ModBlocks.concrete); + fillWithBlocks(world, box, 16, j, 18, 22, j, 18, ModBlocks.concrete); + fillWithBlocks(world, box, 15, j, 9, 16, j, 9, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 14, j, 10, 15, j, 10, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 14, j, 11, 14, j, 17, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 13, j, 12, 13, j, 16, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 14, j, 18, 15, j, 18, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 15, j, 19, 16, j, 19, ModBlocks.concrete_smooth); + + if((j / 4) % 2 == 0) { + fillWithBlocks(world, box, 20, j, 19, 21, j, 20, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 19, j, 19, 19, j + 1, 20, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 18, j, 19, 18, j + 2, 20, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 17, j, 19, 17, j + 3, 20, ModBlocks.concrete_smooth); + for(int i = 0; i < 4; i++) + fillWithMetadataBlocks(world, box, 20 - i, j + 1 + i, 19, 20 - i, j + 1 + i, 20, ModBlocks.concrete_smooth_stairs, stairE); + } else { + fillWithBlocks(world, box, 17, j, 8, 18, j, 9, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 19, j, 8, 19, j + 1, 9, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 20, j, 8, 20, j + 2, 9, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 21, j, 8, 21, j + 3, 9, ModBlocks.concrete_smooth); + for(int i = 0; i < 4; i++) + fillWithMetadataBlocks(world, box, 18 + i, j + 1 + i, 8, 18 + i, j + 1 + i, 9, ModBlocks.concrete_smooth_stairs, stairW); + } + + fillWithBlocks(world, box, 22, j, 9, 23, j, 9, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 23, j, 10, 24, j, 10, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 24, j, 11, 24, j, 17, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 25, j, 12, 25, j, 16, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 23, j, 18, 24, j, 18, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 22, j, 19, 23, j, 19, ModBlocks.concrete_smooth); + } + + //Walls + fillWithRandomizedBlocks(world, box, 17, 5, 7, 21, 19, 7, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 15, 4, 8, 16, 19, 8, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 14, 4, 9, 14, 19, 9, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 13, 4, 10, 13, 19, 11, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 12, 5, 12, 12, 19, 16, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 13, 4, 17, 13, 19, 18, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 14, 4, 19, 14, 19, 19, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 15, 4, 20, 16, 19, 20, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 17, 5, 21, 21, 19, 21, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 22, 4, 20, 23, 19, 20, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 24, 4, 19, 24, 19, 19, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 25, 4, 17, 25, 19, 18, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 26, 5, 12, 26, 19, 16, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 25, 4, 10, 25, 19, 11, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 24, 4, 9, 24, 19, 9, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 22, 4, 8, 23, 19, 8, rand, ConcreteBricks); + + // EXHAUST + //dark area N/S + fillWithMetadataBlocks(world, box, 17, 0, 7, 21, 0, 21, ModBlocks.concrete_colored, 7); + fillWithMetadataBlocks(world, box, 18, 1, 7, 20, 1, 7, ModBlocks.concrete_colored, 7); + fillWithMetadataBlocks(world, box, 17, 1, 7, 17, 1, 12, ModBlocks.concrete_colored, 7); + fillWithMetadataBlocks(world, box, 21, 1, 7, 21, 1, 12, ModBlocks.concrete_colored, 7); + fillWithMetadataBlocks(world, box, 18, 1, 11, 18, 1, 12, ModBlocks.concrete_colored, 7); + fillWithMetadataBlocks(world, box, 20, 1, 11, 20, 1, 12, ModBlocks.concrete_colored, 7); + fillWithMetadataBlocks(world, box, 18, 1, 21, 20, 1, 21, ModBlocks.concrete_colored, 7); + fillWithMetadataBlocks(world, box, 17, 1, 16, 17, 1, 21, ModBlocks.concrete_colored, 7); + fillWithMetadataBlocks(world, box, 21, 1, 16, 21, 1, 21, ModBlocks.concrete_colored, 7); + fillWithMetadataBlocks(world, box, 18, 1, 16, 18, 1, 17, ModBlocks.concrete_colored, 7); + fillWithMetadataBlocks(world, box, 20, 1, 16, 20, 1, 17, ModBlocks.concrete_colored, 7); + //W/E + fillWithMetadataBlocks(world, box, 12, 0, 12, 16, 0, 16, ModBlocks.concrete_colored, 7); + fillWithMetadataBlocks(world, box, 22, 0, 12, 26, 0, 16, ModBlocks.concrete_colored, 7); + fillWithMetadataBlocks(world, box, 12, 1, 13, 12, 1, 15, ModBlocks.concrete_colored, 7); + fillWithMetadataBlocks(world, box, 12, 1, 16, 16, 1, 16, ModBlocks.concrete_colored, 7); + fillWithMetadataBlocks(world, box, 12, 1, 12, 16, 1, 12, ModBlocks.concrete_colored, 7); + fillWithMetadataBlocks(world, box, 16, 1, 15, 17, 1, 15, ModBlocks.concrete_colored, 7); + fillWithMetadataBlocks(world, box, 16, 1, 13, 17, 1, 13, ModBlocks.concrete_colored, 7); + fillWithMetadataBlocks(world, box, 26, 1, 13, 26, 1, 15, ModBlocks.concrete_colored, 7); + fillWithMetadataBlocks(world, box, 22, 1, 16, 26, 1, 16, ModBlocks.concrete_colored, 7); + fillWithMetadataBlocks(world, box, 22, 1, 12, 26, 1, 12, ModBlocks.concrete_colored, 7); + fillWithMetadataBlocks(world, box, 21, 1, 15, 22, 1, 15, ModBlocks.concrete_colored, 7); + fillWithMetadataBlocks(world, box, 21, 1, 13, 22, 1, 13, ModBlocks.concrete_colored, 7); + //gray area walls + fillWithBlocks(world, box, 18, 2, 21, 20, 3, 21, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 21, 2, 17, 21, 3, 21, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 22, 2, 16, 26, 3, 16, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 26, 2, 13, 26, 3, 15, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 22, 2, 12, 26, 3, 12, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 21, 2, 7, 21, 3, 11, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 18, 2, 7, 20, 3, 7, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 17, 2, 7, 17, 3, 11, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 12, 2, 12, 16, 3, 12, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 12, 2, 13, 12, 3, 15, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 12, 2, 16, 16, 3, 16, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 17, 2, 17, 17, 3, 21, ModBlocks.concrete_smooth); + //Floor + fillWithBlocks(world, box, 18, 2, 21, 20, 3, 21, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 21, 2, 17, 21, 3, 21, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 22, 2, 16, 26, 3, 16, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 26, 2, 13, 26, 3, 15, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 22, 2, 12, 26, 3, 12, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 21, 2, 7, 21, 3, 11, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 18, 2, 7, 20, 3, 7, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 17, 2, 7, 17, 3, 11, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 12, 2, 12, 16, 3, 12, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 12, 2, 13, 12, 3, 15, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 12, 2, 16, 16, 3, 16, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 17, 2, 17, 17, 2, 21, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 17, 4, 17, 21, 4, 21, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 22, 4, 17, 23, 4, 19, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 24, 4, 17, 24, 4, 18, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 22, 4, 12, 26, 4, 16, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 24, 4, 10, 24, 4, 11, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 22, 4, 9, 23, 4, 11, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 17, 4, 7, 21, 4, 11, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 15, 4, 9, 16, 4, 11, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 14, 4, 10, 14, 4, 11, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 12, 4, 12, 16, 4, 16, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 14, 4, 17, 14, 4, 18, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 15, 4, 17, 16, 4, 19, ModBlocks.concrete_smooth); + //Stairs + fillWithBlocks(world, box, 19, 5, 8, 19, 5, 9, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 20, 5, 8, 20, 6, 9, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 21, 5, 8, 21, 7, 9, ModBlocks.concrete_smooth); + for(int i = 0; i < 4; i++) + fillWithMetadataBlocks(world, box, 18 + i, 5 + i, 8, 18 + i, 5 + i, 9, ModBlocks.concrete_smooth_stairs, stairW); + //Railing and Deco + placeBlockAtCurrentPosition(world, ModBlocks.fence_metal, 0, 18, 5, 11, box); + fillWithBlocks(world, box, 20, 5, 11, 22, 5, 11, ModBlocks.fence_metal); + fillWithBlocks(world, box, 22, 5, 12, 22, 5, 13, ModBlocks.fence_metal); + fillWithBlocks(world, box, 22, 5, 15, 22, 5, 17, ModBlocks.fence_metal); + placeBlockAtCurrentPosition(world, ModBlocks.fence_metal, 0, 20, 5, 17, box); + fillWithBlocks(world, box, 16, 5, 17, 18, 5, 17, ModBlocks.fence_metal); + fillWithBlocks(world, box, 16, 5, 15, 16, 5, 16, ModBlocks.fence_metal); + fillWithBlocks(world, box, 16, 5, 11, 16, 5, 13, ModBlocks.fence_metal); + placeBlockAtCurrentPosition(world, Blocks.air, 0, 21, 5, 17, box); + placeBlockAtCurrentPosition(world, Blocks.air, 0, 17, 5, 11, box); + + fillWithMetadataBlocks(world, box, 17, 2, 12, 17, 4, 12, ModBlocks.ladder_steel, decoN); + fillWithMetadataBlocks(world, box, 21, 2, 16, 21, 4, 16, ModBlocks.ladder_steel, decoS); + //Launch Pad + placeCoreLaunchpad(world, box, ModBlocks.launch_pad_rusted, ForgeDirection.SOUTH, 19, 1, 14); + fillSpace(world, box, 19, 1, 14, new int[] {0, 0, 1, 1, 1, 1}, ModBlocks.launch_pad_rusted, ForgeDirection.SOUTH); + for(int i = 0; i <= 2; i += 2) + for(int k = 0; k <= 2; k += 2) + makeExtra(world, box, ModBlocks.launch_pad_rusted, 18 + i, 1, 13 + k); + placeBlockAtCurrentPosition(world, ModBlocks.radio_torch_receiver, 3, 19, 0, 14, box); + setRTTYFreq(world, box, 19, 0, 14, freq); + + //Air + fillWithAir(world, box, 18, 1, 8, 20, 3, 10); + fillWithAir(world, box, 18, 2, 11, 20, 3, 11); + fillWithAir(world, box, 19, 1, 11, 19, 1, 12); + fillWithAir(world, box, 19, 1, 16, 19, 1, 17); + fillWithAir(world, box, 18, 2, 17, 20, 3, 17); + fillWithAir(world, box, 18, 1, 18, 20, 3, 20); + fillWithAir(world, box, 13, 1, 13, 15, 3, 15); + fillWithAir(world, box, 16, 2, 13, 16, 3, 15); + fillWithAir(world, box, 16, 1, 14, 17, 1, 14); + fillWithAir(world, box, 21, 1, 14, 22, 1, 14); + fillWithAir(world, box, 22, 2, 13, 22, 3, 15); + fillWithAir(world, box, 23, 1, 13, 25, 3, 15); + + /* Red Sector */ + //Air + fillWithAir(world, box, 2, 17, 9, 11, 18, 11); + fillWithAir(world, box, 2, 19, 10, 11, 19, 10); + fillWithAir(world, box, 2, 17, 13, 11, 18, 15); + fillWithAir(world, box, 2, 19, 14, 11, 19, 14); + fillWithAir(world, box, 8, 17, 17, 12, 18, 25); + fillWithAir(world, box, 9, 19, 17, 11, 19, 25); + fillWithAir(world, box, 2, 17, 17, 6, 18, 21); + fillWithAir(world, box, 3, 19, 17, 5, 19, 21); + fillWithAir(world, box, 2, 17, 22, 3, 18, 25); + fillWithAir(world, box, 3, 19, 22, 3, 19, 25); + fillWithAir(world, box, 5, 17, 23, 6, 19, 25); + //Ceiling + fillWithBlocks(world, box, 1, 20, 8, 12, 20, 16, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 1, 20, 17, 13, 20, 26, ModBlocks.concrete_smooth); + //Floor + fillWithBlocks(world, box, 2, 16, 7, 11, 16, 7, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 1, 16, 8, 12, 16, 11, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 1, 16, 12, 11, 16, 16, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 1, 16, 17, 12, 16, 18, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 1, 16, 19, 13, 16, 26, ModBlocks.concrete_smooth); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth, 0, 12, 16, 14, box); + //Walls + //N + fillWithRandomizedBlocks(world, box, 2, 17, 7, 11, 19, 7, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 11, 17, 8, 12, 17, 8, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 8, 17, 8, 8, 17, 8, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 5, 17, 8, 5, 17, 8, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 1, 17, 8, 2, 17, 8, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 1, 19, 8, 12, 19, 8, rand, ConcreteBricks); + fillWithMetadataBlocks(world, box, 1, 18, 8, 2, 18, 8, ModBlocks.concrete_colored, 14); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_colored, 14, 5, 18, 8, box); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_colored, 14, 8, 18, 8, box); + fillWithMetadataBlocks(world, box, 11, 18, 8, 12, 18, 8, ModBlocks.concrete_colored, 14); + //W + fillWithMetadataBlocks(world, box, 1, 18, 9, 1, 18, 25, ModBlocks.concrete_colored, 14); + //S + fillWithMetadataBlocks(world, box, 1, 18, 26, 13, 18, 26, ModBlocks.concrete_colored, 14); + //E + fillWithMetadataBlocks(world, box, 13, 18, 17, 13, 18, 25, ModBlocks.concrete_colored, 14); + fillWithMetadataBlocks(world, box, 12, 18, 9, 12, 18, 16, ModBlocks.concrete_colored, 14); + fillWithMetadataBlocks(world, box, 13, 18, 10, 13, 18, 11, ModBlocks.concrete_colored, 14); + //Internal + fillWithMetadataBlocks(world, box, 2, 18, 12, 11, 18, 12, ModBlocks.concrete_colored, 14); + fillWithMetadataBlocks(world, box, 2, 18, 16, 11, 18, 16, ModBlocks.concrete_colored, 14); + fillWithMetadataBlocks(world, box, 7, 18, 17, 7, 18, 25, ModBlocks.concrete_colored, 14); + fillWithMetadataBlocks(world, box, 4, 18, 22, 6, 18, 22, ModBlocks.concrete_colored, 14); + fillWithMetadataBlocks(world, box, 4, 18, 23, 4, 18, 25, ModBlocks.concrete_colored, 14); + for(int i = 17; i <= 19; i += 2) { + //W + fillWithRandomizedBlocks(world, box, 1, i, 9, 1, i, 25, rand, ConcreteBricks); + //S + fillWithRandomizedBlocks(world, box, 1, i, 26, 13, i, 26, rand, ConcreteBricks); + //E + fillWithRandomizedBlocks(world, box, 13, i, 19, 13, i, 25, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 12, i, 9, 12, i, 11, rand, ConcreteBricks); + //Internal + fillWithRandomizedBlocks(world, box, 2, i, 12, 11, i, 12, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 2, i, 16, 11, i, 16, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 7, i, 17, 7, i, 25, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 4, i, 22, 6, i, 22, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 4, i, 23, 4, i, 25, rand, ConcreteBricks); + } + //Arches + ConcreteStairs.setMetadata(stairS | 4); + fillWithRandomizedBlocks(world, box, 2, 19, 9, 11, 19, 9, rand, ConcreteStairs); + fillWithRandomizedBlocks(world, box, 2, 19, 13, 11, 19, 13, rand, ConcreteStairs); + ConcreteStairs.setMetadata(stairN | 4); + fillWithRandomizedBlocks(world, box, 2, 19, 11, 11, 19, 11, rand, ConcreteStairs); + fillWithRandomizedBlocks(world, box, 2, 19, 15, 11, 19, 15, rand, ConcreteStairs); + ConcreteStairs.setMetadata(stairW | 4); + fillWithRandomizedBlocks(world, box, 12, 19, 17, 12, 19, 25, rand, ConcreteStairs); + fillWithRandomizedBlocks(world, box, 6, 19, 17, 6, 19, 21, rand, ConcreteStairs); + ConcreteStairs.setMetadata(stairE | 4); + fillWithRandomizedBlocks(world, box, 8, 19, 17, 8, 19, 25, rand, ConcreteStairs); + fillWithRandomizedBlocks(world, box, 2, 19, 17, 2, 19, 25, rand, ConcreteStairs); + //Doors + placeDoor(world, box, ModBlocks.door_bunker, 2, false, rand.nextBoolean(), 12, 17, 14); + placeDoor(world, box, ModBlocks.door_bunker, 3, false, rand.nextBoolean(), 10, 17, 12); + placeDoor(world, box, ModBlocks.door_bunker, 1, false, rand.nextBoolean(), 10, 17, 16); + placeDoor(world, box, ModBlocks.door_bunker, 1, false, rand.nextBoolean(), 4, 17, 16); + placeDoor(world, box, ModBlocks.door_metal, 0, false, rand.nextBoolean(), 4, 17, 24); + //Deco + //Living Room + placeBlockAtCurrentPosition(world, ModBlocks.reinforced_stone_stairs, stairW | 4, 12, 17, 17, box); + placeBlockAtCurrentPosition(world, Blocks.cauldron, 0, 12, 17, 18, box); + fillWithMetadataBlocks(world, box, 12, 17, 19, 12, 17, 20, ModBlocks.reinforced_stone_stairs, stairW | 4); + placeBlockAtCurrentPosition(world, ModBlocks.machine_electric_furnace_off, decoE, 12, 17, 21, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_toaster, getCRTMeta(3) | 4, 12, 18, 17, box); + placeLever(world, box, 2, true, 12, 18, 18); + placeBlockAtCurrentPosition(world, ModBlocks.machine_microwave, decoE, 12, 18, 19, box); + placeBlockAtCurrentPosition(world, ModBlocks.hev_battery, 0, 12, 18, 20, box); + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairS, 8, 17, 17, box); + fillWithMetadataBlocks(world, box, 8, 17, 19, 9, 17, 19, ModBlocks.reinforced_stone_stairs, stairS | 4); + fillWithMetadataBlocks(world, box, 8, 17, 20, 9, 17, 20, ModBlocks.reinforced_stone_stairs, stairN | 4); + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairN, 8, 17, 22, box); + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairE, 10, 17, 23, box); + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairS, 11, 17, 23, box); + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairW, 12, 17, 23, box); + fillWithMetadataBlocks(world, box, 10, 17, 25, 12, 17, 25, ModBlocks.reinforced_stone_stairs, stairN | 4); + placeBlockAtCurrentPosition(world, ModBlocks.deco_crt, getCRTMeta(0), 11, 18, 25, box); + + //Bathroom + placeBlockAtCurrentPosition(world, ModBlocks.reinforced_stone, 0, 6, 17, 17, box); + fillWithBlocks(world, box, 6, 17, 18, 6, 17, 20, Blocks.cauldron); + placeBlockAtCurrentPosition(world, ModBlocks.reinforced_stone, 0, 6, 17, 21, box); + for(int i = 0; i < 3; i++) + placeLever(world, box, 2, true, 6, 18, 18 + i); + placeBlockAtCurrentPosition(world, Blocks.hopper, decoW, 6, 17, 24, box); + placeBlockAtCurrentPosition(world, Blocks.trapdoor, decoModelW >> 2, 6, 18, 24, box); + //Bedroom + for(int i = 3; i <= 7; i += 2) + placeBlockAtCurrentPosition(world, ModBlocks.reinforced_stone_stairs, stairN | 4, i, 17, 11, box); + + for(int i = 4; i <= 10; i += 3) + for(int j = 17; j <= 18; j++) + placeBed(world, box, 1, i, j, 8); + + //Containers + generateInvContents(world, box, rand, ModBlocks.crate_steel, 2, 8, 17, 25, ItemPool.getPool(ItemPoolsComponent.POOL_VAULT_LOCKERS), 6); + + generateInvContents(world, box, rand, ModBlocks.crate_steel, 2, 2, 17, 11, ItemPool.getPool(ItemPoolsComponent.POOL_VAULT_LOCKERS), 6); //placed separately for loot table control + generateInvContents(world, box, rand, ModBlocks.crate_steel, 2, 4, 17, 11, ItemPool.getPool(ItemPoolsLegacy.POOL_EXPENSIVE), 2); + generateInvContents(world, box, rand, ModBlocks.crate_steel, 2, 6, 17, 11, ItemPool.getPool(ItemPoolsComponent.POOL_VAULT_LOCKERS), 6); + generateInvContents(world, box, rand, ModBlocks.crate_steel, 2, 8, 17, 11, ItemPool.getPool(ItemPoolsComponent.POOL_VAULT_LOCKERS), 6); + //Mines + fillWithMines(world, box, rand, 2, 17, 9, 11, 17, 11); + fillWithMines(world, box, rand, 9, 17, 17, 11, 17, 24); + fillWithMines(world, box, rand, 5, 17, 23, 6, 17, 25); + + /* Yellow Sector */ + //Air + fillWithAir(world, box, 27, 13, 13, 33, 14, 15); + fillWithAir(world, box, 27, 15, 14, 33, 15, 14); + fillWithAir(world, box, 27, 13, 17, 33, 14, 21); + fillWithAir(world, box, 27, 15, 18, 33, 15, 20); + fillWithAir(world, box, 27, 13, 9, 29, 14, 11); + fillWithAir(world, box, 28, 15, 9, 28, 15, 11); + fillWithAir(world, box, 31, 13, 9, 33, 14, 11); + fillWithAir(world, box, 32, 15, 9, 32, 15, 11); + //Ceiling + Floor + for(int i = 12; i <= 16; i += 4) { + fillWithBlocks(world, box, 26, i, 17, 26, i, 22, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 27, i, 8, 34, i, 22, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 26, i, 8, 26, i, 11, ModBlocks.concrete_smooth); + } + placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth, 0, 26, 12, 14, box); + //Walls + //N + fillWithMetadataBlocks(world, box, 26, 14, 8, 34, 14, 8, ModBlocks.concrete_colored, 4); + //E + fillWithMetadataBlocks(world, box, 34, 14, 9, 34, 14, 21, ModBlocks.concrete_colored, 4); + //S + fillWithMetadataBlocks(world, box, 26, 14, 22, 34, 14, 22, ModBlocks.concrete_colored, 4); + //W + fillWithMetadataBlocks(world, box, 26, 14, 9, 26, 14, 21, ModBlocks.concrete_colored, 4); + fillWithMetadataBlocks(world, box, 25, 14, 17, 25, 14, 18, ModBlocks.concrete_colored, 4); + fillWithMetadataBlocks(world, box, 25, 14, 10, 25, 14, 11, ModBlocks.concrete_colored, 4); + //Internal + fillWithMetadataBlocks(world, box, 27, 14, 16, 33, 14, 16, ModBlocks.concrete_colored, 4); + fillWithMetadataBlocks(world, box, 27, 14, 12, 33, 14, 12, ModBlocks.concrete_colored, 4); + fillWithMetadataBlocks(world, box, 30, 14, 9, 30, 14, 11, ModBlocks.concrete_colored, 4); + for(int i = 13; i <= 15; i += 2) { + //N + fillWithRandomizedBlocks(world, box, 26, i, 8, 34, i, 8, rand, ConcreteBricks); + //E + fillWithRandomizedBlocks(world, box, 34, i, 9, 34, i, 21, rand, ConcreteBricks); + //S + fillWithRandomizedBlocks(world, box, 26, i, 22, 34, i, 22, rand, ConcreteBricks); + //W + fillWithRandomizedBlocks(world, box, 26, i, 15, 26, i, 21, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 26, i, 9, 26, i, 13, rand, ConcreteBricks); + //Internal + fillWithRandomizedBlocks(world, box, 27, i, 16, 33, i, 16, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 27, i, 12, 33, i, 12, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 30, i, 9, 30, i, 11, rand, ConcreteBricks); + } + //Arches + ConcreteStairs.setMetadata(stairN | 4); + fillWithRandomizedBlocks(world, box, 27, 15, 21, 33, 15, 21, rand, ConcreteStairs); + fillWithRandomizedBlocks(world, box, 27, 15, 15, 33, 15, 15, rand, ConcreteStairs); + ConcreteStairs.setMetadata(stairS | 4); + fillWithRandomizedBlocks(world, box, 27, 15, 17, 33, 15, 17, rand, ConcreteStairs); + fillWithRandomizedBlocks(world, box, 27, 15, 13, 33, 15, 13, rand, ConcreteStairs); + ConcreteStairs.setMetadata(stairW | 4); + fillWithRandomizedBlocks(world, box, 33, 15, 9, 33, 15, 11, rand, ConcreteStairs); + fillWithRandomizedBlocks(world, box, 29, 15, 9, 29, 15, 11, rand, ConcreteStairs); + ConcreteStairs.setMetadata(stairE | 4); + fillWithRandomizedBlocks(world, box, 31, 15, 9, 31, 15, 11, rand, ConcreteStairs); + fillWithRandomizedBlocks(world, box, 27, 15, 9, 27, 15, 11, rand, ConcreteStairs); + //Doors + placeDoor(world, box, ModBlocks.door_bunker, 0, false, rand.nextBoolean(), 26, 13, 14); + placeDoor(world, box, ModBlocks.door_bunker, 3, false, rand.nextBoolean(), 28, 13, 12); + placeDoor(world, box, ModBlocks.door_bunker, 3, false, rand.nextBoolean(), 32, 13, 12); + placeDoor(world, box, ModBlocks.door_bunker, 1, false, rand.nextBoolean(), 32, 13, 16); + //Deco + //Room 1 + placeBlockAtCurrentPosition(world, ModBlocks.crate_ammo, 0, 27, 13, 9, box); + placeBlockAtCurrentPosition(world, ModBlocks.crate_can, 0, 27, 13, 10, box); + placeBlockAtCurrentPosition(world, ModBlocks.crate_can, 0, 27, 14, 9, box); + placeBlockAtCurrentPosition(world, ModBlocks.crate_can, 0, 28, 13, 9, box); + placeBlockAtCurrentPosition(world, ModBlocks.barrel_corroded, 0, 29, 13, 9, box); + //Room 2 + placeBlockAtCurrentPosition(world, ModBlocks.crate_can, 0, 31, 13, 9, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_computer, decoModelE, 31, 13, 11, box); + + placeBlockAtCurrentPosition(world, ModBlocks.crate_can, 0, 33, 13, 11, box); + //Workshop + placeBlockAtCurrentPosition(world, ModBlocks.machine_transformer, 0, 33, 13, 17, box); + fillWithRandomizedBlocks(world, box, 33, 13, 18, 33, 13, 20, rand, Supplies); + + placeBlockAtCurrentPosition(world, ModBlocks.anvil_iron, decoN, 31, 13, 21, box); + fillWithBlocks(world, box, 28, 13, 18, 29, 13, 20, Blocks.planks); + placeBlockAtCurrentPosition(world, Blocks.crafting_table, 0, 29, 13, 19, box); + placeBlockAtCurrentPosition(world, ModBlocks.radiorec, decoE, 28, 14, 19, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_toaster, getCRTMeta(1), 28, 13, 17, box); + + //Containers + generateInvContents(world, box, rand, ModBlocks.crate_steel, 2, 32, 13, 9, ItemPool.getPool(ItemPoolsComponent.POOL_SILO), 6); + generateInvContents(world, box, rand, ModBlocks.safe, decoN, 33, 13, 9, ItemPool.getPool(ItemPoolsComponent.POOL_MACHINE_PARTS), 6); + + generateInvContents(world, box, rand, ModBlocks.crate_steel, 2, 33, 13, 21, ItemPool.getPool(ItemPoolsComponent.POOL_VAULT_LAB), 8); + //Mines + fillWithMines(world, box, rand, 27, 13, 13, 33, 13, 15); + + /* Green Sector */ + //Air + fillWithAir(world, box, 1, 9, 13, 11, 10, 15); + fillWithAir(world, box, 1, 11, 14, 8, 11, 14); + fillWithAir(world, box, 1, 9, 7, 6, 10, 11); + fillWithAir(world, box, 1, 11, 8, 6, 11, 10); + fillWithAir(world, box, 7, 9, 7, 11, 10, 7); + fillWithAir(world, box, 7, 9, 11, 11, 10, 11); + fillWithAir(world, box, 2, 9, 17, 4, 11, 23); + fillWithAir(world, box, 5, 9, 17, 5, 9, 18); + fillWithAir(world, box, 5, 9, 22, 5, 9, 23); + fillWithAir(world, box, 1, 9, 17, 1, 9, 18); + fillWithAir(world, box, 1, 9, 22, 1, 9, 23); + fillWithAir(world, box, 7, 9, 17, 11, 10, 23); + fillWithAir(world, box, 8, 11, 17, 10, 11, 23); + //Floor + Ceiling + placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth, 0, 12, 8, 14, box); + for(int i = 8; i <= 12; i += 4) { + fillWithBlocks(world, box, 0, i, 6, 12, i, 11, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 0, i, 12, 11, i, 16, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 0, i, 17, 12, i, 24, ModBlocks.concrete_smooth); + } + //Walls + //N + fillWithMetadataBlocks(world, box, 0, 10, 6, 12, 10, 6, ModBlocks.concrete_colored, 13); + //W + fillWithMetadataBlocks(world, box, 0, 10, 7, 0, 10, 23, ModBlocks.concrete_colored, 13); + //S + fillWithMetadataBlocks(world, box, 0, 10, 24, 12, 10, 24, ModBlocks.concrete_colored, 13); + //E + fillWithMetadataBlocks(world, box, 12, 10, 7, 12, 10, 23, ModBlocks.concrete_colored, 13); + fillWithMetadataBlocks(world, box, 13, 10, 17, 13, 10, 18, ModBlocks.concrete_colored, 13); + fillWithMetadataBlocks(world, box, 13, 10, 10, 13, 10, 11, ModBlocks.concrete_colored, 13); + //Internal + fillWithMetadataBlocks(world, box, 1, 10, 12, 11, 10, 12, ModBlocks.concrete_colored, 13); + fillWithMetadataBlocks(world, box, 1, 10, 16, 11, 10, 16, ModBlocks.concrete_colored, 13); + fillWithMetadataBlocks(world, box, 6, 10, 17, 6, 10, 23, ModBlocks.concrete_colored, 13); + for(int i = 9; i <= 11; i += 2) { + //N + fillWithRandomizedBlocks(world, box, 0, i, 6, 12, i, 6, rand, ConcreteBricks); + //W + fillWithRandomizedBlocks(world, box, 0, i, 7, 0, i, 23, rand, ConcreteBricks); + //S + fillWithRandomizedBlocks(world, box, 0, i, 24, 12, i, 24, rand, ConcreteBricks); + //E + fillWithRandomizedBlocks(world, box, 12, i, 17, 12, i, 23, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 12, i, 7, 12, i, 11, rand, ConcreteBricks); + //Internal + fillWithRandomizedBlocks(world, box, 1, i, 12, 11, i, 12, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 1, i, 16, 11, i, 16, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 6, i, 17, 6, i, 23, rand, ConcreteBricks); + } + //Arches + ConcreteStairs.setMetadata(stairS | 4); + fillWithRandomizedBlocks(world, box, 1, 11, 7, 11, 11, 7, rand, ConcreteStairs); + fillWithRandomizedBlocks(world, box, 1, 11, 13, 11, 11, 13, rand, ConcreteStairs); + ConcreteStairs.setMetadata(stairN | 4); + fillWithRandomizedBlocks(world, box, 1, 11, 11, 11, 11, 11, rand, ConcreteStairs); + fillWithRandomizedBlocks(world, box, 1, 11, 15, 11, 11, 15, rand, ConcreteStairs); + ConcreteStairs.setMetadata(stairW | 4); + fillWithRandomizedBlocks(world, box, 11, 11, 17, 11, 11, 23, rand, ConcreteStairs); + fillWithRandomizedBlocks(world, box, 5, 11, 17, 5, 11, 18, rand, ConcreteStairs); + fillWithRandomizedBlocks(world, box, 5, 11, 22, 5, 11, 23, rand, ConcreteStairs); + ConcreteStairs.setMetadata(stairE | 4); + fillWithRandomizedBlocks(world, box, 7, 11, 17, 7, 11, 23, rand, ConcreteStairs); + fillWithRandomizedBlocks(world, box, 1, 11, 17, 1, 11, 18, rand, ConcreteStairs); + fillWithRandomizedBlocks(world, box, 1, 11, 22, 1, 11, 23, rand, ConcreteStairs); + //Doors + placeDoor(world, box, ModBlocks.door_bunker, 2, false, rand.nextBoolean(), 12, 9, 14); + placeDoor(world, box, ModBlocks.door_bunker, 1, false, rand.nextBoolean(), 9, 9, 16); + placeDoor(world, box, ModBlocks.door_bunker, 1, false, rand.nextBoolean(), 3, 9, 16); + placeDoor(world, box, ModBlocks.door_bunker, 3, false, rand.nextBoolean(), 3, 9, 12); + //Deco + //Fuel Infrastructure + fillWithMetadataBlocks(world, box, 17, 11, 14, 18, 11, 14, ModBlocks.deco_pipe_quad_rusted, pillarWE); + placeBlockAtCurrentPosition(world, ModBlocks.deco_steel, 0, 16, 11, 14, box); + fillWithMetadataBlocks(world, box, 13, 11, 14, 15, 11, 14, ModBlocks.deco_pipe_quad_rusted, pillarWE); + placeBlockAtCurrentPosition(world, ModBlocks.deco_steel, 0, 12, 11, 14, box); + fillWithMetadataBlocks(world, box, 10, 11, 14, 11, 11, 14, ModBlocks.deco_pipe_quad_rusted, pillarWE); + placeBlockAtCurrentPosition(world, ModBlocks.deco_steel, 0, 9, 11, 14, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_pipe_quad_rusted, pillarNS, 9, 11, 15, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_steel, 0, 9, 11, 16, box); + fillWithMetadataBlocks(world, box, 9, 11, 17, 9, 11, 19, ModBlocks.deco_pipe_quad_rusted, pillarNS); + placeBlockAtCurrentPosition(world, ModBlocks.fluid_duct_gauge, 0, 9, 11, 20, box); + fillWithMetadataBlocks(world, box, 9, 11, 21, 9, 11, 22, ModBlocks.deco_pipe_quad_rusted, pillarNS); + placeBlockAtCurrentPosition(world, ModBlocks.deco_steel, 0, 9, 11, 23, box); + fillWithBlocks(world, box, 9, 9, 23, 9, 10, 23, ModBlocks.deco_pipe_framed_rusted); + placeBlockAtCurrentPosition(world, ModBlocks.deco_steel, 0, 9, 8, 23, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_pipe_quad_rusted, pillarWE, 10, 11, 20, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_steel, 0, 11, 11, 20, box); + fillWithBlocks(world, box, 11, 9, 20, 11, 10, 20, ModBlocks.deco_pipe_framed_rusted); + placeBlockAtCurrentPosition(world, ModBlocks.deco_steel, 0, 11, 8, 20, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_pipe_quad_rusted, pillarWE, 8, 11, 20, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_steel, 0, 7, 11, 20, box); + fillWithBlocks(world, box, 7, 9, 20, 7, 10, 20, ModBlocks.deco_pipe_framed_rusted); + placeBlockAtCurrentPosition(world, ModBlocks.deco_steel, 0, 7, 8, 20, box); + fillWithBlocks(world, box, 8, 8, 18, 10, 8, 22, ModBlocks.deco_lead); + //Barrels in tank room + placeBlockAtCurrentPosition(world, ModBlocks.lox_barrel, 0, 7, 9, 17, box); + placeBlockAtCurrentPosition(world, ModBlocks.pink_barrel, 0, 11, 9, 19, box); + placeBlockAtCurrentPosition(world, ModBlocks.pink_barrel, 0, 11, 9, 22, box); + fillWithBlocks(world, box, 11, 9, 23, 11, 10, 23, ModBlocks.pink_barrel); + placeBlockAtCurrentPosition(world, ModBlocks.pink_barrel, 0, 10, 9, 23, box); + fillWithBlocks(world, box, 7, 9, 23, 8, 9, 23, ModBlocks.lox_barrel); + fillWithBlocks(world, box, 7, 9, 21, 7, 9, 22, ModBlocks.lox_barrel); + //Capacitor Room + for(int i = 1; i <= 5; i += 4) { + fillWithMetadataBlocks(world, box, i, 10, 17, i, 10, 18, ModBlocks.deco_pipe_quad_red, pillarNS); + fillWithMetadataBlocks(world, box, i, 10, 22, i, 10, 23, ModBlocks.deco_pipe_quad_red, pillarNS); + fillWithBlocks(world, box, i, 9, 19, i, 9, 21, ModBlocks.deco_lead); + fillWithMetadataBlocks(world, box, i, 10, 19, i, 10, 21, ModBlocks.capacitor_copper, i == 1 ? decoW : decoE); + fillWithBlocks(world, box, i, 11, 19, i, 11, 21, ModBlocks.deco_lead); + } + //Generator Room + placeBlockAtCurrentPosition(world, ModBlocks.barrel_corroded, 0, 1, 9, 11, box); + fillWithBlocks(world, box, 1, 9, 8, 1, 9, 9, ModBlocks.barrel_corroded); + fillWithBlocks(world, box, 1, 9, 7, 1, 10, 7, ModBlocks.barrel_corroded); + placeBlockAtCurrentPosition(world, ModBlocks.barrel_corroded, 0, 2, 9, 7, box); + + fillWithBlocks(world, box, 7, 9, 10, 11, 9, 10, ModBlocks.deco_lead); + fillWithBlocks(world, box, 7, 10, 10, 11, 10, 10, ModBlocks.hadron_coil_alloy); + fillWithBlocks(world, box, 7, 11, 10, 11, 11, 10, ModBlocks.deco_lead); + fillWithBlocks(world, box, 7, 9, 9, 11, 9, 9, ModBlocks.hadron_coil_alloy); + fillWithBlocks(world, box, 8, 10, 9, 11, 10, 9, ModBlocks.deco_red_copper); + placeBlockAtCurrentPosition(world, ModBlocks.red_cable_gauge, decoE, 7, 10, 9, box); + fillWithBlocks(world, box, 7, 11, 9, 11, 11, 9, ModBlocks.hadron_coil_alloy); + fillWithBlocks(world, box, 7, 9, 8, 11, 9, 8, ModBlocks.deco_lead); + fillWithBlocks(world, box, 7, 10, 8, 11, 10, 8, ModBlocks.hadron_coil_alloy); + fillWithBlocks(world, box, 7, 11, 8, 11, 11, 8, ModBlocks.deco_lead); + + //Containers + generateInvContents(world, box, rand, ModBlocks.crate_steel, 2, 4, 9, 7, ItemPool.getPool(ItemPoolsComponent.POOL_NUKE_FUEL), 5); + //Mines + fillWithMines(world, box, rand, 1, 9, 7, 6, 9, 11); + fillWithMines(world, box, rand, 8, 9, 17, 10, 9, 22); + + /* Black Sector */ + //Air + fillWithAir(world, box, 27, 5, 13, 31, 6, 15); + fillWithAir(world, box, 27, 7, 14, 31, 7, 14); + fillWithAir(world, box, 28, 2, 11, 31, 3, 15); + //Floor + Ceiling + fillWithBlocks(world, box, 28, 0, 11, 31, 0, 15, Blocks.dirt); + randomlyFillWithBlocks(world, box, rand, 0.5F, 28, 0, 11, 31, 0, 15, Blocks.dirt, 2); + fillWithBlocks(world, box, 27, 4, 11, 31, 4, 15, ModBlocks.concrete_smooth); + fillWithBlocks(world, box, 27, 8, 12, 32, 8, 16, ModBlocks.concrete_smooth); + //Walls + //N + fillWithRandomizedBlocks(world, box, 27, 0, 10, 32, 4, 10, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 27, 5, 12, 32, 5, 12, rand, ConcreteBricks); + fillWithMetadataBlocks(world, box, 27, 6, 12, 32, 6, 12, ModBlocks.concrete_colored, 15); + fillWithRandomizedBlocks(world, box, 27, 7, 12, 32, 7, 12, rand, ConcreteBricks); + //E + fillWithRandomizedBlocks(world, box, 32, 0, 11, 32, 4, 12, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 32, 0, 13, 32, 5, 15, rand, ConcreteBricks); + fillWithMetadataBlocks(world, box, 32, 6, 13, 32, 6, 15, ModBlocks.concrete_colored, 15); + fillWithRandomizedBlocks(world, box, 32, 7, 13, 32, 7, 15, rand, ConcreteBricks); + //S + fillWithRandomizedBlocks(world, box, 27, 0, 16, 32, 5, 16, rand, ConcreteBricks); + fillWithMetadataBlocks(world, box, 27, 6, 16, 32, 6, 16, ModBlocks.concrete_colored, 15); + fillWithRandomizedBlocks(world, box, 27, 7, 16, 32, 7, 16, rand, ConcreteBricks); + //W + fillWithRandomizedBlocks(world, box, 27, 0, 11, 27, 3, 15, rand, ConcreteBricks); + //Arches + ConcreteStairs.setMetadata(stairN | 4); + fillWithRandomizedBlocks(world, box, 27, 7, 15, 31, 7, 15, rand, ConcreteStairs); + ConcreteStairs.setMetadata(stairS | 4); + fillWithRandomizedBlocks(world, box, 27, 7, 13, 31, 7, 13, rand, ConcreteStairs); + //Water + fillWithBlocks(world, box, 28, 1, 11, 31, 1, 15, Blocks.water); + //Deco + fillWithBlocks(world, box, 26, 5, 14, 26, 6, 14, ModBlocks.concrete_smooth); //doorway + fillWithMetadataBlocks(world, box, 31, 2, 15, 31, 4, 15, ModBlocks.ladder_steel, decoE); + //Top Room + randomlyFillWithBlocks(world, box, rand, 0.15F, 27, 5, 13, 30, 6, 15, Blocks.web); //webs + randomlyFillWithBlocks(world, box, rand, 0.15F, 31, 6, 13, 31, 6, 15, Blocks.web); + randomlyFillWithBlocks(world, box, rand, 0.15F, 27, 7, 14, 31, 7, 14, Blocks.web); + + //Flooded Room + randomlyFillWithBlocks(world, box, rand, 0.15F, 28, 2, 11, 31, 2, 15, ModBlocks.reeds); + fillWithMetadataBlocks(world, box, 28, 3, 12, 28, 3, 15, ModBlocks.deco_pipe_framed_green_rusted, pillarNS); + placeBlockAtCurrentPosition(world, ModBlocks.deco_steel, 0, 28, 3, 11, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_pipe_rim_green_rusted, 0, 28, 2, 11, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_steel, 0, 28, 0, 11, box); + fillWithBlocks(world, box, 31, 1, 11, 31, 1, 12, ModBlocks.deco_beryllium); + fillWithMetadataBlocks(world, box, 31, 2, 11, 31, 2, 12, ModBlocks.tape_recorder, decoE); + + placeBlockAtCurrentPosition(world, ModBlocks.hev_battery, 0, 30, 2, 11, box); + + //Containers + generateLockableContents(world, box, rand, ModBlocks.safe, decoE, 31, 5, 13, launchKey, 1, 0.1D); + generateInvContents(world, box, rand, ModBlocks.crate_steel, 2, 31, 5, 14, ItemPool.getPool(ItemPoolsLegacy.POOL_NUKE_TRASH), 5); + generateInvContents(world, box, rand, ModBlocks.safe, decoE, 31, 5, 15, ItemPool.getPool(ItemPoolsComponent.POOL_FILING_CABINET), 5); + + generateInvContents(world, box, rand, ModBlocks.crate_iron, 2, 30, 1, 11, ItemPool.getPool(ItemPoolsLegacy.POOL_EXPENSIVE), 7); + //Mines + fillWithMines(world, box, rand, 27, 5, 13, 30, 5, 15); + + return true; + } + + public static WeightedRandomChestContent[] launchKey = new WeightedRandomChestContent[] { new WeightedRandomChestContent(ModItems.launch_key, 0, 1, 1, 1) }; + + protected void setRTTYFreq(World world, StructureBoundingBox box, int featureX, int featureY, int featureZ, int freq) { + int posX = this.getXWithOffset(featureX, featureZ); + int posY = this.getYWithOffset(featureY); + int posZ = this.getZWithOffset(featureX, featureZ); + + if(!box.isVecInside(posX, posY, posZ)) return; + + TileEntityRadioTorchBase torch = (TileEntityRadioTorchBase) world.getTileEntity(posX, posY, posZ); + + if(torch != null) { + //for some reason, the silo hatch torch stays at signal 15, despite the others not doing so. + //this is only an issue with this method changing the existing TE, so it will never occur during natural generation. + torch.channel = String.valueOf(freq); //int for convenience + torch.lastState = 0; //just in case + } + } + + public static class ConcreteStairs extends BlockSelector { + + public void setMetadata(int meta) { + this.selectedBlockMetaData = meta; + } + + @Override + public void selectBlocks(Random rand, int posX, int posY, int posZ, boolean notInterior) { + float chance = rand.nextFloat(); + + if(chance < 0.4F) + this.field_151562_a = ModBlocks.brick_concrete_stairs; + else if (chance < 0.7F) + this.field_151562_a = ModBlocks.brick_concrete_mossy_stairs; + else if (chance < 0.9F) + this.field_151562_a = ModBlocks.brick_concrete_cracked_stairs; + else + this.field_151562_a = ModBlocks.brick_concrete_broken_stairs; + + } + } + + public static class DestroyedBricks extends BlockSelector { + + @Override + public void selectBlocks(Random rand, int posX, int posY, int posZ, boolean notInterior) { + this.selectedBlockMetaData = 0; + float chance = rand.nextFloat(); + + if(chance < 0.3F) { + this.field_151562_a = ModBlocks.concrete_brick_slab; + chance = rand.nextFloat(); + + if (chance >= 0.4F && chance < 0.7F) + this.selectedBlockMetaData |= 1; + else if (chance < 0.9F) + this.selectedBlockMetaData |= 2; + else + this.selectedBlockMetaData |= 3; + + } else if(chance < 0.6F) { + this.selectedBlockMetaData = rand.nextInt(4); + chance = rand.nextFloat(); + + if(chance < 0.4F) + this.field_151562_a = ModBlocks.brick_concrete_stairs; + else if (chance < 0.7F) + this.field_151562_a = ModBlocks.brick_concrete_mossy_stairs; + else if (chance < 0.9F) + this.field_151562_a = ModBlocks.brick_concrete_cracked_stairs; + else + this.field_151562_a = ModBlocks.brick_concrete_broken_stairs; + + } else if(chance < 0.9F) { + chance = rand.nextFloat(); + + if(chance < 0.4F) + this.field_151562_a = ModBlocks.brick_concrete; + else if (chance < 0.7F) + this.field_151562_a = ModBlocks.brick_concrete_mossy; + else if (chance < 0.9F) + this.field_151562_a = ModBlocks.brick_concrete_cracked; + else + this.field_151562_a = ModBlocks.brick_concrete_broken; + + } else + this.field_151562_a = Blocks.air; + } + } + + public static class SiloSupplies extends BlockSelector { + + @Override + public void selectBlocks(Random rand, int posX, int posY, int posZ, boolean notInterior) { + float chance = rand.nextFloat(); + + if(chance < 0.2F) + this.field_151562_a = ModBlocks.barrel_corroded; + else if(chance < 0.4F) + this.field_151562_a = ModBlocks.crate_can; + else if(chance < 0.45F) + this.field_151562_a = ModBlocks.red_barrel; + else if(chance < 0.5F) + this.field_151562_a = ModBlocks.pink_barrel; + else + this.field_151562_a = Blocks.air; + } + } + //stop-gap because there's no point in replacing all the blockselector classes yet + //this is basically just an in-line version of it anyway + protected void fillWithMines(World world, StructureBoundingBox box, Random rand, int minX, int minY, int minZ, int maxX, int maxY, int maxZ) { + + if(getYWithOffset(minY) < box.minY || getYWithOffset(maxY) > box.maxY) + return; + + for(int x = minX; x <= maxX; x++) { + + for(int z = minZ; z <= maxZ; z++) { + int posX = getXWithOffset(x, z); + int posZ = getZWithOffset(x, z); + + if(posX >= box.minX && posX <= box.maxX && posZ >= box.minZ && posZ <= box.maxZ) { + for(int y = minY; y <= maxY; y++) { + int posY = getYWithOffset(y); + //shouldn't cause issues + if(rand.nextInt(15) == 0 && world.getBlock(posX, posY, posZ).isAir(world, posX, posY, posZ) && !world.getBlock(posX, posY - 1, posZ).isAir(world, posX, posY - 1, posZ)) { + world.setBlock(posX, posY, posZ, ModBlocks.mine_ap, 0, 2); + + TileEntityLandmine mine = (TileEntityLandmine)world.getTileEntity(posX, posY, posZ); + if(mine != null) + mine.waitingForPlayer = true; + } + } + } + } + } + } + protected void placeCoreLaunchpad(World world, StructureBoundingBox box, Block block, ForgeDirection dir, int x, int y, int z) { + int posX = getXWithOffset(x, z); + int posZ = getZWithOffset(x, z); + int posY = getYWithOffset(y); + + if(!box.isVecInside(posX, posY, posZ)) return; + + if(dir == null) + dir = ForgeDirection.NORTH; + + dir = getDirection(dir.getOpposite()); + world.setBlock(posX, posY, posZ, block, dir.ordinal() + BlockDummyable.offset, 2); + + TileEntity launchpad = world.getTileEntity(posX, posY, posZ); + if(launchpad instanceof TileEntityLaunchPadRusted) { + ((TileEntityLaunchPadRusted) launchpad).missileLoaded = true; + } + } + //this might be a decent method to have in general actually + protected StructureBoundingBox getRotatedBoundingBox(int minX, int minY, int minZ, int maxX, int maxY, int maxZ) { + switch(this.coordBaseMode) { + default: //0 & 2 + return new StructureBoundingBox(minX, minY, minZ, minX + maxX, minY + maxY, minZ + maxZ); + case 1: + case 3: + return new StructureBoundingBox(minX, minY, minZ, minX + maxZ, minY + maxY, minZ + maxX); + } + } +} diff --git a/src/main/java/com/hbm/world/generator/DungeonToolbox.java b/src/main/java/com/hbm/world/generator/DungeonToolbox.java index b5ab4499c..7e0a899f9 100644 --- a/src/main/java/com/hbm/world/generator/DungeonToolbox.java +++ b/src/main/java/com/hbm/world/generator/DungeonToolbox.java @@ -94,12 +94,4 @@ public class DungeonToolbox { genFlowers.func_150550_a(flower, meta); genFlowers.generate(world, rand, x, y, z); } - - public static boolean allowedToReplace(Block block) { - - if(block == Blocks.end_portal_frame) return false; - if(block == Blocks.bedrock) return false; - - return true; - } } diff --git a/src/main/java/com/hbm/world/machine/FWatz.java b/src/main/java/com/hbm/world/machine/FWatz.java deleted file mode 100644 index 4b500c311..000000000 --- a/src/main/java/com/hbm/world/machine/FWatz.java +++ /dev/null @@ -1,562 +0,0 @@ -package com.hbm.world.machine; - -import java.util.Random; - -import com.hbm.blocks.ModBlocks; - -import net.minecraft.block.Block; -import net.minecraft.init.Blocks; -import net.minecraft.world.World; - -public class FWatz { - - public static String[][] fwatz = new String[][] { - { - " XXX ", - " XXX ", - " ", - " ", - " ", - " ", - " ", - " SSSSS ", - "XX SSSSS XX", - "XX SSSSS XX", - "XX SSSSS XX", - " SSSSS ", - " ", - " ", - " ", - " ", - " ", - " XXX ", - " XXX " - }, - { - " XHX ", - " XXX ", - " ", - " ", - " ", - " ", - " ", - " SSSSS ", - "XX STTTS XX", - "HX STTTS XH", - "XX STTTS XX", - " SSSSS ", - " ", - " ", - " ", - " ", - " ", - " XXX ", - " XHX " - }, - { - " XXX ", - " XXX ", - " ", - " ", - " ", - " ", - " ", - " SSSSS ", - "XX STTTS XX", - "XX STTTS XX", - "XX STTTS XX", - " SSSSS ", - " ", - " ", - " ", - " ", - " ", - " XXX ", - " XXX " - }, - { - " ", - " XXX ", - " XXX ", - " X ", - " X ", - " X ", - " X ", - " SSXSS ", - " XX STTTS XX ", - " XXXXXXXTTTXXXXXXX ", - " XX STTTS XX ", - " SSXSS ", - " X ", - " X ", - " X ", - " X ", - " XXX ", - " XXX ", - " " - }, - { - " ", - " XXX ", - " XXX ", - " ", - " ", - " ", - " ", - " SSSSS ", - " XX STTTS XX ", - " XX STTTS XX ", - " XX STTTS XX ", - " SSSSS ", - " ", - " ", - " ", - " ", - " XXX ", - " XXX ", - " " - }, - { - " ", - " XXX ", - " XXX ", - " ", - " ", - " ", - " ", - " SSSSS ", - " XX STTTS XX ", - " XX STTTS XX ", - " XX STTTS XX ", - " SSSSS ", - " ", - " ", - " ", - " ", - " XXX ", - " XXX ", - " " - }, - { - " ", - " ", - " XXX ", - " XXX ", - " ", - " ", - " ", - " MMMMM ", - " XX MMMMM XX ", - " XX MMMMM XX ", - " XX MMMMM XX ", - " MMMMM ", - " ", - " ", - " ", - " XXX ", - " XXX ", - " ", - " " - }, - { - " ", - " ", - " XXX ", - " XXX ", - " XXX ", - " MMMMM ", - " MMMMMMM ", - " MMMMMMMMM ", - " XXXMMMMMMMMMXXX ", - " XXXMMMMMMMMMXXX ", - " XXXMMMMMMMMMXXX ", - " MMMMMMMMM ", - " MMMMMMM ", - " MMMMM ", - " XXX ", - " XXX ", - " XXX ", - " ", - " " - }, - { - " ", - " ", - " XXX ", - " XXX ", - " MMMMM ", - " MMMMMMM ", - " MMMMMMMMM ", - " MMMMPPPMMMM ", - " XXMMMPPPPPMMMXX ", - " XXMMMPPPPPMMMXX ", - " XXMMMPPPPPMMMXX ", - " MMMMPPPMMMM ", - " MMMMMMMMM ", - " MMMMMMM ", - " MMMMM ", - " XXX ", - " XXX ", - " ", - " " - }, - { - " ", - " ", - " ", - " XXX ", - " MMMMMMM ", - " MMMMMMMMM ", - " MMMMPPPMMMM ", - " MMMPPPPPMMM ", - " XMMPPPPPPPMMX ", - " XMMPPPPPPPMMX ", - " XMMPPPPPPPMMX ", - " MMMPPPPPMMM ", - " MMMMPPPMMMM ", - " MMMMMMMMM ", - " MMMMMMM ", - " XXX ", - " ", - " ", - " " - }, - { - " ", - " ", - " ", - " MMMMM ", - " MMMMMMMMM ", - " MMMMPPPMMMM ", - " MMMPPPPPMMM ", - " MMMPPPPPPPMMM ", - " MMPPPMMMPPPMM ", - " MMPPPMMMPPPMM ", - " MMPPPMMMPPPMM ", - " MMMPPPPPPPMMM ", - " MMMPPPPPMMM ", - " MMMMPPPMMMM ", - " MMMMMMMMM ", - " MMMMM ", - " ", - " ", - " " - }, - { - " ", - " ", - " ", - " MMMMM ", - " MMMMMMMMM ", - " MMMPPPPPMMM ", - " MMPPPPPPPMM ", - " MMPPPMMMPPPMM ", - " MMPPMMMMMPPMM ", - " MMPPMMCMMPPMM ", - " MMPPMMMMMPPMM ", - " MMPPPMMMPPPMM ", - " MMPPPPPPPMM ", - " MMMPPPPPMMM ", - " MMMMMMMMM ", - " MMMMM ", - " ", - " ", - " " - }, - { - " ", - " ", - " ", - " MMMMM ", - " MMMMMMMMM ", - " MMMPPPPPMMM ", - " MMPPPPPPPMM ", - " MMPPPMMMPPPMM ", - " MMPPMMCMMPPMM ", - " MMPPMC#CMPPMM ", - " MMPPMMCMMPPMM ", - " MMPPPMMMPPPMM ", - " MMPPPPPPPMM ", - " MMMPPPPPMMM ", - " MMMMMMMMM ", - " MMMMM ", - " ", - " ", - " " - }, - { - " ", - " ", - " ", - " MMMMM ", - " MMMMMMMMM ", - " MMMPPPPPMMM ", - " MMPPPPPPPMM ", - " MMPPPMMMPPPMM ", - " MMPPMMMMMPPMM ", - " MMPPMMCMMPPMM ", - " MMPPMMMMMPPMM ", - " MMPPPMMMPPPMM ", - " MMPPPPPPPMM ", - " MMMPPPPPMMM ", - " MMMMMMMMM ", - " MMMMM ", - " ", - " ", - " " - }, - { - " ", - " ", - " ", - " MMMMM ", - " MMMMMMMMM ", - " MMMMPPPMMMM ", - " MMMPPPPPMMM ", - " MMMPPPPPPPMMM ", - " MMPPPMMMPPPMM ", - " MMPPPMMMPPPMM ", - " MMPPPMMMPPPMM ", - " MMMPPPPPPPMMM ", - " MMMPPPPPMMM ", - " MMMMPPPMMMM ", - " MMMMMMMMM ", - " MMMMM ", - " ", - " ", - " " - }, - { - " ", - " ", - " ", - " ", - " MMMMMMM ", - " MMMMMMMMM ", - " MMMMPPPMMMM ", - " MMMPPPPPMMM ", - " MMPPPPPPPMM ", - " MMPPPPPPPMM ", - " MMPPPPPPPMM ", - " MMMPPPPPMMM ", - " MMMMPPPMMMM ", - " MMMMMMMMM ", - " MMMMMMM ", - " ", - " ", - " ", - " " - }, - { - " ", - " ", - " ", - " ", - " MMMMM ", - " MMMMMMM ", - " MMMMMMMMM ", - " MMMMPPPMMMM ", - " MMMPPPPPMMM ", - " MMMPPPPPMMM ", - " MMMPPPPPMMM ", - " MMMMPPPMMMM ", - " MMMMMMMMM ", - " MMMMMMM ", - " MMMMM ", - " ", - " ", - " ", - " " - }, - { - " ", - " ", - " ", - " ", - " ", - " MMMMM ", - " MMMMMMM ", - " MMMMMMMMM ", - " MMMMMMMMM ", - " MMMMMMMMM ", - " MMMMMMMMM ", - " MMMMMMMMM ", - " MMMMMMM ", - " MMMMM ", - " ", - " ", - " ", - " ", - " " - }, - { - " ", - " ", - " ", - " ", - " ", - " ", - " ", - " MMMMM ", - " MMMMM ", - " MMMMM ", - " MMMMM ", - " MMMMM ", - " ", - " ", - " ", - " ", - " ", - " ", - " " - } - }; - - public void generateHull(World world, Random rand, int x, int y, int z) { - - x -= 9; - z -= 9; - - for(int i = 0; i < 19; i++) { - for(int j = 0; j < 19; j++) { - for(int k = 0; k < 19; k++) { - String c = fwatz[j][i].substring(k, k + 1); - Block b = Blocks.air; - - if(c.equals("X")) - b = ModBlocks.fwatz_scaffold; - if(c.equals("H")) - b = ModBlocks.fwatz_hatch; - if(c.equals("S")) - b = ModBlocks.fwatz_cooler; - if(c.equals("T")) - b = ModBlocks.fwatz_tank; - if(c.equals("M")) - b = ModBlocks.fwatz_conductor; - if(c.equals("C")) - b = ModBlocks.fwatz_computer; - if(c.equals("#")) - b = ModBlocks.fwatz_core; - - world.setBlock(x + i, y + j, z + k, b); - } - } - } - - world.setBlock(x + 0, y + 1, z + 9, ModBlocks.fwatz_hatch, 4, 3); - world.setBlock(x + 18, y + 1, z + 9, ModBlocks.fwatz_hatch, 5, 3); - world.setBlock(x + 9, y + 1, z + 18, ModBlocks.fwatz_hatch, 3, 3); - world.setBlock(x + 9, y + 1, z + 0, ModBlocks.fwatz_hatch, 2, 3); - - } - - public static boolean checkHull(World world, int x, int y, int z) { - x -= 9; - y -= 12; - z -= 9; - - boolean flag = true; - - for(int i = 0; i < 19; i++) { - for(int j = 0; j < 19; j++) { - for(int k = 0; k < 19; k++) { - String c = fwatz[j][i].substring(k, k + 1); - Block b = Blocks.air; - boolean flag2 = false; - - if(c.equals("X")) { - b = ModBlocks.fwatz_scaffold; - flag2 = true; - } - if(c.equals("H")) { - b = ModBlocks.fwatz_hatch; - flag2 = true; - } - if(c.equals("S")) { - b = ModBlocks.fwatz_cooler; - flag2 = true; - } - if(c.equals("T")) { - b = ModBlocks.fwatz_tank; - flag2 = true; - } - if(c.equals("M")) { - b = ModBlocks.fwatz_conductor; - flag2 = true; - } - if(c.equals("C")) { - b = ModBlocks.fwatz_computer; - flag2 = true; - } - if(c.equals("#")) { - b = ModBlocks.fwatz_core; - flag2 = true; - } - - if(flag2) - if(world.getBlock(x + i, y + j, z + k) != b) - flag = false; - } - } - } - - return flag; - } - - public static void fillPlasma(World world, int x, int y, int z) { - x -= 9; - y -= 12; - z -= 9; - - for(int i = 0; i < 19; i++) { - for(int j = 0; j < 19; j++) { - for(int k = 0; k < 19; k++) { - String c = fwatz[j][i].substring(k, k + 1); - - if(c.equals("P")) - world.setBlock(x + i, y + j, z + k, ModBlocks.fwatz_plasma); - } - } - } - } - - public static void emptyPlasma(World world, int x, int y, int z) { - x -= 9; - y -= 12; - z -= 9; - - for(int i = 0; i < 19; i++) { - for(int j = 0; j < 19; j++) { - for(int k = 0; k < 19; k++) { - String c = fwatz[j][i].substring(k, k + 1); - - if(c.equals("P")) - if(world.getBlock(x + i, y + j, z + k) == ModBlocks.fwatz_plasma) - world.setBlock(x + i, y + j, z + k, Blocks.air); - } - } - } - } - - public static boolean getPlasma(World world, int x, int y, int z) { - x -= 9; - y -= 12; - z -= 9; - - boolean flag = false; - - for(int i = 0; i < 19; i++) { - for(int j = 0; j < 19; j++) { - for(int k = 0; k < 19; k++) { - String c = fwatz[j][i].substring(k, k + 1); - - if(c.equals("P") && world.getBlock(x + i, y + j, z + k) == ModBlocks.fwatz_plasma) - flag = true; - } - } - } - - return flag; - } - -} \ No newline at end of file diff --git a/src/main/java/com/hbm/world/machine/NuclearReactor.java b/src/main/java/com/hbm/world/machine/NuclearReactor.java deleted file mode 100644 index c9117a619..000000000 --- a/src/main/java/com/hbm/world/machine/NuclearReactor.java +++ /dev/null @@ -1,208 +0,0 @@ -//Schematic to java Structure by jajo_11 | inspired by "MITHION'S .SCHEMATIC TO JAVA CONVERTINGTOOL" - -package com.hbm.world.machine; - -import java.util.Random; - -import com.hbm.blocks.ModBlocks; - -import net.minecraft.block.Block; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenerator; - -public class NuclearReactor extends WorldGenerator -{ - public static String[][] array2 = new String[][] { - { - " ", - " BBB ", - " B B ", - " BBB ", - " " - }, - { - " BBB ", - "BRCRB", - "BCICB", - "BRCRB", - " BBB " - }, - { - " BAB ", - "BRCRB", - "AC#CA", - "BRCRB", - " BAB " - }, - { - " BBB ", - "BRCRB", - "BCICB", - "BRCRB", - " BBB " - }, - { - " ", - " BBB ", - " B B ", - " BBB ", - " " - } - }; - - Block Block1 = ModBlocks.brick_concrete; - Block Block2 = ModBlocks.reactor_element; - Block Block3 = ModBlocks.reactor_control; - Block Block4 = ModBlocks.reactor_conductor; - Block Block5 = ModBlocks.reactor_hatch; - Block Block6 = ModBlocks.reactor_computer; - - @Override - public boolean generate(World world, Random rand, int x, int y, int z) - { - int i = rand.nextInt(1); - - if(i == 0) - { - generate_r0(world, rand, x, y, z); - } - - return true; - - } - - public boolean generate_r0(World world, Random rand, int x, int y, int z) - { - x -= 2; - z -= 2; - - world.setBlock(x + 0, y + 0, z + 0, Block1, 0, 3); - world.setBlock(x + 1, y + 0, z + 0, Block1, 0, 3); - world.setBlock(x + 2, y + 0, z + 0, Block1, 0, 3); - world.setBlock(x + 3, y + 0, z + 0, Block1, 0, 3); - world.setBlock(x + 4, y + 0, z + 0, Block1, 0, 3); - world.setBlock(x + 0, y + 0, z + 1, Block1, 0, 3); - world.setBlock(x + 1, y + 0, z + 1, Block1, 0, 3); - world.setBlock(x + 2, y + 0, z + 1, Block1, 0, 3); - world.setBlock(x + 3, y + 0, z + 1, Block1, 0, 3); - world.setBlock(x + 4, y + 0, z + 1, Block1, 0, 3); - world.setBlock(x + 0, y + 0, z + 2, Block1, 0, 3); - world.setBlock(x + 1, y + 0, z + 2, Block1, 0, 3); - world.setBlock(x + 2, y + 0, z + 2, ModBlocks.fluid_duct, 0, 3); - world.setBlock(x + 3, y + 0, z + 2, Block1, 0, 3); - world.setBlock(x + 4, y + 0, z + 2, Block1, 0, 3); - world.setBlock(x + 0, y + 0, z + 3, Block1, 0, 3); - world.setBlock(x + 1, y + 0, z + 3, Block1, 0, 3); - world.setBlock(x + 2, y + 0, z + 3, Block1, 0, 3); - world.setBlock(x + 3, y + 0, z + 3, Block1, 0, 3); - world.setBlock(x + 4, y + 0, z + 3, Block1, 0, 3); - world.setBlock(x + 0, y + 0, z + 4, Block1, 0, 3); - world.setBlock(x + 1, y + 0, z + 4, Block1, 0, 3); - world.setBlock(x + 2, y + 0, z + 4, Block1, 0, 3); - world.setBlock(x + 3, y + 0, z + 4, Block1, 0, 3); - world.setBlock(x + 4, y + 0, z + 4, Block1, 0, 3); - world.setBlock(x + 0, y + 1, z + 0, Block1, 0, 3); - world.setBlock(x + 1, y + 1, z + 0, Block1, 0, 3); - world.setBlock(x + 2, y + 1, z + 0, Block1, 0, 3); - world.setBlock(x + 3, y + 1, z + 0, Block1, 0, 3); - world.setBlock(x + 4, y + 1, z + 0, Block1, 0, 3); - world.setBlock(x + 0, y + 1, z + 1, Block1, 0, 3); - world.setBlock(x + 1, y + 1, z + 1, Block2, 0, 3); - world.setBlock(x + 2, y + 1, z + 1, Block3, 0, 3); - world.setBlock(x + 3, y + 1, z + 1, Block2, 0, 3); - world.setBlock(x + 4, y + 1, z + 1, Block1, 0, 3); - world.setBlock(x + 0, y + 1, z + 2, Block1, 0, 3); - world.setBlock(x + 1, y + 1, z + 2, Block3, 0, 3); - world.setBlock(x + 2, y + 1, z + 2, Block4, 0, 3); - world.setBlock(x + 3, y + 1, z + 2, Block3, 0, 3); - world.setBlock(x + 4, y + 1, z + 2, Block1, 0, 3); - world.setBlock(x + 0, y + 1, z + 3, Block1, 0, 3); - world.setBlock(x + 1, y + 1, z + 3, Block2, 0, 3); - world.setBlock(x + 2, y + 1, z + 3, Block3, 0, 3); - world.setBlock(x + 3, y + 1, z + 3, Block2, 0, 3); - world.setBlock(x + 4, y + 1, z + 3, Block1, 0, 3); - world.setBlock(x + 0, y + 1, z + 4, Block1, 0, 3); - world.setBlock(x + 1, y + 1, z + 4, Block1, 0, 3); - world.setBlock(x + 2, y + 1, z + 4, Block1, 0, 3); - world.setBlock(x + 3, y + 1, z + 4, Block1, 0, 3); - world.setBlock(x + 4, y + 1, z + 4, Block1, 0, 3); - world.setBlock(x + 0, y + 2, z + 0, Block1, 0, 3); - world.setBlock(x + 1, y + 2, z + 0, Block1, 0, 3); - world.setBlock(x + 2, y + 2, z + 0, Block5, 2, 3); - world.setBlock(x + 3, y + 2, z + 0, Block1, 0, 3); - world.setBlock(x + 4, y + 2, z + 0, Block1, 0, 3); - world.setBlock(x + 0, y + 2, z + 1, Block1, 0, 3); - world.setBlock(x + 1, y + 2, z + 1, Block2, 0, 3); - world.setBlock(x + 2, y + 2, z + 1, Block3, 0, 3); - world.setBlock(x + 3, y + 2, z + 1, Block2, 0, 3); - world.setBlock(x + 4, y + 2, z + 1, Block1, 0, 3); - world.setBlock(x + 0, y + 2, z + 2, Block5, 4, 3); - world.setBlock(x + 1, y + 2, z + 2, Block3, 0, 3); - world.setBlock(x + 2, y + 2, z + 2, Block6, 0, 3); - world.setBlock(x + 3, y + 2, z + 2, Block3, 0, 3); - world.setBlock(x + 4, y + 2, z + 2, Block5, 5, 3); - world.setBlock(x + 0, y + 2, z + 3, Block1, 0, 3); - world.setBlock(x + 1, y + 2, z + 3, Block2, 0, 3); - world.setBlock(x + 2, y + 2, z + 3, Block3, 0, 3); - world.setBlock(x + 3, y + 2, z + 3, Block2, 0, 3); - world.setBlock(x + 4, y + 2, z + 3, Block1, 0, 3); - world.setBlock(x + 0, y + 2, z + 4, Block1, 0, 3); - world.setBlock(x + 1, y + 2, z + 4, Block1, 0, 3); - world.setBlock(x + 2, y + 2, z + 4, Block5, 3, 3); - world.setBlock(x + 3, y + 2, z + 4, Block1, 0, 3); - world.setBlock(x + 4, y + 2, z + 4, Block1, 0, 3); - world.setBlock(x + 0, y + 3, z + 0, Block1, 0, 3); - world.setBlock(x + 1, y + 3, z + 0, Block1, 0, 3); - world.setBlock(x + 2, y + 3, z + 0, Block1, 0, 3); - world.setBlock(x + 3, y + 3, z + 0, Block1, 0, 3); - world.setBlock(x + 4, y + 3, z + 0, Block1, 0, 3); - world.setBlock(x + 0, y + 3, z + 1, Block1, 0, 3); - world.setBlock(x + 1, y + 3, z + 1, Block2, 0, 3); - world.setBlock(x + 2, y + 3, z + 1, Block3, 0, 3); - world.setBlock(x + 3, y + 3, z + 1, Block2, 0, 3); - world.setBlock(x + 4, y + 3, z + 1, Block1, 0, 3); - world.setBlock(x + 0, y + 3, z + 2, Block1, 0, 3); - world.setBlock(x + 1, y + 3, z + 2, Block3, 0, 3); - world.setBlock(x + 2, y + 3, z + 2, Block4, 0, 3); - world.setBlock(x + 3, y + 3, z + 2, Block3, 0, 3); - world.setBlock(x + 4, y + 3, z + 2, Block1, 0, 3); - world.setBlock(x + 0, y + 3, z + 3, Block1, 0, 3); - world.setBlock(x + 1, y + 3, z + 3, Block2, 0, 3); - world.setBlock(x + 2, y + 3, z + 3, Block3, 0, 3); - world.setBlock(x + 3, y + 3, z + 3, Block2, 0, 3); - world.setBlock(x + 4, y + 3, z + 3, Block1, 0, 3); - world.setBlock(x + 0, y + 3, z + 4, Block1, 0, 3); - world.setBlock(x + 1, y + 3, z + 4, Block1, 0, 3); - world.setBlock(x + 2, y + 3, z + 4, Block1, 0, 3); - world.setBlock(x + 3, y + 3, z + 4, Block1, 0, 3); - world.setBlock(x + 4, y + 3, z + 4, Block1, 0, 3); - world.setBlock(x + 0, y + 4, z + 0, Block1, 0, 3); - world.setBlock(x + 1, y + 4, z + 0, Block1, 0, 3); - world.setBlock(x + 2, y + 4, z + 0, Block1, 0, 3); - world.setBlock(x + 3, y + 4, z + 0, Block1, 0, 3); - world.setBlock(x + 4, y + 4, z + 0, Block1, 0, 3); - world.setBlock(x + 0, y + 4, z + 1, Block1, 0, 3); - world.setBlock(x + 1, y + 4, z + 1, Block1, 0, 3); - world.setBlock(x + 2, y + 4, z + 1, Block1, 0, 3); - world.setBlock(x + 3, y + 4, z + 1, Block1, 0, 3); - world.setBlock(x + 4, y + 4, z + 1, Block1, 0, 3); - world.setBlock(x + 0, y + 4, z + 2, Block1, 0, 3); - world.setBlock(x + 1, y + 4, z + 2, Block1, 0, 3); - world.setBlock(x + 2, y + 4, z + 2, ModBlocks.fluid_duct, 0, 3); - world.setBlock(x + 3, y + 4, z + 2, Block1, 0, 3); - world.setBlock(x + 4, y + 4, z + 2, Block1, 0, 3); - world.setBlock(x + 0, y + 4, z + 3, Block1, 0, 3); - world.setBlock(x + 1, y + 4, z + 3, Block1, 0, 3); - world.setBlock(x + 2, y + 4, z + 3, Block1, 0, 3); - world.setBlock(x + 3, y + 4, z + 3, Block1, 0, 3); - world.setBlock(x + 4, y + 4, z + 3, Block1, 0, 3); - world.setBlock(x + 0, y + 4, z + 4, Block1, 0, 3); - world.setBlock(x + 1, y + 4, z + 4, Block1, 0, 3); - world.setBlock(x + 2, y + 4, z + 4, Block1, 0, 3); - world.setBlock(x + 3, y + 4, z + 4, Block1, 0, 3); - world.setBlock(x + 4, y + 4, z + 4, Block1, 0, 3); - return true; - - } - -} \ No newline at end of file diff --git a/src/main/java/com/hbm/world/machine/Watz.java b/src/main/java/com/hbm/world/machine/Watz.java deleted file mode 100644 index 1fcfdafb3..000000000 --- a/src/main/java/com/hbm/world/machine/Watz.java +++ /dev/null @@ -1,795 +0,0 @@ -//Schematic to java Structure by jajo_11 | inspired by "MITHION'S .SCHEMATIC TO JAVA CONVERTINGTOOL" - -package com.hbm.world.machine; - -import java.util.Random; - -import com.hbm.blocks.ModBlocks; - -import net.minecraft.init.Blocks; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenerator; - -public class Watz extends WorldGenerator -{ - public static String[][] array = new String[][] { - { - "SSSSSSS", - "SSSSSSS", - "SSSSSSS", - "SSSISSS", - "SSSSSSS", - "SSSSSSS", - "SSSSSSS" - }, - { - " CCC ", - " CWRWC ", - "CWRKRWC", - "CRKIKRC", - "CWRKRWC", - " CWRWC ", - " CCC " - }, - { - " CCC ", - " CWRWC ", - "CWRKRWC", - "CRKIKRC", - "CWRKRWC", - " CWRWC ", - " CCC " - }, - { - " CCC ", - " CWRWC ", - "CWRKRWC", - "CRKIKRC", - "CWRKRWC", - " CWRWC ", - " CCC " - }, - { - " CCC ", - " CWRWC ", - "CWRKRWC", - "CRKIKRC", - "CWRKRWC", - " CWRWC ", - " CCC " - }, - { - " CCC ", - " CWRWC ", - "CWRKRWC", - "CRKIKRC", - "CWRKRWC", - " CWRWC ", - " CCC " - }, - { - " CAC ", - " CWRWC ", - "CWRKRWC", - "ARK#KRA", - "CWRKRWC", - " CWRWC ", - " CAC " - }, - { - " CCC ", - " CWRWC ", - "CWRKRWC", - "CRKIKRC", - "CWRKRWC", - " CWRWC ", - " CCC " - }, - { - " CCC ", - " CWRWC ", - "CWRKRWC", - "CRKIKRC", - "CWRKRWC", - " CWRWC ", - " CCC " - }, - { - " CCC ", - " CWRWC ", - "CWRKRWC", - "CRKIKRC", - "CWRKRWC", - " CWRWC ", - " CCC " - }, - { - " CCC ", - " CWRWC ", - "CWRKRWC", - "CRKIKRC", - "CWRKRWC", - " CWRWC ", - " CCC " - }, - { - " CCC ", - " CWRWC ", - "CWRKRWC", - "CRKIKRC", - "CWRKRWC", - " CWRWC ", - " CCC " - }, - { - "SSSSSSS", - "SSSSSSS", - "SSSSSSS", - "SSSISSS", - "SSSSSSS", - "SSSSSSS", - "SSSSSSS" - } - }; - - @Override - public boolean generate(World world, Random rand, int x, int y, int z) - { - int i = rand.nextInt(1); - - if(i == 0) - { - generate_r0(world, rand, x, y, z); - } - - return true; - - } - - public boolean generate_r0(World world, Random rand, int x, int y, int z) - { - x -= 3; - z -= 3; - - world.setBlock(x + 0, y + 0, z + 0, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 1, y + 0, z + 0, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 2, y + 0, z + 0, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 3, y + 0, z + 0, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 4, y + 0, z + 0, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 5, y + 0, z + 0, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 6, y + 0, z + 0, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 0, y + 0, z + 1, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 1, y + 0, z + 1, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 2, y + 0, z + 1, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 3, y + 0, z + 1, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 4, y + 0, z + 1, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 5, y + 0, z + 1, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 6, y + 0, z + 1, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 0, y + 0, z + 2, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 1, y + 0, z + 2, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 2, y + 0, z + 2, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 3, y + 0, z + 2, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 4, y + 0, z + 2, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 5, y + 0, z + 2, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 6, y + 0, z + 2, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 0, y + 0, z + 3, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 1, y + 0, z + 3, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 2, y + 0, z + 3, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 3, y + 0, z + 3, ModBlocks.watz_conductor, 0, 3); - world.setBlock(x + 4, y + 0, z + 3, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 5, y + 0, z + 3, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 6, y + 0, z + 3, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 0, y + 0, z + 4, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 1, y + 0, z + 4, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 2, y + 0, z + 4, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 3, y + 0, z + 4, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 4, y + 0, z + 4, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 5, y + 0, z + 4, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 6, y + 0, z + 4, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 0, y + 0, z + 5, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 1, y + 0, z + 5, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 2, y + 0, z + 5, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 3, y + 0, z + 5, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 4, y + 0, z + 5, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 5, y + 0, z + 5, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 6, y + 0, z + 5, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 0, y + 0, z + 6, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 1, y + 0, z + 6, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 2, y + 0, z + 6, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 3, y + 0, z + 6, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 4, y + 0, z + 6, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 5, y + 0, z + 6, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 6, y + 0, z + 6, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 0, y + 1, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 1, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 2, y + 1, z + 0, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 3, y + 1, z + 0, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 4, y + 1, z + 0, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 5, y + 1, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 6, y + 1, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 1, z + 1, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 1, z + 1, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 2, y + 1, z + 1, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 3, y + 1, z + 1, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 4, y + 1, z + 1, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 5, y + 1, z + 1, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 6, y + 1, z + 1, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 1, z + 2, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 1, y + 1, z + 2, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 2, y + 1, z + 2, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 3, y + 1, z + 2, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 4, y + 1, z + 2, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 5, y + 1, z + 2, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 6, y + 1, z + 2, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 0, y + 1, z + 3, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 1, y + 1, z + 3, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 2, y + 1, z + 3, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 3, y + 1, z + 3, ModBlocks.watz_conductor, 0, 3); - world.setBlock(x + 4, y + 1, z + 3, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 5, y + 1, z + 3, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 6, y + 1, z + 3, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 0, y + 1, z + 4, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 1, y + 1, z + 4, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 2, y + 1, z + 4, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 3, y + 1, z + 4, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 4, y + 1, z + 4, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 5, y + 1, z + 4, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 6, y + 1, z + 4, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 0, y + 1, z + 5, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 1, z + 5, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 2, y + 1, z + 5, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 3, y + 1, z + 5, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 4, y + 1, z + 5, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 5, y + 1, z + 5, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 6, y + 1, z + 5, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 1, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 1, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 2, y + 1, z + 6, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 3, y + 1, z + 6, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 4, y + 1, z + 6, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 5, y + 1, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 6, y + 1, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 2, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 2, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 2, y + 2, z + 0, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 3, y + 2, z + 0, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 4, y + 2, z + 0, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 5, y + 2, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 6, y + 2, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 2, z + 1, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 2, z + 1, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 2, y + 2, z + 1, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 3, y + 2, z + 1, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 4, y + 2, z + 1, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 5, y + 2, z + 1, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 6, y + 2, z + 1, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 2, z + 2, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 1, y + 2, z + 2, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 2, y + 2, z + 2, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 3, y + 2, z + 2, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 4, y + 2, z + 2, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 5, y + 2, z + 2, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 6, y + 2, z + 2, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 0, y + 2, z + 3, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 1, y + 2, z + 3, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 2, y + 2, z + 3, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 3, y + 2, z + 3, ModBlocks.watz_conductor, 0, 3); - world.setBlock(x + 4, y + 2, z + 3, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 5, y + 2, z + 3, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 6, y + 2, z + 3, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 0, y + 2, z + 4, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 1, y + 2, z + 4, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 2, y + 2, z + 4, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 3, y + 2, z + 4, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 4, y + 2, z + 4, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 5, y + 2, z + 4, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 6, y + 2, z + 4, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 0, y + 2, z + 5, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 2, z + 5, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 2, y + 2, z + 5, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 3, y + 2, z + 5, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 4, y + 2, z + 5, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 5, y + 2, z + 5, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 6, y + 2, z + 5, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 2, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 2, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 2, y + 2, z + 6, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 3, y + 2, z + 6, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 4, y + 2, z + 6, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 5, y + 2, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 6, y + 2, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 3, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 3, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 2, y + 3, z + 0, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 3, y + 3, z + 0, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 4, y + 3, z + 0, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 5, y + 3, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 6, y + 3, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 3, z + 1, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 3, z + 1, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 2, y + 3, z + 1, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 3, y + 3, z + 1, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 4, y + 3, z + 1, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 5, y + 3, z + 1, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 6, y + 3, z + 1, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 3, z + 2, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 1, y + 3, z + 2, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 2, y + 3, z + 2, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 3, y + 3, z + 2, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 4, y + 3, z + 2, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 5, y + 3, z + 2, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 6, y + 3, z + 2, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 0, y + 3, z + 3, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 1, y + 3, z + 3, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 2, y + 3, z + 3, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 3, y + 3, z + 3, ModBlocks.watz_conductor, 0, 3); - world.setBlock(x + 4, y + 3, z + 3, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 5, y + 3, z + 3, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 6, y + 3, z + 3, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 0, y + 3, z + 4, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 1, y + 3, z + 4, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 2, y + 3, z + 4, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 3, y + 3, z + 4, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 4, y + 3, z + 4, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 5, y + 3, z + 4, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 6, y + 3, z + 4, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 0, y + 3, z + 5, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 3, z + 5, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 2, y + 3, z + 5, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 3, y + 3, z + 5, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 4, y + 3, z + 5, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 5, y + 3, z + 5, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 6, y + 3, z + 5, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 3, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 3, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 2, y + 3, z + 6, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 3, y + 3, z + 6, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 4, y + 3, z + 6, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 5, y + 3, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 6, y + 3, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 4, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 4, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 2, y + 4, z + 0, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 3, y + 4, z + 0, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 4, y + 4, z + 0, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 5, y + 4, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 6, y + 4, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 4, z + 1, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 4, z + 1, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 2, y + 4, z + 1, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 3, y + 4, z + 1, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 4, y + 4, z + 1, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 5, y + 4, z + 1, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 6, y + 4, z + 1, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 4, z + 2, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 1, y + 4, z + 2, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 2, y + 4, z + 2, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 3, y + 4, z + 2, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 4, y + 4, z + 2, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 5, y + 4, z + 2, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 6, y + 4, z + 2, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 0, y + 4, z + 3, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 1, y + 4, z + 3, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 2, y + 4, z + 3, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 3, y + 4, z + 3, ModBlocks.watz_conductor, 0, 3); - world.setBlock(x + 4, y + 4, z + 3, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 5, y + 4, z + 3, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 6, y + 4, z + 3, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 0, y + 4, z + 4, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 1, y + 4, z + 4, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 2, y + 4, z + 4, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 3, y + 4, z + 4, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 4, y + 4, z + 4, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 5, y + 4, z + 4, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 6, y + 4, z + 4, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 0, y + 4, z + 5, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 4, z + 5, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 2, y + 4, z + 5, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 3, y + 4, z + 5, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 4, y + 4, z + 5, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 5, y + 4, z + 5, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 6, y + 4, z + 5, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 4, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 4, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 2, y + 4, z + 6, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 3, y + 4, z + 6, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 4, y + 4, z + 6, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 5, y + 4, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 6, y + 4, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 5, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 5, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 2, y + 5, z + 0, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 3, y + 5, z + 0, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 4, y + 5, z + 0, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 5, y + 5, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 6, y + 5, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 5, z + 1, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 5, z + 1, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 2, y + 5, z + 1, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 3, y + 5, z + 1, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 4, y + 5, z + 1, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 5, y + 5, z + 1, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 6, y + 5, z + 1, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 5, z + 2, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 1, y + 5, z + 2, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 2, y + 5, z + 2, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 3, y + 5, z + 2, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 4, y + 5, z + 2, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 5, y + 5, z + 2, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 6, y + 5, z + 2, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 0, y + 5, z + 3, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 1, y + 5, z + 3, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 2, y + 5, z + 3, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 3, y + 5, z + 3, ModBlocks.watz_conductor, 0, 3); - world.setBlock(x + 4, y + 5, z + 3, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 5, y + 5, z + 3, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 6, y + 5, z + 3, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 0, y + 5, z + 4, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 1, y + 5, z + 4, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 2, y + 5, z + 4, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 3, y + 5, z + 4, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 4, y + 5, z + 4, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 5, y + 5, z + 4, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 6, y + 5, z + 4, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 0, y + 5, z + 5, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 5, z + 5, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 2, y + 5, z + 5, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 3, y + 5, z + 5, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 4, y + 5, z + 5, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 5, y + 5, z + 5, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 6, y + 5, z + 5, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 5, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 5, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 2, y + 5, z + 6, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 3, y + 5, z + 6, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 4, y + 5, z + 6, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 5, y + 5, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 6, y + 5, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 6, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 6, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 2, y + 6, z + 0, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 3, y + 6, z + 0, ModBlocks.watz_hatch, 2, 3); - world.setBlock(x + 4, y + 6, z + 0, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 5, y + 6, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 6, y + 6, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 6, z + 1, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 6, z + 1, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 2, y + 6, z + 1, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 3, y + 6, z + 1, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 4, y + 6, z + 1, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 5, y + 6, z + 1, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 6, y + 6, z + 1, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 6, z + 2, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 1, y + 6, z + 2, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 2, y + 6, z + 2, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 3, y + 6, z + 2, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 4, y + 6, z + 2, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 5, y + 6, z + 2, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 6, y + 6, z + 2, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 0, y + 6, z + 3, ModBlocks.watz_hatch, 4, 3); - world.setBlock(x + 1, y + 6, z + 3, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 2, y + 6, z + 3, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 3, y + 6, z + 3, ModBlocks.watz_core, 0, 3); - world.setBlock(x + 4, y + 6, z + 3, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 5, y + 6, z + 3, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 6, y + 6, z + 3, ModBlocks.watz_hatch, 5, 3); - world.setBlock(x + 0, y + 6, z + 4, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 1, y + 6, z + 4, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 2, y + 6, z + 4, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 3, y + 6, z + 4, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 4, y + 6, z + 4, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 5, y + 6, z + 4, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 6, y + 6, z + 4, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 0, y + 6, z + 5, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 6, z + 5, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 2, y + 6, z + 5, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 3, y + 6, z + 5, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 4, y + 6, z + 5, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 5, y + 6, z + 5, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 6, y + 6, z + 5, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 6, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 6, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 2, y + 6, z + 6, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 3, y + 6, z + 6, ModBlocks.watz_hatch, 3, 3); - world.setBlock(x + 4, y + 6, z + 6, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 5, y + 6, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 6, y + 6, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 7, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 7, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 2, y + 7, z + 0, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 3, y + 7, z + 0, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 4, y + 7, z + 0, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 5, y + 7, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 6, y + 7, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 7, z + 1, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 7, z + 1, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 2, y + 7, z + 1, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 3, y + 7, z + 1, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 4, y + 7, z + 1, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 5, y + 7, z + 1, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 6, y + 7, z + 1, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 7, z + 2, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 1, y + 7, z + 2, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 2, y + 7, z + 2, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 3, y + 7, z + 2, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 4, y + 7, z + 2, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 5, y + 7, z + 2, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 6, y + 7, z + 2, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 0, y + 7, z + 3, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 1, y + 7, z + 3, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 2, y + 7, z + 3, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 3, y + 7, z + 3, ModBlocks.watz_conductor, 0, 3); - world.setBlock(x + 4, y + 7, z + 3, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 5, y + 7, z + 3, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 6, y + 7, z + 3, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 0, y + 7, z + 4, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 1, y + 7, z + 4, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 2, y + 7, z + 4, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 3, y + 7, z + 4, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 4, y + 7, z + 4, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 5, y + 7, z + 4, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 6, y + 7, z + 4, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 0, y + 7, z + 5, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 7, z + 5, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 2, y + 7, z + 5, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 3, y + 7, z + 5, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 4, y + 7, z + 5, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 5, y + 7, z + 5, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 6, y + 7, z + 5, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 7, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 7, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 2, y + 7, z + 6, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 3, y + 7, z + 6, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 4, y + 7, z + 6, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 5, y + 7, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 6, y + 7, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 8, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 8, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 2, y + 8, z + 0, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 3, y + 8, z + 0, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 4, y + 8, z + 0, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 5, y + 8, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 6, y + 8, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 8, z + 1, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 8, z + 1, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 2, y + 8, z + 1, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 3, y + 8, z + 1, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 4, y + 8, z + 1, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 5, y + 8, z + 1, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 6, y + 8, z + 1, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 8, z + 2, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 1, y + 8, z + 2, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 2, y + 8, z + 2, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 3, y + 8, z + 2, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 4, y + 8, z + 2, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 5, y + 8, z + 2, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 6, y + 8, z + 2, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 0, y + 8, z + 3, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 1, y + 8, z + 3, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 2, y + 8, z + 3, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 3, y + 8, z + 3, ModBlocks.watz_conductor, 0, 3); - world.setBlock(x + 4, y + 8, z + 3, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 5, y + 8, z + 3, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 6, y + 8, z + 3, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 0, y + 8, z + 4, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 1, y + 8, z + 4, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 2, y + 8, z + 4, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 3, y + 8, z + 4, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 4, y + 8, z + 4, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 5, y + 8, z + 4, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 6, y + 8, z + 4, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 0, y + 8, z + 5, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 8, z + 5, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 2, y + 8, z + 5, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 3, y + 8, z + 5, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 4, y + 8, z + 5, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 5, y + 8, z + 5, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 6, y + 8, z + 5, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 8, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 8, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 2, y + 8, z + 6, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 3, y + 8, z + 6, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 4, y + 8, z + 6, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 5, y + 8, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 6, y + 8, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 9, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 9, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 2, y + 9, z + 0, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 3, y + 9, z + 0, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 4, y + 9, z + 0, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 5, y + 9, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 6, y + 9, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 9, z + 1, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 9, z + 1, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 2, y + 9, z + 1, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 3, y + 9, z + 1, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 4, y + 9, z + 1, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 5, y + 9, z + 1, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 6, y + 9, z + 1, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 9, z + 2, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 1, y + 9, z + 2, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 2, y + 9, z + 2, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 3, y + 9, z + 2, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 4, y + 9, z + 2, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 5, y + 9, z + 2, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 6, y + 9, z + 2, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 0, y + 9, z + 3, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 1, y + 9, z + 3, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 2, y + 9, z + 3, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 3, y + 9, z + 3, ModBlocks.watz_conductor, 0, 3); - world.setBlock(x + 4, y + 9, z + 3, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 5, y + 9, z + 3, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 6, y + 9, z + 3, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 0, y + 9, z + 4, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 1, y + 9, z + 4, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 2, y + 9, z + 4, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 3, y + 9, z + 4, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 4, y + 9, z + 4, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 5, y + 9, z + 4, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 6, y + 9, z + 4, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 0, y + 9, z + 5, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 9, z + 5, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 2, y + 9, z + 5, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 3, y + 9, z + 5, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 4, y + 9, z + 5, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 5, y + 9, z + 5, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 6, y + 9, z + 5, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 9, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 9, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 2, y + 9, z + 6, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 3, y + 9, z + 6, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 4, y + 9, z + 6, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 5, y + 9, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 6, y + 9, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 10, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 10, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 2, y + 10, z + 0, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 3, y + 10, z + 0, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 4, y + 10, z + 0, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 5, y + 10, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 6, y + 10, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 10, z + 1, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 10, z + 1, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 2, y + 10, z + 1, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 3, y + 10, z + 1, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 4, y + 10, z + 1, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 5, y + 10, z + 1, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 6, y + 10, z + 1, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 10, z + 2, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 1, y + 10, z + 2, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 2, y + 10, z + 2, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 3, y + 10, z + 2, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 4, y + 10, z + 2, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 5, y + 10, z + 2, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 6, y + 10, z + 2, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 0, y + 10, z + 3, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 1, y + 10, z + 3, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 2, y + 10, z + 3, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 3, y + 10, z + 3, ModBlocks.watz_conductor, 0, 3); - world.setBlock(x + 4, y + 10, z + 3, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 5, y + 10, z + 3, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 6, y + 10, z + 3, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 0, y + 10, z + 4, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 1, y + 10, z + 4, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 2, y + 10, z + 4, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 3, y + 10, z + 4, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 4, y + 10, z + 4, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 5, y + 10, z + 4, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 6, y + 10, z + 4, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 0, y + 10, z + 5, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 10, z + 5, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 2, y + 10, z + 5, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 3, y + 10, z + 5, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 4, y + 10, z + 5, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 5, y + 10, z + 5, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 6, y + 10, z + 5, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 10, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 10, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 2, y + 10, z + 6, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 3, y + 10, z + 6, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 4, y + 10, z + 6, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 5, y + 10, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 6, y + 10, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 11, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 11, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 2, y + 11, z + 0, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 3, y + 11, z + 0, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 4, y + 11, z + 0, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 5, y + 11, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 6, y + 11, z + 0, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 11, z + 1, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 11, z + 1, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 2, y + 11, z + 1, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 3, y + 11, z + 1, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 4, y + 11, z + 1, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 5, y + 11, z + 1, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 6, y + 11, z + 1, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 11, z + 2, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 1, y + 11, z + 2, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 2, y + 11, z + 2, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 3, y + 11, z + 2, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 4, y + 11, z + 2, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 5, y + 11, z + 2, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 6, y + 11, z + 2, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 0, y + 11, z + 3, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 1, y + 11, z + 3, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 2, y + 11, z + 3, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 3, y + 11, z + 3, ModBlocks.watz_conductor, 0, 3); - world.setBlock(x + 4, y + 11, z + 3, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 5, y + 11, z + 3, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 6, y + 11, z + 3, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 0, y + 11, z + 4, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 1, y + 11, z + 4, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 2, y + 11, z + 4, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 3, y + 11, z + 4, ModBlocks.watz_cooler, 0, 3); - world.setBlock(x + 4, y + 11, z + 4, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 5, y + 11, z + 4, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 6, y + 11, z + 4, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 0, y + 11, z + 5, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 11, z + 5, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 2, y + 11, z + 5, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 3, y + 11, z + 5, ModBlocks.watz_control, 0, 3); - world.setBlock(x + 4, y + 11, z + 5, ModBlocks.watz_element, 0, 3); - world.setBlock(x + 5, y + 11, z + 5, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 6, y + 11, z + 5, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 11, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 1, y + 11, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 2, y + 11, z + 6, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 3, y + 11, z + 6, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 4, y + 11, z + 6, ModBlocks.reinforced_brick, 0, 3); - world.setBlock(x + 5, y + 11, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 6, y + 11, z + 6, Blocks.air, 0, 3); - world.setBlock(x + 0, y + 12, z + 0, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 1, y + 12, z + 0, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 2, y + 12, z + 0, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 3, y + 12, z + 0, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 4, y + 12, z + 0, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 5, y + 12, z + 0, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 6, y + 12, z + 0, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 0, y + 12, z + 1, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 1, y + 12, z + 1, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 2, y + 12, z + 1, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 3, y + 12, z + 1, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 4, y + 12, z + 1, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 5, y + 12, z + 1, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 6, y + 12, z + 1, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 0, y + 12, z + 2, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 1, y + 12, z + 2, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 2, y + 12, z + 2, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 3, y + 12, z + 2, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 4, y + 12, z + 2, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 5, y + 12, z + 2, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 6, y + 12, z + 2, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 0, y + 12, z + 3, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 1, y + 12, z + 3, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 2, y + 12, z + 3, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 3, y + 12, z + 3, ModBlocks.watz_conductor, 0, 3); - world.setBlock(x + 4, y + 12, z + 3, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 5, y + 12, z + 3, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 6, y + 12, z + 3, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 0, y + 12, z + 4, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 1, y + 12, z + 4, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 2, y + 12, z + 4, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 3, y + 12, z + 4, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 4, y + 12, z + 4, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 5, y + 12, z + 4, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 6, y + 12, z + 4, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 0, y + 12, z + 5, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 1, y + 12, z + 5, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 2, y + 12, z + 5, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 3, y + 12, z + 5, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 4, y + 12, z + 5, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 5, y + 12, z + 5, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 6, y + 12, z + 5, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 0, y + 12, z + 6, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 1, y + 12, z + 6, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 2, y + 12, z + 6, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 3, y + 12, z + 6, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 4, y + 12, z + 6, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 5, y + 12, z + 6, ModBlocks.watz_end, 0, 3); - world.setBlock(x + 6, y + 12, z + 6, ModBlocks.watz_end, 0, 3); - return true; - - } - -} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 34cd14145..6dc83af6e 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -66,6 +66,8 @@ achievement.radium.desc=SIE SIND GEFEUERT WEIL SIE RADIUM IN MEINEN KAFFEE GESCH achievement.radium=MISTER UNGLAUBLICH achievement.radPoison.desc=Leide an Strahlenkrankheit. achievement.radPoison=Yay, Strahlung! +achievement.redRoom.desc=? +achievement.redRoom=Die andere Seite achievement.sacrifice.desc=Sterbe im Feuer, aber irgendwie auch nicht. achievement.sacrifice=Sororizid achievement.selenium.desc=Lange nicht gesehen! @@ -224,18 +226,21 @@ chem.GASOLINE=Benzinherstellung chem.GASOLINE_LEADED=Bleibenzin mischen chem.HELIUM3=Helium-3-Extraktion aus Mondgestein chem.KEVLAR=Kevlarverbundherstellung +chem.LAMINATE=Laminatherstellung chem.LPG=Petroleumgasverflüssigung chem.LUBRICANT=Schmieröl mischen chem.NITAN=NITAN-Supertreibstoff mischen chem.NITRIC_ACID=Salpetersäureherstellung chem.OIL_SAND=Teersand-Extraktion chem.OSMIRIDIUM_DEATH=Osmiridiumlösung-Herstellung +chem.PC=Polycarbonatherstellung chem.PC_ELECTROLYSIS=Kaliumchloridelektrolyse chem.PEROXIDE=Wasserstoffperoxidherstellung chem.PET=PET-Synthese chem.PETROIL_LEADED=Bleigemisch mischen chem.POLYMER=Polymersynthese chem.PUF6=Plutoniumhexafluoridproduktion +chem.PVC=Polyvinylchloridherstellung chem.RUBBER=Gummiherstellung chem.SAS3=Schrabidiumtrisulfatherstellung chem.SATURN=Saturnitherstellung @@ -256,6 +261,9 @@ chem.SF_PETROIL=Gemischverfestigung chem.SF_PETROLEUM=Petroleumgasverfestigung chem.SF_RECLAIMED=Verfestigung von wiederaufbereitetem Industrieöl chem.SF_SMEAR=Industrieölverfestigung +chem.SHELL_CHLORINE=Chlorgas-Artilleriegeschoss-Herstellung +chem.SHELL_MUSTARD=Senfgas-Artilleriegeschoss-Herstellung +chem.SHELL_PHOSGENE=Phosgen-Artilleriegeschoss-Herstellung chem.SOLID_FUEL=Festbrennstoffherstellung chem.SOLVENT=Organisches Lösungsmittel mischen chem.STEAM=Wasser kochen @@ -321,6 +329,7 @@ container.factoryTitanium=Einfache Fabrik container.fluidtank=Tank container.forceField=Kraftfeldgenerator container.frackingTower=Hydraulischer Frackingturm +container.furnaceBrick=Ziegelofen container.furnaceCombination=Kombinationsofen container.furnaceIron=Eiserner Ofen container.furnaceSteel=Stahlofen @@ -334,9 +343,11 @@ container.heaterFirebox=Feuerbüchse container.heaterHeatex=Wärmetauscher container.heaterOilburner=Brenner container.heaterOven=Heizofen +container.hydrotreater=Hydrotreater container.iGenerator=Industrieller Generator container.keyForge=Schlossertisch -container.launchPad=Raketenabschussrampe +container.launchPad=Startrampe +container.launchPadRusted=Startrampe container.launchTable=Große Startrampe container.leadBox=Sicherheitsbehälter container.machineArcWelder=Lichtbogenschweißer @@ -350,6 +361,8 @@ container.machineDiesel=Dieselgenerator container.machineElectricBoiler=Elektrischer Ölwärmer container.machineElectrolyser=Electrolysegerät container.machineFEL=FEL +container.machineFunnel=Kombinationstrichter +container.machineICF=ICF container.machineITER=Kernfusionsreaktor container.machineLargeTurbine=Industrielle Dampfturbine container.machineLiquefactor=Verflüssiger @@ -438,8 +451,10 @@ container.watzPowerplant=Watzkraftwerk container.zirnox=ZIRNOX Atomreaktor crucible.aa=Herstellung - Fortgeschrittene Legierung -crucible.cdalloy=Herstellung Cadmiumstahl -crucible.cmb=Herstellung CMB-Stahl +crucible.abronze=Herstellung - Arsennronze +crucible.bbronze=Herstellung - Bismutbronze +crucible.cdalloy=Herstellung - Cadmiumstahl +crucible.cmb=Herstellung - CMB-Stahl crucible.ferro=Herstellung - Ferrouran crucible.hematite=Herstellung - Eisen aus Hämatit crucible.hss=Herstellung - Schnellarbeitsstahl @@ -508,7 +523,7 @@ death.attack.tauBlast=%1$s lud die XVL1456 zu lange auf und wurde in Stücke ger death.attack.teleporter=%1$s wurde ins Nichts teleportiert. desc.item.rtgHeat=Hitzelevel: %s -desc.gui.rtgBFurnace.desc=Bönitigt mindestens 15 Hitze um zu starten$Je mehr Hitze, desto schneller der Vorgang$Hitze über dem maximalen Level hat keinen Effekt$Gold-198 kann zu Quecksilber zerfallen +desc.gui.rtgBFurnace.desc=Benötigt mindestens 15 Hitze um zu starten$Je mehr Hitze, desto schneller der Vorgang$Hitze über dem maximalen Level hat keinen Effekt$Gold-198 kann zu Quecksilber zerfallen desc.gui.rtgBFurnace.heat=§eHitzelevel: %s desc.gui.rtgBFurnace.pellets=Akzeptierte Pellets: desc.gui.rtgBFurnace.pellet=%s (%s Hitze) @@ -527,6 +542,7 @@ entity.entity_glyphid_blaster.name=Glyphid-Blaster entity.entity_glyphid_bombardier.name=Glyphid-Bombardierer entity.entity_glyphid_brawler.name=Glyphid-Schläger entity.entity_glyphid_brenda.name=Brenda +entity.entity_glyphid_digger.name=Glyphid-Gräber entity.entity_glyphid_nuclear.name=Der dicke Johnson entity.entity_glyphid_scout.name=Glyphid-Späher entity.entity_ntm_fbi.name=FBI Agent @@ -540,6 +556,7 @@ entity.entity_mob_nuclear_creeper.name=Nuklearer Creeper entity.entity_mob_phosgene_creeper.name=Phosgen-Creeper entity.entity_mob_tainted_creeper.name=Verseuchter Creeper entity.entity_mob_volatile_creeper.name=Instabiler Creeper +entity.entity_parasite_maggot.name=Parasitische Made entity.entity_pigeon.name=Taube entity.entity_plastic_bag.name=Plastiktüte entity.entity_taint_crab.name=Verseuchte Krabbe @@ -562,6 +579,7 @@ flare.valve=Flussventil fluid.acid_fluid=Säure fluid.corium_fluid=Corium fluid.mud_fluid=Giftiger Schlamm +fluid.rad_lava_fluid=Vulkanische Lava fluid.schrabidic_fluid=Schrabidische Säure fluid.toxic_fluid=Stereotypischer grüner Schleim fluid.volcanic_lava_fluid=Vulkanische Lava @@ -658,6 +676,7 @@ hbmfluid.coaloil=Kohleöl hbmfluid.coolant=Kühlflüssigkeit hbmfluid.coolant_hot=Heiße Kühlflüssigkeit hbmfluid.crackoil=Crack-Öl +hbmfluid.crackoil_ds=Entschwefeltes Crack-Öl hbmfluid.cryogel=Kryogel hbmfluid.death=Osmiridiumlösung hbmfluid.deuterium=Deuterium @@ -685,7 +704,9 @@ hbmfluid.heavywater_hot=Heißes Schweres Wasser hbmfluid.helium3=Helium-3 hbmfluid.helium4=Helium-4 hbmfluid.hotcrackoil=Heißes Crack-Öl +hbmfluid.hotcrackoil_ds=Entschwefeltes Heißes Crack-Öl hbmfluid.hotoil=Heißes Rohöl +hbmfluid.hotoil_ds=Entschwefeltes Heißes Rohöl hbmfluid.hotsteam=Dichter Dampf hbmfluid.hydrogen=Flüssiger Wasserstoff hbmfluid.iongel=Ionengel @@ -694,6 +715,7 @@ hbmfluid.kerosene_reform=Düsentreibstoff hbmfluid.lava=Lava hbmfluid.lightoil=Leichtöl hbmfluid.lightoil_crack=Crack-Leichtöl +hbmfluid.lightoil_ds=Entschwefeltes Leichtöl hbmfluid.lightoil_vacuum=Vakuum-Leichtöl hbmfluid.lpg=LPG hbmfluid.lubricant=Schmiermittel @@ -704,6 +726,7 @@ hbmfluid.mustardgas=Senfgas hbmfluid.naphtha=Mitteldestillat hbmfluid.naphtha_coker=Koker-Naphtha hbmfluid.naphtha_crack=Crack-Mitteldestillat +hbmfluid.naphtha_ds=Entschwefeltes Mitteldestillat hbmfluid.nitan=NITAN© 100 Oktan Supertreibstoff hbmfluid.nitric_acid=Salpetersäure hbmfluid.nitroglycerin=Nitroglycerin @@ -744,6 +767,7 @@ hbmfluid.solvent=Lösungsmittel hbmfluid.sourgas=Saures Gas hbmfluid.spentsteam=Niedrigdruckdampf hbmfluid.steam=Dampf +hbmfluid.stellar_flux=Sternenflux hbmfluid.sulfuric_acid=Schwefelsäure hbmfluid.sunfloweroil=Sonnenblumenkernöl hbmfluid.superhotsteam=Superverdichteter Dampf @@ -771,10 +795,12 @@ hbmmat.americiumrg=Reaktorfähiges Armericium hbmmat.americium241=Americium-241 hbmmat.americium242=Americium-242 hbmmat.arsenic=Arsen +hbmmat.arsenicbronze=Arsenbronze hbmmat.asbestos=Asbest hbmmat.bakelite=Bakelit hbmmat.beryllium=Beryllium hbmmat.bismuth=Bismut +hbmmat.bismuthbronze=Bismutbronze hbmmat.borax=Borax hbmmat.boron=Bor hbmmat.cadmium=Cadmium @@ -1113,7 +1139,6 @@ item.ams_lens.name=Stabilisierer-Linse item.ams_muzzle.name=Strahlenemissions-Mündung item.analyzer.name=Analysierer item.anchor_remote.name=Rückrufgerät -item.antiknock.name=Tetraethyblei-Antiklopfmittel item.apple_euphemium.name=Euphemiumapfel item.apple_lead.name=Bleiapfel item.apple_schrabidium.name=Schrabidiumapfel @@ -1287,14 +1312,15 @@ item.bobmazon_machines.name=Bobmazon: Blöcke und Maschinen item.bobmazon_materials.name=Bobmazon: Ressourcen item.bobmazon_tools.name=Bobmazon: Werkzeuge item.bobmazon_weapons.name=Bobmazon: Waffen und Sprengstoffe +item.boltntm.name=%sbolzen item.bolt_compound.name=Verstärkte Turbinenwelle -item.bolt_dura_steel.name=Schnellarbeitsstahlbolzen -item.bolt_tungsten.name=Wolframbolzen +item.bolt_spike.name=Gleisnagel item.boltgun.name=Pneumatische Nietenpistole item.bomb_caller.name=Luftschlag Zielmarker item.bomb_waffle.name=Massenvernichtungswaffel item.guide_book.name=Handbuch item.book_of_.name=Das Buch der Güterwagons +item.book_lemegeton.name=Lemegeton item.book_secret.name=3-596-50802-9 item.bottle2_empty.name=Leere Glasflasche item.bottle2_fritz.name=Fritz-Kola @@ -1407,6 +1433,8 @@ item.cape_nostalgia.name=DrNostalgias Cape item.cape_radiation.name=Cape (Radioaktiv) item.cape_schrabidium.name=Cape (Schrabidisch) item.cape_vertice.name=Lord Vertices Cape +item.card_aos.name=Pik-Ass +item.card_qos.name=Pik-Königin item.cart.crate.name=Stahlkistenlore item.cart.destroyer.name=Schuttzerstörende Lore item.cart.empty.name=Lore @@ -1464,6 +1492,7 @@ item.chopper_head.name=Jagdschrauber Cockpit item.chopper_tail.name=Jagdschrauber Heck item.chopper_torso.name=Jagdschrauber Rumpf item.chopper_wing.name=Jagdschrauber Seitentragfläche +item.chunk_ore.rare.name=Seltenerdenerz-Brocken item.cigarette.name=FFI-Markenzigarette item.cinnebar.name=Zinnober item.circuit_aluminium.name=Einfacher Schaltkreis @@ -1477,10 +1506,12 @@ item.circuit_raw.name=Schaltkreisrohling item.circuit_red_copper.name=Fortgeschrittener Schaltkreis item.circuit_schrabidium.name=Leistungsstarker Schaltkreis item.circuit_star.name=StarControl Schalttafel +item.circuit_star_component.card.name=StarControl Erweiterungskarte item.circuit_star_component.chipset.name=StarControl Chipset item.circuit_star_component.cpu.name=StarControl CPU item.circuit_star_component.ram.name=StarControl RAM item.circuit_star_piece.board_blank.name=SC - Leiterplatte +item.circuit_star_piece.board_converter.name=SC - Spammungswandler item.circuit_star_piece.board_transistor.name=SC - Transistoren item.circuit_star_piece.bridge_bios.name=SC- BIOS-Chip item.circuit_star_piece.bridge_bus.name=SC - BUS @@ -1489,6 +1520,8 @@ item.circuit_star_piece.bridge_cmos.name=SC - CMOS-RAM item.circuit_star_piece.bridge_io.name=SC - IO-Chip item.circuit_star_piece.bridge_north.name=SC - Northbridge item.circuit_star_piece.bridge_south.name=SC - Southbridge +item.circuit_star_piece.card_board.name=SC - Erweiterungskarten-Board +item.circuit_star_piece.card_processor.name=SC - Erweiterungskarten-Prozessor item.circuit_star_piece.cpu_cache.name=SC - CPU-Cache item.circuit_star_piece.cpu_clock.name=SC - CPU-Clock item.circuit_star_piece.cpu_ext.name=SC - Arsenhalbleiter-Erweiterung @@ -1666,7 +1699,7 @@ item.debris_fuel.name=RBMK-Kernbrennstoffbrocken item.debris_graphite.name=Heißer Graphitbrocken item.debris_metal.name=Gebrochene Metallleiste item.debris_shrapnel.name=Wartungssteg-Schrapnell -item.definitelyfood.name=GarantiertKeinDreck-Marken Feldration +item.definitelyfood.name=Feldration item.defuser.name=High-Tech Bombenentschärfungsgerät item.defuser_gold.name=Goldener Seitenschneider item.demon_core_closed.name=Bedeckter Dämonenkern @@ -1703,6 +1736,7 @@ item.dnt_plate.name=dineutrom brustplatte item.door_bunker.name=Bunkertür item.door_metal.name=Metalltür item.door_office.name=Bürotür +item.door_red.name=Rote Tür item.dosimeter.name=Dosimeter item.drax.name=Terra-Bohrer item.drax_mk2.name=Gehärteter Terra-Bohrer @@ -1726,6 +1760,7 @@ item.drone.request.name=Logistikdrone item.drone_linker.name=Transportdronen-Linker item.ducttape.name=Klebeband item.dust.name=Staub +item.dwarven_pickaxe.name=Zwergenspitzhacke item.dynosphere_base.name=Blanke Dynosphere item.dynosphere_desh.name=Desh-Dynosphere item.dynosphere_desh_charged.name=Desh-Dynosphere (Geladen) @@ -1813,6 +1848,8 @@ item.fragment_lanthanium.name=Lanthanfragment item.fragment_meteorite.name=Meteoritenfragment item.fragment_neodymium.name=Neodymfragment item.fragment_niobium.name=Niobium Ffragment +item.fuel_additive.antiknock.name=Tetraethyblei-Antiklopfmittel +item.fuel_additive.deicer.name=Enteisungsmittel item.fuel_tank_large.name=Großer Treibstofftank item.fuel_tank_medium.name=Mittlerer Treibstofftank item.fuel_tank_small.name=Kleiner Treibstofftank @@ -1847,6 +1884,7 @@ item.gear_large.name=Großes Zahnrad item.gear_large_steel.name=Großes Stahlzahnrad item.geiger_counter.name=Mobiler Geigerzähler item.gem_alexandrite.name=Alexandrit +item.gem_rad.name=Radioaktiver Edelstein item.gem_sodalite.name=Sodalith item.gem_tantalium.name=Tantal-Polykristall item.gem_volcanic.name=Vulkanischer Edelstein @@ -1861,7 +1899,7 @@ item.grenade_aschrab.name=Werfbare Antischrabidiumzelle item.grenade_black_hole.name=Schwarzes-Loch-Granate item.grenade_breach.name=Durchbruchgranate item.grenade_burst.name=Gräbergranate -item.grenade_cloud.name=Gefäß voll Wolke +item.grenade_cloud.name=Gefäß voll ätzenden Dämpfen item.grenade_cluster.name=Cluster-Bombe item.grenade_electric.name=Blitzbombe item.grenade_fire.name=Brandsplittergranate @@ -1990,7 +2028,7 @@ item.gun_revolver_nightmare.name=Nightmare-Revolver (Original) item.gun_revolver_nightmare2.name=Nightmare-Revolver (Dunkel) item.gun_revolver_nightmare2_ammo.name=Laserschrot item.gun_revolver_nightmare_ammo.name=Nightmare-Kugel -item.gun_revolver_nopip.name=Novac +item.gun_revolver_nopip.name=Schwerer Revolver item.gun_revolver_nopip_ammo.name=.44 Magnumpatrone (LEGACY) item.gun_revolver_pip.name=Lil' Pipsqueak item.gun_revolver_pip_ammo.name=Verdorbene Patrone (LEGACY) @@ -2063,6 +2101,9 @@ item.hull_big_steel.name=Große Stahlhülle item.hull_big_titanium.name=Große Titanhülle item.hull_small_aluminium.name=Kleine Aluminiumhülle item.hull_small_steel.name=Kleine Stahlhülle +item.icf_pellet.name=ICF-Brennstoffpellet +item.icf_pellet_depleted.name=Erschöpftes ICF-Brennstoffpellet +item.icf_pellet_empty.name=Leeres ICF-Brennstoffpellet item.igniter.name=Zünder item.industrial_magnet.name=Industriemagnet item.inf_antimatter.name=Unendlicher Antimaterietank @@ -2082,6 +2123,7 @@ item.ingot_am241.name=Americium-241-Barren item.ingot_am242.name=Americium-242-Barren item.ingot_americium_fuel.name=Americiumkernbrennstoffbarren item.ingot_arsenic.name=Arsenbarren +item.ingot_arsenic_bronze.name=Arsenbronzebarren item.ingot_asbestos.name=Asbestplatte item.ingot_au198.name=Gold-198-Barren item.ingot_australium.name=Australiumbarren @@ -2089,6 +2131,7 @@ item.ingot_bakelite.name=Bakelittafel item.ingot_beryllium.name=Berylliumbarren item.ingot_biorubber.name=Latextafel item.ingot_bismuth.name=Bismutbarren +item.ingot_bismuth_bronze.name=Bismutbronzebarren item.ingot_boron.name=Borbarren item.ingot_c4.name=C4-Tafel item.ingot_cadmium.name=Cadmiumbarren @@ -2202,6 +2245,7 @@ item.key.name=Schlüssel item.key_fake.name=Gefälschter Schlüssel item.key_kit.name=Schlüssel-Imitationskit item.key_red.name=Roter Schlüssel +item.key_red_cracked.name=Zerbrochener Schlüssel item.kit_toolbox.name=Werkzeugkasten item.kit_toolbox_empty.name=Leerer Werkzeugkasten item.laser_crystal_bismuth.desc=Bismuth-Samarium-Uran-Thorium-Kristallmatrix @@ -2213,6 +2257,9 @@ item.laser_crystal_co2.name=CO2-Desh-Laserkristall item.laser_crystal_digamma.name=Digamma-Laserkristall item.laser_crystal_dnt.desc=Dineutronium-Spark Fermion Superkristall item.laser_crystal_dnt.name=Spark-Laserkristall +item.launch_code.name=Silo-Startcode +item.launch_code_piece.name=Silo-Startcodestück +item.launch_key.name=Silo-Startschlüssel item.lead_gavel.name=Bleierner Richterhammer item.lemon.name="Zitrone" item.letter.name=Eilbrief @@ -2252,7 +2299,7 @@ item.mechanism_revolver_2.name=Fortgeschrittener Revolvermechanismus item.mechanism_rifle_1.name=Gewehmechanismus item.mechanism_rifle_2.name=Fortgeschrittener Gewehmechanismus item.mechanism_special.name=High-Tech Waffenmechanismus -item.med_bag.name=Ärztetasche +item.med_bag.name=Erste Hilfe Kit item.med_ipecac.name=Ipecac-Sirup item.med_ptsd.name=PTBS-Medikament item.med_schiziphrenia.name=Schizophrenie-Medikament @@ -2294,7 +2341,8 @@ item.missile_cluster.name=Streurakete item.missile_cluster_strong.name=Starke Streurakete item.missile_custom.name=Spezialgefertigte Rakete item.missile_decoy.name=Köderflugkörper -item.missile_doomsday.name=Doomsday Rakete +item.missile_doomsday.name=Doomsday-Rakete +item.missile_doomsday_rusted.name=Beschädigte Doomsday-Rakete item.missile_drill.name=Der Betonbrecher item.missile_emp.name=EMP-Rakete item.missile_emp_strong.name=Verbesserte EMP-Rakete @@ -2311,18 +2359,10 @@ item.missile_nuclear_cluster.name=H-Rakete item.missile_rain.name=Schüttbombenregen item.missile_schrabidium.name=Schrabidiumrakete item.missile_shuttle.name=Reliant Robin Space Shuttle -item.missile_skin_camo.name=Raketenskin: Camouflage -item.missile_skin_desert.name=Raketenskin: Wüstencamouflage -item.missile_skin_flames.name=Raketenskin: Krasse Flammen -item.missile_skin_manly_pink.name=Raketenskin: Männliches Pink -item.missile_skin_metal.name=Raketenskin: Metall -item.missile_skin_orange_insulation.name=Raketenskin: Oranger Isolator -item.missile_skin_sleek.name=Raketenskin: IF-R&D -item.missile_skin_soviet_glory.name=Raketenskin: Sowjetischer Ruhm -item.missile_skin_soviet_stank.name=Raketenskin: Sowjetischer Mief item.missile_soyuz.name=Soyuz-FG item.missile_soyuz_lander.name=Orbitalmodul item.missile_strong.name=Starke HE Rakete +item.missile_stealth.name=Stealth-Rakete item.missile_taint.name=Verdorbene Rakete item.missile_volcano.name=Tectonic Missile item.missile_volcano.desc=Mit der Kraft von Kernwaffen können wir einen Vulkan beschwören! @@ -2567,6 +2607,7 @@ item.ore.gold=Gold item.ore.hematite=Hematit item.ore.iron=Eisen item.ore.malachite=Malachit +item.ore.neodymium=Neodym item.ore.niobium=Niob item.ore.titanium=Titan item.ore.tungsten=Wolfram @@ -2683,8 +2724,8 @@ item.pill_iodine.name=Iodpille item.pill_herbal.name=Kräuterpaste item.pill_red.name=Rote Pille item.pin.name=Haarklammer +item.pipentm.name=%srohr item.pipes_steel.name=Stahlrohre -item.pirfenidone.name=Pirfenidon item.pipes_steel.desc=Auf Recycling-Rezepte wurden wegen$Steuerhinterziehung verzichtet. item.piston_selenium.name=Motorkolben item.piston_set_desh.name=Ottomotorenkolben (Desh) @@ -2710,6 +2751,7 @@ item.plate_copper.name=Kupferplatte item.plate_dalekanium.name=Wütendes Metall item.plate_desh.name=Desh-Verbundplatte item.plate_dineutronium.name=Dineutronium-Verbundplatte +item.plate_dura_steel.name=Schnellarbeitsstahlplatte item.plate_euphemium.name=Euphemium-Verbundplatte item.plate_gold.name=Goldplatte item.plate_iron.name=Eisenplatte @@ -2797,6 +2839,7 @@ item.powder_magic.name=Pulverisierte Verzauberung item.powder_magnetized_tungsten.name=Magnetisierter Wolframstaub item.powder_meteorite.name=Meteoritenstaub item.powder_meteorite_tiny.name=Kleiner Haufen Meteoritenstaub +item.powder_molysite.name=Molysit item.powder_neodymium.name=Neodymstaub item.powder_neodymium_tiny.name=Kleiner Haufen Neodymstaub item.powder_neptunium.name=Neptuniumstaub @@ -3133,6 +3176,7 @@ item.serum.name=Serum item.servo_set.name=Servo-Set item.servo_set_desh.name=Deshservo-Set item.shackles.name=Fußschellen +item.shellntm.name=%smantel item.shimmer_axe.name=Shimmer Axe item.shimmer_axe_head.name=Schwerer Axtkopf item.shimmer_handle.name=Verstärketer Polymergriff @@ -3334,6 +3378,7 @@ item.upgrade_fortune_2.name=Glückupgrade Mk.II item.upgrade_fortune_3.name=Glückupgrade Mk.III item.upgrade_gc_speed.name=Gaszentrifugen-Geschwindigkeitsupgrade item.upgrade_health.name=Kraftfeld-Resistenzupgrade +item.upgrade_muffler.name=Schalldämpfer item.upgrade_nullifier.name=Müllvernichter-Upgrade item.upgrade_overdrive_1.name=Overdrive-Upgrade Mk.I item.upgrade_overdrive_2.name=Overdrive-Upgrade Mk.II @@ -3497,8 +3542,10 @@ shape.ingot=Barren shape.nugget=Nugget shape.quantum=Quantum shape.quart=Viertel Block +shape.ntmpipe=Rohr shape.plate=Platte shape.plateTriple=Gussplatte +shape.shell=Mantel shape.stamp=Stempel shape.wire=Draht shape.wireDense=Dichter Draht @@ -3515,7 +3562,10 @@ tile.ams_base.name=AMS-Basis (Deko) tile.ams_emitter.name=AMS-Emitter (Deko) tile.ams_limiter.name=AMS-Stabilisator (Deko) tile.ancient_scrap.name=Antikes Altmetall +tile.anvil_arsenic_bronze.name=Arsenbronzeamboss tile.anvil_bismuth.name=Bismutamboss +tile.anvil_bismuth_bronze.name=Bismuthbronzeamboss +tile.anvil_desh.name=Deshamboss tile.anvil_dnt.name=Dineutroniumamboss tile.anvil_ferrouranium.name=Ferrouranamboss tile.anvil_iron.name=Eisenamboss @@ -3523,6 +3573,7 @@ tile.anvil_lead.name=Bleiamboss tile.anvil_meteorite.name=Meteoritenamboss tile.anvil_murky.name=Düsteramboss tile.anvil_osmiridium.name=Osmiridiumamboss +tile.anvil_saturnite.name=Saturnitamboss tile.anvil_schrabidate.name=Eisenschrabidatamboss tile.anvil_starmetal.name=Sternenmetallamboss tile.anvil_steel.name=Stahlamboss @@ -3533,7 +3584,7 @@ tile.barbed_wire.name=Stacheldraht tile.barbed_wire_acid.name=Ätzender Stacheldraht tile.barbed_wire_fire.name=Flammender Stacheldraht tile.barbed_wire_poison.name=Vergifteter Stacheldraht -tile.barbed_wire_ultradeath.name=Wolken-Stacheldraht +tile.barbed_wire_ultradeath.name=Strahlen-Stacheldraht tile.barbed_wire_wither.name=Withernder Stacheldraht tile.barrel_antimatter.name=Magnetischer Antimaterie-Behälter tile.barrel_corroded.name=Verrostetes Fass @@ -3543,13 +3594,9 @@ tile.barrel_steel.name=Stahlfass tile.barrel_tcalloy.name=Technetiumstahlfass tile.barricade.name=Sandsäcke tile.basalt.name=Basalt -tile.basalt_asbestos.name=Asbestreicher Basalt tile.basalt_brick.name=Basaltziegel -tile.basalt_fluorite.name=Fluoritreicher Basalt -tile.basalt_gem.name=Edelsteinreicher Basalt tile.basalt_polished.name=Polierter Basalt tile.basalt_smooth.name=Glatter Basalt -tile.basalt_sulfur.name=Schwefelreicher Basalt tile.basalt_tiles.name=Basaltfliesen tile.blast_door.name=Abschluss-Sprengtür tile.block_actinium.name=Actiniumblock @@ -3700,6 +3747,7 @@ tile.brick_light.name=Helle Ziegel tile.brick_light_stairs.name=Helle Ziegeltreppe tile.brick_obsidian.name=Obsidianziegel tile.brick_obsidian_stairs.name=Obsidianziegeltreppe +tile.brick_red.name=Ziegel (Roter Raum) tile.brick_slab.brick_asbestos.name=Asbestziegelstufe tile.brick_slab.brick_compound.name=Verbundstufe tile.brick_slab.brick_fire.name=Schamottsteinstufe @@ -3831,6 +3879,8 @@ tile.crystal_virus.name=Dunkler Kristall tile.deco_aluminium.name=Aluminium-Dekoblock tile.deco_asbestos.name=Asbestdach tile.deco_beryllium.name=Beryllium-Dekoblock +tile.deco_computer.ibm_300pl.name=IBM Personal Computer 300PL +tile.deco_crt.name=Alter Röhrenbildschirm tile.deco_emitter.name=Deko-Lichtemitter tile.deco_lead.name=Blei-Dekoblock tile.deco_rbmk.name=RBMK-Dekoblock @@ -3862,6 +3912,7 @@ tile.deco_pipe_rim_red.name=Rotes Stahlrohr mit Rand tile.deco_pipe_rim_marked.name=Gasrohr mit Rand tile.deco_steel.name=Stahl-Dekoblock tile.deco_titanium.name=Titan-Dekoblock +tile.deco_toaster.name=Kaputter Toaster tile.deco_tungsten.name=Wolfram-Dekoblock tile.decon.name=Spieler-Dekontaminierer tile.depth_brick.name=Tiefenziegel @@ -3890,6 +3941,7 @@ tile.drone_waypoint_request.name=Logistikdronen-Wegpunkt tile.door_bunker.name=Bunkertür tile.door_metal.name=Metalltür tile.door_office.name=Bürotür +tile.door_red.name=Rote Tür tile.ducrete.name=Ducretefliese tile.ducrete_stairs.name=Ducretefliesentreppe tile.ducrete_smooth.name=Ducrete @@ -3943,6 +3995,8 @@ tile.frozen_dirt.name=Gefrorene Erde tile.frozen_grass.name=Gefrorenes Gras tile.frozen_log.name=Gefrorener Baumstamm tile.frozen_planks.name=Gefrorene Holzbretter +tile.machine_furnace_brick_off.name=Ziegelofen +tile.machine_furnace_brick_on.name=Ziegelofen tile.furnace_combination.name=Kombinationsofen tile.furnace_combination.desc=Großer Ofen welcher Holzhokle und Kohlekoks herstellen kann.$Erzeugt flüssige Nebenprodukte.$Wärmetransferrate: ΔT*0.25 TU/t tile.furnace_iron.name=Eiserner Ofen @@ -4030,7 +4084,17 @@ tile.heater_oilburner.desc=Erzäuft Wärme aus fluiden Brennstoffen.$Kann mit ei tile.heater_oven.name=Heizofen tile.heater_oven.desc=Erzeugt Wärme aus Festbrennstoff.$Nimmt von unten Wärme mit 50%% Effizienz auf. tile.hev_battery.name=Anzugs-Batterie +tile.machine_hydrotreater.name=Hydrotreater tile.impact_dirt.name=Versengte Erde +tile.icf.name=Trägheitsfusionsreaktor (ICF) +tile.icf_block.name=ICF-Laser +tile.icf_controller.name=ICF-Lasersteuerung +tile.icf_laser_component.capacitor.name=ICF-Laser-Kondensator +tile.icf_laser_component.casing.name=ICF-Laser-Gehäuse +tile.icf_laser_component.cell.name=ICF-Laser-Zelle +tile.icf_laser_component.emitter.name=ICF-Laser-Blitzröhre +tile.icf_laser_component.port.name=ICF-Laser-Anschluss +tile.icf_laser_component.turbo.name=ICF-Laser-Turbolader tile.iter.name=Kernfusionsreaktor tile.ladder_aluminium.name=Aluminiumleiter tile.ladder_cobalt.name=Kobaltleiter @@ -4049,7 +4113,9 @@ tile.lamp_tritium_green_off.name=Grüne Tritiumlampe tile.lamp_tritium_green_on.name=Grüne Tritiumlampe tile.lantern.name=Laterne tile.lantern_behemoth.name=Alte Laterne -tile.launch_pad.name=Raketenabschussrampe +tile.launch_pad.name=Silo-Startrampe +tile.launch_pad_large.name=Startrampe +tile.launch_pad_rusted.name=Alte Startrampe tile.launch_table.name=Große Startrampe tile.leaves_layer.name=Totes Laub tile.lox_barrel.name=LOX-Fass @@ -4108,6 +4174,7 @@ tile.machine_difurnace_on.name=Hochofen tile.machine_difurnace_rtg_off.name=Atomarer Hochofen tile.machine_difurnace_rtg_on.name=Atomarer Hochofen tile.machine_dineutronium_battery.name=Spark Energiespeicherblock +tile.machine_drain.name=Ausgussrohr tile.machine_drill.name=Automatischer Minenbohrer tile.machine_electric_furnace_off.name=Elektrischer Ofen tile.machine_electric_furnace_on.name=Elektrischer Ofen @@ -4122,6 +4189,8 @@ tile.machine_fluidtank.name=Tank tile.machine_forcefield.name=Kraftfeldgenerator tile.machine_fracking_tower.name=Hydraulischer Frackingturm tile.machine_fraction_tower.name=Fraktionierungsturm +tile.machine_funnel.name=Kombinationstrichter +tile.machine_funnel.desc=Verbindet Items in einem 2x2 oder 3x3 Craftingfeld$Oben: Input$Unten: Output$Seite: Output für Item-Eingang tile.machine_gascent.name=Gaszentrifuge tile.machine_generator.name=Atomreaktor (Alt) tile.machine_geo.name=Geothermiegenerator @@ -4146,6 +4215,7 @@ tile.machine_press.name=Befeuerte Presse tile.machine_puf6_tank.name=Plutoniumhexafluorid-Tank tile.machine_pumpjack.name=Pferdekopfpumpe tile.machine_radar.name=Radar +tile.machine_radar_large.name=Großes Radar tile.machine_radgen.name=Strahlenbetriebener Generator tile.machine_reactor.name=Brutreaktor tile.machine_reactor_on.name=Brutreaktor @@ -4237,10 +4307,16 @@ tile.nuke_tsar.name=Tsar Bombe tile.oil_duct.name=Ölrohr tile.oil_duct_solid.name=Verstärktes Ölrohr tile.oil_pipe.name=Rohölrohr +tile.oil_spill.name=Ölteppich tile.ore_alexandrite.name=Alexandriterz tile.ore_aluminium.name=Aluminiumerz tile.ore_asbestos.name=Asbesterz tile.ore_australium.name=Australisches Erz +tile.ore_basalt_asbestos.name=Asbestreicher Basalt +tile.ore_basalt_fluorite.name=Fluoritreicher Basalt +tile.ore_basalt_gem.name=Edelsteinreicher Basalt +tile.ore_basalt_molysite.name=Molysitreicher Basalt +tile.ore_basalt_sulfur.name=Schwefelreicher Basalt tile.ore_bedrock.name=Bedrock-Erz tile.ore_bedrock_coltan.name=Bedrock-Coltanerz tile.ore_bedrock_oil.name=Bedrock-Ölvorkommen @@ -4297,6 +4373,11 @@ tile.ore_random.name=%s-Erz tile.ore_rare.name=Seltenerden-Erz tile.ore_reiium.name=Reiit tile.ore_schrabidium.name=Schrabidiumerz +tile.ore_sellafield_diamond.name=Sellafit-Diamanterz +tile.ore_sellafield_emerald.name=Sellafit-Smaragderz +tile.ore_sellafield_radgem.name=Sellafite-Edelsteinerz +tile.ore_sellafield_schrabidium.name=Sellafit-Schrabidiumerz +tile.ore_sellafield_uranium_scorched.name=Verschmortes Sellafit-Uranerz tile.ore_sulfur.name=Schwefelerz tile.ore_tektite_osmiridium.name=Osmiridiumreiches Tektit tile.ore_thorium.name=Thoriumerz @@ -4309,6 +4390,7 @@ tile.ore_uranium_scorched.name=Verschmortes Uranerz tile.ore_verticium.name=Dollargrünes Mineral tile.ore_volcano.name=Thermale Fissur tile.ore_weidanium.name=Weidit +tile.pedestal.name=Podest tile.pink_barrel.name=Kerosinfass tile.pink_log.name=Pinkes Holz tile.pink_planks.name=Pinke Holzbretter @@ -4352,14 +4434,17 @@ tile.pwr_controller.name=PWR Controller tile.pwr_controller.desc=Zugangsterminal zum PWR$Platzierung: Hülle, nur eines pro Reaktor$Rechtsclick um Reaktor zusammenzubauen tile.pwr_fuel.name=PWR Brennstäbe tile.pwr_fuel.desc=Erhöht die Kapazität für Brennelemente$Platzierung: Gitter, für höhere Reaktivität -tile.pwr_heatex.name=PWR Waärmetauscher +tile.pwr_heatex.name=PWR Wärmetauscher tile.pwr_heatex.desc=Gleicht Kerntemparatur mit Hülltemparatur aus$Platzierung: Egal +tile.pwr_heatsink.name=PWR Kühlkörper +tile.pwr_heatsink.desc=Erhöht die Wärmekapazität der Kerns um 5%%$Kühlkanäle und Wärmetauscher werden etwas weniger effektiv$Platzierung: Egal tile.pwr_neutron_source.name=PWR Neutronenquelle tile.pwr_neutron_source.desc=Fügt dem Kern 20 Flux hinzu$Platzierung: Egal$Flux erreicht den Kern nur, wenn Steuerstäbe offen sind tile.pwr_port.name=PWR Zugangsport tile.pwr_port.desc=Erlaubt IO für Items und Flüssigkeiten$Platzierung: Hülle tile.pwr_reflector.name=PWR Neutronenreflektor tile.pwr_reflector.desc=Reflektier Neutronen auf Brennstäbe zurück$Platzierung: Hülle, für höhere Reaktivität$Gültiger Block für Hülle +tile.volcanic_lava_block.name=Vulkanische Lava tile.radar_screen.name=Radarbildschirm tile.radio_telex.name=Telex-Maschine tile.radio_torch_counter.name=Redstone-over-Radio Itemzähler @@ -4373,6 +4458,15 @@ tile.radiorec.name=UKW Radio tile.rail_booster.name=Hochgeschwindigkeits-Boosterschienen tile.rail_highspeed.name=Hochgeschwindigkeitsschienen tile.rail_narrow.name=Schmalspurschienen +tile.rail_large_buffer.name=Normalspur-Prellbock (5m) +tile.rail_large_curve.name=Normalspur-Kurve (5m) +tile.rail_large_curve_7.name=Normalspur-Kurve (7m) +tile.rail_large_curve_9.name=Normalspur-Kurve (9m) +tile.rail_large_ramp.name=Normalspur-Rampe (5m) +tile.rail_large_straight.name=Normalspur-Schiene (5m) +tile.rail_large_straight_short.name=Normalspur-Schiene (1m) +tile.rail_large_switch.name=Normalspur-Weiche (15m, Links) +tile.rail_large_switch_flipped.name=Normalspur-Weiche (15m, Rechts) tile.rail_wood.name=Holzschienen tile.rbmk_absorber.name=RBMK Bor-Neutronenabsorber tile.rbmk_blank.name=RBMK Strukturteil @@ -4412,6 +4506,10 @@ tile.red_cable_paintable.name=Geschirmtes rotes Kupferkabel (Färbbar) tile.red_connector.name=Stromverbindungsstück tile.red_pylon.name=Strommasten tile.red_pylon_large.name=Hochspannungsmasten +tile.red_pylon_medium_steel.name=Stählerner mittelgroßer Strommasten +tile.red_pylon_medium_steel_transformer.name=Stählerner mittelgroßer Strommasten mit Transformator +tile.red_pylon_medium_wood.name=Hölzerner mittelgroßer Strommasten +tile.red_pylon_medium_wood_transformer.name=Hölzerner mittelgroßer Strommasten mit Transformator tile.red_wire_coated.name=Geschirmtes rotes Kupferkabel tile.reinforced_brick.name=Verstärkter Stein tile.reinforced_brick_stairs.name=Verstärkte Steintreppe @@ -4455,10 +4553,17 @@ tile.sellafield_4.name=Infernales Sellafit tile.sellafield_core.name=Sellafit-Corium tile.sellafield_slaked.name=Gelöschtes Sellafit tile.semtex.name=Semtex +tile.silo_hatch.name=Siloluke +tile.silo_hatch_large.name=Große Siloluke +tile.sliding_blast_door.name=Sprengtür tile.solar_mirror.name=Heliostatspiegel tile.soyuz_capsule.name=Landekapsel tile.soyuz_launcher.name=Soyuz-Startplatform tile.spikes.name=Stacheln +tile.snowglobe.name=Schneekugel +tile.spotlight_incandescent.name=Käfiglampe +tile.spotlight_fluoro.name=Leuchtstoffröhre +tile.spotlight_halogen.name=Halogen-Flutlicht tile.stalactite.asbestos.name=Asbest-Stalaktit tile.stalactite.sulfur.name=Schwefelhaltiger Stalaktit tile.stalagmite.asbestos.name=Asbest-Stalagmit @@ -4476,6 +4581,7 @@ tile.stone_cracked.name=Rissiger Stein tile.stone_depth.name=Tiefenfels tile.stone_depth_nether.name=Nether-Tiefenfels tile.stone_gneiss.name=Graphitschiefer +tile.stone_keyhole.name=Seltsamer Stein tile.stone_porous.name=Poröser Stein tile.stone_resource.asbestos.name=Chrysotil tile.stone_resource.bauxite.name=Bauxit @@ -4526,6 +4632,7 @@ tile.turret_rocket.name=Raketengeschütz tile.turret_richard.name=Raketenwerfergeschütz "Richard" tile.turret_spitfire.name=Geschütz für das ich noch keinen Namen habe [WIP] tile.turret_sentry.name=Selbstschussanlage "Brown" +tile.turret_sentry_damaged.name=Selbstschussanlage "Edwin" tile.turret_tau.name=Tauonengeschütz tile.turret_tauon.name=XVL1456-Prototypengeschütz "Tauon" tile.vacuum.name=Vakuum @@ -4536,6 +4643,7 @@ tile.vent_cloud.name=Wolken-Auslass tile.vent_pink_cloud.name=Pinker Wolken-Auslass tile.vitrified_barrel.name=Fass voll vitrifiziertem Atommüll tile.volcano_core.name=Vulkankern +tile.volcano_rad_core.name=Rad-Vulkankern tile.volcanic_lava_block.name=Vulkanische Lava tile.waste_earth.name=Totes Gras tile.waste_leaves.name=Tote Blätter diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index a1282dcae..50782e5c5 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -94,6 +94,8 @@ achievement.RBMK.desc=He's delusional, get him to the infirmary. achievement.RBMK=3.6 Roentegen? achievement.redBalloons.desc="This is what we've waited for. This is it, boys, this is war." achievement.redBalloons=99 Red Balloons +achievement.redRoom.desc=? +achievement.redRoom=The Other Side achievement.sacrifice.desc=Face the fire and live. achievement.sacrifice=Sororicide achievement.schrab.desc=Regardless, I wouldn't look at it for too long. @@ -346,7 +348,7 @@ book_lore.book_phosphorous.page.1=ingredient is red phosphorous, whihc has to be book_lore.book_dust.name=Note book_lore.book_dust.author=Dave book_lore.book_dust.page.0=the doc was furious when he found out that the R&D dorks kept the one remaining sample, ranting about gross negligence this and a doomsday scenario that. i told him to chill for a minute, getting all worked up isn't good for his blood pressure, not -book_lore.book_dust.page.1=that he has much blood left to begin with. one of the R&D morons slipped some more info into last week's circular, they call their little concoction \"MKU\" whatever that means, and that it contains actual household lint. can you believe that? one of the most +book_lore.book_dust.page.1=that he has much blood left to begin with. one of the R&D morons slipped some more info into last week's circular, they call their little concoction "MKU" whatever that means, and that it contains actual household lint. can you believe that? one of the most book_lore.book_dust.page.2=dangerous inventions of theirs and it contains dust. strangely they also mentioned that it goes into slot %d book_lore.book_mercury.name=Note @@ -521,6 +523,40 @@ cannery.willow.7=Now the willow's leaves can be harvested. Breaking the top bloc cannery.willow.8=Soon the plant will start growing again, yielding more leaves if the dirt is replaced with oily dirt. The leaves can be processed into cadmium powder using an ore acidizer. cannery.willow.9=Harvesting willow leaves can be automated using the automatic buzzsaw, it will only break plants that are ready for harvest. +cannery.hadron=Particle Accelerator +cannery.hadron.0=A Particle Accelerator consists of three main parts: A Core, an Analysis Chamber, and a set of Superconducting Coils +cannery.hadron.1=This is the Particle Accelerator Core Component, which fires particles at relativistic speeds down the coils towards the Analysis Chamber +cannery.hadron.2=Particles are ejected from here +cannery.hadron.3=And in circular accelerators, return to here +cannery.hadron.4=A coil segment is constructed by using 8 Dense Coils with nothing (or the core) in the middle +cannery.hadron.5=This coil segment must itself also be enclosed within Particle Accelerator Plating +cannery.hadron.6=To access the Core Component, you'll need to add one or more Access Terminals +cannery.hadron.7=The Core Component will also require power to operate, add a power plug on an edge +cannery.hadron.8=The Accelerator will require enough Power Plugs to supply at least 10KHE of electricity per unit of Coil Strength +cannery.hadron.9=Note that the coil segment that wraps around the Core Component is not factored into the Coil Strength calculation +cannery.hadron.10=Nor is this coil segment required for purely linear accelerators +cannery.hadron.11=For circular accelerators, you will need to add corners to change the direction of the particle +cannery.hadron.12=The outside corner coils can be omitted entirely +cannery.hadron.13=The final part of our Accelerator is the Analysis Chamber, which is a 3x3x3 empty chamber surrounded by Analysis Chamber blocks +cannery.hadron.14=Your completed Particle Accelerator should look something like this! + +cannery.hadron.math.0=Neodymium Coil Strength: 50 +cannery.hadron.math.1=50 x 8 x 10KHE = 400 x 10KHE = 4MHE +cannery.hadron.math.2=Starmetal Coil Strength: 1,000 +cannery.hadron.math.3=1,000 x 8 x 10KHE = 8,000 x 10KHE = 80MHE + +cannery.schottky=Schottky Particle Diode +cannery.schottky.0=This is a Schottky Particle Diode. It can allow for more complex particle accelerator designs and save on electricity +cannery.schottky.1=By default it blocks all particles and must be configured with a Screwdriver +cannery.schottky.2=This face will now accept entering particles +cannery.schottky.3=And this face will eject particles that enter +cannery.schottky.4=The diode now has two exits, and will now behave in a quantum manner, creating virtual particles for each exit +cannery.schottky.5=Once all the virtual particles have reached an Analysis Chamber, the particle with the lowest momentum required for the current recipe is chosen +cannery.schottky.6=The chosen particle undergoes a wavefunction collapse and is made real, consuming only the power that the collapsing particle requires +cannery.schottky.7=If any virtual particles encounter any malformed segments, all virtual particles will be discarded and the erroring particle will be collapsed instead +cannery.schottky.8=Note that virtual particles will never use the same Diode exit twice. Infinite loops will fail, but re-entering a Diode is otherwise fine +cannery.schottky.9=Your Schottky Particle Diode should be properly enclosed, with free paths for each intersection exit + chem.ARSENIC=Arsenic Extraction chem.ASPHALT=Asphalt Production chem.BAKELITE=Bakelite Production @@ -574,19 +610,23 @@ chem.GASOLINE_LEADED=Leaded Gasoline Mixing chem.HEAVY_ELECTROLYSIS=Heavy Water Cryo-Electrolysis chem.HELIUM3=Helium-3 Extraction from Moon Turf chem.KEVLAR=Kevlar Compound Production +chem.LAMINATE=Laminate Production chem.LPG=Petroleum Gas Liquefaction chem.LUBRICANT=Lubricant Mixing chem.METH=Methamphetamine Synthesis +chem.MEAT_PROCESSING=Glyphid Meat Mineral Extraction chem.NITAN=NITAN Super Fuel Mixing chem.NITRIC_ACID=Nitric Acid Production chem.OIL_SAND=Tar Sand Extraction chem.OSMIRIDIUM_DEATH=Osmiridic Solution Production +chem.PC=Polycarbonate Synthesis chem.PC_ELECTROLYSIS=Potassium Chloride Electrolysis chem.PEROXIDE=Hydrogen Peroxide Production chem.PET=PET Synthesis chem.PETROIL_LEADED=Leaded Petroil Mixing chem.POLYMER=Polymer Synthesis chem.PUF6=Plutonium Hexafluoride Production +chem.PVC=Polyvinylchloride Synthesis chem.RUBBER=Rubber Production chem.SAS3=Schrabidium Trisulfide Production chem.SATURN=Saturnite Production @@ -607,6 +647,9 @@ chem.SF_PETROIL=Petroil Solidification chem.SF_PETROLEUM=Petroleum Gas Solidification chem.SF_RECLAIMED=Reclaimed Oil Solidification chem.SF_SMEAR=Industrial Oil Solidification +chem.SHELL_CHLORINE=Chlorine Gas Artillery Shell Production +chem.SHELL_MUSTARD=Mustard Gas Artillery Shell Production +chem.SHELL_PHOSGENE=Phosgene Artillery Shell Production chem.SOLID_FUEL=Solid Rocket Fuel Production chem.SOLVENT=Organic Solvent Mixing chem.STEAM=Water Boiling @@ -679,6 +722,7 @@ container.fluidtank=Tank container.fileCabinet=Filing Cabinet container.forceField=Forcefield Emitter container.frackingTower=Hydraulic Fracking Tower +container.furnaceBrick=Bricked Furnace container.furnaceCombination=Combination Oven container.furnaceIron=Iron Furnace container.furnaceSteel=Steel Furnace @@ -692,9 +736,11 @@ container.heaterFirebox=Firebox container.heaterHeatex=Heat Exchanger container.heaterOilburner=Fluid Burner container.heaterOven=Heating Oven +container.hydrotreater=Hydrotreater container.iGenerator=Industrial Generator container.keyForge=Locksmith Table -container.launchPad=Missile Launch Pad +container.launchPad=Launch Pad +container.launchPadRusted=Launch Pad container.launchTable=Large Launch Pad container.leadBox=Containment Box container.machineArcWelder=Arc Welder @@ -708,6 +754,8 @@ container.machineDiesel=Diesel Generator container.machineElectricBoiler=Electric Oil Heater container.machineElectrolyser=Electrolysis Machine container.machineFEL=FEL +container.machineFunnel=Combinator Funnel +container.machineICF=ICF container.machineITER=Fusion Reactor container.machineLargeTurbine=Industrial Steam Turbine container.machineLiquefactor=Liquefactor @@ -717,6 +765,7 @@ container.machineSelenium=Radial Performance Engine container.machineShredder=Shredder container.machineSILEX=SILEX container.machineSolidifier=Solidifier +container.machineStrandCaster=Strand Caster container.machineTurbine=Steam Turbine container.machineTurbofan=Turbofan container.machineWoodBurner=Wood-Burner @@ -766,6 +815,7 @@ container.reix=Rei-X Mainframe container.rtg=RT Generator container.rtgFurnace=RTG Furnace container.rttyCounter=Redstone-over-Radio Item Counter +container.rttyLogic=Redstone-over-Radio Logic Receiver container.rttyReceiver=Redstone-over-Radio Receiver container.rttySender=Redstone-over-Radio Transmitter container.safe=Safe @@ -797,6 +847,8 @@ container.watzPowerplant=Watz Power Plant container.zirnox=ZIRNOX Nuclear Reactor crucible.aa=Advanced Alloy Production +crucible.abronze=Arsenic Bronze Production +crucible.bbronze=Bismuth Bronze Production crucible.cdalloy=Cadmium Steel Production crucible.cmb=CMB Steel Production crucible.ferro=Ferrouranium Production @@ -876,6 +928,16 @@ desc.gui.nukeGadget.desc=§1Requires:§r$ * 4 Arrays of First-Generation$ High desc.gui.nukeMan.desc=§1Requires:§r$ * 4 Arrays of First-Generation$ High-Explosive Lenses$ * Plutonium Core$ * Bomb Firing Unit desc.gui.nukeMike.desc=§1Requires:§r$ * 4 Arrays of High-Explosive Lenses$ * Plutonium Core$ * Deuterium Cooling Unit$ * Uranium Coated Deuterium Tank$ * Deuterium Tank desc.gui.nukeTsar.desc=§1Requires:§r$ * 4 Arrays of High-Explosive Lenses$ * Plutonium Core$§9Optional:§r$ * Tsar Bomba Core +desc.gui.rttyLogic.cond0=Signal §6LESS THAN§r Constant +desc.gui.rttyLogic.cond1=Signal §6LESS THAN OR EQUAL TO§r Constant +desc.gui.rttyLogic.cond2=Signal §6GREATER THAN OR EQUAL TO§r Constant +desc.gui.rttyLogic.cond3=Signal §6GREATER THAN§r Constant +desc.gui.rttyLogic.cond4=Signal §6EQUAL TO§r Constant +desc.gui.rttyLogic.cond5=Signal §6NOT EQUAL TO§r Constant +desc.gui.rttyLogic.cond6=Signal §6MATCHES§r String +desc.gui.rttyLogic.cond7=Signal §6DOES NOT MATCH§r String +desc.gui.rttyLogic.cond8=Signal §6CONTAINS§r String +desc.gui.rttyLogic.cond9=Signal §6DOES NOT CONTAIN§r String desc.gui.radiolysis.desc=§9Description§r$This RTG is more efficient then others, and$comes equipped with a radiolysis chamber for$cracking and sterilization. desc.gui.rtgBFurnace.desc=Requires at least 15 heat to process$The more heat on top of that, the faster it runs$Heat going over maximum speed will have no effect$Short-lived pellets may decay desc.gui.rtg.heat=§eCurrent heat level: %s @@ -999,7 +1061,11 @@ desc.item.kitArmor=Armor will be displaced by new set. desc.item.kitHaz=Armor will be displaced by hazmat suit. desc.item.kitPack=What a bargain! desc.item.kitPool=Please empty inventory before opening! -desc.item.pileRod=§eUse on drilled graphite to insert$§eUse screwdriver to extract$ +desc.item.pileRod=§eUse on drilled graphite to insert$§eUse screwdriver to extract$ +desc.item.pipette.corrosive=Can handle corrosive liquids. +desc.item.pipette.laboratory=Now with 50x more precision! +desc.item.pipette.noCorrosive=§eCannot handle corrosive liquids. +desc.item.pipette.noEmpty=§ePipette not empty! desc.item.rtgDecay=Decays to: %s desc.item.rtgHeat=Power Level: %s desc.item.storage.capacity=Capacity %s%%s @@ -1035,6 +1101,7 @@ entity.entity_glyphid_blaster.name=Glyphid Blaster entity.entity_glyphid_bombardier.name=Glyphid Bombardier entity.entity_glyphid_brawler.name=Glyphid Brawler entity.entity_glyphid_brenda.name=Brenda +entity.entity_glyphid_digger.name=Glyphid Digger entity.entity_glyphid_nuclear.name=Big Man Johnson entity.entity_glyphid_scout.name=Glyphid Scout entity.entity_ntm_fbi.name=FBI Agent @@ -1048,6 +1115,7 @@ entity.entity_mob_nuclear_creeper.name=Nuclear Creeper entity.entity_mob_phosgene_creeper.name=Phosgene Creeper entity.entity_mob_tainted_creeper.name=Tainted Creeper entity.entity_mob_volatile_creeper.name=Volatile Creeper +entity.entity_parasite_maggot.name=Parasitic Maggot entity.entity_pigeon.name=Pigeon entity.entity_plastic_bag.name=Plastic Bag entity.entity_taint_crab.name=Taint Crab @@ -1070,6 +1138,7 @@ flare.valve=Flow Valve fluid.acid_fluid=Acid fluid.corium_fluid=Corium fluid.mud_fluid=Poisonous Mud +fluid.rad_lava_fluid=Volcanic Lava fluid.schrabidic_fluid=Schrabidic Acid fluid.toxic_fluid=Stereotypical Green Ooze fluid.volcanic_lava_fluid=Volcanic Lava @@ -1295,6 +1364,7 @@ hbmfluid.colloid=Colloid hbmfluid.coolant=Coolant hbmfluid.coolant_hot=Hot Coolant hbmfluid.crackoil=Cracked Oil +hbmfluid.crackoil_ds=Desulfurized Cracked Oil hbmfluid.cryogel=Cryogel hbmfluid.death=Osmiridic Solution hbmfluid.deuterium=Deuterium @@ -1322,7 +1392,9 @@ hbmfluid.heavywater_hot=Hot Heavy Water hbmfluid.helium3=Helium-3 hbmfluid.helium4=Helium-4 hbmfluid.hotcrackoil=Hot Cracked Oil +hbmfluid.hotcrackoil_ds=Desulfurized Hot Cracked Oil hbmfluid.hotoil=Hot Crude Oil +hbmfluid.hotoil_ds=Desulfurized Hot Crude Oil hbmfluid.hotsteam=Dense Steam hbmfluid.hydrogen=Liquid Hydrogen hbmfluid.iongel=Ionic Gel @@ -1331,6 +1403,7 @@ hbmfluid.kerosene_reform=Jet Fuel hbmfluid.lava=Lava hbmfluid.lightoil=Light Oil hbmfluid.lightoil_crack=Cracked Light Oil +hbmfluid.lightoil_ds=Desulfurized Light Oil hbmfluid.lightoil_vacuum=Vacuum Light Oil hbmfluid.lpg=LPG hbmfluid.lubricant=Engine Lubricant @@ -1341,18 +1414,22 @@ hbmfluid.mustardgas=Mustard Gas hbmfluid.naphtha=Naphtha hbmfluid.naphtha_coker=Coker Naphtha hbmfluid.naphtha_crack=Cracked Naphtha +hbmfluid.naphtha_ds=Desulfurized Naphtha hbmfluid.nitan=NITAN© 100 Octane Super Fuel hbmfluid.nitric_acid=Nitric Acid hbmfluid.nitroglycerin=Nitroglycerin hbmfluid.none=None hbmfluid.oil=Crude Oil hbmfluid.oil_coker=Coker Oil +hbmfluid.oil_ds=Desulfurized Crude Oil hbmfluid.oxygen=Liquid Oxygen hbmfluid.oxyhydrogen=Oxyhydrogen hbmfluid.pain=Pandemonium(III)tantalite Solution hbmfluid.petroil=Petroil hbmfluid.petroil_leaded=Leaded Petroil hbmfluid.petroleum=Petroleum Gas +hbmfluid.pheromone=Booster Pheromone +hbmfluid.pheromone_m=Modified Booster Pheromone hbmfluid.phosgene=Phosgene hbmfluid.plasma_bf=Balefire Plasma hbmfluid.plasma_dh3=Deuterium-Helium-3 Plasma @@ -1381,6 +1458,7 @@ hbmfluid.solvent=Solvent hbmfluid.sourgas=Sour Gas hbmfluid.spentsteam=Low-Pressure Steam hbmfluid.steam=Steam +hbmfluid.stellar_flux=Stellar Flux hbmfluid.sulfuric_acid=Sulfuric Acid hbmfluid.sunfloweroil=Sunflower Seed Oil hbmfluid.superhotsteam=Super Dense Steam @@ -1400,6 +1478,9 @@ hbmfluid.woodoil=Wood Oil hbmfluid.xenon=Xenon Gas hbmfluid.xpjuice=Experience Juice hbmfluid.xylene=BTX + + + hbmpseudofluid.none=Empty hbmpseudofluid.heuf6=Highly Enriched UF6 hbmpseudofluid.meuf6=Medium Enriched UF6 @@ -1416,10 +1497,12 @@ hbmmat.americiumrg=Reactor-Grade Americium hbmmat.americium241=Americium-241 hbmmat.americium242=Americium-242 hbmmat.arsenic=Arsenic +hbmmat.arsenicbronze=Arsenic Bronze hbmmat.asbestos=Asbestos hbmmat.bakelite=Bakelite hbmmat.beryllium=Beryllium hbmmat.bismuth=Bismuth +hbmmat.bismuthbronze=Bismuth Bronze hbmmat.borax=Borax hbmmat.boron=Boron hbmmat.cadmium=Cadmium @@ -1762,7 +1845,6 @@ item.ams_muzzle.desc=...it emits an energy-beam thingy. item.analysis_tool.name=Analysis Tool item.analyzer.name=Analyzer item.anchor_remote.name=Recall Device -item.antiknock.name=Tetraethyllead Antiknock Agent item.apple_euphemium.name=Euphemium Apple item.apple_lead.name=Lead Apple item.apple_schrabidium.name=Schrabidium Apple @@ -1918,6 +2000,7 @@ item.biomass_compressed.name=Compressed Biomass item.bismuth_boots.name=Bismuth Sandals item.bismuth_helmet.name=Bismuth Headdress item.bismuth_legs.name=Bismuth Kneeguards +item.bismuth_axe.name=Bismuth Axe item.bismuth_pickaxe.name=Bismuth Pickaxe item.bismuth_plate.name=Bismuth Shoulderpads, Necklace & Loincloth item.bismuth_tool.name=Magnetic Extractor @@ -1943,14 +2026,16 @@ item.bobmazon_machines.name=Bobmazon: Blocks and Machines item.bobmazon_materials.name=Bobmazon: Materials item.bobmazon_tools.name=Bobmazon: Tools item.bobmazon_weapons.name=Bobmazon: Weapons and Explosives +item.boltntm.name=%s Bolt item.bolt_compound.name=Reinforced Turbine Shaft -item.bolt_dura_steel.name=High-Speed Steel Bolt -item.bolt_tungsten.name=Tungsten Bolt +item.bolt_spike.name=Railroad Spike +item.bolt_spike.desc=Radiates a threatening aura, somehow item.boltgun.name=Pneumatic Rivet Gun item.bomb_caller.name=Airstrike Designator item.bomb_waffle.name=Waffle of Mass Destruction item.book_guide.name=Guide Book item.book_of_.name=The Book of Boxcars +item.book_lemegeton.name=Lemegeton item.book_secret.name=3-596-50802-9 item.bottle2_empty.name=Empty Bottle item.bottle2_fritz.name=Fritz Cola @@ -2058,7 +2143,7 @@ item.canned_pizza.desc=A crime against humanity. item.canned_recursion.name=Canned Recursion item.canned_recursion.desc=Canned Recursion item.canned_spam.name=Canned Spam -item.canned_spam.desc=The three-and-a-half-minute sketch is set in the fictional Green Midget Cafe in Bromley.$An argument develops between the waitress, who recites a menu in which nearly$every dish contains Spam, and Mrs. Bun, who does not like Spam. She asks for a$dish without Spam, much to the amazement of her Spam-loving husband. The waitress$responds to this request with disgust. Mr. Bun offers to take her Spam instead,$and asks for a dish containing a lot of Spam and baked beans. The waitress says$no since they are out of baked beans; when Mr. Bun asks for a substitution of Spam,$the waitress again responds with disgust. At several points, a group of Vikings in$the restaurant interrupts conversation by loudly singing about Spam.$The irate waitress orders them to shut up, but they resume singing more loudly.$A Hungarian tourist comes to the counter, trying to order by using a wholly$inaccurate Hungarian/English phrasebook (a reference to a previous sketch).$He is rapidly escorted away by a police constable. The sketch abruptly cuts to a$historian in a television studio talking about the origin of the Vikings in the café.$As he goes on, he begins to increasingly insert the word \"Spam\" into every$sentence, and the backdrop is raised to reveal the restaurant set behind.$The historian joins the Vikings in their song, and Mr. and Mrs. Bun are lifted by$wires out of the scene while the singing continues. In the original televised performance,$the closing credits begin to scroll with the singing still audible in the background. +item.canned_spam.desc=The three-and-a-half-minute sketch is set in the fictional Green Midget Cafe in Bromley.$An argument develops between the waitress, who recites a menu in which nearly$every dish contains Spam, and Mrs. Bun, who does not like Spam. She asks for a$dish without Spam, much to the amazement of her Spam-loving husband. The waitress$responds to this request with disgust. Mr. Bun offers to take her Spam instead,$and asks for a dish containing a lot of Spam and baked beans. The waitress says$no since they are out of baked beans; when Mr. Bun asks for a substitution of Spam,$the waitress again responds with disgust. At several points, a group of Vikings in$the restaurant interrupts conversation by loudly singing about Spam.$The irate waitress orders them to shut up, but they resume singing more loudly.$A Hungarian tourist comes to the counter, trying to order by using a wholly$inaccurate Hungarian/English phrasebook (a reference to a previous sketch).$He is rapidly escorted away by a police constable. The sketch abruptly cuts to a$historian in a television studio talking about the origin of the Vikings in the café.$As he goes on, he begins to increasingly insert the word "Spam" into every$sentence, and the backdrop is raised to reveal the restaurant set behind.$The historian joins the Vikings in their song, and Mr. and Mrs. Bun are lifted by$wires out of the scene while the singing continues. In the original televised performance,$the closing credits begin to scroll with the singing still audible in the background. item.canned_stew.name=Canned "Mushroom Stew" item.canned_stew.desc=... item.canned_tomato.name=Canned Tomato Soup @@ -2091,6 +2176,8 @@ item.cape_nostalgia.name=DrNostalgia's Cape item.cape_radiation.name=Cape (Radiation) item.cape_schrabidium.name=Cape (Schrabidic) item.cape_vertice.name=Lord Vertice's Cape +item.card_aos.name=Ace of Spades +item.card_qos.name=Queen of Spades item.cart.crate.name=Crate Cart item.cart.destroyer.name=Scrap Destroying Cart item.cart.empty.name=Minecart @@ -2138,6 +2225,7 @@ item.chemistry_set_boron.name=Laboratory Glassware (Boron Glass) item.chemistry_template.name=Chemistry Template: item.chernobylsign.name=Chernobyl Warning Sign Battle Axe item.chlorine_pinwheel.name=Chlorine Pinwheel +item.chlorophyte_axe.name=Chlorophyte Axe item.chlorophyte_pickaxe.name=Chlorophyte Pickaxe item.chocolate.name=Ithis-Brand Radium Chocolate item.chocolate.desc=Radium Chocolate? Pretty sure this is just meth. @@ -2149,6 +2237,7 @@ item.chopper_head.name=Hunter Chopper Cockpit item.chopper_tail.name=Hunter Chopper Tail item.chopper_torso.name=Hunter Chopper Body item.chopper_wing.name=Hunter Chopper Wing +item.chunk_ore.rare.name=Rare Earth Ore Chunk item.cigarette.name=FFI-Brand Cigarette item.cinnebar.name=Cinnabar item.circuit_aluminium.name=Basic Circuit @@ -2163,10 +2252,12 @@ item.circuit_red_copper.name=Advanced Circuit item.circuit_schrabidium.name=High Performance Circuit item.circuit_star.name=StarControl Circuit Board item.circuit_star.desc=Currently unused, for it lacks an operating system. +item.circuit_star_component.card.name=StarControl Extension Card item.circuit_star_component.chipset.name=StarControl Chipset item.circuit_star_component.cpu.name=StarControl CPU item.circuit_star_component.ram.name=StarControl RAM item.circuit_star_piece.board_blank.name=SC - Printed Circuit Board +item.circuit_star_piece.board_converter.name=SC - Voltage Converter item.circuit_star_piece.board_transistor.name=SC - Transistors item.circuit_star_piece.bridge_bios.name=SC- BIOS Chip item.circuit_star_piece.bridge_bus.name=SC - BUS @@ -2175,6 +2266,8 @@ item.circuit_star_piece.bridge_cmos.name=SC - CMOS RAM item.circuit_star_piece.bridge_io.name=SC - IO Chip item.circuit_star_piece.bridge_north.name=SC - North Bridge item.circuit_star_piece.bridge_south.name=SC - South Bridge +item.circuit_star_piece.card_board.name=SC - Extension Card Board +item.circuit_star_piece.card_processor.name=SC - Extension Card Processor item.circuit_star_piece.cpu_cache.name=SC - CPU Cache item.circuit_star_piece.cpu_clock.name=SC - CPU Clock item.circuit_star_piece.cpu_ext.name=SC - Arsenic Semi Conductor Extension @@ -2358,7 +2451,7 @@ item.debris_fuel.name=RBMK Fuel Chunk item.debris_graphite.name=Hot Graphite Chunk item.debris_metal.name=Broken Metal Bar item.debris_shrapnel.name=Walkway Shrapnel -item.definitelyfood.name=TotallyNotDirt-Brand MRE +item.definitelyfood.name=MRE item.defuser.name=High-Tech Bomb Defusing Device item.defuser_gold.name=Golden Wire Cutter item.demon_core_closed.name=Closed Demon Core @@ -2384,6 +2477,8 @@ item.dieselsuit_helmet.name=Diesel-Powered Head-Mounted Environmental Sensor item.dieselsuit_legs.name=Diesel-Powered Leg Servos item.dieselsuit_plate.name=Diesel-Powered Cybernetics item.digamma_diagnostic.name=Digamma Diagnostic +item.disperser_canister.name= Disperser Canister: +item.disperser_canister_empty.name= Disperser Canister item.dns_boots.name=DNT Nano Suit Boots item.dns_legs.name=DNT Nano Suit Leggings item.dns_helmet.name=DNT Nano Suit Helmet @@ -2395,6 +2490,7 @@ item.dnt_plate.name=dineutrom chestplate item.door_bunker.name=Bunker Door item.door_metal.name=Metal Door item.door_office.name=Office Door +item.door_red.name=Red Door item.dosimeter.name=Dosimeter item.drax.name=Terra Drill item.drax_mk2.name=Hardened Terra Drill @@ -2411,16 +2507,22 @@ item.drillbit_tcalloy.name=Technetium Steel Drillbit item.drillbit_tcalloy_diamond.name=Technetium Steel Drillbit (Diamond-Tipped) item.drill_titanium.name=Titanium Drill item.drone.patrol.name=Transport Drone +item.drone.patrol.desc=Follows a route of waypoints$Tries to load/unload every time it reaches a drone crate$Right click on top of a drone crate to place. item.drone.patrol_chunkloading.name=Chunkloading Transport Drone +item.drone.patrol_chunkloading.desc=Follows a route of waypoints$Tries to load/unload every time it reaches a drone crate$Right click on top of a drone crate to place.$Loads chunks! item.drone.patrol_express.name=Express Transport Drone +item.drone.patrol_express.desc=Follows a route of waypoints$Tries to load/unload every time it reaches a drone crate$Right click on top of a drone crate to place. item.drone.patrol_express_chunkloading.name=Chunkloading Express Transport Drone +item.drone.patrol_express_chunkloading.desc=Follows a route of waypoints$Tries to load/unload every time it reaches a drone crate$Right click on top of a drone crate to place.$Loads chunks! item.drone.request.name=Logistics Drone +item.drone.request.desc=Used by logistics drone docks to spawn logistics drones$Drones will follow logistics drone waypoints$After completing a request, the drone will return to the dock. item.drone_linker.name=Transport Drone Linker item.ducttape.name=Duct Tape item.dust.name=Dust item.dust.desc=I hate dust! item.dust.desc.P11=Another one bites the dust! item.dust_tiny.name=Tiny Pile of Dust +item.dwarven_pickaxe.name=Dwarven Pickaxe item.dynosphere_base.name=Blank Dynosphere item.dynosphere_desh.name=Desh Dynosphere item.dynosphere_desh_charged.name=Desh Dynosphere (Charged) @@ -2493,8 +2595,8 @@ item.fluid_barrel_infinite.name=Infinite Fluid Barrel item.fluid_duct.name=Fluid Duct: item.fluid_identifier.name=Fluid Identifier item.fluid_identifier.info=Universal fluid identifier for: -item.fluid_identifier.usage0=Right click fluid ducts to designate them for that fluid. -item.fluid_identifier.usage1=Shift right click fluid ducts to designate adjacent ducts +item.fluid_identifier.usage0=Right click fluid ducts to set their fluid type. +item.fluid_identifier.usage1=Shift right click fluid ducts to set adjacent ducts item.fluid_identifier.usage2=up to a maximum range of 64 ducts. item.fluid_identifier_multi.name=Multi Fluid Identifier item.fluid_identifier_multi.info=Universal fluid identifier for: @@ -2521,6 +2623,8 @@ item.fragment_lanthanium.name=Lanthanium Fragment item.fragment_meteorite.name=Meteorite Fragment item.fragment_neodymium.name=Neodymium Fragment item.fragment_niobium.name=Niobium Fragment +item.fuel_additive.antiknock.name=Tetraethyllead Antiknock Agent +item.fuel_additive.deicer.name=Deicer item.fuel_tank_large.name=Large Fuel Tank item.fuel_tank_medium.name=Medium Fuel Tank item.fuel_tank_small.name=Small Fuel Tank @@ -2554,6 +2658,7 @@ item.gear_large.name=Large Gear item.gear_large_steel.name=Large Steel Gear item.geiger_counter.name=Handheld Geiger Counter item.gem_alexandrite.name=Alexandrite +item.gem_rad.name=Radioactive Gem item.gem_sodalite.name=Sodalite item.gem_tantalium.name=Tantalium Polycrystal item.gem_tantalium.desc='Tantalum' @@ -2571,7 +2676,7 @@ item.grenade_black_hole.name=Black Hole Grenade item.grenade_breach.name=Breaching Grenade item.grenade_burst.name=Digger Grenade item.grenate_cats.name=Grenade of Cats -item.grenade_cloud.name=Jar of Cloud +item.grenade_cloud.name=Jar of Corrosive Fumes item.grenade_cluster.name=Cluster Bomb item.grenade_electric.name=Lightning Bomb item.grenade_fire.name=Flame Frag Grenade @@ -2610,6 +2715,8 @@ item.grenade_smart.name=Smart Grenade item.grenade_strong.name=Enhanced Grenade item.grenade_tau.name=Tau Grenade item.grenade_zomg.name=Negative Energy Pair Annihilation Grenade +item.glyphid_gland.name= Gland +item.glyphid_gland_empty.name= Glyphid's Fluid Gland item.gun_ar15.name=Josh item.gun_avenger.name=CZ57 Avenger Minigun item.gun_b92.name=§9B92 Energy Pistol§r @@ -2703,7 +2810,7 @@ item.gun_revolver_nightmare.name=Nightmare Revolver (Original) item.gun_revolver_nightmare2.name=Nightmare Revolver (Dark) item.gun_revolver_nightmare2_ammo.name=Laser Buckshot item.gun_revolver_nightmare_ammo.name=Nightmare Bullet -item.gun_revolver_nopip.name=Novac +item.gun_revolver_nopip.name=Heavy Revolver item.gun_revolver_nopip_ammo.name=.44 Magnum Bullet (LEGACY) item.gun_revolver_pip.name=Lil' Pipsqueak item.gun_revolver_pip_ammo.name=Tainted Bullet (LEGACY) @@ -2779,6 +2886,9 @@ item.hull_big_titanium.name=Big Titanium Shell item.hull_small_aluminium.name=Small Aluminium Shell item.hull_small_aluminium.desc=Can be inserted into drilled graphite item.hull_small_steel.name=Small Steel Shell +item.icf_pellet.name=ICF Fuel Pellet +item.icf_pellet_depleted.name=Depleted ICF Fuel Pellet +item.icf_pellet_empty.name=Empty ICF Fuel Pellet item.igniter.name=Igniter item.igniter.desc=(Used by right-clicking the Prototype)$It's a green metal handle with a$bright red button and a small lid.$At the bottom, the initials N.E. are$engraved. Whoever N.E. was, he had$a great taste in shades of green. item.industrial_magnet.name=Industrial Magnet @@ -2799,6 +2909,7 @@ item.ingot_am241.name=Americium-241 Ingot item.ingot_am242.name=Americium-242 Ingot item.ingot_americium_fuel.name=Ingot of Americium Fuel item.ingot_arsenic.name=Arsenic Ingot +item.ingot_arsenic_bronze.name=Arsenic Bronze Ingot item.ingot_asbestos.name=Asbestos Sheet item.ingot_asbestos.desc=§o"Filled with life, self-doubt and asbestos. That comes with the air."§r item.ingot_au198.name=Gold-198 Ingot @@ -2807,6 +2918,7 @@ item.ingot_bakelite.name=Bakelite Bar item.ingot_beryllium.name=Beryllium Ingot item.ingot_biorubber.name=Latex Bar item.ingot_bismuth.name=Bismuth Ingot +item.ingot_bismuth_bronze.name=Bismuth Bronze Ingot item.ingot_boron.name=Boron Ingot item.ingot_c4.name=Bar of Composition C-4 item.ingot_cadmium.name=Cadmium Ingot @@ -2934,6 +3046,9 @@ item.key_kit.name=Key Imitation Kit item.key_red.name=Red Key item.key_red.desc=Explore the other side. item.key_red.desc.P11=§4e§r +item.key_red_cracked.name=Cracked Key +item.key_red_cracked.desc=??? +item.key_red.key_red_cracked.P11=§4???§r item.kit_toolbox.name=Toolbox item.kit_toolbox_empty.name=Empty Toolbox item.laser_crystal_bismuth.desc=Bismuth-Samarium-Uranium-Thorium crystal matrix @@ -2945,6 +3060,9 @@ item.laser_crystal_co2.name=CO2-Desh Laser Crystal item.laser_crystal_digamma.name=Digamma Laser Crystal item.laser_crystal_dnt.desc=Dineutronium-Spark Fermion Supercrystal item.laser_crystal_dnt.name=Spark Laser Crystal +item.launch_code.name=Silo Launch Code +item.launch_code_piece.name=Silo Launch Code Piece +item.launch_key.name=Silo Launch Key item.lead_gavel.name=Leaden Gavel item.lemon.name="Lemon" item.letter.name=Express Mail @@ -2984,7 +3102,7 @@ item.mechanism_revolver_2.name=Advanced Revolver Mechanism item.mechanism_rifle_1.name=Rifle Mechanism item.mechanism_rifle_2.name=Advanced Rifle Mechanism item.mechanism_special.name=High-Tech Weapon Mechanism -item.med_bag.name=Doctor's Bag +item.med_bag.name=First Aid Kit item.med_ipecac.name=Ipecac Syrup item.med_ptsd.name=PTSD Medication item.med_schiziphrenia.name=Schizophrenia Medication @@ -2993,6 +3111,7 @@ item.meltdown_tool.name=Dyatlov Instant Meltdown Applicator item.memespoon.name=§eMarket Gardener item.memory.name=item.null.name item.mese_gavel.name=Mese Gavel +item.mese_axe.name=Mese Axe item.mese_pickaxe.name=Mese Pickaxe item.meteor_charm.name=Meteor Charm item.meteor_remote.name=Meteorite Remote @@ -3027,6 +3146,7 @@ item.missile_cluster_strong.name=Strong Cluster Missile item.missile_custom.name=Custom Missile item.missile_decoy.name=Decoy Missile item.missile_doomsday.name=Doomsday Missile +item.missile_doomsday_rusted.name=Damaged Doomsday Missile item.missile_drill.name=The Concrete Cracker item.missile_emp.name=EMP Missile item.missile_emp_strong.name=Strong EMP Missile @@ -3043,27 +3163,10 @@ item.missile_nuclear_cluster.name=Thermonuclear Missile item.missile_rain.name=Bomblet Rain item.missile_schrabidium.name=Schrabidium Missile item.missile_shuttle.name=Reliant Robin Space Shuttle -item.missile_skin_camo.name=Missile Skin: Camo -item.missile_skin_color.desc=I can't find my missile anymore! -item.missile_skin_desert.name=Missile Skin: Desert Camo -item.missile_skin_desert.desc=Looks like sand, tastes like metal. -item.missile_skin_flames.name=Missile Skin: Sick Flames -item.missile_skin_flames.desc=Radical! -item.missile_skin_manly_pink.name=Missile Skin: Manly Pink -item.missile_skin_manly_pink.desc=Pink, the manliest color of them all. -item.missile_skin_metal.name=Missile Skin: Metal -item.missile_skin_metal.desc=Metal sheets and metal bolts, reinforced with metal. -item.missile_skin_orange_insulation.name=Missile Skin: Orange Insulation -item.missile_skin_orange_insulation.desc=Not an orange juice bottle;$do not attempt to drink contents. -item.missile_skin_sleek.name=Missile Skin: IF-R&D -item.missile_skin_sleek.desc=Chevrons are cool! -item.missile_skin_soviet_glory.name=Missile Skin: Soviet Glory -item.missile_skin_soviet_glory.desc=услуга перевода недоступна -item.missile_skin_soviet_stank.name=Missile Skin: Soviet Stank -item.missile_skin_soviet_stank.desc=This one's got the real 60's stank to it. item.missile_soyuz.name=Soyuz-FG item.missile_soyuz_lander.name=Orbital Module item.missile_soyuz_lander.desc=Doubles as a crappy lander! +item.missile_stealth.name=Stealth Missile item.missile_strong.name=Strong HE Missile item.missile_taint.name=Taint-Tipped Missile item.missile_volcano.name=Tectonic Missile @@ -3321,6 +3424,7 @@ item.ore.gold=Gold item.ore.hematite=Hematite item.ore.iron=Iron item.ore.malachite=Malachite +item.ore.neodymium=Neodymium item.ore.niobium=Niobium item.ore.titanium=Titanium item.ore.tungsten=Tungsten @@ -3473,6 +3577,7 @@ item.pill_herbal.desc=Effective treatment against lung disease and mild radiatio item.pill_red.name=Red Pill item.pin.name=Bobby Pin item.pin.desc=Standard success rate of picking a regular lock is ~10%%. +item.pipentm.name=%s Pipe item.pipes_steel.name=Steel Pipes item.pipes_steel.desc=Uncrafting was omitted due to tax evasion. item.piston_selenium.name=Combustion Engine Piston @@ -3502,6 +3607,7 @@ item.plate_copper.name=Copper Plate item.plate_dalekanium.name=Angry Metal item.plate_desh.name=Desh Compound Plate item.plate_dineutronium.name=Dineutronium Compound Plate +item.plate_dura_steel.name=High-Speed Steel Plate item.plate_euphemium.name=Euphemium Compound Plate item.plate_fuel_mox.name=MOX Plate Fuel item.plate_fuel_pu238be.name=Pu238Be Plate Fuel @@ -3529,7 +3635,7 @@ item.powder_actinium_tiny.name=Tiny Pile of Actinium Powder item.powder_advanced_alloy.name=Advanced Alloy Powder item.powder_aluminium.name=Aluminium Powder item.powder_asbestos.name=Asbestos Powder -item.powder_asbestos.desc=§o\"Sniffffffff- MHHHHHHMHHHHHHHHH\"§r +item.powder_asbestos.desc=§o"Sniffffffff- MHHHHHHMHHHHHHHHH"§r item.powder_ash.coal.name=Coal Ash item.powder_ash.fly.name=Fly Ash item.powder_ash.fullerene.name=Fullerene @@ -3599,6 +3705,7 @@ item.powder_magic.name=Pulverized Enchantment item.powder_magnetized_tungsten.name=Magnetized Tungsten Powder item.powder_meteorite.name=Meteorite Powder item.powder_meteorite_tiny.name=Tiny Pile of Meteorite Powder +item.powder_molysite.name=Molysite item.powder_neodymium.name=Neodymium Powder item.powder_neodymium_tiny.name=Tiny Pile of Neodymium Powder item.powder_neptunium.name=Neptunium Powder @@ -3647,6 +3754,9 @@ item.powder_xe135_tiny.name=Tiny Pile of Xenon-135 Powder item.powder_yellowcake.name=Yellowcake item.powder_zirconium.name=Zirconium Powder item.power_net_tool.name=Cable Network Analysis Tool +item.pipette.name=Pipette +item.pipette_boron.name=Boron Pipette +item.pipette_laboratory.name=Laboratory Grade Pipette item.primer_357.name=.357 Magnum Primer (x24) item.primer_44.name=.44 Magnum Primer (x24) item.primer_50.name=Large Caliber Primer (x12) @@ -3670,8 +3780,8 @@ item.pwr_fuel.men.name=MEN PWR Fuel Rod item.pwr_fuel.mep.name=MEP PWR Fuel Rod item.pwr_fuel.meu.name=MEU PWR Fuel Rod item.pwr_fuel.mox.name=MOX PWR Fuel Rod -item.pwr_fuel_depleted.bfb_am_mix.name=Depleted Fuel Grade Americium PWR ZFB Rod -item.pwr_fuel_depleted.bfb_pu241.name=Depleted Plutonium-241 PWR ZFB Rod +item.pwr_fuel_depleted.bfb_am_mix.name=Depleted Fuel Grade Americium PWR BFB Rod +item.pwr_fuel_depleted.bfb_pu241.name=Depleted Plutonium-241 PWR BFB Rod item.pwr_fuel_depleted.hea242.name=Depleted HEA-242 PWR Fuel Rod item.pwr_fuel_depleted.hen237.name=Depleted HEN-237 PWR Fuel Rod item.pwr_fuel_depleted.hep239.name=Depleted HEP-239 PWR Fuel Rod @@ -3685,8 +3795,8 @@ item.pwr_fuel_depleted.men.name=Depleted MEN PWR Fuel Rod item.pwr_fuel_depleted.mep.name=Depleted MEP PWR Fuel Rod item.pwr_fuel_depleted.meu.name=Depleted MEU PWR Fuel Rod item.pwr_fuel_depleted.mox.name=Depleted MOX PWR Fuel Rod -item.pwr_fuel_hot.bfb_am_mix.name=Hot Fuel Grade Americium PWR ZFB Rod -item.pwr_fuel_hot.bfb_pu241.name=Hot Plutonium-241 PWR ZFB Rod +item.pwr_fuel_hot.bfb_am_mix.name=Hot Fuel Grade Americium PWR BFB Rod +item.pwr_fuel_hot.bfb_pu241.name=Hot Plutonium-241 PWR BFB Rod item.pwr_fuel_hot.hea242.name=Hot HEA-242 PWR Fuel Rod item.pwr_fuel_hot.hen237.name=Hot HEN-237 PWR Fuel Rod item.pwr_fuel_hot.hep239.name=Hot HEP-239 PWR Fuel Rod @@ -3994,6 +4104,7 @@ item.sat_base.name=Satellite Base item.sat_chip.name=Satellite ID-Chip item.sat_coord.name=Satellite Designator item.sat_designator.name=Satellite Laser Designator +item.sat_relay.name=Satellite Radar Relay item.sat_foeq.name=PEAF - Mk.I FOEQ Duna Probe with experimental Nuclear Propulsion item.sat_gerald.name=Gerald The Construction Android item.sat_head_laser.name=Death Ray @@ -4041,6 +4152,7 @@ item.serum.name=Serum item.servo_set.name=Servo Set item.servo_set_desh.name=Desh Servo Set item.shackles.name=Shackles +item.shellntm.name=%s Shell item.shimmer_axe.name=Shimmer Axe item.shimmer_axe_head.name=Heavy Axe Head item.shimmer_handle.name=Reinforced Polymer Handle @@ -4053,6 +4165,7 @@ item.singularity_spark.name=Spark Singularity item.singularity_super_heated.name=Superheated Resonating Singularity item.siox.name=SiOX Cancer Medication item.siox.desc=Reverses mesothelioma with the power of Asbestos! +item.siphon.name=Siphon item.siren_track.name=Siren Track item.sliding_blast_door_skin.0.name=Sliding Blast Door Skin: Default item.sliding_blast_door_skin.1.name=Sliding Blast Door Skin: Variant 1 @@ -4247,6 +4360,7 @@ item.upgrade_fortune_2.name=Fortune Upgrade Mk.II item.upgrade_fortune_3.name=Fortune Upgrade Mk.III item.upgrade_gc_speed.name=Gas Centrifuge Overclocking Upgrade item.upgrade_health.name=Emitter Health Upgrade +item.upgrade_muffler.name=Muffler item.upgrade_nullifier.name=Scrap Destroyer Upgrade item.upgrade_overdrive_1.name=Overdrive Upgrade Mk.I item.upgrade_overdrive_2.name=Overdrive Upgrade Mk.II @@ -4266,6 +4380,7 @@ item.upgrade_stack_2.name=Stack Ejection Upgrade Mk.II item.upgrade_stack_3.name=Stack Ejection Upgrade Mk.III item.upgrade_template.name=Machine Upgrade Template item.v1.name=V1 +item.volcanic_axe.name=Molten Axe item.volcanic_pickaxe.name=Molten Pickaxe item.wand_d.name=Debug Wand item.wand_k.name=Construction Wand @@ -4447,8 +4562,10 @@ shape.ingot=Ingot shape.nugget=Nugget shape.quantum=Quantum shape.quart=Quarter Block +shape.ntmpipe=Pipe shape.plate=Plate shape.plateTriple=Cast Plate +shape.shell=Shell shape.stamp=Press Stamp shape.wire=Wire shape.wireDense=Dense Wire @@ -4465,7 +4582,10 @@ tile.ams_base.name=AMS Base (Deco) tile.ams_emitter.name=AMS Emitter (Deco) tile.ams_limiter.name=AMS Stabilizer (Deco) tile.ancient_scrap.name=Ancient Scrap Metal +tile.anvil_arsenic_bronze.name=Arsenic Bronze Anvil tile.anvil_bismuth.name=Bismuth Anvil +tile.anvil_bismuth_bronze.name=Bismuth Bronze Anvil +tile.anvil_desh.name=Desh Anvil tile.anvil_dnt.name=Dineutronium Anvil tile.anvil_ferrouranium.name=Ferrouranium Anvil tile.anvil_iron.name=Iron Anvil @@ -4473,6 +4593,7 @@ tile.anvil_lead.name=Lead Anvil tile.anvil_meteorite.name=Meteorite Anvil tile.anvil_murky.name=Murky Anvil tile.anvil_osmiridium.name=Osmiridium Anvil +tile.anvil_saturnite.name=Saturnite Anvil tile.anvil_schrabidate.name=Ferric Schrabidate Anvil tile.anvil_starmetal.name=Starmetal Anvil tile.anvil_steel.name=Steel Anvil @@ -4483,7 +4604,7 @@ tile.barbed_wire.name=Barbed Wire tile.barbed_wire_acid.name=Caustic Barbed Wire tile.barbed_wire_fire.name=Flaming Barbed Wire tile.barbed_wire_poison.name=Poisoned Barbed Wire -tile.barbed_wire_ultradeath.name=Cloud Barbed Wire +tile.barbed_wire_ultradeath.name=Radioactive Barbed Wire tile.barbed_wire_wither.name=Withered Barbed Wire tile.barrel_antimatter.name=Magnetic Antimatter Container tile.barrel_corroded.name=Corroded Barrel @@ -4493,13 +4614,9 @@ tile.barrel_steel.name=Steel Barrel tile.barrel_tcalloy.name=Technetium Steel Barrel tile.barricade.name=Sand Bags tile.basalt.name=Basalt -tile.basalt_asbestos.name=Asbestos-Rich Basalt tile.basalt_brick.name=Basalt Bricks -tile.basalt_fluorite.name=Fluorite-Rich Basalt -tile.basalt_gem.name=Gem-Rich Basalt tile.basalt_polished.name=Polished Basalt tile.basalt_smooth.name=Smooth Basalt -tile.basalt_sulfur.name=Sulfur-Rich Basalt tile.basalt_tiles.name=Basalt Tiles tile.blast_door.name=Sliding Blast Door tile.block_actinium.name=Block of Actinium @@ -4654,6 +4771,7 @@ tile.brick_light.name=Light Bricks tile.brick_light_stairs.name=Light Bricks Stairs tile.brick_obsidian.name=Obsidian Bricks tile.brick_obsidian_stairs.name=Obsidian Brick Stairs +tile.brick_red.name=Red Room Brick tile.brick_slab.brick_asbestos.name=Asbestos Brick Slab tile.brick_slab.brick_compound.name=Compound Mesh Slab tile.brick_slab.brick_fire.name=Firebrick Slab @@ -4707,6 +4825,8 @@ tile.cm_circuit.schrabidium.name=Tier 5 Circuit Block tile.cm_engine.bismuth.name=Bismuth Motor Block tile.cm_engine.desh.name=Desh Motor Block tile.cm_engine.standard.name=Motor Block +tile.cm_flux.name=Neutron Flux Receiver +tile.cm_heat.name=Heat receiver tile.cm_port.alloy.name=Advanced Alloy Port tile.cm_port.desh.name=Desh Port tile.cm_port.steel.name=Steel Port @@ -4779,7 +4899,7 @@ tile.corium_block.name=Corium tile.crane_boxer.name=Conveyor Boxer tile.crane_boxer.desc=Loads a configurable amount of stacks into boxes which move along conveyor belts$Right-click with screwdriver to set input side$Shift-click with screwdriver to set the output side$Click twice to set the opposite side tile.crane_extractor.name=Conveyor Ejector -tile.crane_extractor.desc=Takes items from inventories and places them on covneyor belts$Has up to 9 filter slots with black and whitelist$Right-click with screwdriver to set output side$Shift-click with screwdriver to set the input side$Click twice to set the opposite side +tile.crane_extractor.desc=Takes items from inventories and places them on conveyor belts$Has up to 9 filter slots with black and whitelist$Right-click with screwdriver to set output side$Shift-click with screwdriver to set the input side$Click twice to set the opposite side tile.crane_grabber.name=Conveyor Grabber tile.crane_grabber.desc=Takes items from passing conveyors and places them into containers$Will only take items from the closest lane$Has up to 9 filter slots with black and whitelist$Right-click with screwdriver to set input side$Shift-click with screwdriver to set the output side$Click twice to set the opposite side tile.crane_inserter.name=Conveyor Inserter @@ -4811,6 +4931,7 @@ tile.deco_aluminium.name=Aluminium Deco Block tile.deco_asbestos.name=Asbestos Roof tile.deco_beryllium.name=Beryllium Deco Block tile.deco_computer.ibm_300pl.name=IBM Personal Computer 300PL +tile.deco_crt.name=Old CRT Screen tile.deco_emitter.name=Deco Light Emitter tile.deco_lead.name=Lead Deco Block tile.deco_rbmk.name=RBMK Deco Block @@ -4842,6 +4963,7 @@ tile.deco_pipe_rim_red.name=Red Steel Pipe (Rimmed) tile.deco_pipe_rim_marked.name=Gas Pipe (Rimmed) tile.deco_steel.name=Steel Deco Block tile.deco_titanium.name=Titanium Deco Block +tile.deco_toaster.name=Broken Toaster tile.deco_tungsten.name=Tungsten Deco Block tile.decon.name=Player Decontaminator tile.depth_brick.name=Depth Bricks @@ -4862,15 +4984,20 @@ tile.dirt_dead.name=Dead Dirt tile.dirt_oily.name=Oily Dirt tile.drill_pipe.name=Drill Pipe tile.drone_crate.name=Transport Drone Crate +tile.drone_crate.desc=Loading and unloading point for transport drones.$Acts as a waypoint, has to be linked with the drone linker.$Drones must approach from a high angle, or they will get stuck. tile.drone_crate_provider.name=Logistics Provider Crate +tile.drone_crate_provider.desc=Offers items to the logistics network.$Logistics drones will try to move items from providers to requester crates. tile.drone_crate_requester.name=Logistics Requester Crate +tile.drone_crate_requester.desc=Requests items from the logistics network.$Items added to the filter will be requested, if not present in its inventory. tile.drone_dock.name=Logistics Drone Dock +tile.drone_dock.desc=Spawn point for logistics drones.$Can only detect providers and requesters within a 5 chunk radius.$Drones will only follow up to 10 waypoints per connection. tile.drone_waypoint.name=Transport Drone Waypoint tile.drone_waypoint.desc=Waypoint for transport drones$Use a transport drone linker to set the path$Click on each waypoint and crate in sequence to create the path,$then shift-click to clear the saved position$Right-click or shift-click the waypoint to change the waypoint's offset tile.drone_waypoint_request.name=Logistics Drone Waypoint tile.door_bunker.name=Bunker Door tile.door_metal.name=Metal Door tile.door_office.name=Office Door +tile.door_red.name=Red Door tile.ducrete.name=Ducrete Tile tile.ducrete_stairs.name=Ducrete Tile Stairs tile.ducrete_smooth.name=Ducrete @@ -4920,12 +5047,14 @@ tile.foundry_channel.name=Foundry Channel tile.foundry_tank.name=Foundry Storage Basin tile.foundry_mold.name=Shallow Foundry Basin tile.foundry_outlet.name=Foundry Outlet -tile.foundry_slagtap.name=Foundry Slag Outlet +tile.foundry_slagtap.name=Foundry Spill Outlet tile.fraction_spacer.name=Fractioning Tower Separator tile.frozen_dirt.name=Frozen Dirt tile.frozen_grass.name=Frozen Grass tile.frozen_log.name=Frozen Log tile.frozen_planks.name=Frozen Planks +tile.machine_furnace_brick_off.name=Bricked Furnace +tile.machine_furnace_brick_on.name=Bricked Furnace tile.furnace_combination.name=Combination Oven tile.furnace_combination.desc=A large furnace that can produce charcoal and coal coke.$Produces fluid byproducts.$Heat transfer rate: ΔT*0.25 TU/t tile.furnace_iron.name=Iron Furnace @@ -5015,7 +5144,17 @@ tile.heater_oilburner.desc=Burns fluids to produce heat.$Can be configured with tile.heater_oven.name=Heating Oven tile.heater_oven.desc=Burns solid fuel to produce heat.$Accepts heat from the bottom with 50%% efficiency. tile.hev_battery.name=Suit Battery +tile.machine_hydrotreater.name=Hydrotreater tile.impact_dirt.name=Scorched Dirt +tile.icf.name=Inertial Confinement Fusion Reactor (ICF) +tile.icf_block.name=ICF Laser +tile.icf_controller.name=ICF Laser Controller +tile.icf_laser_component.capacitor.name=ICF Laser Capacitor +tile.icf_laser_component.casing.name=ICF Laser Casing +tile.icf_laser_component.cell.name=ICF Laser Cell +tile.icf_laser_component.emitter.name=ICF Laser Flash Tube +tile.icf_laser_component.port.name=ICF Laser Port +tile.icf_laser_component.turbo.name=ICF Laser Turbocharger tile.iter.name=Fusion Reactor tile.ladder_aluminium.name=Aluminium Ladder tile.ladder_cobalt.name=Cobalt Ladder @@ -5034,7 +5173,9 @@ tile.lamp_tritium_green_off.name=Green Tritium Lamp tile.lamp_tritium_green_on.name=Green Tritium Lamp tile.lantern.name=Lantern tile.lantern_behemoth.name=Old Lantern -tile.launch_pad.name=Missile Launch Pad +tile.launch_pad.name=Silo Launch Pad +tile.launch_pad_large.name=Launch Pad +tile.launch_pad_rusted.name=Old Launch Pad tile.launch_table.name=Large Launch Pad tile.leaves_layer.name=Fallen Leaves tile.lox_barrel.name=LOX Barrel @@ -5093,6 +5234,7 @@ tile.machine_difurnace_on.name=Blast Furnace tile.machine_difurnace_rtg_off.name=Nuclear Blast Furnace tile.machine_difurnace_rtg_on.name=Nuclear Blast Furnace tile.machine_dineutronium_battery.name=Spark Energy Storage Block +tile.machine_drain.name=Drainage Pipe tile.machine_drill.name=Automatic Mining Drill tile.machine_electric_furnace_off.name=Electric Furnace tile.machine_electric_furnace_on.name=Electric Furnace @@ -5107,10 +5249,13 @@ tile.machine_fluidtank.name=Tank tile.machine_forcefield.name=Forcefield Emitter tile.machine_fraction_tower.name=Fractioning Tower tile.machine_fracking_tower.name=Hydraulic Fracking Tower +tile.machine_funnel.name=Combinator Funnel +tile.machine_funnel.desc=Automatically compresses items in a 2x2 or 3x3 crafting grid$Top: Input$Bottom: Output$Side: Output for clearing ingredients tile.machine_gascent.name=Gas Centrifuge tile.machine_generator.name=Nuclear Reactor (Old) tile.machine_geo.name=Geothermal Electric Generator tile.machine_hephaestus.name=Geothermal Heat Exchanger +tile.machine_icf_press.desc=If only there was something that would tell me how or if this thing works$Something like a changelog or something like that$Alas, I'm too fucking stupid to read something like that anyway tile.machine_industrial_boiler.name=Industrial Boiler tile.machine_industrial_boiler.desc=Large boiler that can boil water or heat up oil.$Requires external heat source.$Heat transfer rate: ΔT*0.01 TU/t$Cannot explode tile.machine_industrial_generator.name=Industrial Generator @@ -5133,6 +5278,7 @@ tile.machine_press.name=Burner Press tile.machine_puf6_tank.name=Plutonium Hexafluoride Tank tile.machine_pumpjack.name=Pumpjack tile.machine_radar.name=Radar +tile.machine_radar_large.name=Large Radar tile.machine_radgen.name=Radiation-Powered Engine tile.machine_radiolysis.name=Radioisotope Thermoelectric Generator and Radiolysis Chamber tile.machine_reactor.name=Breeding Reactor @@ -5172,6 +5318,7 @@ tile.machine_stirling_creative.desc=Turns heat into energy. Requires external he tile.machine_stirling_steel.name=Heavy Stirling Engine tile.machine_stirling_steel.desc=Turns heat into energy. Requires external heat source.$Uses a much heavier gear to support higher temperatures.$Heat transfer rate: T*0.1 TU/t$Max intake: 1500 TU/t$Efficiency: 50%% tile.machine_storage_drum.name=Nuclear Waste Disposal Drum +tile.machine_strand_caster.name=Strand Caster tile.machine_telelinker.name=Turret Telemetry Linker tile.machine_teleporter.name=Teleporter tile.machine_tower_large.name=Cooling Tower @@ -5225,10 +5372,16 @@ tile.nuke_tsar.name=Tsar Bomba tile.oil_duct.name=Oil Pipe tile.oil_duct_solid.name=Coated Oil Pipe tile.oil_pipe.name=Crude Oil Extraction Pipe +tile.oil_spill.name=Oil Spill tile.ore_alexandrite.name=Alexandrite Ore tile.ore_aluminium.name=Aluminium Ore tile.ore_asbestos.name=Asbestos Ore tile.ore_australium.name=Australian Ore +tile.ore_basalt_asbestos.name=Asbestos-Rich Basalt +tile.ore_basalt_fluorite.name=Fluorite-Rich Basalt +tile.ore_basalt_gem.name=Gem-Rich Basalt +tile.ore_basalt_molysite.name=Molysite-Rich Basalt +tile.ore_basalt_sulfur.name=Sulfur-Rich Basalt tile.ore_bedrock.name=Bedrock Ore tile.ore_bedrock_coltan.name=Bedrock Coltan Ore tile.ore_bedrock_oil.name=Bedrock Oil Deposit @@ -5285,6 +5438,11 @@ tile.ore_random.name=%s Ore tile.ore_rare.name=Rare Earth Ore tile.ore_reiium.name=Reiite tile.ore_schrabidium.name=Schrabidium Ore +tile.ore_sellafield_diamond.name=Sellafite Diamond Ore +tile.ore_sellafield_emerald.name=Sellafite Emerald Ore +tile.ore_sellafield_radgem.name=Sellafite Radioactive Gem Ore +tile.ore_sellafield_schrabidium.name=Sellafite Schrabidium Ore +tile.ore_sellafield_uranium_scorched.name=Scorched Sellafite Uranium Ore tile.ore_sulfur.name=Sulfur Ore tile.ore_tektite_osmiridium.name=Osmiridium-Infused Tektite tile.ore_thorium.name=Thorium Ore @@ -5298,6 +5456,7 @@ tile.ore_verticium.name=Dollar Green Mineral tile.ore_volcano.name=Geothermal Vent tile.ore_weidanium.name=Weidite tile.part_emitter.name=Deco Particle Emitter +tile.pedestal.name=Pedestal tile.pink_barrel.name=Kerosene Barrel tile.pink_log.name=Pink Log tile.pink_planks.name=Pink Wood Planks @@ -5343,16 +5502,21 @@ tile.pwr_fuel.name=PWR Fuel Rod tile.pwr_fuel.desc=Increases PWR fuel capacity$Placement: Grid, for increased reactivity tile.pwr_heatex.name=PWR Heat Exchanger tile.pwr_heatex.desc=Moves core heat to the hull$Placement: Any +tile.pwr_heatsink.name=PWR Heatsink +tile.pwr_heatsink.desc=Increases core heat capacity by 5%%$Makes coolant channels and heat exchangers slightly less effective$Placement: Any tile.pwr_neutron_source.name=PWR Neutron Source tile.pwr_neutron_source.desc=Adds 20 flux to the core$Placement: Any$Flux only reaches fuel rods if connections are open tile.pwr_port.name=PWR Access Port tile.pwr_port.desc=Allows item and fluid IO$Placement: Casing tile.pwr_reflector.name=PWR Neutron Reflector tile.pwr_reflector.desc=Reflects neutrons back to fuel rods$Placement: Grid, for increased reactivity$Valid casing material +tile.rad_lava_block.name=Volcanic Lava tile.radar_screen.name=Radar Screen tile.radio_telex.name=Telex Machine tile.radio_torch_counter.name=Redstone-over-Radio Item Counter tile.radio_torch_counter.desc=Placable on flat surfaces or comparator-compatible blocks$Bases signal on the amount of matching items +tile.radio_torch_logic.name=Redstone-over-Radio Logic Receiver +tile.radio_torch_logic.desc=Placable on flat surfaces or comparator-compatible blocks$Maps redstone signals to conditions evaluated in a set order$Numerical or string inputs are compared against a constant tile.radio_torch_receiver.name=Redstone-over-Radio Receiver tile.radio_torch_receiver.desc=Placable on flat surfaces or comparator-compatible blocks tile.radio_torch_sender.name=Redstone-over-Radio Transmitter @@ -5361,6 +5525,15 @@ tile.radiobox.name=Rosenberg Pest Control Box tile.radiorec.name=FM Radio tile.rail_booster.name=High Speed Booster Rail tile.rail_highspeed.name=High Speed Rail +tile.rail_large_buffer.name=Standard Gauge Buffer Stop Rail (5m) +tile.rail_large_curve.name=Standard Gauge Curve Rail (5m) +tile.rail_large_curve_7.name=Standard Gauge Curve Rail (7m) +tile.rail_large_curve_9.name=Standard Gauge Curve Rail (9m) +tile.rail_large_ramp.name=Standard Gauge Ramp Rail (5m) +tile.rail_large_straight.name=Standard Gauge Rail (5m) +tile.rail_large_straight_short.name=Standard Gauge Rail (1m) +tile.rail_large_switch.name=Standard Gauge Switch Rail (15m, Left) +tile.rail_large_switch_flipped.name=Standard Gauge Switch Rail (15m, Right) tile.rail_narrow.name=Narrow Gauge Cart Rail tile.rail_wood.name=Wooden Tracks tile.rbmk_absorber.name=RBMK Boron Neutron Absorber @@ -5375,6 +5548,7 @@ tile.rbmk_crane_console.name=RBMK Crane Console tile.rbmk_heater.name=RBMK Fluid Heater tile.rbmk_heatex.name=RBMK Heat Exchanger tile.rbmk_loader.name=RBMK Steam Connector +tile.rbmk_loader.desc=Allows RBMKs to have both water and steam connections at the bottom$Place one water pipe below the RBMK column, then the connector,$then connect the steam duct to the connector. tile.rbmk_moderator.name=RBMK Graphite Moderator tile.rbmk_outgasser.name=RBMK Irradiation Channel tile.rbmk_reflector.name=RBMK Tungsten Carbide Neutron Reflector @@ -5383,7 +5557,9 @@ tile.rbmk_rod_mod.name=RBMK Moderated Fuel Rod tile.rbmk_rod_reasim.name=RBMK Fuel Rod (ReaSim) tile.rbmk_rod_reasim_mod.name=RBMK Moderated Fuel Rod (ReaSim) tile.rbmk_steam_inlet.name=RBMK ReaSim Water Inlet +tile.rbmk_steam_inlet.desc=Inserts water into RBMK columns if ReaSim boilers are enabled$Connects to RBMK columns sideways tile.rbmk_steam_outlet.name=RBMK ReaSim Steam Outlet +tile.rbmk_steam_outlet.desc=Extracts super dense steam from RBMK columns if ReaSim boilers are enabled$Connects to RBMK columns sideways tile.rbmk_storage.name=RBMK Storage Column tile.reactor_computer.name=Reactor Control tile.reactor_conductor.name=Reactor Boiler @@ -5396,11 +5572,15 @@ tile.red_barrel.name=Explosive Barrel tile.red_cable.name=Red Copper Cable tile.red_cable_classic.name=Red Copper Cable (Classic) tile.red_cable_gauge.name=Power Gauge -tile.red_cable_gauge.desc=Cable that displays how much power$moves within the network per tick.$Split networks connected by energy$stroage blocks are considered as one shared network. +tile.red_cable_gauge.desc=Cable that displays how much power$moves within the network per tick.$Split networks connected by energy$storage blocks are considered as one shared network. tile.red_cable_paintable.name=Paintable Red Copper Cable tile.red_connector.name=Electricity Connector -tile.red_pylon.name=Electricity Pole +tile.red_pylon.name=Electricity Pylon tile.red_pylon_large.name=Large Electricity Pylon +tile.red_pylon_medium_steel.name=Medium Steel Electricity Pylon +tile.red_pylon_medium_steel_transformer.name=Medium Steel Electricity Pylon with Transformer +tile.red_pylon_medium_wood.name=Medium Wooden Electricity Pylon +tile.red_pylon_medium_wood_transformer.name=Medium Wooden Electricity Pylon with Transformer tile.red_wire_coated.name=Coated Red Copper Cable tile.reinforced_brick.name=Reinforced Stone tile.reinforced_brick_stairs.name=Reinforced Stone Stairs @@ -5447,11 +5627,17 @@ tile.sellafield.4.name=Infernal Sellafite tile.sellafield.5.name=Sellafite-Corium tile.sellafield_slaked.name=Slaked Sellafite tile.semtex.name=Semtex +tile.silo_hatch.name=Silo Hatch +tile.silo_hatch_large.name=Large Silo Hatch tile.sliding_blast_door.name=Sliding Blast Door tile.solar_mirror.name=Heliostat Mirror tile.soyuz_capsule.name=Cargo Landing Capsule tile.soyuz_launcher.name=Soyuz Launch Platform tile.spikes.name=Spikes +tile.snowglobe.name=Snowglobe +tile.spotlight_incandescent.name=Cage Lamp +tile.spotlight_fluoro.name=Fluorescent Light +tile.spotlight_halogen.name=Halogen Floodlight tile.stalactite.asbestos.name=Asbestos Stalactite tile.stalactite.sulfur.name=Sulfurous Stalactite tile.stalagmite.asbestos.name=Asbestos Stalagmite @@ -5469,6 +5655,7 @@ tile.stone_cracked.name=Cracked Stone tile.stone_depth.name=Depth Rock tile.stone_depth_nether.name=Nether Depth Rock tile.stone_gneiss.name=Graphitic Schist +tile.stone_keyhole.name=Strange Stone tile.stone_porous.name=Porous Stone tile.stone_resource.asbestos.name=Chrysotile tile.stone_resource.bauxite.name=Bauxite @@ -5519,6 +5706,7 @@ tile.turret_rocket.name=Rocket Turret tile.turret_richard.name=Rocket Launcher Turret "Richard" tile.turret_spitfire.name=Turret I have no name for right now [WIP] tile.turret_sentry.name=Sentry Turret "Brown" +tile.turret_sentry_damaged.name=Sentry Turret "Edwin" tile.turret_tau.name=Tauon Turret tile.turret_tauon.name=XVL1456 Prototype Turret "Tauon" tile.vacuum.name=Vacuum @@ -5532,6 +5720,7 @@ tile.vinyl_tile.small.name=Small Vinyl Tiles tile.vitrified_barrel.name=Vitrified Nuclear Waste Drum tile.volcanic_lava_block.name=Volcanic Lava tile.volcano_core.name=Volcano Core +tile.volcano_rad_core.name=Rad Volcano Core tile.waste_earth.name=Dead Grass tile.waste_leaves.name=Dead Leaves tile.waste_log.name=Charred Log @@ -5640,9 +5829,11 @@ turret.players=Target Players: %s upgrade.acid=Acid required %s upgrade.burn=Burn %smb/t for %sHE upgrade.consumption=Consumption %s +upgrade.coolantConsumption=Coolant Consumption %s upgrade.delay=Process time %s upgrade.efficiency=Efficiency %s upgrade.fortune=Fortune %s +upgrade.overheatChance=Overheat chance %s upgrade.range=Range %s upgrade.gui.title=§lAcceptable Upgrades:§r @@ -5680,3 +5871,10 @@ weapon.elecGun.glass_cannon.visible=Visible Light weapon.elecGun.glass_cannon.uv=Ultraviolet Light weapon.elecGun.glass_cannon.xray=X-rays weapon.elecGun.glass_cannon.gamma=Gamma rays + +desc.gui.upgrade=§lAcceptable Upgrades:§r +desc.gui.upgrade.afterburner= * §dAfterburner§r: Stacks to level 3 +desc.gui.upgrade.effectiveness= * §aEffectiveness§r: Stacks to level 3 +desc.gui.upgrade.overdrive= * §7Overdrive§r: Stacks to level 3 +desc.gui.upgrade.power= * §1Power-Saving§r: Stacks to level 3 +desc.gui.upgrade.speed= * §4Speed§r: Stacks to level 3 diff --git a/src/main/resources/assets/hbm/lang/zh_CN.lang b/src/main/resources/assets/hbm/lang/zh_CN.lang index 4bd5871e0..1dae36e7c 100644 --- a/src/main/resources/assets/hbm/lang/zh_CN.lang +++ b/src/main/resources/assets/hbm/lang/zh_CN.lang @@ -381,16 +381,12 @@ book_lore.bf_bomb_2.page.2=Even worse, this thing is an energy source. The exist book_lore.bf_bomb_2.page.3=The empirical data isn't better, as we're breaking the first law of thermodynamics with how much energy it radiates. Being anywhere near that thing - even behind a meter of lead - was terrifying. We sprinted out of the chamber upon conclusion of the spectroscopy book_lore.bf_bomb_2.page.4=and we got nothing new out of it. Those idiots in the science team, god, did not even waver after all that. Sitting through those "discussions" was horrible; that quack of a head researcher even rumored that the test ban would be lifted, that we could be book_lore.bf_bomb_2.page.5=building bombs out of the shit in the coming weeks, who in their right mind would work on that? Hell, the one sane assistant (an Andrew) nicknamed it "balefire" - because burning to death on a funeral pyre would be painless by comparison. - - book_lore.bf_bomb_3.name=私人笔记 book_lore.bf_bomb_3.author=M. 波特 book_lore.bf_bomb_3.page.0=The team and I have made some breakthroughs. Emphasis on the separation - isolating myself from the more devout has made working there so much more bearable. While we still have no idea about the actual properties of balefire (it's difficult to analyze book_lore.bf_bomb_3.page.1=a sample that fries your equipment) its interactions with other matter has proved fruitful. Notably, they synthesized a "gaseous" form: Andrew, of all people, informed me that it was really a colloid consisting of microscopic balefire particles, suspended in some book_lore.bf_bomb_3.page.2=noble gas. Each particle is enveloped by a positively-charged 'bubble' of ionized gas, preventing it from settling. Who could've guessed that fatal gamma radiation had a benefit? Not me. $ I'm choosing not to think about how they transformed the sample into book_lore.bf_bomb_3.page.3=particulate, but I can't understate the utility of this gaseous balefire - it's made it much safer to experiment on. $ Speaking of safety, the head researcher (in an act of callous disregard) made a discovery that also nearly took his head off. - - book_lore.bf_bomb_3.page.4=He decided to get "dirty" by letting a cell of our new colloid interact directly with some very expensive antimatter: the resulting explosion turned the table it was on into a piece of radiation-bleached slag, carved a near-perfect hemisphere through book_lore.bf_bomb_3.page.5=the top, and gave the head a healthy dose of ARS. I guess we know how to make it explode now, but god, some people... book_lore.bf_bomb_4.name=私人笔记 @@ -543,6 +539,7 @@ chem.HELIUM3=使用月球草皮提取氦-3 chem.KEVLAR=凯夫拉生产 chem.LPG=石油天然气液化 chem.LUBRICANT=润滑剂混合 +chem.MEAT_PROCESSING=异虫肉矿物提取 chem.METH=甲基苯丙胺合成 chem.NITAN=NITAN牌超级燃料混合 chem.NITRIC_ACID=硝酸生产 @@ -574,6 +571,9 @@ chem.SF_PETROIL=石油固化 chem.SF_PETROLEUM=石油气固化 chem.SF_RECLAIMED=再生油固化 chem.SF_SMEAR=工业油固化 +chem.SHELL_CHLORINE=16英寸氯气炮弹生产 +chem.SHELL_MUSTARD=16英寸芥子气炮弹生产 +chem.SHELL_PHOSGENE=16英寸光气炮弹生产 chem.SOLID_FUEL=固体火箭燃料生产 chem.SOLVENT=有机溶剂混合 chem.STEAM=烧水 @@ -637,6 +637,7 @@ container.droneProvider=提供 container.droneRequester=请求 container.electricFurnace=电炉 container.epress=电动锻压机 +container.exposureChamber=曝光室 container.factoryAdvanced=高级工厂 container.factoryTitanium=工厂 container.fluidtank=储罐 @@ -656,9 +657,11 @@ container.heaterFirebox=燃烧室 container.heaterHeatex=热交换器 container.heaterOilburner=流体燃烧器 container.heaterOven=加热炉 +container.hydrotreater=加氢装置 container.iGenerator=工业发电机 container.keyForge=锁匠桌 container.launchPad=导弹发射台 +tile.launch_pad_large.name=发射台 container.launchTable=大型发射台 container.leadBox=安全盒 container.machineBoiler=锅炉 @@ -680,9 +683,11 @@ container.machineSelenium=星型发动机 container.machineShredder=粉碎机 container.machineSILEX=激光同位素分离室 container.machineSolidifier=固化机 +container.machineStrandCaster=连续铸造机 container.machineTurbine=汽轮机 container.machineTurbofan=涡扇发动机 container.machine_schrabidium_transmutator=Sa326嬗变装置 +container.machineWoodBurner=火力发电机 container.massStorage=存储 container.microwave=微波炉 container.miningDrill=自动采矿钻机 @@ -695,7 +700,7 @@ container.nukeFstbmb=野火炸弹 container.nukeFurnace=核熔炉 container.nukeGadget=小玩意 container.nukeMan=胖子 -container.nukeMike=常青藤迈克 +container.nukeMike=常春藤迈克 container.nukeN2=N2炸弹 container.nukeN45=N45水雷 container.nukePrototype=原型 @@ -709,6 +714,7 @@ container.puf6_tank=六氟化钚储罐 container.pumpjack=石油钻机 container.radGen=辐射能量发电机 container.radar=雷达 +tile.machine_radar_large.name=大型雷达 container.radiobox=FM发射机 container.radiolysis=RTG辐射裂解室 container.radiorec=FM收音机 @@ -964,8 +970,10 @@ desc.item.kitHaz=装甲将被防护服取代。 desc.item.kitPack=真便宜! desc.item.kitPool=请在打开前清空背包库存! desc.item.pileRod=§e使用钻孔石墨插入$§E使用螺丝刀拔出$ - - +desc.item.pipette.corrosive=可处理腐蚀性液体。 +desc.item.pipette.laboratory=现在精度提高了50倍! +desc.item.pipette.noCorrosive=§e无法处理腐蚀性液体。 +desc.item.pipette.noEmpty=§e移液管未排空 desc.item.rtgDecay=衰变为:%s desc.item.rtgHeat=功率级别:%s desc.item.storage.capacity=容量 %s%%s @@ -999,6 +1007,7 @@ entity.entity_glyphid_blaster.name=爆破异虫 entity.entity_glyphid_bombardier.name=投弹手异虫 entity.entity_glyphid_brawler.name=狂战士异虫 entity.entity_glyphid_brenda.name=布伦达 +entity.entity_glyphid_digger.name=掘地异虫 entity.entity_glyphid_nuclear.name=大个子强森 entity.entity_glyphid_scout.name=侦察异虫 entity.entity_ntm_fbi.name=FBI探员 @@ -1011,6 +1020,9 @@ entity.entity_mob_nuclear_creeper.name=核爆爬行者 entity.entity_mob_phosgene_creeper.name=光气爬行者 entity.entity_mob_tainted_creeper.name=污染爬行者 entity.entity_mob_volatile_creeper.name=不稳定爬行者 +entity.entity_parasite_maggot.name=寄生虫 +entity.entity_pigeon.name=鸽子 +entity.entity_plastic_bag.name=塑料袋 entity.entity_taint_crab.name=污染螃蟹 entity.entity_tesla_crab.name=磁暴螃蟹 entity.hbm.entity_balls_o_tron.name=机械蠕虫 @@ -1244,6 +1256,7 @@ hbmfluid.colloid=胶体 hbmfluid.coolant=冷却液 hbmfluid.coolant_hot=热冷却液 hbmfluid.crackoil=裂化油 +hbmfluid.crackoil_ds=脱硫裂化油 hbmfluid.cryogel=冷凝胶 hbmfluid.death=锇酸溶液 hbmfluid.deuterium=氘 @@ -1257,6 +1270,7 @@ hbmfluid.ethanol=乙醇 hbmfluid.enderjuice=末影果汁 hbmfluid.fishoil=鱼油 hbmfluid.fracksol=压裂液 +hbmfluid.fullerene=富勒烯溶液 hbmfluid.gas=天然气 hbmfluid.gas_coker=焦化气 hbmfluid.gasoline=含铅汽油基油 @@ -1270,7 +1284,9 @@ hbmfluid.heavywater_hot=高温重水 hbmfluid.helium3=氦-3 hbmfluid.helium4=氦-4 hbmfluid.hotcrackoil=热裂化油 +hbmfluid.hotcrackoil_ds=热的脱硫裂化油 hbmfluid.hotoil=热原油 +hbmfluid.hotoil_ds=热的脱硫原油 hbmfluid.hotsteam=热蒸汽 hbmfluid.hydrogen=液氢 hbmfluid.iongel=离子凝胶 @@ -1279,6 +1295,7 @@ hbmfluid.kerosene_reform=喷气燃料 hbmfluid.lava=岩浆 hbmfluid.lightoil=轻油 hbmfluid.lightoil_crack=裂化轻油 +hbmfluid.lightoil_ds=脱硫轻油 hbmfluid.lightoil_vacuum=减压轻油 hbmfluid.lpg=液化石油气 hbmfluid.lubricant=润滑油 @@ -1289,12 +1306,14 @@ hbmfluid.mustardgas=芥子气 hbmfluid.naphtha=石脑油 hbmfluid.naphtha_coker=焦化石脑油 hbmfluid.naphtha_crack=裂化石脑油 +hbmfluid.naphtha_ds=脱硫石脑油 hbmfluid.nitan=NITAN牌100号超级燃料 hbmfluid.nitric_acid=硝酸 hbmfluid.nitroglycerin=硝酸甘油 hbmfluid.none=无 hbmfluid.oil=原油 hbmfluid.oil_coker=焦化油 +hbmfluid.oil_ds=脱硫原油 hbmfluid.oxygen=液氧 hbmfluid.oxyhydrogen=氢氧混合气 hbmfluid.pain=Pn(III) 钽铁溶液 @@ -1302,6 +1321,8 @@ hbmfluid.petroil=汽油 hbmfluid.petroil_leaded=含铅石油 hbmfluid.petroleum=石油气 hbmfluid.phosgene=光气 +hbmfluid.pheromone=异虫信息素 +hbmfluid.pheromone_m=增强异虫信息素 hbmfluid.plasma_bf=野火等离子体 hbmfluid.plasma_dh3=氘-氦3 等离子体 hbmfluid.plasma_dt=氘-氚等离子体 @@ -1591,7 +1612,7 @@ item.ammo_arty_classic.name=16英寸炮弹 (特制) item.ammo_arty_he.name=16英寸高爆炮弹 item.ammo_arty_mini_nuke.name=16英寸微型核炮弹 item.ammo_arty_mini_nuke_multi.name=16英寸多弹头微型核炮弹 -item.ammo_arty_mustard_gas.name=16英寸芥子气炮炮弹 +item.ammo_arty_mustard_gas.name=16英寸芥子气炮弹 item.ammo_arty_nuke.name=16英寸核炮弹 item.ammo_arty_phosgene.name=16英寸光气炮弹 item.ammo_arty_phosphorus.name=16英寸磷炮弹 @@ -1750,6 +1771,7 @@ item.balefire_and_steel.name=野火打火石 item.balefire_scrambled.name=炒野火蛋 item.ball_dynamite.name=硝糖炸药 item.ball_fireclay.name=耐火粘土 +item.ball_resin.name=乳胶 item.ball_tatb.name=三氨基三硝基苯(TATB) item.ball_tnt.name=TNT炸药 item.ballistic_gauntlet.name=冲击拳套 @@ -1879,14 +1901,18 @@ item.blades_steel.name=钢制刀片 item.blades_titanium.name=钛制刀片 item.blowtorch.name=喷灯 item.board_copper.name=铜片 +item.boat_rubber.name=橡胶船 item.bobmazon_hidden.name=隐藏目录 item.bobmazon_machines.name=Bobmazon: 方块和机器 item.bobmazon_materials.name=Bobmazon: 材料 item.bobmazon_tools.name=Bobmazon: 工具 item.bobmazon_weapons.name=Bobmazon: 武器和爆炸物 +item.boltntm.name=%s螺栓 item.bolt_compound.name=加强涡轮机轴 item.bolt_dura_steel.name=高速钢螺栓 item.bolt_tungsten.name=钨螺栓 +item.bolt_spike.name=铁路道钉 +item.bolt_spike.desc=不知何故,散发着威胁的气息 item.boltgun.name=气动射钉枪 item.bomb_caller.name=空袭指示器 item.bomb_waffle.name=大规模杀伤性华夫饼 @@ -2032,6 +2058,8 @@ item.cape_nostalgia.name=DrNostalgia披风 item.cape_radiation.name=披风[辐射] item.cape_schrabidium.name=披风[Sa326] item.cape_vertice.name=Lord Vertice披风 +item.card_aos.name=黑桃A +item.card_qos.name=黑桃皇后 item.cart.crate.name=板条箱运输车 item.cart.destroyer.name=废品销毁车 item.cart.empty.name=钢箱矿车 @@ -2325,6 +2353,8 @@ item.dieselsuit_helmet.name=柴油动力头戴式环境传感器 item.dieselsuit_legs.name=柴油动力腿部伺服系统 item.dieselsuit_plate.name=柴油动力控制器 item.digamma_diagnostic.name=玩家F-迪伽马辐射自检器 +item.disperser_canister.name=流体雾化手雷: +item.disperser_canister_empty.name=流体雾化手雷 item.dns_boots.name=DNT双聚中子态素高科技全环境作战服靴子 item.dns_legs.name=DNT双聚中子态素高科技全环境作战服护腿 item.dns_helmet.name=DNT双聚中子态素高科技全环境作战服头盔 @@ -2336,6 +2366,7 @@ item.dnt_plate.name=双聚态中子素 胸甲 item.door_bunker.name=仓门 item.door_metal.name=金属门 item.door_office.name=办公室门 +item.door_red.name=红门 item.dosimeter.name=剂量计 item.drax.name=采掘钻 item.drax_mk2.name=强化型采掘钻 @@ -2495,6 +2526,7 @@ item.gear_large.name=大型齿轮 item.gear_large_steel.name=大型钢齿轮 item.geiger_counter.name=手持盖革计数器 item.gem_alexandrite.name=亚历山大变石 +item.gem_rad.name=放射性宝石 item.gem_sodalite.name=方钠石 item.gem_tantalium.name=钽晶体 item.gem_tantalium.desc=“钽” @@ -2506,6 +2538,8 @@ item.glitch.name=故障 item.glowing_stew.name=发光真菌煲 item.glyphid_meat.name=异虫肉 item.glyphid_meat_grilled.name=熟异虫肉 +item.glyphid_gland.name=囊腺 +item.glyphid_gland_empty.name=异虫腺体 item.goggles.name=护目镜 item.grenade_aschrab.name=可抛反Sa326 item.grenade_black_hole.name=黑洞手榴弹 @@ -2746,6 +2780,7 @@ item.ingot_au198.name=金-198锭 item.ingot_australium.name=奥斯锭 item.ingot_bakelite.name=电木锭 item.ingot_beryllium.name=铍锭 +item.ingot_biorubber.name=乳胶锭 item.ingot_bismuth.name=铋锭 item.ingot_boron.name=硼锭 item.ingot_c4.name=一块C-4 @@ -2873,6 +2908,8 @@ item.key_kit.name=钥匙仿制套件 item.key_red.name=红色钥匙 item.key_red.desc=探索另一边。 item.key_red.desc.P11=§4e§r +item.key_red_cracked.name=破碎的钥匙 +item.key_red_cracked.desc=??? item.kit_toolbox.name=工具箱 item.kit_toolbox_empty.name=空工具箱 item.laser_crystal_bismuth.desc=铋-钐-铀-钍晶体基质 @@ -2950,7 +2987,7 @@ item.meteorite_sword_baleful.name=陨石剑(凶恶) item.mike_cooling_unit.name=氘冷却装置 item.mike_core.name=铀涂层氘罐 item.mike_deut.name=氘罐 -item.mike_kit.name=常青藤麦克 套件 +item.mike_kit.name=常春藤麦克 套件 item.mirror_tool.name=定日镜调整工具 item.mirror_tool.linked=设置对齐位置! item.mirror_tool.desc=右键单击“太阳能锅炉”以记忆位置 $再单击“定日镜”可将其转向太阳能锅炉 @@ -2964,6 +3001,7 @@ item.missile_carrier.name=HTR-01运载火箭 item.missile_cluster.name=集束导弹 item.missile_cluster_strong.name=强化型集束导弹 item.missile_custom.name=定制导弹 +item.missile_decoy.name=诱饵弹 item.missile_doomsday.name=末日导弹 item.missile_drill.name=掩体裂解者 item.missile_emp.name=EMP导弹 @@ -3002,6 +3040,7 @@ item.missile_skin_soviet_stank.desc=这个真的很有60年代的味道。 item.missile_soyuz.name=联盟-FG运载火箭 item.missile_soyuz_lander.name=联盟号轨道舱 item.missile_soyuz_lander.desc=劣质着陆器! +item.missile_stealth.name=隐身导弹 item.missile_strong.name=强化型高爆导弹 item.missile_taint.name=污染导弹 item.missile_volcano.name=构造导弹 @@ -3401,6 +3440,9 @@ item.pin.name=发夹 item.pin.desc=“*未修改*撬开标准锁的成功率约为10%。 item.pipes_steel.name=钢管 item.pipes_steel.desc=为了避免合成冲突,所以造价如此高昂 +item.pipette.name=移液管 +item.pipette_boron.name=硼玻璃移液管 +item.pipette_laboratory.name=移液器 item.piston_selenium.name=星型发动机活塞 item.piston_set_desh.name=Desh活塞组 item.piston_set_dura.name=高速钢活塞组 @@ -3411,6 +3453,7 @@ item.plan_c.desc=致死 item.plant_item.mustardwillow.name=芥子柳叶 item.plant_item.rope.name=麻绳 item.plant_item.tobacco.name=烟叶 +item.plastic_bag.name=塑料袋 item.plate_advanced_alloy.name=高级合金板 item.plate_aluminium.name=铝板 item.plate_armor_ajr.name=铁皮装甲板 @@ -3501,7 +3544,7 @@ item.powder_emerald.name=绿宝石粉 item.powder_euphemium.name=Ep粉 item.powder_euphemium.desc=粉红色$尝起来像草莓。 item.powder_fertilizer.name=工业肥料 -item.powder_fire.name=火焰粉 +item.powder_fire.name=红磷粉 item.powder_fire.desc=用于多用途炸弹:燃烧弹很有趣! item.powder_flux.name=助熔剂 item.powder_gold.name=金粉 @@ -3624,6 +3667,7 @@ item.pwr_fuel_hot.mep.name=高温 MEP 中浓缩度钚压水堆燃料棒 item.pwr_fuel_hot.meu.name=高温 MEU 中浓缩度铀压水堆燃料棒 item.pwr_fuel_hot.mox.name=高温 MOX压水堆燃料棒 item.quartz_plutonium.name=深成石英 +item.radar_linker.name=雷达连接器 item.radaway.name=消辐宁 item.radaway_flush.name=超级消辐宁 item.radaway_strong.name=强效消辐宁 @@ -3916,6 +3960,7 @@ item.sat_base.name=卫星基座 item.sat_chip.name=卫星ID芯片 item.sat_coord.name=卫星指示器 item.sat_designator.name=卫星激光指示器 +item.sat_relay.name=卫星雷达中继器 item.sat_foeq.name=实验型核能PEAF-Mk.I FOEQ Duna探测器 item.sat_gerald.name=Gerald建筑机器人 item.sat_head_laser.name=死光发射器 @@ -3975,6 +4020,7 @@ item.singularity_spark.name=Spark奇点 item.singularity_super_heated.name=超热共振奇点 item.siox.name=SiOX抗癌药物 item.siox.desc=使用石棉的力量逆转间皮瘤! +item.siphon.name=虹吸管 item.siren_track.name=警报声轨 item.sliding_blast_door_skin.0.name=滑动防爆门 皮肤:默认 item.sliding_blast_door_skin.1.name=滑动防爆门 皮肤:变型1 @@ -4279,7 +4325,7 @@ itemGroup.tabMissile=HBM 导弹和卫星 itemGroup.tabNuke=HBM 炸弹 itemGroup.tabParts=HBM 资源和零件 itemGroup.tabTemplate=HBM 模板 -itemGroup.tabTest=HBM的核科技mod测试项[S166、Bismarck、nukesteve联合汉化] +itemGroup.tabTest=HBM的核科技mod测试项[S166、Bismarck、Nukesteve、牛牛联合汉化] itemGroup.tabWeapon=HBM 武器和炮塔 potion.hbm_bang=! ! ! potion.hbm_death=重度突变 @@ -4378,13 +4424,13 @@ tile.barrel_steel.name=钢桶 tile.barrel_tcalloy.name=锝-钢合金桶 tile.barricade.name=沙袋 tile.basalt.name=玄武岩 -tile.basalt_asbestos.name=富含石棉的玄武岩 +tile.ore_basalt_asbestos.name=富含石棉的玄武岩 tile.basalt_brick.name=玄武岩砖 -tile.basalt_fluorite.name=富含氟石的玄武岩 -tile.basalt_gem.name=富含宝石的玄武岩 +tile.ore_basalt_fluorite.name=富含氟石的玄武岩 +tile.ore_basalt_gem.name=富含宝石的玄武岩 tile.basalt_polished.name=抛光玄武岩 tile.basalt_smooth.name=平滑玄武岩 -tile.basalt_sulfur.name=富含硫的玄武岩 +tile.ore_basalt_sulfur.name=富含硫的玄武岩 tile.basalt_tiles.name=玄武岩砖 tile.blast_door.name=防爆闸门 tile.block_actinium.name=锕块 @@ -4557,7 +4603,7 @@ tile.capacitor_bus.desc=电容器的输出方块$可以连成一条直线 tile.capacitor_copper.name=铜电容 tile.capacitor_gold.name=金电容 tile.capacitor_niobium.name=铌电容 -tile.capacitor_schrabidate.name=Sa酸铁电容器 +tile.capacitor_schrabidate.name=Sa酸铁电容 tile.capacitor_tantalium.name=钽电容 tile.capacitor.desc=输入:顶部$输出:底部,通过电容总线 tile.charge_c4.name=炸药包 @@ -4755,6 +4801,7 @@ tile.drone_waypoint_request.name=物流无人机航路点 tile.door_bunker.name=仓门 tile.door_metal.name=金属门 tile.door_office.name=办公室门 +tile.door_red.name=红门 tile.ducrete.name=高密度贫铀混凝土瓷砖 tile.ducrete_stairs.name=高密度贫铀混凝土瓷砖楼梯 tile.ducrete_smooth.name=高密度贫铀混凝土 @@ -4916,8 +4963,8 @@ tile.lamp_tritium_blue_off.name=蓝色氚灯 tile.lamp_tritium_blue_on.name=蓝色氚灯 tile.lamp_tritium_green_off.name=绿色氚灯 tile.lamp_tritium_green_on.name=绿色氚灯 -tile.lantern.name=灯笼 -tile.lantern_behemoth.name=旧灯笼 +tile.lantern.name=路灯 +tile.lantern_behemoth.name=旧路灯 tile.launch_pad.name=导弹发射台 tile.launch_table.name=大型发射台 tile.leaves_layer.name=落叶 @@ -4982,6 +5029,7 @@ tile.machine_electric_furnace_on.name=电炉 tile.machine_electrolyser.name=电解机 tile.machine_epress.name=电动锻压机 tile.machine_excavator.name=大型采矿钻机 +tile.machine_exposure_chamber.name=曝光室 tile.machine_fel.name=FEL自由电子激光器 tile.machine_fensu.name=FEnSU飞轮储能系统 tile.machine_flare.name=高架火炬 @@ -4993,6 +5041,7 @@ tile.machine_gascent.name=气体离心机 tile.machine_generator.name=核反应堆[旧] tile.machine_geo.name=地热发电机 tile.machine_hephaestus.name=地热换热器 +tile.machine_hydrotreater.name=加氢装置 tile.machine_industrial_boiler.name=工业锅炉 tile.machine_industrial_boiler.desc=可以烧水或加热油的大型锅炉$需要外部热源$传热率:ΔT*0.01 TU/T$不会爆炸 tile.machine_industrial_generator.name=工业发电机 @@ -5054,6 +5103,7 @@ tile.machine_stirling_creative.desc=将热量转化为能量。需要外部热 tile.machine_stirling_steel.name=重型斯特林发电机 tile.machine_stirling_steel.desc=它将热量转化为能量。这需要外部热源$使用更重的齿轮来支持更高的温度$传热率:T*0.1 TU/T$最大进气量:1500 TU/T$效率:50% tile.machine_storage_drum.name=核废料处理桶 +tile.machine_strand_caster.name=连续铸造机 tile.machine_telelinker.name=炮塔ID管理器 tile.machine_teleporter.name=传送机 tile.machine_tower_large.name=冷却塔 @@ -5070,6 +5120,8 @@ tile.machine_uf6_tank.name=六氟化铀储罐 tile.machine_vacuum_distill.name=真空炼油厂 tile.machine_waste_drum.name=乏燃料池 tile.machine_well.name=钻油塔 +tile.machine_wood_burner.name=火力发电机 +tile.machine_wood_burner.desc=燃烧物品时100HE/t,同时$收集灰烬$可以以40mb/s的速度燃烧流体,效率为50%% tile.machine_zirnox.name=锆诺克斯核反应堆 tile.marker_structure.name=多方块结构信标 tile.mass_storage.name=大规模存储单元 @@ -5096,7 +5148,7 @@ tile.nuke_fleija.name=F.L.E.I.J.A. tile.nuke_fstbmb.name=BF炸弹 tile.nuke_gadget.name=小玩意 tile.nuke_man.name=胖子 -tile.nuke_mike.name=常青藤迈克 +tile.nuke_mike.name=常春藤迈克 tile.nuke_n2.name=N2炸弹 tile.nuke_n45.name=N45水雷 tile.nuke_prototype.name=原型 @@ -5149,7 +5201,7 @@ tile.ore_meteor_tungsten.name=钨矿陨石 tile.ore_meteor_uranium.name=铀矿陨石 tile.ore_nether_coal.name=燃烧下界煤矿 tile.ore_nether_cobalt.name=下界钴矿石 -tile.ore_nether_fire.name=火矿石 +tile.ore_nether_fire.name=磷矿石 tile.ore_nether_plutonium.name=下界钚矿石 tile.ore_nether_schrabidium.name=下界Sa326矿石 tile.ore_nether_smoldering.name=阴燃下界岩 @@ -5165,6 +5217,11 @@ tile.ore_random.name=%s 矿 tile.ore_rare.name=稀土矿石 tile.ore_reiium.name=雷恩矿石 tile.ore_schrabidium.name=Sa326矿石 +tile.ore_sellafield_diamond.name=放射性熔融钻石矿 +tile.ore_sellafield_emerald.name=放射性熔融绿宝石矿 +tile.ore_sellafield_radgem.name=富含宝石的放射性熔融物 +tile.ore_sellafield_schrabidium.name=放射性熔融Sa326矿石 +tile.ore_sellafield_uranium_scorched.name=放射性熔融烧焦铀矿 tile.ore_sulfur.name=硫磺矿石 tile.ore_tektite_osmiridium.name=渗锇熔融石 tile.ore_thorium.name=钍矿石 @@ -5229,7 +5286,9 @@ tile.pwr_port.name=PWR接入端口 tile.pwr_port.desc=允许物品和液体交换$位置:组件 tile.pwr_reflector.name=PWR中子反射器 tile.pwr_reflector.desc=将中子通量反射回燃料棒$位置:网格,用于增加反应速率$可作为外壳材料 -tile.radio_telex.name=Telex Machine +tile.rad_lava_block.name=放射性火山熔岩 +tile.radar_screen.name=雷达显示屏 +tile.radio_telex.name=电报机 tile.radio_torch_counter.name=红石无线项目计数器 tile.radio_torch_counter.desc=平面或比较器兼容块上的标牌$根据匹配项目的数量发出信号 tile.radio_torch_receiver.name=无线红石信号接收器 @@ -5240,6 +5299,15 @@ tile.radiobox.name=无线怪物清除箱 tile.radiorec.name=坏掉的收音机 tile.rail_booster.name=高速动力轨道 tile.rail_highspeed.name=高速轨道 +tile.rail_large_buffer.name=标准轨距缓冲停止轨道(5m) +tile.rail_large_curve.name=标准轨距弯曲轨道(5m) +tile.rail_large_curve_7.name=标准轨距弯曲轨道(7m) +tile.rail_large_curve_9.name=标准轨距弯曲轨道(9m) +tile.rail_large_ramp.name=标准轨距坡道铁轨(5m) +tile.rail_large_straight.name=标准轨距铁轨(5m) +tile.rail_large_straight_short.name=标准轨距铁轨(1m) +tile.rail_large_switch.name=标准轨距铁路道岔(15m 左转) +tile.rail_large_switch_flipped.name=标准轨距铁路道岔(15m 右转) tile.rail_narrow.name=窄轨距轨道 tile.rail_wood.name=木制轨道 tile.rbmk_absorber.name=RBMK反应堆硼中子吸收器 @@ -5326,11 +5394,16 @@ tile.sellafield.4.name=地狱般的放射性熔融凝固物 tile.sellafield.5.name=放射性熔融凝固物核心 tile.sellafield_slaked.name=消沉的放射性熔融凝固物 tile.semtex.name=塞姆汀塑胶炸药 +tile.silo_hatch.name=发射井舱门 +tile.silo_hatch_large.name=大型发射井舱门 tile.sliding_blast_door.name=滑动防爆门 tile.solar_mirror.name=定日镜 tile.soyuz_capsule.name=货物着陆舱 tile.soyuz_launcher.name=联盟号发射平台 tile.spikes.name=地刺 +tile.spotlight_incandescent.name=罩灯 +tile.spotlight_fluoro.name=荧光灯 +tile.spotlight_halogen.name=卤素泛光灯 tile.stalactite.asbestos.name=石棉钟乳石 tile.stalactite.sulfur.name=含硫钟乳石 tile.stalagmite.asbestos.name=石棉石笋 @@ -5347,6 +5420,7 @@ tile.steel_wall.name=钢墙 tile.stone_cracked.name=破碎的石头 tile.stone_depth.name=深层岩石 tile.stone_depth_nether.name=下界深层岩石 +tile.stone_keyhole.name=奇怪的石头 tile.stone_gneiss.name=石墨页岩 tile.stone_porous.name=多孔石 tile.stone_resource.asbestos.name=温石棉 @@ -5411,6 +5485,7 @@ tile.vinyl_tile.small.name=小型乙烯基瓷砖 tile.vitrified_barrel.name=玻璃化核废料桶 tile.volcanic_lava_block.name=火山熔岩 tile.volcano_core.name=火山核心 +tile.volcano_rad_core.name=放射性火山核心 tile.waste_earth.name=死亡草地 tile.waste_leaves.name=枯叶 tile.waste_log.name=烧焦原木 @@ -5430,6 +5505,13 @@ tile.watz_hatch.name=Watz反应堆端口 tile.watz_pump.name=Watz压力泵 tile.yellow_barrel.name=核废料桶 tile.zirnox_destroyed.name=损毁的ZINROX +tile.large_vehicle_door.name=大型机械门 +tile.water_door.name=水闸门 +tile.qe_containment.name=QE安全门 +tile.qe_sliding_door.name=QE滑动门 +tile.round_airlock_door.name=圆形气闸门 +tile.secure_access_door.name=安全检修门 +tile.sliding_seal_door.name=滑动密封门 trait.asbestos=石棉 trait.blinding=致盲 trait.coal=煤尘 @@ -5529,4 +5611,42 @@ weapon.elecGun.glass_cannon.xray=X射线 weapon.elecGun.glass_cannon.gamma=伽马射线 hadron.error=错误! container.reactor=增殖反应堆 -death.attack.subAtomic=%1$s 的原子被 %2$s 摧毁 \ No newline at end of file +death.attack.subAtomic=%1$s 的原子被 %2$s 摧毁 +item.launch_code.name=发射井发射代码 +item.nitra.name=Nitra +item.nitra_small.name=小撮Nitra +item.launch_key.name=发射井发射钥匙 +item.powder_molysite.name=钼铁矿 +tile.ore_basalt_molysite.name=富含钼铁矿的玄武岩 +item.upgrade_muffler.name=消音器 +item.chunk_ore.rare.name=稀土矿石块 +item.wire_dense.name=致密%s线 +item.launch_code_piece.name=发射井发射代码碎片 +tile.deco_crt.name=老CRT显示屏 +tile.deco_toaster.name=坏掉的烤面包机 +tile.crystal_power.name=能量水晶 +tile.crystal_energy.name=能量水晶 +tile.crystal_robust.name=坚固的水晶 +tile.crystal_trixite.name=赛瑞克水晶 +tile.machine_furnace_brick_off.name=砖砌炉 +tile.machine_furnace_brick_on.name=砖砌炉 +tile.cm_flux.name=中子接收器 +tile.cm_heat.name=热量接收器 +container.machineFunnel=组合漏斗 +tile.machine_funnel.name=组合漏斗 +container.machineArcWelder=电弧焊机 +tile.machine_arc_welder.name=电弧焊机 +tile.launch_pad_rusted.name=锈迹斑斑的发射台 +tile.turret_sentry_damaged.name=哨兵炮塔"埃德温" +item.powder_sodium.name=钠 +item.plate_welded.name=焊接%s板 +item.ingot_cft.name=晶化富勒烯 +item.powder_ash.fullerene.name=富勒烯 +item.fuel_additive.antiknock.name=四乙基铅抗爆剂 +item.fuel_additive.deicer.name=除冰剂 +radar.detectShells=探测炮弹 +radar.showMap=显示地图 +radar.toggleGui=切换视图 +radar.clearMap=清空地图 +item.missile_doomsday_rusted.name=损坏的末日导弹 +item.gun_vortex.name=涡流 \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/BombGenericLarge.obj b/src/main/resources/assets/hbm/models/BombGenericLarge.obj deleted file mode 100644 index 81d5f5930..000000000 --- a/src/main/resources/assets/hbm/models/BombGenericLarge.obj +++ /dev/null @@ -1,685 +0,0 @@ -# Blender v2.70 (sub 0) OBJ File: 'BombGenericLarge.blend' -# www.blender.org -o Cylinder -v 0.265165 0.640165 -0.914583 -v 0.265165 0.640165 0.960417 -v 0.346455 0.518507 -0.914583 -v 0.346455 0.518506 0.960417 -v 0.375000 0.375000 -0.914583 -v 0.375000 0.375000 0.960417 -v 0.346455 0.231494 -0.914583 -v 0.346454 0.231493 0.960417 -v 0.265165 0.109835 -0.914583 -v 0.265165 0.109835 0.960417 -v 0.143506 0.028545 -0.914583 -v 0.143506 0.028545 0.960416 -v 0.000000 0.000000 -0.914584 -v -0.000000 -0.000000 0.960416 -v -0.143506 0.028546 -0.914584 -v -0.143507 0.028545 0.960416 -v -0.265165 0.109835 -0.914584 -v -0.265165 0.109835 0.960416 -v -0.346454 0.231494 -0.914584 -v -0.346455 0.231493 0.960416 -v -0.375000 0.375000 -0.914584 -v -0.375000 0.375000 0.960416 -v -0.346454 0.518507 -0.914584 -v -0.346455 0.518506 0.960416 -v -0.265165 0.640165 -0.914583 -v -0.265165 0.640165 0.960417 -v -0.143506 0.721455 -0.914583 -v -0.143506 0.721455 0.960417 -v 0.000001 0.750000 -0.914583 -v -0.000000 0.750000 0.960417 -v 0.143507 0.721455 -0.914583 -v 0.143506 0.721454 0.960417 -v 0.132583 0.507582 1.185417 -v 0.071753 0.548227 1.185417 -v 0.000000 0.562500 1.185417 -v -0.071753 0.548227 1.185417 -v -0.132582 0.507583 1.185417 -v -0.173227 0.446753 1.185417 -v -0.187500 0.375000 1.185417 -v -0.173227 0.303247 1.185417 -v -0.132583 0.242418 1.185417 -v -0.071753 0.201773 1.185417 -v -0.000000 0.187500 1.185417 -v 0.071753 0.201773 1.185417 -v 0.132582 0.242417 1.185417 -v 0.173227 0.303247 1.185417 -v 0.187500 0.375000 1.185417 -v 0.173227 0.446753 1.185417 -v 0.132583 0.507582 -1.364583 -v 0.071753 0.548227 -1.364583 -v 0.000000 0.562500 -1.364583 -v -0.071753 0.548227 -1.364583 -v -0.132582 0.507583 -1.364583 -v -0.173227 0.446753 -1.364583 -v -0.187500 0.375000 -1.364583 -v -0.173227 0.303247 -1.364583 -v -0.132583 0.242417 -1.364583 -v -0.071753 0.201773 -1.364583 -v -0.000000 0.187500 -1.364583 -v 0.071753 0.201773 -1.364583 -v 0.132582 0.242417 -1.364583 -v 0.173227 0.303247 -1.364583 -v 0.187500 0.375000 -1.364583 -v 0.173227 0.446753 -1.364583 -v 0.132583 0.507582 -1.664583 -v 0.071753 0.548227 -1.664583 -v 0.000000 0.562500 -1.664583 -v -0.071753 0.548227 -1.664583 -v -0.132582 0.507583 -1.664583 -v -0.173227 0.446753 -1.664583 -v -0.187500 0.375000 -1.664583 -v -0.173227 0.303247 -1.664583 -v -0.132583 0.242417 -1.664583 -v -0.071753 0.201773 -1.664583 -v -0.000000 0.187500 -1.664583 -v 0.071753 0.201773 -1.664583 -v 0.132582 0.242417 -1.664583 -v 0.173227 0.303247 -1.664583 -v 0.187500 0.375000 -1.664583 -v 0.173227 0.446753 -1.664583 -v -0.371231 0.746231 -1.213083 -v 0.371231 0.003769 -1.213083 -v -0.371231 0.746231 -1.591083 -v 0.371231 0.003769 -1.591083 -v -0.371231 0.746231 -1.213083 -v 0.371231 0.003769 -1.213083 -v -0.371231 0.746231 -1.591083 -v 0.371231 0.003769 -1.591083 -v 0.371232 0.746231 -1.213083 -v -0.371231 0.003769 -1.213083 -v 0.371232 0.746231 -1.591083 -v -0.371231 0.003769 -1.591083 -v 0.371232 0.746231 -1.213083 -v -0.371231 0.003769 -1.213083 -v 0.371232 0.746231 -1.591083 -v -0.371231 0.003769 -1.591083 -vt 0.484392 0.017784 -vt 0.484392 0.388294 -vt 0.455678 0.388294 -vt 0.548430 0.388294 -vt 0.519716 0.388294 -vt 0.519716 0.017784 -vt 0.110414 0.631349 -vt 0.081700 0.631349 -vt 0.081700 0.260839 -vt 0.455678 0.794374 -vt 0.455678 0.423863 -vt 0.484392 0.423863 -vt 0.676506 0.388294 -vt 0.647792 0.388294 -vt 0.647792 0.017784 -vt 0.740544 0.017785 -vt 0.740544 0.388295 -vt 0.711830 0.388295 -vt 0.612468 0.794374 -vt 0.583754 0.794374 -vt 0.583754 0.423864 -vt 0.519716 0.794374 -vt 0.519716 0.423863 -vt 0.548430 0.423863 -vt 0.804581 0.423864 -vt 0.804581 0.794374 -vt 0.775868 0.794374 -vt 0.740544 0.794374 -vt 0.711830 0.794374 -vt 0.711830 0.423864 -vt 0.172632 0.260839 -vt 0.201346 0.260839 -vt 0.201346 0.631349 -vt 0.647792 0.794373 -vt 0.647792 0.423863 -vt 0.676506 0.423863 -vt 0.265384 0.260839 -vt 0.265384 0.631349 -vt 0.236670 0.631349 -vt 0.612468 0.017784 -vt 0.612468 0.388295 -vt 0.583754 0.388295 -vt 0.374888 0.631349 -vt 0.346174 0.631349 -vt 0.346174 0.260839 -vt 0.046376 0.260839 -vt 0.046376 0.631349 -vt 0.017662 0.631349 -vt 0.932657 0.651554 -vt 0.903943 0.651554 -vt 0.911122 0.594132 -vt 0.932657 0.481286 -vt 0.903943 0.481286 -vt 0.911122 0.423864 -vt 0.932657 0.388295 -vt 0.903943 0.388295 -vt 0.911122 0.330872 -vt 0.305356 0.682673 -vt 0.244167 0.723842 -vt 0.254319 0.672450 -vt 0.932657 0.744546 -vt 0.903943 0.744546 -vt 0.911122 0.687123 -vt 0.484392 0.887365 -vt 0.455678 0.887365 -vt 0.462856 0.829943 -vt 0.676506 0.887365 -vt 0.647792 0.887365 -vt 0.654970 0.829942 -vt 0.548430 0.887365 -vt 0.519716 0.887365 -vt 0.526894 0.829942 -vt 0.201346 0.855971 -vt 0.172632 0.855971 -vt 0.179811 0.798548 -vt 0.711830 0.887365 -vt 0.719008 0.829943 -vt 0.733365 0.829943 -vt 0.775868 0.887365 -vt 0.783046 0.829942 -vt 0.797403 0.829942 -vt 0.839905 0.876176 -vt 0.847084 0.818753 -vt 0.861441 0.818753 -vt 0.583754 0.887365 -vt 0.590933 0.829943 -vt 0.605290 0.829943 -vt 0.903943 0.206837 -vt 0.911122 0.149415 -vt 0.925479 0.149415 -vt 0.903943 0.113846 -vt 0.911122 0.056423 -vt 0.925479 0.056423 -vt 0.903943 0.876176 -vt 0.911122 0.818753 -vt 0.925479 0.818753 -vt 0.172632 0.948962 -vt 0.179811 0.891540 -vt 0.194168 0.891540 -vt 0.346174 0.696029 -vt 0.412857 0.682673 -vt 0.346174 0.710485 -vt 0.982338 0.242406 -vt 0.982338 0.301688 -vt 0.967981 0.301688 -vt 0.662149 0.922934 -vt 0.676506 0.922934 -vt 0.676506 0.982215 -vt 0.953624 0.911745 -vt 0.967981 0.911745 -vt 0.967981 0.971026 -vt 0.534073 0.922934 -vt 0.534073 0.982215 -vt 0.519716 0.982215 -vt 0.740544 0.982216 -vt 0.726187 0.982216 -vt 0.726187 0.922934 -vt 0.903943 0.911745 -vt 0.918300 0.911745 -vt 0.918300 0.971026 -vt 0.790224 0.982215 -vt 0.775868 0.982215 -vt 0.775868 0.922934 -vt 0.246812 0.966077 -vt 0.246812 0.906795 -vt 0.261169 0.906795 -vt 0.346174 0.906795 -vt 0.360531 0.906795 -vt 0.360531 0.966077 -vt 0.967981 0.653414 -vt 0.967981 0.594132 -vt 0.982338 0.594132 -vt 0.612468 0.922934 -vt 0.612468 0.982216 -vt 0.598111 0.982216 -vt 0.967981 0.206837 -vt 0.967981 0.147555 -vt 0.982338 0.147555 -vt 0.470035 0.922934 -vt 0.484392 0.922934 -vt 0.484392 0.982216 -vt 0.403994 0.966077 -vt 0.403994 0.906795 -vt 0.418351 0.906795 -vt 0.296493 0.966077 -vt 0.296493 0.906795 -vt 0.310850 0.906795 -vt 0.854262 0.971026 -vt 0.854262 0.911745 -vt 0.868619 0.911745 -vt 0.172632 0.762979 -vt 0.179811 0.666918 -vt 0.194168 0.666918 -vt 0.396816 0.775165 -vt 0.411173 0.775165 -vt 0.418351 0.871226 -vt 0.282136 0.871226 -vt 0.289315 0.775165 -vt 0.303672 0.775165 -vt 0.839905 0.388295 -vt 0.847084 0.292233 -vt 0.861441 0.292233 -vt 0.017662 0.762979 -vt 0.024841 0.666918 -vt 0.039198 0.666918 -vt 0.839905 0.113846 -vt 0.847084 0.017785 -vt 0.861441 0.017785 -vt 0.775868 0.388295 -vt 0.783046 0.292234 -vt 0.797403 0.292234 -vt 0.839905 0.651554 -vt 0.847084 0.555493 -vt 0.861441 0.555493 -vt 0.847084 0.687123 -vt 0.861441 0.687123 -vt 0.868619 0.783184 -vt 0.024840 0.798548 -vt 0.039197 0.798548 -vt 0.046376 0.894609 -vt 0.103235 0.894609 -vt 0.088878 0.894609 -vt 0.081700 0.798548 -vt 0.861441 0.245476 -vt 0.847084 0.245476 -vt 0.839905 0.149415 -vt 0.847084 0.423864 -vt 0.861441 0.423864 -vt 0.868619 0.519925 -vt 0.783046 0.149415 -vt 0.797403 0.149415 -vt 0.804581 0.245476 -vt 0.783046 0.017785 -vt 0.797403 0.017784 -vt 0.804581 0.113846 -vt 0.088878 0.666918 -vt 0.103235 0.666918 -vt 0.110414 0.762979 -vt 0.201346 0.225270 -vt 0.127166 0.225270 -vt 0.127166 0.017785 -vt 0.420354 0.017784 -vt 0.420354 0.225270 -vt 0.346174 0.225270 -vt 0.236670 0.225270 -vt 0.236670 0.017784 -vt 0.310850 0.017784 -vt 0.091842 0.017785 -vt 0.091842 0.225270 -vt 0.017662 0.225270 -vt 0.455678 0.017784 -vt 0.548430 0.017784 -vt 0.110414 0.260839 -vt 0.484392 0.794374 -vt 0.676506 0.017785 -vt 0.711830 0.017784 -vt 0.612468 0.423864 -vt 0.548430 0.794374 -vt 0.775868 0.423864 -vt 0.740544 0.423864 -vt 0.172632 0.631349 -vt 0.676506 0.794373 -vt 0.236670 0.260839 -vt 0.583754 0.017784 -vt 0.374888 0.260839 -vt 0.017662 0.260839 -vt 0.925479 0.594132 -vt 0.925479 0.423864 -vt 0.925479 0.330872 -vt 0.254319 0.734064 -vt 0.267583 0.739596 -vt 0.925479 0.687123 -vt 0.244167 0.682673 -vt 0.238673 0.696029 -vt 0.281940 0.739596 -vt 0.477213 0.829943 -vt 0.310850 0.696029 -vt 0.310850 0.710485 -vt 0.305356 0.723842 -vt 0.295204 0.734064 -vt 0.281940 0.666918 -vt 0.295204 0.672450 -vt 0.238673 0.710485 -vt 0.267583 0.666918 -vt 0.669327 0.829942 -vt 0.541251 0.829942 -vt 0.194168 0.798548 -vt 0.740544 0.887365 -vt 0.804581 0.887365 -vt 0.868619 0.876176 -vt 0.612468 0.887365 -vt 0.932657 0.206837 -vt 0.932657 0.113846 -vt 0.932657 0.876176 -vt 0.201346 0.948962 -vt 0.361820 0.734064 -vt 0.402705 0.734064 -vt 0.389441 0.739596 -vt 0.375084 0.666918 -vt 0.402705 0.672450 -vt 0.418351 0.696029 -vt 0.418351 0.710485 -vt 0.412857 0.723842 -vt 0.375084 0.739596 -vt 0.967981 0.242406 -vt 0.351668 0.682673 -vt 0.361820 0.672450 -vt 0.662149 0.982215 -vt 0.351668 0.723842 -vt 0.389441 0.666918 -vt 0.953624 0.971026 -vt 0.519716 0.922934 -vt 0.740544 0.922934 -vt 0.903943 0.971026 -vt 0.790224 0.922934 -vt 0.261169 0.966077 -vt 0.346174 0.966077 -vt 0.982338 0.653414 -vt 0.598111 0.922934 -vt 0.982338 0.206837 -vt 0.470035 0.982216 -vt 0.418351 0.966077 -vt 0.310850 0.966077 -vt 0.868619 0.971026 -vt 0.201346 0.762979 -vt 0.389638 0.871226 -vt 0.310850 0.871226 -vt 0.868619 0.388295 -vt 0.046376 0.762979 -vt 0.868619 0.113846 -vt 0.804582 0.388295 -vt 0.868619 0.651554 -vt 0.839905 0.783184 -vt 0.017662 0.894609 -vt 0.110414 0.798548 -vt 0.868619 0.149415 -vt 0.839905 0.519925 -vt 0.775868 0.245476 -vt 0.775868 0.113846 -vt 0.081700 0.762979 -vt 0.201346 0.017784 -vt 0.346174 0.017784 -vt 0.310850 0.225270 -vt 0.017662 0.017784 -vn 0.831470 0.555569 0.000001 -vn 0.980785 0.195090 0.000000 -vn 0.980785 -0.195091 0.000000 -vn 0.831470 -0.555570 0.000000 -vn 0.555570 -0.831470 -0.000000 -vn 0.195090 -0.980785 -0.000000 -vn -0.195091 -0.980785 -0.000000 -vn -0.555571 -0.831469 -0.000001 -vn -0.831470 -0.555570 -0.000001 -vn -0.980785 -0.195090 -0.000000 -vn -0.980785 0.195090 -0.000000 -vn -0.831469 0.555571 -0.000000 -vn -0.555570 0.831470 0.000000 -vn -0.195090 0.980785 0.000000 -vn 0.555571 0.831469 0.000000 -vn 0.195091 0.980785 0.000000 -vn 0.643794 0.430169 0.632838 -vn 0.759407 0.151055 0.632837 -vn 0.759406 -0.151056 0.632838 -vn 0.000001 -0.000001 1.000000 -vn 0.643793 -0.430170 0.632838 -vn 0.430169 -0.643794 0.632838 -vn 0.151054 -0.759406 0.632839 -vn -0.151055 -0.759406 0.632839 -vn -0.430170 -0.643793 0.632839 -vn -0.643793 -0.430168 0.632839 -vn -0.759406 -0.151056 0.632838 -vn -0.759407 0.151054 0.632838 -vn -0.643794 0.430170 0.632838 -vn -0.430168 0.643795 0.632838 -vn -0.151056 0.759406 0.632839 -vn 0.151056 0.759407 0.632838 -vn 0.430169 0.643794 0.632838 -vn 0.000000 -0.000000 -1.000000 -vn 0.831470 0.555570 0.000000 -vn 0.980785 0.195091 0.000000 -vn 0.980785 -0.195090 -0.000000 -vn 0.831469 -0.555570 0.000000 -vn -0.555571 -0.831469 0.000000 -vn -0.831470 -0.555569 0.000000 -vn -0.980785 0.195091 0.000000 -vn -0.831470 0.555570 0.000000 -vn 0.555570 0.831470 0.000000 -vn 0.769680 0.514283 -0.378292 -vn 0.514284 0.769680 -0.378292 -vn 0.180592 0.907899 -0.378293 -vn -0.180593 0.907899 -0.378292 -vn -0.514282 0.769681 -0.378292 -vn -0.769680 0.514284 -0.378291 -vn -0.907900 0.180593 -0.378291 -vn -0.907900 -0.180592 -0.378291 -vn -0.769681 -0.514284 -0.378290 -vn -0.514284 -0.769680 -0.378291 -vn -0.180593 -0.907900 -0.378291 -vn 0.180592 -0.907900 -0.378291 -vn 0.514284 -0.769680 -0.378292 -vn 0.769680 -0.514284 -0.378292 -vn 0.907899 -0.180592 -0.378292 -vn 0.907899 0.180593 -0.378292 -vn 0.707107 0.707107 0.000000 -vn -0.707107 -0.707107 0.000000 -vn -0.707106 0.707108 0.000000 -vn 0.707106 -0.707108 0.000000 -vn 0.831470 0.555570 0.000001 -vn -0.980785 -0.195091 -0.000000 -vn 0.643794 0.430170 0.632837 -vn 0.759407 -0.151056 0.632837 -vn 0.000000 0.000000 1.000000 -vn 0.643794 -0.430169 0.632838 -vn 0.000000 -0.000002 1.000000 -vn -0.000001 -0.000001 1.000000 -vn 0.430168 -0.643794 0.632839 -vn -0.000004 -0.000001 1.000000 -vn 0.000007 -0.000002 1.000000 -vn 0.000002 0.000004 1.000000 -vn 0.000005 -0.000002 1.000000 -vn 0.000000 0.000003 1.000000 -vn 0.000000 -0.000001 1.000000 -vn -0.000002 -0.000001 1.000000 -vn -0.000003 -0.000001 1.000000 -vn 0.151054 -0.759406 0.632838 -vn -0.151056 -0.759405 0.632839 -vn -0.430169 -0.643793 0.632839 -vn -0.643793 -0.430169 0.632839 -vn -0.759406 -0.151055 0.632839 -vn -0.759406 0.151055 0.632838 -vn -0.643794 0.430168 0.632838 -vn -0.430170 0.643793 0.632839 -vn -0.151055 0.759407 0.632838 -vn 0.430170 0.643794 0.632838 -vn 0.000003 0.000004 -1.000000 -vn 0.000005 0.000003 -1.000000 -vn -0.000007 0.000002 -1.000000 -vn -0.000004 0.000000 -1.000000 -vn 0.000000 0.000001 -1.000000 -vn -0.000002 0.000000 -1.000000 -vn 0.000001 -0.000001 -1.000000 -vn 0.000000 0.000002 -1.000000 -vn 0.000002 -0.000001 -1.000000 -vn 0.000007 0.000005 -1.000000 -vn 0.000001 0.000002 -1.000000 -vn -0.555570 -0.831470 0.000000 -vn -0.831470 -0.555570 0.000000 -vn -0.195091 0.980785 0.000000 -vn 0.514284 0.769679 -0.378292 -vn 0.180593 0.907899 -0.378292 -vn -0.180592 0.907900 -0.378292 -vn -0.514284 0.769680 -0.378291 -vn -0.769680 0.514285 -0.378291 -vn -0.907900 -0.180593 -0.378291 -vn -0.769680 -0.514284 -0.378291 -vn -0.514284 -0.769681 -0.378291 -vn 0.180593 -0.907900 -0.378291 -vn 0.514284 -0.769680 -0.378291 -vn 0.907899 -0.180593 -0.378292 -vn 0.907899 0.180592 -0.378292 -vn -0.707106 0.707107 0.000000 -s off -f 1/1/1 2/2/1 4/3/1 -f 4/4/2 6/5/2 5/6/2 -f 6/7/3 8/8/3 7/9/3 -f 7/10/4 8/11/4 10/12/4 -f 10/13/5 12/14/5 11/15/5 -f 11/16/6 12/17/6 14/18/6 -f 14/19/7 16/20/7 15/21/7 -f 15/22/8 16/23/8 18/24/8 -f 17/25/9 18/26/9 20/27/9 -f 20/28/10 22/29/10 21/30/10 -f 22/31/11 24/32/11 23/33/11 -f 23/34/12 24/35/12 26/36/12 -f 25/37/13 26/38/13 28/39/13 -f 27/40/14 28/41/14 30/42/14 -f 32/43/15 2/44/15 1/45/15 -f 29/46/16 30/47/16 32/48/16 -f 4/49/17 2/50/17 33/51/17 -f 6/52/18 4/53/18 48/54/18 -f 8/55/19 6/56/19 47/57/19 -f 44/58/20 36/59/20 40/60/20 -f 10/61/21 8/62/21 46/63/21 -f 12/64/22 10/65/22 45/66/22 -f 14/67/23 12/68/23 44/69/23 -f 16/70/24 14/71/24 43/72/24 -f 18/73/25 16/74/25 42/75/25 -f 18/76/26 41/77/26 40/78/26 -f 20/79/27 40/80/27 39/81/27 -f 22/82/28 39/83/28 38/84/28 -f 24/85/29 38/86/29 37/87/29 -f 26/88/30 37/89/30 36/90/30 -f 28/91/31 36/92/31 35/93/31 -f 30/94/32 35/95/32 34/96/32 -f 32/97/33 34/98/33 33/99/33 -f 69/100/34 79/101/34 70/102/34 -f 64/103/35 80/104/35 65/105/35 -f 79/106/36 80/107/36 64/108/36 -f 78/109/37 79/110/37 63/111/37 -f 61/112/38 77/113/38 78/114/38 -f 76/115/5 77/116/5 61/117/5 -f 75/118/6 76/119/6 60/120/6 -f 74/121/7 75/122/7 59/123/7 -f 57/124/39 73/125/39 74/126/39 -f 72/127/40 73/128/40 57/129/40 -f 55/130/10 71/131/10 72/132/10 -f 54/133/41 70/134/41 71/135/41 -f 53/136/42 69/137/42 70/138/42 -f 68/139/13 69/140/13 53/141/13 -f 49/142/43 65/143/43 66/144/43 -f 50/145/16 66/146/16 67/147/16 -f 51/148/14 67/149/14 68/150/14 -f 3/151/44 64/152/44 49/153/44 -f 49/154/45 50/155/45 31/156/45 -f 31/157/46 50/158/46 51/159/46 -f 29/160/47 51/161/47 52/162/47 -f 27/163/48 52/164/48 53/165/48 -f 25/166/49 53/167/49 54/168/49 -f 23/169/50 54/170/50 55/171/50 -f 21/172/51 55/173/51 56/174/51 -f 56/175/52 57/176/52 17/177/52 -f 57/178/53 58/179/53 15/180/53 -f 58/181/54 59/182/54 13/183/54 -f 59/184/55 60/185/55 11/186/55 -f 60/187/56 61/188/56 9/189/56 -f 61/190/57 62/191/57 7/192/57 -f 62/193/58 63/194/58 5/195/58 -f 63/196/59 64/197/59 3/198/59 -f 82/199/60 84/200/60 83/201/60 -f 87/202/61 88/203/61 86/204/61 -f 91/205/62 92/206/62 90/207/62 -f 93/208/63 94/209/63 96/210/63 -f 3/211/64 1/1/64 4/3/64 -f 3/212/2 4/4/2 5/6/2 -f 5/213/3 6/7/3 7/9/3 -f 9/214/4 7/10/4 10/12/4 -f 9/215/5 10/13/5 11/15/5 -f 13/216/6 11/16/6 14/18/6 -f 13/217/7 14/19/7 15/21/7 -f 17/218/8 15/22/8 18/24/8 -f 19/219/9 17/25/9 20/27/9 -f 19/220/65 20/28/65 21/30/65 -f 21/221/41 22/31/41 23/33/41 -f 25/222/12 23/34/12 26/36/12 -f 27/223/13 25/37/13 28/39/13 -f 29/224/14 27/40/14 30/42/14 -f 31/225/15 32/43/15 1/45/15 -f 31/226/16 29/46/16 32/48/16 -f 48/227/66 4/49/66 33/51/66 -f 47/228/18 6/52/18 48/54/18 -f 46/229/67 8/55/67 47/57/67 -f 35/230/68 36/59/68 34/231/68 -f 45/232/69 10/61/69 46/63/69 -f 39/233/70 40/60/70 38/234/70 -f 44/58/71 33/235/71 36/59/71 -f 44/236/72 12/64/72 45/66/72 -f 45/237/73 33/235/73 44/58/73 -f 45/237/74 46/238/74 47/239/74 -f 47/239/70 48/240/70 33/235/70 -f 42/241/75 43/242/75 44/58/75 -f 40/60/76 37/243/76 38/234/76 -f 36/59/77 33/235/77 34/231/77 -f 45/237/78 47/239/78 33/235/78 -f 40/60/79 42/241/79 44/58/79 -f 40/60/68 41/244/68 42/241/68 -f 36/59/80 37/243/80 40/60/80 -f 43/245/81 14/67/81 44/69/81 -f 42/246/82 16/70/82 43/72/82 -f 41/247/83 18/73/83 42/75/83 -f 20/248/84 18/76/84 40/78/84 -f 22/249/85 20/79/85 39/81/85 -f 24/250/86 22/82/86 38/84/86 -f 26/251/87 24/85/87 37/87/87 -f 28/252/88 26/88/88 36/90/88 -f 30/253/89 28/91/89 35/93/89 -f 32/254/32 30/94/32 34/96/32 -f 2/255/90 32/97/90 33/99/90 -f 72/256/91 75/257/91 74/258/91 -f 79/101/92 66/259/92 80/260/92 -f 79/101/93 78/261/93 77/262/93 -f 77/262/94 76/263/94 75/257/94 -f 73/264/34 72/256/34 74/258/34 -f 72/256/95 79/101/95 77/262/95 -f 49/265/35 64/103/35 65/105/35 -f 69/100/96 68/266/96 67/267/96 -f 63/268/2 79/106/2 64/108/2 -f 75/257/97 72/256/97 77/262/97 -f 72/256/98 71/269/98 70/102/98 -f 79/101/99 67/267/99 66/259/99 -f 66/259/100 65/270/100 80/260/100 -f 70/102/101 79/101/101 72/256/101 -f 69/100/34 67/267/34 79/101/34 -f 62/271/3 78/109/3 63/111/3 -f 62/272/38 61/112/38 78/114/38 -f 60/273/5 76/115/5 61/117/5 -f 59/274/6 75/118/6 60/120/6 -f 58/275/7 74/121/7 59/123/7 -f 58/276/102 57/124/102 74/126/102 -f 56/277/103 72/127/103 57/129/103 -f 56/278/10 55/130/10 72/132/10 -f 55/279/11 54/133/11 71/135/11 -f 54/280/12 53/136/12 70/138/12 -f 52/281/13 68/139/13 53/141/13 -f 50/282/15 49/142/15 66/144/15 -f 51/283/16 50/145/16 67/147/16 -f 52/284/104 51/148/104 68/150/104 -f 1/285/44 3/151/44 49/153/44 -f 1/286/105 49/154/105 31/156/105 -f 29/287/106 31/157/106 51/159/106 -f 27/288/107 29/160/107 52/162/107 -f 25/289/108 27/163/108 53/165/108 -f 23/290/109 25/166/109 54/168/109 -f 21/291/50 23/169/50 55/171/50 -f 19/292/110 21/172/110 56/174/110 -f 19/293/111 56/175/111 17/177/111 -f 17/294/112 57/178/112 15/180/112 -f 15/295/54 58/181/54 13/183/54 -f 13/296/113 59/184/113 11/186/113 -f 11/297/114 60/187/114 9/189/114 -f 9/298/57 61/190/57 7/192/57 -f 7/299/115 62/193/115 5/195/115 -f 5/300/116 63/196/116 3/198/116 -f 81/301/60 82/199/60 83/201/60 -f 85/302/61 87/202/61 86/204/61 -f 89/303/117 91/205/117 90/207/117 -f 95/304/63 93/208/63 96/210/63 diff --git a/src/main/resources/assets/hbm/models/Missile.obj b/src/main/resources/assets/hbm/models/Missile.obj deleted file mode 100644 index 34659fbf8..000000000 --- a/src/main/resources/assets/hbm/models/Missile.obj +++ /dev/null @@ -1,704 +0,0 @@ -# Blender v2.70 (sub 0) OBJ File: 'Missile.blend' -# www.blender.org -o Cylinder -v -0.109738 3.500000 -0.551692 -v -0.109738 3.750000 -0.551692 -v 0.109738 3.500000 -0.551692 -v 0.109738 3.750000 -0.551692 -v 0.312508 3.500000 -0.467702 -v 0.312508 3.750000 -0.467702 -v 0.467702 3.500000 -0.312508 -v 0.467702 3.750000 -0.312508 -v 0.551692 3.500000 -0.109738 -v 0.551692 3.750000 -0.109738 -v 0.551692 3.500000 0.109738 -v 0.551692 3.750000 0.109738 -v 0.467702 3.500000 0.312508 -v 0.467702 3.750000 0.312508 -v 0.312508 3.500000 0.467702 -v 0.312508 3.750000 0.467702 -v 0.109738 3.500000 0.551692 -v 0.109738 3.750000 0.551692 -v -0.109738 3.500000 0.551692 -v -0.109738 3.750000 0.551692 -v -0.312508 3.500000 0.467702 -v -0.312508 3.750000 0.467702 -v -0.467702 3.500000 0.312508 -v -0.467702 3.750000 0.312508 -v -0.551692 3.500000 0.109738 -v -0.551692 3.750000 0.109738 -v -0.551692 3.500000 -0.109738 -v -0.551692 3.750000 -0.109738 -v -0.467702 3.500000 -0.312508 -v -0.467702 3.750000 -0.312508 -v -0.312508 3.500000 -0.467702 -v -0.312508 3.750000 -0.467702 -v -0.097545 1.000000 -0.490393 -v -0.097545 3.500000 -0.490393 -v 0.097545 1.000000 -0.490393 -v 0.097545 3.500000 -0.490393 -v 0.277785 1.000000 -0.415735 -v 0.277785 3.500000 -0.415735 -v 0.415735 1.000000 -0.277785 -v 0.415735 3.500000 -0.277785 -v 0.490393 1.000000 -0.097545 -v 0.490393 3.500000 -0.097545 -v 0.490393 1.000000 0.097545 -v 0.490393 3.500000 0.097545 -v 0.415735 1.000000 0.277785 -v 0.415735 3.500000 0.277785 -v 0.277785 1.000000 0.415735 -v 0.277785 3.500000 0.415735 -v 0.097545 1.000000 0.490393 -v 0.097545 3.500000 0.490393 -v -0.097545 1.000000 0.490393 -v -0.097545 3.500000 0.490393 -v -0.277785 1.000000 0.415735 -v -0.277785 3.500000 0.415735 -v -0.415735 1.000000 0.277785 -v -0.415735 3.500000 0.277785 -v -0.490393 1.000000 0.097545 -v -0.490393 3.500000 0.097545 -v -0.490393 1.000000 -0.097545 -v -0.490393 3.500000 -0.097545 -v -0.415735 1.000000 -0.277785 -v -0.415735 3.500000 -0.277785 -v -0.277785 1.000000 -0.415735 -v -0.277785 3.500000 -0.415735 -v -0.036579 4.750000 -0.183897 -v 0.036580 4.750000 -0.183897 -v 0.104169 4.750000 -0.155901 -v 0.155901 4.750000 -0.104169 -v 0.183897 4.750000 -0.036579 -v 0.183897 4.750000 0.036579 -v 0.155901 4.750000 0.104169 -v 0.104170 4.750000 0.155901 -v 0.036580 4.750000 0.183897 -v -0.036579 4.750000 0.183897 -v -0.104169 4.750000 0.155901 -v -0.155901 4.750000 0.104169 -v -0.183897 4.750000 0.036579 -v -0.183897 4.750000 -0.036579 -v -0.155900 4.750000 -0.104169 -v -0.104169 4.750000 -0.155901 -v -0.146318 0.000000 -0.735589 -v 0.146318 0.000000 -0.735589 -v 0.416678 0.000000 -0.623602 -v 0.623602 0.000000 -0.416678 -v 0.735589 0.000000 -0.146318 -v 0.735589 0.000000 0.146318 -v 0.623602 0.000000 0.416678 -v 0.416678 0.000000 0.623602 -v 0.146318 0.000000 0.735589 -v -0.146318 0.000000 0.735589 -v -0.416678 0.000000 0.623602 -v -0.623602 0.000000 0.416678 -v -0.735589 0.000000 0.146318 -v -0.735589 0.000000 -0.146318 -v -0.623602 0.000000 -0.416678 -v -0.416678 0.000000 -0.623602 -vt 0.406722 0.903820 -vt 0.371027 0.903820 -vt 0.371027 0.863107 -vt 0.351511 0.964074 -vt 0.315817 0.964074 -vt 0.315817 0.923362 -vt 0.935031 0.050484 -vt 0.899337 0.050484 -vt 0.899337 0.009771 -vt 0.045453 0.943524 -vt 0.009758 0.943524 -vt 0.009758 0.902811 -vt 0.249022 0.929334 -vt 0.213328 0.929334 -vt 0.213328 0.888621 -vt 0.406722 0.964074 -vt 0.371027 0.964074 -vt 0.371027 0.923362 -vt 0.505245 0.903820 -vt 0.469551 0.903820 -vt 0.469551 0.863107 -vt 0.191893 0.955207 -vt 0.156199 0.955207 -vt 0.156199 0.914494 -vt 0.136683 0.974389 -vt 0.100988 0.974389 -vt 0.100988 0.933677 -vt 0.351511 0.903820 -vt 0.315817 0.903820 -vt 0.315817 0.863107 -vt 0.505245 0.964074 -vt 0.469551 0.964074 -vt 0.469551 0.923362 -vt 0.009758 0.842556 -vt 0.045453 0.842556 -vt 0.045453 0.883269 -vt 0.935031 0.110738 -vt 0.899337 0.110738 -vt 0.899337 0.070026 -vt 0.899337 0.136733 -vt 0.935031 0.136733 -vt 0.935031 0.177445 -vt 0.954548 0.563561 -vt 0.966446 0.390045 -vt 0.978344 0.390045 -vt 0.213328 0.948876 -vt 0.249022 0.948876 -vt 0.249022 0.989588 -vt 0.191893 0.894952 -vt 0.156199 0.894952 -vt 0.156199 0.854239 -vt 0.023418 0.307846 -vt 0.031869 0.313501 -vt 0.019727 0.342853 -vt 0.556490 0.416897 -vt 0.524761 0.416897 -vt 0.524761 0.009771 -vt 0.627250 0.009771 -vt 0.658979 0.009771 -vt 0.658979 0.416897 -vt 0.780984 0.009771 -vt 0.812712 0.009771 -vt 0.812712 0.416897 -vt 0.710223 0.416897 -vt 0.678495 0.416897 -vt 0.678495 0.009771 -vt 0.761468 0.416897 -vt 0.729739 0.416897 -vt 0.729739 0.009771 -vt 0.454001 0.416897 -vt 0.422272 0.416897 -vt 0.422272 0.009771 -vt 0.473517 0.436439 -vt 0.505245 0.436439 -vt 0.505245 0.843565 -vt 0.351511 0.843565 -vt 0.319783 0.843565 -vt 0.319783 0.436439 -vt 0.300267 0.843565 -vt 0.268538 0.843565 -vt 0.268538 0.436439 -vt 0.217294 0.268895 -vt 0.249022 0.268895 -vt 0.249022 0.676021 -vt 0.300267 0.416897 -vt 0.268538 0.416897 -vt 0.268538 0.009771 -vt 0.402756 0.416897 -vt 0.371028 0.416897 -vt 0.371027 0.009771 -vt 0.505245 0.416897 -vt 0.473517 0.416897 -vt 0.473517 0.009771 -vt 0.351511 0.416897 -vt 0.319783 0.416897 -vt 0.319783 0.009771 -vt 0.454000 0.436439 -vt 0.454000 0.843565 -vt 0.422272 0.843565 -vt 0.576006 0.009771 -vt 0.607734 0.009771 -vt 0.607734 0.416897 -vt 0.840160 0.009771 -vt 0.871889 0.009771 -vt 0.879821 0.177445 -vt 0.136683 0.878230 -vt 0.136683 0.890144 -vt 0.089833 0.858799 -vt 0.603768 0.984388 -vt 0.615666 0.810872 -vt 0.627564 0.810872 -vt 0.658979 0.984388 -vt 0.670877 0.810872 -vt 0.682775 0.810872 -vt 0.773680 0.984388 -vt 0.737986 0.984388 -vt 0.749884 0.810872 -vt 0.112561 0.834697 -vt 0.076867 0.834697 -vt 0.088765 0.661181 -vt 0.895999 0.990229 -vt 0.860305 0.990229 -vt 0.872203 0.816713 -vt 0.951210 0.990229 -vt 0.915515 0.990229 -vt 0.927413 0.816713 -vt 0.935031 0.563561 -vt 0.899337 0.563561 -vt 0.911235 0.390045 -vt 0.915515 0.797171 -vt 0.927414 0.623655 -vt 0.939312 0.623655 -vt 0.112561 0.641639 -vt 0.076867 0.641639 -vt 0.088765 0.468123 -vt 0.213328 0.869079 -vt 0.225226 0.695563 -vt 0.237124 0.695563 -vt 0.860305 0.797171 -vt 0.872203 0.623655 -vt 0.884101 0.623655 -vt 0.954548 0.370503 -vt 0.966446 0.196987 -vt 0.978344 0.196987 -vt 0.899337 0.370503 -vt 0.911235 0.196987 -vt 0.923133 0.196987 -vt 0.524761 0.984388 -vt 0.536659 0.810872 -vt 0.548557 0.810872 -vt 0.805094 0.984387 -vt 0.816992 0.810872 -vt 0.828891 0.810872 -vt 0.061624 0.028008 -vt 0.105594 0.009771 -vt 0.027971 0.197418 -vt 0.181274 0.468123 -vt 0.189206 0.635798 -vt 0.141614 0.635798 -vt 0.049419 0.655340 -vt 0.057351 0.823014 -vt 0.009758 0.823014 -vt 0.871889 0.249223 -vt 0.879821 0.416897 -vt 0.832228 0.416897 -vt 0.765748 0.436439 -vt 0.773680 0.604113 -vt 0.726087 0.604113 -vt 0.532693 0.791330 -vt 0.524761 0.623655 -vt 0.572354 0.623655 -vt 0.698639 0.436439 -vt 0.706571 0.604113 -vt 0.658979 0.604113 -vt 0.181274 0.655340 -vt 0.189206 0.823014 -vt 0.141614 0.823014 -vt 0.631531 0.604113 -vt 0.599802 0.604113 -vt 0.591870 0.436439 -vt 0.599802 0.791330 -vt 0.591870 0.623655 -vt 0.639463 0.623655 -vt 0.698639 0.623655 -vt 0.706571 0.791330 -vt 0.658979 0.791330 -vt 0.049419 0.468123 -vt 0.057351 0.635798 -vt 0.009758 0.635798 -vt 0.801128 0.436439 -vt 0.832857 0.436439 -vt 0.840789 0.604113 -vt 0.564422 0.436439 -vt 0.572354 0.604113 -vt 0.524761 0.604113 -vt 0.801128 0.623655 -vt 0.832857 0.623655 -vt 0.840789 0.791330 -vt 0.765748 0.791330 -vt 0.734019 0.791330 -vt 0.726087 0.623655 -vt 0.009758 0.376609 -vt 0.009758 0.340867 -vt 0.031869 0.403976 -vt 0.023418 0.409630 -vt 0.054305 0.426441 -vt 0.048657 0.434904 -vt 0.081635 0.448581 -vt 0.117329 0.448581 -vt 0.083618 0.438599 -vt 0.150307 0.434904 -vt 0.115346 0.438599 -vt 0.175547 0.409630 -vt 0.144660 0.426441 -vt 0.179237 0.374624 -vt 0.189206 0.376609 -vt 0.189206 0.340867 -vt 0.167095 0.313501 -vt 0.175547 0.307846 -vt 0.144660 0.291036 -vt 0.150307 0.282573 -vt 0.115346 0.278878 -vt 0.117329 0.268895 -vt 0.081635 0.268895 -vt 0.054305 0.291036 -vt 0.048658 0.282573 -vt 0.406722 0.863107 -vt 0.351511 0.923362 -vt 0.935031 0.009771 -vt 0.045453 0.902811 -vt 0.249022 0.888621 -vt 0.406722 0.923362 -vt 0.505245 0.863107 -vt 0.191893 0.914494 -vt 0.136683 0.933677 -vt 0.351511 0.863107 -vt 0.505245 0.923362 -vt 0.009758 0.883269 -vt 0.935031 0.070026 -vt 0.899337 0.177445 -vt 0.990242 0.563561 -vt 0.213328 0.989588 -vt 0.191893 0.854239 -vt 0.556490 0.009771 -vt 0.627250 0.416897 -vt 0.780984 0.416897 -vt 0.710223 0.009771 -vt 0.761468 0.009771 -vt 0.454000 0.009771 -vt 0.473517 0.843565 -vt 0.351511 0.436439 -vt 0.300267 0.436439 -vt 0.217294 0.676021 -vt 0.300267 0.009771 -vt 0.402756 0.009771 -vt 0.505245 0.009771 -vt 0.351511 0.009771 -vt 0.422272 0.436439 -vt 0.576006 0.416897 -vt 0.832228 0.177445 -vt 0.132130 0.901151 -vt 0.123716 0.909575 -vt 0.112724 0.914135 -vt 0.100826 0.914135 -vt 0.081420 0.901151 -vt 0.076867 0.890144 -vt 0.089833 0.909575 -vt 0.076867 0.878230 -vt 0.081420 0.867223 -vt 0.100826 0.854239 -vt 0.112724 0.854239 -vt 0.123716 0.858799 -vt 0.132130 0.867223 -vt 0.639463 0.984388 -vt 0.694673 0.984388 -vt 0.761782 0.810872 -vt 0.100663 0.661181 -vt 0.884101 0.816713 -vt 0.939312 0.816713 -vt 0.923133 0.390045 -vt 0.951210 0.797171 -vt 0.100663 0.468123 -vt 0.249022 0.869079 -vt 0.895999 0.797171 -vt 0.990242 0.370503 -vt 0.935031 0.370503 -vt 0.560456 0.984388 -vt 0.840789 0.984388 -vt 0.197156 0.028008 -vt 0.230809 0.061706 -vt 0.249022 0.105734 -vt 0.249022 0.153390 -vt 0.230809 0.197418 -vt 0.197156 0.231116 -vt 0.153186 0.249353 -vt 0.153186 0.009771 -vt 0.061624 0.231116 -vt 0.009758 0.153390 -vt 0.009758 0.105734 -vt 0.027971 0.061706 -vt 0.105594 0.249353 -vt 0.149546 0.468123 -vt 0.017690 0.655340 -vt 0.840160 0.249223 -vt 0.734020 0.436439 -vt 0.564422 0.791330 -vt 0.666911 0.436439 -vt 0.149545 0.655340 -vt 0.639463 0.436439 -vt 0.631530 0.791330 -vt 0.666911 0.623655 -vt 0.017690 0.468123 -vt 0.793196 0.604113 -vt 0.532693 0.436439 -vt 0.793196 0.791330 -vt 0.773680 0.623655 -vt 0.019727 0.374623 -vt 0.167095 0.403976 -vt 0.179237 0.342853 -vt 0.083618 0.278878 -vn 0.000000 0.000000 -1.000000 -vn 0.382684 0.000000 -0.923879 -vn 0.707107 0.000000 -0.707107 -vn 0.923879 0.000000 -0.382684 -vn 1.000000 0.000000 0.000000 -vn 0.923880 0.000000 0.382684 -vn 0.707107 0.000000 0.707107 -vn 0.382684 0.000000 0.923879 -vn 0.000000 0.000000 1.000000 -vn -0.382683 0.000000 0.923880 -vn -0.707107 0.000000 0.707107 -vn -0.923880 0.000000 0.382683 -vn -1.000000 0.000000 -0.000000 -vn -0.923880 0.000000 -0.382683 -vn 0.663644 0.345188 -0.663643 -vn -0.382683 0.000000 -0.923880 -vn -0.707106 0.000000 -0.707107 -vn 0.000000 -1.000000 0.000000 -vn 0.382683 0.000000 -0.923880 -vn 0.923880 0.000000 -0.382683 -vn 0.923880 0.000000 0.382683 -vn -0.923879 0.000000 0.382683 -vn -0.923879 0.000000 -0.382684 -vn -0.707107 0.000000 -0.707107 -vn 0.371674 0.238142 -0.897300 -vn 0.000000 1.000000 0.000006 -vn -0.867092 0.345187 -0.359162 -vn 0.867092 0.345188 0.359161 -vn 0.000000 0.345187 0.938534 -vn -0.867092 0.345188 0.359162 -vn 0.867092 0.345188 -0.359161 -vn -0.663643 0.345188 -0.663644 -vn 0.663644 0.345188 0.663643 -vn -0.359162 0.345188 0.867092 -vn 0.359162 0.345188 -0.867092 -vn -0.938534 0.345188 0.000001 -vn 0.938534 0.345188 0.000001 -vn -0.359160 0.345187 -0.867093 -vn 0.000000 0.345188 -0.938534 -vn 0.359162 0.345188 0.867092 -vn -0.663643 0.345188 0.663644 -vn -0.971230 0.238142 0.000000 -vn 0.971230 0.238142 -0.000000 -vn -0.371673 0.238142 -0.897300 -vn 0.000000 0.238142 -0.971230 -vn 0.371674 0.238142 0.897300 -vn -0.686763 0.238142 0.686764 -vn 0.686763 0.238142 -0.686764 -vn -0.897300 0.238142 -0.371674 -vn 0.897300 0.238142 0.371674 -vn 0.000000 0.238142 0.971230 -vn -0.897300 0.238142 0.371674 -vn 0.897300 0.238142 -0.371674 -vn -0.686763 0.238142 -0.686764 -vn 0.686763 0.238142 0.686763 -vn -0.371674 0.238142 0.897300 -vn 0.000000 -1.000000 0.000003 -vn 0.000000 -1.000000 -0.000002 -vn 0.000000 -1.000000 0.000009 -vn 0.000000 -1.000000 0.000002 -vn 0.923879 0.000000 0.382684 -vn 0.707107 0.000000 0.707106 -vn 0.000001 0.000000 1.000000 -vn -0.382684 0.000000 0.923879 -vn -0.923879 0.000000 0.382684 -vn -0.707107 0.000000 -0.707106 -vn 0.000000 -1.000000 -0.000009 -vn 0.382683 0.000000 0.923880 -vn 0.000000 1.000000 0.000058 -vn 0.000000 1.000000 -0.000015 -vn 0.000000 1.000000 0.000000 -vn 0.000000 1.000000 -0.000001 -vn 0.000000 1.000000 -0.000029 -vn 0.000000 1.000000 -0.000004 -vn 0.000000 1.000000 -0.000016 -vn -0.867092 0.345188 -0.359161 -vn 0.000000 1.000000 0.000002 -vn 0.867092 0.345187 0.359162 -vn 0.000001 0.345187 0.938534 -vn -0.867093 0.345188 0.359159 -vn 0.867091 0.345187 -0.359165 -vn -0.663643 0.345187 -0.663644 -vn 0.663643 0.345187 0.663644 -vn -0.359161 0.345188 0.867092 -vn 0.359162 0.345187 -0.867092 -vn -0.938534 0.345188 0.000000 -vn 0.938534 0.345188 0.000000 -vn -0.359162 0.345188 -0.867092 -vn 0.359161 0.345188 0.867092 -vn -0.663644 0.345188 0.663644 -vn -0.371674 0.238142 -0.897300 -vn 0.686764 0.238142 -0.686764 -vn 0.686764 0.238142 0.686763 -vn -0.371673 0.238142 0.897300 -vn 0.000000 -1.000000 0.000005 -vn 0.000000 -1.000000 -0.000010 -s off -f 2/1/1 4/2/1 3/3/1 -f 4/4/2 6/5/2 5/6/2 -f 6/7/3 8/8/3 7/9/3 -f 8/10/4 10/11/4 9/12/4 -f 10/13/5 12/14/5 11/15/5 -f 12/16/6 14/17/6 13/18/6 -f 14/19/7 16/20/7 15/21/7 -f 16/22/8 18/23/8 17/24/8 -f 18/25/9 20/26/9 19/27/9 -f 20/28/10 22/29/10 21/30/10 -f 22/31/11 24/32/11 23/33/11 -f 24/34/12 26/35/12 25/36/12 -f 26/37/13 28/38/13 27/39/13 -f 28/40/14 30/41/14 29/42/14 -f 6/43/15 67/44/15 68/45/15 -f 32/46/16 2/47/16 1/48/16 -f 30/49/17 32/50/17 31/51/17 -f 5/52/18 38/53/18 36/54/18 -f 34/55/1 36/56/1 35/57/1 -f 36/58/19 38/59/19 37/60/19 -f 38/61/3 40/62/3 39/63/3 -f 40/64/20 42/65/20 41/66/20 -f 42/67/5 44/68/5 43/69/5 -f 44/70/21 46/71/21 45/72/21 -f 46/73/7 48/74/7 47/75/7 -f 48/76/8 50/77/8 49/78/8 -f 50/79/9 52/80/9 51/81/9 -f 52/82/10 54/83/10 53/84/10 -f 54/85/11 56/86/11 55/87/11 -f 56/88/22 58/89/22 57/90/22 -f 58/91/13 60/92/13 59/93/13 -f 60/94/23 62/95/23 61/96/23 -f 63/97/16 64/98/16 34/99/16 -f 62/100/24 64/101/24 63/102/24 -f 35/103/25 37/104/25 83/105/25 -f 68/106/26 67/107/26 73/108/26 -f 28/109/27 78/110/27 79/111/27 -f 12/112/28 70/113/28 71/114/28 -f 20/115/29 18/116/29 73/117/29 -f 26/118/30 24/119/30 76/120/30 -f 10/121/31 8/122/31 68/123/31 -f 32/124/32 30/125/32 79/126/32 -f 16/127/33 14/128/33 71/129/33 -f 20/130/34 74/131/34 75/132/34 -f 6/133/35 4/134/35 66/135/35 -f 26/136/36 77/137/36 78/138/36 -f 10/139/37 69/140/37 70/141/37 -f 32/142/38 80/143/38 65/144/38 -f 2/145/39 65/146/39 66/147/39 -f 16/148/40 72/149/40 73/150/40 -f 22/151/41 75/152/41 76/153/41 -f 96/154/18 81/155/18 92/156/18 -f 59/157/42 94/158/42 93/159/42 -f 43/160/43 86/161/43 85/162/43 -f 33/163/44 81/164/44 96/165/44 -f 35/166/45 82/167/45 81/168/45 -f 49/169/46 89/170/46 88/171/46 -f 55/172/47 92/173/47 91/174/47 -f 39/175/48 84/176/48 83/177/48 -f 59/178/49 61/179/49 95/180/49 -f 45/181/50 87/182/50 86/183/50 -f 51/184/51 90/185/51 89/186/51 -f 57/187/52 93/188/52 92/189/52 -f 39/190/53 41/191/53 85/192/53 -f 63/193/54 96/194/54 95/195/54 -f 45/196/55 47/197/55 88/198/55 -f 51/199/56 53/200/56 91/201/56 -f 1/202/57 3/203/57 36/54/57 -f 64/204/18 31/205/18 1/202/18 -f 62/206/18 29/207/18 31/205/18 -f 27/208/18 29/207/18 62/206/18 -f 25/209/18 27/208/18 60/210/18 -f 23/211/58 25/209/58 58/212/58 -f 21/213/18 23/211/18 56/214/18 -f 52/215/59 19/216/59 21/213/59 -f 17/217/60 19/216/60 52/215/60 -f 48/218/18 15/219/18 17/217/18 -f 46/220/18 13/221/18 15/219/18 -f 44/222/18 11/223/18 13/221/18 -f 9/224/18 11/223/18 44/222/18 -f 40/225/18 7/226/18 9/224/18 -f 38/53/18 5/52/18 7/226/18 -f 1/227/1 2/1/1 3/3/1 -f 3/228/19 4/4/19 5/6/19 -f 5/229/3 6/7/3 7/9/3 -f 7/230/4 8/10/4 9/12/4 -f 9/231/5 10/13/5 11/15/5 -f 11/232/61 12/16/61 13/18/61 -f 13/233/62 14/19/62 15/21/62 -f 15/234/8 16/22/8 17/24/8 -f 17/235/63 18/25/63 19/27/63 -f 19/236/64 20/28/64 21/30/64 -f 21/237/11 22/31/11 23/33/11 -f 23/238/65 24/34/65 25/36/65 -f 25/239/13 26/37/13 27/39/13 -f 27/240/14 28/40/14 29/42/14 -f 8/241/15 6/43/15 68/45/15 -f 31/242/16 32/46/16 1/48/16 -f 29/243/66 30/49/66 31/51/66 -f 3/203/67 5/52/67 36/54/67 -f 33/244/1 34/55/1 35/57/1 -f 35/245/19 36/58/19 37/60/19 -f 37/246/3 38/61/3 39/63/3 -f 39/247/20 40/64/20 41/66/20 -f 41/248/5 42/67/5 43/69/5 -f 43/249/21 44/70/21 45/72/21 -f 45/250/7 46/73/7 47/75/7 -f 47/251/68 48/76/68 49/78/68 -f 49/252/9 50/79/9 51/81/9 -f 51/253/10 52/82/10 53/84/10 -f 53/254/11 54/85/11 55/87/11 -f 55/255/65 56/88/65 57/90/65 -f 57/256/13 58/91/13 59/93/13 -f 59/257/23 60/94/23 61/96/23 -f 33/258/16 63/97/16 34/99/16 -f 61/259/24 62/100/24 63/102/24 -f 82/260/25 35/103/25 83/105/25 -f 67/107/69 66/261/69 65/262/69 -f 65/262/70 80/263/70 79/264/70 -f 77/265/71 76/266/71 78/267/71 -f 75/268/72 79/264/72 76/266/72 -f 75/268/73 74/269/73 73/108/73 -f 73/108/71 72/270/71 71/271/71 -f 71/271/74 70/272/74 69/273/74 -f 76/266/71 79/264/71 78/267/71 -f 67/107/75 65/262/75 79/264/75 -f 71/271/71 69/273/71 68/106/71 -f 71/271/71 68/106/71 73/108/71 -f 30/274/76 28/109/76 79/111/76 -f 67/107/77 79/264/77 75/268/77 -f 14/275/78 12/112/78 71/114/78 -f 67/107/71 75/268/71 73/108/71 -f 74/276/79 20/115/79 73/117/79 -f 77/277/80 26/118/80 76/120/80 -f 69/278/81 10/121/81 68/123/81 -f 80/279/82 32/124/82 79/126/82 -f 72/280/83 16/127/83 71/129/83 -f 22/281/84 20/130/84 75/132/84 -f 67/282/85 6/133/85 66/135/85 -f 28/283/86 26/136/86 78/138/86 -f 12/284/87 10/139/87 70/141/87 -f 2/285/88 32/142/88 65/144/88 -f 4/286/39 2/145/39 66/147/39 -f 18/287/89 16/148/89 73/150/89 -f 24/288/90 22/151/90 76/153/90 -f 92/156/18 81/155/18 83/289/18 -f 83/289/18 84/290/18 85/291/18 -f 86/292/18 87/293/18 85/291/18 -f 88/294/18 89/295/18 87/293/18 -f 81/155/18 82/296/18 83/289/18 -f 92/156/18 89/295/18 91/297/18 -f 92/156/18 93/298/18 94/299/18 -f 94/299/18 95/300/18 96/154/18 -f 85/291/18 89/295/18 92/156/18 -f 87/293/18 89/295/18 85/291/18 -f 85/291/18 92/156/18 83/289/18 -f 92/156/18 94/299/18 96/154/18 -f 89/295/18 90/301/18 91/297/18 -f 57/302/42 59/157/42 93/159/42 -f 41/303/43 43/160/43 85/162/43 -f 63/304/91 33/163/91 96/165/91 -f 33/305/45 35/166/45 81/168/45 -f 47/306/46 49/169/46 88/171/46 -f 53/307/47 55/172/47 91/174/47 -f 37/308/92 39/175/92 83/177/92 -f 94/309/49 59/178/49 95/180/49 -f 43/310/50 45/181/50 86/183/50 -f 49/311/51 51/184/51 89/186/51 -f 55/312/52 57/187/52 92/189/52 -f 84/313/53 39/190/53 85/192/53 -f 61/314/54 63/193/54 95/195/54 -f 87/315/93 45/196/93 88/198/93 -f 90/316/94 51/199/94 91/201/94 -f 34/317/18 1/202/18 36/54/18 -f 34/317/18 64/204/18 1/202/18 -f 64/204/18 62/206/18 31/205/18 -f 60/210/18 27/208/18 62/206/18 -f 58/212/18 25/209/18 60/210/18 -f 56/214/60 23/211/60 58/212/60 -f 54/318/95 21/213/95 56/214/95 -f 54/318/18 52/215/18 21/213/18 -f 50/319/18 17/217/18 52/215/18 -f 50/319/96 48/218/96 17/217/96 -f 48/218/18 46/220/18 15/219/18 -f 46/220/18 44/222/18 13/221/18 -f 42/320/18 9/224/18 44/222/18 -f 42/320/18 40/225/18 9/224/18 -f 40/225/18 38/53/18 7/226/18 diff --git a/src/main/resources/assets/hbm/models/NukeCloudHuge.obj b/src/main/resources/assets/hbm/models/NukeCloudHuge.obj deleted file mode 100644 index b4528b6f0..000000000 --- a/src/main/resources/assets/hbm/models/NukeCloudHuge.obj +++ /dev/null @@ -1,945 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'NukeCloudHuge.blend' -# www.blender.org -o Cylinder -v -0.000000 0.000000 -6.000000 -v -0.000000 1.000000 -3.125000 -v 2.296101 0.000000 -5.543277 -v 1.195886 1.000000 -2.887124 -v 4.242640 0.000000 -4.242640 -v 2.209708 1.000000 -2.209709 -v 5.543277 0.000000 -2.296101 -v 2.887123 1.000000 -1.195886 -v 6.000000 0.000000 0.000000 -v 3.125000 1.000000 0.000000 -v 5.543277 0.000000 2.296101 -v 2.887123 1.000000 1.195886 -v 4.242640 0.000000 4.242640 -v 2.209708 1.000000 2.209709 -v 2.296101 0.000000 5.543277 -v 1.195886 1.000000 2.887124 -v 0.000001 0.000000 6.000000 -v 0.000000 1.000000 3.125000 -v -2.296099 0.000000 5.543278 -v -1.195885 1.000000 2.887124 -v -4.242640 0.000000 4.242642 -v -2.209708 1.000000 2.209710 -v -5.543277 0.000000 2.296102 -v -2.887124 1.000000 1.195886 -v -6.000000 0.000000 -0.000000 -v -3.125000 1.000000 -0.000000 -v -5.543277 0.000000 -2.296102 -v -2.887124 1.000000 -1.195886 -v -4.242640 0.000000 -4.242642 -v -2.209708 1.000000 -2.209710 -v -2.296098 0.000000 -5.543279 -v -1.195884 1.000000 -2.887124 -v -0.000000 2.000000 -1.500000 -v 0.574025 2.000000 -1.385819 -v 1.060660 2.000000 -1.060660 -v 1.385819 2.000000 -0.574025 -v 1.500000 2.000000 0.000000 -v 1.385819 2.000000 0.574025 -v 1.060660 2.000000 1.060660 -v 0.574025 2.000000 1.385819 -v 0.000000 2.000000 1.500000 -v -0.574025 2.000000 1.385819 -v -1.060660 2.000000 1.060660 -v -1.385819 2.000000 0.574025 -v -1.500000 2.000000 -0.000000 -v -1.385819 2.000000 -0.574025 -v -1.060660 2.000000 -1.060660 -v -0.574024 2.000000 -1.385820 -v -0.000000 8.000000 -0.750000 -v 0.287013 8.000000 -0.692910 -v 0.530330 8.000000 -0.530330 -v 0.692910 8.000000 -0.287013 -v 0.750000 8.000000 0.000000 -v 0.692910 8.000000 0.287013 -v 0.530330 8.000000 0.530330 -v 0.287013 8.000000 0.692910 -v 0.000000 8.000000 0.750000 -v -0.287012 8.000000 0.692910 -v -0.530330 8.000000 0.530330 -v -0.692910 8.000000 0.287013 -v -0.750000 8.000000 -0.000000 -v -0.692910 8.000000 -0.287013 -v -0.530330 8.000000 -0.530330 -v -0.287012 8.000000 -0.692910 -v -0.000000 6.000000 -3.000000 -v 1.148050 6.000000 -2.771638 -v 2.121320 6.000000 -2.121320 -v 2.771638 6.000000 -1.148050 -v 3.000000 6.000000 0.000000 -v 2.771638 6.000000 1.148051 -v 2.121320 6.000000 2.121320 -v 1.148050 6.000000 2.771638 -v 0.000000 6.000000 3.000000 -v -1.148050 6.000000 2.771639 -v -2.121320 6.000000 2.121321 -v -2.771639 6.000000 1.148051 -v -3.000000 6.000000 -0.000000 -v -2.771639 6.000000 -1.148051 -v -2.121320 6.000000 -2.121321 -v -1.148049 6.000000 -2.771639 -v -0.000001 6.000000 -5.000000 -v 1.913417 6.000000 -4.619398 -v 3.535533 6.000000 -3.535534 -v 4.619397 6.000000 -1.913417 -v 5.000000 6.000000 0.000000 -v 4.619397 6.000000 1.913418 -v 3.535533 6.000000 3.535534 -v 1.913417 6.000000 4.619398 -v 0.000000 6.000000 5.000000 -v -1.913417 6.000000 4.619398 -v -3.535533 6.000000 3.535535 -v -4.619398 6.000000 1.913418 -v -5.000000 6.000000 -0.000000 -v -4.619398 6.000000 -1.913418 -v -3.535533 6.000000 -3.535535 -v -1.913416 6.000000 -4.619399 -v -0.000001 7.000000 -6.500000 -v 2.487442 7.000000 -6.005217 -v 4.596193 7.000000 -4.596194 -v 6.005217 7.000000 -2.487442 -v 6.499999 7.000000 0.000000 -v 6.005217 7.000000 2.487443 -v 4.596193 7.000000 4.596194 -v 2.487442 7.000000 6.005217 -v 0.000000 7.000000 6.500000 -v -2.487442 7.000000 6.005218 -v -4.596194 7.000000 4.596196 -v -6.005218 7.000000 2.487443 -v -6.500001 7.000000 -0.000000 -v -6.005217 7.000000 -2.487443 -v -4.596193 7.000000 -4.596196 -v -2.487440 7.000000 -6.005219 -v -0.000001 8.000000 -7.150000 -v 2.736187 8.000000 -6.605739 -v 5.055813 8.000000 -5.055813 -v 6.605738 8.000000 -2.736187 -v 7.149999 8.000000 0.000000 -v 6.605738 8.000000 2.736187 -v 5.055813 8.000000 5.055813 -v 2.736187 8.000000 6.605739 -v 0.000001 8.000000 7.150000 -v -2.736186 8.000000 6.605740 -v -5.055813 8.000000 5.055815 -v -6.605740 8.000000 2.736188 -v -7.150000 8.000000 -0.000000 -v -6.605739 8.000000 -2.736188 -v -5.055813 8.000000 -5.055815 -v -2.736184 8.000000 -6.605741 -v -0.000001 9.500000 -6.250000 -v 2.391771 9.500000 -5.774247 -v 4.419416 9.500000 -4.419417 -v 5.774246 9.500000 -2.391771 -v 6.250000 9.500000 0.000000 -v 5.774246 9.500000 2.391772 -v 4.419416 9.500000 4.419417 -v 2.391771 9.500000 5.774247 -v 0.000000 9.500000 6.250000 -v -2.391771 9.500000 5.774248 -v -4.419417 9.500000 4.419419 -v -5.774248 9.500000 2.391772 -v -6.250000 9.500000 -0.000000 -v -5.774247 9.500000 -2.391773 -v -4.419416 9.500000 -4.419419 -v -2.391769 9.500000 -5.774248 -v -0.000000 10.500000 -3.500000 -v 1.339392 10.500000 -3.233578 -v 2.474873 10.500000 -2.474874 -v 3.233578 10.500000 -1.339392 -v 3.500000 10.500000 0.000000 -v 3.233578 10.500000 1.339392 -v 2.474873 10.500000 2.474874 -v 1.339392 10.500000 3.233578 -v 0.000000 10.500000 3.500000 -v -1.339391 10.500000 3.233579 -v -2.474874 10.500000 2.474874 -v -3.233579 10.500000 1.339393 -v -3.500000 10.500000 -0.000000 -v -3.233578 10.500000 -1.339393 -v -2.474873 10.500000 -2.474874 -v -1.339391 10.500000 -3.233579 -v -0.000000 11.000000 -1.000000 -v 0.382683 11.000000 -0.923880 -v 0.707106 11.000000 -0.707107 -v 0.923879 11.000000 -0.382683 -v 1.000000 11.000000 0.000000 -v 0.923879 11.000000 0.382684 -v 0.707106 11.000000 0.707107 -v 0.382683 11.000000 0.923880 -v -0.000000 11.000000 1.000000 -v -0.382684 11.000000 0.923880 -v -0.707107 11.000000 0.707107 -v -0.923880 11.000000 0.382684 -v -1.000000 11.000000 -0.000000 -v -0.923880 11.000000 -0.382684 -v -0.707107 11.000000 -0.707107 -v -0.382683 11.000000 -0.923880 -v 0.000000 11.250500 0.000000 -vt 0.749890 0.583032 -vt 0.708368 0.565532 -vt 0.733595 0.459782 -vt 0.663424 0.565532 -vt 0.647304 0.459782 -vt 0.621902 0.583032 -vt 0.567581 0.493381 -vt 0.590122 0.615366 -vt 0.572923 0.657614 -vt 0.473541 0.636579 -vt 0.572923 0.703342 -vt 0.473541 0.724377 -vt 0.590122 0.745589 -vt 0.506564 0.805492 -vt 0.621902 0.777924 -vt 0.567581 0.867574 -vt 0.663424 0.795423 -vt 0.647304 0.901173 -vt 0.708368 0.795423 -vt 0.749890 0.777924 -vt 0.813318 0.867575 -vt 0.781670 0.745589 -vt 0.874336 0.805492 -vt 0.798869 0.703342 -vt 0.907358 0.724377 -vt 0.798869 0.657614 -vt 0.907358 0.636579 -vt 0.650625 0.633704 -vt 0.635370 0.649224 -vt 0.781670 0.615366 -vt 0.813318 0.493381 -vt 0.922728 0.518034 -vt 0.938204 0.737805 -vt 0.930519 0.740416 -vt 0.735569 0.669503 -vt 0.627115 0.691453 -vt 0.635370 0.711731 -vt 0.670556 0.735652 -vt 0.692128 0.735652 -vt 0.692128 0.625304 -vt 0.670556 0.625304 -vt 0.727314 0.711731 -vt 0.735569 0.691453 -vt 0.627115 0.669503 -vt 0.727314 0.649224 -vt 0.712059 0.633704 -vt 0.712059 0.727252 -vt 0.976322 0.459782 -vt 0.964547 0.515208 -vt 0.942811 0.515208 -vt 0.650625 0.727252 -vt 0.242205 0.266674 -vt 0.252246 0.262474 -vt 0.298672 0.332635 -vt 0.959113 0.736392 -vt 0.948245 0.736392 -vt 1.000000 0.523255 -vt 0.976840 0.740416 -vt 0.969154 0.737805 -vt 0.927209 0.741881 -vt 0.947256 0.962205 -vt 0.937330 0.964292 -vt 0.392623 0.776124 -vt 0.401827 0.997180 -vt 0.390982 0.997913 -vt 0.948897 0.740416 -vt 0.969121 0.741881 -vt 0.968212 0.962205 -vt 0.945516 0.000000 -vt 0.950950 0.221184 -vt 0.940909 0.222597 -vt 0.967253 0.000000 -vt 0.987335 0.002826 -vt 0.971860 0.222597 -vt 0.984630 0.518034 -vt 0.428529 0.781763 -vt 0.419779 1.000000 -vt 0.411939 0.997913 -vt 0.370935 0.777589 -vt 0.381057 1.000000 -vt 0.958100 0.961473 -vt 0.412848 0.777589 -vt 0.984803 0.746055 -vt 0.976053 0.964292 -vt 0.961819 0.221184 -vt 0.258508 0.349435 -vt 0.272999 0.423000 -vt 0.200543 0.423000 -vt 0.264090 0.244574 -vt 0.346049 0.261036 -vt 0.329413 0.301594 -vt 0.264090 0.233599 -vt 0.259931 0.223460 -vt 0.329413 0.176580 -vt 0.213610 0.223460 -vt 0.144129 0.176580 -vt 0.174869 0.145538 -vt 0.242205 0.211500 -vt 0.258508 0.128739 -vt 0.298672 0.145538 -vt 0.209451 0.244574 -vt 0.127492 0.261036 -vt 0.127492 0.217137 -vt 0.221295 0.215700 -vt 0.215034 0.128739 -vt 0.221295 0.262474 -vt 0.174869 0.332635 -vt 0.144129 0.301594 -vt 0.215034 0.349435 -vt 0.259931 0.254714 -vt 0.346049 0.217137 -vt 0.252246 0.215700 -vt 0.209451 0.233599 -vt 0.231336 0.211500 -vt 0.213610 0.254714 -vt 0.231336 0.266674 -vt 0.133602 0.395001 -vt 0.189674 0.478174 -vt 0.391174 0.343265 -vt 0.418902 0.202504 -vt 0.339940 0.083173 -vt 0.391174 0.134908 -vt 0.054639 0.202504 -vt 0.200542 0.055174 -vt 0.272999 0.055174 -vt 0.082367 0.343265 -vt 0.054639 0.275669 -vt 0.339940 0.395001 -vt 0.418902 0.275669 -vt 0.082367 0.134908 -vt 0.133602 0.083173 -vt 0.012127 0.565699 -vt 0.040349 0.552155 -vt 0.027010 0.648817 -vt 0.370890 0.441775 -vt 0.283867 0.478174 -vt 0.473541 0.286644 -vt 0.437495 0.103655 -vt 0.473541 0.191529 -vt 0.036046 0.103655 -vt 0.102651 0.036399 -vt 0.283867 0.000000 -vt 0.370890 0.036399 -vt 0.000000 0.286644 -vt 0.000000 0.191529 -vt 0.189674 0.000000 -vt 0.102651 0.441775 -vt 0.036046 0.374519 -vt 0.437495 0.374519 -vt 0.090501 0.655402 -vt 0.090501 0.746859 -vt 0.089239 0.462044 -vt 0.015974 0.388062 -vt 0.237396 0.657564 -vt 0.264031 0.650998 -vt 0.270949 0.755390 -vt 0.457568 0.388062 -vt 0.384302 0.462044 -vt 0.351085 0.674706 -vt 0.351085 0.579591 -vt 0.378094 0.574836 -vt 0.384302 0.016130 -vt 0.457567 0.090112 -vt 0.129996 0.752467 -vt 0.157260 0.755391 -vt 0.176961 0.850938 -vt 0.000000 0.748688 -vt 0.000000 0.653573 -vt 0.123707 0.657564 -vt 0.129996 0.569068 -vt 0.157260 0.553652 -vt 0.243685 0.752466 -vt 0.290650 0.850937 -vt 0.243685 0.569068 -vt 0.270949 0.553652 -vt 0.363211 0.762580 -vt 0.378094 0.679462 -vt 0.363211 0.491717 -vt 0.391433 0.478174 -vt 0.015974 0.090112 -vt 0.089239 0.016130 -vt 0.027010 0.753444 -vt 0.040349 0.850105 -vt 0.150342 0.650998 -vt 0.571499 0.034999 -vt 0.654544 0.000000 -vt 0.669765 0.101152 -vt 0.220175 0.568195 -vt 0.214127 0.653287 -vt 0.333863 0.744540 -vt 0.351085 0.828060 -vt 0.333863 0.568195 -vt 0.327816 0.653287 -vt 0.391433 0.776124 -vt 0.441586 0.672877 -vt 0.453246 0.496926 -vt 0.441586 0.581420 -vt 0.064997 0.478174 -vt 0.123707 0.506238 -vt 0.102162 0.570908 -vt 0.102162 0.831353 -vt 0.220174 0.744540 -vt 0.176961 0.478174 -vt 0.237396 0.502217 -vt 0.290650 0.478174 -vt 0.351084 0.502217 -vt 0.123707 0.896023 -vt 0.925434 0.275619 -vt 0.821464 0.255499 -vt 0.821464 0.204283 -vt 0.827476 0.034999 -vt 0.766607 0.120751 -vt 0.720102 0.101152 -vt 0.827476 0.424784 -vt 0.766607 0.339031 -vt 0.802200 0.302816 -vt 0.654544 0.459782 -vt 0.669765 0.358630 -vt 0.720102 0.358630 -vt 0.507939 0.360114 -vt 0.587667 0.302816 -vt 0.623260 0.339031 -vt 0.473541 0.184163 -vt 0.568404 0.204283 -vt 0.568404 0.255499 -vt 0.623260 0.120751 -vt 0.587667 0.156966 -vt 0.891035 0.099668 -vt 0.925434 0.184163 -vt 0.744431 0.000000 -vt 0.891035 0.360114 -vt 0.744431 0.459782 -vt 0.571499 0.424783 -vt 0.473541 0.275619 -vt 0.507939 0.099668 -vt 0.802200 0.156966 -vt 0.685466 0.266674 -vt 0.699848 0.266674 -vt 0.713135 0.261074 -vt 0.656505 0.237208 -vt 0.691516 0.229891 -vt 0.662009 0.250727 -vt 0.672179 0.261074 -vt 0.723304 0.250727 -vt 0.728808 0.237208 -vt 0.728808 0.222575 -vt 0.723304 0.209055 -vt 0.662009 0.209055 -vt 0.656505 0.222575 -vt 0.713135 0.198708 -vt 0.699848 0.193109 -vt 0.685466 0.193109 -vt 0.672179 0.198708 -vt 0.506564 0.555464 -vt 0.733595 0.901173 -vt 0.874336 0.555464 -vt 0.907358 0.523255 -vt 0.931036 0.459782 -vt 0.907358 0.746055 -vt 0.925434 0.002826 -vt 0.351085 0.781763 -vt 0.147906 0.839327 -vt 0.261595 0.839327 -vt 0.012127 0.836562 -vt 0.453246 0.757371 -vt 0.064997 0.924087 -vt 0.237396 0.828060 -vn 0.065200 0.942500 -0.327800 -vn 0.185700 0.942500 -0.277900 -vn 0.277900 0.942500 -0.185700 -vn 0.327800 0.942500 -0.065200 -vn 0.327800 0.942500 0.065200 -vn 0.277900 0.942500 0.185700 -vn 0.185700 0.942500 0.277900 -vn 0.065200 0.942500 0.327800 -vn -0.065200 0.942500 0.327800 -vn -0.185700 0.942500 0.277900 -vn -0.277900 0.942500 0.185700 -vn -0.327800 0.942500 0.065200 -vn -0.327800 0.942500 -0.065200 -vn -0.277900 0.942500 -0.185700 -vn 0.521300 0.847100 -0.103700 -vn -0.065200 0.942500 -0.327800 -vn -0.185700 0.942500 -0.277900 -vn 0.193600 0.121700 0.973500 -vn -0.295300 0.847100 -0.441900 -vn 0.295300 0.847100 0.441900 -vn -0.295300 0.847100 0.441900 -vn 0.295300 0.847100 -0.441900 -vn -0.521300 0.847100 -0.103700 -vn 0.521300 0.847100 0.103700 -vn -0.103700 0.847100 -0.521300 -vn 0.103700 0.847100 -0.521300 -vn 0.103700 0.847100 0.521300 -vn -0.441900 0.847100 0.295300 -vn 0.441900 0.847100 -0.295300 -vn -0.441900 0.847100 -0.295300 -vn 0.441900 0.847100 0.295300 -vn -0.103700 0.847100 0.521300 -vn -0.521300 0.847100 0.103700 -vn 0.131000 -0.741000 -0.658600 -vn 0.825300 0.121700 0.551400 -vn 0.973500 0.121700 -0.193600 -vn -0.551400 0.121700 -0.825300 -vn 0.551400 0.121700 -0.825300 -vn -0.973500 0.121700 -0.193600 -vn -0.825300 0.121700 0.551400 -vn -0.193600 0.121700 0.973500 -vn 0.551400 0.121700 0.825300 -vn 0.973500 0.121700 0.193600 -vn -0.193600 0.121700 -0.973500 -vn 0.825300 0.121700 -0.551400 -vn -0.825300 0.121700 -0.551400 -vn 0.193600 0.121700 -0.973500 -vn -0.973500 0.121700 0.193600 -vn -0.551400 0.121700 0.825300 -vn 0.000000 -1.000000 0.000000 -vn -0.373100 -0.741000 -0.558400 -vn -0.658600 -0.741000 -0.131000 -vn 0.131000 -0.741000 0.658600 -vn -0.558400 -0.741000 0.373100 -vn 0.558400 -0.741000 0.373100 -vn -0.131000 -0.741000 0.658600 -vn 0.658600 -0.741000 -0.131000 -vn 0.373100 -0.741000 -0.558400 -vn -0.131000 -0.741000 -0.658600 -vn -0.558400 -0.741000 -0.373100 -vn -0.658600 -0.741000 0.131000 -vn 0.373100 -0.741000 0.558400 -vn -0.373100 -0.741000 0.558400 -vn 0.658600 -0.741000 0.131000 -vn 0.558400 -0.741000 -0.373100 -vn -0.467400 -0.827000 0.312300 -vn 0.164500 -0.537600 -0.827000 -vn -0.109700 -0.827000 0.551400 -vn 0.312300 -0.827000 0.467400 -vn 0.551400 -0.827000 0.109700 -vn -0.109700 -0.827000 -0.551400 -vn 0.467400 -0.827000 -0.312300 -vn -0.467400 -0.827000 -0.312300 -vn 0.109700 -0.827000 -0.551400 -vn -0.551400 -0.827000 0.109700 -vn -0.312300 -0.827000 0.467400 -vn 0.109700 -0.827000 0.551400 -vn 0.467400 -0.827000 0.312300 -vn 0.551400 -0.827000 -0.109700 -vn -0.312300 -0.827000 -0.467400 -vn 0.312300 -0.827000 -0.467400 -vn -0.551400 -0.827000 -0.109700 -vn 0.478800 0.507200 -0.716600 -vn -0.827000 -0.537600 0.164500 -vn -0.468500 -0.537600 0.701100 -vn 0.164500 -0.537600 0.827000 -vn 0.701100 -0.537600 0.468500 -vn 0.827000 -0.537600 -0.164500 -vn -0.468500 -0.537600 -0.701100 -vn 0.468500 -0.537600 -0.701100 -vn -0.827000 -0.537600 -0.164500 -vn -0.701100 -0.537600 0.468500 -vn -0.164500 -0.537600 0.827000 -vn 0.468500 -0.537600 0.701100 -vn 0.827000 -0.537600 0.164500 -vn -0.164500 -0.537600 -0.827000 -vn 0.701100 -0.537600 -0.468500 -vn -0.701100 -0.537600 -0.468500 -vn 0.289000 0.937600 -0.193100 -vn -0.845300 0.507200 -0.168100 -vn -0.716600 0.507200 0.478800 -vn -0.168100 0.507200 0.845300 -vn 0.478800 0.507200 0.716600 -vn 0.845300 0.507200 0.168100 -vn -0.168100 0.507200 -0.845300 -vn 0.716600 0.507200 -0.478800 -vn -0.716600 0.507200 -0.478800 -vn 0.168100 0.507200 -0.845300 -vn -0.845300 0.507200 0.168100 -vn -0.478800 0.507200 0.716600 -vn 0.168100 0.507200 0.845300 -vn 0.716600 0.507200 0.478800 -vn 0.845300 0.507200 -0.168100 -vn -0.478800 0.507200 -0.716600 -vn -0.289000 0.937600 -0.193100 -vn 0.067800 0.937600 -0.341000 -vn -0.341000 0.937600 0.067800 -vn -0.193100 0.937600 0.289000 -vn 0.067800 0.937600 0.341000 -vn 0.289000 0.937600 0.193100 -vn 0.341000 0.937600 -0.067800 -vn -0.193100 0.937600 -0.289000 -vn 0.193100 0.937600 -0.289000 -vn -0.341000 0.937600 -0.067800 -vn -0.289000 0.937600 0.193100 -vn -0.067800 0.937600 0.341000 -vn 0.193100 0.937600 0.289000 -vn 0.341000 0.937600 0.067800 -vn -0.067800 0.937600 -0.341000 -vn -0.111000 0.979800 0.166100 -vn -0.166100 0.979800 0.111000 -vn 0.137500 0.968900 0.205800 -vn 0.048300 0.968900 0.242700 -vn -0.048300 0.968900 0.242700 -vn -0.137500 0.968900 0.205800 -vn -0.205800 0.968900 0.137500 -vn -0.242700 0.968900 0.048300 -vn -0.242700 0.968900 -0.048300 -vn -0.205800 0.968900 -0.137500 -vn -0.137500 0.968900 -0.205800 -vn 0.242700 0.968900 0.048300 -vn -0.048300 0.968900 -0.242700 -vn 0.048300 0.968900 -0.242700 -vn 0.137500 0.968900 -0.205800 -vn 0.205800 0.968900 -0.137500 -vn 0.242700 0.968900 -0.048300 -vn 0.205800 0.968900 0.137500 -vn -0.039000 0.979800 0.196000 -vn 0.039000 0.979800 0.196000 -vn 0.111000 0.979800 0.166100 -vn 0.166100 0.979800 0.111000 -vn 0.196000 0.979800 0.039000 -vn 0.196000 0.979800 -0.039000 -vn 0.166100 0.979800 -0.111000 -vn 0.111000 0.979800 -0.166100 -vn 0.039000 0.979800 -0.196000 -vn -0.039000 0.979800 -0.196000 -vn -0.111000 0.979800 -0.166100 -vn -0.166100 0.979800 -0.111000 -vn -0.196000 0.979800 -0.039000 -vn -0.196000 0.979800 0.039000 -s off -f 2/1/1 4/2/1 3/3/1 -f 4/2/2 6/4/2 5/5/2 -f 6/4/3 8/6/3 7/7/3 -f 7/7/4 8/6/4 10/8/4 -f 10/8/5 12/9/5 11/10/5 -f 12/9/6 14/11/6 13/12/6 -f 14/11/7 16/13/7 15/14/7 -f 15/14/8 16/13/8 18/15/8 -f 17/16/9 18/15/9 20/17/9 -f 19/18/10 20/17/10 22/19/10 -f 22/19/11 24/20/11 23/21/11 -f 24/20/12 26/22/12 25/23/12 -f 26/22/13 28/24/13 27/25/13 -f 28/24/14 30/26/14 29/27/14 -f 8/6/15 36/28/15 37/29/15 -f 32/30/16 2/1/16 1/31/16 -f 29/27/17 30/26/17 32/30/17 -f 40/32/18 56/33/18 57/34/18 -f 32/30/19 30/26/19 47/35/19 -f 14/11/20 39/36/20 40/37/20 -f 20/17/21 42/38/21 43/39/21 -f 4/2/22 34/40/22 35/41/22 -f 26/22/23 45/42/23 46/43/23 -f 10/8/24 37/29/24 38/44/24 -f 2/1/25 32/30/25 48/45/25 -f 4/2/26 2/1/26 33/46/26 -f 18/15/27 16/13/27 40/37/27 -f 22/19/28 43/39/28 44/47/28 -f 6/4/29 35/41/29 36/28/29 -f 28/24/30 46/43/30 47/35/30 -f 12/48/31 38/49/31 39/50/31 -f 18/15/32 41/51/32 42/38/32 -f 24/20/33 44/47/33 45/42/33 -f 58/52/34 57/53/34 73/54/34 -f 38/49/35 54/55/35 55/56/35 -f 36/57/36 52/58/36 53/59/36 -f 47/60/37 63/61/37 64/62/37 -f 34/63/38 50/64/38 51/65/38 -f 46/66/39 45/67/39 61/68/39 -f 43/69/40 59/70/40 60/71/40 -f 42/72/41 41/73/41 57/74/41 -f 39/50/42 55/56/42 56/33/42 -f 38/49/43 37/75/43 53/59/43 -f 48/76/44 64/77/44 49/78/44 -f 35/79/45 51/65/45 52/80/45 -f 46/66/46 62/81/46 63/61/46 -f 33/82/47 49/78/47 50/64/47 -f 44/83/48 60/84/48 61/68/48 -f 42/72/49 58/85/49 59/70/49 -f 74/86/50 90/87/50 91/88/50 -f 55/89/51 71/90/51 72/91/51 -f 54/92/52 53/93/52 69/94/52 -f 64/95/53 80/96/53 65/97/53 -f 51/98/54 67/99/54 68/100/54 -f 62/101/55 78/102/55 79/103/55 -f 49/104/56 65/97/56 66/105/56 -f 60/106/57 76/107/57 77/108/57 -f 58/52/58 74/86/58 75/109/58 -f 56/110/59 72/91/59 73/54/59 -f 54/92/60 70/111/60 71/90/60 -f 52/112/61 68/100/61 69/94/61 -f 63/113/62 79/103/62 80/96/62 -f 51/98/63 50/114/63 66/105/63 -f 61/115/64 77/108/64 78/102/64 -f 60/106/65 59/116/65 75/109/65 -f 92/117/66 91/88/66 107/118/66 -f 73/54/50 72/91/50 88/119/50 -f 71/90/50 70/111/50 86/120/50 -f 68/100/50 84/121/50 85/122/50 -f 80/96/50 79/103/50 95/123/50 -f 66/105/50 82/124/50 83/125/50 -f 77/108/50 93/126/50 94/127/50 -f 75/109/50 91/88/50 92/117/50 -f 73/54/50 89/128/50 90/87/50 -f 71/90/50 87/129/50 88/119/50 -f 70/111/50 69/94/50 85/122/50 -f 80/96/50 96/130/50 81/131/50 -f 67/99/50 83/125/50 84/121/50 -f 79/103/50 78/102/50 94/127/50 -f 65/97/50 81/131/50 82/124/50 -f 76/107/50 92/117/50 93/126/50 -f 97/132/67 113/133/67 114/134/67 -f 89/128/68 105/135/68 106/136/68 -f 88/119/69 87/129/69 103/137/69 -f 85/122/70 101/138/70 102/139/70 -f 96/130/71 112/140/71 97/141/71 -f 83/125/72 99/142/72 100/143/72 -f 94/127/73 110/144/73 111/145/73 -f 81/131/74 97/141/74 98/146/74 -f 92/117/75 108/147/75 109/148/75 -f 90/87/76 106/136/76 107/118/76 -f 89/128/77 88/119/77 104/149/77 -f 86/120/78 102/139/78 103/137/78 -f 84/121/79 100/143/79 101/138/79 -f 96/130/80 95/123/80 111/145/80 -f 82/124/81 98/146/81 99/142/81 -f 94/127/82 93/126/82 109/148/82 -f 114/134/83 130/150/83 131/151/83 -f 108/147/84 124/152/84 125/153/84 -f 106/154/85 122/155/85 123/156/85 -f 104/149/86 120/157/86 121/158/86 -f 103/159/87 102/160/87 118/161/87 -f 100/143/88 116/162/88 117/163/88 -f 111/164/89 127/165/89 128/166/89 -f 99/167/90 98/168/90 114/134/90 -f 110/169/91 109/170/91 125/171/91 -f 107/172/92 123/156/92 124/173/92 -f 106/154/93 105/174/93 121/175/93 -f 104/176/94 103/159/94 119/177/94 -f 102/160/95 101/178/95 117/179/95 -f 112/140/96 128/180/96 113/181/96 -f 99/167/97 115/182/97 116/183/97 -f 110/169/98 126/184/98 127/165/98 -f 132/185/99 131/186/99 147/187/99 -f 125/171/100 141/188/100 142/189/100 -f 123/156/101 139/190/101 140/191/101 -f 121/175/102 137/192/102 138/193/102 -f 120/194/103 119/177/103 135/195/103 -f 117/179/104 133/196/104 134/197/104 -f 128/198/105 144/199/105 129/200/105 -f 115/182/106 131/151/106 132/201/106 -f 126/184/107 142/189/107 143/202/107 -f 113/133/108 129/200/108 130/150/108 -f 124/203/109 140/204/109 141/188/109 -f 122/155/110 138/193/110 139/190/110 -f 120/205/111 136/206/111 137/192/111 -f 119/177/112 118/161/112 134/197/112 -f 116/183/113 132/201/113 133/207/113 -f 128/166/114 127/165/114 143/202/114 -f 142/208/115 158/209/115 159/210/115 -f 129/211/116 145/212/116 146/213/116 -f 140/214/117 156/215/117 157/216/117 -f 138/217/118 154/218/118 155/219/118 -f 136/220/119 152/221/119 153/222/119 -f 134/223/120 150/224/120 151/225/120 -f 132/185/121 148/226/121 149/227/121 -f 144/228/122 143/229/122 159/210/122 -f 131/186/123 130/230/123 146/213/123 -f 142/208/124 141/231/124 157/216/124 -f 139/232/125 155/219/125 156/215/125 -f 137/233/126 153/222/126 154/218/126 -f 135/234/127 151/225/127 152/221/127 -f 133/235/128 149/227/128 150/224/128 -f 144/228/129 160/236/129 145/212/129 -f 170/237/130 171/238/130 155/219/130 -f 171/238/131 172/239/131 156/215/131 -f 167/240/132 177/241/132 168/242/132 -f 168/242/133 177/241/133 169/243/133 -f 169/243/134 177/241/134 170/237/134 -f 170/237/135 177/241/135 171/238/135 -f 171/238/136 177/241/136 172/239/136 -f 172/239/137 177/241/137 173/244/137 -f 173/244/138 177/241/138 174/245/138 -f 174/245/139 177/241/139 175/246/139 -f 175/246/140 177/241/140 176/247/140 -f 165/248/141 177/241/141 166/249/141 -f 176/247/142 177/241/142 161/250/142 -f 161/250/143 177/241/143 162/251/143 -f 162/251/144 177/241/144 163/252/144 -f 163/252/145 177/241/145 164/253/145 -f 164/253/146 177/241/146 165/248/146 -f 167/240/147 166/249/147 177/241/147 -f 169/243/148 170/237/148 154/218/148 -f 168/242/149 169/243/149 153/222/149 -f 151/225/150 167/240/150 168/242/150 -f 166/249/151 167/240/151 151/225/151 -f 165/248/152 166/249/152 150/224/152 -f 148/226/153 164/253/153 165/248/153 -f 147/187/154 163/252/154 164/253/154 -f 162/251/155 163/252/155 147/187/155 -f 161/250/156 162/251/156 146/213/156 -f 176/247/157 161/250/157 145/212/157 -f 175/246/158 176/247/158 160/236/158 -f 158/209/159 174/245/159 175/246/159 -f 157/216/160 173/244/160 174/245/160 -f 172/239/161 173/244/161 157/216/161 -f 1/31/1 2/1/1 3/3/1 -f 3/3/2 4/2/2 5/5/2 -f 5/5/3 6/4/3 7/7/3 -f 9/254/4 7/7/4 10/8/4 -f 9/254/5 10/8/5 11/10/5 -f 11/10/6 12/9/6 13/12/6 -f 13/12/7 14/11/7 15/14/7 -f 17/16/8 15/14/8 18/15/8 -f 19/18/9 17/16/9 20/17/9 -f 21/255/10 19/18/10 22/19/10 -f 21/255/11 22/19/11 23/21/11 -f 23/21/12 24/20/12 25/23/12 -f 25/23/13 26/22/13 27/25/13 -f 27/25/14 28/24/14 29/27/14 -f 10/8/15 8/6/15 37/29/15 -f 31/256/16 32/30/16 1/31/16 -f 31/256/17 29/27/17 32/30/17 -f 41/257/18 40/32/18 57/34/18 -f 48/45/19 32/30/19 47/35/19 -f 16/13/20 14/11/20 40/37/20 -f 22/19/21 20/17/21 43/39/21 -f 6/4/22 4/2/22 35/41/22 -f 28/24/23 26/22/23 46/43/23 -f 12/9/24 10/8/24 38/44/24 -f 33/46/25 2/1/25 48/45/25 -f 34/40/26 4/2/26 33/46/26 -f 41/51/27 18/15/27 40/37/27 -f 24/20/28 22/19/28 44/47/28 -f 8/6/29 6/4/29 36/28/29 -f 30/26/30 28/24/30 47/35/30 -f 14/258/31 12/48/31 39/50/31 -f 20/17/32 18/15/32 42/38/32 -f 26/22/33 24/20/33 45/42/33 -f 74/86/34 58/52/34 73/54/34 -f 39/50/35 38/49/35 55/56/35 -f 37/75/36 36/57/36 53/59/36 -f 48/259/37 47/60/37 64/62/37 -f 35/79/38 34/63/38 51/65/38 -f 62/81/39 46/66/39 61/68/39 -f 44/260/40 43/69/40 60/71/40 -f 58/85/41 42/72/41 57/74/41 -f 40/32/42 39/50/42 56/33/42 -f 54/55/43 38/49/43 53/59/43 -f 33/82/44 48/76/44 49/78/44 -f 36/261/45 35/79/45 52/80/45 -f 47/60/46 46/66/46 63/61/46 -f 34/63/47 33/82/47 50/64/47 -f 45/67/48 44/83/48 61/68/48 -f 43/69/49 42/72/49 59/70/49 -f 75/109/50 74/86/50 91/88/50 -f 56/110/51 55/89/51 72/91/51 -f 70/111/52 54/92/52 69/94/52 -f 49/104/53 64/95/53 65/97/53 -f 52/112/54 51/98/54 68/100/54 -f 63/113/55 62/101/55 79/103/55 -f 50/114/56 49/104/56 66/105/56 -f 61/115/57 60/106/57 77/108/57 -f 59/116/58 58/52/58 75/109/58 -f 57/53/59 56/110/59 73/54/59 -f 55/89/60 54/92/60 71/90/60 -f 53/93/61 52/112/61 69/94/61 -f 64/95/62 63/113/62 80/96/62 -f 67/99/63 51/98/63 66/105/63 -f 62/101/64 61/115/64 78/102/64 -f 76/107/65 60/106/65 75/109/65 -f 108/147/66 92/117/66 107/118/66 -f 89/128/50 73/54/50 88/119/50 -f 87/129/50 71/90/50 86/120/50 -f 69/94/50 68/100/50 85/122/50 -f 96/130/50 80/96/50 95/123/50 -f 67/99/50 66/105/50 83/125/50 -f 78/102/50 77/108/50 94/127/50 -f 76/107/50 75/109/50 92/117/50 -f 74/86/50 73/54/50 90/87/50 -f 72/91/50 71/90/50 88/119/50 -f 86/120/50 70/111/50 85/122/50 -f 65/97/50 80/96/50 81/131/50 -f 68/100/50 67/99/50 84/121/50 -f 95/123/50 79/103/50 94/127/50 -f 66/105/50 65/97/50 82/124/50 -f 77/108/50 76/107/50 93/126/50 -f 98/168/67 97/132/67 114/134/67 -f 90/87/68 89/128/68 106/136/68 -f 104/149/69 88/119/69 103/137/69 -f 86/120/70 85/122/70 102/139/70 -f 81/131/71 96/130/71 97/141/71 -f 84/121/72 83/125/72 100/143/72 -f 95/123/73 94/127/73 111/145/73 -f 82/124/74 81/131/74 98/146/74 -f 93/126/75 92/117/75 109/148/75 -f 91/88/76 90/87/76 107/118/76 -f 105/135/77 89/128/77 104/149/77 -f 87/129/78 86/120/78 103/137/78 -f 85/122/79 84/121/79 101/138/79 -f 112/140/80 96/130/80 111/145/80 -f 83/125/81 82/124/81 99/142/81 -f 110/144/82 94/127/82 109/148/82 -f 115/182/83 114/134/83 131/151/83 -f 109/148/84 108/147/84 125/153/84 -f 107/172/85 106/154/85 123/156/85 -f 105/135/86 104/149/86 121/158/86 -f 119/177/87 103/159/87 118/161/87 -f 101/138/88 100/143/88 117/163/88 -f 112/262/89 111/164/89 128/166/89 -f 115/182/90 99/167/90 114/134/90 -f 126/184/91 110/169/91 125/171/91 -f 108/263/92 107/172/92 124/173/92 -f 122/155/93 106/154/93 121/175/93 -f 120/194/94 104/176/94 119/177/94 -f 118/161/95 102/160/95 117/179/95 -f 97/141/96 112/140/96 113/181/96 -f 100/264/97 99/167/97 116/183/97 -f 111/164/98 110/169/98 127/165/98 -f 148/226/99 132/185/99 147/187/99 -f 126/184/100 125/171/100 142/189/100 -f 124/173/101 123/156/101 140/191/101 -f 122/155/102 121/175/102 138/193/102 -f 136/265/103 120/194/103 135/195/103 -f 118/161/104 117/179/104 134/197/104 -f 113/133/105 128/198/105 129/200/105 -f 116/183/106 115/182/106 132/201/106 -f 127/165/107 126/184/107 143/202/107 -f 114/134/108 113/133/108 130/150/108 -f 125/171/109 124/203/109 141/188/109 -f 123/156/110 122/155/110 139/190/110 -f 121/175/111 120/205/111 137/192/111 -f 135/195/112 119/177/112 134/197/112 -f 117/266/113 116/183/113 133/207/113 -f 144/267/114 128/166/114 143/202/114 -f 143/229/115 142/208/115 159/210/115 -f 130/230/116 129/211/116 146/213/116 -f 141/231/117 140/214/117 157/216/117 -f 139/232/118 138/217/118 155/219/118 -f 137/233/119 136/220/119 153/222/119 -f 135/234/120 134/223/120 151/225/120 -f 133/235/121 132/185/121 149/227/121 -f 160/236/122 144/228/122 159/210/122 -f 147/187/123 131/186/123 146/213/123 -f 158/209/124 142/208/124 157/216/124 -f 140/214/125 139/232/125 156/215/125 -f 138/217/126 137/233/126 154/218/126 -f 136/220/127 135/234/127 152/221/127 -f 134/223/128 133/235/128 150/224/128 -f 129/211/129 144/228/129 145/212/129 -f 154/218/130 170/237/130 155/219/130 -f 155/219/131 171/238/131 156/215/131 -f 153/222/148 169/243/148 154/218/148 -f 152/221/149 168/242/149 153/222/149 -f 152/221/150 151/225/150 168/242/150 -f 150/224/151 166/249/151 151/225/151 -f 149/227/152 165/248/152 150/224/152 -f 149/227/153 148/226/153 165/248/153 -f 148/226/154 147/187/154 164/253/154 -f 146/213/155 162/251/155 147/187/155 -f 145/212/156 161/250/156 146/213/156 -f 160/236/157 176/247/157 145/212/157 -f 159/210/158 175/246/158 160/236/158 -f 159/210/159 158/209/159 175/246/159 -f 158/209/160 157/216/160 174/245/160 -f 156/215/161 172/239/161 157/216/161 diff --git a/src/main/resources/assets/hbm/models/NukeCloudSmall.obj b/src/main/resources/assets/hbm/models/NukeCloudSmall.obj deleted file mode 100644 index 68653848a..000000000 --- a/src/main/resources/assets/hbm/models/NukeCloudSmall.obj +++ /dev/null @@ -1,1061 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'NukeCloudSmall.blend' -# www.blender.org -o Cylinder -v 0.000000 1.500000 -3.125000 -v 1.195886 1.500000 -2.887124 -v 2.296101 0.000000 -5.543277 -v 2.209708 1.500000 -2.209709 -v 4.242640 0.000000 -4.242640 -v 2.887123 1.500000 -1.195886 -v 5.543277 0.000000 -2.296101 -v 3.125000 1.500000 0.000000 -v 6.000000 0.000000 0.000000 -v 2.887123 1.500000 1.195886 -v 5.543277 -0.000000 2.296101 -v 2.209708 1.500000 2.209709 -v 4.242640 -0.000000 4.242640 -v 1.195886 1.500000 2.887124 -v 2.296101 -0.000000 5.543277 -v 0.000000 1.500000 3.125000 -v 0.000001 -0.000000 6.000000 -v -1.195885 1.500000 2.887124 -v -2.209708 1.500000 2.209710 -v -4.242640 -0.000000 4.242642 -v -2.887124 1.500000 1.195886 -v -5.543277 -0.000000 2.296102 -v -3.125000 1.500000 0.000000 -v -2.887124 1.500000 -1.195886 -v -5.543277 0.000000 -2.296102 -v -2.209708 1.500000 -2.209710 -v 1.385819 3.000000 -0.574025 -v 1.500000 3.000000 0.000000 -v -1.195884 1.500000 -2.887124 -v 0.000000 0.000000 -6.000000 -v -4.242640 0.000000 -4.242642 -v 0.574025 3.000000 1.385819 -v 0.430519 11.000000 1.039366 -v 0.000000 11.000000 1.125000 -v -1.060660 3.000000 -1.060660 -v -0.574024 3.000000 -1.385820 -v 1.060660 3.000000 1.060660 -v -0.574025 3.000000 1.385819 -v 0.574025 3.000000 -1.385819 -v -1.500000 3.000000 0.000000 -v -1.385819 3.000000 -0.574025 -v 1.385819 3.000000 0.574025 -v 0.000000 3.000000 -1.500000 -v 0.000000 3.000000 1.500000 -v -1.060660 3.000000 1.060660 -v -1.385819 3.000000 0.574025 -v 1.060660 3.000000 -1.060660 -v 0.000000 13.000000 1.968752 -v -0.753407 13.000000 1.818890 -v 1.039365 11.000000 0.430520 -v 0.795495 11.000000 0.795496 -v 1.039365 11.000000 -0.430519 -v 1.125000 11.000000 0.000000 -v -0.795495 11.000000 -0.795494 -v -0.430518 11.000000 -1.039365 -v 0.430519 11.000000 -1.039365 -v -1.125000 11.000000 0.000000 -v -1.039365 11.000000 -0.430519 -v -0.795495 11.000000 0.795496 -v -1.039365 11.000000 0.430520 -v -0.430518 11.000000 1.039366 -v 0.000000 11.000000 -1.125000 -v 0.795495 11.000000 -0.795494 -v -1.392116 13.000000 1.392118 -v -1.793829 12.500000 4.330688 -v 1.392116 13.000000 1.392118 -v 1.968750 13.000000 0.000002 -v 1.818887 13.000000 0.753410 -v -0.753407 13.000000 -1.818887 -v 1.392116 13.000000 -1.392115 -v -1.818887 13.000000 -0.753407 -v 0.000000 13.000000 -1.968748 -v 0.753407 13.000000 -1.818886 -v -1.818887 13.000000 0.753410 -v 0.753407 13.000000 1.818889 -v 1.818887 13.000000 -0.753406 -v -1.392116 13.000000 -1.392116 -v -1.968750 13.000000 0.000002 -v -4.330685 12.500000 1.793830 -v -3.314562 12.500000 3.314564 -v -3.662591 13.500000 3.662595 -v 1.793829 12.500000 4.330687 -v 0.000000 12.500000 4.687500 -v 4.330685 12.500000 1.793830 -v 3.314562 12.500000 3.314564 -v 4.330685 12.500000 -1.793827 -v 4.687500 12.500000 0.000002 -v -3.314562 12.500000 -3.314563 -v -1.793828 12.500000 -4.330686 -v 1.793828 12.500000 -4.330685 -v -4.687500 12.500000 0.000002 -v -4.330685 12.500000 -1.793828 -v 3.314562 12.500000 -3.314562 -v 0.000000 12.500000 -4.687500 -v 1.982180 13.500000 -4.785407 -v 0.000000 13.500000 -5.179687 -v 0.000000 14.500000 -4.222969 -v 0.000000 13.500000 5.179688 -v -1.982180 13.500000 4.785408 -v 3.662591 13.500000 3.662592 -v 1.982181 13.500000 4.785408 -v 5.179687 13.500000 0.000002 -v 4.785407 13.500000 1.982183 -v -1.982179 13.500000 -4.785408 -v 3.662591 13.500000 -3.662591 -v 4.785407 13.500000 -1.982179 -v -4.785408 13.500000 -1.982180 -v -4.785408 13.500000 1.982183 -v -5.179689 13.500000 0.000002 -v -3.662591 13.500000 -3.662592 -v 2.986090 14.500000 -2.986088 -v 1.616060 14.500000 -3.901513 -v 2.160069 15.000000 -5.214867 -v -3.901515 14.500000 1.616063 -v -4.222969 14.500000 0.000002 -v -1.616060 14.500000 3.901517 -v -2.986090 14.500000 2.986092 -v 1.616060 14.500000 3.901517 -v 0.000000 14.500000 4.222970 -v 3.901514 14.500000 1.616062 -v 2.986090 14.500000 2.986092 -v 3.901514 14.500000 -1.616058 -v 4.222969 14.500000 0.000002 -v -2.986090 14.500000 -2.986088 -v -1.616059 14.500000 -3.901513 -v -3.901515 14.500000 -1.616060 -v 5.214867 15.000000 -2.160067 -v 3.991285 15.000000 -3.991285 -v 5.220437 16.750000 -5.220435 -v -5.644531 15.000000 0.000002 -v -5.214868 15.000000 -2.160068 -v -3.991286 15.000000 3.991289 -v -5.214868 15.000000 2.160072 -v 0.000000 15.000000 5.644533 -v -2.160068 15.000000 5.214869 -v 3.991285 15.000000 3.991288 -v 2.160069 15.000000 5.214869 -v 5.644531 15.000000 0.000002 -v 5.214867 15.000000 2.160070 -v -2.160066 15.000000 -5.214868 -v 0.000000 15.000000 -5.644530 -v -3.991286 15.000000 -3.991286 -v -6.820830 16.750000 -2.825279 -v -5.220437 16.750000 -5.220436 -v 0.000000 16.750000 -7.382811 -v -6.820830 16.750000 2.825283 -v -2.825279 16.750000 6.820832 -v -5.220437 16.750000 5.220439 -v 2.825280 16.750000 6.820832 -v 6.820829 16.750000 2.825283 -v 5.220437 16.750000 5.220439 -v 6.820829 16.750000 -2.825278 -v 7.382812 16.750000 0.000002 -v -2.825278 16.750000 -6.820829 -v 2.825280 16.750000 -6.820828 -v -7.382812 16.750000 0.000002 -v 0.000001 16.750000 7.382814 -v -1.435062 18.500000 3.464551 -v -2.651650 18.500000 2.651653 -v -3.464549 18.500000 1.435066 -v 2.651650 18.500000 2.651652 -v 0.000000 19.000500 0.000002 -v 1.435062 18.500000 3.464549 -v 0.000000 18.500000 3.750002 -v -3.750000 18.500000 0.000002 -v -3.464549 18.500000 -1.435062 -v -2.651650 18.500000 -2.651649 -v -1.435061 18.500000 -3.464547 -v 3.749999 18.500000 0.000002 -v 3.464547 18.500000 1.435066 -v 0.000000 18.500000 -3.749998 -v 1.435062 18.500000 -3.464546 -v 2.651650 18.500000 -2.651648 -v 3.464547 18.500000 -1.435061 -v -2.296099 -0.000000 5.543278 -v -6.000000 0.000000 0.000000 -v -2.296098 0.000000 -5.543279 -vt 0.068894 0.830663 -vt 0.068894 0.856838 -vt 0.000332 0.868878 -vt 0.068894 0.518164 -vt 0.068894 0.544338 -vt 0.000332 0.556379 -vt 0.068893 0.268164 -vt 0.068893 0.294338 -vt 0.000332 0.306378 -vt 0.068894 0.580663 -vt 0.068894 0.606838 -vt 0.000332 0.618878 -vt 0.068895 0.768163 -vt 0.068895 0.794338 -vt 0.000332 0.806378 -vt 0.068893 0.205664 -vt 0.068893 0.231838 -vt 0.000332 0.243878 -vt 0.068893 0.080663 -vt 0.068893 0.106838 -vt 0.000332 0.118878 -vt 0.068894 0.893162 -vt 0.068894 0.919337 -vt 0.000332 0.931377 -vt 0.000332 0.381124 -vt 0.068894 0.393164 -vt 0.068894 0.419339 -vt 0.068893 0.018163 -vt 0.068893 0.044338 -vt 0.000332 0.056378 -vt 0.000332 0.131123 -vt 0.068893 0.143163 -vt 0.068893 0.169338 -vt 0.000332 0.693623 -vt 0.068894 0.705663 -vt 0.068894 0.731838 -vt 0.068894 0.643163 -vt 0.068894 0.669338 -vt 0.000332 0.681378 -vt 0.000332 0.318624 -vt 0.068894 0.330664 -vt 0.068894 0.356838 -vt 0.115877 0.587469 -vt 0.115877 0.600033 -vt 0.068894 0.955663 -vt 0.068894 0.981837 -vt 0.000332 0.993878 -vt 0.000332 0.443623 -vt 0.068894 0.455663 -vt 0.068895 0.481838 -vt 0.115877 0.899968 -vt 0.287793 0.901539 -vt 0.287792 0.910961 -vt 0.115877 0.462469 -vt 0.115877 0.475033 -vt 0.115876 0.087469 -vt 0.115876 0.024969 -vt 0.115877 0.524969 -vt 0.115877 0.649969 -vt 0.115877 0.662532 -vt 0.115878 0.774969 -vt 0.115878 0.787532 -vt 0.115877 0.962468 -vt 0.115877 0.975032 -vt 0.115877 0.837469 -vt 0.115877 0.850033 -vt 0.115877 0.912532 -vt 0.115875 0.149969 -vt 0.115875 0.162532 -vt 0.115875 0.274969 -vt 0.115875 0.287533 -vt 0.115876 0.337469 -vt 0.115876 0.350033 -vt 0.115875 0.212469 -vt 0.115877 0.399970 -vt 0.115877 0.412534 -vt 0.115877 0.712469 -vt 0.287792 0.401540 -vt 0.334254 0.398006 -vt 0.334255 0.414496 -vt 0.287788 0.214039 -vt 0.287788 0.223462 -vt 0.287792 0.589039 -vt 0.287792 0.598462 -vt 0.287793 0.464040 -vt 0.287793 0.473462 -vt 0.115877 0.537533 -vt 0.287792 0.526540 -vt 0.287792 0.651539 -vt 0.287792 0.660962 -vt 0.287788 0.151539 -vt 0.287788 0.160962 -vt 0.287792 0.410963 -vt 0.115876 0.100032 -vt 0.287788 0.089039 -vt 0.287793 0.776539 -vt 0.287793 0.785962 -vt 0.287792 0.964039 -vt 0.287792 0.973461 -vt 0.287788 0.276539 -vt 0.287788 0.339040 -vt 0.287788 0.348462 -vt 0.287792 0.839039 -vt 0.287792 0.848462 -vt 0.287793 0.714039 -vt 0.287793 0.723462 -vt 0.287789 0.026539 -vt 0.287789 0.035962 -vt 0.334252 0.039495 -vt 0.334252 0.023006 -vt 0.392490 0.011620 -vt 0.287788 0.098462 -vt 0.334251 0.085506 -vt 0.334256 0.773005 -vt 0.334256 0.789495 -vt 0.334255 0.960505 -vt 0.287788 0.285962 -vt 0.334251 0.273006 -vt 0.334251 0.335506 -vt 0.334255 0.835506 -vt 0.334255 0.851995 -vt 0.334256 0.710506 -vt 0.334255 0.898005 -vt 0.334255 0.914495 -vt 0.334251 0.210506 -vt 0.334255 0.585506 -vt 0.334256 0.460506 -vt 0.334256 0.476996 -vt 0.287792 0.535962 -vt 0.334255 0.523006 -vt 0.334255 0.648006 -vt 0.334255 0.664495 -vt 0.334251 0.148005 -vt 0.334251 0.164495 -vt 0.392489 0.175881 -vt 0.392490 0.136620 -vt 0.416326 0.134558 -vt 0.392493 0.886619 -vt 0.392493 0.925881 -vt 0.392489 0.199120 -vt 0.392490 0.238381 -vt 0.392493 0.574120 -vt 0.392493 0.613382 -vt 0.392494 0.449120 -vt 0.392494 0.488382 -vt 0.334255 0.539496 -vt 0.392493 0.511620 -vt 0.392493 0.636620 -vt 0.392493 0.675881 -vt 0.392493 0.386621 -vt 0.392493 0.425882 -vt 0.392490 0.074120 -vt 0.392490 0.113381 -vt 0.392494 0.761620 -vt 0.392494 0.800881 -vt 0.334255 0.976995 -vt 0.392493 0.949119 -vt 0.392489 0.261620 -vt 0.392489 0.300882 -vt 0.392490 0.324120 -vt 0.392490 0.363382 -vt 0.392493 0.824120 -vt 0.392493 0.863381 -vt 0.334256 0.726995 -vt 0.392494 0.699120 -vt 0.416330 0.865442 -vt 0.416330 0.822059 -vt 0.445767 0.826065 -vt 0.416329 0.384559 -vt 0.416329 0.427943 -vt 0.416326 0.072058 -vt 0.416326 0.115442 -vt 0.416330 0.759559 -vt 0.416330 0.802942 -vt 0.416329 0.947058 -vt 0.416329 0.990442 -vt 0.416326 0.259559 -vt 0.416326 0.302943 -vt 0.416326 0.322059 -vt 0.416330 0.697059 -vt 0.416330 0.740443 -vt 0.416326 0.009558 -vt 0.416326 0.052942 -vt 0.416330 0.884558 -vt 0.416330 0.927942 -vt 0.416326 0.197059 -vt 0.416330 0.572059 -vt 0.416330 0.615443 -vt 0.416330 0.447059 -vt 0.416330 0.490443 -vt 0.416330 0.509559 -vt 0.416330 0.552943 -vt 0.416330 0.634559 -vt 0.445767 0.548936 -vt 0.445767 0.513566 -vt 0.477562 0.507612 -vt 0.445767 0.701065 -vt 0.445767 0.736436 -vt 0.445763 0.013565 -vt 0.445763 0.048936 -vt 0.445767 0.888565 -vt 0.445767 0.923935 -vt 0.445763 0.201065 -vt 0.445763 0.236436 -vt 0.445767 0.576065 -vt 0.445767 0.611436 -vt 0.445767 0.451066 -vt 0.445767 0.486436 -vt 0.445767 0.638565 -vt 0.445767 0.673936 -vt 0.445763 0.138565 -vt 0.445763 0.173936 -vt 0.445766 0.388566 -vt 0.445766 0.423937 -vt 0.445763 0.076065 -vt 0.445767 0.763565 -vt 0.445767 0.798936 -vt 0.445766 0.951065 -vt 0.445766 0.986435 -vt 0.445763 0.263566 -vt 0.445764 0.326066 -vt 0.445764 0.361436 -vt 0.477559 0.304890 -vt 0.477559 0.257612 -vt 0.530006 0.250332 -vt 0.477563 0.632612 -vt 0.477562 0.679889 -vt 0.477559 0.132612 -vt 0.477559 0.179889 -vt 0.477562 0.382613 -vt 0.477562 0.429890 -vt 0.477559 0.070112 -vt 0.477559 0.117389 -vt 0.477563 0.757612 -vt 0.477563 0.804889 -vt 0.477562 0.945111 -vt 0.477560 0.320112 -vt 0.445767 0.861436 -vt 0.477563 0.820112 -vt 0.477563 0.695112 -vt 0.477559 0.007611 -vt 0.477560 0.054889 -vt 0.477563 0.882612 -vt 0.477563 0.929889 -vt 0.477559 0.195112 -vt 0.477559 0.242389 -vt 0.477562 0.570112 -vt 0.477563 0.445112 -vt 0.477563 0.492390 -vt 0.530006 0.312833 -vt 0.530006 0.374670 -vt 0.477563 0.867389 -vt 0.530009 0.812832 -vt 0.477563 0.742389 -vt 0.530009 0.687832 -vt 0.530006 0.000332 -vt 0.530006 0.062169 -vt 0.530009 0.875332 -vt 0.530006 0.187832 -vt 0.530006 0.249669 -vt 0.530009 0.562833 -vt 0.530009 0.624669 -vt 0.530009 0.437833 -vt 0.530009 0.499669 -vt 0.530009 0.500333 -vt 0.530009 0.562169 -vt 0.530009 0.625332 -vt 0.530009 0.687169 -vt 0.530006 0.125332 -vt 0.530006 0.187169 -vt 0.530008 0.375333 -vt 0.530006 0.062832 -vt 0.530006 0.124669 -vt 0.530009 0.750332 -vt 0.530009 0.812169 -vt 0.530008 0.937832 -vt 0.530008 0.999668 -vt 0.615219 0.015545 -vt 0.615219 0.046955 -vt 0.615219 0.140546 -vt 0.615219 0.171955 -vt 0.615219 0.078046 -vt 0.694899 0.093750 -vt 0.615219 0.109455 -vt 0.615221 0.890546 -vt 0.694901 0.906250 -vt 0.615221 0.921955 -vt 0.615221 0.390546 -vt 0.694901 0.406251 -vt 0.615221 0.421956 -vt 0.694899 0.031250 -vt 0.694899 0.156251 -vt 0.615222 0.703046 -vt 0.694901 0.718751 -vt 0.615222 0.734455 -vt 0.615221 0.640546 -vt 0.694901 0.656251 -vt 0.615221 0.671955 -vt 0.615219 0.328047 -vt 0.694899 0.343751 -vt 0.615219 0.359456 -vt 0.615222 0.453047 -vt 0.694901 0.468751 -vt 0.615222 0.484456 -vt 0.615222 0.765546 -vt 0.694901 0.781250 -vt 0.615222 0.796955 -vt 0.615221 0.953046 -vt 0.694901 0.968750 -vt 0.615221 0.984455 -vt 0.615221 0.828046 -vt 0.694901 0.843750 -vt 0.615221 0.859455 -vt 0.615221 0.515547 -vt 0.694901 0.531251 -vt 0.615221 0.546956 -vt 0.615219 0.265546 -vt 0.694899 0.281251 -vt 0.615219 0.296955 -vt 0.615221 0.578046 -vt 0.694901 0.593751 -vt 0.615221 0.609456 -vt 0.615219 0.234455 -vt 0.615219 0.203046 -vt 0.694899 0.218751 -vt 0.530008 0.437170 -vt 0.530009 0.937169 -vt 0.530006 0.312169 -vt 0.000332 0.818623 -vt 0.000332 0.506123 -vt 0.000332 0.256124 -vt 0.000332 0.568623 -vt 0.000332 0.756123 -vt 0.000332 0.193623 -vt 0.000332 0.068623 -vt 0.000332 0.881122 -vt 0.000332 0.431379 -vt 0.000332 0.006123 -vt 0.000332 0.181378 -vt 0.000332 0.743878 -vt 0.000332 0.631123 -vt 0.000332 0.368878 -vt 0.000332 0.943622 -vt 0.000332 0.493879 -vt 0.115876 0.037532 -vt 0.115875 0.225032 -vt 0.115877 0.725032 -vt 0.392490 0.050881 -vt 0.334251 0.101995 -vt 0.334251 0.289496 -vt 0.334251 0.351996 -vt 0.334251 0.226996 -vt 0.334255 0.601996 -vt 0.416326 0.177942 -vt 0.392493 0.550882 -vt 0.392493 0.988381 -vt 0.392494 0.738381 -vt 0.416326 0.365443 -vt 0.416326 0.240443 -vt 0.416330 0.677943 -vt 0.477562 0.554890 -vt 0.445763 0.111436 -vt 0.445763 0.298936 -vt 0.477562 0.992389 -vt 0.477559 0.367390 -vt 0.477562 0.617390 -vt 0.530009 0.874669 -vt 0.530009 0.749669 -vn 0.091600 0.882900 -0.460600 -vn 0.260900 0.882900 -0.390500 -vn 0.390500 0.882900 -0.260900 -vn 0.460600 0.882900 -0.091600 -vn 0.460600 0.882900 0.091600 -vn 0.390500 0.882900 0.260900 -vn 0.260900 0.882900 0.390500 -vn 0.091600 0.882900 0.460600 -vn -0.091600 0.882900 0.460600 -vn -0.260900 0.882900 0.390500 -vn -0.390500 0.882900 0.260900 -vn -0.460600 0.882900 0.091600 -vn -0.460600 0.882900 -0.091600 -vn -0.390500 0.882900 -0.260900 -vn 0.672200 0.728200 -0.133700 -vn -0.091600 0.882900 -0.460600 -vn -0.260900 0.882900 -0.390500 -vn 0.194900 0.045900 0.979800 -vn -0.380800 0.728200 -0.569900 -vn 0.380800 0.728200 0.569900 -vn -0.380800 0.728200 0.569900 -vn 0.380800 0.728200 -0.569900 -vn -0.672200 0.728200 -0.133700 -vn 0.672200 0.728200 0.133700 -vn -0.133700 0.728200 -0.672200 -vn 0.133700 0.728200 -0.672200 -vn 0.133700 0.728200 0.672200 -vn -0.569900 0.728200 0.380800 -vn 0.569900 0.728200 -0.380800 -vn -0.569900 0.728200 -0.380800 -vn 0.569900 0.728200 0.380800 -vn -0.133700 0.728200 0.672200 -vn -0.672200 0.728200 0.133700 -vn -0.180300 -0.382300 0.906300 -vn 0.830600 0.045900 0.555000 -vn 0.979800 0.045900 -0.194900 -vn -0.555000 0.045900 -0.830600 -vn 0.555000 0.045900 -0.830600 -vn -0.979800 0.045900 -0.194900 -vn -0.830600 0.045900 0.555000 -vn -0.194900 0.045900 0.979800 -vn 0.555000 0.045900 0.830600 -vn 0.979800 0.045900 0.194900 -vn -0.194900 0.045900 -0.979800 -vn 0.830600 0.045900 -0.555000 -vn -0.830600 0.045900 -0.555000 -vn 0.194900 0.045900 -0.979800 -vn -0.979800 0.045900 0.194900 -vn -0.555000 0.045900 0.830600 -vn 0.102400 -0.982900 -0.153200 -vn 0.513400 -0.382300 0.768300 -vn 0.906300 -0.382300 0.180300 -vn -0.180300 -0.382300 -0.906300 -vn 0.768300 -0.382300 -0.513400 -vn -0.768300 -0.382300 -0.513400 -vn 0.180300 -0.382300 -0.906300 -vn -0.906300 -0.382300 0.180300 -vn -0.513400 -0.382300 0.768300 -vn 0.180300 -0.382300 0.906300 -vn 0.768300 -0.382300 0.513400 -vn 0.906300 -0.382300 -0.180300 -vn -0.513400 -0.382300 -0.768300 -vn 0.513400 -0.382300 -0.768300 -vn -0.906300 -0.382300 -0.180300 -vn -0.768300 -0.382300 0.513400 -vn -0.748800 -0.434700 0.500300 -vn -0.036000 -0.982900 -0.180800 -vn -0.153200 -0.982900 -0.102400 -vn -0.180800 -0.982900 0.036000 -vn 0.102400 -0.982900 0.153200 -vn -0.102400 -0.982900 0.153200 -vn 0.180800 -0.982900 0.036000 -vn 0.153200 -0.982900 -0.102400 -vn 0.036000 -0.982900 -0.180800 -vn -0.102400 -0.982900 -0.153200 -vn -0.180800 -0.982900 -0.036000 -vn 0.036000 -0.982900 0.180800 -vn -0.153200 -0.982900 0.102400 -vn 0.153200 -0.982900 0.102400 -vn -0.036000 -0.982900 0.180800 -vn 0.180800 -0.982900 -0.036000 -vn 0.142300 0.684300 -0.715200 -vn -0.175700 -0.434700 0.883300 -vn 0.500300 -0.434700 0.748800 -vn 0.883300 -0.434700 0.175700 -vn -0.175700 -0.434700 -0.883300 -vn 0.748800 -0.434700 -0.500300 -vn -0.748800 -0.434700 -0.500300 -vn 0.175700 -0.434700 -0.883300 -vn -0.883300 -0.434700 0.175700 -vn -0.500300 -0.434700 0.748800 -vn 0.175700 -0.434700 0.883300 -vn 0.748800 -0.434700 0.500300 -vn 0.883300 -0.434700 -0.175700 -vn -0.500300 -0.434700 -0.748800 -vn 0.500300 -0.434700 -0.748800 -vn -0.883300 -0.434700 -0.175700 -vn 0.187500 -0.941300 -0.280700 -vn -0.715200 0.684300 0.142300 -vn -0.405100 0.684300 0.606300 -vn 0.142300 0.684300 0.715200 -vn 0.606300 0.684300 0.405100 -vn 0.715200 0.684300 -0.142300 -vn -0.405100 0.684300 -0.606300 -vn 0.405100 0.684300 -0.606300 -vn -0.715200 0.684300 -0.142300 -vn -0.606300 0.684300 0.405100 -vn -0.142300 0.684300 0.715200 -vn 0.405100 0.684300 0.606300 -vn 0.715200 0.684300 0.142300 -vn -0.142300 0.684300 -0.715200 -vn 0.606300 0.684300 -0.405100 -vn -0.606300 0.684300 -0.405100 -vn 0.595600 -0.697800 -0.397900 -vn -0.331100 -0.941300 -0.065900 -vn -0.280700 -0.941300 0.187500 -vn -0.065900 -0.941300 0.331100 -vn 0.187500 -0.941300 0.280700 -vn 0.331100 -0.941300 0.065900 -vn -0.065900 -0.941300 -0.331100 -vn 0.280700 -0.941300 -0.187500 -vn -0.280700 -0.941300 -0.187500 -vn 0.065900 -0.941300 -0.331100 -vn -0.331100 -0.941300 0.065900 -vn -0.187500 -0.941300 0.280700 -vn 0.065900 -0.941300 0.331100 -vn 0.280700 -0.941300 0.187500 -vn 0.331100 -0.941300 -0.065900 -vn -0.187500 -0.941300 -0.280700 -vn -0.595600 -0.697800 -0.397900 -vn 0.139700 -0.697800 -0.702500 -vn -0.702500 -0.697800 0.139700 -vn -0.397900 -0.697800 0.595600 -vn 0.139700 -0.697800 0.702500 -vn 0.595600 -0.697800 0.397900 -vn 0.702500 -0.697800 -0.139700 -vn -0.397900 -0.697800 -0.595600 -vn 0.397900 -0.697800 -0.595600 -vn -0.702500 -0.697800 -0.139700 -vn -0.595600 -0.697800 0.397900 -vn -0.139700 -0.697800 0.702500 -vn 0.397900 -0.697800 0.595600 -vn 0.702500 -0.697800 0.139700 -vn -0.139700 -0.697800 -0.702500 -vn -0.244900 0.897600 0.366600 -vn -0.366600 0.897600 0.244900 -vn 0.074900 0.990900 0.112100 -vn 0.026300 0.990900 0.132200 -vn -0.026300 0.990900 0.132200 -vn -0.074900 0.990900 0.112100 -vn -0.112100 0.990900 0.074900 -vn -0.132200 0.990900 0.026300 -vn -0.132200 0.990900 -0.026300 -vn -0.112100 0.990900 -0.074900 -vn -0.074900 0.990900 -0.112100 -vn 0.132200 0.990900 0.026300 -vn -0.026300 0.990900 -0.132200 -vn 0.026300 0.990900 -0.132200 -vn 0.074900 0.990900 -0.112100 -vn 0.112100 0.990900 -0.074900 -vn 0.132200 0.990900 -0.026300 -vn 0.112100 0.990900 0.074900 -vn -0.086000 0.897600 0.432400 -vn 0.086000 0.897600 0.432400 -vn 0.244900 0.897600 0.366600 -vn 0.366600 0.897600 0.244900 -vn 0.432400 0.897600 0.086000 -vn 0.432400 0.897600 -0.086000 -vn 0.366600 0.897600 -0.244900 -vn 0.244900 0.897600 -0.366600 -vn 0.086000 0.897600 -0.432400 -vn -0.086000 0.897600 -0.432400 -vn -0.244900 0.897600 -0.366600 -vn -0.366600 0.897600 -0.244900 -vn -0.432400 0.897600 -0.086000 -vn -0.432400 0.897600 0.086000 -s 1 -f 1/1/1 2/2/1 3/3/1 -f 2/4/2 4/5/2 5/6/2 -f 4/7/3 6/8/3 7/9/3 -f 6/10/4 8/11/4 9/12/4 -f 8/13/5 10/14/5 11/15/5 -f 10/16/6 12/17/6 13/18/6 -f 12/19/7 14/20/7 15/21/7 -f 14/22/8 16/23/8 17/24/8 -f 17/25/9 16/26/9 18/27/9 -f 18/28/10 19/29/10 20/30/10 -f 20/31/11 19/32/11 21/33/11 -f 22/34/12 21/35/12 23/36/12 -f 23/37/13 24/38/13 25/39/13 -f 25/40/14 24/41/14 26/42/14 -f 6/10/15 27/43/15 28/44/15 -f 29/45/16 1/46/16 30/47/16 -f 31/48/17 26/49/17 29/50/17 -f 32/51/18 33/52/18 34/53/18 -f 26/49/19 35/54/19 36/55/19 -f 14/20/20 12/19/20 37/56/20 -f 19/29/21 18/28/21 38/57/21 -f 4/5/22 2/4/22 39/58/22 -f 23/37/23 40/59/23 41/60/23 -f 8/13/24 28/61/24 42/62/24 -f 29/45/25 36/63/25 43/64/25 -f 1/1/26 43/65/26 39/66/26 -f 14/22/27 32/51/27 44/67/27 -f 19/32/28 45/68/28 46/69/28 -f 4/7/29 47/70/29 27/71/29 -f 24/41/30 41/72/30 35/73/30 -f 12/17/31 10/16/31 42/74/31 -f 16/26/32 44/75/32 38/76/32 -f 23/36/33 21/35/33 46/77/33 -f 34/78/34 48/79/34 49/80/34 -f 42/74/35 50/81/35 51/82/35 -f 27/43/36 52/83/36 53/84/36 -f 35/54/37 54/85/37 55/86/37 -f 47/87/38 39/58/38 56/88/38 -f 40/59/39 57/89/39 58/90/39 -f 45/68/40 59/91/40 60/92/40 -f 44/75/41 34/78/41 61/93/41 -f 32/94/42 37/56/42 51/95/42 -f 28/61/43 53/96/43 50/97/43 -f 36/63/44 55/98/44 62/99/44 -f 27/71/45 47/70/45 63/100/45 -f 41/72/46 58/101/46 54/102/46 -f 43/65/47 62/103/47 56/104/47 -f 46/77/48 60/105/48 57/106/48 -f 38/57/49 61/107/49 59/108/49 -f 64/109/50 49/110/50 65/111/50 -f 33/112/51 51/95/51 66/113/51 -f 53/96/52 67/114/52 68/115/52 -f 62/99/53 55/98/53 69/116/53 -f 52/117/54 63/100/54 70/118/54 -f 54/102/55 58/101/55 71/119/55 -f 62/103/56 72/120/56 73/121/56 -f 57/106/57 60/105/57 74/122/57 -f 59/108/58 61/107/58 49/110/58 -f 33/52/59 75/123/59 48/124/59 -f 51/82/60 50/81/60 68/125/60 -f 53/84/61 52/83/61 76/126/61 -f 54/85/62 77/127/62 69/128/62 -f 63/129/63 56/88/63 73/130/63 -f 57/89/64 78/131/64 71/132/64 -f 59/91/65 64/133/65 74/134/65 -f 79/135/66 80/136/66 81/137/66 -f 75/123/67 82/138/67 83/139/67 -f 68/125/68 84/140/68 85/141/68 -f 76/126/69 86/142/69 87/143/69 -f 77/127/70 88/144/70 89/145/70 -f 70/146/71 73/130/71 90/147/71 -f 78/131/72 91/148/72 92/149/72 -f 74/134/73 64/133/73 80/136/73 -f 48/79/74 83/150/74 65/151/74 -f 66/113/75 85/152/75 82/153/75 -f 67/114/76 87/154/76 84/155/76 -f 72/156/77 69/116/77 89/157/77 -f 70/118/78 93/158/78 86/159/78 -f 71/119/79 92/160/79 88/161/79 -f 72/120/80 94/162/80 90/163/80 -f 78/164/81 74/122/81 79/165/81 -f 95/166/82 96/167/82 97/168/82 -f 83/150/83 98/169/83 99/170/83 -f 85/152/84 100/171/84 101/172/84 -f 87/154/85 102/173/85 103/174/85 -f 89/157/86 104/175/86 96/176/86 -f 93/158/87 105/177/87 106/178/87 -f 88/161/88 92/160/88 107/179/88 -f 94/162/89 96/167/89 95/166/89 -f 79/165/90 108/180/90 109/181/90 -f 65/111/91 99/182/91 81/183/91 -f 82/138/92 101/184/92 98/185/92 -f 85/141/93 84/140/93 103/186/93 -f 86/142/94 106/187/94 102/188/94 -f 88/144/95 110/189/95 104/190/95 -f 90/147/96 95/191/96 105/192/96 -f 92/149/97 91/148/97 109/193/97 -f 111/194/98 112/195/98 113/196/98 -f 108/180/99 114/197/99 115/198/99 -f 99/182/100 116/199/100 117/200/100 -f 101/184/101 118/201/101 119/202/101 -f 103/186/102 120/203/102 121/204/102 -f 106/187/103 122/205/103 123/206/103 -f 110/189/104 124/207/104 125/208/104 -f 95/191/105 112/195/105 111/194/105 -f 109/193/106 115/209/106 126/210/106 -f 81/137/107 117/211/107 114/212/107 -f 98/169/108 119/213/108 116/214/108 -f 101/172/109 100/171/109 121/215/109 -f 102/173/110 123/216/110 120/217/110 -f 104/175/111 125/218/111 97/219/111 -f 106/178/112 105/177/112 111/220/112 -f 107/179/113 126/221/113 124/222/113 -f 127/223/114 128/224/114 129/225/114 -f 115/209/115 130/226/115 131/227/115 -f 117/211/116 132/228/116 133/229/116 -f 119/213/117 134/230/117 135/231/117 -f 121/215/118 136/232/118 137/233/118 -f 123/216/119 138/234/119 139/235/119 -f 97/219/120 125/218/120 140/236/120 -f 111/220/121 128/224/121 127/223/121 -f 124/222/122 126/221/122 131/237/122 -f 112/238/123 97/168/123 141/239/123 -f 115/198/124 114/197/124 133/240/124 -f 116/199/125 135/241/125 132/242/125 -f 118/201/126 137/243/126 134/244/126 -f 120/203/127 139/245/127 136/246/127 -f 123/206/128 122/205/128 127/247/128 -f 124/207/129 142/248/129 140/249/129 -f 131/237/130 143/250/130 144/251/130 -f 113/252/131 141/239/131 145/253/131 -f 130/254/132 133/240/132 146/255/132 -f 135/241/133 147/256/133 148/257/133 -f 134/244/134 137/243/134 149/258/134 -f 139/245/135 150/259/135 151/260/135 -f 127/247/136 152/261/136 153/262/136 -f 142/248/137 144/263/137 154/264/137 -f 113/196/138 155/265/138 129/266/138 -f 130/226/139 156/267/139 143/268/139 -f 132/228/140 148/269/140 146/270/140 -f 135/231/141 134/230/141 157/271/141 -f 136/232/142 151/272/142 149/273/142 -f 138/234/143 153/274/143 150/275/143 -f 140/236/144 154/276/144 145/277/144 -f 158/278/145 159/279/145 148/257/145 -f 159/280/146 160/281/146 146/270/146 -f 161/282/147 162/283/147 163/284/147 -f 163/285/148 162/286/148 164/287/148 -f 164/288/149 162/289/149 158/290/149 -f 158/278/150 162/291/150 159/279/150 -f 159/280/151 162/292/151 160/281/151 -f 160/293/152 162/294/152 165/295/152 -f 165/296/153 162/297/153 166/298/153 -f 166/299/154 162/300/154 167/301/154 -f 167/302/155 162/303/155 168/304/155 -f 169/305/156 162/306/156 170/307/156 -f 168/308/157 162/309/157 171/310/157 -f 171/311/158 162/312/158 172/313/158 -f 172/314/159 162/315/159 173/316/159 -f 173/317/160 162/318/160 174/319/160 -f 174/320/161 162/321/161 169/322/161 -f 161/323/162 170/324/162 162/325/162 -f 164/288/163 158/290/163 147/326/163 -f 163/285/164 164/287/164 157/327/164 -f 161/282/165 163/284/165 149/273/165 -f 170/324/166 161/323/166 151/260/166 -f 169/305/167 170/307/167 150/275/167 -f 174/320/168 169/322/168 153/262/168 -f 173/317/169 174/319/169 152/328/169 -f 172/314/170 173/316/170 129/266/170 -f 145/253/171 171/311/171 172/313/171 -f 154/276/172 168/308/172 171/310/172 -f 167/302/173 168/304/173 154/264/173 -f 166/299/174 167/301/174 144/251/174 -f 165/296/175 166/298/175 143/268/175 -f 146/255/176 160/293/176 165/295/176 -f 30/329/1 1/1/1 3/3/1 -f 3/330/2 2/4/2 5/6/2 -f 5/331/3 4/7/3 7/9/3 -f 7/332/4 6/10/4 9/12/4 -f 9/333/5 8/13/5 11/15/5 -f 11/334/6 10/16/6 13/18/6 -f 13/335/7 12/19/7 15/21/7 -f 15/336/8 14/22/8 17/24/8 -f 175/337/9 17/25/9 18/27/9 -f 175/338/10 18/28/10 20/30/10 -f 22/339/11 20/31/11 21/33/11 -f 176/340/12 22/34/12 23/36/12 -f 176/341/13 23/37/13 25/39/13 -f 31/342/14 25/40/14 26/42/14 -f 8/11/15 6/10/15 28/44/15 -f 177/343/16 29/45/16 30/47/16 -f 177/344/17 31/48/17 29/50/17 -f 44/67/18 32/51/18 34/53/18 -f 29/50/19 26/49/19 36/55/19 -f 32/94/20 14/20/20 37/56/20 -f 45/345/21 19/29/21 38/57/21 -f 47/87/22 4/5/22 39/58/22 -f 24/38/23 23/37/23 41/60/23 -f 10/14/24 8/13/24 42/62/24 -f 1/46/25 29/45/25 43/64/25 -f 2/2/26 1/1/26 39/66/26 -f 16/23/27 14/22/27 44/67/27 -f 21/33/28 19/32/28 46/69/28 -f 6/8/29 4/7/29 27/71/29 -f 26/42/30 24/41/30 35/73/30 -f 37/346/31 12/17/31 42/74/31 -f 18/27/32 16/26/32 38/76/32 -f 40/347/33 23/36/33 46/77/33 -f 61/93/34 34/78/34 49/80/34 -f 37/346/35 42/74/35 51/82/35 -f 28/44/36 27/43/36 53/84/36 -f 36/55/37 35/54/37 55/86/37 -f 63/129/38 47/87/38 56/88/38 -f 41/60/39 40/59/39 58/90/39 -f 46/69/40 45/68/40 60/92/40 -f 38/76/41 44/75/41 61/93/41 -f 33/112/42 32/94/42 51/95/42 -f 42/62/43 28/61/43 50/97/43 -f 43/64/44 36/63/44 62/99/44 -f 52/117/45 27/71/45 63/100/45 -f 35/73/46 41/72/46 54/102/46 -f 39/66/47 43/65/47 56/104/47 -f 40/347/48 46/77/48 57/106/48 -f 45/345/49 38/57/49 59/108/49 -f 80/348/50 64/109/50 65/111/50 -f 75/349/51 33/112/51 66/113/51 -f 50/97/52 53/96/52 68/115/52 -f 72/156/53 62/99/53 69/116/53 -f 76/350/54 52/117/54 70/118/54 -f 77/351/55 54/102/55 71/119/55 -f 56/104/56 62/103/56 73/121/56 -f 78/164/57 57/106/57 74/122/57 -f 64/109/58 59/108/58 49/110/58 -f 34/53/59 33/52/59 48/124/59 -f 66/352/60 51/82/60 68/125/60 -f 67/353/61 53/84/61 76/126/61 -f 55/86/62 54/85/62 69/128/62 -f 70/146/63 63/129/63 73/130/63 -f 58/90/64 57/89/64 71/132/64 -f 60/92/65 59/91/65 74/134/65 -f 108/354/66 79/135/66 81/137/66 -f 48/124/67 75/123/67 83/139/67 -f 66/352/68 68/125/68 85/141/68 -f 67/353/69 76/126/69 87/143/69 -f 69/128/70 77/127/70 89/145/70 -f 93/355/71 70/146/71 90/147/71 -f 71/132/72 78/131/72 92/149/72 -f 79/135/73 74/134/73 80/136/73 -f 49/80/74 48/79/74 65/151/74 -f 75/349/75 66/113/75 82/153/75 -f 68/115/76 67/114/76 84/155/76 -f 94/356/77 72/156/77 89/157/77 -f 76/350/78 70/118/78 86/159/78 -f 77/351/79 71/119/79 88/161/79 -f 73/121/80 72/120/80 90/163/80 -f 91/357/81 78/164/81 79/165/81 -f 112/238/82 95/166/82 97/168/82 -f 65/151/83 83/150/83 99/170/83 -f 82/153/84 85/152/84 101/172/84 -f 84/155/85 87/154/85 103/174/85 -f 94/356/86 89/157/86 96/176/86 -f 86/159/87 93/158/87 106/178/87 -f 110/358/88 88/161/88 107/179/88 -f 90/163/89 94/162/89 95/166/89 -f 91/357/90 79/165/90 109/181/90 -f 80/348/91 65/111/91 81/183/91 -f 83/139/92 82/138/92 98/185/92 -f 100/359/93 85/141/93 103/186/93 -f 87/143/94 86/142/94 102/188/94 -f 89/145/95 88/144/95 104/190/95 -f 93/355/96 90/147/96 105/192/96 -f 107/360/97 92/149/97 109/193/97 -f 128/361/98 111/194/98 113/196/98 -f 109/181/99 108/180/99 115/198/99 -f 81/183/100 99/182/100 117/200/100 -f 98/185/101 101/184/101 119/202/101 -f 100/359/102 103/186/102 121/204/102 -f 102/188/103 106/187/103 123/206/103 -f 104/190/104 110/189/104 125/208/104 -f 105/192/105 95/191/105 111/194/105 -f 107/360/106 109/193/106 126/210/106 -f 108/354/107 81/137/107 114/212/107 -f 99/170/108 98/169/108 116/214/108 -f 118/362/109 101/172/109 121/215/109 -f 103/174/110 102/173/110 120/217/110 -f 96/176/111 104/175/111 97/219/111 -f 122/363/112 106/178/112 111/220/112 -f 110/358/113 107/179/113 124/222/113 -f 152/328/114 127/223/114 129/225/114 -f 126/210/115 115/209/115 131/227/115 -f 114/212/116 117/211/116 133/229/116 -f 116/214/117 119/213/117 135/231/117 -f 118/362/118 121/215/118 137/233/118 -f 120/217/119 123/216/119 139/235/119 -f 141/364/120 97/219/120 140/236/120 -f 122/363/121 111/220/121 127/223/121 -f 142/365/122 124/222/122 131/237/122 -f 113/252/123 112/238/123 141/239/123 -f 130/254/124 115/198/124 133/240/124 -f 117/200/125 116/199/125 132/242/125 -f 119/202/126 118/201/126 134/244/126 -f 121/204/127 120/203/127 136/246/127 -f 138/366/128 123/206/128 127/247/128 -f 125/208/129 124/207/129 140/249/129 -f 142/365/130 131/237/130 144/251/130 -f 155/367/131 113/252/131 145/253/131 -f 156/368/132 130/254/132 146/255/132 -f 132/242/133 135/241/133 148/257/133 -f 157/327/134 134/244/134 149/258/134 -f 136/246/135 139/245/135 151/260/135 -f 138/366/136 127/247/136 153/262/136 -f 140/249/137 142/248/137 154/264/137 -f 128/361/138 113/196/138 129/266/138 -f 131/227/139 130/226/139 143/268/139 -f 133/229/140 132/228/140 146/270/140 -f 147/326/141 135/231/141 157/271/141 -f 137/233/142 136/232/142 149/273/142 -f 139/235/143 138/234/143 150/275/143 -f 141/364/144 140/236/144 145/277/144 -f 147/256/145 158/278/145 148/257/145 -f 148/269/146 159/280/146 146/270/146 -f 157/271/163 164/288/163 147/326/163 -f 149/258/164 163/285/164 157/327/164 -f 151/272/165 161/282/165 149/273/165 -f 150/259/166 170/324/166 151/260/166 -f 153/274/167 169/305/167 150/275/167 -f 152/261/168 174/320/168 153/262/168 -f 129/225/169 173/317/169 152/328/169 -f 155/265/170 172/314/170 129/266/170 -f 155/367/171 145/253/171 172/313/171 -f 145/277/172 154/276/172 171/310/172 -f 144/263/173 167/302/173 154/264/173 -f 143/250/174 166/299/174 144/251/174 -f 156/267/175 165/296/175 143/268/175 -f 156/368/176 146/255/176 165/295/176 diff --git a/src/main/resources/assets/hbm/models/TheGadget2.obj b/src/main/resources/assets/hbm/models/TheGadget2.obj deleted file mode 100644 index 7f13574d8..000000000 --- a/src/main/resources/assets/hbm/models/TheGadget2.obj +++ /dev/null @@ -1,1616 +0,0 @@ -# Blender v2.70 (sub 0) OBJ File: 'TheGadget2.blend' -# www.blender.org -o Cylinder.002_Cylinder.004 -v -0.850000 1.000000 -0.650000 -v -0.750000 1.000000 -0.650000 -v -0.850000 0.751256 -0.600522 -v -0.750000 0.751256 -0.600522 -v -0.850000 0.540381 -0.459619 -v -0.750000 0.540381 -0.459619 -v -0.849999 0.399478 -0.248744 -v -0.749999 0.399478 -0.248744 -v -0.849999 0.350000 0.000000 -v -0.749999 0.350000 0.000000 -v -0.849999 0.399478 0.248744 -v -0.749999 0.399478 0.248744 -v -0.850000 0.540381 0.459619 -v -0.750000 0.540381 0.459619 -v -0.850000 0.751256 0.600522 -v -0.750000 0.751256 0.600522 -v -0.850000 1.000000 0.650000 -v -0.750000 1.000000 0.650000 -v -0.850000 1.248744 0.600522 -v -0.750000 1.248744 0.600522 -v -0.850000 1.459619 0.459620 -v -0.750000 1.459619 0.459620 -v -0.850001 1.600522 0.248744 -v -0.750001 1.600522 0.248744 -v -0.850001 1.650000 -0.000000 -v -0.750001 1.650000 -0.000000 -v -0.850001 1.600522 -0.248744 -v -0.750001 1.600522 -0.248744 -v -0.850000 1.459619 -0.459620 -v -0.750000 1.459619 -0.459620 -v -0.850000 1.248744 -0.600522 -v -0.750000 1.248744 -0.600522 -v 0.750000 1.000000 -0.650000 -v 0.850000 1.000000 -0.650000 -v 0.750000 0.751256 -0.600522 -v 0.850000 0.751256 -0.600522 -v 0.750001 0.540381 -0.459619 -v 0.850000 0.540381 -0.459619 -v 0.750001 0.399478 -0.248744 -v 0.850001 0.399478 -0.248744 -v 0.750001 0.350000 0.000000 -v 0.850001 0.350000 0.000000 -v 0.750001 0.399478 0.248744 -v 0.850001 0.399478 0.248744 -v 0.750001 0.540381 0.459619 -v 0.850000 0.540381 0.459619 -v 0.750000 0.751256 0.600522 -v 0.850000 0.751256 0.600522 -v 0.750000 1.000000 0.650000 -v 0.850000 1.000000 0.650000 -v 0.750000 1.248744 0.600522 -v 0.850000 1.248744 0.600522 -v 0.750000 1.459619 0.459620 -v 0.849999 1.459619 0.459620 -v 0.749999 1.600522 0.248744 -v 0.849999 1.600522 0.248744 -v 0.749999 1.650000 -0.000000 -v 0.849999 1.650000 -0.000000 -v 0.749999 1.600522 -0.248744 -v 0.849999 1.600522 -0.248744 -v 0.750000 1.459619 -0.459620 -v 0.849999 1.459619 -0.459620 -v 0.750000 1.248744 -0.600522 -v 0.850000 1.248744 -0.600522 -v -1.500000 0.999999 -0.500000 -v 1.000000 1.000001 -0.500000 -v -1.500000 0.808657 -0.461940 -v 1.000000 0.808659 -0.461940 -v -1.500000 0.646446 -0.353553 -v 1.000000 0.646448 -0.353553 -v -1.500000 0.538059 -0.191342 -v 1.000000 0.538061 -0.191342 -v -1.500000 0.499999 0.000000 -v 1.000000 0.500001 0.000000 -v -1.500000 0.538059 0.191342 -v 1.000000 0.538061 0.191342 -v -1.500000 0.646446 0.353553 -v 1.000000 0.646448 0.353553 -v -1.500000 0.808657 0.461940 -v 1.000000 0.808659 0.461940 -v -1.500000 0.999999 0.500000 -v 1.000000 1.000001 0.500000 -v -1.500000 1.191340 0.461940 -v 1.000000 1.191343 0.461940 -v -1.500000 1.353552 0.353554 -v 1.000000 1.353554 0.353554 -v -1.500000 1.461939 0.191342 -v 0.999999 1.461941 0.191342 -v -1.500000 1.499999 -0.000000 -v 0.999999 1.500001 -0.000000 -v -1.500000 1.461939 -0.191342 -v 0.999999 1.461941 -0.191342 -v -1.500000 1.353552 -0.353554 -v 1.000000 1.353554 -0.353554 -v -1.500000 1.191340 -0.461940 -v 1.000000 1.191343 -0.461940 -v -0.750000 1.000000 -0.800000 -v -0.650000 1.000000 -0.800000 -v -0.750000 0.693853 -0.739104 -v -0.650000 0.693853 -0.739104 -v -0.749999 0.434314 -0.565685 -v -0.649999 0.434315 -0.565685 -v -0.749999 0.260896 -0.306147 -v -0.649999 0.260896 -0.306147 -v -0.749999 0.200000 0.000000 -v -0.649999 0.200000 0.000000 -v -0.749999 0.260896 0.306147 -v -0.649999 0.260896 0.306147 -v -0.749999 0.434314 0.565685 -v -0.649999 0.434315 0.565685 -v -0.750000 0.693853 0.739104 -v -0.650000 0.693853 0.739104 -v -0.750000 1.000000 0.800000 -v -0.650000 1.000000 0.800000 -v -0.750000 1.306147 0.739104 -v -0.650000 1.306147 0.739104 -v -0.750001 1.565685 0.565686 -v -0.650001 1.565685 0.565686 -v -0.750001 1.739104 0.306147 -v -0.650001 1.739104 0.306147 -v -0.750001 1.800000 -0.000000 -v -0.650001 1.800000 -0.000000 -v -0.750001 1.739104 -0.306147 -v -0.650001 1.739104 -0.306147 -v -0.750001 1.565685 -0.565686 -v -0.650001 1.565685 -0.565686 -v -0.750000 1.306146 -0.739104 -v -0.650000 1.306146 -0.739104 -v 0.650000 1.000000 -0.800000 -v 0.750000 1.000000 -0.800000 -v 0.650000 0.693853 -0.739104 -v 0.750000 0.693853 -0.739104 -v 0.650001 0.434314 -0.565685 -v 0.750000 0.434315 -0.565685 -v 0.650001 0.260896 -0.306147 -v 0.750001 0.260896 -0.306147 -v 0.650001 0.200000 0.000000 -v 0.750001 0.200000 0.000000 -v 0.650001 0.260896 0.306147 -v 0.750001 0.260896 0.306147 -v 0.650001 0.434314 0.565685 -v 0.750000 0.434315 0.565685 -v 0.650000 0.693853 0.739104 -v 0.750000 0.693853 0.739104 -v 0.650000 1.000000 0.800000 -v 0.750000 1.000000 0.800000 -v 0.650000 1.306147 0.739104 -v 0.750000 1.306147 0.739104 -v 0.650000 1.565685 0.565686 -v 0.749999 1.565685 0.565686 -v 0.649999 1.739104 0.306147 -v 0.749999 1.739104 0.306147 -v 0.649999 1.800000 -0.000000 -v 0.749999 1.800000 -0.000000 -v 0.649999 1.739104 -0.306147 -v 0.749999 1.739104 -0.306147 -v 0.650000 1.565685 -0.565686 -v 0.749999 1.565685 -0.565686 -v 0.650000 1.306146 -0.739104 -v 0.750000 1.306146 -0.739104 -v 0.000000 0.000000 0.000000 -v 0.723607 0.552781 0.525725 -v -0.276388 0.552780 0.850649 -v -0.894426 0.552784 0.000000 -v -0.276388 0.552780 -0.850649 -v 0.723607 0.552781 -0.525725 -v 0.276388 1.447220 0.850649 -v -0.723607 1.447219 0.525725 -v -0.723607 1.447219 -0.525725 -v 0.276388 1.447220 -0.850649 -v 0.894426 1.447216 0.000000 -v 0.000000 2.000000 0.000000 -v -0.162456 0.149346 0.499995 -v 0.425323 0.149346 0.309011 -v 0.262869 0.474262 0.809012 -v 0.850648 0.474264 0.000000 -v 0.425323 0.149346 -0.309011 -v -0.525730 0.149348 0.000000 -v -0.688189 0.474264 0.499997 -v -0.162456 0.149346 -0.499995 -v -0.688189 0.474264 -0.499997 -v 0.262869 0.474262 -0.809012 -v 0.951058 1.000000 0.309013 -v 0.951058 1.000000 -0.309013 -v 0.000000 1.000000 1.000000 -v 0.587786 1.000000 0.809017 -v -0.951058 1.000000 0.309013 -v -0.587786 1.000000 0.809017 -v -0.587786 1.000000 -0.809017 -v -0.951058 1.000000 -0.309013 -v 0.587786 1.000000 -0.809017 -v 0.000000 1.000000 -1.000000 -v 0.688189 1.525736 0.499997 -v -0.262869 1.525738 0.809012 -v -0.850648 1.525736 0.000000 -v -0.262869 1.525738 -0.809012 -v 0.688189 1.525736 -0.499997 -v 0.162456 1.850654 0.499995 -v 0.525730 1.850652 0.000000 -v -0.425323 1.850654 0.309011 -v -0.425323 1.850654 -0.309011 -v 0.162456 1.850654 -0.499995 -v -1.187500 0.999999 -0.500000 -v -1.187500 0.808657 -0.461940 -v -1.187500 0.646446 -0.353553 -v -1.187500 0.538059 -0.191342 -v -1.187500 0.499999 0.000000 -v -1.187500 0.538059 0.191342 -v -1.187500 0.646446 0.353553 -v -1.187500 0.808657 0.461940 -v -1.187500 0.999999 0.500000 -v -1.187500 1.191341 0.461940 -v -1.187500 1.353552 0.353554 -v -1.187500 1.461939 0.191342 -v -1.187500 1.499999 -0.000000 -v -1.187500 1.461939 -0.191342 -v -1.187500 1.353552 -0.353554 -v -1.187500 1.191341 -0.461940 -vt 0.954445 0.915707 -vt 0.941459 0.915707 -vt 0.941459 0.882608 -vt 0.941459 0.877479 -vt 0.941459 0.844380 -vt 0.954445 0.844380 -vt 0.796072 0.927548 -vt 0.796072 0.894449 -vt 0.809058 0.894449 -vt 0.223742 0.946223 -vt 0.223742 0.913124 -vt 0.236729 0.913124 -vt 0.928624 0.190559 -vt 0.928624 0.157460 -vt 0.941611 0.157460 -vt 0.209444 0.946223 -vt 0.209444 0.913124 -vt 0.222430 0.913124 -vt 0.321191 0.950380 -vt 0.308205 0.950380 -vt 0.308205 0.917281 -vt 0.954446 0.806152 -vt 0.941459 0.806152 -vt 0.941459 0.773052 -vt 0.694459 0.938495 -vt 0.694459 0.905396 -vt 0.707445 0.905396 -vt 0.129689 0.914081 -vt 0.129689 0.947180 -vt 0.116702 0.947180 -vt 0.308205 0.884181 -vt 0.321191 0.884181 -vt 0.321191 0.917281 -vt 0.005275 0.913124 -vt 0.018262 0.913124 -vt 0.018262 0.946223 -vt 0.005275 0.880025 -vt 0.018262 0.880025 -vt 0.335490 0.917281 -vt 0.335490 0.950380 -vt 0.322504 0.950380 -vt 0.074105 0.422270 -vt 0.191188 0.445675 -vt 0.167899 0.563339 -vt 0.712194 0.931183 -vt 0.725180 0.931183 -vt 0.725180 0.964282 -vt 0.335490 0.884181 -vt 0.322503 0.917281 -vt 0.573167 0.304552 -vt 0.560563 0.335132 -vt 0.573167 0.271453 -vt 0.945391 0.119232 -vt 0.945391 0.086132 -vt 0.958377 0.086132 -vt 0.674509 0.938495 -vt 0.674509 0.905396 -vt 0.687496 0.905396 -vt 0.311513 0.812793 -vt 0.311513 0.779694 -vt 0.324499 0.779694 -vt 0.324499 0.812793 -vt 0.324499 0.779693 -vt 0.337486 0.779693 -vt 0.120707 0.812793 -vt 0.107720 0.812793 -vt 0.107720 0.779693 -vt 0.915638 0.190559 -vt 0.096753 0.947180 -vt 0.096753 0.914081 -vt 0.109739 0.914081 -vt 0.954446 0.811280 -vt 0.954446 0.844380 -vt 0.707445 0.938495 -vt 0.707445 0.971594 -vt 0.694459 0.971594 -vt 0.945391 0.157460 -vt 0.945391 0.124360 -vt 0.958377 0.124360 -vt 0.902651 0.190559 -vt 0.902651 0.157460 -vt 0.915638 0.157460 -vt 0.407585 0.706344 -vt 0.420572 0.706344 -vt 0.420572 0.739443 -vt 0.712194 0.898084 -vt 0.725180 0.898084 -vt 0.954597 0.157460 -vt 0.954597 0.190559 -vt 0.941611 0.190559 -vt 0.407585 0.509354 -vt 0.394981 0.539934 -vt 0.371692 0.563339 -vt 0.809058 0.927548 -vt 0.809058 0.960648 -vt 0.796072 0.960648 -vt 0.120707 0.779693 -vt 0.133693 0.779693 -vt 0.537273 0.383870 -vt 0.560563 0.407275 -vt 0.573167 0.437854 -vt 0.851858 0.531074 -vt 0.826522 0.531074 -vt 0.826522 0.245586 -vt 0.775851 0.204802 -vt 0.801187 0.204802 -vt 0.801187 0.490290 -vt 0.775851 0.531074 -vt 0.750516 0.531074 -vt 0.750516 0.245586 -vt 0.229128 0.735876 -vt 0.203793 0.735876 -vt 0.203793 0.450388 -vt 0.699845 0.245586 -vt 0.699845 0.531074 -vt 0.674509 0.531074 -vt 0.826522 0.204802 -vt 0.725180 0.531074 -vt 0.750516 0.857346 -vt 0.725180 0.857346 -vt 0.725180 0.571858 -vt 0.699845 0.857346 -vt 0.674509 0.857346 -vt 0.674509 0.571858 -vt 0.623838 0.531074 -vt 0.598502 0.531074 -vt 0.598502 0.245586 -vt 0.649173 0.531074 -vt 0.649173 0.245586 -vt 0.038211 0.735876 -vt 0.012876 0.735876 -vt 0.012876 0.450388 -vt 0.725180 0.204802 -vt 0.750516 0.204802 -vt 0.750516 0.490290 -vt 0.417281 0.565352 -vt 0.483938 0.537605 -vt 0.435196 0.655863 -vt 0.649173 0.857346 -vt 0.649173 0.571858 -vt 0.573167 0.531074 -vt 0.573167 0.245586 -vt 0.483938 0.204802 -vt 0.407585 0.153532 -vt 0.534956 0.128071 -vt 0.324499 0.738956 -vt 0.324499 0.698218 -vt 0.337486 0.698218 -vt 0.712831 0.694025 -vt 0.712831 0.734762 -vt 0.699845 0.734762 -vt 0.712831 0.775500 -vt 0.699845 0.775500 -vt 0.324499 0.657481 -vt 0.311513 0.698218 -vt 0.337486 0.657481 -vt 0.120707 0.738956 -vt 0.407585 0.665606 -vt 0.420572 0.665606 -vt 0.120707 0.698218 -vt 0.133693 0.698218 -vt 0.699845 0.653287 -vt 0.699845 0.612549 -vt 0.712831 0.612549 -vt 0.107720 0.738956 -vt 0.107720 0.698218 -vt 0.712831 0.531074 -vt 0.712831 0.571812 -vt 0.699845 0.571812 -vt 0.120707 0.657481 -vt 0.338077 0.657481 -vt 0.325090 0.657481 -vt 0.325090 0.616743 -vt 0.120707 0.616743 -vt 0.133693 0.616743 -vt 0.133693 0.657481 -vt 0.188280 0.044395 -vt 0.081628 0.204802 -vt 0.000000 0.082032 -vt 0.392072 0.249197 -vt 0.363409 0.394014 -vt 0.219305 0.365208 -vt 0.120707 0.576005 -vt 0.107720 0.616743 -vt 0.324499 0.616743 -vt 0.311513 0.657481 -vt 0.712831 0.816238 -vt 0.699845 0.816237 -vt 0.699845 0.694025 -vt 0.712831 0.653287 -vt 0.311513 0.738956 -vt 0.133693 0.738956 -vt 0.107720 0.657481 -vt 0.902651 0.198198 -vt 0.889665 0.198198 -vt 0.889665 0.157460 -vt 0.712194 0.857346 -vt 0.699845 0.856975 -vt 0.699845 0.816238 -vt 0.121297 0.616743 -vt 0.121297 0.576005 -vt 0.134284 0.576005 -vt 0.311513 0.616743 -vt 0.311513 0.576005 -vt 0.324499 0.576005 -vt 0.325090 0.576005 -vt 0.338077 0.576005 -vt 0.338077 0.616743 -vt 0.392072 0.160406 -vt 0.363409 0.189212 -vt 0.325957 0.204802 -vt 0.796072 0.853711 -vt 0.081628 0.409604 -vt 0.044177 0.220391 -vt 0.188280 0.249197 -vt 0.941459 0.956036 -vt 1.000000 0.915707 -vt 1.000000 0.996365 -vt 0.918059 0.316459 -vt 0.976600 0.276129 -vt 0.976600 0.356788 -vt 0.984258 0.388420 -vt 0.984258 0.459747 -vt 0.918058 0.414142 -vt 0.933801 0.652063 -vt 0.992341 0.611733 -vt 0.992341 0.692392 -vt 0.937191 0.045801 -vt 0.995731 0.005472 -vt 0.995731 0.086131 -vt 0.918059 0.285461 -vt 0.918059 0.356788 -vt 0.851858 0.311183 -vt 0.875259 0.773052 -vt 0.875259 0.844380 -vt 0.809058 0.798773 -vt 0.875259 0.915707 -vt 0.809058 0.889986 -vt 0.476413 0.786594 -vt 0.534956 0.746265 -vt 0.534956 0.826925 -vt 0.601157 0.779583 -vt 0.601157 0.850910 -vt 0.534956 0.805305 -vt 0.750516 0.571403 -vt 0.809058 0.531074 -vt 0.809058 0.611733 -vt 0.738588 0.076800 -vt 0.672388 0.051077 -vt 0.738588 0.005472 -vt 0.976599 0.276129 -vt 0.910399 0.250406 -vt 0.976599 0.204802 -vt 0.672388 0.005472 -vt 0.672388 0.076800 -vt 0.606188 0.031195 -vt 0.750516 0.732723 -vt 0.809058 0.692393 -vt 0.809058 0.773052 -vt 0.404277 0.817983 -vt 0.404277 0.889310 -vt 0.338077 0.843704 -vt 0.875259 0.571403 -vt 0.933801 0.531074 -vt 0.933801 0.611733 -vt 0.476413 0.947913 -vt 0.534954 0.907584 -vt 0.534954 0.988243 -vt 0.674509 0.928673 -vt 0.608309 0.883068 -vt 0.875259 0.798775 -vt 0.875259 0.889985 -vt 0.534956 0.739253 -vt 0.604463 0.698924 -vt 0.604463 0.779583 -vt 0.879191 0.131738 -vt 0.918058 0.505353 -vt 0.984258 0.531074 -vt 0.311512 0.737324 -vt 0.311512 0.817983 -vt 0.242004 0.777654 -vt 0.608310 0.954396 -vt 0.674509 1.000000 -vt 0.404277 0.960638 -vt 0.338078 0.915033 -vt 0.673974 0.117131 -vt 0.743482 0.076801 -vt 0.743482 0.157460 -vt 0.308205 0.817983 -vt 0.308205 0.889310 -vt 0.242004 0.863588 -vt 0.410213 0.872531 -vt 0.476413 0.826925 -vt 0.476413 0.898253 -vt 0.465448 0.705935 -vt 0.534956 0.665606 -vt 0.476413 0.969580 -vt 0.410214 0.943858 -vt 0.933801 0.692392 -vt 0.875259 0.652063 -vt 0.338077 0.777653 -vt 0.407585 0.737324 -vt 0.407585 0.817982 -vt 0.870991 0.031195 -vt 0.937191 0.005472 -vt 0.937191 0.076800 -vt 0.096753 0.969968 -vt 0.030553 0.924364 -vt 0.096753 0.898641 -vt 0.242004 0.696996 -vt 0.311512 0.656665 -vt 0.791381 0.857346 -vt 0.791381 0.928673 -vt 0.725180 0.902951 -vt 0.804789 0.076800 -vt 0.738588 0.031196 -vt 0.804789 0.005472 -vt 0.407585 0.576005 -vt 0.407585 0.656665 -vt 0.338077 0.616335 -vt 0.870991 0.005472 -vt 0.870991 0.076800 -vt 0.804789 0.051078 -vt 0.473786 0.076801 -vt 0.407585 0.031195 -vt 0.473786 0.005473 -vt 0.604464 0.537605 -vt 0.604464 0.618265 -vt 0.534956 0.577935 -vt 0.417871 0.786596 -vt 0.476413 0.746265 -vt 0.539987 0.051078 -vt 0.606188 0.005472 -vt 0.606188 0.076800 -vt 0.604465 0.157460 -vt 0.534956 0.117131 -vt 0.604465 0.076801 -vt 0.476413 0.867255 -vt 0.534954 0.826925 -vt 0.809058 0.853711 -vt 0.750516 0.813383 -vt 0.673974 0.157460 -vt 0.604465 0.117131 -vt 0.673974 0.076801 -vt 0.203793 0.817981 -vt 0.203793 0.889308 -vt 0.137592 0.863587 -vt 0.750516 0.652064 -vt 0.311513 0.656665 -vt 0.242004 0.616335 -vt 0.534956 0.876630 -vt 0.601156 0.850910 -vt 0.601156 0.922237 -vt 0.809058 0.657339 -vt 0.875259 0.611733 -vt 0.875259 0.683061 -vt 0.203793 0.656665 -vt 0.134284 0.616336 -vt 0.203793 0.576005 -vt 0.812990 0.111853 -vt 0.879191 0.086132 -vt 0.879191 0.157460 -vt 0.918058 0.459747 -vt 0.851858 0.414140 -vt 0.918058 0.388419 -vt 0.203793 0.737322 -vt 0.134283 0.696994 -vt 0.910399 0.285461 -vt 0.851858 0.245130 -vt 0.910399 0.204802 -vt 0.809058 0.747332 -vt 0.875259 0.701725 -vt 0.534956 0.658593 -vt 0.604464 0.698924 -vt 0.809058 0.556796 -vt 0.875259 0.531074 -vt 0.875259 0.602401 -vt 0.918058 0.531074 -vt 0.851858 0.485467 -vt 0.107720 0.656665 -vt 0.038211 0.616335 -vt 0.107720 0.576005 -vt 0.539987 0.005472 -vt 0.539987 0.076801 -vt 0.473786 0.051079 -vt 0.941459 0.987033 -vt 0.875259 0.941428 -vt 0.107719 0.656665 -vt 0.107719 0.737324 -vt 0.038211 0.696995 -vt 0.308205 0.960637 -vt 0.242005 0.934915 -vt 0.725180 0.974278 -vt 0.791380 0.928673 -vt 0.791380 0.999999 -vt 0.134285 0.777651 -vt 0.875259 0.727447 -vt 0.941459 0.701725 -vt 0.941459 0.773053 -vt 1.000000 0.692395 -vt 1.000000 0.773052 -vt 0.941459 0.732724 -vt 0.107719 0.817982 -vt 0.038211 0.777653 -vt 0.601156 0.993563 -vt 0.534956 0.967842 -vt 0.992342 0.531074 -vt 0.992342 0.611733 -vt 0.933801 0.571404 -vt 0.743482 0.117131 -vt 0.812990 0.076801 -vt 0.812990 0.157460 -vt 0.137593 0.915030 -vt 0.203793 0.960635 -vt 0.809058 0.961312 -vt 0.875259 0.987034 -vt 0.338077 0.696995 -vt 0.038211 0.858311 -vt 0.096753 0.817982 -vt 0.209444 0.883844 -vt 0.236729 0.880025 -vt 0.308205 0.821802 -vt 0.335490 0.817983 -vt 0.335490 0.851082 -vt 0.807809 0.161279 -vt 0.835094 0.157460 -vt 0.835094 0.190559 -vt 0.753238 0.161279 -vt 0.780524 0.157460 -vt 0.780524 0.190559 -vt 0.698668 0.161279 -vt 0.725953 0.157460 -vt 0.725953 0.190559 -vt 0.644097 0.161279 -vt 0.671382 0.157460 -vt 0.671382 0.190559 -vt 0.616812 0.161279 -vt 0.644097 0.157460 -vt 0.644097 0.190559 -vt 0.534956 0.161279 -vt 0.562241 0.157460 -vt 0.562241 0.190559 -vt 0.616812 0.157460 -vt 0.616812 0.190559 -vt 0.589526 0.186740 -vt 0.589526 0.161279 -vt 0.889665 0.190559 -vt 0.862379 0.186740 -vt 0.807809 0.157460 -vt 0.807809 0.190559 -vt 0.780524 0.186740 -vt 0.862379 0.157460 -vt 0.862379 0.190559 -vt 0.835094 0.186740 -vt 0.308205 0.880362 -vt 0.308205 0.854901 -vt 0.753238 0.157460 -vt 0.753238 0.190559 -vt 0.725953 0.186740 -vt 0.698668 0.157460 -vt 0.698668 0.190559 -vt 0.671382 0.186740 -vt 0.851858 0.204802 -vt 0.851858 0.245586 -vt 0.775851 0.490290 -vt 0.801187 0.531074 -vt 0.775851 0.245586 -vt 0.229128 0.450388 -vt 0.203793 0.409604 -vt 0.674509 0.245586 -vt 0.674509 0.204802 -vt 0.826522 0.490290 -vt 0.725180 0.245586 -vt 0.699845 0.204802 -vt 0.750516 0.571858 -vt 0.699845 0.571858 -vt 0.623838 0.204802 -vt 0.623838 0.245586 -vt 0.649173 0.204802 -vt 0.038211 0.450388 -vt 0.012876 0.409604 -vt 0.725180 0.490290 -vt 0.573167 0.204802 -vt 0.125889 0.914081 -vt 0.100553 0.914081 -vt 0.096753 0.866031 -vt 0.637401 0.825903 -vt 0.604464 0.825903 -vt 0.608265 0.777853 -vt 0.637401 0.585655 -vt 0.604464 0.585655 -vt 0.608265 0.537605 -vt 0.637401 0.633704 -vt 0.604464 0.633704 -vt 0.608265 0.585655 -vt 0.604464 0.729803 -vt 0.608265 0.681754 -vt 0.633600 0.681754 -vt 0.604464 0.681754 -vt 0.608265 0.633704 -vt 0.633600 0.633704 -vt 0.005275 0.783925 -vt 0.009075 0.735876 -vt 0.034411 0.735876 -vt 0.465448 0.665606 -vt 0.461647 0.713656 -vt 0.436312 0.713656 -vt 0.637401 0.729803 -vt 0.633600 0.777853 -vt 0.005275 0.831975 -vt 0.009075 0.783925 -vt 0.034411 0.783925 -vt 0.678309 0.857346 -vt 0.703645 0.857346 -vt 0.203793 0.831975 -vt 0.207593 0.783925 -vt 0.232928 0.783925 -vt 0.203793 0.783925 -vt 0.207593 0.735876 -vt 0.232928 0.735876 -vt 0.038211 0.880025 -vt 0.009075 0.831975 -vt 0.129689 0.866031 -vt 0.100553 0.817982 -vt 0.236729 0.831975 -vt 0.232929 0.880025 -vt 0.954445 0.882608 -vt 0.954445 0.877479 -vt 0.236729 0.946223 -vt 0.222430 0.946223 -vt 0.954446 0.773052 -vt 0.116702 0.914081 -vt 0.005275 0.946223 -vt 0.018261 0.913124 -vt 0.322504 0.917281 -vt 0.137470 0.576005 -vt 0.104534 0.576005 -vt 0.050815 0.539934 -vt 0.074105 0.563339 -vt 0.038211 0.509354 -vt 0.038211 0.476255 -vt 0.050815 0.445675 -vt 0.104534 0.409604 -vt 0.137470 0.409604 -vt 0.167899 0.422270 -vt 0.203793 0.476255 -vt 0.203793 0.509354 -vt 0.191188 0.539934 -vt 0.322503 0.884181 -vt 0.712194 0.964282 -vt 0.420189 0.335132 -vt 0.407585 0.304552 -vt 0.407585 0.271453 -vt 0.506844 0.371203 -vt 0.506844 0.204802 -vt 0.420189 0.240873 -vt 0.473908 0.204802 -vt 0.537273 0.217468 -vt 0.560563 0.240873 -vt 0.958377 0.119232 -vt 0.537273 0.358537 -vt 0.473908 0.371203 -vt 0.443479 0.358537 -vt 0.443479 0.217468 -vt 0.687496 0.938495 -vt 0.337486 0.812793 -vt 0.109739 0.947180 -vt 0.941459 0.811280 -vt 0.958377 0.157460 -vt 0.407585 0.739443 -vt 0.341263 0.576005 -vt 0.308326 0.576005 -vt 0.277897 0.563339 -vt 0.254608 0.539934 -vt 0.242004 0.476255 -vt 0.277897 0.422270 -vt 0.242004 0.509354 -vt 0.254608 0.445675 -vt 0.308326 0.409604 -vt 0.341263 0.409604 -vt 0.371692 0.422270 -vt 0.394981 0.445675 -vt 0.407585 0.476255 -vt 0.133693 0.812793 -vt 0.420189 0.407275 -vt 0.443479 0.383870 -vt 0.420189 0.501534 -vt 0.573167 0.470954 -vt 0.560563 0.501534 -vt 0.537273 0.524938 -vt 0.506844 0.537605 -vt 0.473908 0.537605 -vt 0.443479 0.524938 -vt 0.407585 0.470954 -vt 0.407585 0.437854 -vt 0.458603 0.665606 -vt 0.483938 0.665606 -vt 0.507345 0.655863 -vt 0.507345 0.547348 -vt 0.417281 0.637859 -vt 0.407585 0.614336 -vt 0.407585 0.588875 -vt 0.435196 0.547348 -vt 0.458603 0.537605 -vt 0.525260 0.565352 -vt 0.534956 0.588875 -vt 0.534956 0.614336 -vt 0.525260 0.637859 -vt 0.458603 0.076801 -vt 0.483938 0.076801 -vt 0.507345 0.086544 -vt 0.435196 0.086544 -vt 0.525260 0.104548 -vt 0.534956 0.153532 -vt 0.507345 0.195058 -vt 0.458603 0.204802 -vt 0.435196 0.195058 -vt 0.417281 0.177055 -vt 0.407585 0.128071 -vt 0.417281 0.104548 -vt 0.337486 0.738956 -vt 0.525260 0.177055 -vt 0.015513 0.044395 -vt 0.044177 0.015590 -vt 0.122165 0.000000 -vt 0.159616 0.015590 -vt 0.081628 0.000000 -vt 0.203793 0.082032 -vt 0.203793 0.122770 -vt 0.188280 0.160406 -vt 0.159616 0.189212 -vt 0.122165 0.204802 -vt 0.044177 0.189212 -vt 0.015513 0.160406 -vt 0.000000 0.122770 -vt 0.325957 0.409604 -vt 0.285421 0.409604 -vt 0.247969 0.394014 -vt 0.203793 0.327572 -vt 0.203793 0.286834 -vt 0.219305 0.249197 -vt 0.247969 0.220392 -vt 0.285420 0.204802 -vt 0.363408 0.220391 -vt 0.407585 0.327572 -vt 0.392072 0.365208 -vt 0.407585 0.286834 -vt 0.712831 0.856975 -vt 0.134284 0.616743 -vt 0.247969 0.189212 -vt 0.219305 0.160406 -vt 0.247969 0.015590 -vt 0.325957 0.000000 -vt 0.219305 0.044395 -vt 0.285421 0.000000 -vt 0.363409 0.015590 -vt 0.392072 0.044395 -vt 0.407585 0.082032 -vt 0.407585 0.122770 -vt 0.159616 0.394014 -vt 0.122165 0.409604 -vt 0.044177 0.394014 -vt 0.015513 0.365208 -vt 0.000000 0.327572 -vt 0.000000 0.286834 -vt 0.015513 0.249197 -vt 0.159616 0.220391 -vt 0.188280 0.365208 -vt 0.308205 0.847263 -vt 0.209444 0.909305 -vt 0.807809 0.186740 -vt 0.753238 0.186740 -vt 0.698668 0.186740 -vt 0.644097 0.186740 -vt 0.616812 0.186740 -vt 0.534956 0.186740 -vt 0.862379 0.161279 -vt 0.780524 0.161279 -vt 0.835094 0.161279 -vt 0.725953 0.161279 -vt 0.671382 0.161279 -vt 0.229128 0.409604 -vt 0.598502 0.204802 -vt 0.038211 0.409604 -vt 0.633600 0.537605 -vt 0.633600 0.585654 -vt 0.637401 0.681754 -vt 0.038211 0.783925 -vt 0.432511 0.665606 -vt 0.038211 0.831975 -vt 0.236729 0.783925 -vt 0.034411 0.831975 -vt 0.125889 0.817982 -vt 0.207593 0.880025 -vn 0.000000 -0.195090 -0.980785 -vn 0.000000 -0.555571 -0.831469 -vn 0.000001 -0.831470 -0.555570 -vn 0.000001 -0.980785 -0.195090 -vn 0.000001 -0.980785 0.195090 -vn 0.000001 -0.831470 0.555570 -vn 0.000001 -0.555571 0.831469 -vn 0.000000 -0.195090 0.980785 -vn -0.000000 0.195090 0.980785 -vn -0.000000 0.555569 0.831470 -vn -0.000001 0.831469 0.555571 -vn -0.000002 0.980785 0.195090 -vn -0.000001 0.980785 -0.195092 -vn -0.000001 0.831470 -0.555570 -vn 1.000000 0.000001 0.000000 -vn 0.000000 0.195090 -0.980785 -vn -0.000001 0.555570 -0.831470 -vn -1.000000 -0.000001 -0.000000 -vn 0.000001 -0.555570 -0.831469 -vn 0.000000 -0.555571 0.831469 -vn 0.000000 0.555570 0.831470 -vn -0.000001 0.980786 0.195088 -vn -0.000001 0.980785 -0.195091 -vn 1.000000 0.000004 0.000000 -vn -0.000001 0.555571 -0.831469 -vn 0.000000 -0.195091 -0.980785 -vn 0.000001 -0.555570 -0.831470 -vn 0.000001 -0.555570 0.831470 -vn 0.000000 -0.195091 0.980785 -vn -0.000001 0.555570 0.831470 -vn -0.000001 0.831469 0.555570 -vn -0.000001 0.980785 0.195091 -vn -0.000000 0.555570 -0.831470 -vn -0.000000 -0.555570 -0.831470 -vn 0.000000 -0.555570 0.831470 -vn 0.000000 0.831470 0.555570 -vn 0.000000 0.980785 0.195090 -vn 0.000000 0.980785 -0.195090 -vn 0.000000 0.831470 -0.555570 -vn -0.000001 0.555569 -0.831470 -vn -0.000001 0.831470 0.555570 -vn 0.000000 0.980785 -0.195091 -vn 1.000000 -0.000001 0.000000 -vn 0.102381 -0.943524 0.315090 -vn 0.700224 -0.661699 0.268032 -vn -0.268034 -0.943523 0.194736 -vn -0.268034 -0.943523 -0.194736 -vn 0.102381 -0.943524 -0.315090 -vn 0.904989 -0.330385 0.268032 -vn 0.024747 -0.330386 0.943521 -vn -0.889697 -0.330385 0.315095 -vn -0.574602 -0.330388 -0.748783 -vn 0.534576 -0.330387 -0.777865 -vn 0.802609 -0.125627 0.583126 -vn -0.306569 -0.125629 0.943522 -vn -0.992077 -0.125628 0.000000 -vn -0.306569 -0.125629 -0.943522 -vn 0.802609 -0.125627 -0.583126 -vn 0.408946 0.661699 0.628425 -vn -0.471300 0.661699 0.583122 -vn -0.700224 0.661699 -0.268032 -vn 0.038530 0.661699 -0.748779 -vn 0.724042 0.661695 -0.194736 -vn -0.038531 -0.661699 0.748779 -vn 0.187594 -0.794658 0.577345 -vn 0.471300 -0.661699 0.583122 -vn 0.700224 -0.661699 -0.268032 -vn 0.607060 -0.794656 0.000000 -vn 0.331305 -0.943524 0.000000 -vn -0.724042 -0.661695 0.194736 -vn -0.491120 -0.794657 0.356821 -vn -0.408946 -0.661698 0.628425 -vn -0.408946 -0.661698 -0.628425 -vn -0.491120 -0.794657 -0.356821 -vn -0.724042 -0.661695 -0.194736 -vn 0.471300 -0.661699 -0.583122 -vn 0.187594 -0.794658 -0.577345 -vn -0.038531 -0.661699 -0.748779 -vn 0.992077 0.125628 0.000000 -vn 0.982246 -0.187598 0.000000 -vn 0.904989 -0.330385 -0.268032 -vn 0.306569 0.125629 0.943522 -vn 0.303531 -0.187597 0.934171 -vn 0.534576 -0.330387 0.777865 -vn -0.802609 0.125627 0.583126 -vn -0.794656 -0.187595 0.577348 -vn -0.574602 -0.330388 0.748783 -vn -0.802609 0.125627 -0.583126 -vn -0.794656 -0.187595 -0.577348 -vn -0.889697 -0.330385 -0.315095 -vn 0.306569 0.125629 -0.943522 -vn 0.303531 -0.187597 -0.934171 -vn 0.024747 -0.330386 -0.943521 -vn 0.574602 0.330388 0.748784 -vn 0.794656 0.187595 0.577348 -vn 0.889697 0.330385 0.315094 -vn -0.534576 0.330386 0.777865 -vn -0.303531 0.187597 0.934171 -vn -0.024747 0.330386 0.943521 -vn -0.904989 0.330385 -0.268032 -vn -0.982246 0.187598 0.000000 -vn -0.904989 0.330385 0.268032 -vn -0.024747 0.330386 -0.943521 -vn -0.303531 0.187597 -0.934171 -vn -0.534576 0.330386 -0.777865 -vn 0.889697 0.330385 -0.315094 -vn 0.794656 0.187595 -0.577348 -vn 0.574602 0.330388 -0.748784 -vn 0.268034 0.943523 0.194737 -vn 0.491119 0.794657 0.356822 -vn 0.724042 0.661695 0.194736 -vn -0.102381 0.943523 0.315090 -vn -0.187594 0.794657 0.577346 -vn 0.038531 0.661699 0.748779 -vn -0.331305 0.943524 0.000000 -vn -0.607061 0.794655 0.000000 -vn -0.700224 0.661699 0.268032 -vn -0.102381 0.943523 -0.315090 -vn -0.187594 0.794658 -0.577345 -vn -0.471300 0.661699 -0.583122 -vn 0.268034 0.943523 -0.194737 -vn 0.491119 0.794657 -0.356822 -vn 0.408946 0.661699 -0.628425 -vn 0.700212 0.700217 0.139282 -vn 0.700212 0.593615 0.396641 -vn 0.700213 0.396641 0.593614 -vn 0.700214 0.139282 0.700215 -vn 0.700215 -0.139280 0.700214 -vn 0.700217 -0.396638 0.593612 -vn 0.700217 -0.593610 0.396639 -vn 0.700218 -0.700212 0.139281 -vn 0.700218 -0.700211 -0.139281 -vn 0.700217 -0.593610 -0.396639 -vn 0.700211 0.700217 -0.139282 -vn 0.700212 0.593615 -0.396641 -vn 0.700213 0.396641 -0.593614 -vn 0.700214 0.139282 -0.700215 -vn 0.700215 -0.139280 -0.700214 -vn 0.700217 -0.396638 -0.593612 -vn 0.000001 -0.555571 -0.831469 -vn 0.000001 -0.980785 -0.195091 -vn -0.000000 0.555571 0.831469 -vn -0.399591 0.178838 -0.899080 -vn -0.399592 0.509287 -0.762203 -vn -0.399593 0.762202 -0.509287 -vn -0.399593 0.899079 -0.178838 -vn -0.399593 0.899079 0.178839 -vn -0.399592 0.762202 0.509288 -vn -0.399592 0.509287 0.762203 -vn -0.399591 0.178838 0.899080 -vn -0.399590 -0.178838 0.899080 -vn -0.399590 -0.509288 0.762203 -vn -0.399589 -0.762204 0.509288 -vn -0.399589 -0.899080 0.178838 -vn -0.399589 -0.899080 -0.178838 -vn -0.399589 -0.762203 -0.509288 -vn -0.399590 -0.509288 -0.762203 -vn -0.399591 -0.178838 -0.899080 -vn 0.000001 -0.195090 -0.980785 -vn 0.000001 -0.831469 0.555571 -vn 0.000001 -0.195090 0.980785 -vn -0.000001 0.195090 0.980785 -vn -0.000002 0.831470 0.555570 -vn -0.000002 0.980785 0.195089 -vn -0.000002 0.980785 -0.195089 -vn 1.000000 0.000002 0.000000 -vn -1.000000 -0.000002 0.000000 -vn -1.000000 -0.000000 0.000000 -vn -0.000001 0.555569 0.831470 -vn 0.000000 0.831469 0.555571 -vn -0.000001 0.980785 0.195092 -vn 1.000000 0.000000 0.000000 -vn -1.000000 -0.000001 0.000001 -vn -1.000000 -0.000002 -0.000001 -vn 0.000001 -0.980785 0.195091 -vn -0.000001 0.831471 0.555569 -vn 1.000000 0.000001 0.000001 -vn 1.000000 0.000001 -0.000002 -vn 1.000000 0.000006 -0.000001 -vn 1.000000 0.000002 0.000001 -vn -1.000000 0.000000 -0.000001 -vn -1.000000 0.000002 0.000003 -vn -1.000000 -0.000001 0.000002 -vn -1.000000 -0.000001 -0.000001 -vn -1.000000 0.000002 0.000001 -vn 0.000000 -0.831470 -0.555570 -vn 0.000000 -0.831469 0.555570 -vn -0.000001 0.555570 0.831469 -vn 0.000000 0.831469 0.555570 -vn 0.000000 0.980785 0.195091 -vn 0.000000 0.555570 -0.831469 -vn -1.000000 -0.000004 0.000000 -vn -1.000000 -0.000003 -0.000000 -vn -0.000001 0.980785 0.195090 -vn -0.000001 0.980785 -0.195090 -vn 0.000000 0.555571 -0.831469 -vn -1.000000 0.000000 0.000001 -vn -1.000000 0.000001 0.000000 -vn 0.700211 0.593616 0.396641 -vn 0.700212 0.700217 0.139281 -vn 0.700212 0.396641 0.593615 -vn 0.700216 -0.139281 0.700213 -vn 0.700216 -0.396638 0.593612 -vn 0.700217 -0.593611 0.396639 -vn 0.700217 -0.700212 0.139281 -vn 0.700217 -0.593611 -0.396639 -vn 0.700212 0.700217 -0.139282 -vn 0.700211 0.593616 -0.396641 -vn 0.700215 -0.139281 -0.700214 -vn 0.700216 -0.396638 -0.593612 -vn 0.000001 -0.831469 -0.555571 -vn -0.000001 0.831469 -0.555571 -vn -0.399592 0.178837 -0.899079 -vn -0.399592 0.762202 -0.509288 -vn -0.399592 0.899079 -0.178839 -vn -0.399593 0.899079 0.178838 -vn -0.399593 0.762202 0.509287 -vn -0.399591 0.178837 0.899080 -vn -0.399591 -0.178838 0.899080 -vn -0.399589 -0.762203 0.509288 -vn -0.399589 -0.899081 0.178838 -vn -0.399589 -0.899081 -0.178838 -vn -0.399589 -0.762204 -0.509288 -vn -0.399590 -0.178838 -0.899080 -s off -f 1/1/1 2/2/1 4/3/1 -f 4/4/2 6/5/2 5/6/2 -f 6/7/3 8/8/3 7/9/3 -f 8/10/4 10/11/4 9/12/4 -f 10/13/5 12/14/5 11/15/5 -f 12/16/6 14/17/6 13/18/6 -f 13/19/7 14/20/7 16/21/7 -f 15/22/8 16/23/8 18/24/8 -f 18/25/9 20/26/9 19/27/9 -f 20/28/10 22/29/10 21/30/10 -f 21/31/11 22/32/11 24/33/11 -f 23/34/12 24/35/12 26/36/12 -f 26/34/13 28/37/13 27/38/13 -f 28/39/14 30/40/14 29/41/14 -f 22/42/15 14/43/15 6/44/15 -f 31/45/16 32/46/16 2/47/16 -f 30/48/17 32/39/17 31/49/17 -f 19/50/18 21/51/18 17/52/18 -f 34/53/1 36/54/1 35/55/1 -f 36/56/19 38/57/19 37/58/19 -f 38/59/3 40/60/3 39/61/3 -f 40/62/4 42/63/4 41/64/4 -f 41/65/5 42/66/5 44/67/5 -f 44/14/6 46/13/6 45/68/6 -f 46/69/20 48/70/20 47/71/20 -f 48/72/8 50/73/8 49/5/8 -f 50/74/9 52/75/9 51/76/9 -f 52/77/21 54/78/21 53/79/21 -f 54/80/11 56/81/11 55/82/11 -f 55/83/22 56/84/22 58/85/22 -f 58/45/23 60/86/23 59/87/23 -f 60/88/14 62/89/14 61/90/14 -f 42/91/24 40/92/24 38/93/24 -f 64/94/16 34/95/16 33/96/16 -f 62/65/25 64/97/25 63/98/25 -f 45/99/18 47/100/18 49/101/18 -f 66/102/26 68/103/26 204/104/26 -f 68/105/27 70/106/27 205/107/27 -f 70/108/3 72/109/3 206/110/3 -f 72/111/4 74/112/4 207/113/4 -f 207/114/5 74/115/5 76/116/5 -f 208/107/6 76/106/6 78/117/6 -f 78/118/28 80/115/28 210/114/28 -f 80/119/29 82/120/29 211/121/29 -f 82/122/9 84/123/9 212/124/9 -f 84/125/30 86/126/30 213/127/30 -f 86/116/31 88/128/31 214/129/31 -f 214/129/32 88/128/32 90/125/32 -f 90/130/23 92/131/23 216/132/23 -f 92/133/14 94/134/14 217/135/14 -f 88/136/15 82/137/15 96/138/15 -f 96/123/16 66/139/16 203/140/16 -f 94/126/33 96/141/33 218/142/33 -f 79/143/18 87/144/18 71/145/18 -f 98/146/1 100/147/1 99/148/1 -f 100/149/34 102/150/34 101/151/34 -f 102/150/3 104/152/3 103/153/3 -f 104/154/4 106/147/4 105/155/4 -f 106/156/5 108/148/5 107/147/5 -f 108/157/6 110/97/6 109/67/6 -f 109/158/35 110/159/35 112/84/35 -f 112/157/8 114/160/8 113/161/8 -f 114/162/9 116/163/9 115/164/9 -f 116/165/21 118/166/21 117/160/21 -f 118/167/36 120/168/36 119/169/36 -f 120/170/37 122/160/37 121/166/37 -f 121/171/38 122/172/38 124/173/38 -f 123/174/39 124/175/39 126/176/39 -f 122/177/15 110/178/15 102/179/15 -f 127/64/16 128/63/16 98/146/16 -f 125/170/40 126/176/40 128/161/40 -f 119/180/18 127/181/18 103/182/18 -f 130/183/1 132/174/1 131/184/1 -f 132/185/34 134/154/34 133/186/34 -f 134/152/3 136/187/3 135/188/3 -f 136/189/4 138/162/4 137/190/4 -f 137/146/5 138/191/5 140/155/5 -f 140/192/6 142/98/6 141/97/6 -f 142/174/28 144/170/28 143/193/28 -f 143/194/8 144/195/8 146/196/8 -f 145/197/9 146/120/9 148/87/9 -f 148/198/21 150/199/21 149/187/21 -f 150/200/41 152/201/41 151/202/41 -f 151/164/32 152/163/32 154/169/32 -f 154/203/42 156/204/42 155/205/42 -f 155/206/39 156/207/39 158/208/39 -f 140/209/43 138/210/43 136/211/43 -f 159/9/16 160/8/16 130/212/16 -f 157/191/40 158/146/40 160/61/40 -f 131/213/18 143/214/18 151/215/18 -f 161/216/44 174/217/44 173/218/44 -f 162/219/45 174/220/45 176/221/45 -f 161/222/46 173/223/46 178/224/46 -f 161/225/47 178/226/47 180/227/47 -f 161/228/48 180/229/48 177/230/48 -f 162/231/49 176/232/49 183/233/49 -f 163/234/50 175/235/50 185/236/50 -f 164/237/51 179/238/51 187/235/51 -f 165/239/52 181/240/52 189/241/52 -f 166/242/53 182/243/53 191/244/53 -f 162/245/54 183/246/54 186/247/54 -f 163/248/55 185/249/55 188/250/55 -f 164/251/56 187/252/56 190/253/56 -f 165/254/57 189/255/57 192/256/57 -f 166/257/58 191/258/58 184/259/58 -f 167/260/59 193/261/59 198/262/59 -f 168/263/60 194/264/60 200/265/60 -f 169/266/61 195/267/61 201/268/61 -f 170/123/62 196/269/62 202/270/62 -f 171/24/63 197/5/63 199/271/63 -f 173/272/64 175/5/64 163/2/64 -f 173/273/65 174/274/65 175/275/65 -f 174/54/66 162/77/66 175/276/66 -f 176/277/67 177/223/67 166/278/67 -f 176/279/68 174/280/68 177/281/68 -f 174/282/69 161/269/69 177/283/69 -f 178/284/70 179/285/70 164/261/70 -f 178/286/71 173/287/71 179/288/71 -f 173/289/72 163/290/72 179/291/72 -f 180/292/73 181/293/73 165/294/73 -f 180/240/74 178/295/74 181/296/74 -f 178/294/75 164/297/75 181/298/75 -f 177/265/76 182/299/76 166/300/76 -f 177/301/77 180/302/77 182/303/77 -f 180/304/78 165/305/78 182/306/78 -f 183/307/79 184/308/79 171/309/79 -f 183/310/80 176/311/80 184/279/80 -f 176/312/81 166/313/81 184/314/81 -f 185/315/82 186/316/82 167/317/82 -f 185/318/83 175/319/83 186/320/83 -f 175/321/84 162/322/84 186/323/84 -f 187/324/85 188/325/85 168/326/85 -f 187/327/86 179/328/86 188/329/86 -f 179/293/87 163/330/87 188/331/87 -f 189/332/88 190/333/88 169/334/88 -f 189/335/89 181/336/89 190/337/89 -f 181/267/90 164/338/90 190/339/90 -f 191/259/91 192/340/91 170/341/91 -f 191/342/92 182/343/92 192/344/92 -f 182/345/93 165/346/93 192/347/93 -f 186/247/94 193/258/94 167/348/94 -f 186/349/95 183/350/95 193/204/95 -f 183/351/96 171/352/96 193/353/96 -f 188/354/97 194/355/97 168/356/97 -f 188/357/98 185/358/98 194/359/98 -f 185/360/99 167/361/99 194/362/99 -f 190/363/100 195/364/100 169/365/100 -f 190/357/101 187/366/101 195/367/101 -f 187/368/102 168/369/102 195/370/102 -f 192/371/103 196/372/103 170/234/103 -f 192/373/104 189/328/104 196/374/104 -f 189/375/105 169/376/105 196/377/105 -f 184/378/106 197/379/106 171/363/106 -f 184/380/107 191/381/107 197/382/107 -f 191/383/108 170/384/108 197/385/108 -f 198/386/109 199/387/109 172/2/109 -f 198/388/110 193/389/110 199/390/110 -f 193/290/111 171/391/111 199/392/111 -f 200/393/112 198/394/112 172/395/112 -f 200/366/113 194/345/113 198/396/113 -f 194/397/114 167/398/114 198/399/114 -f 201/400/115 200/401/115 172/402/115 -f 201/403/116 195/404/116 200/389/116 -f 195/353/117 168/405/117 200/406/117 -f 202/407/118 201/408/118 172/409/118 -f 202/410/119 196/411/119 201/412/119 -f 196/413/120 169/346/120 201/414/120 -f 199/415/121 202/237/121 172/416/121 -f 199/302/122 197/417/122 202/319/122 -f 197/309/123 170/418/123 202/419/123 -f 90/420/124 58/421/124 56/12/124 -f 88/422/125 56/423/125 54/424/125 -f 86/425/126 54/426/126 52/427/126 -f 84/428/127 52/429/127 50/430/127 -f 82/431/128 50/432/128 48/433/128 -f 80/434/129 48/435/129 46/436/129 -f 78/437/130 46/438/130 44/439/130 -f 76/440/131 44/441/131 42/442/131 -f 42/443/132 40/444/132 72/445/132 -f 40/442/133 38/441/133 70/446/133 -f 60/196/134 58/447/134 90/448/134 -f 62/449/135 60/450/135 92/451/135 -f 64/452/136 62/453/136 94/454/136 -f 96/455/137 66/456/137 34/424/137 -f 36/457/138 34/458/138 66/459/138 -f 38/460/139 36/461/139 68/462/139 -f 65/463/1 203/464/1 204/104/1 -f 204/465/140 205/107/140 69/466/140 -f 69/105/3 205/467/3 206/110/3 -f 206/468/141 207/113/141 73/469/141 -f 207/114/5 208/470/5 75/471/5 -f 208/107/6 209/472/6 77/103/6 -f 209/473/20 210/114/20 79/474/20 -f 210/475/8 211/121/8 81/118/8 -f 211/476/9 212/124/9 83/116/9 -f 83/477/142 212/478/142 213/127/142 -f 213/470/41 214/129/41 87/479/41 -f 87/479/32 214/129/32 215/478/32 -f 215/480/23 216/132/23 91/481/23 -f 91/118/14 216/482/14 217/135/14 -f 218/124/16 203/140/16 65/128/16 -f 217/127/17 218/142/17 95/483/17 -f 203/484/143 218/485/143 31/486/143 -f 29/487/144 31/488/144 218/489/144 -f 27/490/145 29/491/145 217/492/145 -f 25/493/146 27/494/146 216/495/146 -f 25/496/147 215/497/147 214/498/147 -f 23/499/148 214/500/148 213/501/148 -f 21/502/149 213/503/149 212/504/149 -f 19/505/150 212/506/150 211/507/150 -f 17/508/151 211/509/151 210/489/151 -f 15/510/152 210/511/152 209/512/152 -f 13/57/153 209/513/153 208/514/153 -f 11/515/154 208/516/154 207/517/154 -f 9/518/155 207/519/155 206/520/155 -f 5/521/156 7/37/156 206/522/156 -f 3/523/157 5/486/157 205/524/157 -f 1/515/158 3/525/158 204/526/158 -f 3/527/159 1/1/159 4/3/159 -f 3/528/27 4/4/27 5/6/27 -f 5/94/3 6/7/3 7/9/3 -f 7/529/4 8/10/4 9/12/4 -f 9/90/5 10/13/5 11/15/5 -f 11/530/160 12/16/160 13/18/160 -f 15/33/28 13/19/28 16/21/28 -f 17/531/161 15/22/161 18/24/161 -f 17/74/162 18/25/162 19/27/162 -f 19/532/30 20/28/30 21/30/30 -f 23/21/163 21/31/163 24/33/163 -f 25/533/164 23/34/164 26/36/164 -f 25/534/165 26/34/165 27/38/165 -f 27/535/14 28/39/14 29/41/14 -f 6/44/15 4/536/15 2/537/15 -f 30/538/15 6/44/15 32/539/15 -f 30/538/166 28/540/166 26/541/166 -f 26/541/24 24/542/24 22/42/24 -f 22/42/15 20/543/15 18/544/15 -f 18/544/15 16/545/15 14/43/15 -f 14/43/166 12/546/166 10/547/166 -f 6/44/15 14/43/15 8/548/15 -f 29/549/40 30/48/40 31/49/40 -f 22/42/15 6/44/15 26/541/15 -f 22/42/15 18/544/15 14/43/15 -f 6/44/15 2/537/15 32/539/15 -f 14/43/15 10/547/15 8/548/15 -f 1/550/16 31/45/16 2/47/16 -f 6/44/15 30/538/15 26/541/15 -f 31/551/18 1/552/18 3/553/18 -f 21/51/18 25/554/18 17/52/18 -f 11/555/18 5/556/18 9/557/18 -f 11/555/167 13/558/167 15/559/167 -f 33/560/1 34/53/1 35/55/1 -f 23/561/167 25/554/167 21/51/167 -f 31/551/18 5/556/18 27/562/18 -f 27/562/18 29/563/18 31/551/18 -f 5/556/18 17/52/18 25/554/18 -f 15/559/18 5/556/18 11/555/18 -f 31/551/18 3/553/18 5/556/18 -f 5/556/167 7/564/167 9/557/167 -f 15/559/168 17/52/168 5/556/168 -f 35/565/27 36/56/27 37/58/27 -f 5/556/18 25/554/18 27/562/18 -f 37/62/3 38/59/3 39/61/3 -f 39/566/4 40/62/4 41/64/4 -f 43/97/5 41/65/5 44/67/5 -f 43/82/6 44/14/6 45/68/6 -f 45/567/28 46/69/28 47/71/28 -f 47/568/8 48/72/8 49/5/8 -f 49/25/9 50/74/9 51/76/9 -f 51/569/169 52/77/169 53/79/169 -f 53/68/170 54/80/170 55/82/170 -f 57/570/171 55/83/171 58/85/171 -f 57/46/13 58/45/13 59/87/13 -f 59/15/14 60/88/14 61/90/14 -f 38/93/15 36/571/15 34/572/15 -f 34/572/172 64/573/172 62/574/172 -f 58/575/166 54/576/166 60/577/166 -f 58/575/172 56/578/172 54/576/172 -f 54/576/172 52/579/172 50/580/172 -f 50/580/15 48/581/15 46/582/15 -f 46/582/166 44/583/166 42/91/166 -f 63/7/16 64/94/16 33/96/16 -f 62/574/15 60/577/15 34/572/15 -f 60/577/15 54/576/15 38/93/15 -f 46/582/15 38/93/15 50/580/15 -f 46/582/15 42/91/15 38/93/15 -f 61/584/17 62/65/17 63/98/17 -f 60/577/15 38/93/15 34/572/15 -f 38/93/15 54/576/15 50/580/15 -f 37/585/18 39/586/18 63/587/18 -f 204/465/27 68/105/27 205/107/27 -f 39/586/168 41/562/168 43/554/168 -f 49/101/18 39/586/18 43/554/18 -f 51/588/18 39/586/18 49/101/18 -f 51/588/173 53/589/173 55/590/173 -f 55/590/168 57/591/168 59/592/168 -f 59/592/174 61/593/174 63/587/174 -f 33/594/18 35/595/18 37/585/18 -f 203/464/1 66/102/1 204/104/1 -f 51/588/18 55/590/18 59/592/18 -f 63/587/167 51/588/167 59/592/167 -f 33/594/18 37/585/18 63/587/18 -f 45/99/18 49/101/18 43/554/18 -f 39/586/18 51/588/18 63/587/18 -f 205/467/3 70/108/3 206/110/3 -f 206/468/141 72/111/141 207/113/141 -f 208/470/175 207/114/175 76/116/175 -f 209/472/6 208/107/6 78/117/6 -f 209/473/20 78/118/20 210/114/20 -f 210/475/29 80/119/29 211/121/29 -f 211/476/9 82/122/9 212/124/9 -f 212/478/30 84/125/30 213/127/30 -f 213/470/176 86/116/176 214/129/176 -f 215/478/32 214/129/32 90/125/32 -f 215/480/23 90/130/23 216/132/23 -f 216/482/14 92/133/14 217/135/14 -f 66/596/177 96/138/177 68/597/177 -f 70/598/43 82/137/43 80/599/43 -f 94/600/172 92/601/172 90/602/172 -f 218/124/16 96/123/16 203/140/16 -f 86/603/178 84/604/178 82/137/178 -f 78/605/166 70/598/166 80/599/166 -f 78/605/179 76/606/179 74/607/179 -f 74/607/180 72/608/180 70/598/180 -f 94/600/166 88/136/166 96/138/166 -f 88/136/15 86/603/15 82/137/15 -f 217/127/40 94/126/40 218/142/40 -f 78/605/15 74/607/15 70/598/15 -f 94/600/166 90/602/166 88/136/166 -f 96/138/178 70/598/178 68/597/178 -f 70/598/15 96/138/15 82/137/15 -f 95/609/18 65/610/18 67/611/18 -f 71/145/173 93/612/173 69/613/173 -f 99/189/27 100/149/27 101/151/27 -f 79/143/181 73/614/181 77/615/181 -f 79/143/18 81/616/18 83/617/18 -f 83/617/182 85/618/182 87/144/182 -f 87/144/168 89/619/168 91/620/168 -f 95/609/183 67/611/183 93/612/183 -f 91/620/184 93/612/184 71/145/184 -f 93/612/184 67/611/184 69/613/184 -f 79/143/18 83/617/18 87/144/18 -f 79/143/18 71/145/18 73/614/18 -f 97/621/26 98/146/26 99/148/26 -f 71/145/18 87/144/18 91/620/18 -f 73/614/185 75/622/185 77/615/185 -f 101/151/186 102/150/186 103/153/186 -f 103/186/141 104/154/141 105/155/141 -f 105/154/175 106/156/175 107/147/175 -f 107/165/187 108/157/187 109/67/187 -f 111/83/28 109/158/28 112/84/28 -f 111/192/29 112/157/29 113/161/29 -f 113/190/9 114/162/9 115/164/9 -f 115/157/188 116/165/188 117/160/188 -f 117/115/189 118/167/189 119/169/189 -f 119/193/190 120/170/190 121/166/190 -f 123/208/42 121/171/42 124/173/42 -f 125/170/14 123/174/14 126/176/14 -f 102/179/15 100/623/15 98/624/15 -f 126/625/172 124/626/172 128/627/172 -f 122/177/15 98/624/15 124/626/15 -f 122/177/166 120/628/166 118/629/166 -f 118/629/166 116/630/166 114/631/166 -f 110/178/15 122/177/15 112/632/15 -f 110/178/15 108/633/15 106/634/15 -f 102/179/15 110/178/15 104/635/15 -f 110/178/15 106/634/15 104/635/15 -f 122/177/15 114/631/15 112/632/15 -f 124/626/15 98/624/15 128/627/15 -f 122/177/15 118/629/15 114/631/15 -f 97/621/16 127/64/16 98/146/16 -f 122/177/15 102/179/15 98/624/15 -f 127/160/191 125/170/191 128/161/191 -f 127/181/18 97/636/18 99/637/18 -f 99/637/167 101/638/167 103/182/167 -f 103/182/192 105/639/192 107/640/192 -f 107/640/18 109/641/18 111/642/18 -f 111/642/18 113/643/18 115/211/18 -f 115/211/167 117/644/167 119/180/167 -f 123/645/193 125/646/193 121/647/193 -f 127/181/18 119/180/18 125/646/18 -f 127/181/18 99/637/18 103/182/18 -f 111/642/18 119/180/18 107/640/18 -f 111/642/18 115/211/18 119/180/18 -f 125/646/18 119/180/18 121/647/18 -f 131/203/27 132/185/27 133/186/27 -f 119/180/18 103/182/18 107/640/18 -f 129/382/1 130/183/1 131/184/1 -f 133/153/3 134/152/3 135/188/3 -f 135/149/4 136/189/4 137/190/4 -f 139/147/5 137/146/5 140/155/5 -f 139/157/6 140/192/6 141/97/6 -f 141/184/35 142/174/35 143/193/35 -f 145/81/29 143/194/29 146/196/29 -f 147/86/9 145/197/9 148/87/9 -f 147/648/30 148/198/30 149/187/30 -f 149/649/36 150/200/36 151/202/36 -f 153/168/194 151/164/194 154/169/194 -f 153/185/195 154/203/195 155/205/195 -f 157/173/14 155/206/14 158/208/14 -f 134/643/172 132/650/172 130/651/172 -f 130/651/15 160/629/15 158/628/15 -f 154/652/172 150/653/172 156/654/172 -f 154/652/166 152/655/166 150/653/166 -f 150/653/15 148/656/15 146/657/15 -f 146/657/172 144/658/172 142/659/172 -f 159/60/196 157/191/196 160/61/196 -f 134/643/166 140/209/166 136/211/166 -f 158/628/15 156/654/15 130/651/15 -f 156/654/15 150/653/15 134/643/15 -f 142/659/15 134/643/15 146/657/15 -f 129/340/16 159/9/16 130/212/16 -f 134/643/15 142/659/15 140/209/15 -f 156/654/15 134/643/15 130/651/15 -f 134/643/15 150/653/15 146/657/15 -f 159/660/18 129/661/18 131/213/18 -f 131/213/197 133/662/197 135/663/197 -f 135/663/198 137/664/198 139/665/198 -f 139/665/181 141/666/181 143/214/181 -f 147/632/173 151/215/173 145/178/173 -f 147/632/197 149/667/197 151/215/197 -f 151/215/198 153/640/198 155/639/198 -f 155/639/181 157/668/181 159/660/181 -f 135/663/18 139/665/18 131/213/18 -f 151/215/18 143/214/18 145/178/18 -f 86/669/199 88/422/199 54/424/199 -f 151/215/167 155/639/167 159/660/167 -f 88/670/200 90/420/200 56/12/200 -f 159/660/18 131/213/18 151/215/18 -f 131/213/18 139/665/18 143/214/18 -f 84/671/201 86/425/201 52/427/201 -f 82/672/127 84/428/127 50/430/127 -f 80/673/202 82/431/202 48/433/202 -f 78/674/203 80/434/203 46/436/203 -f 76/675/204 78/437/204 44/439/204 -f 74/676/205 76/440/205 42/442/205 -f 74/446/132 42/443/132 72/445/132 -f 72/445/206 40/442/206 70/446/206 -f 92/677/207 60/196/207 90/448/207 -f 94/678/208 62/449/208 92/451/208 -f 96/679/136 64/452/136 94/454/136 -f 64/48/137 96/455/137 34/424/137 -f 68/680/209 36/457/209 66/459/209 -f 70/681/210 38/460/210 68/462/210 -f 67/117/1 65/463/1 204/104/1 -f 67/108/34 204/465/34 69/466/34 -f 71/134/211 69/105/211 206/110/211 -f 71/682/4 206/468/4 73/469/4 -f 73/474/175 207/114/175 75/471/175 -f 75/466/160 208/107/160 77/103/160 -f 77/133/35 209/473/35 79/474/35 -f 79/109/8 210/475/8 81/118/8 -f 81/115/9 211/476/9 83/116/9 -f 85/683/10 83/477/10 213/127/10 -f 85/471/11 213/470/11 87/479/11 -f 89/477/194 87/479/194 215/478/194 -f 89/684/195 215/480/195 91/481/195 -f 93/109/212 91/118/212 217/135/212 -f 95/116/16 218/124/16 65/128/16 -f 93/683/33 217/127/33 95/483/33 -f 1/523/213 203/484/213 31/486/213 -f 217/509/144 29/487/144 218/489/144 -f 216/685/214 27/490/214 217/492/214 -f 215/686/215 25/493/215 216/495/215 -f 23/508/216 25/496/216 214/498/216 -f 21/687/217 23/499/217 213/501/217 -f 19/688/149 21/502/149 212/504/149 -f 17/689/218 19/505/218 211/507/218 -f 15/496/219 17/508/219 210/489/219 -f 13/690/152 15/510/152 209/512/152 -f 11/27/220 13/57/220 208/514/220 -f 9/525/221 11/515/221 207/517/221 -f 7/691/222 9/518/222 206/520/222 -f 205/692/223 5/521/223 206/522/223 -f 204/693/157 3/523/157 205/524/157 -f 203/694/224 1/515/224 204/526/224 diff --git a/src/main/resources/assets/hbm/models/TheGadget3.obj b/src/main/resources/assets/hbm/models/TheGadget3.obj deleted file mode 100644 index 1b3486829..000000000 --- a/src/main/resources/assets/hbm/models/TheGadget3.obj +++ /dev/null @@ -1,1223 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'TheGadget3.blend1' -# www.blender.org -o Cylinder.003 -v 0.550000 1.500000 -0.850000 -v 0.650000 1.500000 -0.850000 -v 0.550000 1.174719 -0.785298 -v 0.650000 1.174719 -0.785298 -v 0.550001 0.898959 -0.601041 -v 0.650001 0.898959 -0.601041 -v 0.550001 0.714702 -0.325281 -v 0.650001 0.714702 -0.325281 -v 0.550001 0.650000 0.000000 -v 0.650001 0.650000 0.000000 -v 0.550001 0.714702 0.325281 -v 0.650001 0.714702 0.325281 -v 0.550001 0.898959 0.601041 -v 0.650001 0.898959 0.601041 -v 0.550000 1.174719 0.785298 -v 0.650000 1.174719 0.785298 -v 0.550000 1.500000 0.850000 -v 0.650000 1.500000 0.850000 -v 0.550000 1.825281 0.785298 -v 0.650000 1.825281 0.785298 -v 0.549999 2.101041 0.601041 -v 0.649999 2.101041 0.601041 -v 0.549999 2.285297 0.325281 -v 0.649999 2.285298 0.325281 -v 0.549999 2.350000 -0.000000 -v 0.649999 2.350000 -0.000000 -v 0.549999 2.285297 -0.325281 -v 0.649999 2.285298 -0.325281 -v 0.549999 2.101040 -0.601041 -v 0.649999 2.101041 -0.601041 -v 0.550000 1.825280 -0.785298 -v 0.650000 1.825281 -0.785298 -v -0.650000 1.500000 -0.850000 -v -0.550000 1.500000 -0.850000 -v -0.650000 1.174719 -0.785298 -v -0.550000 1.174719 -0.785298 -v -0.649999 0.898959 -0.601041 -v -0.549999 0.898959 -0.601041 -v -0.649999 0.714702 -0.325281 -v -0.549999 0.714702 -0.325281 -v -0.649999 0.650000 0.000000 -v -0.549999 0.650000 0.000000 -v -0.649999 0.714702 0.325281 -v -0.549999 0.714702 0.325281 -v -0.649999 0.898959 0.601041 -v -0.549999 0.898959 0.601041 -v -0.650000 1.174719 0.785298 -v -0.550000 1.174719 0.785298 -v -0.650000 1.500000 0.850000 -v -0.550000 1.500000 0.850000 -v -0.650000 1.825281 0.785298 -v -0.550000 1.825281 0.785298 -v -0.650001 2.101041 0.601041 -v -0.550001 2.101041 0.601041 -v -0.650001 2.285297 0.325281 -v -0.550001 2.285298 0.325281 -v -0.650001 2.350000 -0.000000 -v -0.550001 2.350000 -0.000000 -v -0.650001 2.285297 -0.325281 -v -0.550001 2.285298 -0.325281 -v -0.650001 2.101040 -0.601041 -v -0.550001 2.101041 -0.601041 -v -0.650000 1.825280 -0.785298 -v -0.550000 1.825281 -0.785298 -v -1.500000 1.499999 -0.700000 -v 1.000000 1.500001 -0.700000 -v -1.500000 1.232120 -0.646716 -v 1.000000 1.232123 -0.646716 -v -1.500000 1.005024 -0.494975 -v 1.000000 1.005026 -0.494975 -v -1.499999 0.853283 -0.267878 -v 1.000000 0.853285 -0.267878 -v -1.499999 0.799999 0.000000 -v 1.000000 0.800001 0.000000 -v -1.499999 0.853283 0.267878 -v 1.000000 0.853285 0.267878 -v -1.500000 1.005024 0.494975 -v 1.000000 1.005026 0.494975 -v -1.500000 1.232120 0.646716 -v 1.000000 1.232123 0.646716 -v -1.500000 1.499999 0.700000 -v 1.000000 1.500001 0.700000 -v -1.500000 1.767877 0.646716 -v 1.000000 1.767879 0.646716 -v -1.500000 1.994973 0.494975 -v 0.999999 1.994976 0.494975 -v -1.500001 2.146714 0.267879 -v 0.999999 2.146717 0.267879 -v -1.500001 2.199999 -0.000000 -v 0.999999 2.200001 -0.000000 -v -1.500001 2.146714 -0.267879 -v 0.999999 2.146717 -0.267879 -v -1.500000 1.994973 -0.494975 -v 0.999999 1.994976 -0.494975 -v -1.500000 1.767877 -0.646716 -v 1.000000 1.767879 -0.646716 -v 0.450000 1.500000 -1.000000 -v 0.550000 1.500000 -1.000000 -v 0.450000 1.117316 -0.923880 -v 0.550000 1.117316 -0.923880 -v 0.450001 0.792893 -0.707107 -v 0.550001 0.792893 -0.707107 -v 0.450001 0.576120 -0.382683 -v 0.550001 0.576120 -0.382683 -v 0.450001 0.500000 0.000000 -v 0.550001 0.500000 0.000000 -v 0.450001 0.576120 0.382684 -v 0.550001 0.576120 0.382684 -v 0.450001 0.792893 0.707107 -v 0.550001 0.792893 0.707107 -v 0.450000 1.117316 0.923880 -v 0.550000 1.117316 0.923880 -v 0.450000 1.500000 1.000000 -v 0.550000 1.500000 1.000000 -v 0.450000 1.882683 0.923880 -v 0.550000 1.882683 0.923880 -v 0.449999 2.207107 0.707107 -v 0.549999 2.207107 0.707107 -v 0.449999 2.423879 0.382684 -v 0.549999 2.423880 0.382684 -v 0.449999 2.500000 -0.000000 -v 0.549999 2.500000 -0.000000 -v 0.449999 2.423879 -0.382684 -v 0.549999 2.423879 -0.382684 -v 0.449999 2.207106 -0.707107 -v 0.549999 2.207107 -0.707107 -v 0.450000 1.882683 -0.923880 -v 0.550000 1.882683 -0.923880 -v -0.550000 1.500000 -1.000000 -v -0.450000 1.500000 -1.000000 -v -0.550000 1.117316 -0.923880 -v -0.450000 1.117317 -0.923880 -v -0.549999 0.792893 -0.707107 -v -0.449999 0.792893 -0.707107 -v -0.549999 0.576120 -0.382683 -v -0.449999 0.576120 -0.382683 -v -0.549999 0.500000 0.000000 -v -0.449999 0.500000 0.000000 -v -0.549999 0.576120 0.382684 -v -0.449999 0.576120 0.382684 -v -0.549999 0.792893 0.707107 -v -0.449999 0.792893 0.707107 -v -0.550000 1.117316 0.923880 -v -0.450000 1.117316 0.923880 -v -0.550000 1.500000 1.000000 -v -0.450000 1.500000 1.000000 -v -0.550000 1.882683 0.923880 -v -0.450000 1.882683 0.923880 -v -0.550001 2.207107 0.707107 -v -0.450001 2.207107 0.707107 -v -0.550001 2.423879 0.382684 -v -0.450001 2.423880 0.382684 -v -0.550001 2.500000 -0.000000 -v -0.450001 2.500000 -0.000000 -v -0.550001 2.423879 -0.382684 -v -0.450001 2.423879 -0.382684 -v -0.550001 2.207107 -0.707107 -v -0.450001 2.207107 -0.707107 -v -0.550000 1.882683 -0.923880 -v -0.450000 1.882683 -0.923880 -v -0.550000 -0.000000 -0.750000 -v -0.550000 -0.000000 -1.000000 -v -0.450000 -0.000000 -1.000000 -v -0.450000 -0.000000 -0.750000 -v -0.550000 -0.000000 1.000000 -v -0.550000 -0.000000 0.750000 -v -0.450000 -0.000000 0.750000 -v -0.450000 -0.000000 1.000000 -v 0.450000 0.000000 -0.750000 -v 0.450000 0.000000 -1.000000 -v 0.550000 0.000000 -1.000000 -v 0.550000 0.000000 -0.750000 -v 0.450000 -0.000000 1.000000 -v 0.450000 -0.000000 0.750000 -v 0.550000 -0.000000 0.750000 -v 0.550000 -0.000000 1.000000 -v -1.125000 1.499999 -0.700000 -v -1.125000 1.232121 -0.646716 -v -1.125000 1.005024 -0.494975 -v -1.124999 0.853284 -0.267878 -v -1.124999 0.799999 0.000000 -v -1.124999 0.853284 0.267878 -v -1.125000 1.005024 0.494975 -v -1.125000 1.232121 0.646716 -v -1.125000 1.499999 0.700000 -v -1.125000 1.767877 0.646716 -v -1.125000 1.994974 0.494975 -v -1.125001 2.146715 0.267879 -v -1.125001 2.199999 -0.000000 -v -1.125001 2.146715 -0.267879 -v -1.125000 1.994974 -0.494975 -v -1.125000 1.767877 -0.646716 -v 0.707106 2.207107 0.000000 -v 0.382683 2.423880 0.000000 -v -0.000001 2.500000 0.000000 -v -0.382684 2.423880 0.000000 -v -0.707107 2.207107 0.000000 -v 0.707106 2.000000 -0.500000 -v 0.382683 2.153281 -0.653281 -v -0.000001 2.207107 -0.707107 -v -0.382684 2.153281 -0.653281 -v -0.707107 2.000000 -0.500000 -v 0.707106 1.500000 -0.707107 -v 0.382683 1.500000 -0.923879 -v -0.000000 1.500000 -1.000000 -v -0.382684 1.500000 -0.923879 -v -0.707107 1.500000 -0.707107 -v 0.707106 1.000000 -0.500000 -v 0.382683 0.846719 -0.653281 -v -0.000000 0.792893 -0.707107 -v -0.382684 0.846719 -0.653281 -v -0.707107 1.000000 -0.500000 -v 0.707106 0.792894 -0.000000 -v 0.382683 0.576121 -0.000000 -v -0.000000 0.500001 -0.000000 -v -0.382684 0.576121 -0.000000 -v -0.707107 0.792894 -0.000000 -v 0.707106 1.000000 0.500000 -v 0.382683 0.846719 0.653281 -v -0.000000 0.792893 0.707107 -v -0.382684 0.846719 0.653281 -v -0.707107 1.000000 0.500000 -v 0.707106 1.500000 0.707107 -v 0.382683 1.500000 0.923879 -v -0.000000 1.500000 1.000000 -v -0.382684 1.500000 0.923879 -v -0.707107 1.500000 0.707107 -v 0.707106 2.000000 0.500000 -v 0.382683 2.153281 0.653281 -v -0.000001 2.207107 0.707107 -v -0.382684 2.153281 0.653281 -v -0.707107 2.000000 0.500000 -vt 0.167969 0.666472 -vt 0.167969 0.678076 -vt 0.129484 0.678076 -vt 0.090999 0.678076 -vt 0.090999 0.666472 -vt 0.052513 0.678076 -vt 0.052513 0.666472 -vt 0.014028 0.678076 -vt 0.014028 0.666472 -vt 0.629794 0.666472 -vt 0.629794 0.678076 -vt 0.591308 0.678076 -vt 0.552823 0.678076 -vt 0.552823 0.666472 -vt 0.514338 0.678076 -vt 0.475852 0.678076 -vt 0.475852 0.666472 -vt 0.437367 0.678076 -vt 0.437367 0.666472 -vt 0.398881 0.678076 -vt 0.360396 0.678076 -vt 0.360396 0.666472 -vt 0.321910 0.678076 -vt 0.321910 0.666472 -vt 0.283425 0.678076 -vt 0.283425 0.666472 -vt 0.244940 0.678076 -vt 0.206454 0.666472 -vt 0.206454 0.678076 -vt 0.244940 0.666472 -vt 0.167969 0.126901 -vt 0.129483 0.126888 -vt 0.129487 0.115284 -vt 0.090998 0.126875 -vt 0.091002 0.115271 -vt 0.052513 0.126861 -vt 0.052517 0.115257 -vt 0.014028 0.126848 -vt 0.629793 0.127059 -vt 0.591308 0.127046 -vt 0.591312 0.115442 -vt 0.552822 0.127033 -vt 0.552826 0.115429 -vt 0.514337 0.127020 -vt 0.514341 0.115416 -vt 0.475851 0.127007 -vt 0.475855 0.115403 -vt 0.437366 0.126994 -vt 0.437370 0.115389 -vt 0.398881 0.126980 -vt 0.398885 0.115376 -vt 0.360395 0.126967 -vt 0.321910 0.126954 -vt 0.321914 0.115350 -vt 0.283425 0.126941 -vt 0.283429 0.115337 -vt 0.244939 0.126927 -vt 0.206458 0.115310 -vt 0.206454 0.126914 -vt 0.244943 0.115323 -vt 0.589205 0.570129 -vt 0.537513 0.535589 -vt 0.559924 0.422922 -vt 0.421520 0.957030 -vt 0.466797 0.957030 -vt 0.466797 0.968634 -vt 0.897932 0.155115 -vt 0.943209 0.155115 -vt 0.943209 0.166719 -vt 0.871616 0.373560 -vt 0.826340 0.373560 -vt 0.826340 0.361956 -vt 0.781063 0.373560 -vt 0.781063 0.361956 -vt 0.455191 0.880859 -vt 0.409914 0.880859 -vt 0.409914 0.869255 -vt 0.364637 0.880859 -vt 0.364637 0.869255 -vt 0.943209 0.206379 -vt 0.897932 0.206379 -vt 0.897932 0.194775 -vt 0.014028 0.957029 -vt 0.059305 0.957029 -vt 0.059305 0.968633 -vt 0.104582 0.957029 -vt 0.104582 0.968633 -vt 0.149858 0.957029 -vt 0.195135 0.957029 -vt 0.195135 0.968633 -vt 0.240412 0.957029 -vt 0.240412 0.968633 -vt 0.285689 0.957029 -vt 0.285689 0.968633 -vt 0.330966 0.957029 -vt 0.105201 0.410793 -vt 0.241650 0.501966 -vt 0.014028 0.547243 -vt 0.376243 0.957029 -vt 0.421520 0.968634 -vt 0.330966 0.968634 -vt 0.574727 0.365411 -vt 0.525385 0.291565 -vt 0.616557 0.155115 -vt 0.772129 0.917369 -vt 0.817406 0.917369 -vt 0.817406 0.928973 -vt 0.601856 0.880859 -vt 0.601856 0.869255 -vt 0.647133 0.869255 -vt 0.573800 0.880859 -vt 0.528523 0.880859 -vt 0.528523 0.869255 -vt 0.483246 0.880859 -vt 0.483246 0.869255 -vt 0.961341 0.836081 -vt 0.916064 0.836081 -vt 0.916064 0.824477 -vt 0.870787 0.836081 -vt 0.870787 0.824477 -vt 0.916064 0.864137 -vt 0.916064 0.875741 -vt 0.870787 0.875741 -vt 0.364637 0.928973 -vt 0.364637 0.917369 -vt 0.409914 0.917369 -vt 0.455191 0.917369 -vt 0.455191 0.928973 -vt 0.500467 0.917369 -vt 0.500467 0.928973 -vt 0.545744 0.917369 -vt 0.545744 0.928973 -vt 0.591021 0.917369 -vt 0.591021 0.928973 -vt 0.636298 0.917369 -vt 0.636298 0.928973 -vt 0.681575 0.917369 -vt 0.681575 0.928973 -vt 0.105201 0.155115 -vt 0.241650 0.246288 -vt 0.014028 0.291565 -vt 0.726852 0.917369 -vt 0.772129 0.928973 -vt 0.360879 0.382738 -vt 0.269706 0.246288 -vt 0.406156 0.155115 -vt 0.350122 0.445333 -vt 0.462789 0.422922 -vt 0.485200 0.535589 -vt 0.787808 0.042971 -vt 0.657853 0.042971 -vt 0.693703 0.015316 -vt 0.787808 0.071027 -vt 0.785836 0.099970 -vt 0.693703 0.098682 -vt 0.975417 0.946312 -vt 0.845462 0.946312 -vt 0.881311 0.918657 -vt 0.364637 0.841199 -vt 0.364637 0.829595 -vt 0.494592 0.829595 -vt 0.624808 0.985972 -vt 0.494853 0.985972 -vt 0.530702 0.958317 -vt 0.399665 0.626770 -vt 0.399661 0.638374 -vt 0.269706 0.638329 -vt 0.842731 0.824477 -vt 0.840759 0.853420 -vt 0.748626 0.852132 -vt 0.520818 0.626812 -vt 0.520814 0.638416 -vt 0.428672 0.638384 -vt 0.523602 0.829595 -vt 0.615745 0.829595 -vt 0.615745 0.841199 -vt 0.678829 0.638416 -vt 0.548874 0.638416 -vt 0.584723 0.610761 -vt 0.945819 0.014028 -vt 0.943847 0.042971 -vt 0.851714 0.041683 -vt 0.945819 0.071027 -vt 0.943847 0.099970 -vt 0.851714 0.098682 -vt 0.523602 0.841199 -vt 0.494592 0.841199 -vt 0.523603 0.789935 -vt 0.615745 0.789935 -vt 0.615745 0.801539 -vt 0.364637 0.801539 -vt 0.364637 0.789935 -vt 0.494592 0.789935 -vt 0.494596 0.750233 -vt 0.494592 0.761837 -vt 0.364637 0.761792 -vt 0.615749 0.750275 -vt 0.615745 0.761879 -vt 0.523602 0.761847 -vt 0.428676 0.626780 -vt 0.523606 0.750243 -vt 0.523603 0.801539 -vt 0.494592 0.801539 -vt 0.164597 0.057593 -vt 0.132903 0.057583 -vt 0.132918 0.014067 -vt 0.126111 0.057580 -vt 0.094418 0.057569 -vt 0.094433 0.014054 -vt 0.087626 0.057567 -vt 0.055933 0.057556 -vt 0.055947 0.014041 -vt 0.049141 0.057554 -vt 0.017447 0.057543 -vt 0.017462 0.014028 -vt 0.626436 0.014236 -vt 0.626421 0.057751 -vt 0.594727 0.057740 -vt 0.587936 0.057738 -vt 0.556242 0.057727 -vt 0.556257 0.014212 -vt 0.549450 0.057725 -vt 0.517756 0.057714 -vt 0.517771 0.014199 -vt 0.510965 0.057712 -vt 0.479271 0.057701 -vt 0.479286 0.014186 -vt 0.472494 0.014183 -vt 0.472479 0.057699 -vt 0.440786 0.057688 -vt 0.434009 0.014170 -vt 0.433994 0.057686 -vt 0.402300 0.057675 -vt 0.395524 0.014157 -vt 0.395509 0.057672 -vt 0.363815 0.057662 -vt 0.357023 0.057659 -vt 0.325329 0.057648 -vt 0.325344 0.014133 -vt 0.318538 0.057646 -vt 0.286844 0.057635 -vt 0.286859 0.014120 -vt 0.280053 0.057633 -vt 0.248359 0.057622 -vt 0.248374 0.014107 -vt 0.203082 0.057607 -vt 0.171388 0.057596 -vt 0.171403 0.014081 -vt 0.241567 0.057620 -vt 0.209873 0.057609 -vt 0.209888 0.014094 -vt 0.360399 0.115363 -vt 0.014032 0.115244 -vt 0.167973 0.115297 -vt 0.357000 0.722132 -vt 0.286821 0.722132 -vt 0.248335 0.722132 -vt 0.209850 0.722132 -vt 0.171365 0.722132 -vt 0.132880 0.722132 -vt 0.094394 0.722132 -vt 0.055909 0.722132 -vt 0.017424 0.722132 -vt 0.626398 0.722133 -vt 0.587913 0.722133 -vt 0.549427 0.722132 -vt 0.510942 0.722132 -vt 0.472456 0.722132 -vt 0.433971 0.722132 -vt 0.395485 0.722132 -vt 0.336581 0.839581 -vt 0.247767 0.839581 -vt 0.251147 0.794430 -vt 0.323575 0.928973 -vt 0.260774 0.928973 -vt 0.251147 0.884731 -vt 0.333201 0.794430 -vt 0.260774 0.750188 -vt 0.333201 0.884731 -vt 0.918460 0.707029 -vt 0.829646 0.707029 -vt 0.833026 0.661878 -vt 0.905453 0.796421 -vt 0.842652 0.796421 -vt 0.833026 0.752179 -vt 0.915079 0.661878 -vt 0.842652 0.617636 -vt 0.915079 0.752179 -vt 0.089835 0.750188 -vt 0.099461 0.794430 -vt 0.017408 0.794430 -vt 0.099461 0.884731 -vt 0.017408 0.884731 -vt 0.014028 0.839581 -vt 0.102842 0.839581 -vt 0.089835 0.928973 -vt 0.027034 0.928973 -vt 0.798208 0.545339 -vt 0.716155 0.545336 -vt 0.712776 0.500185 -vt 0.801590 0.500188 -vt 0.716158 0.455035 -vt 0.788580 0.589580 -vt 0.725779 0.589578 -vt 0.788587 0.410796 -vt 0.798211 0.455038 -vt 0.801590 0.707029 -vt 0.712776 0.707029 -vt 0.716156 0.661878 -vt 0.788583 0.796421 -vt 0.725782 0.796421 -vt 0.716156 0.752179 -vt 0.788584 0.617636 -vt 0.798210 0.661878 -vt 0.798209 0.752179 -vt 0.905453 0.589578 -vt 0.842652 0.589578 -vt 0.833026 0.545336 -vt 0.915079 0.455035 -vt 0.833026 0.455035 -vt 0.842652 0.410793 -vt 0.918460 0.500186 -vt 0.915079 0.545336 -vt 0.829646 0.500186 -vt 0.866496 0.199357 -vt 0.784443 0.199357 -vt 0.794069 0.155115 -vt 0.869877 0.244508 -vt 0.866496 0.289658 -vt 0.784443 0.289658 -vt 0.781063 0.244507 -vt 0.856870 0.333900 -vt 0.794069 0.333900 -vt 0.216331 0.794430 -vt 0.219711 0.839581 -vt 0.130898 0.839581 -vt 0.206705 0.928973 -vt 0.143904 0.928973 -vt 0.134278 0.884731 -vt 0.134278 0.794430 -vt 0.143904 0.750188 -vt 0.216331 0.884731 -vt 0.129484 0.666472 -vt 0.591308 0.666472 -vt 0.514338 0.666472 -vt 0.398881 0.666472 -vt 0.629797 0.115455 -vt 0.589206 0.410793 -vt 0.620899 0.410793 -vt 0.650181 0.422922 -vt 0.672592 0.445333 -vt 0.684720 0.474614 -vt 0.684720 0.506308 -vt 0.672591 0.535590 -vt 0.650180 0.558000 -vt 0.620899 0.570129 -vt 0.559924 0.558000 -vt 0.525385 0.506308 -vt 0.525385 0.474614 -vt 0.537513 0.445333 -vt 0.897932 0.166719 -vt 0.871616 0.361956 -vt 0.455191 0.869255 -vt 0.943209 0.194775 -vt 0.014028 0.968633 -vt 0.149858 0.968633 -vt 0.150478 0.638416 -vt 0.105201 0.638416 -vt 0.063370 0.621089 -vt 0.031355 0.589073 -vt 0.014028 0.501966 -vt 0.031355 0.460136 -vt 0.063370 0.428120 -vt 0.150478 0.410793 -vt 0.192308 0.428120 -vt 0.224324 0.460136 -vt 0.241650 0.547243 -vt 0.224324 0.589074 -vt 0.192308 0.621089 -vt 0.376243 0.968634 -vt 0.661834 0.155115 -vt 0.703665 0.172442 -vt 0.735680 0.204457 -vt 0.753007 0.246288 -vt 0.753007 0.291565 -vt 0.735680 0.333395 -vt 0.703665 0.365411 -vt 0.661834 0.382738 -vt 0.616557 0.382738 -vt 0.542711 0.333395 -vt 0.525385 0.246288 -vt 0.542711 0.204457 -vt 0.574727 0.172442 -vt 0.647133 0.880859 -vt 0.573800 0.869255 -vt 0.961341 0.824477 -vt 0.870787 0.864137 -vt 0.409914 0.928973 -vt 0.150478 0.382738 -vt 0.105201 0.382738 -vt 0.063370 0.365411 -vt 0.031355 0.333395 -vt 0.014028 0.246288 -vt 0.031355 0.204458 -vt 0.063370 0.172442 -vt 0.150478 0.155115 -vt 0.192308 0.172442 -vt 0.224324 0.204457 -vt 0.241650 0.291565 -vt 0.224324 0.333395 -vt 0.192308 0.365411 -vt 0.726852 0.928973 -vt 0.447986 0.172442 -vt 0.480002 0.204457 -vt 0.497329 0.246288 -vt 0.497329 0.291565 -vt 0.480002 0.333395 -vt 0.447986 0.365411 -vt 0.406156 0.382738 -vt 0.319049 0.365411 -vt 0.287033 0.333395 -vt 0.269706 0.291565 -vt 0.287033 0.204458 -vt 0.319049 0.172442 -vt 0.360879 0.155115 -vt 0.462789 0.558000 -vt 0.433508 0.570129 -vt 0.401814 0.570129 -vt 0.372533 0.558000 -vt 0.350122 0.535589 -vt 0.337993 0.506308 -vt 0.337993 0.474614 -vt 0.372533 0.422922 -vt 0.401814 0.410793 -vt 0.433508 0.410793 -vt 0.485200 0.445333 -vt 0.497329 0.474614 -vt 0.497329 0.506308 -vt 0.785836 0.014028 -vt 0.657853 0.071027 -vt 0.973445 0.917369 -vt 0.622836 0.957029 -vt 0.269710 0.626725 -vt 0.712776 0.824477 -vt 0.676857 0.609473 -vt 0.815864 0.014028 -vt 0.815864 0.071027 -vt 0.364641 0.750188 -vt 0.164612 0.014078 -vt 0.126126 0.014065 -vt 0.087641 0.014052 -vt 0.049156 0.014039 -vt 0.594742 0.014225 -vt 0.587951 0.014223 -vt 0.549465 0.014210 -vt 0.510980 0.014196 -vt 0.440801 0.014172 -vt 0.402315 0.014159 -vt 0.363830 0.014146 -vt 0.357038 0.014144 -vt 0.318553 0.014131 -vt 0.280067 0.014118 -vt 0.203097 0.014091 -vt 0.241582 0.014104 -vt 0.325306 0.722132 -vt 0.318515 0.722132 -vt 0.280029 0.722132 -vt 0.241544 0.722132 -vt 0.203059 0.722132 -vt 0.164573 0.722132 -vt 0.126088 0.722132 -vt 0.087603 0.722132 -vt 0.049117 0.722132 -vt 0.594704 0.722133 -vt 0.556219 0.722133 -vt 0.517733 0.722132 -vt 0.479248 0.722132 -vt 0.440762 0.722132 -vt 0.402277 0.722132 -vt 0.363792 0.722132 -vt 0.323575 0.750188 -vt 0.905453 0.617636 -vt 0.027034 0.750188 -vt 0.725786 0.410793 -vt 0.725783 0.617636 -vt 0.905453 0.410793 -vt 0.856870 0.155115 -vt 0.206705 0.750188 -vn 0.000000 -0.195100 -0.980800 -vn -0.000000 -0.555600 -0.831500 -vn 0.000000 -0.831500 -0.555600 -vn 0.000000 -0.980800 -0.195100 -vn 0.000000 -0.980800 0.195100 -vn 0.000000 -0.831500 0.555600 -vn 0.000000 -0.555600 0.831500 -vn 0.000000 -0.195100 0.980800 -vn -0.000000 0.195100 0.980800 -vn 0.000000 0.555600 0.831500 -vn -0.000000 0.831500 0.555600 -vn 0.000000 0.980800 0.195100 -vn 0.000000 0.980800 -0.195100 -vn -0.000000 0.831500 -0.555600 -vn 0.000000 0.195100 -0.980800 -vn -0.000000 0.555600 -0.831500 -vn -1.000000 -0.000000 0.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 0.068000 -0.997700 -vn 0.000000 0.068000 0.997700 -vn 0.000000 -0.054000 -0.998500 -vn 0.000000 -0.054000 0.998500 -vn 0.000000 -1.000000 0.000000 -vn -0.295900 0.794200 -0.530700 -vn -0.295900 0.936900 -0.186400 -vn -0.295900 0.936900 0.186400 -vn -0.295900 0.794200 0.530700 -vn -0.295900 0.530700 0.794200 -vn -0.295900 0.186400 0.936900 -vn -0.295900 -0.186400 0.936900 -vn -0.295900 -0.530700 0.794200 -vn -0.295900 -0.794200 0.530700 -vn -0.295900 -0.936900 0.186400 -vn -0.295900 -0.936900 -0.186400 -vn -0.295900 -0.794200 -0.530700 -vn -0.295900 -0.530700 -0.794200 -vn -0.295900 -0.186400 -0.936900 -vn -0.295900 0.186400 -0.936900 -vn -0.295900 0.530700 -0.794200 -vn 0.387500 0.904200 0.179800 -vn 0.387500 0.904200 -0.179800 -vn 0.387500 0.766500 -0.512200 -vn 0.387500 0.512200 -0.766500 -vn 0.387500 0.179800 -0.904200 -vn 0.387500 -0.179800 -0.904200 -vn 0.387500 -0.512200 -0.766500 -vn 0.387500 -0.766500 -0.512200 -vn 0.387500 -0.904200 -0.179800 -vn 0.387500 -0.904200 0.179800 -vn 0.387500 -0.766500 0.512200 -vn 0.387500 -0.512200 0.766500 -vn 0.387500 -0.179800 0.904200 -vn 0.387500 0.179800 0.904200 -vn 0.387500 0.512200 0.766500 -vn 0.387500 0.766500 0.512200 -vn -0.180700 0.908700 -0.376400 -vn 0.525300 0.786200 -0.325600 -vn -0.525300 0.786200 -0.325600 -vn 0.180700 0.908700 -0.376400 -vn -0.180700 0.376400 -0.908700 -vn 0.525300 0.325600 -0.786200 -vn -0.525300 0.325600 -0.786200 -vn 0.180700 0.376400 -0.908700 -vn -0.525300 -0.325600 -0.786200 -vn 0.180700 -0.376400 -0.908700 -vn -0.180700 -0.376400 -0.908700 -vn 0.525300 -0.325600 -0.786200 -vn 0.180700 -0.908700 -0.376400 -vn -0.180700 -0.908700 -0.376400 -vn 0.525300 -0.786200 -0.325600 -vn -0.525300 -0.786200 -0.325600 -vn -0.180700 -0.908700 0.376400 -vn 0.525300 -0.786200 0.325600 -vn -0.525300 -0.786200 0.325600 -vn 0.180700 -0.908700 0.376400 -vn 0.525300 -0.325600 0.786200 -vn -0.525300 -0.325600 0.786200 -vn 0.180700 -0.376400 0.908700 -vn -0.180700 -0.376400 0.908700 -vn -0.525300 0.325600 0.786200 -vn 0.180700 0.376400 0.908700 -vn -0.180700 0.376400 0.908700 -vn 0.525300 0.325600 0.786200 -vn -0.180700 0.908700 0.376400 -vn 0.525300 0.786200 0.325600 -vn -0.525300 0.786200 0.325600 -vn 0.180700 0.908700 0.376400 -s off -f 1/1/1 2/2/1 4/3/1 -f 4/3/2 6/4/2 5/5/2 -f 6/4/3 8/6/3 7/7/3 -f 8/6/4 10/8/4 9/9/4 -f 9/10/5 10/11/5 12/12/5 -f 12/12/6 14/13/6 13/14/6 -f 13/14/7 14/13/7 16/15/7 -f 16/15/8 18/16/8 17/17/8 -f 18/16/9 20/18/9 19/19/9 -f 19/19/10 20/18/10 22/20/10 -f 22/20/11 24/21/11 23/22/11 -f 24/21/12 26/23/12 25/24/12 -f 25/24/13 26/23/13 28/25/13 -f 27/26/14 28/25/14 30/27/14 -f 31/28/15 32/29/15 2/2/15 -f 29/30/16 30/27/16 32/29/16 -f 34/31/1 36/32/1 35/33/1 -f 36/32/2 38/34/2 37/35/2 -f 37/35/3 38/34/3 40/36/3 -f 39/37/4 40/36/4 42/38/4 -f 42/39/5 44/40/5 43/41/5 -f 44/40/6 46/42/6 45/43/6 -f 46/42/7 48/44/7 47/45/7 -f 48/44/8 50/46/8 49/47/8 -f 50/46/9 52/48/9 51/49/9 -f 51/49/10 52/48/10 54/50/10 -f 53/51/11 54/50/11 56/52/11 -f 56/52/12 58/53/12 57/54/12 -f 57/54/13 58/53/13 60/55/13 -f 59/56/14 60/55/14 62/57/14 -f 63/58/15 64/59/15 34/31/15 -f 61/60/16 62/57/16 64/59/16 -f 83/61/17 87/62/17 95/63/17 -f 98/64/1 100/65/1 99/66/1 -f 100/67/2 102/68/2 101/69/2 -f 102/70/3 104/71/3 103/72/3 -f 104/71/4 106/73/4 105/74/4 -f 106/75/5 108/76/5 107/77/5 -f 108/76/6 110/78/6 109/79/6 -f 110/80/7 112/81/7 111/82/7 -f 112/83/8 114/84/8 113/85/8 -f 114/84/9 116/86/9 115/87/9 -f 115/87/10 116/86/10 118/88/10 -f 118/88/11 120/89/11 119/90/11 -f 120/89/12 122/91/12 121/92/12 -f 122/91/13 124/93/13 123/94/13 -f 123/94/14 124/93/14 126/95/14 -f 118/96/18 110/97/18 126/98/18 -f 128/99/15 98/64/15 97/100/15 -f 125/101/16 126/95/16 128/99/16 -f 115/102/17 119/103/17 127/104/17 -f 130/105/1 132/106/1 131/107/1 -f 131/108/2 132/109/2 134/110/2 -f 134/111/3 136/112/3 135/113/3 -f 136/112/4 138/114/4 137/115/4 -f 138/116/5 140/117/5 139/118/5 -f 140/117/6 142/119/6 141/120/6 -f 141/121/7 142/122/7 144/123/7 -f 143/124/8 144/125/8 146/126/8 -f 146/126/9 148/127/9 147/128/9 -f 148/127/10 150/129/10 149/130/10 -f 150/129/11 152/131/11 151/132/11 -f 152/131/12 154/133/12 153/134/12 -f 154/133/13 156/135/13 155/136/13 -f 156/135/14 158/137/14 157/138/14 -f 150/139/18 142/140/18 158/141/18 -f 160/142/15 130/105/15 129/143/15 -f 157/138/16 158/137/16 160/142/16 -f 143/144/17 151/145/17 159/146/17 -f 86/147/18 78/148/18 70/149/18 -f 163/150/18 132/151/18 134/152/18 -f 168/153/18 167/154/18 142/155/18 -f 173/156/17 111/157/17 109/158/17 -f 131/159/19 132/160/19 163/161/19 -f 165/162/17 143/163/17 141/164/17 -f 165/165/20 168/166/20 144/167/20 -f 162/168/17 161/169/17 133/170/17 -f 141/171/21 142/172/21 167/173/21 -f 164/174/22 134/175/22 133/176/22 -f 171/177/18 100/178/18 102/179/18 -f 176/180/18 175/181/18 110/182/18 -f 170/183/17 169/184/17 101/185/17 -f 164/174/23 161/186/23 162/187/23 -f 172/188/22 102/189/22 101/190/22 -f 99/191/19 100/192/19 171/193/19 -f 173/194/20 176/195/20 112/196/20 -f 109/197/21 110/198/21 175/199/21 -f 168/166/23 165/165/23 166/200/23 -f 176/195/23 173/194/23 174/201/23 -f 172/188/23 169/202/23 170/203/23 -f 177/204/1 178/205/1 67/206/1 -f 178/207/2 179/208/2 69/209/2 -f 179/210/3 180/211/3 71/212/3 -f 180/213/4 181/214/4 73/215/4 -f 73/216/5 181/217/5 182/218/5 -f 182/219/6 183/220/6 77/221/6 -f 183/222/7 184/223/7 79/224/7 -f 184/225/8 185/226/8 81/227/8 -f 81/228/9 185/229/9 186/230/9 -f 83/231/10 186/232/10 187/233/10 -f 85/234/11 187/235/11 188/236/11 -f 188/237/12 189/238/12 89/239/12 -f 189/240/13 190/241/13 91/242/13 -f 190/243/14 191/244/14 93/245/14 -f 192/246/15 177/247/15 65/248/15 -f 191/249/16 192/250/16 95/251/16 -f 190/243/24 59/56/24 61/60/24 -f 59/56/25 190/241/25 189/240/25 -f 57/54/26 189/238/26 188/237/26 -f 53/51/27 55/252/27 188/236/27 -f 51/49/28 53/51/28 187/233/28 -f 49/47/29 51/49/29 186/230/29 -f 47/45/30 49/47/30 185/226/30 -f 45/43/31 47/45/31 184/223/31 -f 43/41/32 45/43/32 183/220/32 -f 43/41/33 182/218/33 181/217/33 -f 39/37/34 41/253/34 181/214/34 -f 39/37/35 180/211/35 179/210/35 -f 37/35/36 179/208/36 178/207/36 -f 35/33/37 178/205/37 177/204/37 -f 33/254/38 177/247/38 192/246/38 -f 63/58/39 192/250/39 191/249/39 -f 26/23/40 24/21/40 88/255/40 -f 92/256/41 28/25/41 26/23/41 -f 94/257/42 30/27/42 28/25/42 -f 96/258/43 32/29/43 30/27/43 -f 66/259/44 2/2/44 32/29/44 -f 68/260/45 4/3/45 2/2/45 -f 70/261/46 6/4/46 4/3/46 -f 72/262/47 8/6/47 6/4/47 -f 74/263/48 10/8/48 8/6/48 -f 12/12/49 10/11/49 74/264/49 -f 14/13/50 12/12/50 76/265/50 -f 16/15/51 14/13/51 78/266/51 -f 18/16/52 16/15/52 80/267/52 -f 20/18/53 18/16/53 82/268/53 -f 22/20/54 20/18/54 84/269/54 -f 24/21/55 22/20/55 86/270/55 -f 195/271/56 200/272/56 201/273/56 -f 193/274/57 198/275/57 199/276/57 -f 196/277/58 201/273/58 202/278/58 -f 194/279/59 199/276/59 200/272/59 -f 200/280/60 205/281/60 206/282/60 -f 198/283/61 203/284/61 204/285/61 -f 201/286/62 206/282/62 207/287/62 -f 199/288/63 204/285/63 205/281/63 -f 207/289/64 206/290/64 211/291/64 -f 204/292/65 209/293/65 210/294/65 -f 205/295/66 210/294/66 211/291/66 -f 204/292/67 203/296/67 208/297/67 -f 209/298/68 214/299/68 215/300/68 -f 210/301/69 215/300/69 216/302/69 -f 209/298/70 208/303/70 213/304/70 -f 212/305/71 211/306/71 216/302/71 -f 215/307/72 220/308/72 221/309/72 -f 213/310/73 218/311/73 219/312/73 -f 217/313/74 216/314/74 221/309/74 -f 215/307/75 214/315/75 219/312/75 -f 218/316/76 223/317/76 224/318/76 -f 221/319/77 226/320/77 227/321/77 -f 220/322/78 219/323/78 224/318/78 -f 220/322/79 225/324/79 226/320/79 -f 226/325/80 231/326/80 232/327/80 -f 225/328/81 224/329/81 229/330/81 -f 226/325/82 225/328/82 230/331/82 -f 223/332/83 228/333/83 229/330/83 -f 231/334/84 230/335/84 195/336/84 -f 228/337/85 193/338/85 194/339/85 -f 231/334/86 196/340/86 197/341/86 -f 229/342/87 194/339/87 195/336/87 -f 3/343/1 1/1/1 4/3/1 -f 3/343/2 4/3/2 5/5/2 -f 5/5/3 6/4/3 7/7/3 -f 7/7/4 8/6/4 9/9/4 -f 11/344/5 9/10/5 12/12/5 -f 11/344/6 12/12/6 13/14/6 -f 15/345/7 13/14/7 16/15/7 -f 15/345/8 16/15/8 17/17/8 -f 17/17/9 18/16/9 19/19/9 -f 21/346/10 19/19/10 22/20/10 -f 21/346/11 22/20/11 23/22/11 -f 23/22/12 24/21/12 25/24/12 -f 27/26/13 25/24/13 28/25/13 -f 29/30/14 27/26/14 30/27/14 -f 1/1/15 31/28/15 2/2/15 -f 31/28/16 29/30/16 32/29/16 -f 33/254/1 34/31/1 35/33/1 -f 35/33/2 36/32/2 37/35/2 -f 39/37/3 37/35/3 40/36/3 -f 41/253/4 39/37/4 42/38/4 -f 41/347/5 42/39/5 43/41/5 -f 43/41/6 44/40/6 45/43/6 -f 45/43/7 46/42/7 47/45/7 -f 47/45/8 48/44/8 49/47/8 -f 49/47/9 50/46/9 51/49/9 -f 53/51/10 51/49/10 54/50/10 -f 55/252/11 53/51/11 56/52/11 -f 55/252/12 56/52/12 57/54/12 -f 59/56/13 57/54/13 60/55/13 -f 61/60/14 59/56/14 62/57/14 -f 33/254/15 63/58/15 34/31/15 -f 63/58/16 61/60/16 64/59/16 -f 95/63/17 65/348/17 67/349/17 -f 67/349/17 69/350/17 71/351/17 -f 71/351/17 73/352/17 75/353/17 -f 75/353/17 77/354/17 71/351/17 -f 79/355/17 81/356/17 83/61/17 -f 83/61/17 85/357/17 87/62/17 -f 87/62/17 89/358/17 91/359/17 -f 91/359/17 93/360/17 87/62/17 -f 95/63/17 67/349/17 79/355/17 -f 71/351/17 77/354/17 79/355/17 -f 79/355/17 83/61/17 95/63/17 -f 87/62/17 93/360/17 95/63/17 -f 67/349/17 71/351/17 79/355/17 -f 97/100/1 98/64/1 99/66/1 -f 99/361/2 100/67/2 101/69/2 -f 101/362/3 102/70/3 103/72/3 -f 103/72/4 104/71/4 105/74/4 -f 105/363/5 106/75/5 107/77/5 -f 107/77/6 108/76/6 109/79/6 -f 109/364/7 110/80/7 111/82/7 -f 111/365/8 112/83/8 113/85/8 -f 113/85/9 114/84/9 115/87/9 -f 117/366/10 115/87/10 118/88/10 -f 117/366/11 118/88/11 119/90/11 -f 119/90/12 120/89/12 121/92/12 -f 121/92/13 122/91/13 123/94/13 -f 125/101/14 123/94/14 126/95/14 -f 102/367/18 100/368/18 98/369/18 -f 98/369/18 128/370/18 126/98/18 -f 126/98/18 124/371/18 118/96/18 -f 122/372/18 120/373/18 118/96/18 -f 118/96/18 116/374/18 110/97/18 -f 114/375/18 112/376/18 110/97/18 -f 110/97/18 108/377/18 106/378/18 -f 106/378/18 104/379/18 110/97/18 -f 102/367/18 98/369/18 126/98/18 -f 124/371/18 122/372/18 118/96/18 -f 116/374/18 114/375/18 110/97/18 -f 110/97/18 104/379/18 102/367/18 -f 102/367/18 126/98/18 110/97/18 -f 127/380/15 128/99/15 97/100/15 -f 127/380/16 125/101/16 128/99/16 -f 127/104/17 97/381/17 99/382/17 -f 99/382/17 101/383/17 103/384/17 -f 103/384/17 105/385/17 107/386/17 -f 107/386/17 109/387/17 111/388/17 -f 111/388/17 113/389/17 115/102/17 -f 115/102/17 117/390/17 119/103/17 -f 119/103/17 121/391/17 123/392/17 -f 123/392/17 125/393/17 127/104/17 -f 127/104/17 99/382/17 103/384/17 -f 103/384/17 107/386/17 111/388/17 -f 111/388/17 115/102/17 127/104/17 -f 119/103/17 123/392/17 127/104/17 -f 127/104/17 103/384/17 111/388/17 -f 129/143/1 130/105/1 131/107/1 -f 133/394/2 131/108/2 134/110/2 -f 133/395/3 134/111/3 135/113/3 -f 135/113/4 136/112/4 137/115/4 -f 137/396/5 138/116/5 139/118/5 -f 139/118/6 140/117/6 141/120/6 -f 143/397/7 141/121/7 144/123/7 -f 145/398/8 143/124/8 146/126/8 -f 145/398/9 146/126/9 147/128/9 -f 147/128/10 148/127/10 149/130/10 -f 149/130/11 150/129/11 151/132/11 -f 151/132/12 152/131/12 153/134/12 -f 153/134/13 154/133/13 155/136/13 -f 155/136/14 156/135/14 157/138/14 -f 134/399/18 132/400/18 130/401/18 -f 130/401/18 160/402/18 158/141/18 -f 158/141/18 156/403/18 150/139/18 -f 154/404/18 152/405/18 150/139/18 -f 150/139/18 148/406/18 142/140/18 -f 146/407/18 144/408/18 142/140/18 -f 142/140/18 140/409/18 138/410/18 -f 138/410/18 136/411/18 142/140/18 -f 134/399/18 130/401/18 158/141/18 -f 156/403/18 154/404/18 150/139/18 -f 148/406/18 146/407/18 142/140/18 -f 142/140/18 136/411/18 134/399/18 -f 134/399/18 158/141/18 142/140/18 -f 159/412/15 160/142/15 129/143/15 -f 159/412/16 157/138/16 160/142/16 -f 159/146/17 129/413/17 131/414/17 -f 131/414/17 133/415/17 159/146/17 -f 135/416/17 137/417/17 139/418/17 -f 139/418/17 141/419/17 135/416/17 -f 143/144/17 145/420/17 147/421/17 -f 147/421/17 149/422/17 151/145/17 -f 151/145/17 153/423/17 155/424/17 -f 155/424/17 157/425/17 159/146/17 -f 159/146/17 133/415/17 135/416/17 -f 135/416/17 141/419/17 143/144/17 -f 143/144/17 147/421/17 151/145/17 -f 151/145/17 155/424/17 159/146/17 -f 159/146/17 135/416/17 143/144/17 -f 70/149/18 68/426/18 66/427/18 -f 66/427/18 96/428/18 94/429/18 -f 94/429/18 92/430/18 90/431/18 -f 90/431/18 88/432/18 86/147/18 -f 86/147/18 84/433/18 78/148/18 -f 82/434/18 80/435/18 78/148/18 -f 78/148/18 76/436/18 70/149/18 -f 74/437/18 72/438/18 70/149/18 -f 70/149/18 66/427/18 94/429/18 -f 94/429/18 90/431/18 70/149/18 -f 84/433/18 82/434/18 78/148/18 -f 76/436/18 74/437/18 70/149/18 -f 70/149/18 90/431/18 86/147/18 -f 164/439/18 163/150/18 134/152/18 -f 144/440/18 168/153/18 142/155/18 -f 174/441/17 173/156/17 109/158/17 -f 162/187/19 131/159/19 163/161/19 -f 166/442/17 165/162/17 141/164/17 -f 143/443/20 165/165/20 144/167/20 -f 131/444/17 162/168/17 133/170/17 -f 166/200/21 141/171/21 167/173/21 -f 161/186/22 164/174/22 133/176/22 -f 172/445/18 171/177/18 102/179/18 -f 112/446/18 176/180/18 110/182/18 -f 99/447/17 170/183/17 101/185/17 -f 163/161/23 164/174/23 162/187/23 -f 169/202/22 172/188/22 101/190/22 -f 170/203/19 99/191/19 171/193/19 -f 111/448/20 173/194/20 112/196/20 -f 174/201/21 109/197/21 175/199/21 -f 167/173/23 168/166/23 166/200/23 -f 175/199/23 176/195/23 174/201/23 -f 171/193/23 172/188/23 170/203/23 -f 65/449/1 177/204/1 67/206/1 -f 67/450/2 178/207/2 69/209/2 -f 69/451/3 179/210/3 71/212/3 -f 71/452/4 180/213/4 73/215/4 -f 75/453/5 73/216/5 182/218/5 -f 75/454/6 182/219/6 77/221/6 -f 77/455/7 183/222/7 79/224/7 -f 79/456/8 184/225/8 81/227/8 -f 83/457/9 81/228/9 186/230/9 -f 85/458/10 83/231/10 187/233/10 -f 87/459/11 85/234/11 188/236/11 -f 87/460/12 188/237/12 89/239/12 -f 89/461/13 189/240/13 91/242/13 -f 91/462/14 190/243/14 93/245/14 -f 95/463/15 192/246/15 65/248/15 -f 93/464/16 191/249/16 95/251/16 -f 191/244/24 190/243/24 61/60/24 -f 57/54/25 59/56/25 189/240/25 -f 55/252/26 57/54/26 188/237/26 -f 187/235/27 53/51/27 188/236/27 -f 186/232/28 51/49/28 187/233/28 -f 185/229/29 49/47/29 186/230/29 -f 184/225/30 47/45/30 185/226/30 -f 183/222/31 45/43/31 184/223/31 -f 182/219/32 43/41/32 183/220/32 -f 41/347/33 43/41/33 181/217/33 -f 180/213/34 39/37/34 181/214/34 -f 37/35/35 39/37/35 179/210/35 -f 35/33/36 37/35/36 178/207/36 -f 33/254/37 35/33/37 177/204/37 -f 63/58/38 33/254/38 192/246/38 -f 61/60/39 63/58/39 191/249/39 -f 90/465/40 26/23/40 88/255/40 -f 90/466/41 92/256/41 26/23/41 -f 92/467/42 94/257/42 28/25/42 -f 94/468/43 96/258/43 30/27/43 -f 96/469/44 66/259/44 32/29/44 -f 66/470/45 68/260/45 2/2/45 -f 68/471/46 70/261/46 4/3/46 -f 70/472/47 72/262/47 6/4/47 -f 72/473/48 74/263/48 8/6/48 -f 76/474/49 12/12/49 74/264/49 -f 78/475/50 14/13/50 76/265/50 -f 80/476/51 16/15/51 78/266/51 -f 82/477/52 18/16/52 80/267/52 -f 84/478/53 20/18/53 82/268/53 -f 86/479/54 22/20/54 84/269/54 -f 88/480/55 24/21/55 86/270/55 -f 196/277/56 195/271/56 201/273/56 -f 194/279/57 193/274/57 199/276/57 -f 197/481/58 196/277/58 202/278/58 -f 195/271/59 194/279/59 200/272/59 -f 201/286/60 200/280/60 206/282/60 -f 199/288/61 198/283/61 204/285/61 -f 202/482/62 201/286/62 207/287/62 -f 200/280/63 199/288/63 205/281/63 -f 212/483/64 207/289/64 211/291/64 -f 205/295/65 204/292/65 210/294/65 -f 206/290/66 205/295/66 211/291/66 -f 209/293/67 204/292/67 208/297/67 -f 210/301/68 209/298/68 215/300/68 -f 211/306/69 210/301/69 216/302/69 -f 214/299/70 209/298/70 213/304/70 -f 217/484/71 212/305/71 216/302/71 -f 216/314/72 215/307/72 221/309/72 -f 214/315/73 213/310/73 219/312/73 -f 222/485/74 217/313/74 221/309/74 -f 220/308/75 215/307/75 219/312/75 -f 219/323/76 218/316/76 224/318/76 -f 222/486/77 221/319/77 227/321/77 -f 225/324/78 220/322/78 224/318/78 -f 221/319/79 220/322/79 226/320/79 -f 227/487/80 226/325/80 232/327/80 -f 230/331/81 225/328/81 229/330/81 -f 231/326/82 226/325/82 230/331/82 -f 224/329/83 223/332/83 229/330/83 -f 196/340/84 231/334/84 195/336/84 -f 229/342/85 228/337/85 194/339/85 -f 232/488/86 231/334/86 197/341/86 -f 230/335/87 229/342/87 195/336/87 diff --git a/src/main/resources/assets/hbm/models/TheGadget3_smooth.obj b/src/main/resources/assets/hbm/models/TheGadget3_smooth.obj deleted file mode 100644 index 745a9d304..000000000 --- a/src/main/resources/assets/hbm/models/TheGadget3_smooth.obj +++ /dev/null @@ -1,1293 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'TheGadget3_smooth.blend' -# www.blender.org -o Cylinder.003 -v 0.550000 1.500000 -0.850000 -v 0.650000 1.500000 -0.850000 -v 0.550000 1.174719 -0.785298 -v 0.650000 1.174719 -0.785298 -v 0.550001 0.898959 -0.601041 -v 0.650001 0.898959 -0.601041 -v 0.550001 0.714702 -0.325281 -v 0.650001 0.714702 -0.325281 -v 0.550001 0.650000 0.000000 -v 0.650001 0.650000 0.000000 -v 0.550001 0.714702 0.325281 -v 0.650001 0.714702 0.325281 -v 0.550001 0.898959 0.601041 -v 0.650001 0.898959 0.601041 -v 0.550000 1.174719 0.785298 -v 0.650000 1.174719 0.785298 -v 0.550000 1.500000 0.850000 -v 0.650000 1.500000 0.850000 -v 0.550000 1.825281 0.785298 -v 0.650000 1.825281 0.785298 -v 0.549999 2.101041 0.601041 -v 0.649999 2.101041 0.601041 -v 0.549999 2.285297 0.325281 -v 0.649999 2.285298 0.325281 -v 0.549999 2.350000 -0.000000 -v 0.649999 2.350000 -0.000000 -v 0.549999 2.285297 -0.325281 -v 0.649999 2.285298 -0.325281 -v 0.549999 2.101040 -0.601041 -v 0.649999 2.101041 -0.601041 -v 0.550000 1.825280 -0.785298 -v 0.650000 1.825281 -0.785298 -v -0.650000 1.500000 -0.850000 -v -0.550000 1.500000 -0.850000 -v -0.650000 1.174719 -0.785298 -v -0.550000 1.174719 -0.785298 -v -0.649999 0.898959 -0.601041 -v -0.549999 0.898959 -0.601041 -v -0.649999 0.714702 -0.325281 -v -0.549999 0.714702 -0.325281 -v -0.649999 0.650000 0.000000 -v -0.549999 0.650000 0.000000 -v -0.649999 0.714702 0.325281 -v -0.549999 0.714702 0.325281 -v -0.649999 0.898959 0.601041 -v -0.549999 0.898959 0.601041 -v -0.650000 1.174719 0.785298 -v -0.550000 1.174719 0.785298 -v -0.650000 1.500000 0.850000 -v -0.550000 1.500000 0.850000 -v -0.650000 1.825281 0.785298 -v -0.550000 1.825281 0.785298 -v -0.650001 2.101041 0.601041 -v -0.550001 2.101041 0.601041 -v -0.650001 2.285297 0.325281 -v -0.550001 2.285298 0.325281 -v -0.650001 2.350000 -0.000000 -v -0.550001 2.350000 -0.000000 -v -0.650001 2.285297 -0.325281 -v -0.550001 2.285298 -0.325281 -v -0.650001 2.101040 -0.601041 -v -0.550001 2.101041 -0.601041 -v -0.650000 1.825280 -0.785298 -v -0.550000 1.825281 -0.785298 -v -1.500000 1.499999 -0.700000 -v 1.000000 1.500001 -0.700000 -v -1.500000 1.232120 -0.646716 -v 1.000000 1.232123 -0.646716 -v -1.500000 1.005024 -0.494975 -v 1.000000 1.005026 -0.494975 -v -1.499999 0.853283 -0.267878 -v 1.000000 0.853285 -0.267878 -v -1.499999 0.799999 0.000000 -v 1.000000 0.800001 0.000000 -v -1.499999 0.853283 0.267878 -v 1.000000 0.853285 0.267878 -v -1.500000 1.005024 0.494975 -v 1.000000 1.005026 0.494975 -v -1.500000 1.232120 0.646716 -v 1.000000 1.232123 0.646716 -v -1.500000 1.499999 0.700000 -v 1.000000 1.500001 0.700000 -v -1.500000 1.767877 0.646716 -v 1.000000 1.767879 0.646716 -v -1.500000 1.994973 0.494975 -v 0.999999 1.994976 0.494975 -v -1.500001 2.146714 0.267879 -v 0.999999 2.146717 0.267879 -v -1.500001 2.199999 -0.000000 -v 0.999999 2.200001 -0.000000 -v -1.500001 2.146714 -0.267879 -v 0.999999 2.146717 -0.267879 -v -1.500000 1.994973 -0.494975 -v 0.999999 1.994976 -0.494975 -v -1.500000 1.767877 -0.646716 -v 1.000000 1.767879 -0.646716 -v 0.450000 1.500000 -1.000000 -v 0.550000 1.500000 -1.000000 -v 0.450000 1.117316 -0.923880 -v 0.550000 1.117316 -0.923880 -v 0.450001 0.792893 -0.707107 -v 0.550001 0.792893 -0.707107 -v 0.450001 0.576120 -0.382683 -v 0.550001 0.576120 -0.382683 -v 0.450001 0.500000 0.000000 -v 0.550001 0.500000 0.000000 -v 0.450001 0.576120 0.382684 -v 0.550001 0.576120 0.382684 -v 0.450001 0.792893 0.707107 -v 0.550001 0.792893 0.707107 -v 0.450000 1.117316 0.923880 -v 0.550000 1.117316 0.923880 -v 0.450000 1.500000 1.000000 -v 0.550000 1.500000 1.000000 -v 0.450000 1.882683 0.923880 -v 0.550000 1.882683 0.923880 -v 0.449999 2.207107 0.707107 -v 0.549999 2.207107 0.707107 -v 0.449999 2.423879 0.382684 -v 0.549999 2.423880 0.382684 -v 0.449999 2.500000 -0.000000 -v 0.549999 2.500000 -0.000000 -v 0.449999 2.423879 -0.382684 -v 0.549999 2.423879 -0.382684 -v 0.449999 2.207106 -0.707107 -v 0.549999 2.207107 -0.707107 -v 0.450000 1.882683 -0.923880 -v 0.550000 1.882683 -0.923880 -v -0.550000 1.500000 -1.000000 -v -0.450000 1.500000 -1.000000 -v -0.550000 1.117316 -0.923880 -v -0.450000 1.117317 -0.923880 -v -0.549999 0.792893 -0.707107 -v -0.449999 0.792893 -0.707107 -v -0.549999 0.576120 -0.382683 -v -0.449999 0.576120 -0.382683 -v -0.549999 0.500000 0.000000 -v -0.449999 0.500000 0.000000 -v -0.549999 0.576120 0.382684 -v -0.449999 0.576120 0.382684 -v -0.549999 0.792893 0.707107 -v -0.449999 0.792893 0.707107 -v -0.550000 1.117316 0.923880 -v -0.450000 1.117316 0.923880 -v -0.550000 1.500000 1.000000 -v -0.450000 1.500000 1.000000 -v -0.550000 1.882683 0.923880 -v -0.450000 1.882683 0.923880 -v -0.550001 2.207107 0.707107 -v -0.450001 2.207107 0.707107 -v -0.550001 2.423879 0.382684 -v -0.450001 2.423880 0.382684 -v -0.550001 2.500000 -0.000000 -v -0.450001 2.500000 -0.000000 -v -0.550001 2.423879 -0.382684 -v -0.450001 2.423879 -0.382684 -v -0.550001 2.207107 -0.707107 -v -0.450001 2.207107 -0.707107 -v -0.550000 1.882683 -0.923880 -v -0.450000 1.882683 -0.923880 -v -0.550000 -0.000000 -0.750000 -v -0.550000 -0.000000 -1.000000 -v -0.450000 -0.000000 -1.000000 -v -0.450000 -0.000000 -0.750000 -v -0.550000 -0.000000 1.000000 -v -0.550000 -0.000000 0.750000 -v -0.450000 -0.000000 0.750000 -v -0.450000 -0.000000 1.000000 -v 0.450000 0.000000 -0.750000 -v 0.450000 0.000000 -1.000000 -v 0.550000 0.000000 -1.000000 -v 0.550000 0.000000 -0.750000 -v 0.450000 -0.000000 1.000000 -v 0.450000 -0.000000 0.750000 -v 0.550000 -0.000000 0.750000 -v 0.550000 -0.000000 1.000000 -v -1.125000 1.499999 -0.700000 -v -1.125000 1.232121 -0.646716 -v -1.125000 1.005024 -0.494975 -v -1.124999 0.853284 -0.267878 -v -1.124999 0.799999 0.000000 -v -1.124999 0.853284 0.267878 -v -1.125000 1.005024 0.494975 -v -1.125000 1.232121 0.646716 -v -1.125000 1.499999 0.700000 -v -1.125000 1.767877 0.646716 -v -1.125000 1.994974 0.494975 -v -1.125001 2.146715 0.267879 -v -1.125001 2.199999 -0.000000 -v -1.125001 2.146715 -0.267879 -v -1.125000 1.994974 -0.494975 -v -1.125000 1.767877 -0.646716 -v 0.707106 2.207107 0.000000 -v 0.382683 2.423880 0.000000 -v -0.000001 2.500000 0.000000 -v -0.382684 2.423880 0.000000 -v -0.707107 2.207107 0.000000 -v 0.707106 2.000000 -0.500000 -v 0.382683 2.153281 -0.653281 -v -0.000001 2.207107 -0.707107 -v -0.382684 2.153281 -0.653281 -v -0.707107 2.000000 -0.500000 -v 0.707106 1.500000 -0.707107 -v 0.382683 1.500000 -0.923879 -v -0.000000 1.500000 -1.000000 -v -0.382684 1.500000 -0.923879 -v -0.707107 1.500000 -0.707107 -v 0.707106 1.000000 -0.500000 -v 0.382683 0.846719 -0.653281 -v -0.000000 0.792893 -0.707107 -v -0.382684 0.846719 -0.653281 -v -0.707107 1.000000 -0.500000 -v 0.707106 0.792894 -0.000000 -v 0.382683 0.576121 -0.000000 -v -0.000000 0.500001 -0.000000 -v -0.382684 0.576121 -0.000000 -v -0.707107 0.792894 -0.000000 -v 0.707106 1.000000 0.500000 -v 0.382683 0.846719 0.653281 -v -0.000000 0.792893 0.707107 -v -0.382684 0.846719 0.653281 -v -0.707107 1.000000 0.500000 -v 0.707106 1.500000 0.707107 -v 0.382683 1.500000 0.923879 -v -0.000000 1.500000 1.000000 -v -0.382684 1.500000 0.923879 -v -0.707107 1.500000 0.707107 -v 0.707106 2.000000 0.500000 -v 0.382683 2.153281 0.653281 -v -0.000001 2.207107 0.707107 -v -0.382684 2.153281 0.653281 -v -0.707107 2.000000 0.500000 -vt 0.589205 0.570129 -vt 0.537513 0.535589 -vt 0.559924 0.422922 -vt 0.897932 0.155115 -vt 0.943209 0.155115 -vt 0.943209 0.166719 -vt 0.943209 0.206379 -vt 0.897932 0.206379 -vt 0.897932 0.194775 -vt 0.105201 0.410793 -vt 0.241650 0.501966 -vt 0.014028 0.547243 -vt 0.574727 0.365411 -vt 0.525385 0.291565 -vt 0.616557 0.155115 -vt 0.601856 0.880859 -vt 0.601856 0.869255 -vt 0.647133 0.869255 -vt 0.916064 0.864137 -vt 0.916064 0.875741 -vt 0.870787 0.875741 -vt 0.105201 0.155115 -vt 0.241650 0.246288 -vt 0.014028 0.291565 -vt 0.360879 0.382738 -vt 0.269706 0.246288 -vt 0.406156 0.155115 -vt 0.350122 0.445333 -vt 0.462789 0.422922 -vt 0.485200 0.535589 -vt 0.787808 0.042971 -vt 0.657853 0.042971 -vt 0.693703 0.015316 -vt 0.787808 0.071027 -vt 0.785836 0.099970 -vt 0.693703 0.098682 -vt 0.975417 0.946312 -vt 0.845462 0.946312 -vt 0.881311 0.918657 -vt 0.364637 0.841199 -vt 0.364637 0.829595 -vt 0.494592 0.829595 -vt 0.624808 0.985972 -vt 0.494853 0.985972 -vt 0.530702 0.958317 -vt 0.399665 0.626770 -vt 0.399661 0.638374 -vt 0.269706 0.638329 -vt 0.842731 0.824477 -vt 0.840759 0.853420 -vt 0.748626 0.852132 -vt 0.520818 0.626812 -vt 0.520814 0.638416 -vt 0.428672 0.638384 -vt 0.523602 0.829595 -vt 0.615745 0.829595 -vt 0.615745 0.841199 -vt 0.678829 0.638416 -vt 0.548874 0.638416 -vt 0.584723 0.610761 -vt 0.945819 0.014028 -vt 0.943847 0.042971 -vt 0.851714 0.041683 -vt 0.945819 0.071027 -vt 0.943847 0.099970 -vt 0.851714 0.098682 -vt 0.523602 0.841199 -vt 0.494592 0.841199 -vt 0.523603 0.789935 -vt 0.615745 0.789935 -vt 0.615745 0.801539 -vt 0.364637 0.801539 -vt 0.364637 0.789935 -vt 0.494592 0.789935 -vt 0.494596 0.750233 -vt 0.494592 0.761837 -vt 0.364637 0.761792 -vt 0.615749 0.750275 -vt 0.615745 0.761879 -vt 0.523602 0.761847 -vt 0.428676 0.626780 -vt 0.523606 0.750243 -vt 0.523603 0.801539 -vt 0.494592 0.801539 -vt 0.589206 0.410793 -vt 0.620899 0.410793 -vt 0.650181 0.422922 -vt 0.672592 0.445333 -vt 0.684720 0.474614 -vt 0.684720 0.506308 -vt 0.672591 0.535590 -vt 0.650180 0.558000 -vt 0.620899 0.570129 -vt 0.559924 0.558000 -vt 0.525385 0.506308 -vt 0.525385 0.474614 -vt 0.537513 0.445333 -vt 0.897932 0.166719 -vt 0.943209 0.194775 -vt 0.150478 0.638416 -vt 0.105201 0.638416 -vt 0.063370 0.621089 -vt 0.031355 0.589073 -vt 0.014028 0.501966 -vt 0.031355 0.460136 -vt 0.063370 0.428120 -vt 0.150478 0.410793 -vt 0.192308 0.428120 -vt 0.224324 0.460136 -vt 0.241650 0.547243 -vt 0.224324 0.589074 -vt 0.192308 0.621089 -vt 0.661834 0.155115 -vt 0.703665 0.172442 -vt 0.735680 0.204457 -vt 0.753007 0.246288 -vt 0.753007 0.291565 -vt 0.735680 0.333395 -vt 0.703665 0.365411 -vt 0.661834 0.382738 -vt 0.616557 0.382738 -vt 0.542711 0.333395 -vt 0.525385 0.246288 -vt 0.542711 0.204457 -vt 0.574727 0.172442 -vt 0.647133 0.880859 -vt 0.870787 0.864137 -vt 0.150478 0.382738 -vt 0.105201 0.382738 -vt 0.063370 0.365411 -vt 0.031355 0.333395 -vt 0.014028 0.246288 -vt 0.031355 0.204458 -vt 0.063370 0.172442 -vt 0.150478 0.155115 -vt 0.192308 0.172442 -vt 0.224324 0.204457 -vt 0.241650 0.291565 -vt 0.224324 0.333395 -vt 0.192308 0.365411 -vt 0.447986 0.172442 -vt 0.480002 0.204457 -vt 0.497329 0.246288 -vt 0.497329 0.291565 -vt 0.480002 0.333395 -vt 0.447986 0.365411 -vt 0.406156 0.382738 -vt 0.319049 0.365411 -vt 0.287033 0.333395 -vt 0.269706 0.291565 -vt 0.287033 0.204458 -vt 0.319049 0.172442 -vt 0.360879 0.155115 -vt 0.462789 0.558000 -vt 0.433508 0.570129 -vt 0.401814 0.570129 -vt 0.372533 0.558000 -vt 0.350122 0.535589 -vt 0.337993 0.506308 -vt 0.337993 0.474614 -vt 0.372533 0.422922 -vt 0.401814 0.410793 -vt 0.433508 0.410793 -vt 0.485200 0.445333 -vt 0.497329 0.474614 -vt 0.497329 0.506308 -vt 0.785836 0.014028 -vt 0.657853 0.071027 -vt 0.973445 0.917369 -vt 0.622836 0.957029 -vt 0.269710 0.626725 -vt 0.712776 0.824477 -vt 0.676857 0.609473 -vt 0.815864 0.014028 -vt 0.815864 0.071027 -vt 0.364641 0.750188 -vt 0.167969 0.666472 -vt 0.167969 0.678076 -vt 0.129484 0.678076 -vt 0.090999 0.678076 -vt 0.090999 0.666472 -vt 0.052513 0.678076 -vt 0.052513 0.666472 -vt 0.014028 0.678076 -vt 0.014028 0.666472 -vt 0.629794 0.666472 -vt 0.629794 0.678076 -vt 0.591308 0.678076 -vt 0.552823 0.678076 -vt 0.552823 0.666472 -vt 0.514338 0.678076 -vt 0.475852 0.678076 -vt 0.475852 0.666472 -vt 0.437367 0.678076 -vt 0.437367 0.666472 -vt 0.398881 0.678076 -vt 0.360396 0.678076 -vt 0.360396 0.666472 -vt 0.321910 0.678076 -vt 0.321910 0.666472 -vt 0.283425 0.678076 -vt 0.283425 0.666472 -vt 0.244940 0.678076 -vt 0.206454 0.666472 -vt 0.206454 0.678076 -vt 0.244940 0.666472 -vt 0.167969 0.126901 -vt 0.129483 0.126888 -vt 0.129487 0.115284 -vt 0.090998 0.126875 -vt 0.091002 0.115271 -vt 0.052513 0.126861 -vt 0.052517 0.115257 -vt 0.014028 0.126848 -vt 0.629793 0.127059 -vt 0.591308 0.127046 -vt 0.591312 0.115442 -vt 0.552822 0.127033 -vt 0.552826 0.115429 -vt 0.514337 0.127020 -vt 0.514341 0.115416 -vt 0.475851 0.127007 -vt 0.475855 0.115403 -vt 0.437366 0.126994 -vt 0.437370 0.115389 -vt 0.398881 0.126980 -vt 0.398885 0.115376 -vt 0.360395 0.126967 -vt 0.321910 0.126954 -vt 0.321914 0.115350 -vt 0.283425 0.126941 -vt 0.283429 0.115337 -vt 0.244939 0.126927 -vt 0.206458 0.115310 -vt 0.206454 0.126914 -vt 0.244943 0.115323 -vt 0.421520 0.957030 -vt 0.466797 0.957030 -vt 0.466797 0.968634 -vt 0.871616 0.373560 -vt 0.826340 0.373560 -vt 0.826340 0.361956 -vt 0.781063 0.373560 -vt 0.781063 0.361956 -vt 0.455191 0.880859 -vt 0.409914 0.880859 -vt 0.409914 0.869255 -vt 0.364637 0.880859 -vt 0.364637 0.869255 -vt 0.014028 0.957029 -vt 0.059305 0.957029 -vt 0.059305 0.968633 -vt 0.104582 0.957029 -vt 0.104582 0.968633 -vt 0.149858 0.957029 -vt 0.195135 0.957029 -vt 0.195135 0.968633 -vt 0.240412 0.957029 -vt 0.240412 0.968633 -vt 0.285689 0.957029 -vt 0.285689 0.968633 -vt 0.330966 0.957029 -vt 0.376243 0.957029 -vt 0.421520 0.968634 -vt 0.330966 0.968634 -vt 0.772129 0.917369 -vt 0.817406 0.917369 -vt 0.817406 0.928973 -vt 0.573800 0.880859 -vt 0.528523 0.880859 -vt 0.528523 0.869255 -vt 0.483246 0.880859 -vt 0.483246 0.869255 -vt 0.961341 0.836081 -vt 0.916064 0.836081 -vt 0.916064 0.824477 -vt 0.870787 0.836081 -vt 0.870787 0.824477 -vt 0.364637 0.928973 -vt 0.364637 0.917369 -vt 0.409914 0.917369 -vt 0.455191 0.917369 -vt 0.455191 0.928973 -vt 0.500467 0.917369 -vt 0.500467 0.928973 -vt 0.545744 0.917369 -vt 0.545744 0.928973 -vt 0.591021 0.917369 -vt 0.591021 0.928973 -vt 0.636298 0.917369 -vt 0.636298 0.928973 -vt 0.681575 0.917369 -vt 0.681575 0.928973 -vt 0.726852 0.917369 -vt 0.772129 0.928973 -vt 0.164597 0.057593 -vt 0.132903 0.057583 -vt 0.132918 0.014067 -vt 0.126111 0.057580 -vt 0.094418 0.057569 -vt 0.094433 0.014054 -vt 0.087626 0.057567 -vt 0.055933 0.057556 -vt 0.055947 0.014041 -vt 0.049141 0.057554 -vt 0.017447 0.057543 -vt 0.017462 0.014028 -vt 0.626436 0.014236 -vt 0.626421 0.057751 -vt 0.594727 0.057740 -vt 0.587936 0.057738 -vt 0.556242 0.057727 -vt 0.556257 0.014212 -vt 0.549450 0.057725 -vt 0.517756 0.057714 -vt 0.517771 0.014199 -vt 0.510965 0.057712 -vt 0.479271 0.057701 -vt 0.479286 0.014186 -vt 0.472494 0.014183 -vt 0.472479 0.057699 -vt 0.440786 0.057688 -vt 0.434009 0.014170 -vt 0.433994 0.057686 -vt 0.402300 0.057675 -vt 0.395524 0.014157 -vt 0.395509 0.057672 -vt 0.363815 0.057662 -vt 0.357023 0.057659 -vt 0.325329 0.057648 -vt 0.325344 0.014133 -vt 0.318538 0.057646 -vt 0.286844 0.057635 -vt 0.286859 0.014120 -vt 0.280053 0.057633 -vt 0.248359 0.057622 -vt 0.248374 0.014107 -vt 0.203082 0.057607 -vt 0.171388 0.057596 -vt 0.171403 0.014081 -vt 0.241567 0.057620 -vt 0.209873 0.057609 -vt 0.209888 0.014094 -vt 0.360399 0.115363 -vt 0.014032 0.115244 -vt 0.167973 0.115297 -vt 0.357000 0.722132 -vt 0.286821 0.722132 -vt 0.248335 0.722132 -vt 0.209850 0.722132 -vt 0.171365 0.722132 -vt 0.132880 0.722132 -vt 0.094394 0.722132 -vt 0.055909 0.722132 -vt 0.017424 0.722132 -vt 0.626398 0.722133 -vt 0.587913 0.722133 -vt 0.549427 0.722132 -vt 0.510942 0.722132 -vt 0.472456 0.722132 -vt 0.433971 0.722132 -vt 0.395485 0.722132 -vt 0.336581 0.839581 -vt 0.247767 0.839581 -vt 0.251147 0.794430 -vt 0.323575 0.928973 -vt 0.260774 0.928973 -vt 0.251147 0.884731 -vt 0.333201 0.794430 -vt 0.260774 0.750188 -vt 0.333201 0.884731 -vt 0.918460 0.707029 -vt 0.829646 0.707029 -vt 0.833026 0.661878 -vt 0.905453 0.796421 -vt 0.842652 0.796421 -vt 0.833026 0.752179 -vt 0.915079 0.661878 -vt 0.842652 0.617636 -vt 0.915079 0.752179 -vt 0.089835 0.750188 -vt 0.099461 0.794430 -vt 0.017408 0.794430 -vt 0.099461 0.884731 -vt 0.017408 0.884731 -vt 0.014028 0.839581 -vt 0.102842 0.839581 -vt 0.089835 0.928973 -vt 0.027034 0.928973 -vt 0.798208 0.545339 -vt 0.716155 0.545336 -vt 0.712776 0.500185 -vt 0.801590 0.500188 -vt 0.716158 0.455035 -vt 0.788580 0.589580 -vt 0.725779 0.589578 -vt 0.788587 0.410796 -vt 0.798211 0.455038 -vt 0.801590 0.707029 -vt 0.712776 0.707029 -vt 0.716156 0.661878 -vt 0.788583 0.796421 -vt 0.725782 0.796421 -vt 0.716156 0.752179 -vt 0.788584 0.617636 -vt 0.798210 0.661878 -vt 0.798209 0.752179 -vt 0.905453 0.589578 -vt 0.842652 0.589578 -vt 0.833026 0.545336 -vt 0.915079 0.455035 -vt 0.833026 0.455035 -vt 0.842652 0.410793 -vt 0.918460 0.500186 -vt 0.915079 0.545336 -vt 0.829646 0.500186 -vt 0.866496 0.199357 -vt 0.784443 0.199357 -vt 0.794069 0.155115 -vt 0.869877 0.244508 -vt 0.866496 0.289658 -vt 0.784443 0.289658 -vt 0.781063 0.244507 -vt 0.856870 0.333900 -vt 0.794069 0.333900 -vt 0.216331 0.794430 -vt 0.219711 0.839581 -vt 0.130898 0.839581 -vt 0.206705 0.928973 -vt 0.143904 0.928973 -vt 0.134278 0.884731 -vt 0.134278 0.794430 -vt 0.143904 0.750188 -vt 0.216331 0.884731 -vt 0.129484 0.666472 -vt 0.591308 0.666472 -vt 0.514338 0.666472 -vt 0.398881 0.666472 -vt 0.629797 0.115455 -vt 0.871616 0.361956 -vt 0.455191 0.869255 -vt 0.014028 0.968633 -vt 0.149858 0.968633 -vt 0.376243 0.968634 -vt 0.573800 0.869255 -vt 0.961341 0.824477 -vt 0.409914 0.928973 -vt 0.726852 0.928973 -vt 0.164612 0.014078 -vt 0.126126 0.014065 -vt 0.087641 0.014052 -vt 0.049156 0.014039 -vt 0.594742 0.014225 -vt 0.587951 0.014223 -vt 0.549465 0.014210 -vt 0.510980 0.014196 -vt 0.440801 0.014172 -vt 0.402315 0.014159 -vt 0.363830 0.014146 -vt 0.357038 0.014144 -vt 0.318553 0.014131 -vt 0.280067 0.014118 -vt 0.203097 0.014091 -vt 0.241582 0.014104 -vt 0.325306 0.722132 -vt 0.318515 0.722132 -vt 0.280029 0.722132 -vt 0.241544 0.722132 -vt 0.203059 0.722132 -vt 0.164573 0.722132 -vt 0.126088 0.722132 -vt 0.087603 0.722132 -vt 0.049117 0.722132 -vt 0.594704 0.722133 -vt 0.556219 0.722133 -vt 0.517733 0.722132 -vt 0.479248 0.722132 -vt 0.440762 0.722132 -vt 0.402277 0.722132 -vt 0.363792 0.722132 -vt 0.323575 0.750188 -vt 0.905453 0.617636 -vt 0.027034 0.750188 -vt 0.725786 0.410793 -vt 0.725783 0.617636 -vt 0.905453 0.410793 -vt 0.856870 0.155115 -vt 0.206705 0.750188 -vn -1.000000 -0.000000 0.000000 -vn 0.000000 -0.555600 -0.831500 -vn 0.000000 -0.555600 0.831500 -vn 1.000000 0.000000 0.000000 -vn 0.000000 0.068000 -0.997700 -vn 0.000000 0.068000 0.997700 -vn 0.000000 -0.054000 -0.998500 -vn 0.000000 -0.054000 0.998500 -vn 0.000000 -1.000000 0.000000 -vn 0.000000 0.000000 -1.000000 -vn 0.196300 0.000000 -0.980500 -vn 0.196300 -0.375200 -0.905900 -vn 0.196300 -0.693300 -0.693300 -vn 0.000000 -0.707100 -0.707100 -vn 0.196300 -0.905900 -0.375200 -vn 0.000000 -0.923900 -0.382700 -vn 0.196300 -0.980500 0.000000 -vn 0.196300 -0.905900 0.375200 -vn 0.196300 -0.693300 0.693300 -vn 0.000000 -0.707100 0.707100 -vn 0.196300 -0.375200 0.905900 -vn 0.196300 0.000000 0.980500 -vn 0.000000 0.000000 1.000000 -vn 0.196300 0.375200 0.905900 -vn 0.000000 0.382700 0.923900 -vn 0.196300 0.693300 0.693300 -vn 0.196300 0.905900 0.375200 -vn 0.000000 0.923900 0.382700 -vn 0.196300 0.980500 0.000000 -vn 0.000000 1.000000 0.000000 -vn 0.196300 0.905900 -0.375200 -vn 0.000000 0.923900 -0.382700 -vn 0.196300 0.693300 -0.693300 -vn 0.000000 0.382700 -0.923900 -vn 0.196300 0.375200 -0.905900 -vn 0.000000 0.707100 -0.707100 -vn 0.000000 -0.382700 -0.923900 -vn -0.149500 -0.378400 -0.913500 -vn -0.149500 -0.699100 -0.699100 -vn -0.149500 -0.913500 -0.378400 -vn 0.000000 -0.923900 0.382700 -vn -0.149500 -0.913500 0.378400 -vn -0.149500 -0.699100 0.699100 -vn 0.000000 -0.382700 0.923900 -vn -0.149500 -0.378400 0.913500 -vn -0.149500 0.000000 0.988700 -vn -0.149500 0.378400 0.913500 -vn 0.000000 0.707100 0.707100 -vn -0.149500 0.699100 0.699100 -vn -0.149600 0.988700 0.000000 -vn -0.149600 0.913500 -0.378400 -vn -0.149500 0.378400 -0.913500 -vn -0.149600 0.699100 -0.699100 -vn 0.665700 0.000000 -0.746200 -vn 0.599900 -0.188900 -0.777400 -vn -0.599900 -0.188900 -0.777400 -vn 0.913000 -0.393800 -0.106200 -vn 0.665700 -0.689400 -0.285500 -vn -0.665700 -0.689400 -0.285500 -vn 0.665700 -0.746200 0.000000 -vn -0.665700 -0.746200 0.000000 -vn 0.665700 -0.689400 0.285500 -vn -0.665700 -0.689400 0.285500 -vn 0.913000 -0.393800 0.106200 -vn -0.913000 -0.393800 0.106200 -vn 0.599900 -0.188900 0.777400 -vn 0.665700 0.000000 0.746200 -vn -0.665700 0.000000 0.746200 -vn 0.665700 0.285500 0.689400 -vn -0.665700 0.285500 0.689400 -vn 0.665700 0.527600 0.527600 -vn 0.665700 0.689400 0.285500 -vn -0.665700 0.689400 0.285500 -vn 0.665700 0.746200 0.000000 -vn -0.665700 0.746200 0.000000 -vn 0.665700 0.689400 -0.285500 -vn -0.665700 0.689400 -0.285500 -vn 0.665700 0.527600 -0.527600 -vn 0.665700 0.285500 -0.689400 -vn -0.665700 0.000000 -0.746200 -vn -0.665700 0.527600 -0.527600 -vn -0.599900 -0.188900 0.777400 -vn -0.665700 0.527600 0.527600 -vn -0.155200 0.000000 -0.987900 -vn -0.155200 -0.378000 -0.912700 -vn -0.665700 -0.285500 -0.689400 -vn -0.155200 -0.698500 -0.698500 -vn -0.665700 -0.527600 -0.527600 -vn -0.155200 -0.912700 -0.378000 -vn -0.155200 -0.987900 0.000000 -vn -0.155200 -0.912700 0.378000 -vn -0.155200 -0.698500 0.698500 -vn -0.665700 -0.527600 0.527600 -vn -0.155200 -0.378000 0.912700 -vn -0.665700 -0.285500 0.689400 -vn -0.155200 0.000000 0.987900 -vn -0.155200 0.378000 0.912700 -vn -0.155200 0.698500 0.698500 -vn -0.155200 0.912700 0.378000 -vn -0.155200 0.987900 0.000000 -vn -0.155200 0.912700 -0.378000 -vn -0.155200 0.698500 -0.698500 -vn -0.155200 0.378000 -0.912700 -vn -0.665700 0.285500 -0.689400 -vn -0.149600 0.913500 0.378400 -vn -0.149500 -0.988700 0.000000 -vn -0.149500 0.000000 -0.988700 -vn 0.803800 0.549600 0.227600 -vn 0.803800 0.549600 -0.227600 -vn 0.803800 0.420600 -0.420600 -vn 0.803800 0.227600 -0.549600 -vn 0.803800 0.000000 -0.594900 -vn 0.803800 -0.227600 -0.549600 -vn 0.803800 -0.420600 -0.420600 -vn 0.803800 -0.549600 -0.227600 -vn 0.803800 -0.594900 0.000000 -vn 0.803800 -0.549600 0.227600 -vn 0.803800 -0.420600 0.420600 -vn 0.803800 -0.227600 0.549600 -vn 0.803800 0.000000 0.594900 -vn 0.803800 0.227600 0.549600 -vn 0.803800 0.420600 0.420600 -vn -0.366800 0.657800 -0.657800 -vn 0.555600 0.831400 0.000000 -vn 0.555600 0.587900 -0.587900 -vn 0.366800 0.657800 -0.657800 -vn -0.366800 0.930300 0.000000 -vn -0.555600 0.587900 -0.587900 -vn 0.366800 0.930300 0.000000 -vn -0.366800 0.000000 -0.930300 -vn 0.555600 0.000000 -0.831400 -vn 0.366800 0.000000 -0.930300 -vn -0.555600 0.000000 -0.831400 -vn -0.366800 -0.657800 -0.657800 -vn 0.366800 -0.657800 -0.657800 -vn 0.555600 -0.587900 -0.587900 -vn 0.366800 -0.930300 0.000000 -vn -0.366800 -0.930300 0.000000 -vn 0.555600 -0.831400 0.000000 -vn -0.555600 -0.587900 -0.587900 -vn -0.366800 -0.657800 0.657800 -vn 0.555600 -0.587900 0.587900 -vn 0.366800 -0.657800 0.657800 -vn -0.555600 -0.831400 0.000000 -vn 0.555600 0.000000 0.831400 -vn 0.366800 0.000000 0.930300 -vn -0.366800 0.000000 0.930300 -vn -0.555600 0.000000 0.831400 -vn -0.366800 0.657800 0.657800 -vn -0.555600 0.587900 0.587900 -vn 0.366800 0.657800 0.657800 -vn 0.555600 0.587900 0.587900 -vn -0.555600 0.831400 0.000000 -vn -0.913000 -0.393800 -0.106200 -vn 0.803800 0.594900 0.000000 -vn -0.555600 -0.587900 0.587900 -s off -f 83/1/1 87/2/1 95/3/1 -f 100/4/2 102/5/2 101/6/2 -f 110/7/3 112/8/3 111/9/3 -f 118/10/4 110/11/4 126/12/4 -f 115/13/1 119/14/1 127/15/1 -f 131/16/2 132/17/2 134/18/2 -f 141/19/3 142/20/3 144/21/3 -f 150/22/4 142/23/4 158/24/4 -f 143/25/1 151/26/1 159/27/1 -f 86/28/4 78/29/4 70/30/4 -f 163/31/4 132/32/4 134/33/4 -f 168/34/4 167/35/4 142/36/4 -f 173/37/1 111/38/1 109/39/1 -f 131/40/5 132/41/5 163/42/5 -f 165/43/1 143/44/1 141/45/1 -f 165/46/6 168/47/6 144/48/6 -f 162/49/1 161/50/1 133/51/1 -f 141/52/7 142/53/7 167/54/7 -f 164/55/8 134/56/8 133/57/8 -f 171/58/4 100/59/4 102/60/4 -f 176/61/4 175/62/4 110/63/4 -f 170/64/1 169/65/1 101/66/1 -f 164/55/9 161/67/9 162/68/9 -f 172/69/8 102/70/8 101/71/8 -f 99/72/5 100/73/5 171/74/5 -f 173/75/6 176/76/6 112/77/6 -f 109/78/7 110/79/7 175/80/7 -f 168/47/9 165/46/9 166/81/9 -f 176/76/9 173/75/9 174/82/9 -f 172/69/9 169/83/9 170/84/9 -f 95/3/1 65/85/1 67/86/1 -f 67/86/1 69/87/1 71/88/1 -f 71/88/1 73/89/1 75/90/1 -f 75/90/1 77/91/1 71/88/1 -f 79/92/1 81/93/1 83/1/1 -f 83/1/1 85/94/1 87/2/1 -f 87/2/1 89/95/1 91/96/1 -f 91/96/1 93/97/1 87/2/1 -f 95/3/1 67/86/1 79/92/1 -f 71/88/1 77/91/1 79/92/1 -f 79/92/1 83/1/1 95/3/1 -f 87/2/1 93/97/1 95/3/1 -f 67/86/1 71/88/1 79/92/1 -f 99/98/2 100/4/2 101/6/2 -f 109/99/3 110/7/3 111/9/3 -f 102/100/4 100/101/4 98/102/4 -f 98/102/4 128/103/4 126/12/4 -f 126/12/4 124/104/4 118/10/4 -f 122/105/4 120/106/4 118/10/4 -f 118/10/4 116/107/4 110/11/4 -f 114/108/4 112/109/4 110/11/4 -f 110/11/4 108/110/4 106/111/4 -f 106/111/4 104/112/4 110/11/4 -f 102/100/4 98/102/4 126/12/4 -f 124/104/4 122/105/4 118/10/4 -f 116/107/4 114/108/4 110/11/4 -f 110/11/4 104/112/4 102/100/4 -f 102/100/4 126/12/4 110/11/4 -f 127/15/1 97/113/1 99/114/1 -f 99/114/1 101/115/1 103/116/1 -f 103/116/1 105/117/1 107/118/1 -f 107/118/1 109/119/1 111/120/1 -f 111/120/1 113/121/1 115/13/1 -f 115/13/1 117/122/1 119/14/1 -f 119/14/1 121/123/1 123/124/1 -f 123/124/1 125/125/1 127/15/1 -f 127/15/1 99/114/1 103/116/1 -f 103/116/1 107/118/1 111/120/1 -f 111/120/1 115/13/1 127/15/1 -f 119/14/1 123/124/1 127/15/1 -f 127/15/1 103/116/1 111/120/1 -f 133/126/2 131/16/2 134/18/2 -f 143/127/3 141/19/3 144/21/3 -f 134/128/4 132/129/4 130/130/4 -f 130/130/4 160/131/4 158/24/4 -f 158/24/4 156/132/4 150/22/4 -f 154/133/4 152/134/4 150/22/4 -f 150/22/4 148/135/4 142/23/4 -f 146/136/4 144/137/4 142/23/4 -f 142/23/4 140/138/4 138/139/4 -f 138/139/4 136/140/4 142/23/4 -f 134/128/4 130/130/4 158/24/4 -f 156/132/4 154/133/4 150/22/4 -f 148/135/4 146/136/4 142/23/4 -f 142/23/4 136/140/4 134/128/4 -f 134/128/4 158/24/4 142/23/4 -f 159/27/1 129/141/1 131/142/1 -f 131/142/1 133/143/1 159/27/1 -f 135/144/1 137/145/1 139/146/1 -f 139/146/1 141/147/1 135/144/1 -f 143/25/1 145/148/1 147/149/1 -f 147/149/1 149/150/1 151/26/1 -f 151/26/1 153/151/1 155/152/1 -f 155/152/1 157/153/1 159/27/1 -f 159/27/1 133/143/1 135/144/1 -f 135/144/1 141/147/1 143/25/1 -f 143/25/1 147/149/1 151/26/1 -f 151/26/1 155/152/1 159/27/1 -f 159/27/1 135/144/1 143/25/1 -f 70/30/4 68/154/4 66/155/4 -f 66/155/4 96/156/4 94/157/4 -f 94/157/4 92/158/4 90/159/4 -f 90/159/4 88/160/4 86/28/4 -f 86/28/4 84/161/4 78/29/4 -f 82/162/4 80/163/4 78/29/4 -f 78/29/4 76/164/4 70/30/4 -f 74/165/4 72/166/4 70/30/4 -f 70/30/4 66/155/4 94/157/4 -f 94/157/4 90/159/4 70/30/4 -f 84/161/4 82/162/4 78/29/4 -f 76/164/4 74/165/4 70/30/4 -f 70/30/4 90/159/4 86/28/4 -f 164/167/4 163/31/4 134/33/4 -f 144/168/4 168/34/4 142/36/4 -f 174/169/1 173/37/1 109/39/1 -f 162/68/5 131/40/5 163/42/5 -f 166/170/1 165/43/1 141/45/1 -f 143/171/6 165/46/6 144/48/6 -f 131/172/1 162/49/1 133/51/1 -f 166/81/7 141/52/7 167/54/7 -f 161/67/8 164/55/8 133/57/8 -f 172/173/4 171/58/4 102/60/4 -f 112/174/4 176/61/4 110/63/4 -f 99/175/1 170/64/1 101/66/1 -f 163/42/9 164/55/9 162/68/9 -f 169/83/8 172/69/8 101/71/8 -f 170/84/5 99/72/5 171/74/5 -f 111/176/6 173/75/6 112/77/6 -f 174/82/7 109/78/7 175/80/7 -f 167/54/9 168/47/9 166/81/9 -f 175/80/9 176/76/9 174/82/9 -f 171/74/9 172/69/9 170/84/9 -s 1 -f 1/177/10 2/178/11 4/179/12 -f 4/179/12 6/180/13 5/181/14 -f 6/180/13 8/182/15 7/183/16 -f 8/182/15 10/184/17 9/185/9 -f 9/186/9 10/187/17 12/188/18 -f 12/188/18 14/189/19 13/190/20 -f 13/190/20 14/189/19 16/191/21 -f 16/191/21 18/192/22 17/193/23 -f 18/192/22 20/194/24 19/195/25 -f 19/195/25 20/194/24 22/196/26 -f 22/196/26 24/197/27 23/198/28 -f 24/197/27 26/199/29 25/200/30 -f 25/200/30 26/199/29 28/201/31 -f 27/202/32 28/201/31 30/203/33 -f 31/204/34 32/205/35 2/178/11 -f 29/206/36 30/203/33 32/205/35 -f 34/207/10 36/208/37 35/209/38 -f 36/208/37 38/210/14 37/211/39 -f 37/211/39 38/210/14 40/212/16 -f 39/213/40 40/212/16 42/214/9 -f 42/215/9 44/216/41 43/217/42 -f 44/216/41 46/218/20 45/219/43 -f 46/218/20 48/220/44 47/221/45 -f 48/220/44 50/222/23 49/223/46 -f 50/222/23 52/224/25 51/225/47 -f 51/225/47 52/224/25 54/226/48 -f 53/227/49 54/226/48 56/228/28 -f 56/228/28 58/229/30 57/230/50 -f 57/230/50 58/229/30 60/231/32 -f 59/232/51 60/231/32 62/233/36 -f 63/234/52 64/235/34 34/207/10 -f 61/236/53 62/233/36 64/235/34 -f 98/237/54 100/238/55 99/239/56 -f 102/240/57 104/241/58 103/242/59 -f 104/241/58 106/243/60 105/244/61 -f 106/245/60 108/246/62 107/247/63 -f 108/246/62 110/248/64 109/249/65 -f 112/250/66 114/251/67 113/252/68 -f 114/251/67 116/253/69 115/254/70 -f 115/254/70 116/253/69 118/255/71 -f 118/255/71 120/256/72 119/257/73 -f 120/256/72 122/258/74 121/259/75 -f 122/258/74 124/260/76 123/261/77 -f 123/261/77 124/260/76 126/262/78 -f 128/263/79 98/237/54 97/264/80 -f 125/265/81 126/262/78 128/263/79 -f 130/266/54 132/267/55 131/268/56 -f 134/269/57 136/270/58 135/271/59 -f 136/270/58 138/272/60 137/273/61 -f 138/274/60 140/275/62 139/276/63 -f 140/275/62 142/277/64 141/278/65 -f 143/279/82 144/280/66 146/281/67 -f 146/281/67 148/282/69 147/283/70 -f 148/282/69 150/284/71 149/285/83 -f 150/284/71 152/286/72 151/287/73 -f 152/286/72 154/288/74 153/289/75 -f 154/288/74 156/290/76 155/291/77 -f 156/290/76 158/292/78 157/293/81 -f 160/294/79 130/266/54 129/295/80 -f 157/293/81 158/292/78 160/294/79 -f 177/296/84 178/297/85 67/298/86 -f 178/299/85 179/300/87 69/301/88 -f 179/302/87 180/303/89 71/304/59 -f 180/305/89 181/306/90 73/307/61 -f 73/308/61 181/309/90 182/310/91 -f 182/311/91 183/312/92 77/313/93 -f 183/314/92 184/315/94 79/316/95 -f 184/317/94 185/318/96 81/319/68 -f 81/320/68 185/321/96 186/322/97 -f 83/323/70 186/324/97 187/325/98 -f 85/326/83 187/327/98 188/328/99 -f 188/329/99 189/330/100 89/331/75 -f 189/332/100 190/333/101 91/334/77 -f 190/335/101 191/336/102 93/337/81 -f 192/338/103 177/339/84 65/340/80 -f 191/341/102 192/342/103 95/343/104 -f 190/335/101 59/232/51 61/236/53 -f 59/232/51 190/333/101 189/332/100 -f 57/230/50 189/330/100 188/329/99 -f 53/227/49 55/344/105 188/328/99 -f 51/225/47 53/227/49 187/325/98 -f 49/223/46 51/225/47 186/322/97 -f 47/221/45 49/223/46 185/318/96 -f 45/219/43 47/221/45 184/315/94 -f 43/217/42 45/219/43 183/312/92 -f 43/217/42 182/310/91 181/309/90 -f 39/213/40 41/345/106 181/306/90 -f 39/213/40 180/303/89 179/302/87 -f 37/211/39 179/300/87 178/299/85 -f 35/209/38 178/297/85 177/296/84 -f 33/346/107 177/339/84 192/338/103 -f 63/234/52 192/342/103 191/341/102 -f 26/199/29 24/197/27 88/347/108 -f 92/348/109 28/201/31 26/199/29 -f 94/349/110 30/203/33 28/201/31 -f 96/350/111 32/205/35 30/203/33 -f 66/351/112 2/178/11 32/205/35 -f 68/352/113 4/179/12 2/178/11 -f 70/353/114 6/180/13 4/179/12 -f 72/354/115 8/182/15 6/180/13 -f 74/355/116 10/184/17 8/182/15 -f 12/188/18 10/187/17 74/356/116 -f 14/189/19 12/188/18 76/357/117 -f 16/191/21 14/189/19 78/358/118 -f 18/192/22 16/191/21 80/359/119 -f 20/194/24 18/192/22 82/360/120 -f 22/196/26 20/194/24 84/361/121 -f 24/197/27 22/196/26 86/362/122 -f 195/363/30 200/364/36 201/365/123 -f 193/366/124 198/367/125 199/368/126 -f 196/369/127 201/365/123 202/370/128 -f 194/371/129 199/368/126 200/364/36 -f 200/372/36 205/373/10 206/374/130 -f 198/375/125 203/376/131 204/377/132 -f 201/378/123 206/374/130 207/379/133 -f 199/380/126 204/377/132 205/373/10 -f 207/381/133 206/382/130 211/383/134 -f 204/384/132 209/385/135 210/386/14 -f 205/387/10 210/386/14 211/383/134 -f 204/384/132 203/388/131 208/389/136 -f 209/390/135 214/391/137 215/392/9 -f 210/393/14 215/392/9 216/394/138 -f 209/390/135 208/395/136 213/396/139 -f 212/397/140 211/398/134 216/394/138 -f 215/399/9 220/400/20 221/401/141 -f 213/402/139 218/403/142 219/404/143 -f 217/405/144 216/406/138 221/401/141 -f 215/399/9 214/407/137 219/404/143 -f 218/408/142 223/409/145 224/410/146 -f 221/411/141 226/412/147 227/413/148 -f 220/414/20 219/415/143 224/410/146 -f 220/414/20 225/416/23 226/412/147 -f 226/417/147 231/418/149 232/419/150 -f 225/420/23 224/421/146 229/422/151 -f 226/417/147 225/420/23 230/423/48 -f 223/424/145 228/425/152 229/422/151 -f 231/426/149 230/427/48 195/428/30 -f 228/429/152 193/430/124 194/431/129 -f 231/426/149 196/432/127 197/433/153 -f 229/434/151 194/431/129 195/428/30 -f 3/435/37 1/177/10 4/179/12 -f 3/435/37 4/179/12 5/181/14 -f 5/181/14 6/180/13 7/183/16 -f 7/183/16 8/182/15 9/185/9 -f 11/436/41 9/186/9 12/188/18 -f 11/436/41 12/188/18 13/190/20 -f 15/437/44 13/190/20 16/191/21 -f 15/437/44 16/191/21 17/193/23 -f 17/193/23 18/192/22 19/195/25 -f 21/438/48 19/195/25 22/196/26 -f 21/438/48 22/196/26 23/198/28 -f 23/198/28 24/197/27 25/200/30 -f 27/202/32 25/200/30 28/201/31 -f 29/206/36 27/202/32 30/203/33 -f 1/177/10 31/204/34 2/178/11 -f 31/204/34 29/206/36 32/205/35 -f 33/346/107 34/207/10 35/209/38 -f 35/209/38 36/208/37 37/211/39 -f 39/213/40 37/211/39 40/212/16 -f 41/345/106 39/213/40 42/214/9 -f 41/439/106 42/215/9 43/217/42 -f 43/217/42 44/216/41 45/219/43 -f 45/219/43 46/218/20 47/221/45 -f 47/221/45 48/220/44 49/223/46 -f 49/223/46 50/222/23 51/225/47 -f 53/227/49 51/225/47 54/226/48 -f 55/344/105 53/227/49 56/228/28 -f 55/344/105 56/228/28 57/230/50 -f 59/232/51 57/230/50 60/231/32 -f 61/236/53 59/232/51 62/233/36 -f 33/346/107 63/234/52 34/207/10 -f 63/234/52 61/236/53 64/235/34 -f 97/264/80 98/237/54 99/239/56 -f 101/440/154 102/240/57 103/242/59 -f 103/242/59 104/241/58 105/244/61 -f 105/441/61 106/245/60 107/247/63 -f 107/247/63 108/246/62 109/249/65 -f 111/442/82 112/250/66 113/252/68 -f 113/252/68 114/251/67 115/254/70 -f 117/443/83 115/254/70 118/255/71 -f 117/443/83 118/255/71 119/257/73 -f 119/257/73 120/256/72 121/259/75 -f 121/259/75 122/258/74 123/261/77 -f 125/265/81 123/261/77 126/262/78 -f 127/444/104 128/263/79 97/264/80 -f 127/444/104 125/265/81 128/263/79 -f 129/295/80 130/266/54 131/268/56 -f 133/445/154 134/269/57 135/271/59 -f 135/271/59 136/270/58 137/273/61 -f 137/446/61 138/274/60 139/276/63 -f 139/276/63 140/275/62 141/278/65 -f 145/447/68 143/279/82 146/281/67 -f 145/447/68 146/281/67 147/283/70 -f 147/283/70 148/282/69 149/285/83 -f 149/285/83 150/284/71 151/287/73 -f 151/287/73 152/286/72 153/289/75 -f 153/289/75 154/288/74 155/291/77 -f 155/291/77 156/290/76 157/293/81 -f 159/448/104 160/294/79 129/295/80 -f 159/448/104 157/293/81 160/294/79 -f 65/449/80 177/296/84 67/298/86 -f 67/450/86 178/299/85 69/301/88 -f 69/451/88 179/302/87 71/304/59 -f 71/452/59 180/305/89 73/307/61 -f 75/453/63 73/308/61 182/310/91 -f 75/454/63 182/311/91 77/313/93 -f 77/455/93 183/314/92 79/316/95 -f 79/456/95 184/317/94 81/319/68 -f 83/457/70 81/320/68 186/322/97 -f 85/458/83 83/323/70 187/325/98 -f 87/459/73 85/326/83 188/328/99 -f 87/460/73 188/329/99 89/331/75 -f 89/461/75 189/332/100 91/334/77 -f 91/462/77 190/335/101 93/337/81 -f 95/463/104 192/338/103 65/340/80 -f 93/464/81 191/341/102 95/343/104 -f 191/336/102 190/335/101 61/236/53 -f 57/230/50 59/232/51 189/332/100 -f 55/344/105 57/230/50 188/329/99 -f 187/327/98 53/227/49 188/328/99 -f 186/324/97 51/225/47 187/325/98 -f 185/321/96 49/223/46 186/322/97 -f 184/317/94 47/221/45 185/318/96 -f 183/314/92 45/219/43 184/315/94 -f 182/311/91 43/217/42 183/312/92 -f 41/439/106 43/217/42 181/309/90 -f 180/305/89 39/213/40 181/306/90 -f 37/211/39 39/213/40 179/302/87 -f 35/209/38 37/211/39 178/299/85 -f 33/346/107 35/209/38 177/296/84 -f 63/234/52 33/346/107 192/338/103 -f 61/236/53 63/234/52 191/341/102 -f 90/465/155 26/199/29 88/347/108 -f 90/466/155 92/348/109 26/199/29 -f 92/467/109 94/349/110 28/201/31 -f 94/468/110 96/350/111 30/203/33 -f 96/469/111 66/351/112 32/205/35 -f 66/470/112 68/352/113 2/178/11 -f 68/471/113 70/353/114 4/179/12 -f 70/472/114 72/354/115 6/180/13 -f 72/473/115 74/355/116 8/182/15 -f 76/474/117 12/188/18 74/356/116 -f 78/475/118 14/189/19 76/357/117 -f 80/476/119 16/191/21 78/358/118 -f 82/477/120 18/192/22 80/359/119 -f 84/478/121 20/194/24 82/360/120 -f 86/479/122 22/196/26 84/361/121 -f 88/480/108 24/197/27 86/362/122 -f 196/369/127 195/363/30 201/365/123 -f 194/371/129 193/366/124 199/368/126 -f 197/481/153 196/369/127 202/370/128 -f 195/363/30 194/371/129 200/364/36 -f 201/378/123 200/372/36 206/374/130 -f 199/380/126 198/375/125 204/377/132 -f 202/482/128 201/378/123 207/379/133 -f 200/372/36 199/380/126 205/373/10 -f 212/483/140 207/381/133 211/383/134 -f 205/387/10 204/384/132 210/386/14 -f 206/382/130 205/387/10 211/383/134 -f 209/385/135 204/384/132 208/389/136 -f 210/393/14 209/390/135 215/392/9 -f 211/398/134 210/393/14 216/394/138 -f 214/391/137 209/390/135 213/396/139 -f 217/484/144 212/397/140 216/394/138 -f 216/406/138 215/399/9 221/401/141 -f 214/407/137 213/402/139 219/404/143 -f 222/485/156 217/405/144 221/401/141 -f 220/400/20 215/399/9 219/404/143 -f 219/415/143 218/408/142 224/410/146 -f 222/486/156 221/411/141 227/413/148 -f 225/416/23 220/414/20 224/410/146 -f 221/411/141 220/414/20 226/412/147 -f 227/487/148 226/417/147 232/419/150 -f 230/423/48 225/420/23 229/422/151 -f 231/418/149 226/417/147 230/423/48 -f 224/421/146 223/424/145 229/422/151 -f 196/432/127 231/426/149 195/428/30 -f 229/434/151 228/429/152 194/431/129 -f 232/488/150 231/426/149 197/433/153 -f 230/427/48 229/434/151 195/428/30 diff --git a/src/main/resources/assets/hbm/models/ams_base.obj b/src/main/resources/assets/hbm/models/ams_base.obj deleted file mode 100644 index e8d049802..000000000 --- a/src/main/resources/assets/hbm/models/ams_base.obj +++ /dev/null @@ -1,344 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'ams_base.blend' -# www.blender.org -o Plane -v -1.500000 0.000000 1.500000 -v 1.500000 0.000000 1.500000 -v -1.500000 0.000000 -1.500000 -v 1.500000 0.000000 -1.500000 -v -1.000000 1.500000 1.000000 -v 1.000000 1.500000 1.000000 -v -1.000000 1.500000 -1.000000 -v 1.000000 1.500000 -1.000000 -v -1.500000 0.343750 0.156250 -v -1.500000 0.656250 0.156250 -v -1.500000 0.343750 -0.156250 -v -1.500000 0.656250 -0.156250 -v 1.500000 0.343750 0.156250 -v 1.500000 0.656250 0.156250 -v 1.500000 0.343750 -0.156250 -v 1.500000 0.656250 -0.156250 -v 0.156250 0.343750 1.500000 -v 0.156250 0.656250 1.500000 -v -0.156250 0.343750 1.500000 -v -0.156250 0.656250 1.500000 -v 0.156250 0.343750 -1.500000 -v 0.156250 0.656250 -1.500000 -v -0.156250 0.343750 -1.500000 -v -0.156250 0.656250 -1.500000 -v -1.000000 2.000000 -1.000000 -v -1.000000 2.000000 1.000000 -v 1.000000 2.000000 1.000000 -v 1.000000 2.000000 -1.000000 -v -0.750000 2.000000 -0.750000 -v -0.750000 2.000000 0.750000 -v 0.750000 2.000000 0.750000 -v 0.750000 2.000000 -0.750000 -v -0.750000 1.750000 -0.750000 -v -0.750000 1.750000 0.750000 -v 0.750000 1.750000 0.750000 -v 0.750000 1.750000 -0.750000 -v -0.750000 3.000000 0.750000 -v -0.750000 3.000000 -0.750000 -v 0.000000 1.750000 -0.600000 -v 0.000000 2.000000 -0.600000 -v 0.229610 1.750000 -0.554328 -v 0.229610 2.000000 -0.554328 -v 0.424264 1.750000 -0.424264 -v 0.424264 2.000000 -0.424264 -v 0.554328 1.750000 -0.229610 -v 0.554328 2.000000 -0.229610 -v 0.600000 1.750000 0.000000 -v 0.600000 2.000000 0.000000 -v 0.554328 1.750000 0.229610 -v 0.554328 2.000000 0.229610 -v 0.424264 1.750000 0.424264 -v 0.424264 2.000000 0.424264 -v 0.229610 1.750000 0.554328 -v 0.229610 2.000000 0.554328 -v 0.000000 1.750000 0.600000 -v 0.000000 2.000000 0.600000 -v -0.229610 1.750000 0.554328 -v -0.229610 2.000000 0.554328 -v -0.424264 1.750000 0.424264 -v -0.424264 2.000000 0.424264 -v -0.554328 1.750000 0.229610 -v -0.554328 2.000000 0.229610 -v -0.600000 1.750000 -0.000000 -v -0.600000 2.000000 -0.000000 -v -0.554328 1.750000 -0.229610 -v -0.554328 2.000000 -0.229610 -v -0.424264 1.750000 -0.424264 -v -0.424264 2.000000 -0.424264 -v -0.229610 1.750000 -0.554328 -v -0.229610 2.000000 -0.554328 -v 0.750000 3.000000 0.750000 -v 0.750000 3.000000 -0.750000 -vt 0.259127 0.259128 -vt 0.544865 0.259127 -vt 0.544865 0.544865 -vt 0.695462 0.306750 -vt 0.743085 0.306750 -vt 0.743085 0.497242 -vt 0.306750 0.108530 -vt 0.497242 0.108530 -vt 0.108530 0.497242 -vt 0.108530 0.306751 -vt 0.497242 0.695462 -vt 0.306751 0.695462 -vt 0.259127 0.544865 -vt 0.695462 0.497242 -vt 0.043049 0.876806 -vt 0.013285 0.876806 -vt 0.013285 0.847042 -vt 0.328787 0.876806 -vt 0.328787 0.906570 -vt 0.043049 0.906570 -vt 0.328787 0.847042 -vt 0.358551 0.847042 -vt 0.358551 0.876806 -vt 0.043049 0.847042 -vt 0.043049 0.817277 -vt 0.328787 0.817277 -vt 0.328787 0.936335 -vt 0.414884 0.876806 -vt 0.385120 0.876806 -vt 0.385120 0.847042 -vt 0.700622 0.876806 -vt 0.700622 0.906570 -vt 0.414884 0.906570 -vt 0.700622 0.847042 -vt 0.730386 0.847042 -vt 0.730386 0.876806 -vt 0.414884 0.847042 -vt 0.414884 0.817277 -vt 0.700622 0.817277 -vt 0.700622 0.936335 -vt 0.060908 0.497242 -vt 0.037096 0.473431 -vt 0.037096 0.330562 -vt 0.060907 0.306751 -vt 0.306750 0.060908 -vt 0.497242 0.060907 -vt 0.497242 0.743085 -vt 0.306751 0.743085 -vt 0.330562 0.037096 -vt 0.330562 0.013285 -vt 0.473431 0.013285 -vt 0.473431 0.037096 -vt 0.473431 0.766897 -vt 0.330562 0.766897 -vt 0.766897 0.330562 -vt 0.766897 0.473431 -vt 0.960146 0.013285 -vt 0.960146 0.156153 -vt 0.817277 0.156153 -vt 0.473431 0.790708 -vt 0.330562 0.790708 -vt 0.790708 0.330562 -vt 0.790708 0.473431 -vt 0.013285 0.473431 -vt 0.013285 0.330562 -vt 0.370051 0.986715 -vt 0.347753 0.986715 -vt 0.347753 0.962904 -vt 0.325455 0.986715 -vt 0.325455 0.962904 -vt 0.303157 0.986715 -vt 0.303157 0.962904 -vt 0.280859 0.986715 -vt 0.280859 0.962904 -vt 0.258561 0.986715 -vt 0.258561 0.962904 -vt 0.236263 0.986715 -vt 0.236263 0.962904 -vt 0.213965 0.986715 -vt 0.213965 0.962904 -vt 0.191668 0.986715 -vt 0.191668 0.962904 -vt 0.169370 0.986715 -vt 0.169370 0.962904 -vt 0.147072 0.986715 -vt 0.147072 0.962904 -vt 0.817277 0.448983 -vt 0.849026 0.460208 -vt 0.817277 0.550007 -vt 0.124774 0.986715 -vt 0.124774 0.962904 -vt 0.817277 0.698391 -vt 0.850952 0.698391 -vt 0.817277 0.793637 -vt 0.102476 0.986715 -vt 0.102476 0.962904 -vt 0.817277 0.576576 -vt 0.850952 0.576576 -vt 0.817277 0.671822 -vt 0.080178 0.986715 -vt 0.080178 0.962904 -vt 0.817277 0.321391 -vt 0.849026 0.332615 -vt 0.817277 0.422414 -vt 0.057880 0.986715 -vt 0.057880 0.962904 -vt 0.817277 0.227623 -vt 0.884476 0.182722 -vt 0.929376 0.249921 -vt 0.035582 0.986715 -vt 0.013285 0.986715 -vt 0.013285 0.962904 -vt 0.035582 0.962904 -vt 0.043049 0.936335 -vt 0.414884 0.936335 -vt 0.817277 0.013285 -vt 0.370050 0.962904 -vt 0.920843 0.270521 -vt 0.862178 0.294821 -vt 0.905076 0.286288 -vt 0.884476 0.294821 -vt 0.841577 0.286288 -vt 0.825810 0.270521 -vt 0.817277 0.249921 -vt 0.825810 0.207022 -vt 0.841577 0.191256 -vt 0.862178 0.182722 -vt 0.905076 0.191256 -vt 0.920843 0.207023 -vt 0.929376 0.227623 -vn 0.000000 -1.000000 0.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 0.316200 -0.948700 -vn -0.948700 0.316200 0.000000 -vn 0.000000 0.316200 0.948700 -vn 0.948700 0.316200 0.000000 -vn -1.000000 0.000000 0.000000 -vn 0.000000 0.000000 -1.000000 -vn 0.000000 0.000000 1.000000 -vn 0.000000 1.000000 0.000000 -vn 0.195100 0.000000 -0.980800 -vn 0.555600 0.000000 -0.831500 -vn 0.831500 0.000000 -0.555600 -vn 0.980800 0.000000 -0.195100 -vn 0.980800 0.000000 0.195100 -vn 0.831500 0.000000 0.555600 -vn 0.555600 0.000000 0.831500 -vn 0.195100 0.000000 0.980800 -vn -0.195100 0.000000 0.980800 -vn -0.555600 0.000000 0.831500 -vn 0.707100 0.000000 -0.707100 -vn -0.831500 0.000000 0.555600 -vn 0.707100 0.000000 0.707100 -vn -0.980800 0.000000 0.195100 -vn -0.980800 0.000000 -0.195100 -vn -0.831500 0.000000 -0.555600 -vn -0.195100 0.000000 -0.980800 -vn -0.555600 0.000000 -0.831500 -s off -f 3/1/1 4/2/1 2/3/1 -f 8/4/2 28/5/2 27/6/2 -f 7/7/3 8/8/3 4/2/3 -f 5/9/4 7/10/4 3/1/4 -f 6/11/5 5/12/5 1/13/5 -f 8/4/6 6/14/6 2/3/6 -f 12/15/7 11/16/7 9/17/7 -f 16/18/8 15/19/8 11/20/8 -f 14/21/2 13/22/2 15/23/2 -f 10/24/9 9/25/9 13/26/9 -f 11/20/1 15/19/1 13/27/1 -f 16/18/10 12/15/10 10/24/10 -f 20/28/9 19/29/9 17/30/9 -f 24/31/7 23/32/7 19/33/7 -f 22/34/8 21/35/8 23/36/8 -f 18/37/2 17/38/2 21/39/2 -f 19/33/1 23/32/1 21/40/1 -f 24/31/10 20/28/10 18/37/10 -f 26/41/10 30/42/10 29/43/10 -f 5/9/7 26/41/7 25/44/7 -f 7/7/8 25/45/8 28/46/8 -f 6/11/9 27/47/9 26/48/9 -f 29/49/9 33/50/9 36/51/9 -f 25/45/10 29/49/10 32/52/10 -f 27/47/10 31/53/10 30/54/10 -f 28/5/10 32/55/10 31/56/10 -f 35/57/10 36/58/10 33/59/10 -f 31/53/8 35/60/8 34/61/8 -f 32/55/7 36/62/7 35/63/7 -f 30/42/2 34/64/2 33/65/2 -f 40/66/11 42/67/11 41/68/11 -f 42/67/12 44/69/12 43/70/12 -f 44/69/13 46/71/13 45/72/13 -f 46/71/14 48/73/14 47/74/14 -f 48/73/15 50/75/15 49/76/15 -f 50/75/16 52/77/16 51/78/16 -f 52/77/17 54/79/17 53/80/17 -f 54/79/18 56/81/18 55/82/18 -f 56/81/19 58/83/19 57/84/19 -f 58/83/20 60/85/20 59/86/20 -f 27/87/21 31/88/21 71/89/21 -f 60/85/22 62/90/22 61/91/22 -f 32/92/23 28/93/23 72/94/23 -f 62/90/24 64/95/24 63/96/24 -f 29/97/21 25/98/21 38/99/21 -f 64/95/25 66/100/25 65/101/25 -f 26/102/23 30/103/23 37/104/23 -f 66/100/26 68/105/26 67/106/26 -f 60/107/10 52/108/10 44/109/10 -f 70/110/27 40/111/27 39/112/27 -f 68/105/28 70/110/28 69/113/28 -f 1/13/1 3/1/1 2/3/1 -f 6/14/2 8/4/2 27/6/2 -f 3/1/3 7/7/3 4/2/3 -f 1/13/4 5/9/4 3/1/4 -f 2/3/5 6/11/5 1/13/5 -f 4/2/6 8/4/6 2/3/6 -f 10/24/7 12/15/7 9/17/7 -f 12/15/8 16/18/8 11/20/8 -f 16/18/2 14/21/2 15/23/2 -f 14/21/9 10/24/9 13/26/9 -f 9/114/1 11/20/1 13/27/1 -f 14/21/10 16/18/10 10/24/10 -f 18/37/9 20/28/9 17/30/9 -f 20/28/7 24/31/7 19/33/7 -f 24/31/8 22/34/8 23/36/8 -f 22/34/2 18/37/2 21/39/2 -f 17/115/1 19/33/1 21/40/1 -f 22/34/10 24/31/10 18/37/10 -f 25/44/10 26/41/10 29/43/10 -f 7/10/7 5/9/7 25/44/7 -f 8/8/8 7/7/8 28/46/8 -f 5/12/9 6/11/9 26/48/9 -f 32/52/9 29/49/9 36/51/9 -f 28/46/10 25/45/10 32/52/10 -f 26/48/10 27/47/10 30/54/10 -f 27/6/10 28/5/10 31/56/10 -f 34/116/10 35/57/10 33/59/10 -f 30/54/8 31/53/8 34/61/8 -f 31/56/7 32/55/7 35/63/7 -f 29/43/2 30/42/2 33/65/2 -f 39/117/11 40/66/11 41/68/11 -f 41/68/12 42/67/12 43/70/12 -f 43/70/13 44/69/13 45/72/13 -f 45/72/14 46/71/14 47/74/14 -f 47/74/15 48/73/15 49/76/15 -f 49/76/16 50/75/16 51/78/16 -f 51/78/17 52/77/17 53/80/17 -f 53/80/18 54/79/18 55/82/18 -f 55/82/19 56/81/19 57/84/19 -f 57/84/20 58/83/20 59/86/20 -f 59/86/22 60/85/22 61/91/22 -f 61/91/24 62/90/24 63/96/24 -f 63/96/25 64/95/25 65/101/25 -f 65/101/26 66/100/26 67/106/26 -f 44/109/10 42/118/10 68/119/10 -f 40/120/10 70/121/10 68/119/10 -f 68/119/10 66/122/10 64/123/10 -f 64/123/10 62/124/10 60/107/10 -f 60/107/10 58/125/10 52/108/10 -f 56/126/10 54/127/10 52/108/10 -f 52/108/10 50/128/10 48/129/10 -f 48/129/10 46/130/10 44/109/10 -f 42/118/10 40/120/10 68/119/10 -f 68/119/10 64/123/10 44/109/10 -f 58/125/10 56/126/10 52/108/10 -f 52/108/10 48/129/10 44/109/10 -f 44/109/10 64/123/10 60/107/10 -f 69/113/27 70/110/27 39/112/27 -f 67/106/28 68/105/28 69/113/28 diff --git a/src/main/resources/assets/hbm/models/ams_emitter.obj b/src/main/resources/assets/hbm/models/ams_emitter.obj deleted file mode 100644 index 0d4aa9ea5..000000000 --- a/src/main/resources/assets/hbm/models/ams_emitter.obj +++ /dev/null @@ -1,1490 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'ams_emitter.blend' -# www.blender.org -o Circle -v 0.000000 5.750000 -2.500000 -v -0.956709 5.750000 -2.309699 -v -1.767767 5.750000 -1.767767 -v -2.309699 5.750000 -0.956709 -v -2.500000 5.750000 0.000000 -v -2.309699 5.750000 0.956709 -v -1.767767 5.750000 1.767767 -v -0.956709 5.750000 2.309699 -v -0.000000 5.750000 2.500000 -v 0.956708 5.750000 2.309699 -v 1.767766 5.750000 1.767768 -v 2.309699 5.750000 0.956709 -v 2.500000 5.750000 -0.000000 -v 2.309699 5.750000 -0.956709 -v 1.767766 5.750000 -1.767768 -v 0.956707 5.750000 -2.309699 -v -0.956709 4.500000 -2.309699 -v 0.000000 4.500000 -2.500000 -v -1.767767 4.500000 -1.767767 -v -2.309699 4.500000 -0.956709 -v -2.500000 4.500000 0.000000 -v -2.309699 4.500000 0.956709 -v -1.767767 4.500000 1.767767 -v -0.956709 4.500000 2.309699 -v -0.000000 4.500000 2.500000 -v 0.956708 4.500000 2.309699 -v 1.767766 4.500000 1.767768 -v 2.309699 4.500000 0.956709 -v 2.500000 4.500000 -0.000000 -v 2.309699 4.500000 -0.956709 -v 1.767766 4.500000 -1.767768 -v 0.956707 4.500000 -2.309699 -v -0.765367 3.500000 -1.847759 -v -0.000000 3.500000 -2.000000 -v -1.414214 3.500000 -1.414213 -v -1.847759 3.500000 -0.765367 -v -2.000000 3.500000 0.000000 -v -1.847759 3.500000 0.765367 -v -1.414214 3.500000 1.414214 -v -0.765367 3.500000 1.847759 -v -0.000000 3.500000 2.000000 -v 0.765366 3.500000 1.847759 -v 1.414213 3.500000 1.414214 -v 1.847759 3.500000 0.765367 -v 2.000000 3.500000 -0.000000 -v 1.847759 3.500000 -0.765367 -v 1.414213 3.500000 -1.414214 -v 0.765366 3.500000 -1.847759 -v -0.765367 1.500000 -1.847759 -v -0.000000 1.500000 -2.000000 -v -1.414214 1.500000 -1.414213 -v -1.847759 1.500000 -0.765367 -v -2.000000 1.500000 0.000000 -v -1.847759 1.500000 0.765367 -v -1.414214 1.500000 1.414214 -v -0.765367 1.500000 1.847759 -v -0.000000 1.500000 2.000000 -v 0.765366 1.500000 1.847759 -v 1.414213 1.500000 1.414214 -v 1.847759 1.500000 0.765367 -v 2.000000 1.500000 -0.000000 -v 1.847759 1.500000 -0.765367 -v 1.414213 1.500000 -1.414214 -v 0.765366 1.500000 -1.847759 -v -0.153073 0.500000 -0.369552 -v 0.000000 0.500000 -0.400000 -v -0.282843 0.500000 -0.282843 -v -0.369552 0.500000 -0.153073 -v -0.400000 0.500000 0.000000 -v -0.369552 0.500000 0.153073 -v -0.282843 0.500000 0.282843 -v -0.153073 0.500000 0.369552 -v -0.000000 0.500000 0.400000 -v 0.153073 0.500000 0.369552 -v 0.282843 0.500000 0.282843 -v 0.369552 0.500000 0.153073 -v 0.400000 0.500000 -0.000000 -v 0.369552 0.500000 -0.153073 -v 0.282843 0.500000 -0.282843 -v 0.153073 0.500000 -0.369552 -v -0.390181 2.000000 -1.961571 -v -1.961570 2.000000 -0.390181 -v -1.961571 2.000000 0.390181 -v -0.390181 2.000000 1.961571 -v 0.390180 2.000000 1.961571 -v 1.961571 2.000000 0.390181 -v 1.961571 2.000000 -0.390181 -v 0.390180 2.000000 -1.961571 -v -0.078036 1.000000 -0.392314 -v -0.392314 1.000000 -0.078036 -v -0.392314 1.000000 0.078036 -v -0.078036 1.000000 0.392314 -v 0.078036 1.000000 0.392314 -v 0.392314 1.000000 0.078036 -v 0.392314 1.000000 -0.078036 -v 0.078036 1.000000 -0.392314 -v -1.961571 1.000000 0.390181 -v -1.961570 1.000000 -0.390181 -v 0.390180 1.000000 1.961571 -v -0.390181 1.000000 1.961571 -v 1.961571 1.000000 -0.390181 -v 1.961571 1.000000 0.390181 -v -0.390181 1.000000 -1.961571 -v 0.390180 1.000000 -1.961571 -v -0.392314 0.000000 0.078036 -v -0.392314 0.000000 -0.078036 -v 0.078036 0.000000 0.392314 -v -0.078036 0.000000 0.392314 -v 0.392314 0.000000 -0.078036 -v 0.392314 0.000000 0.078036 -v -0.078036 0.000000 -0.392314 -v 0.078036 0.000000 -0.392314 -v -2.078674 2.000000 1.388925 -v -1.388925 2.000000 2.078674 -v -0.000000 1.500000 -2.250000 -v -0.000000 2.250000 -2.250000 -v 0.861038 1.500000 -2.078729 -v 0.861038 2.250000 -2.078729 -v 1.590990 1.500000 -1.590990 -v 1.590990 2.250000 -1.590990 -v 2.078729 1.500000 -0.861038 -v 2.078729 2.250000 -0.861038 -v 2.250000 1.500000 0.000000 -v 2.250000 2.250000 0.000000 -v 2.078729 1.500000 0.861038 -v 2.078729 2.250000 0.861038 -v 1.590990 1.500000 1.590990 -v 1.590990 2.250000 1.590990 -v 0.861038 1.500000 2.078729 -v 0.861038 2.250000 2.078729 -v 0.000000 1.500000 2.250000 -v 0.000000 2.250000 2.250000 -v -0.861037 1.500000 2.078729 -v -0.861037 2.250000 2.078729 -v -1.590990 1.500000 1.590991 -v -1.590990 2.250000 1.590991 -v -2.078729 1.500000 0.861038 -v -2.078729 2.250000 0.861038 -v -2.250000 1.500000 -0.000000 -v -2.250000 2.250000 -0.000000 -v -2.078729 1.500000 -0.861038 -v -2.078729 2.250000 -0.861038 -v -1.590990 1.500000 -1.590991 -v -1.590990 2.250000 -1.590991 -v -0.861037 1.500000 -2.078729 -v -0.861037 2.250000 -2.078729 -v 2.078674 2.000000 1.388926 -v 1.388926 2.000000 2.078674 -v 1.388925 2.000000 -2.078675 -v 2.078674 2.000000 -1.388926 -v -2.078675 2.000000 -1.388925 -v -1.388927 2.000000 -2.078673 -v -1.654410 3.500000 0.964661 -v -0.964661 3.500000 1.654410 -v 1.654410 3.500000 0.964662 -v 0.964662 3.500000 1.654410 -v 0.964661 3.500000 -1.654411 -v 1.654410 3.500000 -0.964662 -v -1.654411 3.500000 -0.964661 -v -0.964663 3.500000 -1.654409 -v -1.662939 0.500000 1.111140 -v -1.111140 0.500000 1.662939 -v 1.662939 0.500000 1.111141 -v 1.111140 0.500000 1.662939 -v 1.111140 0.500000 -1.662940 -v 1.662939 0.500000 -1.111141 -v -1.662940 0.500000 -1.111140 -v -1.111142 0.500000 -1.662938 -v -0.076537 0.500000 -0.184776 -v 0.000000 0.500000 -0.200000 -v -0.141421 0.500000 -0.141421 -v -0.184776 0.500000 -0.076537 -v -0.200000 0.500000 0.000000 -v -0.184776 0.500000 0.076537 -v -0.141421 0.500000 0.141421 -v -0.076537 0.500000 0.184776 -v -0.000000 0.500000 0.200000 -v 0.076537 0.500000 0.184776 -v 0.141421 0.500000 0.141421 -v 0.184776 0.500000 0.076537 -v 0.200000 0.500000 0.000000 -v 0.184776 0.500000 -0.076537 -v 0.141421 0.500000 -0.141421 -v 0.076537 0.500000 -0.184776 -v -0.076536 0.000000 -0.184776 -v 0.000000 0.000000 -0.200000 -v -0.141421 0.000000 -0.141421 -v -0.184776 0.000000 -0.076537 -v -0.200000 0.000000 0.000000 -v -0.184776 0.000000 0.076537 -v -0.141421 0.000000 0.141421 -v -0.076536 0.000000 0.184776 -v 0.000000 0.000000 0.200000 -v 0.076537 0.000000 0.184776 -v 0.141422 0.000000 0.141421 -v 0.184776 0.000000 0.076537 -v 0.200000 0.000000 0.000000 -v 0.184776 0.000000 -0.076537 -v 0.141422 0.000000 -0.141421 -v 0.076537 0.000000 -0.184776 -v -0.861038 5.750000 -2.078729 -v -0.000000 5.750000 -2.250000 -v -1.590990 5.750000 -1.590990 -v -2.078729 5.750000 -0.861038 -v -2.250000 5.750000 0.000000 -v -2.078729 5.750000 0.861038 -v -1.590990 5.750000 1.590990 -v -0.861038 5.750000 2.078729 -v -0.000000 5.750000 2.250000 -v 0.861037 5.750000 2.078729 -v 1.590990 5.750000 1.590991 -v 2.078729 5.750000 0.861038 -v 2.250000 5.750000 -0.000000 -v 2.078728 5.750000 -0.861038 -v 1.590990 5.750000 -1.590991 -v 0.861037 5.750000 -2.078729 -v -0.861038 6.000000 -2.078729 -v -0.000000 6.000000 -2.250000 -v -1.590990 6.000000 -1.590990 -v -2.078729 6.000000 -0.861038 -v -2.250000 6.000000 0.000000 -v -2.078729 6.000000 0.861038 -v -1.590990 6.000000 1.590990 -v -0.861038 6.000000 2.078729 -v -0.000000 6.000000 2.250000 -v 0.861037 6.000000 2.078729 -v 1.590990 6.000000 1.590991 -v 2.078729 6.000000 0.861038 -v 2.250000 6.000000 -0.000000 -v 2.078728 6.000000 -0.861038 -v 1.590990 6.000000 -1.590991 -v 0.861037 6.000000 -2.078729 -v -0.000000 6.000000 -1.750000 -v -0.669696 6.000000 -1.616789 -v -1.237437 6.000000 -1.237437 -v -1.616789 6.000000 -0.669696 -v -1.750000 6.000000 0.000000 -v -1.616789 6.000000 0.669696 -v -1.237437 6.000000 1.237437 -v -0.669696 6.000000 1.616789 -v -0.000000 6.000000 1.750000 -v 0.669696 6.000000 1.616789 -v 1.237437 6.000000 1.237437 -v 1.616789 6.000000 0.669696 -v 1.750000 6.000000 -0.000000 -v 1.616789 6.000000 -0.669696 -v 1.237437 6.000000 -1.237437 -v 0.669695 6.000000 -1.616789 -v -0.669696 5.750000 -1.616789 -v -0.000000 5.750000 -1.750000 -v -1.237437 5.750000 -1.237437 -v -1.616789 5.750000 -0.669696 -v -1.750000 5.750000 0.000000 -v -1.616789 5.750000 0.669696 -v -1.237437 5.750000 1.237437 -v -0.669696 5.750000 1.616789 -v -0.000000 5.750000 1.750000 -v 0.669696 5.750000 1.616789 -v 1.237437 5.750000 1.237437 -v 1.616789 5.750000 0.669696 -v 1.750000 5.750000 -0.000000 -v 1.616789 5.750000 -0.669696 -v 1.237437 5.750000 -1.237437 -v 0.669695 5.750000 -1.616789 -v -0.156250 5.750000 0.156250 -v -0.156250 6.000000 0.156250 -v -0.156250 5.750000 -0.156250 -v -0.156250 6.000000 -0.156250 -v 0.156250 5.750000 0.156250 -v 0.156250 6.000000 0.156250 -v 0.156250 5.750000 -0.156250 -v 0.156250 6.000000 -0.156250 -v -0.156250 5.750000 -0.843750 -v -0.156250 6.000000 -0.843750 -v -0.156250 5.750000 -1.156250 -v -0.156250 6.000000 -1.156250 -v 0.156250 5.750000 -0.843750 -v 0.156250 6.000000 -0.843750 -v 0.156250 5.750000 -1.156250 -v 0.156250 6.000000 -1.156250 -v -0.156250 5.750000 1.156250 -v -0.156250 6.000000 1.156250 -v -0.156250 5.750000 0.843750 -v -0.156250 6.000000 0.843750 -v 0.156250 5.750000 1.156250 -v 0.156250 6.000000 1.156250 -v 0.156250 5.750000 0.843750 -v 0.156250 6.000000 0.843750 -v 0.843750 5.750000 0.156250 -v 0.843750 6.000000 0.156250 -v 0.843750 5.750000 -0.156250 -v 0.843750 6.000000 -0.156250 -v 1.156250 5.750000 0.156250 -v 1.156250 6.000000 0.156250 -v 1.156250 5.750000 -0.156250 -v 1.156250 6.000000 -0.156250 -v -1.156250 5.750000 0.156250 -v -1.156250 6.000000 0.156250 -v -1.156250 5.750000 -0.156250 -v -1.156250 6.000000 -0.156250 -v -0.843750 5.750000 0.156250 -v -0.843750 6.000000 0.156250 -v -0.843750 5.750000 -0.156250 -v -0.843750 6.000000 -0.156250 -vt 0.575431 0.309735 -vt 0.573431 0.319789 -vt 0.537435 0.319789 -vt 0.495439 0.258482 -vt 0.455444 0.258482 -vt 0.459443 0.212815 -vt 0.495439 0.309735 -vt 0.535435 0.258482 -vt 0.215469 0.309735 -vt 0.215469 0.258482 -vt 0.255465 0.258482 -vt 0.535435 0.309735 -vt 0.575431 0.258482 -vt 0.255465 0.309735 -vt 0.295461 0.258482 -vt 0.615427 0.258482 -vt 0.295461 0.309735 -vt 0.335456 0.258482 -vt 0.015490 0.309735 -vt 0.015490 0.258482 -vt 0.055486 0.258482 -vt 0.615427 0.309735 -vt 0.655423 0.258482 -vt 0.335456 0.309735 -vt 0.375452 0.258482 -vt 0.055486 0.309735 -vt 0.095482 0.258482 -vt 0.375452 0.309735 -vt 0.415448 0.258482 -vt 0.095482 0.309735 -vt 0.135477 0.258482 -vt 0.415448 0.309735 -vt 0.135477 0.309735 -vt 0.175473 0.258482 -vt 0.455444 0.309735 -vt 0.175473 0.309735 -vt 0.047487 0.181835 -vt 0.047487 0.099830 -vt 0.079483 0.099830 -vt 0.179473 0.212815 -vt 0.499439 0.212815 -vt 0.219469 0.212815 -vt 0.251465 0.212815 -vt 0.539435 0.212815 -vt 0.571431 0.212815 -vt 0.259464 0.212815 -vt 0.291461 0.212815 -vt 0.579431 0.212815 -vt 0.611427 0.212815 -vt 0.299460 0.212815 -vt 0.331457 0.212815 -vt 0.019490 0.212815 -vt 0.051486 0.212815 -vt 0.619426 0.212815 -vt 0.339456 0.212815 -vt 0.371453 0.212815 -vt 0.059485 0.212815 -vt 0.091482 0.212815 -vt 0.379452 0.212815 -vt 0.411448 0.212815 -vt 0.099481 0.212815 -vt 0.131478 0.212815 -vt 0.419448 0.212815 -vt 0.451444 0.212815 -vt 0.139477 0.212815 -vt 0.171474 0.212815 -vt 0.207470 0.099830 -vt 0.220269 0.023533 -vt 0.226668 0.023533 -vt 0.303460 0.181835 -vt 0.303460 0.099830 -vt 0.335456 0.099830 -vt 0.079483 0.181835 -vt 0.111480 0.099830 -vt 0.335456 0.181835 -vt 0.367453 0.099830 -vt 0.111480 0.181835 -vt 0.143477 0.099830 -vt 0.367453 0.181835 -vt 0.399450 0.099830 -vt 0.143477 0.181835 -vt 0.175473 0.099830 -vt 0.431446 0.181835 -vt 0.399450 0.181835 -vt 0.175473 0.181835 -vt 0.431446 0.099830 -vt 0.463443 0.099830 -vt 0.207470 0.181835 -vt 0.239466 0.099830 -vt 0.463443 0.181835 -vt 0.495440 0.099830 -vt 0.239466 0.181835 -vt 0.271463 0.099830 -vt 0.015490 0.181835 -vt 0.015490 0.099830 -vt 0.495440 0.181835 -vt 0.527436 0.099830 -vt 0.271463 0.181835 -vt 0.284262 0.023533 -vt 0.285862 0.015490 -vt 0.289061 0.015490 -vt 0.476242 0.023533 -vt 0.252265 0.023533 -vt 0.258664 0.023533 -vt 0.028289 0.023533 -vt 0.034688 0.023533 -vt 0.508238 0.023533 -vt 0.514638 0.023533 -vt 0.060285 0.023533 -vt 0.066685 0.023533 -vt 0.316258 0.023533 -vt 0.092282 0.023533 -vt 0.098681 0.023533 -vt 0.348255 0.023533 -vt 0.124278 0.023533 -vt 0.130678 0.023533 -vt 0.380252 0.023533 -vt 0.386651 0.023533 -vt 0.156275 0.023533 -vt 0.162675 0.023533 -vt 0.412248 0.023533 -vt 0.188272 0.023533 -vt 0.194671 0.023533 -vt 0.444245 0.023533 -vt 0.450644 0.023533 -vt 0.867211 0.388654 -vt 0.943508 0.401453 -vt 0.943508 0.407852 -vt 0.878671 0.183050 -vt 0.891469 0.106753 -vt 0.897869 0.106753 -vt 0.053376 0.889796 -vt 0.066175 0.813499 -vt 0.072574 0.813499 -vt 0.053376 0.700514 -vt 0.066174 0.624218 -vt 0.072574 0.624218 -vt 0.853583 0.122432 -vt 0.053376 0.741517 -vt 0.085372 0.700514 -vt 0.927828 0.445738 -vt 0.851531 0.458537 -vt 0.867211 0.420651 -vt 0.878671 0.224052 -vt 0.910667 0.183050 -vt 0.935755 0.122432 -vt 0.948553 0.198729 -vt 0.072574 0.772497 -vt 0.028289 0.829178 -vt 0.984510 0.407852 -vt 0.028289 0.639897 -vt 0.066174 0.583215 -vt 0.072574 0.583215 -vt 0.110460 0.829178 -vt 0.123258 0.905475 -vt 0.085373 0.889796 -vt 0.897869 0.065751 -vt 0.053376 0.930798 -vt 0.110460 0.639897 -vt 0.123258 0.716194 -vt 0.927828 0.363567 -vt 0.826209 0.388654 -vt 0.823876 0.878483 -vt 0.787879 0.878483 -vt 0.787879 0.847731 -vt 0.751883 0.878483 -vt 0.751883 0.847731 -vt 0.715887 0.878483 -vt 0.715887 0.847731 -vt 0.679891 0.878483 -vt 0.679891 0.847731 -vt 0.643894 0.878483 -vt 0.643894 0.847731 -vt 0.607898 0.878483 -vt 0.607898 0.847731 -vt 0.571902 0.878483 -vt 0.571902 0.847731 -vt 0.535906 0.878483 -vt 0.535906 0.847731 -vt 0.499910 0.878483 -vt 0.499910 0.847731 -vt 0.463913 0.878483 -vt 0.463913 0.847731 -vt 0.427917 0.878483 -vt 0.427917 0.847731 -vt 0.391921 0.878483 -vt 0.391921 0.847731 -vt 0.355925 0.878483 -vt 0.355925 0.847731 -vt 0.319929 0.878483 -vt 0.319929 0.847731 -vt 0.459881 0.423253 -vt 0.568362 0.350769 -vt 0.640846 0.459249 -vt 0.283932 0.878483 -vt 0.247936 0.878483 -vt 0.247936 0.847731 -vt 0.283932 0.847731 -vt 0.415126 0.492505 -vt 0.287165 0.517959 -vt 0.389673 0.364544 -vt 0.713530 0.415475 -vt 0.753525 0.415475 -vt 0.753525 0.481717 -vt 0.861157 0.677489 -vt 0.861157 0.717485 -vt 0.794915 0.717485 -vt 0.728106 0.196700 -vt 0.728106 0.130458 -vt 0.768102 0.130458 -vt 0.289639 0.627421 -vt 0.329635 0.627421 -vt 0.329635 0.693662 -vt 0.925864 0.681488 -vt 0.925864 0.713485 -vt 0.732105 0.065751 -vt 0.764102 0.065751 -vt 0.293639 0.562714 -vt 0.325636 0.562714 -vt 0.717529 0.350769 -vt 0.749526 0.350769 -vt 0.749526 0.604806 -vt 0.717529 0.604806 -vt 0.671826 0.713485 -vt 0.671826 0.681488 -vt 0.768102 0.196700 -vt 0.764102 0.319789 -vt 0.325636 0.816751 -vt 0.293639 0.816751 -vt 0.910794 0.759188 -vt 0.686403 0.080821 -vt 0.809805 0.080821 -vt 0.289639 0.693662 -vt 0.247936 0.577784 -vt 0.371338 0.577784 -vt 0.713530 0.481717 -vt 0.671826 0.365839 -vt 0.795229 0.365839 -vt 0.794915 0.677489 -vt 0.910794 0.635786 -vt 0.596447 0.665448 -vt 0.596447 0.644947 -vt 0.599646 0.644947 -vt 0.061885 0.015490 -vt 0.065085 0.015490 -vt 0.317858 0.015490 -vt 0.321058 0.015490 -vt 0.093882 0.015490 -vt 0.097081 0.015490 -vt 0.349855 0.015490 -vt 0.353054 0.015490 -vt 0.125878 0.015490 -vt 0.129078 0.015490 -vt 0.381851 0.015490 -vt 0.385051 0.015490 -vt 0.157875 0.015490 -vt 0.161075 0.015490 -vt 0.418648 0.023533 -vt 0.413848 0.015490 -vt 0.189872 0.015490 -vt 0.193071 0.015490 -vt 0.445845 0.015490 -vt 0.221868 0.015490 -vt 0.482641 0.023533 -vt 0.477841 0.015490 -vt 0.253865 0.015490 -vt 0.257065 0.015490 -vt 0.029888 0.015490 -vt 0.509838 0.015490 -vt 0.513038 0.015490 -vt 0.622103 0.113809 -vt 0.613684 0.101210 -vt 0.618903 0.097723 -vt 0.574049 0.665448 -vt 0.574049 0.644947 -vt 0.577249 0.644947 -vt 0.622044 0.665448 -vt 0.622044 0.644947 -vt 0.625244 0.644947 -vt 0.599646 0.665448 -vt 0.602846 0.644947 -vt 0.577249 0.665448 -vt 0.580448 0.644947 -vt 0.602846 0.665448 -vt 0.606045 0.644947 -vt 0.580448 0.665448 -vt 0.583648 0.644947 -vt 0.609245 0.665448 -vt 0.606045 0.665448 -vt 0.583648 0.665448 -vt 0.586848 0.644947 -vt 0.609245 0.644947 -vt 0.612445 0.644947 -vt 0.590047 0.665448 -vt 0.586848 0.665448 -vt 0.612445 0.665448 -vt 0.615645 0.644947 -vt 0.590047 0.644947 -vt 0.593247 0.644947 -vt 0.615645 0.665448 -vt 0.618844 0.644947 -vt 0.593247 0.665448 -vt 0.618844 0.665448 -vt 0.216956 0.469500 -vt 0.206706 0.469500 -vt 0.206706 0.433504 -vt 0.293461 0.319789 -vt 0.613427 0.319789 -vt 0.333457 0.319789 -vt 0.297460 0.319789 -vt 0.053486 0.319788 -vt 0.655423 0.309735 -vt 0.653423 0.319788 -vt 0.617427 0.319789 -vt 0.373452 0.319789 -vt 0.093482 0.319789 -vt 0.057486 0.319788 -vt 0.413448 0.319789 -vt 0.377452 0.319789 -vt 0.133478 0.319789 -vt 0.097481 0.319789 -vt 0.453444 0.319789 -vt 0.417448 0.319789 -vt 0.173473 0.319789 -vt 0.493440 0.319789 -vt 0.457444 0.319789 -vt 0.213469 0.319789 -vt 0.177473 0.319789 -vt 0.533436 0.319789 -vt 0.497439 0.319789 -vt 0.253465 0.319789 -vt 0.217469 0.319789 -vt 0.030045 0.396325 -vt 0.039516 0.400247 -vt 0.025741 0.433504 -vt 0.202401 0.506679 -vt 0.192931 0.502756 -vt 0.057721 0.367546 -vt 0.064969 0.374794 -vt 0.138144 0.551455 -vt 0.134221 0.541984 -vt 0.167477 0.528209 -vt 0.174726 0.535457 -vt 0.094302 0.351549 -vt 0.098225 0.361019 -vt 0.098225 0.552235 -vt 0.098225 0.541984 -vt 0.134221 0.350769 -vt 0.134221 0.361019 -vt 0.061046 0.537679 -vt 0.064969 0.528209 -vt 0.171400 0.365324 -vt 0.167477 0.374794 -vt 0.032267 0.510004 -vt 0.039516 0.502756 -vt 0.200179 0.392999 -vt 0.192931 0.400247 -vt 0.016270 0.473423 -vt 0.025741 0.469500 -vt 0.216176 0.429581 -vt 0.015490 0.433504 -vt 0.175884 0.491366 -vt 0.156088 0.511163 -vt 0.130222 0.521877 -vt 0.102225 0.521877 -vt 0.076359 0.511163 -vt 0.056562 0.491366 -vt 0.045848 0.465500 -vt 0.045848 0.437503 -vt 0.056562 0.411637 -vt 0.076359 0.391840 -vt 0.102225 0.381126 -vt 0.130222 0.381126 -vt 0.156088 0.391840 -vt 0.175885 0.411637 -vt 0.186598 0.437503 -vt 0.186598 0.465500 -vt 0.654291 0.806500 -vt 0.654291 0.816751 -vt 0.626294 0.816751 -vt 0.432829 0.573428 -vt 0.543069 0.647088 -vt 0.512558 0.692750 -vt 0.458312 0.806500 -vt 0.458312 0.816751 -vt 0.430315 0.816751 -vt 0.682288 0.806500 -vt 0.682288 0.816751 -vt 0.486309 0.806500 -vt 0.486309 0.816751 -vt 0.710286 0.806500 -vt 0.710286 0.816751 -vt 0.514306 0.806500 -vt 0.514306 0.816751 -vt 0.738283 0.806500 -vt 0.738283 0.816751 -vt 0.542303 0.806500 -vt 0.542303 0.816751 -vt 0.766280 0.806500 -vt 0.766280 0.816751 -vt 0.570300 0.806500 -vt 0.570300 0.816751 -vt 0.794277 0.806500 -vt 0.794277 0.816751 -vt 0.598297 0.806500 -vt 0.598297 0.816751 -vt 0.822274 0.806500 -vt 0.822274 0.816751 -vt 0.626294 0.806500 -vt 0.430315 0.806500 -vt 0.402318 0.816751 -vt 0.850271 0.806500 -vt 0.850271 0.816751 -vt 0.622711 0.041116 -vt 0.612460 0.041116 -vt 0.612460 0.028303 -vt 0.622711 0.053930 -vt 0.612460 0.053930 -vt 0.622711 0.066743 -vt 0.612460 0.066743 -vt 0.622711 0.028303 -vt 0.612460 0.015490 -vt 0.164489 0.608841 -vt 0.154238 0.608841 -vt 0.154238 0.596028 -vt 0.635524 0.041116 -vt 0.164489 0.621655 -vt 0.154238 0.621655 -vt 0.164489 0.634468 -vt 0.154238 0.634468 -vt 0.164489 0.596028 -vt 0.154238 0.583215 -vt 0.177302 0.608841 -vt 0.584299 0.588340 -vt 0.574049 0.588340 -vt 0.574049 0.575527 -vt 0.584299 0.601153 -vt 0.574049 0.601153 -vt 0.584299 0.613967 -vt 0.574049 0.613967 -vt 0.584299 0.575527 -vt 0.574049 0.562714 -vt 0.597113 0.588340 -vt 0.568667 0.123349 -vt 0.558416 0.123349 -vt 0.558416 0.110536 -vt 0.568667 0.136162 -vt 0.558416 0.136162 -vt 0.568667 0.148976 -vt 0.558416 0.148976 -vt 0.568667 0.110536 -vt 0.558416 0.097723 -vt 0.581480 0.123349 -vt 0.568667 0.041116 -vt 0.558416 0.041116 -vt 0.558416 0.028303 -vt 0.568667 0.053930 -vt 0.558416 0.053930 -vt 0.568667 0.066743 -vt 0.558416 0.066743 -vt 0.568667 0.028303 -vt 0.558416 0.015490 -vt 0.581480 0.041116 -vt 0.491440 0.212815 -vt 0.211469 0.212815 -vt 0.531436 0.212815 -vt 0.651423 0.212815 -vt 0.527436 0.181835 -vt 0.290661 0.023533 -vt 0.322658 0.023533 -vt 0.354654 0.023533 -vt 0.840785 0.198729 -vt 0.085372 0.741517 -vt 0.910667 0.224052 -vt 0.066175 0.772497 -vt 0.015490 0.905475 -vt 0.984510 0.401453 -vt 0.015490 0.716194 -vt 0.891470 0.065751 -vt 0.085373 0.930798 -vt 0.851531 0.350769 -vt 0.826209 0.420651 -vt 0.823876 0.847731 -vt 0.627071 0.492505 -vt 0.601618 0.517959 -vt 0.568362 0.531734 -vt 0.532366 0.531734 -vt 0.499110 0.517959 -vt 0.473657 0.492505 -vt 0.459881 0.459249 -vt 0.473657 0.389997 -vt 0.499110 0.364544 -vt 0.532366 0.350769 -vt 0.601618 0.364544 -vt 0.627071 0.389997 -vt 0.640846 0.423253 -vt 0.261711 0.389997 -vt 0.287165 0.364544 -vt 0.320421 0.350769 -vt 0.356417 0.350769 -vt 0.415126 0.389997 -vt 0.428901 0.423253 -vt 0.428901 0.459249 -vt 0.389673 0.517959 -vt 0.356417 0.531734 -vt 0.320421 0.531734 -vt 0.261711 0.492505 -vt 0.247936 0.459249 -vt 0.247936 0.423253 -vt 0.732105 0.319789 -vt 0.417048 0.015490 -vt 0.449044 0.015490 -vt 0.225068 0.015490 -vt 0.481041 0.015490 -vt 0.033088 0.015490 -vt 0.622103 0.097723 -vt 0.625059 0.098947 -vt 0.627321 0.101210 -vt 0.628546 0.104166 -vt 0.628546 0.107366 -vt 0.627321 0.110322 -vt 0.625059 0.112584 -vt 0.618903 0.113809 -vt 0.615947 0.112584 -vt 0.613684 0.110322 -vt 0.612460 0.107366 -vt 0.612460 0.104166 -vt 0.615947 0.098947 -vt 0.625244 0.665448 -vt 0.216956 0.433504 -vt 0.257465 0.319789 -vt 0.577431 0.319789 -vt 0.017490 0.319788 -vt 0.337456 0.319789 -vt 0.137477 0.319789 -vt 0.016270 0.429581 -vt 0.216176 0.473423 -vt 0.032267 0.392999 -vt 0.171400 0.537679 -vt 0.200179 0.510004 -vt 0.061046 0.365324 -vt 0.134221 0.552235 -vt 0.098225 0.350769 -vt 0.094302 0.551455 -vt 0.138144 0.351549 -vt 0.057721 0.535457 -vt 0.174726 0.367546 -vt 0.030045 0.506679 -vt 0.202401 0.396325 -vt 0.015490 0.469500 -vt 0.486692 0.703464 -vt 0.458695 0.703464 -vt 0.432829 0.692750 -vt 0.413032 0.672953 -vt 0.402318 0.647088 -vt 0.402318 0.619091 -vt 0.413032 0.593225 -vt 0.458695 0.562714 -vt 0.486692 0.562714 -vt 0.512558 0.573428 -vt 0.532355 0.593225 -vt 0.543069 0.619090 -vt 0.532355 0.672953 -vt 0.402318 0.806500 -vt 0.622711 0.015490 -vt 0.635524 0.028303 -vt 0.164489 0.583215 -vt 0.177302 0.596028 -vt 0.584299 0.562714 -vt 0.597113 0.575527 -vt 0.568667 0.097723 -vt 0.581480 0.110536 -vt 0.568667 0.015490 -vt 0.581480 0.028303 -vn 0.000000 1.000000 0.000000 -vn 0.880600 -0.440300 0.175200 -vn 0.980800 0.000000 -0.195100 -vn -0.831500 0.000000 0.555600 -vn 0.831500 0.000000 -0.555600 -vn -0.555600 0.000000 0.831500 -vn 0.555600 0.000000 -0.831500 -vn -0.195100 0.000000 0.980800 -vn -0.195100 0.000000 -0.980800 -vn 0.195100 0.000000 -0.980800 -vn 0.195100 0.000000 0.980800 -vn -0.555600 0.000000 -0.831500 -vn 0.555600 0.000000 0.831500 -vn -0.831500 0.000000 -0.555600 -vn 0.831500 0.000000 0.555600 -vn -0.980800 0.000000 -0.195100 -vn 0.980800 0.000000 0.195100 -vn -0.980800 0.000000 0.195100 -vn -0.880600 -0.440300 0.175200 -vn 0.880600 -0.440300 -0.175200 -vn -0.746500 -0.440300 0.498800 -vn 0.746500 -0.440300 -0.498800 -vn -0.498800 -0.440300 0.746500 -vn 0.498800 -0.440300 -0.746500 -vn -0.175200 -0.440300 0.880600 -vn -0.175200 -0.440300 -0.880600 -vn 0.175200 -0.440300 -0.880600 -vn 0.175200 -0.440300 0.880600 -vn -0.498800 -0.440300 -0.746500 -vn 0.498800 -0.440300 0.746500 -vn -0.746500 -0.440300 -0.498800 -vn 0.746500 -0.440300 0.498800 -vn -0.880600 -0.440300 -0.175200 -vn -0.298600 -0.843300 0.446800 -vn 0.000000 -1.000000 0.000000 -vn 0.298600 -0.843300 -0.446800 -vn -0.104800 -0.843300 0.527100 -vn -0.104800 -0.843300 -0.527100 -vn 0.104800 -0.843300 -0.527100 -vn 0.104800 -0.843300 0.527100 -vn -0.298600 -0.843300 -0.446800 -vn 0.298600 -0.843300 0.446800 -vn -0.446800 -0.843300 -0.298600 -vn 0.446800 -0.843300 0.298600 -vn -0.527100 -0.843300 -0.104800 -vn 0.527100 -0.843300 0.104800 -vn -0.527100 -0.843300 0.104800 -vn 0.527100 -0.843300 -0.104800 -vn -0.446800 -0.843300 0.298600 -vn 0.446800 -0.843300 -0.298600 -vn -0.000000 -0.843300 0.537400 -vn 0.000000 -0.843300 -0.537400 -vn -0.537400 -0.843300 0.000000 -vn 0.537400 -0.843300 0.000000 -vn 1.000000 0.000000 0.000000 -vn -0.000000 0.000000 -1.000000 -vn -1.000000 -0.000000 0.000000 -vn 0.000000 0.000000 1.000000 -vn 0.656500 0.371400 -0.656500 -vn -0.656500 0.371400 -0.656500 -vn -0.656500 0.371400 0.656500 -vn 0.656500 0.371400 0.656500 -vn -0.672100 -0.310700 -0.672100 -vn -0.672100 -0.310700 0.672100 -vn 0.672100 -0.310700 0.672100 -vn 0.672100 -0.310700 -0.672100 -vn -0.706600 -0.036500 0.706600 -vn 0.706600 -0.036500 0.706600 -vn 0.706600 -0.036500 -0.706600 -vn -0.706600 -0.036500 -0.706600 -vn -0.640900 -0.035600 0.766800 -vn -0.640900 -0.035600 -0.766800 -vn 0.766800 -0.035600 0.640900 -vn -0.766800 -0.035600 0.640900 -vn 0.640900 -0.035600 -0.766800 -vn 0.640900 -0.035600 0.766800 -vn -0.766800 -0.035600 -0.640900 -vn 0.766800 -0.035600 -0.640900 -s off -f 15/1/1 215/2/1 214/3/1 -f 29/4/2 28/5/2 44/6/2 -f 13/7/3 29/4/3 30/8/3 -f 6/9/4 22/10/4 23/11/4 -f 14/12/5 30/8/5 31/13/5 -f 7/14/6 23/11/6 24/15/6 -f 15/1/7 31/13/7 32/16/7 -f 8/17/8 24/15/8 25/18/8 -f 1/19/9 18/20/9 17/21/9 -f 16/22/10 32/16/10 18/23/10 -f 9/24/11 25/18/11 26/25/11 -f 2/26/12 17/21/12 19/27/12 -f 10/28/13 26/25/13 27/29/13 -f 3/30/14 19/27/14 20/31/14 -f 11/32/15 27/29/15 28/5/15 -f 4/33/16 20/31/16 21/34/16 -f 12/35/17 28/5/17 29/4/17 -f 5/36/18 21/34/18 22/10/18 -f 33/37/12 49/38/12 51/39/12 -f 22/10/19 21/34/19 37/40/19 -f 30/8/20 29/4/20 45/41/20 -f 22/10/21 38/42/21 39/43/21 -f 30/8/22 46/44/22 47/45/22 -f 23/11/23 39/46/23 40/47/23 -f 31/13/24 47/48/24 48/49/24 -f 24/15/25 40/50/25 41/51/25 -f 18/20/26 34/52/26 33/53/26 -f 18/23/27 32/16/27 48/54/27 -f 25/18/28 41/55/28 42/56/28 -f 17/21/29 33/57/29 35/58/29 -f 26/25/30 42/59/30 43/60/30 -f 19/27/31 35/61/31 36/62/31 -f 27/29/32 43/63/32 44/64/32 -f 20/31/33 36/65/33 37/66/33 -f 55/67/34 71/68/34 72/69/34 -f 42/70/13 58/71/13 59/72/13 -f 35/73/14 51/39/14 52/74/14 -f 43/75/15 59/72/15 60/76/15 -f 36/77/16 52/74/16 53/78/16 -f 44/79/17 60/76/17 61/80/17 -f 37/81/18 53/78/18 54/82/18 -f 46/83/3 45/84/3 61/80/3 -f 38/85/4 54/82/4 55/67/4 -f 46/83/5 62/86/5 63/87/5 -f 39/88/6 55/67/6 56/89/6 -f 47/90/7 63/87/7 64/91/7 -f 40/92/8 56/89/8 57/93/8 -f 34/94/9 50/95/9 49/38/9 -f 48/96/10 64/91/10 50/97/10 -f 41/98/11 57/93/11 58/71/11 -f 73/99/35 177/100/35 178/101/35 -f 64/91/36 63/87/36 79/102/36 -f 56/89/37 72/103/37 73/104/37 -f 50/95/38 66/105/38 65/106/38 -f 64/91/39 80/107/39 66/108/39 -f 58/71/40 57/93/40 73/99/40 -f 49/38/41 65/109/41 67/110/41 -f 59/72/42 58/71/42 74/111/42 -f 51/39/43 67/112/43 68/113/43 -f 60/76/44 59/72/44 75/114/44 -f 52/74/45 68/115/45 69/116/45 -f 60/76/46 76/117/46 77/118/46 -f 53/78/47 69/119/47 70/120/47 -f 62/86/48 61/80/48 77/121/48 -f 54/82/49 70/122/49 71/123/49 -f 62/86/50 78/124/50 79/125/50 -f 100/126/51 108/127/51 107/128/51 -f 104/129/52 112/130/52 111/131/52 -f 98/132/53 106/133/53 105/134/53 -f 102/135/54 110/136/54 109/137/54 -f 96/138/17 112/130/17 104/129/17 -f 86/139/55 102/135/55 101/140/55 -f 93/141/3 85/142/3 99/143/3 -f 88/144/56 104/129/56 103/145/56 -f 89/146/18 81/147/18 103/145/18 -f 91/148/55 105/134/55 106/133/55 -f 90/149/10 106/133/10 98/132/10 -f 93/150/56 107/128/56 108/127/56 -f 94/151/8 110/136/8 102/135/8 -f 94/152/57 95/153/57 109/137/57 -f 91/154/11 83/155/11 97/156/11 -f 89/157/58 111/131/58 112/130/58 -f 82/158/57 98/132/57 97/156/57 -f 95/159/9 87/160/9 101/140/9 -f 92/161/16 108/127/16 100/126/16 -f 84/162/58 100/126/58 99/143/58 -f 116/163/10 118/164/10 117/165/10 -f 118/164/7 120/166/7 119/167/7 -f 120/166/5 122/168/5 121/169/5 -f 122/168/3 124/170/3 123/171/3 -f 124/170/17 126/172/17 125/173/17 -f 126/172/15 128/174/15 127/175/15 -f 128/174/13 130/176/13 129/177/13 -f 130/176/11 132/178/11 131/179/11 -f 132/178/8 134/180/8 133/181/8 -f 134/180/6 136/182/6 135/183/6 -f 136/182/4 138/184/4 137/185/4 -f 138/184/18 140/186/18 139/187/18 -f 140/186/16 142/188/16 141/189/16 -f 142/188/14 144/190/14 143/191/14 -f 136/192/1 128/193/1 120/194/1 -f 146/195/9 116/196/9 115/197/9 -f 144/190/12 146/195/12 145/198/12 -f 129/199/35 137/200/35 121/201/35 -f 150/202/59 149/203/59 157/204/59 -f 152/205/60 151/206/60 159/207/60 -f 153/208/61 113/209/61 114/210/61 -f 148/211/62 147/212/62 155/213/62 -f 168/214/63 167/215/63 151/206/63 -f 161/216/64 162/217/64 114/210/64 -f 164/218/65 163/219/65 147/212/65 -f 166/220/66 165/221/66 149/203/66 -f 157/204/67 165/222/67 166/223/67 -f 159/207/68 167/224/68 168/225/68 -f 153/208/69 154/226/69 162/227/69 -f 155/213/70 163/228/70 164/229/70 -f 151/206/71 167/230/71 159/207/71 -f 113/209/72 153/208/72 161/231/72 -f 114/210/73 162/232/73 154/226/73 -f 148/211/74 156/233/74 164/234/74 -f 147/212/75 163/235/75 155/213/75 -f 150/202/76 158/236/76 166/237/76 -f 149/203/77 165/238/77 157/204/77 -f 152/205/78 160/239/78 168/240/78 -f 176/241/8 192/242/8 193/243/8 -f 65/109/35 169/244/35 171/245/35 -f 74/111/35 178/246/35 179/247/35 -f 67/112/35 171/248/35 172/249/35 -f 75/114/35 179/250/35 180/251/35 -f 68/115/35 172/252/35 173/253/35 -f 76/117/35 180/254/35 181/255/35 -f 69/119/35 173/256/35 174/257/35 -f 78/258/35 77/121/35 181/259/35 -f 70/122/35 174/260/35 175/261/35 -f 79/125/35 78/124/35 182/262/35 -f 72/69/35 71/68/35 175/263/35 -f 80/264/35 79/102/35 183/265/35 -f 72/103/35 176/266/35 177/267/35 -f 65/106/35 66/105/35 170/268/35 -f 80/107/35 184/269/35 170/270/35 -f 195/271/35 189/272/35 187/273/35 -f 170/274/9 186/275/9 185/276/9 -f 184/277/10 200/278/10 186/279/10 -f 177/280/11 193/243/11 194/281/11 -f 169/282/12 185/276/12 187/283/12 -f 178/284/13 194/281/13 195/285/13 -f 171/286/14 187/283/14 188/287/14 -f 180/288/15 179/289/15 195/285/15 -f 172/290/16 188/287/16 189/291/16 -f 180/288/17 196/292/17 197/293/17 -f 174/294/18 173/295/18 189/291/18 -f 181/296/3 197/293/3 198/297/3 -f 174/294/4 190/298/4 191/299/4 -f 182/300/5 198/297/5 199/301/5 -f 175/302/6 191/299/6 192/242/6 -f 183/303/7 199/301/7 200/278/7 -f 215/304/5 231/305/5 230/306/5 -f 7/14/1 8/17/1 208/307/1 -f 15/1/1 16/22/1 216/308/1 -f 9/24/1 209/309/1 208/310/1 -f 1/19/1 2/26/1 201/311/1 -f 1/312/1 202/313/1 216/314/1 -f 9/24/1 10/28/1 210/315/1 -f 3/30/1 203/316/1 201/317/1 -f 11/32/1 211/318/1 210/319/1 -f 4/33/1 204/320/1 203/321/1 -f 12/35/1 212/322/1 211/323/1 -f 4/33/1 5/36/1 205/324/1 -f 13/7/1 213/325/1 212/326/1 -f 6/9/1 206/327/1 205/328/1 -f 14/12/1 214/329/1 213/330/1 -f 7/14/1 207/331/1 206/332/1 -f 208/333/6 224/334/6 223/335/6 -f 216/336/7 232/337/7 231/305/7 -f 209/338/8 225/339/8 224/334/8 -f 201/340/9 217/341/9 218/342/9 -f 202/343/10 218/342/10 232/337/10 -f 210/344/11 226/345/11 225/339/11 -f 203/346/12 219/347/12 217/341/12 -f 211/348/13 227/349/13 226/345/13 -f 204/350/14 220/351/14 219/347/14 -f 212/352/15 228/353/15 227/349/15 -f 205/354/16 221/355/16 220/351/16 -f 213/356/17 229/357/17 228/353/17 -f 206/358/18 222/359/18 221/355/18 -f 214/360/3 230/306/3 229/357/3 -f 207/361/4 223/335/4 222/359/4 -f 231/305/1 232/337/1 248/362/1 -f 218/342/1 233/363/1 248/362/1 -f 218/342/1 217/341/1 234/364/1 -f 219/347/1 235/365/1 234/364/1 -f 220/351/1 236/366/1 235/365/1 -f 220/351/1 221/355/1 237/367/1 -f 222/359/1 238/368/1 237/367/1 -f 222/359/1 223/335/1 239/369/1 -f 224/334/1 240/370/1 239/369/1 -f 225/339/1 241/371/1 240/370/1 -f 225/339/1 226/345/1 242/372/1 -f 226/345/1 227/349/1 243/373/1 -f 227/349/1 228/353/1 244/374/1 -f 228/353/1 229/357/1 245/375/1 -f 230/306/1 246/376/1 245/375/1 -f 231/305/1 247/377/1 246/376/1 -f 242/378/9 258/379/9 257/380/9 -f 257/381/1 263/382/1 250/383/1 -f 235/384/13 251/385/13 249/386/13 -f 243/387/12 259/388/12 258/379/12 -f 236/389/15 252/390/15 251/385/15 -f 244/391/14 260/392/14 259/388/14 -f 237/393/17 253/394/17 252/390/17 -f 245/395/16 261/396/16 260/392/16 -f 238/397/3 254/398/3 253/394/3 -f 246/399/18 262/400/18 261/396/18 -f 239/401/5 255/402/5 254/398/5 -f 247/403/4 263/404/4 262/400/4 -f 240/405/7 256/406/7 255/402/7 -f 248/407/6 264/408/6 263/404/6 -f 241/409/10 257/380/10 256/406/10 -f 234/410/11 249/386/11 250/411/11 -f 233/412/8 250/413/8 264/408/8 -f 268/414/57 267/415/57 265/416/57 -f 272/417/56 271/418/56 267/415/56 -f 270/419/55 269/420/55 271/418/55 -f 266/421/58 265/416/58 269/422/58 -f 276/423/57 275/424/57 273/425/57 -f 272/426/1 268/414/1 266/421/1 -f 280/427/56 279/428/56 275/424/56 -f 278/429/55 277/430/55 279/428/55 -f 274/431/58 273/425/58 277/432/58 -f 280/433/1 276/423/1 274/431/1 -f 284/434/57 283/435/57 281/436/57 -f 288/437/56 287/438/56 283/435/56 -f 286/439/55 285/440/55 287/438/55 -f 282/441/58 281/436/58 285/442/58 -f 288/443/1 284/434/1 282/441/1 -f 292/444/57 291/445/57 289/446/57 -f 296/447/56 295/448/56 291/445/56 -f 294/449/55 293/450/55 295/448/55 -f 290/451/58 289/446/58 293/452/58 -f 296/453/1 292/444/1 290/451/1 -f 300/454/57 299/455/57 297/456/57 -f 304/457/56 303/458/56 299/455/56 -f 302/459/55 301/460/55 303/458/55 -f 298/461/58 297/456/58 301/462/58 -f 304/463/1 300/454/1 298/461/1 -f 14/12/1 15/1/1 214/3/1 -f 45/464/2 29/4/2 44/6/2 -f 14/12/3 13/7/3 30/8/3 -f 7/14/4 6/9/4 23/11/4 -f 15/1/5 14/12/5 31/13/5 -f 8/17/6 7/14/6 24/15/6 -f 16/22/7 15/1/7 32/16/7 -f 9/24/8 8/17/8 25/18/8 -f 2/26/9 1/19/9 17/21/9 -f 1/312/10 16/22/10 18/23/10 -f 10/28/11 9/24/11 26/25/11 -f 3/30/12 2/26/12 19/27/12 -f 11/32/13 10/28/13 27/29/13 -f 4/33/14 3/30/14 20/31/14 -f 12/35/15 11/32/15 28/5/15 -f 5/36/16 4/33/16 21/34/16 -f 13/7/17 12/35/17 29/4/17 -f 6/9/18 5/36/18 22/10/18 -f 35/73/12 33/37/12 51/39/12 -f 38/465/19 22/10/19 37/40/19 -f 46/466/20 30/8/20 45/41/20 -f 23/11/21 22/10/21 39/43/21 -f 31/13/22 30/8/22 47/45/22 -f 24/15/23 23/11/23 40/47/23 -f 32/16/24 31/13/24 48/49/24 -f 25/18/25 24/15/25 41/51/25 -f 17/21/26 18/20/26 33/53/26 -f 34/467/27 18/23/27 48/54/27 -f 26/25/28 25/18/28 42/56/28 -f 19/27/29 17/21/29 35/58/29 -f 27/29/30 26/25/30 43/60/30 -f 20/31/31 19/27/31 36/62/31 -f 28/5/32 27/29/32 44/64/32 -f 21/34/33 20/31/33 37/66/33 -f 56/89/34 55/67/34 72/69/34 -f 43/75/13 42/70/13 59/72/13 -f 36/77/14 35/73/14 52/74/14 -f 44/79/15 43/75/15 60/76/15 -f 37/81/16 36/77/16 53/78/16 -f 45/84/17 44/79/17 61/80/17 -f 38/85/18 37/81/18 54/82/18 -f 62/86/3 46/83/3 61/80/3 -f 39/88/4 38/85/4 55/67/4 -f 47/90/5 46/83/5 63/87/5 -f 40/92/6 39/88/6 56/89/6 -f 48/96/7 47/90/7 64/91/7 -f 41/98/8 40/92/8 57/93/8 -f 33/37/9 34/94/9 49/38/9 -f 34/468/10 48/96/10 50/97/10 -f 42/70/11 41/98/11 58/71/11 -f 74/469/35 73/99/35 178/101/35 -f 80/264/36 64/91/36 79/102/36 -f 57/93/37 56/89/37 73/104/37 -f 49/38/38 50/95/38 65/106/38 -f 50/97/39 64/91/39 66/108/39 -f 74/469/40 58/71/40 73/99/40 -f 51/39/41 49/38/41 67/110/41 -f 75/470/42 59/72/42 74/111/42 -f 52/74/43 51/39/43 68/113/43 -f 76/471/44 60/76/44 75/114/44 -f 53/78/45 52/74/45 69/116/45 -f 61/80/46 60/76/46 77/118/46 -f 54/82/47 53/78/47 70/120/47 -f 78/258/48 62/86/48 77/121/48 -f 55/67/49 54/82/49 71/123/49 -f 63/87/50 62/86/50 79/125/50 -f 99/143/51 100/126/51 107/128/51 -f 103/145/52 104/129/52 111/131/52 -f 97/156/53 98/132/53 105/134/53 -f 101/140/54 102/135/54 109/137/54 -f 88/472/17 96/138/17 104/129/17 -f 87/473/55 86/139/55 101/140/55 -f 107/128/3 93/141/3 99/143/3 -f 81/474/56 88/144/56 103/145/56 -f 111/131/18 89/146/18 103/145/18 -f 90/475/55 91/148/55 106/133/55 -f 82/476/10 90/149/10 98/132/10 -f 92/477/56 93/150/56 108/127/56 -f 86/478/8 94/151/8 102/135/8 -f 110/136/57 94/152/57 109/137/57 -f 105/134/11 91/154/11 97/156/11 -f 96/479/58 89/157/58 112/130/58 -f 83/480/57 82/158/57 97/156/57 -f 109/137/9 95/159/9 101/140/9 -f 84/481/16 92/161/16 100/126/16 -f 85/482/58 84/162/58 99/143/58 -f 115/483/10 116/163/10 117/165/10 -f 117/165/7 118/164/7 119/167/7 -f 119/167/5 120/166/5 121/169/5 -f 121/169/3 122/168/3 123/171/3 -f 123/171/17 124/170/17 125/173/17 -f 125/173/15 126/172/15 127/175/15 -f 127/175/13 128/174/13 129/177/13 -f 129/177/11 130/176/11 131/179/11 -f 131/179/8 132/178/8 133/181/8 -f 133/181/6 134/180/6 135/183/6 -f 135/183/4 136/182/4 137/185/4 -f 137/185/18 138/184/18 139/187/18 -f 139/187/16 140/186/16 141/189/16 -f 141/189/14 142/188/14 143/191/14 -f 120/194/1 118/484/1 116/485/1 -f 116/485/1 146/486/1 120/194/1 -f 144/487/1 142/488/1 140/489/1 -f 140/489/1 138/490/1 136/192/1 -f 136/192/1 134/491/1 128/193/1 -f 132/492/1 130/493/1 128/193/1 -f 128/193/1 126/494/1 124/495/1 -f 124/495/1 122/496/1 120/194/1 -f 120/194/1 146/486/1 144/487/1 -f 144/487/1 140/489/1 120/194/1 -f 134/491/1 132/492/1 128/193/1 -f 128/193/1 124/495/1 120/194/1 -f 120/194/1 140/489/1 136/192/1 -f 145/198/9 146/195/9 115/197/9 -f 143/191/12 144/190/12 145/198/12 -f 145/497/35 115/498/35 117/499/35 -f 117/499/35 119/500/35 121/201/35 -f 121/201/35 123/501/35 125/502/35 -f 125/502/35 127/503/35 121/201/35 -f 129/199/35 131/504/35 133/505/35 -f 133/505/35 135/506/35 137/200/35 -f 137/200/35 139/507/35 141/508/35 -f 141/508/35 143/509/35 145/497/35 -f 145/497/35 117/499/35 121/201/35 -f 121/201/35 127/503/35 129/199/35 -f 129/199/35 133/505/35 137/200/35 -f 137/200/35 141/508/35 145/497/35 -f 145/497/35 121/201/35 137/200/35 -f 158/236/59 150/202/59 157/204/59 -f 160/239/60 152/205/60 159/207/60 -f 154/226/61 153/208/61 114/210/61 -f 156/233/62 148/211/62 155/213/62 -f 152/205/63 168/214/63 151/206/63 -f 113/209/64 161/216/64 114/210/64 -f 148/211/65 164/218/65 147/212/65 -f 150/202/66 166/220/66 149/203/66 -f 158/236/67 157/204/67 166/223/67 -f 160/239/68 159/207/68 168/225/68 -f 161/510/69 153/208/69 162/227/69 -f 156/233/70 155/213/70 164/229/70 -f 177/280/8 176/241/8 193/243/8 -f 67/110/35 65/109/35 171/245/35 -f 75/470/35 74/111/35 179/247/35 -f 68/113/35 67/112/35 172/249/35 -f 76/471/35 75/114/35 180/251/35 -f 69/116/35 68/115/35 173/253/35 -f 77/118/35 76/117/35 181/255/35 -f 70/120/35 69/119/35 174/257/35 -f 182/511/35 78/258/35 181/259/35 -f 71/123/35 70/122/35 175/261/35 -f 183/512/35 79/125/35 182/262/35 -f 176/513/35 72/69/35 175/263/35 -f 184/514/35 80/264/35 183/265/35 -f 73/104/35 72/103/35 177/267/35 -f 169/515/35 65/106/35 170/268/35 -f 66/108/35 80/107/35 170/270/35 -f 187/273/35 185/516/35 186/517/35 -f 186/517/35 200/518/35 199/519/35 -f 199/519/35 198/520/35 195/271/35 -f 197/521/35 196/522/35 195/271/35 -f 195/271/35 194/523/35 193/524/35 -f 193/524/35 192/525/35 195/271/35 -f 191/526/35 190/527/35 189/272/35 -f 189/272/35 188/528/35 187/273/35 -f 187/273/35 186/517/35 195/271/35 -f 198/520/35 197/521/35 195/271/35 -f 195/271/35 192/525/35 191/526/35 -f 191/526/35 189/272/35 195/271/35 -f 186/517/35 199/519/35 195/271/35 -f 169/282/9 170/274/9 185/276/9 -f 170/529/10 184/277/10 186/279/10 -f 178/284/11 177/280/11 194/281/11 -f 171/286/12 169/282/12 187/283/12 -f 179/289/13 178/284/13 195/285/13 -f 172/290/14 171/286/14 188/287/14 -f 196/292/15 180/288/15 195/285/15 -f 173/295/16 172/290/16 189/291/16 -f 181/296/17 180/288/17 197/293/17 -f 190/298/18 174/294/18 189/291/18 -f 182/300/3 181/296/3 198/297/3 -f 175/302/4 174/294/4 191/299/4 -f 183/303/5 182/300/5 199/301/5 -f 176/241/6 175/302/6 192/242/6 -f 184/277/7 183/303/7 200/278/7 -f 214/530/5 215/304/5 230/306/5 -f 207/531/1 7/14/1 208/307/1 -f 215/532/1 15/1/1 216/308/1 -f 8/17/1 9/24/1 208/310/1 -f 202/533/1 1/19/1 201/311/1 -f 16/22/1 1/312/1 216/314/1 -f 209/534/1 9/24/1 210/315/1 -f 2/26/1 3/30/1 201/317/1 -f 10/28/1 11/32/1 210/319/1 -f 3/30/1 4/33/1 203/321/1 -f 11/32/1 12/35/1 211/323/1 -f 204/535/1 4/33/1 205/324/1 -f 12/35/1 13/7/1 212/326/1 -f 5/36/1 6/9/1 205/328/1 -f 13/7/1 14/12/1 213/330/1 -f 6/9/1 7/14/1 206/332/1 -f 207/536/6 208/333/6 223/335/6 -f 215/537/7 216/336/7 231/305/7 -f 208/538/8 209/338/8 224/334/8 -f 202/539/9 201/340/9 218/342/9 -f 216/540/10 202/343/10 232/337/10 -f 209/541/11 210/344/11 225/339/11 -f 201/542/12 203/346/12 217/341/12 -f 210/543/13 211/348/13 226/345/13 -f 203/544/14 204/350/14 219/347/14 -f 211/545/15 212/352/15 227/349/15 -f 204/546/16 205/354/16 220/351/16 -f 212/547/17 213/356/17 228/353/17 -f 205/548/18 206/358/18 221/355/18 -f 213/549/3 214/360/3 229/357/3 -f 206/550/4 207/361/4 222/359/4 -f 247/377/1 231/305/1 248/362/1 -f 232/337/1 218/342/1 248/362/1 -f 233/363/1 218/342/1 234/364/1 -f 217/341/1 219/347/1 234/364/1 -f 219/347/1 220/351/1 235/365/1 -f 236/366/1 220/351/1 237/367/1 -f 221/355/1 222/359/1 237/367/1 -f 238/368/1 222/359/1 239/369/1 -f 223/335/1 224/334/1 239/369/1 -f 224/334/1 225/339/1 240/370/1 -f 241/371/1 225/339/1 242/372/1 -f 242/372/1 226/345/1 243/373/1 -f 243/373/1 227/349/1 244/374/1 -f 244/374/1 228/353/1 245/375/1 -f 229/357/1 230/306/1 245/375/1 -f 230/306/1 231/305/1 246/376/1 -f 241/409/9 242/378/9 257/380/9 -f 250/383/1 249/551/1 251/552/1 -f 251/552/1 252/553/1 253/554/1 -f 253/554/1 254/555/1 257/381/1 -f 255/556/1 256/557/1 257/381/1 -f 257/381/1 258/558/1 259/559/1 -f 259/559/1 260/560/1 257/381/1 -f 261/561/1 262/562/1 263/382/1 -f 263/382/1 264/563/1 250/383/1 -f 250/383/1 251/552/1 257/381/1 -f 254/555/1 255/556/1 257/381/1 -f 257/381/1 260/560/1 261/561/1 -f 261/561/1 263/382/1 257/381/1 -f 251/552/1 253/554/1 257/381/1 -f 234/410/13 235/384/13 249/386/13 -f 242/378/12 243/387/12 258/379/12 -f 235/384/15 236/389/15 251/385/15 -f 243/387/14 244/391/14 259/388/14 -f 236/389/17 237/393/17 252/390/17 -f 244/391/16 245/395/16 260/392/16 -f 237/393/3 238/397/3 253/394/3 -f 245/395/18 246/399/18 261/396/18 -f 238/397/5 239/401/5 254/398/5 -f 246/399/4 247/403/4 262/400/4 -f 239/401/7 240/405/7 255/402/7 -f 247/403/6 248/407/6 263/404/6 -f 240/405/10 241/409/10 256/406/10 -f 233/564/11 234/410/11 250/411/11 -f 248/407/8 233/412/8 264/408/8 -f 266/421/57 268/414/57 265/416/57 -f 268/414/56 272/417/56 267/415/56 -f 272/417/55 270/419/55 271/418/55 -f 270/565/58 266/421/58 269/422/58 -f 274/431/57 276/423/57 273/425/57 -f 270/566/1 272/426/1 266/421/1 -f 276/423/56 280/427/56 275/424/56 -f 280/427/55 278/429/55 279/428/55 -f 278/567/58 274/431/58 277/432/58 -f 278/568/1 280/433/1 274/431/1 -f 282/441/57 284/434/57 281/436/57 -f 284/434/56 288/437/56 283/435/56 -f 288/437/55 286/439/55 287/438/55 -f 286/569/58 282/441/58 285/442/58 -f 286/570/1 288/443/1 282/441/1 -f 290/451/57 292/444/57 289/446/57 -f 292/444/56 296/447/56 291/445/56 -f 296/447/55 294/449/55 295/448/55 -f 294/571/58 290/451/58 293/452/58 -f 294/572/1 296/453/1 290/451/1 -f 298/461/57 300/454/57 297/456/57 -f 300/454/56 304/457/56 299/455/56 -f 304/457/55 302/459/55 303/458/55 -f 302/573/58 298/461/58 301/462/58 -f 302/574/1 304/463/1 298/461/1 diff --git a/src/main/resources/assets/hbm/models/ams_emitter_destroyed.obj b/src/main/resources/assets/hbm/models/ams_emitter_destroyed.obj deleted file mode 100644 index dbef58503..000000000 --- a/src/main/resources/assets/hbm/models/ams_emitter_destroyed.obj +++ /dev/null @@ -1,2295 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'ams_emitter_destroyed.blend' -# www.blender.org -o Circle -v 0.000000 5.750000 -2.500000 -v -0.956709 5.750000 -2.309699 -v -1.767767 5.750000 -1.767767 -v -2.309699 5.750000 -0.956709 -v -2.500000 5.750000 0.000000 -v -2.309699 5.750000 0.956709 -v -1.767767 5.750000 1.767767 -v -0.956709 5.750000 2.309699 -v -0.000000 5.750000 2.500000 -v 0.956708 5.750000 2.309699 -v 1.767766 5.750000 1.767768 -v 2.309699 5.750000 0.956709 -v 2.500000 5.750000 -0.000000 -v 2.309699 5.750000 -0.956709 -v 1.767766 5.750000 -1.767768 -v 0.956707 5.750000 -2.309699 -v -0.956709 4.500000 -2.309699 -v 0.000000 4.500000 -2.500000 -v -1.767767 4.500000 -1.767767 -v -2.309699 4.500000 -0.956709 -v -1.817264 2.924223 1.127516 -v -2.309699 4.500000 0.956709 -v -1.767767 4.500000 1.767767 -v -0.956709 4.500000 2.309699 -v -0.000000 4.500000 2.500000 -v 0.956708 4.500000 2.309699 -v 1.767766 4.500000 1.767768 -v 2.309699 4.500000 0.956709 -v 2.500000 4.500000 -0.000000 -v 2.309699 4.500000 -0.956709 -v 1.767766 4.500000 -1.767768 -v 0.956707 4.500000 -2.309699 -v -0.765367 3.500000 -1.847759 -v -0.000000 3.500000 -2.000000 -v -1.414214 3.500000 -1.414213 -v -1.847759 3.500000 -0.765367 -v -2.000000 3.500000 0.000000 -v -1.847759 3.500000 0.765367 -v -1.414214 3.500000 1.414214 -v -0.765367 3.500000 1.847759 -v -0.000000 3.500000 2.000000 -v 0.765366 3.500000 1.847759 -v 1.414213 3.500000 1.414214 -v 1.847759 3.500000 0.765367 -v 2.000000 3.500000 -0.000000 -v 1.847759 3.500000 -0.765367 -v 1.414213 3.500000 -1.414214 -v 0.765366 3.500000 -1.847759 -v -0.765367 1.500000 -1.847759 -v -0.000000 1.500000 -2.000000 -v -1.414214 1.500000 -1.414213 -v -1.847759 1.500000 -0.765367 -v -2.000000 1.500000 0.000000 -v -1.847759 1.500000 0.765367 -v -1.414214 1.500000 1.414214 -v -0.765367 1.500000 1.847759 -v -0.000000 1.500000 2.000000 -v 0.765366 1.500000 1.847759 -v 1.414213 1.500000 1.414214 -v 1.847759 1.500000 0.765367 -v 2.000000 1.500000 -0.000000 -v 1.847759 1.500000 -0.765367 -v 1.414213 1.500000 -1.414214 -v 0.765366 1.500000 -1.847759 -v -0.153073 0.500000 -0.369552 -v 0.000000 0.500000 -0.400000 -v -0.282843 0.500000 -0.282843 -v -0.369552 0.500000 -0.153073 -v -0.400000 0.500000 0.000000 -v -0.369552 0.500000 0.153073 -v -0.282843 0.500000 0.282843 -v -0.153073 0.500000 0.369552 -v -0.000000 0.500000 0.400000 -v 0.153073 0.500000 0.369552 -v 0.282843 0.500000 0.282843 -v 0.369552 0.500000 0.153073 -v 0.400000 0.500000 -0.000000 -v 0.369552 0.500000 -0.153073 -v 0.282843 0.500000 -0.282843 -v 0.153073 0.500000 -0.369552 -v -1.961570 2.000000 -0.390181 -v -1.961571 2.000000 0.390181 -v -0.390181 2.000000 1.961571 -v 0.390180 2.000000 1.961571 -v 1.961571 2.000000 0.390181 -v 1.961571 2.000000 -0.390181 -v -0.392314 1.000000 -0.078036 -v -0.392314 1.000000 0.078036 -v -0.078036 1.000000 0.392314 -v 0.078036 1.000000 0.392314 -v 0.392314 1.000000 0.078036 -v 0.392314 1.000000 -0.078036 -v -1.961571 1.000000 0.390181 -v -1.961570 1.000000 -0.390181 -v 0.390180 1.000000 1.961571 -v -0.390181 1.000000 1.961571 -v 1.961571 1.000000 -0.390181 -v 1.961571 1.000000 0.390181 -v -0.392314 0.000000 0.078036 -v -0.392314 0.000000 -0.078036 -v 0.078036 0.000000 0.392314 -v -0.078036 0.000000 0.392314 -v 0.392314 0.000000 -0.078036 -v 0.392314 0.000000 0.078036 -v -1.239507 -0.356666 -0.078036 -v -1.239507 -0.356666 0.078036 -v -2.078674 2.000000 1.388925 -v -1.388925 2.000000 2.078674 -v -0.000000 1.500000 -2.250000 -v -0.000000 2.250000 -2.250000 -v -0.502465 1.500000 -2.150054 -v 0.861038 2.250000 -2.078729 -v 1.590990 1.500000 -1.590990 -v 1.590990 2.250000 -1.590990 -v 2.078729 1.500000 -0.861038 -v 2.078729 2.250000 -0.861038 -v 2.250000 1.500000 0.000000 -v 2.250000 2.250000 0.000000 -v 2.078729 1.500000 0.861038 -v 2.078729 2.250000 0.861038 -v 1.590990 1.500000 1.590990 -v 1.590990 2.250000 1.590990 -v 0.861038 1.500000 2.078729 -v 0.861038 2.250000 2.078729 -v 0.000000 1.500000 2.250000 -v 0.000000 2.250000 2.250000 -v -0.861037 1.500000 2.078729 -v -0.861037 2.250000 2.078729 -v -1.590990 1.500000 1.590991 -v -1.590990 2.250000 1.590991 -v -2.078729 1.500000 0.861038 -v -2.078729 2.250000 0.861038 -v -2.250000 1.500000 -0.000000 -v -2.250000 2.250000 -0.000000 -v -2.078729 1.500000 -0.861038 -v -2.078729 2.250000 -0.861038 -v -1.590990 1.500000 -1.590991 -v -1.590990 2.250000 -1.590991 -v -0.861037 1.500000 -2.078729 -v -0.861037 2.250000 -2.078729 -v 2.078674 2.000000 1.388926 -v 1.388926 2.000000 2.078674 -v -1.568488 0.500000 1.205591 -v -1.517359 2.000000 -1.985573 -v -1.654410 3.500000 0.964661 -v -0.964661 3.500000 1.654410 -v 1.654410 3.500000 0.964662 -v 0.964662 3.500000 1.654410 -v -1.661362 1.054948 -1.084044 -v -1.068258 1.378297 -1.660441 -v -1.654411 3.500000 -0.964661 -v -0.964663 3.500000 -1.654409 -v -1.662939 0.500000 1.111140 -v -0.076536 -0.057784 -0.127896 -v 1.662939 0.500000 1.111141 -v 1.111140 0.500000 1.662939 -v -1.258276 1.294501 -1.883140 -v -1.799671 0.993336 -1.202501 -v -0.076537 0.500000 -0.184776 -v 0.000000 0.500000 -0.200000 -v -0.141421 0.500000 -0.141421 -v -0.184776 0.500000 -0.076537 -v -0.200000 0.500000 0.000000 -v -0.184776 0.500000 0.076537 -v -0.141421 0.500000 0.141421 -v -0.076537 0.500000 0.184776 -v -0.000000 0.500000 0.200000 -v 0.076537 0.500000 0.184776 -v 0.141421 0.500000 0.141421 -v 0.184776 0.500000 0.076537 -v 0.200000 0.500000 0.000000 -v 0.184776 0.500000 -0.076537 -v 0.141421 0.500000 -0.141421 -v 0.076537 0.500000 -0.184776 -v -0.076536 0.175704 -0.217247 -v 0.000000 0.170263 -0.231465 -v -0.141421 0.191199 -0.176756 -v -0.184776 0.214389 -0.116157 -v -0.200000 0.241744 -0.044676 -v -0.184776 0.269098 0.026806 -v -0.141421 0.292288 0.087405 -v -0.076536 0.307784 0.127896 -v 0.000000 0.313225 0.142114 -v 0.076537 0.307784 0.127896 -v 0.141422 0.292288 0.087405 -v 0.184776 0.269098 0.026806 -v 0.200000 0.241744 -0.044676 -v 0.184776 0.214389 -0.116157 -v 0.141422 0.191199 -0.176756 -v 0.076537 0.175704 -0.217247 -v -0.861038 5.750000 -2.078729 -v -0.000000 5.750000 -2.250000 -v -1.590990 5.750000 -1.590990 -v -2.078729 5.750000 -0.861038 -v -2.250000 5.750000 0.000000 -v -2.078729 5.750000 0.861038 -v -1.590990 5.750000 1.590990 -v -0.861038 5.750000 2.078729 -v -0.000000 5.750000 2.250000 -v 0.861037 5.750000 2.078729 -v 1.590990 5.750000 1.590991 -v 2.078729 5.750000 0.861038 -v 2.250000 5.750000 -0.000000 -v 2.078728 5.750000 -0.861038 -v 1.590990 5.750000 -1.590991 -v 0.861037 5.750000 -2.078729 -v -0.861038 5.782505 -2.078729 -v -0.000000 5.782505 -2.250000 -v -1.590990 6.000000 -1.590990 -v -2.078729 6.000000 -0.861038 -v -2.250000 6.000000 0.000000 -v -2.078729 6.000000 0.861038 -v -1.590990 6.000000 1.590990 -v -0.861038 6.000000 2.078729 -v -0.000000 6.000000 2.250000 -v 0.861037 6.000000 2.078729 -v 1.590990 6.000000 1.590991 -v 2.078729 6.000000 0.861038 -v 2.250000 6.000000 -0.000000 -v 2.078728 6.000000 -0.861038 -v 1.590990 6.000000 -1.590991 -v 0.861037 6.000000 -2.078729 -v -0.000000 6.000000 -1.750000 -v -0.669696 6.000000 -1.616789 -v -1.237437 6.000000 -1.237437 -v -1.616789 6.000000 -0.669696 -v -1.750000 6.000000 0.000000 -v -1.616789 6.000000 0.669696 -v -1.237437 6.000000 1.237437 -v -0.669696 5.780204 1.616789 -v -0.000000 5.780204 1.750000 -v 0.669696 5.842573 1.616789 -v 1.237437 5.842573 1.237437 -v 1.616789 6.000000 0.669696 -v 1.750000 6.000000 -0.000000 -v 1.616789 6.000000 -0.669696 -v 1.237437 6.000000 -1.237437 -v 0.669695 6.000000 -1.616789 -v -0.669696 5.750000 -1.616789 -v -0.000000 5.750000 -1.750000 -v -1.237437 5.750000 -1.237437 -v -1.616789 5.750000 -0.669696 -v -1.750000 5.750000 0.000000 -v -1.616789 5.750000 0.669696 -v -1.237437 5.750000 1.237437 -v -0.669696 5.750000 1.616789 -v -0.000000 5.750000 1.750000 -v 0.669696 5.750000 1.616789 -v 1.237437 5.750000 1.237437 -v 1.616789 5.750000 0.669696 -v 1.750000 5.750000 -0.000000 -v 1.616789 5.750000 -0.669696 -v 1.237437 5.750000 -1.237437 -v 0.669695 5.750000 -1.616789 -v -0.156250 5.750000 0.156250 -v -0.156250 6.000000 0.156250 -v -0.156250 5.750000 -0.156250 -v 2.214165 6.000000 0.180157 -v 0.156250 5.750000 0.156250 -v 0.156250 6.000000 0.156250 -v 0.156250 5.750000 -0.156250 -v 0.156250 6.000000 -0.156250 -v -1.845955 6.000000 0.204724 -v -2.201638 5.874164 0.243131 -v -0.129925 4.500000 -2.474156 -v -0.482343 4.500000 -2.404056 -v 2.166949 5.883944 0.417527 -v 1.792237 6.000000 0.344685 -v 0.735577 4.500000 -2.353685 -v 0.502231 4.500000 -2.400100 -v -0.156250 5.750000 1.156250 -v -0.156250 6.034361 1.152425 -v -0.156250 5.750000 0.843750 -v -0.156250 5.965639 0.847575 -v 0.156250 5.750000 1.156250 -v 0.156250 6.034361 1.152425 -v 0.156250 5.750000 0.843750 -v 0.156250 5.965639 0.847575 -v 0.843750 5.750000 0.156250 -v 0.814998 6.000000 0.120840 -v 0.843750 5.750000 -0.156250 -v 0.879160 6.000000 -0.185002 -v 1.156250 5.750000 0.156250 -v 1.120840 6.000000 0.185002 -v 1.156250 5.750000 -0.156250 -v 1.185002 6.000000 -0.120840 -v -2.152734 6.000000 0.488988 -v -2.096983 6.000000 0.769267 -v -2.220878 6.000000 0.146404 -v -2.184364 6.000000 0.329975 -v 2.129964 6.000000 0.603464 -v 0.068268 6.000000 -0.156250 -v -0.156250 6.000000 0.061606 -v -0.156250 5.893532 -0.156250 -v -1.467758 0.372828 -0.245880 -v -1.462047 0.365576 0.244211 -v -1.268867 -0.030391 -0.153106 -v -1.268174 -0.031271 0.152904 -v 0.288197 0.673280 1.448864 -v 0.345045 0.855403 1.734661 -v 0.189719 0.357792 0.953782 -v 0.242046 0.525429 1.216847 -v 1.193695 0.510675 -0.237441 -v 1.243743 0.542568 0.247396 -v 1.613379 0.778117 0.320921 -v -0.213437 0.793968 1.638253 -v 0.284380 1.007983 1.429678 -v 1.495057 0.702716 -0.297385 -v 0.193952 0.540102 0.975061 -v -0.112011 0.438574 1.080548 -v 1.251703 0.897963 0.248979 -v 1.236348 0.789783 -0.245925 -v -1.785023 2.000000 -1.717909 -v -1.990089 2.313197 -1.300340 -v -2.009995 1.752200 -1.343035 -v -1.081001 1.117261 1.661184 -v -1.222950 1.103756 1.830274 -v 0.000000 -0.063225 -0.142114 -v -0.141421 -0.042288 -0.087405 -v -0.184776 -0.019098 -0.026806 -v -0.200000 0.008256 0.044676 -v -0.184776 0.035611 0.116157 -v -0.141421 0.058801 0.176756 -v -0.076536 0.074296 0.217247 -v 0.000000 0.079737 0.231466 -v 0.076537 0.074296 0.217247 -v 0.141422 0.058801 0.176756 -v 0.184776 0.035611 0.116157 -v 0.200000 0.008256 0.044676 -v 0.184776 -0.019098 -0.026806 -v 0.141422 -0.042288 -0.087405 -v 0.076537 -0.057784 -0.127896 -v 1.203775 1.500000 -1.849719 -v 0.445675 1.500000 -2.161350 -v 0.861038 1.957726 -2.078729 -v 1.983538 2.250000 -1.003500 -v -0.598266 4.500000 -2.380997 -v -0.756367 4.500000 -2.349549 -v -0.420056 2.108799 -2.166446 -v -2.126658 5.819528 0.620081 -v 0.615602 4.163866 -2.209482 -v -0.098868 4.500000 2.480334 -v 0.191898 4.500000 2.461829 -v -0.252335 3.901679 -2.150647 -v -0.325942 5.067666 -2.435166 -v 0.771172 4.500000 2.346604 -v 1.728361 1.679400 -1.385401 -v 0.441352 4.229276 2.276848 -v -0.725799 5.020985 -2.355630 -v -0.636809 4.264381 -2.255522 -v -0.232973 1.500000 -2.203659 -v 0.778100 1.500000 -1.917303 -v 1.844631 2.250000 -1.211390 -v 0.560166 5.376772 -2.388576 -v -1.831483 6.000000 0.594018 -v -0.356622 1.500000 -2.012033 -v -0.223915 5.402997 2.455461 -v -0.230325 4.216693 2.312532 -v 1.928793 1.605317 -1.085433 -v 1.792458 2.250000 -1.289472 -v 1.670841 2.250000 -1.471485 -v -0.505658 5.531159 2.399418 -v 1.748136 2.250000 -0.989340 -v -0.353334 4.500000 2.429718 -v -0.496164 4.500000 2.401307 -v -0.675478 4.500000 2.365639 -v 0.526255 4.961836 2.395321 -v 1.613860 2.250000 -1.304303 -v -0.631390 3.849639 2.049228 -v -2.426288 4.500000 0.370577 -v -2.500000 4.827446 0.000000 -v -2.449744 4.500000 -0.252656 -v -2.415688 4.331376 0.000000 -v -2.500000 5.225605 0.000000 -v -2.500000 5.478378 0.000000 -v -1.888066 2.673901 1.198317 -v -1.757647 2.750777 1.085746 -v 1.334667 0.500000 1.439413 -v 1.184635 0.500000 1.589444 -v 0.715712 1.500000 2.107636 -v 0.529961 1.500000 2.144584 -v -2.383601 5.304533 0.585175 -v -2.438384 5.315814 -0.309762 -v -1.381086 2.803025 1.632254 -v 1.387527 1.082829 1.656022 -v 1.257675 0.781978 1.501835 -v 0.670986 2.086581 2.116533 -v 0.905353 1.130488 -1.056834 -v -0.377930 1.107692 -1.297132 -v -0.000000 1.007803 -1.212485 -v -0.000000 1.129078 -1.406524 -v 0.543040 1.136896 -1.311016 -v 0.472354 1.021451 -1.140365 -v 0.610923 1.500000 1.911089 -vt 0.906292 0.208428 -vt 0.922955 0.211757 -vt 0.922955 0.271837 -vt 0.299773 0.414340 -vt 0.300143 0.351562 -vt 0.368975 0.369037 -vt 0.740025 0.722902 -vt 0.824942 0.722529 -vt 0.825313 0.789279 -vt 0.141199 0.652187 -vt 0.226081 0.652452 -vt 0.224887 0.714379 -vt 0.740396 0.789652 -vt 0.826367 0.849839 -vt 0.140004 0.714114 -vt 0.224703 0.781190 -vt 0.741450 0.850213 -vt 0.827944 0.894990 -vt 0.225114 0.810807 -vt 0.225242 0.819992 -vt 0.164039 0.828123 -vt 0.739069 0.878743 -vt 0.739069 0.930977 -vt 0.733929 0.914097 -vt 0.139739 0.979704 -vt 0.129352 0.954982 -vt 0.139739 0.895746 -vt 0.139821 0.889584 -vt 0.165995 0.899128 -vt 0.165995 0.933396 -vt 0.714344 0.395071 -vt 0.799012 0.393268 -vt 0.799260 0.458537 -vt 0.743027 0.582656 -vt 0.827944 0.582283 -vt 0.826366 0.610503 -vt 0.714592 0.460340 -vt 0.801557 0.524276 -vt 0.741450 0.610877 -vt 0.825312 0.659751 -vt 0.804499 0.565637 -vt 0.749001 0.563459 -vt 0.740396 0.660125 -vt 0.172235 0.633790 -vt 0.669875 0.103442 -vt 0.805354 0.101079 -vt 0.805354 0.153294 -vt 0.509131 0.315980 -vt 0.578532 0.325879 -vt 0.577018 0.363976 -vt 0.300143 0.481090 -vt 0.368679 0.419259 -vt 0.507972 0.345155 -vt 0.576199 0.413520 -vt 0.368975 0.472660 -vt 0.369818 0.521108 -vt 0.506947 0.407085 -vt 0.576199 0.466969 -vt 0.301197 0.541650 -vt 0.371080 0.557229 -vt 0.527286 0.515158 -vt 0.552201 0.482309 -vt 0.577018 0.516186 -vt 0.164533 0.985784 -vt 0.156795 0.949913 -vt 0.164533 0.933396 -vt 0.224243 0.889584 -vt 0.224243 0.973520 -vt 0.213253 0.913494 -vt 0.140026 0.910152 -vt 0.599445 0.090941 -vt 0.669875 0.155658 -vt 0.426392 0.927513 -vt 0.391250 0.924118 -vt 0.391250 0.870731 -vt 0.599445 0.156210 -vt 0.671513 0.208256 -vt 0.301197 0.302314 -vt 0.369818 0.329639 -vt 0.674540 0.253231 -vt 0.616956 0.273970 -vt 0.339523 0.820630 -vt 0.412539 0.743475 -vt 0.421345 0.749417 -vt 0.371080 0.307063 -vt 0.506947 0.306465 -vt 0.505685 0.329042 -vt 0.806992 0.205893 -vt 0.504842 0.368440 -vt 0.810019 0.250867 -vt 0.504546 0.418662 -vt 0.714344 0.325924 -vt 0.712830 0.364020 -vt 0.712011 0.413564 -vt 0.504842 0.472062 -vt 0.505686 0.520510 -vt 0.712011 0.467013 -vt 0.506947 0.556631 -vt 0.712830 0.516230 -vt 0.671513 0.059559 -vt 0.806992 0.057196 -vt 0.674540 0.030690 -vt 0.810019 0.028326 -vt 0.714344 0.553722 -vt 0.321099 0.914524 -vt 0.323747 0.901087 -vt 0.329042 0.901085 -vt 0.383552 0.850337 -vt 0.431732 0.751505 -vt 0.961826 0.499406 -vt 0.961341 0.480515 -vt 0.968646 0.466050 -vt 0.506947 0.906798 -vt 0.494899 0.882695 -vt 0.494488 0.844957 -vt 0.487424 0.850364 -vt 0.435488 0.860778 -vt 0.383552 0.597215 -vt 0.421345 0.698793 -vt 0.412539 0.704729 -vt 0.008753 0.649842 -vt 0.036832 0.604572 -vt 0.119223 0.677913 -vt 0.339523 0.626899 -vt 0.406655 0.713616 -vt 0.000000 0.702528 -vt 0.113607 0.686967 -vt 0.310104 0.671334 -vt 0.404589 0.724100 -vt 0.111856 0.697504 -vt 0.114238 0.707920 -vt 0.299773 0.723754 -vt 0.406655 0.734585 -vt 0.042659 0.798153 -vt 0.011906 0.754608 -vt 0.310104 0.776180 -vt 0.120388 0.716629 -vt 0.129372 0.722305 -vt 0.692526 0.284316 -vt 0.713073 0.273970 -vt 0.713073 0.296859 -vt 0.105669 0.835433 -vt 0.112704 0.838509 -vt 0.106942 0.860374 -vt 0.459520 0.919506 -vt 0.426392 0.919506 -vt 0.444030 0.860778 -vt 0.810019 0.276895 -vt 0.810019 0.208428 -vt 0.862433 0.208658 -vt 0.185872 0.965269 -vt 0.165995 0.933341 -vt 0.185872 0.926280 -vt 0.869673 0.983025 -vt 0.869673 0.914557 -vt 0.880156 0.914604 -vt 0.827944 0.886632 -vt 0.869673 0.832840 -vt 0.869673 0.928753 -vt 0.980399 0.995377 -vt 0.980399 0.927096 -vt 0.987749 0.927703 -vt 0.227321 0.850461 -vt 0.264122 0.892187 -vt 0.227321 0.971430 -vt 0.193519 0.994561 -vt 0.185872 0.995146 -vt 0.185872 0.926864 -vt 0.667807 0.864060 -vt 0.667807 0.969105 -vt 0.618115 0.922461 -vt 0.391250 0.860778 -vt 0.391250 0.929060 -vt 0.353016 0.931980 -vt 0.562730 0.929525 -vt 0.506947 0.968276 -vt 0.506947 0.856167 -vt 0.862433 0.278080 -vt 0.862433 0.209641 -vt 0.503499 0.989049 -vt 0.494488 0.944909 -vt 0.503499 0.906798 -vt 0.097373 0.976898 -vt 0.077528 0.976898 -vt 0.088278 0.945081 -vt 0.969896 0.957480 -vt 0.969896 0.996990 -vt 0.959425 0.995089 -vt 0.804984 0.487149 -vt 0.804499 0.427075 -vt 0.855448 0.426719 -vt 0.804688 0.370574 -vt 0.855638 0.370219 -vt 0.805524 0.326249 -vt 0.856474 0.325894 -vt 0.806879 0.300847 -vt 0.857829 0.300492 -vt 0.110768 0.985375 -vt 0.097373 0.945529 -vt 0.110768 0.945081 -vt 0.858751 0.514586 -vt 0.857829 0.459217 -vt 0.908758 0.459234 -vt 0.857829 0.399087 -vt 0.908758 0.399104 -vt 0.858751 0.343350 -vt 0.909680 0.343367 -vt 0.860454 0.300492 -vt 0.911383 0.300508 -vt 0.832424 0.832840 -vt 0.829373 0.782221 -vt 0.880182 0.781696 -vt 0.827944 0.723036 -vt 0.878754 0.722511 -vt 0.890529 0.957600 -vt 0.890529 0.997827 -vt 0.883234 0.995280 -vt 0.828355 0.664295 -vt 0.830544 0.614941 -vt 0.839042 0.638919 -vt 0.879165 0.663770 -vt 0.407578 0.990763 -vt 0.391250 0.961226 -vt 0.407578 0.957054 -vt 0.892886 0.652932 -vt 0.948756 0.673506 -vt 0.883234 0.751978 -vt 0.273171 0.764492 -vt 0.292342 0.711435 -vt 0.295146 0.812717 -vt 0.810019 0.101478 -vt 0.849078 0.104921 -vt 0.877009 0.208428 -vt 0.245018 0.604572 -vt 0.295146 0.649335 -vt 0.227321 0.707774 -vt 0.978092 0.957480 -vt 0.978092 0.998296 -vt 0.969896 0.979921 -vt 0.707013 0.817416 -vt 0.707013 0.984999 -vt 0.673353 0.963179 -vt 0.980399 0.584305 -vt 0.980399 0.751978 -vt 0.951127 0.669594 -vt 0.887342 0.794286 -vt 0.923873 0.751978 -vt 0.931197 0.751978 -vt 0.139654 0.877298 -vt 0.132529 0.853733 -vt 0.139654 0.835433 -vt 0.964789 0.803557 -vt 0.973688 0.751978 -vt 0.973688 0.957480 -vt 0.052953 0.896475 -vt 0.067637 0.835433 -vt 0.077528 0.836633 -vt 0.943289 0.103951 -vt 0.979052 0.000000 -vt 0.979052 0.205706 -vt 0.877009 0.002755 -vt 0.885626 0.603379 -vt 0.947543 0.635439 -vt 0.918607 0.652932 -vt 0.707013 0.921361 -vt 0.733929 0.817416 -vt 0.733929 0.962888 -vt 0.857944 0.282865 -vt 0.844728 0.284828 -vt 0.845094 0.279950 -vt 0.321099 0.860782 -vt 0.323747 0.874216 -vt 0.318855 0.876263 -vt 0.331690 0.914520 -vt 0.333935 0.899038 -vt 0.311315 0.864876 -vt 0.315110 0.880044 -vt 0.341475 0.910426 -vt 0.337679 0.895257 -vt 0.303826 0.872437 -vt 0.313084 0.884983 -vt 0.348964 0.902864 -vt 0.339706 0.890319 -vt 0.299773 0.882315 -vt 0.313084 0.890328 -vt 0.353016 0.882297 -vt 0.353016 0.892986 -vt 0.299773 0.893005 -vt 0.315110 0.895265 -vt 0.348964 0.872422 -vt 0.339706 0.884974 -vt 0.311315 0.910436 -vt 0.303826 0.902880 -vt 0.341475 0.864865 -vt 0.337679 0.880036 -vt 0.318855 0.899043 -vt 0.331690 0.860778 -vt 0.329042 0.874214 -vt 0.333935 0.876258 -vt 0.776659 0.276227 -vt 0.776524 0.273970 -vt 0.793508 0.273970 -vt 0.689700 0.275407 -vt 0.689624 0.297858 -vt 0.685379 0.296928 -vt 0.692526 0.275970 -vt 0.692526 0.298050 -vt 0.504354 0.682976 -vt 0.500651 0.682590 -vt 0.500302 0.669489 -vt 0.685379 0.274848 -vt 0.680436 0.295403 -vt 0.506352 0.683066 -vt 0.504096 0.669514 -vt 0.680219 0.274379 -vt 0.675548 0.293515 -vt 0.651965 0.298257 -vt 0.648065 0.298543 -vt 0.650287 0.284047 -vt 0.675006 0.274070 -vt 0.671459 0.291551 -vt 0.656929 0.297813 -vt 0.653745 0.282207 -vt 0.857476 0.296968 -vt 0.839811 0.298384 -vt 0.841869 0.294804 -vt 0.662201 0.297281 -vt 0.658187 0.279932 -vt 0.857691 0.293161 -vt 0.843595 0.290044 -vt 0.666979 0.296740 -vt 0.662938 0.277568 -vt 0.857855 0.288209 -vt 0.670535 0.296273 -vt 0.667274 0.275474 -vt 0.997317 0.240801 -vt 0.980333 0.240875 -vt 0.979385 0.186371 -vt 0.789996 0.962138 -vt 0.789996 0.895364 -vt 0.806654 0.898687 -vt 0.740025 0.962138 -vt 0.740025 0.895364 -vt 0.756683 0.898687 -vt 0.939619 0.208428 -vt 0.956271 0.211754 -vt 0.956271 0.271872 -vt 0.956271 0.275240 -vt 0.956271 0.208428 -vt 0.972919 0.211764 -vt 0.789996 0.962162 -vt 0.773344 0.958835 -vt 0.773344 0.898717 -vt 0.129352 0.895746 -vt 0.129352 0.962559 -vt 0.112704 0.959222 -vt 0.944687 0.532859 -vt 0.928037 0.529511 -vt 0.928037 0.469382 -vt 0.459520 0.913240 -vt 0.476169 0.916588 -vt 0.476169 0.976716 -vt 0.928037 0.532840 -vt 0.911383 0.529485 -vt 0.911383 0.469374 -vt 0.944687 0.466050 -vt 0.961341 0.469405 -vt 0.961341 0.529516 -vt 0.773343 0.895364 -vt 0.773343 0.962130 -vt 0.756683 0.958778 -vt 0.492829 0.980006 -vt 0.823317 0.962115 -vt 0.806654 0.958774 -vt 0.939619 0.275179 -vt 0.196590 0.889584 -vt 0.213253 0.892914 -vt 0.213253 0.952993 -vt 0.997375 0.738396 -vt 0.980399 0.738391 -vt 0.980399 0.678261 -vt 0.998736 0.281437 -vt 0.981753 0.281511 -vt 0.998297 0.793765 -vt 0.981320 0.793760 -vt 0.985886 0.382338 -vt 0.983684 0.382377 -vt 0.985527 0.333008 -vt 0.991134 0.300492 -vt 0.987729 0.332970 -vt 1.000000 0.835944 -vt 0.983023 0.835939 -vt 0.985886 0.441081 -vt 0.968951 0.441376 -vt 0.997317 0.025398 -vt 0.980333 0.025473 -vt 0.981753 0.000075 -vt 0.987729 0.500254 -vt 0.970794 0.500550 -vt 0.996368 0.069721 -vt 0.979385 0.069796 -vt 0.991134 0.550850 -vt 0.974199 0.551146 -vt 0.417017 0.940788 -vt 0.417187 0.957054 -vt 0.391250 0.940354 -vt 0.309711 0.957673 -vt 0.312755 0.976426 -vt 0.299773 0.976426 -vt 0.996368 0.186296 -vt 0.979052 0.126296 -vt 0.997375 0.678266 -vt 0.981320 0.622524 -vt 0.120072 0.000000 -vt 0.179701 0.000055 -vt 0.173075 0.033626 -vt 0.235298 0.022713 -vt 0.215923 0.051557 -vt 0.277462 0.065257 -vt 0.248717 0.084647 -vt 0.299773 0.121209 -vt 0.266465 0.127857 -vt 0.299773 0.181320 -vt 0.266465 0.174610 -vt 0.276954 0.236834 -vt 0.248717 0.217788 -vt 0.902451 0.957600 -vt 0.902451 0.979843 -vt 0.890529 0.973178 -vt 0.234791 0.279300 -vt 0.179701 0.302253 -vt 0.173075 0.268669 -vt 0.120072 0.302198 -vt 0.127210 0.268227 -vt 0.064983 0.279144 -vt 0.084363 0.250296 -vt 0.022819 0.236600 -vt 0.051423 0.217320 -vt 0.000000 0.181044 -vt 0.033675 0.174109 -vt 0.000000 0.120933 -vt 0.033308 0.127643 -vt 0.417187 0.927513 -vt 0.064983 0.022953 -vt 0.083850 0.051436 -vt 0.051056 0.084465 -vt 0.126698 0.033584 -vt 0.975821 0.790345 -vt 0.979960 0.751978 -vt 0.740025 0.676437 -vt 0.557472 0.799529 -vt 0.506947 0.723261 -vt 0.874812 0.557819 -vt 0.891765 0.556782 -vt 0.891765 0.576567 -vt 0.487424 0.807226 -vt 0.493695 0.807116 -vt 0.493695 0.852805 -vt 0.033898 0.943043 -vt 0.050876 0.942599 -vt 0.050876 0.977081 -vt 0.955678 0.579057 -vt 0.945014 0.532859 -vt 0.961949 0.533099 -vt 0.353016 0.932157 -vt 0.369999 0.931980 -vt 0.369999 0.975926 -vt 0.016982 0.942599 -vt 0.033898 0.943459 -vt 0.033898 0.982902 -vt 0.443376 0.966253 -vt 0.426392 0.966232 -vt 0.322449 0.950361 -vt 0.339412 0.949682 -vt 0.339412 0.983043 -vt 0.016982 0.985223 -vt 0.000000 0.984998 -vt 0.000000 0.942599 -vt 0.386973 0.975338 -vt 0.369999 0.975617 -vt 0.369999 0.932260 -vt 0.421542 0.957054 -vt 0.423594 0.957054 -vt 0.424562 0.988664 -vt 0.945014 0.579633 -vt 0.928037 0.579627 -vt 0.928037 0.532859 -vt 0.506947 0.612203 -vt 0.504916 0.612455 -vt 0.504916 0.587053 -vt 0.196290 0.956339 -vt 0.213253 0.957040 -vt 0.213253 0.989873 -vt 0.156795 0.976760 -vt 0.139821 0.976467 -vt 0.139821 0.933396 -vt 0.035664 0.102468 -vt 0.857829 0.556856 -vt 0.874812 0.556782 -vt 0.874812 0.577936 -vt 0.914212 0.278080 -vt 0.931183 0.278549 -vt 0.931183 0.296257 -vt 0.627464 0.020756 -vt 0.734317 0.289180 -vt 0.719052 0.274270 -vt 0.734408 0.273970 -vt 0.716184 0.340210 -vt 0.719830 0.304108 -vt 0.743599 0.318533 -vt 0.982056 0.604005 -vt 0.982371 0.596090 -vt 0.991088 0.591770 -vt 0.246411 0.233091 -vt 0.230903 0.254689 -vt 0.215923 0.250817 -vt 0.425186 0.949777 -vt 0.417187 0.931291 -vt 0.425186 0.927513 -vt 0.931512 0.294107 -vt 0.931183 0.279400 -vt 0.946482 0.278080 -vt 0.821185 0.976999 -vt 0.806654 0.978390 -vt 0.806654 0.963506 -vt 0.492092 0.806922 -vt 0.487424 0.786306 -vt 0.506742 0.785962 -vt 0.879512 0.298153 -vt 0.879512 0.278700 -vt 0.897072 0.278080 -vt 0.776524 0.295426 -vt 0.755632 0.295373 -vt 0.914212 0.279316 -vt 0.914212 0.297486 -vt 0.897477 0.293550 -vt 0.918853 0.957600 -vt 0.930192 0.958099 -vt 0.931937 0.974837 -vt 0.839811 0.280457 -vt 0.839811 0.300492 -vt 0.822888 0.299097 -vt 0.879512 0.279264 -vt 0.879512 0.299062 -vt 0.862624 0.295787 -vt 0.755632 0.273970 -vt 0.734408 0.295387 -vt 0.802057 0.273970 -vt 0.802057 0.297458 -vt 0.793794 0.292483 -vt 0.996035 0.126221 -vt 0.987097 0.098864 -vt 0.946481 0.289050 -vt 0.946481 0.279250 -vt 0.961792 0.278080 -vt 0.713085 0.295657 -vt 0.917169 0.975013 -vt 0.902451 0.973796 -vt 0.902451 0.963996 -vt 0.084159 0.882028 -vt 0.106251 0.891104 -vt 0.112704 0.945081 -vt 0.093149 0.854413 -vt 0.327532 0.948583 -vt 0.322449 0.914524 -vt 0.346546 0.916270 -vt 0.961950 0.561796 -vt 0.976179 0.552895 -vt 0.976179 0.579146 -vt 0.767480 0.962130 -vt 0.767480 0.976789 -vt 0.756683 0.968410 -vt 0.948979 0.368026 -vt 0.959236 0.411935 -vt 0.911383 0.429697 -vt 0.016752 0.882433 -vt 0.011214 0.920519 -vt 0.322449 0.957673 -vt 0.299773 0.948081 -vt 0.469673 0.860778 -vt 0.492792 0.870090 -vt 0.562730 0.817416 -vt 0.604162 0.897660 -vt 0.562730 0.927391 -vt 0.132529 0.838587 -vt 0.125882 0.895746 -vt 0.112704 0.835433 -vt 0.113351 0.895746 -vt 0.806023 0.290680 -vt 0.822756 0.290680 -vt 0.822606 0.295953 -vt 0.628624 0.298763 -vt 0.625133 0.279742 -vt 0.642685 0.276076 -vt 0.165995 0.911939 -vt 0.196590 0.926280 -vt 0.457622 0.919506 -vt 0.457622 0.969372 -vt 0.443376 0.924330 -vt 0.776760 0.280166 -vt 0.793643 0.276227 -vt 0.805387 0.300492 -vt 0.805873 0.295953 -vt 0.793743 0.280166 -vt 0.793794 0.285188 -vt 0.892359 0.560742 -vt 0.893546 0.556782 -vt 0.909566 0.556782 -vt 0.776811 0.285188 -vt 0.793788 0.290528 -vt 0.891765 0.565775 -vt 0.908380 0.560742 -vt 0.776804 0.290528 -vt 0.793725 0.295373 -vt 0.907785 0.565775 -vt 0.907872 0.571114 -vt 0.776632 0.298986 -vt 0.776742 0.295373 -vt 0.892607 0.575945 -vt 0.891851 0.571114 -vt 0.805279 0.281129 -vt 0.822012 0.281129 -vt 0.822547 0.285474 -vt 0.804499 0.278305 -vt 0.821232 0.278305 -vt 0.298708 0.620718 -vt 0.295146 0.622037 -vt 0.295146 0.605891 -vt 0.805814 0.285474 -vt 0.806072 0.541651 -vt 0.857021 0.541295 -vt 0.857829 0.562849 -vt 0.134387 0.316872 -vt 0.299494 0.483426 -vt 0.146845 0.593342 -vt 0.853977 0.582283 -vt 0.883234 0.597618 -vt 0.959425 0.999327 -vt 0.948642 0.957654 -vt 0.959425 0.957480 -vt 0.916607 0.532840 -vt 0.926597 0.575159 -vt 0.911383 0.575159 -vt 0.503524 0.704309 -vt 0.503524 0.785962 -vt 0.487424 0.748365 -vt 0.799924 0.366066 -vt 0.799701 0.372713 -vt 0.764168 0.380778 -vt 0.616628 0.078130 -vt 0.642847 0.064599 -vt 0.849114 0.503598 -vt 0.805506 0.513308 -vt 0.805658 0.499283 -vt 0.991435 0.880775 -vt 0.991435 0.927096 -vt 0.980399 0.922854 -vt 0.322584 0.236807 -vt 0.492337 0.020491 -vt 0.844528 0.526030 -vt 0.140675 0.842449 -vt 0.195166 0.868398 -vt 0.142439 0.889319 -vt 0.527537 0.551831 -vt 0.578532 0.553678 -vt 0.882043 0.832840 -vt 0.882043 0.914557 -vt 0.869673 0.894041 -vt 0.504590 0.668577 -vt 0.500302 0.606584 -vt 0.504590 0.586801 -vt 0.500302 0.586801 -vt 0.500302 0.704309 -vt 0.487424 0.656182 -vt 0.294955 0.930668 -vt 0.283967 0.860504 -vt 0.294955 0.812717 -vt 0.351035 0.995061 -vt 0.339412 0.995061 -vt 0.346923 0.949682 -vt 0.435488 0.586801 -vt 0.487424 0.597242 -vt 0.470974 0.634117 -vt 0.948642 0.999297 -vt 0.936722 0.974548 -vt 0.948642 0.957480 -vt 0.739461 0.817416 -vt 0.739461 0.878743 -vt 0.733929 0.858098 -vt 0.980399 0.876931 -vt 0.991874 0.835944 -vt 0.991874 0.880775 -vt 0.623244 0.273970 -vt 0.623244 0.302194 -vt 0.602068 0.275171 -vt 0.599445 0.291588 -vt 0.841413 0.040271 -vt 0.877009 0.205437 -vt 0.921726 0.019310 -vt 0.943289 0.205437 -vt 0.860454 0.556765 -vt 0.871175 0.547459 -vt 0.298807 0.930668 -vt 0.298807 0.971110 -vt 0.283967 0.970729 -vt 0.408369 0.635062 -vt 0.433639 0.640898 -vt 0.465743 0.645842 -vt 0.442119 0.698798 -vt 0.139821 0.782147 -vt 0.110332 0.789266 -vt 0.906292 0.275183 -vt 0.139821 0.780925 -vt 0.743027 0.895364 -vt 0.155084 0.809978 -vt 0.225469 0.836356 -vt 0.225557 0.842714 -vt 0.224954 0.799276 -vt 0.716889 0.526080 -vt 0.739284 0.581891 -vt 0.720886 0.582283 -vt 0.783375 0.580952 -vt 0.756406 0.581526 -vt 0.143222 0.604572 -vt 0.227321 0.623281 -vt 0.178832 0.604683 -vt 0.205869 0.604768 -vt 0.161667 0.604630 -vt 0.521443 0.302314 -vt 0.506947 0.473897 -vt 0.302775 0.586801 -vt 0.507972 0.535418 -vt 0.507593 0.512697 -vt 0.507440 0.503512 -vt 0.507866 0.529060 -vt 0.507249 0.491981 -vt 0.426392 0.860778 -vt 0.601493 0.221959 -vt 0.604277 0.263330 -vt 0.968646 0.515290 -vt 0.506947 0.817416 -vt 0.442119 0.749422 -vt 0.087577 0.826535 -vt 0.454577 0.861912 -vt 0.862433 0.277126 -vt 0.880156 0.983071 -vt 0.827944 0.982545 -vt 0.987749 0.995985 -vt 0.283967 0.933687 -vt 0.283967 0.812717 -vt 0.283967 0.878351 -vt 0.283967 0.906846 -vt 0.193519 0.926280 -vt 0.618115 0.817416 -vt 0.353016 0.863699 -vt 0.906292 0.276867 -vt 0.855934 0.486793 -vt 0.909680 0.514603 -vt 0.883234 0.832315 -vt 0.880076 0.643217 -vt 0.881353 0.614416 -vt 0.880761 0.627770 -vt 0.949514 0.751978 -vt 0.230125 0.809056 -vt 0.228581 0.753277 -vt 0.229049 0.770179 -vt 0.837950 0.204984 -vt 0.253922 0.605074 -vt 0.667807 0.817815 -vt 0.949514 0.631068 -vt 0.968231 0.579665 -vt 0.936722 0.957600 -vt 0.883234 0.957600 -vt 0.936722 0.855793 -vt 0.959498 0.791828 -vt 0.953330 0.809153 -vt 0.077528 1.000000 -vt 0.944440 0.582283 -vt 0.717064 0.969098 -vt 0.857944 0.277942 -vt 0.506352 0.668577 -vt 0.670535 0.273970 -vt 0.972919 0.271896 -vt 0.112704 0.899091 -vt 0.459520 0.980049 -vt 0.928037 0.466050 -vt 0.944687 0.532840 -vt 0.492829 0.913240 -vt 0.823317 0.895364 -vt 0.196590 0.956339 -vt 0.974199 0.300787 -vt 0.998736 0.000000 -vt 0.998297 0.622529 -vt 0.022819 0.065419 -vt 0.977867 0.790345 -vt 0.506947 0.676493 -vt 0.524689 0.633280 -vt 0.557472 0.600202 -vt 0.600305 0.582294 -vt 0.646668 0.582283 -vt 0.689501 0.600170 -vt 0.722283 0.633233 -vt 0.740025 0.723206 -vt 0.722283 0.766419 -vt 0.689500 0.799497 -vt 0.646667 0.817405 -vt 0.600305 0.817416 -vt 0.524689 0.766466 -vt 0.874812 0.577605 -vt 0.487424 0.852914 -vt 0.033898 0.977524 -vt 0.961950 0.579146 -vt 0.353016 0.976102 -vt 0.016982 0.982042 -vt 0.443376 0.919527 -vt 0.322449 0.983722 -vt 0.016982 0.942825 -vt 0.386973 0.931980 -vt 0.407578 0.988664 -vt 0.506947 0.586801 -vt 0.196290 0.989172 -vt 0.156795 0.933689 -vt 0.006826 0.104326 -vt 0.018044 0.077034 -vt 0.857829 0.578011 -vt 0.914212 0.295788 -vt 0.601493 0.036087 -vt 0.604402 0.008341 -vt 0.605276 0.000000 -vt 0.603479 0.017143 -vt 0.804499 0.302305 -vt 0.802766 0.319455 -vt 0.800852 0.338406 -vt 0.803656 0.310649 -vt 0.981502 0.617956 -vt 0.982734 0.586953 -vt 0.983023 0.579665 -vt 1.000000 0.579671 -vt 0.994052 0.610534 -vt 0.260796 0.253108 -vt 0.253009 0.260951 -vt 0.269785 0.244055 -vt 0.239284 0.274774 -vt 0.946482 0.297512 -vt 0.821185 0.962115 -vt 0.506742 0.807116 -vt 0.897072 0.297533 -vt 0.917169 0.974837 -vt 0.822756 0.277942 -vt 0.979285 0.086698 -vt 0.979121 0.114474 -vt 0.961792 0.295150 -vt 0.957155 0.295505 -vt 0.734321 0.295657 -vt 0.713073 0.274270 -vt 0.913025 0.957600 -vt 0.917169 0.957943 -vt 0.077528 0.929698 -vt 0.346546 0.949682 -vt 0.968951 0.466050 -vt 0.968951 0.419821 -vt 0.968951 0.336844 -vt 0.968951 0.379058 -vt 0.968951 0.398162 -vt 0.968951 0.355527 -vt 0.049344 0.927103 -vt 0.052953 0.942599 -vt 0.017398 0.835433 -vt 0.027989 0.835433 -vt 0.036921 0.873776 -vt 0.041106 0.891741 -vt 0.044797 0.907586 -vt 0.304876 0.914578 -vt 0.492911 0.913240 -vt 0.618115 0.966717 -vt 0.618115 0.910556 -vt 0.618115 0.856743 -vt 0.618115 0.889436 -vt 0.646176 0.279878 -vt 0.648065 0.284827 -vt 0.648065 0.290172 -vt 0.646176 0.295097 -vt 0.642685 0.298854 -vt 0.638123 0.300870 -vt 0.633186 0.300838 -vt 0.625133 0.294962 -vt 0.623244 0.290012 -vt 0.623244 0.284668 -vt 0.628624 0.275986 -vt 0.633186 0.273970 -vt 0.638123 0.274002 -vt 0.822121 0.300492 -vt 0.793615 0.298986 -vt 0.908627 0.575945 -vt 0.298708 0.604572 -vt 0.827449 0.582144 -vt 0.807594 0.582283 -vt 0.136079 0.604567 -vt 0.119960 0.604572 -vt 0.072579 0.571842 -vt 0.045143 0.561623 -vt 0.022798 0.539076 -vt 0.091472 0.592671 -vt 0.179533 0.604552 -vt 0.154725 0.604560 -vt 0.000000 0.483530 -vt 0.000000 0.423399 -vt 0.022798 0.367837 -vt 0.064922 0.325304 -vt 0.119960 0.302273 -vt 0.130015 0.302270 -vt 0.142867 0.302265 -vt 0.179533 0.302253 -vt 0.234572 0.325245 -vt 0.276696 0.367749 -vt 0.299494 0.423295 -vt 0.276696 0.538988 -vt 0.234572 0.581521 -vt 0.834176 0.582487 -vt 0.761774 0.357916 -vt 0.799397 0.381779 -vt 0.800602 0.345857 -vt 0.600212 0.070389 -vt 0.600460 0.063743 -vt 0.599874 0.079454 -vt 0.601215 0.043537 -vt 0.534484 0.022998 -vt 0.576634 0.065507 -vt 0.515090 0.025297 -vt 0.599445 0.121056 -vt 0.599445 0.181187 -vt 0.576634 0.236747 -vt 0.534484 0.279276 -vt 0.479413 0.302300 -vt 0.419805 0.302314 -vt 0.364734 0.279316 -vt 0.299773 0.121127 -vt 0.322584 0.065568 -vt 0.364734 0.023038 -vt 0.419805 0.000014 -vt 0.479413 0.000000 -vt 0.505845 0.011038 -vt 0.490161 0.004488 -vt 0.525468 0.019233 -vt 0.511736 0.013498 -vt 0.805197 0.497786 -vt 0.805894 0.532728 -vt 0.805622 0.519138 -vt 0.227321 0.889584 -vt 0.226979 0.880495 -vt 0.225911 0.852115 -vt 0.509864 0.582283 -vt 0.508351 0.544818 -vt 0.509497 0.573194 -vt 0.434095 0.627569 -vt 0.845762 0.000000 -vt 0.858420 0.001116 -vt 0.849924 0.000367 -vt 0.936491 0.000000 -vt 0.883467 0.000000 -vt 0.929429 0.000000 -vt 0.915012 0.000000 -vt 0.911096 0.549663 -vt 0.911383 0.556782 -vt 0.910728 0.540564 -vt 0.431732 0.696710 -vt 0.139821 0.795002 -vt 0.139821 0.835433 -vt 0.139821 0.724085 -vn 0.000000 1.000000 0.000000 -vn 0.880600 -0.440300 0.175200 -vn 0.980800 0.000000 -0.195100 -vn -0.831500 0.000000 0.555600 -vn 0.831500 0.000000 -0.555600 -vn -0.555600 0.000000 0.831500 -vn 0.555600 0.000000 -0.831500 -vn -0.195100 -0.000000 0.980800 -vn 0.564200 -0.042700 -0.824500 -vn 0.820200 -0.046700 -0.570200 -vn -0.085700 -0.149400 0.985100 -vn -0.555600 0.000000 -0.831500 -vn 0.555600 0.000000 0.831500 -vn -0.831500 0.000000 -0.555600 -vn 0.831500 0.000000 0.555600 -vn -0.980800 -0.000000 -0.195100 -vn 0.980800 0.000000 0.195100 -vn -0.980800 0.000000 0.195100 -vn -0.880600 -0.440300 0.175200 -vn 0.880600 -0.440300 -0.175200 -vn -0.746500 -0.440300 0.498800 -vn 0.746500 -0.440300 -0.498800 -vn -0.498800 -0.440300 0.746500 -vn 0.498800 -0.440300 -0.746500 -vn -0.175200 -0.440300 0.880600 -vn -0.806300 -0.169800 -0.566500 -vn -0.566700 -0.145600 -0.811000 -vn 0.440800 -0.192900 0.876700 -vn -0.498800 -0.440300 -0.746500 -vn 0.498800 -0.440300 0.746500 -vn -0.746500 -0.440300 -0.498800 -vn 0.746500 -0.440300 0.498800 -vn -0.880600 -0.440300 -0.175200 -vn -0.298600 -0.843300 0.446800 -vn -0.195100 0.000000 -0.980800 -vn 0.195100 -0.000000 -0.980800 -vn 0.195100 -0.000000 0.980800 -vn 0.000000 -1.000000 0.000000 -vn -0.104800 -0.843300 0.527100 -vn 0.153300 -0.233500 -0.960200 -vn 0.030200 -0.995500 -0.090300 -vn 0.104800 -0.843300 0.527100 -vn -0.298600 -0.843300 -0.446800 -vn 0.298600 -0.843300 0.446800 -vn -0.446800 -0.843300 -0.298600 -vn 0.446800 -0.843300 0.298600 -vn -0.527100 -0.843300 -0.104800 -vn 0.527100 -0.843300 0.104800 -vn -0.527100 -0.843300 0.104800 -vn 0.527100 -0.843300 -0.104800 -vn -0.446800 -0.843300 0.298600 -vn 0.446800 -0.843300 -0.298600 -vn 0.364700 0.057400 0.929400 -vn -0.996100 -0.087800 0.000000 -vn 0.537400 -0.843300 0.000000 -vn 1.000000 0.000000 0.000000 -vn 0.176100 -0.865900 -0.468200 -vn 0.000000 -0.000000 -1.000000 -vn -1.000000 -0.000000 0.000000 -vn 0.000000 0.000000 1.000000 -vn 0.479900 -0.179300 -0.858800 -vn 0.551100 -0.364600 -0.750600 -vn 0.936900 0.142600 0.319300 -vn -0.880000 -0.074200 0.469200 -vn 0.081700 0.156300 -0.984300 -vn 0.146700 -0.352500 -0.924200 -vn -0.667100 0.386400 -0.636900 -vn -0.656500 0.371400 0.656500 -vn 0.656500 0.371400 0.656500 -vn -0.672100 -0.310700 0.672100 -vn 0.932900 -0.302400 -0.195600 -vn 0.706600 -0.036500 0.706600 -vn -0.640900 -0.035600 0.766800 -vn 0.706600 -0.036500 -0.706600 -vn -0.364800 -0.295100 0.883100 -vn -0.640900 -0.035600 -0.766800 -vn 0.766800 -0.035600 0.640900 -vn -0.766800 -0.035600 0.640900 -vn 0.640900 -0.035600 -0.766800 -vn -0.678500 -0.356100 -0.642600 -vn 0.563200 -0.025100 -0.826000 -vn -0.156000 -0.280300 0.947200 -vn 0.555600 0.297200 0.776600 -vn -0.175400 0.093500 -0.980000 -vn 0.194200 0.097700 -0.976100 -vn 0.186700 -0.290800 0.938400 -vn -0.512700 0.085500 -0.854300 -vn 0.539500 -0.238900 0.807400 -vn -0.798800 0.068400 -0.597700 -vn 0.822900 -0.143000 0.549900 -vn -0.975200 0.030400 -0.219300 -vn 0.979900 -0.042000 0.194900 -vn -0.974200 -0.038400 0.222200 -vn 0.980200 0.033700 -0.195000 -vn -0.781800 -0.131300 0.609600 -vn 0.829000 0.076800 -0.553900 -vn -0.477800 -0.221100 0.850200 -vn 0.553100 0.094700 -0.827700 -vn 0.179600 0.869200 0.460700 -vn -0.434300 0.615300 -0.657900 -vn -0.150600 0.906500 -0.394300 -vn -0.079100 0.914100 -0.397600 -vn -0.261100 0.542300 0.798600 -vn 0.472500 0.855600 -0.211400 -vn 0.079800 0.912500 -0.401100 -vn -0.059600 0.952100 -0.299800 -vn -0.169800 0.952100 -0.254100 -vn 0.342800 0.826000 -0.447400 -vn 0.175200 -0.440300 -0.880600 -vn -0.392000 0.826600 -0.403900 -vn -0.285000 0.570600 -0.770100 -vn 0.000000 0.017700 -0.999800 -vn 0.000000 0.013500 0.999900 -vn 0.000000 0.975500 -0.219900 -vn -0.972300 0.114300 -0.204000 -vn 0.204000 0.114300 -0.972300 -vn 0.972300 0.114300 0.204000 -vn -0.204000 0.114300 0.972300 -vn -0.123800 0.592800 0.795800 -vn -0.785700 -0.618600 -0.000000 -vn -0.898400 -0.439100 0.000800 -vn 0.999400 -0.022300 -0.026100 -vn 0.277600 -0.954000 -0.113100 -vn 0.358000 -0.116400 0.926400 -vn 0.000000 -0.843300 0.537400 -vn -0.341200 -0.923000 0.177900 -vn 0.445300 -0.894300 -0.043500 -vn 0.439800 -0.896900 -0.047000 -vn -0.831500 -0.198600 -0.518900 -vn 0.000000 -0.934000 0.357400 -vn -0.874600 0.067600 -0.480200 -vn 0.549700 -0.731700 0.403100 -vn 0.831500 0.198600 0.518900 -vn -0.980800 -0.069700 -0.182200 -vn 0.980800 0.069700 0.182200 -vn -0.980800 0.069700 0.182200 -vn 0.980800 -0.069700 -0.182200 -vn -0.831500 0.198600 0.518900 -vn 0.831500 -0.198600 -0.518900 -vn -0.555600 0.297200 0.776600 -vn 0.555600 -0.297200 -0.776600 -vn -0.195100 0.350500 0.916000 -vn -0.195100 -0.350500 -0.916000 -vn 0.195100 -0.350500 -0.916000 -vn 0.195100 0.350500 0.916000 -vn -0.555600 -0.297200 -0.776600 -vn 0.683000 -0.111900 -0.721800 -vn -0.819800 -0.219600 -0.529000 -vn -0.726500 -0.205800 -0.655600 -vn -0.175200 -0.440300 -0.880600 -vn 0.899700 0.193900 0.391000 -vn -0.059500 0.130800 -0.989600 -vn 0.175200 -0.440300 0.880600 -vn -0.714800 -0.079800 0.694800 -vn 0.551900 -0.102700 0.827600 -vn -0.928500 -0.007900 0.371200 -vn 0.878600 -0.159400 0.450100 -vn -0.382200 0.907000 0.176600 -vn 0.104800 -0.843300 -0.527100 -vn -0.899000 -0.435200 0.049500 -vn -0.729900 0.681500 0.053300 -vn -0.741600 -0.386900 0.548000 -vn -0.984700 -0.167400 0.048000 -vn -0.985600 -0.167500 0.021100 -vn 0.672100 -0.310700 0.672100 -vn -0.706600 -0.036500 -0.706600 -vn 0.924400 -0.206900 0.320500 -vn -0.104800 -0.843300 -0.527100 -vn 0.298600 -0.843300 -0.446800 -vn 0.183600 0.023800 -0.982700 -vn 0.030600 -0.997200 -0.068700 -vn -0.996000 -0.089200 0.002000 -vn -0.656500 0.371400 -0.656500 -vn -0.637500 0.432600 -0.637500 -vn -0.664800 -0.340700 -0.664800 -vn -0.672100 -0.310700 -0.672100 -vn 0.718500 0.165800 -0.675500 -vn -0.186700 -0.290800 0.938400 -vn -0.194200 0.097700 -0.976100 -vn 0.175400 0.093500 -0.980000 -vn 0.156000 -0.280300 0.947200 -vn -0.553100 0.094700 -0.827700 -vn 0.477800 -0.221100 0.850200 -vn -0.829000 0.076800 -0.553900 -vn 0.781800 -0.131300 0.609600 -vn -0.980200 0.033700 -0.195000 -vn 0.974200 -0.038400 0.222200 -vn -0.979900 -0.042000 0.194900 -vn 0.975200 0.030400 -0.219300 -vn -0.822900 -0.143000 0.549900 -vn 0.798800 0.068400 -0.597700 -vn -0.539500 -0.238900 0.807400 -vn 0.512700 0.085500 -0.854300 -vn -0.011800 0.906500 -0.421900 -vn -0.163100 0.903200 -0.397000 -vn -0.397400 0.917600 -0.011100 -vn -0.993500 -0.114300 0.000000 -vn 0.000000 -0.114300 -0.993500 -vn 0.993500 -0.114300 0.000000 -vn 0.000000 -0.114300 0.993500 -vn -0.897200 -0.441600 0.003900 -vn 0.984000 -0.153200 -0.091500 -vn -0.273200 -0.938000 0.213500 -vn 0.000000 -0.933900 0.357400 -s off -f 15/1/1 205/2/1 204/3/1 -f 29/4/2 28/5/2 44/6/2 -f 13/7/3 29/8/3 30/9/3 -f 6/10/4 22/11/4 23/12/4 -f 14/13/5 30/9/5 31/14/5 -f 7/15/6 23/12/6 24/16/6 -f 15/17/7 31/14/7 32/18/7 -f 365/19/8 364/20/8 357/21/8 -f 349/22/9 350/23/9 338/24/9 -f 341/25/10 270/26/10 354/27/10 -f 348/28/11 346/29/11 367/30/11 -f 2/31/12 17/32/12 19/33/12 -f 10/34/13 26/35/13 27/36/13 -f 3/37/14 19/33/14 20/38/14 -f 11/39/15 27/36/15 28/40/15 -f 20/38/16 372/41/16 383/42/16 -f 12/43/17 28/40/17 29/8/17 -f 6/10/18 382/44/18 22/11/18 -f 33/45/12 49/46/12 51/47/12 -f 370/48/19 37/49/19 38/50/19 -f 30/51/20 29/4/20 45/52/20 -f 22/53/21 38/50/21 39/54/21 -f 30/51/22 46/55/22 47/56/22 -f 23/57/23 39/54/23 40/58/23 -f 31/59/24 47/56/24 48/60/24 -f 358/61/25 369/62/25 41/63/25 -f 349/64/26 337/65/26 350/66/26 -f 341/67/27 354/68/27 269/69/27 -f 348/28/28 367/30/28 343/70/28 -f 17/71/29 33/45/29 35/72/29 -f 26/73/30 42/74/30 43/75/30 -f 19/76/31 35/72/31 36/77/31 -f 27/78/32 43/79/32 44/6/32 -f 36/77/33 37/80/33 373/81/33 -f 55/82/34 71/83/34 72/84/34 -f 42/85/13 58/86/13 59/87/13 -f 35/72/14 51/47/14 52/88/14 -f 43/79/15 59/87/15 60/89/15 -f 36/77/16 52/88/16 53/90/16 -f 44/6/17 60/89/17 61/91/17 -f 37/49/18 53/92/18 54/93/18 -f 46/55/3 45/52/3 61/91/3 -f 38/50/4 54/93/4 55/94/4 -f 46/55/5 62/95/5 63/96/5 -f 39/54/6 55/94/6 56/97/6 -f 47/56/7 63/96/7 64/98/7 -f 40/58/8 56/97/8 57/99/8 -f 34/100/35 50/101/35 49/46/35 -f 48/102/36 64/103/36 50/101/36 -f 41/63/37 57/99/37 58/104/37 -f 73/105/38 167/106/38 168/107/38 -f 56/108/39 72/84/39 73/109/39 -f 393/110/40 390/111/40 389/112/40 -f 389/113/41 391/114/41 392/115/41 -f 58/116/42 57/117/42 73/109/42 -f 49/118/43 65/119/43 67/120/43 -f 59/121/44 58/122/44 74/123/44 -f 51/124/45 67/120/45 68/125/45 -f 60/126/46 59/121/46 75/127/46 -f 52/128/47 68/125/47 69/129/47 -f 60/126/48 76/130/48 77/131/48 -f 53/132/49 69/129/49 70/133/49 -f 62/134/50 61/135/50 77/131/50 -f 54/136/51 70/133/51 71/83/51 -f 62/134/52 78/137/52 79/138/52 -f 306/139/53 299/140/53 307/141/53 -f 105/142/54 106/143/54 298/144/54 -f 303/145/55 304/146/55 104/147/55 -f 85/148/56 98/149/56 97/150/56 -f 306/151/57 307/152/57 300/153/57 -f 88/154/56 99/155/56 100/156/56 -f 87/157/36 100/158/36 94/159/36 -f 90/160/58 101/161/58 102/162/58 -f 91/163/8 311/164/8 85/165/8 -f 91/166/59 92/167/59 103/168/59 -f 88/169/37 82/170/37 93/171/37 -f 81/172/59 94/173/59 93/174/59 -f 89/175/16 102/176/16 96/177/16 -f 83/178/60 96/179/60 95/1/60 -f 344/180/61 266/181/61 345/182/61 -f 352/183/62 334/184/62 335/185/62 -f 347/186/63 361/187/63 368/188/63 -f 116/189/3 118/190/3 117/191/3 -f 118/190/17 120/192/17 119/193/17 -f 120/192/15 122/194/15 121/195/15 -f 122/194/13 124/196/13 123/197/13 -f 387/198/64 394/199/64 380/200/64 -f 126/201/8 128/202/8 127/203/8 -f 128/202/6 130/204/6 129/205/6 -f 130/204/4 132/206/4 131/207/4 -f 132/206/18 134/208/18 133/209/18 -f 134/210/16 136/211/16 135/212/16 -f 136/211/14 138/213/14 137/214/14 -f 347/215/65 368/216/65 360/217/65 -f 140/218/35 110/219/35 339/220/35 -f 138/213/12 140/218/12 139/221/12 -f 335/222/66 333/223/66 352/224/66 -f 144/225/67 314/226/67 152/227/67 -f 384/228/68 108/229/68 146/230/68 -f 142/231/69 141/232/69 147/233/69 -f 153/234/70 317/235/70 107/236/70 -f 385/237/71 379/238/71 386/239/71 -f 151/240/72 149/241/72 150/242/72 -f 149/243/73 151/244/73 314/245/73 -f 316/246/74 143/247/74 153/248/74 -f 385/249/75 386/250/75 378/251/75 -f 377/252/76 145/253/76 153/254/76 -f 108/255/77 317/256/77 316/257/77 -f 142/258/78 148/259/78 156/260/78 -f 141/232/79 155/261/79 147/233/79 -f 157/262/80 315/263/80 313/264/80 -f 144/265/81 152/266/81 150/267/81 -f 166/268/82 182/269/82 183/270/82 -f 65/271/38 159/272/38 161/273/38 -f 74/274/38 168/107/38 169/275/38 -f 67/276/38 161/273/38 162/277/38 -f 75/278/38 169/275/38 170/279/38 -f 68/280/38 162/277/38 163/281/38 -f 76/282/38 170/279/38 171/283/38 -f 69/284/38 163/281/38 164/285/38 -f 78/286/38 77/287/38 171/283/38 -f 70/288/38 164/285/38 165/289/38 -f 79/290/38 78/286/38 172/291/38 -f 72/292/38 71/293/38 165/289/38 -f 80/294/38 79/290/38 173/295/38 -f 72/292/38 166/296/38 167/106/38 -f 65/271/38 66/297/38 160/298/38 -f 80/294/38 174/299/38 160/298/38 -f 185/300/83 184/301/83 326/302/83 -f 160/303/84 176/304/84 175/305/84 -f 160/303/85 174/306/85 190/307/85 -f 168/308/86 167/309/86 183/310/86 -f 159/311/87 175/305/87 177/312/87 -f 169/313/88 168/308/88 184/314/88 -f 161/315/89 177/312/89 178/316/89 -f 170/317/90 169/318/90 185/319/90 -f 162/320/91 178/316/91 179/321/91 -f 171/322/92 170/317/92 186/323/92 -f 163/324/93 179/325/93 180/326/93 -f 172/327/94 171/322/94 187/328/94 -f 164/329/95 180/326/95 181/330/95 -f 173/331/96 172/327/96 188/332/96 -f 165/333/97 181/330/97 182/269/97 -f 174/334/98 173/331/98 189/335/98 -f 205/336/5 221/337/5 220/338/5 -f 7/339/1 8/340/1 198/341/1 -f 15/342/1 16/343/1 206/344/1 -f 9/345/1 199/346/1 198/347/1 -f 1/348/1 2/349/1 191/350/1 -f 1/351/1 192/352/1 206/353/1 -f 9/354/1 10/355/1 200/356/1 -f 3/357/1 193/358/1 191/359/1 -f 11/360/1 201/361/1 200/362/1 -f 4/363/1 194/364/1 193/365/1 -f 12/366/1 202/367/1 201/368/1 -f 4/369/1 5/370/1 195/371/1 -f 13/372/1 203/362/1 202/361/1 -f 6/373/1 196/374/1 195/341/1 -f 14/375/1 204/3/1 203/2/1 -f 7/376/1 197/377/1 196/378/1 -f 198/379/6 214/380/6 213/381/6 -f 206/382/7 222/383/7 221/337/7 -f 199/384/8 215/385/8 214/380/8 -f 191/386/35 207/387/35 208/388/35 -f 206/389/36 192/390/36 208/388/36 -f 200/391/37 216/392/37 215/385/37 -f 193/393/12 209/394/12 207/387/12 -f 201/395/13 217/396/13 216/397/13 -f 194/398/14 210/399/14 209/394/14 -f 202/400/15 218/401/15 217/396/15 -f 195/402/16 211/403/16 210/399/16 -f 267/404/99 258/405/99 268/406/99 -f 355/407/100 340/408/100 288/409/100 -f 204/410/3 220/338/3 219/411/3 -f 197/412/4 213/381/4 212/413/4 -f 221/414/1 222/415/1 238/416/1 -f 222/415/101 208/417/101 223/418/101 -f 208/417/102 207/419/102 224/420/102 -f 209/421/1 225/422/1 224/420/1 -f 210/423/1 226/424/1 225/422/1 -f 210/423/1 211/425/1 227/426/1 -f 355/427/103 287/428/103 340/429/103 -f 212/430/1 213/431/1 229/432/1 -f 214/433/104 230/434/104 229/432/104 -f 215/435/105 231/436/105 230/434/105 -f 215/435/106 216/437/106 232/438/106 -f 216/437/107 217/439/107 233/440/107 -f 217/439/1 218/441/1 234/442/1 -f 267/404/108 268/406/108 291/443/108 -f 220/444/1 236/445/1 235/446/1 -f 221/414/1 237/447/1 236/445/1 -f 231/448/35 232/253/35 248/449/35 -f 247/450/1 253/451/1 240/452/1 -f 225/453/13 241/454/13 239/455/13 -f 233/456/12 249/457/12 248/458/12 -f 226/459/15 242/460/15 241/461/15 -f 233/462/14 234/463/14 250/464/14 -f 227/465/17 243/466/17 242/467/17 -f 235/468/16 251/469/16 250/470/16 -f 228/471/3 244/472/3 243/146/3 -f 236/473/18 252/474/18 251/475/18 -f 229/476/5 245/477/5 244/478/5 -f 237/479/4 253/480/4 252/481/4 -f 230/482/7 246/483/7 245/484/7 -f 238/485/6 254/486/6 253/487/6 -f 231/488/36 247/489/36 246/490/36 -f 224/491/37 239/492/37 240/493/37 -f 223/494/8 240/495/8 254/496/8 -f 268/497/1 235/446/1 234/442/1 -f 260/498/56 259/499/56 261/500/56 -f 256/501/60 255/502/60 259/503/60 -f 341/504/109 48/102/109 34/100/109 -f 293/505/110 292/506/110 294/507/110 -f 1/508/36 16/509/36 354/510/36 -f 287/511/18 290/512/18 264/513/18 -f 263/514/1 355/515/1 228/516/1 -f 263/517/111 264/518/111 290/519/111 -f 274/520/59 273/521/59 271/522/59 -f 278/523/112 277/524/112 273/525/112 -f 278/526/56 276/527/56 275/528/56 -f 272/529/113 271/530/113 275/531/113 -f 278/301/114 274/532/114 272/533/114 -f 280/534/115 282/535/115 281/536/115 -f 282/537/116 286/538/116 285/539/116 -f 286/540/117 284/541/117 283/542/117 -f 284/543/118 280/544/118 279/545/118 -f 286/546/1 282/533/1 280/547/1 -f 263/548/119 289/549/119 264/550/119 -f 203/551/17 267/552/17 202/400/17 -f 294/553/59 257/554/59 255/555/59 -f 292/506/1 293/505/1 260/556/1 -f 261/557/58 257/558/58 294/559/58 -f 295/560/120 296/561/120 93/562/120 -f 297/563/121 298/144/121 296/561/121 -f 312/564/122 311/565/122 304/566/122 -f 309/567/123 302/568/123 310/569/123 -f 309/570/124 310/571/124 301/572/124 -f 307/573/3 309/574/3 90/575/3 -f 96/478/125 310/576/125 306/577/125 -f 308/565/126 305/578/126 311/579/126 -f 97/360/55 98/580/55 305/581/55 -f 86/582/35 312/583/35 92/584/35 -f 150/585/127 149/586/127 157/587/127 -f 158/588/128 157/587/128 149/586/128 -f 177/589/129 319/590/129 320/591/129 -f 327/592/130 323/593/130 319/594/130 -f 315/595/131 314/376/131 313/596/131 -f 317/597/132 143/598/132 316/599/132 -f 186/600/133 185/300/133 327/601/133 -f 179/602/134 178/603/134 320/591/134 -f 186/600/135 328/604/135 329/605/135 -f 180/606/136 179/607/136 321/608/136 -f 187/609/137 329/605/137 330/610/137 -f 181/611/138 180/606/138 322/612/138 -f 188/613/139 330/610/139 331/614/139 -f 181/611/140 323/615/140 324/616/140 -f 190/617/141 189/618/141 331/614/141 -f 183/619/142 182/620/142 324/616/142 -f 176/621/143 318/622/143 154/623/143 -f 190/624/144 332/625/144 318/622/144 -f 184/626/145 183/627/145 325/628/145 -f 175/629/146 154/623/146 319/590/146 -f 114/630/7 113/631/7 333/632/7 -f 394/633/38 133/634/38 356/635/38 -f 110/219/36 335/636/36 334/637/36 -f 339/638/147 356/639/147 111/640/147 -f 339/641/148 351/642/148 356/643/148 -f 344/644/149 345/645/149 265/646/149 -f 266/647/35 337/648/35 349/649/35 -f 350/650/150 344/651/150 33/45/150 -f 359/652/151 353/653/151 363/654/151 -f 359/655/152 363/656/152 336/657/152 -f 128/658/1 126/423/1 363/659/1 -f 347/660/5 353/653/5 359/652/5 -f 9/661/37 367/662/37 10/663/37 -f 348/664/153 41/63/153 42/665/153 -f 357/666/154 358/667/154 342/668/154 -f 357/669/155 364/670/155 358/671/155 -f 362/672/156 369/673/156 365/674/156 -f 362/675/157 366/676/157 369/677/157 -f 377/678/158 376/679/158 384/680/158 -f 50/681/159 64/682/159 392/683/159 -f 382/684/160 375/685/160 383/686/160 -f 382/687/161 383/688/161 374/689/161 -f 377/690/162 384/691/162 21/692/162 -f 370/693/163 371/694/163 373/695/163 -f 372/696/164 373/695/164 371/694/164 -f 142/231/165 385/697/165 141/232/165 -f 147/698/166 386/699/166 148/700/166 -f 124/701/37 126/201/37 387/702/37 -f 387/703/167 381/704/167 394/705/167 -f 49/118/168 389/706/168 65/119/168 -f 390/707/159 393/708/159 80/709/159 -f 79/138/169 393/710/169 388/711/169 -f 14/712/1 15/1/1 204/3/1 -f 45/52/2 29/4/2 44/6/2 -f 14/13/3 13/7/3 30/9/3 -f 7/15/4 6/10/4 23/12/4 -f 15/17/5 14/13/5 31/14/5 -f 8/713/6 7/15/6 24/16/6 -f 16/714/7 15/17/7 32/18/7 -f 8/713/8 24/16/8 362/715/8 -f 342/716/8 25/717/8 357/21/8 -f 24/16/8 366/718/8 362/715/8 -f 357/21/8 25/717/8 9/661/8 -f 9/661/8 8/713/8 362/715/8 -f 362/715/8 365/19/8 357/21/8 -f 357/21/8 9/661/8 362/715/8 -f 3/37/12 2/31/12 19/33/12 -f 11/39/13 10/34/13 27/36/13 -f 4/719/14 3/37/14 20/38/14 -f 12/43/15 11/39/15 28/40/15 -f 375/720/16 5/721/16 383/42/16 -f 4/719/16 20/38/16 383/42/16 -f 372/41/16 371/722/16 383/42/16 -f 383/42/16 5/721/16 4/719/16 -f 371/722/16 374/723/16 383/42/16 -f 13/7/17 12/43/17 29/8/17 -f 6/10/18 5/724/18 382/44/18 -f 370/725/18 22/11/18 382/44/18 -f 374/726/18 371/727/18 382/44/18 -f 5/724/18 375/728/18 382/44/18 -f 382/44/18 371/727/18 370/725/18 -f 35/72/12 33/45/12 51/47/12 -f 38/50/19 22/53/19 370/48/19 -f 370/48/19 373/729/19 37/49/19 -f 46/55/20 30/51/20 45/52/20 -f 23/57/21 22/53/21 39/54/21 -f 31/59/22 30/51/22 47/56/22 -f 24/730/23 23/57/23 40/58/23 -f 32/731/24 31/59/24 48/60/24 -f 41/63/25 25/732/25 358/61/25 -f 358/61/25 364/733/25 365/734/25 -f 25/732/25 342/735/25 358/61/25 -f 366/736/25 24/730/25 369/62/25 -f 40/58/25 41/63/25 369/62/25 -f 358/61/25 365/734/25 369/62/25 -f 369/62/25 24/730/25 40/58/25 -f 19/76/29 17/71/29 35/72/29 -f 27/737/30 26/73/30 43/75/30 -f 20/738/31 19/76/31 36/77/31 -f 28/5/32 27/78/32 44/6/32 -f 373/81/33 372/739/33 36/77/33 -f 20/738/33 36/77/33 372/739/33 -f 56/108/34 55/82/34 72/84/34 -f 43/79/13 42/85/13 59/87/13 -f 36/77/14 35/72/14 52/88/14 -f 44/6/15 43/79/15 60/89/15 -f 37/80/16 36/77/16 53/90/16 -f 45/52/17 44/6/17 61/91/17 -f 38/50/18 37/49/18 54/93/18 -f 62/95/3 46/55/3 61/91/3 -f 39/54/4 38/50/4 55/94/4 -f 47/56/5 46/55/5 63/96/5 -f 40/58/6 39/54/6 56/97/6 -f 48/60/7 47/56/7 64/98/7 -f 41/63/8 40/58/8 57/99/8 -f 33/45/35 34/100/35 49/46/35 -f 34/100/36 48/102/36 50/101/36 -f 42/665/37 41/63/37 58/104/37 -f 74/274/38 73/105/38 168/107/38 -f 57/117/39 56/108/39 73/109/39 -f 388/740/170 393/110/170 389/112/170 -f 388/741/171 389/113/171 392/115/171 -f 74/742/42 58/116/42 73/109/42 -f 51/124/43 49/118/43 67/120/43 -f 75/127/44 59/121/44 74/123/44 -f 52/128/45 51/124/45 68/125/45 -f 76/130/46 60/126/46 75/127/46 -f 53/132/47 52/128/47 69/129/47 -f 61/135/48 60/126/48 77/131/48 -f 54/136/49 53/132/49 70/133/49 -f 78/137/50 62/134/50 77/131/50 -f 55/82/51 54/136/51 71/83/51 -f 63/743/52 62/134/52 79/138/52 -f 297/563/172 105/142/172 298/144/172 -f 103/744/55 303/145/55 104/147/55 -f 86/745/56 85/148/56 97/150/56 -f 87/746/56 88/154/56 100/156/56 -f 81/747/36 87/157/36 94/159/36 -f 89/748/58 90/160/58 102/162/58 -f 98/749/8 85/165/8 311/164/8 -f 91/163/8 104/750/8 304/751/8 -f 311/164/8 305/752/8 98/749/8 -f 91/163/8 304/751/8 311/164/8 -f 104/753/59 91/166/59 103/168/59 -f 99/754/37 88/169/37 93/171/37 -f 82/755/59 81/172/59 93/174/59 -f 83/582/16 89/175/16 96/177/16 -f 84/756/60 83/178/60 95/1/60 -f 115/757/3 116/189/3 117/191/3 -f 117/191/17 118/190/17 119/193/17 -f 119/193/15 120/192/15 121/195/15 -f 121/195/13 122/194/13 123/197/13 -f 125/758/8 126/201/8 127/203/8 -f 127/203/6 128/202/6 129/205/6 -f 129/205/4 130/204/4 131/207/4 -f 131/207/18 132/206/18 133/209/18 -f 133/759/16 134/210/16 135/212/16 -f 135/212/14 136/211/14 137/214/14 -f 111/760/35 139/221/35 339/220/35 -f 110/219/35 109/761/35 339/220/35 -f 339/220/35 139/221/35 140/218/35 -f 109/761/35 351/762/35 339/220/35 -f 137/214/12 138/213/12 139/221/12 -f 151/763/173 152/227/173 314/226/173 -f 144/225/174 313/264/174 314/226/174 -f 146/230/68 145/764/68 384/228/68 -f 384/228/68 376/765/68 107/236/68 -f 145/764/68 21/766/68 384/228/68 -f 384/228/68 107/236/68 108/229/68 -f 148/767/69 142/231/69 147/233/69 -f 108/229/70 107/236/70 317/235/70 -f 153/234/70 143/768/70 317/235/70 -f 152/769/72 151/240/72 150/242/72 -f 314/245/73 315/770/73 149/243/73 -f 158/771/73 149/243/73 315/770/73 -f 153/248/74 145/772/74 316/246/74 -f 146/773/74 316/246/74 145/772/74 -f 153/254/76 107/774/76 377/252/76 -f 377/252/76 21/775/76 145/253/76 -f 107/774/76 376/776/76 377/252/76 -f 146/777/77 108/255/77 316/257/77 -f 313/264/175 144/225/175 157/262/175 -f 157/262/176 158/778/176 315/263/176 -f 157/779/177 144/265/177 150/267/177 -f 167/780/178 166/268/178 183/270/178 -f 67/276/38 65/271/38 161/273/38 -f 75/278/38 74/274/38 169/275/38 -f 68/280/38 67/276/38 162/277/38 -f 76/282/38 75/278/38 170/279/38 -f 69/284/38 68/280/38 163/281/38 -f 77/287/38 76/282/38 171/283/38 -f 70/288/38 69/284/38 164/285/38 -f 172/291/38 78/286/38 171/283/38 -f 71/293/38 70/288/38 165/289/38 -f 173/295/38 79/290/38 172/291/38 -f 166/296/38 72/292/38 165/289/38 -f 174/299/38 80/294/38 173/295/38 -f 73/105/38 72/292/38 167/106/38 -f 159/272/38 65/271/38 160/298/38 -f 66/297/38 80/294/38 160/298/38 -f 327/601/83 185/300/83 326/302/83 -f 159/311/179 160/303/179 175/305/179 -f 176/304/180 160/303/180 190/307/180 -f 184/314/181 168/308/181 183/310/181 -f 161/315/182 159/311/182 177/312/182 -f 185/781/183 169/313/183 184/314/183 -f 162/320/184 161/315/184 178/316/184 -f 186/323/185 170/317/185 185/319/185 -f 163/782/186 162/320/186 179/321/186 -f 187/328/187 171/322/187 186/323/187 -f 164/329/188 163/324/188 180/326/188 -f 188/332/189 172/327/189 187/328/189 -f 165/333/190 164/329/190 181/330/190 -f 189/335/191 173/331/191 188/332/191 -f 166/268/192 165/333/192 182/269/192 -f 190/782/193 174/334/193 189/335/193 -f 204/410/5 205/336/5 220/338/5 -f 197/374/1 7/339/1 198/341/1 -f 205/371/1 15/342/1 206/344/1 -f 8/375/1 9/345/1 198/347/1 -f 192/783/1 1/348/1 191/350/1 -f 16/340/1 1/351/1 206/353/1 -f 199/784/1 9/354/1 200/356/1 -f 2/366/1 3/357/1 191/359/1 -f 10/785/1 11/360/1 200/362/1 -f 3/786/1 4/363/1 193/365/1 -f 11/787/1 12/366/1 201/368/1 -f 194/344/1 4/369/1 195/371/1 -f 12/788/1 13/372/1 202/361/1 -f 5/789/1 6/373/1 195/341/1 -f 13/345/1 14/375/1 203/2/1 -f 6/790/1 7/376/1 196/378/1 -f 197/412/6 198/379/6 213/381/6 -f 205/336/7 206/382/7 221/337/7 -f 198/379/8 199/384/8 214/380/8 -f 192/390/35 191/386/35 208/388/35 -f 222/791/36 206/389/36 208/388/36 -f 199/384/37 200/391/37 215/385/37 -f 191/386/12 193/393/12 207/387/12 -f 200/792/13 201/395/13 216/397/13 -f 193/393/14 194/398/14 209/394/14 -f 201/395/15 202/400/15 217/396/15 -f 194/398/16 195/402/16 210/399/16 -f 203/551/3 204/410/3 219/411/3 -f 196/793/4 197/412/4 212/413/4 -f 237/447/1 221/414/1 238/416/1 -f 238/416/1 222/415/1 223/418/1 -f 223/418/102 208/417/102 224/420/102 -f 207/419/194 209/421/194 224/420/194 -f 209/421/1 210/423/1 225/422/1 -f 226/424/1 210/423/1 227/426/1 -f 228/516/1 212/430/1 229/432/1 -f 213/431/1 214/433/1 229/432/1 -f 214/433/105 215/435/105 230/434/105 -f 231/436/195 215/435/195 232/438/195 -f 232/438/107 216/437/107 233/440/107 -f 233/440/196 217/439/196 234/442/196 -f 219/794/1 220/444/1 235/446/1 -f 220/444/1 221/414/1 236/445/1 -f 247/795/35 231/448/35 248/449/35 -f 240/452/1 239/796/1 241/797/1 -f 241/797/1 242/798/1 243/799/1 -f 243/799/1 244/800/1 247/450/1 -f 245/801/1 246/802/1 247/450/1 -f 247/450/1 248/803/1 249/804/1 -f 249/804/1 250/805/1 247/450/1 -f 251/806/1 252/807/1 253/451/1 -f 253/451/1 254/808/1 240/452/1 -f 240/452/1 241/797/1 247/450/1 -f 244/800/1 245/801/1 247/450/1 -f 247/450/1 250/805/1 251/806/1 -f 251/806/1 253/451/1 247/450/1 -f 241/797/1 243/799/1 247/450/1 -f 224/809/13 225/453/13 239/455/13 -f 232/810/12 233/456/12 248/458/12 -f 225/811/15 226/459/15 241/461/15 -f 249/812/14 233/462/14 250/464/14 -f 226/813/17 227/465/17 242/467/17 -f 234/814/16 235/468/16 250/470/16 -f 227/815/3 228/471/3 243/146/3 -f 235/816/18 236/473/18 251/475/18 -f 228/817/5 229/476/5 244/478/5 -f 236/818/4 237/479/4 252/481/4 -f 229/819/7 230/482/7 245/484/7 -f 237/463/6 238/485/6 253/487/6 -f 230/820/36 231/488/36 246/490/36 -f 223/821/37 224/491/37 240/493/37 -f 238/822/8 223/494/8 254/496/8 -f 234/442/1 218/441/1 291/823/1 -f 268/497/1 258/824/1 235/446/1 -f 234/442/1 291/823/1 268/497/1 -f 258/824/1 219/794/1 235/446/1 -f 262/825/56 260/498/56 261/500/56 -f 260/826/60 256/501/60 259/503/60 -f 34/100/109 18/827/109 341/504/109 -f 341/504/109 269/828/109 32/829/109 -f 18/827/109 270/830/109 341/504/109 -f 32/829/109 48/102/109 341/504/109 -f 16/509/36 32/831/36 354/510/36 -f 270/832/36 18/833/36 354/510/36 -f 32/831/36 269/834/36 354/510/36 -f 354/510/36 18/833/36 1/508/36 -f 196/793/18 212/413/18 288/835/18 -f 289/836/18 211/837/18 195/838/18 -f 196/793/18 288/835/18 340/839/18 -f 264/513/18 289/836/18 195/838/18 -f 195/838/18 196/793/18 340/839/18 -f 340/839/18 287/511/18 264/513/18 -f 264/513/18 195/838/18 340/839/18 -f 227/426/1 211/425/1 263/514/1 -f 263/514/1 290/840/1 287/841/1 -f 211/425/1 289/842/1 263/514/1 -f 288/843/1 212/430/1 355/515/1 -f 228/516/1 227/426/1 263/514/1 -f 263/514/1 287/841/1 355/515/1 -f 355/515/1 212/430/1 228/516/1 -f 272/844/59 274/520/59 271/522/59 -f 274/845/112 278/523/112 273/525/112 -f 277/846/56 278/526/56 275/528/56 -f 276/847/113 272/529/113 275/531/113 -f 276/546/114 278/301/114 272/533/114 -f 279/531/197 280/534/197 281/536/197 -f 281/848/198 282/537/198 285/539/198 -f 285/849/199 286/540/199 283/542/199 -f 283/178/200 284/543/200 279/545/200 -f 284/507/1 286/546/1 280/547/1 -f 218/401/17 202/400/17 291/850/17 -f 203/551/17 219/411/17 258/851/17 -f 267/552/17 291/850/17 202/400/17 -f 203/551/17 258/851/17 267/552/17 -f 255/555/59 256/852/59 293/853/59 -f 293/853/59 294/553/59 255/555/59 -f 256/854/1 260/556/1 293/505/1 -f 262/855/1 292/506/1 260/556/1 -f 294/559/58 292/856/58 261/557/58 -f 262/857/58 261/557/58 292/856/58 -f 94/858/120 295/560/120 93/562/120 -f 295/560/201 297/563/201 296/561/201 -f 303/859/202 312/564/202 304/566/202 -f 101/860/3 90/575/3 301/861/3 -f 84/209/3 95/862/3 307/573/3 -f 307/573/3 299/863/3 302/864/3 -f 95/862/3 300/865/3 307/573/3 -f 309/574/3 301/861/3 90/575/3 -f 90/575/3 84/209/3 307/573/3 -f 307/573/3 302/864/3 309/574/3 -f 300/866/125 95/867/125 306/577/125 -f 96/478/125 102/868/125 310/576/125 -f 101/869/125 301/870/125 102/868/125 -f 310/576/125 302/871/125 306/577/125 -f 306/577/125 95/867/125 96/478/125 -f 302/871/125 299/872/125 306/577/125 -f 102/868/125 301/870/125 310/576/125 -f 312/873/203 308/565/203 311/579/203 -f 308/874/55 97/360/55 305/581/55 -f 103/875/35 92/584/35 303/876/35 -f 86/582/35 97/877/35 312/583/35 -f 312/583/35 303/876/35 92/584/35 -f 97/877/35 308/878/35 312/583/35 -f 178/603/129 177/589/129 320/591/129 -f 319/594/204 154/879/204 318/880/204 -f 318/880/204 332/881/204 319/594/204 -f 331/882/130 330/883/130 327/592/130 -f 329/884/130 328/885/130 327/592/130 -f 327/592/204 326/886/204 325/887/204 -f 325/887/204 324/888/204 327/592/204 -f 323/593/204 322/889/204 319/594/204 -f 321/890/204 320/891/204 319/594/204 -f 319/594/204 332/881/204 331/882/204 -f 330/883/204 329/884/204 327/592/204 -f 327/592/204 324/888/204 323/593/204 -f 322/889/130 321/890/130 319/594/130 -f 319/594/130 331/882/130 327/592/130 -f 328/604/133 186/600/133 327/601/133 -f 321/892/134 179/602/134 320/591/134 -f 187/609/135 186/600/135 329/605/135 -f 322/612/136 180/606/136 321/608/136 -f 188/613/137 187/609/137 330/610/137 -f 323/615/138 181/611/138 322/612/138 -f 189/618/139 188/613/139 331/614/139 -f 182/620/140 181/611/140 324/616/140 -f 332/893/141 190/617/141 331/614/141 -f 325/894/142 183/619/142 324/616/142 -f 175/629/143 176/621/143 154/623/143 -f 176/621/144 190/624/144 318/622/144 -f 326/895/145 184/626/145 325/628/145 -f 177/589/146 175/629/146 319/590/146 -f 333/632/7 335/896/7 114/630/7 -f 112/897/7 114/630/7 335/896/7 -f 351/898/38 109/899/38 356/635/38 -f 352/900/38 333/901/38 113/902/38 -f 109/899/38 334/903/38 356/635/38 -f 139/904/38 111/905/38 356/635/38 -f 356/635/38 334/903/38 352/900/38 -f 352/900/38 113/902/38 115/906/38 -f 115/906/38 117/907/38 352/900/38 -f 119/908/38 121/909/38 394/633/38 -f 123/910/38 380/911/38 394/633/38 -f 394/633/38 381/912/38 125/913/38 -f 125/913/38 127/914/38 394/633/38 -f 129/915/38 131/916/38 394/633/38 -f 133/634/38 135/917/38 356/635/38 -f 137/918/38 139/904/38 356/635/38 -f 356/635/38 352/900/38 394/633/38 -f 117/907/38 119/908/38 394/633/38 -f 394/633/38 127/914/38 129/915/38 -f 121/909/38 123/910/38 394/633/38 -f 137/918/38 356/635/38 135/917/38 -f 131/916/38 133/634/38 394/633/38 -f 117/907/38 394/633/38 352/900/38 -f 334/637/36 109/761/36 110/219/36 -f 110/219/36 112/919/36 335/636/36 -f 1/508/35 18/833/35 345/920/35 -f 338/921/35 17/32/35 349/649/35 -f 18/833/35 265/922/35 345/920/35 -f 349/649/35 17/32/35 2/31/35 -f 2/31/35 1/508/35 345/920/35 -f 345/920/35 266/647/35 349/649/35 -f 349/649/35 2/31/35 345/920/35 -f 33/45/150 17/71/150 350/650/150 -f 350/650/150 337/923/150 266/924/150 -f 17/71/150 338/925/150 350/650/150 -f 265/926/150 18/827/150 344/651/150 -f 34/100/150 33/45/150 344/651/150 -f 350/650/150 266/924/150 344/651/150 -f 344/651/150 18/827/150 34/100/150 -f 114/927/1 112/928/1 368/929/1 -f 110/930/1 140/931/1 363/659/1 -f 138/932/1 136/933/1 363/659/1 -f 134/934/1 132/935/1 363/659/1 -f 130/936/1 128/658/1 363/659/1 -f 126/423/1 124/937/1 363/659/1 -f 122/938/1 120/939/1 363/659/1 -f 118/940/1 116/941/1 363/659/1 -f 363/659/1 353/942/1 368/929/1 -f 116/941/1 336/943/1 363/659/1 -f 124/937/1 122/938/1 363/659/1 -f 132/935/1 130/936/1 363/659/1 -f 140/931/1 138/932/1 363/659/1 -f 361/944/1 114/927/1 368/929/1 -f 353/942/1 360/945/1 368/929/1 -f 368/929/1 112/928/1 110/930/1 -f 136/933/1 134/934/1 363/659/1 -f 120/939/1 118/940/1 363/659/1 -f 363/659/1 368/929/1 110/930/1 -f 113/631/5 114/630/5 347/660/5 -f 336/946/5 116/189/5 359/652/5 -f 114/630/5 361/947/5 347/660/5 -f 359/652/5 116/189/5 115/757/5 -f 115/757/5 113/631/5 359/652/5 -f 347/660/5 360/948/5 353/653/5 -f 359/652/5 113/631/5 347/660/5 -f 26/949/37 10/663/37 367/662/37 -f 9/661/37 25/717/37 367/662/37 -f 367/662/37 346/950/37 26/949/37 -f 25/717/37 343/951/37 367/662/37 -f 42/665/153 26/952/153 348/664/153 -f 348/664/153 343/953/153 25/732/153 -f 26/952/153 346/954/153 348/664/153 -f 25/732/153 41/63/153 348/664/153 -f 391/955/159 50/681/159 392/683/159 -f 142/231/165 156/956/165 385/697/165 -f 155/261/165 141/232/165 385/697/165 -f 385/697/165 378/957/165 155/261/165 -f 156/956/165 379/958/165 385/697/165 -f 156/959/166 148/700/166 386/699/166 -f 147/698/166 155/960/166 386/699/166 -f 386/699/166 379/961/166 156/959/166 -f 155/960/166 378/962/166 386/699/166 -f 380/963/37 123/964/37 387/702/37 -f 126/201/37 125/758/37 381/965/37 -f 387/702/37 123/964/37 124/701/37 -f 126/201/37 381/965/37 387/702/37 -f 49/118/168 50/681/168 389/706/168 -f 66/966/168 65/119/168 390/707/168 -f 389/706/168 390/707/168 65/119/168 -f 50/681/168 391/955/168 389/706/168 -f 66/966/159 390/707/159 80/709/159 -f 392/967/169 64/968/169 388/711/169 -f 63/743/169 79/138/169 388/711/169 -f 80/969/169 393/710/169 79/138/169 -f 388/711/169 64/968/169 63/743/169 diff --git a/src/main/resources/assets/hbm/models/ams_limiter.obj b/src/main/resources/assets/hbm/models/ams_limiter.obj deleted file mode 100644 index e328f0724..000000000 --- a/src/main/resources/assets/hbm/models/ams_limiter.obj +++ /dev/null @@ -1,1301 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'ams_limiter.blend' -# www.blender.org -o Cube.001_Cube.002 -v 0.500001 0.000000 -2.500000 -v 0.250001 1.000000 -2.000000 -v 0.500000 0.000000 2.500000 -v 0.250000 1.000000 2.500000 -v -0.499999 0.000000 -2.500000 -v -0.249999 1.000000 -2.000000 -v -0.500000 0.000000 2.500000 -v -0.250000 1.000000 2.500000 -v 0.156251 0.343750 -2.500000 -v 0.156251 0.656250 -2.500000 -v 0.156251 0.343750 -2.150000 -v 0.156251 0.656250 -2.150000 -v -0.156249 0.343750 -2.500000 -v -0.156249 0.656250 -2.500000 -v -0.156249 0.343750 -2.150000 -v -0.156249 0.656250 -2.150000 -v -0.500000 0.343750 -0.156250 -v -0.500000 0.656250 -0.156250 -v 0.500000 0.343750 -0.156250 -v 0.500000 0.656250 -0.156250 -v -0.500000 0.343750 0.156250 -v -0.500000 0.656250 0.156250 -v 0.500000 0.343750 0.156250 -v 0.500000 0.656250 0.156250 -v -0.000000 6.000000 2.250000 -v 0.000000 6.000000 -0.750000 -v -0.353553 5.853553 2.250000 -v -0.353553 5.853553 -0.750000 -v -0.500000 5.500000 2.250000 -v -0.500000 5.500000 -0.750000 -v -0.353553 5.146447 2.250000 -v -0.353553 5.146447 -0.750000 -v 0.000000 5.000000 2.250000 -v 0.000000 5.000000 -0.750000 -v 0.353553 5.146447 2.250000 -v 0.353554 5.146447 -0.750000 -v 0.500000 5.500000 2.250000 -v 0.500000 5.500000 -0.750000 -v 0.353553 5.853553 2.250000 -v 0.353554 5.853553 -0.750000 -v -0.000000 5.875000 2.250000 -v -0.265165 5.765165 2.250000 -v -0.375000 5.500000 2.250000 -v -0.265165 5.234835 2.250000 -v -0.000000 5.125000 2.250000 -v 0.265165 5.234835 2.250000 -v 0.375000 5.500000 2.250000 -v 0.265165 5.765165 2.250000 -v -0.000000 5.875000 2.500000 -v -0.265165 5.765165 2.500000 -v -0.375000 5.500000 2.500000 -v -0.265165 5.234835 2.500000 -v -0.000000 5.125000 2.500000 -v 0.265165 5.234835 2.500000 -v 0.375000 5.500000 2.500000 -v 0.265165 5.765165 2.500000 -v -0.176776 5.676777 -1.000000 -v 0.000000 5.750000 -1.000000 -v -0.250000 5.500000 -1.000000 -v -0.176776 5.323223 -1.000000 -v 0.000000 5.250000 -1.000000 -v 0.176777 5.323223 -1.000000 -v 0.250000 5.500000 -1.000000 -v 0.176777 5.676777 -1.000000 -v 0.250000 3.000000 0.000000 -v -0.250000 3.000000 0.000000 -v 0.250000 3.000000 -1.000000 -v -0.250000 3.000000 -1.000000 -v 0.250000 5.500000 1.000000 -v -0.250000 5.500000 1.000000 -v 0.250000 5.500000 0.000000 -v -0.250000 5.500000 0.000000 -v 0.250000 1.000000 2.000000 -v -0.250000 1.000000 2.000000 -v 0.250000 1.000000 1.000000 -v -0.250000 1.000000 1.000000 -v 0.500000 2.668544 -0.168544 -v 0.500000 3.000000 -0.031250 -v 0.500000 3.000000 0.125000 -v -0.500000 3.000000 0.125000 -v 0.500000 2.558058 -0.058058 -v -0.500000 2.558058 -0.058058 -v 0.500000 2.375000 -0.500000 -v -0.500000 2.375000 -0.500000 -v 0.500000 2.558058 -0.941942 -v -0.500000 2.558058 -0.941942 -v 0.500000 3.000000 -1.125000 -v -0.499999 3.000000 -1.125000 -v 0.500001 3.441942 -0.941942 -v -0.500000 3.441942 -0.941942 -v 0.500000 3.625000 -0.500000 -v -0.500000 3.625000 -0.500000 -v 0.500000 3.441942 -0.058058 -v -0.500000 3.441942 -0.058058 -v 0.500000 2.531250 -0.500000 -v 0.500000 2.668544 -0.831456 -v 0.500000 3.000000 -0.968750 -v 0.500001 3.331456 -0.831456 -v 0.500000 3.468750 -0.500000 -v 0.500000 3.331456 -0.168544 -v 0.375000 3.331456 -0.168544 -v 0.375000 3.000000 -0.031250 -v 0.375001 3.468750 -0.500000 -v 0.375001 3.331456 -0.831456 -v 0.375000 3.000000 -0.968750 -v 0.375000 2.668544 -0.831456 -v 0.375000 2.531250 -0.500000 -v 0.375000 2.668544 -0.168544 -v -0.500000 2.668544 -0.168544 -v -0.500000 3.000000 -0.031250 -v -0.500000 2.531250 -0.500000 -v -0.500000 2.668544 -0.831456 -v -0.500000 3.000000 -0.968750 -v -0.500000 3.331456 -0.831456 -v -0.500000 3.468750 -0.500000 -v -0.500000 3.331456 -0.168544 -v -0.375000 2.668544 -0.168544 -v -0.375000 3.000000 -0.031250 -v -0.375000 2.531250 -0.500000 -v -0.375000 2.668544 -0.831456 -v -0.375000 3.000000 -0.968750 -v -0.375000 3.331456 -0.831456 -v -0.375000 3.468750 -0.500000 -v -0.375000 3.331456 -0.168544 -v 0.500000 0.668544 1.831456 -v 0.500000 1.000000 1.968750 -v 0.500000 1.000000 2.125000 -v -0.500000 1.000000 2.125000 -v 0.500000 0.558058 1.941942 -v -0.500000 0.558058 1.941942 -v 0.500000 0.375000 1.500000 -v -0.500000 0.375000 1.500000 -v 0.500000 0.558058 1.058058 -v -0.500000 0.558058 1.058058 -v 0.500000 1.000000 0.875000 -v -0.500000 1.000000 0.875000 -v 0.500000 1.441942 1.058058 -v -0.500000 1.441942 1.058058 -v 0.500000 1.625000 1.500000 -v -0.500000 1.625000 1.500000 -v 0.500000 1.441942 1.941942 -v -0.500000 1.441942 1.941942 -v 0.500000 0.531250 1.500000 -v 0.500000 0.668544 1.168544 -v 0.500000 1.000000 1.031250 -v 0.500000 1.331456 1.168544 -v 0.500000 1.468750 1.500000 -v 0.500000 1.331456 1.831456 -v 0.375000 1.331456 1.831456 -v 0.375000 1.000000 1.968750 -v 0.375000 1.468750 1.500000 -v 0.375000 1.331456 1.168544 -v 0.375000 1.000000 1.031250 -v 0.375000 0.668544 1.168544 -v 0.375000 0.531250 1.500000 -v 0.375000 0.668544 1.831456 -v -0.500000 0.668544 1.831456 -v -0.500000 1.000000 1.968750 -v -0.500000 0.531250 1.500000 -v -0.500000 0.668544 1.168544 -v -0.500000 1.000000 1.031250 -v -0.500000 1.331456 1.168544 -v -0.500000 1.468750 1.500000 -v -0.500000 1.331456 1.831456 -v -0.375000 0.668544 1.831456 -v -0.375000 1.000000 1.968750 -v -0.375000 0.531250 1.500000 -v -0.375000 0.668544 1.168544 -v -0.375000 1.000000 1.031250 -v -0.375000 1.331456 1.168544 -v -0.375000 1.468750 1.500000 -v -0.375000 1.331456 1.831456 -v 0.125000 5.550000 -1.000000 -v 0.125001 5.550000 -1.500000 -v 0.081699 5.525000 -1.000000 -v 0.081699 5.525000 -1.500000 -v 0.081699 5.475000 -1.000000 -v 0.081699 5.475000 -1.500000 -v 0.125000 5.450000 -1.000000 -v 0.125001 5.450000 -1.500000 -v 0.168302 5.475000 -1.000000 -v 0.168302 5.475000 -1.500000 -v 0.168302 5.525000 -1.000000 -v 0.168302 5.525000 -1.500000 -v -0.125000 5.550000 -1.000000 -v -0.124999 5.550000 -1.500000 -v -0.168301 5.525000 -1.000000 -v -0.168301 5.525000 -1.500000 -v -0.168301 5.475000 -1.000000 -v -0.168301 5.475000 -1.500000 -v -0.125000 5.450000 -1.000000 -v -0.124999 5.450000 -1.500000 -v -0.081698 5.475000 -1.000000 -v -0.081698 5.475000 -1.500000 -v -0.081698 5.525000 -1.000000 -v -0.081698 5.525000 -1.500000 -v 0.081699 5.493492 -1.608551 -v 0.125001 5.516984 -1.617101 -v 0.081699 5.446507 -1.591449 -v 0.125001 5.423015 -1.582899 -v 0.168302 5.446507 -1.591449 -v 0.168302 5.493492 -1.608551 -v -0.168301 5.493492 -1.608551 -v -0.124999 5.516984 -1.617101 -v -0.168301 5.446507 -1.591449 -v -0.124999 5.423015 -1.582899 -v -0.081698 5.446507 -1.591449 -v -0.081698 5.493492 -1.608551 -v 0.081699 5.404948 -1.710039 -v 0.125001 5.424099 -1.726108 -v 0.081699 5.366646 -1.677899 -v 0.125001 5.347495 -1.661829 -v 0.168302 5.366646 -1.677899 -v 0.168302 5.404948 -1.710039 -v -0.168301 5.404948 -1.710039 -v -0.124999 5.424099 -1.726108 -v -0.168301 5.366646 -1.677899 -v -0.124999 5.347495 -1.661829 -v -0.081698 5.366646 -1.677899 -v -0.081698 5.404948 -1.710039 -v 0.081699 5.291929 -1.776042 -v 0.125001 5.296270 -1.800662 -v 0.081699 5.283247 -1.726802 -v 0.125001 5.278905 -1.702182 -v 0.168302 5.283247 -1.726802 -v 0.168302 5.291929 -1.776042 -v -0.168301 5.291929 -1.776042 -v -0.124999 5.296270 -1.800662 -v -0.168301 5.283247 -1.726802 -v -0.124999 5.278905 -1.702182 -v -0.081698 5.283247 -1.726802 -v -0.081698 5.291929 -1.776042 -v 0.081699 5.139866 -1.802469 -v 0.125001 5.139866 -1.827469 -v 0.081699 5.139866 -1.752469 -v 0.125001 5.139866 -1.727469 -v 0.168302 5.139866 -1.752469 -v 0.168302 5.139866 -1.802469 -v -0.168301 5.139866 -1.802469 -v -0.124999 5.139866 -1.827469 -v -0.168301 5.139866 -1.752469 -v -0.124999 5.139866 -1.727469 -v -0.081698 5.139866 -1.752469 -v -0.081698 5.139866 -1.802469 -v 0.081690 0.999866 -1.802482 -v 0.124992 0.999866 -1.827482 -v 0.081690 0.999866 -1.752481 -v 0.124992 0.999866 -1.727482 -v 0.168293 0.999866 -1.752481 -v 0.168293 0.999866 -1.802482 -v -0.168310 0.999866 -1.802482 -v -0.125008 0.999866 -1.827482 -v -0.168310 0.999866 -1.752481 -v -0.125008 0.999866 -1.727482 -v -0.081707 0.999866 -1.752481 -v -0.081707 0.999866 -1.802482 -v -0.250000 6.875000 -0.437500 -v -0.250000 6.875000 -0.312500 -v -0.250000 5.875000 -0.437500 -v -0.250000 5.875000 -0.312500 -v 0.250000 6.375000 -0.437500 -v 0.250000 6.375000 -0.312500 -v 0.250000 5.875000 -0.437500 -v 0.250000 5.875000 -0.312500 -vt 0.516018 0.105402 -vt 0.605530 0.083024 -vt 0.605530 0.172537 -vt 0.113213 0.150158 -vt 0.013135 0.172537 -vt 0.013135 0.083024 -vt 0.709461 0.897353 -vt 0.709461 0.986865 -vt 0.261900 0.986865 -vt 0.516018 0.013135 -vt 0.113213 0.105402 -vt 0.516018 0.150158 -vt 0.516018 0.242426 -vt 0.691103 0.097053 -vt 0.691103 0.125026 -vt 0.659773 0.125026 -vt 0.659773 0.069080 -vt 0.659773 0.041108 -vt 0.691103 0.041108 -vt 0.659773 0.097053 -vt 0.631801 0.097053 -vt 0.631801 0.069080 -vt 0.691103 0.013135 -vt 0.691103 0.069080 -vt 0.041108 0.624951 -vt 0.041108 0.596979 -vt 0.130620 0.596979 -vt 0.041108 0.652924 -vt 0.013135 0.652924 -vt 0.013135 0.624951 -vt 0.130620 0.652924 -vt 0.130620 0.680896 -vt 0.041108 0.680896 -vt 0.130620 0.624951 -vt 0.158593 0.624951 -vt 0.158593 0.652924 -vt 0.041108 0.569006 -vt 0.130620 0.569006 -vt 0.043602 0.405716 -vt 0.043602 0.371461 -vt 0.312139 0.371461 -vt 0.043602 0.337206 -vt 0.312139 0.337207 -vt 0.043603 0.302951 -vt 0.312139 0.302952 -vt 0.043603 0.268696 -vt 0.312139 0.268697 -vt 0.043602 0.542735 -vt 0.043602 0.508480 -vt 0.312139 0.508481 -vt 0.043602 0.474225 -vt 0.312139 0.474226 -vt 0.013135 0.465662 -vt 0.013135 0.448534 -vt 0.312139 0.439971 -vt 0.043602 0.439971 -vt 0.322476 0.307234 -vt 0.717291 0.621272 -vt 0.708727 0.641946 -vt 0.684992 0.632115 -vt 0.322476 0.478508 -vt 0.322476 0.504199 -vt 0.322477 0.272979 -vt 0.322476 0.444253 -vt 0.322476 0.341489 -vt 0.322476 0.367180 -vt 0.322476 0.512762 -vt 0.322476 0.538453 -vt 0.312139 0.405716 -vt 0.322476 0.409998 -vt 0.322476 0.375743 -vt 0.322476 0.401434 -vt 0.684992 0.699249 -vt 0.651425 0.665682 -vt 0.640582 0.633383 -vt 0.661256 0.641946 -vt 0.652692 0.710092 -vt 0.661256 0.689417 -vt 0.729402 0.697981 -vt 0.708727 0.689417 -vt 0.718559 0.665682 -vt 0.676428 0.611440 -vt 0.630750 0.674246 -vt 0.693555 0.719924 -vt 0.739233 0.657118 -vt 0.116936 0.719278 -vt 0.146174 0.707167 -vt 0.129047 0.748516 -vt 0.013136 0.362897 -vt 0.013136 0.345770 -vt 0.013135 0.534171 -vt 0.013135 0.517044 -vt 0.013136 0.431407 -vt 0.013136 0.397152 -vt 0.013136 0.380024 -vt 0.013136 0.328642 -vt 0.013136 0.311515 -vt 0.013135 0.499917 -vt 0.013136 0.294387 -vt 0.521369 0.509715 -vt 0.476613 0.509715 -vt 0.476613 0.268696 -vt 0.393503 0.301940 -vt 0.393503 0.542959 -vt 0.348747 0.542959 -vt 0.521369 0.268696 -vt 0.604479 0.301940 -vt 0.846852 0.521875 -vt 0.783557 0.585170 -vt 0.783557 0.331991 -vt 0.738801 0.585170 -vt 0.738801 0.331991 -vt 0.630750 0.268696 -vt 0.675506 0.268696 -vt 0.675506 0.521875 -vt 0.470636 0.695844 -vt 0.470632 0.707033 -vt 0.438518 0.707022 -vt 0.561630 0.682954 -vt 0.556273 0.695874 -vt 0.524159 0.695863 -vt 0.518842 0.593427 -vt 0.561661 0.593442 -vt 0.384999 0.695815 -vt 0.384995 0.707004 -vt 0.352881 0.706993 -vt 0.347537 0.682880 -vt 0.390356 0.682895 -vt 0.604479 0.593457 -vt 0.427818 0.695830 -vt 0.427814 0.707019 -vt 0.395700 0.707008 -vt 0.342181 0.695800 -vt 0.310067 0.695789 -vt 0.261900 0.682851 -vt 0.261931 0.593339 -vt 0.304750 0.593353 -vt 0.513455 0.695859 -vt 0.513451 0.707048 -vt 0.481337 0.707037 -vt 0.433174 0.682910 -vt 0.475993 0.682925 -vt 0.347568 0.593368 -vt 0.654509 0.228826 -vt 0.631801 0.174004 -vt 0.686623 0.151296 -vt 0.304719 0.682866 -vt 0.299362 0.695785 -vt 0.390387 0.593383 -vt 0.267248 0.695774 -vt 0.299358 0.706974 -vt 0.433205 0.593398 -vt 0.524199 0.580507 -vt 0.476024 0.593412 -vt 0.566978 0.695878 -vt 0.599092 0.695889 -vt 0.599088 0.707078 -vt 0.604448 0.682969 -vt 0.518811 0.682939 -vt 0.556269 0.707063 -vt 0.342177 0.706989 -vt 0.310063 0.706978 -vt 0.352925 0.580448 -vt 0.352929 0.569259 -vt 0.385043 0.569270 -vt 0.267288 0.580419 -vt 0.299402 0.580430 -vt 0.438562 0.580478 -vt 0.470676 0.580489 -vt 0.310106 0.580434 -vt 0.481381 0.580493 -vt 0.513494 0.580504 -vt 0.385039 0.580459 -vt 0.567018 0.580522 -vt 0.395743 0.580463 -vt 0.427857 0.580474 -vt 0.067957 0.784697 -vt 0.013135 0.729875 -vt 0.035843 0.707167 -vt 0.267292 0.569230 -vt 0.299406 0.569241 -vt 0.524203 0.569318 -vt 0.556317 0.569329 -vt 0.481384 0.569304 -vt 0.513498 0.569315 -vt 0.395747 0.569274 -vt 0.427861 0.569285 -vt 0.310110 0.569245 -vt 0.342224 0.569256 -vt 0.567021 0.569333 -vt 0.599135 0.569344 -vt 0.438566 0.569289 -vt 0.470680 0.569300 -vt 0.438527 0.859893 -vt 0.470641 0.859893 -vt 0.470641 0.871082 -vt 0.561630 0.846971 -vt 0.556278 0.859893 -vt 0.524164 0.859893 -vt 0.518811 0.757459 -vt 0.561630 0.757459 -vt 0.352890 0.859893 -vt 0.385003 0.859893 -vt 0.385003 0.871082 -vt 0.347537 0.846971 -vt 0.390356 0.846971 -vt 0.604448 0.757459 -vt 0.604448 0.846971 -vt 0.395708 0.859893 -vt 0.427822 0.859893 -vt 0.427822 0.871082 -vt 0.304719 0.846971 -vt 0.342185 0.859893 -vt 0.261900 0.846971 -vt 0.261900 0.757459 -vt 0.304719 0.757459 -vt 0.481345 0.859893 -vt 0.513459 0.859893 -vt 0.513459 0.871082 -vt 0.433174 0.846971 -vt 0.475993 0.846971 -vt 0.347537 0.757459 -vt 0.758309 0.228826 -vt 0.735601 0.174004 -vt 0.790423 0.151296 -vt 0.299366 0.859893 -vt 0.267253 0.859893 -vt 0.390356 0.757459 -vt 0.299366 0.871082 -vt 0.267253 0.871082 -vt 0.433174 0.757459 -vt 0.524164 0.744537 -vt 0.556278 0.744537 -vt 0.475993 0.757459 -vt 0.518811 0.846971 -vt 0.599096 0.859893 -vt 0.599096 0.871082 -vt 0.566982 0.871082 -vt 0.566982 0.859893 -vt 0.556278 0.871082 -vt 0.524164 0.871082 -vt 0.342185 0.871082 -vt 0.310071 0.871082 -vt 0.352890 0.744537 -vt 0.352890 0.733348 -vt 0.385003 0.733348 -vt 0.267253 0.744537 -vt 0.299366 0.744537 -vt 0.438527 0.744537 -vt 0.470641 0.744537 -vt 0.310071 0.744537 -vt 0.342185 0.744537 -vt 0.481345 0.744537 -vt 0.566982 0.744537 -vt 0.599096 0.744537 -vt 0.395708 0.744537 -vt 0.772195 0.090665 -vt 0.717373 0.035843 -vt 0.740081 0.013135 -vt 0.267253 0.733348 -vt 0.299366 0.733348 -vt 0.524164 0.733348 -vt 0.556278 0.733348 -vt 0.513459 0.744537 -vt 0.481345 0.733348 -vt 0.395708 0.733348 -vt 0.427822 0.733348 -vt 0.310071 0.733348 -vt 0.342185 0.733348 -vt 0.566982 0.733348 -vt 0.599096 0.733348 -vt 0.438527 0.733348 -vt 0.683393 0.776958 -vt 0.683397 0.772483 -vt 0.728153 0.772514 -vt 0.683400 0.768007 -vt 0.728156 0.768038 -vt 0.683403 0.763532 -vt 0.728159 0.763562 -vt 0.683384 0.790385 -vt 0.683387 0.785910 -vt 0.728143 0.785941 -vt 0.067126 0.838324 -vt 0.057306 0.839516 -vt 0.056666 0.834944 -vt 0.683390 0.781434 -vt 0.728149 0.776989 -vt 0.728146 0.781465 -vt 0.067317 0.834080 -vt 0.066793 0.829709 -vt 0.111004 0.829580 -vt 0.066780 0.825287 -vt 0.110991 0.825159 -vt 0.066768 0.820866 -vt 0.110979 0.820738 -vt 0.066750 0.847211 -vt 0.066794 0.842732 -vt 0.110975 0.842887 -vt 0.679218 0.789685 -vt 0.671459 0.788850 -vt 0.671862 0.784393 -vt 0.067202 0.838328 -vt 0.111004 0.834165 -vt 0.110989 0.838576 -vt 0.051678 0.847609 -vt 0.041772 0.846616 -vt 0.042374 0.842100 -vt 0.674160 0.762194 -vt 0.673319 0.766590 -vt 0.663549 0.762649 -vt 0.672605 0.775473 -vt 0.682812 0.763577 -vt 0.682763 0.768052 -vt 0.674299 0.766685 -vt 0.058174 0.843923 -vt 0.673379 0.771065 -vt 0.058930 0.848395 -vt 0.064349 0.820957 -vt 0.065236 0.825426 -vt 0.056517 0.825834 -vt 0.056515 0.830390 -vt 0.682187 0.781268 -vt 0.672159 0.779927 -vt 0.680381 0.785363 -vt 0.038883 0.840757 -vt 0.036783 0.844800 -vt 0.029879 0.842581 -vt 0.662835 0.762464 -vt 0.655296 0.758216 -vt 0.658138 0.754759 -vt 0.043747 0.833091 -vt 0.665255 0.786642 -vt 0.655933 0.783690 -vt 0.657422 0.779469 -vt 0.053036 0.843260 -vt 0.043082 0.837599 -vt 0.660559 0.771086 -vt 0.055520 0.825944 -vt 0.044376 0.828578 -vt 0.667438 0.782735 -vt 0.659011 0.775285 -vt 0.055241 0.839272 -vt 0.662075 0.766875 -vt 0.055439 0.821388 -vt 0.044962 0.824060 -vt 0.670362 0.779347 -vt 0.654719 0.757648 -vt 0.644624 0.749397 -vt 0.647751 0.746194 -vt 0.649032 0.764560 -vt 0.646170 0.768001 -vt 0.635538 0.759179 -vt 0.030897 0.828999 -vt 0.033010 0.824962 -vt 0.654338 0.777474 -vt 0.651504 0.780938 -vt 0.645314 0.777412 -vt 0.041651 0.837137 -vt 0.030494 0.838066 -vt 0.651878 0.761106 -vt 0.035812 0.821368 -vt 0.657728 0.774552 -vt 0.646816 0.773195 -vt 0.030287 0.833514 -vt 0.044212 0.824025 -vt 0.037921 0.817330 -vt 0.647535 0.768778 -vt 0.900024 0.577110 -vt 0.900024 0.268841 -vt 0.905404 0.268870 -vt 0.883884 0.577024 -vt 0.883883 0.268754 -vt 0.889263 0.268783 -vt 0.026627 0.837050 -vt 0.024485 0.841071 -vt 0.013135 0.834985 -vt 0.018102 0.822262 -vt 0.020558 0.818424 -vt 0.643304 0.771438 -vt 0.640433 0.774872 -vt 0.630750 0.766732 -vt 0.028765 0.833026 -vt 0.014921 0.830793 -vt 0.638090 0.755503 -vt 0.641225 0.752309 -vt 0.023335 0.814812 -vt 0.633312 0.763062 -vt 0.016327 0.826458 -vt 0.035119 0.820923 -vt 0.025781 0.810967 -vt 0.765504 0.700952 -vt 0.765504 0.611440 -vt 0.776693 0.611440 -vt 0.184864 0.877276 -vt 0.184863 0.569006 -vt 0.190244 0.569035 -vt 0.201005 0.877362 -vt 0.201004 0.569093 -vt 0.206384 0.569122 -vt 0.873123 0.576966 -vt 0.873122 0.268696 -vt 0.878502 0.268725 -vt 0.190244 0.877304 -vt 0.195624 0.569064 -vt 0.889264 0.577052 -vt 0.894643 0.268812 -vt 0.206385 0.877391 -vt 0.211765 0.569151 -vt 0.878503 0.576995 -vt 0.195625 0.877333 -vt 0.894644 0.577081 -vt 0.211766 0.877420 -vt 0.217145 0.569180 -vt 0.765504 0.771979 -vt 0.765504 0.727223 -vt 0.776693 0.727223 -vt 0.261900 0.897353 -vt 0.068457 0.013135 -vt 0.068457 0.242426 -vt 0.659773 0.013135 -vt 0.312139 0.542735 -vt 0.322476 0.332925 -vt 0.693555 0.611440 -vt 0.322476 0.298670 -vt 0.322476 0.469944 -vt 0.322476 0.435689 -vt 0.630750 0.657118 -vt 0.676428 0.719924 -vt 0.739233 0.674246 -vt 0.652692 0.621272 -vt 0.640582 0.697981 -vt 0.717291 0.710092 -vt 0.729402 0.633383 -vt 0.158285 0.736405 -vt 0.146174 0.748516 -vt 0.116936 0.736405 -vt 0.129047 0.707167 -vt 0.158285 0.719278 -vt 0.013136 0.414279 -vt 0.013135 0.482789 -vt 0.013136 0.277260 -vt 0.348747 0.301940 -vt 0.604479 0.542959 -vt 0.846852 0.268696 -vt 0.630750 0.521875 -vt 0.438522 0.695833 -vt 0.352885 0.695804 -vt 0.395704 0.695819 -vt 0.481341 0.695848 -vt 0.709330 0.174004 -vt 0.709330 0.206118 -vt 0.686623 0.228826 -vt 0.631801 0.206118 -vt 0.654509 0.151296 -vt 0.267244 0.706963 -vt 0.556313 0.580518 -vt 0.566974 0.707067 -vt 0.524155 0.707052 -vt 0.342220 0.580445 -vt 0.599131 0.580533 -vt 0.067957 0.707167 -vt 0.090665 0.729875 -vt 0.090665 0.761989 -vt 0.035843 0.784697 -vt 0.013135 0.761989 -vt 0.438527 0.871082 -vt 0.352890 0.871082 -vt 0.395708 0.871082 -vt 0.310071 0.859893 -vt 0.481345 0.871082 -vt 0.813131 0.174004 -vt 0.813131 0.206118 -vt 0.790423 0.228826 -vt 0.735601 0.206118 -vt 0.758309 0.151296 -vt 0.385003 0.744537 -vt 0.427822 0.744537 -vt 0.772195 0.013135 -vt 0.794903 0.035843 -vt 0.794903 0.067957 -vt 0.740081 0.090665 -vt 0.717373 0.067957 -vt 0.513459 0.733348 -vt 0.470641 0.733348 -vt 0.728140 0.790416 -vt 0.110965 0.847308 -vt 0.665123 0.758459 -vt 0.675116 0.762285 -vt 0.056411 0.821279 -vt 0.664346 0.758251 -vt 0.045654 0.819556 -vt 0.657556 0.754186 -vt 0.044837 0.819511 -vt 0.905405 0.577139 -vt 0.037222 0.816881 -vt 0.776693 0.700952 -vt 0.217146 0.877449 -vt 0.776693 0.771979 -vn 0.000000 0.000000 1.000000 -vn 0.000000 0.447200 -0.894400 -vn 0.000000 -1.000000 0.000000 -vn -0.970100 0.242500 -0.000000 -vn 0.970100 0.242500 0.000000 -vn 1.000000 0.000000 0.000000 -vn -1.000000 0.000000 -0.000000 -vn 0.000000 0.000000 -1.000000 -vn 0.000000 1.000000 -0.000000 -vn -0.382700 0.923900 -0.000000 -vn -0.923900 0.382700 -0.000000 -vn -0.923900 -0.382700 -0.000000 -vn -0.382700 -0.923900 -0.000000 -vn 0.382700 -0.923900 0.000000 -vn 0.923900 -0.382700 0.000000 -vn 0.678600 0.281100 -0.678600 -vn 0.382700 0.923900 0.000000 -vn 0.923900 0.382700 0.000000 -vn -0.678600 0.281100 -0.678600 -vn 0.281100 -0.678600 -0.678600 -vn 0.281100 0.678600 -0.678600 -vn -0.281100 0.678600 -0.678600 -vn -0.678600 -0.281100 -0.678600 -vn 0.678600 -0.281100 -0.678600 -vn -0.281100 -0.678600 -0.678600 -vn 0.000000 0.371400 -0.928500 -vn 0.000000 -0.371400 0.928500 -vn 0.000000 -0.707100 -0.707100 -vn 0.000000 0.707100 0.707100 -vn 0.000000 -0.923900 -0.382700 -vn 0.000000 -0.382700 0.923900 -vn 0.000000 -0.923900 0.382700 -vn 0.000000 -0.382700 -0.923900 -vn 0.000000 0.382700 -0.923900 -vn 0.000000 0.923900 0.382700 -vn 0.000000 0.923900 -0.382700 -vn 0.000000 0.382700 0.923900 -vn -0.500000 0.866000 0.000000 -vn -0.500000 -0.866000 0.000000 -vn 0.500000 -0.866000 -0.000000 -vn 0.499200 0.832200 -0.241500 -vn 0.500000 0.866000 -0.000000 -vn 0.499800 -0.823600 0.268100 -vn 0.499200 -0.626100 0.599000 -vn -0.470000 -0.648400 0.598900 -vn -0.485700 0.841300 -0.237200 -vn -0.482700 -0.836100 0.260500 -vn 0.478000 -0.445400 0.757100 -vn -0.476000 -0.444900 0.758700 -vn -0.475800 0.669500 -0.570400 -vn 0.499900 0.652600 -0.569400 -vn -0.494100 -0.153200 0.855800 -vn 0.500000 0.148300 -0.853200 -vn -0.476300 0.443000 -0.759600 -vn 0.477500 0.443100 -0.758700 -vn -0.500000 -0.000000 0.866000 -vn 0.500000 0.000000 -0.866000 -vn 0.500000 -0.155000 0.852000 -vn -0.494600 0.146800 -0.856600 -vn 0.500000 -0.000000 0.866000 -vn -0.500000 0.000000 -0.866000 -vn 0.485700 0.841300 -0.237200 -vn 0.482700 -0.836100 0.260500 -vn 0.470000 -0.648400 0.598900 -vn -0.499200 -0.626100 0.599000 -vn -0.499200 0.832200 -0.241500 -vn -0.499800 -0.823600 0.268100 -vn 0.476000 -0.444900 0.758700 -vn -0.478000 -0.445400 0.757100 -vn -0.499900 0.652600 -0.569400 -vn 0.475800 0.669500 -0.570400 -vn -0.500000 -0.155000 0.852100 -vn 0.494600 0.146800 -0.856600 -vn -0.477500 0.443100 -0.758700 -vn 0.476300 0.443000 -0.759600 -vn 0.494100 -0.153200 0.855800 -vn -0.500000 0.148300 -0.853200 -s off -f 8/1/1 7/2/1 3/3/1 -f 2/4/2 1/5/2 5/6/2 -f 3/7/3 7/8/3 5/9/3 -f 7/10/4 8/1/4 6/11/4 -f 2/4/5 4/12/5 3/13/5 -f 12/14/6 11/15/6 9/16/6 -f 14/17/7 13/18/7 15/19/7 -f 10/20/8 9/21/8 13/22/8 -f 11/23/3 15/19/3 13/18/3 -f 14/17/9 16/24/9 12/14/9 -f 20/25/8 19/26/8 17/27/8 -f 24/28/6 23/29/6 19/30/6 -f 22/31/1 21/32/1 23/33/1 -f 18/34/7 17/35/7 21/36/7 -f 19/26/3 23/37/3 21/38/3 -f 24/28/9 20/25/9 18/34/9 -f 26/39/10 28/40/10 27/41/10 -f 28/40/11 30/42/11 29/43/11 -f 30/42/12 32/44/12 31/45/12 -f 32/44/13 34/46/13 33/47/13 -f 34/48/14 36/49/14 35/50/14 -f 36/49/15 38/51/15 37/52/15 -f 38/51/16 63/53/16 64/54/16 -f 39/55/17 40/56/17 26/39/17 -f 38/51/18 40/56/18 39/55/18 -f 29/43/1 31/45/1 44/57/1 -f 41/58/17 49/59/17 56/60/17 -f 37/52/1 47/61/1 46/62/1 -f 31/45/1 33/47/1 45/63/1 -f 37/52/1 39/55/1 48/64/1 -f 29/43/1 43/65/1 42/66/1 -f 35/50/1 46/67/1 45/68/1 -f 39/55/1 25/69/1 41/70/1 -f 27/41/1 42/71/1 41/72/1 -f 52/73/1 54/74/1 56/60/1 -f 47/75/15 55/76/15 54/74/15 -f 45/77/13 53/78/13 52/73/13 -f 43/79/11 51/80/11 50/81/11 -f 48/82/18 56/60/18 55/76/18 -f 46/83/14 54/74/14 53/78/14 -f 44/84/12 52/73/12 51/80/12 -f 42/85/10 50/81/10 49/59/10 -f 63/86/8 61/87/8 58/88/8 -f 28/40/19 57/89/19 59/90/19 -f 34/48/20 61/91/20 62/92/20 -f 26/39/21 40/56/21 64/93/21 -f 26/39/22 58/94/22 57/95/22 -f 30/42/23 59/96/23 60/97/23 -f 38/51/24 36/49/24 62/98/24 -f 34/46/25 32/44/25 60/99/25 -f 72/100/26 71/101/26 67/102/26 -f 65/103/27 69/104/27 70/105/27 -f 71/101/6 69/104/6 65/103/6 -f 72/100/7 68/106/7 66/107/7 -f 66/108/7 68/109/7 76/110/7 -f 67/111/28 75/112/28 76/110/28 -f 74/113/29 73/114/29 65/115/29 -f 65/115/6 73/114/6 75/112/6 -f 100/116/30 101/117/30 103/118/30 -f 81/119/6 77/120/6 78/121/6 -f 80/122/31 82/123/31 81/119/31 -f 98/124/31 104/125/31 105/126/31 -f 87/127/6 89/128/6 98/124/6 -f 81/119/32 82/123/32 84/129/32 -f 99/130/32 103/131/32 104/132/32 -f 87/127/6 97/133/6 96/134/6 -f 83/135/30 84/136/30 86/137/30 -f 78/138/33 102/139/33 101/140/33 -f 91/141/6 93/142/6 100/116/6 -f 86/137/33 88/143/33 87/127/33 -f 106/144/6 104/145/6 101/146/6 -f 83/135/6 85/147/6 96/148/6 -f 88/143/34 90/149/34 89/128/34 -f 89/128/6 91/141/6 99/130/6 -f 95/150/35 96/148/35 106/151/35 -f 90/149/36 92/152/36 91/141/36 -f 82/123/7 80/122/7 110/153/7 -f 93/142/37 94/154/37 80/122/37 -f 92/152/35 94/154/35 93/142/35 -f 77/155/36 95/156/36 107/157/36 -f 83/158/6 95/156/6 77/155/6 -f 93/142/6 79/159/6 78/138/6 -f 78/121/34 77/120/34 108/160/34 -f 97/133/37 105/161/37 106/162/37 -f 113/163/31 121/164/31 122/165/31 -f 84/136/7 111/166/7 112/167/7 -f 92/152/7 115/168/7 116/169/7 -f 88/143/7 86/137/7 112/170/7 -f 94/154/7 116/171/7 110/172/7 -f 88/143/7 113/163/7 114/173/7 -f 84/129/7 82/123/7 109/174/7 -f 90/149/7 114/175/7 115/176/7 -f 123/177/7 120/178/7 119/179/7 -f 111/166/35 119/180/35 120/181/35 -f 110/153/34 118/182/34 117/183/34 -f 116/171/33 124/184/33 118/185/33 -f 114/175/32 122/186/32 123/187/32 -f 112/170/37 120/188/37 121/189/37 -f 109/174/36 117/190/36 119/191/36 -f 115/168/30 123/192/30 124/193/30 -f 147/194/30 148/195/30 149/196/30 -f 129/197/6 125/198/6 126/199/6 -f 128/200/31 130/201/31 129/197/31 -f 145/202/31 146/203/31 152/204/31 -f 135/205/6 137/206/6 146/203/6 -f 130/201/32 132/207/32 131/208/32 -f 146/209/32 147/210/32 151/211/32 -f 133/212/6 135/205/6 145/213/6 -f 131/214/30 132/215/30 134/216/30 -f 148/217/33 126/218/33 150/219/33 -f 139/220/6 141/221/6 148/195/6 -f 133/212/33 134/216/33 136/222/33 -f 154/223/6 152/224/6 149/225/6 -f 133/212/6 144/226/6 143/227/6 -f 136/222/34 138/228/34 137/206/34 -f 139/220/6 147/210/6 146/209/6 -f 144/226/35 154/229/35 155/230/35 -f 138/228/36 140/231/36 139/220/36 -f 128/200/7 158/232/7 157/233/7 -f 142/234/37 128/200/37 127/235/37 -f 140/231/35 142/234/35 141/221/35 -f 143/236/36 155/237/36 156/238/36 -f 131/208/6 143/236/6 125/239/6 -f 127/235/6 126/218/6 148/217/6 -f 125/198/34 156/240/34 150/241/34 -f 145/213/37 153/242/37 154/243/37 -f 161/244/31 169/245/31 170/246/31 -f 132/215/7 159/247/7 160/248/7 -f 140/231/7 163/249/7 164/250/7 -f 134/216/7 160/251/7 161/252/7 -f 128/200/7 142/234/7 164/253/7 -f 138/228/7 136/222/7 161/244/7 -f 130/201/7 157/254/7 159/255/7 -f 140/231/7 138/228/7 162/256/7 -f 171/257/7 168/258/7 167/259/7 -f 159/247/35 167/260/35 168/261/35 -f 158/232/34 166/262/34 165/263/34 -f 158/264/33 164/253/33 172/265/33 -f 162/256/32 170/266/32 171/267/32 -f 160/251/37 168/268/37 169/269/37 -f 157/254/36 165/270/36 167/271/36 -f 164/250/30 163/249/30 171/272/30 -f 2/4/9 6/11/9 8/1/9 -f 174/273/38 176/274/38 175/275/38 -f 176/274/7 178/276/7 177/277/7 -f 178/276/39 180/278/39 179/279/39 -f 180/280/40 182/281/40 181/282/40 -f 196/283/41 208/284/41 204/285/41 -f 184/286/42 174/273/42 173/287/42 -f 182/281/6 184/286/6 183/288/6 -f 186/289/38 188/290/38 187/291/38 -f 188/290/7 190/292/7 189/293/7 -f 190/292/39 192/294/39 191/295/39 -f 192/296/40 194/297/40 193/298/40 -f 180/299/43 200/300/43 201/301/43 -f 196/302/42 186/289/42 185/303/42 -f 194/297/6 196/302/6 195/304/6 -f 206/305/44 218/306/44 219/307/44 -f 200/308/45 199/309/45 211/310/45 -f 176/274/46 174/273/46 198/311/46 -f 180/312/47 178/313/47 199/314/47 -f 194/297/6 207/315/6 208/284/6 -f 178/313/7 176/274/7 197/316/7 -f 192/296/43 206/317/43 207/315/43 -f 188/290/46 186/289/46 204/285/46 -f 192/318/47 190/319/47 205/320/47 -f 190/319/7 188/290/7 203/321/7 -f 184/322/41 202/323/41 198/311/41 -f 182/324/6 201/301/6 202/323/6 -f 219/325/48 218/326/48 230/327/48 -f 211/328/49 223/329/49 224/330/49 -f 203/321/50 204/285/50 216/331/50 -f 200/332/44 212/333/44 213/334/44 -f 207/335/6 219/307/6 220/336/6 -f 197/316/50 198/311/50 210/337/50 -f 205/338/7 203/321/7 215/339/7 -f 201/340/6 213/334/6 214/341/6 -f 208/342/51 220/336/51 216/331/51 -f 199/309/7 197/316/7 209/343/7 -f 206/344/45 205/338/45 217/345/45 -f 202/346/51 214/341/51 210/337/51 -f 223/347/52 235/348/52 236/349/52 -f 222/350/53 226/351/53 238/352/53 -f 216/331/54 228/353/54 227/354/54 -f 213/355/48 212/356/48 224/357/48 -f 220/358/6 219/325/6 231/359/6 -f 210/337/54 222/350/54 221/360/54 -f 215/339/7 227/354/7 229/361/7 -f 214/362/6 213/355/6 225/363/6 -f 216/331/55 220/358/55 232/364/55 -f 209/343/7 221/360/7 223/329/7 -f 217/365/49 229/361/49 230/366/49 -f 210/337/55 214/362/55 226/367/55 -f 235/368/56 247/369/56 248/370/56 -f 238/371/57 250/372/57 246/373/57 -f 231/374/58 230/375/58 242/376/58 -f 228/353/59 240/377/59 239/378/59 -f 225/379/58 224/380/58 236/381/58 -f 232/382/6 231/374/6 243/383/6 -f 222/350/59 234/384/59 233/385/59 -f 227/354/7 239/378/7 241/386/7 -f 226/351/6 225/379/6 237/387/6 -f 228/353/53 232/382/53 244/388/53 -f 221/360/7 233/385/7 235/348/7 -f 229/389/52 241/386/52 242/390/52 -f 257/391/7 259/392/7 260/393/7 -f 242/394/60 254/395/60 255/396/60 -f 240/397/61 252/398/61 251/399/61 -f 236/400/60 248/401/60 249/402/60 -f 243/403/6 255/396/6 256/404/6 -f 234/405/61 246/373/61 245/406/61 -f 239/407/7 251/399/7 253/408/7 -f 237/409/6 249/402/6 250/372/6 -f 240/397/57 244/410/57 256/404/57 -f 233/411/7 245/406/7 247/369/7 -f 241/412/56 253/408/56 254/413/56 -f 261/414/7 263/415/7 264/416/7 -f 4/12/1 8/1/1 3/3/1 -f 6/11/2 2/4/2 5/6/2 -f 1/417/3 3/7/3 5/9/3 -f 5/418/4 7/10/4 6/11/4 -f 1/419/5 2/4/5 3/13/5 -f 10/20/6 12/14/6 9/16/6 -f 16/24/7 14/17/7 15/19/7 -f 14/17/8 10/20/8 13/22/8 -f 9/420/3 11/23/3 13/18/3 -f 10/20/9 14/17/9 12/14/9 -f 18/34/8 20/25/8 17/27/8 -f 20/25/6 24/28/6 19/30/6 -f 24/28/1 22/31/1 23/33/1 -f 22/31/7 18/34/7 21/36/7 -f 17/27/3 19/26/3 21/38/3 -f 22/31/9 24/28/9 18/34/9 -f 25/69/10 26/39/10 27/41/10 -f 27/41/11 28/40/11 29/43/11 -f 29/43/12 30/42/12 31/45/12 -f 31/45/13 32/44/13 33/47/13 -f 33/421/14 34/48/14 35/50/14 -f 35/50/15 36/49/15 37/52/15 -f 40/56/16 38/51/16 64/54/16 -f 25/69/17 39/55/17 26/39/17 -f 37/52/18 38/51/18 39/55/18 -f 43/422/1 29/43/1 44/57/1 -f 48/423/17 41/58/17 56/60/17 -f 35/50/1 37/52/1 46/62/1 -f 44/424/1 31/45/1 45/63/1 -f 47/425/1 37/52/1 48/64/1 -f 27/41/1 29/43/1 42/66/1 -f 33/421/1 35/50/1 45/68/1 -f 48/426/1 39/55/1 41/70/1 -f 25/69/1 27/41/1 41/72/1 -f 56/60/1 49/59/1 50/81/1 -f 50/81/1 51/80/1 52/73/1 -f 52/73/1 53/78/1 54/74/1 -f 54/74/1 55/76/1 56/60/1 -f 56/60/1 50/81/1 52/73/1 -f 46/427/15 47/75/15 54/74/15 -f 44/428/13 45/77/13 52/73/13 -f 42/429/11 43/79/11 50/81/11 -f 47/430/18 48/82/18 55/76/18 -f 45/431/14 46/83/14 53/78/14 -f 43/432/12 44/84/12 51/80/12 -f 41/433/10 42/85/10 49/59/10 -f 59/434/8 57/435/8 58/88/8 -f 58/88/8 64/436/8 63/86/8 -f 63/86/8 62/437/8 61/87/8 -f 61/87/8 60/438/8 59/434/8 -f 59/434/8 58/88/8 61/87/8 -f 30/42/19 28/40/19 59/90/19 -f 36/49/20 34/48/20 62/92/20 -f 58/439/21 26/39/21 64/93/21 -f 28/40/22 26/39/22 57/95/22 -f 32/44/23 30/42/23 60/97/23 -f 63/440/24 38/51/24 62/98/24 -f 61/441/25 34/46/25 60/99/25 -f 68/106/26 72/100/26 67/102/26 -f 66/442/27 65/103/27 70/105/27 -f 67/102/6 71/101/6 65/103/6 -f 70/443/7 72/100/7 66/107/7 -f 74/444/7 66/108/7 76/110/7 -f 68/109/28 67/111/28 76/110/28 -f 66/445/29 74/113/29 65/115/29 -f 67/111/6 65/115/6 75/112/6 -f 99/446/30 100/116/30 103/118/30 -f 79/159/6 81/119/6 78/121/6 -f 79/159/31 80/122/31 81/119/31 -f 97/447/31 98/124/31 105/126/31 -f 97/447/6 87/127/6 98/124/6 -f 83/158/32 81/119/32 84/129/32 -f 98/448/32 99/130/32 104/132/32 -f 85/147/6 87/127/6 96/134/6 -f 85/147/30 83/135/30 86/137/30 -f 100/449/33 78/138/33 101/140/33 -f 99/446/6 91/141/6 100/116/6 -f 85/147/33 86/137/33 87/127/33 -f 101/146/6 102/450/6 108/451/6 -f 108/451/6 107/452/6 106/144/6 -f 106/144/6 105/453/6 104/145/6 -f 104/145/6 103/454/6 101/146/6 -f 101/146/6 108/451/6 106/144/6 -f 95/150/6 83/135/6 96/148/6 -f 87/127/34 88/143/34 89/128/34 -f 98/448/6 89/128/6 99/130/6 -f 107/455/35 95/150/35 106/151/35 -f 89/128/36 90/149/36 91/141/36 -f 109/456/7 82/123/7 110/153/7 -f 79/159/37 93/142/37 80/122/37 -f 91/141/35 92/152/35 93/142/35 -f 108/457/36 77/155/36 107/157/36 -f 81/119/6 83/158/6 77/155/6 -f 100/449/6 93/142/6 78/138/6 -f 102/458/34 78/121/34 108/160/34 -f 96/134/37 97/133/37 106/162/37 -f 114/173/31 113/163/31 122/165/31 -f 86/137/7 84/136/7 112/167/7 -f 94/154/7 92/152/7 116/169/7 -f 113/459/7 88/143/7 112/170/7 -f 80/122/7 94/154/7 110/172/7 -f 90/149/7 88/143/7 114/173/7 -f 111/460/7 84/129/7 109/174/7 -f 92/152/7 90/149/7 115/176/7 -f 119/179/7 117/461/7 118/462/7 -f 118/462/7 124/463/7 119/179/7 -f 123/177/7 122/464/7 121/465/7 -f 121/465/7 120/178/7 123/177/7 -f 119/179/7 124/463/7 123/177/7 -f 112/167/35 111/166/35 120/181/35 -f 109/456/34 110/153/34 117/183/34 -f 110/172/33 116/171/33 118/185/33 -f 115/176/32 114/175/32 123/187/32 -f 113/459/37 112/170/37 121/189/37 -f 111/460/36 109/174/36 119/191/36 -f 116/169/30 115/168/30 124/193/30 -f 151/466/30 147/194/30 149/196/30 -f 127/235/6 129/197/6 126/199/6 -f 127/235/31 128/200/31 129/197/31 -f 153/467/31 145/202/31 152/204/31 -f 145/202/6 135/205/6 146/203/6 -f 129/197/32 130/201/32 131/208/32 -f 152/468/32 146/209/32 151/211/32 -f 144/469/6 133/212/6 145/213/6 -f 133/212/30 131/214/30 134/216/30 -f 149/470/33 148/217/33 150/219/33 -f 147/194/6 139/220/6 148/195/6 -f 135/205/33 133/212/33 136/222/33 -f 149/225/6 150/471/6 156/472/6 -f 156/472/6 155/473/6 154/223/6 -f 154/223/6 153/474/6 152/224/6 -f 152/224/6 151/475/6 149/225/6 -f 149/225/6 156/472/6 154/223/6 -f 131/214/6 133/212/6 143/227/6 -f 135/205/34 136/222/34 137/206/34 -f 137/206/6 139/220/6 146/209/6 -f 143/227/35 144/226/35 155/230/35 -f 137/206/36 138/228/36 139/220/36 -f 130/201/7 128/200/7 157/233/7 -f 141/221/37 142/234/37 127/235/37 -f 139/220/35 140/231/35 141/221/35 -f 125/239/36 143/236/36 156/238/36 -f 129/197/6 131/208/6 125/239/6 -f 141/221/6 127/235/6 148/217/6 -f 126/199/34 125/198/34 150/241/34 -f 144/469/37 145/213/37 154/243/37 -f 162/476/31 161/244/31 170/246/31 -f 134/216/7 132/215/7 160/248/7 -f 142/234/7 140/231/7 164/250/7 -f 136/222/7 134/216/7 161/252/7 -f 158/264/7 128/200/7 164/253/7 -f 162/476/7 138/228/7 161/244/7 -f 132/207/7 130/201/7 159/255/7 -f 163/477/7 140/231/7 162/256/7 -f 167/259/7 165/478/7 166/479/7 -f 166/479/7 172/480/7 167/259/7 -f 171/257/7 170/481/7 169/482/7 -f 169/482/7 168/258/7 171/257/7 -f 167/259/7 172/480/7 171/257/7 -f 160/248/35 159/247/35 168/261/35 -f 157/233/34 158/232/34 165/263/34 -f 166/483/33 158/264/33 172/265/33 -f 163/477/32 162/256/32 171/267/32 -f 161/252/37 160/251/37 169/269/37 -f 159/255/36 157/254/36 167/271/36 -f 172/484/30 164/250/30 171/272/30 -f 4/12/9 2/4/9 8/1/9 -f 173/287/38 174/273/38 175/275/38 -f 175/275/7 176/274/7 177/277/7 -f 177/277/39 178/276/39 179/279/39 -f 179/485/40 180/280/40 181/282/40 -f 186/289/62 196/283/62 204/285/62 -f 183/288/42 184/286/42 173/287/42 -f 181/282/6 182/281/6 183/288/6 -f 185/303/38 186/289/38 187/291/38 -f 187/291/7 188/290/7 189/293/7 -f 189/293/39 190/292/39 191/295/39 -f 191/486/40 192/296/40 193/298/40 -f 182/324/63 180/299/63 201/301/63 -f 195/304/42 196/302/42 185/303/42 -f 193/298/6 194/297/6 195/304/6 -f 207/335/64 206/305/64 219/307/64 -f 212/487/65 200/308/65 211/310/65 -f 197/316/66 176/274/66 198/311/66 -f 200/488/67 180/312/67 199/314/67 -f 196/283/6 194/297/6 208/284/6 -f 199/314/7 178/313/7 197/316/7 -f 194/297/63 192/296/63 207/315/63 -f 203/321/66 188/290/66 204/285/66 -f 206/489/67 192/318/67 205/320/67 -f 205/320/7 190/319/7 203/321/7 -f 174/273/62 184/322/62 198/311/62 -f 184/322/6 182/324/6 202/323/6 -f 231/359/68 219/325/68 230/327/68 -f 212/490/69 211/328/69 224/330/69 -f 215/339/70 203/321/70 216/331/70 -f 201/340/64 200/332/64 213/334/64 -f 208/342/6 207/335/6 220/336/6 -f 209/343/70 197/316/70 210/337/70 -f 217/345/7 205/338/7 215/339/7 -f 202/346/6 201/340/6 214/341/6 -f 204/285/71 208/342/71 216/331/71 -f 211/310/7 199/309/7 209/343/7 -f 218/491/65 206/344/65 217/345/65 -f 198/311/71 202/346/71 210/337/71 -f 224/492/72 223/347/72 236/349/72 -f 234/384/73 222/350/73 238/352/73 -f 215/339/74 216/331/74 227/354/74 -f 225/363/68 213/355/68 224/357/68 -f 232/364/6 220/358/6 231/359/6 -f 209/343/74 210/337/74 221/360/74 -f 217/365/7 215/339/7 229/361/7 -f 226/367/6 214/362/6 225/363/6 -f 228/353/75 216/331/75 232/364/75 -f 211/328/7 209/343/7 223/329/7 -f 218/493/69 217/365/69 230/366/69 -f 222/350/75 210/337/75 226/367/75 -f 236/494/56 235/368/56 248/370/56 -f 234/405/57 238/371/57 246/373/57 -f 243/383/76 231/374/76 242/376/76 -f 227/354/77 228/353/77 239/378/77 -f 237/387/76 225/379/76 236/381/76 -f 244/388/6 232/382/6 243/383/6 -f 221/360/77 222/350/77 233/385/77 -f 229/389/7 227/354/7 241/386/7 -f 238/352/6 226/351/6 237/387/6 -f 240/377/73 228/353/73 244/388/73 -f 223/347/7 221/360/7 235/348/7 -f 230/495/72 229/389/72 242/390/72 -f 258/496/7 257/391/7 260/393/7 -f 243/403/60 242/394/60 255/396/60 -f 239/407/61 240/397/61 251/399/61 -f 237/409/60 236/400/60 249/402/60 -f 244/410/6 243/403/6 256/404/6 -f 233/411/61 234/405/61 245/406/61 -f 241/412/7 239/407/7 253/408/7 -f 238/371/6 237/409/6 250/372/6 -f 252/398/57 240/397/57 256/404/57 -f 235/368/7 233/411/7 247/369/7 -f 242/497/56 241/412/56 254/413/56 -f 262/498/7 261/414/7 264/416/7 diff --git a/src/main/resources/assets/hbm/models/ams_limiter_destroyed.obj b/src/main/resources/assets/hbm/models/ams_limiter_destroyed.obj deleted file mode 100644 index 91b48848e..000000000 --- a/src/main/resources/assets/hbm/models/ams_limiter_destroyed.obj +++ /dev/null @@ -1,1975 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'ams_limiter_destroyed.blend' -# www.blender.org -o Cube.001_Cube.002 -v 0.500001 0.000000 -2.500000 -v 0.250001 1.000000 -2.000000 -v 0.500000 0.000000 2.500000 -v 0.250000 1.000000 2.500000 -v -0.499999 0.000000 -2.500000 -v -0.249999 1.000000 -2.000000 -v -0.500000 0.000000 2.500000 -v -0.250000 1.000000 2.500000 -v 0.156251 0.343750 -2.500000 -v 0.156251 0.656250 -2.500000 -v 0.156251 0.343750 -2.150000 -v 0.156251 0.656250 -2.150000 -v -0.156249 0.343750 -2.500000 -v -0.156249 0.656250 -2.500000 -v -0.156249 0.343750 -2.150000 -v -0.156249 0.656250 -2.150000 -v -0.500000 0.343750 -0.156250 -v -0.500000 0.656250 -0.156250 -v 0.500000 0.343750 -0.156250 -v 0.500000 0.656250 -0.156250 -v -0.500000 0.343750 0.156250 -v -0.500000 0.656250 0.156250 -v 0.500000 0.343750 0.156250 -v 0.500000 0.656250 0.156250 -v -0.000000 6.000000 2.250000 -v 0.000000 6.000000 -0.750000 -v -0.353553 5.853553 2.250000 -v -0.284015 5.814950 -0.671109 -v -0.500000 5.500000 2.250000 -v -0.500000 5.500000 -0.750000 -v -0.353553 5.146447 2.250000 -v -0.353553 5.146447 -0.750000 -v 0.000000 5.000000 2.250000 -v 0.000000 5.000000 -0.750000 -v 0.353553 5.146447 2.250000 -v 0.353554 5.146447 -0.750000 -v 0.500000 5.500000 2.250000 -v 0.500000 5.500000 -0.750000 -v 0.353553 5.853553 2.250000 -v 0.353554 5.853553 -0.750000 -v -0.000000 5.875000 2.250000 -v -0.265165 5.765165 2.250000 -v -0.375000 5.500000 2.250000 -v -0.265165 5.234835 2.250000 -v -0.000000 5.125000 2.250000 -v 0.265165 5.234835 2.250000 -v 0.375000 5.500000 2.250000 -v 0.265165 5.765165 2.250000 -v -0.000000 5.875000 2.400000 -v -0.265165 5.765165 2.400000 -v -0.375000 5.500000 2.400000 -v -0.265165 5.234835 2.400000 -v -0.000000 5.125000 2.400000 -v 0.265165 5.234835 2.400000 -v 0.375000 5.500000 2.400000 -v 0.265165 5.765165 2.400000 -v -0.176776 5.676777 -1.000000 -v 0.000000 5.750000 -1.000000 -v -0.250000 5.500000 -1.000000 -v -0.176776 5.323223 -1.000000 -v 0.000000 5.250000 -1.000000 -v 0.176777 5.323223 -1.000000 -v 0.250000 5.500000 -1.000000 -v 0.117861 5.676777 -1.000000 -v 0.250000 3.000000 0.000000 -v -0.250000 3.000000 0.000000 -v 0.250000 3.000000 -1.000000 -v -0.250000 3.000000 -1.000000 -v 0.250000 5.500000 1.000000 -v -0.250000 5.500000 1.000000 -v 0.250000 5.500000 0.000000 -v -0.250000 5.500000 0.000000 -v 0.250000 1.000000 2.000000 -v -0.250000 1.000000 2.000000 -v 0.250000 1.000000 1.000000 -v -0.250000 1.000000 1.000000 -v 0.500000 2.668544 -0.168544 -v 0.500000 3.000000 -0.031250 -v -0.423231 5.685335 -0.750000 -v -0.500000 3.000000 0.125000 -v 0.500000 2.558058 -0.058058 -v -0.384796 2.558058 -0.058058 -v 0.500000 2.375000 -0.500000 -v -0.384796 2.375000 -0.500000 -v 0.500000 2.558058 -0.941942 -v -0.500000 2.558058 -0.941942 -v 0.500000 3.000000 -1.125000 -v -0.419908 3.000000 -1.125000 -v 0.500001 3.441942 -0.941942 -v -0.419908 3.441942 -0.941942 -v 0.500000 3.625000 -0.500000 -v -0.500000 3.625000 -0.500000 -v 0.500000 3.441942 -0.058058 -v -0.500000 3.441942 -0.058058 -v 0.500000 2.531250 -0.500000 -v 0.500000 2.668544 -0.831456 -v 0.500000 3.000000 -0.968750 -v 0.500001 3.331456 -0.831456 -v 0.500000 3.468750 -0.500000 -v 0.500000 3.331456 -0.168544 -v 0.375000 3.331456 -0.168544 -v 0.375000 3.000000 -0.031250 -v 0.375001 3.468750 -0.500000 -v 0.375001 3.331456 -0.831456 -v 0.375000 3.000000 -0.968750 -v 0.375000 2.668544 -0.831456 -v 0.375000 2.531250 -0.500000 -v 0.375000 2.668544 -0.168544 -v -0.384796 2.668544 -0.168544 -v -0.500000 3.000000 -0.031250 -v -0.384796 2.531250 -0.500000 -v -0.500000 2.668544 -0.831456 -v -0.419908 3.000000 -0.968750 -v -0.419908 3.331456 -0.831456 -v -0.500000 3.468750 -0.500000 -v -0.500000 3.331456 -0.168544 -v -0.375000 2.668544 -0.168544 -v -0.375000 3.000000 -0.031250 -v -0.375000 2.531250 -0.500000 -v -0.375000 2.668544 -0.831456 -v -0.375000 3.000000 -0.968750 -v -0.375000 3.331456 -0.831456 -v -0.375000 3.468750 -0.500000 -v -0.375000 3.331456 -0.168544 -v 0.500000 0.668544 1.831456 -v 0.442675 1.000000 1.968750 -v 0.500000 1.000000 2.125000 -v -0.500000 1.000000 2.125000 -v 0.500000 0.558058 1.941942 -v -0.500000 0.558058 1.941942 -v 0.473514 0.375000 1.500000 -v -0.500000 0.375000 1.500000 -v 0.500000 0.558058 1.058058 -v -0.409995 0.558058 1.058058 -v 0.500000 1.000000 0.875000 -v -0.500000 1.000000 0.875000 -v 0.500000 1.441942 1.058058 -v -0.389769 1.441942 1.058058 -v 0.500000 1.625000 1.500000 -v -0.500000 1.625000 1.500000 -v 0.454203 1.441942 1.941942 -v -0.500000 1.441942 1.941942 -v 0.500000 0.531250 1.500000 -v 0.500000 0.668544 1.168544 -v 0.468772 1.000000 1.031250 -v 0.500000 1.331456 1.168544 -v 0.500000 1.468750 1.500000 -v 0.500000 1.331456 1.831456 -v 0.375000 1.331456 1.831456 -v 0.375000 1.000000 1.968750 -v 0.375000 1.468750 1.500000 -v 0.375000 1.331456 1.168544 -v 0.375000 1.000000 1.031250 -v 0.375000 0.668544 1.168544 -v 0.375000 0.531250 1.500000 -v 0.375000 0.668544 1.831456 -v -0.500000 0.668544 1.831456 -v -0.500000 1.000000 1.968750 -v -0.500000 0.531250 1.500000 -v -0.437944 0.668544 1.168544 -v -0.500000 1.000000 1.031250 -v -0.500000 1.331456 1.168544 -v -0.500000 1.468750 1.500000 -v -0.500000 1.331456 1.831456 -v -0.375000 0.668544 1.831456 -v -0.375000 1.000000 1.968750 -v -0.375000 0.531250 1.500000 -v -0.375000 0.668544 1.168544 -v -0.375000 1.000000 1.031250 -v -0.375000 1.331456 1.168544 -v -0.375000 1.468750 1.500000 -v -0.375000 1.331456 1.831456 -v 0.125000 5.550000 -1.000000 -v 0.125001 5.550000 -1.529299 -v 0.081699 5.525000 -1.000000 -v 0.081699 5.525000 -1.500000 -v 0.081699 5.475000 -1.000000 -v 0.081699 5.475000 -1.500000 -v 0.125000 5.450000 -1.000000 -v 0.125001 5.465403 -1.500000 -v 0.168302 5.475000 -1.000000 -v 0.168302 5.490403 -1.500000 -v 0.168302 5.525000 -1.000000 -v 0.168302 5.525000 -1.529299 -v -0.125000 5.550000 -1.000000 -v -0.124999 5.550000 -1.415755 -v -0.168301 5.525000 -1.000000 -v -0.168301 5.525000 -1.415755 -v -0.168301 5.475000 -1.000000 -v -0.168301 5.475000 -1.444207 -v -0.125000 5.450000 -1.000000 -v -0.124999 5.450000 -1.444207 -v -0.081698 5.475000 -1.000000 -v -0.081698 5.475000 -1.401928 -v -0.081698 5.525000 -1.000000 -v -0.081698 5.525000 -1.401928 -v 0.081699 5.493492 -1.608551 -v 0.125001 5.516984 -1.617101 -v 0.081699 5.446507 -1.591449 -v 0.125001 5.423015 -1.582899 -v 0.158606 5.461866 -1.572706 -v 0.158606 5.508851 -1.589807 -v 0.060597 5.404948 -1.710039 -v 0.107675 5.424099 -1.726108 -v 0.060597 5.366646 -1.677899 -v 0.125001 5.378422 -1.661829 -v 0.149664 5.397573 -1.677899 -v 0.132338 5.404948 -1.710039 -v 0.088062 5.291929 -1.776042 -v 0.125001 5.296270 -1.779593 -v 0.088062 5.283247 -1.726802 -v 0.125001 5.278905 -1.702182 -v 0.168302 5.283247 -1.726802 -v 0.168302 5.291929 -1.754973 -v 0.081699 5.139866 -1.802469 -v 0.125001 5.139866 -1.827469 -v 0.081699 5.139866 -1.752469 -v 0.125001 5.139866 -1.727469 -v 0.168302 5.139866 -1.752469 -v 0.168302 5.139866 -1.802469 -v -0.168301 2.329531 -1.802469 -v -0.124999 2.329531 -1.827469 -v -0.168301 2.374010 -1.752469 -v -0.124999 2.374009 -1.727469 -v -0.081698 2.349475 -1.752469 -v -0.081698 2.349475 -1.802469 -v 0.081690 0.999866 -1.802482 -v 0.124992 0.999866 -1.827482 -v 0.081690 0.999866 -1.752481 -v 0.124992 0.999866 -1.727482 -v 0.168293 0.999866 -1.752481 -v 0.168293 0.999866 -1.802482 -v -0.168310 0.999866 -1.802482 -v -0.125008 0.999866 -1.827482 -v -0.168310 0.999866 -1.752481 -v -0.125008 0.999866 -1.727482 -v -0.081707 0.999866 -1.752481 -v -0.081707 0.999866 -1.802482 -v -0.353553 5.853553 2.109199 -v -0.000000 6.000000 2.100358 -v 0.000000 6.000000 0.153545 -v -0.353553 5.853553 -0.082499 -v 0.250000 6.112938 -0.437500 -v 0.288408 6.184640 -0.349866 -v 0.250000 5.875000 -0.437500 -v 0.250000 5.875000 -0.312500 -v -0.250000 2.597353 0.402647 -v -0.250000 2.463976 0.536024 -v -0.250000 2.398072 0.601928 -v -0.250000 2.289816 0.710184 -v -0.250000 2.256785 0.241390 -v -0.095115 2.543376 0.456624 -v -0.250000 2.042544 0.412356 -v -0.117151 2.340268 0.659732 -v 0.000000 6.000000 0.627565 -v -0.179890 5.925487 2.136442 -v -0.500000 5.500000 -0.016080 -v -0.429121 5.671118 2.161449 -v -0.480274 5.547625 2.114357 -v -0.500000 5.500000 2.124016 -v -0.423915 5.683683 -0.152559 -v 0.019273 5.946055 2.527040 -v -0.287760 5.818878 2.527040 -v -0.414938 5.511845 2.527040 -v -0.287760 5.204813 2.527040 -v 0.019273 5.077635 2.527040 -v -0.250000 4.101781 0.440713 -v 0.453483 5.511845 2.527040 -v 0.326306 5.818878 2.527040 -v -0.305937 5.774995 2.527040 -v -0.350030 5.355145 2.527040 -v -0.320766 5.284495 2.527040 -v -0.307236 5.336403 2.400000 -v -0.295632 5.308388 2.400000 -v 0.291434 5.833322 2.527040 -v 0.283332 5.187013 2.527040 -v 0.338103 5.233295 2.527040 -v 0.309289 5.341361 2.400000 -v 0.368675 5.307101 2.527040 -v 0.352046 5.266954 2.527040 -v -0.303246 5.326770 2.299464 -v -0.047650 5.105355 2.527040 -v -0.250000 4.905931 0.762372 -v -0.250000 4.914361 0.377399 -v -0.250000 4.788579 0.002054 -v -0.250000 4.696013 0.417826 -v -0.250000 4.609168 0.350851 -v -0.250000 4.568822 -0.067782 -v -0.298062 4.464652 0.269784 -v -0.250000 4.394123 0.045963 -v -0.104880 4.837244 0.734897 -v -0.046049 4.696583 0.678633 -v -0.006951 4.433455 0.535678 -v -0.437121 2.905017 -1.085657 -v -0.447927 2.845390 -1.060958 -v -0.438181 2.903665 -0.997329 -v -0.460508 2.775968 -1.032203 -v -0.454160 2.810996 -1.046712 -v -0.141359 2.854985 -1.064933 -v 0.250000 1.000000 -0.512755 -v -0.500000 0.000000 -0.719755 -v -0.250000 1.000000 -0.353168 -v 0.250000 1.000000 -0.912394 -v -0.500000 0.000000 -1.023838 -v -0.237882 2.780495 -1.034078 -v -0.250000 1.000000 -1.034424 -v -0.453965 2.814699 -0.997020 -v -0.206808 0.943261 -0.495975 -v -0.206808 0.943261 -0.891617 -v 0.308540 3.000000 0.125000 -v 0.500000 2.879200 0.074963 -v 0.500000 3.152224 0.061947 -v -0.353553 5.853553 -0.487427 -v -0.112383 5.953449 -0.750000 -v -0.239789 5.739789 -0.910887 -v 0.375000 5.500000 2.240000 -v 0.265165 5.234835 2.240000 -v -0.000000 5.125000 2.240000 -v -0.265165 5.234835 2.240000 -v -0.375000 5.500000 2.240000 -v -0.265165 5.765165 2.240000 -v -0.000000 5.875000 2.240000 -v -0.434729 5.657577 -0.552405 -v 0.265165 5.765165 2.240000 -v 0.375000 5.500000 -0.260000 -v 0.265165 5.765165 -0.260000 -v 0.000000 5.125000 -0.260000 -v 0.265165 5.234835 -0.260000 -v -0.265165 5.234835 -0.260000 -v -0.375000 5.500000 -0.260000 -v -0.265165 5.765165 -0.260000 -v 0.000000 5.875000 -0.260000 -v 0.250000 4.286113 -0.485555 -v 0.250000 4.531216 -0.387513 -v -0.500000 5.500000 0.327085 -v -0.500000 5.500000 0.748971 -v 0.244522 5.898715 0.595689 -v 0.000000 6.000000 1.520329 -v 0.250000 4.220100 0.030607 -v 0.101789 4.412081 -0.435168 -v 0.000000 6.000000 1.384084 -v -0.500000 5.500000 1.135705 -v -0.500000 5.500000 0.991573 -v -0.444947 5.367091 0.454149 -v -0.479794 5.451220 0.533265 -v -0.404518 5.269486 0.654633 -v 0.291628 5.879205 1.518940 -v -0.500000 5.500000 1.684756 -v -0.500000 5.500000 1.532431 -v -0.403552 5.267155 1.084509 -v 0.000000 6.000000 0.540157 -v -0.390852 5.236492 1.604031 -v -0.500000 1.479257 1.851856 -v -0.500000 1.519205 1.755411 -v -0.500000 1.569501 1.633987 -v 0.000000 5.875000 0.744922 -v -0.265165 5.765165 0.805178 -v -0.265165 5.765165 0.633837 -v -0.375000 5.500000 0.684706 -v 0.250000 2.117095 -0.117095 -v 0.250000 2.322012 -0.322012 -v -0.500000 1.433133 1.723705 -v -0.064632 1.568936 1.635352 -v -0.265165 5.765165 0.977100 -v -0.287144 1.509039 1.779956 -v -0.265165 5.765165 1.102731 -v 0.250000 2.418591 -0.005401 -v -0.046211 2.207144 -0.207144 -v 0.000000 5.875000 1.045270 -v -0.350791 5.558444 0.958491 -v -0.375000 5.500000 1.655340 -v -0.265165 5.765165 1.554705 -v -0.265165 5.765165 1.755584 -v -0.000000 5.875000 2.021457 -v -0.375000 5.500000 0.306500 -v -0.078299 5.842568 1.666237 -v -0.375000 5.500000 1.994211 -v 0.353554 5.146447 1.421638 -v 0.353554 5.146447 1.661390 -v 0.147143 5.060948 1.550736 -v 0.455659 5.392951 1.494021 -vt 0.400957 0.088468 -vt 0.469079 0.071437 -vt 0.469079 0.139559 -vt 0.094411 0.122528 -vt 0.018249 0.139558 -vt 0.018249 0.071438 -vt 0.658668 0.642378 -vt 0.439333 0.710500 -vt 0.318060 0.642378 -vt 0.160908 0.018251 -vt 0.160186 0.088468 -vt 0.094411 0.088468 -vt 0.168499 0.122529 -vt 0.195722 0.122529 -vt 0.060350 0.192746 -vt 0.828219 0.664014 -vt 0.828219 0.685302 -vt 0.804376 0.685302 -vt 0.804376 0.642726 -vt 0.804376 0.621438 -vt 0.828219 0.621438 -vt 0.783088 0.685302 -vt 0.804376 0.706590 -vt 0.828219 0.706590 -vt 0.828219 0.642726 -vt 0.702025 0.333235 -vt 0.723313 0.333235 -vt 0.723313 0.401356 -vt 0.744601 0.311947 -vt 0.744601 0.333235 -vt 0.680737 0.401356 -vt 0.659449 0.401356 -vt 0.659449 0.333235 -vt 0.723313 0.422644 -vt 0.744601 0.401356 -vt 0.680737 0.333235 -vt 0.702025 0.401356 -vt 0.502511 0.909263 -vt 0.504938 0.895447 -vt 0.517319 0.901112 -vt 0.497553 0.785962 -vt 0.490522 0.782412 -vt 0.344447 0.746998 -vt 0.341246 0.858949 -vt 0.341246 0.832880 -vt 0.545611 0.832880 -vt 0.946940 0.092025 -vt 0.946940 0.109603 -vt 0.930217 0.118264 -vt 0.930645 0.096813 -vt 0.044137 0.750250 -vt 0.044137 0.776319 -vt 0.020951 0.769802 -vt 0.248501 0.750250 -vt 0.577027 0.776666 -vt 0.577027 0.746998 -vt 0.585980 0.750706 -vt 0.958150 0.747616 -vt 0.957827 0.757829 -vt 0.938285 0.757211 -vt 0.248501 0.776319 -vt 0.256368 0.779578 -vt 0.256368 0.799129 -vt 0.545611 0.858949 -vt 0.553478 0.836139 -vt 0.256368 0.753509 -vt 0.273664 0.650502 -vt 0.281531 0.653761 -vt 0.281531 0.673313 -vt 0.850036 0.831736 -vt 0.857902 0.834998 -vt 0.857895 0.854549 -vt 0.771947 0.051768 -vt 0.771947 0.021394 -vt 0.781113 0.025191 -vt 0.273664 0.676571 -vt 0.281531 0.679830 -vt 0.281531 0.699382 -vt 0.365262 0.928824 -vt 0.331885 0.942649 -vt 0.318060 0.909272 -vt 0.933009 0.174796 -vt 0.944706 0.164578 -vt 0.952560 0.174796 -vt 0.553817 0.952382 -vt 0.564035 0.952382 -vt 0.564035 0.971934 -vt 0.401760 0.973945 -vt 0.401760 0.954393 -vt 0.411978 0.954393 -vt 0.944068 0.426203 -vt 0.944068 0.436421 -vt 0.924516 0.436421 -vt 0.508824 0.974249 -vt 0.498605 0.974249 -vt 0.498605 0.954698 -vt 0.637022 0.605543 -vt 0.617515 0.604219 -vt 0.625435 0.587650 -vt 0.162101 0.934387 -vt 0.162101 0.944605 -vt 0.142550 0.944605 -vt 0.234985 0.848103 -vt 0.244202 0.838886 -vt 0.247910 0.868819 -vt 0.506154 0.895717 -vt 0.489277 0.897996 -vt 0.645662 0.857734 -vt 0.622478 0.851209 -vt 0.622483 0.838175 -vt 0.533836 0.021394 -vt 0.533836 0.051767 -vt 0.505577 0.039854 -vt 0.489277 0.918177 -vt 0.344447 0.776666 -vt 0.318060 0.769249 -vt 0.318060 0.754415 -vt 0.044137 0.802388 -vt 0.020951 0.795871 -vt 0.318060 0.852432 -vt 0.617225 0.460597 -vt 0.581777 0.460597 -vt 0.584093 0.447107 -vt 0.487197 0.300176 -vt 0.453736 0.299806 -vt 0.462289 0.272359 -vt 0.226972 0.713752 -vt 0.043549 0.713752 -vt 0.729483 0.630321 -vt 0.501015 0.303450 -vt 0.529630 0.302031 -vt 0.507894 0.317571 -vt 0.839737 0.896739 -vt 0.863566 0.910359 -vt 0.837653 0.915294 -vt 0.815623 0.422644 -vt 0.958271 0.815391 -vt 0.815623 0.230485 -vt 0.919494 0.894303 -vt 0.939620 0.908339 -vt 0.931126 0.918223 -vt 0.858361 0.497771 -vt 0.810192 0.545940 -vt 0.102345 0.949425 -vt 0.476163 0.596964 -vt 0.476168 0.605696 -vt 0.451106 0.605710 -vt 0.523041 0.586973 -vt 0.547440 0.586971 -vt 0.543244 0.597104 -vt 0.547436 0.524865 -vt 0.513862 0.573534 -vt 0.409614 0.596780 -vt 0.409609 0.605359 -vt 0.384985 0.605343 -vt 0.380893 0.586854 -vt 0.413724 0.586875 -vt 0.581012 0.524862 -vt 0.442763 0.596911 -vt 0.442757 0.605585 -vt 0.417862 0.605569 -vt 0.321839 0.526230 -vt 0.353193 0.520840 -vt 0.348922 0.585358 -vt 0.509655 0.597021 -vt 0.509647 0.605780 -vt 0.484506 0.605756 -vt 0.446918 0.586896 -vt 0.480334 0.586877 -vt 0.365339 0.539037 -vt 0.374487 0.522087 -vt 0.156766 0.897889 -vt 0.139484 0.856168 -vt 0.181205 0.838886 -vt 0.318060 0.583315 -vt 0.344448 0.594416 -vt 0.380047 0.524194 -vt 0.413095 0.523389 -vt 0.321301 0.592884 -vt 0.343914 0.602481 -vt 0.446445 0.517279 -vt 0.513858 0.516781 -vt 0.520144 0.507793 -vt 0.480066 0.516928 -vt 0.551638 0.597103 -vt 0.576821 0.597101 -vt 0.576821 0.605875 -vt 0.581017 0.586968 -vt 0.502309 0.586898 -vt 0.484515 0.596997 -vt 0.518061 0.597106 -vt 0.543244 0.605878 -vt 0.352322 0.598308 -vt 0.344678 0.594912 -vt 0.383935 0.514120 -vt 0.383860 0.511018 -vt 0.408645 0.510414 -vt 0.323884 0.516336 -vt 0.450542 0.507089 -vt 0.475757 0.506826 -vt 0.813480 0.968780 -vt 0.828649 0.968780 -vt 0.828170 0.972340 -vt 0.484246 0.506711 -vt 0.509590 0.506602 -vt 0.408721 0.513517 -vt 0.551632 0.514732 -vt 0.415288 0.512689 -vt 0.759700 0.953306 -vt 0.717979 0.911585 -vt 0.735261 0.894303 -vt 0.323591 0.515774 -vt 0.344169 0.505065 -vt 0.545851 0.514012 -vt 0.524715 0.500304 -vt 0.484207 0.497881 -vt 0.509552 0.497771 -vt 0.414064 0.509798 -vt 0.437162 0.500025 -vt 0.378974 0.517449 -vt 0.358061 0.514220 -vt 0.360682 0.507519 -vt 0.551632 0.514044 -vt 0.576814 0.514042 -vt 0.450450 0.498303 -vt 0.475665 0.498040 -vt 0.162250 0.602225 -vt 0.184293 0.600530 -vt 0.184884 0.608210 -vt 0.218732 0.594048 -vt 0.250083 0.594109 -vt 0.246145 0.603563 -vt 0.218860 0.528510 -vt 0.250211 0.528571 -vt 0.094344 0.604751 -vt 0.120918 0.604233 -vt 0.120297 0.613438 -vt 0.089934 0.593849 -vt 0.125238 0.593540 -vt 0.281562 0.528632 -vt 0.281437 0.592435 -vt 0.129290 0.603407 -vt 0.153782 0.603481 -vt 0.153757 0.612014 -vt 0.085554 0.604955 -vt 0.058572 0.604665 -vt 0.018249 0.591864 -vt 0.018249 0.518920 -vt 0.054092 0.525664 -vt 0.214243 0.603989 -vt 0.214417 0.608421 -vt 0.190923 0.609348 -vt 0.187387 0.590985 -vt 0.089934 0.518920 -vt 0.639760 0.953306 -vt 0.622478 0.911585 -vt 0.664200 0.894303 -vt 0.054091 0.593849 -vt 0.049067 0.604423 -vt 0.129624 0.529633 -vt 0.157894 0.593638 -vt 0.048590 0.613777 -vt 0.021743 0.612409 -vt 0.167431 0.529225 -vt 0.222798 0.519056 -vt 0.246311 0.519102 -vt 0.182837 0.530371 -vt 0.980000 0.613642 -vt 0.973681 0.620436 -vt 0.965419 0.607394 -vt 0.277945 0.602217 -vt 0.278346 0.610399 -vt 0.254861 0.611550 -vt 0.254460 0.603367 -vt 0.190600 0.601162 -vt 0.222347 0.604340 -vt 0.245117 0.611690 -vt 0.086088 0.611961 -vt 0.059284 0.614004 -vt 0.097201 0.508039 -vt 0.099241 0.497771 -vt 0.128710 0.503626 -vt 0.024580 0.509072 -vt 0.051397 0.514080 -vt 0.047876 0.938643 -vt 0.044508 0.943906 -vt 0.018249 0.927523 -vt 0.056786 0.514080 -vt 0.186778 0.519268 -vt 0.254148 0.519118 -vt 0.277661 0.519164 -vt 0.135875 0.516297 -vt 0.163464 0.517863 -vt 0.876437 0.151028 -vt 0.834716 0.109307 -vt 0.851998 0.092025 -vt 0.027843 0.500293 -vt 0.222814 0.510864 -vt 0.246327 0.510910 -vt 0.213796 0.517871 -vt 0.186292 0.509854 -vt 0.136421 0.506684 -vt 0.164010 0.508251 -vt 0.055143 0.509659 -vt 0.080340 0.500293 -vt 0.254164 0.510925 -vt 0.277677 0.510971 -vt 0.180160 0.525735 -vt 0.171603 0.523815 -vt 0.172272 0.520834 -vt 0.613535 0.392672 -vt 0.589096 0.359843 -vt 0.593583 0.359448 -vt 0.596585 0.357012 -vt 0.619847 0.387949 -vt 0.599330 0.354949 -vt 0.582066 0.367826 -vt 0.585202 0.365566 -vt 0.607332 0.397289 -vt 0.610433 0.394980 -vt 0.585995 0.362151 -vt 0.555755 0.905665 -vt 0.555755 0.902259 -vt 0.584077 0.902259 -vt 0.553817 0.898853 -vt 0.584077 0.898853 -vt 0.553817 0.895447 -vt 0.584077 0.895447 -vt 0.584077 0.915884 -vt 0.553817 0.915884 -vt 0.556697 0.912478 -vt 0.578440 0.362946 -vt 0.576435 0.355877 -vt 0.580429 0.356940 -vt 0.556697 0.909072 -vt 0.584077 0.905665 -vt 0.584077 0.909072 -vt 0.593483 0.349786 -vt 0.592996 0.340362 -vt 0.597846 0.342550 -vt 0.586276 0.352998 -vt 0.589917 0.351476 -vt 0.599696 0.355426 -vt 0.593600 0.350089 -vt 0.585240 0.360681 -vt 0.584203 0.355788 -vt 0.582384 0.362835 -vt 0.592364 0.338579 -vt 0.590371 0.330901 -vt 0.593742 0.329886 -vt 0.576355 0.351266 -vt 0.577270 0.344170 -vt 0.580041 0.344164 -vt 0.584969 0.341689 -vt 0.583357 0.354886 -vt 0.579535 0.353906 -vt 0.589070 0.340750 -vt 0.582250 0.342223 -vt 0.590383 0.330750 -vt 0.591000 0.319261 -vt 0.594882 0.319966 -vt 0.583504 0.330766 -vt 0.579571 0.331086 -vt 0.579353 0.318516 -vt 0.576734 0.341757 -vt 0.573855 0.333787 -vt 0.577406 0.332066 -vt 0.586443 0.330528 -vt 0.582313 0.340895 -vt 0.579505 0.341764 -vt 0.971987 0.662547 -vt 0.968435 0.663880 -vt 0.972350 0.659161 -vt 0.579590 0.331264 -vt 0.591072 0.318857 -vt 0.619036 0.094519 -vt 0.622950 0.095018 -vt 0.579330 0.317361 -vt 0.607293 0.093023 -vt 0.611208 0.093522 -vt 0.968372 0.656934 -vt 0.577245 0.331136 -vt 0.573340 0.331703 -vt 0.571766 0.320662 -vt 0.583244 0.317860 -vt 0.965419 0.658631 -vt 0.575607 0.319758 -vt 0.587158 0.318359 -vt 0.965419 0.662298 -vt 0.514399 0.915940 -vt 0.508984 0.180204 -vt 0.505578 0.181875 -vt 0.505577 0.088266 -vt 0.515796 0.178845 -vt 0.515795 0.088266 -vt 0.519201 0.088266 -vt 0.571501 0.316364 -vt 0.599465 0.092025 -vt 0.603379 0.092524 -vt 0.512390 0.180204 -vt 0.508983 0.088266 -vt 0.615122 0.094020 -vt 0.519202 0.178845 -vt 0.522607 0.088266 -vt 0.575415 0.316863 -vt 0.512389 0.088266 -vt 0.526014 0.181875 -vt 0.522608 0.181875 -vt 0.967051 0.566473 -vt 0.965419 0.550346 -vt 0.973890 0.549489 -vt 0.919494 0.919973 -vt 0.923216 0.230485 -vt 0.941443 0.249540 -vt 0.933717 0.256310 -vt 0.923215 0.257932 -vt 0.870748 0.926350 -vt 0.873626 0.906938 -vt 0.886717 0.422408 -vt 0.968476 0.700378 -vt 0.971646 0.702682 -vt 0.965475 0.701990 -vt 0.971646 0.706088 -vt 0.968550 0.707791 -vt 0.965419 0.706450 -vt 0.263470 0.702640 -vt 0.265928 0.689376 -vt 0.273664 0.702640 -vt 0.264424 0.654014 -vt 0.265082 0.650503 -vt 0.421081 0.954098 -vt 0.421081 0.973501 -vt 0.945854 0.446542 -vt 0.923215 0.446542 -vt 0.452685 0.906504 -vt 0.429564 0.895447 -vt 0.452118 0.895447 -vt 0.637714 0.595349 -vt 0.631735 0.584872 -vt 0.640629 0.582439 -vt 0.162123 0.954127 -vt 0.401760 0.903747 -vt 0.426848 0.913635 -vt 0.618208 0.594024 -vt 0.617515 0.585026 -vt 0.623377 0.585424 -vt 0.713579 0.275449 -vt 0.664709 0.216727 -vt 0.662790 0.196243 -vt 0.933009 0.164578 -vt 0.930217 0.154763 -vt 0.945314 0.154763 -vt 0.452778 0.917599 -vt 0.486649 0.283867 -vt 0.489277 0.974146 -vt 0.952560 0.164578 -vt 0.948274 0.154763 -vt 0.958150 0.767827 -vt 0.938092 0.767192 -vt 0.573037 0.954869 -vt 0.831221 0.018249 -vt 0.858163 0.018249 -vt 0.817612 0.038365 -vt 0.846253 0.039083 -vt 0.852444 0.043265 -vt 0.400957 0.018249 -vt 0.206593 0.088468 -vt 0.826808 0.975449 -vt 0.255150 0.971853 -vt 0.234985 0.965983 -vt 0.255881 0.965983 -vt 0.252192 0.977094 -vt 0.374945 0.520030 -vt 0.366466 0.524366 -vt 0.400957 0.122529 -vt 0.760663 0.159314 -vt 0.787615 0.159314 -vt 0.786472 0.190672 -vt 0.772371 0.092025 -vt 0.798166 0.161946 -vt 0.798218 0.156903 -vt 0.759248 0.190672 -vt 0.750077 0.156832 -vt 0.751656 0.092026 -vt 0.750189 0.162232 -vt 0.384227 0.596762 -vt 0.376300 0.599429 -vt 0.018249 0.884507 -vt 0.018249 0.871473 -vt 0.026514 0.869150 -vt 0.041435 0.891024 -vt 0.059322 0.864955 -vt 0.102986 0.891024 -vt 0.974986 0.028862 -vt 0.961918 0.018249 -vt 0.977712 0.018249 -vt 0.964634 0.035241 -vt 0.026514 0.860761 -vt 0.018249 0.858438 -vt 0.018249 0.845404 -vt 0.271518 0.365278 -vt 0.305339 0.351269 -vt 0.319348 0.385090 -vt 0.044237 0.865876 -vt 0.091431 0.838886 -vt 0.082134 0.852430 -vt 0.066031 0.324961 -vt 0.032191 0.338827 -vt 0.018325 0.304986 -vt 0.149494 0.243254 -vt 0.163503 0.229245 -vt 0.201517 0.433390 -vt 0.080080 0.311019 -vt 0.094129 0.297078 -vt 0.215566 0.419448 -vt 0.168789 0.345253 -vt 0.219262 0.395438 -vt 0.939730 0.361803 -vt 0.939730 0.382513 -vt 0.926494 0.389704 -vt 0.180276 0.301444 -vt 0.162414 0.283408 -vt 0.173420 0.461273 -vt 0.051983 0.338902 -vt 0.187468 0.447331 -vt 0.923215 0.374315 -vt 0.591578 0.436048 -vt 0.928920 0.681194 -vt 0.900693 0.746998 -vt 0.928920 0.497771 -vt 0.714085 0.021408 -vt 0.714043 0.021428 -vt 0.980031 0.607394 -vt 0.047907 0.927523 -vt 0.176013 0.527988 -vt 0.176814 0.526857 -vt 0.257511 0.907882 -vt 0.239158 0.929485 -vt 0.234985 0.906853 -vt 0.261122 0.929485 -vt 0.934067 0.294430 -vt 0.938155 0.312098 -vt 0.923215 0.325305 -vt 0.923215 0.305209 -vt 0.925420 0.039451 -vt 0.909017 0.050857 -vt 0.925103 0.018249 -vt 0.909017 0.029891 -vt 0.228512 0.350623 -vt 0.182176 0.336604 -vt 0.164000 0.312494 -vt 0.121967 0.269880 -vt 0.108010 0.283416 -vt 0.154990 0.331355 -vt 0.172126 0.320826 -vt 0.180732 0.329522 -vt 0.219147 0.368685 -vt 0.244365 0.366470 -vt 0.242891 0.392891 -vt 0.215951 0.361585 -vt 0.545252 0.436048 -vt 0.974213 0.497771 -vt 0.919494 0.975304 -vt 0.318060 0.710500 -vt 0.418618 0.710500 -vt 0.658668 0.710500 -vt 0.060350 0.018251 -vt 0.400957 0.192747 -vt 0.804376 0.664014 -vt 0.783088 0.706590 -vt 0.723313 0.311947 -vt 0.744601 0.422644 -vt 0.567260 0.776666 -vt 0.533204 0.776666 -vt 0.530571 0.786628 -vt 0.527515 0.796382 -vt 0.512476 0.786737 -vt 0.508746 0.795297 -vt 0.500327 0.794810 -vt 0.513747 0.795586 -vt 0.438825 0.777489 -vt 0.486018 0.777489 -vt 0.489536 0.786488 -vt 0.018249 0.755012 -vt 0.585980 0.772957 -vt 0.938608 0.746998 -vt 0.248501 0.802388 -vt 0.553478 0.855690 -vt 0.256368 0.773061 -vt 0.850027 0.857805 -vt 0.781113 0.047971 -vt 0.331885 0.895447 -vt 0.351437 0.895447 -vt 0.365262 0.909272 -vt 0.351437 0.942649 -vt 0.318060 0.928824 -vt 0.553817 0.971934 -vt 0.411978 0.973945 -vt 0.924516 0.426203 -vt 0.508824 0.954698 -vt 0.623619 0.594391 -vt 0.142550 0.934387 -vt 0.266453 0.848103 -vt 0.266453 0.861138 -vt 0.257236 0.870354 -vt 0.234985 0.861138 -vt 0.257236 0.838886 -vt 0.645671 0.831665 -vt 0.506800 0.028909 -vt 0.020951 0.782836 -vt 0.318060 0.839397 -vt 0.746590 0.661431 -vt 0.695166 0.710499 -vt 0.018249 0.650502 -vt 0.695166 0.621438 -vt 0.355846 0.229245 -vt 0.423968 0.229245 -vt 0.475902 0.359080 -vt 0.492089 0.399549 -vt 0.495288 0.341410 -vt 0.453990 0.304301 -vt 0.423968 0.399549 -vt 0.535003 0.307223 -vt 0.709438 0.795167 -vt 0.670648 0.795167 -vt 0.815155 0.746998 -vt 0.863324 0.795167 -vt 0.739066 0.795167 -vt 0.622478 0.746998 -vt 0.862157 0.916550 -vt 0.781653 0.422644 -vt 0.938092 0.804325 -vt 0.781653 0.230485 -vt 0.938092 0.824066 -vt 0.665684 0.497771 -vt 0.084406 0.935763 -vt 0.617515 0.545940 -vt 0.102345 0.927523 -vt 0.451101 0.596978 -vt 0.384991 0.596764 -vt 0.417867 0.596895 -vt 0.367717 0.523953 -vt 0.367435 0.525110 -vt 0.371401 0.524095 -vt 0.376007 0.523935 -vt 0.198487 0.856168 -vt 0.198487 0.880607 -vt 0.181205 0.897889 -vt 0.139484 0.880607 -vt 0.156766 0.838886 -vt 0.320767 0.600949 -vt 0.551639 0.605877 -vt 0.518062 0.605880 -vt 0.347900 0.512235 -vt 0.576815 0.514730 -vt 0.440567 0.508072 -vt 0.759700 0.894303 -vt 0.776982 0.911585 -vt 0.776982 0.936025 -vt 0.735261 0.953306 -vt 0.717979 0.936025 -vt 0.546210 0.513425 -vt 0.379916 0.515041 -vt 0.162840 0.609905 -vt 0.093878 0.611656 -vt 0.129265 0.611941 -vt 0.681481 0.911585 -vt 0.681481 0.936025 -vt 0.664200 0.953306 -vt 0.622478 0.936025 -vt 0.639760 0.894303 -vt 0.022220 0.603055 -vt 0.221790 0.608740 -vt 0.126670 0.513893 -vt 0.083604 0.509072 -vt 0.876437 0.092025 -vt 0.893719 0.109307 -vt 0.893719 0.133747 -vt 0.851998 0.151028 -vt 0.834716 0.133747 -vt 0.053040 0.509659 -vt 0.213309 0.508458 -vt 0.180829 0.522754 -vt 0.616694 0.390314 -vt 0.622950 0.385635 -vt 0.604196 0.399549 -vt 0.584077 0.912478 -vt 0.597427 0.349692 -vt 0.597214 0.348530 -vt 0.597563 0.337451 -vt 0.593888 0.331075 -vt 0.594987 0.319356 -vt 0.526013 0.088266 -vt 0.973890 0.570896 -vt 0.852790 0.422408 -vt 0.880906 0.932281 -vt 0.852790 0.230485 -vt 0.886717 0.230485 -vt 0.882996 0.902728 -vt 0.264072 0.676571 -vt 0.267632 0.663120 -vt 0.646356 0.592473 -vt 0.139484 0.954127 -vt 0.679518 0.172862 -vt 0.679518 0.092025 -vt 0.713579 0.092025 -vt 0.679518 0.275449 -vt 0.659449 0.236759 -vt 0.665904 0.227734 -vt 0.489277 0.954676 -vt 0.950756 0.154763 -vt 0.573037 0.972573 -vt 0.872519 0.032985 -vt 0.181621 0.018249 -vt 0.041435 0.882738 -vt 0.086906 0.864955 -vt 0.041435 0.838886 -vt 0.041435 0.852552 -vt 0.305339 0.399099 -vt 0.285527 0.399099 -vt 0.271518 0.385090 -vt 0.285527 0.351269 -vt 0.319348 0.365278 -vt 0.032374 0.291044 -vt 0.052166 0.291120 -vt 0.066107 0.305169 -vt 0.018249 0.324778 -vt 0.229349 0.405947 -vt 0.257509 0.379287 -vt 0.135837 0.256477 -vt 0.894860 0.497771 -vt 0.901594 0.748001 -vt 0.899823 0.849485 -vt 0.899823 0.747984 -vt 0.714008 0.018249 -vt 0.760070 0.021394 -vt 0.176314 0.528147 -vt 0.177471 0.528996 -vt 0.176490 0.528240 -vt 0.175398 0.528773 -vt 0.209003 0.357628 -vt 0.189764 0.338777 -vt 0.809938 0.831722 -vt 0.935257 0.960747 -vt 0.919494 0.956471 -vn 0.000000 0.000000 1.000000 -vn 0.000000 0.447200 -0.894400 -vn 0.000000 -1.000000 0.000000 -vn -0.970100 0.242500 -0.000000 -vn 0.970100 0.242500 0.000000 -vn 1.000000 0.000000 0.000000 -vn -1.000000 0.000000 -0.000000 -vn 0.000000 0.000000 -1.000000 -vn 0.000000 1.000000 -0.000000 -vn -0.698100 0.713500 0.059600 -vn -0.923900 -0.382700 0.000000 -vn -0.382700 -0.923900 -0.000000 -vn 0.600100 -0.444000 0.665400 -vn 0.555300 -0.612200 -0.562900 -vn 0.678600 0.281100 -0.678600 -vn 0.923900 0.382700 0.000000 -vn 0.382700 0.923900 0.000000 -vn 0.923900 -0.382700 0.000000 -vn -0.923900 0.382700 -0.000000 -vn 0.382700 -0.923900 0.000000 -vn -0.382700 0.923900 0.000000 -vn -0.529700 0.776600 -0.341100 -vn 0.281100 -0.678600 -0.678600 -vn 0.268700 0.648700 -0.712000 -vn -0.680000 0.654400 -0.330600 -vn -0.678600 -0.281100 -0.678600 -vn 0.678600 -0.281100 -0.678600 -vn -0.281100 -0.678600 -0.678600 -vn 0.663200 0.742400 0.094900 -vn -0.799100 0.483100 0.357800 -vn 0.000000 -0.707100 -0.707100 -vn -0.581200 0.665600 -0.468100 -vn 0.000000 -0.923900 -0.382700 -vn 0.000000 -0.382700 0.923900 -vn 0.000000 -0.923900 0.382700 -vn 0.000000 -0.382700 -0.923900 -vn 0.000000 0.382700 -0.923900 -vn 0.000000 0.923900 0.382700 -vn 0.000000 0.923900 -0.382700 -vn -0.967700 -0.252200 -0.000000 -vn 0.000000 0.382700 0.923900 -vn 0.000000 0.707100 -0.707100 -vn -0.967700 0.000000 0.252200 -vn -0.019900 0.674100 -0.738400 -vn -0.984000 -0.126100 -0.126100 -vn 0.966200 0.171000 0.193100 -vn 0.953200 0.279400 0.115700 -vn 0.998200 -0.042300 0.042300 -vn -0.238900 0.913700 -0.328800 -vn 0.983600 -0.166700 0.069100 -vn 0.898000 -0.291800 -0.329400 -vn -0.982900 0.000000 -0.184000 -vn -0.285800 0.331200 -0.899200 -vn -0.976500 -0.213000 -0.034000 -vn -0.970300 0.242000 0.000000 -vn -0.794800 0.560700 -0.232200 -vn -0.500000 0.866000 0.000000 -vn -0.216400 -0.976300 0.000000 -vn 0.499800 -0.865700 -0.026700 -vn 0.500000 0.866000 0.000000 -vn -0.500000 -0.866000 0.000000 -vn 0.500000 -0.866000 0.000000 -vn 0.665300 -0.664700 0.339900 -vn -0.037000 -0.729500 0.683000 -vn -0.500000 0.810600 -0.304800 -vn -0.207000 -0.934000 0.291000 -vn 0.477400 0.826900 -0.297200 -vn 0.991500 -0.084000 -0.099200 -vn -0.505800 -0.554200 0.661100 -vn 0.705900 -0.616700 0.348400 -vn -0.484100 0.702500 -0.521600 -vn 0.997300 -0.025200 -0.069400 -vn -0.986200 0.056600 0.155600 -vn 0.608200 0.530000 -0.590900 -vn -0.495600 -0.131700 0.858500 -vn 0.496900 0.258700 -0.828300 -vn 0.491600 -0.327200 0.807000 -vn -0.131700 0.367400 -0.920700 -vn 0.864800 0.310000 -0.395100 -vn -0.975900 -0.215000 -0.037900 -vn 0.246500 0.870000 -0.426900 -vn 0.474800 0.451500 -0.755500 -vn -0.500000 -0.000000 0.866000 -vn 0.500000 0.000000 -0.866000 -vn 0.207100 0.731000 -0.650200 -vn 0.500000 -0.155000 0.852000 -vn -0.125300 0.290400 -0.948700 -vn -0.112200 0.974500 -0.194300 -vn -0.999100 0.041800 0.000000 -vn -0.418300 0.908300 0.000000 -vn -0.680200 0.621800 -0.388200 -vn 0.500000 -0.000000 0.866000 -vn -0.500000 0.000000 -0.866000 -vn -0.421000 -0.388200 0.819800 -vn -0.471600 0.678500 -0.563300 -vn -0.507300 -0.405500 0.760400 -vn 0.000000 0.707100 0.707100 -vn 0.274600 0.475600 -0.835700 -vn 0.152100 -0.263400 -0.952600 -vn 0.698600 0.000000 -0.715500 -vn 0.142900 0.422100 -0.895200 -vn -0.878300 0.363800 -0.310100 -vn 0.790000 0.327200 -0.518500 -vn -0.682100 -0.499100 0.534500 -vn -0.895300 -0.370800 -0.246900 -vn -0.347800 0.839800 -0.416900 -vn -0.818500 0.560800 0.124800 -vn -0.789600 -0.581900 0.195000 -vn 0.240400 -0.435600 0.867500 -vn 0.814600 -0.337400 -0.471800 -vn -0.430800 -0.902200 -0.019800 -vn -0.305500 -0.925000 0.225900 -vn 0.355000 -0.857100 -0.373400 -vn 0.331800 0.801000 -0.498300 -vn -0.367900 -0.888200 -0.275300 -vn -0.147000 0.950900 0.272500 -vn -0.621100 -0.780100 0.075200 -vn -0.722100 -0.422500 0.547800 -vn -0.143500 -0.986900 0.074100 -vn -0.031900 0.739500 -0.672400 -vn -0.165600 -0.986000 -0.017100 -vn -0.977700 0.173000 -0.119100 -vn -0.123300 0.992400 -0.000000 -vn -0.954900 0.296800 -0.000000 -vn -0.845300 0.357000 -0.397500 -vn -0.127400 0.907900 -0.399300 -vn -0.095800 0.914800 0.392400 -vn -0.902600 0.229500 0.364200 -vn 0.756000 0.250500 0.604800 -vn -0.281100 0.678600 -0.678600 -vn 0.522500 0.563000 0.640300 -vn 0.571300 -0.428600 0.700000 -vn -0.678600 0.281100 -0.678600 -vn -0.532500 0.483300 -0.694900 -vn -0.587400 0.488300 0.645400 -vn 0.641800 -0.615300 -0.457800 -vn -0.000000 0.371400 -0.928500 -vn -0.123800 -0.343000 0.931100 -vn -0.001900 0.549600 0.835400 -vn 0.435700 -0.860900 0.262600 -vn 0.363900 0.323600 -0.873400 -vn -0.404600 0.630100 -0.662800 -vn -0.256400 0.019200 0.966400 -vn -0.385800 0.509300 -0.769300 -vn -0.482200 0.353500 0.801600 -vn -0.793800 0.460500 -0.397300 -vn 0.518200 0.387400 -0.762500 -vn 0.402200 0.647400 -0.647400 -vn -0.978100 -0.113500 -0.174300 -vn -0.944600 -0.232100 -0.232100 -vn -0.944600 -0.232100 0.232100 -vn -0.972000 0.000000 -0.234900 -vn 0.898000 0.291800 -0.329400 -vn 0.966200 -0.171000 0.193100 -vn 0.994700 0.000000 0.103100 -vn 0.983600 -0.166700 -0.069100 -vn 0.998200 -0.042300 -0.042300 -vn 0.959500 0.186800 0.210900 -vn -0.976500 -0.034000 -0.213000 -vn -0.982900 -0.184000 -0.000000 -vn -0.794800 0.232200 -0.560700 -vn -0.970300 0.000000 -0.242000 -vn -0.499800 -0.865700 -0.026700 -vn 0.482300 -0.835400 0.263600 -vn -0.494900 -0.756600 0.427400 -vn -0.596400 0.770800 -0.223700 -vn -0.497100 -0.772500 0.395000 -vn 0.456000 0.833000 -0.313200 -vn 0.988100 -0.052500 -0.144300 -vn -0.160400 -0.370900 0.914700 -vn 0.661300 -0.663700 0.349400 -vn -0.468300 0.711700 -0.523600 -vn 0.874200 0.256300 -0.412500 -vn -0.984300 0.113600 0.135300 -vn 0.708900 0.477200 -0.519300 -vn -0.560500 -0.148200 0.814800 -vn 0.483300 0.256200 -0.837100 -vn 0.643000 -0.210200 0.736400 -vn -0.432200 0.374100 -0.820500 -vn 0.958700 0.271800 0.083800 -vn -0.957400 -0.185600 -0.221200 -vn 0.688600 0.357300 -0.631000 -vn 0.494100 -0.153200 0.855800 -vn -0.492800 0.169000 -0.853600 -vn -0.999000 0.043000 0.007600 -vn -0.945000 0.152200 0.289600 -vn 0.000000 -0.371400 0.928500 -vn 0.089900 -0.334500 0.938100 -vn -0.135000 -0.368000 0.920000 -vn -0.717400 -0.411900 0.561900 -vn -0.984000 0.178300 -0.000000 -vn -0.984600 0.174600 -0.009100 -vn -0.982000 0.188900 -0.008900 -vn -0.984000 0.126100 -0.126100 -vn -0.971400 0.227200 -0.069500 -vn -0.975900 0.206300 -0.071300 -s off -f 8/1/1 7/2/1 3/3/1 -f 2/4/2 1/5/2 5/6/2 -f 3/7/3 301/8/3 1/9/3 -f 304/10/4 306/11/4 6/12/4 -f 303/13/5 300/14/5 1/15/5 -f 12/16/6 11/17/6 9/18/6 -f 14/19/7 13/20/7 15/21/7 -f 10/22/8 9/18/8 13/23/8 -f 11/17/3 15/24/3 13/23/3 -f 14/19/9 16/25/9 12/16/9 -f 20/26/8 19/27/8 17/28/8 -f 24/29/6 23/30/6 19/27/6 -f 22/31/1 21/32/1 23/33/1 -f 18/34/7 17/28/7 21/35/7 -f 19/27/3 23/30/3 21/35/3 -f 24/36/9 20/26/9 18/37/9 -f 28/38/10 79/39/10 323/40/10 -f 346/41/11 344/42/11 32/43/11 -f 32/44/12 34/45/12 33/46/12 -f 380/47/13 378/48/13 381/49/13 -f 380/47/14 381/49/14 379/50/14 -f 40/51/15 38/52/15 63/53/15 -f 38/52/16 40/51/16 39/54/16 -f 29/55/1 31/56/1 44/57/1 -f 41/58/17 49/59/17 56/60/17 -f 37/61/1 47/62/1 46/63/1 -f 31/64/1 33/46/1 45/65/1 -f 37/61/1 39/54/1 48/66/1 -f 29/67/1 43/68/1 42/69/1 -f 35/70/1 46/71/1 45/72/1 -f 39/73/1 25/74/1 41/75/1 -f 27/76/1 42/77/1 41/78/1 -f 44/79/1 46/80/1 48/81/1 -f 47/82/18 278/83/18 46/84/18 -f 45/85/12 53/86/12 52/87/12 -f 42/88/19 43/89/19 51/90/19 -f 48/91/16 56/92/16 55/93/16 -f 46/94/20 54/95/20 53/96/20 -f 43/97/11 44/98/11 281/99/11 -f 42/100/21 50/101/21 49/102/21 -f 62/103/8 61/104/8 64/105/8 -f 79/106/22 28/38/22 315/107/22 -f 34/108/23 61/109/23 62/110/23 -f 26/111/24 40/112/24 64/113/24 -f 28/38/25 314/114/25 315/107/25 -f 30/115/26 59/116/26 60/117/26 -f 38/52/27 36/118/27 62/119/27 -f 34/45/28 32/44/28 60/120/28 -f 339/121/29 333/122/29 340/123/29 -f 290/124/30 267/125/30 293/126/30 -f 69/127/6 65/128/6 339/129/6 -f 288/130/7 287/131/7 285/132/7 -f 253/133/7 249/134/7 251/135/7 -f 68/136/31 368/137/31 76/138/31 -f 251/139/32 248/140/32 252/141/32 -f 73/142/6 75/143/6 367/144/6 -f 100/145/33 101/146/33 103/147/33 -f 311/148/6 81/149/6 77/150/6 -f 82/151/34 81/149/34 310/152/34 -f 98/153/34 104/154/34 105/155/34 -f 87/156/6 89/157/6 98/153/6 -f 81/149/35 82/151/35 84/158/35 -f 99/159/35 103/160/35 104/161/35 -f 84/162/33 86/163/33 85/164/33 -f 78/165/36 102/166/36 101/167/36 -f 91/168/6 93/169/6 100/145/6 -f 305/170/36 299/171/36 85/164/36 -f 106/172/6 104/173/6 101/174/6 -f 83/175/6 85/164/6 96/176/6 -f 88/177/37 90/178/37 89/157/37 -f 89/157/6 91/168/6 99/159/6 -f 95/179/38 96/176/38 106/180/38 -f 90/178/39 92/181/39 91/168/39 -f 82/151/40 80/182/40 110/183/40 -f 94/184/41 310/152/41 93/169/41 -f 92/181/38 94/184/38 93/169/38 -f 77/185/39 95/186/39 107/187/39 -f 83/188/6 95/186/6 77/185/6 -f 312/189/6 78/165/6 100/190/6 -f 78/191/37 77/150/37 108/192/37 -f 106/193/42 96/194/42 85/164/42 -f 113/195/34 121/196/34 122/197/34 -f 86/163/43 84/162/43 111/198/43 -f 92/181/7 115/199/7 116/200/7 -f 305/201/44 297/202/44 307/203/44 -f 94/184/7 116/204/7 110/205/7 -f 88/177/7 113/195/7 114/206/7 -f 84/158/7 82/151/7 109/207/7 -f 92/181/45 90/178/45 114/208/45 -f 123/209/7 120/210/7 119/211/7 -f 111/198/38 119/212/38 120/213/38 -f 109/214/37 110/183/37 118/215/37 -f 116/204/36 124/216/36 118/217/36 -f 114/208/35 122/218/35 123/219/35 -f 113/220/41 112/221/41 120/222/41 -f 109/207/39 117/223/39 119/224/39 -f 115/199/33 123/225/33 124/226/33 -f 147/227/33 148/228/33 149/229/33 -f 127/230/6 129/231/6 125/232/6 -f 128/233/34 130/234/34 129/231/34 -f 145/235/34 146/236/34 152/237/34 -f 135/238/6 137/239/6 146/236/6 -f 130/234/35 132/240/35 131/241/35 -f 146/242/35 147/243/35 151/244/35 -f 135/238/46 145/245/46 144/246/46 -f 131/247/33 132/248/33 134/249/33 -f 126/250/36 150/251/36 149/252/36 -f 141/253/47 148/228/47 147/227/47 -f 134/249/36 136/254/36 135/238/36 -f 154/255/6 152/256/6 149/257/6 -f 131/247/48 133/258/48 144/259/48 -f 135/238/37 136/254/37 138/260/37 -f 139/261/6 147/243/6 146/242/6 -f 144/259/38 154/262/38 155/263/38 -f 138/260/39 140/264/39 139/261/39 -f 128/233/7 158/265/7 157/266/7 -f 141/253/41 142/267/41 128/233/41 -f 362/268/49 353/269/49 365/270/49 -f 143/271/39 155/272/39 156/273/39 -f 131/241/50 143/271/50 125/274/50 -f 127/230/51 126/250/51 148/275/51 -f 126/276/37 125/232/37 156/277/37 -f 145/245/41 153/278/41 154/279/41 -f 161/280/34 169/281/34 170/282/34 -f 132/248/52 159/283/52 160/284/52 -f 362/285/53 354/286/53 363/287/53 -f 136/254/54 134/249/54 160/288/54 -f 128/233/7 142/267/7 164/289/7 -f 138/260/55 136/254/55 161/280/55 -f 130/234/7 157/290/7 159/291/7 -f 138/260/56 162/292/56 163/293/56 -f 171/294/7 168/295/7 167/296/7 -f 160/284/38 159/283/38 167/297/38 -f 158/265/37 166/298/37 165/299/37 -f 158/300/36 164/289/36 172/301/36 -f 162/292/35 170/302/35 171/303/35 -f 160/288/41 168/304/41 169/305/41 -f 157/290/39 165/306/39 167/307/39 -f 164/308/33 163/309/33 171/310/33 -f 2/4/9 6/12/9 306/11/9 -f 173/311/57 174/312/57 176/313/57 -f 176/313/7 178/314/7 177/315/7 -f 177/315/58 178/314/58 180/316/58 -f 180/317/59 182/318/59 181/319/59 -f 183/320/60 184/321/60 174/312/60 -f 182/318/6 184/321/6 183/320/6 -f 186/322/57 188/323/57 187/324/57 -f 188/323/7 190/325/7 189/326/7 -f 190/325/61 192/327/61 191/328/61 -f 191/329/62 192/330/62 194/331/62 -f 180/332/63 200/333/63 201/334/63 -f 196/335/60 186/322/60 185/336/60 -f 194/331/6 196/335/6 195/337/6 -f 199/338/64 205/339/64 206/340/64 -f 174/312/65 198/341/65 197/342/65 -f 180/343/66 178/314/66 199/344/66 -f 178/314/7 176/313/7 197/342/7 -f 174/312/67 184/345/67 202/346/67 -f 184/345/68 182/347/68 201/334/68 -f 205/348/69 211/349/69 212/350/69 -f 200/351/70 206/352/70 207/353/70 -f 197/342/71 198/341/71 204/354/71 -f 202/355/72 201/356/72 207/353/72 -f 199/338/73 197/342/73 203/357/73 -f 198/341/74 202/355/74 208/358/74 -f 211/359/75 217/360/75 218/361/75 -f 210/362/76 214/363/76 220/364/76 -f 206/365/77 212/366/77 213/367/77 -f 204/354/78 210/362/78 209/368/78 -f 208/369/79 207/370/79 213/367/79 -f 203/357/80 209/368/80 211/349/80 -f 224/371/81 225/372/81 223/373/81 -f 208/369/82 214/374/82 210/362/82 -f 217/375/83 229/376/83 230/377/83 -f 220/378/84 232/379/84 228/380/84 -f 221/381/85 223/373/85 225/372/85 -f 213/382/86 212/383/86 218/384/86 -f 209/368/87 210/362/87 216/385/87 -f 222/386/88 221/381/88 225/372/88 -f 214/363/6 213/382/6 219/387/6 -f 209/368/89 215/388/89 217/360/89 -f 226/389/90 222/386/90 225/372/90 -f 313/390/91 314/114/91 28/38/91 -f 225/391/92 224/392/92 236/393/92 -f 222/394/93 234/395/93 233/396/93 -f 218/397/92 230/398/92 231/399/92 -f 226/400/6 225/391/6 237/401/6 -f 216/385/93 228/380/93 227/402/93 -f 221/403/7 233/396/7 235/404/7 -f 219/405/6 231/399/6 232/379/6 -f 222/394/84 226/400/84 238/406/84 -f 215/388/7 227/402/7 229/376/7 -f 224/407/83 223/408/83 235/404/83 -f 243/409/7 245/410/7 246/411/7 -f 251/139/94 252/141/94 247/412/94 -f 253/413/95 250/414/95 254/415/95 -f 253/413/96 254/415/96 249/416/96 -f 252/417/97 254/418/97 65/419/97 -f 190/420/98 188/421/98 192/422/98 -f 186/423/99 196/424/99 188/421/99 -f 194/425/100 192/422/100 196/424/100 -f 192/422/101 188/421/101 196/424/101 -f 240/426/21 256/427/21 25/428/21 -f 259/429/19 260/430/19 29/67/19 -f 51/90/102 264/431/102 270/432/102 -f 56/92/103 269/433/103 268/434/103 -f 291/435/104 286/436/104 292/437/104 -f 51/438/105 273/439/105 271/440/105 -f 49/102/106 50/101/106 263/441/106 -f 286/436/107 291/435/107 285/442/107 -f 291/435/108 284/443/108 285/442/108 -f 52/444/105 265/445/105 272/446/105 -f 69/447/109 292/448/109 293/449/109 -f 55/450/110 268/451/110 279/452/110 -f 284/443/111 291/435/111 283/453/111 -f 293/126/112 289/454/112 290/124/112 -f 53/96/113 54/95/113 276/455/113 -f 54/456/110 278/83/110 280/457/110 -f 49/59/114 262/458/114 275/459/114 -f 52/87/115 53/86/115 282/460/115 -f 289/461/116 293/462/116 288/463/116 -f 288/463/117 293/462/117 287/464/117 -f 286/465/118 287/464/118 293/462/118 -f 7/466/4 8/1/4 302/467/4 -f 305/201/119 307/203/119 298/468/119 -f 296/469/120 299/470/120 295/471/120 -f 296/469/121 294/472/121 299/470/121 -f 296/473/122 307/474/122 112/221/122 -f 4/475/9 300/14/9 302/467/9 -f 309/476/123 308/477/123 300/478/123 -f 301/479/124 308/477/124 309/476/124 -f 302/480/125 308/477/125 301/479/125 -f 300/478/126 308/477/126 302/481/126 -f 303/482/127 306/483/127 309/476/127 -f 304/484/128 309/476/128 306/485/128 -f 97/486/3 105/487/3 87/156/3 -f 105/487/129 106/193/129 85/164/129 -f 58/488/130 57/489/130 315/490/130 -f 26/491/21 313/492/21 241/493/21 -f 78/494/131 310/495/131 311/496/131 -f 310/495/132 78/494/132 312/497/132 -f 315/498/133 57/499/133 59/500/133 -f 319/501/1 317/502/1 324/503/1 -f 323/504/19 257/505/19 261/506/19 -f 328/507/8 329/508/8 331/509/8 -f 319/501/12 329/510/12 327/511/12 -f 316/512/16 325/513/16 326/514/16 -f 324/515/17 369/516/17 374/517/17 -f 371/518/134 373/519/134 376/520/134 -f 359/521/11 375/522/11 329/510/11 -f 318/523/20 327/524/20 328/507/20 -f 317/525/18 328/507/18 325/513/18 -f 376/520/135 372/526/135 371/518/135 -f 339/121/136 340/123/136 334/527/136 -f 72/528/137 340/529/137 68/530/137 -f 337/531/17 341/532/17 347/532/17 -f 354/533/138 362/268/138 365/270/138 -f 363/287/139 355/534/139 362/285/139 -f 139/261/38 363/535/38 141/253/38 -f 362/536/7 163/309/7 164/308/7 -f 367/537/140 368/538/140 361/539/140 -f 367/537/141 360/540/141 368/538/141 -f 370/541/142 366/542/142 369/543/142 -f 369/543/143 364/544/143 370/541/143 -f 357/545/144 356/546/144 359/547/144 -f 358/548/145 359/547/145 356/546/145 -f 359/521/19 371/549/19 370/550/19 -f 375/522/19 358/551/19 331/552/19 -f 332/553/21 331/552/21 358/551/21 -f 356/554/21 357/555/21 364/556/21 -f 373/557/19 377/558/19 321/559/19 -f 374/517/21 369/516/21 376/560/21 -f 34/108/20 378/561/20 380/562/20 -f 381/563/18 38/52/18 37/61/18 -f 4/475/1 8/1/1 3/3/1 -f 6/12/2 2/4/2 5/6/2 -f 5/564/3 1/9/3 304/565/3 -f 3/7/3 7/566/3 301/8/3 -f 301/8/3 304/565/3 1/9/3 -f 5/567/4 304/10/4 6/12/4 -f 3/568/5 1/15/5 300/14/5 -f 2/4/5 303/13/5 1/15/5 -f 300/14/5 4/475/5 3/568/5 -f 10/569/6 12/16/6 9/18/6 -f 16/25/7 14/19/7 15/21/7 -f 14/570/8 10/22/8 13/23/8 -f 9/18/3 11/17/3 13/23/3 -f 10/569/9 14/19/9 12/16/9 -f 18/37/8 20/26/8 17/28/8 -f 20/571/6 24/29/6 19/27/6 -f 24/36/1 22/31/1 23/33/1 -f 22/572/7 18/34/7 21/35/7 -f 17/28/3 19/27/3 21/35/3 -f 22/31/9 24/36/9 18/37/9 -f 313/390/146 28/38/146 323/40/146 -f 31/56/11 29/55/11 260/573/11 -f 260/573/11 348/574/11 352/575/11 -f 352/575/11 349/576/11 350/577/11 -f 350/577/11 343/578/11 336/579/11 -f 349/576/11 342/580/11 350/577/11 -f 31/56/11 260/573/11 352/575/11 -f 257/581/11 30/115/11 32/43/11 -f 32/43/11 31/56/11 346/41/11 -f 350/577/11 336/579/11 346/41/11 -f 31/56/11 352/575/11 350/577/11 -f 335/582/11 257/581/11 344/42/11 -f 346/41/11 345/583/11 344/42/11 -f 344/42/11 257/581/11 32/43/11 -f 31/56/11 350/577/11 346/41/11 -f 31/64/12 32/44/12 33/46/12 -f 64/584/147 40/51/147 63/53/147 -f 37/61/16 38/52/16 39/54/16 -f 43/585/1 29/55/1 44/57/1 -f 48/586/17 41/58/17 56/60/17 -f 35/587/1 37/61/1 46/63/1 -f 44/588/1 31/64/1 45/65/1 -f 47/589/1 37/61/1 48/66/1 -f 27/76/1 29/67/1 42/69/1 -f 33/590/1 35/70/1 45/72/1 -f 48/591/1 39/73/1 41/75/1 -f 25/428/1 27/76/1 41/78/1 -f 48/81/1 41/592/1 42/593/1 -f 42/593/1 43/594/1 44/79/1 -f 44/79/1 45/595/1 46/80/1 -f 46/80/1 47/596/1 48/81/1 -f 48/81/1 42/593/1 44/79/1 -f 54/456/18 46/84/18 278/83/18 -f 47/82/18 55/450/18 278/83/18 -f 44/597/12 45/85/12 52/87/12 -f 50/598/19 42/88/19 51/90/19 -f 47/599/16 48/91/16 55/93/16 -f 45/600/20 46/94/20 53/96/20 -f 44/98/11 52/444/11 281/99/11 -f 273/439/11 51/438/11 281/99/11 -f 52/444/11 274/601/11 281/99/11 -f 281/99/11 51/438/11 43/97/11 -f 41/602/21 42/100/21 49/102/21 -f 59/603/8 57/604/8 64/105/8 -f 58/605/8 64/105/8 57/604/8 -f 63/606/8 62/103/8 64/105/8 -f 61/104/8 60/607/8 64/105/8 -f 59/603/8 64/105/8 60/607/8 -f 36/608/23 34/108/23 62/110/23 -f 58/609/148 26/111/148 64/113/148 -f 32/43/26 30/115/26 60/117/26 -f 63/610/27 38/52/27 62/119/27 -f 61/611/28 34/45/28 60/120/28 -f 334/612/6 71/613/6 339/129/6 -f 65/128/6 67/614/6 333/615/6 -f 339/129/6 71/613/6 69/127/6 -f 65/128/6 333/615/6 339/129/6 -f 68/616/7 66/617/7 290/124/7 -f 283/618/7 70/619/7 284/620/7 -f 66/617/7 267/621/7 290/124/7 -f 284/620/7 70/619/7 72/622/7 -f 290/124/149 289/454/149 288/130/149 -f 285/132/7 284/620/7 72/622/7 -f 68/616/7 290/124/7 288/130/7 -f 285/132/7 72/622/7 288/130/7 -f 287/131/7 286/623/7 285/132/7 -f 72/622/7 68/616/7 288/130/7 -f 247/624/7 66/625/7 251/135/7 -f 76/626/7 74/627/7 250/628/7 -f 251/135/7 66/625/7 68/629/7 -f 76/626/7 250/628/7 253/133/7 -f 251/135/7 68/629/7 253/133/7 -f 249/134/7 248/630/7 251/135/7 -f 68/629/7 76/626/7 253/133/7 -f 68/136/31 67/631/31 361/632/31 -f 75/633/31 76/138/31 360/634/31 -f 368/137/31 360/634/31 76/138/31 -f 68/136/31 361/632/31 368/137/31 -f 65/635/6 73/142/6 367/144/6 -f 361/636/6 67/637/6 65/635/6 -f 75/143/6 360/638/6 367/144/6 -f 367/144/6 361/636/6 65/635/6 -f 99/639/33 100/145/33 103/147/33 -f 78/191/6 311/148/6 77/150/6 -f 311/148/34 310/152/34 81/149/34 -f 80/182/34 82/151/34 310/152/34 -f 97/640/34 98/153/34 105/155/34 -f 97/640/6 87/156/6 98/153/6 -f 83/188/35 81/149/35 84/158/35 -f 98/641/35 99/159/35 104/161/35 -f 83/175/33 84/162/33 85/164/33 -f 100/190/36 78/165/36 101/167/36 -f 99/639/6 91/168/6 100/145/6 -f 87/156/36 85/164/36 299/171/36 -f 86/163/36 297/642/36 305/170/36 -f 305/170/36 298/643/36 295/644/36 -f 299/171/36 294/645/36 88/177/36 -f 305/170/36 295/644/36 299/171/36 -f 85/164/36 86/163/36 305/170/36 -f 299/171/36 88/177/36 87/156/36 -f 101/174/6 102/646/6 108/647/6 -f 108/647/6 107/648/6 106/172/6 -f 106/172/6 105/649/6 104/173/6 -f 104/173/6 103/650/6 101/174/6 -f 101/174/6 108/647/6 106/172/6 -f 95/179/6 83/175/6 96/176/6 -f 87/156/37 88/177/37 89/157/37 -f 98/641/6 89/157/6 99/159/6 -f 107/651/38 95/179/38 106/180/38 -f 89/157/39 90/178/39 91/168/39 -f 109/214/150 82/151/150 110/183/150 -f 312/189/41 93/169/41 310/152/41 -f 94/184/41 80/182/41 310/152/41 -f 91/168/38 92/181/38 93/169/38 -f 108/652/39 77/185/39 107/187/39 -f 81/149/6 83/188/6 77/185/6 -f 93/169/6 312/189/6 100/190/6 -f 102/653/37 78/191/37 108/192/37 -f 114/206/34 113/195/34 122/197/34 -f 112/654/151 86/163/151 111/198/151 -f 94/184/7 92/181/7 116/200/7 -f 80/182/7 94/184/7 110/205/7 -f 90/178/7 88/177/7 114/206/7 -f 111/655/7 84/158/7 109/207/7 -f 115/656/152 92/181/152 114/208/152 -f 119/211/7 117/657/7 118/658/7 -f 118/658/7 124/659/7 119/211/7 -f 123/209/7 122/660/7 121/661/7 -f 121/661/7 120/210/7 123/209/7 -f 119/211/7 124/659/7 123/209/7 -f 112/654/38 111/198/38 120/213/38 -f 117/662/37 109/214/37 118/215/37 -f 110/205/36 116/204/36 118/217/36 -f 115/656/35 114/208/35 123/219/35 -f 121/663/41 113/220/41 120/222/41 -f 111/655/39 109/207/39 119/224/39 -f 116/200/33 115/199/33 124/226/33 -f 151/664/33 147/227/33 149/229/33 -f 126/276/153 127/230/153 125/232/153 -f 127/230/34 128/233/34 129/231/34 -f 153/665/34 145/235/34 152/237/34 -f 145/235/154 135/238/154 146/236/154 -f 129/231/35 130/234/35 131/241/35 -f 152/666/35 146/242/35 151/244/35 -f 133/258/6 135/238/6 144/246/6 -f 133/258/33 131/247/33 134/249/33 -f 148/275/36 126/250/36 149/252/36 -f 139/261/155 141/253/155 147/227/155 -f 133/258/36 134/249/36 135/238/36 -f 149/257/6 150/667/6 156/668/6 -f 156/668/6 155/669/6 154/255/6 -f 154/255/6 153/670/6 152/256/6 -f 152/256/6 151/671/6 149/257/6 -f 149/257/6 156/668/6 154/255/6 -f 143/672/156 131/247/156 144/259/156 -f 137/239/37 135/238/37 138/260/37 -f 137/239/6 139/261/6 146/242/6 -f 143/672/38 144/259/38 155/263/38 -f 137/239/39 138/260/39 139/261/39 -f 130/234/7 128/233/7 157/266/7 -f 127/230/41 141/253/41 128/233/41 -f 125/274/39 143/271/39 156/273/39 -f 129/231/157 131/241/157 125/274/157 -f 141/253/158 127/230/158 148/275/158 -f 150/673/37 126/276/37 156/277/37 -f 144/246/41 145/245/41 154/279/41 -f 162/674/34 161/280/34 170/282/34 -f 134/249/159 132/248/159 160/284/159 -f 161/675/160 136/254/160 160/288/160 -f 158/300/7 128/233/7 164/289/7 -f 162/674/161 138/260/161 161/280/161 -f 132/240/7 130/234/7 159/291/7 -f 140/264/162 138/260/162 163/293/162 -f 167/296/7 165/676/7 166/677/7 -f 166/677/7 172/678/7 167/296/7 -f 171/294/7 170/679/7 169/680/7 -f 169/680/7 168/295/7 171/294/7 -f 167/296/7 172/678/7 171/294/7 -f 168/681/38 160/284/38 167/297/38 -f 157/266/37 158/265/37 165/299/37 -f 166/682/36 158/300/36 172/301/36 -f 163/293/35 162/292/35 171/303/35 -f 161/675/41 160/288/41 169/305/41 -f 159/291/39 157/290/39 167/307/39 -f 172/683/33 164/308/33 171/310/33 -f 303/13/9 2/4/9 306/11/9 -f 175/684/57 173/311/57 176/313/57 -f 175/684/7 176/313/7 177/315/7 -f 179/685/163 177/315/163 180/316/163 -f 179/686/59 180/317/59 181/319/59 -f 173/311/60 183/320/60 174/312/60 -f 181/319/6 182/318/6 183/320/6 -f 185/336/57 186/322/57 187/324/57 -f 187/324/7 188/323/7 189/326/7 -f 189/326/61 190/325/61 191/328/61 -f 193/687/62 191/329/62 194/331/62 -f 182/347/164 180/332/164 201/334/164 -f 195/337/60 196/335/60 185/336/60 -f 193/687/6 194/331/6 195/337/6 -f 200/688/165 199/338/165 206/340/165 -f 176/313/166 174/312/166 197/342/166 -f 200/689/167 180/343/167 199/344/167 -f 199/344/7 178/314/7 197/342/7 -f 198/341/168 174/312/168 202/346/168 -f 202/346/169 184/345/169 201/334/169 -f 206/690/170 205/348/170 212/350/170 -f 201/356/171 200/351/171 207/353/171 -f 203/357/172 197/342/172 204/354/172 -f 208/358/173 202/355/173 207/353/173 -f 205/339/174 199/338/174 203/357/174 -f 204/354/175 198/341/175 208/358/175 -f 212/691/176 211/359/176 218/361/176 -f 216/385/177 210/362/177 220/364/177 -f 207/370/178 206/365/178 213/367/178 -f 203/357/179 204/354/179 209/368/179 -f 214/374/180 208/369/180 213/367/180 -f 205/348/181 203/357/181 211/349/181 -f 204/354/182 208/369/182 210/362/182 -f 218/692/83 217/375/83 230/377/83 -f 216/385/84 220/378/84 228/380/84 -f 219/387/183 213/382/183 218/384/183 -f 215/388/184 209/368/184 216/385/184 -f 220/364/6 214/363/6 219/387/6 -f 211/359/185 209/368/185 217/360/185 -f 237/401/92 225/391/92 236/393/92 -f 221/403/93 222/394/93 233/396/93 -f 219/405/92 218/397/92 231/399/92 -f 238/406/6 226/400/6 237/401/6 -f 215/388/93 216/385/93 227/402/93 -f 223/408/7 221/403/7 235/404/7 -f 220/378/6 219/405/6 232/379/6 -f 234/395/84 222/394/84 238/406/84 -f 217/375/7 215/388/7 229/376/7 -f 236/693/83 224/407/83 235/404/83 -f 244/694/186 243/409/186 246/411/186 -f 65/419/97 66/695/97 252/417/97 -f 252/417/97 248/630/97 254/418/97 -f 66/695/97 247/696/97 252/417/97 -f 74/697/97 73/698/97 250/699/97 -f 254/418/97 250/699/97 73/698/97 -f 248/630/97 249/134/97 254/418/97 -f 73/698/97 65/419/97 254/418/97 -f 27/76/21 25/428/21 256/427/21 -f 256/427/21 239/700/21 27/76/21 -f 29/67/19 27/76/19 258/701/19 -f 258/701/19 259/429/19 29/67/19 -f 27/76/19 239/700/19 258/701/19 -f 50/598/102 51/90/102 270/432/102 -f 55/93/103 56/92/103 268/434/103 -f 264/702/105 51/438/105 271/440/105 -f 262/703/106 49/102/106 263/441/106 -f 274/601/105 52/444/105 272/446/105 -f 267/704/187 66/705/187 65/706/187 -f 69/447/187 70/707/187 283/708/187 -f 293/449/188 267/704/188 65/706/188 -f 69/447/187 283/708/187 291/709/187 -f 293/449/189 65/706/189 69/447/189 -f 69/447/187 291/709/187 292/448/187 -f 278/83/110 55/450/110 279/452/110 -f 266/710/113 53/96/113 276/455/113 -f 277/711/110 54/456/110 280/457/110 -f 56/60/114 49/59/114 275/459/114 -f 265/712/115 52/87/115 282/460/115 -f 292/713/190 286/465/190 293/462/190 -f 301/714/4 7/466/4 302/467/4 -f 113/220/191 88/177/191 294/645/191 -f 296/473/192 295/644/192 307/474/192 -f 113/220/193 294/645/193 296/473/193 -f 86/163/194 112/221/194 297/642/194 -f 307/474/195 297/642/195 112/221/195 -f 295/644/192 298/643/192 307/474/192 -f 112/221/196 113/220/196 296/473/196 -f 8/1/9 4/475/9 302/467/9 -f 303/482/123 309/476/123 300/478/123 -f 304/484/124 301/479/124 309/476/124 -f 87/156/129 105/487/129 85/164/129 -f 315/490/130 314/715/130 58/488/130 -f 26/491/130 58/488/130 314/715/130 -f 242/716/21 241/493/21 313/492/21 -f 26/491/21 314/715/21 313/492/21 -f 59/500/133 30/717/133 79/718/133 -f 79/718/133 315/498/133 59/500/133 -f 324/503/1 322/719/1 321/720/1 -f 321/720/1 320/721/1 319/501/1 -f 319/501/1 318/722/1 317/502/1 -f 317/502/1 316/723/1 324/503/1 -f 324/503/1 321/720/1 319/501/1 -f 261/506/19 242/716/19 313/492/19 -f 323/504/19 79/718/19 30/717/19 -f 261/506/19 313/492/19 323/504/19 -f 30/717/19 257/505/19 323/504/19 -f 331/509/8 332/724/8 326/725/8 -f 326/725/8 325/726/8 328/507/8 -f 328/507/8 327/524/8 329/508/8 -f 329/508/8 330/727/8 331/509/8 -f 331/509/8 326/725/8 328/507/8 -f 318/722/12 319/501/12 327/511/12 -f 324/515/16 316/512/16 326/514/16 -f 374/517/17 322/728/17 324/515/17 -f 324/515/17 326/514/17 369/516/17 -f 356/554/17 369/516/17 326/514/17 -f 326/514/17 332/553/17 356/554/17 -f 329/510/11 319/501/11 359/521/11 -f 377/558/11 371/549/11 319/501/11 -f 319/501/11 320/729/11 377/558/11 -f 375/522/11 330/730/11 329/510/11 -f 319/501/11 371/549/11 359/521/11 -f 317/525/20 318/523/20 328/507/20 -f 316/512/18 317/525/18 325/513/18 -f 67/731/137 68/530/137 333/732/137 -f 72/528/137 71/733/137 334/734/137 -f 340/529/137 333/732/137 68/530/137 -f 72/528/137 334/734/137 340/529/137 -f 40/112/17 26/111/17 241/735/17 -f 240/736/17 25/74/17 39/73/17 -f 40/112/17 241/735/17 337/531/17 -f 338/532/17 240/736/17 347/532/17 -f 241/735/17 351/531/17 337/531/17 -f 347/532/17 240/736/17 39/73/17 -f 39/73/17 40/112/17 347/532/17 -f 337/531/17 255/531/17 341/532/17 -f 347/532/17 40/112/17 337/531/17 -f 139/261/38 140/264/38 363/535/38 -f 142/267/38 141/253/38 365/737/38 -f 365/737/38 353/738/38 142/267/38 -f 363/535/38 354/739/38 365/737/38 -f 140/264/38 355/740/38 363/535/38 -f 365/737/38 141/253/38 363/535/38 -f 164/308/7 142/267/7 353/738/7 -f 362/536/7 355/740/7 163/309/7 -f 164/308/7 353/738/7 362/536/7 -f 140/264/7 163/309/7 355/740/7 -f 371/549/19 372/741/19 366/742/19 -f 364/556/19 357/555/19 370/550/19 -f 371/549/19 366/742/19 370/550/19 -f 370/550/19 357/555/19 359/521/19 -f 331/552/19 330/730/19 375/522/19 -f 375/522/19 359/521/19 358/551/19 -f 356/554/21 332/553/21 358/551/21 -f 369/516/21 356/554/21 364/556/21 -f 320/729/19 321/559/19 377/558/19 -f 373/557/19 371/549/19 377/558/19 -f 373/557/21 321/559/21 374/517/21 -f 369/516/21 366/742/21 372/741/21 -f 321/559/21 322/728/21 374/517/21 -f 369/516/21 372/741/21 376/560/21 -f 376/560/21 373/557/21 374/517/21 -f 33/590/20 34/108/20 380/562/20 -f 379/743/20 35/70/20 33/590/20 -f 36/608/20 378/561/20 34/108/20 -f 380/562/20 379/743/20 33/590/20 -f 37/61/18 35/587/18 379/744/18 -f 381/563/18 378/745/18 38/52/18 -f 37/61/18 379/744/18 381/563/18 -f 36/118/18 38/52/18 378/745/18 diff --git a/src/main/resources/assets/hbm/models/armor/no9.obj b/src/main/resources/assets/hbm/models/armor/no9.obj index 44aa2277a..ac13e9c9a 100644 --- a/src/main/resources/assets/hbm/models/armor/no9.obj +++ b/src/main/resources/assets/hbm/models/armor/no9.obj @@ -202,6 +202,12 @@ v 0.999989 -9.625004 -6.750004 v 0.999989 -9.375004 -6.750004 v -1.000010 -9.375004 -6.750004 v -1.000011 -9.625004 -6.750004 +v 0.999989 -10.000000 -3.000000 +v -1.000011 -10.000000 -3.000000 +v 0.999989 -10.000000 -4.500000 +v -1.000011 -10.000000 -4.500000 +v 0.999989 -8.500000 -4.500000 +v -1.000011 -8.500000 -4.500000 vt 0.604167 0.444444 vt 0.562500 0.444444 vt 0.541667 0.416667 @@ -334,6 +340,14 @@ vt 0.583333 0.722222 vt 0.750000 0.722222 vt 0.750000 0.555556 vt 0.583333 0.555556 +vt 0.166667 0.388889 +vt 0.250000 0.277778 +vt 0.250000 0.388889 +vt 0.166667 0.277778 +vt 0.250000 0.166667 +vt 0.333333 0.277778 +vt 0.083333 0.277778 +vt 0.166667 0.166667 vt 0.541667 0.361111 vt 0.625000 0.361111 vt 0.562500 0.333333 @@ -623,19 +637,23 @@ f 158/132/11 164/133/11 160/134/11 f 159/135/10 162/131/10 157/136/10 f 160/137/9 161/129/9 159/138/9 f 157/139/13 163/130/13 158/140/13 -f 23/11/9 22/141/9 20/142/9 -f 22/141/9 135/143/9 20/142/9 -f 135/143/9 136/144/9 20/142/9 -f 20/142/9 24/145/9 23/11/9 -f 24/145/9 139/9/9 23/11/9 +f 166/141/9 167/142/9 165/143/9 +f 168/144/25 169/145/25 167/142/25 +f 167/142/10 169/145/10 165/146/10 +f 168/144/11 166/147/11 170/148/11 +f 23/11/9 22/149/9 20/150/9 +f 22/149/9 135/151/9 20/150/9 +f 135/151/9 136/152/9 20/150/9 +f 20/150/9 24/153/9 23/11/9 +f 24/153/9 139/9/9 23/11/9 f 24/12/10 20/18/10 19/13/10 f 25/15/11 21/105/11 22/16/11 -f 20/18/12 136/146/12 134/19/12 -f 26/22/13 19/147/13 21/148/13 -f 19/147/13 134/149/13 21/148/13 -f 134/149/13 133/150/13 21/148/13 -f 21/148/13 25/151/13 26/22/13 -f 25/151/13 138/20/13 26/22/13 +f 20/18/12 136/154/12 134/19/12 +f 26/22/13 19/155/13 21/156/13 +f 19/155/13 134/157/13 21/156/13 +f 134/157/13 133/158/13 21/156/13 +f 21/156/13 25/159/13 26/22/13 +f 25/159/13 138/20/13 26/22/13 f 42/23/14 41/44/14 33/24/14 f 38/26/15 37/46/15 29/27/15 f 39/29/16 40/55/16 32/30/16 @@ -643,7 +661,7 @@ f 35/32/17 36/57/17 28/33/17 f 40/35/18 35/51/18 27/34/18 f 37/37/19 39/50/19 31/31/19 f 33/39/20 41/47/20 38/40/20 -f 34/25/21 28/152/21 36/41/21 +f 34/25/21 28/160/21 36/41/21 f 42/23/11 50/60/11 49/43/11 f 38/26/22 46/73/22 45/45/22 f 41/47/23 49/74/23 46/48/23 @@ -652,139 +670,141 @@ f 35/51/12 40/35/12 48/52/12 f 39/29/10 47/62/10 48/54/10 f 35/32/25 43/67/25 44/56/25 f 42/42/26 36/41/26 44/58/26 -f 50/60/27 54/153/27 53/61/27 -f 47/62/28 51/154/28 52/63/28 -f 51/64/9 53/155/9 54/65/9 +f 50/60/27 54/161/27 53/61/27 +f 47/62/28 51/162/28 52/63/28 +f 51/64/9 53/163/9 54/65/9 f 43/67/29 52/66/29 54/65/29 -f 53/72/33 51/156/33 45/45/33 -f 56/76/11 58/157/11 57/77/11 -f 61/79/10 62/158/10 60/80/10 -f 66/82/35 65/159/35 63/83/35 +f 53/72/33 51/164/33 45/45/33 +f 56/76/11 58/165/11 57/77/11 +f 61/79/10 62/166/10 60/80/10 +f 66/82/35 65/167/35 63/83/35 f 71/85/25 74/89/25 73/86/25 f 68/88/11 73/86/11 74/89/11 f 69/91/10 71/85/10 72/87/10 f 70/93/9 74/89/9 71/85/9 f 67/95/13 72/87/13 73/86/13 -f 122/99/11 120/160/11 130/97/11 -f 120/160/11 118/161/11 130/97/11 -f 118/161/11 132/162/11 130/97/11 -f 130/97/11 128/163/11 126/98/11 -f 126/98/11 124/164/11 122/99/11 -f 131/101/10 117/165/10 119/166/10 -f 119/166/10 121/167/10 131/101/10 -f 121/167/10 123/102/10 131/101/10 -f 123/102/10 125/168/10 127/169/10 -f 127/169/10 129/100/10 123/102/10 -f 134/19/25 136/146/25 135/103/25 +f 122/99/11 120/168/11 130/97/11 +f 120/168/11 118/169/11 130/97/11 +f 118/169/11 132/170/11 130/97/11 +f 130/97/11 128/171/11 126/98/11 +f 126/98/11 124/172/11 122/99/11 +f 131/101/10 117/173/10 119/174/10 +f 119/174/10 121/175/10 131/101/10 +f 121/175/10 123/102/10 131/101/10 +f 123/102/10 125/176/10 127/177/10 +f 127/177/10 129/100/10 123/102/10 +f 134/19/25 136/154/25 135/103/25 f 21/105/26 133/104/26 135/103/26 f 137/106/22 139/110/22 140/107/22 -f 23/17/23 137/170/23 138/109/23 +f 23/17/23 137/178/23 138/109/23 f 24/12/24 26/14/24 140/107/24 -f 142/111/28 144/171/28 143/112/28 -f 143/114/25 144/172/25 148/115/25 +f 142/111/28 144/179/28 143/112/28 +f 143/114/25 144/180/25 148/115/25 f 148/115/36 146/122/36 145/117/36 f 150/118/10 152/123/10 151/119/10 f 147/116/37 145/117/37 141/113/37 -f 144/121/27 142/173/27 146/122/27 +f 144/121/27 142/181/27 146/122/27 f 152/123/25 156/125/25 155/124/25 -f 156/125/11 154/174/11 153/126/11 -f 155/124/13 153/175/13 149/127/13 -f 152/123/9 150/176/9 154/128/9 +f 156/125/11 154/182/11 153/126/11 +f 155/124/13 153/183/13 149/127/13 +f 152/123/9 150/184/9 154/128/9 f 161/129/25 164/133/25 163/130/25 f 158/132/11 163/130/11 164/133/11 f 159/135/10 161/129/10 162/131/10 f 160/137/9 164/133/9 161/129/9 f 157/139/13 162/131/13 163/130/13 +f 166/141/9 168/144/9 167/142/9 +f 168/144/25 170/148/25 169/145/25 s 1 -f 99/177/38 78/178/39 79/179/40 -f 75/180/41 76/181/22 77/182/42 -f 98/183/43 77/182/42 78/178/39 -f 77/184/42 81/185/44 78/186/39 -f 78/186/39 82/187/45 79/188/40 -f 77/184/42 76/181/22 80/189/46 -f 81/190/44 83/191/47 84/192/48 -f 81/190/44 85/193/49 82/194/45 -f 80/195/46 76/181/22 83/191/47 -f 83/196/47 87/197/50 84/198/48 -f 84/198/48 88/199/51 85/200/49 -f 83/196/47 76/181/22 86/201/52 -f 87/202/50 89/203/53 90/204/54 -f 87/202/50 91/205/55 88/206/51 -f 86/207/52 76/181/22 89/203/53 -f 89/208/53 93/209/56 90/210/54 -f 90/210/54 94/211/57 91/212/55 -f 89/208/53 76/181/22 92/213/58 -f 93/214/56 97/215/59 94/216/57 -f 92/217/58 76/181/22 95/218/60 -f 93/214/56 95/218/60 96/219/61 -f 96/220/61 99/221/38 97/222/59 -f 95/223/60 76/181/22 75/224/41 -f 95/223/60 98/225/43 96/220/61 -f 100/226/62 102/227/63 101/228/25 -f 116/229/64 102/227/63 100/226/62 -f 105/230/65 102/231/63 103/232/66 -f 102/231/63 104/233/67 101/228/25 -f 105/234/65 106/235/68 104/236/67 -f 104/236/67 106/235/68 101/228/25 -f 109/237/69 106/238/68 107/239/70 -f 106/238/68 108/240/71 101/228/25 -f 109/241/69 110/242/72 108/243/71 -f 108/243/71 110/242/72 101/228/25 -f 113/244/73 110/245/72 111/246/74 -f 110/245/72 112/247/75 101/228/25 -f 82/248/76 107/249/70 105/234/65 -f 88/250/77 107/239/70 85/251/78 -f 112/252/75 114/253/79 101/228/25 -f 91/254/80 109/241/69 88/255/77 -f 94/256/81 111/246/74 91/257/80 -f 113/258/73 114/253/79 112/252/75 -f 115/259/82 94/260/81 97/261/83 -f 99/262/84 115/263/82 97/264/83 -f 114/265/79 100/266/62 101/228/25 -f 103/267/66 99/268/84 79/269/85 -f 79/270/85 105/230/65 103/232/66 -f 116/271/64 114/265/79 115/263/82 -f 118/272/25 119/273/86 117/274/25 -f 120/275/86 121/276/87 119/273/86 -f 125/277/88 128/278/33 127/279/33 -f 128/278/33 129/280/9 127/279/33 -f 130/281/9 131/282/29 129/280/9 -f 132/283/29 117/274/25 131/282/29 -f 99/177/38 98/183/43 78/178/39 -f 98/183/43 75/180/41 77/182/42 -f 77/184/42 80/189/46 81/185/44 -f 78/186/39 81/185/44 82/187/45 -f 81/190/44 80/195/46 83/191/47 -f 81/190/44 84/192/48 85/193/49 -f 83/196/47 86/201/52 87/197/50 -f 84/198/48 87/197/50 88/199/51 -f 87/202/50 86/207/52 89/203/53 -f 87/202/50 90/204/54 91/205/55 -f 89/208/53 92/213/58 93/209/56 -f 90/210/54 93/209/56 94/211/57 -f 93/214/56 96/219/61 97/215/59 -f 93/214/56 92/217/58 95/218/60 -f 96/220/61 98/225/43 99/221/38 -f 95/223/60 75/224/41 98/225/43 -f 116/229/64 103/267/66 102/227/63 -f 105/230/65 104/233/67 102/231/63 -f 105/234/65 107/249/70 106/235/68 -f 109/237/69 108/240/71 106/238/68 -f 109/241/69 111/284/74 110/242/72 -f 113/244/73 112/247/75 110/245/72 -f 82/248/76 85/285/78 107/249/70 -f 88/250/77 109/237/69 107/239/70 -f 91/254/80 111/284/74 109/241/69 -f 94/256/81 113/244/73 111/246/74 -f 113/258/73 115/259/82 114/253/79 -f 115/259/82 113/258/73 94/260/81 -f 99/262/84 116/271/64 115/263/82 -f 103/267/66 116/229/64 99/268/84 -f 79/270/85 82/286/76 105/230/65 -f 116/271/64 100/266/62 114/265/79 -f 118/272/25 120/275/86 119/273/86 -f 120/275/86 122/287/87 121/276/87 -f 125/277/88 126/288/88 128/278/33 -f 128/278/33 130/281/9 129/280/9 -f 130/281/9 132/283/29 131/282/29 -f 132/283/29 118/272/25 117/274/25 +f 99/185/38 78/186/39 79/187/40 +f 75/188/41 76/189/22 77/190/42 +f 98/191/43 77/190/42 78/186/39 +f 77/192/42 81/193/44 78/194/39 +f 78/194/39 82/195/45 79/196/40 +f 77/192/42 76/189/22 80/197/46 +f 81/198/44 83/199/47 84/200/48 +f 81/198/44 85/201/49 82/202/45 +f 80/203/46 76/189/22 83/199/47 +f 83/204/47 87/205/50 84/206/48 +f 84/206/48 88/207/51 85/208/49 +f 83/204/47 76/189/22 86/209/52 +f 87/210/50 89/211/53 90/212/54 +f 87/210/50 91/213/55 88/214/51 +f 86/215/52 76/189/22 89/211/53 +f 89/216/53 93/217/56 90/218/54 +f 90/218/54 94/219/57 91/220/55 +f 89/216/53 76/189/22 92/221/58 +f 93/222/56 97/223/59 94/224/57 +f 92/225/58 76/189/22 95/226/60 +f 93/222/56 95/226/60 96/227/61 +f 96/228/61 99/229/38 97/230/59 +f 95/231/60 76/189/22 75/232/41 +f 95/231/60 98/233/43 96/228/61 +f 100/234/62 102/235/63 101/236/25 +f 116/237/64 102/235/63 100/234/62 +f 105/238/65 102/239/63 103/240/66 +f 102/239/63 104/241/67 101/236/25 +f 105/242/65 106/243/68 104/244/67 +f 104/244/67 106/243/68 101/236/25 +f 109/245/69 106/246/68 107/247/70 +f 106/246/68 108/248/71 101/236/25 +f 109/249/69 110/250/72 108/251/71 +f 108/251/71 110/250/72 101/236/25 +f 113/252/73 110/253/72 111/254/74 +f 110/253/72 112/255/75 101/236/25 +f 82/256/76 107/257/70 105/242/65 +f 88/258/77 107/247/70 85/259/78 +f 112/260/75 114/261/79 101/236/25 +f 91/262/80 109/249/69 88/263/77 +f 94/264/81 111/254/74 91/265/80 +f 113/266/73 114/261/79 112/260/75 +f 115/267/82 94/268/81 97/269/83 +f 99/270/84 115/271/82 97/272/83 +f 114/273/79 100/274/62 101/236/25 +f 103/275/66 99/276/84 79/277/85 +f 79/278/85 105/238/65 103/240/66 +f 116/279/64 114/273/79 115/271/82 +f 118/280/25 119/281/86 117/282/25 +f 120/283/86 121/284/87 119/281/86 +f 125/285/88 128/286/33 127/287/33 +f 128/286/33 129/288/9 127/287/33 +f 130/289/9 131/290/29 129/288/9 +f 132/291/29 117/282/25 131/290/29 +f 99/185/38 98/191/43 78/186/39 +f 98/191/43 75/188/41 77/190/42 +f 77/192/42 80/197/46 81/193/44 +f 78/194/39 81/193/44 82/195/45 +f 81/198/44 80/203/46 83/199/47 +f 81/198/44 84/200/48 85/201/49 +f 83/204/47 86/209/52 87/205/50 +f 84/206/48 87/205/50 88/207/51 +f 87/210/50 86/215/52 89/211/53 +f 87/210/50 90/212/54 91/213/55 +f 89/216/53 92/221/58 93/217/56 +f 90/218/54 93/217/56 94/219/57 +f 93/222/56 96/227/61 97/223/59 +f 93/222/56 92/225/58 95/226/60 +f 96/228/61 98/233/43 99/229/38 +f 95/231/60 75/232/41 98/233/43 +f 116/237/64 103/275/66 102/235/63 +f 105/238/65 104/241/67 102/239/63 +f 105/242/65 107/257/70 106/243/68 +f 109/245/69 108/248/71 106/246/68 +f 109/249/69 111/292/74 110/250/72 +f 113/252/73 112/255/75 110/253/72 +f 82/256/76 85/293/78 107/257/70 +f 88/258/77 109/245/69 107/247/70 +f 91/262/80 111/292/74 109/249/69 +f 94/264/81 113/252/73 111/254/74 +f 113/266/73 115/267/82 114/261/79 +f 115/267/82 113/266/73 94/268/81 +f 99/270/84 116/279/64 115/271/82 +f 103/275/66 116/237/64 99/276/84 +f 79/278/85 82/294/76 105/238/65 +f 116/279/64 100/274/62 114/273/79 +f 118/280/25 120/283/86 119/281/86 +f 120/283/86 122/295/87 121/284/87 +f 125/285/88 126/296/88 128/286/33 +f 128/286/33 130/289/9 129/288/9 +f 130/289/9 132/291/29 131/290/29 +f 132/291/29 118/280/25 117/282/25 diff --git a/src/main/resources/assets/hbm/models/blocks/crt.obj b/src/main/resources/assets/hbm/models/blocks/crt.obj new file mode 100644 index 000000000..402e7d9ed --- /dev/null +++ b/src/main/resources/assets/hbm/models/blocks/crt.obj @@ -0,0 +1,126 @@ +# Blender v2.79 (sub 0) OBJ File: 'crt.blend' +# www.blender.org +o Screen +v 0.437500 0.875000 -0.375000 +v 0.437500 0.875000 0.375000 +v 0.437500 0.125000 -0.375000 +v 0.437500 0.125000 0.375000 +vt 0.437500 0.437500 +vt 0.062500 0.062500 +vt 0.437500 0.062500 +vt 0.062500 0.437500 +vn 1.0000 0.0000 0.0000 +s off +f 1/1/1 4/2/1 3/3/1 +f 1/1/1 2/4/1 4/2/1 +o Monitor +v 0.000000 1.000000 -0.500000 +v 0.000000 1.000000 0.500000 +v 0.000000 0.000000 -0.500000 +v 0.000000 0.000000 0.500000 +v 0.500000 0.000000 0.500000 +v 0.500000 0.000000 -0.500000 +v 0.500000 1.000000 0.500000 +v 0.500000 1.000000 -0.500000 +v 0.500000 0.125000 0.375000 +v 0.500000 0.125000 -0.375000 +v 0.500000 0.875000 0.375000 +v 0.500000 0.875000 -0.375000 +v 0.437500 0.125000 0.375000 +v 0.437500 0.125000 -0.375000 +v 0.437500 0.875000 0.375000 +v 0.437500 0.875000 -0.375000 +v -0.500000 0.250000 0.250000 +v -0.500000 0.250000 -0.250000 +v -0.500000 0.750000 0.250000 +v -0.500000 0.750000 -0.250000 +vt 1.000000 0.000000 +vt 0.500000 0.250000 +vt 0.500000 0.000000 +vt 0.031250 0.062500 +vt 0.062500 0.437500 +vt 0.031250 0.437500 +vt 0.500000 0.500000 +vt 0.437500 0.062500 +vt 0.500000 0.000000 +vt 0.062500 0.062500 +vt 0.000000 0.000000 +vt 0.062500 0.437500 +vt 0.000000 0.500000 +vt 0.437500 0.437500 +vt 0.062500 0.468750 +vt 0.437500 0.437500 +vt 0.437500 0.468750 +vt 0.468750 0.437500 +vt 0.437500 0.062500 +vt 0.468750 0.062500 +vt 0.437500 0.031250 +vt 0.062500 0.062500 +vt 0.062500 0.031250 +vt 1.000000 0.000000 +vt 0.500000 0.250000 +vt 1.000000 0.000000 +vt 0.500000 0.250000 +vt 0.500000 -0.000000 +vt 1.000000 -0.000000 +vt 0.500000 0.250000 +vt 0.500000 0.000000 +vt 0.625000 0.750000 +vt 0.875000 0.500000 +vt 0.875000 0.750000 +vt 1.000000 0.250000 +vt 0.625000 0.500000 +vt 1.000000 0.250000 +vt 0.625000 0.500000 +vt 1.000000 0.250000 +vt 0.625000 0.500000 +vt 1.000000 0.250000 +vt 0.625000 0.500000 +vt 0.875000 0.500000 +vt 0.875000 0.500000 +vt 0.875000 0.500000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.4472 0.0000 -0.8944 +vn -0.4472 -0.8944 0.0000 +vn -0.4472 0.0000 0.8944 +vn -0.4472 0.8944 0.0000 +s off +f 10/5/2 5/6/2 12/7/2 +f 13/8/2 19/9/2 15/10/2 +f 12/11/3 14/12/3 10/13/3 +f 10/13/3 13/14/3 9/15/3 +f 9/15/3 15/16/3 11/17/3 +f 11/17/3 16/18/3 12/11/3 +f 15/19/4 20/20/4 16/21/4 +f 16/22/5 18/23/5 14/24/5 +f 14/25/6 17/26/6 13/27/6 +f 9/28/4 7/29/4 10/13/4 +f 11/30/5 8/31/5 9/32/5 +f 12/33/6 6/34/6 11/35/6 +f 21/36/7 24/37/7 22/38/7 +f 7/39/8 24/40/8 5/6/8 +f 8/41/9 22/42/9 7/29/9 +f 6/43/10 21/44/10 8/31/10 +f 5/45/11 23/46/11 6/34/11 +f 10/5/2 7/39/2 5/6/2 +f 13/8/2 17/26/2 19/9/2 +f 12/11/3 16/18/3 14/12/3 +f 10/13/3 14/12/3 13/14/3 +f 9/15/3 13/14/3 15/16/3 +f 11/17/3 15/16/3 16/18/3 +f 15/19/4 19/9/4 20/20/4 +f 16/22/5 20/20/5 18/23/5 +f 14/25/6 18/23/6 17/26/6 +f 9/28/4 8/41/4 7/29/4 +f 11/30/5 6/43/5 8/31/5 +f 12/33/6 5/45/6 6/34/6 +f 21/36/7 23/46/7 24/37/7 +f 7/39/8 22/47/8 24/40/8 +f 8/41/9 21/48/9 22/42/9 +f 6/43/10 23/49/10 21/44/10 +f 5/45/11 24/37/11 23/46/11 diff --git a/src/main/resources/assets/hbm/models/blocks/funnel.obj b/src/main/resources/assets/hbm/models/blocks/funnel.obj new file mode 100644 index 000000000..c166fd7a3 --- /dev/null +++ b/src/main/resources/assets/hbm/models/blocks/funnel.obj @@ -0,0 +1,90 @@ +# Blender v2.79 (sub 0) OBJ File: 'funnel.blend' +# www.blender.org +o Bottom +v -0.250000 0.000000 0.250000 +v -0.250000 0.000000 -0.250000 +v 0.250000 0.000000 0.250000 +v 0.250000 0.000000 -0.250000 +vt 0.750000 0.750000 +vt 0.250000 0.250000 +vt 0.750000 0.250000 +vt 0.250000 0.750000 +vn 0.0000 -1.0000 0.0000 +s off +f 4/1/1 1/2/1 2/3/1 +f 4/1/1 3/4/1 1/2/1 +o Top +v -0.500000 1.000000 0.500000 +v -0.500000 1.000000 -0.500000 +v 0.500000 1.000000 0.500000 +v 0.500000 1.000000 -0.500000 +vt 1.000000 1.000000 +vt -0.000000 0.000000 +vt 1.000000 0.000000 +vt -0.000000 1.000000 +vn 0.0000 1.0000 0.0000 +s off +f 6/5/2 7/6/2 8/7/2 +f 6/5/2 5/8/2 7/6/2 +o Side +v -0.250000 0.000000 0.250000 +v -0.500000 1.000000 0.500000 +v -0.250000 0.000000 -0.250000 +v -0.500000 1.000000 -0.500000 +v 0.250000 0.000000 0.250000 +v 0.500000 1.000000 0.500000 +v 0.250000 0.000000 -0.250000 +v 0.500000 1.000000 -0.500000 +v -0.500000 0.500000 0.500000 +v -0.500000 0.500000 -0.500000 +v 0.500000 0.500000 -0.500000 +v 0.500000 0.500000 0.500000 +vt 1.000000 1.000000 +vt 0.000000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 1.000000 +vt 0.000000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 1.000000 +vt -0.000000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 1.000000 +vt -0.000000 0.500000 +vt 1.000000 0.500000 +vt 0.250000 0.000000 +vt 0.750000 0.000000 +vt 0.250000 0.000000 +vt 0.750000 0.000000 +vt 0.250000 0.000000 +vt 0.750000 0.000000 +vt 0.250000 0.000000 +vt 0.750000 -0.000000 +vt 0.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000097 0.999903 +vt 0.000097 0.999903 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -0.4472 0.8944 +vn 0.8944 -0.4472 0.0000 +vn 0.0000 -0.4472 -0.8944 +vn -0.8944 -0.4472 0.0000 +s off +f 10/9/3 18/10/3 17/11/3 +f 12/12/4 19/13/4 18/14/4 +f 16/15/5 20/16/5 19/17/5 +f 14/18/6 17/19/6 20/20/6 +f 20/20/7 9/21/7 13/22/7 +f 19/17/8 13/23/8 15/24/8 +f 18/14/9 15/25/9 11/26/9 +f 17/11/10 11/27/10 9/28/10 +f 10/9/3 12/29/3 18/10/3 +f 12/12/4 16/30/4 19/13/4 +f 16/15/5 14/31/5 20/16/5 +f 14/18/6 10/32/6 17/19/6 +f 20/20/7 17/19/7 9/21/7 +f 19/17/8 20/16/8 13/23/8 +f 18/14/9 19/13/9 15/25/9 +f 17/11/10 18/10/10 11/27/10 diff --git a/src/main/resources/assets/hbm/models/blocks/rail_standard_bend_wide.obj b/src/main/resources/assets/hbm/models/blocks/rail_standard_bend_wide.obj new file mode 100644 index 000000000..2bb100bbd --- /dev/null +++ b/src/main/resources/assets/hbm/models/blocks/rail_standard_bend_wide.obj @@ -0,0 +1,1366 @@ +# Blender v2.79 (sub 0) OBJ File: 'rail_standard_curve_wide.blend' +# www.blender.org +o Plane.001 +v -1.312500 0.062500 0.500000 +v -1.312500 0.187500 0.500000 +v -1.250000 0.062500 0.500000 +v -1.250000 0.187500 0.500000 +v 0.250000 0.062500 0.500000 +v 0.312499 0.062500 0.500000 +v 0.312499 0.187500 0.500000 +v 0.250000 0.187500 0.500000 +v -1.502685 0.000000 0.251008 +v 0.489705 0.000000 0.076696 +v -1.535368 0.000000 -0.122565 +v 0.457022 0.000000 -0.296877 +v -1.535368 0.062500 -0.122565 +v -1.502685 0.062500 0.251008 +v 0.489705 0.062500 0.076696 +v 0.457022 0.062500 -0.296877 +v 0.405654 0.125000 -0.166905 +v 0.094343 0.125000 -0.139669 +v 0.416548 0.125000 -0.042381 +v 0.105237 0.125000 -0.015145 +v 0.405654 0.062500 -0.166905 +v 0.094343 0.062500 -0.139669 +v 0.416548 0.062500 -0.042381 +v 0.105237 0.062500 -0.015145 +v -1.451317 0.062500 0.121036 +v -1.140006 0.062500 0.093800 +v -1.462212 0.062500 -0.003488 +v -1.150901 0.062500 -0.030724 +v -1.451317 0.125000 0.121036 +v -1.140006 0.125000 0.093800 +v -1.462212 0.125000 -0.003488 +v -1.150901 0.125000 -0.030724 +v -6.500000 0.187500 -6.249998 +v -6.500000 0.187500 -6.312497 +v -6.500000 0.062500 -6.312497 +v -6.500000 0.062500 -6.249998 +v -6.500000 0.187500 -4.749999 +v -6.500000 0.062500 -4.749999 +v -6.500000 0.187500 -4.687499 +v -6.500000 0.062500 -4.687499 +v -5.599200 0.187500 -4.608689 +v -5.588348 0.187500 -4.670239 +v -5.588348 0.062500 -4.670239 +v -5.599200 0.062500 -4.608689 +v -5.327875 0.062500 -6.147450 +v -5.327875 0.187500 -6.147450 +v -5.317022 0.062500 -6.209000 +v -5.317022 0.187500 -6.209000 +v -4.191364 0.187500 -5.842923 +v -4.169989 0.187500 -5.901654 +v -4.169989 0.062500 -5.901654 +v -4.191364 0.062500 -5.842923 +v -4.704395 0.187500 -4.433385 +v -4.704395 0.062500 -4.433385 +v -4.725770 0.187500 -4.374655 +v -4.725770 0.062500 -4.374655 +v -3.906250 0.187500 -3.992507 +v -3.875001 0.187500 -4.046633 +v -3.875001 0.062500 -4.046633 +v -3.906250 0.062500 -3.992507 +v -3.125000 0.062500 -5.345670 +v -3.125000 0.187500 -5.345670 +v -3.093751 0.062500 -5.399796 +v -3.093751 0.187500 -5.399796 +v -2.161184 0.187500 -4.670798 +v -2.121011 0.187500 -4.718676 +v -2.121011 0.062500 -4.718676 +v -2.161184 0.062500 -4.670798 +v -3.125366 0.187500 -3.521733 +v -3.125366 0.062500 -3.521733 +v -3.165539 0.187500 -3.473855 +v -3.165539 0.062500 -3.473855 +v -2.526145 0.187500 -2.834461 +v -2.478267 0.187500 -2.874635 +v -2.478267 0.062500 -2.874635 +v -2.526145 0.062500 -2.834461 +v -1.329201 0.062500 -3.838815 +v -1.329201 0.187500 -3.838815 +v -1.281323 0.062500 -3.878989 +v -1.281323 0.187500 -3.878989 +v -0.654329 0.187500 -2.874999 +v -0.600204 0.187500 -2.906249 +v -0.600204 0.062500 -2.906249 +v -0.654329 0.062500 -2.874999 +v -1.953367 0.187500 -2.125000 +v -1.953367 0.062500 -2.125000 +v -2.007493 0.187500 -2.093750 +v -2.007493 0.062500 -2.093750 +v -1.625344 0.187500 -1.274230 +v -1.566614 0.187500 -1.295606 +v -1.566614 0.062500 -1.295606 +v -1.625344 0.062500 -1.274230 +v -0.157075 0.062500 -1.808635 +v -0.157075 0.187500 -1.808635 +v -0.098345 0.062500 -1.830012 +v -0.098345 0.187500 -1.830012 +v 0.147452 0.187500 -0.672125 +v 0.209002 0.187500 -0.682978 +v 0.209002 0.062500 -0.682978 +v 0.147452 0.062500 -0.672125 +v -1.329760 0.187500 -0.411653 +v -1.329760 0.062500 -0.411653 +v -1.391310 0.187500 -0.400800 +v -1.391310 0.062500 -0.400800 +v -1.621842 0.000000 -0.612984 +v 0.310009 0.000000 -1.130622 +v -1.718900 0.000000 -0.975206 +v 0.212953 0.000000 -1.492844 +v -1.718900 0.062500 -0.975206 +v -1.621842 0.062500 -0.612984 +v 0.310009 0.062500 -1.130622 +v 0.212953 0.062500 -1.492844 +v 0.184934 0.125000 -1.355928 +v -0.116918 0.125000 -1.275047 +v 0.217287 0.125000 -1.235187 +v -0.084565 0.125000 -1.154306 +v 0.184934 0.062500 -1.355928 +v -0.116918 0.062500 -1.275047 +v 0.217287 0.062500 -1.235187 +v -0.084565 0.062500 -1.154306 +v -1.593824 0.062500 -0.749901 +v -1.291972 0.062500 -0.830782 +v -1.626177 0.062500 -0.870642 +v -1.324325 0.062500 -0.951523 +v -1.593824 0.125000 -0.749901 +v -1.291972 0.125000 -0.830782 +v -1.626177 0.125000 -0.870642 +v -1.324325 0.125000 -0.951523 +v -1.889220 0.000000 -1.443159 +v -0.076604 0.000000 -2.288395 +v -2.047702 0.000000 -1.783024 +v -0.235086 0.000000 -2.628261 +v -2.047702 0.062500 -1.783024 +v -1.889220 0.062500 -1.443159 +v -0.076604 0.062500 -2.288395 +v -0.235086 0.062500 -2.628261 +v -0.238903 0.125000 -2.488559 +v -0.522124 0.125000 -2.356490 +v -0.186076 0.125000 -2.375270 +v -0.469297 0.125000 -2.243202 +v -0.238903 0.062500 -2.488559 +v -0.522124 0.062500 -2.356490 +v -0.186076 0.062500 -2.375270 +v -0.469297 0.062500 -2.243202 +v -1.885403 0.062500 -1.582861 +v -1.602182 0.062500 -1.714929 +v -1.938231 0.062500 -1.696149 +v -1.655010 0.062500 -1.828217 +v -1.885403 0.125000 -1.582861 +v -1.602182 0.125000 -1.714929 +v -1.938231 0.125000 -1.696149 +v -1.655010 0.125000 -1.828217 +v -2.296694 0.000000 -2.214291 +v -0.658390 0.000000 -3.361444 +v -2.511786 0.000000 -2.521473 +v -0.873481 0.000000 -3.668626 +v -2.511786 0.062500 -2.521473 +v -2.296694 0.062500 -2.214291 +v -0.658390 0.062500 -3.361444 +v -0.873481 0.062500 -3.668626 +v -0.852982 0.125000 -3.530384 +v -1.108966 0.125000 -3.351141 +v -0.781284 0.125000 -3.427989 +v -1.037269 0.125000 -3.248747 +v -0.852982 0.062500 -3.530384 +v -1.108966 0.062500 -3.351141 +v -0.781284 0.062500 -3.427989 +v -1.037269 0.062500 -3.248747 +v -2.317194 0.062500 -2.352534 +v -2.061209 0.062500 -2.531776 +v -2.388892 0.062500 -2.454927 +v -2.132906 0.062500 -2.634170 +v -2.317194 0.125000 -2.352534 +v -2.061209 0.125000 -2.531776 +v -2.388892 0.125000 -2.454927 +v -2.132906 0.125000 -2.634170 +v -2.831883 0.000000 -2.902951 +v -1.417670 0.000000 -4.317164 +v -3.097049 0.000000 -3.168117 +v -1.682835 0.000000 -4.582330 +v -3.097049 0.062500 -3.168117 +v -2.831883 0.062500 -2.902951 +v -1.417670 0.062500 -4.317164 +v -1.682835 0.062500 -4.582330 +v -1.638640 0.125000 -4.449748 +v -1.859611 0.125000 -4.228776 +v -1.550253 0.125000 -4.361359 +v -1.771223 0.125000 -4.140388 +v -1.638640 0.062500 -4.449748 +v -1.859611 0.062500 -4.228776 +v -1.550253 0.062500 -4.361359 +v -1.771223 0.062500 -4.140388 +v -2.876078 0.062500 -3.035534 +v -2.655107 0.062500 -3.256505 +v -2.964466 0.062500 -3.123922 +v -2.743495 0.062500 -3.344893 +v -2.876078 0.125000 -3.035534 +v -2.655107 0.125000 -3.256505 +v -2.964466 0.125000 -3.123922 +v -2.743495 0.125000 -3.344893 +v -3.478527 0.000000 -3.488214 +v -2.331373 0.000000 -5.126518 +v -3.785709 0.000000 -3.703305 +v -2.638556 0.000000 -5.341610 +v -3.785709 0.062500 -3.703305 +v -3.478527 0.062500 -3.488214 +v -2.331373 0.062500 -5.126518 +v -2.638556 0.062500 -5.341610 +v -2.572011 0.125000 -5.218716 +v -2.751253 0.125000 -4.962731 +v -2.469616 0.125000 -5.147019 +v -2.648859 0.125000 -4.891034 +v -2.572011 0.062500 -5.218716 +v -2.751253 0.062500 -4.962731 +v -2.469616 0.062500 -5.147019 +v -2.648859 0.062500 -4.891034 +v -3.545072 0.062500 -3.611109 +v -3.365830 0.062500 -3.867094 +v -3.647467 0.062500 -3.682805 +v -3.468224 0.062500 -3.938790 +v -3.545072 0.125000 -3.611109 +v -3.365830 0.125000 -3.867094 +v -3.647467 0.125000 -3.682805 +v -3.468224 0.125000 -3.938790 +v -4.216976 0.000000 -3.952298 +v -3.371739 0.000000 -5.764913 +v -4.556841 0.000000 -4.110780 +v -3.711604 0.000000 -5.923395 +v -4.556841 0.062500 -4.110780 +v -4.216976 0.062500 -3.952298 +v -3.371739 0.062500 -5.764913 +v -3.711604 0.062500 -5.923395 +v -3.624729 0.125000 -5.813924 +v -3.756797 0.125000 -5.530703 +v -3.511442 0.125000 -5.761096 +v -3.643509 0.125000 -5.477876 +v -3.624729 0.062500 -5.813924 +v -3.756797 0.062500 -5.530703 +v -3.511442 0.062500 -5.761096 +v -3.643509 0.062500 -5.477876 +v -4.303851 0.062500 -4.061769 +v -4.171782 0.062500 -4.344991 +v -4.417139 0.062500 -4.114597 +v -4.285071 0.062500 -4.397818 +v -4.303851 0.125000 -4.061769 +v -4.171782 0.125000 -4.344991 +v -4.417139 0.125000 -4.114597 +v -4.285071 0.125000 -4.397818 +v -5.024794 0.000000 -4.281100 +v -4.507154 0.000000 -6.212952 +v -5.387016 0.000000 -4.378157 +v -4.869377 0.000000 -6.310009 +v -5.387016 0.062500 -4.378157 +v -5.024794 0.062500 -4.281100 +v -4.507154 0.062500 -6.212952 +v -4.869377 0.062500 -6.310009 +v -4.764813 0.125000 -6.217286 +v -4.845694 0.125000 -5.915435 +v -4.644072 0.125000 -6.184934 +v -4.724953 0.125000 -5.883083 +v -4.764813 0.062500 -6.217286 +v -4.845694 0.062500 -5.915435 +v -4.644072 0.062500 -6.184934 +v -4.724953 0.062500 -5.883083 +v -5.129358 0.062500 -4.373823 +v -5.048478 0.062500 -4.675675 +v -5.250099 0.062500 -4.406175 +v -5.169218 0.062500 -4.708027 +v -5.129358 0.125000 -4.373823 +v -5.048478 0.125000 -4.675675 +v -5.250099 0.125000 -4.406175 +v -5.169218 0.125000 -4.708027 +v -5.877435 0.000000 -4.464632 +v -5.703122 0.000000 -6.457021 +v -6.251008 0.000000 -4.497314 +v -6.076696 0.000000 -6.489705 +v -6.251008 0.062500 -4.497314 +v -5.877435 0.062500 -4.464632 +v -5.703122 0.062500 -6.457021 +v -6.076696 0.062500 -6.489705 +v -5.957620 0.125000 -6.416547 +v -5.984855 0.125000 -6.105237 +v -5.833095 0.125000 -6.405653 +v -5.860331 0.125000 -6.094343 +v -5.957620 0.062500 -6.416547 +v -5.984855 0.062500 -6.105237 +v -5.833095 0.062500 -6.405653 +v -5.860331 0.062500 -6.094343 +v -5.996511 0.062500 -4.537788 +v -5.969276 0.062500 -4.849099 +v -6.121037 0.062500 -4.548682 +v -6.093800 0.062500 -4.859993 +v -5.996511 0.125000 -4.537788 +v -5.969276 0.125000 -4.849099 +v -6.121037 0.125000 -4.548682 +v -6.093800 0.125000 -4.859993 +vt 0.500000 0.656250 +vt 0.531250 0.718750 +vt 0.531250 0.656250 +vt 0.531250 0.718750 +vt 0.500000 0.656250 +vt 0.500000 0.718750 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.000000 0.000000 +vt 0.187500 1.000000 +vt 0.000000 1.000000 +vt 0.406250 0.031250 +vt 0.593750 0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.593750 0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.531250 0.656250 +vt 0.593750 0.156250 +vt 0.531250 0.156250 +vt 0.500000 0.156250 +vt 0.406250 0.656250 +vt 0.437500 0.156250 +vt 0.406250 0.156250 +vt 0.531250 0.656250 +vt 0.593750 0.156250 +vt 0.531250 0.156250 +vt 0.437500 0.656250 +vt 0.437500 0.156250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.500000 0.656250 +vt 0.531250 0.718750 +vt 0.500000 0.718750 +vt 0.531250 0.718750 +vt 0.500000 0.656250 +vt 0.531250 0.656250 +vt 0.406250 0.656250 +vt 0.437500 0.156250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.593750 0.156250 +vt 0.531250 0.156250 +vt 0.406250 0.656250 +vt 0.437500 0.156250 +vt 0.406250 0.156250 +vt 0.531250 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.437500 0.656250 +vt 0.437500 0.656250 +vt 0.500000 0.156250 +vt 0.437500 0.156250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.531250 0.156250 +vt 0.437500 0.656250 +vt 0.437500 0.156250 +vt 0.531250 0.656250 +vt 0.593750 0.156250 +vt 0.531250 0.156250 +vt 0.437500 0.656250 +vt 0.500000 0.156250 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.062500 +vt 0.593750 0.125000 +vt 0.437500 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.437500 0.656250 +vt 0.500000 0.156250 +vt 0.437500 0.156250 +vt 0.531250 0.656250 +vt 0.531250 0.156250 +vt 0.406250 0.656250 +vt 0.437500 0.156250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.593750 0.156250 +vt 0.531250 0.656250 +vt 0.593750 0.156250 +vt 0.531250 0.156250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.406250 0.656250 +vt 0.437500 0.156250 +vt 0.406250 0.156250 +vt 0.531250 0.656250 +vt 0.593750 0.156250 +vt 0.531250 0.156250 +vt 0.437500 0.656250 +vt 0.437500 0.156250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.593750 0.156250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.500000 0.156250 +vt 0.437500 0.156250 +vt 0.531250 0.656250 +vt 0.593750 0.156250 +vt 0.531250 0.156250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.437500 0.156250 +vt 0.531250 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.500000 0.156250 +vt 0.500000 0.156250 +vt 0.437500 0.656250 +vt 0.437500 0.656250 +vt 0.500000 0.156250 +vt 0.437500 0.156250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.500000 0.656250 +vt 0.531250 0.156250 +vt 0.500000 0.156250 +vt 0.437500 0.656250 +vt 0.437500 0.156250 +vt 0.531250 0.656250 +vt 0.593750 0.156250 +vt 0.531250 0.156250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.531250 0.656250 +vt 0.593750 0.156250 +vt 0.531250 0.156250 +vt 0.437500 0.656250 +vt 0.500000 0.156250 +vt 0.437500 0.156250 +vt 0.531250 0.656250 +vt 0.531250 0.156250 +vt 0.406250 0.656250 +vt 0.437500 0.156250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.500000 0.156250 +vt 0.593750 0.156250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.531250 0.656250 +vt 0.593750 0.156250 +vt 0.437500 0.656250 +vt 0.500000 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.500000 0.156250 +vt 0.437500 0.156250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.531250 0.656250 +vt 0.593750 0.156250 +vt 0.531250 0.156250 +vt 0.500000 0.656250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.593750 0.156250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.000000 0.000000 +vt 0.187500 1.000000 +vt 0.000000 1.000000 +vt 0.406250 0.031250 +vt 0.593750 0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.593750 0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.062500 +vt 0.593750 0.125000 +vt 0.437500 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.000000 0.000000 +vt 0.187500 1.000000 +vt 0.000000 1.000000 +vt 0.406250 0.031250 +vt 0.593750 0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.593750 0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.062500 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.000000 1.000000 +vt 0.187500 0.000000 +vt 0.187500 1.000000 +vt 0.406250 0.031250 +vt 0.593750 0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.593750 0.000000 +vt 0.406250 0.031250 +vt 0.218750 0.000000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.062500 +vt 0.593750 0.125000 +vt 0.437500 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.000000 0.000000 +vt 0.187500 1.000000 +vt 0.000000 1.000000 +vt 0.406250 0.031250 +vt 0.593750 0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.593750 0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.062500 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.406250 1.000000 +vt 0.218750 0.000000 +vt 0.406250 0.000000 +vt 0.000000 1.000000 +vt 0.187500 0.000000 +vt 0.187500 1.000000 +vt 0.406250 0.031250 +vt 0.593750 0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.593750 0.000000 +vt 0.406250 0.031250 +vt 0.218750 1.000000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.062500 +vt 0.593750 0.125000 +vt 0.437500 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.000000 0.000000 +vt 0.187500 1.000000 +vt 0.000000 1.000000 +vt 0.406250 0.031250 +vt 0.593750 0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.593750 0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.062500 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.406250 1.000000 +vt 0.218750 0.000000 +vt 0.406250 0.000000 +vt 0.000000 1.000000 +vt 0.187500 0.000000 +vt 0.187500 1.000000 +vt 0.406250 0.031250 +vt 0.593750 0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.593750 0.000000 +vt 0.406250 0.031250 +vt 0.218750 1.000000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.062500 +vt 0.593750 0.125000 +vt 0.437500 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.406250 1.000000 +vt 0.218750 0.000000 +vt 0.406250 0.000000 +vt 0.000000 1.000000 +vt 0.187500 0.000000 +vt 0.187500 1.000000 +vt 0.406250 0.031250 +vt 0.593750 0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.593750 0.000000 +vt 0.406250 0.031250 +vt 0.218750 1.000000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.062500 +vt 0.593750 0.125000 +vt 0.437500 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.500000 0.718750 +vt 0.531250 0.656250 +vt 0.406250 0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.593750 0.656250 +vt 0.500000 0.656250 +vt 0.593750 0.656250 +vt 0.531250 0.656250 +vt 0.500000 0.718750 +vt 0.500000 0.656250 +vt 0.593750 0.656250 +vt 0.593750 0.656250 +vt 0.500000 0.656250 +vt 0.500000 0.656250 +vt 0.593750 0.656250 +vt 0.500000 0.656250 +vt 0.500000 0.656250 +vt 0.593750 0.656250 +vt 0.500000 0.656250 +vt 0.593750 0.656250 +vt 0.593750 0.656250 +vt 0.593750 0.656250 +vt 0.593750 0.656250 +vt 0.500000 0.656250 +vt 0.593750 0.656250 +vt 0.406250 0.656250 +vt 0.593750 0.656250 +vt 0.500000 0.656250 +vt 0.500000 0.656250 +vt 0.500000 0.656250 +vt 0.593750 0.656250 +vt 0.593750 0.656250 +vt 0.500000 0.656250 +vt 0.500000 0.656250 +vt 0.593750 0.656250 +vt 0.593750 0.656250 +vt 0.500000 0.656250 +vt 0.593750 0.656250 +vt 0.593750 0.656250 +vt 0.406250 0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.406250 0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.000000 0.000000 +vt 0.406250 0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.406250 0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.000000 0.000000 +vt 0.406250 0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.406250 0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.000000 0.000000 +vt 0.406250 0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.000000 0.000000 +vt 0.406250 0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn -0.9962 0.0000 0.0872 +vn 0.0872 0.0000 0.9962 +vn 0.9962 0.0000 -0.0872 +vn -0.0872 0.0000 -0.9962 +vn -0.0872 0.0000 0.9962 +vn 0.0872 0.0000 -0.9962 +vn -1.0000 0.0000 0.0000 +vn 0.2588 0.0000 -0.9659 +vn -0.2588 0.0000 0.9659 +vn 0.4226 0.0000 -0.9063 +vn -0.4226 0.0000 0.9063 +vn -0.5736 0.0000 0.8192 +vn 0.5736 0.0000 -0.8192 +vn -0.7071 0.0000 0.7071 +vn 0.7071 0.0000 -0.7071 +vn 0.8192 0.0000 -0.5736 +vn -0.8192 0.0000 0.5736 +vn 0.9063 0.0000 -0.4226 +vn -0.9063 0.0000 0.4226 +vn -0.9659 0.0000 0.2588 +vn 0.9659 0.0000 -0.2588 +vn 0.2588 0.0000 0.9659 +vn -0.2588 0.0000 -0.9659 +vn 0.4226 0.0000 0.9063 +vn -0.4226 0.0000 -0.9063 +vn 0.5736 0.0000 0.8192 +vn -0.5736 0.0000 -0.8192 +vn -0.8191 0.0000 0.5736 +vn 0.8191 0.0000 -0.5736 +vn 0.7071 0.0000 0.7071 +vn -0.7071 0.0000 -0.7071 +vn 0.8192 0.0000 0.5736 +vn -0.8192 0.0000 -0.5736 +vn 0.9063 0.0000 0.4226 +vn -0.9063 0.0000 -0.4226 +vn 0.9659 0.0000 0.2588 +vn -0.9659 0.0000 -0.2588 +vn 0.9962 0.0000 0.0872 +vn -0.9962 0.0000 -0.0872 +vn -0.0871 0.0000 0.9962 +s off +f 3/1/1 2/2/1 1/3/1 +f 8/4/1 6/5/1 7/6/1 +f 11/7/2 10/8/2 9/9/2 +f 15/10/3 13/11/3 14/12/3 +f 9/13/4 13/14/4 11/15/4 +f 10/16/5 14/17/5 9/18/5 +f 12/19/6 15/20/6 10/8/6 +f 11/7/7 16/21/7 12/22/7 +f 39/23/8 44/24/8 41/25/8 +f 42/26/3 39/23/3 41/25/3 +f 36/27/2 47/28/2 45/29/2 +f 33/30/8 45/31/8 46/32/8 +f 38/33/9 42/26/9 43/34/9 +f 40/35/2 43/34/2 44/36/2 +f 35/37/10 33/38/10 34/39/10 +f 39/40/10 38/41/10 40/42/10 +f 44/43/2 54/44/2 56/45/2 +f 43/46/11 53/47/11 54/44/11 +f 46/48/12 52/49/12 49/50/12 +f 45/51/2 51/52/2 52/53/2 +f 53/47/3 41/54/3 55/55/3 +f 41/54/12 56/56/12 55/55/12 +f 34/57/3 46/32/3 48/58/3 +f 35/59/9 48/58/9 47/28/9 +f 54/60/13 58/61/13 59/62/13 +f 56/63/2 59/62/2 60/64/2 +f 64/65/3 49/66/3 62/67/3 +f 51/68/13 64/65/13 63/69/13 +f 55/70/14 60/71/14 57/72/14 +f 58/61/3 55/70/3 57/72/3 +f 47/73/11 50/74/11 51/52/11 +f 50/74/3 46/48/3 49/50/3 +f 29/75/4 27/76/4 25/77/4 +f 20/78/3 17/79/3 18/80/3 +f 17/79/6 23/81/6 21/82/6 +f 19/83/5 24/84/5 23/85/5 +f 18/80/7 21/86/7 22/87/7 +f 20/78/4 22/88/4 24/89/4 +f 31/90/7 28/91/7 27/92/7 +f 30/93/5 25/94/5 26/95/5 +f 32/96/6 26/97/6 28/98/6 +f 29/75/3 32/96/3 31/90/3 +f 69/99/3 57/100/3 71/101/3 +f 57/100/15 72/102/15 71/101/15 +f 63/103/16 66/104/16 67/105/16 +f 66/104/3 62/106/3 65/107/3 +f 60/108/2 70/109/2 72/110/2 +f 59/111/16 69/99/16 70/109/16 +f 52/112/2 63/69/2 61/113/2 +f 49/66/14 61/114/14 62/67/14 +f 71/115/17 76/116/17 73/117/17 +f 69/118/3 73/117/3 74/119/3 +f 68/120/2 79/121/2 77/122/2 +f 65/123/17 77/124/17 78/125/17 +f 70/126/18 74/119/18 75/127/18 +f 72/128/2 75/127/2 76/129/2 +f 62/106/15 68/130/15 65/107/15 +f 61/131/2 67/105/2 68/132/2 +f 75/133/19 85/134/19 86/135/19 +f 78/136/20 84/137/20 81/138/20 +f 84/139/2 79/140/2 83/141/2 +f 85/134/3 73/142/3 87/143/3 +f 73/142/20 88/144/20 87/143/20 +f 79/140/19 82/145/19 83/141/19 +f 80/146/3 65/123/3 78/125/3 +f 67/147/18 80/146/18 79/121/18 +f 86/148/21 90/149/21 91/150/21 +f 88/151/2 91/150/2 92/152/2 +f 82/153/3 94/154/3 96/155/3 +f 83/156/21 96/155/21 95/157/21 +f 87/158/22 92/159/22 89/160/22 +f 90/149/3 87/158/3 89/160/3 +f 82/145/3 78/136/3 81/138/3 +f 76/161/2 86/135/2 88/162/2 +f 89/163/23 104/164/23 103/165/23 +f 95/166/24 98/167/24 99/168/24 +f 98/167/3 94/169/3 97/170/3 +f 92/171/2 102/172/2 104/173/2 +f 91/174/24 101/175/24 102/172/24 +f 94/169/23 100/176/23 97/170/23 +f 84/177/2 95/157/2 93/178/2 +f 81/179/22 93/180/22 94/154/22 +f 102/181/6 4/182/6 3/183/6 +f 99/184/6 7/185/6 6/186/6 +f 104/187/2 3/183/2 1/188/2 +f 100/189/2 6/186/2 5/190/2 +f 97/191/4 5/192/4 8/193/4 +f 101/194/3 2/195/3 4/182/3 +f 103/196/4 1/197/4 2/195/4 +f 7/185/3 97/191/3 8/193/3 +f 93/198/2 99/168/2 100/199/2 +f 101/175/3 89/163/3 103/165/3 +f 107/200/2 106/201/2 105/202/2 +f 111/203/3 109/204/3 110/205/3 +f 105/206/23 109/207/23 107/208/23 +f 106/209/25 110/210/25 105/211/25 +f 108/212/24 111/213/24 106/201/24 +f 107/200/26 112/214/26 108/215/26 +f 125/216/23 123/217/23 121/218/23 +f 116/219/3 113/220/3 114/221/3 +f 113/220/24 119/222/24 117/223/24 +f 115/224/25 120/225/25 119/226/25 +f 114/221/26 117/227/26 118/228/26 +f 116/219/23 118/229/23 120/230/23 +f 127/231/26 124/232/26 123/233/26 +f 126/234/25 121/235/25 122/236/25 +f 128/237/24 122/238/24 124/239/24 +f 125/216/3 128/237/3 127/231/3 +f 131/240/2 130/241/2 129/242/2 +f 135/243/3 133/244/3 134/245/3 +f 129/246/22 133/247/22 131/248/22 +f 130/249/27 134/250/27 129/251/27 +f 132/252/21 135/253/21 130/241/21 +f 131/240/28 136/254/28 132/255/28 +f 149/256/22 147/257/22 145/258/22 +f 138/259/3 139/260/3 137/261/3 +f 137/261/21 143/262/21 141/263/21 +f 139/260/27 144/264/27 143/265/27 +f 138/259/28 141/266/28 142/267/28 +f 140/268/22 142/269/22 144/270/22 +f 151/271/28 148/272/28 147/273/28 +f 150/274/27 145/275/27 146/276/27 +f 152/277/21 146/278/21 148/279/21 +f 149/256/3 152/277/3 151/271/3 +f 155/280/2 154/281/2 153/282/2 +f 158/283/3 160/284/3 157/285/3 +f 153/286/20 157/287/20 155/288/20 +f 154/289/29 158/290/29 153/291/29 +f 156/292/19 159/293/19 154/281/19 +f 155/280/30 160/284/30 156/294/30 +f 173/295/31 171/296/31 169/297/31 +f 164/298/3 161/299/3 162/300/3 +f 161/299/32 167/301/32 165/302/32 +f 163/303/29 168/304/29 167/305/29 +f 162/300/30 165/306/30 166/307/30 +f 164/298/20 166/308/20 168/309/20 +f 175/310/30 172/311/30 171/312/30 +f 174/313/29 169/314/29 170/315/29 +f 176/316/19 170/317/19 172/318/19 +f 173/295/3 176/316/3 175/310/3 +f 179/319/2 178/320/2 177/321/2 +f 183/322/3 181/323/3 182/324/3 +f 177/325/17 181/326/17 179/327/17 +f 178/328/33 182/329/33 177/330/33 +f 180/331/18 183/332/18 178/320/18 +f 179/319/34 184/333/34 180/334/34 +f 197/335/17 195/336/17 193/337/17 +f 186/338/3 187/339/3 185/340/3 +f 185/340/18 191/341/18 189/342/18 +f 187/339/33 192/343/33 191/344/33 +f 186/338/34 189/345/34 190/346/34 +f 188/347/17 190/348/17 192/349/17 +f 199/350/34 196/351/34 195/352/34 +f 198/353/33 193/354/33 194/355/33 +f 200/356/18 194/357/18 196/358/18 +f 197/335/3 200/356/3 199/350/3 +f 201/359/2 204/360/2 202/361/2 +f 206/362/3 208/363/3 205/364/3 +f 201/365/15 205/366/15 203/367/15 +f 202/368/35 206/369/35 201/370/35 +f 204/371/16 207/372/16 202/361/16 +f 203/373/36 208/363/36 204/360/36 +f 221/374/15 219/375/15 217/376/15 +f 212/377/3 209/378/3 210/379/3 +f 209/378/16 215/380/16 213/381/16 +f 211/382/35 216/383/35 215/384/35 +f 210/379/36 213/385/36 214/386/36 +f 212/377/15 214/387/15 216/388/15 +f 223/389/36 220/390/36 219/391/36 +f 222/392/35 217/393/35 218/394/35 +f 224/395/16 218/396/16 220/397/16 +f 221/374/3 224/395/3 223/389/3 +f 227/398/2 226/399/2 225/400/2 +f 231/401/3 229/402/3 230/403/3 +f 225/404/14 229/405/14 227/406/14 +f 226/407/37 230/408/37 225/409/37 +f 228/410/13 231/411/13 226/399/13 +f 227/398/38 232/412/38 228/413/38 +f 245/414/14 243/415/14 241/416/14 +f 234/417/3 235/418/3 233/419/3 +f 233/419/13 239/420/13 237/421/13 +f 235/418/37 240/422/37 239/423/37 +f 234/417/38 237/424/38 238/425/38 +f 236/426/14 238/427/14 240/428/14 +f 247/429/38 244/430/38 243/431/38 +f 246/432/37 241/433/37 242/434/37 +f 248/435/13 242/436/13 244/437/13 +f 245/414/3 248/435/3 247/429/3 +f 249/438/2 252/439/2 250/440/2 +f 254/441/3 256/442/3 253/443/3 +f 249/444/12 253/445/12 251/446/12 +f 250/447/39 254/448/39 249/449/39 +f 252/450/11 255/451/11 250/440/11 +f 251/452/40 256/442/40 252/439/40 +f 269/453/12 267/454/12 265/455/12 +f 260/456/3 257/457/3 258/458/3 +f 257/457/11 263/459/11 261/460/11 +f 259/461/39 264/462/39 263/463/39 +f 258/458/40 261/464/40 262/465/40 +f 260/456/12 262/466/12 264/467/12 +f 271/468/40 268/469/40 267/470/40 +f 270/471/39 265/472/39 266/473/39 +f 272/474/11 266/475/11 268/476/11 +f 269/453/3 272/474/3 271/468/3 +f 273/477/2 276/478/2 274/479/2 +f 278/480/3 280/481/3 277/482/3 +f 273/483/8 277/484/8 275/485/8 +f 274/486/41 278/487/41 273/488/41 +f 276/489/9 279/490/9 274/479/9 +f 275/491/42 280/481/42 276/478/42 +f 293/492/43 291/493/43 289/494/43 +f 284/495/3 281/496/3 282/497/3 +f 281/496/9 287/498/9 285/499/9 +f 283/500/41 288/501/41 287/502/41 +f 282/497/42 285/503/42 286/504/42 +f 284/495/8 286/505/8 288/506/8 +f 295/507/42 292/508/42 291/509/42 +f 294/510/41 289/511/41 290/512/41 +f 296/513/9 290/514/9 292/515/9 +f 293/492/3 296/513/3 295/507/3 +f 3/1/1 4/516/1 2/2/1 +f 8/4/1 5/517/1 6/5/1 +f 11/7/2 12/22/2 10/8/2 +f 15/10/3 16/21/3 13/11/3 +f 9/13/4 14/518/4 13/14/4 +f 10/16/5 15/519/5 14/17/5 +f 12/19/6 16/520/6 15/20/6 +f 11/7/7 13/11/7 16/21/7 +f 39/23/8 40/521/8 44/24/8 +f 42/26/3 37/522/3 39/23/3 +f 36/27/2 35/59/2 47/28/2 +f 33/30/8 36/523/8 45/31/8 +f 38/33/9 37/522/9 42/26/9 +f 40/35/2 38/33/2 43/34/2 +f 35/37/10 36/524/10 33/38/10 +f 39/40/10 37/525/10 38/41/10 +f 44/43/2 43/46/2 54/44/2 +f 43/46/11 42/526/11 53/47/11 +f 46/48/12 45/527/12 52/49/12 +f 45/51/2 47/73/2 51/52/2 +f 53/47/3 42/526/3 41/54/3 +f 41/54/12 44/528/12 56/56/12 +f 34/57/3 33/30/3 46/32/3 +f 35/59/9 34/57/9 48/58/9 +f 54/60/13 53/529/13 58/61/13 +f 56/63/2 54/60/2 59/62/2 +f 64/65/3 50/530/3 49/66/3 +f 51/68/13 50/530/13 64/65/13 +f 55/70/14 56/531/14 60/71/14 +f 58/61/3 53/529/3 55/70/3 +f 47/73/11 48/532/11 50/74/11 +f 50/74/3 48/532/3 46/48/3 +f 29/75/4 31/90/4 27/76/4 +f 20/78/3 19/83/3 17/79/3 +f 17/79/6 19/83/6 23/81/6 +f 19/83/5 20/78/5 24/84/5 +f 18/80/7 17/79/7 21/86/7 +f 20/78/4 18/80/4 22/88/4 +f 31/90/7 32/96/7 28/91/7 +f 30/93/5 29/75/5 25/94/5 +f 32/96/6 30/93/6 26/97/6 +f 29/75/3 30/93/3 32/96/3 +f 69/99/3 58/533/3 57/100/3 +f 57/100/15 60/534/15 72/102/15 +f 63/103/16 64/535/16 66/104/16 +f 66/104/3 64/535/3 62/106/3 +f 60/108/2 59/111/2 70/109/2 +f 59/111/16 58/533/16 69/99/16 +f 52/112/2 51/68/2 63/69/2 +f 49/66/14 52/536/14 61/114/14 +f 71/115/17 72/537/17 76/116/17 +f 69/118/3 71/115/3 73/117/3 +f 68/120/2 67/147/2 79/121/2 +f 65/123/17 68/538/17 77/124/17 +f 70/126/18 69/118/18 74/119/18 +f 72/128/2 70/126/2 75/127/2 +f 62/106/15 61/539/15 68/130/15 +f 61/131/2 63/103/2 67/105/2 +f 75/133/19 74/540/19 85/134/19 +f 78/136/20 77/541/20 84/137/20 +f 84/139/2 77/542/2 79/140/2 +f 85/134/3 74/540/3 73/142/3 +f 73/142/20 76/543/20 88/144/20 +f 79/140/19 80/544/19 82/145/19 +f 80/146/3 66/545/3 65/123/3 +f 67/147/18 66/545/18 80/146/18 +f 86/148/21 85/546/21 90/149/21 +f 88/151/2 86/148/2 91/150/2 +f 82/153/3 81/179/3 94/154/3 +f 83/156/21 82/153/21 96/155/21 +f 87/158/22 88/547/22 92/159/22 +f 90/149/3 85/546/3 87/158/3 +f 82/145/3 80/544/3 78/136/3 +f 76/161/2 75/133/2 86/135/2 +f 89/163/23 92/548/23 104/164/23 +f 95/166/24 96/549/24 98/167/24 +f 98/167/3 96/549/3 94/169/3 +f 92/171/2 91/174/2 102/172/2 +f 91/174/24 90/550/24 101/175/24 +f 94/169/23 93/551/23 100/176/23 +f 84/177/2 83/156/2 95/157/2 +f 81/179/22 84/552/22 93/180/22 +f 102/181/6 101/194/6 4/182/6 +f 99/184/6 98/553/6 7/185/6 +f 104/187/2 102/181/2 3/183/2 +f 100/189/2 99/184/2 6/186/2 +f 97/191/4 100/554/4 5/192/4 +f 101/194/3 103/196/3 2/195/3 +f 103/196/4 104/555/4 1/197/4 +f 7/185/3 98/553/3 97/191/3 +f 93/198/2 95/166/2 99/168/2 +f 101/175/3 90/550/3 89/163/3 +f 107/200/2 108/215/2 106/201/2 +f 111/203/3 112/214/3 109/204/3 +f 105/206/23 110/556/23 109/207/23 +f 106/209/25 111/557/25 110/210/25 +f 108/212/24 112/558/24 111/213/24 +f 107/200/26 109/204/26 112/214/26 +f 125/216/23 127/231/23 123/217/23 +f 116/219/3 115/224/3 113/220/3 +f 113/220/24 115/224/24 119/222/24 +f 115/224/25 116/219/25 120/225/25 +f 114/221/26 113/220/26 117/227/26 +f 116/219/23 114/221/23 118/229/23 +f 127/231/26 128/237/26 124/232/26 +f 126/234/25 125/216/25 121/235/25 +f 128/237/24 126/234/24 122/238/24 +f 125/216/3 126/234/3 128/237/3 +f 131/240/2 132/255/2 130/241/2 +f 135/243/3 136/254/3 133/244/3 +f 129/246/22 134/559/22 133/247/22 +f 130/249/27 135/560/27 134/250/27 +f 132/252/21 136/561/21 135/253/21 +f 131/240/28 133/244/28 136/254/28 +f 149/256/22 151/271/22 147/257/22 +f 138/259/3 140/268/3 139/260/3 +f 137/261/21 139/260/21 143/262/21 +f 139/260/27 140/268/27 144/264/27 +f 138/259/28 137/261/28 141/266/28 +f 140/268/22 138/259/22 142/269/22 +f 151/271/28 152/277/28 148/272/28 +f 150/274/27 149/256/27 145/275/27 +f 152/277/21 150/274/21 146/278/21 +f 149/256/3 150/274/3 152/277/3 +f 155/280/2 156/294/2 154/281/2 +f 158/283/3 159/562/3 160/284/3 +f 153/286/20 158/563/20 157/287/20 +f 154/289/29 159/564/29 158/290/29 +f 156/292/19 160/565/19 159/293/19 +f 155/280/30 157/285/30 160/284/30 +f 173/295/31 175/310/31 171/296/31 +f 164/298/3 163/303/3 161/299/3 +f 161/299/32 163/303/32 167/301/32 +f 163/303/29 164/298/29 168/304/29 +f 162/300/30 161/299/30 165/306/30 +f 164/298/20 162/300/20 166/308/20 +f 175/310/30 176/316/30 172/311/30 +f 174/313/29 173/295/29 169/314/29 +f 176/316/19 174/313/19 170/317/19 +f 173/295/3 174/313/3 176/316/3 +f 179/319/2 180/334/2 178/320/2 +f 183/322/3 184/333/3 181/323/3 +f 177/325/17 182/566/17 181/326/17 +f 178/328/33 183/567/33 182/329/33 +f 180/331/18 184/568/18 183/332/18 +f 179/319/34 181/323/34 184/333/34 +f 197/335/17 199/350/17 195/336/17 +f 186/338/3 188/347/3 187/339/3 +f 185/340/18 187/339/18 191/341/18 +f 187/339/33 188/347/33 192/343/33 +f 186/338/34 185/340/34 189/345/34 +f 188/347/17 186/338/17 190/348/17 +f 199/350/34 200/356/34 196/351/34 +f 198/353/33 197/335/33 193/354/33 +f 200/356/18 198/353/18 194/357/18 +f 197/335/3 198/353/3 200/356/3 +f 201/359/2 203/373/2 204/360/2 +f 206/362/3 207/569/3 208/363/3 +f 201/365/15 206/570/15 205/366/15 +f 202/368/35 207/571/35 206/369/35 +f 204/371/16 208/572/16 207/372/16 +f 203/373/36 205/364/36 208/363/36 +f 221/374/15 223/389/15 219/375/15 +f 212/377/3 211/382/3 209/378/3 +f 209/378/16 211/382/16 215/380/16 +f 211/382/35 212/377/35 216/383/35 +f 210/379/36 209/378/36 213/385/36 +f 212/377/15 210/379/15 214/387/15 +f 223/389/36 224/395/36 220/390/36 +f 222/392/35 221/374/35 217/393/35 +f 224/395/16 222/392/16 218/396/16 +f 221/374/3 222/392/3 224/395/3 +f 227/398/2 228/413/2 226/399/2 +f 231/401/3 232/412/3 229/402/3 +f 225/404/14 230/573/14 229/405/14 +f 226/407/37 231/574/37 230/408/37 +f 228/410/13 232/575/13 231/411/13 +f 227/398/38 229/402/38 232/412/38 +f 245/414/14 247/429/14 243/415/14 +f 234/417/3 236/426/3 235/418/3 +f 233/419/13 235/418/13 239/420/13 +f 235/418/37 236/426/37 240/422/37 +f 234/417/38 233/419/38 237/424/38 +f 236/426/14 234/417/14 238/427/14 +f 247/429/38 248/435/38 244/430/38 +f 246/432/37 245/414/37 241/433/37 +f 248/435/13 246/432/13 242/436/13 +f 245/414/3 246/432/3 248/435/3 +f 249/438/2 251/452/2 252/439/2 +f 254/441/3 255/576/3 256/442/3 +f 249/444/12 254/577/12 253/445/12 +f 250/447/39 255/578/39 254/448/39 +f 252/450/11 256/579/11 255/451/11 +f 251/452/40 253/443/40 256/442/40 +f 269/453/12 271/468/12 267/454/12 +f 260/456/3 259/461/3 257/457/3 +f 257/457/11 259/461/11 263/459/11 +f 259/461/39 260/456/39 264/462/39 +f 258/458/40 257/457/40 261/464/40 +f 260/456/12 258/458/12 262/466/12 +f 271/468/40 272/474/40 268/469/40 +f 270/471/39 269/453/39 265/472/39 +f 272/474/11 270/471/11 266/475/11 +f 269/453/3 270/471/3 272/474/3 +f 273/477/2 275/491/2 276/478/2 +f 278/480/3 279/580/3 280/481/3 +f 273/483/8 278/581/8 277/484/8 +f 274/486/41 279/582/41 278/487/41 +f 276/489/9 280/583/9 279/490/9 +f 275/491/42 277/482/42 280/481/42 +f 293/492/8 295/507/8 291/493/8 +f 284/495/3 283/500/3 281/496/3 +f 281/496/9 283/500/9 287/498/9 +f 283/500/41 284/495/41 288/501/41 +f 282/497/42 281/496/42 285/503/42 +f 284/495/8 282/497/8 286/505/8 +f 295/507/42 296/513/42 292/508/42 +f 294/510/41 293/492/41 289/511/41 +f 296/513/9 294/510/9 290/514/9 +f 293/492/3 294/510/3 296/513/3 diff --git a/src/main/resources/assets/hbm/models/blocks/rail_standard_bend_wide9.obj b/src/main/resources/assets/hbm/models/blocks/rail_standard_bend_wide9.obj new file mode 100644 index 000000000..d03d672a0 --- /dev/null +++ b/src/main/resources/assets/hbm/models/blocks/rail_standard_bend_wide9.obj @@ -0,0 +1,1966 @@ +# Blender v2.79 (sub 0) OBJ File: 'rail_standard_curve_wide9.blend' +# www.blender.org +o Plane.001 +v -1.312500 0.062500 0.500000 +v -1.312500 0.187500 0.500000 +v -1.250000 0.062500 0.500000 +v -1.250000 0.187500 0.500000 +v 0.250000 0.062500 0.500000 +v 0.312499 0.062500 0.500000 +v 0.312499 0.187500 0.500000 +v 0.250000 0.187500 0.500000 +v -1.502724 0.000000 0.229277 +v 0.492993 0.000000 0.098470 +v -1.527250 0.000000 -0.144921 +v 0.468467 0.000000 -0.275727 +v -1.527250 0.062500 -0.144921 +v -1.502724 0.062500 0.229277 +v 0.492993 0.062500 0.098470 +v 0.468467 0.062500 -0.275727 +v 0.414277 0.125000 -0.146907 +v 0.102446 0.125000 -0.126468 +v 0.422452 0.125000 -0.022174 +v 0.110621 0.125000 -0.001736 +v 0.414277 0.062500 -0.146907 +v 0.102446 0.062500 -0.126468 +v 0.422452 0.062500 -0.022174 +v 0.110621 0.062500 -0.001736 +v -1.448533 0.062500 0.100457 +v -1.136702 0.062500 0.080018 +v -1.456709 0.062500 -0.024276 +v -1.144878 0.062500 -0.044714 +v -1.448533 0.125000 0.100457 +v -1.136702 0.125000 0.080018 +v -1.456709 0.125000 -0.024276 +v -1.144878 0.125000 -0.044714 +v 0.202066 0.187500 -0.414624 +v 0.264223 0.187500 -0.421157 +v 0.264223 0.062500 -0.421157 +v 0.202066 0.062500 -0.414624 +v -1.289716 0.187500 -0.257831 +v -1.289716 0.062500 -0.257831 +v -1.351874 0.187500 -0.251298 +v -1.351874 0.062500 -0.251298 +v 0.119925 0.187500 -1.332222 +v 0.119925 0.062500 -1.332222 +v 0.058792 0.187500 -1.319227 +v 0.058792 0.062500 -1.319227 +v -1.469564 0.062500 -0.994365 +v -1.408430 0.062500 -1.007360 +v -1.408430 0.187500 -1.007360 +v -1.469564 0.187500 -0.994365 +v -0.118814 0.187500 -2.223212 +v -0.118814 0.062500 -2.223212 +v -0.178254 0.187500 -2.203898 +v -0.178254 0.062500 -2.203898 +v -1.664281 0.062500 -1.721060 +v -1.604840 0.062500 -1.740373 +v -1.604840 0.187500 -1.740373 +v -1.664281 0.187500 -1.721060 +v -0.449381 0.187500 -3.084367 +v -0.449381 0.062500 -3.084367 +v -0.506476 0.187500 -3.058946 +v -0.506476 0.062500 -3.058946 +v -1.933891 0.062500 -2.423420 +v -1.876795 0.062500 -2.448841 +v -1.876795 0.187500 -2.448841 +v -1.933891 0.187500 -2.423420 +v -0.868151 0.187500 -3.906250 +v -0.868151 0.062500 -3.906250 +v -0.922276 0.187500 -3.875000 +v -0.922276 0.062500 -3.875000 +v -2.275442 0.062500 -3.093750 +v -2.221315 0.062500 -3.125000 +v -2.221315 0.187500 -3.125000 +v -2.275442 0.187500 -3.093750 +v -1.370537 0.187500 -4.679857 +v -1.370537 0.062500 -4.679857 +v -1.421100 0.187500 -4.643121 +v -1.421100 0.062500 -4.643121 +v -2.685189 0.062500 -3.724707 +v -2.634626 0.062500 -3.761444 +v -2.634626 0.187500 -3.761444 +v -2.685189 0.187500 -3.724707 +v -1.951035 0.187500 -5.396713 +v -1.951035 0.062500 -5.396713 +v -1.997481 0.187500 -5.354893 +v -1.997481 0.062500 -5.354893 +v -3.158646 0.062500 -4.309377 +v -3.112200 0.062500 -4.351198 +v -3.112200 0.187500 -4.351198 +v -3.158646 0.187500 -4.309377 +v -2.603286 0.187500 -6.048964 +v -2.603286 0.062500 -6.048964 +v -2.645105 0.187500 -6.002518 +v -2.645105 0.062500 -6.002518 +v -3.690623 0.062500 -4.841354 +v -3.648803 0.062500 -4.887801 +v -3.648803 0.187500 -4.887801 +v -3.690623 0.187500 -4.841354 +v -3.320142 0.187500 -6.629462 +v -3.320142 0.062500 -6.629462 +v -3.356877 0.187500 -6.578900 +v -3.356877 0.062500 -6.578900 +v -4.275292 0.062500 -5.314811 +v -4.238556 0.062500 -5.365375 +v -4.238556 0.187500 -5.365375 +v -4.275292 0.187500 -5.314811 +v -4.093749 0.187500 -7.131849 +v -4.093749 0.062500 -7.131849 +v -4.124998 0.187500 -7.077724 +v -4.124998 0.062500 -7.077724 +v -4.906249 0.062500 -5.724559 +v -4.875000 0.062500 -5.778686 +v -4.875000 0.187500 -5.778686 +v -4.906249 0.187500 -5.724559 +v -4.915632 0.187500 -7.550620 +v -4.915632 0.062500 -7.550620 +v -4.941052 0.187500 -7.493525 +v -4.941052 0.062500 -7.493525 +v -5.576580 0.062500 -6.066110 +v -5.551159 0.062500 -6.123206 +v -5.551159 0.187500 -6.123206 +v -5.576580 0.187500 -6.066110 +v -5.776787 0.187500 -7.881186 +v -5.776787 0.062500 -7.881186 +v -5.796100 0.187500 -7.821747 +v -5.796100 0.062500 -7.821747 +v -6.278940 0.062500 -6.335721 +v -6.259626 0.062500 -6.395162 +v -6.259626 0.187500 -6.395162 +v -6.278940 0.187500 -6.335721 +v -6.667778 0.187500 -8.119927 +v -6.667778 0.062500 -8.119927 +v -6.680771 0.187500 -8.058794 +v -6.680771 0.062500 -8.058794 +v -7.005634 0.062500 -6.530438 +v -6.992640 0.062500 -6.591572 +v -6.992640 0.187500 -6.591572 +v -7.005634 0.187500 -6.530438 +v -7.578842 0.187500 -8.264227 +v -7.578842 0.062500 -8.264227 +v -7.585375 0.187500 -8.202069 +v -7.585375 0.062500 -8.202069 +v -7.748702 0.062500 -6.648129 +v -7.742168 0.062500 -6.710286 +v -7.742168 0.187500 -6.710286 +v -7.748702 0.187500 -6.648129 +v -8.500000 0.187500 -8.312503 +v -8.500000 0.062500 -8.312503 +v -8.499999 0.187500 -8.250003 +v -8.499999 0.062500 -8.250003 +v -8.500000 0.062500 -6.687503 +v -8.500000 0.062500 -6.750003 +v -8.500000 0.187500 -6.750003 +v -8.500000 0.187500 -6.687503 +v -1.593841 0.000000 -0.657635 +v 0.369080 0.000000 -1.040966 +v -1.665715 0.000000 -1.025683 +v 0.297205 0.000000 -1.409014 +v -1.665715 0.062500 -1.025683 +v -1.593841 0.062500 -0.657635 +v 0.369080 0.062500 -1.040966 +v 0.297205 0.062500 -1.409014 +v 0.259823 0.125000 -1.274352 +v -0.046885 0.125000 -1.214457 +v 0.283780 0.125000 -1.151670 +v -0.022925 0.125000 -1.091774 +v 0.259823 0.062500 -1.274352 +v -0.046885 0.062500 -1.214457 +v 0.283780 0.062500 -1.151670 +v -0.022925 0.062500 -1.091774 +v -1.556457 0.062500 -0.792297 +v -1.249751 0.062500 -0.852192 +v -1.580416 0.062500 -0.914979 +v -1.273710 0.062500 -0.974875 +v -1.556457 0.125000 -0.792297 +v -1.249751 0.125000 -0.852192 +v -1.580416 0.125000 -0.914979 +v -1.273710 0.125000 -0.974875 +v -1.804025 0.000000 -1.549166 +v 0.092067 0.000000 -2.185431 +v -1.923324 0.000000 -1.904684 +v -0.027232 0.000000 -2.540948 +v -1.923324 0.062500 -1.904684 +v -1.804025 0.062500 -1.549166 +v 0.092067 0.062500 -2.185431 +v -0.027232 0.062500 -2.540948 +v -0.046719 0.125000 -2.402559 +v -0.342983 0.125000 -2.303143 +v -0.006952 0.125000 -2.284053 +v -0.303216 0.125000 -2.184637 +v -0.046719 0.062500 -2.402559 +v -0.342983 0.062500 -2.303143 +v -0.006952 0.062500 -2.284053 +v -0.303216 0.062500 -2.184637 +v -1.784539 0.062500 -1.687555 +v -1.488274 0.062500 -1.786972 +v -1.824306 0.062500 -1.806061 +v -1.528041 0.062500 -1.905477 +v -1.784539 0.125000 -1.687555 +v -1.488274 0.125000 -1.786972 +v -1.824306 0.125000 -1.806061 +v -1.528041 0.125000 -1.905477 +v -2.128780 0.000000 -2.405635 +v -0.331959 0.000000 -3.283946 +v -2.293463 0.000000 -2.742540 +v -0.496641 0.000000 -3.620850 +v -2.293463 0.062500 -2.742540 +v -2.128780 0.062500 -2.405635 +v -0.331959 0.062500 -3.283946 +v -0.496641 0.062500 -3.620850 +v -0.497897 0.125000 -3.481102 +v -0.778651 0.125000 -3.343866 +v -0.443003 0.125000 -3.368800 +v -0.723756 0.125000 -3.231565 +v -0.497897 0.062500 -3.481102 +v -0.778651 0.062500 -3.343866 +v -0.443003 0.062500 -3.368800 +v -0.723756 0.062500 -3.231565 +v -2.127524 0.062500 -2.545384 +v -1.846769 0.062500 -2.682620 +v -2.182419 0.062500 -2.657685 +v -1.901665 0.062500 -2.794921 +v -2.127524 0.125000 -2.545384 +v -1.846769 0.125000 -2.682620 +v -2.182419 0.125000 -2.657685 +v -1.901665 0.125000 -2.794921 +v -2.562548 0.000000 -3.212389 +v -0.895741 0.000000 -4.317718 +v -2.769797 0.000000 -3.524915 +v -1.102990 0.000000 -4.630244 +v -2.769797 0.062500 -3.524915 +v -2.562548 0.062500 -3.212389 +v -0.895741 0.062500 -4.317718 +v -1.102990 0.062500 -4.630244 +v -1.085994 0.125000 -4.491527 +v -1.346433 0.125000 -4.318820 +v -1.016911 0.125000 -4.387352 +v -1.277349 0.125000 -4.214644 +v -1.085994 0.062500 -4.491527 +v -1.346433 0.062500 -4.318820 +v -1.016911 0.062500 -4.387352 +v -1.277349 0.062500 -4.214644 +v -2.579544 0.062500 -3.351105 +v -2.319104 0.062500 -3.523814 +v -2.648627 0.062500 -3.455281 +v -2.388188 0.062500 -3.627988 +v -2.579544 0.125000 -3.351105 +v -2.319104 0.125000 -3.523814 +v -2.648627 0.125000 -3.455281 +v -2.388188 0.125000 -3.627988 +v -3.097907 0.000000 -3.955622 +v -1.589635 0.000000 -5.269057 +v -3.344176 0.000000 -4.238423 +v -1.835903 0.000000 -5.551857 +v -3.344176 0.062500 -4.238423 +v -3.097907 0.062500 -3.955622 +v -1.589635 0.062500 -5.269057 +v -1.835903 0.062500 -5.551857 +v -1.800947 0.125000 -5.416546 +v -2.036615 0.125000 -5.211322 +v -1.718857 0.125000 -5.322279 +v -1.954525 0.125000 -5.117055 +v -1.800947 0.062500 -5.416546 +v -2.036615 0.062500 -5.211322 +v -1.718857 0.062500 -5.322279 +v -1.954525 0.062500 -5.117055 +v -3.132864 0.062500 -4.090933 +v -2.897195 0.062500 -4.296158 +v -3.214954 0.062500 -4.185201 +v -2.979286 0.062500 -4.390424 +v -3.132864 0.125000 -4.090933 +v -2.897195 0.125000 -4.296158 +v -3.214954 0.125000 -4.185201 +v -2.979286 0.125000 -4.390424 +v -3.725698 0.000000 -4.622618 +v -2.401767 0.000000 -6.121686 +v -4.006773 0.000000 -4.870855 +v -2.682841 0.000000 -6.369922 +v -4.006773 0.062500 -4.870855 +v -3.725698 0.062500 -4.622618 +v -2.401767 0.062500 -6.121686 +v -2.682841 0.062500 -6.369922 +v -2.630522 0.125000 -6.240331 +v -2.837387 0.125000 -6.006102 +v -2.536831 0.125000 -6.157585 +v -2.743695 0.125000 -5.923357 +v -2.630522 0.062500 -6.240331 +v -2.837387 0.062500 -6.006102 +v -2.536831 0.062500 -6.157585 +v -2.743695 0.062500 -5.923357 +v -3.778018 0.062500 -4.752209 +v -3.571152 0.062500 -4.986439 +v -3.871710 0.062500 -4.834955 +v -3.664845 0.062500 -5.069184 +v -3.778018 0.125000 -4.752209 +v -3.571152 0.125000 -4.986439 +v -3.871710 0.125000 -4.834955 +v -3.664845 0.125000 -5.069184 +v -4.435179 0.000000 -5.201965 +v -3.318242 0.000000 -6.861015 +v -4.746251 0.000000 -5.411391 +v -3.629313 0.000000 -7.070441 +v -4.746251 0.062500 -5.411391 +v -4.435179 0.062500 -5.201965 +v -3.318242 0.062500 -6.861015 +v -3.629313 0.062500 -7.070441 +v -3.560526 0.125000 -6.948788 +v -3.735048 0.125000 -6.689561 +v -3.456836 0.125000 -6.878979 +v -3.631357 0.125000 -6.619753 +v -3.560526 0.062500 -6.948788 +v -3.735048 0.062500 -6.689561 +v -3.456836 0.062500 -6.878979 +v -3.631357 0.062500 -6.619753 +v -4.503965 0.062500 -5.323618 +v -4.329443 0.062500 -5.582846 +v -4.607657 0.062500 -5.393427 +v -4.433135 0.062500 -5.652653 +v -4.503965 0.125000 -5.323618 +v -4.329443 0.125000 -5.582846 +v -4.607657 0.125000 -5.393427 +v -4.433135 0.125000 -5.652653 +v -5.214210 0.000000 -5.683750 +v -4.323378 0.000000 -7.474396 +v -5.549956 0.000000 -5.850781 +v -4.659122 0.000000 -7.641427 +v -5.549956 0.062500 -5.850781 +v -5.214210 0.062500 -5.683750 +v -4.323378 0.062500 -7.474396 +v -4.659122 0.062500 -7.641427 +v -4.575046 0.125000 -7.529794 +v -4.714239 0.125000 -7.250005 +v -4.463130 0.125000 -7.474116 +v -4.602324 0.125000 -7.194328 +v -4.575046 0.062500 -7.529794 +v -4.714239 0.062500 -7.250005 +v -4.463130 0.062500 -7.474116 +v -4.602324 0.062500 -7.194328 +v -5.298286 0.062500 -5.795384 +v -5.159094 0.062500 -6.075173 +v -5.410203 0.062500 -5.851061 +v -5.271009 0.062500 -6.130849 +v -5.298286 0.125000 -5.795384 +v -5.159094 0.125000 -6.075173 +v -5.410203 0.125000 -5.851061 +v -5.271009 0.125000 -6.130849 +v -6.049461 0.000000 -6.059729 +v -5.399977 0.000000 -7.951333 +v -6.404138 0.000000 -6.181507 +v -5.754651 0.000000 -8.073112 +v -6.404138 0.062500 -6.181507 +v -6.049461 0.062500 -6.059729 +v -5.399977 0.062500 -7.951333 +v -5.754651 0.062500 -8.073112 +v -5.656723 0.125000 -7.973407 +v -5.758205 0.125000 -7.677843 +v -5.538497 0.125000 -7.932814 +v -5.639980 0.125000 -7.637251 +v -5.656723 0.062500 -7.973407 +v -5.758205 0.062500 -7.677843 +v -5.538497 0.062500 -7.932814 +v -5.639980 0.062500 -7.637251 +v -6.147390 0.062500 -6.159434 +v -6.045908 0.062500 -6.454998 +v -6.265616 0.062500 -6.200027 +v -6.164133 0.062500 -6.495589 +v -6.147390 0.125000 -6.159434 +v -6.045908 0.125000 -6.454998 +v -6.265616 0.125000 -6.200027 +v -6.164133 0.125000 -6.495589 +v -6.926642 0.000000 -6.323469 +v -6.529619 0.000000 -8.283666 +v -7.294180 0.000000 -6.397911 +v -6.897154 0.000000 -8.358108 +v -7.294180 0.062500 -6.397911 +v -6.926642 0.062500 -6.323469 +v -6.529619 0.062500 -8.283666 +v -6.897154 0.062500 -8.358108 +v -6.787049 0.125000 -8.272038 +v -6.849084 0.125000 -7.965756 +v -6.664536 0.125000 -8.247224 +v -6.726572 0.125000 -7.940943 +v -6.787049 0.062500 -8.272038 +v -6.849084 0.062500 -7.965756 +v -6.664536 0.062500 -8.247224 +v -6.726572 0.062500 -7.940943 +v -7.036747 0.062500 -6.409539 +v -6.974712 0.062500 -6.715820 +v -7.159261 0.062500 -6.434352 +v -7.097224 0.062500 -6.740633 +v -7.036747 0.125000 -6.409539 +v -6.974712 0.125000 -6.715820 +v -7.159261 0.125000 -6.434352 +v -7.097224 0.125000 -6.740633 +v -7.830744 0.000000 -6.470458 +v -7.692974 0.000000 -8.465706 +v -8.204854 0.000000 -6.496290 +v -8.067081 0.000000 -8.491539 +v -8.204854 0.062500 -6.496290 +v -7.830744 0.062500 -6.470458 +v -7.692974 0.062500 -8.465706 +v -8.067081 0.062500 -8.491539 +v -7.946684 0.125000 -8.420578 +v -7.968211 0.125000 -8.108818 +v -7.821981 0.125000 -8.411966 +v -7.843508 0.125000 -8.100208 +v -7.946684 0.062500 -8.420578 +v -7.968211 0.062500 -8.108818 +v -7.821981 0.062500 -8.411966 +v -7.843508 0.062500 -8.100208 +v -7.951141 0.062500 -6.541420 +v -7.929615 0.062500 -6.853178 +v -8.075846 0.062500 -6.550030 +v -8.054317 0.062500 -6.861787 +v -7.951141 0.125000 -6.541420 +v -7.929615 0.125000 -6.853178 +v -8.075846 0.125000 -6.550030 +v -8.054317 0.125000 -6.861787 +vt 0.500000 0.656250 +vt 0.531250 0.718750 +vt 0.531250 0.656250 +vt 0.531250 0.718750 +vt 0.500000 0.656250 +vt 0.500000 0.718750 +vt 0.406250 1.000000 +vt 0.218750 0.000000 +vt 0.406250 0.000000 +vt 0.000000 1.000000 +vt 0.187500 0.000000 +vt 0.187500 1.000000 +vt 0.406250 0.031250 +vt 0.593750 0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.593750 0.000000 +vt 0.406250 0.031250 +vt 0.218750 1.000000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.062500 +vt 0.593750 0.125000 +vt 0.437500 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.500000 0.656250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.500000 0.656250 +vt 0.406250 0.156250 +vt 0.406250 0.656250 +vt 0.593750 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.500000 0.656250 +vt 0.406250 0.156250 +vt 0.406250 0.656250 +vt 0.593750 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.593750 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.531250 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.500000 0.656250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.656250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.406250 0.656250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.406250 0.156250 +vt 0.406250 0.656250 +vt 0.593750 0.656250 +vt 0.437500 0.156250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.500000 0.656250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.656250 +vt 0.406250 0.156250 +vt 0.406250 0.656250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.656250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.406250 0.656250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.593750 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.500000 0.656250 +vt 0.406250 0.156250 +vt 0.406250 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.656250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.406250 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.656250 +vt 0.406250 0.156250 +vt 0.406250 0.656250 +vt 0.593750 0.656250 +vt 0.500000 0.656250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.593750 0.656250 +vt 0.406250 0.156250 +vt 0.406250 0.656250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.656250 +vt 0.406250 0.156250 +vt 0.406250 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.656250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.656250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.406250 0.656250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.406250 0.156250 +vt 0.406250 0.656250 +vt 0.593750 0.656250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.406250 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.500000 0.656250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.656250 +vt 0.406250 0.156250 +vt 0.406250 0.656250 +vt 0.593750 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.531250 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.500000 0.656250 +vt 0.531250 0.718750 +vt 0.500000 0.718750 +vt 0.531250 0.718750 +vt 0.500000 0.656250 +vt 0.531250 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.656250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.406250 0.656250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.000000 0.000000 +vt 0.187500 1.000000 +vt 0.000000 1.000000 +vt 0.406250 0.031250 +vt 0.593750 0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.593750 0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.062500 +vt 0.593750 0.125000 +vt 0.437500 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.000000 0.000000 +vt 0.187500 1.000000 +vt 0.000000 1.000000 +vt 0.406250 0.031250 +vt 0.593750 0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.593750 0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.062500 +vt 0.593750 0.125000 +vt 0.437500 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.000000 0.000000 +vt 0.187500 1.000000 +vt 0.000000 1.000000 +vt 0.406250 0.031250 +vt 0.593750 0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.593750 0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.062500 +vt 0.593750 0.125000 +vt 0.437500 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.000000 0.000000 +vt 0.187500 1.000000 +vt 0.000000 1.000000 +vt 0.406250 0.031250 +vt 0.593750 0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.593750 0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.062500 +vt 0.593750 0.125000 +vt 0.437500 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.000000 0.000000 +vt 0.187500 1.000000 +vt 0.000000 1.000000 +vt 0.406250 0.031250 +vt 0.593750 0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.593750 0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.062500 +vt 0.593750 0.125000 +vt 0.437500 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.000000 0.000000 +vt 0.187500 1.000000 +vt 0.000000 1.000000 +vt 0.406250 0.031250 +vt 0.593750 0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.593750 0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.062500 +vt 0.593750 0.125000 +vt 0.437500 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.000000 0.000000 +vt 0.187500 1.000000 +vt 0.000000 1.000000 +vt 0.406250 0.031250 +vt 0.593750 0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.593750 0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.062500 +vt 0.593750 0.125000 +vt 0.437500 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.000000 0.000000 +vt 0.187500 1.000000 +vt 0.000000 1.000000 +vt 0.406250 0.031250 +vt 0.593750 0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.593750 0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.062500 +vt 0.593750 0.125000 +vt 0.437500 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.000000 0.000000 +vt 0.187500 1.000000 +vt 0.000000 1.000000 +vt 0.406250 0.031250 +vt 0.593750 0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.593750 0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.062500 +vt 0.593750 0.125000 +vt 0.437500 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.000000 0.000000 +vt 0.187500 1.000000 +vt 0.000000 1.000000 +vt 0.406250 0.031250 +vt 0.593750 0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.593750 0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.062500 +vt 0.593750 0.125000 +vt 0.437500 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.000000 0.000000 +vt 0.187500 1.000000 +vt 0.000000 1.000000 +vt 0.406250 0.031250 +vt 0.593750 0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.593750 0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.062500 +vt 0.593750 0.125000 +vt 0.437500 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.500000 0.718750 +vt 0.531250 0.656250 +vt 0.000000 0.000000 +vt 0.406250 0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.500000 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.156250 +vt 0.500000 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.156250 +vt 0.500000 0.156250 +vt 0.593750 0.156250 +vt 0.406250 0.156250 +vt 0.500000 0.156250 +vt 0.593750 0.156250 +vt 0.500000 0.156250 +vt 0.593750 0.156250 +vt 0.500000 0.156250 +vt 0.500000 0.156250 +vt 0.593750 0.156250 +vt 0.500000 0.156250 +vt 0.593750 0.156250 +vt 0.500000 0.156250 +vt 0.500000 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.156250 +vt 0.500000 0.156250 +vt 0.593750 0.156250 +vt 0.500000 0.156250 +vt 0.593750 0.156250 +vt 0.500000 0.156250 +vt 0.500000 0.156250 +vt 0.593750 0.156250 +vt 0.500000 0.156250 +vt 0.593750 0.156250 +vt 0.500000 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.156250 +vt 0.500000 0.156250 +vt 0.593750 0.156250 +vt 0.500000 0.156250 +vt 0.593750 0.156250 +vt 0.500000 0.156250 +vt 0.593750 0.156250 +vt 0.500000 0.156250 +vt 0.500000 0.156250 +vt 0.593750 0.156250 +vt 0.500000 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.156250 +vt 0.500000 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.156250 +vt 0.406250 0.156250 +vt 0.500000 0.156250 +vt 0.593750 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.718750 +vt 0.593750 0.156250 +vt 0.500000 0.156250 +vt 0.406250 0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.406250 0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.406250 0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.406250 0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.406250 0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.406250 0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.406250 0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.406250 0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.406250 0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.406250 0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.406250 0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn -0.9979 0.0000 0.0654 +vn 0.0654 0.0000 0.9979 +vn 0.9979 0.0000 -0.0654 +vn -0.0654 0.0000 -0.9979 +vn 0.9986 0.0000 -0.0523 +vn -0.9986 0.0000 0.0523 +vn -0.9659 0.0000 0.2588 +vn 0.9877 0.0000 -0.1564 +vn -0.9877 0.0000 0.1564 +vn -0.9336 0.0000 0.3584 +vn 0.9659 0.0000 -0.2588 +vn 0.9336 0.0000 -0.3584 +vn 0.8387 0.0000 -0.5446 +vn 0.8910 0.0000 -0.4540 +vn -0.8910 0.0000 0.4540 +vn -0.8387 0.0000 0.5446 +vn -0.7071 0.0000 0.7071 +vn 0.7071 0.0000 -0.7071 +vn -0.7771 0.0000 0.6293 +vn 0.7771 0.0000 -0.6293 +vn 0.6293 0.0000 -0.7771 +vn 0.5446 0.0000 -0.8387 +vn -0.5446 0.0000 0.8387 +vn -0.6293 0.0000 0.7771 +vn -0.4540 0.0000 0.8910 +vn 0.3584 0.0000 -0.9336 +vn 0.4540 0.0000 -0.8910 +vn 0.2588 0.0000 -0.9659 +vn -0.3584 0.0000 0.9336 +vn -0.1564 0.0000 0.9877 +vn -0.2588 0.0000 0.9659 +vn -0.0523 0.0000 0.9986 +vn 0.1564 0.0000 -0.9877 +vn -1.0000 0.0000 0.0000 +vn 0.0523 0.0000 -0.9986 +vn -0.9815 0.0000 0.1917 +vn 0.1917 0.0000 0.9815 +vn 0.9815 0.0000 -0.1917 +vn -0.1917 0.0000 -0.9815 +vn -0.9480 0.0000 0.3181 +vn 0.3181 0.0000 0.9480 +vn 0.9480 0.0000 -0.3181 +vn -0.3181 0.0000 -0.9480 +vn -0.8984 0.0000 0.4392 +vn 0.4392 0.0000 0.8984 +vn 0.8984 0.0000 -0.4392 +vn -0.4392 0.0000 -0.8984 +vn -0.8334 0.0000 0.5527 +vn 0.5527 0.0000 0.8334 +vn 0.8334 0.0000 -0.5527 +vn -0.5527 0.0000 -0.8334 +vn -0.7541 0.0000 0.6567 +vn 0.6567 0.0000 0.7541 +vn 0.7541 0.0000 -0.6567 +vn -0.6567 0.0000 -0.7541 +vn -0.6620 0.0000 0.7495 +vn 0.7495 0.0000 0.6620 +vn 0.6620 0.0000 -0.7495 +vn -0.7495 0.0000 -0.6620 +vn -0.5585 0.0000 0.8295 +vn 0.8295 0.0000 0.5585 +vn 0.5585 0.0000 -0.8295 +vn -0.8295 0.0000 -0.5585 +vn -0.4454 0.0000 0.8953 +vn 0.8953 0.0000 0.4454 +vn 0.4454 0.0000 -0.8953 +vn -0.8953 0.0000 -0.4454 +vn -0.3247 0.0000 0.9458 +vn 0.9458 0.0000 0.3247 +vn 0.3247 0.0000 -0.9458 +vn -0.9458 0.0000 -0.3247 +vn -0.1985 0.0000 0.9801 +vn 0.9801 0.0000 0.1985 +vn 0.1985 0.0000 -0.9801 +vn -0.9801 0.0000 -0.1985 +vn -0.0689 0.0000 0.9976 +vn 0.9976 0.0000 0.0689 +vn 0.0689 0.0000 -0.9976 +vn -0.9976 0.0000 -0.0689 +s off +f 3/1/1 2/2/1 1/3/1 +f 8/4/1 6/5/1 7/6/1 +f 9/7/2 12/8/2 10/9/2 +f 14/10/3 16/11/3 13/12/3 +f 9/13/4 13/14/4 11/15/4 +f 10/16/5 14/17/5 9/18/5 +f 12/19/6 15/20/6 10/9/6 +f 11/21/7 16/11/7 12/8/7 +f 29/22/4 27/23/4 25/24/4 +f 20/25/3 17/26/3 18/27/3 +f 17/26/6 23/28/6 21/29/6 +f 19/30/5 24/31/5 23/32/5 +f 18/27/7 21/33/7 22/34/7 +f 20/25/4 22/35/4 24/36/4 +f 31/37/7 28/38/7 27/39/7 +f 30/40/5 25/41/5 26/42/5 +f 32/43/6 26/44/6 28/45/6 +f 29/22/3 32/43/3 31/37/3 +f 40/46/2 3/47/2 1/48/2 +f 7/49/3 33/50/3 8/51/3 +f 35/52/8 7/49/8 6/53/8 +f 39/54/9 1/55/9 2/56/9 +f 37/57/3 2/56/3 4/58/3 +f 36/59/2 6/53/2 5/60/2 +f 33/50/9 5/61/9 8/51/9 +f 38/62/8 4/58/8 3/47/8 +f 34/63/3 43/64/3 33/65/3 +f 45/66/2 38/67/2 40/68/2 +f 51/69/10 44/70/10 43/71/10 +f 52/72/2 42/73/2 44/74/2 +f 42/75/11 34/63/11 35/76/11 +f 48/77/12 40/78/12 39/79/12 +f 47/80/3 39/79/3 37/81/3 +f 44/82/2 35/76/2 36/83/2 +f 43/64/12 36/84/12 33/65/12 +f 46/85/11 37/81/11 38/67/11 +f 55/86/3 64/87/3 56/88/3 +f 64/87/13 53/89/13 56/88/13 +f 54/90/14 47/91/14 46/92/14 +f 45/93/2 54/90/2 46/92/2 +f 41/94/3 51/69/3 43/71/3 +f 50/95/14 41/94/14 42/73/14 +f 56/96/10 45/97/10 48/98/10 +f 55/99/3 48/98/3 47/91/3 +f 57/100/3 67/101/3 59/102/3 +f 69/103/2 62/104/2 61/105/2 +f 60/106/2 50/107/2 52/108/2 +f 59/109/13 52/110/13 51/111/13 +f 62/112/15 55/86/15 54/113/15 +f 61/114/2 54/113/2 53/115/2 +f 49/116/3 59/109/3 51/111/3 +f 58/117/15 49/116/15 50/107/15 +f 77/118/2 70/119/2 69/120/2 +f 78/121/16 71/122/16 70/119/16 +f 66/123/17 57/100/17 58/124/17 +f 72/125/18 61/126/18 64/127/18 +f 63/128/3 72/125/3 64/127/3 +f 68/129/2 58/124/2 60/130/2 +f 67/101/18 60/131/18 59/102/18 +f 70/132/17 63/128/17 62/104/17 +f 84/133/2 74/134/2 76/135/2 +f 79/136/3 88/137/3 80/138/3 +f 65/139/3 75/140/3 67/141/3 +f 74/142/16 65/139/16 66/143/16 +f 80/144/19 69/145/19 72/146/19 +f 71/122/3 80/144/3 72/146/3 +f 76/147/2 66/143/2 68/148/2 +f 75/140/19 68/149/19 67/141/19 +f 96/150/20 85/151/20 88/152/20 +f 90/153/21 81/154/21 82/155/21 +f 83/156/22 76/157/22 75/158/22 +f 86/159/23 79/136/23 78/160/23 +f 85/161/2 78/160/2 77/162/2 +f 73/163/3 83/156/3 75/158/3 +f 82/164/23 73/163/23 74/134/23 +f 88/137/22 77/165/22 80/138/22 +f 101/166/2 94/167/2 93/168/2 +f 102/169/24 95/170/24 94/167/24 +f 87/171/3 96/150/3 88/152/3 +f 92/172/2 82/155/2 84/173/2 +f 91/174/20 84/175/20 83/176/20 +f 94/177/21 87/171/21 86/178/21 +f 93/179/2 86/178/2 85/180/2 +f 81/154/3 91/174/3 83/176/3 +f 110/181/25 103/182/25 102/183/25 +f 107/184/26 100/185/26 99/186/26 +f 89/187/3 99/188/3 91/189/3 +f 98/190/24 89/187/24 90/191/24 +f 104/192/27 93/193/27 96/194/27 +f 95/170/3 104/192/3 96/194/3 +f 100/195/2 90/191/2 92/196/2 +f 99/188/27 92/197/27 91/189/27 +f 111/198/3 120/199/3 112/200/3 +f 120/199/28 109/201/28 112/200/28 +f 109/202/2 102/183/2 101/203/2 +f 97/204/3 107/184/3 99/186/3 +f 106/205/25 97/204/25 98/206/25 +f 112/207/26 101/208/26 104/209/26 +f 103/182/3 112/207/3 104/209/3 +f 108/210/2 98/206/2 100/211/2 +f 122/212/29 113/213/29 114/214/29 +f 113/213/3 123/215/3 115/216/3 +f 116/217/2 106/218/2 108/219/2 +f 115/220/28 108/221/28 107/222/28 +f 118/223/30 111/198/30 110/224/30 +f 117/225/2 110/224/2 109/226/2 +f 105/227/3 115/220/3 107/222/3 +f 114/228/30 105/227/30 106/218/30 +f 133/229/2 126/230/2 125/231/2 +f 134/232/31 127/233/31 126/230/31 +f 128/234/32 117/235/32 120/236/32 +f 119/237/3 128/234/3 120/236/3 +f 124/238/2 114/214/2 116/239/2 +f 123/215/32 116/240/32 115/216/32 +f 126/241/29 119/237/29 118/242/29 +f 125/243/2 118/242/2 117/244/2 +f 139/245/33 132/246/33 131/247/33 +f 140/248/2 130/249/2 132/250/2 +f 121/251/3 131/252/3 123/253/3 +f 130/254/31 121/251/31 122/255/31 +f 136/256/34 125/257/34 128/258/34 +f 127/233/3 136/256/3 128/258/3 +f 132/259/2 122/255/2 124/260/2 +f 131/252/34 124/261/34 123/253/34 +f 151/262/3 144/263/3 143/264/3 +f 152/265/35 141/266/35 144/263/35 +f 142/267/36 135/268/36 134/269/36 +f 133/270/2 142/267/2 134/269/2 +f 129/271/3 139/245/3 131/247/3 +f 138/272/36 129/271/36 130/249/36 +f 144/273/33 133/274/33 136/275/33 +f 143/276/3 136/275/3 135/268/3 +f 146/277/37 147/278/37 145/279/37 +f 152/280/37 150/281/37 149/282/37 +f 148/283/2 138/284/2 140/285/2 +f 147/286/35 140/287/35 139/288/35 +f 150/289/38 143/264/38 142/290/38 +f 149/291/2 142/290/2 141/292/2 +f 137/293/3 147/286/3 139/288/3 +f 146/294/38 137/293/38 138/284/38 +f 155/295/2 154/296/2 153/297/2 +f 159/298/3 157/299/3 158/300/3 +f 153/301/39 157/302/39 155/303/39 +f 154/304/40 158/305/40 153/306/40 +f 156/307/41 159/308/41 154/296/41 +f 155/295/42 160/309/42 156/310/42 +f 173/311/39 171/312/39 169/313/39 +f 164/314/3 161/315/3 162/316/3 +f 161/315/41 167/317/41 165/318/41 +f 163/319/40 168/320/40 167/321/40 +f 162/316/42 165/322/42 166/323/42 +f 164/314/39 166/324/39 168/325/39 +f 175/326/42 172/327/42 171/328/42 +f 174/329/40 169/330/40 170/331/40 +f 176/332/41 170/333/41 172/334/41 +f 173/311/3 176/332/3 175/326/3 +f 179/335/2 178/336/2 177/337/2 +f 183/338/3 181/339/3 182/340/3 +f 177/341/43 181/342/43 179/343/43 +f 178/344/44 182/345/44 177/346/44 +f 180/347/45 183/348/45 178/336/45 +f 179/335/46 184/349/46 180/350/46 +f 197/351/43 195/352/43 193/353/43 +f 188/354/3 185/355/3 186/356/3 +f 185/355/45 191/357/45 189/358/45 +f 187/359/44 192/360/44 191/361/44 +f 186/356/46 189/362/46 190/363/46 +f 188/354/43 190/364/43 192/365/43 +f 199/366/46 196/367/46 195/368/46 +f 198/369/44 193/370/44 194/371/44 +f 200/372/45 194/373/45 196/374/45 +f 197/351/3 200/372/3 199/366/3 +f 203/375/2 202/376/2 201/377/2 +f 207/378/3 205/379/3 206/380/3 +f 201/381/47 205/382/47 203/383/47 +f 202/384/48 206/385/48 201/386/48 +f 204/387/49 207/388/49 202/376/49 +f 203/375/50 208/389/50 204/390/50 +f 221/391/47 219/392/47 217/393/47 +f 212/394/3 209/395/3 210/396/3 +f 209/395/49 215/397/49 213/398/49 +f 211/399/48 216/400/48 215/401/48 +f 210/396/50 213/402/50 214/403/50 +f 212/394/47 214/404/47 216/405/47 +f 223/406/50 220/407/50 219/408/50 +f 222/409/48 217/410/48 218/411/48 +f 224/412/49 218/413/49 220/414/49 +f 221/391/3 224/412/3 223/406/3 +f 227/415/2 226/416/2 225/417/2 +f 231/418/3 229/419/3 230/420/3 +f 225/421/51 229/422/51 227/423/51 +f 226/424/52 230/425/52 225/426/52 +f 228/427/53 231/428/53 226/416/53 +f 227/415/54 232/429/54 228/430/54 +f 245/431/51 243/432/51 241/433/51 +f 236/434/3 233/435/3 234/436/3 +f 233/435/53 239/437/53 237/438/53 +f 235/439/52 240/440/52 239/441/52 +f 234/436/54 237/442/54 238/443/54 +f 236/434/51 238/444/51 240/445/51 +f 247/446/54 244/447/54 243/448/54 +f 246/449/52 241/450/52 242/451/52 +f 248/452/53 242/453/53 244/454/53 +f 245/431/3 248/452/3 247/446/3 +f 251/455/2 250/456/2 249/457/2 +f 255/458/3 253/459/3 254/460/3 +f 249/461/55 253/462/55 251/463/55 +f 250/464/56 254/465/56 249/466/56 +f 252/467/57 255/468/57 250/456/57 +f 251/455/58 256/469/58 252/470/58 +f 269/471/55 267/472/55 265/473/55 +f 260/474/3 257/475/3 258/476/3 +f 257/475/57 263/477/57 261/478/57 +f 259/479/56 264/480/56 263/481/56 +f 258/476/58 261/482/58 262/483/58 +f 260/474/55 262/484/55 264/485/55 +f 271/486/58 268/487/58 267/488/58 +f 270/489/56 265/490/56 266/491/56 +f 272/492/57 266/493/57 268/494/57 +f 269/471/3 272/492/3 271/486/3 +f 275/495/2 274/496/2 273/497/2 +f 279/498/3 277/499/3 278/500/3 +f 273/501/59 277/502/59 275/503/59 +f 274/504/60 278/505/60 273/506/60 +f 276/507/61 279/508/61 274/496/61 +f 275/495/62 280/509/62 276/510/62 +f 293/511/59 291/512/59 289/513/59 +f 284/514/3 281/515/3 282/516/3 +f 281/515/61 287/517/61 285/518/61 +f 283/519/60 288/520/60 287/521/60 +f 282/516/62 285/522/62 286/523/62 +f 284/514/59 286/524/59 288/525/59 +f 295/526/62 292/527/62 291/528/62 +f 294/529/60 289/530/60 290/531/60 +f 296/532/61 290/533/61 292/534/61 +f 293/511/3 296/532/3 295/526/3 +f 299/535/2 298/536/2 297/537/2 +f 303/538/3 301/539/3 302/540/3 +f 297/541/63 301/542/63 299/543/63 +f 298/544/64 302/545/64 297/546/64 +f 300/547/65 303/548/65 298/536/65 +f 299/535/66 304/549/66 300/550/66 +f 317/551/63 315/552/63 313/553/63 +f 308/554/3 305/555/3 306/556/3 +f 305/555/65 311/557/65 309/558/65 +f 307/559/64 312/560/64 311/561/64 +f 306/556/66 309/562/66 310/563/66 +f 308/554/63 310/564/63 312/565/63 +f 319/566/66 316/567/66 315/568/66 +f 318/569/64 313/570/64 314/571/64 +f 320/572/65 314/573/65 316/574/65 +f 317/551/3 320/572/3 319/566/3 +f 323/575/2 322/576/2 321/577/2 +f 327/578/3 325/579/3 326/580/3 +f 321/581/67 325/582/67 323/583/67 +f 322/584/68 326/585/68 321/586/68 +f 324/587/69 327/588/69 322/576/69 +f 323/575/70 328/589/70 324/590/70 +f 341/591/67 339/592/67 337/593/67 +f 332/594/3 329/595/3 330/596/3 +f 329/595/69 335/597/69 333/598/69 +f 331/599/68 336/600/68 335/601/68 +f 330/596/70 333/602/70 334/603/70 +f 332/594/67 334/604/67 336/605/67 +f 343/606/70 340/607/70 339/608/70 +f 342/609/68 337/610/68 338/611/68 +f 344/612/69 338/613/69 340/614/69 +f 341/591/3 344/612/3 343/606/3 +f 347/615/2 346/616/2 345/617/2 +f 351/618/3 349/619/3 350/620/3 +f 345/621/71 349/622/71 347/623/71 +f 346/624/72 350/625/72 345/626/72 +f 348/627/73 351/628/73 346/616/73 +f 347/615/74 352/629/74 348/630/74 +f 365/631/71 363/632/71 361/633/71 +f 356/634/3 353/635/3 354/636/3 +f 353/635/73 359/637/73 357/638/73 +f 355/639/72 360/640/72 359/641/72 +f 354/636/74 357/642/74 358/643/74 +f 356/634/71 358/644/71 360/645/71 +f 367/646/74 364/647/74 363/648/74 +f 366/649/72 361/650/72 362/651/72 +f 368/652/73 362/653/73 364/654/73 +f 365/631/3 368/652/3 367/646/3 +f 371/655/2 370/656/2 369/657/2 +f 375/658/3 373/659/3 374/660/3 +f 369/661/75 373/662/75 371/663/75 +f 370/664/76 374/665/76 369/666/76 +f 372/667/77 375/668/77 370/656/77 +f 371/655/78 376/669/78 372/670/78 +f 389/671/75 387/672/75 385/673/75 +f 380/674/3 377/675/3 378/676/3 +f 377/675/77 383/677/77 381/678/77 +f 379/679/76 384/680/76 383/681/76 +f 378/676/78 381/682/78 382/683/78 +f 380/674/75 382/684/75 384/685/75 +f 391/686/78 388/687/78 387/688/78 +f 390/689/76 385/690/76 386/691/76 +f 392/692/77 386/693/77 388/694/77 +f 389/671/3 392/692/3 391/686/3 +f 395/695/2 394/696/2 393/697/2 +f 399/698/3 397/699/3 398/700/3 +f 393/701/79 397/702/79 395/703/79 +f 394/704/80 398/705/80 393/706/80 +f 396/707/81 399/708/81 394/696/81 +f 395/695/82 400/709/82 396/710/82 +f 413/711/79 411/712/79 409/713/79 +f 404/714/3 401/715/3 402/716/3 +f 401/715/81 407/717/81 405/718/81 +f 403/719/80 408/720/80 407/721/80 +f 402/716/82 405/722/82 406/723/82 +f 404/714/79 406/724/79 408/725/79 +f 415/726/82 412/727/82 411/728/82 +f 414/729/80 409/730/80 410/731/80 +f 416/732/81 410/733/81 412/734/81 +f 413/711/3 416/732/3 415/726/3 +f 3/1/1 4/735/1 2/2/1 +f 8/4/1 5/736/1 6/5/1 +f 9/7/2 11/21/2 12/8/2 +f 14/10/3 15/737/3 16/11/3 +f 9/13/4 14/738/4 13/14/4 +f 10/16/5 15/739/5 14/17/5 +f 12/19/6 16/740/6 15/20/6 +f 11/21/7 13/12/7 16/11/7 +f 29/22/4 31/37/4 27/23/4 +f 20/25/3 19/30/3 17/26/3 +f 17/26/6 19/30/6 23/28/6 +f 19/30/5 20/25/5 24/31/5 +f 18/27/7 17/26/7 21/33/7 +f 20/25/4 18/27/4 22/35/4 +f 31/37/7 32/43/7 28/38/7 +f 30/40/5 29/22/5 25/41/5 +f 32/43/6 30/40/6 26/44/6 +f 29/22/3 30/40/3 32/43/3 +f 40/46/2 38/62/2 3/47/2 +f 7/49/3 34/741/3 33/50/3 +f 35/52/8 34/741/8 7/49/8 +f 39/54/9 40/742/9 1/55/9 +f 37/57/3 39/54/3 2/56/3 +f 36/59/2 35/52/2 6/53/2 +f 33/50/9 36/743/9 5/61/9 +f 38/62/8 37/57/8 4/58/8 +f 34/63/3 41/744/3 43/64/3 +f 45/66/2 46/85/2 38/67/2 +f 51/69/10 52/745/10 44/70/10 +f 52/72/2 50/95/2 42/73/2 +f 42/75/11 41/744/11 34/63/11 +f 48/77/12 45/746/12 40/78/12 +f 47/80/3 48/77/3 39/79/3 +f 44/82/2 42/75/2 35/76/2 +f 43/64/12 44/747/12 36/84/12 +f 46/85/11 47/80/11 37/81/11 +f 55/86/3 63/748/3 64/87/3 +f 64/87/13 61/749/13 53/89/13 +f 54/90/14 55/99/14 47/91/14 +f 45/93/2 53/750/2 54/90/2 +f 41/94/3 49/751/3 51/69/3 +f 50/95/14 49/751/14 41/94/14 +f 56/96/10 53/752/10 45/97/10 +f 55/99/3 56/96/3 48/98/3 +f 57/100/3 65/753/3 67/101/3 +f 69/103/2 70/132/2 62/104/2 +f 60/106/2 58/117/2 50/107/2 +f 59/109/13 60/754/13 52/110/13 +f 62/112/15 63/748/15 55/86/15 +f 61/114/2 62/112/2 54/113/2 +f 49/116/3 57/755/3 59/109/3 +f 58/117/15 57/755/15 49/116/15 +f 77/118/2 78/121/2 70/119/2 +f 78/121/16 79/756/16 71/122/16 +f 66/123/17 65/753/17 57/100/17 +f 72/125/18 69/757/18 61/126/18 +f 63/128/3 71/758/3 72/125/3 +f 68/129/2 66/123/2 58/124/2 +f 67/101/18 68/759/18 60/131/18 +f 70/132/17 71/758/17 63/128/17 +f 84/133/2 82/164/2 74/134/2 +f 79/136/3 87/760/3 88/137/3 +f 65/139/3 73/761/3 75/140/3 +f 74/142/16 73/761/16 65/139/16 +f 80/144/19 77/762/19 69/145/19 +f 71/122/3 79/756/3 80/144/3 +f 76/147/2 74/142/2 66/143/2 +f 75/140/19 76/763/19 68/149/19 +f 96/150/20 93/764/20 85/151/20 +f 90/153/21 89/765/21 81/154/21 +f 83/156/22 84/766/22 76/157/22 +f 86/159/23 87/760/23 79/136/23 +f 85/161/2 86/159/2 78/160/2 +f 73/163/3 81/767/3 83/156/3 +f 82/164/23 81/767/23 73/163/23 +f 88/137/22 85/768/22 77/165/22 +f 101/166/2 102/169/2 94/167/2 +f 102/169/24 103/769/24 95/170/24 +f 87/171/3 95/770/3 96/150/3 +f 92/172/2 90/153/2 82/155/2 +f 91/174/20 92/771/20 84/175/20 +f 94/177/21 95/770/21 87/171/21 +f 93/179/2 94/177/2 86/178/2 +f 81/154/3 89/765/3 91/174/3 +f 110/181/25 111/772/25 103/182/25 +f 107/184/26 108/773/26 100/185/26 +f 89/187/3 97/774/3 99/188/3 +f 98/190/24 97/774/24 89/187/24 +f 104/192/27 101/775/27 93/193/27 +f 95/170/3 103/769/3 104/192/3 +f 100/195/2 98/190/2 90/191/2 +f 99/188/27 100/776/27 92/197/27 +f 111/198/3 119/777/3 120/199/3 +f 120/199/28 117/778/28 109/201/28 +f 109/202/2 110/181/2 102/183/2 +f 97/204/3 105/779/3 107/184/3 +f 106/205/25 105/779/25 97/204/25 +f 112/207/26 109/780/26 101/208/26 +f 103/182/3 111/772/3 112/207/3 +f 108/210/2 106/205/2 98/206/2 +f 122/212/29 121/781/29 113/213/29 +f 113/213/3 121/781/3 123/215/3 +f 116/217/2 114/228/2 106/218/2 +f 115/220/28 116/782/28 108/221/28 +f 118/223/30 119/777/30 111/198/30 +f 117/225/2 118/223/2 110/224/2 +f 105/227/3 113/783/3 115/220/3 +f 114/228/30 113/783/30 105/227/30 +f 133/229/2 134/232/2 126/230/2 +f 134/232/31 135/784/31 127/233/31 +f 128/234/32 125/785/32 117/235/32 +f 119/237/3 127/786/3 128/234/3 +f 124/238/2 122/212/2 114/214/2 +f 123/215/32 124/787/32 116/240/32 +f 126/241/29 127/786/29 119/237/29 +f 125/243/2 126/241/2 118/242/2 +f 139/245/33 140/788/33 132/246/33 +f 140/248/2 138/272/2 130/249/2 +f 121/251/3 129/789/3 131/252/3 +f 130/254/31 129/789/31 121/251/31 +f 136/256/34 133/790/34 125/257/34 +f 127/233/3 135/784/3 136/256/3 +f 132/259/2 130/254/2 122/255/2 +f 131/252/34 132/791/34 124/261/34 +f 151/262/3 152/265/3 144/263/3 +f 152/265/35 149/792/35 141/266/35 +f 142/267/36 143/276/36 135/268/36 +f 133/270/2 141/793/2 142/267/2 +f 129/271/3 137/794/3 139/245/3 +f 138/272/36 137/794/36 129/271/36 +f 144/273/33 141/795/33 133/274/33 +f 143/276/3 144/273/3 136/275/3 +f 146/277/37 148/796/37 147/278/37 +f 152/280/37 151/797/37 150/281/37 +f 148/283/2 146/294/2 138/284/2 +f 147/286/35 148/798/35 140/287/35 +f 150/289/38 151/262/38 143/264/38 +f 149/291/2 150/289/2 142/290/2 +f 137/293/3 145/799/3 147/286/3 +f 146/294/38 145/799/38 137/293/38 +f 155/295/2 156/310/2 154/296/2 +f 159/298/3 160/309/3 157/299/3 +f 153/301/39 158/800/39 157/302/39 +f 154/304/40 159/801/40 158/305/40 +f 156/307/41 160/802/41 159/308/41 +f 155/295/42 157/299/42 160/309/42 +f 173/311/39 175/326/39 171/312/39 +f 164/314/3 163/319/3 161/315/3 +f 161/315/41 163/319/41 167/317/41 +f 163/319/40 164/314/40 168/320/40 +f 162/316/42 161/315/42 165/322/42 +f 164/314/39 162/316/39 166/324/39 +f 175/326/42 176/332/42 172/327/42 +f 174/329/40 173/311/40 169/330/40 +f 176/332/41 174/329/41 170/333/41 +f 173/311/3 174/329/3 176/332/3 +f 179/335/2 180/350/2 178/336/2 +f 183/338/3 184/349/3 181/339/3 +f 177/341/43 182/803/43 181/342/43 +f 178/344/44 183/804/44 182/345/44 +f 180/347/45 184/805/45 183/348/45 +f 179/335/46 181/339/46 184/349/46 +f 197/351/43 199/366/43 195/352/43 +f 188/354/3 187/359/3 185/355/3 +f 185/355/45 187/359/45 191/357/45 +f 187/359/44 188/354/44 192/360/44 +f 186/356/46 185/355/46 189/362/46 +f 188/354/43 186/356/43 190/364/43 +f 199/366/46 200/372/46 196/367/46 +f 198/369/44 197/351/44 193/370/44 +f 200/372/45 198/369/45 194/373/45 +f 197/351/3 198/369/3 200/372/3 +f 203/375/2 204/390/2 202/376/2 +f 207/378/3 208/389/3 205/379/3 +f 201/381/47 206/806/47 205/382/47 +f 202/384/48 207/807/48 206/385/48 +f 204/387/49 208/808/49 207/388/49 +f 203/375/50 205/379/50 208/389/50 +f 221/391/47 223/406/47 219/392/47 +f 212/394/3 211/399/3 209/395/3 +f 209/395/49 211/399/49 215/397/49 +f 211/399/48 212/394/48 216/400/48 +f 210/396/50 209/395/50 213/402/50 +f 212/394/47 210/396/47 214/404/47 +f 223/406/50 224/412/50 220/407/50 +f 222/409/48 221/391/48 217/410/48 +f 224/412/49 222/409/49 218/413/49 +f 221/391/3 222/409/3 224/412/3 +f 227/415/2 228/430/2 226/416/2 +f 231/418/3 232/429/3 229/419/3 +f 225/421/51 230/809/51 229/422/51 +f 226/424/52 231/810/52 230/425/52 +f 228/427/53 232/811/53 231/428/53 +f 227/415/54 229/419/54 232/429/54 +f 245/431/51 247/446/51 243/432/51 +f 236/434/3 235/439/3 233/435/3 +f 233/435/53 235/439/53 239/437/53 +f 235/439/52 236/434/52 240/440/52 +f 234/436/54 233/435/54 237/442/54 +f 236/434/51 234/436/51 238/444/51 +f 247/446/54 248/452/54 244/447/54 +f 246/449/52 245/431/52 241/450/52 +f 248/452/53 246/449/53 242/453/53 +f 245/431/3 246/449/3 248/452/3 +f 251/455/2 252/470/2 250/456/2 +f 255/458/3 256/469/3 253/459/3 +f 249/461/55 254/812/55 253/462/55 +f 250/464/56 255/813/56 254/465/56 +f 252/467/57 256/814/57 255/468/57 +f 251/455/58 253/459/58 256/469/58 +f 269/471/55 271/486/55 267/472/55 +f 260/474/3 259/479/3 257/475/3 +f 257/475/57 259/479/57 263/477/57 +f 259/479/56 260/474/56 264/480/56 +f 258/476/58 257/475/58 261/482/58 +f 260/474/55 258/476/55 262/484/55 +f 271/486/58 272/492/58 268/487/58 +f 270/489/56 269/471/56 265/490/56 +f 272/492/57 270/489/57 266/493/57 +f 269/471/3 270/489/3 272/492/3 +f 275/495/2 276/510/2 274/496/2 +f 279/498/3 280/509/3 277/499/3 +f 273/501/59 278/815/59 277/502/59 +f 274/504/60 279/816/60 278/505/60 +f 276/507/61 280/817/61 279/508/61 +f 275/495/62 277/499/62 280/509/62 +f 293/511/59 295/526/59 291/512/59 +f 284/514/3 283/519/3 281/515/3 +f 281/515/61 283/519/61 287/517/61 +f 283/519/60 284/514/60 288/520/60 +f 282/516/62 281/515/62 285/522/62 +f 284/514/59 282/516/59 286/524/59 +f 295/526/62 296/532/62 292/527/62 +f 294/529/60 293/511/60 289/530/60 +f 296/532/61 294/529/61 290/533/61 +f 293/511/3 294/529/3 296/532/3 +f 299/535/2 300/550/2 298/536/2 +f 303/538/3 304/549/3 301/539/3 +f 297/541/63 302/818/63 301/542/63 +f 298/544/64 303/819/64 302/545/64 +f 300/547/65 304/820/65 303/548/65 +f 299/535/66 301/539/66 304/549/66 +f 317/551/63 319/566/63 315/552/63 +f 308/554/3 307/559/3 305/555/3 +f 305/555/65 307/559/65 311/557/65 +f 307/559/64 308/554/64 312/560/64 +f 306/556/66 305/555/66 309/562/66 +f 308/554/63 306/556/63 310/564/63 +f 319/566/66 320/572/66 316/567/66 +f 318/569/64 317/551/64 313/570/64 +f 320/572/65 318/569/65 314/573/65 +f 317/551/3 318/569/3 320/572/3 +f 323/575/2 324/590/2 322/576/2 +f 327/578/3 328/589/3 325/579/3 +f 321/581/67 326/821/67 325/582/67 +f 322/584/68 327/822/68 326/585/68 +f 324/587/69 328/823/69 327/588/69 +f 323/575/70 325/579/70 328/589/70 +f 341/591/67 343/606/67 339/592/67 +f 332/594/3 331/599/3 329/595/3 +f 329/595/69 331/599/69 335/597/69 +f 331/599/68 332/594/68 336/600/68 +f 330/596/70 329/595/70 333/602/70 +f 332/594/67 330/596/67 334/604/67 +f 343/606/70 344/612/70 340/607/70 +f 342/609/68 341/591/68 337/610/68 +f 344/612/69 342/609/69 338/613/69 +f 341/591/3 342/609/3 344/612/3 +f 347/615/2 348/630/2 346/616/2 +f 351/618/3 352/629/3 349/619/3 +f 345/621/71 350/824/71 349/622/71 +f 346/624/72 351/825/72 350/625/72 +f 348/627/73 352/826/73 351/628/73 +f 347/615/74 349/619/74 352/629/74 +f 365/631/71 367/646/71 363/632/71 +f 356/634/3 355/639/3 353/635/3 +f 353/635/73 355/639/73 359/637/73 +f 355/639/72 356/634/72 360/640/72 +f 354/636/74 353/635/74 357/642/74 +f 356/634/71 354/636/71 358/644/71 +f 367/646/74 368/652/74 364/647/74 +f 366/649/72 365/631/72 361/650/72 +f 368/652/73 366/649/73 362/653/73 +f 365/631/3 366/649/3 368/652/3 +f 371/655/2 372/670/2 370/656/2 +f 375/658/3 376/669/3 373/659/3 +f 369/661/75 374/827/75 373/662/75 +f 370/664/76 375/828/76 374/665/76 +f 372/667/77 376/829/77 375/668/77 +f 371/655/78 373/659/78 376/669/78 +f 389/671/75 391/686/75 387/672/75 +f 380/674/3 379/679/3 377/675/3 +f 377/675/77 379/679/77 383/677/77 +f 379/679/76 380/674/76 384/680/76 +f 378/676/78 377/675/78 381/682/78 +f 380/674/75 378/676/75 382/684/75 +f 391/686/78 392/692/78 388/687/78 +f 390/689/76 389/671/76 385/690/76 +f 392/692/77 390/689/77 386/693/77 +f 389/671/3 390/689/3 392/692/3 +f 395/695/2 396/710/2 394/696/2 +f 399/698/3 400/709/3 397/699/3 +f 393/701/79 398/830/79 397/702/79 +f 394/704/80 399/831/80 398/705/80 +f 396/707/81 400/832/81 399/708/81 +f 395/695/82 397/699/82 400/709/82 +f 413/711/79 415/726/79 411/712/79 +f 404/714/3 403/719/3 401/715/3 +f 401/715/81 403/719/81 407/717/81 +f 403/719/80 404/714/80 408/720/80 +f 402/716/82 401/715/82 405/722/82 +f 404/714/79 402/716/79 406/724/79 +f 415/726/82 416/732/82 412/727/82 +f 414/729/80 413/711/80 409/730/80 +f 416/732/81 414/729/81 410/733/81 +f 413/711/3 414/729/3 416/732/3 diff --git a/src/main/resources/assets/hbm/models/blocks/rail_standard_short.obj b/src/main/resources/assets/hbm/models/blocks/rail_standard_short.obj new file mode 100644 index 000000000..4fb15ebb7 --- /dev/null +++ b/src/main/resources/assets/hbm/models/blocks/rail_standard_short.obj @@ -0,0 +1,185 @@ +# Blender v2.79 (sub 0) OBJ File: 'rail_standard_straight_short.blend' +# www.blender.org +o Plane.001 +v -1.000000 0.000000 0.187500 +v 1.000000 0.000000 0.187500 +v -1.000000 0.000000 -0.187500 +v 1.000000 0.000000 -0.187500 +v -1.000000 0.062500 -0.187500 +v -1.000000 0.062500 0.187500 +v 1.000000 0.062500 0.187500 +v 1.000000 0.062500 -0.187500 +v -0.812500 0.062500 0.500000 +v 0.812500 0.062500 0.500000 +v -0.812500 0.187500 0.500000 +v 0.812500 0.187500 0.500000 +v 0.750000 0.062500 0.500000 +v 0.750000 0.187500 0.500000 +v -0.750000 0.062500 0.500000 +v -0.750000 0.187500 0.500000 +v 0.625000 0.062500 0.062500 +v 0.937500 0.062500 0.062500 +v 0.625000 0.062500 -0.062500 +v 0.937500 0.062500 -0.062500 +v 0.625000 0.125000 0.062500 +v 0.937500 0.125000 0.062500 +v 0.625000 0.125000 -0.062500 +v 0.937500 0.125000 -0.062500 +v -0.937500 0.062500 0.062500 +v -0.625000 0.062500 0.062500 +v -0.937500 0.062500 -0.062500 +v -0.625000 0.062500 -0.062500 +v -0.937500 0.125000 0.062500 +v -0.625000 0.125000 0.062500 +v -0.937500 0.125000 -0.062500 +v -0.625000 0.125000 -0.062500 +v -0.812500 0.062500 -0.500000 +v 0.812500 0.062500 -0.500000 +v -0.812500 0.187500 -0.500000 +v 0.812500 0.187500 -0.500000 +v 0.750000 0.062500 -0.500000 +v 0.750000 0.187500 -0.500000 +v -0.750000 0.062500 -0.500000 +v -0.750000 0.187500 -0.500000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.500000 0.156250 +vt 0.437500 0.656250 +vt 0.437500 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.531250 0.718750 +vt 0.500000 0.656250 +vt 0.531250 0.656250 +vt 0.406250 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.500000 0.656250 +vt 0.531250 0.718750 +vt 0.500000 0.718750 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.656250 +vt 0.500000 0.718750 +vt 0.500000 0.656250 +vt 0.531250 0.718750 +vt 0.500000 0.656250 +vt 0.531250 0.656250 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.500000 0.718750 +vt 0.406250 0.656250 +vt 0.531250 0.656250 +vt 0.531250 0.718750 +vt 0.500000 0.718750 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +s off +f 3/1/1 2/2/1 1/3/1 +f 7/4/2 5/5/2 6/6/2 +f 1/7/3 5/8/3 3/9/3 +f 2/10/4 6/11/4 1/12/4 +f 4/13/5 7/14/5 2/2/5 +f 3/1/6 8/15/6 4/16/6 +f 36/17/5 10/18/5 34/19/5 +f 13/20/3 38/21/3 37/22/3 +f 12/23/4 13/24/4 10/25/4 +f 10/18/1 37/26/1 34/19/1 +f 11/27/2 40/28/2 35/29/2 +f 9/30/4 16/31/4 11/32/4 +f 21/33/3 19/34/3 17/35/3 +f 23/36/6 20/37/6 19/38/6 +f 22/39/4 17/40/4 18/41/4 +f 24/42/5 18/43/5 20/44/5 +f 21/33/2 24/42/2 23/36/2 +f 29/45/3 27/46/3 25/47/3 +f 31/48/6 28/49/6 27/50/6 +f 30/51/4 25/52/4 26/53/4 +f 32/54/5 26/55/5 28/56/5 +f 29/45/2 32/54/2 31/48/2 +f 33/57/1 15/58/1 9/59/1 +f 39/60/5 16/61/5 15/58/5 +f 36/17/2 14/62/2 12/63/2 +f 11/27/3 33/64/3 9/65/3 +f 33/66/6 40/67/6 39/68/6 +f 38/69/6 34/70/6 37/71/6 +f 3/1/1 4/16/1 2/2/1 +f 7/4/2 8/15/2 5/5/2 +f 1/7/3 6/72/3 5/8/3 +f 2/10/4 7/73/4 6/11/4 +f 4/13/5 8/74/5 7/14/5 +f 3/1/6 5/5/6 8/15/6 +f 36/17/5 12/63/5 10/18/5 +f 13/20/3 14/62/3 38/21/3 +f 12/23/4 14/75/4 13/24/4 +f 10/18/1 13/76/1 37/26/1 +f 11/27/2 16/61/2 40/28/2 +f 9/30/4 15/77/4 16/31/4 +f 21/33/3 23/36/3 19/34/3 +f 23/36/6 24/42/6 20/37/6 +f 22/39/4 21/33/4 17/40/4 +f 24/42/5 22/39/5 18/43/5 +f 21/33/2 22/39/2 24/42/2 +f 29/45/3 31/48/3 27/46/3 +f 31/48/6 32/54/6 28/49/6 +f 30/51/4 29/45/4 25/52/4 +f 32/54/5 30/51/5 26/55/5 +f 29/45/2 30/51/2 32/54/2 +f 33/57/1 39/60/1 15/58/1 +f 39/60/5 40/28/5 16/61/5 +f 36/17/2 38/21/2 14/62/2 +f 11/27/3 35/29/3 33/64/3 +f 33/66/6 35/78/6 40/67/6 +f 38/69/6 36/79/6 34/70/6 diff --git a/src/main/resources/assets/hbm/models/blocks/rail_standard_switch.obj b/src/main/resources/assets/hbm/models/blocks/rail_standard_switch.obj new file mode 100644 index 000000000..9cfecc35f --- /dev/null +++ b/src/main/resources/assets/hbm/models/blocks/rail_standard_switch.obj @@ -0,0 +1,3923 @@ +# Blender v2.79 (sub 0) OBJ File: 'rail_standard_switch.blend' +# www.blender.org +o SignTurn +v -2.500000 1.000000 -1.125000 +v -1.500000 1.000000 -1.125000 +v -2.500000 2.000000 -1.125000 +v -1.500000 2.000000 -1.125000 +v -2.500000 2.000000 -0.875000 +v -2.500000 1.000000 -0.875000 +v -1.500000 1.000000 -0.875000 +v -1.500000 2.000000 -0.875000 +v -2.125000 1.000000 -0.875000 +v -1.875000 1.000000 -0.875000 +v -2.125000 1.000000 -1.125000 +v -1.875000 1.000000 -1.125000 +v -2.125000 0.000000 -1.125000 +v -2.125000 0.000000 -0.875000 +v -1.875000 0.000000 -0.875000 +v -1.875000 0.000000 -1.125000 +vt 0.500000 0.500000 +vt 0.000000 0.000000 +vt 0.500000 0.000000 +vt 1.000000 0.500000 +vt 0.500000 1.000000 +vt 0.500000 0.500000 +vt 0.625000 0.500000 +vt 0.500000 -0.000000 +vt 0.625000 -0.000000 +vt 0.625000 0.500000 +vt 0.625000 0.500000 +vt 0.500000 -0.000000 +vt 0.625000 -0.000000 +vt 0.500000 0.000000 +vt 0.625000 0.500000 +vt 0.500000 0.500000 +vt 0.750000 0.375000 +vt 0.875000 0.500000 +vt 0.750000 0.500000 +vt 1.000000 -0.000000 +vt 0.875000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 -0.000000 +vt 0.875000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 -0.000000 +vt 0.875000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 -0.000000 +vt 0.875000 0.500000 +vt 1.000000 0.500000 +vt 0.000000 0.500000 +vt 1.000000 1.000000 +vt 0.500000 0.500000 +vt 0.625000 0.000000 +vt 0.500000 0.500000 +vt 0.625000 0.000000 +vt 0.875000 0.375000 +vt 0.875000 -0.000000 +vt 0.875000 -0.000000 +vt 0.875000 -0.000000 +vt 0.875000 -0.000000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +s off +f 3/1/1 2/2/1 1/3/1 +f 7/4/2 5/5/2 6/6/2 +f 4/7/3 7/8/3 2/9/3 +f 1/3/4 5/10/4 3/1/4 +f 3/11/5 8/12/5 4/13/5 +f 2/14/6 6/15/6 1/16/6 +f 13/17/6 15/18/6 14/19/6 +f 16/20/1 11/21/1 12/22/1 +f 14/23/2 10/24/2 9/25/2 +f 15/26/3 12/27/3 10/28/3 +f 13/29/4 9/30/4 11/31/4 +f 3/1/1 4/32/1 2/2/1 +f 7/4/2 8/33/2 5/5/2 +f 4/7/3 8/34/3 7/8/3 +f 1/3/4 6/35/4 5/10/4 +f 3/11/5 5/36/5 8/12/5 +f 2/14/6 7/37/6 6/15/6 +f 13/17/6 16/38/6 15/18/6 +f 16/20/1 13/39/1 11/21/1 +f 14/23/2 15/40/2 10/24/2 +f 15/26/3 16/41/3 12/27/3 +f 13/29/4 14/42/4 9/30/4 +o SignStraight +v -2.500000 1.000000 -1.125000 +v -1.500000 1.000000 -1.125000 +v -2.500000 2.000000 -1.125000 +v -1.500000 2.000000 -1.125000 +v -2.500000 2.000000 -0.875000 +v -2.500000 1.000000 -0.875000 +v -1.500000 1.000000 -0.875000 +v -1.500000 2.000000 -0.875000 +v -2.125000 1.000000 -0.875000 +v -1.875000 1.000000 -0.875000 +v -2.125000 1.000000 -1.125000 +v -1.875000 1.000000 -1.125000 +v -2.125000 0.000000 -1.125000 +v -2.125000 0.000000 -0.875000 +v -1.875000 0.000000 -0.875000 +v -1.875000 0.000000 -1.125000 +vt 0.500000 0.500000 +vt 0.000000 0.000000 +vt 0.500000 0.000000 +vt 0.500000 0.500000 +vt 0.000100 0.999900 +vt 0.000000 0.500000 +vt 0.625000 0.500000 +vt 0.500000 -0.000000 +vt 0.625000 -0.000000 +vt 0.625000 0.500000 +vt 0.625000 0.500000 +vt 0.500000 -0.000000 +vt 0.625000 -0.000000 +vt 0.500000 0.000000 +vt 0.625000 0.500000 +vt 0.500000 0.500000 +vt 0.750000 0.375000 +vt 0.875000 0.500000 +vt 0.750000 0.500000 +vt 1.000000 -0.000000 +vt 0.875000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 -0.000000 +vt 0.875000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 -0.000000 +vt 0.875000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 -0.000000 +vt 0.875000 0.500000 +vt 1.000000 0.500000 +vt 0.000000 0.500000 +vt 0.500000 1.000000 +vt 0.500000 0.500000 +vt 0.625000 0.000000 +vt 0.500000 0.500000 +vt 0.625000 0.000000 +vt 0.875000 0.375000 +vt 0.875000 -0.000000 +vt 0.875000 -0.000000 +vt 0.875000 -0.000000 +vt 0.875000 -0.000000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +s off +f 19/43/7 18/44/7 17/45/7 +f 23/46/8 21/47/8 22/48/8 +f 20/49/9 23/50/9 18/51/9 +f 17/45/10 21/52/10 19/43/10 +f 19/53/11 24/54/11 20/55/11 +f 18/56/12 22/57/12 17/58/12 +f 29/59/12 31/60/12 30/61/12 +f 32/62/7 27/63/7 28/64/7 +f 30/65/8 26/66/8 25/67/8 +f 31/68/9 28/69/9 26/70/9 +f 29/71/10 25/72/10 27/73/10 +f 19/43/7 20/74/7 18/44/7 +f 23/46/8 24/75/8 21/47/8 +f 20/49/9 24/76/9 23/50/9 +f 17/45/10 22/77/10 21/52/10 +f 19/53/11 21/78/11 24/54/11 +f 18/56/12 23/79/12 22/57/12 +f 29/59/12 32/80/12 31/60/12 +f 32/62/7 29/81/7 27/63/7 +f 30/65/8 31/82/8 26/66/8 +f 31/68/9 32/83/9 28/69/9 +f 29/71/10 30/84/10 25/72/10 +o Rail +v 1.000000 0.062500 4.812500 +v 1.000000 0.062500 5.187500 +v -1.000000 0.062500 5.187500 +v -1.000000 0.062500 4.812500 +v -1.000000 0.000000 5.187500 +v 1.000000 0.000000 5.187500 +v -1.000000 0.000000 4.812500 +v 1.000000 0.000000 4.812500 +v -1.000000 0.000000 4.187500 +v 1.000000 0.000000 4.187500 +v -1.000000 0.000000 3.812500 +v 1.000000 0.000000 3.812500 +v -1.000000 0.000000 3.187500 +v 1.000000 0.000000 3.187500 +v -1.000000 0.000000 2.812500 +v 1.000000 0.000000 2.812500 +v -1.000000 0.000000 7.187500 +v 1.000000 0.000000 7.187500 +v -1.000000 0.000000 6.812500 +v 1.000000 0.000000 6.812500 +v -1.000000 0.000000 6.187500 +v 1.000000 0.000000 6.187500 +v -1.000000 0.000000 5.812500 +v 1.000000 0.000000 5.812500 +v -1.000000 0.062500 3.812500 +v -1.000000 0.062500 4.187500 +v 1.000000 0.062500 4.187500 +v 1.000000 0.062500 3.812500 +v -1.000000 0.062500 2.812500 +v -1.000000 0.062500 3.187500 +v 1.000000 0.062500 3.187500 +v 1.000000 0.062500 2.812500 +v -1.000000 0.062500 6.812500 +v -1.000000 0.062500 7.187500 +v 1.000000 0.062500 7.187500 +v 1.000000 0.062500 6.812500 +v -1.000000 0.062500 5.812500 +v -1.000000 0.062500 6.187500 +v 1.000000 0.062500 6.187500 +v 1.000000 0.062500 5.812500 +v -0.812500 0.062500 7.500000 +v 0.812500 0.062500 7.500000 +v -0.812500 0.062500 2.500000 +v 0.812500 0.062500 2.500000 +v -0.812500 0.187500 7.500000 +v 0.812500 0.187500 7.500000 +v -0.812500 0.187500 2.500000 +v 0.812500 0.187500 2.500000 +v 0.750000 0.062500 7.500000 +v 0.750000 0.062500 2.500000 +v 0.750000 0.187500 7.500000 +v 0.750000 0.187500 2.500000 +v -0.750000 0.062500 2.500000 +v -0.750000 0.062500 7.500000 +v -0.750000 0.187500 2.500000 +v -0.750000 0.187500 7.500000 +v 0.625000 0.062500 7.062500 +v 0.937500 0.062500 7.062500 +v 0.625000 0.062500 6.937500 +v 0.937500 0.062500 6.937500 +v 0.625000 0.125000 7.062500 +v 0.937500 0.125000 7.062500 +v 0.625000 0.125000 6.937500 +v 0.937500 0.125000 6.937500 +v -0.937500 0.062500 7.062500 +v -0.625000 0.062500 7.062500 +v -0.937500 0.062500 6.937500 +v -0.625000 0.062500 6.937500 +v -0.937500 0.125000 7.062500 +v -0.625000 0.125000 7.062500 +v -0.937500 0.125000 6.937500 +v -0.625000 0.125000 6.937500 +v 0.625000 0.062500 6.062500 +v 0.937500 0.062500 6.062500 +v 0.625000 0.062500 5.937500 +v 0.937500 0.062500 5.937500 +v 0.625000 0.125000 6.062500 +v 0.937500 0.125000 6.062500 +v 0.625000 0.125000 5.937500 +v 0.937500 0.125000 5.937500 +v -0.937500 0.062500 6.062500 +v -0.625000 0.062500 6.062500 +v -0.937500 0.062500 5.937500 +v -0.625000 0.062500 5.937500 +v -0.937500 0.125000 6.062500 +v -0.625000 0.125000 6.062500 +v -0.937500 0.125000 5.937500 +v -0.625000 0.125000 5.937500 +v 0.625000 0.062500 5.062500 +v 0.937500 0.062500 5.062500 +v 0.625000 0.062500 4.937500 +v 0.937500 0.062500 4.937500 +v 0.625000 0.125000 5.062500 +v 0.937500 0.125000 5.062500 +v 0.625000 0.125000 4.937500 +v 0.937500 0.125000 4.937500 +v -0.937500 0.062500 5.062500 +v -0.625000 0.062500 5.062500 +v -0.937500 0.062500 4.937500 +v -0.625000 0.062500 4.937500 +v -0.937500 0.125000 5.062500 +v -0.625000 0.125000 5.062500 +v -0.937500 0.125000 4.937500 +v -0.625000 0.125000 4.937500 +v 0.625000 0.062500 4.062500 +v 0.937500 0.062500 4.062500 +v 0.625000 0.062500 3.937500 +v 0.937500 0.062500 3.937500 +v 0.625000 0.125000 4.062500 +v 0.937500 0.125000 4.062500 +v 0.625000 0.125000 3.937500 +v 0.937500 0.125000 3.937500 +v -0.937500 0.062500 4.062500 +v -0.625000 0.062500 4.062500 +v -0.937500 0.062500 3.937500 +v -0.625000 0.062500 3.937500 +v -0.937500 0.125000 4.062500 +v -0.625000 0.125000 4.062500 +v -0.937500 0.125000 3.937500 +v -0.625000 0.125000 3.937500 +v 0.625000 0.062500 3.062500 +v 0.937500 0.062500 3.062500 +v 0.625000 0.062500 2.937500 +v 0.937500 0.062500 2.937500 +v 0.625000 0.125000 3.062500 +v 0.937500 0.125000 3.062500 +v 0.625000 0.125000 2.937500 +v 0.937500 0.125000 2.937500 +v -0.937500 0.062500 3.062500 +v -0.625000 0.062500 3.062500 +v -0.937500 0.062500 2.937500 +v -0.625000 0.062500 2.937500 +v -0.937500 0.125000 3.062500 +v -0.625000 0.125000 3.062500 +v -0.937500 0.125000 2.937500 +v -0.625000 0.125000 2.937500 +v -0.812500 0.062500 3.500000 +v -0.812500 0.062500 4.500000 +v -0.812500 0.062500 5.500000 +v -0.812500 0.062500 6.500000 +v 0.812500 0.062500 6.500000 +v 0.812500 0.062500 5.500000 +v 0.812500 0.062500 4.500000 +v 0.812500 0.062500 3.500000 +v -0.812500 0.187500 3.500000 +v -0.812500 0.187500 4.500000 +v -0.812500 0.187500 5.500000 +v -0.812500 0.187500 6.500000 +v 0.812500 0.187500 6.500000 +v 0.812500 0.187500 5.500000 +v 0.812500 0.187500 4.500000 +v 0.812500 0.187500 3.500000 +v 0.750000 0.062500 6.500000 +v 0.750000 0.062500 5.500000 +v 0.750000 0.062500 4.500000 +v 0.750000 0.062500 3.500000 +v 0.750000 0.187500 6.500000 +v 0.750000 0.187500 5.500000 +v 0.750000 0.187500 4.500000 +v 0.750000 0.187500 3.500000 +v -0.750000 0.062500 3.500000 +v -0.750000 0.062500 4.500000 +v -0.750000 0.062500 5.500000 +v -0.750000 0.062500 6.500000 +v -0.750000 0.187500 3.500000 +v -0.750000 0.187500 4.500000 +v -0.750000 0.187500 5.500000 +v -0.750000 0.187500 6.500000 +v 1.000000 0.062500 -5.187500 +v 1.000000 0.062500 -4.812500 +v -1.000000 0.062500 -4.812500 +v -1.000000 0.062500 -5.187500 +v -1.000000 0.000000 -4.812500 +v 1.000000 0.000000 -4.812500 +v -1.000000 0.000000 -5.187500 +v 1.000000 0.000000 -5.187500 +v -1.000000 0.000000 -5.812500 +v 1.000000 0.000000 -5.812500 +v -1.000000 0.000000 -6.187500 +v 1.000000 0.000000 -6.187500 +v -1.000000 0.000000 -6.812500 +v 1.000000 0.000000 -6.812500 +v -1.000000 0.000000 -7.187500 +v 1.000000 0.000000 -7.187500 +v -1.000000 0.000000 -2.812500 +v 1.000000 0.000000 -2.812500 +v -1.000000 0.000000 -3.187500 +v 1.000000 0.000000 -3.187500 +v -1.000000 0.000000 -3.812500 +v 1.000000 0.000000 -3.812500 +v -1.000000 0.000000 -4.187500 +v 1.000000 0.000000 -4.187500 +v -1.000000 0.062500 -6.187500 +v -1.000000 0.062500 -5.812500 +v 1.000000 0.062500 -5.812500 +v 1.000000 0.062500 -6.187500 +v -1.000000 0.062500 -7.187500 +v -1.000000 0.062500 -6.812500 +v 1.000000 0.062500 -6.812500 +v 1.000000 0.062500 -7.187500 +v -1.000000 0.062500 -3.187500 +v -1.000000 0.062500 -2.812500 +v 1.000000 0.062500 -2.812500 +v 1.000000 0.062500 -3.187500 +v -1.000000 0.062500 -4.187500 +v -1.000000 0.062500 -3.812500 +v 1.000000 0.062500 -3.812500 +v 1.000000 0.062500 -4.187500 +v -0.812500 0.062500 -2.500000 +v 0.812500 0.062500 -2.500000 +v -0.812500 0.062500 -7.500000 +v 0.812500 0.062500 -7.500000 +v -0.812500 0.187500 -2.500000 +v 0.812500 0.187500 -2.500000 +v -0.812500 0.187500 -7.500000 +v 0.812500 0.187500 -7.500000 +v 0.750000 0.062500 -2.500000 +v 0.750000 0.062500 -7.500000 +v 0.750000 0.187500 -2.500000 +v 0.750000 0.187500 -7.500000 +v -0.750000 0.062500 -7.500000 +v -0.750000 0.062500 -2.500000 +v -0.750000 0.187500 -7.500000 +v -0.750000 0.187500 -2.500000 +v 0.625000 0.062500 -2.937500 +v 0.937500 0.062500 -2.937500 +v 0.625000 0.062500 -3.062500 +v 0.937500 0.062500 -3.062500 +v 0.625000 0.125000 -2.937500 +v 0.937500 0.125000 -2.937500 +v 0.625000 0.125000 -3.062500 +v 0.937500 0.125000 -3.062500 +v -0.937500 0.062500 -2.937500 +v -0.625000 0.062500 -2.937500 +v -0.937500 0.062500 -3.062500 +v -0.625000 0.062500 -3.062500 +v -0.937500 0.125000 -2.937500 +v -0.625000 0.125000 -2.937500 +v -0.937500 0.125000 -3.062500 +v -0.625000 0.125000 -3.062500 +v 0.625000 0.062500 -3.937500 +v 0.937500 0.062500 -3.937500 +v 0.625000 0.062500 -4.062500 +v 0.937500 0.062500 -4.062500 +v 0.625000 0.125000 -3.937500 +v 0.937500 0.125000 -3.937500 +v 0.625000 0.125000 -4.062500 +v 0.937500 0.125000 -4.062500 +v -0.937500 0.062500 -3.937500 +v -0.625000 0.062500 -3.937500 +v -0.937500 0.062500 -4.062500 +v -0.625000 0.062500 -4.062500 +v -0.937500 0.125000 -3.937500 +v -0.625000 0.125000 -3.937500 +v -0.937500 0.125000 -4.062500 +v -0.625000 0.125000 -4.062500 +v 0.625000 0.062500 -4.937500 +v 0.937500 0.062500 -4.937500 +v 0.625000 0.062500 -5.062500 +v 0.937500 0.062500 -5.062500 +v 0.625000 0.125000 -4.937500 +v 0.937500 0.125000 -4.937500 +v 0.625000 0.125000 -5.062500 +v 0.937500 0.125000 -5.062500 +v -0.937500 0.062500 -4.937500 +v -0.625000 0.062500 -4.937500 +v -0.937500 0.062500 -5.062500 +v -0.625000 0.062500 -5.062500 +v -0.937500 0.125000 -4.937500 +v -0.625000 0.125000 -4.937500 +v -0.937500 0.125000 -5.062500 +v -0.625000 0.125000 -5.062500 +v 0.625000 0.062500 -5.937500 +v 0.937500 0.062500 -5.937500 +v 0.625000 0.062500 -6.062500 +v 0.937500 0.062500 -6.062500 +v 0.625000 0.125000 -5.937500 +v 0.937500 0.125000 -5.937500 +v 0.625000 0.125000 -6.062500 +v 0.937500 0.125000 -6.062500 +v -0.937500 0.062500 -5.937500 +v -0.625000 0.062500 -5.937500 +v -0.937500 0.062500 -6.062500 +v -0.625000 0.062500 -6.062500 +v -0.937500 0.125000 -5.937500 +v -0.625000 0.125000 -5.937500 +v -0.937500 0.125000 -6.062500 +v -0.625000 0.125000 -6.062500 +v 0.625000 0.062500 -6.937500 +v 0.937500 0.062500 -6.937500 +v 0.625000 0.062500 -7.062500 +v 0.937500 0.062500 -7.062500 +v 0.625000 0.125000 -6.937500 +v 0.937500 0.125000 -6.937500 +v 0.625000 0.125000 -7.062500 +v 0.937500 0.125000 -7.062500 +v -0.937500 0.062500 -6.937500 +v -0.625000 0.062500 -6.937500 +v -0.937500 0.062500 -7.062500 +v -0.625000 0.062500 -7.062500 +v -0.937500 0.125000 -6.937500 +v -0.625000 0.125000 -6.937500 +v -0.937500 0.125000 -7.062500 +v -0.625000 0.125000 -7.062500 +v -0.812500 0.062500 -6.500000 +v -0.812500 0.062500 -5.500000 +v -0.812500 0.062500 -4.500000 +v -0.812500 0.062500 -3.500000 +v 0.812500 0.062500 -3.500000 +v 0.812500 0.062500 -4.500000 +v 0.812500 0.062500 -5.500000 +v 0.812500 0.062500 -6.500000 +v -0.812500 0.187500 -6.500000 +v -0.812500 0.187500 -5.500000 +v -0.812500 0.187500 -4.500000 +v -0.812500 0.187500 -3.500000 +v 0.812500 0.187500 -3.500000 +v 0.812500 0.187500 -4.500000 +v 0.812500 0.187500 -5.500000 +v 0.812500 0.187500 -6.500000 +v 0.750000 0.062500 -3.500000 +v 0.750000 0.062500 -4.500000 +v 0.750000 0.062500 -5.500000 +v 0.750000 0.062500 -6.500000 +v 0.750000 0.187500 -3.500000 +v 0.750000 0.187500 -4.500000 +v 0.750000 0.187500 -5.500000 +v 0.750000 0.187500 -6.500000 +v -0.750000 0.062500 -6.500000 +v -0.750000 0.062500 -5.500000 +v -0.750000 0.062500 -4.500000 +v -0.750000 0.062500 -3.500000 +v -0.750000 0.187500 -6.500000 +v -0.750000 0.187500 -5.500000 +v -0.750000 0.187500 -4.500000 +v -0.750000 0.187500 -3.500000 +v 1.000000 0.062500 -0.187500 +v 1.000000 0.062500 0.187500 +v -1.000000 0.062500 0.187500 +v -1.000000 0.062500 -0.187500 +v -1.000000 0.000000 0.187500 +v 1.000000 0.000000 0.187500 +v -1.000000 0.000000 -0.187500 +v 1.000000 0.000000 -0.187500 +v -1.000000 0.000000 -0.812500 +v 1.000000 0.000000 -0.812500 +v -1.000000 0.000000 -1.187500 +v 1.000000 0.000000 -1.187500 +v -1.000000 0.000000 -1.812500 +v 1.000000 0.000000 -1.812500 +v -1.000000 0.000000 -2.187500 +v 1.000000 0.000000 -2.187500 +v -1.000000 0.000000 2.187500 +v 1.000000 0.000000 2.187500 +v -1.000000 0.000000 1.812500 +v 1.000000 0.000000 1.812500 +v -1.000000 0.000000 1.187500 +v 1.000000 0.000000 1.187500 +v -1.000000 0.000000 0.812500 +v 1.000000 0.000000 0.812500 +v -1.000000 0.062500 -1.187500 +v -1.000000 0.062500 -0.812500 +v 1.000000 0.062500 -0.812500 +v 1.000000 0.062500 -1.187500 +v -1.000000 0.062500 -2.187500 +v -1.000000 0.062500 -1.812500 +v 1.000000 0.062500 -1.812500 +v 1.000000 0.062500 -2.187500 +v -1.000000 0.062500 1.812500 +v -1.000000 0.062500 2.187500 +v 1.000000 0.062500 2.187500 +v 1.000000 0.062500 1.812500 +v -1.000000 0.062500 0.812500 +v -1.000000 0.062500 1.187500 +v 1.000000 0.062500 1.187500 +v 1.000000 0.062500 0.812500 +v 0.625000 0.062500 2.062500 +v 0.937500 0.062500 2.062500 +v 0.625000 0.062500 1.937500 +v 0.937500 0.062500 1.937500 +v 0.625000 0.125000 2.062500 +v 0.937500 0.125000 2.062500 +v 0.625000 0.125000 1.937500 +v 0.937500 0.125000 1.937500 +v -0.937500 0.062500 2.062500 +v -0.625000 0.062500 2.062500 +v -0.937500 0.062500 1.937500 +v -0.625000 0.062500 1.937500 +v -0.937500 0.125000 2.062500 +v -0.625000 0.125000 2.062500 +v -0.937500 0.125000 1.937500 +v -0.625000 0.125000 1.937500 +v 0.625000 0.062500 1.062500 +v 0.937500 0.062500 1.062500 +v 0.625000 0.062500 0.937500 +v 0.937500 0.062500 0.937500 +v 0.625000 0.125000 1.062500 +v 0.937500 0.125000 1.062500 +v 0.625000 0.125000 0.937500 +v 0.937500 0.125000 0.937500 +v -0.937500 0.062500 1.062500 +v -0.625000 0.062500 1.062500 +v -0.937500 0.062500 0.937500 +v -0.625000 0.062500 0.937500 +v -0.937500 0.125000 1.062500 +v -0.625000 0.125000 1.062500 +v -0.937500 0.125000 0.937500 +v -0.625000 0.125000 0.937500 +v 0.625000 0.062500 0.062500 +v 0.937500 0.062500 0.062500 +v 0.625000 0.062500 -0.062500 +v 0.937500 0.062500 -0.062500 +v 0.625000 0.125000 0.062500 +v 0.937500 0.125000 0.062500 +v 0.625000 0.125000 -0.062500 +v 0.937500 0.125000 -0.062500 +v -0.937500 0.062500 0.062500 +v -0.625000 0.062500 0.062500 +v -0.937500 0.062500 -0.062500 +v -0.625000 0.062500 -0.062500 +v -0.937500 0.125000 0.062500 +v -0.625000 0.125000 0.062500 +v -0.937500 0.125000 -0.062500 +v -0.625000 0.125000 -0.062500 +v 0.625000 0.062500 -0.937500 +v 0.937500 0.062500 -0.937500 +v 0.625000 0.062500 -1.062500 +v 0.937500 0.062500 -1.062500 +v 0.625000 0.125000 -0.937500 +v 0.937500 0.125000 -0.937500 +v 0.625000 0.125000 -1.062500 +v 0.937500 0.125000 -1.062500 +v -0.937500 0.062500 -0.937500 +v -0.625000 0.062500 -0.937500 +v -0.937500 0.062500 -1.062500 +v -0.625000 0.062500 -1.062500 +v -0.937500 0.125000 -0.937500 +v -0.625000 0.125000 -0.937500 +v -0.937500 0.125000 -1.062500 +v -0.625000 0.125000 -1.062500 +v 0.625000 0.062500 -1.937500 +v 0.937500 0.062500 -1.937500 +v 0.625000 0.062500 -2.062500 +v 0.937500 0.062500 -2.062500 +v 0.625000 0.125000 -1.937500 +v 0.937500 0.125000 -1.937500 +v 0.625000 0.125000 -2.062500 +v 0.937500 0.125000 -2.062500 +v -0.937500 0.062500 -1.937500 +v -0.625000 0.062500 -1.937500 +v -0.937500 0.062500 -2.062500 +v -0.625000 0.062500 -2.062500 +v -0.937500 0.125000 -1.937500 +v -0.625000 0.125000 -1.937500 +v -0.937500 0.125000 -2.062500 +v -0.625000 0.125000 -2.062500 +v -0.812500 0.062500 -1.500000 +v -0.812500 0.062500 -0.500000 +v -0.812500 0.062500 0.500000 +v -0.812500 0.062500 1.500000 +v 0.812500 0.062500 1.500000 +v 0.812500 0.062500 0.500000 +v 0.812500 0.062500 -0.500000 +v 0.812500 0.062500 -1.500000 +v -0.812500 0.187500 -1.500000 +v -0.812500 0.187500 -0.500000 +v -0.812500 0.187500 0.500000 +v -0.812500 0.187500 1.500000 +v 0.812500 0.187500 1.500000 +v 0.812500 0.187500 0.500000 +v 0.812500 0.187500 -0.500000 +v 0.812500 0.187500 -1.500000 +v 0.750000 0.062500 1.500000 +v 0.750000 0.062500 0.500000 +v 0.750000 0.062500 -0.500000 +v 0.750000 0.062500 -1.500000 +v 0.750000 0.187500 1.500000 +v 0.750000 0.187500 0.500000 +v 0.750000 0.187500 -0.500000 +v 0.750000 0.187500 -1.500000 +v -0.750000 0.062500 -1.500000 +v -0.750000 0.062500 -0.500000 +v -0.750000 0.062500 0.500000 +v -0.750000 0.062500 1.500000 +v -0.750000 0.187500 -1.500000 +v -0.750000 0.187500 -0.500000 +v -0.750000 0.187500 0.500000 +v -0.750000 0.187500 1.500000 +v -1.725096 0.062500 1.451439 +v -1.966661 0.062500 1.649687 +v -1.645797 0.062500 1.548066 +v -1.887362 0.062500 1.746314 +v -1.756082 0.062500 1.315164 +v -1.518184 0.062500 1.605042 +v -3.064205 0.062500 2.873829 +v -3.302103 0.062500 2.583950 +v -1.756082 0.000000 1.315164 +v -3.302103 0.000000 2.583950 +v -1.518184 0.000000 1.605042 +v -3.064205 0.000000 2.873829 +v -0.504144 0.062500 3.159608 +v -0.504144 0.187500 3.159608 +v -1.855282 0.187500 4.062409 +v -1.855282 0.062500 4.062409 +v -0.556111 0.062500 3.194331 +v -0.556111 0.187500 3.194331 +v -1.803315 0.187500 4.027686 +v -1.803315 0.062500 4.027686 +v 0.217808 0.062500 4.510286 +v 0.217808 0.187500 4.510286 +v -1.283496 0.187500 5.132147 +v -1.283496 0.062500 5.132147 +v 0.160065 0.062500 4.534204 +v 0.160065 0.187500 4.534204 +v -1.225753 0.187500 5.108229 +v -1.225753 0.062500 5.108229 +v 0.662384 0.062500 5.975857 +v 0.662384 0.187500 5.975857 +v -0.931392 0.187500 6.292879 +v -0.931392 0.062500 6.292879 +v 0.601084 0.062500 5.988050 +v 0.601084 0.187500 5.988050 +v -0.870092 0.187500 6.280685 +v -0.870092 0.062500 6.280685 +v 0.812499 0.062500 7.500000 +v 0.812499 0.187500 7.500000 +v -0.812501 0.187500 7.500000 +v -0.812501 0.062500 7.500000 +v 0.749998 0.062500 7.500000 +v 0.749998 0.187500 7.500000 +v -0.750000 0.187500 7.500000 +v -0.750000 0.062500 7.500000 +v -1.376398 0.062500 2.183322 +v -1.376398 0.187500 2.183322 +v -1.324431 0.187500 2.148599 +v -1.324431 0.062500 2.148599 +v -3.495856 0.062500 2.040392 +v -3.495856 0.187500 2.040392 +v -2.144718 0.187500 1.137591 +v -2.144718 0.062500 1.137591 +v -3.443888 0.062500 2.005669 +v -3.443888 0.187500 2.005669 +v -2.196684 0.187500 1.172314 +v -2.196684 0.062500 1.172314 +v -4.217808 0.062500 0.689714 +v -4.217808 0.187500 0.689714 +v -2.716504 0.187500 0.067853 +v -2.716504 0.062500 0.067853 +v -4.160065 0.062500 0.665796 +v -4.160065 0.187500 0.665796 +v -2.774246 0.187500 0.091771 +v -2.774246 0.062500 0.091771 +v -4.662384 0.062500 -0.775857 +v -4.662384 0.187500 -0.775857 +v -3.068608 0.187500 -1.092879 +v -3.068608 0.062500 -1.092879 +v -4.601084 0.062500 -0.788050 +v -4.601084 0.187500 -0.788050 +v -3.129908 0.187500 -1.080685 +v -3.129908 0.062500 -1.080685 +v -4.812499 0.062500 -2.300000 +v -4.812499 0.187500 -2.300000 +v -3.187499 0.187500 -2.300000 +v -3.187499 0.062500 -2.300000 +v -4.749998 0.062500 -2.300000 +v -4.749998 0.187500 -2.300000 +v -3.250000 0.187500 -2.300000 +v -3.250000 0.062500 -2.300000 +v -2.932924 0.125000 2.442679 +v -3.174490 0.125000 2.640927 +v -2.853625 0.125000 2.539305 +v -3.095191 0.125000 2.737553 +v -2.623602 0.062500 3.016677 +v -2.623602 0.187500 3.016677 +v -2.675569 0.062500 3.051401 +v -2.675569 0.187500 3.051401 +v -2.932924 0.062500 2.442679 +v -3.174490 0.062500 2.640927 +v -2.853625 0.062500 2.539305 +v -3.095191 0.062500 2.737553 +v -1.725096 0.125000 1.451439 +v -1.966661 0.125000 1.649687 +v -1.645797 0.125000 1.548066 +v -1.887362 0.125000 1.746314 +v -3.000000 0.062500 -5.187500 +v -3.000000 0.062500 -4.812500 +v -5.000000 0.062500 -4.812500 +v -5.000000 0.062500 -5.187500 +v -5.000000 0.000000 -4.812500 +v -3.000000 0.000000 -4.812500 +v -5.000000 0.000000 -5.187500 +v -3.000000 0.000000 -5.187500 +v -5.000000 0.000000 -5.812500 +v -3.000000 0.000000 -5.812500 +v -5.000000 0.000000 -6.187500 +v -3.000000 0.000000 -6.187500 +v -5.000000 0.000000 -6.812500 +v -3.000000 0.000000 -6.812500 +v -5.000000 0.000000 -7.187500 +v -3.000000 0.000000 -7.187500 +v -5.000000 0.000000 -3.812500 +v -3.000000 0.000000 -3.812500 +v -5.000000 0.000000 -4.187500 +v -3.000000 0.000000 -4.187500 +v -5.000000 0.062500 -6.187500 +v -5.000000 0.062500 -5.812500 +v -3.000000 0.062500 -5.812500 +v -3.000000 0.062500 -6.187500 +v -5.000000 0.062500 -7.187500 +v -5.000000 0.062500 -6.812500 +v -3.000000 0.062500 -6.812500 +v -3.000000 0.062500 -7.187500 +v -5.000000 0.062500 -4.187500 +v -5.000000 0.062500 -3.812500 +v -3.000000 0.062500 -3.812500 +v -3.000000 0.062500 -4.187500 +v -4.812500 0.062500 -7.500000 +v -3.187500 0.062500 -7.500000 +v -4.812500 0.187500 -7.500000 +v -3.187500 0.187500 -7.500000 +v -3.250000 0.062500 -7.500000 +v -3.250000 0.187500 -7.500000 +v -4.750000 0.062500 -7.500000 +v -4.750000 0.187500 -7.500000 +v -3.375000 0.062500 -3.937500 +v -3.062500 0.062500 -3.937500 +v -3.375000 0.062500 -4.062500 +v -3.062500 0.062500 -4.062500 +v -3.375000 0.125000 -3.937500 +v -3.062500 0.125000 -3.937500 +v -3.375000 0.125000 -4.062500 +v -3.062500 0.125000 -4.062500 +v -4.937500 0.062500 -3.937500 +v -4.625000 0.062500 -3.937500 +v -4.937500 0.062500 -4.062500 +v -4.625000 0.062500 -4.062500 +v -4.937500 0.125000 -3.937500 +v -4.625000 0.125000 -3.937500 +v -4.937500 0.125000 -4.062500 +v -4.625000 0.125000 -4.062500 +v -3.375000 0.062500 -4.937500 +v -3.062500 0.062500 -4.937500 +v -3.375000 0.062500 -5.062500 +v -3.062500 0.062500 -5.062500 +v -3.375000 0.125000 -4.937500 +v -3.062500 0.125000 -4.937500 +v -3.375000 0.125000 -5.062500 +v -3.062500 0.125000 -5.062500 +v -4.937500 0.062500 -4.937500 +v -4.625000 0.062500 -4.937500 +v -4.937500 0.062500 -5.062500 +v -4.625000 0.062500 -5.062500 +v -4.937500 0.125000 -4.937500 +v -4.625000 0.125000 -4.937500 +v -4.937500 0.125000 -5.062500 +v -4.625000 0.125000 -5.062500 +v -3.375000 0.062500 -5.937500 +v -3.062500 0.062500 -5.937500 +v -3.375000 0.062500 -6.062500 +v -3.062500 0.062500 -6.062500 +v -3.375000 0.125000 -5.937500 +v -3.062500 0.125000 -5.937500 +v -3.375000 0.125000 -6.062500 +v -3.062500 0.125000 -6.062500 +v -4.937500 0.062500 -5.937500 +v -4.625000 0.062500 -5.937500 +v -4.937500 0.062500 -6.062500 +v -4.625000 0.062500 -6.062500 +v -4.937500 0.125000 -5.937500 +v -4.625000 0.125000 -5.937500 +v -4.937500 0.125000 -6.062500 +v -4.625000 0.125000 -6.062500 +v -3.375000 0.062500 -6.937500 +v -3.062500 0.062500 -6.937500 +v -3.375000 0.062500 -7.062500 +v -3.062500 0.062500 -7.062500 +v -3.375000 0.125000 -6.937500 +v -3.062500 0.125000 -6.937500 +v -3.375000 0.125000 -7.062500 +v -3.062500 0.125000 -7.062500 +v -4.937500 0.062500 -6.937500 +v -4.625000 0.062500 -6.937500 +v -4.937500 0.062500 -7.062500 +v -4.625000 0.062500 -7.062500 +v -4.937500 0.125000 -6.937500 +v -4.625000 0.125000 -6.937500 +v -4.937500 0.125000 -7.062500 +v -4.625000 0.125000 -7.062500 +v -4.812500 0.062500 -6.500000 +v -4.812500 0.062500 -5.500000 +v -4.812500 0.062500 -4.500000 +v -4.812500 0.062500 -3.500000 +v -3.187500 0.062500 -3.500000 +v -3.187500 0.062500 -4.500000 +v -3.187500 0.062500 -5.500000 +v -3.187500 0.062500 -6.500000 +v -4.812500 0.187500 -6.500000 +v -4.812500 0.187500 -5.500000 +v -4.812500 0.187500 -4.500000 +v -4.812500 0.187500 -3.500000 +v -3.187500 0.187500 -3.500000 +v -3.187500 0.187500 -4.500000 +v -3.187500 0.187500 -5.500000 +v -3.187500 0.187500 -6.500000 +v -3.250000 0.062500 -3.500000 +v -3.250000 0.062500 -4.500000 +v -3.250000 0.062500 -5.500000 +v -3.250000 0.062500 -6.500000 +v -3.250000 0.187500 -3.500000 +v -3.250000 0.187500 -4.500000 +v -3.250000 0.187500 -5.500000 +v -3.250000 0.187500 -6.500000 +v -4.750000 0.062500 -6.500000 +v -4.750000 0.062500 -5.500000 +v -4.750000 0.062500 -4.500000 +v -4.750000 0.062500 -3.500000 +v -4.750000 0.187500 -6.500000 +v -4.750000 0.187500 -5.500000 +v -4.750000 0.187500 -4.500000 +v -4.750000 0.187500 -3.500000 +v -2.346383 0.062500 0.486832 +v -2.621983 0.062500 0.634143 +v -2.287458 0.062500 0.597072 +v -2.563059 0.062500 0.744383 +v -2.350187 0.062500 0.347129 +v -2.173414 0.062500 0.677850 +v -3.937256 0.062500 1.620643 +v -4.114030 0.062500 1.289923 +v -2.350187 0.000000 0.347129 +v -4.114030 0.000000 1.289923 +v -2.173414 0.000000 0.677850 +v -3.937256 0.000000 1.620643 +v -3.724385 0.125000 1.223389 +v -3.999985 0.125000 1.370701 +v -3.665460 0.125000 1.333629 +v -3.941061 0.125000 1.480941 +v -3.724385 0.062500 1.223389 +v -3.999985 0.062500 1.370701 +v -3.665460 0.062500 1.333629 +v -3.941061 0.062500 1.480941 +v -2.346383 0.125000 0.486832 +v -2.621983 0.125000 0.634143 +v -2.287458 0.125000 0.597072 +v -2.563059 0.125000 0.744383 +v -2.787336 0.062500 -0.609743 +v -3.086380 0.062500 -0.519029 +v -2.751051 0.062500 -0.490125 +v -3.050095 0.062500 -0.399411 +v -2.763813 0.062500 -0.747503 +v -2.654956 0.062500 -0.388651 +v -4.568837 0.062500 0.191919 +v -4.677694 0.062500 -0.166934 +v -2.763813 0.000000 -0.747503 +v -4.677694 0.000000 -0.166934 +v -2.654956 0.000000 -0.388651 +v -4.568837 0.000000 0.191919 +v -4.282555 0.125000 -0.156173 +v -4.581599 0.125000 -0.065459 +v -4.246270 0.125000 -0.036556 +v -4.545314 0.125000 0.054159 +v -4.282555 0.062500 -0.156173 +v -4.581599 0.062500 -0.065459 +v -4.246270 0.062500 -0.036556 +v -4.545314 0.062500 0.054159 +v -2.787336 0.125000 -0.609743 +v -3.086380 0.125000 -0.519029 +v -2.751051 0.125000 -0.490125 +v -3.050095 0.125000 -0.399411 +v -3.005888 0.062500 -1.771274 +v -3.316883 0.062500 -1.740644 +v -2.993635 0.062500 -1.646876 +v -3.304631 0.062500 -1.616246 +v -2.955941 0.062500 -1.901798 +v -2.919184 0.062500 -1.528604 +v -4.909554 0.062500 -1.332570 +v -4.946310 0.062500 -1.705764 +v -2.955941 0.000000 -1.901798 +v -4.946310 0.000000 -1.705764 +v -2.919184 0.000000 -1.528604 +v -4.909554 0.000000 -1.332570 +v -4.560863 0.125000 -1.618122 +v -4.871859 0.125000 -1.587492 +v -4.548611 0.125000 -1.493724 +v -4.859607 0.125000 -1.463094 +v -4.560863 0.062500 -1.618122 +v -4.871859 0.062500 -1.587492 +v -4.548611 0.062500 -1.493724 +v -4.859607 0.062500 -1.463094 +v -3.005888 0.125000 -1.771274 +v -3.316883 0.125000 -1.740644 +v -2.993635 0.125000 -1.646876 +v -3.304631 0.125000 -1.616246 +v -0.904809 0.062500 2.462447 +v -1.146375 0.062500 2.660695 +v -0.825510 0.062500 2.559073 +v -1.067076 0.062500 2.757321 +v -0.935795 0.062500 2.326171 +v -0.697898 0.062500 2.616050 +v -2.243919 0.062500 3.884836 +v -2.481816 0.062500 3.594958 +v -0.935795 0.000000 2.326171 +v -2.481816 0.000000 3.594958 +v -0.697898 0.000000 2.616050 +v -2.243919 0.000000 3.884836 +v -2.112638 0.125000 3.453686 +v -2.354204 0.125000 3.651934 +v -2.033339 0.125000 3.550313 +v -2.274905 0.125000 3.748561 +v -2.112638 0.062500 3.453686 +v -2.354204 0.062500 3.651934 +v -2.033339 0.062500 3.550313 +v -2.274905 0.062500 3.748561 +v -0.904809 0.125000 2.462447 +v -1.146375 0.125000 2.660695 +v -0.825510 0.125000 2.559073 +v -1.067076 0.125000 2.757321 +v -5.000000 0.000000 -2.812500 +v -3.000000 0.000000 -2.812500 +v -5.000000 0.000000 -3.187500 +v -3.000000 0.000000 -3.187500 +v -5.000000 0.062500 -3.187500 +v -5.000000 0.062500 -2.812500 +v -3.000000 0.062500 -2.812500 +v -3.000000 0.062500 -3.187500 +v -3.375000 0.062500 -2.937500 +v -3.062500 0.062500 -2.937500 +v -3.375000 0.062500 -3.062500 +v -3.062500 0.062500 -3.062500 +v -3.375000 0.125000 -2.937500 +v -3.062500 0.125000 -2.937500 +v -3.375000 0.125000 -3.062500 +v -3.062500 0.125000 -3.062500 +v -4.937500 0.062500 -2.937500 +v -4.625000 0.062500 -2.937500 +v -4.937500 0.062500 -3.062500 +v -4.625000 0.062500 -3.062500 +v -4.937500 0.125000 -2.937500 +v -4.625000 0.125000 -2.937500 +v -4.937500 0.125000 -3.062500 +v -4.625000 0.125000 -3.062500 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.500000 0.156250 +vt 0.437500 0.656250 +vt 0.437500 0.156250 +vt 0.531250 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.531250 0.718750 +vt 0.500000 0.656250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.406250 0.156250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.656250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.406250 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.656250 +vt 0.500000 0.656250 +vt 0.531250 0.718750 +vt 0.500000 0.718750 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.500000 0.156250 +vt 0.437500 0.656250 +vt 0.437500 0.156250 +vt 0.531250 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.406250 0.156250 +vt 0.500000 0.656250 +vt 0.531250 0.718750 +vt 0.500000 0.718750 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.656250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.406250 0.156250 +vt 0.406250 0.656250 +vt 0.531250 0.718750 +vt 0.500000 0.656250 +vt 0.531250 0.656250 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.406250 0.156250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.656250 +vt 0.500000 0.156250 +vt 0.437500 0.656250 +vt 0.437500 0.156250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.656250 +vt 0.437500 0.656250 +vt 0.500000 0.156250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.437500 0.656250 +vt 0.437500 0.156250 +vt 0.406250 0.156250 +vt 0.406250 0.656250 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.406250 0.656250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.531250 0.656250 +vt 0.531250 0.156250 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.500000 0.156250 +vt 0.437500 0.656250 +vt 0.437500 0.156250 +vt 0.593750 0.156250 +vt 0.531250 0.656250 +vt 0.531250 0.156250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.593750 0.156250 +vt 0.531250 0.656250 +vt 0.531250 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.593750 0.156250 +vt 0.531250 0.156250 +vt 0.437500 0.656250 +vt 0.437500 0.156250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.531250 0.156250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.500000 0.156250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.593750 0.156250 +vt 0.531250 0.656250 +vt 0.531250 0.156250 +vt 0.500000 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.593750 0.156250 +vt 0.531250 0.656250 +vt 0.531250 0.156250 +vt 0.500000 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.593750 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.531250 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.156250 +vt 0.531250 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.156250 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.406250 0.656250 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.531250 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.437500 0.656250 +vt 0.500000 0.156250 +vt 0.500000 0.656250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.500000 0.156250 +vt 0.500000 0.656250 +vt 0.531250 0.156250 +vt 0.406250 0.656250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.500000 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.531250 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.500000 0.156250 +vt 0.500000 0.656250 +vt 0.531250 0.156250 +vt 0.406250 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.156250 +vt 0.500000 0.656250 +vt 0.531250 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.656250 +vt 0.437500 0.125000 +vt 0.593750 0.062500 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.406250 0.656250 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.406250 0.656250 +vt 0.437500 0.156250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.531250 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.500000 0.656250 +vt 0.531250 0.718750 +vt 0.500000 0.718750 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.406250 0.656250 +vt 0.531250 0.718750 +vt 0.500000 0.656250 +vt 0.531250 0.656250 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.406250 0.656250 +vt 0.531250 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.500000 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.531250 0.156250 +vt 0.593750 0.656250 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.437500 0.125000 +vt 0.593750 0.062500 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.406250 1.000000 +vt 0.218750 0.000000 +vt 0.406250 0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt -0.000000 1.000000 +vt 0.187500 0.000000 +vt 0.187500 1.000000 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.218750 1.000000 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.437500 0.125000 +vt 0.593750 0.062500 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.437500 0.062500 +vt 0.593750 0.125000 +vt 0.437500 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.406250 1.000000 +vt 0.218750 0.000000 +vt 0.406250 0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt -0.000000 1.000000 +vt 0.187500 0.000000 +vt 0.187500 1.000000 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.218750 1.000000 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.437500 0.125000 +vt 0.593750 0.062500 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.593750 0.031250 +vt 0.406250 -0.000000 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.593750 0.031250 +vt 0.406250 -0.000000 +vt 0.500000 0.718750 +vt 0.406250 0.656250 +vt 0.531250 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.656250 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.593750 0.031250 +vt 0.406250 -0.000000 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.593750 0.031250 +vt 0.406250 -0.000000 +vt 0.531250 0.656250 +vt 0.500000 0.718750 +vt 0.406250 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.656250 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.593750 0.031250 +vt 0.406250 -0.000000 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.593750 0.031250 +vt 0.406250 -0.000000 +vt 0.406250 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.406250 -0.000000 +vt 0.593750 0.656250 +vt 0.593750 0.656250 +vt 0.593750 0.656250 +vt 0.593750 0.656250 +vt 0.593750 0.656250 +vt 0.593750 0.656250 +vt 0.406250 0.656250 +vt 0.593750 0.656250 +vt 0.593750 0.031250 +vt 0.406250 0.156250 +vt 0.187500 1.000000 +vt 0.406250 0.156250 +vt 0.406250 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.406250 0.656250 +vt 0.593750 0.156250 +vt 0.406250 0.156250 +vt 0.406250 0.156250 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.406250 -0.000000 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.593750 0.031250 +vt 0.406250 -0.000000 +vt 0.531250 0.656250 +vt 0.500000 0.718750 +vt 0.406250 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.656250 +vt 0.593750 0.156250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.406250 0.656250 +vt 0.593750 0.156250 +vt 0.406250 -0.000000 +vt 0.593750 0.031250 +vt 0.187500 1.000000 +vt 0.406250 -0.000000 +vt 0.593750 0.031250 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt 0.406250 -0.000000 +vt 0.593750 0.031250 +vt 0.187500 1.000000 +vt 0.406250 -0.000000 +vt 0.593750 0.031250 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.7765 0.0000 -0.6301 +vn 0.8819 0.0000 -0.4714 +vn -0.7730 0.0000 0.6344 +vn 0.6344 0.0000 0.7730 +vn 0.9569 0.0000 -0.2903 +vn -0.9569 0.0000 0.2903 +vn -0.8819 0.0000 0.4714 +vn -0.9952 0.0000 0.0980 +vn 0.9952 0.0000 -0.0980 +vn -0.7765 0.0000 0.6301 +vn 0.7730 0.0000 -0.6344 +vn -0.6344 0.0000 -0.7730 +vn 0.4714 0.0000 0.8819 +vn -0.4714 0.0000 -0.8819 +vn 0.2903 0.0000 0.9569 +vn -0.2903 0.0000 -0.9569 +vn 0.0980 0.0000 0.9952 +vn -0.0980 0.0000 -0.9952 +s off +f 34/85/13 36/86/13 35/87/13 +f 39/88/14 38/89/14 37/90/14 +f 43/91/14 42/92/14 41/93/14 +f 47/94/14 46/95/14 45/96/14 +f 51/97/14 50/98/14 49/99/14 +f 55/100/14 54/101/14 53/102/14 +f 59/103/13 57/104/13 58/105/13 +f 63/106/13 61/107/13 62/108/13 +f 67/109/13 65/110/13 66/111/13 +f 71/112/13 69/113/13 70/114/13 +f 49/115/15 65/116/15 51/117/15 +f 42/118/16 58/119/16 41/120/16 +f 50/121/16 66/122/16 49/123/16 +f 44/124/17 59/125/17 42/92/17 +f 52/126/17 67/127/17 50/98/17 +f 43/91/18 60/128/18 44/129/18 +f 37/130/15 36/131/15 39/132/15 +f 51/97/18 68/133/18 52/134/18 +f 45/135/15 61/136/15 47/137/15 +f 38/138/16 35/139/16 37/140/16 +f 53/141/15 69/142/15 55/143/15 +f 46/144/16 62/145/16 45/146/16 +f 40/147/17 34/148/17 38/89/17 +f 54/149/16 70/150/16 53/151/16 +f 48/152/17 63/153/17 46/95/17 +f 39/88/18 33/154/18 40/155/18 +f 56/156/17 71/157/17 54/101/17 +f 47/94/18 64/158/18 48/159/18 +f 41/160/15 57/161/15 43/162/15 +f 55/100/18 72/163/18 56/164/18 +f 181/165/17 74/166/17 173/167/17 +f 177/168/15 75/169/15 169/170/15 +f 81/171/15 189/172/15 185/173/15 +f 78/174/16 81/175/16 74/176/16 +f 80/177/13 192/178/13 184/179/13 +f 74/166/14 185/180/14 173/167/14 +f 75/181/14 516/182/14 85/183/14 +f 85/183/17 197/184/17 193/185/17 +f 77/186/13 200/187/13 180/188/13 +f 75/181/14 193/185/14 169/189/14 +f 79/190/15 492/191/15 75/169/15 +f 73/192/16 88/193/16 77/194/16 +f 93/195/15 91/196/15 89/197/15 +f 95/198/18 92/199/18 91/200/18 +f 94/201/16 89/202/16 90/203/16 +f 96/204/17 90/205/17 92/206/17 +f 93/195/13 96/204/13 95/198/13 +f 101/207/15 99/208/15 97/209/15 +f 103/210/18 100/211/18 99/212/18 +f 102/213/16 97/214/16 98/215/16 +f 104/216/17 98/217/17 100/218/17 +f 101/207/13 104/216/13 103/210/13 +f 109/219/15 107/220/15 105/221/15 +f 111/222/18 108/223/18 107/224/18 +f 110/225/16 105/226/16 106/227/16 +f 112/228/17 106/229/17 108/230/17 +f 109/219/13 112/228/13 111/222/13 +f 117/231/15 115/232/15 113/233/15 +f 119/234/18 116/235/18 115/236/18 +f 118/237/16 113/238/16 114/239/16 +f 120/240/17 114/241/17 116/242/17 +f 117/231/13 120/240/13 119/234/13 +f 125/243/15 123/244/15 121/245/15 +f 127/246/18 124/247/18 123/248/18 +f 126/249/16 121/250/16 122/251/16 +f 128/252/17 122/253/17 124/254/17 +f 125/243/13 128/252/13 127/246/13 +f 133/255/15 131/256/15 129/257/15 +f 135/258/18 132/259/18 131/260/18 +f 134/261/16 129/262/16 130/263/16 +f 136/264/17 130/265/17 132/266/17 +f 133/255/13 136/264/13 135/258/13 +f 141/267/15 139/268/15 137/269/15 +f 143/270/18 140/271/18 139/272/18 +f 142/273/16 137/274/16 138/275/16 +f 144/276/17 138/277/17 140/278/17 +f 141/267/13 144/276/13 143/270/13 +f 149/279/15 147/280/15 145/281/15 +f 151/282/18 148/283/18 147/284/18 +f 150/285/16 145/286/16 146/287/16 +f 152/288/17 146/289/17 148/290/17 +f 149/279/13 152/288/13 151/282/13 +f 157/291/15 155/292/15 153/293/15 +f 159/294/18 156/295/18 155/296/18 +f 158/297/16 153/298/16 154/299/16 +f 160/300/17 154/301/17 156/302/17 +f 157/291/13 160/300/13 159/294/13 +f 165/303/15 163/304/15 161/305/15 +f 167/306/18 164/307/18 163/308/18 +f 166/309/16 161/310/16 162/311/16 +f 168/312/17 162/313/17 164/314/17 +f 165/303/13 168/312/13 167/306/13 +f 172/315/14 86/316/14 73/317/14 +f 171/318/14 196/319/14 172/320/14 +f 170/321/14 195/322/14 171/323/14 +f 169/324/14 194/325/14 170/326/14 +f 177/168/13 87/327/13 79/190/13 +f 178/328/13 197/329/13 177/330/13 +f 179/331/13 198/332/13 178/333/13 +f 180/334/13 199/335/13 179/336/13 +f 196/337/17 88/338/17 86/316/17 +f 195/339/17 200/340/17 196/319/17 +f 194/341/17 199/342/17 195/322/17 +f 193/343/17 198/344/17 194/325/17 +f 176/345/14 82/346/14 76/347/14 +f 175/348/14 188/349/14 176/350/14 +f 174/351/14 187/352/14 175/353/14 +f 173/354/14 186/355/14 174/356/14 +f 181/165/13 83/357/13 78/358/13 +f 182/359/13 189/360/13 181/361/13 +f 183/362/13 190/363/13 182/364/13 +f 184/365/13 191/366/13 183/367/13 +f 188/368/15 84/369/15 82/370/15 +f 187/371/15 192/372/15 188/373/15 +f 186/374/15 191/375/15 187/376/15 +f 185/377/15 190/378/15 186/379/15 +f 77/186/15 172/380/15 73/381/15 +f 180/334/15 171/382/15 172/383/15 +f 179/331/15 170/384/15 171/385/15 +f 178/328/15 169/386/15 170/387/15 +f 80/177/17 176/345/17 76/347/17 +f 184/365/17 175/348/17 176/350/17 +f 183/362/17 174/351/17 175/353/17 +f 182/359/17 173/354/17 174/356/17 +f 202/388/13 204/389/13 203/390/13 +f 207/391/14 206/392/14 205/393/14 +f 211/394/14 210/395/14 209/396/14 +f 215/397/14 214/398/14 213/399/14 +f 219/400/14 218/401/14 217/402/14 +f 223/403/14 222/404/14 221/405/14 +f 227/406/13 225/407/13 226/408/13 +f 231/409/13 229/410/13 230/411/13 +f 235/412/13 233/413/13 234/414/13 +f 239/415/13 237/416/13 238/417/13 +f 217/418/15 233/419/15 219/420/15 +f 210/421/16 226/422/16 209/423/16 +f 218/424/16 234/425/16 217/426/16 +f 212/427/17 227/428/17 210/395/17 +f 220/429/17 235/430/17 218/401/17 +f 211/394/18 228/431/18 212/432/18 +f 205/433/15 204/434/15 207/435/15 +f 219/400/18 236/436/18 220/437/18 +f 213/438/15 229/439/15 215/440/15 +f 206/441/16 203/442/16 205/443/16 +f 221/444/15 237/445/15 223/446/15 +f 214/447/16 230/448/16 213/449/16 +f 208/450/17 202/451/17 206/392/17 +f 222/452/16 238/453/16 221/454/16 +f 216/455/17 231/456/17 214/398/17 +f 207/391/18 201/457/18 208/458/18 +f 224/459/17 239/460/17 222/404/17 +f 215/397/18 232/461/18 216/462/18 +f 209/463/15 225/464/15 211/465/15 +f 223/403/18 240/466/18 224/467/18 +f 349/468/17 242/469/17 341/470/17 +f 345/471/15 243/472/15 337/473/15 +f 249/474/15 357/475/15 353/476/15 +f 520/477/13 79/190/13 87/327/13 +f 248/478/13 360/479/13 352/480/13 +f 242/469/14 353/481/14 341/470/14 +f 244/482/18 252/483/18 248/484/18 +f 253/485/17 365/486/17 361/487/17 +f 245/488/13 368/489/13 348/490/13 +f 243/491/14 361/487/14 337/492/14 +f 247/493/18 253/494/18 243/495/18 +f 85/183/17 520/477/17 87/327/17 +f 261/496/15 259/497/15 257/498/15 +f 263/499/18 260/500/18 259/501/18 +f 262/502/16 257/503/16 258/504/16 +f 264/505/17 258/506/17 260/507/17 +f 261/496/13 264/505/13 263/499/13 +f 269/508/15 267/509/15 265/510/15 +f 271/511/18 268/512/18 267/513/18 +f 270/514/16 265/515/16 266/516/16 +f 272/517/17 266/518/17 268/519/17 +f 269/508/13 272/517/13 271/511/13 +f 277/520/15 275/521/15 273/522/15 +f 279/523/18 276/524/18 275/525/18 +f 278/526/16 273/527/16 274/528/16 +f 280/529/17 274/530/17 276/531/17 +f 277/520/13 280/529/13 279/523/13 +f 285/532/15 283/533/15 281/534/15 +f 287/535/18 284/536/18 283/537/18 +f 286/538/16 281/539/16 282/540/16 +f 288/541/17 282/542/17 284/543/17 +f 285/532/13 288/541/13 287/535/13 +f 293/544/15 291/545/15 289/546/15 +f 295/547/18 292/548/18 291/549/18 +f 294/550/16 289/551/16 290/552/16 +f 296/553/17 290/554/17 292/555/17 +f 293/544/13 296/553/13 295/547/13 +f 301/556/15 299/557/15 297/558/15 +f 303/559/18 300/560/18 299/561/18 +f 302/562/16 297/563/16 298/564/16 +f 304/565/17 298/566/17 300/567/17 +f 301/556/13 304/565/13 303/559/13 +f 309/568/15 307/569/15 305/570/15 +f 311/571/18 308/572/18 307/573/18 +f 310/574/16 305/575/16 306/576/16 +f 312/577/17 306/578/17 308/579/17 +f 309/568/13 312/577/13 311/571/13 +f 317/580/15 315/581/15 313/582/15 +f 319/583/18 316/584/18 315/585/18 +f 318/586/16 313/587/16 314/588/16 +f 320/589/17 314/590/17 316/591/17 +f 317/580/13 320/589/13 319/583/13 +f 325/592/15 323/593/15 321/594/15 +f 327/595/18 324/596/18 323/597/18 +f 326/598/16 321/599/16 322/600/16 +f 328/601/17 322/602/17 324/603/17 +f 325/592/13 328/601/13 327/595/13 +f 333/604/15 331/605/15 329/606/15 +f 335/607/18 332/608/18 331/609/18 +f 334/610/16 329/611/16 330/612/16 +f 336/613/17 330/614/17 332/615/17 +f 333/604/13 336/613/13 335/607/13 +f 340/616/14 254/617/14 241/618/14 +f 339/619/14 364/620/14 340/621/14 +f 338/622/14 363/623/14 339/624/14 +f 337/625/14 362/626/14 338/627/14 +f 345/471/13 255/628/13 247/629/13 +f 346/630/13 365/631/13 345/632/13 +f 347/633/13 366/634/13 346/635/13 +f 348/636/13 367/637/13 347/638/13 +f 364/639/17 256/640/17 254/617/17 +f 363/641/17 368/642/17 364/620/17 +f 362/643/17 367/644/17 363/623/17 +f 361/645/17 366/646/17 362/626/17 +f 344/647/14 250/648/14 244/649/14 +f 343/650/14 356/651/14 344/652/14 +f 342/653/14 355/654/14 343/655/14 +f 341/656/14 354/657/14 342/658/14 +f 349/468/13 251/659/13 246/660/13 +f 350/661/13 357/662/13 349/663/13 +f 351/664/13 358/665/13 350/666/13 +f 352/667/13 359/668/13 351/669/13 +f 356/670/15 252/671/15 250/672/15 +f 355/673/15 360/674/15 356/675/15 +f 354/676/15 359/677/15 355/678/15 +f 353/679/15 358/680/15 354/681/15 +f 245/488/15 340/682/15 241/683/15 +f 348/636/15 339/684/15 340/685/15 +f 347/633/15 338/686/15 339/687/15 +f 346/630/15 337/688/15 338/689/15 +f 248/478/17 344/647/17 244/649/17 +f 352/667/17 343/650/17 344/652/17 +f 351/664/17 342/653/17 343/655/17 +f 350/661/17 341/656/17 342/658/17 +f 370/690/13 372/691/13 371/692/13 +f 375/693/14 374/694/14 373/695/14 +f 379/696/14 378/697/14 377/698/14 +f 383/699/14 382/700/14 381/701/14 +f 387/702/14 386/703/14 385/704/14 +f 391/705/14 390/706/14 389/707/14 +f 395/708/13 393/709/13 394/710/13 +f 399/711/13 397/712/13 398/713/13 +f 403/714/13 401/715/13 402/716/13 +f 407/717/13 405/718/13 406/719/13 +f 385/720/15 401/721/15 387/722/15 +f 378/723/16 394/724/16 377/725/16 +f 386/726/16 402/727/16 385/728/16 +f 380/729/17 395/730/17 378/697/17 +f 388/731/17 403/732/17 386/703/17 +f 379/696/18 396/733/18 380/734/18 +f 373/735/15 372/736/15 375/737/15 +f 387/702/18 404/738/18 388/739/18 +f 381/740/15 397/741/15 383/742/15 +f 374/743/16 371/744/16 373/745/16 +f 389/746/15 405/747/15 391/748/15 +f 382/749/16 398/750/16 381/751/16 +f 376/752/17 370/753/17 374/694/17 +f 390/754/16 406/755/16 389/756/16 +f 384/757/17 399/758/17 382/700/17 +f 375/693/18 369/759/18 376/760/18 +f 392/761/17 407/762/17 390/706/17 +f 383/699/18 400/763/18 384/764/18 +f 377/765/15 393/766/15 379/767/15 +f 391/705/18 408/768/18 392/769/18 +f 413/770/15 411/771/15 409/772/15 +f 415/773/18 412/774/18 411/775/18 +f 414/776/16 409/777/16 410/778/16 +f 416/779/17 410/780/17 412/781/17 +f 413/770/13 416/779/13 415/773/13 +f 421/782/15 419/783/15 417/784/15 +f 423/785/18 420/786/18 419/787/18 +f 422/788/16 417/789/16 418/790/16 +f 424/791/17 418/792/17 420/793/17 +f 421/782/13 424/791/13 423/785/13 +f 429/794/15 427/795/15 425/796/15 +f 431/797/18 428/798/18 427/799/18 +f 430/800/16 425/801/16 426/802/16 +f 432/803/17 426/804/17 428/805/17 +f 429/794/13 432/803/13 431/797/13 +f 437/806/15 435/807/15 433/808/15 +f 439/809/18 436/810/18 435/811/18 +f 438/812/16 433/813/16 434/814/16 +f 440/815/17 434/816/17 436/817/17 +f 437/806/13 440/815/13 439/809/13 +f 445/818/15 443/819/15 441/820/15 +f 447/821/18 444/822/18 443/823/18 +f 446/824/16 441/825/16 442/826/16 +f 448/827/17 442/828/17 444/829/17 +f 445/818/13 448/827/13 447/821/13 +f 453/830/15 451/831/15 449/832/15 +f 455/833/18 452/834/18 451/835/18 +f 454/836/16 449/837/16 450/838/16 +f 456/839/17 450/840/17 452/841/17 +f 453/830/13 456/839/13 455/833/13 +f 461/842/15 459/843/15 457/844/15 +f 463/845/18 460/846/18 459/847/18 +f 462/848/16 457/849/16 458/850/16 +f 464/851/17 458/852/17 460/853/17 +f 461/842/13 464/851/13 463/845/13 +f 469/854/15 467/855/15 465/856/15 +f 471/857/18 468/858/18 467/859/18 +f 470/860/16 465/861/16 466/862/16 +f 472/863/17 466/864/17 468/865/17 +f 469/854/13 472/863/13 471/857/13 +f 477/866/15 475/867/15 473/868/15 +f 479/869/18 476/870/18 475/871/18 +f 478/872/16 473/873/16 474/874/16 +f 480/875/17 474/876/17 476/877/17 +f 477/866/13 480/875/13 479/869/13 +f 485/878/15 483/879/15 481/880/15 +f 487/881/18 484/882/18 483/883/18 +f 486/884/16 481/885/16 482/886/16 +f 488/887/17 482/888/17 484/889/17 +f 485/878/13 488/887/13 487/881/13 +f 491/890/14 516/182/14 492/891/14 +f 490/892/14 515/893/14 491/894/14 +f 489/895/14 514/896/14 490/897/14 +f 498/898/13 517/899/13 497/900/13 +f 499/901/13 518/902/13 498/903/13 +f 500/904/13 519/905/13 499/906/13 +f 515/907/17 520/477/17 516/182/17 +f 514/908/17 519/909/17 515/893/17 +f 513/910/17 518/911/17 514/896/17 +f 495/912/14 508/913/14 496/914/14 +f 494/915/14 507/916/14 495/917/14 +f 493/918/14 506/919/14 494/920/14 +f 502/921/13 509/922/13 501/923/13 +f 503/924/13 510/925/13 502/926/13 +f 504/927/13 511/928/13 503/929/13 +f 507/930/15 512/931/15 508/932/15 +f 506/933/15 511/934/15 507/935/15 +f 505/936/15 510/937/15 506/938/15 +f 500/904/15 491/939/15 492/191/15 +f 499/901/15 490/940/15 491/941/15 +f 498/898/15 489/942/15 490/943/15 +f 504/927/17 495/912/17 496/914/17 +f 503/924/17 494/915/17 495/917/17 +f 502/921/17 493/918/17 494/920/17 +f 493/918/17 80/177/17 76/347/17 +f 80/177/13 509/922/13 84/369/13 +f 509/922/15 82/370/15 84/369/15 +f 505/944/14 76/347/14 82/346/14 +f 517/899/17 254/617/17 256/640/17 +f 245/488/13 517/899/13 256/640/13 +f 489/942/15 245/488/15 241/683/15 +f 513/910/14 241/618/14 254/617/14 +f 246/660/17 496/914/17 242/469/17 +f 512/931/13 246/660/13 251/659/13 +f 249/474/15 512/931/15 251/659/15 +f 242/469/14 508/913/14 249/945/14 +f 571/946/19 568/947/19 572/948/19 +f 605/949/19 539/950/19 540/951/19 +f 605/952/19 574/953/19 606/954/19 +f 539/955/20 548/956/20 540/957/20 +f 536/958/14 548/956/14 544/959/14 +f 530/960/14 531/961/14 532/962/14 +f 537/963/14 568/964/14 533/965/14 +f 532/966/21 528/967/21 530/968/21 +f 534/969/19 568/964/19 567/970/19 +f 615/971/22 524/972/22 523/973/22 +f 571/946/13 566/974/13 567/975/13 +f 538/976/13 567/970/13 566/977/13 +f 616/978/21 522/979/21 524/980/21 +f 542/981/23 549/982/23 541/983/23 +f 545/984/24 554/985/24 546/986/24 +f 534/987/13 546/988/13 542/989/13 +f 536/990/25 543/991/25 535/992/25 +f 535/992/13 547/993/13 539/955/13 +f 533/994/14 545/995/14 537/996/14 +f 537/997/25 546/988/25 538/998/25 +f 534/987/20 541/999/20 533/994/20 +f 549/1000/14 561/1001/14 553/1002/14 +f 551/1003/13 563/1004/13 555/1005/13 +f 544/1006/14 556/1007/14 552/1008/14 +f 547/1009/23 556/1007/23 548/1010/23 +f 542/981/13 554/985/13 550/1011/13 +f 544/1012/24 551/1013/24 543/1014/24 +f 543/1014/13 555/1015/13 547/1009/13 +f 541/983/14 553/1016/14 545/1017/14 +f 553/1018/26 562/1019/26 554/1020/26 +f 550/1021/27 557/1022/27 549/1000/27 +f 552/1023/14 564/1024/14 560/1025/14 +f 555/1005/27 564/1024/27 556/1026/27 +f 550/1021/13 562/1019/13 558/1027/13 +f 552/1028/26 559/1029/26 551/1003/26 +f 606/1030/13 535/1031/13 539/950/13 +f 575/1032/25 584/1033/25 576/1034/25 +f 572/1035/14 584/1036/14 580/1037/14 +f 576/1038/28 566/974/28 575/1039/28 +f 537/1040/28 566/977/28 565/1041/28 +f 529/1042/29 526/1043/29 531/961/29 +f 565/1044/14 572/948/14 568/947/14 +f 526/1045/13 528/1046/13 527/1047/13 +f 614/1048/30 521/1049/30 522/1050/30 +f 530/960/30 525/1051/30 529/1052/30 +f 531/1053/22 527/1054/22 532/1055/22 +f 578/1056/24 585/1057/24 577/1058/24 +f 581/1059/23 590/1060/23 582/1061/23 +f 570/1062/13 582/1063/13 578/1064/13 +f 572/1035/20 579/1065/20 571/1066/20 +f 571/1066/13 583/1067/13 575/1032/13 +f 569/1068/14 581/1069/14 573/1070/14 +f 573/1070/20 582/1063/20 574/1071/20 +f 570/1062/25 577/1072/25 569/1073/25 +f 589/1074/14 593/1075/14 597/1076/14 +f 587/1077/13 599/1078/13 591/1079/13 +f 580/1080/14 592/1081/14 588/1082/14 +f 583/1083/24 592/1084/24 584/1085/24 +f 578/1056/13 590/1060/13 586/1086/13 +f 580/1080/23 587/1087/23 579/1088/23 +f 579/1088/13 591/1089/13 583/1083/13 +f 577/1090/14 589/1091/14 581/1059/14 +f 589/1074/27 598/1092/27 590/1093/27 +f 586/1094/26 593/1095/26 585/1096/26 +f 588/1097/14 600/1098/14 596/1099/14 +f 591/1079/26 600/1100/26 592/1101/26 +f 590/1093/13 594/1102/13 586/1094/13 +f 588/1097/27 595/1103/27 587/1077/27 +f 570/1104/28 607/1105/28 608/1106/28 +f 602/1107/13 603/1108/13 601/1109/13 +f 574/953/13 608/1106/13 606/954/13 +f 601/1109/29 611/1110/29 609/1111/29 +f 603/1108/22 612/1112/22 611/1113/22 +f 602/1107/30 609/1114/30 610/1115/30 +f 536/1116/14 605/949/14 540/951/14 +f 604/1117/21 610/1118/21 612/1119/21 +f 607/1120/14 573/1121/14 605/952/14 +f 614/1048/13 615/971/13 613/1122/13 +f 613/1122/29 523/1123/29 521/1124/29 +f 618/1125/13 620/1126/13 619/1127/13 +f 623/1128/14 622/1129/14 621/1130/14 +f 627/1131/14 626/1132/14 625/1133/14 +f 631/1134/14 630/1135/14 629/1136/14 +f 635/1137/14 634/1138/14 633/1139/14 +f 639/1140/13 637/1141/13 638/1142/13 +f 643/1143/13 641/1144/13 642/1145/13 +f 647/1146/13 645/1147/13 646/1148/13 +f 626/1149/16 638/1150/16 625/1151/16 +f 628/1152/17 639/1153/17 626/1132/17 +f 627/1131/18 640/1154/18 628/1155/18 +f 621/1156/15 620/1157/15 623/1158/15 +f 629/1159/15 641/1160/15 631/1161/15 +f 622/1162/16 619/1163/16 621/1164/16 +f 633/1165/15 645/1166/15 635/1167/15 +f 630/1168/16 642/1169/16 629/1170/16 +f 624/1171/17 618/1172/17 622/1129/17 +f 634/1173/16 646/1174/16 633/1175/16 +f 632/1176/17 643/1177/17 630/1135/17 +f 623/1128/18 617/1178/18 624/1179/18 +f 636/1180/17 647/1181/17 634/1138/17 +f 631/1134/18 644/1182/18 632/1183/18 +f 625/1184/15 637/1185/15 627/1186/15 +f 635/1137/18 648/1187/18 636/1188/18 +f 729/1189/15 649/1190/15 721/1191/15 +f 652/1192/13 744/1193/13 736/1194/13 +f 650/1195/18 654/1196/18 652/1197/18 +f 655/1198/17 749/1199/17 745/1200/17 +f 649/1201/14 745/1200/14 721/1202/14 +f 651/1203/18 655/1204/18 649/1205/18 +f 661/1206/15 659/1207/15 657/1208/15 +f 663/1209/18 660/1210/18 659/1211/18 +f 662/1212/16 657/1213/16 658/1214/16 +f 664/1215/17 658/1216/17 660/1217/17 +f 661/1206/13 664/1215/13 663/1209/13 +f 669/1218/15 667/1219/15 665/1220/15 +f 671/1221/18 668/1222/18 667/1223/18 +f 670/1224/16 665/1225/16 666/1226/16 +f 672/1227/17 666/1228/17 668/1229/17 +f 669/1218/13 672/1227/13 671/1221/13 +f 677/1230/15 675/1231/15 673/1232/15 +f 679/1233/18 676/1234/18 675/1235/18 +f 678/1236/16 673/1237/16 674/1238/16 +f 680/1239/17 674/1240/17 676/1241/17 +f 677/1230/13 680/1239/13 679/1233/13 +f 685/1242/15 683/1243/15 681/1244/15 +f 687/1245/18 684/1246/18 683/1247/18 +f 686/1248/16 681/1249/16 682/1250/16 +f 688/1251/17 682/1252/17 684/1253/17 +f 685/1242/13 688/1251/13 687/1245/13 +f 693/1254/15 691/1255/15 689/1256/15 +f 695/1257/18 692/1258/18 691/1259/18 +f 694/1260/16 689/1261/16 690/1262/16 +f 696/1263/17 690/1264/17 692/1265/17 +f 693/1254/13 696/1263/13 695/1257/13 +f 701/1266/15 699/1267/15 697/1268/15 +f 703/1269/18 700/1270/18 699/1271/18 +f 702/1272/16 697/1273/16 698/1274/16 +f 704/1275/17 698/1276/17 700/1277/17 +f 701/1266/13 704/1275/13 703/1269/13 +f 709/1278/15 707/1279/15 705/1280/15 +f 711/1281/18 708/1282/18 707/1283/18 +f 710/1284/16 705/1285/16 706/1286/16 +f 712/1287/17 706/1288/17 708/1289/17 +f 709/1278/13 712/1287/13 711/1281/13 +f 717/1290/15 715/1291/15 713/1292/15 +f 719/1293/18 716/1294/18 715/1295/18 +f 718/1296/16 713/1297/16 714/1298/16 +f 720/1299/17 714/1300/17 716/1301/17 +f 717/1290/13 720/1299/13 719/1293/13 +f 723/1302/14 748/1303/14 724/1304/14 +f 722/1305/14 747/1306/14 723/1307/14 +f 721/1308/14 746/1309/14 722/1310/14 +f 729/1189/13 656/1311/13 651/1312/13 +f 730/1313/13 749/1314/13 729/1315/13 +f 731/1316/13 750/1317/13 730/1318/13 +f 732/1319/13 751/1320/13 731/1321/13 +f 747/1322/17 752/1323/17 748/1303/17 +f 746/1324/17 751/1325/17 747/1306/17 +f 745/1326/17 750/1327/17 746/1309/17 +f 728/1328/14 653/1329/14 650/1330/14 +f 727/1331/14 740/1332/14 728/1333/14 +f 726/1334/14 739/1335/14 727/1336/14 +f 725/1337/14 738/1338/14 726/1339/14 +f 734/1340/13 741/1341/13 733/1342/13 +f 735/1343/13 742/1344/13 734/1345/13 +f 736/1346/13 743/1347/13 735/1348/13 +f 740/1349/15 654/1350/15 653/1351/15 +f 739/1352/15 744/1353/15 740/1354/15 +f 738/1355/15 743/1356/15 739/1357/15 +f 737/1358/15 742/1359/15 738/1360/15 +f 732/1319/15 723/1361/15 724/1362/15 +f 731/1316/15 722/1363/15 723/1364/15 +f 730/1313/15 721/1365/15 722/1366/15 +f 652/1192/17 728/1328/17 650/1330/17 +f 736/1346/17 727/1331/17 728/1333/17 +f 735/1343/17 726/1334/17 727/1336/17 +f 734/1340/17 725/1337/17 726/1339/17 +f 741/1367/15 600/1368/15 599/1369/15 +f 595/1370/13 741/1367/13 599/1369/13 +f 725/1371/17 595/1370/17 596/1372/17 +f 737/1373/14 596/1372/14 600/1374/14 +f 594/1375/15 724/1376/15 593/1377/15 +f 752/1378/13 594/1375/13 598/1379/13 +f 597/1380/17 752/1378/17 598/1379/17 +f 597/1380/14 724/1381/14 748/1382/14 +f 608/1383/28 536/1384/28 535/1031/28 +f 762/1385/14 763/1386/14 764/1387/14 +f 764/1388/25 760/1389/25 762/1390/25 +f 775/1391/31 756/1392/31 755/1393/31 +f 776/1394/25 754/1395/25 756/1396/25 +f 761/1397/20 758/1398/20 763/1386/20 +f 758/1399/13 760/1400/13 759/1401/13 +f 774/1402/32 753/1403/32 754/1404/32 +f 762/1385/32 757/1405/32 761/1406/32 +f 763/1407/31 759/1408/31 764/1409/31 +f 766/1410/13 767/1411/13 765/1412/13 +f 765/1412/20 771/1413/20 769/1414/20 +f 767/1411/31 772/1415/31 771/1416/31 +f 766/1410/32 769/1417/32 770/1418/32 +f 768/1419/25 770/1420/25 772/1421/25 +f 774/1402/13 775/1391/13 773/1422/13 +f 773/1422/20 755/1423/20 753/1424/20 +f 788/1425/14 785/1426/14 787/1427/14 +f 788/1428/24 784/1429/24 786/1430/24 +f 799/1431/33 780/1432/33 779/1433/33 +f 800/1434/24 778/1435/24 780/1436/24 +f 785/1437/23 782/1438/23 787/1427/23 +f 783/1439/13 781/1440/13 784/1441/13 +f 798/1442/34 777/1443/34 778/1444/34 +f 786/1445/34 781/1440/34 785/1426/34 +f 787/1446/33 783/1447/33 788/1448/33 +f 790/1449/13 791/1450/13 789/1451/13 +f 789/1451/23 795/1452/23 793/1453/23 +f 791/1450/33 796/1454/33 795/1455/33 +f 790/1449/34 793/1456/34 794/1457/34 +f 792/1458/24 794/1459/24 796/1460/24 +f 798/1442/13 799/1431/13 797/1461/13 +f 797/1461/23 779/1462/23 777/1463/23 +f 810/1464/14 811/1465/14 812/1466/14 +f 812/1467/26 808/1468/26 810/1469/26 +f 823/1470/35 804/1471/35 803/1472/35 +f 824/1473/26 802/1474/26 804/1475/26 +f 809/1476/27 806/1477/27 811/1465/27 +f 806/1478/13 808/1479/13 807/1480/13 +f 822/1481/36 801/1482/36 802/1483/36 +f 810/1464/36 805/1484/36 809/1485/36 +f 811/1486/35 807/1487/35 812/1488/35 +f 816/1489/13 813/1490/13 814/1491/13 +f 813/1490/27 819/1492/27 817/1493/27 +f 815/1494/35 820/1495/35 819/1496/35 +f 814/1491/36 817/1497/36 818/1498/36 +f 816/1489/26 818/1499/26 820/1500/26 +f 822/1481/13 823/1470/13 821/1501/13 +f 821/1501/27 803/1502/27 801/1503/27 +f 836/1504/14 833/1505/14 835/1506/14 +f 836/1507/21 832/1508/21 834/1509/21 +f 847/1510/22 828/1511/22 827/1512/22 +f 848/1513/21 826/1514/21 828/1515/21 +f 833/1516/29 830/1517/29 835/1506/29 +f 831/1518/13 829/1519/13 832/1520/13 +f 846/1521/30 825/1522/30 826/1523/30 +f 834/1524/30 829/1519/30 833/1505/30 +f 835/1525/22 831/1526/22 836/1527/22 +f 838/1528/13 839/1529/13 837/1530/13 +f 837/1530/29 843/1531/29 841/1532/29 +f 839/1529/22 844/1533/22 843/1534/22 +f 838/1528/30 841/1535/30 842/1536/30 +f 840/1537/21 842/1538/21 844/1539/21 +f 846/1521/13 847/1510/13 845/1540/13 +f 845/1540/29 827/1541/29 825/1542/29 +f 851/1543/14 850/1544/14 849/1545/14 +f 855/1546/13 853/1547/13 854/1548/13 +f 849/1549/15 853/1550/15 851/1551/15 +f 850/1552/16 854/1553/16 849/1554/16 +f 852/1555/17 855/1556/17 850/1544/17 +f 851/1543/18 856/1557/18 852/1558/18 +f 861/1559/15 859/1560/15 857/1561/15 +f 863/1562/18 860/1563/18 859/1564/18 +f 862/1565/16 857/1566/16 858/1567/16 +f 864/1568/17 858/1569/17 860/1570/17 +f 861/1559/13 864/1568/13 863/1562/13 +f 869/1571/15 867/1572/15 865/1573/15 +f 871/1574/18 868/1575/18 867/1576/18 +f 870/1577/16 865/1578/16 866/1579/16 +f 872/1580/17 866/1581/17 868/1582/17 +f 869/1571/13 872/1580/13 871/1574/13 +f 34/85/13 33/154/13 36/86/13 +f 39/88/14 40/155/14 38/89/14 +f 43/91/14 44/129/14 42/92/14 +f 47/94/14 48/159/14 46/95/14 +f 51/97/14 52/134/14 50/98/14 +f 55/100/14 56/164/14 54/101/14 +f 59/103/13 60/128/13 57/104/13 +f 63/106/13 64/158/13 61/107/13 +f 67/109/13 68/133/13 65/110/13 +f 71/112/13 72/163/13 69/113/13 +f 49/115/15 66/1583/15 65/116/15 +f 42/118/16 59/1584/16 58/119/16 +f 50/121/16 67/1585/16 66/122/16 +f 44/124/17 60/1586/17 59/125/17 +f 52/126/17 68/1587/17 67/127/17 +f 43/91/18 57/104/18 60/128/18 +f 37/130/15 35/1588/15 36/131/15 +f 51/97/18 65/110/18 68/133/18 +f 45/135/15 62/1589/15 61/136/15 +f 38/138/16 34/1590/16 35/139/16 +f 53/141/15 70/1591/15 69/142/15 +f 46/144/16 63/1592/16 62/145/16 +f 40/147/17 33/1593/17 34/148/17 +f 54/149/16 71/1594/16 70/150/16 +f 48/152/17 64/1595/17 63/153/17 +f 39/88/18 36/86/18 33/154/18 +f 56/156/17 72/1596/17 71/157/17 +f 47/94/18 61/107/18 64/158/18 +f 41/160/15 58/1597/15 57/161/15 +f 55/100/18 69/113/18 72/163/18 +f 181/165/17 78/358/17 74/166/17 +f 177/168/15 79/190/15 75/169/15 +f 81/171/15 83/357/15 189/172/15 +f 78/174/16 83/1598/16 81/175/16 +f 80/177/13 84/369/13 192/178/13 +f 74/166/14 81/1599/14 185/180/14 +f 75/181/14 492/891/14 516/182/14 +f 85/183/17 87/327/17 197/184/17 +f 77/186/13 88/338/13 200/187/13 +f 75/181/14 85/183/14 193/185/14 +f 79/190/15 500/904/15 492/191/15 +f 73/192/16 86/1600/16 88/193/16 +f 93/195/15 95/198/15 91/196/15 +f 95/198/18 96/204/18 92/199/18 +f 94/201/16 93/195/16 89/202/16 +f 96/204/17 94/201/17 90/205/17 +f 93/195/13 94/201/13 96/204/13 +f 101/207/15 103/210/15 99/208/15 +f 103/210/18 104/216/18 100/211/18 +f 102/213/16 101/207/16 97/214/16 +f 104/216/17 102/213/17 98/217/17 +f 101/207/13 102/213/13 104/216/13 +f 109/219/15 111/222/15 107/220/15 +f 111/222/18 112/228/18 108/223/18 +f 110/225/16 109/219/16 105/226/16 +f 112/228/17 110/225/17 106/229/17 +f 109/219/13 110/225/13 112/228/13 +f 117/231/15 119/234/15 115/232/15 +f 119/234/18 120/240/18 116/235/18 +f 118/237/16 117/231/16 113/238/16 +f 120/240/17 118/237/17 114/241/17 +f 117/231/13 118/237/13 120/240/13 +f 125/243/15 127/246/15 123/244/15 +f 127/246/18 128/252/18 124/247/18 +f 126/249/16 125/243/16 121/250/16 +f 128/252/17 126/249/17 122/253/17 +f 125/243/13 126/249/13 128/252/13 +f 133/255/15 135/258/15 131/256/15 +f 135/258/18 136/264/18 132/259/18 +f 134/261/16 133/255/16 129/262/16 +f 136/264/17 134/261/17 130/265/17 +f 133/255/13 134/261/13 136/264/13 +f 141/267/15 143/270/15 139/268/15 +f 143/270/18 144/276/18 140/271/18 +f 142/273/16 141/267/16 137/274/16 +f 144/276/17 142/273/17 138/277/17 +f 141/267/13 142/273/13 144/276/13 +f 149/279/15 151/282/15 147/280/15 +f 151/282/18 152/288/18 148/283/18 +f 150/285/16 149/279/16 145/286/16 +f 152/288/17 150/285/17 146/289/17 +f 149/279/13 150/285/13 152/288/13 +f 157/291/15 159/294/15 155/292/15 +f 159/294/18 160/300/18 156/295/18 +f 158/297/16 157/291/16 153/298/16 +f 160/300/17 158/297/17 154/301/17 +f 157/291/13 158/297/13 160/300/13 +f 165/303/15 167/306/15 163/304/15 +f 167/306/18 168/312/18 164/307/18 +f 166/309/16 165/303/16 161/310/16 +f 168/312/17 166/309/17 162/313/17 +f 165/303/13 166/309/13 168/312/13 +f 172/315/14 196/337/14 86/316/14 +f 171/318/14 195/339/14 196/319/14 +f 170/321/14 194/341/14 195/322/14 +f 169/324/14 193/343/14 194/325/14 +f 177/168/13 197/184/13 87/327/13 +f 178/328/13 198/344/13 197/329/13 +f 179/331/13 199/342/13 198/332/13 +f 180/334/13 200/340/13 199/335/13 +f 196/337/17 200/187/17 88/338/17 +f 195/339/17 199/335/17 200/340/17 +f 194/341/17 198/332/17 199/342/17 +f 193/343/17 197/329/17 198/344/17 +f 176/345/14 188/1601/14 82/346/14 +f 175/348/14 187/1602/14 188/349/14 +f 174/351/14 186/1603/14 187/352/14 +f 173/354/14 185/1604/14 186/355/14 +f 181/165/13 189/172/13 83/357/13 +f 182/359/13 190/378/13 189/360/13 +f 183/362/13 191/375/13 190/363/13 +f 184/365/13 192/372/13 191/366/13 +f 188/368/15 192/178/15 84/369/15 +f 187/371/15 191/366/15 192/372/15 +f 186/374/15 190/363/15 191/375/15 +f 185/377/15 189/360/15 190/378/15 +f 77/186/15 180/188/15 172/380/15 +f 180/334/15 179/336/15 171/382/15 +f 179/331/15 178/333/15 170/384/15 +f 178/328/15 177/330/15 169/386/15 +f 80/177/17 184/179/17 176/345/17 +f 184/365/17 183/367/17 175/348/17 +f 183/362/17 182/364/17 174/351/17 +f 182/359/17 181/361/17 173/354/17 +f 202/388/13 201/457/13 204/389/13 +f 207/391/14 208/458/14 206/392/14 +f 211/394/14 212/432/14 210/395/14 +f 215/397/14 216/462/14 214/398/14 +f 219/400/14 220/437/14 218/401/14 +f 223/403/14 224/467/14 222/404/14 +f 227/406/13 228/431/13 225/407/13 +f 231/409/13 232/461/13 229/410/13 +f 235/412/13 236/436/13 233/413/13 +f 239/415/13 240/466/13 237/416/13 +f 217/418/15 234/1605/15 233/419/15 +f 210/421/16 227/1606/16 226/422/16 +f 218/424/16 235/1607/16 234/425/16 +f 212/427/17 228/1608/17 227/428/17 +f 220/429/17 236/1609/17 235/430/17 +f 211/394/18 225/407/18 228/431/18 +f 205/433/15 203/1610/15 204/434/15 +f 219/400/18 233/413/18 236/436/18 +f 213/438/15 230/1611/15 229/439/15 +f 206/441/16 202/1612/16 203/442/16 +f 221/444/15 238/1613/15 237/445/15 +f 214/447/16 231/1614/16 230/448/16 +f 208/450/17 201/1615/17 202/451/17 +f 222/452/16 239/1616/16 238/453/16 +f 216/455/17 232/1617/17 231/456/17 +f 207/391/18 204/389/18 201/457/18 +f 224/459/17 240/1618/17 239/460/17 +f 215/397/18 229/410/18 232/461/18 +f 209/463/15 226/1619/15 225/464/15 +f 223/403/18 237/416/18 240/466/18 +f 349/468/17 246/660/17 242/469/17 +f 345/471/15 247/629/15 243/472/15 +f 249/474/15 251/659/15 357/475/15 +f 520/477/13 500/904/13 79/190/13 +f 248/478/13 252/671/13 360/479/13 +f 242/469/14 249/945/14 353/481/14 +f 244/482/18 250/1620/18 252/483/18 +f 253/485/17 255/628/17 365/486/17 +f 245/488/13 256/640/13 368/489/13 +f 243/491/14 253/485/14 361/487/14 +f 247/493/18 255/1621/18 253/494/18 +f 85/183/17 516/182/17 520/477/17 +f 261/496/15 263/499/15 259/497/15 +f 263/499/18 264/505/18 260/500/18 +f 262/502/16 261/496/16 257/503/16 +f 264/505/17 262/502/17 258/506/17 +f 261/496/13 262/502/13 264/505/13 +f 269/508/15 271/511/15 267/509/15 +f 271/511/18 272/517/18 268/512/18 +f 270/514/16 269/508/16 265/515/16 +f 272/517/17 270/514/17 266/518/17 +f 269/508/13 270/514/13 272/517/13 +f 277/520/15 279/523/15 275/521/15 +f 279/523/18 280/529/18 276/524/18 +f 278/526/16 277/520/16 273/527/16 +f 280/529/17 278/526/17 274/530/17 +f 277/520/13 278/526/13 280/529/13 +f 285/532/15 287/535/15 283/533/15 +f 287/535/18 288/541/18 284/536/18 +f 286/538/16 285/532/16 281/539/16 +f 288/541/17 286/538/17 282/542/17 +f 285/532/13 286/538/13 288/541/13 +f 293/544/15 295/547/15 291/545/15 +f 295/547/18 296/553/18 292/548/18 +f 294/550/16 293/544/16 289/551/16 +f 296/553/17 294/550/17 290/554/17 +f 293/544/13 294/550/13 296/553/13 +f 301/556/15 303/559/15 299/557/15 +f 303/559/18 304/565/18 300/560/18 +f 302/562/16 301/556/16 297/563/16 +f 304/565/17 302/562/17 298/566/17 +f 301/556/13 302/562/13 304/565/13 +f 309/568/15 311/571/15 307/569/15 +f 311/571/18 312/577/18 308/572/18 +f 310/574/16 309/568/16 305/575/16 +f 312/577/17 310/574/17 306/578/17 +f 309/568/13 310/574/13 312/577/13 +f 317/580/15 319/583/15 315/581/15 +f 319/583/18 320/589/18 316/584/18 +f 318/586/16 317/580/16 313/587/16 +f 320/589/17 318/586/17 314/590/17 +f 317/580/13 318/586/13 320/589/13 +f 325/592/15 327/595/15 323/593/15 +f 327/595/18 328/601/18 324/596/18 +f 326/598/16 325/592/16 321/599/16 +f 328/601/17 326/598/17 322/602/17 +f 325/592/13 326/598/13 328/601/13 +f 333/604/15 335/607/15 331/605/15 +f 335/607/18 336/613/18 332/608/18 +f 334/610/16 333/604/16 329/611/16 +f 336/613/17 334/610/17 330/614/17 +f 333/604/13 334/610/13 336/613/13 +f 340/616/14 364/639/14 254/617/14 +f 339/619/14 363/641/14 364/620/14 +f 338/622/14 362/643/14 363/623/14 +f 337/625/14 361/645/14 362/626/14 +f 345/471/13 365/486/13 255/628/13 +f 346/630/13 366/646/13 365/631/13 +f 347/633/13 367/644/13 366/634/13 +f 348/636/13 368/642/13 367/637/13 +f 364/639/17 368/489/17 256/640/17 +f 363/641/17 367/637/17 368/642/17 +f 362/643/17 366/634/17 367/644/17 +f 361/645/17 365/631/17 366/646/17 +f 344/647/14 356/1622/14 250/648/14 +f 343/650/14 355/1623/14 356/651/14 +f 342/653/14 354/1624/14 355/654/14 +f 341/656/14 353/1625/14 354/657/14 +f 349/468/13 357/475/13 251/659/13 +f 350/661/13 358/680/13 357/662/13 +f 351/664/13 359/677/13 358/665/13 +f 352/667/13 360/674/13 359/668/13 +f 356/670/15 360/479/15 252/671/15 +f 355/673/15 359/668/15 360/674/15 +f 354/676/15 358/665/15 359/677/15 +f 353/679/15 357/662/15 358/680/15 +f 245/488/15 348/490/15 340/682/15 +f 348/636/15 347/638/15 339/684/15 +f 347/633/15 346/635/15 338/686/15 +f 346/630/15 345/632/15 337/688/15 +f 248/478/17 352/480/17 344/647/17 +f 352/667/17 351/669/17 343/650/17 +f 351/664/17 350/666/17 342/653/17 +f 350/661/17 349/663/17 341/656/17 +f 370/690/13 369/759/13 372/691/13 +f 375/693/14 376/760/14 374/694/14 +f 379/696/14 380/734/14 378/697/14 +f 383/699/14 384/764/14 382/700/14 +f 387/702/14 388/739/14 386/703/14 +f 391/705/14 392/769/14 390/706/14 +f 395/708/13 396/733/13 393/709/13 +f 399/711/13 400/763/13 397/712/13 +f 403/714/13 404/738/13 401/715/13 +f 407/717/13 408/768/13 405/718/13 +f 385/720/15 402/1626/15 401/721/15 +f 378/723/16 395/1627/16 394/724/16 +f 386/726/16 403/1628/16 402/727/16 +f 380/729/17 396/1629/17 395/730/17 +f 388/731/17 404/1630/17 403/732/17 +f 379/696/18 393/709/18 396/733/18 +f 373/735/15 371/1631/15 372/736/15 +f 387/702/18 401/715/18 404/738/18 +f 381/740/15 398/1632/15 397/741/15 +f 374/743/16 370/1633/16 371/744/16 +f 389/746/15 406/1634/15 405/747/15 +f 382/749/16 399/1635/16 398/750/16 +f 376/752/17 369/1636/17 370/753/17 +f 390/754/16 407/1637/16 406/755/16 +f 384/757/17 400/1638/17 399/758/17 +f 375/693/18 372/691/18 369/759/18 +f 392/761/17 408/1639/17 407/762/17 +f 383/699/18 397/712/18 400/763/18 +f 377/765/15 394/1640/15 393/766/15 +f 391/705/18 405/718/18 408/768/18 +f 413/770/15 415/773/15 411/771/15 +f 415/773/18 416/779/18 412/774/18 +f 414/776/16 413/770/16 409/777/16 +f 416/779/17 414/776/17 410/780/17 +f 413/770/13 414/776/13 416/779/13 +f 421/782/15 423/785/15 419/783/15 +f 423/785/18 424/791/18 420/786/18 +f 422/788/16 421/782/16 417/789/16 +f 424/791/17 422/788/17 418/792/17 +f 421/782/13 422/788/13 424/791/13 +f 429/794/15 431/797/15 427/795/15 +f 431/797/18 432/803/18 428/798/18 +f 430/800/16 429/794/16 425/801/16 +f 432/803/17 430/800/17 426/804/17 +f 429/794/13 430/800/13 432/803/13 +f 437/806/15 439/809/15 435/807/15 +f 439/809/18 440/815/18 436/810/18 +f 438/812/16 437/806/16 433/813/16 +f 440/815/17 438/812/17 434/816/17 +f 437/806/13 438/812/13 440/815/13 +f 445/818/15 447/821/15 443/819/15 +f 447/821/18 448/827/18 444/822/18 +f 446/824/16 445/818/16 441/825/16 +f 448/827/17 446/824/17 442/828/17 +f 445/818/13 446/824/13 448/827/13 +f 453/830/15 455/833/15 451/831/15 +f 455/833/18 456/839/18 452/834/18 +f 454/836/16 453/830/16 449/837/16 +f 456/839/17 454/836/17 450/840/17 +f 453/830/13 454/836/13 456/839/13 +f 461/842/15 463/845/15 459/843/15 +f 463/845/18 464/851/18 460/846/18 +f 462/848/16 461/842/16 457/849/16 +f 464/851/17 462/848/17 458/852/17 +f 461/842/13 462/848/13 464/851/13 +f 469/854/15 471/857/15 467/855/15 +f 471/857/18 472/863/18 468/858/18 +f 470/860/16 469/854/16 465/861/16 +f 472/863/17 470/860/17 466/864/17 +f 469/854/13 470/860/13 472/863/13 +f 477/866/15 479/869/15 475/867/15 +f 479/869/18 480/875/18 476/870/18 +f 478/872/16 477/866/16 473/873/16 +f 480/875/17 478/872/17 474/876/17 +f 477/866/13 478/872/13 480/875/13 +f 485/878/15 487/881/15 483/879/15 +f 487/881/18 488/887/18 484/882/18 +f 486/884/16 485/878/16 481/885/16 +f 488/887/17 486/884/17 482/888/17 +f 485/878/13 486/884/13 488/887/13 +f 491/890/14 515/907/14 516/182/14 +f 490/892/14 514/908/14 515/893/14 +f 489/895/14 513/910/14 514/896/14 +f 498/898/13 518/911/13 517/899/13 +f 499/901/13 519/909/13 518/902/13 +f 500/904/13 520/477/13 519/905/13 +f 515/907/17 519/905/17 520/477/17 +f 514/908/17 518/902/17 519/909/17 +f 513/910/17 517/899/17 518/911/17 +f 495/912/14 507/1641/14 508/913/14 +f 494/915/14 506/1642/14 507/916/14 +f 493/918/14 505/944/14 506/919/14 +f 502/921/13 510/937/13 509/922/13 +f 503/924/13 511/934/13 510/925/13 +f 504/927/13 512/931/13 511/928/13 +f 507/930/15 511/928/15 512/931/15 +f 506/933/15 510/925/15 511/934/15 +f 505/936/15 509/922/15 510/937/15 +f 500/904/15 499/906/15 491/939/15 +f 499/901/15 498/903/15 490/940/15 +f 498/898/15 497/900/15 489/942/15 +f 504/927/17 503/929/17 495/912/17 +f 503/924/17 502/926/17 494/915/17 +f 502/921/17 501/923/17 493/918/17 +f 493/918/17 501/923/17 80/177/17 +f 80/177/13 501/923/13 509/922/13 +f 509/922/15 505/936/15 82/370/15 +f 505/944/14 493/918/14 76/347/14 +f 517/899/17 513/910/17 254/617/17 +f 245/488/13 497/900/13 517/899/13 +f 489/942/15 497/900/15 245/488/15 +f 513/910/14 489/895/14 241/618/14 +f 246/660/17 504/927/17 496/914/17 +f 512/931/13 504/927/13 246/660/13 +f 249/474/15 508/932/15 512/931/15 +f 242/469/14 496/914/14 508/913/14 +f 571/946/19 567/975/19 568/947/19 +f 605/949/19 606/1030/19 539/950/19 +f 605/952/19 573/1121/19 574/953/19 +f 539/955/20 547/993/20 548/956/20 +f 536/958/14 540/957/14 548/956/14 +f 530/960/14 529/1052/14 531/961/14 +f 537/963/14 565/1643/14 568/964/14 +f 532/966/21 527/1644/21 528/967/21 +f 534/969/19 533/965/19 568/964/19 +f 615/971/22 616/978/22 524/972/22 +f 571/946/13 575/1039/13 566/974/13 +f 538/976/13 534/969/13 567/970/13 +f 616/978/21 614/1048/21 522/979/21 +f 542/981/23 550/1011/23 549/982/23 +f 545/984/24 553/1645/24 554/985/24 +f 534/987/13 538/998/13 546/988/13 +f 536/990/25 544/1646/25 543/991/25 +f 535/992/13 543/991/13 547/993/13 +f 533/994/14 541/999/14 545/995/14 +f 537/997/25 545/1647/25 546/988/25 +f 534/987/20 542/989/20 541/999/20 +f 549/1000/14 557/1022/14 561/1001/14 +f 551/1003/13 559/1029/13 563/1004/13 +f 544/1006/14 548/1010/14 556/1007/14 +f 547/1009/23 555/1015/23 556/1007/23 +f 542/981/13 546/986/13 554/985/13 +f 544/1012/24 552/1648/24 551/1013/24 +f 543/1014/13 551/1013/13 555/1015/13 +f 541/983/14 549/982/14 553/1016/14 +f 553/1018/26 561/1649/26 562/1019/26 +f 550/1021/27 558/1027/27 557/1022/27 +f 552/1023/14 556/1026/14 564/1024/14 +f 555/1005/27 563/1004/27 564/1024/27 +f 550/1021/13 554/1020/13 562/1019/13 +f 552/1028/26 560/1650/26 559/1029/26 +f 606/1030/13 608/1383/13 535/1031/13 +f 575/1032/25 583/1067/25 584/1033/25 +f 572/1035/14 576/1651/14 584/1036/14 +f 576/1038/28 565/1652/28 566/974/28 +f 537/1040/28 538/976/28 566/977/28 +f 529/1042/29 525/1653/29 526/1043/29 +f 565/1044/14 576/1654/14 572/948/14 +f 526/1045/13 525/1051/13 528/1046/13 +f 614/1048/30 613/1122/30 521/1049/30 +f 530/960/30 528/1046/30 525/1051/30 +f 531/1053/22 526/1655/22 527/1054/22 +f 578/1056/24 586/1086/24 585/1057/24 +f 581/1059/23 589/1091/23 590/1060/23 +f 570/1062/13 574/1071/13 582/1063/13 +f 572/1035/20 580/1037/20 579/1065/20 +f 571/1066/13 579/1065/13 583/1067/13 +f 569/1068/14 577/1656/14 581/1069/14 +f 573/1070/20 581/1069/20 582/1063/20 +f 570/1062/25 578/1064/25 577/1072/25 +f 589/1074/14 585/1657/14 593/1075/14 +f 587/1077/13 595/1103/13 599/1078/13 +f 580/1080/14 584/1658/14 592/1081/14 +f 583/1083/24 591/1089/24 592/1084/24 +f 578/1056/13 582/1061/13 590/1060/13 +f 580/1080/23 588/1082/23 587/1087/23 +f 579/1088/13 587/1087/13 591/1089/13 +f 577/1090/14 585/1659/14 589/1091/14 +f 589/1074/27 597/1076/27 598/1092/27 +f 586/1094/26 594/1102/26 593/1095/26 +f 588/1097/14 592/1660/14 600/1098/14 +f 591/1079/26 599/1078/26 600/1100/26 +f 590/1093/13 598/1092/13 594/1102/13 +f 588/1097/27 596/1099/27 595/1103/27 +f 570/1104/28 569/1661/28 607/1105/28 +f 602/1107/13 604/1117/13 603/1108/13 +f 574/953/13 570/1104/13 608/1106/13 +f 601/1109/29 603/1108/29 611/1110/29 +f 603/1108/22 604/1117/22 612/1112/22 +f 602/1107/30 601/1109/30 609/1114/30 +f 536/1116/14 607/1662/14 605/949/14 +f 604/1117/21 602/1107/21 610/1118/21 +f 607/1120/14 569/1663/14 573/1121/14 +f 614/1048/13 616/978/13 615/971/13 +f 613/1122/29 615/971/29 523/1123/29 +f 618/1125/13 617/1178/13 620/1126/13 +f 623/1128/14 624/1179/14 622/1129/14 +f 627/1131/14 628/1155/14 626/1132/14 +f 631/1134/14 632/1183/14 630/1135/14 +f 635/1137/14 636/1188/14 634/1138/14 +f 639/1140/13 640/1154/13 637/1141/13 +f 643/1143/13 644/1182/13 641/1144/13 +f 647/1146/13 648/1187/13 645/1147/13 +f 626/1149/16 639/1664/16 638/1150/16 +f 628/1152/17 640/1665/17 639/1153/17 +f 627/1131/18 637/1141/18 640/1154/18 +f 621/1156/15 619/1666/15 620/1157/15 +f 629/1159/15 642/1667/15 641/1160/15 +f 622/1162/16 618/1668/16 619/1163/16 +f 633/1165/15 646/1669/15 645/1166/15 +f 630/1168/16 643/1670/16 642/1169/16 +f 624/1171/17 617/1671/17 618/1172/17 +f 634/1173/16 647/1672/16 646/1174/16 +f 632/1176/17 644/1673/17 643/1177/17 +f 623/1128/18 620/1126/18 617/1178/18 +f 636/1180/17 648/1674/17 647/1181/17 +f 631/1134/18 641/1144/18 644/1182/18 +f 625/1184/15 638/1675/15 637/1185/15 +f 635/1137/18 645/1147/18 648/1187/18 +f 729/1189/15 651/1312/15 649/1190/15 +f 652/1192/13 654/1350/13 744/1193/13 +f 650/1195/18 653/1676/18 654/1196/18 +f 655/1198/17 656/1311/17 749/1199/17 +f 649/1201/14 655/1198/14 745/1200/14 +f 651/1203/18 656/1677/18 655/1204/18 +f 661/1206/15 663/1209/15 659/1207/15 +f 663/1209/18 664/1215/18 660/1210/18 +f 662/1212/16 661/1206/16 657/1213/16 +f 664/1215/17 662/1212/17 658/1216/17 +f 661/1206/13 662/1212/13 664/1215/13 +f 669/1218/15 671/1221/15 667/1219/15 +f 671/1221/18 672/1227/18 668/1222/18 +f 670/1224/16 669/1218/16 665/1225/16 +f 672/1227/17 670/1224/17 666/1228/17 +f 669/1218/13 670/1224/13 672/1227/13 +f 677/1230/15 679/1233/15 675/1231/15 +f 679/1233/18 680/1239/18 676/1234/18 +f 678/1236/16 677/1230/16 673/1237/16 +f 680/1239/17 678/1236/17 674/1240/17 +f 677/1230/13 678/1236/13 680/1239/13 +f 685/1242/15 687/1245/15 683/1243/15 +f 687/1245/18 688/1251/18 684/1246/18 +f 686/1248/16 685/1242/16 681/1249/16 +f 688/1251/17 686/1248/17 682/1252/17 +f 685/1242/13 686/1248/13 688/1251/13 +f 693/1254/15 695/1257/15 691/1255/15 +f 695/1257/18 696/1263/18 692/1258/18 +f 694/1260/16 693/1254/16 689/1261/16 +f 696/1263/17 694/1260/17 690/1264/17 +f 693/1254/13 694/1260/13 696/1263/13 +f 701/1266/15 703/1269/15 699/1267/15 +f 703/1269/18 704/1275/18 700/1270/18 +f 702/1272/16 701/1266/16 697/1273/16 +f 704/1275/17 702/1272/17 698/1276/17 +f 701/1266/13 702/1272/13 704/1275/13 +f 709/1278/15 711/1281/15 707/1279/15 +f 711/1281/18 712/1287/18 708/1282/18 +f 710/1284/16 709/1278/16 705/1285/16 +f 712/1287/17 710/1284/17 706/1288/17 +f 709/1278/13 710/1284/13 712/1287/13 +f 717/1290/15 719/1293/15 715/1291/15 +f 719/1293/18 720/1299/18 716/1294/18 +f 718/1296/16 717/1290/16 713/1297/16 +f 720/1299/17 718/1296/17 714/1300/17 +f 717/1290/13 718/1296/13 720/1299/13 +f 723/1302/14 747/1322/14 748/1303/14 +f 722/1305/14 746/1324/14 747/1306/14 +f 721/1308/14 745/1326/14 746/1309/14 +f 729/1189/13 749/1199/13 656/1311/13 +f 730/1313/13 750/1327/13 749/1314/13 +f 731/1316/13 751/1325/13 750/1317/13 +f 732/1319/13 752/1323/13 751/1320/13 +f 747/1322/17 751/1320/17 752/1323/17 +f 746/1324/17 750/1317/17 751/1325/17 +f 745/1326/17 749/1314/17 750/1327/17 +f 728/1328/14 740/1678/14 653/1329/14 +f 727/1331/14 739/1679/14 740/1332/14 +f 726/1334/14 738/1680/14 739/1335/14 +f 725/1337/14 737/1681/14 738/1338/14 +f 734/1340/13 742/1359/13 741/1341/13 +f 735/1343/13 743/1356/13 742/1344/13 +f 736/1346/13 744/1353/13 743/1347/13 +f 740/1349/15 744/1193/15 654/1350/15 +f 739/1352/15 743/1347/15 744/1353/15 +f 738/1355/15 742/1344/15 743/1356/15 +f 737/1358/15 741/1341/15 742/1359/15 +f 732/1319/15 731/1321/15 723/1361/15 +f 731/1316/15 730/1318/15 722/1363/15 +f 730/1313/15 729/1315/15 721/1365/15 +f 652/1192/17 736/1194/17 728/1328/17 +f 736/1346/17 735/1348/17 727/1331/17 +f 735/1343/17 734/1345/17 726/1334/17 +f 734/1340/17 733/1342/17 725/1337/17 +f 741/1367/15 737/1682/15 600/1368/15 +f 595/1370/13 733/1683/13 741/1367/13 +f 725/1371/17 733/1683/17 595/1370/17 +f 737/1373/14 725/1371/14 596/1372/14 +f 594/1375/15 732/1684/15 724/1376/15 +f 752/1378/13 732/1684/13 594/1375/13 +f 597/1380/17 748/1382/17 752/1378/17 +f 597/1380/14 593/1685/14 724/1381/14 +f 608/1383/28 607/1686/28 536/1384/28 +f 762/1385/14 761/1406/14 763/1386/14 +f 764/1388/25 759/1687/25 760/1389/25 +f 775/1391/31 776/1394/31 756/1392/31 +f 776/1394/25 774/1402/25 754/1395/25 +f 761/1397/20 757/1688/20 758/1398/20 +f 758/1399/13 757/1405/13 760/1400/13 +f 774/1402/32 773/1422/32 753/1403/32 +f 762/1385/32 760/1400/32 757/1405/32 +f 763/1407/31 758/1689/31 759/1408/31 +f 766/1410/13 768/1419/13 767/1411/13 +f 765/1412/20 767/1411/20 771/1413/20 +f 767/1411/31 768/1419/31 772/1415/31 +f 766/1410/32 765/1412/32 769/1417/32 +f 768/1419/25 766/1410/25 770/1420/25 +f 774/1402/13 776/1394/13 775/1391/13 +f 773/1422/20 775/1391/20 755/1423/20 +f 788/1425/14 786/1445/14 785/1426/14 +f 788/1428/24 783/1690/24 784/1429/24 +f 799/1431/33 800/1434/33 780/1432/33 +f 800/1434/24 798/1442/24 778/1435/24 +f 785/1437/23 781/1691/23 782/1438/23 +f 783/1439/13 782/1692/13 781/1440/13 +f 798/1442/34 797/1461/34 777/1443/34 +f 786/1445/34 784/1441/34 781/1440/34 +f 787/1446/33 782/1693/33 783/1447/33 +f 790/1449/13 792/1458/13 791/1450/13 +f 789/1451/23 791/1450/23 795/1452/23 +f 791/1450/33 792/1458/33 796/1454/33 +f 790/1449/34 789/1451/34 793/1456/34 +f 792/1458/24 790/1449/24 794/1459/24 +f 798/1442/13 800/1434/13 799/1431/13 +f 797/1461/23 799/1431/23 779/1462/23 +f 810/1464/14 809/1485/14 811/1465/14 +f 812/1467/26 807/1694/26 808/1468/26 +f 823/1470/35 824/1473/35 804/1471/35 +f 824/1473/26 822/1481/26 802/1474/26 +f 809/1476/27 805/1695/27 806/1477/27 +f 806/1478/13 805/1484/13 808/1479/13 +f 822/1481/36 821/1501/36 801/1482/36 +f 810/1464/36 808/1479/36 805/1484/36 +f 811/1486/35 806/1696/35 807/1487/35 +f 816/1489/13 815/1494/13 813/1490/13 +f 813/1490/27 815/1494/27 819/1492/27 +f 815/1494/35 816/1489/35 820/1495/35 +f 814/1491/36 813/1490/36 817/1497/36 +f 816/1489/26 814/1491/26 818/1499/26 +f 822/1481/13 824/1473/13 823/1470/13 +f 821/1501/27 823/1470/27 803/1502/27 +f 836/1504/14 834/1524/14 833/1505/14 +f 836/1507/21 831/1697/21 832/1508/21 +f 847/1510/22 848/1513/22 828/1511/22 +f 848/1513/21 846/1521/21 826/1514/21 +f 833/1516/29 829/1698/29 830/1517/29 +f 831/1518/13 830/1699/13 829/1519/13 +f 846/1521/30 845/1540/30 825/1522/30 +f 834/1524/30 832/1520/30 829/1519/30 +f 835/1525/22 830/1700/22 831/1526/22 +f 838/1528/13 840/1537/13 839/1529/13 +f 837/1530/29 839/1529/29 843/1531/29 +f 839/1529/22 840/1537/22 844/1533/22 +f 838/1528/30 837/1530/30 841/1535/30 +f 840/1537/21 838/1528/21 842/1538/21 +f 846/1521/13 848/1513/13 847/1510/13 +f 845/1540/29 847/1510/29 827/1541/29 +f 851/1543/14 852/1558/14 850/1544/14 +f 855/1546/13 856/1557/13 853/1547/13 +f 849/1549/15 854/1701/15 853/1550/15 +f 850/1552/16 855/1702/16 854/1553/16 +f 852/1555/17 856/1703/17 855/1556/17 +f 851/1543/18 853/1547/18 856/1557/18 +f 861/1559/15 863/1562/15 859/1560/15 +f 863/1562/18 864/1568/18 860/1563/18 +f 862/1565/16 861/1559/16 857/1566/16 +f 864/1568/17 862/1565/17 858/1569/17 +f 861/1559/13 862/1565/13 864/1568/13 +f 869/1571/15 871/1574/15 867/1572/15 +f 871/1574/18 872/1580/18 868/1575/18 +f 870/1577/16 869/1571/16 865/1578/16 +f 872/1580/17 870/1577/17 866/1581/17 +f 869/1571/13 870/1577/13 872/1580/13 diff --git a/src/main/resources/assets/hbm/models/blocks/rail_standard_switch_flipped.obj b/src/main/resources/assets/hbm/models/blocks/rail_standard_switch_flipped.obj new file mode 100644 index 000000000..f4ebf2c55 --- /dev/null +++ b/src/main/resources/assets/hbm/models/blocks/rail_standard_switch_flipped.obj @@ -0,0 +1,3933 @@ +# Blender v2.79 (sub 0) OBJ File: 'rail_standard_switch_flipped.blend' +# www.blender.org +o SignTurn +v 1.500000 1.000000 -1.125000 +v 2.500000 1.000000 -1.125000 +v 1.500000 2.000000 -1.125000 +v 2.500000 2.000000 -1.125000 +v 1.500000 2.000000 -0.875000 +v 1.500000 1.000000 -0.875000 +v 2.500000 1.000000 -0.875000 +v 2.500000 2.000000 -0.875000 +v 1.875000 1.000000 -0.875000 +v 2.125000 1.000000 -0.875000 +v 1.875000 1.000000 -1.125000 +v 2.125000 1.000000 -1.125000 +v 1.875000 0.000000 -1.125000 +v 1.875000 0.000000 -0.875000 +v 2.125000 0.000000 -0.875000 +v 2.125000 0.000000 -1.125000 +vt 0.500000 0.500000 +vt 0.000000 0.000000 +vt 0.500000 0.000000 +vt 1.000000 0.500000 +vt 0.500000 1.000000 +vt 0.500000 0.500000 +vt 0.625000 0.500000 +vt 0.500000 -0.000000 +vt 0.625000 -0.000000 +vt 0.625000 0.500000 +vt 0.625000 0.500000 +vt 0.500000 -0.000000 +vt 0.625000 -0.000000 +vt 0.500000 0.000000 +vt 0.625000 0.500000 +vt 0.500000 0.500000 +vt 0.750000 0.375000 +vt 0.875000 0.500000 +vt 0.750000 0.500000 +vt 1.000000 -0.000000 +vt 0.875000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 -0.000000 +vt 0.875000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 -0.000000 +vt 0.875000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 -0.000000 +vt 0.875000 0.500000 +vt 1.000000 0.500000 +vt 0.000000 0.500000 +vt 1.000000 1.000000 +vt 0.500000 0.500000 +vt 0.625000 0.000000 +vt 0.500000 0.500000 +vt 0.625000 0.000000 +vt 0.875000 0.375000 +vt 0.875000 -0.000000 +vt 0.875000 -0.000000 +vt 0.875000 -0.000000 +vt 0.875000 -0.000000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +s off +f 3/1/1 2/2/1 1/3/1 +f 7/4/2 5/5/2 6/6/2 +f 4/7/3 7/8/3 2/9/3 +f 1/3/4 5/10/4 3/1/4 +f 3/11/5 8/12/5 4/13/5 +f 2/14/6 6/15/6 1/16/6 +f 13/17/6 15/18/6 14/19/6 +f 16/20/1 11/21/1 12/22/1 +f 14/23/2 10/24/2 9/25/2 +f 15/26/3 12/27/3 10/28/3 +f 13/29/4 9/30/4 11/31/4 +f 3/1/1 4/32/1 2/2/1 +f 7/4/2 8/33/2 5/5/2 +f 4/7/3 8/34/3 7/8/3 +f 1/3/4 6/35/4 5/10/4 +f 3/11/5 5/36/5 8/12/5 +f 2/14/6 7/37/6 6/15/6 +f 13/17/6 16/38/6 15/18/6 +f 16/20/1 13/39/1 11/21/1 +f 14/23/2 15/40/2 10/24/2 +f 15/26/3 16/41/3 12/27/3 +f 13/29/4 14/42/4 9/30/4 +o SignStraight +v 1.500000 1.000000 -1.125000 +v 2.500000 1.000000 -1.125000 +v 1.500000 2.000000 -1.125000 +v 2.500000 2.000000 -1.125000 +v 1.500000 2.000000 -0.875000 +v 1.500000 1.000000 -0.875000 +v 2.500000 1.000000 -0.875000 +v 2.500000 2.000000 -0.875000 +v 1.875000 1.000000 -0.875000 +v 2.125000 1.000000 -0.875000 +v 1.875000 1.000000 -1.125000 +v 2.125000 1.000000 -1.125000 +v 1.875000 0.000000 -1.125000 +v 1.875000 0.000000 -0.875000 +v 2.125000 0.000000 -0.875000 +v 2.125000 0.000000 -1.125000 +vt 0.500000 0.500000 +vt 0.000000 0.000000 +vt 0.500000 0.000000 +vt 0.500000 0.500000 +vt 0.000100 0.999900 +vt 0.000000 0.500000 +vt 0.625000 0.500000 +vt 0.500000 -0.000000 +vt 0.625000 -0.000000 +vt 0.625000 0.500000 +vt 0.625000 0.500000 +vt 0.500000 -0.000000 +vt 0.625000 -0.000000 +vt 0.500000 0.000000 +vt 0.625000 0.500000 +vt 0.500000 0.500000 +vt 0.750000 0.375000 +vt 0.875000 0.500000 +vt 0.750000 0.500000 +vt 1.000000 -0.000000 +vt 0.875000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 -0.000000 +vt 0.875000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 -0.000000 +vt 0.875000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 -0.000000 +vt 0.875000 0.500000 +vt 1.000000 0.500000 +vt 0.000000 0.500000 +vt 0.500000 1.000000 +vt 0.500000 0.500000 +vt 0.625000 0.000000 +vt 0.500000 0.500000 +vt 0.625000 0.000000 +vt 0.875000 0.375000 +vt 0.875000 -0.000000 +vt 0.875000 -0.000000 +vt 0.875000 -0.000000 +vt 0.875000 -0.000000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +s off +f 19/43/7 18/44/7 17/45/7 +f 23/46/8 21/47/8 22/48/8 +f 20/49/9 23/50/9 18/51/9 +f 17/45/10 21/52/10 19/43/10 +f 19/53/11 24/54/11 20/55/11 +f 18/56/12 22/57/12 17/58/12 +f 29/59/12 31/60/12 30/61/12 +f 32/62/7 27/63/7 28/64/7 +f 30/65/8 26/66/8 25/67/8 +f 31/68/9 28/69/9 26/70/9 +f 29/71/10 25/72/10 27/73/10 +f 19/43/7 20/74/7 18/44/7 +f 23/46/8 24/75/8 21/47/8 +f 20/49/9 24/76/9 23/50/9 +f 17/45/10 22/77/10 21/52/10 +f 19/53/11 21/78/11 24/54/11 +f 18/56/12 23/79/12 22/57/12 +f 29/59/12 32/80/12 31/60/12 +f 32/62/7 29/81/7 27/63/7 +f 30/65/8 31/82/8 26/66/8 +f 31/68/9 32/83/9 28/69/9 +f 29/71/10 30/84/10 25/72/10 +o Rail +v 1.000000 0.062500 4.812500 +v 1.000000 0.062500 5.187500 +v -1.000000 0.062500 5.187500 +v -1.000000 0.062500 4.812500 +v -1.000000 0.000000 5.187500 +v 1.000000 0.000000 5.187500 +v -1.000000 0.000000 4.812500 +v 1.000000 0.000000 4.812500 +v -1.000000 0.000000 4.187500 +v 1.000000 0.000000 4.187500 +v -1.000000 0.000000 3.812500 +v 1.000000 0.000000 3.812500 +v -1.000000 0.000000 3.187500 +v 1.000000 0.000000 3.187500 +v -1.000000 0.000000 2.812500 +v 1.000000 0.000000 2.812500 +v -1.000000 0.000000 7.187500 +v 1.000000 0.000000 7.187500 +v -1.000000 0.000000 6.812500 +v 1.000000 0.000000 6.812500 +v -1.000000 0.000000 6.187500 +v 1.000000 0.000000 6.187500 +v -1.000000 0.000000 5.812500 +v 1.000000 0.000000 5.812500 +v -1.000000 0.062500 3.812500 +v -1.000000 0.062500 4.187500 +v 1.000000 0.062500 4.187500 +v 1.000000 0.062500 3.812500 +v -1.000000 0.062500 2.812500 +v -1.000000 0.062500 3.187500 +v 1.000000 0.062500 3.187500 +v 1.000000 0.062500 2.812500 +v -1.000000 0.062500 6.812500 +v -1.000000 0.062500 7.187500 +v 1.000000 0.062500 7.187500 +v 1.000000 0.062500 6.812500 +v -1.000000 0.062500 5.812500 +v -1.000000 0.062500 6.187500 +v 1.000000 0.062500 6.187500 +v 1.000000 0.062500 5.812500 +v -0.812500 0.062500 7.500000 +v 0.812500 0.062500 7.500000 +v -0.812500 0.062500 2.500000 +v 0.812500 0.062500 2.500000 +v -0.812500 0.187500 7.500000 +v 0.812500 0.187500 7.500000 +v -0.812500 0.187500 2.500000 +v 0.812500 0.187500 2.500000 +v 0.750000 0.062500 7.500000 +v 0.750000 0.062500 2.500000 +v 0.750000 0.187500 7.500000 +v 0.750000 0.187500 2.500000 +v -0.750000 0.062500 2.500000 +v -0.750000 0.062500 7.500000 +v -0.750000 0.187500 2.500000 +v -0.750000 0.187500 7.500000 +v 0.625000 0.062500 7.062500 +v 0.937500 0.062500 7.062500 +v 0.625000 0.062500 6.937500 +v 0.937500 0.062500 6.937500 +v 0.625000 0.125000 7.062500 +v 0.937500 0.125000 7.062500 +v 0.625000 0.125000 6.937500 +v 0.937500 0.125000 6.937500 +v -0.937500 0.062500 7.062500 +v -0.625000 0.062500 7.062500 +v -0.937500 0.062500 6.937500 +v -0.625000 0.062500 6.937500 +v -0.937500 0.125000 7.062500 +v -0.625000 0.125000 7.062500 +v -0.937500 0.125000 6.937500 +v -0.625000 0.125000 6.937500 +v 0.625000 0.062500 6.062500 +v 0.937500 0.062500 6.062500 +v 0.625000 0.062500 5.937500 +v 0.937500 0.062500 5.937500 +v 0.625000 0.125000 6.062500 +v 0.937500 0.125000 6.062500 +v 0.625000 0.125000 5.937500 +v 0.937500 0.125000 5.937500 +v -0.937500 0.062500 6.062500 +v -0.625000 0.062500 6.062500 +v -0.937500 0.062500 5.937500 +v -0.625000 0.062500 5.937500 +v -0.937500 0.125000 6.062500 +v -0.625000 0.125000 6.062500 +v -0.937500 0.125000 5.937500 +v -0.625000 0.125000 5.937500 +v 0.625000 0.062500 5.062500 +v 0.937500 0.062500 5.062500 +v 0.625000 0.062500 4.937500 +v 0.937500 0.062500 4.937500 +v 0.625000 0.125000 5.062500 +v 0.937500 0.125000 5.062500 +v 0.625000 0.125000 4.937500 +v 0.937500 0.125000 4.937500 +v -0.937500 0.062500 5.062500 +v -0.625000 0.062500 5.062500 +v -0.937500 0.062500 4.937500 +v -0.625000 0.062500 4.937500 +v -0.937500 0.125000 5.062500 +v -0.625000 0.125000 5.062500 +v -0.937500 0.125000 4.937500 +v -0.625000 0.125000 4.937500 +v 0.625000 0.062500 4.062500 +v 0.937500 0.062500 4.062500 +v 0.625000 0.062500 3.937500 +v 0.937500 0.062500 3.937500 +v 0.625000 0.125000 4.062500 +v 0.937500 0.125000 4.062500 +v 0.625000 0.125000 3.937500 +v 0.937500 0.125000 3.937500 +v -0.937500 0.062500 4.062500 +v -0.625000 0.062500 4.062500 +v -0.937500 0.062500 3.937500 +v -0.625000 0.062500 3.937500 +v -0.937500 0.125000 4.062500 +v -0.625000 0.125000 4.062500 +v -0.937500 0.125000 3.937500 +v -0.625000 0.125000 3.937500 +v 0.625000 0.062500 3.062500 +v 0.937500 0.062500 3.062500 +v 0.625000 0.062500 2.937500 +v 0.937500 0.062500 2.937500 +v 0.625000 0.125000 3.062500 +v 0.937500 0.125000 3.062500 +v 0.625000 0.125000 2.937500 +v 0.937500 0.125000 2.937500 +v -0.937500 0.062500 3.062500 +v -0.625000 0.062500 3.062500 +v -0.937500 0.062500 2.937500 +v -0.625000 0.062500 2.937500 +v -0.937500 0.125000 3.062500 +v -0.625000 0.125000 3.062500 +v -0.937500 0.125000 2.937500 +v -0.625000 0.125000 2.937500 +v -0.812500 0.062500 3.500000 +v -0.812500 0.062500 4.500000 +v -0.812500 0.062500 5.500000 +v -0.812500 0.062500 6.500000 +v 0.812500 0.062500 6.500000 +v 0.812500 0.062500 5.500000 +v 0.812500 0.062500 4.500000 +v 0.812500 0.062500 3.500000 +v -0.812500 0.187500 3.500000 +v -0.812500 0.187500 4.500000 +v -0.812500 0.187500 5.500000 +v -0.812500 0.187500 6.500000 +v 0.812500 0.187500 6.500000 +v 0.812500 0.187500 5.500000 +v 0.812500 0.187500 4.500000 +v 0.812500 0.187500 3.500000 +v 0.750000 0.062500 6.500000 +v 0.750000 0.062500 5.500000 +v 0.750000 0.062500 4.500000 +v 0.750000 0.062500 3.500000 +v 0.750000 0.187500 6.500000 +v 0.750000 0.187500 5.500000 +v 0.750000 0.187500 4.500000 +v 0.750000 0.187500 3.500000 +v -0.750000 0.062500 3.500000 +v -0.750000 0.062500 4.500000 +v -0.750000 0.062500 5.500000 +v -0.750000 0.062500 6.500000 +v -0.750000 0.187500 3.500000 +v -0.750000 0.187500 4.500000 +v -0.750000 0.187500 5.500000 +v -0.750000 0.187500 6.500000 +v 1.000000 0.062500 -5.187500 +v 1.000000 0.062500 -4.812500 +v -1.000000 0.062500 -4.812500 +v -1.000000 0.062500 -5.187500 +v -1.000000 0.000000 -4.812500 +v 1.000000 0.000000 -4.812500 +v -1.000000 0.000000 -5.187500 +v 1.000000 0.000000 -5.187500 +v -1.000000 0.000000 -5.812500 +v 1.000000 0.000000 -5.812500 +v -1.000000 0.000000 -6.187500 +v 1.000000 0.000000 -6.187500 +v -1.000000 0.000000 -6.812500 +v 1.000000 0.000000 -6.812500 +v -1.000000 0.000000 -7.187500 +v 1.000000 0.000000 -7.187500 +v -1.000000 0.000000 -2.812500 +v 1.000000 0.000000 -2.812500 +v -1.000000 0.000000 -3.187500 +v 1.000000 0.000000 -3.187500 +v -1.000000 0.000000 -3.812500 +v 1.000000 0.000000 -3.812500 +v -1.000000 0.000000 -4.187500 +v 1.000000 0.000000 -4.187500 +v -1.000000 0.062500 -6.187500 +v -1.000000 0.062500 -5.812500 +v 1.000000 0.062500 -5.812500 +v 1.000000 0.062500 -6.187500 +v -1.000000 0.062500 -7.187500 +v -1.000000 0.062500 -6.812500 +v 1.000000 0.062500 -6.812500 +v 1.000000 0.062500 -7.187500 +v -1.000000 0.062500 -3.187500 +v -1.000000 0.062500 -2.812500 +v 1.000000 0.062500 -2.812500 +v 1.000000 0.062500 -3.187500 +v -1.000000 0.062500 -4.187500 +v -1.000000 0.062500 -3.812500 +v 1.000000 0.062500 -3.812500 +v 1.000000 0.062500 -4.187500 +v -0.812500 0.062500 -2.500000 +v 0.812500 0.062500 -2.500000 +v -0.812500 0.062500 -7.500000 +v 0.812500 0.062500 -7.500000 +v -0.812500 0.187500 -2.500000 +v 0.812500 0.187500 -2.500000 +v -0.812500 0.187500 -7.500000 +v 0.812500 0.187500 -7.500000 +v 0.750000 0.062500 -2.500000 +v 0.750000 0.062500 -7.500000 +v 0.750000 0.187500 -2.500000 +v 0.750000 0.187500 -7.500000 +v -0.750000 0.062500 -7.500000 +v -0.750000 0.062500 -2.500000 +v -0.750000 0.187500 -7.500000 +v -0.750000 0.187500 -2.500000 +v 0.625000 0.062500 -2.937500 +v 0.937500 0.062500 -2.937500 +v 0.625000 0.062500 -3.062500 +v 0.937500 0.062500 -3.062500 +v 0.625000 0.125000 -2.937500 +v 0.937500 0.125000 -2.937500 +v 0.625000 0.125000 -3.062500 +v 0.937500 0.125000 -3.062500 +v -0.937500 0.062500 -2.937500 +v -0.625000 0.062500 -2.937500 +v -0.937500 0.062500 -3.062500 +v -0.625000 0.062500 -3.062500 +v -0.937500 0.125000 -2.937500 +v -0.625000 0.125000 -2.937500 +v -0.937500 0.125000 -3.062500 +v -0.625000 0.125000 -3.062500 +v 0.625000 0.062500 -3.937500 +v 0.937500 0.062500 -3.937500 +v 0.625000 0.062500 -4.062500 +v 0.937500 0.062500 -4.062500 +v 0.625000 0.125000 -3.937500 +v 0.937500 0.125000 -3.937500 +v 0.625000 0.125000 -4.062500 +v 0.937500 0.125000 -4.062500 +v -0.937500 0.062500 -3.937500 +v -0.625000 0.062500 -3.937500 +v -0.937500 0.062500 -4.062500 +v -0.625000 0.062500 -4.062500 +v -0.937500 0.125000 -3.937500 +v -0.625000 0.125000 -3.937500 +v -0.937500 0.125000 -4.062500 +v -0.625000 0.125000 -4.062500 +v 0.625000 0.062500 -4.937500 +v 0.937500 0.062500 -4.937500 +v 0.625000 0.062500 -5.062500 +v 0.937500 0.062500 -5.062500 +v 0.625000 0.125000 -4.937500 +v 0.937500 0.125000 -4.937500 +v 0.625000 0.125000 -5.062500 +v 0.937500 0.125000 -5.062500 +v -0.937500 0.062500 -4.937500 +v -0.625000 0.062500 -4.937500 +v -0.937500 0.062500 -5.062500 +v -0.625000 0.062500 -5.062500 +v -0.937500 0.125000 -4.937500 +v -0.625000 0.125000 -4.937500 +v -0.937500 0.125000 -5.062500 +v -0.625000 0.125000 -5.062500 +v 0.625000 0.062500 -5.937500 +v 0.937500 0.062500 -5.937500 +v 0.625000 0.062500 -6.062500 +v 0.937500 0.062500 -6.062500 +v 0.625000 0.125000 -5.937500 +v 0.937500 0.125000 -5.937500 +v 0.625000 0.125000 -6.062500 +v 0.937500 0.125000 -6.062500 +v -0.937500 0.062500 -5.937500 +v -0.625000 0.062500 -5.937500 +v -0.937500 0.062500 -6.062500 +v -0.625000 0.062500 -6.062500 +v -0.937500 0.125000 -5.937500 +v -0.625000 0.125000 -5.937500 +v -0.937500 0.125000 -6.062500 +v -0.625000 0.125000 -6.062500 +v 0.625000 0.062500 -6.937500 +v 0.937500 0.062500 -6.937500 +v 0.625000 0.062500 -7.062500 +v 0.937500 0.062500 -7.062500 +v 0.625000 0.125000 -6.937500 +v 0.937500 0.125000 -6.937500 +v 0.625000 0.125000 -7.062500 +v 0.937500 0.125000 -7.062500 +v -0.937500 0.062500 -6.937500 +v -0.625000 0.062500 -6.937500 +v -0.937500 0.062500 -7.062500 +v -0.625000 0.062500 -7.062500 +v -0.937500 0.125000 -6.937500 +v -0.625000 0.125000 -6.937500 +v -0.937500 0.125000 -7.062500 +v -0.625000 0.125000 -7.062500 +v -0.812500 0.062500 -6.500000 +v -0.812500 0.062500 -5.500000 +v -0.812500 0.062500 -4.500000 +v -0.812500 0.062500 -3.500000 +v 0.812500 0.062500 -3.500000 +v 0.812500 0.062500 -4.500000 +v 0.812500 0.062500 -5.500000 +v 0.812500 0.062500 -6.500000 +v -0.812500 0.187500 -6.500000 +v -0.812500 0.187500 -5.500000 +v -0.812500 0.187500 -4.500000 +v -0.812500 0.187500 -3.500000 +v 0.812500 0.187500 -3.500000 +v 0.812500 0.187500 -4.500000 +v 0.812500 0.187500 -5.500000 +v 0.812500 0.187500 -6.500000 +v 0.750000 0.062500 -3.500000 +v 0.750000 0.062500 -4.500000 +v 0.750000 0.062500 -5.500000 +v 0.750000 0.062500 -6.500000 +v 0.750000 0.187500 -3.500000 +v 0.750000 0.187500 -4.500000 +v 0.750000 0.187500 -5.500000 +v 0.750000 0.187500 -6.500000 +v -0.750000 0.062500 -6.500000 +v -0.750000 0.062500 -5.500000 +v -0.750000 0.062500 -4.500000 +v -0.750000 0.062500 -3.500000 +v -0.750000 0.187500 -6.500000 +v -0.750000 0.187500 -5.500000 +v -0.750000 0.187500 -4.500000 +v -0.750000 0.187500 -3.500000 +v 1.000000 0.062500 -0.187500 +v 1.000000 0.062500 0.187500 +v -1.000000 0.062500 0.187500 +v -1.000000 0.062500 -0.187500 +v -1.000000 0.000000 0.187500 +v 1.000000 0.000000 0.187500 +v -1.000000 0.000000 -0.187500 +v 1.000000 0.000000 -0.187500 +v -1.000000 0.000000 -0.812500 +v 1.000000 0.000000 -0.812500 +v -1.000000 0.000000 -1.187500 +v 1.000000 0.000000 -1.187500 +v -1.000000 0.000000 -1.812500 +v 1.000000 0.000000 -1.812500 +v -1.000000 0.000000 -2.187500 +v 1.000000 0.000000 -2.187500 +v -1.000000 0.000000 2.187500 +v 1.000000 0.000000 2.187500 +v -1.000000 0.000000 1.812500 +v 1.000000 0.000000 1.812500 +v -1.000000 0.000000 1.187500 +v 1.000000 0.000000 1.187500 +v -1.000000 0.000000 0.812500 +v 1.000000 0.000000 0.812500 +v -1.000000 0.062500 -1.187500 +v -1.000000 0.062500 -0.812500 +v 1.000000 0.062500 -0.812500 +v 1.000000 0.062500 -1.187500 +v -1.000000 0.062500 -2.187500 +v -1.000000 0.062500 -1.812500 +v 1.000000 0.062500 -1.812500 +v 1.000000 0.062500 -2.187500 +v -1.000000 0.062500 1.812500 +v -1.000000 0.062500 2.187500 +v 1.000000 0.062500 2.187500 +v 1.000000 0.062500 1.812500 +v -1.000000 0.062500 0.812500 +v -1.000000 0.062500 1.187500 +v 1.000000 0.062500 1.187500 +v 1.000000 0.062500 0.812500 +v 0.625000 0.062500 2.062500 +v 0.937500 0.062500 2.062500 +v 0.625000 0.062500 1.937500 +v 0.937500 0.062500 1.937500 +v 0.625000 0.125000 2.062500 +v 0.937500 0.125000 2.062500 +v 0.625000 0.125000 1.937500 +v 0.937500 0.125000 1.937500 +v -0.937500 0.062500 2.062500 +v -0.625000 0.062500 2.062500 +v -0.937500 0.062500 1.937500 +v -0.625000 0.062500 1.937500 +v -0.937500 0.125000 2.062500 +v -0.625000 0.125000 2.062500 +v -0.937500 0.125000 1.937500 +v -0.625000 0.125000 1.937500 +v 0.625000 0.062500 1.062500 +v 0.937500 0.062500 1.062500 +v 0.625000 0.062500 0.937500 +v 0.937500 0.062500 0.937500 +v 0.625000 0.125000 1.062500 +v 0.937500 0.125000 1.062500 +v 0.625000 0.125000 0.937500 +v 0.937500 0.125000 0.937500 +v -0.937500 0.062500 1.062500 +v -0.625000 0.062500 1.062500 +v -0.937500 0.062500 0.937500 +v -0.625000 0.062500 0.937500 +v -0.937500 0.125000 1.062500 +v -0.625000 0.125000 1.062500 +v -0.937500 0.125000 0.937500 +v -0.625000 0.125000 0.937500 +v 0.625000 0.062500 0.062500 +v 0.937500 0.062500 0.062500 +v 0.625000 0.062500 -0.062500 +v 0.937500 0.062500 -0.062500 +v 0.625000 0.125000 0.062500 +v 0.937500 0.125000 0.062500 +v 0.625000 0.125000 -0.062500 +v 0.937500 0.125000 -0.062500 +v -0.937500 0.062500 0.062500 +v -0.625000 0.062500 0.062500 +v -0.937500 0.062500 -0.062500 +v -0.625000 0.062500 -0.062500 +v -0.937500 0.125000 0.062500 +v -0.625000 0.125000 0.062500 +v -0.937500 0.125000 -0.062500 +v -0.625000 0.125000 -0.062500 +v 0.625000 0.062500 -0.937500 +v 0.937500 0.062500 -0.937500 +v 0.625000 0.062500 -1.062500 +v 0.937500 0.062500 -1.062500 +v 0.625000 0.125000 -0.937500 +v 0.937500 0.125000 -0.937500 +v 0.625000 0.125000 -1.062500 +v 0.937500 0.125000 -1.062500 +v -0.937500 0.062500 -0.937500 +v -0.625000 0.062500 -0.937500 +v -0.937500 0.062500 -1.062500 +v -0.625000 0.062500 -1.062500 +v -0.937500 0.125000 -0.937500 +v -0.625000 0.125000 -0.937500 +v -0.937500 0.125000 -1.062500 +v -0.625000 0.125000 -1.062500 +v 0.625000 0.062500 -1.937500 +v 0.937500 0.062500 -1.937500 +v 0.625000 0.062500 -2.062500 +v 0.937500 0.062500 -2.062500 +v 0.625000 0.125000 -1.937500 +v 0.937500 0.125000 -1.937500 +v 0.625000 0.125000 -2.062500 +v 0.937500 0.125000 -2.062500 +v -0.937500 0.062500 -1.937500 +v -0.625000 0.062500 -1.937500 +v -0.937500 0.062500 -2.062500 +v -0.625000 0.062500 -2.062500 +v -0.937500 0.125000 -1.937500 +v -0.625000 0.125000 -1.937500 +v -0.937500 0.125000 -2.062500 +v -0.625000 0.125000 -2.062500 +v -0.812500 0.062500 -1.500000 +v -0.812500 0.062500 -0.500000 +v -0.812500 0.062500 0.500000 +v -0.812500 0.062500 1.500000 +v 0.812500 0.062500 1.500000 +v 0.812500 0.062500 0.500000 +v 0.812500 0.062500 -0.500000 +v 0.812500 0.062500 -1.500000 +v -0.812500 0.187500 -1.500000 +v -0.812500 0.187500 -0.500000 +v -0.812500 0.187500 0.500000 +v -0.812500 0.187500 1.500000 +v 0.812500 0.187500 1.500000 +v 0.812500 0.187500 0.500000 +v 0.812500 0.187500 -0.500000 +v 0.812500 0.187500 -1.500000 +v 0.750000 0.062500 1.500000 +v 0.750000 0.062500 0.500000 +v 0.750000 0.062500 -0.500000 +v 0.750000 0.062500 -1.500000 +v 0.750000 0.187500 1.500000 +v 0.750000 0.187500 0.500000 +v 0.750000 0.187500 -0.500000 +v 0.750000 0.187500 -1.500000 +v -0.750000 0.062500 -1.500000 +v -0.750000 0.062500 -0.500000 +v -0.750000 0.062500 0.500000 +v -0.750000 0.062500 1.500000 +v -0.750000 0.187500 -1.500000 +v -0.750000 0.187500 -0.500000 +v -0.750000 0.187500 0.500000 +v -0.750000 0.187500 1.500000 +v 1.725096 0.062500 1.451439 +v 1.966661 0.062500 1.649687 +v 1.645797 0.062500 1.548066 +v 1.887362 0.062500 1.746314 +v 1.756082 0.062500 1.315164 +v 1.518184 0.062500 1.605042 +v 3.064205 0.062500 2.873829 +v 3.302103 0.062500 2.583950 +v 1.756082 0.000000 1.315164 +v 3.302103 0.000000 2.583950 +v 1.518184 0.000000 1.605042 +v 3.064205 0.000000 2.873829 +v 0.504144 0.062500 3.159608 +v 0.504144 0.187500 3.159608 +v 1.855282 0.187500 4.062409 +v 1.855282 0.062500 4.062409 +v 0.556111 0.062500 3.194331 +v 0.556111 0.187500 3.194331 +v 1.803315 0.187500 4.027686 +v 1.803315 0.062500 4.027686 +v -0.217808 0.062500 4.510286 +v -0.217808 0.187500 4.510286 +v 1.283496 0.187500 5.132147 +v 1.283496 0.062500 5.132147 +v -0.160065 0.062500 4.534204 +v -0.160065 0.187500 4.534204 +v 1.225753 0.187500 5.108229 +v 1.225753 0.062500 5.108229 +v -0.662384 0.062500 5.975857 +v -0.662384 0.187500 5.975857 +v 0.931392 0.187500 6.292879 +v 0.931392 0.062500 6.292879 +v -0.601084 0.062500 5.988050 +v -0.601084 0.187500 5.988050 +v 0.870092 0.187500 6.280685 +v 0.870092 0.062500 6.280685 +v -0.812499 0.062500 7.500000 +v -0.812499 0.187500 7.500000 +v 0.812501 0.187500 7.500000 +v 0.812501 0.062500 7.500000 +v -0.749998 0.062500 7.500000 +v -0.749998 0.187500 7.500000 +v 0.750000 0.187500 7.500000 +v 0.750000 0.062500 7.500000 +v 1.376398 0.062500 2.183322 +v 1.376398 0.187500 2.183322 +v 1.324431 0.187500 2.148599 +v 1.324431 0.062500 2.148599 +v 3.495856 0.062500 2.040392 +v 3.495856 0.187500 2.040392 +v 2.144718 0.187500 1.137591 +v 2.144718 0.062500 1.137591 +v 3.443888 0.062500 2.005669 +v 3.443888 0.187500 2.005669 +v 2.196684 0.187500 1.172314 +v 2.196684 0.062500 1.172314 +v 4.217808 0.062500 0.689714 +v 4.217808 0.187500 0.689714 +v 2.716504 0.187500 0.067853 +v 2.716504 0.062500 0.067853 +v 4.160065 0.062500 0.665796 +v 4.160065 0.187500 0.665796 +v 2.774246 0.187500 0.091771 +v 2.774246 0.062500 0.091771 +v 4.662384 0.062500 -0.775857 +v 4.662384 0.187500 -0.775857 +v 3.068608 0.187500 -1.092879 +v 3.068608 0.062500 -1.092879 +v 4.601084 0.062500 -0.788050 +v 4.601084 0.187500 -0.788050 +v 3.129908 0.187500 -1.080685 +v 3.129908 0.062500 -1.080685 +v 4.812499 0.062500 -2.300000 +v 4.812499 0.187500 -2.300000 +v 3.187499 0.187500 -2.300000 +v 3.187499 0.062500 -2.300000 +v 4.749998 0.062500 -2.300000 +v 4.749998 0.187500 -2.300000 +v 3.250000 0.187500 -2.300000 +v 3.250000 0.062500 -2.300000 +v 2.932924 0.125000 2.442679 +v 3.174490 0.125000 2.640927 +v 2.853625 0.125000 2.539305 +v 3.095191 0.125000 2.737553 +v 2.623602 0.062500 3.016677 +v 2.623602 0.187500 3.016677 +v 2.675569 0.062500 3.051401 +v 2.675569 0.187500 3.051401 +v 2.932924 0.062500 2.442679 +v 3.174490 0.062500 2.640927 +v 2.853625 0.062500 2.539305 +v 3.095191 0.062500 2.737553 +v 1.725096 0.125000 1.451439 +v 1.966661 0.125000 1.649687 +v 1.645797 0.125000 1.548066 +v 1.887362 0.125000 1.746314 +v 3.000000 0.062500 -5.187500 +v 3.000000 0.062500 -4.812500 +v 5.000000 0.062500 -4.812500 +v 5.000000 0.062500 -5.187500 +v 5.000000 0.000000 -4.812500 +v 3.000000 0.000000 -4.812500 +v 5.000000 0.000000 -5.187500 +v 3.000000 0.000000 -5.187500 +v 5.000000 0.000000 -5.812500 +v 3.000000 0.000000 -5.812500 +v 5.000000 0.000000 -6.187500 +v 3.000000 0.000000 -6.187500 +v 5.000000 0.000000 -6.812500 +v 3.000000 0.000000 -6.812500 +v 5.000000 0.000000 -7.187500 +v 3.000000 0.000000 -7.187500 +v 5.000000 0.000000 -3.812500 +v 3.000000 0.000000 -3.812500 +v 5.000000 0.000000 -4.187500 +v 3.000000 0.000000 -4.187500 +v 5.000000 0.062500 -6.187500 +v 5.000000 0.062500 -5.812500 +v 3.000000 0.062500 -5.812500 +v 3.000000 0.062500 -6.187500 +v 5.000000 0.062500 -7.187500 +v 5.000000 0.062500 -6.812500 +v 3.000000 0.062500 -6.812500 +v 3.000000 0.062500 -7.187500 +v 5.000000 0.062500 -4.187500 +v 5.000000 0.062500 -3.812500 +v 3.000000 0.062500 -3.812500 +v 3.000000 0.062500 -4.187500 +v 4.812500 0.062500 -7.500000 +v 3.187500 0.062500 -7.500000 +v 4.812500 0.187500 -7.500000 +v 3.187500 0.187500 -7.500000 +v 3.250000 0.062500 -7.500000 +v 3.250000 0.187500 -7.500000 +v 4.750000 0.062500 -7.500000 +v 4.750000 0.187500 -7.500000 +v 3.375000 0.062500 -3.937500 +v 3.062500 0.062500 -3.937500 +v 3.375000 0.062500 -4.062500 +v 3.062500 0.062500 -4.062500 +v 3.375000 0.125000 -3.937500 +v 3.062500 0.125000 -3.937500 +v 3.375000 0.125000 -4.062500 +v 3.062500 0.125000 -4.062500 +v 4.937500 0.062500 -3.937500 +v 4.625000 0.062500 -3.937500 +v 4.937500 0.062500 -4.062500 +v 4.625000 0.062500 -4.062500 +v 4.937500 0.125000 -3.937500 +v 4.625000 0.125000 -3.937500 +v 4.937500 0.125000 -4.062500 +v 4.625000 0.125000 -4.062500 +v 3.375000 0.062500 -4.937500 +v 3.062500 0.062500 -4.937500 +v 3.375000 0.062500 -5.062500 +v 3.062500 0.062500 -5.062500 +v 3.375000 0.125000 -4.937500 +v 3.062500 0.125000 -4.937500 +v 3.375000 0.125000 -5.062500 +v 3.062500 0.125000 -5.062500 +v 4.937500 0.062500 -4.937500 +v 4.625000 0.062500 -4.937500 +v 4.937500 0.062500 -5.062500 +v 4.625000 0.062500 -5.062500 +v 4.937500 0.125000 -4.937500 +v 4.625000 0.125000 -4.937500 +v 4.937500 0.125000 -5.062500 +v 4.625000 0.125000 -5.062500 +v 3.375000 0.062500 -5.937500 +v 3.062500 0.062500 -5.937500 +v 3.375000 0.062500 -6.062500 +v 3.062500 0.062500 -6.062500 +v 3.375000 0.125000 -5.937500 +v 3.062500 0.125000 -5.937500 +v 3.375000 0.125000 -6.062500 +v 3.062500 0.125000 -6.062500 +v 4.937500 0.062500 -5.937500 +v 4.625000 0.062500 -5.937500 +v 4.937500 0.062500 -6.062500 +v 4.625000 0.062500 -6.062500 +v 4.937500 0.125000 -5.937500 +v 4.625000 0.125000 -5.937500 +v 4.937500 0.125000 -6.062500 +v 4.625000 0.125000 -6.062500 +v 3.375000 0.062500 -6.937500 +v 3.062500 0.062500 -6.937500 +v 3.375000 0.062500 -7.062500 +v 3.062500 0.062500 -7.062500 +v 3.375000 0.125000 -6.937500 +v 3.062500 0.125000 -6.937500 +v 3.375000 0.125000 -7.062500 +v 3.062500 0.125000 -7.062500 +v 4.937500 0.062500 -6.937500 +v 4.625000 0.062500 -6.937500 +v 4.937500 0.062500 -7.062500 +v 4.625000 0.062500 -7.062500 +v 4.937500 0.125000 -6.937500 +v 4.625000 0.125000 -6.937500 +v 4.937500 0.125000 -7.062500 +v 4.625000 0.125000 -7.062500 +v 4.812500 0.062500 -6.500000 +v 4.812500 0.062500 -5.500000 +v 4.812500 0.062500 -4.500000 +v 4.812500 0.062500 -3.500000 +v 3.187500 0.062500 -3.500000 +v 3.187500 0.062500 -4.500000 +v 3.187500 0.062500 -5.500000 +v 3.187500 0.062500 -6.500000 +v 4.812500 0.187500 -6.500000 +v 4.812500 0.187500 -5.500000 +v 4.812500 0.187500 -4.500000 +v 4.812500 0.187500 -3.500000 +v 3.187500 0.187500 -3.500000 +v 3.187500 0.187500 -4.500000 +v 3.187500 0.187500 -5.500000 +v 3.187500 0.187500 -6.500000 +v 3.250000 0.062500 -3.500000 +v 3.250000 0.062500 -4.500000 +v 3.250000 0.062500 -5.500000 +v 3.250000 0.062500 -6.500000 +v 3.250000 0.187500 -3.500000 +v 3.250000 0.187500 -4.500000 +v 3.250000 0.187500 -5.500000 +v 3.250000 0.187500 -6.500000 +v 4.750000 0.062500 -6.500000 +v 4.750000 0.062500 -5.500000 +v 4.750000 0.062500 -4.500000 +v 4.750000 0.062500 -3.500000 +v 4.750000 0.187500 -6.500000 +v 4.750000 0.187500 -5.500000 +v 4.750000 0.187500 -4.500000 +v 4.750000 0.187500 -3.500000 +v 2.346383 0.062500 0.486832 +v 2.621983 0.062500 0.634143 +v 2.287458 0.062500 0.597072 +v 2.563059 0.062500 0.744383 +v 2.350187 0.062500 0.347129 +v 2.173414 0.062500 0.677850 +v 3.937256 0.062500 1.620643 +v 4.114030 0.062500 1.289923 +v 2.350187 0.000000 0.347129 +v 4.114030 0.000000 1.289923 +v 2.173414 0.000000 0.677850 +v 3.937256 0.000000 1.620643 +v 3.724385 0.125000 1.223389 +v 3.999985 0.125000 1.370701 +v 3.665460 0.125000 1.333629 +v 3.941061 0.125000 1.480941 +v 3.724385 0.062500 1.223389 +v 3.999985 0.062500 1.370701 +v 3.665460 0.062500 1.333629 +v 3.941061 0.062500 1.480941 +v 2.346383 0.125000 0.486832 +v 2.621983 0.125000 0.634143 +v 2.287458 0.125000 0.597072 +v 2.563059 0.125000 0.744383 +v 2.787336 0.062500 -0.609743 +v 3.086380 0.062500 -0.519029 +v 2.751051 0.062500 -0.490125 +v 3.050095 0.062500 -0.399411 +v 2.763813 0.062500 -0.747503 +v 2.654956 0.062500 -0.388651 +v 4.568837 0.062500 0.191919 +v 4.677694 0.062500 -0.166934 +v 2.763813 0.000000 -0.747503 +v 4.677694 0.000000 -0.166934 +v 2.654956 0.000000 -0.388651 +v 4.568837 0.000000 0.191919 +v 4.282555 0.125000 -0.156173 +v 4.581599 0.125000 -0.065459 +v 4.246270 0.125000 -0.036556 +v 4.545314 0.125000 0.054159 +v 4.282555 0.062500 -0.156173 +v 4.581599 0.062500 -0.065459 +v 4.246270 0.062500 -0.036556 +v 4.545314 0.062500 0.054159 +v 2.787336 0.125000 -0.609743 +v 3.086380 0.125000 -0.519029 +v 2.751051 0.125000 -0.490125 +v 3.050095 0.125000 -0.399411 +v 3.005888 0.062500 -1.771274 +v 3.316883 0.062500 -1.740644 +v 2.993635 0.062500 -1.646876 +v 3.304631 0.062500 -1.616246 +v 2.955941 0.062500 -1.901798 +v 2.919184 0.062500 -1.528604 +v 4.909554 0.062500 -1.332570 +v 4.946310 0.062500 -1.705764 +v 2.955941 0.000000 -1.901798 +v 4.946310 0.000000 -1.705764 +v 2.919184 0.000000 -1.528604 +v 4.909554 0.000000 -1.332570 +v 4.560863 0.125000 -1.618122 +v 4.871859 0.125000 -1.587492 +v 4.548611 0.125000 -1.493724 +v 4.859607 0.125000 -1.463094 +v 4.560863 0.062500 -1.618122 +v 4.871859 0.062500 -1.587492 +v 4.548611 0.062500 -1.493724 +v 4.859607 0.062500 -1.463094 +v 3.005888 0.125000 -1.771274 +v 3.316883 0.125000 -1.740644 +v 2.993635 0.125000 -1.646876 +v 3.304631 0.125000 -1.616246 +v 0.904809 0.062500 2.462447 +v 1.146375 0.062500 2.660695 +v 0.825510 0.062500 2.559073 +v 1.067076 0.062500 2.757321 +v 0.935795 0.062500 2.326171 +v 0.697898 0.062500 2.616050 +v 2.243919 0.062500 3.884836 +v 2.481816 0.062500 3.594958 +v 0.935795 0.000000 2.326171 +v 2.481816 0.000000 3.594958 +v 0.697898 0.000000 2.616050 +v 2.243919 0.000000 3.884836 +v 2.112638 0.125000 3.453686 +v 2.354204 0.125000 3.651934 +v 2.033339 0.125000 3.550313 +v 2.274905 0.125000 3.748561 +v 2.112638 0.062500 3.453686 +v 2.354204 0.062500 3.651934 +v 2.033339 0.062500 3.550313 +v 2.274905 0.062500 3.748561 +v 0.904809 0.125000 2.462447 +v 1.146375 0.125000 2.660695 +v 0.825510 0.125000 2.559073 +v 1.067076 0.125000 2.757321 +v 5.000000 0.000000 -2.812500 +v 3.000000 0.000000 -2.812500 +v 5.000000 0.000000 -3.187500 +v 3.000000 0.000000 -3.187500 +v 5.000000 0.062500 -3.187500 +v 5.000000 0.062500 -2.812500 +v 3.000000 0.062500 -2.812500 +v 3.000000 0.062500 -3.187500 +v 3.375000 0.062500 -2.937500 +v 3.062500 0.062500 -2.937500 +v 3.375000 0.062500 -3.062500 +v 3.062500 0.062500 -3.062500 +v 3.375000 0.125000 -2.937500 +v 3.062500 0.125000 -2.937500 +v 3.375000 0.125000 -3.062500 +v 3.062500 0.125000 -3.062500 +v 4.937500 0.062500 -2.937500 +v 4.625000 0.062500 -2.937500 +v 4.937500 0.062500 -3.062500 +v 4.625000 0.062500 -3.062500 +v 4.937500 0.125000 -2.937500 +v 4.625000 0.125000 -2.937500 +v 4.937500 0.125000 -3.062500 +v 4.625000 0.125000 -3.062500 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.500000 0.156250 +vt 0.437500 0.656250 +vt 0.437500 0.156250 +vt 0.531250 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.531250 0.718750 +vt 0.500000 0.656250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.406250 0.156250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.656250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.406250 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.656250 +vt 0.500000 0.656250 +vt 0.531250 0.718750 +vt 0.500000 0.718750 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.500000 0.156250 +vt 0.437500 0.656250 +vt 0.437500 0.156250 +vt 0.531250 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.406250 0.156250 +vt 0.500000 0.656250 +vt 0.531250 0.718750 +vt 0.500000 0.718750 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.656250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.406250 0.156250 +vt 0.406250 0.656250 +vt 0.531250 0.718750 +vt 0.500000 0.656250 +vt 0.531250 0.656250 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.406250 0.156250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.656250 +vt 0.437500 0.656250 +vt 0.500000 0.156250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.500000 0.156250 +vt 0.437500 0.656250 +vt 0.500000 0.656250 +vt 0.437500 0.656250 +vt 0.500000 0.156250 +vt 0.437500 0.156250 +vt 0.406250 0.156250 +vt 0.406250 1.000000 +vt 0.218750 0.000000 +vt 0.406250 0.000000 +vt 0.406250 0.656250 +vt 0.437500 0.156250 +vt 0.406250 0.156250 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.593750 0.031250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.437500 0.031250 +vt 0.593750 0.062500 +vt 0.593750 0.031250 +vt 0.531250 0.656250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.531250 0.156250 +vt 0.406250 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.062500 +vt 0.437500 0.656250 +vt 0.500000 0.156250 +vt 0.437500 0.156250 +vt 0.531250 0.656250 +vt 0.593750 0.156250 +vt 0.531250 0.156250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.593750 0.156250 +vt 0.531250 0.156250 +vt 0.406250 0.656250 +vt 0.437500 0.156250 +vt 0.406250 0.156250 +vt 0.593750 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.437500 0.156250 +vt 0.406250 0.156250 +vt 0.500000 0.656250 +vt 0.531250 0.156250 +vt 0.500000 0.156250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.593750 0.156250 +vt 0.531250 0.156250 +vt 0.500000 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.531250 0.656250 +vt 0.593750 0.156250 +vt 0.531250 0.156250 +vt 0.437500 0.656250 +vt 0.500000 0.156250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.437500 0.156250 +vt 0.531250 0.656250 +vt 0.593750 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.593750 0.156250 +vt 0.531250 0.656250 +vt 0.593750 0.656250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.406250 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.156250 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.406250 -0.000000 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.187500 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.593750 0.156250 +vt 0.437500 0.125000 +vt 0.437500 0.156250 +vt 0.187500 1.000000 +vt 0.218750 1.000000 +vt 0.187500 1.000000 +vt 0.218750 0.000000 +vt 0.218750 1.000000 +vt 0.593750 0.156250 +vt 0.531250 0.656250 +vt 0.593750 0.656250 +vt 0.500000 0.156250 +vt 0.437500 0.656250 +vt 0.500000 0.656250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.500000 0.656250 +vt 0.531250 0.156250 +vt 0.437500 0.156250 +vt 0.406250 0.656250 +vt 0.437500 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.406250 0.656250 +vt 0.531250 0.156250 +vt 0.500000 0.656250 +vt 0.531250 0.656250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.406250 0.656250 +vt 0.593750 0.156250 +vt 0.531250 0.656250 +vt 0.593750 0.656250 +vt 0.500000 0.156250 +vt 0.500000 0.656250 +vt 0.531250 0.156250 +vt 0.437500 0.156250 +vt 0.406250 0.656250 +vt 0.500000 0.156250 +vt 0.500000 0.656250 +vt 0.593750 0.156250 +vt 0.531250 0.656250 +vt 0.593750 0.656250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.406250 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.500000 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.437500 0.125000 +vt 0.593750 0.062500 +vt 0.437500 0.062500 +vt 0.625000 0.062500 +vt 0.593750 0.125000 +vt 0.625000 0.125000 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.406250 0.656250 +vt 0.437500 0.156250 +vt 0.406250 0.156250 +vt 0.625000 0.062500 +vt 0.593750 0.125000 +vt 0.625000 0.125000 +vt 0.187500 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.406250 1.000000 +vt 0.218750 0.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 0.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 0.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 0.000000 +vt 0.406250 0.000000 +vt 0.187500 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.187500 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.187500 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.187500 1.000000 +vt 0.218750 0.000000 +vt 0.218750 1.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.218750 1.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.593750 0.031250 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.593750 0.031250 +vt 0.187500 1.000000 +vt 0.218750 0.000000 +vt 0.218750 1.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.593750 0.031250 +vt 0.187500 1.000000 +vt 0.218750 0.000000 +vt 0.218750 1.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.218750 0.000000 +vt 0.218750 1.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.218750 1.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.593750 0.031250 +vt 0.187500 1.000000 +vt 0.218750 1.000000 +vt 0.593750 0.156250 +vt 0.531250 0.656250 +vt 0.593750 0.656250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.500000 0.656250 +vt 0.531250 0.718750 +vt 0.500000 0.656250 +vt 0.500000 0.718750 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.406250 0.656250 +vt 0.500000 0.656250 +vt 0.531250 0.718750 +vt 0.531250 0.656250 +vt 0.406250 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.062500 +vt 0.593750 0.156250 +vt 0.437500 0.125000 +vt 0.437500 0.156250 +vt 0.437500 0.031250 +vt 0.593750 0.062500 +vt 0.593750 0.031250 +vt 0.625000 0.062500 +vt 0.593750 0.125000 +vt 0.625000 0.125000 +vt 0.406250 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.062500 +vt 0.593750 0.156250 +vt 0.437500 0.125000 +vt 0.437500 0.156250 +vt 0.437500 0.031250 +vt 0.593750 0.062500 +vt 0.593750 0.031250 +vt 0.625000 0.062500 +vt 0.593750 0.125000 +vt 0.625000 0.125000 +vt 0.406250 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.062500 +vt 0.593750 0.156250 +vt 0.437500 0.125000 +vt 0.437500 0.156250 +vt 0.437500 0.031250 +vt 0.593750 0.062500 +vt 0.593750 0.031250 +vt 0.625000 0.062500 +vt 0.593750 0.125000 +vt 0.625000 0.125000 +vt 0.406250 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.062500 +vt 0.593750 0.156250 +vt 0.437500 0.125000 +vt 0.437500 0.156250 +vt 0.437500 0.031250 +vt 0.593750 0.062500 +vt 0.593750 0.031250 +vt 0.625000 0.062500 +vt 0.593750 0.125000 +vt 0.625000 0.125000 +vt 0.406250 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.062500 +vt 0.593750 0.156250 +vt 0.437500 0.125000 +vt 0.437500 0.156250 +vt 0.437500 0.031250 +vt 0.593750 0.062500 +vt 0.593750 0.031250 +vt 0.625000 0.062500 +vt 0.593750 0.125000 +vt 0.625000 0.125000 +vt 0.406250 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.062500 +vt 0.593750 0.156250 +vt 0.437500 0.125000 +vt 0.437500 0.156250 +vt 0.437500 0.031250 +vt 0.593750 0.062500 +vt 0.593750 0.031250 +vt 0.625000 0.062500 +vt 0.593750 0.125000 +vt 0.625000 0.125000 +vt 0.406250 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.062500 +vt 0.593750 0.156250 +vt 0.437500 0.125000 +vt 0.437500 0.156250 +vt 0.437500 0.031250 +vt 0.593750 0.062500 +vt 0.593750 0.031250 +vt 0.625000 0.062500 +vt 0.593750 0.125000 +vt 0.625000 0.125000 +vt 0.406250 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.062500 +vt 0.593750 0.156250 +vt 0.437500 0.125000 +vt 0.437500 0.156250 +vt 0.437500 0.031250 +vt 0.593750 0.062500 +vt 0.593750 0.031250 +vt 0.625000 0.062500 +vt 0.593750 0.125000 +vt 0.625000 0.125000 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.406250 0.656250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.406250 0.656250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.406250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.531250 0.156250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.531250 0.156250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.531250 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.437500 0.156250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.437500 0.156250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.437500 0.156250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.437500 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.500000 0.656250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.500000 0.656250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.500000 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.156250 +vt 0.531250 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.156250 +vt 0.531250 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.156250 +vt 0.531250 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.406250 0.656250 +vt 0.593750 0.156250 +vt 0.531250 0.656250 +vt 0.593750 0.656250 +vt 0.500000 0.656250 +vt 0.531250 0.156250 +vt 0.500000 0.156250 +vt 0.437500 0.656250 +vt 0.437500 0.156250 +vt 0.406250 0.656250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.406250 1.000000 +vt 0.218750 0.000000 +vt 0.406250 0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.593750 0.031250 +vt 0.437500 0.031250 +vt 0.593750 0.062500 +vt 0.593750 0.031250 +vt 0.406250 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.062500 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.406250 -0.000000 +vt 0.187500 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.593750 0.156250 +vt 0.437500 0.125000 +vt 0.437500 0.156250 +vt 0.187500 1.000000 +vt 0.218750 1.000000 +vt 0.187500 1.000000 +vt 0.218750 0.000000 +vt 0.218750 1.000000 +vt 0.437500 0.125000 +vt 0.593750 0.062500 +vt 0.437500 0.062500 +vt 0.625000 0.062500 +vt 0.593750 0.125000 +vt 0.625000 0.125000 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.625000 0.062500 +vt 0.593750 0.125000 +vt 0.625000 0.125000 +vt 0.406250 0.000000 +vt 0.218750 1.000000 +vt 0.218750 0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.593750 0.031250 +vt 0.437500 0.031250 +vt 0.593750 0.062500 +vt 0.593750 0.031250 +vt 0.406250 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.062500 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.406250 -0.000000 +vt 0.000000 0.000000 +vt 0.187500 1.000000 +vt 0.000000 1.000000 +vt 0.593750 0.156250 +vt 0.437500 0.125000 +vt 0.437500 0.156250 +vt 0.187500 1.000000 +vt 0.218750 0.000000 +vt 0.218750 1.000000 +vt 0.437500 0.125000 +vt 0.593750 0.062500 +vt 0.437500 0.062500 +vt 0.625000 0.062500 +vt 0.593750 0.125000 +vt 0.625000 0.125000 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.625000 0.062500 +vt 0.593750 0.125000 +vt 0.625000 0.125000 +vt 0.406250 1.000000 +vt 0.218750 0.000000 +vt 0.406250 0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.593750 0.031250 +vt 0.437500 0.031250 +vt 0.593750 0.062500 +vt 0.593750 0.031250 +vt 0.406250 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.062500 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.406250 -0.000000 +vt 0.187500 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.593750 0.156250 +vt 0.437500 0.125000 +vt 0.437500 0.156250 +vt 0.187500 1.000000 +vt 0.218750 1.000000 +vt 0.187500 1.000000 +vt 0.218750 0.000000 +vt 0.218750 1.000000 +vt 0.593750 0.125000 +vt 0.437500 0.062500 +vt 0.437500 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.031250 +vt 0.593750 0.062500 +vt 0.593750 0.031250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.406250 0.000000 +vt 0.218750 1.000000 +vt 0.218750 0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.593750 0.031250 +vt 0.437500 0.031250 +vt 0.593750 0.062500 +vt 0.593750 0.031250 +vt 0.406250 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.062500 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.406250 -0.000000 +vt 0.000000 0.000000 +vt 0.187500 1.000000 +vt 0.000000 1.000000 +vt 0.593750 0.156250 +vt 0.437500 0.125000 +vt 0.437500 0.156250 +vt 0.187500 1.000000 +vt 0.218750 0.000000 +vt 0.218750 1.000000 +vt 0.437500 0.125000 +vt 0.593750 0.062500 +vt 0.437500 0.062500 +vt 0.625000 0.062500 +vt 0.593750 0.125000 +vt 0.625000 0.125000 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.406250 1.000000 +vt 0.218750 0.000000 +vt 0.406250 0.000000 +vt 0.187500 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.593750 0.031250 +vt 0.187500 1.000000 +vt 0.218750 0.000000 +vt 0.218750 1.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.062500 +vt 0.593750 0.156250 +vt 0.437500 0.125000 +vt 0.437500 0.156250 +vt 0.437500 0.031250 +vt 0.593750 0.062500 +vt 0.593750 0.031250 +vt 0.625000 0.062500 +vt 0.593750 0.125000 +vt 0.625000 0.125000 +vt 0.406250 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.062500 +vt 0.593750 0.156250 +vt 0.437500 0.125000 +vt 0.437500 0.156250 +vt 0.437500 0.031250 +vt 0.593750 0.062500 +vt 0.593750 0.031250 +vt 0.625000 0.062500 +vt 0.593750 0.125000 +vt 0.625000 0.125000 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.593750 0.031250 +vt 0.406250 -0.000000 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.593750 0.031250 +vt 0.406250 -0.000000 +vt 0.500000 0.718750 +vt 0.406250 0.656250 +vt 0.531250 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.656250 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.593750 0.031250 +vt 0.406250 -0.000000 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.593750 0.031250 +vt 0.406250 -0.000000 +vt 0.531250 0.656250 +vt 0.500000 0.718750 +vt 0.406250 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.656250 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.593750 0.031250 +vt 0.406250 -0.000000 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.593750 0.031250 +vt 0.406250 -0.000000 +vt 0.406250 0.656250 +vt 0.406250 0.656250 +vt 0.500000 0.656250 +vt 0.500000 0.656250 +vt 0.406250 0.656250 +vt 0.437500 0.656250 +vt 0.406250 -0.000000 +vt 0.500000 0.656250 +vt 0.593750 0.656250 +vt 0.500000 0.656250 +vt 0.593750 0.656250 +vt 0.593750 0.656250 +vt 0.406250 0.656250 +vt 0.593750 0.656250 +vt 0.593750 0.656250 +vt 0.500000 0.656250 +vt 0.406250 0.656250 +vt 0.593750 0.656250 +vt 0.437500 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.031250 +vt 0.187500 0.000000 +vt 0.531250 0.156250 +vt 0.531250 0.156250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.156250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.156250 +vt 0.187500 0.000000 +vt 0.593750 0.031250 +vt 0.406250 -0.000000 +vt 0.406250 -0.000000 +vt 0.187500 0.000000 +vt 0.406250 -0.000000 +vt 0.187500 0.000000 +vt 0.593750 0.031250 +vt 0.187500 0.000000 +vt 0.593750 0.031250 +vt 0.593750 0.031250 +vt 0.406250 -0.000000 +vt 0.531250 0.656250 +vt 0.500000 0.718750 +vt 0.406250 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.656250 +vt 0.593750 0.156250 +vt 0.500000 0.156250 +vt 0.406250 0.156250 +vt 0.593750 0.156250 +vt 0.406250 -0.000000 +vt 0.593750 0.031250 +vt 0.187500 0.000000 +vt 0.406250 1.000000 +vt 0.406250 -0.000000 +vt 0.593750 0.031250 +vt 0.187500 0.000000 +vt 0.187500 0.000000 +vt 0.406250 -0.000000 +vt 0.593750 0.031250 +vt 0.187500 0.000000 +vt 0.406250 1.000000 +vt 0.406250 -0.000000 +vt 0.593750 0.031250 +vt 0.187500 0.000000 +vt 0.187500 0.000000 +vt 0.406250 -0.000000 +vt 0.187500 0.000000 +vt 0.593750 0.031250 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn -0.7765 0.0000 -0.6301 +vn -0.8819 0.0000 -0.4714 +vn 0.7730 0.0000 0.6344 +vn -0.6344 0.0000 0.7730 +vn -0.9569 0.0000 -0.2903 +vn 0.9569 0.0000 0.2903 +vn 0.8819 0.0000 0.4714 +vn 0.9952 0.0000 0.0980 +vn -0.9952 0.0000 -0.0980 +vn 0.7765 0.0000 0.6301 +vn -0.7730 0.0000 -0.6344 +vn 0.6344 0.0000 -0.7730 +vn -0.4714 0.0000 0.8819 +vn 0.4714 0.0000 -0.8819 +vn -0.2903 0.0000 0.9569 +vn 0.2903 0.0000 -0.9569 +vn -0.0980 0.0000 0.9952 +vn 0.0980 0.0000 -0.9952 +s off +f 34/85/13 36/86/13 35/87/13 +f 39/88/14 38/89/14 37/90/14 +f 43/91/14 42/92/14 41/93/14 +f 47/94/14 46/95/14 45/96/14 +f 51/97/14 50/98/14 49/99/14 +f 55/100/14 54/101/14 53/102/14 +f 59/103/13 57/104/13 58/105/13 +f 63/106/13 61/107/13 62/108/13 +f 67/109/13 65/110/13 66/111/13 +f 71/112/13 69/113/13 70/114/13 +f 49/115/15 65/116/15 51/117/15 +f 42/118/16 58/119/16 41/120/16 +f 50/121/16 66/122/16 49/123/16 +f 44/124/17 59/125/17 42/92/17 +f 52/126/17 67/127/17 50/98/17 +f 43/91/18 60/128/18 44/129/18 +f 37/130/15 36/131/15 39/132/15 +f 51/97/18 68/133/18 52/134/18 +f 45/135/15 61/136/15 47/137/15 +f 38/138/16 35/139/16 37/140/16 +f 53/141/15 69/142/15 55/143/15 +f 46/144/16 62/145/16 45/146/16 +f 40/147/17 34/148/17 38/89/17 +f 54/149/16 70/150/16 53/151/16 +f 48/152/17 63/153/17 46/95/17 +f 39/88/18 33/154/18 40/155/18 +f 56/156/17 71/157/17 54/101/17 +f 47/94/18 64/158/18 48/159/18 +f 41/160/15 57/161/15 43/162/15 +f 55/100/18 72/163/18 56/164/18 +f 181/165/17 74/166/17 173/167/17 +f 177/168/15 75/169/15 169/170/15 +f 81/171/15 189/172/15 185/173/15 +f 78/174/16 81/175/16 74/176/16 +f 80/177/13 192/178/13 184/179/13 +f 74/166/14 185/180/14 173/167/14 +f 75/181/14 516/182/14 85/183/14 +f 85/183/17 197/184/17 193/185/17 +f 77/186/13 200/187/13 180/188/13 +f 75/181/14 193/185/14 169/189/14 +f 79/190/15 492/191/15 75/169/15 +f 73/192/16 88/193/16 77/194/16 +f 93/195/15 91/196/15 89/197/15 +f 95/198/18 92/199/18 91/200/18 +f 94/201/16 89/202/16 90/203/16 +f 96/204/17 90/205/17 92/206/17 +f 93/195/13 96/204/13 95/198/13 +f 101/207/15 99/208/15 97/209/15 +f 103/210/18 100/211/18 99/212/18 +f 102/213/16 97/214/16 98/215/16 +f 104/216/17 98/217/17 100/218/17 +f 101/207/13 104/216/13 103/210/13 +f 109/219/15 107/220/15 105/221/15 +f 111/222/18 108/223/18 107/224/18 +f 110/225/16 105/226/16 106/227/16 +f 112/228/17 106/229/17 108/230/17 +f 109/219/13 112/228/13 111/222/13 +f 117/231/15 115/232/15 113/233/15 +f 119/234/18 116/235/18 115/236/18 +f 118/237/16 113/238/16 114/239/16 +f 120/240/17 114/241/17 116/242/17 +f 117/231/13 120/240/13 119/234/13 +f 125/243/15 123/244/15 121/245/15 +f 127/246/18 124/247/18 123/248/18 +f 126/249/16 121/250/16 122/251/16 +f 128/252/17 122/253/17 124/254/17 +f 125/243/13 128/252/13 127/246/13 +f 133/255/15 131/256/15 129/257/15 +f 135/258/18 132/259/18 131/260/18 +f 134/261/16 129/262/16 130/263/16 +f 136/264/17 130/265/17 132/266/17 +f 133/255/13 136/264/13 135/258/13 +f 141/267/15 139/268/15 137/269/15 +f 143/270/18 140/271/18 139/272/18 +f 142/273/16 137/274/16 138/275/16 +f 144/276/17 138/277/17 140/278/17 +f 141/267/13 144/276/13 143/270/13 +f 149/279/15 147/280/15 145/281/15 +f 151/282/18 148/283/18 147/284/18 +f 150/285/16 145/286/16 146/287/16 +f 152/288/17 146/289/17 148/290/17 +f 149/279/13 152/288/13 151/282/13 +f 157/291/15 155/292/15 153/293/15 +f 159/294/18 156/295/18 155/296/18 +f 158/297/16 153/298/16 154/299/16 +f 160/300/17 154/301/17 156/302/17 +f 157/291/13 160/300/13 159/294/13 +f 165/303/15 163/304/15 161/305/15 +f 167/306/18 164/307/18 163/308/18 +f 166/309/16 161/310/16 162/311/16 +f 168/312/17 162/313/17 164/314/17 +f 165/303/13 168/312/13 167/306/13 +f 172/315/14 86/316/14 73/317/14 +f 171/318/14 196/319/14 172/320/14 +f 170/321/14 195/322/14 171/323/14 +f 169/324/14 194/325/14 170/326/14 +f 177/168/13 87/327/13 79/190/13 +f 178/328/13 197/329/13 177/330/13 +f 179/331/13 198/332/13 178/333/13 +f 180/334/13 199/335/13 179/336/13 +f 196/337/17 88/338/17 86/316/17 +f 195/339/17 200/340/17 196/319/17 +f 194/341/17 199/342/17 195/322/17 +f 193/343/17 198/344/17 194/325/17 +f 176/345/14 82/346/14 76/347/14 +f 175/348/14 188/349/14 176/350/14 +f 174/351/14 187/352/14 175/353/14 +f 173/354/14 186/355/14 174/356/14 +f 181/165/13 83/357/13 78/358/13 +f 182/359/13 189/360/13 181/361/13 +f 183/362/13 190/363/13 182/364/13 +f 184/365/13 191/366/13 183/367/13 +f 188/368/15 84/369/15 82/370/15 +f 187/371/15 192/372/15 188/373/15 +f 186/374/15 191/375/15 187/376/15 +f 185/377/15 190/378/15 186/379/15 +f 77/186/15 172/380/15 73/381/15 +f 180/334/15 171/382/15 172/383/15 +f 179/331/15 170/384/15 171/385/15 +f 178/328/15 169/386/15 170/387/15 +f 80/177/17 176/345/17 76/347/17 +f 184/365/17 175/348/17 176/350/17 +f 183/362/17 174/351/17 175/353/17 +f 182/359/17 173/354/17 174/356/17 +f 202/388/13 204/389/13 203/390/13 +f 207/391/14 206/392/14 205/393/14 +f 211/394/14 210/395/14 209/396/14 +f 215/397/14 214/398/14 213/399/14 +f 219/400/14 218/401/14 217/402/14 +f 223/403/14 222/404/14 221/405/14 +f 227/406/13 225/407/13 226/408/13 +f 231/409/13 229/410/13 230/411/13 +f 235/412/13 233/413/13 234/414/13 +f 239/415/13 237/416/13 238/417/13 +f 217/418/15 233/419/15 219/420/15 +f 210/421/16 226/422/16 209/423/16 +f 218/424/16 234/425/16 217/426/16 +f 212/427/17 227/428/17 210/395/17 +f 220/429/17 235/430/17 218/401/17 +f 211/394/18 228/431/18 212/432/18 +f 205/433/15 204/434/15 207/435/15 +f 219/400/18 236/436/18 220/437/18 +f 213/438/15 229/439/15 215/440/15 +f 206/441/16 203/442/16 205/443/16 +f 221/444/15 237/445/15 223/446/15 +f 214/447/16 230/448/16 213/449/16 +f 208/450/17 202/451/17 206/392/17 +f 222/452/16 238/453/16 221/454/16 +f 216/455/17 231/456/17 214/398/17 +f 207/391/18 201/457/18 208/458/18 +f 224/459/17 239/460/17 222/404/17 +f 215/397/18 232/461/18 216/462/18 +f 209/463/15 225/464/15 211/465/15 +f 223/403/18 240/466/18 224/467/18 +f 349/468/17 242/469/17 341/470/17 +f 345/471/15 243/472/15 337/473/15 +f 249/474/15 357/475/15 353/476/15 +f 520/477/13 79/190/13 87/327/13 +f 248/478/13 360/479/13 352/480/13 +f 242/469/14 353/481/14 341/470/14 +f 244/482/18 252/483/18 248/484/18 +f 253/485/17 365/486/17 361/487/17 +f 245/488/13 368/489/13 348/490/13 +f 243/491/14 361/487/14 337/492/14 +f 247/493/18 253/494/18 243/495/18 +f 85/183/17 520/477/17 87/327/17 +f 261/496/15 259/497/15 257/498/15 +f 263/499/18 260/500/18 259/501/18 +f 262/502/16 257/503/16 258/504/16 +f 264/505/17 258/506/17 260/507/17 +f 261/496/13 264/505/13 263/499/13 +f 269/508/15 267/509/15 265/510/15 +f 271/511/18 268/512/18 267/513/18 +f 270/514/16 265/515/16 266/516/16 +f 272/517/17 266/518/17 268/519/17 +f 269/508/13 272/517/13 271/511/13 +f 277/520/15 275/521/15 273/522/15 +f 279/523/18 276/524/18 275/525/18 +f 278/526/16 273/527/16 274/528/16 +f 280/529/17 274/530/17 276/531/17 +f 277/520/13 280/529/13 279/523/13 +f 285/532/15 283/533/15 281/534/15 +f 287/535/18 284/536/18 283/537/18 +f 286/538/16 281/539/16 282/540/16 +f 288/541/17 282/542/17 284/543/17 +f 285/532/13 288/541/13 287/535/13 +f 293/544/15 291/545/15 289/546/15 +f 295/547/18 292/548/18 291/549/18 +f 294/550/16 289/551/16 290/552/16 +f 296/553/17 290/554/17 292/555/17 +f 293/544/13 296/553/13 295/547/13 +f 301/556/15 299/557/15 297/558/15 +f 303/559/18 300/560/18 299/561/18 +f 302/562/16 297/563/16 298/564/16 +f 304/565/17 298/566/17 300/567/17 +f 301/556/13 304/565/13 303/559/13 +f 309/568/15 307/569/15 305/570/15 +f 311/571/18 308/572/18 307/573/18 +f 310/574/16 305/575/16 306/576/16 +f 312/577/17 306/578/17 308/579/17 +f 309/568/13 312/577/13 311/571/13 +f 317/580/15 315/581/15 313/582/15 +f 319/583/18 316/584/18 315/585/18 +f 318/586/16 313/587/16 314/588/16 +f 320/589/17 314/590/17 316/591/17 +f 317/580/13 320/589/13 319/583/13 +f 325/592/15 323/593/15 321/594/15 +f 327/595/18 324/596/18 323/597/18 +f 326/598/16 321/599/16 322/600/16 +f 328/601/17 322/602/17 324/603/17 +f 325/592/13 328/601/13 327/595/13 +f 333/604/15 331/605/15 329/606/15 +f 335/607/18 332/608/18 331/609/18 +f 334/610/16 329/611/16 330/612/16 +f 336/613/17 330/614/17 332/615/17 +f 333/604/13 336/613/13 335/607/13 +f 340/616/14 254/617/14 241/618/14 +f 339/619/14 364/620/14 340/621/14 +f 338/622/14 363/623/14 339/624/14 +f 337/625/14 362/626/14 338/627/14 +f 345/471/13 255/628/13 247/629/13 +f 346/630/13 365/631/13 345/632/13 +f 347/633/13 366/634/13 346/635/13 +f 348/636/13 367/637/13 347/638/13 +f 364/639/17 256/640/17 254/617/17 +f 363/641/17 368/642/17 364/620/17 +f 362/643/17 367/644/17 363/623/17 +f 361/645/17 366/646/17 362/626/17 +f 344/647/14 250/648/14 244/649/14 +f 343/650/14 356/651/14 344/652/14 +f 342/653/14 355/654/14 343/655/14 +f 341/656/14 354/657/14 342/658/14 +f 349/468/13 251/659/13 246/660/13 +f 350/661/13 357/662/13 349/663/13 +f 351/664/13 358/665/13 350/666/13 +f 352/667/13 359/668/13 351/669/13 +f 356/670/15 252/671/15 250/672/15 +f 355/673/15 360/674/15 356/675/15 +f 354/676/15 359/677/15 355/678/15 +f 353/679/15 358/680/15 354/681/15 +f 245/488/15 340/682/15 241/683/15 +f 348/636/15 339/684/15 340/685/15 +f 347/633/15 338/686/15 339/687/15 +f 346/630/15 337/688/15 338/689/15 +f 248/478/17 344/647/17 244/649/17 +f 352/667/17 343/650/17 344/652/17 +f 351/664/17 342/653/17 343/655/17 +f 350/661/17 341/656/17 342/658/17 +f 370/690/13 372/691/13 371/692/13 +f 375/693/14 374/694/14 373/695/14 +f 379/696/14 378/697/14 377/698/14 +f 383/699/14 382/700/14 381/701/14 +f 387/702/14 386/703/14 385/704/14 +f 391/705/14 390/706/14 389/707/14 +f 395/708/13 393/709/13 394/710/13 +f 399/711/13 397/712/13 398/713/13 +f 403/714/13 401/715/13 402/716/13 +f 407/717/13 405/718/13 406/719/13 +f 385/720/15 401/721/15 387/722/15 +f 378/723/16 394/724/16 377/725/16 +f 386/726/16 402/727/16 385/728/16 +f 380/729/17 395/730/17 378/697/17 +f 388/731/17 403/732/17 386/703/17 +f 379/696/18 396/733/18 380/734/18 +f 373/735/15 372/736/15 375/737/15 +f 387/702/18 404/738/18 388/739/18 +f 381/740/15 397/741/15 383/742/15 +f 374/743/16 371/744/16 373/745/16 +f 389/746/15 405/747/15 391/748/15 +f 382/749/16 398/750/16 381/751/16 +f 376/752/17 370/753/17 374/694/17 +f 390/754/16 406/755/16 389/756/16 +f 384/757/17 399/758/17 382/700/17 +f 375/693/18 369/759/18 376/760/18 +f 392/761/17 407/762/17 390/706/17 +f 383/699/18 400/763/18 384/764/18 +f 377/765/15 393/766/15 379/767/15 +f 391/705/18 408/768/18 392/769/18 +f 413/770/15 411/771/15 409/772/15 +f 415/773/18 412/774/18 411/775/18 +f 414/776/16 409/777/16 410/778/16 +f 416/779/17 410/780/17 412/781/17 +f 413/770/13 416/779/13 415/773/13 +f 421/782/15 419/783/15 417/784/15 +f 423/785/18 420/786/18 419/787/18 +f 422/788/16 417/789/16 418/790/16 +f 424/791/17 418/792/17 420/793/17 +f 421/782/13 424/791/13 423/785/13 +f 429/794/15 427/795/15 425/796/15 +f 431/797/18 428/798/18 427/799/18 +f 430/800/16 425/801/16 426/802/16 +f 432/803/17 426/804/17 428/805/17 +f 429/794/13 432/803/13 431/797/13 +f 437/806/15 435/807/15 433/808/15 +f 439/809/18 436/810/18 435/811/18 +f 438/812/16 433/813/16 434/814/16 +f 440/815/17 434/816/17 436/817/17 +f 437/806/13 440/815/13 439/809/13 +f 445/818/15 443/819/15 441/820/15 +f 447/821/18 444/822/18 443/823/18 +f 446/824/16 441/825/16 442/826/16 +f 448/827/17 442/828/17 444/829/17 +f 445/818/13 448/827/13 447/821/13 +f 453/830/15 451/831/15 449/832/15 +f 455/833/18 452/834/18 451/835/18 +f 454/836/16 449/837/16 450/838/16 +f 456/839/17 450/840/17 452/841/17 +f 453/830/13 456/839/13 455/833/13 +f 461/842/15 459/843/15 457/844/15 +f 463/845/18 460/846/18 459/847/18 +f 462/848/16 457/849/16 458/850/16 +f 464/851/17 458/852/17 460/853/17 +f 461/842/13 464/851/13 463/845/13 +f 469/854/15 467/855/15 465/856/15 +f 471/857/18 468/858/18 467/859/18 +f 470/860/16 465/861/16 466/862/16 +f 472/863/17 466/864/17 468/865/17 +f 469/854/13 472/863/13 471/857/13 +f 477/866/15 475/867/15 473/868/15 +f 479/869/18 476/870/18 475/871/18 +f 478/872/16 473/873/16 474/874/16 +f 480/875/17 474/876/17 476/877/17 +f 477/866/13 480/875/13 479/869/13 +f 485/878/15 483/879/15 481/880/15 +f 487/881/18 484/882/18 483/883/18 +f 486/884/16 481/885/16 482/886/16 +f 488/887/17 482/888/17 484/889/17 +f 485/878/13 488/887/13 487/881/13 +f 491/890/14 516/182/14 492/891/14 +f 490/892/14 515/893/14 491/894/14 +f 489/895/14 514/896/14 490/897/14 +f 498/898/13 517/899/13 497/900/13 +f 499/901/13 518/902/13 498/903/13 +f 500/904/13 519/905/13 499/906/13 +f 515/907/17 520/477/17 516/182/17 +f 514/908/17 519/909/17 515/893/17 +f 513/910/17 518/911/17 514/896/17 +f 495/912/14 508/913/14 496/914/14 +f 494/915/14 507/916/14 495/917/14 +f 493/918/14 506/919/14 494/920/14 +f 502/921/13 509/922/13 501/923/13 +f 503/924/13 510/925/13 502/926/13 +f 504/927/13 511/928/13 503/929/13 +f 507/930/15 512/931/15 508/932/15 +f 506/933/15 511/934/15 507/935/15 +f 505/936/15 510/937/15 506/938/15 +f 500/904/15 491/939/15 492/191/15 +f 499/901/15 490/940/15 491/941/15 +f 498/898/15 489/942/15 490/943/15 +f 504/927/17 495/912/17 496/914/17 +f 503/924/17 494/915/17 495/917/17 +f 502/921/17 493/918/17 494/920/17 +f 493/918/17 80/177/17 76/347/17 +f 80/177/13 509/922/13 84/369/13 +f 509/922/15 82/370/15 84/369/15 +f 505/944/14 76/347/14 82/346/14 +f 517/899/17 254/617/17 256/640/17 +f 245/488/13 517/899/13 256/640/13 +f 489/942/15 245/488/15 241/683/15 +f 513/910/14 241/618/14 254/617/14 +f 246/660/17 496/914/17 242/469/17 +f 512/931/13 246/660/13 251/659/13 +f 249/474/15 512/931/15 251/659/15 +f 242/469/14 508/913/14 249/945/14 +f 568/946/19 571/947/19 572/948/19 +f 539/949/19 605/950/19 540/951/19 +f 574/952/19 605/953/19 606/954/19 +f 548/955/20 539/956/20 540/957/20 +f 536/958/14 548/955/14 540/957/14 +f 531/959/14 530/960/14 532/961/14 +f 537/962/14 568/963/14 565/964/14 +f 528/965/21 532/966/21 530/967/21 +f 568/963/19 534/968/19 567/969/19 +f 524/970/22 615/971/22 523/972/22 +f 571/947/13 566/973/13 575/974/13 +f 567/969/13 538/975/13 566/976/13 +f 522/977/21 616/978/21 524/979/21 +f 549/980/23 542/981/23 541/982/23 +f 554/983/24 545/984/24 546/985/24 +f 534/986/13 546/987/13 538/988/13 +f 543/989/25 536/990/25 535/991/25 +f 539/956/13 543/989/13 535/991/13 +f 545/992/14 533/993/14 537/994/14 +f 546/987/25 537/995/25 538/988/25 +f 541/996/20 534/986/20 533/993/20 +f 561/997/14 549/998/14 553/999/14 +f 563/1000/13 551/1001/13 555/1002/13 +f 544/1003/14 556/1004/14 548/1005/14 +f 556/1004/23 547/1006/23 548/1005/23 +f 542/981/13 554/983/13 546/985/13 +f 551/1007/24 544/1008/24 543/1009/24 +f 555/1010/13 543/1009/13 547/1006/13 +f 553/1011/14 541/982/14 545/1012/14 +f 562/1013/26 553/1014/26 554/1015/26 +f 557/1016/27 550/1017/27 549/998/27 +f 552/1018/14 564/1019/14 556/1020/14 +f 564/1019/27 555/1002/27 556/1020/27 +f 550/1017/13 562/1013/13 554/1015/13 +f 559/1021/26 552/1022/26 551/1001/26 +f 535/1023/13 606/1024/13 539/949/13 +f 584/1025/25 575/1026/25 576/1027/25 +f 572/1028/14 584/1029/14 576/1030/14 +f 566/973/28 576/1031/28 575/974/28 +f 566/976/28 537/1032/28 565/1033/28 +f 526/1034/29 529/1035/29 531/1036/29 +f 565/1037/14 572/948/14 576/1038/14 +f 528/1039/13 526/1040/13 527/1041/13 +f 521/1042/30 614/1043/30 522/1044/30 +f 525/1045/30 530/960/30 529/1046/30 +f 527/1047/22 531/1048/22 532/1049/22 +f 585/1050/24 578/1051/24 577/1052/24 +f 590/1053/23 581/1054/23 582/1055/23 +f 570/1056/13 582/1057/13 574/1058/13 +f 579/1059/20 572/1028/20 571/1060/20 +f 583/1061/13 571/1060/13 575/1026/13 +f 581/1062/14 569/1063/14 573/1064/14 +f 582/1057/20 573/1064/20 574/1058/20 +f 577/1065/25 570/1056/25 569/1066/25 +f 589/1067/14 593/1068/14 585/1069/14 +f 599/1070/13 587/1071/13 591/1072/13 +f 580/1073/14 592/1074/14 584/1075/14 +f 592/1076/24 583/1077/24 584/1078/24 +f 578/1051/13 590/1053/13 582/1055/13 +f 587/1079/23 580/1073/23 579/1080/23 +f 591/1081/13 579/1080/13 583/1077/13 +f 589/1082/14 577/1083/14 581/1054/14 +f 598/1084/27 589/1067/27 590/1085/27 +f 593/1086/26 586/1087/26 585/1088/26 +f 588/1089/14 600/1090/14 592/1091/14 +f 600/1092/26 591/1072/26 592/1093/26 +f 594/1094/13 590/1085/13 586/1087/13 +f 595/1095/27 588/1089/27 587/1071/27 +f 607/1096/28 570/1097/28 608/1098/28 +f 602/1099/13 603/1100/13 604/1101/13 +f 608/1098/13 574/952/13 606/954/13 +f 611/1102/29 601/1103/29 609/1104/29 +f 612/1105/22 603/1100/22 611/1106/22 +f 609/1107/30 602/1099/30 610/1108/30 +f 536/1109/14 605/950/14 607/1110/14 +f 610/1111/21 604/1101/21 612/1112/21 +f 607/1113/14 573/1114/14 569/1115/14 +f 614/1043/13 615/971/13 616/978/13 +f 523/1116/29 613/1117/29 521/1118/29 +f 620/1119/13 618/1120/13 619/1121/13 +f 622/1122/14 623/1123/14 621/1124/14 +f 626/1125/14 627/1126/14 625/1127/14 +f 630/1128/14 631/1129/14 629/1130/14 +f 634/1131/14 635/1132/14 633/1133/14 +f 637/1134/13 639/1135/13 638/1136/13 +f 641/1137/13 643/1138/13 642/1139/13 +f 645/1140/13 647/1141/13 646/1142/13 +f 638/1143/16 626/1144/16 625/1145/16 +f 639/1146/15 628/1147/15 626/1148/15 +f 640/1149/18 627/1126/18 628/1150/18 +f 620/1151/17 621/1152/17 623/1153/17 +f 641/1154/17 629/1155/17 631/1156/17 +f 619/1157/16 622/1158/16 621/1159/16 +f 645/1160/17 633/1161/17 635/1162/17 +f 642/1163/16 630/1164/16 629/1165/16 +f 618/1166/15 624/1167/15 622/1168/15 +f 646/1169/16 634/1170/16 633/1171/16 +f 643/1172/15 632/1173/15 630/1174/15 +f 617/1175/18 623/1123/18 624/1176/18 +f 647/1177/15 636/1178/15 634/1179/15 +f 644/1180/18 631/1129/18 632/1181/18 +f 637/1182/17 625/1183/17 627/1184/17 +f 648/1185/18 635/1132/18 636/1186/18 +f 649/1187/17 729/1188/17 721/1189/17 +f 744/1190/13 652/1191/13 736/1192/13 +f 654/1193/18 650/1194/18 652/1195/18 +f 749/1196/15 655/1197/15 745/1198/15 +f 745/1198/14 649/1199/14 721/1200/14 +f 655/1201/18 651/1202/18 649/1203/18 +f 659/1204/17 661/1205/17 657/1206/17 +f 660/1207/18 663/1208/18 659/1209/18 +f 657/1210/16 662/1211/16 658/1212/16 +f 658/1213/15 664/1214/15 660/1215/15 +f 664/1214/13 661/1205/13 663/1208/13 +f 667/1216/17 669/1217/17 665/1218/17 +f 668/1219/18 671/1220/18 667/1221/18 +f 665/1222/16 670/1223/16 666/1224/16 +f 666/1225/15 672/1226/15 668/1227/15 +f 672/1226/13 669/1217/13 671/1220/13 +f 675/1228/17 677/1229/17 673/1230/17 +f 676/1231/18 679/1232/18 675/1233/18 +f 673/1234/16 678/1235/16 674/1236/16 +f 674/1237/15 680/1238/15 676/1239/15 +f 680/1238/13 677/1229/13 679/1232/13 +f 683/1240/17 685/1241/17 681/1242/17 +f 684/1243/18 687/1244/18 683/1245/18 +f 681/1246/16 686/1247/16 682/1248/16 +f 682/1249/15 688/1250/15 684/1251/15 +f 688/1250/13 685/1241/13 687/1244/13 +f 691/1252/17 693/1253/17 689/1254/17 +f 692/1255/18 695/1256/18 691/1257/18 +f 689/1258/16 694/1259/16 690/1260/16 +f 690/1261/15 696/1262/15 692/1263/15 +f 696/1262/13 693/1253/13 695/1256/13 +f 699/1264/17 701/1265/17 697/1266/17 +f 700/1267/18 703/1268/18 699/1269/18 +f 697/1270/16 702/1271/16 698/1272/16 +f 698/1273/15 704/1274/15 700/1275/15 +f 704/1274/13 701/1265/13 703/1268/13 +f 707/1276/17 709/1277/17 705/1278/17 +f 708/1279/18 711/1280/18 707/1281/18 +f 705/1282/16 710/1283/16 706/1284/16 +f 706/1285/15 712/1286/15 708/1287/15 +f 712/1286/13 709/1277/13 711/1280/13 +f 715/1288/17 717/1289/17 713/1290/17 +f 716/1291/18 719/1292/18 715/1293/18 +f 713/1294/16 718/1295/16 714/1296/16 +f 714/1297/15 720/1298/15 716/1299/15 +f 720/1298/13 717/1289/13 719/1292/13 +f 748/1300/14 723/1301/14 724/1302/14 +f 747/1303/14 722/1304/14 723/1305/14 +f 746/1306/14 721/1307/14 722/1308/14 +f 656/1309/13 729/1188/13 651/1310/13 +f 749/1311/13 730/1312/13 729/1313/13 +f 750/1314/13 731/1315/13 730/1316/13 +f 751/1317/13 732/1318/13 731/1319/13 +f 752/1320/15 747/1321/15 748/1300/15 +f 751/1322/15 746/1323/15 747/1303/15 +f 750/1324/15 745/1325/15 746/1306/15 +f 653/1326/14 728/1327/14 650/1328/14 +f 740/1329/14 727/1330/14 728/1331/14 +f 739/1332/14 726/1333/14 727/1334/14 +f 738/1335/14 725/1336/14 726/1337/14 +f 741/1338/13 734/1339/13 733/1340/13 +f 742/1341/13 735/1342/13 734/1343/13 +f 743/1344/13 736/1345/13 735/1346/13 +f 654/1347/17 740/1348/17 653/1349/17 +f 744/1350/17 739/1351/17 740/1352/17 +f 743/1353/17 738/1354/17 739/1355/17 +f 742/1356/17 737/1357/17 738/1358/17 +f 723/1359/17 732/1318/17 724/1360/17 +f 722/1361/17 731/1315/17 723/1362/17 +f 721/1363/17 730/1312/17 722/1364/17 +f 728/1327/15 652/1191/15 650/1328/15 +f 727/1330/15 736/1345/15 728/1331/15 +f 726/1333/15 735/1342/15 727/1334/15 +f 725/1336/15 734/1339/15 726/1337/15 +f 600/1365/17 741/1366/17 599/1367/17 +f 741/1366/13 595/1368/13 599/1367/13 +f 595/1368/15 725/1369/15 596/1370/15 +f 596/1370/14 737/1371/14 600/1372/14 +f 724/1373/17 594/1374/17 593/1375/17 +f 598/1376/13 732/1377/13 752/1378/13 +f 752/1378/15 597/1379/15 598/1376/15 +f 748/1380/14 593/1381/14 597/1379/14 +f 536/1382/28 608/1383/28 535/1023/28 +f 763/1384/14 762/1385/14 764/1386/14 +f 760/1387/25 764/1388/25 762/1389/25 +f 756/1390/31 775/1391/31 755/1392/31 +f 754/1393/25 776/1394/25 756/1395/25 +f 758/1396/20 761/1397/20 763/1398/20 +f 760/1399/13 758/1400/13 759/1401/13 +f 753/1402/32 774/1403/32 754/1404/32 +f 757/1405/32 762/1385/32 761/1406/32 +f 759/1407/31 763/1408/31 764/1409/31 +f 766/1410/13 767/1411/13 768/1412/13 +f 771/1413/20 765/1414/20 769/1415/20 +f 772/1416/31 767/1411/31 771/1417/31 +f 769/1418/32 766/1410/32 770/1419/32 +f 770/1420/25 768/1412/25 772/1421/25 +f 774/1403/13 775/1391/13 776/1394/13 +f 755/1422/20 773/1423/20 753/1424/20 +f 788/1425/14 785/1426/14 786/1427/14 +f 784/1428/24 788/1429/24 786/1430/24 +f 780/1431/33 799/1432/33 779/1433/33 +f 778/1434/24 800/1435/24 780/1436/24 +f 782/1437/23 785/1438/23 787/1439/23 +f 783/1440/13 781/1441/13 782/1442/13 +f 777/1443/34 798/1444/34 778/1445/34 +f 781/1441/34 786/1427/34 785/1426/34 +f 783/1446/33 787/1447/33 788/1448/33 +f 790/1449/13 791/1450/13 792/1451/13 +f 795/1452/23 789/1453/23 793/1454/23 +f 796/1455/33 791/1450/33 795/1456/33 +f 793/1457/34 790/1449/34 794/1458/34 +f 794/1459/24 792/1451/24 796/1460/24 +f 798/1444/13 799/1432/13 800/1435/13 +f 779/1461/23 797/1462/23 777/1463/23 +f 811/1464/14 810/1465/14 812/1466/14 +f 808/1467/26 812/1468/26 810/1469/26 +f 804/1470/35 823/1471/35 803/1472/35 +f 802/1473/26 824/1474/26 804/1475/26 +f 806/1476/27 809/1477/27 811/1478/27 +f 808/1479/13 806/1480/13 807/1481/13 +f 801/1482/36 822/1483/36 802/1484/36 +f 805/1485/36 810/1465/36 809/1486/36 +f 807/1487/35 811/1488/35 812/1489/35 +f 813/1490/13 816/1491/13 814/1492/13 +f 819/1493/27 813/1490/27 817/1494/27 +f 820/1495/35 815/1496/35 819/1497/35 +f 817/1498/36 814/1492/36 818/1499/36 +f 818/1500/26 816/1491/26 820/1501/26 +f 821/1502/13 824/1474/13 822/1483/13 +f 803/1503/27 821/1502/27 801/1504/27 +f 836/1505/14 833/1506/14 834/1507/14 +f 832/1508/21 836/1509/21 834/1510/21 +f 828/1511/22 847/1512/22 827/1513/22 +f 826/1514/21 848/1515/21 828/1516/21 +f 830/1517/29 833/1518/29 835/1519/29 +f 831/1520/13 829/1521/13 830/1522/13 +f 825/1523/30 846/1524/30 826/1525/30 +f 829/1521/30 834/1507/30 833/1506/30 +f 831/1526/22 835/1527/22 836/1528/22 +f 838/1529/13 839/1530/13 840/1531/13 +f 843/1532/29 837/1533/29 841/1534/29 +f 844/1535/22 839/1530/22 843/1536/22 +f 841/1537/30 838/1529/30 842/1538/30 +f 842/1539/21 840/1531/21 844/1540/21 +f 845/1541/13 848/1515/13 846/1524/13 +f 827/1542/29 845/1541/29 825/1543/29 +f 850/1544/14 851/1545/14 849/1546/14 +f 853/1547/13 855/1548/13 854/1549/13 +f 853/1550/17 849/1551/17 851/1552/17 +f 854/1553/16 850/1554/16 849/1555/16 +f 855/1556/15 852/1557/15 850/1558/15 +f 856/1559/18 851/1545/18 852/1560/18 +f 859/1561/17 861/1562/17 857/1563/17 +f 860/1564/18 863/1565/18 859/1566/18 +f 857/1567/16 862/1568/16 858/1569/16 +f 858/1570/15 864/1571/15 860/1572/15 +f 864/1571/13 861/1562/13 863/1565/13 +f 867/1573/17 869/1574/17 865/1575/17 +f 868/1576/18 871/1577/18 867/1578/18 +f 865/1579/16 870/1580/16 866/1581/16 +f 866/1582/15 872/1583/15 868/1584/15 +f 872/1583/13 869/1574/13 871/1577/13 +f 34/85/13 33/154/13 36/86/13 +f 39/88/14 40/155/14 38/89/14 +f 43/91/14 44/129/14 42/92/14 +f 47/94/14 48/159/14 46/95/14 +f 51/97/14 52/134/14 50/98/14 +f 55/100/14 56/164/14 54/101/14 +f 59/103/13 60/128/13 57/104/13 +f 63/106/13 64/158/13 61/107/13 +f 67/109/13 68/133/13 65/110/13 +f 71/112/13 72/163/13 69/113/13 +f 49/115/15 66/1585/15 65/116/15 +f 42/118/16 59/1586/16 58/119/16 +f 50/121/16 67/1587/16 66/122/16 +f 44/124/17 60/1588/17 59/125/17 +f 52/126/17 68/1589/17 67/127/17 +f 43/91/18 57/104/18 60/128/18 +f 37/130/15 35/1590/15 36/131/15 +f 51/97/18 65/110/18 68/133/18 +f 45/135/15 62/1591/15 61/136/15 +f 38/138/16 34/1592/16 35/139/16 +f 53/141/15 70/1593/15 69/142/15 +f 46/144/16 63/1594/16 62/145/16 +f 40/147/17 33/1595/17 34/148/17 +f 54/149/16 71/1596/16 70/150/16 +f 48/152/17 64/1597/17 63/153/17 +f 39/88/18 36/86/18 33/154/18 +f 56/156/17 72/1598/17 71/157/17 +f 47/94/18 61/107/18 64/158/18 +f 41/160/15 58/1599/15 57/161/15 +f 55/100/18 69/113/18 72/163/18 +f 181/165/17 78/358/17 74/166/17 +f 177/168/15 79/190/15 75/169/15 +f 81/171/15 83/357/15 189/172/15 +f 78/174/16 83/1600/16 81/175/16 +f 80/177/13 84/369/13 192/178/13 +f 74/166/14 81/1601/14 185/180/14 +f 75/181/14 492/891/14 516/182/14 +f 85/183/17 87/327/17 197/184/17 +f 77/186/13 88/338/13 200/187/13 +f 75/181/14 85/183/14 193/185/14 +f 79/190/15 500/904/15 492/191/15 +f 73/192/16 86/1602/16 88/193/16 +f 93/195/15 95/198/15 91/196/15 +f 95/198/18 96/204/18 92/199/18 +f 94/201/16 93/195/16 89/202/16 +f 96/204/17 94/201/17 90/205/17 +f 93/195/13 94/201/13 96/204/13 +f 101/207/15 103/210/15 99/208/15 +f 103/210/18 104/216/18 100/211/18 +f 102/213/16 101/207/16 97/214/16 +f 104/216/17 102/213/17 98/217/17 +f 101/207/13 102/213/13 104/216/13 +f 109/219/15 111/222/15 107/220/15 +f 111/222/18 112/228/18 108/223/18 +f 110/225/16 109/219/16 105/226/16 +f 112/228/17 110/225/17 106/229/17 +f 109/219/13 110/225/13 112/228/13 +f 117/231/15 119/234/15 115/232/15 +f 119/234/18 120/240/18 116/235/18 +f 118/237/16 117/231/16 113/238/16 +f 120/240/17 118/237/17 114/241/17 +f 117/231/13 118/237/13 120/240/13 +f 125/243/15 127/246/15 123/244/15 +f 127/246/18 128/252/18 124/247/18 +f 126/249/16 125/243/16 121/250/16 +f 128/252/17 126/249/17 122/253/17 +f 125/243/13 126/249/13 128/252/13 +f 133/255/15 135/258/15 131/256/15 +f 135/258/18 136/264/18 132/259/18 +f 134/261/16 133/255/16 129/262/16 +f 136/264/17 134/261/17 130/265/17 +f 133/255/13 134/261/13 136/264/13 +f 141/267/15 143/270/15 139/268/15 +f 143/270/18 144/276/18 140/271/18 +f 142/273/16 141/267/16 137/274/16 +f 144/276/17 142/273/17 138/277/17 +f 141/267/13 142/273/13 144/276/13 +f 149/279/15 151/282/15 147/280/15 +f 151/282/18 152/288/18 148/283/18 +f 150/285/16 149/279/16 145/286/16 +f 152/288/17 150/285/17 146/289/17 +f 149/279/13 150/285/13 152/288/13 +f 157/291/15 159/294/15 155/292/15 +f 159/294/18 160/300/18 156/295/18 +f 158/297/16 157/291/16 153/298/16 +f 160/300/17 158/297/17 154/301/17 +f 157/291/13 158/297/13 160/300/13 +f 165/303/15 167/306/15 163/304/15 +f 167/306/18 168/312/18 164/307/18 +f 166/309/16 165/303/16 161/310/16 +f 168/312/17 166/309/17 162/313/17 +f 165/303/13 166/309/13 168/312/13 +f 172/315/14 196/337/14 86/316/14 +f 171/318/14 195/339/14 196/319/14 +f 170/321/14 194/341/14 195/322/14 +f 169/324/14 193/343/14 194/325/14 +f 177/168/13 197/184/13 87/327/13 +f 178/328/13 198/344/13 197/329/13 +f 179/331/13 199/342/13 198/332/13 +f 180/334/13 200/340/13 199/335/13 +f 196/337/17 200/187/17 88/338/17 +f 195/339/17 199/335/17 200/340/17 +f 194/341/17 198/332/17 199/342/17 +f 193/343/17 197/329/17 198/344/17 +f 176/345/14 188/1603/14 82/346/14 +f 175/348/14 187/1604/14 188/349/14 +f 174/351/14 186/1605/14 187/352/14 +f 173/354/14 185/1606/14 186/355/14 +f 181/165/13 189/172/13 83/357/13 +f 182/359/13 190/378/13 189/360/13 +f 183/362/13 191/375/13 190/363/13 +f 184/365/13 192/372/13 191/366/13 +f 188/368/15 192/178/15 84/369/15 +f 187/371/15 191/366/15 192/372/15 +f 186/374/15 190/363/15 191/375/15 +f 185/377/15 189/360/15 190/378/15 +f 77/186/15 180/188/15 172/380/15 +f 180/334/15 179/336/15 171/382/15 +f 179/331/15 178/333/15 170/384/15 +f 178/328/15 177/330/15 169/386/15 +f 80/177/17 184/179/17 176/345/17 +f 184/365/17 183/367/17 175/348/17 +f 183/362/17 182/364/17 174/351/17 +f 182/359/17 181/361/17 173/354/17 +f 202/388/13 201/457/13 204/389/13 +f 207/391/14 208/458/14 206/392/14 +f 211/394/14 212/432/14 210/395/14 +f 215/397/14 216/462/14 214/398/14 +f 219/400/14 220/437/14 218/401/14 +f 223/403/14 224/467/14 222/404/14 +f 227/406/13 228/431/13 225/407/13 +f 231/409/13 232/461/13 229/410/13 +f 235/412/13 236/436/13 233/413/13 +f 239/415/13 240/466/13 237/416/13 +f 217/418/15 234/1607/15 233/419/15 +f 210/421/16 227/1608/16 226/422/16 +f 218/424/16 235/1609/16 234/425/16 +f 212/427/17 228/1610/17 227/428/17 +f 220/429/17 236/1611/17 235/430/17 +f 211/394/18 225/407/18 228/431/18 +f 205/433/15 203/1612/15 204/434/15 +f 219/400/18 233/413/18 236/436/18 +f 213/438/15 230/1613/15 229/439/15 +f 206/441/16 202/1614/16 203/442/16 +f 221/444/15 238/1615/15 237/445/15 +f 214/447/16 231/1616/16 230/448/16 +f 208/450/17 201/1617/17 202/451/17 +f 222/452/16 239/1618/16 238/453/16 +f 216/455/17 232/1619/17 231/456/17 +f 207/391/18 204/389/18 201/457/18 +f 224/459/17 240/1620/17 239/460/17 +f 215/397/18 229/410/18 232/461/18 +f 209/463/15 226/1621/15 225/464/15 +f 223/403/18 237/416/18 240/466/18 +f 349/468/17 246/660/17 242/469/17 +f 345/471/15 247/629/15 243/472/15 +f 249/474/15 251/659/15 357/475/15 +f 520/477/13 500/904/13 79/190/13 +f 248/478/13 252/671/13 360/479/13 +f 242/469/14 249/945/14 353/481/14 +f 244/482/18 250/1622/18 252/483/18 +f 253/485/17 255/628/17 365/486/17 +f 245/488/13 256/640/13 368/489/13 +f 243/491/14 253/485/14 361/487/14 +f 247/493/18 255/1623/18 253/494/18 +f 85/183/17 516/182/17 520/477/17 +f 261/496/15 263/499/15 259/497/15 +f 263/499/18 264/505/18 260/500/18 +f 262/502/16 261/496/16 257/503/16 +f 264/505/17 262/502/17 258/506/17 +f 261/496/13 262/502/13 264/505/13 +f 269/508/15 271/511/15 267/509/15 +f 271/511/18 272/517/18 268/512/18 +f 270/514/16 269/508/16 265/515/16 +f 272/517/17 270/514/17 266/518/17 +f 269/508/13 270/514/13 272/517/13 +f 277/520/15 279/523/15 275/521/15 +f 279/523/18 280/529/18 276/524/18 +f 278/526/16 277/520/16 273/527/16 +f 280/529/17 278/526/17 274/530/17 +f 277/520/13 278/526/13 280/529/13 +f 285/532/15 287/535/15 283/533/15 +f 287/535/18 288/541/18 284/536/18 +f 286/538/16 285/532/16 281/539/16 +f 288/541/17 286/538/17 282/542/17 +f 285/532/13 286/538/13 288/541/13 +f 293/544/15 295/547/15 291/545/15 +f 295/547/18 296/553/18 292/548/18 +f 294/550/16 293/544/16 289/551/16 +f 296/553/17 294/550/17 290/554/17 +f 293/544/13 294/550/13 296/553/13 +f 301/556/15 303/559/15 299/557/15 +f 303/559/18 304/565/18 300/560/18 +f 302/562/16 301/556/16 297/563/16 +f 304/565/17 302/562/17 298/566/17 +f 301/556/13 302/562/13 304/565/13 +f 309/568/15 311/571/15 307/569/15 +f 311/571/18 312/577/18 308/572/18 +f 310/574/16 309/568/16 305/575/16 +f 312/577/17 310/574/17 306/578/17 +f 309/568/13 310/574/13 312/577/13 +f 317/580/15 319/583/15 315/581/15 +f 319/583/18 320/589/18 316/584/18 +f 318/586/16 317/580/16 313/587/16 +f 320/589/17 318/586/17 314/590/17 +f 317/580/13 318/586/13 320/589/13 +f 325/592/15 327/595/15 323/593/15 +f 327/595/18 328/601/18 324/596/18 +f 326/598/16 325/592/16 321/599/16 +f 328/601/17 326/598/17 322/602/17 +f 325/592/13 326/598/13 328/601/13 +f 333/604/15 335/607/15 331/605/15 +f 335/607/18 336/613/18 332/608/18 +f 334/610/16 333/604/16 329/611/16 +f 336/613/17 334/610/17 330/614/17 +f 333/604/13 334/610/13 336/613/13 +f 340/616/14 364/639/14 254/617/14 +f 339/619/14 363/641/14 364/620/14 +f 338/622/14 362/643/14 363/623/14 +f 337/625/14 361/645/14 362/626/14 +f 345/471/13 365/486/13 255/628/13 +f 346/630/13 366/646/13 365/631/13 +f 347/633/13 367/644/13 366/634/13 +f 348/636/13 368/642/13 367/637/13 +f 364/639/17 368/489/17 256/640/17 +f 363/641/17 367/637/17 368/642/17 +f 362/643/17 366/634/17 367/644/17 +f 361/645/17 365/631/17 366/646/17 +f 344/647/14 356/1624/14 250/648/14 +f 343/650/14 355/1625/14 356/651/14 +f 342/653/14 354/1626/14 355/654/14 +f 341/656/14 353/1627/14 354/657/14 +f 349/468/13 357/475/13 251/659/13 +f 350/661/13 358/680/13 357/662/13 +f 351/664/13 359/677/13 358/665/13 +f 352/667/13 360/674/13 359/668/13 +f 356/670/15 360/479/15 252/671/15 +f 355/673/15 359/668/15 360/674/15 +f 354/676/15 358/665/15 359/677/15 +f 353/679/15 357/662/15 358/680/15 +f 245/488/15 348/490/15 340/682/15 +f 348/636/15 347/638/15 339/684/15 +f 347/633/15 346/635/15 338/686/15 +f 346/630/15 345/632/15 337/688/15 +f 248/478/17 352/480/17 344/647/17 +f 352/667/17 351/669/17 343/650/17 +f 351/664/17 350/666/17 342/653/17 +f 350/661/17 349/663/17 341/656/17 +f 370/690/13 369/759/13 372/691/13 +f 375/693/14 376/760/14 374/694/14 +f 379/696/14 380/734/14 378/697/14 +f 383/699/14 384/764/14 382/700/14 +f 387/702/14 388/739/14 386/703/14 +f 391/705/14 392/769/14 390/706/14 +f 395/708/13 396/733/13 393/709/13 +f 399/711/13 400/763/13 397/712/13 +f 403/714/13 404/738/13 401/715/13 +f 407/717/13 408/768/13 405/718/13 +f 385/720/15 402/1628/15 401/721/15 +f 378/723/16 395/1629/16 394/724/16 +f 386/726/16 403/1630/16 402/727/16 +f 380/729/17 396/1631/17 395/730/17 +f 388/731/17 404/1632/17 403/732/17 +f 379/696/18 393/709/18 396/733/18 +f 373/735/15 371/1633/15 372/736/15 +f 387/702/18 401/715/18 404/738/18 +f 381/740/15 398/1634/15 397/741/15 +f 374/743/16 370/1635/16 371/744/16 +f 389/746/15 406/1636/15 405/747/15 +f 382/749/16 399/1637/16 398/750/16 +f 376/752/17 369/1638/17 370/753/17 +f 390/754/16 407/1639/16 406/755/16 +f 384/757/17 400/1640/17 399/758/17 +f 375/693/18 372/691/18 369/759/18 +f 392/761/17 408/1641/17 407/762/17 +f 383/699/18 397/712/18 400/763/18 +f 377/765/15 394/1642/15 393/766/15 +f 391/705/18 405/718/18 408/768/18 +f 413/770/15 415/773/15 411/771/15 +f 415/773/18 416/779/18 412/774/18 +f 414/776/16 413/770/16 409/777/16 +f 416/779/17 414/776/17 410/780/17 +f 413/770/13 414/776/13 416/779/13 +f 421/782/15 423/785/15 419/783/15 +f 423/785/18 424/791/18 420/786/18 +f 422/788/16 421/782/16 417/789/16 +f 424/791/17 422/788/17 418/792/17 +f 421/782/13 422/788/13 424/791/13 +f 429/794/15 431/797/15 427/795/15 +f 431/797/18 432/803/18 428/798/18 +f 430/800/16 429/794/16 425/801/16 +f 432/803/17 430/800/17 426/804/17 +f 429/794/13 430/800/13 432/803/13 +f 437/806/15 439/809/15 435/807/15 +f 439/809/18 440/815/18 436/810/18 +f 438/812/16 437/806/16 433/813/16 +f 440/815/17 438/812/17 434/816/17 +f 437/806/13 438/812/13 440/815/13 +f 445/818/15 447/821/15 443/819/15 +f 447/821/18 448/827/18 444/822/18 +f 446/824/16 445/818/16 441/825/16 +f 448/827/17 446/824/17 442/828/17 +f 445/818/13 446/824/13 448/827/13 +f 453/830/15 455/833/15 451/831/15 +f 455/833/18 456/839/18 452/834/18 +f 454/836/16 453/830/16 449/837/16 +f 456/839/17 454/836/17 450/840/17 +f 453/830/13 454/836/13 456/839/13 +f 461/842/15 463/845/15 459/843/15 +f 463/845/18 464/851/18 460/846/18 +f 462/848/16 461/842/16 457/849/16 +f 464/851/17 462/848/17 458/852/17 +f 461/842/13 462/848/13 464/851/13 +f 469/854/15 471/857/15 467/855/15 +f 471/857/18 472/863/18 468/858/18 +f 470/860/16 469/854/16 465/861/16 +f 472/863/17 470/860/17 466/864/17 +f 469/854/13 470/860/13 472/863/13 +f 477/866/15 479/869/15 475/867/15 +f 479/869/18 480/875/18 476/870/18 +f 478/872/16 477/866/16 473/873/16 +f 480/875/17 478/872/17 474/876/17 +f 477/866/13 478/872/13 480/875/13 +f 485/878/15 487/881/15 483/879/15 +f 487/881/18 488/887/18 484/882/18 +f 486/884/16 485/878/16 481/885/16 +f 488/887/17 486/884/17 482/888/17 +f 485/878/13 486/884/13 488/887/13 +f 491/890/14 515/907/14 516/182/14 +f 490/892/14 514/908/14 515/893/14 +f 489/895/14 513/910/14 514/896/14 +f 498/898/13 518/911/13 517/899/13 +f 499/901/13 519/909/13 518/902/13 +f 500/904/13 520/477/13 519/905/13 +f 515/907/17 519/905/17 520/477/17 +f 514/908/17 518/902/17 519/909/17 +f 513/910/17 517/899/17 518/911/17 +f 495/912/14 507/1643/14 508/913/14 +f 494/915/14 506/1644/14 507/916/14 +f 493/918/14 505/944/14 506/919/14 +f 502/921/13 510/937/13 509/922/13 +f 503/924/13 511/934/13 510/925/13 +f 504/927/13 512/931/13 511/928/13 +f 507/930/15 511/928/15 512/931/15 +f 506/933/15 510/925/15 511/934/15 +f 505/936/15 509/922/15 510/937/15 +f 500/904/15 499/906/15 491/939/15 +f 499/901/15 498/903/15 490/940/15 +f 498/898/15 497/900/15 489/942/15 +f 504/927/17 503/929/17 495/912/17 +f 503/924/17 502/926/17 494/915/17 +f 502/921/17 501/923/17 493/918/17 +f 493/918/17 501/923/17 80/177/17 +f 80/177/13 501/923/13 509/922/13 +f 509/922/15 505/936/15 82/370/15 +f 505/944/14 493/918/14 76/347/14 +f 517/899/17 513/910/17 254/617/17 +f 245/488/13 497/900/13 517/899/13 +f 489/942/15 497/900/15 245/488/15 +f 513/910/14 489/895/14 241/618/14 +f 246/660/17 504/927/17 496/914/17 +f 512/931/13 504/927/13 246/660/13 +f 249/474/15 508/932/15 512/931/15 +f 242/469/14 496/914/14 508/913/14 +f 568/946/19 567/1645/19 571/947/19 +f 539/949/19 606/1024/19 605/950/19 +f 574/952/19 573/1114/19 605/953/19 +f 548/955/20 547/1646/20 539/956/20 +f 536/958/14 544/1647/14 548/955/14 +f 531/959/14 529/1046/14 530/960/14 +f 537/962/14 533/1648/14 568/963/14 +f 528/965/21 527/1649/21 532/966/21 +f 568/963/19 533/1648/19 534/968/19 +f 524/970/22 616/978/22 615/971/22 +f 571/947/13 567/1645/13 566/973/13 +f 567/969/13 534/968/13 538/975/13 +f 522/977/21 614/1043/21 616/978/21 +f 549/980/23 550/1650/23 542/981/23 +f 554/983/24 553/1651/24 545/984/24 +f 534/986/13 542/1652/13 546/987/13 +f 543/989/25 544/1653/25 536/990/25 +f 539/956/13 547/1646/13 543/989/13 +f 545/992/14 541/996/14 533/993/14 +f 546/987/25 545/1654/25 537/995/25 +f 541/996/20 542/1652/20 534/986/20 +f 561/997/14 557/1016/14 549/998/14 +f 563/1000/13 559/1021/13 551/1001/13 +f 544/1003/14 552/1655/14 556/1004/14 +f 556/1004/23 555/1010/23 547/1006/23 +f 542/981/13 550/1650/13 554/983/13 +f 551/1007/24 552/1656/24 544/1008/24 +f 555/1010/13 551/1007/13 543/1009/13 +f 553/1011/14 549/980/14 541/982/14 +f 562/1013/26 561/1657/26 553/1014/26 +f 557/1016/27 558/1658/27 550/1017/27 +f 552/1018/14 560/1659/14 564/1019/14 +f 564/1019/27 563/1000/27 555/1002/27 +f 550/1017/13 558/1658/13 562/1013/13 +f 559/1021/26 560/1660/26 552/1022/26 +f 535/1023/13 608/1383/13 606/1024/13 +f 584/1025/25 583/1061/25 575/1026/25 +f 572/1028/14 580/1661/14 584/1029/14 +f 566/973/28 565/1662/28 576/1031/28 +f 566/976/28 538/975/28 537/1032/28 +f 526/1034/29 525/1663/29 529/1035/29 +f 565/1037/14 568/946/14 572/948/14 +f 528/1039/13 525/1045/13 526/1040/13 +f 521/1042/30 613/1117/30 614/1043/30 +f 525/1045/30 528/1039/30 530/960/30 +f 527/1047/22 526/1664/22 531/1048/22 +f 585/1050/24 586/1665/24 578/1051/24 +f 590/1053/23 589/1082/23 581/1054/23 +f 570/1056/13 578/1666/13 582/1057/13 +f 579/1059/20 580/1661/20 572/1028/20 +f 583/1061/13 579/1059/13 571/1060/13 +f 581/1062/14 577/1667/14 569/1063/14 +f 582/1057/20 581/1062/20 573/1064/20 +f 577/1065/25 578/1666/25 570/1056/25 +f 589/1067/14 597/1668/14 593/1068/14 +f 599/1070/13 595/1095/13 587/1071/13 +f 580/1073/14 588/1669/14 592/1074/14 +f 592/1076/24 591/1081/24 583/1077/24 +f 578/1051/13 586/1665/13 590/1053/13 +f 587/1079/23 588/1669/23 580/1073/23 +f 591/1081/13 587/1079/13 579/1080/13 +f 589/1082/14 585/1670/14 577/1083/14 +f 598/1084/27 597/1668/27 589/1067/27 +f 593/1086/26 594/1094/26 586/1087/26 +f 588/1089/14 596/1671/14 600/1090/14 +f 600/1092/26 599/1070/26 591/1072/26 +f 594/1094/13 598/1084/13 590/1085/13 +f 595/1095/27 596/1671/27 588/1089/27 +f 607/1096/28 569/1672/28 570/1097/28 +f 602/1099/13 601/1103/13 603/1100/13 +f 608/1098/13 570/1097/13 574/952/13 +f 611/1102/29 603/1100/29 601/1103/29 +f 612/1105/22 604/1101/22 603/1100/22 +f 609/1107/30 601/1103/30 602/1099/30 +f 536/1109/14 540/951/14 605/950/14 +f 610/1111/21 602/1099/21 604/1101/21 +f 607/1113/14 605/953/14 573/1114/14 +f 614/1043/13 613/1117/13 615/971/13 +f 523/1116/29 615/971/29 613/1117/29 +f 620/1119/13 617/1175/13 618/1120/13 +f 622/1122/14 624/1176/14 623/1123/14 +f 626/1125/14 628/1150/14 627/1126/14 +f 630/1128/14 632/1181/14 631/1129/14 +f 634/1131/14 636/1186/14 635/1132/14 +f 637/1134/13 640/1149/13 639/1135/13 +f 641/1137/13 644/1180/13 643/1138/13 +f 645/1140/13 648/1185/13 647/1141/13 +f 638/1143/16 639/1673/16 626/1144/16 +f 639/1146/15 640/1674/15 628/1147/15 +f 640/1149/18 637/1134/18 627/1126/18 +f 620/1151/17 619/1675/17 621/1152/17 +f 641/1154/17 642/1676/17 629/1155/17 +f 619/1157/16 618/1677/16 622/1158/16 +f 645/1160/17 646/1678/17 633/1161/17 +f 642/1163/16 643/1679/16 630/1164/16 +f 618/1166/15 617/1680/15 624/1167/15 +f 646/1169/16 647/1681/16 634/1170/16 +f 643/1172/15 644/1682/15 632/1173/15 +f 617/1175/18 620/1119/18 623/1123/18 +f 647/1177/15 648/1683/15 636/1178/15 +f 644/1180/18 641/1137/18 631/1129/18 +f 637/1182/17 638/1684/17 625/1183/17 +f 648/1185/18 645/1140/18 635/1132/18 +f 649/1187/17 651/1310/17 729/1188/17 +f 744/1190/13 654/1347/13 652/1191/13 +f 654/1193/18 653/1685/18 650/1194/18 +f 749/1196/15 656/1309/15 655/1197/15 +f 745/1198/14 655/1197/14 649/1199/14 +f 655/1201/18 656/1686/18 651/1202/18 +f 659/1204/17 663/1208/17 661/1205/17 +f 660/1207/18 664/1214/18 663/1208/18 +f 657/1210/16 661/1205/16 662/1211/16 +f 658/1213/15 662/1211/15 664/1214/15 +f 664/1214/13 662/1211/13 661/1205/13 +f 667/1216/17 671/1220/17 669/1217/17 +f 668/1219/18 672/1226/18 671/1220/18 +f 665/1222/16 669/1217/16 670/1223/16 +f 666/1225/15 670/1223/15 672/1226/15 +f 672/1226/13 670/1223/13 669/1217/13 +f 675/1228/17 679/1232/17 677/1229/17 +f 676/1231/18 680/1238/18 679/1232/18 +f 673/1234/16 677/1229/16 678/1235/16 +f 674/1237/15 678/1235/15 680/1238/15 +f 680/1238/13 678/1235/13 677/1229/13 +f 683/1240/17 687/1244/17 685/1241/17 +f 684/1243/18 688/1250/18 687/1244/18 +f 681/1246/16 685/1241/16 686/1247/16 +f 682/1249/15 686/1247/15 688/1250/15 +f 688/1250/13 686/1247/13 685/1241/13 +f 691/1252/17 695/1256/17 693/1253/17 +f 692/1255/18 696/1262/18 695/1256/18 +f 689/1258/16 693/1253/16 694/1259/16 +f 690/1261/15 694/1259/15 696/1262/15 +f 696/1262/13 694/1259/13 693/1253/13 +f 699/1264/17 703/1268/17 701/1265/17 +f 700/1267/18 704/1274/18 703/1268/18 +f 697/1270/16 701/1265/16 702/1271/16 +f 698/1273/15 702/1271/15 704/1274/15 +f 704/1274/13 702/1271/13 701/1265/13 +f 707/1276/17 711/1280/17 709/1277/17 +f 708/1279/18 712/1286/18 711/1280/18 +f 705/1282/16 709/1277/16 710/1283/16 +f 706/1285/15 710/1283/15 712/1286/15 +f 712/1286/13 710/1283/13 709/1277/13 +f 715/1288/17 719/1292/17 717/1289/17 +f 716/1291/18 720/1298/18 719/1292/18 +f 713/1294/16 717/1289/16 718/1295/16 +f 714/1297/15 718/1295/15 720/1298/15 +f 720/1298/13 718/1295/13 717/1289/13 +f 748/1300/14 747/1321/14 723/1301/14 +f 747/1303/14 746/1323/14 722/1304/14 +f 746/1306/14 745/1325/14 721/1307/14 +f 656/1309/13 749/1196/13 729/1188/13 +f 749/1311/13 750/1324/13 730/1312/13 +f 750/1314/13 751/1322/13 731/1315/13 +f 751/1317/13 752/1320/13 732/1318/13 +f 752/1320/15 751/1317/15 747/1321/15 +f 751/1322/15 750/1314/15 746/1323/15 +f 750/1324/15 749/1311/15 745/1325/15 +f 653/1326/14 740/1687/14 728/1327/14 +f 740/1329/14 739/1688/14 727/1330/14 +f 739/1332/14 738/1689/14 726/1333/14 +f 738/1335/14 737/1690/14 725/1336/14 +f 741/1338/13 742/1356/13 734/1339/13 +f 742/1341/13 743/1353/13 735/1342/13 +f 743/1344/13 744/1350/13 736/1345/13 +f 654/1347/17 744/1190/17 740/1348/17 +f 744/1350/17 743/1344/17 739/1351/17 +f 743/1353/17 742/1341/17 738/1354/17 +f 742/1356/17 741/1338/17 737/1357/17 +f 723/1359/17 731/1319/17 732/1318/17 +f 722/1361/17 730/1316/17 731/1315/17 +f 721/1363/17 729/1313/17 730/1312/17 +f 728/1327/15 736/1192/15 652/1191/15 +f 727/1330/15 735/1346/15 736/1345/15 +f 726/1333/15 734/1343/15 735/1342/15 +f 725/1336/15 733/1340/15 734/1339/15 +f 600/1365/17 737/1691/17 741/1366/17 +f 741/1366/13 733/1692/13 595/1368/13 +f 595/1368/15 733/1692/15 725/1369/15 +f 596/1370/14 725/1369/14 737/1371/14 +f 724/1373/17 732/1377/17 594/1374/17 +f 598/1376/13 594/1374/13 732/1377/13 +f 752/1378/15 748/1380/15 597/1379/15 +f 748/1380/14 724/1693/14 593/1381/14 +f 536/1382/28 607/1694/28 608/1383/28 +f 763/1384/14 761/1406/14 762/1385/14 +f 760/1387/25 759/1695/25 764/1388/25 +f 756/1390/31 776/1394/31 775/1391/31 +f 754/1393/25 774/1403/25 776/1394/25 +f 758/1396/20 757/1696/20 761/1397/20 +f 760/1399/13 757/1405/13 758/1400/13 +f 753/1402/32 773/1423/32 774/1403/32 +f 757/1405/32 760/1399/32 762/1385/32 +f 759/1407/31 758/1697/31 763/1408/31 +f 766/1410/13 765/1414/13 767/1411/13 +f 771/1413/20 767/1411/20 765/1414/20 +f 772/1416/31 768/1412/31 767/1411/31 +f 769/1418/32 765/1414/32 766/1410/32 +f 770/1420/25 766/1410/25 768/1412/25 +f 774/1403/13 773/1423/13 775/1391/13 +f 755/1422/20 775/1391/20 773/1423/20 +f 788/1425/14 787/1698/14 785/1426/14 +f 784/1428/24 783/1699/24 788/1429/24 +f 780/1431/33 800/1435/33 799/1432/33 +f 778/1434/24 798/1444/24 800/1435/24 +f 782/1437/23 781/1700/23 785/1438/23 +f 783/1440/13 784/1701/13 781/1441/13 +f 777/1443/34 797/1462/34 798/1444/34 +f 781/1441/34 784/1701/34 786/1427/34 +f 783/1446/33 782/1702/33 787/1447/33 +f 790/1449/13 789/1453/13 791/1450/13 +f 795/1452/23 791/1450/23 789/1453/23 +f 796/1455/33 792/1451/33 791/1450/33 +f 793/1457/34 789/1453/34 790/1449/34 +f 794/1459/24 790/1449/24 792/1451/24 +f 798/1444/13 797/1462/13 799/1432/13 +f 779/1461/23 799/1432/23 797/1462/23 +f 811/1464/14 809/1486/14 810/1465/14 +f 808/1467/26 807/1703/26 812/1468/26 +f 804/1470/35 824/1474/35 823/1471/35 +f 802/1473/26 822/1483/26 824/1474/26 +f 806/1476/27 805/1704/27 809/1477/27 +f 808/1479/13 805/1485/13 806/1480/13 +f 801/1482/36 821/1502/36 822/1483/36 +f 805/1485/36 808/1479/36 810/1465/36 +f 807/1487/35 806/1705/35 811/1488/35 +f 813/1490/13 815/1496/13 816/1491/13 +f 819/1493/27 815/1496/27 813/1490/27 +f 820/1495/35 816/1491/35 815/1496/35 +f 817/1498/36 813/1490/36 814/1492/36 +f 818/1500/26 814/1492/26 816/1491/26 +f 821/1502/13 823/1471/13 824/1474/13 +f 803/1503/27 823/1471/27 821/1502/27 +f 836/1505/14 835/1706/14 833/1506/14 +f 832/1508/21 831/1707/21 836/1509/21 +f 828/1511/22 848/1515/22 847/1512/22 +f 826/1514/21 846/1524/21 848/1515/21 +f 830/1517/29 829/1708/29 833/1518/29 +f 831/1520/13 832/1709/13 829/1521/13 +f 825/1523/30 845/1541/30 846/1524/30 +f 829/1521/30 832/1709/30 834/1507/30 +f 831/1526/22 830/1710/22 835/1527/22 +f 838/1529/13 837/1533/13 839/1530/13 +f 843/1532/29 839/1530/29 837/1533/29 +f 844/1535/22 840/1531/22 839/1530/22 +f 841/1537/30 837/1533/30 838/1529/30 +f 842/1539/21 838/1529/21 840/1531/21 +f 845/1541/13 847/1512/13 848/1515/13 +f 827/1542/29 847/1512/29 845/1541/29 +f 850/1544/14 852/1560/14 851/1545/14 +f 853/1547/13 856/1559/13 855/1548/13 +f 853/1550/17 854/1711/17 849/1551/17 +f 854/1553/16 855/1712/16 850/1554/16 +f 855/1556/15 856/1713/15 852/1557/15 +f 856/1559/18 853/1547/18 851/1545/18 +f 859/1561/17 863/1565/17 861/1562/17 +f 860/1564/18 864/1571/18 863/1565/18 +f 857/1567/16 861/1562/16 862/1568/16 +f 858/1570/15 862/1568/15 864/1571/15 +f 864/1571/13 862/1568/13 861/1562/13 +f 867/1573/17 871/1577/17 869/1574/17 +f 868/1576/18 872/1583/18 871/1577/18 +f 865/1579/16 869/1574/16 870/1580/16 +f 866/1582/15 870/1580/15 872/1583/15 +f 872/1583/13 870/1580/13 869/1574/13 diff --git a/src/main/resources/assets/hbm/models/blocks/toaster.obj b/src/main/resources/assets/hbm/models/blocks/toaster.obj new file mode 100644 index 000000000..f43798c79 --- /dev/null +++ b/src/main/resources/assets/hbm/models/blocks/toaster.obj @@ -0,0 +1,186 @@ +# Blender v2.79 (sub 0) OBJ File: 'toaster.blend' +# www.blender.org +o Plane +v 0.093750 0.312500 -0.125000 +v 0.031250 0.312500 -0.125000 +v 0.093750 0.312500 0.125000 +v 0.031250 0.312500 0.125000 +v -0.125000 0.000000 0.250000 +v 0.125000 0.000000 0.250000 +v -0.125000 0.000000 -0.250000 +v 0.125000 0.000000 -0.250000 +v -0.125000 0.250000 0.250000 +v 0.125000 0.250000 0.250000 +v -0.125000 0.250000 -0.250000 +v 0.125000 0.250000 -0.250000 +v -0.125000 0.312500 0.187500 +v 0.125000 0.312500 0.187500 +v -0.125000 0.312500 -0.187500 +v 0.125000 0.312500 -0.187500 +v -0.031250 0.312500 -0.125000 +v -0.093750 0.312500 -0.125000 +v -0.031250 0.312500 0.125000 +v -0.093750 0.312500 0.125000 +v 0.093750 0.062500 -0.125000 +v 0.031250 0.062500 -0.125000 +v 0.093750 0.062500 0.125000 +v 0.031250 0.062500 0.125000 +v -0.031250 0.062500 0.125000 +v -0.031250 0.062500 -0.125000 +v -0.093750 0.062500 -0.125000 +v -0.093750 0.062500 0.125000 +v -0.093750 0.156250 -0.250000 +v 0.093750 0.156250 -0.250000 +v -0.093750 0.218750 -0.250000 +v 0.093750 0.218750 -0.250000 +v 0.093750 0.156250 -0.312500 +v -0.093750 0.156250 -0.312500 +v 0.093750 0.218750 -0.312500 +v -0.093750 0.218750 -0.312500 +vt 0.750000 0.812500 +vt 0.812500 0.562500 +vt 0.812500 0.812500 +vt 0.500000 0.000000 +vt 0.000000 0.250000 +vt 0.000000 -0.000000 +vt 0.500000 0.812500 +vt 0.437500 0.562500 +vt 0.500000 0.562500 +vt 0.750000 0.812500 +vt 0.812500 0.562500 +vt 0.812500 0.812500 +vt 0.500000 0.250000 +vt 0.062500 0.562500 +vt 0.750000 0.000000 +vt 0.500000 0.250000 +vt 0.500000 0.000000 +vt 1.000000 0.000000 +vt 0.750000 0.250000 +vt 0.750000 0.000000 +vt 0.375000 0.718750 +vt 0.125000 0.656250 +vt 0.375000 0.656250 +vt -0.000000 0.562500 +vt 0.062500 0.812500 +vt -0.000000 0.812500 +vt 0.125000 0.593750 +vt 0.375000 0.593750 +vt 0.125000 0.781250 +vt 0.437500 0.812500 +vt 0.500000 0.250000 +vt 0.062500 0.562500 +vt -0.000000 0.250000 +vt 0.375000 0.781250 +vt 0.500000 0.500000 +vt 0.750000 0.562500 +vt 0.500000 0.562500 +vt 0.500000 0.500000 +vt 0.750000 0.562500 +vt 0.500000 0.562500 +vt 0.750000 0.812500 +vt 0.812500 0.562500 +vt 0.812500 0.812500 +vt 0.500000 0.812500 +vt 0.750000 0.812500 +vt 0.500000 0.812500 +vt 0.500000 0.812500 +vt 0.750000 0.562500 +vt 0.812500 0.562500 +vt 0.812500 0.812500 +vt 0.500000 0.812500 +vt 0.750000 0.562500 +vt 0.750000 0.375000 +vt 0.562500 0.312500 +vt 0.750000 0.312500 +vt 0.812500 0.375000 +vt 0.812500 0.312500 +vt 0.750000 0.250000 +vt 0.562500 0.250000 +vt 0.500000 0.312500 +vt 0.562500 0.375000 +vt 0.500000 0.375000 +vt 0.562500 0.437500 +vt 0.750000 0.437500 +vt 0.500000 0.500000 +vt 0.000000 0.500000 +vt 0.750000 0.250000 +vt 1.000000 0.250000 +vt 0.125000 0.718750 +vt 0.500000 0.500000 +vt 0.437500 0.562500 +vt -0.000000 0.500000 +vt 0.750000 0.500000 +vt 0.750000 0.500000 +vt 0.500000 0.562500 +vt 0.500000 0.562500 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.7071 -0.7071 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.7071 0.7071 +vn -1.0000 0.0000 0.0000 +s off +f 3/1/1 24/2/1 4/3/1 +f 7/4/2 6/5/2 5/6/2 +f 11/7/3 16/8/3 12/9/3 +f 19/10/1 28/11/1 20/12/1 +f 8/13/4 14/14/4 6/5/4 +f 7/15/1 12/16/1 8/17/1 +f 6/18/5 9/19/5 5/20/5 +f 17/21/6 4/22/6 2/23/6 +f 10/24/7 13/25/7 9/26/7 +f 3/27/6 16/8/6 1/28/6 +f 20/29/6 15/30/6 13/25/6 +f 5/31/8 15/32/8 7/33/8 +f 15/30/6 18/34/6 17/21/6 +f 13/25/6 14/14/6 4/22/6 +f 23/35/6 22/36/6 24/37/6 +f 25/38/6 27/39/6 28/40/6 +f 2/41/5 21/42/5 1/43/5 +f 20/44/4 27/39/4 18/45/4 +f 4/46/4 22/36/4 2/41/4 +f 1/47/8 23/48/8 3/1/8 +f 18/45/5 26/49/5 17/50/5 +f 17/51/8 25/52/8 19/10/8 +f 36/53/1 33/54/1 34/55/1 +f 31/56/8 34/55/8 29/57/8 +f 29/58/2 33/54/2 30/59/2 +f 30/60/4 35/61/4 32/62/4 +f 32/63/6 36/53/6 31/64/6 +f 3/1/1 23/48/1 24/2/1 +f 7/4/2 8/13/2 6/5/2 +f 11/7/3 15/30/3 16/8/3 +f 19/10/1 25/52/1 28/11/1 +f 8/13/4 12/65/4 16/8/4 +f 16/8/4 14/14/4 8/13/4 +f 14/14/4 10/66/4 6/5/4 +f 7/15/1 11/67/1 12/16/1 +f 6/18/5 10/68/5 9/19/5 +f 17/21/6 19/69/6 4/22/6 +f 10/24/7 14/14/7 13/25/7 +f 3/27/6 14/14/6 16/8/6 +f 20/29/6 18/34/6 15/30/6 +f 5/31/8 9/70/8 13/71/8 +f 13/71/8 15/32/8 5/31/8 +f 15/32/8 11/72/8 7/33/8 +f 17/21/6 2/23/6 15/30/6 +f 2/23/6 1/28/6 16/8/6 +f 15/30/6 2/23/6 16/8/6 +f 3/27/6 4/22/6 14/14/6 +f 4/22/6 19/69/6 13/25/6 +f 19/69/6 20/29/6 13/25/6 +f 23/35/6 21/73/6 22/36/6 +f 25/38/6 26/74/6 27/39/6 +f 2/41/5 22/36/5 21/42/5 +f 20/44/4 28/40/4 27/39/4 +f 4/46/4 24/37/4 22/36/4 +f 1/47/8 21/75/8 23/48/8 +f 18/45/5 27/39/5 26/49/5 +f 17/51/8 26/76/8 25/52/8 +f 36/53/1 35/61/1 33/54/1 +f 31/56/8 36/53/8 34/55/8 +f 29/58/2 34/55/2 33/54/2 +f 30/60/4 33/54/4 35/61/4 +f 32/63/6 35/61/6 36/53/6 diff --git a/src/main/resources/assets/hbm/models/bombs/gadget.obj b/src/main/resources/assets/hbm/models/bombs/gadget.obj new file mode 100644 index 000000000..e2e007e50 --- /dev/null +++ b/src/main/resources/assets/hbm/models/bombs/gadget.obj @@ -0,0 +1,10019 @@ +# Blender v2.79 (sub 0) OBJ File: 'gadget.blend' +# www.blender.org +o Wires +v -1.174005 1.942922 -0.549430 +v -1.183310 1.913090 -0.549430 +v -1.182231 1.912753 -0.518200 +v -1.172926 1.942586 -0.518200 +v -1.196076 1.821231 -0.548875 +v -1.202886 1.790732 -0.548875 +v -1.202886 1.790732 -0.517625 +v -1.196076 1.821231 -0.517625 +v -1.238634 1.797799 -0.528074 +v -1.233117 1.828558 -0.528074 +v -1.206878 1.823852 -0.511767 +v -1.212395 1.793093 -0.511767 +v -1.217782 1.698130 -0.548875 +v -1.224592 1.667631 -0.548875 +v -1.224592 1.667631 -0.517625 +v -1.217782 1.698130 -0.517625 +v -1.259217 1.671675 -0.533248 +v -1.257805 1.702893 -0.533248 +v -1.235729 1.701894 -0.511153 +v -1.237141 1.670676 -0.511153 +v -1.239488 1.575029 -0.548875 +v -1.246298 1.544530 -0.548875 +v -1.246298 1.544530 -0.517625 +v -1.239488 1.575029 -0.517625 +v -1.279112 1.546412 -0.529872 +v -1.280785 1.577617 -0.529872 +v -1.255606 1.578968 -0.511412 +v -1.253933 1.547762 -0.511412 +v -1.216391 1.945193 -0.663251 +v -1.188182 1.958640 -0.663251 +v -1.181072 1.943725 -0.636726 +v -1.209281 1.930278 -0.636726 +v -1.241104 1.815372 -0.659276 +v -1.217851 1.836249 -0.659276 +v -1.203790 1.820588 -0.636177 +v -1.227042 1.799710 -0.636177 +v -1.239636 1.660727 -0.666553 +v -1.261933 1.682622 -0.666553 +v -1.253403 1.691308 -0.637772 +v -1.231106 1.669413 -0.637772 +v -1.239488 1.575029 -0.673875 +v -1.246298 1.544530 -0.673875 +v -1.246298 1.544530 -0.642625 +v -1.239488 1.575029 -0.642625 +v -1.256174 1.540192 -0.672388 +v -1.280892 1.559312 -0.672388 +v -1.279152 1.561561 -0.641268 +v -1.254434 1.542440 -0.641268 +v -1.174370 1.944332 -0.798875 +v -1.181180 1.913833 -0.798875 +v -1.181180 1.913833 -0.767625 +v -1.174370 1.944332 -0.767625 +v -1.215594 1.947240 -0.785575 +v -1.186501 1.958649 -0.785575 +v -1.179327 1.940356 -0.761275 +v -1.208420 1.928947 -0.761275 +v -1.196076 1.821231 -0.798875 +v -1.202886 1.790732 -0.798875 +v -1.202886 1.790732 -0.767625 +v -1.196076 1.821231 -0.767625 +v -1.240732 1.814322 -0.788906 +v -1.217902 1.835661 -0.788906 +v -1.207178 1.824188 -0.761889 +v -1.230008 1.802849 -0.761889 +v -1.242324 1.660806 -0.790220 +v -1.262535 1.684641 -0.790220 +v -1.251858 1.693694 -0.762281 +v -1.231647 1.669860 -0.762281 +v -1.239488 1.575029 -0.798875 +v -1.246298 1.544530 -0.798875 +v -1.246298 1.544530 -0.767625 +v -1.239488 1.575029 -0.767625 +v -1.252976 1.544934 -0.802555 +v -1.277033 1.564880 -0.802555 +v -1.282493 1.558295 -0.772498 +v -1.258435 1.538350 -0.772498 +v -1.174370 1.944332 -0.923875 +v -1.181180 1.913833 -0.923875 +v -1.181180 1.913833 -0.892625 +v -1.174370 1.944332 -0.892625 +v -1.212353 1.945965 -0.921560 +v -1.181977 1.953300 -0.921560 +v -1.180960 1.949093 -0.890611 +v -1.211337 1.941757 -0.890611 +v -1.196076 1.821231 -0.923875 +v -1.202886 1.790732 -0.923875 +v -1.202886 1.790732 -0.892625 +v -1.196076 1.821231 -0.892625 +v -1.239209 1.806511 -0.919429 +v -1.222351 1.832825 -0.919429 +v -1.215715 1.828573 -0.889189 +v -1.232572 1.802260 -0.889189 +v -1.217782 1.698130 -0.923875 +v -1.224592 1.667631 -0.923875 +v -1.224592 1.667631 -0.892625 +v -1.217782 1.698130 -0.892625 +v -1.228890 1.670839 -0.929152 +v -1.253067 1.690639 -0.929152 +v -1.261768 1.680014 -0.901081 +v -1.237591 1.660214 -0.901081 +v -1.239488 1.575029 -0.923875 +v -1.246298 1.544530 -0.923875 +v -1.246298 1.544530 -0.892625 +v -1.239488 1.575029 -0.892625 +v -1.259141 1.538664 -0.919660 +v -1.282409 1.559525 -0.919660 +v -1.277393 1.565119 -0.889326 +v -1.254125 1.544258 -0.889326 +v -1.174370 1.944332 -1.048875 +v -1.181180 1.913833 -1.048875 +v -1.181180 1.913833 -1.017625 +v -1.174370 1.944332 -1.017625 +v -1.209377 1.949713 -1.046222 +v -1.178154 1.951008 -1.046222 +v -1.177951 1.946095 -1.015361 +v -1.209174 1.944801 -1.015361 +v -1.196076 1.821231 -1.048875 +v -1.202886 1.790732 -1.048875 +v -1.202886 1.790732 -1.017625 +v -1.196076 1.821231 -1.017625 +v -1.217782 1.698130 -1.048875 +v -1.224592 1.667631 -1.048875 +v -1.224592 1.667631 -1.017625 +v -1.217782 1.698130 -1.017625 +v -1.239488 1.575029 -1.048875 +v -1.246298 1.544530 -1.048875 +v -1.246298 1.544530 -1.017625 +v -1.239488 1.575029 -1.017625 +v -1.174370 1.944332 -1.173875 +v -1.181180 1.913833 -1.173875 +v -1.181180 1.913833 -1.142625 +v -1.174370 1.944332 -1.142625 +v -1.196076 1.821231 -1.173875 +v -1.202886 1.790732 -1.173875 +v -1.202886 1.790732 -1.142625 +v -1.196076 1.821231 -1.142625 +v -1.224011 1.796775 -1.180323 +v -1.203896 1.820690 -1.180323 +v -1.221566 1.835552 -1.159265 +v -1.241681 1.811637 -1.159265 +v -1.217782 1.698130 -1.173875 +v -1.224592 1.667631 -1.173875 +v -1.224592 1.667631 -1.142625 +v -1.217782 1.698130 -1.142625 +v -1.239488 1.575029 -1.173875 +v -1.246298 1.544530 -1.173875 +v -1.246298 1.544530 -1.142625 +v -1.239488 1.575029 -1.142625 +v -1.256882 1.542336 -1.175459 +v -1.278993 1.564419 -1.175459 +v -1.281359 1.562049 -1.144389 +v -1.259249 1.539966 -1.144389 +v 0.362842 2.375147 0.326274 +v 0.386903 2.373444 0.306407 +v 0.370036 2.388315 0.284706 +v 0.345975 2.390018 0.304574 +v 0.384077 2.432766 0.344619 +v 0.405915 2.423475 0.324288 +v 0.384420 2.422550 0.301623 +v 0.362582 2.431840 0.321954 +v -0.918945 1.110495 -0.342736 +v -0.931564 1.094373 -0.319127 +v -0.936371 1.121008 -0.303506 +v -0.923751 1.137131 -0.327115 +v -0.379805 2.444080 -0.309020 +v -0.367132 2.433805 -0.335673 +v -0.388692 2.411236 -0.337222 +v -0.401364 2.421511 -0.310569 +v 0.402196 2.434005 -0.311901 +v 0.396841 2.423141 -0.340708 +v 0.366301 2.421311 -0.334341 +v 0.371656 2.432175 -0.305534 +v -0.378623 0.564951 0.303071 +v -0.371040 0.557246 0.332392 +v -0.389874 0.579733 0.343171 +v -0.397457 0.587438 0.313851 +v 0.393651 0.572855 0.303131 +v 0.404220 0.573220 0.332537 +v 0.374846 0.571829 0.343111 +v 0.364277 0.571465 0.313705 +v 0.390783 0.579489 -0.342983 +v 0.405056 0.566658 -0.318321 +v 0.377714 0.565195 -0.303259 +v 0.363441 0.578026 -0.327921 +v 0.701539 1.282990 0.756744 +v 0.694797 1.253772 0.747945 +v 0.701307 1.261198 0.718296 +v 0.708049 1.290416 0.727095 +v -0.378277 2.436777 0.342343 +v -0.368708 2.439423 0.312712 +v -0.390220 2.418539 0.303900 +v -0.399789 2.415894 0.333531 +v 0.440212 2.090464 0.757640 +v 0.454304 2.095352 0.730180 +v 0.426795 2.102869 0.717400 +v 0.412703 2.097980 0.744860 +v 0.712255 1.254904 -0.728834 +v 0.684271 1.258951 -0.742139 +v 0.690591 1.289284 -0.746206 +v 0.718576 1.285237 -0.732900 +v 0.019550 0.757477 0.728517 +v 0.010032 0.767352 0.756596 +v -0.019550 0.767483 0.746523 +v -0.010032 0.757608 0.718444 +v 0.011101 0.775618 -0.751392 +v 0.014829 0.746439 -0.740846 +v -0.011101 0.749342 -0.723648 +v -0.014829 0.778521 -0.734194 +v -0.692788 1.289504 -0.748037 +v -0.694407 1.258821 -0.753733 +v -0.710059 1.254684 -0.727003 +v -0.708439 1.285368 -0.721307 +v -0.933840 1.870228 0.339042 +v -0.923487 1.899704 0.338352 +v -0.921475 1.898269 0.307200 +v -0.931829 1.868792 0.307890 +v 0.451844 2.105888 -0.729343 +v 0.445829 2.082972 -0.749720 +v 0.415163 2.087443 -0.745697 +v 0.421178 2.110360 -0.725320 +v -0.423559 2.116383 -0.738324 +v -0.421411 2.089866 -0.754719 +v -0.443448 2.076950 -0.736716 +v -0.445596 2.103467 -0.720321 +v -0.377169 0.573822 -0.344001 +v -0.369308 0.556547 -0.319174 +v -0.391328 0.570862 -0.302241 +v -0.399189 0.588137 -0.327067 +v 0.935823 1.863839 -0.325374 +v 0.912476 1.879881 -0.338572 +v 0.919493 1.904657 -0.320868 +v 0.942839 1.888617 -0.307670 +v 0.922768 1.100037 0.337866 +v 0.918963 1.103356 0.307026 +v 0.932547 1.131467 0.308377 +v 0.936352 1.128147 0.339216 +v -0.925593 1.094452 0.328629 +v -0.931403 1.120862 0.344290 +v -0.929723 1.137052 0.317614 +v -0.923912 1.110641 0.301952 +v 0.943630 1.125342 -0.311239 +v 0.933693 1.095992 -0.315285 +v 0.911686 1.106161 -0.335003 +v 0.921622 1.135511 -0.330957 +v -0.425439 2.093643 0.757870 +v -0.422154 2.115550 0.735828 +v -0.441567 2.099689 0.717170 +v -0.444853 2.077783 0.739212 +v 0.942297 1.870918 0.332933 +v 0.937698 1.880986 0.303709 +v 0.913019 1.897579 0.313309 +v 0.917617 1.887511 0.342533 +v -1.156318 1.937406 -0.550100 +v -1.165622 1.907573 -0.550100 +v -1.164544 1.907237 -0.518870 +v -1.155239 1.937070 -0.518870 +v -1.178721 1.817356 -0.548875 +v -1.185531 1.786857 -0.548875 +v -1.185531 1.786857 -0.517625 +v -1.178721 1.817356 -0.517625 +v -1.200428 1.694255 -0.548875 +v -1.207237 1.663756 -0.548875 +v -1.207237 1.663756 -0.517625 +v -1.200428 1.694255 -0.517625 +v -1.222133 1.571154 -0.548875 +v -1.228943 1.540655 -0.548875 +v -1.228943 1.540655 -0.517625 +v -1.222133 1.571154 -0.517625 +v -1.157016 1.940457 -0.673875 +v -1.163825 1.909958 -0.673875 +v -1.163825 1.909958 -0.642625 +v -1.157016 1.940457 -0.642625 +v -1.178721 1.817356 -0.673875 +v -1.185531 1.786857 -0.673875 +v -1.185531 1.786857 -0.642625 +v -1.178721 1.817356 -0.642625 +v -1.200428 1.694255 -0.673875 +v -1.207237 1.663756 -0.673875 +v -1.207237 1.663756 -0.642625 +v -1.200428 1.694255 -0.642625 +v -1.222133 1.571154 -0.673875 +v -1.228943 1.540655 -0.673875 +v -1.228943 1.540655 -0.642625 +v -1.222133 1.571154 -0.642625 +v -1.157016 1.940457 -0.798875 +v -1.163825 1.909958 -0.798875 +v -1.163825 1.909958 -0.767625 +v -1.157016 1.940457 -0.767625 +v -1.178721 1.817356 -0.798875 +v -1.185531 1.786857 -0.798875 +v -1.185531 1.786857 -0.767625 +v -1.178721 1.817356 -0.767625 +v -1.200428 1.694255 -0.798875 +v -1.207237 1.663756 -0.798875 +v -1.207237 1.663756 -0.767625 +v -1.200428 1.694255 -0.767625 +v -1.222133 1.571154 -0.798875 +v -1.228943 1.540655 -0.798875 +v -1.228943 1.540655 -0.767625 +v -1.222133 1.571154 -0.767625 +v -1.157016 1.940457 -0.923875 +v -1.163825 1.909958 -0.923875 +v -1.163825 1.909958 -0.892625 +v -1.157016 1.940457 -0.892625 +v -1.178721 1.817356 -0.923875 +v -1.185531 1.786857 -0.923875 +v -1.185531 1.786857 -0.892625 +v -1.178721 1.817356 -0.892625 +v -1.200428 1.694255 -0.923875 +v -1.207237 1.663756 -0.923875 +v -1.207237 1.663756 -0.892625 +v -1.200428 1.694255 -0.892625 +v -1.222133 1.571154 -0.923875 +v -1.228943 1.540655 -0.923875 +v -1.228943 1.540655 -0.892625 +v -1.222133 1.571154 -0.892625 +v -1.157016 1.940457 -1.048875 +v -1.163825 1.909958 -1.048875 +v -1.163825 1.909958 -1.017625 +v -1.157016 1.940457 -1.017625 +v -1.178721 1.817356 -1.048875 +v -1.185531 1.786857 -1.048875 +v -1.185531 1.786857 -1.017625 +v -1.178721 1.817356 -1.017625 +v -1.200428 1.694255 -1.048875 +v -1.207237 1.663756 -1.048875 +v -1.207237 1.663756 -1.017625 +v -1.200428 1.694255 -1.017625 +v -1.222133 1.571154 -1.048875 +v -1.228943 1.540655 -1.048875 +v -1.228943 1.540655 -1.017625 +v -1.222133 1.571154 -1.017625 +v -1.157016 1.940457 -1.173875 +v -1.163825 1.909958 -1.173875 +v -1.163825 1.909958 -1.142625 +v -1.157016 1.940457 -1.142625 +v -1.178721 1.817356 -1.173875 +v -1.185531 1.786857 -1.173875 +v -1.185531 1.786857 -1.142625 +v -1.178721 1.817356 -1.142625 +v -1.200428 1.694255 -1.173875 +v -1.207237 1.663756 -1.173875 +v -1.207237 1.663756 -1.142625 +v -1.200428 1.694255 -1.142625 +v -1.222133 1.571154 -1.173875 +v -1.228943 1.540655 -1.173875 +v -1.228943 1.540655 -1.142625 +v -1.222133 1.571154 -1.142625 +v 0.017136 0.743499 0.724780 +v 0.004522 0.734500 0.751918 +v -0.022795 0.747049 0.743382 +v -0.010181 0.756049 0.716244 +v -0.932735 1.892860 -0.303414 +v -0.921417 1.904215 -0.330238 +v -0.922581 1.875637 -0.342828 +v -0.933899 1.864282 -0.316004 +v -0.871601 1.130094 -0.328227 +v -0.874083 1.115559 -0.300674 +v -0.888143 1.140746 -0.288653 +v -0.885661 1.155281 -0.316206 +v -0.354684 2.391416 -0.290709 +v -0.345393 2.386196 -0.320086 +v -0.372583 2.372046 -0.326171 +v -0.381874 2.377266 -0.296794 +v 0.383366 2.379659 -0.294388 +v 0.378403 2.372027 -0.324283 +v 0.349512 2.383803 -0.322492 +v 0.354475 2.391435 -0.292597 +v -0.359405 0.609935 0.285871 +v -0.343644 0.613086 0.312670 +v -0.367861 0.628427 0.325109 +v -0.383623 0.625276 0.298310 +v 0.376633 0.615788 0.286180 +v 0.384590 0.629038 0.313341 +v 0.356245 0.622573 0.324799 +v 0.348287 0.609324 0.297639 +v 0.372838 0.627684 -0.327806 +v 0.386201 0.623987 -0.299800 +v 0.360040 0.610678 -0.289074 +v 0.346677 0.614375 -0.317080 +v 0.657378 1.298058 0.712639 +v 0.654377 1.267693 0.705891 +v 0.678131 1.269832 0.685699 +v 0.681132 1.300197 0.692447 +v -0.350919 2.380516 0.323522 +v -0.347705 2.392903 0.295013 +v -0.376347 2.382946 0.287458 +v -0.379561 2.370559 0.315968 +v 0.415770 2.049235 0.711656 +v 0.433448 2.064315 0.690760 +v 0.410693 2.085341 0.686682 +v 0.393014 2.070262 0.707578 +v 0.675740 1.267926 -0.689162 +v 0.653419 1.269644 -0.710965 +v 0.659769 1.299965 -0.715076 +v 0.682090 1.298246 -0.693273 +v 0.020709 0.791764 0.692041 +v 0.012137 0.813454 0.712841 +v -0.017903 0.807859 0.706297 +v -0.009332 0.786169 0.685497 +v 0.012411 0.812776 -0.716227 +v 0.020553 0.791856 -0.694488 +v -0.009605 0.786847 -0.688011 +v -0.017748 0.807768 -0.709750 +v -0.658659 1.301218 -0.714382 +v -0.650449 1.271109 -0.712762 +v -0.671239 1.266673 -0.689856 +v -0.679449 1.296781 -0.691476 +v -0.880574 1.849442 0.320662 +v -0.869416 1.878621 0.319862 +v -0.879170 1.881541 0.290318 +v -0.890328 1.852362 0.291118 +v 0.430095 2.071926 -0.688614 +v 0.424389 2.049967 -0.710104 +v 0.396367 2.062652 -0.715624 +v 0.402074 2.084610 -0.694134 +v -0.396101 2.083585 -0.697934 +v -0.396827 2.059312 -0.717603 +v -0.424750 2.050992 -0.706304 +v -0.424023 2.075265 -0.686635 +v -0.355627 0.622050 -0.328835 +v -0.344899 0.609076 -0.302507 +v -0.371639 0.616312 -0.288045 +v -0.382368 0.629286 -0.314372 +v 0.890566 1.844954 -0.310510 +v 0.875991 1.865047 -0.329496 +v 0.874790 1.886029 -0.306370 +v 0.889365 1.865937 -0.287384 +v 0.871530 1.122561 0.319584 +v 0.881710 1.119498 0.290198 +v 0.893825 1.148279 0.291396 +v 0.883646 1.151341 0.320782 +v -0.870180 1.116141 0.310253 +v -0.875363 1.142718 0.325854 +v -0.889564 1.154698 0.300727 +v -0.884381 1.128121 0.285126 +v 0.892881 1.146892 -0.292548 +v 0.879864 1.118546 -0.294453 +v 0.872474 1.123948 -0.324332 +v 0.885491 1.152294 -0.322427 +v -0.396307 2.059003 0.714012 +v -0.396346 2.083800 0.694994 +v -0.424543 2.075575 0.684326 +v -0.424505 2.050777 0.703344 +v 0.888492 1.845253 0.312187 +v 0.891987 1.861657 0.285820 +v 0.876863 1.885731 0.298793 +v 0.873368 1.869327 0.325160 +v -0.882969 1.873529 -0.288091 +v -0.870514 1.884555 -0.314546 +v -0.876775 1.857454 -0.328789 +v -0.889231 1.846428 -0.302334 +v -0.699444 1.251063 0.744007 +v -0.694129 1.278865 0.757249 +v -0.703402 1.293125 0.731034 +v -0.708717 1.265323 0.717791 +v -0.658734 1.263845 0.700877 +v -0.653428 1.291646 0.714126 +v -0.676775 1.304045 0.697461 +v -0.682081 1.276244 0.684212 +v -1.250682 1.800300 -0.504844 +v -1.244312 1.830791 -0.507355 +v -1.213916 1.824775 -0.503297 +v -1.220286 1.794284 -0.500787 +v -0.982266 1.884840 0.312786 +v -0.974819 1.915070 0.310093 +v -0.951790 1.907635 0.290320 +v -0.959237 1.877405 0.293013 +v -1.167644 1.905013 -0.411622 +v -1.147809 1.916676 -0.432767 +v -1.136946 1.887927 -0.438433 +v -1.156782 1.876265 -0.417288 +v -1.257349 1.835502 -0.632977 +v -1.231683 1.852062 -0.639583 +v -1.214005 1.829928 -0.626387 +v -1.239671 1.813368 -0.619780 +v -1.269599 1.671725 -0.522009 +v -1.273585 1.701356 -0.512916 +v -1.243640 1.702671 -0.504076 +v -1.239654 1.673040 -0.513170 +v -0.968102 1.101122 0.300168 +v -0.972912 1.126964 0.317068 +v -0.948098 1.140378 0.303620 +v -0.943288 1.114537 0.286720 +v -1.267418 1.634185 -0.650618 +v -1.296099 1.645030 -0.644588 +v -1.286089 1.656278 -0.617205 +v -1.257408 1.645433 -0.623235 +v -1.219398 1.450479 -0.568415 +v -1.246450 1.444145 -0.554110 +v -1.237709 1.461724 -0.529796 +v -1.210657 1.468058 -0.544101 +v -1.225639 1.945001 -0.500581 +v -1.202324 1.964765 -0.507089 +v -1.181590 1.941875 -0.502320 +v -1.204905 1.922112 -0.495812 +v -0.739907 2.136739 0.580774 +v -0.720859 2.154554 0.563559 +v -0.706554 2.128916 0.552854 +v -0.725602 2.111100 0.570069 +v -0.475138 2.112171 0.756943 +v -0.463366 2.130661 0.734670 +v -0.462442 2.106389 0.715009 +v -0.474215 2.087899 0.737281 +v -1.291063 1.545456 -0.511536 +v -1.294220 1.576348 -0.508029 +v -1.263562 1.578856 -0.502518 +v -1.260405 1.547964 -0.506026 +v -0.948442 1.317475 0.575246 +v -0.950512 1.347329 0.584250 +v -0.924351 1.353901 0.568470 +v -0.922282 1.324048 0.559466 +v -0.756633 1.265295 0.736868 +v -0.754544 1.293962 0.749129 +v -0.740023 1.303943 0.723320 +v -0.742113 1.275275 0.711059 +v -1.225876 1.970677 -0.643945 +v -1.196034 1.974689 -0.652306 +v -1.187520 1.951665 -0.632966 +v -1.217363 1.947655 -0.624605 +v -0.708222 2.312728 0.031637 +v -0.684215 2.309114 0.011961 +v -0.679826 2.280078 0.022649 +v -0.703834 2.283692 0.042325 +v -0.411357 2.455568 0.318103 +v -0.391060 2.450723 0.294841 +v -0.394931 2.419864 0.297890 +v -0.415228 2.424709 0.321152 +v -1.228111 1.987383 -0.749764 +v -1.198901 1.987463 -0.760869 +v -1.191670 1.963609 -0.742021 +v -1.220880 1.963529 -0.730916 +v -0.277296 2.456410 -0.010313 +v -0.260202 2.446807 -0.034647 +v -0.260223 2.417734 -0.023188 +v -0.277317 2.427338 0.001146 +v 0.382950 2.477947 0.302954 +v 0.401710 2.466248 0.280868 +v 0.384206 2.440387 0.279700 +v 0.365446 2.452085 0.301786 +v -1.273125 1.853628 -0.757993 +v -1.244658 1.862154 -0.767662 +v -1.231839 1.845921 -0.744237 +v -1.260306 1.837394 -0.734568 +v -1.160286 2.014342 -0.651530 +v -1.136128 2.009203 -0.670676 +v -1.128525 1.983731 -0.654246 +v -1.152682 1.988870 -0.635100 +v 0.080443 2.494827 0.551902 +v 0.096290 2.488848 0.525641 +v 0.084872 2.459760 0.525373 +v 0.069024 2.465739 0.551635 +v 0.430137 2.160579 0.735670 +v 0.443491 2.155233 0.707927 +v 0.418740 2.138223 0.699291 +v 0.405385 2.143569 0.727033 +v -0.689883 2.292951 -0.139719 +v -0.666622 2.287297 -0.159807 +v -0.663706 2.258391 -0.148296 +v -0.686967 2.264045 -0.128207 +v -0.300987 2.458956 0.229682 +v -0.279693 2.452532 0.207731 +v -0.279809 2.422510 0.216403 +v -0.301103 2.428934 0.238355 +v -1.277962 1.837572 -0.904344 +v -1.249453 1.847567 -0.912339 +v -1.238062 1.836657 -0.885362 +v -1.266571 1.826662 -0.877367 +v -1.141885 2.033298 -0.805968 +v -1.119419 2.022224 -0.824656 +v -1.112888 2.000027 -0.803651 +v -1.135353 2.011101 -0.784963 +v -0.418521 2.457716 -0.345257 +v -0.399861 2.444430 -0.366514 +v -0.405683 2.416358 -0.354078 +v -0.424342 2.429645 -0.332821 +v -1.270686 1.522317 -0.670676 +v -1.301203 1.527655 -0.666583 +v -1.295299 1.539801 -0.638402 +v -1.264781 1.534463 -0.642495 +v -0.780971 0.763280 -0.028970 +v -0.806318 0.752764 -0.014020 +v -0.804512 0.776759 0.005919 +v -0.779165 0.787275 -0.009031 +v -0.406400 0.557614 0.294573 +v -0.420413 0.542511 0.318069 +v -0.425938 0.569777 0.332302 +v -0.411926 0.584881 0.308805 +v -0.344519 2.443688 -0.494384 +v -0.331553 2.418868 -0.508254 +v -0.339349 2.401105 -0.483754 +v -0.352316 2.425925 -0.469884 +v 0.733007 2.298563 0.154754 +v 0.732383 2.276609 0.132523 +v 0.709714 2.261625 0.147956 +v 0.710338 2.283579 0.170187 +v 0.954970 1.941841 0.330687 +v 0.946309 1.933336 0.301891 +v 0.916809 1.930163 0.311700 +v 0.925469 1.938668 0.340496 +v -1.218629 1.988256 -0.914058 +v -1.189564 1.977734 -0.918651 +v -1.189073 1.966384 -0.889539 +v -1.218138 1.976906 -0.884946 +v 0.177467 2.442102 -0.227170 +v 0.184429 2.416794 -0.244128 +v 0.169763 2.398763 -0.223239 +v 0.162800 2.424071 -0.206282 +v -1.262764 1.537974 -0.805700 +v -1.293445 1.540689 -0.810977 +v -1.299228 1.533265 -0.781178 +v -1.268546 1.530550 -0.775901 +v -1.209338 1.460512 -0.817654 +v -1.227308 1.436931 -0.827533 +v -1.233191 1.428994 -0.797885 +v -1.215221 1.452575 -0.788007 +v -0.408007 0.558527 -0.352639 +v -0.414998 0.536402 -0.331706 +v -0.416323 0.558080 -0.309236 +v -0.409331 0.580204 -0.330169 +v -0.619798 0.742553 -0.370855 +v -0.640000 0.728000 -0.351969 +v -0.629834 0.745133 -0.327893 +v -0.609632 0.759685 -0.346778 +v -1.230728 1.458044 -0.706418 +v -1.257711 1.452871 -0.691528 +v -1.246891 1.468263 -0.666576 +v -1.219908 1.473435 -0.681466 +v -1.251448 1.654751 -0.784951 +v -1.278645 1.668818 -0.778707 +v -1.267097 1.679091 -0.751547 +v -1.239899 1.665023 -0.757791 +v -0.464045 2.119620 -0.761644 +v -0.457127 2.092153 -0.774844 +v -0.468140 2.077278 -0.749664 +v -0.475058 2.104745 -0.736464 +v -1.117438 2.044700 -0.999156 +v -1.103125 2.018915 -1.009494 +v -1.108725 2.004847 -0.982157 +v -1.123038 2.030631 -0.971820 +v -1.208328 1.975719 -1.041368 +v -1.179732 1.963533 -1.044577 +v -1.180409 1.954099 -1.014793 +v -1.209006 1.966285 -1.011583 +v 0.370087 2.477650 -0.329685 +v 0.371356 2.459130 -0.354824 +v 0.353789 2.437906 -0.340075 +v 0.352520 2.456427 -0.314936 +v -0.132913 2.490284 -0.521946 +v -0.120696 2.470372 -0.542701 +v -0.124076 2.446984 -0.522253 +v -0.136292 2.466897 -0.501497 +v -1.147826 2.037695 -0.938888 +v -1.124978 2.023528 -0.954821 +v -1.120232 2.004141 -0.930775 +v -1.143079 2.018309 -0.914842 +v -1.246547 1.833347 -1.032266 +v -1.216374 1.838247 -1.038758 +v -1.208372 1.824850 -1.011683 +v -1.238545 1.819950 -1.005191 +v 0.428442 2.141779 -0.767958 +v 0.426250 2.114627 -0.783271 +v 0.404111 2.105176 -0.763344 +v 0.406303 2.132328 -0.748031 +v 0.164884 2.170792 -0.897882 +v 0.168723 2.142047 -0.909527 +v 0.159689 2.129786 -0.882239 +v 0.155849 2.158530 -0.870595 +v -1.150275 2.044380 -1.142511 +v -1.135978 2.018185 -1.151785 +v -1.138413 2.006614 -1.122859 +v -1.152710 2.032808 -1.113584 +v -1.227184 1.966674 -1.172049 +v -1.196179 1.963353 -1.174106 +v -1.194762 1.957582 -1.143427 +v -1.225767 1.960901 -1.141370 +v -0.081033 0.550667 0.561118 +v -0.099551 0.530750 0.576511 +v -0.122591 0.551858 0.576106 +v -0.104073 0.571775 0.560713 +v -0.347769 0.595844 -0.578732 +v -0.369951 0.574112 -0.575229 +v -0.384405 0.592243 -0.554278 +v -0.362223 0.613974 -0.557781 +v -1.209457 1.466930 -0.928891 +v -1.232608 1.446149 -0.925946 +v -1.231919 1.449780 -0.894915 +v -1.208768 1.470561 -0.897860 +v -1.270576 1.532740 -0.915894 +v -1.301602 1.533237 -0.912197 +v -1.297879 1.535439 -0.881248 +v -1.266853 1.534943 -0.884945 +v 0.389232 0.555409 0.297459 +v 0.391752 0.529902 0.315335 +v 0.364631 0.536924 0.329180 +v 0.362111 0.562432 0.311304 +v -0.207880 0.569246 -0.561510 +v -0.220553 0.540752 -0.563527 +v -0.238641 0.547050 -0.538834 +v -0.225968 0.575543 -0.536817 +v -1.211726 1.465680 -0.963766 +v -1.237311 1.449687 -0.971904 +v -1.245983 1.448300 -0.941913 +v -1.220399 1.464293 -0.933775 +v -1.253845 1.642335 -0.948006 +v -1.283614 1.650151 -0.953414 +v -1.290991 1.642364 -0.924063 +v -1.261222 1.634548 -0.918655 +v 0.943516 1.871226 -0.359015 +v 0.914742 1.883286 -0.357229 +v 0.926923 1.911920 -0.354350 +v 0.955696 1.899860 -0.356136 +v 0.889329 1.870978 -0.569970 +v 0.863983 1.882787 -0.556015 +v 0.874178 1.911718 -0.561980 +v 0.899523 1.899910 -0.575935 +v 0.495434 1.861500 -0.981034 +v 0.480957 1.873584 -0.956116 +v 0.486243 1.902391 -0.967014 +v 0.500721 1.890307 -0.991932 +v -0.834393 1.814548 -1.283235 +v -0.836801 1.826961 -1.254658 +v -0.835730 1.855639 -1.267025 +v -0.833322 1.843226 -1.295602 +v -1.148200 1.825860 -1.266218 +v -1.138704 1.838350 -1.239193 +v -1.145305 1.866894 -1.250066 +v -1.154801 1.854404 -1.277091 +v -1.234792 1.805403 -1.194849 +v -1.212062 1.823185 -1.182861 +v -1.232931 1.845551 -1.176468 +v -1.255660 1.827768 -1.188457 +v 0.715545 1.248159 -0.776684 +v 0.686409 1.254946 -0.767652 +v 0.692966 1.285450 -0.769420 +v 0.722102 1.278663 -0.778453 +v 0.546517 1.291902 -0.987323 +v 0.530960 1.295632 -0.960479 +v 0.538480 1.325963 -0.960335 +v 0.554037 1.322233 -0.987180 +v -0.873200 1.639222 -1.281797 +v -0.876222 1.639836 -1.250700 +v -0.868384 1.670086 -1.250535 +v -0.865361 1.669473 -1.281632 +v -1.186465 1.724763 -1.278934 +v -1.168041 1.720581 -1.254042 +v -1.162655 1.751340 -1.252860 +v -1.181080 1.755523 -1.277752 +v -1.252684 1.708028 -1.067193 +v -1.221807 1.705025 -1.063432 +v -1.221114 1.731966 -1.047613 +v -1.251991 1.734969 -1.051374 +v -0.954687 1.560271 -1.298775 +v -0.985937 1.560271 -1.298775 +v -0.985937 1.591521 -1.298775 +v -0.954687 1.591521 -1.298775 +v -0.963335 1.590347 -1.336192 +v -0.970149 1.559849 -1.336192 +v -0.952451 1.555895 -1.310741 +v -0.945637 1.586393 -1.310741 +v -1.101448 1.611016 -1.336589 +v -1.086425 1.583614 -1.336589 +v -1.066532 1.594520 -1.315097 +v -1.081556 1.621922 -1.315097 +v -0.954687 1.560271 -1.251899 +v -0.985937 1.560271 -1.251899 +v -0.985937 1.591521 -1.251900 +v -0.954687 1.591521 -1.251900 +v -1.077788 1.581977 -1.252000 +v -1.109038 1.581977 -1.252000 +v -1.109038 1.613227 -1.252000 +v -1.077788 1.613227 -1.252000 +v 0.745194 1.273139 0.735025 +v 0.735015 1.244827 0.726576 +v 0.719654 1.257532 0.702510 +v 0.729833 1.285844 0.710959 +v 0.943610 1.259989 0.566791 +v 0.931926 1.231665 0.560645 +v 0.906328 1.244857 0.548509 +v 0.918013 1.273181 0.554655 +v 0.973016 1.351905 -0.575358 +v 0.960954 1.323080 -0.574949 +v 0.934052 1.334495 -0.563880 +v 0.946114 1.363320 -0.564288 +v 0.600109 1.441009 -1.009472 +v 0.592197 1.411235 -1.004230 +v 0.577894 1.419695 -0.977765 +v 0.585806 1.449470 -0.983007 +v -1.073487 1.623846 -1.364865 +v -1.067278 1.593794 -1.358955 +v -1.058762 1.601281 -1.329834 +v -1.064971 1.631332 -1.335745 +v 0.951122 1.085692 0.312932 +v 0.926018 1.099264 0.300198 +v 0.940128 1.127087 0.302037 +v 0.965232 1.113515 0.314771 +v 0.935073 1.197188 -0.576146 +v 0.909195 1.208910 -0.563128 +v 0.922666 1.237072 -0.561709 +v 0.948544 1.225349 -0.574726 +v 0.560659 1.358615 -0.982424 +v 0.547104 1.365096 -0.955023 +v 0.557465 1.394521 -0.956857 +v 0.571020 1.388041 -0.984259 +v -0.840678 1.692593 -1.288240 +v -0.843022 1.696158 -1.257282 +v -0.836343 1.726539 -1.260275 +v -0.833999 1.722973 -1.291232 +v -1.187308 1.756017 -1.283439 +v -1.176978 1.758718 -1.254070 +v -1.181892 1.789558 -1.255177 +v -1.192222 1.786859 -1.284546 +v -1.281084 1.697572 -1.201442 +v -1.256675 1.712997 -1.189491 +v -1.276172 1.731483 -1.173532 +v -1.300580 1.716059 -1.185483 +v 0.953203 1.134244 -0.358307 +v 0.944705 1.104700 -0.363921 +v 0.914640 1.113173 -0.362995 +v 0.923138 1.142717 -0.357381 +v 0.925834 1.168328 -0.575803 +v 0.918043 1.138104 -0.577344 +v 0.890808 1.144413 -0.563379 +v 0.898599 1.174636 -0.561838 +v 0.528609 1.250118 -0.993705 +v 0.521870 1.219603 -0.993587 +v 0.506780 1.223040 -0.966439 +v 0.513519 1.253554 -0.966556 +v -0.935810 1.584189 -1.354551 +v -0.942693 1.553706 -1.354520 +v -0.936888 1.552426 -1.323841 +v -0.930005 1.582909 -1.323871 +v -0.246489 0.832329 -0.855722 +v -0.258502 0.803503 -0.856856 +v -0.266625 0.805704 -0.826760 +v -0.254612 0.834530 -0.825626 +v -1.214327 1.469654 -1.049257 +v -1.236530 1.447909 -1.052539 +v -1.241021 1.447826 -1.021614 +v -1.218818 1.469571 -1.018332 +v -1.262501 1.543276 -1.052072 +v -1.293222 1.548172 -1.055042 +v -1.296599 1.545773 -1.024067 +v -1.265878 1.540877 -1.021098 +v 0.374585 0.560388 -0.353116 +v 0.377918 0.534075 -0.336591 +v 0.358668 0.545373 -0.314720 +v 0.355335 0.571686 -0.331244 +v -0.000276 0.530372 -0.584431 +v -0.012797 0.502610 -0.577427 +v -0.023881 0.514358 -0.550675 +v -0.011360 0.542120 -0.557679 +v -1.218359 1.455832 -1.164818 +v -1.241896 1.435340 -1.163192 +v -1.245818 1.442244 -1.132967 +v -1.222281 1.462735 -1.134594 +v -1.269335 1.533842 -1.177511 +v -1.300350 1.537532 -1.178506 +v -1.301281 1.538129 -1.147276 +v -1.270266 1.534439 -1.146281 +v -1.173318 1.944097 -0.673875 +v -1.180127 1.913598 -0.673875 +v -1.180127 1.913598 -0.642625 +v -1.173318 1.944097 -0.642625 +v -1.195024 1.820996 -0.673875 +v -1.201833 1.790497 -0.673875 +v -1.201833 1.790497 -0.642625 +v -1.195024 1.820996 -0.642625 +v -1.216730 1.697895 -0.673875 +v -1.223539 1.667396 -0.673875 +v -1.223539 1.667396 -0.642625 +v -1.216730 1.697895 -0.642625 +v -1.216730 1.697895 -0.798875 +v -1.223539 1.667396 -0.798875 +v -1.223539 1.667396 -0.767625 +v -1.216730 1.697895 -0.767625 +v -0.364991 2.414379 -0.298050 +v -0.355700 2.409160 -0.327426 +v -0.382890 2.395009 -0.333511 +v -0.392181 2.400229 -0.304135 +v 0.425906 2.063924 0.730832 +v 0.443584 2.079004 0.709936 +v 0.420829 2.100030 0.705858 +v 0.403150 2.084951 0.726754 +v -0.904467 1.858820 0.329478 +v -0.893309 1.888000 0.328678 +v -0.903063 1.890920 0.299133 +v -0.914221 1.861741 0.299933 +v -0.894073 1.106308 0.319069 +v -0.899256 1.132884 0.334669 +v -0.913457 1.144864 0.309542 +v -0.908274 1.118287 0.293942 +v -0.675568 1.257920 0.720053 +v -0.670262 1.285721 0.733302 +v -0.693610 1.298119 0.716636 +v -0.698915 1.270318 0.703387 +v -1.219347 1.937230 -0.524101 +v -1.196883 1.958954 -0.524101 +v -1.177292 1.938695 -0.510599 +v -1.199756 1.916971 -0.510599 +v -0.430747 0.577754 -0.354696 +v -0.447749 0.560204 -0.335216 +v -0.436113 0.575960 -0.310866 +v -0.419111 0.593510 -0.330346 +v -1.252167 1.693828 -1.058028 +v -1.220919 1.694257 -1.058028 +v -1.221169 1.712454 -1.032624 +v -1.252416 1.712025 -1.032624 +v -1.259744 1.683084 -1.186409 +v -1.242361 1.709054 -1.186409 +v -1.255320 1.717729 -1.159328 +v -1.272704 1.691760 -1.159328 +vt 0.017442 0.019417 +vt 0.011628 0.029126 +vt 0.011628 0.019417 +vt 0.017442 0.009709 +vt 0.011628 0.009709 +vt 0.017442 0.038835 +vt 0.011628 0.048544 +vt 0.011628 0.038835 +vt 0.005814 0.029126 +vt 0.005814 0.038835 +vt 0.011628 0.019417 +vt 0.017442 0.029126 +vt 0.011628 0.029126 +vt 0.011628 0.009709 +vt 0.017442 0.019417 +vt 0.011628 0.038835 +vt 0.017442 0.048544 +vt 0.011628 0.048544 +vt 0.017442 0.038835 +vt 0.011628 0.019417 +vt 0.017442 0.029126 +vt 0.011628 0.029126 +vt 0.011628 0.009709 +vt 0.017442 0.019417 +vt 0.011628 0.038835 +vt 0.017442 0.048544 +vt 0.011628 0.048544 +vt 0.017442 0.038835 +vt 0.011628 0.019417 +vt 0.017442 0.029126 +vt 0.011628 0.029126 +vt 0.011628 0.009709 +vt 0.017442 0.019417 +vt 0.011628 0.038835 +vt 0.017442 0.048544 +vt 0.011628 0.048544 +vt 0.017442 0.038835 +vt 0.011628 0.029126 +vt 0.017442 0.019417 +vt 0.017442 0.029126 +vt 0.011628 0.019417 +vt 0.017442 0.009709 +vt 0.011628 0.048544 +vt 0.017442 0.038835 +vt 0.017442 0.048544 +vt 0.023256 0.038835 +vt 0.023256 0.029126 +vt 0.011628 0.029126 +vt 0.017442 0.019417 +vt 0.017442 0.029126 +vt 0.011628 0.019417 +vt 0.017442 0.009709 +vt 0.011628 0.048544 +vt 0.017442 0.038835 +vt 0.017442 0.048544 +vt 0.122093 0.038835 +vt 0.110465 0.029126 +vt 0.122093 0.029126 +vt 0.168605 0.048544 +vt 0.162791 0.038835 +vt 0.168605 0.038835 +vt 0.168605 0.019417 +vt 0.162791 0.009709 +vt 0.168605 0.009709 +vt 0.168605 0.029126 +vt 0.162791 0.019417 +vt 0.005814 0.029126 +vt 0.017442 0.038835 +vt 0.005814 0.038835 +vt 0.348837 0.038835 +vt 0.343023 0.029126 +vt 0.348837 0.029126 +vt 0.348837 0.048544 +vt 0.343023 0.038835 +vt 0.348837 0.019417 +vt 0.343023 0.009709 +vt 0.348837 0.009709 +vt 0.343023 0.019417 +vt 0.011628 0.038835 +vt 0.017442 0.029126 +vt 0.017442 0.038835 +vt 0.011628 0.029126 +vt 0.017442 0.019417 +vt 0.011628 0.019417 +vt 0.017442 0.009709 +vt 0.011628 0.048544 +vt 0.017442 0.048544 +vt 0.011628 0.038835 +vt 0.017442 0.029126 +vt 0.017442 0.038835 +vt 0.011628 0.029126 +vt 0.017442 0.019417 +vt 0.011628 0.019417 +vt 0.017442 0.009709 +vt 0.011628 0.048544 +vt 0.017442 0.048544 +vt 0.308140 0.048544 +vt 0.302326 0.038835 +vt 0.308140 0.038835 +vt 0.308140 0.019417 +vt 0.302326 0.009709 +vt 0.308140 0.009709 +vt 0.308140 0.029126 +vt 0.302326 0.019417 +vt 0.005814 0.029126 +vt 0.017442 0.038835 +vt 0.005814 0.038835 +vt 0.011628 0.019417 +vt 0.017442 0.009709 +vt 0.017442 0.019417 +vt 0.011628 0.048544 +vt 0.017442 0.038835 +vt 0.017442 0.048544 +vt 0.011628 0.038835 +vt 0.017442 0.029126 +vt 0.011628 0.029126 +vt 0.011814 0.038878 +vt 0.017442 0.029126 +vt 0.017442 0.038835 +vt 0.011628 0.029126 +vt 0.017442 0.019417 +vt 0.011628 0.019417 +vt 0.017442 0.009709 +vt 0.011628 0.048544 +vt 0.017442 0.048544 +vt 0.011628 0.038835 +vt 0.017442 0.029126 +vt 0.017442 0.038835 +vt 0.011628 0.029126 +vt 0.017442 0.019417 +vt 0.011628 0.019417 +vt 0.017442 0.009709 +vt 0.011628 0.048544 +vt 0.017442 0.048544 +vt 0.011628 0.019417 +vt 0.017442 0.009709 +vt 0.017442 0.019417 +vt 0.011628 0.048544 +vt 0.017442 0.038835 +vt 0.017442 0.048544 +vt 0.011628 0.038835 +vt 0.017442 0.029126 +vt 0.011628 0.029126 +vt 0.011628 0.019417 +vt 0.017442 0.029126 +vt 0.011628 0.029126 +vt 0.011628 0.009709 +vt 0.017442 0.019417 +vt 0.011628 0.038835 +vt 0.017442 0.048544 +vt 0.011628 0.048544 +vt 0.017442 0.038835 +vt 0.011628 0.038835 +vt 0.017442 0.029126 +vt 0.017442 0.038835 +vt 0.011628 0.029126 +vt 0.017442 0.019417 +vt 0.011628 0.019417 +vt 0.017442 0.009709 +vt 0.011628 0.048544 +vt 0.017442 0.048544 +vt 0.017442 0.029126 +vt 0.011628 0.019417 +vt 0.017442 0.019417 +vt 0.017442 0.009709 +vt 0.011628 0.009709 +vt 0.017442 0.038835 +vt 0.011628 0.048544 +vt 0.011628 0.038835 +vt 0.005814 0.029126 +vt 0.005814 0.038835 +vt 0.017442 0.029126 +vt 0.011628 0.038835 +vt 0.011628 0.029126 +vt 0.011628 0.019417 +vt 0.017442 0.019417 +vt 0.011628 0.009709 +vt 0.017442 0.009709 +vt 0.005814 0.038835 +vt 0.011628 0.048544 +vt 0.005814 0.048544 +vt 0.017442 0.038835 +vt 0.011628 0.048544 +vt 0.011628 0.038835 +vt 0.011628 0.029126 +vt 0.017442 0.029126 +vt 0.011628 0.019417 +vt 0.017442 0.019417 +vt 0.005814 0.009709 +vt 0.005814 0.019417 +vt 0.005814 0.029126 +vt 0.011628 0.038835 +vt 0.005814 0.038835 +vt 0.011628 0.038835 +vt 0.017442 0.048544 +vt 0.011628 0.048544 +vt 0.011628 0.029126 +vt 0.017442 0.038835 +vt 0.011628 0.019417 +vt 0.017442 0.029126 +vt 0.011628 0.009709 +vt 0.017442 0.019417 +vt 0.023256 0.029126 +vt 0.011628 0.038835 +vt 0.011628 0.029126 +vt 0.011628 0.019417 +vt 0.023256 0.019417 +vt 0.011628 0.009709 +vt 0.023256 0.009709 +vt 0.005814 0.038835 +vt 0.011628 0.048544 +vt 0.005814 0.048544 +vt 0.011628 0.019417 +vt 0.017442 0.009709 +vt 0.017442 0.019417 +vt 0.011628 0.048544 +vt 0.017442 0.038835 +vt 0.017442 0.048544 +vt 0.011628 0.038835 +vt 0.017442 0.029126 +vt 0.011628 0.029126 +vt 0.017442 0.038835 +vt 0.023256 0.048544 +vt 0.017442 0.048544 +vt 0.017442 0.029126 +vt 0.023256 0.038835 +vt 0.017442 0.019417 +vt 0.023256 0.029126 +vt 0.017442 0.009709 +vt 0.023256 0.019417 +vt 0.424419 0.038835 +vt 0.412791 0.048544 +vt 0.412791 0.038835 +vt 0.424419 0.019417 +vt 0.412791 0.009709 +vt 0.424419 0.009709 +vt 0.424419 0.029126 +vt 0.412791 0.019417 +vt 0.005814 0.029126 +vt 0.005814 0.038835 +vt 0.005814 0.019417 +vt 0.005814 0.009709 +vt 0.005814 0.048544 +vt 0.319767 0.029126 +vt 0.308140 0.038835 +vt 0.308140 0.029126 +vt 0.005814 0.009709 +vt 0.005814 0.019417 +vt 0.005814 0.048544 +vt 0.005814 0.029126 +vt 0.005814 0.038835 +vt 0.005814 0.019417 +vt 0.005814 0.029126 +vt 0.005814 0.009709 +vt 0.005814 0.048544 +vt 0.005814 0.038835 +vt 0.005814 0.019417 +vt 0.005814 0.029126 +vt 0.005814 0.009709 +vt 0.005814 0.048544 +vt 0.005814 0.038835 +vt 0.017442 0.019417 +vt 0.005814 0.029126 +vt 0.005814 0.019417 +vt 0.005814 0.038835 +vt 0.011628 0.038835 +vt 0.005814 0.019417 +vt 0.005814 0.029126 +vt 0.005814 0.009709 +vt 0.005814 0.048544 +vt 0.005814 0.029126 +vt 0.011628 0.038835 +vt 0.005814 0.038835 +vt 0.005814 0.019417 +vt 0.011628 0.009709 +vt 0.005814 0.048544 +vt 0.174419 0.029126 +vt 0.174419 0.048544 +vt 0.174419 0.038835 +vt 0.174419 0.019417 +vt 0.174419 0.009709 +vt 0.005814 0.019417 +vt 0.011628 0.009709 +vt 0.005814 0.048544 +vt 0.406977 0.029126 +vt 0.412791 0.029126 +vt 0.005814 0.019417 +vt 0.005814 0.029126 +vt 0.011628 0.009709 +vt 0.005814 0.038835 +vt 0.005814 0.048544 +vt 0.313953 0.029126 +vt 0.313953 0.048544 +vt 0.313953 0.038835 +vt 0.313953 0.019417 +vt 0.313953 0.009709 +vt 0.005814 0.038835 +vt 0.005814 0.048544 +vt 0.005814 0.019417 +vt 0.005814 0.029126 +vt 0.151163 0.019417 +vt 0.139535 0.009709 +vt 0.151163 0.009709 +vt 0.005814 0.019417 +vt 0.005814 0.029126 +vt 0.011628 0.009709 +vt 0.005814 0.038835 +vt 0.005814 0.048544 +vt 0.005814 0.019417 +vt 0.005814 0.029126 +vt 0.011628 0.009709 +vt 0.005814 0.038835 +vt 0.005814 0.048544 +vt 0.005814 0.038835 +vt 0.005814 0.048544 +vt 0.005814 0.019417 +vt 0.005814 0.029126 +vt 0.005814 0.009709 +vt 0.005814 0.019417 +vt 0.005814 0.048544 +vt 0.005814 0.029126 +vt 0.005814 0.038835 +vt 0.581395 0.029126 +vt 0.569767 0.019417 +vt 0.581395 0.019417 +vt 0.005814 0.019417 +vt 0.005814 0.029126 +vt 0.011628 0.009709 +vt 0.005814 0.038835 +vt 0.005814 0.048544 +vt 0.180233 0.029126 +vt 0.168605 0.038835 +vt 0.168605 0.029126 +vt 0.005814 0.019417 +vt 0.011628 0.029126 +vt 0.005814 0.048544 +vt 0.383721 0.029126 +vt 0.372093 0.038835 +vt 0.372093 0.029126 +vt 0.005814 0.029126 +vt 0.005814 0.009709 +vt 0.005814 0.019417 +vt 0.005814 0.038835 +vt 0.005814 0.048544 +vt 0.005814 0.029126 +vt 0.005814 0.019417 +vt 0.011628 0.029126 +vt 0.011628 0.009709 +vt 0.011628 0.019417 +vt 0.011628 0.048544 +vt 0.005814 0.048544 +vt 0.343023 0.029126 +vt 0.331395 0.038835 +vt 0.331395 0.029126 +vt 0.005814 0.029126 +vt 0.005814 0.038835 +vt 0.005814 0.009709 +vt 0.005814 0.019417 +vt 0.005814 0.029126 +vt 0.005814 0.009709 +vt 0.005814 0.019417 +vt 0.005814 0.038835 +vt 0.005814 0.048544 +vt 0.005814 0.019417 +vt 0.005814 0.029126 +vt 0.563953 0.029126 +vt 0.563953 0.019417 +vt 0.569767 0.029126 +vt 0.563953 0.038835 +vt 0.569767 0.048544 +vt 0.569767 0.038835 +vt 0.569767 0.009709 +vt 0.563953 0.009709 +vt 0.017442 0.019417 +vt 0.017442 0.029126 +vt 0.005814 0.019417 +vt 0.017442 0.009709 +vt 0.017442 0.048544 +vt 0.005814 0.048544 +vt 0.116279 0.029126 +vt 0.116279 0.019417 +vt 0.279070 0.029126 +vt 0.273256 0.038835 +vt 0.273256 0.029126 +vt 0.279070 0.038835 +vt 0.273256 0.048544 +vt 0.279070 0.019417 +vt 0.273256 0.009709 +vt 0.279070 0.009709 +vt 0.273256 0.019417 +vt 0.284884 0.038835 +vt 0.284884 0.029126 +vt 0.279070 0.048544 +vt 0.284884 0.019417 +vt 0.284884 0.009709 +vt 0.383721 0.038835 +vt 0.372093 0.048544 +vt 0.383721 0.019417 +vt 0.372093 0.009709 +vt 0.383721 0.009709 +vt 0.372093 0.019417 +vt 0.360465 0.038835 +vt 0.360465 0.029126 +vt 0.017442 0.009709 +vt 0.005814 0.009709 +vt 0.017442 0.048544 +vt 0.005814 0.038835 +vt 0.017442 0.038835 +vt 0.540698 0.019417 +vt 0.529070 0.029126 +vt 0.529070 0.019417 +vt 0.540698 0.029126 +vt 0.529070 0.038835 +vt 0.540698 0.048544 +vt 0.540698 0.038835 +vt 0.424419 0.019417 +vt 0.412791 0.029126 +vt 0.412791 0.019417 +vt 0.424419 0.029126 +vt 0.412791 0.038835 +vt 0.424419 0.048544 +vt 0.424419 0.038835 +vt 0.715116 0.038835 +vt 0.703488 0.048544 +vt 0.703488 0.038835 +vt 0.715116 0.019417 +vt 0.703488 0.009709 +vt 0.715116 0.009709 +vt 0.715116 0.029126 +vt 0.703488 0.019417 +vt 0.697674 0.029126 +vt 0.703488 0.029126 +vt 0.290698 0.038835 +vt 0.279070 0.048544 +vt 0.279070 0.038835 +vt 0.290698 0.019417 +vt 0.279070 0.009709 +vt 0.290698 0.009709 +vt 0.290698 0.029126 +vt 0.279070 0.019417 +vt 0.476744 0.029126 +vt 0.470930 0.038835 +vt 0.470930 0.029126 +vt 0.476744 0.038835 +vt 0.470930 0.048544 +vt 0.476744 0.019417 +vt 0.470930 0.009709 +vt 0.476744 0.009709 +vt 0.470930 0.019417 +vt 0.482558 0.038835 +vt 0.482558 0.029126 +vt 0.482558 0.048544 +vt 0.482558 0.009709 +vt 0.482558 0.019417 +vt 0.453488 0.009709 +vt 0.441860 0.019417 +vt 0.441860 0.009709 +vt 0.453488 0.029126 +vt 0.453488 0.019417 +vt 0.453488 0.038835 +vt 0.441860 0.029126 +vt 0.441860 0.038835 +vt 0.436047 0.048544 +vt 0.436047 0.038835 +vt 0.581395 0.038835 +vt 0.581395 0.009709 +vt 0.308140 0.019417 +vt 0.296512 0.029126 +vt 0.296512 0.019417 +vt 0.308140 0.029126 +vt 0.296512 0.038835 +vt 0.308140 0.048544 +vt 0.308140 0.038835 +vt 0.139535 0.029126 +vt 0.151163 0.029126 +vt 0.139535 0.038835 +vt 0.151163 0.038835 +vt 0.151163 0.048544 +vt 0.040698 0.019417 +vt 0.040698 0.029126 +vt 0.197674 0.029126 +vt 0.191860 0.019417 +vt 0.197674 0.019417 +vt 0.191860 0.038835 +vt 0.191860 0.029126 +vt 0.197674 0.038835 +vt 0.191860 0.048544 +vt 0.191860 0.009709 +vt 0.197674 0.009709 +vt 0.209302 0.029126 +vt 0.209302 0.019417 +vt 0.209302 0.048544 +vt 0.209302 0.038835 +vt 0.209302 0.009709 +vt 0.343023 0.038835 +vt 0.331395 0.048544 +vt 0.343023 0.019417 +vt 0.331395 0.009709 +vt 0.343023 0.009709 +vt 0.331395 0.019417 +vt 0.325581 0.038835 +vt 0.325581 0.029126 +vt 0.180233 0.038835 +vt 0.168605 0.048544 +vt 0.180233 0.019417 +vt 0.168605 0.009709 +vt 0.180233 0.009709 +vt 0.168605 0.019417 +vt 0.162791 0.029126 +vt 0.017442 0.019417 +vt 0.017442 0.029126 +vt 0.005814 0.019417 +vt 0.017442 0.009709 +vt 0.017442 0.048544 +vt 0.005814 0.048544 +vt 0.023256 0.038835 +vt 0.488372 0.019417 +vt 0.476744 0.009709 +vt 0.488372 0.009709 +vt 0.488372 0.029126 +vt 0.476744 0.019417 +vt 0.476744 0.038835 +vt 0.476744 0.029126 +vt 0.476744 0.048544 +vt 0.470930 0.038835 +vt 0.680233 0.019417 +vt 0.668605 0.009709 +vt 0.680233 0.009709 +vt 0.680233 0.029126 +vt 0.668605 0.019417 +vt 0.668605 0.038835 +vt 0.668605 0.029126 +vt 0.232558 0.029126 +vt 0.226744 0.019417 +vt 0.232558 0.019417 +vt 0.226744 0.038835 +vt 0.226744 0.029126 +vt 0.232558 0.038835 +vt 0.226744 0.048544 +vt 0.226744 0.009709 +vt 0.232558 0.009709 +vt 0.238372 0.029126 +vt 0.238372 0.019417 +vt 0.238372 0.048544 +vt 0.238372 0.038835 +vt 0.238372 0.009709 +vt 0.482558 0.038835 +vt 0.470930 0.048544 +vt 0.470930 0.038835 +vt 0.482558 0.009709 +vt 0.470930 0.019417 +vt 0.470930 0.009709 +vt 0.482558 0.029126 +vt 0.482558 0.019417 +vt 0.319767 0.038835 +vt 0.308140 0.048544 +vt 0.319767 0.019417 +vt 0.308140 0.009709 +vt 0.319767 0.009709 +vt 0.308140 0.019417 +vt 0.302326 0.029126 +vt 0.552326 0.038835 +vt 0.540698 0.048544 +vt 0.540698 0.038835 +vt 0.552326 0.019417 +vt 0.540698 0.009709 +vt 0.552326 0.009709 +vt 0.552326 0.029126 +vt 0.540698 0.019417 +vt 0.529070 0.029126 +vt 0.540698 0.029126 +vt 0.110465 0.048544 +vt 0.110465 0.038835 +vt 0.122093 0.009709 +vt 0.110465 0.019417 +vt 0.110465 0.009709 +vt 0.122093 0.019417 +vt 0.063953 0.048544 +vt 0.290698 0.019417 +vt 0.284884 0.029126 +vt 0.284884 0.019417 +vt 0.290698 0.029126 +vt 0.284884 0.038835 +vt 0.290698 0.048544 +vt 0.290698 0.038835 +vt 0.284884 0.009709 +vt 0.290698 0.009709 +vt 0.296512 0.029126 +vt 0.296512 0.019417 +vt 0.296512 0.048544 +vt 0.296512 0.038835 +vt 0.296512 0.009709 +vt 0.063953 0.009709 +vt 0.063953 0.019417 +vt 0.063953 0.029126 +vt 0.023256 0.038835 +vt 0.023256 0.029126 +vt 0.186047 0.029126 +vt 0.186047 0.048544 +vt 0.186047 0.038835 +vt 0.186047 0.009709 +vt 0.023256 0.029126 +vt 0.023256 0.019417 +vt 0.116279 0.009709 +vt 0.116279 0.038835 +vt 0.156977 0.038835 +vt 0.162791 0.029126 +vt 0.220930 0.029126 +vt 0.220930 0.038835 +vt 0.220930 0.019417 +vt 0.220930 0.009709 +vt 0.023256 0.038835 +vt 0.023256 0.009709 +vt 0.017442 0.009709 +vt 0.186047 0.019417 +vt 0.023256 0.048544 +vt 0.063953 0.038835 +vt 0.023256 0.048544 +vt 0.023256 0.019417 +vt 0.023256 0.009709 +vt 0.023256 0.019417 +vt 0.023256 0.038835 +vt 0.023256 0.029126 +vt 0.023256 0.048544 +vt 0.023256 0.009709 +vt 0.017442 0.009709 +vt 0.220930 0.048544 +vt 0.156977 0.019417 +vt 0.156977 0.029126 +vt 0.156977 0.009709 +vt 0.156977 0.048544 +vt 0.162791 0.048544 +vt 0.116279 0.048544 +vt 0.302326 0.038835 +vt 0.302326 0.019417 +vt 0.302326 0.009709 +vt 0.023256 0.038835 +vt 0.017442 0.029126 +vt 0.023256 0.029126 +vt 0.023256 0.048544 +vt 0.023256 0.009709 +vt 0.023256 0.019417 +vt 0.244186 0.029126 +vt 0.244186 0.038835 +vt 0.244186 0.048544 +vt 0.244186 0.019417 +vt 0.302326 0.048544 +vt 0.244186 0.009709 +vt 0.290698 0.038835 +vt 0.191860 0.029126 +vt 0.290698 0.029126 +vt 0.279070 0.029126 +vt 0.279070 0.048544 +vt 0.279070 0.038835 +vt 0.279070 0.019417 +vt 0.279070 0.009709 +vt 0.023256 0.038835 +vt 0.023256 0.029126 +vt 0.023256 0.048544 +vt 0.023256 0.009709 +vt 0.017442 0.009709 +vt 0.023256 0.019417 +vt 0.238372 0.029126 +vt 0.238372 0.038835 +vt 0.238372 0.048544 +vt 0.238372 0.019417 +vt 0.238372 0.009709 +vt 0.273256 0.029126 +vt 0.279070 0.029126 +vt 0.273256 0.038835 +vt 0.273256 0.019417 +vt 0.273256 0.009709 +vt 0.023256 0.048544 +vt 0.023256 0.009709 +vt 0.023256 0.019417 +vt 0.197674 0.029126 +vt 0.197674 0.038835 +vt 0.197674 0.048544 +vt 0.197674 0.019417 +vt 0.273256 0.048544 +vt 0.406977 0.038835 +vt 0.406977 0.019417 +vt 0.406977 0.009709 +vt 0.023256 0.038835 +vt 0.023256 0.029126 +vt 0.023256 0.048544 +vt 0.023256 0.009709 +vt 0.023256 0.019417 +vt 0.261628 0.029126 +vt 0.261628 0.038835 +vt 0.261628 0.048544 +vt 0.261628 0.019417 +vt 0.406977 0.048544 +vt 0.261628 0.009709 +vt 0.459302 0.038835 +vt 0.459302 0.019417 +vt 0.459302 0.009709 +vt 0.459302 0.029126 +vt 0.023256 0.048544 +vt 0.023256 0.038835 +vt 0.023256 0.009709 +vt 0.023256 0.019417 +vt 0.058140 0.029126 +vt 0.058140 0.038835 +vt 0.058140 0.048544 +vt 0.058140 0.019417 +vt 0.023256 0.029126 +vt 0.377907 0.038835 +vt 0.377907 0.048544 +vt 0.290698 0.048544 +vt 0.290698 0.019417 +vt 0.377907 0.009709 +vt 0.377907 0.019417 +vt 0.377907 0.029126 +vt 0.459302 0.048544 +vt 0.191860 0.038835 +vt 0.191860 0.048544 +vt 0.191860 0.009709 +vt 0.191860 0.019417 +vt 0.290698 0.009709 +vt 0.261628 0.038835 +vt 0.261628 0.019417 +vt 0.261628 0.009709 +vt 0.023256 0.038835 +vt 0.023256 0.029126 +vt 0.023256 0.048544 +vt 0.023256 0.009709 +vt 0.023256 0.019417 +vt 0.069767 0.029126 +vt 0.069767 0.038835 +vt 0.069767 0.048544 +vt 0.069767 0.019417 +vt 0.261628 0.029126 +vt 0.261628 0.048544 +vt 0.069767 0.009709 +vt 0.023256 0.029126 +vt 0.017442 0.029126 +vt 0.023256 0.019417 +vt 0.023256 0.038835 +vt 0.023256 0.048544 +vt 0.337209 0.038835 +vt 0.354651 0.038835 +vt 0.354651 0.048544 +vt 0.354651 0.009709 +vt 0.354651 0.019417 +vt 0.354651 0.029126 +vt 0.023256 0.019417 +vt 0.040698 0.029126 +vt 0.023256 0.029126 +vt 0.337209 0.019417 +vt 0.337209 0.029126 +vt 0.337209 0.009709 +vt 0.337209 0.048544 +vt 0.343023 0.048544 +vt 0.127907 0.029126 +vt 0.127907 0.019417 +vt 0.127907 0.009709 +vt 0.127907 0.038835 +vt 0.023256 0.009709 +vt 0.529070 0.038835 +vt 0.529070 0.019417 +vt 0.529070 0.009709 +vt 0.023256 0.038835 +vt 0.215116 0.029126 +vt 0.215116 0.038835 +vt 0.023256 0.048544 +vt 0.215116 0.048544 +vt 0.023256 0.009709 +vt 0.215116 0.019417 +vt 0.023256 0.019417 +vt 0.023256 0.029126 +vt 0.325581 0.029126 +vt 0.447674 0.038835 +vt 0.325581 0.038835 +vt 0.447674 0.048544 +vt 0.325581 0.048544 +vt 0.325581 0.019417 +vt 0.447674 0.009709 +vt 0.447674 0.019417 +vt 0.447674 0.029126 +vt 0.529070 0.048544 +vt 0.215116 0.009709 +vt 0.040698 0.038835 +vt 0.040698 0.048544 +vt 0.139535 0.048544 +vt 0.023256 0.009709 +vt 0.023256 0.019417 +vt 0.023256 0.038835 +vt 0.023256 0.029126 +vt 0.023256 0.048544 +vt 0.040698 0.009709 +vt 0.139535 0.019417 +vt 0.023256 0.019417 +vt 0.023256 0.029126 +vt 0.023256 0.009709 +vt 0.023256 0.048544 +vt 0.069767 0.038835 +vt 0.029070 0.029126 +vt 0.069767 0.029126 +vt 0.029070 0.019417 +vt 0.069767 0.019417 +vt 0.069767 0.009709 +vt 0.029070 0.009709 +vt 0.029070 0.048544 +vt 0.029070 0.038835 +vt 0.255814 0.038835 +vt 0.255814 0.029126 +vt 0.255814 0.019417 +vt 0.255814 0.009709 +vt 0.255814 0.048544 +vt 0.296512 0.038835 +vt 0.296512 0.029126 +vt 0.296512 0.019417 +vt 0.296512 0.009709 +vt 0.302326 0.029126 +vt 0.296512 0.048544 +vt 0.302326 0.048544 +vt 0.162791 0.038835 +vt 0.162791 0.019417 +vt 0.162791 0.009709 +vt 0.040698 0.038835 +vt 0.162791 0.048544 +vt 0.040698 0.048544 +vt 0.040698 0.009709 +vt 0.040698 0.019417 +vt 0.040698 0.029126 +vt 0.023256 0.038835 +vt 0.023256 0.048544 +vt 0.023256 0.009709 +vt 0.023256 0.019417 +vt 0.023256 0.029126 +vt 0.360465 0.009709 +vt 0.360465 0.019417 +vt 0.273256 0.029126 +vt 0.273256 0.038835 +vt 0.360465 0.048544 +vt 0.273256 0.048544 +vt 0.273256 0.019417 +vt 0.058140 0.038835 +vt 0.058140 0.048544 +vt 0.058140 0.009709 +vt 0.058140 0.019417 +vt 0.058140 0.029126 +vt 0.017442 0.048544 +vt 0.017442 0.048544 +vt 0.017442 0.038835 +vt 0.325581 0.009709 +vt 0.325581 0.019417 +vt 0.273256 0.029126 +vt 0.273256 0.038835 +vt 0.325581 0.048544 +vt 0.273256 0.048544 +vt 0.273256 0.019417 +vt 0.034884 0.038835 +vt 0.034884 0.048544 +vt 0.034884 0.009709 +vt 0.034884 0.019417 +vt 0.034884 0.029126 +vt 0.017442 0.038835 +vt 0.017442 0.048544 +vt 0.017442 0.009709 +vt 0.017442 0.019417 +vt 0.017442 0.029126 +vt 0.517442 0.019417 +vt 0.517442 0.029126 +vt 0.517442 0.038835 +vt 0.517442 0.048544 +vt 0.563953 0.048544 +vt 0.517442 0.009709 +vt 0.284884 0.029126 +vt 0.284884 0.038835 +vt 0.284884 0.048544 +vt 0.284884 0.009709 +vt 0.284884 0.019417 +vt 0.040698 0.038835 +vt 0.040698 0.048544 +vt 0.040698 0.019417 +vt 0.023256 0.038835 +vt 0.023256 0.048544 +vt 0.040698 0.009709 +vt 0.023256 0.009709 +vt 0.005814 0.009709 +vt 0.017442 0.009709 +vt 0.005814 0.009709 +vt 0.523256 0.009709 +vt 0.529070 0.009709 +vt 0.523256 0.019417 +vt 0.523256 0.038835 +vt 0.523256 0.029126 +vt 0.523256 0.048544 +vt 0.331395 0.019417 +vt 0.331395 0.029126 +vt 0.331395 0.038835 +vt 0.331395 0.048544 +vt 0.063953 0.009709 +vt 0.063953 0.019417 +vt 0.063953 0.029126 +vt 0.063953 0.038835 +vt 0.063953 0.048544 +vt 0.023256 0.009709 +vt 0.023256 0.019417 +vt 0.023256 0.029126 +vt 0.023256 0.038835 +vt 0.023256 0.048544 +vt 0.540698 0.009709 +vt 0.470930 0.019417 +vt 0.470930 0.009709 +vt 0.470930 0.029126 +vt 0.436047 0.048544 +vt 0.470930 0.048544 +vt 0.436047 0.019417 +vt 0.436047 0.029126 +vt 0.436047 0.038835 +vt 0.337209 0.048544 +vt 0.337209 0.009709 +vt 0.337209 0.019417 +vt 0.337209 0.029126 +vt 0.337209 0.038835 +vt 0.093023 0.038835 +vt 0.093023 0.048544 +vt 0.093023 0.019417 +vt 0.093023 0.029126 +vt 0.040698 0.048544 +vt 0.040698 0.009709 +vt 0.040698 0.019417 +vt 0.040698 0.029126 +vt 0.040698 0.038835 +vt 0.023256 0.048544 +vt 0.023256 0.009709 +vt 0.023256 0.019417 +vt 0.023256 0.029126 +vt 0.023256 0.038835 +vt 0.017442 0.009709 +vt 0.488372 0.038835 +vt 0.436047 0.019417 +vt 0.436047 0.009709 +vt 0.436047 0.029126 +vt 0.389535 0.038835 +vt 0.389535 0.048544 +vt 0.389535 0.009709 +vt 0.389535 0.019417 +vt 0.389535 0.029126 +vt 0.116279 0.038835 +vt 0.116279 0.048544 +vt 0.116279 0.019417 +vt 0.116279 0.029126 +vt 0.058140 0.048544 +vt 0.058140 0.009709 +vt 0.058140 0.019417 +vt 0.058140 0.029126 +vt 0.058140 0.038835 +vt 0.023256 0.038835 +vt 0.023256 0.048544 +vt 0.023256 0.009709 +vt 0.023256 0.019417 +vt 0.023256 0.029126 +vt 0.441860 0.048544 +vt 0.005814 0.048544 +vt 0.005814 0.038835 +vt 0.005814 0.029126 +vt 0.005814 0.019417 +vt 0.005814 0.009709 +vt 0.470930 0.029126 +vt 0.459302 0.038835 +vt 0.459302 0.029126 +vt 0.023256 0.048544 +vt 0.005814 0.038835 +vt 0.023256 0.038835 +vt 0.023256 0.029126 +vt 0.005814 0.029126 +vt 0.023256 0.019417 +vt 0.005814 0.019417 +vt 0.023256 0.009709 +vt 0.005814 0.009709 +vt 0.029070 0.038835 +vt 0.029070 0.029126 +vt 0.697674 0.038835 +vt 0.697674 0.019417 +vt 0.697674 0.009709 +vt 0.651163 0.038835 +vt 0.651163 0.048544 +vt 0.697674 0.048544 +vt 0.651163 0.009709 +vt 0.651163 0.019417 +vt 0.651163 0.029126 +vt 0.436047 0.029126 +vt 0.436047 0.038835 +vt 0.436047 0.048544 +vt 0.436047 0.019417 +vt 0.331395 0.038835 +vt 0.331395 0.048544 +vt 0.331395 0.009709 +vt 0.331395 0.019417 +vt 0.331395 0.029126 +vt 0.029070 0.048544 +vt 0.029070 0.009709 +vt 0.029070 0.019417 +vt 0.680233 0.038835 +vt 0.668605 0.048544 +vt 0.662791 0.038835 +vt 0.662791 0.019417 +vt 0.662791 0.009709 +vt 0.662791 0.029126 +vt 0.488372 0.038835 +vt 0.662791 0.048544 +vt 0.488372 0.048544 +vt 0.488372 0.009709 +vt 0.488372 0.019417 +vt 0.488372 0.029126 +vt 0.383721 0.038835 +vt 0.383721 0.048544 +vt 0.383721 0.009709 +vt 0.383721 0.019417 +vt 0.383721 0.029126 +vt 0.116279 0.038835 +vt 0.116279 0.048544 +vt 0.116279 0.019417 +vt 0.116279 0.029126 +vt 0.052326 0.009709 +vt 0.052326 0.019417 +vt 0.052326 0.029126 +vt 0.052326 0.038835 +vt 0.029070 0.048544 +vt 0.052326 0.048544 +vt 0.029070 0.009709 +vt 0.029070 0.019417 +vt 0.029070 0.029126 +vt 0.029070 0.038835 +vt 0.023256 0.038835 +vt 0.459302 0.009709 +vt 0.459302 0.019417 +vt 0.424419 0.038835 +vt 0.424419 0.048544 +vt 0.459302 0.048544 +vt 0.424419 0.009709 +vt 0.424419 0.019417 +vt 0.424419 0.029126 +vt 0.313953 0.029126 +vt 0.313953 0.038835 +vt 0.313953 0.048544 +vt 0.313953 0.019417 +vt 0.029070 0.038835 +vt 0.029070 0.048544 +vt 0.029070 0.009709 +vt 0.029070 0.019417 +vt 0.029070 0.029126 +vt 0.023256 0.009709 +vt 0.238372 0.019417 +vt 0.296512 0.009709 +vt 0.238372 0.029126 +vt 0.238372 0.048544 +vt 0.296512 0.048544 +vt 0.034884 0.009709 +vt 0.034884 0.019417 +vt 0.034884 0.029126 +vt 0.034884 0.038835 +vt 0.238372 0.038835 +vt 0.034884 0.048544 +vt 0.017442 0.009709 +vt 0.017442 0.048544 +vt 0.308140 0.009709 +vt 0.406977 0.009709 +vt 0.412791 0.009709 +vt 0.406977 0.019417 +vt 0.406977 0.029126 +vt 0.406977 0.048544 +vt 0.406977 0.038835 +vt 0.325581 0.019417 +vt 0.325581 0.029126 +vt 0.325581 0.038835 +vt 0.325581 0.048544 +vt 0.040698 0.019417 +vt 0.325581 0.009709 +vt 0.040698 0.029126 +vt 0.040698 0.038835 +vt 0.040698 0.048544 +vt 0.023256 0.009709 +vt 0.023256 0.019417 +vt 0.023256 0.029126 +vt 0.023256 0.038835 +vt 0.023256 0.048544 +vt 0.005814 0.009709 +vt 0.011628 0.009709 +vt 0.424419 0.009709 +vt 0.005814 0.048544 +vt 0.017442 0.048544 +vt 0.011628 0.009709 +vt 0.011628 0.009709 +vt 0.011628 0.009709 +vt 0.011628 0.009709 +vt 0.424419 0.048544 +vt 0.005814 0.009709 +vt 0.005814 0.009709 +vt 0.005814 0.009709 +vt 0.005814 0.009709 +vt 0.005814 0.009709 +vt 0.005814 0.009709 +vt 0.005814 0.009709 +vt 0.005814 0.009709 +vt 0.005814 0.009709 +vt 0.284884 0.048544 +vt 0.383721 0.048544 +vt 0.005814 0.048544 +vt 0.529070 0.048544 +vt 0.412791 0.048544 +vt 0.715116 0.048544 +vt 0.290698 0.048544 +vt 0.476744 0.048544 +vt 0.581395 0.048544 +vt 0.197674 0.048544 +vt 0.343023 0.048544 +vt 0.180233 0.048544 +vt 0.005814 0.009709 +vt 0.232558 0.048544 +vt 0.482558 0.048544 +vt 0.319767 0.048544 +vt 0.552326 0.048544 +vt 0.122093 0.048544 +vt 0.284884 0.048544 +vt 0.197674 0.009709 +vt 0.058140 0.009709 +vt 0.127907 0.048544 +vt 0.325581 0.009709 +vt 0.069767 0.048544 +vt 0.273256 0.009709 +vt 0.273256 0.009709 +vt 0.331395 0.009709 +vt 0.436047 0.009709 +vt 0.093023 0.009709 +vt 0.488372 0.048544 +vt 0.116279 0.009709 +vt 0.453488 0.048544 +vt 0.005814 0.048544 +vt 0.436047 0.009709 +vt 0.680233 0.048544 +vt 0.116279 0.009709 +vt 0.023256 0.048544 +vt 0.313953 0.009709 +vt 0.238372 0.009709 +vt 0.040698 0.009709 +vn -0.1987 -0.9327 0.3009 +vn -0.4297 -0.5556 -0.7118 +vn -0.0322 -0.8001 0.5990 +vn 0.8167 0.0672 0.5732 +vn 0.5228 0.6581 0.5419 +vn -0.0041 0.9160 -0.4012 +vn 0.0025 0.6642 -0.7475 +vn -0.2349 -0.6674 -0.7066 +vn 0.1861 0.6827 -0.7066 +vn -0.3240 -0.5971 -0.7338 +vn -0.4111 0.7374 -0.5360 +vn -0.0434 0.6814 -0.7306 +vn 0.0026 -0.7882 0.6154 +vn -0.6562 -0.5407 -0.5264 +vn 0.3294 0.7106 0.6217 +vn 0.2890 -0.8069 0.5151 +vn 0.5413 0.6728 0.5043 +vn -0.2631 -0.6162 -0.7423 +vn -0.4144 0.6926 -0.5904 +vn -0.0036 0.6890 -0.7247 +vn 0.0106 -0.7691 0.6390 +vn -0.4894 -0.6433 -0.5888 +vn 0.2780 0.7127 0.6441 +vn -0.1731 -0.5478 0.8185 +vn 0.4082 0.7238 0.5563 +vn -0.2815 -0.6019 -0.7473 +vn -0.5240 0.6396 -0.5624 +vn -0.0329 0.6894 -0.7237 +vn 0.0527 -0.7923 0.6079 +vn -0.5185 -0.6701 -0.5311 +vn 0.3061 0.7107 0.6334 +vn 0.3483 -0.6377 0.6870 +vn 0.3925 0.7915 0.4685 +vn -0.3480 -0.6379 -0.6871 +vn -0.5016 -0.7102 0.4940 +vn -0.7390 -0.1192 -0.6631 +vn -0.2105 -0.7437 0.6346 +vn 0.5180 0.2010 0.8315 +vn 0.4184 0.6429 0.6416 +vn 0.3503 0.7327 -0.5835 +vn 0.2726 0.7074 -0.6521 +vn -0.8686 0.4478 -0.2122 +vn -0.3249 -0.6289 -0.7064 +vn -0.2826 -0.8411 0.4611 +vn -0.7449 -0.2105 -0.6331 +vn -0.1211 -0.7602 0.6383 +vn 0.5858 0.2530 0.7700 +vn 0.4078 0.6594 0.6316 +vn 0.1204 0.8161 -0.5652 +vn 0.4208 0.8642 -0.2758 +vn -0.2328 0.4357 0.8695 +vn -0.1424 0.3654 0.9199 +vn 0.1164 -0.7448 0.6571 +vn 0.1257 -0.7617 -0.6356 +vn -0.0781 -0.6041 -0.7931 +vn 0.0683 0.7675 0.6374 +vn 0.4322 -0.3767 0.8194 +vn -0.0481 0.7362 -0.6750 +vn -0.2721 0.8014 0.5326 +vn 0.2499 -0.9033 0.3486 +vn 0.2764 -0.4564 -0.8457 +vn 0.3547 -0.2366 -0.9045 +vn 0.0214 -0.6144 -0.7887 +vn -0.5098 0.5459 -0.6649 +vn -0.0537 0.7549 -0.6536 +vn 0.1032 -0.6636 0.7409 +vn 0.3203 -0.6132 -0.7221 +vn -0.0290 0.7634 0.6453 +vn 0.2851 -0.5604 0.7776 +vn -0.4289 0.6390 0.6385 +vn 0.1055 0.5991 -0.7937 +vn -0.7651 -0.0157 -0.6437 +vn 0.3776 0.7691 -0.5156 +vn -0.3675 -0.6247 -0.6889 +vn -0.5403 -0.7272 0.4234 +vn -0.1941 -0.7585 0.6221 +vn 0.6650 -0.0222 0.7465 +vn 0.3773 0.6784 0.6304 +vn 0.1253 0.6280 -0.7681 +vn -0.6681 -0.3254 -0.6692 +vn 0.1932 0.7529 -0.6291 +vn -0.3097 -0.6454 -0.6982 +vn -0.3230 -0.7746 0.5437 +vn -0.1680 -0.7435 0.6473 +vn 0.5529 0.3586 0.7521 +vn 0.3940 0.6391 0.6605 +vn 0.1134 -0.7473 0.6548 +vn 0.0412 -0.7952 -0.6050 +vn -0.1031 -0.6071 -0.7879 +vn 0.0994 0.7632 0.6384 +vn 0.4049 -0.4241 0.8101 +vn -0.0390 0.7303 -0.6820 +vn -0.2053 0.8301 0.5185 +vn 0.8458 -0.4633 0.2644 +vn 0.3933 -0.0332 -0.9188 +vn 0.3572 0.1234 -0.9259 +vn 0.0197 0.7699 -0.6379 +vn 0.3813 -0.4495 -0.8078 +vn -0.3840 0.7257 -0.5708 +vn 0.1511 -0.7325 -0.6638 +vn 0.2022 -0.7544 0.6245 +vn -0.0330 -0.5991 0.8000 +vn -0.5785 0.4643 0.6706 +vn -0.0590 0.7452 0.6642 +vn 0.2660 0.5494 -0.7921 +vn -0.6977 -0.2607 -0.6672 +vn 0.5392 0.4678 -0.7003 +vn -0.3682 -0.6581 -0.6568 +vn -0.6589 -0.4275 0.6189 +vn -0.3391 -0.6858 0.6439 +vn 0.5198 0.3263 0.7895 +vn 0.4013 0.5646 0.7212 +vn 0.1574 0.6517 -0.7420 +vn -0.4791 -0.5461 -0.6872 +vn 0.1738 0.7123 -0.6800 +vn -0.2478 -0.6701 -0.6997 +vn -0.2610 -0.7103 0.6537 +vn -0.1769 -0.7169 0.6743 +vn 0.3358 0.6040 0.7228 +vn 0.2714 0.6559 0.7044 +vn 0.0637 0.7755 -0.6282 +vn 0.5355 -0.2746 -0.7987 +vn -0.3209 0.8036 -0.5013 +vn 0.0937 -0.7779 -0.6214 +vn 0.1674 -0.7911 0.5883 +vn -0.0858 -0.5874 0.8048 +vn -0.6290 0.3764 0.6802 +vn -0.0707 0.7365 0.6728 +vn -0.0274 -0.6061 -0.7949 +vn -0.5492 0.4956 -0.6729 +vn -0.0503 0.7458 -0.6643 +vn 0.1415 -0.7141 0.6856 +vn 0.1464 -0.7715 -0.6191 +vn 0.0185 0.7670 0.6414 +vn 0.3708 -0.4877 0.7903 +vn -0.3791 0.7174 0.5845 +vn 0.2682 0.5175 -0.8126 +vn -0.7339 -0.1388 -0.6649 +vn 0.6189 0.4247 -0.6608 +vn -0.4028 -0.6453 -0.6491 +vn -0.7259 -0.3441 0.5955 +vn -0.3715 -0.6781 0.6342 +vn 0.5317 0.2193 0.8181 +vn 0.4652 0.5966 0.6540 +vn -0.8947 0.0303 -0.4457 +vn -0.3087 -0.7240 0.6169 +vn -0.6429 -0.4665 0.6076 +vn 0.6424 -0.0806 0.7621 +vn 0.4092 0.6117 0.6770 +vn 0.2052 0.4256 -0.8813 +vn 0.0785 0.6076 -0.7903 +vn -0.1541 -0.6901 -0.7071 +vn 0.1541 0.6901 -0.7071 +vn -0.7380 0.1716 0.6526 +vn -0.3768 -0.7319 -0.5678 +vn -0.4807 -0.5952 0.6439 +vn 0.1003 0.5476 0.8307 +vn 0.6662 0.5656 0.4861 +vn 0.6275 0.5623 -0.5385 +vn 0.6760 -0.2402 -0.6966 +vn 0.1847 -0.1508 0.9712 +vn 0.0499 -0.6952 -0.7171 +vn -0.0981 -0.6249 0.7745 +vn -0.1198 0.7536 0.6463 +vn -0.8413 0.2036 0.5008 +vn -0.0738 0.7751 -0.6275 +vn -0.7186 0.2744 -0.6390 +vn 0.2823 0.5925 -0.7545 +vn -0.0766 -0.7686 -0.6351 +vn 0.4568 0.3596 -0.8137 +vn 0.4108 0.6761 -0.6117 +vn -0.3244 -0.6204 0.7140 +vn -0.1571 -0.8670 -0.4729 +vn 0.0430 0.6478 0.7606 +vn -0.7702 -0.2511 0.5863 +vn 0.0060 0.8495 0.5276 +vn -0.6346 -0.4263 0.6447 +vn -0.1690 -0.7494 -0.6402 +vn -0.3227 -0.6359 0.7011 +vn 0.0807 0.6449 0.7600 +vn 0.0732 0.7883 0.6109 +vn 0.3775 0.6348 -0.6742 +vn 0.4561 0.5005 -0.7358 +vn -0.0017 0.7596 -0.6504 +vn 0.3155 -0.5701 -0.7586 +vn -0.3876 0.6785 -0.6240 +vn 0.0782 -0.6688 -0.7393 +vn 0.1825 -0.7019 0.6885 +vn -0.0006 -0.6256 0.7801 +vn -0.4645 0.5846 0.6652 +vn -0.0316 0.7504 0.6602 +vn -0.7490 -0.6504 -0.1266 +vn 0.3403 -0.8625 0.3746 +vn 0.6673 -0.6999 0.2549 +vn -0.7240 0.6670 -0.1761 +vn -0.6766 -0.5182 -0.5231 +vn 0.6065 0.7850 0.1262 +vn -0.3891 0.7577 -0.5240 +vn 0.7104 0.5808 0.3976 +vn 0.9360 -0.3489 0.0475 +vn 0.1504 -0.2267 -0.9623 +vn 0.9639 -0.1225 0.2366 +vn -0.9097 0.4116 -0.0547 +vn 0.1790 0.3744 -0.9098 +vn -0.1465 -0.2820 0.9482 +vn -0.9324 0.3108 0.1844 +vn -0.1861 -0.6826 0.7066 +vn 0.2349 0.6674 0.7066 +vn 0.6368 -0.3605 0.6816 +vn 0.5636 0.8227 0.0748 +vn 0.3938 -0.0795 0.9158 +vn -0.1541 -0.6901 0.7071 +vn 0.1541 0.6901 0.7071 +vn -0.1341 0.1854 0.9735 +vn 0.8973 -0.2880 0.3345 +vn -0.2066 0.4012 0.8924 +vn 0.1397 0.5999 -0.7878 +vn 0.0783 0.6345 -0.7690 +vn 0.1359 0.8990 0.4163 +vn 0.0466 0.2350 0.9709 +vn 0.6456 -0.5877 -0.4877 +vn 0.3547 0.6721 -0.6500 +vn 0.2630 0.7857 -0.5599 +vn 0.4795 0.6087 0.6320 +vn 0.9667 -0.1673 -0.1936 +vn 0.8642 -0.3905 -0.3173 +vn 0.6464 0.7413 0.1806 +vn 0.6023 -0.1871 -0.7761 +vn 0.4726 0.8787 -0.0666 +vn -0.4138 -0.6167 -0.6697 +vn 0.7769 -0.0817 0.6243 +vn 0.6816 -0.1570 -0.7146 +vn 0.8539 0.2805 0.4385 +vn -0.3819 -0.6595 -0.6474 +vn 0.2402 0.6116 0.7538 +vn -0.3768 -0.6620 0.6479 +vn 0.7731 0.2130 0.5975 +vn 0.6519 -0.5646 -0.5062 +vn 0.8757 0.3674 0.3135 +vn 0.3347 -0.4721 0.8155 +vn 0.9334 -0.1140 -0.3404 +vn 0.4092 0.2351 0.8816 +vn -0.8497 0.0342 0.5261 +vn -0.6330 0.0984 -0.7678 +vn -0.7932 0.2621 0.5497 +vn -0.1729 0.7512 -0.6370 +vn -0.4712 0.0065 0.8820 +vn -0.2611 -0.9544 0.1444 +vn -0.3929 0.2436 0.8867 +vn 0.2852 0.9511 -0.1184 +vn -0.3122 0.8760 -0.3676 +vn -0.8135 -0.5406 -0.2144 +vn -0.4886 0.2032 0.8485 +vn 0.4018 0.4518 0.7965 +vn 0.7895 0.3989 -0.4665 +vn 0.2153 0.7629 0.6096 +vn 0.8207 0.2092 -0.5316 +vn -0.1640 -0.7047 -0.6903 +vn -0.8343 -0.1971 0.5149 +vn -0.4283 -0.3953 -0.8126 +vn -0.7326 -0.1263 0.6688 +vn 0.8255 0.2021 -0.5270 +vn 0.4050 0.4383 0.8024 +vn -0.8255 -0.2021 0.5270 +vn -0.4050 -0.4383 -0.8024 +vn 0.5512 -0.4219 -0.7198 +vn -0.7104 -0.3079 -0.6329 +vn -0.5454 0.4621 0.6993 +vn -0.7567 0.1368 -0.6393 +vn -0.3768 0.2713 0.8857 +vn 0.4880 0.2185 -0.8450 +vn 0.3818 0.9001 0.2100 +vn -0.6068 0.7171 -0.3429 +vn -0.9275 0.2130 -0.3071 +vn 0.1651 -0.4340 -0.8856 +vn 0.3850 -0.4908 -0.7816 +vn 0.8231 0.4343 0.3659 +vn -0.2725 -0.0363 0.9615 +vn 0.8754 0.0177 0.4831 +vn -0.4555 0.1385 0.8794 +vn -0.9397 -0.0794 -0.3326 +vn 0.4553 -0.1778 -0.8724 +vn -0.8018 -0.4861 -0.3475 +vn 0.9005 0.2043 0.3839 +vn -0.0753 -0.3799 0.9219 +vn 0.9465 -0.2556 0.1970 +vn -0.2968 -0.4084 0.8632 +vn -0.9147 0.3074 -0.2624 +vn 0.2880 0.3635 -0.8859 +vn -0.8699 -0.2801 -0.4061 +vn -0.5841 -0.7385 0.3368 +vn -0.1116 -0.7158 -0.6894 +vn -0.2993 -0.7263 0.6188 +vn 0.6527 0.7016 -0.2861 +vn 0.5372 -0.6386 -0.5511 +vn -0.4582 0.6183 0.6386 +vn 0.2784 0.9477 -0.1559 +vn 0.5644 0.3101 0.7650 +vn -0.0334 0.4046 0.9139 +vn 0.7022 0.5285 -0.4771 +vn -0.1951 -0.4628 -0.8647 +vn 0.7413 0.6178 -0.2622 +vn -0.7412 -0.4814 0.4679 +vn -0.6072 0.1258 -0.7846 +vn 0.5695 -0.0387 0.8211 +vn -0.6237 -0.4191 0.6598 +vn 0.1319 -0.7982 0.5877 +vn 0.9894 -0.1101 -0.0945 +vn 0.3317 -0.2589 0.9071 +vn 0.9229 -0.1076 -0.3696 +vn -0.1720 0.3889 -0.9051 +vn -0.9055 0.1755 0.3863 +vn -0.0534 0.9031 -0.4261 +vn -0.8136 -0.0107 0.5813 +vn 0.9149 -0.1346 -0.3806 +vn 0.1149 -0.8170 0.5651 +vn -0.1149 0.8170 -0.5651 +vn -0.9149 0.1346 0.3805 +vn -0.6417 -0.6459 -0.4136 +vn -0.3821 0.8420 -0.3808 +vn -0.7065 -0.6883 -0.1645 +vn 0.6580 0.6409 0.3953 +vn -0.3559 0.7176 -0.5986 +vn 0.3721 -0.7243 0.5804 +vn 0.8200 0.5213 0.2365 +vn 0.5610 -0.7234 0.4024 +vn -0.7080 -0.6741 0.2105 +vn 0.5748 -0.7962 -0.1886 +vn -0.8752 0.3490 0.3350 +vn -0.4792 -0.6581 -0.5807 +vn 0.8653 -0.3782 0.3289 +vn -0.2807 -0.7853 0.5519 +vn 0.6372 -0.7411 -0.2113 +vn -0.5180 -0.6049 0.6048 +vn -0.6122 0.7706 0.1772 +vn 0.4757 0.5678 -0.6718 +vn -0.8631 0.2704 -0.4266 +vn -0.2540 -0.8889 0.3812 +vn -0.2973 -0.7836 0.5455 +vn -0.3425 0.5823 0.7373 +vn -0.6858 0.5747 0.4465 +vn -0.3263 -0.4130 -0.8503 +vn -0.5737 -0.7394 0.3525 +vn 0.4609 0.5945 0.6589 +vn -0.2703 -0.5498 0.7903 +vn -0.0407 -0.7186 0.6942 +vn 0.2925 0.7527 -0.5898 +vn 0.1464 0.6427 0.7520 +vn 0.0092 0.7270 -0.6866 +vn -0.2542 -0.7843 -0.5658 +vn -0.4950 -0.5784 -0.6484 +vn 0.4732 0.5942 0.6504 +vn -0.0318 -0.7263 0.6866 +vn -0.4732 -0.5942 -0.6504 +vn 0.0318 0.7263 -0.6866 +vn 0.5156 -0.7732 -0.3691 +vn -0.7364 -0.4992 -0.4565 +vn -0.5054 0.7930 0.3402 +vn -0.7567 -0.1865 -0.6267 +vn -0.3983 0.6908 0.6034 +vn 0.5338 -0.2659 -0.8027 +vn 0.5662 0.8138 -0.1306 +vn 0.6100 -0.3559 -0.7079 +vn -0.4050 -0.9141 -0.0185 +vn -0.6263 0.3606 0.6911 +vn -0.6635 -0.7193 -0.2060 +vn -0.4668 0.4479 0.7625 +vn 0.1080 0.9510 -0.2897 +vn -0.2329 -0.1743 0.9567 +vn 0.6717 -0.7263 0.1462 +vn -0.3719 -0.1344 0.9185 +vn -0.7324 0.6351 -0.2456 +vn -0.8581 0.4350 -0.2728 +vn 0.1661 -0.2106 -0.9633 +vn -0.3430 0.9364 0.0747 +vn -0.6911 -0.2147 -0.6901 +vn -0.2434 0.0053 -0.9699 +vn 0.3164 0.0251 0.9483 +vn -0.2154 0.9453 0.2449 +vn 0.5033 -0.8631 0.0415 +vn 0.6902 0.1939 0.6971 +vn 0.4746 -0.8751 -0.0949 +vn 0.5283 0.5594 -0.6387 +vn -0.4281 -0.6918 -0.5815 +vn -0.0044 -0.7265 -0.6872 +vn 0.0569 0.7064 0.7055 +vn 0.3348 0.7987 -0.5000 +vn -0.1546 -0.6357 0.7563 +vn 0.3769 0.4792 0.7927 +vn 0.1890 0.3140 0.9304 +vn 0.0563 -0.9287 0.3666 +vn 0.4215 -0.8770 0.2306 +vn -0.1489 0.9889 -0.0026 +vn -0.1696 0.1151 0.9788 +vn -0.4754 0.8520 -0.2192 +vn 0.1701 -0.4667 -0.8679 +vn -0.2498 -0.3312 -0.9099 +vn 0.2041 0.3303 0.9216 +vn 0.4386 -0.8724 0.2156 +vn -0.2041 -0.3303 -0.9216 +vn -0.4386 0.8724 -0.2156 +vn -0.0958 -0.7667 0.6348 +vn -0.6132 -0.6768 -0.4072 +vn 0.3413 -0.8457 0.4102 +vn -0.4209 -0.5140 -0.7474 +vn -0.0863 0.9762 -0.1987 +vn 0.4885 0.5012 0.7142 +vn 0.1795 0.7247 -0.6653 +vn 0.6291 0.7573 -0.1751 +vn -0.2848 0.2525 -0.9247 +vn -0.6573 -0.7283 0.1935 +vn -0.6652 0.3941 -0.6342 +vn -0.4200 -0.8624 0.2825 +vn -0.2708 0.1673 0.9480 +vn 0.4379 -0.1541 -0.8857 +vn -0.6430 0.6024 -0.4730 +vn 0.5907 -0.2668 -0.7615 +vn -0.4049 0.1976 0.8927 +vn -0.1982 0.9410 -0.2743 +vn 0.2786 -0.9100 0.3070 +vn -0.2843 0.0119 0.9586 +vn 0.8624 0.2612 0.4336 +vn 0.6756 -0.5956 0.4346 +vn 0.2653 -0.3415 -0.9017 +vn 0.2986 0.9157 -0.2689 +vn 0.1365 -0.3645 -0.9212 +vn -0.3365 -0.8709 0.3583 +vn -0.4280 -0.8614 0.2735 +vn 0.6924 -0.3819 -0.6122 +vn 0.3992 -0.9112 0.1021 +vn 0.3246 0.1860 0.9274 +vn 0.1185 -0.9056 0.4073 +vn 0.6368 0.3335 0.6952 +vn -0.0183 0.9992 -0.0366 +vn -0.6853 -0.3414 -0.6433 +vn -0.4501 0.8913 -0.0558 +vn -0.3135 -0.5477 -0.7757 +vn 0.6484 0.3485 0.6769 +vn 0.4082 -0.9096 0.0773 +vn -0.6484 -0.3485 -0.6769 +vn -0.4082 0.9096 -0.0773 +vn -0.3210 -0.8300 0.4562 +vn -0.6943 0.3903 0.6046 +vn -0.0034 0.8914 -0.4532 +vn -0.9766 0.1648 -0.1381 +vn -0.4063 0.8092 0.4244 +vn 0.2642 -0.9099 -0.3197 +vn 0.6182 0.6582 -0.4296 +vn -0.6470 0.7509 -0.1324 +vn -0.8747 -0.4842 -0.0214 +vn 0.8025 0.5477 0.2367 +vn 0.3362 -0.3065 -0.8905 +vn 0.2268 -0.4975 -0.8373 +vn -0.5725 0.4524 -0.6838 +vn -0.7144 0.1696 0.6788 +vn 0.3935 0.9071 0.1492 +vn -0.4974 -0.8672 -0.0226 +vn 0.6116 -0.4102 -0.6765 +vn 0.7246 0.6868 0.0569 +vn 0.3657 -0.9172 0.1581 +vn -0.7300 -0.3981 0.5556 +vn 0.0714 0.9675 -0.2427 +vn 0.9870 -0.0412 0.1553 +vn -0.3877 -0.8217 0.4178 +vn -0.7500 -0.5546 -0.3604 +vn 0.3517 0.8382 0.4168 +vn -0.8003 0.5975 0.0502 +vn -0.1623 -0.7226 0.6719 +vn -0.5460 0.4845 0.6835 +vn -0.9104 0.0213 -0.4132 +vn 0.7965 0.0791 0.5995 +vn 0.2178 0.9745 0.0544 +vn -0.2725 -0.9457 0.1773 +vn 0.3271 -0.0944 -0.9402 +vn -0.0894 0.9675 -0.2364 +vn -0.8719 -0.0755 -0.4839 +vn -0.9938 0.0941 0.0589 +vn 0.9998 -0.0174 0.0077 +vn -0.2200 -0.9383 0.2667 +vn -0.7517 0.2021 0.6277 +vn 0.0117 0.9977 -0.0670 +vn 0.7580 -0.1398 -0.6371 +vn -0.2097 -0.9497 0.2325 +vn 0.4615 0.5732 -0.6771 +vn -0.5932 0.7810 0.1952 +vn -0.4711 0.8332 0.2896 +vn -0.2876 0.3872 0.8760 +vn 0.2811 -0.4577 -0.8435 +vn 0.3577 0.9110 -0.2051 +vn -0.3941 -0.8261 0.4027 +vn 0.4298 0.8782 0.2101 +vn -0.8149 0.5790 -0.0280 +vn 0.6148 -0.7839 0.0867 +vn -0.7295 -0.6585 -0.1848 +vn -0.6685 0.4797 0.5683 +vn 0.4678 0.8795 -0.0877 +vn 0.5949 -0.5882 -0.5479 +vn -0.6039 -0.7701 0.2056 +vn -0.3291 0.8416 0.4282 +vn 0.2781 0.4194 0.8642 +vn 0.5038 0.6762 -0.5376 +vn -0.5943 -0.4566 0.6621 +vn 0.5481 -0.7374 -0.3948 +vn 0.8556 -0.3745 0.3573 +vn -0.6550 -0.4905 0.5748 +vn -0.6499 0.7288 0.2155 +vn 0.4264 0.5950 -0.6813 +vn 0.6335 -0.7499 -0.1903 +vn -0.4599 -0.5565 0.6919 +vn 0.8109 0.3794 -0.4456 +vn -0.8100 -0.1752 0.5596 +vn 0.2914 -0.7470 -0.5976 +vn 0.2690 0.6740 -0.6880 +vn -0.8448 0.5217 -0.1193 +vn 0.7547 -0.5933 0.2801 +vn -0.6461 -0.4114 0.6429 +vn -0.3883 0.8721 0.2978 +vn 0.3508 0.5176 -0.7804 +vn 0.3826 -0.8795 -0.2829 +vn -0.4180 -0.3621 0.8332 +vn 0.8765 0.2784 -0.3927 +vn -0.8407 -0.2444 0.4833 +vn -0.1261 -0.5163 -0.8471 +vn 0.3504 0.5253 0.7754 +vn 0.8547 -0.2614 0.4485 +vn 0.0839 0.5954 -0.7990 +vn -0.5247 -0.5033 0.6866 +vn -0.6983 0.7157 0.0145 +vn 0.3298 0.5010 -0.8001 +vn 0.7411 -0.6602 -0.1225 +vn -0.4331 -0.4093 0.8031 +vn -0.9589 0.1474 -0.2423 +vn 0.5949 0.6374 -0.4898 +vn 0.1486 -0.7505 -0.6439 +vn 0.4890 -0.8146 -0.3119 +vn -0.5073 -0.4918 0.7076 +vn -0.6247 -0.3704 0.6874 +vn -0.0710 0.8171 0.5721 +vn 0.4464 0.5441 -0.7104 +vn 0.5914 -0.7831 -0.1927 +vn -0.4738 -0.5082 0.7192 +vn 0.5172 0.4376 -0.7356 +vn -0.5878 -0.1870 0.7871 +vn 0.3673 -0.8894 -0.2722 +vn 0.0349 0.4740 -0.8798 +vn -0.9371 0.0139 -0.3487 +vn 0.7538 -0.1086 0.6480 +vn -0.5897 -0.4279 0.6849 +vn -0.6510 0.7559 -0.0687 +vn 0.3060 0.3065 -0.9013 +vn 0.6576 -0.7530 0.0232 +vn -0.4199 -0.1893 0.8876 +vn -0.2473 0.9580 0.1455 +vn -0.2020 -0.9484 0.2444 +vn 0.5830 -0.6765 0.4500 +vn -0.4605 0.1303 0.8781 +vn 0.4085 -0.4306 -0.8048 +vn 0.2165 0.9668 -0.1358 +vn 0.3120 -0.4462 -0.8388 +vn 0.2631 -0.1403 -0.9545 +vn -0.5192 -0.5257 -0.6738 +vn -0.8836 -0.0571 -0.4648 +vn -0.7339 0.3227 0.5977 +vn -0.8435 -0.1810 -0.5057 +vn 0.7459 0.0919 0.6597 +vn -0.6172 -0.7793 -0.1086 +vn -0.5849 0.2350 0.7763 +vn 0.6106 0.7832 0.1175 +vn 0.4756 -0.3733 -0.7965 +vn 0.6124 -0.0786 -0.7866 +vn -0.3226 0.1594 0.9330 +vn -0.8634 -0.2877 -0.4145 +vn 0.4235 0.1895 -0.8858 +vn -0.1220 0.9649 -0.2326 +vn 0.4553 -0.0643 -0.8880 +vn 0.5315 -0.4396 0.7241 +vn 0.1099 -0.9620 0.2501 +vn -0.4799 0.2512 0.8406 +vn -0.7576 0.1088 0.6436 +vn -0.7008 0.5242 -0.4838 +vn 0.1837 0.9773 -0.1054 +vn 0.5751 -0.0263 -0.8176 +vn 0.4974 -0.1172 -0.8595 +vn -0.5375 -0.8324 -0.1348 +vn -0.1628 -0.9842 0.0700 +vn -0.4796 0.2149 0.8508 +vn -0.4151 0.2790 0.8659 +vn 0.5206 0.8375 0.1659 +vn 0.1999 0.2686 0.9423 +vn 0.4974 0.6591 -0.5640 +vn 0.5980 0.1225 -0.7921 +vn -0.6773 0.1812 -0.7131 +vn 0.2671 -0.2905 0.9188 +vn -0.8915 -0.1078 0.4400 +vn 0.3109 -0.6088 -0.7299 +vn -0.2057 -0.2590 0.9437 +vn -0.1071 -0.9928 -0.0531 +vn 0.1601 0.9863 -0.0400 +vn 0.2084 -0.0774 -0.9750 +vn -0.6295 -0.7689 -0.1116 +vn -0.7003 -0.7117 -0.0558 +vn -0.0933 -0.0398 0.9948 +vn -0.2426 0.0430 0.9692 +vn 0.6697 0.7197 0.1831 +vn 0.7238 0.6792 0.1215 +vn 0.1418 0.0367 -0.9892 +vn 0.2546 -0.2867 -0.9236 +vn -0.8678 -0.4559 -0.1977 +vn -0.4612 0.1783 0.8692 +vn 0.8370 0.4766 0.2687 +vn 0.1574 -0.5422 -0.8254 +vn -0.9128 0.1144 -0.3920 +vn -0.4638 0.5400 0.7024 +vn 0.7789 -0.0185 0.6269 +vn -0.5785 0.4621 -0.6722 +vn 0.4140 -0.2452 -0.8766 +vn -0.3969 0.3223 0.8594 +vn -0.0643 -0.9634 0.2601 +vn 0.4249 -0.1725 -0.8886 +vn 0.1659 -0.8895 0.4257 +vn -0.4703 0.3457 0.8120 +vn -0.2182 0.9112 -0.3495 +vn 0.5066 0.0654 -0.8597 +vn 0.5320 -0.3871 0.7531 +vn -0.7423 0.1524 0.6525 +vn -0.6625 0.5178 -0.5412 +vn -0.3562 -0.8956 -0.2664 +vn -0.3446 0.1057 0.9328 +vn -0.1992 0.9799 0.0053 +vn 0.3336 0.1680 -0.9276 +vn 0.2019 -0.9794 -0.0085 +vn -0.3694 0.0117 0.9292 +vn 0.3135 0.2266 -0.9222 +vn 0.6053 -0.7645 0.2216 +vn -0.4899 -0.0173 0.8716 +vn -0.6371 0.7546 -0.1572 +vn -0.7236 -0.5849 -0.3664 +vn -0.5327 -0.8438 0.0647 +vn -0.3446 0.5336 0.7724 +vn 0.1284 0.9133 -0.3865 +vn 0.2985 -0.3186 -0.8997 +vn -0.1022 -0.9435 0.3152 +vn -0.2823 0.4325 0.8563 +vn 0.3348 -0.2232 -0.9155 +vn 0.2145 -0.8276 0.5187 +vn -0.4124 0.4160 0.8104 +vn -0.3006 0.8738 -0.3824 +vn 0.3416 0.1692 -0.9245 +vn 0.4642 -0.1135 0.8784 +vn -0.8134 -0.1030 0.5724 +vn -0.8122 0.1267 -0.5695 +vn 0.9415 -0.2104 -0.2631 +vn 0.0633 -0.9271 0.3694 +vn -0.9104 -0.1301 0.3928 +vn -0.1711 0.9275 -0.3324 +vn -0.0690 -0.8846 -0.4613 +vn -0.8465 -0.2876 0.4481 +vn 0.3498 0.8982 0.2664 +vn 0.7957 -0.0475 -0.6039 +vn -0.5592 -0.4258 0.7113 +vn 0.5651 0.5927 0.5739 +vn 0.4646 0.3662 -0.8063 +vn -0.7067 0.0222 0.7072 +vn 0.4937 0.0294 0.8691 +vn 0.7111 0.1980 -0.6746 +vn 0.5981 0.0137 -0.8013 +vn 0.6127 -0.7754 0.1525 +vn -0.7857 0.6172 0.0416 +vn -0.4353 -0.5450 0.7166 +vn 0.1299 -0.7822 -0.6094 +vn -0.6591 -0.6440 0.3884 +vn -0.1085 0.7966 0.5946 +vn 0.7068 0.3494 -0.6151 +vn 0.7064 0.3379 -0.6220 +vn -0.4297 -0.3527 -0.8313 +vn -0.8181 -0.4300 0.3817 +vn 0.3101 0.2952 0.9037 +vn 0.7115 0.0658 -0.6996 +vn -0.5774 0.3389 -0.7428 +vn -0.9075 0.0416 0.4179 +vn 0.3667 -0.3583 0.8586 +vn -0.2755 0.9545 0.1143 +vn -0.9270 -0.3737 0.0329 +vn 0.9256 0.3770 0.0335 +vn -0.7865 -0.4321 0.4412 +vn -0.2490 0.9599 0.1285 +vn 0.8157 0.3547 -0.4569 +vn 0.4216 -0.8783 -0.2255 +vn -0.4351 -0.4289 0.7917 +vn -0.1481 0.9665 0.2094 +vn 0.4549 0.3426 -0.8220 +vn 0.2574 -0.8763 -0.4072 +vn 0.0335 -0.9107 -0.4116 +vn -0.0791 -0.4056 0.9106 +vn -0.0265 0.9485 0.3156 +vn 0.0798 0.3353 -0.9387 +vn 0.3401 -0.3729 0.8633 +vn 0.0044 0.9708 0.2399 +vn -0.3684 0.3597 -0.8573 +vn -0.1224 -0.8686 -0.4803 +vn 0.9876 0.1284 -0.0904 +vn -0.2107 0.9162 0.3407 +vn -0.9769 0.1397 -0.1614 +vn -0.3239 -0.8267 -0.4601 +vn 0.3711 -0.9220 -0.1109 +vn -0.3999 0.9080 0.1250 +vn 0.8647 0.4267 -0.2651 +vn 0.2298 -0.7115 -0.6640 +vn -0.4953 -0.6927 0.5242 +vn -0.1132 0.8403 0.5301 +vn 0.5370 0.5298 -0.6565 +vn -0.1055 -0.6795 -0.7261 +vn -0.2539 -0.6941 0.6737 +vn 0.1121 0.7165 0.6885 +vn 0.2393 0.6455 -0.7253 +vn 0.1504 -0.9154 0.3734 +vn 0.4241 0.8094 0.4062 +vn -0.3577 0.7131 -0.6029 +vn -0.5820 -0.4526 -0.6756 +vn -0.8391 -0.3764 -0.3927 +vn 0.7841 -0.5636 -0.2600 +vn 0.6074 0.6459 0.4624 +vn -0.6371 0.7212 0.2719 +vn 0.7071 -0.7071 0.0000 +vn -0.7071 -0.7071 -0.0000 +vn -0.7071 0.7071 -0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.7565 0.2801 0.5910 +vn 0.5443 -0.8297 -0.1235 +vn 0.8828 0.4547 0.1177 +vn 0.8838 -0.4285 0.1878 +vn -0.6795 -0.7130 -0.1730 +vn -0.2525 -0.9041 -0.3447 +vn -0.8862 0.2546 -0.3871 +vn -0.7540 0.6569 -0.0005 +vn 0.1598 0.9663 0.2016 +vn 0.6875 0.7038 0.1787 +vn 0.6206 -0.7828 -0.0449 +vn -0.1026 -0.7106 -0.6961 +vn -0.3012 0.4964 -0.8142 +vn 0.1147 -0.9166 0.3830 +vn -0.1488 0.9297 -0.3370 +vn -0.6268 -0.3634 -0.6893 +vn 0.4333 -0.8807 0.1914 +vn -0.7989 -0.4539 -0.3947 +vn -0.1489 0.9872 -0.0565 +vn 0.8655 0.2728 0.4202 +vn 0.9019 0.3333 -0.2748 +vn 0.4442 -0.8537 -0.2717 +vn -0.8436 -0.4830 0.2346 +vn -0.1912 0.9616 0.1970 +vn 0.2033 -0.8017 -0.5622 +vn -0.4912 -0.5450 0.6795 +vn -0.0721 0.9248 0.3736 +vn 0.5095 0.4379 -0.7407 +vn 0.3860 -0.5540 0.7376 +vn -0.0119 0.9527 0.3037 +vn -0.4849 -0.5845 0.6506 +vn 0.3445 -0.8966 0.2782 +vn -0.0772 0.9793 -0.1873 +vn -0.8300 -0.5010 -0.2453 +vn 0.9119 0.1938 0.3618 +vn 0.3814 -0.8538 -0.3543 +vn -0.8523 -0.4728 0.2238 +vn -0.1429 0.9481 0.2840 +vn 0.9097 0.3007 -0.2865 +vn 0.1304 -0.7520 -0.6461 +vn -0.5343 -0.5766 0.6181 +vn -0.0021 0.8722 0.4892 +vn 0.5445 0.4768 -0.6901 +vn -0.0902 -0.7405 -0.6660 +vn -0.2096 -0.6247 0.7522 +vn 0.1063 0.7960 0.5958 +vn 0.2020 0.5904 -0.7814 +vn 0.3252 -0.6269 0.7080 +vn 0.0485 0.8656 0.4984 +vn -0.3481 0.6422 -0.6829 +vn -0.1956 -0.6185 -0.7610 +vn 0.9736 -0.0040 -0.2282 +vn -0.2017 0.7745 0.5995 +vn -0.9944 0.0933 0.0504 +vn -0.4004 -0.6883 -0.6049 +vn -0.1248 -0.7838 -0.6083 +vn -0.8725 -0.4818 -0.0812 +vn -0.4472 0.8721 0.1986 +vn 0.5213 -0.7642 -0.3797 +vn -0.7499 -0.6135 0.2476 +vn -0.3307 0.8915 0.3096 +vn 0.8182 0.4883 -0.3035 +vn 0.5073 0.5487 -0.6645 +vn 0.2258 -0.7195 -0.6568 +vn -0.4715 -0.6893 0.5501 +vn -0.1392 0.8252 0.5474 +vn -0.2674 -0.5836 -0.7667 +vn -0.0568 -0.8294 0.5558 +vn 0.3050 0.7751 0.5533 +vn 0.0095 0.6415 -0.7671 +vn -0.0947 -0.7168 -0.6909 +vn 0.6058 0.3301 -0.7240 +vn -0.4589 -0.6586 0.5963 +vn 0.4527 0.5344 -0.7138 +vn 0.5595 0.4568 -0.6916 +vn -0.4402 -0.5088 -0.7398 +vn -0.6433 -0.5243 0.5579 +vn 0.3556 0.4699 0.8079 +vn 0.0817 0.6801 0.7285 +vn 0.3670 -0.0994 -0.9249 +vn 0.4477 0.2074 -0.8698 +vn 0.4768 0.2563 -0.8408 +vn 0.5041 -0.8597 -0.0821 +vn -0.2968 -0.4352 0.8500 +vn -0.4614 0.8538 0.2413 +vn -0.0479 -0.9042 -0.4244 +vn -0.5334 -0.4823 0.6949 +vn 0.0086 0.8769 0.4806 +vn 0.5231 0.2213 -0.8231 +vn -0.4604 -0.6189 -0.6364 +vn -0.6689 -0.3560 0.6525 +vn 0.4275 0.6255 0.6527 +vn 0.5744 0.2549 -0.7779 +vn 0.4376 -0.0943 -0.8942 +vn -0.7630 0.0448 -0.6449 +vn -0.8311 0.0761 0.5509 +vn 0.3769 -0.0973 0.9211 +s 1 +f 900/1/1 2/2/2 3/3/3 +f 899/4/4 3/3/3 4/5/5 +f 898/6/6 4/7/5 1/8/7 +f 254/9/8 1/8/7 253/10/9 +f 6/11/10 10/12/11 5/13/12 +f 7/14/13 9/15/14 6/11/10 +f 8/16/15 12/17/16 7/18/13 +f 5/13/12 11/19/17 8/16/15 +f 14/20/18 18/21/19 13/22/20 +f 15/23/21 17/24/22 14/20/18 +f 16/25/23 20/26/24 15/27/21 +f 13/22/20 19/28/25 16/25/23 +f 22/29/26 26/30/27 21/31/28 +f 23/32/29 25/33/30 22/29/26 +f 24/34/31 28/35/32 23/36/29 +f 21/31/28 27/37/33 24/34/31 +f 862/38/34 32/39/35 29/40/36 +f 863/41/37 31/42/38 32/39/35 +f 864/43/39 30/44/40 31/45/38 +f 518/46/41 29/40/36 517/47/42 +f 866/48/43 36/49/44 33/50/45 +f 867/51/46 35/52/47 36/49/44 +f 868/53/48 34/54/49 35/55/47 +f 450/56/50 353/57/51 449/58/52 +f 871/59/53 37/60/54 870/61/55 +f 872/62/56 40/63/57 871/64/53 +f 869/65/58 39/66/59 872/62/56 +f 358/67/60 161/68/61 357/69/62 +f 42/70/63 46/71/64 41/72/65 +f 43/73/66 45/74/67 42/70/63 +f 44/75/68 48/76/69 43/77/66 +f 41/72/65 47/78/70 44/75/68 +f 49/79/71 53/80/72 54/81/73 +f 50/82/74 56/83/75 53/80/72 +f 51/84/76 55/85/77 56/83/75 +f 52/86/78 54/81/73 55/87/77 +f 57/88/79 61/89/80 62/90/81 +f 58/91/82 64/92/83 61/89/80 +f 59/93/84 63/94/85 64/92/83 +f 60/95/86 62/90/81 63/96/85 +f 875/97/87 65/98/88 874/99/89 +f 876/100/90 68/101/91 875/102/87 +f 873/103/92 67/104/93 876/100/90 +f 422/105/94 225/106/95 421/107/96 +f 69/108/97 73/109/98 74/110/99 +f 70/111/100 76/112/101 73/113/98 +f 71/114/102 75/115/103 76/112/101 +f 72/116/104 74/110/99 75/115/103 +f 77/117/105 81/118/106 82/119/107 +f 78/120/108 84/121/109 81/118/106 +f 79/122/110 83/123/111 84/121/109 +f 80/124/112 82/119/107 83/125/111 +f 85/126/113 89/127/114 90/128/115 +f 86/129/116 92/130/117 89/127/114 +f 87/131/118 91/132/119 92/130/117 +f 88/133/120 90/128/115 91/134/119 +f 93/135/121 97/136/122 98/137/123 +f 94/138/124 100/139/125 97/140/122 +f 95/141/126 99/142/127 100/139/125 +f 96/143/128 98/137/123 99/142/127 +f 102/144/129 106/145/130 101/146/131 +f 103/147/132 105/148/133 102/144/129 +f 104/149/134 108/150/135 103/151/132 +f 101/146/131 107/152/136 104/149/134 +f 109/153/137 113/154/138 114/155/139 +f 110/156/140 116/157/141 113/154/138 +f 111/158/142 115/159/143 116/157/141 +f 112/160/144 114/155/139 115/161/143 +f 657/162/145 119/163/146 660/164/147 +f 659/165/148 119/163/146 120/166/149 +f 658/167/150 120/168/149 117/169/151 +f 322/170/152 117/169/151 321/171/153 +f 908/172/154 122/173/155 123/174/156 +f 908/172/154 124/175/157 907/176/158 +f 907/176/158 121/177/159 906/178/160 +f 326/179/152 121/180/159 325/181/153 +f 844/182/161 126/183/162 127/184/163 +f 844/182/161 128/185/164 843/186/165 +f 843/186/165 125/187/166 842/188/167 +f 330/189/152 125/187/166 329/190/153 +f 334/191/152 129/192/168 333/193/153 +f 134/194/169 138/195/170 133/196/171 +f 135/197/172 137/198/173 134/194/169 +f 136/199/174 140/200/175 135/197/172 +f 133/201/171 139/202/176 136/199/174 +f 912/203/177 142/204/178 143/205/179 +f 912/203/177 144/206/180 911/207/181 +f 911/207/181 141/208/182 910/209/183 +f 342/210/152 141/211/182 341/212/153 +f 145/213/184 149/214/185 150/215/186 +f 146/216/187 152/217/188 149/218/185 +f 147/219/189 151/220/190 152/217/188 +f 148/221/191 150/215/186 151/220/190 +f 754/222/192 759/223/193 753/224/194 +f 755/225/195 758/226/196 754/222/192 +f 756/227/197 757/228/198 755/225/195 +f 753/229/194 760/230/199 756/227/197 +f 154/231/200 159/232/201 158/233/202 +f 156/234/203 159/235/201 155/236/204 +f 153/237/205 160/238/206 156/234/203 +f 286/239/152 49/79/71 285/240/153 +f 3/3/3 254/9/8 255/241/207 +f 4/5/5 255/241/207 256/242/208 +f 1/8/7 256/243/208 253/10/9 +f 441/244/209 246/245/210 245/246/211 +f 259/247/212 6/11/10 258/248/152 +f 259/249/212 8/16/15 7/18/13 +f 257/250/153 8/16/15 260/251/213 +f 262/252/152 13/22/20 261/253/153 +f 263/254/212 14/20/18 262/252/152 +f 263/255/212 16/25/23 15/27/21 +f 261/253/153 16/25/23 264/256/213 +f 266/257/152 21/31/28 265/258/153 +f 267/259/212 22/29/26 266/257/152 +f 267/260/212 24/34/31 23/36/29 +f 265/258/153 24/34/31 268/261/213 +f 175/262/214 370/263/215 371/264/216 +f 269/265/153 862/38/34 861/266/217 +f 271/267/212 862/38/34 270/268/152 +f 272/269/213 863/41/37 271/267/212 +f 269/265/153 864/43/39 272/270/213 +f 274/271/152 865/272/218 273/273/153 +f 275/274/212 866/48/43 274/271/152 +f 275/274/212 868/275/48 867/51/46 +f 273/273/153 868/53/48 276/276/213 +f 277/277/153 870/61/55 869/65/58 +f 279/278/212 870/61/55 278/279/152 +f 280/280/213 871/64/53 279/281/212 +f 277/277/153 872/62/56 280/280/213 +f 287/282/212 50/82/74 286/239/152 +f 287/282/212 52/283/78 51/84/76 +f 285/240/153 52/86/78 288/284/213 +f 158/233/202 537/285/219 157/286/220 +f 291/287/212 58/91/82 290/288/152 +f 291/287/212 60/289/86 59/93/84 +f 289/290/153 60/95/86 292/291/213 +f 258/248/152 5/13/12 257/250/153 +f 293/292/153 874/99/89 873/103/92 +f 295/293/212 874/99/89 294/294/152 +f 296/295/213 875/102/87 295/296/212 +f 293/292/153 876/100/90 296/295/213 +f 299/297/212 70/111/100 298/298/152 +f 299/297/212 72/116/104 71/114/102 +f 297/299/153 72/116/104 300/300/213 +f 406/301/221 209/302/222 405/303/223 +f 303/304/212 78/120/108 302/305/152 +f 303/304/212 80/306/112 79/122/110 +f 301/307/153 80/124/112 304/308/213 +f 307/309/212 86/129/116 306/310/152 +f 307/309/212 88/311/120 87/131/118 +f 305/312/153 88/133/120 308/313/213 +f 290/288/152 57/88/79 289/290/153 +f 311/314/212 94/138/124 310/315/152 +f 311/314/212 96/143/128 95/141/126 +f 309/316/153 96/143/128 312/317/213 +f 315/318/212 102/144/129 314/319/152 +f 315/320/212 104/149/134 103/151/132 +f 313/321/153 104/149/134 316/322/213 +f 398/323/224 201/324/225 397/325/226 +f 319/326/212 110/156/140 318/327/152 +f 319/326/212 112/328/144 111/158/142 +f 317/329/153 112/160/144 320/330/213 +f 417/331/227 222/332/228 221/333/229 +f 323/334/212 118/335/230 322/170/152 +f 323/334/212 120/166/149 119/163/146 +f 321/171/153 120/168/149 324/336/213 +f 365/337/231 170/338/232 169/339/233 +f 327/340/212 122/173/155 326/179/152 +f 327/340/212 124/175/157 123/174/156 +f 325/341/153 124/175/157 328/342/213 +f 331/343/212 126/183/162 330/344/152 +f 331/343/212 128/185/164 127/184/163 +f 329/190/153 128/185/164 332/345/213 +f 335/346/212 130/347/234 334/191/152 +f 335/346/212 132/348/235 131/349/236 +f 333/193/153 132/350/235 336/351/213 +f 413/352/237 218/353/238 217/354/239 +f 339/355/212 134/194/169 338/356/152 +f 339/355/212 136/199/174 135/197/172 +f 337/357/153 136/199/174 340/358/213 +f 343/359/212 142/204/178 342/210/152 +f 343/359/212 144/206/180 143/205/179 +f 341/360/153 144/206/180 344/361/213 +f 347/362/212 146/216/187 346/363/152 +f 347/362/212 148/221/191 147/219/189 +f 345/364/153 148/221/191 348/365/213 +f 201/324/225 350/366/240 349/367/241 +f 202/368/242 351/369/243 350/366/240 +f 204/370/244 351/369/243 203/371/245 +f 204/372/244 349/367/241 352/373/246 +f 358/67/60 163/374/247 162/375/248 +f 359/376/249 164/377/250 163/374/247 +f 357/69/62 164/378/250 360/379/251 +f 490/380/252 163/374/247 491/381/253 +f 877/382/254 166/383/255 165/384/256 +f 878/385/257 167/386/258 166/383/255 +f 880/387/259 167/388/258 879/389/260 +f 877/382/254 168/390/261 880/387/259 +f 362/391/262 877/382/254 361/392/263 +f 362/391/262 879/393/260 878/385/257 +f 364/394/264 879/389/260 363/395/265 +f 364/394/264 877/382/254 880/387/259 +f 366/396/266 171/397/267 170/338/232 +f 368/398/268 171/399/267 367/400/269 +f 365/337/231 172/401/270 368/398/268 +f 169/339/233 646/402/271 645/403/272 +f 176/404/273 371/264/216 372/405/274 +f 176/406/273 369/407/275 173/408/276 +f 374/409/277 179/410/278 178/411/279 +f 375/412/280 180/413/281 179/410/278 +f 373/414/282 180/413/281 376/415/283 +f 378/416/284 183/417/285 182/418/286 +f 379/419/287 184/420/288 183/417/285 +f 377/421/289 184/420/288 380/422/290 +f 382/423/291 187/424/292 186/425/293 +f 384/426/294 187/427/292 383/428/295 +f 381/429/296 188/430/297 384/426/294 +f 186/425/293 773/431/298 185/432/299 +f 386/433/300 191/434/301 190/435/302 +f 388/436/303 191/437/301 387/438/304 +f 385/439/305 192/440/306 388/436/303 +f 881/441/307 194/442/308 193/443/309 +f 882/444/310 195/445/311 194/442/308 +f 884/446/312 195/447/311 883/448/313 +f 881/441/307 196/449/314 884/446/312 +f 390/450/315 881/441/307 389/451/316 +f 391/452/317 882/444/310 390/450/315 +f 391/453/317 884/446/312 883/448/313 +f 392/454/318 881/441/307 884/446/312 +f 394/455/319 199/456/320 198/457/321 +f 396/458/322 199/456/320 395/459/323 +f 393/460/324 200/461/325 396/458/322 +f 197/462/326 734/463/327 733/464/328 +f 398/323/224 203/371/245 202/368/242 +f 399/465/329 204/370/244 203/371/245 +f 397/325/226 204/372/244 400/466/330 +f 402/467/331 207/468/332 206/469/333 +f 403/470/334 208/471/335 207/468/332 +f 401/472/336 208/471/335 404/473/337 +f 211/474/338 406/301/221 407/475/339 +f 212/476/340 407/475/339 408/477/341 +f 405/478/223 212/476/340 408/477/341 +f 614/479/342 211/474/338 615/480/343 +f 886/481/344 213/482/345 885/483/346 +f 886/481/344 215/484/347 214/485/348 +f 887/486/349 216/487/350 215/484/347 +f 885/483/346 216/488/350 888/489/351 +f 410/490/352 885/483/346 409/491/353 +f 410/490/352 887/486/349 886/481/344 +f 412/492/354 887/486/349 411/493/355 +f 409/491/353 888/489/351 412/494/354 +f 414/495/356 219/496/357 218/353/238 +f 416/497/358 219/498/357 415/499/359 +f 413/352/237 220/500/360 416/497/358 +f 217/354/239 662/501/361 661/502/362 +f 418/503/363 223/504/364 222/332/228 +f 420/505/365 223/506/364 419/507/366 +f 417/331/227 224/508/367 420/505/365 +f 222/332/228 633/509/368 221/333/229 +f 422/105/94 227/510/369 226/511/370 +f 423/512/371 228/513/372 227/510/369 +f 421/107/96 228/514/372 424/515/373 +f 226/511/370 617/516/374 225/106/95 +f 427/517/375 230/518/376 426/519/377 +f 428/520/378 231/521/379 427/517/375 +f 428/520/378 229/522/380 232/523/381 +f 230/524/376 709/525/382 229/522/380 +f 431/526/383 234/527/384 430/528/385 +f 432/529/386 235/530/387 431/526/383 +f 432/529/386 233/531/388 236/532/389 +f 890/533/390 237/534/391 889/535/392 +f 890/533/390 239/536/393 238/537/394 +f 891/538/395 240/539/396 239/536/393 +f 889/535/392 240/540/396 892/541/397 +f 434/542/398 889/535/392 433/543/399 +f 434/542/398 891/538/395 890/533/390 +f 436/544/400 891/538/395 435/545/401 +f 436/546/400 889/535/392 892/541/397 +f 438/547/402 243/548/403 242/549/404 +f 439/550/405 244/551/406 243/552/403 +f 437/553/407 244/551/406 440/554/408 +f 442/555/409 247/556/410 246/245/210 +f 444/557/411 247/558/410 443/559/412 +f 441/244/209 248/560/413 444/557/411 +f 246/245/210 501/561/414 245/246/211 +f 446/562/415 251/563/416 250/564/417 +f 448/565/418 251/566/416 447/567/419 +f 445/568/420 252/569/421 448/565/418 +f 250/564/417 597/570/422 249/571/423 +f 450/56/50 355/572/424 354/573/425 +f 451/574/426 356/575/427 355/576/424 +f 449/58/52 356/575/427 452/577/428 +f 471/578/429 354/573/425 355/572/424 +f 893/579/430 454/580/431 453/581/432 +f 894/582/433 455/583/434 454/580/431 +f 896/584/435 455/583/434 895/585/436 +f 893/579/430 456/586/437 896/587/435 +f 458/588/438 893/579/430 457/589/439 +f 458/588/438 895/585/436 894/582/433 +f 460/590/440 895/585/436 459/591/441 +f 457/589/439 896/587/435 460/592/440 +f 471/593/429 356/575/427 472/594/442 +f 472/594/442 353/57/51 469/595/443 +f 474/596/444 33/50/45 473/597/445 +f 215/484/347 466/598/446 214/485/348 +f 215/484/347 468/599/447 467/600/448 +f 213/482/345 468/601/447 216/488/350 +f 462/602/449 9/15/14 461/603/450 +f 491/381/253 164/377/250 492/604/451 +f 489/605/452 164/378/250 161/68/61 +f 485/606/453 38/607/454 37/60/54 +f 239/536/393 482/608/455 238/537/394 +f 240/539/396 483/609/456 239/536/393 +f 240/540/396 481/610/457 484/611/458 +f 463/612/459 10/12/11 462/602/449 +f 463/612/459 12/17/16 11/19/17 +f 464/613/460 9/15/14 12/614/16 +f 462/602/449 465/615/461 466/598/446 +f 463/612/459 466/598/446 467/600/448 +f 463/612/459 468/599/447 464/616/460 +f 464/613/460 465/615/461 461/603/450 +f 473/597/445 470/617/462 474/596/444 +f 475/618/463 470/617/462 471/578/429 +f 476/619/464 471/593/429 472/594/442 +f 476/619/464 469/595/443 473/597/445 +f 470/617/462 353/57/51 354/573/425 +f 475/618/463 34/54/49 474/596/444 +f 475/620/463 36/49/44 35/52/47 +f 476/619/464 33/50/45 36/49/44 +f 477/621/465 18/21/19 17/24/22 +f 479/622/466 18/21/19 478/623/467 +f 480/624/468 19/28/25 479/622/466 +f 480/625/468 17/24/22 20/626/24 +f 477/621/465 482/608/455 478/623/467 +f 479/622/466 482/608/455 483/609/456 +f 480/624/468 483/609/456 484/627/458 +f 480/625/468 481/610/457 477/621/465 +f 214/485/348 465/615/461 213/482/345 +f 487/628/469 38/607/454 486/629/470 +f 488/630/471 39/66/59 487/628/469 +f 488/631/471 37/60/54 40/632/57 +f 485/606/453 490/380/252 486/629/470 +f 486/629/470 491/381/253 487/628/469 +f 488/630/471 491/381/253 492/604/451 +f 485/606/453 492/633/451 489/605/452 +f 490/380/252 161/68/61 162/375/248 +f 247/556/410 502/634/472 246/245/210 +f 247/558/410 504/635/473 503/636/474 +f 248/560/413 501/561/414 504/635/473 +f 494/637/475 897/638/476 493/639/477 +f 495/640/478 898/6/6 494/637/475 +f 495/641/478 900/1/1 899/4/4 +f 496/642/479 897/638/476 900/1/1 +f 494/637/475 497/643/480 498/644/481 +f 495/640/478 498/644/481 499/645/482 +f 495/641/478 500/646/483 496/642/479 +f 496/642/479 497/643/480 493/639/477 +f 498/644/481 501/561/414 502/634/472 +f 498/644/481 503/647/474 499/645/482 +f 499/648/482 504/635/473 500/646/483 +f 497/643/480 504/635/473 501/561/414 +f 562/649/484 557/650/485 561/651/486 +f 455/583/434 514/652/487 454/580/431 +f 455/583/434 516/653/488 515/654/489 +f 456/586/437 513/655/490 516/656/488 +f 507/657/491 26/30/27 506/658/492 +f 508/659/493 27/37/33 507/657/491 +f 508/660/493 25/33/30 28/661/32 +f 505/662/494 510/663/495 506/658/492 +f 507/657/491 510/663/495 511/664/496 +f 508/659/493 511/664/496 512/665/497 +f 508/660/493 509/666/498 505/662/494 +f 510/663/495 513/655/490 514/652/487 +f 511/664/496 514/652/487 515/654/489 +f 511/664/496 516/653/488 512/665/497 +f 512/667/497 513/655/490 509/666/498 +f 237/534/391 482/608/455 481/610/457 +f 190/435/302 525/668/499 189/669/500 +f 191/434/301 526/670/501 190/435/302 +f 191/437/301 528/671/502 527/672/503 +f 192/440/306 525/668/499 528/671/502 +f 519/673/504 30/44/40 518/46/41 +f 519/674/504 32/39/35 31/42/38 +f 520/675/505 29/40/36 32/39/35 +f 518/46/41 521/676/506 522/677/507 +f 519/673/504 522/677/507 523/678/508 +f 519/674/504 524/679/509 520/675/505 +f 520/675/505 521/676/506 517/47/42 +f 385/439/305 190/435/302 189/669/500 +f 521/676/506 526/670/501 522/677/507 +f 522/677/507 527/680/503 523/678/508 +f 524/679/509 527/672/503 528/671/502 +f 521/676/506 528/671/502 525/668/499 +f 159/232/201 538/681/510 158/233/202 +f 159/235/201 540/682/511 539/683/512 +f 157/286/220 540/682/511 160/238/206 +f 530/684/513 53/80/72 529/685/514 +f 531/686/515 54/81/73 530/684/513 +f 531/687/515 56/83/75 55/85/77 +f 532/688/516 53/80/72 56/83/75 +f 530/684/513 533/689/517 534/690/518 +f 531/686/515 534/690/518 535/691/519 +f 531/687/515 536/692/520 532/688/516 +f 532/688/516 533/689/517 529/685/514 +f 534/690/518 537/285/219 538/681/510 +f 534/690/518 539/693/512 535/691/519 +f 535/694/519 540/682/511 536/692/520 +f 533/689/517 540/682/511 537/285/219 +f 195/445/311 554/695/521 194/442/308 +f 195/447/311 556/696/522 555/697/523 +f 196/449/314 553/698/524 556/696/522 +f 543/699/525 62/90/81 542/700/526 +f 543/701/525 64/92/83 63/94/85 +f 544/702/527 61/89/80 64/92/83 +f 542/700/526 545/703/528 546/704/529 +f 542/700/526 547/705/530 543/699/525 +f 543/701/525 548/706/531 544/702/527 +f 541/707/532 548/706/531 545/703/528 +f 561/651/486 550/708/533 562/649/484 +f 562/649/484 551/709/534 563/710/535 +f 564/711/536 551/712/534 552/713/537 +f 561/651/486 552/713/537 549/714/538 +f 550/708/533 553/698/524 554/695/521 +f 551/709/534 554/695/521 555/715/523 +f 551/712/534 556/696/522 552/713/537 +f 552/713/537 553/698/524 549/714/538 +f 545/703/528 558/716/539 546/704/529 +f 547/705/530 558/716/539 559/717/540 +f 548/706/531 559/718/540 560/719/541 +f 548/706/531 557/650/485 545/703/528 +f 563/710/535 558/716/539 562/649/484 +f 563/720/535 560/719/541 559/718/540 +f 557/650/485 564/711/536 561/651/486 +f 505/662/494 26/30/27 25/33/30 +f 167/386/258 574/721/542 166/383/255 +f 167/388/258 576/722/543 575/723/544 +f 165/384/256 576/722/543 168/390/261 +f 566/724/545 89/127/114 565/725/546 +f 567/726/547 90/128/115 566/724/545 +f 567/727/547 92/130/117 91/132/119 +f 568/728/548 89/127/114 92/130/117 +f 566/724/545 569/729/549 570/730/550 +f 567/726/547 570/730/550 571/731/551 +f 567/727/547 572/732/552 568/728/548 +f 568/728/548 569/729/549 565/725/546 +f 570/730/550 573/733/553 574/721/542 +f 570/730/550 575/734/544 571/731/551 +f 571/735/551 576/722/543 572/732/552 +f 569/729/549 576/722/543 573/733/553 +f 542/700/526 61/89/80 541/707/532 +f 175/262/214 586/736/554 174/737/555 +f 176/404/273 587/738/556 175/262/214 +f 176/406/273 585/739/557 588/740/558 +f 577/741/559 46/71/64 45/74/67 +f 43/73/66 282/742/152 283/743/212 +f 44/75/68 283/744/212 284/745/213 +f 41/72/65 284/745/213 281/746/153 +f 689/747/560 686/748/561 690/749/562 +f 282/742/152 41/72/65 281/746/153 +f 173/408/276 370/263/215 174/737/555 +f 579/750/563 46/71/64 578/751/564 +f 580/752/565 47/78/70 579/750/563 +f 580/753/565 45/74/67 48/754/69 +f 577/741/559 582/755/566 578/751/564 +f 579/750/563 582/755/566 583/756/567 +f 580/752/565 583/756/567 584/757/568 +f 580/753/565 581/758/569 577/741/559 +f 582/755/566 585/739/557 586/736/554 +f 582/755/566 587/738/556 583/756/567 +f 583/756/567 588/759/558 584/757/568 +f 581/758/569 588/740/558 585/739/557 +f 251/563/416 598/760/570 250/564/417 +f 251/566/416 600/761/571 599/762/572 +f 252/569/421 597/570/422 600/761/571 +f 602/763/573 589/764/574 590/765/575 +f 603/766/576 590/765/575 591/767/577 +f 603/768/576 592/769/578 604/770/579 +f 604/770/579 589/764/574 601/771/580 +f 602/763/573 81/118/106 601/771/580 +f 605/772/581 594/773/582 606/774/583 +f 606/774/583 595/775/584 607/776/585 +f 608/777/586 595/778/584 596/779/587 +f 605/772/581 596/779/587 593/780/588 +f 593/780/588 598/760/570 594/773/582 +f 594/773/582 599/781/572 595/775/584 +f 596/779/587 599/762/572 600/761/571 +f 593/780/588 600/761/571 597/570/422 +f 603/766/576 82/119/107 602/763/573 +f 603/768/576 84/121/109 83/123/111 +f 604/770/579 81/118/106 84/121/109 +f 590/765/575 605/772/581 606/774/583 +f 591/767/577 606/774/583 607/776/585 +f 591/782/577 608/777/586 592/769/578 +f 592/769/578 605/772/581 589/764/574 +f 616/783/589 211/474/338 212/476/340 +f 613/784/590 212/476/340 209/785/222 +f 609/786/591 74/110/99 73/109/98 +f 610/787/592 75/115/103 74/110/99 +f 612/788/593 75/115/103 611/789/594 +f 609/790/591 76/112/101 612/788/593 +f 609/786/591 614/479/342 610/787/592 +f 610/787/592 615/480/343 611/789/594 +f 612/788/593 615/480/343 616/783/589 +f 609/790/591 616/783/589 613/784/590 +f 613/791/590 210/792/595 614/479/342 +f 226/511/370 619/793/596 618/794/597 +f 227/510/369 620/795/598 619/793/596 +f 225/106/95 620/796/598 228/514/372 +f 621/797/599 902/798/600 622/799/601 +f 622/799/601 903/800/602 623/801/603 +f 624/802/604 903/800/602 904/803/605 +f 621/797/599 904/804/605 901/805/606 +f 617/516/374 902/798/600 901/805/606 +f 619/793/596 902/798/600 618/794/597 +f 620/795/598 903/800/602 619/793/596 +f 620/796/598 901/805/606 904/804/605 +f 625/806/607 622/799/601 626/807/608 +f 627/808/609 622/799/601 623/801/603 +f 628/809/610 623/801/603 624/802/604 +f 628/810/610 621/797/599 625/806/607 +f 629/811/611 626/807/608 630/812/612 +f 630/812/612 627/808/609 631/813/613 +f 632/814/614 627/808/609 628/809/610 +f 629/811/611 628/810/610 625/806/607 +f 629/811/611 66/815/615 65/98/88 +f 631/813/613 66/815/615 630/812/612 +f 632/814/614 67/104/93 631/813/613 +f 632/816/614 65/98/88 68/817/91 +f 381/429/296 186/425/293 185/432/299 +f 223/504/364 634/818/616 222/332/228 +f 223/506/364 636/819/617 635/820/618 +f 224/508/367 633/509/368 636/819/617 +f 638/821/619 633/509/368 634/818/616 +f 638/821/619 635/822/618 639/823/620 +f 639/824/620 636/819/617 640/825/621 +f 637/826/622 636/819/617 633/509/368 +f 642/827/623 637/826/622 638/821/619 +f 643/828/624 638/821/619 639/823/620 +f 643/829/624 640/825/621 644/830/625 +f 644/830/625 637/826/622 641/831/626 +f 642/827/623 113/154/138 641/831/626 +f 643/828/624 114/155/139 642/827/623 +f 643/829/624 116/157/141 115/159/143 +f 644/830/625 113/154/138 116/157/141 +f 171/397/267 646/402/271 170/338/232 +f 172/401/270 647/832/627 171/399/267 +f 172/401/270 645/403/272 648/833/628 +f 649/834/629 646/402/271 650/835/630 +f 650/835/630 647/836/627 651/837/631 +f 652/838/632 647/832/627 648/833/628 +f 649/834/629 648/833/628 645/403/272 +f 654/839/633 649/834/629 650/835/630 +f 655/840/634 650/835/630 651/837/631 +f 655/841/634 652/838/632 656/842/635 +f 656/842/635 649/834/629 653/843/636 +f 658/167/150 653/843/636 654/839/633 +f 658/167/150 655/840/634 659/844/148 +f 659/165/148 656/842/635 660/164/147 +f 657/162/145 656/842/635 653/843/636 +f 906/845/160 122/173/155 905/846/637 +f 219/496/357 662/501/361 218/353/238 +f 220/500/360 663/847/638 219/498/357 +f 220/500/360 661/502/362 664/848/639 +f 665/849/640 662/501/361 666/850/641 +f 666/850/641 663/851/638 667/852/642 +f 668/853/643 663/847/638 664/848/639 +f 665/849/640 664/848/639 661/502/362 +f 670/854/644 665/849/640 666/850/641 +f 670/854/644 667/852/642 671/855/645 +f 671/856/645 668/853/643 672/857/646 +f 669/858/647 668/853/643 665/849/640 +f 674/859/648 669/858/647 670/854/644 +f 675/860/649 670/854/644 671/855/645 +f 675/861/649 672/857/646 676/862/650 +f 676/862/650 669/858/647 673/863/651 +f 130/347/234 674/859/648 129/192/168 +f 129/192/168 675/860/649 132/350/235 +f 131/349/236 675/861/649 676/862/650 +f 130/347/234 676/862/650 673/863/651 +f 677/864/652 350/366/240 678/865/653 +f 679/866/654 350/366/240 351/369/243 +f 680/867/655 351/369/243 352/868/246 +f 680/869/655 349/367/241 677/864/652 +f 682/870/656 677/864/652 678/865/653 +f 683/871/657 678/865/653 679/866/654 +f 683/871/657 680/867/655 684/872/658 +f 684/873/658 677/864/652 681/874/659 +f 686/748/561 681/874/659 682/870/656 +f 686/748/561 683/871/657 687/875/660 +f 687/875/660 684/872/658 688/876/661 +f 685/877/662 684/873/658 681/874/659 +f 690/749/562 687/875/660 691/878/663 +f 687/875/660 692/879/664 691/878/663 +f 688/880/661 689/747/560 692/881/664 +f 346/882/152 145/213/184 345/364/153 +f 689/747/560 106/145/130 105/148/133 +f 690/749/562 107/152/136 106/145/130 +f 692/879/664 107/152/136 691/878/663 +f 689/747/560 108/883/135 692/881/664 +f 310/884/152 93/135/121 309/316/153 +f 178/411/279 693/885/665 177/886/666 +f 179/410/278 694/887/667 178/411/279 +f 179/410/278 696/888/668 695/889/669 +f 180/413/281 693/890/665 696/888/668 +f 698/891/670 693/885/665 694/887/667 +f 699/892/671 694/887/667 695/889/669 +f 699/892/671 696/888/668 700/893/672 +f 700/893/672 693/890/665 697/894/673 +f 701/895/674 698/891/670 702/896/675 +f 702/896/675 699/892/671 703/897/676 +f 704/898/677 699/892/671 700/893/672 +f 701/899/674 700/893/672 697/894/673 +f 705/900/678 702/896/675 706/901/679 +f 706/901/679 703/897/676 707/902/680 +f 708/903/681 701/899/674 705/904/678 +f 708/903/681 703/897/676 704/898/677 +f 98/137/123 705/900/678 706/901/679 +f 98/137/123 707/902/680 99/142/127 +f 99/142/127 708/903/681 100/139/125 +f 97/140/122 708/903/681 705/904/678 +f 374/409/277 177/886/666 373/905/282 +f 230/518/376 711/906/682 710/907/683 +f 231/521/379 712/908/684 711/906/682 +f 229/522/380 712/908/684 232/523/381 +f 714/909/685 709/525/382 710/910/683 +f 715/911/686 710/907/683 711/906/682 +f 715/911/686 712/908/684 716/912/687 +f 716/912/687 709/525/382 713/913/688 +f 718/914/689 713/913/688 714/909/685 +f 718/915/689 715/911/686 719/916/690 +f 719/916/690 716/912/687 720/917/691 +f 717/918/692 716/912/687 713/913/688 +f 302/305/152 77/117/105 301/307/153 +f 721/919/693 718/914/689 722/920/694 +f 723/921/695 718/915/689 719/916/690 +f 724/922/696 719/916/690 720/917/691 +f 724/922/696 717/918/692 721/919/693 +f 726/923/697 721/919/693 722/920/694 +f 726/924/697 723/921/695 727/925/698 +f 727/925/698 724/922/696 728/926/699 +f 725/927/700 724/922/696 721/919/693 +f 730/928/701 725/927/700 726/923/697 +f 730/929/701 727/925/698 731/930/702 +f 731/930/702 728/926/699 732/931/703 +f 729/932/704 728/926/699 725/927/700 +f 730/928/701 137/198/173 729/932/704 +f 730/929/701 139/202/176 138/933/170 +f 731/930/702 140/200/175 139/202/176 +f 729/932/704 140/200/175 732/931/703 +f 425/934/705 230/524/376 229/522/380 +f 198/457/321 735/935/706 734/936/327 +f 200/461/325 735/935/706 199/456/320 +f 197/462/326 736/937/707 200/461/325 +f 737/938/708 734/463/327 738/939/709 +f 738/940/709 735/935/706 739/941/710 +f 740/942/711 735/935/706 736/937/707 +f 737/938/708 736/937/707 733/464/328 +f 741/943/712 738/939/709 742/944/713 +f 743/945/714 738/940/709 739/941/710 +f 744/946/715 739/941/710 740/942/711 +f 744/946/715 737/938/708 741/943/712 +f 746/947/716 741/943/712 742/944/713 +f 746/948/716 743/945/714 747/949/717 +f 747/949/717 744/946/715 748/950/718 +f 745/951/719 744/946/715 741/943/712 +f 749/952/720 746/947/716 750/953/721 +f 750/954/721 747/949/717 751/955/722 +f 752/956/723 747/949/717 748/950/718 +f 749/952/720 748/950/718 745/951/719 +f 393/460/324 198/957/321 197/462/326 +f 750/953/721 905/846/637 749/952/720 +f 750/954/721 907/176/158 906/178/160 +f 751/955/722 908/172/154 907/176/158 +f 749/952/720 908/172/154 752/956/723 +f 754/222/192 765/958/724 766/959/725 +f 754/222/192 767/960/726 755/225/195 +f 755/225/195 768/961/727 756/227/197 +f 753/229/194 768/961/727 765/962/724 +f 241/963/728 818/964/729 817/965/730 +f 763/966/731 770/967/732 762/968/733 +f 761/969/734 770/967/732 771/970/735 +f 764/971/736 771/970/735 772/972/737 +f 763/973/731 772/972/737 769/974/738 +f 790/975/739 761/969/734 789/976/740 +f 187/424/292 774/977/741 186/425/293 +f 187/427/292 776/978/742 775/979/743 +f 188/430/297 773/431/298 776/978/742 +f 778/980/744 773/431/298 774/977/741 +f 779/981/745 774/977/741 775/982/743 +f 779/983/745 776/978/742 780/984/746 +f 780/984/746 773/431/298 777/985/747 +f 781/986/748 778/980/744 782/987/749 +f 782/987/749 779/981/745 783/988/750 +f 784/989/751 779/983/745 780/984/746 +f 781/986/748 780/984/746 777/985/747 +f 786/990/752 781/986/748 782/987/749 +f 786/990/752 783/988/750 787/991/753 +f 787/992/753 784/989/751 788/993/754 +f 785/994/755 784/989/751 781/986/748 +f 786/990/752 791/995/756 790/975/739 +f 791/996/756 788/993/754 792/997/757 +f 792/997/757 785/994/755 789/976/740 +f 785/994/755 790/975/739 789/976/740 +f 791/995/756 762/968/733 790/975/739 +f 791/996/756 764/971/736 763/973/731 +f 792/997/757 761/969/734 764/971/736 +f 429/998/758 234/999/384 233/531/388 +f 234/999/384 793/1000/759 233/531/388 +f 234/527/384 795/1001/760 794/1002/761 +f 236/532/389 795/1001/760 235/530/387 +f 233/531/388 796/1003/762 236/532/389 +f 797/1004/763 794/1005/761 798/1006/764 +f 798/1007/764 795/1001/760 799/1008/765 +f 800/1009/766 795/1001/760 796/1003/762 +f 797/1004/763 796/1003/762 793/1000/759 +f 801/1010/767 798/1006/764 802/1011/768 +f 802/1012/768 799/1008/765 803/1013/769 +f 804/1014/770 799/1008/765 800/1009/766 +f 801/1010/767 800/1009/766 797/1004/763 +f 805/1015/771 802/1011/768 806/1016/772 +f 807/1017/773 802/1012/768 803/1013/769 +f 808/1018/774 803/1013/769 804/1014/770 +f 808/1018/774 801/1010/767 805/1015/771 +f 810/1019/775 807/1017/773 811/1020/776 +f 811/1020/776 808/1018/774 812/1021/777 +f 808/1018/774 809/1022/778 812/1021/777 +f 814/1023/779 809/1022/778 810/1024/775 +f 814/1025/779 811/1020/776 815/1026/780 +f 815/1026/780 812/1021/777 816/1027/781 +f 813/1028/782 812/1021/777 809/1022/778 +f 814/1023/779 909/1029/783 813/1028/782 +f 814/1025/779 911/207/181 910/209/183 +f 815/1026/780 912/203/177 911/207/181 +f 813/1028/782 912/203/177 816/1027/781 +f 243/548/403 818/964/729 242/549/404 +f 244/551/406 819/1030/784 243/552/403 +f 244/551/406 817/965/730 820/1031/785 +f 822/1032/786 817/965/730 818/964/729 +f 823/1033/787 818/964/729 819/1034/784 +f 823/1035/787 820/1031/785 824/1036/788 +f 824/1036/788 817/965/730 821/1037/789 +f 825/1038/790 822/1032/786 826/1039/791 +f 826/1039/791 823/1033/787 827/1040/792 +f 828/1041/793 823/1035/787 824/1036/788 +f 825/1038/790 824/1036/788 821/1037/789 +f 830/1042/794 825/1038/790 826/1039/791 +f 831/1043/795 826/1039/791 827/1040/792 +f 831/1044/795 828/1041/793 832/1045/796 +f 832/1045/796 825/1038/790 829/1046/797 +f 830/1042/794 757/228/198 829/1046/797 +f 831/1043/795 758/226/196 830/1042/794 +f 831/1044/795 760/230/199 759/1047/193 +f 832/1045/796 757/228/198 760/230/199 +f 834/1048/798 205/1049/799 206/469/333 +f 207/468/332 834/1048/798 206/469/333 +f 208/471/335 835/1050/800 207/468/332 +f 833/1051/801 208/471/335 205/1052/799 +f 837/1053/802 834/1048/798 838/1054/803 +f 838/1054/803 835/1050/800 839/1055/804 +f 840/1056/805 835/1050/800 836/1057/806 +f 837/1058/802 836/1057/806 833/1051/801 +f 841/1059/807 838/1054/803 842/188/167 +f 842/188/167 839/1055/804 843/186/165 +f 844/182/161 839/1055/804 840/1056/805 +f 841/1060/807 840/1056/805 837/1058/802 +f 402/467/331 205/1049/799 401/1061/336 +f 182/418/286 845/1062/808 181/1063/809 +f 183/417/285 846/1064/810 182/418/286 +f 184/420/288 847/1065/811 183/417/285 +f 184/420/288 845/1066/808 848/1067/812 +f 850/1068/813 845/1062/808 846/1064/810 +f 851/1069/814 846/1064/810 847/1065/811 +f 851/1069/814 848/1067/812 852/1070/815 +f 852/1070/815 845/1066/808 849/1071/816 +f 854/1072/817 849/1073/816 850/1068/813 +f 854/1072/817 851/1069/814 855/1074/818 +f 855/1074/818 852/1070/815 856/1075/819 +f 853/1076/820 852/1070/815 849/1071/816 +f 857/1077/821 854/1072/817 858/1078/822 +f 858/1078/822 855/1074/818 859/1079/823 +f 860/1080/824 855/1074/818 856/1075/819 +f 857/1081/821 856/1075/819 853/1076/820 +f 857/1077/821 150/215/186 149/214/185 +f 859/1079/823 150/215/186 858/1078/822 +f 860/1080/824 151/220/190 859/1079/823 +f 860/1080/824 149/218/185 152/217/188 +f 194/442/308 553/698/524 193/443/309 +f 454/580/431 513/655/490 453/581/432 +f 173/408/276 586/736/554 585/739/557 +f 166/383/255 573/733/553 165/384/256 +f 897/638/476 1/8/7 2/2/2 +f 870/61/55 38/607/454 869/65/58 +f 865/272/218 33/50/45 34/54/49 +f 861/266/217 29/40/36 30/44/40 +f 874/99/89 66/815/615 873/103/92 +f 805/1015/771 810/1024/775 809/1022/778 +f 909/1029/783 141/211/182 142/204/178 +f 298/1082/152 69/108/97 297/299/153 +f 314/319/152 101/146/131 313/321/153 +f 438/547/402 241/963/728 437/553/407 +f 841/1059/807 125/187/166 126/1083/162 +f 318/327/152 109/153/137 317/329/153 +f 658/167/150 118/335/230 657/162/145 +f 378/416/284 181/1063/809 377/1084/289 +f 338/356/152 133/196/171 337/1085/153 +f 445/568/420 250/564/417 249/571/423 +f 153/237/205 158/233/202 157/286/220 +f 306/310/152 85/126/113 305/312/153 +f 900/1/1 897/638/476 2/2/2 +f 899/4/4 900/1/1 3/3/3 +f 898/6/6 899/1086/4 4/7/5 +f 254/9/8 2/2/2 1/8/7 +f 6/11/10 9/15/14 10/12/11 +f 7/14/13 12/614/16 9/15/14 +f 8/16/15 11/19/17 12/17/16 +f 5/13/12 10/12/11 11/19/17 +f 14/20/18 17/24/22 18/21/19 +f 15/23/21 20/626/24 17/24/22 +f 16/25/23 19/28/25 20/26/24 +f 13/22/20 18/21/19 19/28/25 +f 22/29/26 25/33/30 26/30/27 +f 23/32/29 28/661/32 25/33/30 +f 24/34/31 27/37/33 28/35/32 +f 21/31/28 26/30/27 27/37/33 +f 862/38/34 863/41/37 32/39/35 +f 863/41/37 864/1087/39 31/42/38 +f 864/43/39 861/266/217 30/44/40 +f 518/46/41 30/44/40 29/40/36 +f 866/48/43 867/51/46 36/49/44 +f 867/51/46 868/275/48 35/52/47 +f 868/53/48 865/272/218 34/54/49 +f 450/56/50 354/573/425 353/57/51 +f 871/59/53 40/632/57 37/60/54 +f 872/62/56 39/66/59 40/63/57 +f 869/65/58 38/607/454 39/66/59 +f 358/67/60 162/375/248 161/68/61 +f 42/70/63 45/74/67 46/71/64 +f 43/73/66 48/754/69 45/74/67 +f 44/75/68 47/78/70 48/76/69 +f 41/72/65 46/71/64 47/78/70 +f 49/79/71 50/82/74 53/80/72 +f 50/82/74 51/84/76 56/83/75 +f 51/84/76 52/283/78 55/85/77 +f 52/86/78 49/79/71 54/81/73 +f 57/88/79 58/91/82 61/89/80 +f 58/91/82 59/93/84 64/92/83 +f 59/93/84 60/289/86 63/94/85 +f 60/95/86 57/88/79 62/90/81 +f 875/97/87 68/817/91 65/98/88 +f 876/100/90 67/104/93 68/101/91 +f 873/103/92 66/815/615 67/104/93 +f 422/105/94 226/511/370 225/106/95 +f 69/108/97 70/1088/100 73/109/98 +f 70/111/100 71/114/102 76/112/101 +f 71/114/102 72/116/104 75/115/103 +f 72/116/104 69/108/97 74/110/99 +f 77/117/105 78/120/108 81/118/106 +f 78/120/108 79/122/110 84/121/109 +f 79/122/110 80/306/112 83/123/111 +f 80/124/112 77/117/105 82/119/107 +f 85/126/113 86/129/116 89/127/114 +f 86/129/116 87/131/118 92/130/117 +f 87/131/118 88/311/120 91/132/119 +f 88/133/120 85/126/113 90/128/115 +f 93/135/121 94/1089/124 97/136/122 +f 94/138/124 95/141/126 100/139/125 +f 95/141/126 96/143/128 99/142/127 +f 96/143/128 93/135/121 98/137/123 +f 102/144/129 105/148/133 106/145/130 +f 103/147/132 108/883/135 105/148/133 +f 104/149/134 107/152/136 108/150/135 +f 101/146/131 106/145/130 107/152/136 +f 109/153/137 110/156/140 113/154/138 +f 110/156/140 111/158/142 116/157/141 +f 111/158/142 112/328/144 115/159/143 +f 112/160/144 109/153/137 114/155/139 +f 657/162/145 118/335/230 119/163/146 +f 659/165/148 660/164/147 119/163/146 +f 658/167/150 659/844/148 120/168/149 +f 322/170/152 118/335/230 117/169/151 +f 908/172/154 905/846/637 122/173/155 +f 908/172/154 123/174/156 124/175/157 +f 907/176/158 124/175/157 121/177/159 +f 326/179/152 122/173/155 121/180/159 +f 844/182/161 841/1060/807 126/183/162 +f 844/182/161 127/184/163 128/185/164 +f 843/186/165 128/185/164 125/187/166 +f 330/189/152 126/1083/162 125/187/166 +f 334/191/152 130/347/234 129/192/168 +f 134/194/169 137/198/173 138/195/170 +f 135/197/172 140/200/175 137/198/173 +f 136/199/174 139/202/176 140/200/175 +f 133/201/171 138/933/170 139/202/176 +f 912/203/177 909/1029/783 142/204/178 +f 912/203/177 143/205/179 144/206/180 +f 911/207/181 144/206/180 141/208/182 +f 342/210/152 142/204/178 141/211/182 +f 145/213/184 146/1090/187 149/214/185 +f 146/216/187 147/219/189 152/217/188 +f 147/219/189 148/221/191 151/220/190 +f 148/221/191 145/213/184 150/215/186 +f 754/222/192 758/226/196 759/223/193 +f 755/225/195 757/228/198 758/226/196 +f 756/227/197 760/230/199 757/228/198 +f 753/229/194 759/1047/193 760/230/199 +f 154/231/200 155/1091/204 159/232/201 +f 156/234/203 160/238/206 159/235/201 +f 153/237/205 157/286/220 160/238/206 +f 286/239/152 50/82/74 49/79/71 +f 3/3/3 2/2/2 254/9/8 +f 4/5/5 3/3/3 255/241/207 +f 1/8/7 4/7/5 256/243/208 +f 441/244/209 442/555/409 246/245/210 +f 259/247/212 7/14/13 6/11/10 +f 259/249/212 260/251/213 8/16/15 +f 257/250/153 5/13/12 8/16/15 +f 262/252/152 14/20/18 13/22/20 +f 263/254/212 15/23/21 14/20/18 +f 263/255/212 264/256/213 16/25/23 +f 261/253/153 13/22/20 16/25/23 +f 266/257/152 22/29/26 21/31/28 +f 267/259/212 23/32/29 22/29/26 +f 267/260/212 268/261/213 24/34/31 +f 265/258/153 21/31/28 24/34/31 +f 175/262/214 174/737/555 370/263/215 +f 269/265/153 270/268/152 862/38/34 +f 271/267/212 863/41/37 862/38/34 +f 272/269/213 864/1087/39 863/41/37 +f 269/265/153 861/266/217 864/43/39 +f 274/271/152 866/48/43 865/272/218 +f 275/274/212 867/51/46 866/48/43 +f 275/274/212 276/1092/213 868/275/48 +f 273/273/153 865/272/218 868/53/48 +f 277/277/153 278/279/152 870/61/55 +f 279/278/212 871/59/53 870/61/55 +f 280/280/213 872/62/56 871/64/53 +f 277/277/153 869/65/58 872/62/56 +f 287/282/212 51/84/76 50/82/74 +f 287/282/212 288/1093/213 52/283/78 +f 285/240/153 49/79/71 52/86/78 +f 158/233/202 538/681/510 537/285/219 +f 291/287/212 59/93/84 58/91/82 +f 291/287/212 292/1094/213 60/289/86 +f 289/290/153 57/88/79 60/95/86 +f 258/248/152 6/11/10 5/13/12 +f 293/292/153 294/294/152 874/99/89 +f 295/293/212 875/97/87 874/99/89 +f 296/295/213 876/100/90 875/102/87 +f 293/292/153 873/103/92 876/100/90 +f 299/297/212 71/114/102 70/111/100 +f 299/297/212 300/300/213 72/116/104 +f 297/299/153 69/108/97 72/116/104 +f 406/301/221 210/792/595 209/302/222 +f 303/304/212 79/122/110 78/120/108 +f 303/304/212 304/1095/213 80/306/112 +f 301/307/153 77/117/105 80/124/112 +f 307/309/212 87/131/118 86/129/116 +f 307/309/212 308/1096/213 88/311/120 +f 305/312/153 85/126/113 88/133/120 +f 290/288/152 58/91/82 57/88/79 +f 311/314/212 95/141/126 94/138/124 +f 311/314/212 312/317/213 96/143/128 +f 309/316/153 93/135/121 96/143/128 +f 315/318/212 103/147/132 102/144/129 +f 315/320/212 316/322/213 104/149/134 +f 313/321/153 101/146/131 104/149/134 +f 398/323/224 202/368/242 201/324/225 +f 319/326/212 111/158/142 110/156/140 +f 319/326/212 320/1097/213 112/328/144 +f 317/329/153 109/153/137 112/160/144 +f 417/331/227 418/503/363 222/332/228 +f 323/334/212 119/163/146 118/335/230 +f 323/334/212 324/1098/213 120/166/149 +f 321/171/153 117/169/151 120/168/149 +f 365/337/231 366/396/266 170/338/232 +f 327/340/212 123/174/156 122/173/155 +f 327/340/212 328/342/213 124/175/157 +f 325/341/153 121/177/159 124/175/157 +f 331/343/212 127/184/163 126/183/162 +f 331/343/212 332/345/213 128/185/164 +f 329/190/153 125/187/166 128/185/164 +f 335/346/212 131/349/236 130/347/234 +f 335/346/212 336/1099/213 132/348/235 +f 333/193/153 129/192/168 132/350/235 +f 413/352/237 414/495/356 218/353/238 +f 339/355/212 135/197/172 134/194/169 +f 339/355/212 340/358/213 136/199/174 +f 337/357/153 133/201/171 136/199/174 +f 343/359/212 143/205/179 142/204/178 +f 343/359/212 344/361/213 144/206/180 +f 341/360/153 141/208/182 144/206/180 +f 347/362/212 147/219/189 146/216/187 +f 347/362/212 348/365/213 148/221/191 +f 345/364/153 145/213/184 148/221/191 +f 201/324/225 202/368/242 350/366/240 +f 202/368/242 203/371/245 351/369/243 +f 204/370/244 352/868/246 351/369/243 +f 204/372/244 201/324/225 349/367/241 +f 358/67/60 359/376/249 163/374/247 +f 359/376/249 360/1100/251 164/377/250 +f 357/69/62 161/68/61 164/378/250 +f 490/380/252 162/375/248 163/374/247 +f 877/382/254 878/385/257 166/383/255 +f 878/385/257 879/393/260 167/386/258 +f 880/387/259 168/390/261 167/388/258 +f 877/382/254 165/384/256 168/390/261 +f 362/391/262 878/385/257 877/382/254 +f 362/391/262 363/1101/265 879/393/260 +f 364/394/264 880/387/259 879/389/260 +f 364/394/264 361/392/263 877/382/254 +f 366/396/266 367/1102/269 171/397/267 +f 368/398/268 172/401/270 171/399/267 +f 365/337/231 169/339/233 172/401/270 +f 169/339/233 170/338/232 646/402/271 +f 176/404/273 175/262/214 371/264/216 +f 176/406/273 372/1103/274 369/407/275 +f 374/409/277 375/412/280 179/410/278 +f 375/412/280 376/415/283 180/413/281 +f 373/414/282 177/1104/666 180/413/281 +f 378/416/284 379/419/287 183/417/285 +f 379/419/287 380/422/290 184/420/288 +f 377/421/289 181/1105/809 184/420/288 +f 382/423/291 383/1106/295 187/424/292 +f 384/426/294 188/430/297 187/427/292 +f 381/429/296 185/432/299 188/430/297 +f 186/425/293 774/977/741 773/431/298 +f 386/433/300 387/1107/304 191/434/301 +f 388/436/303 192/440/306 191/437/301 +f 385/439/305 189/669/500 192/440/306 +f 881/441/307 882/444/310 194/442/308 +f 882/444/310 883/1108/313 195/445/311 +f 884/446/312 196/449/314 195/447/311 +f 881/441/307 193/443/309 196/449/314 +f 390/450/315 882/444/310 881/441/307 +f 391/452/317 883/1108/313 882/444/310 +f 391/453/317 392/454/318 884/446/312 +f 392/454/318 389/451/316 881/441/307 +f 394/455/319 395/459/323 199/456/320 +f 396/458/322 200/461/325 199/456/320 +f 393/460/324 197/462/326 200/461/325 +f 197/462/326 198/957/321 734/463/327 +f 398/323/224 399/465/329 203/371/245 +f 399/465/329 400/1109/330 204/370/244 +f 397/325/226 201/324/225 204/372/244 +f 402/467/331 403/470/334 207/468/332 +f 403/470/334 404/473/337 208/471/335 +f 401/472/336 205/1052/799 208/471/335 +f 211/474/338 210/792/595 406/301/221 +f 212/476/340 211/474/338 407/475/339 +f 405/478/223 209/785/222 212/476/340 +f 614/479/342 210/792/595 211/474/338 +f 886/481/344 214/485/348 213/482/345 +f 886/481/344 887/486/349 215/484/347 +f 887/486/349 888/1110/351 216/487/350 +f 885/483/346 213/482/345 216/488/350 +f 410/490/352 886/481/344 885/483/346 +f 410/490/352 411/493/355 887/486/349 +f 412/492/354 888/1110/351 887/486/349 +f 409/491/353 885/483/346 888/489/351 +f 414/495/356 415/1111/359 219/496/357 +f 416/497/358 220/500/360 219/498/357 +f 413/352/237 217/354/239 220/500/360 +f 217/354/239 218/353/238 662/501/361 +f 418/503/363 419/1112/366 223/504/364 +f 420/505/365 224/508/367 223/506/364 +f 417/331/227 221/333/229 224/508/367 +f 222/332/228 634/818/616 633/509/368 +f 422/105/94 423/512/371 227/510/369 +f 423/512/371 424/1113/373 228/513/372 +f 421/107/96 225/106/95 228/514/372 +f 226/511/370 618/794/597 617/516/374 +f 427/517/375 231/521/379 230/518/376 +f 428/520/378 232/523/381 231/521/379 +f 428/520/378 425/934/705 229/522/380 +f 230/524/376 710/910/683 709/525/382 +f 431/526/383 235/530/387 234/527/384 +f 432/529/386 236/532/389 235/530/387 +f 432/529/386 429/998/758 233/531/388 +f 890/533/390 238/537/394 237/534/391 +f 890/533/390 891/538/395 239/536/393 +f 891/538/395 892/1114/397 240/539/396 +f 889/535/392 237/534/391 240/540/396 +f 434/542/398 890/533/390 889/535/392 +f 434/542/398 435/545/401 891/538/395 +f 436/544/400 892/1114/397 891/538/395 +f 436/546/400 433/543/399 889/535/392 +f 438/547/402 439/1115/405 243/548/403 +f 439/550/405 440/554/408 244/551/406 +f 437/553/407 241/963/728 244/551/406 +f 442/555/409 443/1116/412 247/556/410 +f 444/557/411 248/560/413 247/558/410 +f 441/244/209 245/246/211 248/560/413 +f 246/245/210 502/634/472 501/561/414 +f 446/562/415 447/1117/419 251/563/416 +f 448/565/418 252/569/421 251/566/416 +f 445/568/420 249/571/423 252/569/421 +f 250/564/417 598/760/570 597/570/422 +f 450/56/50 451/1118/426 355/572/424 +f 451/574/426 452/577/428 356/575/427 +f 449/58/52 353/57/51 356/575/427 +f 471/578/429 470/617/462 354/573/425 +f 893/579/430 894/582/433 454/580/431 +f 894/582/433 895/585/436 455/583/434 +f 896/584/435 456/1119/437 455/583/434 +f 893/579/430 453/581/432 456/586/437 +f 458/588/438 894/582/433 893/579/430 +f 458/588/438 459/591/441 895/585/436 +f 460/590/440 896/584/435 895/585/436 +f 457/589/439 893/579/430 896/587/435 +f 471/593/429 355/576/424 356/575/427 +f 472/594/442 356/575/427 353/57/51 +f 474/596/444 34/54/49 33/50/45 +f 215/484/347 467/600/448 466/598/446 +f 215/484/347 216/487/350 468/599/447 +f 213/482/345 465/615/461 468/601/447 +f 462/602/449 10/12/11 9/15/14 +f 491/381/253 163/374/247 164/377/250 +f 489/605/452 492/633/451 164/378/250 +f 485/606/453 486/629/470 38/607/454 +f 239/536/393 483/609/456 482/608/455 +f 240/539/396 484/627/458 483/609/456 +f 240/540/396 237/534/391 481/610/457 +f 463/612/459 11/19/17 10/12/11 +f 463/612/459 464/616/460 12/17/16 +f 464/613/460 461/603/450 9/15/14 +f 462/602/449 461/603/450 465/615/461 +f 463/612/459 462/602/449 466/598/446 +f 463/612/459 467/600/448 468/599/447 +f 464/613/460 468/601/447 465/615/461 +f 473/597/445 469/595/443 470/617/462 +f 475/618/463 474/596/444 470/617/462 +f 476/619/464 475/620/463 471/593/429 +f 476/619/464 472/594/442 469/595/443 +f 470/617/462 469/595/443 353/57/51 +f 475/618/463 35/55/47 34/54/49 +f 475/620/463 476/619/464 36/49/44 +f 476/619/464 473/597/445 33/50/45 +f 477/621/465 478/623/467 18/21/19 +f 479/622/466 19/28/25 18/21/19 +f 480/624/468 20/26/24 19/28/25 +f 480/625/468 477/621/465 17/24/22 +f 477/621/465 481/610/457 482/608/455 +f 479/622/466 478/623/467 482/608/455 +f 480/624/468 479/622/466 483/609/456 +f 480/625/468 484/611/458 481/610/457 +f 214/485/348 466/598/446 465/615/461 +f 487/628/469 39/66/59 38/607/454 +f 488/630/471 40/63/57 39/66/59 +f 488/631/471 485/606/453 37/60/54 +f 485/606/453 489/605/452 490/380/252 +f 486/629/470 490/380/252 491/381/253 +f 488/630/471 487/628/469 491/381/253 +f 485/606/453 488/631/471 492/633/451 +f 490/380/252 489/605/452 161/68/61 +f 247/556/410 503/647/474 502/634/472 +f 247/558/410 248/560/413 504/635/473 +f 248/560/413 245/246/211 501/561/414 +f 494/637/475 898/6/6 897/638/476 +f 495/640/478 899/1086/4 898/6/6 +f 495/641/478 496/642/479 900/1/1 +f 496/642/479 493/639/477 897/638/476 +f 494/637/475 493/639/477 497/643/480 +f 495/640/478 494/637/475 498/644/481 +f 495/641/478 499/648/482 500/646/483 +f 496/642/479 500/646/483 497/643/480 +f 498/644/481 497/643/480 501/561/414 +f 498/644/481 502/634/472 503/647/474 +f 499/648/482 503/636/474 504/635/473 +f 497/643/480 500/646/483 504/635/473 +f 562/649/484 558/716/539 557/650/485 +f 455/583/434 515/654/489 514/652/487 +f 455/583/434 456/1119/437 516/653/488 +f 456/586/437 453/581/432 513/655/490 +f 507/657/491 27/37/33 26/30/27 +f 508/659/493 28/35/32 27/37/33 +f 508/660/493 505/662/494 25/33/30 +f 505/662/494 509/666/498 510/663/495 +f 507/657/491 506/658/492 510/663/495 +f 508/659/493 507/657/491 511/664/496 +f 508/660/493 512/667/497 509/666/498 +f 510/663/495 509/666/498 513/655/490 +f 511/664/496 510/663/495 514/652/487 +f 511/664/496 515/654/489 516/653/488 +f 512/667/497 516/656/488 513/655/490 +f 237/534/391 238/537/394 482/608/455 +f 190/435/302 526/670/501 525/668/499 +f 191/434/301 527/680/503 526/670/501 +f 191/437/301 192/440/306 528/671/502 +f 192/440/306 189/669/500 525/668/499 +f 519/673/504 31/45/38 30/44/40 +f 519/674/504 520/675/505 32/39/35 +f 520/675/505 517/47/42 29/40/36 +f 518/46/41 517/47/42 521/676/506 +f 519/673/504 518/46/41 522/677/507 +f 519/674/504 523/1120/508 524/679/509 +f 520/675/505 524/679/509 521/676/506 +f 385/439/305 386/433/300 190/435/302 +f 521/676/506 525/668/499 526/670/501 +f 522/677/507 526/670/501 527/680/503 +f 524/679/509 523/1120/508 527/672/503 +f 521/676/506 524/679/509 528/671/502 +f 159/232/201 539/693/512 538/681/510 +f 159/235/201 160/238/206 540/682/511 +f 157/286/220 537/285/219 540/682/511 +f 530/684/513 54/81/73 53/80/72 +f 531/686/515 55/87/77 54/81/73 +f 531/687/515 532/688/516 56/83/75 +f 532/688/516 529/685/514 53/80/72 +f 530/684/513 529/685/514 533/689/517 +f 531/686/515 530/684/513 534/690/518 +f 531/687/515 535/694/519 536/692/520 +f 532/688/516 536/692/520 533/689/517 +f 534/690/518 533/689/517 537/285/219 +f 534/690/518 538/681/510 539/693/512 +f 535/694/519 539/683/512 540/682/511 +f 533/689/517 536/692/520 540/682/511 +f 195/445/311 555/715/523 554/695/521 +f 195/447/311 196/449/314 556/696/522 +f 196/449/314 193/443/309 553/698/524 +f 543/699/525 63/96/85 62/90/81 +f 543/701/525 544/702/527 64/92/83 +f 544/702/527 541/707/532 61/89/80 +f 542/700/526 541/707/532 545/703/528 +f 542/700/526 546/704/529 547/705/530 +f 543/701/525 547/1121/530 548/706/531 +f 541/707/532 544/702/527 548/706/531 +f 561/651/486 549/714/538 550/708/533 +f 562/649/484 550/708/533 551/709/534 +f 564/711/536 563/720/535 551/712/534 +f 561/651/486 564/711/536 552/713/537 +f 550/708/533 549/714/538 553/698/524 +f 551/709/534 550/708/533 554/695/521 +f 551/712/534 555/697/523 556/696/522 +f 552/713/537 556/696/522 553/698/524 +f 545/703/528 557/650/485 558/716/539 +f 547/705/530 546/704/529 558/716/539 +f 548/706/531 547/1121/530 559/718/540 +f 548/706/531 560/719/541 557/650/485 +f 563/710/535 559/717/540 558/716/539 +f 563/720/535 564/711/536 560/719/541 +f 557/650/485 560/719/541 564/711/536 +f 505/662/494 506/658/492 26/30/27 +f 167/386/258 575/734/544 574/721/542 +f 167/388/258 168/390/261 576/722/543 +f 165/384/256 573/733/553 576/722/543 +f 566/724/545 90/128/115 89/127/114 +f 567/726/547 91/134/119 90/128/115 +f 567/727/547 568/728/548 92/130/117 +f 568/728/548 565/725/546 89/127/114 +f 566/724/545 565/725/546 569/729/549 +f 567/726/547 566/724/545 570/730/550 +f 567/727/547 571/735/551 572/732/552 +f 568/728/548 572/732/552 569/729/549 +f 570/730/550 569/729/549 573/733/553 +f 570/730/550 574/721/542 575/734/544 +f 571/735/551 575/723/544 576/722/543 +f 569/729/549 572/732/552 576/722/543 +f 542/700/526 62/90/81 61/89/80 +f 175/262/214 587/738/556 586/736/554 +f 176/404/273 588/759/558 587/738/556 +f 176/406/273 173/408/276 585/739/557 +f 577/741/559 578/751/564 46/71/64 +f 43/73/66 42/70/63 282/742/152 +f 44/75/68 43/77/66 283/744/212 +f 41/72/65 44/75/68 284/745/213 +f 689/747/560 685/877/662 686/748/561 +f 282/742/152 42/70/63 41/72/65 +f 173/408/276 369/407/275 370/263/215 +f 579/750/563 47/78/70 46/71/64 +f 580/752/565 48/76/69 47/78/70 +f 580/753/565 577/741/559 45/74/67 +f 577/741/559 581/758/569 582/755/566 +f 579/750/563 578/751/564 582/755/566 +f 580/752/565 579/750/563 583/756/567 +f 580/753/565 584/1122/568 581/758/569 +f 582/755/566 581/758/569 585/739/557 +f 582/755/566 586/736/554 587/738/556 +f 583/756/567 587/738/556 588/759/558 +f 581/758/569 584/1122/568 588/740/558 +f 251/563/416 599/781/572 598/760/570 +f 251/566/416 252/569/421 600/761/571 +f 252/569/421 249/571/423 597/570/422 +f 602/763/573 601/771/580 589/764/574 +f 603/766/576 602/763/573 590/765/575 +f 603/768/576 591/782/577 592/769/578 +f 604/770/579 592/769/578 589/764/574 +f 602/763/573 82/119/107 81/118/106 +f 605/772/581 593/780/588 594/773/582 +f 606/774/583 594/773/582 595/775/584 +f 608/777/586 607/1123/585 595/778/584 +f 605/772/581 608/777/586 596/779/587 +f 593/780/588 597/570/422 598/760/570 +f 594/773/582 598/760/570 599/781/572 +f 596/779/587 595/778/584 599/762/572 +f 593/780/588 596/779/587 600/761/571 +f 603/766/576 83/125/111 82/119/107 +f 603/768/576 604/770/579 84/121/109 +f 604/770/579 601/771/580 81/118/106 +f 590/765/575 589/764/574 605/772/581 +f 591/767/577 590/765/575 606/774/583 +f 591/782/577 607/1123/585 608/777/586 +f 592/769/578 608/777/586 605/772/581 +f 616/783/589 615/480/343 211/474/338 +f 613/784/590 616/783/589 212/476/340 +f 609/786/591 610/787/592 74/110/99 +f 610/787/592 611/789/594 75/115/103 +f 612/788/593 76/112/101 75/115/103 +f 609/790/591 73/113/98 76/112/101 +f 609/786/591 613/791/590 614/479/342 +f 610/787/592 614/479/342 615/480/343 +f 612/788/593 611/789/594 615/480/343 +f 609/790/591 612/788/593 616/783/589 +f 613/791/590 209/302/222 210/792/595 +f 226/511/370 227/510/369 619/793/596 +f 227/510/369 228/513/372 620/795/598 +f 225/106/95 617/516/374 620/796/598 +f 621/797/599 901/805/606 902/798/600 +f 622/799/601 902/798/600 903/800/602 +f 624/802/604 623/801/603 903/800/602 +f 621/797/599 624/1124/604 904/804/605 +f 617/516/374 618/794/597 902/798/600 +f 619/793/596 903/800/602 902/798/600 +f 620/795/598 904/803/605 903/800/602 +f 620/796/598 617/516/374 901/805/606 +f 625/806/607 621/797/599 622/799/601 +f 627/808/609 626/807/608 622/799/601 +f 628/809/610 627/808/609 623/801/603 +f 628/810/610 624/1124/604 621/797/599 +f 629/811/611 625/806/607 626/807/608 +f 630/812/612 626/807/608 627/808/609 +f 632/814/614 631/813/613 627/808/609 +f 629/811/611 632/816/614 628/810/610 +f 629/811/611 630/812/612 66/815/615 +f 631/813/613 67/104/93 66/815/615 +f 632/814/614 68/101/91 67/104/93 +f 632/816/614 629/811/611 65/98/88 +f 381/429/296 382/423/291 186/425/293 +f 223/504/364 635/822/618 634/818/616 +f 223/506/364 224/508/367 636/819/617 +f 224/508/367 221/333/229 633/509/368 +f 638/821/619 637/826/622 633/509/368 +f 638/821/619 634/818/616 635/822/618 +f 639/824/620 635/820/618 636/819/617 +f 637/826/622 640/825/621 636/819/617 +f 642/827/623 641/831/626 637/826/622 +f 643/828/624 642/827/623 638/821/619 +f 643/829/624 639/824/620 640/825/621 +f 644/830/625 640/825/621 637/826/622 +f 642/827/623 114/155/139 113/154/138 +f 643/828/624 115/161/143 114/155/139 +f 643/829/624 644/830/625 116/157/141 +f 644/830/625 641/831/626 113/154/138 +f 171/397/267 647/836/627 646/402/271 +f 172/401/270 648/833/628 647/832/627 +f 172/401/270 169/339/233 645/403/272 +f 649/834/629 645/403/272 646/402/271 +f 650/835/630 646/402/271 647/836/627 +f 652/838/632 651/1125/631 647/832/627 +f 649/834/629 652/838/632 648/833/628 +f 654/839/633 653/843/636 649/834/629 +f 655/840/634 654/839/633 650/835/630 +f 655/841/634 651/1125/631 652/838/632 +f 656/842/635 652/838/632 649/834/629 +f 658/167/150 657/162/145 653/843/636 +f 658/167/150 654/839/633 655/840/634 +f 659/165/148 655/841/634 656/842/635 +f 657/162/145 660/164/147 656/842/635 +f 906/845/160 121/180/159 122/173/155 +f 219/496/357 663/851/638 662/501/361 +f 220/500/360 664/848/639 663/847/638 +f 220/500/360 217/354/239 661/502/362 +f 665/849/640 661/502/362 662/501/361 +f 666/850/641 662/501/361 663/851/638 +f 668/853/643 667/1126/642 663/847/638 +f 665/849/640 668/853/643 664/848/639 +f 670/854/644 669/858/647 665/849/640 +f 670/854/644 666/850/641 667/852/642 +f 671/856/645 667/1126/642 668/853/643 +f 669/858/647 672/857/646 668/853/643 +f 674/859/648 673/863/651 669/858/647 +f 675/860/649 674/859/648 670/854/644 +f 675/861/649 671/856/645 672/857/646 +f 676/862/650 672/857/646 669/858/647 +f 130/347/234 673/863/651 674/859/648 +f 129/192/168 674/859/648 675/860/649 +f 131/349/236 132/348/235 675/861/649 +f 130/347/234 131/349/236 676/862/650 +f 677/864/652 349/367/241 350/366/240 +f 679/866/654 678/865/653 350/366/240 +f 680/867/655 679/866/654 351/369/243 +f 680/869/655 352/373/246 349/367/241 +f 682/870/656 681/874/659 677/864/652 +f 683/871/657 682/870/656 678/865/653 +f 683/871/657 679/866/654 680/867/655 +f 684/873/658 680/869/655 677/864/652 +f 686/748/561 685/877/662 681/874/659 +f 686/748/561 682/870/656 683/871/657 +f 687/875/660 683/871/657 684/872/658 +f 685/877/662 688/880/661 684/873/658 +f 690/749/562 686/748/561 687/875/660 +f 687/875/660 688/876/661 692/879/664 +f 688/880/661 685/877/662 689/747/560 +f 346/882/152 146/1090/187 145/213/184 +f 689/747/560 690/749/562 106/145/130 +f 690/749/562 691/878/663 107/152/136 +f 692/879/664 108/150/135 107/152/136 +f 689/747/560 105/148/133 108/883/135 +f 310/884/152 94/1089/124 93/135/121 +f 178/411/279 694/887/667 693/885/665 +f 179/410/278 695/889/669 694/887/667 +f 179/410/278 180/413/281 696/888/668 +f 180/413/281 177/1104/666 693/890/665 +f 698/891/670 697/1127/673 693/885/665 +f 699/892/671 698/891/670 694/887/667 +f 699/892/671 695/889/669 696/888/668 +f 700/893/672 696/888/668 693/890/665 +f 701/895/674 697/1127/673 698/891/670 +f 702/896/675 698/891/670 699/892/671 +f 704/898/677 703/897/676 699/892/671 +f 701/899/674 704/898/677 700/893/672 +f 705/900/678 701/895/674 702/896/675 +f 706/901/679 702/896/675 703/897/676 +f 708/903/681 704/898/677 701/899/674 +f 708/903/681 707/902/680 703/897/676 +f 98/137/123 97/136/122 705/900/678 +f 98/137/123 706/901/679 707/902/680 +f 99/142/127 707/902/680 708/903/681 +f 97/140/122 100/139/125 708/903/681 +f 374/409/277 178/411/279 177/886/666 +f 230/518/376 231/521/379 711/906/682 +f 231/521/379 232/523/381 712/908/684 +f 229/522/380 709/525/382 712/908/684 +f 714/909/685 713/913/688 709/525/382 +f 715/911/686 714/1128/685 710/907/683 +f 715/911/686 711/906/682 712/908/684 +f 716/912/687 712/908/684 709/525/382 +f 718/914/689 717/918/692 713/913/688 +f 718/915/689 714/1128/685 715/911/686 +f 719/916/690 715/911/686 716/912/687 +f 717/918/692 720/917/691 716/912/687 +f 302/305/152 78/120/108 77/117/105 +f 721/919/693 717/918/692 718/914/689 +f 723/921/695 722/1129/694 718/915/689 +f 724/922/696 723/921/695 719/916/690 +f 724/922/696 720/917/691 717/918/692 +f 726/923/697 725/927/700 721/919/693 +f 726/924/697 722/1129/694 723/921/695 +f 727/925/698 723/921/695 724/922/696 +f 725/927/700 728/926/699 724/922/696 +f 730/928/701 729/932/704 725/927/700 +f 730/929/701 726/924/697 727/925/698 +f 731/930/702 727/925/698 728/926/699 +f 729/932/704 732/931/703 728/926/699 +f 730/928/701 138/195/170 137/198/173 +f 730/929/701 731/930/702 139/202/176 +f 731/930/702 732/931/703 140/200/175 +f 729/932/704 137/198/173 140/200/175 +f 425/934/705 426/1130/377 230/524/376 +f 198/457/321 199/456/320 735/935/706 +f 200/461/325 736/937/707 735/935/706 +f 197/462/326 733/464/328 736/937/707 +f 737/938/708 733/464/328 734/463/327 +f 738/940/709 734/936/327 735/935/706 +f 740/942/711 739/941/710 735/935/706 +f 737/938/708 740/942/711 736/937/707 +f 741/943/712 737/938/708 738/939/709 +f 743/945/714 742/1131/713 738/940/709 +f 744/946/715 743/945/714 739/941/710 +f 744/946/715 740/942/711 737/938/708 +f 746/947/716 745/951/719 741/943/712 +f 746/948/716 742/1131/713 743/945/714 +f 747/949/717 743/945/714 744/946/715 +f 745/951/719 748/950/718 744/946/715 +f 749/952/720 745/951/719 746/947/716 +f 750/954/721 746/948/716 747/949/717 +f 752/956/723 751/955/722 747/949/717 +f 749/952/720 752/956/723 748/950/718 +f 393/460/324 394/1132/319 198/957/321 +f 750/953/721 906/845/160 905/846/637 +f 750/954/721 751/955/722 907/176/158 +f 751/955/722 752/956/723 908/172/154 +f 749/952/720 905/846/637 908/172/154 +f 754/222/192 753/224/194 765/958/724 +f 754/222/192 766/959/725 767/960/726 +f 755/225/195 767/960/726 768/961/727 +f 753/229/194 756/227/197 768/961/727 +f 241/963/728 242/549/404 818/964/729 +f 763/966/731 769/1133/738 770/967/732 +f 761/969/734 762/968/733 770/967/732 +f 764/971/736 761/969/734 771/970/735 +f 763/973/731 764/971/736 772/972/737 +f 790/975/739 762/968/733 761/969/734 +f 187/424/292 775/982/743 774/977/741 +f 187/427/292 188/430/297 776/978/742 +f 188/430/297 185/432/299 773/431/298 +f 778/980/744 777/985/747 773/431/298 +f 779/981/745 778/980/744 774/977/741 +f 779/983/745 775/979/743 776/978/742 +f 780/984/746 776/978/742 773/431/298 +f 781/986/748 777/985/747 778/980/744 +f 782/987/749 778/980/744 779/981/745 +f 784/989/751 783/1134/750 779/983/745 +f 781/986/748 784/989/751 780/984/746 +f 786/990/752 785/994/755 781/986/748 +f 786/990/752 782/987/749 783/988/750 +f 787/992/753 783/1134/750 784/989/751 +f 785/994/755 788/993/754 784/989/751 +f 786/990/752 787/991/753 791/995/756 +f 791/996/756 787/992/753 788/993/754 +f 792/997/757 788/993/754 785/994/755 +f 785/994/755 786/990/752 790/975/739 +f 791/995/756 763/966/731 762/968/733 +f 791/996/756 792/997/757 764/971/736 +f 792/997/757 789/976/740 761/969/734 +f 429/998/758 430/1135/385 234/999/384 +f 234/999/384 794/1005/761 793/1000/759 +f 234/527/384 235/530/387 795/1001/760 +f 236/532/389 796/1003/762 795/1001/760 +f 233/531/388 793/1000/759 796/1003/762 +f 797/1004/763 793/1000/759 794/1005/761 +f 798/1007/764 794/1002/761 795/1001/760 +f 800/1009/766 799/1008/765 795/1001/760 +f 797/1004/763 800/1009/766 796/1003/762 +f 801/1010/767 797/1004/763 798/1006/764 +f 802/1012/768 798/1007/764 799/1008/765 +f 804/1014/770 803/1013/769 799/1008/765 +f 801/1010/767 804/1014/770 800/1009/766 +f 805/1015/771 801/1010/767 802/1011/768 +f 807/1017/773 806/1136/772 802/1012/768 +f 808/1018/774 807/1017/773 803/1013/769 +f 808/1018/774 804/1014/770 801/1010/767 +f 810/1019/775 806/1136/772 807/1017/773 +f 811/1020/776 807/1017/773 808/1018/774 +f 808/1018/774 805/1015/771 809/1022/778 +f 814/1023/779 813/1028/782 809/1022/778 +f 814/1025/779 810/1019/775 811/1020/776 +f 815/1026/780 811/1020/776 812/1021/777 +f 813/1028/782 816/1027/781 812/1021/777 +f 814/1023/779 910/1137/183 909/1029/783 +f 814/1025/779 815/1026/780 911/207/181 +f 815/1026/780 816/1027/781 912/203/177 +f 813/1028/782 909/1029/783 912/203/177 +f 243/548/403 819/1034/784 818/964/729 +f 244/551/406 820/1031/785 819/1030/784 +f 244/551/406 241/963/728 817/965/730 +f 822/1032/786 821/1037/789 817/965/730 +f 823/1033/787 822/1032/786 818/964/729 +f 823/1035/787 819/1030/784 820/1031/785 +f 824/1036/788 820/1031/785 817/965/730 +f 825/1038/790 821/1037/789 822/1032/786 +f 826/1039/791 822/1032/786 823/1033/787 +f 828/1041/793 827/1138/792 823/1035/787 +f 825/1038/790 828/1041/793 824/1036/788 +f 830/1042/794 829/1046/797 825/1038/790 +f 831/1043/795 830/1042/794 826/1039/791 +f 831/1044/795 827/1138/792 828/1041/793 +f 832/1045/796 828/1041/793 825/1038/790 +f 830/1042/794 758/226/196 757/228/198 +f 831/1043/795 759/223/193 758/226/196 +f 831/1044/795 832/1045/796 760/230/199 +f 832/1045/796 829/1046/797 757/228/198 +f 834/1048/798 833/1139/801 205/1049/799 +f 207/468/332 835/1050/800 834/1048/798 +f 208/471/335 836/1057/806 835/1050/800 +f 833/1051/801 836/1057/806 208/471/335 +f 837/1053/802 833/1139/801 834/1048/798 +f 838/1054/803 834/1048/798 835/1050/800 +f 840/1056/805 839/1055/804 835/1050/800 +f 837/1058/802 840/1056/805 836/1057/806 +f 841/1059/807 837/1053/802 838/1054/803 +f 842/188/167 838/1054/803 839/1055/804 +f 844/182/161 843/186/165 839/1055/804 +f 841/1060/807 844/182/161 840/1056/805 +f 402/467/331 206/469/333 205/1049/799 +f 182/418/286 846/1064/810 845/1062/808 +f 183/417/285 847/1065/811 846/1064/810 +f 184/420/288 848/1067/812 847/1065/811 +f 184/420/288 181/1105/809 845/1066/808 +f 850/1068/813 849/1073/816 845/1062/808 +f 851/1069/814 850/1068/813 846/1064/810 +f 851/1069/814 847/1065/811 848/1067/812 +f 852/1070/815 848/1067/812 845/1066/808 +f 854/1072/817 853/1140/820 849/1073/816 +f 854/1072/817 850/1068/813 851/1069/814 +f 855/1074/818 851/1069/814 852/1070/815 +f 853/1076/820 856/1075/819 852/1070/815 +f 857/1077/821 853/1140/820 854/1072/817 +f 858/1078/822 854/1072/817 855/1074/818 +f 860/1080/824 859/1079/823 855/1074/818 +f 857/1081/821 860/1080/824 856/1075/819 +f 857/1077/821 858/1078/822 150/215/186 +f 859/1079/823 151/220/190 150/215/186 +f 860/1080/824 152/217/188 151/220/190 +f 860/1080/824 857/1081/821 149/218/185 +f 194/442/308 554/695/521 553/698/524 +f 454/580/431 514/652/487 513/655/490 +f 173/408/276 174/737/555 586/736/554 +f 166/383/255 574/721/542 573/733/553 +f 897/638/476 898/6/6 1/8/7 +f 870/61/55 37/60/54 38/607/454 +f 865/272/218 866/48/43 33/50/45 +f 861/266/217 862/38/34 29/40/36 +f 874/99/89 65/98/88 66/815/615 +f 805/1015/771 806/1016/772 810/1024/775 +f 909/1029/783 910/1137/183 141/211/182 +f 298/1082/152 70/1088/100 69/108/97 +f 314/319/152 102/144/129 101/146/131 +f 438/547/402 242/549/404 241/963/728 +f 841/1059/807 842/188/167 125/187/166 +f 318/327/152 110/156/140 109/153/137 +f 658/167/150 117/169/151 118/335/230 +f 378/416/284 182/418/286 181/1063/809 +f 338/356/152 134/194/169 133/196/171 +f 445/568/420 446/562/415 250/564/417 +f 153/237/205 154/231/200 158/233/202 +f 306/310/152 86/129/116 85/126/113 +o Body +v -1.000000 0.062500 -0.500000 +v -1.000000 0.000000 -0.562500 +v -1.000000 0.000000 -0.500000 +v -1.000000 0.062500 -0.562500 +v 1.000000 0.000000 -0.562500 +v 1.000000 0.062500 -0.562500 +v 1.000000 0.000000 -0.500000 +v -1.000000 0.062500 -0.437500 +v -1.000000 0.125000 -0.500000 +v 1.000000 0.062500 -0.500000 +v 1.000000 0.062500 -0.437500 +v -1.000000 0.000000 -0.437500 +v 1.000000 0.000000 -0.437500 +v 1.000000 0.125000 -0.437500 +v -0.937500 0.187500 -0.500000 +v 0.937500 0.187500 -0.437500 +v 0.937500 0.187500 -0.500000 +v -0.937500 0.187500 -0.437500 +v -1.000000 0.125000 -0.437500 +v 1.000000 0.125000 -0.500000 +v -1.000000 -0.000000 0.562500 +v -1.000000 0.062500 0.500000 +v -1.000000 -0.000000 0.500000 +v 1.000000 -0.000000 0.562500 +v -1.000000 0.062500 0.562500 +v 1.000000 -0.000000 0.500000 +v 1.000000 0.062500 0.562500 +v -1.000000 0.125000 0.500000 +v -1.000000 0.062500 0.437500 +v 1.000000 0.062500 0.500000 +v -1.000000 -0.000000 0.437500 +v 1.000000 0.062500 0.437500 +v 1.000000 -0.000000 0.437500 +v 1.000000 0.125000 0.437500 +v 0.937500 0.187500 0.437500 +v -0.937500 0.187500 0.500000 +v 0.937500 0.187500 0.500000 +v -1.000000 0.125000 0.437500 +v 1.000000 0.125000 0.500000 +v -0.531250 0.187500 0.437500 +v -0.531250 0.000000 -0.437500 +v -0.531250 -0.000000 0.437500 +v -0.468750 0.187500 -0.437500 +v -0.468750 -0.000000 0.437500 +v -0.468750 0.000000 -0.437500 +v -0.531250 0.187500 -0.437500 +v -0.468750 0.187500 0.437500 +v 0.531250 0.000000 -0.437500 +v 0.531250 0.187500 0.437500 +v 0.531250 -0.000000 0.437500 +v 0.468750 -0.000000 0.437500 +v 0.468750 0.187500 -0.437500 +v 0.468750 0.000000 -0.437500 +v 0.468750 0.187500 0.437500 +v 0.531250 0.187500 -0.437500 +v -0.619649 0.820234 -0.375000 +v -0.749885 0.081628 -0.437500 +v -0.749885 0.081628 -0.375000 +v -0.619649 0.820234 -0.437500 +v -0.565233 0.049069 -0.437500 +v -0.434997 0.787675 -0.437500 +v -0.565233 0.049069 -0.375000 +v -0.434997 0.787675 -0.375000 +v -0.600024 0.335540 -0.421875 +v -0.379053 0.114569 -0.453125 +v -0.379053 0.114569 -0.421875 +v -0.600024 0.335540 -0.453125 +v -0.334858 0.158763 -0.453125 +v -0.555829 0.379734 -0.453125 +v -0.334858 0.158763 -0.421875 +v -0.555829 0.379734 -0.421875 +v 0.749885 0.081628 -0.437500 +v 0.619649 0.820234 -0.375000 +v 0.749885 0.081628 -0.375000 +v 0.565233 0.049069 -0.437500 +v 0.619649 0.820234 -0.437500 +v 0.565233 0.049069 -0.375000 +v 0.434997 0.787675 -0.437500 +v 0.434997 0.787675 -0.375000 +v 0.379053 0.114569 -0.453125 +v 0.600024 0.335540 -0.421875 +v 0.379053 0.114569 -0.421875 +v 0.334858 0.158763 -0.453125 +v 0.600024 0.335540 -0.453125 +v 0.334858 0.158763 -0.421875 +v 0.555829 0.379734 -0.453125 +v 0.555829 0.379734 -0.421875 +v -0.749885 0.081628 0.437500 +v -0.619649 0.820234 0.375000 +v -0.749885 0.081628 0.375000 +v -0.565233 0.049069 0.437500 +v -0.619649 0.820234 0.437500 +v -0.565233 0.049069 0.375000 +v -0.434997 0.787675 0.437500 +v -0.434997 0.787675 0.375000 +v -0.379053 0.114569 0.453125 +v -0.600024 0.335540 0.421875 +v -0.379053 0.114569 0.421875 +v -0.334858 0.158763 0.453125 +v -0.600024 0.335540 0.453125 +v -0.334858 0.158763 0.421875 +v -0.555829 0.379734 0.453125 +v -0.555829 0.379734 0.421875 +v 0.619649 0.820234 0.375000 +v 0.749885 0.081628 0.437500 +v 0.749885 0.081628 0.375000 +v 0.619649 0.820234 0.437500 +v 0.565233 0.049069 0.437500 +v 0.434997 0.787675 0.437500 +v 0.565233 0.049069 0.375000 +v 0.434997 0.787675 0.375000 +v 0.600024 0.335540 0.421875 +v 0.379053 0.114569 0.453125 +v 0.379053 0.114569 0.421875 +v 0.600024 0.335540 0.453125 +v 0.334858 0.158763 0.453125 +v 0.555829 0.379734 0.453125 +v 0.334858 0.158763 0.421875 +v 0.555829 0.379734 0.421875 +v 0.000000 1.980546 1.233917 +v 0.183897 1.943967 0.733917 +v 0.000000 1.980546 0.733917 +v 0.183897 1.943967 1.233917 +v 0.339797 1.839797 0.733917 +v 0.339797 1.839797 1.233917 +v 0.443967 1.683897 0.733917 +v 0.443967 1.683897 1.233917 +v 0.480546 1.500000 0.733917 +v 0.480546 1.500000 1.233917 +v 0.443967 1.316103 0.733917 +v 0.443967 1.316103 1.233917 +v 0.339797 1.160202 0.733917 +v 0.183897 1.056033 1.233917 +v 0.183897 1.056033 0.733917 +v 0.000000 1.019453 0.733917 +v 0.000000 1.019453 1.233917 +v -0.183897 1.056033 0.733917 +v -0.183897 1.056033 1.233917 +v -0.339798 1.160202 0.733917 +v -0.339798 1.160202 1.233917 +v -0.443967 1.316103 0.733917 +v -0.443967 1.316103 1.233917 +v -0.480547 1.500000 0.733917 +v -0.480547 1.500000 1.233917 +v -0.443967 1.683897 0.733917 +v -0.443967 1.683897 1.233917 +v -0.339798 1.839797 0.733917 +v 0.339797 1.160202 1.233917 +v -0.339798 1.839797 1.233917 +v -0.183897 1.943967 0.733917 +v -0.183897 1.943967 1.233917 +v 0.490881 1.143354 -0.961093 +v -0.187500 0.922934 -0.961093 +v -0.606763 1.500000 -0.961093 +v 0.187500 2.077066 -0.961093 +v 0.361622 2.222140 -0.627943 +v 0.312593 2.071245 -0.856743 +v 0.736322 2.034969 -0.523593 +v 0.281250 2.365599 -0.523593 +v 0.490881 1.856646 -0.961093 +v 0.575049 2.067076 -0.627943 +v 0.446690 1.973818 -0.856743 +v 0.717021 1.871668 -0.627943 +v 0.588663 1.778410 -0.856743 +v 0.910144 1.500000 -0.523593 +v 0.606763 1.500000 -0.961093 +v 0.798543 1.620769 -0.627943 +v 0.639883 1.620769 -0.856743 +v 0.798543 1.379231 -0.627943 +v 0.639883 1.379231 -0.856743 +v 0.736322 0.965031 -0.523593 +v 0.717021 1.128333 -0.627943 +v 0.588663 1.221590 -0.856743 +v 0.575048 0.932924 -0.627943 +v 0.446690 1.026182 -0.856743 +v 0.361622 0.777860 -0.627943 +v 0.187500 0.922934 -0.961093 +v 0.281250 0.634401 -0.523593 +v 0.312593 0.928755 -0.856743 +v 0.131905 0.703221 -0.627943 +v 0.082876 0.854115 -0.856743 +v -0.131905 0.703221 -0.627943 +v -0.281250 0.634401 -0.523593 +v -0.082877 0.854115 -0.856743 +v -0.361622 0.777860 -0.627943 +v -0.312593 0.928755 -0.856743 +v -0.736322 0.965031 -0.523593 +v -0.490881 1.143354 -0.961093 +v -0.575049 0.932924 -0.627943 +v -0.446690 1.026182 -0.856743 +v -0.717021 1.128332 -0.627943 +v -0.588663 1.221591 -0.856743 +v -0.910144 1.500000 -0.523593 +v -0.798543 1.379231 -0.627943 +v -0.639883 1.379231 -0.856743 +v -0.798543 1.620769 -0.627943 +v -0.639883 1.620769 -0.856743 +v -0.736322 2.034969 -0.523593 +v -0.490881 1.856646 -0.961093 +v -0.717021 1.871668 -0.627943 +v -0.588663 1.778410 -0.856743 +v -0.575048 2.067076 -0.627943 +v -0.446690 1.973818 -0.856743 +v -0.281250 2.365598 -0.523593 +v -0.187500 2.077066 -0.961093 +v -0.361621 2.222140 -0.627943 +v -0.312593 2.071246 -0.856743 +v -0.131905 2.296779 -0.627943 +v -0.082876 2.145885 -0.856743 +v 0.131905 2.296779 -0.627943 +v 0.082876 2.145885 -0.856743 +v -0.606763 1.500000 0.961093 +v 0.490881 1.143354 0.961093 +v 0.490881 1.856646 0.961093 +v 0.187500 2.077066 0.961093 +v 0.361622 2.222140 0.627943 +v 0.281250 2.365599 0.523593 +v 0.736322 2.034969 0.523593 +v 0.575049 2.067076 0.627943 +v 0.446690 1.973818 0.856743 +v 0.717021 1.871668 0.627943 +v 0.910144 1.500000 0.523593 +v 0.798543 1.620769 0.627943 +v 0.606763 1.500000 0.961093 +v 0.588663 1.778410 0.856743 +v 0.798543 1.379231 0.627943 +v 0.736322 0.965031 0.523593 +v 0.717021 1.128333 0.627943 +v 0.588663 1.221590 0.856743 +v 0.575048 0.932924 0.627943 +v 0.361622 0.777860 0.627943 +v 0.281250 0.634401 0.523593 +v 0.187500 0.922934 0.961093 +v 0.312593 0.928755 0.856743 +v 0.131905 0.703221 0.627943 +v -0.131905 0.703221 0.627943 +v -0.281250 0.634401 0.523593 +v -0.187500 0.922934 0.961093 +v -0.082877 0.854115 0.856743 +v -0.361622 0.777860 0.627943 +v -0.736322 0.965031 0.523593 +v -0.575049 0.932924 0.627943 +v -0.490881 1.143354 0.961093 +v -0.312593 0.928755 0.856743 +v -0.717021 1.128332 0.627943 +v -0.798543 1.379231 0.627943 +v -0.910144 1.500000 0.523593 +v -0.639883 1.379231 0.856743 +v -0.798543 1.620769 0.627943 +v -0.736322 2.034969 0.523593 +v -0.717021 1.871668 0.627943 +v -0.490881 1.856646 0.961093 +v -0.588663 1.778410 0.856743 +v -0.575048 2.067076 0.627943 +v -0.361621 2.222140 0.627943 +v -0.281250 2.365598 0.523593 +v -0.187500 2.077066 0.961093 +v -0.312593 2.071246 0.856743 +v -0.131905 2.296779 0.627943 +v 0.131905 2.296779 0.627943 +v 0.082876 2.145885 0.856743 +v 0.000000 2.461093 -0.437500 +v 0.367794 2.387934 -0.562500 +v 0.000000 2.461093 -0.562500 +v 0.367794 2.387934 -0.437500 +v 0.679595 2.179595 -0.562500 +v 0.679595 2.179595 -0.437500 +v 0.887934 1.867794 -0.562500 +v 0.887934 1.867794 -0.437500 +v 0.961093 1.500000 -0.562500 +v 0.961093 1.500000 -0.437500 +v 0.887934 1.132205 -0.562500 +v 0.887934 1.132205 -0.437500 +v 0.679595 0.820405 -0.562500 +v 0.367794 0.612066 -0.437500 +v 0.367794 0.612066 -0.562500 +v 0.000000 0.538907 -0.562500 +v 0.000000 0.538907 -0.437500 +v -0.367794 0.612066 -0.562500 +v -0.367794 0.612066 -0.437500 +v -0.679595 0.820404 -0.562500 +v -0.679595 0.820404 -0.437500 +v -0.887934 1.132205 -0.562500 +v -0.887934 1.132205 -0.437500 +v -0.961093 1.500000 -0.562500 +v -0.961093 1.500000 -0.437500 +v -0.887934 1.867795 -0.562500 +v -0.887934 1.867795 -0.437500 +v -0.679595 2.179596 -0.562500 +v -0.679595 2.179596 -0.437500 +v -0.367794 2.387935 -0.562500 +v -0.367794 2.387935 -0.437500 +v 0.294635 2.211313 -0.562500 +v 0.294635 2.211313 -0.437500 +v 0.000000 2.269920 -0.437500 +v 0.544415 2.044415 -0.562500 +v 0.711313 1.794636 -0.562500 +v 0.711313 1.794636 -0.437500 +v 0.544415 2.044415 -0.437500 +v 0.769920 1.500000 -0.562500 +v 0.711313 1.205364 -0.562500 +v 0.711313 1.205364 -0.437500 +v 0.769920 1.500000 -0.437500 +v 0.544415 0.955585 -0.562500 +v 0.679595 0.820405 -0.437500 +v 0.294635 0.788687 -0.562500 +v 0.294635 0.788687 -0.437500 +v 0.544415 0.955585 -0.437500 +v 0.000000 0.730080 -0.562500 +v -0.294635 0.788687 -0.562500 +v 0.000000 0.730080 -0.437500 +v -0.544415 0.955584 -0.562500 +v -0.544415 0.955584 -0.437500 +v -0.294635 0.788687 -0.437500 +v -0.711313 1.205364 -0.562500 +v -0.769920 1.500000 -0.562500 +v -0.769920 1.500000 -0.437500 +v -0.711313 1.205364 -0.437500 +v -0.711313 1.794636 -0.562500 +v -0.544415 2.044416 -0.562500 +v -0.711313 1.794636 -0.437500 +v -0.294635 2.211313 -0.562500 +v -0.294635 2.211313 -0.437500 +v -0.544415 2.044416 -0.437500 +v 0.000000 2.269920 -0.562500 +v 0.367794 2.387934 0.562500 +v 0.000000 2.461093 0.437500 +v 0.000000 2.461093 0.562500 +v 0.679595 2.179595 0.437500 +v 0.367794 2.387934 0.437500 +v 0.887934 1.867794 0.562500 +v 0.679595 2.179595 0.562500 +v 0.961093 1.500000 0.562500 +v 0.887934 1.867794 0.437500 +v 0.887934 1.132205 0.562500 +v 0.961093 1.500000 0.437500 +v 0.679595 0.820405 0.562500 +v 0.887934 1.132205 0.437500 +v 0.367794 0.612066 0.437500 +v 0.679595 0.820405 0.437500 +v 0.000000 0.538907 0.562500 +v 0.367794 0.612066 0.562500 +v -0.367794 0.612066 0.562500 +v 0.000000 0.538907 0.437500 +v -0.679595 0.820404 0.562500 +v -0.367794 0.612066 0.437500 +v -0.887934 1.132205 0.562500 +v -0.679595 0.820404 0.437500 +v -0.961093 1.500000 0.562500 +v -0.887934 1.132205 0.437500 +v -0.887934 1.867795 0.562500 +v -0.961093 1.500000 0.437500 +v -0.679595 2.179596 0.562500 +v -0.887934 1.867795 0.437500 +v -0.367794 2.387935 0.562500 +v -0.679595 2.179596 0.437500 +v -0.367794 2.387935 0.437500 +v 0.000000 2.269920 0.562500 +v 0.294635 2.211313 0.562500 +v 0.294635 2.211313 0.437500 +v 0.000000 2.269920 0.437500 +v 0.544415 2.044415 0.562500 +v 0.544415 2.044415 0.437500 +v 0.711313 1.794636 0.562500 +v 0.711313 1.794636 0.437500 +v 0.769920 1.500000 0.562500 +v 0.769920 1.500000 0.437500 +v 0.711313 1.205364 0.562500 +v 0.711313 1.205364 0.437500 +v 0.544415 0.955585 0.562500 +v 0.544415 0.955585 0.437500 +v 0.294635 0.788687 0.562500 +v 0.294635 0.788687 0.437500 +v 0.000000 0.730080 0.562500 +v 0.000000 0.730080 0.437500 +v -0.294635 0.788687 0.562500 +v -0.294635 0.788687 0.437500 +v -0.544415 0.955584 0.562500 +v -0.544415 0.955584 0.437500 +v -0.711313 1.205364 0.562500 +v -0.711313 1.205364 0.437500 +v -0.769920 1.500000 0.562500 +v -0.769920 1.500000 0.437500 +v -0.711313 1.794636 0.562500 +v -0.711313 1.794636 0.437500 +v -0.544415 2.044416 0.562500 +v -0.544415 2.044416 0.437500 +v -0.294635 2.211313 0.562500 +v -0.294635 2.211313 0.437500 +v 0.613304 2.201693 0.000000 +v 0.657498 2.245887 -0.312500 +v 0.569110 2.157499 -0.312500 +v 0.701693 2.113304 -0.437500 +v 0.613304 2.201693 -0.437500 +v 0.701693 2.113304 0.000000 +v 0.745887 2.157498 0.312500 +v 0.657498 2.069110 0.312500 +v 0.657498 2.245887 0.312500 +v 0.701693 2.113304 0.437500 +v 0.701693 2.290081 0.000000 +v 0.790081 2.201693 0.000000 +v 0.613304 2.024916 0.437500 +v 0.569110 2.157499 0.312500 +v 0.613304 2.201693 0.437500 +v 0.745887 2.157498 -0.312500 +v 0.657498 2.069110 -0.312500 +v 0.524916 2.113304 -0.437500 +v -0.613304 2.201693 0.000000 +v -0.657498 2.245887 -0.312500 +v -0.701693 2.290081 0.000000 +v -0.701693 2.113304 -0.437500 +v -0.745887 2.157498 -0.312500 +v -0.701693 2.113304 0.000000 +v -0.745887 2.157498 0.312500 +v -0.790081 2.201693 0.000000 +v -0.701693 2.113304 0.437500 +v -0.657498 2.245887 0.312500 +v -0.657498 2.069110 0.312500 +v -0.613304 2.201693 0.437500 +v -0.569110 2.157499 0.312500 +v -0.657498 2.069110 -0.312500 +v -0.569110 2.157499 -0.312500 +v -0.613304 2.201693 -0.437500 +v 0.613304 0.798307 0.000000 +v 0.657498 0.754113 -0.312500 +v 0.701693 0.709919 0.000000 +v 0.613304 0.798307 -0.437500 +v 0.745887 0.842502 -0.312500 +v 0.701693 0.886696 0.000000 +v 0.745887 0.842502 0.312500 +v 0.790081 0.798307 0.000000 +v 0.613304 0.798307 0.437500 +v 0.657498 0.754113 0.312500 +v 0.657498 0.930890 0.312500 +v 0.701693 0.886696 0.437500 +v 0.569110 0.842502 0.312500 +v 0.657498 0.930890 -0.312500 +v 0.569110 0.842502 -0.312500 +v 0.701693 0.886696 -0.437500 +v -0.613304 0.798307 0.000000 +v -0.657498 0.754113 -0.312500 +v -0.569110 0.842502 -0.312500 +v -0.745887 0.842502 -0.312500 +v -0.613304 0.798307 -0.437500 +v -0.701693 0.886696 0.000000 +v -0.745887 0.842502 0.312500 +v -0.657498 0.930890 0.312500 +v -0.613304 0.798307 0.437500 +v -0.701693 0.886696 0.437500 +v -0.701693 0.709919 0.000000 +v -0.790081 0.798307 0.000000 +v -0.613304 0.975084 0.437500 +v -0.569110 0.842502 0.312500 +v -0.657498 0.754113 0.312500 +v -0.657498 0.930890 -0.312500 +v -0.524916 0.886696 -0.437500 +v -0.701693 0.886696 -0.437500 +v 0.000000 2.064916 0.777541 +v 0.113655 1.774387 0.914054 +v 0.216184 2.021915 0.777541 +v 0.000000 1.796994 -0.914054 +v 0.216184 2.021915 -0.777540 +v 0.113655 1.774387 -0.914054 +v 0.000000 2.414054 -0.296994 +v 0.367794 2.387934 0.000000 +v 0.349793 2.344476 -0.296994 +v 0.297552 2.218354 0.564917 +v 0.000000 2.277541 0.564917 +v 0.000000 1.500000 -0.961093 +v 0.000000 2.277541 -0.564916 +v 0.297552 2.218354 -0.564916 +v 0.349793 2.344476 0.296994 +v 0.000000 2.414054 0.296994 +v 0.000000 1.796994 0.914054 +v 0.000000 1.500000 0.961093 +v 0.000000 2.064916 -0.777540 +v 0.000000 2.461093 0.000000 +v 0.210007 1.710007 0.914054 +v 0.399456 1.899456 0.777541 +v 0.210007 1.710006 -0.914054 +v 0.679596 2.179595 0.000000 +v 0.646334 2.146334 -0.296994 +v 0.549804 2.049804 0.564917 +v 0.549804 2.049804 -0.564916 +v 0.646334 2.146334 0.296994 +v 0.399456 1.899456 -0.777540 +v 0.844476 1.849793 0.296994 +v 0.887934 1.867794 0.000000 +v 0.521915 1.716184 0.777541 +v 0.274387 1.613655 -0.914054 +v 0.844476 1.849793 -0.296994 +v 0.718354 1.797552 0.564917 +v 0.718354 1.797552 -0.564916 +v 0.274387 1.613655 0.914054 +v 0.521915 1.716184 -0.777540 +v 0.296994 1.500000 0.914054 +v 0.564916 1.500000 -0.777540 +v 0.914054 1.500000 0.296994 +v 0.961093 1.500000 0.000000 +v 0.564916 1.500000 0.777541 +v 0.296994 1.500000 -0.914054 +v 0.914054 1.500000 -0.296994 +v 0.777541 1.500000 0.564917 +v 0.777541 1.500000 -0.564916 +v 0.718354 1.202448 -0.564916 +v 0.844476 1.150206 0.296994 +v 0.274387 1.386345 0.914054 +v 0.521915 1.283816 -0.777540 +v 0.887934 1.132205 0.000000 +v 0.521915 1.283816 0.777541 +v 0.274387 1.386345 -0.914054 +v 0.844476 1.150206 -0.296994 +v 0.718354 1.202448 0.564917 +v 0.549804 0.950195 0.564917 +v 0.210007 1.289993 -0.914054 +v 0.549804 0.950195 -0.564916 +v 0.646334 0.853666 0.296994 +v 0.210007 1.289993 0.914054 +v 0.399456 1.100543 -0.777540 +v 0.679595 0.820404 0.000000 +v 0.399456 1.100543 0.777541 +v 0.646334 0.853666 -0.296994 +v 0.349793 0.655524 -0.296994 +v 0.297552 0.781646 0.564916 +v 0.113655 1.225613 -0.914054 +v 0.297552 0.781646 -0.564916 +v 0.349793 0.655524 0.296994 +v 0.113655 1.225613 0.914054 +v 0.216184 0.978085 -0.777540 +v 0.367794 0.612066 0.000000 +v 0.216184 0.978085 0.777541 +v 0.000000 0.935084 0.777541 +v 0.000000 1.203006 -0.914054 +v 0.000000 0.585946 -0.296994 +v 0.000000 0.722459 0.564916 +v 0.000000 0.722459 -0.564916 +v 0.000000 0.585946 0.296994 +v 0.000000 1.203006 0.914054 +v 0.000000 0.935084 -0.777540 +v 0.000000 0.538907 0.000000 +v -0.297552 0.781646 -0.564916 +v -0.216184 0.978085 -0.777540 +v -0.367795 0.612066 0.000000 +v -0.113655 1.225613 0.914054 +v -0.216184 0.978085 0.777541 +v -0.113655 1.225613 -0.914054 +v -0.349794 0.655524 -0.296994 +v -0.297552 0.781646 0.564916 +v -0.349793 0.655524 0.296994 +v -0.646334 0.853666 0.296994 +v -0.210007 1.289993 0.914054 +v -0.549804 0.950196 -0.564916 +v -0.399456 1.100544 -0.777540 +v -0.679596 0.820405 0.000000 +v -0.399456 1.100544 0.777541 +v -0.210007 1.289994 -0.914054 +v -0.646334 0.853666 -0.296994 +v -0.549804 0.950196 0.564917 +v -0.718354 1.202448 -0.564916 +v -0.844476 1.150207 0.296994 +v -0.274387 1.386345 0.914054 +v -0.521915 1.283816 -0.777540 +v -0.887934 1.132206 0.000000 +v -0.521915 1.283816 0.777541 +v -0.274387 1.386345 -0.914054 +v -0.844476 1.150207 -0.296994 +v -0.718354 1.202448 0.564917 +v -0.777541 1.500000 0.564917 +v -0.296994 1.500000 -0.914054 +v -0.777541 1.500000 -0.564916 +v -0.914054 1.500000 0.296994 +v -0.296994 1.500000 0.914054 +v -0.564916 1.500000 -0.777540 +v -0.961093 1.500000 0.000000 +v -0.564916 1.500000 0.777541 +v -0.914054 1.500000 -0.296994 +v -0.521914 1.716184 -0.777540 +v -0.274387 1.613655 -0.914054 +v -0.844476 1.849794 -0.296994 +v -0.718354 1.797552 0.564917 +v -0.718354 1.797552 -0.564916 +v -0.844476 1.849793 0.296994 +v -0.274387 1.613655 0.914054 +v -0.887934 1.867795 0.000000 +v -0.521914 1.716184 0.777541 +v -0.679595 2.179596 0.000000 +v -0.210007 1.710007 0.914054 +v -0.399456 1.899456 0.777541 +v -0.210006 1.710007 -0.914054 +v -0.646333 2.146334 -0.296994 +v -0.549804 2.049804 0.564917 +v -0.549804 2.049804 -0.564916 +v -0.646333 2.146334 0.296994 +v -0.399456 1.899456 -0.777540 +v -0.113655 1.774387 0.914054 +v -0.297551 2.218354 -0.564916 +v -0.216184 2.021915 -0.777540 +v -0.367794 2.387934 0.000000 +v -0.216184 2.021915 0.777541 +v -0.113655 1.774387 -0.914054 +v -0.349793 2.344476 -0.296994 +v -0.297551 2.218354 0.564917 +v -0.349793 2.344476 0.296994 +v -0.937500 0.187500 0.437500 +v 0.312593 2.071245 0.856743 +v 0.639883 1.620769 0.856743 +v 0.639883 1.379231 0.856743 +v 0.446690 1.026182 0.856743 +v 0.082876 0.854115 0.856743 +v -0.446690 1.026182 0.856743 +v -0.588663 1.221591 0.856743 +v -0.639883 1.620769 0.856743 +v -0.446690 1.973818 0.856743 +v -0.082876 2.145885 0.856743 +v 0.524916 2.113304 0.437500 +v 0.613304 2.024916 -0.437500 +v -0.613304 2.024916 0.437500 +v -0.524916 2.113304 0.437500 +v -0.524916 2.113304 -0.437500 +v -0.613304 2.024916 -0.437500 +v 0.613304 0.975084 0.437500 +v 0.524916 0.886696 0.437500 +v 0.524916 0.886696 -0.437500 +v 0.613304 0.975084 -0.437500 +v -0.524916 0.886696 0.437500 +v -0.613304 0.975084 -0.437500 +v 0.284663 2.432218 -0.215667 +v 0.241696 2.328486 -0.378320 +v 0.261693 2.376764 -0.198249 +v 0.264666 2.383941 -0.395739 +v 0.414923 2.256733 -0.378320 +v 0.437894 2.312188 -0.395739 +v 0.434921 2.305010 -0.198249 +v 0.386817 2.352198 -0.335715 +v 0.416453 2.423745 -0.293109 +v 0.393482 2.368290 -0.275691 +v 0.335740 2.392208 -0.275691 +v 0.329074 2.376116 -0.335715 +v 0.457891 2.360465 -0.215667 +v 0.409787 2.407653 -0.353133 +v 0.358710 2.447663 -0.293109 +v 0.352044 2.431571 -0.353133 +v -0.261693 2.376764 -0.198249 +v -0.264666 2.383941 -0.395739 +v -0.284663 2.432218 -0.215667 +v -0.414923 2.256733 -0.378320 +v -0.241696 2.328486 -0.378320 +v -0.434921 2.305010 -0.198249 +v -0.437894 2.312188 -0.395739 +v -0.457891 2.360465 -0.215667 +v -0.416453 2.423745 -0.293109 +v -0.386817 2.352198 -0.335715 +v -0.393482 2.368290 -0.275691 +v -0.329074 2.376116 -0.335715 +v -0.335740 2.392208 -0.275691 +v -0.409787 2.407653 -0.353133 +v -0.358710 2.447663 -0.293109 +v -0.352044 2.431571 -0.353133 +v 0.261693 2.376764 0.198249 +v 0.264666 2.383941 0.395739 +v 0.284663 2.432218 0.215667 +v 0.414923 2.256733 0.378320 +v 0.241696 2.328486 0.378320 +v 0.434921 2.305010 0.198249 +v 0.437894 2.312188 0.395739 +v 0.457891 2.360465 0.215667 +v 0.416453 2.423745 0.293109 +v 0.386817 2.352198 0.335715 +v 0.393482 2.368290 0.275691 +v 0.329074 2.376116 0.335715 +v 0.335740 2.392208 0.275691 +v 0.409787 2.407653 0.353133 +v 0.358710 2.447663 0.293109 +v 0.352044 2.431571 0.353133 +v -0.284663 2.432218 0.215667 +v -0.241696 2.328486 0.378320 +v -0.261693 2.376764 0.198249 +v -0.264666 2.383941 0.395739 +v -0.414923 2.256733 0.378320 +v -0.437894 2.312188 0.395739 +v -0.434921 2.305010 0.198249 +v -0.386817 2.352198 0.335715 +v -0.416453 2.423745 0.293109 +v -0.393482 2.368290 0.275691 +v -0.335740 2.392208 0.275691 +v -0.329074 2.376116 0.335715 +v -0.457891 2.360465 0.215667 +v -0.409787 2.407653 0.353133 +v -0.358710 2.447663 0.293109 +v -0.352044 2.431571 0.353133 +v 0.261693 0.623236 -0.198249 +v 0.264666 0.616059 -0.395739 +v 0.284663 0.567782 -0.215667 +v 0.414923 0.743267 -0.378320 +v 0.241696 0.671514 -0.378320 +v 0.434921 0.694990 -0.198249 +v 0.437894 0.687812 -0.395739 +v 0.457891 0.639535 -0.215667 +v 0.416453 0.576255 -0.293109 +v 0.386817 0.647802 -0.335715 +v 0.393482 0.631710 -0.275691 +v 0.329074 0.623884 -0.335715 +v 0.335740 0.607792 -0.275691 +v 0.409787 0.592347 -0.353133 +v 0.358710 0.552337 -0.293109 +v 0.352044 0.568430 -0.353133 +v -0.284663 0.567782 -0.215667 +v -0.241696 0.671514 -0.378320 +v -0.261693 0.623236 -0.198249 +v -0.264666 0.616059 -0.395739 +v -0.414923 0.743267 -0.378320 +v -0.437894 0.687812 -0.395739 +v -0.434921 0.694990 -0.198249 +v -0.386817 0.647802 -0.335715 +v -0.416453 0.576255 -0.293109 +v -0.393482 0.631710 -0.275691 +v -0.335740 0.607792 -0.275691 +v -0.329074 0.623884 -0.335715 +v -0.457891 0.639535 -0.215667 +v -0.409787 0.592347 -0.353133 +v -0.358710 0.552337 -0.293109 +v -0.352044 0.568430 -0.353133 +v 0.284663 0.567782 0.215667 +v 0.241696 0.671514 0.378320 +v 0.261693 0.623236 0.198249 +v 0.264666 0.616059 0.395739 +v 0.414923 0.743267 0.378320 +v 0.437894 0.687812 0.395739 +v 0.434921 0.694990 0.198249 +v 0.386817 0.647802 0.335715 +v 0.416453 0.576255 0.293109 +v 0.393482 0.631710 0.275691 +v 0.335740 0.607792 0.275691 +v 0.329074 0.623884 0.335715 +v 0.457891 0.639535 0.215667 +v 0.409787 0.592347 0.353133 +v 0.358710 0.552337 0.293109 +v 0.352044 0.568430 0.353133 +v -0.261693 0.623236 0.198249 +v -0.264666 0.616059 0.395739 +v -0.284663 0.567782 0.215667 +v -0.414923 0.743267 0.378320 +v -0.241696 0.671514 0.378320 +v -0.434921 0.694990 0.198249 +v -0.437894 0.687812 0.395739 +v -0.457891 0.639535 0.215667 +v -0.416453 0.576255 0.293109 +v -0.386817 0.647802 0.335715 +v -0.393482 0.631710 0.275691 +v -0.329074 0.623884 0.335715 +v -0.335740 0.607792 0.275691 +v -0.409787 0.592347 0.353133 +v -0.358710 0.552337 0.293109 +v -0.352044 0.568430 0.353133 +v 0.292716 2.062386 0.759617 +v 0.344670 2.133894 0.582840 +v 0.266740 2.026632 0.715423 +v 0.370646 2.169648 0.627035 +v 0.496360 2.023684 0.582840 +v 0.522337 2.059438 0.627035 +v 0.418430 1.916423 0.715423 +v 0.444407 1.952176 0.759617 +v 0.419820 2.024667 0.715423 +v 0.395233 2.097157 0.759617 +v 0.369257 2.061403 0.715423 +v 0.395233 2.097157 0.671229 +v 0.445797 2.060421 0.671229 +v 0.421210 2.132911 0.715423 +v 0.445797 2.060421 0.759617 +v 0.471774 2.096174 0.715423 +v 0.625315 1.395397 0.759617 +v 0.709378 1.368084 0.582840 +v 0.583284 1.409054 0.715423 +v 0.751409 1.354427 0.627035 +v 0.651437 1.189760 0.582840 +v 0.567375 1.217074 0.759617 +v 0.525343 1.230731 0.715423 +v 0.628719 1.262858 0.715423 +v 0.690064 1.308643 0.759617 +v 0.648033 1.322299 0.715423 +v 0.690064 1.308643 0.671229 +v 0.670751 1.249202 0.671229 +v 0.693468 1.176104 0.627035 +v 0.732095 1.294986 0.715423 +v 0.670751 1.249202 0.759617 +v 0.712782 1.235545 0.715423 +v 0.093750 0.872966 0.759617 +v 0.093750 0.784577 0.582840 +v 0.093750 0.917160 0.715423 +v -0.093750 0.740383 0.627035 +v -0.093750 0.784577 0.582840 +v -0.093750 0.872966 0.759617 +v -0.093750 0.917160 0.715423 +v -0.031250 0.828771 0.715423 +v 0.031250 0.784577 0.759617 +v 0.031250 0.828771 0.715423 +v 0.031250 0.784577 0.671229 +v -0.031250 0.784577 0.671229 +v 0.093750 0.740383 0.627035 +v 0.031250 0.740383 0.715423 +v -0.031250 0.784577 0.759617 +v -0.031250 0.740383 0.715423 +v -0.567375 1.217074 0.759617 +v -0.651437 1.189761 0.582840 +v -0.525344 1.230731 0.715423 +v -0.751409 1.354427 0.627035 +v -0.709378 1.368084 0.582840 +v -0.625316 1.395398 0.759617 +v -0.583284 1.409054 0.715423 +v -0.648033 1.322300 0.715423 +v -0.670751 1.249202 0.759617 +v -0.628720 1.262859 0.715423 +v -0.670751 1.249202 0.671229 +v -0.690064 1.308643 0.671229 +v -0.693468 1.176104 0.627035 +v -0.712782 1.235545 0.715423 +v -0.690064 1.308643 0.759617 +v -0.732096 1.294986 0.715423 +v -0.444407 1.952177 0.759617 +v -0.496360 2.023685 0.582840 +v -0.418430 1.916423 0.715423 +v -0.370646 2.169648 0.627035 +v -0.344669 2.133894 0.582840 +v -0.266739 2.026633 0.715423 +v -0.292716 2.062387 0.759617 +v -0.369256 2.061404 0.715423 +v -0.445797 2.060421 0.759617 +v -0.419820 2.024667 0.715423 +v -0.445797 2.060421 0.671229 +v -0.395233 2.097158 0.671229 +v -0.522337 2.059438 0.627035 +v -0.471773 2.096175 0.715423 +v -0.395233 2.097158 0.759617 +v -0.421210 2.132912 0.715423 +v 0.344670 2.133894 -0.582840 +v 0.292716 2.062386 -0.759617 +v 0.266740 2.026632 -0.715423 +v 0.496360 2.023684 -0.582840 +v 0.370646 2.169648 -0.627035 +v 0.418430 1.916423 -0.715423 +v 0.522337 2.059438 -0.627035 +v 0.444407 1.952176 -0.759617 +v 0.395233 2.097157 -0.759617 +v 0.419820 2.024667 -0.715423 +v 0.369257 2.061403 -0.715423 +v 0.395233 2.097157 -0.671229 +v 0.445797 2.060421 -0.671229 +v 0.445797 2.060421 -0.759617 +v 0.421210 2.132911 -0.715423 +v 0.471774 2.096174 -0.715423 +v 0.709378 1.368084 -0.582840 +v 0.625315 1.395397 -0.759617 +v 0.583284 1.409054 -0.715423 +v 0.693468 1.176104 -0.627035 +v 0.751409 1.354427 -0.627035 +v 0.525343 1.230731 -0.715423 +v 0.651437 1.189760 -0.582840 +v 0.567375 1.217074 -0.759617 +v 0.690064 1.308643 -0.759617 +v 0.628719 1.262858 -0.715423 +v 0.648033 1.322299 -0.715423 +v 0.690064 1.308643 -0.671229 +v 0.670751 1.249202 -0.671229 +v 0.670751 1.249202 -0.759617 +v 0.732095 1.294986 -0.715423 +v 0.712782 1.235545 -0.715423 +v 0.093750 0.784577 -0.582840 +v 0.093750 0.872966 -0.759617 +v 0.093750 0.917160 -0.715423 +v -0.093750 0.740383 -0.627035 +v 0.093750 0.740383 -0.627035 +v -0.093750 0.784577 -0.582840 +v -0.093750 0.872966 -0.759617 +v -0.093750 0.917160 -0.715423 +v 0.031250 0.784577 -0.759617 +v -0.031250 0.828771 -0.715423 +v 0.031250 0.828771 -0.715423 +v 0.031250 0.784577 -0.671229 +v -0.031250 0.784577 -0.671229 +v -0.031250 0.784577 -0.759617 +v 0.031250 0.740383 -0.715423 +v -0.031250 0.740383 -0.715423 +v -0.651437 1.189761 -0.582840 +v -0.567375 1.217074 -0.759617 +v -0.525344 1.230731 -0.715423 +v -0.751409 1.354427 -0.627035 +v -0.693468 1.176104 -0.627035 +v -0.709378 1.368084 -0.582840 +v -0.625316 1.395398 -0.759617 +v -0.583284 1.409054 -0.715423 +v -0.670751 1.249202 -0.759617 +v -0.648033 1.322300 -0.715423 +v -0.628720 1.262859 -0.715423 +v -0.670751 1.249202 -0.671229 +v -0.690064 1.308643 -0.671229 +v -0.690064 1.308643 -0.759617 +v -0.712782 1.235545 -0.715423 +v -0.732096 1.294986 -0.715423 +v -0.496360 2.023685 -0.582840 +v -0.444407 1.952177 -0.759617 +v -0.418430 1.916423 -0.715423 +v -0.344669 2.133894 -0.582840 +v -0.522337 2.059438 -0.627035 +v -0.266739 2.026633 -0.715423 +v -0.370646 2.169648 -0.627035 +v -0.292716 2.062387 -0.759617 +v -0.445797 2.060421 -0.759617 +v -0.369256 2.061404 -0.715423 +v -0.419820 2.024667 -0.715423 +v -0.445797 2.060421 -0.671229 +v -0.395233 2.097158 -0.671229 +v -0.395233 2.097158 -0.759617 +v -0.471773 2.096175 -0.715423 +v -0.421210 2.132912 -0.715423 +v 0.932218 1.215337 -0.215667 +v 0.828486 1.258304 -0.378320 +v 0.876764 1.238307 -0.198249 +v 0.883941 1.235334 -0.395739 +v 0.756733 1.085077 -0.378320 +v 0.860465 1.042109 -0.215667 +v 0.805010 1.065079 -0.198249 +v 0.852198 1.113183 -0.335715 +v 0.923745 1.083547 -0.293109 +v 0.868290 1.106518 -0.275691 +v 0.876116 1.170926 -0.335715 +v 0.892208 1.164260 -0.275691 +v 0.812188 1.062106 -0.395739 +v 0.907653 1.090213 -0.353133 +v 0.947663 1.141290 -0.293109 +v 0.931570 1.147956 -0.353133 +v 0.828486 1.741696 -0.378320 +v 0.932218 1.784663 -0.215667 +v 0.876764 1.761693 -0.198249 +v 0.756733 1.914923 -0.378320 +v 0.883941 1.764666 -0.395739 +v 0.805010 1.934921 -0.198249 +v 0.812188 1.937894 -0.395739 +v 0.860465 1.957891 -0.215667 +v 0.923745 1.916453 -0.293109 +v 0.852198 1.886817 -0.335715 +v 0.868290 1.893483 -0.275691 +v 0.892208 1.835740 -0.275691 +v 0.876116 1.829074 -0.335715 +v 0.931570 1.852044 -0.353133 +v 0.907653 1.909787 -0.353133 +v 0.947663 1.858710 -0.293109 +v 0.828486 1.258304 0.378320 +v 0.932218 1.215337 0.215667 +v 0.876764 1.238307 0.198249 +v 0.756733 1.085077 0.378320 +v 0.883941 1.235334 0.395739 +v 0.860465 1.042109 0.215667 +v 0.812188 1.062106 0.395739 +v 0.805010 1.065079 0.198249 +v 0.868290 1.106518 0.275691 +v 0.907653 1.090213 0.353133 +v 0.852198 1.113183 0.335715 +v 0.892208 1.164260 0.275691 +v 0.876116 1.170926 0.335715 +v 0.947663 1.141290 0.293109 +v 0.931570 1.147956 0.353133 +v 0.932218 1.784663 0.215667 +v 0.828486 1.741696 0.378320 +v 0.876764 1.761693 0.198249 +v 0.883941 1.764666 0.395739 +v 0.756733 1.914923 0.378320 +v 0.812188 1.937894 0.395739 +v 0.805010 1.934921 0.198249 +v 0.860465 1.957891 0.215667 +v 0.852198 1.886817 0.335715 +v 0.923745 1.916453 0.293109 +v 0.868290 1.893483 0.275691 +v 0.876116 1.829074 0.335715 +v 0.892208 1.835740 0.275691 +v 0.931570 1.852044 0.353133 +v 0.907653 1.909787 0.353133 +v 0.947663 1.858710 0.293109 +v -0.828486 1.258304 -0.378320 +v -0.932218 1.215337 -0.215667 +v -0.876764 1.238307 -0.198249 +v -0.756733 1.085077 -0.378320 +v -0.883941 1.235334 -0.395739 +v -0.805010 1.065079 -0.198249 +v -0.812188 1.062106 -0.395739 +v -0.860465 1.042109 -0.215667 +v -0.923745 1.083547 -0.293109 +v -0.852198 1.113183 -0.335715 +v -0.868290 1.106517 -0.275691 +v -0.892208 1.164260 -0.275691 +v -0.876116 1.170926 -0.335715 +v -0.931570 1.147956 -0.353133 +v -0.907653 1.090213 -0.353133 +v -0.947663 1.141290 -0.293109 +v -0.932218 1.784663 -0.215667 +v -0.828486 1.741696 -0.378320 +v -0.876764 1.761693 -0.198249 +v -0.883941 1.764666 -0.395739 +v -0.756733 1.914923 -0.378320 +v -0.860465 1.957891 -0.215667 +v -0.805010 1.934921 -0.198249 +v -0.852198 1.886817 -0.335715 +v -0.923745 1.916453 -0.293109 +v -0.868290 1.893482 -0.275691 +v -0.876116 1.829074 -0.335715 +v -0.892208 1.835740 -0.275691 +v -0.812188 1.937894 -0.395739 +v -0.907653 1.909787 -0.353133 +v -0.947663 1.858710 -0.293109 +v -0.931570 1.852044 -0.353133 +v -0.932218 1.215337 0.215667 +v -0.828486 1.258304 0.378320 +v -0.876764 1.238307 0.198249 +v -0.883941 1.235334 0.395739 +v -0.756733 1.085077 0.378320 +v -0.812188 1.062106 0.395739 +v -0.805010 1.065079 0.198249 +v -0.860465 1.042109 0.215667 +v -0.852198 1.113183 0.335715 +v -0.923745 1.083547 0.293109 +v -0.868290 1.106517 0.275691 +v -0.876116 1.170926 0.335715 +v -0.892208 1.164260 0.275691 +v -0.931570 1.147956 0.353133 +v -0.907653 1.090213 0.353133 +v -0.947663 1.141290 0.293109 +v -0.828486 1.741696 0.378320 +v -0.932218 1.784663 0.215667 +v -0.876764 1.761693 0.198249 +v -0.756733 1.914923 0.378320 +v -0.883941 1.764666 0.395739 +v -0.860465 1.957891 0.215667 +v -0.812188 1.937894 0.395739 +v -0.805010 1.934921 0.198249 +v -0.868290 1.893482 0.275691 +v -0.907653 1.909787 0.353133 +v -0.852198 1.886817 0.335715 +v -0.892208 1.835740 0.275691 +v -0.876116 1.829074 0.335715 +v -0.947663 1.858710 0.293109 +v -0.931570 1.852044 0.353133 +v 0.923745 1.083547 0.293109 +v -0.923745 1.916453 0.293109 +v -0.807442 1.959695 -1.252000 +v -0.807442 1.959695 -0.439500 +v -1.212871 1.460005 -0.439500 +v -0.905119 1.405740 -0.439500 +v -0.905119 1.405740 -1.252000 +v -1.212871 1.460005 -1.252000 +v -1.115194 2.013960 -1.252000 +v -1.115194 2.013960 -0.439500 +v -1.126047 1.952409 -1.189500 +v -1.202018 1.521556 -1.189500 +v -1.191165 1.583106 -1.189500 +v -1.180312 1.644657 -1.189500 +v -1.169459 1.706207 -1.189500 +v -1.158606 1.767758 -1.189500 +v -1.136900 1.890859 -1.189500 +v -1.147753 1.829308 -1.189500 +v -1.136900 1.890859 -0.502000 +v -1.180312 1.644657 -0.939500 +v -1.231010 1.717060 -0.939500 +v -1.169459 1.706207 -0.939500 +v -1.126047 1.952409 -0.564500 +v -1.136900 1.890859 -0.627000 +v -1.136900 1.890859 -0.564500 +v -1.202018 1.521556 -1.064500 +v -1.252716 1.593959 -1.064500 +v -1.191165 1.583106 -1.064500 +v -1.126047 1.952409 -0.689500 +v -1.136900 1.890859 -0.752000 +v -1.136900 1.890859 -0.689500 +v -1.187598 1.963262 -0.627000 +v -1.198451 1.901712 -0.627000 +v -1.126047 1.952409 -0.814500 +v -1.136900 1.890859 -0.877000 +v -1.136900 1.890859 -0.814500 +v -1.147753 1.829308 -0.752000 +v -1.220157 1.778611 -0.752000 +v -1.158606 1.767758 -0.752000 +v -1.126047 1.952409 -0.939500 +v -1.136900 1.890859 -1.002000 +v -1.136900 1.890859 -0.939500 +v -1.191165 1.583106 -0.939500 +v -1.252716 1.593959 -0.877000 +v -1.191165 1.583106 -0.877000 +v -1.126047 1.952409 -1.064500 +v -1.136900 1.890859 -1.127000 +v -1.136900 1.890859 -1.064500 +v -1.180312 1.644657 -0.877000 +v -1.231010 1.717060 -0.877000 +v -1.241863 1.655510 -0.877000 +v -1.147753 1.829308 -0.502000 +v -1.147753 1.829308 -0.564500 +v -1.147753 1.829308 -0.627000 +v -1.147753 1.829308 -0.689500 +v -1.147753 1.829308 -0.814500 +v -1.147753 1.829308 -0.877000 +v -1.147753 1.829308 -0.939500 +v -1.147753 1.829308 -1.002000 +v -1.147753 1.829308 -1.064500 +v -1.147753 1.829308 -1.127000 +v -1.158606 1.767758 -0.502000 +v -1.169459 1.706207 -1.064500 +v -1.231010 1.717060 -1.002000 +v -1.169459 1.706207 -1.002000 +v -1.158606 1.767758 -0.627000 +v -1.158606 1.767758 -0.564500 +v -1.202018 1.521556 -1.002000 +v -1.252716 1.593959 -1.002000 +v -1.263569 1.532409 -1.002000 +v -1.158606 1.767758 -0.689500 +v -1.209304 1.840161 -1.189500 +v -1.209304 1.840161 -1.127000 +v -1.158606 1.767758 -0.877000 +v -1.158606 1.767758 -0.814500 +v -1.187598 1.963262 -0.564500 +v -1.158606 1.767758 -1.002000 +v -1.158606 1.767758 -0.939500 +v -1.220157 1.778611 -0.689500 +v -1.209304 1.840161 -0.689500 +v -1.158606 1.767758 -1.064500 +v -1.158606 1.767758 -1.127000 +v -1.180312 1.644657 -0.814500 +v -1.231010 1.717060 -0.814500 +v -1.169459 1.706207 -0.814500 +v -1.169459 1.706207 -0.502000 +v -1.169459 1.706207 -0.564500 +v -1.169459 1.706207 -0.627000 +v -1.169459 1.706207 -0.689500 +v -1.169459 1.706207 -0.752000 +v -1.169459 1.706207 -0.877000 +v -1.169459 1.706207 -1.127000 +v -1.180312 1.644657 -0.502000 +v -1.202018 1.521556 -0.939500 +v -1.252716 1.593959 -0.939500 +v -1.180312 1.644657 -0.627000 +v -1.180312 1.644657 -0.564500 +v -1.187598 1.963262 -0.502000 +v -1.198451 1.901712 -0.502000 +v -1.180312 1.644657 -0.752000 +v -1.180312 1.644657 -0.689500 +v -1.220157 1.778611 -0.627000 +v -1.191165 1.583106 -0.814500 +v -1.252716 1.593959 -0.752000 +v -1.191165 1.583106 -0.752000 +v -1.180312 1.644657 -1.002000 +v -1.231010 1.717060 -0.752000 +v -1.241863 1.655510 -0.752000 +v -1.180312 1.644657 -1.127000 +v -1.180312 1.644657 -1.064500 +v -1.191165 1.583106 -0.502000 +v -1.191165 1.583106 -0.564500 +v -1.191165 1.583106 -0.627000 +v -1.191165 1.583106 -0.689500 +v -1.191165 1.583106 -1.002000 +v -1.191165 1.583106 -1.127000 +v -1.202018 1.521556 -0.502000 +v -1.202018 1.521556 -0.877000 +v -1.263569 1.532409 -0.877000 +v -1.202018 1.521556 -0.627000 +v -1.202018 1.521556 -0.564500 +v -1.209304 1.840161 -1.002000 +v -1.202018 1.521556 -0.752000 +v -1.202018 1.521556 -0.689500 +v -1.187598 1.963262 -1.127000 +v -1.126047 1.952409 -1.127000 +v -1.202018 1.521556 -0.814500 +v -1.220157 1.778611 -0.564500 +v -1.209304 1.840161 -0.564500 +v -1.231010 1.717060 -0.689500 +v -1.202018 1.521556 -1.127000 +v -1.252716 1.593959 -0.814500 +v -1.126047 1.952409 -0.502000 +v -1.126047 1.952409 -0.627000 +v -1.126047 1.952409 -0.752000 +v -1.126047 1.952409 -0.877000 +v -1.126047 1.952409 -1.002000 +v -1.198451 1.901712 -0.564500 +v -1.198451 1.901712 -0.689500 +v -1.187598 1.963262 -0.752000 +v -1.198451 1.901712 -0.814500 +v -1.198451 1.901712 -0.752000 +v -1.187598 1.963262 -0.877000 +v -1.198451 1.901712 -0.939500 +v -1.198451 1.901712 -0.877000 +v -1.187598 1.963262 -1.002000 +v -1.198451 1.901712 -1.064500 +v -1.198451 1.901712 -1.002000 +v -1.198451 1.901712 -1.127000 +v -1.187598 1.963262 -1.189500 +v -1.198451 1.901712 -1.189500 +v -1.209304 1.840161 -0.502000 +v -1.220157 1.778611 -0.502000 +v -1.209304 1.840161 -0.627000 +v -1.209304 1.840161 -0.752000 +v -1.220157 1.778611 -0.814500 +v -1.209304 1.840161 -0.877000 +v -1.220157 1.778611 -0.939500 +v -1.220157 1.778611 -0.877000 +v -1.220157 1.778611 -1.064500 +v -1.220157 1.778611 -1.002000 +v -1.220157 1.778611 -1.189500 +v -1.220157 1.778611 -1.127000 +v -1.231010 1.717060 -0.502000 +v -1.241863 1.655510 -0.564500 +v -1.241863 1.655510 -0.502000 +v -1.231010 1.717060 -0.627000 +v -1.241863 1.655510 -0.689500 +v -1.241863 1.655510 -0.627000 +v -1.241863 1.655510 -0.814500 +v -1.241863 1.655510 -0.939500 +v -1.241863 1.655510 -1.064500 +v -1.241863 1.655510 -1.002000 +v -1.241863 1.655510 -1.127000 +v -1.231010 1.717060 -1.189500 +v -1.241863 1.655510 -1.189500 +v -1.252716 1.593959 -0.502000 +v -1.263569 1.532409 -0.564500 +v -1.263569 1.532409 -0.502000 +v -1.252716 1.593959 -0.627000 +v -1.263569 1.532409 -0.689500 +v -1.263569 1.532409 -0.627000 +v -1.263569 1.532409 -0.814500 +v -1.263569 1.532409 -0.752000 +v -1.263569 1.532409 -0.939500 +v -1.263569 1.532409 -1.064500 +v -1.263569 1.532409 -1.127000 +v -1.252716 1.593959 -1.189500 +v -1.263569 1.532409 -1.189500 +v -1.209304 1.840161 -0.814500 +v -1.187598 1.963262 -0.689500 +v -1.252716 1.593959 -1.127000 +v -1.231010 1.717060 -1.127000 +v -1.231010 1.717060 -1.064500 +v -1.209304 1.840161 -0.939500 +v -1.187598 1.963262 -0.814500 +v -1.209304 1.840161 -1.064500 +v -1.187598 1.963262 -0.939500 +v -1.187598 1.963262 -1.064500 +v -1.252716 1.593959 -0.564500 +v -1.252716 1.593959 -0.689500 +v -1.231010 1.717060 -0.564500 +v -0.934110 1.601245 -1.252000 +v -0.995661 1.612098 -1.252000 +v -0.944963 1.539694 -1.252000 +v -1.006514 1.550547 -1.252000 +v -0.934110 1.601245 -1.314400 +v -0.995661 1.612098 -1.314400 +v -0.944963 1.539694 -1.314400 +v -1.006514 1.550547 -1.314400 +v -1.057211 1.622951 -1.252000 +v -1.118762 1.633804 -1.252000 +v -1.068064 1.561400 -1.252000 +v -1.129615 1.572253 -1.252000 +v -1.057211 1.622951 -1.314500 +v -1.118762 1.633804 -1.314500 +v -1.068064 1.561400 -1.314500 +v -1.129615 1.572253 -1.314500 +vt 0.982558 0.504854 +vt 0.988372 0.495146 +vt 0.982558 0.495146 +vt 0.488372 0.834951 +vt 0.470930 0.699029 +vt 0.470930 0.834951 +vt 0.837209 0.242718 +vt 0.831395 0.252427 +vt 0.831395 0.242718 +vt 0.488372 0.699029 +vt 0.494186 0.834951 +vt 0.494186 0.699029 +vt 0.802326 0.233010 +vt 0.802326 0.242718 +vt 0.802326 0.582524 +vt 0.988372 0.572816 +vt 0.988372 0.582524 +vt 0.808140 0.495146 +vt 0.988372 0.475728 +vt 0.802326 0.475728 +vt 0.802326 0.252427 +vt 0.831395 0.262136 +vt 0.802326 0.262136 +vt 0.581395 0.582524 +vt 0.593023 0.563107 +vt 0.581395 0.563107 +vt 0.802326 0.252427 +vt 0.831395 0.262136 +vt 0.831395 0.252427 +vt 0.994186 0.572816 +vt 0.988372 0.563107 +vt 0.994186 0.563107 +vt 0.982558 0.504854 +vt 0.988372 0.495146 +vt 0.988372 0.504854 +vt 0.837209 0.242718 +vt 0.837209 0.252427 +vt 0.802326 0.572816 +vt 0.796512 0.563107 +vt 0.802326 0.563107 +vt 0.988372 0.543689 +vt 0.802326 0.553398 +vt 0.802326 0.543689 +vt 0.802326 0.233010 +vt 0.831395 0.242718 +vt 0.831395 0.233010 +vt 0.872093 0.349515 +vt 0.802326 0.339806 +vt 0.802326 0.349515 +vt 0.872093 0.310680 +vt 0.802326 0.300971 +vt 0.802326 0.310680 +vt 0.988372 0.485437 +vt 0.808140 0.504854 +vt 0.802326 0.514563 +vt 0.802326 0.524272 +vt 0.872093 0.310680 +vt 0.802326 0.300971 +vt 0.872093 0.300971 +vt 0.802326 0.572816 +vt 0.796512 0.563107 +vt 0.796512 0.572816 +vt 0.796512 0.339806 +vt 0.802326 0.310680 +vt 0.802326 0.339806 +vt 0.872093 0.349515 +vt 0.802326 0.339806 +vt 0.802326 0.349515 +vt 0.802326 0.582524 +vt 0.988372 0.572816 +vt 0.872093 0.300971 +vt 0.802326 0.271845 +vt 0.802326 0.300971 +vt 0.488372 0.834951 +vt 0.470930 0.699029 +vt 0.488372 0.699029 +vt 0.802326 0.233010 +vt 0.831395 0.223301 +vt 0.831395 0.233010 +vt 0.988372 0.553398 +vt 0.988372 0.504854 +vt 0.994186 0.495146 +vt 0.796512 0.252427 +vt 0.994186 0.553398 +vt 0.872093 0.300971 +vt 0.802326 0.271845 +vt 0.872093 0.271845 +vt 0.796512 0.339806 +vt 0.802326 0.310680 +vt 0.796512 0.310680 +vt 0.802326 0.533981 +vt 0.988372 0.543689 +vt 0.988372 0.533981 +vt 0.831395 0.223301 +vt 0.802326 0.242718 +vt 0.831395 0.242718 +vt 0.796512 0.339806 +vt 0.802326 0.310680 +vt 0.802326 0.339806 +vt 0.796512 0.252427 +vt 0.802326 0.242718 +vt 0.802326 0.252427 +vt 0.872093 0.310680 +vt 0.802326 0.271845 +vt 0.872093 0.271845 +vt 0.796512 0.339806 +vt 0.796512 0.310680 +vt 0.831395 0.252427 +vt 0.802326 0.495146 +vt 0.796512 0.504854 +vt 0.796512 0.495146 +vt 0.802326 0.242718 +vt 0.831395 0.252427 +vt 0.872093 0.310680 +vt 0.872093 0.349515 +vt 0.872093 0.339806 +vt 0.796512 0.553398 +vt 0.802326 0.563107 +vt 0.802326 0.553398 +vt 0.802326 0.495146 +vt 0.796512 0.504854 +vt 0.802326 0.504854 +vt 0.831395 0.223301 +vt 0.831395 0.233010 +vt 0.837209 0.242718 +vt 0.837209 0.252427 +vt 0.802326 0.300971 +vt 0.994186 0.572816 +vt 0.988372 0.563107 +vt 0.877907 0.310680 +vt 0.872093 0.339806 +vt 0.877907 0.339806 +vt 0.994186 0.563107 +vt 0.988372 0.553398 +vt 0.465116 0.699029 +vt 0.494186 0.834951 +vt 0.877907 0.310680 +vt 0.796512 0.252427 +vt 0.796512 0.242718 +vt 0.494186 0.699029 +vt 0.511628 0.834951 +vt 0.994186 0.495146 +vt 0.994186 0.504854 +vt 0.872093 0.349515 +vt 0.872093 0.339806 +vt 0.511628 0.834951 +vt 0.511628 0.699029 +vt 0.877907 0.310680 +vt 0.872093 0.339806 +vt 0.877907 0.339806 +vt 0.802326 0.252427 +vt 0.831395 0.262136 +vt 0.802326 0.533981 +vt 0.796512 0.252427 +vt 0.796512 0.242718 +vt 0.337209 0.640777 +vt 0.354651 0.689320 +vt 0.354651 0.650485 +vt 0.325581 0.582524 +vt 0.308140 0.533981 +vt 0.308140 0.572816 +vt 0.325581 0.466019 +vt 0.308140 0.514563 +vt 0.325581 0.524272 +vt 0.325581 0.640777 +vt 0.308140 0.592233 +vt 0.308140 0.631068 +vt 0.593023 0.514563 +vt 0.406977 0.689320 +vt 0.389535 0.640777 +vt 0.389535 0.699029 +vt 0.360465 0.747573 +vt 0.377907 0.699029 +vt 0.360465 0.708738 +vt 0.308140 0.922330 +vt 0.325581 0.873786 +vt 0.308140 0.883495 +vt 0.337209 0.932039 +vt 0.354651 0.980583 +vt 0.354651 0.941748 +vt 0.337209 0.815534 +vt 0.354651 0.766990 +vt 0.337209 0.757282 +vt 0.360465 0.223301 +vt 0.377907 0.174757 +vt 0.360465 0.184466 +vt 0.308140 0.825243 +vt 0.308140 0.864078 +vt 0.337209 0.873786 +vt 0.354651 0.922330 +vt 0.354651 0.883495 +vt 0.360465 0.592233 +vt 0.377907 0.640777 +vt 0.377907 0.582524 +vt 0.360465 0.980583 +vt 0.377907 0.932039 +vt 0.360465 0.941748 +vt 0.360465 0.067961 +vt 0.377907 0.116505 +vt 0.377907 0.058252 +vt 0.337209 0.466019 +vt 0.354651 0.417476 +vt 0.337209 0.407767 +vt 0.325581 0.116505 +vt 0.308140 0.067961 +vt 0.308140 0.106796 +vt 0.308140 0.165049 +vt 0.308140 0.126214 +vt 0.406977 0.165049 +vt 0.389535 0.116505 +vt 0.389535 0.174757 +vt 0.325581 0.407767 +vt 0.308140 0.359223 +vt 0.308140 0.398058 +vt 0.325581 0.174757 +vt 0.308140 0.223301 +vt 0.325581 0.233010 +vt 0.360465 0.339806 +vt 0.377907 0.291262 +vt 0.360465 0.300971 +vt 0.389535 0.233010 +vt 0.406977 0.281553 +vt 0.406977 0.242718 +vt 0.337209 0.291262 +vt 0.354651 0.242718 +vt 0.337209 0.233010 +vt 0.389535 0.291262 +vt 0.406977 0.339806 +vt 0.406977 0.300971 +vt 0.354651 0.359223 +vt 0.354651 0.398058 +vt 0.406977 0.922330 +vt 0.389535 0.873786 +vt 0.389535 0.932039 +vt 0.360465 0.533981 +vt 0.360465 0.572816 +vt 0.308140 0.417476 +vt 0.308140 0.456311 +vt 0.360465 0.825243 +vt 0.377907 0.873786 +vt 0.377907 0.815534 +vt 0.389535 0.466019 +vt 0.406977 0.514563 +vt 0.406977 0.475728 +vt 0.802326 0.233010 +vt 0.831395 0.233010 +vt 0.837209 0.242718 +vt 0.831395 0.242718 +vt 0.831395 0.262136 +vt 0.802326 0.262136 +vt 0.808140 0.495146 +vt 0.802326 0.504854 +vt 0.465116 0.699029 +vt 0.470930 0.834951 +vt 0.465116 0.834951 +vt 0.808140 0.504854 +vt 0.337209 0.582524 +vt 0.354651 0.533981 +vt 0.337209 0.524272 +vt 0.406977 0.533981 +vt 0.389535 0.582524 +vt 0.406977 0.572816 +vt 0.354651 0.592233 +vt 0.354651 0.631068 +vt 0.406977 0.592233 +vt 0.406977 0.631068 +vt 0.360465 0.689320 +vt 0.360465 0.650485 +vt 0.308140 0.689320 +vt 0.308140 0.650485 +vt 0.406977 0.747573 +vt 0.389535 0.757282 +vt 0.325581 0.699029 +vt 0.308140 0.747573 +vt 0.325581 0.757282 +vt 0.360465 0.766990 +vt 0.360465 0.805825 +vt 0.308140 0.281553 +vt 0.325581 0.291262 +vt 0.406977 0.825243 +vt 0.406977 0.864078 +vt 0.360465 0.359223 +vt 0.377907 0.407767 +vt 0.377907 0.349515 +vt 0.337209 0.116505 +vt 0.354651 0.165049 +vt 0.354651 0.126214 +vt 0.337209 0.174757 +vt 0.354651 0.223301 +vt 0.354651 0.184466 +vt 0.354651 0.067961 +vt 0.354651 0.106796 +vt 0.325581 0.932039 +vt 0.308140 0.980583 +vt 0.325581 0.990291 +vt 0.406977 0.067961 +vt 0.406977 0.106796 +vt 0.406977 0.980583 +vt 0.406977 0.941748 +vt 0.360465 0.922330 +vt 0.360465 0.883495 +vt 0.360465 0.165049 +vt 0.360465 0.126214 +vt 0.354651 0.825243 +vt 0.354651 0.864078 +vt 0.406977 0.223301 +vt 0.406977 0.184466 +vt 0.360465 0.242718 +vt 0.360465 0.281553 +vt 0.308140 0.339806 +vt 0.325581 0.349515 +vt 0.354651 0.339806 +vt 0.354651 0.300971 +vt 0.406977 0.766990 +vt 0.389535 0.815534 +vt 0.406977 0.805825 +vt 0.406977 0.359223 +vt 0.389535 0.407767 +vt 0.406977 0.398058 +vt 0.308140 0.805825 +vt 0.325581 0.815534 +vt 0.406977 0.417476 +vt 0.406977 0.456311 +vt 0.377907 0.466019 +vt 0.360465 0.417476 +vt 0.360465 0.456311 +vt 0.354651 0.514563 +vt 0.354651 0.475728 +vt 0.360465 0.514563 +vt 0.360465 0.475728 +vt 0.581395 0.466019 +vt 0.581395 0.514563 +vt 0.872093 0.300971 +vt 0.802326 0.271845 +vt 0.558140 0.466019 +vt 0.569767 0.446602 +vt 0.569767 0.466019 +vt 0.558140 0.563107 +vt 0.569767 0.582524 +vt 0.569767 0.563107 +vt 0.831395 0.223301 +vt 0.558140 0.514563 +vt 0.569767 0.466019 +vt 0.558140 0.466019 +vt 0.558140 0.514563 +vt 0.569767 0.563107 +vt 0.558140 0.563107 +vt 0.593023 0.466019 +vt 0.581395 0.446602 +vt 0.569767 0.446602 +vt 0.581395 0.563107 +vt 0.593023 0.514563 +vt 0.593023 0.563107 +vt 0.558140 0.514563 +vt 0.569767 0.563107 +vt 0.558140 0.563107 +vt 0.569767 0.582524 +vt 0.558140 0.582524 +vt 0.593023 0.466019 +vt 0.581395 0.446602 +vt 0.593023 0.446602 +vt 0.569767 0.563107 +vt 0.569767 0.514563 +vt 0.581395 0.466019 +vt 0.581395 0.582524 +vt 0.558140 0.563107 +vt 0.569767 0.582524 +vt 0.569767 0.466019 +vt 0.558140 0.466019 +vt 0.558140 0.514563 +vt 0.569767 0.466019 +vt 0.558140 0.466019 +vt 0.581395 0.582524 +vt 0.593023 0.563107 +vt 0.581395 0.563107 +vt 0.593023 0.466019 +vt 0.581395 0.446602 +vt 0.593023 0.446602 +vt 0.593023 0.514563 +vt 0.581395 0.466019 +vt 0.581395 0.514563 +vt 0.569767 0.514563 +vt 0.569767 0.582524 +vt 0.558140 0.582524 +vt 0.593023 0.563107 +vt 0.581395 0.582524 +vt 0.581395 0.563107 +vt 0.877907 0.310680 +vt 0.593023 0.514563 +vt 0.569767 0.446602 +vt 0.988372 0.475728 +vt 0.802326 0.475728 +vt 0.581395 0.466019 +vt 0.569767 0.446602 +vt 0.593023 0.466019 +vt 0.581395 0.446602 +vt 0.662281 0.950003 +vt 0.570315 0.837433 +vt 0.570033 0.949354 +vt 0.337209 0.699029 +vt 0.354651 0.747573 +vt 0.354651 0.708738 +vt 0.802326 0.485437 +vt 0.988372 0.485437 +vt 0.982558 0.495146 +vt 0.988372 0.514563 +vt 0.988372 0.524272 +vt 0.802326 0.524272 +vt 0.802326 0.514563 +vt 0.988372 0.524272 +vt 0.802326 0.485437 +vt 0.988372 0.514563 +vt 0.525581 0.851052 +vt 0.548382 0.944680 +vt 0.492314 0.982754 +vt 0.570027 0.744687 +vt 0.570320 0.632766 +vt 0.634153 0.598647 +vt 0.598452 0.984140 +vt 0.633688 0.984388 +vt 0.673311 0.894119 +vt 0.662564 0.838082 +vt 0.634144 0.803296 +vt 0.598908 0.803048 +vt 0.559286 0.893317 +vt 0.796512 0.553398 +vt 0.802326 0.951456 +vt 0.796512 0.980583 +vt 0.796512 0.951456 +vt 0.837209 0.970874 +vt 0.831395 0.961165 +vt 0.831395 0.970874 +vt 0.819767 0.951456 +vt 0.825581 0.980583 +vt 0.825581 0.951456 +vt 0.819767 0.951456 +vt 0.802326 0.941748 +vt 0.819767 0.941748 +vt 0.819767 0.708738 +vt 0.802326 0.718447 +vt 0.819767 0.718447 +vt 0.808140 0.961165 +vt 0.802326 0.980583 +vt 0.802326 0.951456 +vt 0.808140 0.970874 +vt 0.819767 0.980583 +vt 0.813953 0.970874 +vt 0.819767 0.951456 +vt 0.813953 0.961165 +vt 0.843023 0.961165 +vt 0.837209 0.951456 +vt 0.843023 0.951456 +vt 0.837209 0.970874 +vt 0.831395 0.961165 +vt 0.831395 0.970874 +vt 0.848837 0.970874 +vt 0.843023 0.961165 +vt 0.848837 0.961165 +vt 0.796512 0.980583 +vt 0.802326 0.951456 +vt 0.796512 0.951456 +vt 0.819767 0.990291 +vt 0.802326 0.980583 +vt 0.802326 0.990291 +vt 0.819767 0.951456 +vt 0.825581 0.980583 +vt 0.825581 0.951456 +vt 0.802326 0.941748 +vt 0.819767 0.951456 +vt 0.819767 0.941748 +vt 0.843023 0.951456 +vt 0.837209 0.961165 +vt 0.837209 0.951456 +vt 0.802326 0.951456 +vt 0.808140 0.970874 +vt 0.808140 0.961165 +vt 0.802326 0.980583 +vt 0.813953 0.970874 +vt 0.819767 0.951456 +vt 0.813953 0.961165 +vt 0.843023 0.728155 +vt 0.837209 0.718447 +vt 0.843023 0.718447 +vt 0.837209 0.980583 +vt 0.843023 0.970874 +vt 0.843023 0.980583 +vt 0.831395 0.961165 +vt 0.837209 0.970874 +vt 0.831395 0.970874 +vt 0.843023 0.961165 +vt 0.848837 0.970874 +vt 0.848837 0.961165 +vt 0.796512 0.980583 +vt 0.796512 0.951456 +vt 0.802326 0.980583 +vt 0.819767 0.990291 +vt 0.802326 0.990291 +vt 0.825581 0.980583 +vt 0.825581 0.951456 +vt 0.802326 0.941748 +vt 0.819767 0.941748 +vt 0.837209 0.961165 +vt 0.843023 0.951456 +vt 0.837209 0.951456 +vt 0.808140 0.970874 +vt 0.808140 0.961165 +vt 0.813953 0.970874 +vt 0.813953 0.961165 +vt 0.837209 0.980583 +vt 0.843023 0.970874 +vt 0.843023 0.980583 +vt 0.837209 0.970874 +vt 0.831395 0.961165 +vt 0.831395 0.970874 +vt 0.802326 0.747573 +vt 0.796512 0.718447 +vt 0.802326 0.718447 +vt 0.819767 0.990291 +vt 0.802326 0.980583 +vt 0.802326 0.990291 +vt 0.819767 0.990291 +vt 0.802326 0.990291 +vt 0.825581 0.980583 +vt 0.802326 0.941748 +vt 0.819767 0.941748 +vt 0.843023 0.951456 +vt 0.837209 0.961165 +vt 0.837209 0.951456 +vt 0.808140 0.961165 +vt 0.808140 0.970874 +vt 0.819767 0.980583 +vt 0.813953 0.970874 +vt 0.819767 0.951456 +vt 0.813953 0.961165 +vt 0.843023 0.970874 +vt 0.837209 0.980583 +vt 0.843023 0.980583 +vt 0.831395 0.961165 +vt 0.837209 0.970874 +vt 0.831395 0.970874 +vt 0.843023 0.961165 +vt 0.848837 0.970874 +vt 0.848837 0.961165 +vt 0.796512 0.980583 +vt 0.802326 0.951456 +vt 0.796512 0.951456 +vt 0.819767 0.990291 +vt 0.802326 0.980583 +vt 0.802326 0.990291 +vt 0.819767 0.951456 +vt 0.825581 0.980583 +vt 0.825581 0.951456 +vt 0.802326 0.941748 +vt 0.819767 0.941748 +vt 0.837209 0.961165 +vt 0.843023 0.951456 +vt 0.837209 0.951456 +vt 0.802326 0.951456 +vt 0.808140 0.970874 +vt 0.808140 0.961165 +vt 0.802326 0.980583 +vt 0.813953 0.970874 +vt 0.819767 0.951456 +vt 0.813953 0.961165 +vt 0.843023 0.970874 +vt 0.837209 0.980583 +vt 0.843023 0.980583 +vt 0.837209 0.970874 +vt 0.831395 0.961165 +vt 0.831395 0.970874 +vt 0.843023 0.970874 +vt 0.848837 0.961165 +vt 0.843023 0.961165 +vt 0.802326 0.951456 +vt 0.796512 0.980583 +vt 0.796512 0.951456 +vt 0.802326 0.980583 +vt 0.819767 0.990291 +vt 0.802326 0.990291 +vt 0.819767 0.951456 +vt 0.825581 0.980583 +vt 0.819767 0.980583 +vt 0.802326 0.941748 +vt 0.819767 0.941748 +vt 0.843023 0.951456 +vt 0.837209 0.961165 +vt 0.837209 0.951456 +vt 0.808140 0.961165 +vt 0.802326 0.980583 +vt 0.802326 0.951456 +vt 0.808140 0.970874 +vt 0.819767 0.980583 +vt 0.813953 0.970874 +vt 0.813953 0.961165 +vt 0.819767 0.708738 +vt 0.819767 0.718447 +vt 0.831395 0.961165 +vt 0.837209 0.970874 +vt 0.831395 0.970874 +vt 0.848837 0.961165 +vt 0.843023 0.961165 +vt 0.796512 0.980583 +vt 0.802326 0.951456 +vt 0.796512 0.951456 +vt 0.819767 0.990291 +vt 0.802326 0.990291 +vt 0.825581 0.980583 +vt 0.825581 0.951456 +vt 0.802326 0.941748 +vt 0.819767 0.941748 +vt 0.837209 0.961165 +vt 0.843023 0.951456 +vt 0.837209 0.951456 +vt 0.808140 0.961165 +vt 0.808140 0.970874 +vt 0.813953 0.970874 +vt 0.813953 0.961165 +vt 0.837209 0.980583 +vt 0.843023 0.970874 +vt 0.843023 0.980583 +vt 0.796512 0.980583 +vt 0.796512 0.951456 +vt 0.848837 0.961165 +vt 0.848837 0.970874 +vt 0.796512 0.980583 +vt 0.796512 0.951456 +vt 0.819767 0.990291 +vt 0.802326 0.990291 +vt 0.831395 0.737864 +vt 0.837209 0.728155 +vt 0.837209 0.737864 +vt 0.802326 0.941748 +vt 0.819767 0.941748 +vt 0.843023 0.951456 +vt 0.837209 0.961165 +vt 0.837209 0.951456 +vt 0.808140 0.970874 +vt 0.808140 0.961165 +vt 0.813953 0.970874 +vt 0.813953 0.961165 +vt 0.802326 0.747573 +vt 0.796512 0.718447 +vt 0.796512 0.747573 +vt 0.837209 0.980583 +vt 0.843023 0.970874 +vt 0.843023 0.980583 +vt 0.831395 0.961165 +vt 0.837209 0.970874 +vt 0.831395 0.970874 +vt 0.843023 0.970874 +vt 0.848837 0.961165 +vt 0.843023 0.961165 +vt 0.802326 0.747573 +vt 0.796512 0.718447 +vt 0.796512 0.747573 +vt 0.802326 0.718447 +vt 0.819767 0.708738 +vt 0.802326 0.708738 +vt 0.837209 0.728155 +vt 0.843023 0.718447 +vt 0.837209 0.718447 +vt 0.808140 0.737864 +vt 0.808140 0.728155 +vt 0.813953 0.737864 +vt 0.813953 0.728155 +vt 0.819767 0.747573 +vt 0.819767 0.718447 +vt 0.825581 0.747573 +vt 0.825581 0.718447 +vt 0.843023 0.728155 +vt 0.848837 0.737864 +vt 0.848837 0.728155 +vt 0.831395 0.737864 +vt 0.837209 0.728155 +vt 0.831395 0.728155 +vt 0.802326 0.747573 +vt 0.796512 0.718447 +vt 0.796512 0.747573 +vt 0.802326 0.757282 +vt 0.819767 0.747573 +vt 0.825581 0.718447 +vt 0.819767 0.747573 +vt 0.825581 0.747573 +vt 0.819767 0.747573 +vt 0.802326 0.757282 +vt 0.819767 0.757282 +vt 0.843023 0.728155 +vt 0.837209 0.718447 +vt 0.837209 0.728155 +vt 0.808140 0.737864 +vt 0.802326 0.718447 +vt 0.808140 0.728155 +vt 0.813953 0.737864 +vt 0.802326 0.747573 +vt 0.813953 0.728155 +vt 0.819767 0.747573 +vt 0.819767 0.718447 +vt 0.848837 0.961165 +vt 0.848837 0.970874 +vt 0.837209 0.737864 +vt 0.831395 0.728155 +vt 0.831395 0.737864 +vt 0.802326 0.747573 +vt 0.796512 0.718447 +vt 0.796512 0.747573 +vt 0.837209 0.737864 +vt 0.843023 0.747573 +vt 0.843023 0.737864 +vt 0.825581 0.718447 +vt 0.819767 0.747573 +vt 0.825581 0.747573 +vt 0.808140 0.737864 +vt 0.802326 0.718447 +vt 0.808140 0.728155 +vt 0.813953 0.737864 +vt 0.802326 0.747573 +vt 0.813953 0.728155 +vt 0.819767 0.747573 +vt 0.819767 0.718447 +vt 0.843023 0.970874 +vt 0.837209 0.980583 +vt 0.843023 0.980583 +vt 0.831395 0.728155 +vt 0.837209 0.737864 +vt 0.831395 0.737864 +vt 0.819767 0.708738 +vt 0.843023 0.728155 +vt 0.837209 0.718447 +vt 0.843023 0.718447 +vt 0.802326 0.747573 +vt 0.796512 0.718447 +vt 0.796512 0.747573 +vt 0.837209 0.961165 +vt 0.831395 0.970874 +vt 0.831395 0.961165 +vt 0.843023 0.728155 +vt 0.837209 0.718447 +vt 0.843023 0.718447 +vt 0.825581 0.980583 +vt 0.843023 0.728155 +vt 0.837209 0.718447 +vt 0.837209 0.728155 +vt 0.808140 0.737864 +vt 0.802326 0.718447 +vt 0.808140 0.728155 +vt 0.813953 0.737864 +vt 0.802326 0.747573 +vt 0.819767 0.718447 +vt 0.819767 0.747573 +vt 0.813953 0.728155 +vt 0.831395 0.728155 +vt 0.837209 0.737864 +vt 0.831395 0.737864 +vt 0.837209 0.737864 +vt 0.843023 0.747573 +vt 0.843023 0.737864 +vt 0.831395 0.737864 +vt 0.831395 0.728155 +vt 0.837209 0.961165 +vt 0.843023 0.951456 +vt 0.837209 0.951456 +vt 0.848837 0.970874 +vt 0.843023 0.961165 +vt 0.848837 0.961165 +vt 0.831395 0.737864 +vt 0.837209 0.728155 +vt 0.837209 0.737864 +vt 0.802326 0.708738 +vt 0.819767 0.718447 +vt 0.819767 0.708738 +vt 0.808140 0.737864 +vt 0.802326 0.718447 +vt 0.808140 0.728155 +vt 0.813953 0.737864 +vt 0.802326 0.747573 +vt 0.819767 0.718447 +vt 0.819767 0.747573 +vt 0.813953 0.728155 +vt 0.837209 0.737864 +vt 0.843023 0.747573 +vt 0.843023 0.737864 +vt 0.819767 0.747573 +vt 0.802326 0.757282 +vt 0.819767 0.757282 +vt 0.843023 0.728155 +vt 0.848837 0.737864 +vt 0.848837 0.728155 +vt 0.831395 0.737864 +vt 0.796512 0.718447 +vt 0.802326 0.757282 +vt 0.825581 0.718447 +vt 0.825581 0.747573 +vt 0.843023 0.737864 +vt 0.837209 0.747573 +vt 0.843023 0.747573 +vt 0.848837 0.737864 +vt 0.843023 0.728155 +vt 0.848837 0.728155 +vt 0.808140 0.737864 +vt 0.808140 0.728155 +vt 0.813953 0.737864 +vt 0.819767 0.718447 +vt 0.813953 0.728155 +vt 0.837209 0.737864 +vt 0.843023 0.747573 +vt 0.837209 0.747573 +vt 0.837209 0.980583 +vt 0.843023 0.980583 +vt 0.837209 0.728155 +vt 0.831395 0.737864 +vt 0.831395 0.728155 +vt 0.796512 0.718447 +vt 0.796512 0.980583 +vt 0.796512 0.951456 +vt 0.825581 0.718447 +vt 0.825581 0.747573 +vt 0.819767 0.708738 +vt 0.848837 0.737864 +vt 0.848837 0.728155 +vt 0.802326 0.718447 +vt 0.808140 0.737864 +vt 0.808140 0.728155 +vt 0.813953 0.737864 +vt 0.813953 0.728155 +vt 0.843023 0.747573 +vt 0.837209 0.747573 +vt 0.843023 0.747573 +vt 0.843023 0.737864 +vt 0.848837 0.737864 +vt 0.848837 0.728155 +vt 0.837209 0.961165 +vt 0.843023 0.951456 +vt 0.837209 0.951456 +vt 0.825581 0.718447 +vt 0.825581 0.747573 +vt 0.843023 0.747573 +vt 0.837209 0.747573 +vt 0.825581 0.718447 +vt 0.825581 0.747573 +vt 0.843023 0.728155 +vt 0.837209 0.718447 +vt 0.837209 0.728155 +vt 0.819767 0.757282 +vt 0.802326 0.757282 +vt 0.802326 0.718447 +vt 0.808140 0.737864 +vt 0.808140 0.728155 +vt 0.813953 0.737864 +vt 0.813953 0.728155 +vt 0.819767 0.718447 +vt 0.843023 0.737864 +vt 0.848837 0.728155 +vt 0.848837 0.737864 +vt 0.848837 0.728155 +vt 0.819767 0.757282 +vt 0.802326 0.757282 +vt 0.819767 0.708738 +vt 0.802326 0.708738 +vt 0.819767 0.990291 +vt 0.802326 0.990291 +vt 0.802326 0.757282 +vt 0.819767 0.757282 +vt 0.825581 0.718447 +vt 0.825581 0.747573 +vt 0.819767 0.708738 +vt 0.819767 0.708738 +vt 0.802326 0.708738 +vt 0.808140 0.737864 +vt 0.808140 0.728155 +vt 0.813953 0.737864 +vt 0.813953 0.728155 +vt 0.837209 0.747573 +vt 0.843023 0.737864 +vt 0.843023 0.747573 +vt 0.848837 0.737864 +vt 0.848837 0.728155 +vt 0.802326 0.757282 +vt 0.796512 0.718447 +vt 0.802326 0.757282 +vt 0.819767 0.757282 +vt 0.796512 0.718447 +vt 0.802326 0.708738 +vt 0.819767 0.708738 +vt 0.837209 0.718447 +vt 0.843023 0.718447 +vt 0.802326 0.718447 +vt 0.808140 0.737864 +vt 0.808140 0.728155 +vt 0.813953 0.737864 +vt 0.813953 0.728155 +vt 0.843023 0.747573 +vt 0.837209 0.747573 +vt 0.848837 0.737864 +vt 0.843023 0.728155 +vt 0.848837 0.728155 +vt 0.825581 0.980583 +vt 0.802326 0.951456 +vt 0.796512 0.980583 +vt 0.796512 0.951456 +vt 0.802326 0.980583 +vt 0.819767 0.990291 +vt 0.802326 0.990291 +vt 0.819767 0.951456 +vt 0.802326 0.941748 +vt 0.819767 0.941748 +vt 0.843023 0.951456 +vt 0.837209 0.961165 +vt 0.837209 0.951456 +vt 0.808140 0.970874 +vt 0.802326 0.951456 +vt 0.808140 0.961165 +vt 0.819767 0.980583 +vt 0.802326 0.980583 +vt 0.813953 0.961165 +vt 0.813953 0.970874 +vt 0.819767 0.951456 +vt 0.837209 0.980583 +vt 0.843023 0.970874 +vt 0.843023 0.980583 +vt 0.831395 0.961165 +vt 0.837209 0.970874 +vt 0.831395 0.970874 +vt 0.848837 0.961165 +vt 0.843023 0.961165 +vt 0.796512 0.980583 +vt 0.802326 0.951456 +vt 0.796512 0.951456 +vt 0.819767 0.990291 +vt 0.802326 0.980583 +vt 0.802326 0.990291 +vt 0.825581 0.980583 +vt 0.819767 0.980583 +vt 0.802326 0.951456 +vt 0.819767 0.941748 +vt 0.802326 0.941748 +vt 0.837209 0.718447 +vt 0.808140 0.961165 +vt 0.808140 0.970874 +vt 0.813953 0.970874 +vt 0.819767 0.980583 +vt 0.813953 0.961165 +vt 0.837209 0.980583 +vt 0.843023 0.980583 +vt 0.837209 0.961165 +vt 0.831395 0.970874 +vt 0.837209 0.970874 +vt 0.843023 0.970874 +vt 0.848837 0.961165 +vt 0.848837 0.970874 +vt 0.796512 0.980583 +vt 0.796512 0.951456 +vt 0.819767 0.990291 +vt 0.802326 0.980583 +vt 0.802326 0.990291 +vt 0.825581 0.980583 +vt 0.819767 0.951456 +vt 0.819767 0.980583 +vt 0.819767 0.941748 +vt 0.802326 0.951456 +vt 0.837209 0.961165 +vt 0.843023 0.951456 +vt 0.837209 0.951456 +vt 0.808140 0.961165 +vt 0.802326 0.980583 +vt 0.808140 0.970874 +vt 0.819767 0.980583 +vt 0.813953 0.970874 +vt 0.813953 0.961165 +vt 0.843023 0.970874 +vt 0.837209 0.980583 +vt 0.843023 0.980583 +vt 0.837209 0.970874 +vt 0.831395 0.961165 +vt 0.831395 0.970874 +vt 0.843023 0.970874 +vt 0.837209 0.980583 +vt 0.843023 0.980583 +vt 0.802326 0.951456 +vt 0.796512 0.980583 +vt 0.796512 0.951456 +vt 0.819767 0.990291 +vt 0.802326 0.990291 +vt 0.819767 0.951456 +vt 0.825581 0.980583 +vt 0.825581 0.951456 +vt 0.802326 0.941748 +vt 0.819767 0.941748 +vt 0.843023 0.961165 +vt 0.837209 0.951456 +vt 0.843023 0.951456 +vt 0.808140 0.970874 +vt 0.802326 0.951456 +vt 0.808140 0.961165 +vt 0.819767 0.980583 +vt 0.802326 0.980583 +vt 0.813953 0.961165 +vt 0.813953 0.970874 +vt 0.819767 0.951456 +vt 0.848837 0.737864 +vt 0.848837 0.728155 +vt 0.837209 0.980583 +vt 0.843023 0.980583 +vt 0.837209 0.961165 +vt 0.831395 0.970874 +vt 0.837209 0.970874 +vt 0.848837 0.961165 +vt 0.848837 0.970874 +vt 0.796512 0.980583 +vt 0.796512 0.951456 +vt 0.819767 0.990291 +vt 0.802326 0.990291 +vt 0.825581 0.980583 +vt 0.825581 0.718447 +vt 0.825581 0.747573 +vt 0.843023 0.961165 +vt 0.837209 0.951456 +vt 0.808140 0.961165 +vt 0.808140 0.970874 +vt 0.813953 0.970874 +vt 0.819767 0.980583 +vt 0.813953 0.961165 +vt 0.837209 0.980583 +vt 0.843023 0.970874 +vt 0.843023 0.980583 +vt 0.802326 0.941748 +vt 0.819767 0.941748 +vt 0.848837 0.961165 +vt 0.825581 0.718447 +vt 0.825581 0.747573 +vt 0.802326 0.980583 +vt 0.819767 0.990291 +vt 0.802326 0.990291 +vt 0.825581 0.980583 +vt 0.825581 0.951456 +vt 0.819767 0.941748 +vt 0.808140 0.970874 +vt 0.808140 0.961165 +vt 0.819767 0.980583 +vt 0.813953 0.961165 +vt 0.813953 0.970874 +vt 0.819767 0.951456 +vt 0.843023 0.718447 +vt 0.837209 0.718447 +vt 0.837209 0.970874 +vt 0.831395 0.961165 +vt 0.831395 0.970874 +vt 0.848837 0.961165 +vt 0.843023 0.970874 +vt 0.848837 0.970874 +vt 0.796512 0.980583 +vt 0.796512 0.951456 +vt 0.802326 0.757282 +vt 0.825581 0.980583 +vt 0.802326 0.941748 +vt 0.819767 0.941748 +vt 0.837209 0.951456 +vt 0.808140 0.970874 +vt 0.808140 0.961165 +vt 0.813953 0.961165 +vt 0.813953 0.970874 +vt 0.837209 0.980583 +vt 0.843023 0.970874 +vt 0.843023 0.980583 +vt 0.837209 0.961165 +vt 0.831395 0.970874 +vt 0.831395 0.961165 +vt 0.848837 0.961165 +vt 0.848837 0.970874 +vt 0.796512 0.980583 +vt 0.796512 0.951456 +vt 0.819767 0.990291 +vt 0.802326 0.990291 +vt 0.825581 0.980583 +vt 0.825581 0.951456 +vt 0.802326 0.941748 +vt 0.819767 0.941748 +vt 0.843023 0.951456 +vt 0.837209 0.961165 +vt 0.837209 0.951456 +vt 0.808140 0.961165 +vt 0.808140 0.970874 +vt 0.813953 0.970874 +vt 0.813953 0.961165 +vt 0.837209 0.980583 +vt 0.843023 0.980583 +vt 0.831395 0.961165 +vt 0.837209 0.970874 +vt 0.831395 0.970874 +vt 0.848837 0.961165 +vt 0.843023 0.961165 +vt 0.819767 0.980583 +vt 0.819767 0.980583 +vt 0.819767 0.980583 +vt 0.819767 0.980583 +vt 0.831395 0.728155 +vt 0.831395 0.737864 +vt 0.517442 0.291262 +vt 0.546512 0.378641 +vt 0.517442 0.378641 +vt 0.517442 0.427184 +vt 0.441860 0.514563 +vt 0.441860 0.427184 +vt 0.441860 0.242718 +vt 0.517442 0.242718 +vt 0.441860 0.378641 +vt 0.441860 0.291262 +vt 0.552326 0.203883 +vt 0.558140 0.213592 +vt 0.552326 0.213592 +vt 0.627907 0.126214 +vt 0.622093 0.116505 +vt 0.627907 0.116505 +vt 0.610465 0.155340 +vt 0.604651 0.145631 +vt 0.610465 0.145631 +vt 0.604651 0.213592 +vt 0.610465 0.203883 +vt 0.610465 0.213592 +vt 0.639535 0.252427 +vt 0.645349 0.242718 +vt 0.645349 0.252427 +vt 0.575581 0.116505 +vt 0.569767 0.126214 +vt 0.569767 0.116505 +vt 0.627907 0.165049 +vt 0.633721 0.155340 +vt 0.633721 0.165049 +vt 0.593023 0.242718 +vt 0.598837 0.233010 +vt 0.598837 0.242718 +vt 0.569767 0.223301 +vt 0.575581 0.233010 +vt 0.569767 0.233010 +vt 0.627907 0.223301 +vt 0.633721 0.213592 +vt 0.633721 0.223301 +vt 0.639535 0.233010 +vt 0.633721 0.242718 +vt 0.633721 0.233010 +vt 0.575581 0.242718 +vt 0.581395 0.233010 +vt 0.581395 0.242718 +vt 0.627907 0.194175 +vt 0.633721 0.203883 +vt 0.627907 0.203883 +vt 0.610465 0.252427 +vt 0.604651 0.262136 +vt 0.604651 0.252427 +vt 0.622093 0.174757 +vt 0.616279 0.165049 +vt 0.622093 0.165049 +vt 0.569767 0.174757 +vt 0.563953 0.184466 +vt 0.563953 0.174757 +vt 0.610465 0.184466 +vt 0.616279 0.174757 +vt 0.616279 0.184466 +vt 0.569767 0.194175 +vt 0.575581 0.184466 +vt 0.575581 0.194175 +vt 0.645349 0.184466 +vt 0.639535 0.174757 +vt 0.645349 0.174757 +vt 0.645349 0.126214 +vt 0.639535 0.116505 +vt 0.645349 0.116505 +vt 0.569767 0.165049 +vt 0.575581 0.174757 +vt 0.622093 0.242718 +vt 0.627907 0.233010 +vt 0.627907 0.242718 +vt 0.563953 0.126214 +vt 0.563953 0.116505 +vt 0.616279 0.203883 +vt 0.616279 0.213592 +vt 0.581395 0.126214 +vt 0.581395 0.116505 +vt 0.587209 0.262136 +vt 0.581395 0.252427 +vt 0.587209 0.252427 +vt 0.633721 0.126214 +vt 0.633721 0.116505 +vt 0.627907 0.145631 +vt 0.633721 0.145631 +vt 0.627907 0.135922 +vt 0.651163 0.116505 +vt 0.651163 0.126214 +vt 0.616279 0.233010 +vt 0.610465 0.242718 +vt 0.610465 0.233010 +vt 0.569767 0.203883 +vt 0.563953 0.213592 +vt 0.563953 0.203883 +vt 0.639535 0.203883 +vt 0.639535 0.213592 +vt 0.610465 0.271845 +vt 0.604651 0.271845 +vt 0.627907 0.184466 +vt 0.627907 0.174757 +vt 0.558140 0.135922 +vt 0.563953 0.145631 +vt 0.558140 0.145631 +vt 0.604651 0.194175 +vt 0.610465 0.194175 +vt 0.598837 0.252427 +vt 0.593023 0.252427 +vt 0.616279 0.106796 +vt 0.622093 0.106796 +vt 0.587209 0.233010 +vt 0.587209 0.242718 +vt 0.581395 0.165049 +vt 0.587209 0.155340 +vt 0.587209 0.165049 +vt 0.651163 0.233010 +vt 0.651163 0.242718 +vt 0.575581 0.262136 +vt 0.581395 0.271845 +vt 0.575581 0.271845 +vt 0.558140 0.194175 +vt 0.563953 0.194175 +vt 0.639535 0.165049 +vt 0.639535 0.106796 +vt 0.616279 0.135922 +vt 0.622093 0.126214 +vt 0.622093 0.135922 +vt 0.563953 0.155340 +vt 0.569767 0.145631 +vt 0.569767 0.155340 +vt 0.581395 0.223301 +vt 0.587209 0.213592 +vt 0.587209 0.223301 +vt 0.633721 0.271845 +vt 0.627907 0.262136 +vt 0.633721 0.262136 +vt 0.610465 0.126214 +vt 0.616279 0.116505 +vt 0.616279 0.126214 +vt 0.627907 0.252427 +vt 0.616279 0.262136 +vt 0.616279 0.271845 +vt 0.581395 0.135922 +vt 0.587209 0.145631 +vt 0.581395 0.145631 +vt 0.587209 0.126214 +vt 0.593023 0.116505 +vt 0.593023 0.126214 +vt 0.604651 0.135922 +vt 0.598837 0.126214 +vt 0.552326 0.155340 +vt 0.552326 0.145631 +vt 0.604651 0.165049 +vt 0.610465 0.165049 +vt 0.627907 0.281553 +vt 0.633721 0.281553 +vt 0.610465 0.281553 +vt 0.604651 0.281553 +vt 0.569767 0.135922 +vt 0.575581 0.126214 +vt 0.575581 0.135922 +vt 0.598837 0.184466 +vt 0.604651 0.174757 +vt 0.604651 0.184466 +vt 0.651163 0.174757 +vt 0.651163 0.184466 +vt 0.598837 0.106796 +vt 0.593023 0.106796 +vt 0.563953 0.223301 +vt 0.558140 0.223301 +vt 0.604651 0.126214 +vt 0.598837 0.116505 +vt 0.604651 0.116505 +vt 0.593023 0.165049 +vt 0.598837 0.174757 +vt 0.593023 0.174757 +vt 0.587209 0.271845 +vt 0.569767 0.252427 +vt 0.575581 0.252427 +vt 0.575581 0.106796 +vt 0.569767 0.106796 +vt 0.581395 0.194175 +vt 0.587209 0.203883 +vt 0.581395 0.203883 +vt 0.558140 0.165049 +vt 0.563953 0.165049 +vt 0.616279 0.223301 +vt 0.622093 0.233010 +vt 0.581395 0.213592 +vt 0.558140 0.271845 +vt 0.563953 0.281553 +vt 0.558140 0.281553 +vt 0.645349 0.233010 +vt 0.563953 0.271845 +vt 0.569767 0.262136 +vt 0.569767 0.271845 +vt 0.593023 0.145631 +vt 0.593023 0.155340 +vt 0.558140 0.262136 +vt 0.552326 0.271845 +vt 0.552326 0.262136 +vt 0.622093 0.194175 +vt 0.616279 0.194175 +vt 0.639535 0.262136 +vt 0.639535 0.271845 +vt 0.639535 0.145631 +vt 0.639535 0.155340 +vt 0.639535 0.135922 +vt 0.645349 0.135922 +vt 0.563953 0.242718 +vt 0.563953 0.233010 +vt 0.598837 0.155340 +vt 0.598837 0.145631 +vt 0.604651 0.233010 +vt 0.604651 0.242718 +vt 0.575581 0.155340 +vt 0.575581 0.145631 +vt 0.587209 0.184466 +vt 0.587209 0.174757 +vt 0.622093 0.155340 +vt 0.622093 0.145631 +vt 0.639535 0.223301 +vt 0.593023 0.203883 +vt 0.593023 0.213592 +vt 0.581395 0.174757 +vt 0.581395 0.184466 +vt 0.587209 0.281553 +vt 0.581395 0.281553 +vt 0.622093 0.271845 +vt 0.622093 0.262136 +vt 0.598837 0.135922 +vt 0.593023 0.135922 +vt 0.616279 0.145631 +vt 0.616279 0.155340 +vt 0.622093 0.213592 +vt 0.622093 0.203883 +vt 0.593023 0.194175 +vt 0.598837 0.194175 +vt 0.575581 0.213592 +vt 0.575581 0.203883 +vt 0.610465 0.223301 +vt 0.604651 0.223301 +vt 0.598837 0.271845 +vt 0.598837 0.262136 +vt 0.563953 0.252427 +vt 0.558140 0.252427 +vt 0.639535 0.194175 +vt 0.645349 0.194175 +vt 0.593023 0.262136 +vt 0.593023 0.271845 +vt 0.593023 0.223301 +vt 0.598837 0.223301 +vt 0.616279 0.252427 +vt 0.622093 0.252427 +vt 0.633721 0.184466 +vt 0.633721 0.174757 +vt 0.598837 0.203883 +vt 0.598837 0.213592 +vt 0.843023 0.961165 +vt 0.843023 0.737864 +vt 0.843023 0.737864 +vt 0.837209 0.737864 +vt 0.843023 0.961165 +vt 0.843023 0.961165 +vt 0.843023 0.961165 +vt 0.837209 0.970874 +vt 0.843023 0.737864 +vt 0.837209 0.970874 +vt 0.412791 0.378641 +vt 0.412791 0.291262 +vt 0.593023 0.135922 +vt 0.598837 0.126214 +vt 0.598837 0.135922 +vt 0.604651 0.126214 +vt 0.598837 0.116505 +vt 0.604651 0.116505 +vt 0.598837 0.106796 +vt 0.593023 0.116505 +vt 0.593023 0.106796 +vt 0.587209 0.116505 +vt 0.593023 0.126214 +vt 0.587209 0.126214 +vt 0.575581 0.106796 +vt 0.569767 0.116505 +vt 0.569767 0.106796 +vt 0.563953 0.116505 +vt 0.569767 0.126214 +vt 0.563953 0.126214 +vt 0.569767 0.135922 +vt 0.575581 0.126214 +vt 0.575581 0.135922 +vt 0.581395 0.126214 +vt 0.575581 0.116505 +vt 0.581395 0.116505 +vt 0.837209 0.252427 +vt 0.593023 0.582524 +vt 0.802326 0.262136 +vt 0.796512 0.572816 +vt 0.796512 0.310680 +vt 0.988372 0.582524 +vt 0.872093 0.271845 +vt 0.802326 0.223301 +vt 0.994186 0.504854 +vt 0.796512 0.242718 +vt 0.802326 0.543689 +vt 0.802326 0.223301 +vt 0.796512 0.310680 +vt 0.796512 0.242718 +vt 0.802326 0.349515 +vt 0.796512 0.495146 +vt 0.802326 0.223301 +vt 0.994186 0.553398 +vt 0.465116 0.834951 +vt 0.877907 0.339806 +vt 0.511628 0.699029 +vt 0.802326 0.349515 +vt 0.802326 0.262136 +vt 0.988372 0.533981 +vt 0.308140 0.475728 +vt 0.406977 0.650485 +vt 0.377907 0.757282 +vt 0.337209 0.990291 +vt 0.354651 0.805825 +vt 0.377907 0.233010 +vt 0.360465 0.631068 +vt 0.377907 0.990291 +vt 0.360465 0.106796 +vt 0.354651 0.456311 +vt 0.325581 0.058252 +vt 0.406977 0.126214 +vt 0.308140 0.184466 +vt 0.354651 0.281553 +vt 0.389535 0.349515 +vt 0.337209 0.349515 +vt 0.406977 0.883495 +vt 0.377907 0.524272 +vt 0.360465 0.864078 +vt 0.389535 0.524272 +vt 0.837209 0.252427 +vt 0.354651 0.572816 +vt 0.406977 0.708738 +vt 0.308140 0.708738 +vt 0.308140 0.242718 +vt 0.360465 0.398058 +vt 0.337209 0.058252 +vt 0.308140 0.941748 +vt 0.389535 0.058252 +vt 0.389535 0.990291 +vt 0.308140 0.300971 +vt 0.308140 0.766990 +vt 0.872093 0.271845 +vt 0.558140 0.446602 +vt 0.558140 0.582524 +vt 0.802326 0.223301 +vt 0.569767 0.514563 +vt 0.593023 0.446602 +vt 0.558140 0.446602 +vt 0.581395 0.514563 +vt 0.569767 0.514563 +vt 0.593023 0.582524 +vt 0.558140 0.582524 +vt 0.593023 0.582524 +vt 0.593023 0.582524 +vt 0.877907 0.339806 +vt 0.581395 0.514563 +vt 0.558140 0.446602 +vt 0.558140 0.446602 +vt 0.593023 0.446602 +vt 0.469513 0.889126 +vt 0.478881 0.866040 +vt 0.492825 0.850698 +vt 0.509224 0.845435 +vt 0.539406 0.866694 +vt 0.548594 0.889980 +vt 0.551745 0.917365 +vt 0.539014 0.967766 +vt 0.525070 0.983108 +vt 0.508671 0.988371 +vt 0.478489 0.967112 +vt 0.469302 0.943826 +vt 0.466150 0.916441 +vt 0.673311 0.689481 +vt 0.662275 0.745362 +vt 0.633678 0.779739 +vt 0.598443 0.779481 +vt 0.559285 0.688647 +vt 0.598917 0.598389 +vt 0.662569 0.633441 +vt 0.802326 0.708738 +vt 0.796512 0.747573 +vt 0.825581 0.951456 +vt 0.848837 0.970874 +vt 0.825581 0.951456 +vt 0.802326 0.708738 +vt 0.848837 0.970874 +vt 0.831395 0.728155 +vt 0.848837 0.970874 +vt 0.819767 0.757282 +vt 0.843023 0.718447 +vt 0.837209 0.747573 +vt 0.837209 0.728155 +vt 0.802326 0.708738 +vt 0.837209 0.728155 +vt 0.825581 0.951456 +vt 0.843023 0.718447 +vt 0.837209 0.747573 +vt 0.831395 0.728155 +vt 0.837209 0.747573 +vt 0.831395 0.728155 +vt 0.796512 0.747573 +vt 0.819767 0.757282 +vt 0.796512 0.747573 +vt 0.802326 0.708738 +vt 0.837209 0.747573 +vt 0.843023 0.718447 +vt 0.848837 0.737864 +vt 0.802326 0.708738 +vt 0.819767 0.757282 +vt 0.796512 0.747573 +vt 0.796512 0.747573 +vt 0.825581 0.951456 +vt 0.848837 0.970874 +vt 0.825581 0.951456 +vt 0.843023 0.718447 +vt 0.831395 0.961165 +vt 0.825581 0.951456 +vt 0.802326 0.941748 +vt 0.831395 0.961165 +vt 0.825581 0.951456 +vt 0.843023 0.951456 +vt 0.848837 0.970874 +vt 0.802326 0.941748 +vt 0.819767 0.757282 +vt 0.825581 0.951456 +vt 0.843023 0.951456 +vt 0.848837 0.970874 +vt 0.546512 0.291262 +vt 0.517442 0.514563 +vt 0.558140 0.203883 +vt 0.604651 0.155340 +vt 0.604651 0.203883 +vt 0.639535 0.242718 +vt 0.627907 0.155340 +vt 0.593023 0.233010 +vt 0.575581 0.223301 +vt 0.627907 0.213592 +vt 0.633721 0.194175 +vt 0.610465 0.262136 +vt 0.569767 0.184466 +vt 0.610465 0.174757 +vt 0.639535 0.184466 +vt 0.639535 0.126214 +vt 0.575581 0.165049 +vt 0.581395 0.262136 +vt 0.633721 0.135922 +vt 0.616279 0.242718 +vt 0.569767 0.213592 +vt 0.622093 0.184466 +vt 0.563953 0.135922 +vt 0.581395 0.155340 +vt 0.645349 0.165049 +vt 0.645349 0.106796 +vt 0.627907 0.271845 +vt 0.610465 0.116505 +vt 0.633721 0.252427 +vt 0.587209 0.135922 +vt 0.587209 0.116505 +vt 0.610465 0.135922 +vt 0.558140 0.155340 +vt 0.598837 0.165049 +vt 0.569767 0.242718 +vt 0.587209 0.194175 +vt 0.622093 0.223301 +vt 0.563953 0.262136 +vt 0.593023 0.184466 +vt 0.645349 0.223301 +vt 0.412791 0.961165 +vt 0.459302 0.990291 +vt 0.412791 0.990291 +vt 0.412791 0.844660 +vt 0.459302 0.873786 +vt 0.412791 0.873786 +vt 0.412791 0.728155 +vt 0.459302 0.757282 +vt 0.412791 0.757282 +vt 0.412791 0.932039 +vt 0.459302 0.961165 +vt 0.412791 0.582524 +vt 0.459302 0.611650 +vt 0.412791 0.611650 +vt 0.459302 0.786408 +vt 0.412791 0.786408 +vt 0.412791 0.902913 +vt 0.459302 0.932039 +vt 0.459302 0.902913 +vt 0.459302 0.815534 +vt 0.412791 0.815534 +vt 0.151163 0.174757 +vt 0.122093 0.233010 +vt 0.122093 0.174757 +vt 0.412791 0.640777 +vt 0.459302 0.669903 +vt 0.412791 0.669903 +vt 0.459302 0.640777 +vt 0.779070 0.485437 +vt 0.790698 0.553398 +vt 0.779070 0.533981 +vt 0.680233 0.815534 +vt 0.720930 0.834951 +vt 0.691860 0.834951 +vt 0.732558 0.902913 +vt 0.732558 0.815534 +vt 0.680233 0.902913 +vt 0.720930 0.883495 +vt 0.691860 0.660194 +vt 0.680233 0.728155 +vt 0.680233 0.640777 +vt 0.680233 0.728155 +vt 0.720930 0.747573 +vt 0.691860 0.747573 +vt 0.732558 0.815534 +vt 0.732558 0.728155 +vt 0.680233 0.815534 +vt 0.720930 0.796117 +vt 0.779070 0.660194 +vt 0.790698 0.728155 +vt 0.779070 0.708738 +vt 0.720930 0.660194 +vt 0.732558 0.728155 +vt 0.732558 0.640777 +vt 0.720930 0.708738 +vt 0.779070 0.796117 +vt 0.790698 0.728155 +vt 0.790698 0.815534 +vt 0.680233 0.553398 +vt 0.720930 0.572816 +vt 0.691860 0.572816 +vt 0.732558 0.553398 +vt 0.720930 0.621359 +vt 0.680233 0.640777 +vt 0.732349 0.640524 +vt 0.790698 0.466019 +vt 0.779070 0.398058 +vt 0.790698 0.378641 +vt 0.680233 0.466019 +vt 0.720930 0.485437 +vt 0.691860 0.485437 +vt 0.732558 0.466019 +vt 0.720930 0.533981 +vt 0.680233 0.553398 +vt 0.732558 0.553398 +vt 0.779070 0.135922 +vt 0.790698 0.203883 +vt 0.779070 0.184466 +vt 0.680233 0.378641 +vt 0.720930 0.398058 +vt 0.691860 0.398058 +vt 0.732558 0.466019 +vt 0.732558 0.378641 +vt 0.680233 0.466019 +vt 0.720930 0.446602 +vt 0.779070 0.621359 +vt 0.790698 0.553398 +vt 0.790698 0.640777 +vt 0.680233 0.291262 +vt 0.720376 0.311760 +vt 0.691860 0.310680 +vt 0.732558 0.378641 +vt 0.732558 0.291262 +vt 0.680233 0.378641 +vt 0.720930 0.359223 +vt 0.779070 0.310680 +vt 0.790698 0.378641 +vt 0.779070 0.359223 +vt 0.680233 0.203883 +vt 0.720930 0.223301 +vt 0.691860 0.223301 +vt 0.732558 0.291262 +vt 0.732558 0.203883 +vt 0.680233 0.291262 +vt 0.720930 0.271845 +vt 0.691860 0.796117 +vt 0.680233 0.116505 +vt 0.720930 0.135922 +vt 0.691860 0.135922 +vt 0.732558 0.203883 +vt 0.732558 0.116505 +vt 0.680233 0.203883 +vt 0.720930 0.184466 +vt 0.779070 0.922330 +vt 0.790698 0.990291 +vt 0.779070 0.970874 +vt 0.680233 0.902913 +vt 0.720930 0.922330 +vt 0.691860 0.922330 +vt 0.732558 0.902913 +vt 0.720930 0.970874 +vt 0.680233 0.990291 +vt 0.732558 0.990291 +vt 0.691860 0.621359 +vt 0.063954 0.281553 +vt 0.034884 0.252427 +vt 0.063954 0.242718 +vt 0.790698 0.815534 +vt 0.750000 0.834951 +vt 0.738372 0.815534 +vt 0.738372 0.902913 +vt 0.750000 0.883495 +vt 0.790698 0.902913 +vt 0.691860 0.883495 +vt 0.750000 0.747573 +vt 0.738372 0.728155 +vt 0.738372 0.815534 +vt 0.750000 0.796117 +vt 0.691860 0.271845 +vt 0.790698 0.640777 +vt 0.750000 0.660194 +vt 0.738372 0.640777 +vt 0.738372 0.728155 +vt 0.750000 0.708738 +vt 0.779070 0.223301 +vt 0.790698 0.291262 +vt 0.779070 0.271845 +vt 0.750000 0.572816 +vt 0.738372 0.553398 +vt 0.750000 0.621359 +vt 0.738581 0.640524 +vt 0.779070 0.834951 +vt 0.779070 0.883495 +vt 0.790698 0.466019 +vt 0.750000 0.485437 +vt 0.738372 0.466019 +vt 0.750000 0.533981 +vt 0.738372 0.553398 +vt 0.691860 0.533981 +vt 0.750000 0.398058 +vt 0.738372 0.378641 +vt 0.738372 0.466019 +vt 0.750000 0.446602 +vt 0.790698 0.291262 +vt 0.750554 0.311760 +vt 0.738372 0.291262 +vt 0.750000 0.359223 +vt 0.738372 0.378641 +vt 0.790698 0.203883 +vt 0.750000 0.223301 +vt 0.738372 0.203883 +vt 0.738372 0.291262 +vt 0.750000 0.271845 +vt 0.790698 0.116505 +vt 0.750000 0.135922 +vt 0.738372 0.116505 +vt 0.750000 0.184466 +vt 0.738372 0.203883 +vt 0.790698 0.902913 +vt 0.750000 0.922330 +vt 0.738372 0.902913 +vt 0.738372 0.990291 +vt 0.750000 0.970874 +vt 0.412791 0.524272 +vt 0.459302 0.553398 +vt 0.412791 0.553398 +vt 0.459302 0.844660 +vt 0.412791 0.699029 +vt 0.459302 0.728155 +vt 0.459302 0.699029 +vt 0.459302 0.582524 +vt 0.267442 0.951456 +vt 0.238372 0.980583 +vt 0.238372 0.941748 +vt 0.267442 0.485437 +vt 0.238372 0.514563 +vt 0.238372 0.475728 +vt 0.180233 0.524272 +vt 0.151163 0.582524 +vt 0.151163 0.524272 +vt 0.005814 0.553398 +vt 0.034884 0.543689 +vt 0.034884 0.563107 +vt 0.122093 0.116505 +vt 0.093023 0.169903 +vt 0.093023 0.121359 +vt 0.122093 0.699029 +vt 0.093023 0.752427 +vt 0.093023 0.703884 +vt 0.267442 0.543689 +vt 0.296512 0.553398 +vt 0.267442 0.563107 +vt 0.063954 0.708738 +vt 0.151163 0.466019 +vt 0.238372 0.417476 +vt 0.267442 0.446602 +vt 0.238372 0.456311 +vt 0.063954 0.165049 +vt 0.034884 0.135922 +vt 0.063954 0.126214 +vt 0.151163 0.932039 +vt 0.122093 0.990291 +vt 0.122093 0.932039 +vt 0.005814 0.611650 +vt 0.034884 0.601942 +vt 0.034884 0.621359 +vt 0.122093 0.640777 +vt 0.093023 0.694175 +vt 0.093023 0.645631 +vt 0.209302 0.228155 +vt 0.180233 0.174757 +vt 0.209302 0.179612 +vt 0.267442 0.601942 +vt 0.296512 0.611651 +vt 0.267442 0.621359 +vt 0.238372 0.592233 +vt 0.209302 0.635922 +vt 0.209302 0.587379 +vt 0.122093 0.582524 +vt 0.180233 0.407767 +vt 0.151163 0.349515 +vt 0.180233 0.349515 +vt 0.267442 0.213592 +vt 0.238372 0.184466 +vt 0.267442 0.194175 +vt 0.267442 0.155340 +vt 0.238372 0.126214 +vt 0.267442 0.135922 +vt 0.151163 0.640777 +vt 0.180233 0.699029 +vt 0.151163 0.699029 +vt 0.238372 0.223301 +vt 0.005814 0.669903 +vt 0.034884 0.660194 +vt 0.034884 0.679612 +vt 0.093023 0.228155 +vt 0.093023 0.179612 +vt 0.180233 0.640777 +vt 0.180233 0.582524 +vt 0.267442 0.660194 +vt 0.296512 0.669903 +vt 0.267442 0.679612 +vt 0.063954 0.223301 +vt 0.063954 0.184466 +vt 0.267442 0.718447 +vt 0.296512 0.728155 +vt 0.267442 0.737864 +vt 0.093023 0.762136 +vt 0.063954 0.805825 +vt 0.063954 0.766990 +vt 0.151163 0.116505 +vt 0.267442 0.252427 +vt 0.238372 0.281553 +vt 0.238372 0.242718 +vt 0.034884 0.796116 +vt 0.034884 0.776699 +vt 0.180233 0.233010 +vt 0.151163 0.291262 +vt 0.151163 0.233010 +vt 0.093023 0.529126 +vt 0.063954 0.572816 +vt 0.063954 0.533981 +vt 0.005814 0.728155 +vt 0.034884 0.718447 +vt 0.034884 0.737864 +vt 0.093023 0.286408 +vt 0.093023 0.237864 +vt 0.209302 0.286408 +vt 0.209302 0.237864 +vt 0.122093 0.058252 +vt 0.093023 0.111651 +vt 0.093023 0.063107 +vt 0.093023 0.878641 +vt 0.093023 0.927184 +vt 0.267442 0.776699 +vt 0.296512 0.786408 +vt 0.267442 0.796117 +vt 0.122093 0.291262 +vt 0.238372 0.747573 +vt 0.238372 0.708738 +vt 0.063954 0.980583 +vt 0.034884 0.951456 +vt 0.063954 0.941748 +vt 0.180233 0.757282 +vt 0.151163 0.815534 +vt 0.151163 0.757282 +vt 0.209302 0.752427 +vt 0.209302 0.703884 +vt 0.005814 0.786408 +vt 0.063954 0.883495 +vt 0.005814 0.844660 +vt 0.034884 0.834951 +vt 0.034884 0.854369 +vt 0.122093 0.407767 +vt 0.093023 0.461165 +vt 0.093023 0.412621 +vt 0.209302 0.461165 +vt 0.209302 0.412621 +vt 0.267442 0.834952 +vt 0.296512 0.844660 +vt 0.267442 0.854369 +vt 0.238372 0.864078 +vt 0.209302 0.820388 +vt 0.238372 0.825243 +vt 0.122093 0.466019 +vt 0.180233 0.873786 +vt 0.151163 0.873786 +vt 0.180233 0.932039 +vt 0.093023 0.470874 +vt 0.063954 0.514563 +vt 0.063954 0.475728 +vt 0.005814 0.902913 +vt 0.034884 0.893204 +vt 0.034884 0.912621 +vt 0.122093 0.524272 +vt 0.093023 0.519417 +vt 0.093023 0.820388 +vt 0.063954 0.864078 +vt 0.063954 0.825243 +vt 0.267442 0.893204 +vt 0.296512 0.902913 +vt 0.267442 0.912621 +vt 0.063954 0.689320 +vt 0.063954 0.650485 +vt 0.063954 0.631068 +vt 0.063954 0.592233 +vt 0.238372 0.883495 +vt 0.238372 0.922330 +vt 0.238372 0.067961 +vt 0.267442 0.097087 +vt 0.238372 0.106796 +vt 0.063954 0.067961 +vt 0.034884 0.097087 +vt 0.034884 0.077670 +vt 0.180233 0.990291 +vt 0.209302 0.063107 +vt 0.209302 0.111651 +vt 0.005814 0.961165 +vt 0.034884 0.970874 +vt 0.180233 0.116505 +vt 0.180233 0.058252 +vt 0.209302 0.121359 +vt 0.296512 0.961165 +vt 0.267442 0.970874 +vt 0.063953 0.106796 +vt 0.151163 0.058252 +vt 0.180233 0.815534 +vt 0.238372 0.766990 +vt 0.034884 0.485437 +vt 0.005814 0.087379 +vt 0.209302 0.694175 +vt 0.209302 0.645631 +vt 0.209302 0.985437 +vt 0.209302 0.936893 +vt 0.267442 0.077670 +vt 0.296512 0.087379 +vt 0.122093 0.349515 +vt 0.093023 0.402913 +vt 0.093023 0.354369 +vt 0.296512 0.145631 +vt 0.238372 0.300971 +vt 0.209302 0.344660 +vt 0.209302 0.296116 +vt 0.122093 0.757282 +vt 0.122093 0.815534 +vt 0.063954 0.417476 +vt 0.034884 0.446602 +vt 0.034884 0.427184 +vt 0.238372 0.359223 +vt 0.267442 0.388349 +vt 0.238372 0.398058 +vt 0.063954 0.359223 +vt 0.063954 0.398058 +vt 0.005814 0.145631 +vt 0.034884 0.155340 +vt 0.093023 0.985437 +vt 0.093023 0.936893 +vt 0.209302 0.927184 +vt 0.093023 0.587379 +vt 0.093023 0.635922 +vt 0.296512 0.203884 +vt 0.238372 0.689320 +vt 0.122093 0.873786 +vt 0.005814 0.203883 +vt 0.034884 0.194175 +vt 0.034884 0.213592 +vt 0.209302 0.762136 +vt 0.238372 0.805825 +vt 0.209302 0.810680 +vt 0.005814 0.262136 +vt 0.034884 0.271845 +vt 0.093023 0.577670 +vt 0.209302 0.529126 +vt 0.296512 0.262136 +vt 0.267442 0.271845 +vt 0.238372 0.572816 +vt 0.238372 0.533981 +vt 0.063954 0.747573 +vt 0.267442 0.330097 +vt 0.267442 0.310680 +vt 0.063954 0.300971 +vt 0.093023 0.344660 +vt 0.063954 0.339806 +vt 0.005814 0.320388 +vt 0.034884 0.310680 +vt 0.034884 0.330097 +vt 0.093023 0.810680 +vt 0.296512 0.320388 +vt 0.209302 0.878641 +vt 0.238372 0.631068 +vt 0.034884 0.368932 +vt 0.063954 0.456311 +vt 0.005814 0.378641 +vt 0.034884 0.388349 +vt 0.209302 0.354369 +vt 0.209302 0.470874 +vt 0.180233 0.466019 +vt 0.267442 0.368932 +vt 0.296512 0.378641 +vt 0.209302 0.402913 +vt 0.267442 0.427184 +vt 0.296512 0.436893 +vt 0.151163 0.407767 +vt 0.238372 0.650485 +vt 0.005814 0.436893 +vt 0.180233 0.291262 +vt 0.296512 0.495146 +vt 0.267442 0.504854 +vt 0.209302 0.169903 +vt 0.005814 0.495146 +vt 0.034884 0.504854 +vt 0.093023 0.296116 +vt 0.691860 0.708738 +vt 0.691860 0.446602 +vt 0.691860 0.359223 +vt 0.691860 0.184466 +vt 0.691860 0.970874 +vt 0.779070 0.747573 +vt 0.779070 0.572816 +vt 0.779070 0.446602 +vt 0.459302 0.524272 +vt 0.151163 0.990291 +vt 0.238372 0.165049 +vt 0.063954 0.922330 +vt 0.209302 0.868932 +vt 0.093023 0.868932 +vt 0.238372 0.339806 +vt 0.209302 0.577670 +vt 0.209302 0.519417 +vn 0.7071 0.7071 0.0000 +vn 1.0000 0.0000 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.0000 1.0000 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.7071 -0.7071 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.9848 -0.1736 -0.0000 +vn -0.9848 0.1736 0.0000 +vn 0.1736 -0.9848 -0.0000 +vn 0.9848 -0.1736 0.0000 +vn 0.0000 -1.0000 -0.0000 +vn -0.1736 -0.9848 0.0000 +vn 0.9848 0.1736 0.0000 +vn 0.1736 0.9848 0.0000 +vn -0.1736 0.9848 0.0000 +vn 0.9239 0.3827 0.0000 +vn 0.2575 -0.1067 -0.9604 +vn 0.9239 -0.3827 0.0000 +vn -0.1066 -0.2575 0.9604 +vn 0.6725 0.2185 -0.7071 +vn 0.3675 0.8873 -0.2787 +vn -0.3827 0.9239 0.0000 +vn 0.1067 -0.2575 0.9604 +vn 0.1066 -0.2575 0.9604 +vn -0.9239 0.3827 0.0000 +vn -0.1067 -0.2575 0.9604 +vn 0.2575 -0.1066 -0.9604 +vn -0.9239 -0.3827 -0.0000 +vn -0.3675 0.8873 -0.2787 +vn 0.6725 0.2185 0.7071 +vn -0.1067 0.2575 -0.9604 +vn -0.1066 0.2575 0.9604 +vn 0.3675 0.8873 0.2787 +vn -0.1067 0.2575 0.9604 +vn -0.8090 0.5878 -0.0000 +vn -0.2575 -0.1067 -0.9604 +vn -0.1067 -0.2575 -0.9604 +vn 0.1066 0.2575 0.9604 +vn -0.3675 0.8873 0.2787 +vn 0.1067 0.2575 0.9604 +vn 0.1066 -0.2575 -0.9604 +vn -0.1066 -0.2575 -0.9604 +vn 0.3675 -0.8873 -0.2787 +vn 0.2575 0.1066 -0.9604 +vn -0.3675 -0.8873 -0.2787 +vn -0.4156 -0.5721 0.7071 +vn 0.1067 -0.2575 -0.9604 +vn 0.3827 -0.9239 -0.0000 +vn 0.3675 -0.8873 0.2787 +vn 0.1067 0.2575 -0.9604 +vn -0.8090 -0.5878 0.0000 +vn 0.1066 0.2575 -0.9604 +vn -0.3675 -0.8873 0.2787 +vn -0.1066 0.2575 -0.9604 +vn -0.4156 -0.5721 -0.7071 +vn 0.4156 0.5721 0.7071 +vn -0.3090 -0.9511 -0.0000 +vn 0.8090 -0.5878 0.0000 +vn 0.3090 0.9511 -0.0000 +vn 0.6725 -0.2185 0.7071 +vn -0.3090 0.9511 -0.0000 +vn -0.6725 0.2185 -0.7071 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 0.7071 0.7071 +vn 0.3090 -0.9511 0.0000 +vn -0.2575 -0.1066 -0.9604 +vn -0.6725 0.2185 0.7071 +vn -0.6725 -0.2185 0.7071 +vn 0.4156 -0.5721 -0.7071 +vn -0.4156 0.5721 0.7071 +vn 0.8090 0.5878 0.0000 +vn 0.4156 0.5721 -0.7071 +vn 0.6725 -0.2185 -0.7071 +vn -0.3827 -0.9239 -0.0000 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 0.7071 -0.7071 +vn -0.6725 -0.2185 -0.7071 +vn -0.4156 0.5721 -0.7071 +vn 0.4156 -0.5721 0.7071 +vn -0.4156 0.5720 -0.7071 +vn 0.3827 0.9239 0.0000 +vn 0.8873 -0.3675 -0.2787 +vn -0.2575 0.1067 0.9604 +vn 0.2575 0.1067 -0.9604 +vn -0.2575 -0.1067 0.9604 +vn 0.8873 0.3675 -0.2787 +vn -0.2575 -0.1066 0.9604 +vn 0.2575 0.1067 0.9604 +vn 0.2575 -0.1067 0.9604 +vn -0.2575 0.1066 -0.9604 +vn 0.8873 -0.3675 0.2787 +vn -0.2575 0.1067 -0.9604 +vn 0.2575 -0.1066 0.9604 +vn 0.8873 0.3675 0.2787 +vn 0.2575 0.1066 0.9604 +vn -0.8873 -0.3675 -0.2787 +vn -0.8873 0.3675 -0.2787 +vn -0.8873 -0.3675 0.2787 +vn -0.2575 0.1066 0.9604 +vn -0.8873 0.3675 0.2787 +vn -0.4156 0.5720 0.7071 +vn -0.9848 0.1737 0.0000 +vn -0.6688 -0.6688 0.3245 +vn -0.6325 -0.6325 0.4472 +vn 0.6325 -0.6325 0.4472 +vn 0.6688 -0.6688 0.3245 +vn -0.6688 -0.6688 -0.3245 +vn 0.6325 -0.6325 -0.4472 +vn 0.6688 -0.6688 -0.3245 +vn -0.8803 -0.3646 -0.3034 +vn -0.6738 -0.6738 -0.3034 +vn -0.6325 -0.6325 -0.4472 +vn 0.0000 -0.8348 0.5506 +vn -0.2539 -0.7815 0.5698 +vn 0.2539 0.7815 -0.5698 +vn 0.4907 0.6754 -0.5506 +vn 0.6648 0.4830 -0.5698 +vn 0.7939 -0.2580 -0.5506 +vn 0.6648 -0.4830 -0.5698 +vn 0.8218 -0.0000 -0.5698 +vn 0.7939 0.2580 -0.5506 +vn 0.7939 -0.2580 0.5506 +vn 0.6648 -0.4830 0.5698 +vn 0.7939 0.2580 0.5506 +vn 0.6648 0.4830 0.5698 +vn 0.8218 0.0000 0.5698 +vn 0.4907 -0.6754 -0.5506 +vn 0.2539 -0.7815 -0.5698 +vn -0.6648 -0.4830 0.5698 +vn -0.4907 -0.6754 0.5506 +vn -0.0000 -0.8348 -0.5506 +vn -0.2539 -0.7815 -0.5698 +vn -0.4907 0.6754 0.5506 +vn -0.2539 0.7815 0.5698 +vn -0.4907 -0.6754 -0.5506 +vn -0.6648 -0.4830 -0.5698 +vn 0.4907 -0.6754 0.5506 +vn 0.2539 -0.7815 0.5698 +vn -0.7939 -0.2580 -0.5506 +vn -0.8218 -0.0000 -0.5698 +vn -0.7939 -0.2580 0.5506 +vn -0.8218 0.0000 0.5698 +vn -0.7939 0.2580 -0.5506 +vn -0.6648 0.4830 -0.5698 +vn -0.4907 0.6754 -0.5506 +vn -0.2539 0.7815 -0.5698 +vn 0.0000 0.8348 0.5506 +vn 0.2539 0.7815 0.5698 +vn 0.0000 0.8348 -0.5506 +vn -0.6003 0.0000 -0.7998 +vn -0.3016 -0.1249 -0.9452 +vn -0.5546 -0.2297 -0.7998 +vn 0.4907 0.6754 0.5506 +vn -0.7939 0.2580 0.5506 +vn -0.6648 0.4830 0.5698 +vn 0.6325 0.6325 0.4472 +vn 0.6688 0.6688 0.3245 +vn -0.6325 0.6325 -0.4472 +vn -0.6688 0.6688 -0.3245 +vn -0.6325 0.6325 0.4472 +vn -0.6688 0.6688 0.3245 +vn 0.6688 0.6688 -0.3245 +vn 0.6325 0.6325 -0.4472 +vn 0.1249 -0.3016 0.9452 +vn -0.0000 -0.6003 0.7998 +vn 0.2297 -0.5546 0.7998 +vn -0.1249 0.3016 0.9452 +vn -0.0000 0.6003 0.7998 +vn -0.2297 0.5546 0.7998 +vn -0.0000 0.9528 0.3034 +vn 0.0000 0.3265 -0.9452 +vn 0.1249 0.3016 -0.9452 +vn -0.3646 -0.8803 -0.3034 +vn -0.5767 -0.5767 -0.5787 +vn -0.3121 -0.7535 -0.5787 +vn 0.8803 0.3646 -0.3034 +vn 0.8155 -0.0000 -0.5787 +vn 0.7535 0.3121 -0.5787 +vn -0.0000 0.3265 0.9452 +vn 0.1249 0.3016 0.9452 +vn 0.5546 0.2297 -0.7998 +vn -0.4245 0.4245 0.7998 +vn -0.4245 -0.4245 -0.7998 +vn -0.1249 -0.3016 -0.9452 +vn -0.2297 -0.5546 -0.7998 +vn 0.0000 -0.9528 -0.3034 +vn 0.3646 -0.8803 -0.3034 +vn 0.2309 0.2309 -0.9452 +vn 0.6738 0.6738 -0.3034 +vn 0.5767 0.5767 -0.5787 +vn -0.7535 -0.3121 0.5787 +vn -0.6738 -0.6738 0.3034 +vn -0.5767 -0.5767 0.5787 +vn 0.2309 0.2309 0.9452 +vn 0.2297 0.5546 0.7998 +vn 0.5767 0.5767 0.5787 +vn 0.3121 0.7535 0.5787 +vn 0.3646 0.8803 -0.3034 +vn -0.6738 0.6738 0.3034 +vn -0.8803 0.3646 0.3034 +vn -0.3016 -0.1249 0.9452 +vn -0.4245 -0.4245 0.7998 +vn -0.2309 -0.2309 0.9452 +vn -0.2297 -0.5546 0.7998 +vn -0.1249 -0.3016 0.9452 +vn 0.8803 0.3646 0.3034 +vn -0.5546 -0.2297 0.7998 +vn 0.3016 0.1249 -0.9452 +vn -0.7535 -0.3121 -0.5787 +vn 0.6738 0.6738 0.3034 +vn 0.3646 0.8803 0.3034 +vn 0.3016 0.1249 0.9452 +vn 0.3265 -0.0000 0.9452 +vn 0.5546 -0.2297 -0.7998 +vn 0.6003 -0.0000 -0.7998 +vn -0.6003 0.0000 0.7998 +vn 0.3016 -0.1249 -0.9452 +vn 0.3265 -0.0000 -0.9452 +vn -0.8803 -0.3646 0.3034 +vn -0.0000 0.8155 -0.5787 +vn 0.2297 0.5546 -0.7998 +vn -0.0000 0.6003 -0.7998 +vn -0.8155 0.0000 -0.5787 +vn -0.8155 0.0000 0.5787 +vn -0.0000 -0.8155 -0.5787 +vn 0.5767 -0.5767 -0.5787 +vn 0.3121 -0.7535 -0.5787 +vn 0.3016 -0.1249 0.9452 +vn -0.9528 -0.0000 -0.3034 +vn 0.6003 -0.0000 0.7998 +vn 0.5546 0.2297 0.7998 +vn -0.0000 -0.6003 -0.7998 +vn 0.1249 -0.3016 -0.9452 +vn 0.2297 -0.5546 -0.7998 +vn 0.9528 -0.0000 0.3034 +vn 0.8155 -0.0000 0.5787 +vn 0.7535 0.3121 0.5787 +vn 0.4245 -0.4245 -0.7998 +vn 0.2309 -0.2309 -0.9452 +vn -0.6738 0.6738 -0.3034 +vn -0.3121 0.7535 -0.5787 +vn -0.5767 0.5767 -0.5787 +vn -0.3121 0.7535 0.5787 +vn -0.5767 0.5767 0.5787 +vn 0.2309 -0.2309 0.9452 +vn 0.4245 -0.4245 0.7998 +vn 0.7535 -0.3121 0.5787 +vn 0.5546 -0.2297 0.7998 +vn -0.3646 0.8803 -0.3034 +vn 0.6738 -0.6738 0.3034 +vn 0.3646 -0.8803 0.3034 +vn -0.2297 0.5546 -0.7998 +vn -0.0000 0.9528 -0.3034 +vn 0.7535 -0.3121 -0.5787 +vn 0.4245 0.4245 -0.7998 +vn 0.0000 -0.3265 -0.9452 +vn 0.0000 -0.9528 0.3034 +vn -0.0000 -0.8155 0.5787 +vn -0.3121 -0.7535 0.5787 +vn -0.3646 -0.8803 0.3034 +vn 0.0000 -0.3265 0.9452 +vn 0.8803 -0.3646 0.3034 +vn -0.1249 0.3016 -0.9452 +vn 0.3121 -0.7535 0.5787 +vn -0.8803 0.3646 -0.3034 +vn -0.7535 0.3121 -0.5787 +vn -0.7535 0.3121 0.5787 +vn 0.9528 0.0000 -0.3034 +vn 0.8803 -0.3646 -0.3034 +vn -0.4245 0.4245 -0.7998 +vn -0.2309 0.2309 -0.9452 +vn -0.5546 0.2297 0.7998 +vn -0.2309 0.2309 0.9452 +vn -0.5546 0.2297 -0.7998 +vn -0.2309 -0.2309 -0.9452 +vn 0.3121 0.7535 -0.5787 +vn 0.6738 -0.6738 -0.3034 +vn -0.3265 -0.0000 -0.9452 +vn -0.0000 0.8155 0.5787 +vn -0.3265 -0.0000 0.9452 +vn -0.3016 0.1249 0.9452 +vn -0.3016 0.1249 -0.9452 +vn 0.5767 -0.5767 0.5787 +vn 0.4245 0.4245 0.7998 +vn -0.3646 0.8803 0.3034 +vn -0.9528 0.0000 0.3034 +s off +f 949/1141/825 946/1142/825 947/1143/825 +f 967/1144/826 962/1145/826 960/1146/826 +f 1030/1147/827 1025/1148/827 1028/1149/827 +f 961/1150/828 964/1151/828 966/1152/828 +f 1031/1153/829 1028/1149/829 1029/1154/829 +f 920/1155/830 925/1156/830 923/1157/830 +f 1516/1158/831 944/1159/831 941/1160/831 +f 1027/1161/832 1026/1162/832 1024/1163/832 +f 1331/1164/825 1332/1165/825 1329/1166/825 +f 1012/1167/827 1010/1168/827 1008/1169/827 +f 923/1170/826 919/1171/826 922/1172/826 +f 929/1173/825 926/1174/825 932/1175/825 +f 1013/1176/832 1008/1169/832 1010/1177/832 +f 924/1178/833 913/1179/833 915/1180/833 +f 918/1181/831 914/1182/831 916/1183/831 +f 999/1184/829 995/1185/829 997/1186/829 +f 991/1187/834 987/1188/834 989/1189/834 +f 1004/1190/835 1002/1191/835 1000/1192/835 +f 947/1143/831 946/1193/831 944/1159/831 +f 1516/1158/828 949/1141/828 947/1143/828 +f 948/1194/830 940/1195/830 934/1196/830 +f 971/1197/835 970/1198/835 968/1199/835 +f 943/1200/833 934/1201/833 941/1202/833 +f 1022/1203/836 1017/1204/836 1020/1205/836 +f 1007/1206/837 1003/1207/837 1005/1208/837 +f 1003/1207/830 1004/1190/830 1000/1192/830 +f 941/1209/831 945/1210/831 943/1200/831 +f 985/1211/830 989/1212/830 986/1213/830 +f 958/1214/833 954/1215/833 952/1216/833 +f 983/1217/830 978/1218/830 982/1219/830 +f 919/1171/838 914/1182/838 917/1220/838 +f 1029/1154/830 1025/1148/830 1027/1161/830 +f 951/1221/826 944/1222/826 946/1142/826 +f 1024/1223/825 1029/1154/825 1027/1161/825 +f 922/1172/826 917/1220/826 918/1224/826 +f 1016/1225/831 1022/1226/831 1023/1227/831 +f 989/1228/836 984/1229/836 986/1230/836 +f 934/1231/828 939/1232/828 942/1233/828 +f 994/1234/830 999/1184/830 997/1186/830 +f 1014/1235/830 1008/1169/830 1011/1236/830 +f 974/1237/839 969/1238/839 972/1239/839 +f 976/1240/829 981/1241/829 979/1242/829 +f 1019/1243/830 1020/1205/830 1017/1204/830 +f 968/1199/830 974/1244/830 975/1245/830 +f 1005/1246/839 1000/1192/839 1002/1247/839 +f 981/1241/831 977/1248/831 979/1242/831 +f 931/1249/833 913/1250/833 920/1251/833 +f 998/1252/831 992/1253/831 995/1185/831 +f 987/1188/831 988/1254/831 984/1229/831 +f 971/1197/831 972/1239/831 969/1238/831 +f 1023/1255/834 1020/1205/834 1021/1256/834 +f 937/1257/833 935/1258/833 933/1259/833 +f 950/1260/833 934/1261/833 940/1262/833 +f 1031/1153/831 1026/1263/831 1030/1264/831 +f 997/1265/827 992/1253/827 994/1266/827 +f 1019/1243/840 1018/1267/840 1016/1225/840 +f 944/1268/826 938/1269/826 945/1210/826 +f 1001/1270/841 1006/1271/841 1007/1272/841 +f 988/1254/840 986/1213/840 984/1229/840 +f 942/1273/826 936/1274/826 938/1269/826 +f 945/1210/838 935/1258/838 943/1200/838 +f 963/1275/838 960/1146/838 962/1145/838 +f 952/1216/828 955/1276/828 958/1214/828 +f 1016/1277/842 1021/1256/842 1019/1243/842 +f 993/1278/825 998/1252/825 999/1279/825 +f 1516/1158/829 940/1262/829 948/1194/829 +f 939/1232/830 933/1259/830 936/1274/830 +f 959/1280/826 957/1281/826 955/1276/826 +f 932/1175/826 923/1282/826 922/1283/826 +f 975/1284/837 972/1239/837 973/1285/837 +f 938/1269/838 933/1259/838 935/1258/838 +f 966/1152/833 965/1286/833 963/1287/833 +f 925/1156/838 915/1180/838 919/1171/838 +f 985/1288/842 990/1289/842 991/1290/842 +f 996/1291/832 994/1292/832 992/1253/832 +f 913/1293/828 918/1181/828 916/1183/828 +f 1009/1294/829 1014/1235/829 1015/1295/829 +f 1241/1296/831 1277/1297/831 1275/1298/831 +f 1238/1299/830 1270/1300/830 1271/1301/830 +f 1267/1302/830 1270/1303/830 1240/1304/830 +f 1244/1305/830 1271/1306/830 1274/1307/830 +f 1320/1308/825 1329/1166/825 1332/1165/825 +f 1209/1309/831 1178/1310/831 1180/1311/831 +f 1215/1312/830 1181/1313/830 1210/1314/830 +f 1284/1315/830 1249/1316/830 1282/1317/830 +f 1251/1318/831 1287/1319/831 1285/1320/831 +f 1250/1321/831 1279/1322/831 1248/1323/831 +f 1230/1324/830 1194/1325/830 1225/1326/830 +f 1249/1316/830 1280/1327/830 1282/1328/830 +f 1252/1329/831 1285/1330/831 1283/1331/831 +f 1206/1332/830 1179/1333/830 1177/1334/830 +f 1223/1335/830 1187/1336/830 1219/1337/830 +f 1223/1338/830 1192/1339/830 1190/1340/830 +f 1269/1341/831 1299/1342/831 1268/1343/831 +f 1255/1344/830 1286/1345/830 1288/1346/830 +f 1290/1347/830 1255/1344/830 1288/1348/830 +f 1224/1349/831 1191/1350/831 1193/1351/831 +f 1265/1352/830 1296/1353/830 1298/1354/830 +f 1257/1355/830 1292/1356/830 1259/1357/830 +f 1233/1358/830 1198/1359/830 1229/1360/830 +f 1195/1361/831 1228/1362/831 1227/1363/831 +f 1264/1364/831 1293/1365/831 1262/1366/831 +f 1197/1367/831 1231/1368/831 1228/1369/831 +f 1297/1370/831 1268/1343/831 1299/1371/831 +f 1218/1372/831 1186/1373/831 1188/1374/831 +f 1177/1334/830 1207/1375/830 1206/1376/830 +f 1267/1302/830 1298/1377/830 1300/1378/830 +f 1214/1379/830 1217/1380/830 1185/1381/830 +f 1203/1382/831 1237/1383/831 1234/1384/831 +f 1015/1385/825 1011/1236/825 1013/1386/825 +f 982/1387/832 977/1248/832 980/1388/832 +f 983/1217/825 980/1388/825 981/1241/825 +f 979/1242/827 978/1389/827 976/1390/827 +f 930/1391/829 921/1392/829 931/1249/829 +f 956/1393/838 953/1394/838 957/1395/838 +f 930/1391/828 929/1173/828 927/1396/828 +f 1242/1397/831 1273/1398/831 1239/1399/831 +f 1237/1400/831 1175/1401/831 1205/1402/831 +f 1272/1403/831 1241/1296/831 1275/1404/831 +f 1205/1405/831 1178/1310/831 1208/1406/831 +f 1210/1407/830 1179/1333/830 1211/1408/830 +f 1276/1409/830 1244/1305/830 1274/1410/830 +f 1212/1411/831 1180/1311/831 1182/1412/831 +f 1243/1413/830 1278/1414/830 1245/1415/830 +f 1185/1381/830 1215/1416/830 1214/1417/830 +f 1259/1357/830 1294/1418/830 1261/1419/830 +f 1213/1420/831 1186/1373/831 1216/1421/831 +f 1233/1422/830 1202/1423/830 1200/1424/830 +f 1258/1425/831 1291/1426/831 1289/1427/831 +f 1260/1428/831 1293/1429/831 1291/1430/831 +f 1287/1431/831 1258/1425/831 1289/1432/831 +f 1254/1433/830 1286/1434/830 1253/1435/830 +f 1221/1436/831 1191/1350/831 1222/1437/831 +f 1188/1374/831 1221/1438/831 1218/1439/831 +f 1219/1440/830 1217/1380/830 1220/1441/830 +f 1225/1442/830 1192/1339/830 1226/1443/830 +f 1281/1444/831 1252/1329/831 1283/1445/831 +f 1193/1351/831 1227/1446/831 1224/1447/831 +f 1198/1359/830 1230/1448/830 1229/1449/830 +f 1261/1419/830 1296/1450/830 1263/1451/830 +f 1264/1364/831 1297/1452/831 1295/1453/831 +f 1212/1454/831 1184/1455/831 1213/1456/831 +f 1231/1457/831 1201/1458/831 1232/1459/831 +f 1245/1415/830 1280/1460/830 1247/1461/830 +f 1232/1462/831 1203/1382/831 1234/1463/831 +f 1204/1464/830 1236/1465/830 1235/1466/830 +f 1269/1341/831 1273/1467/831 1301/1468/831 +f 1207/1469/830 1204/1464/830 1235/1470/830 +f 1320/1308/825 1321/1471/825 1322/1472/825 +f 1001/1473/831 1005/1474/831 1002/1191/831 +f 1367/1475/829 1369/1476/829 1355/1477/829 +f 1346/1478/825 1347/1479/825 1342/1480/825 +f 1010/1481/831 1015/1385/831 1013/1386/831 +f 1325/1482/827 1324/1483/827 1333/1484/827 +f 1357/1485/829 1358/1486/829 1359/1487/829 +f 1334/1488/825 1335/1489/825 1321/1471/825 +f 1323/1490/827 1333/1484/827 1324/1483/827 +f 1310/1491/829 1302/1492/829 1315/1493/829 +f 1307/1494/832 1308/1495/832 1309/1496/832 +f 1359/1487/829 1361/1497/829 1364/1498/829 +f 1304/1499/829 1306/1500/829 1319/1501/829 +f 1325/1482/827 1326/1502/827 1327/1503/827 +f 1302/1492/829 1303/1504/829 1304/1499/829 +f 1315/1493/829 1316/1505/829 1310/1491/829 +f 1330/1506/827 1328/1507/827 1326/1502/827 +f 1317/1508/832 1307/1494/832 1318/1509/832 +f 1341/1510/825 1340/1511/825 1349/1512/825 +f 1344/1513/827 1348/1514/827 1345/1515/827 +f 1354/1516/832 1356/1517/832 1368/1518/832 +f 1336/1519/827 1337/1520/827 1338/1521/827 +f 1341/1510/825 1342/1480/825 1343/1522/825 +f 1309/1496/832 1311/1523/832 1314/1524/832 +f 1365/1525/832 1360/1526/832 1366/1527/832 +f 1336/1519/827 1345/1515/827 1348/1514/827 +f 968/1528/841 973/1285/841 971/1197/841 +f 1366/1527/832 1352/1529/832 1365/1525/832 +f 1351/1530/825 1349/1512/825 1340/1511/825 +f 923/1531/830 930/1391/830 920/1532/830 +f 1352/1529/832 1353/1533/832 1354/1516/832 +f 1355/1477/829 1357/1485/829 1367/1475/829 +f 1318/1509/832 1305/1534/832 1317/1508/832 +f 1350/1535/827 1339/1536/827 1337/1520/827 +f 1164/1537/830 1125/1538/830 1126/1539/830 +f 1246/1540/831 1279/1541/831 1277/1542/831 +f 931/1543/830 920/1532/830 930/1391/830 +f 923/1531/830 926/1544/830 928/1545/830 +f 932/1546/831 922/1547/831 929/1173/831 +f 913/1548/831 921/1549/831 927/1396/831 +f 949/1141/830 934/1196/830 942/1550/830 +f 941/1160/831 950/1551/831 1516/1158/831 +f 913/1548/831 929/1173/831 922/1547/831 +f 942/1550/830 951/1552/830 949/1141/830 +f 1045/1553/830 1039/1554/830 1063/1555/830 +f 1072/1556/831 1064/1557/831 1065/1558/831 +f 1126/1539/830 1127/1559/830 1169/1560/830 +f 1169/1560/830 1164/1537/830 1126/1539/830 +f 1124/1561/830 1155/1562/830 1150/1563/830 +f 1150/1563/830 1145/1564/830 1125/1538/830 +f 1125/1538/830 1136/1565/830 1126/1539/830 +f 1124/1561/830 1150/1563/830 1125/1538/830 +f 916/1566/833 915/1180/833 913/1179/833 +f 1587/1567/843 1588/1568/843 1589/1569/843 +f 1872/1570/844 1867/1571/844 1870/1572/844 +f 1578/1573/845 1574/1574/845 1576/1575/845 +f 1631/1576/846 1621/1577/846 1625/1578/846 +f 1802/1579/847 1796/1580/847 1801/1581/847 +f 1549/1582/848 1542/1583/848 1539/1584/848 +f 1550/1585/848 1544/1586/848 1542/1583/848 +f 1546/1587/848 1551/1588/848 1544/1586/848 +f 1548/1589/848 1539/1584/848 1551/1588/848 +f 1888/1590/849 1884/1591/849 1882/1592/849 +f 1617/1593/850 1613/1594/850 1615/1595/850 +f 1598/1596/851 1600/1597/851 1594/1598/851 +f 1575/1599/852 1573/1600/852 1571/1601/852 +f 1574/1602/853 1572/1603/853 1575/1604/853 +f 1850/1605/849 1846/1606/849 1848/1607/849 +f 1861/1608/854 1864/1609/854 1866/1610/854 +f 1594/1611/855 1595/1612/855 1596/1613/855 +f 1557/1614/856 1566/1615/856 1567/1616/856 +f 1556/1617/856 1564/1618/856 1566/1615/856 +f 1564/1618/856 1562/1619/856 1565/1620/856 +f 1565/1620/856 1557/1614/856 1567/1616/856 +f 1729/1621/857 1724/1622/857 1722/1623/857 +f 1549/1624/852 1554/1625/852 1550/1626/852 +f 1596/1627/858 1601/1628/858 1597/1629/858 +f 1584/1630/846 1582/1631/846 1580/1632/846 +f 1539/1584/852 1540/1633/852 1541/1634/852 +f 1590/1635/850 1591/1636/850 1588/1637/850 +f 1562/1619/855 1558/1638/855 1560/1639/855 +f 1555/1640/859 1562/1619/859 1560/1641/859 +f 1563/1642/855 1564/1643/855 1565/1644/855 +f 1573/1600/860 1582/1645/860 1583/1646/860 +f 1572/1603/860 1580/1647/860 1582/1645/860 +f 1580/1647/860 1578/1573/860 1581/1648/860 +f 1581/1648/860 1573/1600/860 1583/1646/860 +f 1597/1649/843 1602/1650/843 1598/1651/843 +f 1569/1652/861 1565/1653/861 1567/1654/861 +f 1670/1655/862 1669/1656/862 1667/1657/862 +f 1846/1658/863 1847/1659/863 1843/1660/863 +f 1542/1583/864 1543/1661/864 1540/1662/864 +f 1551/1588/845 1543/1663/845 1544/1586/845 +f 1551/1588/865 1541/1664/865 1545/1665/865 +f 1546/1666/845 1547/1667/845 1548/1668/845 +f 1597/1669/866 1590/1635/866 1587/1567/866 +f 1598/1670/866 1592/1671/866 1590/1635/866 +f 1594/1672/866 1599/1673/866 1592/1671/866 +f 1596/1674/866 1587/1567/866 1599/1673/866 +f 1570/1675/843 1567/1676/843 1566/1677/843 +f 1548/1678/867 1553/1679/867 1549/1680/867 +f 1568/1681/868 1566/1682/868 1564/1683/868 +f 1655/1684/845 1653/1685/845 1651/1686/845 +f 1654/1687/867 1652/1688/867 1655/1689/867 +f 1658/1690/852 1654/1691/852 1656/1692/852 +f 1651/1693/869 1658/1690/869 1656/1694/869 +f 1659/1695/852 1660/1696/852 1661/1697/852 +f 1605/1698/870 1614/1699/870 1615/1700/870 +f 1604/1701/870 1612/1702/870 1614/1699/870 +f 1612/1702/870 1610/1703/870 1613/1704/870 +f 1613/1704/870 1605/1698/870 1615/1700/870 +f 1666/1705/845 1663/1706/845 1662/1707/845 +f 1665/1708/864 1661/1709/864 1663/1710/864 +f 1903/1711/871 1899/1712/871 1904/1713/871 +f 1635/1714/855 1636/1715/855 1637/1716/855 +f 1638/1717/861 1639/1718/861 1636/1719/861 +f 1647/1720/843 1639/1721/843 1640/1722/843 +f 1647/1720/868 1637/1723/868 1641/1724/868 +f 1642/1725/843 1643/1726/843 1644/1727/843 +f 1629/1728/872 1622/1729/872 1619/1730/872 +f 1630/1731/872 1624/1732/872 1622/1729/872 +f 1626/1733/872 1631/1576/872 1624/1732/872 +f 1628/1734/872 1619/1730/872 1631/1576/872 +f 1667/1657/873 1673/1735/873 1674/1736/873 +f 1644/1737/874 1649/1738/874 1645/1739/874 +f 1666/1705/865 1660/1740/865 1664/1741/865 +f 1843/1742/875 1844/1743/875 1845/1744/875 +f 1558/1745/874 1556/1617/874 1559/1746/874 +f 1610/1703/843 1606/1747/843 1608/1748/843 +f 1603/1749/851 1610/1703/851 1608/1750/851 +f 1579/1751/845 1580/1752/845 1581/1753/845 +f 1645/1754/876 1638/1717/876 1635/1714/876 +f 1646/1755/876 1640/1722/876 1638/1717/876 +f 1642/1756/876 1647/1720/876 1640/1722/876 +f 1644/1757/876 1635/1714/876 1647/1720/876 +f 1629/1758/845 1634/1759/845 1630/1760/845 +f 1559/1761/843 1557/1614/843 1555/1762/843 +f 1634/1759/877 1626/1763/877 1630/1764/877 +f 1619/1730/845 1620/1765/845 1621/1766/845 +f 1622/1729/877 1623/1767/877 1620/1768/877 +f 1741/1769/878 1739/1770/878 1744/1771/878 +f 1571/1772/879 1578/1573/879 1576/1773/879 +f 1626/1774/852 1627/1775/852 1628/1776/852 +f 1653/1685/880 1662/1777/880 1663/1778/880 +f 1652/1688/880 1660/1779/880 1662/1777/880 +f 1660/1779/880 1658/1690/880 1661/1780/880 +f 1661/1780/880 1653/1685/880 1663/1778/880 +f 1815/1781/878 1813/1782/878 1811/1783/878 +f 1645/1784/855 1650/1785/855 1646/1786/855 +f 1628/1787/853 1633/1788/853 1629/1789/853 +f 1618/1790/881 1612/1791/881 1616/1792/881 +f 1751/1793/862 1749/1794/862 1747/1795/862 +f 1748/1796/882 1752/1797/882 1749/1798/882 +f 1755/1799/882 1756/1800/882 1757/1801/882 +f 1678/1802/883 1667/1657/883 1677/1803/883 +f 1679/1804/883 1670/1655/883 1678/1802/883 +f 1675/1805/883 1672/1806/883 1679/1804/883 +f 1677/1803/883 1674/1736/883 1675/1805/883 +f 1770/1807/884 1769/1808/884 1768/1809/884 +f 1760/1810/885 1759/1811/885 1756/1812/885 +f 1822/1813/878 1819/1814/878 1821/1815/878 +f 1767/1816/886 1765/1817/886 1763/1818/886 +f 1763/1819/887 1766/1820/887 1767/1816/887 +f 1802/1821/888 1798/1822/888 1800/1823/888 +f 1753/1824/883 1747/1825/883 1750/1826/883 +f 1776/1827/889 1773/1828/889 1771/1829/889 +f 1693/1830/887 1683/1831/887 1692/1832/887 +f 1694/1833/887 1686/1834/887 1693/1830/887 +f 1690/1835/887 1695/1836/887 1694/1833/887 +f 1692/1832/887 1688/1837/887 1690/1835/887 +f 1650/1785/861 1642/1838/861 1646/1839/861 +f 1777/1840/886 1773/1841/886 1774/1842/886 +f 1783/1843/826 1781/1844/826 1779/1845/826 +f 1793/1846/890 1791/1847/890 1794/1848/890 +f 1786/1849/833 1782/1850/833 1784/1851/833 +f 1709/1852/890 1699/1853/890 1708/1854/890 +f 1710/1855/890 1711/1856/890 1709/1852/890 +f 1706/1857/890 1702/1858/890 1710/1855/890 +f 1708/1854/890 1704/1859/890 1706/1857/890 +f 1586/1860/852 1583/1861/852 1582/1862/852 +f 1708/1863/826 1712/1864/826 1709/1865/826 +f 1699/1853/891 1705/1866/891 1704/1859/891 +f 1713/1867/891 1708/1868/891 1706/1869/891 +f 1799/1870/892 1797/1871/892 1795/1872/892 +f 1931/1873/893 1934/1874/893 1932/1875/893 +f 1697/1876/894 1692/1877/894 1690/1878/894 +f 1631/1576/852 1623/1879/852 1624/1732/852 +f 1808/1880/847 1805/1881/847 1803/1882/847 +f 1725/1883/895 1715/1884/895 1724/1885/895 +f 1726/1886/895 1727/1887/895 1725/1883/895 +f 1726/1886/895 1720/1888/895 1718/1889/895 +f 1724/1885/895 1720/1888/895 1722/1890/895 +f 1692/1891/886 1696/1892/886 1693/1893/886 +f 1761/1894/883 1759/1895/883 1762/1896/883 +f 1806/1897/892 1803/1882/892 1805/1898/892 +f 1611/1899/843 1612/1900/843 1613/1901/843 +f 1550/1902/869 1552/1903/869 1546/1904/869 +f 1725/1905/892 1723/1906/892 1728/1907/892 +f 1813/1908/896 1818/1909/896 1816/1910/896 +f 1741/1911/897 1731/1912/897 1740/1913/897 +f 1742/1914/897 1743/1915/897 1741/1911/897 +f 1742/1914/897 1737/1916/897 1734/1917/897 +f 1740/1913/897 1737/1916/897 1738/1918/897 +f 1825/1919/897 1823/1920/897 1826/1921/897 +f 1817/1922/897 1811/1923/897 1814/1924/897 +f 1824/1925/898 1823/1926/898 1820/1927/898 +f 1755/1799/862 1758/1928/862 1761/1894/862 +f 1686/1834/886 1685/1929/886 1683/1831/886 +f 1672/1806/899 1668/1930/899 1670/1655/899 +f 1672/1806/885 1673/1931/885 1671/1932/885 +f 1810/1933/895 1806/1934/895 1807/1935/895 +f 1742/1936/898 1745/1937/898 1738/1938/898 +f 1748/1796/899 1758/1939/899 1757/1940/899 +f 1758/1939/899 1753/1824/899 1759/1941/899 +f 1759/1941/899 1754/1942/899 1756/1943/899 +f 1754/1942/899 1757/1940/899 1756/1943/899 +f 1680/1944/899 1679/1945/899 1678/1946/899 +f 1618/1790/855 1615/1947/855 1614/1948/855 +f 1676/1949/862 1678/1950/862 1677/1951/862 +f 1727/1887/892 1717/1952/892 1715/1884/892 +f 1607/1953/855 1605/1698/855 1603/1954/855 +f 1695/1836/884 1689/1955/884 1687/1956/884 +f 1683/1831/894 1689/1957/894 1688/1837/894 +f 1776/1827/884 1775/1958/884 1772/1959/884 +f 1764/1960/900 1774/1961/900 1773/1962/900 +f 1767/1816/900 1775/1963/900 1774/1961/900 +f 1766/1820/900 1772/1964/900 1775/1963/900 +f 1770/1807/900 1773/1962/900 1772/1964/900 +f 1775/1965/887 1777/1840/887 1774/1966/887 +f 1694/1967/900 1696/1892/900 1698/1968/900 +f 1694/1969/884 1697/1876/884 1690/1970/884 +f 1953/1971/901 1869/1972/901 1867/1973/901 +f 1702/1858/833 1705/1974/833 1703/1975/833 +f 1712/1864/902 1710/1976/902 1709/1977/902 +f 1734/1917/898 1736/1978/898 1735/1979/898 +f 1792/1980/903 1789/1981/903 1787/1982/903 +f 1711/1856/902 1703/1983/902 1700/1984/902 +f 1780/1985/902 1790/1986/902 1789/1987/902 +f 1783/1843/902 1791/1988/902 1790/1986/902 +f 1782/1850/902 1788/1989/902 1791/1988/902 +f 1785/1990/902 1789/1987/902 1788/1989/902 +f 1714/1991/833 1706/1992/833 1710/1993/833 +f 1794/1848/833 1788/1994/833 1792/1980/833 +f 1784/1995/890 1783/1843/890 1779/1996/890 +f 1780/1985/903 1786/1997/903 1781/1998/903 +f 1606/1999/858 1604/1701/858 1607/2000/858 +f 1716/2001/904 1718/1889/904 1719/2002/904 +f 1718/1889/888 1721/2003/888 1719/2004/888 +f 1715/1884/857 1721/2005/857 1720/1888/857 +f 1764/1960/889 1768/2006/889 1765/2007/889 +f 1796/1580/904 1806/2008/904 1805/2009/904 +f 1799/1870/904 1807/2010/904 1806/2008/904 +f 1807/2010/904 1801/1581/904 1804/2011/904 +f 1801/1581/904 1805/2009/904 1804/2011/904 +f 1725/2012/904 1730/2013/904 1726/2014/904 +f 1726/2015/888 1729/1621/888 1722/2016/888 +f 1795/2017/895 1798/1822/895 1799/1870/895 +f 1743/1915/878 1733/2018/878 1731/1912/878 +f 1732/2019/905 1734/1917/905 1735/2020/905 +f 1711/1856/826 1701/2021/826 1699/1853/826 +f 1737/1916/906 1733/2022/906 1736/2023/906 +f 1745/1937/906 1740/2024/906 1738/2025/906 +f 1812/2026/905 1822/2027/905 1821/2028/905 +f 1815/1781/905 1823/2029/905 1822/2027/905 +f 1823/2029/907 1818/1909/907 1820/2030/907 +f 1818/1909/905 1821/2028/905 1820/2030/905 +f 1744/1771/905 1742/2031/905 1741/2032/905 +f 1679/2033/885 1681/2034/885 1675/2035/885 +f 1599/1673/855 1591/2036/855 1592/1671/855 +f 1922/2037/849 1923/2038/849 1924/2039/849 +f 1909/2040/844 1910/2041/844 1907/2042/844 +f 1929/2043/893 1924/2044/893 1928/2045/893 +f 1913/2046/908 1914/2047/908 1915/2048/908 +f 1837/2049/909 1827/2050/909 1838/2051/909 +f 1837/2049/909 1839/2052/909 1830/2053/909 +f 1836/2054/909 1839/2052/909 1834/2055/909 +f 1836/2054/909 1827/2050/909 1832/2056/909 +f 1917/2057/901 1921/2058/901 1916/2059/901 +f 1915/2060/910 1920/2061/910 1917/2062/910 +f 1913/2063/854 1921/2058/854 1919/2064/854 +f 1859/2065/908 1860/2066/908 1861/2067/908 +f 1893/2068/911 1894/2069/911 1890/2070/911 +f 1929/2043/875 1926/2071/875 1927/2072/875 +f 1891/2073/912 1895/2074/912 1892/2075/912 +f 1824/1925/896 1821/2076/896 1819/1814/896 +f 1854/2077/913 1847/1659/913 1855/2078/913 +f 1847/1659/913 1852/2079/913 1855/2078/913 +f 1849/2080/913 1853/2081/913 1852/2079/913 +f 1850/1605/913 1854/2077/913 1853/2081/913 +f 1903/1711/849 1901/2082/849 1902/2083/849 +f 1898/2084/914 1901/2085/914 1905/2086/914 +f 1935/2087/915 1930/2088/915 1933/2089/915 +f 1890/2090/849 1891/2073/849 1892/2091/849 +f 1941/2092/916 1942/2093/916 1938/2094/916 +f 1941/2095/908 1943/2096/908 1944/2097/908 +f 1945/2098/917 1939/2099/917 1943/2096/917 +f 1954/2100/908 1948/2101/908 1946/2102/908 +f 1870/2103/918 1863/2104/918 1871/2105/918 +f 1871/2105/918 1865/2106/918 1869/2107/918 +f 1869/2107/918 1864/1609/918 1867/2108/918 +f 1867/2108/918 1860/2066/918 1870/2103/918 +f 1856/2109/875 1854/2110/875 1855/2111/875 +f 1951/2112/919 1946/2113/919 1949/2114/919 +f 1952/2115/901 1949/2116/901 1950/2117/901 +f 1906/2118/901 1907/2119/901 1908/2120/901 +f 1830/2053/919 1831/2121/919 1828/2122/919 +f 1897/2123/875 1893/2124/875 1895/2125/875 +f 1832/2056/920 1829/2126/920 1833/2127/920 +f 1936/2128/875 1932/2129/875 1930/2130/875 +f 1885/2131/921 1874/2132/921 1886/2133/921 +f 1885/2131/921 1879/2134/921 1877/2135/921 +f 1884/2136/921 1879/2134/921 1882/2137/921 +f 1884/2136/921 1874/2132/921 1881/2138/921 +f 1808/1880/888 1807/2139/888 1804/2140/888 +f 1934/2141/849 1935/2087/849 1933/2142/849 +f 1851/2143/922 1854/2144/922 1858/2145/922 +f 1948/2146/916 1952/2115/916 1950/2147/916 +f 1938/2148/901 1939/2099/901 1940/2149/901 +f 1862/2150/910 1863/2104/910 1859/2151/910 +f 1862/2152/901 1864/1609/901 1865/2106/901 +f 1816/2153/898 1817/1922/898 1814/2154/898 +f 1857/2155/849 1853/2156/849 1851/2143/849 +f 1901/2157/923 1894/2069/923 1902/2158/923 +f 1894/2069/923 1899/2159/923 1902/2158/923 +f 1896/2160/923 1900/2161/923 1899/2159/923 +f 1897/2123/923 1901/2157/923 1900/2161/923 +f 1886/2162/875 1887/2163/875 1885/2164/875 +f 1599/1673/881 1589/2165/881 1593/2166/881 +f 1856/2109/893 1852/2167/893 1857/2155/893 +f 1752/2168/885 1753/1824/885 1750/2169/885 +f 1925/2170/915 1926/2171/915 1923/2172/915 +f 1831/2173/901 1832/2056/901 1833/2174/901 +f 1874/2132/871 1880/2175/871 1881/2138/871 +f 1916/2176/924 1906/2118/924 1917/2177/924 +f 1916/2176/924 1918/2178/924 1909/2040/924 +f 1915/2179/924 1918/2178/924 1913/2180/924 +f 1915/2179/924 1906/2118/924 1911/2181/924 +f 1675/2182/873 1676/1949/873 1677/2183/873 +f 1585/2184/877 1581/2185/877 1583/2186/877 +f 1869/2187/910 1873/2188/910 1871/2189/910 +f 1874/2132/875 1875/2190/875 1876/2191/875 +f 1695/1836/900 1684/2192/900 1686/1834/900 +f 1881/2138/849 1878/2193/849 1879/2134/849 +f 1845/2194/922 1850/1605/922 1848/2195/922 +f 1904/1713/875 1900/2196/875 1898/2084/875 +f 1933/2197/925 1922/2037/925 1934/2198/925 +f 1933/2197/925 1927/2072/925 1925/2170/925 +f 1932/2199/925 1927/2072/925 1930/2200/925 +f 1932/2199/925 1922/2037/925 1929/2043/925 +f 1838/2201/908 1842/2202/908 1837/2203/908 +f 1883/2204/871 1886/2205/871 1884/2206/871 +f 1887/2163/912 1882/2207/912 1885/2208/912 +f 1827/2050/908 1828/2209/908 1829/2210/908 +f 1877/2135/912 1878/2211/912 1875/2212/912 +f 1910/2213/908 1911/2181/908 1912/2214/908 +f 1911/2181/926 1908/2215/926 1912/2216/926 +f 1834/2217/901 1835/2218/901 1836/2219/901 +f 1949/2220/927 1942/2093/927 1950/2221/927 +f 1950/2221/927 1944/2097/927 1948/2222/927 +f 1948/2222/927 1943/2096/927 1946/2223/927 +f 1946/2223/927 1939/2099/927 1949/2220/927 +f 1873/2188/908 1870/2224/908 1871/2225/908 +f 1836/2226/916 1841/2227/916 1838/2228/916 +f 1834/2229/917 1842/2202/917 1840/2230/917 +f 1549/1582/848 1550/1585/848 1542/1583/848 +f 1550/1585/848 1546/1587/848 1544/1586/848 +f 1546/1587/848 1548/1589/848 1551/1588/848 +f 1548/1589/848 1549/1582/848 1539/1584/848 +f 1557/1614/856 1556/1617/856 1566/1615/856 +f 1556/1617/856 1561/2231/856 1564/1618/856 +f 1564/1618/856 1561/2231/856 1562/1619/856 +f 1565/1620/856 1562/1619/856 1557/1614/856 +f 1573/1600/860 1572/1603/860 1582/1645/860 +f 1572/1603/860 1577/2232/860 1580/1647/860 +f 1580/1647/860 1577/2232/860 1578/1573/860 +f 1581/1648/860 1578/1573/860 1573/1600/860 +f 1597/1669/866 1598/1670/866 1590/1635/866 +f 1598/1670/866 1594/1672/866 1592/1671/866 +f 1594/1672/866 1596/1674/866 1599/1673/866 +f 1596/1674/866 1597/1669/866 1587/1567/866 +f 1605/1698/870 1604/1701/870 1614/1699/870 +f 1604/1701/870 1609/2233/870 1612/1702/870 +f 1612/1702/870 1609/2233/870 1610/1703/870 +f 1613/1704/870 1610/1703/870 1605/1698/870 +f 1629/1728/872 1630/1731/872 1622/1729/872 +f 1630/1731/872 1626/1733/872 1624/1732/872 +f 1626/1733/872 1628/1734/872 1631/1576/872 +f 1628/1734/872 1629/1728/872 1619/1730/872 +f 1645/1754/876 1646/1755/876 1638/1717/876 +f 1646/1755/876 1642/1756/876 1640/1722/876 +f 1642/1756/876 1644/1757/876 1647/1720/876 +f 1644/1757/876 1645/1754/876 1635/1714/876 +f 1653/1685/880 1652/1688/880 1662/1777/880 +f 1652/1688/880 1657/2234/880 1660/1779/880 +f 1660/1779/880 1657/2234/880 1658/1690/880 +f 1661/1780/880 1658/1690/880 1653/1685/880 +f 1678/1802/883 1670/1655/883 1667/1657/883 +f 1679/1804/883 1672/1806/883 1670/1655/883 +f 1675/1805/883 1674/1736/883 1672/1806/883 +f 1677/1803/883 1667/1657/883 1674/1736/883 +f 1693/1830/887 1686/1834/887 1683/1831/887 +f 1694/1833/887 1695/1836/887 1686/1834/887 +f 1690/1835/887 1688/1837/887 1695/1836/887 +f 1692/1832/887 1683/1831/887 1688/1837/887 +f 1709/1852/890 1711/1856/890 1699/1853/890 +f 1710/1855/890 1702/1858/890 1711/1856/890 +f 1706/1857/890 1704/1859/890 1702/1858/890 +f 1708/1854/890 1699/1853/890 1704/1859/890 +f 1725/1883/895 1727/1887/895 1715/1884/895 +f 1726/1886/895 1718/1889/895 1727/1887/895 +f 1726/1886/895 1722/1890/895 1720/1888/895 +f 1724/1885/895 1715/1884/895 1720/1888/895 +f 1741/1911/897 1743/1915/897 1731/1912/897 +f 1742/1914/897 1734/1917/897 1743/1915/897 +f 1742/1914/928 1738/1918/928 1737/1916/928 +f 1740/1913/897 1731/1912/897 1737/1916/897 +f 1748/1796/899 1751/1793/899 1758/1939/899 +f 1758/1939/899 1751/1793/899 1753/1824/899 +f 1759/1941/899 1753/1824/899 1754/1942/899 +f 1754/1942/899 1748/1796/899 1757/1940/899 +f 1764/1960/900 1767/1816/900 1774/1961/900 +f 1767/1816/900 1766/1820/900 1775/1963/900 +f 1766/1820/900 1770/1807/900 1772/1964/900 +f 1770/1807/900 1764/1960/900 1773/1962/900 +f 1780/1985/902 1783/1843/902 1790/1986/902 +f 1783/1843/902 1782/1850/902 1791/1988/902 +f 1782/1850/902 1785/1990/902 1788/1989/902 +f 1785/1990/902 1780/1985/902 1789/1987/902 +f 1796/1580/904 1799/1870/904 1806/2008/904 +f 1799/1870/904 1798/1822/904 1807/2010/904 +f 1807/2010/904 1798/1822/904 1801/1581/904 +f 1801/1581/904 1796/1580/904 1805/2009/904 +f 1812/2026/905 1815/1781/905 1822/2027/905 +f 1815/1781/905 1817/1922/905 1823/2029/905 +f 1823/2029/905 1817/1922/905 1818/1909/905 +f 1818/1909/905 1812/2026/905 1821/2028/905 +f 1837/2049/909 1830/2053/909 1827/2050/909 +f 1837/2049/909 1834/2055/909 1839/2052/909 +f 1836/2054/909 1832/2056/909 1839/2052/909 +f 1836/2054/909 1838/2051/909 1827/2050/909 +f 1854/2077/913 1844/1743/913 1847/1659/913 +f 1847/1659/913 1849/2080/913 1852/2079/913 +f 1849/2080/913 1850/1605/913 1853/2081/913 +f 1850/1605/913 1844/1743/913 1854/2077/913 +f 1870/2103/918 1860/2066/918 1863/2104/918 +f 1871/2105/918 1863/2104/918 1865/2106/918 +f 1869/2107/918 1865/2106/918 1864/1609/918 +f 1867/2108/918 1864/1609/918 1860/2066/918 +f 1885/2131/921 1877/2135/921 1874/2132/921 +f 1885/2131/921 1882/2137/921 1879/2134/921 +f 1884/2136/921 1881/2138/921 1879/2134/921 +f 1884/2136/921 1886/2133/921 1874/2132/921 +f 1901/2157/923 1891/2073/923 1894/2069/923 +f 1894/2069/923 1896/2160/923 1899/2159/923 +f 1896/2160/923 1897/2123/923 1900/2161/923 +f 1897/2123/923 1891/2073/923 1901/2157/923 +f 1916/2176/924 1909/2040/924 1906/2118/924 +f 1916/2176/924 1913/2180/924 1918/2178/924 +f 1915/2179/924 1911/2181/924 1918/2178/924 +f 1915/2179/924 1917/2177/924 1906/2118/924 +f 1933/2197/925 1925/2170/925 1922/2037/925 +f 1933/2197/925 1930/2200/925 1927/2072/925 +f 1932/2199/925 1929/2043/925 1927/2072/925 +f 1932/2199/925 1934/2198/925 1922/2037/925 +f 1949/2220/927 1939/2099/927 1942/2093/927 +f 1950/2221/927 1942/2093/927 1944/2097/927 +f 1948/2222/927 1944/2097/927 1943/2096/927 +f 1946/2223/927 1943/2096/927 1939/2099/927 +f 1793/1846/826 1789/2235/826 1790/2236/826 +f 1957/2237/830 1956/2238/830 1962/2239/830 +f 1956/2240/837 1959/2241/837 1955/2242/837 +f 1957/2237/839 1959/2243/839 1958/2244/839 +f 1956/2240/841 1961/2245/841 1962/2239/841 +f 1962/2239/835 1960/2246/835 1957/2237/835 +f 2062/2247/831 2146/2248/831 2015/2249/831 +f 1966/2250/831 2127/2251/831 1967/2252/831 +f 2047/2253/929 2071/2254/929 1996/2255/929 +f 2147/2256/929 2111/2257/929 2109/2258/929 +f 1978/2259/831 1979/2260/831 1980/2261/831 +f 2024/2262/835 2115/2263/835 2025/2264/835 +f 1988/2265/831 2148/2266/831 1986/2267/831 +f 2142/2268/929 1990/2269/929 2107/2270/929 +f 2045/2271/830 2116/2272/830 2118/2273/830 +f 1977/2274/831 2028/2275/831 1975/2276/831 +f 2022/2277/839 1978/2278/839 2020/2279/839 +f 2154/2280/841 2038/2281/841 2039/2282/841 +f 1971/2283/830 2050/2284/830 2051/2285/830 +f 2033/2286/831 2149/2287/831 2012/2288/831 +f 2036/2289/841 2042/2290/841 2037/2291/841 +f 2121/2292/839 2053/2293/839 2048/2294/839 +f 2052/2295/830 2059/2296/830 2060/2297/830 +f 2053/2298/831 2082/2299/831 2041/2300/831 +f 2152/2301/929 2131/2302/929 2129/2303/929 +f 2150/2304/929 2097/2305/929 2095/2306/929 +f 2048/2307/830 2119/2308/830 2121/2292/830 +f 2153/2309/841 2065/2310/841 2066/2311/841 +f 2025/2264/830 2034/2312/830 2013/2313/830 +f 2109/2258/830 2026/2314/830 2009/2315/830 +f 1968/2316/831 2024/2262/831 1970/2317/831 +f 2054/2318/839 2023/2319/839 2018/2320/839 +f 2097/2305/839 1994/2321/839 1987/2322/839 +f 2148/2266/929 2094/2323/929 2092/2324/929 +f 1982/2325/830 2092/2324/830 2094/2323/830 +f 2150/2304/841 2088/2326/841 1992/2327/841 +f 2134/2328/839 2076/2329/839 2072/2330/839 +f 2058/2331/830 2016/2332/830 2125/2333/830 +f 2028/2275/841 2085/2334/841 1975/2335/841 +f 2149/2287/835 2113/2336/835 2074/2337/835 +f 2035/2338/831 2036/2289/831 2037/2339/831 +f 1993/2340/830 2098/2341/830 2100/2342/830 +f 2111/2257/839 2030/2343/839 2026/2344/839 +f 2142/2268/841 1989/2345/841 2008/2346/841 +f 2127/2251/841 2044/2347/841 1967/2348/841 +f 2027/2349/831 2142/2268/831 2008/2350/831 +f 2079/2351/831 2084/2352/831 2055/2353/831 +f 1979/2260/841 2067/2354/841 1980/2355/841 +f 2023/2356/831 2032/2357/831 2007/2358/831 +f 2125/2333/839 2062/2359/839 2058/2360/839 +f 2069/2361/830 2129/2303/830 2131/2302/830 +f 1987/2362/830 2095/2306/830 2097/2305/830 +f 2061/2363/839 2128/2364/839 1966/2365/839 +f 2151/2366/841 2089/2367/841 1998/2368/841 +f 1969/2369/831 2102/2370/831 1963/2371/831 +f 2143/2372/929 1985/2373/929 1984/2374/929 +f 2061/2375/830 2145/2376/830 2126/2377/830 +f 1976/2378/830 1984/2374/830 1985/2373/830 +f 2113/2336/839 2033/2379/839 2029/2380/839 +f 2075/2381/830 2056/2382/830 2136/2383/830 +f 2083/2384/830 2144/2385/830 2139/2386/830 +f 2070/2387/830 1996/2255/830 2071/2254/830 +f 2144/2385/835 2141/2388/835 2139/2386/835 +f 2100/2342/839 2000/2389/839 1993/2390/839 +f 2046/2391/831 2047/2253/831 1995/2392/831 +f 1983/2393/831 2143/2372/831 1981/2394/831 +f 2074/2337/830 2029/2395/830 2011/2396/830 +f 2034/2397/839 2114/2398/839 1968/2399/839 +f 1973/2400/841 2043/2401/841 1974/2402/841 +f 2152/2301/841 2063/2403/841 2064/2404/841 +f 1965/2405/841 2144/2385/841 2068/2406/841 +f 2028/2275/929 2051/2285/929 2050/2284/929 +f 2146/2248/841 2017/2407/841 2015/2408/841 +f 2082/2299/929 2121/2292/929 2119/2308/929 +f 1964/2409/831 2140/2410/831 1965/2411/831 +f 2001/2412/830 2002/2413/830 2003/2414/830 +f 2032/2357/929 2054/2318/929 2106/2415/929 +f 2151/2366/835 2100/2342/835 2098/2341/835 +f 2049/2416/831 2154/2280/831 2039/2417/831 +f 1970/2418/841 2025/2264/841 2013/2419/841 +f 1999/2420/830 2077/2421/830 2101/2422/830 +f 2000/2423/831 2151/2366/831 1998/2424/831 +f 2072/2425/830 2132/2426/830 2134/2328/830 +f 2077/2421/835 2103/2427/835 2101/2422/835 +f 2104/2428/830 2014/2429/830 2004/2430/830 +f 1979/2260/835 2022/2277/835 2021/2431/835 +f 2105/2432/839 2019/2433/839 2014/2434/839 +f 2084/2352/841 2057/2435/841 2055/2436/841 +f 2081/2437/841 2004/2438/841 2005/2439/841 +f 2060/2297/839 2035/2440/839 2052/2441/839 +f 2143/2372/841 2086/2442/841 1981/2443/841 +f 2148/2266/841 2087/2444/841 1986/2445/841 +f 1994/2446/831 2150/2304/831 1992/2447/831 +f 2118/2273/839 2049/2448/839 2045/2449/839 +f 2071/2254/839 2046/2450/839 2070/2451/839 +f 2107/2270/830 1991/2452/830 1989/2453/830 +f 2136/2383/839 2079/2454/839 2075/2455/839 +f 2084/2352/929 2136/2383/929 2056/2382/929 +f 2003/2414/839 1972/2456/839 2001/2457/839 +f 2094/2323/839 1988/2458/839 1982/2459/839 +f 2154/2280/929 2118/2273/929 2116/2272/929 +f 2020/2460/830 2021/2431/830 2022/2277/830 +f 2102/2370/841 2078/2461/841 1963/2462/841 +f 1973/2400/929 2003/2414/929 2002/2413/929 +f 2082/2299/841 2040/2463/841 2041/2464/841 +f 2146/2248/835 2125/2333/835 2016/2332/835 +f 2032/2357/841 2006/2465/841 2007/2466/841 +f 1985/2373/839 1983/2467/839 1976/2468/839 +f 2139/2386/839 1964/2469/839 2083/2470/839 +f 2047/2253/841 1997/2471/841 1995/2472/841 +f 2145/2376/835 2128/2364/835 2126/2377/835 +f 2051/2285/839 1977/2473/839 1971/2474/839 +f 2036/2289/929 2060/2297/929 2059/2296/929 +f 1972/2475/831 1973/2400/831 1974/2476/831 +f 2101/2422/839 1969/2477/839 1999/2478/839 +f 2147/2256/841 2009/2479/841 2010/2480/841 +f 2149/2287/841 2011/2481/841 2012/2482/841 +f 2081/2437/929 2105/2432/929 2104/2428/929 +f 2153/2309/929 2134/2328/929 2132/2426/929 +f 2019/2483/831 2081/2437/831 2005/2484/831 +f 2073/2485/831 2152/2301/831 2064/2486/831 +f 2106/2415/830 2018/2487/830 2006/2488/830 +f 1990/2269/839 2027/2489/839 1991/2490/839 +f 2076/2491/831 2153/2309/831 2066/2492/831 +f 2131/2302/839 2073/2493/839 2069/2494/839 +f 2030/2495/831 2147/2256/831 2010/2496/831 +f 1904/1713/923 1905/2086/923 1903/1711/923 +f 1584/1630/860 1585/2184/860 1586/1860/860 +f 1568/1681/856 1569/1652/856 1570/1675/856 +f 1552/1903/848 1553/1679/848 1547/1667/848 +f 1664/1741/880 1665/1708/880 1666/1705/880 +f 1648/2497/876 1649/1738/876 1643/1726/876 +f 1616/1792/870 1617/1593/870 1618/1790/870 +f 1696/1892/887 1697/1876/887 1698/1968/887 +f 1600/1597/866 1601/1628/866 1595/1612/866 +f 1680/1944/883 1681/2034/883 1682/2498/883 +f 1776/1827/900 1777/1840/900 1778/2499/900 +f 1712/1864/890 1713/1867/890 1714/1991/890 +f 1792/1980/902 1793/1846/902 1794/1848/902 +f 1810/1933/904 1803/1882/904 1809/2500/904 +f 1947/2501/927 1951/2112/927 1952/2115/927 +f 1760/1810/899 1761/1894/899 1762/1896/899 +f 1730/2013/895 1723/1906/895 1729/1621/895 +f 1824/1925/905 1825/1919/905 1826/1921/905 +f 1632/2502/872 1633/1788/872 1627/1775/872 +f 1857/2155/913 1858/2145/913 1856/2109/913 +f 1868/2503/918 1872/1570/918 1873/2188/918 +f 1936/2128/925 1937/2504/925 1931/1873/925 +f 1840/2230/909 1841/2227/909 1835/2218/909 +f 1744/1771/897 1745/1937/897 1746/2505/897 +f 1888/1590/921 1889/2506/921 1883/2204/921 +f 1919/2064/924 1920/2061/924 1914/2047/924 +f 1960/2246/831 1955/2507/831 1959/2508/831 +f 2157/2509/837 2159/2510/837 2155/2511/837 +f 2155/2512/841 2160/2513/841 2156/2514/841 +f 2156/2515/835 2162/2516/835 2158/2517/835 +f 2158/2518/839 2161/2519/839 2157/2520/839 +f 2164/2521/835 2170/2522/835 2166/2523/835 +f 2166/2524/839 2169/2525/839 2165/2526/839 +f 2165/2527/837 2167/2528/837 2163/2529/837 +f 2163/2530/841 2168/2531/841 2164/2532/841 +f 2159/2510/831 2162/2516/831 2160/2513/831 +f 2168/2531/831 2169/2525/831 2170/2522/831 +f 949/1141/825 951/1221/825 946/1142/825 +f 967/1144/826 961/1150/826 962/1145/826 +f 1030/1147/827 1026/2533/827 1025/1148/827 +f 961/1150/828 967/1144/828 964/1151/828 +f 1031/1153/829 1030/1264/829 1028/1149/829 +f 920/1155/830 924/1178/830 925/1156/830 +f 1516/1158/831 947/1143/831 944/1159/831 +f 1027/1161/832 1025/1148/832 1026/1162/832 +f 1331/1164/825 1530/2534/825 1332/1165/825 +f 1012/1167/827 1009/2535/827 1010/1168/827 +f 923/1170/826 925/1156/826 919/1171/826 +f 929/1173/825 928/1545/825 926/1174/825 +f 1013/1176/832 1011/1236/832 1008/1169/832 +f 924/1178/833 920/2536/833 913/1179/833 +f 918/1181/831 917/1220/831 914/1182/831 +f 999/1184/829 998/1252/829 995/1185/829 +f 991/1187/834 990/1289/834 987/1188/834 +f 1004/1190/835 1001/1473/835 1002/1191/835 +f 1516/1158/828 948/1194/828 949/1141/828 +f 971/1197/835 969/1238/835 970/1198/835 +f 943/1200/833 935/1258/833 934/1201/833 +f 1022/1203/836 1018/2537/836 1017/1204/836 +f 1007/1206/837 1006/1271/837 1003/1207/837 +f 1003/1207/830 1006/1271/830 1004/1190/830 +f 941/1209/831 944/2538/831 945/1210/831 +f 985/1211/830 991/2539/830 989/1212/830 +f 958/1214/833 953/1394/833 954/1215/833 +f 983/1217/830 976/2540/830 978/1218/830 +f 919/1171/838 915/1180/838 914/1182/838 +f 1029/1154/830 1028/1149/830 1025/1148/830 +f 951/1221/826 942/2541/826 944/1222/826 +f 1024/1223/825 1031/2542/825 1029/1154/825 +f 922/1172/826 919/1171/826 917/1220/826 +f 1016/1225/831 1018/1267/831 1022/1226/831 +f 989/1228/836 987/1188/836 984/1229/836 +f 934/1231/828 937/2543/828 939/1232/828 +f 994/1234/830 993/2544/830 999/1184/830 +f 1014/1235/830 1012/1167/830 1008/1169/830 +f 974/1237/839 970/2545/839 969/1238/839 +f 976/1240/829 983/2546/829 981/1241/829 +f 1019/1243/830 1021/1256/830 1020/1205/830 +f 968/1199/830 970/1198/830 974/1244/830 +f 1005/1246/839 1003/1207/839 1000/1192/839 +f 981/1241/831 980/1388/831 977/1248/831 +f 931/1249/833 921/1392/833 913/1250/833 +f 998/1252/831 996/1291/831 992/1253/831 +f 987/1188/831 990/1289/831 988/1254/831 +f 971/1197/831 973/1285/831 972/1239/831 +f 1023/1255/834 1022/2547/834 1020/1205/834 +f 937/1257/833 934/1201/833 935/1258/833 +f 950/1260/833 941/2548/833 934/1261/833 +f 1031/1153/831 1024/2549/831 1026/1263/831 +f 997/1265/827 995/1185/827 992/1253/827 +f 1019/1243/840 1017/1204/840 1018/1267/840 +f 944/1268/826 942/1273/826 938/1269/826 +f 1001/1270/841 1004/1190/841 1006/1271/841 +f 988/1254/840 985/1211/840 986/1213/840 +f 942/1273/826 939/2550/826 936/1274/826 +f 945/1210/838 938/1269/838 935/1258/838 +f 963/1275/838 965/2551/838 960/1146/838 +f 952/1216/828 959/1280/828 955/1276/828 +f 1016/1277/842 1023/2552/842 1021/1256/842 +f 993/1278/825 996/1291/825 998/1252/825 +f 1516/1158/829 950/1260/829 940/1262/829 +f 939/1232/830 937/2543/830 933/1259/830 +f 959/1280/826 956/2553/826 957/1281/826 +f 932/1175/826 926/1174/826 923/1282/826 +f 975/1284/837 974/2554/837 972/1239/837 +f 938/1269/838 936/1274/838 933/1259/838 +f 966/1152/833 964/1151/833 965/1286/833 +f 925/1156/838 924/1178/838 915/1180/838 +f 985/1288/842 988/1254/842 990/1289/842 +f 996/1291/832 993/2555/832 994/1292/832 +f 913/1293/828 922/2556/828 918/1181/828 +f 1009/1294/829 1012/1167/829 1014/1235/829 +f 1241/1296/831 1246/1540/831 1277/1297/831 +f 1238/1299/830 1240/1304/830 1270/1300/830 +f 1267/1302/830 1300/2557/830 1270/1303/830 +f 1244/1305/830 1238/1299/830 1271/1306/830 +f 1320/1308/825 1322/1472/825 1329/1166/825 +f 1209/1309/831 1208/2558/831 1178/1310/831 +f 1215/1312/830 1183/2559/830 1181/1313/830 +f 1284/1315/830 1254/1433/830 1249/1316/830 +f 1251/1318/831 1256/2560/831 1287/1319/831 +f 1250/1321/831 1281/2561/831 1279/1322/831 +f 1230/1324/830 1196/2562/830 1194/1325/830 +f 1249/1316/830 1247/1461/830 1280/1327/830 +f 1252/1329/831 1251/1318/831 1285/1330/831 +f 1206/1332/830 1211/2563/830 1179/1333/830 +f 1223/1335/830 1190/2564/830 1187/1336/830 +f 1223/1338/830 1226/2565/830 1192/1339/830 +f 1269/1341/831 1301/2566/831 1299/1342/831 +f 1255/1344/830 1253/2567/830 1286/1345/830 +f 1290/1347/830 1257/1355/830 1255/1344/830 +f 1224/1349/831 1222/2568/831 1191/1350/831 +f 1265/1352/830 1263/1451/830 1296/1353/830 +f 1257/1355/830 1290/2569/830 1292/1356/830 +f 1233/1358/830 1200/1424/830 1198/1359/830 +f 1195/1361/831 1197/1367/831 1228/1362/831 +f 1264/1364/831 1295/2570/831 1293/1365/831 +f 1197/1367/831 1199/2571/831 1231/1368/831 +f 1297/1370/831 1266/2572/831 1268/1343/831 +f 1218/1372/831 1216/2573/831 1186/1373/831 +f 1177/1334/830 1174/2574/830 1207/1375/830 +f 1267/1302/830 1265/1352/830 1298/1377/830 +f 1214/1379/830 1220/2575/830 1217/1380/830 +f 1203/1382/831 1176/2576/831 1237/1383/831 +f 1015/1385/825 1014/1235/825 1011/1236/825 +f 982/1387/832 978/2577/832 977/1248/832 +f 983/1217/825 982/1219/825 980/1388/825 +f 979/1242/827 977/1248/827 978/1389/827 +f 930/1391/829 927/1396/829 921/1392/829 +f 956/1393/838 954/1215/838 953/1394/838 +f 930/1391/828 928/1545/828 929/1173/828 +f 1242/1397/831 1272/2578/831 1273/1398/831 +f 1237/1400/831 1176/2576/831 1175/1401/831 +f 1272/1403/831 1242/1397/831 1241/1296/831 +f 1205/1405/831 1175/1401/831 1178/1310/831 +f 1210/1407/830 1181/1313/830 1179/1333/830 +f 1276/1409/830 1243/1413/830 1244/1305/830 +f 1212/1411/831 1209/2579/831 1180/1311/831 +f 1243/1413/830 1276/2580/830 1278/1414/830 +f 1185/1381/830 1183/2559/830 1215/1416/830 +f 1259/1357/830 1292/2581/830 1294/1418/830 +f 1213/1420/831 1184/1455/831 1186/1373/831 +f 1233/1422/830 1236/2582/830 1202/1423/830 +f 1258/1425/831 1260/1428/831 1291/1426/831 +f 1260/1428/831 1262/1366/831 1293/1429/831 +f 1287/1431/831 1256/2583/831 1258/1425/831 +f 1254/1433/830 1284/2584/830 1286/1434/830 +f 1221/1436/831 1189/2585/831 1191/1350/831 +f 1188/1374/831 1189/2586/831 1221/1438/831 +f 1219/1440/830 1187/1336/830 1217/1380/830 +f 1225/1442/830 1194/1325/830 1192/1339/830 +f 1281/1444/831 1250/1321/831 1252/1329/831 +f 1193/1351/831 1195/1361/831 1227/1446/831 +f 1198/1359/830 1196/2562/830 1230/1448/830 +f 1261/1419/830 1294/2587/830 1296/1450/830 +f 1264/1364/831 1266/2572/831 1297/1452/831 +f 1212/1454/831 1182/1412/831 1184/1455/831 +f 1231/1457/831 1199/2571/831 1201/1458/831 +f 1245/1415/830 1278/2588/830 1280/1460/830 +f 1232/1462/831 1201/1458/831 1203/1382/831 +f 1204/1464/830 1202/1423/830 1236/1465/830 +f 1269/1341/831 1239/1399/831 1273/1467/831 +f 1207/1469/830 1174/2574/830 1204/1464/830 +f 1320/1308/825 1334/1488/825 1321/1471/825 +f 1001/1473/831 1007/2589/831 1005/1474/831 +f 1367/1475/829 1538/2590/829 1369/1476/829 +f 1346/1478/825 1533/2591/825 1347/1479/825 +f 1010/1481/831 1009/2592/831 1015/1385/831 +f 1325/1482/827 1327/1503/827 1324/1483/827 +f 1357/1485/829 1363/2593/829 1358/1486/829 +f 1334/1488/825 1531/2594/825 1335/1489/825 +f 1323/1490/827 1532/2595/827 1333/1484/827 +f 1310/1491/829 1312/2596/829 1302/1492/829 +f 1307/1494/832 1313/2597/832 1308/1495/832 +f 1359/1487/829 1358/1486/829 1361/1497/829 +f 1304/1499/829 1303/1504/829 1306/1500/829 +f 1325/1482/827 1330/1506/827 1326/1502/827 +f 1302/1492/829 1312/2596/829 1303/1504/829 +f 1315/1493/829 1527/2598/829 1316/1505/829 +f 1330/1506/827 1529/2599/827 1328/1507/827 +f 1317/1508/832 1313/2597/832 1307/1494/832 +f 1341/1510/825 1343/1522/825 1340/1511/825 +f 1344/1513/827 1534/2600/827 1348/1514/827 +f 1354/1516/832 1353/1533/832 1356/1517/832 +f 1336/1519/827 1350/1535/827 1337/1520/827 +f 1341/1510/825 1346/1478/825 1342/1480/825 +f 1309/1496/832 1308/1495/832 1311/1523/832 +f 1365/1525/832 1537/2601/832 1360/1526/832 +f 1336/1519/827 1338/1521/827 1345/1515/827 +f 968/1528/841 975/2602/841 973/1285/841 +f 1366/1527/832 1362/2603/832 1352/1529/832 +f 1351/1530/825 1536/2604/825 1349/1512/825 +f 923/1531/830 928/1545/830 930/1391/830 +f 1352/1529/832 1362/2603/832 1353/1533/832 +f 1355/1477/829 1363/2593/829 1357/1485/829 +f 1318/1509/832 1528/2605/832 1305/1534/832 +f 1350/1535/827 1535/2606/827 1339/1536/827 +f 1164/1537/830 1124/1561/830 1125/1538/830 +f 1246/1540/831 1248/1323/831 1279/1541/831 +f 949/1141/830 948/1194/830 934/1196/830 +f 913/1548/831 927/1396/831 929/1173/831 +f 1054/2607/830 1052/2608/830 1050/2609/830 +f 1050/2609/830 1048/2610/830 1045/1553/830 +f 1045/1553/830 1060/2611/830 1043/2612/830 +f 1043/2612/830 1041/2613/830 1045/1553/830 +f 1041/2613/830 1039/1554/830 1045/1553/830 +f 1039/1554/830 1037/2614/830 1063/1555/830 +f 1037/2614/830 1035/2615/830 1063/1555/830 +f 1035/2615/830 1032/2616/830 1063/1555/830 +f 1063/1555/830 1061/2617/830 1054/2607/830 +f 1061/2617/830 1058/2618/830 1054/2607/830 +f 1058/2618/830 1056/2619/830 1054/2607/830 +f 1054/2607/830 1050/2609/830 1045/1553/830 +f 1054/2607/830 1045/1553/830 1063/1555/830 +f 1066/2620/831 1111/2621/831 1072/1556/831 +f 1111/2621/831 1117/2622/831 1072/1556/831 +f 1117/2622/831 1067/2623/831 1072/1556/831 +f 1072/1556/831 1078/2624/831 1064/1557/831 +f 1064/1557/831 1089/2625/831 1065/1558/831 +f 1065/1558/831 1100/2626/831 1072/1556/831 +f 1100/2626/831 1066/2620/831 1072/1556/831 +f 916/1566/833 914/1182/833 915/1180/833 +f 1587/1567/843 1590/1635/843 1588/1568/843 +f 1872/1570/854 1953/1971/854 1867/1571/854 +f 1578/1573/845 1577/2232/845 1574/1574/845 +f 1631/1576/853 1619/1730/853 1621/1577/853 +f 1802/1579/847 1797/2627/847 1796/1580/847 +f 1888/1590/849 1883/2204/849 1884/1591/849 +f 1617/1593/851 1611/1899/851 1613/1594/851 +f 1598/1596/851 1602/1650/851 1600/1597/851 +f 1575/1599/852 1572/1603/852 1573/1600/852 +f 1574/1602/853 1577/2232/853 1572/1603/853 +f 1850/1605/849 1849/2080/849 1846/1606/849 +f 1861/1608/844 1860/2066/844 1864/1609/844 +f 1594/1611/855 1600/1597/855 1595/1612/855 +f 1729/1621/857 1723/1906/857 1724/1622/857 +f 1549/1624/852 1553/1679/852 1554/1625/852 +f 1596/1627/881 1595/1612/881 1601/1628/881 +f 1584/1630/846 1586/1860/846 1582/1631/846 +f 1539/1584/852 1542/1583/852 1540/1633/852 +f 1590/1635/850 1592/1671/850 1591/1636/850 +f 1562/1619/855 1561/2231/855 1558/1638/855 +f 1555/1640/861 1557/1614/861 1562/1619/861 +f 1563/1642/855 1568/1681/855 1564/1643/855 +f 1597/1649/843 1601/1628/843 1602/1650/843 +f 1569/1652/859 1563/1642/859 1565/1653/859 +f 1670/1655/862 1668/2628/862 1669/1656/862 +f 1846/1658/863 1849/2080/863 1847/1659/863 +f 1542/1583/864 1544/1586/864 1543/1661/864 +f 1551/1588/845 1545/2629/845 1543/1663/845 +f 1551/1588/867 1539/1584/867 1541/1664/867 +f 1546/1666/845 1552/1903/845 1547/1667/845 +f 1570/1675/843 1569/1652/843 1567/1676/843 +f 1548/1678/865 1547/1667/865 1553/1679/865 +f 1568/1681/868 1570/1675/868 1566/1682/868 +f 1655/1684/845 1652/1688/845 1653/1685/845 +f 1654/1687/867 1657/2234/867 1652/1688/867 +f 1658/1690/852 1657/2234/852 1654/1691/852 +f 1651/1693/864 1653/1685/864 1658/1690/864 +f 1659/1695/852 1664/1741/852 1660/1696/852 +f 1666/1705/845 1665/1708/845 1663/1706/845 +f 1665/1708/869 1659/1695/869 1661/1709/869 +f 1903/1711/911 1902/2630/911 1899/1712/911 +f 1635/1714/855 1638/1717/855 1636/1715/855 +f 1638/1717/861 1640/1722/861 1639/1718/861 +f 1647/1720/843 1641/2631/843 1639/1721/843 +f 1647/1720/874 1635/1714/874 1637/1723/874 +f 1642/1725/843 1648/2497/843 1643/1726/843 +f 1667/1657/873 1669/2632/873 1673/1735/873 +f 1644/1737/868 1643/1726/868 1649/1738/868 +f 1666/1705/867 1662/2633/867 1660/1740/867 +f 1843/1742/875 1847/1659/875 1844/1743/875 +f 1558/1745/874 1561/2231/874 1556/1617/874 +f 1610/1703/843 1609/2233/843 1606/1747/843 +f 1603/1749/850 1605/1698/850 1610/1703/850 +f 1579/1751/845 1584/1630/845 1580/1752/845 +f 1629/1758/845 1633/1788/845 1634/1759/845 +f 1559/1761/843 1556/1617/843 1557/1614/843 +f 1634/1759/879 1632/2502/879 1626/1763/879 +f 1619/1730/845 1622/1729/845 1620/1765/845 +f 1622/1729/877 1624/1732/877 1623/1767/877 +f 1741/1769/878 1740/2634/878 1739/1770/878 +f 1571/1772/877 1573/1600/877 1578/1573/877 +f 1626/1774/852 1632/2502/852 1627/1775/852 +f 1815/1781/878 1812/2026/878 1813/1782/878 +f 1645/1784/855 1649/1738/855 1650/1785/855 +f 1628/1787/846 1627/1775/846 1633/1788/846 +f 1618/1790/858 1614/2635/858 1612/1791/858 +f 1751/1793/862 1748/1796/862 1749/1794/862 +f 1748/1796/882 1754/1942/882 1752/1797/882 +f 1755/1799/882 1760/1810/882 1756/1800/882 +f 1770/1807/884 1766/1820/884 1769/1808/884 +f 1760/1810/885 1762/1896/885 1759/1811/885 +f 1822/1813/878 1825/1919/878 1819/1814/878 +f 1767/1816/886 1764/1960/886 1765/1817/886 +f 1763/1819/887 1769/2636/887 1766/1820/887 +f 1802/1821/888 1801/1581/888 1798/1822/888 +f 1753/1824/883 1751/1793/883 1747/1825/883 +f 1776/1827/889 1772/2637/889 1773/1828/889 +f 1650/1785/859 1648/2497/859 1642/1838/859 +f 1777/1840/886 1771/1829/886 1773/1841/886 +f 1783/1843/826 1780/1985/826 1781/1844/826 +f 1793/1846/890 1790/2638/890 1791/1847/890 +f 1786/1849/833 1785/1990/833 1782/1850/833 +f 1586/1860/852 1585/2184/852 1583/1861/852 +f 1708/1863/826 1707/2639/826 1712/1864/826 +f 1699/1853/891 1701/2640/891 1705/1866/891 +f 1713/1867/891 1707/2639/891 1708/1868/891 +f 1799/1870/892 1796/1580/892 1797/1871/892 +f 1931/1873/893 1937/2504/893 1934/1874/893 +f 1697/1876/894 1691/2641/894 1692/1877/894 +f 1631/1576/852 1625/2642/852 1623/1879/852 +f 1808/1880/847 1804/2643/847 1805/1881/847 +f 1692/1891/886 1691/2641/886 1696/1892/886 +f 1761/1894/883 1758/2644/883 1759/1895/883 +f 1806/1897/892 1809/2500/892 1803/1882/892 +f 1611/1899/843 1616/1792/843 1612/1900/843 +f 1550/1902/869 1554/1625/869 1552/1903/869 +f 1725/1905/892 1724/2645/892 1723/1906/892 +f 1813/1908/896 1812/2026/896 1818/1909/896 +f 1825/1919/897 1822/2646/897 1823/1920/897 +f 1817/1922/897 1815/1781/897 1811/1923/897 +f 1824/1925/898 1826/1921/898 1823/1926/898 +f 1755/1799/862 1757/2647/862 1758/1928/862 +f 1686/1834/886 1684/2648/886 1685/1929/886 +f 1672/1806/899 1671/2649/899 1668/1930/899 +f 1672/1806/885 1674/1736/885 1673/1931/885 +f 1810/1933/895 1809/2500/895 1806/1934/895 +f 1742/1936/898 1746/2505/898 1745/1937/898 +f 1680/1944/899 1682/2498/899 1679/1945/899 +f 1618/1790/855 1617/1593/855 1615/1947/855 +f 1676/1949/862 1680/1944/862 1678/1950/862 +f 1727/1887/892 1716/2650/892 1717/1952/892 +f 1607/1953/855 1604/1701/855 1605/1698/855 +f 1695/1836/884 1688/1837/884 1689/1955/884 +f 1683/1831/894 1685/2651/894 1689/1957/894 +f 1776/1827/884 1778/2499/884 1775/1958/884 +f 1775/1965/887 1778/2499/887 1777/1840/887 +f 1694/1967/900 1693/2652/900 1696/1892/900 +f 1694/1969/884 1698/1968/884 1697/1876/884 +f 1953/1971/901 1868/2503/901 1869/1972/901 +f 1702/1858/833 1704/1859/833 1705/1974/833 +f 1712/1864/902 1714/1991/902 1710/1976/902 +f 1734/1917/898 1737/1916/898 1736/1978/898 +f 1792/1980/903 1788/2653/903 1789/1981/903 +f 1711/1856/902 1702/1858/902 1703/1983/902 +f 1714/1991/833 1713/1867/833 1706/1992/833 +f 1794/1848/833 1791/2654/833 1788/1994/833 +f 1784/1995/890 1782/1850/890 1783/1843/890 +f 1780/1985/903 1785/1990/903 1786/1997/903 +f 1606/1999/858 1609/2233/858 1604/1701/858 +f 1716/2001/904 1727/1887/904 1718/1889/904 +f 1718/1889/888 1720/1888/888 1721/2003/888 +f 1715/1884/857 1717/2655/857 1721/2005/857 +f 1764/1960/889 1770/1807/889 1768/2006/889 +f 1725/2012/904 1728/1907/904 1730/2013/904 +f 1726/2015/888 1730/2013/888 1729/1621/888 +f 1795/2017/895 1800/2656/895 1798/1822/895 +f 1743/1915/878 1732/2657/878 1733/2018/878 +f 1732/2019/905 1743/1915/905 1734/1917/905 +f 1711/1856/826 1700/2658/826 1701/2021/826 +f 1737/1916/906 1731/1912/906 1733/2022/906 +f 1745/1937/906 1739/1770/906 1740/2024/906 +f 1744/1771/905 1746/2505/905 1742/2031/905 +f 1679/2033/885 1682/2498/885 1681/2034/885 +f 1599/1673/855 1593/2659/855 1591/2036/855 +f 1922/2037/849 1925/2170/849 1923/2038/849 +f 1909/2040/844 1918/2178/844 1910/2041/844 +f 1929/2043/863 1922/2037/863 1924/2044/863 +f 1913/2046/908 1919/2064/908 1914/2047/908 +f 1917/2057/901 1920/2061/901 1921/2058/901 +f 1915/2060/926 1914/2047/926 1920/2061/926 +f 1913/2063/844 1916/2660/844 1921/2058/844 +f 1859/2065/908 1863/2104/908 1860/2066/908 +f 1893/2068/911 1896/2160/911 1894/2069/911 +f 1929/2043/875 1928/2661/875 1926/2071/875 +f 1891/2073/914 1897/2123/914 1895/2074/914 +f 1824/1925/896 1820/2662/896 1821/2076/896 +f 1903/1711/849 1905/2086/849 1901/2082/849 +f 1898/2084/914 1900/2663/914 1901/2085/914 +f 1935/2087/922 1936/2128/922 1930/2088/922 +f 1890/2090/849 1894/2069/849 1891/2073/849 +f 1941/2092/916 1944/2097/916 1942/2093/916 +f 1941/2095/908 1945/2664/908 1943/2096/908 +f 1945/2098/919 1940/2665/919 1939/2099/919 +f 1954/2100/908 1947/2501/908 1948/2101/908 +f 1856/2109/875 1858/2145/875 1854/2110/875 +f 1951/2112/917 1954/2100/917 1946/2113/917 +f 1952/2115/901 1951/2112/901 1949/2116/901 +f 1906/2118/901 1909/2040/901 1907/2119/901 +f 1830/2053/919 1839/2052/919 1831/2121/919 +f 1897/2123/875 1896/2160/875 1893/2124/875 +f 1832/2056/916 1827/2050/916 1829/2126/916 +f 1936/2128/875 1931/1873/875 1932/2129/875 +f 1808/1880/888 1810/1933/888 1807/2139/888 +f 1934/2141/849 1937/2504/849 1935/2087/849 +f 1851/2143/922 1853/2666/922 1854/2144/922 +f 1948/2146/920 1947/2501/920 1952/2115/920 +f 1938/2148/901 1942/2093/901 1939/2099/901 +f 1862/2150/910 1865/2106/910 1863/2104/910 +f 1862/2152/901 1866/2667/901 1864/1609/901 +f 1816/2153/898 1818/1909/898 1817/1922/898 +f 1857/2155/849 1852/2668/849 1853/2156/849 +f 1886/2162/875 1889/2506/875 1887/2163/875 +f 1599/1673/858 1587/1567/858 1589/2165/858 +f 1856/2109/863 1855/2669/863 1852/2167/863 +f 1752/2168/885 1754/1942/885 1753/1824/885 +f 1925/2170/915 1927/2072/915 1926/2171/915 +f 1831/2173/901 1839/2052/901 1832/2056/901 +f 1874/2132/911 1876/2670/911 1880/2175/911 +f 1675/2182/873 1681/2034/873 1676/1949/873 +f 1585/2184/879 1579/1751/879 1581/2185/879 +f 1869/2187/926 1868/2503/926 1873/2188/926 +f 1874/2132/875 1877/2135/875 1875/2190/875 +f 1695/1836/900 1687/2671/900 1684/2192/900 +f 1881/2138/849 1880/2672/849 1878/2193/849 +f 1845/2194/922 1844/1743/922 1850/1605/922 +f 1904/1713/875 1899/2673/875 1900/2196/875 +f 1838/2201/908 1841/2227/908 1842/2202/908 +f 1883/2204/871 1889/2506/871 1886/2205/871 +f 1887/2163/914 1888/1590/914 1882/2207/914 +f 1827/2050/908 1830/2053/908 1828/2209/908 +f 1877/2135/912 1879/2134/912 1878/2211/912 +f 1910/2213/908 1918/2178/908 1911/2181/908 +f 1911/2181/910 1906/2118/910 1908/2215/910 +f 1834/2217/901 1840/2230/901 1835/2218/901 +f 1873/2188/908 1872/1570/908 1870/2224/908 +f 1836/2226/920 1835/2218/920 1841/2227/920 +f 1834/2229/919 1837/2674/919 1842/2202/919 +f 1793/1846/826 1787/1982/826 1789/2235/826 +f 1957/2237/830 1958/2675/830 1956/2238/830 +f 1956/2240/837 1958/2676/837 1959/2241/837 +f 1957/2237/839 1960/2246/839 1959/2243/839 +f 1956/2240/841 1955/2242/841 1961/2245/841 +f 1962/2239/835 1961/2245/835 1960/2246/835 +f 2062/2247/831 2124/2677/831 2146/2248/831 +f 1966/2250/831 2128/2364/831 2127/2251/831 +f 2047/2253/929 2137/2678/929 2071/2254/929 +f 2147/2256/929 2110/2679/929 2111/2257/929 +f 1978/2259/831 2138/2680/831 1979/2260/831 +f 2024/2262/929 2114/2398/929 2115/2263/929 +f 1988/2265/831 2093/2681/831 2148/2266/831 +f 2142/2268/929 2108/2682/929 1990/2269/929 +f 2045/2271/830 2038/2683/830 2116/2272/830 +f 1977/2274/831 2090/2684/831 2028/2275/831 +f 2022/2277/839 2138/2680/839 1978/2278/839 +f 2154/2280/841 2116/2272/841 2038/2281/841 +f 1971/2283/830 2085/2685/830 2050/2284/830 +f 2033/2286/831 2112/2686/831 2149/2287/831 +f 2036/2289/841 2059/2296/841 2042/2290/841 +f 2121/2292/839 2120/2687/839 2053/2293/839 +f 2052/2295/830 2042/2688/830 2059/2296/830 +f 2053/2298/831 2120/2687/831 2082/2299/831 +f 2152/2301/929 2130/2689/929 2131/2302/929 +f 2150/2304/929 2096/2690/929 2097/2305/929 +f 2048/2307/830 2040/2691/830 2119/2308/830 +f 2153/2309/841 2132/2426/841 2065/2310/841 +f 2025/2264/830 2115/2263/830 2034/2312/830 +f 2109/2258/830 2111/2257/830 2026/2314/830 +f 1968/2316/831 2114/2398/831 2024/2262/831 +f 2054/2318/839 2031/2692/839 2023/2319/839 +f 2097/2305/839 2096/2690/839 1994/2321/839 +f 2148/2266/929 2093/2681/929 2094/2323/929 +f 1982/2325/830 2087/2693/830 2092/2324/830 +f 2150/2304/841 2095/2306/841 2088/2326/841 +f 2134/2328/839 2133/2694/839 2076/2329/839 +f 2058/2331/830 2017/2695/830 2016/2332/830 +f 2028/2275/841 2050/2284/841 2085/2334/841 +f 2149/2287/929 2112/2686/929 2113/2336/929 +f 2035/2338/831 2122/2696/831 2036/2289/831 +f 1993/2340/830 2089/2697/830 2098/2341/830 +f 2111/2257/839 2110/2679/839 2030/2343/839 +f 2142/2268/841 2107/2270/841 1989/2345/841 +f 2127/2251/841 2145/2376/841 2044/2347/841 +f 2027/2349/831 2108/2682/831 2142/2268/831 +f 2079/2351/831 2135/2698/831 2084/2352/831 +f 1979/2260/841 2021/2431/841 2067/2354/841 +f 2023/2356/831 2031/2692/831 2032/2357/831 +f 2125/2333/839 2124/2677/839 2062/2359/839 +f 2069/2361/830 2063/2699/830 2129/2303/830 +f 1987/2362/830 2088/2700/830 2095/2306/830 +f 2061/2363/839 2126/2377/839 2128/2364/839 +f 2151/2366/841 2098/2341/841 2089/2367/841 +f 1969/2369/831 2103/2427/831 2102/2370/831 +f 2143/2372/929 2091/2701/929 1985/2373/929 +f 2061/2375/830 2044/2702/830 2145/2376/830 +f 1976/2378/830 2086/2703/830 1984/2374/830 +f 2113/2336/839 2112/2686/839 2033/2379/839 +f 2075/2381/830 2057/2704/830 2056/2382/830 +f 2083/2384/830 2068/2705/830 2144/2385/830 +f 2070/2387/830 1997/2706/830 1996/2255/830 +f 2144/2385/929 2140/2410/929 2141/2388/929 +f 2100/2342/839 2099/2707/839 2000/2389/839 +f 2046/2391/831 2137/2678/831 2047/2253/831 +f 1983/2393/831 2091/2701/831 2143/2372/831 +f 2074/2337/830 2113/2336/830 2029/2395/830 +f 2034/2397/839 2115/2263/839 2114/2398/839 +f 1973/2400/841 2002/2413/841 2043/2401/841 +f 2152/2301/841 2129/2303/841 2063/2403/841 +f 1965/2405/841 2140/2410/841 2144/2385/841 +f 2028/2275/929 2090/2684/929 2051/2285/929 +f 2146/2248/841 2016/2332/841 2017/2407/841 +f 2082/2299/929 2120/2687/929 2121/2292/929 +f 1964/2409/831 2141/2388/831 2140/2410/831 +f 2001/2412/830 2043/2708/830 2002/2413/830 +f 2032/2357/929 2031/2692/929 2054/2318/929 +f 2151/2366/929 2099/2707/929 2100/2342/929 +f 2049/2416/831 2117/2709/831 2154/2280/831 +f 1970/2418/841 2024/2262/841 2025/2264/841 +f 1999/2420/830 2078/2710/830 2077/2421/830 +f 2000/2423/831 2099/2707/831 2151/2366/831 +f 2072/2425/830 2065/2711/830 2132/2426/830 +f 2077/2421/929 2102/2370/929 2103/2427/929 +f 2104/2428/830 2105/2432/830 2014/2429/830 +f 1979/2260/929 2138/2680/929 2022/2277/929 +f 2105/2432/839 2080/2712/839 2019/2433/839 +f 2084/2352/841 2056/2382/841 2057/2435/841 +f 2081/2437/841 2104/2428/841 2004/2438/841 +f 2060/2297/839 2122/2696/839 2035/2440/839 +f 2143/2372/841 1984/2374/841 2086/2442/841 +f 2148/2266/841 2092/2324/841 2087/2444/841 +f 1994/2446/831 2096/2690/831 2150/2304/831 +f 2118/2273/839 2117/2709/839 2049/2448/839 +f 2071/2254/839 2137/2678/839 2046/2450/839 +f 2107/2270/830 1990/2269/830 1991/2452/830 +f 2136/2383/839 2135/2698/839 2079/2454/839 +f 2084/2352/929 2135/2698/929 2136/2383/929 +f 2003/2414/839 2123/2713/839 1972/2456/839 +f 2094/2323/839 2093/2681/839 1988/2458/839 +f 2154/2280/929 2117/2709/929 2118/2273/929 +f 2020/2460/830 2067/2714/830 2021/2431/830 +f 2102/2370/841 2077/2421/841 2078/2461/841 +f 1973/2400/929 2123/2713/929 2003/2414/929 +f 2082/2299/841 2119/2308/841 2040/2463/841 +f 2146/2248/929 2124/2677/929 2125/2333/929 +f 2032/2357/841 2106/2415/841 2006/2465/841 +f 1985/2373/839 2091/2701/839 1983/2467/839 +f 2139/2386/839 2141/2388/839 1964/2469/839 +f 2047/2253/841 1996/2255/841 1997/2471/841 +f 2145/2376/929 2127/2251/929 2128/2364/929 +f 2051/2285/839 2090/2684/839 1977/2473/839 +f 2036/2289/929 2122/2696/929 2060/2297/929 +f 1972/2475/831 2123/2713/831 1973/2400/831 +f 2101/2422/839 2103/2427/839 1969/2477/839 +f 2147/2256/841 2109/2258/841 2009/2479/841 +f 2149/2287/841 2074/2337/841 2011/2481/841 +f 2081/2437/929 2080/2712/929 2105/2432/929 +f 2153/2309/929 2133/2694/929 2134/2328/929 +f 2019/2483/831 2080/2712/831 2081/2437/831 +f 2073/2485/831 2130/2689/831 2152/2301/831 +f 2106/2415/830 2054/2318/830 2018/2487/830 +f 1990/2269/839 2108/2682/839 2027/2489/839 +f 2076/2491/831 2133/2694/831 2153/2309/831 +f 2131/2302/839 2130/2689/839 2073/2493/839 +f 2030/2495/831 2110/2679/831 2147/2256/831 +f 1904/1713/923 1898/2084/923 1905/2086/923 +f 1584/1630/860 1579/1751/860 1585/2184/860 +f 1568/1681/856 1563/1642/856 1569/1652/856 +f 1552/1903/848 1554/1625/848 1553/1679/848 +f 1664/1741/880 1659/1695/880 1665/1708/880 +f 1648/2497/876 1650/1785/876 1649/1738/876 +f 1616/1792/870 1611/1899/870 1617/1593/870 +f 1696/1892/887 1691/2641/887 1697/1876/887 +f 1600/1597/866 1602/1650/866 1601/1628/866 +f 1680/1944/883 1676/1949/883 1681/2034/883 +f 1776/1827/900 1771/1829/900 1777/1840/900 +f 1712/1864/890 1707/2639/890 1713/1867/890 +f 1792/1980/902 1787/1982/902 1793/1846/902 +f 1810/1933/904 1808/1880/904 1803/1882/904 +f 1947/2501/927 1954/2100/927 1951/2112/927 +f 1760/1810/899 1755/1799/899 1761/1894/899 +f 1730/2013/895 1728/1907/895 1723/1906/895 +f 1824/1925/905 1819/1814/905 1825/1919/905 +f 1632/2502/872 1634/1759/872 1633/1788/872 +f 1857/2155/913 1851/2143/913 1858/2145/913 +f 1868/2503/918 1953/1971/918 1872/1570/918 +f 1936/2128/925 1935/2087/925 1937/2504/925 +f 1840/2230/909 1842/2202/909 1841/2227/909 +f 1744/1771/897 1739/1770/897 1745/1937/897 +f 1888/1590/921 1887/2163/921 1889/2506/921 +f 1919/2064/924 1921/2058/924 1920/2061/924 +f 1960/2246/831 1961/2245/831 1955/2507/831 +f 2157/2509/837 2161/2519/837 2159/2510/837 +f 2155/2512/841 2159/2510/841 2160/2513/841 +f 2156/2515/835 2160/2513/835 2162/2516/835 +f 2158/2518/839 2162/2516/839 2161/2519/839 +f 2164/2521/835 2168/2531/835 2170/2522/835 +f 2166/2524/839 2170/2522/839 2169/2525/839 +f 2165/2527/837 2169/2525/837 2167/2528/837 +f 2163/2530/841 2167/2528/841 2168/2531/841 +f 2159/2510/831 2161/2519/831 2162/2516/831 +f 2168/2531/831 2167/2528/831 2169/2525/831 +s 1 +f 1252/1329/832 1247/1461/845 1249/1316/832 +f 1262/1366/855 1257/1355/827 1259/1357/855 +f 1050/2715/901 1047/2716/838 1048/2717/838 +f 1244/1305/825 1242/1397/908 1238/1299/908 +f 1058/2718/852 1055/2719/833 1056/2720/833 +f 1366/1527/930 1361/1497/931 1358/1486/930 +f 1202/1423/829 1199/2571/852 1200/1424/852 +f 1260/1428/827 1255/1344/901 1257/1355/827 +f 1266/2572/852 1261/1419/833 1263/1451/852 +f 1035/2721/908 1034/2722/828 1032/2723/828 +f 1256/2560/838 1254/1433/875 1253/1435/838 +f 1242/1397/908 1240/1304/828 1238/1299/908 +f 1250/1321/845 1245/1415/826 1247/1461/845 +f 1052/2724/827 1049/2725/901 1050/2715/901 +f 1060/2726/832 1042/2727/845 1043/2728/845 +f 1181/1313/843 1178/1310/825 1179/1333/825 +f 1174/2574/828 1203/1382/849 1204/1464/849 +f 1347/1479/932 1345/1515/933 1342/1480/933 +f 1032/2723/828 1062/2729/849 1063/2730/849 +f 1362/2603/827 1355/1477/934 1353/1533/934 +f 1269/1341/849 1265/1352/829 1267/1302/849 +f 1351/1530/935 1337/1520/936 1339/1536/935 +f 1239/1399/828 1267/1302/849 1240/1304/828 +f 1246/1540/843 1244/1305/825 1243/1413/843 +f 1190/2564/838 1188/1374/875 1187/1336/875 +f 1185/1381/845 1182/1412/826 1183/2559/826 +f 1054/2731/855 1051/2732/827 1052/2724/827 +f 1264/1364/833 1259/1357/855 1261/1419/833 +f 1056/2720/833 1053/2733/855 1054/2731/855 +f 1200/1424/852 1197/1367/833 1198/1359/833 +f 1063/2730/849 1059/2734/829 1061/2735/829 +f 1466/2736/827 1478/2737/937 1469/2738/938 +f 1041/2739/826 1038/2740/843 1039/2741/843 +f 1043/2728/845 1040/2742/826 1041/2739/826 +f 1248/1323/826 1243/1413/843 1245/1415/826 +f 1179/1333/825 1175/1401/908 1177/1334/908 +f 1217/1380/832 1184/1455/845 1185/1381/845 +f 1254/1433/875 1252/1329/832 1249/1316/832 +f 1369/1476/939 1353/1533/934 1355/1477/934 +f 1521/2743/940 1150/2744/941 1151/2745/940 +f 1067/2746/942 1068/2747/943 1069/2748/943 +f 1070/2749/944 1068/2747/943 1071/2750/942 +f 1072/2751/944 1073/2752/943 1070/2749/944 +f 1082/2753/945 1064/2754/946 1078/2755/947 +f 1072/2756/944 1075/2757/948 1076/2758/948 +f 1077/2759/947 1075/2757/948 1070/2760/944 +f 1078/2761/947 1079/2762/948 1077/2759/947 +f 1519/2763/949 1125/2764/950 1141/2765/949 +f 1078/2755/947 1081/2766/945 1082/2753/945 +f 1083/2767/946 1081/2766/945 1077/2768/947 +f 1064/2754/946 1084/2769/945 1083/2767/946 +f 1518/2770/951 1126/2771/952 1136/2772/953 +f 1064/2773/946 1086/2774/954 1087/2775/954 +f 1083/2776/946 1088/2777/954 1086/2774/954 +f 1089/2778/955 1088/2777/954 1090/2779/955 +f 1155/2780/956 1156/2781/957 1150/2782/941 +f 1089/2783/955 1092/2784/958 1093/2785/958 +f 1090/2786/955 1094/2787/958 1092/2784/958 +f 1065/2788/959 1094/2787/958 1095/2789/959 +f 1525/2790/960 1169/2791/961 1170/2792/960 +f 1065/2793/959 1097/2794/962 1098/2795/962 +f 1099/2796/963 1097/2794/962 1095/2797/959 +f 1100/2798/963 1101/2799/962 1099/2796/963 +f 1146/2800/964 1125/2801/950 1145/2802/965 +f 1100/2803/963 1103/2804/966 1104/2805/966 +f 1105/2806/967 1103/2804/966 1099/2807/963 +f 1066/2808/967 1106/2809/966 1105/2806/967 +f 1523/2810/968 1124/2811/969 1160/2812/968 +f 1066/2813/967 1108/2814/970 1109/2815/970 +f 1110/2816/971 1108/2814/970 1105/2817/967 +f 1111/2818/971 1112/2819/970 1110/2816/971 +f 1072/2756/944 1080/2820/948 1078/2761/947 +f 1111/2821/971 1114/2822/972 1115/2823/972 +f 1116/2824/973 1114/2822/972 1110/2825/971 +f 1117/2826/973 1118/2827/972 1116/2824/973 +f 1526/2828/974 1127/2829/975 1173/2830/974 +f 1117/2831/973 1120/2832/976 1121/2833/976 +f 1116/2834/973 1122/2835/976 1120/2832/976 +f 1067/2836/942 1122/2835/976 1071/2837/942 +f 1064/2773/946 1091/2838/954 1089/2778/955 +f 1485/2839/977 1477/2840/978 1474/2841/979 +f 1127/2842/975 1128/2843/980 1129/2844/975 +f 1128/2843/980 1130/2845/952 1129/2844/975 +f 1131/2846/980 1126/2847/952 1130/2845/952 +f 1072/2751/944 1069/2748/943 1074/2848/943 +f 1126/2771/952 1133/2849/951 1130/2850/952 +f 1133/2849/951 1134/2851/953 1130/2850/952 +f 1135/2852/951 1136/2772/953 1134/2851/953 +f 1111/2818/971 1109/2815/970 1113/2853/970 +f 1136/2854/953 1138/2855/949 1134/2856/953 +f 1138/2855/949 1139/2857/950 1134/2856/953 +f 1140/2858/949 1125/2764/950 1139/2857/950 +f 1524/2859/981 1164/2860/982 1165/2861/981 +f 1125/2801/950 1142/2862/964 1139/2863/950 +f 1139/2863/950 1143/2864/964 1144/2865/965 +f 1143/2864/964 1145/2802/965 1144/2865/965 +f 1517/2866/980 1126/2847/952 1132/2867/980 +f 1145/2868/965 1147/2869/940 1144/2870/965 +f 1144/2870/965 1148/2871/940 1149/2872/941 +f 1148/2871/940 1150/2744/941 1149/2872/941 +f 1065/2788/959 1093/2785/958 1096/2873/958 +f 1150/2782/941 1152/2874/957 1149/2875/941 +f 1152/2874/957 1153/2876/956 1149/2875/941 +f 1154/2877/957 1155/2780/956 1153/2876/956 +f 1098/2795/962 1100/2798/963 1065/2793/959 +f 1155/2878/956 1157/2879/968 1153/2880/956 +f 1153/2880/956 1158/2881/968 1159/2882/969 +f 1158/2881/968 1124/2811/969 1159/2882/969 +f 1124/2883/969 1161/2884/981 1159/2885/969 +f 1161/2884/981 1162/2886/982 1159/2885/969 +f 1163/2887/981 1164/2860/982 1162/2886/982 +f 1104/2805/966 1066/2808/967 1100/2803/963 +f 1164/2888/982 1166/2889/960 1162/2890/982 +f 1162/2890/982 1167/2891/960 1168/2892/961 +f 1167/2891/960 1169/2791/961 1168/2892/961 +f 1115/2823/972 1117/2826/973 1111/2821/971 +f 1169/2893/961 1171/2894/974 1168/2895/961 +f 1171/2894/974 1129/2896/975 1168/2895/961 +f 1172/2897/974 1127/2829/975 1129/2896/975 +f 1121/2833/976 1067/2836/942 1117/2831/973 +f 1048/2898/838 1046/2899/875 1045/2900/875 +f 1258/1425/901 1253/2567/838 1255/1344/901 +f 1316/1505/983 1308/1495/984 1310/1491/984 +f 1217/1380/832 1188/1374/875 1186/1373/832 +f 1061/2735/829 1057/2901/852 1058/2718/852 +f 1037/2902/825 1033/2903/908 1035/2721/908 +f 1183/2559/826 1180/1311/843 1181/1313/843 +f 1196/2562/855 1193/1351/827 1194/1325/827 +f 1194/1325/827 1191/1350/901 1192/1339/901 +f 1204/1464/849 1201/1458/829 1202/1423/829 +f 1198/1359/833 1195/1361/855 1196/2562/855 +f 1177/1334/908 1176/2576/828 1174/2574/828 +f 1192/1339/901 1189/2585/838 1190/1340/838 +f 1335/1489/985 1324/1483/986 1321/1471/986 +f 1327/1503/829 1321/1471/986 1324/1483/986 +f 1331/1164/987 1326/1502/988 1328/1507/987 +f 1317/1508/989 1306/1500/990 1303/1504/989 +f 1310/1491/984 1313/2597/825 1312/2596/825 +f 1303/1504/989 1313/2597/825 1317/1508/989 +f 1268/1343/829 1263/1451/852 1265/1352/829 +f 1039/2741/843 1036/2904/825 1037/2902/825 +f 1343/1522/832 1337/1520/936 1340/1511/936 +f 1366/1527/930 1363/2593/827 1362/2603/827 +f 1060/2726/832 1046/2899/875 1044/2905/832 +f 1329/1166/988 1327/1503/829 1326/1502/988 +f 1345/1515/933 1343/1522/832 1342/1480/933 +f 1440/2906/991 1444/2907/992 1443/2908/993 +f 1507/2909/994 1370/2910/995 1511/2911/996 +f 1385/2912/997 1377/2913/908 1389/2914/828 +f 1381/2915/831 1373/2916/998 1375/2917/999 +f 1459/2918/1000 1464/2919/1001 1453/2920/1002 +f 1403/2921/1003 1416/2922/1004 1405/2923/1005 +f 1386/2924/1006 1387/2925/830 1371/2926/1007 +f 1416/2922/1004 1407/2927/1008 1405/2923/1005 +f 1510/2928/849 1385/2912/997 1389/2914/828 +f 1500/2929/1009 1507/2930/994 1511/2931/996 +f 1465/2932/1010 1458/2933/1011 1454/2934/1012 +f 1442/2935/875 1446/2936/1013 1435/2937/1014 +f 1454/2934/1012 1464/2919/1001 1465/2932/1010 +f 1381/2938/831 1375/2939/999 1392/2940/1015 +f 1394/2941/1016 1405/2942/1005 1396/2943/1017 +f 1479/2944/1018 1462/2945/1019 1470/2946/1020 +f 1371/2947/1007 1387/2948/830 1390/2949/1021 +f 1372/2950/1022 1395/2951/1023 1379/2952/1024 +f 1377/2913/908 1394/2941/1016 1378/2953/1025 +f 1505/2954/1026 1496/2955/852 1494/2956/1027 +f 1473/2957/1028 1467/2958/1029 1463/2959/1030 +f 1463/2960/1030 1457/2961/1031 1456/2962/1032 +f 1393/2963/825 1399/2964/1033 1400/2965/843 +f 1476/2966/1034 1470/2946/1020 1467/2958/1029 +f 1381/2967/831 1392/2968/1015 1402/2969/1035 +f 1469/2738/938 1471/2970/1036 1464/2971/1001 +f 1379/2952/1024 1397/2972/1037 1384/2973/1038 +f 1390/2974/1021 1387/2975/830 1406/2976/1039 +f 1464/2971/1001 1474/2977/979 1465/2978/1010 +f 1406/2979/1039 1387/2980/830 1408/2981/1040 +f 1416/2982/1004 1420/2983/1041 1409/2984/1042 +f 1455/2985/901 1469/2738/938 1459/2918/1000 +f 1473/2986/1028 1487/2987/1043 1476/2988/1034 +f 1409/2984/1042 1423/2989/1044 1413/2990/1045 +f 1472/2991/1046 1486/2992/833 1475/2993/855 +f 1382/2994/1047 1374/2995/1048 1388/2996/1049 +f 1381/2997/831 1402/2998/1035 1413/2999/1045 +f 1478/2737/937 1482/3000/1050 1471/3001/1036 +f 1480/3002/1051 1472/2991/1046 1479/3003/1018 +f 1446/3004/1013 1453/3005/1002 1448/3006/1052 +f 1428/3007/1053 1435/2937/1014 1438/3008/1054 +f 1408/3009/1040 1387/3010/830 1419/3011/1055 +f 1474/2841/979 1482/3000/1050 1485/2839/977 +f 1496/2955/852 1488/3012/1056 1486/2992/833 +f 1406/2979/1039 1412/3013/1057 1401/3014/1058 +f 1451/3015/1059 1437/3016/1060 1441/3017/1061 +f 1410/3018/1062 1421/3019/845 1411/3020/826 +f 1401/3014/1058 1415/3021/1063 1404/3022/1064 +f 1381/3023/831 1413/2990/1045 1423/2989/1044 +f 1438/3008/1054 1431/3024/1065 1428/3007/1053 +f 1381/3025/831 1423/3026/1044 1427/3027/1066 +f 1502/3028/1067 1508/3029/1068 1504/3030/1069 +f 1514/3031/1070 1505/2954/1026 1503/3032/1071 +f 1419/3033/1055 1387/3034/830 1430/3035/1072 +f 1433/3036/1073 1425/3037/1074 1422/3038/1075 +f 1502/3028/1067 1510/2928/849 1513/3039/1076 +f 1422/3038/1075 1430/3035/1072 1433/3036/1073 +f 1421/3019/845 1429/3040/1077 1432/3041/832 +f 1432/3041/832 1439/3042/1078 1442/2935/875 +f 1508/3043/1068 1388/3044/1049 1509/3045/1079 +f 1381/3046/831 1427/3047/1066 1437/3048/1060 +f 1508/3043/1068 1376/3049/1080 1382/3050/1047 +f 1417/3051/1081 1431/3052/1065 1420/3053/1041 +f 1430/3054/1072 1387/3055/830 1440/3056/991 +f 1396/2943/1017 1407/3057/1008 1398/3058/1082 +f 1393/2963/825 1403/2921/1003 1394/2941/1016 +f 1398/3059/1082 1375/2939/999 1374/3060/1048 +f 1433/3061/1073 1440/3056/991 1443/3062/993 +f 1444/3063/992 1456/3064/1032 1457/3065/1031 +f 1451/3066/1059 1458/3067/1011 1445/3068/1083 +f 1449/3069/1084 1442/2935/875 1439/3042/1078 +f 1447/3070/1085 1457/3065/1031 1460/3071/1086 +f 1381/3072/831 1437/3016/1060 1445/3073/1083 +f 1447/3070/1085 1461/3074/1087 1449/3075/1084 +f 1460/3076/1086 1462/2945/1019 1461/3074/1087 +f 1440/2906/991 1387/3077/830 1450/3078/1088 +f 1448/3006/1052 1454/3079/1012 1451/3066/1059 +f 1452/3080/838 1459/2918/1000 1446/3004/1013 +f 1476/2988/1034 1480/3002/1051 1479/3003/1018 +f 1425/3037/1074 1429/3040/1077 1418/3081/1089 +f 1419/3011/1055 1412/3082/1057 1408/3009/1040 +f 1388/3044/1049 1512/3083/1090 1509/3045/1079 +f 1475/2993/855 1488/3012/1056 1478/2737/937 +f 1503/3032/1071 1511/2931/996 1514/3031/1070 +f 1381/3084/831 1445/3068/1083 1458/3067/1011 +f 1404/3085/1064 1397/2972/1037 1395/3086/1023 +f 1447/3087/1085 1439/3042/1078 1436/3088/1091 +f 1450/3089/1088 1387/3090/830 1456/3064/1032 +f 1491/3091/1092 1504/3092/1069 1493/3093/1093 +f 1456/2962/1032 1387/3094/830 1463/2960/1030 +f 1487/3095/1043 1492/3096/1094 1480/3097/1051 +f 1414/3098/1095 1421/3019/845 1424/3099/1096 +f 1506/3100/1097 1512/3101/1090 1501/3102/1098 +f 1497/3103/1099 1499/3104/1100 1500/3105/1009 +f 1510/2928/849 1376/3049/1080 1513/3039/1076 +f 1489/3106/1101 1504/3092/1069 1506/3107/1097 +f 1381/3108/831 1458/2933/1011 1468/3109/1102 +f 1435/2937/1014 1448/3110/1052 1438/3111/1054 +f 1429/3040/1077 1436/3112/1091 1439/3042/1078 +f 1383/3113/1103 1394/2941/1016 1396/3114/1017 +f 1463/2959/1030 1387/3115/830 1473/2957/1028 +f 1395/3086/1023 1401/3116/1058 1404/3085/1064 +f 1432/3041/832 1435/2937/1014 1434/3117/1104 +f 1420/3053/1041 1427/3027/1066 1423/3026/1044 +f 1398/3058/1082 1402/2969/1035 1392/2968/1015 +f 1466/2736/827 1472/2991/1046 1475/2993/855 +f 1396/3114/1017 1374/3060/1048 1383/3113/1103 +f 1381/3118/831 1468/3119/1102 1477/3120/978 +f 1415/3121/1063 1422/3122/1075 1425/3123/1074 +f 1381/3124/831 1477/2840/978 1481/3125/1105 +f 1382/2994/1047 1378/2953/1025 1383/3126/1103 +f 1380/3127/1106 1384/2973/1038 1385/2912/997 +f 1473/2986/1028 1387/3128/830 1484/3129/1107 +f 1372/3130/1022 1380/3127/1106 1370/3131/995 +f 1399/2964/1033 1411/3020/826 1400/2965/843 +f 1431/3024/1065 1437/3048/1060 1427/3047/1066 +f 1409/3132/1042 1402/2998/1035 1407/2927/1008 +f 1411/3020/826 1403/2921/1003 1400/2965/843 +f 1495/3133/1108 1487/3095/1043 1484/3134/1107 +f 1397/2972/1037 1377/2913/908 1384/2973/1038 +f 1485/3135/977 1493/3136/1093 1489/3137/1101 +f 1381/3138/831 1481/3139/1105 1490/3140/1109 +f 1414/3098/1095 1417/3141/1081 1416/2982/1004 +f 1415/3021/1063 1399/2964/1033 1404/3022/1064 +f 1484/3134/1107 1387/3142/830 1495/3133/1108 +f 1433/3061/1073 1436/3112/1091 1426/3143/1110 +f 1461/3074/1087 1452/3080/838 1449/3075/1084 +f 1371/2947/1007 1391/3144/1111 1372/2950/1022 +f 1462/2945/1019 1455/2985/901 1461/3074/1087 +f 1506/3107/1097 1490/3145/1109 1489/3106/1101 +f 1485/3135/977 1490/3140/1109 1481/3139/1105 +f 1486/2992/833 1494/2956/1027 1496/2955/852 +f 1504/3030/1069 1509/3146/1079 1506/3100/1097 +f 1381/3147/831 1490/3145/1109 1501/3148/1098 +f 1492/3149/1094 1505/2954/1026 1494/2956/1027 +f 1514/3150/1070 1385/2912/997 1515/3151/1112 +f 1495/3152/1108 1387/3153/830 1499/3104/1100 +f 1497/3103/1099 1503/3154/1071 1492/3149/1094 +f 1499/3155/1100 1387/3156/830 1507/2930/994 +f 1443/2908/993 1447/3087/1085 1436/3088/1091 +f 1491/3091/1092 1498/3157/829 1502/3028/1067 +f 1465/2978/1010 1477/3120/978 1468/3119/1102 +f 1406/2976/1039 1391/3158/1111 1390/2974/1021 +f 1505/2954/1026 1510/2928/849 1498/3157/829 +f 1441/3017/1061 1448/3110/1052 1451/3015/1059 +f 1381/3159/831 1501/3102/1098 1512/3101/1090 +f 1480/3097/1051 1494/2956/1027 1483/3160/1113 +f 1434/3117/1104 1417/3051/1081 1424/3099/1096 +f 1425/3123/1074 1410/3018/1062 1415/3121/1063 +f 1507/2909/994 1387/3161/830 1386/3162/1006 +f 1370/2910/995 1514/3150/1070 1511/2911/996 +f 1421/3019/845 1434/3117/1104 1424/3099/1096 +f 1370/3131/995 1371/2926/1007 1372/3130/1022 +f 1388/2996/1049 1375/2917/999 1373/2916/998 +f 1376/3049/1080 1377/2913/908 1378/2953/1025 +f 1457/2961/1031 1470/3163/1020 1460/3076/1086 +f 1381/3164/831 1512/3083/1090 1373/3165/998 +f 1488/3012/1056 1493/3136/1093 1482/3166/1050 +f 1067/2746/942 1071/2750/942 1068/2747/943 +f 1070/2749/944 1073/2752/943 1068/2747/943 +f 1072/2751/944 1074/2848/943 1073/2752/943 +f 1072/2756/944 1070/2760/944 1075/2757/948 +f 1077/2759/947 1079/2762/948 1075/2757/948 +f 1078/2761/947 1080/2820/948 1079/2762/948 +f 1078/2755/947 1077/2768/947 1081/2766/945 +f 1083/2767/946 1084/2769/945 1081/2766/945 +f 1064/2754/946 1085/3167/945 1084/2769/945 +f 1064/2773/946 1083/2776/946 1086/2774/954 +f 1083/2776/946 1090/2779/955 1088/2777/954 +f 1089/2778/955 1091/2838/954 1088/2777/954 +f 1089/2783/955 1090/2786/955 1092/2784/958 +f 1090/2786/955 1095/2789/959 1094/2787/958 +f 1065/2788/959 1096/2873/958 1094/2787/958 +f 1065/2793/959 1095/2797/959 1097/2794/962 +f 1099/2796/963 1101/2799/962 1097/2794/962 +f 1100/2798/963 1102/3168/962 1101/2799/962 +f 1100/2803/963 1099/2807/963 1103/2804/966 +f 1105/2806/967 1106/2809/966 1103/2804/966 +f 1066/2808/967 1107/3169/966 1106/2809/966 +f 1066/2813/967 1105/2817/967 1108/2814/970 +f 1110/2816/971 1112/2819/970 1108/2814/970 +f 1111/2818/971 1113/2853/970 1112/2819/970 +f 1111/2821/971 1110/2825/971 1114/2822/972 +f 1116/2824/973 1118/2827/972 1114/2822/972 +f 1117/2826/973 1119/3170/972 1118/2827/972 +f 1117/2831/973 1116/2834/973 1120/2832/976 +f 1116/2834/973 1071/2837/942 1122/2835/976 +f 1067/2836/942 1123/3171/976 1122/2835/976 +f 1127/2842/975 1517/2866/980 1128/2843/980 +f 1128/2843/980 1131/2846/980 1130/2845/952 +f 1131/2846/980 1132/2867/980 1126/2847/952 +f 1126/2771/952 1137/3172/951 1133/2849/951 +f 1133/2849/951 1135/2852/951 1134/2851/953 +f 1135/2852/951 1518/2770/951 1136/2772/953 +f 1136/2854/953 1519/2763/949 1138/2855/949 +f 1138/2855/949 1140/2858/949 1139/2857/950 +f 1140/2858/949 1141/2765/949 1125/2764/950 +f 1125/2801/950 1520/3173/964 1142/2862/964 +f 1139/2863/950 1142/2862/964 1143/2864/964 +f 1143/2864/964 1146/2800/964 1145/2802/965 +f 1145/2868/965 1521/2743/940 1147/2869/940 +f 1144/2870/965 1147/2869/940 1148/2871/940 +f 1148/2871/940 1151/2745/940 1150/2744/941 +f 1150/2782/941 1156/2781/957 1152/2874/957 +f 1152/2874/957 1154/2877/957 1153/2876/956 +f 1154/2877/957 1522/3174/957 1155/2780/956 +f 1155/2878/956 1523/2810/968 1157/2879/968 +f 1153/2880/956 1157/2879/968 1158/2881/968 +f 1158/2881/968 1160/2812/968 1124/2811/969 +f 1124/2883/969 1524/2859/981 1161/2884/981 +f 1161/2884/981 1163/2887/981 1162/2886/982 +f 1163/2887/981 1165/2861/981 1164/2860/982 +f 1164/2888/982 1525/2790/960 1166/2889/960 +f 1162/2890/982 1166/2889/960 1167/2891/960 +f 1167/2891/960 1170/2792/960 1169/2791/961 +f 1169/2893/961 1526/2828/974 1171/2894/974 +f 1171/2894/974 1172/2897/974 1129/2896/975 +f 1172/2897/974 1173/2830/974 1127/2829/975 +f 1252/1329/832 1250/1321/845 1247/1461/845 +f 1262/1366/855 1260/1428/827 1257/1355/827 +f 1050/2715/901 1049/2725/901 1047/2716/838 +f 1244/1305/825 1241/1296/825 1242/1397/908 +f 1058/2718/852 1057/2901/852 1055/2719/833 +f 1366/1527/930 1360/1526/931 1361/1497/931 +f 1202/1423/829 1201/1458/829 1199/2571/852 +f 1260/1428/827 1258/1425/901 1255/1344/901 +f 1266/2572/852 1264/1364/833 1261/1419/833 +f 1035/2721/908 1033/2903/908 1034/2722/828 +f 1256/2560/838 1251/1318/875 1254/1433/875 +f 1242/1397/908 1239/1399/828 1240/1304/828 +f 1250/1321/845 1248/1323/826 1245/1415/826 +f 1052/2724/827 1051/2732/827 1049/2725/901 +f 1060/2726/832 1044/2905/832 1042/2727/845 +f 1181/1313/843 1180/1311/843 1178/1310/825 +f 1174/2574/828 1176/2576/828 1203/1382/849 +f 1347/1479/932 1344/1513/932 1345/1515/933 +f 1032/2723/828 1034/2722/828 1062/2729/849 +f 1362/2603/827 1363/2593/827 1355/1477/934 +f 1269/1341/849 1268/1343/829 1265/1352/829 +f 1351/1530/935 1340/1511/936 1337/1520/936 +f 1239/1399/828 1269/1341/849 1267/1302/849 +f 1246/1540/843 1241/1296/825 1244/1305/825 +f 1190/2564/838 1189/2586/838 1188/1374/875 +f 1185/1381/845 1184/1455/845 1182/1412/826 +f 1054/2731/855 1053/2733/855 1051/2732/827 +f 1264/1364/833 1262/1366/855 1259/1357/855 +f 1056/2720/833 1055/2719/833 1053/2733/855 +f 1200/1424/852 1199/2571/852 1197/1367/833 +f 1063/2730/849 1062/2729/849 1059/2734/829 +f 1466/2736/827 1475/2993/855 1478/2737/937 +f 1041/2739/826 1040/2742/826 1038/2740/843 +f 1043/2728/845 1042/2727/845 1040/2742/826 +f 1248/1323/826 1246/1540/843 1243/1413/843 +f 1179/1333/825 1178/1310/825 1175/1401/908 +f 1217/1380/832 1186/1373/832 1184/1455/845 +f 1254/1433/875 1251/1318/875 1252/1329/832 +f 1369/1476/939 1356/1517/939 1353/1533/934 +f 1521/2743/940 1145/2868/965 1150/2744/941 +f 1082/2753/945 1085/3167/945 1064/2754/946 +f 1519/2763/949 1136/2854/953 1125/2764/950 +f 1518/2770/951 1137/3172/951 1126/2771/952 +f 1155/2780/956 1522/3174/957 1156/2781/957 +f 1525/2790/960 1164/2888/982 1169/2791/961 +f 1146/2800/964 1520/3173/964 1125/2801/950 +f 1523/2810/968 1155/2878/956 1124/2811/969 +f 1072/2756/944 1076/2758/948 1080/2820/948 +f 1526/2828/974 1169/2893/961 1127/2829/975 +f 1064/2773/946 1087/2775/954 1091/2838/954 +f 1485/2839/977 1481/3125/1105 1477/2840/978 +f 1072/2751/944 1067/2746/942 1069/2748/943 +f 1111/2818/971 1066/2813/967 1109/2815/970 +f 1524/2859/981 1124/2883/969 1164/2860/982 +f 1517/2866/980 1127/2842/975 1126/2847/952 +f 1065/2788/959 1089/2783/955 1093/2785/958 +f 1098/2795/962 1102/3168/962 1100/2798/963 +f 1104/2805/966 1107/3169/966 1066/2808/967 +f 1115/2823/972 1119/3170/972 1117/2826/973 +f 1121/2833/976 1123/3171/976 1067/2836/942 +f 1048/2898/838 1047/3175/838 1046/2899/875 +f 1258/1425/901 1256/2583/838 1253/2567/838 +f 1316/1505/983 1311/1523/983 1308/1495/984 +f 1217/1380/832 1187/1336/875 1188/1374/875 +f 1061/2735/829 1059/2734/829 1057/2901/852 +f 1037/2902/825 1036/2904/825 1033/2903/908 +f 1183/2559/826 1182/1412/826 1180/1311/843 +f 1196/2562/855 1195/1361/855 1193/1351/827 +f 1194/1325/827 1193/1351/827 1191/1350/901 +f 1204/1464/849 1203/1382/849 1201/1458/829 +f 1198/1359/833 1197/1367/833 1195/1361/855 +f 1177/1334/908 1175/1401/908 1176/2576/828 +f 1192/1339/901 1191/1350/901 1189/2585/838 +f 1335/1489/985 1323/1490/985 1324/1483/986 +f 1327/1503/829 1322/1472/829 1321/1471/986 +f 1331/1164/987 1329/1166/988 1326/1502/988 +f 1317/1508/989 1305/1534/990 1306/1500/990 +f 1310/1491/984 1308/1495/984 1313/2597/825 +f 1303/1504/989 1312/2596/825 1313/2597/825 +f 1268/1343/829 1266/2572/852 1263/1451/852 +f 1039/2741/843 1038/2740/843 1036/2904/825 +f 1343/1522/832 1338/1521/832 1337/1520/936 +f 1366/1527/930 1358/1486/930 1363/2593/827 +f 1060/2726/832 1045/2900/875 1046/2899/875 +f 1329/1166/988 1322/1472/829 1327/1503/829 +f 1345/1515/933 1338/1521/832 1343/1522/832 +f 1440/2906/991 1450/3078/1088 1444/2907/992 +f 1507/2909/994 1386/3162/1006 1370/2910/995 +f 1385/2912/997 1384/2973/1038 1377/2913/908 +f 1459/2918/1000 1469/2738/938 1464/2919/1001 +f 1403/2921/1003 1414/3098/1095 1416/2922/1004 +f 1416/2922/1004 1409/3132/1042 1407/2927/1008 +f 1510/2928/849 1515/3151/1112 1385/2912/997 +f 1500/2929/1009 1499/3155/1100 1507/2930/994 +f 1465/2932/1010 1468/3109/1102 1458/2933/1011 +f 1442/2935/875 1452/3176/838 1446/2936/1013 +f 1454/2934/1012 1453/2920/1002 1464/2919/1001 +f 1394/2941/1016 1403/2921/1003 1405/2942/1005 +f 1479/2944/1018 1472/2991/1046 1462/2945/1019 +f 1372/2950/1022 1391/3144/1111 1395/2951/1023 +f 1377/2913/908 1393/2963/825 1394/2941/1016 +f 1505/2954/1026 1498/3157/829 1496/2955/852 +f 1473/2957/1028 1476/2966/1034 1467/2958/1029 +f 1463/2960/1030 1467/3177/1029 1457/2961/1031 +f 1393/2963/825 1397/2972/1037 1399/2964/1033 +f 1476/2966/1034 1479/2944/1018 1470/2946/1020 +f 1469/2738/938 1478/2737/937 1471/2970/1036 +f 1379/2952/1024 1395/2951/1023 1397/2972/1037 +f 1464/2971/1001 1471/2970/1036 1474/2977/979 +f 1416/2982/1004 1417/3141/1081 1420/2983/1041 +f 1455/2985/901 1466/2736/827 1469/2738/938 +f 1473/2986/1028 1484/3129/1107 1487/2987/1043 +f 1409/2984/1042 1420/2983/1041 1423/2989/1044 +f 1472/2991/1046 1483/3160/1113 1486/2992/833 +f 1382/2994/1047 1383/3126/1103 1374/2995/1048 +f 1478/2737/937 1488/3012/1056 1482/3000/1050 +f 1480/3002/1051 1483/3160/1113 1472/2991/1046 +f 1446/3004/1013 1459/2918/1000 1453/3005/1002 +f 1428/3007/1053 1434/3117/1104 1435/2937/1014 +f 1474/2841/979 1471/3001/1036 1482/3000/1050 +f 1496/2955/852 1491/3091/1092 1488/3012/1056 +f 1406/2979/1039 1408/2981/1040 1412/3013/1057 +f 1451/3015/1059 1445/3073/1083 1437/3016/1060 +f 1410/3018/1062 1418/3081/1089 1421/3019/845 +f 1401/3014/1058 1412/3013/1057 1415/3021/1063 +f 1438/3008/1054 1441/3178/1061 1431/3024/1065 +f 1502/3028/1067 1513/3039/1076 1508/3029/1068 +f 1514/3031/1070 1515/3151/1112 1505/2954/1026 +f 1433/3036/1073 1426/3179/1110 1425/3037/1074 +f 1502/3028/1067 1498/3157/829 1510/2928/849 +f 1422/3038/1075 1419/3033/1055 1430/3035/1072 +f 1421/3019/845 1418/3081/1089 1429/3040/1077 +f 1432/3041/832 1429/3040/1077 1439/3042/1078 +f 1508/3043/1068 1382/3050/1047 1388/3044/1049 +f 1508/3043/1068 1513/3039/1076 1376/3049/1080 +f 1417/3051/1081 1428/3180/1053 1431/3052/1065 +f 1396/2943/1017 1405/2942/1005 1407/3057/1008 +f 1393/2963/825 1400/2965/843 1403/2921/1003 +f 1398/3059/1082 1392/2940/1015 1375/2939/999 +f 1433/3061/1073 1430/3054/1072 1440/3056/991 +f 1444/3063/992 1450/3089/1088 1456/3064/1032 +f 1451/3066/1059 1454/3079/1012 1458/3067/1011 +f 1449/3069/1084 1452/3176/838 1442/2935/875 +f 1447/3070/1085 1444/3063/992 1457/3065/1031 +f 1447/3070/1085 1460/3071/1086 1461/3074/1087 +f 1460/3076/1086 1470/3163/1020 1462/2945/1019 +f 1448/3006/1052 1453/3005/1002 1454/3079/1012 +f 1452/3080/838 1455/2985/901 1459/2918/1000 +f 1476/2988/1034 1487/2987/1043 1480/3002/1051 +f 1425/3037/1074 1426/3179/1110 1429/3040/1077 +f 1419/3011/1055 1422/3122/1075 1412/3082/1057 +f 1388/3044/1049 1373/3165/998 1512/3083/1090 +f 1475/2993/855 1486/2992/833 1488/3012/1056 +f 1503/3032/1071 1500/2929/1009 1511/2931/996 +f 1404/3085/1064 1399/2964/1033 1397/2972/1037 +f 1447/3087/1085 1449/3069/1084 1439/3042/1078 +f 1491/3091/1092 1502/3028/1067 1504/3092/1069 +f 1487/3095/1043 1497/3181/1099 1492/3096/1094 +f 1414/3098/1095 1411/3020/826 1421/3019/845 +f 1506/3100/1097 1509/3146/1079 1512/3101/1090 +f 1497/3103/1099 1495/3152/1108 1499/3104/1100 +f 1510/2928/849 1389/2914/828 1376/3049/1080 +f 1489/3106/1101 1493/3093/1093 1504/3092/1069 +f 1435/2937/1014 1446/2936/1013 1448/3110/1052 +f 1429/3040/1077 1426/3143/1110 1436/3112/1091 +f 1383/3113/1103 1378/2953/1025 1394/2941/1016 +f 1395/3086/1023 1391/3158/1111 1401/3116/1058 +f 1432/3041/832 1442/2935/875 1435/2937/1014 +f 1420/3053/1041 1431/3052/1065 1427/3027/1066 +f 1398/3058/1082 1407/3057/1008 1402/2969/1035 +f 1466/2736/827 1462/2945/1019 1472/2991/1046 +f 1396/3114/1017 1398/3059/1082 1374/3060/1048 +f 1415/3121/1063 1412/3082/1057 1422/3122/1075 +f 1382/2994/1047 1376/3049/1080 1378/2953/1025 +f 1380/3127/1106 1379/3182/1024 1384/2973/1038 +f 1372/3130/1022 1379/3182/1024 1380/3127/1106 +f 1399/2964/1033 1410/3018/1062 1411/3020/826 +f 1431/3024/1065 1441/3178/1061 1437/3048/1060 +f 1409/3132/1042 1413/2999/1045 1402/2998/1035 +f 1411/3020/826 1414/3098/1095 1403/2921/1003 +f 1495/3133/1108 1497/3181/1099 1487/3095/1043 +f 1397/2972/1037 1393/2963/825 1377/2913/908 +f 1485/3135/977 1482/3166/1050 1493/3136/1093 +f 1414/3098/1095 1424/3099/1096 1417/3141/1081 +f 1415/3021/1063 1410/3018/1062 1399/2964/1033 +f 1433/3061/1073 1443/3062/993 1436/3112/1091 +f 1461/3074/1087 1455/2985/901 1452/3080/838 +f 1371/2947/1007 1390/2949/1021 1391/3144/1111 +f 1462/2945/1019 1466/2736/827 1455/2985/901 +f 1506/3107/1097 1501/3148/1098 1490/3145/1109 +f 1485/3135/977 1489/3137/1101 1490/3140/1109 +f 1486/2992/833 1483/3160/1113 1494/2956/1027 +f 1504/3030/1069 1508/3029/1068 1509/3146/1079 +f 1492/3149/1094 1503/3154/1071 1505/2954/1026 +f 1514/3150/1070 1380/3183/1106 1385/2912/997 +f 1497/3103/1099 1500/3105/1009 1503/3154/1071 +f 1443/2908/993 1444/2907/992 1447/3087/1085 +f 1491/3091/1092 1496/2955/852 1498/3157/829 +f 1465/2978/1010 1474/2977/979 1477/3120/978 +f 1406/2976/1039 1401/3116/1058 1391/3158/1111 +f 1505/2954/1026 1515/3151/1112 1510/2928/849 +f 1441/3017/1061 1438/3111/1054 1448/3110/1052 +f 1480/3097/1051 1492/3096/1094 1494/2956/1027 +f 1434/3117/1104 1428/3180/1053 1417/3051/1081 +f 1425/3123/1074 1418/3081/1089 1410/3018/1062 +f 1370/2910/995 1380/3183/1106 1514/3150/1070 +f 1421/3019/845 1432/3041/832 1434/3117/1104 +f 1370/3131/995 1386/2924/1006 1371/2926/1007 +f 1388/2996/1049 1374/2995/1048 1375/2917/999 +f 1376/3049/1080 1389/2914/828 1377/2913/908 +f 1457/2961/1031 1467/3177/1029 1470/3163/1020 +f 1488/3012/1056 1491/3091/1092 1493/3136/1093 diff --git a/src/main/resources/assets/hbm/models/bombs/n45_chain.obj b/src/main/resources/assets/hbm/models/bombs/n45_chain.obj deleted file mode 100644 index aa2cf4c00..000000000 --- a/src/main/resources/assets/hbm/models/bombs/n45_chain.obj +++ /dev/null @@ -1,1133 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'n45_chain.blend' -# www.blender.org -o Torus -v 0.000000 -0.000000 -0.110000 -v 0.020000 -0.000000 -0.090000 -v 0.000000 -0.000000 -0.070000 -v -0.020000 -0.000000 -0.090000 -v -0.000000 0.116673 -0.077782 -v 0.020000 0.095459 -0.063640 -v -0.000000 0.074246 -0.049497 -v -0.020000 0.095459 -0.063640 -v -0.000000 0.165000 -0.000000 -v 0.020000 0.135000 -0.000000 -v -0.000000 0.105000 -0.000000 -v -0.020000 0.135000 -0.000000 -v -0.000000 0.116673 0.077782 -v 0.020000 0.095459 0.063640 -v -0.000000 0.074246 0.049497 -v -0.020000 0.095459 0.063640 -v 0.000000 -0.000000 0.110000 -v 0.020000 -0.000000 0.090000 -v 0.000000 -0.000000 0.070000 -v -0.020000 -0.000000 0.090000 -v 0.000000 0.835000 0.000000 -v 0.020000 0.865000 0.000000 -v 0.000000 0.895000 0.000000 -v -0.020000 0.865000 0.000000 -v 0.000000 0.883327 -0.077782 -v 0.020000 0.904541 -0.063640 -v 0.000000 0.925754 -0.049497 -v -0.020000 0.904541 -0.063640 -v 0.000000 1.000000 -0.110000 -v 0.020000 1.000000 -0.090000 -v 0.000000 1.000000 -0.070000 -v -0.020000 1.000000 -0.090000 -v 0.000000 1.000000 0.110000 -v 0.020000 1.000000 0.090000 -v 0.000000 1.000000 0.070000 -v -0.020000 1.000000 0.090000 -v 0.000000 0.883327 0.077782 -v 0.020000 0.904541 0.063640 -v 0.000000 0.925754 0.049498 -v -0.020000 0.904541 0.063640 -v 0.000000 0.501667 0.000000 -v 0.020000 0.531667 0.000000 -v 0.000000 0.561667 0.000000 -v -0.020000 0.531667 0.000000 -v 0.000000 0.549994 -0.077782 -v 0.020000 0.571207 -0.063640 -v 0.000000 0.592420 -0.049497 -v -0.020000 0.571207 -0.063640 -v 0.000000 0.666667 -0.110000 -v 0.020000 0.666667 -0.090000 -v 0.000000 0.666667 -0.070000 -v -0.020000 0.666667 -0.090000 -v -0.000000 0.783339 -0.077782 -v 0.020000 0.762126 -0.063640 -v -0.000000 0.740913 -0.049497 -v -0.020000 0.762126 -0.063640 -v -0.000000 0.831667 -0.000000 -v 0.020000 0.801667 -0.000000 -v -0.000000 0.771667 -0.000000 -v -0.020000 0.801667 -0.000000 -v -0.000000 0.783339 0.077782 -v 0.020000 0.762126 0.063640 -v -0.000000 0.740913 0.049497 -v -0.020000 0.762126 0.063640 -v 0.000000 0.666667 0.110000 -v 0.020000 0.666667 0.090000 -v 0.000000 0.666667 0.070000 -v -0.020000 0.666667 0.090000 -v 0.000000 0.549994 0.077782 -v 0.020000 0.571207 0.063640 -v 0.000000 0.592420 0.049498 -v -0.020000 0.571207 0.063640 -v 0.000000 0.168333 0.000000 -v 0.020000 0.198333 0.000000 -v 0.000000 0.228333 0.000000 -v -0.020000 0.198333 0.000000 -v 0.000000 0.216661 -0.077782 -v 0.020000 0.237874 -0.063640 -v 0.000000 0.259087 -0.049497 -v -0.020000 0.237874 -0.063640 -v 0.000000 0.333333 -0.110000 -v 0.020000 0.333333 -0.090000 -v 0.000000 0.333333 -0.070000 -v -0.020000 0.333333 -0.090000 -v -0.000000 0.450006 -0.077782 -v 0.020000 0.428793 -0.063640 -v -0.000000 0.407579 -0.049497 -v -0.020000 0.428793 -0.063640 -v -0.000000 0.498333 -0.000000 -v 0.020000 0.468333 -0.000000 -v -0.000000 0.438333 -0.000000 -v -0.020000 0.468333 -0.000000 -v -0.000000 0.450006 0.077782 -v 0.020000 0.428793 0.063640 -v -0.000000 0.407579 0.049497 -v -0.020000 0.428793 0.063640 -v 0.000000 0.333333 0.110000 -v 0.020000 0.333333 0.090000 -v 0.000000 0.333333 0.070000 -v -0.020000 0.333333 0.090000 -v 0.000000 0.216661 0.077782 -v 0.020000 0.237874 0.063640 -v 0.000000 0.259087 0.049498 -v -0.020000 0.237874 0.063640 -v -0.000000 0.001667 -0.000000 -v -0.000000 0.031667 -0.020000 -v -0.000000 0.061667 -0.000000 -v -0.000000 0.031667 0.020000 -v -0.077782 0.049994 -0.000000 -v -0.063640 0.071207 -0.020000 -v -0.049497 0.092420 -0.000000 -v -0.063640 0.071207 0.020000 -v -0.110000 0.166667 0.000000 -v -0.090000 0.166667 -0.020000 -v -0.070000 0.166667 0.000000 -v -0.090000 0.166667 0.020000 -v -0.077782 0.283339 0.000000 -v -0.063640 0.262126 -0.020000 -v -0.049497 0.240913 0.000000 -v -0.063640 0.262126 0.020000 -v -0.000000 0.331667 0.000000 -v -0.000000 0.301667 -0.020000 -v -0.000000 0.271667 0.000000 -v -0.000000 0.301667 0.020000 -v 0.077782 0.283339 0.000000 -v 0.063640 0.262126 -0.020000 -v 0.049497 0.240913 0.000000 -v 0.063640 0.262126 0.020000 -v 0.110000 0.166667 0.000000 -v 0.090000 0.166667 -0.020000 -v 0.070000 0.166667 0.000000 -v 0.090000 0.166667 0.020000 -v 0.077782 0.049994 0.000000 -v 0.063640 0.071207 -0.020000 -v 0.049498 0.092421 0.000000 -v 0.063640 0.071207 0.020000 -v -0.000000 0.668333 -0.000000 -v -0.000000 0.698333 -0.020000 -v -0.000000 0.728333 -0.000000 -v -0.000000 0.698333 0.020000 -v -0.077782 0.716661 -0.000000 -v -0.063640 0.737874 -0.020000 -v -0.049497 0.759087 -0.000000 -v -0.063640 0.737874 0.020000 -v -0.110000 0.833333 0.000000 -v -0.090000 0.833333 -0.020000 -v -0.070000 0.833333 0.000000 -v -0.090000 0.833333 0.020000 -v -0.077782 0.950006 0.000000 -v -0.063640 0.928793 -0.020000 -v -0.049497 0.907579 0.000000 -v -0.063640 0.928793 0.020000 -v -0.000000 0.998333 0.000000 -v -0.000000 0.968333 -0.020000 -v -0.000000 0.938333 0.000000 -v -0.000000 0.968333 0.020000 -v 0.077782 0.950006 0.000000 -v 0.063640 0.928793 -0.020000 -v 0.049497 0.907579 0.000000 -v 0.063640 0.928793 0.020000 -v 0.110000 0.833333 0.000000 -v 0.090000 0.833333 -0.020000 -v 0.070000 0.833333 0.000000 -v 0.090000 0.833333 0.020000 -v 0.077782 0.716661 0.000000 -v 0.063640 0.737874 -0.020000 -v 0.049498 0.759087 0.000000 -v 0.063640 0.737874 0.020000 -v -0.000000 0.335000 -0.000000 -v -0.000000 0.365000 -0.020000 -v -0.000000 0.395000 -0.000000 -v -0.000000 0.365000 0.020000 -v -0.077782 0.383327 -0.000000 -v -0.063640 0.404541 -0.020000 -v -0.049497 0.425754 -0.000000 -v -0.063640 0.404541 0.020000 -v -0.110000 0.500000 0.000000 -v -0.090000 0.500000 -0.020000 -v -0.070000 0.500000 0.000000 -v -0.090000 0.500000 0.020000 -v -0.077782 0.616673 0.000000 -v -0.063640 0.595459 -0.020000 -v -0.049497 0.574246 0.000000 -v -0.063640 0.595459 0.020000 -v -0.000000 0.665000 0.000000 -v -0.000000 0.635000 -0.020000 -v -0.000000 0.605000 0.000000 -v -0.000000 0.635000 0.020000 -v 0.077782 0.616673 0.000000 -v 0.063640 0.595459 -0.020000 -v 0.049497 0.574246 0.000000 -v 0.063640 0.595459 0.020000 -v 0.110000 0.500000 0.000000 -v 0.090000 0.500000 -0.020000 -v 0.070000 0.500000 0.000000 -v 0.090000 0.500000 0.020000 -v 0.077782 0.383327 0.000000 -v 0.063640 0.404541 -0.020000 -v 0.049498 0.425754 0.000000 -v 0.063640 0.404541 0.020000 -vt 0.333333 0.000000 -vt 0.333333 0.130952 -vt 0.291667 0.119048 -vt 0.291667 0.869048 -vt 0.291667 0.761905 -vt 0.333333 0.773809 -vt 0.875000 0.488095 -vt 0.916666 0.476191 -vt 0.916666 0.583333 -vt 0.125000 0.535715 -vt 0.166667 0.523810 -vt 0.166667 0.654762 -vt 0.041667 0.654762 -vt 0.041667 0.785714 -vt 0.000000 0.773809 -vt 0.791667 0.869048 -vt 0.791667 0.976190 -vt 0.750000 0.964286 -vt 0.875000 0.773809 -vt 0.916667 0.761905 -vt 0.916667 0.869047 -vt 0.750000 0.642857 -vt 0.708333 0.654762 -vt 0.708333 0.523809 -vt 0.666667 0.130952 -vt 0.708333 0.142857 -vt 0.708333 0.250000 -vt 0.541667 0.869048 -vt 0.583333 0.880952 -vt 0.583333 0.964286 -vt 0.791667 0.964286 -vt 0.791667 0.880952 -vt 0.833333 0.869048 -vt 0.083333 0.535714 -vt 0.083333 0.642857 -vt 0.291667 0.261905 -vt 0.250000 0.250000 -vt 0.250000 0.142857 -vt 0.166667 0.785714 -vt 0.208333 0.797619 -vt 0.208333 0.880953 -vt 0.000000 0.880952 -vt 0.000000 0.797619 -vt 0.583333 0.273810 -vt 0.583333 0.380952 -vt 0.541667 0.392857 -vt 0.250000 0.392857 -vt 0.208333 0.380952 -vt 0.208334 0.273810 -vt 0.916666 0.345238 -vt 0.875000 0.333333 -vt 0.875000 0.250000 -vt 0.916667 0.666667 -vt 0.916667 0.750000 -vt 0.875000 0.761905 -vt 0.583333 0.511905 -vt 0.583333 0.404762 -vt 0.625000 0.392857 -vt 0.666666 0.392857 -vt 0.625000 0.380952 -vt 0.625000 0.273810 -vt 0.083333 0.892857 -vt 0.125000 0.904762 -vt 0.125000 0.988095 -vt 0.958333 0.750000 -vt 0.958333 0.666667 -vt 1.000000 0.654762 -vt 0.500000 0.404762 -vt 0.500000 0.511905 -vt 0.458333 0.523809 -vt 0.125000 0.773810 -vt 0.125000 0.785714 -vt 0.125000 0.892857 -vt 0.083333 0.880952 -vt 0.958333 0.357143 -vt 1.000000 0.345238 -vt 1.000000 0.452381 -vt 0.541667 0.250000 -vt 0.500000 0.261905 -vt 0.500000 0.130952 -vt 0.166667 0.000000 -vt 0.166667 0.130952 -vt 0.125000 0.119048 -vt 0.791666 0.500000 -vt 0.791666 0.607143 -vt 0.750000 0.595238 -vt 0.750000 0.404762 -vt 0.791666 0.392857 -vt 0.208333 0.011905 -vt 0.250000 0.000000 -vt 0.250000 0.130952 -vt 0.083333 0.523810 -vt 0.041667 0.511905 -vt 0.041667 0.404762 -vt 0.916666 0.238095 -vt 0.875000 0.226190 -vt 0.875000 0.142857 -vt 0.041667 0.880952 -vt 0.041667 0.797619 -vt 0.083333 0.785714 -vt 0.500000 0.380952 -vt 0.500000 0.273809 -vt 0.541667 0.261905 -vt 0.583333 0.261905 -vt 0.541667 0.142857 -vt 0.958333 0.000000 -vt 1.000000 0.011905 -vt 1.000000 0.095238 -vt 0.958333 0.333333 -vt 0.958333 0.250000 -vt 1.000000 0.238095 -vt 0.541667 0.535714 -vt 0.541667 0.642857 -vt 0.500000 0.654762 -vt 0.041667 0.130952 -vt 0.041667 0.261905 -vt 0.000000 0.250000 -vt 1.000000 0.761905 -vt 1.000000 0.869047 -vt 0.958333 0.857143 -vt 0.250000 0.785714 -vt 0.250000 0.892857 -vt 0.375000 0.535714 -vt 0.416667 0.523809 -vt 0.416667 0.654762 -vt 0.083333 0.130952 -vt 0.083333 0.261905 -vt 0.041667 0.250000 -vt 0.541667 0.654762 -vt 0.541667 0.761905 -vt 0.500000 0.750000 -vt 0.916666 0.380952 -vt 0.958333 0.369048 -vt 0.958333 0.476190 -vt 0.458333 0.011905 -vt 0.500000 0.000000 -vt 0.416667 0.261905 -vt 0.458333 0.273810 -vt 0.458333 0.380952 -vt 0.500000 0.761905 -vt 0.458333 0.750000 -vt 0.458333 0.666667 -vt 0.416667 0.964286 -vt 0.416667 0.880952 -vt 0.458333 0.869048 -vt 0.125000 0.666667 -vt 0.291667 0.392857 -vt 0.250000 0.380952 -vt 0.250000 0.273810 -vt 0.333333 0.761905 -vt 0.291667 0.750000 -vt 0.291667 0.666667 -vt 0.791666 0.357143 -vt 0.791666 0.273809 -vt 0.833333 0.261905 -vt 0.208333 0.142857 -vt 0.208333 0.250000 -vt 0.166667 0.261905 -vt 0.583333 0.654762 -vt 0.583333 0.523809 -vt 0.625000 0.535714 -vt 0.958333 0.761905 -vt 0.958333 0.869047 -vt 0.916667 0.857143 -vt 0.000000 0.904762 -vt 0.041667 0.892857 -vt 0.041667 1.000000 -vt 0.666666 0.273809 -vt 0.708333 0.261905 -vt 0.708333 0.392857 -vt 0.083333 0.000000 -vt 0.041667 0.119048 -vt 0.416667 0.869048 -vt 0.416667 0.976191 -vt 0.375000 0.964286 -vt 0.750000 0.273809 -vt 0.791666 0.261905 -vt 0.791666 0.369048 -vt 0.250000 0.261905 -vt 0.208333 0.392857 -vt 0.166667 0.380953 -vt 0.166667 0.273810 -vt 0.833333 0.750000 -vt 0.833333 0.666667 -vt 0.833333 0.345238 -vt 0.000000 0.642857 -vt 0.000000 0.535714 -vt 0.041667 0.523810 -vt 0.208333 0.523810 -vt 0.166667 0.511905 -vt 0.166667 0.404762 -vt 0.708334 0.869048 -vt 0.750000 0.880952 -vt 0.958333 0.571428 -vt 0.958333 0.488095 -vt 1.000000 0.476191 -vt 0.125000 0.511905 -vt 0.125000 0.404762 -vt 0.166667 0.392857 -vt 0.291667 0.000000 -vt 0.291667 0.130952 -vt 0.250000 0.119048 -vt 0.833333 0.654762 -vt 0.833333 0.761905 -vt 0.791667 0.750000 -vt 0.916666 0.142857 -vt 0.958333 0.130952 -vt 0.958333 0.238095 -vt 0.041667 0.380952 -vt 0.000000 0.392857 -vt 0.000000 0.261905 -vt 0.750000 0.392857 -vt 0.750000 0.523809 -vt 0.708333 0.511905 -vt 0.833333 0.392857 -vt 0.833333 0.500000 -vt 0.791666 0.488095 -vt 0.875000 0.880952 -vt 0.916667 0.976190 -vt 0.208333 0.773810 -vt 0.625000 0.130952 -vt 0.583333 0.119048 -vt 0.583333 0.011905 -vt 0.791667 0.238095 -vt 0.750000 0.226190 -vt 0.750000 0.142857 -vt 0.166667 0.892857 -vt 0.750000 0.250000 -vt 0.083333 0.392857 -vt 0.875000 0.000000 -vt 0.916666 0.011905 -vt 0.916666 0.095238 -vt 0.791666 0.095238 -vt 0.791666 0.011905 -vt 0.833333 0.000000 -vt 0.416667 0.642857 -vt 0.416667 0.535714 -vt 0.625000 0.261905 -vt 0.583333 0.250000 -vt 0.375000 0.869048 -vt 0.375000 0.976190 -vt 0.333333 0.964286 -vt 0.166667 0.904762 -vt 0.208333 0.892857 -vt 0.208333 1.000000 -vt 0.375000 0.511905 -vt 0.333333 0.523809 -vt 0.333333 0.392857 -vt 0.208333 0.000000 -vt 0.208333 0.130952 -vt 0.166667 0.119048 -vt 0.791667 0.857143 -vt 0.458333 0.773809 -vt 0.500000 0.869047 -vt 0.375000 0.273809 -vt 0.416667 0.392857 -vt 0.666667 0.261905 -vt 0.625000 0.250000 -vt 0.625000 0.142857 -vt 0.750000 0.857143 -vt 0.750000 0.773809 -vt 0.250000 0.964286 -vt 0.250000 0.880953 -vt 0.625000 0.119048 -vt 0.625000 0.011905 -vt 0.666667 0.000000 -vt 0.375000 0.261905 -vt 0.333333 0.250000 -vt 0.333333 0.142857 -vt 0.500000 0.857143 -vt 0.500000 0.773809 -vt 0.833333 0.464286 -vt 0.833333 0.380952 -vt 0.875000 0.369048 -vt 0.500000 0.535714 -vt 0.500000 0.642857 -vt 0.458333 0.654762 -vt 0.250000 0.404762 -vt 0.875000 0.380952 -vt 0.916666 0.369048 -vt 0.291667 0.142857 -vt 0.333333 0.261905 -vt 0.458333 0.130952 -vt 0.458333 0.261905 -vt 0.416667 0.250000 -vt 0.416667 0.761905 -vt 0.375000 0.750000 -vt 0.291667 0.976191 -vt 0.666666 0.642857 -vt 0.625000 0.654762 -vt 0.625000 0.523809 -vt 0.125000 0.392857 -vt 0.083333 0.380953 -vt 0.083333 0.273810 -vt 0.916667 0.654762 -vt 0.666667 0.880952 -vt 0.666667 0.964285 -vt 0.625000 0.976190 -vt 0.458333 0.119048 -vt 0.416667 0.130952 -vt 0.125000 0.261905 -vt 0.083333 0.250000 -vt 0.083333 0.142857 -vt 0.875000 0.857143 -vt 0.916666 0.571429 -vt 0.916666 0.488095 -vt 0.333333 0.119048 -vt 0.333333 0.011905 -vt 0.375000 0.000000 -vt 0.541667 0.130952 -vt 0.541667 0.000000 -vt 0.250000 1.000000 -vt 0.208333 0.988095 -vt 0.541667 0.964285 -vt 0.500000 0.976190 -vt 0.250000 0.642857 -vt 0.208333 0.654762 -vt 0.583333 0.392857 -vt 0.541667 0.511905 -vt 0.375000 0.761905 -vt 0.416667 0.773810 -vt 0.583333 0.857143 -vt 0.291667 0.523810 -vt 0.666666 0.404762 -vt 0.666666 0.511905 -vt 0.250000 0.750000 -vt 0.250000 0.666667 -vt 0.666667 0.857143 -vt 0.666667 0.773809 -vt 0.708334 0.761905 -vt 0.041667 0.773810 -vt 0.041667 0.666667 -vt 0.083333 0.654762 -vt 0.125000 0.011905 -vt 0.583333 0.761905 -vt 0.541667 0.750000 -vt 0.541667 0.666667 -vt 0.791667 0.666667 -vt 0.750000 0.761905 -vt 0.375000 0.642857 -vt 0.333333 0.654762 -vt 0.375000 0.250000 -vt 0.458333 0.761905 -vt 0.416667 0.857143 -vt 0.833333 0.142857 -vt 0.875000 0.130952 -vt 0.875000 0.238095 -vt 0.291667 0.273810 -vt 0.750000 0.261905 -vt 0.708333 0.380952 -vt 0.666667 0.761905 -vt 0.666667 0.869047 -vt 0.625000 0.857143 -vt 0.500000 0.964285 -vt 0.458333 0.976190 -vt 0.291667 0.511905 -vt 0.291667 0.404762 -vt 0.833333 0.511905 -vt 0.833333 0.595238 -vt 0.625000 0.869048 -vt 0.250000 0.773809 -vt 0.208333 0.785714 -vt 0.708333 0.011905 -vt 0.708333 0.119048 -vt 0.166667 0.797619 -vt 0.166667 0.880952 -vt 0.416667 0.750000 -vt 0.416667 0.666667 -vt 0.125000 0.250000 -vt 0.125000 0.142857 -vt 0.000000 0.130952 -vt 0.000000 0.000000 -vt 0.041667 0.011905 -vt 0.083333 1.000000 -vt 0.041667 0.988095 -vt 0.708334 0.666667 -vt 0.750000 0.654762 -vt 0.458333 0.142857 -vt 0.458333 0.392857 -vt 0.791666 0.000000 -vt 0.791666 0.107143 -vt 0.750000 0.095238 -vt 0.333333 0.666667 -vt 0.375000 0.654762 -vt 0.000000 0.523810 -vt 0.625000 0.773809 -vt 0.708334 0.880952 -vt 0.708333 0.964285 -vt 0.666667 0.976190 -vt 0.750000 0.011905 -vt 0.750000 0.119048 -vt 0.708333 0.130952 -vt 0.541667 0.011905 -vt 0.541667 0.119048 -vt 0.875000 0.107143 -vt 0.833333 0.095238 -vt 0.833333 0.011905 -vt 1.000000 0.142857 -vt 1.000000 0.226190 -vt 0.291667 0.642857 -vt 0.291667 0.535714 -vt 0.291667 0.654762 -vt 0.833333 0.583333 -vt 0.833333 0.476191 -vt 0.958333 0.095238 -vt 0.916666 0.107143 -vt 0.916666 0.000000 -vt 0.375000 0.380952 -vt 0.666667 0.750000 -vt 0.625000 0.666667 -vt 0.666667 0.654762 -vt 0.041667 0.273810 -vt 0.458333 0.404762 -vt 0.458333 0.511905 -vt 0.625000 0.761905 -vt 0.583334 0.750000 -vt 0.583333 0.666667 -vt 0.250000 0.857143 -vt 0.583333 0.535714 -vt 0.583333 0.642857 -vt 0.375000 0.404762 -vt 0.833333 0.238095 -vt 0.791667 0.226190 -vt 0.791667 0.142857 -vt 0.833333 0.964286 -vt 0.833333 0.880952 -vt 0.875000 0.869048 -vt 0.125000 0.380953 -vt 0.125000 0.273810 -vt 0.416667 0.000000 -vt 0.375000 0.119047 -vt 0.958333 0.880952 -vt 1.000000 0.976190 -vt 0.125000 0.523810 -vt 0.125000 0.654762 -vt 0.166667 0.642857 -vt 0.333333 0.857143 -vt 0.541667 0.523810 -vt 0.291667 0.011905 -vt 0.875000 0.571429 -vt 0.125000 0.642857 -vt 0.000000 0.666667 -vt 0.750000 0.535714 -vt 0.541667 0.976190 -vt 0.833333 0.976190 -vt 0.875000 0.654762 -vt 0.083333 0.797619 -vt 0.958333 0.440476 -vt 0.750000 0.511905 -vt 0.750000 0.488095 -vt 0.208333 0.119048 -vt 0.916666 0.130952 -vt 0.583333 0.130952 -vt 0.958333 0.107143 -vt 0.500000 0.523809 -vt 0.000000 0.142857 -vt 0.958333 0.773809 -vt 0.041667 0.142857 -vt 0.500000 0.666667 -vt 0.916666 0.464286 -vt 0.833333 0.369048 -vt 0.625000 0.642857 -vt 0.916667 0.773809 -vt 0.000000 0.988095 -vt 0.666667 0.380952 -vt 0.375000 0.880952 -vt 0.750000 0.357143 -vt 0.208333 0.261905 -vt 0.708334 0.976190 -vt 1.000000 0.583333 -vt 0.250000 0.011905 -vt 0.916667 0.226190 -vt 0.708333 0.404762 -vt 0.791666 0.404762 -vt 0.875000 0.964285 -vt 0.208333 0.666667 -vt 0.625000 0.000000 -vt 0.791667 0.130952 -vt 0.166667 1.000000 -vt 0.833333 0.107143 -vt 0.583333 0.142857 -vt 0.333333 0.880952 -vt 0.166667 0.988095 -vt 0.166667 0.011905 -vt 0.791667 0.773809 -vt 0.458333 0.857143 -vt 0.791667 0.761905 -vt 0.375000 0.130952 -vt 0.875000 0.476191 -vt 0.250000 0.511905 -vt 0.875000 0.464286 -vt 0.291667 0.250000 -vt 0.416667 0.142857 -vt 0.375000 0.666667 -vt 0.666666 0.535714 -vt 0.125000 0.130952 -vt 0.958333 0.583333 -vt 0.208333 0.904762 -vt 0.541667 0.880952 -vt 0.250000 0.535714 -vt 0.541667 0.404762 -vt 0.583333 0.773809 -vt 0.375000 0.142857 -vt 0.833333 0.226191 -vt 0.291667 0.380953 -vt 0.708333 0.273809 -vt 0.500000 0.880952 -vt 0.041667 0.904762 -vt 0.708334 0.750000 -vt 0.458333 0.250000 -vt 0.333333 0.750000 -vt 0.583333 0.869047 -vt 0.708333 0.000000 -vt 0.958333 0.011905 -vt 0.666667 0.666667 -vt 0.625000 0.750000 -vt 0.833333 0.130952 -vt 0.875000 0.976190 -vt 0.375000 0.011905 -vt 0.958333 0.964285 -vt 0.166667 0.535715 -vn 0.694000 0.191600 -0.694000 -vn 0.694000 -0.191600 0.694000 -vn -0.694000 -0.191600 0.694000 -vn -0.694000 0.191600 -0.694000 -vn 0.786600 0.524400 -0.325800 -vn 0.786600 -0.524400 0.325800 -vn -0.786600 -0.524400 0.325800 -vn -0.786600 0.524400 -0.325800 -vn 0.786600 0.524400 0.325800 -vn 0.786600 -0.524400 -0.325800 -vn -0.786600 -0.524400 -0.325800 -vn -0.786600 0.524400 0.325800 -vn 0.694000 0.191600 0.694000 -vn 0.694000 -0.191600 -0.694000 -vn -0.694000 -0.191600 -0.694000 -vn -0.694000 0.191600 0.694000 -vn -0.325800 -0.524400 -0.786600 -vn 0.325800 0.524400 -0.786600 -vn 0.325800 0.524400 0.786600 -vn -0.325800 -0.524400 0.786600 -vn -0.325800 0.524400 -0.786600 -vn 0.325800 -0.524400 -0.786600 -vn 0.325800 -0.524400 0.786600 -vn -0.325800 0.524400 0.786600 -s off -f 1/1/1 5/2/1 6/3/1 -f 2/4/2 6/5/2 7/6/2 -f 7/7/3 8/8/3 4/9/3 -f 8/10/4 5/11/4 1/12/4 -f 5/13/5 9/14/5 10/15/5 -f 6/16/6 10/17/6 11/18/6 -f 11/19/7 12/20/7 8/21/7 -f 12/22/8 9/23/8 5/24/8 -f 13/25/9 14/26/9 10/27/9 -f 14/28/10 15/29/10 11/30/10 -f 11/31/11 15/32/11 16/33/11 -f 12/34/12 16/35/12 13/13/12 -f 17/36/13 18/37/13 14/38/13 -f 18/39/14 19/40/14 15/41/14 -f 15/42/15 19/43/15 20/14/15 -f 16/44/16 20/45/16 17/46/16 -f 25/47/10 26/48/10 22/49/10 -f 26/50/9 27/51/9 23/52/9 -f 23/53/12 27/54/12 28/55/12 -f 24/56/11 28/57/11 25/58/11 -f 29/59/14 30/60/14 26/61/14 -f 30/62/13 31/63/13 27/64/13 -f 27/65/16 31/66/16 32/67/16 -f 28/68/15 32/69/15 29/70/15 -f 33/12/2 37/39/2 38/71/2 -f 34/72/1 38/73/1 39/74/1 -f 39/75/4 40/76/4 36/77/4 -f 40/78/3 37/79/3 33/80/3 -f 37/81/6 21/82/6 22/83/6 -f 38/84/5 22/85/5 23/86/5 -f 23/87/8 24/88/8 40/84/8 -f 24/89/7 21/90/7 37/91/7 -f 45/92/10 46/93/10 42/94/10 -f 46/95/9 47/96/9 43/97/9 -f 43/98/12 47/99/12 48/100/12 -f 44/101/11 48/102/11 45/103/11 -f 49/104/14 50/78/14 46/105/14 -f 50/106/13 51/107/13 47/108/13 -f 47/109/16 51/110/16 52/111/16 -f 48/112/15 52/113/15 49/114/15 -f 49/115/1 53/116/1 54/117/1 -f 50/118/2 54/119/2 55/120/2 -f 55/40/3 56/121/3 52/122/3 -f 56/123/4 53/124/4 49/125/4 -f 53/126/5 57/127/5 58/128/5 -f 54/129/6 58/130/6 59/131/6 -f 59/132/7 60/133/7 56/134/7 -f 60/135/8 57/136/8 53/80/8 -f 61/137/9 62/138/9 58/139/9 -f 62/140/10 63/141/10 59/142/10 -f 59/143/11 63/144/11 64/145/11 -f 60/146/12 64/71/12 61/100/12 -f 65/147/13 66/148/13 62/149/13 -f 66/150/14 67/151/14 63/152/14 -f 63/153/15 67/154/15 68/155/15 -f 64/156/16 68/157/16 65/158/16 -f 65/159/2 69/160/2 70/161/2 -f 66/162/1 70/163/1 71/164/1 -f 71/165/4 72/166/4 68/167/4 -f 72/168/3 69/169/3 65/170/3 -f 69/171/6 41/126/6 42/172/6 -f 70/173/5 42/174/5 43/175/5 -f 43/176/8 44/177/8 72/178/8 -f 44/156/7 41/91/7 69/179/7 -f 77/180/10 78/181/10 74/182/10 -f 78/55/9 79/183/9 75/184/9 -f 75/52/12 79/51/12 80/185/12 -f 76/186/11 80/187/11 77/188/11 -f 81/189/14 82/190/14 78/191/14 -f 82/192/13 83/193/13 79/18/13 -f 79/194/16 83/195/16 84/196/16 -f 80/197/15 84/198/15 81/199/15 -f 81/200/1 85/201/1 86/202/1 -f 82/203/2 86/204/2 87/205/2 -f 87/206/3 88/207/3 84/208/3 -f 88/209/4 85/210/4 81/211/4 -f 85/212/5 89/213/5 90/214/5 -f 86/215/6 90/216/6 91/217/6 -f 91/218/7 92/21/7 88/219/7 -f 92/220/8 89/39/8 85/12/8 -f 93/221/9 94/222/9 90/223/9 -f 94/224/10 95/225/10 91/226/10 -f 91/64/11 95/63/11 96/227/11 -f 92/226/12 96/228/12 93/169/12 -f 97/229/13 98/198/13 94/197/13 -f 98/230/14 99/231/14 95/232/14 -f 95/233/15 99/234/15 100/235/15 -f 96/236/16 100/237/16 97/70/16 -f 97/221/2 101/238/2 102/239/2 -f 98/240/1 102/241/1 103/242/1 -f 103/243/4 104/244/4 100/245/4 -f 104/246/3 101/247/3 97/248/3 -f 101/249/6 73/250/6 74/251/6 -f 102/204/5 74/33/5 75/252/5 -f 75/253/8 76/140/8 104/254/8 -f 76/255/7 73/137/7 101/256/7 -f 109/257/17 110/258/17 106/259/17 -f 110/16/18 111/260/18 107/261/18 -f 107/262/19 111/263/19 112/4/19 -f 108/264/20 112/265/20 109/266/20 -f 113/267/15 114/268/15 110/269/15 -f 114/28/1 115/270/1 111/271/1 -f 111/272/13 115/273/13 116/274/13 -f 112/275/3 116/276/3 113/277/3 -f 113/189/4 117/180/4 118/278/4 -f 114/50/14 118/95/14 119/110/14 -f 119/279/2 120/280/2 116/8/2 -f 120/281/16 117/2/16 113/282/16 -f 117/283/21 121/284/21 122/285/21 -f 118/125/22 122/286/22 123/287/22 -f 123/242/23 124/288/23 120/4/23 -f 124/289/24 121/290/24 117/291/24 -f 125/292/18 126/293/18 122/294/18 -f 126/295/17 127/66/17 123/65/17 -f 123/296/20 127/297/20 128/298/20 -f 124/135/19 128/299/19 125/300/19 -f 129/301/1 130/302/1 126/303/1 -f 130/204/15 131/19/15 127/304/15 -f 127/305/3 131/306/3 132/134/3 -f 128/307/13 132/308/13 129/309/13 -f 129/310/14 133/311/14 134/223/14 -f 130/122/4 134/312/4 135/313/4 -f 135/314/16 136/315/16 132/254/16 -f 136/316/2 133/317/2 129/189/2 -f 133/318/22 105/160/22 106/319/22 -f 134/240/21 106/320/21 107/321/21 -f 107/322/24 108/28/24 136/130/24 -f 108/278/23 105/147/23 133/323/23 -f 141/58/17 142/324/17 138/325/17 -f 142/5/18 143/326/18 139/327/18 -f 139/328/19 143/329/19 144/330/19 -f 140/331/20 144/332/20 141/333/20 -f 145/171/15 146/334/15 142/83/15 -f 146/335/1 147/336/1 143/337/1 -f 143/338/13 147/205/13 148/339/13 -f 144/123/3 148/340/3 145/341/3 -f 145/300/4 149/137/4 150/342/4 -f 146/343/14 150/145/14 151/344/14 -f 151/345/2 152/346/2 148/347/2 -f 152/348/16 149/282/16 145/248/16 -f 149/349/21 153/212/21 154/350/21 -f 150/351/22 154/352/22 155/353/22 -f 155/354/23 156/355/23 152/145/23 -f 156/44/24 153/238/24 149/58/24 -f 157/247/18 158/356/18 154/357/18 -f 158/84/17 159/358/17 155/359/17 -f 155/30/20 159/29/20 160/360/20 -f 156/327/19 160/361/19 157/362/19 -f 161/266/1 162/363/1 158/364/1 -f 162/72/15 163/365/15 159/366/15 -f 159/367/3 163/368/3 164/277/3 -f 160/369/13 164/370/13 161/82/13 -f 161/371/14 165/372/14 166/373/14 -f 162/62/4 166/374/4 167/375/4 -f 167/376/16 168/377/16 164/339/16 -f 168/378/2 165/80/2 161/79/2 -f 165/379/22 137/284/22 138/102/22 -f 166/380/21 138/381/21 139/382/21 -f 139/383/24 140/384/24 168/320/24 -f 140/93/23 137/385/23 165/210/23 -f 173/24/17 174/325/17 170/324/17 -f 174/335/18 175/386/18 171/353/18 -f 171/387/19 175/388/19 176/389/19 -f 172/390/20 176/391/20 173/392/20 -f 177/136/15 178/393/15 174/394/15 -f 178/395/1 179/396/1 175/397/1 -f 175/398/13 179/399/13 180/208/13 -f 176/400/3 180/401/3 177/247/3 -f 177/323/4 181/402/4 182/316/4 -f 178/403/14 182/404/14 183/7/14 -f 183/405/2 184/406/2 180/407/2 -f 184/408/16 181/248/16 177/282/16 -f 181/24/21 185/23/21 186/289/21 -f 182/23/22 186/330/22 187/409/22 -f 187/410/23 188/411/23 184/351/23 -f 188/412/24 185/127/24 181/229/24 -f 189/256/18 190/413/18 186/414/18 -f 190/415/17 191/416/17 187/417/17 -f 187/418/20 191/361/20 192/5/20 -f 188/419/19 192/420/19 189/129/19 -f 193/124/1 194/246/1 190/421/1 -f 194/422/15 195/423/15 191/424/15 -f 191/425/3 195/426/3 196/427/3 -f 192/428/13 196/429/13 193/158/13 -f 193/430/14 197/300/14 198/431/14 -f 194/219/4 198/21/4 199/432/4 -f 199/432/16 200/119/16 196/433/16 -f 200/34/2 197/434/2 193/435/2 -f 197/189/22 169/317/22 170/436/22 -f 198/320/21 170/240/21 171/437/21 -f 171/260/24 172/192/24 200/330/24 -f 172/68/23 169/46/23 197/438/23 -f 2/439/1 1/1/1 6/3/1 -f 3/437/2 2/4/2 7/6/2 -f 3/440/3 7/7/3 4/9/3 -f 4/441/4 8/10/4 1/12/4 -f 6/442/5 5/13/5 10/15/5 -f 7/193/6 6/16/6 11/18/6 -f 7/304/7 11/19/7 8/21/7 -f 8/443/8 12/22/8 5/24/8 -f 9/257/9 13/25/9 10/27/9 -f 10/444/10 14/28/10 11/30/10 -f 12/445/11 11/31/11 16/33/11 -f 9/188/12 12/34/12 13/13/12 -f 13/201/13 17/36/13 14/38/13 -f 14/227/14 18/39/14 15/41/14 -f 16/166/15 15/42/15 20/14/15 -f 13/103/16 16/44/16 17/46/16 -f 21/179/10 25/47/10 22/49/10 -f 22/95/9 26/50/9 23/52/9 -f 24/446/12 23/53/12 28/55/12 -f 21/291/11 24/56/11 25/58/11 -f 25/257/14 29/59/14 26/61/14 -f 26/374/13 30/62/13 27/64/13 -f 28/118/16 27/65/16 32/67/16 -f 25/379/15 28/68/15 29/70/15 -f 34/146/2 33/12/2 38/71/2 -f 35/447/1 34/72/1 39/74/1 -f 35/448/4 39/75/4 36/77/4 -f 36/105/3 40/78/3 33/80/3 -f 38/334/6 37/81/6 22/83/6 -f 39/449/5 38/84/5 23/86/5 -f 39/450/8 23/87/8 40/84/8 -f 40/451/7 24/89/7 37/91/7 -f 41/229/10 45/92/10 42/94/10 -f 42/452/9 46/95/9 43/97/9 -f 44/62/12 43/98/12 48/100/12 -f 41/46/11 44/101/11 45/103/11 -f 45/453/14 49/104/14 46/105/14 -f 46/454/13 50/106/13 47/108/13 -f 48/76/16 47/109/16 52/111/16 -f 45/455/15 48/112/15 49/114/15 -f 50/456/1 49/115/1 54/117/1 -f 51/457/2 50/118/2 55/120/2 -f 51/41/3 55/40/3 52/122/3 -f 52/340/4 56/123/4 49/125/4 -f 54/458/5 53/126/5 58/128/5 -f 55/459/6 54/129/6 59/131/6 -f 55/460/7 59/132/7 56/134/7 -f 56/299/8 60/135/8 53/80/8 -f 57/256/9 61/137/9 58/139/9 -f 58/114/10 62/140/10 59/142/10 -f 60/355/11 59/143/11 64/145/11 -f 57/333/12 60/146/12 61/100/12 -f 61/36/13 65/147/13 62/149/13 -f 62/341/14 66/150/14 63/152/14 -f 64/461/15 63/153/15 68/155/15 -f 61/82/16 64/156/16 65/158/16 -f 66/462/2 65/159/2 70/161/2 -f 67/463/1 66/162/1 71/164/1 -f 67/464/4 71/165/4 68/167/4 -f 68/465/3 72/168/3 65/170/3 -f 70/373/6 69/171/6 42/172/6 -f 71/466/5 70/173/5 43/175/5 -f 71/467/8 43/176/8 72/178/8 -f 72/157/7 44/156/7 69/179/7 -f 73/468/10 77/180/10 74/182/10 -f 74/446/9 78/55/9 75/184/9 -f 76/422/12 75/52/12 80/185/12 -f 73/13/11 76/186/11 77/188/11 -f 77/180/14 81/189/14 78/191/14 -f 78/469/13 82/192/13 79/18/13 -f 80/470/16 79/194/16 84/196/16 -f 77/11/15 80/197/15 81/199/15 -f 82/471/1 81/200/1 86/202/1 -f 83/338/2 82/203/2 87/205/2 -f 83/472/3 87/206/3 84/208/3 -f 84/412/4 88/209/4 81/211/4 -f 86/473/5 85/212/5 90/214/5 -f 87/474/6 86/215/6 91/217/6 -f 87/475/7 91/218/7 88/219/7 -f 88/476/8 92/220/8 85/12/8 -f 89/477/9 93/221/9 90/223/9 -f 90/478/10 94/224/10 91/226/10 -f 92/479/11 91/64/11 96/227/11 -f 89/392/12 92/226/12 93/169/12 -f 93/92/13 97/229/13 94/197/13 -f 94/395/14 98/230/14 95/232/14 -f 96/480/15 95/233/15 100/235/15 -f 93/277/16 96/236/16 97/70/16 -f 98/481/2 97/221/2 102/239/2 -f 99/482/1 98/240/1 103/242/1 -f 99/483/4 103/243/4 100/245/4 -f 100/421/3 104/246/3 97/248/3 -f 102/484/6 101/249/6 74/251/6 -f 103/485/5 102/204/5 75/252/5 -f 103/486/8 75/253/8 104/254/8 -f 104/408/7 76/255/7 101/256/7 -f 105/25/17 109/257/17 106/259/17 -f 106/487/18 110/16/18 107/261/18 -f 108/288/19 107/262/19 112/4/19 -f 105/25/20 108/264/20 109/266/20 -f 109/488/15 113/267/15 110/269/15 -f 110/130/1 114/28/1 111/271/1 -f 112/489/13 111/272/13 116/274/13 -f 109/70/3 112/275/3 113/277/3 -f 114/490/4 113/189/4 118/278/4 -f 115/109/14 114/50/14 119/110/14 -f 115/491/2 119/279/2 116/8/2 -f 116/492/16 120/281/16 113/282/16 -f 118/493/21 117/283/21 122/285/21 -f 119/494/22 118/125/22 123/287/22 -f 119/482/23 123/242/23 120/4/23 -f 120/495/24 124/289/24 117/291/24 -f 121/301/18 125/292/18 122/294/18 -f 122/20/17 126/295/17 123/65/17 -f 124/360/20 123/296/20 128/298/20 -f 121/430/19 124/135/19 125/300/19 -f 125/496/1 129/301/1 126/303/1 -f 126/33/15 130/204/15 127/304/15 -f 128/497/3 127/305/3 132/134/3 -f 125/488/13 128/307/13 129/309/13 -f 130/222/14 129/310/14 134/223/14 -f 131/498/4 130/122/4 135/313/4 -f 131/499/16 135/314/16 132/254/16 -f 132/500/2 136/316/2 129/189/2 -f 134/501/22 133/318/22 106/319/22 -f 135/344/21 134/240/21 107/321/21 -f 135/502/24 107/322/24 136/130/24 -f 136/490/23 108/278/23 133/323/23 -f 137/291/17 141/58/17 138/325/17 -f 138/402/18 142/5/18 139/327/18 -f 140/192/19 139/328/19 144/330/19 -f 137/100/20 140/331/20 141/333/20 -f 141/126/15 145/171/15 142/83/15 -f 142/159/1 146/335/1 143/337/1 -f 144/377/13 143/338/13 148/339/13 -f 141/247/3 144/123/3 145/341/3 -f 146/503/4 145/300/4 150/342/4 -f 147/321/14 146/343/14 151/344/14 -f 147/504/2 151/345/2 148/347/2 -f 148/505/16 152/348/16 145/248/16 -f 150/506/21 149/349/21 154/350/21 -f 151/386/22 150/351/22 155/353/22 -f 151/507/23 155/354/23 152/145/23 -f 152/45/24 156/44/24 149/58/24 -f 153/248/18 157/247/18 154/357/18 -f 154/85/17 158/84/17 155/359/17 -f 156/298/20 155/30/20 160/360/20 -f 153/317/19 156/327/19 157/362/19 -f 157/25/1 161/266/1 158/364/1 -f 158/73/15 162/72/15 159/366/15 -f 160/343/3 159/367/3 164/277/3 -f 157/158/13 160/369/13 161/82/13 -f 162/172/14 161/371/14 166/373/14 -f 163/508/4 162/62/4 167/375/4 -f 163/509/16 167/376/16 164/339/16 -f 164/510/2 168/378/2 161/79/2 -f 166/101/22 165/379/22 138/102/22 -f 167/390/21 166/380/21 139/382/21 -f 167/511/24 139/383/24 168/320/24 -f 168/94/23 140/93/23 165/210/23 -f 169/170/17 173/24/17 170/324/17 -f 170/512/18 174/335/18 171/353/18 -f 172/352/19 171/387/19 176/389/19 -f 169/513/20 172/390/20 173/392/20 -f 173/80/15 177/136/15 174/394/15 -f 174/230/1 178/395/1 175/397/1 -f 176/207/13 175/398/13 180/208/13 -f 173/341/3 176/400/3 177/247/3 -f 178/500/4 177/323/4 182/316/4 -f 179/440/14 178/403/14 183/7/14 -f 179/514/2 183/405/2 180/407/2 -f 180/255/16 184/408/16 177/282/16 -f 182/495/21 181/24/21 186/289/21 -f 183/515/22 182/23/22 187/409/22 -f 183/516/23 187/410/23 184/351/23 -f 184/209/24 188/412/24 181/229/24 -f 185/124/18 189/256/18 186/414/18 -f 186/290/17 190/415/17 187/417/17 -f 188/4/20 187/418/20 192/5/20 -f 185/438/19 188/419/19 189/129/19 -f 189/256/1 193/124/1 190/421/1 -f 190/517/15 194/422/15 191/424/15 -f 192/518/3 191/425/3 196/427/3 -f 189/199/13 192/428/13 193/158/13 -f 194/519/14 193/430/14 198/431/14 -f 195/520/4 194/219/4 199/432/4 -f 195/520/16 199/432/16 196/433/16 -f 196/35/2 200/34/2 193/435/2 -f 198/521/22 197/189/22 170/436/22 -f 199/6/21 198/320/21 171/437/21 -f 199/261/24 171/260/24 200/330/24 -f 200/69/23 172/68/23 197/438/23 diff --git a/src/main/resources/assets/hbm/models/bombs/n45_globe.obj b/src/main/resources/assets/hbm/models/bombs/n45_globe.obj deleted file mode 100644 index 1034f8a3e..000000000 --- a/src/main/resources/assets/hbm/models/bombs/n45_globe.obj +++ /dev/null @@ -1,1766 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'n45_globe.blend' -# www.blender.org -o Icosphere -v 0.000000 -0.500000 0.000000 -v 0.361804 -0.223610 0.262863 -v -0.138194 -0.223610 0.425325 -v -0.447213 -0.223608 0.000000 -v -0.138194 -0.223610 -0.425325 -v 0.361804 -0.223610 -0.262863 -v 0.138194 0.223610 0.425325 -v -0.361804 0.223610 0.262863 -v -0.361804 0.223610 -0.262863 -v 0.138194 0.223610 -0.425325 -v 0.447213 0.223608 0.000000 -v 0.000000 0.500000 0.000000 -v -0.116411 -0.328760 0.358282 -v -0.081228 -0.425327 0.249998 -v -0.038803 -0.483975 0.119426 -v 0.101590 -0.483975 0.073809 -v 0.212661 -0.425327 0.154506 -v 0.304773 -0.328759 0.221428 -v 0.265970 -0.251151 0.340856 -v 0.131434 -0.262869 0.404506 -v -0.014820 -0.251151 0.432092 -v 0.406365 -0.251150 -0.147619 -v 0.425324 -0.262868 0.000000 -v 0.406365 -0.251150 0.147619 -v 0.101590 -0.483975 -0.073809 -v 0.212661 -0.425327 -0.154506 -v 0.304773 -0.328759 -0.221428 -v -0.376721 -0.328757 0.000000 -v -0.262865 -0.425326 0.000000 -v -0.125573 -0.483974 0.000000 -v -0.241986 -0.251151 0.358282 -v -0.344095 -0.262868 0.249998 -v -0.415525 -0.251149 0.119427 -v -0.116411 -0.328760 -0.358282 -v -0.081228 -0.425327 -0.249998 -v -0.038803 -0.483975 -0.119426 -v -0.415525 -0.251149 -0.119427 -v -0.344095 -0.262868 -0.249998 -v -0.241986 -0.251151 -0.358282 -v -0.014820 -0.251151 -0.432092 -v 0.131434 -0.262869 -0.404506 -v 0.265970 -0.251151 -0.340856 -v 0.478313 0.125575 0.073809 -v 0.475529 -0.000000 0.154506 -v 0.430349 -0.125575 0.221429 -v 0.430349 -0.125575 -0.221429 -v 0.475529 0.000000 -0.154506 -v 0.478313 0.125575 -0.073809 -v 0.077608 0.125576 0.477711 -v 0.000000 -0.000000 0.500000 -v -0.077608 -0.125576 0.477711 -v 0.343579 -0.125576 0.340858 -v 0.293893 0.000000 0.404508 -v 0.218003 0.125576 0.432094 -v -0.430349 0.125575 0.221429 -v -0.475529 -0.000000 0.154506 -v -0.478313 -0.125575 0.073809 -v -0.218003 -0.125576 0.432094 -v -0.293893 0.000000 0.404508 -v -0.343579 0.125576 0.340858 -v -0.343579 0.125576 -0.340858 -v -0.293893 -0.000000 -0.404508 -v -0.218003 -0.125576 -0.432094 -v -0.478313 -0.125575 -0.073809 -v -0.475529 0.000000 -0.154506 -v -0.430349 0.125575 -0.221429 -v 0.218003 0.125576 -0.432094 -v 0.293893 -0.000000 -0.404508 -v 0.343579 -0.125576 -0.340858 -v -0.077608 -0.125576 -0.477711 -v 0.000000 0.000000 -0.500000 -v 0.077608 0.125576 -0.477711 -v 0.415525 0.251149 0.119427 -v 0.344095 0.262868 0.249998 -v 0.241986 0.251151 0.358282 -v 0.014820 0.251151 0.432092 -v -0.131434 0.262869 0.404506 -v -0.265970 0.251151 0.340856 -v -0.406365 0.251150 0.147619 -v -0.425324 0.262868 0.000000 -v -0.406365 0.251150 -0.147619 -v -0.265970 0.251151 -0.340856 -v -0.131434 0.262869 -0.404506 -v 0.014820 0.251151 -0.432092 -v 0.241986 0.251151 -0.358282 -v 0.344095 0.262868 -0.249998 -v 0.415525 0.251149 -0.119427 -v 0.038803 0.483975 0.119426 -v 0.081228 0.425327 0.249998 -v 0.116411 0.328760 0.358282 -v 0.376721 0.328757 0.000000 -v 0.262865 0.425326 0.000000 -v 0.125573 0.483974 0.000000 -v -0.101590 0.483975 0.073809 -v -0.212661 0.425327 0.154506 -v -0.304773 0.328759 0.221428 -v -0.101590 0.483975 -0.073809 -v -0.212661 0.425327 -0.154506 -v -0.304773 0.328759 -0.221428 -v 0.038803 0.483975 -0.119426 -v 0.081228 0.425327 -0.249998 -v 0.116411 0.328760 -0.358282 -v 0.180900 0.447215 -0.131431 -v 0.319097 0.361805 -0.131432 -v 0.223605 0.361806 -0.262864 -v -0.069099 0.447215 -0.212660 -v -0.026395 0.361806 -0.344092 -v -0.180902 0.361806 -0.293889 -v -0.223605 0.447215 0.000000 -v -0.335408 0.361805 -0.081229 -v -0.335408 0.361805 0.081229 -v -0.069099 0.447215 0.212660 -v -0.180902 0.361806 0.293889 -v -0.026395 0.361806 0.344092 -v 0.180900 0.447215 0.131431 -v 0.223605 0.361806 0.262864 -v 0.319097 0.361805 0.131432 -v 0.430902 0.138198 -0.212661 -v 0.404510 0.000000 -0.293891 -v 0.335410 0.138199 -0.344095 -v -0.069099 0.138199 -0.475528 -v -0.154508 -0.000000 -0.475528 -v -0.223608 0.138199 -0.425324 -v -0.473607 0.138198 -0.081229 -v -0.500000 0.000000 0.000000 -v -0.473606 0.138198 0.081229 -v -0.223608 0.138198 0.425324 -v -0.154509 -0.000000 0.475528 -v -0.069100 0.138198 0.475528 -v 0.335410 0.138198 0.344095 -v 0.404509 -0.000001 0.293891 -v 0.430902 0.138197 0.212662 -v 0.154509 -0.000000 -0.475528 -v 0.223608 -0.138199 -0.425324 -v 0.069100 -0.138199 -0.475527 -v -0.404509 -0.000000 -0.293892 -v -0.335409 -0.138199 -0.344095 -v -0.430902 -0.138198 -0.212662 -v -0.404509 0.000000 0.293892 -v -0.430902 -0.138198 0.212662 -v -0.335410 -0.138199 0.344095 -v 0.154509 0.000000 0.475528 -v 0.069100 -0.138199 0.475527 -v 0.223608 -0.138199 0.425324 -v 0.500000 0.000000 0.000000 -v 0.473607 -0.138198 0.081229 -v 0.473607 -0.138198 -0.081229 -v 0.180902 -0.361806 -0.293890 -v 0.069098 -0.447215 -0.212661 -v 0.026395 -0.361805 -0.344093 -v -0.223605 -0.361806 -0.262864 -v -0.180901 -0.447214 -0.131431 -v -0.319097 -0.361805 -0.131431 -v -0.319097 -0.361805 0.131432 -v -0.180901 -0.447214 0.131432 -v -0.223605 -0.361805 0.262864 -v 0.335409 -0.361805 -0.081228 -v 0.335409 -0.361805 0.081229 -v 0.223605 -0.447214 0.000000 -v 0.026395 -0.361806 0.344093 -v 0.069099 -0.447215 0.212660 -v 0.180902 -0.361805 0.293890 -vt 0.608486 0.627808 -vt 0.608486 0.706299 -vt 0.534124 0.652932 -vt 0.310435 0.483432 -vt 0.374204 0.437666 -vt 0.374204 0.529197 -vt 0.426628 0.841439 -vt 0.401505 0.915800 -vt 0.348137 0.841439 -vt 0.907272 0.920733 -vt 0.828780 0.920733 -vt 0.882148 0.846372 -vt 0.874545 0.689455 -vt 0.828780 0.625687 -vt 0.920309 0.625687 -vt 0.772490 0.167110 -vt 0.850981 0.167110 -vt 0.797614 0.241473 -vt 0.769801 0.100887 -vt 0.848293 0.100887 -vt 0.794924 0.175250 -vt 0.815700 0.692491 -vt 0.894191 0.692491 -vt 0.840822 0.766854 -vt 0.547368 0.720701 -vt 0.611139 0.674935 -vt 0.611139 0.766466 -vt 0.549115 0.146651 -vt 0.612885 0.100887 -vt 0.612885 0.192418 -vt 0.934454 0.634587 -vt 0.909328 0.708949 -vt 0.855961 0.634587 -vt 0.593092 0.350373 -vt 0.638857 0.414143 -vt 0.547326 0.414143 -vt 0.282846 0.730947 -vt 0.282846 0.652455 -vt 0.357208 0.705822 -vt 0.773203 0.897303 -vt 0.773203 0.818810 -vt 0.847565 0.872178 -vt 0.051567 0.652455 -vt 0.125930 0.677581 -vt 0.051567 0.730949 -vt 0.768055 0.674935 -vt 0.846548 0.674935 -vt 0.793180 0.749298 -vt 0.792634 0.664985 -vt 0.792633 0.586493 -vt 0.866996 0.639860 -vt 0.828382 0.409716 -vt 0.782618 0.345946 -vt 0.874148 0.345946 -vt 0.140480 0.720831 -vt 0.061988 0.720831 -vt 0.115355 0.646469 -vt 0.367596 0.606851 -vt 0.413361 0.670621 -vt 0.321831 0.670621 -vt 0.680539 0.833453 -vt 0.627171 0.907814 -vt 0.602047 0.833453 -vt 0.657253 0.837483 -vt 0.605186 0.919318 -vt 0.564685 0.837483 -vt 0.832307 0.649510 -vt 0.879612 0.727611 -vt 0.782618 0.727611 -vt 0.123857 0.412167 -vt 0.169290 0.491370 -vt 0.077980 0.491370 -vt 0.680124 0.827323 -vt 0.629873 0.910286 -vt 0.588814 0.827323 -vt 0.116896 0.195119 -vt 0.202982 0.239807 -vt 0.116896 0.292113 -vt 0.665837 0.587817 -vt 0.665837 0.688548 -vt 0.578601 0.638183 -vt 0.667838 0.846819 -vt 0.720143 0.932905 -vt 0.623148 0.932905 -vt 0.170616 0.336829 -vt 0.123311 0.414930 -vt 0.073621 0.336829 -vt 0.782618 0.189030 -vt 0.828493 0.109826 -vt 0.873928 0.189030 -vt 0.357473 0.335614 -vt 0.450041 0.335614 -vt 0.397975 0.417450 -vt 0.543461 0.901290 -vt 0.543461 0.804295 -vt 0.629548 0.848985 -vt 0.196306 0.133322 -vt 0.196306 0.225890 -vt 0.114469 0.185389 -vt 0.312994 0.100887 -vt 0.392198 0.146321 -vt 0.312994 0.192197 -vt 0.187189 0.438608 -vt 0.141423 0.502378 -vt 0.095658 0.438608 -vt 0.412255 0.647635 -vt 0.337894 0.594269 -vt 0.412255 0.569144 -vt 0.668119 0.461612 -vt 0.586284 0.409546 -vt 0.668119 0.369045 -vt 0.634770 0.671471 -vt 0.543461 0.671471 -vt 0.593711 0.588508 -vt 0.615574 0.212985 -vt 0.536371 0.258419 -vt 0.536371 0.167110 -vt 0.131228 0.258419 -vt 0.048265 0.208169 -vt 0.131228 0.167110 -vt 0.173654 0.619509 -vt 0.090761 0.669875 -vt 0.090761 0.569144 -vt 0.864399 0.771859 -vt 0.777164 0.721493 -vt 0.864399 0.671128 -vt 0.854488 0.697145 -vt 0.768402 0.749450 -vt 0.768402 0.652455 -vt 0.622805 0.671128 -vt 0.575500 0.749229 -vt 0.525810 0.671128 -vt 0.693357 0.376647 -vt 0.647481 0.455851 -vt 0.602047 0.376647 -vt 0.909465 0.418665 -vt 0.826501 0.377605 -vt 0.909465 0.327354 -vt 0.676350 0.363194 -vt 0.590264 0.407885 -vt 0.590264 0.310890 -vt 0.194997 0.799938 -vt 0.116896 0.750248 -vt 0.194997 0.702943 -vt 0.413141 0.449935 -vt 0.321831 0.449935 -vt 0.367707 0.370732 -vt 0.956812 0.067343 -vt 0.911047 0.131113 -vt 0.865282 0.067343 -vt 0.439665 0.684523 -vt 0.348137 0.684523 -vt 0.393901 0.620754 -vt 0.454467 0.178697 -vt 0.357473 0.178697 -vt 0.404777 0.100597 -vt 0.140652 0.143473 -vt 0.049344 0.143473 -vt 0.099593 0.060510 -vt 0.413360 0.134803 -vt 0.367595 0.213815 -vt 0.321831 0.134803 -vt 0.147373 0.910119 -vt 0.064411 0.859870 -vt 0.147373 0.818810 -vt 0.456893 0.427214 -vt 0.412204 0.513300 -vt 0.359899 0.427214 -vt 0.701307 0.452073 -vt 0.600577 0.452073 -vt 0.650943 0.364838 -vt 0.942479 0.133207 -vt 0.856394 0.185513 -vt 0.856394 0.088518 -vt 0.612225 0.757412 -vt 0.534124 0.710108 -vt 0.612225 0.660418 -vt 0.892722 0.310890 -vt 0.846847 0.390094 -vt 0.801413 0.310890 -vt 0.402596 0.660454 -vt 0.319633 0.619396 -vt 0.402596 0.569144 -vt 0.913570 0.621448 -vt 0.827484 0.666139 -vt 0.827484 0.569144 -vt 0.429367 0.450881 -vt 0.336800 0.450881 -vt 0.377301 0.369045 -vt 0.162855 0.892591 -vt 0.083842 0.938357 -vt 0.083842 0.846827 -vt 0.650181 0.746374 -vt 0.575820 0.771498 -vt 0.575820 0.693006 -vt 0.602047 0.612767 -vt 0.693577 0.612767 -vt 0.647812 0.676536 -vt 0.865297 0.114428 -vt 0.962291 0.114428 -vt 0.914987 0.192528 -vt 0.268715 0.743765 -vt 0.268715 0.652455 -vt 0.351678 0.702706 -vt 0.791954 0.858522 -vt 0.837719 0.779510 -vt 0.883484 0.858522 -vt 0.298093 0.079182 -vt 0.395087 0.079182 -vt 0.345397 0.157282 -vt 0.591241 0.526190 -vt 0.635930 0.440104 -vt 0.688236 0.526190 -vt 0.085282 0.337848 -vt 0.186012 0.337848 -vt 0.135647 0.425084 -vt 0.333594 0.501788 -vt 0.385899 0.415702 -vt 0.430588 0.501788 -vt 0.838116 0.819178 -vt 0.929425 0.819178 -vt 0.888366 0.902142 -vt 0.075276 0.441903 -vt 0.075276 0.350373 -vt 0.154289 0.396139 -vt 0.819907 0.587817 -vt 0.912475 0.587817 -vt 0.860409 0.669653 -vt 0.077266 0.150237 -vt 0.127631 0.067343 -vt 0.177997 0.150237 -vt 0.611383 0.327625 -vt 0.703951 0.327625 -vt 0.663449 0.409462 -vt 0.828780 0.468770 -vt 0.874214 0.389566 -vt 0.920089 0.468770 -vt 0.767242 0.189661 -vt 0.845733 0.189662 -vt 0.820608 0.264024 -vt 0.089306 0.824587 -vt 0.142674 0.898949 -vt 0.064182 0.898949 -vt 0.652442 0.806259 -vt 0.702693 0.889222 -vt 0.611383 0.889222 -vt 0.406831 0.086015 -vt 0.454137 0.164116 -vt 0.357142 0.164116 -vt 0.513533 0.421023 -vt 0.604843 0.421023 -vt 0.559409 0.500226 -vt 0.617518 0.336829 -vt 0.669585 0.418665 -vt 0.577018 0.418665 -vt 0.588825 0.067343 -vt 0.685820 0.067343 -vt 0.633515 0.153429 -vt 0.600578 0.107191 -vt 0.687814 0.157556 -vt 0.600577 0.207921 -vt 0.613812 0.236515 -vt 0.699899 0.184210 -vt 0.699899 0.281204 -vt 0.331167 0.148292 -vt 0.378472 0.070190 -vt 0.428161 0.148292 -vt 0.319771 0.892703 -vt 0.398975 0.846827 -vt 0.398975 0.938137 -vt 0.803261 0.583569 -vt 0.886226 0.624629 -vt 0.803261 0.674880 -vt 0.075945 0.159202 -vt 0.172941 0.159202 -vt 0.128252 0.245288 -vt 0.066422 0.439695 -vt 0.144524 0.489384 -vt 0.066422 0.536690 -vt 0.617055 0.067343 -vt 0.708365 0.067343 -vt 0.662490 0.146546 -vt 0.310435 0.686113 -vt 0.388927 0.686113 -vt 0.363801 0.760475 -vt 0.625047 0.658795 -vt 0.571679 0.733158 -vt 0.546556 0.658795 -vt 0.128375 0.593330 -vt 0.178627 0.676294 -vt 0.087317 0.676294 -vt 0.321587 0.671128 -vt 0.368894 0.749230 -vt 0.271898 0.749230 -vt 0.095658 0.202487 -vt 0.186968 0.202487 -vt 0.141534 0.281691 -vt 0.814170 0.837483 -vt 0.897133 0.887734 -vt 0.814170 0.928793 -vt 0.334913 0.067343 -vt 0.431908 0.067343 -vt 0.379603 0.153431 -vt 0.367199 0.682891 -vt 0.316833 0.770128 -vt 0.266468 0.682891 -vt 0.370387 0.140824 -vt 0.456474 0.088518 -vt 0.456474 0.185514 -vt 0.671778 0.579095 -vt 0.671778 0.670407 -vt 0.588814 0.629347 -vt 0.508595 0.698331 -vt 0.587799 0.652455 -vt 0.587799 0.743767 -vt 0.331167 0.543961 -vt 0.414132 0.585022 -vt 0.331167 0.635273 -vt 0.104257 0.355580 -vt 0.190345 0.310890 -vt 0.190345 0.407886 -vt 0.842205 0.299749 -vt 0.883265 0.382714 -vt 0.791954 0.382714 -vt 0.585156 0.866755 -vt 0.664360 0.912190 -vt 0.585156 0.958067 -vt 0.632846 0.645936 -vt 0.657971 0.720299 -vt 0.579478 0.720299 -vt 0.156472 0.648286 -vt 0.103103 0.722649 -vt 0.077980 0.648286 -vt 0.839929 0.268747 -vt 0.789677 0.185782 -vt 0.880988 0.185782 -vt 0.079753 0.660456 -vt 0.079753 0.569144 -vt 0.162717 0.619395 -vt 0.395600 0.898015 -vt 0.304290 0.898015 -vt 0.349723 0.818810 -vt 0.336762 0.426559 -vt 0.336762 0.329562 -vt 0.414862 0.379252 -vt 0.433348 0.407886 -vt 0.347261 0.363197 -vt 0.433348 0.310890 -vt 0.288858 0.771861 -vt 0.288858 0.671128 -vt 0.376094 0.721494 -vt 0.466231 0.689903 -vt 0.380144 0.637597 -vt 0.466231 0.592906 -vt 0.085535 0.402201 -vt 0.085534 0.310890 -vt 0.168498 0.351949 -vt 0.644497 0.402201 -vt 0.565293 0.356326 -vt 0.644497 0.310890 -vt 0.301440 0.532264 -vt 0.301440 0.439695 -vt 0.383276 0.491762 -vt 0.941118 0.465571 -vt 0.858224 0.415205 -vt 0.941118 0.364838 -vt 0.116896 0.449030 -vt 0.194998 0.498722 -vt 0.116896 0.546026 -vt 0.348137 0.227717 -vt 0.393572 0.148513 -vt 0.439448 0.227717 -vt 0.555892 0.846827 -vt 0.619662 0.892593 -vt 0.555892 0.938358 -vt 0.860078 0.308682 -vt 0.806709 0.383044 -vt 0.781585 0.308682 -vt 0.075759 0.934479 -vt 0.075759 0.837483 -vt 0.153859 0.884787 -vt 0.622028 0.532263 -vt 0.540192 0.491760 -vt 0.622028 0.439695 -vt 0.154332 0.766466 -vt 0.075319 0.720702 -vt 0.154332 0.674935 -vt 0.066423 0.282778 -vt 0.066423 0.185782 -vt 0.144523 0.235471 -vt 0.670568 0.666140 -vt 0.584482 0.621452 -vt 0.670568 0.569144 -vt 0.628967 0.430900 -vt 0.578601 0.343664 -vt 0.679331 0.343664 -vt 0.443660 0.678391 -vt 0.342930 0.678391 -vt 0.393295 0.595496 -vt 0.825036 0.708583 -vt 0.825036 0.617272 -vt 0.907999 0.658330 -vt 0.196523 0.951183 -vt 0.104994 0.951183 -vt 0.150759 0.872170 -vt 0.638504 0.172694 -vt 0.588814 0.094593 -vt 0.685808 0.094593 -vt 0.456893 0.270297 -vt 0.359899 0.270297 -vt 0.404589 0.184210 -vt 0.857791 0.776572 -vt 0.816732 0.693608 -vt 0.908041 0.693608 -vt 0.415032 0.678024 -vt 0.323723 0.678024 -vt 0.369598 0.598819 -vt 0.815700 0.444043 -vt 0.879468 0.489810 -vt 0.815700 0.535575 -vt 0.624669 0.308682 -vt 0.624669 0.400213 -vt 0.560899 0.354448 -vt 0.612226 0.406505 -vt 0.612226 0.503501 -vt 0.534124 0.456197 -vt 0.383285 0.658704 -vt 0.430589 0.736806 -vt 0.333594 0.736806 -vt 0.293382 0.564897 -vt 0.384692 0.564897 -vt 0.339257 0.644102 -vt 0.832456 0.060995 -vt 0.884522 0.142832 -vt 0.791954 0.142832 -vt 0.348205 0.346165 -vt 0.445200 0.346165 -vt 0.392893 0.432253 -vt 0.393297 0.107191 -vt 0.443661 0.194428 -vt 0.342930 0.194428 -vt 0.836248 0.343664 -vt 0.936979 0.343664 -vt 0.886613 0.426559 -vt 0.663120 0.086015 -vt 0.703621 0.167853 -vt 0.611053 0.167853 -vt 0.064547 0.100887 -vt 0.156078 0.100887 -vt 0.110312 0.179901 -vt 0.638547 0.683107 -vt 0.688237 0.761209 -vt 0.591241 0.761209 -vt 0.858224 0.862297 -vt 0.955219 0.862297 -vt 0.910528 0.948385 -vt 0.915549 0.588198 -vt 0.956607 0.671162 -vt 0.865297 0.671162 -vt 0.288144 0.167110 -vt 0.379455 0.167110 -vt 0.333578 0.246315 -vt 0.149027 0.659294 -vt 0.174150 0.733657 -vt 0.095658 0.733657 -vt 0.616286 0.818810 -vt 0.616286 0.910342 -vt 0.552516 0.864576 -vt 0.944253 0.592906 -vt 0.944253 0.689902 -vt 0.866150 0.642597 -vt 0.929425 0.570951 -vt 0.929425 0.662262 -vt 0.846461 0.612012 -vt 0.828780 0.153445 -vt 0.920091 0.153445 -vt 0.874656 0.232650 -vt 0.368035 0.336829 -vt 0.420101 0.418667 -vt 0.327533 0.418667 -vt 0.126232 0.603815 -vt 0.223228 0.603815 -vt 0.170922 0.689903 -vt 0.371319 0.574322 -vt 0.421684 0.661560 -vt 0.320953 0.661560 -vt 0.129972 0.821811 -vt 0.182278 0.907898 -vt 0.085282 0.907898 -vt 0.945884 0.685696 -vt 0.898577 0.763796 -vt 0.848888 0.685696 -vt 0.277412 0.421023 -vt 0.356616 0.466898 -vt 0.277412 0.512333 -vt 0.179884 0.105093 -vt 0.179884 0.197661 -vt 0.098047 0.145595 -vt 0.791954 0.292734 -vt 0.874849 0.343100 -vt 0.791954 0.393466 -vt 0.625297 0.090795 -vt 0.625297 0.183364 -vt 0.543461 0.142863 -vt 0.311248 0.674935 -vt 0.390452 0.720369 -vt 0.311248 0.766246 -vt 0.848371 0.427516 -vt 0.873494 0.501879 -vt 0.795002 0.501879 -vt 0.153518 0.489552 -vt 0.061988 0.489552 -vt 0.107753 0.425782 -vt 0.939732 0.145445 -vt 0.842736 0.145445 -vt 0.890041 0.067343 -vt 0.782618 0.442902 -vt 0.860720 0.395598 -vt 0.860720 0.492594 -vt 0.428110 0.847679 -vt 0.382345 0.926694 -vt 0.336579 0.847679 -vt 0.172941 0.723309 -vt 0.075945 0.723309 -vt 0.125634 0.645207 -vt 0.697573 0.848801 -vt 0.652884 0.934889 -vt 0.600577 0.848801 -vt 0.186013 0.180932 -vt 0.085282 0.180932 -vt 0.135646 0.093695 -vt 0.427565 0.569144 -vt 0.375261 0.655233 -vt 0.330570 0.569144 -vt 0.870255 0.522660 -vt 0.778945 0.522660 -vt 0.820003 0.439695 -vt 0.901838 0.241550 -vt 0.855961 0.162346 -vt 0.947272 0.162346 -vt 0.166086 0.392441 -vt 0.073519 0.392441 -vt 0.125584 0.310605 -vt 0.186013 0.582000 -vt 0.135648 0.664895 -vt 0.085282 0.582000 -vt 0.423735 0.387045 -vt 0.331167 0.387045 -vt 0.371668 0.305208 -vt 0.169290 0.176046 -vt 0.123857 0.255250 -vt 0.077980 0.176046 -vt 0.380612 0.650238 -vt 0.405735 0.724601 -vt 0.327243 0.724601 -vt 0.173738 0.385253 -vt 0.120370 0.310890 -vt 0.198863 0.310890 -vt 0.955162 0.846819 -vt 0.955162 0.943815 -vt 0.877060 0.896510 -vt 0.867724 0.242423 -vt 0.945825 0.195119 -vt 0.945825 0.292115 -vt 0.166331 0.924742 -vt 0.087317 0.878976 -vt 0.166331 0.833211 -vt 0.626425 0.431592 -vt 0.543461 0.381340 -vt 0.626425 0.340280 -vt 0.791954 0.550382 -vt 0.888951 0.550382 -vt 0.836643 0.636470 -vt 0.371320 0.086015 -vt 0.421685 0.173252 -vt 0.320953 0.173252 -vt 0.629548 0.595073 -vt 0.543461 0.647379 -vt 0.543461 0.550382 -vt 0.409081 0.684813 -vt 0.330979 0.637507 -vt 0.409081 0.587817 -vt 0.647923 0.219730 -vt 0.602047 0.140526 -vt 0.693358 0.140526 -vt 0.357473 0.657330 -vt 0.398533 0.574366 -vt 0.448784 0.657330 -vt 0.466232 0.932906 -vt 0.369236 0.932906 -vt 0.413926 0.846819 -vt 0.438000 0.767213 -vt 0.359899 0.717523 -vt 0.438000 0.670217 -vt 0.155756 0.354448 -vt 0.076743 0.400213 -vt 0.076743 0.308682 -vt 0.835332 0.658795 -vt 0.860455 0.733158 -vt 0.781963 0.733158 -vt 0.650183 0.482723 -vt 0.575820 0.536090 -vt 0.575820 0.457597 -vt 0.953025 0.424267 -vt 0.856029 0.424267 -vt 0.903335 0.346165 -vt 0.882066 0.162146 -vt 0.790756 0.162146 -vt 0.841007 0.079182 -vt 0.543461 0.873823 -vt 0.622665 0.828388 -vt 0.622665 0.919699 -vt 0.073519 0.549358 -vt 0.156483 0.599608 -vt 0.073519 0.640669 -vt 0.439926 0.835307 -vt 0.395235 0.921395 -vt 0.342930 0.835307 -vt 0.320953 0.330169 -vt 0.421685 0.330169 -vt 0.371318 0.417406 -vt 0.844730 0.107191 -vt 0.945463 0.107191 -vt 0.895096 0.190085 -vt 0.353507 0.185782 -vt 0.394009 0.267619 -vt 0.301440 0.267619 -vt 0.403983 0.308682 -vt 0.358107 0.387886 -vt 0.312672 0.308682 -vt 0.939029 0.414035 -vt 0.846461 0.414035 -vt 0.898528 0.332198 -vt 0.212319 0.846819 -vt 0.212319 0.943815 -vt 0.126232 0.899125 -vt 0.418637 0.119560 -vt 0.418637 0.212129 -vt 0.336800 0.171627 -vt 0.579478 0.161590 -vt 0.658683 0.207024 -vt 0.579478 0.252900 -vt 0.155852 0.569144 -vt 0.180977 0.643507 -vt 0.102484 0.643507 -vt 0.777728 0.564897 -vt 0.852091 0.618264 -vt 0.777728 0.643390 -vt 0.339227 0.693608 -vt 0.421064 0.745673 -vt 0.339227 0.786176 -vt 0.611383 0.566378 -vt 0.702693 0.566378 -vt 0.652442 0.649343 -vt 0.559512 0.614581 -vt 0.638717 0.569144 -vt 0.638717 0.660455 -vt 0.028834 0.652455 -vt 0.111799 0.702705 -vt 0.028834 0.743767 -vt 0.543461 0.343101 -vt 0.626356 0.292733 -vt 0.626356 0.393465 -vt 0.533011 0.671128 -vt 0.620247 0.721492 -vt 0.533011 0.771860 -vt 0.271486 0.704764 -vt 0.357573 0.652455 -vt 0.357574 0.749452 -vt 0.867724 0.449031 -vt 0.945825 0.496336 -vt 0.867724 0.546027 -vt 0.297568 0.139714 -vt 0.343445 0.060510 -vt 0.388879 0.139714 -vt 0.063075 0.128872 -vt 0.141176 0.079182 -vt 0.141176 0.176179 -vt 0.791954 0.838078 -vt 0.878041 0.793386 -vt 0.878041 0.890382 -vt 0.064849 0.583569 -vt 0.142950 0.633258 -vt 0.064849 0.680565 -vt 0.327243 0.257202 -vt 0.372678 0.177997 -vt 0.418553 0.257202 -vt 0.546556 0.189661 -vt 0.610325 0.235426 -vt 0.546556 0.281193 -vt 0.321831 0.827537 -vt 0.396192 0.880903 -vt 0.321831 0.906029 -vt 0.552003 0.079182 -vt 0.633839 0.131247 -vt 0.552003 0.171750 -vt 0.779721 0.671128 -vt 0.861557 0.711629 -vt 0.779721 0.763697 -vt 0.825036 0.944513 -vt 0.870800 0.865499 -vt 0.916564 0.944513 -vt 0.846461 0.097180 -vt 0.943455 0.097180 -vt 0.893765 0.175282 -vt 0.031677 0.702823 -vt 0.114570 0.652455 -vt 0.114570 0.753187 -vt 0.578601 0.086015 -vt 0.665836 0.136379 -vt 0.578601 0.186747 -vt 0.848888 0.285776 -vt 0.901192 0.199689 -vt 0.945881 0.285776 -vt 0.336800 0.607798 -vt 0.428110 0.607798 -vt 0.387051 0.690763 -vt 0.815700 0.241694 -vt 0.894903 0.195817 -vt 0.894903 0.287127 -vt 0.825036 0.369045 -vt 0.907999 0.410103 -vt 0.825036 0.460356 -vt 0.600577 0.691884 -vt 0.650943 0.608989 -vt 0.701308 0.691884 -vt 0.825689 0.329562 -vt 0.918256 0.329562 -vt 0.877756 0.411399 -vt 0.062209 0.268865 -vt 0.107643 0.189661 -vt 0.153518 0.268865 -vt 0.571948 0.586493 -vt 0.635717 0.632257 -vt 0.571948 0.678024 -vt 0.795773 0.350373 -vt 0.870135 0.403740 -vt 0.795773 0.428865 -vt 0.550926 0.185782 -vt 0.632761 0.237848 -vt 0.550926 0.278350 -vt 0.619085 0.407662 -vt 0.571779 0.329562 -vt 0.668773 0.329562 -vt 0.655024 0.255246 -vt 0.575820 0.300680 -vt 0.575820 0.209370 -vt 0.917363 0.431281 -vt 0.865297 0.349445 -vt 0.957865 0.349445 -vt 0.172940 0.488290 -vt 0.075945 0.488290 -vt 0.128250 0.402204 -vt 0.393295 0.438580 -vt 0.342930 0.351344 -vt 0.443660 0.351344 -vt 0.958954 0.705381 -vt 0.858224 0.705381 -vt 0.908589 0.622487 -vt 0.127818 0.436414 -vt 0.087317 0.354578 -vt 0.179884 0.354578 -vt 0.460138 0.146356 -vt 0.368609 0.146356 -vt 0.414373 0.067343 -vt 0.349556 0.661670 -vt 0.299867 0.583569 -vt 0.396861 0.583569 -vt 0.945881 0.528779 -vt 0.848888 0.528779 -vt 0.893577 0.442693 -vt 0.398532 0.897210 -vt 0.357473 0.814247 -vt 0.448782 0.814247 -vt 0.947270 0.477670 -vt 0.855961 0.477670 -vt 0.901836 0.398466 -vt 0.819368 0.134872 -vt 0.794243 0.060510 -vt 0.872735 0.060510 -vt 0.637326 0.124279 -vt 0.545795 0.124279 -vt 0.591561 0.060510 -vt 0.710808 0.759224 -vt 0.613812 0.759224 -vt 0.661118 0.681124 -vt 0.196305 0.715253 -vt 0.104994 0.715253 -vt 0.155246 0.632290 -vt 0.390409 0.350373 -vt 0.390410 0.441683 -vt 0.311206 0.396249 -vt 0.670651 0.370112 -vt 0.588814 0.422179 -vt 0.588814 0.329611 -vt 0.611486 0.652455 -vt 0.566795 0.738542 -vt 0.514490 0.652455 -vt 0.874849 0.085451 -vt 0.787613 0.135818 -vt 0.787613 0.035087 -vt 0.385899 0.258785 -vt 0.333594 0.172698 -vt 0.430588 0.172698 -vt 0.085316 0.771709 -vt 0.132621 0.693608 -vt 0.182311 0.771709 -vt 0.670788 0.409816 -vt 0.624912 0.489020 -vt 0.579478 0.409816 -vt 0.953105 0.167851 -vt 0.860537 0.167851 -vt 0.912604 0.086015 -vt 0.709234 0.592906 -vt 0.709233 0.689901 -vt 0.623147 0.645211 -vt 0.565997 0.665918 -vt 0.615687 0.587817 -vt 0.662991 0.665918 -vt 0.823919 0.743766 -vt 0.744716 0.698331 -vt 0.823919 0.652455 -vt 0.807743 0.640994 -vt 0.782618 0.566632 -vt 0.861110 0.566632 -vt 0.155712 0.667671 -vt 0.064182 0.667671 -vt 0.109947 0.603902 -vt 0.842204 0.622594 -vt 0.791954 0.539630 -vt 0.883264 0.539630 -vt 0.646345 0.583569 -vt 0.605844 0.665406 -vt 0.553777 0.583569 -vt 0.625434 0.250206 -vt 0.534124 0.250206 -vt 0.579559 0.171003 -vt 0.668119 0.709839 -vt 0.585156 0.659589 -vt 0.668119 0.618529 -vt 0.613391 0.088518 -vt 0.699477 0.133207 -vt 0.613391 0.185513 -vt 0.630697 0.035087 -vt 0.630697 0.135817 -vt 0.543461 0.085451 -vt 0.677327 0.230881 -vt 0.591241 0.283188 -vt 0.591241 0.186192 -vt 0.897270 0.119559 -vt 0.897270 0.210869 -vt 0.814305 0.169809 -vt 0.393571 0.384634 -vt 0.439447 0.463837 -vt 0.348137 0.463837 -vt 0.164829 0.797586 -vt 0.123770 0.880549 -vt 0.073519 0.797586 -vt 0.654422 0.346165 -vt 0.699112 0.432251 -vt 0.602117 0.432251 -vt 0.964719 0.702944 -vt 0.915030 0.781044 -vt 0.867724 0.702944 -vt 0.310435 0.189441 -vt 0.389639 0.234874 -vt 0.310435 0.280750 -vt 0.815127 0.421023 -vt 0.840252 0.495385 -vt 0.761759 0.495385 -vt 0.184460 0.141706 -vt 0.237826 0.067343 -vt 0.262951 0.141706 -vt 0.325414 0.361141 -vt 0.408377 0.310890 -vt 0.408377 0.402199 -vt 0.053503 0.656207 -vt 0.053503 0.564897 -vt 0.136466 0.615149 -vt 0.795633 0.660454 -vt 0.795633 0.569144 -vt 0.874836 0.614578 -vt 0.577981 0.745675 -vt 0.659816 0.693608 -vt 0.659816 0.786175 -vt 0.163106 0.171412 -vt 0.112741 0.088518 -vt 0.213470 0.088518 -vt 0.822753 0.675052 -vt 0.873118 0.587817 -vt 0.923483 0.675052 -vt 0.919352 0.407884 -vt 0.833267 0.355578 -vt 0.919352 0.310890 -vt 0.575554 0.160062 -vt 0.657390 0.119560 -vt 0.657390 0.212127 -vt 0.373118 0.493322 -vt 0.327243 0.414118 -vt 0.418552 0.414118 -vt 0.865297 0.911042 -vt 0.906356 0.828078 -vt 0.956606 0.911042 -vt 0.658501 0.524207 -vt 0.613812 0.438121 -vt 0.710805 0.438121 -vt 0.310776 0.915583 -vt 0.360465 0.837483 -vt 0.407769 0.915583 -vt 0.109946 0.210865 -vt 0.064182 0.131852 -vt 0.155711 0.131852 -vt 0.534124 0.470892 -vt 0.579889 0.407123 -vt 0.625653 0.470892 -vt 0.801703 0.846827 -vt 0.855070 0.921189 -vt 0.776578 0.921189 -vt 0.161442 0.067343 -vt 0.211693 0.150306 -vt 0.120383 0.150306 -vt 0.120495 0.421023 -vt 0.120495 0.512332 -vt 0.037533 0.462081 -vt 0.064182 0.367782 -vt 0.155492 0.367782 -vt 0.110058 0.446985 -vt 0.151619 0.056693 -vt 0.151619 0.153688 -vt 0.073519 0.103998 -vt 0.534124 0.152593 -vt 0.620211 0.197283 -vt 0.534124 0.249588 -vt 0.909988 0.086015 -vt 0.909988 0.186746 -vt 0.822753 0.136381 -vt 0.782618 0.141686 -vt 0.868704 0.193991 -vt 0.782618 0.238681 -vt 0.414130 0.792189 -vt 0.414130 0.883499 -vt 0.331167 0.842440 -vt 0.541608 0.564897 -vt 0.620811 0.610772 -vt 0.541609 0.656207 -vt 0.196305 0.382807 -vt 0.196305 0.475373 -vt 0.114469 0.423308 -vt 0.108395 0.346165 -vt 0.191288 0.396530 -vt 0.108395 0.446896 -vt 0.708378 0.092609 -vt 0.658688 0.170709 -vt 0.611383 0.092609 -vt 0.121042 0.598819 -vt 0.166806 0.677832 -vt 0.075276 0.677832 -vt 0.638086 0.438109 -vt 0.592320 0.501879 -vt 0.546556 0.438109 -vn 0.048200 -0.987800 0.148200 -vn 0.723000 -0.554500 0.412100 -vn -0.126100 -0.987800 0.091600 -vn -0.126100 -0.987800 -0.091600 -vn 0.048200 -0.987800 -0.148200 -vn 0.819300 -0.398700 0.412100 -vn -0.138700 -0.398700 0.906500 -vn -0.905000 -0.398700 0.148200 -vn -0.420600 -0.398700 -0.814900 -vn 0.645100 -0.398700 -0.651900 -vn 0.771100 -0.302400 0.560300 -vn -0.294500 -0.302400 0.906500 -vn -0.953200 -0.302400 0.000000 -vn -0.294500 -0.302400 -0.906500 -vn 0.771100 -0.302400 -0.560300 -vn 0.342700 0.554500 0.758300 -vn -0.615300 0.554500 0.560300 -vn -0.723000 0.554500 -0.412100 -vn 0.168500 0.554500 -0.814900 -vn 0.827100 0.554500 -0.091600 -vn 0.126100 0.987800 -0.091600 -vn 0.391200 0.915800 -0.091400 -vn 0.644100 0.759400 -0.091500 -vn 0.233400 0.957500 -0.169600 -vn 0.207900 0.915800 -0.343800 -vn 0.516800 0.836300 -0.183000 -vn 0.491100 0.794700 -0.356800 -vn 0.333800 0.836300 -0.435000 -vn 0.286000 0.759400 -0.584300 -vn 0.752000 0.636900 -0.169600 -vn 0.726100 0.595500 -0.343800 -vn 0.598700 0.672600 -0.435000 -vn 0.551300 0.595500 -0.584300 -vn 0.393600 0.636900 -0.662800 -vn 0.342700 0.554500 -0.758300 -vn -0.048200 0.987800 -0.148200 -vn 0.033900 0.915800 -0.400300 -vn 0.112100 0.759400 -0.640900 -vn -0.089100 0.957500 -0.274300 -vn -0.262700 0.915800 -0.303900 -vn -0.014400 0.836300 -0.548100 -vn -0.187600 0.794700 -0.577300 -vn -0.310500 0.836300 -0.451900 -vn -0.467400 0.759400 -0.452600 -vn 0.071100 0.636900 -0.767600 -vn -0.102600 0.595500 -0.796800 -vn -0.228700 0.672600 -0.703800 -vn -0.385400 0.595500 -0.704900 -vn -0.508700 0.636900 -0.579200 -vn -0.615300 0.554500 -0.560300 -vn -0.155800 0.987800 0.000000 -vn -0.370200 0.915800 -0.156000 -vn -0.574900 0.759400 -0.304600 -vn -0.288500 0.957500 0.000000 -vn -0.370200 0.915800 0.156000 -vn -0.525700 0.836300 -0.155700 -vn -0.607100 0.794700 0.000000 -vn -0.525700 0.836300 0.155700 -vn -0.574900 0.759400 0.304600 -vn -0.708100 0.636900 -0.304900 -vn -0.789500 0.595500 -0.148700 -vn -0.740000 0.672600 0.000000 -vn -0.789500 0.595500 0.148700 -vn -0.708100 0.636900 0.304900 -vn -0.723000 0.554500 0.412100 -vn -0.048200 0.987800 0.148200 -vn -0.262700 0.915800 0.303900 -vn -0.467400 0.759400 0.452600 -vn -0.089100 0.957500 0.274300 -vn 0.033900 0.915800 0.400300 -vn -0.310500 0.836300 0.451900 -vn -0.187600 0.794700 0.577300 -vn -0.014400 0.836300 0.548100 -vn 0.112100 0.759400 0.640900 -vn -0.508700 0.636900 0.579200 -vn -0.385400 0.595500 0.704900 -vn -0.228700 0.672600 0.703800 -vn -0.102600 0.595500 0.796800 -vn 0.071100 0.636900 0.767600 -vn 0.168500 0.554500 0.814900 -vn 0.126100 0.987800 0.091600 -vn 0.207900 0.915800 0.343800 -vn 0.286000 0.759400 0.584300 -vn 0.233400 0.957500 0.169600 -vn 0.391200 0.915800 0.091500 -vn 0.333800 0.836300 0.435000 -vn 0.491100 0.794700 0.356800 -vn 0.516800 0.836300 0.183000 -vn 0.644100 0.759400 0.091500 -vn 0.393600 0.636900 0.662800 -vn 0.551300 0.595500 0.584300 -vn 0.598700 0.672600 0.435000 -vn 0.726100 0.595500 0.343800 -vn 0.752000 0.636900 0.169600 -vn 0.827100 0.554500 0.091600 -vn 0.905000 0.398700 -0.148200 -vn 0.936600 0.174500 -0.303900 -vn 0.888300 -0.078400 -0.452600 -vn 0.896300 0.348500 -0.274300 -vn 0.803900 0.439900 -0.400300 -vn 0.886900 0.096200 -0.451900 -vn 0.794700 0.187600 -0.577300 -vn 0.754400 0.361100 -0.548100 -vn 0.629100 0.439900 -0.640900 -vn 0.797200 -0.170200 -0.579200 -vn 0.704900 -0.078400 -0.704900 -vn 0.703800 0.096200 -0.703800 -vn 0.578500 0.174500 -0.796800 -vn 0.537900 0.348500 -0.767600 -vn 0.420600 0.398700 -0.814900 -vn 0.138700 0.398700 -0.906500 -vn 0.000400 0.174500 -0.984600 -vn -0.156000 -0.078400 -0.984600 -vn 0.016000 0.348500 -0.937200 -vn -0.132300 0.439900 -0.888300 -vn -0.155700 0.096200 -0.983100 -vn -0.303500 0.187600 -0.934200 -vn -0.288200 0.361100 -0.886900 -vn -0.415100 0.439900 -0.796400 -vn -0.304500 -0.170200 -0.937200 -vn -0.452600 -0.078400 -0.888300 -vn -0.451900 0.096200 -0.886900 -vn -0.579100 0.174500 -0.796400 -vn -0.563800 0.348500 -0.748800 -vn -0.645100 0.398700 -0.651900 -vn -0.819300 0.398700 -0.412100 -vn -0.936300 0.174500 -0.304600 -vn -0.984600 -0.078400 -0.156000 -vn -0.886400 0.348500 -0.304900 -vn -0.885700 0.439900 -0.148700 -vn -0.983100 0.096200 -0.155700 -vn -0.982200 0.187600 0.000000 -vn -0.932500 0.361100 0.000000 -vn -0.885700 0.439900 0.148700 -vn -0.985400 -0.170200 0.000000 -vn -0.984600 -0.078400 0.156000 -vn -0.983100 0.096200 0.155700 -vn -0.936300 0.174500 0.304600 -vn -0.886400 0.348500 0.304900 -vn -0.819300 0.398700 0.412100 -vn -0.645100 0.398700 0.651900 -vn -0.579100 0.174500 0.796400 -vn -0.452600 -0.078400 0.888300 -vn -0.563800 0.348500 0.748800 -vn -0.415100 0.439900 0.796400 -vn -0.451900 0.096200 0.886900 -vn -0.303500 0.187600 0.934200 -vn -0.288200 0.361100 0.886900 -vn -0.132300 0.439900 0.888300 -vn -0.304500 -0.170200 0.937200 -vn -0.156000 -0.078400 0.984600 -vn -0.155700 0.096200 0.983100 -vn 0.000400 0.174500 0.984600 -vn 0.016000 0.348500 0.937200 -vn 0.138700 0.398700 0.906500 -vn 0.420600 0.398700 0.814900 -vn 0.578500 0.174500 0.796800 -vn 0.704900 -0.078400 0.704900 -vn 0.537900 0.348500 0.767600 -vn 0.629100 0.439900 0.640900 -vn 0.703800 0.096200 0.703800 -vn 0.794700 0.187600 0.577300 -vn 0.754400 0.361100 0.548100 -vn 0.803900 0.439900 0.400300 -vn 0.797200 -0.170200 0.579200 -vn 0.888300 -0.078400 0.452600 -vn 0.886900 0.096200 0.451900 -vn 0.936600 0.174500 0.303900 -vn 0.896300 0.348500 0.274400 -vn 0.905000 0.398700 0.148200 -vn 0.294500 0.302400 -0.906500 -vn 0.452600 0.078400 -0.888300 -vn 0.579100 -0.174500 -0.796400 -vn 0.304500 0.170200 -0.937200 -vn 0.156000 0.078400 -0.984600 -vn 0.451900 -0.096200 -0.886900 -vn 0.303500 -0.187600 -0.934200 -vn 0.155700 -0.096200 -0.983100 -vn -0.000400 -0.174500 -0.984600 -vn 0.563800 -0.348500 -0.748800 -vn 0.415100 -0.439900 -0.796400 -vn 0.288200 -0.361100 -0.886900 -vn 0.132300 -0.439900 -0.888300 -vn -0.016000 -0.348500 -0.937200 -vn -0.138700 -0.398700 -0.906500 -vn -0.771100 0.302400 -0.560300 -vn -0.704900 0.078400 -0.704900 -vn -0.578500 -0.174500 -0.796800 -vn -0.797200 0.170200 -0.579200 -vn -0.888300 0.078400 -0.452600 -vn -0.703800 -0.096200 -0.703800 -vn -0.794700 -0.187600 -0.577300 -vn -0.886900 -0.096200 -0.451900 -vn -0.936600 -0.174500 -0.303900 -vn -0.537900 -0.348500 -0.767600 -vn -0.629100 -0.439900 -0.640900 -vn -0.754400 -0.361100 -0.548100 -vn -0.803900 -0.439900 -0.400300 -vn -0.896300 -0.348500 -0.274400 -vn -0.905000 -0.398700 -0.148200 -vn -0.771100 0.302400 0.560300 -vn -0.888300 0.078400 0.452600 -vn -0.936600 -0.174500 0.303900 -vn -0.797200 0.170200 0.579200 -vn -0.704900 0.078400 0.704900 -vn -0.886900 -0.096200 0.451900 -vn -0.794700 -0.187600 0.577400 -vn -0.703800 -0.096200 0.703800 -vn -0.578500 -0.174500 0.796800 -vn -0.896300 -0.348500 0.274400 -vn -0.803900 -0.439900 0.400300 -vn -0.754400 -0.361100 0.548100 -vn -0.629100 -0.439900 0.640900 -vn -0.537900 -0.348500 0.767600 -vn -0.420600 -0.398700 0.814900 -vn 0.294500 0.302400 0.906500 -vn 0.156000 0.078400 0.984600 -vn -0.000400 -0.174500 0.984600 -vn 0.304500 0.170200 0.937200 -vn 0.452600 0.078400 0.888300 -vn 0.155700 -0.096200 0.983100 -vn 0.303500 -0.187600 0.934200 -vn 0.451900 -0.096200 0.886900 -vn 0.579100 -0.174500 0.796400 -vn -0.016000 -0.348500 0.937200 -vn 0.132300 -0.439900 0.888300 -vn 0.288200 -0.361100 0.886900 -vn 0.415100 -0.439900 0.796400 -vn 0.563800 -0.348500 0.748800 -vn 0.645100 -0.398700 0.651900 -vn 0.953200 0.302400 0.000000 -vn 0.984600 0.078400 0.156000 -vn 0.936300 -0.174500 0.304600 -vn 0.985400 0.170200 0.000000 -vn 0.984600 0.078400 -0.156000 -vn 0.983100 -0.096200 0.155700 -vn 0.982200 -0.187600 0.000000 -vn 0.983100 -0.096200 -0.155700 -vn 0.936300 -0.174500 -0.304600 -vn 0.886400 -0.348500 0.304900 -vn 0.885700 -0.439900 0.148700 -vn 0.932500 -0.361100 0.000000 -vn 0.885700 -0.439900 -0.148700 -vn 0.886400 -0.348500 -0.304900 -vn 0.819300 -0.398700 -0.412100 -vn 0.615300 -0.554500 -0.560300 -vn 0.467400 -0.759400 -0.452600 -vn 0.262700 -0.915800 -0.303900 -vn 0.508700 -0.636900 -0.579200 -vn 0.385400 -0.595500 -0.704900 -vn 0.310500 -0.836300 -0.451900 -vn 0.187600 -0.794700 -0.577300 -vn 0.228700 -0.672600 -0.703800 -vn 0.102600 -0.595500 -0.796800 -vn 0.089100 -0.957500 -0.274300 -vn -0.033900 -0.915800 -0.400300 -vn 0.014400 -0.836300 -0.548100 -vn -0.112100 -0.759400 -0.640900 -vn -0.071100 -0.636900 -0.767600 -vn -0.168500 -0.554500 -0.814900 -vn -0.342700 -0.554500 -0.758300 -vn -0.286000 -0.759400 -0.584300 -vn -0.207900 -0.915800 -0.343800 -vn -0.393600 -0.636900 -0.662800 -vn -0.551300 -0.595500 -0.584300 -vn -0.333800 -0.836300 -0.435000 -vn -0.491100 -0.794700 -0.356800 -vn -0.598700 -0.672600 -0.435000 -vn -0.726100 -0.595500 -0.343800 -vn -0.233400 -0.957500 -0.169600 -vn -0.391200 -0.915800 -0.091400 -vn -0.516800 -0.836300 -0.183000 -vn -0.644100 -0.759400 -0.091400 -vn -0.752000 -0.636900 -0.169600 -vn -0.827100 -0.554500 -0.091600 -vn -0.827100 -0.554500 0.091600 -vn -0.644100 -0.759400 0.091500 -vn -0.391200 -0.915800 0.091500 -vn -0.752000 -0.636900 0.169600 -vn -0.726100 -0.595500 0.343800 -vn -0.516800 -0.836300 0.183000 -vn -0.491100 -0.794700 0.356800 -vn -0.598700 -0.672600 0.435000 -vn -0.551300 -0.595500 0.584300 -vn -0.233400 -0.957500 0.169600 -vn -0.207900 -0.915800 0.343800 -vn -0.333800 -0.836300 0.435000 -vn -0.286000 -0.759400 0.584300 -vn -0.393600 -0.636900 0.662800 -vn -0.342700 -0.554500 0.758300 -vn 0.723000 -0.554500 -0.412100 -vn 0.789500 -0.595500 -0.148700 -vn 0.789500 -0.595500 0.148700 -vn 0.708100 -0.636900 -0.304900 -vn 0.574900 -0.759400 -0.304600 -vn 0.740000 -0.672600 -0.000000 -vn 0.607100 -0.794700 0.000000 -vn 0.525700 -0.836300 -0.155700 -vn 0.370200 -0.915800 -0.155900 -vn 0.708100 -0.636900 0.304900 -vn 0.574900 -0.759400 0.304600 -vn 0.525700 -0.836300 0.155700 -vn 0.370200 -0.915800 0.156000 -vn 0.288500 -0.957500 0.000000 -vn 0.155800 -0.987800 0.000000 -vn -0.168500 -0.554500 0.814900 -vn -0.112100 -0.759400 0.640900 -vn -0.033900 -0.915800 0.400300 -vn -0.071100 -0.636900 0.767600 -vn 0.102600 -0.595500 0.796800 -vn 0.014400 -0.836300 0.548100 -vn 0.187600 -0.794700 0.577300 -vn 0.228700 -0.672600 0.703800 -vn 0.385400 -0.595500 0.704900 -vn 0.089100 -0.957500 0.274400 -vn 0.262700 -0.915800 0.303900 -vn 0.310500 -0.836300 0.451900 -vn 0.467400 -0.759400 0.452600 -vn 0.508700 -0.636900 0.579200 -vn 0.615300 -0.554500 0.560300 -s off -f 1/1/1 16/2/1 15/3/1 -f 2/4/2 18/5/2 24/6/2 -f 1/7/3 15/8/3 30/9/3 -f 1/10/4 30/11/4 36/12/4 -f 1/13/5 36/14/5 25/15/5 -f 2/16/6 24/17/6 45/18/6 -f 3/19/7 21/20/7 51/21/7 -f 4/22/8 33/23/8 57/24/8 -f 5/25/9 39/26/9 63/27/9 -f 6/28/10 42/29/10 69/30/10 -f 2/31/11 45/32/11 52/33/11 -f 3/34/12 51/35/12 58/36/12 -f 4/37/13 57/38/13 64/39/13 -f 5/40/14 63/41/14 70/42/14 -f 6/43/15 69/44/15 46/45/15 -f 7/46/16 75/47/16 90/48/16 -f 8/49/17 78/50/17 96/51/17 -f 9/52/18 81/53/18 99/54/18 -f 10/55/19 84/56/19 102/57/19 -f 11/58/20 87/59/20 91/60/20 -f 93/61/21 100/62/21 12/63/21 -f 92/64/22 103/65/22 93/66/22 -f 91/67/23 104/68/23 92/69/23 -f 93/70/24 103/71/24 100/72/24 -f 103/73/25 101/74/25 100/75/25 -f 92/76/26 104/77/26 103/78/26 -f 104/79/27 105/80/27 103/81/27 -f 103/82/28 105/83/28 101/84/28 -f 105/85/29 102/86/29 101/87/29 -f 91/88/30 87/89/30 104/90/30 -f 87/91/31 86/92/31 104/93/31 -f 104/94/32 86/95/32 105/96/32 -f 86/97/33 85/98/33 105/99/33 -f 105/100/34 85/101/34 102/102/34 -f 85/103/35 10/104/35 102/105/35 -f 100/106/36 97/107/36 12/108/36 -f 101/109/37 106/110/37 100/111/37 -f 102/112/38 107/113/38 101/114/38 -f 100/115/39 106/116/39 97/117/39 -f 106/118/40 98/119/40 97/120/40 -f 101/121/41 107/122/41 106/123/41 -f 107/124/42 108/125/42 106/126/42 -f 106/127/43 108/128/43 98/129/43 -f 108/130/44 99/131/44 98/132/44 -f 102/133/45 84/134/45 107/135/45 -f 84/136/46 83/137/46 107/138/46 -f 107/139/47 83/140/47 108/141/47 -f 83/142/48 82/143/48 108/144/48 -f 108/145/49 82/146/49 99/147/49 -f 82/148/50 9/149/50 99/150/50 -f 97/151/51 94/152/51 12/153/51 -f 98/154/52 109/155/52 97/156/52 -f 99/157/53 110/158/53 98/159/53 -f 97/160/54 109/161/54 94/162/54 -f 109/163/55 95/164/55 94/165/55 -f 98/166/56 110/167/56 109/168/56 -f 110/169/57 111/170/57 109/171/57 -f 109/172/58 111/173/58 95/174/58 -f 111/175/59 96/176/59 95/177/59 -f 99/178/60 81/179/60 110/180/60 -f 81/181/61 80/182/61 110/183/61 -f 110/184/62 80/185/62 111/186/62 -f 80/187/63 79/188/63 111/189/63 -f 111/190/64 79/191/64 96/192/64 -f 79/193/65 8/194/65 96/195/65 -f 94/196/66 88/197/66 12/198/66 -f 95/199/67 112/200/67 94/201/67 -f 96/202/68 113/203/68 95/204/68 -f 94/205/69 112/206/69 88/207/69 -f 112/208/70 89/209/70 88/210/70 -f 95/211/71 113/212/71 112/213/71 -f 113/214/72 114/215/72 112/216/72 -f 112/217/73 114/218/73 89/219/73 -f 114/220/74 90/221/74 89/222/74 -f 96/223/75 78/224/75 113/225/75 -f 78/226/76 77/227/76 113/228/76 -f 113/229/77 77/230/77 114/231/77 -f 77/232/78 76/233/78 114/234/78 -f 114/235/79 76/236/79 90/237/79 -f 76/238/80 7/239/80 90/240/80 -f 88/241/81 93/242/81 12/243/81 -f 89/244/82 115/245/82 88/246/82 -f 90/247/83 116/248/83 89/249/83 -f 88/250/84 115/251/84 93/252/84 -f 115/253/85 92/254/85 93/255/85 -f 89/256/86 116/257/86 115/258/86 -f 116/259/87 117/260/87 115/261/87 -f 115/262/88 117/263/88 92/264/88 -f 117/265/89 91/266/89 92/267/89 -f 90/268/90 75/269/90 116/270/90 -f 75/271/91 74/272/91 116/273/91 -f 116/274/92 74/275/92 117/276/92 -f 74/277/93 73/278/93 117/279/93 -f 117/280/94 73/281/94 91/282/94 -f 73/283/95 11/284/95 91/285/95 -f 48/286/96 87/287/96 11/288/96 -f 47/289/97 118/290/97 48/291/97 -f 46/292/98 119/293/98 47/294/98 -f 48/295/99 118/296/99 87/297/99 -f 118/298/100 86/299/100 87/300/100 -f 47/301/101 119/302/101 118/303/101 -f 119/304/102 120/305/102 118/306/102 -f 118/307/103 120/308/103 86/309/103 -f 120/310/104 85/311/104 86/312/104 -f 46/313/105 69/314/105 119/315/105 -f 69/316/106 68/317/106 119/318/106 -f 119/319/107 68/320/107 120/321/107 -f 68/322/108 67/323/108 120/324/108 -f 120/325/109 67/326/109 85/327/109 -f 67/328/110 10/329/110 85/330/110 -f 72/331/111 84/332/111 10/333/111 -f 71/334/112 121/335/112 72/336/112 -f 70/337/113 122/338/113 71/339/113 -f 72/340/114 121/341/114 84/342/114 -f 121/343/115 83/344/115 84/345/115 -f 71/346/116 122/347/116 121/348/116 -f 122/349/117 123/350/117 121/351/117 -f 121/352/118 123/353/118 83/354/118 -f 123/355/119 82/356/119 83/357/119 -f 70/358/120 63/359/120 122/360/120 -f 63/361/121 62/362/121 122/363/121 -f 122/364/122 62/365/122 123/366/122 -f 62/367/123 61/368/123 123/369/123 -f 123/370/124 61/371/124 82/372/124 -f 61/373/125 9/374/125 82/375/125 -f 66/376/126 81/377/126 9/378/126 -f 65/379/127 124/380/127 66/381/127 -f 64/382/128 125/383/128 65/384/128 -f 66/385/129 124/386/129 81/387/129 -f 124/388/130 80/389/130 81/390/130 -f 65/391/131 125/392/131 124/393/131 -f 125/394/132 126/395/132 124/396/132 -f 124/397/133 126/398/133 80/399/133 -f 126/400/134 79/401/134 80/402/134 -f 64/403/135 57/404/135 125/405/135 -f 57/406/136 56/407/136 125/408/136 -f 125/409/137 56/410/137 126/411/137 -f 56/412/138 55/413/138 126/414/138 -f 126/415/139 55/416/139 79/417/139 -f 55/418/140 8/419/140 79/420/140 -f 60/421/141 78/422/141 8/423/141 -f 59/424/142 127/425/142 60/426/142 -f 58/427/143 128/428/143 59/429/143 -f 60/430/144 127/431/144 78/432/144 -f 127/433/145 77/434/145 78/435/145 -f 59/436/146 128/437/146 127/438/146 -f 128/439/147 129/440/147 127/441/147 -f 127/442/148 129/443/148 77/444/148 -f 129/445/149 76/446/149 77/447/149 -f 58/448/150 51/449/150 128/450/150 -f 51/451/151 50/452/151 128/453/151 -f 128/454/152 50/455/152 129/456/152 -f 50/457/153 49/458/153 129/459/153 -f 129/460/154 49/461/154 76/462/154 -f 49/463/155 7/464/155 76/465/155 -f 54/466/156 75/467/156 7/468/156 -f 53/469/157 130/470/157 54/471/157 -f 52/472/158 131/473/158 53/474/158 -f 54/475/159 130/476/159 75/477/159 -f 130/478/160 74/479/160 75/480/160 -f 53/481/161 131/482/161 130/483/161 -f 131/484/162 132/485/162 130/486/162 -f 130/487/163 132/488/163 74/489/163 -f 132/490/164 73/491/164 74/492/164 -f 52/493/165 45/494/165 131/495/165 -f 45/496/166 44/497/166 131/498/166 -f 131/499/167 44/500/167 132/501/167 -f 44/502/168 43/503/168 132/504/168 -f 132/505/169 43/506/169 73/507/169 -f 43/508/170 11/509/170 73/510/170 -f 67/511/171 72/512/171 10/513/171 -f 68/514/172 133/515/172 67/516/172 -f 69/517/173 134/518/173 68/519/173 -f 67/520/174 133/521/174 72/522/174 -f 133/523/175 71/524/175 72/525/175 -f 68/526/176 134/527/176 133/528/176 -f 134/529/177 135/530/177 133/531/177 -f 133/532/178 135/533/178 71/534/178 -f 135/535/179 70/536/179 71/537/179 -f 69/538/180 42/539/180 134/540/180 -f 42/541/181 41/542/181 134/543/181 -f 134/544/182 41/545/182 135/546/182 -f 41/547/183 40/548/183 135/549/183 -f 135/550/184 40/551/184 70/552/184 -f 40/553/185 5/554/185 70/555/185 -f 61/556/186 66/557/186 9/558/186 -f 62/559/187 136/560/187 61/561/187 -f 63/562/188 137/563/188 62/564/188 -f 61/565/189 136/566/189 66/567/189 -f 136/568/190 65/569/190 66/570/190 -f 62/571/191 137/572/191 136/573/191 -f 137/574/192 138/575/192 136/576/192 -f 136/577/193 138/578/193 65/579/193 -f 138/580/194 64/581/194 65/582/194 -f 63/583/195 39/584/195 137/585/195 -f 39/586/196 38/587/196 137/588/196 -f 137/589/197 38/590/197 138/591/197 -f 38/592/198 37/593/198 138/594/198 -f 138/595/199 37/596/199 64/597/199 -f 37/598/200 4/599/200 64/600/200 -f 55/601/201 60/602/201 8/603/201 -f 56/604/202 139/605/202 55/606/202 -f 57/607/203 140/608/203 56/609/203 -f 55/610/204 139/611/204 60/612/204 -f 139/613/205 59/614/205 60/615/205 -f 56/616/206 140/617/206 139/618/206 -f 140/619/207 141/620/207 139/621/207 -f 139/622/208 141/623/208 59/624/208 -f 141/625/209 58/626/209 59/627/209 -f 57/628/210 33/629/210 140/630/210 -f 33/631/211 32/632/211 140/633/211 -f 140/634/212 32/635/212 141/636/212 -f 32/637/213 31/638/213 141/639/213 -f 141/640/214 31/641/214 58/642/214 -f 31/643/215 3/644/215 58/645/215 -f 49/646/216 54/647/216 7/648/216 -f 50/649/217 142/650/217 49/651/217 -f 51/652/218 143/653/218 50/654/218 -f 49/655/219 142/656/219 54/657/219 -f 142/658/220 53/659/220 54/660/220 -f 50/661/221 143/662/221 142/663/221 -f 143/664/222 144/665/222 142/666/222 -f 142/667/223 144/668/223 53/669/223 -f 144/670/224 52/671/224 53/672/224 -f 51/673/225 21/674/225 143/675/225 -f 21/676/226 20/677/226 143/678/226 -f 143/679/227 20/680/227 144/681/227 -f 20/682/228 19/683/228 144/684/228 -f 144/685/229 19/686/229 52/687/229 -f 19/688/230 2/689/230 52/690/230 -f 43/691/231 48/692/231 11/693/231 -f 44/694/232 145/695/232 43/696/232 -f 45/697/233 146/698/233 44/699/233 -f 43/700/234 145/701/234 48/702/234 -f 145/703/235 47/704/235 48/705/235 -f 44/706/236 146/707/236 145/708/236 -f 146/709/237 147/710/237 145/711/237 -f 145/712/238 147/713/238 47/714/238 -f 147/715/239 46/716/239 47/717/239 -f 45/718/240 24/719/240 146/720/240 -f 24/721/241 23/722/241 146/723/241 -f 146/724/242 23/725/242 147/726/242 -f 23/727/243 22/728/243 147/729/243 -f 147/730/244 22/731/244 46/732/244 -f 22/733/245 6/734/245 46/735/245 -f 27/736/246 42/737/246 6/738/246 -f 26/739/247 148/740/247 27/741/247 -f 25/742/248 149/743/248 26/744/248 -f 27/745/249 148/746/249 42/747/249 -f 148/748/250 41/749/250 42/750/250 -f 26/751/251 149/752/251 148/753/251 -f 149/754/252 150/755/252 148/756/252 -f 148/757/253 150/758/253 41/759/253 -f 150/760/254 40/761/254 41/762/254 -f 25/763/255 36/764/255 149/765/255 -f 36/766/256 35/767/256 149/768/256 -f 149/769/257 35/770/257 150/771/257 -f 35/772/258 34/773/258 150/774/258 -f 150/775/259 34/776/259 40/777/259 -f 34/778/260 5/779/260 40/780/260 -f 34/781/261 39/782/261 5/783/261 -f 35/784/262 151/785/262 34/786/262 -f 36/787/263 152/788/263 35/789/263 -f 34/790/264 151/791/264 39/792/264 -f 151/793/265 38/794/265 39/795/265 -f 35/796/266 152/797/266 151/798/266 -f 152/799/267 153/800/267 151/801/267 -f 151/802/268 153/803/268 38/804/268 -f 153/805/269 37/806/269 38/807/269 -f 36/808/270 30/809/270 152/810/270 -f 30/811/271 29/812/271 152/813/271 -f 152/814/272 29/815/272 153/816/272 -f 29/817/273 28/818/273 153/819/273 -f 153/820/274 28/821/274 37/822/274 -f 28/823/275 4/824/275 37/825/275 -f 28/826/276 33/827/276 4/828/276 -f 29/829/277 154/830/277 28/831/277 -f 30/832/278 155/833/278 29/834/278 -f 28/835/279 154/836/279 33/837/279 -f 154/838/280 32/839/280 33/840/280 -f 29/841/281 155/842/281 154/843/281 -f 155/844/282 156/845/282 154/846/282 -f 154/847/283 156/848/283 32/849/283 -f 156/850/284 31/851/284 32/852/284 -f 30/853/285 15/854/285 155/855/285 -f 15/856/286 14/857/286 155/858/286 -f 155/859/287 14/860/287 156/861/287 -f 14/862/288 13/863/288 156/864/288 -f 156/865/289 13/866/289 31/867/289 -f 13/868/290 3/869/290 31/870/290 -f 22/871/291 27/872/291 6/873/291 -f 23/874/292 157/875/292 22/876/292 -f 24/877/293 158/878/293 23/879/293 -f 22/880/294 157/881/294 27/882/294 -f 157/883/295 26/884/295 27/885/295 -f 23/886/296 158/887/296 157/888/296 -f 158/889/297 159/890/297 157/891/297 -f 157/892/298 159/893/298 26/894/298 -f 159/895/299 25/896/299 26/897/299 -f 24/898/300 18/899/300 158/900/300 -f 18/901/301 17/902/301 158/903/301 -f 158/904/302 17/905/302 159/906/302 -f 17/907/303 16/908/303 159/909/303 -f 159/910/304 16/911/304 25/912/304 -f 16/913/305 1/914/305 25/915/305 -f 13/916/306 21/917/306 3/918/306 -f 14/919/307 160/920/307 13/921/307 -f 15/922/308 161/923/308 14/924/308 -f 13/925/309 160/926/309 21/927/309 -f 160/928/310 20/929/310 21/930/310 -f 14/931/311 161/932/311 160/933/311 -f 161/934/312 162/935/312 160/936/312 -f 160/937/313 162/938/313 20/939/313 -f 162/940/314 19/941/314 20/942/314 -f 15/943/315 16/944/315 161/945/315 -f 16/946/316 17/947/316 161/948/316 -f 161/949/317 17/950/317 162/951/317 -f 17/952/318 18/953/318 162/954/318 -f 162/955/319 18/956/319 19/957/319 -f 18/958/320 2/959/320 19/960/320 diff --git a/src/main/resources/assets/hbm/models/bombs/n45_knob.obj b/src/main/resources/assets/hbm/models/bombs/n45_knob.obj deleted file mode 100644 index 65db02879..000000000 --- a/src/main/resources/assets/hbm/models/bombs/n45_knob.obj +++ /dev/null @@ -1,75 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'n45_knob.blend' -# www.blender.org -o Cylinder -v 0.000000 0.475000 -0.062500 -v 0.000000 0.525000 -0.062500 -v 0.044194 0.475000 -0.044194 -v 0.044194 0.525000 -0.044194 -v 0.062500 0.475000 0.000000 -v 0.062500 0.525000 0.000000 -v 0.044194 0.475000 0.044194 -v 0.044194 0.525000 0.044194 -v -0.000000 0.475000 0.062500 -v -0.000000 0.525000 0.062500 -v -0.044194 0.475000 0.044194 -v -0.044194 0.525000 0.044194 -v -0.062500 0.475000 -0.000000 -v -0.062500 0.525000 -0.000000 -v -0.044194 0.475000 -0.044194 -v -0.044194 0.525000 -0.044194 -vt 0.610389 0.766502 -vt 0.766501 0.610389 -vt 0.929679 0.773566 -vt 0.766501 0.389611 -vt 0.997269 0.389611 -vt 0.610388 0.233498 -vt 0.773565 0.070321 -vt 0.389611 0.233499 -vt 0.389611 0.002731 -vt 0.233498 0.389612 -vt 0.070321 0.226435 -vt 0.233498 0.610389 -vt 0.002731 0.610389 -vt 0.389611 0.766502 -vt 0.610388 0.997269 -vt 0.226434 0.929679 -vt 0.773566 0.929679 -vt 0.997269 0.610388 -vt 0.929678 0.226434 -vt 0.610388 0.002731 -vt 0.226434 0.070322 -vt 0.002731 0.389612 -vt 0.389611 0.997269 -vt 0.070321 0.773566 -vn 0.382700 0.000000 -0.923900 -vn 0.923900 0.000000 -0.382700 -vn 0.923900 0.000000 0.382700 -vn 0.382700 0.000000 0.923900 -vn -0.382700 0.000000 0.923900 -vn -0.923900 0.000000 0.382700 -vn 0.000000 1.000000 0.000000 -vn -0.382700 0.000000 -0.923900 -vn -0.923900 0.000000 -0.382700 -s off -f 2/1/1 4/2/1 3/3/1 -f 4/2/2 6/4/2 5/5/2 -f 6/4/3 8/6/3 7/7/3 -f 8/6/4 10/8/4 9/9/4 -f 10/8/5 12/10/5 11/11/5 -f 12/10/6 14/12/6 13/13/6 -f 14/12/7 10/8/7 2/1/7 -f 16/14/8 2/1/8 1/15/8 -f 14/12/9 16/14/9 15/16/9 -f 1/17/1 2/1/1 3/3/1 -f 3/18/2 4/2/2 5/5/2 -f 5/19/3 6/4/3 7/7/3 -f 7/20/4 8/6/4 9/9/4 -f 9/21/5 10/8/5 11/11/5 -f 11/22/6 12/10/6 13/13/6 -f 6/4/7 4/2/7 2/1/7 -f 2/1/7 16/14/7 14/12/7 -f 14/12/7 12/10/7 10/8/7 -f 10/8/7 8/6/7 6/4/7 -f 6/4/7 2/1/7 10/8/7 -f 15/23/8 16/14/8 1/15/8 -f 13/24/9 14/12/9 15/16/9 diff --git a/src/main/resources/assets/hbm/models/bombs/n45_rod.obj b/src/main/resources/assets/hbm/models/bombs/n45_rod.obj deleted file mode 100644 index a0a4e6bee..000000000 --- a/src/main/resources/assets/hbm/models/bombs/n45_rod.obj +++ /dev/null @@ -1,75 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'n45_rod.blend' -# www.blender.org -o Cylinder.001 -v 0.000000 0.512500 -0.031000 -v 0.000000 0.887500 -0.031000 -v 0.021920 0.512500 -0.021920 -v 0.021920 0.887500 -0.021920 -v 0.031000 0.512500 0.000000 -v 0.031000 0.887500 0.000000 -v 0.021920 0.512500 0.021920 -v 0.021920 0.887500 0.021920 -v -0.000000 0.512500 0.031000 -v -0.000000 0.887500 0.031000 -v -0.021920 0.512500 0.021920 -v -0.021920 0.887500 0.021920 -v -0.031000 0.512500 0.000000 -v -0.031000 0.887500 0.000000 -v -0.021920 0.512500 -0.021920 -v -0.021920 0.887500 -0.021920 -vt 0.423308 0.866102 -vt 0.368629 0.866102 -vt 0.368629 0.001892 -vt 0.313950 0.866102 -vt 0.313950 0.001892 -vt 0.259271 0.866102 -vt 0.259272 0.001892 -vt 0.204592 0.866102 -vt 0.204593 0.001892 -vt 0.149913 0.866102 -vt 0.149914 0.001891 -vt 0.095234 0.866102 -vt 0.095236 0.001891 -vt 0.095234 0.998109 -vt 0.040555 0.998108 -vt 0.477987 0.866102 -vt 0.423308 0.001892 -vt 0.040555 0.866102 -vt 0.040557 0.001891 -vt 0.001891 0.959445 -vt 0.001891 0.904766 -vt 0.133898 0.904766 -vt 0.133898 0.959445 -vt 0.477986 0.001892 -vn 0.382700 0.000000 -0.923900 -vn 0.923900 0.000000 -0.382700 -vn 0.923900 0.000000 0.382700 -vn 0.382700 0.000000 0.923900 -vn -0.382700 0.000000 0.923900 -vn -0.923900 0.000000 0.382700 -vn 0.000000 1.000000 0.000000 -vn -0.382700 0.000000 -0.923900 -vn -0.923900 0.000000 -0.382700 -s off -f 2/1/1 4/2/1 3/3/1 -f 4/2/2 6/4/2 5/5/2 -f 6/4/3 8/6/3 7/7/3 -f 8/6/4 10/8/4 9/9/4 -f 10/8/5 12/10/5 11/11/5 -f 12/10/6 14/12/6 13/13/6 -f 14/12/7 8/14/7 6/15/7 -f 16/16/8 2/1/8 1/17/8 -f 14/12/9 16/18/9 15/19/9 -f 1/17/1 2/1/1 3/3/1 -f 3/3/2 4/2/2 5/5/2 -f 5/5/3 6/4/3 7/7/3 -f 7/7/4 8/6/4 9/9/4 -f 9/9/5 10/8/5 11/11/5 -f 11/11/6 12/10/6 13/13/6 -f 6/15/7 4/20/7 14/12/7 -f 2/21/7 16/18/7 14/12/7 -f 14/12/7 12/22/7 10/23/7 -f 10/23/7 8/14/7 14/12/7 -f 4/20/7 2/21/7 14/12/7 -f 15/24/8 16/16/8 1/17/8 -f 13/13/9 14/12/9 15/19/9 diff --git a/src/main/resources/assets/hbm/models/bombs/n45_stand.obj b/src/main/resources/assets/hbm/models/bombs/n45_stand.obj deleted file mode 100644 index 1e99f7d20..000000000 --- a/src/main/resources/assets/hbm/models/bombs/n45_stand.obj +++ /dev/null @@ -1,166 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'n45_stand.blend' -# www.blender.org -o Icosphere.001 -v 0.000000 0.100000 -0.125000 -v 0.000000 0.525000 -0.125000 -v 0.088388 0.100000 -0.088388 -v 0.088388 0.525000 -0.088388 -v 0.125000 0.100000 0.000000 -v 0.125000 0.525000 0.000000 -v 0.088388 0.100000 0.088388 -v 0.088388 0.525000 0.088388 -v -0.000000 0.100000 0.125000 -v -0.000000 0.525000 0.125000 -v -0.088388 0.100000 0.088388 -v -0.088388 0.525000 0.088388 -v -0.125000 0.100000 -0.000000 -v -0.125000 0.525000 -0.000000 -v -0.088388 0.100000 -0.088388 -v -0.088388 0.525000 -0.088388 -v 0.000000 0.100000 -0.250000 -v 0.176777 0.100000 -0.176777 -v 0.250000 0.100000 0.000000 -v 0.176777 0.100000 0.176777 -v -0.000000 0.100000 0.250000 -v -0.176777 0.100000 0.176777 -v -0.250000 0.100000 -0.000000 -v -0.176777 0.100000 -0.176777 -v -0.000000 0.000000 -0.375000 -v 0.265165 0.000000 -0.265165 -v 0.375000 0.000000 0.000000 -v 0.265165 0.000000 0.265165 -v -0.000000 0.000000 0.375000 -v -0.265165 0.000000 0.265165 -v -0.375000 0.000000 -0.000000 -v -0.265165 0.000000 -0.265165 -vt 0.590034 0.983303 -vt 0.536822 0.983303 -vt 0.536822 0.746920 -vt 0.483611 0.983303 -vt 0.483611 0.746920 -vt 0.430399 0.983303 -vt 0.430399 0.746920 -vt 0.377187 0.983303 -vt 0.377187 0.746920 -vt 0.323976 0.983303 -vt 0.323976 0.746920 -vt 0.270764 0.983303 -vt 0.270764 0.746920 -vt 0.643246 0.983303 -vt 0.590034 0.746920 -vt 0.696457 0.983303 -vt 0.643246 0.746920 -vt 0.807223 0.505400 -vt 0.737698 0.505400 -vt 0.778425 0.407078 -vt 0.346117 0.113818 -vt 0.444439 0.073092 -vt 0.501535 0.141409 -vt 0.175484 0.456239 -vt 0.224645 0.407078 -vt 0.265371 0.505400 -vt 0.607792 0.676034 -vt 0.558631 0.626872 -vt 0.656953 0.586146 -vt 0.195847 0.194564 -vt 0.265371 0.194564 -vt 0.224645 0.292886 -vt 0.827586 0.243725 -vt 0.778425 0.292886 -vt 0.737698 0.194564 -vt 0.346117 0.655670 -vt 0.346117 0.586146 -vt 0.444439 0.626872 -vt 0.395278 0.023931 -vt 0.656953 0.044294 -vt 0.656953 0.113818 -vt 0.558631 0.073092 -vt 0.649018 0.497465 -vt 0.354051 0.497465 -vt 0.354052 0.202499 -vt 0.292962 0.349982 -vt 0.501535 0.558555 -vt 0.710108 0.349982 -vt 0.649018 0.202499 -vt 0.696457 0.746920 -vt 0.827586 0.456239 -vt 0.195847 0.505400 -vt 0.656953 0.655670 -vt 0.175484 0.243725 -vt 0.807223 0.194564 -vt 0.395278 0.676034 -vt 0.346117 0.044294 -vt 0.607792 0.023931 -vn 0.382700 0.000000 -0.923900 -vn 0.923900 0.000000 -0.382700 -vn 0.923900 0.000000 0.382700 -vn 0.382700 0.000000 0.923900 -vn -0.382700 0.000000 0.923900 -vn -0.923900 0.000000 0.382700 -vn -0.382700 0.000000 -0.923900 -vn -0.923900 0.000000 -0.382700 -vn -0.000000 1.000000 -0.000000 -vn -0.250500 0.756000 -0.604800 -vn 0.000000 -1.000000 0.000000 -vn -0.604800 0.756000 0.250500 -vn 0.250500 0.756000 0.604800 -vn 0.604800 0.756000 -0.250500 -vn -0.604800 0.756000 -0.250500 -vn -0.250500 0.756000 0.604800 -vn 0.604800 0.756000 0.250500 -vn 0.250500 0.756000 -0.604800 -s off -f 2/1/1 4/2/1 3/3/1 -f 4/2/2 6/4/2 5/5/2 -f 6/4/3 8/6/3 7/7/3 -f 8/6/4 10/8/4 9/9/4 -f 10/8/5 12/10/5 11/11/5 -f 12/10/6 14/12/6 13/13/6 -f 16/14/7 2/1/7 1/15/7 -f 14/16/8 16/14/8 15/17/8 -f 7/18/9 20/19/9 19/20/9 -f 24/21/10 17/22/10 25/23/10 -f 13/24/9 23/25/9 22/26/9 -f 9/27/9 21/28/9 20/29/9 -f 15/30/9 24/31/9 23/32/9 -f 5/33/9 19/34/9 18/35/9 -f 11/36/9 22/37/9 21/38/9 -f 1/39/9 17/22/9 24/21/9 -f 3/40/9 18/41/9 17/42/9 -f 28/43/11 30/44/11 32/45/11 -f 23/25/12 31/46/12 30/44/12 -f 21/28/13 29/47/13 28/43/13 -f 19/34/14 27/48/14 26/49/14 -f 24/31/15 32/45/15 31/46/15 -f 22/37/16 30/44/16 29/47/16 -f 19/20/17 20/19/17 28/43/17 -f 17/42/18 18/41/18 26/49/18 -f 1/15/1 2/1/1 3/3/1 -f 3/3/2 4/2/2 5/5/2 -f 5/5/3 6/4/3 7/7/3 -f 7/7/4 8/6/4 9/9/4 -f 9/9/5 10/8/5 11/11/5 -f 11/11/6 12/10/6 13/13/6 -f 15/17/7 16/14/7 1/15/7 -f 13/50/8 14/16/8 15/17/8 -f 5/51/9 7/18/9 19/20/9 -f 32/45/10 24/21/10 25/23/10 -f 11/52/9 13/24/9 22/26/9 -f 7/53/9 9/27/9 20/29/9 -f 13/54/9 15/30/9 23/32/9 -f 3/55/9 5/33/9 18/35/9 -f 9/56/9 11/36/9 21/38/9 -f 15/57/9 1/39/9 24/21/9 -f 1/58/9 3/40/9 17/42/9 -f 32/45/11 25/23/11 26/49/11 -f 26/49/11 27/48/11 28/43/11 -f 28/43/11 29/47/11 30/44/11 -f 30/44/11 31/46/11 32/45/11 -f 32/45/11 26/49/11 28/43/11 -f 22/26/12 23/25/12 30/44/12 -f 20/29/13 21/28/13 28/43/13 -f 18/35/14 19/34/14 26/49/14 -f 23/32/15 24/31/15 31/46/15 -f 21/38/16 22/37/16 29/47/16 -f 27/48/17 19/20/17 28/43/17 -f 25/23/18 17/42/18 26/49/18 diff --git a/src/main/resources/assets/hbm/models/cel_prime_battery.obj b/src/main/resources/assets/hbm/models/cel_prime_battery.obj deleted file mode 100644 index 504947834..000000000 --- a/src/main/resources/assets/hbm/models/cel_prime_battery.obj +++ /dev/null @@ -1,127 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'cel_prime_battery.blend' -# www.blender.org -o Cube.004_Cube.005 -v -0.500000 0.000000 -1.500000 -v -0.500000 5.000000 -1.500000 -v 1.500000 0.000000 -1.500000 -v 1.500000 4.000000 -1.500000 -v -0.500000 0.000000 1.500000 -v -0.500000 5.000000 1.500000 -v 1.500000 0.000000 1.500000 -v 1.500000 4.000000 1.500000 -v 1.500000 3.800000 -1.350000 -v 1.500000 0.200000 -1.350000 -v 1.500000 3.800000 1.350000 -v 1.500000 0.200000 1.350000 -v 0.500000 3.800000 -1.350000 -v 0.500000 0.200000 -1.350000 -v 0.500000 3.800000 1.350000 -v 0.500000 0.200000 1.350000 -v 1.500000 0.200000 1.099999 -v 1.500000 1.600000 1.099999 -v 0.500000 0.200000 1.100000 -v 0.500000 1.600000 1.100000 -v 1.500000 0.200000 0.100000 -v 1.500000 1.600000 0.100000 -v 0.500000 0.200000 0.100000 -v 0.500000 1.600000 0.100000 -v 1.500000 0.200000 -0.100001 -v 1.500000 1.600000 -0.100001 -v 0.500000 0.200000 -0.100000 -v 0.500000 1.600000 -0.100000 -v 1.500000 0.200000 -1.100001 -v 1.500000 1.600000 -1.100001 -v 0.500000 0.200000 -1.100000 -v 0.500000 1.600000 -1.100000 -v 1.500000 1.700000 -0.100001 -v 1.500000 3.100000 -0.100001 -v 0.500000 1.700000 -0.100000 -v 0.500000 3.100000 -0.100000 -v 1.500000 1.700000 -1.100001 -v 1.500000 3.100000 -1.100001 -v 0.500000 1.700000 -1.100000 -v 0.500000 3.100000 -1.100000 -v 1.500000 1.700000 1.099999 -v 1.500000 3.100000 1.099999 -v 0.500000 1.700000 1.100000 -v 0.500000 3.100000 1.100000 -v 1.500000 1.700000 0.100000 -v 1.500000 3.100000 0.100000 -v 0.500000 1.700000 0.100000 -v 0.500000 3.100000 0.100000 -vn 0.000000 0.000000 -1.000000 -vn 1.000000 -0.000000 0.000000 -vn 0.000000 0.000000 1.000000 -vn -1.000000 0.000000 0.000000 -vn 0.000000 -1.000000 0.000000 -vn 0.447200 0.894400 0.000000 -vn 0.000000 1.000000 0.000000 -s off -f 4//1 3//1 1//1 -f 3//2 10//2 12//2 -f 8//3 6//3 5//3 -f 2//4 1//4 5//4 -f 3//5 7//5 5//5 -f 8//6 4//6 2//6 -f 10//7 14//7 16//7 -f 8//2 11//2 9//2 -f 4//2 9//2 10//2 -f 7//2 12//2 11//2 -f 15//2 16//2 14//2 -f 11//5 15//5 13//5 -f 12//1 16//1 15//1 -f 9//3 13//3 14//3 -f 20//3 19//3 17//3 -f 24//4 23//4 19//4 -f 22//1 21//1 23//1 -f 18//2 17//2 21//2 -f 19//5 23//5 21//5 -f 22//7 24//7 20//7 -f 28//3 27//3 25//3 -f 30//1 29//1 31//1 -f 26//2 25//2 29//2 -f 32//7 28//7 26//7 -f 36//3 35//3 33//3 -f 38//1 37//1 39//1 -f 34//2 33//2 37//2 -f 40//7 36//7 34//7 -f 44//3 43//3 41//3 -f 46//1 45//1 47//1 -f 42//2 41//2 45//2 -f 46//7 48//7 44//7 -f 43//5 47//5 45//5 -f 39//5 37//5 33//5 -f 2//1 4//1 1//1 -f 7//2 3//2 12//2 -f 7//3 8//3 5//3 -f 6//4 2//4 5//4 -f 1//5 3//5 5//5 -f 6//6 8//6 2//6 -f 12//7 10//7 16//7 -f 4//2 8//2 9//2 -f 3//2 4//2 10//2 -f 8//2 7//2 11//2 -f 13//2 15//2 14//2 -f 9//5 11//5 13//5 -f 11//1 12//1 15//1 -f 10//3 9//3 14//3 -f 18//3 20//3 17//3 -f 20//4 24//4 19//4 -f 24//1 22//1 23//1 -f 22//2 18//2 21//2 -f 17//5 19//5 21//5 -f 18//7 22//7 20//7 -f 26//3 28//3 25//3 -f 32//1 30//1 31//1 -f 30//2 26//2 29//2 -f 30//7 32//7 26//7 -f 34//3 36//3 33//3 -f 40//1 38//1 39//1 -f 38//2 34//2 37//2 -f 38//7 40//7 34//7 -f 42//3 44//3 41//3 -f 48//1 46//1 47//1 -f 46//2 42//2 45//2 -f 42//7 46//7 44//7 -f 41//5 43//5 45//5 -f 35//5 39//5 33//5 diff --git a/src/main/resources/assets/hbm/models/cel_prime_port.obj b/src/main/resources/assets/hbm/models/cel_prime_port.obj deleted file mode 100644 index 300372f6b..000000000 --- a/src/main/resources/assets/hbm/models/cel_prime_port.obj +++ /dev/null @@ -1,75 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'cel_prime_port.blend' -# www.blender.org -o Cube.002_Cube.003 -v -0.500000 0.000000 -1.500000 -v -0.500000 5.000000 -1.500000 -v 1.500000 0.000000 -1.500000 -v 1.500000 4.000000 -1.500000 -v -0.500000 0.000000 1.500000 -v -0.500000 5.000000 1.500000 -v 1.500000 0.000000 1.500000 -v 1.500000 4.000000 1.500000 -v 1.400000 0.343750 -0.156250 -v 1.400000 0.656250 -0.156250 -v 1.400000 0.343750 0.156250 -v 1.400000 0.656250 0.156250 -v 1.500000 0.050000 -0.450000 -v 1.500000 0.950000 -0.450000 -v 1.500000 0.050000 0.450000 -v 1.500000 0.950000 0.450000 -v 1.400000 0.050000 0.450000 -v 1.400000 0.050000 -0.450000 -v 1.400000 0.950000 -0.450000 -v 1.400000 0.950000 0.450000 -v 1.500000 0.343750 0.156250 -v 1.500000 0.343750 -0.156250 -v 1.500000 0.656250 -0.156250 -v 1.500000 0.656250 0.156250 -vn 0.000000 0.000000 -1.000000 -vn 0.000000 0.000000 1.000000 -vn -1.000000 0.000000 0.000000 -vn 0.000000 -1.000000 0.000000 -vn 0.447200 0.894400 0.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 1.000000 0.000000 -s off -f 4//1 3//1 1//1 -f 8//2 6//2 5//2 -f 2//3 1//3 5//3 -f 3//4 7//4 5//4 -f 8//5 4//5 2//5 -f 11//3 12//3 10//3 -f 16//4 20//4 19//4 -f 3//6 13//6 15//6 -f 7//6 15//6 16//6 -f 14//6 13//6 3//6 -f 16//6 14//6 4//6 -f 19//6 20//6 17//6 -f 13//7 18//7 17//7 -f 15//1 17//1 20//1 -f 14//2 19//2 18//2 -f 23//6 24//6 21//6 -f 12//7 24//7 23//7 -f 9//4 22//4 21//4 -f 11//2 21//2 24//2 -f 10//1 23//1 22//1 -f 2//1 4//1 1//1 -f 7//2 8//2 5//2 -f 6//3 2//3 5//3 -f 1//4 3//4 5//4 -f 6//5 8//5 2//5 -f 9//3 11//3 10//3 -f 14//4 16//4 19//4 -f 7//6 3//6 15//6 -f 8//6 7//6 16//6 -f 4//6 14//6 3//6 -f 8//6 16//6 4//6 -f 18//6 19//6 17//6 -f 15//7 13//7 17//7 -f 16//1 15//1 20//1 -f 13//2 14//2 18//2 -f 22//6 23//6 21//6 -f 10//7 12//7 23//7 -f 11//4 9//4 21//4 -f 12//2 11//2 24//2 -f 9//1 10//1 22//1 diff --git a/src/main/resources/assets/hbm/models/cel_prime_tanks.obj b/src/main/resources/assets/hbm/models/cel_prime_tanks.obj deleted file mode 100644 index 2b060d409..000000000 --- a/src/main/resources/assets/hbm/models/cel_prime_tanks.obj +++ /dev/null @@ -1,151 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'cel_prime_tanks.blend' -# www.blender.org -o Cube.003_Cube.004 -v -0.500000 0.000000 -1.500000 -v -0.500000 5.000000 -1.500000 -v 1.500000 0.000000 -1.500000 -v 1.500000 4.000000 -1.500000 -v -0.500000 0.000000 1.500000 -v -0.500000 5.000000 1.500000 -v 1.500000 0.000000 1.500000 -v 1.500000 4.000000 1.500000 -v 1.500000 3.800000 -1.350000 -v 1.500000 0.200000 -1.350000 -v 1.500000 3.800000 1.350000 -v 1.500000 0.200000 1.350000 -v 0.000000 3.800000 -1.350000 -v 0.000000 0.200000 -1.350000 -v 0.000000 3.800000 1.350000 -v 0.000000 0.200000 1.350000 -v 0.750000 3.800000 -1.100000 -v 0.750000 0.200000 -1.100000 -v 0.750000 0.200000 0.100000 -v 0.750000 3.800000 0.100000 -v 1.103553 0.200000 0.246447 -v 1.103553 3.800000 0.246447 -v 1.250000 0.200000 0.600000 -v 1.250000 3.800000 0.600000 -v 1.103553 0.200000 0.953553 -v 1.103553 3.800000 0.953553 -v 0.750000 0.200000 1.100000 -v 0.750000 3.800000 1.100000 -v 0.396446 0.200000 0.953553 -v 0.396446 3.800000 0.953553 -v 0.250000 0.200000 0.600000 -v 0.250000 3.800000 0.600000 -v 0.396446 0.200000 0.246447 -v 0.396446 3.800000 0.246447 -v 1.103553 0.200000 -0.953553 -v 1.103553 3.800000 -0.953553 -v 1.250000 0.200000 -0.600000 -v 1.250000 3.800000 -0.600000 -v 1.103553 0.200000 -0.246447 -v 1.103553 3.800000 -0.246447 -v 0.750000 0.200000 -0.100000 -v 0.750000 3.800000 -0.100000 -v 0.396446 0.200000 -0.246447 -v 0.396446 3.800000 -0.246447 -v 0.250000 0.200000 -0.600000 -v 0.250000 3.800000 -0.600000 -v 0.396446 0.200000 -0.953553 -v 0.396446 3.800000 -0.953553 -vn 0.000000 0.000000 -1.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 0.000000 1.000000 -vn -1.000000 0.000000 0.000000 -vn 0.000000 -1.000000 0.000000 -vn 0.447200 0.894400 0.000000 -vn 0.000000 1.000000 0.000000 -vn -0.923900 0.000000 0.382700 -vn 0.382700 0.000000 -0.923900 -vn -0.382700 0.000000 0.923900 -vn 0.923900 0.000000 -0.382700 -vn 0.382700 0.000000 0.923900 -vn 0.923900 0.000000 0.382700 -vn -0.923900 0.000000 -0.382700 -vn -0.382700 0.000000 -0.923900 -s off -f 4//1 3//1 1//1 -f 7//2 12//2 11//2 -f 8//3 6//3 5//3 -f 2//4 1//4 5//4 -f 3//5 7//5 5//5 -f 8//6 4//6 2//6 -f 12//1 16//1 15//1 -f 3//2 10//2 12//2 -f 8//2 11//2 9//2 -f 4//2 9//2 10//2 -f 15//2 16//2 14//2 -f 9//3 13//3 14//3 -f 10//7 14//7 16//7 -f 11//5 15//5 13//5 -f 44//8 46//8 45//8 -f 20//9 22//9 21//9 -f 42//10 44//10 43//10 -f 22//11 24//11 23//11 -f 40//12 42//12 41//12 -f 24//13 26//13 25//13 -f 39//5 45//5 47//5 -f 38//13 40//13 39//13 -f 26//12 28//12 27//12 -f 46//14 48//14 47//14 -f 36//11 38//11 37//11 -f 28//10 30//10 29//10 -f 48//15 17//15 18//15 -f 17//9 36//9 35//9 -f 30//8 32//8 31//8 -f 32//7 28//7 24//7 -f 34//15 20//15 19//15 -f 32//14 34//14 33//14 -f 46//7 42//7 17//7 -f 25//5 31//5 33//5 -f 2//1 4//1 1//1 -f 8//2 7//2 11//2 -f 7//3 8//3 5//3 -f 6//4 2//4 5//4 -f 1//5 3//5 5//5 -f 6//6 8//6 2//6 -f 11//1 12//1 15//1 -f 7//2 3//2 12//2 -f 4//2 8//2 9//2 -f 3//2 4//2 10//2 -f 13//2 15//2 14//2 -f 10//3 9//3 14//3 -f 12//7 10//7 16//7 -f 9//5 11//5 13//5 -f 43//8 44//8 45//8 -f 19//9 20//9 21//9 -f 41//10 42//10 43//10 -f 21//11 22//11 23//11 -f 39//12 40//12 41//12 -f 23//13 24//13 25//13 -f 47//5 18//5 39//5 -f 35//5 37//5 39//5 -f 39//5 41//5 43//5 -f 43//5 45//5 39//5 -f 18//5 35//5 39//5 -f 37//13 38//13 39//13 -f 25//12 26//12 27//12 -f 45//14 46//14 47//14 -f 35//11 36//11 37//11 -f 27//10 28//10 29//10 -f 47//15 48//15 18//15 -f 18//9 17//9 35//9 -f 29//8 30//8 31//8 -f 24//7 22//7 32//7 -f 20//7 34//7 32//7 -f 32//7 30//7 28//7 -f 28//7 26//7 24//7 -f 22//7 20//7 32//7 -f 33//15 34//15 19//15 -f 31//14 32//14 33//14 -f 38//7 36//7 17//7 -f 17//7 48//7 46//7 -f 46//7 44//7 42//7 -f 42//7 40//7 38//7 -f 38//7 17//7 42//7 -f 33//5 19//5 21//5 -f 21//5 23//5 25//5 -f 25//5 27//5 29//5 -f 29//5 31//5 25//5 -f 33//5 21//5 25//5 diff --git a/src/main/resources/assets/hbm/models/cel_prime_terminal.obj b/src/main/resources/assets/hbm/models/cel_prime_terminal.obj deleted file mode 100644 index e17e2e075..000000000 --- a/src/main/resources/assets/hbm/models/cel_prime_terminal.obj +++ /dev/null @@ -1,77 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'cel_prime_terminal.blend' -# www.blender.org -o Cube.001_Cube.002 -v -0.500000 0.000000 -1.500000 -v -0.500000 5.000000 -1.500000 -v 1.500000 0.000000 -1.500000 -v 1.500000 4.000000 -1.500000 -v -0.500000 0.000000 1.500000 -v -0.500000 5.000000 1.500000 -v 1.500000 0.000000 1.500000 -v 1.500000 4.000000 1.500000 -v 1.500000 1.500000 -0.500000 -v 1.500000 2.500000 -0.500000 -v 1.750000 1.500000 -0.500000 -v 1.750000 2.500000 -0.500000 -v 1.500000 1.500000 0.500000 -v 1.500000 2.500000 0.500000 -v 1.750000 1.500000 0.500000 -v 1.750000 2.500000 0.500000 -v 1.750000 1.250000 -0.500000 -v 1.500000 1.250000 -0.500000 -v 1.750000 1.250000 0.500000 -v 1.500000 1.250000 0.500000 -v 2.250000 1.300000 0.500000 -v 2.250000 1.300000 -0.500000 -v 2.250000 1.050000 0.500000 -v 2.250000 1.050000 -0.500000 -vn 0.000000 0.000000 -1.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 0.000000 1.000000 -vn -1.000000 0.000000 -0.000000 -vn 0.000000 -1.000000 0.000000 -vn 0.447200 0.894400 0.000000 -vn 0.000000 1.000000 0.000000 -vn 0.371400 0.928500 0.000000 -vn -0.371400 -0.928500 0.000000 -s off -f 4//1 3//1 1//1 -f 8//2 7//2 3//2 -f 8//3 6//3 5//3 -f 2//4 1//4 5//4 -f 3//5 7//5 5//5 -f 8//6 4//6 2//6 -f 12//1 11//1 9//1 -f 16//2 15//2 11//2 -f 14//3 13//3 15//3 -f 10//4 9//4 13//4 -f 11//1 17//1 18//1 -f 16//7 12//7 10//7 -f 17//5 19//5 20//5 -f 19//3 23//3 21//3 -f 9//4 18//4 20//4 -f 13//3 20//3 19//3 -f 21//2 23//2 24//2 -f 17//1 11//1 22//1 -f 15//8 21//8 22//8 -f 17//9 24//9 23//9 -f 2//1 4//1 1//1 -f 4//2 8//2 3//2 -f 7//3 8//3 5//3 -f 6//4 2//4 5//4 -f 1//5 3//5 5//5 -f 6//6 8//6 2//6 -f 10//1 12//1 9//1 -f 12//2 16//2 11//2 -f 16//3 14//3 15//3 -f 14//4 10//4 13//4 -f 9//1 11//1 18//1 -f 14//7 16//7 10//7 -f 18//5 17//5 20//5 -f 15//3 19//3 21//3 -f 13//4 9//4 20//4 -f 15//3 13//3 19//3 -f 22//2 21//2 24//2 -f 24//1 17//1 22//1 -f 11//8 15//8 22//8 -f 19//9 17//9 23//9 diff --git a/src/main/resources/assets/hbm/models/cel_prime_tower.obj b/src/main/resources/assets/hbm/models/cel_prime_tower.obj deleted file mode 100644 index e05e1bcad..000000000 --- a/src/main/resources/assets/hbm/models/cel_prime_tower.obj +++ /dev/null @@ -1,281 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'cel_prime_tower.blend' -# www.blender.org -o Cube_Cube.001 -v 1.500000 0.000000 1.500000 -v 1.500000 5.000000 1.500000 -v 1.500000 0.000000 -1.500000 -v 1.500000 5.000000 -1.500000 -v -1.500000 0.000000 1.500000 -v -1.500000 5.000000 1.500000 -v -1.500000 0.000000 -1.500000 -v -1.500000 5.000000 -1.500000 -v 1.500000 4.750000 1.350000 -v 1.500000 0.250000 1.350000 -v 1.500000 0.250000 -1.350000 -v 1.500000 4.750000 -1.350000 -v 1.350000 4.750000 -1.500000 -v 1.350000 0.250000 -1.500000 -v -1.350000 0.250000 -1.500000 -v -1.350000 4.750000 -1.500000 -v -1.500000 4.750000 -1.350000 -v -1.500000 0.250000 -1.350000 -v -1.500000 0.250000 1.350000 -v -1.500000 4.750000 1.350000 -v -1.350000 4.750000 1.500000 -v -1.350000 0.250000 1.500000 -v 1.350000 0.250000 1.500000 -v 1.350000 4.750000 1.500000 -v 1.350000 4.750000 1.350000 -v 1.350000 0.250000 1.350000 -v 1.350000 0.250000 -1.350000 -v 1.350000 4.750000 -1.350000 -v 1.350000 4.750000 -1.350000 -v 1.350000 0.250000 -1.350000 -v -1.350000 0.250000 -1.350000 -v -1.350000 4.750000 -1.350000 -v -1.350000 4.750000 -1.350000 -v -1.350000 0.250000 -1.350000 -v -1.350000 0.250000 1.350000 -v -1.350000 4.750000 1.350000 -v -1.350000 4.750000 1.350000 -v -1.350000 0.250000 1.350000 -v 1.350000 0.250000 1.350000 -v 1.350000 4.750000 1.350000 -v -1.000000 7.000000 1.000000 -v 1.000000 7.000000 1.000000 -v -1.000000 7.000000 -1.000000 -v 1.000000 7.000000 -1.000000 -v 0.265165 8.000000 -0.265165 -v -0.000000 8.000000 -0.375000 -v 0.000000 8.000000 -0.500000 -v 0.000000 12.000000 -0.500000 -v 0.353553 8.000000 -0.353553 -v 0.353553 12.000000 -0.353553 -v 0.500000 8.000000 0.000000 -v 0.500000 12.000000 0.000000 -v 0.353553 8.000000 0.353553 -v 0.353553 12.000000 0.353553 -v -0.000000 8.000000 0.500000 -v -0.000000 12.000000 0.500000 -v -0.353553 8.000000 0.353553 -v -0.353553 12.000000 0.353553 -v -0.500000 8.000000 -0.000000 -v -0.500000 12.000000 -0.000000 -v -0.353553 8.000000 -0.353553 -v -0.353553 12.000000 -0.353553 -v 0.265165 12.000000 -0.265165 -v -0.000000 12.000000 -0.375000 -v 0.375000 8.000000 0.000000 -v 0.375000 12.000000 0.000000 -v 0.265165 8.000000 0.265165 -v 0.265165 12.000000 0.265165 -v -0.000000 8.000000 0.375000 -v -0.000000 12.000000 0.375000 -v -0.265165 8.000000 0.265165 -v -0.265165 12.000000 0.265165 -v -0.375000 8.000000 -0.000000 -v -0.375000 12.000000 -0.000000 -v -0.265165 8.000000 -0.265165 -v -0.265165 12.000000 -0.265165 -v -0.500000 7.000000 -0.500000 -v -0.500000 10.000000 -0.500000 -v -0.500000 7.000000 -1.000000 -v -0.500000 10.500000 -1.000000 -v 0.500000 7.000000 -0.500000 -v 0.500000 10.000000 -0.500000 -v 0.500000 7.000000 -1.000000 -v 0.500000 10.500000 -1.000000 -v -0.500000 10.353554 -0.146447 -v -0.500000 10.853554 -0.646447 -v 0.500000 10.853554 -0.646447 -v 0.500000 10.353554 -0.146447 -vn 0.000000 -1.000000 0.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 0.000000 -1.000000 -vn -1.000000 0.000000 0.000000 -vn 0.000000 0.000000 1.000000 -vn 0.000000 1.000000 0.000000 -vn 0.970100 0.242500 0.000000 -vn 0.000000 0.242500 -0.970100 -vn -0.970100 0.242500 0.000000 -vn 0.000000 0.242500 0.970100 -vn 0.382700 0.000000 -0.923900 -vn 0.923900 0.000000 -0.382700 -vn 0.923900 0.000000 0.382700 -vn 0.382700 0.000000 0.923900 -vn -0.382700 0.000000 0.923900 -vn -0.923900 0.000000 0.382700 -vn -0.382700 0.000000 -0.923900 -vn -0.923900 0.000000 -0.382700 -vn 0.000000 0.707100 -0.707100 -vn 0.000000 0.707100 0.707100 -vn 0.000000 -0.707100 0.707100 -s off -f 5//1 7//1 3//1 -f 10//2 9//2 2//2 -f 11//2 10//2 1//2 -f 12//2 11//2 3//2 -f 9//2 12//2 4//2 -f 14//3 13//3 4//3 -f 15//3 14//3 3//3 -f 16//3 15//3 7//3 -f 13//3 16//3 8//3 -f 18//4 17//4 8//4 -f 19//4 18//4 7//4 -f 20//4 19//4 5//4 -f 17//4 20//4 6//4 -f 22//5 21//5 6//5 -f 23//5 22//5 5//5 -f 24//5 23//5 1//5 -f 21//5 24//5 2//5 -f 26//2 27//2 28//2 -f 26//3 25//3 9//3 -f 27//6 26//6 10//6 -f 28//5 27//5 11//5 -f 25//1 28//1 12//1 -f 30//3 31//3 32//3 -f 30//4 29//4 13//4 -f 31//6 30//6 14//6 -f 32//2 31//2 15//2 -f 29//1 32//1 16//1 -f 34//4 35//4 36//4 -f 34//5 33//5 17//5 -f 35//6 34//6 18//6 -f 36//3 35//3 19//3 -f 33//1 36//1 20//1 -f 38//5 39//5 40//5 -f 38//2 37//2 21//2 -f 39//6 38//6 22//6 -f 40//4 39//4 23//4 -f 37//1 40//1 24//1 -f 42//6 44//6 43//6 -f 44//7 42//7 2//7 -f 43//8 44//8 4//8 -f 41//9 43//9 8//9 -f 42//10 41//10 6//10 -f 56//6 70//6 72//6 -f 52//6 66//6 68//6 -f 48//11 50//11 49//11 -f 55//1 69//1 67//1 -f 47//1 46//1 75//1 -f 50//12 52//12 51//12 -f 49//1 45//1 46//1 -f 59//1 73//1 71//1 -f 52//13 54//13 53//13 -f 62//6 76//6 64//6 -f 51//1 53//1 67//1 -f 54//14 56//14 55//14 -f 57//1 71//1 69//1 -f 76//14 75//14 46//14 -f 56//15 58//15 57//15 -f 51//1 65//1 45//1 -f 74//13 73//13 75//13 -f 58//16 60//16 59//16 -f 60//6 74//6 76//6 -f 62//17 48//17 47//17 -f 60//18 62//18 61//18 -f 50//6 63//6 66//6 -f 60//6 58//6 72//6 -f 54//6 68//6 70//6 -f 59//1 61//1 75//1 -f 48//6 64//6 63//6 -f 64//15 46//15 45//15 -f 63//16 45//16 65//16 -f 66//18 65//18 67//18 -f 68//17 67//17 69//17 -f 70//11 69//11 71//11 -f 72//12 71//12 73//12 -f 78//4 80//4 79//4 -f 84//3 83//3 79//3 -f 82//2 81//2 83//2 -f 78//5 77//5 81//5 -f 79//1 83//1 81//1 -f 80//19 86//19 87//19 -f 87//20 86//20 85//20 -f 84//2 87//2 88//2 -f 80//4 78//4 85//4 -f 82//21 88//21 85//21 -f 1//1 5//1 3//1 -f 1//2 10//2 2//2 -f 3//2 11//2 1//2 -f 4//2 12//2 3//2 -f 2//2 9//2 4//2 -f 3//3 14//3 4//3 -f 7//3 15//3 3//3 -f 8//3 16//3 7//3 -f 4//3 13//3 8//3 -f 7//4 18//4 8//4 -f 5//4 19//4 7//4 -f 6//4 20//4 5//4 -f 8//4 17//4 6//4 -f 5//5 22//5 6//5 -f 1//5 23//5 5//5 -f 2//5 24//5 1//5 -f 6//5 21//5 2//5 -f 25//2 26//2 28//2 -f 10//3 26//3 9//3 -f 11//6 27//6 10//6 -f 12//5 28//5 11//5 -f 9//1 25//1 12//1 -f 29//3 30//3 32//3 -f 14//4 30//4 13//4 -f 15//6 31//6 14//6 -f 16//2 32//2 15//2 -f 13//1 29//1 16//1 -f 33//4 34//4 36//4 -f 18//5 34//5 17//5 -f 19//6 35//6 18//6 -f 20//3 36//3 19//3 -f 17//1 33//1 20//1 -f 37//5 38//5 40//5 -f 22//2 38//2 21//2 -f 23//6 39//6 22//6 -f 24//4 40//4 23//4 -f 21//1 37//1 24//1 -f 41//6 42//6 43//6 -f 4//7 44//7 2//7 -f 8//8 43//8 4//8 -f 6//9 41//9 8//9 -f 2//10 42//10 6//10 -f 58//6 56//6 72//6 -f 54//6 52//6 68//6 -f 47//11 48//11 49//11 -f 53//1 55//1 67//1 -f 61//1 47//1 75//1 -f 49//12 50//12 51//12 -f 47//1 49//1 46//1 -f 57//1 59//1 71//1 -f 51//13 52//13 53//13 -f 48//6 62//6 64//6 -f 65//1 51//1 67//1 -f 53//14 54//14 55//14 -f 55//1 57//1 69//1 -f 64//14 76//14 46//14 -f 55//15 56//15 57//15 -f 49//1 51//1 45//1 -f 76//13 74//13 75//13 -f 57//16 58//16 59//16 -f 62//6 60//6 76//6 -f 61//17 62//17 47//17 -f 59//18 60//18 61//18 -f 52//6 50//6 66//6 -f 74//6 60//6 72//6 -f 56//6 54//6 70//6 -f 73//1 59//1 75//1 -f 50//6 48//6 63//6 -f 63//15 64//15 45//15 -f 66//16 63//16 65//16 -f 68//18 66//18 67//18 -f 70//17 68//17 69//17 -f 72//11 70//11 71//11 -f 74//12 72//12 73//12 -f 77//4 78//4 79//4 -f 80//3 84//3 79//3 -f 84//2 82//2 83//2 -f 82//5 78//5 81//5 -f 77//1 79//1 81//1 -f 84//19 80//19 87//19 -f 88//20 87//20 85//20 -f 82//2 84//2 88//2 -f 86//4 80//4 85//4 -f 78//21 82//21 85//21 diff --git a/src/main/resources/assets/hbm/models/chemplant_main.obj b/src/main/resources/assets/hbm/models/chemplant_main.obj deleted file mode 100644 index 90d39843a..000000000 --- a/src/main/resources/assets/hbm/models/chemplant_main.obj +++ /dev/null @@ -1,1870 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'chemplant_main.blend' -# www.blender.org -o Cube_Cube.001 -v -1.500000 0.000000 1.500000 -v -1.500000 0.250000 1.500000 -v -1.500000 0.000000 -1.500000 -v -1.500000 0.250000 -1.500000 -v 1.500000 0.000000 1.500000 -v 1.500000 0.250000 1.500000 -v 1.500000 0.000000 -1.500000 -v 1.500000 0.250000 -1.500000 -v -1.250000 0.500000 1.250000 -v -1.250000 0.500000 -1.250000 -v 1.250000 0.500000 -1.250000 -v 1.250000 0.500000 1.250000 -v -1.250000 0.500000 0.000000 -v 0.000000 0.500000 -1.250000 -v 1.250000 0.500000 0.000000 -v 0.000000 0.500000 1.250000 -v 0.000000 0.500000 0.000000 -v 1.250000 0.750000 0.000000 -v 1.250000 0.750000 1.250000 -v 0.000000 0.750000 1.250000 -v 0.000000 0.750000 0.000000 -v 0.625000 0.750000 0.025000 -v 0.625000 2.750000 0.025000 -v 0.925000 0.750000 0.105385 -v 0.925000 2.750000 0.105385 -v 1.144615 0.750000 0.325000 -v 1.144615 2.750000 0.325000 -v 1.225000 0.750000 0.625000 -v 1.225000 2.750000 0.625000 -v 1.144615 0.750000 0.925000 -v 1.144615 2.750000 0.925000 -v 0.925000 0.750000 1.144615 -v 0.925000 2.750000 1.144615 -v 0.625000 0.750000 1.225000 -v 0.625000 2.750000 1.225000 -v 0.325000 0.750000 1.144615 -v 0.325000 2.750000 1.144615 -v 0.105385 0.750000 0.925000 -v 0.105385 2.750000 0.925000 -v 0.025000 0.750000 0.625000 -v 0.025000 2.750000 0.625000 -v 0.105385 0.750000 0.325000 -v 0.105385 2.750000 0.325000 -v 0.325000 0.750000 0.105385 -v 0.325000 2.750000 0.105385 -v 1.250000 0.750000 0.625000 -v 0.625000 0.750000 0.000000 -v 0.000000 0.750000 0.625000 -v 0.625000 0.750000 1.250000 -v 0.125000 0.500000 -1.125000 -v 1.125000 0.500000 -1.125000 -v 1.125000 0.500000 -0.125000 -v 0.125000 0.500000 -0.125000 -v -1.125000 0.500000 -0.125000 -v -1.125000 0.500000 -1.125000 -v -0.125000 0.500000 -1.125000 -v -0.125000 0.500000 -0.125000 -v 0.125000 0.650000 -1.125000 -v 1.125000 0.650000 -1.125000 -v 1.125000 0.650000 -0.125000 -v 0.125000 0.650000 -0.125000 -v 0.225000 0.650000 -1.025000 -v 1.025000 0.650000 -1.025000 -v 1.025000 0.650000 -0.225000 -v 0.225000 0.650000 -0.225000 -v -0.125000 0.650000 -0.125000 -v -0.125000 0.650000 -1.125000 -v -1.125000 0.650000 -1.125000 -v -1.125000 0.650000 -0.125000 -v 0.425000 2.000000 -0.425000 -v 0.825000 2.000000 -0.425000 -v 0.825000 2.000000 -0.825000 -v 0.425000 2.000000 -0.825000 -v 0.225000 1.850000 -1.025000 -v 1.025000 1.850000 -1.025000 -v 1.025000 1.850000 -0.225000 -v 0.225000 1.850000 -0.225000 -v 1.000000 2.750000 -0.024519 -v 0.625000 2.750000 -0.125000 -v 1.274519 2.750000 0.250000 -v 1.375000 2.750000 0.625000 -v 1.274519 2.750000 1.000000 -v 1.000000 2.750000 1.274519 -v 0.625000 2.750000 1.375000 -v 0.250000 2.750000 1.274519 -v -0.024519 2.750000 1.000000 -v -0.125000 2.750000 0.625000 -v -0.024519 2.750000 0.250000 -v 0.250000 2.750000 -0.024519 -v 1.000000 3.000000 -0.024519 -v 0.625000 3.000000 -0.125000 -v 1.274519 3.000000 0.250000 -v 1.375000 3.000000 0.625000 -v 1.274519 3.000000 1.000000 -v 1.000000 3.000000 1.274519 -v 0.625000 3.000000 1.375000 -v 0.250000 3.000000 1.274519 -v -0.024519 3.000000 1.000000 -v -0.125000 3.000000 0.625000 -v -0.024519 3.000000 0.250000 -v 0.250000 3.000000 -0.024519 -v -0.225000 0.650000 -1.025000 -v -0.225000 0.650000 -0.225000 -v -1.025000 0.650000 -0.225000 -v -1.025000 0.650000 -1.025000 -v -0.225000 1.850000 -1.025000 -v -0.225000 1.850000 -0.225000 -v -1.025000 1.850000 -0.225000 -v -1.025000 1.850000 -1.025000 -v -0.425000 2.000000 -0.825000 -v -0.425000 2.000000 -0.425000 -v -0.825000 2.000000 -0.425000 -v -0.825000 2.000000 -0.825000 -v -0.125000 0.500000 0.975000 -v -0.475000 0.500000 0.975000 -v -0.475000 0.500000 0.275000 -v -0.125000 0.500000 0.275000 -v -0.125000 1.250000 0.975000 -v -0.475000 1.250000 0.975000 -v -0.475000 1.250000 0.275000 -v -0.125000 1.250000 0.275000 -v -0.125000 1.500000 0.975000 -v -0.300000 1.500000 0.975000 -v -0.300000 1.500000 0.275000 -v -0.125000 1.500000 0.275000 -v -0.125000 1.500000 0.338636 -v -0.125000 1.500000 0.402273 -v -0.125000 1.500000 0.465909 -v -0.125000 1.500000 0.529545 -v -0.125000 1.500000 0.593182 -v -0.125000 1.500000 0.656818 -v -0.125000 1.500000 0.720455 -v -0.125000 1.500000 0.784091 -v -0.125000 1.500000 0.847727 -v -0.125000 1.500000 0.911364 -v -0.125000 1.650000 0.338636 -v -0.125000 1.650000 0.402273 -v -0.125000 1.650000 0.465909 -v -0.125000 1.650000 0.529545 -v -0.125000 1.650000 0.593182 -v -0.125000 1.650000 0.656818 -v -0.125000 1.650000 0.720455 -v -0.125000 1.650000 0.784091 -v -0.125000 1.650000 0.847727 -v -0.125000 1.650000 0.911364 -v -0.025000 1.750000 0.338636 -v -0.025000 1.750000 0.402273 -v -0.025000 1.750000 0.465909 -v -0.025000 1.750000 0.529545 -v -0.025000 1.750000 0.593182 -v -0.025000 1.750000 0.656818 -v -0.025000 1.750000 0.720455 -v -0.025000 1.750000 0.784091 -v -0.025000 1.750000 0.847727 -v -0.025000 1.750000 0.911364 -v 0.125000 1.750000 0.338636 -v 0.125000 1.750000 0.402273 -v 0.125000 1.750000 0.465909 -v 0.125000 1.750000 0.529545 -v 0.125000 1.750000 0.593182 -v 0.125000 1.750000 0.656818 -v 0.125000 1.750000 0.720455 -v 0.125000 1.750000 0.784091 -v 0.125000 1.750000 0.847727 -v 0.125000 1.750000 0.911364 -v 0.482143 2.771048 -0.425000 -v 0.539286 2.771048 -0.425000 -v 0.596429 2.771048 -0.425000 -v 0.653571 2.771048 -0.425000 -v 0.710714 2.771048 -0.425000 -v 0.767857 2.771048 -0.425000 -v 0.482143 2.000000 -0.425000 -v 0.539286 2.000000 -0.425000 -v 0.596429 2.000000 -0.425000 -v 0.653571 2.000000 -0.425000 -v 0.710714 2.000000 -0.425000 -v 0.767857 2.000000 -0.425000 -v 0.482143 2.871047 -0.075000 -v 0.539286 2.871047 -0.075000 -v 0.596429 2.871047 -0.075000 -v 0.653571 2.871047 -0.075000 -v 0.710714 2.871047 -0.075000 -v 0.767857 2.871047 -0.075000 -v 0.482143 2.871047 -0.325000 -v 0.539286 2.871047 -0.325000 -v 0.596429 2.871047 -0.325000 -v 0.653571 2.871047 -0.325000 -v 0.710714 2.871047 -0.325000 -v 0.767857 2.871047 -0.325000 -v -0.850000 1.200000 -0.250000 -v -0.850000 1.200000 0.350000 -v -0.814645 1.185355 -0.250000 -v -0.814645 1.185355 0.350000 -v -0.800000 1.150000 -0.250000 -v -0.800000 1.150000 0.350000 -v -0.814645 1.114645 -0.250000 -v -0.814645 1.114645 0.350000 -v -0.850000 1.100000 -0.250000 -v -0.850000 1.100000 0.350000 -v -0.885355 1.114645 -0.250000 -v -0.885355 1.114645 0.350000 -v -0.900000 1.150000 -0.250000 -v -0.900000 1.150000 0.350000 -v -0.885355 1.185355 -0.250000 -v -0.885355 1.185355 0.350000 -v -0.750000 1.150000 0.400000 -v -0.450000 1.150000 0.400000 -v -0.750000 1.114645 0.414645 -v -0.450000 1.114645 0.414645 -v -0.750000 1.100000 0.450000 -v -0.450000 1.100000 0.450000 -v -0.750000 1.114645 0.485355 -v -0.450000 1.114645 0.485355 -v -0.750000 1.150000 0.500000 -v -0.450000 1.150000 0.500000 -v -0.750000 1.185355 0.485355 -v -0.450000 1.185355 0.485355 -v -0.750000 1.200000 0.450000 -v -0.450000 1.200000 0.450000 -v -0.750000 1.185355 0.414645 -v -0.450000 1.185355 0.414645 -v -0.850000 1.000000 -0.250000 -v -0.850000 1.000000 0.350000 -v -0.814645 0.985355 -0.250000 -v -0.814645 0.985355 0.350000 -v -0.800000 0.950000 -0.250000 -v -0.800000 0.950000 0.350000 -v -0.814645 0.914645 -0.250000 -v -0.814645 0.914645 0.350000 -v -0.850000 0.900000 -0.250000 -v -0.850000 0.900000 0.350000 -v -0.885355 0.914645 -0.250000 -v -0.885355 0.914645 0.350000 -v -0.900000 0.950000 -0.250000 -v -0.900000 0.950000 0.350000 -v -0.885355 0.985355 -0.250000 -v -0.885355 0.985355 0.350000 -v -0.750000 0.950000 0.400000 -v -0.450000 0.950000 0.400000 -v -0.750000 0.914645 0.414645 -v -0.450000 0.914645 0.414645 -v -0.750000 0.900000 0.450000 -v -0.450000 0.900000 0.450000 -v -0.750000 0.914645 0.485355 -v -0.450000 0.914645 0.485355 -v -0.750000 0.950000 0.500000 -v -0.450000 0.950000 0.500000 -v -0.750000 0.985355 0.485355 -v -0.450000 0.985355 0.485355 -v -0.750000 1.000000 0.450000 -v -0.450000 1.000000 0.450000 -v -0.750000 0.985355 0.414645 -v -0.450000 0.985355 0.414645 -v -0.850000 0.800000 -0.250000 -v -0.850000 0.800000 0.350000 -v -0.814645 0.785355 -0.250000 -v -0.814645 0.785355 0.350000 -v -0.800000 0.750000 -0.250000 -v -0.800000 0.750000 0.350000 -v -0.814645 0.714645 -0.250000 -v -0.814645 0.714645 0.350000 -v -0.850000 0.700000 -0.250000 -v -0.850000 0.700000 0.350000 -v -0.885355 0.714645 -0.250000 -v -0.885355 0.714645 0.350000 -v -0.900000 0.750000 -0.250000 -v -0.900000 0.750000 0.350000 -v -0.885355 0.785355 -0.250000 -v -0.885355 0.785355 0.350000 -v -0.750000 0.750000 0.400000 -v -0.450000 0.750000 0.400000 -v -0.750000 0.714645 0.414645 -v -0.450000 0.714645 0.414645 -v -0.750000 0.700000 0.450000 -v -0.450000 0.700000 0.450000 -v -0.750000 0.714645 0.485355 -v -0.450000 0.714645 0.485355 -v -0.750000 0.750000 0.500000 -v -0.450000 0.750000 0.500000 -v -0.750000 0.785355 0.485355 -v -0.450000 0.785355 0.485355 -v -0.750000 0.800000 0.450000 -v -0.450000 0.800000 0.450000 -v -0.750000 0.785355 0.414645 -v -0.450000 0.785355 0.414645 -v 1.000000 0.250000 -0.250000 -v 1.000000 0.750000 -0.250000 -v 1.000000 0.250000 -0.750000 -v 1.000000 0.750000 -0.750000 -v 2.000000 0.000000 0.000000 -v 2.000000 1.000000 0.000000 -v 2.000000 0.000000 -1.000000 -v 2.000000 1.000000 -1.000000 -v 1.500000 1.000000 -1.000000 -v 1.500000 0.000000 -1.000000 -v 1.500000 1.000000 0.000000 -v 1.500000 0.000000 0.000000 -v 2.000000 0.875000 -0.875000 -v 2.000000 0.125000 -0.875000 -v 2.000000 0.875000 -0.125000 -v 2.000000 0.125000 -0.125000 -v 1.500000 0.687500 -0.687500 -v 1.500000 0.312500 -0.687500 -v 1.500000 0.687500 -0.312500 -v 1.500000 0.312500 -0.312500 -v -1.000000 0.250000 0.750000 -v -1.000000 0.750000 0.750000 -v -1.000000 0.250000 0.250000 -v -1.000000 0.750000 0.250000 -v -2.000000 0.000000 1.000000 -v -2.000000 1.000000 1.000000 -v -2.000000 0.000000 0.000000 -v -2.000000 1.000000 0.000000 -v -1.500000 1.000000 0.000000 -v -1.500000 0.000000 0.000000 -v -1.500000 1.000000 1.000000 -v -1.500000 0.000000 1.000000 -v -2.000000 0.875000 0.125000 -v -2.000000 0.125000 0.125000 -v -2.000000 0.875000 0.875000 -v -2.000000 0.125000 0.875000 -v -1.500000 0.687500 0.312500 -v -1.500000 0.312500 0.312500 -v -1.500000 0.687500 0.687500 -v -1.500000 0.312500 0.687500 -v 0.656250 0.343750 -2.000000 -v 0.656250 0.656250 -2.000000 -v 0.343750 0.343750 -1.150000 -v 0.343750 0.656250 -1.150000 -v 0.343750 0.343750 -2.000000 -v 0.343750 0.656250 -2.000000 -v 0.656250 0.343750 -1.150000 -v 0.656250 0.656250 -1.150000 -v 0.328125 0.671875 -1.150000 -v 0.328125 0.328125 -1.150000 -v 0.671875 0.671875 -1.150000 -v 0.671875 0.328125 -1.150000 -v 0.328125 0.671875 -1.000000 -v 0.328125 0.328125 -1.000000 -v 0.671875 0.671875 -1.000000 -v 0.671875 0.328125 -1.000000 -v -0.343750 0.343750 -2.000000 -v -0.343750 0.656250 -2.000000 -v -0.656250 0.343750 -1.150000 -v -0.656250 0.656250 -1.150000 -v -0.656250 0.343750 -2.000000 -v -0.656250 0.656250 -2.000000 -v -0.343750 0.343750 -1.150000 -v -0.343750 0.656250 -1.150000 -v -0.671875 0.671875 -1.150000 -v -0.671875 0.328125 -1.150000 -v -0.328125 0.671875 -1.150000 -v -0.328125 0.328125 -1.150000 -v -0.671875 0.671875 -1.000000 -v -0.671875 0.328125 -1.000000 -v -0.328125 0.671875 -1.000000 -v -0.328125 0.328125 -1.000000 -v -0.343750 0.343750 2.000000 -v -0.343750 0.656250 2.000000 -v -0.656250 0.343750 1.150000 -v -0.656250 0.656250 1.150000 -v -0.656250 0.343750 2.000000 -v -0.656250 0.656250 2.000000 -v -0.343750 0.343750 1.150000 -v -0.343750 0.656250 1.150000 -v -0.671875 0.671875 1.150000 -v -0.671875 0.328125 1.150000 -v -0.328125 0.671875 1.150000 -v -0.328125 0.328125 1.150000 -v -0.671875 0.671875 1.000000 -v -0.671875 0.328125 1.000000 -v -0.328125 0.671875 1.000000 -v -0.328125 0.328125 1.000000 -v 0.656250 0.343750 2.000000 -v 0.656250 0.656250 2.000000 -v 0.343750 0.343750 1.150000 -v 0.343750 0.656250 1.150000 -v 0.343750 0.343750 2.000000 -v 0.343750 0.656250 2.000000 -v 0.656250 0.343750 1.150000 -v 0.656250 0.656250 1.150000 -v 0.328125 0.671875 1.150000 -v 0.328125 0.328125 1.150000 -v 0.671875 0.671875 1.150000 -v 0.671875 0.328125 1.150000 -v 0.328125 0.671875 1.000000 -v 0.328125 0.328125 1.000000 -v 0.671875 0.671875 1.000000 -v 0.671875 0.328125 1.000000 -v 1.916667 0.250000 -1.100000 -v 1.916667 0.750000 -1.100000 -v 1.666667 0.500000 -1.100000 -v 1.916667 0.250000 0.100000 -v 1.916667 0.750000 0.100000 -v 1.666667 0.500000 0.100000 -v -1.583333 0.250000 -0.100000 -v -1.583333 0.750000 -0.100000 -v -1.833333 0.500000 -0.100000 -v -1.583333 0.250000 1.100000 -v -1.583333 0.750000 1.100000 -v -1.833333 0.500000 1.100000 -v 0.425000 2.000000 -0.767857 -v 0.425000 2.000000 -0.710714 -v 0.425000 2.000000 -0.653571 -v 0.425000 2.000000 -0.596429 -v 0.425000 2.000000 -0.539286 -v 0.425000 2.000000 -0.482143 -v -0.425000 2.000000 -0.767857 -v -0.425000 2.000000 -0.710714 -v -0.425000 2.000000 -0.653571 -v -0.425000 2.000000 -0.596429 -v -0.425000 2.000000 -0.539286 -v -0.425000 2.000000 -0.482143 -v 0.325000 2.121195 -0.749805 -v 0.325000 2.121195 -0.692662 -v 0.325000 2.121195 -0.635520 -v 0.325000 2.121195 -0.578377 -v 0.325000 2.121195 -0.521234 -v 0.325000 2.121195 -0.464091 -v -0.325000 2.100000 -0.767857 -v -0.325000 2.100000 -0.710714 -v -0.325000 2.100000 -0.653571 -v -0.325000 2.100000 -0.596429 -v -0.325000 2.100000 -0.539286 -v -0.325000 2.100000 -0.482143 -vt 0.490762 0.926709 -vt 0.490762 0.946350 -vt 0.255070 0.946350 -vt 0.985607 0.945886 -vt 0.985607 0.965527 -vt 0.749916 0.965527 -vt 0.757849 0.713691 -vt 0.757849 0.694050 -vt 0.993541 0.694050 -vt 0.597494 0.251404 -vt 0.597495 0.231763 -vt 0.833186 0.231763 -vt 0.006459 0.317921 -vt 0.242151 0.317921 -vt 0.242151 0.553613 -vt 0.833186 0.251404 -vt 0.715341 0.279181 -vt 0.006459 0.762941 -vt 0.016280 0.753121 -vt 0.094844 0.753121 -vt 0.749916 0.945886 -vt 0.867761 0.918110 -vt 0.993541 0.713691 -vt 0.875695 0.741468 -vt 0.255070 0.926709 -vt 0.372916 0.898933 -vt 0.104664 0.566532 -vt 0.094844 0.588137 -vt 0.067346 0.588137 -vt 0.895627 0.431077 -vt 0.875987 0.381974 -vt 0.895627 0.332872 -vt 0.104664 0.762941 -vt 0.114485 0.753121 -vt 0.193049 0.753121 -vt 0.758141 0.332872 -vt 0.777782 0.381974 -vt 0.758141 0.431077 -vt 0.875987 0.313231 -vt 0.826884 0.332872 -vt 0.777782 0.313231 -vt 0.777782 0.450718 -vt 0.826884 0.431077 -vt 0.875987 0.450718 -vt 0.547877 0.688960 -vt 0.523477 0.688960 -vt 0.523476 0.531833 -vt 0.499076 0.688960 -vt 0.499076 0.531833 -vt 0.474675 0.688961 -vt 0.474675 0.531833 -vt 0.450275 0.688961 -vt 0.450275 0.531833 -vt 0.425874 0.688961 -vt 0.425874 0.531833 -vt 0.401474 0.688961 -vt 0.401473 0.531833 -vt 0.377073 0.688961 -vt 0.377073 0.531833 -vt 0.352672 0.688961 -vt 0.352672 0.531833 -vt 0.328272 0.688961 -vt 0.328272 0.531833 -vt 0.303871 0.688961 -vt 0.303871 0.531833 -vt 0.578087 0.897548 -vt 0.583979 0.887342 -vt 0.605547 0.908909 -vt 0.279471 0.688961 -vt 0.255070 0.688961 -vt 0.255070 0.531833 -vt 0.279471 0.531833 -vt 0.777782 0.431077 -vt 0.803315 0.422797 -vt 0.826884 0.429113 -vt 0.850453 0.422797 -vt 0.867707 0.405544 -vt 0.875987 0.431077 -vt 0.867707 0.358405 -vt 0.875987 0.332872 -vt 0.850453 0.341151 -vt 0.803315 0.341151 -vt 0.777782 0.332872 -vt 0.786061 0.405544 -vt 0.779746 0.381974 -vt 0.786061 0.358405 -vt 0.116449 0.305002 -vt 0.116449 0.293218 -vt 0.195013 0.293218 -vt 0.202869 0.762941 -vt 0.193049 0.674557 -vt 0.104664 0.664736 -vt 0.114485 0.674557 -vt 0.202869 0.664736 -vt 0.373474 0.006460 -vt 0.381807 0.014793 -vt 0.326254 0.070346 -vt 0.094844 0.674557 -vt 0.016280 0.674557 -vt 0.006459 0.664736 -vt 0.293218 0.195013 -vt 0.285361 0.187156 -vt 0.285361 0.124305 -vt 0.195013 0.006459 -vt 0.195013 0.018244 -vt 0.116449 0.018244 -vt 0.305002 0.195013 -vt 0.293218 0.116449 -vt 0.006459 0.116449 -vt 0.018244 0.116449 -vt 0.018244 0.195013 -vt 0.124305 0.285361 -vt 0.124305 0.191085 -vt 0.187156 0.191085 -vt 0.026100 0.124305 -vt 0.026100 0.187156 -vt 0.187156 0.285361 -vt 0.187156 0.026100 -vt 0.124305 0.026100 -vt 0.529023 0.273114 -vt 0.520690 0.264781 -vt 0.576243 0.209228 -vt 0.584576 0.062012 -vt 0.576243 0.070345 -vt 0.520690 0.014792 -vt 0.317921 0.217561 -vt 0.326254 0.209228 -vt 0.381807 0.264781 -vt 0.337365 0.209228 -vt 0.381807 0.253671 -vt 0.120377 0.124305 -vt 0.140018 0.140018 -vt 0.140018 0.171444 -vt 0.191084 0.187156 -vt 0.171444 0.171444 -vt 0.171444 0.140018 -vt 0.187156 0.120377 -vt 0.124305 0.120377 -vt 0.191084 0.124305 -vt 0.120377 0.187156 -vt 0.473470 0.139787 -vt 0.451248 0.117566 -vt 0.454026 0.092567 -vt 0.683441 0.773992 -vt 0.678358 0.792964 -vt 0.648896 0.785069 -vt 0.560796 0.854968 -vt 0.571002 0.849076 -vt 0.578896 0.878537 -vt 0.567111 0.809447 -vt 0.578896 0.809447 -vt 0.571002 0.838909 -vt 0.595341 0.773183 -vt 0.605547 0.779075 -vt 0.583979 0.800643 -vt 0.637921 0.755892 -vt 0.643813 0.766098 -vt 0.614351 0.773992 -vt 0.683441 0.762207 -vt 0.653980 0.766098 -vt 0.702452 0.914802 -vt 0.692246 0.908909 -vt 0.713813 0.887342 -vt 0.730681 0.878537 -vt 0.718897 0.878537 -vt 0.726791 0.849076 -vt 0.719706 0.790437 -vt 0.713813 0.800643 -vt 0.692246 0.779075 -vt 0.683441 0.925777 -vt 0.659872 0.932093 -vt 0.653980 0.921887 -vt 0.736997 0.833017 -vt 0.726791 0.838909 -vt 0.718897 0.809448 -vt 0.614351 0.925777 -vt 0.614351 0.913993 -vt 0.643813 0.921887 -vt 0.597868 0.873454 -vt 0.597868 0.814531 -vt 0.699925 0.814531 -vt 0.648896 0.902915 -vt 0.678358 0.895021 -vt 0.699925 0.873454 -vt 0.707819 0.843992 -vt 0.589973 0.843992 -vt 0.619435 0.792964 -vt 0.619435 0.895021 -vt 0.404028 0.142564 -vt 0.448471 0.187007 -vt 0.381807 0.025903 -vt 0.337365 0.070346 -vt 0.520690 0.253670 -vt 0.565132 0.209228 -vt 0.565132 0.070345 -vt 0.520690 0.025903 -vt 0.454026 0.187007 -vt 0.451248 0.162008 -vt 0.448471 0.092567 -vt 0.404028 0.137009 -vt 0.498468 0.142564 -vt 0.498468 0.137009 -vt 0.429027 0.139787 -vt 0.772654 0.139975 -vt 0.713797 0.139968 -vt 0.713803 0.085034 -vt 0.094844 0.643131 -vt 0.067346 0.643131 -vt 0.006459 0.566532 -vt 0.694377 0.159597 -vt 0.666844 0.159844 -vt 0.680434 0.140054 -vt 0.597494 0.085032 -vt 0.656447 0.085032 -vt 0.656447 0.140054 -vt 0.667374 0.218844 -vt 0.694185 0.006460 -vt 0.694184 0.065389 -vt 0.666684 0.065389 -vt 0.694193 0.115020 -vt 0.694197 0.120017 -vt 0.694184 0.085032 -vt 0.680434 0.085032 -vt 0.597494 0.297099 -vt 0.597494 0.292100 -vt 0.609279 0.292100 -vt 0.620390 0.292100 -vt 0.620390 0.297099 -vt 0.609279 0.297099 -vt 0.645093 0.297099 -vt 0.645093 0.292100 -vt 0.656878 0.292100 -vt 0.233196 0.730162 -vt 0.233196 0.718377 -vt 0.238196 0.718377 -vt 0.188875 0.787645 -vt 0.188875 0.775860 -vt 0.193875 0.775860 -vt 0.233196 0.682563 -vt 0.233196 0.670778 -vt 0.238196 0.670778 -vt 0.238196 0.693674 -vt 0.233196 0.693673 -vt 0.193875 0.798755 -vt 0.188875 0.798755 -vt 0.238196 0.741272 -vt 0.233196 0.741272 -vt 0.667988 0.292100 -vt 0.667988 0.297099 -vt 0.656878 0.297099 -vt 0.632174 0.292100 -vt 0.632174 0.297099 -vt 0.679773 0.292100 -vt 0.679773 0.297099 -vt 0.238196 0.753057 -vt 0.233196 0.753057 -vt 0.193875 0.810540 -vt 0.188875 0.810540 -vt 0.238196 0.705458 -vt 0.233196 0.705458 -vt 0.220277 0.762106 -vt 0.215788 0.762106 -vt 0.215788 0.742465 -vt 0.237686 0.657860 -vt 0.233196 0.657860 -vt 0.233196 0.638219 -vt 0.220277 0.657860 -vt 0.215788 0.657860 -vt 0.215788 0.638219 -vt 0.215788 0.627108 -vt 0.215788 0.566532 -vt 0.220277 0.566532 -vt 0.233196 0.627108 -vt 0.233196 0.566532 -vt 0.237686 0.566532 -vt 0.215788 0.731355 -vt 0.215788 0.670778 -vt 0.220277 0.670778 -vt 0.220277 0.742465 -vt 0.237686 0.638219 -vt 0.220277 0.638219 -vt 0.814270 0.481676 -vt 0.814270 0.484682 -vt 0.790701 0.484682 -vt 0.452123 0.725932 -vt 0.452123 0.722925 -vt 0.499261 0.722925 -vt 0.231300 0.817551 -vt 0.234194 0.816738 -vt 0.234194 0.823920 -vt 0.218064 0.827849 -vt 0.218064 0.812810 -vt 0.220959 0.811996 -vt 0.452123 0.719919 -vt 0.499261 0.719919 -vt 0.236470 0.814774 -vt 0.236470 0.825884 -vt 0.814270 0.472656 -vt 0.814270 0.475663 -vt 0.790701 0.475663 -vt 0.452123 0.716912 -vt 0.499261 0.716912 -vt 0.814270 0.478669 -vt 0.790701 0.481676 -vt 0.452123 0.713906 -vt 0.499261 0.713906 -vt 0.452123 0.710899 -vt 0.499261 0.710899 -vt 0.215788 0.825884 -vt 0.215788 0.814774 -vt 0.814270 0.469650 -vt 0.790701 0.472656 -vt 0.452123 0.707893 -vt 0.499261 0.707893 -vt 0.223853 0.812810 -vt 0.223853 0.827849 -vt 0.220959 0.828662 -vt 0.452123 0.704886 -vt 0.452123 0.701880 -vt 0.499261 0.701880 -vt 0.499261 0.704886 -vt 0.790701 0.478669 -vt 0.814270 0.487689 -vt 0.790701 0.487689 -vt 0.814270 0.466643 -vt 0.790701 0.469650 -vt 0.231300 0.823107 -vt 0.228405 0.823920 -vt 0.814270 0.463637 -vt 0.790701 0.466643 -vt 0.226129 0.814774 -vt 0.228405 0.816738 -vt 0.226129 0.825884 -vt 0.175956 0.793899 -vt 0.175956 0.796906 -vt 0.152387 0.796906 -vt 0.452123 0.762903 -vt 0.452123 0.759896 -vt 0.499261 0.759896 -vt 0.523291 0.821793 -vt 0.524104 0.824687 -vt 0.516922 0.824687 -vt 0.512994 0.808558 -vt 0.528032 0.808558 -vt 0.528846 0.811452 -vt 0.452123 0.756890 -vt 0.499261 0.756890 -vt 0.526068 0.826964 -vt 0.514958 0.826964 -vt 0.175956 0.784880 -vt 0.175956 0.787886 -vt 0.152387 0.787886 -vt 0.452123 0.753883 -vt 0.499261 0.753883 -vt 0.175956 0.790893 -vt 0.152387 0.793899 -vt 0.452123 0.750877 -vt 0.499261 0.750877 -vt 0.452123 0.747870 -vt 0.499261 0.747870 -vt 0.514958 0.806281 -vt 0.526068 0.806281 -vt 0.175956 0.781873 -vt 0.152387 0.784880 -vt 0.452123 0.744864 -vt 0.499261 0.744864 -vt 0.528032 0.814346 -vt 0.512994 0.814346 -vt 0.512180 0.811452 -vt 0.452123 0.741857 -vt 0.452123 0.738851 -vt 0.499261 0.738851 -vt 0.499261 0.741857 -vt 0.152387 0.790893 -vt 0.175956 0.799912 -vt 0.152387 0.799912 -vt 0.175956 0.778867 -vt 0.152387 0.781873 -vt 0.517735 0.821793 -vt 0.516922 0.818899 -vt 0.175956 0.775860 -vt 0.152387 0.778867 -vt 0.514958 0.816622 -vt 0.524104 0.818899 -vt 0.239357 0.793064 -vt 0.239357 0.796071 -vt 0.215788 0.796071 -vt 0.452123 0.799874 -vt 0.452123 0.796867 -vt 0.499261 0.796867 -vt 0.806212 0.506163 -vt 0.809107 0.505349 -vt 0.809107 0.512532 -vt 0.792977 0.516460 -vt 0.792977 0.501421 -vt 0.795871 0.500608 -vt 0.452123 0.793861 -vt 0.499261 0.793861 -vt 0.811383 0.503385 -vt 0.811383 0.514496 -vt 0.239357 0.784045 -vt 0.239357 0.787051 -vt 0.215788 0.787051 -vt 0.452123 0.790854 -vt 0.499261 0.790854 -vt 0.239357 0.790058 -vt 0.215788 0.793064 -vt 0.452123 0.787848 -vt 0.499261 0.787848 -vt 0.452123 0.784841 -vt 0.499261 0.784841 -vt 0.790701 0.514496 -vt 0.790701 0.503385 -vt 0.239357 0.781038 -vt 0.215788 0.784045 -vt 0.452123 0.781835 -vt 0.499261 0.781835 -vt 0.798766 0.501421 -vt 0.798766 0.516460 -vt 0.452123 0.778828 -vt 0.452123 0.775822 -vt 0.499261 0.775822 -vt 0.499261 0.778828 -vt 0.215788 0.790058 -vt 0.239357 0.799077 -vt 0.215788 0.799077 -vt 0.239357 0.778032 -vt 0.215788 0.781038 -vt 0.806212 0.511718 -vt 0.803318 0.512532 -vt 0.215788 0.775025 -vt 0.239357 0.775025 -vt 0.801042 0.514496 -vt 0.801042 0.503385 -vt 0.803318 0.505349 -vt 0.438896 0.418417 -vt 0.411119 0.446194 -vt 0.383343 0.418417 -vt 0.511616 0.463361 -vt 0.456063 0.518914 -vt 0.428286 0.491137 -vt 0.891366 0.006459 -vt 0.881546 0.016280 -vt 0.822623 0.016280 -vt 0.411119 0.390641 -vt 0.338399 0.401251 -vt 0.282846 0.456804 -vt 0.255070 0.429027 -vt 0.310623 0.373474 -vt 0.483839 0.401251 -vt 0.511616 0.373474 -vt 0.428286 0.345698 -vt 0.393952 0.345698 -vt 0.483839 0.435584 -vt 0.795400 0.043502 -vt 0.837353 0.058233 -vt 0.837353 0.087694 -vt 0.812802 0.139468 -vt 0.822623 0.129648 -vt 0.881545 0.129648 -vt 0.918588 0.112246 -vt 0.908768 0.102425 -vt 0.908768 0.043502 -vt 0.785580 0.033682 -vt 0.795400 0.102425 -vt 0.866815 0.058233 -vt 0.866815 0.087695 -vt 0.647017 0.396432 -vt 0.647017 0.435713 -vt 0.607735 0.435713 -vt 0.666658 0.479632 -vt 0.666658 0.518914 -vt 0.588094 0.518914 -vt 0.043502 0.899048 -vt 0.102425 0.899048 -vt 0.112246 0.908869 -vt 0.666658 0.352513 -vt 0.607735 0.396432 -vt 0.745222 0.518914 -vt 0.563817 0.455354 -vt 0.563817 0.376790 -vt 0.524535 0.455354 -vt 0.666658 0.313231 -vt 0.588094 0.352513 -vt 0.588094 0.479632 -vt 0.058233 0.827634 -vt 0.058233 0.857095 -vt 0.016280 0.871826 -vt 0.102425 0.785681 -vt 0.043502 0.785681 -vt 0.033682 0.775860 -vt 0.129648 0.871826 -vt 0.129648 0.812903 -vt 0.139468 0.803083 -vt 0.016280 0.812903 -vt 0.006459 0.881646 -vt 0.087695 0.857095 -vt 0.087695 0.827634 -vt 0.785278 0.541902 -vt 0.832498 0.589122 -vt 0.815138 0.606482 -vt 0.879718 0.541902 -vt 0.879718 0.540166 -vt 0.898815 0.559262 -vt 0.879718 0.671063 -vt 0.832498 0.623843 -vt 0.849859 0.606482 -vt 0.767918 0.653702 -vt 0.897079 0.559262 -vt 0.888051 0.531833 -vt 0.907148 0.550929 -vt 0.785278 0.671063 -vt 0.785278 0.672799 -vt 0.766182 0.653702 -vt 0.897079 0.653702 -vt 0.898815 0.653702 -vt 0.879718 0.672799 -vt 0.767918 0.559262 -vt 0.766182 0.559262 -vt 0.785278 0.540166 -vt 0.416499 0.290522 -vt 0.416499 0.286033 -vt 0.405388 0.286033 -vt 0.776945 0.681132 -vt 0.757849 0.662035 -vt 0.757849 0.550929 -vt 0.776945 0.531833 -vt 0.907148 0.662035 -vt 0.888051 0.681132 -vt 0.759985 0.877761 -vt 0.807205 0.830541 -vt 0.824565 0.847902 -vt 0.759985 0.783321 -vt 0.758249 0.783321 -vt 0.777345 0.764225 -vt 0.889145 0.783321 -vt 0.841925 0.830541 -vt 0.824565 0.813181 -vt 0.871785 0.895122 -vt 0.777345 0.765961 -vt 0.749916 0.774988 -vt 0.769012 0.755892 -vt 0.889145 0.877761 -vt 0.890881 0.877761 -vt 0.871785 0.896858 -vt 0.871785 0.765961 -vt 0.871785 0.764225 -vt 0.890881 0.783321 -vt 0.777345 0.895122 -vt 0.777345 0.896858 -vt 0.758249 0.877761 -vt 0.503967 0.290522 -vt 0.503967 0.286033 -vt 0.492856 0.286033 -vt 0.899214 0.886094 -vt 0.880118 0.905191 -vt 0.769012 0.905191 -vt 0.749916 0.886094 -vt 0.880118 0.755892 -vt 0.899214 0.774988 -vt 0.640587 0.638631 -vt 0.640587 0.663182 -vt 0.573808 0.663182 -vt 0.666366 0.731188 -vt 0.639360 0.731188 -vt 0.640587 0.729961 -vt 0.665139 0.663182 -vt 0.665139 0.638630 -vt 0.731918 0.638630 -vt 0.640587 0.571851 -vt 0.665139 0.729961 -vt 0.666366 0.742973 -vt 0.639360 0.742973 -vt 0.639360 0.570624 -vt 0.666366 0.570624 -vt 0.665138 0.571851 -vt 0.733145 0.637403 -vt 0.733145 0.664409 -vt 0.731918 0.663182 -vt 0.572580 0.664409 -vt 0.572580 0.637403 -vt 0.573808 0.638631 -vt 0.639360 0.558839 -vt 0.639360 0.531833 -vt 0.666366 0.531833 -vt 0.666366 0.558839 -vt 0.560796 0.664409 -vt 0.560796 0.637403 -vt 0.744930 0.637403 -vt 0.744930 0.664409 -vt 0.334861 0.781671 -vt 0.334861 0.806222 -vt 0.268082 0.806222 -vt 0.360640 0.874229 -vt 0.333634 0.874229 -vt 0.334861 0.873001 -vt 0.359413 0.806222 -vt 0.359413 0.781671 -vt 0.426192 0.781671 -vt 0.334861 0.714892 -vt 0.359413 0.873001 -vt 0.360640 0.886014 -vt 0.333634 0.886014 -vt 0.333634 0.713664 -vt 0.360640 0.713664 -vt 0.359413 0.714892 -vt 0.427419 0.780443 -vt 0.427419 0.807450 -vt 0.426192 0.806222 -vt 0.266854 0.807450 -vt 0.266854 0.780443 -vt 0.268082 0.781671 -vt 0.329032 0.290522 -vt 0.329032 0.286033 -vt 0.317921 0.286033 -vt 0.333634 0.701880 -vt 0.360640 0.701880 -vt 0.255070 0.807450 -vt 0.255070 0.780443 -vt 0.439204 0.780443 -vt 0.439204 0.807450 -vt 0.785580 0.191669 -vt 0.785580 0.152387 -vt 0.805221 0.172028 -vt 0.777782 0.502919 -vt 0.758141 0.483278 -vt 0.777782 0.463637 -vt 0.512180 0.741161 -vt 0.512180 0.701880 -vt 0.531821 0.721520 -vt 0.531821 0.793362 -vt 0.512180 0.773721 -vt 0.531821 0.754080 -vt 0.467593 0.287451 -vt 0.555060 0.287451 -vt 0.380125 0.287451 -vt 0.392470 0.286033 -vt 0.392470 0.290522 -vt 0.567405 0.286033 -vt 0.567405 0.290522 -vt 0.479937 0.286033 -vt 0.479937 0.290522 -vt 0.006459 0.553613 -vt 0.617135 0.279181 -vt 0.813545 0.279181 -vt 0.965966 0.918110 -vt 0.769557 0.918110 -vt 0.777490 0.741468 -vt 0.973900 0.741468 -vt 0.471121 0.898933 -vt 0.274711 0.898933 -vt 0.547877 0.531833 -vt 0.595341 0.914802 -vt 0.874022 0.381975 -vt 0.826884 0.334836 -vt 0.195013 0.305002 -vt 0.317921 0.062013 -vt 0.116449 0.006459 -vt 0.305002 0.116449 -vt 0.006459 0.195013 -vt 0.584576 0.217561 -vt 0.529022 0.006459 -vt 0.373474 0.273114 -vt 0.567111 0.878537 -vt 0.560796 0.833017 -vt 0.578087 0.790437 -vt 0.614351 0.762207 -vt 0.659872 0.755892 -vt 0.719706 0.897548 -vt 0.736997 0.854968 -vt 0.702452 0.773183 -vt 0.683441 0.913993 -vt 0.730681 0.809448 -vt 0.637920 0.932093 -vt 0.772661 0.085041 -vt 0.694200 0.139930 -vt 0.597494 0.140054 -vt 0.694907 0.218597 -vt 0.666684 0.006459 -vt 0.694184 0.090030 -vt 0.694185 0.095029 -vt 0.694186 0.100027 -vt 0.694188 0.105025 -vt 0.694190 0.110023 -vt 0.694202 0.125013 -vt 0.694078 0.130204 -vt 0.694150 0.133627 -vt 0.238196 0.730162 -vt 0.193875 0.787645 -vt 0.238196 0.682563 -vt 0.220277 0.627108 -vt 0.237686 0.627108 -vt 0.220277 0.731355 -vt 0.499261 0.725932 -vt 0.790701 0.463637 -vt 0.499261 0.762903 -vt 0.152387 0.775860 -vt 0.526068 0.816622 -vt 0.499261 0.799874 -vt 0.795871 0.517274 -vt 0.215788 0.778032 -vt 0.812802 0.006459 -vt 0.456063 0.317921 -vt 0.366176 0.317921 -vt 0.891366 0.139468 -vt 0.918588 0.033682 -vt 0.785580 0.112246 -vt 0.033682 0.908869 -vt 0.745222 0.479632 -vt 0.524535 0.376790 -vt 0.588094 0.313231 -vt 0.112246 0.775860 -vt 0.139468 0.881646 -vt 0.006459 0.803082 -vt 0.405388 0.290522 -vt 0.492856 0.290522 -vt 0.317921 0.290522 -vt 0.467593 0.291941 -vt 0.555060 0.291941 -vt 0.380125 0.291941 -vn -1.000000 0.000000 0.000000 -vn 0.000000 0.000000 -1.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 0.000000 1.000000 -vn 0.000000 -1.000000 0.000000 -vn 0.000000 0.707100 0.707100 -vn 0.000000 1.000000 0.000000 -vn 0.000000 0.707100 -0.707100 -vn 0.707100 0.707100 0.000000 -vn -0.707100 0.707100 0.000000 -vn 0.258800 0.000000 -0.965900 -vn 0.707100 0.000000 -0.707100 -vn 0.965900 0.000000 -0.258800 -vn 0.965900 0.000000 0.258800 -vn 0.707100 0.000000 0.707100 -vn 0.258800 0.000000 0.965900 -vn -0.258800 0.000000 0.965900 -vn -0.707100 0.000000 0.707100 -vn -0.965900 0.000000 0.258800 -vn -0.965900 0.000000 -0.258800 -vn -0.258800 0.000000 -0.965900 -vn -0.707100 0.000000 -0.707100 -vn 0.600000 0.800000 0.000000 -vn -0.600000 0.800000 0.000000 -vn 0.000000 0.800000 -0.600000 -vn 0.000000 0.800000 0.600000 -vn -0.819200 0.573500 0.000000 -vn 0.000000 0.382700 0.923900 -vn 0.382700 0.923900 0.000000 -vn 0.678600 0.281100 -0.678600 -vn -0.678600 0.281100 0.678600 -vn 0.923900 0.382700 0.000000 -vn 0.357400 0.862900 -0.357400 -vn 0.000000 -0.923900 -0.382700 -vn 0.923900 -0.382700 0.000000 -vn 0.000000 -0.382700 0.923900 -vn 0.382700 -0.923900 0.000000 -vn -0.382700 -0.923900 0.000000 -vn -0.357400 0.862900 0.357400 -vn 0.000000 -0.382700 -0.923900 -vn -0.923900 -0.382700 0.000000 -vn -0.678600 -0.281100 0.678600 -vn -0.382700 0.923900 -0.000000 -vn -0.923900 0.382700 0.000000 -vn 0.000000 -0.923900 0.382700 -vn -0.000000 0.923900 0.382700 -vn 0.000000 0.382700 -0.923900 -vn 0.678600 -0.281100 -0.678600 -vn 0.000000 0.923900 -0.382700 -vn -0.357400 -0.862900 0.357400 -vn 0.357400 -0.862900 -0.357400 -vn -0.447200 0.000000 0.894400 -vn -0.447200 0.894400 0.000000 -vn -0.447200 0.000000 -0.894400 -vn 0.351100 0.000000 -0.936300 -vn 0.351100 0.000000 0.936300 -vn 0.351100 0.936300 0.000000 -vn 0.351100 -0.936300 0.000000 -vn 0.447200 0.000000 0.894400 -vn 0.447200 0.894400 0.000000 -vn 0.447200 0.000000 -0.894400 -vn -0.351100 0.000000 -0.936300 -vn -0.351100 0.000000 0.936300 -vn -0.351100 0.936300 0.000000 -vn -0.351100 -0.936300 0.000000 -vn -0.032600 0.999500 0.000000 -vn -0.771300 -0.636400 0.000000 -s off -f 4/1/1 3/2/1 1/3/1 -f 8/4/2 7/5/2 3/6/2 -f 6/7/3 5/8/3 7/9/3 -f 2/10/4 1/11/4 5/12/4 -f 3/13/5 7/14/5 5/15/5 -f 6/16/6 16/17/6 2/10/6 -f 10/18/7 55/19/7 56/20/7 -f 4/21/8 14/22/8 8/4/8 -f 8/23/9 15/24/9 6/7/9 -f 2/25/10 13/26/10 4/1/10 -f 16/27/7 114/28/7 115/29/7 -f 16/30/1 48/31/1 17/32/1 -f 14/33/7 50/34/7 51/35/7 -f 15/36/3 46/37/3 12/38/3 -f 17/39/2 47/40/2 15/41/2 -f 12/42/4 49/43/4 16/44/4 -f 23/45/11 25/46/11 24/47/11 -f 25/46/12 27/48/12 26/49/12 -f 27/48/13 29/50/13 28/51/13 -f 29/50/14 31/52/14 30/53/14 -f 31/52/15 33/54/15 32/55/15 -f 33/54/16 35/56/16 34/57/16 -f 35/56/17 37/58/17 36/59/17 -f 37/58/18 39/60/18 38/61/18 -f 39/60/19 41/62/19 40/63/19 -f 41/62/20 43/64/20 42/65/20 -f 39/66/5 86/67/5 87/68/5 -f 45/69/21 23/70/21 22/71/21 -f 43/64/22 45/69/22 44/72/22 -f 49/43/7 19/73/7 32/74/7 -f 49/43/7 34/75/7 36/76/7 -f 36/76/7 38/77/7 20/78/7 -f 48/31/7 20/78/7 38/77/7 -f 42/79/7 21/80/7 48/31/7 -f 44/81/7 21/80/7 42/79/7 -f 47/40/7 21/80/7 44/81/7 -f 24/82/7 18/83/7 47/40/7 -f 32/74/7 19/73/7 30/84/7 -f 46/37/7 28/85/7 30/84/7 -f 46/37/7 18/83/7 26/86/7 -f 26/86/7 18/83/7 24/82/7 -f 52/87/4 60/88/4 61/89/4 -f 11/90/7 51/35/7 52/91/7 -f 17/92/7 53/93/7 50/34/7 -f 15/94/7 52/91/7 53/93/7 -f 57/95/4 66/96/4 69/97/4 -f 17/92/7 57/98/7 54/99/7 -f 14/33/7 56/20/7 57/98/7 -f 13/100/7 54/99/7 55/19/7 -f 61/101/7 65/102/7 62/103/7 -f 50/104/2 58/105/2 59/106/2 -f 53/107/1 61/101/1 58/108/1 -f 51/109/3 59/110/3 60/111/3 -f 64/112/4 76/113/4 77/114/4 -f 59/110/7 63/115/7 64/116/7 -f 60/88/7 64/112/7 65/117/7 -f 58/105/7 62/118/7 63/119/7 -f 55/120/2 68/121/2 67/122/2 -f 56/123/3 67/124/3 66/125/3 -f 54/126/1 69/127/1 68/128/1 -f 69/127/7 104/129/7 105/130/7 -f 75/131/23 72/132/23 71/133/23 -f 77/134/24 70/135/24 73/136/24 -f 62/118/2 74/137/2 75/138/2 -f 65/102/1 77/134/1 74/139/1 -f 63/115/3 75/131/3 76/140/3 -f 74/137/25 73/136/25 72/132/25 -f 110/141/23 111/142/23 107/143/23 -f 77/114/26 76/113/26 71/133/26 -f 81/144/14 93/145/14 94/146/14 -f 37/147/5 85/148/5 86/149/5 -f 35/150/5 84/151/5 85/152/5 -f 33/153/5 83/154/5 84/155/5 -f 31/156/5 82/157/5 83/158/5 -f 29/159/5 81/144/5 82/160/5 -f 45/161/5 89/162/5 79/163/5 -f 23/164/5 79/165/5 78/166/5 -f 27/167/5 80/168/5 81/169/5 -f 45/170/5 43/171/5 88/172/5 -f 25/173/5 78/174/5 80/175/5 -f 41/176/5 87/177/5 88/178/5 -f 98/179/7 96/180/7 92/181/7 -f 88/172/22 100/182/22 101/183/22 -f 79/165/11 91/184/11 90/185/11 -f 85/148/18 97/186/18 98/179/18 -f 82/157/15 94/146/15 95/187/15 -f 89/162/21 101/183/21 91/184/21 -f 78/174/12 90/185/12 92/181/12 -f 86/67/19 98/179/19 99/188/19 -f 83/154/16 95/187/16 96/180/16 -f 80/168/13 92/181/13 93/145/13 -f 87/177/20 99/188/20 100/182/20 -f 84/151/17 96/180/17 97/186/17 -f 104/129/1 108/189/1 109/190/1 -f 66/96/7 103/191/7 104/192/7 -f 68/121/7 105/193/7 102/194/7 -f 67/124/7 102/195/7 103/196/7 -f 109/197/25 113/198/25 110/141/25 -f 103/191/4 107/199/4 108/200/4 -f 105/193/2 109/197/2 106/201/2 -f 102/195/3 106/202/3 107/143/3 -f 110/141/7 113/198/7 112/203/7 -f 73/136/7 70/135/7 71/133/7 -f 108/189/24 112/203/24 113/198/24 -f 107/199/26 111/142/26 112/203/26 -f 117/204/3 121/205/3 118/206/3 -f 17/92/7 117/207/7 114/28/7 -f 17/92/7 13/100/7 116/208/7 -f 9/209/7 115/29/7 116/208/7 -f 121/210/2 120/211/2 124/212/2 -f 115/213/1 119/214/1 120/215/1 -f 116/216/2 120/211/2 121/210/2 -f 114/217/4 118/218/4 119/219/4 -f 130/220/7 129/221/7 124/212/7 -f 118/218/4 122/222/4 123/223/4 -f 121/205/3 130/220/3 118/206/3 -f 119/214/27 123/223/27 124/212/27 -f 126/224/1 127/225/1 137/226/1 -f 147/227/10 146/228/10 136/229/10 -f 128/230/1 129/231/1 139/232/1 -f 140/233/1 130/234/1 131/235/1 -f 142/236/1 132/237/1 133/238/1 -f 144/239/1 134/240/1 135/241/1 -f 155/242/10 154/243/10 144/239/10 -f 153/244/10 152/245/10 142/236/10 -f 151/246/10 150/247/10 140/233/10 -f 149/248/10 148/249/10 138/250/10 -f 157/251/7 156/252/7 146/228/7 -f 159/253/7 158/254/7 148/249/7 -f 161/255/7 160/256/7 150/247/7 -f 163/257/7 162/258/7 152/245/7 -f 165/259/7 164/260/7 154/243/7 -f 182/261/7 183/262/7 189/263/7 -f 180/264/7 181/265/7 187/266/7 -f 178/267/7 179/268/7 185/269/7 -f 167/270/2 173/271/2 172/272/2 -f 169/273/2 175/274/2 174/275/2 -f 171/276/2 177/277/2 176/278/2 -f 188/279/8 189/263/8 171/276/8 -f 186/280/8 187/266/8 169/273/8 -f 184/281/8 185/269/8 167/270/8 -f 215/282/28 217/283/28 216/284/28 -f 191/285/29 193/286/29 192/287/29 -f 195/288/30 193/289/30 220/290/30 -f 216/291/31 205/292/31 203/293/31 -f 193/286/32 195/294/32 194/295/32 -f 191/296/33 218/297/33 220/290/33 -f 209/298/34 211/299/34 210/300/34 -f 195/294/35 197/301/35 196/302/35 -f 213/303/36 215/282/36 214/304/36 -f 197/301/37 199/305/37 198/306/37 -f 199/305/38 201/307/38 200/308/38 -f 218/309/39 191/310/39 205/292/39 -f 207/311/40 209/298/40 208/312/40 -f 201/307/41 203/313/41 202/314/41 -f 201/315/42 212/316/42 214/317/42 -f 205/318/43 191/319/43 190/320/43 -f 203/313/44 205/318/44 204/321/44 -f 211/299/45 213/303/45 212/322/45 -f 217/283/46 219/323/46 218/324/46 -f 221/325/47 207/311/47 206/326/47 -f 195/288/48 206/327/48 208/328/48 -f 219/329/49 221/325/49 220/330/49 -f 212/316/50 201/315/50 199/331/50 -f 197/332/51 208/328/51 210/333/51 -f 247/334/28 249/335/28 248/336/28 -f 223/337/29 225/338/29 224/339/29 -f 227/340/30 225/341/30 252/342/30 -f 248/343/31 237/344/31 235/345/31 -f 225/338/32 227/346/32 226/347/32 -f 223/348/33 250/349/33 252/342/33 -f 241/350/34 243/351/34 242/352/34 -f 227/346/35 229/353/35 228/354/35 -f 245/355/36 247/334/36 246/356/36 -f 229/353/37 231/357/37 230/358/37 -f 231/357/38 233/359/38 232/360/38 -f 250/361/39 223/362/39 237/344/39 -f 239/363/40 241/350/40 240/364/40 -f 233/359/41 235/365/41 234/366/41 -f 233/367/42 244/368/42 246/369/42 -f 237/370/43 223/371/43 222/372/43 -f 235/365/44 237/370/44 236/373/44 -f 243/351/45 245/355/45 244/374/45 -f 249/335/46 251/375/46 250/376/46 -f 253/377/47 239/363/47 238/378/47 -f 227/340/48 238/379/48 240/380/48 -f 251/381/49 253/377/49 252/382/49 -f 242/383/50 244/368/50 233/367/50 -f 229/384/51 240/380/51 242/383/51 -f 279/385/28 281/386/28 280/387/28 -f 255/388/29 257/389/29 256/390/29 -f 259/391/30 257/392/30 284/393/30 -f 280/394/31 269/395/31 267/396/31 -f 257/389/32 259/397/32 258/398/32 -f 255/399/33 282/400/33 284/393/33 -f 273/401/34 275/402/34 274/403/34 -f 259/397/35 261/404/35 260/405/35 -f 277/406/36 279/385/36 278/407/36 -f 261/404/37 263/408/37 262/409/37 -f 263/408/38 265/410/38 264/411/38 -f 282/412/39 255/413/39 269/395/39 -f 271/414/40 273/401/40 272/415/40 -f 265/410/41 267/416/41 266/417/41 -f 267/396/42 265/418/42 276/419/42 -f 269/420/43 255/421/43 254/422/43 -f 267/416/44 269/420/44 268/423/44 -f 275/402/45 277/406/45 276/424/45 -f 281/386/46 283/425/46 282/426/46 -f 285/427/47 271/414/47 270/428/47 -f 259/391/48 270/429/48 272/430/48 -f 282/431/49 283/432/49 285/427/49 -f 274/433/50 276/419/50 265/418/50 -f 263/434/51 261/435/51 272/430/51 -f 289/436/1 288/437/1 286/438/1 -f 293/439/2 292/440/2 295/441/2 -f 292/442/3 299/443/3 301/444/3 -f 287/445/52 286/438/52 297/446/52 -f 295/447/5 292/448/5 290/449/5 -f 294/450/53 289/436/53 287/445/53 -f 293/451/7 294/450/7 296/452/7 -f 296/453/4 297/446/4 290/449/4 -f 294/454/54 295/441/54 288/437/54 -f 301/455/55 305/456/55 304/457/55 -f 291/458/3 300/459/3 298/460/3 -f 293/461/3 298/462/3 299/463/3 -f 290/464/3 301/455/3 300/465/3 -f 304/457/3 305/456/3 303/466/3 -f 298/462/56 302/467/56 303/466/56 -f 299/443/57 303/466/57 305/456/57 -f 300/459/58 304/457/58 302/467/58 -f 306/468/3 308/469/3 309/470/3 -f 315/471/2 312/472/2 313/473/2 -f 321/474/1 319/475/1 312/476/1 -f 317/477/59 306/468/59 307/478/59 -f 310/479/5 312/472/5 315/471/5 -f 307/478/60 309/470/60 314/480/60 -f 316/481/7 314/480/7 313/482/7 -f 310/483/4 317/477/4 316/484/4 -f 308/469/61 315/471/61 314/485/61 -f 324/486/62 325/487/62 321/488/62 -f 318/489/1 320/490/1 311/491/1 -f 319/492/1 318/493/1 313/494/1 -f 320/495/1 321/488/1 310/496/1 -f 323/497/1 325/487/1 324/486/1 -f 323/497/63 322/498/63 318/493/63 -f 325/487/64 323/497/64 319/475/64 -f 322/498/65 324/486/65 320/490/65 -f 332/499/3 326/500/3 327/501/3 -f 332/502/2 337/503/2 335/504/2 -f 329/505/1 331/506/1 330/507/1 -f 333/508/7 327/501/7 331/506/7 -f 328/509/5 330/507/5 326/500/5 -f 327/501/2 326/500/2 330/507/2 -f 337/503/5 341/510/5 339/511/5 -f 329/512/2 334/513/2 336/514/2 -f 328/515/2 335/516/2 334/517/2 -f 333/518/2 336/519/2 337/520/2 -f 421/521/10 420/522/10 408/523/10 -f 334/513/7 338/524/7 340/525/7 -f 336/519/3 340/526/3 341/527/3 -f 335/516/1 339/528/1 338/529/1 -f 348/530/3 342/531/3 343/532/3 -f 348/533/2 353/534/2 351/535/2 -f 345/536/1 347/537/1 346/538/1 -f 349/539/7 343/532/7 347/537/7 -f 344/540/5 346/538/5 342/531/5 -f 343/532/2 342/531/2 346/538/2 -f 353/534/5 357/541/5 355/542/5 -f 345/543/2 350/544/2 352/545/2 -f 344/546/2 351/547/2 350/548/2 -f 349/549/2 352/550/2 353/551/2 -f 423/552/10 422/553/10 410/554/10 -f 350/544/7 354/555/7 356/556/7 -f 352/550/3 356/557/3 357/558/3 -f 351/547/1 355/559/1 354/560/1 -f 359/561/3 358/562/3 364/563/3 -f 367/564/4 369/565/4 364/566/4 -f 362/567/1 363/568/1 361/569/1 -f 363/568/7 359/561/7 365/570/7 -f 358/562/5 362/567/5 360/571/5 -f 362/567/4 358/562/4 359/561/4 -f 371/572/5 373/573/5 369/565/5 -f 368/574/4 366/575/4 361/576/4 -f 366/577/4 367/578/4 360/579/4 -f 369/580/4 368/581/4 365/582/4 -f 372/583/2 373/584/2 371/585/2 -f 372/583/7 370/586/7 366/575/7 -f 373/587/3 372/588/3 368/581/3 -f 370/589/1 371/590/1 367/578/1 -f 375/591/3 374/592/3 380/593/3 -f 383/594/4 385/595/4 380/596/4 -f 378/597/1 379/598/1 377/599/1 -f 379/598/7 375/591/7 381/600/7 -f 374/592/5 378/597/5 376/601/5 -f 378/597/4 374/592/4 375/591/4 -f 387/602/5 389/603/5 385/595/5 -f 384/604/4 382/605/4 377/606/4 -f 382/607/4 383/608/4 376/609/4 -f 385/610/4 384/611/4 381/612/4 -f 425/613/10 424/614/10 412/615/10 -f 388/616/7 386/617/7 382/605/7 -f 389/618/3 388/619/3 384/611/3 -f 386/620/1 387/621/1 383/608/1 -f 391/622/2 390/623/2 392/624/2 -f 394/625/4 395/626/4 393/627/4 -f 397/628/2 396/629/2 398/630/2 -f 400/631/4 401/632/4 399/633/4 -f 414/634/66 420/522/66 421/521/66 -f 416/635/66 422/553/66 423/552/66 -f 418/636/66 424/614/66 425/613/66 -f 418/636/67 406/637/67 407/638/67 -f 416/635/67 404/639/67 405/640/67 -f 414/634/67 402/641/67 403/642/67 -f 2/25/1 4/1/1 1/3/1 -f 4/21/2 8/4/2 3/6/2 -f 8/23/3 6/7/3 7/9/3 -f 6/16/4 2/10/4 5/12/4 -f 1/643/5 3/13/5 5/15/5 -f 9/644/6 2/10/6 16/17/6 -f 6/16/6 12/645/6 16/17/6 -f 14/33/7 10/18/7 56/20/7 -f 11/646/8 8/4/8 14/22/8 -f 4/21/8 10/647/8 14/22/8 -f 12/648/9 6/7/9 15/24/9 -f 8/23/9 11/649/9 15/24/9 -f 10/650/10 4/1/10 13/26/10 -f 2/25/10 9/651/10 13/26/10 -f 9/209/7 16/27/7 115/29/7 -f 21/80/1 17/32/1 48/31/1 -f 16/30/1 20/78/1 48/31/1 -f 11/90/7 14/33/7 51/35/7 -f 19/73/3 12/38/3 46/37/3 -f 15/36/3 18/83/3 46/37/3 -f 18/83/2 15/41/2 47/40/2 -f 17/39/2 21/80/2 47/40/2 -f 20/78/4 16/44/4 49/43/4 -f 12/42/4 19/73/4 49/43/4 -f 22/652/11 23/45/11 24/47/11 -f 24/47/12 25/46/12 26/49/12 -f 26/49/13 27/48/13 28/51/13 -f 28/51/14 29/50/14 30/53/14 -f 30/53/15 31/52/15 32/55/15 -f 32/55/16 33/54/16 34/57/16 -f 34/57/17 35/56/17 36/59/17 -f 36/59/18 37/58/18 38/61/18 -f 38/61/19 39/60/19 40/63/19 -f 40/63/20 41/62/20 42/65/20 -f 41/653/5 39/66/5 87/68/5 -f 44/72/21 45/69/21 22/71/21 -f 42/65/22 43/64/22 44/72/22 -f 34/75/7 49/43/7 32/74/7 -f 20/78/7 49/43/7 36/76/7 -f 40/654/7 48/31/7 38/77/7 -f 40/654/7 42/79/7 48/31/7 -f 22/655/7 47/40/7 44/81/7 -f 22/655/7 24/82/7 47/40/7 -f 19/73/7 46/37/7 30/84/7 -f 28/85/7 46/37/7 26/86/7 -f 53/656/4 52/87/4 61/89/4 -f 15/94/7 11/90/7 52/91/7 -f 14/33/7 17/92/7 50/34/7 -f 17/92/7 15/94/7 53/93/7 -f 54/657/4 57/95/4 69/97/4 -f 13/100/7 17/92/7 54/99/7 -f 17/92/7 14/33/7 57/98/7 -f 10/18/7 13/100/7 55/19/7 -f 58/108/7 61/101/7 62/103/7 -f 51/658/2 50/104/2 59/106/2 -f 50/659/1 53/107/1 58/108/1 -f 52/660/3 51/109/3 60/111/3 -f 65/117/4 64/112/4 77/114/4 -f 60/111/7 59/110/7 64/116/7 -f 61/89/7 60/88/7 65/117/7 -f 59/106/7 58/105/7 63/119/7 -f 56/661/2 55/120/2 67/122/2 -f 57/662/3 56/123/3 66/125/3 -f 55/663/1 54/126/1 68/128/1 -f 68/128/7 69/127/7 105/130/7 -f 76/140/23 75/131/23 71/133/23 -f 74/139/24 77/134/24 73/136/24 -f 63/119/2 62/118/2 75/138/2 -f 62/103/1 65/102/1 74/139/1 -f 64/116/3 63/115/3 76/140/3 -f 75/138/25 74/137/25 72/132/25 -f 106/202/23 110/141/23 107/143/23 -f 70/135/26 77/114/26 71/133/26 -f 82/160/14 81/144/14 94/146/14 -f 39/664/5 37/147/5 86/149/5 -f 37/665/5 35/150/5 85/152/5 -f 35/666/5 33/153/5 84/155/5 -f 33/667/5 31/156/5 83/158/5 -f 31/668/5 29/159/5 82/160/5 -f 23/669/5 45/161/5 79/163/5 -f 25/670/5 23/164/5 78/166/5 -f 29/671/5 27/167/5 81/169/5 -f 89/672/5 45/170/5 88/172/5 -f 27/673/5 25/173/5 80/175/5 -f 43/674/5 41/176/5 88/178/5 -f 92/181/7 90/185/7 100/182/7 -f 91/184/7 101/183/7 100/182/7 -f 100/182/7 99/188/7 98/179/7 -f 98/179/7 97/186/7 96/180/7 -f 96/180/7 95/187/7 94/146/7 -f 94/146/7 93/145/7 92/181/7 -f 90/185/7 91/184/7 100/182/7 -f 100/182/7 98/179/7 92/181/7 -f 96/180/7 94/146/7 92/181/7 -f 89/672/22 88/172/22 101/183/22 -f 78/166/11 79/165/11 90/185/11 -f 86/149/18 85/148/18 98/179/18 -f 83/158/15 82/157/15 95/187/15 -f 79/163/21 89/162/21 91/184/21 -f 80/175/12 78/174/12 92/181/12 -f 87/68/19 86/67/19 99/188/19 -f 84/155/16 83/154/16 96/180/16 -f 81/169/13 80/168/13 93/145/13 -f 88/178/20 87/177/20 100/182/20 -f 85/152/17 84/151/17 97/186/17 -f 105/130/1 104/129/1 109/190/1 -f 69/97/7 66/96/7 104/192/7 -f 67/122/7 68/121/7 102/194/7 -f 66/125/7 67/124/7 103/196/7 -f 106/201/25 109/197/25 110/141/25 -f 104/192/4 103/191/4 108/200/4 -f 102/194/2 105/193/2 106/201/2 -f 103/196/3 102/195/3 107/143/3 -f 111/142/7 110/141/7 112/203/7 -f 72/132/7 73/136/7 71/133/7 -f 109/190/24 108/189/24 113/198/24 -f 108/200/26 107/199/26 112/203/26 -f 114/675/3 117/204/3 118/206/3 -f 16/27/7 17/92/7 114/28/7 -f 117/207/7 17/92/7 116/208/7 -f 13/100/7 9/209/7 116/208/7 -f 125/676/2 121/210/2 124/212/2 -f 116/677/1 115/213/1 120/215/1 -f 117/678/2 116/216/2 121/210/2 -f 115/679/4 114/217/4 119/219/4 -f 123/223/7 122/222/7 135/680/7 -f 135/680/7 134/681/7 123/223/7 -f 133/682/7 132/683/7 123/223/7 -f 131/684/7 130/220/7 124/212/7 -f 129/221/7 128/685/7 124/212/7 -f 127/686/7 126/687/7 124/212/7 -f 125/676/7 124/212/7 126/687/7 -f 123/223/7 134/681/7 133/682/7 -f 132/683/7 131/684/7 123/223/7 -f 128/685/7 127/686/7 124/212/7 -f 124/212/7 123/223/7 131/684/7 -f 119/219/4 118/218/4 123/223/4 -f 122/222/3 118/206/3 135/680/3 -f 121/205/3 125/676/3 126/687/3 -f 126/687/3 127/686/3 121/205/3 -f 128/685/3 129/221/3 121/205/3 -f 130/220/3 131/684/3 118/206/3 -f 132/683/3 133/682/3 118/206/3 -f 134/681/3 135/680/3 118/206/3 -f 121/205/3 127/686/3 128/685/3 -f 134/681/3 118/206/3 133/682/3 -f 131/684/3 132/683/3 118/206/3 -f 121/205/3 129/221/3 130/220/3 -f 120/215/27 119/214/27 124/212/27 -f 136/229/1 126/224/1 137/226/1 -f 137/226/10 147/227/10 136/229/10 -f 138/250/1 128/230/1 139/232/1 -f 141/688/1 140/233/1 131/235/1 -f 143/689/1 142/236/1 133/238/1 -f 145/690/1 144/239/1 135/241/1 -f 145/690/10 155/242/10 144/239/10 -f 143/689/10 153/244/10 142/236/10 -f 141/688/10 151/246/10 140/233/10 -f 139/232/10 149/248/10 138/250/10 -f 147/227/7 157/251/7 146/228/7 -f 149/248/7 159/253/7 148/249/7 -f 151/246/7 161/255/7 150/247/7 -f 153/244/7 163/257/7 152/245/7 -f 155/242/7 165/259/7 154/243/7 -f 188/279/7 182/261/7 189/263/7 -f 186/280/7 180/264/7 187/266/7 -f 184/281/7 178/267/7 185/269/7 -f 166/691/2 167/270/2 172/272/2 -f 168/692/2 169/273/2 174/275/2 -f 170/693/2 171/276/2 176/278/2 -f 170/693/8 188/279/8 171/276/8 -f 168/692/8 186/280/8 169/273/8 -f 166/691/8 184/281/8 167/270/8 -f 214/304/28 215/282/28 216/284/28 -f 190/694/29 191/285/29 192/287/29 -f 206/327/30 195/288/30 220/290/30 -f 214/317/31 216/291/31 203/293/31 -f 192/287/32 193/286/32 194/295/32 -f 193/289/33 191/296/33 220/290/33 -f 208/312/34 209/298/34 210/300/34 -f 194/295/35 195/294/35 196/302/35 -f 212/322/36 213/303/36 214/304/36 -f 196/302/37 197/301/37 198/306/37 -f 198/306/38 199/305/38 200/308/38 -f 216/291/39 218/309/39 205/292/39 -f 206/326/40 207/311/40 208/312/40 -f 200/308/41 201/307/41 202/314/41 -f 203/293/42 201/315/42 214/317/42 -f 204/321/43 205/318/43 190/320/43 -f 202/314/44 203/313/44 204/321/44 -f 210/300/45 211/299/45 212/322/45 -f 216/284/46 217/283/46 218/324/46 -f 220/330/47 221/325/47 206/326/47 -f 197/332/48 195/288/48 208/328/48 -f 218/695/49 219/329/49 220/330/49 -f 210/333/50 212/316/50 199/331/50 -f 199/331/51 197/332/51 210/333/51 -f 246/356/28 247/334/28 248/336/28 -f 222/696/29 223/337/29 224/339/29 -f 238/379/30 227/340/30 252/342/30 -f 246/369/31 248/343/31 235/345/31 -f 224/339/32 225/338/32 226/347/32 -f 225/341/33 223/348/33 252/342/33 -f 240/364/34 241/350/34 242/352/34 -f 226/347/35 227/346/35 228/354/35 -f 244/374/36 245/355/36 246/356/36 -f 228/354/37 229/353/37 230/358/37 -f 230/358/38 231/357/38 232/360/38 -f 248/343/39 250/361/39 237/344/39 -f 238/378/40 239/363/40 240/364/40 -f 232/360/41 233/359/41 234/366/41 -f 235/345/42 233/367/42 246/369/42 -f 236/373/43 237/370/43 222/372/43 -f 234/366/44 235/365/44 236/373/44 -f 242/352/45 243/351/45 244/374/45 -f 248/336/46 249/335/46 250/376/46 -f 252/382/47 253/377/47 238/378/47 -f 229/384/48 227/340/48 240/380/48 -f 250/697/49 251/381/49 252/382/49 -f 231/698/50 242/383/50 233/367/50 -f 231/698/51 229/384/51 242/383/51 -f 278/407/28 279/385/28 280/387/28 -f 254/699/29 255/388/29 256/390/29 -f 270/429/30 259/391/30 284/393/30 -f 278/700/31 280/394/31 267/396/31 -f 256/390/32 257/389/32 258/398/32 -f 257/392/33 255/399/33 284/393/33 -f 272/415/34 273/401/34 274/403/34 -f 258/398/35 259/397/35 260/405/35 -f 276/424/36 277/406/36 278/407/36 -f 260/405/37 261/404/37 262/409/37 -f 262/409/38 263/408/38 264/411/38 -f 280/394/39 282/412/39 269/395/39 -f 270/428/40 271/414/40 272/415/40 -f 264/411/41 265/410/41 266/417/41 -f 278/700/42 267/396/42 276/419/42 -f 268/423/43 269/420/43 254/422/43 -f 266/417/44 267/416/44 268/423/44 -f 274/403/45 275/402/45 276/424/45 -f 280/387/46 281/386/46 282/426/46 -f 284/701/47 285/427/47 270/428/47 -f 261/435/48 259/391/48 272/430/48 -f 284/701/49 282/431/49 285/427/49 -f 263/434/50 274/433/50 265/418/50 -f 274/433/51 263/434/51 272/430/51 -f 287/445/1 289/436/1 286/438/1 -f 294/454/2 293/439/2 295/441/2 -f 290/702/3 292/442/3 301/444/3 -f 296/453/52 287/445/52 297/446/52 -f 297/446/5 295/447/5 290/449/5 -f 296/452/53 294/450/53 287/445/53 -f 291/703/7 293/451/7 296/452/7 -f 291/704/4 296/453/4 290/449/4 -f 289/436/54 294/454/54 288/437/54 -f 300/465/55 301/455/55 304/457/55 -f 293/705/3 291/458/3 298/460/3 -f 292/706/3 293/461/3 299/463/3 -f 291/707/3 290/464/3 300/465/3 -f 302/467/3 304/457/3 303/466/3 -f 299/463/56 298/462/56 303/466/56 -f 301/444/57 299/443/57 305/456/57 -f 298/460/58 300/459/58 302/467/58 -f 307/478/3 306/468/3 309/470/3 -f 314/485/2 315/471/2 313/473/2 -f 310/708/1 321/474/1 312/476/1 -f 316/484/59 317/477/59 307/478/59 -f 317/709/5 310/479/5 315/471/5 -f 316/481/60 307/478/60 314/480/60 -f 311/710/7 316/481/7 313/482/7 -f 311/711/4 310/483/4 316/484/4 -f 309/470/61 308/469/61 314/485/61 -f 320/495/62 324/486/62 321/488/62 -f 313/712/1 318/489/1 311/491/1 -f 312/713/1 319/492/1 313/494/1 -f 311/714/1 320/495/1 310/496/1 -f 322/498/1 323/497/1 324/486/1 -f 319/492/63 323/497/63 318/493/63 -f 321/474/64 325/487/64 319/475/64 -f 318/489/65 322/498/65 320/490/65 -f 333/518/3 332/499/3 327/501/3 -f 328/509/2 332/502/2 335/504/2 -f 328/515/1 329/505/1 330/507/1 -f 329/512/7 333/508/7 331/506/7 -f 332/502/5 328/509/5 326/500/5 -f 331/506/2 327/501/2 330/507/2 -f 335/504/5 337/503/5 339/511/5 -f 333/508/2 329/512/2 336/514/2 -f 329/505/2 328/515/2 334/517/2 -f 332/499/2 333/518/2 337/520/2 -f 409/715/10 421/521/10 408/523/10 -f 336/514/7 334/513/7 340/525/7 -f 337/520/3 336/519/3 341/527/3 -f 334/517/1 335/516/1 338/529/1 -f 349/549/3 348/530/3 343/532/3 -f 344/540/2 348/533/2 351/535/2 -f 344/546/1 345/536/1 346/538/1 -f 345/543/7 349/539/7 347/537/7 -f 348/533/5 344/540/5 342/531/5 -f 347/537/2 343/532/2 346/538/2 -f 351/535/5 353/534/5 355/542/5 -f 349/539/2 345/543/2 352/545/2 -f 345/536/2 344/546/2 350/548/2 -f 348/530/2 349/549/2 353/551/2 -f 411/716/10 423/552/10 410/554/10 -f 352/545/7 350/544/7 356/556/7 -f 353/551/3 352/550/3 357/558/3 -f 350/548/1 351/547/1 354/560/1 -f 365/582/3 359/561/3 364/563/3 -f 360/571/4 367/564/4 364/566/4 -f 360/579/1 362/567/1 361/569/1 -f 361/576/7 363/568/7 365/570/7 -f 364/566/5 358/562/5 360/571/5 -f 363/568/4 362/567/4 359/561/4 -f 367/564/5 371/572/5 369/565/5 -f 365/570/4 368/574/4 361/576/4 -f 361/569/4 366/577/4 360/579/4 -f 364/563/4 369/580/4 365/582/4 -f 370/586/2 372/583/2 371/585/2 -f 368/574/7 372/583/7 366/575/7 -f 369/580/3 373/587/3 368/581/3 -f 366/577/1 370/589/1 367/578/1 -f 381/612/3 375/591/3 380/593/3 -f 376/601/4 383/594/4 380/596/4 -f 376/609/1 378/597/1 377/599/1 -f 377/606/7 379/598/7 381/600/7 -f 380/596/5 374/592/5 376/601/5 -f 379/598/4 378/597/4 375/591/4 -f 383/594/5 387/602/5 385/595/5 -f 381/600/4 384/604/4 377/606/4 -f 377/599/4 382/607/4 376/609/4 -f 380/593/4 385/610/4 381/612/4 -f 413/717/10 425/613/10 412/615/10 -f 384/604/7 388/616/7 382/605/7 -f 385/610/3 389/618/3 384/611/3 -f 382/607/1 386/620/1 383/608/1 -f 415/718/66 414/634/66 421/521/66 -f 417/719/66 416/635/66 423/552/66 -f 419/720/66 418/636/66 425/613/66 -f 419/720/67 418/636/67 407/638/67 -f 417/719/67 416/635/67 405/640/67 -f 415/718/67 414/634/67 403/642/67 diff --git a/src/main/resources/assets/hbm/models/chemplant_main_new.obj b/src/main/resources/assets/hbm/models/chemplant_main_new.obj deleted file mode 100644 index 285894abe..000000000 --- a/src/main/resources/assets/hbm/models/chemplant_main_new.obj +++ /dev/null @@ -1,1733 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'chemplant_main_new.blend' -# www.blender.org -o Cube_Cube.001 -v -1.500000 0.000000 1.500000 -v -1.500000 0.250000 1.500000 -v -1.500000 0.000000 -1.500000 -v -1.500000 0.250000 -1.500000 -v 1.500000 0.000000 1.500000 -v 1.500000 0.250000 1.500000 -v 1.500000 0.000000 -1.500000 -v 1.500000 0.250000 -1.500000 -v -1.250000 0.500000 1.250000 -v -1.250000 0.500000 -1.250000 -v 1.250000 0.500000 -1.250000 -v 1.250000 0.500000 1.250000 -v -1.250000 0.500000 0.000000 -v 0.000000 0.500000 -1.250000 -v 1.250000 0.500000 0.000000 -v 0.000000 0.500000 1.250000 -v 0.000000 0.500000 0.000000 -v 1.250000 0.750000 0.000000 -v 1.250000 0.750000 1.250000 -v 0.000000 0.750000 1.250000 -v 0.000000 0.750000 0.000000 -v 0.625000 0.750000 0.025000 -v 0.625000 2.750000 0.025000 -v 0.925000 0.750000 0.105385 -v 0.925000 2.750000 0.105385 -v 1.144615 0.750000 0.325000 -v 1.144615 2.750000 0.325000 -v 1.225000 0.750000 0.625000 -v 1.225000 2.750000 0.625000 -v 1.144615 0.750000 0.925000 -v 1.144615 2.750000 0.925000 -v 0.925000 0.750000 1.144615 -v 0.925000 2.750000 1.144615 -v 0.625000 0.750000 1.225000 -v 0.625000 2.750000 1.225000 -v 0.325000 0.750000 1.144615 -v 0.325000 2.750000 1.144615 -v 0.105385 0.750000 0.925000 -v 0.105385 2.750000 0.925000 -v 0.025000 0.750000 0.625000 -v 0.025000 2.750000 0.625000 -v 0.105385 0.750000 0.325000 -v 0.105385 2.750000 0.325000 -v 0.325000 0.750000 0.105385 -v 0.325000 2.750000 0.105385 -v 1.250000 0.750000 0.625000 -v 0.625000 0.750000 0.000000 -v 0.000000 0.750000 0.625000 -v 0.625000 0.750000 1.250000 -v 0.125000 0.500000 -1.125000 -v 1.125000 0.500000 -1.125000 -v 1.125000 0.500000 -0.125000 -v 0.125000 0.500000 -0.125000 -v -1.125000 0.500000 -0.125000 -v -1.125000 0.500000 -1.125000 -v -0.125000 0.500000 -1.125000 -v -0.125000 0.500000 -0.125000 -v 0.125000 0.650000 -1.125000 -v 1.125000 0.650000 -1.125000 -v 1.125000 0.650000 -0.125000 -v 0.125000 0.650000 -0.125000 -v 0.225000 0.650000 -1.025000 -v 1.025000 0.650000 -1.025000 -v 1.025000 0.650000 -0.225000 -v 0.225000 0.650000 -0.225000 -v -0.125000 0.650000 -0.125000 -v -0.125000 0.650000 -1.125000 -v -1.125000 0.650000 -1.125000 -v -1.125000 0.650000 -0.125000 -v 0.425000 2.000000 -0.425000 -v 0.825000 2.000000 -0.425000 -v 0.825000 2.000000 -0.825000 -v 0.425000 2.000000 -0.825000 -v 0.225000 1.850000 -1.025000 -v 1.025000 1.850000 -1.025000 -v 1.025000 1.850000 -0.225000 -v 0.225000 1.850000 -0.225000 -v 1.000000 2.750000 -0.024519 -v 0.625000 2.750000 -0.125000 -v 1.274519 2.750000 0.250000 -v 1.375000 2.750000 0.625000 -v 1.274519 2.750000 1.000000 -v 1.000000 2.750000 1.274519 -v 0.625000 2.750000 1.375000 -v 0.250000 2.750000 1.274519 -v -0.024519 2.750000 1.000000 -v -0.125000 2.750000 0.625000 -v -0.024519 2.750000 0.250000 -v 0.250000 2.750000 -0.024519 -v 1.000000 3.000000 -0.024519 -v 0.625000 3.000000 -0.125000 -v 1.274519 3.000000 0.250000 -v 1.375000 3.000000 0.625000 -v 1.274519 3.000000 1.000000 -v 1.000000 3.000000 1.274519 -v 0.625000 3.000000 1.375000 -v 0.250000 3.000000 1.274519 -v -0.024519 3.000000 1.000000 -v -0.125000 3.000000 0.625000 -v -0.024519 3.000000 0.250000 -v 0.250000 3.000000 -0.024519 -v -0.225000 0.650000 -1.025000 -v -0.225000 0.650000 -0.225000 -v -1.025000 0.650000 -0.225000 -v -1.025000 0.650000 -1.025000 -v -0.225000 1.850000 -1.025000 -v -0.225000 1.850000 -0.225000 -v -1.025000 1.850000 -0.225000 -v -1.025000 1.850000 -1.025000 -v -0.425000 2.000000 -0.825000 -v -0.425000 2.000000 -0.425000 -v -0.825000 2.000000 -0.425000 -v -0.825000 2.000000 -0.825000 -v -0.125000 0.500000 0.975000 -v -0.475000 0.500000 0.975000 -v -0.475000 0.500000 0.275000 -v -0.125000 0.500000 0.275000 -v -0.125000 1.250000 0.975000 -v -0.475000 1.250000 0.975000 -v -0.475000 1.250000 0.275000 -v -0.125000 1.250000 0.275000 -v -0.125000 1.500000 0.975000 -v -0.300000 1.500000 0.975000 -v -0.300000 1.500000 0.275000 -v -0.125000 1.500000 0.275000 -v -0.125000 1.500000 0.338636 -v -0.125000 1.500000 0.402273 -v -0.125000 1.500000 0.465909 -v -0.125000 1.500000 0.529545 -v -0.125000 1.500000 0.593182 -v -0.125000 1.500000 0.656818 -v -0.125000 1.500000 0.720455 -v -0.125000 1.500000 0.784091 -v -0.125000 1.500000 0.847727 -v -0.125000 1.500000 0.911364 -v -0.125000 1.650000 0.338636 -v -0.125000 1.650000 0.402273 -v -0.125000 1.650000 0.465909 -v -0.125000 1.650000 0.529545 -v -0.125000 1.650000 0.593182 -v -0.125000 1.650000 0.656818 -v -0.125000 1.650000 0.720455 -v -0.125000 1.650000 0.784091 -v -0.125000 1.650000 0.847727 -v -0.125000 1.650000 0.911364 -v -0.025000 1.750000 0.338636 -v -0.025000 1.750000 0.402273 -v -0.025000 1.750000 0.465909 -v -0.025000 1.750000 0.529545 -v -0.025000 1.750000 0.593182 -v -0.025000 1.750000 0.656818 -v -0.025000 1.750000 0.720455 -v -0.025000 1.750000 0.784091 -v -0.025000 1.750000 0.847727 -v -0.025000 1.750000 0.911364 -v 0.125000 1.750000 0.338636 -v 0.125000 1.750000 0.402273 -v 0.125000 1.750000 0.465909 -v 0.125000 1.750000 0.529545 -v 0.125000 1.750000 0.593182 -v 0.125000 1.750000 0.656818 -v 0.125000 1.750000 0.720455 -v 0.125000 1.750000 0.784091 -v 0.125000 1.750000 0.847727 -v 0.125000 1.750000 0.911364 -v 0.482143 2.771048 -0.425000 -v 0.539286 2.771048 -0.425000 -v 0.596429 2.771048 -0.425000 -v 0.653571 2.771048 -0.425000 -v 0.710714 2.771048 -0.425000 -v 0.767857 2.771048 -0.425000 -v 0.482143 2.000000 -0.425000 -v 0.539286 2.000000 -0.425000 -v 0.596429 2.000000 -0.425000 -v 0.653571 2.000000 -0.425000 -v 0.710714 2.000000 -0.425000 -v 0.767857 2.000000 -0.425000 -v 0.482143 2.871047 -0.075000 -v 0.539286 2.871047 -0.075000 -v 0.596429 2.871047 -0.075000 -v 0.653571 2.871047 -0.075000 -v 0.710714 2.871047 -0.075000 -v 0.767857 2.871047 -0.075000 -v 0.482143 2.871047 -0.325000 -v 0.539286 2.871047 -0.325000 -v 0.596429 2.871047 -0.325000 -v 0.653571 2.871047 -0.325000 -v 0.710714 2.871047 -0.325000 -v 0.767857 2.871047 -0.325000 -v -0.850000 1.200000 -0.250000 -v -0.850000 1.200000 0.350000 -v -0.814645 1.185355 -0.250000 -v -0.814645 1.185355 0.350000 -v -0.800000 1.150000 -0.250000 -v -0.800000 1.150000 0.350000 -v -0.814645 1.114645 -0.250000 -v -0.814645 1.114645 0.350000 -v -0.850000 1.100000 -0.250000 -v -0.850000 1.100000 0.350000 -v -0.885355 1.114645 -0.250000 -v -0.885355 1.114645 0.350000 -v -0.900000 1.150000 -0.250000 -v -0.900000 1.150000 0.350000 -v -0.885355 1.185355 -0.250000 -v -0.885355 1.185355 0.350000 -v -0.750000 1.150000 0.400000 -v -0.450000 1.150000 0.400000 -v -0.750000 1.114645 0.414645 -v -0.450000 1.114645 0.414645 -v -0.750000 1.100000 0.450000 -v -0.450000 1.100000 0.450000 -v -0.750000 1.114645 0.485355 -v -0.450000 1.114645 0.485355 -v -0.750000 1.150000 0.500000 -v -0.450000 1.150000 0.500000 -v -0.750000 1.185355 0.485355 -v -0.450000 1.185355 0.485355 -v -0.750000 1.200000 0.450000 -v -0.450000 1.200000 0.450000 -v -0.750000 1.185355 0.414645 -v -0.450000 1.185355 0.414645 -v -0.850000 1.000000 -0.250000 -v -0.850000 1.000000 0.350000 -v -0.814645 0.985355 -0.250000 -v -0.814645 0.985355 0.350000 -v -0.800000 0.950000 -0.250000 -v -0.800000 0.950000 0.350000 -v -0.814645 0.914645 -0.250000 -v -0.814645 0.914645 0.350000 -v -0.850000 0.900000 -0.250000 -v -0.850000 0.900000 0.350000 -v -0.885355 0.914645 -0.250000 -v -0.885355 0.914645 0.350000 -v -0.900000 0.950000 -0.250000 -v -0.900000 0.950000 0.350000 -v -0.885355 0.985355 -0.250000 -v -0.885355 0.985355 0.350000 -v -0.750000 0.950000 0.400000 -v -0.450000 0.950000 0.400000 -v -0.750000 0.914645 0.414645 -v -0.450000 0.914645 0.414645 -v -0.750000 0.900000 0.450000 -v -0.450000 0.900000 0.450000 -v -0.750000 0.914645 0.485355 -v -0.450000 0.914645 0.485355 -v -0.750000 0.950000 0.500000 -v -0.450000 0.950000 0.500000 -v -0.750000 0.985355 0.485355 -v -0.450000 0.985355 0.485355 -v -0.750000 1.000000 0.450000 -v -0.450000 1.000000 0.450000 -v -0.750000 0.985355 0.414645 -v -0.450000 0.985355 0.414645 -v -0.850000 0.800000 -0.250000 -v -0.850000 0.800000 0.350000 -v -0.814645 0.785355 -0.250000 -v -0.814645 0.785355 0.350000 -v -0.800000 0.750000 -0.250000 -v -0.800000 0.750000 0.350000 -v -0.814645 0.714645 -0.250000 -v -0.814645 0.714645 0.350000 -v -0.850000 0.700000 -0.250000 -v -0.850000 0.700000 0.350000 -v -0.885355 0.714645 -0.250000 -v -0.885355 0.714645 0.350000 -v -0.900000 0.750000 -0.250000 -v -0.900000 0.750000 0.350000 -v -0.885355 0.785355 -0.250000 -v -0.885355 0.785355 0.350000 -v -0.750000 0.750000 0.400000 -v -0.450000 0.750000 0.400000 -v -0.750000 0.714645 0.414645 -v -0.450000 0.714645 0.414645 -v -0.750000 0.700000 0.450000 -v -0.450000 0.700000 0.450000 -v -0.750000 0.714645 0.485355 -v -0.450000 0.714645 0.485355 -v -0.750000 0.750000 0.500000 -v -0.450000 0.750000 0.500000 -v -0.750000 0.785355 0.485355 -v -0.450000 0.785355 0.485355 -v -0.750000 0.800000 0.450000 -v -0.450000 0.800000 0.450000 -v -0.750000 0.785355 0.414645 -v -0.450000 0.785355 0.414645 -v 1.000000 0.250000 -0.250000 -v 1.000000 0.750000 -0.250000 -v 1.000000 0.250000 -0.750000 -v 1.000000 0.750000 -0.750000 -v 2.000000 0.000000 0.000000 -v 2.000000 1.000000 0.000000 -v 2.000000 0.000000 -1.000000 -v 2.000000 1.000000 -1.000000 -v 1.500000 1.000000 -1.000000 -v 1.500000 0.000000 -1.000000 -v 1.500000 1.000000 0.000000 -v 1.500000 0.000000 0.000000 -v 2.000000 0.875000 -0.875000 -v 2.000000 0.125000 -0.875000 -v 2.000000 0.875000 -0.125000 -v 2.000000 0.125000 -0.125000 -v 1.500000 0.687500 -0.687500 -v 1.500000 0.312500 -0.687500 -v 1.500000 0.687500 -0.312500 -v 1.500000 0.312500 -0.312500 -v -1.000000 0.250000 0.750000 -v -1.000000 0.750000 0.750000 -v -1.000000 0.250000 0.250000 -v -1.000000 0.750000 0.250000 -v -2.000000 0.000000 1.000000 -v -2.000000 1.000000 1.000000 -v -2.000000 0.000000 0.000000 -v -2.000000 1.000000 0.000000 -v -1.500000 1.000000 0.000000 -v -1.500000 0.000000 0.000000 -v -1.500000 1.000000 1.000000 -v -1.500000 0.000000 1.000000 -v -2.000000 0.875000 0.125000 -v -2.000000 0.125000 0.125000 -v -2.000000 0.875000 0.875000 -v -2.000000 0.125000 0.875000 -v -1.500000 0.687500 0.312500 -v -1.500000 0.312500 0.312500 -v -1.500000 0.687500 0.687500 -v -1.500000 0.312500 0.687500 -v 0.656250 0.343750 -2.000000 -v 0.656250 0.656250 -2.000000 -v 0.343750 0.343750 -1.150000 -v 0.343750 0.656250 -1.150000 -v 0.343750 0.343750 -2.000000 -v 0.343750 0.656250 -2.000000 -v 0.656250 0.343750 -1.150000 -v 0.656250 0.656250 -1.150000 -v 0.328125 0.671875 -1.150000 -v 0.328125 0.328125 -1.150000 -v 0.671875 0.671875 -1.150000 -v 0.671875 0.328125 -1.150000 -v 0.328125 0.671875 -1.000000 -v 0.328125 0.328125 -1.000000 -v 0.671875 0.671875 -1.000000 -v 0.671875 0.328125 -1.000000 -v -0.343750 0.343750 -2.000000 -v -0.343750 0.656250 -2.000000 -v -0.656250 0.343750 -1.150000 -v -0.656250 0.656250 -1.150000 -v -0.656250 0.343750 -2.000000 -v -0.656250 0.656250 -2.000000 -v -0.343750 0.343750 -1.150000 -v -0.343750 0.656250 -1.150000 -v -0.671875 0.671875 -1.150000 -v -0.671875 0.328125 -1.150000 -v -0.328125 0.671875 -1.150000 -v -0.328125 0.328125 -1.150000 -v -0.671875 0.671875 -1.000000 -v -0.671875 0.328125 -1.000000 -v -0.328125 0.671875 -1.000000 -v -0.328125 0.328125 -1.000000 -v -0.343750 0.343750 2.000000 -v -0.343750 0.656250 2.000000 -v -0.656250 0.343750 1.150000 -v -0.656250 0.656250 1.150000 -v -0.656250 0.343750 2.000000 -v -0.656250 0.656250 2.000000 -v -0.343750 0.343750 1.150000 -v -0.343750 0.656250 1.150000 -v -0.671875 0.671875 1.150000 -v -0.671875 0.328125 1.150000 -v -0.328125 0.671875 1.150000 -v -0.328125 0.328125 1.150000 -v -0.671875 0.671875 1.000000 -v -0.671875 0.328125 1.000000 -v -0.328125 0.671875 1.000000 -v -0.328125 0.328125 1.000000 -v 0.656250 0.343750 2.000000 -v 0.656250 0.656250 2.000000 -v 0.343750 0.343750 1.150000 -v 0.343750 0.656250 1.150000 -v 0.343750 0.343750 2.000000 -v 0.343750 0.656250 2.000000 -v 0.656250 0.343750 1.150000 -v 0.656250 0.656250 1.150000 -v 0.328125 0.671875 1.150000 -v 0.328125 0.328125 1.150000 -v 0.671875 0.671875 1.150000 -v 0.671875 0.328125 1.150000 -v 0.328125 0.671875 1.000000 -v 0.328125 0.328125 1.000000 -v 0.671875 0.671875 1.000000 -v 0.671875 0.328125 1.000000 -v 1.916667 0.250000 -1.100000 -v 1.916667 0.750000 -1.100000 -v 1.666667 0.500000 -1.100000 -v 1.916667 0.250000 0.100000 -v 1.916667 0.750000 0.100000 -v 1.666667 0.500000 0.100000 -v -1.583333 0.250000 -0.100000 -v -1.583333 0.750000 -0.100000 -v -1.833333 0.500000 -0.100000 -v -1.583333 0.250000 1.100000 -v -1.583333 0.750000 1.100000 -v -1.833333 0.500000 1.100000 -v 0.425000 2.000000 -0.767857 -v 0.425000 2.000000 -0.710714 -v 0.425000 2.000000 -0.653571 -v 0.425000 2.000000 -0.596429 -v 0.425000 2.000000 -0.539286 -v 0.425000 2.000000 -0.482143 -v -0.425000 2.000000 -0.767857 -v -0.425000 2.000000 -0.710714 -v -0.425000 2.000000 -0.653571 -v -0.425000 2.000000 -0.596429 -v -0.425000 2.000000 -0.539286 -v -0.425000 2.000000 -0.482143 -v 0.325000 2.121195 -0.749805 -v 0.325000 2.121195 -0.692662 -v 0.325000 2.121195 -0.635520 -v 0.325000 2.121195 -0.578377 -v 0.325000 2.121195 -0.521234 -v 0.325000 2.121195 -0.464091 -v -0.325000 2.100000 -0.767857 -v -0.325000 2.100000 -0.710714 -v -0.325000 2.100000 -0.653571 -v -0.325000 2.100000 -0.596429 -v -0.325000 2.100000 -0.539286 -v -0.325000 2.100000 -0.482143 -vt 0.758477 0.603324 -vt 0.758477 0.583793 -vt 0.996758 0.583793 -vt 0.760430 0.603324 -vt 0.760430 0.583793 -vt 0.994805 0.583793 -vt 0.759772 0.603163 -vt 0.759772 0.583522 -vt 0.995463 0.583522 -vt 0.006459 0.317921 -vt 0.242151 0.317921 -vt 0.242151 0.553613 -vt 0.994805 0.603324 -vt 0.877617 0.630668 -vt 0.006459 0.762941 -vt 0.016280 0.753121 -vt 0.094844 0.753121 -vt 0.995463 0.603163 -vt 0.877618 0.630939 -vt 0.996758 0.603324 -vt 0.875664 0.630668 -vt 0.104664 0.566532 -vt 0.094844 0.588137 -vt 0.067346 0.588137 -vt 0.960569 0.162535 -vt 0.940928 0.113433 -vt 0.960569 0.064331 -vt 0.104664 0.762941 -vt 0.114485 0.753121 -vt 0.193049 0.753121 -vt 0.823082 0.064331 -vt 0.842723 0.113433 -vt 0.823082 0.162535 -vt 0.940928 0.044690 -vt 0.891826 0.064331 -vt 0.842723 0.044690 -vt 0.842723 0.182176 -vt 0.891826 0.162535 -vt 0.940928 0.182176 -vt 0.946278 0.936992 -vt 0.921877 0.936992 -vt 0.921877 0.779864 -vt 0.897476 0.936992 -vt 0.897476 0.779864 -vt 0.873076 0.936992 -vt 0.873076 0.779864 -vt 0.848675 0.936992 -vt 0.848675 0.779864 -vt 0.824275 0.936992 -vt 0.824274 0.779864 -vt 0.799874 0.936992 -vt 0.799874 0.779864 -vt 0.775473 0.936992 -vt 0.775473 0.779864 -vt 0.751073 0.936992 -vt 0.751073 0.779864 -vt 0.726672 0.936992 -vt 0.726672 0.779864 -vt 0.702272 0.936992 -vt 0.702272 0.779864 -vt 0.331580 0.524720 -vt 0.337472 0.514514 -vt 0.359040 0.536081 -vt 0.677871 0.936992 -vt 0.653470 0.936992 -vt 0.653470 0.779864 -vt 0.677871 0.779864 -vt 0.842723 0.162535 -vt 0.868256 0.154256 -vt 0.891826 0.160571 -vt 0.915395 0.154256 -vt 0.932649 0.137002 -vt 0.940928 0.162535 -vt 0.932648 0.089864 -vt 0.940928 0.064331 -vt 0.915395 0.072610 -vt 0.868256 0.072610 -vt 0.842723 0.064331 -vt 0.851003 0.137002 -vt 0.844687 0.113433 -vt 0.851003 0.089864 -vt 0.117682 0.307042 -vt 0.117682 0.295258 -vt 0.196246 0.295258 -vt 0.202869 0.762941 -vt 0.193049 0.674557 -vt 0.104664 0.664736 -vt 0.114485 0.674557 -vt 0.202869 0.664736 -vt 0.094844 0.674557 -vt 0.016280 0.674557 -vt 0.006459 0.664736 -vt 0.294451 0.197053 -vt 0.286595 0.189197 -vt 0.286595 0.126345 -vt 0.196246 0.008500 -vt 0.196246 0.020284 -vt 0.117682 0.020284 -vt 0.306236 0.197053 -vt 0.294451 0.118489 -vt 0.007693 0.118489 -vt 0.019478 0.118489 -vt 0.019478 0.197053 -vt 0.125539 0.287401 -vt 0.125539 0.193125 -vt 0.188390 0.193125 -vt 0.027334 0.126345 -vt 0.027334 0.189196 -vt 0.188390 0.287401 -vt 0.188390 0.028141 -vt 0.125539 0.028141 -vt 0.121611 0.126345 -vt 0.141252 0.142058 -vt 0.141252 0.173484 -vt 0.192318 0.189196 -vt 0.172677 0.173484 -vt 0.172677 0.142058 -vt 0.188390 0.122417 -vt 0.125539 0.122417 -vt 0.192318 0.126345 -vt 0.121611 0.189197 -vt 0.436934 0.401164 -vt 0.431851 0.420136 -vt 0.402389 0.412242 -vt 0.314289 0.482140 -vt 0.324495 0.476248 -vt 0.332389 0.505709 -vt 0.320604 0.436619 -vt 0.332389 0.436620 -vt 0.324495 0.466081 -vt 0.348834 0.400355 -vt 0.359040 0.406247 -vt 0.337472 0.427815 -vt 0.391414 0.383064 -vt 0.397306 0.393270 -vt 0.367844 0.401164 -vt 0.436934 0.389380 -vt 0.407473 0.393270 -vt 0.455945 0.541974 -vt 0.445739 0.536081 -vt 0.467306 0.514514 -vt 0.484174 0.505710 -vt 0.472390 0.505709 -vt 0.480284 0.476248 -vt 0.473199 0.417609 -vt 0.467306 0.427815 -vt 0.445739 0.406247 -vt 0.436934 0.552950 -vt 0.413365 0.559265 -vt 0.407473 0.549059 -vt 0.490490 0.460189 -vt 0.480284 0.466081 -vt 0.472390 0.436620 -vt 0.367844 0.552950 -vt 0.367844 0.541165 -vt 0.397306 0.549059 -vt 0.351361 0.500626 -vt 0.351361 0.441703 -vt 0.453418 0.441703 -vt 0.402389 0.530087 -vt 0.431851 0.522193 -vt 0.453418 0.500626 -vt 0.461312 0.471164 -vt 0.343466 0.471164 -vt 0.372928 0.420136 -vt 0.372928 0.522193 -vt 0.772654 0.139975 -vt 0.713797 0.139968 -vt 0.713803 0.085034 -vt 0.094844 0.643131 -vt 0.067346 0.643131 -vt 0.006459 0.566532 -vt 0.694377 0.159597 -vt 0.666844 0.159844 -vt 0.680434 0.140054 -vt 0.597494 0.085032 -vt 0.656447 0.085032 -vt 0.656447 0.140054 -vt 0.667374 0.218844 -vt 0.694185 0.006460 -vt 0.694184 0.065389 -vt 0.666684 0.065389 -vt 0.694193 0.115020 -vt 0.694197 0.120017 -vt 0.694184 0.085032 -vt 0.680434 0.085032 -vt 0.597494 0.297099 -vt 0.597494 0.292100 -vt 0.609279 0.292100 -vt 0.620390 0.292100 -vt 0.620390 0.297099 -vt 0.609279 0.297099 -vt 0.645093 0.297099 -vt 0.645093 0.292100 -vt 0.656878 0.292100 -vt 0.233196 0.730162 -vt 0.233196 0.718377 -vt 0.238196 0.718377 -vt 0.188875 0.787645 -vt 0.188875 0.775860 -vt 0.193875 0.775860 -vt 0.233196 0.682563 -vt 0.233196 0.670778 -vt 0.238196 0.670778 -vt 0.238196 0.693674 -vt 0.233196 0.693673 -vt 0.193875 0.798755 -vt 0.188875 0.798755 -vt 0.238196 0.741272 -vt 0.233196 0.741272 -vt 0.667988 0.292100 -vt 0.667988 0.297099 -vt 0.656878 0.297099 -vt 0.632174 0.292100 -vt 0.632174 0.297099 -vt 0.679773 0.292100 -vt 0.679773 0.297099 -vt 0.238196 0.753057 -vt 0.233196 0.753057 -vt 0.193875 0.810540 -vt 0.188875 0.810540 -vt 0.238196 0.705458 -vt 0.233196 0.705458 -vt 0.220277 0.762106 -vt 0.215788 0.762106 -vt 0.215788 0.742465 -vt 0.237686 0.657860 -vt 0.233196 0.657860 -vt 0.233196 0.638219 -vt 0.220277 0.657860 -vt 0.215788 0.657860 -vt 0.215788 0.638219 -vt 0.215788 0.627108 -vt 0.215788 0.566532 -vt 0.220277 0.566532 -vt 0.233196 0.627108 -vt 0.233196 0.566532 -vt 0.237686 0.566532 -vt 0.215788 0.731355 -vt 0.215788 0.670778 -vt 0.220277 0.670778 -vt 0.220277 0.742465 -vt 0.237686 0.638219 -vt 0.220277 0.638219 -vt 0.814270 0.481676 -vt 0.814270 0.484682 -vt 0.790701 0.484682 -vt 0.364364 0.643439 -vt 0.364364 0.640432 -vt 0.411502 0.640432 -vt 0.231300 0.817551 -vt 0.234194 0.816738 -vt 0.234194 0.823920 -vt 0.218064 0.827849 -vt 0.218064 0.812810 -vt 0.220959 0.811996 -vt 0.364364 0.637425 -vt 0.411502 0.637426 -vt 0.236470 0.814774 -vt 0.236470 0.825884 -vt 0.814270 0.472656 -vt 0.814270 0.475663 -vt 0.790701 0.475663 -vt 0.364364 0.634419 -vt 0.411502 0.634419 -vt 0.814270 0.478669 -vt 0.790701 0.481676 -vt 0.364364 0.631412 -vt 0.411502 0.631412 -vt 0.364364 0.628406 -vt 0.411502 0.628406 -vt 0.215788 0.825884 -vt 0.215788 0.814774 -vt 0.814270 0.469650 -vt 0.790701 0.472656 -vt 0.364364 0.625399 -vt 0.411502 0.625399 -vt 0.223853 0.812810 -vt 0.223853 0.827849 -vt 0.220959 0.828662 -vt 0.364364 0.622393 -vt 0.364364 0.619386 -vt 0.411502 0.619386 -vt 0.411502 0.622393 -vt 0.790701 0.478669 -vt 0.814270 0.487689 -vt 0.790701 0.487689 -vt 0.814270 0.466643 -vt 0.790701 0.469650 -vt 0.231300 0.823107 -vt 0.228405 0.823920 -vt 0.814270 0.463637 -vt 0.790701 0.466643 -vt 0.226129 0.814774 -vt 0.228405 0.816738 -vt 0.226129 0.825884 -vt 0.175956 0.793899 -vt 0.175956 0.796906 -vt 0.152387 0.796906 -vt 0.364364 0.680409 -vt 0.364364 0.677403 -vt 0.411502 0.677403 -vt 0.435532 0.739300 -vt 0.436346 0.742194 -vt 0.429163 0.742194 -vt 0.425235 0.726064 -vt 0.440274 0.726064 -vt 0.441087 0.728959 -vt 0.364364 0.674396 -vt 0.411502 0.674396 -vt 0.438310 0.744470 -vt 0.427199 0.744470 -vt 0.175956 0.784880 -vt 0.175956 0.787886 -vt 0.152387 0.787886 -vt 0.364364 0.671390 -vt 0.411502 0.671390 -vt 0.175956 0.790893 -vt 0.152387 0.793899 -vt 0.364364 0.668383 -vt 0.411502 0.668383 -vt 0.364364 0.665377 -vt 0.411502 0.665377 -vt 0.427199 0.723788 -vt 0.438310 0.723788 -vt 0.175956 0.781873 -vt 0.152387 0.784880 -vt 0.364364 0.662370 -vt 0.411502 0.662370 -vt 0.440274 0.731853 -vt 0.425235 0.731853 -vt 0.424421 0.728959 -vt 0.364364 0.659364 -vt 0.364364 0.656357 -vt 0.411502 0.656357 -vt 0.411502 0.659364 -vt 0.152387 0.790893 -vt 0.175956 0.799912 -vt 0.152387 0.799912 -vt 0.175956 0.778867 -vt 0.152387 0.781873 -vt 0.429977 0.739300 -vt 0.429163 0.736406 -vt 0.175956 0.775860 -vt 0.152387 0.778867 -vt 0.427199 0.734129 -vt 0.436346 0.736406 -vt 0.239357 0.793064 -vt 0.239357 0.796071 -vt 0.215788 0.796071 -vt 0.364364 0.717381 -vt 0.364364 0.714374 -vt 0.411502 0.714374 -vt 0.806212 0.506163 -vt 0.809107 0.505349 -vt 0.809107 0.512532 -vt 0.792977 0.516460 -vt 0.792977 0.501421 -vt 0.795871 0.500608 -vt 0.364364 0.711367 -vt 0.411502 0.711367 -vt 0.811383 0.503385 -vt 0.811383 0.514496 -vt 0.239357 0.784045 -vt 0.239357 0.787051 -vt 0.215788 0.787051 -vt 0.364364 0.708361 -vt 0.411502 0.708361 -vt 0.239357 0.790058 -vt 0.215788 0.793064 -vt 0.364364 0.705355 -vt 0.411502 0.705355 -vt 0.364364 0.702348 -vt 0.411502 0.702348 -vt 0.790701 0.514496 -vt 0.790701 0.503385 -vt 0.239357 0.781038 -vt 0.215788 0.784045 -vt 0.364364 0.699341 -vt 0.411502 0.699341 -vt 0.798766 0.501421 -vt 0.798766 0.516460 -vt 0.364364 0.696335 -vt 0.364364 0.693328 -vt 0.411502 0.693328 -vt 0.411502 0.696335 -vt 0.215788 0.790058 -vt 0.239357 0.799077 -vt 0.215788 0.799077 -vt 0.239357 0.778032 -vt 0.215788 0.781038 -vt 0.806212 0.511718 -vt 0.803318 0.512532 -vt 0.215788 0.775025 -vt 0.239357 0.775025 -vt 0.801042 0.514496 -vt 0.801042 0.503385 -vt 0.803318 0.505349 -vt 0.479643 0.114270 -vt 0.479643 0.153552 -vt 0.440361 0.153552 -vt 0.562843 0.094629 -vt 0.562843 0.173193 -vt 0.523561 0.173193 -vt 0.141735 0.828410 -vt 0.131915 0.838230 -vt 0.072992 0.838230 -vt 0.440361 0.114270 -vt 0.396442 0.173193 -vt 0.396442 0.251756 -vt 0.357160 0.251756 -vt 0.357160 0.173193 -vt 0.499284 0.070351 -vt 0.499284 0.031069 -vt 0.420720 0.070351 -vt 0.396442 0.094629 -vt 0.523561 0.094629 -vt 0.045769 0.865453 -vt 0.087722 0.880183 -vt 0.087722 0.909645 -vt 0.063171 0.961418 -vt 0.072992 0.951598 -vt 0.131915 0.951598 -vt 0.168958 0.934196 -vt 0.159137 0.924375 -vt 0.159137 0.865453 -vt 0.035949 0.855632 -vt 0.045769 0.924375 -vt 0.117184 0.880183 -vt 0.117184 0.909645 -vt 0.357160 0.094629 -vt 0.141735 0.961418 -vt 0.420720 0.031069 -vt 0.063171 0.828410 -vt 0.168958 0.855632 -vt 0.035949 0.934196 -vt 0.713342 0.434861 -vt 0.646563 0.434861 -vt 0.646563 0.410310 -vt 0.646563 0.501640 -vt 0.647790 0.502868 -vt 0.620784 0.502868 -vt 0.555232 0.410310 -vt 0.622011 0.410310 -vt 0.622011 0.434861 -vt 0.646563 0.343531 -vt 0.622011 0.501640 -vt 0.647790 0.514653 -vt 0.620784 0.514653 -vt 0.622011 0.343531 -vt 0.620784 0.342303 -vt 0.647790 0.342303 -vt 0.555232 0.434861 -vt 0.554004 0.436089 -vt 0.554004 0.409082 -vt 0.713342 0.410310 -vt 0.714569 0.409082 -vt 0.714569 0.436089 -vt 0.416499 0.290522 -vt 0.416499 0.286033 -vt 0.405388 0.286033 -vt 0.620784 0.330518 -vt 0.647790 0.330519 -vt 0.726354 0.409082 -vt 0.726354 0.436089 -vt 0.542220 0.436089 -vt 0.542220 0.409082 -vt 0.503967 0.290522 -vt 0.503967 0.286033 -vt 0.492856 0.286033 -vt 0.631811 0.650917 -vt 0.631811 0.675468 -vt 0.565032 0.675468 -vt 0.657590 0.743475 -vt 0.630584 0.743475 -vt 0.631811 0.742247 -vt 0.656363 0.675468 -vt 0.656363 0.650917 -vt 0.723142 0.650917 -vt 0.631811 0.584137 -vt 0.656363 0.742247 -vt 0.657590 0.755259 -vt 0.630584 0.755259 -vt 0.630584 0.582910 -vt 0.657590 0.582910 -vt 0.656363 0.584137 -vt 0.724369 0.649689 -vt 0.724369 0.676695 -vt 0.723142 0.675468 -vt 0.563805 0.676696 -vt 0.563805 0.649689 -vt 0.565032 0.650917 -vt 0.630584 0.571125 -vt 0.630584 0.544119 -vt 0.657590 0.544119 -vt 0.657590 0.571125 -vt 0.552020 0.676696 -vt 0.552020 0.649689 -vt 0.736154 0.649689 -vt 0.736154 0.676695 -vt 0.329032 0.290522 -vt 0.329032 0.286033 -vt 0.317921 0.286033 -vt 0.776804 0.281183 -vt 0.776804 0.241901 -vt 0.796445 0.261542 -vt 0.777782 0.502919 -vt 0.758141 0.483278 -vt 0.777782 0.463637 -vt 0.424421 0.658668 -vt 0.424421 0.619386 -vt 0.444062 0.639027 -vt 0.444062 0.710869 -vt 0.424421 0.691228 -vt 0.444062 0.671587 -vt 0.467593 0.287451 -vt 0.555060 0.287451 -vt 0.380125 0.287451 -vt 0.392470 0.286033 -vt 0.392470 0.290522 -vt 0.567405 0.286033 -vt 0.567405 0.290522 -vt 0.479937 0.286033 -vt 0.479937 0.290522 -vt 0.006459 0.553613 -vt 0.779961 0.630668 -vt 0.975274 0.630668 -vt 0.779412 0.630939 -vt 0.975822 0.630939 -vt 0.778008 0.630668 -vt 0.977227 0.630668 -vt 0.946277 0.779864 -vt 0.348834 0.541974 -vt 0.938964 0.113433 -vt 0.891826 0.066295 -vt 0.196246 0.307042 -vt 0.117682 0.008500 -vt 0.306236 0.118489 -vt 0.007693 0.197053 -vt 0.320604 0.505709 -vt 0.314289 0.460189 -vt 0.331580 0.417609 -vt 0.367844 0.389379 -vt 0.413365 0.383064 -vt 0.473199 0.524720 -vt 0.490490 0.482140 -vt 0.455945 0.400355 -vt 0.436934 0.541165 -vt 0.484174 0.436620 -vt 0.391414 0.559265 -vt 0.772661 0.085041 -vt 0.694200 0.139930 -vt 0.597494 0.140054 -vt 0.694907 0.218597 -vt 0.666684 0.006459 -vt 0.694184 0.090030 -vt 0.694185 0.095029 -vt 0.694186 0.100027 -vt 0.694188 0.105025 -vt 0.694190 0.110023 -vt 0.694202 0.125013 -vt 0.694078 0.130204 -vt 0.694150 0.133627 -vt 0.238196 0.730162 -vt 0.193875 0.787645 -vt 0.238196 0.682563 -vt 0.220277 0.627108 -vt 0.237686 0.627108 -vt 0.220277 0.731355 -vt 0.411502 0.643439 -vt 0.790701 0.463637 -vt 0.411502 0.680409 -vt 0.152387 0.775860 -vt 0.438310 0.734129 -vt 0.411502 0.717381 -vt 0.795871 0.517274 -vt 0.215788 0.778032 -vt 0.405388 0.290522 -vt 0.492856 0.290522 -vt 0.317921 0.290522 -vt 0.467593 0.291941 -vt 0.555060 0.291941 -vt 0.380125 0.291941 -vn -1.000000 0.000000 0.000000 -vn 0.000000 0.000000 -1.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 0.000000 1.000000 -vn 0.000000 -1.000000 0.000000 -vn 0.000000 0.707100 0.707100 -vn 0.000000 1.000000 0.000000 -vn 0.000000 0.707100 -0.707100 -vn 0.707100 0.707100 0.000000 -vn -0.707100 0.707100 0.000000 -vn 0.258800 0.000000 -0.965900 -vn 0.707100 0.000000 -0.707100 -vn 0.965900 0.000000 -0.258800 -vn 0.965900 0.000000 0.258800 -vn 0.707100 0.000000 0.707100 -vn 0.258800 0.000000 0.965900 -vn -0.258800 0.000000 0.965900 -vn -0.707100 0.000000 0.707100 -vn -0.965900 0.000000 0.258800 -vn -0.965900 0.000000 -0.258800 -vn -0.258800 0.000000 -0.965900 -vn -0.707100 0.000000 -0.707100 -vn 0.600000 0.800000 0.000000 -vn -0.600000 0.800000 0.000000 -vn 0.000000 0.800000 -0.600000 -vn 0.000000 0.800000 0.600000 -vn -0.819200 0.573500 0.000000 -vn 0.000000 0.382700 0.923900 -vn 0.382700 0.923900 0.000000 -vn 0.678600 0.281100 -0.678600 -vn -0.678600 0.281100 0.678600 -vn 0.923900 0.382700 0.000000 -vn 0.357400 0.862900 -0.357400 -vn 0.000000 -0.923900 -0.382700 -vn 0.923900 -0.382700 0.000000 -vn 0.000000 -0.382700 0.923900 -vn 0.382700 -0.923900 0.000000 -vn -0.382700 -0.923900 0.000000 -vn -0.357400 0.862900 0.357400 -vn 0.000000 -0.382700 -0.923900 -vn -0.923900 -0.382700 0.000000 -vn -0.678600 -0.281100 0.678600 -vn -0.382700 0.923900 -0.000000 -vn -0.923900 0.382700 0.000000 -vn 0.000000 -0.923900 0.382700 -vn -0.000000 0.923900 0.382700 -vn 0.000000 0.382700 -0.923900 -vn 0.678600 -0.281100 -0.678600 -vn 0.000000 0.923900 -0.382700 -vn -0.357400 -0.862900 0.357400 -vn 0.357400 -0.862900 -0.357400 -vn -0.447200 0.000000 0.894400 -vn -0.447200 0.894400 0.000000 -vn -0.447200 0.000000 -0.894400 -vn 0.351100 0.000000 -0.936300 -vn 0.351100 0.000000 0.936300 -vn 0.351100 0.936300 0.000000 -vn 0.351100 -0.936300 0.000000 -vn 0.447200 0.000000 0.894400 -vn 0.447200 0.894400 0.000000 -vn 0.447200 0.000000 -0.894400 -vn -0.351100 0.000000 -0.936300 -vn -0.351100 0.000000 0.936300 -vn -0.351100 0.936300 0.000000 -vn -0.351100 -0.936300 0.000000 -vn -0.032600 0.999500 0.000000 -vn -0.771300 -0.636400 0.000000 -s off -f 4/1/1 3/2/1 1/3/1 -f 8/4/2 7/5/2 3/6/2 -f 6/7/3 5/8/3 7/9/3 -f 2/4/4 1/5/4 5/6/4 -f 3/10/5 7/11/5 5/12/5 -f 6/13/6 16/14/6 2/4/6 -f 10/15/7 55/16/7 56/17/7 -f 4/13/8 14/14/8 8/4/8 -f 8/18/9 15/19/9 6/7/9 -f 2/20/10 13/21/10 4/1/10 -f 16/22/7 114/23/7 115/24/7 -f 16/25/1 48/26/1 17/27/1 -f 14/28/7 50/29/7 51/30/7 -f 15/31/3 46/32/3 12/33/3 -f 17/34/2 47/35/2 15/36/2 -f 12/37/4 49/38/4 16/39/4 -f 23/40/11 25/41/11 24/42/11 -f 25/41/12 27/43/12 26/44/12 -f 27/43/13 29/45/13 28/46/13 -f 29/45/14 31/47/14 30/48/14 -f 31/47/15 33/49/15 32/50/15 -f 33/49/16 35/51/16 34/52/16 -f 35/51/17 37/53/17 36/54/17 -f 37/53/18 39/55/18 38/56/18 -f 39/55/19 41/57/19 40/58/19 -f 41/57/20 43/59/20 42/60/20 -f 39/61/5 86/62/5 87/63/5 -f 45/64/21 23/65/21 22/66/21 -f 43/59/22 45/64/22 44/67/22 -f 49/38/7 19/68/7 32/69/7 -f 49/38/7 34/70/7 36/71/7 -f 36/71/7 38/72/7 20/73/7 -f 48/26/7 20/73/7 38/72/7 -f 42/74/7 21/75/7 48/26/7 -f 44/76/7 21/75/7 42/74/7 -f 47/35/7 21/75/7 44/76/7 -f 24/77/7 18/78/7 47/35/7 -f 32/69/7 19/68/7 30/79/7 -f 46/32/7 28/80/7 30/79/7 -f 46/32/7 18/78/7 26/81/7 -f 26/81/7 18/78/7 24/77/7 -f 52/82/4 60/83/4 61/84/4 -f 11/85/7 51/30/7 52/86/7 -f 17/87/7 53/88/7 50/29/7 -f 15/89/7 52/86/7 53/88/7 -f 57/82/4 66/83/4 69/84/4 -f 17/87/7 57/90/7 54/91/7 -f 14/28/7 56/17/7 57/90/7 -f 13/92/7 54/91/7 55/16/7 -f 61/93/7 65/94/7 62/95/7 -f 50/96/2 58/97/2 59/98/2 -f 53/99/1 61/93/1 58/100/1 -f 51/101/3 59/102/3 60/103/3 -f 64/104/4 76/105/4 77/106/4 -f 59/102/7 63/107/7 64/108/7 -f 60/83/7 64/104/7 65/109/7 -f 58/97/7 62/110/7 63/111/7 -f 55/96/2 68/97/2 67/98/2 -f 56/101/3 67/102/3 66/103/3 -f 54/99/1 69/93/1 68/100/1 -f 69/93/7 104/94/7 105/95/7 -f 75/112/23 72/113/23 71/114/23 -f 77/115/24 70/116/24 73/117/24 -f 62/110/2 74/118/2 75/119/2 -f 65/94/1 77/115/1 74/120/1 -f 63/107/3 75/112/3 76/121/3 -f 74/118/25 73/117/25 72/113/25 -f 110/113/23 111/114/23 107/121/23 -f 77/106/26 76/105/26 71/114/26 -f 81/122/14 93/123/14 94/124/14 -f 37/125/5 85/126/5 86/127/5 -f 35/128/5 84/129/5 85/130/5 -f 33/131/5 83/132/5 84/133/5 -f 31/134/5 82/135/5 83/136/5 -f 29/137/5 81/122/5 82/138/5 -f 45/139/5 89/140/5 79/141/5 -f 23/142/5 79/143/5 78/144/5 -f 27/145/5 80/146/5 81/147/5 -f 45/148/5 43/149/5 88/150/5 -f 25/151/5 78/152/5 80/153/5 -f 41/154/5 87/155/5 88/156/5 -f 98/157/7 96/158/7 92/159/7 -f 88/150/22 100/160/22 101/161/22 -f 79/143/11 91/162/11 90/163/11 -f 85/126/18 97/164/18 98/157/18 -f 82/135/15 94/124/15 95/165/15 -f 89/140/21 101/161/21 91/162/21 -f 78/152/12 90/163/12 92/159/12 -f 86/62/19 98/157/19 99/166/19 -f 83/132/16 95/165/16 96/158/16 -f 80/146/13 92/159/13 93/123/13 -f 87/155/20 99/166/20 100/160/20 -f 84/129/17 96/158/17 97/164/17 -f 104/94/1 108/115/1 109/120/1 -f 66/83/7 103/104/7 104/109/7 -f 68/97/7 105/110/7 102/111/7 -f 67/102/7 102/107/7 103/108/7 -f 109/118/25 113/117/25 110/113/25 -f 103/104/4 107/105/4 108/106/4 -f 105/110/2 109/118/2 106/119/2 -f 102/107/3 106/112/3 107/121/3 -f 110/113/7 113/117/7 112/116/7 -f 73/117/7 70/116/7 71/114/7 -f 108/115/24 112/116/24 113/117/24 -f 107/105/26 111/114/26 112/116/26 -f 117/167/3 121/168/3 118/169/3 -f 17/87/7 117/170/7 114/23/7 -f 17/87/7 13/92/7 116/171/7 -f 9/172/7 115/24/7 116/171/7 -f 121/173/2 120/174/2 124/175/2 -f 115/176/1 119/177/1 120/178/1 -f 116/179/2 120/174/2 121/173/2 -f 114/180/4 118/181/4 119/182/4 -f 130/183/7 129/184/7 124/175/7 -f 118/181/4 122/185/4 123/186/4 -f 121/168/3 130/183/3 118/169/3 -f 119/177/27 123/186/27 124/175/27 -f 126/187/1 127/188/1 137/189/1 -f 147/190/10 146/191/10 136/192/10 -f 128/193/1 129/194/1 139/195/1 -f 140/196/1 130/197/1 131/198/1 -f 142/199/1 132/200/1 133/201/1 -f 144/202/1 134/203/1 135/204/1 -f 155/205/10 154/206/10 144/202/10 -f 153/207/10 152/208/10 142/199/10 -f 151/209/10 150/210/10 140/196/10 -f 149/211/10 148/212/10 138/213/10 -f 157/214/7 156/215/7 146/191/7 -f 159/216/7 158/217/7 148/212/7 -f 161/218/7 160/219/7 150/210/7 -f 163/220/7 162/221/7 152/208/7 -f 165/222/7 164/223/7 154/206/7 -f 182/224/7 183/225/7 189/226/7 -f 180/227/7 181/228/7 187/229/7 -f 178/230/7 179/231/7 185/232/7 -f 167/233/2 173/234/2 172/235/2 -f 169/236/2 175/237/2 174/238/2 -f 171/239/2 177/240/2 176/241/2 -f 188/242/8 189/226/8 171/239/8 -f 186/243/8 187/229/8 169/236/8 -f 184/244/8 185/232/8 167/233/8 -f 215/245/28 217/246/28 216/247/28 -f 191/248/29 193/249/29 192/250/29 -f 195/251/30 193/252/30 220/253/30 -f 216/254/31 205/255/31 203/256/31 -f 193/249/32 195/257/32 194/258/32 -f 191/259/33 218/260/33 220/253/33 -f 209/261/34 211/262/34 210/263/34 -f 195/257/35 197/264/35 196/265/35 -f 213/266/36 215/245/36 214/267/36 -f 197/264/37 199/268/37 198/269/37 -f 199/268/38 201/270/38 200/271/38 -f 218/272/39 191/273/39 205/255/39 -f 207/274/40 209/261/40 208/275/40 -f 201/270/41 203/276/41 202/277/41 -f 201/278/42 212/279/42 214/280/42 -f 205/281/43 191/282/43 190/283/43 -f 203/276/44 205/281/44 204/284/44 -f 211/262/45 213/266/45 212/285/45 -f 217/246/46 219/286/46 218/287/46 -f 221/288/47 207/274/47 206/289/47 -f 195/251/48 206/290/48 208/291/48 -f 219/292/49 221/288/49 220/293/49 -f 212/279/50 201/278/50 199/294/50 -f 197/295/51 208/291/51 210/296/51 -f 247/297/28 249/298/28 248/299/28 -f 223/300/29 225/301/29 224/302/29 -f 227/303/30 225/304/30 252/305/30 -f 248/306/31 237/307/31 235/308/31 -f 225/301/32 227/309/32 226/310/32 -f 223/311/33 250/312/33 252/305/33 -f 241/313/34 243/314/34 242/315/34 -f 227/309/35 229/316/35 228/317/35 -f 245/318/36 247/297/36 246/319/36 -f 229/316/37 231/320/37 230/321/37 -f 231/320/38 233/322/38 232/323/38 -f 250/324/39 223/325/39 237/307/39 -f 239/326/40 241/313/40 240/327/40 -f 233/322/41 235/328/41 234/329/41 -f 233/330/42 244/331/42 246/332/42 -f 237/333/43 223/334/43 222/335/43 -f 235/328/44 237/333/44 236/336/44 -f 243/314/45 245/318/45 244/337/45 -f 249/298/46 251/338/46 250/339/46 -f 253/340/47 239/326/47 238/341/47 -f 227/303/48 238/342/48 240/343/48 -f 251/344/49 253/340/49 252/345/49 -f 242/346/50 244/331/50 233/330/50 -f 229/347/51 240/343/51 242/346/51 -f 279/348/28 281/349/28 280/350/28 -f 255/351/29 257/352/29 256/353/29 -f 259/354/30 257/355/30 284/356/30 -f 280/357/31 269/358/31 267/359/31 -f 257/352/32 259/360/32 258/361/32 -f 255/362/33 282/363/33 284/356/33 -f 273/364/34 275/365/34 274/366/34 -f 259/360/35 261/367/35 260/368/35 -f 277/369/36 279/348/36 278/370/36 -f 261/367/37 263/371/37 262/372/37 -f 263/371/38 265/373/38 264/374/38 -f 282/375/39 255/376/39 269/358/39 -f 271/377/40 273/364/40 272/378/40 -f 265/373/41 267/379/41 266/380/41 -f 267/359/42 265/381/42 276/382/42 -f 269/383/43 255/384/43 254/385/43 -f 267/379/44 269/383/44 268/386/44 -f 275/365/45 277/369/45 276/387/45 -f 281/349/46 283/388/46 282/389/46 -f 285/390/47 271/377/47 270/391/47 -f 259/354/48 270/392/48 272/393/48 -f 282/394/49 283/395/49 285/390/49 -f 274/396/50 276/382/50 265/381/50 -f 263/397/51 261/398/51 272/393/51 -f 289/399/1 288/400/1 286/401/1 -f 293/402/2 292/403/2 295/404/2 -f 292/405/3 299/406/3 301/407/3 -f 287/408/52 286/401/52 297/409/52 -f 295/410/5 292/411/5 290/412/5 -f 294/413/53 289/399/53 287/408/53 -f 293/414/7 294/413/7 296/415/7 -f 296/416/4 297/409/4 290/412/4 -f 294/417/54 295/404/54 288/400/54 -f 301/418/55 305/419/55 304/420/55 -f 291/421/3 300/422/3 298/423/3 -f 293/424/3 298/425/3 299/426/3 -f 290/427/3 301/418/3 300/428/3 -f 304/420/3 305/419/3 303/429/3 -f 298/425/56 302/430/56 303/429/56 -f 299/406/57 303/429/57 305/419/57 -f 300/422/58 304/420/58 302/430/58 -f 306/400/3 308/401/3 309/408/3 -f 315/409/2 312/412/2 313/431/2 -f 321/422/1 319/423/1 312/432/1 -f 317/404/59 306/400/59 307/399/59 -f 310/411/5 312/412/5 315/409/5 -f 307/399/60 309/408/60 314/415/60 -f 316/413/7 314/415/7 313/433/7 -f 310/403/4 317/404/4 316/417/4 -f 308/401/61 315/409/61 314/416/61 -f 324/419/62 325/420/62 321/428/62 -f 318/406/1 320/407/1 311/434/1 -f 319/425/1 318/426/1 313/435/1 -f 320/418/1 321/428/1 310/436/1 -f 323/430/1 325/420/1 324/419/1 -f 323/430/63 322/429/63 318/426/63 -f 325/420/64 323/430/64 319/423/64 -f 322/429/65 324/419/65 320/407/65 -f 332/437/3 326/438/3 327/439/3 -f 332/440/2 337/441/2 335/442/2 -f 329/443/1 331/444/1 330/445/1 -f 333/446/7 327/439/7 331/444/7 -f 328/447/5 330/445/5 326/438/5 -f 327/439/2 326/438/2 330/445/2 -f 337/441/5 341/448/5 339/449/5 -f 329/450/2 334/451/2 336/452/2 -f 328/453/2 335/454/2 334/455/2 -f 333/456/2 336/457/2 337/458/2 -f 421/459/10 420/460/10 408/461/10 -f 334/451/7 338/462/7 340/463/7 -f 336/457/3 340/464/3 341/465/3 -f 335/454/1 339/466/1 338/467/1 -f 348/437/3 342/438/3 343/439/3 -f 348/440/2 353/441/2 351/442/2 -f 345/443/1 347/444/1 346/445/1 -f 349/446/7 343/439/7 347/444/7 -f 344/447/5 346/445/5 342/438/5 -f 343/439/2 342/438/2 346/445/2 -f 353/441/5 357/448/5 355/449/5 -f 345/450/2 350/451/2 352/452/2 -f 344/453/2 351/454/2 350/455/2 -f 349/456/2 352/457/2 353/458/2 -f 423/468/10 422/469/10 410/470/10 -f 350/451/7 354/462/7 356/463/7 -f 352/457/3 356/464/3 357/465/3 -f 351/454/1 355/466/1 354/467/1 -f 359/471/3 358/472/3 364/473/3 -f 367/474/4 369/475/4 364/476/4 -f 362/477/1 363/478/1 361/479/1 -f 363/478/7 359/471/7 365/480/7 -f 358/472/5 362/477/5 360/481/5 -f 362/477/4 358/472/4 359/471/4 -f 371/482/5 373/483/5 369/475/5 -f 368/484/4 366/485/4 361/486/4 -f 366/487/4 367/488/4 360/489/4 -f 369/490/4 368/491/4 365/492/4 -f 372/493/2 373/494/2 371/495/2 -f 372/493/7 370/496/7 366/485/7 -f 373/497/3 372/498/3 368/491/3 -f 370/499/1 371/500/1 367/488/1 -f 375/444/3 374/445/3 380/453/3 -f 383/441/4 385/442/4 380/447/4 -f 378/438/1 379/439/1 377/456/1 -f 379/439/7 375/444/7 381/450/7 -f 374/445/5 378/438/5 376/440/5 -f 378/438/4 374/445/4 375/444/4 -f 387/448/5 389/449/5 385/442/5 -f 384/451/4 382/452/4 377/446/4 -f 382/457/4 383/458/4 376/437/4 -f 385/454/4 384/455/4 381/443/4 -f 425/501/10 424/502/10 412/503/10 -f 388/462/7 386/463/7 382/452/7 -f 389/466/3 388/467/3 384/455/3 -f 386/464/1 387/465/1 383/458/1 -f 391/504/2 390/505/2 392/506/2 -f 394/507/4 395/508/4 393/509/4 -f 397/510/2 396/511/2 398/512/2 -f 400/513/4 401/514/4 399/515/4 -f 414/516/66 420/460/66 421/459/66 -f 416/517/66 422/469/66 423/468/66 -f 418/518/66 424/502/66 425/501/66 -f 418/518/67 406/519/67 407/520/67 -f 416/517/67 404/521/67 405/522/67 -f 414/516/67 402/523/67 403/524/67 -f 2/20/1 4/1/1 1/3/1 -f 4/13/2 8/4/2 3/6/2 -f 8/18/3 6/7/3 7/9/3 -f 6/13/4 2/4/4 5/6/4 -f 1/525/5 3/10/5 5/12/5 -f 9/526/6 2/4/6 16/14/6 -f 6/13/6 12/527/6 16/14/6 -f 14/28/7 10/15/7 56/17/7 -f 11/526/8 8/4/8 14/14/8 -f 4/13/8 10/527/8 14/14/8 -f 12/528/9 6/7/9 15/19/9 -f 8/18/9 11/529/9 15/19/9 -f 10/530/10 4/1/10 13/21/10 -f 2/20/10 9/531/10 13/21/10 -f 9/172/7 16/22/7 115/24/7 -f 21/75/1 17/27/1 48/26/1 -f 16/25/1 20/73/1 48/26/1 -f 11/85/7 14/28/7 51/30/7 -f 19/68/3 12/33/3 46/32/3 -f 15/31/3 18/78/3 46/32/3 -f 18/78/2 15/36/2 47/35/2 -f 17/34/2 21/75/2 47/35/2 -f 20/73/4 16/39/4 49/38/4 -f 12/37/4 19/68/4 49/38/4 -f 22/532/11 23/40/11 24/42/11 -f 24/42/12 25/41/12 26/44/12 -f 26/44/13 27/43/13 28/46/13 -f 28/46/14 29/45/14 30/48/14 -f 30/48/15 31/47/15 32/50/15 -f 32/50/16 33/49/16 34/52/16 -f 34/52/17 35/51/17 36/54/17 -f 36/54/18 37/53/18 38/56/18 -f 38/56/19 39/55/19 40/58/19 -f 40/58/20 41/57/20 42/60/20 -f 41/533/5 39/61/5 87/63/5 -f 44/67/21 45/64/21 22/66/21 -f 42/60/22 43/59/22 44/67/22 -f 34/70/7 49/38/7 32/69/7 -f 20/73/7 49/38/7 36/71/7 -f 40/534/7 48/26/7 38/72/7 -f 40/534/7 42/74/7 48/26/7 -f 22/535/7 47/35/7 44/76/7 -f 22/535/7 24/77/7 47/35/7 -f 19/68/7 46/32/7 30/79/7 -f 28/80/7 46/32/7 26/81/7 -f 53/536/4 52/82/4 61/84/4 -f 15/89/7 11/85/7 52/86/7 -f 14/28/7 17/87/7 50/29/7 -f 17/87/7 15/89/7 53/88/7 -f 54/536/4 57/82/4 69/84/4 -f 13/92/7 17/87/7 54/91/7 -f 17/87/7 14/28/7 57/90/7 -f 10/15/7 13/92/7 55/16/7 -f 58/100/7 61/93/7 62/95/7 -f 51/537/2 50/96/2 59/98/2 -f 50/538/1 53/99/1 58/100/1 -f 52/539/3 51/101/3 60/103/3 -f 65/109/4 64/104/4 77/106/4 -f 60/103/7 59/102/7 64/108/7 -f 61/84/7 60/83/7 65/109/7 -f 59/98/7 58/97/7 63/111/7 -f 56/537/2 55/96/2 67/98/2 -f 57/539/3 56/101/3 66/103/3 -f 55/538/1 54/99/1 68/100/1 -f 68/100/7 69/93/7 105/95/7 -f 76/121/23 75/112/23 71/114/23 -f 74/120/24 77/115/24 73/117/24 -f 63/111/2 62/110/2 75/119/2 -f 62/95/1 65/94/1 74/120/1 -f 64/108/3 63/107/3 76/121/3 -f 75/119/25 74/118/25 72/113/25 -f 106/112/23 110/113/23 107/121/23 -f 70/116/26 77/106/26 71/114/26 -f 82/138/14 81/122/14 94/124/14 -f 39/540/5 37/125/5 86/127/5 -f 37/541/5 35/128/5 85/130/5 -f 35/542/5 33/131/5 84/133/5 -f 33/543/5 31/134/5 83/136/5 -f 31/544/5 29/137/5 82/138/5 -f 23/545/5 45/139/5 79/141/5 -f 25/546/5 23/142/5 78/144/5 -f 29/547/5 27/145/5 81/147/5 -f 89/548/5 45/148/5 88/150/5 -f 27/549/5 25/151/5 80/153/5 -f 43/550/5 41/154/5 88/156/5 -f 92/159/7 90/163/7 100/160/7 -f 91/162/7 101/161/7 100/160/7 -f 100/160/7 99/166/7 98/157/7 -f 98/157/7 97/164/7 96/158/7 -f 96/158/7 95/165/7 94/124/7 -f 94/124/7 93/123/7 92/159/7 -f 90/163/7 91/162/7 100/160/7 -f 100/160/7 98/157/7 92/159/7 -f 96/158/7 94/124/7 92/159/7 -f 89/548/22 88/150/22 101/161/22 -f 78/144/11 79/143/11 90/163/11 -f 86/127/18 85/126/18 98/157/18 -f 83/136/15 82/135/15 95/165/15 -f 79/141/21 89/140/21 91/162/21 -f 80/153/12 78/152/12 92/159/12 -f 87/63/19 86/62/19 99/166/19 -f 84/133/16 83/132/16 96/158/16 -f 81/147/13 80/146/13 93/123/13 -f 88/156/20 87/155/20 100/160/20 -f 85/130/17 84/129/17 97/164/17 -f 105/95/1 104/94/1 109/120/1 -f 69/84/7 66/83/7 104/109/7 -f 67/98/7 68/97/7 102/111/7 -f 66/103/7 67/102/7 103/108/7 -f 106/119/25 109/118/25 110/113/25 -f 104/109/4 103/104/4 108/106/4 -f 102/111/2 105/110/2 106/119/2 -f 103/108/3 102/107/3 107/121/3 -f 111/114/7 110/113/7 112/116/7 -f 72/113/7 73/117/7 71/114/7 -f 109/120/24 108/115/24 113/117/24 -f 108/106/26 107/105/26 112/116/26 -f 114/551/3 117/167/3 118/169/3 -f 16/22/7 17/87/7 114/23/7 -f 117/170/7 17/87/7 116/171/7 -f 13/92/7 9/172/7 116/171/7 -f 125/552/2 121/173/2 124/175/2 -f 116/553/1 115/176/1 120/178/1 -f 117/554/2 116/179/2 121/173/2 -f 115/555/4 114/180/4 119/182/4 -f 123/186/7 122/185/7 135/556/7 -f 135/556/7 134/557/7 123/186/7 -f 133/558/7 132/559/7 123/186/7 -f 131/560/7 130/183/7 124/175/7 -f 129/184/7 128/561/7 124/175/7 -f 127/562/7 126/563/7 124/175/7 -f 125/552/7 124/175/7 126/563/7 -f 123/186/7 134/557/7 133/558/7 -f 132/559/7 131/560/7 123/186/7 -f 128/561/7 127/562/7 124/175/7 -f 124/175/7 123/186/7 131/560/7 -f 119/182/4 118/181/4 123/186/4 -f 122/185/3 118/169/3 135/556/3 -f 121/168/3 125/552/3 126/563/3 -f 126/563/3 127/562/3 121/168/3 -f 128/561/3 129/184/3 121/168/3 -f 130/183/3 131/560/3 118/169/3 -f 132/559/3 133/558/3 118/169/3 -f 134/557/3 135/556/3 118/169/3 -f 121/168/3 127/562/3 128/561/3 -f 134/557/3 118/169/3 133/558/3 -f 131/560/3 132/559/3 118/169/3 -f 121/168/3 129/184/3 130/183/3 -f 120/178/27 119/177/27 124/175/27 -f 136/192/1 126/187/1 137/189/1 -f 137/189/10 147/190/10 136/192/10 -f 138/213/1 128/193/1 139/195/1 -f 141/564/1 140/196/1 131/198/1 -f 143/565/1 142/199/1 133/201/1 -f 145/566/1 144/202/1 135/204/1 -f 145/566/10 155/205/10 144/202/10 -f 143/565/10 153/207/10 142/199/10 -f 141/564/10 151/209/10 140/196/10 -f 139/195/10 149/211/10 138/213/10 -f 147/190/7 157/214/7 146/191/7 -f 149/211/7 159/216/7 148/212/7 -f 151/209/7 161/218/7 150/210/7 -f 153/207/7 163/220/7 152/208/7 -f 155/205/7 165/222/7 154/206/7 -f 188/242/7 182/224/7 189/226/7 -f 186/243/7 180/227/7 187/229/7 -f 184/244/7 178/230/7 185/232/7 -f 166/567/2 167/233/2 172/235/2 -f 168/568/2 169/236/2 174/238/2 -f 170/569/2 171/239/2 176/241/2 -f 170/569/8 188/242/8 171/239/8 -f 168/568/8 186/243/8 169/236/8 -f 166/567/8 184/244/8 167/233/8 -f 214/267/28 215/245/28 216/247/28 -f 190/570/29 191/248/29 192/250/29 -f 206/290/30 195/251/30 220/253/30 -f 214/280/31 216/254/31 203/256/31 -f 192/250/32 193/249/32 194/258/32 -f 193/252/33 191/259/33 220/253/33 -f 208/275/34 209/261/34 210/263/34 -f 194/258/35 195/257/35 196/265/35 -f 212/285/36 213/266/36 214/267/36 -f 196/265/37 197/264/37 198/269/37 -f 198/269/38 199/268/38 200/271/38 -f 216/254/39 218/272/39 205/255/39 -f 206/289/40 207/274/40 208/275/40 -f 200/271/41 201/270/41 202/277/41 -f 203/256/42 201/278/42 214/280/42 -f 204/284/43 205/281/43 190/283/43 -f 202/277/44 203/276/44 204/284/44 -f 210/263/45 211/262/45 212/285/45 -f 216/247/46 217/246/46 218/287/46 -f 220/293/47 221/288/47 206/289/47 -f 197/295/48 195/251/48 208/291/48 -f 218/571/49 219/292/49 220/293/49 -f 210/296/50 212/279/50 199/294/50 -f 199/294/51 197/295/51 210/296/51 -f 246/319/28 247/297/28 248/299/28 -f 222/572/29 223/300/29 224/302/29 -f 238/342/30 227/303/30 252/305/30 -f 246/332/31 248/306/31 235/308/31 -f 224/302/32 225/301/32 226/310/32 -f 225/304/33 223/311/33 252/305/33 -f 240/327/34 241/313/34 242/315/34 -f 226/310/35 227/309/35 228/317/35 -f 244/337/36 245/318/36 246/319/36 -f 228/317/37 229/316/37 230/321/37 -f 230/321/38 231/320/38 232/323/38 -f 248/306/39 250/324/39 237/307/39 -f 238/341/40 239/326/40 240/327/40 -f 232/323/41 233/322/41 234/329/41 -f 235/308/42 233/330/42 246/332/42 -f 236/336/43 237/333/43 222/335/43 -f 234/329/44 235/328/44 236/336/44 -f 242/315/45 243/314/45 244/337/45 -f 248/299/46 249/298/46 250/339/46 -f 252/345/47 253/340/47 238/341/47 -f 229/347/48 227/303/48 240/343/48 -f 250/573/49 251/344/49 252/345/49 -f 231/574/50 242/346/50 233/330/50 -f 231/574/51 229/347/51 242/346/51 -f 278/370/28 279/348/28 280/350/28 -f 254/575/29 255/351/29 256/353/29 -f 270/392/30 259/354/30 284/356/30 -f 278/576/31 280/357/31 267/359/31 -f 256/353/32 257/352/32 258/361/32 -f 257/355/33 255/362/33 284/356/33 -f 272/378/34 273/364/34 274/366/34 -f 258/361/35 259/360/35 260/368/35 -f 276/387/36 277/369/36 278/370/36 -f 260/368/37 261/367/37 262/372/37 -f 262/372/38 263/371/38 264/374/38 -f 280/357/39 282/375/39 269/358/39 -f 270/391/40 271/377/40 272/378/40 -f 264/374/41 265/373/41 266/380/41 -f 278/576/42 267/359/42 276/382/42 -f 268/386/43 269/383/43 254/385/43 -f 266/380/44 267/379/44 268/386/44 -f 274/366/45 275/365/45 276/387/45 -f 280/350/46 281/349/46 282/389/46 -f 284/577/47 285/390/47 270/391/47 -f 261/398/48 259/354/48 272/393/48 -f 284/577/49 282/394/49 285/390/49 -f 263/397/50 274/396/50 265/381/50 -f 274/396/51 263/397/51 272/393/51 -f 287/408/1 289/399/1 286/401/1 -f 294/417/2 293/402/2 295/404/2 -f 290/434/3 292/405/3 301/407/3 -f 296/416/52 287/408/52 297/409/52 -f 297/409/5 295/410/5 290/412/5 -f 296/415/53 294/413/53 287/408/53 -f 291/433/7 293/414/7 296/415/7 -f 291/431/4 296/416/4 290/412/4 -f 289/399/54 294/417/54 288/400/54 -f 300/428/55 301/418/55 304/420/55 -f 293/432/3 291/421/3 298/423/3 -f 292/435/3 293/424/3 299/426/3 -f 291/436/3 290/427/3 300/428/3 -f 302/430/3 304/420/3 303/429/3 -f 299/426/56 298/425/56 303/429/56 -f 301/407/57 299/406/57 305/419/57 -f 298/423/58 300/422/58 302/430/58 -f 307/399/3 306/400/3 309/408/3 -f 314/416/2 315/409/2 313/431/2 -f 310/421/1 321/422/1 312/432/1 -f 316/417/59 317/404/59 307/399/59 -f 317/410/5 310/411/5 315/409/5 -f 316/413/60 307/399/60 314/415/60 -f 311/414/7 316/413/7 313/433/7 -f 311/402/4 310/403/4 316/417/4 -f 309/408/61 308/401/61 314/416/61 -f 320/418/62 324/419/62 321/428/62 -f 313/405/1 318/406/1 311/434/1 -f 312/424/1 319/425/1 313/435/1 -f 311/427/1 320/418/1 310/436/1 -f 322/429/1 323/430/1 324/419/1 -f 319/425/63 323/430/63 318/426/63 -f 321/422/64 325/420/64 319/423/64 -f 318/406/65 322/429/65 320/407/65 -f 333/456/3 332/437/3 327/439/3 -f 328/447/2 332/440/2 335/442/2 -f 328/453/1 329/443/1 330/445/1 -f 329/450/7 333/446/7 331/444/7 -f 332/440/5 328/447/5 326/438/5 -f 331/444/2 327/439/2 330/445/2 -f 335/442/5 337/441/5 339/449/5 -f 333/446/2 329/450/2 336/452/2 -f 329/443/2 328/453/2 334/455/2 -f 332/437/2 333/456/2 337/458/2 -f 409/578/10 421/459/10 408/461/10 -f 336/452/7 334/451/7 340/463/7 -f 337/458/3 336/457/3 341/465/3 -f 334/455/1 335/454/1 338/467/1 -f 349/456/3 348/437/3 343/439/3 -f 344/447/2 348/440/2 351/442/2 -f 344/453/1 345/443/1 346/445/1 -f 345/450/7 349/446/7 347/444/7 -f 348/440/5 344/447/5 342/438/5 -f 347/444/2 343/439/2 346/445/2 -f 351/442/5 353/441/5 355/449/5 -f 349/446/2 345/450/2 352/452/2 -f 345/443/2 344/453/2 350/455/2 -f 348/437/2 349/456/2 353/458/2 -f 411/579/10 423/468/10 410/470/10 -f 352/452/7 350/451/7 356/463/7 -f 353/458/3 352/457/3 357/465/3 -f 350/455/1 351/454/1 354/467/1 -f 365/492/3 359/471/3 364/473/3 -f 360/481/4 367/474/4 364/476/4 -f 360/489/1 362/477/1 361/479/1 -f 361/486/7 363/478/7 365/480/7 -f 364/476/5 358/472/5 360/481/5 -f 363/478/4 362/477/4 359/471/4 -f 367/474/5 371/482/5 369/475/5 -f 365/480/4 368/484/4 361/486/4 -f 361/479/4 366/487/4 360/489/4 -f 364/473/4 369/490/4 365/492/4 -f 370/496/2 372/493/2 371/495/2 -f 368/484/7 372/493/7 366/485/7 -f 369/490/3 373/497/3 368/491/3 -f 366/487/1 370/499/1 367/488/1 -f 381/443/3 375/444/3 380/453/3 -f 376/440/4 383/441/4 380/447/4 -f 376/437/1 378/438/1 377/456/1 -f 377/446/7 379/439/7 381/450/7 -f 380/447/5 374/445/5 376/440/5 -f 379/439/4 378/438/4 375/444/4 -f 383/441/5 387/448/5 385/442/5 -f 381/450/4 384/451/4 377/446/4 -f 377/456/4 382/457/4 376/437/4 -f 380/453/4 385/454/4 381/443/4 -f 413/580/10 425/501/10 412/503/10 -f 384/451/7 388/462/7 382/452/7 -f 385/454/3 389/466/3 384/455/3 -f 382/457/1 386/464/1 383/458/1 -f 415/581/66 414/516/66 421/459/66 -f 417/582/66 416/517/66 423/468/66 -f 419/583/66 418/518/66 425/501/66 -f 419/583/67 418/518/67 407/520/67 -f 417/582/67 416/517/67 405/522/67 -f 415/581/67 414/516/67 403/524/67 diff --git a/src/main/resources/assets/hbm/models/chemplant_piston.obj b/src/main/resources/assets/hbm/models/chemplant_piston.obj deleted file mode 100644 index 16c48a3e6..000000000 --- a/src/main/resources/assets/hbm/models/chemplant_piston.obj +++ /dev/null @@ -1,150 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'chemplant_piston.blend' -# www.blender.org -o Cube.001_Cube.002 -v 0.427500 2.000000 -0.427500 -v 0.427500 2.000000 -0.822500 -v 0.822500 2.000000 -0.427500 -v 0.822500 2.000000 -0.822500 -v 0.427500 2.150000 -0.427500 -v 0.427500 2.150000 -0.822500 -v 0.822500 2.150000 -0.822500 -v 0.822500 2.150000 -0.427500 -v 0.476875 2.000000 -0.476875 -v 0.476875 2.000000 -0.773125 -v 0.773125 2.000000 -0.773125 -v 0.773125 2.000000 -0.476875 -v 0.476875 1.500000 -0.476875 -v 0.476875 1.500000 -0.773125 -v 0.773125 1.500000 -0.773125 -v 0.773125 1.500000 -0.476875 -v -0.822500 2.000000 -0.427500 -v -0.822500 2.000000 -0.822500 -v -0.427500 2.000000 -0.427500 -v -0.427500 2.000000 -0.822500 -v -0.822500 2.150000 -0.427500 -v -0.822500 2.150000 -0.822500 -v -0.427500 2.150000 -0.822500 -v -0.427500 2.150000 -0.427500 -v -0.773125 2.000000 -0.476875 -v -0.773125 2.000000 -0.773125 -v -0.476875 2.000000 -0.773125 -v -0.476875 2.000000 -0.476875 -v -0.773125 1.500000 -0.476875 -v -0.773125 1.500000 -0.773125 -v -0.476875 1.500000 -0.773125 -v -0.476875 1.500000 -0.476875 -vt 0.263926 0.442748 -vt 0.248840 0.427662 -vt 0.248840 0.337146 -vt 0.309756 0.322060 -vt 0.430444 0.322060 -vt 0.430444 0.442748 -vt 0.263926 0.322060 -vt 0.309756 0.442748 -vt 0.476275 0.442748 -vt 0.309756 0.488579 -vt 0.430444 0.276229 -vt 0.415358 0.503665 -vt 0.415358 0.656434 -vt 0.324842 0.656434 -vt 0.476275 0.322060 -vt 0.491361 0.337146 -vt 0.491361 0.427662 -vt 0.430444 0.488579 -vt 0.324842 0.503664 -vt 0.309756 0.276230 -vt 0.324842 0.261143 -vt 0.415358 0.261144 -vt 0.324842 0.108374 -vt 0.415358 0.108374 -vt 0.096070 0.427662 -vt 0.096071 0.337146 -vt 0.644130 0.337146 -vt 0.644130 0.427662 -vt 0.847582 0.752895 -vt 0.847582 0.774230 -vt 0.783577 0.838234 -vt 0.729835 0.805827 -vt 0.644497 0.720488 -vt 0.729836 0.635149 -vt 0.762243 0.838234 -vt 0.815175 0.720488 -vt 0.697428 0.602742 -vt 0.847582 0.688081 -vt 0.612089 0.752895 -vt 0.783578 0.602742 -vt 0.891602 0.494718 -vt 0.955606 0.558722 -vt 0.612089 0.688081 -vt 0.612089 0.666746 -vt 0.676094 0.602742 -vt 0.762243 0.602742 -vt 0.847582 0.666746 -vt 0.697428 0.838234 -vt 0.676093 0.838234 -vt 0.612089 0.774230 -vt 0.568069 0.946258 -vt 0.504065 0.882254 -vt 0.955606 0.882254 -vt 0.891601 0.946258 -vt 0.504065 0.558721 -vt 0.568070 0.494717 -vn 0.000000 -1.000000 0.000000 -vn 0.000000 1.000000 0.000000 -vn 1.000000 0.000000 0.000000 -vn -1.000000 0.000000 0.000000 -vn 0.000000 0.000000 1.000000 -vn 0.000000 0.000000 -1.000000 -s off -f 3/1/1 12/2/1 11/3/1 -f 7/4/2 6/5/2 5/6/2 -f 4/7/3 7/4/3 8/8/3 -f 1/9/4 5/6/4 6/5/4 -f 3/10/5 8/8/5 5/6/5 -f 2/11/6 6/5/6 7/4/6 -f 9/12/5 13/13/5 16/14/5 -f 2/15/1 10/16/1 9/17/1 -f 1/18/1 9/12/1 12/19/1 -f 4/20/1 11/21/1 10/22/1 -f 11/21/6 15/23/6 14/24/6 -f 12/2/3 16/25/3 15/26/3 -f 10/16/4 14/27/4 13/28/4 -f 19/29/1 28/30/1 27/31/1 -f 23/32/2 22/33/2 21/34/2 -f 20/35/3 23/32/3 24/36/3 -f 17/37/4 21/34/4 22/33/4 -f 19/38/5 24/36/5 21/34/5 -f 18/39/6 22/33/6 23/32/6 -f 25/40/5 29/41/5 32/42/5 -f 18/43/1 26/44/1 25/45/1 -f 17/46/1 25/40/1 28/47/1 -f 20/48/1 27/49/1 26/50/1 -f 27/49/6 31/51/6 30/52/6 -f 28/30/3 32/53/3 31/54/3 -f 26/44/4 30/55/4 29/56/4 -f 4/7/1 3/1/1 11/3/1 -f 8/8/2 7/4/2 5/6/2 -f 3/1/3 4/7/3 8/8/3 -f 2/15/4 1/9/4 6/5/4 -f 1/18/5 3/10/5 5/6/5 -f 4/20/6 2/11/6 7/4/6 -f 12/19/5 9/12/5 16/14/5 -f 1/9/1 2/15/1 9/17/1 -f 3/10/1 1/18/1 12/19/1 -f 2/11/1 4/20/1 10/22/1 -f 10/22/6 11/21/6 14/24/6 -f 11/3/3 12/2/3 15/26/3 -f 9/17/4 10/16/4 13/28/4 -f 20/35/1 19/29/1 27/31/1 -f 24/36/2 23/32/2 21/34/2 -f 19/29/3 20/35/3 24/36/3 -f 18/43/4 17/37/4 22/33/4 -f 17/46/5 19/38/5 21/34/5 -f 20/48/6 18/39/6 23/32/6 -f 28/47/5 25/40/5 32/42/5 -f 17/37/1 18/43/1 25/45/1 -f 19/38/1 17/46/1 28/47/1 -f 18/39/1 20/48/1 26/50/1 -f 26/50/6 27/49/6 30/52/6 -f 27/31/3 28/30/3 31/54/3 -f 25/45/4 26/44/4 29/56/4 diff --git a/src/main/resources/assets/hbm/models/doors/silo_hatch.obj b/src/main/resources/assets/hbm/models/doors/silo_hatch.obj new file mode 100644 index 000000000..e500f7adf --- /dev/null +++ b/src/main/resources/assets/hbm/models/doors/silo_hatch.obj @@ -0,0 +1,344 @@ +# Blender v2.79 (sub 0) OBJ File: 'silo_hatch.blend' +# www.blender.org +o Hatch +v -1.750000 0.750000 1.750000 +v 1.750000 0.750000 1.750000 +v -1.750000 0.750000 -1.750000 +v 1.750000 0.750000 -1.750000 +v -1.750000 1.000000 -1.750000 +v -1.750000 1.000000 1.750000 +v 1.750000 1.000000 1.750000 +v 1.750000 1.000000 -1.750000 +v -1.500000 0.750000 -1.500000 +v -1.500000 0.750000 1.500000 +v 1.500000 0.750000 1.500000 +v 1.500000 0.750000 -1.500000 +v -1.500000 0.500000 -1.500000 +v -1.500000 0.500000 1.500000 +v 1.500000 0.500000 1.500000 +v 1.500000 0.500000 -1.500000 +v -1.000000 0.750000 -1.500000 +v 1.000000 0.750000 -1.500000 +v -1.000000 0.750000 -2.000000 +v 1.000000 0.750000 -2.000000 +v -1.000000 0.500000 -2.000000 +v -1.000000 0.500000 -1.500000 +v 1.000000 0.500000 -1.500000 +v 1.000000 0.500000 -2.000000 +vt 0.588235 0.333333 +vt 0.970588 0.309524 +vt 1.000000 0.333333 +vt 1.000000 0.357143 +vt 0.588235 0.690476 +vt 0.588235 0.357143 +vt 1.000000 0.333333 +vt 0.588235 0.357143 +vt 0.588235 0.333333 +vt 1.000000 0.333333 +vt 0.588235 0.357143 +vt 0.588235 0.333333 +vt 1.000000 0.333333 +vt 0.588235 0.357143 +vt 0.588235 0.333333 +vt 0.970588 0.309524 +vt 0.970588 0.309524 +vt 0.970588 0.309524 +vt 0.617647 0.309524 +vt 0.970588 0.285714 +vt 0.617647 0.309524 +vt 0.970588 0.285714 +vt 0.617647 0.309524 +vt 0.970588 0.285714 +vt 0.617647 0.309524 +vt 0.970588 0.285714 +vt 0.970588 0.000000 +vt 0.617647 0.285714 +vt 0.617647 -0.000000 +vt 0.852941 0.809524 +vt 0.617647 0.761905 +vt 0.852941 0.761905 +vt 0.617647 0.738095 +vt 0.852941 0.690476 +vt 0.852941 0.738095 +vt 0.558824 0.761905 +vt 0.911765 0.738095 +vt 0.911765 0.761905 +vt 1.000000 0.690476 +vt 1.000000 0.357143 +vt 1.000000 0.357143 +vt 1.000000 0.357143 +vt 0.617647 0.285714 +vt 0.617647 0.285714 +vt 0.617647 0.285714 +vt 0.617647 0.809524 +vt 0.617647 0.690476 +vt 0.558824 0.738095 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +s off +f 1/1/1 11/2/1 2/3/1 +f 7/4/2 5/5/2 6/6/2 +f 3/7/3 8/8/3 4/9/3 +f 2/3/4 6/6/4 1/1/4 +f 4/10/5 7/11/5 2/12/5 +f 1/13/6 5/14/6 3/15/6 +f 2/12/1 12/16/1 4/10/1 +f 4/9/1 9/17/1 3/7/1 +f 3/15/1 10/18/1 1/13/1 +f 11/19/5 16/20/5 12/16/5 +f 9/21/6 14/22/6 10/18/6 +f 12/23/3 13/24/3 9/17/3 +f 10/25/4 15/26/4 11/2/4 +f 16/27/1 14/28/1 13/29/1 +f 17/30/2 20/31/2 19/32/2 +f 24/33/1 22/34/1 21/35/1 +f 18/36/5 24/33/5 20/31/5 +f 20/31/3 21/35/3 19/32/3 +f 19/32/6 22/37/6 17/38/6 +f 1/1/1 10/25/1 11/2/1 +f 7/4/2 8/39/2 5/5/2 +f 3/7/3 5/40/3 8/8/3 +f 2/3/4 7/4/4 6/6/4 +f 4/10/5 8/41/5 7/11/5 +f 1/13/6 6/42/6 5/14/6 +f 2/12/1 11/19/1 12/16/1 +f 4/9/1 12/23/1 9/17/1 +f 3/15/1 9/21/1 10/18/1 +f 11/19/5 15/43/5 16/20/5 +f 9/21/6 13/44/6 14/22/6 +f 12/23/3 16/45/3 13/24/3 +f 10/25/4 14/28/4 15/26/4 +f 16/27/1 15/26/1 14/28/1 +f 17/30/2 18/46/2 20/31/2 +f 24/33/1 23/47/1 22/34/1 +f 18/36/5 23/48/5 24/33/5 +f 20/31/3 24/33/3 21/35/3 +f 19/32/6 21/35/6 22/37/6 +o Frame +v -2.500000 0.000000 2.500000 +v 2.500000 0.000000 2.500000 +v -2.500000 0.000000 -2.500000 +v 2.500000 0.000000 -2.500000 +v -2.500000 0.250000 2.500000 +v 2.500000 0.250000 2.500000 +v -2.500000 0.250000 -2.500000 +v 2.500000 0.250000 -2.500000 +v -2.250000 1.000000 2.250000 +v 2.250000 1.000000 2.250000 +v -2.250000 1.000000 -2.250000 +v 2.250000 1.000000 -2.250000 +v -1.500000 0.000000 1.500000 +v 1.500000 0.000000 1.500000 +v -1.500000 0.000000 -1.500000 +v 1.500000 0.000000 -1.500000 +v -1.500000 0.750000 -1.500000 +v -1.500000 0.750000 1.500000 +v 1.500000 0.750000 1.500000 +v 1.500000 0.750000 -1.500000 +v -1.750000 0.750000 1.750000 +v 1.750000 0.750000 1.750000 +v -1.750000 0.750000 -1.750000 +v 1.750000 0.750000 -1.750000 +v -1.750000 1.000000 1.750000 +v 1.750000 1.000000 1.750000 +v -1.750000 1.000000 -1.750000 +v 1.750000 1.000000 -1.750000 +v -1.000000 0.750000 -1.750000 +v 1.000000 0.750000 -1.750000 +v 1.000000 0.500000 -1.500000 +v -1.000000 0.500000 -1.500000 +v -1.000000 1.000000 -1.750000 +v 1.000000 1.000000 -1.750000 +v -1.000000 1.000000 -2.000000 +v 1.000000 1.000000 -2.000000 +v -1.000000 0.500000 -2.000000 +v 1.000000 0.500000 -2.000000 +v -1.000000 0.750000 -1.500000 +v 1.000000 0.750000 -1.500000 +vt 0.117647 0.761905 +vt 0.470588 0.761905 +vt 0.176471 0.809524 +vt 0.588235 0.500000 +vt 0.029412 0.571429 +vt -0.000000 0.500000 +vt 0.588235 0.476190 +vt 0.000000 0.500000 +vt 0.000000 0.476190 +vt 0.588235 0.476190 +vt -0.000000 0.476190 +vt 0.588235 0.476190 +vt -0.000000 0.500000 +vt -0.000000 0.476190 +vt 0.588235 0.476190 +vt -0.000000 0.500000 +vt -0.000000 0.476190 +vt 0.470588 0.380952 +vt 0.588235 0.500000 +vt 0.029412 0.571429 +vt 0.588235 0.500000 +vt 0.029412 0.571429 +vt 0.588235 0.500000 +vt 0.029412 0.571429 +vt 0.000000 0.000000 +vt 0.117647 0.380952 +vt 0.470588 0.833333 +vt 0.117647 0.761905 +vt 0.470588 0.761905 +vt 0.470588 0.833333 +vt 0.117647 0.761905 +vt 0.470588 0.761905 +vt 0.470588 0.833333 +vt 0.117647 0.761905 +vt 0.470588 0.761905 +vt 0.470588 0.095238 +vt 0.588235 0.000000 +vt 0.117647 0.095238 +vt 0.088235 0.857143 +vt 0.117647 0.833333 +vt 0.088235 0.857143 +vt 0.117647 0.833333 +vt 0.176471 0.857143 +vt 0.117647 0.833333 +vt 0.176471 0.833333 +vt 0.088235 0.857143 +vt 0.117647 0.833333 +vt 0.500000 0.857143 +vt 0.088235 0.880952 +vt 0.500000 0.857143 +vt 0.088235 0.880952 +vt 0.500000 0.857143 +vt 0.088235 0.880952 +vt 0.500000 0.619048 +vt 0.558824 0.571429 +vt 0.500000 0.952381 +vt 0.558824 1.000000 +vt 0.176471 0.928571 +vt 0.411765 0.976190 +vt 0.176471 0.976190 +vt 0.088235 0.619048 +vt 0.029412 1.000000 +vt 0.176471 0.880952 +vt 0.411765 0.928571 +vt 0.117647 0.928571 +vt 0.117647 0.904762 +vt 0.147059 0.904762 +vt 0.176471 0.880952 +vt 0.088235 0.857143 +vt 0.500000 0.857143 +vt 0.411765 0.880952 +vt 0.411765 0.857143 +vt 0.470588 0.833333 +vt 0.411765 0.833333 +vt 0.441176 0.904762 +vt 0.470588 0.928571 +vt 0.411765 0.809524 +vt 0.558824 0.571429 +vt 0.558824 0.571429 +vt 0.558824 0.571429 +vt 0.500000 0.880952 +vt 0.500000 0.880952 +vt 0.500000 0.880952 +vt 0.088235 0.952381 +vt 0.411765 0.880952 +vt 0.147059 0.880952 +vt 0.088235 0.880952 +vt 0.500000 0.880952 +vt 0.176471 0.952381 +vt 0.411765 0.952381 +vt 0.441176 0.880952 +vt 0.470588 0.904762 +vn 0.0000 0.0000 1.0000 +vn 0.9487 0.3162 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -1.0000 0.0000 +vn -0.9487 0.3162 0.0000 +vn 0.0000 0.3162 -0.9487 +vn 0.0000 0.3162 0.9487 +vn 0.0000 1.0000 0.0000 +s off +f 39/49/7 40/50/7 56/51/7 +f 32/52/8 34/53/8 30/54/8 +f 26/55/7 29/56/7 25/57/7 +f 28/58/9 30/54/9 26/59/9 +f 25/60/10 31/61/10 27/62/10 +f 27/63/11 32/64/11 28/65/11 +f 25/57/12 38/66/12 26/55/12 +f 29/67/13 35/68/13 31/61/13 +f 31/69/14 36/70/14 32/64/14 +f 30/71/15 33/72/15 29/56/15 +f 27/73/12 37/74/12 25/57/12 +f 42/75/11 38/76/11 37/77/11 +f 43/78/10 40/79/10 38/80/10 +f 41/81/9 37/82/9 39/83/9 +f 26/55/12 40/84/12 28/85/12 +f 28/85/12 39/86/12 27/73/12 +f 42/75/16 46/87/16 43/88/16 +f 43/78/16 48/89/16 44/90/16 +f 53/91/16 41/92/16 63/93/16 +f 41/81/16 45/94/16 42/95/16 +f 45/96/11 50/97/11 46/87/11 +f 46/98/10 52/99/10 48/89/10 +f 47/100/9 49/101/9 45/94/9 +f 50/102/16 33/72/16 34/103/16 +f 52/104/16 34/103/16 36/105/16 +f 61/106/7 60/107/7 59/108/7 +f 49/109/16 35/110/16 33/72/16 +f 56/111/16 62/112/16 61/106/16 +f 59/113/9 57/114/9 53/115/9 +f 57/116/7 47/117/7 53/91/7 +f 48/118/7 58/119/7 54/120/7 +f 35/110/16 60/107/16 36/105/16 +f 44/121/16 54/120/16 64/122/16 +f 54/123/10 60/124/10 62/112/10 +f 63/93/7 41/92/7 56/51/7 +f 41/92/7 39/49/7 56/51/7 +f 40/50/7 44/121/7 55/125/7 +f 44/121/7 64/122/7 55/125/7 +f 40/50/7 55/125/7 56/51/7 +f 32/52/8 36/126/8 34/53/8 +f 26/55/7 30/71/7 29/56/7 +f 28/58/9 32/52/9 30/54/9 +f 25/60/10 29/67/10 31/61/10 +f 27/63/11 31/69/11 32/64/11 +f 25/57/12 37/74/12 38/66/12 +f 29/67/13 33/127/13 35/68/13 +f 31/69/14 35/128/14 36/70/14 +f 30/71/15 34/103/15 33/72/15 +f 27/73/12 39/86/12 37/74/12 +f 42/75/11 43/88/11 38/76/11 +f 43/78/10 44/90/10 40/79/10 +f 41/81/9 42/95/9 37/82/9 +f 26/55/12 38/66/12 40/84/12 +f 28/85/12 40/84/12 39/86/12 +f 42/75/16 45/96/16 46/87/16 +f 43/78/16 46/98/16 48/89/16 +f 53/91/16 47/117/16 41/92/16 +f 41/81/16 47/100/16 45/94/16 +f 45/96/11 49/129/11 50/97/11 +f 46/98/10 50/130/10 52/99/10 +f 47/100/9 51/131/9 49/101/9 +f 50/102/16 49/109/16 33/72/16 +f 52/104/16 50/102/16 34/103/16 +f 61/106/7 62/112/7 60/107/7 +f 49/109/16 51/132/16 35/110/16 +f 56/111/16 55/133/16 62/112/16 +f 63/134/9 56/111/9 53/115/9 +f 56/111/9 61/106/9 53/115/9 +f 61/106/9 59/113/9 53/115/9 +f 57/116/7 51/135/7 47/117/7 +f 48/118/7 52/136/7 58/119/7 +f 35/110/16 51/132/16 59/108/16 +f 51/132/16 57/137/16 59/108/16 +f 58/138/16 52/104/16 60/107/16 +f 52/104/16 36/105/16 60/107/16 +f 35/110/16 59/108/16 60/107/16 +f 44/121/16 48/118/16 54/120/16 +f 55/133/10 64/139/10 54/123/10 +f 54/123/10 58/140/10 60/124/10 +f 62/112/10 55/133/10 54/123/10 diff --git a/src/main/resources/assets/hbm/models/doors/silo_hatch_large.obj b/src/main/resources/assets/hbm/models/doors/silo_hatch_large.obj new file mode 100644 index 000000000..c8f7bfe4a --- /dev/null +++ b/src/main/resources/assets/hbm/models/doors/silo_hatch_large.obj @@ -0,0 +1,576 @@ +# Blender v2.79 (sub 0) OBJ File: 'silo_hatch_large.blend' +# www.blender.org +o Hatch +v 2.750000 0.750000 -1.750000 +v 1.750000 0.750000 -2.750000 +v -2.750000 0.750000 -1.750000 +v -1.750000 0.750000 -2.750000 +v -2.750000 0.750000 1.750000 +v -1.750000 0.750000 2.750000 +v -2.750000 1.000000 -1.750000 +v -2.750000 1.000000 1.750000 +v 2.750000 1.000000 -1.750000 +v 2.750000 1.000000 1.750000 +v 1.750000 1.000000 2.750000 +v -1.750000 1.000000 2.750000 +v 2.750000 0.750000 1.750000 +v 1.750000 0.750000 2.750000 +v 1.750000 1.000000 -2.750000 +v -1.750000 1.000000 -2.750000 +v -1.250000 0.750000 -2.500000 +v 1.250000 0.750000 -2.500000 +v -1.250000 0.750000 -3.000000 +v 1.250000 0.750000 -3.000000 +v -1.250000 0.500000 -3.000000 +v -1.250000 0.500000 -2.500000 +v 1.250000 0.500000 -2.500000 +v 1.250000 0.500000 -3.000000 +v -1.500000 0.750000 -2.500000 +v 1.500000 0.750000 -2.500000 +v -1.500000 0.750000 2.500000 +v 1.500000 0.750000 2.500000 +v 2.500000 0.750000 1.500000 +v 2.500000 0.750000 -1.500000 +v -2.500000 0.750000 -1.500000 +v -2.500000 0.750000 1.500000 +v 1.500000 0.500000 -2.500000 +v 2.500000 0.500000 -1.500000 +v 2.500000 0.500000 1.500000 +v -1.500000 0.500000 2.500000 +v 1.500000 0.500000 2.500000 +v -2.500000 0.500000 -1.500000 +v -2.500000 0.500000 1.500000 +v -1.500000 0.500000 -2.500000 +vt 0.918367 0.620690 +vt 1.000000 0.603448 +vt 1.000000 0.620690 +vt 0.918367 0.620690 +vt 1.000000 0.603448 +vt 1.000000 0.620690 +vt 0.632653 0.620690 +vt 0.918367 0.603448 +vt 0.918367 0.620690 +vt 0.632653 0.620690 +vt 0.918367 0.603448 +vt 0.632653 0.620690 +vt 0.918367 0.603448 +vt 1.000000 0.603448 +vt 1.000000 0.620690 +vt 0.918367 0.620690 +vt 1.000000 0.603448 +vt 1.000000 0.620690 +vt 0.632653 0.620690 +vt 0.918367 0.603448 +vt 0.653061 0.586207 +vt 0.897959 0.586207 +vt 0.918367 1.000000 +vt 0.551020 0.931035 +vt 0.816327 0.224138 +vt 0.612245 0.189655 +vt 0.816327 0.189655 +vt 0.612245 0.172414 +vt 0.816327 0.137931 +vt 0.816327 0.172414 +vt 0.571429 0.189655 +vt 0.857143 0.172414 +vt 0.857143 0.189655 +vt 1.000000 0.586207 +vt 0.653061 0.586207 +vt 0.897959 0.586207 +vt 1.000000 0.586207 +vt 0.918367 0.586207 +vt 1.000000 0.586207 +vt 0.653061 0.586207 +vt 0.897959 0.586207 +vt 1.000000 0.586207 +vt 0.918367 0.586207 +vt 0.632653 0.603448 +vt 0.897959 0.586207 +vt 0.918367 0.586207 +vt 1.000000 0.568965 +vt 0.653061 0.568965 +vt 0.571429 0.293103 +vt 0.897959 0.224138 +vt 0.897959 0.568965 +vt 0.653061 0.586207 +vt 0.897959 0.568965 +vt 1.000000 0.568965 +vt 1.000000 0.568965 +vt 0.897959 0.568965 +vt 0.918367 0.586207 +vt 1.000000 0.568965 +vt 0.897959 0.568965 +vt 0.632653 0.603448 +vt 0.632653 0.603448 +vt 0.632653 0.603448 +vt 1.000000 0.689655 +vt 1.000000 0.931035 +vt 0.632653 1.000000 +vt 0.551020 0.689655 +vt 0.612245 0.224138 +vt 0.612245 0.137931 +vt 0.571429 0.172414 +vt 0.918367 0.568965 +vt 0.979592 0.293103 +vt 0.979592 0.500000 +vt 0.571429 0.500000 +vt 0.653061 0.224138 +vt 0.653061 0.568965 +vt 0.918367 0.568965 +vt 0.918367 0.568965 +vt 0.653061 0.568965 +vt 0.918367 0.568965 +vt 0.653061 0.568965 +vn 0.7071 0.0000 0.7071 +vn -0.7071 0.0000 -0.7071 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn -0.7071 0.0000 0.7071 +vn 0.7071 0.0000 -0.7071 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +s off +f 11/1/1 13/2/1 10/3/1 +f 16/4/2 3/5/2 7/6/2 +f 7/7/3 5/8/3 8/9/3 +f 12/10/4 14/11/4 11/1/4 +f 15/12/5 4/13/5 16/4/5 +f 8/9/6 6/14/6 12/15/6 +f 9/16/7 2/17/7 15/18/7 +f 10/19/8 1/20/8 9/16/8 +f 14/11/9 27/21/9 28/22/9 +f 15/23/10 7/24/10 12/10/10 +f 17/25/10 20/26/10 19/27/10 +f 24/28/9 22/29/9 21/30/9 +f 18/31/8 24/28/8 20/26/8 +f 20/26/5 21/30/5 19/27/5 +f 19/27/3 22/32/3 17/33/3 +f 14/11/9 29/34/9 13/2/9 +f 1/20/9 29/35/9 30/36/9 +f 26/37/9 1/20/9 30/38/9 +f 5/8/9 27/39/9 6/14/9 +f 5/8/9 31/40/9 32/41/9 +f 31/42/9 4/13/9 25/43/9 +f 2/44/9 25/45/9 4/13/9 +f 28/46/1 35/47/1 29/34/1 +f 36/48/9 38/49/9 33/50/9 +f 27/21/4 37/51/4 28/22/4 +f 26/52/5 40/53/5 25/45/5 +f 25/43/2 38/54/2 31/42/2 +f 30/38/7 33/55/7 26/37/7 +f 31/40/3 39/56/3 32/41/3 +f 32/57/6 36/58/6 27/39/6 +f 29/35/8 34/59/8 30/36/8 +f 11/1/1 14/11/1 13/2/1 +f 16/4/2 4/13/2 3/5/2 +f 7/7/3 3/60/3 5/8/3 +f 12/10/4 6/61/4 14/11/4 +f 15/12/5 2/44/5 4/13/5 +f 8/9/6 5/8/6 6/14/6 +f 9/16/7 1/20/7 2/17/7 +f 10/19/8 13/62/8 1/20/8 +f 14/11/9 6/61/9 27/21/9 +f 12/10/10 11/1/10 10/63/10 +f 10/63/10 9/64/10 15/23/10 +f 15/23/10 16/65/10 7/24/10 +f 7/24/10 8/66/10 12/10/10 +f 12/10/10 10/63/10 15/23/10 +f 17/25/10 18/67/10 20/26/10 +f 24/28/9 23/68/9 22/29/9 +f 18/31/8 23/69/8 24/28/8 +f 20/26/5 24/28/5 21/30/5 +f 19/27/3 21/30/3 22/32/3 +f 14/11/9 28/46/9 29/34/9 +f 1/20/9 13/62/9 29/35/9 +f 26/37/9 2/17/9 1/20/9 +f 5/8/9 32/57/9 27/39/9 +f 5/8/9 3/60/9 31/40/9 +f 31/42/9 3/5/9 4/13/9 +f 2/44/9 26/52/9 25/45/9 +f 28/46/1 37/70/1 35/47/1 +f 33/50/9 34/71/9 35/72/9 +f 35/72/9 37/51/9 36/48/9 +f 36/48/9 39/73/9 38/49/9 +f 38/49/9 40/74/9 33/50/9 +f 33/50/9 35/72/9 36/48/9 +f 27/21/4 36/48/4 37/51/4 +f 26/52/5 33/75/5 40/53/5 +f 25/43/2 40/76/2 38/54/2 +f 30/38/7 34/77/7 33/55/7 +f 31/40/3 38/78/3 39/56/3 +f 32/57/6 39/79/6 36/58/6 +f 29/35/8 35/80/8 34/59/8 +o Frame +v -2.500000 0.000000 1.500000 +v -2.500000 0.000000 -3.500000 +v 2.500000 0.000000 -3.500000 +v -3.250000 1.000000 -2.250000 +v -2.500000 0.250000 -3.500000 +v 2.500000 0.250000 -3.500000 +v -3.250000 1.000000 2.250000 +v -2.250000 1.000000 -3.250000 +v 2.250000 1.000000 -3.250000 +v -3.500000 0.250000 -2.500000 +v -1.500000 0.000000 -2.500000 +v 1.500000 0.000000 -2.500000 +v -1.500000 0.750000 -2.500000 +v -3.500000 0.250000 2.500000 +v 1.500000 0.750000 -2.500000 +v -3.500000 0.000000 -2.500000 +v -1.750000 0.750000 -2.750000 +v 1.750000 0.750000 -2.750000 +v -3.500000 0.000000 2.500000 +v -1.750000 1.000000 -2.750000 +v 1.750000 1.000000 -2.750000 +v -1.250000 0.750000 -2.750000 +v 1.250000 0.750000 -2.750000 +v 1.250000 0.500000 -2.500000 +v -1.250000 0.500000 -2.500000 +v -1.250000 1.000000 -2.750000 +v 1.250000 1.000000 -2.750000 +v -1.250000 1.000000 -3.000000 +v 1.250000 1.000000 -3.000000 +v -1.250000 0.500000 -3.000000 +v 1.250000 0.500000 -3.000000 +v -1.250000 0.750000 -2.500000 +v 1.250000 0.750000 -2.500000 +v -2.500000 0.000000 3.500000 +v 2.500000 0.000000 3.500000 +v -2.500000 0.250000 3.500000 +v 2.500000 0.250000 3.500000 +v -2.250000 1.000000 3.250000 +v 2.250000 1.000000 3.250000 +v -1.500000 0.000000 2.500000 +v 1.500000 0.000000 2.500000 +v -1.500000 0.750000 2.500000 +v 1.500000 0.750000 2.500000 +v -1.750000 0.750000 2.750000 +v 1.750000 0.750000 2.750000 +v -1.750000 1.000000 2.750000 +v 1.750000 1.000000 2.750000 +v 3.500000 0.000000 2.500000 +v 3.500000 0.000000 -2.500000 +v 3.500000 0.250000 2.500000 +v 3.500000 0.250000 -2.500000 +v 3.250000 1.000000 2.250000 +v 3.250000 1.000000 -2.250000 +v 2.500000 0.000000 1.500000 +v 2.500000 0.000000 -1.500000 +v 2.500000 0.750000 1.500000 +v 2.500000 0.750000 -1.500000 +v 2.750000 0.750000 1.750000 +v 2.750000 0.750000 -1.750000 +v 2.750000 1.000000 1.750000 +v 2.750000 1.000000 -1.750000 +v -2.500000 0.000000 -1.500000 +v -2.500000 0.750000 -1.500000 +v -2.500000 0.750000 1.500000 +v -2.750000 0.750000 1.750000 +v -2.750000 0.750000 -1.750000 +v -2.750000 1.000000 1.750000 +v -2.750000 1.000000 -1.750000 +vt 0.122449 0.827586 +vt 0.367347 0.827586 +vt 0.142857 0.862069 +vt 0.061224 0.655172 +vt 0.020408 0.931035 +vt 0.020408 0.620690 +vt 0.510204 0.896552 +vt 0.551020 0.620690 +vt 0.551020 0.931035 +vt 0.387755 0.896552 +vt 0.102041 0.913793 +vt 0.102041 0.896552 +vt 0.489796 0.482759 +vt 0.081633 0.500000 +vt 0.081633 0.482759 +vt 0.387755 0.896552 +vt 0.102041 0.913793 +vt 0.102041 0.896552 +vt 0.489796 0.500000 +vt 0.102041 0.551724 +vt 0.367347 0.879310 +vt 0.122449 0.879310 +vt 0.571429 0.413793 +vt 0.489796 0.137931 +vt 0.571429 0.068966 +vt 0.367347 0.879310 +vt 0.122449 0.879310 +vt 0.122449 0.827586 +vt 0.367347 0.827586 +vt 0.489796 -0.000000 +vt 0.163265 0.068966 +vt 0.081633 -0.000000 +vt 0.122449 0.827586 +vt 0.367347 0.827586 +vt 0.000000 0.068966 +vt 0.081633 0.344828 +vt 0.000000 0.413793 +vt 0.142857 0.896552 +vt 0.122449 0.879310 +vt 0.142857 0.879310 +vt 0.489796 0.482759 +vt 0.081633 0.500000 +vt 0.081633 0.482759 +vt 0.489796 0.500000 +vt 0.102041 0.551724 +vt 0.081633 0.500000 +vt 0.489796 0.500000 +vt 0.102041 0.551724 +vt 0.489796 0.482759 +vt 0.081633 0.482759 +vt 0.183673 0.948276 +vt 0.387755 0.982759 +vt 0.183673 0.982759 +vt 0.183673 0.913793 +vt 0.387755 0.948276 +vt 0.142857 0.948276 +vt 0.142857 0.931035 +vt 0.163265 0.931035 +vt 0.142857 0.913793 +vt 0.102041 0.896552 +vt 0.387755 0.896552 +vt 0.346939 0.913793 +vt 0.346939 0.896552 +vt 0.102041 1.000000 +vt 0.469388 1.000000 +vt 0.367347 0.879310 +vt 0.346939 0.879310 +vt 0.408163 0.931035 +vt 0.428571 0.948276 +vt 0.489796 0.482759 +vt 0.081633 0.500000 +vt 0.081633 0.482759 +vt 0.408163 0.413793 +vt 0.489796 0.500000 +vt 0.102041 0.551724 +vt 0.367347 0.879310 +vt 0.122449 0.827586 +vt 0.367347 0.827586 +vt 0.102041 0.896552 +vt 0.122449 0.879310 +vt 0.387755 0.896552 +vt 0.102041 0.913793 +vt 0.428571 0.586207 +vt 0.469388 0.551724 +vt 0.408163 0.068966 +vt 0.469388 0.827586 +vt 0.387755 0.879310 +vt 0.387755 0.827586 +vt 0.469388 0.896552 +vt 0.469388 0.913793 +vt 0.387755 0.913793 +vt 0.433673 0.965517 +vt 0.571429 0.551724 +vt 0.489796 0.551724 +vt 0.571429 0.482759 +vt 0.571429 0.500000 +vt 0.081633 0.137931 +vt 0.387755 0.827586 +vt 0.469388 0.879310 +vt 0.387755 0.879310 +vt 0.469388 0.896552 +vt 0.469388 0.913793 +vt 0.061224 0.896552 +vt 0.142857 0.965517 +vt 0.571429 0.500000 +vt 0.489796 0.551724 +vt 0.571429 0.482759 +vt 0.163265 0.413793 +vt 0.469388 0.879310 +vt 0.387755 0.827586 +vt 0.469388 0.827586 +vt 0.387755 0.879310 +vt 0.469388 0.896552 +vt 0.469388 0.913793 +vt 0.387755 0.913793 +vt 0.142857 0.586207 +vt 0.571429 0.551724 +vt 0.489796 0.551724 +vt 0.571429 0.482759 +vt 0.489796 0.344828 +vt 0.387755 0.879310 +vt 0.469388 0.827586 +vt 0.469388 0.879310 +vt 0.469388 0.896552 +vt 0.469388 0.913793 +vt 0.510204 0.655172 +vt 0.571429 0.551724 +vt 0.571429 0.500000 +vt 0.571429 0.482759 +vt 0.346939 0.862069 +vt 0.387755 0.913793 +vt 0.387755 0.913793 +vt 0.469388 0.551724 +vt 0.469388 0.551724 +vt 0.469388 0.551724 +vt 0.387755 0.913793 +vt 0.163265 0.913793 +vt 0.102041 0.913793 +vt 0.183673 0.965517 +vt 0.387755 0.965517 +vt 0.408163 0.913793 +vt 0.428571 0.931035 +vt 0.469388 0.879310 +vt 0.469388 0.827586 +vt 0.571429 0.551724 +vt 0.571429 0.500000 +vt 0.387755 0.827586 +vt 0.489796 0.551724 +vn 0.0000 0.0000 1.0000 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.3162 -0.9487 +vn 0.0000 -1.0000 0.0000 +vn -0.9487 0.3162 0.0000 +vn 0.9487 0.3162 0.0000 +vn 0.0000 0.3162 0.9487 +vn -0.7071 0.0000 0.7071 +vn 0.6396 0.4264 -0.6396 +vn 0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +vn -0.6396 0.4264 -0.6396 +vn -0.7071 0.0000 -0.7071 +vn -0.6396 0.4264 0.6396 +vn 0.6396 0.4264 0.6396 +s off +f 51/81/11 52/82/11 65/83/11 +f 107/84/12 44/85/12 47/86/12 +f 101/87/12 92/88/12 93/89/12 +f 106/90/13 107/91/13 105/92/13 +f 42/93/14 46/94/14 43/95/14 +f 98/96/15 101/97/15 99/98/15 +f 45/99/16 49/100/16 46/94/16 +f 96/101/12 99/98/12 97/102/12 +f 88/103/17 95/104/17 89/105/17 +f 103/106/12 105/92/12 104/107/12 +f 103/106/13 41/108/13 102/109/13 +f 43/110/17 51/111/17 42/112/17 +f 96/101/15 95/113/15 94/114/15 +f 56/115/17 41/116/17 59/117/17 +f 62/118/12 53/119/12 72/120/12 +f 89/121/13 90/122/13 88/123/13 +f 54/124/18 44/125/18 50/126/18 +f 91/127/19 92/128/19 90/122/19 +f 59/129/15 50/126/15 56/130/15 +f 70/131/11 69/132/11 68/133/11 +f 65/134/12 71/135/12 70/131/12 +f 68/136/13 66/137/13 62/138/13 +f 66/139/11 57/140/11 62/118/11 +f 58/141/11 67/142/11 63/143/11 +f 48/144/12 69/132/12 49/145/12 +f 55/146/12 63/143/12 73/147/12 +f 63/148/15 69/149/15 71/135/15 +f 75/150/11 76/151/11 74/152/11 +f 74/152/17 81/153/17 75/150/17 +f 77/154/20 78/155/20 76/151/20 +f 82/156/14 81/157/14 80/158/14 +f 82/156/12 85/159/12 83/160/12 +f 84/161/14 87/162/14 85/159/14 +f 87/163/12 78/155/12 79/164/12 +f 43/110/17 95/104/17 52/165/17 +f 95/166/21 55/167/21 52/168/21 +f 55/167/12 99/169/12 58/141/12 +f 58/141/21 101/170/21 61/171/21 +f 101/87/12 49/145/12 61/172/12 +f 91/127/22 49/173/22 93/174/22 +f 91/127/23 43/175/23 46/176/23 +f 56/115/17 51/111/17 102/177/17 +f 102/178/24 53/179/24 103/180/24 +f 106/90/12 53/179/12 57/181/12 +f 60/182/24 106/90/24 57/181/24 +f 48/144/12 108/183/12 60/184/12 +f 50/185/25 48/186/25 45/99/25 +f 56/187/26 45/99/26 42/93/26 +f 80/188/17 59/117/17 41/116/17 +f 104/189/23 80/190/23 41/191/23 +f 82/192/12 105/193/12 84/161/12 +f 84/161/23 107/194/23 86/195/23 +f 107/84/12 78/155/12 86/196/12 +f 54/124/27 78/197/27 47/198/27 +f 74/199/21 54/124/21 59/129/21 +f 94/200/17 75/150/17 81/153/17 +f 96/201/26 81/202/26 83/203/26 +f 98/96/12 83/203/12 85/204/12 +f 87/205/26 98/96/26 85/204/26 +f 79/164/12 100/206/12 87/163/12 +f 92/207/28 77/154/28 90/208/28 +f 77/154/24 88/209/24 90/208/24 +f 72/120/11 53/119/11 65/83/11 +f 53/119/11 51/81/11 65/83/11 +f 52/82/11 55/146/11 64/210/11 +f 55/146/11 73/147/11 64/210/11 +f 52/82/11 64/210/11 65/83/11 +f 107/84/12 108/183/12 44/85/12 +f 101/87/12 100/206/12 92/88/12 +f 106/90/13 108/211/13 107/91/13 +f 42/93/14 45/99/14 46/94/14 +f 98/96/15 100/212/15 101/97/15 +f 45/99/16 48/213/16 49/100/16 +f 96/101/12 98/96/12 99/98/12 +f 88/103/17 94/200/17 95/104/17 +f 103/106/12 106/90/12 105/92/12 +f 103/106/13 104/107/13 41/108/13 +f 43/110/17 52/165/17 51/111/17 +f 96/101/15 97/102/15 95/113/15 +f 56/115/17 102/177/17 41/116/17 +f 62/118/12 57/140/12 53/119/12 +f 89/121/13 91/127/13 90/122/13 +f 54/124/18 47/214/18 44/125/18 +f 91/127/19 93/215/19 92/128/19 +f 59/129/15 54/124/15 50/126/15 +f 70/131/11 71/135/11 69/132/11 +f 65/134/12 64/216/12 71/135/12 +f 72/217/13 65/134/13 62/138/13 +f 65/134/13 70/131/13 62/138/13 +f 70/131/13 68/136/13 62/138/13 +f 66/139/11 60/218/11 57/140/11 +f 58/141/11 61/171/11 67/142/11 +f 48/144/12 60/184/12 68/133/12 +f 60/184/12 66/219/12 68/133/12 +f 67/220/12 61/172/12 69/132/12 +f 61/172/12 49/145/12 69/132/12 +f 48/144/12 68/133/12 69/132/12 +f 55/146/12 58/141/12 63/143/12 +f 64/216/15 73/221/15 63/148/15 +f 63/148/15 67/222/15 69/149/15 +f 71/135/15 64/216/15 63/148/15 +f 75/150/11 77/154/11 76/151/11 +f 74/152/17 80/188/17 81/153/17 +f 77/154/20 79/164/20 78/155/20 +f 82/156/14 83/160/14 81/157/14 +f 82/156/12 84/161/12 85/159/12 +f 84/161/14 86/195/14 87/162/14 +f 87/163/12 86/196/12 78/155/12 +f 43/110/17 89/105/17 95/104/17 +f 95/166/21 97/223/21 55/167/21 +f 55/167/12 97/223/12 99/169/12 +f 58/141/21 99/169/21 101/170/21 +f 101/87/12 93/89/12 49/145/12 +f 91/127/22 46/176/22 49/173/22 +f 91/127/23 89/121/23 43/175/23 +f 56/115/17 42/112/17 51/111/17 +f 102/178/24 51/224/24 53/179/24 +f 106/90/12 103/180/12 53/179/12 +f 60/182/24 108/211/24 106/90/24 +f 48/144/12 44/85/12 108/183/12 +f 50/185/25 44/225/25 48/186/25 +f 56/187/26 50/185/26 45/99/26 +f 80/188/17 74/152/17 59/117/17 +f 104/189/23 82/192/23 80/190/23 +f 82/192/12 104/189/12 105/193/12 +f 84/161/23 105/193/23 107/194/23 +f 107/84/12 47/86/12 78/155/12 +f 54/124/27 76/226/27 78/197/27 +f 74/199/21 76/226/21 54/124/21 +f 94/200/17 88/103/17 75/150/17 +f 96/201/26 94/227/26 81/202/26 +f 98/96/12 96/201/12 83/203/12 +f 87/205/26 100/212/26 98/96/26 +f 79/164/12 92/88/12 100/206/12 +f 92/207/28 79/228/28 77/154/28 +f 77/154/24 75/150/24 88/209/24 diff --git a/src/main/resources/assets/hbm/models/drill_bolt.obj b/src/main/resources/assets/hbm/models/drill_bolt.obj deleted file mode 100644 index dcf0a5d40..000000000 --- a/src/main/resources/assets/hbm/models/drill_bolt.obj +++ /dev/null @@ -1,1595 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'drill_bolt.blend' -# www.blender.org -o Cylinder_Cylinder.001 -v 0.125000 3.000000 -0.216506 -v 0.000000 3.000000 -0.250000 -v 0.216506 3.000000 -0.125000 -v 0.250000 3.000000 0.000000 -v 0.216506 3.000000 0.125000 -v 0.125000 3.000000 0.216506 -v 0.000000 3.000000 0.250000 -v -0.125000 3.000000 0.216506 -v -0.216506 3.000000 0.125000 -v -0.250000 3.000000 0.000000 -v -0.216506 3.000000 -0.125000 -v -0.125000 3.000000 -0.216506 -v -0.125000 2.750000 -0.216506 -v -0.000000 2.750000 -0.250000 -v -0.051764 3.000000 -0.443185 -v -0.176764 3.000000 -0.409691 -v 0.125000 2.750000 -0.216506 -v 0.216506 2.750000 -0.125000 -v 0.250000 2.750000 -0.000000 -v 0.216506 2.750000 0.125000 -v 0.125000 2.750000 0.216506 -v 0.000000 2.750000 0.250000 -v -0.125000 2.750000 0.216506 -v -0.216506 2.750000 0.125000 -v -0.250000 2.750000 0.000000 -v -0.216506 2.750000 -0.125000 -v -0.266421 2.750000 -0.357928 -v -0.357928 2.750000 -0.266421 -v 0.443185 3.000000 0.051764 -v 0.409692 3.000000 0.176764 -v 0.443185 2.750000 -0.051764 -v 0.409692 2.750000 -0.176764 -v -0.266421 3.000000 0.357928 -v -0.357928 3.000000 0.266421 -v -0.176764 2.750000 0.409692 -v -0.051764 2.750000 0.443185 -v 0.125000 2.500000 -0.216506 -v -0.000000 2.500000 -0.250000 -v -0.125000 2.500000 -0.216506 -v -0.216506 2.500000 -0.125000 -v 0.216506 2.500000 -0.125000 -v 0.250000 2.500000 -0.000000 -v 0.216506 2.500000 0.125000 -v 0.125000 2.500000 0.216506 -v 0.000000 2.500000 0.250000 -v -0.125000 2.500000 0.216506 -v -0.216506 2.500000 0.125000 -v -0.250000 2.500000 0.000000 -v -0.409692 2.500000 -0.176764 -v -0.443185 2.500000 -0.051763 -v 0.266421 2.500000 -0.357928 -v 0.357928 2.500000 -0.266421 -v 0.176764 2.500000 0.409691 -v 0.051764 2.500000 0.443185 -v -0.000000 2.250000 -0.250000 -v -0.125000 2.250000 -0.216506 -v -0.216506 2.250000 -0.125000 -v -0.250000 2.250000 0.000000 -v 0.125000 2.250000 -0.216506 -v 0.216506 2.250000 -0.125000 -v 0.250000 2.250000 -0.000000 -v 0.216506 2.250000 0.125000 -v 0.125000 2.250000 0.216506 -v 0.000000 2.250000 0.250000 -v -0.125000 2.250000 0.216506 -v -0.216506 2.250000 0.125000 -v -0.443185 2.250000 0.051764 -v -0.409691 2.250000 0.176764 -v 0.051764 2.250000 -0.443185 -v 0.176764 2.250000 -0.409692 -v 0.357928 2.250000 0.266421 -v 0.266422 2.250000 0.357928 -v -0.125000 2.000000 -0.216506 -v -0.216506 2.000000 -0.125000 -v -0.250000 2.000000 0.000000 -v -0.216506 2.000000 0.125000 -v -0.000000 2.000000 -0.250000 -v 0.125000 2.000000 -0.216506 -v 0.216506 2.000000 -0.125000 -v 0.250000 2.000000 -0.000000 -v 0.216506 2.000000 0.125000 -v 0.125000 2.000000 0.216506 -v 0.000000 2.000000 0.250000 -v -0.125000 2.000000 0.216507 -v -0.357928 2.000000 0.266422 -v -0.266421 2.000000 0.357928 -v -0.176764 2.000000 -0.409691 -v -0.051764 2.000000 -0.443185 -v 0.443185 2.000000 0.051763 -v 0.409692 2.000000 0.176763 -v -0.216506 1.750000 -0.125000 -v -0.250000 1.750000 0.000000 -v -0.216506 1.750000 0.125000 -v -0.125000 1.750000 0.216506 -v -0.125000 1.750000 -0.216506 -v -0.000000 1.750000 -0.250000 -v 0.125000 1.750000 -0.216506 -v 0.216506 1.750000 -0.125000 -v 0.250000 1.750000 -0.000000 -v 0.216506 1.750000 0.125000 -v 0.125000 1.750000 0.216506 -v 0.000000 1.750000 0.250000 -v -0.176764 1.750000 0.409692 -v -0.051763 1.750000 0.443185 -v -0.357928 1.750000 -0.266421 -v -0.266422 1.750000 -0.357927 -v 0.409691 1.750000 -0.176764 -v 0.443185 1.750000 -0.051764 -v -0.250000 1.500000 0.000000 -v -0.216506 1.500000 0.125000 -v -0.125000 1.500000 0.216506 -v 0.000000 1.500000 0.250000 -v -0.216506 1.500000 -0.125000 -v -0.125000 1.500000 -0.216506 -v -0.000000 1.500000 -0.250000 -v 0.125000 1.500000 -0.216506 -v 0.216506 1.500000 -0.125000 -v 0.250000 1.500000 -0.000000 -v 0.216506 1.500000 0.125000 -v 0.125000 1.500000 0.216506 -v 0.051764 1.500000 0.443185 -v 0.176764 1.500000 0.409691 -v -0.443185 1.500000 -0.051763 -v -0.409692 1.500000 -0.176763 -v 0.266421 1.500000 -0.357928 -v 0.357927 1.500000 -0.266422 -v -0.216506 1.250000 0.125000 -v -0.125000 1.250000 0.216506 -v 0.000000 1.250000 0.250000 -v 0.125000 1.250000 0.216506 -v -0.250000 1.250000 0.000000 -v -0.216506 1.250000 -0.125000 -v -0.125000 1.250000 -0.216506 -v -0.000000 1.250000 -0.250000 -v 0.125000 1.250000 -0.216506 -v 0.216506 1.250000 -0.125000 -v 0.250000 1.250000 -0.000000 -v 0.216507 1.250000 0.125000 -v 0.266422 1.250000 0.357928 -v 0.357928 1.250000 0.266421 -v -0.409691 1.250000 0.176764 -v -0.443185 1.250000 0.051764 -v 0.051763 1.250000 -0.443185 -v 0.176763 1.250000 -0.409692 -v -0.125000 1.000000 0.216506 -v 0.000000 1.000000 0.250000 -v 0.125000 1.000000 0.216506 -v 0.216506 1.000000 0.125000 -v -0.216506 1.000000 0.125000 -v -0.250000 1.000000 0.000000 -v -0.216506 1.000000 -0.125000 -v -0.125000 1.000000 -0.216506 -v -0.000000 1.000000 -0.250000 -v 0.125000 1.000000 -0.216506 -v 0.216506 1.000000 -0.125000 -v 0.250000 1.000000 -0.000000 -v 0.409692 1.000000 0.176763 -v 0.443185 1.000000 0.051763 -v -0.266421 1.000000 0.357928 -v -0.357927 1.000000 0.266422 -v -0.176764 1.000000 -0.409691 -v -0.051764 1.000000 -0.443185 -v 0.000000 0.750000 0.250000 -v 0.125000 0.750000 0.216506 -v 0.216506 0.750000 0.125000 -v 0.250000 0.750000 -0.000000 -v -0.125000 0.750000 0.216506 -v -0.216506 0.750000 0.125000 -v -0.250000 0.750000 0.000000 -v -0.216506 0.750000 -0.125000 -v -0.125000 0.750000 -0.216506 -v -0.000000 0.750000 -0.250000 -v 0.125000 0.750000 -0.216506 -v 0.216506 0.750000 -0.125000 -v 0.443185 0.750000 -0.051764 -v 0.409691 0.750000 -0.176764 -v -0.051763 0.750000 0.443185 -v -0.176763 0.750000 0.409692 -v -0.357928 0.750000 -0.266421 -v -0.266422 0.750000 -0.357927 -v 0.125000 0.500000 0.216506 -v 0.216506 0.500000 0.125000 -v 0.250000 0.500000 -0.000000 -v 0.216506 0.500000 -0.125000 -v 0.000000 0.500000 0.250000 -v -0.125000 0.500000 0.216506 -v -0.216506 0.500000 0.125000 -v -0.250000 0.500000 0.000000 -v -0.216507 0.500000 -0.125000 -v -0.125000 0.500000 -0.216506 -v -0.000000 0.500000 -0.250000 -v 0.125000 0.500000 -0.216507 -v 0.357927 0.500000 -0.266422 -v 0.266421 0.500000 -0.357928 -v 0.176764 0.500000 0.409691 -v 0.051764 0.500000 0.443185 -v -0.443185 0.500000 -0.051763 -v -0.409692 0.500000 -0.176763 -v 0.216506 0.250000 0.125000 -v 0.250000 0.250000 -0.000000 -v 0.216506 0.250000 -0.125000 -v 0.125000 0.250000 -0.216506 -v 0.125000 0.250000 0.216506 -v 0.000000 0.250000 0.250000 -v -0.125000 0.250000 0.216507 -v -0.216506 0.250000 0.125000 -v -0.250000 0.250000 0.000000 -v -0.216507 0.250000 -0.125000 -v -0.125000 0.250000 -0.216506 -v -0.000001 0.250000 -0.250000 -v 0.176763 0.250000 -0.409692 -v 0.051763 0.250000 -0.443185 -v 0.357928 0.250000 0.266421 -v 0.266422 0.250000 0.357927 -v -0.409691 0.250000 0.176765 -v -0.443185 0.250000 0.051765 -v 0.250000 0.000000 -0.000000 -v 0.216506 0.000000 -0.125000 -v 0.125000 0.000000 -0.216506 -v -0.000000 0.000000 -0.250000 -v 0.216506 0.000000 0.125000 -v 0.125000 0.000000 0.216506 -v 0.000000 0.000000 0.250000 -v -0.125000 0.000000 0.216507 -v -0.216506 0.000000 0.125000 -v -0.250000 0.000000 0.000001 -v -0.216507 0.000000 -0.125000 -v -0.125000 0.000000 -0.216506 -v -0.051765 0.000000 -0.443185 -v -0.176765 0.000000 -0.409691 -v 0.443185 0.000000 0.051763 -v 0.409692 0.000000 0.176763 -v -0.266421 0.000000 0.357928 -v -0.357927 0.000000 0.266422 -vt 0.734654 0.961016 -vt 0.705579 0.975604 -vt 0.705579 0.902663 -vt 0.255629 0.062086 -vt 0.364401 0.091333 -vt 0.284775 0.171236 -vt 0.186790 0.125104 -vt 0.186790 0.091333 -vt 0.238802 0.091333 -vt 0.647427 0.624623 -vt 0.671421 0.602614 -vt 0.671421 0.691005 -vt 0.885455 0.327893 -vt 0.856379 0.342481 -vt 0.856379 0.269539 -vt 0.734654 0.902663 -vt 0.763730 0.888074 -vt 0.763730 0.961016 -vt 0.840715 0.160472 -vt 0.811640 0.175060 -vt 0.811640 0.102118 -vt 0.796471 0.727603 -vt 0.825547 0.713014 -vt 0.825547 0.785956 -vt 0.758571 0.132409 -vt 0.782564 0.110400 -vt 0.782564 0.198791 -vt 0.146287 0.925935 -vt 0.117211 0.940524 -vt 0.117211 0.867582 -vt 0.439954 0.627453 -vt 0.463948 0.605444 -vt 0.463948 0.693835 -vt 0.087681 0.836936 -vt 0.058606 0.851525 -vt 0.058606 0.778583 -vt 0.640691 0.962303 -vt 0.611615 0.976891 -vt 0.611615 0.903950 -vt 0.490791 0.410204 -vt 0.443651 0.429303 -vt 0.432186 0.341922 -vt 0.811640 0.072942 -vt 0.782564 0.087530 -vt 0.782564 0.014588 -vt 0.796471 0.785956 -vt 0.767395 0.800544 -vt 0.767395 0.727603 -vt 0.617057 0.254951 -vt 0.667297 0.262750 -vt 0.658587 0.334853 -vt 0.029076 0.865793 -vt 0.058151 0.851205 -vt 0.058151 0.924147 -vt 0.782564 0.088391 -vt 0.758571 0.110400 -vt 0.758571 0.022009 -vt 0.373580 0.199551 -vt 0.344435 0.216436 -vt 0.318429 0.171236 -vt 0.599637 0.334853 -vt 0.549397 0.342652 -vt 0.558107 0.254951 -vt 0.811640 0.014588 -vt 0.840715 0.000000 -vt 0.840715 0.072942 -vt 0.304001 0.371690 -vt 0.256861 0.390788 -vt 0.245396 0.303408 -vt 0.647427 0.779823 -vt 0.623434 0.801832 -vt 0.623434 0.713440 -vt 0.318429 0.045200 -vt 0.344435 0.000000 -vt 0.373580 0.016886 -vt 0.725867 0.079902 -vt 0.675627 0.087700 -vt 0.684337 0.000000 -vt 0.854622 0.785956 -vt 0.825547 0.800544 -vt 0.825547 0.727603 -vt 0.175817 0.371690 -vt 0.128677 0.390788 -vt 0.117211 0.303408 -vt 0.029076 0.836617 -vt 0.000000 0.851205 -vt 0.000000 0.778263 -vt 0.058606 0.546041 -vt 0.011466 0.565140 -vt 0.000000 0.477760 -vt 0.608347 0.406956 -vt 0.798572 0.443891 -vt 0.827648 0.429303 -vt 0.827648 0.502245 -vt 0.482873 0.338010 -vt 0.450138 0.254951 -vt 0.734577 0.152004 -vt 0.245396 0.751999 -vt 0.274471 0.737410 -vt 0.274471 0.810352 -vt 0.296083 0.299495 -vt 0.263348 0.216436 -vt 0.146287 0.838405 -vt 0.117211 0.852994 -vt 0.117211 0.780052 -vt 0.608347 0.342651 -vt 0.667297 0.406956 -vt 0.167899 0.299495 -vt 0.135164 0.216436 -vt 0.647427 0.727603 -vt 0.676503 0.713014 -vt 0.676503 0.785956 -vt 0.587621 0.713440 -vt 0.611615 0.691432 -vt 0.611615 0.779823 -vt 0.233968 0.836617 -vt 0.204893 0.851205 -vt 0.204893 0.778263 -vt 0.199811 0.675284 -vt 0.223804 0.653275 -vt 0.223804 0.741666 -vt 0.854622 0.961016 -vt 0.825547 0.975604 -vt 0.825547 0.902663 -vt 0.695415 0.691005 -vt 0.671421 0.713014 -vt 0.671421 0.624623 -vt 0.667297 0.342652 -vt 0.717537 0.334853 -vt 0.726247 0.406956 -vt 0.914530 0.269539 -vt 0.943606 0.254951 -vt 0.943606 0.327893 -vt 0.023994 0.741666 -vt 0.000000 0.763675 -vt 0.000000 0.675284 -vt 0.676007 0.254951 -vt 0.726247 0.262750 -vt 0.487941 0.693835 -vt 0.463948 0.715844 -vt 0.463948 0.627453 -vt 0.058151 0.836617 -vt 0.029076 0.851205 -vt 0.029076 0.778263 -vt 0.234423 0.546041 -vt 0.187283 0.565140 -vt 0.175817 0.477759 -vt 0.557727 0.155253 -vt 0.510587 0.174352 -vt 0.499121 0.086971 -vt 0.469030 0.963845 -vt 0.439954 0.978434 -vt 0.439954 0.905492 -vt 0.254106 0.564099 -vt 0.304346 0.571898 -vt 0.295635 0.644001 -vt 0.714326 0.727603 -vt 0.743402 0.713014 -vt 0.743402 0.785956 -vt 0.750585 0.517694 -vt 0.726592 0.539703 -vt 0.726592 0.451312 -vt 0.303547 0.810352 -vt 0.274471 0.824940 -vt 0.274471 0.751999 -vt 0.676503 0.727603 -vt 0.705579 0.713014 -vt 0.705579 0.785956 -vt 0.313056 0.390788 -vt 0.363296 0.398587 -vt 0.354585 0.470690 -vt 0.791389 0.617203 -vt 0.820465 0.602614 -vt 0.820464 0.675556 -vt 0.469030 0.788786 -vt 0.439954 0.803374 -vt 0.439954 0.730432 -vt 0.305887 0.576859 -vt 0.355109 0.564099 -vt 0.355109 0.652234 -vt 1.000000 0.961016 -vt 0.970924 0.975604 -vt 0.970924 0.902663 -vt 0.328339 0.674243 -vt 0.352333 0.652234 -vt 0.352333 0.740625 -vt 0.423998 0.690749 -vt 0.373236 0.687988 -vt 0.374777 0.615374 -vt 0.957018 0.014588 -vt 0.986093 0.000000 -vt 0.986093 0.072942 -vt 0.226504 0.473847 -vt 0.193769 0.390788 -vt 0.549809 0.083058 -vt 0.517074 0.000000 -vt 0.519867 0.874773 -vt 0.490791 0.889362 -vt 0.490791 0.816420 -vt 0.245396 0.651800 -vt 0.304346 0.716104 -vt 0.676503 0.873486 -vt 0.647427 0.888074 -vt 0.647427 0.815133 -vt 0.743402 0.624623 -vt 0.767395 0.602614 -vt 0.767395 0.691005 -vt 0.869791 0.072942 -vt 0.840715 0.087530 -vt 0.840715 0.014588 -vt 0.883698 0.873486 -vt 0.854622 0.888074 -vt 0.854622 0.815133 -vt 0.304346 0.478489 -vt 0.363296 0.542793 -vt 0.058606 0.866113 -vt 0.087681 0.851525 -vt 0.087681 0.924466 -vt 0.640691 0.874773 -vt 0.611615 0.889362 -vt 0.611615 0.816420 -vt 0.050687 0.473847 -vt 0.017952 0.390788 -vt 0.548943 0.816420 -vt 0.578018 0.801832 -vt 0.578018 0.874773 -vt 0.401586 0.000000 -vt 0.440516 0.017026 -vt 0.424375 0.086341 -vt 0.245396 0.927058 -vt 0.274471 0.912470 -vt 0.274471 0.985412 -vt 0.109293 0.299495 -vt 0.058606 0.303408 -vt 0.076558 0.216436 -vt 0.616677 0.152004 -vt 0.579899 0.173311 -vt 0.557727 0.087700 -vt 0.117211 0.371690 -vt 0.070071 0.390788 -vt 0.994918 0.675556 -vt 0.965842 0.690144 -vt 0.965842 0.617202 -vt 0.167974 0.655064 -vt 0.117211 0.652303 -vt 0.118753 0.579689 -vt 0.912773 0.961016 -vt 0.883698 0.975604 -vt 0.883698 0.902663 -vt 0.047987 0.741666 -vt 0.023994 0.763675 -vt 0.023994 0.675284 -vt 1.000000 0.873486 -vt 0.970924 0.888074 -vt 0.970924 0.815133 -vt 0.856723 0.502245 -vt 0.827648 0.516833 -vt 0.827648 0.443891 -vt 0.381946 0.429303 -vt 0.432186 0.437102 -vt 0.423475 0.509205 -vt 0.578018 0.962303 -vt 0.548943 0.976892 -vt 0.548943 0.903950 -vt 0.782564 0.102118 -vt 0.811640 0.087530 -vt 0.811640 0.160472 -vt 0.362607 0.371690 -vt 0.315467 0.390788 -vt 0.304001 0.303408 -vt 0.116757 0.836936 -vt 0.087681 0.778583 -vt 0.421223 0.779140 -vt 0.397229 0.801149 -vt 0.397229 0.712758 -vt 0.303547 0.897882 -vt 0.274471 0.839528 -vt 0.402311 0.961621 -vt 0.373236 0.976209 -vt 0.373236 0.903267 -vt 0.106593 0.741986 -vt 0.082599 0.763995 -vt 0.082599 0.675604 -vt 0.849540 0.617202 -vt 0.878616 0.602614 -vt 0.878616 0.675556 -vt 0.373580 0.084254 -vt 0.423790 0.158969 -vt 0.714326 0.815133 -vt 0.743402 0.800544 -vt 0.743402 0.873486 -vt 0.117211 0.677073 -vt 0.141205 0.655064 -vt 0.141205 0.743455 -vt 0.175362 0.838405 -vt 0.146287 0.852994 -vt 0.146287 0.780052 -vt 0.869791 0.102118 -vt 0.898867 0.087530 -vt 0.898867 0.160472 -vt 0.373236 0.517003 -vt 0.432186 0.581307 -vt 0.898867 0.072942 -vt 0.869791 0.087530 -vt 0.869791 0.014588 -vt 0.912773 0.815133 -vt 0.941849 0.800544 -vt 0.941849 0.873486 -vt 0.354689 0.299495 -vt 0.321954 0.216436 -vt 0.943950 0.502245 -vt 0.914875 0.516833 -vt 0.914875 0.443891 -vt 0.397229 0.779140 -vt 0.373236 0.801149 -vt 0.373236 0.712758 -vt 0.820465 0.617203 -vt 0.849540 0.602614 -vt 0.849540 0.675556 -vt 0.458468 0.000000 -vt 0.499121 0.012321 -vt 0.491203 0.083058 -vt 0.719408 0.691005 -vt 0.695415 0.713014 -vt 0.695415 0.624623 -vt 0.798228 0.269539 -vt 0.827303 0.254951 -vt 0.827303 0.327893 -vt 0.970924 0.785956 -vt 0.941849 0.727603 -vt 0.970924 0.727603 -vt 1.000000 0.713014 -vt 1.000000 0.785956 -vt 0.587621 0.779823 -vt 0.563628 0.801832 -vt 0.563628 0.713441 -vt 0.323257 0.777223 -vt 0.352333 0.762634 -vt 0.352333 0.835576 -vt 0.827303 0.269539 -vt 0.856379 0.254951 -vt 0.856379 0.327893 -vt 0.167974 0.566929 -vt 0.117211 0.564168 -vt 0.118753 0.491554 -vt 0.146287 0.867582 -vt 0.175362 0.852994 -vt 0.175362 0.925935 -vt 0.274471 0.897882 -vt 0.245396 0.912470 -vt 0.245396 0.839528 -vt 0.001541 0.577900 -vt 0.050763 0.565140 -vt 0.050763 0.653275 -vt 0.854622 0.873486 -vt 0.825547 0.888074 -vt 0.825547 0.815133 -vt 0.774579 0.451312 -vt 0.798572 0.429303 -vt 0.798572 0.517694 -vt 0.927942 0.014588 -vt 0.957018 0.000000 -vt 0.957018 0.072942 -vt 0.440516 0.086971 -vt 0.499121 0.155253 -vt 0.743402 0.691005 -vt 0.719408 0.713014 -vt 0.719408 0.624623 -vt 0.883698 0.727603 -vt 0.912773 0.713014 -vt 0.912773 0.785956 -vt 0.607967 0.079902 -vt 0.566437 0.000000 -vt 0.177358 0.577900 -vt 0.226580 0.565140 -vt 0.226580 0.653275 -vt 0.402311 0.815737 -vt 0.431387 0.801149 -vt 0.431387 0.874091 -vt 0.796471 0.961016 -vt 0.767395 0.975604 -vt 0.767395 0.902663 -vt 0.854622 0.902663 -vt 0.883698 0.888074 -vt 0.883698 0.961016 -vt 0.373580 0.341922 -vt 0.424268 0.338010 -vt 0.432186 0.410204 -vt 0.204893 0.836617 -vt 0.175817 0.851205 -vt 0.175817 0.778263 -vt 0.391533 0.254951 -vt 0.432186 0.267273 -vt 0.986093 0.160472 -vt 0.957018 0.175060 -vt 0.957018 0.102118 -vt 0.578018 0.903950 -vt 0.607094 0.889362 -vt 0.607094 0.962303 -vt 0.304346 0.542793 -vt 0.267568 0.564099 -vt 0.245396 0.478489 -vt 0.705579 0.873486 -vt 0.676503 0.888074 -vt 0.676503 0.815133 -vt 0.750585 0.451312 -vt 0.774579 0.429303 -vt 0.774579 0.517694 -vt 0.274471 0.927058 -vt 0.303547 0.912470 -vt 0.303547 0.985412 -vt 0.508744 0.254951 -vt 0.549397 0.267273 -vt 0.541479 0.338010 -vt 0.304346 0.674243 -vt 0.328339 0.652234 -vt 0.328339 0.740625 -vt 0.825547 0.873486 -vt 0.796471 0.888074 -vt 0.796471 0.815133 -vt 0.667641 0.581308 -vt 0.630863 0.602614 -vt 0.608691 0.517003 -vt 0.675627 0.152004 -vt 0.638849 0.173311 -vt 0.616677 0.087700 -vt 0.973026 0.502245 -vt 0.943950 0.516833 -vt 0.943950 0.443891 -vt 0.374741 0.172381 -vt 0.440516 0.229634 -vt 0.767395 0.624623 -vt 0.791389 0.602614 -vt 0.791389 0.691005 -vt 0.519867 0.962303 -vt 0.490791 0.976892 -vt 0.490791 0.903950 -vt 0.726592 0.581308 -vt 0.689813 0.602614 -vt 0.667641 0.517003 -vt 0.941849 0.785956 -vt 0.912773 0.800544 -vt 0.912773 0.727603 -vt 0.295635 0.470690 -vt 0.254106 0.390788 -vt 0.431387 0.961621 -vt 0.402311 0.976209 -vt 0.402311 0.903267 -vt 0.750241 0.276960 -vt 0.774234 0.254951 -vt 0.774234 0.343342 -vt 0.883698 0.785956 -vt 0.854622 0.800544 -vt 0.854622 0.727603 -vt 0.490791 0.341922 -vt 0.549397 0.410204 -vt 0.750241 0.343342 -vt 0.726247 0.365351 -vt 0.726247 0.276960 -vt 0.883698 0.815133 -vt 0.912773 0.873486 -vt 0.658931 0.509205 -vt 0.617402 0.429303 -vt 0.666917 0.079902 -vt 0.625387 0.000000 -vt 0.941849 0.902663 -vt 0.970924 0.961016 -vt 0.490717 0.605444 -vt 0.439954 0.602683 -vt 0.441496 0.530069 -vt 0.907691 0.675556 -vt 0.878616 0.690144 -vt 0.878616 0.617202 -vt 0.514785 0.713441 -vt 0.538778 0.691432 -vt 0.538778 0.779823 -vt 0.373236 0.815737 -vt 0.402311 0.801149 -vt 0.402311 0.874091 -vt 0.175817 0.675284 -vt 0.199811 0.653275 -vt 0.199811 0.741666 -vt 0.058606 0.477759 -vt 0.109293 0.473847 -vt 0.117211 0.546041 -vt 0.936767 0.675556 -vt 0.907691 0.690144 -vt 0.907691 0.617202 -vt 0.539634 0.713441 -vt 0.563628 0.691432 -vt 0.563628 0.779823 -vt 0.352333 0.923106 -vt 0.323257 0.937694 -vt 0.323257 0.864753 -vt 0.076558 0.390788 -vt 0.117211 0.403110 -vt 0.734577 0.022009 -vt 0.758571 0.000000 -vt 0.758571 0.088391 -vt 0.204893 0.924147 -vt 0.175817 0.938735 -vt 0.175817 0.865793 -vt 0.608691 0.581308 -vt 0.571913 0.602614 -vt 0.549741 0.517003 -vt 0.549741 0.581308 -vt 0.512963 0.602614 -vt 0.490791 0.517003 -vt 0.000000 0.865793 -vt 0.029076 0.924147 -vt 0.017952 0.216436 -vt 0.058606 0.228758 -vt 0.050688 0.299495 -vt 0.914530 0.327893 -vt 0.885455 0.342481 -vt 0.885455 0.269540 -vt 0.082599 0.741986 -vt 0.058606 0.763995 -vt 0.058606 0.675604 -vt 0.970924 0.873486 -vt 0.941849 0.888074 -vt 0.941849 0.815133 -vt 0.957018 0.160472 -vt 0.927942 0.175060 -vt 0.927942 0.102118 -vt 0.204742 0.216436 -vt 0.245396 0.228758 -vt 0.237478 0.299495 -vt 0.914875 0.502245 -vt 0.885799 0.516833 -vt 0.885799 0.443891 -vt 0.116757 0.924466 -vt 0.087681 0.939055 -vt 0.087681 0.866113 -vt 0.758571 0.198791 -vt 0.734577 0.220801 -vt 0.734577 0.132409 -vt 0.647427 0.691432 -vt 0.605129 0.687641 -vt 0.598584 0.616762 -vt 0.607094 0.874773 -vt 0.578018 0.889362 -vt 0.578018 0.816420 -vt 0.840716 0.102118 -vt 0.869791 0.160472 -vt 0.599981 0.509205 -vt 0.558452 0.429303 -vt 0.541031 0.509205 -vt 0.499502 0.429303 -vt 0.204893 0.865793 -vt 0.233968 0.851205 -vt 0.233968 0.924147 -vt 0.000000 0.303408 -vt 0.058606 0.371690 -vt 0.972681 0.327893 -vt 0.943606 0.342481 -vt 0.943606 0.269539 -vt 0.165198 0.743455 -vt 0.141205 0.765464 -vt 0.141205 0.677073 -vt 0.705579 0.961016 -vt 0.676503 0.975604 -vt 0.676503 0.902663 -vt 0.856723 0.443891 -vt 0.885799 0.429303 -vt 0.885799 0.502245 -vt 0.186790 0.303408 -vt 0.245396 0.371689 -vt 0.796471 0.873486 -vt 0.767395 0.888074 -vt 0.767395 0.815133 -vt 0.825547 0.961016 -vt 0.796471 0.975604 -vt 0.796471 0.902662 -vt 0.717881 0.509205 -vt 0.676352 0.429303 -vt 0.676503 0.961016 -vt 0.647427 0.975604 -vt 0.647427 0.902663 -vt 0.052012 0.091333 -vt 0.052012 0.125104 -vt 0.000000 0.125104 -vt 0.160784 0.062086 -vt 0.131639 0.171236 -vt 0.157645 0.000000 -vt 0.186790 0.016886 -vt 0.160784 0.154351 -vt 0.186790 0.199551 -vt 0.157645 0.216436 -vt 0.119588 0.406202 -vt 0.159179 0.390788 -vt 0.168049 0.478794 -vt 0.068249 0.576479 -vt 0.109185 0.565140 -vt 0.109185 0.653595 -vt 0.519867 0.816420 -vt 0.548943 0.801832 -vt 0.548943 0.874773 -vt 0.598584 0.691432 -vt 0.556286 0.687641 -vt 0.549741 0.616762 -vt 0.927942 0.160472 -vt 0.898867 0.175060 -vt 0.898867 0.102118 -vt 0.774234 0.276960 -vt 0.798228 0.254951 -vt 0.798228 0.343342 -vt 0.912773 0.902663 -vt 0.941849 0.961016 -vt 0.965842 0.675556 -vt 0.936767 0.690144 -vt 0.936767 0.617202 -vt 0.539634 0.691432 -vt 0.497336 0.687641 -vt 0.490791 0.616762 -vt 0.469030 0.876316 -vt 0.439954 0.890904 -vt 0.439954 0.817962 -vt 0.519867 0.903950 -vt 0.548943 0.889362 -vt 0.548942 0.962303 -vt 0.442331 0.444717 -vt 0.481922 0.429303 -vt 0.490791 0.517309 -vt 0.898867 0.014588 -vt 0.927942 0.000000 -vt 0.927942 0.072942 -vt 0.514785 0.779823 -vt 0.490791 0.801832 -vt 0.490791 0.713441 -vt 0.734654 0.888074 -vt 0.255629 0.154351 -vt 0.238802 0.125104 -vt 0.284775 0.045200 -vt 0.347574 0.062086 -vt 0.364401 0.125104 -vt 0.347574 0.154350 -vt 0.647427 0.713014 -vt 0.885455 0.254951 -vt 0.734654 0.975604 -vt 0.796471 0.800544 -vt 0.758571 0.220800 -vt 0.439954 0.715844 -vt 0.087681 0.763995 -vt 0.640691 0.889362 -vt 0.811640 0.000000 -vt 0.796471 0.713014 -vt 0.029076 0.938735 -vt 0.782564 0.000000 -vt 0.608347 0.262750 -vt 0.734577 0.007799 -vt 0.854622 0.713014 -vt 0.029076 0.763675 -vt 0.571569 0.428262 -vt 0.798572 0.516833 -vt 0.490791 0.267273 -vt 0.697799 0.173311 -vt 0.245396 0.824940 -vt 0.304001 0.228758 -vt 0.146287 0.765464 -vt 0.630519 0.428262 -vt 0.175817 0.228758 -vt 0.647427 0.800544 -vt 0.587621 0.801832 -vt 0.233968 0.763675 -vt 0.199811 0.763675 -vt 0.695415 0.602614 -vt 0.689469 0.428262 -vt 0.914530 0.342481 -vt 0.023994 0.653275 -vt 0.487941 0.605444 -vt 0.058151 0.763675 -vt 0.469030 0.890904 -vt 0.714326 0.800544 -vt 0.750585 0.429303 -vt 0.303547 0.737410 -vt 0.676503 0.800544 -vt 0.791389 0.690144 -vt 0.469030 0.715844 -vt 0.304346 0.649474 -vt 1.000000 0.888074 -vt 0.328339 0.762634 -vt 0.423998 0.602614 -vt 0.957018 0.087530 -vt 0.234423 0.403110 -vt 0.557727 0.012321 -vt 0.519867 0.801832 -vt 0.267568 0.737410 -vt 0.869791 0.000000 -vt 0.883698 0.800544 -vt 0.326518 0.564099 -vt 0.058606 0.939055 -vt 0.640691 0.801832 -vt 0.058606 0.403110 -vt 0.245396 1.000000 -vt 0.117211 0.228758 -vt 0.994918 0.602614 -vt 0.912773 0.888074 -vt 0.047987 0.653275 -vt 1.000000 0.800544 -vt 0.856723 0.429303 -vt 0.782564 0.175060 -vt 0.116757 0.763995 -vt 0.421223 0.690749 -vt 0.303547 0.824940 -vt 0.402311 0.888679 -vt 0.106593 0.653595 -vt 0.849540 0.690144 -vt 0.714326 0.888074 -vt 0.117211 0.765464 -vt 0.175362 0.765464 -vt 0.869791 0.175060 -vt 0.395408 0.602614 -vt 0.898867 0.000000 -vt 0.362607 0.228758 -vt 0.943950 0.429303 -vt 0.397229 0.690749 -vt 0.820465 0.690144 -vt 0.719408 0.602614 -vt 0.798228 0.342481 -vt 0.970924 0.713014 -vt 0.970924 0.800544 -vt 0.587621 0.691432 -vt 0.323257 0.850164 -vt 0.827303 0.342481 -vt 0.146287 0.940524 -vt 0.000000 0.650514 -vt 0.774579 0.539703 -vt 0.927942 0.087530 -vt 0.451981 0.174352 -vt 0.743402 0.602614 -vt 0.616677 0.007799 -vt 0.175817 0.650514 -vt 0.854622 0.975604 -vt 0.385046 0.429303 -vt 0.204893 0.763675 -vt 0.986093 0.087530 -vt 0.578018 0.976892 -vt 0.705579 0.800544 -vt 0.750585 0.539703 -vt 0.274471 1.000000 -vt 0.304346 0.762634 -vt 0.973026 0.429303 -vt 0.406355 0.254951 -vt 0.767395 0.713014 -vt 0.519867 0.889362 -vt 0.941849 0.713014 -vt 0.304346 0.398587 -vt 0.431387 0.888679 -vt 0.750241 0.365351 -vt 0.883698 0.713014 -vt 0.502257 0.429303 -vt 0.750241 0.254951 -vt 0.667641 0.437102 -vt 0.675627 0.007799 -vt 0.941849 0.975604 -vt 0.490717 0.517309 -vt 0.907691 0.602614 -vt 0.514785 0.801832 -vt 0.373236 0.888679 -vt 0.175817 0.763675 -vt 0.070071 0.565140 -vt 0.936767 0.602614 -vt 0.539634 0.801832 -vt 0.352333 0.850164 -vt 0.734577 0.110400 -vt 0.000000 0.938735 -vt 0.914530 0.254951 -vt 0.082599 0.653595 -vt 0.914875 0.429303 -vt 0.116757 0.851525 -vt 0.647427 0.602614 -vt 0.607094 0.801832 -vt 0.840715 0.175060 -vt 0.608691 0.437102 -vt 0.549741 0.437102 -vt 0.204893 0.938735 -vt 0.011466 0.390788 -vt 0.972681 0.254951 -vt 0.165198 0.655064 -vt 0.705579 0.888074 -vt 0.856723 0.516833 -vt 0.198256 0.390788 -vt 0.726592 0.437102 -vt 0.000000 0.091333 -vt 0.068839 0.062086 -vt 0.097984 0.045200 -vt 0.131639 0.045200 -vt 0.177611 0.091333 -vt 0.177611 0.125104 -vt 0.097985 0.171236 -vt 0.068839 0.154351 -vt 0.117211 0.478794 -vt 0.058606 0.648462 -vt 0.598584 0.602614 -vt 0.774234 0.365351 -vt 0.912773 0.975604 -vt 0.965842 0.602614 -vt 0.539634 0.602614 -vt 0.469030 0.803374 -vt 0.519867 0.976892 -vt 0.439954 0.517309 -vt 0.514785 0.691432 -vn 0.707100 0.000000 0.707100 -vn 0.000000 1.000000 0.000000 -vn -0.703100 -0.106600 -0.703100 -vn 0.965900 -0.000000 -0.258800 -vn 0.258800 -0.000000 0.965900 -vn -0.258800 -0.000000 0.965900 -vn 0.257300 -0.106600 0.960400 -vn 0.258800 0.000000 -0.965900 -vn -0.257300 -0.106600 -0.960400 -vn -0.965900 0.000000 0.258800 -vn 0.707100 0.000000 -0.707100 -vn -0.736600 0.646900 0.197400 -vn -0.965900 0.000000 -0.258800 -vn 0.857800 -0.459700 -0.229900 -vn -0.707100 0.000000 -0.707100 -vn 0.960400 -0.106600 0.257300 -vn 0.197400 -0.646900 0.736600 -vn 0.197400 0.646900 -0.736600 -vn -0.703100 -0.106600 0.703100 -vn -0.736600 -0.646900 -0.197400 -vn 0.965900 -0.000000 0.258800 -vn 0.539200 0.646900 0.539200 -vn -0.539200 0.646900 -0.539200 -vn 0.229900 -0.459700 0.857800 -vn -0.539200 0.646900 0.539200 -vn -0.857800 -0.459700 -0.229900 -vn -0.197400 0.646900 -0.736600 -vn -0.258800 -0.000000 -0.965900 -vn 0.628000 -0.459700 -0.628000 -vn 0.736600 0.646900 0.197400 -vn -0.707100 0.000000 0.707100 -vn 0.960400 -0.106600 -0.257300 -vn -0.257300 -0.106600 0.960400 -vn -0.960400 -0.106600 0.257300 -vn -0.628000 -0.459700 0.628000 -vn 0.703100 -0.106600 0.703100 -vn -0.857800 -0.459700 0.229900 -vn -0.960400 -0.106600 -0.257300 -vn 0.736600 0.646900 -0.197400 -vn -0.197400 0.646900 0.736600 -vn 0.229800 -0.459700 -0.857800 -vn 0.703100 -0.106600 -0.703100 -vn 0.628000 -0.459700 0.628000 -vn -0.229800 -0.459700 0.857800 -vn 0.539200 0.646900 -0.539200 -vn 0.197400 0.646900 0.736600 -vn -0.229900 -0.459700 -0.857800 -vn 0.257300 -0.106600 -0.960400 -vn 0.857800 -0.459700 0.229900 -vn -0.736600 0.646900 -0.197400 -vn -0.857800 -0.459700 -0.229800 -vn -0.628000 -0.459700 -0.628000 -vn 0.857800 -0.459700 0.229800 -vn 0.000000 -1.000000 0.000000 -vn -0.960400 0.106600 -0.257300 -vn 0.703100 0.106600 0.703100 -vn -0.703100 0.106600 -0.703100 -vn -0.628000 0.459700 0.628000 -vn 0.539200 -0.646900 -0.539200 -vn 0.960400 0.106600 -0.257300 -vn -0.229900 -0.459700 0.857800 -vn -0.229900 0.459700 -0.857800 -vn -0.257300 0.106600 0.960400 -vn 0.857800 0.459700 0.229800 -vn -0.857800 0.459700 -0.229800 -vn 0.539200 -0.646900 0.539200 -vn -0.229900 0.459700 0.857800 -vn -0.736600 -0.646900 0.197400 -vn -0.628000 0.459700 -0.628000 -vn 0.197400 -0.646900 -0.736600 -vn 0.857800 0.459700 -0.229900 -vn 0.703100 0.106600 -0.703100 -vn 0.257300 0.106600 0.960400 -vn -0.703100 0.106600 0.703100 -vn -0.197400 -0.646900 0.736600 -vn 0.960400 0.106600 0.257300 -vn -0.539200 -0.646900 0.539200 -vn -0.960400 0.106600 0.257300 -vn 0.628000 0.459700 -0.628000 -vn 0.229900 0.459700 0.857800 -vn -0.197400 -0.646900 -0.736600 -vn 0.257300 0.106600 -0.960400 -vn 0.736600 -0.646900 0.197400 -vn 0.229800 0.459700 -0.857800 -vn 0.628000 0.459700 0.628000 -vn -0.539200 -0.646900 -0.539200 -vn -0.257300 0.106600 -0.960400 -vn 0.736600 -0.646900 -0.197400 -vn -0.857800 0.459700 0.229900 -vn -0.229800 0.459700 0.857800 -s off -f 20/1/1 21/2/1 43/3/1 -f 11/4/2 7/5/2 3/6/2 -f 15/7/2 16/8/2 12/9/2 -f 28/10/3 27/11/3 49/12/3 -f 41/13/4 42/14/4 60/15/4 -f 5/16/1 6/17/1 20/18/1 -f 6/19/5 7/20/5 21/21/5 -f 7/22/6 8/23/6 22/24/6 -f 53/25/7 54/26/7 72/27/7 -f 2/28/8 1/29/8 14/30/8 -f 16/31/9 15/32/9 27/33/9 -f 9/34/10 10/35/10 24/36/10 -f 1/37/11 3/38/11 17/39/11 -f 12/40/12 16/41/12 28/42/12 -f 10/43/13 11/44/13 25/45/13 -f 3/46/4 4/47/4 18/48/4 -f 15/49/14 2/50/14 13/51/14 -f 11/52/15 12/53/15 26/54/15 -f 29/55/16 30/56/16 31/57/16 -f 30/58/2 29/59/2 4/60/2 -f 19/61/17 31/62/17 30/63/17 -f 17/64/11 18/65/11 37/66/11 -f 4/67/18 29/68/18 32/69/18 -f 33/70/19 34/71/19 35/72/19 -f 9/73/2 34/74/2 33/75/2 -f 23/76/20 35/77/20 34/78/20 -f 19/79/21 20/80/21 42/81/21 -f 8/82/22 33/83/22 36/84/22 -f 47/85/10 48/86/10 66/87/10 -f 37/88/23 51/89/23 69/90/23 -f 31/62/24 19/61/24 41/91/24 -f 14/92/8 17/93/8 38/94/8 -f 26/95/25 28/42/25 50/96/25 -f 35/77/26 23/76/26 45/97/26 -f 21/98/5 22/99/5 44/100/5 -f 18/101/27 32/69/27 51/102/27 -f 13/103/28 14/104/28 39/105/28 -f 27/106/29 13/51/29 40/107/29 -f 22/108/30 36/84/30 53/109/30 -f 23/110/31 24/111/31 46/112/31 -f 32/113/32 31/114/32 52/115/32 -f 24/116/10 25/117/10 47/118/10 -f 36/119/33 35/120/33 54/121/33 -f 25/122/13 26/123/13 48/124/13 -f 68/125/34 67/126/34 85/127/34 -f 72/128/35 63/129/35 81/130/35 -f 59/131/11 60/132/11 78/133/11 -f 71/134/36 72/135/36 90/136/36 -f 54/137/37 45/138/37 63/129/37 -f 50/139/38 49/140/38 67/141/38 -f 42/142/21 43/143/21 61/144/21 -f 44/145/39 53/146/39 71/147/39 -f 48/148/40 50/149/40 68/150/40 -f 43/151/1 44/152/1 62/153/1 -f 49/154/41 40/155/41 58/156/41 -f 38/157/8 37/158/8 55/159/8 -f 51/160/42 52/161/42 70/162/42 -f 45/163/6 46/164/6 64/165/6 -f 39/166/28 38/167/28 56/168/28 -f 52/169/43 41/170/43 59/171/43 -f 46/172/31 47/173/31 65/174/31 -f 40/175/15 39/176/15 57/177/15 -f 80/178/18 89/179/18 107/180/18 -f 78/181/11 79/182/11 97/183/11 -f 86/184/19 85/185/19 103/186/19 -f 90/187/44 81/188/44 99/189/44 -f 60/190/4 61/191/4 79/192/4 -f 62/193/45 71/147/45 89/194/45 -f 66/195/46 68/150/46 86/196/46 -f 61/197/21 62/198/21 80/199/21 -f 67/200/47 58/156/47 76/201/47 -f 56/202/28 55/203/28 73/204/28 -f 69/205/48 70/206/48 88/207/48 -f 63/208/5 64/209/5 82/210/5 -f 57/211/15 56/212/15 74/213/15 -f 70/214/49 59/171/49 77/215/49 -f 64/216/6 65/217/6 83/218/6 -f 58/219/13 57/220/13 75/221/13 -f 55/222/50 69/90/50 87/223/50 -f 65/224/31 66/225/31 84/226/31 -f 103/227/51 94/228/51 112/229/51 -f 97/230/11 98/231/11 116/232/11 -f 102/233/30 104/234/30 122/235/30 -f 98/236/27 107/237/27 125/238/27 -f 84/239/22 86/240/22 104/234/22 -f 79/241/4 80/242/4 98/243/4 -f 85/244/52 76/245/52 94/246/52 -f 74/247/15 73/248/15 91/249/15 -f 87/250/9 88/251/9 106/252/9 -f 81/253/1 82/254/1 100/255/1 -f 75/256/13 74/257/13 92/258/13 -f 88/259/14 77/260/14 95/261/14 -f 82/262/5 83/263/5 101/264/5 -f 76/265/10 75/266/10 93/267/10 -f 73/268/12 87/269/12 105/270/12 -f 83/271/6 84/217/6 102/272/6 -f 89/273/16 90/274/16 108/275/16 -f 77/276/8 78/231/8 96/277/8 -f 117/278/4 118/279/4 136/280/4 -f 123/281/38 124/282/38 142/283/38 -f 110/284/10 109/285/10 127/286/10 -f 121/287/37 112/229/37 130/288/37 -f 92/289/13 91/290/13 109/291/13 -f 105/292/3 106/293/3 124/294/3 -f 99/295/21 100/296/21 118/297/21 -f 93/298/10 92/299/10 110/300/10 -f 106/301/29 95/261/29 113/302/29 -f 100/303/1 101/304/1 119/305/1 -f 94/306/31 93/307/31 111/308/31 -f 91/309/25 105/270/25 123/310/25 -f 101/311/5 102/312/5 120/313/5 -f 107/314/32 108/315/32 126/316/32 -f 95/317/28 96/318/28 114/319/28 -f 108/320/24 99/321/24 117/322/24 -f 104/323/33 103/324/33 121/325/33 -f 96/326/8 97/327/8 115/328/8 -f 129/329/6 128/307/6 146/330/6 -f 135/331/11 136/332/11 154/333/11 -f 141/334/34 142/335/34 160/336/34 -f 128/337/31 127/338/31 145/339/31 -f 111/340/31 110/341/31 128/342/31 -f 124/343/41 113/344/41 131/345/41 -f 118/346/21 119/347/21 137/348/21 -f 112/349/6 111/350/6 129/351/6 -f 109/352/40 123/353/40 141/354/40 -f 119/355/1 120/356/1 138/357/1 -f 125/358/42 126/359/42 144/360/42 -f 113/361/15 114/362/15 132/363/15 -f 126/364/43 117/322/43 135/365/43 -f 122/366/7 121/367/7 139/368/7 -f 114/369/28 115/370/28 133/371/28 -f 116/372/23 125/238/23 143/373/23 -f 120/374/39 122/375/39 140/376/39 -f 115/377/8 116/378/8 134/379/8 -f 148/380/1 147/381/1 165/382/1 -f 154/383/11 155/384/11 173/385/11 -f 160/386/52 149/387/52 167/388/52 -f 147/389/5 146/390/5 164/391/5 -f 142/392/47 131/393/47 149/387/47 -f 136/394/4 137/395/4 155/396/4 -f 130/397/5 129/398/5 147/399/5 -f 127/400/46 141/401/46 159/402/46 -f 137/403/21 138/404/21 156/405/21 -f 143/406/48 144/407/48 162/408/48 -f 131/409/13 132/410/13 150/411/13 -f 144/412/53 135/413/53 153/414/53 -f 140/415/36 139/416/36 157/417/36 -f 132/418/15 133/419/15 151/420/15 -f 134/421/50 143/422/50 161/423/50 -f 138/424/45 140/425/45 158/426/45 -f 133/427/28 134/428/28 152/429/28 -f 139/430/35 130/288/35 148/431/35 -f 179/432/3 180/433/3 198/434/3 -f 173/435/11 174/436/11 192/437/11 -f 163/438/30 177/439/30 195/440/30 -f 166/441/21 165/442/21 183/443/21 -f 145/444/22 159/402/22 177/445/22 -f 155/446/4 156/447/4 174/448/4 -f 161/449/9 162/450/9 180/451/9 -f 149/452/10 150/453/10 168/454/10 -f 162/455/14 153/414/14 171/456/14 -f 158/457/16 157/458/16 175/459/16 -f 150/460/13 151/442/13 169/461/13 -f 152/462/12 161/423/12 179/463/12 -f 156/464/18 158/426/18 176/465/18 -f 151/466/15 152/254/15 170/467/15 -f 157/468/44 148/469/44 166/470/44 -f 146/471/6 145/472/6 163/473/6 -f 159/474/19 160/475/19 178/476/19 -f 153/477/8 154/478/8 172/479/8 -f 194/480/42 193/481/42 211/482/42 -f 198/483/41 189/484/41 207/485/41 -f 185/486/6 186/487/6 204/488/6 -f 197/489/38 198/490/38 216/491/38 -f 167/492/31 168/493/31 186/494/31 -f 180/495/29 171/496/29 189/484/29 -f 176/497/32 175/498/32 193/499/32 -f 168/500/10 169/501/10 187/502/10 -f 170/503/25 179/504/25 197/505/25 -f 174/506/27 176/507/27 194/508/27 -f 169/509/13 170/143/13 188/510/13 -f 175/511/24 166/512/24 184/513/24 -f 164/514/5 163/515/5 181/516/5 -f 177/517/33 178/518/33 196/519/33 -f 171/520/28 172/521/28 190/522/28 -f 165/523/1 164/524/1 182/525/1 -f 178/526/51 167/527/51 185/528/51 -f 172/529/8 173/530/8 191/531/8 -f 204/532/6 205/533/6 223/534/6 -f 212/535/48 211/536/48 229/537/48 -f 216/538/47 207/539/47 225/540/47 -f 203/541/5 204/542/5 222/543/5 -f 186/544/31 187/304/31 205/545/31 -f 188/546/40 197/505/40 215/547/40 -f 192/548/23 194/508/23 212/549/23 -f 187/550/10 188/551/10 206/552/10 -f 193/553/43 184/513/43 202/554/43 -f 182/555/1 181/556/1 199/557/1 -f 195/558/7 196/559/7 214/560/7 -f 189/561/15 190/562/15 208/563/15 -f 183/564/21 182/565/21 200/566/21 -f 196/567/37 185/528/37 203/568/37 -f 190/569/28 191/570/28 209/571/28 -f 184/572/4 183/573/4 201/574/4 -f 181/575/39 195/440/39 213/576/39 -f 191/577/8 192/578/8 210/579/8 -f 220/580/54 228/581/54 230/582/54 -f 221/583/54 225/584/54 220/580/54 -f 231/585/54 232/586/54 221/583/54 -f 224/587/54 233/588/54 234/589/54 -f 206/590/46 215/591/46 233/592/46 -f 210/593/50 212/594/50 230/595/50 -f 205/596/31 206/597/31 224/598/31 -f 211/599/53 202/600/53 220/601/53 -f 200/602/21 199/603/21 217/604/21 -f 213/605/36 214/606/36 232/607/36 -f 207/608/13 208/521/13 226/609/13 -f 201/610/4 200/611/4 218/612/4 -f 214/613/35 203/614/35 221/615/35 -f 208/616/15 209/617/15 227/618/15 -f 202/619/11 201/620/11 219/621/11 -f 199/622/45 213/623/45 231/624/45 -f 209/625/28 210/626/28 228/627/28 -f 215/628/34 216/629/34 234/630/34 -f 42/631/21 20/1/21 43/3/21 -f 3/6/2 1/632/2 2/633/2 -f 2/633/2 12/9/2 3/6/2 -f 11/4/2 10/634/2 9/73/2 -f 9/73/2 8/635/2 7/5/2 -f 7/5/2 6/636/2 5/637/2 -f 5/637/2 4/60/2 7/5/2 -f 3/6/2 12/9/2 11/4/2 -f 11/4/2 9/73/2 7/5/2 -f 7/5/2 4/60/2 3/6/2 -f 2/633/2 15/7/2 12/9/2 -f 50/638/55 28/10/55 49/12/55 -f 59/639/11 41/13/11 60/15/11 -f 19/640/21 5/16/21 20/18/21 -f 20/209/1 6/19/1 21/21/1 -f 21/641/5 7/22/5 22/24/5 -f 71/642/56 53/25/56 72/27/56 -f 13/296/28 2/28/28 14/30/28 -f 28/643/57 16/31/57 27/33/57 -f 23/644/31 9/34/31 24/36/31 -f 14/645/8 1/37/8 17/39/8 -f 26/95/58 12/40/58 28/42/58 -f 24/646/10 10/43/10 25/45/10 -f 17/647/11 3/46/11 18/48/11 -f 27/106/59 15/49/59 13/51/59 -f 25/648/13 11/52/13 26/54/13 -f 32/649/60 29/55/60 31/57/60 -f 5/637/2 30/58/2 4/60/2 -f 5/650/61 19/61/61 30/63/61 -f 38/266/8 17/64/8 37/66/8 -f 18/101/62 4/67/62 32/69/62 -f 36/538/63 33/70/63 35/72/63 -f 8/635/2 9/73/2 33/75/2 -f 9/651/52 23/76/52 34/78/52 -f 41/652/4 19/79/4 42/81/4 -f 22/108/64 8/82/64 36/84/64 -f 65/653/31 47/85/31 66/87/31 -f 55/222/65 37/88/65 69/90/65 -f 52/654/66 31/62/66 41/91/66 -f 39/655/28 14/92/28 38/94/28 -f 48/656/67 26/95/67 50/96/67 -f 54/657/68 35/77/68 45/97/68 -f 43/658/1 21/98/1 44/100/1 -f 37/659/69 18/101/69 51/102/69 -f 40/660/15 13/103/15 39/105/15 -f 49/661/70 27/106/70 40/107/70 -f 44/662/71 22/108/71 53/109/71 -f 45/663/6 23/110/6 46/112/6 -f 51/664/72 32/113/72 52/115/72 -f 46/665/31 24/116/31 47/118/31 -f 53/666/73 36/119/73 54/121/73 -f 47/212/10 25/122/10 48/124/10 -f 86/667/74 68/125/74 85/127/74 -f 90/668/75 72/128/75 81/130/75 -f 77/669/8 59/131/8 78/133/8 -f 89/670/76 71/134/76 90/136/76 -f 72/128/77 54/137/77 63/129/77 -f 68/671/78 50/139/78 67/141/78 -f 60/672/4 42/142/4 61/144/4 -f 62/193/79 44/145/79 71/147/79 -f 66/195/80 48/148/80 68/150/80 -f 61/673/21 43/151/21 62/153/21 -f 67/200/81 49/154/81 58/156/81 -f 56/674/28 38/157/28 55/159/28 -f 69/675/82 51/160/82 70/162/82 -f 63/676/5 45/163/5 64/165/5 -f 57/677/15 39/166/15 56/168/15 -f 70/214/83 52/169/83 59/171/83 -f 64/678/6 46/172/6 65/174/6 -f 58/679/13 40/175/13 57/177/13 -f 98/680/62 80/178/62 107/180/62 -f 96/681/8 78/181/8 97/183/8 -f 104/682/63 86/184/63 103/186/63 -f 108/683/17 90/187/17 99/189/17 -f 78/684/11 60/190/11 79/192/11 -f 80/685/84 62/193/84 89/194/84 -f 84/686/85 66/195/85 86/196/85 -f 79/687/4 61/197/4 80/199/4 -f 85/688/86 67/200/86 76/201/86 -f 74/677/15 56/202/15 73/204/15 -f 87/158/87 69/205/87 88/207/87 -f 81/689/1 63/208/1 82/210/1 -f 75/690/13 57/211/13 74/213/13 -f 88/691/88 70/214/88 77/215/88 -f 82/692/5 64/216/5 83/218/5 -f 76/693/10 58/219/10 75/221/10 -f 73/694/89 55/222/89 87/223/89 -f 83/620/6 65/224/6 84/226/6 -f 121/287/68 103/227/68 112/229/68 -f 115/695/8 97/230/8 116/232/8 -f 120/696/71 102/233/71 122/235/71 -f 116/372/69 98/236/69 125/238/69 -f 102/233/64 84/239/64 104/234/64 -f 97/697/11 79/241/11 98/243/11 -f 103/343/20 85/244/20 94/246/20 -f 92/698/13 74/247/13 91/249/13 -f 105/699/57 87/250/57 106/252/57 -f 99/700/21 81/253/21 100/255/21 -f 93/701/10 75/256/10 92/258/10 -f 106/301/59 88/259/59 95/261/59 -f 100/542/1 82/262/1 101/264/1 -f 94/702/31 76/265/31 93/267/31 -f 91/309/58 73/268/58 105/270/58 -f 101/703/5 83/271/5 102/272/5 -f 107/704/60 89/273/60 108/275/60 -f 95/705/28 77/276/28 96/277/28 -f 135/706/11 117/278/11 136/280/11 -f 141/707/78 123/281/78 142/283/78 -f 128/708/31 110/284/31 127/286/31 -f 139/430/77 121/287/77 130/288/77 -f 110/709/10 92/289/10 109/291/10 -f 123/710/55 105/292/55 124/294/55 -f 117/711/4 99/295/4 118/297/4 -f 111/712/31 93/298/31 110/300/31 -f 124/713/70 106/301/70 113/302/70 -f 118/714/21 100/303/21 119/305/21 -f 112/698/6 94/306/6 111/308/6 -f 109/715/90 91/309/90 123/310/90 -f 119/716/1 101/311/1 120/313/1 -f 125/717/72 107/314/72 126/316/72 -f 113/718/15 95/317/15 114/319/15 -f 126/364/66 108/320/66 117/322/66 -f 122/719/73 104/323/73 121/325/73 -f 114/720/28 96/326/28 115/328/28 -f 147/721/5 129/329/5 146/330/5 -f 153/722/8 135/331/8 154/333/8 -f 159/723/74 141/334/74 160/336/74 -f 146/724/6 128/337/6 145/339/6 -f 129/725/6 111/340/6 128/342/6 -f 142/592/81 124/343/81 131/345/81 -f 136/726/4 118/346/4 137/348/4 -f 130/164/5 112/349/5 129/351/5 -f 127/727/80 109/352/80 141/354/80 -f 137/453/21 119/355/21 138/357/21 -f 143/728/82 125/358/82 144/360/82 -f 131/729/13 113/361/13 132/363/13 -f 144/730/83 126/364/83 135/365/83 -f 140/731/56 122/366/56 139/368/56 -f 132/690/15 114/369/15 133/371/15 -f 134/732/65 116/372/65 143/373/65 -f 138/733/79 120/374/79 140/376/79 -f 133/706/28 115/377/28 134/379/28 -f 166/419/21 148/380/21 165/382/21 -f 172/734/8 154/383/8 173/385/8 -f 178/735/20 160/386/20 167/388/20 -f 165/736/1 147/389/1 164/391/1 -f 160/386/86 142/392/86 149/387/86 -f 154/737/11 136/394/11 155/396/11 -f 148/738/1 130/397/1 147/399/1 -f 145/444/85 127/400/85 159/402/85 -f 155/739/4 137/403/4 156/405/4 -f 161/740/87 143/406/87 162/408/87 -f 149/741/10 131/409/10 150/411/10 -f 162/455/88 144/412/88 153/414/88 -f 158/742/76 140/415/76 157/417/76 -f 150/80/13 132/418/13 151/420/13 -f 152/462/89 134/421/89 161/423/89 -f 156/464/84 138/424/84 158/426/84 -f 151/743/15 133/427/15 152/429/15 -f 157/744/75 139/430/75 148/431/75 -f 197/745/55 179/432/55 198/434/55 -f 191/746/8 173/435/8 192/437/8 -f 181/575/71 163/438/71 195/440/71 -f 184/747/4 166/441/4 183/443/4 -f 163/748/64 145/444/64 177/445/64 -f 173/749/11 155/446/11 174/448/11 -f 179/750/57 161/449/57 180/451/57 -f 167/751/31 149/452/31 168/454/31 -f 180/752/59 162/455/59 171/456/59 -f 176/753/60 158/457/60 175/459/60 -f 168/384/10 150/460/10 169/461/10 -f 170/754/58 152/462/58 179/463/58 -f 174/755/62 156/464/62 176/465/62 -f 169/756/13 151/466/13 170/467/13 -f 175/757/17 157/468/17 166/470/17 -f 164/758/5 146/471/5 163/473/5 -f 177/759/63 159/474/63 178/476/63 -f 171/760/28 153/477/28 172/479/28 -f 212/761/82 194/480/82 211/482/82 -f 216/762/81 198/483/81 207/485/81 -f 203/763/5 185/486/5 204/488/5 -f 215/764/78 197/489/78 216/491/78 -f 185/765/6 167/492/6 186/494/6 -f 198/483/70 180/495/70 189/484/70 -f 194/766/72 176/497/72 193/499/72 -f 186/117/31 168/500/31 187/502/31 -f 188/546/90 170/503/90 197/505/90 -f 192/548/69 174/506/69 194/508/69 -f 187/767/10 169/509/10 188/510/10 -f 193/553/66 175/511/66 184/513/66 -f 182/768/1 164/514/1 181/516/1 -f 195/769/73 177/517/73 196/519/73 -f 189/722/15 171/520/15 190/522/15 -f 183/684/21 165/523/21 182/525/21 -f 196/567/68 178/526/68 185/528/68 -f 190/770/28 172/529/28 191/531/28 -f 222/771/5 204/532/5 223/534/5 -f 230/56/87 212/535/87 229/537/87 -f 234/772/86 216/538/86 225/540/86 -f 221/773/1 203/541/1 222/543/1 -f 204/774/6 186/544/6 205/545/6 -f 206/775/80 188/546/80 215/547/80 -f 210/776/65 192/548/65 212/549/65 -f 205/777/31 187/550/31 206/552/31 -f 211/778/83 193/553/83 202/554/83 -f 200/779/21 182/555/21 199/557/21 -f 213/780/56 195/558/56 214/560/56 -f 207/781/13 189/561/13 208/563/13 -f 201/782/4 183/564/4 200/566/4 -f 214/783/77 196/567/77 203/568/77 -f 208/641/15 190/569/15 209/571/15 -f 202/356/11 184/572/11 201/574/11 -f 199/784/79 181/575/79 213/576/79 -f 209/404/28 191/577/28 210/579/28 -f 229/785/54 220/580/54 230/582/54 -f 220/580/54 219/786/54 218/787/54 -f 218/787/54 217/788/54 221/583/54 -f 221/583/54 222/789/54 223/790/54 -f 223/790/54 224/587/54 221/583/54 -f 225/584/54 226/791/54 227/792/54 -f 227/792/54 228/581/54 220/580/54 -f 220/580/54 218/787/54 221/583/54 -f 221/583/54 224/587/54 225/584/54 -f 225/584/54 227/792/54 220/580/54 -f 217/788/54 231/585/54 221/583/54 -f 225/584/54 224/587/54 234/589/54 -f 224/793/85 206/590/85 233/592/85 -f 228/794/89 210/593/89 230/595/89 -f 223/746/6 205/596/6 224/598/6 -f 229/795/88 211/599/88 220/601/88 -f 218/729/4 200/602/4 217/604/4 -f 231/796/76 213/605/76 232/607/76 -f 225/797/10 207/608/10 226/609/10 -f 219/798/11 201/610/11 218/612/11 -f 232/799/75 214/613/75 221/615/75 -f 226/800/13 208/616/13 227/618/13 -f 220/801/8 202/619/8 219/621/8 -f 217/802/84 199/622/84 231/624/84 -f 227/299/15 209/625/15 228/627/15 -f 233/803/74 215/628/74 234/630/74 diff --git a/src/main/resources/assets/hbm/models/drill_main.obj b/src/main/resources/assets/hbm/models/drill_main.obj deleted file mode 100644 index 5d0baf4e8..000000000 --- a/src/main/resources/assets/hbm/models/drill_main.obj +++ /dev/null @@ -1,1810 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'drill_main.blend' -# www.blender.org -o Plane.001 -v -0.500000 0.250000 0.250000 -v -0.500000 0.750000 0.250000 -v -0.500000 0.250000 -0.250000 -v -0.500000 0.750000 -0.250000 -v -1.500000 0.000000 0.500000 -v -1.500000 1.000000 0.500000 -v -1.500000 0.000000 -0.500000 -v -1.500000 1.000000 -0.500000 -v -1.000000 1.000000 -0.500000 -v -1.000000 0.000000 -0.500000 -v -1.000000 1.000000 0.500000 -v -1.000000 0.000000 0.500000 -v -1.500000 0.875000 -0.375000 -v -1.500000 0.125000 -0.375000 -v -1.500000 0.875000 0.375000 -v -1.500000 0.125000 0.375000 -v -1.000000 0.687500 -0.187500 -v -1.000000 0.312500 -0.187500 -v -1.000000 0.687500 0.187500 -v -1.000000 0.312500 0.187500 -v -1.083333 0.250000 -0.600000 -v -1.083333 0.750000 -0.600000 -v -1.333333 0.500000 -0.600000 -v -1.083333 0.250000 0.600000 -v -1.083333 0.750000 0.600000 -v -1.333333 0.500000 0.600000 -v -1.500000 0.000000 1.500000 -v 1.500000 0.000000 1.500000 -v -1.500000 0.000000 -1.500000 -v 1.500000 0.000000 -1.500000 -v -1.500000 0.000000 1.250000 -v 1.250000 0.000000 1.500000 -v 1.500000 0.000000 -1.250000 -v -1.250000 0.000000 -1.500000 -v -1.500000 0.000000 -1.250000 -v -1.250000 0.000000 1.500000 -v 1.500000 0.000000 1.250000 -v 1.250000 0.000000 -1.500000 -v 1.250000 0.000000 1.250000 -v -1.250000 0.000000 1.250000 -v -1.250000 0.000000 -1.250000 -v 1.250000 0.000000 -1.250000 -v -0.000000 3.500000 -0.250000 -v 0.125000 3.500000 -0.216506 -v 0.000000 3.000000 -0.500000 -v 0.000000 3.250000 -0.500000 -v 0.250000 3.000000 -0.433013 -v 0.250000 3.250000 -0.433013 -v 0.433013 3.000000 -0.250000 -v 0.433013 3.250000 -0.250000 -v 0.500000 3.000000 0.000000 -v 0.500000 3.250000 0.000000 -v 0.433013 3.000000 0.250000 -v 0.433013 3.250000 0.250000 -v 0.250000 3.000000 0.433013 -v 0.250000 3.250000 0.433013 -v 0.000000 3.000000 0.500000 -v 0.000000 3.250000 0.500000 -v -0.250000 3.000000 0.433013 -v -0.250000 3.250000 0.433013 -v -0.433013 3.000000 0.250000 -v -0.433013 3.250000 0.250000 -v -0.500000 3.000000 0.000000 -v -0.500000 3.250000 0.000000 -v -0.433013 3.000000 -0.250000 -v -0.433013 3.250000 -0.250000 -v -0.250000 3.000000 -0.433013 -v -0.250000 3.250000 -0.433013 -v 0.216506 3.500000 -0.125000 -v 0.250000 3.500000 0.000000 -v 0.216506 3.500000 0.125000 -v 0.125000 3.500000 0.216506 -v 0.000000 3.500000 0.250000 -v -0.125000 3.500000 0.216506 -v -0.216506 3.500000 0.125000 -v -0.250000 3.500000 0.000000 -v -0.216506 3.500000 -0.125000 -v -0.125000 3.500000 -0.216506 -v -0.000000 3.500000 -0.087500 -v -0.043750 3.500000 -0.075777 -v -0.075777 3.500000 -0.043750 -v -0.087500 3.500000 0.000000 -v -0.075777 3.500000 0.043750 -v -0.043750 3.500000 0.075777 -v 0.000000 3.500000 0.087500 -v 0.043750 3.500000 0.075777 -v 0.075777 3.500000 0.043750 -v 0.087500 3.500000 0.000000 -v 0.075777 3.500000 -0.043750 -v 0.043750 3.500000 -0.075777 -v 0.000001 4.000000 -0.087500 -v -0.043749 4.000000 -0.075777 -v -0.075777 4.000000 -0.043750 -v -0.087499 4.000000 0.000000 -v -0.075777 4.000000 0.043750 -v -0.043749 4.000000 0.075777 -v 0.000001 4.000000 0.087500 -v 0.043751 4.000000 0.075777 -v 0.075778 4.000000 0.043750 -v 0.087501 4.000000 0.000000 -v 0.075778 4.000000 -0.043750 -v 0.043751 4.000000 -0.075777 -v -0.750000 3.000000 -0.750000 -v -0.500000 3.000000 -0.750000 -v -0.750000 3.000000 -0.500000 -v -0.500000 3.000000 -0.500000 -v 0.750000 3.000000 -0.750000 -v 0.750000 3.000000 -0.500000 -v 0.500000 3.000000 -0.750000 -v 0.500000 3.000000 -0.500000 -v 0.750000 3.000000 0.750000 -v 0.500000 3.000000 0.750000 -v 0.750000 3.000000 0.500000 -v 0.500000 3.000000 0.500000 -v -0.750000 3.000000 0.750000 -v -0.750000 3.000000 0.500000 -v -0.500000 3.000000 0.750000 -v -0.500000 3.000000 0.500000 -v 0.156236 0.656250 1.502073 -v -0.156236 0.656250 1.497927 -v 0.156236 0.343750 1.502073 -v -0.156236 0.343750 1.497927 -v 0.159552 0.656250 1.252095 -v -0.152920 0.656250 1.247949 -v 0.159552 0.343750 1.252095 -v -0.152920 0.343750 1.247949 -v -0.500000 0.000000 1.250000 -v -0.500000 1.000000 1.250000 -v -0.500000 0.000000 1.000000 -v -0.500000 1.000000 1.000000 -v 0.500000 0.000000 1.250000 -v 0.500000 1.000000 1.250000 -v 0.500000 0.000000 1.000000 -v 0.500000 1.000000 1.000000 -v -0.496481 0.739070 0.748450 -v -0.500000 0.000000 0.750000 -v 0.503519 0.739070 0.748450 -v 0.500000 0.000000 0.750000 -v 0.156236 0.656250 -1.497927 -v -0.156236 0.656250 -1.502073 -v 0.156236 0.343750 -1.497927 -v -0.156236 0.343750 -1.502073 -v 0.152920 0.656250 -1.247949 -v -0.159552 0.656250 -1.252095 -v 0.152920 0.343750 -1.247949 -v -0.159552 0.343750 -1.252095 -v -0.500000 0.000000 -1.000000 -v -0.500000 1.000000 -1.000000 -v -0.500000 0.000000 -1.250000 -v -0.500000 1.000000 -1.250000 -v 0.500000 0.000000 -1.000000 -v 0.500000 1.000000 -1.000000 -v 0.500000 0.000000 -1.250000 -v 0.500000 1.000000 -1.250000 -v -0.500000 0.000000 -0.750000 -v -0.500000 0.750000 -0.750000 -v 0.500000 0.750000 -0.750000 -v 0.500000 0.000000 -0.750000 -v -0.749622 0.250000 0.750000 -v 0.750378 1.000000 0.750000 -v -0.749622 0.250000 -0.750000 -v 0.750378 1.000000 -0.750000 -v -0.249622 0.500000 -0.433013 -v 0.000378 0.625000 -0.500000 -v 0.250378 0.750000 -0.433012 -v 0.433391 0.841506 -0.250000 -v 0.500378 0.875000 0.000000 -v 0.433390 0.841505 0.250000 -v 0.250378 0.750000 0.433013 -v 0.000378 0.625000 0.500000 -v -0.249622 0.500000 0.433013 -v -0.432635 0.408494 0.250000 -v -0.499622 0.375000 -0.000000 -v -0.432635 0.408494 -0.250000 -v -0.749622 0.750000 0.750000 -v 0.750378 1.500000 0.750000 -v -0.749622 0.750000 -0.750000 -v 0.750378 1.500000 -0.750000 -v -0.249622 1.000000 -0.433013 -v 0.000378 1.125000 -0.500000 -v 0.250378 1.250000 -0.433012 -v 0.433391 1.341506 -0.250000 -v 0.500378 1.375000 0.000000 -v 0.433390 1.341505 0.250000 -v 0.250378 1.250000 0.433013 -v 0.000378 1.125000 0.500000 -v -0.249622 1.000000 0.433013 -v -0.432635 0.908494 0.250000 -v -0.499622 0.875000 -0.000000 -v -0.432635 0.908494 -0.250000 -v -0.999622 0.250000 -0.375000 -v -0.999622 0.250000 0.375000 -v -0.999622 0.750000 -0.375000 -v -0.999622 0.750000 0.375000 -v 0.500000 0.000000 0.500000 -v 0.500000 0.250000 0.500000 -v 0.500000 0.000000 -0.500000 -v 0.500000 0.250000 -0.500000 -v 1.500000 0.000000 0.500000 -v 1.500000 0.250000 0.500000 -v 1.500000 0.000000 -0.500000 -v 1.500000 0.250000 -0.500000 -v 0.750000 0.375000 0.250000 -v 0.750000 0.375000 -0.250000 -v 1.250000 0.375000 -0.250000 -v 1.250000 0.375000 0.250000 -v 0.750000 1.000000 0.250000 -v 0.750000 1.000000 -0.250000 -v 1.250000 1.000000 -0.250000 -v 1.250000 1.000000 0.250000 -v 0.750000 1.500000 0.250000 -v 0.750000 1.500000 -0.250000 -v 1.250000 1.500000 -0.250000 -v 1.250000 1.500000 0.250000 -v 0.750000 2.125000 0.250000 -v 0.750000 2.125000 -0.250000 -v 1.250000 2.125000 -0.250000 -v 1.250000 2.125000 0.250000 -v 0.500000 2.500000 0.500000 -v 0.500000 2.500000 -0.500000 -v 1.500000 2.500000 0.500000 -v 1.500000 2.500000 -0.500000 -v 0.500000 2.250000 -0.500000 -v 0.500000 2.250000 0.500000 -v 1.500000 2.250000 -0.500000 -v 1.500000 2.250000 0.500000 -v 0.750000 3.125000 -0.250000 -v 0.750000 3.125000 0.250000 -v 0.750000 3.125000 -0.178571 -v 0.750000 3.125000 -0.107143 -v 0.750000 3.125000 -0.035714 -v 0.750000 3.125000 0.035714 -v 0.750000 3.125000 0.107143 -v 0.750000 3.125000 0.178571 -v 0.400000 3.125000 -0.250000 -v 0.400000 3.125000 0.250000 -v 0.400000 3.125000 -0.178571 -v 0.400000 3.125000 -0.107143 -v 0.400000 3.125000 -0.035714 -v 0.400000 3.125000 0.035714 -v 0.400000 3.125000 0.107143 -v 0.400000 3.125000 0.178571 -v 1.000000 2.875000 -0.250000 -v 1.000000 2.875000 0.250000 -v 1.000000 2.875000 -0.178571 -v 1.000000 2.875000 -0.107143 -v 1.000000 2.875000 -0.035714 -v 1.000000 2.875000 0.035714 -v 1.000000 2.875000 0.107143 -v 1.000000 2.875000 0.178571 -v 1.000000 2.500000 -0.250000 -v 1.000000 2.500000 0.250000 -v 1.000000 2.500000 -0.178571 -v 1.000000 2.500000 -0.107143 -v 1.000000 2.500000 -0.035714 -v 1.000000 2.500000 0.035714 -v 1.000000 2.500000 0.107143 -v 1.000000 2.500000 0.178571 -v 1.250000 1.000000 -1.250000 -v 1.000000 2.000000 -1.000000 -v 1.000000 1.000000 -1.250000 -v 0.750000 2.000000 -1.000000 -v 1.250000 1.000000 -1.000000 -v 1.000000 2.000000 -0.750000 -v 1.000000 1.000000 -1.000000 -v 0.750000 2.000000 -0.750000 -v -1.000000 1.000000 -1.250000 -v -0.750000 2.000000 -1.000000 -v -1.250000 1.000000 -1.250000 -v -1.000000 2.000000 -1.000000 -v -1.250000 1.000000 -1.000000 -v -1.000000 2.000000 -0.750000 -v -1.000000 1.000000 -1.000000 -v -0.750000 2.000000 -0.750000 -v -1.000000 1.000000 1.000000 -v -0.750000 2.000000 0.750000 -v -1.250000 1.000000 1.000000 -v -1.000000 2.000000 0.750000 -v -1.000000 1.000000 1.250000 -v -0.750000 2.000000 1.000000 -v -1.250000 1.000000 1.250000 -v -1.000000 2.000000 1.000000 -v 1.250000 1.000000 1.250000 -v 1.000000 2.000000 1.000000 -v 1.250000 1.000000 1.000000 -v 1.000000 2.000000 0.750000 -v 1.000000 1.000000 1.250000 -v 0.750000 2.000000 1.000000 -v 1.000000 1.000000 1.000000 -v 0.750000 2.000000 0.750000 -v -1.250000 1.000000 -0.500000 -v -1.000000 1.000000 -0.500000 -v -1.000000 1.000000 0.500000 -v -1.250000 1.000000 0.500000 -v 1.000000 1.000000 0.500000 -v 1.000000 1.000000 -0.500000 -vt 0.742850 0.869892 -vt 0.794307 0.869891 -vt 0.794307 0.921513 -vt 0.788877 0.109438 -vt 0.737417 0.109438 -vt 0.737417 0.006195 -vt 0.429689 0.019100 -vt 0.352503 0.019100 -vt 0.339639 0.006195 -vt 0.736573 0.433689 -vt 0.679039 0.407878 -vt 0.679039 0.356257 -vt 0.748924 0.549321 -vt 0.748924 0.446078 -vt 0.800384 0.446078 -vt 0.736573 0.471889 -vt 0.736573 0.523511 -vt 0.679039 0.549321 -vt 0.454904 0.803419 -vt 0.454904 0.700176 -vt 0.506364 0.700176 -vt 0.736573 0.214814 -vt 0.736573 0.318057 -vt 0.679039 0.292246 -vt 0.679039 0.677343 -vt 0.730499 0.677343 -vt 0.730499 0.780586 -vt 0.679039 0.587521 -vt 0.736573 0.561711 -vt 0.736573 0.664954 -vt 0.348647 0.805319 -vt 0.348647 0.766602 -vt 0.403607 0.747244 -vt 0.352504 0.096532 -vt 0.429689 0.096532 -vt 0.442553 0.109438 -vt 0.339640 0.109438 -vt 0.442553 0.006195 -vt 0.089013 0.920298 -vt 0.127606 0.920298 -vt 0.127606 0.959015 -vt 0.263570 0.790128 -vt 0.263570 0.751411 -vt 0.318529 0.732053 -vt 0.089013 0.803185 -vt 0.089013 0.764469 -vt 0.143973 0.745111 -vt 0.748924 0.619785 -vt 0.748924 0.581069 -vt 0.803884 0.561711 -vt 0.955744 0.406846 -vt 0.955744 0.458468 -vt 0.930014 0.432657 -vt 0.955744 0.330446 -vt 0.930014 0.304635 -vt 0.955744 0.278824 -vt 0.968095 0.214814 -vt 0.993825 0.214814 -vt 0.993825 0.240624 -vt 0.965057 0.750801 -vt 0.990788 0.750801 -vt 0.990788 0.776612 -vt 0.923940 0.638627 -vt 0.949670 0.638627 -vt 0.949670 0.664437 -vt 0.816234 0.638627 -vt 0.841964 0.638627 -vt 0.841964 0.664438 -vt 0.728746 0.896592 -vt 0.728746 0.909952 -vt 0.712591 0.905610 -vt 0.833299 0.970304 -vt 0.806661 0.970304 -vt 0.813320 0.934418 -vt 0.926128 0.106374 -vt 0.926128 0.079653 -vt 0.951858 0.079653 -vt 0.679039 0.909952 -vt 0.679039 0.896592 -vt 0.695194 0.900934 -vt 0.238533 0.982264 -vt 0.211895 0.982264 -vt 0.218555 0.946378 -vt 0.566971 0.992904 -vt 0.566971 0.966183 -vt 0.592702 0.966183 -vt 0.685698 0.921523 -vt 0.697524 0.909660 -vt 0.701561 0.911998 -vt 0.973435 0.157712 -vt 0.946797 0.157712 -vt 0.953457 0.121827 -vt 0.045164 0.992712 -vt 0.045164 0.965990 -vt 0.070894 0.965990 -vt 0.710552 0.878341 -vt 0.706223 0.894546 -vt 0.701561 0.894546 -vt 0.679039 0.976478 -vt 0.685698 0.940593 -vt 0.699017 0.940593 -vt 0.930014 0.545853 -vt 0.930014 0.519131 -vt 0.955744 0.519131 -vt 0.712591 0.900934 -vt 0.710260 0.896884 -vt 0.923940 0.982693 -vt 0.930599 0.946807 -vt 0.943918 0.946807 -vt 0.454904 0.992904 -vt 0.454904 0.966182 -vt 0.480634 0.966182 -vt 0.722086 0.921523 -vt 0.710260 0.909660 -vt 0.956652 0.506742 -vt 0.930014 0.506742 -vt 0.936673 0.470857 -vt 0.826958 0.173449 -vt 0.826958 0.200170 -vt 0.801228 0.200170 -vt 0.710552 0.928203 -vt 0.697233 0.928203 -vt 0.879430 0.989146 -vt 0.886089 0.953260 -vt 0.899408 0.953260 -vt 0.031905 0.965990 -vt 0.031905 0.992712 -vt 0.006175 0.992712 -vt 0.685698 0.885021 -vt 0.697524 0.896884 -vt 0.630782 0.967319 -vt 0.637442 0.931434 -vt 0.650761 0.931434 -vt 0.069983 0.732694 -vt 0.069983 0.705972 -vt 0.095713 0.705972 -vt 0.154777 0.886554 -vt 0.154777 0.834933 -vt 0.159439 0.834933 -vt 0.769488 0.969788 -vt 0.742850 0.969788 -vt 0.749509 0.933903 -vt 0.302558 0.992981 -vt 0.302558 0.966260 -vt 0.328288 0.966260 -vt 0.415916 0.967749 -vt 0.422575 0.931863 -vt 0.435894 0.931863 -vt 0.695194 0.905610 -vt 0.348647 0.993805 -vt 0.348647 0.967084 -vt 0.374377 0.967084 -vt 0.962928 0.597596 -vt 0.969588 0.561711 -vt 0.982907 0.561711 -vt 0.952707 0.750801 -vt 0.952707 0.777522 -vt 0.926977 0.777522 -vt 0.263570 0.992981 -vt 0.263570 0.966260 -vt 0.289300 0.966260 -vt 0.706223 0.911998 -vt 0.172907 0.982264 -vt 0.179567 0.946378 -vt 0.192885 0.946378 -vt 0.272321 0.459494 -vt 0.172907 0.486216 -vt 0.186226 0.436353 -vt 0.722086 0.885021 -vt 0.697233 0.878341 -vt 0.763990 0.345986 -vt 0.748924 0.341936 -vt 0.766321 0.337260 -vt 0.074644 0.809094 -vt 0.074644 0.860715 -vt 0.069983 0.860715 -vt 0.074644 0.745083 -vt 0.074644 0.796704 -vt 0.069983 0.796704 -vt 0.241540 0.650739 -vt 0.241540 0.702361 -vt 0.236878 0.702361 -vt 0.142427 0.834933 -vt 0.142427 0.886554 -vt 0.137765 0.886554 -vt 0.248290 0.882004 -vt 0.248290 0.933626 -vt 0.243629 0.933626 -vt 0.397399 0.888687 -vt 0.397399 0.837066 -vt 0.402061 0.837066 -vt 0.267110 0.535107 -vt 0.267110 0.586729 -vt 0.262448 0.586729 -vt 0.610621 0.892724 -vt 0.610621 0.944346 -vt 0.605960 0.944346 -vt 0.330880 0.847686 -vt 0.330880 0.796064 -vt 0.335541 0.796064 -vt 0.335541 0.732053 -vt 0.335541 0.783675 -vt 0.330880 0.783675 -vt 0.498554 0.892724 -vt 0.498554 0.944346 -vt 0.493892 0.944346 -vt 0.134826 0.217539 -vt 0.134826 0.191728 -vt 0.160556 0.191728 -vt 0.006175 0.217539 -vt 0.006175 0.191728 -vt 0.031905 0.191728 -vt 0.006175 0.346593 -vt 0.006175 0.320782 -vt 0.031905 0.320782 -vt 0.134826 0.346593 -vt 0.134826 0.320782 -vt 0.160556 0.320782 -vt 0.083366 0.320782 -vt 0.031905 0.217539 -vt 0.031905 0.269160 -vt 0.083366 0.217539 -vt 0.134826 0.269160 -vt 0.492260 0.115700 -vt 0.492260 0.006195 -vt 0.517265 0.012278 -vt 0.080887 0.365065 -vt 0.105892 0.358982 -vt 0.105892 0.468488 -vt 0.666688 0.231290 -vt 0.666688 0.340796 -vt 0.641683 0.334712 -vt 0.604327 0.012278 -vt 0.629333 0.006195 -vt 0.629333 0.115701 -vt 0.492260 0.359269 -vt 0.517265 0.353185 -vt 0.517265 0.462691 -vt 0.591977 0.578281 -vt 0.591977 0.687787 -vt 0.566971 0.681703 -vt 0.554621 0.231290 -vt 0.554621 0.340796 -vt 0.529616 0.334712 -vt 0.068536 0.687499 -vt 0.043531 0.693583 -vt 0.043531 0.584077 -vt 0.554621 0.578281 -vt 0.554621 0.687786 -vt 0.529616 0.681703 -vt 0.641683 0.359269 -vt 0.666688 0.353185 -vt 0.666688 0.462691 -vt 0.629333 0.578281 -vt 0.629333 0.687787 -vt 0.604327 0.681703 -vt 0.442553 0.450345 -vt 0.417548 0.456428 -vt 0.417548 0.346922 -vt 0.454904 0.359269 -vt 0.479909 0.353185 -vt 0.479909 0.462691 -vt 0.454904 0.115700 -vt 0.454904 0.006195 -vt 0.479909 0.012278 -vt 0.591977 0.231290 -vt 0.591977 0.340796 -vt 0.566971 0.334712 -vt 0.006175 0.365065 -vt 0.031181 0.358982 -vt 0.031181 0.468488 -vt 0.109096 0.224455 -vt 0.127932 0.243349 -vt 0.057636 0.224455 -vt 0.038800 0.243349 -vt 0.038800 0.294971 -vt 0.057636 0.313866 -vt 0.109096 0.313866 -vt 0.127932 0.294971 -vt 0.911589 0.908608 -vt 0.911589 0.940871 -vt 0.879430 0.940871 -vt 0.991695 0.709606 -vt 0.965965 0.709606 -vt 0.965965 0.677343 -vt 0.962928 0.882281 -vt 0.988658 0.882281 -vt 0.988658 0.914544 -vt 0.962928 0.642249 -vt 0.962928 0.609985 -vt 0.988658 0.609985 -vt 0.988658 0.869891 -vt 0.962928 0.869891 -vt 0.962928 0.837628 -vt 0.198799 0.753983 -vt 0.198799 0.650739 -vt 0.224528 0.650740 -vt 0.172907 0.766735 -vt 0.210210 0.766372 -vt 0.210210 0.869615 -vt 0.403607 0.631612 -vt 0.403607 0.734855 -vt 0.377878 0.734855 -vt 0.339635 0.616421 -vt 0.339635 0.719664 -vt 0.263570 0.719301 -vt 0.768580 0.677343 -vt 0.768580 0.780586 -vt 0.742850 0.780586 -vt 0.442553 0.520439 -vt 0.442553 0.623682 -vt 0.416823 0.623682 -vt 0.172907 0.727043 -vt 0.352150 0.734855 -vt 0.351986 0.658551 -vt 0.794310 0.677343 -vt 0.794310 0.780586 -vt 0.275828 0.191728 -vt 0.275828 0.294971 -vt 0.240789 0.259481 -vt 0.208629 0.259481 -vt 0.172907 0.294971 -vt 0.172907 0.191728 -vt 0.208629 0.227218 -vt 0.348647 0.922431 -vt 0.380807 0.922432 -vt 0.380807 0.954695 -vt 0.522461 0.963697 -vt 0.522461 0.931434 -vt 0.554621 0.931434 -vt 0.972527 0.170102 -vt 0.972527 0.202365 -vt 0.946797 0.202365 -vt 0.962928 0.792975 -vt 0.988658 0.792975 -vt 0.988658 0.825239 -vt 0.965116 0.006195 -vt 0.990846 0.006195 -vt 0.990846 0.038458 -vt 0.965116 0.050847 -vt 0.990846 0.050847 -vt 0.990846 0.083111 -vt 0.006175 0.809215 -vt 0.006175 0.705972 -vt 0.031904 0.705973 -vt 0.391099 0.191728 -vt 0.391099 0.294971 -vt 0.288178 0.294971 -vt 0.592700 0.700176 -vt 0.592700 0.803419 -vt 0.566971 0.803419 -vt 0.875697 0.109438 -vt 0.839309 0.109438 -vt 0.839309 0.006195 -vt 0.748924 0.318057 -vt 0.748924 0.214814 -vt 0.774654 0.214814 -vt 0.143973 0.410603 -vt 0.143973 0.513847 -vt 0.118243 0.513847 -vt 0.172907 0.535107 -vt 0.250098 0.535107 -vt 0.250098 0.638350 -vt 0.618428 0.725986 -vt 0.057632 0.705973 -vt 0.057632 0.783405 -vt 0.800384 0.214814 -vt 0.800384 0.318057 -vt 0.109096 0.006230 -vt 0.083366 0.035052 -vt 0.057636 0.006230 -vt 0.006175 0.179339 -vt 0.031905 0.092767 -vt 0.038800 0.121624 -vt 0.160557 0.179339 -vt 0.127932 0.121624 -vt 0.134826 0.092767 -vt 0.083366 0.150481 -vt 0.250098 0.150481 -vt 0.275828 0.179304 -vt 0.224367 0.179304 -vt 0.198637 0.092767 -vt 0.172907 0.179339 -vt 0.172907 0.006195 -vt 0.294664 0.063909 -vt 0.327288 0.006195 -vt 0.301558 0.092767 -vt 0.250098 0.035052 -vt 0.725066 0.029280 -vt 0.725066 0.202424 -vt 0.679039 0.179339 -vt 0.442553 0.842558 -vt 0.416823 0.803842 -vt 0.416823 0.726409 -vt 0.398013 0.596137 -vt 0.351986 0.619222 -vt 0.351986 0.446078 -vt 0.057632 0.821605 -vt 0.057632 0.886132 -vt 0.006175 0.886132 -vt 0.926977 0.686790 -vt 0.953615 0.677343 -vt 0.953615 0.728964 -vt 0.950578 0.921513 -vt 0.923940 0.934418 -vt 0.923940 0.882797 -vt 0.442553 0.906568 -vt 0.415916 0.919474 -vt 0.415916 0.867852 -vt 0.926128 0.015642 -vt 0.952766 0.006195 -vt 0.952766 0.057816 -vt 0.045164 0.901979 -vt 0.071801 0.898521 -vt 0.071802 0.950143 -vt 0.290207 0.902249 -vt 0.290207 0.953871 -vt 0.263570 0.950413 -vt 0.593609 0.902172 -vt 0.593609 0.953793 -vt 0.566971 0.944346 -vt 0.923940 0.613332 -vt 0.923940 0.561711 -vt 0.950578 0.574616 -vt 0.923940 0.844597 -vt 0.923940 0.792975 -vt 0.950578 0.805881 -vt 0.481542 0.902172 -vt 0.481542 0.953793 -vt 0.454904 0.944346 -vt 0.329196 0.902249 -vt 0.329196 0.953871 -vt 0.302558 0.950413 -vt 0.006175 0.901980 -vt 0.032813 0.898521 -vt 0.032813 0.950143 -vt 0.737417 0.199255 -vt 0.737417 0.121827 -vt 0.788877 0.121827 -vt 0.888061 0.121827 -vt 0.934447 0.121827 -vt 0.934447 0.173449 -vt 0.838465 0.536932 -vt 0.812735 0.498216 -vt 0.812735 0.420784 -vt 0.172907 0.882368 -vt 0.219293 0.882368 -vt 0.219293 0.933989 -vt 0.630782 0.815809 -vt 0.656513 0.815808 -vt 0.656513 0.919045 -vt 0.913777 0.109438 -vt 0.888047 0.109438 -vt 0.888047 0.006195 -vt 0.891933 0.214814 -vt 0.917663 0.214814 -vt 0.917663 0.318050 -vt 0.885859 0.792975 -vt 0.911589 0.792975 -vt 0.911589 0.896218 -vt 0.391099 0.410603 -vt 0.288178 0.410603 -vt 0.288178 0.307360 -vt 0.879583 0.549321 -vt 0.850815 0.523511 -vt 0.850815 0.471889 -vt 0.742850 0.857502 -vt 0.742850 0.792975 -vt 0.794310 0.792975 -vt 0.885859 0.677343 -vt 0.914626 0.703154 -vt 0.914626 0.754775 -vt 0.554621 0.803419 -vt 0.525854 0.777608 -vt 0.525854 0.725987 -vt 0.873509 0.780586 -vt 0.844741 0.754775 -vt 0.844741 0.703154 -vt 0.339635 0.487519 -vt 0.339635 0.539141 -vt 0.288178 0.539141 -vt 0.454904 0.880335 -vt 0.454904 0.815808 -vt 0.506364 0.815808 -vt 0.339635 0.422992 -vt 0.288178 0.487520 -vt 0.263570 0.886402 -vt 0.263570 0.821875 -vt 0.315027 0.821875 -vt 0.385049 0.910042 -vt 0.348647 0.873554 -vt 0.385049 0.837066 -vt 0.875697 0.158329 -vt 0.875710 0.194803 -vt 0.839309 0.158315 -vt 0.891933 0.523511 -vt 0.891933 0.446078 -vt 0.917663 0.471889 -vt 0.850815 0.318057 -vt 0.850815 0.214814 -vt 0.879583 0.240624 -vt 0.566971 0.880335 -vt 0.566971 0.815808 -vt 0.618432 0.815808 -vt 0.816234 0.626238 -vt 0.816234 0.561711 -vt 0.867694 0.561711 -vt 0.339635 0.603668 -vt 0.288178 0.603668 -vt 0.391099 0.173448 -vt 0.339639 0.173409 -vt 0.365369 0.147638 -vt 0.806661 0.870408 -vt 0.832391 0.844597 -vt 0.832391 0.922029 -vt 0.089013 0.871421 -vt 0.125415 0.834933 -vt 0.125415 0.907909 -vt 0.172907 0.410603 -vt 0.172907 0.307360 -vt 0.275828 0.307360 -vt 0.850815 0.433689 -vt 0.850815 0.330446 -vt 0.879583 0.356257 -vt 0.554621 0.919045 -vt 0.528891 0.919045 -vt 0.528891 0.815808 -vt 0.891933 0.330446 -vt 0.917663 0.330446 -vt 0.917663 0.433682 -vt 0.248290 0.869615 -vt 0.222560 0.869615 -vt 0.222560 0.766372 -vt 0.885859 0.561711 -vt 0.911589 0.561711 -vt 0.911589 0.664954 -vt 0.873509 0.792975 -vt 0.873509 0.896218 -vt 0.844741 0.870408 -vt 0.659546 0.700176 -vt 0.659546 0.803419 -vt 0.630779 0.777608 -vt 0.975446 0.350796 -vt 0.975446 0.386931 -vt 0.968095 0.386931 -vt 0.159440 0.950049 -vt 0.159440 0.986184 -vt 0.152088 0.986184 -vt 0.976354 0.470857 -vt 0.976354 0.506992 -vt 0.969002 0.506992 -vt 0.975446 0.399320 -vt 0.975446 0.435455 -vt 0.968095 0.435455 -vt 0.718027 0.940593 -vt 0.725379 0.940593 -vt 0.725379 0.977094 -vt 0.968095 0.301905 -vt 0.975446 0.301905 -vt 0.975446 0.338407 -vt 0.968095 0.253014 -vt 0.975446 0.253014 -vt 0.975446 0.289516 -vt 0.781838 0.933903 -vt 0.789190 0.933903 -vt 0.789190 0.970405 -vt 0.393157 0.922431 -vt 0.400508 0.922431 -vt 0.400508 0.961148 -vt 0.159439 0.937660 -vt 0.152088 0.937660 -vt 0.152088 0.898943 -vt 0.867079 0.947324 -vt 0.859728 0.947324 -vt 0.859728 0.908608 -vt 0.236878 0.714750 -vt 0.244229 0.714750 -vt 0.244229 0.753466 -vt 0.604327 0.231290 -vt 0.629333 0.225206 -vt 0.629333 0.334712 -vt 0.604327 0.121784 -vt 0.666688 0.012278 -vt 0.666688 0.121784 -vt 0.641683 0.115701 -vt 0.641683 0.225206 -vt 0.080887 0.584077 -vt 0.105892 0.577994 -vt 0.105892 0.687499 -vt 0.080887 0.474571 -vt 0.492260 0.334712 -vt 0.492260 0.225206 -vt 0.517265 0.231290 -vt 0.517265 0.121784 -vt 0.068536 0.468488 -vt 0.043531 0.474571 -vt 0.043531 0.365065 -vt 0.068536 0.577994 -vt 0.554621 0.012278 -vt 0.554621 0.121784 -vt 0.529616 0.115701 -vt 0.529616 0.225206 -vt 0.591977 0.359269 -vt 0.591977 0.468775 -vt 0.566971 0.462691 -vt 0.566971 0.572197 -vt 0.492260 0.578281 -vt 0.517265 0.572197 -vt 0.517265 0.681703 -vt 0.492260 0.468775 -vt 0.006175 0.584077 -vt 0.031181 0.577994 -vt 0.031181 0.687499 -vt 0.006175 0.474571 -vt 0.591977 0.012278 -vt 0.591977 0.121784 -vt 0.566971 0.115701 -vt 0.566971 0.225206 -vt 0.454904 0.334712 -vt 0.454904 0.225206 -vt 0.479909 0.231290 -vt 0.479909 0.121784 -vt 0.454904 0.578281 -vt 0.479909 0.572197 -vt 0.479909 0.681703 -vt 0.454904 0.468775 -vt 0.442553 0.231333 -vt 0.417548 0.237417 -vt 0.417548 0.127911 -vt 0.442553 0.340839 -vt 0.629333 0.359269 -vt 0.629333 0.468775 -vt 0.604327 0.462691 -vt 0.604327 0.572197 -vt 0.641683 0.578281 -vt 0.666688 0.572197 -vt 0.666688 0.681703 -vt 0.641683 0.468775 -vt 0.554621 0.359269 -vt 0.554621 0.468775 -vt 0.529616 0.462691 -vt 0.529616 0.572197 -vt 0.442553 0.675304 -vt 0.416823 0.675304 -vt 0.416823 0.520439 -vt 0.416823 0.468818 -vt 0.118243 0.410603 -vt 0.118243 0.358982 -vt 0.143973 0.565468 -vt 0.118243 0.565468 -vt 0.826958 0.006195 -vt 0.826958 0.161059 -vt 0.801228 0.161059 -vt 0.838465 0.214814 -vt 0.838465 0.369678 -vt 0.812735 0.369678 -vt 0.143973 0.577857 -vt 0.143973 0.732722 -vt 0.118243 0.732722 -vt 0.806661 0.832208 -vt 0.806661 0.677343 -vt 0.832391 0.677343 -vt 0.930014 0.342835 -vt 0.955744 0.342835 -vt 0.955744 0.394457 -vt 0.955744 0.266435 -vt 0.930014 0.266435 -vt 0.930014 0.214814 -vt 0.679039 0.865952 -vt 0.679039 0.792975 -vt 0.730499 0.829477 -vt 0.800384 0.397187 -vt 0.748924 0.433689 -vt 0.748924 0.360713 -vt 0.742850 0.921513 -vt 0.788877 0.006195 -vt 0.736573 0.330446 -vt 0.800384 0.549321 -vt 0.679039 0.446078 -vt 0.506364 0.803419 -vt 0.679039 0.240624 -vt 0.679039 0.780586 -vt 0.679039 0.639143 -vt 0.403607 0.824677 -vt 0.089013 0.959014 -vt 0.318529 0.809486 -vt 0.143973 0.822544 -vt 0.803884 0.639143 -vt 0.968095 0.240624 -vt 0.965057 0.776612 -vt 0.923940 0.664437 -vt 0.816234 0.664438 -vt 0.826639 0.934418 -vt 0.951858 0.106374 -vt 0.231874 0.946378 -vt 0.592702 0.992904 -vt 0.966776 0.121827 -vt 0.070894 0.992712 -vt 0.705677 0.976478 -vt 0.955744 0.545853 -vt 0.950578 0.982693 -vt 0.480634 0.992904 -vt 0.949992 0.470857 -vt 0.801228 0.173449 -vt 0.906067 0.989146 -vt 0.006175 0.965990 -vt 0.657420 0.967319 -vt 0.095713 0.732694 -vt 0.159439 0.886554 -vt 0.762828 0.933903 -vt 0.328288 0.992981 -vt 0.442553 0.967749 -vt 0.374377 0.993805 -vt 0.989566 0.597596 -vt 0.926977 0.750801 -vt 0.289300 0.992981 -vt 0.199545 0.982264 -vt 0.209295 0.422992 -vt 0.235933 0.422992 -vt 0.259002 0.436353 -vt 0.272321 0.486216 -vt 0.259002 0.509357 -vt 0.235933 0.522718 -vt 0.209295 0.522718 -vt 0.186226 0.509357 -vt 0.172907 0.459495 -vt 0.759953 0.330872 -vt 0.763990 0.333210 -vt 0.766321 0.341936 -vt 0.759953 0.348324 -vt 0.755292 0.348324 -vt 0.751255 0.345986 -vt 0.748924 0.337260 -vt 0.751255 0.333210 -vt 0.755292 0.330872 -vt 0.069983 0.809094 -vt 0.069983 0.745083 -vt 0.236878 0.650739 -vt 0.137765 0.834933 -vt 0.243629 0.882004 -vt 0.402061 0.888687 -vt 0.262448 0.535107 -vt 0.605960 0.892724 -vt 0.335541 0.847686 -vt 0.330880 0.732053 -vt 0.493892 0.892724 -vt 0.160556 0.217539 -vt 0.031905 0.346593 -vt 0.160556 0.346593 -vt 0.879430 0.908608 -vt 0.991695 0.677343 -vt 0.962928 0.914544 -vt 0.988658 0.642249 -vt 0.988658 0.837628 -vt 0.224528 0.753983 -vt 0.172907 0.869978 -vt 0.377878 0.631612 -vt 0.263570 0.616058 -vt 0.742850 0.677343 -vt 0.173071 0.650739 -vt 0.240789 0.227218 -vt 0.348647 0.954695 -vt 0.554621 0.963697 -vt 0.946797 0.170102 -vt 0.962928 0.825239 -vt 0.965116 0.038458 -vt 0.965116 0.083111 -vt 0.031904 0.809216 -vt 0.288178 0.191728 -vt 0.566971 0.700176 -vt 0.875697 0.006195 -vt 0.774654 0.318057 -vt 0.172907 0.638350 -vt 0.618428 0.803419 -vt 0.038800 0.063909 -vt 0.006175 0.006195 -vt 0.057636 0.042784 -vt 0.160556 0.006195 -vt 0.109096 0.042784 -vt 0.127932 0.063909 -vt 0.057636 0.142749 -vt 0.109096 0.142749 -vt 0.205532 0.121624 -vt 0.224367 0.142749 -vt 0.275828 0.142749 -vt 0.294664 0.121624 -vt 0.327288 0.179339 -vt 0.224367 0.042784 -vt 0.205532 0.063909 -vt 0.275828 0.042784 -vt 0.679039 0.006195 -vt 0.442553 0.687693 -vt 0.398013 0.422992 -vt 0.006175 0.821605 -vt 0.926977 0.738412 -vt 0.950578 0.869891 -vt 0.442553 0.854947 -vt 0.926128 0.067264 -vt 0.045164 0.953601 -vt 0.263570 0.898791 -vt 0.566971 0.892724 -vt 0.950578 0.626238 -vt 0.950578 0.857502 -vt 0.454904 0.892724 -vt 0.302558 0.898791 -vt 0.006175 0.953601 -vt 0.788877 0.199254 -vt 0.888061 0.173449 -vt 0.838465 0.382068 -vt 0.172907 0.933989 -vt 0.630782 0.919045 -vt 0.913777 0.006195 -vt 0.891933 0.318050 -vt 0.885859 0.896218 -vt 0.391099 0.307360 -vt 0.879583 0.446078 -vt 0.794310 0.857502 -vt 0.885859 0.780586 -vt 0.554621 0.700176 -vt 0.873509 0.677343 -vt 0.506364 0.880335 -vt 0.288178 0.422993 -vt 0.315027 0.886402 -vt 0.875710 0.121827 -vt 0.917663 0.523511 -vt 0.879583 0.292246 -vt 0.618432 0.880335 -vt 0.867694 0.626238 -vt 0.391099 0.121827 -vt 0.806661 0.922029 -vt 0.275828 0.410603 -vt 0.879583 0.407878 -vt 0.554621 0.815809 -vt 0.891933 0.433682 -vt 0.248290 0.766372 -vt 0.885859 0.664954 -vt 0.844741 0.818786 -vt 0.630779 0.725987 -vt 0.968095 0.350796 -vt 0.152088 0.950049 -vt 0.969002 0.470857 -vt 0.968095 0.399320 -vt 0.718027 0.977094 -vt 0.968095 0.338407 -vt 0.968095 0.289516 -vt 0.781838 0.970405 -vt 0.393157 0.961148 -vt 0.159439 0.898943 -vt 0.867079 0.908608 -vt 0.236878 0.753466 -vt 0.604327 0.340796 -vt 0.641683 0.006195 -vt 0.080887 0.693583 -vt 0.517265 0.340796 -vt 0.068536 0.358982 -vt 0.529616 0.006195 -vt 0.566971 0.353185 -vt 0.492260 0.687786 -vt 0.006175 0.693583 -vt 0.566971 0.006195 -vt 0.479909 0.340796 -vt 0.454904 0.687787 -vt 0.442553 0.121827 -vt 0.604327 0.353185 -vt 0.641683 0.687787 -vt 0.529616 0.353185 -vt 0.442553 0.468818 -vt 0.143973 0.358982 -vt 0.801228 0.006195 -vt 0.812735 0.214814 -vt 0.118243 0.577857 -vt 0.832391 0.832208 -vt 0.930014 0.394457 -vt 0.955744 0.214814 -vt 0.730499 0.792975 -vt 0.730499 0.865952 -vt 0.800384 0.360713 -vt 0.800384 0.433689 -vn 1.000000 0.000000 0.000000 -vn 0.000000 0.000000 -1.000000 -vn -1.000000 0.000000 0.000000 -vn 0.447200 0.000000 0.894400 -vn 0.000000 -1.000000 0.000000 -vn 0.447200 0.894400 0.000000 -vn 0.000000 1.000000 0.000000 -vn 0.447200 -0.894400 0.000000 -vn 0.000000 0.000000 1.000000 -vn 0.447200 0.000000 -0.894400 -vn -0.351100 0.000000 -0.936300 -vn -0.351100 0.000000 0.936300 -vn -0.351100 0.936300 0.000000 -vn -0.351100 -0.936300 0.000000 -vn 0.508600 0.694700 0.508600 -vn 0.258800 0.000000 -0.965900 -vn -0.186200 0.694700 0.694700 -vn 0.707100 0.000000 -0.707100 -vn -0.694700 0.694700 0.186200 -vn 0.965900 0.000000 -0.258800 -vn 0.186200 0.694700 -0.694700 -vn 0.965900 0.000000 0.258800 -vn -0.508600 0.694700 -0.508600 -vn 0.707100 0.000000 0.707100 -vn -0.186200 0.694700 -0.694700 -vn 0.258800 0.000000 0.965900 -vn 0.508600 0.694700 -0.508600 -vn -0.258800 0.000000 0.965900 -vn 0.694700 0.694700 0.186200 -vn -0.707100 0.000000 0.707100 -vn 0.186200 0.694700 0.694700 -vn -0.965900 0.000000 0.258800 -vn -0.694700 0.694700 -0.186200 -vn -0.965900 0.000000 -0.258800 -vn -0.508600 0.694700 0.508600 -vn -0.258800 0.000000 -0.965900 -vn -0.707100 0.000000 -0.707100 -vn 0.694700 0.694700 -0.186200 -vn 0.000000 0.242500 -0.970100 -vn 0.970100 0.242500 0.000000 -vn -0.970100 -0.242500 0.000000 -vn 0.000000 -0.242500 0.970100 -vn -0.970100 0.242500 0.000000 -vn 0.970100 -0.242500 0.000000 -vn 0.000000 0.242500 0.970100 -vn 0.000000 -0.242500 -0.970100 -vn -0.013300 0.000000 0.999900 -vn -0.999900 0.000000 -0.013300 -vn 0.999900 0.000000 0.013300 -vn 0.000000 0.694000 -0.719900 -vn 0.000000 -0.002100 -1.000000 -vn -0.999900 0.000000 -0.014000 -vn 1.000000 -0.004800 0.000000 -vn 0.006200 0.000000 1.000000 -vn -0.013300 0.019200 0.999700 -vn 0.005900 0.000000 1.000000 -vn 0.000000 0.006000 1.000000 -vn 0.013300 0.000000 -0.999900 -vn 0.000000 0.707100 0.707100 -vn 0.447800 -0.894200 0.000000 -vn -0.447800 0.894200 0.000000 -vn -0.447200 0.894400 0.000000 -vn -0.832100 0.000000 0.554700 -vn -0.832100 0.000000 -0.554700 -vn 0.000000 0.894400 -0.447200 -vn 0.000000 0.894400 0.447200 -vn 0.000000 -0.894400 0.447200 -vn 0.000000 -0.894400 -0.447200 -vn -0.447200 -0.894400 0.000000 -vn 0.707100 0.707100 0.000000 -vn 0.707400 -0.000300 -0.706800 -vn 0.707400 -0.000300 0.706800 -vn -1.000000 0.004800 0.000000 -vn 0.999900 0.000000 0.014000 -vn 0.000000 -0.006000 1.000000 -vn -0.013300 -0.019200 0.999700 -vn 0.447600 -0.894200 -0.000300 -vn 0.447600 -0.894200 0.000300 -vn 0.447600 -0.894200 -0.000100 -vn 0.447600 -0.894200 0.000100 -vn -0.447600 0.894200 -0.000300 -vn -0.447600 0.894200 -0.000100 -vn -0.447600 0.894200 0.000100 -vn -0.447600 0.894200 0.000300 -vn 0.707600 0.000000 -0.706600 -vn 0.707600 0.000000 0.706600 -s off -f 1/1/1 3/2/1 4/3/1 -f 10/4/2 7/5/2 8/6/2 -f 16/7/3 14/8/3 7/9/3 -f 12/10/4 1/11/4 2/12/4 -f 5/13/5 7/14/5 10/15/5 -f 2/16/6 4/17/6 9/18/6 -f 11/19/7 9/20/7 8/21/7 -f 12/22/8 10/23/8 3/24/8 -f 5/25/9 12/26/9 11/27/9 -f 3/28/10 10/29/10 9/30/10 -f 19/31/11 20/32/11 16/33/11 -f 13/34/3 15/35/3 6/36/3 -f 14/8/3 13/34/3 8/37/3 -f 15/35/3 16/7/3 5/38/3 -f 18/39/3 20/40/3 19/41/3 -f 18/42/12 17/43/12 13/44/12 -f 20/45/13 18/46/13 14/47/13 -f 17/48/14 19/49/14 15/50/14 -f 22/51/2 21/52/2 23/53/2 -f 25/54/9 26/55/9 24/56/9 -f 38/57/5 30/58/5 33/59/5 -f 39/60/5 37/61/5 28/62/5 -f 31/63/5 40/64/5 36/65/5 -f 29/66/5 34/67/5 41/68/5 -f 73/69/7 72/70/7 86/71/7 -f 56/72/15 54/73/15 71/74/15 -f 46/75/16 48/76/16 47/77/16 -f 43/78/7 78/79/7 80/80/7 -f 60/81/17 58/82/17 73/83/17 -f 48/84/18 50/85/18 49/86/18 -f 44/87/7 90/88/7 89/89/7 -f 64/90/19 62/91/19 75/92/19 -f 50/93/20 52/94/20 51/95/20 -f 75/96/7 83/97/7 82/98/7 -f 46/99/21 43/100/21 44/101/21 -f 52/102/22 54/103/22 53/104/22 -f 73/69/7 85/105/7 84/106/7 -f 66/107/23 77/108/23 78/109/23 -f 54/110/24 56/111/24 55/112/24 -f 71/113/7 87/114/7 86/71/7 -f 46/115/25 68/116/25 78/117/25 -f 56/118/26 58/119/26 57/120/26 -f 70/121/7 69/122/7 89/89/7 -f 48/123/27 44/124/27 69/125/27 -f 58/126/28 60/127/28 59/128/28 -f 77/129/7 81/130/7 80/80/7 -f 52/131/29 70/132/29 71/133/29 -f 60/134/30 62/135/30 61/136/30 -f 85/137/28 97/138/28 96/139/28 -f 58/140/31 56/141/31 72/142/31 -f 62/143/32 64/144/32 63/145/32 -f 64/146/33 76/147/33 77/148/33 -f 43/78/7 79/149/7 90/88/7 -f 64/150/34 66/151/34 65/152/34 -f 60/153/35 74/154/35 75/155/35 -f 68/156/36 46/157/36 45/158/36 -f 66/159/37 68/160/37 67/161/37 -f 71/113/7 70/121/7 88/162/7 -f 50/163/38 69/164/38 70/165/38 -f 51/166/5 63/167/5 67/168/5 -f 74/169/7 84/106/7 83/97/7 -f 76/170/7 82/98/7 81/130/7 -f 93/171/7 97/172/7 91/173/7 -f 82/174/34 94/175/34 93/176/34 -f 89/177/20 101/178/20 100/179/20 -f 86/180/26 98/181/26 97/182/26 -f 83/183/32 95/184/32 94/185/32 -f 90/186/18 102/187/18 101/188/18 -f 80/189/36 92/190/36 91/191/36 -f 87/192/24 99/193/24 98/194/24 -f 84/195/30 96/196/30 95/197/30 -f 79/198/16 91/199/16 102/200/16 -f 81/201/37 93/202/37 92/203/37 -f 88/204/22 100/205/22 99/206/22 -f 106/207/7 104/208/7 103/209/7 -f 108/210/7 107/211/7 109/212/7 -f 111/213/7 113/214/7 114/215/7 -f 117/216/7 118/217/7 116/218/7 -f 57/219/7 118/217/7 117/216/7 -f 110/220/7 51/221/7 108/210/7 -f 109/212/7 104/208/7 45/222/7 -f 116/218/7 118/217/7 63/223/7 -f 262/224/39 109/225/39 107/226/39 -f 107/227/40 108/228/40 264/229/40 -f 266/230/41 110/231/41 109/232/41 -f 108/233/42 110/234/42 266/235/42 -f 103/236/39 104/237/39 268/238/39 -f 272/239/43 105/240/43 103/241/43 -f 274/242/42 106/243/42 105/244/42 -f 41/245/44 34/246/44 267/247/44 -f 286/248/40 113/249/40 111/250/40 -f 111/251/45 112/252/45 288/253/45 -f 285/254/46 37/255/46 39/256/46 -f 112/257/41 114/258/41 290/259/41 -f 40/260/46 31/261/46 277/262/46 -f 279/263/44 36/264/44 40/265/44 -f 280/266/45 117/267/45 115/268/45 -f 115/269/43 116/270/43 278/271/43 -f 106/207/7 67/272/7 45/222/7 -f 63/223/7 65/273/7 106/207/7 -f 106/207/7 65/273/7 67/272/7 -f 110/220/7 45/222/7 47/274/7 -f 110/220/7 47/274/7 49/275/7 -f 49/275/7 51/221/7 110/220/7 -f 114/215/7 51/221/7 53/276/7 -f 114/215/7 53/276/7 55/277/7 -f 55/277/7 57/219/7 114/215/7 -f 57/219/7 59/278/7 118/217/7 -f 118/217/7 59/278/7 61/279/7 -f 61/279/7 63/223/7 118/217/7 -f 121/280/47 119/281/47 120/282/47 -f 120/283/48 124/284/48 126/285/48 -f 121/286/49 125/287/49 123/288/49 -f 121/289/5 122/290/5 126/291/5 -f 119/292/7 123/293/7 124/294/7 -f 130/295/3 129/296/3 127/297/3 -f 134/298/50 137/299/50 135/300/50 -f 132/301/1 131/302/1 133/303/1 -f 135/304/51 137/305/51 138/306/51 -f 129/307/5 133/308/5 131/309/5 -f 134/310/7 130/311/7 128/312/7 -f 129/296/52 130/295/52 135/313/52 -f 133/303/53 138/314/53 137/315/53 -f 129/307/5 136/316/5 138/317/5 -f 131/318/54 132/319/54 123/320/54 -f 124/321/55 123/320/55 132/319/55 -f 128/322/56 127/323/56 126/324/56 -f 126/324/57 127/323/57 131/318/57 -f 140/325/58 139/326/58 141/327/58 -f 145/328/47 143/329/47 144/330/47 -f 142/331/5 141/332/5 145/333/5 -f 140/334/7 144/335/7 143/336/7 -f 142/337/48 146/338/48 144/339/48 -f 139/340/49 143/341/49 145/342/49 -f 150/343/3 149/344/3 147/345/3 -f 154/346/2 153/347/2 149/348/2 -f 152/349/1 151/350/1 153/351/1 -f 148/352/59 156/353/59 157/354/59 -f 149/355/5 153/356/5 151/357/5 -f 154/358/7 150/359/7 148/360/7 -f 156/361/9 155/362/9 158/363/9 -f 151/350/1 152/349/1 157/364/1 -f 147/345/3 155/365/3 156/366/3 -f 151/357/5 158/367/5 155/368/5 -f 207/369/60 167/370/60 208/371/60 -f 161/372/8 164/373/8 163/374/8 -f 159/375/8 171/376/8 170/377/8 -f 173/378/8 159/375/8 161/372/8 -f 183/379/61 211/380/61 212/381/61 -f 180/382/62 178/383/62 177/384/62 -f 187/385/62 175/386/62 186/387/62 -f 189/388/62 177/384/62 175/386/62 -f 177/389/2 178/390/2 162/391/2 -f 177/392/7 193/393/7 194/394/7 -f 160/395/9 176/396/9 175/397/9 -f 211/398/3 215/399/3 216/400/3 -f 168/401/37 169/402/37 185/403/37 -f 186/404/36 185/405/36 169/406/36 -f 170/407/16 171/408/16 187/409/16 -f 171/410/18 172/411/18 188/412/18 -f 172/413/20 173/414/20 189/415/20 -f 174/416/22 190/417/22 189/418/22 -f 163/419/24 179/420/24 190/421/24 -f 164/422/26 180/423/26 179/424/26 -f 165/425/28 181/426/28 180/427/28 -f 166/428/30 182/429/30 181/430/30 -f 167/431/32 183/432/32 182/433/32 -f 167/434/34 168/435/34 184/436/34 -f 194/437/3 193/438/3 191/439/3 -f 175/440/63 194/441/63 192/442/63 -f 159/443/5 192/444/5 191/445/5 -f 161/446/64 191/447/64 193/448/64 -f 198/449/3 197/450/3 195/451/3 -f 202/452/2 201/453/2 197/454/2 -f 200/455/1 199/456/1 201/457/1 -f 196/458/9 195/459/9 199/460/9 -f 197/461/5 201/462/5 199/463/5 -f 198/464/65 204/465/65 205/466/65 -f 206/467/9 210/468/9 207/469/9 -f 202/470/6 205/471/6 206/472/6 -f 196/473/62 203/474/62 204/475/62 -f 200/476/66 206/477/66 203/478/66 -f 209/479/1 213/480/1 214/481/1 -f 204/482/2 208/483/2 209/484/2 -f 205/485/1 209/479/1 210/486/1 -f 203/487/3 207/488/3 208/489/3 -f 214/490/7 211/491/7 176/492/7 -f 295/493/5 160/494/5 207/495/5 -f 285/496/7 210/497/7 295/498/7 -f 226/499/67 224/500/67 215/501/67 -f 214/502/9 218/503/9 215/504/9 -f 212/505/2 216/506/2 217/507/2 -f 213/480/1 217/508/1 218/509/1 -f 208/510/5 162/511/5 296/512/5 -f 296/513/7 209/514/7 263/515/7 -f 212/516/7 213/517/7 178/518/7 -f 221/519/7 222/520/7 220/521/7 -f 225/522/8 226/523/8 218/524/8 -f 221/525/1 226/526/1 225/527/1 -f 220/528/3 223/529/3 224/530/3 -f 219/531/9 224/532/9 226/533/9 -f 222/534/2 225/535/2 223/536/2 -f 223/537/68 225/538/68 217/539/68 -f 224/540/69 223/541/69 216/542/69 -f 234/543/7 242/544/7 236/545/7 -f 232/546/7 240/547/7 241/548/7 -f 230/549/7 238/550/7 239/551/7 -f 227/552/7 235/553/7 237/554/7 -f 245/555/70 243/556/70 227/557/70 -f 247/558/70 246/559/70 230/560/70 -f 249/561/70 248/562/70 232/563/70 -f 244/564/70 250/565/70 234/566/70 -f 253/567/1 251/568/1 243/569/1 -f 255/570/1 254/571/1 246/572/1 -f 257/573/1 256/574/1 248/575/1 -f 252/576/1 258/577/1 250/578/1 -f 263/579/42 265/580/42 42/581/42 -f 264/582/42 266/235/42 265/580/42 -f 42/583/41 265/584/41 261/585/41 -f 265/584/41 266/230/41 262/586/41 -f 259/587/40 263/588/40 33/589/40 -f 260/590/40 264/229/40 263/588/40 -f 38/591/39 261/592/39 259/593/39 -f 261/592/39 262/224/39 260/594/39 -f 274/595/44 268/596/44 104/597/44 -f 273/598/44 267/247/44 268/596/44 -f 41/599/42 273/600/42 271/601/42 -f 273/600/42 274/242/42 272/602/42 -f 35/603/43 271/604/43 269/605/43 -f 271/604/43 272/239/43 270/606/43 -f 269/607/39 267/608/39 34/609/39 -f 270/610/39 268/238/39 267/608/39 -f 281/611/43 277/612/43 31/613/43 -f 282/614/43 278/271/43 277/612/43 -f 36/615/45 279/616/45 281/617/45 -f 279/616/45 280/266/45 282/618/45 -f 117/619/44 280/620/44 276/621/44 -f 280/620/44 279/263/44 275/622/44 -f 276/623/46 278/624/46 116/625/46 -f 275/626/46 277/262/46 278/624/46 -f 287/627/41 289/628/41 39/629/41 -f 288/630/41 290/259/41 289/628/41 -f 113/631/46 286/632/46 290/633/46 -f 286/632/46 285/254/46 289/634/46 -f 283/635/45 287/636/45 32/637/45 -f 284/638/45 288/253/45 287/636/45 -f 37/639/40 285/640/40 283/641/40 -f 285/640/40 286/248/40 284/642/40 -f 275/643/7 279/644/7 128/312/7 -f 134/310/7 132/645/7 287/646/7 -f 154/358/7 152/647/7 265/648/7 -f 267/649/7 273/650/7 148/360/7 -f 262/651/7 268/652/7 274/653/7 -f 272/654/7 278/655/7 276/656/7 -f 290/657/7 276/658/7 280/659/7 -f 286/660/7 264/661/7 266/662/7 -f 273/663/7 271/664/7 291/665/7 -f 277/666/7 275/667/7 293/668/7 -f 178/669/71 213/670/71 296/671/71 -f 295/672/72 214/673/72 176/674/72 -f 2/675/1 1/1/1 4/3/1 -f 9/676/2 10/4/2 8/6/2 -f 5/38/3 16/7/3 7/9/3 -f 11/677/4 12/10/4 2/12/4 -f 12/678/5 5/13/5 10/15/5 -f 11/679/6 2/16/6 9/18/6 -f 6/680/7 11/19/7 8/21/7 -f 1/681/8 12/22/8 3/24/8 -f 6/682/9 5/25/9 11/27/9 -f 4/683/10 3/28/10 9/30/10 -f 15/684/11 19/31/11 16/33/11 -f 8/37/3 13/34/3 6/36/3 -f 7/9/3 14/8/3 8/37/3 -f 6/36/3 15/35/3 5/38/3 -f 17/685/3 18/39/3 19/41/3 -f 14/686/12 18/42/12 13/44/12 -f 16/687/13 20/45/13 14/47/13 -f 13/688/14 17/48/14 15/50/14 -f 42/689/5 38/57/5 33/59/5 -f 32/690/5 39/60/5 28/62/5 -f 27/691/5 31/63/5 36/65/5 -f 35/692/5 29/66/5 41/68/5 -f 85/105/7 73/69/7 86/71/7 -f 72/693/15 56/72/15 71/74/15 -f 45/694/16 46/75/16 47/77/16 -f 79/149/7 43/78/7 80/80/7 -f 74/695/17 60/81/17 73/83/17 -f 47/696/18 48/84/18 49/86/18 -f 69/122/7 44/87/7 89/89/7 -f 76/697/19 64/90/19 75/92/19 -f 49/698/20 50/93/20 51/95/20 -f 76/170/7 75/96/7 82/98/7 -f 48/699/21 46/99/21 44/101/21 -f 51/700/22 52/102/22 53/104/22 -f 74/169/7 73/69/7 84/106/7 -f 68/701/23 66/107/23 78/109/23 -f 53/702/24 54/110/24 55/112/24 -f 72/70/7 71/113/7 86/71/7 -f 43/703/25 46/115/25 78/117/25 -f 55/704/26 56/118/26 57/120/26 -f 88/162/7 70/121/7 89/89/7 -f 50/705/27 48/123/27 69/125/27 -f 57/706/28 58/126/28 59/128/28 -f 78/79/7 77/129/7 80/80/7 -f 54/707/29 52/131/29 71/133/29 -f 59/708/30 60/134/30 61/136/30 -f 84/709/28 85/137/28 96/139/28 -f 73/710/31 58/140/31 72/142/31 -f 61/711/32 62/143/32 63/145/32 -f 66/712/33 64/146/33 77/148/33 -f 44/87/7 43/78/7 90/88/7 -f 63/713/34 64/150/34 65/152/34 -f 62/714/35 60/153/35 75/155/35 -f 67/715/36 68/156/36 45/158/36 -f 65/716/37 66/159/37 67/161/37 -f 87/114/7 71/113/7 88/162/7 -f 52/717/38 50/163/38 70/165/38 -f 67/168/5 45/718/5 47/719/5 -f 47/719/5 49/720/5 67/168/5 -f 51/166/5 53/721/5 55/722/5 -f 55/722/5 57/723/5 59/724/5 -f 59/724/5 61/725/5 63/167/5 -f 63/167/5 65/726/5 67/168/5 -f 67/168/5 49/720/5 51/166/5 -f 51/166/5 55/722/5 59/724/5 -f 59/724/5 63/167/5 51/166/5 -f 75/96/7 74/169/7 83/97/7 -f 77/129/7 76/170/7 81/130/7 -f 101/727/7 102/728/7 91/173/7 -f 91/173/7 92/729/7 93/171/7 -f 93/171/7 94/730/7 97/172/7 -f 95/731/7 96/732/7 97/172/7 -f 97/172/7 98/733/7 99/734/7 -f 99/734/7 100/735/7 97/172/7 -f 101/727/7 91/173/7 97/172/7 -f 94/730/7 95/731/7 97/172/7 -f 97/172/7 100/735/7 101/727/7 -f 81/736/34 82/174/34 93/176/34 -f 88/737/20 89/177/20 100/179/20 -f 85/738/26 86/180/26 97/182/26 -f 82/739/32 83/183/32 94/185/32 -f 89/740/18 90/186/18 101/188/18 -f 79/741/36 80/189/36 91/191/36 -f 86/742/24 87/192/24 98/194/24 -f 83/743/30 84/195/30 95/197/30 -f 90/744/16 79/198/16 102/200/16 -f 80/745/37 81/201/37 92/203/37 -f 87/746/22 88/204/22 99/206/22 -f 105/747/7 106/207/7 103/209/7 -f 110/220/7 108/210/7 109/212/7 -f 112/748/7 111/213/7 114/215/7 -f 115/749/7 117/216/7 116/218/7 -f 117/216/7 112/748/7 57/219/7 -f 114/215/7 57/219/7 112/748/7 -f 113/214/7 108/210/7 51/221/7 -f 51/221/7 114/215/7 113/214/7 -f 106/207/7 45/222/7 104/208/7 -f 110/220/7 109/212/7 45/222/7 -f 63/223/7 106/207/7 105/747/7 -f 105/747/7 116/218/7 63/223/7 -f 260/594/39 262/224/39 107/226/39 -f 260/590/40 107/227/40 264/229/40 -f 262/586/41 266/230/41 109/232/41 -f 264/582/42 108/233/42 266/235/42 -f 270/610/39 103/236/39 268/238/39 -f 270/606/43 272/239/43 103/241/43 -f 272/602/42 274/242/42 105/244/42 -f 273/598/44 41/245/44 267/247/44 -f 284/642/40 286/248/40 111/250/40 -f 284/638/45 111/251/45 288/253/45 -f 289/634/46 285/254/46 39/256/46 -f 288/630/41 112/257/41 290/259/41 -f 275/626/46 40/260/46 277/262/46 -f 275/622/44 279/263/44 40/265/44 -f 282/618/45 280/266/45 115/268/45 -f 282/614/43 115/269/43 278/271/43 -f 122/750/47 121/280/47 120/282/47 -f 122/751/48 120/283/48 126/285/48 -f 119/752/49 121/286/49 123/288/49 -f 125/753/5 121/289/5 126/291/5 -f 120/754/7 119/292/7 124/294/7 -f 128/755/3 130/295/3 127/297/3 -f 130/756/50 134/298/50 135/300/50 -f 134/757/1 132/301/1 133/303/1 -f 136/758/51 135/304/51 138/306/51 -f 127/759/5 129/307/5 131/309/5 -f 132/645/7 134/310/7 128/312/7 -f 136/760/73 129/296/73 135/313/73 -f 134/757/74 133/303/74 137/315/74 -f 133/308/5 129/307/5 138/317/5 -f 125/761/54 131/318/54 123/320/54 -f 128/322/75 124/321/75 132/319/75 -f 124/321/56 128/322/56 126/324/56 -f 125/761/76 126/324/76 131/318/76 -f 142/762/58 140/325/58 141/327/58 -f 146/763/47 145/328/47 144/330/47 -f 146/764/5 142/331/5 145/333/5 -f 139/765/7 140/334/7 143/336/7 -f 140/766/48 142/337/48 144/339/48 -f 141/767/49 139/340/49 145/342/49 -f 148/768/3 150/343/3 147/345/3 -f 150/769/2 154/346/2 149/348/2 -f 154/770/1 152/349/1 153/351/1 -f 152/771/59 148/352/59 157/354/59 -f 147/772/5 149/355/5 151/357/5 -f 152/647/7 154/358/7 148/360/7 -f 157/773/9 156/361/9 158/363/9 -f 158/774/1 151/350/1 157/364/1 -f 148/768/3 147/345/3 156/366/3 -f 147/772/5 151/357/5 155/368/5 -f 165/775/8 162/776/8 166/777/8 -f 207/369/77 160/778/77 168/779/77 -f 166/777/78 162/776/78 208/371/78 -f 160/778/8 169/780/8 168/779/8 -f 166/777/79 208/371/79 167/370/79 -f 207/369/80 168/779/80 167/370/80 -f 174/781/8 173/378/8 161/372/8 -f 161/372/8 162/776/8 164/373/8 -f 163/374/8 174/781/8 161/372/8 -f 162/776/8 165/775/8 164/373/8 -f 170/377/8 169/780/8 160/778/8 -f 159/375/8 173/378/8 172/782/8 -f 170/377/8 160/778/8 159/375/8 -f 159/375/8 172/782/8 171/376/8 -f 178/383/62 181/783/62 182/784/62 -f 184/785/62 185/786/62 176/787/62 -f 178/383/81 182/784/81 212/381/81 -f 183/379/82 184/785/82 211/380/82 -f 212/381/83 182/784/83 183/379/83 -f 184/785/84 176/787/84 211/380/84 -f 177/384/62 189/388/62 190/788/62 -f 180/382/62 181/783/62 178/383/62 -f 177/384/62 190/788/62 179/789/62 -f 179/789/62 180/382/62 177/384/62 -f 176/787/62 185/786/62 186/387/62 -f 188/790/62 189/388/62 175/386/62 -f 176/787/62 186/387/62 175/386/62 -f 187/385/62 188/790/62 175/386/62 -f 161/791/2 177/389/2 162/391/2 -f 175/792/7 177/392/7 194/394/7 -f 159/793/9 160/395/9 175/397/9 -f 212/794/3 211/398/3 216/400/3 -f 184/795/37 168/401/37 185/403/37 -f 170/796/36 186/404/36 169/406/36 -f 186/797/16 170/407/16 187/409/16 -f 187/798/18 171/410/18 188/412/18 -f 188/799/20 172/413/20 189/415/20 -f 173/800/22 174/416/22 189/418/22 -f 174/801/24 163/419/24 190/421/24 -f 163/802/26 164/422/26 179/424/26 -f 164/803/28 165/425/28 180/427/28 -f 165/804/30 166/428/30 181/430/30 -f 166/805/32 167/431/32 182/433/32 -f 183/806/34 167/434/34 184/436/34 -f 192/807/3 194/437/3 191/439/3 -f 159/808/63 175/440/63 192/442/63 -f 161/809/5 159/443/5 191/445/5 -f 177/810/64 161/446/64 193/448/64 -f 196/811/3 198/449/3 195/451/3 -f 198/812/2 202/452/2 197/454/2 -f 202/813/1 200/455/1 201/457/1 -f 200/814/9 196/458/9 199/460/9 -f 195/815/5 197/461/5 199/463/5 -f 202/816/65 198/464/65 205/466/65 -f 203/817/9 206/467/9 207/469/9 -f 200/818/6 202/470/6 206/472/6 -f 198/819/62 196/473/62 204/475/62 -f 196/820/66 200/476/66 203/478/66 -f 210/486/1 209/479/1 214/481/1 -f 205/821/2 204/482/2 209/484/2 -f 206/822/1 205/485/1 210/486/1 -f 204/823/3 203/487/3 208/489/3 -f 210/824/5 295/493/5 207/495/5 -f 289/825/7 285/496/7 295/498/7 -f 218/826/67 226/499/67 215/501/67 -f 211/827/9 214/502/9 215/504/9 -f 213/828/2 212/505/2 217/507/2 -f 214/481/1 213/480/1 218/509/1 -f 209/829/5 208/510/5 296/512/5 -f 265/830/7 296/513/7 263/515/7 -f 219/831/7 221/519/7 220/521/7 -f 217/832/8 225/522/8 218/524/8 -f 222/833/1 221/525/1 225/527/1 -f 219/834/3 220/528/3 224/530/3 -f 221/835/9 219/531/9 226/533/9 -f 220/836/2 222/534/2 223/536/2 -f 216/837/68 223/537/68 217/539/68 -f 215/838/69 224/540/69 216/542/69 -f 228/839/7 234/543/7 236/545/7 -f 233/840/7 232/546/7 241/548/7 -f 231/841/7 230/549/7 239/551/7 -f 229/842/7 227/552/7 237/554/7 -f 229/843/70 245/555/70 227/557/70 -f 231/844/70 247/558/70 230/560/70 -f 233/845/70 249/561/70 232/563/70 -f 228/846/70 244/564/70 234/566/70 -f 245/847/1 253/567/1 243/569/1 -f 247/848/1 255/570/1 246/572/1 -f 249/849/1 257/573/1 248/575/1 -f 244/850/1 252/576/1 250/578/1 -f 33/851/42 263/579/42 42/581/42 -f 263/579/42 264/582/42 265/580/42 -f 38/852/41 42/583/41 261/585/41 -f 261/585/41 265/584/41 262/586/41 -f 30/853/40 259/587/40 33/589/40 -f 259/587/40 260/590/40 263/588/40 -f 30/854/39 38/591/39 259/593/39 -f 259/593/39 261/592/39 260/594/39 -f 106/855/44 274/595/44 104/597/44 -f 274/595/44 273/598/44 268/596/44 -f 35/856/42 41/599/42 271/601/42 -f 271/601/42 273/600/42 272/602/42 -f 29/857/43 35/603/43 269/605/43 -f 269/605/43 271/604/43 270/606/43 -f 29/858/39 269/607/39 34/609/39 -f 269/607/39 270/610/39 267/608/39 -f 27/859/43 281/611/43 31/613/43 -f 281/611/43 282/614/43 277/612/43 -f 27/860/45 36/615/45 281/617/45 -f 281/617/45 279/616/45 282/618/45 -f 118/861/44 117/619/44 276/621/44 -f 276/621/44 280/620/44 275/622/44 -f 118/862/46 276/623/46 116/625/46 -f 276/623/46 275/626/46 278/624/46 -f 32/863/41 287/627/41 39/629/41 -f 287/627/41 288/630/41 289/628/41 -f 114/864/46 113/631/46 290/633/46 -f 290/633/46 286/632/46 289/634/46 -f 28/865/45 283/635/45 32/637/45 -f 283/635/45 284/638/45 287/636/45 -f 28/866/40 37/639/40 283/641/40 -f 283/641/40 285/640/40 284/642/40 -f 130/311/7 275/643/7 128/312/7 -f 289/867/7 134/310/7 287/646/7 -f 261/868/7 154/358/7 265/648/7 -f 150/359/7 267/649/7 148/360/7 -f 266/869/7 262/651/7 274/653/7 -f 274/870/7 272/654/7 276/656/7 -f 288/871/7 290/657/7 280/659/7 -f 290/872/7 286/660/7 266/662/7 -f 292/873/7 273/663/7 291/665/7 -f 294/874/7 277/666/7 293/668/7 -f 209/875/18 296/671/18 213/670/18 -f 162/876/85 178/669/85 296/671/85 -f 176/674/86 160/877/86 295/672/86 -f 295/672/24 210/878/24 214/673/24 diff --git a/src/main/resources/assets/hbm/models/generator.obj b/src/main/resources/assets/hbm/models/generator.obj deleted file mode 100644 index ca085d7e7..000000000 --- a/src/main/resources/assets/hbm/models/generator.obj +++ /dev/null @@ -1,1625 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'generator.blend' -# www.blender.org -o Circle -v -2.900000 1.500000 -0.300000 -v -2.900000 1.614805 -0.277164 -v -2.700000 1.846454 -0.143506 -v -2.900000 1.777164 -0.114805 -v -2.900000 1.800000 0.000000 -v -2.900000 1.777164 0.114805 -v -2.700000 1.875000 0.000000 -v -2.900000 1.614805 0.277164 -v -2.900000 1.500000 0.300000 -v -2.900000 1.385195 0.277164 -v -2.700000 1.500000 -0.375000 -v -2.900000 1.222836 0.114805 -v -2.900000 1.200000 -0.000000 -v -2.900000 1.222836 -0.114805 -v -2.700000 1.643506 -0.346455 -v -2.900000 1.385195 -0.277164 -v -2.900000 1.500000 -0.105000 -v -2.900000 1.540182 -0.097007 -v -2.900000 1.574246 -0.074246 -v -2.900000 1.597007 -0.040182 -v -2.900000 1.605000 0.000000 -v -2.900000 1.597007 0.040182 -v -2.900000 1.574246 0.074246 -v -2.900000 1.540182 0.097007 -v -2.900000 1.500000 0.105000 -v -2.900000 1.459818 0.097007 -v -2.900000 1.425754 0.074246 -v -2.900000 1.402992 0.040182 -v -2.900000 1.395000 -0.000000 -v -2.900000 1.402992 -0.040182 -v -2.900000 1.425754 -0.074246 -v -2.900000 1.459818 -0.097007 -v -2.700000 1.846454 0.143506 -v -2.700000 1.500000 0.375000 -v -2.700000 1.643506 0.346455 -v -2.700000 1.356493 0.346455 -v -2.700000 1.125000 -0.000000 -v -2.700000 1.153545 0.143506 -v -2.700000 1.153545 -0.143506 -v -2.700000 1.356494 -0.346455 -v -2.700000 1.540182 -0.097007 -v -1.000000 2.423879 -0.382683 -v -2.700000 1.574246 -0.074246 -v -2.700000 1.597007 -0.040182 -v -2.700000 1.597007 0.040182 -v -2.700000 1.574246 0.074246 -v -2.700000 1.540182 0.097007 -v -2.700000 1.459818 0.097007 -v -2.700000 1.425754 0.074246 -v -2.700000 1.402992 0.040182 -v -1.000000 1.500000 -1.000000 -v -2.700000 1.402992 -0.040182 -v -2.700000 1.425754 -0.074246 -v -2.700000 1.459818 -0.097007 -v -2.600000 1.153545 -0.143506 -v -2.600000 1.125000 -0.000000 -v -2.600000 1.500000 -0.375000 -v -2.600000 1.356494 -0.346455 -v -2.600000 1.153545 0.143506 -v -2.600000 1.356494 0.346455 -v -2.600000 1.500000 0.375000 -v -2.600000 1.643506 0.346455 -v -2.600000 1.846454 0.143506 -v -2.600000 1.875000 0.000000 -v -2.600000 1.846454 -0.143506 -v -2.600000 1.643506 -0.346455 -v -2.600000 1.540182 -0.097007 -v -2.600000 1.500000 -0.105000 -v -2.600000 1.574246 -0.074246 -v -2.600000 1.597007 -0.040182 -v -2.600000 1.605000 0.000000 -v -2.600000 1.597007 0.040182 -v -2.600000 1.574246 0.074246 -v -2.600000 1.540182 0.097007 -v -2.600000 1.500000 0.105000 -v -2.600000 1.459818 0.097007 -v -2.600000 1.425754 0.074246 -v -2.600000 1.402992 0.040182 -v -2.600000 1.395000 -0.000000 -v -2.600000 1.402992 -0.040182 -v -2.600000 1.425754 -0.074246 -v -2.600000 1.459818 -0.097007 -v -1.000000 2.500000 0.000000 -v -1.000000 1.882683 0.923879 -v -1.000000 1.500000 1.000000 -v 0.500000 2.000000 0.000000 -v 0.500000 1.961939 0.191342 -v -1.000000 0.576121 0.382684 -v -1.000000 0.500000 -0.000000 -v -1.000000 1.117317 -0.923880 -v -0.500000 2.423879 -0.382683 -v -0.500000 1.500000 -1.000000 -v -0.500000 2.500000 0.000000 -v -0.500000 1.882683 0.923879 -v -0.500000 1.500000 1.000000 -v 0.500000 1.500000 -0.500000 -v 0.500000 1.691342 -0.461940 -v -0.500000 0.576121 0.382684 -v -0.500000 0.500000 -0.000000 -v -0.500000 1.117317 -0.923880 -v -0.000000 1.882683 -0.923879 -v -0.000000 1.500000 -1.000000 -v -0.000000 2.500000 0.000000 -v -0.000000 2.423879 0.382683 -v -0.000000 1.500000 1.000000 -v -0.000000 1.117316 0.923880 -v 0.500000 0.500000 -0.000000 -v 0.500000 0.576121 -0.382684 -v -0.000000 0.500000 -0.000000 -v -0.000000 0.576121 -0.382684 -v -1.000000 1.961939 -0.191342 -v -1.000000 1.500000 -0.500000 -v -1.000000 1.999999 0.000000 -v -1.000000 1.691341 0.461940 -v -1.000000 1.500000 0.500000 -v 0.500000 1.500000 1.000000 -v 0.500000 1.117316 0.923880 -v -1.000000 1.038060 0.191342 -v -1.000000 1.000000 -0.000000 -v -1.000000 1.308658 -0.461940 -v -0.500000 1.961939 -0.191342 -v -0.500000 1.500000 -0.500000 -v -0.500000 1.999999 0.000000 -v -0.500000 1.691341 0.461940 -v -0.500000 1.500000 0.500000 -v 0.500000 2.500000 0.000000 -v 0.500000 2.423879 0.382683 -v -0.500000 1.038060 0.191342 -v -0.500000 1.000000 -0.000000 -v 0.500000 1.000000 -0.000000 -v 0.500000 1.038060 -0.191342 -v -0.500000 1.308658 -0.461940 -v -0.000000 1.691341 -0.461940 -v -0.000000 1.500000 -0.500000 -v -0.000000 2.000000 0.000000 -v -0.000000 1.961939 0.191342 -v -0.000000 1.500000 0.500000 -v -0.000000 1.308658 0.461940 -v 0.500000 1.500000 -1.000000 -v 0.500000 1.882683 -0.923879 -v -0.000000 1.000000 -0.000000 -v -0.000000 1.038060 -0.191342 -v 0.500000 1.500000 0.500000 -v 0.500000 1.308658 0.461940 -vn -1.000000 0.000000 0.000000 -vn 0.000000 0.923900 -0.382700 -vn 0.000000 0.923900 0.382700 -vn 0.000000 -0.382700 -0.923900 -vn 0.000000 0.980800 0.195100 -vn 0.000000 -0.923900 -0.382700 -vn 0.000000 -0.831500 0.555600 -vn 0.000000 -0.195100 -0.980800 -vn 0.000000 0.831500 -0.555600 -vn -0.000000 0.195100 0.980800 -vn 0.000000 0.555600 -0.831500 -vn -0.000000 -0.382700 0.923900 -vn 0.000000 -0.555600 0.831500 -vn -0.000000 0.382700 0.923900 -vn -0.345200 0.920500 -0.183100 -vn -0.345200 -0.920500 0.183100 -vn -0.345200 0.920500 0.183100 -vn -0.345200 -0.920500 -0.183100 -vn 0.000000 0.831500 0.555600 -vn 0.000000 -0.831500 -0.555600 -vn -0.345200 0.183100 0.920500 -vn 0.000000 0.555600 0.831500 -vn 0.000000 -0.923900 0.382700 -vn -0.345200 0.183100 -0.920500 -vn -0.345200 -0.183100 -0.920500 -vn 0.000000 -0.555600 -0.831500 -vn -0.345200 -0.183100 0.920500 -vn -0.000000 0.382700 -0.923900 -vn 1.000000 0.000000 0.000000 -vn 0.000000 -0.980800 0.195100 -vn 0.000000 0.980800 -0.195100 -vn -0.000000 -0.195100 0.980800 -vn 0.000000 0.195100 -0.980800 -vn 0.000000 -0.980800 -0.195100 -vn 0.000000 -0.000000 1.000000 -vn 0.000000 -1.000000 0.000000 -vn -0.000000 0.000000 -1.000000 -vn -0.000000 1.000000 0.000000 -vn -0.357400 -0.000000 0.933900 -vn -0.357400 -0.933900 0.000000 -vn -0.357400 0.000000 -0.933900 -vn -0.357400 0.933900 0.000000 -vn -0.607800 -0.303900 0.733700 -vn -0.607800 -0.733700 -0.303900 -vn -0.607800 0.303900 -0.733700 -vn -0.607800 0.733700 0.303900 -vn 0.607800 -0.000000 -0.794100 -vn 0.357400 -0.357400 -0.862900 -vn 0.607800 0.794100 -0.000000 -vn 0.357400 0.862900 -0.357400 -vn 0.607800 0.000000 0.794100 -vn 0.357400 0.357400 0.862900 -vn 0.607800 -0.794100 0.000000 -vn 0.357400 -0.862900 0.357400 -s off -f 5//1 21//1 22//1 -f 20//1 21//1 5//1 -f 17//1 18//1 2//1 -f 32//1 17//1 1//1 -f 29//1 30//1 14//1 -f 28//1 29//1 13//1 -f 25//1 26//1 10//1 -f 24//1 25//1 9//1 -f 27//1 21//1 19//1 -f 35//2 62//2 74//2 -f 41//3 67//3 66//3 -f 65//4 70//4 44//4 -f 63//5 64//5 7//5 -f 48//6 76//6 60//6 -f 50//7 78//7 77//7 -f 11//8 57//8 58//8 -f 44//9 70//9 69//9 -f 35//10 34//10 61//10 -f 19//11 43//11 41//11 -f 45//12 33//12 6//12 -f 27//13 49//13 48//13 -f 12//14 38//14 50//14 -f 5//15 7//15 3//15 -f 20//9 44//9 43//9 -f 37//16 38//16 12//16 -f 28//7 50//7 49//7 -f 10//6 26//6 48//6 -f 33//17 7//17 5//17 -f 4//4 3//4 44//4 -f 14//18 39//18 37//18 -f 2//3 18//3 41//3 -f 8//2 35//2 47//2 -f 23//19 46//19 45//19 -f 31//20 53//20 52//20 -f 8//21 9//21 34//21 -f 24//22 47//22 46//22 -f 16//23 40//23 54//23 -f 2//24 15//24 11//24 -f 1//25 11//25 40//25 -f 32//26 54//26 53//26 -f 10//27 36//27 34//27 -f 52//28 39//28 14//28 -f 64//29 63//29 72//29 -f 64//29 71//29 70//29 -f 57//29 66//29 67//29 -f 57//29 68//29 82//29 -f 55//29 80//29 79//29 -f 59//29 56//29 79//29 -f 60//29 76//29 75//29 -f 61//29 75//29 74//29 -f 75//29 79//29 71//29 -f 46//19 73//19 72//19 -f 56//30 59//30 38//30 -f 53//20 81//20 80//20 -f 64//31 65//31 3//31 -f 47//22 74//22 73//22 -f 54//23 40//23 58//23 -f 34//32 36//32 60//32 -f 54//26 82//26 81//26 -f 15//33 66//33 57//33 -f 80//28 55//28 39//28 -f 43//11 69//11 67//11 -f 72//12 63//12 33//12 -f 55//34 56//34 37//34 -f 49//13 77//13 76//13 -f 59//14 78//14 50//14 -f 83//31 93//31 91//31 -f 93//31 103//31 91//31 -f 103//5 93//5 104//5 -f 85//10 95//10 94//10 -f 94//10 95//10 105//10 -f 105//32 95//32 106//32 -f 89//30 99//30 98//30 -f 99//30 109//30 98//30 -f 109//34 99//34 110//34 -f 51//8 92//8 100//8 -f 92//8 102//8 100//8 -f 102//33 92//33 101//33 -f 114//1 115//1 85//1 -f 111//1 113//1 83//1 -f 120//1 112//1 51//1 -f 88//1 118//1 119//1 -f 118//31 128//31 129//31 -f 132//10 122//10 112//10 -f 121//30 123//30 113//30 -f 124//8 125//8 115//8 -f 110//34 108//34 107//34 -f 104//5 127//5 126//5 -f 133//3 97//3 140//3 -f 109//35 107//35 130//35 -f 125//8 124//8 137//8 -f 137//33 138//33 125//33 -f 128//31 141//31 129//31 -f 141//5 142//5 129//5 -f 132//10 134//10 122//10 -f 134//32 133//32 122//32 -f 121//30 135//30 123//30 -f 135//34 136//34 123//34 -f 98//14 128//14 118//14 -f 93//35 83//35 113//35 -f 95//36 85//36 115//36 -f 100//23 132//23 120//23 -f 99//37 89//37 119//37 -f 94//2 124//2 114//2 -f 91//4 121//4 111//4 -f 92//38 51//38 112//38 -f 136//39 93//39 123//39 -f 138//40 95//40 125//40 -f 142//41 99//41 129//41 -f 133//42 92//42 122//42 -f 93//43 136//43 104//43 -f 95//44 138//44 106//44 -f 99//45 142//45 110//45 -f 92//46 133//46 101//46 -f 91//47 103//47 135//47 -f 135//48 121//48 91//48 -f 94//49 105//49 137//49 -f 137//50 124//50 94//50 -f 98//51 109//51 141//51 -f 141//52 128//52 98//52 -f 100//53 102//53 134//53 -f 134//54 132//54 100//54 -f 140//29 97//29 96//29 -f 126//29 127//29 87//29 -f 117//29 144//29 143//29 -f 108//29 131//29 130//29 -f 102//36 139//36 96//36 -f 135//34 86//34 87//34 -f 136//12 87//12 127//12 -f 141//5 130//5 131//5 -f 103//37 126//37 86//37 -f 101//33 140//33 139//33 -f 138//6 144//6 117//6 -f 105//32 106//32 117//32 -f 105//38 116//38 143//38 -f 134//32 96//32 97//32 -f 137//33 143//33 144//33 -f 142//28 131//28 108//28 -f 6//1 5//1 22//1 -f 4//1 20//1 5//1 -f 1//1 17//1 2//1 -f 16//1 32//1 1//1 -f 13//1 29//1 14//1 -f 12//1 28//1 13//1 -f 9//1 25//1 10//1 -f 8//1 24//1 9//1 -f 19//1 18//1 17//1 -f 17//1 32//1 31//1 -f 31//1 30//1 29//1 -f 29//1 28//1 27//1 -f 27//1 26//1 25//1 -f 25//1 24//1 23//1 -f 23//1 22//1 21//1 -f 21//1 20//1 19//1 -f 19//1 17//1 31//1 -f 31//1 29//1 27//1 -f 27//1 25//1 23//1 -f 23//1 21//1 27//1 -f 19//1 31//1 27//1 -f 47//2 35//2 74//2 -f 15//3 41//3 66//3 -f 3//4 65//4 44//4 -f 33//5 63//5 7//5 -f 36//6 48//6 60//6 -f 49//7 50//7 77//7 -f 40//8 11//8 58//8 -f 43//9 44//9 69//9 -f 62//10 35//10 61//10 -f 18//11 19//11 41//11 -f 22//12 45//12 6//12 -f 26//13 27//13 48//13 -f 28//14 12//14 50//14 -f 4//15 5//15 3//15 -f 19//9 20//9 43//9 -f 13//16 37//16 12//16 -f 27//7 28//7 49//7 -f 36//6 10//6 48//6 -f 6//17 33//17 5//17 -f 20//4 4//4 44//4 -f 13//18 14//18 37//18 -f 15//3 2//3 41//3 -f 24//2 8//2 47//2 -f 22//19 23//19 45//19 -f 30//20 31//20 52//20 -f 35//21 8//21 34//21 -f 23//22 24//22 46//22 -f 32//23 16//23 54//23 -f 1//24 2//24 11//24 -f 16//25 1//25 40//25 -f 31//26 32//26 53//26 -f 9//27 10//27 34//27 -f 30//28 52//28 14//28 -f 71//29 64//29 72//29 -f 65//29 64//29 70//29 -f 68//29 57//29 67//29 -f 58//29 57//29 82//29 -f 56//29 55//29 79//29 -f 78//29 59//29 79//29 -f 61//29 60//29 75//29 -f 62//29 61//29 74//29 -f 68//29 67//29 69//29 -f 69//29 70//29 68//29 -f 71//29 72//29 75//29 -f 73//29 74//29 75//29 -f 75//29 76//29 77//29 -f 77//29 78//29 75//29 -f 79//29 80//29 68//29 -f 81//29 82//29 68//29 -f 68//29 70//29 71//29 -f 72//29 73//29 75//29 -f 75//29 78//29 79//29 -f 80//29 81//29 68//29 -f 68//29 71//29 79//29 -f 45//19 46//19 72//19 -f 37//30 56//30 38//30 -f 52//20 53//20 80//20 -f 7//31 64//31 3//31 -f 46//22 47//22 73//22 -f 82//23 54//23 58//23 -f 61//32 34//32 60//32 -f 53//26 54//26 81//26 -f 11//33 15//33 57//33 -f 52//28 80//28 39//28 -f 41//11 43//11 67//11 -f 45//12 72//12 33//12 -f 39//34 55//34 37//34 -f 48//13 49//13 76//13 -f 38//14 59//14 50//14 -f 42//31 83//31 91//31 -f 84//10 85//10 94//10 -f 88//30 89//30 98//30 -f 90//8 51//8 100//8 -f 84//1 114//1 85//1 -f 42//1 111//1 83//1 -f 90//1 120//1 51//1 -f 89//1 88//1 119//1 -f 119//31 118//31 129//31 -f 120//10 132//10 112//10 -f 111//30 121//30 113//30 -f 114//8 124//8 115//8 -f 109//34 110//34 107//34 -f 103//5 104//5 126//5 -f 101//3 133//3 140//3 -f 141//35 109//35 130//35 -f 88//14 98//14 118//14 -f 123//35 93//35 113//35 -f 125//36 95//36 115//36 -f 90//23 100//23 120//23 -f 129//37 99//37 119//37 -f 84//2 94//2 114//2 -f 42//4 91//4 111//4 -f 122//38 92//38 112//38 -f 139//29 140//29 96//29 -f 86//29 126//29 87//29 -f 116//29 117//29 143//29 -f 107//29 108//29 130//29 -f 134//36 102//36 96//36 -f 136//34 135//34 87//34 -f 104//12 136//12 127//12 -f 142//5 141//5 131//5 -f 135//37 103//37 86//37 -f 102//33 101//33 139//33 -f 106//6 138//6 117//6 -f 116//32 105//32 117//32 -f 137//38 105//38 143//38 -f 133//32 134//32 97//32 -f 138//33 137//33 144//33 -f 110//28 142//28 108//28 -o Plane -v -1.500000 0.000000 0.750000 -v 2.250000 0.000000 0.750000 -v -1.500000 0.000000 -0.750000 -v 2.250000 0.000000 -0.750000 -v -2.250000 1.500000 -1.275000 -v -2.250000 1.987921 -1.177946 -v -2.250000 2.401561 -0.901561 -v -2.250000 2.677946 -0.487921 -v -2.250000 2.775000 0.000000 -v -2.250000 2.677946 0.487922 -v -2.250000 2.401561 0.901561 -v -2.250000 1.987921 1.177946 -v -2.250000 1.500000 1.275000 -v -2.000000 1.500000 -1.500000 -v -2.000000 2.074025 -1.385819 -v -2.000000 2.560660 -1.060660 -v -2.000000 2.885819 -0.574025 -v -2.000000 3.000000 0.000000 -v -2.000000 2.885819 0.574025 -v -2.000000 2.560660 1.060660 -v -2.000000 2.074025 1.385819 -v -2.000000 1.500000 1.500000 -v -1.750000 1.500000 -1.500000 -v -1.750000 2.074025 -1.385819 -v -1.750000 2.560660 -1.060660 -v -1.750000 2.885819 -0.574025 -v -1.750000 3.000000 0.000000 -v -1.750000 2.885819 0.574025 -v -1.750000 2.560660 1.060660 -v -1.750000 2.074025 1.385819 -v -1.750000 1.500000 1.500000 -v -1.500000 1.500000 -1.275000 -v -1.500000 1.987921 -1.177946 -v -1.500000 2.401561 -0.901561 -v -1.500000 2.677946 -0.487921 -v -1.500000 2.775000 0.000000 -v -1.500000 2.677946 0.487922 -v -1.500000 2.401561 0.901561 -v -1.500000 1.987921 1.177946 -v -1.500000 1.500000 1.275000 -v -2.000000 0.000000 -1.500000 -v -2.000000 0.000000 1.500000 -v -1.750000 0.000000 -1.500000 -v -1.750000 0.000000 1.500000 -v -1.500000 0.000000 -1.275000 -v -1.500000 0.000000 1.275000 -v -2.250000 1.500000 -0.750000 -v -2.250000 1.787013 -0.692910 -v -2.250000 2.030330 -0.530330 -v -2.250000 2.192910 -0.287013 -v -2.250000 2.250000 0.000000 -v -2.250000 2.192910 0.287013 -v -2.250000 2.030330 0.530330 -v -2.250000 1.787013 0.692910 -v -2.250000 1.500000 0.750000 -v -2.250000 0.000000 0.750000 -v -2.250000 -0.000000 -0.750000 -v -2.250000 0.000000 1.275000 -v -2.250000 0.000000 -1.275000 -v -2.500000 1.500000 -0.750000 -v -2.500000 1.787013 -0.692910 -v -2.500000 2.030330 -0.530330 -v -2.500000 2.192910 -0.287013 -v -2.500000 2.250000 0.000000 -v -2.500000 2.192910 0.287013 -v -2.500000 2.030330 0.530330 -v -2.500000 1.787013 0.692910 -v -2.500000 1.500000 0.750000 -v -2.750000 1.500000 -0.525000 -v -2.750000 1.700909 -0.485037 -v -2.750000 1.871231 -0.371231 -v -2.750000 1.985037 -0.200909 -v -2.750000 2.025000 0.000000 -v -2.750000 1.985037 0.200909 -v -2.750000 1.871231 0.371231 -v -2.750000 1.700909 0.485037 -v -2.750000 1.500000 0.525000 -v -2.500000 -0.000000 -0.750000 -v -2.500000 0.000000 0.750000 -v -2.750000 -0.000000 -0.525000 -v -2.750000 0.000000 0.525000 -v -2.750000 1.500000 -0.472500 -v -2.750000 1.680818 -0.436533 -v -2.750000 1.834108 -0.334108 -v -2.750000 1.936533 -0.180818 -v -2.750000 1.972500 0.000000 -v -2.750000 1.936533 0.180818 -v -2.750000 1.834108 0.334108 -v -2.750000 1.680818 0.436533 -v -2.750000 1.500000 0.472500 -v -2.750000 1.319182 0.436533 -v -2.750000 1.165892 0.334108 -v -2.750000 1.063467 0.180818 -v -2.750000 1.027500 -0.000000 -v -2.750000 1.063467 -0.180818 -v -2.750000 1.165892 -0.334108 -v -2.750000 1.319182 -0.436533 -v -2.875001 1.500000 -0.472500 -v -2.875001 1.680818 -0.436533 -v -2.875001 1.834108 -0.334108 -v -2.875001 1.936533 -0.180818 -v -2.875001 1.972500 0.000000 -v -2.875001 1.936533 0.180818 -v -2.875001 1.834108 0.334108 -v -2.875001 1.680818 0.436533 -v -2.875001 1.500000 0.472500 -v -2.875000 1.319182 0.436533 -v -2.875000 1.165892 0.334108 -v -2.875000 1.063467 0.180818 -v -2.875000 1.027500 -0.000000 -v -2.875000 1.063467 -0.180818 -v -2.875000 1.165892 -0.334108 -v -2.875000 1.319182 -0.436533 -v -3.000001 1.500000 -0.354375 -v -3.000001 1.635613 -0.327400 -v -3.000001 1.750581 -0.250581 -v -3.000001 1.827400 -0.135613 -v -3.000001 1.854375 0.000000 -v -3.000001 1.827400 0.135613 -v -3.000001 1.750581 0.250581 -v -3.000001 1.635613 0.327400 -v -3.000001 1.500000 0.354375 -v -3.000000 1.364387 0.327400 -v -3.000000 1.249419 0.250581 -v -3.000000 1.172600 0.135613 -v -3.000000 1.145625 -0.000000 -v -3.000000 1.172600 -0.135614 -v -3.000000 1.249419 -0.250581 -v -3.000000 1.364387 -0.327400 -v -3.000001 1.500000 -0.301219 -v -3.000001 1.615271 -0.278290 -v -3.000001 1.712994 -0.212994 -v -3.000001 1.778290 -0.115271 -v -3.000001 1.801219 0.000000 -v -3.000001 1.778290 0.115271 -v -3.000001 1.712994 0.212994 -v -3.000001 1.615271 0.278290 -v -3.000001 1.500000 0.301219 -v -3.000000 1.384729 0.278290 -v -3.000000 1.287006 0.212994 -v -3.000000 1.221710 0.115271 -v -3.000000 1.198781 -0.000000 -v -3.000000 1.221710 -0.115271 -v -3.000000 1.287006 -0.212994 -v -3.000000 1.384729 -0.278290 -v -3.000000 1.500000 -0.090366 -v -3.000000 1.534581 -0.083487 -v -3.000000 1.563898 -0.063898 -v -3.000000 1.583487 -0.034581 -v -3.000000 1.590366 0.000000 -v -3.000000 1.583487 0.034581 -v -3.000000 1.563898 0.063898 -v -3.000000 1.534581 0.083487 -v -3.000000 1.500000 0.090366 -v -3.000000 1.465419 0.083487 -v -3.000000 1.436102 0.063898 -v -3.000000 1.416513 0.034581 -v -3.000000 1.409634 -0.000000 -v -3.000000 1.416513 -0.034581 -v -3.000000 1.436102 -0.063898 -v -3.000000 1.465419 -0.083487 -v -2.750000 -0.000000 0.000000 -v -1.500000 0.500000 0.750000 -v 2.250000 0.500000 0.750000 -v -1.500000 0.500000 -0.750000 -v 2.250000 0.500000 -0.750000 -v -1.500000 2.192910 -0.287013 -v -1.500000 2.030330 -0.530330 -v -1.500000 1.787013 -0.692910 -v -1.500000 1.500000 -0.750000 -v -1.500000 2.250000 0.000000 -v -1.500000 2.192910 0.287013 -v -1.500000 2.030330 0.530330 -v -1.500000 1.787013 0.692910 -v -1.500000 1.500000 0.750000 -v -1.500000 1.212988 0.692910 -v -1.500000 0.969670 0.530330 -v -1.500000 0.807090 0.287013 -v -1.500000 0.750000 -0.000000 -v -1.500000 0.807090 -0.287013 -v -1.500000 0.969670 -0.530330 -v -1.500000 1.212988 -0.692910 -v -1.500000 0.500000 0.000000 -v -2.950001 1.500000 -0.354375 -v -2.950001 1.635613 -0.327400 -v -2.950001 1.750581 -0.250581 -v -2.950001 1.827400 -0.135613 -v -2.950001 1.854375 0.000000 -v -2.950001 1.827400 0.135613 -v -2.950001 1.750581 0.250581 -v -2.950001 1.635613 0.327400 -v -2.950001 1.500000 0.354375 -v -2.950000 1.364387 0.327400 -v -2.950000 1.249419 0.250581 -v -2.950000 1.172600 0.135613 -v -2.950000 1.145625 -0.000000 -v -2.950000 1.172600 -0.135614 -v -2.950000 1.249419 -0.250581 -v -2.950000 1.364387 -0.327400 -v -2.950001 1.500000 -0.301219 -v -2.950001 1.615271 -0.278290 -v -2.950001 1.712994 -0.212994 -v -2.950001 1.778290 -0.115271 -v -2.950001 1.801219 0.000000 -v -2.950001 1.778290 0.115271 -v -2.950001 1.712994 0.212994 -v -2.950001 1.615271 0.278290 -v -2.950001 1.500000 0.301219 -v -2.950000 1.384729 0.278290 -v -2.950000 1.287006 0.212994 -v -2.950000 1.221710 0.115271 -v -2.950000 1.198781 -0.000000 -v -2.950000 1.221710 -0.115271 -v -2.950000 1.287006 -0.212994 -v -2.950000 1.384729 -0.278290 -v -2.950000 1.500000 -0.090366 -v -2.950000 1.534581 -0.083487 -v -2.950000 1.563898 -0.063898 -v -2.950000 1.583487 -0.034581 -v -2.950000 1.590366 0.000000 -v -2.950000 1.583487 0.034581 -v -2.950000 1.563898 0.063898 -v -2.950000 1.534581 0.083487 -v -2.950000 1.500000 0.090366 -v -2.950000 1.465419 0.083487 -v -2.950000 1.436102 0.063898 -v -2.950000 1.416513 0.034581 -v -2.950000 1.409634 -0.000000 -v -2.950000 1.416513 -0.034581 -v -2.950000 1.436102 -0.063898 -v -2.950000 1.465419 -0.083487 -v -2.550001 1.500000 -0.472500 -v -2.550001 1.680818 -0.436533 -v -2.550001 1.834108 -0.334108 -v -2.550001 1.936533 -0.180818 -v -2.550001 1.972500 0.000000 -v -2.550001 1.936533 0.180818 -v -2.550001 1.834108 0.334108 -v -2.550001 1.680818 0.436533 -v -2.550001 1.500000 0.472500 -v -2.550000 1.319182 0.436533 -v -2.550000 1.165892 0.334108 -v -2.550000 1.063467 0.180818 -v -2.550000 1.027500 -0.000000 -v -2.550000 1.063467 -0.180818 -v -2.550000 1.165892 -0.334108 -v -2.550000 1.319182 -0.436533 -v -2.675001 1.500000 -0.472500 -v -2.675001 1.680818 -0.436533 -v -2.675001 1.834108 -0.334108 -v -2.675001 1.936533 -0.180818 -v -2.675001 1.972500 0.000000 -v -2.675001 1.936533 0.180818 -v -2.675001 1.834108 0.334108 -v -2.675001 1.680818 0.436533 -v -2.675001 1.500000 0.472500 -v -2.675000 1.319182 0.436533 -v -2.675000 1.165892 0.334108 -v -2.675000 1.063467 0.180818 -v -2.675000 1.027500 -0.000000 -v -2.675000 1.063467 -0.180818 -v -2.675000 1.165892 -0.334108 -v -2.675000 1.319182 -0.436533 -v 2.250000 2.192910 -0.287013 -v 2.250000 2.030330 -0.530330 -v 2.250000 1.787013 -0.692910 -v 2.250000 1.500000 -0.750000 -v 2.250000 2.250000 0.000000 -v 2.250000 2.192910 0.287013 -v 2.250000 2.030330 0.530330 -v 2.250000 1.787013 0.692910 -v 2.250000 1.500000 0.750000 -v 2.250000 1.212988 0.692910 -v 2.250000 0.969670 0.530330 -v 2.250000 0.807090 0.287013 -v 2.250000 0.750000 -0.000000 -v 2.250000 0.807090 -0.287013 -v 2.250000 0.969670 -0.530330 -v 2.250000 1.212988 -0.692910 -v 2.250000 1.500000 -1.000000 -v 2.250000 1.882683 -0.923880 -v 2.250000 2.207107 -0.707107 -v 2.250000 2.423880 -0.382683 -v 2.250000 2.500000 0.000000 -v 2.250000 2.423880 0.382684 -v 2.250000 2.207107 0.707107 -v 2.250000 1.882683 0.923880 -v 2.250000 1.500000 1.000000 -v 2.750000 0.000000 0.800000 -v 2.750000 -0.000000 -0.800000 -v 2.500000 0.000000 1.000000 -v 2.250000 0.500000 -0.000000 -v 2.500000 -0.000000 -1.000000 -v 2.250000 0.000000 1.000000 -v 2.250000 -0.000000 -1.000000 -v 2.500000 1.882683 0.923880 -v 2.500000 2.207107 0.707107 -v 2.500000 2.423880 0.382684 -v 2.500000 2.500000 0.000000 -v 2.500000 2.423880 -0.382683 -v 2.500000 2.207107 -0.707107 -v 2.500000 1.882683 -0.923880 -v 2.500000 1.500000 -1.000000 -v 2.500000 1.500000 1.000000 -v 2.750000 1.806147 0.739104 -v 2.750000 2.065685 0.565686 -v 2.750000 2.239104 0.306147 -v 2.750000 2.300000 0.000000 -v 2.750000 2.239104 -0.306147 -v 2.750000 2.065685 -0.565686 -v 2.750000 1.806147 -0.739104 -v 2.750000 1.500000 -0.800000 -v 2.750000 1.500000 0.800000 -v 2.750000 0.656250 0.156250 -v 2.750000 0.343750 0.156250 -v 2.750000 0.656250 -0.156250 -v 2.750000 0.343750 -0.156250 -v 3.000000 0.656250 -0.156250 -v 3.000000 0.656250 0.156250 -v 3.000000 0.343750 0.156250 -v 3.000000 0.343750 -0.156250 -v -2.750000 0.656250 -0.156250 -v -2.750000 0.656250 0.156250 -v -2.750000 0.343750 0.156250 -v -2.750000 0.343750 -0.156250 -v -3.000000 0.656250 -0.156250 -v -3.000000 0.656250 0.156250 -v -3.000000 0.343750 0.156250 -v -3.000000 0.343750 -0.156250 -v -2.750000 0.343750 0.000000 -v -2.750000 0.656250 0.000000 -v -1.750000 2.900000 0.150000 -v -1.750000 2.800000 0.150000 -v -1.750000 2.900000 -0.150000 -v -1.750000 2.800000 -0.150000 -v 0.250000 2.900002 -0.150000 -v 0.250000 2.900002 0.150000 -v 0.250000 2.800002 0.150000 -v 0.250000 2.800002 -0.150000 -v 0.362941 2.898298 -0.150000 -v 0.362941 2.898298 0.150000 -v 0.337059 2.801706 0.150000 -v 0.337059 2.801706 -0.150000 -v 2.294793 2.380663 -0.150000 -v 2.294793 2.380663 0.150000 -v 2.268912 2.284071 0.150000 -v 2.268912 2.284071 -0.150000 -vn 0.000000 -1.000000 0.000000 -vn -0.661800 0.735300 0.146300 -vn 0.000000 0.980800 0.195100 -vn 0.661800 0.735300 0.146300 -vn -0.661800 0.623400 0.416500 -vn 0.661800 0.623400 0.416500 -vn 0.000000 0.831500 0.555600 -vn 0.661800 0.416500 0.623400 -vn 0.000000 0.555600 0.831500 -vn -0.661800 0.416500 0.623400 -vn -0.661800 0.146300 0.735300 -vn 0.661800 0.146300 0.735300 -vn -0.661800 0.735300 -0.146300 -vn 0.000000 0.980800 -0.195100 -vn 0.661800 0.735300 -0.146300 -vn 0.661800 0.623400 -0.416500 -vn 0.000000 0.831500 -0.555600 -vn -0.661800 0.623400 -0.416500 -vn -0.661800 0.416500 -0.623400 -vn 0.000000 0.555600 -0.831500 -vn 0.661800 0.416500 -0.623400 -vn 0.661800 0.146300 -0.735300 -vn 0.000000 0.195100 -0.980800 -vn -0.661800 0.146300 -0.735300 -vn 0.000000 0.195100 0.980800 -vn 0.000000 0.000000 1.000000 -vn 0.669000 0.000000 0.743300 -vn 0.000000 0.000000 -1.000000 -vn 0.669000 0.000000 -0.743300 -vn -1.000000 0.000000 -0.000000 -vn -0.669000 0.000000 -0.743300 -vn -0.669000 0.000000 0.743300 -vn 0.000000 -0.195100 0.980800 -vn 0.000000 -0.555600 0.831500 -vn 0.000000 -0.831500 0.555600 -vn 0.000000 -0.980800 0.195100 -vn 0.000000 -0.980800 -0.195100 -vn 0.000000 -0.831500 -0.555600 -vn 0.000000 -0.195100 -0.980800 -vn 0.000000 -0.555600 -0.831500 -vn -0.679800 0.143100 -0.719300 -vn -0.679800 0.407500 -0.609800 -vn -0.679800 0.609800 -0.407500 -vn -0.679800 0.719300 -0.143100 -vn -0.679800 0.719300 0.143100 -vn -0.679800 0.609800 0.407500 -vn -0.679800 0.407500 0.609800 -vn -0.679800 0.143100 0.719300 -vn -0.679800 -0.143100 0.719300 -vn -0.679800 -0.407500 0.609800 -vn -0.679800 -0.143100 -0.719300 -vn -0.679800 -0.407500 -0.609800 -vn -0.679800 -0.609800 -0.407500 -vn -0.679800 -0.719300 -0.143100 -vn -0.679800 -0.609800 0.407500 -vn -0.679800 -0.719300 0.143100 -vn 1.000000 0.000000 0.000000 -vn 0.000000 0.923900 -0.382700 -vn 0.000000 -0.382700 0.923900 -vn 0.000000 -0.382700 -0.923900 -vn 0.000000 0.923900 0.382700 -vn 0.000000 0.382700 0.923900 -vn 0.000000 -0.923900 -0.382700 -vn 0.000000 0.382700 -0.923900 -vn 0.000000 -0.923900 0.382700 -vn 0.388200 0.512000 -0.766200 -vn 0.388200 0.766200 -0.512000 -vn 0.388200 0.903800 -0.179800 -vn 0.388200 0.903800 0.179800 -vn 0.388200 0.766200 0.512000 -vn 0.388200 0.512000 0.766200 -vn 0.388200 0.179800 0.903800 -vn 0.388200 -0.179800 0.903800 -vn 0.388200 -0.512000 0.766200 -vn 0.388200 -0.766200 0.512000 -vn 0.388200 -0.903800 0.179800 -vn 0.388200 -0.903800 -0.179800 -vn 0.388200 -0.766200 -0.512000 -vn 0.388200 -0.512000 -0.766200 -vn 0.388200 -0.179800 -0.903800 -vn 0.388200 0.179800 -0.903800 -vn 0.617300 0.437100 0.654100 -vn 0.624700 0.000000 -0.780900 -vn 0.624700 0.000000 0.780900 -vn 0.000000 1.000000 0.000000 -vn 0.617300 0.153500 0.771600 -vn 0.617300 0.153500 -0.771600 -vn 0.617300 0.437100 -0.654100 -vn 0.617300 0.654100 -0.437100 -vn 0.617300 0.771600 -0.153500 -vn 0.617300 0.771600 0.153500 -vn 0.617300 0.654100 0.437100 -vn 0.019600 -0.999800 0.000000 -vn -0.258800 -0.965900 0.000000 -vn 0.015100 0.999900 0.000000 -vn 0.965900 -0.258800 0.000000 -vn 0.258800 0.965900 0.000000 -vn -1.000000 -0.000100 0.000000 -vn 1.000000 0.000100 0.000000 -s off -f 147//55 148//55 146//55 -f 154//56 163//56 162//56 -f 163//57 172//57 171//57 -f 172//58 181//58 180//58 -f 155//59 164//59 163//59 -f 173//60 182//60 181//60 -f 164//61 173//61 172//61 -f 174//62 183//62 182//62 -f 165//63 174//63 173//63 -f 155//64 156//64 165//64 -f 157//65 166//65 165//65 -f 174//66 175//66 184//66 -f 153//67 162//67 161//67 -f 162//68 171//68 170//68 -f 170//69 171//69 180//69 -f 170//70 179//70 178//70 -f 161//71 170//71 169//71 -f 151//72 152//72 161//72 -f 151//73 160//73 159//73 -f 160//74 169//74 168//74 -f 168//75 169//75 178//75 -f 168//76 177//76 176//76 -f 159//77 168//77 167//77 -f 149//78 150//78 159//78 -f 166//79 175//79 174//79 -f 188//55 186//55 185//55 -f 188//55 187//55 147//55 -f 166//80 186//80 188//80 -f 175//81 188//81 190//81 -f 187//82 185//82 158//82 -f 189//83 187//83 167//83 -f 191//84 192//84 150//84 -f 192//84 193//84 151//84 -f 151//84 193//84 194//84 -f 152//84 194//84 195//84 -f 195//84 196//84 154//84 -f 196//84 197//84 155//84 -f 197//84 198//84 156//84 -f 198//84 199//84 157//84 -f 191//84 149//84 203//84 -f 202//84 157//84 199//84 -f 158//85 185//85 203//85 -f 202//86 186//86 166//86 -f 223//55 225//55 306//55 -f 212//79 199//79 198//79 -f 210//63 211//63 198//63 -f 209//61 210//61 197//61 -f 208//57 209//57 196//57 -f 207//68 208//68 195//68 -f 206//71 207//71 194//71 -f 205//74 206//74 193//74 -f 204//77 205//77 192//77 -f 204//78 213//78 214//78 -f 214//73 215//73 206//73 -f 206//72 215//72 216//72 -f 216//67 217//67 208//67 -f 208//56 217//56 218//56 -f 218//59 219//59 210//59 -f 210//64 219//64 220//64 -f 220//65 221//65 212//65 -f 186//55 200//55 185//55 -f 201//55 200//55 223//55 -f 222//82 204//82 191//82 -f 213//85 204//85 222//85 -f 199//80 212//80 223//80 -f 225//86 223//86 212//86 -f 233//84 234//84 221//84 -f 232//84 233//84 220//84 -f 231//84 232//84 219//84 -f 217//84 230//84 231//84 -f 229//84 230//84 217//84 -f 215//84 228//84 229//84 -f 227//84 228//84 215//84 -f 213//84 226//84 227//84 -f 242//77 243//77 227//77 -f 243//74 244//74 228//74 -f 244//71 245//71 229//71 -f 245//68 246//68 230//68 -f 246//57 247//57 231//57 -f 247//61 248//61 232//61 -f 248//63 249//63 233//63 -f 249//79 250//79 234//79 -f 234//87 250//87 251//87 -f 251//88 252//88 236//88 -f 252//89 253//89 237//89 -f 253//90 254//90 238//90 -f 254//91 255//91 239//91 -f 255//92 256//92 240//92 -f 257//93 242//93 226//93 -f 256//94 257//94 241//94 -f 258//95 259//95 243//95 -f 259//96 260//96 244//96 -f 244//97 260//97 261//97 -f 261//98 262//98 246//98 -f 246//99 262//99 263//99 -f 263//100 264//100 248//100 -f 264//101 265//101 249//101 -f 249//102 265//102 266//102 -f 250//103 266//103 267//103 -f 267//104 268//104 252//104 -f 267//84 283//84 284//84 -f 282//84 283//84 267//84 -f 265//84 281//84 282//84 -f 280//84 281//84 265//84 -f 279//84 280//84 264//84 -f 278//84 279//84 263//84 -f 261//84 277//84 278//84 -f 260//84 276//84 277//84 -f 259//84 275//84 276//84 -f 274//84 275//84 259//84 -f 300//84 294//84 292//84 -f 293//84 294//84 278//84 -f 278//84 294//84 295//84 -f 281//84 297//84 298//84 -f 282//84 298//84 299//84 -f 301//84 302//84 286//84 -f 302//84 303//84 287//84 -f 290//84 291//84 275//84 -f 305//84 290//84 274//84 -f 289//84 274//84 258//84 -f 273//105 258//105 242//105 -f 272//106 273//106 257//106 -f 255//107 271//107 272//107 -f 270//108 271//108 255//108 -f 272//84 288//84 289//84 -f 271//84 287//84 288//84 -f 286//84 287//84 271//84 -f 285//84 286//84 270//84 -f 268//84 284//84 285//84 -f 252//109 268//109 269//109 -f 269//110 270//110 254//110 -f 470//84 473//84 472//84 -f 474//111 469//111 475//111 -f 237//84 225//84 236//84 -f 235//84 236//84 225//84 -f 221//84 234//84 235//84 -f 239//84 240//84 224//84 -f 240//84 241//84 224//84 -f 241//84 226//84 213//84 -f 326//94 423//94 422//94 -f 324//91 421//91 420//91 -f 325//92 422//92 421//92 -f 184//111 319//111 318//111 -f 183//111 318//111 317//111 -f 182//111 317//111 316//111 -f 181//111 316//111 315//111 -f 179//111 180//111 315//111 -f 179//111 311//111 312//111 -f 178//111 312//111 313//111 -f 177//111 313//111 314//111 -f 307//111 184//111 190//111 -f 176//111 314//111 309//111 -f 327//111 323//111 322//111 -f 322//111 321//111 307//111 -f 320//111 307//111 321//111 -f 319//111 307//111 320//111 -f 327//111 309//111 324//111 -f 324//111 309//111 325//111 -f 325//111 309//111 326//111 -f 314//111 326//111 309//111 -f 337//111 338//111 354//111 -f 337//111 353//111 352//111 -f 335//111 336//111 352//111 -f 335//111 351//111 350//111 -f 334//111 350//111 349//111 -f 333//111 349//111 348//111 -f 331//111 332//111 348//111 -f 330//111 331//111 347//111 -f 330//111 346//111 345//111 -f 329//111 345//111 344//111 -f 368//111 372//111 364//111 -f 348//111 364//111 363//111 -f 348//111 349//111 365//111 -f 351//111 352//111 368//111 -f 352//111 353//111 369//111 -f 356//111 372//111 371//111 -f 357//111 373//111 372//111 -f 345//111 361//111 360//111 -f 344//111 360//111 375//111 -f 328//111 344//111 359//111 -f 342//111 343//111 359//111 -f 341//111 342//111 358//111 -f 341//111 357//111 356//111 -f 340//111 356//111 355//111 -f 338//111 339//111 355//111 -f 349//92 350//92 280//92 -f 350//94 351//94 281//94 -f 297//112 281//112 351//112 -f 297//63 367//63 366//63 -f 296//61 366//61 365//61 -f 295//113 365//113 349//113 -f 293//114 277//114 347//114 -f 293//71 363//71 362//71 -f 292//74 362//74 361//74 -f 291//115 361//115 345//115 -f 345//88 346//88 276//88 -f 346//89 347//89 277//89 -f 285//116 355//116 371//116 -f 301//89 371//89 370//89 -f 300//88 370//88 369//88 -f 369//117 353//117 283//117 -f 353//74 354//74 284//74 -f 354//71 355//71 285//71 -f 304//92 374//92 373//92 -f 373//118 357//118 287//118 -f 357//61 358//61 288//61 -f 358//63 359//63 289//63 -f 289//119 359//119 375//119 -f 305//94 375//94 374//94 -f 377//87 393//87 392//87 -f 378//88 394//88 393//88 -f 379//89 395//89 394//89 -f 380//90 396//90 395//90 -f 381//91 397//91 396//91 -f 382//92 398//92 397//92 -f 383//94 399//94 398//94 -f 384//93 400//93 399//93 -f 384//77 385//77 401//77 -f 386//74 402//74 401//74 -f 387//71 403//71 402//71 -f 388//68 404//68 403//68 -f 389//57 405//57 404//57 -f 390//61 406//61 405//61 -f 376//79 392//79 407//79 -f 391//63 407//63 406//63 -f 401//120 402//120 338//120 -f 338//121 402//121 403//121 -f 339//122 403//122 404//122 -f 340//123 404//123 405//123 -f 341//124 405//124 406//124 -f 406//125 407//125 343//125 -f 343//126 407//126 392//126 -f 392//127 393//127 329//127 -f 393//128 394//128 330//128 -f 394//129 395//129 331//129 -f 331//130 395//130 396//130 -f 396//131 397//131 333//131 -f 397//132 398//132 334//132 -f 398//133 399//133 335//133 -f 399//134 400//134 336//134 -f 400//135 401//135 337//135 -f 386//84 382//84 378//84 -f 314//93 411//93 423//93 -f 313//77 410//77 411//77 -f 312//74 409//74 410//74 -f 312//71 311//71 408//71 -f 311//68 315//68 412//68 -f 316//57 413//57 412//57 -f 317//61 414//61 413//61 -f 318//63 415//63 414//63 -f 319//79 416//79 415//79 -f 320//87 417//87 416//87 -f 321//88 418//88 417//88 -f 322//89 419//89 418//89 -f 323//90 420//90 419//90 -f 408//84 412//84 428//84 -f 413//84 429//84 428//84 -f 414//84 430//84 429//84 -f 440//136 449//136 450//136 -f 431//63 440//63 441//63 -f 415//84 431//84 430//84 -f 409//84 408//84 427//84 -f 410//84 409//84 426//84 -f 411//84 410//84 425//84 -f 434//137 437//137 447//137 -f 447//82 437//82 439//82 -f 448//138 435//138 433//138 -f 438//80 435//80 448//80 -f 416//84 432//84 431//84 -f 436//139 310//139 327//139 -f 308//80 307//80 145//80 -f 147//82 309//82 310//82 -f 430//61 441//61 442//61 -f 429//57 442//57 443//57 -f 428//68 443//68 444//68 -f 427//71 444//71 445//71 -f 426//74 445//74 446//74 -f 425//77 446//77 447//77 -f 432//79 448//79 440//79 -f 448//140 457//140 449//140 -f 446//141 455//141 456//141 -f 445//142 454//142 455//142 -f 445//143 444//143 453//143 -f 443//144 452//144 453//144 -f 443//145 442//145 451//145 -f 441//146 450//146 451//146 -f 433//55 435//55 437//55 -f 146//55 437//55 435//55 -f 432//84 308//84 438//84 -f 310//84 411//84 424//84 -f 421//84 310//84 436//84 -f 421//84 422//84 310//84 -f 422//84 423//84 310//84 -f 423//84 411//84 310//84 -f 436//84 308//84 419//84 -f 418//84 419//84 308//84 -f 417//84 418//84 308//84 -f 416//84 417//84 308//84 -f 458//139 463//139 462//139 -f 461//111 459//111 433//111 -f 433//111 459//111 458//111 -f 460//111 461//111 434//111 -f 456//111 457//111 458//111 -f 464//111 465//111 462//111 -f 460//82 462//82 465//82 -f 459//80 464//80 463//80 -f 461//55 465//55 464//55 -f 456//111 455//111 449//111 -f 455//111 454//111 450//111 -f 454//111 453//111 451//111 -f 452//111 451//111 453//111 -f 469//82 473//82 470//82 -f 475//139 470//139 471//139 -f 467//80 471//80 472//80 -f 474//55 472//55 473//55 -f 306//84 474//84 469//84 -f 306//84 225//84 468//84 -f 238//84 239//84 466//84 -f 238//84 475//84 467//84 -f 237//84 467//84 225//84 -f 225//84 467//84 468//84 -f 224//84 466//84 239//84 -f 224//84 469//84 466//84 -f 478//84 479//84 477//84 -f 483//147 487//147 486//147 -f 479//82 478//82 480//82 -f 477//80 482//80 481//80 -f 479//55 483//55 482//55 -f 476//139 481//139 480//139 -f 487//148 491//148 490//148 -f 481//149 485//149 484//149 -f 480//82 484//82 487//82 -f 481//80 482//80 486//80 -f 490//150 491//150 488//150 -f 485//151 489//151 488//151 -f 487//82 484//82 488//82 -f 486//80 490//80 489//80 -f 145//55 147//55 146//55 -f 153//56 154//56 162//56 -f 162//57 163//57 171//57 -f 171//58 172//58 180//58 -f 154//59 155//59 163//59 -f 172//60 173//60 181//60 -f 163//61 164//61 172//61 -f 173//62 174//62 182//62 -f 164//63 165//63 173//63 -f 164//64 155//64 165//64 -f 156//65 157//65 165//65 -f 183//66 174//66 184//66 -f 152//67 153//67 161//67 -f 161//68 162//68 170//68 -f 179//69 170//69 180//69 -f 169//70 170//70 178//70 -f 160//71 161//71 169//71 -f 160//72 151//72 161//72 -f 150//73 151//73 159//73 -f 159//74 160//74 168//74 -f 177//75 168//75 178//75 -f 167//76 168//76 176//76 -f 158//77 159//77 167//77 -f 158//78 149//78 159//78 -f 165//79 166//79 174//79 -f 187//55 188//55 185//55 -f 147//55 145//55 188//55 -f 190//55 188//55 145//55 -f 187//55 189//55 147//55 -f 175//80 166//80 188//80 -f 184//81 175//81 190//81 -f 167//82 187//82 158//82 -f 176//83 189//83 167//83 -f 149//84 191//84 150//84 -f 150//84 192//84 151//84 -f 152//84 151//84 194//84 -f 153//84 152//84 195//84 -f 153//84 195//84 154//84 -f 154//84 196//84 155//84 -f 155//84 197//84 156//84 -f 156//84 198//84 157//84 -f 201//84 191//84 203//84 -f 200//84 202//84 199//84 -f 149//85 158//85 203//85 -f 157//86 202//86 166//86 -f 306//55 224//55 222//55 -f 222//55 223//55 306//55 -f 211//79 212//79 198//79 -f 197//63 210//63 198//63 -f 196//61 209//61 197//61 -f 195//57 208//57 196//57 -f 194//68 207//68 195//68 -f 193//71 206//71 194//71 -f 192//74 205//74 193//74 -f 191//77 204//77 192//77 -f 205//78 204//78 214//78 -f 205//73 214//73 206//73 -f 207//72 206//72 216//72 -f 207//67 216//67 208//67 -f 209//56 208//56 218//56 -f 209//59 218//59 210//59 -f 211//64 210//64 220//64 -f 211//65 220//65 212//65 -f 203//55 185//55 201//55 -f 186//55 202//55 200//55 -f 200//55 201//55 185//55 -f 222//55 201//55 223//55 -f 201//82 222//82 191//82 -f 224//85 213//85 222//85 -f 200//80 199//80 223//80 -f 221//86 225//86 212//86 -f 220//84 233//84 221//84 -f 219//84 232//84 220//84 -f 218//84 231//84 219//84 -f 218//84 217//84 231//84 -f 216//84 229//84 217//84 -f 216//84 215//84 229//84 -f 214//84 227//84 215//84 -f 214//84 213//84 227//84 -f 226//77 242//77 227//77 -f 227//74 243//74 228//74 -f 228//71 244//71 229//71 -f 229//68 245//68 230//68 -f 230//57 246//57 231//57 -f 231//61 247//61 232//61 -f 232//63 248//63 233//63 -f 233//79 249//79 234//79 -f 235//87 234//87 251//87 -f 235//88 251//88 236//88 -f 236//89 252//89 237//89 -f 237//90 253//90 238//90 -f 238//91 254//91 239//91 -f 239//92 255//92 240//92 -f 241//93 257//93 226//93 -f 240//94 256//94 241//94 -f 242//95 258//95 243//95 -f 243//96 259//96 244//96 -f 245//97 244//97 261//97 -f 245//98 261//98 246//98 -f 247//99 246//99 263//99 -f 247//100 263//100 248//100 -f 248//101 264//101 249//101 -f 250//102 249//102 266//102 -f 251//103 250//103 267//103 -f 251//104 267//104 252//104 -f 268//84 267//84 284//84 -f 266//84 282//84 267//84 -f 266//84 265//84 282//84 -f 264//84 280//84 265//84 -f 263//84 279//84 264//84 -f 262//84 278//84 263//84 -f 262//84 261//84 278//84 -f 261//84 260//84 277//84 -f 260//84 259//84 276//84 -f 258//84 274//84 259//84 -f 292//84 291//84 304//84 -f 290//84 305//84 304//84 -f 304//84 303//84 302//84 -f 302//152 301//152 300//152 -f 300//84 299//84 296//84 -f 298//84 297//84 296//84 -f 296//84 295//84 294//84 -f 294//84 293//84 292//84 -f 291//84 290//84 304//84 -f 304//84 302//84 292//84 -f 299//84 298//84 296//84 -f 296//84 294//84 300//84 -f 292//84 302//84 300//84 -f 277//84 293//84 278//84 -f 279//84 278//84 295//84 -f 282//84 281//84 298//84 -f 283//84 282//84 299//84 -f 285//84 301//84 286//84 -f 286//84 302//84 287//84 -f 274//84 290//84 275//84 -f 289//84 305//84 274//84 -f 273//84 289//84 258//84 -f 257//105 273//105 242//105 -f 256//106 272//106 257//106 -f 256//107 255//107 272//107 -f 254//108 270//108 255//108 -f 273//84 272//84 289//84 -f 272//84 271//84 288//84 -f 270//84 286//84 271//84 -f 269//84 285//84 270//84 -f 269//84 268//84 285//84 -f 253//109 252//109 269//109 -f 253//110 269//110 254//110 -f 471//84 470//84 472//84 -f 475//111 467//111 468//111 -f 468//111 474//111 475//111 -f 469//111 466//111 475//111 -f 225//84 221//84 235//84 -f 224//84 241//84 213//84 -f 325//94 326//94 422//94 -f 323//91 324//91 420//91 -f 324//92 325//92 421//92 -f 183//111 184//111 318//111 -f 182//111 183//111 317//111 -f 181//111 182//111 316//111 -f 180//111 181//111 315//111 -f 311//111 179//111 315//111 -f 178//111 179//111 312//111 -f 177//111 178//111 313//111 -f 176//111 177//111 314//111 -f 190//111 145//111 307//111 -f 307//111 319//111 184//111 -f 309//111 147//111 189//111 -f 189//111 176//111 309//111 -f 307//111 327//111 322//111 -f 323//111 327//111 324//111 -f 353//111 337//111 354//111 -f 336//111 337//111 352//111 -f 351//111 335//111 352//111 -f 334//111 335//111 350//111 -f 333//111 334//111 349//111 -f 332//111 333//111 348//111 -f 347//111 331//111 348//111 -f 346//111 330//111 347//111 -f 329//111 330//111 345//111 -f 328//111 329//111 344//111 -f 360//111 361//111 364//111 -f 362//111 363//111 364//111 -f 364//111 365//111 366//111 -f 366//111 367//111 364//111 -f 368//111 369//111 372//111 -f 370//153 371//153 372//153 -f 372//111 373//111 360//111 -f 374//111 375//111 360//111 -f 361//111 362//111 364//111 -f 364//111 367//111 368//111 -f 369//111 370//111 372//111 -f 373//111 374//111 360//111 -f 360//111 364//111 372//111 -f 347//111 348//111 363//111 -f 364//111 348//111 365//111 -f 367//111 351//111 368//111 -f 368//111 352//111 369//111 -f 355//111 356//111 371//111 -f 356//111 357//111 372//111 -f 344//111 345//111 360//111 -f 359//111 344//111 375//111 -f 343//111 328//111 359//111 -f 358//111 342//111 359//111 -f 357//111 341//111 358//111 -f 340//111 341//111 356//111 -f 339//111 340//111 355//111 -f 354//111 338//111 355//111 -f 279//92 349//92 280//92 -f 280//94 350//94 281//94 -f 367//112 297//112 351//112 -f 296//63 297//63 366//63 -f 295//61 296//61 365//61 -f 279//113 295//113 349//113 -f 363//114 293//114 347//114 -f 292//71 293//71 362//71 -f 291//74 292//74 361//74 -f 275//115 291//115 345//115 -f 275//88 345//88 276//88 -f 276//89 346//89 277//89 -f 301//116 285//116 371//116 -f 300//89 301//89 370//89 -f 299//88 300//88 369//88 -f 299//117 369//117 283//117 -f 283//74 353//74 284//74 -f 284//71 354//71 285//71 -f 303//92 304//92 373//92 -f 303//118 373//118 287//118 -f 287//61 357//61 288//61 -f 288//63 358//63 289//63 -f 305//119 289//119 375//119 -f 304//94 305//94 374//94 -f 376//87 377//87 392//87 -f 377//88 378//88 393//88 -f 378//89 379//89 394//89 -f 379//90 380//90 395//90 -f 380//91 381//91 396//91 -f 381//92 382//92 397//92 -f 382//94 383//94 398//94 -f 383//93 384//93 399//93 -f 400//77 384//77 401//77 -f 385//74 386//74 401//74 -f 386//71 387//71 402//71 -f 387//68 388//68 403//68 -f 388//57 389//57 404//57 -f 389//61 390//61 405//61 -f 391//79 376//79 407//79 -f 390//63 391//63 406//63 -f 337//120 401//120 338//120 -f 339//121 338//121 403//121 -f 340//122 339//122 404//122 -f 341//123 340//123 405//123 -f 342//124 341//124 406//124 -f 342//125 406//125 343//125 -f 328//126 343//126 392//126 -f 328//127 392//127 329//127 -f 329//128 393//128 330//128 -f 330//129 394//129 331//129 -f 332//130 331//130 396//130 -f 332//131 396//131 333//131 -f 333//132 397//132 334//132 -f 334//133 398//133 335//133 -f 335//134 399//134 336//134 -f 336//135 400//135 337//135 -f 378//84 377//84 376//84 -f 376//84 391//84 390//84 -f 390//84 389//84 386//84 -f 388//84 387//84 386//84 -f 386//84 385//84 382//84 -f 384//84 383//84 382//84 -f 382//84 381//84 380//84 -f 380//84 379//84 378//84 -f 378//84 376//84 390//84 -f 389//84 388//84 386//84 -f 385//84 384//84 382//84 -f 382//84 380//84 378//84 -f 378//84 390//84 386//84 -f 326//93 314//93 423//93 -f 314//77 313//77 411//77 -f 313//74 312//74 410//74 -f 409//71 312//71 408//71 -f 408//68 311//68 412//68 -f 315//57 316//57 412//57 -f 316//61 317//61 413//61 -f 317//63 318//63 414//63 -f 318//79 319//79 415//79 -f 319//87 320//87 416//87 -f 320//88 321//88 417//88 -f 321//89 322//89 418//89 -f 322//90 323//90 419//90 -f 427//84 408//84 428//84 -f 412//84 413//84 428//84 -f 413//84 414//84 429//84 -f 441//136 440//136 450//136 -f 430//63 431//63 441//63 -f 414//84 415//84 430//84 -f 426//84 409//84 427//84 -f 425//84 410//84 426//84 -f 424//84 411//84 425//84 -f 456//137 434//137 447//137 -f 424//82 447//82 439//82 -f 457//138 448//138 433//138 -f 432//80 438//80 448//80 -f 415//84 416//84 431//84 -f 327//139 307//139 308//139 -f 308//139 436//139 327//139 -f 310//139 309//139 327//139 -f 146//80 308//80 145//80 -f 148//82 147//82 310//82 -f 429//61 430//61 442//61 -f 428//57 429//57 443//57 -f 427//68 428//68 444//68 -f 426//71 427//71 445//71 -f 425//74 426//74 446//74 -f 424//77 425//77 447//77 -f 431//79 432//79 440//79 -f 440//140 448//140 449//140 -f 447//141 446//141 456//141 -f 446//142 445//142 455//142 -f 454//143 445//143 453//143 -f 444//144 443//144 453//144 -f 452//145 443//145 451//145 -f 442//146 441//146 451//146 -f 434//55 433//55 437//55 -f 148//55 439//55 437//55 -f 435//55 438//55 146//55 -f 146//55 148//55 437//55 -f 146//84 438//84 308//84 -f 432//84 416//84 308//84 -f 424//84 439//84 310//84 -f 148//84 310//84 439//84 -f 420//84 421//84 436//84 -f 420//84 436//84 419//84 -f 460//139 458//139 462//139 -f 434//111 461//111 433//111 -f 457//111 433//111 458//111 -f 456//111 460//111 434//111 -f 460//111 456//111 458//111 -f 463//111 464//111 462//111 -f 461//82 460//82 465//82 -f 458//80 459//80 463//80 -f 459//55 461//55 464//55 -f 457//111 456//111 449//111 -f 449//111 455//111 450//111 -f 450//111 454//111 451//111 -f 466//82 469//82 470//82 -f 471//139 467//139 475//139 -f 475//139 466//139 470//139 -f 468//80 467//80 472//80 -f 473//55 469//55 474//55 -f 474//55 468//55 472//55 -f 224//84 306//84 469//84 -f 474//84 306//84 468//84 -f 475//84 238//84 466//84 -f 237//84 238//84 467//84 -f 476//84 478//84 477//84 -f 482//147 483//147 486//147 -f 483//82 479//82 480//82 -f 476//80 477//80 481//80 -f 477//55 479//55 482//55 -f 478//139 476//139 480//139 -f 486//148 487//148 490//148 -f 480//149 481//149 484//149 -f 483//82 480//82 487//82 -f 485//80 481//80 486//80 -f 489//150 490//150 488//150 -f 484//151 485//151 488//151 -f 491//82 487//82 488//82 -f 485//80 486//80 489//80 -l 412 429 diff --git a/src/main/resources/assets/hbm/models/generator_body.obj b/src/main/resources/assets/hbm/models/generator_body.obj deleted file mode 100644 index 3f47ebc74..000000000 --- a/src/main/resources/assets/hbm/models/generator_body.obj +++ /dev/null @@ -1,1844 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'generator_body.blend' -# www.blender.org -o Plane -v -1.500000 0.000000 0.750000 -v 2.250000 0.000000 0.750000 -v -1.500000 0.000000 -0.750000 -v 2.250000 0.000000 -0.750000 -v -2.250000 1.500000 -1.275000 -v -2.250000 1.987921 -1.177946 -v -2.250000 2.401561 -0.901561 -v -2.250000 2.677946 -0.487921 -v -2.250000 2.775000 0.000000 -v -2.250000 2.677946 0.487922 -v -2.250000 2.401561 0.901561 -v -2.250000 1.987921 1.177946 -v -2.250000 1.500000 1.275000 -v -2.000000 1.500000 -1.500000 -v -2.000000 2.074025 -1.385819 -v -2.000000 2.560660 -1.060660 -v -2.000000 2.885819 -0.574025 -v -2.000000 3.000000 0.000000 -v -2.000000 2.885819 0.574025 -v -2.000000 2.560660 1.060660 -v -2.000000 2.074025 1.385819 -v -2.000000 1.500000 1.500000 -v -1.750000 1.500000 -1.500000 -v -1.750000 2.074025 -1.385819 -v -1.750000 2.560660 -1.060660 -v -1.750000 2.885819 -0.574025 -v -1.750000 3.000000 0.000000 -v -1.750000 2.885819 0.574025 -v -1.750000 2.560660 1.060660 -v -1.750000 2.074025 1.385819 -v -1.750000 1.500000 1.500000 -v -1.500000 1.500000 -1.275000 -v -1.500000 1.987921 -1.177946 -v -1.500000 2.401561 -0.901561 -v -1.500000 2.677946 -0.487921 -v -1.500000 2.775000 0.000000 -v -1.500000 2.677946 0.487922 -v -1.500000 2.401561 0.901561 -v -1.500000 1.987921 1.177946 -v -1.500000 1.500000 1.275000 -v -2.000000 0.000000 -1.500000 -v -2.000000 0.000000 1.500000 -v -1.750000 0.000000 -1.500000 -v -1.750000 0.000000 1.500000 -v -1.500000 0.000000 -1.275000 -v -1.500000 0.000000 1.275000 -v -2.250000 1.500000 -0.750000 -v -2.250000 1.787013 -0.692910 -v -2.250000 2.030330 -0.530330 -v -2.250000 2.192910 -0.287013 -v -2.250000 2.250000 0.000000 -v -2.250000 2.192910 0.287013 -v -2.250000 2.030330 0.530330 -v -2.250000 1.787013 0.692910 -v -2.250000 1.500000 0.750000 -v -2.250000 0.000000 0.750000 -v -2.250000 -0.000000 -0.750000 -v -2.250000 0.000000 1.275000 -v -2.250000 0.000000 -1.275000 -v -2.500000 1.500000 -0.750000 -v -2.500000 1.787013 -0.692910 -v -2.500000 2.030330 -0.530330 -v -2.500000 2.192910 -0.287013 -v -2.500000 2.250000 0.000000 -v -2.500000 2.192910 0.287013 -v -2.500000 2.030330 0.530330 -v -2.500000 1.787013 0.692910 -v -2.500000 1.500000 0.750000 -v -2.750000 1.500000 -0.525000 -v -2.750000 1.700909 -0.485037 -v -2.750000 1.871231 -0.371231 -v -2.750000 1.985037 -0.200909 -v -2.750000 2.025000 0.000000 -v -2.750000 1.985037 0.200909 -v -2.750000 1.871231 0.371231 -v -2.750000 1.700909 0.485037 -v -2.750000 1.500000 0.525000 -v -2.500000 -0.000000 -0.750000 -v -2.500000 0.000000 0.750000 -v -2.750000 -0.000000 -0.525000 -v -2.750000 0.000000 0.525000 -v -2.750000 1.500000 -0.472500 -v -2.750000 1.680818 -0.436533 -v -2.750000 1.834108 -0.334108 -v -2.750000 1.936533 -0.180818 -v -2.750000 1.972500 0.000000 -v -2.750000 1.936533 0.180818 -v -2.750000 1.834108 0.334108 -v -2.750000 1.680818 0.436533 -v -2.750000 1.500000 0.472500 -v -2.750000 1.319182 0.436533 -v -2.750000 1.165892 0.334108 -v -2.750000 1.063467 0.180818 -v -2.750000 1.027500 -0.000000 -v -2.750000 1.063467 -0.180818 -v -2.750000 1.165892 -0.334108 -v -2.750000 1.319182 -0.436533 -v -2.875001 1.500000 -0.472500 -v -2.875001 1.680818 -0.436533 -v -2.875001 1.834108 -0.334108 -v -2.875001 1.936533 -0.180818 -v -2.875001 1.972500 0.000000 -v -2.875001 1.936533 0.180818 -v -2.875001 1.834108 0.334108 -v -2.875001 1.680818 0.436533 -v -2.875001 1.500000 0.472500 -v -2.875000 1.319182 0.436533 -v -2.875000 1.165892 0.334108 -v -2.875000 1.063467 0.180818 -v -2.875000 1.027500 -0.000000 -v -2.875000 1.063467 -0.180818 -v -2.875000 1.165892 -0.334108 -v -2.875000 1.319182 -0.436533 -v -3.000001 1.500000 -0.354375 -v -3.000001 1.635613 -0.327400 -v -3.000001 1.750581 -0.250581 -v -3.000001 1.827400 -0.135613 -v -3.000001 1.854375 0.000000 -v -3.000001 1.827400 0.135613 -v -3.000001 1.750581 0.250581 -v -3.000001 1.635613 0.327400 -v -3.000001 1.500000 0.354375 -v -3.000000 1.364387 0.327400 -v -3.000000 1.249419 0.250581 -v -3.000000 1.172600 0.135613 -v -3.000000 1.145625 -0.000000 -v -3.000000 1.172600 -0.135614 -v -3.000000 1.249419 -0.250581 -v -3.000000 1.364387 -0.327400 -v -3.000001 1.500000 -0.301219 -v -3.000001 1.615271 -0.278290 -v -3.000001 1.712994 -0.212994 -v -3.000001 1.778290 -0.115271 -v -3.000001 1.801219 0.000000 -v -3.000001 1.778290 0.115271 -v -3.000001 1.712994 0.212994 -v -3.000001 1.615271 0.278290 -v -3.000001 1.500000 0.301219 -v -3.000000 1.384729 0.278290 -v -3.000000 1.287006 0.212994 -v -3.000000 1.221710 0.115271 -v -3.000000 1.198781 -0.000000 -v -3.000000 1.221710 -0.115271 -v -3.000000 1.287006 -0.212994 -v -3.000000 1.384729 -0.278290 -v -3.000000 1.500000 -0.090366 -v -3.000000 1.534581 -0.083487 -v -3.000000 1.563898 -0.063898 -v -3.000000 1.583487 -0.034581 -v -3.000000 1.590366 0.000000 -v -3.000000 1.583487 0.034581 -v -3.000000 1.563898 0.063898 -v -3.000000 1.534581 0.083487 -v -3.000000 1.500000 0.090366 -v -3.000000 1.465419 0.083487 -v -3.000000 1.436102 0.063898 -v -3.000000 1.416513 0.034581 -v -3.000000 1.409634 -0.000000 -v -3.000000 1.416513 -0.034581 -v -3.000000 1.436102 -0.063898 -v -3.000000 1.465419 -0.083487 -v -2.750000 -0.000000 0.000000 -v -1.500000 0.500000 0.750000 -v 2.250000 0.500000 0.750000 -v -1.500000 0.500000 -0.750000 -v 2.250000 0.500000 -0.750000 -v -1.500000 2.192910 -0.287013 -v -1.500000 2.030330 -0.530330 -v -1.500000 1.787013 -0.692910 -v -1.500000 1.500000 -0.750000 -v -1.500000 2.250000 0.000000 -v -1.500000 2.192910 0.287013 -v -1.500000 2.030330 0.530330 -v -1.500000 1.787013 0.692910 -v -1.500000 1.500000 0.750000 -v -1.500000 1.212988 0.692910 -v -1.500000 0.969670 0.530330 -v -1.500000 0.807090 0.287013 -v -1.500000 0.750000 -0.000000 -v -1.500000 0.807090 -0.287013 -v -1.500000 0.969670 -0.530330 -v -1.500000 1.212988 -0.692910 -v -1.500000 0.500000 0.000000 -v -2.950001 1.500000 -0.354375 -v -2.950001 1.635613 -0.327400 -v -2.950001 1.750581 -0.250581 -v -2.950001 1.827400 -0.135613 -v -2.950001 1.854375 0.000000 -v -2.950001 1.827400 0.135613 -v -2.950001 1.750581 0.250581 -v -2.950001 1.635613 0.327400 -v -2.950001 1.500000 0.354375 -v -2.950000 1.364387 0.327400 -v -2.950000 1.249419 0.250581 -v -2.950000 1.172600 0.135613 -v -2.950000 1.145625 -0.000000 -v -2.950000 1.172600 -0.135614 -v -2.950000 1.249419 -0.250581 -v -2.950000 1.364387 -0.327400 -v -2.950001 1.500000 -0.301219 -v -2.950001 1.615271 -0.278290 -v -2.950001 1.712994 -0.212994 -v -2.950001 1.778290 -0.115271 -v -2.950001 1.801219 0.000000 -v -2.950001 1.778290 0.115271 -v -2.950001 1.712994 0.212994 -v -2.950001 1.615271 0.278290 -v -2.950001 1.500000 0.301219 -v -2.950000 1.384729 0.278290 -v -2.950000 1.287006 0.212994 -v -2.950000 1.221710 0.115271 -v -2.950000 1.198781 -0.000000 -v -2.950000 1.221710 -0.115271 -v -2.950000 1.287006 -0.212994 -v -2.950000 1.384729 -0.278290 -v -2.950000 1.500000 -0.090366 -v -2.950000 1.534581 -0.083487 -v -2.950000 1.563898 -0.063898 -v -2.950000 1.583487 -0.034581 -v -2.950000 1.590366 0.000000 -v -2.950000 1.583487 0.034581 -v -2.950000 1.563898 0.063898 -v -2.950000 1.534581 0.083487 -v -2.950000 1.500000 0.090366 -v -2.950000 1.465419 0.083487 -v -2.950000 1.436102 0.063898 -v -2.950000 1.416513 0.034581 -v -2.950000 1.409634 -0.000000 -v -2.950000 1.416513 -0.034581 -v -2.950000 1.436102 -0.063898 -v -2.950000 1.465419 -0.083487 -v -2.550001 1.500000 -0.472500 -v -2.550001 1.680818 -0.436533 -v -2.550001 1.834108 -0.334108 -v -2.550001 1.936533 -0.180818 -v -2.550001 1.972500 0.000000 -v -2.550001 1.936533 0.180818 -v -2.550001 1.834108 0.334108 -v -2.550001 1.680818 0.436533 -v -2.550001 1.500000 0.472500 -v -2.550000 1.319182 0.436533 -v -2.550000 1.165892 0.334108 -v -2.550000 1.063467 0.180818 -v -2.550000 1.027500 -0.000000 -v -2.550000 1.063467 -0.180818 -v -2.550000 1.165892 -0.334108 -v -2.550000 1.319182 -0.436533 -v -2.675001 1.500000 -0.472500 -v -2.675001 1.680818 -0.436533 -v -2.675001 1.834108 -0.334108 -v -2.675001 1.936533 -0.180818 -v -2.675001 1.972500 0.000000 -v -2.675001 1.936533 0.180818 -v -2.675001 1.834108 0.334108 -v -2.675001 1.680818 0.436533 -v -2.675001 1.500000 0.472500 -v -2.675000 1.319182 0.436533 -v -2.675000 1.165892 0.334108 -v -2.675000 1.063467 0.180818 -v -2.675000 1.027500 -0.000000 -v -2.675000 1.063467 -0.180818 -v -2.675000 1.165892 -0.334108 -v -2.675000 1.319182 -0.436533 -v 2.250000 2.192910 -0.287013 -v 2.250000 2.030330 -0.530330 -v 2.250000 1.787013 -0.692910 -v 2.250000 1.500000 -0.750000 -v 2.250000 2.250000 0.000000 -v 2.250000 2.192910 0.287013 -v 2.250000 2.030330 0.530330 -v 2.250000 1.787013 0.692910 -v 2.250000 1.500000 0.750000 -v 2.250000 1.212988 0.692910 -v 2.250000 0.969670 0.530330 -v 2.250000 0.807090 0.287013 -v 2.250000 0.750000 -0.000000 -v 2.250000 0.807090 -0.287013 -v 2.250000 0.969670 -0.530330 -v 2.250000 1.212988 -0.692910 -v 2.250000 1.500000 -1.000000 -v 2.250000 1.882683 -0.923880 -v 2.250000 2.207107 -0.707107 -v 2.250000 2.423880 -0.382683 -v 2.250000 2.500000 0.000000 -v 2.250000 2.423880 0.382684 -v 2.250000 2.207107 0.707107 -v 2.250000 1.882683 0.923880 -v 2.250000 1.500000 1.000000 -v 2.750000 0.000000 0.800000 -v 2.750000 -0.000000 -0.800000 -v 2.500000 0.000000 1.000000 -v 2.250000 0.500000 -0.000000 -v 2.500000 -0.000000 -1.000000 -v 2.250000 0.000000 1.000000 -v 2.250000 -0.000000 -1.000000 -v 2.500000 1.882683 0.923880 -v 2.500000 2.207107 0.707107 -v 2.500000 2.423880 0.382684 -v 2.500000 2.500000 0.000000 -v 2.500000 2.423880 -0.382683 -v 2.500000 2.207107 -0.707107 -v 2.500000 1.882683 -0.923880 -v 2.500000 1.500000 -1.000000 -v 2.500000 1.500000 1.000000 -v 2.750000 1.806147 0.739104 -v 2.750000 2.065685 0.565686 -v 2.750000 2.239104 0.306147 -v 2.750000 2.300000 0.000000 -v 2.750000 2.239104 -0.306147 -v 2.750000 2.065685 -0.565686 -v 2.750000 1.806147 -0.739104 -v 2.750000 1.500000 -0.800000 -v 2.750000 1.500000 0.800000 -v 2.750000 0.656250 0.156250 -v 2.750000 0.343750 0.156250 -v 2.750000 0.656250 -0.156250 -v 2.750000 0.343750 -0.156250 -v 3.000000 0.656250 -0.156250 -v 3.000000 0.656250 0.156250 -v 3.000000 0.343750 0.156250 -v 3.000000 0.343750 -0.156250 -v -2.750000 0.656250 -0.156250 -v -2.750000 0.656250 0.156250 -v -2.750000 0.343750 0.156250 -v -2.750000 0.343750 -0.156250 -v -3.000000 0.656250 -0.156250 -v -3.000000 0.656250 0.156250 -v -3.000000 0.343750 0.156250 -v -3.000000 0.343750 -0.156250 -v -2.750000 0.343750 0.000000 -v -2.750000 0.656250 0.000000 -v -1.750000 2.900000 0.150000 -v -1.750000 2.800000 0.150000 -v -1.750000 2.900000 -0.150000 -v -1.750000 2.800000 -0.150000 -v 0.250000 2.900002 -0.150000 -v 0.250000 2.900002 0.150000 -v 0.250000 2.800002 0.150000 -v 0.250000 2.800002 -0.150000 -v 0.362941 2.898298 -0.150000 -v 0.362941 2.898298 0.150000 -v 0.337059 2.801706 0.150000 -v 0.337059 2.801706 -0.150000 -v 2.294793 2.380663 -0.150000 -v 2.294793 2.380663 0.150000 -v 2.268912 2.284071 0.150000 -v 2.268912 2.284071 -0.150000 -vt 0.107106 0.786032 -vt 0.240683 0.786032 -vt 0.240683 0.999756 -vt 0.265014 0.120502 -vt 0.252794 0.097238 -vt 0.332713 0.085314 -vt 0.251510 0.088631 -vt 0.331429 0.076708 -vt 0.256407 0.062813 -vt 0.324339 0.052678 -vt 0.204379 0.150422 -vt 0.181563 0.132483 -vt 0.249315 0.098529 -vt 0.177664 0.124704 -vt 0.176949 0.095689 -vt 0.234538 0.066828 -vt 0.245416 0.090750 -vt 0.126525 0.180371 -vt 0.113265 0.151765 -vt 0.151745 0.108572 -vt 0.133023 0.186160 -vt 0.171796 0.129556 -vt 0.201444 0.152849 -vt 0.162964 0.196041 -vt 0.147355 0.251125 -vt 0.114844 0.250811 -vt 0.130741 0.190871 -vt 0.122330 0.188641 -vt 0.106433 0.248581 -vt 0.078040 0.232742 -vt 0.335979 0.110367 -vt 0.336211 0.085314 -vt 0.416131 0.097236 -vt 0.337495 0.076708 -vt 0.417415 0.088629 -vt 0.344585 0.052677 -vt 0.423509 0.090748 -vt 0.434386 0.066826 -vt 0.491976 0.095685 -vt 0.419610 0.098527 -vt 0.491262 0.124700 -vt 0.464548 0.150419 -vt 0.406958 0.121560 -vt 0.467482 0.152846 -vt 0.490633 0.135341 -vt 0.535905 0.186155 -vt 0.497130 0.129553 -vt 0.542402 0.180367 -vt 0.517181 0.108568 -vt 0.546598 0.188636 -vt 0.577376 0.181788 -vt 0.590889 0.232737 -vt 0.538187 0.190867 -vt 0.562496 0.248575 -vt 0.521574 0.251121 -vt 0.508061 0.200172 -vt 0.125475 0.448925 -vt 0.125628 0.436403 -vt 0.726680 0.443735 -vt 0.726528 0.456256 -vt 0.622108 0.464958 -vt 0.114551 0.253670 -vt 0.114553 0.410300 -vt 0.105851 0.410300 -vt 0.105849 0.253670 -vt 0.073339 0.410300 -vt 0.563082 0.410296 -vt 0.554380 0.410296 -vt 0.554379 0.253665 -vt 0.595594 0.410296 -vt 0.563081 0.253665 -vt 0.448480 0.251122 -vt 0.440531 0.221152 -vt 0.438433 0.217017 -vt 0.415797 0.191610 -vt 0.412863 0.189184 -vt 0.378987 0.172208 -vt 0.403911 0.120501 -vt 0.375940 0.171149 -vt 0.335980 0.165188 -vt 0.332947 0.165188 -vt 0.292987 0.171150 -vt 0.289940 0.172209 -vt 0.256064 0.189186 -vt 0.253130 0.191612 -vt 0.230495 0.217020 -vt 0.228397 0.221154 -vt 0.220449 0.251124 -vt 0.448772 0.253667 -vt 0.521867 0.253666 -vt 0.521868 0.410296 -vt 0.147065 0.410299 -vt 0.147063 0.253670 -vt 0.220157 0.253669 -vt 0.230047 0.419000 -vt 0.261372 0.410298 -vt 0.334465 0.410298 -vt 0.228860 0.253355 -vt 0.259627 0.197400 -vt 0.236992 0.222808 -vt 0.293839 0.179988 -vt 0.259963 0.196965 -vt 0.334231 0.173794 -vt 0.294271 0.179756 -vt 0.374656 0.179755 -vt 0.334696 0.173794 -vt 0.408965 0.196963 -vt 0.375088 0.179987 -vt 0.431936 0.222806 -vt 0.409300 0.197399 -vt 0.440069 0.253352 -vt 0.432120 0.223383 -vt 0.407558 0.253667 -vt 0.401994 0.232688 -vt 0.386149 0.214903 -vt 0.362436 0.203020 -vt 0.334464 0.198847 -vt 0.306492 0.203021 -vt 0.282779 0.214904 -vt 0.266934 0.232690 -vt 0.261370 0.253669 -vt 0.230047 0.427701 -vt 0.438886 0.427701 -vt 0.440072 0.410297 -vt 0.440071 0.253667 -vt 0.228858 0.253669 -vt 0.228860 0.410298 -vt 0.273687 0.234787 -vt 0.268680 0.253669 -vt 0.287947 0.218781 -vt 0.309289 0.208085 -vt 0.334464 0.204329 -vt 0.359639 0.208085 -vt 0.380981 0.218780 -vt 0.395241 0.234786 -vt 0.400249 0.253667 -vt 0.965603 0.625779 -vt 0.960103 0.606448 -vt 0.964409 0.605223 -vt 0.959867 0.606256 -vt 0.945081 0.590174 -vt 0.948345 0.587174 -vt 0.944980 0.589994 -vt 0.923060 0.579326 -vt 0.925004 0.575331 -vt 0.922804 0.579111 -vt 0.896898 0.575715 -vt 0.897478 0.571287 -vt 0.896488 0.575832 -vt 0.870984 0.580465 -vt 0.870192 0.576106 -vt 0.871090 0.580765 -vt 0.850045 0.591809 -vt 0.848032 0.587973 -vt 0.849978 0.591726 -vt 0.835679 0.607766 -vt 0.832423 0.604864 -vt 0.835229 0.607808 -vt 0.829943 0.627172 -vt 0.825630 0.625994 -vt 0.825429 0.628600 -vt 0.829795 0.627476 -vt 0.834839 0.647077 -vt 0.834938 0.647388 -vt 0.849615 0.664055 -vt 0.846232 0.667034 -vt 0.849734 0.664419 -vt 0.872020 0.675593 -vt 0.869983 0.679655 -vt 0.872510 0.675844 -vt 0.898867 0.679208 -vt 0.898292 0.683713 -vt 0.899298 0.679063 -vt 0.925166 0.674243 -vt 0.925990 0.678665 -vt 0.925214 0.673872 -vt 0.946421 0.662289 -vt 0.948532 0.666154 -vt 0.960796 0.645551 -vt 0.965571 0.626072 -vt 0.969910 0.627135 -vt 0.946463 0.662208 -vt 0.960493 0.645679 -vt 0.963848 0.648526 -vt 0.948105 0.626247 -vt 0.943981 0.611749 -vt 0.932892 0.599688 -vt 0.916452 0.591687 -vt 0.897022 0.589141 -vt 0.877895 0.592616 -vt 0.862111 0.600899 -vt 0.851386 0.612929 -vt 0.847422 0.627452 -vt 0.851204 0.642151 -vt 0.862212 0.654652 -vt 0.858299 0.639996 -vt 0.867650 0.650574 -vt 0.855059 0.627491 -vt 0.858342 0.615056 -vt 0.867387 0.604764 -vt 0.880854 0.597722 -vt 0.897158 0.594813 -vt 0.913639 0.596980 -vt 0.927613 0.603769 -vt 0.937009 0.614023 -vt 0.940498 0.626390 -vt 0.889360 0.632986 -vt 0.897657 0.617177 -vt 0.905903 0.621353 -vt 0.902579 0.617848 -vt 0.892663 0.618010 -vt 0.886759 0.623772 -vt 0.885496 0.627482 -vt 0.886126 0.631282 -vt 0.893142 0.636769 -vt 0.898030 0.637438 -vt 0.898536 0.659790 -vt 0.902977 0.636637 -vt 0.915036 0.656788 -vt 0.910146 0.626912 -vt 0.909305 0.623177 -vt 0.909104 0.630632 -vt 0.937495 0.638875 -vt 0.944524 0.640856 -vt 0.934001 0.653253 -vt 0.918096 0.661940 -vt 0.898694 0.665555 -vt 0.928589 0.649439 -vt 0.881820 0.657654 -vt 0.878927 0.663032 -vt 0.778702 0.706144 -vt 0.778685 0.739538 -vt 0.734159 0.739516 -vt 0.749430 0.369489 -vt 0.771693 0.369489 -vt 0.749430 0.402883 -vt 0.309290 0.299251 -vt 0.287948 0.288556 -vt 0.273687 0.272549 -vt 0.359639 0.299250 -vt 0.380981 0.288555 -vt 0.407560 0.410298 -vt 0.395242 0.272548 -vt 0.673123 0.920616 -vt 0.673123 0.787039 -vt 0.707946 0.787039 -vt 0.746724 0.920616 -vt 0.746724 0.787039 -vt 0.788071 0.787039 -vt 0.707946 0.920616 -vt 0.014553 0.196520 -vt 0.022501 0.166550 -vt 0.084658 0.087096 -vt 0.107293 0.061688 -vt 0.176831 0.031082 -vt 0.210707 0.014105 -vt 0.268378 0.006206 -vt 0.308338 0.000244 -vt 0.412517 0.062811 -vt 0.360585 0.000244 -vt 0.458216 0.014102 -vt 0.492093 0.031079 -vt 0.561631 0.061683 -vt 0.584267 0.087090 -vt 0.646426 0.166542 -vt 0.654375 0.196512 -vt 0.000245 0.358091 -vt 0.073337 0.253671 -vt 0.595593 0.253665 -vt 0.668687 0.253664 -vt 0.668688 0.358085 -vt 0.107106 0.625740 -vt 0.080390 0.625740 -vt 0.074289 0.584845 -vt 0.056916 0.550177 -vt 0.107106 0.518878 -vt 0.030914 0.527012 -vt 0.000244 0.518878 -vt 0.107106 0.732601 -vt 0.074289 0.666634 -vt 0.056916 0.701302 -vt 0.030914 0.724467 -vt 0.000244 0.732601 -vt 0.853352 0.497651 -vt 0.864275 0.484795 -vt 0.869830 0.488836 -vt 0.860592 0.499657 -vt 0.857705 0.512298 -vt 0.855021 0.526663 -vt 0.849973 0.512727 -vt 0.861567 0.524383 -vt 0.870383 0.534246 -vt 0.865300 0.537877 -vt 0.883417 0.541474 -vt 0.880358 0.546532 -vt 0.899743 0.544474 -vt 0.919170 0.547631 -vt 0.899586 0.550185 -vt 0.935720 0.539536 -vt 0.916333 0.542300 -vt 0.930392 0.535438 -vt 0.939825 0.525083 -vt 0.946855 0.527350 -vt 0.943294 0.512618 -vt 0.888052 0.511776 -vt 0.900543 0.501703 -vt 0.900262 0.522013 -vt 0.905196 0.521335 -vt 0.895258 0.521183 -vt 0.888653 0.507966 -vt 0.900871 0.479229 -vt 0.895640 0.502411 -vt 0.917515 0.482138 -vt 0.905516 0.502473 -vt 0.911931 0.515964 -vt 0.912760 0.512207 -vt 0.911697 0.508473 -vt 0.950956 0.512733 -vt 0.940219 0.500059 -vt 0.936634 0.485595 -vt 0.947289 0.498034 -vt 0.920566 0.476928 -vt 0.931202 0.489463 -vt 0.900985 0.473414 -vt 0.884037 0.481528 -vt 0.881061 0.476130 -vt 0.800954 0.759909 -vt 0.816528 0.759909 -vt 0.816528 0.761690 -vt 0.725254 0.759909 -vt 0.739240 0.759909 -vt 0.739240 0.761690 -vt 0.768305 0.761690 -vt 0.768305 0.759909 -vt 0.772501 0.759909 -vt 0.772501 0.761690 -vt 0.777173 0.759909 -vt 0.777173 0.761690 -vt 0.764609 0.763959 -vt 0.740828 0.763959 -vt 0.740828 0.762177 -vt 0.764609 0.762177 -vt 0.769281 0.762177 -vt 0.769281 0.763959 -vt 0.773477 0.762177 -vt 0.773477 0.763959 -vt 0.802542 0.762177 -vt 0.816528 0.762177 -vt 0.816528 0.763959 -vt 0.725254 0.762178 -vt 0.800954 0.755373 -vt 0.800954 0.757154 -vt 0.777173 0.757154 -vt 0.777173 0.755373 -vt 0.772501 0.757154 -vt 0.772501 0.755373 -vt 0.768305 0.757154 -vt 0.739241 0.757154 -vt 0.739241 0.755373 -vt 0.725254 0.757154 -vt 0.725254 0.755373 -vt 0.816528 0.757154 -vt 0.769283 0.757641 -vt 0.769283 0.759422 -vt 0.764610 0.759422 -vt 0.740829 0.759422 -vt 0.740829 0.757641 -vt 0.725254 0.759422 -vt 0.725254 0.757641 -vt 0.816528 0.759422 -vt 0.802542 0.759422 -vt 0.802542 0.757641 -vt 0.773479 0.759422 -vt 0.773479 0.757641 -vt 0.969525 0.534430 -vt 0.965184 0.533211 -vt 0.970652 0.513720 -vt 0.953023 0.553646 -vt 0.949726 0.550633 -vt 0.964573 0.534386 -vt 0.928920 0.566345 -vt 0.926953 0.562323 -vt 0.949020 0.551531 -vt 0.900377 0.570800 -vt 0.899795 0.566337 -vt 0.925906 0.562930 -vt 0.871981 0.565663 -vt 0.872814 0.561281 -vt 0.898451 0.566153 -vt 0.849917 0.550610 -vt 0.852548 0.547470 -vt 0.871309 0.560143 -vt 0.835928 0.535895 -vt 0.839331 0.533378 -vt 0.826429 0.518945 -vt 0.830420 0.516763 -vt 0.825429 0.511783 -vt 0.829933 0.491682 -vt 0.834411 0.492685 -vt 0.846082 0.471022 -vt 0.849561 0.473978 -vt 0.834997 0.491120 -vt 0.870651 0.457162 -vt 0.872756 0.461241 -vt 0.850375 0.472794 -vt 0.900059 0.452430 -vt 0.900678 0.456971 -vt 0.874112 0.460593 -vt 0.928881 0.457397 -vt 0.928080 0.461860 -vt 0.901973 0.457174 -vt 0.952382 0.470337 -vt 0.950276 0.474242 -vt 0.928851 0.462686 -vt 0.974994 0.511230 -vt 0.970629 0.512319 -vt 0.965740 0.492720 -vt 0.968449 0.488737 -vt 0.965083 0.491621 -vt 0.950877 0.475036 -vt 0.829906 0.512786 -vt 0.732876 0.064083 -vt 0.764868 0.000244 -vt 0.849987 0.042900 -vt 0.641392 0.920616 -vt 0.641392 0.787039 -vt 0.609660 0.920616 -vt 0.609660 0.787039 -vt 0.574837 0.920616 -vt 0.574837 0.787039 -vt 0.536059 0.920616 -vt 0.536059 0.787039 -vt 0.494712 0.920616 -vt 0.494712 0.787039 -vt 0.453365 0.920616 -vt 0.453365 0.787039 -vt 0.414587 0.920616 -vt 0.414587 0.787039 -vt 0.379763 0.920616 -vt 0.379763 0.787039 -vt 0.348032 0.920616 -vt 0.348032 0.787039 -vt 0.903020 0.920616 -vt 0.903020 0.787039 -vt 0.934751 0.787039 -vt 0.868196 0.920616 -vt 0.868196 0.787039 -vt 0.829418 0.920616 -vt 0.829418 0.787039 -vt 0.788071 0.920616 -vt 0.586671 0.780451 -vt 0.545777 0.786551 -vt 0.537979 0.760999 -vt 0.486129 0.780451 -vt 0.480295 0.752865 -vt 0.534820 0.760999 -vt 0.430843 0.760074 -vt 0.430900 0.728590 -vt 0.477125 0.751755 -vt 0.403618 0.685464 -vt 0.431090 0.676266 -vt 0.455799 0.704000 -vt 0.396969 0.691388 -vt 0.434505 0.720133 -vt 0.383029 0.722903 -vt 0.427856 0.726056 -vt 0.641957 0.760074 -vt 0.607288 0.777448 -vt 0.595675 0.751755 -vt 0.689771 0.722903 -vt 0.666606 0.748904 -vt 0.644944 0.726056 -vt 0.719786 0.663845 -vt 0.711651 0.694516 -vt 0.678001 0.687087 -vt 0.650386 0.483257 -vt 0.680241 0.483257 -vt 0.680241 0.643550 -vt 0.689146 0.483257 -vt 0.392558 0.643550 -vt 0.392558 0.483257 -vt 0.422413 0.483257 -vt 0.383653 0.483257 -vt 0.353014 0.663846 -vt 0.383953 0.646193 -vt 0.394798 0.687087 -vt 0.240683 0.625740 -vt 0.240683 0.732601 -vt 0.240683 0.518878 -vt 0.107106 0.465447 -vt 0.434890 0.720629 -vt 0.481114 0.743793 -vt 0.481609 0.744057 -vt 0.536134 0.752191 -vt 0.536665 0.752191 -vt 0.591191 0.744057 -vt 0.591685 0.743793 -vt 0.637910 0.720628 -vt 0.638295 0.720132 -vt 0.669181 0.685464 -vt 0.669393 0.684804 -vt 0.680239 0.643910 -vt 0.392560 0.643910 -vt 0.403406 0.684804 -vt 0.422414 0.643550 -vt 0.641709 0.676265 -vt 0.650386 0.643550 -vt 0.617000 0.704000 -vt 0.580020 0.722532 -vt 0.536400 0.729040 -vt 0.492779 0.722532 -vt 0.393917 0.474352 -vt 0.678881 0.474352 -vt 0.429538 0.465447 -vt 0.383653 0.643550 -vt 0.348032 0.536688 -vt 0.724767 0.536688 -vt 0.724767 0.643550 -vt 0.689147 0.643550 -vt 0.273499 0.666634 -vt 0.290873 0.701302 -vt 0.316874 0.724467 -vt 0.347545 0.732602 -vt 0.273499 0.584845 -vt 0.290873 0.550177 -vt 0.316874 0.527012 -vt 0.347545 0.518878 -vt 0.736073 0.369002 -vt 0.736073 0.360097 -vt 0.780598 0.360097 -vt 0.558663 0.519991 -vt 0.514137 0.519991 -vt 0.514137 0.553385 -vt 0.558663 0.553385 -vt 0.736073 0.326702 -vt 0.780598 0.326702 -vt 0.789504 0.360097 -vt 0.727167 0.326702 -vt 0.780598 0.317797 -vt 0.787590 0.739542 -vt 0.756443 0.697228 -vt 0.734176 0.706122 -vt 0.725271 0.706118 -vt 0.756418 0.748432 -vt 0.334465 0.374403 -vt 0.356220 0.374403 -vt 0.312711 0.374404 -vt 0.334465 0.303006 -vt 0.356219 0.341772 -vt 0.334465 0.341772 -vt 0.312711 0.341772 -vt 0.778642 0.754886 -vt 0.778460 0.751785 -vt 0.821131 0.749279 -vt 0.727167 0.274565 -vt 0.727167 0.263879 -vt 0.798409 0.263879 -vt 0.727167 0.210448 -vt 0.798409 0.210448 -vt 0.798409 0.221134 -vt 0.798409 0.274565 -vt 0.798409 0.317310 -vt 0.727167 0.221134 -vt 0.732916 0.167216 -vt 0.821206 0.167216 -vt 0.821206 0.209961 -vt 0.725254 0.752953 -vt 0.725436 0.748930 -vt 0.768137 0.750863 -vt 0.767955 0.754886 -vt 0.727167 0.414046 -vt 0.727650 0.403371 -vt 0.730740 0.403693 -vt 0.727167 0.115849 -vt 0.815458 0.115849 -vt 0.815458 0.158593 -vt 0.727167 0.158593 -vt 0.732916 0.107226 -vt 0.821206 0.107226 -vt 0.107106 0.999756 -vt 0.332946 0.110367 -vt 0.261968 0.121562 -vt 0.178293 0.135345 -vt 0.160867 0.200176 -vt 0.091552 0.181794 -vt 0.487363 0.132480 -vt 0.505963 0.196037 -vt 0.555661 0.151760 -vt 0.554085 0.250806 -vt 0.413270 0.464959 -vt 0.170402 0.461997 -vt 0.695202 0.464958 -vt 0.448774 0.410297 -vt 0.220159 0.410299 -vt 0.438886 0.418999 -vt 0.236808 0.223385 -vt 0.681753 0.430663 -vt 0.156954 0.427702 -vt 0.969910 0.624554 -vt 0.963131 0.603255 -vt 0.946924 0.585999 -vt 0.923384 0.574682 -vt 0.895696 0.571472 -vt 0.869077 0.576930 -vt 0.846723 0.588824 -vt 0.830916 0.606630 -vt 0.830473 0.648201 -vt 0.831556 0.650366 -vt 0.847697 0.668481 -vt 0.871935 0.680349 -vt 0.900121 0.683485 -vt 0.927325 0.677737 -vt 0.965134 0.646614 -vt 0.949818 0.665055 -vt 0.906481 0.632421 -vt 0.889651 0.621829 -vt 0.727167 0.402883 -vt 0.727167 0.369489 -vt 0.771693 0.402883 -vt 0.400545 0.006204 -vt 0.000245 0.410301 -vt 0.000244 0.253672 -vt 0.668689 0.410295 -vt 0.908519 0.517808 -vt 0.892229 0.517372 -vt 0.889334 0.515445 -vt 0.891872 0.506240 -vt 0.909053 0.506688 -vt 0.800954 0.761690 -vt 0.725254 0.761690 -vt 0.802542 0.763959 -vt 0.725254 0.763959 -vt 0.768305 0.755373 -vt 0.816528 0.755373 -vt 0.764610 0.757641 -vt 0.816528 0.757641 -vt 0.974994 0.514938 -vt 0.967870 0.537399 -vt 0.950987 0.555552 -vt 0.926489 0.567393 -vt 0.897619 0.570535 -vt 0.868940 0.563610 -vt 0.831518 0.488164 -vt 0.848269 0.468715 -vt 0.873493 0.456052 -vt 0.902774 0.452711 -vt 0.930957 0.458781 -vt 0.970105 0.491631 -vt 0.954243 0.472153 -vt 0.855695 0.064083 -vt 0.851619 0.083654 -vt 0.838381 0.098632 -vt 0.817995 0.106739 -vt 0.793564 0.106739 -vt 0.768809 0.098632 -vt 0.747498 0.083654 -vt 0.727167 0.042900 -vt 0.731243 0.023329 -vt 0.744481 0.008350 -vt 0.789298 0.000244 -vt 0.814053 0.008350 -vt 0.835364 0.023329 -vt 0.934751 0.920616 -vt 0.592505 0.752865 -vt 0.527023 0.786552 -vt 0.465511 0.777448 -vt 0.406194 0.748904 -vt 0.641900 0.728590 -vt 0.675830 0.691388 -vt 0.688847 0.646193 -vt 0.361148 0.694516 -vt 0.240683 0.465447 -vt 0.643261 0.465447 -vt 0.678881 0.465447 -vt 0.393917 0.465447 -vt 0.348032 0.483257 -vt 0.348032 0.643550 -vt 0.724767 0.483257 -vt 0.267398 0.625740 -vt 0.780598 0.369002 -vt 0.789504 0.326702 -vt 0.727167 0.360097 -vt 0.736073 0.317797 -vt 0.787607 0.706148 -vt 0.734180 0.697217 -vt 0.778706 0.697239 -vt 0.725254 0.739512 -vt 0.778681 0.748443 -vt 0.734155 0.748421 -vt 0.821313 0.752380 -vt 0.727167 0.317310 -vt 0.732916 0.209961 -vt 0.731195 0.414046 -vn 0.000000 -1.000000 0.000000 -vn -0.661800 0.735300 0.146300 -vn 0.000000 0.980800 0.195100 -vn 0.661800 0.735300 0.146300 -vn -0.661800 0.623400 0.416500 -vn 0.661800 0.623400 0.416500 -vn 0.000000 0.831500 0.555600 -vn 0.661800 0.416500 0.623400 -vn 0.000000 0.555600 0.831500 -vn -0.661800 0.416500 0.623400 -vn -0.661800 0.146300 0.735300 -vn 0.661800 0.146300 0.735300 -vn -0.661800 0.735300 -0.146300 -vn 0.000000 0.980800 -0.195100 -vn 0.661800 0.735300 -0.146300 -vn 0.661800 0.623400 -0.416500 -vn 0.000000 0.831500 -0.555600 -vn -0.661800 0.623400 -0.416500 -vn -0.661800 0.416500 -0.623400 -vn 0.000000 0.555600 -0.831500 -vn 0.661800 0.416500 -0.623400 -vn 0.661800 0.146300 -0.735300 -vn 0.000000 0.195100 -0.980800 -vn -0.661800 0.146300 -0.735300 -vn 0.000000 0.195100 0.980800 -vn 0.000000 0.000000 1.000000 -vn 0.669000 0.000000 0.743300 -vn 0.000000 0.000000 -1.000000 -vn 0.669000 0.000000 -0.743300 -vn -1.000000 0.000000 -0.000000 -vn -0.669000 0.000000 -0.743300 -vn -0.669000 0.000000 0.743300 -vn 0.000000 -0.195100 0.980800 -vn 0.000000 -0.555600 0.831500 -vn 0.000000 -0.831500 0.555600 -vn 0.000000 -0.980800 0.195100 -vn 0.000000 -0.980800 -0.195100 -vn 0.000000 -0.831500 -0.555600 -vn 0.000000 -0.195100 -0.980800 -vn 0.000000 -0.555600 -0.831500 -vn -0.679800 0.143100 -0.719300 -vn -0.679800 0.407500 -0.609800 -vn -0.679800 0.609800 -0.407500 -vn -0.679800 0.719300 -0.143100 -vn -0.679800 0.719300 0.143100 -vn -0.679800 0.609800 0.407500 -vn -0.679800 0.407500 0.609800 -vn -0.679800 0.143100 0.719300 -vn -0.679800 -0.143100 0.719300 -vn -0.679800 -0.407500 0.609800 -vn -0.679800 -0.143100 -0.719300 -vn -0.679800 -0.407500 -0.609800 -vn -0.679800 -0.609800 -0.407500 -vn -0.679800 -0.719300 -0.143100 -vn -0.679800 -0.609800 0.407500 -vn -0.679800 -0.719300 0.143100 -vn 1.000000 0.000000 0.000000 -vn 0.000000 0.923900 -0.382700 -vn 0.000000 -0.382700 0.923900 -vn 0.000000 -0.382700 -0.923900 -vn 0.000000 0.923900 0.382700 -vn 0.000000 0.382700 0.923900 -vn 0.000000 -0.923900 -0.382700 -vn 0.000000 0.382700 -0.923900 -vn 0.000000 -0.923900 0.382700 -vn 0.388200 0.512000 -0.766200 -vn 0.388200 0.766200 -0.512000 -vn 0.388200 0.903800 -0.179800 -vn 0.388200 0.903800 0.179800 -vn 0.388200 0.766200 0.512000 -vn 0.388200 0.512000 0.766200 -vn 0.388200 0.179800 0.903800 -vn 0.388200 -0.179800 0.903800 -vn 0.388200 -0.512000 0.766200 -vn 0.388200 -0.766200 0.512000 -vn 0.388200 -0.903800 0.179800 -vn 0.388200 -0.903800 -0.179800 -vn 0.388200 -0.766200 -0.512000 -vn 0.388200 -0.512000 -0.766200 -vn 0.388200 -0.179800 -0.903800 -vn 0.388200 0.179800 -0.903800 -vn 0.617300 0.437100 0.654100 -vn 0.624700 0.000000 -0.780900 -vn 0.624700 0.000000 0.780900 -vn 0.000000 1.000000 0.000000 -vn 0.617300 0.153500 0.771600 -vn 0.617300 0.153500 -0.771600 -vn 0.617300 0.437100 -0.654100 -vn 0.617300 0.654100 -0.437100 -vn 0.617300 0.771600 -0.153500 -vn 0.617300 0.771600 0.153500 -vn 0.617300 0.654100 0.437100 -vn 0.019600 -0.999800 0.000000 -vn -0.258800 -0.965900 0.000000 -vn 0.015100 0.999900 0.000000 -vn 0.258800 0.965900 0.000000 -vn -1.000000 -0.000100 0.000000 -vn 1.000000 0.000100 0.000000 -s off -f 3/1/1 4/2/1 2/3/1 -f 10/4/2 19/5/2 18/6/2 -f 19/5/3 28/7/3 27/8/3 -f 28/7/4 37/9/4 36/10/4 -f 11/11/5 20/12/5 19/13/5 -f 29/14/6 38/15/6 37/16/6 -f 20/12/7 29/14/7 28/17/7 -f 30/18/8 39/19/8 38/20/8 -f 21/21/9 30/18/9 29/22/9 -f 11/23/10 12/24/10 21/21/10 -f 13/25/11 22/26/11 21/27/11 -f 30/28/12 31/29/12 40/30/12 -f 9/31/13 18/32/13 17/33/13 -f 18/32/14 27/34/14 26/35/14 -f 26/35/15 27/34/15 36/36/15 -f 26/37/16 35/38/16 34/39/16 -f 17/40/17 26/37/17 25/41/17 -f 7/42/18 8/43/18 17/40/18 -f 7/44/19 16/45/19 15/46/19 -f 16/45/20 25/47/20 24/48/20 -f 24/48/21 25/47/21 34/49/21 -f 24/50/22 33/51/22 32/52/22 -f 15/53/23 24/50/23 23/54/23 -f 5/55/24 6/56/24 15/53/24 -f 22/26/25 31/29/25 30/28/25 -f 44/57/1 42/58/1 41/59/1 -f 44/57/1 43/60/1 3/61/1 -f 22/62/26 42/63/26 44/64/26 -f 31/65/27 44/64/27 46/66/27 -f 43/67/28 41/68/28 14/69/28 -f 45/70/29 43/67/29 23/71/29 -f 47/72/30 48/73/30 6/56/30 -f 48/74/30 49/75/30 7/44/30 -f 7/42/30 49/76/30 50/77/30 -f 8/78/30 50/79/30 51/80/30 -f 51/81/30 52/82/30 10/4/30 -f 52/83/30 53/84/30 11/11/30 -f 53/85/30 54/86/30 12/24/30 -f 54/87/30 55/88/30 13/25/30 -f 47/89/30 5/90/30 59/91/30 -f 58/92/30 13/93/30 55/94/30 -f 14/69/31 41/68/31 59/91/31 -f 58/92/32 42/63/32 22/62/32 -f 79/95/1 81/96/1 162/97/1 -f 68/98/25 55/88/25 54/87/25 -f 66/99/9 67/100/9 54/86/9 -f 65/101/7 66/102/7 53/84/7 -f 64/103/3 65/104/3 52/82/3 -f 63/105/14 64/106/14 51/80/14 -f 62/107/17 63/108/17 50/77/17 -f 61/109/20 62/110/20 49/75/20 -f 60/111/23 61/112/23 48/73/23 -f 60/111/24 69/113/24 70/114/24 -f 70/114/19 71/115/19 62/110/19 -f 62/107/18 71/115/18 72/116/18 -f 72/116/13 73/117/13 64/106/13 -f 64/103/2 73/117/2 74/118/2 -f 74/118/5 75/119/5 66/102/5 -f 66/99/10 75/119/10 76/120/10 -f 76/120/11 77/121/11 68/98/11 -f 42/58/1 56/122/1 41/59/1 -f 57/123/1 56/122/1 79/95/1 -f 78/124/28 60/125/28 47/89/28 -f 69/113/31 60/125/31 78/124/31 -f 55/94/26 68/126/26 79/127/26 -f 81/96/32 79/127/32 68/126/32 -f 89/128/30 90/129/30 77/121/30 -f 88/130/30 89/128/30 76/120/30 -f 87/131/30 88/130/30 75/119/30 -f 73/117/30 86/132/30 87/131/30 -f 85/133/30 86/132/30 73/117/30 -f 71/115/30 84/134/30 85/133/30 -f 83/135/30 84/134/30 71/115/30 -f 69/113/30 82/136/30 83/135/30 -f 98/137/23 99/138/23 83/139/23 -f 99/140/20 100/141/20 84/142/20 -f 100/143/17 101/144/17 85/145/17 -f 101/146/14 102/147/14 86/148/14 -f 102/149/3 103/150/3 87/151/3 -f 103/152/7 104/153/7 88/154/7 -f 104/155/9 105/156/9 89/157/9 -f 105/158/25 106/159/25 90/160/25 -f 90/161/33 106/162/33 107/163/33 -f 107/164/34 108/165/34 92/166/34 -f 108/167/35 109/168/35 93/169/35 -f 109/170/36 110/171/36 94/172/36 -f 110/173/37 111/174/37 95/175/37 -f 111/176/38 112/177/38 96/178/38 -f 113/179/39 98/180/39 82/181/39 -f 112/182/40 113/183/40 97/184/40 -f 114/185/41 115/186/41 99/138/41 -f 115/186/42 116/187/42 100/141/42 -f 100/143/43 116/187/43 117/188/43 -f 117/188/44 118/189/44 102/147/44 -f 102/149/45 118/189/45 119/190/45 -f 119/190/46 120/191/46 104/153/46 -f 120/191/47 121/192/47 105/156/47 -f 105/158/48 121/192/48 122/193/48 -f 106/162/49 122/193/49 123/194/49 -f 123/194/50 124/195/50 108/165/50 -f 123/194/30 139/196/30 140/197/30 -f 138/198/30 139/196/30 123/194/30 -f 121/192/30 137/199/30 138/198/30 -f 136/200/30 137/199/30 121/192/30 -f 135/201/30 136/200/30 120/191/30 -f 134/202/30 135/201/30 119/190/30 -f 117/188/30 133/203/30 134/202/30 -f 116/187/30 132/204/30 133/203/30 -f 115/186/30 131/205/30 132/204/30 -f 130/206/30 131/205/30 115/186/30 -f 156/207/30 150/208/30 148/209/30 -f 149/210/30 150/208/30 134/202/30 -f 134/202/30 150/208/30 151/211/30 -f 137/199/30 153/212/30 154/213/30 -f 138/198/30 154/213/30 155/214/30 -f 157/215/30 158/216/30 142/217/30 -f 158/216/30 159/218/30 143/219/30 -f 146/220/30 147/221/30 131/205/30 -f 161/222/30 146/220/30 130/206/30 -f 145/223/30 130/206/30 114/185/30 -f 129/224/51 114/185/51 98/180/51 -f 128/225/52 129/224/52 113/183/52 -f 111/176/53 127/226/53 128/225/53 -f 126/227/54 127/226/54 111/174/54 -f 128/225/30 144/228/30 145/223/30 -f 127/226/30 143/219/30 144/228/30 -f 142/217/30 143/219/30 127/226/30 -f 141/229/30 142/217/30 126/227/30 -f 124/195/30 140/197/30 141/229/30 -f 108/167/55 124/195/55 125/230/55 -f 125/230/56 126/227/56 110/171/56 -f 326/231/30 329/232/30 328/233/30 -f 330/234/57 325/235/57 331/236/57 -f 93/237/30 81/96/30 92/238/30 -f 91/239/30 92/238/30 81/96/30 -f 77/121/30 90/129/30 91/239/30 -f 95/240/30 96/241/30 80/242/30 -f 96/241/30 97/243/30 80/242/30 -f 97/243/30 82/136/30 69/113/30 -f 182/244/40 279/245/40 278/246/40 -f 180/247/37 277/248/37 276/249/37 -f 181/250/38 278/246/38 277/248/38 -f 40/30/57 175/251/57 174/252/57 -f 39/19/57 174/253/57 173/254/57 -f 38/15/57 173/255/57 172/256/57 -f 37/9/57 172/257/57 171/258/57 -f 35/259/57 36/36/57 171/260/57 -f 35/38/57 167/261/57 168/262/57 -f 34/49/57 168/263/57 169/264/57 -f 33/51/57 169/265/57 170/266/57 -f 163/267/57 40/268/57 46/66/57 -f 32/269/57 170/270/57 165/271/57 -f 183/272/57 179/273/57 178/274/57 -f 178/274/57 177/275/57 163/276/57 -f 176/277/57 163/276/57 177/275/57 -f 175/278/57 163/276/57 176/277/57 -f 183/272/57 165/279/57 180/280/57 -f 180/280/57 165/279/57 181/281/57 -f 181/281/57 165/279/57 182/282/57 -f 170/283/57 182/282/57 165/279/57 -f 193/284/57 194/285/57 210/286/57 -f 193/284/57 209/287/57 208/288/57 -f 191/289/57 192/290/57 208/288/57 -f 191/289/57 207/291/57 206/292/57 -f 190/293/57 206/292/57 205/294/57 -f 189/295/57 205/294/57 204/296/57 -f 187/297/57 188/298/57 204/296/57 -f 186/299/57 187/297/57 203/300/57 -f 186/299/57 202/301/57 201/302/57 -f 185/303/57 201/302/57 200/304/57 -f 224/305/57 228/306/57 220/307/57 -f 204/296/57 220/307/57 219/308/57 -f 204/296/57 205/294/57 221/309/57 -f 207/291/57 208/288/57 224/305/57 -f 208/288/57 209/287/57 225/310/57 -f 212/311/57 228/306/57 227/312/57 -f 213/313/57 229/314/57 228/306/57 -f 201/302/57 217/315/57 216/316/57 -f 200/304/57 216/316/57 231/317/57 -f 184/318/57 200/304/57 215/319/57 -f 198/320/57 199/321/57 215/319/57 -f 197/322/57 198/320/57 214/323/57 -f 197/322/57 213/313/57 212/311/57 -f 196/324/57 212/311/57 211/325/57 -f 194/285/57 195/326/57 211/325/57 -f 205/327/38 206/328/38 136/329/38 -f 206/330/40 207/331/40 137/332/40 -f 153/333/58 137/332/58 207/331/58 -f 153/333/9 223/334/9 222/335/9 -f 152/336/7 222/335/7 221/337/7 -f 151/338/59 221/337/59 205/327/59 -f 149/339/60 133/340/60 203/341/60 -f 149/339/17 219/342/17 218/343/17 -f 148/344/20 218/343/20 217/345/20 -f 147/346/61 217/345/61 201/347/61 -f 201/347/34 202/348/34 132/349/34 -f 202/350/35 203/341/35 133/340/35 -f 141/351/62 211/352/62 227/353/62 -f 157/354/35 227/353/35 226/355/35 -f 156/356/34 226/355/34 225/357/34 -f 225/357/63 209/358/63 139/359/63 -f 209/358/20 210/360/20 140/361/20 -f 210/362/17 211/352/17 141/351/17 -f 160/363/38 230/364/38 229/365/38 -f 229/365/64 213/366/64 143/367/64 -f 213/366/7 214/368/7 144/369/7 -f 214/370/9 215/371/9 145/372/9 -f 145/372/65 215/371/65 231/373/65 -f 161/374/40 231/373/40 230/364/40 -f 233/375/33 249/376/33 248/377/33 -f 234/378/34 250/379/34 249/380/34 -f 235/381/35 251/382/35 250/383/35 -f 236/384/36 252/385/36 251/386/36 -f 237/387/37 253/388/37 252/389/37 -f 238/390/38 254/391/38 253/392/38 -f 239/393/40 255/394/40 254/391/40 -f 240/395/39 256/396/39 255/394/39 -f 240/397/23 241/398/23 257/399/23 -f 242/400/20 258/401/20 257/402/20 -f 243/403/17 259/404/17 258/405/17 -f 244/406/14 260/407/14 259/408/14 -f 245/409/3 261/410/3 260/411/3 -f 246/412/7 262/413/7 261/414/7 -f 232/415/25 248/416/25 263/417/25 -f 247/418/9 263/419/9 262/420/9 -f 257/402/66 258/401/66 194/285/66 -f 194/285/67 258/405/67 259/404/67 -f 195/326/68 259/408/68 260/407/68 -f 196/324/69 260/411/69 261/410/69 -f 197/322/70 261/414/70 262/413/70 -f 262/420/71 263/419/71 199/321/71 -f 199/321/72 263/417/72 248/416/72 -f 248/377/73 249/376/73 185/303/73 -f 249/380/74 250/379/74 186/299/74 -f 250/383/75 251/382/75 187/297/75 -f 187/297/76 251/386/76 252/385/76 -f 252/389/77 253/388/77 189/295/77 -f 253/392/78 254/391/78 190/293/78 -f 254/391/79 255/394/79 191/289/79 -f 255/394/80 256/396/80 192/290/80 -f 256/421/81 257/399/81 193/284/81 -f 242/422/30 238/423/30 234/424/30 -f 170/425/39 267/426/39 279/245/39 -f 169/427/23 266/428/23 267/426/23 -f 168/429/20 265/430/20 266/428/20 -f 168/429/17 167/431/17 264/432/17 -f 167/431/14 171/433/14 268/434/14 -f 172/435/3 269/436/3 268/434/3 -f 173/437/7 270/438/7 269/436/7 -f 174/439/9 271/440/9 270/438/9 -f 175/441/25 272/442/25 271/440/25 -f 176/443/33 273/444/33 272/445/33 -f 177/446/34 274/447/34 273/444/34 -f 178/448/35 275/449/35 274/447/35 -f 179/450/36 276/249/36 275/449/36 -f 264/451/30 268/452/30 284/453/30 -f 269/454/30 285/455/30 284/456/30 -f 270/457/30 286/458/30 285/459/30 -f 296/460/82 305/461/82 306/462/82 -f 287/463/9 296/460/9 297/464/9 -f 271/465/30 287/463/30 286/466/30 -f 265/467/30 264/468/30 283/469/30 -f 266/470/30 265/471/30 282/472/30 -f 267/473/30 266/474/30 281/475/30 -f 290/476/83 293/477/83 303/478/83 -f 303/478/28 293/477/28 295/479/28 -f 304/480/84 291/481/84 289/482/84 -f 294/483/26 291/481/26 304/480/26 -f 272/484/30 288/485/30 287/486/30 -f 292/487/85 166/488/85 183/272/85 -f 164/489/26 163/276/26 1/490/26 -f 3/1/28 165/279/28 166/488/28 -f 286/458/7 297/491/7 298/492/7 -f 285/455/3 298/493/3 299/494/3 -f 284/453/14 299/495/14 300/496/14 -f 283/469/17 300/497/17 301/498/17 -f 282/472/20 301/499/20 302/500/20 -f 281/475/23 302/501/23 303/502/23 -f 288/485/25 304/503/25 296/504/25 -f 304/503/86 313/505/86 305/461/86 -f 302/501/87 311/506/87 312/507/87 -f 301/499/88 310/508/88 311/506/88 -f 301/498/89 300/497/89 309/509/89 -f 299/495/90 308/510/90 309/509/90 -f 299/494/91 298/493/91 307/511/91 -f 297/491/92 306/462/92 307/511/92 -f 289/482/1 291/512/1 293/513/1 -f 2/514/1 293/513/1 291/512/1 -f 288/515/30 164/516/30 294/483/30 -f 166/517/30 267/518/30 280/519/30 -f 277/520/30 166/488/30 292/487/30 -f 277/520/30 278/521/30 166/488/30 -f 278/521/30 279/522/30 166/488/30 -f 279/522/30 267/523/30 166/488/30 -f 292/487/30 164/489/30 275/524/30 -f 274/525/30 275/524/30 164/489/30 -f 273/526/30 274/525/30 164/489/30 -f 272/527/30 273/526/30 164/489/30 -f 314/528/85 319/529/85 318/530/85 -f 317/531/57 315/532/57 289/482/57 -f 289/482/57 315/532/57 314/533/57 -f 316/534/57 317/531/57 290/476/57 -f 312/507/57 313/505/57 314/533/57 -f 320/535/57 321/536/57 318/530/57 -f 316/537/28 318/530/28 321/536/28 -f 315/538/26 320/535/26 319/529/26 -f 317/539/1 321/536/1 320/535/1 -f 312/507/57 311/506/57 305/461/57 -f 311/506/57 310/508/57 306/462/57 -f 310/508/57 309/509/57 307/511/57 -f 308/510/57 307/511/57 309/509/57 -f 325/540/28 329/232/28 326/231/28 -f 331/541/85 326/231/85 327/542/85 -f 323/543/26 327/542/26 328/233/26 -f 330/544/1 328/233/1 329/232/1 -f 162/97/30 330/545/30 325/546/30 -f 162/97/30 81/96/30 324/547/30 -f 94/548/30 95/240/30 322/549/30 -f 94/548/30 331/550/30 323/551/30 -f 93/237/30 323/551/30 81/96/30 -f 81/96/30 323/551/30 324/547/30 -f 80/242/30 322/549/30 95/240/30 -f 80/242/30 325/546/30 322/549/30 -f 339/552/93 343/553/93 342/554/93 -f 335/555/28 334/556/28 336/557/28 -f 333/558/26 338/559/26 337/560/26 -f 335/555/1 339/561/1 338/562/1 -f 332/563/85 337/560/85 336/557/85 -f 343/564/94 347/565/94 346/566/94 -f 337/567/95 341/568/95 340/569/95 -f 336/570/28 340/569/28 343/553/28 -f 337/571/26 338/572/26 342/573/26 -f 341/574/96 345/575/96 344/576/96 -f 343/564/28 340/577/28 344/576/28 -f 342/578/26 346/579/26 345/575/26 -f 1/580/1 3/1/1 2/3/1 -f 9/581/2 10/4/2 18/6/2 -f 18/6/3 19/5/3 27/8/3 -f 27/8/4 28/7/4 36/10/4 -f 10/582/5 11/11/5 19/13/5 -f 28/17/6 29/14/6 37/16/6 -f 19/13/7 20/12/7 28/17/7 -f 29/22/8 30/18/8 38/20/8 -f 20/583/9 21/21/9 29/22/9 -f 20/583/10 11/23/10 21/21/10 -f 12/584/11 13/25/11 21/27/11 -f 39/585/12 30/28/12 40/30/12 -f 8/78/13 9/31/13 17/33/13 -f 17/33/14 18/32/14 26/35/14 -f 35/259/15 26/35/15 36/36/15 -f 25/41/16 26/37/16 34/39/16 -f 16/586/17 17/40/17 25/41/17 -f 16/586/18 7/42/18 17/40/18 -f 6/587/19 7/44/19 15/46/19 -f 15/46/20 16/45/20 24/48/20 -f 33/588/21 24/48/21 34/49/21 -f 23/54/22 24/50/22 32/52/22 -f 14/589/23 15/53/23 23/54/23 -f 14/589/24 5/55/24 15/53/24 -f 21/27/25 22/26/25 30/28/25 -f 43/60/1 44/57/1 41/59/1 -f 3/61/1 1/590/1 44/57/1 -f 46/591/1 44/57/1 1/590/1 -f 43/60/1 45/592/1 3/61/1 -f 31/65/26 22/62/26 44/64/26 -f 40/268/27 31/65/27 46/66/27 -f 23/71/28 43/67/28 14/69/28 -f 32/269/29 45/70/29 23/71/29 -f 5/55/30 47/72/30 6/56/30 -f 6/587/30 48/74/30 7/44/30 -f 8/43/30 7/42/30 50/77/30 -f 9/31/30 8/78/30 51/80/30 -f 9/581/30 51/81/30 10/4/30 -f 10/582/30 52/83/30 11/11/30 -f 11/23/30 53/85/30 12/24/30 -f 12/584/30 54/87/30 13/25/30 -f 57/593/30 47/89/30 59/91/30 -f 56/594/30 58/92/30 55/94/30 -f 5/90/31 14/69/31 59/91/31 -f 13/93/32 58/92/32 22/62/32 -f 162/97/1 80/242/1 78/595/1 -f 78/595/1 79/95/1 162/97/1 -f 67/596/25 68/98/25 54/87/25 -f 53/85/9 66/99/9 54/86/9 -f 52/83/7 65/101/7 53/84/7 -f 51/81/3 64/103/3 52/82/3 -f 50/79/14 63/105/14 51/80/14 -f 49/76/17 62/107/17 50/77/17 -f 48/74/20 61/109/20 49/75/20 -f 47/72/23 60/111/23 48/73/23 -f 61/112/24 60/111/24 70/114/24 -f 61/109/19 70/114/19 62/110/19 -f 63/108/18 62/107/18 72/116/18 -f 63/105/13 72/116/13 64/106/13 -f 65/104/2 64/103/2 74/118/2 -f 65/101/5 74/118/5 66/102/5 -f 67/100/10 66/99/10 76/120/10 -f 67/596/11 76/120/11 68/98/11 -f 59/597/1 41/59/1 57/123/1 -f 42/58/1 58/598/1 56/122/1 -f 56/122/1 57/123/1 41/59/1 -f 78/595/1 57/123/1 79/95/1 -f 57/593/28 78/124/28 47/89/28 -f 80/242/31 69/113/31 78/124/31 -f 56/594/26 55/94/26 79/127/26 -f 77/121/32 81/96/32 68/126/32 -f 76/120/30 89/128/30 77/121/30 -f 75/119/30 88/130/30 76/120/30 -f 74/118/30 87/131/30 75/119/30 -f 74/118/30 73/117/30 87/131/30 -f 72/116/30 85/133/30 73/117/30 -f 72/116/30 71/115/30 85/133/30 -f 70/114/30 83/135/30 71/115/30 -f 70/114/30 69/113/30 83/135/30 -f 82/599/23 98/137/23 83/139/23 -f 83/600/20 99/140/20 84/142/20 -f 84/601/17 100/143/17 85/145/17 -f 85/602/14 101/146/14 86/148/14 -f 86/603/3 102/149/3 87/151/3 -f 87/604/7 103/152/7 88/154/7 -f 88/605/9 104/155/9 89/157/9 -f 89/606/25 105/158/25 90/160/25 -f 91/607/33 90/161/33 107/163/33 -f 91/608/34 107/164/34 92/166/34 -f 92/609/35 108/167/35 93/169/35 -f 93/610/36 109/170/36 94/172/36 -f 94/611/37 110/173/37 95/175/37 -f 95/612/38 111/176/38 96/178/38 -f 97/613/39 113/179/39 82/181/39 -f 96/614/40 112/182/40 97/184/40 -f 98/137/41 114/185/41 99/138/41 -f 99/140/42 115/186/42 100/141/42 -f 101/144/43 100/143/43 117/188/43 -f 101/146/44 117/188/44 102/147/44 -f 103/150/45 102/149/45 119/190/45 -f 103/152/46 119/190/46 104/153/46 -f 104/155/47 120/191/47 105/156/47 -f 106/159/48 105/158/48 122/193/48 -f 107/163/49 106/162/49 123/194/49 -f 107/164/50 123/194/50 108/165/50 -f 124/195/30 123/194/30 140/197/30 -f 122/193/30 138/198/30 123/194/30 -f 122/193/30 121/192/30 138/198/30 -f 120/191/30 136/200/30 121/192/30 -f 119/190/30 135/201/30 120/191/30 -f 118/189/30 134/202/30 119/190/30 -f 118/189/30 117/188/30 134/202/30 -f 117/188/30 116/187/30 133/203/30 -f 116/187/30 115/186/30 132/204/30 -f 114/185/30 130/206/30 115/186/30 -f 148/209/30 147/221/30 160/615/30 -f 146/220/30 161/222/30 160/615/30 -f 160/615/30 159/218/30 158/216/30 -f 158/216/97 157/215/97 156/207/97 -f 156/207/30 155/214/30 152/616/30 -f 154/213/30 153/212/30 152/616/30 -f 152/616/30 151/211/30 150/208/30 -f 150/208/30 149/210/30 148/209/30 -f 147/221/30 146/220/30 160/615/30 -f 160/615/30 158/216/30 148/209/30 -f 155/214/30 154/213/30 152/616/30 -f 152/616/30 150/208/30 156/207/30 -f 148/209/30 158/216/30 156/207/30 -f 133/203/30 149/210/30 134/202/30 -f 135/201/30 134/202/30 151/211/30 -f 138/198/30 137/199/30 154/213/30 -f 139/196/30 138/198/30 155/214/30 -f 141/229/30 157/215/30 142/217/30 -f 142/217/30 158/216/30 143/219/30 -f 130/206/30 146/220/30 131/205/30 -f 145/223/30 161/222/30 130/206/30 -f 129/224/30 145/223/30 114/185/30 -f 113/179/51 129/224/51 98/180/51 -f 112/182/52 128/225/52 113/183/52 -f 112/177/53 111/176/53 128/225/53 -f 110/173/54 126/227/54 111/174/54 -f 129/224/30 128/225/30 145/223/30 -f 128/225/30 127/226/30 144/228/30 -f 126/227/30 142/217/30 127/226/30 -f 125/230/30 141/229/30 126/227/30 -f 125/230/30 124/195/30 141/229/30 -f 109/168/55 108/167/55 125/230/55 -f 109/170/56 125/230/56 110/171/56 -f 327/542/30 326/231/30 328/233/30 -f 331/236/57 323/617/57 324/618/57 -f 324/618/57 330/234/57 331/236/57 -f 325/235/57 322/619/57 331/236/57 -f 81/96/30 77/121/30 91/239/30 -f 80/242/30 97/243/30 69/113/30 -f 181/250/40 182/244/40 278/246/40 -f 179/450/37 180/247/37 276/249/37 -f 180/247/38 181/250/38 277/248/38 -f 39/585/57 40/30/57 174/252/57 -f 38/20/57 39/19/57 173/254/57 -f 37/16/57 38/15/57 172/256/57 -f 36/10/57 37/9/57 171/258/57 -f 167/620/57 35/259/57 171/260/57 -f 34/39/57 35/38/57 168/262/57 -f 33/588/57 34/49/57 169/264/57 -f 32/52/57 33/51/57 170/266/57 -f 46/66/57 1/621/57 163/267/57 -f 163/267/57 175/622/57 40/268/57 -f 165/271/57 3/623/57 45/70/57 -f 45/70/57 32/269/57 165/271/57 -f 163/276/57 183/272/57 178/274/57 -f 179/273/57 183/272/57 180/280/57 -f 209/287/57 193/284/57 210/286/57 -f 192/290/57 193/284/57 208/288/57 -f 207/291/57 191/289/57 208/288/57 -f 190/293/57 191/289/57 206/292/57 -f 189/295/57 190/293/57 205/294/57 -f 188/298/57 189/295/57 204/296/57 -f 203/300/57 187/297/57 204/296/57 -f 202/301/57 186/299/57 203/300/57 -f 185/303/57 186/299/57 201/302/57 -f 184/318/57 185/303/57 200/304/57 -f 216/316/57 217/315/57 220/307/57 -f 218/624/57 219/308/57 220/307/57 -f 220/307/57 221/309/57 222/625/57 -f 222/625/57 223/626/57 220/307/57 -f 224/305/57 225/310/57 228/306/57 -f 226/627/98 227/312/98 228/306/98 -f 228/306/57 229/314/57 216/316/57 -f 230/628/57 231/317/57 216/316/57 -f 217/315/57 218/624/57 220/307/57 -f 220/307/57 223/626/57 224/305/57 -f 225/310/57 226/627/57 228/306/57 -f 229/314/57 230/628/57 216/316/57 -f 216/316/57 220/307/57 228/306/57 -f 203/300/57 204/296/57 219/308/57 -f 220/307/57 204/296/57 221/309/57 -f 223/626/57 207/291/57 224/305/57 -f 224/305/57 208/288/57 225/310/57 -f 211/325/57 212/311/57 227/312/57 -f 212/311/57 213/313/57 228/306/57 -f 200/304/57 201/302/57 216/316/57 -f 215/319/57 200/304/57 231/317/57 -f 199/321/57 184/318/57 215/319/57 -f 214/323/57 198/320/57 215/319/57 -f 213/313/57 197/322/57 214/323/57 -f 196/324/57 197/322/57 212/311/57 -f 195/326/57 196/324/57 211/325/57 -f 210/286/57 194/285/57 211/325/57 -f 135/629/38 205/327/38 136/329/38 -f 136/630/40 206/330/40 137/332/40 -f 223/334/58 153/333/58 207/331/58 -f 152/336/9 153/333/9 222/335/9 -f 151/338/7 152/336/7 221/337/7 -f 135/629/59 151/338/59 205/327/59 -f 219/342/60 149/339/60 203/341/60 -f 148/344/17 149/339/17 218/343/17 -f 147/346/20 148/344/20 217/345/20 -f 131/631/61 147/346/61 201/347/61 -f 131/631/34 201/347/34 132/349/34 -f 132/632/35 202/350/35 133/340/35 -f 157/354/62 141/351/62 227/353/62 -f 156/356/35 157/354/35 226/355/35 -f 155/633/34 156/356/34 225/357/34 -f 155/633/63 225/357/63 139/359/63 -f 139/359/20 209/358/20 140/361/20 -f 140/634/17 210/362/17 141/351/17 -f 159/635/38 160/363/38 229/365/38 -f 159/635/64 229/365/64 143/367/64 -f 143/367/7 213/366/7 144/369/7 -f 144/636/9 214/370/9 145/372/9 -f 161/374/65 145/372/65 231/373/65 -f 160/363/40 161/374/40 230/364/40 -f 232/637/33 233/375/33 248/377/33 -f 233/638/34 234/378/34 249/380/34 -f 234/639/35 235/381/35 250/383/35 -f 235/640/36 236/384/36 251/386/36 -f 236/641/37 237/387/37 252/389/37 -f 237/642/38 238/390/38 253/392/38 -f 238/390/40 239/393/40 254/391/40 -f 239/393/39 240/395/39 255/394/39 -f 256/421/23 240/397/23 257/399/23 -f 241/643/20 242/400/20 257/402/20 -f 242/644/17 243/403/17 258/405/17 -f 243/645/14 244/406/14 259/408/14 -f 244/646/3 245/409/3 260/411/3 -f 245/647/7 246/412/7 261/414/7 -f 247/648/25 232/415/25 263/417/25 -f 246/649/9 247/418/9 262/420/9 -f 193/284/66 257/402/66 194/285/66 -f 195/326/67 194/285/67 259/404/67 -f 196/324/68 195/326/68 260/407/68 -f 197/322/69 196/324/69 261/410/69 -f 198/320/70 197/322/70 262/413/70 -f 198/320/71 262/420/71 199/321/71 -f 184/318/72 199/321/72 248/416/72 -f 184/318/73 248/377/73 185/303/73 -f 185/303/74 249/380/74 186/299/74 -f 186/299/75 250/383/75 187/297/75 -f 188/298/76 187/297/76 252/385/76 -f 188/298/77 252/389/77 189/295/77 -f 189/295/78 253/392/78 190/293/78 -f 190/293/79 254/391/79 191/289/79 -f 191/289/80 255/394/80 192/290/80 -f 192/290/81 256/421/81 193/284/81 -f 234/424/30 233/650/30 232/651/30 -f 232/651/30 247/652/30 246/653/30 -f 246/653/30 245/654/30 242/422/30 -f 244/655/30 243/656/30 242/422/30 -f 242/422/30 241/657/30 238/423/30 -f 240/658/30 239/659/30 238/423/30 -f 238/423/30 237/660/30 236/661/30 -f 236/661/30 235/662/30 234/424/30 -f 234/424/30 232/651/30 246/653/30 -f 245/654/30 244/655/30 242/422/30 -f 241/657/30 240/658/30 238/423/30 -f 238/423/30 236/661/30 234/424/30 -f 234/424/30 246/653/30 242/422/30 -f 182/244/39 170/425/39 279/245/39 -f 170/425/23 169/427/23 267/426/23 -f 169/427/20 168/429/20 266/428/20 -f 265/430/17 168/429/17 264/432/17 -f 264/432/14 167/431/14 268/434/14 -f 171/433/3 172/435/3 268/434/3 -f 172/435/7 173/437/7 269/436/7 -f 173/437/9 174/439/9 270/438/9 -f 174/439/25 175/441/25 271/440/25 -f 175/663/33 176/443/33 272/445/33 -f 176/443/34 177/446/34 273/444/34 -f 177/446/35 178/448/35 274/447/35 -f 178/448/36 179/450/36 275/449/36 -f 283/664/30 264/451/30 284/453/30 -f 268/665/30 269/454/30 284/456/30 -f 269/666/30 270/457/30 285/459/30 -f 297/464/82 296/460/82 306/462/82 -f 286/466/9 287/463/9 297/464/9 -f 270/667/30 271/465/30 286/466/30 -f 282/668/30 265/467/30 283/469/30 -f 281/669/30 266/470/30 282/472/30 -f 280/670/30 267/473/30 281/475/30 -f 312/507/83 290/476/83 303/478/83 -f 280/519/28 303/478/28 295/479/28 -f 313/505/84 304/480/84 289/482/84 -f 288/515/26 294/483/26 304/480/26 -f 271/671/30 272/484/30 287/486/30 -f 183/272/85 163/276/85 164/489/85 -f 164/489/85 292/487/85 183/272/85 -f 166/488/85 165/279/85 183/272/85 -f 2/672/26 164/489/26 1/490/26 -f 4/2/28 3/1/28 166/488/28 -f 285/459/7 286/458/7 298/492/7 -f 284/456/3 285/455/3 299/494/3 -f 283/664/14 284/453/14 300/496/14 -f 282/668/17 283/469/17 301/498/17 -f 281/669/20 282/472/20 302/500/20 -f 280/670/23 281/475/23 303/502/23 -f 287/486/25 288/485/25 296/504/25 -f 296/504/86 304/503/86 305/461/86 -f 303/502/87 302/501/87 312/507/87 -f 302/500/88 301/499/88 311/506/88 -f 310/508/89 301/498/89 309/509/89 -f 300/496/90 299/495/90 309/509/90 -f 308/510/91 299/494/91 307/511/91 -f 298/492/92 297/491/92 307/511/92 -f 290/476/1 289/482/1 293/513/1 -f 4/673/1 295/674/1 293/513/1 -f 291/512/1 294/675/1 2/514/1 -f 2/514/1 4/673/1 293/513/1 -f 2/676/30 294/483/30 164/516/30 -f 288/515/30 272/677/30 164/516/30 -f 280/519/30 295/479/30 166/517/30 -f 4/678/30 166/517/30 295/479/30 -f 276/679/30 277/520/30 292/487/30 -f 276/679/30 292/487/30 275/524/30 -f 316/680/85 314/528/85 318/530/85 -f 290/476/57 317/531/57 289/482/57 -f 313/505/57 289/482/57 314/533/57 -f 312/507/57 316/534/57 290/476/57 -f 316/534/57 312/507/57 314/533/57 -f 319/529/57 320/535/57 318/530/57 -f 317/681/28 316/537/28 321/536/28 -f 314/682/26 315/538/26 319/529/26 -f 315/683/1 317/539/1 320/535/1 -f 313/505/57 312/507/57 305/461/57 -f 305/461/57 311/506/57 306/462/57 -f 306/462/57 310/508/57 307/511/57 -f 322/684/28 325/540/28 326/231/28 -f 327/542/85 323/685/85 331/541/85 -f 331/541/85 322/686/85 326/231/85 -f 324/687/26 323/543/26 328/233/26 -f 329/232/1 325/688/1 330/544/1 -f 330/544/1 324/689/1 328/233/1 -f 80/242/30 162/97/30 325/546/30 -f 330/545/30 162/97/30 324/547/30 -f 331/550/30 94/548/30 322/549/30 -f 93/237/30 94/548/30 323/551/30 -f 338/690/93 339/552/93 342/554/93 -f 339/561/28 335/555/28 336/557/28 -f 332/563/26 333/558/26 337/560/26 -f 333/691/1 335/555/1 338/562/1 -f 334/556/85 332/563/85 336/557/85 -f 342/692/94 343/564/94 346/566/94 -f 336/570/95 337/567/95 340/569/95 -f 339/552/28 336/570/28 343/553/28 -f 341/693/26 337/571/26 342/573/26 -f 340/577/96 341/574/96 344/576/96 -f 347/565/28 343/564/28 344/576/28 -f 341/574/26 342/578/26 345/575/26 diff --git a/src/main/resources/assets/hbm/models/generator_rotor.obj b/src/main/resources/assets/hbm/models/generator_rotor.obj deleted file mode 100644 index fee691bda..000000000 --- a/src/main/resources/assets/hbm/models/generator_rotor.obj +++ /dev/null @@ -1,818 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: '' -# www.blender.org -o Circle -v -2.900000 0.300000 0.000000 -v -2.900000 0.105000 0.000000 -v -2.900000 0.097007 0.040182 -v -2.900000 0.097007 -0.040182 -v -2.900000 0.000000 -0.105000 -v -2.900000 0.040182 -0.097007 -v -2.900000 0.114805 -0.277164 -v -2.900000 -0.040182 -0.097007 -v -2.900000 0.000000 -0.300000 -v -2.900000 -0.105000 0.000000 -v -2.900000 -0.097008 -0.040182 -v -2.900000 -0.277164 -0.114805 -v -2.900000 -0.097008 0.040182 -v -2.900000 -0.300000 0.000000 -v -2.900000 0.000000 0.105000 -v -2.900000 -0.040182 0.097007 -v -2.900000 -0.114805 0.277164 -v -2.900000 0.040182 0.097007 -v -2.900000 0.000000 0.300000 -v -2.900000 -0.074246 0.074246 -v -2.900000 0.074246 -0.074246 -v -2.700000 0.143506 0.346455 -v -2.600000 0.143506 0.346455 -v -2.600000 0.040182 0.097007 -v -2.700000 0.040182 -0.097007 -v -2.600000 0.040182 -0.097007 -v -2.600000 0.143506 -0.346455 -v -2.600000 0.346454 -0.143506 -v -2.600000 0.097007 -0.040182 -v -2.700000 0.097007 -0.040182 -v -2.600000 0.346454 0.143506 -v -2.600000 0.375000 0.000000 -v -2.700000 0.375000 0.000000 -v -2.700000 -0.040182 0.097007 -v -2.600000 -0.040182 0.097007 -v -2.600000 -0.143506 0.346455 -v -2.700000 -0.097008 0.040182 -v -2.600000 -0.097008 0.040182 -v -2.600000 -0.074246 0.074246 -v -2.700000 0.000000 -0.375000 -v -2.600000 0.000000 -0.375000 -v -2.600000 -0.143506 -0.346455 -v -2.600000 0.074246 -0.074246 -v -2.700000 0.000000 0.375000 -v -2.600000 0.000000 0.375000 -v -2.700000 0.074246 -0.074246 -v -2.700000 0.097007 0.040182 -v -2.700000 0.346454 0.143506 -v -2.900000 0.277164 0.114805 -v -2.700000 -0.074246 0.074246 -v -2.900000 -0.277164 0.114805 -v -2.700000 -0.346455 0.143506 -v -2.700000 0.346454 -0.143506 -v -2.700000 -0.375000 0.000000 -v -2.900000 0.277164 -0.114805 -v -2.700000 -0.346455 -0.143506 -v -2.900000 0.114805 0.277164 -v -2.700000 0.040182 0.097007 -v -2.900000 0.074246 0.074246 -v -2.700000 0.074246 0.074246 -v -2.900000 -0.074246 -0.074246 -v -2.700000 -0.074246 -0.074246 -v -2.700000 -0.097008 -0.040182 -v -2.900000 -0.114805 -0.277164 -v -2.700000 -0.143506 -0.346455 -v -2.700000 -0.040182 -0.097007 -v -2.700000 0.143506 -0.346455 -v -2.700000 -0.143507 0.346455 -v -2.600000 0.097007 0.040182 -v -2.600000 0.105000 0.000000 -v -2.600000 0.000000 -0.105000 -v -2.600000 -0.040182 -0.097007 -v -2.600000 -0.346455 -0.143506 -v -2.600000 -0.097008 -0.040182 -v -2.600000 -0.105000 0.000000 -v -2.600000 -0.346455 0.143506 -v -2.600000 -0.375000 0.000000 -v -2.600000 0.000000 0.105000 -v -2.600000 0.074246 0.074246 -v -2.600000 -0.074246 -0.074246 -v -1.000000 1.000000 0.000000 -v -0.500000 1.000000 0.000000 -v -0.500000 0.923879 -0.382683 -v 0.000000 1.000000 0.000000 -v 0.000000 0.923879 0.382683 -v -1.000000 0.000000 1.000000 -v -0.500000 0.000000 1.000000 -v -0.500000 0.382683 0.923879 -v 0.000000 0.000000 1.000000 -v 0.000000 -0.382684 0.923880 -v -1.000000 -1.000000 0.000000 -v -0.500000 -1.000000 0.000000 -v -0.500000 -0.923879 0.382684 -v 0.000000 -1.000000 0.000000 -v 0.000000 -0.923879 -0.382684 -v -1.000000 0.000000 -1.000000 -v -0.500000 0.000000 -1.000000 -v -0.500000 -0.382683 -0.923880 -v 0.000000 0.000000 -1.000000 -v 0.000000 0.382683 -0.923879 -v -1.000000 0.191341 0.461940 -v -1.000000 0.000000 0.500000 -v -1.000000 0.461939 -0.191342 -v -1.000000 0.499999 0.000000 -v -1.000000 -0.191342 -0.461940 -v -1.000000 0.000000 -0.500000 -v -1.000000 -0.923879 0.382684 -v -1.000000 -0.461940 0.191342 -v -1.000000 -0.500000 0.000000 -v -0.500000 -0.461940 0.191342 -v -0.500000 -0.500000 0.000000 -v -0.500000 -0.191342 -0.461940 -v -0.500000 0.000000 -0.500000 -v -0.500000 0.461939 -0.191342 -v -0.500000 0.499999 0.000000 -v -0.500000 0.191341 0.461940 -v -0.500000 0.000000 0.500000 -v 0.500000 -0.923879 -0.382684 -v 0.500000 -1.000000 0.000000 -v 0.500000 0.923879 0.382683 -v 0.500000 1.000000 0.000000 -v 0.000000 0.191341 -0.461940 -v 0.500000 0.191342 -0.461940 -v 0.500000 0.382683 -0.923879 -v 0.500000 -0.500000 0.000000 -v 0.000000 0.000000 0.500000 -v 0.000000 -0.191342 0.461940 -v 0.000000 -0.500000 0.000000 -v 0.000000 -0.461940 -0.191342 -v 0.000000 0.000000 -0.500000 -v 0.000000 0.500000 0.000000 -v 0.000000 0.461939 0.191342 -v 0.500000 0.000000 -0.500000 -v 0.500000 0.461939 0.191342 -v 0.500000 -0.382684 0.923880 -v 0.500000 -0.191342 0.461940 -v 0.500000 0.000000 0.500000 -v 0.500000 -0.461940 -0.191342 -v 0.500000 0.000000 -1.000000 -v 0.500000 0.500000 0.000000 -v 0.500000 0.000000 1.000000 -v -1.000000 0.923879 -0.382683 -v -1.000000 0.382683 0.923879 -v -1.000000 -0.382683 -0.923880 -vt 0.386236 0.903449 -vt 0.415713 0.870412 -vt 0.422995 0.875866 -vt 0.410847 0.862251 -vt 0.415713 0.834834 -vt 0.410847 0.842996 -vt 0.372334 0.825117 -vt 0.422995 0.829381 -vt 0.386236 0.801798 -vt 0.447457 0.834834 -vt 0.440174 0.829381 -vt 0.456127 0.786216 -vt 0.452322 0.842996 -vt 0.476933 0.801798 -vt 0.447457 0.870412 -vt 0.452322 0.862251 -vt 0.490835 0.880130 -vt 0.440174 0.875866 -vt 0.476933 0.903449 -vt 0.454031 0.852623 -vt 0.409138 0.852623 -vt 0.246623 0.961651 -vt 0.246623 0.985596 -vt 0.194961 0.984565 -vt 0.363621 0.834500 -vt 0.363621 0.858444 -vt 0.308890 0.859178 -vt 0.003848 0.912819 -vt 0.055510 0.913850 -vt 0.055510 0.937794 -vt 0.729199 0.256799 -vt 0.760227 0.256554 -vt 0.760280 0.280498 -vt 0.363621 0.915692 -vt 0.363621 0.939636 -vt 0.308890 0.940370 -vt 0.868474 0.880847 -vt 0.868474 0.904791 -vt 0.861548 0.904576 -vt 0.829237 0.280498 -vt 0.829184 0.256554 -vt 0.859364 0.256799 -vt 0.599395 0.926382 -vt 0.599395 0.950326 -vt 0.592469 0.950112 -vt 0.126677 0.961231 -vt 0.156009 0.961723 -vt 0.156009 0.985662 -vt 0.515460 0.832769 -vt 0.515460 0.880657 -vt 0.507858 0.880831 -vt 0.876447 0.052192 -vt 0.820306 0.052799 -vt 0.835901 0.004751 -vt 0.515816 0.752158 -vt 0.515816 0.800038 -vt 0.507858 0.800204 -vt 0.076866 0.985019 -vt 0.063206 0.936759 -vt 0.112383 0.938128 -vt 0.759274 0.329030 -vt 0.790461 0.280743 -vt 0.599395 0.878494 -vt 0.592469 0.926167 -vt 0.554592 0.902223 -vt 0.584773 0.902468 -vt 0.577731 0.950951 -vt 0.868474 0.832958 -vt 0.861548 0.880632 -vt 0.324093 0.868334 -vt 0.363621 0.867803 -vt 0.729253 0.280743 -vt 0.018199 0.984938 -vt 0.003848 0.936764 -vt 0.528764 0.950951 -vt 0.523565 0.902468 -vt 0.324093 0.787142 -vt 0.363621 0.786612 -vt 0.232273 0.913477 -vt 0.194961 0.960621 -vt 0.117856 0.786699 -vt 0.117856 0.834587 -vt 0.110253 0.834761 -vt 0.102557 0.786699 -vt 0.102557 0.834587 -vt 0.094955 0.834761 -vt 0.135071 0.912732 -vt 0.158537 0.913126 -vt 0.867113 0.328374 -vt 0.867113 0.280494 -vt 0.873537 0.280764 -vt 0.834657 0.238675 -vt 0.820306 0.190501 -vt 0.871968 0.191531 -vt 0.803409 0.329226 -vt 0.798210 0.280743 -vt 0.828231 0.329030 -vt 0.859418 0.280743 -vt 0.868474 0.752286 -vt 0.868474 0.800174 -vt 0.861548 0.799959 -vt 0.183542 0.913083 -vt 0.187266 0.961669 -vt 0.875038 0.133253 -vt 0.820306 0.133987 -vt 0.835509 0.085895 -vt 0.631996 0.771548 -vt 0.658004 0.752071 -vt 0.680092 0.811837 -vt 0.672810 0.817291 -vt 0.667944 0.825452 -vt 0.631996 0.898612 -vt 0.614619 0.869463 -vt 0.667944 0.844707 -vt 0.672810 0.852869 -vt 0.680092 0.858322 -vt 0.719360 0.918088 -vt 0.697272 0.858322 -vt 0.704554 0.852869 -vt 0.762745 0.869463 -vt 0.745367 0.898612 -vt 0.762745 0.800696 -vt 0.709420 0.825452 -vt 0.704554 0.817291 -vt 0.745367 0.771548 -vt 0.697272 0.811837 -vt 0.117856 0.858531 -vt 0.110253 0.858705 -vt 0.554539 0.878279 -vt 0.584720 0.878524 -vt 0.102557 0.858531 -vt 0.094955 0.858705 -vt 0.790407 0.256799 -vt 0.867113 0.256554 -vt 0.873537 0.256824 -vt 0.820306 0.166557 -vt 0.187266 0.985609 -vt 0.868474 0.824118 -vt 0.861548 0.823904 -vt 0.798156 0.256799 -vt 0.875038 0.157197 -vt 0.820306 0.157931 -vt 0.515460 0.904601 -vt 0.507858 0.904776 -vt 0.876447 0.076132 -vt 0.820306 0.076739 -vt 0.523512 0.878524 -vt 0.515816 0.823978 -vt 0.507858 0.824144 -vt 0.063206 0.912819 -vt 0.112383 0.914188 -vt 0.129201 0.372761 -vt 0.166737 0.260675 -vt 0.241809 0.293193 -vt 0.204273 0.148590 -vt 0.126677 0.116398 -vt 0.377599 0.373563 -vt 0.414147 0.261091 -vt 0.487244 0.292324 -vt 0.450696 0.148619 -vt 0.372334 0.116785 -vt 0.006373 0.372761 -vt 0.043909 0.260675 -vt 0.118981 0.293193 -vt 0.081445 0.148590 -vt 0.003848 0.116398 -vt 0.252030 0.372761 -vt 0.289566 0.260675 -vt 0.364638 0.293193 -vt 0.327102 0.148590 -vt 0.249505 0.116398 -vt 0.791294 0.752071 -vt 0.832999 0.752071 -vt 0.853852 0.869567 -vt 0.280341 0.904107 -vt 0.238636 0.904107 -vt 0.217783 0.786612 -vt 0.832999 0.995687 -vt 0.791294 0.995687 -vt 0.770441 0.878192 -vt 0.003848 0.904194 -vt 0.024701 0.786699 -vt 0.066406 0.786699 -vt 0.772142 0.373775 -vt 0.791949 0.491420 -vt 0.752334 0.499351 -vt 0.996152 0.491507 -vt 0.957579 0.498777 -vt 0.938293 0.381046 -vt 0.860070 0.491420 -vt 0.820455 0.499351 -vt 0.800648 0.381707 -vt 0.928191 0.491420 -vt 0.888577 0.499351 -vt 0.868769 0.381707 -vt 0.041384 0.004313 -vt 0.118981 0.036504 -vt 0.164213 0.004313 -vt 0.241809 0.036504 -vt 0.352790 0.658302 -vt 0.350172 0.777986 -vt 0.248818 0.776560 -vt 0.494940 0.123734 -vt 0.502218 0.004313 -vt 0.607478 0.013136 -vt 0.908384 0.616996 -vt 0.867766 0.625801 -vt 0.772142 0.616996 -vt 0.731523 0.625801 -vt 0.976866 0.616509 -vt 0.935887 0.625014 -vt 0.840263 0.616996 -vt 0.799645 0.625801 -vt 0.516775 0.241834 -vt 0.607478 0.251317 -vt 0.600199 0.370739 -vt 0.615173 0.124009 -vt 0.615960 0.004313 -vt 0.721504 0.005947 -vt 0.126677 0.533589 -vt 0.129295 0.413904 -vt 0.235886 0.417131 -vt 0.020375 0.651076 -vt 0.115831 0.658512 -vt 0.110321 0.778073 -vt 0.614619 0.499049 -vt 0.617237 0.379364 -vt 0.723827 0.382591 -vt 0.511467 0.616536 -vt 0.606923 0.623972 -vt 0.601414 0.743533 -vt 0.388861 0.650593 -vt 0.484317 0.658029 -vt 0.478808 0.777591 -vt 0.243581 0.533589 -vt 0.246200 0.413904 -vt 0.352790 0.417131 -vt 0.721504 0.247240 -vt 0.720717 0.125644 -vt 0.235886 0.658301 -vt 0.233267 0.536816 -vt 0.723827 0.623761 -vt 0.721209 0.502275 -vt 0.350172 0.536816 -vt 0.617535 0.247505 -vt 0.134532 0.656876 -vt 0.622474 0.622335 -vt 0.251437 0.656876 -vt 0.372334 0.532983 -vt 0.478807 0.539444 -vt 0.494940 0.498925 -vt 0.601414 0.505386 -vt 0.600199 0.132557 -vt 0.003848 0.533466 -vt 0.110321 0.539926 -vt 0.210087 0.786612 -vt 0.189235 0.904107 -vt 0.147529 0.904107 -vt 0.729199 0.130433 -vt 0.812610 0.130433 -vt 0.791758 0.247929 -vt 0.523512 0.869654 -vt 0.544365 0.752158 -vt 0.586070 0.752158 -vt 0.729199 0.121808 -vt 0.750052 0.004313 -vt 0.791758 0.004313 -vt 0.009357 0.413904 -vt 0.115831 0.420365 -vt 0.860070 0.734640 -vt 0.819452 0.743446 -vt 0.720717 0.366936 -vt 0.616747 0.367202 -vt 0.791949 0.734640 -vt 0.751331 0.743446 -vt 0.377843 0.413422 -vt 0.484317 0.419882 -vt 0.287041 0.004313 -vt 0.364638 0.036504 -vt 0.233267 0.777986 -vt 0.131913 0.776560 -vt 0.408882 0.004313 -vt 0.500449 0.379364 -vt 0.606923 0.385824 -vt 0.996152 0.734240 -vt 0.955174 0.742746 -vt 0.928191 0.734640 -vt 0.887573 0.743446 -vt 0.721209 0.743446 -vt 0.619855 0.742020 -vt 0.407042 0.919030 -vt 0.372334 0.880130 -vt 0.407042 0.786216 -vt 0.490835 0.825117 -vt 0.456127 0.919030 -vt 0.431585 0.827466 -vt 0.431585 0.877781 -vt 0.308890 0.835234 -vt 0.308890 0.916426 -vt 0.126677 0.985171 -vt 0.507858 0.832943 -vt 0.876447 0.004313 -vt 0.507858 0.752324 -vt 0.112383 0.986007 -vt 0.783418 0.329226 -vt 0.592469 0.878279 -vt 0.553586 0.950755 -vt 0.861548 0.832744 -vt 0.734452 0.329226 -vt 0.055510 0.985682 -vt 0.194961 0.912732 -vt 0.110253 0.786873 -vt 0.094955 0.786873 -vt 0.873537 0.328643 -vt 0.871968 0.239420 -vt 0.852375 0.329226 -vt 0.861548 0.752071 -vt 0.875038 0.085365 -vt 0.614619 0.800696 -vt 0.658004 0.918088 -vt 0.709420 0.844707 -vt 0.719360 0.752071 -vt 0.666236 0.835080 -vt 0.688682 0.809922 -vt 0.711128 0.835080 -vt 0.688682 0.860237 -vt 0.871968 0.167587 -vt 0.204273 0.405279 -vt 0.450696 0.404796 -vt 0.081445 0.405279 -vt 0.327102 0.405279 -vt 0.770441 0.869567 -vt 0.301194 0.786612 -vt 0.853852 0.878192 -vt 0.087259 0.904194 -vt 0.732527 0.381707 -vt 0.976866 0.373775 -vt 0.840263 0.373775 -vt 0.908384 0.373775 -vt 0.509497 0.361255 -vt 0.014866 0.770637 -vt 0.505958 0.736097 -vt 0.383352 0.770155 -vt 0.126677 0.786612 -vt 0.750052 0.247929 -vt 0.606923 0.869654 -vt 0.812610 0.121808 -vt 0.487244 0.036146 -vn -1.000000 0.000000 0.000000 -vn 0.000000 0.923900 -0.382700 -vn 0.000000 0.923900 0.382700 -vn 0.000000 -0.382700 -0.923900 -vn 0.000000 0.980800 0.195100 -vn 0.000000 -0.923900 -0.382700 -vn 0.000000 -0.831500 0.555600 -vn 0.000000 -0.195100 -0.980800 -vn 0.000000 0.831500 -0.555600 -vn 0.000000 0.195100 0.980800 -vn 0.000000 0.555600 -0.831500 -vn -0.000000 -0.382700 0.923900 -vn 0.000000 -0.555600 0.831500 -vn 0.000000 0.382700 0.923900 -vn -0.345200 0.920500 -0.183100 -vn -0.345200 -0.920500 0.183100 -vn -0.345200 0.920500 0.183100 -vn -0.345200 -0.920500 -0.183100 -vn 0.000000 0.831500 0.555600 -vn 0.000000 -0.831500 -0.555600 -vn -0.345200 0.183100 0.920500 -vn 0.000000 0.555600 0.831500 -vn 0.000000 -0.923900 0.382700 -vn -0.345200 0.183100 -0.920500 -vn -0.345200 -0.183100 -0.920500 -vn 0.000000 -0.555600 -0.831500 -vn -0.345200 -0.183100 0.920500 -vn 0.000000 0.382700 -0.923900 -vn 1.000000 0.000000 0.000000 -vn 0.000000 -0.980800 0.195100 -vn 0.000000 0.980800 -0.195100 -vn 0.000000 -0.195100 0.980800 -vn 0.000000 0.195100 -0.980800 -vn 0.000000 -0.980800 -0.195100 -vn 0.000000 -0.000000 1.000000 -vn 0.000000 -1.000000 0.000000 -vn 0.000000 0.000000 -1.000000 -vn 0.000000 1.000000 0.000000 -vn -0.357400 -0.000000 0.933900 -vn -0.357400 -0.933900 0.000000 -vn -0.357400 0.000000 -0.933900 -vn -0.357400 0.933900 0.000000 -vn -0.607800 -0.303900 0.733700 -vn -0.607800 -0.733700 -0.303900 -vn -0.607800 0.303900 -0.733700 -vn -0.607800 0.733700 0.303900 -vn 0.607800 0.000000 -0.794100 -vn 0.357400 -0.357400 -0.862900 -vn 0.607800 0.794100 0.000000 -vn 0.357400 0.862900 -0.357400 -vn 0.607800 0.000000 0.794100 -vn 0.357400 0.357400 0.862900 -vn 0.607800 -0.794100 0.000000 -vn 0.357400 -0.862900 0.357400 -s 1 -f 1/1/1 2/2/1 3/3/1 -f 4/4/1 2/2/1 1/1/1 -f 5/5/1 6/6/1 7/7/1 -f 8/8/1 5/5/1 9/9/1 -f 10/10/1 11/11/1 12/12/1 -f 13/13/1 10/10/1 14/14/1 -f 15/15/1 16/16/1 17/17/1 -f 18/18/1 15/15/1 19/19/1 -f 20/20/1 2/2/1 21/21/1 -f 22/22/2 23/23/2 24/24/2 -f 25/25/3 26/26/3 27/27/3 -f 28/28/4 29/29/4 30/30/4 -f 31/31/5 32/32/5 33/33/5 -f 34/34/6 35/35/6 36/36/6 -f 37/37/7 38/38/7 39/39/7 -f 40/40/8 41/41/8 42/42/8 -f 30/43/9 29/44/9 43/45/9 -f 22/46/10 44/47/10 45/48/10 -f 21/49/11 46/50/11 25/51/11 -f 47/52/12 48/53/12 49/54/12 -f 20/55/13 50/56/13 34/57/13 -f 51/58/14 52/59/14 37/60/14 -f 1/61/15 33/33/15 53/62/15 -f 4/63/9 30/43/9 46/64/9 -f 54/65/16 52/66/16 51/67/16 -f 13/68/7 37/37/7 50/69/7 -f 17/70/6 16/71/6 34/34/6 -f 48/72/17 33/33/17 1/61/17 -f 55/73/4 53/74/4 30/30/4 -f 12/75/18 56/76/18 54/65/18 -f 7/77/3 6/78/3 25/25/3 -f 57/79/2 22/22/2 58/80/2 -f 59/81/19 60/82/19 47/83/19 -f 61/84/20 62/85/20 63/86/20 -f 57/87/21 19/88/21 44/47/21 -f 18/89/22 58/90/22 60/91/22 -f 64/92/23 65/93/23 66/94/23 -f 7/95/24 67/96/24 40/40/24 -f 9/97/25 40/40/25 65/98/25 -f 8/99/26 66/100/26 62/101/26 -f 17/102/27 68/103/27 44/47/27 -f 63/104/28 56/105/28 12/106/28 -f 32/107/29 31/108/29 69/109/29 -f 32/107/29 70/110/29 29/111/29 -f 41/112/29 27/113/29 26/114/29 -f 41/112/29 71/115/29 72/116/29 -f 73/117/29 74/118/29 75/119/29 -f 76/120/29 77/121/29 75/119/29 -f 36/122/29 35/123/29 78/124/29 -f 45/125/29 78/124/29 24/126/29 -f 78/124/29 75/119/29 70/110/29 -f 60/82/19 79/127/19 69/128/19 -f 77/129/30 76/130/30 52/66/30 -f 62/85/20 80/131/20 74/132/20 -f 32/32/31 28/133/31 53/62/31 -f 58/90/22 24/134/22 79/135/22 -f 66/94/23 65/93/23 42/136/23 -f 44/47/32 68/103/32 36/137/32 -f 66/100/26 72/138/26 80/139/26 -f 67/96/33 27/140/33 41/41/33 -f 74/141/28 73/142/28 56/105/28 -f 46/50/11 43/143/11 26/144/11 -f 69/145/12 31/146/12 48/53/12 -f 73/147/34 77/129/34 54/65/34 -f 50/56/13 39/148/13 35/149/13 -f 76/150/14 38/151/14 37/60/14 -f 81/152/31 82/153/31 83/154/31 -f 82/153/31 84/155/31 83/154/31 -f 84/155/5 82/153/5 85/156/5 -f 86/157/10 87/158/10 88/159/10 -f 88/159/10 87/158/10 89/160/10 -f 89/160/32 87/158/32 90/161/32 -f 91/162/30 92/163/30 93/164/30 -f 92/163/30 94/165/30 93/164/30 -f 94/165/34 92/163/34 95/166/34 -f 96/167/8 97/168/8 98/169/8 -f 97/168/8 99/170/8 98/169/8 -f 99/170/33 97/168/33 100/171/33 -f 101/172/1 102/173/1 86/174/1 -f 103/175/1 104/176/1 81/177/1 -f 105/178/1 106/179/1 96/180/1 -f 107/181/1 108/182/1 109/183/1 -f 108/184/31 110/185/31 111/186/31 -f 112/187/10 113/188/10 106/189/10 -f 114/190/30 115/191/30 104/192/30 -f 116/193/8 117/194/8 102/195/8 -f 95/166/34 118/196/34 119/197/34 -f 85/156/5 120/198/5 121/199/5 -f 122/200/3 123/201/3 124/202/3 -f 94/203/35 119/204/35 125/205/35 -f 117/194/8 116/193/8 126/206/8 -f 126/206/33 127/207/33 117/194/33 -f 110/185/31 128/208/31 111/186/31 -f 128/208/5 129/209/5 111/186/5 -f 112/187/10 130/210/10 113/188/10 -f 130/210/32 122/211/32 113/188/32 -f 114/190/30 131/212/30 115/191/30 -f 131/212/34 132/213/34 115/191/34 -f 93/214/14 110/215/14 108/216/14 -f 82/217/35 81/218/35 104/219/35 -f 87/220/36 86/221/36 102/222/36 -f 98/223/23 112/224/23 105/225/23 -f 92/226/37 91/227/37 109/228/37 -f 88/229/2 116/230/2 101/231/2 -f 83/232/4 114/233/4 103/234/4 -f 97/235/38 96/236/38 106/237/38 -f 132/238/39 82/217/39 115/239/39 -f 127/240/40 87/220/40 117/241/40 -f 129/242/41 92/226/41 111/243/41 -f 122/200/42 97/235/42 113/244/42 -f 82/217/43 132/238/43 85/245/43 -f 87/220/44 127/240/44 90/246/44 -f 92/226/45 129/242/45 95/247/45 -f 97/235/46 122/200/46 100/248/46 -f 83/232/47 84/249/47 131/250/47 -f 131/250/48 114/233/48 83/232/48 -f 88/229/49 89/251/49 126/252/49 -f 126/252/50 116/230/50 88/229/50 -f 93/214/51 94/203/51 128/253/51 -f 128/253/52 110/215/52 93/214/52 -f 98/223/53 99/254/53 130/255/53 -f 130/255/54 112/224/54 98/223/54 -f 124/256/29 123/257/29 133/258/29 -f 121/259/29 120/260/29 134/261/29 -f 135/262/29 136/263/29 137/264/29 -f 118/265/29 138/266/29 125/267/29 -f 99/254/36 139/268/36 133/269/36 -f 131/212/34 140/270/34 134/271/34 -f 132/238/12 134/272/12 120/273/12 -f 128/208/5 125/274/5 138/275/5 -f 84/249/37 121/276/37 140/277/37 -f 100/171/33 124/278/33 139/279/33 -f 127/240/6 136/280/6 135/281/6 -f 89/160/32 90/161/32 135/282/32 -f 89/251/38 141/283/38 137/284/38 -f 130/210/32 133/285/32 123/286/32 -f 126/206/33 137/287/33 136/288/33 -f 129/242/28 138/289/28 118/290/28 -f 49/291/1 1/1/1 3/3/1 -f 55/292/1 4/4/1 1/1/1 -f 9/9/1 5/5/1 7/7/1 -f 64/293/1 8/8/1 9/9/1 -f 14/14/1 10/10/1 12/12/1 -f 51/294/1 13/13/1 14/14/1 -f 19/19/1 15/15/1 17/17/1 -f 57/295/1 18/18/1 19/19/1 -f 21/21/1 6/6/1 5/5/1 -f 5/5/1 8/8/1 61/296/1 -f 61/296/1 11/11/1 10/10/1 -f 10/10/1 13/13/1 20/20/1 -f 20/20/1 16/16/1 15/15/1 -f 15/15/1 18/18/1 59/297/1 -f 59/297/1 3/3/1 2/2/1 -f 2/2/1 4/4/1 21/21/1 -f 21/21/1 5/5/1 61/296/1 -f 61/296/1 10/10/1 20/20/1 -f 20/20/1 15/15/1 59/297/1 -f 59/297/1 2/2/1 20/20/1 -f 21/21/1 61/296/1 20/20/1 -f 58/80/2 22/22/2 24/24/2 -f 67/298/3 25/25/3 27/27/3 -f 53/74/4 28/28/4 30/30/4 -f 48/72/5 31/31/5 33/33/5 -f 68/299/6 34/34/6 36/36/6 -f 50/69/7 37/37/7 39/39/7 -f 65/98/8 40/40/8 42/42/8 -f 46/64/9 30/43/9 43/45/9 -f 23/300/10 22/46/10 45/48/10 -f 6/301/11 21/49/11 25/51/11 -f 3/302/12 47/52/12 49/54/12 -f 16/303/13 20/55/13 34/57/13 -f 13/304/14 51/58/14 37/60/14 -f 55/305/15 1/61/15 53/62/15 -f 21/306/9 4/63/9 46/64/9 -f 14/307/16 54/65/16 51/67/16 -f 20/308/7 13/68/7 50/69/7 -f 68/299/6 17/70/6 34/34/6 -f 49/309/17 48/72/17 1/61/17 -f 4/310/4 55/73/4 30/30/4 -f 14/307/18 12/75/18 54/65/18 -f 67/298/3 7/77/3 25/25/3 -f 18/311/2 57/79/2 58/80/2 -f 3/312/19 59/81/19 47/83/19 -f 11/313/20 61/84/20 63/86/20 -f 22/46/21 57/87/21 44/47/21 -f 59/314/22 18/89/22 60/91/22 -f 8/315/23 64/92/23 66/94/23 -f 9/97/24 7/95/24 40/40/24 -f 64/316/25 9/97/25 65/98/25 -f 61/317/26 8/99/26 62/101/26 -f 19/88/27 17/102/27 44/47/27 -f 11/318/28 63/104/28 12/106/28 -f 70/110/29 32/107/29 69/109/29 -f 28/319/29 32/107/29 29/111/29 -f 71/115/29 41/112/29 26/114/29 -f 42/320/29 41/112/29 72/116/29 -f 77/121/29 73/117/29 75/119/29 -f 38/321/29 76/120/29 75/119/29 -f 45/125/29 36/122/29 78/124/29 -f 23/322/29 45/125/29 24/126/29 -f 71/115/29 26/114/29 43/323/29 -f 43/323/29 29/111/29 71/115/29 -f 70/110/29 69/109/29 78/124/29 -f 79/324/29 24/126/29 78/124/29 -f 78/124/29 35/123/29 39/325/29 -f 39/325/29 38/321/29 78/124/29 -f 75/119/29 74/118/29 71/115/29 -f 80/326/29 72/116/29 71/115/29 -f 71/115/29 29/111/29 70/110/29 -f 69/109/29 79/324/29 78/124/29 -f 78/124/29 38/321/29 75/119/29 -f 74/118/29 80/326/29 71/115/29 -f 71/115/29 70/110/29 75/119/29 -f 47/83/19 60/82/19 69/128/19 -f 54/65/30 77/129/30 52/66/30 -f 63/86/20 62/85/20 74/132/20 -f 33/33/31 32/32/31 53/62/31 -f 60/91/22 58/90/22 79/135/22 -f 72/327/23 66/94/23 42/136/23 -f 45/48/32 44/47/32 36/137/32 -f 62/101/26 66/100/26 80/139/26 -f 40/40/33 67/96/33 41/41/33 -f 63/104/28 74/141/28 56/105/28 -f 25/51/11 46/50/11 26/144/11 -f 47/52/12 69/145/12 48/53/12 -f 56/76/34 73/147/34 54/65/34 -f 34/57/13 50/56/13 35/149/13 -f 52/59/14 76/150/14 37/60/14 -f 142/328/31 81/152/31 83/154/31 -f 143/329/10 86/157/10 88/159/10 -f 107/330/30 91/162/30 93/164/30 -f 144/331/8 96/167/8 98/169/8 -f 143/332/1 101/172/1 86/174/1 -f 142/333/1 103/175/1 81/177/1 -f 144/334/1 105/178/1 96/180/1 -f 91/335/1 107/181/1 109/183/1 -f 109/336/31 108/184/31 111/186/31 -f 105/337/10 112/187/10 106/189/10 -f 103/338/30 114/190/30 104/192/30 -f 101/339/8 116/193/8 102/195/8 -f 94/165/34 95/166/34 119/197/34 -f 84/155/5 85/156/5 121/199/5 -f 100/248/3 122/200/3 124/202/3 -f 128/253/35 94/203/35 125/205/35 -f 107/340/14 93/214/14 108/216/14 -f 115/239/35 82/217/35 104/219/35 -f 117/241/36 87/220/36 102/222/36 -f 144/341/23 98/223/23 105/225/23 -f 111/243/37 92/226/37 109/228/37 -f 143/342/2 88/229/2 101/231/2 -f 142/343/4 83/232/4 103/234/4 -f 113/244/38 97/235/38 106/237/38 -f 139/344/29 124/256/29 133/258/29 -f 140/345/29 121/259/29 134/261/29 -f 141/346/29 135/262/29 137/264/29 -f 119/347/29 118/265/29 125/267/29 -f 130/255/36 99/254/36 133/269/36 -f 132/213/34 131/212/34 134/271/34 -f 85/245/12 132/238/12 120/273/12 -f 129/209/5 128/208/5 138/275/5 -f 131/250/37 84/249/37 140/277/37 -f 99/170/33 100/171/33 139/279/33 -f 90/246/6 127/240/6 135/281/6 -f 141/348/32 89/160/32 135/282/32 -f 126/252/38 89/251/38 137/284/38 -f 122/211/32 130/210/32 123/286/32 -f 127/207/33 126/206/33 136/288/33 -f 95/247/28 129/242/28 118/290/28 diff --git a/src/main/resources/assets/hbm/models/lights/cage_lamp.obj b/src/main/resources/assets/hbm/models/lights/cage_lamp.obj new file mode 100644 index 000000000..74169d283 --- /dev/null +++ b/src/main/resources/assets/hbm/models/lights/cage_lamp.obj @@ -0,0 +1,571 @@ +# Blender 4.0.1 +# www.blender.org +o CageLamp +v 0.174699 0.050284 -0.170405 +v 0.174699 0.037785 -0.170405 +v 0.187198 0.050284 -0.175448 +v 0.187198 0.037785 -0.175448 +v -0.002109 0.145255 -0.201498 +v -0.002109 0.101109 -0.243600 +v -0.002109 -0.103152 -0.243600 +v -0.002109 -0.145255 -0.201498 +v 0.056171 0.061436 -0.200955 +v 0.056171 0.094421 -0.170760 +v 0.056171 -0.093758 -0.171142 +v 0.056171 -0.063790 -0.201110 +v -0.002109 0.103152 0.243600 +v -0.002109 0.145255 0.201498 +v -0.002109 -0.145255 0.201498 +v -0.002109 -0.103152 0.243600 +v 0.056171 0.094258 0.170780 +v 0.056171 0.064290 0.200748 +v 0.056171 -0.063790 0.200748 +v 0.056171 -0.093758 0.170780 +v 0.009739 0.097808 -0.169350 +v 0.009739 0.063030 -0.204128 +v 0.174699 0.050284 0.170405 +v 0.009739 -0.063030 -0.204128 +v 0.009739 -0.097808 -0.169350 +v 0.174699 0.037785 0.170405 +v 0.125944 0.063030 -0.204128 +v 0.124890 0.095332 -0.169350 +v 0.169823 0.063030 -0.169350 +v 0.125944 -0.097808 -0.169350 +v 0.125944 -0.063030 -0.204128 +v 0.169823 -0.063030 -0.169350 +v 0.009739 0.063030 0.204128 +v 0.009739 0.097808 0.169350 +v 0.187198 0.050284 0.175448 +v 0.009739 -0.097808 0.169350 +v 0.009739 -0.063030 0.204128 +v 0.187198 0.037785 0.175448 +v 0.125944 0.063030 0.204128 +v 0.169823 0.063030 0.169350 +v 0.125944 0.097808 0.169350 +v 0.169823 -0.063030 0.169350 +v 0.125944 -0.063030 0.204128 +v 0.125944 -0.097808 0.169350 +v 0.137281 0.037785 -0.222204 +v 0.131756 0.037785 -0.209752 +v 0.131756 0.050284 -0.209752 +v 0.131756 0.050284 0.209752 +v 0.131756 0.037785 0.209752 +v 0.137281 0.037785 0.222204 +v 0.137281 0.050284 0.222204 +v 0.137281 0.050284 -0.222204 +v 0.053429 0.037785 -0.229540 +v 0.052340 0.037785 -0.217088 +v 0.052340 0.050284 -0.217088 +v 0.052340 0.050284 0.217088 +v 0.052340 0.037785 0.217088 +v 0.053429 0.037785 0.229540 +v 0.053429 0.050284 0.229540 +v 0.053429 0.050284 -0.229540 +v 0.174699 -0.037801 -0.170405 +v 0.174699 -0.050300 -0.170405 +v 0.187198 -0.037801 -0.175448 +v 0.187198 -0.050300 -0.175448 +v 0.174699 -0.037801 0.170405 +v 0.174699 -0.050300 0.170405 +v 0.187198 -0.037801 0.175448 +v 0.187198 -0.050300 0.175448 +v 0.137281 -0.050300 -0.222204 +v 0.131756 -0.050300 -0.209752 +v 0.131756 -0.037801 -0.209752 +v 0.131756 -0.037801 0.209752 +v 0.131756 -0.050300 0.209752 +v 0.137281 -0.050300 0.222204 +v 0.137281 -0.037801 0.222204 +v 0.137281 -0.037801 -0.222204 +v 0.053429 -0.050300 -0.229540 +v 0.052340 -0.050300 -0.217088 +v 0.052340 -0.037801 -0.217088 +v 0.052340 -0.037801 0.217088 +v 0.052340 -0.050300 0.217088 +v 0.053429 -0.050300 0.229540 +v 0.053429 -0.037801 0.229540 +v 0.053429 -0.037801 -0.229540 +v 0.056203 -0.116057 -0.126340 +v 0.056203 0.116108 -0.126340 +v 0.056203 0.116108 -0.113840 +v 0.055114 0.106003 -0.113840 +v 0.055114 0.106003 -0.126340 +v 0.055114 -0.105546 -0.126340 +v 0.055114 -0.105546 -0.113840 +v 0.056203 -0.116057 -0.113840 +v 0.140055 -0.109785 -0.126340 +v 0.140055 0.111267 -0.126340 +v 0.140055 0.111267 -0.113840 +v 0.136242 0.100805 -0.113840 +v 0.136242 0.100805 -0.126340 +v 0.137912 -0.099557 -0.126340 +v 0.137912 -0.099557 -0.113840 +v 0.140055 -0.109785 -0.113840 +v 0.189972 0.072795 -0.113840 +v 0.189972 0.072795 -0.126340 +v 0.177473 0.064705 -0.113840 +v 0.177473 0.064705 -0.126340 +v 0.189972 -0.069577 -0.113840 +v 0.189972 -0.069577 -0.126340 +v 0.177473 -0.063223 -0.113840 +v 0.177473 -0.063223 -0.126340 +v 0.177473 -0.063223 0.113750 +v 0.177473 -0.063223 0.126250 +v 0.189972 -0.069577 0.113750 +v 0.189972 -0.069577 0.126250 +v 0.177473 0.064705 0.113750 +v 0.177473 0.064705 0.126250 +v 0.189972 0.072795 0.113750 +v 0.189972 0.072795 0.126250 +v 0.140055 -0.109785 0.126250 +v 0.137912 -0.099557 0.126250 +v 0.137912 -0.099557 0.113750 +v 0.136242 0.100805 0.113750 +v 0.136242 0.100805 0.126250 +v 0.140055 0.111267 0.126250 +v 0.140055 0.111267 0.113750 +v 0.140055 -0.109785 0.113750 +v 0.056203 -0.116057 0.126250 +v 0.055114 -0.105546 0.126250 +v 0.055114 -0.105546 0.113750 +v 0.055114 0.106003 0.113750 +v 0.055114 0.106003 0.126250 +v 0.056203 0.116108 0.126250 +v 0.056203 0.116108 0.113750 +v 0.056203 -0.116057 0.113750 +v 0.177473 -0.063223 -0.006231 +v 0.177473 -0.063223 0.006268 +v 0.189972 -0.069577 -0.006231 +v 0.189972 -0.069577 0.006268 +v 0.177473 0.064705 -0.006231 +v 0.177473 0.064705 0.006268 +v 0.189972 0.072795 -0.006231 +v 0.189972 0.072795 0.006268 +v 0.140055 -0.109785 0.006268 +v 0.137912 -0.099557 0.006268 +v 0.137912 -0.099557 -0.006231 +v 0.136242 0.100805 -0.006231 +v 0.136242 0.100805 0.006268 +v 0.140055 0.111267 0.006268 +v 0.140055 0.111267 -0.006231 +v 0.140055 -0.109785 -0.006231 +v 0.056203 -0.116057 0.006268 +v 0.055114 -0.105546 0.006268 +v 0.055114 -0.105546 -0.006231 +v 0.055114 0.106003 -0.006231 +v 0.055114 0.106003 0.006268 +v 0.056203 0.116108 0.006268 +v 0.056203 0.116108 -0.006231 +v 0.056203 -0.116057 -0.006231 +v 0.056171 -0.145255 0.201498 +v 0.056171 -0.103152 0.243600 +v 0.056171 0.145255 -0.201498 +v 0.056171 0.099913 -0.243600 +v 0.056171 0.103152 0.243600 +v 0.056171 0.145255 0.201498 +v 0.056171 -0.103152 -0.243600 +v 0.056171 -0.145255 -0.201498 +v -0.002109 0.145255 0.000000 +v 0.056171 0.145255 0.000000 +v 0.056171 0.094339 0.000010 +v -0.002109 -0.145255 0.000000 +v 0.056171 -0.145255 0.000000 +v 0.056171 -0.093758 -0.000181 +vn -0.0000 -1.0000 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn -0.0000 1.0000 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn -0.0000 -0.7071 0.7071 +vn -0.0000 0.6902 -0.7237 +vn -0.0000 0.7071 0.7071 +vn -0.0000 -0.7071 -0.7071 +vn 1.0000 -0.0000 -0.0000 +vn 0.4700 0.6538 -0.5930 +vn 0.4889 -0.6168 -0.6168 +vn -1.0000 -0.0000 -0.0000 +vn 0.4889 0.6168 0.6168 +vn 0.4889 -0.6168 0.6168 +vn 0.6212 -0.0000 0.7837 +vn 0.0152 0.7070 -0.7070 +vn 0.5837 0.8120 -0.0000 +vn 0.6212 -0.7837 -0.0000 +vn 0.6212 -0.0000 -0.7837 +vn 0.0215 0.9998 -0.0000 +vn 0.0872 -0.0000 -0.9962 +vn 0.6836 -0.0000 0.7298 +vn 0.6836 -0.0000 -0.7298 +vn -0.6756 -0.0000 0.7373 +vn -0.6756 -0.0000 -0.7373 +vn 0.0872 -0.0000 0.9962 +vn -0.0920 -0.0000 0.9958 +vn -0.0920 -0.0000 -0.9958 +vn -0.0639 -0.9980 -0.0000 +vn -0.0721 0.9974 -0.0000 +vn 0.0576 0.9983 -0.0000 +vn -0.6587 -0.7524 -0.0000 +vn -0.6764 0.7365 -0.0000 +vn 0.6273 -0.7788 -0.0000 +vn 0.6105 0.7921 -0.0000 +vn 0.0746 -0.9972 -0.0000 +vn 0.0140 0.6804 -0.7327 +vn -0.0000 0.7327 -0.6805 +vn 0.6211 0.7837 -0.0077 +vn -0.0000 1.0000 -0.0073 +vt 0.250000 0.625000 +vt 0.375000 0.562500 +vt 0.375000 0.625000 +vt 0.187500 0.562500 +vt 0.062500 0.625000 +vt 0.062500 0.562500 +vt 0.187500 0.625000 +vt 0.000286 0.562500 +vt 0.000000 0.625000 +vt 0.000000 0.562500 +vt 0.250000 0.562500 +vt 1.000000 0.250000 +vt 0.812500 0.750000 +vt 1.000000 0.750000 +vt 0.000000 0.687500 +vt 0.500000 0.750000 +vt 0.000000 0.750000 +vt 0.750000 0.812500 +vt 0.562500 1.000000 +vt 0.562500 0.812500 +vt 0.750000 0.250000 +vt 0.562500 0.750000 +vt 0.562500 0.250000 +vt 0.750000 0.000000 +vt 0.562500 0.187500 +vt 0.562500 0.000000 +vt 0.500000 0.687500 +vt 0.750000 0.937500 +vt 0.812500 0.937500 +vt 0.812500 1.000000 +vt 0.875000 0.937500 +vt 0.500000 0.625000 +vt 0.000000 0.750000 +vt 0.250000 0.687500 +vt 0.250000 0.750000 +vt 0.875000 0.812500 +vt 0.875000 0.750000 +vt 0.937500 0.812500 +vt 0.937500 1.000000 +vt 0.937500 0.937500 +vt 1.000000 0.937500 +vt 0.750000 0.750000 +vt 0.812500 0.250000 +vt 0.937500 0.750000 +vt 0.500000 0.250000 +vt 0.500000 0.812500 +vt 0.000000 0.812500 +vt 0.750000 0.187500 +vt 0.250000 0.812500 +vt 0.000000 0.687500 +vt 0.250000 0.937500 +vt 0.500000 1.000000 +vt 0.250000 1.000000 +vt 0.500000 0.875000 +vt 0.250000 0.875000 +vt 0.000000 1.000000 +vt 0.000000 0.937500 +vt 0.500000 0.937500 +vt 0.000000 0.875000 +vt 0.291985 0.089153 +vt 0.415266 0.073249 +vt 0.343988 0.001971 +vt 0.293149 0.410977 +vt 0.416463 0.420276 +vt 0.345186 0.497037 +vt 0.291985 0.407455 +vt 0.415266 0.422512 +vt 0.342719 0.356721 +vt 0.293796 0.092400 +vt 0.416463 0.076496 +vt 0.344530 0.143134 +vt 0.344267 0.355136 +vt 0.004061 0.497037 +vt 0.004044 0.410840 +vt 0.002863 0.001971 +vt 0.002557 0.089153 +vt 0.342719 0.139887 +vt 0.002863 0.493790 +vt 0.343988 0.493790 +vt 0.500000 0.562500 +vt 0.004061 0.005218 +vt 0.345186 0.005218 +vt 0.750000 1.000000 +vt 0.875000 1.000000 +vt -0.000000 0.687500 +vt 0.002880 0.407592 +vt 0.004367 0.092400 +s 0 +f 8/1/1 169/2/1 168/3/1 +f 161/4/2 16/5/2 158/6/2 +f 14/1/3 166/2/3 165/3/3 +f 7/7/4 160/6/4 163/4/4 +f 157/8/5 16/5/5 15/9/5 +f 159/10/6 6/5/6 5/9/6 +f 14/1/7 161/4/7 162/11/7 +f 8/1/8 163/4/8 164/11/8 +f 25/12/1 44/13/1 36/14/1 +f 1/15/3 35/16/3 3/17/3 +f 39/18/2 37/19/2 43/20/2 +f 29/21/9 42/22/9 32/23/9 +f 22/24/4 31/25/4 24/26/4 +f 2/17/1 38/27/1 26/16/1 +f 27/28/10 28/29/10 29/30/10 +f 30/29/11 31/31/11 32/30/11 +f 23/27/12 2/9/12 26/32/12 +f 1/33/3 52/34/3 47/35/3 +f 39/36/13 40/37/13 41/38/13 +f 42/39/14 43/40/14 44/41/14 +f 40/42/15 43/20/15 42/22/15 +f 28/29/16 22/42/16 21/13/16 +f 28/43/17 40/42/17 29/21/17 +f 44/41/5 37/44/5 36/14/5 +f 26/17/1 50/34/1 49/35/1 +f 30/45/18 42/22/18 44/16/18 +f 3/17/9 38/46/9 4/47/9 +f 34/39/7 39/36/7 41/38/7 +f 32/23/19 27/48/19 29/21/19 +f 25/13/8 31/31/8 30/29/8 +f 34/14/20 28/43/20 21/12/20 +f 45/49/21 60/17/21 52/35/21 +f 47/35/3 60/27/3 55/16/3 +f 35/17/22 50/49/22 38/47/22 +f 4/46/23 52/35/23 3/16/23 +f 1/27/24 46/1/24 2/32/24 +f 2/16/1 45/34/1 4/27/1 +f 26/9/25 48/34/25 23/15/25 +f 23/16/3 51/34/3 35/27/3 +f 51/35/26 58/46/26 50/49/26 +f 47/34/27 54/9/27 46/1/27 +f 48/35/3 59/50/3 51/34/3 +f 49/35/1 58/27/1 57/16/1 +f 49/1/28 56/27/28 48/34/28 +f 46/35/1 53/15/1 45/34/1 +f 61/15/3 67/16/3 63/17/3 +f 62/17/1 68/27/1 66/16/1 +f 65/27/12 62/9/12 66/32/12 +f 61/33/3 76/34/3 71/35/3 +f 66/27/1 74/35/1 73/34/1 +f 63/17/9 68/46/9 64/47/9 +f 69/49/21 84/17/21 76/35/21 +f 71/35/3 84/27/3 79/16/3 +f 67/17/22 74/49/22 68/47/22 +f 64/46/23 76/35/23 63/16/23 +f 61/27/24 70/1/24 62/32/24 +f 62/50/1 69/35/1 64/17/1 +f 66/9/25 72/34/25 65/15/25 +f 65/16/3 75/34/3 67/27/3 +f 75/35/26 82/46/26 74/49/26 +f 71/34/27 78/9/27 70/1/27 +f 72/35/3 83/50/3 75/34/3 +f 73/34/1 82/33/1 81/50/1 +f 73/1/28 80/27/28 72/34/28 +f 70/34/1 77/16/1 69/35/1 +f 99/51/2 92/52/2 100/53/2 +f 96/49/29 89/54/29 97/55/29 +f 96/51/2 87/56/2 88/57/2 +f 97/53/4 86/57/4 94/51/4 +f 98/49/30 91/54/30 99/55/30 +f 94/55/31 87/58/31 95/51/31 +f 102/58/4 97/53/4 94/51/4 +f 103/47/32 97/55/32 104/59/32 +f 105/56/2 99/51/2 100/53/2 +f 108/47/33 99/55/33 107/59/33 +f 105/59/34 93/51/34 106/57/34 +f 101/57/35 94/55/35 95/51/35 +f 98/53/4 85/58/4 90/52/4 +f 100/55/36 85/58/36 93/51/36 +f 106/58/9 101/59/9 105/54/9 +f 101/52/2 96/51/2 103/58/2 +f 106/57/4 98/53/4 108/56/4 +f 104/47/12 107/54/12 103/59/12 +f 103/57/2 105/52/2 101/56/2 +f 104/56/4 106/58/4 108/52/4 +f 113/56/4 111/58/4 109/52/4 +f 114/57/2 112/52/2 116/56/2 +f 113/47/12 110/54/12 114/59/12 +f 111/57/4 119/53/4 109/56/4 +f 116/52/2 121/51/2 114/58/2 +f 112/54/9 115/57/9 116/59/9 +f 117/55/36 132/58/36 124/51/36 +f 119/53/4 132/58/4 127/52/4 +f 116/57/35 123/55/35 122/51/35 +f 112/59/34 124/51/34 111/57/34 +f 109/47/33 118/55/33 110/59/33 +f 112/56/2 118/51/2 117/53/2 +f 114/47/32 120/55/32 113/59/32 +f 115/58/4 120/53/4 123/51/4 +f 123/55/31 130/58/31 122/51/31 +f 119/49/30 126/54/30 118/55/30 +f 120/53/4 131/57/4 123/51/4 +f 121/51/2 130/56/2 129/57/2 +f 120/55/29 129/46/29 128/54/29 +f 118/51/2 125/52/2 117/53/2 +f 137/56/4 135/58/4 133/52/4 +f 138/57/2 136/52/2 140/56/2 +f 137/47/12 134/54/12 138/59/12 +f 135/57/4 143/53/4 133/56/4 +f 140/52/2 145/51/2 138/58/2 +f 136/54/9 139/57/9 140/59/9 +f 141/55/36 156/58/36 148/51/36 +f 143/53/4 156/58/4 151/52/4 +f 140/57/35 147/55/35 146/51/35 +f 136/59/34 148/51/34 135/57/34 +f 133/47/33 142/55/33 134/59/33 +f 136/56/2 142/51/2 141/53/2 +f 138/47/32 144/55/32 137/59/32 +f 139/58/4 144/53/4 147/51/4 +f 147/55/31 154/58/31 146/51/31 +f 143/49/30 150/54/30 142/55/30 +f 144/53/4 155/57/4 147/51/4 +f 145/51/2 154/56/2 153/57/2 +f 144/55/29 153/46/29 152/54/29 +f 142/51/2 149/52/2 141/53/2 +f 20/60/9 158/61/9 157/62/9 +f 10/63/9 160/64/9 159/65/9 +f 17/66/9 161/67/9 18/68/9 +f 11/69/9 163/70/9 12/71/9 +f 12/71/9 160/64/9 9/72/9 +f 10/63/9 166/73/9 167/74/9 +f 20/60/9 169/75/9 170/76/9 +f 19/77/9 161/67/9 158/61/9 +f 17/66/9 166/78/9 162/79/9 +f 165/3/3 159/80/3 5/32/3 +f 11/69/9 169/81/9 164/82/9 +f 168/3/1 157/80/1 15/32/1 +f 8/1/1 164/11/1 169/2/1 +f 161/4/2 13/7/2 16/5/2 +f 14/1/3 162/11/3 166/2/3 +f 7/7/4 6/5/4 160/6/4 +f 157/8/5 158/6/5 16/5/5 +f 159/10/37 160/6/37 6/5/37 +f 14/1/7 13/7/7 161/4/7 +f 8/1/8 7/7/8 163/4/8 +f 25/12/1 30/43/1 44/13/1 +f 1/15/3 23/27/3 35/16/3 +f 39/18/2 33/83/2 37/19/2 +f 29/21/9 40/42/9 42/22/9 +f 22/24/4 27/48/4 31/25/4 +f 2/17/1 4/15/1 38/27/1 +f 23/27/12 1/15/12 2/9/12 +f 1/33/3 3/50/3 52/34/3 +f 40/42/15 39/18/15 43/20/15 +f 28/29/38 27/28/38 22/42/38 +f 28/43/39 41/13/39 40/42/39 +f 44/41/5 43/40/5 37/44/5 +f 26/17/1 38/15/1 50/34/1 +f 30/45/18 32/23/18 42/22/18 +f 3/17/9 35/16/9 38/46/9 +f 34/39/7 33/84/7 39/36/7 +f 32/23/19 31/25/19 27/48/19 +f 25/13/8 24/37/8 31/31/8 +f 34/14/40 41/13/40 28/43/40 +f 45/49/21 53/47/21 60/17/21 +f 47/35/3 52/34/3 60/27/3 +f 35/17/22 51/35/22 50/49/22 +f 4/46/23 45/49/23 52/35/23 +f 1/27/24 47/34/24 46/1/24 +f 2/16/1 46/35/1 45/34/1 +f 26/9/25 49/1/25 48/34/25 +f 23/16/3 48/35/3 51/34/3 +f 51/35/26 59/16/26 58/46/26 +f 47/34/27 55/15/27 54/9/27 +f 48/35/3 56/33/3 59/50/3 +f 49/35/1 50/34/1 58/27/1 +f 49/1/28 57/32/28 56/27/28 +f 46/35/1 54/17/1 53/15/1 +f 61/15/3 65/27/3 67/16/3 +f 62/17/1 64/15/1 68/27/1 +f 65/27/12 61/15/12 62/9/12 +f 61/33/3 63/85/3 76/34/3 +f 66/27/1 68/16/1 74/35/1 +f 63/17/9 67/16/9 68/46/9 +f 69/49/21 77/47/21 84/17/21 +f 71/35/3 76/34/3 84/27/3 +f 67/17/22 75/35/22 74/49/22 +f 64/46/23 69/49/23 76/35/23 +f 61/27/24 71/34/24 70/1/24 +f 62/50/1 70/34/1 69/35/1 +f 66/9/25 73/1/25 72/34/25 +f 65/16/3 72/35/3 75/34/3 +f 75/35/26 83/16/26 82/46/26 +f 71/34/27 79/15/27 78/9/27 +f 72/35/3 80/33/3 83/50/3 +f 73/34/1 74/35/1 82/33/1 +f 73/1/28 81/32/28 80/27/28 +f 70/34/1 78/27/1 77/16/1 +f 99/51/2 91/58/2 92/52/2 +f 96/49/29 88/46/29 89/54/29 +f 96/51/2 95/53/2 87/56/2 +f 97/53/4 89/56/4 86/57/4 +f 98/49/30 90/46/30 91/54/30 +f 94/55/31 86/54/31 87/58/31 +f 102/58/4 104/52/4 97/53/4 +f 103/47/32 96/49/32 97/55/32 +f 105/56/2 107/57/2 99/51/2 +f 108/47/33 98/49/33 99/55/33 +f 105/59/34 100/55/34 93/51/34 +f 101/57/35 102/59/35 94/55/35 +f 98/53/4 93/51/4 85/58/4 +f 100/55/36 92/54/36 85/58/36 +f 106/58/9 102/57/9 101/59/9 +f 101/52/2 95/53/2 96/51/2 +f 106/57/4 93/51/4 98/53/4 +f 104/47/12 108/46/12 107/54/12 +f 103/57/2 107/58/2 105/52/2 +f 104/56/4 102/57/4 106/58/4 +f 113/56/4 115/57/4 111/58/4 +f 114/57/2 110/58/2 112/52/2 +f 113/47/12 109/46/12 110/54/12 +f 111/57/4 124/51/4 119/53/4 +f 116/52/2 122/53/2 121/51/2 +f 112/54/9 111/58/9 115/57/9 +f 117/55/36 125/54/36 132/58/36 +f 119/53/4 124/51/4 132/58/4 +f 116/57/35 115/59/35 123/55/35 +f 112/59/34 117/55/34 124/51/34 +f 109/47/33 119/49/33 118/55/33 +f 112/56/2 110/57/2 118/51/2 +f 114/47/32 121/49/32 120/55/32 +f 115/58/4 113/52/4 120/53/4 +f 123/55/31 131/54/31 130/58/31 +f 119/49/30 127/46/30 126/54/30 +f 120/53/4 128/56/4 131/57/4 +f 121/51/2 122/53/2 130/56/2 +f 120/55/29 121/49/29 129/46/29 +f 118/51/2 126/58/2 125/52/2 +f 137/56/4 139/57/4 135/58/4 +f 138/57/2 134/58/2 136/52/2 +f 137/47/12 133/46/12 134/54/12 +f 135/57/4 148/51/4 143/53/4 +f 140/52/2 146/53/2 145/51/2 +f 136/54/9 135/58/9 139/57/9 +f 141/55/36 149/54/36 156/58/36 +f 143/53/4 148/51/4 156/58/4 +f 140/57/35 139/59/35 147/55/35 +f 136/59/34 141/55/34 148/51/34 +f 133/47/33 143/49/33 142/55/33 +f 136/56/2 134/57/2 142/51/2 +f 138/47/32 145/49/32 144/55/32 +f 139/58/4 137/52/4 144/53/4 +f 147/55/31 155/54/31 154/58/31 +f 143/49/30 151/46/30 150/54/30 +f 144/53/4 152/56/4 155/57/4 +f 145/51/2 146/53/2 154/56/2 +f 144/55/29 145/49/29 153/46/29 +f 142/51/2 150/58/2 149/52/2 +f 20/60/9 19/77/9 158/61/9 +f 10/63/9 9/72/9 160/64/9 +f 17/66/9 162/79/9 161/67/9 +f 11/69/9 164/82/9 163/70/9 +f 12/71/9 163/70/9 160/64/9 +f 10/63/9 159/65/9 166/73/9 +f 20/60/9 157/62/9 169/75/9 +f 19/77/9 18/68/9 161/67/9 +f 17/66/9 167/86/9 166/78/9 +f 165/3/3 166/2/3 159/80/3 +f 11/69/9 170/87/9 169/81/9 +f 168/3/1 169/2/1 157/80/1 diff --git a/src/main/resources/assets/hbm/models/lights/flood_lamp.obj b/src/main/resources/assets/hbm/models/lights/flood_lamp.obj new file mode 100644 index 000000000..09cddd769 --- /dev/null +++ b/src/main/resources/assets/hbm/models/lights/flood_lamp.obj @@ -0,0 +1,228 @@ +# Blender 4.0.1 +# www.blender.org +o FloodLamp +v 0.015049 -0.086498 0.155863 +v 0.015049 0.086498 0.155863 +v 0.015049 -0.086498 -0.155863 +v 0.015049 0.086498 -0.155863 +v 0.306240 -0.185247 0.273848 +v 0.306240 0.185247 0.273848 +v 0.306240 -0.185247 -0.273848 +v 0.306240 0.185247 -0.273848 +v 0.306240 0.228156 -0.325088 +v 0.306240 -0.228156 -0.325088 +v 0.306240 -0.228156 0.325088 +v 0.306240 0.228156 0.325088 +v 0.183352 0.115790 -0.171171 +v 0.183352 -0.115790 -0.171171 +v 0.183352 -0.115790 0.171171 +v 0.183352 0.115790 0.171171 +v 0.183138 0.057253 -0.202014 +v 0.183138 0.057253 0.202014 +v 0.183138 -0.057253 -0.202014 +v 0.183138 -0.057253 0.202014 +v 0.214999 -0.040484 -0.202014 +v 0.214999 -0.040484 0.202014 +v 0.228196 0.000000 -0.202014 +v 0.228196 0.000000 0.202014 +v 0.214999 0.040484 -0.202014 +v 0.214999 0.040484 0.202014 +v -0.001481 -0.036719 0.241790 +v -0.001481 0.036719 0.241790 +v -0.001481 -0.036719 -0.241790 +v -0.001481 0.036719 -0.241790 +v 0.005048 -0.036719 0.237296 +v 0.005048 0.036719 0.237296 +v 0.005048 -0.036719 -0.237296 +v 0.005048 0.036719 -0.237296 +v 0.150804 -0.036719 0.259541 +v 0.150804 0.036719 0.259541 +v 0.150804 0.036719 -0.259541 +v 0.150804 -0.036719 -0.259541 +v 0.150804 -0.036719 -0.253185 +v 0.150804 0.036719 -0.253185 +v 0.150804 0.036719 0.253185 +v 0.150804 -0.036719 0.253185 +v 0.071925 -0.135739 -0.228998 +v 0.071925 0.135739 -0.228998 +v 0.071925 -0.135739 0.228998 +v 0.071925 0.135739 0.228998 +v 0.256780 0.219497 -0.320654 +v 0.256780 -0.219497 0.320654 +v 0.256780 -0.219497 -0.320654 +v 0.256780 0.219497 0.320654 +vn -1.0000 -0.0000 -0.0000 +vn -0.0893 -0.0000 -0.9960 +vn 0.4920 -0.8706 -0.0000 +vn -0.7894 -0.0000 0.6139 +vn -0.1724 -0.9850 -0.0000 +vn -0.6545 0.7560 -0.0000 +vn 1.0000 -0.0000 -0.0000 +vn 0.6412 -0.0000 0.7674 +vn 0.6412 -0.0000 -0.7674 +vn 0.4920 0.8706 -0.0000 +vn 0.4658 -0.8849 -0.0000 +vn 0.9508 -0.3099 -0.0000 +vn 0.9508 0.3099 -0.0000 +vn 0.4658 0.8849 -0.0000 +vn -0.0000 -1.0000 -0.0000 +vn 0.1084 -0.0000 0.9941 +vn -0.0000 1.0000 -0.0000 +vn 0.1084 -0.0000 -0.9941 +vn -0.1158 -0.0000 -0.9933 +vn -0.1158 -0.0000 0.9933 +vn -0.4127 0.9109 -0.0000 +vn -0.6545 -0.7560 -0.0000 +vn -0.4442 -0.0000 0.8959 +vn -0.7894 -0.0000 -0.6139 +vn -0.0893 -0.0000 0.9960 +vn -0.1724 0.9850 -0.0000 +vn -0.4127 -0.9109 -0.0000 +vn -0.4442 -0.0000 -0.8959 +vt 0.750000 0.312500 +vt 0.937500 0.000000 +vt 0.937500 0.312500 +vt 0.433577 0.606066 +vt 0.390675 0.995211 +vt 0.433577 0.987684 +vt 0.319041 0.068172 +vt 0.433066 0.416342 +vt 0.319041 0.496674 +vt 0.592516 0.678877 +vt 0.640575 0.872068 +vt 0.592516 0.914873 +vt 0.954474 0.992052 +vt 0.393131 0.950474 +vt 0.950619 0.950474 +vt 0.536383 0.742486 +vt 0.870944 0.796340 +vt 0.472806 0.796340 +vt 0.520556 0.519306 +vt 0.125992 0.563849 +vt 0.166945 0.519306 +vt 0.520555 0.043194 +vt 0.561508 0.563849 +vt 0.125992 -0.001349 +vt 0.166945 0.043194 +vt 0.166945 0.045709 +vt 0.561508 0.001166 +vt 0.520555 0.045709 +vt 0.062500 1.000000 +vt 0.312500 0.687500 +vt 0.312500 1.000000 +vt 0.999676 0.773340 +vt 0.890949 0.511648 +vt 0.999676 0.451269 +vt 1.000000 0.773310 +vt 0.891273 0.511618 +vt 1.000000 0.451239 +vt 0.320607 0.064998 +vt 0.433145 0.419320 +vt 0.320607 0.493499 +vt 0.000000 0.437500 +vt 0.062500 0.437500 +vt 0.000000 1.000000 +vt 0.937500 0.437500 +vt 1.000000 0.000000 +vt 1.000000 0.437500 +vt 1.000000 0.125000 +vt 0.937500 0.125000 +vt 0.950619 0.956002 +vt 0.393131 0.956002 +vt 0.807367 0.757948 +vt 0.472806 0.801131 +vt 0.536383 0.757948 +vt 0.640575 0.721682 +vt 0.390675 0.598539 +vt 0.390675 0.995211 +vt 0.954474 0.995950 +vt 0.389276 0.995950 +vt 0.870944 0.801131 +vt 0.750000 0.000000 +vt 0.390675 0.598539 +vt 0.433066 0.148504 +vt 0.389276 0.992052 +vt 0.807367 0.742486 +vt 0.561508 -0.001349 +vt 0.125992 0.001166 +vt 0.062500 0.687500 +vt 0.890949 0.712961 +vt 0.891273 0.712931 +vt 0.433145 0.151481 +s 0 +f 2/1/1 3/2/1 1/3/1 +f 47/4/2 10/5/2 49/6/2 +f 6/7/3 13/8/3 8/9/3 +f 46/10/4 1/11/4 45/12/4 +f 10/13/5 48/14/5 49/15/5 +f 4/16/6 46/17/6 44/18/6 +f 7/19/7 9/20/7 8/21/7 +f 5/22/7 10/23/7 7/19/7 +f 8/21/7 12/24/7 6/25/7 +f 6/26/7 11/27/7 5/28/7 +f 13/29/7 15/30/7 14/31/7 +f 8/32/8 14/33/8 7/34/8 +f 5/35/9 16/36/9 6/37/9 +f 7/38/10 15/39/10 5/40/10 +f 21/41/11 20/29/11 19/42/11 +f 23/41/12 22/29/12 21/42/12 +f 25/29/13 24/41/13 23/43/13 +f 17/29/14 26/41/14 25/43/14 +f 28/44/1 29/45/1 27/46/1 +f 33/2/15 38/47/15 39/48/15 +f 34/44/7 31/45/7 33/46/7 +f 33/45/16 40/48/16 34/2/16 +f 33/44/15 27/45/15 29/46/15 +f 30/45/17 32/44/17 34/2/17 +f 32/2/17 36/47/17 41/48/17 +f 32/48/18 42/45/18 31/47/18 +f 34/45/17 37/48/17 30/2/17 +f 30/48/19 38/45/19 29/47/19 +f 27/45/20 36/48/20 28/2/20 +f 31/45/15 35/48/15 27/2/15 +f 44/18/21 50/49/21 47/50/21 +f 3/51/22 45/52/22 1/53/22 +f 50/4/23 45/12/23 48/6/23 +f 4/54/24 43/12/24 3/11/24 +f 12/55/25 48/6/25 11/56/25 +f 47/50/26 12/57/26 9/58/26 +f 49/15/27 45/52/27 43/59/27 +f 44/10/28 49/6/28 43/12/28 +f 2/1/1 4/60/1 3/2/1 +f 47/4/2 9/61/2 10/5/2 +f 6/7/3 16/62/3 13/8/3 +f 46/10/4 2/54/4 1/11/4 +f 10/13/5 11/63/5 48/14/5 +f 4/16/6 2/64/6 46/17/6 +f 7/19/7 10/23/7 9/20/7 +f 5/22/7 11/65/7 10/23/7 +f 8/21/7 9/20/7 12/24/7 +f 6/26/7 12/66/7 11/27/7 +f 13/29/7 16/67/7 15/30/7 +f 8/32/8 13/68/8 14/33/8 +f 5/35/9 15/69/9 16/36/9 +f 7/38/10 14/70/10 15/39/10 +f 21/41/11 22/43/11 20/29/11 +f 23/41/12 24/43/12 22/29/12 +f 25/29/13 26/42/13 24/41/13 +f 17/29/14 18/42/14 26/41/14 +f 28/44/1 30/2/1 29/45/1 +f 33/2/15 29/45/15 38/47/15 +f 34/44/7 32/2/7 31/45/7 +f 33/45/16 39/47/16 40/48/16 +f 33/44/15 31/2/15 27/45/15 +f 30/45/17 28/46/17 32/44/17 +f 32/2/17 28/45/17 36/47/17 +f 32/48/18 41/2/18 42/45/18 +f 34/45/17 40/47/17 37/48/17 +f 30/48/19 37/2/19 38/45/19 +f 27/45/20 35/47/20 36/48/20 +f 31/45/15 42/47/15 35/48/15 +f 44/18/21 46/17/21 50/49/21 +f 3/51/22 43/59/22 45/52/22 +f 50/4/23 46/10/23 45/12/23 +f 4/54/24 44/10/24 43/12/24 +f 12/55/25 50/4/25 48/6/25 +f 47/50/26 50/49/26 12/57/26 +f 49/15/27 48/14/27 45/52/27 +f 44/10/28 47/4/28 49/6/28 diff --git a/src/main/resources/assets/hbm/models/lights/fluorescent_lamp.obj b/src/main/resources/assets/hbm/models/lights/fluorescent_lamp.obj new file mode 100644 index 000000000..9343ef1bc --- /dev/null +++ b/src/main/resources/assets/hbm/models/lights/fluorescent_lamp.obj @@ -0,0 +1,306 @@ +# Blender 4.0.1 +# www.blender.org +o FluoroCap +v -0.002210 -0.289110 0.300000 +v -0.002210 0.289110 0.300000 +v -0.002210 -0.289110 -0.500000 +v -0.002210 0.289110 -0.500000 +v 0.147790 -0.315000 0.300000 +v 0.147790 0.315000 0.300000 +v 0.147790 -0.315000 -0.500000 +v 0.147790 0.315000 -0.500000 +v 0.072790 -0.315000 -0.500000 +v 0.072790 0.315000 -0.500000 +v 0.072790 -0.315000 0.300000 +v 0.072790 0.315000 0.300000 +v -0.002210 0.289110 0.350000 +v -0.002210 -0.289110 0.350000 +v 0.147790 -0.315000 0.350000 +v 0.147790 0.315000 0.350000 +v 0.072790 0.315000 0.350000 +v 0.072790 -0.315000 0.350000 +vn -0.0000 -0.0000 -1.0000 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 -1.0000 -0.0000 +vn -0.3263 0.9453 -0.0000 +vn -0.0000 1.0000 -0.0000 +vn -0.3263 -0.9453 -0.0000 +vn -0.0000 -0.0000 1.0000 +vt 0.125000 0.937500 +vt 0.625000 0.875000 +vt 0.625000 0.937500 +vt 0.125000 0.687500 +vt 0.625000 0.125000 +vt 0.625000 0.687500 +vt 0.687500 0.125000 +vt 0.687500 0.687500 +vt 0.000000 0.687500 +vt 0.062500 0.125000 +vt 0.062500 0.687500 +vt 0.125000 0.125000 +vt 0.750000 0.125000 +vt 0.750000 0.687500 +vt 0.125000 1.000000 +vt 0.625000 1.000000 +vt 0.125000 0.062500 +vt 0.625000 0.000000 +vt 0.625000 0.062500 +vt 1.000000 0.375000 +vt 0.937500 0.437500 +vt 0.937500 0.375000 +vt 1.000000 0.437500 +vt 0.937500 1.000000 +vt 1.000000 0.500000 +vt 1.000000 1.000000 +vt 0.937500 0.500000 +vt 0.125000 0.875000 +vt 0.000000 0.125000 +vt 0.125000 0.000000 +s 0 +f 10/1/1 7/2/1 9/3/1 +f 8/4/2 5/5/2 7/6/2 +f 7/6/3 11/7/3 9/8/3 +f 4/9/4 12/10/4 10/11/4 +f 10/11/5 6/12/5 8/4/5 +f 9/8/6 1/13/6 3/14/6 +f 4/15/1 9/3/1 3/16/1 +f 17/17/7 14/18/7 18/19/7 +f 13/20/4 12/21/4 2/22/4 +f 18/21/6 1/20/6 11/23/6 +f 16/12/7 18/19/7 15/5/7 +f 16/24/2 5/25/2 6/26/2 +f 17/21/5 6/25/5 12/23/5 +f 15/27/3 11/23/3 5/25/3 +f 10/1/1 8/28/1 7/2/1 +f 8/4/2 6/12/2 5/5/2 +f 7/6/3 5/5/3 11/7/3 +f 4/9/4 2/29/4 12/10/4 +f 10/11/5 12/10/5 6/12/5 +f 9/8/6 11/7/6 1/13/6 +f 4/15/1 10/1/1 9/3/1 +f 17/17/7 13/30/7 14/18/7 +f 13/20/4 17/23/4 12/21/4 +f 18/21/6 14/22/6 1/20/6 +f 16/12/7 17/17/7 18/19/7 +f 16/24/2 15/27/2 5/25/2 +f 17/21/5 16/27/5 6/25/5 +f 15/27/3 18/21/3 11/23/3 +o FluoroMid +v -0.002210 -0.289110 0.500000 +v -0.002210 0.289110 0.500000 +v -0.002210 -0.289110 -0.500000 +v -0.002210 0.289110 -0.500000 +v 0.147790 -0.315000 0.500000 +v 0.147790 0.315000 0.500000 +v 0.147790 -0.315000 -0.500000 +v 0.147790 0.315000 -0.500000 +v 0.072790 -0.315000 -0.500000 +v 0.072790 0.315000 -0.500000 +v 0.072790 -0.315000 0.500000 +v 0.072790 0.315000 0.500000 +v -0.002210 -0.289110 0.000000 +v -0.002210 0.289110 0.000000 +v 0.147790 -0.315000 0.000000 +v 0.147790 0.315000 0.000000 +v 0.072790 0.315000 0.000000 +v 0.072790 -0.315000 0.000000 +vn -0.0000 -0.0000 -1.0000 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn -0.0000 -1.0000 -0.0000 +vn -0.3263 0.9453 -0.0000 +vn -0.0000 1.0000 -0.0000 +vn -0.3263 -0.9453 -0.0000 +vt 0.125000 0.937500 +vt 0.625000 0.875000 +vt 0.625000 0.937500 +vt 0.125000 0.687500 +vt 0.625000 0.312500 +vt 0.625000 0.687500 +vt 0.125000 0.062500 +vt 0.625000 0.000000 +vt 0.625000 0.062500 +vt 0.625000 0.500000 +vt 0.687500 0.125000 +vt 0.687500 0.500000 +vt 0.000000 0.500000 +vt 0.062500 0.125000 +vt 0.062500 0.500000 +vt 0.125000 0.125000 +vt 0.125000 0.500000 +vt 0.750000 0.125000 +vt 0.750000 0.500000 +vt 0.625000 0.125000 +vt 0.125000 1.000000 +vt 0.625000 1.000000 +vt 0.687500 0.875000 +vt 0.750000 0.875000 +vt 0.062500 0.875000 +vt 0.125000 0.875000 +vt -0.000000 0.875000 +vt 0.125000 0.312500 +vt 0.125000 0.000000 +vt 0.000000 0.125000 +s 0 +f 28/31/8 25/32/8 27/33/8 +f 34/34/9 23/35/9 33/36/9 +f 30/37/10 19/38/10 29/39/10 +f 33/40/11 29/41/11 36/42/11 +f 32/43/12 30/44/12 35/45/12 +f 35/45/13 24/46/13 34/47/13 +f 36/42/14 19/48/14 31/49/14 +f 24/46/10 29/39/10 23/50/10 +f 22/51/8 27/33/8 21/52/8 +f 27/53/14 31/49/14 21/54/14 +f 28/55/13 34/47/13 26/56/13 +f 22/57/12 35/45/12 28/55/12 +f 25/32/11 36/42/11 27/53/11 +f 26/34/9 33/35/9 25/36/9 +f 28/31/8 26/56/8 25/32/8 +f 34/34/9 24/58/9 23/35/9 +f 30/37/10 20/59/10 19/38/10 +f 33/40/11 23/50/11 29/41/11 +f 32/43/12 20/60/12 30/44/12 +f 35/45/13 30/44/13 24/46/13 +f 36/42/14 29/41/14 19/48/14 +f 24/46/10 30/37/10 29/39/10 +f 22/51/8 28/31/8 27/33/8 +f 27/53/14 36/42/14 31/49/14 +f 28/55/13 35/45/13 34/47/13 +f 22/57/12 32/43/12 35/45/12 +f 25/32/11 33/40/11 36/42/11 +f 26/34/9 34/58/9 33/35/9 +o FluoroSingle +v -0.002210 -0.289110 0.300000 +v -0.002210 0.289110 0.300000 +v -0.002210 -0.289110 -0.300000 +v -0.002210 0.289110 -0.300000 +v 0.147790 -0.315000 0.300000 +v 0.147790 0.315000 0.300000 +v 0.147790 -0.315000 -0.300000 +v 0.147790 0.315000 -0.300000 +v 0.072790 -0.315000 -0.300000 +v 0.072790 0.315000 -0.300000 +v 0.072790 -0.315000 0.300000 +v 0.072790 0.315000 0.300000 +v 0.072790 -0.315000 -0.350000 +v 0.072790 0.315000 -0.350000 +v 0.147790 0.315000 -0.350000 +v 0.147790 -0.315000 -0.350000 +v 0.072790 -0.315000 0.350000 +v 0.072790 0.315000 0.350000 +v -0.002210 0.289110 0.350000 +v -0.002210 -0.289110 0.350000 +v 0.147790 -0.315000 0.350000 +v 0.147790 0.315000 0.350000 +v -0.002210 -0.289110 -0.350000 +v -0.002210 0.289110 -0.350000 +v -0.002210 -0.289110 0.000000 +v -0.002210 0.289110 0.000000 +v 0.147790 -0.315000 0.000000 +v 0.147790 0.315000 0.000000 +v 0.072790 0.315000 0.000000 +v 0.072790 -0.315000 0.000000 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 -1.0000 -0.0000 +vn -0.3263 0.9453 -0.0000 +vn -0.0000 1.0000 -0.0000 +vn -0.3263 -0.9453 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn -0.0000 -0.0000 1.0000 +vt 0.125000 0.375000 +vt 0.625000 0.125000 +vt 0.625000 0.375000 +vt 0.625000 0.625000 +vt 0.687500 0.375000 +vt 0.687500 0.625000 +vt 0.000000 0.625000 +vt 0.062500 0.375000 +vt 0.062500 0.625000 +vt 0.125000 0.375000 +vt 0.125000 0.625000 +vt 0.750000 0.375000 +vt 0.750000 0.625000 +vt 0.125000 0.937500 +vt 0.625000 0.875000 +vt 0.625000 0.937500 +vt 0.937500 0.437500 +vt 1.000000 0.500000 +vt 1.000000 0.437500 +vt 0.937500 0.562500 +vt 1.000000 1.000000 +vt 1.000000 0.562500 +vt 1.000000 0.500000 +vt 0.937500 0.500000 +vt 0.125000 0.062500 +vt 0.625000 -0.000000 +vt 0.625000 0.062500 +vt 1.000000 0.500000 +vt 0.125000 0.125000 +vt 0.625000 0.125000 +vt 0.937500 1.000000 +vt 0.937500 0.562500 +vt 0.125000 1.000000 +vt 0.625000 1.000000 +vt 1.000000 0.562500 +vt 1.000000 0.562500 +vt 0.687500 0.875000 +vt 0.750000 0.875000 +vt 0.062500 0.875000 +vt 0.125000 0.875000 +vt 0.000000 0.875000 +vt 0.125000 0.875000 +vt 0.625000 0.875000 +vt 0.125000 0.125000 +vt 0.625000 0.375000 +vt 0.000000 0.375000 +vt 0.125000 -0.000000 +s 0 +f 64/61/15 41/62/15 63/63/15 +f 63/64/16 47/65/16 66/66/16 +f 62/67/17 48/68/17 65/69/17 +f 65/69/18 42/70/18 64/71/18 +f 66/66/19 37/72/19 61/73/19 +f 50/74/20 52/75/20 49/76/20 +f 51/77/18 46/78/18 44/79/18 +f 52/80/15 44/81/15 43/82/15 +f 49/83/16 43/77/16 45/84/16 +f 54/85/21 56/86/21 53/87/21 +f 55/79/17 48/84/17 38/77/17 +f 53/88/19 37/77/19 47/84/19 +f 58/89/21 53/87/21 57/90/21 +f 58/91/15 41/82/15 42/81/15 +f 54/78/18 42/92/18 48/84/18 +f 57/82/16 47/84/16 41/92/16 +f 60/93/20 49/76/20 59/94/20 +f 50/84/17 40/95/17 46/78/17 +f 59/96/19 45/84/19 39/92/19 +f 45/97/19 61/73/19 39/98/19 +f 46/99/18 64/71/18 44/100/18 +f 40/101/17 65/69/17 46/99/17 +f 43/75/16 66/66/16 45/97/16 +f 44/102/15 63/64/15 43/103/15 +f 64/61/15 42/104/15 41/62/15 +f 63/64/16 41/105/16 47/65/16 +f 62/67/17 38/106/17 48/68/17 +f 65/69/18 48/68/18 42/70/18 +f 66/66/19 47/65/19 37/72/19 +f 50/74/20 51/100/20 52/75/20 +f 51/77/18 50/84/18 46/78/18 +f 52/80/15 51/91/15 44/81/15 +f 49/83/16 52/79/16 43/77/16 +f 54/85/21 55/107/21 56/86/21 +f 55/79/17 54/78/17 48/84/17 +f 53/88/19 56/79/19 37/77/19 +f 58/89/21 54/85/21 53/87/21 +f 58/91/15 57/80/15 41/82/15 +f 54/78/18 58/95/18 42/92/18 +f 57/82/16 53/88/16 47/84/16 +f 60/93/20 50/74/20 49/76/20 +f 50/84/17 60/92/17 40/95/17 +f 59/96/19 49/83/19 45/84/19 +f 45/97/19 66/66/19 61/73/19 +f 46/99/18 65/69/18 64/71/18 +f 40/101/17 62/67/17 65/69/17 +f 43/75/16 63/64/16 66/66/16 +f 44/102/15 64/71/15 63/64/15 diff --git a/src/main/resources/assets/hbm/models/machines/drain.obj b/src/main/resources/assets/hbm/models/machines/drain.obj new file mode 100644 index 000000000..0ad9f9eb5 --- /dev/null +++ b/src/main/resources/assets/hbm/models/machines/drain.obj @@ -0,0 +1,190 @@ +# Blender v2.79 (sub 0) OBJ File: 'drain.blend' +# www.blender.org +o Cube_Cube.001 +v -0.500000 0.000000 0.500000 +v -0.500000 1.000000 0.500000 +v -0.500000 0.000000 -0.500000 +v -0.500000 1.000000 -0.500000 +v 0.500000 0.000000 0.500000 +v 0.500000 1.000000 0.500000 +v 0.500000 0.000000 -0.500000 +v 0.500000 1.000000 -0.500000 +v -0.500000 0.500000 -0.500000 +v -0.500000 0.853553 -0.353553 +v -0.500000 1.000000 0.000000 +v -0.500000 0.853553 0.353553 +v -0.500000 0.500000 0.500000 +v -0.500000 0.146447 0.353553 +v -0.500000 0.000000 -0.000000 +v -0.500000 0.146447 -0.353553 +v -2.500000 0.500000 -0.500000 +v -2.500000 0.853553 -0.353553 +v -2.500000 1.000000 0.000000 +v -2.500000 0.853553 0.353553 +v -2.500000 0.500000 0.500000 +v -2.500000 0.146447 0.353553 +v -2.500000 0.000000 -0.000000 +v -2.500000 0.146447 -0.353553 +v -2.500000 0.500000 -0.437500 +v -2.500000 0.809359 -0.309359 +v -2.500000 0.937500 0.000000 +v -2.500000 0.809359 0.309359 +v -2.500000 0.500000 0.437500 +v -2.500000 0.190641 0.309359 +v -2.500000 0.062500 -0.000000 +v -2.500000 0.190641 -0.309359 +v -1.500000 0.500000 -0.437500 +v -1.500000 0.809359 -0.309359 +v -1.500000 0.937500 0.000000 +v -1.500000 0.809359 0.309359 +v -1.500000 0.500000 0.437500 +v -1.500000 0.190641 0.309359 +v -1.500000 0.062500 -0.000000 +v -1.500000 0.190641 -0.309359 +vt 0.250000 0.326531 +vt 0.000000 0.000000 +vt 0.250000 0.000000 +vt 0.250000 0.326531 +vt 0.000000 0.000000 +vt 0.250000 0.000000 +vt 0.250000 0.326531 +vt 0.000000 0.000000 +vt 0.250000 0.000000 +vt 0.250000 0.326531 +vt 0.000000 0.000000 +vt 0.250000 0.000000 +vt 0.250000 0.653061 +vt 0.000000 0.326531 +vt 0.250000 0.326531 +vt 0.250000 0.653061 +vt 0.000000 0.326531 +vt 0.437500 0.653061 +vt 0.343750 0.000000 +vt 0.437500 0.000000 +vt 0.625000 0.653061 +vt 0.531250 -0.000000 +vt 0.625000 0.000000 +vt 0.812500 0.653061 +vt 0.718750 0.000000 +vt 0.812500 0.000000 +vt 0.906250 0.653061 +vt 0.906250 -0.000000 +vt 0.343750 0.653061 +vt 0.250000 0.000000 +vt 0.531250 0.653061 +vt 0.718750 0.653061 +vt 1.000000 0.653061 +vt 1.000000 -0.000000 +vt 0.812500 0.673469 +vt 0.250000 0.653061 +vt 0.343750 0.673469 +vt 0.250000 0.673469 +vt 0.437500 0.673469 +vt 0.625000 0.673469 +vt 0.906250 0.673469 +vt 0.531250 0.673469 +vt 0.718750 0.673469 +vt 0.531250 1.000000 +vt 0.718750 1.000000 +vt 0.812500 1.000000 +vt 0.250000 1.000000 +vt 0.437500 1.000000 +vt 0.625000 1.000000 +vt 1.000000 0.673469 +vt 0.906250 1.000000 +vt 0.343750 1.000000 +vt 0.249819 0.795918 +vt 0.217837 0.896766 +vt 0.140625 0.938539 +vt 0.000000 0.326531 +vt 0.000000 0.326531 +vt 0.000000 0.326531 +vt 0.000000 0.653061 +vt 0.000000 0.653061 +vt 1.000000 1.000000 +vt 0.063413 0.896766 +vt 0.031431 0.795918 +vt 0.063413 0.695070 +vt 0.140625 0.653298 +vt 0.217837 0.695070 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -0.3827 0.9239 +vn 0.0000 0.9239 0.3827 +vn 0.0000 0.3827 -0.9239 +vn 0.0000 -0.3827 -0.9239 +vn 0.0000 -0.9239 0.3827 +vn 0.0000 0.3827 0.9239 +vn 0.0000 0.9239 -0.3827 +vn 0.0000 -0.9239 -0.3827 +s off +f 2/1/1 3/2/1 1/3/1 +f 4/4/2 7/5/2 3/6/2 +f 8/7/3 5/8/3 7/9/3 +f 6/10/4 1/11/4 5/12/4 +f 7/13/5 1/14/5 3/15/5 +f 4/16/6 6/17/6 8/7/6 +f 21/18/7 14/19/7 13/20/7 +f 19/21/8 12/22/8 11/23/8 +f 17/24/9 10/25/9 9/26/9 +f 24/27/10 9/26/10 16/28/10 +f 22/29/11 15/30/11 14/19/11 +f 20/31/12 13/20/12 12/22/12 +f 18/32/13 11/23/13 10/25/13 +f 23/33/14 16/28/14 15/34/14 +f 24/27/1 25/35/1 17/24/1 +f 23/36/1 30/37/1 31/38/1 +f 20/31/1 29/39/1 21/18/1 +f 18/32/1 27/40/1 19/21/1 +f 23/33/1 32/41/1 24/27/1 +f 21/18/1 30/37/1 22/29/1 +f 19/21/1 28/42/1 20/31/1 +f 17/24/1 26/43/1 18/32/1 +f 27/40/14 36/44/14 28/42/14 +f 25/35/7 34/45/7 26/43/7 +f 32/41/12 33/46/12 25/35/12 +f 30/37/13 39/47/13 31/38/13 +f 28/42/10 37/48/10 29/39/10 +f 26/43/11 35/49/11 27/40/11 +f 31/50/8 40/51/8 32/41/8 +f 29/39/9 38/52/9 30/37/9 +f 37/53/1 36/54/1 35/55/1 +f 2/1/1 4/56/1 3/2/1 +f 4/4/2 8/57/2 7/5/2 +f 8/7/3 6/17/3 5/8/3 +f 6/10/4 2/58/4 1/11/4 +f 7/13/5 5/59/5 1/14/5 +f 4/16/6 2/60/6 6/17/6 +f 21/18/7 22/29/7 14/19/7 +f 19/21/8 20/31/8 12/22/8 +f 17/24/9 18/32/9 10/25/9 +f 24/27/10 17/24/10 9/26/10 +f 22/29/11 23/36/11 15/30/11 +f 20/31/12 21/18/12 13/20/12 +f 18/32/13 19/21/13 11/23/13 +f 23/33/14 24/27/14 16/28/14 +f 24/27/1 32/41/1 25/35/1 +f 23/36/1 22/29/1 30/37/1 +f 20/31/1 28/42/1 29/39/1 +f 18/32/1 26/43/1 27/40/1 +f 23/33/1 31/50/1 32/41/1 +f 21/18/1 29/39/1 30/37/1 +f 19/21/1 27/40/1 28/42/1 +f 17/24/1 25/35/1 26/43/1 +f 27/40/14 35/49/14 36/44/14 +f 25/35/7 33/46/7 34/45/7 +f 32/41/12 40/51/12 33/46/12 +f 30/37/13 38/52/13 39/47/13 +f 28/42/10 36/44/10 37/48/10 +f 26/43/11 34/45/11 35/49/11 +f 31/50/8 39/61/8 40/51/8 +f 29/39/9 37/48/9 38/52/9 +f 35/55/1 34/62/1 33/63/1 +f 33/63/1 40/64/1 35/55/1 +f 40/64/1 39/65/1 35/55/1 +f 39/65/1 38/66/1 35/55/1 +f 38/66/1 37/53/1 35/55/1 diff --git a/src/main/resources/assets/hbm/models/machines/hydrotreater.obj b/src/main/resources/assets/hbm/models/machines/hydrotreater.obj new file mode 100644 index 000000000..ff351449e --- /dev/null +++ b/src/main/resources/assets/hbm/models/machines/hydrotreater.obj @@ -0,0 +1,2311 @@ +# Blender v2.79 (sub 0) OBJ File: 'hydrotreater.blend' +# www.blender.org +o Plane +v -1.500000 0.000000 1.500000 +v 1.500000 0.000000 1.500000 +v -1.500000 0.000000 -1.500000 +v 1.500000 0.000000 -1.500000 +v -1.500000 1.000000 1.500000 +v 1.500000 1.000000 1.500000 +v -1.500000 1.000000 -1.500000 +v 1.500000 1.000000 -1.500000 +v 1.500000 0.125000 1.375000 +v 1.500000 0.125000 -1.375000 +v 1.500000 0.875000 1.375000 +v 1.500000 0.875000 -1.375000 +v 1.375000 0.125000 1.375000 +v 1.375000 0.125000 -1.375000 +v 1.375000 0.875000 1.375000 +v 1.375000 0.875000 -1.375000 +v -1.500000 0.125000 -1.375000 +v -1.500000 0.125000 1.375000 +v -1.500000 0.875000 -1.375000 +v -1.500000 0.875000 1.375000 +v -1.375000 0.125000 -1.375000 +v -1.375000 0.125000 1.375000 +v -1.375000 0.875000 -1.375000 +v -1.375000 0.875000 1.375000 +v 1.375000 0.125000 -1.500000 +v -1.375000 0.125000 -1.500000 +v 1.375000 0.875000 -1.500000 +v -1.375000 0.875000 -1.500000 +v 1.375000 0.125000 -1.375000 +v -1.375000 0.125000 -1.375000 +v 1.375000 0.875000 -1.375000 +v -1.375000 0.875000 -1.375000 +v -1.375000 0.125000 1.500000 +v 1.375000 0.125000 1.500000 +v -1.375000 0.875000 1.500000 +v 1.375000 0.875000 1.500000 +v -1.375000 0.125000 1.375000 +v 1.375000 0.125000 1.375000 +v -1.375000 0.875000 1.375000 +v 1.375000 0.875000 1.375000 +v 0.000000 6.000000 -1.500000 +v -0.574025 6.000000 -1.385819 +v -1.060660 6.000000 -1.060660 +v -1.385819 6.000000 -0.574025 +v -1.500000 6.000000 0.000000 +v -1.385819 6.000000 0.574025 +v -1.060660 6.000000 1.060660 +v -0.574025 6.000000 1.385819 +v -0.000000 6.000000 1.500000 +v 0.574025 6.000000 1.385819 +v 1.060660 6.000000 1.060660 +v 1.385819 6.000000 0.574025 +v 1.500000 6.000000 0.000000 +v 1.385819 6.000000 -0.574025 +v 1.060660 6.000000 -1.060660 +v 0.574024 6.000000 -1.385820 +v 0.000000 5.500000 -1.500000 +v -0.574025 5.500000 -1.385819 +v -1.060660 5.500000 -1.060660 +v -1.385819 5.500000 -0.574025 +v -1.500000 5.500000 0.000000 +v -1.385819 5.500000 0.574025 +v -1.060660 5.500000 1.060660 +v -0.574025 5.500000 1.385819 +v -0.000000 5.500000 1.500000 +v 0.574025 5.500000 1.385819 +v 1.060660 5.500000 1.060660 +v 1.385819 5.500000 0.574025 +v 1.500000 5.500000 0.000000 +v 1.385819 5.500000 -0.574025 +v 1.060660 5.500000 -1.060660 +v 0.574024 5.500000 -1.385820 +v -0.000000 6.000000 -1.125000 +v -0.430519 6.000000 -1.039364 +v -0.795495 6.000000 -0.795495 +v -1.039364 6.000000 -0.430519 +v -1.125000 6.000000 0.000000 +v -1.039364 6.000000 0.430519 +v -0.795495 6.000000 0.795495 +v -0.430519 6.000000 1.039364 +v -0.000000 6.000000 1.125000 +v 0.430519 6.000000 1.039365 +v 0.795495 6.000000 0.795496 +v 1.039364 6.000000 0.430519 +v 1.125000 6.000000 0.000000 +v 1.039364 6.000000 -0.430519 +v 0.795495 6.000000 -0.795496 +v 0.430518 6.000000 -1.039365 +v -0.000000 7.000000 -0.750000 +v -0.287013 7.000000 -0.692910 +v -0.530330 7.000000 -0.530330 +v -0.692910 7.000000 -0.287013 +v -0.750000 7.000000 0.000000 +v -0.692910 7.000000 0.287013 +v -0.530330 7.000000 0.530330 +v -0.287013 7.000000 0.692910 +v -0.000000 7.000000 0.750000 +v 0.287012 7.000000 0.692910 +v 0.530330 7.000000 0.530330 +v 0.692909 7.000000 0.287013 +v 0.750000 7.000000 0.000000 +v 0.692909 7.000000 -0.287013 +v 0.530330 7.000000 -0.530330 +v 0.287012 7.000000 -0.692910 +v 0.000000 2.000000 -1.500000 +v -0.574025 2.000000 -1.385819 +v -1.060660 2.000000 -1.060660 +v -1.385819 2.000000 -0.574025 +v -1.500000 2.000000 0.000000 +v -1.385819 2.000000 0.574025 +v -1.060660 2.000000 1.060660 +v -0.574025 2.000000 1.385819 +v -0.000000 2.000000 1.500000 +v 0.574025 2.000000 1.385819 +v 1.060660 2.000000 1.060660 +v 1.385819 2.000000 0.574025 +v 1.500000 2.000000 0.000000 +v 1.385819 2.000000 -0.574025 +v 1.060660 2.000000 -1.060660 +v 0.574024 2.000000 -1.385820 +v 0.000000 2.500000 -1.500000 +v -0.574025 2.500000 -1.385819 +v -1.060660 2.500000 -1.060660 +v -1.385819 2.500000 -0.574025 +v -1.500000 2.500000 0.000000 +v -1.385819 2.500000 0.574025 +v -1.060660 2.500000 1.060660 +v -0.574025 2.500000 1.385819 +v -0.000000 2.500000 1.500000 +v 0.574025 2.500000 1.385819 +v 1.060660 2.500000 1.060660 +v 1.385819 2.500000 0.574025 +v 1.500000 2.500000 0.000000 +v 1.385819 2.500000 -0.574025 +v 1.060660 2.500000 -1.060660 +v 0.574024 2.500000 -1.385820 +v -0.000000 2.500000 -1.375000 +v -0.526190 2.500000 -1.270334 +v -0.972272 2.500000 -0.972272 +v -1.270334 2.500000 -0.526190 +v -1.375000 2.500000 0.000000 +v -1.270334 2.500000 0.526190 +v -0.972272 2.500000 0.972272 +v -0.526190 2.500000 1.270334 +v -0.000000 2.500000 1.375000 +v 0.526189 2.500000 1.270334 +v 0.972272 2.500000 0.972272 +v 1.270334 2.500000 0.526190 +v 1.375000 2.500000 0.000000 +v 1.270334 2.500000 -0.526190 +v 0.972271 2.500000 -0.972272 +v 0.526189 2.500000 -1.270335 +v -0.000000 5.500000 -1.375000 +v -0.526190 5.500000 -1.270334 +v -0.972272 5.500000 -0.972272 +v -1.270334 5.500000 -0.526190 +v -1.375000 5.500000 0.000000 +v -1.270334 5.500000 0.526190 +v -0.972272 5.500000 0.972272 +v -0.526190 5.500000 1.270334 +v -0.000000 5.500000 1.375000 +v 0.526189 5.500000 1.270334 +v 0.972272 5.500000 0.972272 +v 1.270334 5.500000 0.526190 +v 1.375000 5.500000 0.000000 +v 1.270334 5.500000 -0.526190 +v 0.972271 5.500000 -0.972272 +v 0.526189 5.500000 -1.270335 +v -0.000000 2.000000 -1.125000 +v -0.430519 2.000000 -1.039364 +v -0.795495 2.000000 -0.795495 +v -1.039364 2.000000 -0.430519 +v -1.125000 2.000000 0.000000 +v -1.039364 2.000000 0.430519 +v -0.795495 2.000000 0.795495 +v -0.430519 2.000000 1.039364 +v -0.000000 2.000000 1.125000 +v 0.430519 2.000000 1.039365 +v 0.795495 2.000000 0.795496 +v 1.039364 2.000000 0.430519 +v 1.125000 2.000000 0.000000 +v 1.039364 2.000000 -0.430519 +v 0.795495 2.000000 -0.795496 +v 0.430518 2.000000 -1.039365 +v -0.000000 1.000000 -1.125000 +v -0.430519 1.000000 -1.039364 +v -0.795495 1.000000 -0.795495 +v -1.039364 1.000000 -0.430519 +v -1.125000 1.000000 0.000000 +v -1.039364 1.000000 0.430519 +v -0.795495 1.000000 0.795495 +v -0.430519 1.000000 1.039364 +v -0.000000 1.000000 1.125000 +v 0.430519 1.000000 1.039365 +v 0.795495 1.000000 0.795496 +v 1.039364 1.000000 0.430519 +v 1.125000 1.000000 0.000000 +v 1.039364 1.000000 -0.430519 +v 0.795495 1.000000 -0.795496 +v 0.430518 1.000000 -1.039365 +v 1.250368 1.000000 0.121265 +v 1.156535 1.000000 0.139929 +v 1.103383 1.000000 0.219477 +v 1.122048 1.000000 0.313309 +v 1.201595 1.000000 0.366461 +v 1.295428 1.000000 0.347796 +v 1.348580 1.000000 0.268249 +v 1.329915 1.000000 0.174417 +v 1.250368 2.000000 0.121265 +v 1.156535 2.000000 0.139929 +v 1.103383 2.000000 0.219477 +v 1.122048 2.000000 0.313309 +v 1.201595 2.000000 0.366461 +v 1.295428 2.000000 0.347796 +v 1.348580 2.000000 0.268249 +v 1.329915 2.000000 0.174417 +v 1.201595 1.000000 -0.366461 +v 1.122048 1.000000 -0.313309 +v 1.103383 1.000000 -0.219477 +v 1.156535 1.000000 -0.139929 +v 1.250368 1.000000 -0.121265 +v 1.329915 1.000000 -0.174417 +v 1.348580 1.000000 -0.268250 +v 1.295428 1.000000 -0.347796 +v 1.201595 2.000000 -0.366461 +v 1.122048 2.000000 -0.313309 +v 1.103383 2.000000 -0.219477 +v 1.156535 2.000000 -0.139929 +v 1.250368 2.000000 -0.121265 +v 1.329915 2.000000 -0.174417 +v 1.348580 2.000000 -0.268250 +v 1.295428 2.000000 -0.347796 +v -1.250368 1.000000 -0.121264 +v -1.156535 1.000000 -0.139929 +v -1.103383 1.000000 -0.219477 +v -1.122048 1.000000 -0.313309 +v -1.201595 1.000000 -0.366461 +v -1.295428 1.000000 -0.347796 +v -1.348580 1.000000 -0.268249 +v -1.329915 1.000000 -0.174417 +v -1.250368 2.000000 -0.121264 +v -1.156535 2.000000 -0.139929 +v -1.103383 2.000000 -0.219477 +v -1.122048 2.000000 -0.313309 +v -1.201595 2.000000 -0.366461 +v -1.295428 2.000000 -0.347796 +v -1.348580 2.000000 -0.268249 +v -1.329915 2.000000 -0.174417 +v -1.201595 1.000000 0.366461 +v -1.122048 1.000000 0.313309 +v -1.103383 1.000000 0.219477 +v -1.156535 1.000000 0.139929 +v -1.250368 1.000000 0.121265 +v -1.329915 1.000000 0.174417 +v -1.348580 1.000000 0.268250 +v -1.295428 1.000000 0.347797 +v -1.201595 2.000000 0.366461 +v -1.122048 2.000000 0.313309 +v -1.103383 2.000000 0.219477 +v -1.156535 2.000000 0.139929 +v -1.250368 2.000000 0.121265 +v -1.329915 2.000000 0.174417 +v -1.348580 2.000000 0.268250 +v -1.295428 2.000000 0.347797 +v 0.121265 1.000000 -1.250368 +v 0.139929 1.000000 -1.156535 +v 0.219477 1.000000 -1.103384 +v 0.313309 1.000000 -1.122048 +v 0.366461 1.000000 -1.201595 +v 0.347796 1.000000 -1.295428 +v 0.268249 1.000000 -1.348580 +v 0.174417 1.000000 -1.329915 +v 0.121265 2.000000 -1.250368 +v 0.139929 2.000000 -1.156535 +v 0.219477 2.000000 -1.103384 +v 0.313309 2.000000 -1.122048 +v 0.366461 2.000000 -1.201595 +v 0.347796 2.000000 -1.295428 +v 0.268249 2.000000 -1.348580 +v 0.174417 2.000000 -1.329915 +v -0.366461 1.000000 -1.201595 +v -0.313309 1.000000 -1.122048 +v -0.219477 1.000000 -1.103384 +v -0.139929 1.000000 -1.156535 +v -0.121265 1.000000 -1.250368 +v -0.174417 1.000000 -1.329915 +v -0.268249 1.000000 -1.348580 +v -0.347797 1.000000 -1.295428 +v -0.366461 2.000000 -1.201595 +v -0.313309 2.000000 -1.122048 +v -0.219477 2.000000 -1.103384 +v -0.139929 2.000000 -1.156535 +v -0.121265 2.000000 -1.250368 +v -0.174417 2.000000 -1.329915 +v -0.268249 2.000000 -1.348580 +v -0.347797 2.000000 -1.295428 +v -0.121265 1.000000 1.250368 +v -0.139929 1.000000 1.156535 +v -0.219476 1.000000 1.103384 +v -0.313309 1.000000 1.122048 +v -0.366461 1.000000 1.201595 +v -0.347796 1.000000 1.295428 +v -0.268249 1.000000 1.348580 +v -0.174416 1.000000 1.329915 +v -0.121265 2.000000 1.250368 +v -0.139929 2.000000 1.156535 +v -0.219476 2.000000 1.103384 +v -0.313309 2.000000 1.122048 +v -0.366461 2.000000 1.201595 +v -0.347796 2.000000 1.295428 +v -0.268249 2.000000 1.348580 +v -0.174416 2.000000 1.329915 +v 0.366461 1.000000 1.201595 +v 0.313309 1.000000 1.122048 +v 0.219477 1.000000 1.103384 +v 0.139929 1.000000 1.156535 +v 0.121265 1.000000 1.250368 +v 0.174417 1.000000 1.329915 +v 0.268250 1.000000 1.348579 +v 0.347797 1.000000 1.295428 +v 0.366461 2.000000 1.201595 +v 0.313309 2.000000 1.122048 +v 0.219477 2.000000 1.103384 +v 0.139929 2.000000 1.156535 +v 0.121265 2.000000 1.250368 +v 0.174417 2.000000 1.329915 +v 0.268250 2.000000 1.348579 +v 0.347797 2.000000 1.295428 +v 1.325825 1.000000 0.972272 +v 1.149049 1.000000 0.899048 +v 0.972272 1.000000 0.972272 +v 0.899049 1.000000 1.149049 +v 0.972272 1.000000 1.325825 +v 1.149049 1.000000 1.399049 +v 1.325825 1.000000 1.325825 +v 1.399049 1.000000 1.149049 +v 1.325825 3.000000 0.972272 +v 1.149049 3.000000 0.899048 +v 0.972272 3.000000 0.972272 +v 0.899049 3.000000 1.149049 +v 0.972272 3.000000 1.325825 +v 1.149049 3.000000 1.399049 +v 1.325825 3.000000 1.325825 +v 1.399049 3.000000 1.149049 +v 1.274048 3.176777 0.920495 +v 1.133883 3.051777 0.883883 +v 0.883883 3.051777 1.133883 +v 0.920495 3.176777 1.274048 +v 1.060660 3.301777 1.310660 +v 1.222272 3.353553 1.222272 +v 1.310660 3.301777 1.060660 +v 1.149048 3.250000 0.795495 +v 1.097272 3.073223 0.847272 +v 0.847272 3.073223 1.097272 +v 0.795495 3.250000 1.149048 +v 0.847272 3.426777 1.097272 +v 0.972272 3.500000 0.972272 +v 1.097272 3.426777 0.847272 +v 1.008884 3.073223 0.758883 +v 1.060660 3.250000 0.707107 +v 0.707107 3.250000 1.060660 +v 0.758884 3.073223 1.008883 +v 0.758884 3.426777 1.008883 +v 0.883884 3.500000 0.883883 +v 1.008884 3.426777 0.758883 +v 0.883883 3.000000 0.883883 +v -1.325825 1.000000 -0.972271 +v -1.149049 1.000000 -0.899048 +v -0.972272 1.000000 -0.972272 +v -0.899049 1.000000 -1.149049 +v -0.972272 1.000000 -1.325825 +v -1.149049 1.000000 -1.399049 +v -1.325825 1.000000 -1.325825 +v -1.399049 1.000000 -1.149049 +v -1.325825 3.000000 -0.972271 +v -1.149049 3.000000 -0.899048 +v -0.972272 3.000000 -0.972272 +v -0.899049 3.000000 -1.149049 +v -0.972272 3.000000 -1.325825 +v -1.149049 3.000000 -1.399049 +v -1.325825 3.000000 -1.325825 +v -1.399049 3.000000 -1.149049 +v -1.274049 3.176777 -0.920495 +v -1.133883 3.051777 -0.883883 +v -0.883884 3.051777 -1.133883 +v -0.920495 3.176777 -1.274048 +v -1.060660 3.301777 -1.310660 +v -1.222272 3.353553 -1.222271 +v -1.310660 3.301777 -1.060660 +v -1.149049 3.250000 -0.795495 +v -1.097272 3.073223 -0.847272 +v -0.847272 3.073223 -1.097272 +v -0.795495 3.250000 -1.149048 +v -0.847272 3.426777 -1.097272 +v -0.972272 3.500000 -0.972272 +v -1.097272 3.426777 -0.847272 +v -1.008884 3.073223 -0.758883 +v -1.060660 3.250000 -0.707107 +v -0.707107 3.250000 -1.060660 +v -0.758884 3.073223 -1.008883 +v -0.758884 3.426777 -1.008883 +v -0.883884 3.500000 -0.883883 +v -1.008884 3.426777 -0.758883 +v -0.883883 3.000000 -0.883883 +v 0.972272 1.000000 -1.325825 +v 0.899048 1.000000 -1.149049 +v 0.972272 1.000000 -0.972272 +v 1.149049 1.000000 -0.899049 +v 1.325825 1.000000 -0.972272 +v 1.399049 1.000000 -1.149049 +v 1.325825 1.000000 -1.325825 +v 1.149048 1.000000 -1.399049 +v 0.972272 3.000000 -1.325825 +v 0.899048 3.000000 -1.149049 +v 0.972272 3.000000 -0.972272 +v 1.149049 3.000000 -0.899049 +v 1.325825 3.000000 -0.972272 +v 1.399049 3.000000 -1.149049 +v 1.325825 3.000000 -1.325825 +v 1.149048 3.000000 -1.399049 +v 0.920495 3.176776 -1.274048 +v 0.883883 3.051776 -1.133883 +v 1.133883 3.051776 -0.883883 +v 1.274048 3.176776 -0.920495 +v 1.310660 3.301776 -1.060660 +v 1.222272 3.353553 -1.222272 +v 1.060660 3.301776 -1.310660 +v 0.795495 3.250000 -1.149048 +v 0.847272 3.073223 -1.097272 +v 1.097272 3.073223 -0.847272 +v 1.149048 3.250000 -0.795495 +v 1.097272 3.426776 -0.847272 +v 0.972272 3.500000 -0.972272 +v 0.847272 3.426776 -1.097272 +v 0.758883 3.073223 -1.008884 +v 0.707107 3.250000 -1.060660 +v 1.060660 3.250000 -0.707107 +v 1.008884 3.073223 -0.758883 +v 1.008884 3.426776 -0.758883 +v 0.883884 3.500000 -0.883883 +v 0.758884 3.426776 -1.008883 +v 0.883883 3.000000 -0.883883 +v -0.972272 1.000000 1.325825 +v -0.899048 1.000000 1.149049 +v -0.972272 1.000000 0.972272 +v -1.149049 1.000000 0.899049 +v -1.325825 1.000000 0.972272 +v -1.399049 1.000000 1.149049 +v -1.325825 1.000000 1.325825 +v -1.149048 1.000000 1.399049 +v -0.972272 3.000000 1.325825 +v -0.899048 3.000000 1.149049 +v -0.972272 3.000000 0.972272 +v -1.149049 3.000000 0.899049 +v -1.325825 3.000000 0.972272 +v -1.399049 3.000000 1.149049 +v -1.325825 3.000000 1.325825 +v -1.149048 3.000000 1.399049 +v -0.920495 3.176776 1.274049 +v -0.883883 3.051776 1.133883 +v -1.133883 3.051776 0.883883 +v -1.274048 3.176776 0.920495 +v -1.310660 3.301776 1.060660 +v -1.222272 3.353553 1.222272 +v -1.060660 3.301776 1.310660 +v -0.795495 3.250000 1.149049 +v -0.847272 3.073223 1.097272 +v -1.097272 3.073223 0.847272 +v -1.149048 3.250000 0.795495 +v -1.097272 3.426776 0.847272 +v -0.972272 3.500000 0.972272 +v -0.847272 3.426776 1.097272 +v -0.758883 3.073223 1.008883 +v -0.707107 3.250000 1.060660 +v -1.060660 3.250000 0.707107 +v -1.008883 3.073223 0.758883 +v -1.008883 3.426776 0.758883 +v -0.883884 3.500000 0.883883 +v -0.758884 3.426776 1.008884 +v -0.883883 3.000000 0.883883 +v 1.500000 0.312500 -0.812500 +v 1.500000 0.687500 -0.812500 +v 1.500000 0.312500 -1.187500 +v 1.500000 0.687500 -1.187500 +v 1.375000 0.312500 -1.187500 +v 1.375000 0.312500 -0.812500 +v 1.375000 0.687500 -0.812500 +v 1.375000 0.687500 -1.187500 +v 1.500000 0.312500 1.187500 +v 1.500000 0.687500 1.187500 +v 1.500000 0.312500 0.812500 +v 1.500000 0.687500 0.812500 +v 1.375000 0.312500 0.812500 +v 1.375000 0.312500 1.187500 +v 1.375000 0.687500 1.187500 +v 1.375000 0.687500 0.812500 +v -1.500000 0.312500 0.812500 +v -1.500000 0.687500 0.812500 +v -1.500000 0.312500 1.187500 +v -1.500000 0.687500 1.187500 +v -1.375000 0.312500 1.187500 +v -1.375000 0.312500 0.812500 +v -1.375000 0.687500 0.812500 +v -1.375000 0.687500 1.187500 +v -1.500000 0.312500 -1.187500 +v -1.500000 0.687500 -1.187500 +v -1.500000 0.312500 -0.812500 +v -1.500000 0.687500 -0.812500 +v -1.375000 0.312500 -0.812500 +v -1.375000 0.312500 -1.187500 +v -1.375000 0.687500 -1.187500 +v -1.375000 0.687500 -0.812500 +v -0.812500 0.312500 -1.500000 +v -0.812500 0.687500 -1.500000 +v -1.187500 0.312500 -1.500000 +v -1.187500 0.687500 -1.500000 +v -1.187500 0.312500 -1.375000 +v -0.812500 0.312500 -1.375000 +v -0.812500 0.687500 -1.375000 +v -1.187500 0.687500 -1.375000 +v 1.187500 0.312500 -1.500000 +v 1.187500 0.687500 -1.500000 +v 0.812500 0.312500 -1.500000 +v 0.812500 0.687500 -1.500000 +v 0.812500 0.312500 -1.375000 +v 1.187500 0.312500 -1.375000 +v 1.187500 0.687500 -1.375000 +v 0.812500 0.687500 -1.375000 +v 0.812500 0.312500 1.500000 +v 0.812500 0.687500 1.500000 +v 1.187500 0.312500 1.500000 +v 1.187500 0.687500 1.500000 +v 1.187500 0.312500 1.375000 +v 0.812500 0.312500 1.375000 +v 0.812500 0.687500 1.375000 +v 1.187500 0.687500 1.375000 +v -1.187500 0.312500 1.500000 +v -1.187500 0.687500 1.500000 +v -0.812500 0.312500 1.500000 +v -0.812500 0.687500 1.500000 +v -0.812500 0.312500 1.375000 +v -1.187500 0.312500 1.375000 +v -1.187500 0.687500 1.375000 +v -0.812500 0.687500 1.375000 +vt 0.240000 -0.000000 +vt -0.000000 0.375000 +vt -0.000000 -0.000000 +vt -0.000000 0.500000 +vt 0.240000 0.875000 +vt -0.000000 0.875000 +vt 0.000000 0.890625 +vt 0.010000 0.984375 +vt 0.000000 0.984375 +vt 0.230000 0.875000 +vt 0.010000 0.890625 +vt 0.010000 0.875000 +vt 0.240000 0.984375 +vt 0.230000 0.890625 +vt 0.240000 0.890625 +vt 0.000000 0.890625 +vt 0.010000 0.984375 +vt 0.000000 0.984375 +vt 0.010000 1.000000 +vt 0.230000 0.984375 +vt 0.230000 1.000000 +vt 0.230000 0.875000 +vt 0.010000 0.890625 +vt 0.010000 0.875000 +vt 0.240000 0.984375 +vt 0.230000 0.890625 +vt 0.240000 0.890625 +vt 0.010000 1.000000 +vt 0.230000 0.984375 +vt 0.230000 1.000000 +vt 0.000000 0.890625 +vt 0.010000 0.984375 +vt 0.000000 0.984375 +vt 0.230000 0.875000 +vt 0.010000 0.890625 +vt 0.010000 0.875000 +vt 0.240000 0.984375 +vt 0.230000 0.890625 +vt 0.240000 0.890625 +vt 0.000000 0.890625 +vt 0.010000 0.984375 +vt 0.000000 0.984375 +vt 0.010000 1.000000 +vt 0.230000 0.984375 +vt 0.230000 1.000000 +vt 0.230000 0.875000 +vt 0.010000 0.890625 +vt 0.010000 0.875000 +vt 0.240000 0.984375 +vt 0.230000 0.890625 +vt 0.240000 0.890625 +vt 0.010000 1.000000 +vt 0.230000 0.984375 +vt 0.230000 1.000000 +vt 0.230000 0.390625 +vt 0.240000 0.375000 +vt 0.230000 0.390625 +vt -0.000000 0.375000 +vt 0.240000 0.375000 +vt 0.230000 0.484375 +vt 0.240000 0.500000 +vt -0.000000 0.500000 +vt 0.230000 0.484375 +vt 0.240000 0.500000 +vt 0.010000 0.390625 +vt 0.010000 0.484375 +vt -0.000000 0.500000 +vt 0.230000 0.484375 +vt 0.240000 0.500000 +vt 0.230000 0.390625 +vt -0.000000 0.375000 +vt 0.240000 0.375000 +vt 0.230000 0.390625 +vt 0.000000 0.375000 +vt 0.240000 0.375000 +vt 0.000000 0.500000 +vt 0.230000 0.484375 +vt 0.240000 0.500000 +vt 0.010000 0.390625 +vt 0.010000 0.484375 +vt 0.010000 0.390625 +vt 0.010000 0.484375 +vt 0.010000 0.484375 +vt 0.010000 0.390625 +vt 0.600000 0.703125 +vt 0.560000 0.750000 +vt 0.560000 0.703125 +vt 0.280000 0.703125 +vt 0.315000 0.750000 +vt 0.280000 0.750000 +vt 0.640000 0.703125 +vt 0.600000 0.750000 +vt 0.320000 0.703125 +vt 0.355000 0.750000 +vt 0.320000 0.750000 +vt 0.680000 0.703125 +vt 0.640000 0.750000 +vt 0.360000 0.703125 +vt 0.395000 0.750000 +vt 0.360000 0.750000 +vt 0.760000 0.703125 +vt 0.720000 0.750000 +vt 0.720000 0.703125 +vt 0.680000 0.750000 +vt 0.400000 0.703125 +vt 0.435000 0.750000 +vt 0.400000 0.750000 +vt 0.800000 0.703125 +vt 0.760000 0.750000 +vt 0.440000 0.703125 +vt 0.475000 0.750000 +vt 0.445000 0.750000 +vt 0.835000 0.750000 +vt 0.800000 0.750000 +vt 0.480000 0.703125 +vt 0.515000 0.750000 +vt 0.480000 0.750000 +vt 0.840000 0.703125 +vt 0.875000 0.750000 +vt 0.840000 0.750000 +vt 0.520000 0.703125 +vt 0.555000 0.750000 +vt 0.520000 0.750000 +vt 0.240000 0.750000 +vt 0.240000 0.703125 +vt 0.999923 0.451491 +vt 0.941046 0.546755 +vt 0.880076 0.454759 +vt 0.640000 0.234375 +vt 0.680000 0.250000 +vt 0.640000 0.250000 +vt 0.600000 0.250000 +vt 0.600000 0.234375 +vt 0.560000 0.250000 +vt 0.560000 0.234375 +vt 0.520000 0.234375 +vt 0.520000 0.250000 +vt 0.480000 0.234375 +vt 0.480000 0.250000 +vt 0.440000 0.250000 +vt 0.440000 0.234375 +vt 0.400000 0.250000 +vt 0.400000 0.234375 +vt 0.360000 0.234375 +vt 0.360000 0.250000 +vt 0.320000 0.234375 +vt 0.320000 0.250000 +vt 0.280000 0.234375 +vt 0.280000 0.250000 +vt 0.240000 0.250000 +vt 0.240000 0.234375 +vt 0.880000 0.234375 +vt 0.840000 0.250000 +vt 0.840000 0.234375 +vt 0.800000 0.234375 +vt 0.800000 0.250000 +vt 0.760000 0.250000 +vt 0.760000 0.234375 +vt 0.720000 0.250000 +vt 0.720000 0.234375 +vt 0.680000 0.234375 +vt 0.560000 0.640625 +vt 0.600000 0.625000 +vt 0.600000 0.640625 +vt 0.640000 0.640625 +vt 0.680000 0.625000 +vt 0.680000 0.640625 +vt 0.720000 0.640625 +vt 0.720000 0.625000 +vt 0.760000 0.640625 +vt 0.760000 0.625000 +vt 0.800000 0.640625 +vt 0.840000 0.625000 +vt 0.840000 0.640625 +vt 0.880000 0.640625 +vt 0.240000 0.625000 +vt 0.280000 0.640625 +vt 0.240000 0.640625 +vt 0.320000 0.625000 +vt 0.320000 0.640625 +vt 0.360000 0.625000 +vt 0.360000 0.640625 +vt 0.400000 0.625000 +vt 0.400000 0.640625 +vt 0.440000 0.640625 +vt 0.440000 0.625000 +vt 0.480000 0.640625 +vt 0.480000 0.625000 +vt 0.520000 0.640625 +vt 0.520000 0.625000 +vt 0.280000 0.171875 +vt 0.240000 0.125000 +vt 0.275000 0.125000 +vt 0.600000 0.171875 +vt 0.560000 0.125000 +vt 0.595000 0.125000 +vt 0.315000 0.125000 +vt 0.320000 0.171875 +vt 0.640000 0.171875 +vt 0.600000 0.125000 +vt 0.635000 0.125000 +vt 0.355000 0.125000 +vt 0.360000 0.171875 +vt 0.675000 0.125000 +vt 0.680000 0.171875 +vt 0.395000 0.125000 +vt 0.400000 0.171875 +vt 0.760000 0.171875 +vt 0.715000 0.125000 +vt 0.755000 0.125000 +vt 0.720000 0.171875 +vt 0.680000 0.125000 +vt 0.435000 0.125000 +vt 0.440000 0.171875 +vt 0.800000 0.171875 +vt 0.760000 0.125000 +vt 0.795000 0.125000 +vt 0.475000 0.125000 +vt 0.480000 0.171875 +vt 0.835000 0.125000 +vt 0.840000 0.171875 +vt 0.515000 0.125000 +vt 0.520000 0.171875 +vt 0.875000 0.125000 +vt 0.880000 0.171875 +vt 0.555000 0.125000 +vt 0.560000 0.171875 +vt 0.360000 0.890625 +vt 0.330000 0.937500 +vt 0.330000 0.890625 +vt 0.360000 0.890625 +vt 0.330000 0.937500 +vt 0.330000 0.890625 +vt 0.370000 0.937500 +vt 0.360000 0.937500 +vt 0.320000 0.890625 +vt 0.330000 0.953125 +vt 0.360000 0.875000 +vt 0.370000 0.937500 +vt 0.360000 0.937500 +vt 0.320000 0.890625 +vt 0.330000 0.953125 +vt 0.360000 0.875000 +vt 0.360000 0.890625 +vt 0.330000 0.937500 +vt 0.330000 0.890625 +vt 0.360000 0.890625 +vt 0.330000 0.937500 +vt 0.330000 0.890625 +vt 0.370000 0.937500 +vt 0.360000 0.937500 +vt 0.320000 0.890625 +vt 0.330000 0.953125 +vt 0.360000 0.875000 +vt 0.370000 0.937500 +vt 0.360000 0.937500 +vt 0.320000 0.890625 +vt 0.330000 0.953125 +vt 0.360000 0.875000 +vt 0.360000 0.890625 +vt 0.330000 0.937500 +vt 0.330000 0.890625 +vt 0.360000 0.890625 +vt 0.330000 0.937500 +vt 0.330000 0.890625 +vt 0.370000 0.937500 +vt 0.360000 0.937500 +vt 0.320000 0.890625 +vt 0.330000 0.953125 +vt 0.360000 0.875000 +vt 0.370000 0.937500 +vt 0.360000 0.937500 +vt 0.320000 0.890625 +vt 0.330000 0.953125 +vt 0.360000 0.875000 +vt 0.360000 0.890625 +vt 0.330000 0.937500 +vt 0.330000 0.890625 +vt 0.360000 0.890625 +vt 0.330000 0.937500 +vt 0.330000 0.890625 +vt 0.370000 0.937500 +vt 0.360000 0.937500 +vt 0.320000 0.890625 +vt 0.330000 0.953125 +vt 0.360000 0.875000 +vt 0.370000 0.937500 +vt 0.360000 0.937500 +vt 0.320000 0.890625 +vt 0.330000 0.953125 +vt 0.360000 0.875000 +vt 0.595000 0.750000 +vt 0.635000 0.750000 +vt 0.675000 0.750000 +vt 0.755000 0.750000 +vt 0.715000 0.750000 +vt 0.795000 0.750000 +vt 0.880000 0.703125 +vt 0.275000 0.750000 +vt 0.995762 0.487446 +vt 0.983112 0.518176 +vt 0.963898 0.539003 +vt 0.918034 0.540254 +vt 0.898367 0.520487 +vt 0.885038 0.490466 +vt 0.884238 0.418804 +vt 0.896888 0.388074 +vt 0.916102 0.367247 +vt 0.938954 0.359495 +vt 0.961965 0.365996 +vt 0.981633 0.385763 +vt 0.994962 0.415784 +vt 0.880000 0.250000 +vt 0.560000 0.625000 +vt 0.640000 0.625000 +vt 0.800000 0.625000 +vt 0.880000 0.625000 +vt 0.280000 0.625000 +vt 0.240000 0.171875 +vt 0.280000 0.125000 +vt 0.320000 0.125000 +vt 0.640000 0.125000 +vt 0.360000 0.125000 +vt 0.400000 0.125000 +vt 0.440000 0.125000 +vt 0.800000 0.125000 +vt 0.480000 0.125000 +vt 0.840000 0.125000 +vt 0.520000 0.125000 +vt 0.370000 0.890625 +vt 0.320000 0.937500 +vt 0.360000 0.953125 +vt 0.330000 0.875000 +vt 0.370000 0.890625 +vt 0.320000 0.937500 +vt 0.360000 0.953125 +vt 0.330000 0.875000 +vt 0.370000 0.890625 +vt 0.320000 0.937500 +vt 0.360000 0.953125 +vt 0.330000 0.875000 +vt 0.370000 0.890625 +vt 0.320000 0.937500 +vt 0.360000 0.953125 +vt 0.330000 0.875000 +vt 0.370000 0.890625 +vt 0.320000 0.937500 +vt 0.360000 0.953125 +vt 0.330000 0.875000 +vt 0.370000 0.890625 +vt 0.320000 0.937500 +vt 0.360000 0.953125 +vt 0.330000 0.875000 +vt 0.370000 0.890625 +vt 0.320000 0.937500 +vt 0.360000 0.953125 +vt 0.330000 0.875000 +vt 0.370000 0.890625 +vt 0.320000 0.937500 +vt 0.360000 0.953125 +vt 0.330000 0.875000 +vt 0.485000 0.875000 +vt 0.525000 0.875000 +vt 0.565000 0.875000 +vt 0.605000 0.875000 +vt 0.645000 0.875000 +vt 0.685000 0.875000 +vt 0.745000 0.875000 +vt 0.725000 0.875000 +vt 0.765000 0.875000 +vt 0.805000 0.875000 +vt 0.845000 0.875000 +vt 0.245000 0.875000 +vt 0.285000 0.875000 +vt 0.325000 0.875000 +vt 0.385000 0.875000 +vt 0.365000 0.875000 +vt 0.425000 0.875000 +vt 0.405000 0.875000 +vt 0.445000 0.875000 +vt 0.475000 0.000000 +vt 0.835000 0.000000 +vt 0.515000 0.000000 +vt 0.875000 0.000000 +vt 0.555000 0.000000 +vt 0.275000 0.000000 +vt 0.595000 0.000000 +vt 0.315000 -0.000000 +vt 0.635000 0.000000 +vt 0.355000 -0.000000 +vt 0.675000 -0.000000 +vt 0.395000 -0.000000 +vt 0.720000 0.125000 +vt 0.755000 -0.000000 +vt 0.715000 -0.000000 +vt 0.435000 0.000000 +vt 0.795000 -0.000000 +vt 0.290000 0.875000 +vt 0.280000 1.000000 +vt 0.280000 0.875000 +vt 0.270000 0.875000 +vt 0.260000 1.000000 +vt 0.260000 0.875000 +vt 0.250000 0.875000 +vt 0.240000 1.000000 +vt 0.240000 0.875000 +vt 0.310000 0.875000 +vt 0.300000 1.000000 +vt 0.300000 0.875000 +vt 0.290000 1.000000 +vt 0.270000 1.000000 +vt 0.250000 1.000000 +vt 0.320000 0.875000 +vt 0.310000 1.000000 +vt 0.290000 0.875000 +vt 0.280000 1.000000 +vt 0.280000 0.875000 +vt 0.270000 0.875000 +vt 0.260000 1.000000 +vt 0.260000 0.875000 +vt 0.250000 0.875000 +vt 0.240000 1.000000 +vt 0.240000 0.875000 +vt 0.310000 0.875000 +vt 0.300000 1.000000 +vt 0.300000 0.875000 +vt 0.290000 1.000000 +vt 0.270000 1.000000 +vt 0.250000 1.000000 +vt 0.320000 0.875000 +vt 0.310000 1.000000 +vt 0.290000 0.875000 +vt 0.280000 1.000000 +vt 0.280000 0.875000 +vt 0.270000 0.875000 +vt 0.260000 1.000000 +vt 0.260000 0.875000 +vt 0.250000 0.875000 +vt 0.240000 1.000000 +vt 0.240000 0.875000 +vt 0.310000 0.875000 +vt 0.300000 1.000000 +vt 0.300000 0.875000 +vt 0.290000 1.000000 +vt 0.270000 1.000000 +vt 0.250000 1.000000 +vt 0.320000 0.875000 +vt 0.310000 1.000000 +vt 0.290000 0.875000 +vt 0.280000 1.000000 +vt 0.280000 0.875000 +vt 0.270000 0.875000 +vt 0.260000 1.000000 +vt 0.260000 0.875000 +vt 0.250000 0.875000 +vt 0.240000 1.000000 +vt 0.240000 0.875000 +vt 0.310000 0.875000 +vt 0.300000 1.000000 +vt 0.300000 0.875000 +vt 0.290000 1.000000 +vt 0.270000 1.000000 +vt 0.250000 1.000000 +vt 0.320000 0.875000 +vt 0.310000 1.000000 +vt 0.290000 0.875000 +vt 0.280000 1.000000 +vt 0.280000 0.875000 +vt 0.270000 0.875000 +vt 0.260000 1.000000 +vt 0.260000 0.875000 +vt 0.250000 0.875000 +vt 0.240000 1.000000 +vt 0.240000 0.875000 +vt 0.310000 0.875000 +vt 0.300000 1.000000 +vt 0.300000 0.875000 +vt 0.290000 1.000000 +vt 0.270000 1.000000 +vt 0.250000 1.000000 +vt 0.320000 0.875000 +vt 0.310000 1.000000 +vt 0.290000 0.875000 +vt 0.280000 1.000000 +vt 0.280000 0.875000 +vt 0.270000 0.875000 +vt 0.260000 1.000000 +vt 0.260000 0.875000 +vt 0.250000 0.875000 +vt 0.240000 1.000000 +vt 0.240000 0.875000 +vt 0.310000 0.875000 +vt 0.300000 1.000000 +vt 0.300000 0.875000 +vt 0.290000 1.000000 +vt 0.270000 1.000000 +vt 0.250000 1.000000 +vt 0.320000 0.875000 +vt 0.310000 1.000000 +vt 0.290000 0.875000 +vt 0.280000 1.000000 +vt 0.280000 0.875000 +vt 0.270000 0.875000 +vt 0.260000 1.000000 +vt 0.260000 0.875000 +vt 0.250000 0.875000 +vt 0.240000 1.000000 +vt 0.240000 0.875000 +vt 0.310000 0.875000 +vt 0.300000 1.000000 +vt 0.300000 0.875000 +vt 0.290000 1.000000 +vt 0.270000 1.000000 +vt 0.250000 1.000000 +vt 0.320000 0.875000 +vt 0.310000 1.000000 +vt 0.290000 0.875000 +vt 0.280000 1.000000 +vt 0.280000 0.875000 +vt 0.270000 0.875000 +vt 0.260000 1.000000 +vt 0.260000 0.875000 +vt 0.250000 0.875000 +vt 0.240000 1.000000 +vt 0.240000 0.875000 +vt 0.310000 0.875000 +vt 0.300000 1.000000 +vt 0.300000 0.875000 +vt 0.290000 1.000000 +vt 0.270000 1.000000 +vt 0.250000 1.000000 +vt 0.320000 0.875000 +vt 0.310000 1.000000 +vt 1.000000 -0.000000 +vt 0.985000 0.250000 +vt 0.985000 0.000000 +vt 0.955000 0.000000 +vt 0.940000 0.250000 +vt 0.940000 0.000000 +vt 0.925000 0.000000 +vt 0.910000 0.250000 +vt 0.910000 -0.000000 +vt 0.895000 0.000000 +vt 0.880000 0.250000 +vt 0.880000 -0.000000 +vt 0.970000 0.250000 +vt 0.970000 0.000000 +vt 0.955000 0.250000 +vt 0.925000 0.250000 +vt 0.895000 0.250000 +vt 0.910000 0.273438 +vt 0.925000 0.296875 +vt 0.910000 0.296875 +vt 0.985000 0.289062 +vt 0.970000 0.296875 +vt 0.970000 0.273438 +vt 0.955000 0.296875 +vt 0.955000 0.257812 +vt 0.925000 0.257812 +vt 0.895000 0.289062 +vt 0.895000 0.296875 +vt 0.940000 0.296875 +vt 0.940000 0.343750 +vt 0.925000 0.335938 +vt 0.910000 0.320312 +vt 0.985000 0.304688 +vt 0.970000 0.320312 +vt 0.955000 0.335938 +vt 0.895000 0.304688 +vt 0.880000 0.296875 +vt 1.000000 0.296875 +vt 0.985000 0.296875 +vt 0.955000 0.343750 +vt 0.940000 0.359375 +vt 1.000000 -0.000000 +vt 0.985000 0.250000 +vt 0.985000 0.000000 +vt 0.910000 0.343750 +vt 0.925000 0.359375 +vt 0.910000 0.359375 +vt 0.970000 0.343750 +vt 0.985000 0.359375 +vt 0.970000 0.359375 +vt 1.000000 0.343750 +vt 0.985000 0.343750 +vt 0.955000 0.359375 +vt 0.880000 0.343750 +vt 0.895000 0.359375 +vt 0.880000 0.359375 +vt 0.925000 0.343750 +vt 0.895000 0.343750 +vt 0.955000 0.000000 +vt 0.940000 0.250000 +vt 0.940000 0.000000 +vt 0.925000 0.000000 +vt 0.910000 0.250000 +vt 0.910000 -0.000000 +vt 0.895000 0.000000 +vt 0.880000 0.250000 +vt 0.880000 -0.000000 +vt 0.970000 0.250000 +vt 0.970000 0.000000 +vt 0.955000 0.250000 +vt 0.925000 0.250000 +vt 0.895000 0.250000 +vt 0.925000 0.257812 +vt 0.910000 0.296875 +vt 0.910000 0.273438 +vt 0.970000 0.273438 +vt 0.985000 0.296875 +vt 0.970000 0.296875 +vt 0.955000 0.257812 +vt 0.955000 0.296875 +vt 0.925000 0.296875 +vt 0.895000 0.296875 +vt 0.895000 0.289062 +vt 0.940000 0.296875 +vt 0.955000 0.335938 +vt 0.940000 0.343750 +vt 0.925000 0.335938 +vt 0.910000 0.320312 +vt 0.985000 0.304688 +vt 0.970000 0.320312 +vt 0.895000 0.304688 +vt 0.880000 0.296875 +vt 0.985000 0.289062 +vt 1.000000 0.296875 +vt 0.955000 0.343750 +vt 0.940000 0.359375 +vt 0.910000 0.343750 +vt 0.925000 0.359375 +vt 0.910000 0.359375 +vt 0.970000 0.343750 +vt 0.985000 0.359375 +vt 0.970000 0.359375 +vt 1.000000 0.343750 +vt 0.985000 0.343750 +vt 0.955000 0.359375 +vt 0.880000 0.343750 +vt 0.895000 0.359375 +vt 0.880000 0.359375 +vt 0.925000 0.343750 +vt 0.895000 0.343750 +vt 1.000000 -0.000000 +vt 0.985000 0.250000 +vt 0.985000 0.000000 +vt 0.955000 0.000000 +vt 0.940000 0.250000 +vt 0.940000 0.000000 +vt 0.925000 0.000000 +vt 0.910000 0.250000 +vt 0.910000 -0.000000 +vt 0.895000 0.000000 +vt 0.880000 0.250000 +vt 0.880000 -0.000000 +vt 0.970000 0.250000 +vt 0.970000 0.000000 +vt 0.955000 0.250000 +vt 0.925000 0.250000 +vt 0.895000 0.250000 +vt 0.910000 0.273438 +vt 0.925000 0.296875 +vt 0.910000 0.296875 +vt 0.985000 0.289062 +vt 0.970000 0.296875 +vt 0.970000 0.273438 +vt 0.955000 0.296875 +vt 0.955000 0.257812 +vt 0.925000 0.257812 +vt 0.895000 0.289062 +vt 0.895000 0.296875 +vt 0.940000 0.296875 +vt 0.955000 0.335938 +vt 0.940000 0.343750 +vt 0.925000 0.335938 +vt 0.910000 0.320312 +vt 0.985000 0.304688 +vt 0.970000 0.320312 +vt 0.895000 0.304688 +vt 0.880000 0.296875 +vt 1.000000 0.296875 +vt 0.985000 0.296875 +vt 0.955000 0.359375 +vt 0.940000 0.359375 +vt 1.000000 -0.000000 +vt 0.985000 0.250000 +vt 0.985000 0.000000 +vt 0.910000 0.343750 +vt 0.925000 0.359375 +vt 0.910000 0.359375 +vt 0.970000 0.343750 +vt 0.985000 0.359375 +vt 0.970000 0.359375 +vt 0.985000 0.343750 +vt 1.000000 0.359375 +vt 0.955000 0.343750 +vt 0.895000 0.343750 +vt 0.880000 0.359375 +vt 0.880000 0.343750 +vt 0.925000 0.343750 +vt 0.895000 0.359375 +vt 0.955000 0.000000 +vt 0.940000 0.250000 +vt 0.940000 0.000000 +vt 0.925000 0.000000 +vt 0.910000 0.250000 +vt 0.910000 -0.000000 +vt 0.895000 0.000000 +vt 0.880000 0.250000 +vt 0.880000 -0.000000 +vt 0.970000 0.250000 +vt 0.970000 0.000000 +vt 0.955000 0.250000 +vt 0.925000 0.250000 +vt 0.895000 0.250000 +vt 0.910000 0.273438 +vt 0.925000 0.296875 +vt 0.910000 0.296875 +vt 0.985000 0.289062 +vt 0.970000 0.296875 +vt 0.970000 0.273438 +vt 0.955000 0.296875 +vt 0.955000 0.257812 +vt 0.925000 0.257812 +vt 0.895000 0.289062 +vt 0.895000 0.296875 +vt 0.940000 0.296875 +vt 0.955000 0.335938 +vt 0.940000 0.343750 +vt 0.925000 0.335938 +vt 0.910000 0.320312 +vt 0.985000 0.304688 +vt 0.970000 0.320312 +vt 0.895000 0.304688 +vt 0.880000 0.296875 +vt 1.000000 0.296875 +vt 0.985000 0.296875 +vt 0.955000 0.359375 +vt 0.940000 0.359375 +vt 0.910000 0.343750 +vt 0.925000 0.359375 +vt 0.910000 0.359375 +vt 0.985000 0.343750 +vt 0.970000 0.359375 +vt 0.970000 0.343750 +vt 1.000000 0.343750 +vt 0.985000 0.359375 +vt 0.955000 0.343750 +vt 0.895000 0.343750 +vt 0.880000 0.359375 +vt 0.880000 0.343750 +vt 0.925000 0.343750 +vt 0.895000 0.359375 +vt 0.505000 0.875000 +vt 0.545000 0.875000 +vt 0.585000 0.875000 +vt 0.625000 0.875000 +vt 0.665000 0.875000 +vt 0.705000 0.875000 +vt 0.785000 0.875000 +vt 0.825000 0.875000 +vt 0.865000 0.875000 +vt 0.265000 0.875000 +vt 0.305000 0.875000 +vt 0.345000 0.875000 +vt 0.465000 0.875000 +vt 0.440000 -0.000000 +vt 0.800000 -0.000000 +vt 0.480000 -0.000000 +vt 0.840000 -0.000000 +vt 0.520000 -0.000000 +vt 0.240000 0.000000 +vt 0.560000 -0.000000 +vt 0.280000 -0.000000 +vt 0.600000 0.000000 +vt 0.320000 0.000000 +vt 0.640000 -0.000000 +vt 0.360000 0.000000 +vt 0.720000 -0.000000 +vt 0.680000 0.000000 +vt 0.400000 -0.000000 +vt 0.760000 -0.000000 +vt 0.320000 1.000000 +vt 0.320000 1.000000 +vt 0.320000 1.000000 +vt 0.320000 1.000000 +vt 0.320000 1.000000 +vt 0.320000 1.000000 +vt 0.320000 1.000000 +vt 0.320000 1.000000 +vt 1.000000 0.250000 +vt 1.000000 0.250000 +vt 1.000000 0.359375 +vt 1.000000 0.359375 +vt 1.000000 0.250000 +vt 1.000000 0.250000 +vt 1.000000 0.343750 +vt 1.000000 0.359375 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.9239 0.0000 -0.3827 +vn -0.9239 0.0000 0.3827 +vn -0.7071 0.0000 0.7071 +vn 0.7071 0.0000 -0.7071 +vn -0.3827 0.0000 0.9239 +vn 0.3827 0.0000 -0.9239 +vn -0.3827 0.0000 -0.9239 +vn 0.3827 0.0000 0.9239 +vn -0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +vn -0.9239 0.0000 -0.3827 +vn 0.9239 0.0000 0.3827 +vn 0.8651 0.3511 0.3583 +vn 0.6621 0.3511 0.6621 +vn 0.9363 0.3511 0.0000 +vn 0.8651 0.3511 -0.3583 +vn 0.6621 0.3511 -0.6621 +vn 0.3583 0.3511 -0.8651 +vn -0.0000 0.3511 -0.9363 +vn -0.3583 0.3511 -0.8651 +vn -0.6621 0.3511 -0.6621 +vn -0.8651 0.3511 -0.3583 +vn -0.9363 0.3511 -0.0000 +vn -0.8651 0.3511 0.3583 +vn -0.6621 0.3511 0.6621 +vn -0.3583 0.3511 0.8651 +vn -0.0000 0.3511 0.9363 +vn 0.3583 0.3511 0.8651 +vn 0.8315 0.0000 -0.5556 +vn 0.9808 0.0000 0.1951 +vn 0.5556 0.0000 0.8315 +vn -0.1951 0.0000 0.9808 +vn -0.8315 0.0000 0.5556 +vn -0.9808 0.0000 -0.1951 +vn -0.5556 0.0000 -0.8315 +vn 0.1951 0.0000 -0.9808 +vn 0.5556 0.0000 -0.8315 +vn 0.9808 0.0000 -0.1951 +vn 0.8315 0.0000 0.5556 +vn 0.1951 0.0000 0.9808 +vn -0.5556 0.0000 0.8315 +vn -0.9808 0.0000 0.1951 +vn -0.8315 0.0000 -0.5556 +vn -0.1951 0.0000 -0.9808 +vn 0.0372 -0.1363 -0.9900 +vn 0.6947 0.1866 0.6947 +vn -0.6727 0.0196 0.7396 +vn -0.5000 -0.7071 -0.5000 +vn 0.7396 0.0196 -0.6727 +vn 0.9891 0.1448 0.0283 +vn 0.0283 0.1448 0.9891 +vn -0.9900 -0.1363 0.0372 +vn -0.0945 0.5294 0.8431 +vn -0.6565 0.0671 0.7513 +vn 0.7513 0.0671 -0.6565 +vn 0.8431 0.5294 -0.0945 +vn -0.8620 -0.4617 0.2090 +vn 0.5000 0.7071 0.5000 +vn 0.1319 0.9824 0.1319 +vn -0.3780 0.7194 0.5828 +vn -0.6923 0.0473 0.7200 +vn 0.4172 -0.6737 -0.6099 +vn 0.7200 0.0473 -0.6923 +vn 0.5828 0.7194 -0.3780 +vn -0.6099 -0.6737 0.4172 +vn 0.2090 -0.4617 -0.8620 +vn -0.0372 -0.1363 0.9900 +vn -0.5000 0.7071 0.5000 +vn 0.5000 -0.7071 -0.5000 +vn 0.5000 0.7071 -0.5000 +vn -0.5000 -0.7071 0.5000 +vn -0.6947 0.1866 -0.6947 +vn 0.6727 0.0196 -0.7396 +vn 0.5000 -0.7071 0.5000 +vn -0.7396 0.0196 0.6727 +vn -0.9891 0.1448 -0.0283 +vn -0.0283 0.1448 -0.9891 +vn 0.9900 -0.1363 -0.0372 +vn 0.6565 0.0671 -0.7513 +vn -0.2090 -0.4617 0.8620 +vn -0.7513 0.0671 0.6565 +vn -0.8431 0.5294 0.0945 +vn 0.0945 0.5294 -0.8431 +vn 0.8620 -0.4617 -0.2090 +vn -0.5000 0.7071 -0.5000 +vn -0.5828 0.7194 0.3780 +vn -0.1319 0.9824 -0.1319 +vn 0.3780 0.7194 -0.5828 +vn 0.6923 0.0473 -0.7200 +vn -0.4172 -0.6737 0.6099 +vn -0.7200 0.0473 0.6923 +vn 0.6099 -0.6737 -0.4172 +vn -0.9900 -0.1363 -0.0372 +vn 0.6947 0.1866 -0.6947 +vn 0.7396 0.0196 0.6727 +vn -0.6727 0.0196 -0.7396 +vn 0.0283 0.1448 -0.9891 +vn 0.9891 0.1448 -0.0283 +vn 0.0372 -0.1363 0.9900 +vn 0.8431 0.5294 0.0945 +vn 0.7513 0.0671 0.6565 +vn -0.6565 0.0671 -0.7513 +vn -0.0945 0.5294 -0.8431 +vn 0.2090 -0.4617 0.8620 +vn -0.3780 0.7194 -0.5828 +vn 0.1319 0.9824 -0.1319 +vn 0.5828 0.7194 0.3780 +vn 0.7200 0.0473 0.6923 +vn -0.6099 -0.6737 -0.4172 +vn -0.6923 0.0473 -0.7200 +vn 0.4172 -0.6737 0.6099 +vn -0.8620 -0.4617 -0.2090 +vn 0.9900 -0.1363 0.0372 +vn -0.6947 0.1866 0.6947 +vn -0.7396 0.0196 -0.6727 +vn 0.6727 0.0196 0.7396 +vn -0.0283 0.1448 0.9891 +vn -0.9891 0.1448 0.0283 +vn -0.0372 -0.1363 -0.9900 +vn -0.8431 0.5294 -0.0945 +vn -0.7513 0.0671 -0.6565 +vn 0.6565 0.0671 0.7513 +vn 0.0945 0.5294 0.8431 +vn -0.2090 -0.4617 -0.8620 +vn 0.3780 0.7194 0.5828 +vn -0.1319 0.9824 0.1319 +vn -0.5828 0.7194 -0.3780 +vn -0.7200 0.0473 -0.6923 +vn 0.6099 -0.6737 0.4172 +vn 0.6923 0.0473 0.7200 +vn -0.4172 -0.6737 -0.6099 +vn 0.8620 -0.4617 0.2090 +s off +f 3/1/1 2/2/1 1/3/1 +f 6/4/2 7/5/2 5/6/2 +f 9/7/3 15/8/3 11/9/3 +f 10/10/2 13/11/2 9/12/2 +f 12/13/4 14/14/4 10/15/4 +f 14/14/5 15/8/5 13/11/5 +f 17/16/4 23/17/4 19/18/4 +f 11/19/1 16/20/1 12/21/1 +f 18/22/2 21/23/2 17/24/2 +f 20/25/3 22/26/3 18/27/3 +f 22/26/6 23/17/6 21/23/6 +f 19/28/1 24/29/1 20/30/1 +f 25/31/6 31/32/6 27/33/6 +f 26/34/2 29/35/2 25/36/2 +f 28/37/5 30/38/5 26/39/5 +f 30/38/3 31/32/3 29/35/3 +f 33/40/5 39/41/5 35/42/5 +f 27/43/1 32/44/1 28/45/1 +f 34/46/2 37/47/2 33/48/2 +f 36/49/6 38/50/6 34/51/6 +f 38/50/4 39/41/4 37/47/4 +f 35/52/1 40/53/1 36/54/1 +f 10/55/5 2/2/5 4/56/5 +f 26/57/3 4/58/3 3/59/3 +f 6/4/5 12/60/5 8/61/5 +f 8/62/3 28/63/3 7/64/3 +f 8/62/3 25/65/3 27/66/3 +f 10/55/5 8/61/5 12/60/5 +f 7/67/6 20/68/6 5/69/6 +f 18/70/6 3/71/6 1/72/6 +f 34/73/4 1/74/4 2/75/4 +f 5/76/4 36/77/4 6/78/4 +f 5/76/4 33/79/4 35/80/4 +f 18/70/6 5/69/6 20/68/6 +f 34/73/4 6/78/4 36/77/4 +f 6/4/5 9/81/5 11/82/5 +f 19/83/6 3/71/6 17/84/6 +f 3/59/3 28/63/3 26/57/3 +f 54/85/2 85/86/2 53/87/2 +f 46/88/2 79/89/2 78/90/2 +f 55/91/2 86/92/2 54/85/2 +f 47/93/2 80/94/2 79/95/2 +f 56/96/2 87/97/2 55/91/2 +f 48/98/2 81/99/2 80/100/2 +f 42/101/2 73/102/2 41/103/2 +f 41/103/2 88/104/2 56/96/2 +f 49/105/2 82/106/2 81/107/2 +f 43/108/2 74/109/2 42/101/2 +f 50/110/2 83/111/2 82/112/2 +f 43/108/2 76/113/2 75/114/2 +f 51/115/2 84/116/2 83/117/2 +f 44/118/2 77/119/2 76/120/2 +f 52/121/2 85/122/2 84/123/2 +f 46/88/2 77/124/2 45/125/2 +f 89/126/2 93/127/2 97/128/2 +f 135/129/2 152/130/2 151/131/2 +f 135/129/2 150/132/2 134/133/2 +f 134/133/2 149/134/2 133/135/2 +f 132/136/2 149/134/2 148/137/2 +f 131/138/2 148/137/2 147/139/2 +f 131/138/2 146/140/2 130/141/2 +f 130/141/2 145/142/2 129/143/2 +f 128/144/2 145/142/2 144/145/2 +f 127/146/2 144/145/2 143/147/2 +f 126/148/2 143/147/2 142/149/2 +f 126/148/2 141/150/2 125/151/2 +f 125/152/2 140/153/2 124/154/2 +f 123/155/2 140/153/2 139/156/2 +f 123/155/2 138/157/2 122/158/2 +f 122/158/2 137/159/2 121/160/2 +f 121/160/2 152/130/2 136/161/2 +f 69/162/1 166/163/1 70/164/1 +f 166/163/1 71/165/1 70/164/1 +f 71/165/1 168/166/1 72/167/1 +f 168/166/1 57/168/1 72/167/1 +f 153/169/1 58/170/1 57/168/1 +f 154/171/1 59/172/1 58/170/1 +f 59/172/1 156/173/1 60/174/1 +f 156/173/1 61/175/1 60/174/1 +f 157/176/1 62/177/1 61/178/1 +f 62/177/1 159/179/1 63/180/1 +f 63/180/1 160/181/1 64/182/1 +f 64/182/1 161/183/1 65/184/1 +f 161/183/1 66/185/1 65/184/1 +f 162/186/1 67/187/1 66/185/1 +f 163/188/1 68/189/1 67/187/1 +f 164/190/1 69/162/1 68/189/1 +f 110/191/1 173/192/1 174/193/1 +f 118/194/1 181/195/1 182/196/1 +f 110/191/1 175/197/1 111/198/1 +f 119/199/1 182/200/1 183/201/1 +f 111/198/1 176/202/1 112/203/1 +f 119/199/1 184/204/1 120/205/1 +f 112/203/1 177/206/1 113/207/1 +f 106/208/1 169/209/1 170/210/1 +f 105/211/1 184/212/1 169/209/1 +f 113/207/1 178/213/1 114/214/1 +f 107/215/1 170/216/1 171/217/1 +f 114/214/1 179/218/1 115/219/1 +f 107/215/1 172/220/1 108/221/1 +f 115/219/1 180/222/1 116/223/1 +f 108/221/1 173/224/1 109/225/1 +f 116/223/1 181/226/1 117/227/1 +f 483/228/5 482/229/5 481/230/5 +f 491/231/5 490/232/5 489/233/5 +f 483/228/3 488/234/3 484/235/3 +f 482/229/4 486/236/4 481/230/4 +f 484/235/2 487/237/2 482/229/2 +f 481/230/1 485/238/1 483/228/1 +f 491/231/3 496/239/3 492/240/3 +f 490/232/4 494/241/4 489/233/4 +f 492/240/2 495/242/2 490/232/2 +f 489/233/1 493/243/1 491/231/1 +f 499/244/6 498/245/6 497/246/6 +f 507/247/6 506/248/6 505/249/6 +f 499/244/4 504/250/4 500/251/4 +f 498/245/3 502/252/3 497/246/3 +f 500/251/2 503/253/2 498/245/2 +f 497/246/1 501/254/1 499/244/1 +f 507/247/4 512/255/4 508/256/4 +f 506/248/3 510/257/3 505/249/3 +f 508/256/2 511/258/2 506/248/2 +f 505/249/1 509/259/1 507/247/1 +f 515/260/3 514/261/3 513/262/3 +f 523/263/3 522/264/3 521/265/3 +f 515/260/6 520/266/6 516/267/6 +f 514/261/5 518/268/5 513/262/5 +f 516/267/2 519/269/2 514/261/2 +f 513/262/1 517/270/1 515/260/1 +f 523/263/6 528/271/6 524/272/6 +f 522/264/5 526/273/5 521/265/5 +f 524/272/2 527/274/2 522/264/2 +f 521/265/1 525/275/1 523/263/1 +f 531/276/4 530/277/4 529/278/4 +f 539/279/4 538/280/4 537/281/4 +f 531/276/5 536/282/5 532/283/5 +f 530/277/6 534/284/6 529/278/6 +f 532/283/2 535/285/2 530/277/2 +f 529/278/1 533/286/1 531/276/1 +f 539/279/5 544/287/5 540/288/5 +f 538/280/6 542/289/6 537/281/6 +f 540/288/2 543/290/2 538/280/2 +f 537/281/1 541/291/1 539/279/1 +f 3/1/1 4/56/1 2/2/1 +f 6/4/2 8/61/2 7/5/2 +f 9/7/3 13/11/3 15/8/3 +f 10/10/2 14/14/2 13/11/2 +f 12/13/4 16/20/4 14/14/4 +f 14/14/5 16/20/5 15/8/5 +f 17/16/4 21/23/4 23/17/4 +f 11/19/1 15/8/1 16/20/1 +f 18/22/2 22/26/2 21/23/2 +f 20/25/3 24/29/3 22/26/3 +f 22/26/6 24/29/6 23/17/6 +f 19/28/1 23/17/1 24/29/1 +f 25/31/6 29/35/6 31/32/6 +f 26/34/2 30/38/2 29/35/2 +f 28/37/5 32/44/5 30/38/5 +f 30/38/3 32/44/3 31/32/3 +f 33/40/5 37/47/5 39/41/5 +f 27/43/1 31/32/1 32/44/1 +f 34/46/2 38/50/2 37/47/2 +f 36/49/6 40/53/6 38/50/6 +f 38/50/4 40/53/4 39/41/4 +f 35/52/1 39/41/1 40/53/1 +f 10/55/5 9/81/5 2/2/5 +f 26/57/3 25/65/3 4/58/3 +f 6/4/5 11/82/5 12/60/5 +f 8/62/3 27/66/3 28/63/3 +f 8/62/3 4/58/3 25/65/3 +f 10/55/5 4/56/5 8/61/5 +f 7/67/6 19/83/6 20/68/6 +f 18/70/6 17/84/6 3/71/6 +f 34/73/4 33/79/4 1/74/4 +f 5/76/4 35/80/4 36/77/4 +f 5/76/4 1/74/4 33/79/4 +f 18/70/6 1/72/6 5/69/6 +f 34/73/4 2/75/4 6/78/4 +f 6/4/5 2/2/5 9/81/5 +f 19/83/6 7/67/6 3/71/6 +f 3/59/3 7/64/3 28/63/3 +f 54/85/2 86/292/2 85/86/2 +f 46/88/2 47/93/2 79/89/2 +f 55/91/2 87/293/2 86/92/2 +f 47/93/2 48/98/2 80/94/2 +f 56/96/2 88/294/2 87/97/2 +f 48/98/2 49/105/2 81/99/2 +f 42/101/2 74/295/2 73/102/2 +f 41/103/2 73/296/2 88/104/2 +f 49/105/2 50/110/2 82/106/2 +f 43/108/2 75/297/2 74/109/2 +f 50/110/2 51/115/2 83/111/2 +f 43/108/2 44/118/2 76/113/2 +f 51/115/2 52/121/2 84/116/2 +f 44/118/2 45/298/2 77/119/2 +f 52/121/2 53/87/2 85/122/2 +f 46/88/2 78/299/2 77/124/2 +f 89/126/2 90/300/2 91/301/2 +f 91/301/2 92/302/2 89/126/2 +f 92/302/2 93/127/2 89/126/2 +f 93/127/2 94/303/2 97/128/2 +f 94/303/2 95/304/2 97/128/2 +f 95/304/2 96/305/2 97/128/2 +f 97/128/2 98/306/2 99/307/2 +f 99/307/2 100/308/2 101/309/2 +f 101/309/2 102/310/2 103/311/2 +f 103/311/2 104/312/2 89/126/2 +f 97/128/2 99/307/2 89/126/2 +f 99/307/2 101/309/2 89/126/2 +f 101/309/2 103/311/2 89/126/2 +f 135/129/2 136/161/2 152/130/2 +f 135/129/2 151/131/2 150/132/2 +f 134/133/2 150/132/2 149/134/2 +f 132/136/2 133/135/2 149/134/2 +f 131/138/2 132/136/2 148/137/2 +f 131/138/2 147/139/2 146/140/2 +f 130/141/2 146/140/2 145/142/2 +f 128/144/2 129/143/2 145/142/2 +f 127/146/2 128/144/2 144/145/2 +f 126/148/2 127/146/2 143/147/2 +f 126/148/2 142/149/2 141/150/2 +f 125/152/2 141/313/2 140/153/2 +f 123/155/2 124/154/2 140/153/2 +f 123/155/2 139/156/2 138/157/2 +f 122/158/2 138/157/2 137/159/2 +f 121/160/2 137/159/2 152/130/2 +f 69/162/1 165/314/1 166/163/1 +f 166/163/1 167/315/1 71/165/1 +f 71/165/1 167/315/1 168/166/1 +f 168/166/1 153/169/1 57/168/1 +f 153/169/1 154/171/1 58/170/1 +f 154/171/1 155/316/1 59/172/1 +f 59/172/1 155/316/1 156/173/1 +f 156/173/1 157/317/1 61/175/1 +f 157/176/1 158/318/1 62/177/1 +f 62/177/1 158/318/1 159/179/1 +f 63/180/1 159/179/1 160/181/1 +f 64/182/1 160/181/1 161/183/1 +f 161/183/1 162/186/1 66/185/1 +f 162/186/1 163/188/1 67/187/1 +f 163/188/1 164/190/1 68/189/1 +f 164/190/1 165/314/1 69/162/1 +f 110/191/1 109/319/1 173/192/1 +f 118/194/1 117/227/1 181/195/1 +f 110/191/1 174/320/1 175/197/1 +f 119/199/1 118/194/1 182/200/1 +f 111/198/1 175/321/1 176/202/1 +f 119/199/1 183/322/1 184/204/1 +f 112/203/1 176/323/1 177/206/1 +f 106/208/1 105/211/1 169/209/1 +f 105/211/1 120/205/1 184/212/1 +f 113/207/1 177/324/1 178/213/1 +f 107/215/1 106/208/1 170/216/1 +f 114/214/1 178/325/1 179/218/1 +f 107/215/1 171/326/1 172/220/1 +f 115/219/1 179/327/1 180/222/1 +f 108/221/1 172/328/1 173/224/1 +f 116/223/1 180/329/1 181/226/1 +f 483/228/5 484/235/5 482/229/5 +f 491/231/5 492/240/5 490/232/5 +f 483/228/3 485/330/3 488/234/3 +f 482/229/4 487/331/4 486/236/4 +f 484/235/2 488/332/2 487/237/2 +f 481/230/1 486/333/1 485/238/1 +f 491/231/3 493/334/3 496/239/3 +f 490/232/4 495/335/4 494/241/4 +f 492/240/2 496/336/2 495/242/2 +f 489/233/1 494/337/1 493/243/1 +f 499/244/6 500/251/6 498/245/6 +f 507/247/6 508/256/6 506/248/6 +f 499/244/4 501/338/4 504/250/4 +f 498/245/3 503/339/3 502/252/3 +f 500/251/2 504/340/2 503/253/2 +f 497/246/1 502/341/1 501/254/1 +f 507/247/4 509/342/4 512/255/4 +f 506/248/3 511/343/3 510/257/3 +f 508/256/2 512/344/2 511/258/2 +f 505/249/1 510/345/1 509/259/1 +f 515/260/3 516/267/3 514/261/3 +f 523/263/3 524/272/3 522/264/3 +f 515/260/6 517/346/6 520/266/6 +f 514/261/5 519/347/5 518/268/5 +f 516/267/2 520/348/2 519/269/2 +f 513/262/1 518/349/1 517/270/1 +f 523/263/6 525/350/6 528/271/6 +f 522/264/5 527/351/5 526/273/5 +f 524/272/2 528/352/2 527/274/2 +f 521/265/1 526/353/1 525/275/1 +f 531/276/4 532/283/4 530/277/4 +f 539/279/4 540/288/4 538/280/4 +f 531/276/5 533/354/5 536/282/5 +f 530/277/6 535/355/6 534/284/6 +f 532/283/2 536/356/2 535/285/2 +f 529/278/1 534/357/1 533/286/1 +f 539/279/5 541/358/5 544/287/5 +f 538/280/6 543/359/6 542/289/6 +f 540/288/2 544/360/2 543/290/2 +f 537/281/1 542/361/1 541/291/1 +s 1 +f 69/162/5 54/85/7 53/87/5 +f 62/177/8 47/93/9 46/88/8 +f 70/164/7 55/91/10 54/85/7 +f 63/180/9 48/98/11 47/93/9 +f 71/165/10 56/96/12 55/91/10 +f 64/182/11 49/105/4 48/98/11 +f 57/168/3 42/101/13 41/103/3 +f 72/167/12 41/103/3 56/96/12 +f 65/184/4 50/110/14 49/105/4 +f 58/170/13 43/108/15 42/101/13 +f 66/185/14 51/115/16 50/110/14 +f 59/172/15 44/118/17 43/108/15 +f 67/187/16 52/121/18 51/115/16 +f 60/174/17 45/298/6 44/118/17 +f 68/189/18 53/87/5 52/121/18 +f 61/178/6 46/88/8 45/125/6 +f 84/116/19 99/362/20 83/117/20 +f 85/122/21 100/363/19 84/123/19 +f 86/292/22 101/364/21 85/86/21 +f 87/293/23 102/365/22 86/92/22 +f 88/294/24 103/366/23 87/97/23 +f 73/296/25 104/367/24 88/104/24 +f 73/102/25 90/368/26 89/369/25 +f 75/297/27 90/370/26 74/109/26 +f 76/113/28 91/371/27 75/114/27 +f 77/119/29 92/372/28 76/120/28 +f 78/299/30 93/373/29 77/124/29 +f 79/89/31 94/374/30 78/90/30 +f 80/94/32 95/375/31 79/95/31 +f 80/100/32 97/376/33 96/377/32 +f 81/107/33 98/378/34 97/379/33 +f 83/111/20 98/380/34 82/112/34 +f 117/227/5 132/136/18 116/223/18 +f 110/191/8 125/151/6 109/319/6 +f 118/194/7 133/135/5 117/227/5 +f 111/198/9 126/148/8 110/191/8 +f 119/199/10 134/133/7 118/194/7 +f 112/203/11 127/146/9 111/198/9 +f 120/205/12 135/129/10 119/199/10 +f 113/207/4 128/144/11 112/203/11 +f 106/208/13 121/160/3 105/211/3 +f 105/211/3 136/161/12 120/205/12 +f 114/214/14 129/143/4 113/207/4 +f 107/215/15 122/158/13 106/208/13 +f 115/219/16 130/141/14 114/214/14 +f 108/221/17 123/155/15 107/215/15 +f 116/223/18 131/138/16 115/219/16 +f 109/225/6 124/154/17 108/221/17 +f 137/159/3 168/166/12 152/130/12 +f 146/140/14 161/183/4 145/142/4 +f 139/156/15 154/171/13 138/157/13 +f 147/139/16 162/186/14 146/140/14 +f 140/153/17 155/316/15 139/156/15 +f 148/137/18 163/188/16 147/139/16 +f 141/313/6 156/173/17 140/153/17 +f 149/134/5 164/190/18 148/137/18 +f 142/149/8 157/176/6 141/150/6 +f 150/132/7 165/314/5 149/134/5 +f 143/147/9 158/318/8 142/149/8 +f 151/131/10 166/163/7 150/132/7 +f 144/145/11 159/179/9 143/147/9 +f 152/130/12 167/315/10 151/131/10 +f 145/142/4 160/181/11 144/145/11 +f 138/157/13 153/169/3 137/159/3 +f 178/325/14 195/381/16 179/218/16 +f 171/326/15 188/382/17 172/220/17 +f 179/327/16 196/383/18 180/222/18 +f 172/328/17 189/384/6 173/224/6 +f 180/329/18 197/385/5 181/226/5 +f 173/192/6 190/386/8 174/193/8 +f 181/195/5 198/387/7 182/196/7 +f 174/320/8 191/388/9 175/197/9 +f 182/200/7 199/389/10 183/201/10 +f 175/321/9 192/390/11 176/202/11 +f 183/322/10 200/391/12 184/204/12 +f 176/323/11 193/392/4 177/206/4 +f 169/393/3 186/394/13 170/210/13 +f 184/212/12 185/395/3 169/209/3 +f 177/324/4 194/396/14 178/213/14 +f 170/216/13 187/397/15 171/217/15 +f 208/398/35 215/399/36 207/400/36 +f 206/401/37 213/402/38 205/403/38 +f 204/404/39 211/405/40 203/406/40 +f 202/407/41 209/408/42 201/409/42 +f 201/409/42 216/410/35 208/398/35 +f 207/400/36 214/411/37 206/401/37 +f 205/403/38 212/412/39 204/404/39 +f 203/413/40 210/414/41 202/407/41 +f 224/415/43 231/416/44 223/417/44 +f 222/418/45 229/419/46 221/420/46 +f 220/421/47 227/422/48 219/423/48 +f 218/424/49 225/425/50 217/426/50 +f 217/426/50 232/427/43 224/415/43 +f 223/417/44 230/428/45 222/418/45 +f 221/420/46 228/429/47 220/421/47 +f 219/430/48 226/431/49 218/424/49 +f 240/432/39 247/433/40 239/434/40 +f 238/435/41 245/436/42 237/437/42 +f 236/438/35 243/439/36 235/440/36 +f 234/441/37 241/442/38 233/443/38 +f 233/443/38 248/444/39 240/432/39 +f 239/434/40 246/445/41 238/435/41 +f 237/437/42 244/446/35 236/438/35 +f 235/447/36 242/448/37 234/441/37 +f 256/449/47 263/450/48 255/451/48 +f 254/452/49 261/453/50 253/454/50 +f 252/455/43 259/456/44 251/457/44 +f 250/458/45 257/459/46 249/460/46 +f 249/460/46 264/461/47 256/449/47 +f 255/451/48 262/462/49 254/452/49 +f 253/454/50 260/463/43 252/455/43 +f 251/464/44 258/465/45 250/458/45 +f 272/466/41 279/467/42 271/468/42 +f 270/469/35 277/470/36 269/471/36 +f 268/472/37 275/473/38 267/474/38 +f 266/475/39 273/476/40 265/477/40 +f 265/477/40 280/478/41 272/466/41 +f 271/468/42 278/479/35 270/469/35 +f 269/471/36 276/480/37 268/472/37 +f 267/481/38 274/482/39 266/475/39 +f 288/483/49 295/484/50 287/485/50 +f 286/486/43 293/487/44 285/488/44 +f 284/489/45 291/490/46 283/491/46 +f 282/492/47 289/493/48 281/494/48 +f 281/494/48 296/495/49 288/483/49 +f 287/485/50 294/496/43 286/486/43 +f 285/488/44 292/497/45 284/489/45 +f 283/498/46 290/499/47 282/492/47 +f 304/500/37 311/501/38 303/502/38 +f 302/503/39 309/504/40 301/505/40 +f 300/506/41 307/507/42 299/508/42 +f 298/509/35 305/510/36 297/511/36 +f 297/511/36 312/512/37 304/500/37 +f 303/502/38 310/513/39 302/503/39 +f 301/505/40 308/514/41 300/506/41 +f 299/515/42 306/516/35 298/509/35 +f 320/517/45 327/518/46 319/519/46 +f 318/520/47 325/521/48 317/522/48 +f 316/523/49 323/524/50 315/525/50 +f 314/526/43 321/527/44 313/528/44 +f 313/528/44 328/529/45 320/517/45 +f 319/519/46 326/530/47 318/520/47 +f 317/522/48 324/531/49 316/523/49 +f 315/532/50 322/533/43 314/526/43 +f 331/534/15 338/535/51 330/536/3 +f 336/537/5 343/538/52 335/539/16 +f 334/540/4 341/541/53 333/542/9 +f 332/543/6 339/544/54 331/545/15 +f 330/536/3 337/546/55 329/547/10 +f 329/547/10 344/548/56 336/537/5 +f 335/539/16 342/549/57 334/540/4 +f 333/542/9 340/550/58 332/543/6 +f 341/551/53 349/552/59 348/553/60 +f 338/554/51 345/555/61 337/556/55 +f 337/556/55 351/557/62 344/558/56 +f 343/538/52 349/552/59 342/559/57 +f 340/560/58 348/553/60 347/561/63 +f 343/538/52 351/557/62 350/562/64 +f 351/557/62 357/563/65 350/562/64 +f 348/553/60 356/564/66 355/565/67 +f 345/555/61 353/566/68 352/567/69 +f 345/555/61 358/568/70 351/557/62 +f 350/562/64 356/564/66 349/552/59 +f 348/553/60 354/569/71 347/561/63 +f 340/560/58 347/561/63 339/570/54 +f 347/561/63 354/569/71 339/570/54 +f 338/554/51 339/571/54 346/572/72 +f 346/572/72 339/571/54 353/566/68 +f 358/573/70 364/574/2 357/563/65 +f 369/575/16 376/576/73 368/577/4 +f 355/578/67 363/579/74 361/580/9 +f 352/581/69 359/582/75 360/583/10 +f 339/584/54 359/582/75 353/585/68 +f 352/581/69 365/586/76 358/573/70 +f 339/587/54 362/588/77 366/589/1 +f 357/563/65 363/579/74 356/590/66 +f 355/578/67 362/588/77 354/591/71 +f 374/592/6 381/593/78 373/594/15 +f 372/595/3 379/596/79 371/597/10 +f 370/598/5 377/599/80 369/600/16 +f 368/577/4 375/601/81 367/602/9 +f 367/602/9 382/603/82 374/592/6 +f 373/594/15 380/604/83 372/595/3 +f 371/597/10 378/605/84 370/598/5 +f 380/606/83 386/607/85 379/608/79 +f 375/609/81 384/610/86 383/611/87 +f 382/612/82 383/611/87 389/613/88 +f 381/593/78 387/614/89 380/606/83 +f 379/608/79 385/615/90 378/616/84 +f 382/612/82 388/617/91 381/593/78 +f 388/617/91 396/618/92 395/619/93 +f 386/607/85 394/620/94 393/621/95 +f 383/611/87 391/622/96 390/623/97 +f 389/613/88 390/623/97 396/618/92 +f 388/617/91 394/620/94 387/614/89 +f 386/607/85 392/624/98 385/615/90 +f 378/616/84 385/615/90 377/625/80 +f 385/615/90 392/624/98 377/625/80 +f 376/626/73 377/627/80 384/610/86 +f 384/610/86 377/627/80 391/622/96 +f 396/628/92 402/629/2 395/619/93 +f 393/630/95 401/631/76 399/632/10 +f 390/633/97 397/634/77 398/635/9 +f 377/636/80 397/634/77 391/637/96 +f 390/633/97 403/638/74 396/628/92 +f 377/639/80 400/640/75 404/641/1 +f 395/619/93 401/631/76 394/642/94 +f 393/630/95 400/640/75 392/643/98 +f 407/644/9 414/645/99 406/646/6 +f 412/647/3 419/648/100 411/649/10 +f 410/650/5 417/651/101 409/652/16 +f 408/653/4 415/654/77 407/655/9 +f 406/646/6 413/656/102 405/657/15 +f 405/657/15 420/658/103 412/647/3 +f 411/649/10 418/659/104 410/650/5 +f 409/652/16 416/660/105 408/653/4 +f 417/661/101 425/662/106 424/663/107 +f 414/664/99 421/665/108 413/666/102 +f 413/666/102 427/667/109 420/668/103 +f 419/648/100 425/662/106 418/669/104 +f 416/670/105 424/663/107 423/671/110 +f 420/668/103 426/672/76 419/648/100 +f 426/672/76 434/673/111 433/674/112 +f 424/663/107 432/675/113 431/676/114 +f 421/665/108 429/677/115 428/678/116 +f 421/665/108 434/673/111 427/667/109 +f 426/672/76 432/675/113 425/662/106 +f 424/663/107 430/679/117 423/671/110 +f 416/670/105 423/671/110 415/680/77 +f 423/671/110 430/679/117 415/680/77 +f 414/664/99 415/681/77 422/682/118 +f 422/682/118 415/681/77 429/677/115 +f 433/674/112 441/683/91 440/684/2 +f 445/685/10 452/686/119 444/687/5 +f 431/688/114 439/689/64 437/690/16 +f 428/691/116 435/692/54 436/693/15 +f 429/694/115 442/695/1 435/692/54 +f 434/696/111 436/693/15 441/683/91 +f 430/697/117 442/698/1 415/699/77 +f 433/674/112 439/689/64 432/700/113 +f 431/688/114 438/701/80 430/697/117 +f 450/702/4 457/703/120 449/704/9 +f 448/705/6 455/706/121 447/707/15 +f 446/708/3 453/709/75 445/710/10 +f 444/687/5 451/711/122 443/712/16 +f 443/712/16 458/713/123 450/702/4 +f 449/704/9 456/714/124 448/705/6 +f 447/707/15 454/715/125 446/708/3 +f 455/716/121 463/717/126 462/718/127 +f 452/719/119 459/720/128 451/721/122 +f 451/721/122 465/722/129 458/723/123 +f 457/703/120 463/717/126 456/724/124 +f 454/725/125 462/718/127 461/726/130 +f 458/723/123 464/727/74 457/703/120 +f 464/727/74 472/728/131 471/729/132 +f 462/718/127 470/730/133 469/731/134 +f 459/720/128 467/732/135 466/733/136 +f 465/722/129 466/733/136 472/728/131 +f 464/727/74 470/730/133 463/717/126 +f 462/718/127 468/734/137 461/726/130 +f 454/725/125 461/726/130 453/735/75 +f 461/726/130 468/734/137 453/735/75 +f 452/719/119 453/736/75 460/737/138 +f 460/737/138 453/736/75 467/732/135 +f 471/729/132 479/738/64 478/739/2 +f 469/740/134 477/741/91 475/742/15 +f 467/743/135 474/744/16 466/745/136 +f 453/746/75 473/747/80 467/743/135 +f 466/745/136 479/738/64 472/748/131 +f 468/749/137 480/750/1 453/751/75 +f 471/729/132 477/741/91 470/752/133 +f 469/740/134 476/753/54 468/749/137 +f 69/162/5 70/164/7 54/85/7 +f 62/177/8 63/180/9 47/93/9 +f 70/164/7 71/165/10 55/91/10 +f 63/180/9 64/182/11 48/98/11 +f 71/165/10 72/167/12 56/96/12 +f 64/182/11 65/184/4 49/105/4 +f 57/168/3 58/170/13 42/101/13 +f 72/167/12 57/168/3 41/103/3 +f 65/184/4 66/185/14 50/110/14 +f 58/170/13 59/172/15 43/108/15 +f 66/185/14 67/187/16 51/115/16 +f 59/172/15 60/174/17 44/118/17 +f 67/187/16 68/189/18 52/121/18 +f 60/174/17 61/175/6 45/298/6 +f 68/189/18 69/162/5 53/87/5 +f 61/178/6 62/177/8 46/88/8 +f 84/116/19 100/754/19 99/362/20 +f 85/122/21 101/755/21 100/363/19 +f 86/292/22 102/756/22 101/364/21 +f 87/293/23 103/757/23 102/365/22 +f 88/294/24 104/758/24 103/366/23 +f 73/296/25 89/759/25 104/367/24 +f 73/102/25 74/295/26 90/368/26 +f 75/297/27 91/760/27 90/370/26 +f 76/113/28 92/761/28 91/371/27 +f 77/119/29 93/762/29 92/372/28 +f 78/299/30 94/763/30 93/373/29 +f 79/89/31 95/764/31 94/374/30 +f 80/94/32 96/765/32 95/375/31 +f 80/100/32 81/99/33 97/376/33 +f 81/107/33 82/106/34 98/378/34 +f 83/111/20 99/766/20 98/380/34 +f 117/227/5 133/135/5 132/136/18 +f 110/191/8 126/148/8 125/151/6 +f 118/194/7 134/133/7 133/135/5 +f 111/198/9 127/146/9 126/148/8 +f 119/199/10 135/129/10 134/133/7 +f 112/203/11 128/144/11 127/146/9 +f 120/205/12 136/161/12 135/129/10 +f 113/207/4 129/143/4 128/144/11 +f 106/208/13 122/158/13 121/160/3 +f 105/211/3 121/160/3 136/161/12 +f 114/214/14 130/141/14 129/143/4 +f 107/215/15 123/155/15 122/158/13 +f 115/219/16 131/138/16 130/141/14 +f 108/221/17 124/154/17 123/155/15 +f 116/223/18 132/136/18 131/138/16 +f 109/225/6 125/152/6 124/154/17 +f 137/159/3 153/169/3 168/166/12 +f 146/140/14 162/186/14 161/183/4 +f 139/156/15 155/316/15 154/171/13 +f 147/139/16 163/188/16 162/186/14 +f 140/153/17 156/173/17 155/316/15 +f 148/137/18 164/190/18 163/188/16 +f 141/313/6 157/317/6 156/173/17 +f 149/134/5 165/314/5 164/190/18 +f 142/149/8 158/318/8 157/176/6 +f 150/132/7 166/163/7 165/314/5 +f 143/147/9 159/179/9 158/318/8 +f 151/131/10 167/315/10 166/163/7 +f 144/145/11 160/181/11 159/179/9 +f 152/130/12 168/166/12 167/315/10 +f 145/142/4 161/183/4 160/181/11 +f 138/157/13 154/171/13 153/169/3 +f 178/325/14 194/767/14 195/381/16 +f 171/326/15 187/768/15 188/382/17 +f 179/327/16 195/769/16 196/383/18 +f 172/328/17 188/770/17 189/384/6 +f 180/329/18 196/771/18 197/385/5 +f 173/192/6 189/772/6 190/386/8 +f 181/195/5 197/773/5 198/387/7 +f 174/320/8 190/774/8 191/388/9 +f 182/200/7 198/775/7 199/389/10 +f 175/321/9 191/776/9 192/390/11 +f 183/322/10 199/777/10 200/391/12 +f 176/323/11 192/778/11 193/392/4 +f 169/393/3 185/779/3 186/394/13 +f 184/212/12 200/780/12 185/395/3 +f 177/324/4 193/781/4 194/396/14 +f 170/216/13 186/782/13 187/397/15 +f 208/398/35 216/410/35 215/399/36 +f 206/401/37 214/411/37 213/402/38 +f 204/404/39 212/412/39 211/405/40 +f 202/407/41 210/414/41 209/408/42 +f 201/409/42 209/408/42 216/410/35 +f 207/400/36 215/399/36 214/411/37 +f 205/403/38 213/402/38 212/412/39 +f 203/413/40 211/783/40 210/414/41 +f 224/415/43 232/427/43 231/416/44 +f 222/418/45 230/428/45 229/419/46 +f 220/421/47 228/429/47 227/422/48 +f 218/424/49 226/431/49 225/425/50 +f 217/426/50 225/425/50 232/427/43 +f 223/417/44 231/416/44 230/428/45 +f 221/420/46 229/419/46 228/429/47 +f 219/430/48 227/784/48 226/431/49 +f 240/432/39 248/444/39 247/433/40 +f 238/435/41 246/445/41 245/436/42 +f 236/438/35 244/446/35 243/439/36 +f 234/441/37 242/448/37 241/442/38 +f 233/443/38 241/442/38 248/444/39 +f 239/434/40 247/433/40 246/445/41 +f 237/437/42 245/436/42 244/446/35 +f 235/447/36 243/785/36 242/448/37 +f 256/449/47 264/461/47 263/450/48 +f 254/452/49 262/462/49 261/453/50 +f 252/455/43 260/463/43 259/456/44 +f 250/458/45 258/465/45 257/459/46 +f 249/460/46 257/459/46 264/461/47 +f 255/451/48 263/450/48 262/462/49 +f 253/454/50 261/453/50 260/463/43 +f 251/464/44 259/786/44 258/465/45 +f 272/466/41 280/478/41 279/467/42 +f 270/469/35 278/479/35 277/470/36 +f 268/472/37 276/480/37 275/473/38 +f 266/475/39 274/482/39 273/476/40 +f 265/477/40 273/476/40 280/478/41 +f 271/468/42 279/467/42 278/479/35 +f 269/471/36 277/470/36 276/480/37 +f 267/481/38 275/787/38 274/482/39 +f 288/483/49 296/495/49 295/484/50 +f 286/486/43 294/496/43 293/487/44 +f 284/489/45 292/497/45 291/490/46 +f 282/492/47 290/499/47 289/493/48 +f 281/494/48 289/493/48 296/495/49 +f 287/485/50 295/484/50 294/496/43 +f 285/488/44 293/487/44 292/497/45 +f 283/498/46 291/788/46 290/499/47 +f 304/500/37 312/512/37 311/501/38 +f 302/503/39 310/513/39 309/504/40 +f 300/506/41 308/514/41 307/507/42 +f 298/509/35 306/516/35 305/510/36 +f 297/511/36 305/510/36 312/512/37 +f 303/502/38 311/501/38 310/513/39 +f 301/505/40 309/504/40 308/514/41 +f 299/515/42 307/789/42 306/516/35 +f 320/517/45 328/529/45 327/518/46 +f 318/520/47 326/530/47 325/521/48 +f 316/523/49 324/531/49 323/524/50 +f 314/526/43 322/533/43 321/527/44 +f 313/528/44 321/527/44 328/529/45 +f 319/519/46 327/518/46 326/530/47 +f 317/522/48 325/521/48 324/531/49 +f 315/532/50 323/790/50 322/533/43 +f 331/534/15 339/791/54 338/535/51 +f 336/537/5 344/548/56 343/538/52 +f 334/540/4 342/549/57 341/541/53 +f 332/543/6 340/550/58 339/544/54 +f 330/536/3 338/535/51 337/546/55 +f 329/547/10 337/546/55 344/548/56 +f 335/539/16 343/538/52 342/549/57 +f 333/542/9 341/541/53 340/550/58 +f 341/551/53 342/559/57 349/552/59 +f 338/554/51 346/572/72 345/555/61 +f 337/556/55 345/555/61 351/557/62 +f 343/538/52 350/562/64 349/552/59 +f 340/560/58 341/551/53 348/553/60 +f 343/538/52 344/558/56 351/557/62 +f 351/557/62 358/568/70 357/563/65 +f 348/553/60 349/552/59 356/564/66 +f 345/555/61 346/572/72 353/566/68 +f 345/555/61 352/567/69 358/568/70 +f 350/562/64 357/563/65 356/564/66 +f 348/553/60 355/565/67 354/569/71 +f 358/573/70 365/586/76 364/574/2 +f 369/575/16 377/792/80 376/576/73 +f 355/578/67 356/590/66 363/579/74 +f 352/581/69 353/585/68 359/582/75 +f 339/584/54 366/793/1 359/582/75 +f 352/581/69 360/583/10 365/586/76 +f 339/587/54 354/591/71 362/588/77 +f 357/563/65 364/574/2 363/579/74 +f 355/578/67 361/580/9 362/588/77 +f 374/592/6 382/603/82 381/593/78 +f 372/595/3 380/604/83 379/596/79 +f 370/598/5 378/605/84 377/599/80 +f 368/577/4 376/576/73 375/601/81 +f 367/602/9 375/601/81 382/603/82 +f 373/594/15 381/593/78 380/604/83 +f 371/597/10 379/596/79 378/605/84 +f 380/606/83 387/614/89 386/607/85 +f 375/609/81 376/626/73 384/610/86 +f 382/612/82 375/609/81 383/611/87 +f 381/593/78 388/617/91 387/614/89 +f 379/608/79 386/607/85 385/615/90 +f 382/612/82 389/613/88 388/617/91 +f 388/617/91 389/613/88 396/618/92 +f 386/607/85 387/614/89 394/620/94 +f 383/611/87 384/610/86 391/622/96 +f 389/613/88 383/611/87 390/623/97 +f 388/617/91 395/619/93 394/620/94 +f 386/607/85 393/621/95 392/624/98 +f 396/628/92 403/638/74 402/629/2 +f 393/630/95 394/642/94 401/631/76 +f 390/633/97 391/637/96 397/634/77 +f 377/636/80 404/794/1 397/634/77 +f 390/633/97 398/635/9 403/638/74 +f 377/639/80 392/643/98 400/640/75 +f 395/619/93 402/629/2 401/631/76 +f 393/630/95 399/632/10 400/640/75 +f 407/644/9 415/795/77 414/645/99 +f 412/647/3 420/658/103 419/648/100 +f 410/650/5 418/659/104 417/651/101 +f 408/653/4 416/660/105 415/654/77 +f 406/646/6 414/645/99 413/656/102 +f 405/657/15 413/656/102 420/658/103 +f 411/649/10 419/648/100 418/659/104 +f 409/652/16 417/651/101 416/660/105 +f 417/661/101 418/669/104 425/662/106 +f 414/664/99 422/682/118 421/665/108 +f 413/666/102 421/665/108 427/667/109 +f 419/648/100 426/672/76 425/662/106 +f 416/670/105 417/661/101 424/663/107 +f 420/668/103 427/667/109 426/672/76 +f 426/672/76 427/667/109 434/673/111 +f 424/663/107 425/662/106 432/675/113 +f 421/665/108 422/682/118 429/677/115 +f 421/665/108 428/678/116 434/673/111 +f 426/672/76 433/674/112 432/675/113 +f 424/663/107 431/676/114 430/679/117 +f 433/674/112 434/696/111 441/683/91 +f 445/685/10 453/796/75 452/686/119 +f 431/688/114 432/700/113 439/689/64 +f 428/691/116 429/694/115 435/692/54 +f 429/694/115 415/797/77 442/695/1 +f 434/696/111 428/691/116 436/693/15 +f 430/697/117 438/701/80 442/698/1 +f 433/674/112 440/684/2 439/689/64 +f 431/688/114 437/690/16 438/701/80 +f 450/702/4 458/713/123 457/703/120 +f 448/705/6 456/714/124 455/706/121 +f 446/708/3 454/715/125 453/709/75 +f 444/687/5 452/686/119 451/711/122 +f 443/712/16 451/711/122 458/713/123 +f 449/704/9 457/703/120 456/714/124 +f 447/707/15 455/706/121 454/715/125 +f 455/716/121 456/724/124 463/717/126 +f 452/719/119 460/737/138 459/720/128 +f 451/721/122 459/720/128 465/722/129 +f 457/703/120 464/727/74 463/717/126 +f 454/725/125 455/716/121 462/718/127 +f 458/723/123 465/722/129 464/727/74 +f 464/727/74 465/722/129 472/728/131 +f 462/718/127 463/717/126 470/730/133 +f 459/720/128 460/737/138 467/732/135 +f 465/722/129 459/720/128 466/733/136 +f 464/727/74 471/729/132 470/730/133 +f 462/718/127 469/731/134 468/734/137 +f 471/729/132 472/748/131 479/738/64 +f 469/740/134 470/752/133 477/741/91 +f 467/743/135 473/747/80 474/744/16 +f 453/746/75 480/798/1 473/747/80 +f 466/745/136 474/744/16 479/738/64 +f 468/749/137 476/753/54 480/750/1 +f 471/729/132 478/739/2 477/741/91 +f 469/740/134 475/742/15 476/753/54 diff --git a/src/main/resources/assets/hbm/models/machines/radar_large.obj b/src/main/resources/assets/hbm/models/machines/radar_large.obj new file mode 100644 index 000000000..0e7e4da41 --- /dev/null +++ b/src/main/resources/assets/hbm/models/machines/radar_large.obj @@ -0,0 +1,2479 @@ +# Blender v2.79 (sub 0) OBJ File: 'radar_large.blend' +# www.blender.org +o Dish +v -0.218750 5.500000 0.500000 +v 0.218750 5.500000 0.500000 +v -0.218750 5.500000 -0.500000 +v 0.218750 5.500000 -0.500000 +v 0.500000 5.500000 0.218750 +v 0.500000 5.500000 -0.218750 +v -0.500000 5.500000 0.218750 +v -0.500000 5.500000 -0.218750 +v -0.218750 7.000000 0.500000 +v 0.218750 7.000000 0.500000 +v -0.218750 7.000000 -0.500000 +v 0.218750 7.000000 -0.500000 +v 0.500000 7.000000 0.218750 +v 0.500000 7.000000 -0.218750 +v -0.500000 7.000000 0.218750 +v -0.500000 7.000000 -0.218750 +v -0.500000 7.000000 0.500000 +v -0.500000 6.500000 0.500000 +v -0.500000 7.000000 -0.500000 +v -0.500000 6.500000 -0.500000 +v -1.000000 7.000000 -0.500000 +v -1.000000 7.000000 0.500000 +v -1.000000 6.500000 0.500000 +v -1.000000 6.500000 -0.500000 +v -0.125000 7.375000 2.500000 +v -0.125000 7.125000 2.500000 +v -0.375000 7.375000 2.500000 +v -0.375000 7.125000 2.500000 +v 1.000000 7.000000 0.500000 +v 1.000000 6.500000 0.500000 +v 1.000000 7.000000 -0.500000 +v 1.000000 6.500000 -0.500000 +v 0.500000 7.000000 -0.500000 +v 0.500000 7.000000 0.500000 +v 0.500000 6.500000 0.500000 +v 0.500000 6.500000 -0.500000 +v 0.375000 7.375000 2.500000 +v 0.375000 7.125000 2.500000 +v 0.125000 7.375000 2.500000 +v 0.125000 7.125000 2.500000 +v -1.000000 7.250000 2.500000 +v 1.000000 7.250000 2.500000 +v -1.000000 7.000000 2.500000 +v 1.000000 7.000000 2.500000 +v -1.000000 7.000000 2.625000 +v -1.000000 7.250000 2.625000 +v 1.000000 7.250000 2.625000 +v 1.000000 7.000000 2.625000 +v -0.250000 7.125000 2.375000 +v 0.250000 7.125000 2.375000 +v -0.250000 7.375000 2.375000 +v 0.250000 7.375000 2.375000 +v -0.250000 7.375000 2.125000 +v -0.250000 7.125000 2.125000 +v 0.250000 7.125000 2.125000 +v 0.250000 7.375000 2.125000 +v -1.000000 7.500000 -1.500000 +v 1.000000 7.500000 -1.500000 +v -1.000000 9.500000 -1.500000 +v 1.000000 9.500000 -1.500000 +v -2.000000 7.500000 -1.250000 +v 2.000000 7.500000 -1.250000 +v -2.000000 9.500000 -1.250000 +v 2.000000 9.500000 -1.250000 +v -3.000000 7.500000 -0.500000 +v 3.000000 7.500000 -0.500000 +v -3.000000 9.500000 -0.500000 +v 3.000000 9.500000 -0.500000 +v -1.000000 7.000000 -1.250000 +v 1.000000 7.000000 -1.250000 +v -1.000000 10.000000 -1.250000 +v 1.000000 10.000000 -1.250000 +v -2.000000 7.000000 -1.000000 +v 2.000000 7.000000 -1.000000 +v -2.000000 10.000000 -1.000000 +v 2.000000 10.000000 -1.000000 +v -1.031250 7.500000 -1.468750 +v -0.968750 7.500000 -1.468750 +v -1.031250 7.500000 -1.531250 +v -0.968750 7.500000 -1.531250 +v -1.031250 9.500000 -1.468750 +v -0.968750 9.500000 -1.468750 +v -1.031250 9.500000 -1.531250 +v -0.968750 9.500000 -1.531250 +v -1.031250 10.000000 -1.281250 +v -1.031250 10.000000 -1.218750 +v -0.968750 10.000000 -1.218750 +v -0.968750 10.000000 -1.281250 +v -1.031250 7.000000 -1.281250 +v -1.031250 7.000000 -1.218750 +v -0.968750 7.000000 -1.218750 +v -0.968750 7.000000 -1.281250 +v -0.031250 7.500000 -1.468750 +v 0.031250 7.500000 -1.468750 +v -0.031250 7.500000 -1.531250 +v 0.031250 7.500000 -1.531250 +v -0.031250 9.500000 -1.468750 +v 0.031250 9.500000 -1.468750 +v -0.031250 9.500000 -1.531250 +v 0.031250 9.500000 -1.531250 +v -0.031250 10.000000 -1.281250 +v -0.031250 10.000000 -1.218750 +v 0.031250 10.000000 -1.218750 +v 0.031250 10.000000 -1.281250 +v -0.031250 7.000000 -1.281250 +v -0.031250 7.000000 -1.218750 +v 0.031250 7.000000 -1.218750 +v 0.031250 7.000000 -1.281250 +v 0.968750 7.500000 -1.468750 +v 1.031250 7.500000 -1.468750 +v 0.968750 7.500000 -1.531250 +v 1.031250 7.500000 -1.531250 +v 0.968750 9.500000 -1.468750 +v 1.031250 9.500000 -1.468750 +v 0.968750 9.500000 -1.531250 +v 1.031250 9.500000 -1.531250 +v 0.968750 10.000000 -1.281250 +v 0.968750 10.000000 -1.218750 +v 1.031250 10.000000 -1.218750 +v 1.031250 10.000000 -1.281250 +v 0.968750 7.000000 -1.281250 +v 0.968750 7.000000 -1.218750 +v 1.031250 7.000000 -1.218750 +v 1.031250 7.000000 -1.281250 +v -2.031250 7.500000 -1.218750 +v -1.968750 7.500000 -1.218750 +v -2.031250 7.500000 -1.281250 +v -1.968750 7.500000 -1.281250 +v -2.031250 9.500000 -1.218750 +v -1.968750 9.500000 -1.218750 +v -2.031250 9.500000 -1.281250 +v -1.968750 9.500000 -1.281250 +v -2.031250 10.000000 -1.031250 +v -2.031250 10.000000 -0.968750 +v -1.968750 10.000000 -0.968750 +v -1.968750 10.000000 -1.031250 +v -2.031250 7.000000 -1.031250 +v -2.031250 7.000000 -0.968750 +v -1.968750 7.000000 -0.968750 +v -1.968750 7.000000 -1.031250 +v 1.968750 7.500000 -1.218750 +v 2.031250 7.500000 -1.218750 +v 1.968750 7.500000 -1.281250 +v 2.031250 7.500000 -1.281250 +v 1.968750 9.500000 -1.218750 +v 2.031250 9.500000 -1.218750 +v 1.968750 9.500000 -1.281250 +v 2.031250 9.500000 -1.281250 +v 1.968750 10.000000 -1.031250 +v 1.968750 10.000000 -0.968750 +v 2.031250 10.000000 -0.968750 +v 2.031250 10.000000 -1.031250 +v 1.968750 7.000000 -1.031250 +v 1.968750 7.000000 -0.968750 +v 2.031250 7.000000 -0.968750 +v 2.031250 7.000000 -1.031250 +v -3.031250 7.500000 -0.468750 +v -2.968750 7.500000 -0.468750 +v -3.031250 7.500000 -0.531250 +v -2.968750 7.500000 -0.531250 +v -3.031250 9.500000 -0.468750 +v -2.968750 9.500000 -0.468750 +v -3.031250 9.500000 -0.531250 +v -2.968750 9.500000 -0.531250 +v 2.968750 7.500000 -0.468750 +v 3.031250 7.500000 -0.468750 +v 2.968750 7.500000 -0.531250 +v 3.031250 7.500000 -0.531250 +v 2.968750 9.500000 -0.468750 +v 3.031250 9.500000 -0.468750 +v 2.968750 9.500000 -0.531250 +v 3.031250 9.500000 -0.531250 +v -0.625000 6.750000 -1.750000 +v -0.625000 7.000000 -1.750000 +v -0.875000 6.750000 -1.750000 +v -0.875000 7.000000 -1.750000 +v 0.875000 6.750000 -1.750000 +v 0.875000 7.000000 -1.750000 +v 0.625000 6.750000 -1.750000 +v 0.625000 7.000000 -1.750000 +v -1.000000 8.531250 -2.218750 +v -1.000000 8.468750 -2.218750 +v -1.000000 8.531250 -2.281250 +v -1.000000 8.468750 -2.281250 +v 1.000000 8.531250 -2.218750 +v 1.000000 8.468750 -2.218750 +v 1.000000 8.531250 -2.281250 +v 1.000000 8.468750 -2.281250 +v -2.000000 8.531250 -2.031250 +v -2.000000 8.531250 -1.968750 +v -2.000000 8.468750 -1.968750 +v -2.000000 8.468750 -2.031250 +v 2.000000 8.531250 -2.031250 +v 2.000000 8.531250 -1.968750 +v 2.000000 8.468750 -1.968750 +v 2.000000 8.468750 -2.031250 +v 3.000000 8.531250 -1.281250 +v 3.000000 8.531250 -1.218750 +v 3.000000 8.468750 -1.218750 +v 3.000000 8.468750 -1.281250 +v -3.000000 8.531250 -1.281250 +v -3.000000 8.531250 -1.218750 +v -3.000000 8.468750 -1.218750 +v -3.000000 8.468750 -1.281250 +v -3.000000 8.531250 -1.218750 +v -3.000000 8.468750 -1.218750 +v -3.000000 9.500000 -0.531250 +v -3.000000 9.437500 -0.531250 +v -3.000000 8.531250 -1.218750 +v -3.000000 8.468750 -1.218750 +v -3.000000 7.562500 -0.531250 +v -3.000000 7.500000 -0.531250 +v -2.000000 8.531250 -1.968750 +v -2.000000 8.468750 -1.968750 +v -2.000000 9.500000 -1.281250 +v -2.000000 9.437500 -1.281250 +v -2.000000 8.531250 -1.968750 +v -2.000000 8.468750 -1.968750 +v -2.000000 7.562500 -1.281250 +v -2.000000 7.500000 -1.281250 +v -1.000000 8.531250 -2.218750 +v -1.000000 8.468750 -2.218750 +v -1.000000 9.500000 -1.531250 +v -1.000000 9.437500 -1.531250 +v -1.000000 8.531250 -2.218750 +v -1.000000 8.468750 -2.218750 +v -1.000000 7.562500 -1.531250 +v -1.000000 7.500000 -1.531250 +v 0.000000 8.531250 -2.218750 +v 0.000000 8.468750 -2.218750 +v 0.000000 9.500000 -1.531250 +v 0.000000 9.437500 -1.531250 +v 0.000000 8.531250 -2.218750 +v 0.000000 8.468750 -2.218750 +v 0.000000 7.562500 -1.531250 +v 0.000000 7.500000 -1.531250 +v 1.000000 8.531250 -2.218750 +v 1.000000 8.468750 -2.218750 +v 1.000000 9.500000 -1.531250 +v 1.000000 9.437500 -1.531250 +v 1.000000 8.531250 -2.218750 +v 1.000000 8.468750 -2.218750 +v 1.000000 7.562500 -1.531250 +v 1.000000 7.500000 -1.531250 +v 2.000000 8.531250 -1.968750 +v 2.000000 8.468750 -1.968750 +v 2.000000 9.500000 -1.281250 +v 2.000000 9.437500 -1.281250 +v 2.000000 8.531250 -1.968750 +v 2.000000 8.468750 -1.968750 +v 2.000000 7.562500 -1.281250 +v 2.000000 7.500000 -1.281250 +v 3.000000 8.531250 -1.218750 +v 3.000000 8.468750 -1.218750 +v 3.000000 9.500000 -0.531250 +v 3.000000 9.437500 -0.531250 +v 3.000000 8.531250 -1.218750 +v 3.000000 8.468750 -1.218750 +v 3.000000 7.562500 -0.531250 +v 3.000000 7.500000 -0.531250 +v 0.816250 7.000000 -1.687500 +v 0.878750 7.000000 -1.687500 +v 0.816250 7.000000 -1.750000 +v 0.878750 7.000000 -1.750000 +v 0.816250 8.500000 -2.218750 +v 0.878750 8.500000 -2.218750 +v 0.816250 8.500000 -2.281250 +v 0.878750 8.500000 -2.281250 +v -0.683750 7.000000 -1.687500 +v -0.621250 7.000000 -1.687500 +v -0.683750 7.000000 -1.750000 +v -0.621250 7.000000 -1.750000 +v -0.683750 8.500000 -2.218750 +v -0.621250 8.500000 -2.218750 +v -0.683750 8.500000 -2.281250 +v -0.621250 8.500000 -2.281250 +v 0.628750 7.000000 -1.687500 +v 0.691250 7.000000 -1.687500 +v 0.628750 7.000000 -1.750000 +v 0.691250 7.000000 -1.750000 +v 0.628750 8.500000 -2.218750 +v 0.691250 8.500000 -2.218750 +v 0.628750 8.500000 -2.281250 +v 0.691250 8.500000 -2.281250 +v -0.871250 7.000000 -1.687500 +v -0.808750 7.000000 -1.687500 +v -0.871250 7.000000 -1.750000 +v -0.808750 7.000000 -1.750000 +v -0.871250 8.500000 -2.218750 +v -0.808750 8.500000 -2.218750 +v -0.871250 8.500000 -2.281250 +v -0.808750 8.500000 -2.281250 +v -0.125000 7.249850 2.450611 +v 0.125000 7.249850 2.450611 +v -0.125000 7.491331 2.515315 +v 0.125000 7.491331 2.515315 +v -0.125000 7.991632 1.614094 +v -0.125000 7.267187 1.419980 +v 0.125000 7.267187 1.419980 +v 0.125000 7.991632 1.614094 +v -0.218750 7.375000 2.312500 +v 0.218750 7.375000 2.312500 +v -0.218750 7.375000 2.187500 +v 0.218750 7.375000 2.187500 +v 0.218750 7.562500 2.312500 +v -0.218750 7.562500 2.312500 +v 0.218750 7.562500 2.187500 +v -0.218750 7.562500 2.187500 +v -1.000000 7.500000 -1.500000 +v 1.000000 7.500000 -1.500000 +v -1.000000 9.500000 -1.500000 +v 1.000000 9.500000 -1.500000 +v -2.000000 7.500000 -1.250000 +v 2.000000 7.500000 -1.250000 +v -2.000000 9.500000 -1.250000 +v 2.000000 9.500000 -1.250000 +v -3.000000 7.500000 -0.500000 +v 3.000000 7.500000 -0.500000 +v -3.000000 9.500000 -0.500000 +v 3.000000 9.500000 -0.500000 +v -1.000000 7.000000 -1.250000 +v 1.000000 7.000000 -1.250000 +v -1.000000 10.000000 -1.250000 +v 1.000000 10.000000 -1.250000 +v -2.000000 7.000000 -1.000000 +v 2.000000 7.000000 -1.000000 +v -2.000000 10.000000 -1.000000 +v 2.000000 10.000000 -1.000000 +v -3.000000 8.531250 -1.218750 +v -3.000000 8.468750 -1.218750 +v -3.000000 9.500000 -0.531250 +v -3.000000 9.437500 -0.531250 +v -3.000000 8.531250 -1.218750 +v -3.000000 8.468750 -1.218750 +v -3.000000 7.562500 -0.531250 +v -3.000000 7.500000 -0.531250 +v -2.000000 8.531250 -1.968750 +v -2.000000 8.468750 -1.968750 +v -2.000000 9.500000 -1.281250 +v -2.000000 9.437500 -1.281250 +v -2.000000 8.531250 -1.968750 +v -2.000000 8.468750 -1.968750 +v -2.000000 7.562500 -1.281250 +v -2.000000 7.500000 -1.281250 +v -1.000000 8.531250 -2.218750 +v -1.000000 8.468750 -2.218750 +v -1.000000 9.500000 -1.531250 +v -1.000000 9.437500 -1.531250 +v -1.000000 8.531250 -2.218750 +v -1.000000 8.468750 -2.218750 +v -1.000000 7.562500 -1.531250 +v -1.000000 7.500000 -1.531250 +v 0.000000 8.531250 -2.218750 +v 0.000000 8.468750 -2.218750 +v 0.000000 9.500000 -1.531250 +v 0.000000 9.437500 -1.531250 +v 0.000000 8.531250 -2.218750 +v 0.000000 8.468750 -2.218750 +v 0.000000 7.562500 -1.531250 +v 0.000000 7.500000 -1.531250 +v 1.000000 8.531250 -2.218750 +v 1.000000 8.468750 -2.218750 +v 1.000000 9.500000 -1.531250 +v 1.000000 9.437500 -1.531250 +v 1.000000 8.531250 -2.218750 +v 1.000000 8.468750 -2.218750 +v 1.000000 7.562500 -1.531250 +v 1.000000 7.500000 -1.531250 +v 2.000000 8.531250 -1.968750 +v 2.000000 8.468750 -1.968750 +v 2.000000 9.500000 -1.281250 +v 2.000000 9.437500 -1.281250 +v 2.000000 8.531250 -1.968750 +v 2.000000 8.468750 -1.968750 +v 2.000000 7.562500 -1.281250 +v 2.000000 7.500000 -1.281250 +v 3.000000 8.531250 -1.218750 +v 3.000000 8.468750 -1.218750 +v 3.000000 9.500000 -0.531250 +v 3.000000 9.437500 -0.531250 +v 3.000000 8.531250 -1.218750 +v 3.000000 8.468750 -1.218750 +v 3.000000 7.562500 -0.531250 +v 3.000000 7.500000 -0.531250 +vt 0.708333 0.066667 +vt 0.681818 0.266667 +vt 0.681818 0.066667 +vt 0.602273 0.066667 +vt 0.575758 0.266667 +vt 0.575758 0.066667 +vt 0.734848 0.266667 +vt 0.734848 0.066667 +vt 0.628788 0.266667 +vt 0.628788 0.066667 +vt 0.761364 0.266667 +vt 0.761364 0.066667 +vt 0.655303 0.266667 +vt 0.655303 0.066667 +vt 0.787879 0.266667 +vt 0.787879 0.066667 +vt 0.592803 0.400000 +vt 0.575758 0.304167 +vt 0.619318 0.266667 +vt 0.863636 0.333333 +vt 0.893939 0.200000 +vt 0.893939 0.333333 +vt 0.924242 0.200000 +vt 0.954545 0.333333 +vt 0.924242 0.333333 +vt 0.924242 0.200000 +vt 0.946970 0.033333 +vt 0.954545 0.200000 +vt 0.984848 0.333333 +vt 0.962121 0.600000 +vt 0.954545 0.200000 +vt 0.984848 0.200000 +vt 0.901515 0.600000 +vt 0.916667 0.633333 +vt 0.901515 0.633333 +vt 0.916667 0.600000 +vt 0.946970 0.600000 +vt 0.931818 0.600000 +vt 0.871212 0.600000 +vt 0.863636 0.333333 +vt 0.893939 0.200000 +vt 0.893939 0.333333 +vt 0.954545 0.333333 +vt 0.924242 0.333333 +vt 0.946970 0.033333 +vt 0.977273 0.600000 +vt 0.962121 0.600000 +vt 0.984848 0.333333 +vt 0.984848 0.200000 +vt 0.901515 0.600000 +vt 0.916667 0.633333 +vt 0.901515 0.633333 +vt 0.946970 0.600000 +vt 0.931818 0.600000 +vt 0.871212 0.600000 +vt 0.818182 0.016667 +vt 0.833333 0.275000 +vt 0.818182 0.275000 +vt 0.795455 0.275000 +vt 0.810606 0.016667 +vt 0.810606 0.275000 +vt 0.810606 -0.000000 +vt 0.795455 0.016667 +vt 0.795455 -0.000000 +vt 0.795455 0.291667 +vt 0.810606 0.291667 +vt 0.787879 0.016667 +vt 0.787879 0.275000 +vt 0.772727 0.300000 +vt 0.742424 0.333333 +vt 0.742424 0.300000 +vt 0.742424 0.366667 +vt 0.772727 0.400000 +vt 0.742424 0.400000 +vt 0.772727 0.333333 +vt 0.772727 0.266667 +vt 0.787879 0.333333 +vt 0.772727 0.366667 +vt 0.727273 0.366667 +vt 0.727273 0.333333 +vt 0.727273 0.466667 +vt 0.606061 0.733333 +vt 0.606061 0.466667 +vt 0.787879 0.733333 +vt 0.727273 0.733333 +vt 0.545455 0.466667 +vt 0.787879 0.466667 +vt 0.848485 0.733333 +vt 0.545455 0.733333 +vt 0.484848 0.466667 +vt 0.606061 0.800000 +vt 0.545455 0.800000 +vt 0.727273 0.400000 +vt 0.787879 0.400000 +vt 0.606061 0.400000 +vt 0.727273 0.800000 +vt 0.484848 0.733333 +vt 0.787879 0.800000 +vt 0.545455 0.400000 +vt 0.848485 0.466667 +vt 0.859848 0.466667 +vt 0.863636 0.400000 +vt 0.863636 0.466667 +vt 0.848485 0.733333 +vt 0.852273 0.800000 +vt 0.848485 0.800000 +vt 0.859848 0.733333 +vt 0.852273 0.466667 +vt 0.848485 0.466667 +vt 0.856061 0.733333 +vt 0.856061 0.466667 +vt 0.852273 0.733333 +vt 0.852273 0.808333 +vt 0.856061 0.800000 +vt 0.856061 0.808333 +vt 0.863636 0.733333 +vt 0.859848 0.800000 +vt 0.856061 0.400000 +vt 0.852273 0.391667 +vt 0.856061 0.391667 +vt 0.852273 0.400000 +vt 0.859848 0.400000 +vt 0.859848 0.466667 +vt 0.863636 0.400000 +vt 0.863636 0.466667 +vt 0.848485 0.733333 +vt 0.852273 0.800000 +vt 0.848485 0.800000 +vt 0.859848 0.733333 +vt 0.852273 0.466667 +vt 0.848485 0.466667 +vt 0.856061 0.733333 +vt 0.856061 0.466667 +vt 0.852273 0.733333 +vt 0.852273 0.808333 +vt 0.856061 0.800000 +vt 0.856061 0.808333 +vt 0.863636 0.733333 +vt 0.859848 0.800000 +vt 0.856061 0.400000 +vt 0.852273 0.391667 +vt 0.856061 0.391667 +vt 0.852273 0.400000 +vt 0.859848 0.400000 +vt 0.859848 0.466667 +vt 0.863636 0.400000 +vt 0.863636 0.466667 +vt 0.848485 0.733333 +vt 0.852273 0.800000 +vt 0.848485 0.800000 +vt 0.859848 0.733333 +vt 0.852273 0.466667 +vt 0.848485 0.466667 +vt 0.856061 0.733333 +vt 0.856061 0.466667 +vt 0.852273 0.733333 +vt 0.852273 0.808333 +vt 0.856061 0.800000 +vt 0.856061 0.808333 +vt 0.863636 0.733333 +vt 0.859848 0.800000 +vt 0.856061 0.400000 +vt 0.852273 0.391667 +vt 0.856061 0.391667 +vt 0.852273 0.400000 +vt 0.859848 0.400000 +vt 0.859848 0.466667 +vt 0.863636 0.400000 +vt 0.863636 0.466667 +vt 0.848485 0.733333 +vt 0.852273 0.800000 +vt 0.848485 0.800000 +vt 0.859848 0.733333 +vt 0.852273 0.466667 +vt 0.848485 0.466667 +vt 0.856061 0.733333 +vt 0.856061 0.466667 +vt 0.852273 0.733333 +vt 0.852273 0.808333 +vt 0.856061 0.800000 +vt 0.856061 0.808333 +vt 0.863636 0.733333 +vt 0.859848 0.800000 +vt 0.856061 0.400000 +vt 0.852273 0.391667 +vt 0.856061 0.391667 +vt 0.852273 0.400000 +vt 0.859848 0.400000 +vt 0.859848 0.466667 +vt 0.863636 0.400000 +vt 0.863636 0.466667 +vt 0.848485 0.733333 +vt 0.852273 0.800000 +vt 0.848485 0.800000 +vt 0.859848 0.733333 +vt 0.852273 0.466667 +vt 0.848485 0.466667 +vt 0.856061 0.733333 +vt 0.856061 0.466667 +vt 0.852273 0.733333 +vt 0.852273 0.808333 +vt 0.856061 0.800000 +vt 0.856061 0.808333 +vt 0.863636 0.733333 +vt 0.859848 0.800000 +vt 0.856061 0.400000 +vt 0.852273 0.391667 +vt 0.856061 0.391667 +vt 0.852273 0.400000 +vt 0.859848 0.400000 +vt 0.863636 0.466667 +vt 0.859848 0.733333 +vt 0.859848 0.466667 +vt 0.852273 0.466667 +vt 0.848485 0.733333 +vt 0.848485 0.466667 +vt 0.856061 0.733333 +vt 0.856061 0.466667 +vt 0.852273 0.733333 +vt 0.863636 0.466667 +vt 0.859848 0.733333 +vt 0.859848 0.466667 +vt 0.852273 0.466667 +vt 0.848485 0.733333 +vt 0.848485 0.466667 +vt 0.856061 0.733333 +vt 0.856061 0.466667 +vt 0.852273 0.733333 +vt 0.856061 0.808333 +vt 0.852273 0.800000 +vt 0.856061 0.800000 +vt 0.852273 0.400000 +vt 0.856061 0.391667 +vt 0.856061 0.400000 +vt 0.852273 0.400000 +vt 0.856061 0.391667 +vt 0.856061 0.400000 +vt 0.856061 0.808333 +vt 0.852273 0.800000 +vt 0.856061 0.800000 +vt 0.901515 -0.000000 +vt 0.916667 0.033333 +vt 0.901515 0.033333 +vt 0.901515 -0.000000 +vt 0.916667 0.033333 +vt 0.901515 0.033333 +vt 0.871212 0.033333 +vt 0.886364 0.033333 +vt 0.871212 0.033333 +vt 0.886364 0.033333 +vt 0.977273 0.033333 +vt 0.977273 0.033333 +vt 0.606061 0.800000 +vt 0.727273 0.808333 +vt 0.606061 0.808333 +vt 0.606061 0.825000 +vt 0.727273 0.833333 +vt 0.606061 0.833333 +vt 0.727273 0.816667 +vt 0.606061 0.816667 +vt 0.727273 0.825000 +vt 0.545455 0.825000 +vt 0.787879 0.825000 +vt 0.787879 0.833333 +vt 0.484848 0.816667 +vt 0.545455 0.816667 +vt 0.545455 0.808333 +vt 0.545455 0.800000 +vt 0.848485 0.825000 +vt 0.848485 0.833333 +vt 0.787879 0.816667 +vt 0.727273 0.800000 +vt 0.787879 0.808333 +vt 0.848485 0.808333 +vt 0.852273 0.816667 +vt 0.848485 0.816667 +vt 0.787879 0.800000 +vt 0.481061 0.816667 +vt 0.484848 0.808333 +vt 0.484848 0.800000 +vt 0.545455 0.833333 +vt 0.484848 0.825000 +vt 0.803030 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.400000 +vt 0.803030 0.400000 +vt 0.848485 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.400000 +vt 0.803030 0.400000 +vt 0.848485 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.400000 +vt 0.803030 0.400000 +vt 0.848485 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.400000 +vt 0.803030 0.400000 +vt 0.848485 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.400000 +vt 0.803030 0.400000 +vt 0.848485 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.400000 +vt 0.803030 0.400000 +vt 0.848485 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.400000 +vt 0.803030 0.400000 +vt 0.848485 0.391667 +vt 0.848485 0.400000 +vt 0.484848 0.533333 +vt 0.481061 0.733333 +vt 0.481061 0.533333 +vt 0.473485 0.533333 +vt 0.469697 0.733333 +vt 0.469697 0.533333 +vt 0.477273 0.533333 +vt 0.477273 0.733333 +vt 0.473485 0.733333 +vt 0.484848 0.533333 +vt 0.481061 0.733333 +vt 0.481061 0.533333 +vt 0.473485 0.533333 +vt 0.469697 0.733333 +vt 0.469697 0.533333 +vt 0.477273 0.533333 +vt 0.477273 0.733333 +vt 0.473485 0.733333 +vt 0.484848 0.533333 +vt 0.481061 0.733333 +vt 0.481061 0.533333 +vt 0.473485 0.533333 +vt 0.469697 0.733333 +vt 0.469697 0.533333 +vt 0.477273 0.533333 +vt 0.477273 0.733333 +vt 0.473485 0.733333 +vt 0.484848 0.533333 +vt 0.481061 0.733333 +vt 0.481061 0.533333 +vt 0.473485 0.533333 +vt 0.469697 0.733333 +vt 0.469697 0.533333 +vt 0.477273 0.533333 +vt 0.477273 0.733333 +vt 0.473485 0.733333 +vt 0.924242 1.000000 +vt 0.939394 0.966667 +vt 0.939394 1.000000 +vt 0.939394 0.833333 +vt 0.924242 0.733333 +vt 0.939394 0.733333 +vt 0.924242 0.966667 +vt 0.939394 0.600000 +vt 0.924242 0.600000 +vt 0.863636 0.766667 +vt 0.924242 0.833333 +vt 0.863636 0.800000 +vt 1.000000 0.800000 +vt 1.000000 0.766667 +vt 0.731061 0.291667 +vt 0.704545 0.308333 +vt 0.704545 0.291667 +vt 0.742424 0.308333 +vt 0.742424 0.291667 +vt 0.731061 0.266667 +vt 0.704545 0.266667 +vt 0.693182 0.291667 +vt 0.693182 0.308333 +vt 0.704545 0.333333 +vt 0.731061 0.308333 +vt 0.731061 0.333333 +vt 0.606061 0.733333 +vt 0.727273 0.466667 +vt 0.606061 0.466667 +vt 0.787879 0.733333 +vt 0.727273 0.733333 +vt 0.545455 0.466667 +vt 0.848485 0.733333 +vt 0.787879 0.466667 +vt 0.484848 0.466667 +vt 0.545455 0.733333 +vt 0.606061 0.800000 +vt 0.727273 0.400000 +vt 0.606061 0.400000 +vt 0.727273 0.800000 +vt 0.484848 0.733333 +vt 0.545455 0.800000 +vt 0.787879 0.800000 +vt 0.545455 0.400000 +vt 0.848485 0.466667 +vt 0.787879 0.400000 +vt 0.848485 0.400000 +vt 0.803030 0.391667 +vt 0.803030 0.400000 +vt 0.803030 0.400000 +vt 0.848485 0.391667 +vt 0.803030 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.391667 +vt 0.803030 0.400000 +vt 0.803030 0.400000 +vt 0.848485 0.391667 +vt 0.803030 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.391667 +vt 0.803030 0.400000 +vt 0.803030 0.400000 +vt 0.848485 0.391667 +vt 0.803030 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.391667 +vt 0.803030 0.400000 +vt 0.803030 0.400000 +vt 0.848485 0.391667 +vt 0.803030 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.391667 +vt 0.803030 0.400000 +vt 0.803030 0.400000 +vt 0.848485 0.391667 +vt 0.803030 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.391667 +vt 0.803030 0.400000 +vt 0.803030 0.400000 +vt 0.848485 0.391667 +vt 0.803030 0.391667 +vt 0.848485 0.400000 +vt 0.803030 0.391667 +vt 0.803030 0.400000 +vt 0.803030 0.400000 +vt 0.848485 0.391667 +vt 0.803030 0.391667 +vt 0.708333 0.266667 +vt 0.602273 0.266667 +vt 0.636364 0.304167 +vt 0.636364 0.362500 +vt 0.619318 0.400000 +vt 0.575758 0.362500 +vt 0.592803 0.266667 +vt 0.863636 0.200000 +vt 0.931818 0.033333 +vt 0.977273 0.600000 +vt 0.886364 0.600000 +vt 0.863636 0.200000 +vt 0.931818 0.033333 +vt 0.916667 0.600000 +vt 0.886364 0.600000 +vt 0.833333 0.016667 +vt 0.742424 0.266667 +vt 0.787879 0.366667 +vt 0.863636 0.800000 +vt 0.848485 0.400000 +vt 0.863636 0.800000 +vt 0.848485 0.400000 +vt 0.863636 0.800000 +vt 0.848485 0.400000 +vt 0.863636 0.800000 +vt 0.848485 0.400000 +vt 0.863636 0.800000 +vt 0.848485 0.400000 +vt 0.863636 0.733333 +vt 0.863636 0.733333 +vt 0.852273 0.808333 +vt 0.852273 0.391667 +vt 0.852273 0.391667 +vt 0.852273 0.808333 +vt 0.916667 0.000000 +vt 0.916667 -0.000000 +vt 0.962121 0.033333 +vt 0.962121 0.033333 +vt 0.852273 0.808333 +vt 0.848485 0.800000 +vt 0.481061 0.808333 +vt 0.484848 0.833333 +vt 0.848485 0.391667 +vt 0.803030 0.391667 +vt 0.848485 0.391667 +vt 0.803030 0.391667 +vt 0.848485 0.391667 +vt 0.803030 0.391667 +vt 0.848485 0.391667 +vt 0.803030 0.391667 +vt 0.848485 0.391667 +vt 0.803030 0.391667 +vt 0.848485 0.391667 +vt 0.803030 0.391667 +vt 0.848485 0.391667 +vt 0.803030 0.391667 +vt 0.484848 0.733333 +vt 0.484848 0.733333 +vt 0.484848 0.733333 +vt 0.484848 0.733333 +vt 0.848485 0.391667 +vt 0.848485 0.400000 +vt 0.848485 0.391667 +vt 0.848485 0.400000 +vt 0.848485 0.391667 +vt 0.848485 0.400000 +vt 0.848485 0.391667 +vt 0.848485 0.400000 +vt 0.848485 0.391667 +vt 0.848485 0.400000 +vt 0.848485 0.391667 +vt 0.848485 0.400000 +vt 0.848485 0.391667 +vt 0.848485 0.400000 +vn 0.7071 0.0000 -0.7071 +vn -0.7071 0.0000 0.7071 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn -0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn -0.9950 0.0000 -0.0995 +vn 0.0000 -0.9545 0.2983 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.9829 -0.1843 +vn -0.9545 0.0000 0.2983 +vn 0.9829 0.0000 -0.1843 +vn -0.9829 0.0000 -0.1843 +vn 0.9545 0.0000 0.2983 +vn -0.2425 0.0000 0.9701 +vn 0.2425 0.0000 0.9701 +vn -0.6000 0.0000 0.8000 +vn 0.6000 0.0000 0.8000 +vn 0.2182 -0.4364 0.8729 +vn -0.2182 0.4364 0.8729 +vn 0.0000 -0.4472 0.8944 +vn 0.0000 0.4472 0.8944 +vn 0.2182 0.4364 0.8729 +vn -0.2182 -0.4364 0.8729 +vn 0.5571 -0.3714 0.7428 +vn -0.5571 -0.3714 0.7428 +vn 0.5571 0.3714 0.7428 +vn -0.5571 0.3714 0.7428 +vn 0.0000 0.4472 -0.8944 +vn 0.0000 -0.4472 -0.8944 +vn 0.9950 0.0000 -0.0995 +vn 0.0000 -0.9806 -0.1961 +vn -0.6000 0.0000 -0.8000 +vn -0.2425 0.0000 -0.9701 +vn 0.2425 0.0000 -0.9701 +vn 0.6000 0.0000 -0.8000 +vn 0.0000 0.3338 0.9426 +vn 0.0000 -0.3338 -0.9426 +vn 0.0000 -0.2588 0.9659 +vn 0.0000 0.2588 -0.9659 +vn 0.0000 0.8743 0.4854 +vn 0.0000 -0.9999 -0.0168 +vn -0.2182 0.4364 -0.8729 +vn 0.2182 -0.4364 -0.8729 +vn -0.2182 -0.4364 -0.8729 +vn 0.2182 0.4364 -0.8729 +vn -0.5571 0.3714 -0.7428 +vn 0.5571 0.3714 -0.7428 +vn -0.5571 -0.3714 -0.7428 +vn 0.5571 -0.3714 -0.7428 +s off +f 4/1/1 14/2/1 6/3/1 +f 1/4/2 15/5/2 7/6/2 +f 11/7/3 4/1/3 3/8/3 +f 10/9/4 1/4/4 2/10/4 +f 16/11/5 3/8/5 8/12/5 +f 13/13/6 2/10/6 5/14/6 +f 14/2/7 5/14/7 6/3/7 +f 15/15/8 8/12/8 7/16/8 +f 10/17/9 14/18/9 11/19/9 +f 18/20/7 19/21/7 17/22/7 +f 21/23/8 23/24/8 22/25/8 +f 19/21/9 22/25/9 17/22/9 +f 33/26/10 179/27/10 36/28/10 +f 18/29/11 28/30/11 23/24/11 +f 18/29/12 24/31/12 20/32/12 +f 25/33/4 28/34/4 26/35/4 +f 17/22/13 27/36/13 25/33/13 +f 22/25/14 28/37/14 27/38/14 +f 17/22/15 26/39/15 18/20/15 +f 30/40/7 31/41/7 29/42/7 +f 33/26/8 35/43/8 34/44/8 +f 31/41/9 34/44/9 29/42/9 +f 21/23/10 175/45/10 24/31/10 +f 35/43/11 38/46/11 40/47/11 +f 30/48/12 36/28/12 32/49/12 +f 37/50/4 40/51/4 38/52/4 +f 34/44/13 37/50/13 29/42/13 +f 34/44/16 40/53/16 39/54/16 +f 29/42/17 38/55/17 30/40/17 +f 42/56/3 43/57/3 41/58/3 +f 45/59/4 47/60/4 46/61/4 +f 42/62/7 48/63/7 44/64/7 +f 43/65/8 46/61/8 41/66/8 +f 44/67/12 45/59/12 43/68/12 +f 41/58/9 47/60/9 42/56/9 +f 50/69/4 51/70/4 49/71/4 +f 53/72/3 55/73/3 54/74/3 +f 52/75/9 53/72/9 51/70/9 +f 49/71/12 55/76/12 50/69/12 +f 50/77/7 56/78/7 52/75/7 +f 51/70/8 54/79/8 49/80/8 +f 58/81/4 59/82/4 57/83/4 +f 58/81/18 64/84/18 60/85/18 +f 59/82/19 61/86/19 57/83/19 +f 62/87/20 68/88/20 64/84/20 +f 63/89/21 65/90/21 61/86/21 +f 63/89/22 71/91/22 75/92/22 +f 62/87/23 70/93/23 74/94/23 +f 60/85/24 71/91/24 59/82/24 +f 57/83/25 70/93/25 58/81/25 +f 61/86/26 69/95/26 57/83/26 +f 64/84/27 72/96/27 60/85/27 +f 63/89/28 75/92/28 67/97/28 +f 64/84/29 68/88/29 76/98/29 +f 61/86/30 65/90/30 73/99/30 +f 62/87/31 74/94/31 66/100/31 +f 77/101/25 91/102/25 78/103/25 +f 82/104/7 88/105/7 87/106/7 +f 78/103/4 81/107/4 77/101/4 +f 80/108/7 82/104/7 78/109/7 +f 77/101/8 83/110/8 79/111/8 +f 79/111/3 84/112/3 80/108/3 +f 87/113/9 85/114/9 86/115/9 +f 81/107/8 85/114/8 83/110/8 +f 83/110/32 88/105/32 84/112/32 +f 82/116/24 86/117/24 81/107/24 +f 89/118/12 91/119/12 90/120/12 +f 78/109/7 92/121/7 80/108/7 +f 77/101/8 89/118/8 90/122/8 +f 80/108/33 89/118/33 79/111/33 +f 93/123/25 107/124/25 94/125/25 +f 98/126/7 104/127/7 103/128/7 +f 94/125/4 97/129/4 93/123/4 +f 96/130/7 98/126/7 94/131/7 +f 93/123/8 99/132/8 95/133/8 +f 95/133/3 100/134/3 96/130/3 +f 103/135/9 101/136/9 102/137/9 +f 97/129/8 101/136/8 99/132/8 +f 99/132/32 104/127/32 100/134/32 +f 98/138/24 102/139/24 97/129/24 +f 105/140/12 107/141/12 106/142/12 +f 94/131/7 108/143/7 96/130/7 +f 93/123/8 105/140/8 106/144/8 +f 96/130/33 105/140/33 95/133/33 +f 109/145/25 123/146/25 110/147/25 +f 114/148/7 120/149/7 119/150/7 +f 110/147/4 113/151/4 109/145/4 +f 112/152/7 114/148/7 110/153/7 +f 109/145/8 115/154/8 111/155/8 +f 111/155/3 116/156/3 112/152/3 +f 119/157/9 117/158/9 118/159/9 +f 113/151/8 117/158/8 115/154/8 +f 115/154/32 120/149/32 116/156/32 +f 114/160/24 118/161/24 113/151/24 +f 121/162/12 123/163/12 122/164/12 +f 110/153/7 124/165/7 112/152/7 +f 109/145/8 121/162/8 122/166/8 +f 112/152/33 121/162/33 111/155/33 +f 125/167/25 139/168/25 126/169/25 +f 130/170/7 136/171/7 135/172/7 +f 126/169/4 129/173/4 125/167/4 +f 128/174/7 130/170/7 126/175/7 +f 125/167/8 131/176/8 127/177/8 +f 127/177/3 132/178/3 128/174/3 +f 135/179/9 133/180/9 134/181/9 +f 129/173/8 133/180/8 131/176/8 +f 131/176/32 136/171/32 132/178/32 +f 130/182/24 134/183/24 129/173/24 +f 137/184/12 139/185/12 138/186/12 +f 126/175/7 140/187/7 128/174/7 +f 125/167/8 137/184/8 138/188/8 +f 128/174/33 137/184/33 127/177/33 +f 141/189/25 155/190/25 142/191/25 +f 146/192/7 152/193/7 151/194/7 +f 142/191/4 145/195/4 141/189/4 +f 144/196/7 146/192/7 142/197/7 +f 141/189/8 147/198/8 143/199/8 +f 143/199/3 148/200/3 144/196/3 +f 151/201/9 149/202/9 150/203/9 +f 145/195/8 149/202/8 147/198/8 +f 147/198/32 152/193/32 148/200/32 +f 146/204/24 150/205/24 145/195/24 +f 153/206/12 155/207/12 154/208/12 +f 142/197/7 156/209/7 144/196/7 +f 141/189/8 153/206/8 154/210/8 +f 144/196/33 153/206/33 143/199/33 +f 158/211/4 161/212/4 157/213/4 +f 160/214/7 162/215/7 158/216/7 +f 157/213/8 163/217/8 159/218/8 +f 159/218/3 164/219/3 160/214/3 +f 166/220/4 169/221/4 165/222/4 +f 168/223/7 170/224/7 166/225/7 +f 165/222/8 171/226/8 167/227/8 +f 167/227/3 172/228/3 168/223/3 +f 161/229/9 164/230/9 163/231/9 +f 160/232/12 157/233/12 159/234/12 +f 168/235/12 165/236/12 167/237/12 +f 169/238/9 172/239/9 171/240/9 +f 173/241/3 176/242/3 174/243/3 +f 177/244/3 180/245/3 178/246/3 +f 19/21/34 173/247/34 174/248/34 +f 31/41/34 177/249/34 178/250/34 +f 24/31/35 173/251/35 20/32/35 +f 36/28/35 177/252/35 32/49/35 +f 19/21/9 176/242/9 21/23/9 +f 31/41/9 180/245/9 33/26/9 +f 182/253/4 185/254/4 181/255/4 +f 184/256/12 186/257/12 182/258/12 +f 181/255/9 187/259/9 183/260/9 +f 183/260/3 188/261/3 184/256/3 +f 182/258/12 192/262/12 184/256/12 +f 186/257/12 196/263/12 195/264/12 +f 192/262/36 201/265/36 189/266/36 +f 181/255/9 189/266/9 190/267/9 +f 184/256/37 189/266/37 183/260/37 +f 181/255/19 191/268/19 182/253/19 +f 195/264/12 200/269/12 199/270/12 +f 185/254/9 193/271/9 187/259/9 +f 187/259/38 196/263/38 188/261/38 +f 186/272/18 194/273/18 185/254/18 +f 198/274/7 200/275/7 197/276/7 +f 194/273/9 197/276/9 193/271/9 +f 193/271/39 200/269/39 196/263/39 +f 195/277/20 198/274/20 194/273/20 +f 204/278/8 202/279/8 201/265/8 +f 190/267/21 203/280/21 191/268/21 +f 191/281/12 204/282/12 192/262/12 +f 190/267/9 201/265/9 202/279/9 +f 205/283/7 208/284/7 206/285/7 +f 210/286/7 211/287/7 212/288/7 +f 213/289/7 216/290/7 214/291/7 +f 218/292/7 219/293/7 220/294/7 +f 221/295/7 224/296/7 222/297/7 +f 226/298/7 227/299/7 228/300/7 +f 229/301/7 232/302/7 230/303/7 +f 234/304/7 235/305/7 236/306/7 +f 237/307/7 240/308/7 238/309/7 +f 242/310/7 243/311/7 244/312/7 +f 245/313/7 248/314/7 246/315/7 +f 250/316/7 251/317/7 252/318/7 +f 253/319/7 256/320/7 254/321/7 +f 258/322/7 259/323/7 260/324/7 +f 262/325/40 265/326/40 261/327/40 +f 264/328/7 266/329/7 262/330/7 +f 263/331/8 265/326/8 267/332/8 +f 263/331/41 268/333/41 264/328/41 +f 270/334/40 273/335/40 269/336/40 +f 272/337/7 274/338/7 270/339/7 +f 271/340/8 273/335/8 275/341/8 +f 271/340/41 276/342/41 272/337/41 +f 278/343/40 281/344/40 277/345/40 +f 280/346/7 282/347/7 278/348/7 +f 279/349/8 281/344/8 283/350/8 +f 279/349/41 284/351/41 280/346/41 +f 286/352/40 289/353/40 285/354/40 +f 288/355/7 290/356/7 286/357/7 +f 287/358/8 289/353/8 291/359/8 +f 287/358/41 292/360/41 288/355/41 +f 294/361/42 295/362/42 293/363/42 +f 297/364/43 299/365/43 298/366/43 +f 296/367/44 297/364/44 295/362/44 +f 293/368/45 299/365/45 294/369/45 +f 294/370/7 300/371/7 296/372/7 +f 295/373/8 298/366/8 293/374/8 +f 305/375/9 308/376/9 306/377/9 +f 304/378/7 305/375/7 302/379/7 +f 302/380/4 306/377/4 301/381/4 +f 301/382/8 308/376/8 303/383/8 +f 303/384/3 307/385/3 304/386/3 +f 311/387/3 310/388/3 309/389/3 +f 316/390/38 310/388/38 312/391/38 +f 313/392/37 311/387/37 309/389/37 +f 320/393/39 314/394/39 316/390/39 +f 317/395/36 315/396/36 313/392/36 +f 315/396/46 323/397/46 311/387/46 +f 314/394/47 322/398/47 310/388/47 +f 323/397/32 312/391/32 311/387/32 +f 322/398/33 309/389/33 310/388/33 +f 321/399/48 313/392/48 309/389/48 +f 324/400/49 316/390/49 312/391/49 +f 315/396/50 319/401/50 327/402/50 +f 316/390/51 328/403/51 320/393/51 +f 313/392/52 325/404/52 317/395/52 +f 314/394/53 318/405/53 326/406/53 +f 332/407/8 329/408/8 330/409/8 +f 334/410/8 335/411/8 333/412/8 +f 340/413/8 337/414/8 338/415/8 +f 342/416/8 343/417/8 341/418/8 +f 348/419/8 345/420/8 346/421/8 +f 350/422/8 351/423/8 349/424/8 +f 356/425/8 353/426/8 354/427/8 +f 358/428/8 359/429/8 357/430/8 +f 364/431/8 361/432/8 362/433/8 +f 366/434/8 367/435/8 365/436/8 +f 372/437/8 369/438/8 370/439/8 +f 374/440/8 375/441/8 373/442/8 +f 380/443/8 377/444/8 378/445/8 +f 382/446/8 383/447/8 381/448/8 +f 4/1/1 12/449/1 14/2/1 +f 1/4/2 9/450/2 15/5/2 +f 11/7/3 12/449/3 4/1/3 +f 10/9/4 9/450/4 1/4/4 +f 16/11/5 11/7/5 3/8/5 +f 13/13/6 10/9/6 2/10/6 +f 14/2/7 13/13/7 5/14/7 +f 15/15/8 16/11/8 8/12/8 +f 11/19/9 16/451/9 15/452/9 +f 15/452/9 9/453/9 10/17/9 +f 10/17/9 13/454/9 14/18/9 +f 14/18/9 12/455/9 11/19/9 +f 11/19/9 15/452/9 10/17/9 +f 18/20/7 20/456/7 19/21/7 +f 21/23/8 24/31/8 23/24/8 +f 19/21/9 21/23/9 22/25/9 +f 33/26/10 180/457/10 179/27/10 +f 18/29/11 26/458/11 28/30/11 +f 18/29/12 23/24/12 24/31/12 +f 25/33/4 27/36/4 28/34/4 +f 17/22/13 22/25/13 27/36/13 +f 22/25/14 23/24/14 28/37/14 +f 17/22/15 25/459/15 26/39/15 +f 30/40/7 32/460/7 31/41/7 +f 33/26/8 36/28/8 35/43/8 +f 31/41/9 33/26/9 34/44/9 +f 21/23/10 176/461/10 175/45/10 +f 35/43/11 30/48/11 38/46/11 +f 30/48/12 35/43/12 36/28/12 +f 37/50/4 39/462/4 40/51/4 +f 34/44/13 39/462/13 37/50/13 +f 34/44/16 35/43/16 40/53/16 +f 29/42/17 37/463/17 38/55/17 +f 42/56/3 44/464/3 43/57/3 +f 45/59/4 48/63/4 47/60/4 +f 42/62/7 47/60/7 48/63/7 +f 43/65/8 45/59/8 46/61/8 +f 44/67/12 48/63/12 45/59/12 +f 41/58/9 46/61/9 47/60/9 +f 50/69/4 52/75/4 51/70/4 +f 53/72/3 56/78/3 55/73/3 +f 52/75/9 56/78/9 53/72/9 +f 49/71/12 54/465/12 55/76/12 +f 50/77/7 55/466/7 56/78/7 +f 51/70/8 53/72/8 54/79/8 +f 58/81/4 60/85/4 59/82/4 +f 58/81/18 62/87/18 64/84/18 +f 59/82/19 63/89/19 61/86/19 +f 62/87/20 66/100/20 68/88/20 +f 63/89/21 67/97/21 65/90/21 +f 63/89/22 59/82/22 71/91/22 +f 62/87/23 58/81/23 70/93/23 +f 60/85/24 72/96/24 71/91/24 +f 57/83/25 69/95/25 70/93/25 +f 61/86/26 73/99/26 69/95/26 +f 64/84/27 76/98/27 72/96/27 +f 77/101/25 90/122/25 91/102/25 +f 82/104/7 84/112/7 88/105/7 +f 78/103/4 82/116/4 81/107/4 +f 80/108/7 84/112/7 82/104/7 +f 77/101/8 81/107/8 83/110/8 +f 79/111/3 83/110/3 84/112/3 +f 87/113/9 88/105/9 85/114/9 +f 81/107/8 86/117/8 85/114/8 +f 83/110/32 85/114/32 88/105/32 +f 82/116/24 87/467/24 86/117/24 +f 89/118/12 92/121/12 91/119/12 +f 78/109/7 91/468/7 92/121/7 +f 77/101/8 79/111/8 89/118/8 +f 80/108/33 92/121/33 89/118/33 +f 93/123/25 106/144/25 107/124/25 +f 98/126/7 100/134/7 104/127/7 +f 94/125/4 98/138/4 97/129/4 +f 96/130/7 100/134/7 98/126/7 +f 93/123/8 97/129/8 99/132/8 +f 95/133/3 99/132/3 100/134/3 +f 103/135/9 104/127/9 101/136/9 +f 97/129/8 102/139/8 101/136/8 +f 99/132/32 101/136/32 104/127/32 +f 98/138/24 103/469/24 102/139/24 +f 105/140/12 108/143/12 107/141/12 +f 94/131/7 107/470/7 108/143/7 +f 93/123/8 95/133/8 105/140/8 +f 96/130/33 108/143/33 105/140/33 +f 109/145/25 122/166/25 123/146/25 +f 114/148/7 116/156/7 120/149/7 +f 110/147/4 114/160/4 113/151/4 +f 112/152/7 116/156/7 114/148/7 +f 109/145/8 113/151/8 115/154/8 +f 111/155/3 115/154/3 116/156/3 +f 119/157/9 120/149/9 117/158/9 +f 113/151/8 118/161/8 117/158/8 +f 115/154/32 117/158/32 120/149/32 +f 114/160/24 119/471/24 118/161/24 +f 121/162/12 124/165/12 123/163/12 +f 110/153/7 123/472/7 124/165/7 +f 109/145/8 111/155/8 121/162/8 +f 112/152/33 124/165/33 121/162/33 +f 125/167/25 138/188/25 139/168/25 +f 130/170/7 132/178/7 136/171/7 +f 126/169/4 130/182/4 129/173/4 +f 128/174/7 132/178/7 130/170/7 +f 125/167/8 129/173/8 131/176/8 +f 127/177/3 131/176/3 132/178/3 +f 135/179/9 136/171/9 133/180/9 +f 129/173/8 134/183/8 133/180/8 +f 131/176/32 133/180/32 136/171/32 +f 130/182/24 135/473/24 134/183/24 +f 137/184/12 140/187/12 139/185/12 +f 126/175/7 139/474/7 140/187/7 +f 125/167/8 127/177/8 137/184/8 +f 128/174/33 140/187/33 137/184/33 +f 141/189/25 154/210/25 155/190/25 +f 146/192/7 148/200/7 152/193/7 +f 142/191/4 146/204/4 145/195/4 +f 144/196/7 148/200/7 146/192/7 +f 141/189/8 145/195/8 147/198/8 +f 143/199/3 147/198/3 148/200/3 +f 151/201/9 152/193/9 149/202/9 +f 145/195/8 150/205/8 149/202/8 +f 147/198/32 149/202/32 152/193/32 +f 146/204/24 151/475/24 150/205/24 +f 153/206/12 156/209/12 155/207/12 +f 142/197/7 155/476/7 156/209/7 +f 141/189/8 143/199/8 153/206/8 +f 144/196/33 156/209/33 153/206/33 +f 158/211/4 162/477/4 161/212/4 +f 160/214/7 164/219/7 162/215/7 +f 157/213/8 161/212/8 163/217/8 +f 159/218/3 163/217/3 164/219/3 +f 166/220/4 170/478/4 169/221/4 +f 168/223/7 172/228/7 170/224/7 +f 165/222/8 169/221/8 171/226/8 +f 167/227/3 171/226/3 172/228/3 +f 161/229/9 162/479/9 164/230/9 +f 160/232/12 158/480/12 157/233/12 +f 168/235/12 166/481/12 165/236/12 +f 169/238/9 170/482/9 172/239/9 +f 173/241/3 175/483/3 176/242/3 +f 177/244/3 179/484/3 180/245/3 +f 19/21/34 20/456/34 173/247/34 +f 31/41/34 32/460/34 177/249/34 +f 24/31/35 175/485/35 173/251/35 +f 36/28/35 179/486/35 177/252/35 +f 19/21/9 174/243/9 176/242/9 +f 31/41/9 178/246/9 180/245/9 +f 182/253/4 186/272/4 185/254/4 +f 184/256/12 188/261/12 186/257/12 +f 181/255/9 185/254/9 187/259/9 +f 183/260/3 187/259/3 188/261/3 +f 182/258/12 191/281/12 192/262/12 +f 186/257/12 188/261/12 196/263/12 +f 192/262/36 204/282/36 201/265/36 +f 181/255/9 183/260/9 189/266/9 +f 184/256/37 192/262/37 189/266/37 +f 181/255/19 190/267/19 191/268/19 +f 195/264/12 196/263/12 200/269/12 +f 185/254/9 194/273/9 193/271/9 +f 187/259/38 193/271/38 196/263/38 +f 186/272/18 195/277/18 194/273/18 +f 198/274/7 199/487/7 200/275/7 +f 194/273/9 198/274/9 197/276/9 +f 193/271/39 197/276/39 200/269/39 +f 195/277/20 199/488/20 198/274/20 +f 204/278/8 203/489/8 202/279/8 +f 190/267/21 202/279/21 203/280/21 +f 191/281/12 203/490/12 204/282/12 +f 190/267/9 189/266/9 201/265/9 +f 205/283/7 207/491/7 208/284/7 +f 210/286/7 209/492/7 211/287/7 +f 213/289/7 215/493/7 216/290/7 +f 218/292/7 217/494/7 219/293/7 +f 221/295/7 223/495/7 224/296/7 +f 226/298/7 225/496/7 227/299/7 +f 229/301/7 231/497/7 232/302/7 +f 234/304/7 233/498/7 235/305/7 +f 237/307/7 239/499/7 240/308/7 +f 242/310/7 241/500/7 243/311/7 +f 245/313/7 247/501/7 248/314/7 +f 250/316/7 249/502/7 251/317/7 +f 253/319/7 255/503/7 256/320/7 +f 258/322/7 257/504/7 259/323/7 +f 262/325/40 266/505/40 265/326/40 +f 264/328/7 268/333/7 266/329/7 +f 263/331/8 261/327/8 265/326/8 +f 263/331/41 267/332/41 268/333/41 +f 270/334/40 274/506/40 273/335/40 +f 272/337/7 276/342/7 274/338/7 +f 271/340/8 269/336/8 273/335/8 +f 271/340/41 275/341/41 276/342/41 +f 278/343/40 282/507/40 281/344/40 +f 280/346/7 284/351/7 282/347/7 +f 279/349/8 277/345/8 281/344/8 +f 279/349/41 283/350/41 284/351/41 +f 286/352/40 290/508/40 289/353/40 +f 288/355/7 292/360/7 290/356/7 +f 287/358/8 285/354/8 289/353/8 +f 287/358/41 291/359/41 292/360/41 +f 294/361/42 296/367/42 295/362/42 +f 297/364/43 300/371/43 299/365/43 +f 296/367/44 300/371/44 297/364/44 +f 293/368/45 298/366/45 299/365/45 +f 294/370/7 299/365/7 300/371/7 +f 295/373/8 297/364/8 298/366/8 +f 305/375/9 307/385/9 308/376/9 +f 304/378/7 307/385/7 305/375/7 +f 302/380/4 305/375/4 306/377/4 +f 301/382/8 306/377/8 308/376/8 +f 303/384/3 308/376/3 307/385/3 +f 311/387/3 312/391/3 310/388/3 +f 316/390/38 314/394/38 310/388/38 +f 313/392/37 315/396/37 311/387/37 +f 320/393/39 318/405/39 314/394/39 +f 317/395/36 319/401/36 315/396/36 +f 315/396/46 327/402/46 323/397/46 +f 314/394/47 326/406/47 322/398/47 +f 323/397/32 324/400/32 312/391/32 +f 322/398/33 321/399/33 309/389/33 +f 321/399/48 325/404/48 313/392/48 +f 324/400/49 328/403/49 316/390/49 +f 332/407/8 331/509/8 329/408/8 +f 334/410/8 336/510/8 335/411/8 +f 340/413/8 339/511/8 337/414/8 +f 342/416/8 344/512/8 343/417/8 +f 348/419/8 347/513/8 345/420/8 +f 350/422/8 352/514/8 351/423/8 +f 356/425/8 355/515/8 353/426/8 +f 358/428/8 360/516/8 359/429/8 +f 364/431/8 363/517/8 361/432/8 +f 366/434/8 368/518/8 367/435/8 +f 372/437/8 371/519/8 369/438/8 +f 374/440/8 376/520/8 375/441/8 +f 380/443/8 379/521/8 377/444/8 +f 382/446/8 384/522/8 383/447/8 +o Radar +v -1.500000 0.000000 1.500000 +v 1.500000 0.000000 1.500000 +v -1.500000 0.000000 -1.500000 +v 1.500000 0.000000 -1.500000 +v -1.500000 1.000000 1.500000 +v 1.500000 1.000000 1.500000 +v -1.500000 1.000000 -1.500000 +v 1.500000 1.000000 -1.500000 +v -1.500000 4.500000 1.500000 +v 1.500000 4.500000 1.500000 +v -1.500000 4.500000 -1.500000 +v 1.500000 4.500000 -1.500000 +v -1.500000 5.000000 1.500000 +v 1.500000 5.000000 1.500000 +v -1.500000 5.000000 -1.500000 +v 1.500000 5.000000 -1.500000 +v -0.312500 5.000000 0.750000 +v 0.312500 5.000000 0.750000 +v -0.312500 5.000000 -0.750000 +v 0.312500 5.000000 -0.750000 +v 0.750000 5.000000 0.312500 +v 0.750000 5.000000 -0.312500 +v -0.750000 5.000000 0.312500 +v -0.750000 5.000000 -0.312500 +v -0.312500 5.500000 0.750000 +v 0.312500 5.500000 0.750000 +v -0.312500 5.500000 -0.750000 +v 0.312500 5.500000 -0.750000 +v 0.750000 5.500000 0.312500 +v 0.750000 5.500000 -0.312500 +v -0.750000 5.500000 0.312500 +v -0.750000 5.500000 -0.312500 +v -1.250000 5.875000 0.750000 +v 1.250000 5.875000 0.750000 +v -1.250000 5.875000 -0.750000 +v 1.250000 5.875000 -0.750000 +v 1.187500 5.000000 -0.687500 +v 1.312500 5.000000 -0.687500 +v 1.187500 5.000000 -0.812500 +v 1.312500 5.000000 -0.812500 +v 1.187500 6.000000 -0.812500 +v 1.187500 6.000000 -0.687500 +v 1.312500 6.000000 -0.687500 +v 1.312500 6.000000 -0.812500 +v 1.187500 5.000000 0.812500 +v 1.312500 5.000000 0.812500 +v 1.187500 5.000000 0.687500 +v 1.312500 5.000000 0.687500 +v 1.187500 6.000000 0.687500 +v 1.187500 6.000000 0.812500 +v 1.312500 6.000000 0.812500 +v 1.312500 6.000000 0.687500 +v -1.312500 5.000000 -0.687500 +v -1.187500 5.000000 -0.687500 +v -1.312500 5.000000 -0.812500 +v -1.187500 5.000000 -0.812500 +v -1.312500 6.000000 -0.812500 +v -1.312500 6.000000 -0.687500 +v -1.187500 6.000000 -0.687500 +v -1.187500 6.000000 -0.812500 +v -1.312500 5.000000 0.812500 +v -1.187500 5.000000 0.812500 +v -1.312500 5.000000 0.687500 +v -1.187500 5.000000 0.687500 +v -1.312500 6.000000 0.687500 +v -1.312500 6.000000 0.812500 +v -1.187500 6.000000 0.812500 +v -1.187500 6.000000 0.687500 +v -0.687500 5.000000 -1.187500 +v -0.687500 5.000000 -1.312500 +v -0.812500 5.000000 -1.187500 +v -0.812500 5.000000 -1.312500 +v -0.812500 6.000000 -1.187500 +v -0.687500 6.000000 -1.187500 +v -0.687500 6.000000 -1.312500 +v -0.812500 6.000000 -1.312500 +v 0.812500 5.000000 -1.187500 +v 0.812500 5.000000 -1.312500 +v 0.687500 5.000000 -1.187500 +v 0.687500 5.000000 -1.312500 +v 0.687500 6.000000 -1.187500 +v 0.812500 6.000000 -1.187500 +v 0.812500 6.000000 -1.312500 +v 0.687500 6.000000 -1.312500 +v -0.687500 5.000000 1.312500 +v -0.687500 5.000000 1.187500 +v -0.812500 5.000000 1.312500 +v -0.812500 5.000000 1.187500 +v -0.812500 6.000000 1.312500 +v -0.687500 6.000000 1.312500 +v -0.687500 6.000000 1.187500 +v -0.812500 6.000000 1.187500 +v 0.812500 5.000000 1.312500 +v 0.812500 5.000000 1.187500 +v 0.687500 5.000000 1.312500 +v 0.687500 5.000000 1.187500 +v 0.687500 6.000000 1.312500 +v 0.812500 6.000000 1.312500 +v 0.812500 6.000000 1.187500 +v 0.687500 6.000000 1.187500 +v 0.750000 5.875000 1.250000 +v 0.750000 5.875000 -1.250000 +v -0.750000 5.875000 1.250000 +v -0.750000 5.875000 -1.250000 +v -1.250000 5.750000 0.750000 +v 1.250000 5.750000 0.750000 +v -1.250000 5.750000 -0.750000 +v 1.250000 5.750000 -0.750000 +v 0.750000 5.750000 1.250000 +v 0.750000 5.750000 -1.250000 +v -0.750000 5.750000 1.250000 +v -0.750000 5.750000 -1.250000 +v -1.250000 5.500000 0.750000 +v 1.250000 5.500000 0.750000 +v -1.250000 5.500000 -0.750000 +v 1.250000 5.500000 -0.750000 +v 0.750000 5.500000 1.250000 +v 0.750000 5.500000 -1.250000 +v -0.750000 5.500000 1.250000 +v -0.750000 5.500000 -1.250000 +v -1.250000 5.375000 0.750000 +v 1.250000 5.375000 0.750000 +v -1.250000 5.375000 -0.750000 +v 1.250000 5.375000 -0.750000 +v 0.750000 5.375000 1.250000 +v 0.750000 5.375000 -1.250000 +v -0.750000 5.375000 1.250000 +v -0.750000 5.375000 -1.250000 +v -1.250000 1.000000 1.250000 +v -0.750000 1.000000 1.250000 +v -1.250000 1.000000 0.750000 +v -0.750000 1.000000 0.750000 +v -1.250000 4.500000 1.250000 +v -0.750000 4.500000 1.250000 +v -1.250000 4.500000 0.750000 +v -0.750000 4.500000 0.750000 +v 0.750000 1.000000 1.250000 +v 1.250000 1.000000 1.250000 +v 0.750000 1.000000 0.750000 +v 1.250000 1.000000 0.750000 +v 0.750000 4.500000 1.250000 +v 1.250000 4.500000 1.250000 +v 0.750000 4.500000 0.750000 +v 1.250000 4.500000 0.750000 +v -1.250000 1.000000 -0.750000 +v -0.750000 1.000000 -0.750000 +v -1.250000 1.000000 -1.250000 +v -0.750000 1.000000 -1.250000 +v -1.250000 4.500000 -0.750000 +v -0.750000 4.500000 -0.750000 +v -1.250000 4.500000 -1.250000 +v -0.750000 4.500000 -1.250000 +v 0.750000 1.000000 -0.750000 +v 1.250000 1.000000 -0.750000 +v 0.750000 1.000000 -1.250000 +v 1.250000 1.000000 -1.250000 +v 0.750000 4.500000 -0.750000 +v 1.250000 4.500000 -0.750000 +v 0.750000 4.500000 -1.250000 +v 1.250000 4.500000 -1.250000 +v -1.062500 1.000000 -0.750000 +v -0.937500 1.000000 0.750000 +v -1.062500 1.250000 -0.750000 +v -0.937500 1.250000 0.750000 +v -1.062500 2.500000 0.750000 +v -0.937500 2.500000 -0.750000 +v -1.062500 2.750000 0.750000 +v -0.937500 2.750000 -0.750000 +v -1.062500 2.750000 -0.750000 +v -0.937500 2.750000 0.750000 +v -1.062500 3.000000 -0.750000 +v -0.937500 3.000000 0.750000 +v -1.062500 4.250000 0.750000 +v -0.937500 4.250000 -0.750000 +v -1.062500 4.500000 0.750000 +v -0.937500 4.500000 -0.750000 +v 0.937500 4.500000 0.750000 +v 1.062500 4.500000 -0.750000 +v 0.937500 4.250000 0.750000 +v 1.062500 4.250000 -0.750000 +v 0.937500 3.000000 -0.750000 +v 1.062500 3.000000 0.750000 +v 0.937500 2.750000 -0.750000 +v 1.062500 2.750000 0.750000 +v 0.937500 2.750000 0.750000 +v 1.062500 2.750000 -0.750000 +v 0.937500 2.500000 0.750000 +v 1.062500 2.500000 -0.750000 +v 0.937500 1.250000 -0.750000 +v 1.062500 1.250000 0.750000 +v 0.937500 1.000000 -0.750000 +v 1.062500 1.000000 0.750000 +v 0.750000 1.000000 -1.062500 +v -0.750000 1.000000 -0.937500 +v 0.750000 1.250000 -1.062500 +v -0.750000 1.250000 -0.937500 +v -0.750000 2.500000 -1.062500 +v 0.750000 2.500000 -0.937500 +v -0.750000 2.750000 -1.062500 +v 0.750000 2.750000 -0.937500 +v 0.750000 2.750000 -1.062500 +v -0.750000 2.750000 -0.937500 +v 0.750000 3.000000 -1.062500 +v -0.750000 3.000000 -0.937500 +v -0.750000 4.250000 -1.062500 +v 0.750000 4.250000 -0.937500 +v -0.750000 4.500000 -1.062500 +v 0.750000 4.500000 -0.937500 +v -0.750000 4.500000 0.937500 +v 0.750000 4.500000 1.062500 +v -0.750000 4.250000 0.937500 +v 0.750000 4.250000 1.062500 +v 0.750000 3.000000 0.937500 +v -0.750000 3.000000 1.062500 +v 0.750000 2.750000 0.937500 +v -0.750000 2.750000 1.062500 +v -0.750000 2.750000 0.937500 +v 0.750000 2.750000 1.062500 +v -0.750000 2.500000 0.937500 +v 0.750000 2.500000 1.062500 +v 0.750000 1.250000 0.937500 +v -0.750000 1.250000 1.062500 +v 0.750000 1.000000 0.937500 +v -0.750000 1.000000 1.062500 +v -0.750000 5.375000 -1.250000 +v -0.750000 5.375000 1.250000 +v 0.750000 5.375000 -1.250000 +v 0.750000 5.375000 1.250000 +v 1.250000 5.375000 -0.750000 +v -1.250000 5.375000 -0.750000 +v 1.250000 5.375000 0.750000 +v -1.250000 5.375000 0.750000 +v -0.750000 5.500000 -1.250000 +v -0.750000 5.500000 1.250000 +v 0.750000 5.500000 -1.250000 +v 0.750000 5.500000 1.250000 +v 1.250000 5.500000 -0.750000 +v -1.250000 5.500000 -0.750000 +v 1.250000 5.500000 0.750000 +v -1.250000 5.500000 0.750000 +v -0.750000 5.750000 -1.250000 +v -0.750000 5.750000 1.250000 +v 0.750000 5.750000 -1.250000 +v 0.750000 5.750000 1.250000 +v 1.250000 5.750000 -0.750000 +v -1.250000 5.750000 -0.750000 +v 1.250000 5.750000 0.750000 +v -1.250000 5.750000 0.750000 +v -0.750000 5.875000 -1.250000 +v -0.750000 5.875000 1.250000 +v 0.750000 5.875000 -1.250000 +v 0.750000 5.875000 1.250000 +v 1.250000 5.875000 -0.750000 +v -1.250000 5.875000 -0.750000 +v 1.250000 5.875000 0.750000 +v -1.250000 5.875000 0.750000 +v -0.750000 1.000000 1.062500 +v 0.750000 1.000000 0.937500 +v -0.750000 1.250000 1.062500 +v 0.750000 1.250000 0.937500 +v 0.750000 2.500000 1.062500 +v -0.750000 2.500000 0.937500 +v 0.750000 2.750000 1.062500 +v -0.750000 2.750000 0.937500 +v -0.750000 2.750000 1.062500 +v 0.750000 2.750000 0.937500 +v -0.750000 3.000000 1.062500 +v 0.750000 3.000000 0.937500 +v 0.750000 4.250000 1.062500 +v -0.750000 4.250000 0.937500 +v 0.750000 4.500000 1.062500 +v -0.750000 4.500000 0.937500 +v 0.750000 4.500000 -0.937500 +v -0.750000 4.500000 -1.062500 +v 0.750000 4.250000 -0.937500 +v -0.750000 4.250000 -1.062500 +v -0.750000 3.000000 -0.937500 +v 0.750000 3.000000 -1.062500 +v -0.750000 2.750000 -0.937500 +v 0.750000 2.750000 -1.062500 +v 0.750000 2.750000 -0.937500 +v -0.750000 2.750000 -1.062500 +v 0.750000 2.500000 -0.937500 +v -0.750000 2.500000 -1.062500 +v -0.750000 1.250000 -0.937500 +v 0.750000 1.250000 -1.062500 +v -0.750000 1.000000 -0.937500 +v 0.750000 1.000000 -1.062500 +v 1.062500 1.000000 0.750000 +v 0.937500 1.000000 -0.750000 +v 1.062500 1.250000 0.750000 +v 0.937500 1.250000 -0.750000 +v 1.062500 2.500000 -0.750000 +v 0.937500 2.500000 0.750000 +v 1.062500 2.750000 -0.750000 +v 0.937500 2.750000 0.750000 +v 1.062500 2.750000 0.750000 +v 0.937500 2.750000 -0.750000 +v 1.062500 3.000000 0.750000 +v 0.937500 3.000000 -0.750000 +v 1.062500 4.250000 -0.750000 +v 0.937500 4.250000 0.750000 +v 1.062500 4.500000 -0.750000 +v 0.937500 4.500000 0.750000 +v -0.937500 4.500000 -0.750000 +v -1.062500 4.500000 0.750000 +v -0.937500 4.250000 -0.750000 +v -1.062500 4.250000 0.750000 +v -0.937500 3.000000 0.750000 +v -1.062500 3.000000 -0.750000 +v -0.937500 2.750000 0.750000 +v -1.062500 2.750000 -0.750000 +v -0.937500 2.750000 -0.750000 +v -1.062500 2.750000 0.750000 +v -0.937500 2.500000 -0.750000 +v -1.062500 2.500000 0.750000 +v -0.937500 1.250000 0.750000 +v -1.062500 1.250000 -0.750000 +v -0.937500 1.000000 0.750000 +v -1.062500 1.000000 -0.750000 +vt 0.000000 0.000000 +vt 0.181818 0.400000 +vt 0.000000 0.400000 +vt 0.181818 0.533333 +vt 0.000000 0.933333 +vt 0.000000 0.533333 +vt 0.181818 0.400000 +vt 0.000000 0.533333 +vt 0.000000 0.400000 +vt 0.181818 0.400000 +vt 0.000000 0.533333 +vt 0.000000 0.400000 +vt 0.181818 0.400000 +vt 0.000000 0.533333 +vt 0.000000 0.400000 +vt 0.181818 0.000000 +vt 0.363636 0.400000 +vt 0.181818 0.400000 +vt 0.363636 0.466667 +vt 0.181818 0.866667 +vt 0.181818 0.466667 +vt 0.363636 0.400000 +vt 0.181818 0.466667 +vt 0.181818 0.400000 +vt 0.363636 0.400000 +vt 0.181818 0.466667 +vt 0.181818 0.400000 +vt 0.363636 0.400000 +vt 0.181818 0.466667 +vt 0.181818 0.400000 +vt 0.674242 0.066667 +vt 0.636364 0.000000 +vt 0.674242 0.000000 +vt 0.522727 0.066667 +vt 0.484848 0.000000 +vt 0.522727 0.000000 +vt 0.712121 0.000000 +vt 0.560606 0.000000 +vt 0.750000 0.000000 +vt 0.712121 0.066667 +vt 0.598485 0.000000 +vt 0.560606 0.066667 +vt 0.598485 0.066667 +vt 0.787879 0.000000 +vt 0.750000 0.066667 +vt 0.511364 0.266667 +vt 0.484848 0.125000 +vt 0.549242 0.066667 +vt 0.378788 0.666667 +vt 0.371212 0.683333 +vt 0.371212 0.666667 +vt 0.378788 0.666667 +vt 0.371212 0.683333 +vt 0.371212 0.666667 +vt 0.393939 0.533333 +vt 0.386364 0.666667 +vt 0.386364 0.533333 +vt 0.378788 0.533333 +vt 0.371212 0.533333 +vt 0.363636 0.666667 +vt 0.363636 0.533333 +vt 0.393939 0.533333 +vt 0.386364 0.666667 +vt 0.386364 0.533333 +vt 0.378788 0.533333 +vt 0.371212 0.533333 +vt 0.363636 0.666667 +vt 0.363636 0.533333 +vt 0.378788 0.666667 +vt 0.371212 0.683333 +vt 0.371212 0.666667 +vt 0.378788 0.666667 +vt 0.371212 0.683333 +vt 0.371212 0.666667 +vt 0.393939 0.533333 +vt 0.386364 0.666667 +vt 0.386364 0.533333 +vt 0.378788 0.533333 +vt 0.371212 0.533333 +vt 0.363636 0.666667 +vt 0.363636 0.533333 +vt 0.393939 0.533333 +vt 0.386364 0.666667 +vt 0.386364 0.533333 +vt 0.378788 0.533333 +vt 0.371212 0.533333 +vt 0.363636 0.666667 +vt 0.363636 0.533333 +vt 0.378788 0.683333 +vt 0.371212 0.666667 +vt 0.378788 0.666667 +vt 0.378788 0.683333 +vt 0.371212 0.666667 +vt 0.378788 0.666667 +vt 0.371212 0.533333 +vt 0.363636 0.666667 +vt 0.363636 0.533333 +vt 0.386364 0.533333 +vt 0.378788 0.533333 +vt 0.393939 0.533333 +vt 0.386364 0.666667 +vt 0.371212 0.533333 +vt 0.363636 0.666667 +vt 0.363636 0.533333 +vt 0.386364 0.533333 +vt 0.378788 0.533333 +vt 0.393939 0.533333 +vt 0.386364 0.666667 +vt 0.378788 0.683333 +vt 0.371212 0.666667 +vt 0.378788 0.666667 +vt 0.378788 0.683333 +vt 0.371212 0.666667 +vt 0.378788 0.666667 +vt 0.371212 0.533333 +vt 0.363636 0.666667 +vt 0.363636 0.533333 +vt 0.386364 0.533333 +vt 0.378788 0.533333 +vt 0.393939 0.533333 +vt 0.386364 0.666667 +vt 0.371212 0.533333 +vt 0.363636 0.666667 +vt 0.363636 0.533333 +vt 0.386364 0.533333 +vt 0.378788 0.533333 +vt 0.393939 0.533333 +vt 0.386364 0.666667 +vt 0.454545 0.516667 +vt 0.484848 0.533333 +vt 0.454545 0.533333 +vt 0.454545 0.516667 +vt 0.484848 0.533333 +vt 0.454545 0.533333 +vt 0.363636 0.516667 +vt 0.363636 0.533333 +vt 0.363636 0.516667 +vt 0.454545 0.533333 +vt 0.363636 0.533333 +vt 0.484848 0.516667 +vt 0.484848 0.533333 +vt 0.454545 0.533333 +vt 0.484848 0.516667 +vt 0.484848 0.533333 +vt 0.363636 0.516667 +vt 0.363636 0.533333 +vt 0.363636 0.516667 +vt 0.363636 0.533333 +vt 0.454545 0.500000 +vt 0.484848 0.516667 +vt 0.454545 0.516667 +vt 0.454545 0.500000 +vt 0.484848 0.516667 +vt 0.454545 0.516667 +vt 0.363636 0.500000 +vt 0.363636 0.516667 +vt 0.363636 0.500000 +vt 0.454545 0.516667 +vt 0.363636 0.516667 +vt 0.484848 0.500000 +vt 0.484848 0.516667 +vt 0.454545 0.516667 +vt 0.484848 0.500000 +vt 0.484848 0.516667 +vt 0.363636 0.500000 +vt 0.363636 0.516667 +vt 0.363636 0.500000 +vt 0.363636 0.516667 +vt 0.454545 -0.000000 +vt 0.424242 0.466667 +vt 0.424242 -0.000000 +vt 0.393939 -0.000000 +vt 0.363636 0.466667 +vt 0.363636 -0.000000 +vt 0.484848 -0.000000 +vt 0.454545 0.466667 +vt 0.454545 -0.000000 +vt 0.424242 -0.000000 +vt 0.393939 0.466667 +vt 0.393939 -0.000000 +vt 0.363636 0.466667 +vt 0.363636 -0.000000 +vt 0.424242 0.466667 +vt 0.484848 -0.000000 +vt 0.454545 0.466667 +vt 0.393939 0.466667 +vt 0.424242 -0.000000 +vt 0.393939 0.466667 +vt 0.393939 -0.000000 +vt 0.484848 -0.000000 +vt 0.454545 0.466667 +vt 0.454545 -0.000000 +vt 0.393939 -0.000000 +vt 0.363636 0.466667 +vt 0.363636 -0.000000 +vt 0.454545 -0.000000 +vt 0.424242 0.466667 +vt 0.424242 -0.000000 +vt 0.393939 0.466667 +vt 0.484848 -0.000000 +vt 0.454545 0.466667 +vt 0.424242 0.466667 +vt 0.363636 0.466667 +vt 0.363636 -0.000000 +vt 0.454545 0.500000 +vt 0.363636 0.466667 +vt 0.363636 0.500000 +vt 0.363636 0.500000 +vt 0.454545 0.466667 +vt 0.363636 0.466667 +vt 0.454545 0.500000 +vt 0.363636 0.466667 +vt 0.363636 0.500000 +vt 0.363636 0.500000 +vt 0.454545 0.466667 +vt 0.363636 0.466667 +vt 0.363636 0.500000 +vt 0.454545 0.466667 +vt 0.363636 0.466667 +vt 0.454545 0.500000 +vt 0.363636 0.466667 +vt 0.363636 0.500000 +vt 0.363636 0.500000 +vt 0.454545 0.466667 +vt 0.363636 0.466667 +vt 0.454545 0.500000 +vt 0.363636 0.466667 +vt 0.363636 0.500000 +vt 0.454545 0.500000 +vt 0.363636 0.466667 +vt 0.363636 0.500000 +vt 0.363636 0.500000 +vt 0.454545 0.466667 +vt 0.363636 0.466667 +vt 0.454545 0.500000 +vt 0.363636 0.466667 +vt 0.363636 0.500000 +vt 0.363636 0.500000 +vt 0.454545 0.466667 +vt 0.363636 0.466667 +vt 0.363636 0.500000 +vt 0.454545 0.466667 +vt 0.363636 0.466667 +vt 0.454545 0.500000 +vt 0.363636 0.466667 +vt 0.363636 0.500000 +vt 0.363636 0.500000 +vt 0.454545 0.466667 +vt 0.363636 0.466667 +vt 0.454545 0.500000 +vt 0.363636 0.466667 +vt 0.363636 0.500000 +vt 0.454545 0.516667 +vt 0.363636 0.500000 +vt 0.363636 0.516667 +vt 0.454545 0.516667 +vt 0.363636 0.500000 +vt 0.363636 0.516667 +vt 0.484848 0.500000 +vt 0.484848 0.516667 +vt 0.484848 0.500000 +vt 0.454545 0.516667 +vt 0.484848 0.516667 +vt 0.363636 0.500000 +vt 0.363636 0.516667 +vt 0.454545 0.516667 +vt 0.363636 0.500000 +vt 0.363636 0.516667 +vt 0.484848 0.516667 +vt 0.454545 0.500000 +vt 0.484848 0.516667 +vt 0.454545 0.500000 +vt 0.454545 0.533333 +vt 0.363636 0.516667 +vt 0.363636 0.533333 +vt 0.454545 0.533333 +vt 0.363636 0.516667 +vt 0.363636 0.533333 +vt 0.484848 0.516667 +vt 0.484848 0.533333 +vt 0.484848 0.516667 +vt 0.454545 0.533333 +vt 0.484848 0.533333 +vt 0.363636 0.516667 +vt 0.363636 0.533333 +vt 0.454545 0.533333 +vt 0.363636 0.516667 +vt 0.363636 0.533333 +vt 0.484848 0.533333 +vt 0.454545 0.516667 +vt 0.484848 0.533333 +vt 0.454545 0.516667 +vt 0.363636 0.466667 +vt 0.454545 0.500000 +vt 0.363636 0.500000 +vt 0.454545 0.466667 +vt 0.363636 0.500000 +vt 0.363636 0.466667 +vt 0.363636 0.466667 +vt 0.454545 0.500000 +vt 0.363636 0.500000 +vt 0.454545 0.466667 +vt 0.363636 0.500000 +vt 0.363636 0.466667 +vt 0.454545 0.466667 +vt 0.363636 0.500000 +vt 0.363636 0.466667 +vt 0.363636 0.466667 +vt 0.454545 0.500000 +vt 0.363636 0.500000 +vt 0.454545 0.466667 +vt 0.363636 0.500000 +vt 0.363636 0.466667 +vt 0.363636 0.466667 +vt 0.454545 0.500000 +vt 0.363636 0.500000 +vt 0.363636 0.466667 +vt 0.454545 0.500000 +vt 0.363636 0.500000 +vt 0.454545 0.466667 +vt 0.363636 0.500000 +vt 0.363636 0.466667 +vt 0.363636 0.466667 +vt 0.454545 0.500000 +vt 0.363636 0.500000 +vt 0.454545 0.466667 +vt 0.363636 0.500000 +vt 0.363636 0.466667 +vt 0.454545 0.466667 +vt 0.363636 0.500000 +vt 0.363636 0.466667 +vt 0.363636 0.466667 +vt 0.454545 0.500000 +vt 0.363636 0.500000 +vt 0.454545 0.466667 +vt 0.363636 0.500000 +vt 0.363636 0.466667 +vt 0.363636 0.466667 +vt 0.454545 0.500000 +vt 0.363636 0.500000 +vt 0.181818 0.000000 +vt 0.181818 0.933333 +vt 0.181818 0.533333 +vt 0.181818 0.533333 +vt 0.181818 0.533333 +vt 0.363636 0.000000 +vt 0.363636 0.866667 +vt 0.363636 0.466667 +vt 0.363636 0.466667 +vt 0.363636 0.466667 +vt 0.636364 0.066667 +vt 0.484848 0.066667 +vt 0.787879 0.066667 +vt 0.575758 0.125000 +vt 0.575758 0.208333 +vt 0.549242 0.266667 +vt 0.484848 0.208333 +vt 0.511364 0.066667 +vt 0.378788 0.683333 +vt 0.378788 0.683333 +vt 0.393939 0.666667 +vt 0.393939 0.666667 +vt 0.378788 0.683333 +vt 0.378788 0.683333 +vt 0.393939 0.666667 +vt 0.393939 0.666667 +vt 0.371212 0.683333 +vt 0.371212 0.683333 +vt 0.393939 0.666667 +vt 0.393939 0.666667 +vt 0.371212 0.683333 +vt 0.371212 0.683333 +vt 0.393939 0.666667 +vt 0.393939 0.666667 +vt 0.484848 0.516667 +vt 0.484848 0.516667 +vt 0.454545 0.516667 +vt 0.454545 0.516667 +vt 0.484848 0.500000 +vt 0.484848 0.500000 +vt 0.454545 0.500000 +vt 0.454545 0.500000 +vt 0.484848 0.466667 +vt 0.484848 0.466667 +vt 0.484848 0.466667 +vt 0.484848 0.466667 +vt 0.454545 0.466667 +vt 0.454545 0.500000 +vt 0.454545 0.466667 +vt 0.454545 0.500000 +vt 0.454545 0.500000 +vt 0.454545 0.466667 +vt 0.454545 0.500000 +vt 0.454545 0.466667 +vt 0.454545 0.466667 +vt 0.454545 0.500000 +vt 0.454545 0.466667 +vt 0.454545 0.500000 +vt 0.454545 0.500000 +vt 0.454545 0.466667 +vt 0.454545 0.500000 +vt 0.454545 0.466667 +vt 0.454545 0.500000 +vt 0.454545 0.500000 +vt 0.484848 0.500000 +vt 0.484848 0.500000 +vt 0.454545 0.516667 +vt 0.454545 0.516667 +vt 0.484848 0.516667 +vt 0.484848 0.516667 +vt 0.454545 0.466667 +vt 0.454545 0.500000 +vt 0.454545 0.466667 +vt 0.454545 0.500000 +vt 0.454545 0.500000 +vt 0.454545 0.466667 +vt 0.454545 0.500000 +vt 0.454545 0.466667 +vt 0.454545 0.466667 +vt 0.454545 0.500000 +vt 0.454545 0.466667 +vt 0.454545 0.500000 +vt 0.454545 0.500000 +vt 0.454545 0.466667 +vt 0.454545 0.500000 +vt 0.454545 0.466667 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.7071 0.0000 -0.7071 +vn -0.7071 0.0000 0.7071 +vn -0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +s off +f 387/523/54 386/524/54 385/525/54 +f 390/526/55 391/527/55 389/528/55 +f 385/529/56 391/530/56 387/531/56 +f 387/532/57 392/533/57 388/534/57 +f 386/524/58 389/528/58 385/525/58 +f 388/535/59 390/536/59 386/537/59 +f 395/538/54 394/539/54 393/540/54 +f 398/541/55 399/542/55 397/543/55 +f 393/544/56 399/545/56 395/546/56 +f 395/547/57 400/548/57 396/549/57 +f 394/539/58 397/543/58 393/540/58 +f 396/550/59 398/551/59 394/552/59 +f 412/553/60 406/554/60 404/555/60 +f 409/556/61 407/557/61 401/558/61 +f 403/559/57 412/553/57 404/555/57 +f 402/560/58 409/556/58 401/558/58 +f 408/561/62 411/562/62 403/559/62 +f 405/563/63 410/564/63 402/560/63 +f 406/554/59 413/565/59 405/563/59 +f 407/566/56 416/567/56 408/561/56 +f 410/568/55 414/569/55 411/570/55 +f 435/571/55 433/572/55 434/573/55 +f 427/574/55 425/575/55 426/576/55 +f 423/577/57 428/578/57 424/579/57 +f 422/580/58 426/576/58 421/581/58 +f 424/579/59 427/574/59 422/580/59 +f 421/581/56 425/582/56 423/583/56 +f 431/584/57 436/585/57 432/586/57 +f 430/587/58 434/573/58 429/588/58 +f 432/586/59 435/571/59 430/587/59 +f 429/588/56 433/589/56 431/590/56 +f 451/591/55 449/592/55 450/593/55 +f 443/594/55 441/595/55 442/596/55 +f 439/597/57 444/598/57 440/599/57 +f 438/600/58 442/596/58 437/601/58 +f 440/599/59 443/594/59 438/600/59 +f 437/601/56 441/602/56 439/603/56 +f 447/604/57 452/605/57 448/606/57 +f 446/607/58 450/593/58 445/608/58 +f 448/606/59 451/591/59 446/607/59 +f 445/608/56 449/609/56 447/610/56 +f 467/611/55 465/612/55 466/613/55 +f 459/614/55 457/615/55 458/616/55 +f 455/617/56 460/618/56 456/619/56 +f 454/620/59 458/616/59 453/621/59 +f 456/622/57 459/623/57 454/620/57 +f 453/621/58 457/615/58 455/617/58 +f 463/624/56 468/625/56 464/626/56 +f 462/627/59 466/613/59 461/628/59 +f 464/629/57 467/630/57 462/627/57 +f 461/628/58 465/612/58 463/624/58 +f 483/631/55 481/632/55 482/633/55 +f 475/634/55 473/635/55 474/636/55 +f 471/637/56 476/638/56 472/639/56 +f 470/640/59 474/636/59 469/641/59 +f 472/642/57 475/643/57 470/640/57 +f 469/641/58 473/635/58 471/637/58 +f 479/644/56 484/645/56 480/646/56 +f 478/647/59 482/633/59 477/648/59 +f 480/649/57 483/650/57 478/647/57 +f 477/648/58 481/632/58 479/644/58 +f 492/651/60 486/652/60 420/653/60 +f 489/654/61 487/655/61 417/656/61 +f 490/657/59 420/653/59 418/658/59 +f 495/659/58 485/660/58 487/661/58 +f 485/660/63 490/662/63 418/663/63 +f 488/664/62 491/665/62 419/666/62 +f 491/667/56 417/656/56 419/668/56 +f 494/669/57 488/664/57 486/670/57 +f 508/671/60 502/672/60 500/673/60 +f 505/674/61 503/675/61 497/676/61 +f 506/677/59 500/673/59 498/678/59 +f 511/679/58 501/680/58 503/681/58 +f 501/680/63 506/682/63 498/683/63 +f 504/684/62 507/685/62 499/686/62 +f 507/687/56 497/676/56 499/688/56 +f 510/689/57 504/684/57 502/690/57 +f 524/691/59 526/692/59 522/693/59 +f 521/694/56 527/695/56 523/696/56 +f 516/697/59 518/698/59 514/699/59 +f 513/700/56 519/701/56 515/702/56 +f 515/702/57 520/703/57 516/704/57 +f 514/699/58 517/705/58 513/700/58 +f 523/706/57 528/707/57 524/691/57 +f 522/693/58 525/708/58 521/694/58 +f 540/709/59 542/710/59 538/711/59 +f 537/712/56 543/713/56 539/714/56 +f 532/715/59 534/716/59 530/717/59 +f 529/718/56 535/719/56 531/720/56 +f 531/720/57 536/721/57 532/715/57 +f 530/722/58 533/723/58 529/718/58 +f 539/714/57 544/724/57 540/709/57 +f 538/711/58 541/725/58 537/726/58 +f 550/727/59 548/728/59 546/729/59 +f 547/730/59 549/731/59 545/732/59 +f 558/733/59 556/734/59 554/735/59 +f 555/736/59 557/737/59 553/738/59 +f 566/739/56 564/740/56 568/741/56 +f 563/742/56 565/743/56 567/744/56 +f 574/745/56 572/746/56 576/747/56 +f 571/748/56 573/749/56 575/750/56 +f 582/751/58 580/752/58 578/753/58 +f 579/754/58 581/755/58 577/756/58 +f 590/757/58 588/758/58 586/759/58 +f 587/760/58 589/761/58 585/762/58 +f 598/763/57 596/764/57 600/765/57 +f 595/766/57 597/767/57 599/768/57 +f 606/769/57 604/770/57 608/771/57 +f 603/772/57 605/773/57 607/774/57 +f 617/775/58 611/776/58 619/777/58 +f 624/778/59 614/779/59 622/780/59 +f 614/781/63 617/775/63 622/782/63 +f 615/783/62 620/784/62 623/785/62 +f 620/784/57 610/786/57 618/787/57 +f 621/788/56 615/789/56 623/790/56 +f 618/791/60 616/792/60 624/778/60 +f 619/793/61 613/794/61 621/788/61 +f 633/795/58 627/796/58 635/797/58 +f 640/798/59 630/799/59 638/800/59 +f 630/801/63 633/795/63 638/802/63 +f 631/803/62 636/804/62 639/805/62 +f 636/804/57 626/806/57 634/807/57 +f 637/808/56 631/809/56 639/810/56 +f 634/811/60 632/812/60 640/798/60 +f 635/813/61 629/814/61 637/808/61 +f 644/815/58 646/816/58 642/817/58 +f 645/818/58 643/819/58 641/820/58 +f 652/821/58 654/822/58 650/823/58 +f 653/824/58 651/825/58 649/826/58 +f 660/827/57 662/828/57 664/829/57 +f 661/830/57 659/831/57 663/832/57 +f 668/833/57 670/834/57 672/835/57 +f 669/836/57 667/837/57 671/838/57 +f 676/839/59 678/840/59 674/841/59 +f 677/842/59 675/843/59 673/844/59 +f 684/845/59 686/846/59 682/847/59 +f 685/848/59 683/849/59 681/850/59 +f 692/851/56 694/852/56 696/853/56 +f 693/854/56 691/855/56 695/856/56 +f 700/857/56 702/858/56 704/859/56 +f 701/860/56 699/861/56 703/862/56 +f 387/523/54 388/863/54 386/524/54 +f 390/526/55 392/864/55 391/527/55 +f 385/529/56 389/865/56 391/530/56 +f 387/532/57 391/866/57 392/533/57 +f 386/524/58 390/526/58 389/528/58 +f 388/535/59 392/867/59 390/536/59 +f 395/538/54 396/868/54 394/539/54 +f 398/541/55 400/869/55 399/542/55 +f 393/544/56 397/870/56 399/545/56 +f 395/547/57 399/871/57 400/548/57 +f 394/539/58 398/541/58 397/543/58 +f 396/550/59 400/872/59 398/551/59 +f 412/553/60 414/873/60 406/554/60 +f 409/556/61 415/874/61 407/557/61 +f 403/559/57 411/562/57 412/553/57 +f 402/560/58 410/564/58 409/556/58 +f 408/561/62 416/567/62 411/562/62 +f 405/563/63 413/565/63 410/564/63 +f 406/554/59 414/873/59 413/565/59 +f 407/566/56 415/875/56 416/567/56 +f 411/570/55 416/876/55 415/877/55 +f 415/877/55 409/878/55 410/568/55 +f 410/568/55 413/879/55 414/569/55 +f 414/569/55 412/880/55 411/570/55 +f 411/570/55 415/877/55 410/568/55 +f 435/571/55 436/881/55 433/572/55 +f 427/574/55 428/882/55 425/575/55 +f 423/577/57 425/883/57 428/578/57 +f 422/580/58 427/574/58 426/576/58 +f 424/579/59 428/578/59 427/574/59 +f 421/581/56 426/576/56 425/582/56 +f 431/584/57 433/884/57 436/585/57 +f 430/587/58 435/571/58 434/573/58 +f 432/586/59 436/585/59 435/571/59 +f 429/588/56 434/573/56 433/589/56 +f 451/591/55 452/885/55 449/592/55 +f 443/594/55 444/886/55 441/595/55 +f 439/597/57 441/887/57 444/598/57 +f 438/600/58 443/594/58 442/596/58 +f 440/599/59 444/598/59 443/594/59 +f 437/601/56 442/596/56 441/602/56 +f 447/604/57 449/888/57 452/605/57 +f 446/607/58 451/591/58 450/593/58 +f 448/606/59 452/605/59 451/591/59 +f 445/608/56 450/593/56 449/609/56 +f 467/611/55 468/889/55 465/612/55 +f 459/614/55 460/890/55 457/615/55 +f 455/617/56 457/615/56 460/618/56 +f 454/620/59 459/623/59 458/616/59 +f 456/622/57 460/891/57 459/623/57 +f 453/621/58 458/616/58 457/615/58 +f 463/624/56 465/612/56 468/625/56 +f 462/627/59 467/630/59 466/613/59 +f 464/629/57 468/892/57 467/630/57 +f 461/628/58 466/613/58 465/612/58 +f 483/631/55 484/893/55 481/632/55 +f 475/634/55 476/894/55 473/635/55 +f 471/637/56 473/635/56 476/638/56 +f 470/640/59 475/643/59 474/636/59 +f 472/642/57 476/895/57 475/643/57 +f 469/641/58 474/636/58 473/635/58 +f 479/644/56 481/632/56 484/645/56 +f 478/647/59 483/650/59 482/633/59 +f 480/649/57 484/896/57 483/650/57 +f 477/648/58 482/633/58 481/632/58 +f 492/651/60 494/897/60 486/652/60 +f 489/654/61 495/898/61 487/655/61 +f 490/657/59 492/651/59 420/653/59 +f 495/659/58 493/899/58 485/660/58 +f 485/660/63 493/899/63 490/662/63 +f 488/664/62 496/900/62 491/665/62 +f 491/667/56 489/654/56 417/656/56 +f 494/669/57 496/900/57 488/664/57 +f 508/671/60 510/901/60 502/672/60 +f 505/674/61 511/902/61 503/675/61 +f 506/677/59 508/671/59 500/673/59 +f 511/679/58 509/903/58 501/680/58 +f 501/680/63 509/903/63 506/682/63 +f 504/684/62 512/904/62 507/685/62 +f 507/687/56 505/674/56 497/676/56 +f 510/689/57 512/904/57 504/684/57 +f 524/691/59 528/707/59 526/692/59 +f 521/694/56 525/708/56 527/695/56 +f 516/697/59 520/905/59 518/698/59 +f 513/700/56 517/705/56 519/701/56 +f 515/702/57 519/701/57 520/703/57 +f 514/699/58 518/698/58 517/705/58 +f 523/706/57 527/906/57 528/707/57 +f 522/693/58 526/692/58 525/708/58 +f 540/709/59 544/724/59 542/710/59 +f 537/712/56 541/907/56 543/713/56 +f 532/715/59 536/721/59 534/716/59 +f 529/718/56 533/723/56 535/719/56 +f 531/720/57 535/719/57 536/721/57 +f 530/722/58 534/908/58 533/723/58 +f 539/714/57 543/713/57 544/724/57 +f 538/711/58 542/710/58 541/725/58 +f 550/727/59 552/909/59 548/728/59 +f 547/730/59 551/910/59 549/731/59 +f 558/733/59 560/911/59 556/734/59 +f 555/736/59 559/912/59 557/737/59 +f 566/739/56 562/913/56 564/740/56 +f 563/742/56 561/914/56 565/743/56 +f 574/745/56 570/915/56 572/746/56 +f 571/748/56 569/916/56 573/749/56 +f 582/751/58 584/917/58 580/752/58 +f 579/754/58 583/918/58 581/755/58 +f 590/757/58 592/919/58 588/758/58 +f 587/760/58 591/920/58 589/761/58 +f 598/763/57 594/921/57 596/764/57 +f 595/766/57 593/922/57 597/767/57 +f 606/769/57 602/923/57 604/770/57 +f 603/772/57 601/924/57 605/773/57 +f 617/775/58 609/925/58 611/776/58 +f 624/778/59 616/792/59 614/779/59 +f 614/781/63 609/925/63 617/775/63 +f 615/783/62 612/926/62 620/784/62 +f 620/784/57 612/926/57 610/786/57 +f 621/788/56 613/794/56 615/789/56 +f 618/791/60 610/927/60 616/792/60 +f 619/793/61 611/928/61 613/794/61 +f 633/795/58 625/929/58 627/796/58 +f 640/798/59 632/812/59 630/799/59 +f 630/801/63 625/929/63 633/795/63 +f 631/803/62 628/930/62 636/804/62 +f 636/804/57 628/930/57 626/806/57 +f 637/808/56 629/814/56 631/809/56 +f 634/811/60 626/931/60 632/812/60 +f 635/813/61 627/932/61 629/814/61 +f 644/815/58 648/933/58 646/816/58 +f 645/818/58 647/934/58 643/819/58 +f 652/821/58 656/935/58 654/822/58 +f 653/824/58 655/936/58 651/825/58 +f 660/827/57 658/937/57 662/828/57 +f 661/830/57 657/938/57 659/831/57 +f 668/833/57 666/939/57 670/834/57 +f 669/836/57 665/940/57 667/837/57 +f 676/839/59 680/941/59 678/840/59 +f 677/842/59 679/942/59 675/843/59 +f 684/845/59 688/943/59 686/846/59 +f 685/848/59 687/944/59 683/849/59 +f 692/851/56 690/945/56 694/852/56 +f 693/854/56 689/946/56 691/855/56 +f 700/857/56 698/947/56 702/858/56 +f 701/860/56 697/948/56 699/861/56 diff --git a/src/main/resources/assets/hbm/models/machines/strand_caster.obj b/src/main/resources/assets/hbm/models/machines/strand_caster.obj new file mode 100644 index 000000000..eb3b63b98 --- /dev/null +++ b/src/main/resources/assets/hbm/models/machines/strand_caster.obj @@ -0,0 +1,1221 @@ +# Blender v2.79 (sub 0) OBJ File: 'strand_caster.blend' +# www.blender.org +o plate +v -0.500000 0.937500 -1.500000 +v 0.500000 0.937500 -1.500000 +v -0.500000 0.937500 -5.250000 +v 0.500000 0.937500 -5.250000 +v -0.500000 1.062500 -5.250000 +v -0.500000 1.062500 -1.500000 +v 0.500000 1.062500 -1.500000 +v 0.500000 1.062500 -5.250000 +vt 0.890625 0.566667 +vt 0.656250 0.700000 +vt 0.656250 0.566667 +vt 0.656250 0.566667 +vt 0.890625 0.700000 +vt 0.656250 0.700000 +vt 0.664062 0.700000 +vt 0.656250 0.566667 +vt 0.664062 0.566667 +vt 0.890625 0.683333 +vt 0.656250 0.700000 +vt 0.656250 0.683333 +vt 0.656250 0.583333 +vt 0.890625 0.566667 +vt 0.890625 0.583333 +vt 0.890625 0.700000 +vt 0.890625 0.566667 +vt 0.656250 0.700000 +vt 0.890625 0.700000 +vt 0.656250 0.566667 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +s off +f 3/1/1 2/2/1 1/3/1 +f 7/4/2 5/5/2 6/6/2 +f 3/7/3 8/8/3 4/9/3 +f 4/10/4 7/11/4 2/12/4 +f 1/13/5 5/14/5 3/15/5 +f 3/1/1 4/16/1 2/2/1 +f 7/4/2 8/17/2 5/5/2 +f 3/7/3 5/18/3 8/8/3 +f 4/10/4 8/19/4 7/11/4 +f 1/13/5 6/20/5 5/14/5 +o caster +v -1.000000 0.000000 1.000000 +v 1.000000 0.000000 1.000000 +v -1.000000 0.000000 -6.000000 +v 1.000000 0.000000 -6.000000 +v -1.000000 0.750000 -6.000000 +v -1.000000 0.750000 1.000000 +v 1.000000 0.750000 1.000000 +v 1.000000 0.750000 -6.000000 +v -1.000000 2.000000 1.000000 +v 1.000000 2.000000 1.000000 +v -1.000000 3.000000 1.000000 +v 1.000000 3.000000 1.000000 +v -1.000000 2.000000 -1.000000 +v 1.000000 2.000000 -1.000000 +v -1.000000 3.000000 -1.000000 +v 1.000000 3.000000 -1.000000 +v -0.875000 3.000000 0.875000 +v 0.875000 3.000000 0.875000 +v -0.875000 3.000000 -0.875000 +v 0.875000 3.000000 -0.875000 +v -0.875000 2.125000 0.875000 +v 0.875000 2.125000 0.875000 +v -0.875000 2.125000 -0.875000 +v 0.875000 2.125000 -0.875000 +v -0.750000 2.000000 0.750000 +v 0.750000 2.000000 0.750000 +v -0.750000 2.000000 -0.750000 +v 0.750000 2.000000 -0.750000 +v -0.750000 0.500000 -1.500000 +v -0.750000 0.500000 0.750000 +v 0.750000 0.500000 0.750000 +v 0.750000 0.500000 -1.500000 +v -0.750000 0.750000 -5.750000 +v -0.750000 0.750000 0.750000 +v 0.750000 0.750000 0.750000 +v 0.750000 0.750000 -5.750000 +v -0.750000 0.500000 -5.750000 +v -0.750000 0.500000 0.750000 +v 0.750000 0.500000 0.750000 +v 0.750000 0.500000 -5.750000 +v 0.750000 1.250000 -1.500000 +v -0.750000 1.250000 -1.500000 +v 0.750000 0.812500 -3.125000 +v -0.750000 0.812500 -3.125000 +v -0.750000 0.812500 -2.125000 +v 0.750000 0.812500 -2.125000 +v -0.750000 0.724112 -2.088388 +v 0.750000 0.724112 -2.088388 +v -0.750000 0.687500 -2.000000 +v 0.750000 0.687500 -2.000000 +v -0.750000 0.724112 -1.911612 +v 0.750000 0.724112 -1.911612 +v -0.750000 0.812500 -1.875000 +v 0.750000 0.812500 -1.875000 +v -0.750000 0.900888 -1.911612 +v 0.750000 0.900888 -1.911612 +v -0.750000 0.937500 -2.000000 +v 0.750000 0.937500 -2.000000 +v -0.750000 0.900888 -2.088388 +v 0.750000 0.900888 -2.088388 +v -0.750000 0.724112 -3.088388 +v 0.750000 0.724112 -3.088388 +v -0.750000 0.687500 -3.000000 +v 0.750000 0.687500 -3.000000 +v -0.750000 0.724112 -2.911612 +v 0.750000 0.724112 -2.911612 +v -0.750000 0.812500 -2.875000 +v 0.750000 0.812500 -2.875000 +v -0.750000 0.900888 -2.911612 +v 0.750000 0.900888 -2.911612 +v -0.750000 0.937500 -3.000000 +v 0.750000 0.937500 -3.000000 +v -0.750000 0.900888 -3.088388 +v 0.750000 0.900888 -3.088388 +v 0.750000 0.812500 -4.125000 +v -0.750000 0.812500 -4.125000 +v -0.750000 0.724112 -4.088388 +v 0.750000 0.724112 -4.088388 +v -0.750000 0.687500 -4.000000 +v 0.750000 0.687500 -4.000000 +v -0.750000 0.724112 -3.911612 +v 0.750000 0.724112 -3.911612 +v -0.750000 0.812500 -3.875000 +v 0.750000 0.812500 -3.875000 +v -0.750000 0.900888 -3.911612 +v 0.750000 0.900888 -3.911612 +v -0.750000 0.937500 -4.000000 +v 0.750000 0.937500 -4.000000 +v -0.750000 0.900888 -4.088388 +v 0.750000 0.900888 -4.088388 +v 0.750000 0.812500 -5.125000 +v -0.750000 0.812500 -5.125000 +v -0.750000 0.724112 -5.088388 +v 0.750000 0.724112 -5.088388 +v -0.750000 0.687500 -5.000000 +v 0.750000 0.687500 -5.000000 +v -0.750000 0.724112 -4.911612 +v 0.750000 0.724112 -4.911612 +v -0.750000 0.812500 -4.875000 +v 0.750000 0.812500 -4.875000 +v -0.750000 0.900888 -4.911612 +v 0.750000 0.900888 -4.911612 +v -0.750000 0.937500 -5.000000 +v 0.750000 0.937500 -5.000000 +v -0.750000 0.900888 -5.088388 +v 0.750000 0.900888 -5.088388 +v 0.750000 1.187500 -3.625000 +v -0.750000 1.187500 -3.625000 +v -0.750000 1.187500 -2.625000 +v 0.750000 1.187500 -2.625000 +v -0.750000 1.099112 -2.588388 +v 0.750000 1.099112 -2.588388 +v -0.750000 1.062500 -2.500000 +v 0.750000 1.062500 -2.500000 +v -0.750000 1.099112 -2.411612 +v 0.750000 1.099112 -2.411612 +v -0.750000 1.187500 -2.375000 +v 0.750000 1.187500 -2.375000 +v -0.750000 1.275888 -2.411612 +v 0.750000 1.275888 -2.411612 +v -0.750000 1.312500 -2.500000 +v 0.750000 1.312500 -2.500000 +v -0.750000 1.275888 -2.588388 +v 0.750000 1.275888 -2.588388 +v -0.750000 1.099112 -3.588388 +v 0.750000 1.099112 -3.588388 +v -0.750000 1.062500 -3.500000 +v 0.750000 1.062500 -3.500000 +v -0.750000 1.099112 -3.411612 +v 0.750000 1.099112 -3.411612 +v -0.750000 1.187500 -3.375000 +v 0.750000 1.187500 -3.375000 +v -0.750000 1.275888 -3.411612 +v 0.750000 1.275888 -3.411612 +v -0.750000 1.312500 -3.500000 +v 0.750000 1.312500 -3.500000 +v -0.750000 1.275888 -3.588388 +v 0.750000 1.275888 -3.588388 +v 0.750000 1.187500 -4.625000 +v -0.750000 1.187500 -4.625000 +v -0.750000 1.099112 -4.588388 +v 0.750000 1.099112 -4.588388 +v -0.750000 1.062500 -4.500000 +v 0.750000 1.062500 -4.500000 +v -0.750000 1.099112 -4.411612 +v 0.750000 1.099112 -4.411612 +v -0.750000 1.187500 -4.375000 +v 0.750000 1.187500 -4.375000 +v -0.750000 1.275888 -4.411612 +v 0.750000 1.275888 -4.411612 +v -0.750000 1.312500 -4.500000 +v 0.750000 1.312500 -4.500000 +v -0.750000 1.275888 -4.588388 +v 0.750000 1.275888 -4.588388 +v 0.750000 0.937500 -2.125000 +v 0.875000 0.937500 -2.125000 +v 0.750000 0.937500 -2.375000 +v 0.875000 0.937500 -2.375000 +v 0.750000 1.062500 -2.375000 +v -0.750000 1.312500 -2.125000 +v -0.875000 1.312500 -2.125000 +v 0.875000 1.062500 -2.375000 +v -0.750000 1.062500 -2.375000 +v 0.750000 1.312500 -2.125000 +v 0.875000 1.312500 -2.125000 +v -0.875000 1.062500 -2.375000 +v 0.875000 1.062500 -4.625000 +v 0.750000 1.062500 -4.625000 +v -0.750000 0.937500 -2.375000 +v -0.875000 0.937500 -2.375000 +v -0.750000 0.937500 -2.125000 +v -0.875000 0.937500 -2.125000 +v 0.875000 1.312500 -4.875000 +v 0.750000 1.312500 -4.875000 +v 0.875000 0.937500 -4.625000 +v 0.750000 0.937500 -4.625000 +v 0.875000 0.937500 -4.875000 +v 0.750000 0.937500 -4.875000 +v -0.750000 1.062500 -4.625000 +v -0.875000 1.062500 -4.625000 +v -0.750000 1.312500 -4.875000 +v -0.875000 1.312500 -4.875000 +v -0.750000 0.937500 -4.625000 +v -0.875000 0.937500 -4.625000 +v -0.750000 0.937500 -4.875000 +v -0.875000 0.937500 -4.875000 +v 0.750000 0.937500 -1.625000 +v 0.875000 0.937500 -1.625000 +v -0.750000 0.937500 -1.625000 +v -0.875000 0.937500 -1.625000 +v 0.750000 0.937500 -5.375000 +v 0.875000 0.937500 -5.375000 +v -0.750000 0.937500 -5.375000 +v -0.875000 0.937500 -5.375000 +v 0.750000 0.750000 -1.625000 +v 0.875000 0.750000 -1.625000 +v -0.875000 0.750000 -1.625000 +v -0.750000 0.750000 -1.625000 +v 0.750000 0.750000 -5.375000 +v 0.875000 0.750000 -5.375000 +v -0.875000 0.750000 -5.375000 +v -0.750000 0.750000 -5.375000 +v 0.250000 1.250000 -1.500000 +v 0.161612 1.275888 -1.474112 +v 0.125000 1.338388 -1.411612 +v 0.161612 1.400888 -1.349112 +v 0.250000 1.426777 -1.323223 +v 0.338388 1.400888 -1.349112 +v 0.375000 1.338388 -1.411612 +v 0.338388 1.275888 -1.474112 +v 0.250000 1.426777 -1.573223 +v 0.161612 1.426777 -1.536612 +v 0.125000 1.426777 -1.448223 +v 0.161612 1.426777 -1.359835 +v 0.338388 1.426777 -1.359835 +v 0.375000 1.426777 -1.448223 +v 0.338388 1.426777 -1.536612 +v 0.250000 1.603553 -1.500000 +v 0.161612 1.577665 -1.474112 +v 0.125000 1.515165 -1.411612 +v 0.161612 1.452665 -1.349112 +v 0.338388 1.452665 -1.349112 +v 0.375000 1.515165 -1.411612 +v 0.338388 1.577665 -1.474112 +v -0.161612 1.275888 -1.474112 +v -0.125000 1.338388 -1.411612 +v -0.161612 1.400888 -1.349112 +v -0.250000 1.426777 -1.323223 +v -0.338388 1.400888 -1.349112 +v -0.375000 1.338388 -1.411612 +v -0.338388 1.275888 -1.474112 +v -0.250000 1.250000 -1.500000 +v 0.161612 2.152189 -0.899587 +v 0.250000 2.178077 -0.925476 +v 0.125000 2.089689 -0.837087 +v 0.161612 2.027189 -0.774587 +v 0.375000 2.089689 -0.837087 +v 0.338388 2.027189 -0.774587 +v 0.338388 2.152189 -0.899587 +v 0.250000 2.001301 -0.748699 +v -0.250000 1.426777 -1.573223 +v -0.338388 1.426777 -1.536612 +v -0.375000 1.426777 -1.448223 +v -0.338388 1.426777 -1.359835 +v -0.161612 1.426777 -1.359835 +v -0.125000 1.426777 -1.448223 +v -0.161612 1.426777 -1.536612 +v -0.250000 1.603553 -1.500000 +v -0.338388 1.577665 -1.474112 +v -0.375000 1.515165 -1.411612 +v -0.338388 1.452665 -1.349112 +v -0.161612 1.452665 -1.349112 +v -0.125000 1.515165 -1.411612 +v -0.161612 1.577665 -1.474112 +v -0.338388 2.152189 -0.899587 +v -0.250000 2.178077 -0.925476 +v -0.375000 2.089689 -0.837087 +v -0.338388 2.027189 -0.774587 +v -0.125000 2.089689 -0.837087 +v -0.161612 2.027189 -0.774587 +v -0.161612 2.152189 -0.899587 +v -0.250000 2.001301 -0.748699 +v 0.750000 0.750000 -0.125000 +v 0.750000 2.000000 -0.125000 +v 0.838388 0.750000 -0.088388 +v 0.838388 2.000000 -0.088388 +v 0.875000 0.750000 0.000000 +v 0.875000 2.000000 0.000000 +v 0.838388 0.750000 0.088388 +v 0.838388 2.000000 0.088388 +v 0.750000 0.750000 0.125000 +v 0.750000 2.000000 0.125000 +v 0.750000 0.750000 0.375000 +v 0.750000 2.000000 0.375000 +v 0.838388 0.750000 0.411612 +v 0.838388 2.000000 0.411612 +v 0.875000 0.750000 0.500000 +v 0.875000 2.000000 0.500000 +v 0.838388 0.750000 0.588388 +v 0.838388 2.000000 0.588388 +v 0.750000 0.750000 0.625000 +v 0.750000 2.000000 0.625000 +v 0.750000 0.750000 -0.625000 +v 0.750000 2.000000 -0.625000 +v 0.838388 0.750000 -0.588388 +v 0.838388 2.000000 -0.588388 +v 0.875000 0.750000 -0.500000 +v 0.875000 2.000000 -0.500000 +v 0.838388 0.750000 -0.411612 +v 0.838388 2.000000 -0.411612 +v 0.750000 0.750000 -0.375000 +v 0.750000 2.000000 -0.375000 +v -0.750000 0.750000 -0.125000 +v -0.750000 2.000000 -0.125000 +v -0.750000 0.750000 0.125000 +v -0.750000 2.000000 0.125000 +v -0.838388 0.750000 0.088388 +v -0.838388 2.000000 0.088388 +v -0.875000 0.750000 0.000000 +v -0.875000 2.000000 0.000000 +v -0.838388 0.750000 -0.088388 +v -0.838388 2.000000 -0.088388 +v -0.750000 0.750000 0.375000 +v -0.750000 2.000000 0.375000 +v -0.750000 0.750000 0.625000 +v -0.750000 2.000000 0.625000 +v -0.838388 0.750000 0.588388 +v -0.838388 2.000000 0.588388 +v -0.875000 0.750000 0.500000 +v -0.875000 2.000000 0.500000 +v -0.838388 0.750000 0.411612 +v -0.838388 2.000000 0.411612 +v -0.750000 0.750000 -0.625000 +v -0.750000 2.000000 -0.625000 +v -0.750000 0.750000 -0.375000 +v -0.750000 2.000000 -0.375000 +v -0.838388 0.750000 -0.411612 +v -0.838388 2.000000 -0.411612 +v -0.875000 0.750000 -0.500000 +v -0.875000 2.000000 -0.500000 +v -0.838388 0.750000 -0.588388 +v -0.838388 2.000000 -0.588388 +vt 0.484375 0.100000 +vt 0.046875 0.366667 +vt 0.046875 0.100000 +vt 0.484375 0.733333 +vt 0.468750 0.500000 +vt 0.484375 0.466667 +vt 0.531250 0.366667 +vt 0.484375 0.366667 +vt -0.000000 0.100000 +vt 0.046875 0.466667 +vt 0.484375 -0.000000 +vt 0.656250 0.600000 +vt 0.531250 0.466667 +vt 0.656250 0.466667 +vt 0.656250 0.466667 +vt 0.531250 0.600000 +vt 0.531250 0.466667 +vt 0.531250 0.466667 +vt 0.656250 0.600000 +vt 0.531250 0.600000 +vt 0.531250 0.200000 +vt 0.656250 0.466667 +vt 0.656250 0.600000 +vt 0.531250 0.466667 +vt 0.656250 0.466667 +vt 0.539062 0.616667 +vt 0.531250 0.600000 +vt 0.648438 0.616667 +vt 0.539062 0.733333 +vt 0.539062 0.616667 +vt 0.656250 0.600000 +vt 0.539062 0.616667 +vt 0.539062 0.616667 +vt 0.531250 0.600000 +vt 0.539062 0.733333 +vt 0.648438 0.966667 +vt 0.539062 0.966667 +vt 0.648438 0.616667 +vt 0.539062 0.733333 +vt 0.648438 0.616667 +vt 0.648438 0.616667 +vt 0.539062 0.733333 +vt 0.468750 0.733333 +vt 0.062500 0.766667 +vt 0.062500 0.733333 +vt 0.062500 0.700000 +vt 0.046875 0.733333 +vt 0.531250 -0.000000 +vt 0.671875 -0.000000 +vt 0.671875 0.100000 +vt 0.812500 0.200000 +vt 0.765625 -0.000000 +vt 0.906250 -0.000000 +vt 0.765625 0.100000 +vt 0.906250 0.200000 +vt 1.000000 -0.000000 +vt 1.000000 0.200000 +vt 0.062500 0.500000 +vt 0.468750 0.700000 +vt 0.468750 0.966667 +vt 0.062500 0.966667 +vt 0.062500 1.000000 +vt 0.468750 1.000000 +vt 0.484375 0.966667 +vt 0.468750 0.766667 +vt 0.484375 0.766667 +vt 0.046875 0.766667 +vt 0.046875 0.966667 +vt 0.671875 0.200000 +vt 0.765625 0.200000 +vt 0.695312 0.550000 +vt 0.679688 0.566667 +vt 0.679688 0.516667 +vt 0.875000 0.500000 +vt 0.851562 0.516667 +vt 0.851562 0.500000 +vt 0.687500 0.433333 +vt 0.695312 0.450000 +vt 0.687500 0.450000 +vt 0.695312 0.466667 +vt 0.679688 0.450000 +vt 0.695312 0.450000 +vt 0.835938 0.550000 +vt 0.851562 0.566667 +vt 0.835938 0.566667 +vt 0.679688 0.500000 +vt 0.656250 0.516667 +vt 0.656250 0.500000 +vt 0.695312 0.433333 +vt 0.835938 0.450000 +vt 0.695312 0.450000 +vt 0.835938 0.433333 +vt 0.843750 0.450000 +vt 0.695312 0.466667 +vt 0.679688 0.500000 +vt 0.851562 0.500000 +vt 0.679688 0.450000 +vt 0.695312 0.450000 +vt 0.835938 0.466667 +vt 0.851562 0.450000 +vt 0.695312 0.433333 +vt 0.835938 0.450000 +vt 0.679688 0.516667 +vt 0.835938 0.550000 +vt 0.851562 0.566667 +vt 0.835938 0.566667 +vt 0.656250 0.516667 +vt 0.656250 0.500000 +vt 0.695312 0.550000 +vt 0.679688 0.566667 +vt 0.835938 0.466667 +vt 0.851562 0.450000 +vt 0.835938 0.433333 +vt 0.843750 0.450000 +vt 0.687500 0.433333 +vt 0.687500 0.450000 +vt 0.875000 0.500000 +vt 0.851562 0.516667 +vt 0.902344 0.391667 +vt 0.667969 0.408333 +vt 0.667969 0.391667 +vt 0.902344 0.391667 +vt 0.667969 0.408333 +vt 0.667969 0.391667 +vt 0.902344 0.366667 +vt 0.914062 0.408333 +vt 0.902344 0.408333 +vt 0.656250 0.391667 +vt 0.667969 0.433333 +vt 0.902344 0.408333 +vt 0.667969 0.433333 +vt 0.914062 0.408333 +vt 0.656250 0.391667 +vt 0.902344 0.366667 +vt 0.531250 0.100000 +vt 0.000000 0.366667 +vt 0.046875 -0.000000 +vt 0.656250 0.200000 +vt 0.648438 0.733333 +vt 0.648438 0.733333 +vt 0.648438 0.733333 +vt 0.648438 0.733333 +vt 0.625000 0.200000 +vt 0.531250 0.200000 +vt 0.695312 0.566667 +vt 0.875000 0.516667 +vt 0.843750 0.433333 +vt 0.835938 0.450000 +vt 0.695312 0.566667 +vt 0.835938 0.450000 +vt 0.843750 0.433333 +vt 0.875000 0.516667 +vt 0.667969 0.366667 +vt 0.914062 0.391667 +vt 0.656250 0.408333 +vt 0.902344 0.433333 +vt 0.902344 0.433333 +vt 0.914062 0.391667 +vt 0.656250 0.408333 +vt 0.667969 0.366667 +vt 0.921875 0.200000 +vt 0.929688 0.400000 +vt 0.921875 0.400000 +vt 0.960938 0.200000 +vt 0.968750 0.400000 +vt 0.960938 0.400000 +vt 0.937500 0.200000 +vt 0.945312 0.400000 +vt 0.937500 0.400000 +vt 0.968750 0.200000 +vt 0.976562 0.400000 +vt 0.937500 0.200000 +vt 0.945312 0.400000 +vt 0.937500 0.400000 +vt 0.929688 0.200000 +vt 0.929688 0.400000 +vt 0.914062 0.200000 +vt 0.921875 0.400000 +vt 0.914062 0.400000 +vt 0.921875 0.200000 +vt 0.921875 0.400000 +vt 0.921875 0.200000 +vt 0.929688 0.400000 +vt 0.914062 0.200000 +vt 0.914062 0.400000 +vt 0.929688 0.200000 +vt 0.937500 0.400000 +vt 0.953125 0.200000 +vt 0.960938 0.400000 +vt 0.953125 0.400000 +vt 0.968750 0.200000 +vt 0.976562 0.400000 +vt 0.968750 0.400000 +vt 0.937500 0.200000 +vt 0.945312 0.400000 +vt 0.960938 0.200000 +vt 0.945312 0.200000 +vt 0.953125 0.400000 +vt 0.929688 0.200000 +vt 0.945312 0.200000 +vt 0.953125 0.200000 +vt 0.914062 0.200000 +vt 0.914062 0.400000 +vt 0.953125 0.200000 +vt 0.960938 0.400000 +vt 0.953125 0.400000 +vt 0.968750 0.200000 +vt 0.976562 0.400000 +vt 0.968750 0.400000 +vt 0.960938 0.200000 +vt 0.945312 0.200000 +vt 0.921875 0.200000 +vt 0.929688 0.400000 +vt 0.921875 0.400000 +vt 0.937500 0.200000 +vt 0.945312 0.400000 +vt 0.937500 0.400000 +vt 0.929688 0.200000 +vt 0.914062 0.200000 +vt 0.914062 0.400000 +vt 0.953125 0.200000 +vt 0.960938 0.400000 +vt 0.953125 0.400000 +vt 0.968750 0.200000 +vt 0.976562 0.400000 +vt 0.968750 0.400000 +vt 0.960938 0.200000 +vt 0.945312 0.200000 +vt 0.921875 0.200000 +vt 0.929688 0.400000 +vt 0.921875 0.400000 +vt 0.960938 0.200000 +vt 0.968750 0.400000 +vt 0.960938 0.400000 +vt 0.937500 0.200000 +vt 0.945312 0.400000 +vt 0.937500 0.400000 +vt 0.968750 0.200000 +vt 0.976562 0.400000 +vt 0.937500 0.200000 +vt 0.945312 0.400000 +vt 0.937500 0.400000 +vt 0.929688 0.200000 +vt 0.929688 0.400000 +vt 0.914062 0.200000 +vt 0.921875 0.400000 +vt 0.914062 0.400000 +vt 0.921875 0.200000 +vt 0.921875 0.400000 +vt 0.921875 0.200000 +vt 0.929688 0.400000 +vt 0.914062 0.200000 +vt 0.914062 0.400000 +vt 0.929688 0.200000 +vt 0.937500 0.400000 +vt 0.953125 0.200000 +vt 0.960938 0.400000 +vt 0.953125 0.400000 +vt 0.968750 0.200000 +vt 0.976562 0.400000 +vt 0.968750 0.400000 +vt 0.937500 0.200000 +vt 0.945312 0.400000 +vt 0.960938 0.200000 +vt 0.945312 0.200000 +vt 0.953125 0.400000 +vt 0.929688 0.200000 +vt 0.945312 0.200000 +vt 0.953125 0.200000 +vt 0.914062 0.200000 +vt 0.914062 0.400000 +vt 0.953125 0.200000 +vt 0.960938 0.400000 +vt 0.953125 0.400000 +vt 0.968750 0.200000 +vt 0.976562 0.400000 +vt 0.968750 0.400000 +vt 0.960938 0.200000 +vt 0.945312 0.200000 +vt 0.695312 0.341667 +vt 0.703125 0.333333 +vt 0.703125 0.350000 +vt 0.710938 0.358333 +vt 0.718750 0.333333 +vt 0.718750 0.358333 +vt 0.726562 0.358333 +vt 0.734375 0.333333 +vt 0.742188 0.341667 +vt 0.734375 0.350000 +vt 0.710938 0.333333 +vt 0.726562 0.333333 +vt 0.726562 0.308333 +vt 0.734375 0.316667 +vt 0.742188 0.333333 +vt 0.703125 0.316667 +vt 0.695312 0.325000 +vt 0.695312 0.333333 +vt 0.710938 0.308333 +vt 0.687500 0.333333 +vt 0.750000 0.333333 +vt 0.742188 0.325000 +vt 0.742188 0.200000 +vt 0.750000 0.308333 +vt 0.742188 0.308333 +vt 0.718750 0.358333 +vt 0.726562 0.333333 +vt 0.726562 0.358333 +vt 0.734375 0.200000 +vt 0.734375 0.308333 +vt 0.695312 0.200000 +vt 0.703125 0.308333 +vt 0.695312 0.308333 +vt 0.718750 0.200000 +vt 0.718750 0.308333 +vt 0.703125 0.200000 +vt 0.695312 0.341667 +vt 0.703125 0.333333 +vt 0.703125 0.350000 +vt 0.687500 0.200000 +vt 0.687500 0.308333 +vt 0.710938 0.333333 +vt 0.710938 0.358333 +vt 0.718750 0.333333 +vt 0.726562 0.308333 +vt 0.703125 0.316667 +vt 0.734375 0.333333 +vt 0.742188 0.341667 +vt 0.734375 0.350000 +vt 0.734375 0.316667 +vt 0.742188 0.333333 +vt 0.710938 0.200000 +vt 0.695312 0.333333 +vt 0.710938 0.308333 +vt 0.687500 0.333333 +vt 0.695312 0.325000 +vt 0.750000 0.333333 +vt 0.742188 0.325000 +vt 0.742188 0.200000 +vt 0.750000 0.308333 +vt 0.742188 0.308333 +vt 0.734375 0.200000 +vt 0.734375 0.308333 +vt 0.695312 0.200000 +vt 0.703125 0.308333 +vt 0.695312 0.308333 +vt 0.718750 0.200000 +vt 0.718750 0.308333 +vt 0.703125 0.200000 +vt 0.687500 0.200000 +vt 0.687500 0.308333 +vt 0.710938 0.200000 +vt 0.687500 0.366667 +vt 0.679688 0.200000 +vt 0.687500 0.200000 +vt 0.679688 0.366667 +vt 0.671875 0.200000 +vt 0.671875 0.366667 +vt 0.664062 0.200000 +vt 0.664062 0.366667 +vt 0.656250 0.200000 +vt 0.679688 0.366667 +vt 0.671875 0.200000 +vt 0.679688 0.200000 +vt 0.687500 0.366667 +vt 0.687500 0.200000 +vt 0.671875 0.366667 +vt 0.664062 0.200000 +vt 0.664062 0.366667 +vt 0.656250 0.200000 +vt 0.679688 0.366667 +vt 0.671875 0.200000 +vt 0.679688 0.200000 +vt 0.687500 0.366667 +vt 0.687500 0.200000 +vt 0.671875 0.366667 +vt 0.664062 0.200000 +vt 0.664062 0.366667 +vt 0.656250 0.200000 +vt 0.687500 0.366667 +vt 0.679688 0.200000 +vt 0.687500 0.200000 +vt 0.679688 0.366667 +vt 0.671875 0.200000 +vt 0.671875 0.366667 +vt 0.664062 0.200000 +vt 0.664062 0.366667 +vt 0.656250 0.200000 +vt 0.687500 0.366667 +vt 0.679688 0.200000 +vt 0.687500 0.200000 +vt 0.679688 0.366667 +vt 0.671875 0.200000 +vt 0.671875 0.366667 +vt 0.664062 0.200000 +vt 0.664062 0.366667 +vt 0.656250 0.200000 +vt 0.687500 0.366667 +vt 0.679688 0.200000 +vt 0.687500 0.200000 +vt 0.679688 0.366667 +vt 0.671875 0.200000 +vt 0.671875 0.366667 +vt 0.664062 0.200000 +vt 0.664062 0.366667 +vt 0.656250 0.200000 +vt 0.976562 0.200000 +vt 0.976562 0.200000 +vt 0.976562 0.200000 +vt 0.976562 0.200000 +vt 0.976562 0.200000 +vt 0.976562 0.200000 +vt 0.976562 0.200000 +vt 0.750000 0.200000 +vt 0.726562 0.200000 +vt 0.750000 0.200000 +vt 0.726562 0.200000 +vt 0.656250 0.366667 +vt 0.656250 0.366667 +vt 0.656250 0.366667 +vt 0.656250 0.366667 +vt 0.656250 0.366667 +vt 0.656250 0.366667 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.7071 -0.7071 +vn -0.0000 -0.7071 0.7071 +vn -0.0000 -0.7071 -0.7071 +vn -0.0000 0.7071 0.7071 +vn -0.7311 0.2611 0.6303 +vn -0.9955 -0.0000 -0.0949 +vn -0.9947 -0.0393 -0.0948 +vn -0.6333 -0.2962 -0.7150 +vn -0.0000 -0.3827 -0.9239 +vn 0.6333 -0.2962 -0.7150 +vn 0.9955 -0.0000 -0.0949 +vn 0.7311 0.2611 0.6303 +vn 0.9947 -0.0393 -0.0948 +vn -0.6630 -0.0000 -0.7486 +vn 0.6630 -0.0000 -0.7486 +vn 0.6794 0.4063 -0.6110 +vn 0.9987 0.0196 -0.0473 +vn 0.7574 -0.0000 0.6530 +vn -0.9987 0.0196 -0.0473 +vn -0.7263 -0.3800 0.5728 +vn -0.7574 -0.0000 0.6530 +vn -0.6794 0.4063 -0.6110 +vn 0.0000 -0.5562 0.8311 +vn 0.7263 -0.3800 0.5728 +vn 0.7071 -0.5000 0.5000 +vn -0.7071 -0.5000 0.5000 +vn 0.0000 0.5628 -0.8266 +vn -0.7071 0.5000 -0.5000 +vn 0.3827 0.0000 -0.9239 +vn 0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +vn 0.3827 0.0000 0.9239 +vn -0.3827 0.0000 0.9239 +vn -0.7071 0.0000 0.7071 +vn -0.7071 0.0000 -0.7071 +vn -0.3827 0.0000 -0.9239 +vn 0.7071 0.5000 -0.5000 +s off +f 11/21/6 10/22/6 9/23/6 +f 13/24/7 44/25/7 16/26/7 +f 11/21/8 16/27/8 12/28/8 +f 10/22/9 14/29/9 9/23/9 +f 12/28/10 15/30/10 10/22/10 +f 9/23/11 13/31/11 11/21/11 +f 20/32/9 17/33/9 18/34/9 +f 21/35/8 24/36/8 22/37/8 +f 18/38/10 24/39/10 20/40/10 +f 17/41/6 22/42/6 18/38/6 +f 19/43/11 21/44/11 17/45/11 +f 19/43/7 27/46/7 23/47/7 +f 25/48/10 31/49/10 27/46/10 +f 24/39/7 26/50/7 20/40/7 +f 23/51/7 28/52/7 24/36/7 +f 20/32/7 25/53/7 19/54/7 +f 30/55/7 31/56/7 29/57/7 +f 27/58/9 32/59/9 28/52/9 +f 28/60/11 30/55/11 26/50/11 +f 26/61/8 29/62/8 25/53/8 +f 44/63/11 47/64/11 43/65/11 +f 15/30/7 42/66/7 14/67/7 +f 39/68/10 40/69/10 49/70/10 +f 35/71/11 37/72/11 38/73/11 +f 49/70/8 37/72/8 50/74/8 +f 33/75/9 39/76/9 34/77/9 +f 16/26/7 43/78/7 15/30/7 +f 14/67/7 41/79/7 13/24/7 +f 47/64/7 45/80/7 46/81/7 +f 42/82/10 45/80/10 41/83/10 +f 41/84/9 48/85/9 44/86/9 +f 43/87/8 46/81/8 42/88/8 +f 36/89/12 50/74/12 35/90/12 +f 167/91/11 163/92/11 172/93/11 +f 193/94/8 190/95/8 189/96/8 +f 165/97/8 170/98/8 166/99/8 +f 170/100/10 164/101/10 166/102/10 +f 188/103/11 194/104/11 192/105/11 +f 173/106/9 163/107/9 164/108/9 +f 174/109/6 187/110/6 171/111/6 +f 188/112/9 191/113/9 187/110/9 +f 171/114/10 189/96/10 168/115/10 +f 181/116/7 172/93/7 173/106/7 +f 171/114/10 179/117/10 177/118/10 +f 187/119/10 193/120/10 189/96/10 +f 167/121/6 175/122/6 170/98/6 +f 189/96/7 169/123/7 168/115/7 +f 176/124/11 186/125/11 184/126/11 +f 170/100/10 181/116/10 173/106/10 +f 172/93/11 176/124/11 167/91/11 +f 168/115/9 180/127/9 179/128/9 +f 169/123/11 188/103/11 174/129/11 +f 174/129/11 180/130/11 169/123/11 +f 175/131/10 185/132/10 181/116/10 +f 176/133/9 183/134/9 175/122/9 +f 178/135/8 171/111/8 177/136/8 +f 185/137/8 182/138/8 181/116/8 +f 201/139/7 198/140/7 197/141/7 +f 200/142/7 195/143/7 196/144/7 +f 197/141/10 210/145/10 201/139/10 +f 200/142/8 207/146/8 199/147/8 +f 195/143/9 204/148/9 196/144/9 +f 199/147/11 203/149/11 195/143/11 +f 202/150/11 205/151/11 198/140/11 +f 201/139/8 209/152/8 202/150/8 +f 198/140/9 206/153/9 197/141/9 +f 196/144/10 208/154/10 200/142/10 +f 11/21/6 12/28/6 10/22/6 +f 13/24/7 41/79/7 44/25/7 +f 11/21/8 13/155/8 16/27/8 +f 10/22/9 15/156/9 14/29/9 +f 12/28/10 16/26/10 15/30/10 +f 9/23/11 14/157/11 13/31/11 +f 20/32/9 19/54/9 17/33/9 +f 21/35/8 23/51/8 24/36/8 +f 18/38/10 22/42/10 24/39/10 +f 17/41/6 21/158/6 22/42/6 +f 19/43/11 23/47/11 21/44/11 +f 19/43/7 25/48/7 27/46/7 +f 25/48/10 29/159/10 31/49/10 +f 24/39/7 28/60/7 26/50/7 +f 23/51/7 27/58/7 28/52/7 +f 20/32/7 26/61/7 25/53/7 +f 30/55/7 32/160/7 31/56/7 +f 27/58/9 31/161/9 32/59/9 +f 28/60/11 32/160/11 30/55/11 +f 26/61/8 30/162/8 29/62/8 +f 44/63/11 48/85/11 47/64/11 +f 15/30/7 43/78/7 42/66/7 +f 49/70/10 36/163/10 39/68/10 +f 36/163/10 34/164/10 39/68/10 +f 38/73/11 33/75/11 35/71/11 +f 35/71/11 50/74/11 37/72/11 +f 49/70/8 40/69/8 37/72/8 +f 33/75/9 38/73/9 39/76/9 +f 16/26/7 44/25/7 43/78/7 +f 14/67/7 42/66/7 41/79/7 +f 47/64/7 48/85/7 45/80/7 +f 42/82/10 46/81/10 45/80/10 +f 41/84/9 45/80/9 48/85/9 +f 43/87/8 47/64/8 46/81/8 +f 36/89/12 49/70/12 50/74/12 +f 167/91/11 165/165/11 163/92/11 +f 193/94/8 194/166/8 190/95/8 +f 165/97/8 167/121/8 170/98/8 +f 170/100/10 173/106/10 164/101/10 +f 188/103/11 190/95/11 194/104/11 +f 173/106/9 172/93/9 163/107/9 +f 174/109/6 188/112/6 187/110/6 +f 188/112/9 192/167/9 191/113/9 +f 171/114/10 187/119/10 189/96/10 +f 181/116/7 182/138/7 172/93/7 +f 171/114/10 168/115/10 179/117/10 +f 187/119/10 191/168/10 193/120/10 +f 167/121/6 176/133/6 175/122/6 +f 189/96/7 190/95/7 169/123/7 +f 176/124/11 182/138/11 186/125/11 +f 170/100/10 175/131/10 181/116/10 +f 172/93/11 182/138/11 176/124/11 +f 168/115/9 169/123/9 180/127/9 +f 169/123/11 190/95/11 188/103/11 +f 174/129/11 178/169/11 180/130/11 +f 175/131/10 183/170/10 185/132/10 +f 176/133/9 184/171/9 183/134/9 +f 178/135/8 174/109/8 171/111/8 +f 185/137/8 186/172/8 182/138/8 +f 201/139/7 202/150/7 198/140/7 +f 200/142/7 199/147/7 195/143/7 +f 197/141/10 206/173/10 210/145/10 +f 200/142/8 208/174/8 207/146/8 +f 195/143/9 203/175/9 204/148/9 +f 199/147/11 207/176/11 203/149/11 +f 202/150/11 209/177/11 205/151/11 +f 201/139/8 210/178/8 209/152/8 +f 198/140/9 205/179/9 206/153/9 +f 196/144/10 204/180/10 208/154/10 +s 1 +f 90/181/13 91/182/9 89/183/13 +f 54/184/8 55/185/14 53/186/8 +f 78/187/15 79/188/7 77/189/15 +f 56/190/14 57/191/6 55/185/14 +f 94/192/15 95/193/7 93/194/15 +f 76/195/9 77/189/15 75/196/9 +f 58/197/6 59/198/13 57/199/6 +f 74/200/13 75/196/9 73/201/13 +f 60/202/13 61/203/9 59/198/13 +f 72/204/6 73/201/13 71/205/6 +f 62/206/9 63/207/15 61/203/9 +f 82/208/12 52/209/8 81/210/12 +f 70/211/14 71/212/6 69/213/14 +f 64/214/15 65/215/7 63/207/15 +f 51/216/8 69/213/14 52/209/8 +f 66/217/7 67/218/12 65/215/7 +f 92/219/9 93/194/15 91/182/9 +f 80/220/7 81/210/12 79/188/7 +f 68/221/12 53/186/8 67/218/12 +f 88/222/6 89/183/13 87/223/6 +f 98/224/12 84/225/8 97/226/12 +f 86/227/14 87/228/6 85/229/14 +f 83/230/8 85/229/14 84/225/8 +f 96/231/7 97/226/12 95/193/7 +f 106/232/13 107/233/9 105/234/13 +f 110/235/15 111/236/7 109/237/15 +f 108/238/9 109/237/15 107/233/9 +f 104/239/6 105/234/13 103/240/6 +f 114/241/12 100/242/8 113/243/12 +f 102/244/14 103/245/6 101/246/14 +f 99/247/8 101/246/14 100/242/8 +f 112/248/7 113/243/12 111/236/7 +f 154/249/13 155/250/9 153/251/13 +f 118/252/8 119/253/14 117/254/8 +f 142/255/15 143/256/7 141/257/15 +f 120/258/14 121/259/6 119/253/14 +f 158/260/15 159/261/7 157/262/15 +f 140/263/9 141/257/15 139/264/9 +f 122/265/6 123/266/13 121/267/6 +f 138/268/13 139/264/9 137/269/13 +f 124/270/13 125/271/9 123/266/13 +f 136/272/6 137/269/13 135/273/6 +f 126/274/9 127/275/15 125/271/9 +f 146/276/12 116/277/8 145/278/12 +f 134/279/14 135/280/6 133/281/14 +f 128/282/15 129/283/7 127/275/15 +f 115/284/8 133/281/14 116/277/8 +f 130/285/7 131/286/12 129/283/7 +f 156/287/9 157/262/15 155/250/9 +f 144/288/7 145/278/12 143/256/7 +f 132/289/12 117/254/8 131/286/12 +f 152/290/6 153/251/13 151/291/6 +f 162/292/12 148/293/8 161/294/12 +f 150/295/14 151/296/6 149/297/14 +f 147/298/8 149/297/14 148/293/8 +f 160/299/7 161/294/12 159/261/7 +f 214/300/16 221/301/17 213/302/18 +f 212/303/19 219/304/8 211/305/20 +f 219/304/8 218/306/21 211/305/20 +f 224/307/22 216/308/23 217/309/24 +f 213/302/18 220/310/25 212/303/19 +f 225/311/26 217/309/24 218/306/21 +f 219/304/8 232/312/27 225/311/26 +f 231/313/28 223/314/29 224/307/22 +f 228/315/30 220/310/25 221/301/17 +f 225/311/26 231/313/28 224/307/22 +f 229/316/31 221/301/17 222/317/32 +f 227/318/33 219/304/8 220/310/25 +f 214/300/16 215/319/34 222/317/32 +f 222/317/32 215/319/34 229/316/31 +f 215/320/34 216/308/23 223/314/29 +f 223/314/29 230/321/35 215/320/34 +f 246/322/36 215/323/34 230/324/35 +f 240/325/20 255/326/26 233/327/21 +f 232/312/27 245/328/10 231/329/28 +f 244/330/37 228/331/30 229/332/31 +f 242/333/12 232/312/27 226/334/38 +f 245/328/10 230/324/35 231/329/28 +f 243/335/11 227/318/33 228/331/30 +f 237/336/16 251/337/17 238/338/18 +f 248/339/13 229/332/31 215/340/34 +f 238/338/18 250/341/25 239/342/19 +f 249/343/8 262/344/27 255/326/26 +f 258/345/30 250/341/25 251/337/17 +f 250/341/25 240/325/20 239/342/19 +f 254/346/22 235/347/23 234/348/24 +f 255/326/26 234/348/24 233/327/21 +f 261/349/28 253/350/29 254/346/22 +f 241/351/39 226/334/38 227/318/33 +f 255/326/26 261/349/28 254/346/22 +f 252/352/32 258/345/30 251/337/17 +f 257/353/33 249/343/8 250/341/25 +f 237/336/16 236/354/34 252/352/32 +f 252/352/32 236/354/34 259/355/31 +f 236/356/34 235/347/23 253/350/29 +f 253/350/29 260/357/35 236/356/34 +f 268/358/36 236/359/34 260/360/35 +f 262/344/27 267/361/10 261/362/28 +f 266/363/37 258/364/30 259/365/31 +f 264/366/12 262/344/27 256/367/38 +f 267/361/10 260/360/35 261/362/28 +f 265/368/11 257/353/33 258/364/30 +f 270/369/13 259/365/31 236/370/34 +f 263/371/39 256/367/38 257/353/33 +f 272/372/40 273/373/41 271/374/40 +f 274/375/41 275/376/10 273/373/41 +f 276/377/10 277/378/42 275/376/10 +f 278/379/42 279/380/43 277/378/42 +f 284/381/41 285/382/10 283/383/41 +f 282/384/40 283/383/41 281/385/40 +f 286/386/10 287/387/42 285/382/10 +f 288/388/42 289/389/43 287/387/42 +f 294/390/41 295/391/10 293/392/41 +f 292/393/40 293/392/41 291/394/40 +f 296/395/10 297/396/42 295/391/10 +f 298/397/42 299/398/43 297/396/42 +f 304/399/44 305/400/45 303/401/44 +f 306/402/45 307/403/11 305/400/45 +f 308/404/11 309/405/46 307/403/11 +f 310/406/46 301/407/47 309/405/46 +f 314/408/44 315/409/45 313/410/44 +f 316/411/45 317/412/11 315/409/45 +f 318/413/11 319/414/46 317/412/11 +f 320/415/46 311/416/47 319/414/46 +f 324/417/44 325/418/45 323/419/44 +f 326/420/45 327/421/11 325/418/45 +f 328/422/11 329/423/46 327/421/11 +f 330/424/46 321/425/47 329/423/46 +f 90/181/13 92/219/9 91/182/9 +f 54/184/8 56/190/14 55/185/14 +f 78/187/15 80/220/7 79/188/7 +f 56/190/14 58/426/6 57/191/6 +f 94/192/15 96/231/7 95/193/7 +f 76/195/9 78/187/15 77/189/15 +f 58/197/6 60/202/13 59/198/13 +f 74/200/13 76/195/9 75/196/9 +f 60/202/13 62/206/9 61/203/9 +f 72/204/6 74/200/13 73/201/13 +f 62/206/9 64/214/15 63/207/15 +f 82/208/12 51/216/8 52/209/8 +f 70/211/14 72/427/6 71/212/6 +f 64/214/15 66/217/7 65/215/7 +f 51/216/8 70/211/14 69/213/14 +f 66/217/7 68/221/12 67/218/12 +f 92/219/9 94/192/15 93/194/15 +f 80/220/7 82/208/12 81/210/12 +f 68/221/12 54/184/8 53/186/8 +f 88/222/6 90/181/13 89/183/13 +f 98/224/12 83/230/8 84/225/8 +f 86/227/14 88/428/6 87/228/6 +f 83/230/8 86/227/14 85/229/14 +f 96/231/7 98/224/12 97/226/12 +f 106/232/13 108/238/9 107/233/9 +f 110/235/15 112/248/7 111/236/7 +f 108/238/9 110/235/15 109/237/15 +f 104/239/6 106/232/13 105/234/13 +f 114/241/12 99/247/8 100/242/8 +f 102/244/14 104/429/6 103/245/6 +f 99/247/8 102/244/14 101/246/14 +f 112/248/7 114/241/12 113/243/12 +f 154/249/13 156/287/9 155/250/9 +f 118/252/8 120/258/14 119/253/14 +f 142/255/15 144/288/7 143/256/7 +f 120/258/14 122/430/6 121/259/6 +f 158/260/15 160/299/7 159/261/7 +f 140/263/9 142/255/15 141/257/15 +f 122/265/6 124/270/13 123/266/13 +f 138/268/13 140/263/9 139/264/9 +f 124/270/13 126/274/9 125/271/9 +f 136/272/6 138/268/13 137/269/13 +f 126/274/9 128/282/15 127/275/15 +f 146/276/12 115/284/8 116/277/8 +f 134/279/14 136/431/6 135/280/6 +f 128/282/15 130/285/7 129/283/7 +f 115/284/8 134/279/14 133/281/14 +f 130/285/7 132/289/12 131/286/12 +f 156/287/9 158/260/15 157/262/15 +f 144/288/7 146/276/12 145/278/12 +f 132/289/12 118/252/8 117/254/8 +f 152/290/6 154/249/13 153/251/13 +f 162/292/12 147/298/8 148/293/8 +f 150/295/14 152/432/6 151/296/6 +f 147/298/8 150/295/14 149/297/14 +f 160/299/7 162/292/12 161/294/12 +f 214/300/16 222/317/32 221/301/17 +f 212/303/19 220/310/25 219/304/8 +f 219/304/8 225/311/26 218/306/21 +f 224/307/22 223/314/29 216/308/23 +f 213/302/18 221/301/17 220/310/25 +f 225/311/26 224/307/22 217/309/24 +f 219/304/8 226/334/38 232/312/27 +f 231/313/28 230/321/35 223/314/29 +f 228/315/30 227/318/33 220/310/25 +f 225/311/26 232/312/27 231/313/28 +f 229/316/31 228/315/30 221/301/17 +f 227/318/33 226/334/38 219/304/8 +f 246/322/36 248/433/13 215/323/34 +f 240/325/20 249/343/8 255/326/26 +f 232/312/27 247/434/48 245/328/10 +f 244/330/37 243/335/11 228/331/30 +f 242/333/12 247/434/48 232/312/27 +f 245/328/10 246/322/36 230/324/35 +f 243/335/11 241/351/39 227/318/33 +f 237/336/16 252/352/32 251/337/17 +f 248/339/13 244/330/37 229/332/31 +f 238/338/18 251/337/17 250/341/25 +f 249/343/8 256/367/38 262/344/27 +f 258/345/30 257/353/33 250/341/25 +f 250/341/25 249/343/8 240/325/20 +f 254/346/22 253/350/29 235/347/23 +f 255/326/26 254/346/22 234/348/24 +f 261/349/28 260/357/35 253/350/29 +f 241/351/39 242/333/12 226/334/38 +f 255/326/26 262/344/27 261/349/28 +f 252/352/32 259/355/31 258/345/30 +f 257/353/33 256/367/38 249/343/8 +f 268/358/36 270/435/13 236/359/34 +f 262/344/27 269/436/48 267/361/10 +f 266/363/37 265/368/11 258/364/30 +f 264/366/12 269/436/48 262/344/27 +f 267/361/10 268/358/36 260/360/35 +f 265/368/11 263/371/39 257/353/33 +f 270/369/13 266/363/37 259/365/31 +f 263/371/39 264/366/12 256/367/38 +f 272/372/40 274/375/41 273/373/41 +f 274/375/41 276/377/10 275/376/10 +f 276/377/10 278/379/42 277/378/42 +f 278/379/42 280/437/43 279/380/43 +f 284/381/41 286/386/10 285/382/10 +f 282/384/40 284/381/41 283/383/41 +f 286/386/10 288/388/42 287/387/42 +f 288/388/42 290/438/43 289/389/43 +f 294/390/41 296/395/10 295/391/10 +f 292/393/40 294/390/41 293/392/41 +f 296/395/10 298/397/42 297/396/42 +f 298/397/42 300/439/43 299/398/43 +f 304/399/44 306/402/45 305/400/45 +f 306/402/45 308/404/11 307/403/11 +f 308/404/11 310/406/46 309/405/46 +f 310/406/46 302/440/47 301/407/47 +f 314/408/44 316/411/45 315/409/45 +f 316/411/45 318/413/11 317/412/11 +f 318/413/11 320/415/46 319/414/46 +f 320/415/46 312/441/47 311/416/47 +f 324/417/44 326/420/45 325/418/45 +f 326/420/45 328/422/11 327/421/11 +f 328/422/11 330/424/46 329/423/46 +f 330/424/46 322/442/47 321/425/47 diff --git a/src/main/resources/assets/hbm/models/missileGeneric.obj b/src/main/resources/assets/hbm/models/missileGeneric.obj deleted file mode 100644 index 82b20117e..000000000 --- a/src/main/resources/assets/hbm/models/missileGeneric.obj +++ /dev/null @@ -1,689 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'MissileGeneric.blend' -# www.blender.org -o Cylinder -v 0.097545 2.500000 -0.490393 -v 0.277785 2.500000 -0.415735 -v 0.277785 0.500000 -0.415735 -v 0.415735 2.500000 -0.277785 -v 0.415735 0.500000 -0.277785 -v 0.490393 2.500000 -0.097545 -v 0.490393 0.500000 -0.097545 -v 0.490393 2.500000 0.097545 -v 0.415735 2.500000 0.277785 -v 0.415735 0.500000 0.277785 -v 0.277785 2.500000 0.415735 -v 0.277785 0.500000 0.415735 -v 0.097545 2.500000 0.490393 -v 0.097545 0.500000 0.490393 -v -0.097545 2.500000 0.490393 -v -0.277785 2.500000 0.415735 -v -0.277785 0.500000 0.415735 -v -0.415735 2.500000 0.277785 -v -0.415735 0.500000 0.277785 -v -0.490393 2.500000 0.097545 -v -0.490393 0.500000 0.097545 -v -0.490393 2.500000 -0.097545 -v -0.415735 2.500000 -0.277785 -v -0.415735 0.500000 -0.277785 -v 0.367794 3.500000 -0.073159 -v 0.367794 3.500000 0.073159 -v -0.277785 0.500000 -0.415735 -v -0.277785 2.500000 -0.415735 -v -0.097545 2.500000 -0.490393 -v -0.097545 0.500000 0.490393 -v -0.082913 -0.000000 0.416834 -v 0.082913 -0.000000 0.416834 -v -0.236117 0.000000 -0.353375 -v -0.082913 0.000000 -0.416834 -v -0.353375 0.000000 -0.236117 -v -0.416834 -0.000000 0.082913 -v -0.353375 -0.000000 0.236117 -v 0.416834 0.000000 -0.082913 -v 0.353375 0.000000 -0.236117 -v 0.236117 -0.000000 0.353375 -v 0.353375 -0.000000 0.236117 -v -0.236117 -0.000000 0.353375 -v 0.236117 0.000000 -0.353375 -v 0.082913 0.000000 -0.416834 -v -0.490393 0.500000 -0.097545 -v -0.416834 0.000000 -0.082913 -v 0.490393 0.500000 0.097545 -v 0.416834 -0.000000 0.082913 -v -0.097545 0.500000 -0.490393 -v 0.097545 0.500000 -0.490393 -v 0.036579 3.750000 -0.717794 -v -0.073159 4.500000 -0.367794 -v 0.073159 4.500000 -0.367794 -v -0.208339 3.500000 -0.311801 -v -0.073159 3.500000 -0.367794 -v 0.073159 3.500000 -0.367794 -v 0.208339 3.500000 0.311801 -v -0.208339 3.500000 0.311801 -v -0.311801 3.500000 0.208339 -v 0.208339 3.500000 -0.311801 -v 0.311801 3.500000 -0.208339 -v -0.367795 3.500000 -0.073159 -v -0.311801 3.500000 -0.208339 -v 0.073159 3.500000 0.367794 -v -0.073159 3.500000 0.367795 -v 0.311801 3.500000 0.208339 -v -0.367795 3.500000 0.073159 -v -0.208339 4.500000 0.311801 -v -0.073159 4.500000 0.367795 -v 0.000000 5.500000 0.000000 -v -0.367795 4.500000 0.073159 -v -0.367795 4.500000 -0.073159 -v -0.036580 3.750000 -0.717794 -v 0.073159 4.500000 0.367794 -v -0.367795 3.750000 -0.036579 -v 0.367794 4.500000 -0.073159 -v 0.367794 4.500000 0.073159 -v -0.311801 4.500000 0.208339 -v -0.311801 4.500000 -0.208339 -v -0.208339 4.500000 -0.311801 -v 0.208338 4.500000 -0.311801 -v 0.311801 4.500000 -0.208339 -v 0.311801 4.500000 0.208339 -v 0.208339 4.500000 0.311801 -v 0.490393 0.500000 -0.048772 -v 0.490393 2.500000 -0.048772 -v -0.490393 2.500000 0.048773 -v 0.490393 2.500000 0.048773 -v -0.367795 4.250000 -0.036579 -v -0.036580 4.000000 -0.717794 -v 0.036579 4.000000 -0.717794 -v 0.036579 3.750000 -0.367794 -v -0.036580 3.750000 -0.367794 -v 0.036579 4.250000 -0.367794 -v -0.367795 3.750000 0.036580 -v -0.367795 4.250000 0.036580 -v -0.036580 4.250000 -0.367794 -v -0.036580 4.000000 0.717795 -v 0.036579 4.000000 0.717795 -v 0.036579 3.750000 0.717795 -v -0.036580 3.750000 0.717795 -v 0.036579 4.250000 0.367795 -v 0.036579 3.750000 0.367795 -v -0.036580 4.250000 0.367795 -v -0.036580 3.750000 0.367795 -v -0.717795 3.750000 -0.036579 -v -0.717795 3.750000 0.036580 -v -0.717795 4.000000 0.036580 -v -0.717795 4.000000 -0.036579 -v 0.367794 4.250000 -0.036579 -v 0.367794 4.250000 0.036580 -v 0.367794 3.750000 -0.036579 -v 0.367794 3.750000 0.036580 -v 0.717794 4.000000 0.036580 -v 0.717794 4.000000 -0.036579 -v 0.717794 3.750000 -0.036579 -v 0.717794 3.750000 0.036580 -v -0.490393 0.500000 0.048773 -v -0.490393 2.500000 -0.048772 -v -0.490393 0.500000 -0.048772 -v 0.490393 0.500000 0.048773 -v 0.990393 0.500000 -0.048772 -v 0.990393 0.500000 0.048773 -v -0.990393 0.500000 0.048773 -v -0.990393 0.500000 -0.048772 -v -0.048772 0.500000 -0.490393 -v -0.048772 2.500000 -0.490393 -v 0.048772 2.500000 0.490393 -v 0.048773 2.500000 -0.490393 -v 0.048772 0.500000 0.490393 -v -0.048773 2.500000 0.490393 -v -0.048773 0.500000 0.490393 -v 0.048773 0.500000 -0.490393 -v -0.048772 0.500000 -0.990393 -v 0.048773 0.500000 -0.990393 -v 0.048772 0.500000 0.990393 -v -0.048773 0.500000 0.990393 -vt 0.675359 0.367717 -vt 0.649979 0.367716 -vt 0.649980 0.107528 -vt 0.624599 0.367716 -vt 0.624599 0.107528 -vt 0.599219 0.367716 -vt 0.599219 0.107528 -vt 0.979922 0.367717 -vt 0.954542 0.367717 -vt 0.954542 0.107528 -vt 0.929161 0.367717 -vt 0.929162 0.107528 -vt 0.903781 0.367717 -vt 0.903782 0.107528 -vt 0.878401 0.367717 -vt 0.853021 0.367717 -vt 0.853021 0.107528 -vt 0.827641 0.367717 -vt 0.827641 0.107528 -vt 0.802261 0.367717 -vt 0.802261 0.107528 -vt 0.776880 0.367717 -vt 0.751500 0.367717 -vt 0.751500 0.107528 -vt 0.596047 0.498786 -vt 0.577011 0.498786 -vt 0.726120 0.107528 -vt 0.726120 0.367717 -vt 0.700740 0.367717 -vt 0.878401 0.107528 -vt 0.880305 0.041781 -vt 0.901878 0.041781 -vt 0.157460 0.217655 -vt 0.165715 0.237586 -vt 0.142205 0.202401 -vt 0.804164 0.041781 -vt 0.825737 0.041781 -vt 0.601122 0.041780 -vt 0.622696 0.041780 -vt 0.728024 0.041781 -vt 0.931065 0.041781 -vt 0.952639 0.041781 -vt 0.854925 0.041781 -vt 0.876498 0.041781 -vt 0.651883 0.041780 -vt 0.673456 0.041780 -vt 0.776881 0.107528 -vt 0.778784 0.041781 -vt 0.800357 0.041781 -vt 0.573839 0.107528 -vt 0.575742 0.041781 -vt 0.597315 0.041781 -vt 0.700740 0.107528 -vt 0.702643 0.041781 -vt 0.724217 0.041781 -vt 0.675360 0.107528 -vt 0.677263 0.041781 -vt 0.698836 0.041781 -vt 0.905685 0.041781 -vt 0.927258 0.041781 -vt 0.829544 0.041781 -vt 0.851118 0.041781 -vt 0.626503 0.041780 -vt 0.648076 0.041781 -vt 0.753404 0.041781 -vt 0.956446 0.041781 -vt 0.978019 0.041781 -vt 0.722948 0.498786 -vt 0.703912 0.498786 -vt 0.697567 0.498786 -vt 0.678532 0.498786 -vt 0.925989 0.498785 -vt 0.849848 0.498785 -vt 0.830813 0.498785 -vt 0.646807 0.498785 -vt 0.627772 0.498785 -vt 0.773708 0.498785 -vt 0.754673 0.498785 -vt 0.976749 0.498785 -vt 0.900609 0.498786 -vt 0.881573 0.498786 -vt 0.824468 0.498785 -vt 0.621427 0.498785 -vt 0.748328 0.498785 -vt 0.729293 0.498785 -vt 0.951369 0.498785 -vt 0.932334 0.498785 -vt 0.875228 0.498785 -vt 0.856193 0.498785 -vt 0.672187 0.498785 -vt 0.799088 0.498786 -vt 0.426882 0.171875 -vt 0.445917 0.171875 -vt 0.436400 0.310489 -vt 0.417365 0.310489 -vt 0.407847 0.171875 -vt 0.398330 0.310490 -vt 0.388812 0.171875 -vt 0.379295 0.310489 -vt 0.369777 0.171875 -vt 0.360259 0.310490 -vt 0.350742 0.171875 -vt 0.341224 0.310490 -vt 0.331707 0.171875 -vt 0.322189 0.310489 -vt 0.312672 0.171875 -vt 0.464953 0.171875 -vt 0.455436 0.310489 -vt 0.303154 0.310490 -vt 0.293637 0.171875 -vt 0.284119 0.310490 -vt 0.274602 0.171875 -vt 0.265085 0.310490 -vt 0.255566 0.171875 -vt 0.246049 0.310490 -vt 0.236531 0.171875 -vt 0.227014 0.310489 -vt 0.217496 0.171875 -vt 0.522058 0.171875 -vt 0.512541 0.310489 -vt 0.503023 0.171875 -vt 0.493505 0.310489 -vt 0.483988 0.171875 -vt 0.474470 0.310490 -vt 0.192477 0.443094 -vt 0.255582 0.427318 -vt 0.255582 0.695515 -vt 0.916817 0.883810 -vt 0.904127 0.883810 -vt 0.916817 0.615614 -vt 0.979922 0.631390 -vt 0.841022 0.631390 -vt 0.904127 0.615614 -vt 0.916817 0.550567 -vt 0.904127 0.550567 -vt 0.268272 0.362271 -vt 0.268272 0.427318 -vt 0.255582 0.362271 -vt 0.426882 0.041780 -vt 0.331707 0.041780 -vt 0.274601 0.041781 -vt 0.464953 0.041780 -vt 0.522058 0.792829 -vt 0.522058 0.857876 -vt 0.476525 0.792829 -vt 0.503023 0.041780 -vt 0.106568 0.658093 -vt 0.106568 0.625569 -vt 0.152101 0.690617 -vt 0.097051 0.658093 -vt 0.051518 0.690617 -vt 0.097051 0.625569 -vt 0.106568 0.580036 -vt 0.097051 0.580036 -vt 0.445918 0.041780 -vt 0.217496 0.041781 -vt 0.236531 0.041781 -vt 0.522058 0.041780 -vt 0.097051 0.714049 -vt 0.106568 0.714049 -vt 0.312672 0.041780 -vt 0.152101 0.625569 -vt 0.051518 0.625569 -vt 0.979922 0.107529 -vt 0.573839 0.367716 -vt 0.142205 0.294345 -vt 0.122274 0.302600 -vt 0.157460 0.279090 -vt 0.165715 0.259159 -vt 0.065515 0.279090 -vt 0.080770 0.294345 -vt 0.057260 0.259159 -vt 0.057260 0.237586 -vt 0.065515 0.217655 -vt 0.080770 0.202400 -vt 0.100701 0.194145 -vt 0.122274 0.194145 -vt 0.100701 0.302600 -vt 0.749597 0.041781 -vt 0.774977 0.041781 -vt 0.467007 0.825352 -vt 0.421474 0.857876 -vt 0.467007 0.792829 -vt 0.906954 0.498785 -vt 0.957714 0.498785 -vt 0.805433 0.498785 -vt 0.602391 0.498785 -vt 0.653152 0.498785 -vt 0.780053 0.498786 -vt 0.331377 0.443094 -vt 0.268272 0.695515 -vt 0.407847 0.041780 -vt 0.467007 0.881308 -vt 0.476525 0.825352 -vt 0.350742 0.041780 -vt 0.476525 0.747295 -vt 0.467007 0.747295 -vt 0.255566 0.041781 -vt 0.476525 0.881308 -vt 0.421474 0.792829 -vt 0.483988 0.041780 -vt 0.324160 0.792829 -vt 0.324160 0.825352 -vt 0.314643 0.825352 -vt 0.314643 0.792829 -vt 0.314643 0.747295 -vt 0.269110 0.857876 -vt 0.269110 0.792829 -vt 0.293636 0.041781 -vt 0.369693 0.857876 -vt 0.388812 0.041780 -vt 0.369777 0.041780 -vt 0.324160 0.881308 -vt 0.314643 0.881308 -vt 0.324160 0.747295 -vt 0.369693 0.792829 -vt 0.162278 0.825352 -vt 0.171796 0.825352 -vt 0.171796 0.881308 -vt 0.171796 0.792829 -vt 0.162278 0.792829 -vt 0.162278 0.747295 -vt 0.116745 0.857876 -vt 0.116745 0.792829 -vt 0.217329 0.792829 -vt 0.217329 0.857876 -vt 0.162278 0.881308 -vt 0.171796 0.747295 -vt 0.383158 0.443094 -vt 0.446263 0.427318 -vt 0.446263 0.695515 -vt 0.726137 0.883810 -vt 0.713447 0.883810 -vt 0.726136 0.615614 -vt 0.789241 0.631390 -vt 0.458953 0.695515 -vt 0.650341 0.631390 -vt 0.713446 0.615614 -vt 0.726136 0.550567 -vt 0.713446 0.550567 -vt 0.458953 0.362271 -vt 0.458953 0.427318 -vt 0.446263 0.362271 -vt 0.522058 0.443094 -vn 0.382700 0.000000 -0.923900 -vn 0.707100 0.000000 -0.707100 -vn 0.923900 -0.000000 -0.382700 -vn 0.923900 -0.000000 0.382700 -vn 0.707100 -0.000000 0.707100 -vn 0.382700 -0.000000 0.923900 -vn -0.382700 -0.000000 0.923900 -vn -0.707100 -0.000000 0.707100 -vn -0.923900 -0.000000 0.382700 -vn -0.923900 0.000000 -0.382700 -vn 0.992600 0.121700 0.000000 -vn -0.382700 0.000000 -0.923900 -vn -0.707100 0.000000 -0.707100 -vn 0.000000 -0.145600 0.989400 -vn -0.000000 -1.000000 -0.000000 -vn -0.914000 -0.145600 0.378600 -vn 0.914000 -0.145600 -0.378600 -vn -0.699600 -0.145600 -0.699600 -vn 0.699600 -0.145600 0.699600 -vn -0.378600 -0.145600 0.914000 -vn 0.378600 -0.145600 -0.914000 -vn -0.989400 -0.145600 0.000000 -vn 0.997400 -0.072300 0.000000 -vn 0.989400 -0.145600 0.000000 -vn -0.378600 -0.145600 -0.914000 -vn 0.000000 -0.145600 -0.989400 -vn 0.378600 -0.145600 0.914000 -vn -0.699600 -0.145600 0.699600 -vn 0.699600 -0.145600 -0.699600 -vn -0.914000 -0.145600 -0.378600 -vn 0.914000 -0.145600 0.378600 -vn -0.379800 0.121700 -0.917000 -vn 0.000000 0.121700 -0.992600 -vn 0.379800 0.121700 0.917000 -vn -0.701900 0.121700 0.701900 -vn 0.701900 0.121700 -0.701900 -vn -0.917000 0.121700 -0.379800 -vn 0.917000 0.121700 0.379800 -vn 0.000000 0.121700 0.992600 -vn -0.917000 0.121700 0.379800 -vn 0.917000 0.121700 -0.379800 -vn -0.701900 0.121700 -0.701900 -vn 0.701900 0.121700 0.701900 -vn -0.379800 0.121700 0.917000 -vn 0.379800 0.121700 -0.917000 -vn -0.992600 0.121700 0.000000 -vn -0.359200 0.345200 0.867100 -vn -0.663600 0.345200 0.663600 -vn -0.867100 0.345200 0.359200 -vn -0.938500 0.345200 0.000000 -vn -0.867100 0.345200 -0.359200 -vn -0.663600 0.345200 -0.663600 -vn -0.359200 0.345200 -0.867100 -vn 0.000000 0.345200 0.938500 -vn 0.000000 0.345200 -0.938500 -vn 0.359200 0.345200 -0.867100 -vn 0.663600 0.345200 -0.663600 -vn 0.867100 0.345200 -0.359200 -vn 0.938500 0.345200 0.000000 -vn 0.867100 0.345200 0.359200 -vn 0.663600 0.345200 0.663600 -vn 0.359200 0.345200 0.867100 -vn 0.000000 -0.000000 1.000000 -vn -0.970100 0.242500 0.000000 -vn 0.000000 0.000000 -1.000000 -vn -1.000000 -0.000000 0.000000 -vn 0.195100 -0.000000 0.980800 -vn 1.000000 0.000000 0.000000 -vn -0.195100 -0.000000 0.980800 -vn 0.980800 -0.000000 0.195100 -vn 0.980800 0.000000 -0.195100 -vn 0.000000 0.813700 -0.581200 -vn -0.195100 0.000000 -0.980800 -vn 0.195100 0.000000 -0.980800 -vn 0.970100 0.242500 0.000000 -vn -0.581200 0.813700 0.000000 -vn -0.980800 0.000000 0.195100 -vn -0.980800 0.000000 -0.195100 -vn 0.000000 0.813700 0.581200 -vn 0.581200 0.813700 0.000000 -vn 0.000000 0.242500 0.970100 -vn -0.000000 0.242500 -0.970100 -s 1 -f 1/1/1 2/2/1 3/3/1 -f 2/2/2 4/4/2 5/5/2 -f 4/4/3 6/6/3 7/7/3 -f 8/8/4 9/9/4 10/10/4 -f 9/9/5 11/11/5 12/12/5 -f 11/11/6 13/13/6 14/14/6 -f 15/15/7 16/16/7 17/17/7 -f 16/16/8 18/18/8 19/19/8 -f 18/18/9 20/20/9 21/21/9 -f 22/22/10 23/23/10 24/24/10 -f 6/6/11 25/25/11 26/26/11 -f 27/27/12 28/28/12 29/29/12 -f 23/23/13 28/28/13 27/27/13 -f 30/30/14 31/31/14 32/32/14 -f 33/33/15 34/34/15 35/35/15 -f 21/21/16 36/36/16 37/37/16 -f 7/7/17 38/38/17 39/39/17 -f 24/24/18 27/27/18 33/40/18 -f 12/12/19 40/41/19 41/42/19 -f 17/17/20 42/43/20 31/44/20 -f 3/3/21 43/45/21 44/46/21 -f 45/47/22 46/48/22 36/49/22 -f 47/50/23 48/51/24 38/52/24 -f 49/53/25 34/54/25 33/55/25 -f 50/56/26 44/57/26 34/58/26 -f 14/14/27 32/59/27 40/60/27 -f 19/19/28 37/61/28 42/62/28 -f 5/5/29 39/63/29 43/64/29 -f 45/47/30 24/24/30 35/65/30 -f 10/10/31 41/66/31 48/67/31 -f 28/28/32 54/68/32 55/69/32 -f 29/29/33 55/70/33 56/71/33 -f 13/13/34 11/11/34 57/72/34 -f 16/16/35 58/73/35 59/74/35 -f 2/2/36 60/75/36 61/76/36 -f 22/22/37 62/77/37 63/78/37 -f 9/9/38 8/8/38 26/79/38 -f 13/13/39 64/80/39 65/81/39 -f 20/20/40 18/18/40 59/82/40 -f 6/6/41 4/4/41 61/83/41 -f 23/23/42 63/84/42 54/85/42 -f 9/9/43 66/86/43 57/87/43 -f 15/15/44 65/88/44 58/89/44 -f 2/2/45 1/1/45 56/90/45 -f 22/22/46 20/20/46 67/91/46 -f 68/92/47 69/93/47 70/94/47 -f 68/92/48 70/95/48 78/96/48 -f 78/96/49 70/97/49 71/98/49 -f 71/98/50 70/99/50 72/100/50 -f 72/100/51 70/101/51 79/102/51 -f 79/102/52 70/103/52 80/104/52 -f 80/104/53 70/105/53 52/106/53 -f 74/107/54 70/108/54 69/93/54 -f 52/106/55 70/109/55 53/110/55 -f 53/110/56 70/111/56 81/112/56 -f 81/112/57 70/113/57 82/114/57 -f 82/114/58 70/115/58 76/116/58 -f 76/116/59 70/117/59 77/118/59 -f 77/119/60 70/120/60 83/121/60 -f 83/121/61 70/122/61 84/123/61 -f 84/123/62 70/124/62 74/107/62 -f 121/125/63 123/126/63 88/127/63 -f 87/128/64 119/129/64 124/130/64 -f 118/131/63 87/128/63 124/130/63 -f 120/132/65 125/133/65 119/129/65 -f 118/134/15 124/130/15 120/135/15 -f 85/136/15 122/137/15 121/138/15 -f 21/21/66 20/20/66 22/22/66 -f 50/56/65 49/53/65 29/29/65 -f 124/130/15 125/133/15 120/135/15 -f 58/139/8 68/92/8 78/96/8 -f 79/102/13 80/104/13 54/140/13 -f 60/141/2 81/112/2 82/114/2 -f 84/123/6 74/107/67 64/142/67 -f 95/143/63 96/144/63 107/145/63 -f 66/146/5 83/121/5 84/123/5 -f 90/147/66 73/148/66 97/149/66 -f 91/150/68 94/151/68 51/152/68 -f 93/153/15 73/148/15 92/154/15 -f 68/92/7 58/139/7 65/155/69 -f 51/152/65 73/148/65 91/150/65 -f 26/156/70 25/157/71 76/116/71 -f 66/146/4 26/158/70 77/119/70 -f 82/114/3 76/116/71 25/157/71 -f 94/159/72 91/150/72 97/160/72 -f 55/161/73 52/106/73 53/110/74 -f 73/148/66 93/162/66 97/149/66 -f 94/151/68 92/163/68 51/152/68 -f 73/148/15 51/152/15 92/154/15 -f 73/148/65 90/147/65 91/150/65 -f 91/150/72 90/147/72 97/160/72 -f 50/56/1 1/1/1 3/3/1 -f 3/3/2 2/2/2 5/5/2 -f 5/5/3 4/4/3 7/7/3 -f 47/164/4 8/8/4 10/10/4 -f 10/10/5 9/9/5 12/12/5 -f 12/12/6 11/11/6 14/14/6 -f 30/30/7 15/15/7 17/17/7 -f 17/17/8 16/16/8 19/19/8 -f 19/19/9 18/18/9 21/21/9 -f 45/47/10 22/22/10 24/24/10 -f 8/165/11 6/6/11 26/26/11 -f 49/53/12 27/27/12 29/29/12 -f 24/24/13 23/23/13 27/27/13 -f 14/14/14 30/30/14 32/32/14 -f 5/5/17 7/7/17 39/39/17 -f 39/166/15 38/167/15 43/168/15 -f 38/167/15 35/35/15 44/169/15 -f 40/170/15 38/167/15 41/171/15 -f 40/170/15 32/172/15 31/173/15 -f 31/173/15 42/174/15 37/175/15 -f 37/175/15 36/176/15 46/177/15 -f 19/19/16 21/21/16 37/37/16 -f 38/167/15 44/169/15 43/168/15 -f 38/167/15 37/175/15 46/177/15 -f 40/170/15 31/173/15 37/175/15 -f 38/167/15 40/170/15 37/175/15 -f 35/35/15 34/34/15 44/169/15 -f 38/167/15 48/178/15 41/171/15 -f 35/35/15 38/167/15 46/177/15 -f 35/179/18 24/24/18 33/40/18 -f 10/10/19 12/12/19 41/42/19 -f 30/30/20 17/17/20 31/44/20 -f 50/56/21 3/3/21 44/46/21 -f 21/21/22 45/47/22 36/49/22 -f 47/50/23 38/52/24 7/7/23 -f 27/27/25 49/53/25 33/55/25 -f 49/53/26 50/56/26 34/58/26 -f 12/12/27 14/14/27 40/60/27 -f 17/17/28 19/19/28 42/62/28 -f 3/3/29 5/5/29 43/64/29 -f 46/180/30 45/47/30 35/65/30 -f 47/164/31 10/10/31 48/67/31 -f 109/181/65 89/182/65 106/183/65 -f 29/29/32 28/28/32 55/69/32 -f 1/1/33 29/29/33 56/71/33 -f 64/184/34 13/13/34 57/72/34 -f 18/18/35 16/16/35 59/74/35 -f 4/4/36 2/2/36 61/76/36 -f 23/23/37 22/22/37 63/78/37 -f 66/185/38 9/9/38 26/79/38 -f 15/15/39 13/13/39 65/81/39 -f 67/186/40 20/20/40 59/82/40 -f 25/187/41 6/6/41 61/83/41 -f 28/28/42 23/23/42 54/85/42 -f 11/11/43 9/9/43 57/87/43 -f 16/16/44 15/15/44 58/89/44 -f 60/188/45 2/2/45 56/90/45 -f 62/189/46 22/22/46 67/91/46 -f 85/190/65 86/191/65 122/137/65 -f 7/7/23 6/6/68 8/165/68 -f 119/129/64 125/133/64 124/130/64 -f 123/126/75 122/137/75 86/191/75 -f 14/14/63 13/13/63 15/15/63 -f 122/137/15 123/126/15 121/138/15 -f 59/192/8 58/139/8 78/96/8 -f 89/193/76 109/181/76 108/194/76 -f 63/195/13 79/102/13 54/140/13 -f 95/196/15 107/145/15 75/197/15 -f 61/198/2 60/141/2 82/114/2 -f 106/183/66 107/145/66 109/181/66 -f 96/199/76 89/193/76 108/194/76 -f 96/144/63 108/194/63 107/145/63 -f 89/182/65 75/200/65 106/183/65 -f 107/145/15 106/183/15 75/197/15 -f 107/145/66 108/194/66 109/181/66 -f 57/201/5 66/146/5 84/123/5 -f 100/202/63 99/203/63 98/204/63 -f 100/202/15 101/205/15 105/206/15 -f 104/207/66 105/208/66 101/205/66 -f 81/112/1 60/141/1 56/209/74 -f 102/210/68 99/203/68 100/202/68 -f 55/161/73 54/140/12 80/104/12 -f 67/211/77 71/98/77 72/100/78 -f 62/212/78 72/100/78 79/102/10 -f 102/213/79 104/214/79 99/203/79 -f 78/96/9 71/98/77 67/211/77 -f 101/205/63 100/202/63 98/204/63 -f 103/215/15 100/202/15 105/206/15 -f 104/214/79 98/204/79 99/203/79 -f 98/204/66 104/207/66 101/205/66 -f 103/216/68 102/210/68 100/202/68 -f 114/217/80 115/218/80 110/219/80 -f 116/220/68 115/218/68 114/217/68 -f 116/220/15 117/221/15 113/222/15 -f 111/223/63 113/224/63 117/221/63 -f 116/220/65 112/225/65 110/226/65 -f 111/227/80 114/217/80 110/219/80 -f 117/221/68 116/220/68 114/217/68 -f 112/228/15 116/220/15 113/222/15 -f 114/217/63 111/223/63 117/221/63 -f 115/218/65 116/220/65 110/226/65 -f 74/107/67 69/93/69 65/155/69 -f 133/229/68 135/230/68 129/231/68 -f 128/232/81 131/233/81 136/234/81 -f 130/235/68 128/232/68 136/234/68 -f 129/231/82 135/230/82 127/236/82 -f 132/237/66 137/238/66 131/233/66 -f 130/239/15 136/234/15 132/240/15 -f 126/241/15 134/242/15 133/243/15 -f 136/234/15 137/238/15 132/240/15 -f 126/244/66 127/236/66 134/242/66 -f 131/233/81 137/238/81 136/234/81 -f 135/230/82 134/242/82 127/236/82 -f 134/242/15 135/230/15 133/243/15 -f 86/191/75 88/127/75 123/126/75 -f 45/47/66 21/21/66 22/22/66 -f 1/1/65 50/56/65 29/29/65 -f 57/201/6 84/123/6 64/142/67 -f 69/93/69 68/92/7 65/155/69 -f 77/118/70 26/156/70 76/116/71 -f 83/121/4 66/146/4 77/119/70 -f 61/198/3 82/114/3 25/157/71 -f 56/209/74 55/161/73 53/110/74 -f 47/50/23 7/7/23 8/165/68 -f 30/30/63 14/14/63 15/15/63 -f 53/110/74 81/112/1 56/209/74 -f 52/106/73 55/161/73 80/104/12 -f 62/212/78 67/211/77 72/100/78 -f 63/195/10 62/212/78 79/102/10 -f 59/192/9 78/96/9 67/211/77 -f 64/142/67 74/107/67 65/155/69 diff --git a/src/main/resources/assets/hbm/models/missileHuge.obj b/src/main/resources/assets/hbm/models/missileHuge.obj deleted file mode 100644 index 0835cc5e0..000000000 --- a/src/main/resources/assets/hbm/models/missileHuge.obj +++ /dev/null @@ -1,657 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'MissileHuge.blend' -# www.blender.org -o Cylinder -v 0.264256 0.500000 -0.178243 -v 0.352341 0.000000 -0.237657 -v 0.234573 0.000000 -0.354401 -v -0.264256 0.500000 0.178243 -v -0.352341 -0.000000 0.237657 -v -0.234573 -0.000000 0.354402 -v 0.312351 0.500000 -0.063548 -v 0.416468 0.000000 -0.084731 -v -0.312351 0.500000 0.063548 -v -0.416468 -0.000000 0.084731 -v 0.312894 0.500000 0.060821 -v 0.417192 -0.000000 0.081094 -v -0.312894 0.500000 -0.060820 -v -0.417192 0.000000 -0.081094 -v 0.265801 0.500000 0.175930 -v 0.354401 -0.000000 0.234573 -v -0.265801 0.500000 -0.175930 -v -0.354401 0.000000 -0.234573 -v 0.178243 0.500000 0.264256 -v 0.237657 -0.000000 0.352341 -v -0.178243 0.500000 -0.264256 -v -0.237657 0.000000 -0.352341 -v 0.063548 0.500000 0.312351 -v 0.084731 -0.000000 0.416468 -v 0.060820 0.500000 -0.312894 -v 0.081094 0.000000 -0.417192 -v -0.084731 0.000000 -0.416468 -v -0.063548 0.500000 -0.312351 -v -0.060820 0.500000 0.312894 -v -0.081094 -0.000000 0.417192 -v 0.279597 0.500000 0.414519 -v 0.099684 0.500000 0.489962 -v 0.095404 0.500000 -0.490814 -v -0.175930 0.500000 0.265802 -v -0.490814 0.500000 -0.095405 -v -0.490814 2.500000 -0.095405 -v -0.416943 2.500000 -0.275969 -v -0.279596 0.500000 -0.414519 -v -0.416943 0.500000 -0.275969 -v 0.416943 0.500000 0.275968 -v -0.489962 0.500000 0.099684 -v 0.490814 0.500000 0.095405 -v 0.414519 0.500000 -0.279596 -v 0.489962 0.500000 -0.099684 -v -0.414519 0.500000 0.279597 -v 0.275968 0.500000 -0.416943 -v -0.095404 0.500000 0.490814 -v -0.275968 0.500000 0.416943 -v 0.175930 0.500000 -0.265801 -v -0.099684 0.500000 -0.489962 -v 0.414519 2.500000 -0.279596 -v 0.310889 4.000000 -0.209697 -v 0.367472 4.000000 -0.074763 -v 0.416943 2.500000 0.275968 -v 0.279596 2.500000 0.414519 -v -0.279596 2.500000 -0.414519 -v 0.099684 2.500000 0.489962 -v -0.099684 2.500000 -0.489962 -v 0.095404 2.500000 -0.490814 -v -0.095404 2.500000 0.490814 -v 0.275968 2.500000 -0.416943 -v -0.275968 2.500000 0.416943 -v -0.414519 2.500000 0.279597 -v 0.489962 2.500000 -0.099684 -v -0.489962 2.500000 0.099684 -v 0.490814 2.500000 0.095405 -v 0.074763 5.500000 0.367472 -v 0.056072 6.000000 0.275604 -v -0.053665 6.000000 0.276083 -v -0.310889 4.000000 0.209697 -v 0.368110 4.000000 0.071553 -v -0.367472 4.000000 0.074763 -v -0.368110 4.000000 -0.071553 -v 0.312707 4.000000 0.206976 -v 0.209697 4.000000 0.310889 -v -0.312707 4.000000 -0.206976 -v -0.209697 4.000000 -0.310889 -v 0.074763 4.000000 0.367472 -v -0.074763 4.000000 -0.367472 -v -0.071553 4.000000 0.368110 -v 0.071553 4.000000 -0.368110 -v -0.206976 4.000000 0.312707 -v 0.206976 4.000000 -0.312707 -v 0.233166 6.000000 -0.157273 -v 0.155232 6.000000 -0.234530 -v 0.000000 6.500000 0.000000 -v 0.206976 5.500000 -0.312707 -v 0.071553 5.500000 -0.368110 -v 0.053665 6.000000 -0.276083 -v -0.206977 5.500000 0.312707 -v -0.071554 5.500000 0.368110 -v -0.155233 6.000000 0.234530 -v -0.233167 6.000000 0.157273 -v 0.310889 5.500000 -0.209697 -v 0.275603 6.000000 -0.056072 -v -0.367472 5.500000 0.074763 -v -0.310889 5.500000 0.209697 -v 0.367471 5.500000 -0.074763 -v 0.276082 6.000000 0.053665 -v -0.368110 5.500000 -0.071553 -v -0.275604 6.000000 0.056072 -v 0.368110 5.500000 0.071553 -v 0.234530 6.000000 0.155232 -v -0.276083 6.000000 -0.053665 -v -0.234531 6.000000 -0.155232 -v 0.312707 5.500000 0.206976 -v 0.157273 6.000000 0.233167 -v -0.312707 5.500000 -0.206976 -v -0.157273 6.000000 -0.233167 -v 0.209697 5.500000 0.310889 -v -0.074763 5.500000 -0.367472 -v -0.056073 6.000000 -0.275604 -v -0.209697 5.500000 -0.310889 -vt 0.149260 0.839187 -vt 0.109237 0.763560 -vt 0.134278 0.751582 -vt 0.310796 0.812746 -vt 0.324618 0.728305 -vt 0.351807 0.733896 -vt 0.131270 0.849663 -vt 0.085250 0.777529 -vt 0.290131 0.810219 -vt 0.297065 0.724936 -vt 0.114187 0.861563 -vt 0.062473 0.793394 -vt 0.269330 0.809375 -vt 0.269330 0.723810 -vt 0.407390 0.849663 -vt 0.453410 0.777529 -vt 0.476186 0.793394 -vt 0.248528 0.810219 -vt 0.241595 0.724936 -vt 0.389399 0.839187 -vt 0.429422 0.763560 -vt 0.227864 0.812746 -vt 0.214042 0.728305 -vt 0.370619 0.830203 -vt 0.404382 0.751582 -vt 0.187487 0.822771 -vt 0.160206 0.741672 -vt 0.186853 0.733896 -vt 0.207472 0.816939 -vt 0.351172 0.822771 -vt 0.378453 0.741672 -vt 0.914489 0.049954 -vt 0.881833 0.049954 -vt 0.887752 0.020197 -vt 0.840254 0.735366 -vt 0.923908 0.679471 -vt 0.979803 0.763125 -vt 0.587926 0.049954 -vt 0.593845 0.020198 -vt 0.614663 0.020198 -vt 0.331187 0.816939 -vt 0.718551 0.049954 -vt 0.718551 0.384736 -vt 0.685895 0.384736 -vt 0.653238 0.049954 -vt 0.659157 0.020198 -vt 0.679976 0.020197 -vt 0.920408 0.020197 -vt 0.941227 0.020197 -vt 0.685895 0.049954 -vt 0.691814 0.020197 -vt 0.712632 0.020198 -vt 0.947146 0.049954 -vt 0.953064 0.020197 -vt 0.973883 0.020197 -vt 0.751207 0.049954 -vt 0.724470 0.020198 -vt 0.457300 0.049954 -vt 0.463219 0.020197 -vt 0.484038 0.020197 -vt 0.757126 0.020198 -vt 0.777945 0.020197 -vt 0.522613 0.049954 -vt 0.489957 0.049954 -vt 0.495875 0.020197 -vt 0.783864 0.049954 -vt 0.789783 0.020197 -vt 0.810601 0.020198 -vt 0.555269 0.049954 -vt 0.528532 0.020197 -vt 0.849177 0.049954 -vt 0.816520 0.049954 -vt 0.822439 0.020198 -vt 0.561188 0.020197 -vt 0.582007 0.020198 -vt 0.855095 0.020197 -vt 0.875914 0.020197 -vt 0.168041 0.830203 -vt 0.620582 0.049954 -vt 0.626501 0.020198 -vt 0.647319 0.020198 -vt 0.522612 0.384736 -vt 0.518530 0.636659 -vt 0.494038 0.636659 -vt 0.947147 0.384735 -vt 0.914490 0.384735 -vt 0.653238 0.384736 -vt 0.881834 0.384736 -vt 0.620582 0.384736 -vt 0.587925 0.384736 -vt 0.849177 0.384736 -vt 0.555269 0.384736 -vt 0.816521 0.384736 -vt 0.783864 0.384736 -vt 0.489956 0.384736 -vt 0.751208 0.384736 -vt 0.457300 0.384736 -vt 0.979802 0.049954 -vt 0.979803 0.384735 -vt 0.341013 0.271283 -vt 0.337952 0.356383 -vt 0.319582 0.356383 -vt 0.779783 0.636660 -vt 0.485874 0.636661 -vt 0.461382 0.636661 -vt 0.747126 0.636660 -vt 0.722634 0.636660 -vt 0.975722 0.636658 -vt 0.714469 0.636661 -vt 0.943066 0.636659 -vt 0.918573 0.636659 -vt 0.681813 0.636661 -vt 0.657320 0.636661 -vt 0.910409 0.636660 -vt 0.885917 0.636660 -vt 0.616500 0.636662 -vt 0.649156 0.636659 -vt 0.877753 0.636661 -vt 0.853261 0.636661 -vt 0.583843 0.636661 -vt 0.845096 0.636661 -vt 0.820604 0.636661 -vt 0.551187 0.636660 -vt 0.526694 0.636660 -vt 0.812439 0.636661 -vt 0.074658 0.356383 -vt 0.093028 0.356383 -vt 0.083843 0.451970 -vt 0.096089 0.271283 -vt 0.120582 0.271283 -vt 0.117520 0.356383 -vt 0.292028 0.271283 -vt 0.316521 0.271283 -vt 0.313459 0.356382 -vt 0.288967 0.356382 -vt 0.270598 0.356382 -vt 0.071597 0.271283 -vt 0.068535 0.356382 -vt 0.050166 0.356382 -vt 0.243044 0.271283 -vt 0.267536 0.271283 -vt 0.264475 0.356383 -vt 0.047105 0.271283 -vt 0.044043 0.356383 -vt 0.025674 0.356383 -vt 0.218551 0.271283 -vt 0.239982 0.356383 -vt 0.414490 0.271283 -vt 0.411429 0.356382 -vt 0.393060 0.356382 -vt 0.215490 0.356383 -vt 0.197121 0.356383 -vt 0.389998 0.271283 -vt 0.386937 0.356382 -vt 0.368567 0.356382 -vt 0.194059 0.271283 -vt 0.190997 0.356383 -vt 0.172628 0.356383 -vt 0.365505 0.271283 -vt 0.362444 0.356383 -vt 0.344075 0.356383 -vt 0.145074 0.271283 -vt 0.142013 0.356383 -vt 0.123643 0.356383 -vt 0.169567 0.271283 -vt 0.166505 0.356383 -vt 0.059350 0.451969 -vt 0.034858 0.451971 -vt 0.402245 0.451970 -vt 0.377753 0.451970 -vt 0.099151 0.356383 -vt 0.108335 0.451971 -vt 0.353260 0.451971 -vt 0.328767 0.451971 -vt 0.304275 0.451969 -vt 0.295090 0.356382 -vt 0.279783 0.451970 -vt 0.255291 0.451971 -vt 0.246106 0.356383 -vt 0.230798 0.451971 -vt 0.221613 0.356383 -vt 0.206306 0.451971 -vt 0.181813 0.451970 -vt 0.157321 0.451971 -vt 0.148136 0.356383 -vt 0.132828 0.451972 -vt 0.169567 0.020197 -vt 0.145075 0.020197 -vt 0.365505 0.020197 -vt 0.194059 0.020197 -vt 0.389997 0.020197 -vt 0.218551 0.020197 -vt 0.414489 0.020197 -vt 0.243043 0.020197 -vt 0.047106 0.020197 -vt 0.022612 0.271283 -vt 0.267536 0.020197 -vt 0.071598 0.020197 -vt 0.292028 0.020197 -vt 0.096090 0.020197 -vt 0.316520 0.020197 -vt 0.120582 0.020197 -vt 0.341012 0.020197 -vt 0.424472 0.861563 -vt 0.908570 0.020197 -vt 0.969181 0.788769 -vt 0.949553 0.808397 -vt 0.923908 0.819020 -vt 0.896150 0.819020 -vt 0.870505 0.808397 -vt 0.850877 0.788769 -vt 0.840254 0.763124 -vt 0.850877 0.709721 -vt 0.870505 0.690094 -vt 0.896150 0.679471 -vt 0.949553 0.690094 -vt 0.969180 0.709722 -vt 0.979803 0.735366 -vt 0.745288 0.020198 -vt 0.516694 0.020197 -vt 0.549350 0.020197 -vt 0.843257 0.020197 -vt 0.755291 0.636661 -vt 0.951230 0.636658 -vt 0.689977 0.636661 -vt 0.592008 0.636662 -vt 0.624664 0.636659 -vt 0.559351 0.636661 -vt 0.787947 0.636661 -vt 0.022613 0.020197 -vn 0.689200 0.204000 -0.695200 -vn -0.689200 0.204000 0.695200 -vn 0.902800 0.204000 -0.378600 -vn -0.902800 0.204000 0.378600 -vn 0.979000 0.204000 -0.004300 -vn -0.979000 0.204000 0.004300 -vn 0.906100 0.204000 0.370700 -vn -0.906100 0.204000 -0.370700 -vn 0.695200 0.204000 0.689200 -vn -0.695200 0.204000 -0.689200 -vn 0.378600 0.204000 0.902800 -vn -0.004300 0.204000 -0.979000 -vn -0.378600 0.204000 -0.902800 -vn 0.004300 0.204000 0.979000 -vn -0.000000 -1.000000 -0.000000 -vn -0.370700 0.204000 0.906100 -vn -0.925500 0.000000 -0.378700 -vn -0.925500 0.000000 -0.378600 -vn 0.370700 0.204000 -0.906100 -vn 0.919100 0.081500 -0.385400 -vn 0.710200 0.000000 0.704000 -vn -0.710200 0.000000 -0.704000 -vn 0.386700 -0.000000 0.922200 -vn -0.004400 0.000000 -1.000000 -vn -0.386700 0.000000 -0.922200 -vn 0.004400 -0.000000 1.000000 -vn 0.378600 0.000000 -0.925500 -vn -0.378700 -0.000000 0.925500 -vn 0.704000 0.000000 -0.710200 -vn -0.704000 -0.000000 0.710200 -vn 0.922200 0.000000 -0.386700 -vn -0.922200 -0.000000 0.386700 -vn 1.000000 0.000000 -0.004400 -vn -1.000000 0.000000 0.004400 -vn 0.925500 -0.000000 0.378700 -vn 0.004300 0.180900 0.983500 -vn -0.919100 0.081500 0.385400 -vn 0.996700 0.081500 -0.004400 -vn 0.996700 0.081500 -0.004300 -vn -0.996700 0.081500 0.004400 -vn -0.996700 0.081500 0.004300 -vn 0.922500 0.081500 0.377400 -vn -0.922500 0.081500 -0.377400 -vn 0.707800 0.081500 0.701700 -vn -0.707800 0.081500 -0.701700 -vn 0.385400 0.081500 0.919100 -vn -0.004400 0.081500 -0.996700 -vn -0.004300 0.081500 -0.996700 -vn -0.385400 0.081500 -0.919100 -vn 0.004400 0.081500 0.996700 -vn 0.004300 0.081500 0.996700 -vn 0.377400 0.081500 -0.922500 -vn -0.377400 0.081500 0.922500 -vn 0.701700 0.081500 -0.707800 -vn -0.701700 0.081500 0.707800 -vn 0.616400 0.483100 -0.621800 -vn 0.372400 0.180900 -0.910300 -vn -0.372400 0.180900 0.910300 -vn 0.692400 0.180900 -0.698500 -vn -0.692400 0.180900 0.698500 -vn 0.907000 0.180900 -0.380300 -vn -0.907000 0.180900 0.380300 -vn 0.983500 0.180900 -0.004300 -vn -0.983500 0.180900 0.004300 -vn 0.910300 0.180900 0.372400 -vn -0.910300 0.180900 -0.372400 -vn 0.698500 0.180900 0.692400 -vn -0.698500 0.180900 -0.692400 -vn 0.380300 0.180900 0.907000 -vn -0.004300 0.180900 -0.983500 -vn -0.380300 0.180900 -0.907000 -vn 0.807500 0.483100 -0.338600 -vn 0.875600 0.483100 -0.003800 -vn 0.810400 0.483100 0.331500 -vn 0.621800 0.483100 0.616400 -vn 0.331500 0.483100 -0.810400 -vn 0.338600 0.483100 0.807500 -vn 0.003800 0.483100 0.875600 -vn -0.331500 0.483100 0.810400 -vn -0.616400 0.483100 0.621800 -vn -0.807500 0.483100 0.338600 -vn -0.875600 0.483100 0.003800 -vn -0.810400 0.483100 -0.331500 -vn -0.621800 0.483100 -0.616400 -vn -0.338600 0.483100 -0.807500 -vn -0.003800 0.483100 -0.875600 -vn 0.925500 -0.000000 0.378600 -vn -0.378600 -0.000000 0.925500 -s 1 -f 1/1/1 2/2/1 3/3/1 -f 4/4/2 5/5/2 6/6/2 -f 7/7/3 8/8/3 2/2/3 -f 9/9/4 10/10/4 5/5/4 -f 11/11/5 12/12/5 8/8/5 -f 13/13/6 14/14/6 10/10/6 -f 15/15/7 16/16/7 12/17/7 -f 17/18/8 18/19/8 14/14/8 -f 19/20/9 20/21/9 16/16/9 -f 21/22/10 22/23/10 18/19/10 -f 23/24/11 24/25/11 20/21/11 -f 25/26/12 26/27/12 27/28/12 -f 28/29/13 27/28/13 22/23/13 -f 29/30/14 30/31/14 24/25/14 -f 31/32/15 32/33/15 23/34/15 -f 24/35/15 10/36/15 27/37/15 -f 33/38/15 25/39/15 28/40/15 -f 34/41/16 6/6/16 30/31/16 -f 35/42/17 36/43/18 37/44/18 -f 38/45/15 21/46/15 17/47/15 -f 31/32/15 19/48/15 15/49/15 -f 39/50/15 17/51/15 13/52/15 -f 40/53/15 15/54/15 11/55/15 -f 41/56/15 35/42/15 13/57/15 -f 42/58/15 11/59/15 7/60/15 -f 41/56/15 9/61/15 4/62/15 -f 43/63/15 44/64/15 7/65/15 -f 45/66/15 4/67/15 34/68/15 -f 46/69/15 43/63/15 1/70/15 -f 47/71/15 48/72/15 34/73/15 -f 46/69/15 49/74/15 25/75/15 -f 47/71/15 29/76/15 23/77/15 -f 49/78/19 3/3/19 26/27/19 -f 50/79/15 28/80/15 21/81/15 -f 51/82/20 52/83/20 53/84/20 -f 40/53/21 54/85/21 55/86/21 -f 39/50/22 37/44/22 56/87/22 -f 31/32/23 55/86/23 57/88/23 -f 50/79/24 58/89/24 59/90/24 -f 50/79/25 38/45/25 56/87/25 -f 32/33/26 57/88/26 60/91/26 -f 33/38/27 59/90/27 61/92/27 -f 47/71/28 60/91/28 62/93/28 -f 46/69/29 61/92/29 51/82/29 -f 48/72/30 62/93/30 63/94/30 -f 43/63/31 51/82/31 64/95/31 -f 45/66/32 63/94/32 65/96/32 -f 44/64/33 64/95/33 66/97/33 -f 41/56/34 65/96/34 36/43/34 -f 42/98/35 66/99/35 54/85/35 -f 67/100/36 68/101/36 69/102/36 -f 65/96/37 63/94/37 70/103/37 -f 64/95/38 53/104/39 71/105/39 -f 65/96/40 72/106/41 73/107/41 -f 54/85/42 66/99/42 71/108/42 -f 37/44/43 36/43/43 73/109/43 -f 54/85/44 74/110/44 75/111/44 -f 37/44/45 76/112/45 77/113/45 -f 55/86/46 75/114/46 78/115/46 -f 59/90/47 58/89/47 79/116/48 -f 58/89/49 56/87/49 77/117/49 -f 57/88/50 78/118/51 80/119/51 -f 61/92/52 59/90/52 81/120/52 -f 60/91/53 80/121/53 82/122/53 -f 61/92/54 83/123/54 52/124/54 -f 63/94/55 62/93/55 82/125/55 -f 84/126/56 85/127/56 86/128/56 -f 87/129/57 88/130/57 89/131/57 -f 90/132/58 91/133/58 69/134/58 -f 87/129/59 85/127/59 84/126/59 -f 90/132/60 92/135/60 93/136/60 -f 94/137/61 84/138/61 95/139/61 -f 96/140/62 97/141/62 93/142/62 -f 98/143/63 95/144/63 99/145/63 -f 100/146/64 96/140/64 101/147/64 -f 102/148/65 99/149/65 103/150/65 -f 100/146/66 104/151/66 105/152/66 -f 106/153/67 103/154/67 107/155/67 -f 108/156/68 105/157/68 109/158/68 -f 110/159/69 107/160/69 68/161/69 -f 111/162/70 112/163/70 89/164/70 -f 111/162/71 113/165/71 109/166/71 -f 84/138/72 86/167/72 95/139/72 -f 95/144/73 86/168/73 99/145/73 -f 99/149/74 86/169/74 103/150/74 -f 103/154/75 86/170/75 107/155/75 -f 85/171/76 89/131/76 86/172/76 -f 107/160/77 86/173/77 68/161/77 -f 68/101/78 86/174/78 69/102/78 -f 69/134/79 86/175/79 92/176/79 -f 92/135/80 86/177/80 93/136/80 -f 93/142/81 86/178/81 101/179/81 -f 101/147/82 86/180/82 104/181/82 -f 104/151/83 86/182/83 105/152/83 -f 105/157/84 86/183/84 109/158/84 -f 109/166/85 86/184/85 112/185/85 -f 112/163/86 86/186/86 89/164/86 -f 77/187/25 113/165/25 111/162/25 -f 79/188/24 111/162/24 88/130/24 -f 75/189/23 110/159/23 67/100/23 -f 76/190/22 108/156/22 113/165/22 -f 74/191/21 106/153/21 110/159/21 -f 73/192/18 100/146/18 108/156/18 -f 71/193/87 102/148/87 106/153/87 -f 72/194/34 96/140/34 100/146/34 -f 53/195/33 98/143/33 102/196/33 -f 70/197/32 97/141/32 96/140/32 -f 52/198/31 94/137/31 98/143/31 -f 82/199/30 90/132/30 97/141/30 -f 83/200/29 87/129/29 94/137/29 -f 80/201/88 91/133/88 90/132/88 -f 81/202/27 88/130/27 87/129/27 -f 80/201/26 78/203/26 67/100/26 -f 49/78/1 1/1/1 3/3/1 -f 34/41/2 4/4/2 6/6/2 -f 1/1/3 7/7/3 2/2/3 -f 4/4/4 9/9/4 5/5/4 -f 7/7/5 11/11/5 8/8/5 -f 9/9/6 13/13/6 10/10/6 -f 11/204/7 15/15/7 12/17/7 -f 13/13/8 17/18/8 14/14/8 -f 15/15/9 19/20/9 16/16/9 -f 17/18/10 21/22/10 18/19/10 -f 19/20/11 23/24/11 20/21/11 -f 28/29/12 25/26/12 27/28/12 -f 21/22/13 28/29/13 22/23/13 -f 23/24/14 29/30/14 24/25/14 -f 19/205/15 31/32/15 23/34/15 -f 27/37/15 26/206/15 3/207/15 -f 3/207/15 2/208/15 8/209/15 -f 8/209/15 12/210/15 16/211/15 -f 16/211/15 20/212/15 24/35/15 -f 24/35/15 30/213/15 10/36/15 -f 6/214/15 5/215/15 10/36/15 -f 10/36/15 14/216/15 18/217/15 -f 18/217/15 22/218/15 10/36/15 -f 27/37/15 3/207/15 8/209/15 -f 8/209/15 16/211/15 24/35/15 -f 30/213/15 6/214/15 10/36/15 -f 10/36/15 22/218/15 27/37/15 -f 27/37/15 8/209/15 24/35/15 -f 50/79/15 33/38/15 28/40/15 -f 29/30/16 34/41/16 30/31/16 -f 39/50/17 35/42/17 37/44/18 -f 39/50/15 38/45/15 17/47/15 -f 40/53/15 31/32/15 15/49/15 -f 35/42/15 39/50/15 13/52/15 -f 42/98/15 40/53/15 11/55/15 -f 9/219/15 41/56/15 13/57/15 -f 44/64/15 42/58/15 7/60/15 -f 45/66/15 41/56/15 4/62/15 -f 1/220/15 43/63/15 7/65/15 -f 48/72/15 45/66/15 34/68/15 -f 49/221/15 46/69/15 1/70/15 -f 29/222/15 47/71/15 34/73/15 -f 33/38/15 46/69/15 25/75/15 -f 32/33/15 47/71/15 23/77/15 -f 25/26/19 49/78/19 26/27/19 -f 38/45/15 50/79/15 21/81/15 -f 64/95/20 51/82/20 53/84/20 -f 31/32/21 40/53/21 55/86/21 -f 38/45/22 39/50/22 56/87/22 -f 32/33/23 31/32/23 57/88/23 -f 33/38/24 50/79/24 59/90/24 -f 58/89/25 50/79/25 56/87/25 -f 47/71/26 32/33/26 60/91/26 -f 46/69/27 33/38/27 61/92/27 -f 48/72/28 47/71/28 62/93/28 -f 43/63/29 46/69/29 51/82/29 -f 45/66/30 48/72/30 63/94/30 -f 44/64/31 43/63/31 64/95/31 -f 41/56/32 45/66/32 65/96/32 -f 42/58/33 44/64/33 66/97/33 -f 35/42/34 41/56/34 36/43/34 -f 40/53/35 42/98/35 54/85/35 -f 91/133/36 67/100/36 69/102/36 -f 72/223/37 65/96/37 70/103/37 -f 66/97/38 64/95/38 71/105/39 -f 36/43/40 65/96/40 73/107/41 -f 74/224/42 54/85/42 71/108/42 -f 76/225/43 37/44/43 73/109/43 -f 55/86/44 54/85/44 75/111/44 -f 56/87/45 37/44/45 77/113/45 -f 57/88/46 55/86/46 78/115/46 -f 81/226/48 59/90/47 79/116/48 -f 79/227/49 58/89/49 77/117/49 -f 60/91/50 57/88/50 80/119/51 -f 83/228/52 61/92/52 81/120/52 -f 62/93/53 60/91/53 82/122/53 -f 51/82/54 61/92/54 52/124/54 -f 70/229/55 63/94/55 82/125/55 -f 85/171/57 87/129/57 89/131/57 -f 92/176/58 90/132/58 69/134/58 -f 94/137/59 87/129/59 84/126/59 -f 97/141/60 90/132/60 93/136/60 -f 98/143/61 94/137/61 95/139/61 -f 101/179/62 96/140/62 93/142/62 -f 102/196/63 98/143/63 99/145/63 -f 104/181/64 100/146/64 101/147/64 -f 106/153/65 102/148/65 103/150/65 -f 108/156/66 100/146/66 105/152/66 -f 110/159/67 106/153/67 107/155/67 -f 113/165/68 108/156/68 109/158/68 -f 67/100/69 110/159/69 68/161/69 -f 88/130/70 111/162/70 89/164/70 -f 112/185/71 111/162/71 109/166/71 -f 79/188/25 77/187/25 111/162/25 -f 81/202/24 79/188/24 88/130/24 -f 78/203/23 75/189/23 67/100/23 -f 77/187/22 76/190/22 113/165/22 -f 75/189/21 74/191/21 110/159/21 -f 76/190/18 73/192/18 108/156/18 -f 74/191/87 71/193/87 106/153/87 -f 73/192/34 72/194/34 100/146/34 -f 71/230/33 53/195/33 102/196/33 -f 72/194/32 70/197/32 96/140/32 -f 53/195/31 52/198/31 98/143/31 -f 70/197/30 82/199/30 97/141/30 -f 52/198/29 83/200/29 94/137/29 -f 82/199/88 80/201/88 90/132/88 -f 83/200/27 81/202/27 87/129/27 -f 91/133/26 80/201/26 67/100/26 diff --git a/src/main/resources/assets/hbm/models/missileMIRV.obj b/src/main/resources/assets/hbm/models/missileMIRV.obj deleted file mode 100644 index f28ac0a44..000000000 --- a/src/main/resources/assets/hbm/models/missileMIRV.obj +++ /dev/null @@ -1,472 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'MissileMIRV.blend' -# www.blender.org -o Cylinder -v -0.097545 2.000000 -0.490393 -v 0.097545 2.000000 -0.490393 -v 0.097545 0.000000 -0.490393 -v 0.277785 2.000000 -0.415735 -v 0.277785 0.000000 -0.415735 -v 0.415735 2.000000 -0.277785 -v 0.415735 0.000000 -0.277785 -v 0.490393 2.000000 -0.097545 -v 0.490393 0.000000 -0.097545 -v 0.490393 2.000000 0.097545 -v 0.490393 -0.000000 0.097545 -v 0.415735 2.000000 0.277785 -v 0.415735 -0.000000 0.277785 -v 0.277785 2.000000 0.415735 -v 0.277785 -0.000000 0.415735 -v 0.097545 2.000000 0.490393 -v 0.097545 -0.000000 0.490393 -v -0.097545 2.000000 0.490393 -v -0.097545 -0.000000 0.490393 -v -0.277785 2.000000 0.415735 -v -0.277785 -0.000000 0.415735 -v -0.415735 2.000000 0.277785 -v -0.415735 -0.000000 0.277785 -v -0.490393 2.000000 0.097545 -v -0.490393 -0.000000 0.097545 -v -0.490393 2.000000 -0.097545 -v -0.490393 0.000000 -0.097545 -v -0.415735 2.000000 -0.277785 -v -0.415735 0.000000 -0.277785 -v 0.367795 3.500000 0.073159 -v 0.311801 3.500000 0.208339 -v -0.277785 2.000000 -0.415735 -v -0.097545 0.000000 -0.490393 -v -0.277785 0.000000 -0.415735 -v -0.367794 3.500000 -0.073159 -v -0.367795 5.000000 -0.073159 -v -0.311801 5.000000 -0.208339 -v -0.208339 3.500000 0.311801 -v -0.311801 3.500000 0.208339 -v -0.208339 3.500000 -0.311801 -v -0.073159 3.500000 -0.367794 -v 0.311801 3.500000 -0.208339 -v 0.073159 3.500000 0.367794 -v -0.311801 3.500000 -0.208339 -v 0.073159 3.500000 -0.367794 -v 0.208339 3.500000 -0.311801 -v 0.208339 3.500000 0.311801 -v -0.367794 3.500000 0.073159 -v 0.367795 3.500000 -0.073159 -v -0.073159 3.500000 0.367795 -v -0.311801 5.000000 0.208339 -v -0.228654 6.000000 0.152782 -v -0.269716 6.000000 0.053650 -v 0.311801 5.000000 0.208339 -v 0.208339 5.000000 0.311801 -v -0.208339 5.000000 -0.311801 -v 0.073159 5.000000 0.367794 -v -0.073159 5.000000 -0.367794 -v 0.073159 5.000000 -0.367794 -v -0.073159 5.000000 0.367795 -v 0.208339 5.000000 -0.311801 -v -0.208339 5.000000 0.311801 -v 0.311801 5.000000 -0.208339 -v 0.367794 5.000000 -0.073159 -v -0.367795 5.000000 0.073159 -v 0.367794 5.000000 0.073159 -v 0.228654 6.000000 -0.152782 -v 0.152782 6.000000 -0.228654 -v 0.000000 7.000000 0.000000 -v 0.269716 6.000000 -0.053650 -v -0.269716 6.000000 -0.053650 -v 0.269716 6.000000 0.053650 -v 0.228654 6.000000 0.152782 -v -0.228654 6.000000 -0.152782 -v 0.152782 6.000000 0.228654 -v -0.053650 6.000000 -0.269716 -v 0.053650 6.000000 -0.269716 -v -0.152782 6.000000 -0.228654 -v 0.053650 6.000000 0.269716 -v -0.053650 6.000000 0.269716 -v -0.152782 6.000000 0.228654 -vt 0.614465 0.355173 -vt 0.582182 0.355174 -vt 0.582181 0.024218 -vt 0.549899 0.355174 -vt 0.549898 0.024218 -vt 0.517616 0.355174 -vt 0.517615 0.024218 -vt 0.485333 0.355174 -vt 0.485331 0.024218 -vt 0.453049 0.355174 -vt 0.453048 0.024218 -vt 0.969580 0.355174 -vt 0.937297 0.355174 -vt 0.937298 0.024218 -vt 0.905014 0.355174 -vt 0.905015 0.024218 -vt 0.872730 0.355174 -vt 0.872732 0.024218 -vt 0.840447 0.355174 -vt 0.840448 0.024218 -vt 0.808164 0.355173 -vt 0.808165 0.024218 -vt 0.775881 0.355173 -vt 0.775881 0.024218 -vt 0.743598 0.355173 -vt 0.743598 0.024218 -vt 0.711315 0.355173 -vt 0.711315 0.024218 -vt 0.679032 0.355173 -vt 0.679031 0.024218 -vt 0.965543 0.604218 -vt 0.941331 0.604218 -vt 0.646748 0.355173 -vt 0.614465 0.024218 -vt 0.646748 0.024218 -vt 0.872257 0.814551 -vt 0.807283 0.717237 -vt 0.904596 0.652263 -vt 0.211315 0.024218 -vt 0.211315 0.272435 -vt 0.187102 0.272435 -vt 0.804128 0.604218 -vt 0.779916 0.604218 -vt 0.642713 0.604218 -vt 0.618501 0.604218 -vt 0.513581 0.604218 -vt 0.868694 0.604218 -vt 0.707279 0.604218 -vt 0.683067 0.604218 -vt 0.578147 0.604218 -vt 0.553935 0.604218 -vt 0.933260 0.604218 -vt 0.909048 0.604218 -vt 0.771845 0.604218 -vt 0.747633 0.604218 -vt 0.481298 0.604218 -vt 0.457086 0.604218 -vt 0.836411 0.604218 -vt 0.812199 0.604218 -vt 0.674996 0.604218 -vt 0.650784 0.604218 -vt 0.545864 0.604218 -vt 0.900977 0.604218 -vt 0.876765 0.604218 -vt 0.610430 0.604218 -vt 0.586218 0.604218 -vt 0.739562 0.604218 -vt 0.715350 0.604218 -vt 0.259740 0.272435 -vt 0.256511 0.438707 -vt 0.238756 0.438707 -vt 0.380801 0.024219 -vt 0.380801 0.272435 -vt 0.356589 0.272435 -vt 0.187103 0.024218 -vt 0.162890 0.272435 -vt 0.356589 0.024219 -vt 0.332377 0.272435 -vt 0.138679 0.024218 -vt 0.138678 0.272435 -vt 0.114465 0.272435 -vt 0.162891 0.024218 -vt 0.332377 0.024219 -vt 0.308164 0.272435 -vt 0.114466 0.024218 -vt 0.090253 0.272434 -vt 0.308165 0.024219 -vt 0.283952 0.272435 -vt 0.090254 0.024218 -vt 0.066041 0.272434 -vt 0.283952 0.024219 -vt 0.066042 0.024218 -vt 0.041828 0.272434 -vt 0.259740 0.024219 -vt 0.235527 0.272435 -vt 0.041829 0.024218 -vt 0.017616 0.272434 -vt 0.235528 0.024219 -vt 0.405014 0.024219 -vt 0.405014 0.272435 -vt 0.069268 0.438705 -vt 0.087024 0.438705 -vt 0.078146 0.610096 -vt 0.038599 0.438707 -vt 0.232299 0.438707 -vt 0.214543 0.438707 -vt 0.401786 0.438707 -vt 0.384030 0.438707 -vt 0.208086 0.438707 -vt 0.190330 0.438707 -vt 0.377573 0.438706 -vt 0.183874 0.438706 -vt 0.353361 0.438707 -vt 0.135449 0.438707 -vt 0.117693 0.438707 -vt 0.159662 0.438707 -vt 0.329149 0.438707 -vt 0.311393 0.438707 -vt 0.111237 0.438707 -vt 0.093481 0.438707 -vt 0.304936 0.438707 -vt 0.287180 0.438707 -vt 0.280723 0.438706 -vt 0.262968 0.438706 -vt 0.062812 0.438707 -vt 0.045056 0.438707 -vt 0.296057 0.610098 -vt 0.320271 0.610099 -vt 0.344483 0.610101 -vt 0.335605 0.438707 -vt 0.368695 0.610095 -vt 0.359817 0.438706 -vt 0.392908 0.610101 -vt 0.102358 0.610101 -vt 0.029721 0.610100 -vt 0.020843 0.438707 -vt 0.053934 0.610099 -vt 0.271846 0.610095 -vt 0.247634 0.610098 -vt 0.223421 0.610099 -vt 0.199207 0.610098 -vt 0.174995 0.610095 -vt 0.166118 0.438706 -vt 0.150783 0.610101 -vt 0.141906 0.438707 -vt 0.126570 0.610099 -vt 0.969581 0.024218 -vt 0.934418 0.664628 -vt 0.957238 0.687463 -vt 0.969581 0.717294 -vt 0.969570 0.749577 -vt 0.957206 0.779398 -vt 0.934370 0.802218 -vt 0.904540 0.814562 -vt 0.842436 0.802186 -vt 0.819616 0.779351 -vt 0.807272 0.749521 -vt 0.819648 0.687416 -vt 0.842483 0.664596 -vt 0.872313 0.652252 -vt 0.489369 0.604218 -vt 0.844482 0.604218 -vt 0.521652 0.604218 -vt 0.017617 0.024218 -vn 0.000000 0.000000 -1.000000 -vn 0.382700 0.000000 -0.923900 -vn 0.707100 0.000000 -0.707100 -vn 0.923900 -0.000000 -0.382700 -vn 1.000000 0.000000 0.000000 -vn 0.923900 -0.000000 0.382700 -vn 0.707100 -0.000000 0.707100 -vn 0.382700 -0.000000 0.923900 -vn 0.000000 -0.000000 1.000000 -vn -0.382700 -0.000000 0.923900 -vn -0.707100 -0.000000 0.707100 -vn -0.923900 -0.000000 0.382700 -vn -1.000000 0.000000 0.000000 -vn -0.923900 0.000000 -0.382700 -vn 0.920800 0.081500 0.381400 -vn -0.382700 0.000000 -0.923900 -vn -0.707100 0.000000 -0.707100 -vn -0.000000 -1.000000 -0.000000 -vn -0.704800 0.081500 0.704800 -vn -0.381400 0.081500 -0.920800 -vn 0.920800 0.081500 -0.381400 -vn 0.000000 0.081500 0.996700 -vn -0.920800 0.081500 -0.381400 -vn 0.381400 0.081500 -0.920800 -vn 0.704800 0.081500 0.704800 -vn -0.920800 0.081500 0.381400 -vn 0.996700 0.081500 0.000000 -vn -0.381400 0.081500 0.920800 -vn -0.704800 0.081500 -0.704800 -vn 0.704800 0.081500 -0.704800 -vn 0.381400 0.081500 0.920800 -vn 0.000000 0.081500 -0.996700 -vn -0.996700 0.081500 0.000000 -vn -0.919500 0.097600 0.380900 -vn 0.682700 0.260400 -0.682700 -vn 0.995200 0.097600 0.000000 -vn -0.995200 0.097600 0.000000 -vn 0.919500 0.097600 0.380900 -vn -0.919500 0.097600 -0.380900 -vn 0.703700 0.097600 0.703700 -vn -0.703700 0.097600 -0.703700 -vn 0.380900 0.097600 0.919500 -vn 0.000000 0.097600 -0.995200 -vn -0.380900 0.097600 -0.919500 -vn 0.000000 0.097600 0.995200 -vn 0.380900 0.097600 -0.919500 -vn -0.380900 0.097600 0.919500 -vn 0.703700 0.097600 -0.703700 -vn -0.703700 0.097600 0.703700 -vn 0.919500 0.097600 -0.380900 -vn -0.369500 0.260400 0.892000 -vn 0.000000 0.260400 0.965500 -vn 0.369500 0.260400 0.892000 -vn 0.682700 0.260400 0.682700 -vn 0.892000 0.260400 0.369500 -vn 0.369500 0.260400 -0.892000 -vn 0.965500 0.260400 0.000000 -vn 0.892000 0.260400 -0.369500 -vn -0.682700 0.260400 0.682700 -vn -0.892000 0.260400 0.369500 -vn -0.965500 0.260400 0.000000 -vn -0.892000 0.260400 -0.369500 -vn -0.682700 0.260400 -0.682700 -vn -0.369500 0.260400 -0.892000 -vn 0.000000 0.260400 -0.965500 -s 1 -f 1/1/1 2/2/1 3/3/1 -f 2/2/2 4/4/2 5/5/2 -f 4/4/3 6/6/3 7/7/3 -f 6/6/4 8/8/4 9/9/4 -f 8/8/5 10/10/5 11/11/5 -f 10/12/6 12/13/6 13/14/6 -f 12/13/7 14/15/7 15/16/7 -f 14/15/8 16/17/8 17/18/8 -f 16/17/9 18/19/9 19/20/9 -f 18/19/10 20/21/10 21/22/10 -f 20/21/11 22/23/11 23/24/11 -f 22/23/12 24/25/12 25/26/12 -f 24/25/13 26/27/13 27/28/13 -f 26/27/14 28/29/14 29/30/14 -f 10/12/15 30/31/15 31/32/15 -f 32/33/16 1/1/16 33/34/16 -f 28/29/17 32/33/17 34/35/17 -f 15/36/18 23/37/18 34/38/18 -f 35/39/14 36/40/14 37/41/14 -f 20/21/19 38/42/19 39/43/19 -f 32/33/20 40/44/20 41/45/20 -f 8/8/21 6/6/21 42/46/21 -f 18/19/22 16/17/22 43/47/22 -f 26/27/23 35/48/23 44/49/23 -f 2/2/24 45/50/24 46/51/24 -f 12/13/25 31/52/25 47/53/25 -f 22/23/26 39/54/26 48/55/26 -f 8/8/27 49/56/27 30/57/27 -f 18/19/28 50/58/28 38/59/28 -f 28/29/29 44/60/29 40/61/29 -f 6/6/30 4/4/30 46/62/30 -f 14/15/31 47/63/31 43/64/31 -f 1/1/32 41/65/32 45/66/32 -f 24/25/33 48/67/33 35/68/33 -f 51/69/34 52/70/34 53/71/34 -f 31/72/7 54/73/7 55/74/7 -f 44/75/17 37/41/17 56/76/17 -f 47/77/8 55/74/8 57/78/8 -f 41/79/1 58/80/1 59/81/1 -f 40/82/16 56/76/16 58/80/16 -f 43/83/9 57/78/9 60/84/9 -f 45/85/2 59/81/2 61/86/2 -f 50/87/10 60/84/10 62/88/10 -f 46/89/3 61/86/3 63/90/3 -f 38/91/11 62/88/11 51/69/11 -f 42/92/4 63/90/4 64/93/4 -f 39/94/12 51/69/12 65/95/12 -f 49/96/5 64/93/5 66/97/5 -f 48/98/13 65/95/13 36/40/13 -f 30/99/6 66/100/6 54/73/6 -f 67/101/35 68/102/35 69/103/35 -f 66/97/36 64/93/36 70/104/36 -f 65/95/37 53/105/37 71/106/37 -f 66/100/38 72/107/38 73/108/38 -f 36/40/39 71/109/39 74/110/39 -f 55/74/40 54/73/40 73/111/40 -f 56/76/41 37/41/41 74/112/41 -f 57/78/42 55/74/42 75/113/42 -f 58/80/43 76/114/43 77/115/43 -f 58/80/44 56/76/44 78/116/44 -f 57/78/45 79/117/45 80/118/45 -f 59/81/46 77/119/46 68/120/46 -f 60/84/47 80/121/47 81/122/47 -f 61/86/48 68/102/48 67/101/48 -f 62/88/49 81/123/49 52/124/49 -f 63/90/50 67/125/50 70/126/50 -f 80/121/51 69/127/51 81/122/51 -f 79/117/52 69/128/52 80/118/52 -f 75/113/53 69/129/53 79/130/53 -f 73/111/54 69/131/54 75/132/54 -f 72/107/55 69/133/55 73/108/55 -f 77/119/56 69/134/56 68/120/56 -f 70/104/57 69/135/57 72/136/57 -f 67/125/58 69/137/58 70/126/58 -f 81/123/59 69/138/59 52/124/59 -f 52/70/60 69/139/60 53/71/60 -f 53/105/61 69/140/61 71/106/61 -f 71/109/62 69/141/62 74/110/62 -f 74/112/63 69/142/63 78/143/63 -f 78/116/64 69/144/64 76/145/64 -f 76/114/65 69/146/65 77/115/65 -f 33/34/1 1/1/1 3/3/1 -f 3/3/2 2/2/2 5/5/2 -f 5/5/3 4/4/3 7/7/3 -f 7/7/4 6/6/4 9/9/4 -f 9/9/5 8/8/5 11/11/5 -f 11/147/6 10/12/6 13/14/6 -f 13/14/7 12/13/7 15/16/7 -f 15/16/8 14/15/8 17/18/8 -f 17/18/9 16/17/9 19/20/9 -f 19/20/10 18/19/10 21/22/10 -f 21/22/11 20/21/11 23/24/11 -f 23/24/12 22/23/12 25/26/12 -f 25/26/13 24/25/13 27/28/13 -f 27/28/14 26/27/14 29/30/14 -f 12/13/15 10/12/15 31/32/15 -f 34/35/16 32/33/16 33/34/16 -f 29/30/17 28/29/17 34/35/17 -f 34/38/18 33/148/18 3/149/18 -f 3/149/18 5/150/18 34/38/18 -f 7/151/18 9/152/18 15/36/18 -f 11/153/18 13/154/18 15/36/18 -f 15/36/18 17/155/18 23/37/18 -f 19/156/18 21/157/18 23/37/18 -f 23/37/18 25/158/18 27/159/18 -f 27/159/18 29/160/18 23/37/18 -f 34/38/18 5/150/18 7/151/18 -f 9/152/18 11/153/18 15/36/18 -f 17/155/18 19/156/18 23/37/18 -f 23/37/18 29/160/18 34/38/18 -f 34/38/18 7/151/18 15/36/18 -f 44/75/14 35/39/14 37/41/14 -f 22/23/19 20/21/19 39/43/19 -f 1/1/20 32/33/20 41/45/20 -f 49/161/21 8/8/21 42/46/21 -f 50/162/22 18/19/22 43/47/22 -f 28/29/23 26/27/23 44/49/23 -f 4/4/24 2/2/24 46/51/24 -f 14/15/25 12/13/25 47/53/25 -f 24/25/26 22/23/26 48/55/26 -f 10/10/27 8/8/27 30/57/27 -f 20/21/28 18/19/28 38/59/28 -f 32/33/29 28/29/29 40/61/29 -f 42/163/30 6/6/30 46/62/30 -f 16/17/31 14/15/31 43/64/31 -f 2/2/32 1/1/32 45/66/32 -f 26/27/33 24/25/33 35/68/33 -f 65/95/34 51/69/34 53/71/34 -f 47/77/7 31/72/7 55/74/7 -f 40/82/17 44/75/17 56/76/17 -f 43/83/8 47/77/8 57/78/8 -f 45/85/1 41/79/1 59/81/1 -f 41/79/16 40/82/16 58/80/16 -f 50/87/9 43/83/9 60/84/9 -f 46/89/2 45/85/2 61/86/2 -f 38/91/10 50/87/10 62/88/10 -f 42/92/3 46/89/3 63/90/3 -f 39/94/11 38/91/11 51/69/11 -f 49/96/4 42/92/4 64/93/4 -f 48/98/12 39/94/12 65/95/12 -f 30/164/5 49/96/5 66/97/5 -f 35/39/13 48/98/13 36/40/13 -f 31/72/6 30/99/6 54/73/6 -f 72/136/36 66/97/36 70/104/36 -f 36/40/37 65/95/37 71/106/37 -f 54/73/38 66/100/38 73/108/38 -f 37/41/39 36/40/39 74/110/39 -f 75/132/40 55/74/40 73/111/40 -f 78/143/41 56/76/41 74/112/41 -f 79/130/42 57/78/42 75/113/42 -f 59/81/43 58/80/43 77/115/43 -f 76/145/44 58/80/44 78/116/44 -f 60/84/45 57/78/45 80/118/45 -f 61/86/46 59/81/46 68/120/46 -f 62/88/47 60/84/47 81/122/47 -f 63/90/48 61/86/48 67/101/48 -f 51/69/49 62/88/49 52/124/49 -f 64/93/50 63/90/50 70/126/50 diff --git a/src/main/resources/assets/hbm/models/missileNuclear.obj b/src/main/resources/assets/hbm/models/missileNuclear.obj deleted file mode 100644 index 29f98141c..000000000 --- a/src/main/resources/assets/hbm/models/missileNuclear.obj +++ /dev/null @@ -1,794 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'MissileNuclear.blend' -# www.blender.org -o Cylinder -v -0.073159 0.500000 -0.367794 -v 0.073159 0.500000 -0.367794 -v 0.097545 0.000000 -0.490393 -v 0.208339 0.500000 -0.311801 -v 0.277785 0.000000 -0.415735 -v 0.311801 0.500000 -0.208339 -v 0.415735 0.000000 -0.277785 -v 0.367794 0.500000 -0.073159 -v 0.490393 0.000000 -0.097545 -v 0.367794 0.500000 0.073159 -v 0.490393 -0.000000 0.097545 -v 0.311801 0.500000 0.208339 -v 0.415735 -0.000000 0.277785 -v 0.208339 0.500000 0.311801 -v 0.277785 -0.000000 0.415735 -v 0.073159 0.500000 0.367794 -v 0.097545 -0.000000 0.490393 -v -0.073159 0.500000 0.367794 -v -0.097545 -0.000000 0.490393 -v -0.208339 0.500000 0.311801 -v -0.277785 -0.000000 0.415735 -v -0.311801 0.500000 0.208339 -v -0.415735 -0.000000 0.277785 -v -0.367794 0.500000 0.073159 -v -0.490393 -0.000000 0.097545 -v -0.367794 0.500000 -0.073159 -v -0.311801 0.500000 -0.208339 -v -0.415735 0.000000 -0.277785 -v 0.097545 0.500000 -0.490393 -v -0.208339 0.500000 -0.311801 -v -0.097545 0.000000 -0.490393 -v -0.277785 0.000000 -0.415735 -v -0.490393 0.500000 0.097545 -v -0.490393 0.500000 -0.097545 -v 0.490393 0.500000 -0.097545 -v 0.490393 0.500000 0.097545 -v -0.277785 0.500000 -0.415735 -v -0.097545 0.500000 -0.490393 -v 0.277785 0.500000 0.415735 -v 0.097545 0.500000 0.490393 -v -0.277785 0.500000 0.415735 -v 0.277785 0.500000 -0.415735 -v -0.415735 0.500000 -0.277785 -v 0.415735 0.500000 0.277785 -v -0.097545 0.500000 0.490393 -v -0.415735 0.500000 0.277785 -v 0.415735 0.500000 -0.277785 -v 0.277785 3.500000 -0.415735 -v 0.260424 4.500000 -0.389751 -v 0.389751 4.500000 -0.260424 -v 0.459743 4.500000 -0.091449 -v 0.353374 5.000000 -0.236117 -v -0.490393 3.500000 -0.097545 -v -0.459744 4.500000 -0.091449 -v -0.389751 4.500000 -0.260424 -v -0.097545 3.500000 -0.490393 -v -0.091449 4.500000 -0.459742 -v 0.091449 4.500000 -0.459742 -v -0.490393 3.500000 0.097545 -v -0.415735 3.500000 0.277785 -v -0.389751 4.500000 0.260424 -v -0.097545 3.500000 0.490393 -v -0.091449 4.500000 0.459744 -v -0.260424 4.500000 0.389751 -v 0.277785 3.500000 0.415735 -v 0.260424 4.500000 0.389751 -v 0.091449 4.500000 0.459743 -v 0.490393 3.500000 0.097545 -v 0.459743 4.500000 0.091449 -v 0.389751 4.500000 0.260424 -v 0.490393 3.500000 -0.097545 -v 0.415735 3.500000 -0.277785 -v -0.277785 3.500000 -0.415735 -v -0.415735 3.500000 -0.277785 -v 0.097545 3.500000 -0.490393 -v -0.459744 4.500000 0.091449 -v -0.277785 3.500000 0.415735 -v 0.097545 3.500000 0.490393 -v 0.415735 3.500000 0.277785 -v -0.260424 4.500000 -0.389751 -v 0.416833 5.000000 -0.082913 -v 0.245196 5.500000 -0.048772 -v 0.245196 5.500000 0.048773 -v -0.353375 5.000000 -0.236117 -v 0.082913 5.000000 -0.416834 -v -0.416834 5.000000 0.082913 -v -0.236117 5.000000 0.353375 -v -0.353375 5.000000 0.236117 -v 0.082913 5.000000 0.416834 -v -0.082913 5.000000 0.416834 -v 0.353374 5.000000 0.236117 -v 0.236117 5.000000 0.353375 -v 0.416833 5.000000 0.082913 -v -0.236117 5.000000 -0.353375 -v 0.236117 5.000000 -0.353375 -v -0.416834 5.000000 -0.082913 -v -0.082914 5.000000 -0.416834 -v -0.138893 5.500000 -0.207867 -v -0.048773 5.500000 -0.245196 -v 0.138892 5.500000 -0.207867 -v 0.207867 5.500000 -0.138892 -v -0.245197 5.500000 -0.048772 -v -0.207868 5.500000 -0.138892 -v 0.048772 5.500000 -0.245196 -v -0.207868 5.500000 0.138893 -v -0.245197 5.500000 0.048773 -v -0.048773 5.500000 0.245197 -v -0.138893 5.500000 0.207868 -v 0.138892 5.500000 0.207868 -v 0.048772 5.500000 0.245197 -v 0.207867 5.500000 0.138893 -v 0.000000 5.750000 0.000000 -v 0.048772 1.500000 1.240393 -v 0.048772 0.500000 1.240393 -v 0.048773 3.500000 0.490393 -v 0.048772 0.500000 0.490393 -v -0.048773 0.500000 0.490393 -v -0.048773 0.500000 1.240393 -v -0.048772 3.500000 0.490393 -v 1.240393 0.500000 -0.048772 -v 1.240393 0.500000 0.048773 -v 0.490393 0.500000 0.048773 -v 0.490393 0.500000 -0.048772 -v -0.048772 3.500000 -0.490393 -v 0.048773 3.500000 -0.490393 -v -0.048772 1.500000 -1.240393 -v -0.490393 0.500000 -0.048772 -v -0.490393 0.500000 0.048772 -v -1.240393 0.500000 -0.048773 -v -1.240393 0.500000 0.048772 -v -0.490393 3.500000 0.048772 -v -0.048773 1.500000 1.240393 -v 0.048773 1.500000 -1.240393 -v -0.048772 0.500000 -1.240393 -v -1.240393 1.500000 -0.048773 -v -0.490393 3.500000 -0.048773 -v -1.240393 1.500000 0.048772 -v 0.048773 0.500000 -1.240393 -v 0.490393 3.500000 0.048773 -v 1.240393 1.500000 0.048773 -v 1.240393 1.500000 -0.048772 -v -0.490393 0.000000 -0.097545 -v 0.048773 0.500000 -0.490393 -v -0.048772 0.500000 -0.490393 -v 0.490393 3.500000 -0.048772 -vt 0.053190 0.141950 -vt 0.047633 0.125797 -vt 0.103538 0.103554 -vt 0.040574 0.110242 -vt 0.094127 0.082814 -vt 0.032077 0.095424 -vt 0.082797 0.063057 -vt 0.022216 0.081476 -vt 0.069650 0.044459 -vt 0.011082 0.068522 -vt 0.054804 0.027187 -vt 0.011082 0.316533 -vt 0.022216 0.303579 -vt 0.069650 0.340596 -vt 0.032077 0.289631 -vt 0.082797 0.321998 -vt 0.040574 0.274813 -vt 0.094127 0.302241 -vt 0.047633 0.259258 -vt 0.103538 0.281501 -vt 0.053190 0.243105 -vt 0.110948 0.259964 -vt 0.057195 0.226500 -vt 0.116288 0.237824 -vt 0.059612 0.209590 -vt 0.119511 0.215277 -vt 0.060420 0.192527 -vt 0.059612 0.175465 -vt 0.119511 0.169778 -vt 0.679575 0.027188 -vt 0.696657 0.027188 -vt 0.699504 0.041501 -vt 0.057195 0.158555 -vt 0.110948 0.125091 -vt 0.116288 0.147231 -vt 0.867028 0.797659 -vt 0.883133 0.716696 -vt 0.947992 0.813764 -vt 0.810535 0.027188 -vt 0.813382 0.041500 -vt 0.790607 0.041500 -vt 0.628329 0.027189 -vt 0.631176 0.041502 -vt 0.608401 0.041502 -vt 0.742208 0.027188 -vt 0.745055 0.041501 -vt 0.722279 0.041501 -vt 0.702351 0.027188 -vt 0.719432 0.027188 -vt 0.924414 0.027187 -vt 0.927261 0.041500 -vt 0.904485 0.041500 -vt 0.839005 0.027187 -vt 0.856087 0.027187 -vt 0.858934 0.041500 -vt 0.656799 0.027189 -vt 0.673881 0.027189 -vt 0.676728 0.041501 -vt 0.787760 0.027188 -vt 0.767831 0.041501 -vt 0.969966 0.027187 -vt 0.972813 0.041500 -vt 0.950037 0.041500 -vt 0.901638 0.027187 -vt 0.881710 0.041500 -vt 0.833311 0.027187 -vt 0.836158 0.041500 -vt 0.634023 0.027189 -vt 0.651105 0.027189 -vt 0.653952 0.041501 -vt 0.764984 0.027188 -vt 0.947190 0.027187 -vt 0.861781 0.027187 -vt 0.878863 0.027187 -vt 0.676732 0.391730 -vt 0.676021 0.508528 -vt 0.654669 0.508529 -vt 0.631894 0.508529 -vt 0.653246 0.508529 -vt 0.652250 0.567115 -vt 0.790609 0.391729 -vt 0.789898 0.508527 -vt 0.768546 0.508528 -vt 0.722282 0.391730 -vt 0.721572 0.508527 -vt 0.700220 0.508527 -vt 0.813384 0.391729 -vt 0.836160 0.391729 -vt 0.835449 0.508527 -vt 0.881711 0.391729 -vt 0.880999 0.508527 -vt 0.859647 0.508527 -vt 0.927261 0.391729 -vt 0.926550 0.508527 -vt 0.905198 0.508527 -vt 0.972812 0.391729 -vt 0.972100 0.508527 -vt 0.950749 0.508527 -vt 0.631181 0.391731 -vt 0.653956 0.391731 -vt 0.745058 0.391730 -vt 0.767833 0.391730 -vt 0.767122 0.508528 -vt 0.699507 0.391730 -vt 0.698796 0.508528 -vt 0.812673 0.508527 -vt 0.791321 0.508527 -vt 0.858935 0.391729 -vt 0.858224 0.508527 -vt 0.904486 0.391729 -vt 0.903775 0.508526 -vt 0.882423 0.508526 -vt 0.950037 0.391729 -vt 0.949325 0.508527 -vt 0.630471 0.508528 -vt 0.609119 0.508528 -vt 0.744347 0.508528 -vt 0.722995 0.508528 -vt 0.629475 0.567114 -vt 0.625490 0.628829 -vt 0.614102 0.628829 -vt 0.745770 0.508528 -vt 0.766126 0.567114 -vt 0.677444 0.508528 -vt 0.697801 0.567114 -vt 0.811677 0.567113 -vt 0.857228 0.567113 -vt 0.837869 0.567113 -vt 0.902778 0.567112 -vt 0.883419 0.567112 -vt 0.948329 0.567113 -vt 0.928970 0.567113 -vt 0.610116 0.567114 -vt 0.743351 0.567114 -vt 0.675025 0.567114 -vt 0.788902 0.567114 -vt 0.720576 0.567113 -vt 0.834453 0.567113 -vt 0.815093 0.567114 -vt 0.880003 0.567113 -vt 0.860644 0.567113 -vt 0.925553 0.567113 -vt 0.906194 0.567113 -vt 0.971104 0.567113 -vt 0.951745 0.567113 -vt 0.739366 0.628829 -vt 0.727978 0.628829 -vt 0.671040 0.628829 -vt 0.659653 0.628829 -vt 0.784916 0.628829 -vt 0.773529 0.628829 -vt 0.716591 0.628828 -vt 0.705203 0.628828 -vt 0.830467 0.628828 -vt 0.819080 0.628828 -vt 0.876018 0.628828 -vt 0.864630 0.628828 -vt 0.921568 0.628828 -vt 0.910180 0.628828 -vt 0.967119 0.628828 -vt 0.955731 0.628828 -vt 0.632891 0.567115 -vt 0.648265 0.628830 -vt 0.762141 0.628829 -vt 0.750753 0.628829 -vt 0.693816 0.628829 -vt 0.682428 0.628829 -vt 0.807692 0.628828 -vt 0.796304 0.628828 -vt 0.853242 0.628828 -vt 0.841855 0.628828 -vt 0.898793 0.628826 -vt 0.887405 0.628826 -vt 0.944343 0.628828 -vt 0.932955 0.628828 -vt 0.779223 0.669709 -vt 0.756447 0.669709 -vt 0.733672 0.669709 -vt 0.824774 0.669709 -vt 0.710897 0.669708 -vt 0.688122 0.669709 -vt 0.665347 0.669710 -vt 0.642572 0.669711 -vt 0.636877 0.628830 -vt 0.619797 0.669709 -vt 0.961425 0.669709 -vt 0.938649 0.669708 -vt 0.915874 0.669708 -vt 0.893099 0.669707 -vt 0.870324 0.669709 -vt 0.847549 0.669708 -vt 0.801998 0.669709 -vt 0.257803 0.231487 -vt 0.257803 0.114744 -vt 0.345360 0.464974 -vt 0.345360 0.114744 -vt 0.158858 0.114744 -vt 0.246415 0.114744 -vt 0.158858 0.464974 -vt 0.482575 0.114744 -vt 0.471187 0.114744 -vt 0.471187 0.027187 -vt 0.482575 0.027187 -vt 0.257803 0.972808 -vt 0.246415 0.972808 -vt 0.257803 0.723435 -vt 0.471187 0.519135 -vt 0.482575 0.519136 -vt 0.471187 0.606692 -vt 0.482575 0.606692 -vt 0.570132 0.606692 -vt 0.570132 0.956921 -vt 0.246415 0.231487 -vt 0.246415 0.723435 -vt 0.257802 0.606692 -vt 0.471187 0.723435 -vt 0.383629 0.956921 -vt 0.482575 0.723435 -vt 0.246415 0.606692 -vt 0.383630 0.606692 -vt 0.471187 0.480867 -vt 0.471187 0.231487 -vt 0.482575 0.231487 -vt 0.054804 0.357868 -vt 0.120589 0.192527 -vt 0.964097 0.732800 -vt 0.972813 0.753842 -vt 0.972813 0.776617 -vt 0.964097 0.797659 -vt 0.904175 0.822480 -vt 0.926950 0.822480 -vt 0.883133 0.813764 -vt 0.611247 0.027189 -vt 0.858313 0.776618 -vt 0.867028 0.732800 -vt 0.904175 0.707980 -vt 0.926951 0.707980 -vt 0.947992 0.716696 -vt 0.858313 0.753842 -vt 0.793454 0.027188 -vt 0.725126 0.027188 -vt 0.907332 0.027187 -vt 0.770678 0.027188 -vt 0.952884 0.027187 -vt 0.884557 0.027187 -vt 0.816229 0.027187 -vt 0.747902 0.027188 -vt 0.930108 0.027187 -vt 0.814097 0.508527 -vt 0.836872 0.508527 -vt 0.927973 0.508527 -vt 0.608405 0.391731 -vt 0.746767 0.567114 -vt 0.678442 0.567114 -vt 0.792318 0.567113 -vt 0.723992 0.567114 -vt 0.655666 0.567115 -vt 0.769543 0.567114 -vt 0.701217 0.567113 -vt 0.334698 0.468972 -vt 0.246415 0.480866 -vt 0.158857 0.606693 -vt 0.158858 0.956922 -vt 0.345360 0.956921 -vt 0.471187 0.972813 -vt 0.383629 0.464973 -vt 0.345360 0.606692 -vt 0.257802 0.519135 -vt 0.482575 0.972813 -vt 0.383630 0.114744 -vt 0.246415 0.519135 -vt 0.257803 0.027187 -vt 0.246415 0.027187 -vt 0.570132 0.114744 -vt 0.570132 0.464973 -vt 0.482575 0.480867 -vn 0.000000 0.238100 -0.971200 -vn 0.371700 0.238100 -0.897300 -vn 0.686800 0.238100 -0.686800 -vn 0.897300 0.238100 -0.371700 -vn 0.971200 0.238100 0.000000 -vn 0.897300 0.238100 0.371700 -vn 0.686800 0.238100 0.686800 -vn 0.371700 0.238100 0.897300 -vn 0.000000 0.238100 0.971200 -vn -0.371700 0.238100 0.897300 -vn -0.686800 0.238100 0.686800 -vn -0.897300 0.238100 0.371700 -vn -0.971200 0.238100 0.000000 -vn -0.897300 0.238100 -0.371700 -vn 0.000000 -1.000000 -0.000000 -vn 0.000000 -0.868200 -0.496100 -vn -0.371700 0.238100 -0.897300 -vn -0.686800 0.238100 -0.686800 -vn -0.496100 -0.868200 0.000000 -vn 0.496100 -0.868200 0.000000 -vn 0.000000 -0.868200 0.496100 -vn 0.706800 0.030600 -0.706800 -vn 0.920500 0.085500 -0.381300 -vn -0.923400 0.030600 -0.382500 -vn 0.000000 0.030600 -0.999500 -vn -0.923400 0.030600 0.382500 -vn -0.382500 0.030600 0.923400 -vn 0.382500 0.030600 0.923400 -vn 0.923400 0.030600 0.382500 -vn 0.923400 0.030600 -0.382500 -vn -0.706800 0.030600 -0.706800 -vn 0.382500 0.030600 -0.923400 -vn -0.999500 0.030600 0.000000 -vn -0.706800 0.030600 0.706800 -vn 0.000000 0.030600 0.999500 -vn 0.706800 0.030600 0.706800 -vn 0.999500 0.030600 0.000000 -vn -0.382500 0.030600 -0.923400 -vn 0.945800 0.324700 0.000000 -vn -0.704500 0.085500 -0.704500 -vn 0.381300 0.085500 -0.920500 -vn -0.996300 0.085500 0.000000 -vn -0.704500 0.085500 0.704500 -vn 0.000000 0.085500 0.996300 -vn 0.704500 0.085500 0.704500 -vn 0.996300 0.085500 0.000000 -vn -0.381300 0.085500 -0.920500 -vn 0.704500 0.085500 -0.704500 -vn -0.920500 0.085500 -0.381300 -vn 0.000000 0.085500 -0.996300 -vn -0.920500 0.085500 0.381300 -vn -0.381300 0.085500 0.920500 -vn 0.381300 0.085500 0.920500 -vn 0.920500 0.085500 0.381300 -vn -0.362000 0.324700 -0.873800 -vn 0.668800 0.324700 -0.668800 -vn -0.873800 0.324700 -0.362000 -vn 0.000000 0.324700 -0.945800 -vn -0.873800 0.324700 0.362000 -vn -0.362000 0.324700 0.873800 -vn 0.362000 0.324700 0.873800 -vn 0.873800 0.324700 0.362000 -vn 0.873800 0.324700 0.361900 -vn 0.873800 0.324700 -0.362000 -vn -0.668800 0.324700 -0.668800 -vn 0.362000 0.324700 -0.873800 -vn -0.945800 0.324700 0.000000 -vn -0.668800 0.324700 0.668800 -vn 0.000000 0.324700 0.945800 -vn 0.668800 0.324700 0.668800 -vn -0.659600 0.700200 -0.273200 -vn -0.504800 0.700200 -0.504800 -vn -0.273200 0.700200 -0.659600 -vn -0.659600 0.700200 0.273200 -vn 0.000000 0.700200 -0.713900 -vn 0.273200 0.700200 -0.659600 -vn 0.504800 0.700200 -0.504800 -vn 0.659600 0.700200 -0.273200 -vn 0.713900 0.700200 0.000000 -vn 0.659600 0.700200 0.273200 -vn 0.504800 0.700200 0.504800 -vn 0.273200 0.700200 0.659600 -vn 0.000000 0.700200 0.713900 -vn -0.273200 0.700200 0.659600 -vn -0.504800 0.700200 0.504800 -vn -0.713900 0.700200 0.000000 -vn 0.000000 -0.000000 1.000000 -vn 1.000000 0.000000 0.000000 -vn -1.000000 0.000000 0.000000 -vn 0.000000 0.351100 -0.936300 -vn 0.000000 0.000000 -1.000000 -vn 0.936300 0.351100 0.000000 -vn 0.923900 0.000000 -0.382700 -vn 0.382700 0.000000 -0.923900 -vn 0.707100 0.000000 -0.707100 -vn -0.382700 0.000000 -0.923900 -vn -0.923900 0.000000 -0.382700 -vn -0.707100 0.000000 -0.707100 -vn -0.923900 -0.000000 0.382700 -vn -0.382700 -0.000000 0.923900 -vn -0.707100 -0.000000 0.707100 -vn 0.382700 -0.000000 0.923900 -vn 0.923900 -0.000000 0.382700 -vn 0.707100 -0.000000 0.707100 -vn 0.873800 0.324700 -0.361900 -vn 0.000000 0.351100 0.936300 -vn -0.936300 0.351100 0.000000 -s 1 -f 1/1/1 2/2/1 3/3/1 -f 2/2/2 4/4/2 5/5/2 -f 4/4/3 6/6/3 7/7/3 -f 6/6/4 8/8/4 9/9/4 -f 8/8/5 10/10/5 11/11/5 -f 10/12/6 12/13/6 13/14/6 -f 12/13/7 14/15/7 15/16/7 -f 14/15/8 16/17/8 17/18/8 -f 16/17/9 18/19/9 19/20/9 -f 18/19/10 20/21/10 21/22/10 -f 20/21/11 22/23/11 23/24/11 -f 23/24/12 22/23/12 24/25/12 -f 25/26/13 24/25/13 26/27/13 -f 26/27/14 27/28/14 28/29/14 -f 4/30/15 2/31/15 29/32/16 -f 30/33/17 1/1/17 31/34/17 -f 27/28/18 30/33/18 32/35/18 -f 15/36/15 23/37/15 7/38/15 -f 24/39/15 33/40/19 34/41/19 -f 8/42/15 35/43/20 36/44/20 -f 30/45/15 37/46/15 38/47/16 -f 2/48/15 1/49/15 38/47/16 -f 14/50/15 39/51/15 40/52/21 -f 22/53/15 20/54/15 41/55/15 -f 6/56/15 4/57/15 42/58/15 -f 26/59/15 34/41/19 43/60/15 -f 10/61/15 36/62/20 44/63/15 -f 16/64/15 40/52/21 45/65/21 -f 22/66/15 46/67/15 33/40/19 -f 8/68/15 6/69/15 47/70/15 -f 27/71/15 43/60/15 37/46/15 -f 12/72/15 44/63/15 39/51/15 -f 20/73/15 18/74/15 45/65/21 -f 48/75/22 49/76/22 50/77/22 -f 51/78/23 50/79/23 52/80/23 -f 53/81/24 54/82/24 55/83/24 -f 56/84/25 57/85/25 58/86/25 -f 59/87/26 60/88/26 61/89/26 -f 62/90/27 63/91/27 64/92/27 -f 65/93/28 66/94/28 67/95/28 -f 68/96/29 69/97/29 70/98/29 -f 71/99/30 72/100/30 50/79/30 -f 73/101/31 74/102/31 55/103/31 -f 48/75/32 75/104/32 58/105/32 -f 59/87/33 76/106/33 54/107/33 -f 60/88/34 77/108/34 64/109/34 -f 78/110/35 67/111/35 63/112/35 -f 65/93/36 79/113/36 70/114/36 -f 71/99/37 51/115/37 69/116/37 -f 73/101/38 80/117/38 57/118/38 -f 81/119/39 82/120/39 83/121/39 -f 80/122/40 55/103/40 84/123/40 -f 49/124/41 58/105/41 85/125/41 -f 54/107/42 76/106/42 86/126/42 -f 64/109/43 87/127/43 88/128/43 -f 67/111/44 89/129/44 90/130/44 -f 70/114/45 91/131/45 92/132/45 -f 51/115/46 81/119/46 93/133/46 -f 57/118/47 80/117/47 94/134/47 -f 50/77/48 49/76/48 95/135/48 -f 55/83/49 54/82/49 96/136/49 -f 58/86/50 57/85/50 97/137/50 -f 61/89/51 88/138/51 86/139/51 -f 63/91/52 90/140/52 87/141/52 -f 66/94/53 92/142/53 89/143/53 -f 69/97/54 93/144/54 91/145/54 -f 94/134/55 98/146/55 99/147/55 -f 95/135/56 100/148/56 101/149/56 -f 96/136/57 102/150/57 103/151/57 -f 97/137/58 99/152/58 104/153/58 -f 88/138/59 105/154/59 106/155/59 -f 90/140/60 107/156/60 108/157/60 -f 92/142/61 109/158/61 110/159/61 -f 93/144/62 83/160/63 111/161/62 -f 81/162/64 52/80/64 101/163/64 -f 84/123/65 103/164/65 98/165/65 -f 85/125/66 104/166/66 100/167/66 -f 86/126/67 106/168/67 102/169/67 -f 87/127/68 108/170/68 105/171/68 -f 89/129/69 110/172/69 107/173/69 -f 91/131/70 111/174/70 109/175/70 -f 102/150/71 112/176/71 103/151/71 -f 103/164/72 112/177/72 98/165/72 -f 98/146/73 112/178/73 99/147/73 -f 105/154/74 112/179/74 106/155/74 -f 99/152/75 112/180/75 104/153/75 -f 104/166/76 112/181/76 100/167/76 -f 100/148/77 112/182/77 101/149/77 -f 101/163/78 112/183/78 82/184/78 -f 82/120/79 112/185/79 83/121/79 -f 83/160/80 112/186/80 111/161/80 -f 111/174/81 112/187/81 109/175/81 -f 109/158/82 112/188/82 110/159/82 -f 110/172/83 112/189/83 107/173/83 -f 107/156/84 112/190/84 108/157/84 -f 108/170/85 112/191/85 105/171/85 -f 102/169/86 106/168/86 112/192/86 -f 45/65/21 40/52/21 78/110/87 -f 113/193/88 114/194/88 115/195/88 -f 114/194/88 116/196/88 115/195/88 -f 117/197/89 118/198/89 119/199/89 -f 120/200/15 121/201/15 122/202/15 -f 123/203/15 120/200/15 122/202/15 -f 124/204/90 125/205/90 126/206/90 -f 127/207/15 128/208/15 129/209/15 -f 128/208/15 130/210/15 129/209/15 -f 130/210/87 128/211/87 131/212/87 -f 118/198/89 132/213/89 119/199/89 -f 125/205/90 133/214/90 126/206/90 -f 134/215/91 126/206/91 133/214/91 -f 129/209/91 135/216/91 136/217/91 -f 137/218/87 130/210/87 131/212/87 -f 138/219/91 134/215/91 133/214/91 -f 118/198/87 114/194/87 132/213/87 -f 127/220/91 129/209/91 136/217/91 -f 114/194/87 113/193/87 132/213/87 -f 139/221/92 140/222/92 141/223/92 -f 72/100/93 71/99/93 35/43/93 -f 75/104/94 48/75/94 42/58/94 -f 48/75/95 72/100/95 47/70/95 -f 73/101/96 56/84/96 38/47/96 -f 53/81/97 74/102/97 43/60/97 -f 74/102/98 73/101/98 37/46/98 -f 60/88/99 59/87/99 33/40/99 -f 62/90/100 77/108/100 41/55/100 -f 77/108/101 60/88/101 46/67/101 -f 65/93/102 78/110/102 40/52/102 -f 68/96/103 79/113/103 44/63/103 -f 79/113/104 65/93/104 39/51/104 -f 31/34/1 1/1/1 3/3/1 -f 3/3/2 2/2/2 5/5/2 -f 5/5/3 4/4/3 7/7/3 -f 7/7/4 6/6/4 9/9/4 -f 9/9/5 8/8/5 11/11/5 -f 11/224/6 10/12/6 13/14/6 -f 13/14/7 12/13/7 15/16/7 -f 15/16/8 14/15/8 17/18/8 -f 17/18/9 16/17/9 19/20/9 -f 19/20/10 18/19/10 21/22/10 -f 21/22/11 20/21/11 23/24/11 -f 25/26/12 23/24/12 24/25/12 -f 142/225/13 25/26/13 26/27/13 -f 142/225/14 26/27/14 28/29/14 -f 42/58/15 4/30/15 29/32/16 -f 32/35/17 30/33/17 31/34/17 -f 28/29/18 27/28/18 32/35/18 -f 32/226/15 31/227/15 3/228/15 -f 3/228/15 5/229/15 7/38/15 -f 11/230/15 15/36/15 9/231/15 -f 11/230/15 13/232/15 15/36/15 -f 10/233/15 8/42/15 36/44/20 -f 23/37/15 17/234/15 21/235/15 -f 23/37/15 25/236/15 142/237/15 -f 142/237/15 28/238/15 32/226/15 -f 23/37/15 142/237/15 7/38/15 -f 23/37/15 15/36/15 17/234/15 -f 17/234/15 19/239/15 21/235/15 -f 32/226/15 3/228/15 142/237/15 -f 26/240/15 24/39/15 34/41/19 -f 142/237/15 3/228/15 7/38/15 -f 15/36/15 7/38/15 9/231/15 -f 1/241/15 30/45/15 38/47/16 -f 29/32/16 2/48/15 38/47/16 -f 16/242/15 14/50/15 40/52/21 -f 46/67/15 22/53/15 41/55/15 -f 47/70/15 6/56/15 42/58/15 -f 27/243/15 26/59/15 43/60/15 -f 12/244/15 10/61/15 44/63/15 -f 18/245/15 16/64/15 45/65/21 -f 24/246/15 22/66/15 33/40/19 -f 35/43/20 8/68/15 47/70/15 -f 30/247/15 27/71/15 37/46/15 -f 14/248/15 12/72/15 39/51/15 -f 41/55/15 20/73/15 45/65/21 -f 72/100/22 48/75/22 50/77/22 -f 81/162/23 51/78/23 52/80/23 -f 74/102/24 53/81/24 55/83/24 -f 75/104/25 56/84/25 58/86/25 -f 76/249/26 59/87/26 61/89/26 -f 77/108/27 62/90/27 64/92/27 -f 78/110/28 65/93/28 67/95/28 -f 79/113/29 68/96/29 70/98/29 -f 51/78/30 71/99/30 50/79/30 -f 80/122/31 73/101/31 55/103/31 -f 49/124/32 48/75/32 58/105/32 -f 53/81/33 59/87/33 54/107/33 -f 61/250/34 60/88/34 64/109/34 -f 62/90/35 78/110/35 63/112/35 -f 66/251/36 65/93/36 70/114/36 -f 68/252/37 71/99/37 69/116/37 -f 56/84/38 73/101/38 57/118/38 -f 93/133/39 81/119/39 83/121/39 -f 94/253/40 80/122/40 84/123/40 -f 95/254/41 49/124/41 85/125/41 -f 96/255/42 54/107/42 86/126/42 -f 61/250/43 64/109/43 88/128/43 -f 63/112/44 67/111/44 90/130/44 -f 66/251/45 70/114/45 92/132/45 -f 69/116/46 51/115/46 93/133/46 -f 97/256/47 57/118/47 94/134/47 -f 52/257/48 50/77/48 95/135/48 -f 84/258/49 55/83/49 96/136/49 -f 85/259/50 58/86/50 97/137/50 -f 76/249/51 61/89/51 86/139/51 -f 64/92/52 63/91/52 87/141/52 -f 67/95/53 66/94/53 89/143/53 -f 70/98/54 69/97/54 91/145/54 -f 97/256/55 94/134/55 99/147/55 -f 52/257/56 95/135/56 101/149/56 -f 84/258/57 96/136/57 103/151/57 -f 85/259/58 97/137/58 104/153/58 -f 86/139/59 88/138/59 106/155/59 -f 87/141/60 90/140/60 108/157/60 -f 89/143/61 92/142/61 110/159/61 -f 91/145/62 93/144/62 111/161/62 -f 82/184/105 81/162/64 101/163/64 -f 94/253/65 84/123/65 98/165/65 -f 95/254/66 85/125/66 100/167/66 -f 96/255/67 86/126/67 102/169/67 -f 88/128/68 87/127/68 105/171/68 -f 90/130/69 89/129/69 107/173/69 -f 92/132/70 91/131/70 109/175/70 -f 120/200/88 141/223/88 140/222/88 -f 115/195/106 119/260/106 113/193/106 -f 119/261/106 132/213/106 113/193/106 -f 143/262/88 138/219/88 125/263/88 -f 121/201/88 120/200/88 140/222/88 -f 129/209/89 130/210/89 135/216/89 -f 126/206/89 134/215/89 124/264/89 -f 130/210/89 137/218/89 135/216/89 -f 136/265/107 135/216/107 137/218/107 -f 121/201/87 140/222/87 139/266/87 -f 138/219/88 133/214/88 125/263/88 -f 134/215/89 144/267/89 124/264/89 -f 144/268/15 134/215/15 138/219/15 -f 131/269/107 136/265/107 137/218/107 -f 122/270/87 121/201/87 139/266/87 -f 143/271/15 144/268/15 138/219/15 -f 116/272/15 114/194/15 117/273/15 -f 120/200/91 123/274/91 145/275/91 -f 114/194/15 118/198/15 117/273/15 -f 141/223/91 120/200/91 145/275/91 -f 47/70/93 72/100/93 35/43/93 -f 29/32/94 75/104/94 42/58/94 -f 42/58/95 48/75/95 47/70/95 -f 37/46/96 73/101/96 38/47/96 -f 34/41/97 53/81/97 43/60/97 -f 43/60/98 74/102/98 37/46/98 -f 46/67/99 60/88/99 33/40/99 -f 45/65/100 62/90/100 41/55/100 -f 41/55/101 77/108/101 46/67/101 -f 39/51/102 65/93/102 40/52/102 -f 36/62/103 68/96/103 44/63/103 -f 44/63/104 79/113/104 39/51/104 -f 36/44/20 35/43/20 71/99/88 -f 141/223/92 145/276/92 139/221/92 -f 38/47/16 56/84/91 75/104/91 -f 53/81/89 34/41/19 33/40/19 -f 62/90/87 45/65/21 78/110/87 -f 68/252/88 36/44/20 71/99/88 -f 29/32/16 38/47/16 75/104/91 -f 59/87/89 53/81/89 33/40/19 diff --git a/src/main/resources/assets/hbm/models/missilePad.obj b/src/main/resources/assets/hbm/models/missilePad.obj deleted file mode 100644 index f2d38a4bf..000000000 --- a/src/main/resources/assets/hbm/models/missilePad.obj +++ /dev/null @@ -1,172 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'missilePad.blend' -# www.blender.org -o Cube_Cube.001 -v -1.500000 1.000000 1.500000 -v -1.500000 1.000000 -1.500000 -v 1.500000 1.000000 1.500000 -v 1.500000 1.000000 -1.500000 -v -1.500000 0.500000 -0.500000 -v -1.500000 0.500000 0.500000 -v 0.500000 0.500000 -1.500000 -v -0.500000 0.500000 -1.500000 -v 1.500000 0.500000 0.500000 -v 1.500000 0.500000 -0.500000 -v -0.500000 0.500000 1.500000 -v 0.500000 0.500000 1.500000 -v -0.500000 0.500000 0.500000 -v 0.500000 0.500000 0.500000 -v -0.500000 0.500000 -0.500000 -v 0.500000 0.500000 -0.500000 -v -1.750000 0.000000 1.750000 -v -1.750000 0.000000 -1.750000 -v 1.750000 0.000000 1.750000 -v 1.750000 0.000000 -1.750000 -v -1.750000 0.000000 -0.500000 -v -1.750000 0.000000 0.500000 -v 0.500000 0.000000 -1.750000 -v -0.500000 0.000000 -1.750000 -v 1.750000 0.000000 0.500000 -v 1.750000 0.000000 -0.500000 -v -0.500000 0.000000 1.750000 -v 0.500000 0.000000 1.750000 -v -0.500000 0.000000 0.500000 -v 0.500000 0.000000 0.500000 -v -0.500000 0.000000 -0.500000 -v 0.500000 0.000000 -0.500000 -v -1.500000 0.500000 -1.500000 -v 1.500000 0.500000 -1.500000 -v -1.500000 0.500000 1.500000 -v 1.500000 0.500000 1.500000 -v -0.500000 1.000000 0.500000 -v 0.500000 1.000000 0.500000 -v -0.500000 1.000000 -0.500000 -v 0.500000 1.000000 -0.500000 -vt 0.020000 0.530000 -vt 0.180000 0.370000 -vt 0.340000 0.370000 -vt 0.740000 0.060000 -vt 0.740000 0.220000 -vt 0.580000 0.220000 -vt 0.580000 0.060000 -vt 0.180000 0.210000 -vt 0.020000 0.660000 -vt 0.180000 0.580000 -vt 0.340000 0.580000 -vt 0.930000 0.710000 -vt 0.930000 0.870000 -vt 0.850000 0.870000 -vt 0.690000 0.950000 -vt 0.650000 0.870000 -vt 0.650000 0.670000 -vt 0.850000 0.670000 -vt 0.690000 0.580000 -vt 0.560000 0.870000 -vt 0.560000 0.710000 -vt 0.500000 0.660000 -vt 0.850000 0.580000 -vt 0.500000 0.530000 -vt 0.340000 0.210000 -vt 0.740000 0.300000 -vt 0.580000 0.300000 -vt 0.020000 0.050000 -vt 0.740000 0.360000 -vt 0.740000 0.520000 -vt 0.580000 0.520000 -vt 0.500000 0.580000 -vt 0.020000 0.580000 -vt 0.850000 0.950000 -vt 0.500000 0.050000 -vt 0.580000 0.360000 -vn 0.000000 1.000000 0.000000 -vn 0.000000 -1.000000 0.000000 -vn -1.000000 0.000000 0.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 0.000000 1.000000 -vn 0.000000 0.000000 -1.000000 -vn 0.000000 0.447200 0.894400 -vn 0.894400 0.447200 0.000000 -vn 0.000000 0.447200 -0.894400 -vn -0.894400 0.447200 0.000000 -s off -f 2/1/1 39/2/1 40/3/1 -f 5/4/2 15/5/2 13/6/2 -f 13/5/2 14/6/2 12/7/2 -f 16/6/2 10/7/2 9/4/2 -f 8/7/2 7/4/2 16/5/2 -f 37/8/1 39/2/1 2/1/1 -f 2/9/3 5/10/3 6/11/3 -f 12/12/3 14/13/3 30/14/3 -f 7/15/3 23/16/3 32/14/3 -f 10/11/4 3/9/4 9/10/4 -f 10/12/5 16/13/5 32/14/5 -f 23/16/2 20/17/2 26/18/2 -f 30/14/2 25/16/2 19/17/2 -f 22/18/2 29/14/2 27/16/2 -f 18/17/2 24/18/2 31/14/2 -f 9/15/6 25/16/6 30/14/6 -f 29/14/6 22/18/6 6/12/6 -f 11/15/4 27/16/4 29/14/4 -f 31/14/4 24/18/4 8/12/4 -f 5/15/5 21/16/5 31/14/5 -f 28/18/7 19/17/7 36/19/7 -f 25/16/8 9/20/8 36/21/8 -f 2/22/6 4/9/6 7/10/6 -f 26/18/8 20/17/8 34/19/8 -f 34/21/9 20/17/9 23/16/9 -f 1/9/5 11/10/5 12/11/5 -f 33/19/9 8/23/9 24/18/9 -f 21/16/10 5/20/10 33/21/10 -f 35/19/10 6/23/10 22/18/10 -f 27/16/7 11/20/7 35/21/7 -f 4/24/1 40/3/1 38/25/1 -f 40/26/5 39/27/5 15/6/5 -f 38/26/3 40/27/3 16/6/3 -f 15/5/4 39/26/4 37/27/4 -f 13/5/6 37/26/6 38/27/6 -f 38/25/1 37/8/1 1/28/1 -f 38/29/1 40/30/1 39/31/1 -f 4/24/1 2/1/1 40/3/1 -f 6/7/2 5/4/2 13/6/2 -f 11/4/2 13/5/2 12/7/2 -f 14/5/2 16/6/2 9/4/2 -f 15/6/2 8/7/2 16/5/2 -f 1/28/1 37/8/1 2/1/1 -f 6/11/3 35/32/3 1/22/3 -f 1/22/3 2/9/3 6/11/3 -f 33/33/3 5/10/3 2/9/3 -f 28/18/3 12/12/3 30/14/3 -f 16/34/3 7/15/3 32/14/3 -f 36/33/4 9/10/4 3/9/4 -f 10/11/4 34/32/4 4/22/4 -f 4/22/4 3/9/4 10/11/4 -f 26/18/5 10/12/5 32/14/5 -f 32/14/2 23/16/2 26/18/2 -f 28/18/2 30/14/2 19/17/2 -f 17/17/2 22/18/2 27/16/2 -f 21/16/2 18/17/2 31/14/2 -f 14/34/6 9/15/6 30/14/6 -f 13/13/6 29/14/6 6/12/6 -f 13/34/4 11/15/4 29/14/4 -f 15/13/4 31/14/4 8/12/4 -f 15/34/5 5/15/5 31/14/5 -f 12/23/7 28/18/7 36/19/7 -f 19/17/8 25/16/8 36/21/8 -f 7/10/6 8/11/6 2/22/6 -f 33/32/6 2/22/6 8/11/6 -f 4/9/6 34/33/6 7/10/6 -f 10/23/8 26/18/8 34/19/8 -f 7/20/9 34/21/9 23/16/9 -f 12/11/5 36/32/5 3/22/5 -f 3/22/5 1/9/5 12/11/5 -f 35/33/5 11/10/5 1/9/5 -f 18/17/9 33/19/9 24/18/9 -f 18/17/10 21/16/10 33/21/10 -f 17/17/10 35/19/10 22/18/10 -f 17/17/7 27/16/7 35/21/7 -f 3/35/1 4/24/1 38/25/1 -f 16/5/5 40/26/5 15/6/5 -f 14/5/3 38/26/3 16/6/3 -f 13/6/4 15/5/4 37/27/4 -f 14/6/6 13/5/6 38/27/6 -f 3/35/1 38/25/1 1/28/1 -f 37/36/1 38/29/1 39/31/1 diff --git a/src/main/resources/assets/hbm/models/missileTaint.obj b/src/main/resources/assets/hbm/models/missileTaint.obj deleted file mode 100644 index eca5a7b9a..000000000 --- a/src/main/resources/assets/hbm/models/missileTaint.obj +++ /dev/null @@ -1,528 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'missileTaint.blend' -# www.blender.org -o Cylinder -v 0.000000 0.350000 -0.250000 -v -0.000000 4.000000 -0.062500 -v 0.125000 0.350000 -0.216506 -v 0.031250 4.000000 -0.054127 -v 0.216506 0.350000 -0.125000 -v 0.054127 4.000000 -0.031250 -v 0.250000 0.350000 0.000000 -v 0.062500 4.000000 0.000000 -v 0.216506 0.350000 0.125000 -v 0.054127 4.000000 0.031250 -v 0.125000 0.350000 0.216506 -v 0.031250 4.000000 0.054127 -v 0.000000 0.350000 0.250000 -v 0.000000 4.000000 0.062500 -v -0.125000 0.350000 0.216506 -v -0.031250 4.000000 0.054127 -v -0.216506 0.350000 0.125000 -v -0.054127 4.000000 0.031250 -v -0.250000 0.350000 0.000000 -v -0.062500 4.000000 0.000000 -v -0.216506 0.350000 -0.125000 -v -0.054127 4.000000 -0.031250 -v -0.125000 0.350000 -0.216506 -v -0.031250 4.000000 -0.054127 -v 0.000000 2.750000 -0.250000 -v -0.000000 3.250000 -0.225000 -v -0.000000 3.750000 -0.150000 -v 0.075000 3.750000 -0.129904 -v 0.112500 3.250000 -0.194856 -v 0.125000 2.750000 -0.216506 -v 0.129904 3.750000 -0.075000 -v 0.194856 3.250000 -0.112500 -v 0.216506 2.750000 -0.125000 -v 0.150000 3.750000 0.000000 -v 0.225000 3.250000 0.000000 -v 0.250000 2.750000 0.000000 -v 0.129904 3.750000 0.075000 -v 0.194856 3.250000 0.112500 -v 0.216506 2.750000 0.125000 -v 0.075000 3.750000 0.129904 -v 0.112500 3.250000 0.194856 -v 0.125000 2.750000 0.216506 -v 0.000000 3.750000 0.150000 -v 0.000000 3.250000 0.225000 -v 0.000000 2.750000 0.250000 -v -0.075000 3.750000 0.129904 -v -0.112500 3.250000 0.194856 -v -0.125000 2.750000 0.216506 -v -0.129904 3.750000 0.075000 -v -0.194856 3.250000 0.112500 -v -0.216506 2.750000 0.125000 -v -0.150000 3.750000 0.000000 -v -0.225000 3.250000 0.000000 -v -0.250000 2.750000 0.000000 -v -0.129904 3.750000 -0.075000 -v -0.194856 3.250000 -0.112500 -v -0.216506 2.750000 -0.125000 -v -0.075000 3.750000 -0.129904 -v -0.112500 3.250000 -0.194856 -v -0.125000 2.750000 -0.216506 -v -0.000000 0.350000 -0.175000 -v 0.087500 0.350000 -0.151554 -v 0.151554 0.350000 -0.087500 -v 0.175000 0.350000 0.000000 -v 0.151554 0.350000 0.087500 -v 0.087500 0.350000 0.151554 -v 0.000000 0.350000 0.175000 -v -0.087500 0.350000 0.151554 -v -0.151554 0.350000 0.087500 -v -0.175000 0.350000 0.000000 -v -0.151554 0.350000 -0.087500 -v -0.087500 0.350000 -0.151554 -v -0.000000 0.000000 -0.250000 -v 0.125000 0.000000 -0.216506 -v 0.216506 0.000000 -0.125000 -v 0.250000 0.000000 0.000000 -v 0.216506 0.000000 0.125000 -v 0.125000 0.000000 0.216506 -v -0.000000 0.000000 0.250000 -v -0.125000 0.000000 0.216506 -v -0.216506 0.000000 0.125000 -v -0.250000 0.000000 0.000000 -v -0.216507 0.000000 -0.125000 -v -0.125000 0.000000 -0.216506 -v 0.000000 0.650000 -0.250000 -v 0.250000 0.650000 0.000000 -v 0.000000 0.650000 0.250000 -v -0.250000 0.650000 0.000000 -v -0.000000 0.650000 -0.750000 -v 0.750000 0.650000 -0.000000 -v 0.000000 0.650000 0.750000 -v -0.750000 0.650000 0.000000 -v 0.000000 1.150000 -0.250000 -v 0.250000 1.150000 0.000000 -v 0.000000 1.150000 0.250000 -v -0.250000 1.150000 0.000000 -v -0.000000 1.050000 -0.750000 -v 0.750000 1.050000 -0.000000 -v 0.000000 1.050000 0.750000 -v -0.750000 1.050000 0.000000 -vt 0.121181 0.903536 -vt 0.115495 0.969798 -vt 0.107372 0.969798 -vt 0.083002 0.969797 -vt 0.074879 0.969797 -vt 0.069193 0.903536 -vt 0.056196 0.903536 -vt 0.050509 0.969797 -vt 0.042386 0.969797 -vt 0.407930 0.969798 -vt 0.399807 0.969798 -vt 0.394121 0.903536 -vt 0.381124 0.903536 -vt 0.375438 0.969798 -vt 0.367314 0.969798 -vt 0.348631 0.903536 -vt 0.342945 0.969798 -vt 0.334822 0.969798 -vt 0.316138 0.903536 -vt 0.310452 0.969798 -vt 0.302329 0.969798 -vt 0.277959 0.969798 -vt 0.269836 0.969798 -vt 0.264150 0.903536 -vt 0.251153 0.903536 -vt 0.245466 0.969798 -vt 0.237343 0.969798 -vt 0.212973 0.969798 -vt 0.204850 0.969798 -vt 0.199164 0.903536 -vt 0.480519 0.782469 -vt 0.510835 0.774346 -vt 0.506774 0.789504 -vt 0.147988 0.969797 -vt 0.139865 0.969797 -vt 0.134178 0.903535 -vt 0.186167 0.903536 -vt 0.180481 0.969798 -vt 0.172357 0.969798 -vt 0.257652 0.048392 -vt 0.262525 0.030203 -vt 0.285270 0.030203 -vt 0.192666 0.650994 -vt 0.160173 0.650994 -vt 0.160174 0.048392 -vt 0.191041 0.776683 -vt 0.161798 0.776683 -vt 0.166671 0.903536 -vt 0.127680 0.650994 -vt 0.127682 0.048392 -vt 0.158548 0.776682 -vt 0.129305 0.776682 -vt 0.153674 0.903536 -vt 0.225159 0.650994 -vt 0.192667 0.048392 -vt 0.223534 0.776683 -vt 0.194290 0.776683 -vt 0.218660 0.903536 -vt 0.257651 0.650994 -vt 0.225159 0.048392 -vt 0.256027 0.776683 -vt 0.226783 0.776683 -vt 0.231657 0.903536 -vt 0.290144 0.650994 -vt 0.288519 0.776683 -vt 0.259276 0.776683 -vt 0.283645 0.903536 -vt 0.322637 0.650994 -vt 0.290144 0.048392 -vt 0.321012 0.776683 -vt 0.291769 0.776683 -vt 0.296642 0.903536 -vt 0.355129 0.650994 -vt 0.322637 0.048392 -vt 0.353505 0.776683 -vt 0.324261 0.776683 -vt 0.329135 0.903536 -vt 0.387622 0.650994 -vt 0.355129 0.048392 -vt 0.385998 0.776683 -vt 0.356754 0.776683 -vt 0.361628 0.903536 -vt 0.420115 0.650994 -vt 0.387621 0.048392 -vt 0.418490 0.776683 -vt 0.389247 0.776683 -vt 0.413617 0.903536 -vt 0.062695 0.650994 -vt 0.030202 0.650994 -vt 0.030204 0.048392 -vt 0.061070 0.776682 -vt 0.031827 0.776682 -vt 0.036700 0.903536 -vt 0.095188 0.650994 -vt 0.062697 0.048392 -vt 0.093563 0.776683 -vt 0.064319 0.776682 -vt 0.088689 0.903536 -vt 0.095189 0.048392 -vt 0.126056 0.776683 -vt 0.096812 0.776683 -vt 0.101686 0.903536 -vt 0.696232 0.316491 -vt 0.647140 0.241209 -vt 0.675280 0.224963 -vt 0.295018 0.030203 -vt 0.317763 0.030203 -vt 0.327510 0.030203 -vt 0.350255 0.030203 -vt 0.360003 0.030203 -vt 0.382748 0.030203 -vt 0.392495 0.030203 -vt 0.415240 0.030203 -vt 0.132555 0.030203 -vt 0.155300 0.030203 -vt 0.100063 0.030202 -vt 0.122808 0.030203 -vt 0.035078 0.030202 -vt 0.057823 0.030202 -vt 0.165048 0.030203 -vt 0.187793 0.030203 -vt 0.067570 0.030202 -vt 0.090315 0.030202 -vt 0.197540 0.030203 -vt 0.230033 0.030203 -vt 0.675280 0.136191 -vt 0.586508 0.224963 -vt 0.570262 0.164331 -vt 0.766808 0.115239 -vt 0.691526 0.164331 -vt 0.480519 0.191949 -vt 0.480519 0.169205 -vt 0.545858 0.056035 -vt 0.565555 0.044663 -vt 0.614647 0.119945 -vt 0.619521 0.330951 -vt 0.614647 0.241209 -vt 0.781268 0.191949 -vt 0.691526 0.196823 -vt 0.506352 0.095541 -vt 0.586508 0.136191 -vt 0.619521 0.030202 -vt 0.642266 0.030202 -vt 0.647140 0.119945 -vt 0.545858 0.305119 -vt 0.755436 0.265613 -vt 0.715930 0.056035 -vt 0.494979 0.245915 -vt 0.570262 0.196823 -vt 0.606062 0.491790 -vt 0.480519 0.516898 -vt 0.480519 0.391356 -vt 0.606062 0.577303 -vt 0.606061 0.702845 -vt 0.480519 0.677736 -vt 0.792008 0.391356 -vt 0.792008 0.516898 -vt 0.666466 0.491790 -vt 0.792008 0.677736 -vt 0.666466 0.702845 -vt 0.666466 0.577302 -vt 0.499739 0.793565 -vt 0.491616 0.793565 -vt 0.484581 0.789504 -vt 0.480519 0.774346 -vt 0.484581 0.767311 -vt 0.491616 0.763249 -vt 0.499739 0.763249 -vt 0.506774 0.767311 -vt 0.510835 0.782469 -vt 0.420114 0.048392 -vt 0.715930 0.305119 -vt 0.220285 0.030203 -vt 0.252778 0.030203 -vt 0.755436 0.095541 -vt 0.642266 0.330951 -vt 0.781268 0.169205 -vt 0.494980 0.115239 -vt 0.565556 0.316491 -vt 0.766808 0.245915 -vt 0.696232 0.044663 -vt 0.506352 0.265613 -vt 0.606061 0.391356 -vt 0.480519 0.577303 -vt 0.666466 0.391356 -vt 0.792008 0.577303 -vn 0.245200 0.320300 -0.915000 -vn 0.669900 0.320300 -0.669900 -vn 0.915000 0.320300 -0.245200 -vn 0.915000 0.320300 0.245200 -vn 0.669900 0.320300 0.669900 -vn 0.245200 0.320300 0.915000 -vn -0.245200 0.320300 0.915000 -vn -0.669900 0.320300 0.669900 -vn -0.915000 0.320300 0.245200 -vn -0.915000 0.320300 -0.245200 -vn 0.000000 1.000000 0.000000 -vn -0.245200 0.320300 -0.915000 -vn -0.669900 0.320300 -0.669900 -vn 0.000000 -1.000000 -0.000000 -vn -0.707100 0.000000 -0.707100 -vn -0.706300 0.048200 -0.706300 -vn -0.699800 0.143400 -0.699800 -vn -0.258800 0.000000 -0.965900 -vn -0.258500 0.048200 -0.964800 -vn -0.256100 0.143400 -0.955900 -vn -0.965900 0.000000 -0.258800 -vn -0.964800 0.048200 -0.258500 -vn -0.955900 0.143400 -0.256100 -vn -0.965900 0.000000 0.258800 -vn -0.964800 0.048200 0.258500 -vn -0.955900 0.143400 0.256100 -vn -0.707100 0.000000 0.707100 -vn -0.706300 0.048200 0.706300 -vn -0.699800 0.143400 0.699800 -vn -0.258800 0.000000 0.965900 -vn -0.258500 0.048200 0.964800 -vn -0.256100 0.143400 0.955900 -vn 0.258800 0.000000 0.965900 -vn 0.258500 0.048200 0.964800 -vn 0.256100 0.143400 0.955900 -vn 0.707100 0.000000 0.707100 -vn 0.706300 0.048200 0.706300 -vn 0.699800 0.143400 0.699800 -vn 0.965900 0.000000 0.258800 -vn 0.964800 0.048200 0.258500 -vn 0.955900 0.143400 0.256100 -vn 0.965900 0.000000 -0.258800 -vn 0.964800 0.048200 -0.258500 -vn 0.955900 0.143400 -0.256100 -vn 0.707100 0.000000 -0.707100 -vn 0.706300 0.048200 -0.706300 -vn 0.699800 0.143400 -0.699800 -vn 0.258800 0.000000 -0.965900 -vn 0.258500 0.048200 -0.964800 -vn 0.256100 0.143400 -0.955900 -vn -0.253400 0.202700 0.945900 -vn 0.945900 0.202700 0.253400 -vn -0.692400 0.202700 -0.692400 -vn 0.253400 0.202700 -0.945900 -vn -0.692400 0.202700 0.692400 -vn 0.692400 0.202700 0.692400 -vn -0.253400 0.202700 -0.945900 -vn 0.692400 0.202700 -0.692400 -vn -0.945900 0.202700 0.253400 -vn 0.253400 0.202700 0.945900 -vn 0.945900 0.202700 -0.253400 -vn -0.945900 0.202700 -0.253400 -vn 1.000000 0.000000 -0.000000 -vn -0.000000 0.000000 -1.000000 -vn 0.000000 0.000000 1.000000 -vn -1.000000 0.000000 0.000000 -s off -f 27/1/1 2/2/1 4/3/1 -f 4/4/2 6/5/2 31/6/2 -f 31/7/3 6/8/3 8/9/3 -f 8/10/4 10/11/4 37/12/4 -f 37/13/5 10/14/5 12/15/5 -f 40/16/6 12/17/6 14/18/6 -f 43/19/7 14/20/7 16/21/7 -f 16/22/8 18/23/8 49/24/8 -f 49/25/9 18/26/9 20/27/9 -f 20/28/10 22/29/10 55/30/10 -f 22/31/11 10/32/11 6/33/11 -f 24/34/12 2/35/12 27/36/12 -f 55/37/13 22/38/13 24/39/13 -f 17/40/14 69/41/14 68/42/14 -f 57/43/15 60/44/15 23/45/15 -f 56/46/16 59/47/16 60/44/16 -f 55/37/17 58/48/17 59/47/17 -f 60/44/18 25/49/18 1/50/18 -f 60/44/19 59/51/19 26/52/19 -f 59/51/20 58/53/20 27/36/20 -f 54/54/21 57/43/21 21/55/21 -f 54/54/22 53/56/22 56/57/22 -f 52/58/23 55/30/23 56/57/23 -f 51/59/24 54/54/24 19/60/24 -f 50/61/25 53/62/25 54/54/25 -f 50/61/26 49/25/26 52/63/26 -f 48/64/27 51/59/27 17/40/27 -f 48/64/28 47/65/28 50/66/28 -f 46/67/29 49/24/29 50/66/29 -f 45/68/30 48/64/30 15/69/30 -f 44/70/31 47/71/31 48/64/31 -f 44/70/32 43/19/32 46/72/32 -f 42/73/33 45/68/33 13/74/33 -f 41/75/34 44/76/34 45/68/34 -f 40/16/35 43/77/35 44/76/35 -f 39/78/36 42/73/36 11/79/36 -f 38/80/37 41/81/37 42/73/37 -f 37/13/38 40/82/38 41/81/38 -f 36/83/39 39/78/39 9/84/39 -f 36/83/40 35/85/40 38/86/40 -f 34/87/41 37/12/41 38/86/41 -f 33/88/42 36/89/42 7/90/42 -f 32/91/43 35/92/43 36/89/43 -f 32/91/44 31/7/44 34/93/44 -f 30/94/45 33/88/45 5/95/45 -f 30/94/46 29/96/46 32/97/46 -f 29/96/47 28/98/47 31/6/47 -f 25/49/48 30/94/48 3/99/48 -f 26/100/49 29/101/49 30/94/49 -f 26/100/50 27/1/50 28/102/50 -f 68/103/51 80/104/51 79/105/51 -f 15/69/14 68/106/14 67/107/14 -f 13/74/14 67/108/14 66/109/14 -f 11/79/14 66/110/14 65/111/14 -f 9/84/14 65/112/14 64/113/14 -f 1/50/14 61/114/14 72/115/14 -f 3/99/14 62/116/14 61/117/14 -f 7/90/14 64/118/14 63/119/14 -f 23/45/14 72/120/14 71/121/14 -f 5/95/14 63/122/14 62/123/14 -f 19/60/14 21/55/14 71/124/14 -f 17/40/14 19/60/14 70/125/14 -f 76/126/14 82/127/14 84/128/14 -f 65/129/52 77/130/52 76/126/52 -f 71/131/53 72/132/53 84/128/53 -f 61/133/54 62/134/54 74/135/54 -f 69/136/55 81/137/55 80/104/55 -f 66/138/56 78/139/56 77/130/56 -f 61/140/57 73/141/57 84/128/57 -f 62/142/58 63/143/58 75/144/58 -f 70/145/59 82/127/59 81/137/59 -f 67/146/60 79/105/60 78/139/60 -f 64/147/61 76/126/61 75/144/61 -f 71/148/62 83/149/62 82/127/62 -f 97/150/63 93/151/63 85/152/63 -f 86/153/64 94/154/64 98/155/64 -f 88/156/65 96/157/65 100/158/65 -f 99/159/66 95/160/66 87/161/66 -f 28/102/1 27/1/1 4/3/1 -f 28/98/2 4/4/2 31/6/2 -f 34/93/3 31/7/3 8/9/3 -f 34/87/4 8/10/4 37/12/4 -f 40/82/5 37/13/5 12/15/5 -f 43/77/6 40/16/6 14/18/6 -f 46/72/7 43/19/7 16/21/7 -f 46/67/8 16/22/8 49/24/8 -f 52/63/9 49/25/9 20/27/9 -f 52/58/10 20/28/10 55/30/10 -f 6/33/11 4/162/11 2/163/11 -f 2/163/11 24/164/11 22/31/11 -f 22/31/11 20/165/11 18/166/11 -f 18/166/11 16/167/11 14/168/11 -f 14/168/11 12/169/11 10/32/11 -f 10/32/11 8/170/11 6/33/11 -f 6/33/11 2/163/11 22/31/11 -f 22/31/11 18/166/11 14/168/11 -f 14/168/11 10/32/11 22/31/11 -f 58/53/12 24/34/12 27/36/12 -f 58/48/13 55/37/13 24/39/13 -f 15/69/14 17/40/14 68/42/14 -f 21/55/15 57/43/15 23/45/15 -f 57/43/16 56/46/16 60/44/16 -f 56/46/17 55/37/17 59/47/17 -f 23/45/18 60/44/18 1/50/18 -f 25/49/19 60/44/19 26/52/19 -f 26/52/20 59/51/20 27/36/20 -f 19/60/21 54/54/21 21/55/21 -f 57/43/22 54/54/22 56/57/22 -f 53/56/23 52/58/23 56/57/23 -f 17/40/24 51/59/24 19/60/24 -f 51/59/25 50/61/25 54/54/25 -f 53/62/26 50/61/26 52/63/26 -f 15/69/27 48/64/27 17/40/27 -f 51/59/28 48/64/28 50/66/28 -f 47/65/29 46/67/29 50/66/29 -f 13/74/30 45/68/30 15/69/30 -f 45/68/31 44/70/31 48/64/31 -f 47/71/32 44/70/32 46/72/32 -f 11/79/33 42/73/33 13/74/33 -f 42/73/34 41/75/34 45/68/34 -f 41/75/35 40/16/35 44/76/35 -f 9/84/36 39/78/36 11/79/36 -f 39/78/37 38/80/37 42/73/37 -f 38/80/38 37/13/38 41/81/38 -f 7/171/39 36/83/39 9/84/39 -f 39/78/40 36/83/40 38/86/40 -f 35/85/41 34/87/41 38/86/41 -f 5/95/42 33/88/42 7/90/42 -f 33/88/43 32/91/43 36/89/43 -f 35/92/44 32/91/44 34/93/44 -f 3/99/45 30/94/45 5/95/45 -f 33/88/46 30/94/46 32/97/46 -f 32/97/47 29/96/47 31/6/47 -f 1/50/48 25/49/48 3/99/48 -f 25/49/49 26/100/49 30/94/49 -f 29/101/50 26/100/50 28/102/50 -f 67/172/51 68/103/51 79/105/51 -f 13/74/14 15/69/14 67/107/14 -f 11/79/14 13/74/14 66/109/14 -f 9/84/14 11/79/14 65/111/14 -f 7/171/14 9/84/14 64/113/14 -f 23/45/14 1/50/14 72/115/14 -f 1/50/14 3/99/14 61/117/14 -f 5/95/14 7/90/14 63/119/14 -f 21/55/14 23/45/14 71/121/14 -f 3/99/14 5/95/14 62/123/14 -f 70/173/14 19/60/14 71/124/14 -f 69/174/14 17/40/14 70/125/14 -f 84/128/14 73/141/14 74/135/14 -f 74/135/14 75/144/14 76/126/14 -f 76/126/14 77/130/14 78/139/14 -f 78/139/14 79/105/14 80/104/14 -f 80/104/14 81/137/14 82/127/14 -f 82/127/14 83/149/14 84/128/14 -f 84/128/14 74/135/14 76/126/14 -f 76/126/14 78/139/14 80/104/14 -f 80/104/14 82/127/14 76/126/14 -f 64/175/52 65/129/52 76/126/52 -f 83/149/53 71/131/53 84/128/53 -f 73/141/54 61/133/54 74/135/54 -f 68/176/55 69/136/55 80/104/55 -f 65/177/56 66/138/56 77/130/56 -f 72/178/57 61/140/57 84/128/57 -f 74/135/58 62/142/58 75/144/58 -f 69/179/59 70/145/59 81/137/59 -f 66/180/60 67/146/60 78/139/60 -f 63/181/61 64/147/61 75/144/61 -f 70/182/62 71/148/62 82/127/62 -f 89/183/63 97/150/63 85/152/63 -f 90/184/64 86/153/64 98/155/64 -f 92/185/65 88/156/65 100/158/65 -f 91/186/66 99/159/66 87/161/66 diff --git a/src/main/resources/assets/hbm/models/missileThermo.obj b/src/main/resources/assets/hbm/models/missileThermo.obj deleted file mode 100644 index a4cb297aa..000000000 --- a/src/main/resources/assets/hbm/models/missileThermo.obj +++ /dev/null @@ -1,847 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'MissileThermo.blend' -# www.blender.org -o Cylinder -v -0.097545 0.500000 -0.490393 -v 0.097545 0.500000 -0.490393 -v 0.073159 0.000000 -0.367794 -v 0.277785 0.500000 -0.415735 -v 0.208339 0.000000 -0.311801 -v 0.415735 0.500000 -0.277785 -v 0.311801 0.000000 -0.208339 -v 0.490393 0.500000 -0.097545 -v 0.367794 0.000000 -0.073159 -v 0.490393 0.500000 0.097545 -v 0.367794 -0.000000 0.073159 -v 0.415735 0.500000 0.277785 -v 0.311801 -0.000000 0.208339 -v 0.277785 0.500000 0.415735 -v 0.208339 -0.000000 0.311801 -v 0.097545 0.500000 0.490393 -v -0.097545 0.500000 0.490393 -v -0.073159 -0.000000 0.367794 -v -0.277785 0.500000 0.415735 -v -0.208339 -0.000000 0.311801 -v -0.415735 0.500000 0.277785 -v -0.311801 -0.000000 0.208339 -v -0.490393 0.500000 0.097545 -v -0.490393 0.500000 -0.097545 -v -0.367794 0.000000 -0.073159 -v -0.415735 0.500000 -0.277785 -v -0.311801 0.000000 -0.208339 -v 0.490393 3.000000 0.097545 -v 0.415735 3.000000 0.277785 -v -0.208339 0.000000 -0.311801 -v -0.277785 0.500000 -0.415735 -v 0.332588 4.500000 0.222228 -v 0.222228 4.500000 0.332588 -v -0.277785 3.000000 0.415735 -v -0.415735 3.000000 0.277785 -v -0.277785 3.000000 -0.415735 -v -0.097545 3.000000 -0.490393 -v 0.415735 3.000000 -0.277785 -v 0.490393 3.000000 -0.097545 -v -0.490393 3.000000 -0.097545 -v -0.415735 3.000000 -0.277785 -v 0.097545 3.000000 -0.490393 -v 0.277785 3.000000 -0.415735 -v 0.277785 3.000000 0.415735 -v -0.490393 3.000000 0.097545 -v -0.097545 3.000000 0.490393 -v 0.097545 3.000000 0.490393 -v -0.332588 4.500000 0.222228 -v -0.270228 4.750000 0.180560 -v -0.318755 4.750000 0.063404 -v -0.332588 4.500000 -0.222228 -v -0.222228 4.500000 -0.332588 -v -0.078036 4.500000 -0.392314 -v 0.078036 4.500000 -0.392314 -v 0.078036 4.500000 0.392314 -v -0.078036 4.500000 0.392314 -v -0.222228 4.500000 0.332588 -v 0.222228 4.500000 -0.332588 -v 0.332588 4.500000 -0.222228 -v 0.392314 4.500000 -0.078036 -v -0.392314 4.500000 0.078036 -v 0.392314 4.500000 0.078036 -v -0.392314 4.500000 -0.078036 -v -0.180560 4.750000 0.270228 -v -0.063404 4.750000 0.318755 -v -0.073159 5.000000 0.367795 -v 0.318755 4.750000 -0.063404 -v -0.318755 4.750000 -0.063404 -v 0.318755 4.750000 0.063404 -v 0.270227 4.750000 0.180560 -v -0.270228 4.750000 -0.180560 -v 0.180560 4.750000 0.270228 -v -0.063405 4.750000 -0.318755 -v 0.063404 4.750000 -0.318755 -v -0.180560 4.750000 -0.270228 -v 0.063404 4.750000 0.318755 -v 0.180560 4.750000 -0.270228 -v 0.270227 4.750000 -0.180560 -v -0.311801 5.000000 -0.208339 -v -0.311801 6.500000 -0.208339 -v -0.208339 6.500000 -0.311801 -v 0.208338 5.000000 -0.311801 -v 0.311801 5.000000 -0.208339 -v -0.208339 5.000000 0.311801 -v -0.311801 5.000000 0.208339 -v 0.367794 5.000000 -0.073159 -v -0.367795 5.000000 0.073159 -v -0.367795 5.000000 -0.073159 -v 0.367794 5.000000 0.073159 -v 0.311801 5.000000 0.208339 -v -0.208339 5.000000 -0.311801 -v 0.208339 5.000000 0.311801 -v 0.073159 5.000000 0.367794 -v -0.073159 5.000000 -0.367794 -v 0.073158 5.000000 -0.367794 -v 0.367794 6.500000 0.073159 -v 0.367794 6.500000 -0.073159 -v 0.220676 6.750000 -0.043895 -v 0.208339 6.500000 0.311801 -v 0.073159 6.500000 0.367794 -v -0.073159 6.500000 -0.367794 -v 0.073159 6.500000 -0.367794 -v -0.073159 6.500000 0.367795 -v 0.208339 6.500000 -0.311801 -v -0.208339 6.500000 0.311801 -v 0.311801 6.500000 -0.208339 -v -0.311801 6.500000 0.208339 -v -0.367795 6.500000 0.073159 -v -0.367795 6.500000 -0.073159 -v 0.311801 6.500000 0.208339 -v 0.187080 6.750000 -0.125003 -v 0.000000 6.900000 0.000000 -v -0.220677 6.750000 0.043895 -v -0.220677 6.750000 -0.043895 -v 0.220676 6.750000 0.043895 -v -0.187081 6.750000 -0.125003 -v 0.187080 6.750000 0.125003 -v 0.125003 6.750000 0.187081 -v 0.043895 6.750000 0.220677 -v -0.043896 6.750000 -0.220677 -v -0.125004 6.750000 -0.187081 -v 0.043895 6.750000 -0.220677 -v -0.043896 6.750000 0.220677 -v 0.125003 6.750000 -0.187081 -v -0.125004 6.750000 0.187081 -v -0.187081 6.750000 0.125003 -v -0.048773 0.500000 0.490393 -v 0.048772 0.500000 0.490393 -v -0.490393 0.500000 0.048773 -v -0.490393 0.500000 -0.048772 -v 0.048773 0.500000 -0.490393 -v -0.048772 0.500000 -0.490393 -v 0.490393 0.500000 -0.048772 -v 0.490393 0.500000 0.048773 -v -0.073159 0.000000 -0.367794 -v 0.073159 -0.000000 0.367794 -v -0.367794 -0.000000 0.073159 -v 0.048773 3.000000 -0.490393 -v -0.048772 3.000000 -0.490393 -v -0.048772 3.000000 0.490393 -v 0.048772 3.000000 0.490393 -v -0.048772 0.500000 -0.990393 -v 0.048773 0.500000 -0.990393 -v 0.048772 0.500000 0.990393 -v -0.048773 0.500000 0.990393 -v -0.490393 3.000000 -0.048773 -v -0.490393 3.000000 0.048772 -v 0.490393 3.000000 0.048773 -v 0.490393 3.000000 -0.048772 -v -0.990393 0.500000 0.048772 -v -0.990393 0.500000 -0.048773 -v 0.990393 0.500000 -0.048772 -v 0.990393 0.500000 0.048773 -vt 0.637050 0.082779 -vt 0.613897 0.082779 -vt 0.616792 0.021683 -vt 0.590745 0.082779 -vt 0.593639 0.021683 -vt 0.567592 0.082778 -vt 0.570487 0.021683 -vt 0.544439 0.082778 -vt 0.547334 0.021683 -vt 0.914881 0.082781 -vt 0.891728 0.082781 -vt 0.894623 0.021685 -vt 0.888835 0.021685 -vt 0.868576 0.082781 -vt 0.865682 0.021685 -vt 0.845423 0.082781 -vt 0.822271 0.082780 -vt 0.825165 0.021684 -vt 0.799118 0.082780 -vt 0.802012 0.021685 -vt 0.796224 0.021684 -vt 0.775965 0.082780 -vt 0.773072 0.021684 -vt 0.752813 0.082780 -vt 0.729660 0.082780 -vt 0.732555 0.021684 -vt 0.706508 0.082780 -vt 0.709402 0.021684 -vt 0.914879 0.379471 -vt 0.891726 0.379471 -vt 0.680461 0.021684 -vt 0.683355 0.082779 -vt 0.660202 0.082779 -vt 0.686250 0.021684 -vt 0.664143 0.659251 -vt 0.683067 0.630930 -vt 0.744795 0.643209 -vt 0.889410 0.557865 -vt 0.870888 0.557865 -vt 0.799116 0.379470 -vt 0.775963 0.379470 -vt 0.683353 0.379470 -vt 0.660200 0.379469 -vt 0.590742 0.379469 -vt 0.567590 0.379469 -vt 0.729658 0.379470 -vt 0.706505 0.379470 -vt 0.637048 0.379469 -vt 0.613895 0.379469 -vt 0.868574 0.379471 -vt 0.752811 0.379470 -vt 0.822269 0.379470 -vt 0.845421 0.379471 -vt 0.773647 0.557865 -vt 0.771910 0.588792 -vt 0.756861 0.588792 -vt 0.704189 0.557864 -vt 0.685667 0.557864 -vt 0.866258 0.557866 -vt 0.657884 0.557864 -vt 0.639362 0.557864 -vt 0.681036 0.557864 -vt 0.662514 0.557864 -vt 0.843105 0.557865 -vt 0.824583 0.557865 -vt 0.634731 0.557864 -vt 0.819952 0.557865 -vt 0.801430 0.557865 -vt 0.611578 0.557864 -vt 0.796800 0.557865 -vt 0.588426 0.557864 -vt 0.569904 0.557864 -vt 0.755125 0.557865 -vt 0.565273 0.557864 -vt 0.546751 0.557864 -vt 0.750494 0.557864 -vt 0.731972 0.557864 -vt 0.912563 0.557866 -vt 0.727342 0.557865 -vt 0.423279 0.021683 -vt 0.438328 0.021683 -vt 0.439486 0.051917 -vt 0.563536 0.588791 -vt 0.748758 0.588791 -vt 0.733709 0.588791 -vt 0.910826 0.588793 -vt 0.895777 0.588793 -vt 0.725605 0.588792 -vt 0.710556 0.588792 -vt 0.887674 0.588792 -vt 0.702453 0.588791 -vt 0.847735 0.557865 -vt 0.864521 0.588792 -vt 0.656147 0.588791 -vt 0.641098 0.588790 -vt 0.679300 0.588791 -vt 0.664251 0.588791 -vt 0.841368 0.588791 -vt 0.632994 0.588791 -vt 0.617945 0.588791 -vt 0.818216 0.588792 -vt 0.609842 0.588791 -vt 0.594792 0.588790 -vt 0.778277 0.557865 -vt 0.795063 0.588792 -vt 0.586689 0.588791 -vt 0.352664 0.051917 -vt 0.352664 0.229931 -vt 0.335300 0.229931 -vt 0.282049 0.021683 -vt 0.283206 0.051917 -vt 0.265842 0.051917 -vt 0.420964 0.021683 -vt 0.422122 0.051917 -vt 0.404757 0.051917 -vt 0.264684 0.021683 -vt 0.248477 0.051917 -vt 0.403600 0.021683 -vt 0.387393 0.051917 -vt 0.232271 0.021683 -vt 0.247320 0.021683 -vt 0.386235 0.021683 -vt 0.370028 0.051917 -vt 0.507786 0.021683 -vt 0.508944 0.051917 -vt 0.491579 0.051917 -vt 0.368871 0.021683 -vt 0.475372 0.021683 -vt 0.490422 0.021683 -vt 0.351506 0.021683 -vt 0.335299 0.051917 -vt 0.473057 0.021683 -vt 0.474215 0.051917 -vt 0.456851 0.051917 -vt 0.316778 0.021683 -vt 0.317935 0.051917 -vt 0.300571 0.051917 -vt 0.334142 0.021683 -vt 0.455693 0.021683 -vt 0.299413 0.021683 -vt 0.231112 0.229931 -vt 0.248477 0.229931 -vt 0.245004 0.264357 -vt 0.474215 0.229931 -vt 0.456851 0.229931 -vt 0.317935 0.229931 -vt 0.300570 0.229931 -vt 0.439486 0.229931 -vt 0.283206 0.229931 -vt 0.422122 0.229931 -vt 0.265842 0.229931 -vt 0.404757 0.229931 -vt 0.387393 0.229931 -vt 0.370028 0.229931 -vt 0.508944 0.229931 -vt 0.491580 0.229931 -vt 0.251950 0.264357 -vt 0.262369 0.264357 -vt 0.257159 0.296023 -vt 0.383920 0.264356 -vt 0.373501 0.264357 -vt 0.505472 0.264356 -vt 0.366555 0.264357 -vt 0.356137 0.264357 -vt 0.488107 0.264356 -vt 0.477688 0.264356 -vt 0.349191 0.264356 -vt 0.470743 0.264356 -vt 0.460324 0.264356 -vt 0.314462 0.264357 -vt 0.331827 0.264357 -vt 0.321408 0.264357 -vt 0.453378 0.264356 -vt 0.297098 0.264356 -vt 0.436013 0.264356 -vt 0.279733 0.264356 -vt 0.269314 0.264356 -vt 0.418649 0.264356 -vt 0.408230 0.264356 -vt 0.401285 0.264356 -vt 0.274523 0.296023 -vt 0.482898 0.296022 -vt 0.500262 0.296023 -vt 0.495053 0.264356 -vt 0.239795 0.296023 -vt 0.234585 0.264357 -vt 0.465533 0.296023 -vt 0.448169 0.296023 -vt 0.442959 0.264356 -vt 0.430804 0.296023 -vt 0.425595 0.264356 -vt 0.413440 0.296022 -vt 0.396075 0.296023 -vt 0.390866 0.264356 -vt 0.378711 0.296023 -vt 0.361346 0.296023 -vt 0.343982 0.296022 -vt 0.338772 0.264356 -vt 0.326617 0.296023 -vt 0.309253 0.296023 -vt 0.304043 0.264357 -vt 0.291888 0.296023 -vt 0.286679 0.264356 -vt 0.275742 0.693421 -vt 0.275742 0.390854 -vt 0.287318 0.693421 -vt 0.439182 0.390854 -vt 0.450758 0.693421 -vt 0.439182 0.693421 -vt 0.112301 0.693421 -vt 0.112301 0.390854 -vt 0.123877 0.693421 -vt 0.287318 0.331516 -vt 0.287318 0.390854 -vt 0.275742 0.331516 -vt 0.845119 0.683623 -vt 0.856695 0.986190 -vt 0.845119 0.986190 -vt 0.856695 0.683623 -vt 0.845119 0.624285 -vt 0.450758 0.390854 -vt 0.439182 0.331516 -vt 0.123877 0.390854 -vt 0.380996 0.402491 -vt 0.508944 0.402491 -vt 0.786933 0.695261 -vt 0.182063 0.402491 -vt 0.914881 0.695261 -vt 0.054115 0.402491 -vt 0.657309 0.021683 -vt 0.639944 0.021683 -vt 0.634156 0.021683 -vt 0.611004 0.021683 -vt 0.587851 0.021683 -vt 0.564698 0.021683 -vt 0.911987 0.021685 -vt 0.871470 0.021685 -vt 0.848318 0.021685 -vt 0.842530 0.021684 -vt 0.819377 0.021685 -vt 0.778860 0.021684 -vt 0.755707 0.021684 -vt 0.749919 0.021684 -vt 0.726766 0.021684 -vt 0.663097 0.021683 -vt 0.703614 0.021684 -vt 0.751440 0.659251 -vt 0.751440 0.676616 -vt 0.744795 0.692659 -vt 0.732517 0.704937 -vt 0.716474 0.711582 -vt 0.670788 0.692659 -vt 0.699110 0.711582 -vt 0.683067 0.704937 -vt 0.664143 0.676616 -vt 0.670788 0.643209 -vt 0.699110 0.624285 -vt 0.716474 0.624285 -vt 0.732517 0.630930 -vt 0.616209 0.557864 -vt 0.593056 0.557863 -vt 0.544437 0.379469 -vt 0.894041 0.557866 -vt 0.708820 0.557865 -vt 0.548487 0.588791 -vt 0.872624 0.588792 -vt 0.687403 0.588791 -vt 0.849472 0.588792 -vt 0.826319 0.588791 -vt 0.803167 0.588792 -vt 0.780014 0.588791 -vt 0.571640 0.588791 -vt 0.266999 0.021683 -vt 0.405915 0.021683 -vt 0.249635 0.021683 -vt 0.388550 0.021683 -vt 0.231113 0.051917 -vt 0.371186 0.021683 -vt 0.492737 0.021683 -vt 0.353822 0.021683 -vt 0.336457 0.021683 -vt 0.458008 0.021683 -vt 0.301728 0.021683 -vt 0.319093 0.021683 -vt 0.440644 0.021683 -vt 0.284364 0.021683 -vt 0.345504 0.402491 -vt 0.217556 0.402491 -vt 0.856695 0.624285 -vt 0.450758 0.331516 -vt 0.112301 0.331516 -vt 0.123877 0.331516 -vn 0.371700 -0.238100 -0.897300 -vn 0.686800 -0.238100 -0.686800 -vn 0.897300 -0.238100 -0.371700 -vn 0.971200 -0.238100 0.000000 -vn 0.897300 -0.238100 0.371700 -vn 0.686800 -0.238100 0.686800 -vn 0.371700 -0.238100 0.897300 -vn 0.000000 -0.238100 0.971200 -vn -0.371700 -0.238100 0.897300 -vn -0.686800 -0.238100 0.686800 -vn -0.897300 -0.238100 0.371700 -vn -0.971200 -0.238100 0.000000 -vn -0.897300 -0.238100 -0.371700 -vn 0.923900 -0.000000 0.382700 -vn -0.371700 -0.238100 -0.897300 -vn -0.686800 -0.238100 -0.686800 -vn 0.000000 -1.000000 -0.000000 -vn 0.705600 0.065200 0.705600 -vn -0.707100 -0.000000 0.707100 -vn -0.382700 0.000000 -0.923900 -vn 0.923900 0.000000 -0.382700 -vn -0.923900 0.000000 -0.382700 -vn 0.382700 0.000000 -0.923900 -vn 0.707100 -0.000000 0.707100 -vn -0.923900 -0.000000 0.382700 -vn -0.382700 -0.000000 0.923900 -vn -0.707100 0.000000 -0.707100 -vn 0.707100 0.000000 -0.707100 -vn 0.382700 -0.000000 0.923900 -vn -0.886300 0.282300 0.367100 -vn -0.705600 0.065200 -0.705600 -vn 0.381900 0.065200 0.921900 -vn 0.000000 0.065200 -0.997900 -vn -0.381900 0.065200 -0.921900 -vn 0.000000 0.065200 0.997900 -vn 0.381900 0.065200 -0.921900 -vn -0.381900 0.065200 0.921900 -vn 0.705600 0.065200 -0.705600 -vn -0.705600 0.065200 0.705600 -vn 0.921900 0.065200 -0.381900 -vn -0.921900 0.065200 0.381900 -vn 0.997900 0.065200 0.000000 -vn -0.997900 0.065200 0.000000 -vn 0.921900 0.065200 0.381900 -vn -0.921900 0.065200 -0.381900 -vn -0.375500 -0.192500 0.906600 -vn 0.959300 0.282300 0.000000 -vn -0.959300 0.282300 0.000000 -vn 0.886300 0.282300 0.367100 -vn -0.886300 0.282300 -0.367100 -vn 0.678400 0.282300 0.678400 -vn 0.678400 0.282300 0.678300 -vn -0.678400 0.282300 -0.678400 -vn 0.367100 0.282300 0.886300 -vn 0.000000 0.282300 -0.959300 -vn -0.367100 0.282300 -0.886300 -vn 0.000000 0.282300 0.959300 -vn 0.367100 0.282300 -0.886300 -vn -0.367100 0.282300 0.886300 -vn 0.678400 0.282300 -0.678400 -vn 0.678400 0.282300 -0.678300 -vn -0.678400 0.282300 0.678400 -vn 0.886300 0.282300 -0.367100 -vn 0.693900 -0.192500 -0.693900 -vn -0.693900 -0.192500 0.693900 -vn 0.906600 -0.192500 -0.375500 -vn -0.906600 -0.192500 0.375500 -vn 0.981300 -0.192500 0.000000 -vn -0.981300 -0.192500 0.000000 -vn 0.906600 -0.192500 0.375500 -vn -0.906600 -0.192500 -0.375500 -vn 0.693900 -0.192500 0.693900 -vn -0.693900 -0.192500 -0.693900 -vn 0.375500 -0.192500 0.906600 -vn 0.000000 -0.192500 -0.981300 -vn -0.375500 -0.192500 -0.906600 -vn 0.000000 -0.192500 0.981300 -vn 0.375500 -0.192500 -0.906600 -vn 0.861800 0.507200 0.000000 -vn 0.000000 0.000000 -1.000000 -vn 0.000000 -0.000000 1.000000 -vn 1.000000 -0.000000 0.000000 -vn -1.000000 0.000000 0.000000 -vn 0.519400 0.827000 -0.215100 -vn -0.861800 0.507200 0.000000 -vn 0.796200 0.507200 0.329800 -vn -0.796200 0.507200 -0.329800 -vn 0.609400 0.507200 0.609400 -vn -0.609400 0.507200 -0.609400 -vn 0.329800 0.507200 0.796200 -vn 0.000000 0.507200 -0.861800 -vn -0.329800 0.507200 -0.796200 -vn 0.000000 0.507200 0.861800 -vn 0.329800 0.507200 -0.796200 -vn -0.329800 0.507200 0.796200 -vn 0.609400 0.507200 -0.609400 -vn -0.609400 0.507200 0.609400 -vn 0.796200 0.507200 -0.329800 -vn -0.796200 0.507200 0.329800 -vn 0.397500 0.827000 -0.397500 -vn 0.397500 0.827000 0.397500 -vn 0.519400 0.827000 0.215100 -vn 0.562200 0.827000 0.000000 -vn 0.215100 0.827000 0.519400 -vn 0.000000 0.827000 0.562200 -vn -0.215100 0.827000 0.519400 -vn -0.397500 0.827000 0.397500 -vn -0.519400 0.827000 0.215100 -vn -0.562200 0.827000 0.000000 -vn -0.519400 0.827000 -0.215100 -vn -0.397500 0.827000 -0.397500 -vn -0.215100 0.827000 -0.519400 -vn 0.000000 0.827000 -0.562200 -vn 0.215100 0.827000 -0.519400 -vn 0.000000 0.196100 0.980600 -vn 0.980600 0.196100 0.000000 -vn 0.000000 0.196100 -0.980600 -vn -0.980600 0.196100 0.000000 -vn 0.000000 -0.238100 -0.971200 -vn 0.000000 -0.118100 -0.993000 -s 1 -f 2/1/1 4/2/1 5/3/1 -f 4/2/2 6/4/2 7/5/2 -f 6/4/3 8/6/3 9/7/3 -f 8/6/4 10/8/4 11/9/4 -f 10/10/5 12/11/5 13/12/5 -f 13/13/6 12/11/6 14/14/6 -f 15/15/7 14/14/7 16/16/7 -f 16/16/8 17/17/8 18/18/8 -f 17/17/9 19/19/9 20/20/9 -f 20/21/10 19/19/10 21/22/10 -f 22/23/11 21/22/11 23/24/11 -f 23/24/12 24/25/12 25/26/12 -f 24/25/13 26/27/13 27/28/13 -f 10/10/14 28/29/14 29/30/14 -f 30/31/15 31/32/15 1/33/15 -f 26/27/16 31/32/16 30/34/16 -f 18/35/17 22/36/17 30/37/17 -f 29/30/18 32/38/18 33/39/18 -f 19/19/19 34/40/19 35/41/19 -f 31/32/20 36/42/20 37/43/20 -f 6/4/21 38/44/21 39/45/21 -f 24/25/22 40/46/22 41/47/22 -f 2/1/23 42/48/23 43/49/23 -f 12/11/24 29/30/24 44/50/24 -f 21/22/25 35/41/25 45/51/25 -f 17/17/26 46/52/26 34/40/26 -f 26/27/27 41/47/27 36/42/27 -f 4/2/28 43/49/28 38/44/28 -f 14/14/29 44/50/29 47/53/29 -f 48/54/30 49/55/30 50/56/30 -f 41/47/31 51/57/31 52/58/31 -f 47/53/32 44/50/32 33/59/32 -f 37/43/33 53/60/33 54/61/33 -f 36/42/34 52/62/34 53/63/34 -f 47/53/35 55/64/35 56/65/35 -f 43/49/36 42/48/36 54/66/36 -f 46/52/37 56/67/37 57/68/37 -f 38/44/38 43/49/38 58/69/38 -f 35/41/39 34/40/39 57/70/39 -f 38/44/40 59/71/40 60/72/40 -f 35/41/41 48/54/41 61/73/41 -f 39/45/42 60/74/42 62/75/42 -f 45/51/43 61/76/43 63/77/43 -f 29/30/44 28/29/44 62/78/44 -f 41/47/45 40/46/45 63/79/45 -f 64/80/46 65/81/46 66/82/46 -f 62/75/47 60/74/47 67/83/47 -f 61/76/48 50/84/48 68/85/48 -f 62/78/49 69/86/49 70/87/49 -f 63/79/50 68/88/50 71/89/50 -f 33/39/51 32/38/51 70/90/52 -f 52/58/53 51/57/53 71/91/53 -f 55/92/54 33/59/54 72/93/54 -f 53/60/55 73/94/55 74/95/55 -f 52/62/56 75/96/56 73/97/56 -f 56/65/57 55/64/57 76/98/57 -f 54/66/58 74/99/58 77/100/58 -f 57/68/59 56/67/59 65/101/59 -f 58/69/60 77/102/61 78/103/61 -f 48/104/62 57/70/62 64/105/62 -f 60/72/63 59/71/63 78/106/63 -f 79/107/27 80/108/27 81/109/27 -f 77/110/64 82/111/64 83/112/64 -f 64/113/65 84/114/65 85/115/65 -f 78/116/66 83/112/66 86/117/66 -f 49/118/67 85/115/67 87/119/67 -f 69/120/68 67/121/68 86/117/68 -f 50/122/69 87/119/69 88/123/69 -f 69/124/70 89/125/70 90/126/70 -f 68/127/71 88/123/71 79/107/71 -f 72/128/72 70/129/72 90/126/72 -f 71/130/73 79/107/73 91/131/73 -f 72/132/74 92/133/74 93/134/74 -f 73/135/75 94/136/75 95/137/75 -f 75/138/76 91/131/76 94/136/76 -f 76/139/77 93/134/77 66/82/77 -f 74/140/78 95/137/78 82/111/78 -f 96/141/79 97/142/79 98/143/79 -f 92/133/29 99/144/29 100/145/29 -f 94/136/80 101/146/80 102/147/80 -f 91/131/20 81/109/20 101/146/20 -f 93/134/81 100/145/81 103/148/81 -f 95/137/23 102/147/23 104/149/23 -f 66/82/26 103/148/26 105/150/26 -f 82/111/28 104/149/28 106/151/28 -f 84/114/19 105/150/19 107/152/19 -f 83/112/21 106/151/21 97/142/21 -f 85/115/25 107/152/25 108/153/25 -f 86/117/82 97/142/82 96/141/82 -f 87/119/83 108/153/83 109/154/83 -f 89/125/14 96/155/14 110/156/14 -f 79/107/22 88/123/22 109/154/22 -f 90/126/24 110/156/24 99/144/24 -f 98/157/84 111/158/84 112/159/84 -f 108/153/85 113/160/85 114/161/85 -f 110/156/86 96/155/86 115/162/86 -f 109/154/87 114/163/87 116/164/87 -f 110/156/88 117/165/88 118/166/88 -f 81/109/89 80/108/89 116/167/89 -f 99/144/90 118/168/90 119/169/90 -f 102/147/91 101/146/91 120/170/91 -f 81/109/92 121/171/92 120/172/92 -f 103/148/93 100/145/93 119/173/93 -f 104/149/94 102/147/94 122/174/94 -f 105/150/95 103/148/95 123/175/95 -f 104/149/96 124/176/96 111/177/96 -f 105/150/97 125/178/97 126/179/97 -f 106/151/98 111/158/98 98/157/98 -f 108/153/99 107/152/99 126/180/99 -f 124/176/100 112/181/100 111/177/100 -f 117/165/101 112/182/101 118/166/101 -f 115/162/102 112/183/102 117/184/102 -f 98/143/103 112/185/103 115/186/103 -f 118/168/104 112/187/104 119/169/104 -f 119/173/105 112/188/105 123/189/105 -f 123/175/106 112/190/106 125/191/106 -f 125/178/107 112/192/107 126/179/107 -f 126/180/108 112/193/108 113/194/108 -f 113/160/109 112/195/109 114/161/109 -f 114/163/110 112/196/110 116/164/110 -f 116/167/111 112/197/111 121/198/111 -f 121/171/112 112/199/112 120/172/112 -f 120/170/113 112/200/113 122/201/113 -f 122/174/114 112/202/114 124/203/114 -f 140/204/115 145/205/115 141/206/115 -f 153/207/116 149/208/116 148/209/116 -f 138/210/117 143/211/117 139/212/117 -f 128/213/17 144/214/17 127/215/17 -f 151/216/118 147/217/118 146/218/118 -f 150/219/17 151/216/17 130/220/17 -f 152/221/17 153/207/17 134/222/17 -f 145/205/115 144/214/115 141/206/115 -f 143/211/117 142/223/117 139/212/117 -f 134/224/81 153/207/81 148/209/81 -f 133/225/80 149/208/80 152/221/80 -f 130/226/80 151/216/80 146/218/80 -f 132/227/83 139/212/83 142/223/83 -f 129/228/81 147/217/81 150/219/81 -f 131/229/82 143/211/82 138/210/82 -f 135/230/119 1/33/120 3/231/119 -f 3/232/1 2/1/1 5/3/1 -f 5/233/2 4/2/2 7/5/2 -f 7/234/3 6/4/3 9/7/3 -f 9/235/4 8/6/4 11/9/4 -f 11/236/5 10/10/5 13/12/5 -f 15/237/6 13/13/6 14/14/6 -f 136/238/7 15/15/7 16/16/7 -f 136/239/8 16/16/8 18/18/8 -f 18/240/9 17/17/9 20/20/9 -f 22/241/10 20/21/10 21/22/10 -f 137/242/11 22/23/11 23/24/11 -f 137/243/12 23/24/12 25/26/12 -f 25/244/13 24/25/13 27/28/13 -f 12/11/14 10/10/14 29/30/14 -f 135/245/15 30/31/15 1/33/15 -f 27/246/16 26/27/16 30/34/16 -f 30/37/17 135/247/17 3/248/17 -f 3/248/17 5/249/17 7/250/17 -f 7/250/17 9/251/17 15/252/17 -f 11/253/17 13/254/17 15/252/17 -f 15/252/17 136/255/17 18/35/17 -f 18/35/17 20/256/17 22/36/17 -f 22/36/17 137/257/17 30/37/17 -f 25/258/17 27/259/17 30/37/17 -f 30/37/17 3/248/17 15/252/17 -f 9/251/17 11/253/17 15/252/17 -f 15/252/17 18/35/17 30/37/17 -f 137/257/17 25/258/17 30/37/17 -f 3/248/17 7/250/17 15/252/17 -f 44/50/18 29/30/18 33/39/18 -f 21/22/19 19/19/19 35/41/19 -f 1/33/20 31/32/20 37/43/20 -f 8/6/21 6/4/21 39/45/21 -f 26/27/22 24/25/22 41/47/22 -f 4/2/23 2/1/23 43/49/23 -f 14/14/24 12/11/24 44/50/24 -f 23/24/25 21/22/25 45/51/25 -f 19/19/26 17/17/26 34/40/26 -f 31/32/27 26/27/27 36/42/27 -f 6/4/28 4/2/28 38/44/28 -f 16/16/29 14/14/29 47/53/29 -f 61/73/30 48/54/30 50/56/30 -f 36/42/31 41/47/31 52/58/31 -f 55/92/32 47/53/32 33/59/32 -f 42/48/33 37/43/33 54/61/33 -f 37/43/34 36/42/34 53/63/34 -f 46/52/35 47/53/35 56/65/35 -f 58/260/36 43/49/36 54/66/36 -f 34/40/37 46/52/37 57/68/37 -f 59/261/38 38/44/38 58/69/38 -f 48/104/39 35/41/39 57/70/39 -f 39/45/40 38/44/40 60/72/40 -f 45/51/41 35/41/41 61/73/41 -f 28/262/42 39/45/42 62/75/42 -f 40/46/43 45/51/43 63/77/43 -f 32/263/44 29/30/44 62/78/44 -f 51/264/45 41/47/45 63/79/45 -f 84/114/46 64/80/46 66/82/46 -f 69/265/47 62/75/47 67/83/47 -f 63/77/48 61/76/48 68/85/48 -f 32/263/49 62/78/49 70/87/49 -f 51/264/50 63/79/50 71/89/50 -f 72/266/52 33/39/51 70/90/52 -f 75/267/53 52/58/53 71/91/53 -f 76/268/54 55/92/54 72/93/54 -f 54/61/55 53/60/55 74/95/55 -f 53/63/56 52/62/56 73/97/56 -f 65/269/57 56/65/57 76/98/57 -f 58/260/58 54/66/58 77/100/58 -f 64/270/59 57/68/59 65/101/59 -f 59/261/60 58/69/60 78/103/61 -f 49/271/62 48/104/62 64/105/62 -f 67/272/63 60/72/63 78/106/63 -f 91/131/27 79/107/27 81/109/27 -f 78/273/64 77/110/64 83/112/64 -f 49/274/65 64/113/65 85/115/65 -f 67/275/66 78/116/66 86/117/66 -f 50/276/67 49/118/67 87/119/67 -f 89/277/68 69/120/68 86/117/68 -f 68/278/69 50/122/69 88/123/69 -f 70/279/70 69/124/70 90/126/70 -f 71/280/71 68/127/71 79/107/71 -f 92/133/72 72/128/72 90/126/72 -f 75/281/73 71/130/73 91/131/73 -f 76/282/74 72/132/74 93/134/74 -f 74/283/75 73/135/75 95/137/75 -f 73/284/76 75/138/76 94/136/76 -f 65/285/77 76/139/77 66/82/77 -f 77/286/78 74/140/78 82/111/78 -f 115/186/79 96/141/79 98/143/79 -f 93/134/29 92/133/29 100/145/29 -f 95/137/80 94/136/80 102/147/80 -f 94/136/20 91/131/20 101/146/20 -f 66/82/81 93/134/81 103/148/81 -f 82/111/23 95/137/23 104/149/23 -f 84/114/26 66/82/26 105/150/26 -f 83/112/28 82/111/28 106/151/28 -f 85/115/19 84/114/19 107/152/19 -f 86/117/21 83/112/21 97/142/21 -f 87/119/25 85/115/25 108/153/25 -f 89/277/82 86/117/82 96/141/82 -f 88/123/83 87/119/83 109/154/83 -f 90/126/14 89/125/14 110/156/14 -f 80/108/22 79/107/22 109/154/22 -f 92/133/24 90/126/24 99/144/24 -f 109/154/85 108/153/85 114/161/85 -f 117/184/86 110/156/86 115/162/86 -f 80/108/87 109/154/87 116/164/87 -f 99/144/88 110/156/88 118/166/88 -f 121/198/89 81/109/89 116/167/89 -f 100/145/90 99/144/90 119/169/90 -f 122/201/91 102/147/91 120/170/91 -f 101/146/92 81/109/92 120/172/92 -f 123/189/93 103/148/93 119/173/93 -f 124/203/94 104/149/94 122/174/94 -f 125/191/95 105/150/95 123/175/95 -f 106/151/96 104/149/96 111/177/96 -f 107/152/97 105/150/97 126/179/97 -f 97/142/98 106/151/98 98/157/98 -f 113/194/99 108/153/99 126/180/99 -f 128/287/82 141/206/82 144/214/82 -f 151/216/118 150/219/118 147/217/118 -f 127/288/83 145/205/83 140/204/83 -f 153/207/116 152/221/116 149/208/116 -f 129/289/17 150/219/17 130/220/17 -f 144/214/17 145/205/17 127/215/17 -f 133/290/17 152/221/17 134/222/17 -f 142/223/17 143/211/17 131/291/17 -f 28/262/82 10/8/82 8/6/82 -f 47/53/81 46/52/81 17/17/81 -f 45/51/83 40/46/83 24/25/83 -f 3/231/119 1/33/120 2/1/120 -f 142/223/17 131/291/17 132/292/17 -f 42/48/80 2/1/120 1/33/120 -f 39/45/82 28/262/82 8/6/82 -f 16/16/81 47/53/81 17/17/81 -f 23/24/83 45/51/83 24/25/83 -f 37/43/80 42/48/80 1/33/120 diff --git a/src/main/resources/assets/hbm/models/missileV2.obj b/src/main/resources/assets/hbm/models/missileV2.obj deleted file mode 100644 index a4c0171f0..000000000 --- a/src/main/resources/assets/hbm/models/missileV2.obj +++ /dev/null @@ -1,599 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'MissileV2.blend' -# www.blender.org -o Cylinder -v -0.416943 1.750000 -0.275969 -v -0.312707 0.250000 -0.206976 -v -0.368110 0.250000 -0.071553 -v 0.414519 1.750000 -0.279596 -v 0.310889 0.250000 -0.209697 -v 0.206976 0.250000 -0.312707 -v -0.275968 1.750000 0.416943 -v -0.414519 1.750000 0.279597 -v -0.310889 0.250000 0.209697 -v 0.099684 1.750000 0.489962 -v 0.074763 0.250000 0.367472 -v 0.209697 0.250000 0.310889 -v -0.279596 1.750000 -0.414519 -v -0.099684 1.750000 -0.489962 -v -0.074763 0.250000 -0.367472 -v 0.095404 1.750000 -0.490814 -v 0.275968 1.750000 -0.416943 -v -0.095404 1.750000 0.490814 -v -0.206976 0.250000 0.312707 -v 0.279597 1.750000 0.414519 -v 0.312707 0.250000 0.206976 -v -0.209697 0.250000 -0.310889 -v 0.489962 1.750000 -0.099684 -v 0.367472 0.250000 -0.074763 -v -0.489962 1.750000 0.099684 -v -0.367472 0.250000 0.074763 -v 0.489962 3.250000 -0.099684 -v 0.490814 3.250000 0.095405 -v 0.157273 -0.000000 0.233167 -v 0.490814 1.750000 0.095405 -v 0.416943 1.750000 0.275968 -v -0.275968 3.250000 0.416943 -v -0.206976 4.250000 0.312707 -v -0.310889 4.250000 0.209697 -v -0.279596 3.250000 -0.414519 -v -0.099684 3.250000 -0.489962 -v 0.095405 3.250000 -0.490814 -v 0.279597 3.250000 0.414519 -v 0.099684 3.250000 0.489962 -v -0.414519 3.250000 0.279597 -v 0.275968 3.250000 -0.416943 -v 0.414519 3.250000 -0.279596 -v -0.490814 1.750000 -0.095405 -v -0.490814 3.250000 -0.095405 -v -0.416943 3.250000 -0.275969 -v 0.416943 3.250000 0.275968 -v -0.489962 3.250000 0.099684 -v -0.095404 3.250000 0.490814 -v 0.074763 4.250000 0.367472 -v -0.071553 4.250000 0.368110 -v 0.312707 4.250000 0.206976 -v 0.209697 4.250000 0.310889 -v 0.367472 4.250000 -0.074763 -v 0.368110 4.250000 0.071553 -v -0.209697 4.250000 -0.310889 -v -0.074763 4.250000 -0.367472 -v 0.206976 4.250000 -0.312707 -v 0.310889 4.250000 -0.209697 -v -0.368110 4.250000 -0.071553 -v -0.312707 4.250000 -0.206976 -v 0.071553 4.250000 -0.368110 -v -0.367472 4.250000 0.074763 -v 0.000000 5.250000 0.000000 -v -0.489962 1.750000 0.051186 -v -0.368110 0.250000 -0.034432 -v 0.071553 0.250000 -0.368110 -v 0.367472 0.250000 -0.038726 -v 0.489962 1.750000 -0.051186 -v 0.038726 0.250000 0.367472 -v 0.051186 1.750000 0.489962 -v 0.368110 0.250000 0.071553 -v -0.071553 0.250000 0.368110 -v 0.056072 -0.000000 0.275604 -v -0.053665 -0.000000 0.276083 -v -0.276083 0.000000 -0.053665 -v -0.056072 0.000000 -0.275604 -v -0.157273 0.000000 -0.233167 -v 0.053665 0.000000 -0.276083 -v -0.155232 -0.000000 0.234530 -v -0.233167 -0.000000 0.157273 -v 0.275604 0.000000 -0.056072 -v 0.233167 0.000000 -0.157273 -v 0.276083 -0.000000 0.053665 -v -0.234530 0.000000 -0.155232 -v 0.155232 0.000000 -0.234530 -v -0.275604 -0.000000 0.056072 -v 0.234530 -0.000000 0.155232 -v -0.051186 1.750000 -0.489962 -v -0.038726 0.250000 -0.367472 -v 0.046358 1.750000 -0.490814 -v -0.040084 0.000000 -0.990064 -v 0.033074 0.000000 -0.990702 -v 0.034432 0.250000 -0.368110 -v -0.367472 0.250000 0.038726 -v -0.490814 1.750000 -0.046358 -v -0.990702 0.000000 -0.033074 -v -0.990064 -0.000000 0.040084 -v -0.046358 1.750000 0.490814 -v -0.033074 -0.000000 0.990703 -v 0.040084 -0.000000 0.990064 -v -0.034432 0.250000 0.368110 -v 0.490814 1.750000 0.046358 -v 0.990064 0.000000 -0.040084 -v 0.990702 -0.000000 0.033074 -v 0.368110 0.250000 0.034432 -vt 0.601459 0.261980 -vt 0.604770 0.057671 -vt 0.624633 0.057671 -vt 0.696990 0.261981 -vt 0.700300 0.057672 -vt 0.720163 0.057672 -vt 0.967508 0.261981 -vt 0.941023 0.261981 -vt 0.944335 0.057671 -vt 0.792523 0.261982 -vt 0.795834 0.057673 -vt 0.815697 0.057673 -vt 0.574975 0.261980 -vt 0.548491 0.261980 -vt 0.551801 0.057671 -vt 0.749959 0.261981 -vt 0.723475 0.261981 -vt 0.726785 0.057672 -vt 0.993992 0.261981 -vt 0.970819 0.057671 -vt 0.819007 0.261982 -vt 0.822318 0.057673 -vt 0.842181 0.057673 -vt 0.578285 0.057671 -vt 0.670506 0.261981 -vt 0.673816 0.057672 -vt 0.914539 0.261980 -vt 0.917851 0.057671 -vt 0.670507 0.465612 -vt 0.644022 0.465612 -vt 0.824801 0.021512 -vt 0.871975 0.261982 -vt 0.845491 0.261982 -vt 0.848802 0.057673 -vt 0.967507 0.465611 -vt 0.964196 0.602381 -vt 0.944333 0.602381 -vt 0.574974 0.465611 -vt 0.548490 0.465611 -vt 0.522006 0.465611 -vt 0.819006 0.465613 -vt 0.792522 0.465613 -vt 0.941023 0.465611 -vt 0.723475 0.465612 -vt 0.696991 0.465612 -vt 0.627943 0.261980 -vt 0.627943 0.465611 -vt 0.601459 0.465611 -vt 0.871975 0.465613 -vt 0.845491 0.465613 -vt 0.766038 0.261982 -vt 0.914538 0.465611 -vt 0.993991 0.465611 -vt 0.749959 0.465612 -vt 0.888054 0.465611 -vt 0.789211 0.602382 -vt 0.769348 0.602382 -vt 0.842180 0.602383 -vt 0.822316 0.602383 -vt 0.667197 0.602382 -vt 0.647334 0.602382 -vt 0.571664 0.602380 -vt 0.551801 0.602380 -vt 0.720165 0.602381 -vt 0.700302 0.602381 -vt 0.624632 0.602381 -vt 0.604769 0.602381 -vt 0.545180 0.602380 -vt 0.525317 0.602381 -vt 0.937711 0.602381 -vt 0.990680 0.602381 -vt 0.970817 0.602381 -vt 0.815695 0.602383 -vt 0.795832 0.602383 -vt 0.868664 0.602383 -vt 0.693681 0.602381 -vt 0.598148 0.602381 -vt 0.746649 0.602382 -vt 0.911227 0.602381 -vt 0.891364 0.602381 -vt 0.858732 0.747027 -vt 0.848801 0.602382 -vt 0.683750 0.747025 -vt 0.673818 0.602381 -vt 0.657266 0.747026 -vt 0.832248 0.747027 -vt 0.710234 0.747024 -vt 0.736718 0.747027 -vt 0.726786 0.602382 -vt 0.535248 0.747025 -vt 0.561732 0.747025 -vt 0.805763 0.747028 -vt 0.779279 0.747026 -vt 0.980747 0.747026 -vt 0.954264 0.747024 -vt 0.927779 0.747025 -vt 0.917848 0.602381 -vt 0.588216 0.747025 -vt 0.578285 0.602381 -vt 0.614700 0.747025 -vt 0.901295 0.747025 -vt 0.422370 0.713895 -vt 0.423581 0.466820 -vt 0.435612 0.713895 -vt 0.251725 0.359662 -vt 0.252936 0.112587 -vt 0.264967 0.359662 -vt 0.424134 0.021510 -vt 0.434067 0.021510 -vt 0.423581 0.112591 -vt 0.505927 0.522061 -vt 0.433513 0.466820 -vt 0.351361 0.522314 -vt 0.424134 0.375743 -vt 0.435613 0.359665 -vt 0.422370 0.359665 -vt 0.433513 0.112591 -vt 0.505927 0.167831 -vt 0.263420 0.021510 -vt 0.262868 0.112587 -vt 0.253488 0.021510 -vt 0.888055 0.261980 -vt 0.891366 0.057671 -vt 0.911230 0.057671 -vt 0.180716 0.168081 -vt 0.335282 0.167827 -vt 0.431033 0.759972 -vt 0.436734 0.746209 -vt 0.489692 0.735675 -vt 0.554284 0.021510 -vt 0.569181 0.021510 -vt 0.525317 0.057671 -vt 0.527800 0.021510 -vt 0.542697 0.021510 -vt 0.990682 0.057672 -vt 0.973302 0.021510 -vt 0.946818 0.021510 -vt 0.961715 0.021510 -vt 0.676299 0.021511 -vt 0.691196 0.021511 -vt 0.647332 0.057671 -vt 0.649814 0.021510 -vt 0.664712 0.021510 -vt 0.607252 0.021510 -vt 0.622150 0.021510 -vt 0.580768 0.021510 -vt 0.595666 0.021510 -vt 0.798317 0.021512 -vt 0.813214 0.021512 -vt 0.769350 0.057671 -vt 0.771832 0.021510 -vt 0.786730 0.021510 -vt 0.729267 0.021511 -vt 0.744165 0.021511 -vt 0.702783 0.021511 -vt 0.717680 0.021511 -vt 0.920334 0.021510 -vt 0.935231 0.021510 -vt 0.893849 0.021510 -vt 0.908747 0.021510 -vt 0.851285 0.021512 -vt 0.866183 0.021512 -vt 0.964198 0.057671 -vt 0.571664 0.057671 -vt 0.746648 0.057672 -vt 0.598149 0.057671 -vt 0.693679 0.057672 -vt 0.937714 0.057671 -vt 0.644022 0.261981 -vt 0.839699 0.021512 -vt 0.868665 0.057673 -vt 0.522006 0.261980 -vt 0.766038 0.465612 -vt 0.351361 0.168085 -vt 0.545180 0.057671 -vt 0.667195 0.057671 -vt 0.789213 0.057671 -vt 0.489692 0.799167 -vt 0.475929 0.804868 -vt 0.500226 0.788633 -vt 0.431033 0.774870 -vt 0.461031 0.804868 -vt 0.447268 0.799167 -vt 0.436734 0.788633 -vt 0.447268 0.735675 -vt 0.475929 0.729974 -vt 0.461032 0.729974 -vt 0.505927 0.774870 -vt 0.505927 0.759972 -vt 0.500226 0.746209 -vt 0.988200 0.021510 -vt 0.262744 0.466032 -vt 0.252812 0.466032 -vt 0.253365 0.374955 -vt 0.264843 0.713106 -vt 0.251601 0.713106 -vt 0.180592 0.521526 -vt 0.335159 0.521272 -vt 0.263297 0.374955 -vt 0.434066 0.375743 -vn -0.922500 -0.081500 -0.377400 -vn 0.701700 -0.081500 -0.707800 -vn -0.701700 -0.081500 0.707800 -vn 0.385400 -0.081500 0.919100 -vn -0.385400 -0.081500 -0.919100 -vn 0.377400 -0.081500 -0.922500 -vn -0.377400 -0.081500 0.922500 -vn 0.707800 -0.081500 0.701700 -vn -0.707800 -0.081500 -0.701700 -vn 0.919100 -0.081500 -0.385400 -vn -0.919100 -0.081500 0.385400 -vn 1.000000 -0.000000 -0.004400 -vn 0.666500 -0.345200 0.660700 -vn 0.922500 -0.081500 0.377400 -vn -0.698800 0.121700 0.704900 -vn -0.386700 0.000000 -0.922200 -vn -0.004400 0.000000 -1.000000 -vn 0.386700 -0.000000 0.922200 -vn -0.704000 -0.000000 0.710200 -vn 0.704000 0.000000 -0.710200 -vn -0.925500 0.000000 -0.378700 -vn 0.925500 -0.000000 0.378700 -vn 0.004400 -0.000000 1.000000 -vn -0.922200 0.000000 0.386700 -vn 0.922200 0.000000 -0.386700 -vn -0.710200 0.000000 -0.704000 -vn 0.710200 -0.000000 0.704000 -vn -0.378700 -0.000000 0.925500 -vn -0.378600 -0.000000 0.925500 -vn 0.378700 0.000000 -0.925500 -vn -1.000000 0.000000 0.004400 -vn 0.004300 0.121700 0.992600 -vn 0.704900 0.121700 0.698800 -vn 0.992600 0.121700 -0.004300 -vn -0.383800 0.121700 -0.915300 -vn 0.698800 0.121700 -0.704900 -vn -0.918700 0.121700 -0.375800 -vn -0.004300 0.121700 -0.992600 -vn -0.915300 0.121700 0.383800 -vn -0.375800 0.121700 0.918700 -vn 0.383800 0.121700 0.915300 -vn 0.918700 0.121700 0.375800 -vn 0.915300 0.121700 -0.383800 -vn -0.704900 0.121700 -0.698800 -vn 0.375800 0.121700 -0.918700 -vn -0.992600 0.121700 0.004300 -vn 0.868700 0.345200 0.355400 -vn 0.865500 0.345200 -0.362900 -vn 0.938500 0.345200 -0.004100 -vn 0.666500 0.345200 0.660700 -vn 0.660700 0.345200 -0.666500 -vn 0.355400 0.345200 -0.868700 -vn -0.004100 0.345200 -0.938500 -vn -0.362900 0.345200 -0.865500 -vn 0.362900 0.345200 0.865500 -vn 0.004100 0.345200 0.938500 -vn -0.355400 0.345200 0.868700 -vn -0.660700 0.345200 0.666500 -vn -0.865500 0.345200 0.362900 -vn -0.666500 0.345200 -0.660700 -vn -0.868700 0.345200 -0.355400 -vn -0.938500 0.345200 0.004100 -vn -0.961500 0.274700 0.008400 -vn 0.961500 0.274700 -0.008400 -vn -0.003200 -0.928000 -0.372600 -vn -0.003300 -0.928000 -0.372600 -vn 0.005300 -0.007900 1.000000 -vn 0.001000 -0.007900 -1.000000 -vn 0.372600 -0.928000 -0.003200 -vn 0.008400 0.274700 0.961500 -vn 1.000000 -0.007900 -0.005300 -vn -0.372600 -0.928000 0.003200 -vn -0.996700 -0.081500 0.004400 -vn -0.996700 -0.081500 0.004300 -vn -0.001000 -0.007900 1.000000 -vn -0.005300 -0.007900 -1.000000 -vn 0.000000 -1.000000 -0.000000 -vn -0.362900 -0.345200 -0.865500 -vn -0.004100 -0.345200 -0.938500 -vn -0.355400 -0.345200 0.868700 -vn -0.355400 -0.345200 0.868600 -vn -0.660700 -0.345200 0.666500 -vn 0.865500 -0.345200 -0.362900 -vn 0.938500 -0.345200 -0.004100 -vn -0.868700 -0.345200 -0.355400 -vn -0.868600 -0.345200 -0.355400 -vn -0.666500 -0.345200 -0.660700 -vn 0.362900 -0.345200 0.865500 -vn 0.004100 -0.345200 0.938500 -vn 0.355400 -0.345200 -0.868700 -vn 0.355400 -0.345200 -0.868600 -vn 0.660700 -0.345200 -0.666500 -vn -0.865500 -0.345200 0.362900 -vn -0.938500 -0.345200 0.004100 -vn 0.868700 -0.345200 0.355400 -vn 0.868600 -0.345200 0.355400 -vn 0.378600 0.000000 -0.925500 -vn -1.000000 -0.007900 -0.001000 -vn -0.004300 -0.081500 -0.996700 -vn -0.004400 -0.081500 -0.996700 -vn 0.996700 -0.081500 -0.004300 -vn 0.996700 -0.081500 -0.004400 -vn 0.004300 -0.081500 0.996700 -vn 0.004400 -0.081500 0.996700 -vn 0.003200 -0.928000 0.372600 -vn -0.008400 0.274700 -0.961500 -vn 1.000000 -0.007900 0.001000 -vn -1.000000 -0.007900 0.005300 -s 1 -f 1/1/1 2/2/1 3/3/1 -f 4/4/2 5/5/2 6/6/2 -f 7/7/3 8/8/3 9/9/3 -f 10/10/4 11/11/4 12/12/4 -f 13/13/5 14/14/5 15/15/5 -f 16/16/6 17/17/6 6/18/6 -f 18/19/7 7/7/7 19/20/7 -f 20/21/8 12/22/8 21/23/8 -f 1/1/9 13/13/9 22/24/9 -f 4/4/10 23/25/10 24/26/10 -f 8/8/11 25/27/11 26/28/11 -f 23/25/12 27/29/12 28/30/12 -f 21/23/13 12/22/13 29/31/13 -f 30/32/14 31/33/14 21/34/14 -f 32/35/15 33/36/15 34/37/15 -f 13/13/16 35/38/16 36/39/16 -f 14/14/17 36/39/17 37/40/17 -f 20/21/18 38/41/18 39/42/18 -f 7/7/19 32/35/19 40/43/19 -f 17/17/20 41/44/20 42/45/20 -f 43/46/21 44/47/21 45/48/21 -f 30/32/22 28/49/22 46/50/22 -f 18/51/23 10/10/23 39/42/23 -f 8/8/24 40/43/24 47/52/24 -f 4/4/25 42/45/25 27/29/25 -f 1/1/26 45/48/26 35/38/26 -f 20/21/27 31/33/27 46/50/27 -f 18/19/28 48/53/29 32/35/28 -f 16/16/30 37/54/30 41/44/30 -f 25/27/31 47/52/31 44/55/31 -f 39/42/32 49/56/32 50/57/32 -f 46/50/33 51/58/33 52/59/33 -f 27/29/34 53/60/34 54/61/34 -f 35/38/35 55/62/35 56/63/35 -f 41/44/36 57/64/36 58/65/36 -f 44/47/37 59/66/37 60/67/37 -f 36/39/38 56/68/38 61/69/38 -f 47/52/39 40/43/39 34/70/39 -f 48/53/40 50/71/40 33/72/40 -f 38/41/41 52/73/41 49/74/41 -f 46/50/42 28/49/42 54/75/42 -f 27/29/43 42/45/43 58/76/43 -f 35/38/44 45/48/44 60/77/44 -f 41/44/45 37/54/45 61/78/45 -f 47/52/46 62/79/46 59/80/46 -f 54/75/47 63/81/47 51/82/47 -f 58/76/48 63/83/48 53/84/48 -f 53/60/49 63/85/49 54/61/49 -f 52/59/50 51/58/50 63/86/50 -f 57/64/51 63/87/51 58/65/51 -f 61/78/52 63/88/52 57/89/52 -f 56/68/53 63/90/53 61/69/53 -f 55/62/54 63/91/54 56/63/54 -f 52/73/55 63/92/55 49/74/55 -f 49/56/56 63/93/56 50/57/56 -f 50/71/57 63/94/57 33/72/57 -f 33/36/58 63/95/58 34/37/58 -f 34/70/59 63/96/59 62/97/59 -f 60/77/60 63/98/60 55/99/60 -f 59/66/61 63/100/61 60/67/61 -f 62/79/62 63/101/62 59/80/62 -f 95/102/63 96/103/63 64/104/63 -f 102/105/64 104/106/64 68/107/64 -f 101/108/65 69/109/65 99/110/66 -f 94/111/67 64/104/67 97/112/67 -f 65/113/68 96/103/68 95/102/68 -f 97/112/69 96/103/69 65/114/69 -f 70/115/70 98/116/70 100/117/70 -f 70/115/71 100/117/71 69/118/71 -f 69/109/65 100/117/66 99/110/66 -f 67/119/72 103/120/72 105/121/72 -f 43/122/73 3/123/74 26/124/74 -f 105/125/75 104/106/75 102/105/75 -f 67/126/76 68/107/76 103/120/76 -f 73/127/77 74/128/77 75/129/77 -f 15/15/78 76/130/78 77/131/78 -f 66/132/79 78/133/79 76/134/79 -f 72/135/80 19/20/80 79/136/81 -f 9/9/82 80/137/82 79/138/82 -f 24/26/83 81/139/83 82/140/83 -f 71/141/84 83/142/84 81/143/84 -f 2/2/85 84/144/86 75/145/86 -f 22/24/87 77/146/87 84/147/87 -f 11/11/88 73/148/88 29/149/88 -f 72/150/89 74/151/89 73/152/89 -f 6/18/90 85/153/91 78/154/91 -f 5/5/92 82/155/92 85/156/92 -f 26/28/93 86/157/93 80/158/93 -f 3/123/94 75/159/94 86/160/94 -f 21/34/95 87/161/96 83/162/96 -f 43/46/1 1/1/1 3/3/1 -f 17/17/2 4/4/2 6/6/2 -f 19/163/3 7/7/3 9/9/3 -f 20/21/4 10/10/4 12/12/4 -f 22/164/5 13/13/5 15/15/5 -f 66/165/6 16/16/6 6/18/6 -f 72/135/7 18/19/7 19/20/7 -f 31/33/8 20/21/8 21/23/8 -f 2/166/9 1/1/9 22/24/9 -f 5/167/10 4/4/10 24/26/10 -f 9/168/11 8/8/11 26/28/11 -f 30/169/12 23/25/12 28/30/12 -f 87/170/13 21/23/13 29/31/13 -f 71/171/14 30/32/14 21/34/14 -f 40/43/15 32/35/15 34/37/15 -f 14/14/16 13/13/16 36/39/16 -f 16/172/17 14/14/17 37/40/17 -f 10/10/18 20/21/18 39/42/18 -f 8/8/19 7/7/19 40/43/19 -f 4/4/20 17/17/20 42/45/20 -f 1/1/21 43/46/21 45/48/21 -f 31/33/22 30/32/22 46/50/22 -f 48/173/23 18/51/23 39/42/23 -f 25/27/24 8/8/24 47/52/24 -f 23/25/25 4/4/25 27/29/25 -f 13/13/26 1/1/26 35/38/26 -f 38/41/27 20/21/27 46/50/27 -f 7/7/29 18/19/28 32/35/28 -f 17/17/97 16/16/30 41/44/30 -f 43/122/31 25/27/31 44/55/31 -f 48/173/32 39/42/32 50/57/32 -f 38/41/33 46/50/33 52/59/33 -f 28/30/34 27/29/34 54/61/34 -f 36/39/35 35/38/35 56/63/35 -f 42/45/36 41/44/36 58/65/36 -f 45/48/37 44/47/37 60/67/37 -f 37/40/38 36/39/38 61/69/38 -f 62/97/39 47/52/39 34/70/39 -f 32/35/40 48/53/40 33/72/40 -f 39/42/41 38/41/41 49/74/41 -f 51/82/42 46/50/42 54/75/42 -f 53/84/43 27/29/43 58/76/43 -f 55/99/44 35/38/44 60/77/44 -f 57/89/45 41/44/45 61/78/45 -f 44/55/46 47/52/46 59/80/46 -f 96/103/63 97/112/63 64/104/63 -f 104/106/64 103/120/64 68/107/64 -f 101/174/98 99/110/98 98/116/98 -f 66/132/99 15/175/99 14/14/100 -f 24/176/101 23/25/102 30/169/102 -f 11/177/103 10/10/104 18/51/104 -f 98/116/70 99/110/70 100/117/70 -f 103/120/72 104/106/72 105/121/72 -f 85/178/77 82/179/77 78/180/77 -f 29/181/77 81/182/77 83/183/77 -f 87/184/77 29/181/77 83/183/77 -f 73/127/77 81/182/77 29/181/77 -f 79/185/77 86/186/77 74/128/77 -f 79/185/77 80/187/77 86/186/77 -f 15/175/79 66/132/79 76/134/79 -f 76/188/77 75/129/77 77/189/77 -f 78/180/77 81/182/77 73/127/77 -f 78/180/77 82/179/77 81/182/77 -f 74/128/77 86/186/77 75/129/77 -f 75/129/77 76/188/77 73/127/77 -f 76/188/77 78/180/77 73/127/77 -f 22/164/78 15/15/78 77/131/78 -f 75/129/77 84/190/77 77/189/77 -f 74/191/81 72/135/80 79/136/81 -f 19/163/82 9/9/82 79/138/82 -f 5/167/83 24/26/83 82/140/83 -f 24/176/84 71/141/84 81/143/84 -f 3/3/85 2/2/85 75/145/86 -f 2/166/87 22/24/87 84/147/87 -f 12/12/88 11/11/88 29/149/88 -f 11/177/89 72/150/89 73/152/89 -f 66/165/90 6/18/90 78/154/91 -f 6/6/92 5/5/92 85/156/92 -f 9/168/93 26/28/93 80/158/93 -f 26/124/94 3/123/94 86/160/94 -f 71/171/95 21/34/95 83/162/96 -f 91/192/105 92/193/105 93/194/105 -f 92/193/106 91/192/106 88/195/106 -f 90/196/107 93/197/107 92/193/107 -f 89/198/108 88/195/108 91/192/108 -f 89/199/105 91/192/105 93/194/105 -f 90/196/106 92/193/106 88/195/106 -f 94/200/69 97/112/69 65/114/69 -f 25/27/73 43/122/73 26/124/74 -f 16/172/100 66/132/99 14/14/100 -f 71/141/101 24/176/101 30/169/102 -f 72/150/103 11/177/103 18/51/104 diff --git a/src/main/resources/assets/hbm/models/missile_atlas.obj b/src/main/resources/assets/hbm/models/missile_atlas.obj new file mode 100644 index 000000000..ce22b2edb --- /dev/null +++ b/src/main/resources/assets/hbm/models/missile_atlas.obj @@ -0,0 +1,1505 @@ +# Blender v3.2.0 OBJ File: 'titan.blend' +# www.blender.org +mtllib missile_icbm.mtl +o Circle.002_Circle.003 +v -0.883883 0.687500 -0.883883 +v -1.154849 0.687500 -0.478354 +v -1.250000 0.687500 0.000000 +v -1.154849 0.687500 0.478354 +v -0.883883 0.687500 0.883883 +v 0.883883 0.687500 0.883884 +v 1.154849 0.687500 0.478354 +v 1.250000 0.687500 -0.000000 +v 1.154849 0.687500 -0.478355 +v 0.883884 0.687500 -0.883883 +v 0.000000 3.312500 -1.250000 +v -0.478354 3.312500 -1.154849 +v -0.883883 3.312500 -0.883883 +v -1.154849 3.312500 -0.478354 +v -1.250000 3.312500 0.000000 +v -1.154849 3.312500 0.478354 +v -0.883883 3.312500 0.883883 +v -0.478354 3.312500 1.154849 +v 0.000000 3.312500 1.250000 +v 0.478354 3.312500 1.154849 +v 0.883883 3.312500 0.883884 +v 1.154849 3.312500 0.478354 +v 1.250000 3.312500 -0.000000 +v 1.154849 3.312500 -0.478355 +v 0.883884 3.312500 -0.883883 +v 0.478354 3.312500 -1.154849 +v 0.000000 3.312500 -1.125000 +v -0.430519 3.312500 -1.039364 +v -0.795495 3.312500 -0.795495 +v -1.039364 3.312500 -0.430519 +v -1.125000 3.312500 0.000000 +v -1.039364 3.312500 0.430519 +v -0.795495 3.312500 0.795495 +v -0.430519 3.312500 1.039364 +v 0.000000 3.312500 1.125000 +v 0.430519 3.312500 1.039364 +v 0.795495 3.312500 0.795495 +v 1.039364 3.312500 0.430519 +v 1.125000 3.312500 -0.000000 +v 1.039364 3.312500 -0.430519 +v 0.795495 3.312500 -0.795495 +v 0.430519 3.312500 -1.039364 +v 0.000000 10.812500 -1.125000 +v -0.430519 10.812500 -1.039364 +v -0.795495 10.812500 -0.795495 +v -1.039364 10.812500 -0.430519 +v -1.125000 10.812500 0.000000 +v -1.039364 10.812500 0.430519 +v -0.795495 10.812500 0.795495 +v -0.430519 10.812500 1.039364 +v 0.000000 10.812500 1.125000 +v 0.430519 10.812500 1.039364 +v 0.795495 10.812500 0.795495 +v 1.039364 10.812500 0.430519 +v 1.125000 10.812500 -0.000000 +v 1.039364 10.812500 -0.430519 +v 0.795495 10.812500 -0.795495 +v 0.430519 10.812500 -1.039364 +v -0.000000 13.312500 -0.562500 +v -0.215259 13.312500 -0.519682 +v -0.397748 13.312500 -0.397748 +v -0.519682 13.312500 -0.215259 +v -0.562500 13.312500 0.000000 +v -0.519682 13.312500 0.215259 +v -0.397748 13.312500 0.397748 +v -0.215259 13.312500 0.519682 +v 0.000000 13.312500 0.562500 +v 0.215259 13.312500 0.519682 +v 0.397747 13.312500 0.397748 +v 0.519682 13.312500 0.215260 +v 0.562500 13.312500 -0.000000 +v 0.519682 13.312500 -0.215260 +v 0.397748 13.312500 -0.397748 +v 0.215259 13.312500 -0.519682 +v -0.000000 14.437500 -0.000000 +v -0.500000 2.250000 -1.250000 +v -0.433013 2.250000 -1.500000 +v -0.250000 2.250000 -1.683013 +v 0.000000 2.250000 -1.750000 +v 0.500000 2.250000 -1.250000 +v 0.433013 2.250000 -1.500000 +v 0.250000 2.250000 -1.683013 +v 0.000000 0.687500 -2.000000 +v -0.375000 0.687500 -1.899519 +v -0.649519 0.687500 -1.625000 +v -0.750000 0.687500 -1.250000 +v 0.750000 0.687500 -1.250000 +v 0.649519 0.687500 -1.625000 +v 0.375000 0.687500 -1.899519 +v 0.125000 3.312500 -1.466506 +v 0.216506 3.312500 -1.375000 +v 0.250000 3.312500 -1.250000 +v 0.216506 3.312500 -1.125000 +v -0.216506 3.312500 -1.125000 +v -0.250000 3.312500 -1.250000 +v -0.216506 3.312500 -1.375000 +v -0.125000 3.312500 -1.466506 +v 0.180586 3.312500 -1.089079 +v -0.180586 3.312500 -1.089079 +v 0.687126 0.687500 -1.015352 +v -0.687126 0.687500 -1.015352 +v 0.125000 6.812500 -1.466506 +v 0.216506 6.812500 -1.375000 +v 0.250000 6.812500 -1.250000 +v 0.216506 6.812500 -1.125000 +v -0.216506 6.812500 -1.125000 +v -0.250000 6.812500 -1.250000 +v -0.216506 6.812500 -1.375000 +v -0.125000 6.812500 -1.466506 +v 0.180586 6.812500 -1.089079 +v -0.180586 6.812500 -1.089079 +v 0.000000 7.687500 -1.125000 +v 0.478354 2.250000 -1.154849 +v -0.478354 2.250000 -1.154849 +v 0.000000 0.687500 -1.625000 +v -0.187500 0.687500 -1.574759 +v -0.324760 0.687500 -1.437500 +v -0.375000 0.687500 -1.250000 +v -0.324760 0.687500 -1.062500 +v -0.187500 0.687500 -0.925241 +v 0.000000 0.687500 -0.875000 +v 0.187500 0.687500 -0.925241 +v 0.324760 0.687500 -1.062500 +v 0.375000 0.687500 -1.250000 +v 0.324760 0.687500 -1.437500 +v 0.187500 0.687500 -1.574759 +v 0.000000 0.000000 -1.750000 +v -0.250000 0.000000 -1.683013 +v -0.433013 0.000000 -1.500000 +v -0.500000 0.000000 -1.250000 +v -0.433013 0.000000 -1.000000 +v -0.250000 0.000000 -0.816987 +v 0.000000 0.000000 -0.750000 +v 0.250000 0.000000 -0.816987 +v 0.433013 0.000000 -1.000000 +v 0.500000 0.000000 -1.250000 +v 0.433013 0.000000 -1.500000 +v 0.250000 0.000000 -1.683013 +v 0.000000 0.687500 -0.375000 +v -0.187500 0.687500 -0.324759 +v -0.324760 0.687500 -0.187500 +v -0.375000 0.687500 0.000000 +v -0.324760 0.687500 0.187500 +v -0.187500 0.687500 0.324759 +v 0.000000 0.687500 0.375000 +v 0.187500 0.687500 0.324759 +v 0.324760 0.687500 0.187500 +v 0.375000 0.687500 0.000000 +v 0.324760 0.687500 -0.187500 +v 0.187500 0.687500 -0.324759 +v 0.000000 0.375000 -0.500000 +v -0.250000 0.375000 -0.433013 +v -0.433013 0.375000 -0.250000 +v -0.500000 0.375000 0.000000 +v -0.433013 0.375000 0.250000 +v -0.250000 0.375000 0.433013 +v 0.000000 0.375000 0.500000 +v 0.250000 0.375000 0.433013 +v 0.433013 0.375000 0.250000 +v 0.500000 0.375000 0.000000 +v 0.433013 0.375000 -0.250000 +v 0.250000 0.375000 -0.433013 +v 0.000000 0.000000 -0.500000 +v -0.250000 0.000000 -0.433013 +v -0.433013 0.000000 -0.250000 +v -0.500000 0.000000 0.000000 +v -0.433013 0.000000 0.250000 +v -0.250000 0.000000 0.433013 +v 0.000000 0.000000 0.500000 +v 0.250000 0.000000 0.433013 +v 0.433013 0.000000 0.250000 +v 0.500000 0.000000 0.000000 +v 0.433013 0.000000 -0.250000 +v 0.250000 0.000000 -0.433013 +v 0.000000 3.312500 -1.500000 +v 0.125000 3.376629 -1.642699 +v -0.125000 3.376629 -1.642699 +v 0.062500 3.687500 -1.466506 +v -0.062500 3.687500 -1.466506 +v 0.500000 2.250000 1.250000 +v 0.433013 2.250000 1.500000 +v 0.250000 2.250000 1.683013 +v -0.000000 2.250000 1.750000 +v -0.500000 2.250000 1.250000 +v -0.433013 2.250000 1.500000 +v -0.250000 2.250000 1.683013 +v -0.000000 0.687500 2.000000 +v 0.375000 0.687500 1.899519 +v 0.649519 0.687500 1.625000 +v 0.750000 0.687500 1.250000 +v -0.750000 0.687500 1.250000 +v -0.649519 0.687500 1.625000 +v -0.375000 0.687500 1.899519 +v -0.125000 3.312500 1.466506 +v -0.216506 3.312500 1.375000 +v -0.250000 3.312500 1.250000 +v -0.216506 3.312500 1.125000 +v 0.216506 3.312500 1.125000 +v 0.250000 3.312500 1.250000 +v 0.216506 3.312500 1.375000 +v 0.125000 3.312500 1.466506 +v -0.180586 3.312500 1.089079 +v 0.180586 3.312500 1.089079 +v -0.687126 0.687500 1.015352 +v 0.687126 0.687500 1.015353 +v -0.125000 6.812500 1.466506 +v -0.216506 6.812500 1.375000 +v -0.250000 6.812500 1.250000 +v -0.216506 6.812500 1.125000 +v 0.216506 6.812500 1.125000 +v 0.250000 6.812500 1.250000 +v 0.216506 6.812500 1.375000 +v 0.125000 6.812500 1.466506 +v -0.180586 6.812500 1.089079 +v 0.180586 6.812500 1.089079 +v -0.000000 7.687500 1.125000 +v -0.478354 2.250000 1.154849 +v 0.478354 2.250000 1.154849 +v -0.000000 0.687500 1.625000 +v 0.187500 0.687500 1.574759 +v 0.324759 0.687500 1.437500 +v 0.375000 0.687500 1.250000 +v 0.324759 0.687500 1.062500 +v 0.187500 0.687500 0.925241 +v -0.000000 0.687500 0.875000 +v -0.187500 0.687500 0.925241 +v -0.324760 0.687500 1.062500 +v -0.375000 0.687500 1.250000 +v -0.324760 0.687500 1.437500 +v -0.187500 0.687500 1.574759 +v -0.000000 0.000000 1.750000 +v 0.250000 0.000000 1.683013 +v 0.433013 0.000000 1.500000 +v 0.500000 0.000000 1.250000 +v 0.433013 0.000000 1.000000 +v 0.250000 0.000000 0.816987 +v -0.000000 0.000000 0.750000 +v -0.250000 0.000000 0.816987 +v -0.433013 0.000000 1.000000 +v -0.500000 0.000000 1.250000 +v -0.433013 0.000000 1.500000 +v -0.250000 0.000000 1.683013 +v -0.000000 3.312500 1.500000 +v -0.378886 3.312500 1.500000 +v -0.218750 3.437500 1.722636 +v 0.218750 3.437500 1.722636 +v 0.378886 3.312500 1.500000 +v -0.378886 3.312500 1.049635 +v 0.378886 3.312500 1.049635 +v -0.378886 4.562500 1.500000 +v -0.218750 4.562500 1.722636 +v 0.218750 4.562500 1.722636 +v 0.378886 4.562500 1.500000 +v -0.378886 4.562500 1.049635 +v 0.378886 4.562500 1.049635 +v 0.180586 5.437500 1.089079 +v -0.216506 5.437500 1.125000 +v -0.250000 5.437500 1.250000 +v -0.216506 5.437500 1.375000 +v 0.216506 5.437500 1.375000 +v 0.250000 5.437500 1.250000 +v 0.216506 5.437500 1.125000 +v -0.180586 5.437500 1.089079 +v -0.125000 5.437500 1.466506 +v 0.125000 5.437500 1.466506 +v -0.806102 10.093750 -0.806102 +v -1.053223 10.093750 -0.436259 +v -1.140000 10.093750 0.000000 +v -1.053223 10.093750 0.436259 +v -0.806102 10.093750 0.806102 +v 0.806102 10.093750 0.806102 +v 1.053223 10.093750 0.436259 +v 1.140000 10.093750 -0.000000 +v 1.053223 10.093750 -0.436259 +v 0.806102 10.093750 -0.806102 +v -0.806102 8.125000 -0.806102 +v -1.053223 8.125000 -0.436259 +v -1.140000 8.125000 0.000000 +v -1.053223 8.125000 0.436259 +v -0.806102 8.125000 0.806102 +v 0.806102 8.125000 0.806102 +v 1.053223 8.125000 0.436259 +v 1.140000 8.125000 -0.000000 +v 1.053223 8.125000 -0.436259 +v 0.806102 8.125000 -0.806102 +v -0.225167 6.406250 1.380000 +v -0.145625 6.406250 1.475167 +v 0.145625 6.406250 1.475167 +v 0.225166 6.406250 1.380000 +v -0.225167 5.875000 1.380000 +v -0.145625 5.875000 1.475167 +v 0.145625 5.875000 1.475167 +v 0.225166 5.875000 1.380000 +v 0.225166 6.406250 -1.380000 +v 0.145625 6.406250 -1.475167 +v -0.145625 6.406250 -1.475167 +v -0.225167 6.406250 -1.380000 +v 0.225166 5.875000 -1.380000 +v 0.145625 5.875000 -1.475167 +v -0.145625 5.875000 -1.475167 +v -0.225167 5.875000 -1.380000 +vt 0.107143 0.186667 +vt 0.071429 0.195556 +vt 0.071429 0.186667 +vt 0.142857 0.195556 +vt 0.178571 0.186667 +vt 0.178571 0.195556 +vt 0.142857 0.186667 +vt 0.107143 0.195556 +vt 0.576531 0.622222 +vt 0.576531 0.684444 +vt 0.571429 0.622222 +vt 0.790816 0.577778 +vt 0.770408 0.577778 +vt 0.780612 0.573333 +vt 0.214286 0.195556 +vt 0.214286 0.186667 +vt 0.250000 0.195556 +vt 0.285714 0.186667 +vt 0.250000 0.186667 +vt 0.321429 0.186667 +vt 0.285714 0.195556 +vt 0.357143 0.195556 +vt 0.321429 0.195556 +vt 0.392857 0.186667 +vt 0.357143 0.186667 +vt 0.392857 0.195556 +vt 0.428571 0.186667 +vt 0.428571 0.195556 +vt 0.464286 0.186667 +vt 0.500000 0.195556 +vt 0.464286 0.195556 +vt 0.535714 0.186667 +vt 0.500000 0.186667 +vt 0.035714 0.186667 +vt 0.035714 0.195556 +vt 0.000000 0.186667 +vt 0.571429 0.195556 +vt 0.535714 0.195556 +vt 0.744173 0.160632 +vt 0.733441 0.146640 +vt 0.777277 0.179900 +vt 0.918367 0.151111 +vt 0.899213 0.146640 +vt 0.948980 0.143966 +vt 0.948980 0.051590 +vt 0.979592 0.097778 +vt 0.971389 0.124444 +vt 0.971389 0.071111 +vt 0.918367 0.044444 +vt 0.899213 0.048915 +vt 0.795918 0.320000 +vt 0.801387 0.337778 +vt 0.801387 0.302222 +vt 0.877551 0.320000 +vt 0.872083 0.302222 +vt 0.872083 0.337778 +vt 0.836735 0.355556 +vt 0.857143 0.350792 +vt 0.816327 0.350792 +vt 0.836735 0.284444 +vt 0.816327 0.289208 +vt 0.857143 0.289208 +vt 0.795918 0.320000 +vt 0.801387 0.337778 +vt 0.801387 0.302222 +vt 0.877551 0.320000 +vt 0.872083 0.302222 +vt 0.872083 0.337778 +vt 0.836735 0.355556 +vt 0.857143 0.350792 +vt 0.816327 0.350792 +vt 0.836735 0.284444 +vt 0.816327 0.289208 +vt 0.857143 0.289208 +vt 0.816327 0.186667 +vt 0.855376 0.179900 +vt 0.816327 0.008889 +vt 0.855376 0.015655 +vt 0.777277 0.015655 +vt 0.888480 0.034924 +vt 0.888480 0.160632 +vt 0.790816 0.591111 +vt 0.770408 0.591111 +vt 0.668367 0.622222 +vt 0.668367 0.684444 +vt 0.663265 0.622222 +vt 0.714286 0.044444 +vt 0.733441 0.048915 +vt 0.683674 0.051590 +vt 0.683674 0.143966 +vt 0.653061 0.097778 +vt 0.661264 0.071111 +vt 0.661264 0.124444 +vt 0.714286 0.151111 +vt 0.877551 0.320000 +vt 0.872083 0.302222 +vt 0.872083 0.337778 +vt 0.795918 0.320000 +vt 0.801387 0.337778 +vt 0.801387 0.302222 +vt 0.836735 0.284444 +vt 0.816327 0.289208 +vt 0.857143 0.289208 +vt 0.836735 0.355556 +vt 0.857143 0.350792 +vt 0.816327 0.350792 +vt 0.744173 0.034924 +vt 0.000000 0.195556 +vt 0.571429 0.186667 +vt 0.040816 0.111111 +vt 0.061224 -0.000000 +vt 0.081633 -0.000000 +vt -0.000000 0.728889 +vt 0.035714 0.728889 +vt 0.392857 0.728889 +vt 0.142857 0.728889 +vt 0.428571 0.728889 +vt 0.178571 0.728889 +vt 0.464286 0.728889 +vt 0.214286 0.728889 +vt 0.500000 0.728889 +vt 0.250000 0.728889 +vt 0.535714 0.728889 +vt 0.571429 0.728889 +vt 0.285714 0.728889 +vt 0.321429 0.728889 +vt 0.071429 0.728889 +vt 0.357143 0.728889 +vt 0.107143 0.728889 +vt 0.438776 0.911111 +vt 0.474490 0.911111 +vt 0.510204 0.911111 +vt 0.545918 0.911111 +vt 0.010204 0.911111 +vt 0.045918 0.911111 +vt 0.081633 0.911111 +vt 0.117347 0.911111 +vt 0.168367 0.911111 +vt 0.153061 0.911111 +vt 0.188776 0.911111 +vt 0.239796 0.911111 +vt 0.224490 0.911111 +vt 0.260204 0.911111 +vt 0.295918 0.911111 +vt 0.331633 0.911111 +vt 0.367347 0.911111 +vt 0.403061 0.911111 +vt 0.489796 0.911111 +vt 0.482143 1.000000 +vt 0.232143 1.000000 +vt 0.525510 0.911111 +vt 0.517857 1.000000 +vt 0.275510 0.911111 +vt 0.267857 1.000000 +vt 0.025510 0.911111 +vt 0.017857 1.000000 +vt 0.561224 0.911111 +vt 0.553571 1.000000 +vt 0.311224 0.911111 +vt 0.303571 1.000000 +vt 0.061224 0.911111 +vt 0.053571 1.000000 +vt 0.346939 0.911111 +vt 0.339286 1.000000 +vt 0.096939 0.911111 +vt 0.089286 1.000000 +vt 0.382653 0.911111 +vt 0.375000 1.000000 +vt 0.132653 0.911111 +vt 0.125000 1.000000 +vt 0.418367 0.911111 +vt 0.410714 1.000000 +vt 0.160714 1.000000 +vt 0.454082 0.911111 +vt 0.446429 1.000000 +vt 0.204082 0.911111 +vt 0.196429 1.000000 +vt 0.653061 0.186667 +vt 0.678571 0.297778 +vt 0.658163 0.297778 +vt 0.683673 0.186667 +vt 0.709184 0.297778 +vt 0.688776 0.297778 +vt 0.714286 0.186667 +vt 0.739796 0.297778 +vt 0.719388 0.297778 +vt 0.744898 0.186667 +vt 0.770408 0.297778 +vt 0.750000 0.297778 +vt 0.785714 0.297778 +vt 0.775510 0.186667 +vt 0.795918 0.186667 +vt 0.622449 0.186667 +vt 0.647959 0.297778 +vt 0.627551 0.297778 +vt 0.591837 0.186667 +vt 0.617347 0.297778 +vt 0.596939 0.297778 +vt 0.581633 0.297778 +vt 0.591837 0.297778 +vt 0.591837 0.373333 +vt 0.581633 0.373333 +vt 0.602041 0.373333 +vt 0.632653 0.373333 +vt 0.693878 0.373333 +vt 0.673469 0.373333 +vt 0.724490 0.373333 +vt 0.755102 0.373333 +vt 0.775510 0.373333 +vt 0.785714 0.373333 +vt 0.663265 0.373333 +vt 0.658163 0.622222 +vt 0.658163 0.373333 +vt 0.647959 0.622222 +vt 0.647959 0.373333 +vt 0.576531 0.373333 +vt 0.571429 0.373333 +vt 0.607143 0.373333 +vt 0.596939 0.622222 +vt 0.596939 0.373333 +vt 0.586735 0.622222 +vt 0.586735 0.373333 +vt 0.637755 0.622222 +vt 0.637755 0.373333 +vt 0.627551 0.622222 +vt 0.627551 0.373333 +vt 0.581633 0.688889 +vt 0.591837 0.688889 +vt 0.607143 0.622222 +vt 0.602041 0.688889 +vt 0.632653 0.688889 +vt 0.642857 0.688889 +vt 0.653061 0.688889 +vt 0.663265 0.622222 +vt 0.658163 0.684444 +vt 0.612245 0.111111 +vt 0.571429 0.000000 +vt 0.591837 0.000000 +vt 0.571429 0.186667 +vt 0.612245 0.186667 +vt 0.653061 0.186667 +vt 0.040816 0.186667 +vt 0.081633 0.186667 +vt 0.122449 -0.000000 +vt 0.163265 0.000000 +vt 0.122449 0.186667 +vt 0.204082 0.000000 +vt 0.163265 0.186667 +vt 0.244898 -0.000000 +vt 0.204082 0.186667 +vt 0.367347 0.186667 +vt 0.326531 0.186667 +vt 0.367347 0.111111 +vt 0.408163 0.186667 +vt 0.387755 -0.000000 +vt 0.408163 -0.000000 +vt 0.448980 0.000000 +vt 0.489796 -0.000000 +vt 0.448980 0.186667 +vt 0.530612 -0.000000 +vt 0.489796 0.186667 +vt 0.530612 0.186667 +vt 0.948980 0.235556 +vt 0.964286 0.186667 +vt 0.964286 0.235556 +vt 0.918367 0.186667 +vt 0.933673 0.235556 +vt 0.918367 0.235556 +vt 0.887755 0.186667 +vt 0.903061 0.235556 +vt 0.887755 0.235556 +vt 0.903061 0.186667 +vt 0.933673 0.186667 +vt 0.933673 0.262222 +vt 0.948980 0.235556 +vt 0.948980 0.262222 +vt 0.887755 0.262222 +vt 0.903061 0.235556 +vt 0.903061 0.262222 +vt 0.841837 0.262222 +vt 0.857143 0.235556 +vt 0.857143 0.262222 +vt 0.964286 0.235556 +vt 0.964286 0.262222 +vt 0.795918 0.262222 +vt 0.811224 0.235556 +vt 0.811224 0.262222 +vt 0.918367 0.235556 +vt 0.918367 0.262222 +vt 0.872449 0.235556 +vt 0.872449 0.262222 +vt 0.979592 0.235556 +vt 0.979592 0.262222 +vt 0.826531 0.235556 +vt 0.826531 0.262222 +vt 0.933673 0.235556 +vt 0.887755 0.235556 +vt 0.841837 0.235556 +vt 0.948980 0.284444 +vt 0.933673 0.284444 +vt 0.964286 0.284444 +vt 0.979592 0.284444 +vt 0.811224 0.284444 +vt 0.795918 0.284444 +vt 0.826531 0.284444 +vt 0.841837 0.284444 +vt 0.857143 0.284444 +vt 0.872449 0.284444 +vt 0.887755 0.284444 +vt 0.903061 0.284444 +vt 0.918367 0.284444 +vt 0.979592 0.235556 +vt 0.795918 0.186667 +vt 0.811224 0.235556 +vt 0.795918 0.235556 +vt 0.811224 0.186667 +vt 0.826531 0.235556 +vt 0.826531 0.186667 +vt 0.841837 0.235556 +vt 0.841837 0.186667 +vt 0.857143 0.235556 +vt 0.857143 0.186667 +vt 0.872449 0.235556 +vt 0.872449 0.186667 +vt 0.770408 0.617778 +vt 0.755102 0.591111 +vt 0.806122 0.591111 +vt 0.790816 0.617778 +vt 0.775510 0.617778 +vt 0.785714 0.617778 +vt 0.617347 0.688889 +vt 0.653061 0.186667 +vt 0.678571 0.297778 +vt 0.658163 0.297778 +vt 0.683673 0.186667 +vt 0.709184 0.297778 +vt 0.688776 0.297778 +vt 0.714286 0.186667 +vt 0.739796 0.297778 +vt 0.719388 0.297778 +vt 0.744898 0.186667 +vt 0.770408 0.297778 +vt 0.750000 0.297778 +vt 0.785714 0.297778 +vt 0.775510 0.186667 +vt 0.795918 0.186667 +vt 0.622449 0.186667 +vt 0.647959 0.297778 +vt 0.627551 0.297778 +vt 0.591837 0.186667 +vt 0.617347 0.297778 +vt 0.596939 0.297778 +vt 0.581633 0.297778 +vt 0.591837 0.297778 +vt 0.591837 0.373333 +vt 0.581633 0.373333 +vt 0.602041 0.373333 +vt 0.632653 0.373333 +vt 0.693878 0.373333 +vt 0.673469 0.373333 +vt 0.724490 0.373333 +vt 0.755102 0.373333 +vt 0.775510 0.373333 +vt 0.785714 0.373333 +vt 0.760204 0.382222 +vt 0.724490 0.462222 +vt 0.724490 0.382222 +vt 0.760204 0.524444 +vt 0.724490 0.524444 +vt 0.798469 0.524444 +vt 0.785714 0.524444 +vt 0.780612 0.462222 +vt 0.755102 0.555556 +vt 0.806122 0.573333 +vt 0.765306 0.573333 +vt 0.816327 0.462222 +vt 0.811224 0.524444 +vt 0.816327 0.524444 +vt 0.765306 0.524444 +vt 0.760204 0.462222 +vt 0.678571 0.622222 +vt 0.673469 0.688889 +vt 0.688776 0.622222 +vt 0.683673 0.688889 +vt 0.698980 0.622222 +vt 0.693878 0.688889 +vt 0.719388 0.622222 +vt 0.729592 0.622222 +vt 0.724490 0.688889 +vt 0.739796 0.622222 +vt 0.734694 0.688889 +vt 0.750000 0.622222 +vt 0.744898 0.688889 +vt 0.755102 0.622222 +vt 0.750000 0.684444 +vt 0.857143 0.235556 +vt 0.872449 0.186667 +vt 0.872449 0.235556 +vt 0.826531 0.235556 +vt 0.841837 0.186667 +vt 0.841837 0.235556 +vt 0.795918 0.186667 +vt 0.811224 0.235556 +vt 0.795918 0.235556 +vt 0.811224 0.186667 +vt 0.887755 0.235556 +vt 0.887755 0.186667 +vt 0.903061 0.235556 +vt 0.903061 0.186667 +vt 0.918367 0.235556 +vt 0.933673 0.186667 +vt 0.933673 0.235556 +vt 0.948980 0.235556 +vt 0.948980 0.186667 +vt 0.964286 0.235556 +vt 0.964286 0.186667 +vt 0.979592 0.235556 +vt 0.709184 0.688889 +vt 0.704082 0.462222 +vt 0.719388 0.524444 +vt 0.704082 0.524444 +vt 0.285714 0.111111 +vt 0.285714 0.186667 +vt 0.244898 0.186667 +vt 0.265306 0.000000 +vt 0.668367 0.373333 +vt 0.704082 0.373333 +vt 0.816327 0.373333 +vt 0.780612 0.373333 +vt 0.686224 0.524444 +vt 0.698980 0.524444 +vt 0.668367 0.462222 +vt 0.673469 0.524444 +vt 0.668367 0.524444 +vt 0.750000 0.524444 +vt 0.739796 0.524444 +vt 0.729592 0.524444 +vt 0.719388 0.524444 +vt 0.678571 0.524444 +vt 0.668367 0.524444 +vt 0.663265 0.524444 +vt 0.816327 0.524444 +vt 0.755102 0.524444 +vt 0.688776 0.524444 +vt 0.714286 0.968889 +vt 0.785714 0.688889 +vt 0.785714 0.968889 +vt 0.571429 0.968889 +vt 0.642857 0.688889 +vt 0.642857 0.968889 +vt 0.714286 0.968889 +vt 0.785714 0.688889 +vt 0.785714 0.968889 +vt 0.571429 0.968889 +vt 0.642857 0.688889 +vt 0.642857 0.968889 +vt 0.857143 0.688889 +vt 0.857143 0.968889 +vt 0.714286 0.688889 +vt 0.857143 0.688889 +vt 0.857143 0.968889 +vt 0.714286 0.688889 +vt 0.923469 0.764444 +vt 0.943878 0.688889 +vt 0.943878 0.764444 +vt 0.877551 0.688889 +vt 0.877551 0.764444 +vt 0.857143 0.764444 +vt 0.923469 0.764444 +vt 0.943878 0.688889 +vt 0.943878 0.764444 +vt 0.877551 0.688889 +vt 0.877551 0.764444 +vt 0.857143 0.764444 +vt 0.775510 0.297778 +vt 0.571429 0.186667 +vt 0.612245 0.373333 +vt 0.642857 0.373333 +vt 0.704082 0.373333 +vt 0.663265 0.373333 +vt 0.734694 0.373333 +vt 0.765306 0.373333 +vt 0.948980 0.186667 +vt 0.795918 0.235556 +vt 0.979592 0.186667 +vt 0.775510 0.297778 +vt 0.571429 0.186667 +vt 0.612245 0.373333 +vt 0.642857 0.373333 +vt 0.704082 0.373333 +vt 0.663265 0.373333 +vt 0.734694 0.373333 +vt 0.765306 0.373333 +vt 0.816327 0.555556 +vt 0.780612 0.524444 +vt 0.857143 0.186667 +vt 0.826531 0.186667 +vt 0.918367 0.186667 +vt 0.979592 0.186667 +vt 0.755102 0.524444 +vt 0.698980 0.524444 +vt 0.571429 0.688889 +vt 0.571429 0.688889 +vt 0.923469 0.688889 +vt 0.857143 0.688889 +vt 0.923469 0.688889 +vt 0.857143 0.688889 +vn 0.0000 1.0000 0.0000 +vn 0.6965 0.1723 0.6965 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 -0.9397 -0.3420 +vn -0.6965 0.1723 -0.6965 +vn -0.5144 0.0000 -0.8575 +vn -0.5556 0.0000 -0.8315 +vn -0.7071 0.0000 -0.7071 +vn 0.0000 0.0000 -1.0000 +vn -0.3827 0.0000 -0.9239 +vn 1.0000 0.0000 -0.0000 +vn 0.9239 0.0000 0.3827 +vn -0.9239 0.0000 0.3827 +vn -1.0000 0.0000 -0.0000 +vn 0.9239 0.0000 -0.3827 +vn -0.7071 0.0000 0.7071 +vn 0.7071 0.0000 -0.7071 +vn -0.3827 0.0000 0.9239 +vn 0.3827 0.0000 -0.9239 +vn 0.0000 0.0000 1.0000 +vn 0.3827 0.0000 0.9239 +vn 0.7071 0.0000 0.7071 +vn -0.9239 0.0000 -0.3827 +vn 0.9013 0.2195 -0.3733 +vn 0.9436 0.3312 -0.0000 +vn 0.9756 0.2195 0.0000 +vn 0.6899 0.2195 -0.6899 +vn 0.8717 0.3312 -0.3611 +vn 0.3733 0.2195 -0.9013 +vn 0.6672 0.3312 -0.6672 +vn -0.0000 0.2195 -0.9756 +vn 0.3611 0.3312 -0.8717 +vn -0.3733 0.2195 -0.9013 +vn -0.0000 0.3312 -0.9436 +vn -0.6899 0.2195 -0.6899 +vn -0.3611 0.3312 -0.8717 +vn -0.9013 0.2195 -0.3733 +vn -0.6672 0.3312 -0.6672 +vn -0.9756 0.2195 -0.0000 +vn -0.8717 0.3312 -0.3611 +vn -0.8717 0.3312 0.3611 +vn -0.9436 0.3312 0.0000 +vn -0.6899 0.2195 0.6899 +vn -0.9013 0.2195 0.3733 +vn -0.3611 0.3312 0.8717 +vn -0.6672 0.3312 0.6672 +vn 0.0000 0.2195 0.9756 +vn -0.3733 0.2195 0.9013 +vn 0.3733 0.2195 0.9013 +vn -0.0000 0.3312 0.9436 +vn 0.6899 0.2195 0.6899 +vn 0.3611 0.3312 0.8717 +vn 0.9013 0.2195 0.3733 +vn 0.6672 0.3312 0.6672 +vn 0.8717 0.3312 0.3611 +vn 0.4937 0.1580 -0.8551 +vn -0.0000 0.1925 -0.9813 +vn 0.4906 0.1925 -0.8498 +vn -0.0000 0.1580 -0.9874 +vn -0.4906 0.1925 -0.8498 +vn -0.4937 0.1580 -0.8551 +vn -0.8498 0.1925 -0.4906 +vn -0.8551 0.1580 -0.4937 +vn -0.9811 0.1926 -0.0186 +vn -0.9568 0.1891 0.2208 +vn -0.9876 0.1569 -0.0007 +vn -0.9549 0.1504 0.2559 +vn 0.8551 0.1580 -0.4937 +vn 0.8498 0.1925 -0.4906 +vn 0.9876 0.1569 -0.0007 +vn 0.9811 0.1926 -0.0186 +vn 0.9568 0.1891 0.2208 +vn 0.9730 0.2306 -0.0011 +vn 0.9412 0.2249 0.2522 +vn 0.8430 0.2290 -0.4867 +vn -0.0000 0.2290 -0.9734 +vn -0.4867 0.2290 -0.8430 +vn -0.8430 0.2290 -0.4867 +vn -0.9730 0.2306 -0.0011 +vn -0.9412 0.2249 0.2522 +vn -0.8658 0.1046 0.4893 +vn -0.8660 0.0000 0.5000 +vn -0.9905 0.1370 -0.0100 +vn 0.8660 0.0000 0.5000 +vn 0.8497 0.1670 -0.5001 +vn 0.8660 0.0000 -0.5000 +vn 0.9905 0.1370 -0.0100 +vn 0.9043 0.0825 0.4189 +vn -0.8497 0.1670 -0.5001 +vn -0.8660 0.0000 -0.5000 +vn -0.3745 0.1870 -0.9082 +vn -0.0746 0.6706 -0.7381 +vn 0.3745 0.1870 -0.9082 +vn -0.7043 0.0895 0.7043 +vn 0.5144 -0.0000 -0.8575 +vn 0.5556 -0.0000 -0.8315 +vn 0.1951 0.0000 -0.9808 +vn -0.1951 0.0000 -0.9808 +vn 0.1951 -0.0000 0.9808 +vn 0.5144 0.0000 0.8575 +vn 0.5556 0.0000 0.8315 +vn 0.8521 0.1789 -0.4919 +vn 0.4919 0.1789 -0.8521 +vn 0.8521 0.1789 0.4919 +vn 0.9839 0.1789 -0.0000 +vn -0.0000 0.1789 0.9839 +vn 0.4919 0.1789 0.8521 +vn 0.5000 0.0000 0.8660 +vn 0.5000 0.0000 -0.8660 +vn -0.5000 0.0000 -0.8660 +vn -0.5000 0.0000 0.8660 +vn 0.9285 0.3714 0.0000 +vn 0.8041 0.3714 -0.4642 +vn 0.4642 0.3714 -0.8041 +vn -0.0000 0.3714 -0.9285 +vn -0.4642 0.3714 -0.8041 +vn -0.8041 0.3714 -0.4642 +vn -0.9285 0.3714 0.0000 +vn -0.8041 0.3714 0.4642 +vn -0.4642 0.3714 0.8041 +vn 0.0000 0.3714 0.9285 +vn 0.4642 0.3714 0.8041 +vn 0.8041 0.3714 0.4642 +vn -0.0000 0.1789 -0.9839 +vn -0.4919 0.1789 -0.8521 +vn -0.8521 0.1789 -0.4919 +vn -0.9839 0.1789 0.0000 +vn -0.8521 0.1789 0.4919 +vn -0.4919 0.1789 0.8521 +vn 0.6886 0.4574 -0.5627 +vn 0.2733 0.5153 -0.8122 +vn 0.9846 0.1641 0.0597 +vn -0.6886 0.4574 -0.5627 +vn -0.9846 0.1641 0.0597 +vn -0.2733 0.5153 -0.8122 +vn -0.4937 0.1580 0.8551 +vn 0.0000 0.1925 0.9813 +vn -0.4906 0.1925 0.8498 +vn 0.0000 0.1580 0.9874 +vn 0.4906 0.1925 0.8498 +vn 0.4937 0.1580 0.8551 +vn 0.8498 0.1925 0.4906 +vn 0.8551 0.1580 0.4937 +vn 0.9811 0.1926 0.0186 +vn 0.9568 0.1891 -0.2208 +vn 0.9876 0.1569 0.0007 +vn 0.9549 0.1504 -0.2559 +vn -0.8551 0.1580 0.4937 +vn -0.8498 0.1925 0.4906 +vn -0.9876 0.1569 0.0007 +vn -0.9811 0.1926 0.0186 +vn -0.9568 0.1891 -0.2208 +vn -0.9730 0.2306 0.0011 +vn -0.9412 0.2249 -0.2522 +vn -0.8430 0.2290 0.4867 +vn -0.0000 0.2290 0.9734 +vn 0.4867 0.2290 0.8430 +vn 0.8430 0.2290 0.4867 +vn 0.9730 0.2306 0.0011 +vn 0.9412 0.2249 -0.2522 +vn 0.5098 0.0000 0.8603 +vn -0.4475 0.1436 0.8827 +vn -0.5098 0.0000 0.8603 +vn 0.3856 0.2768 0.8802 +vn -0.3856 0.2768 0.8802 +vn 0.9796 0.2009 -0.0044 +vn 0.8462 0.2260 0.4826 +vn 0.9417 0.1046 0.3198 +vn 0.0000 -0.9802 0.1978 +vn 0.0000 -0.8720 0.4896 +vn 0.9968 0.0762 -0.0244 +vn 0.8471 0.1996 -0.4926 +vn 0.6944 0.1887 -0.6944 +vn 0.4475 0.1436 0.8827 +vn -0.9043 0.0825 -0.4189 +vn -0.9905 0.1370 0.0100 +vn 0.0746 0.6706 0.7381 +vn -0.8497 0.1670 0.5001 +vn -0.3745 0.1870 0.9082 +vn 0.3745 0.1870 0.9082 +vn 0.8497 0.1670 0.5001 +vn 0.9905 0.1370 0.0100 +vn 0.8658 0.1046 -0.4893 +vn 0.7043 0.0895 -0.7043 +vn -0.9417 0.1046 0.3198 +vn -0.8462 0.2260 0.4826 +vn -0.5144 -0.0000 0.8575 +vn -0.1951 0.0000 0.9808 +vn -0.5556 -0.0000 0.8315 +vn -0.9661 0.0000 0.2581 +vn 0.9661 0.0000 0.2581 +vn -0.9796 0.2009 -0.0044 +vn -0.9968 0.0762 -0.0244 +vn -0.8471 0.1996 -0.4926 +vn -0.6944 0.1887 -0.6944 +vn 0.8315 0.0000 0.5556 +vn -0.8315 0.0000 -0.5556 +vn 0.8315 0.0000 -0.5556 +vn -0.8315 0.0000 0.5556 +vn 0.4235 0.0000 0.9059 +vn 0.7673 0.0000 0.6413 +vn -0.4235 0.0000 0.9059 +vn -0.7673 0.0000 0.6413 +vn -0.4235 0.0000 -0.9059 +vn -0.7673 0.0000 -0.6413 +vn 0.4235 0.0000 -0.9059 +vn 0.7673 0.0000 -0.6413 +vn 0.9549 0.1504 0.2559 +vn 0.4867 0.2290 -0.8430 +vn -0.9549 0.1504 -0.2559 +vn -0.4867 0.2290 0.8430 +usemtl Material.001 +s off +f 14/1/1 29/2/1 13/3/1 +f 31/4/1 16/5/1 32/6/1 +f 15/7/1 30/8/1 14/1/1 +f 105/9/2 112/10/2 110/11/2 +f 97/12/1 90/13/1 175/14/1 +f 33/15/1 16/5/1 17/16/1 +f 17/16/1 34/17/1 33/15/1 +f 19/18/1 34/17/1 18/19/1 +f 20/20/1 35/21/1 19/18/1 +f 20/20/1 37/22/1 36/23/1 +f 22/24/1 37/22/1 21/25/1 +f 38/26/1 23/27/1 39/28/1 +f 24/29/1 39/28/1 23/27/1 +f 24/29/1 41/30/1 40/31/1 +f 26/32/1 41/30/1 25/33/1 +f 12/34/1 29/2/1 28/35/1 +f 28/35/1 11/36/1 12/34/1 +f 26/32/1 27/37/1 42/38/1 +f 6/39/3 205/40/3 7/41/3 +f 87/42/3 100/43/3 88/44/3 +f 100/43/3 85/45/3 88/44/3 +f 88/44/3 83/46/3 89/47/3 +f 84/48/3 83/46/3 85/45/3 +f 86/49/3 85/45/3 101/50/3 +f 88/44/3 85/45/3 83/46/3 +f 127/51/3 138/52/3 128/53/3 +f 133/54/3 132/55/3 134/56/3 +f 136/57/3 135/58/3 137/59/3 +f 130/60/3 129/61/3 131/62/3 +f 131/62/3 134/56/3 132/55/3 +f 128/53/3 137/59/3 129/61/3 +f 131/62/3 137/59/3 135/58/3 +f 163/63/3 174/64/3 164/65/3 +f 169/66/3 168/67/3 170/68/3 +f 172/69/3 171/70/3 173/71/3 +f 166/72/3 165/73/3 167/74/3 +f 167/74/3 170/68/3 168/67/3 +f 164/65/3 173/71/3 165/73/3 +f 167/74/3 173/71/3 171/70/3 +f 8/75/3 7/41/3 9/76/3 +f 3/77/3 2/78/3 4/79/3 +f 1/80/3 101/50/3 2/78/3 +f 10/81/3 9/76/3 100/43/3 +f 9/76/3 101/50/3 100/43/3 +f 4/79/3 9/76/3 7/41/3 +f 90/13/4 177/82/4 176/83/4 +f 209/84/5 216/85/5 214/86/5 +f 191/87/3 204/88/3 192/89/3 +f 204/88/3 189/90/3 192/89/3 +f 192/89/3 187/91/3 193/92/3 +f 188/93/3 187/91/3 189/90/3 +f 190/94/3 189/90/3 205/40/3 +f 192/89/3 189/90/3 187/91/3 +f 231/95/3 242/96/3 232/97/3 +f 237/98/3 236/99/3 238/100/3 +f 240/101/3 239/102/3 241/103/3 +f 234/104/3 233/105/3 235/106/3 +f 236/99/3 239/102/3 238/100/3 +f 232/97/3 241/103/3 233/105/3 +f 235/106/3 241/103/3 239/102/3 +f 5/107/3 4/79/3 204/88/3 +f 204/88/3 7/41/3 205/40/3 +f 14/1/1 30/8/1 29/2/1 +f 31/4/1 15/7/1 16/5/1 +f 15/7/1 31/4/1 30/8/1 +f 33/15/1 32/6/1 16/5/1 +f 17/16/1 18/19/1 34/17/1 +f 19/18/1 35/21/1 34/17/1 +f 20/20/1 36/23/1 35/21/1 +f 20/20/1 21/25/1 37/22/1 +f 22/24/1 38/26/1 37/22/1 +f 38/26/1 22/24/1 23/27/1 +f 24/29/1 40/31/1 39/28/1 +f 24/29/1 25/33/1 41/30/1 +f 26/32/1 42/38/1 41/30/1 +f 12/34/1 13/3/1 29/2/1 +f 28/35/1 27/108/1 11/36/1 +f 26/32/1 11/109/1 27/37/1 +f 100/43/3 101/50/3 85/45/3 +f 131/62/3 135/58/3 134/56/3 +f 128/53/3 138/52/3 137/59/3 +f 131/62/3 129/61/3 137/59/3 +f 167/74/3 171/70/3 170/68/3 +f 164/65/3 174/64/3 173/71/3 +f 167/74/3 165/73/3 173/71/3 +f 9/76/3 2/78/3 101/50/3 +f 4/79/3 2/78/3 9/76/3 +f 90/13/4 97/12/4 177/82/4 +f 204/88/3 205/40/3 189/90/3 +f 236/99/3 235/106/3 239/102/3 +f 232/97/3 242/96/3 241/103/3 +f 235/106/3 233/105/3 241/103/3 +f 204/88/3 4/79/3 7/41/3 +s 1 +f 114/110/6 101/111/7 1/112/8 +f 43/113/9 28/35/10 44/114/10 +f 39/28/11 54/115/12 38/26/12 +f 32/6/13 47/116/14 31/4/14 +f 40/31/15 55/117/11 39/28/11 +f 33/15/16 48/118/13 32/6/13 +f 41/30/17 56/119/15 40/31/15 +f 34/17/18 49/120/16 33/15/16 +f 42/38/19 57/121/17 41/30/17 +f 35/21/20 50/122/18 34/17/18 +f 58/123/19 27/37/9 43/124/9 +f 36/23/21 51/125/20 35/21/20 +f 29/2/8 44/114/10 28/35/10 +f 37/22/22 52/126/21 36/23/21 +f 30/8/23 45/127/8 29/2/8 +f 38/26/12 53/128/22 37/22/22 +f 31/4/14 46/129/23 30/8/23 +f 56/119/24 71/130/25 55/117/26 +f 57/121/27 72/131/28 56/119/24 +f 58/123/29 73/132/30 57/121/27 +f 43/124/31 74/133/32 58/123/29 +f 44/114/33 59/134/34 43/113/31 +f 45/127/35 60/135/36 44/114/33 +f 46/129/37 61/136/38 45/127/35 +f 47/116/39 62/137/40 46/129/37 +f 47/116/39 64/138/41 63/139/42 +f 49/120/43 64/140/41 48/118/44 +f 49/120/43 66/141/45 65/142/46 +f 51/125/47 66/143/45 50/122/48 +f 52/126/49 67/144/50 51/125/47 +f 53/128/51 68/145/52 52/126/49 +f 54/115/53 69/146/54 53/128/51 +f 55/117/26 70/147/55 54/115/53 +f 72/131/28 73/148/30 75/149/1 +f 65/142/46 66/141/45 75/150/1 +f 73/132/30 74/151/32 75/152/1 +f 66/143/45 67/153/50 75/154/1 +f 59/134/34 60/155/36 75/156/1 +f 74/133/32 59/157/34 75/158/1 +f 67/144/50 68/159/52 75/160/1 +f 60/135/36 61/161/38 75/162/1 +f 68/145/52 69/163/54 75/164/1 +f 61/136/38 62/165/40 75/166/1 +f 69/146/54 70/167/55 75/168/1 +f 62/137/40 63/169/42 75/170/1 +f 70/147/55 71/171/25 75/172/1 +f 63/139/42 64/138/41 75/173/1 +f 71/130/25 72/174/28 75/175/1 +f 64/140/41 65/176/46 75/177/1 +f 89/178/56 79/179/57 82/180/58 +f 83/181/59 78/182/60 79/183/57 +f 84/184/61 77/185/62 78/186/60 +f 85/187/63 76/188/64 77/189/62 +f 114/190/65 86/191/66 101/192/67 +f 88/193/68 82/194/58 81/195/69 +f 87/196/70 81/197/69 80/198/71 +f 113/199/72 87/196/70 80/200/71 +f 113/199/72 92/201/73 93/202/74 +f 81/197/69 92/203/73 80/198/71 +f 82/194/58 91/204/75 81/195/69 +f 78/182/60 175/205/76 79/183/57 +f 175/206/76 82/180/58 79/179/57 +f 77/185/62 97/207/77 78/186/60 +f 76/188/64 96/208/78 77/189/62 +f 95/209/79 114/190/65 94/210/80 +f 99/211/16 106/212/81 94/213/82 +f 94/213/82 107/214/83 95/215/14 +f 93/216/84 110/11/22 98/217/22 +f 90/218/19 103/219/85 91/220/86 +f 91/220/86 104/221/87 92/222/11 +f 92/222/11 105/9/88 93/216/84 +f 95/215/14 108/223/89 96/224/90 +f 96/224/90 109/225/91 97/226/10 +f 105/9/88 104/221/87 112/227/92 +f 104/221/87 103/219/85 112/228/92 +f 103/219/85 102/229/93 112/230/92 +f 109/225/91 108/223/89 112/231/92 +f 108/223/89 107/214/83 112/232/92 +f 107/214/83 106/212/81 112/233/92 +f 106/212/81 111/234/94 112/235/92 +f 113/236/95 10/237/17 100/238/96 +f 25/239/17 113/236/95 26/240/19 +f 26/240/19 113/236/95 11/241/97 +f 11/36/98 114/110/6 12/242/10 +f 13/243/8 114/110/6 1/112/8 +f 2/244/23 13/243/8 1/112/8 +f 3/245/14 14/246/23 2/244/23 +f 4/247/13 15/248/14 3/245/14 +f 5/249/16 16/250/13 4/247/13 +f 20/251/21 19/252/99 218/253/100 +f 218/253/100 21/254/22 20/251/21 +f 218/253/100 205/255/101 6/256/22 +f 7/257/12 21/254/22 6/256/22 +f 8/258/11 22/259/12 7/257/12 +f 9/260/15 23/261/11 8/258/11 +f 10/237/17 24/262/15 9/260/15 +f 125/263/102 138/264/103 126/265/103 +f 135/266/104 124/267/105 123/268/104 +f 133/269/106 122/270/107 121/271/106 +f 134/272/107 123/268/104 122/270/107 +f 136/273/105 125/263/102 124/267/105 +f 160/274/11 173/275/86 161/276/86 +f 157/277/20 170/278/108 158/279/108 +f 154/280/14 167/281/82 155/282/82 +f 161/276/86 174/283/109 162/284/109 +f 151/285/9 164/286/110 152/287/110 +f 158/279/108 171/288/84 159/289/84 +f 155/282/82 168/290/111 156/291/111 +f 162/284/109 163/292/9 151/293/9 +f 152/287/110 165/294/90 153/295/90 +f 159/289/84 172/296/11 160/274/11 +f 156/291/111 169/297/20 157/277/20 +f 153/295/90 166/298/14 154/280/14 +f 160/274/112 149/299/113 148/300/112 +f 161/276/113 150/301/114 149/299/113 +f 162/284/114 139/302/115 150/301/114 +f 151/285/115 140/303/116 139/304/115 +f 152/287/116 141/305/117 140/303/116 +f 153/295/117 142/306/118 141/305/117 +f 154/280/118 143/307/119 142/306/118 +f 155/282/119 144/308/120 143/307/119 +f 156/291/120 145/309/121 144/308/120 +f 145/309/121 158/279/122 146/310/122 +f 158/279/122 147/311/123 146/310/122 +f 159/289/123 148/300/112 147/311/123 +f 138/264/103 115/312/124 126/265/103 +f 127/313/124 116/314/125 115/315/124 +f 128/316/125 117/317/126 116/314/125 +f 129/318/126 118/319/127 117/317/126 +f 130/320/127 119/321/128 118/319/127 +f 131/322/128 120/323/129 119/321/128 +f 132/324/129 121/271/106 120/323/129 +f 176/83/130 178/325/131 90/326/132 +f 177/82/133 97/327/134 179/328/135 +f 178/329/131 177/82/133 179/330/135 +f 112/331/92 102/229/93 109/225/91 +f 102/229/93 97/226/10 109/225/91 +f 193/332/136 183/333/137 186/334/138 +f 187/335/139 182/336/140 183/337/137 +f 188/338/141 181/339/142 182/340/140 +f 189/341/143 180/342/144 181/343/142 +f 218/344/145 190/345/146 205/346/147 +f 192/347/148 186/348/138 185/349/149 +f 191/350/150 185/351/149 184/352/151 +f 217/353/152 191/350/150 184/354/151 +f 217/353/152 196/355/153 197/356/154 +f 185/351/149 196/357/153 184/352/151 +f 186/348/138 195/358/155 185/349/149 +f 182/336/140 243/359/156 183/337/137 +f 243/360/156 186/334/138 183/333/137 +f 181/339/142 201/361/157 182/340/140 +f 180/342/144 200/362/158 181/343/142 +f 199/363/159 218/344/145 198/364/160 +f 246/365/161 251/366/162 245/367/163 +f 251/366/162 265/368/164 264/369/165 +f 261/370/166 260/371/167 253/372/168 +f 244/373/169 246/374/170 245/375/170 +f 261/370/166 255/376/171 262/377/172 +f 256/378/173 262/377/172 255/376/171 +f 253/372/168 265/379/164 252/380/174 +f 255/376/171 261/370/166 253/372/168 +f 209/84/175 208/381/176 216/382/177 +f 208/381/176 207/383/178 216/384/177 +f 207/383/178 206/385/179 216/386/177 +f 213/387/180 212/388/181 216/389/177 +f 212/388/181 211/390/182 216/391/177 +f 211/390/182 210/392/183 216/393/177 +f 210/392/183 215/394/184 216/395/177 +f 229/396/128 242/397/129 230/398/129 +f 227/399/126 240/400/127 228/401/127 +f 237/402/124 226/403/125 225/404/124 +f 238/405/125 227/399/126 226/403/125 +f 240/400/127 229/396/128 228/401/127 +f 242/397/129 219/406/106 230/398/129 +f 231/407/106 220/408/107 219/406/106 +f 232/409/107 221/410/104 220/408/107 +f 221/410/104 234/411/105 222/412/105 +f 234/411/105 223/413/102 222/412/105 +f 235/414/102 224/415/103 223/413/102 +f 236/416/103 225/417/124 224/415/103 +f 216/418/177 206/385/179 213/387/180 +f 250/419/185 264/420/165 259/421/186 +f 217/422/187 19/252/188 18/423/18 +f 17/424/16 217/422/187 18/423/18 +f 217/422/187 5/249/16 204/425/189 +f 250/419/185 248/426/14 244/427/190 +f 245/367/163 250/419/185 244/427/190 +f 249/428/11 253/372/168 247/429/191 +f 253/372/168 246/365/161 247/429/191 +f 258/430/192 250/419/185 259/431/186 +f 258/430/192 254/432/193 250/419/185 +f 258/430/192 257/433/194 254/432/193 +f 263/434/195 254/432/193 257/433/194 +f 262/435/86 215/394/184 210/392/183 +f 261/436/11 210/392/183 211/390/182 +f 260/437/84 211/390/182 212/388/181 +f 206/385/179 265/438/21 213/387/180 +f 258/439/14 207/383/178 208/381/176 +f 257/440/90 208/381/176 209/84/175 +f 263/441/8 209/84/175 214/86/8 +f 249/442/3 244/373/169 248/443/3 +f 265/438/21 212/388/181 213/387/180 +f 259/444/82 206/385/179 207/383/178 +f 273/445/11 284/446/15 274/447/15 +f 271/448/196 282/449/12 272/450/12 +f 268/451/14 279/452/13 269/453/13 +f 266/454/197 277/455/23 267/456/23 +f 274/447/15 285/457/198 275/458/198 +f 272/450/12 283/459/11 273/445/11 +f 269/453/13 280/460/199 270/461/199 +f 267/456/23 278/462/14 268/451/14 +f 288/463/200 293/464/201 289/465/201 +f 291/466/202 288/463/200 287/467/202 +f 286/468/203 291/466/202 287/467/202 +f 296/469/204 301/470/205 297/471/205 +f 299/472/206 296/469/204 295/473/206 +f 294/474/207 299/472/206 295/473/206 +f 43/113/9 27/108/9 28/35/10 +f 39/28/11 55/117/11 54/115/12 +f 32/6/13 48/118/13 47/116/14 +f 40/31/15 56/119/15 55/117/11 +f 33/15/16 49/120/16 48/118/13 +f 41/30/17 57/121/17 56/119/15 +f 34/17/18 50/122/18 49/120/16 +f 42/38/19 58/123/19 57/121/17 +f 35/21/20 51/125/20 50/122/18 +f 58/123/19 42/38/19 27/37/9 +f 36/23/21 52/126/21 51/125/20 +f 29/2/8 45/127/8 44/114/10 +f 37/22/22 53/128/22 52/126/21 +f 30/8/23 46/129/23 45/127/8 +f 38/26/12 54/115/12 53/128/22 +f 31/4/14 47/116/14 46/129/23 +f 56/119/24 72/174/28 71/130/25 +f 57/121/27 73/148/30 72/131/28 +f 58/123/29 74/151/32 73/132/30 +f 43/124/31 59/157/34 74/133/32 +f 44/114/33 60/155/36 59/134/34 +f 45/127/35 61/161/38 60/135/36 +f 46/129/37 62/165/40 61/136/38 +f 47/116/39 63/169/42 62/137/40 +f 47/116/39 48/118/44 64/138/41 +f 49/120/43 65/176/46 64/140/41 +f 49/120/43 50/122/48 66/141/45 +f 51/125/47 67/153/50 66/143/45 +f 52/126/49 68/159/52 67/144/50 +f 53/128/51 69/163/54 68/145/52 +f 54/115/53 70/167/55 69/146/54 +f 55/117/26 71/171/25 70/147/55 +f 89/178/56 83/181/59 79/179/57 +f 83/181/59 84/184/61 78/182/60 +f 84/184/61 85/187/63 77/185/62 +f 85/187/63 86/191/66 76/188/64 +f 114/190/65 76/475/64 86/191/66 +f 88/193/68 89/178/56 82/194/58 +f 87/196/70 88/193/68 81/197/69 +f 113/199/72 100/476/208 87/196/70 +f 113/199/72 80/200/71 92/201/73 +f 81/197/69 91/477/75 92/203/73 +f 82/194/58 90/478/209 91/204/75 +f 78/182/60 97/479/77 175/205/76 +f 175/206/76 90/480/209 82/180/58 +f 77/185/62 96/481/78 97/207/77 +f 76/188/64 95/482/79 96/208/78 +f 95/209/79 76/475/64 114/190/65 +f 99/211/16 111/234/94 106/212/81 +f 94/213/82 106/212/81 107/214/83 +f 93/216/84 105/9/88 110/11/22 +f 90/218/19 102/229/93 103/219/85 +f 91/220/86 103/219/85 104/221/87 +f 92/222/11 104/221/87 105/9/88 +f 95/215/14 107/214/83 108/223/89 +f 96/224/90 108/223/89 109/225/91 +f 25/239/17 10/237/17 113/236/95 +f 13/243/8 12/242/10 114/110/6 +f 2/244/23 14/246/23 13/243/8 +f 3/245/14 15/248/14 14/246/23 +f 4/247/13 16/250/13 15/248/14 +f 5/249/16 17/424/16 16/250/13 +f 218/253/100 6/256/22 21/254/22 +f 7/257/12 22/259/12 21/254/22 +f 8/258/11 23/261/11 22/259/12 +f 9/260/15 24/262/15 23/261/11 +f 10/237/17 25/239/17 24/262/15 +f 125/263/102 137/483/102 138/264/103 +f 135/266/104 136/273/105 124/267/105 +f 133/269/106 134/272/107 122/270/107 +f 134/272/107 135/266/104 123/268/104 +f 136/273/105 137/483/102 125/263/102 +f 160/274/11 172/296/11 173/275/86 +f 157/277/20 169/297/20 170/278/108 +f 154/280/14 166/298/14 167/281/82 +f 161/276/86 173/275/86 174/283/109 +f 151/285/9 163/484/9 164/286/110 +f 158/279/108 170/278/108 171/288/84 +f 155/282/82 167/281/82 168/290/111 +f 162/284/109 174/283/109 163/292/9 +f 152/287/110 164/286/110 165/294/90 +f 159/289/84 171/288/84 172/296/11 +f 156/291/111 168/290/111 169/297/20 +f 153/295/90 165/294/90 166/298/14 +f 160/274/112 161/276/113 149/299/113 +f 161/276/113 162/284/114 150/301/114 +f 162/284/114 151/293/115 139/302/115 +f 151/285/115 152/287/116 140/303/116 +f 152/287/116 153/295/117 141/305/117 +f 153/295/117 154/280/118 142/306/118 +f 154/280/118 155/282/119 143/307/119 +f 155/282/119 156/291/120 144/308/120 +f 156/291/120 157/277/121 145/309/121 +f 145/309/121 157/277/121 158/279/122 +f 158/279/122 159/289/123 147/311/123 +f 159/289/123 160/274/112 148/300/112 +f 138/264/103 127/485/124 115/312/124 +f 127/313/124 128/316/125 116/314/125 +f 128/316/125 129/318/126 117/317/126 +f 129/318/126 130/320/127 118/319/127 +f 130/320/127 131/322/128 119/321/128 +f 131/322/128 132/324/129 120/323/129 +f 132/324/129 133/269/106 121/271/106 +f 178/329/131 176/83/130 177/82/133 +f 102/229/93 90/218/19 97/226/10 +f 193/332/136 187/335/139 183/333/137 +f 187/335/139 188/338/141 182/336/140 +f 188/338/141 189/341/143 181/339/142 +f 189/341/143 190/345/146 180/342/144 +f 218/344/145 180/486/144 190/345/146 +f 192/347/148 193/332/136 186/348/138 +f 191/350/150 192/347/148 185/351/149 +f 217/353/152 204/487/210 191/350/150 +f 217/353/152 184/354/151 196/355/153 +f 185/351/149 195/488/155 196/357/153 +f 186/348/138 194/489/211 195/358/155 +f 182/336/140 201/490/157 243/359/156 +f 243/360/156 194/491/211 186/334/138 +f 181/339/142 200/492/158 201/361/157 +f 180/342/144 199/493/159 200/362/158 +f 199/363/159 180/486/144 218/344/145 +f 246/365/161 252/380/174 251/366/162 +f 251/366/162 252/380/174 265/368/164 +f 244/373/169 247/494/169 246/374/170 +f 253/372/168 260/495/167 265/379/164 +f 229/396/128 241/496/128 242/397/129 +f 227/399/126 239/497/126 240/400/127 +f 237/402/124 238/405/125 226/403/125 +f 238/405/125 239/497/126 227/399/126 +f 240/400/127 241/496/128 229/396/128 +f 242/397/129 231/407/106 219/406/106 +f 231/407/106 232/409/107 220/408/107 +f 232/409/107 233/498/104 221/410/104 +f 221/410/104 233/498/104 234/411/105 +f 234/411/105 235/414/102 223/413/102 +f 235/414/102 236/416/103 224/415/103 +f 236/416/103 237/499/124 225/417/124 +f 250/419/185 251/366/162 264/420/165 +f 17/424/16 5/249/16 217/422/187 +f 250/419/185 254/432/193 248/426/14 +f 245/367/163 251/366/162 250/419/185 +f 249/428/11 255/376/171 253/372/168 +f 253/372/168 252/380/174 246/365/161 +f 262/435/86 256/500/17 215/394/184 +f 261/436/11 262/435/86 210/392/183 +f 260/437/84 261/436/11 211/390/182 +f 206/385/179 264/501/18 265/438/21 +f 258/439/14 259/444/82 207/383/178 +f 257/440/90 258/439/14 208/381/176 +f 263/441/8 257/440/90 209/84/175 +f 249/442/3 247/494/169 244/373/169 +f 265/438/21 260/437/84 212/388/181 +f 259/444/82 264/501/18 206/385/179 +f 273/445/11 283/459/11 284/446/15 +f 271/448/196 281/502/196 282/449/12 +f 268/451/14 278/462/14 279/452/13 +f 266/454/197 276/503/197 277/455/23 +f 274/447/15 284/446/15 285/457/198 +f 272/450/12 282/449/12 283/459/11 +f 269/453/13 279/452/13 280/460/199 +f 267/456/23 277/455/23 278/462/14 +f 288/463/200 292/504/200 293/464/201 +f 291/466/202 292/504/200 288/463/200 +f 286/468/203 290/505/203 291/466/202 +f 296/469/204 300/506/204 301/470/205 +f 299/472/206 300/506/204 296/469/204 +f 294/474/207 298/507/207 299/472/206 +l 197 202 +l 203 198 diff --git a/src/main/resources/assets/hbm/models/missile_micro.obj b/src/main/resources/assets/hbm/models/missile_micro.obj new file mode 100644 index 000000000..3af3d6293 --- /dev/null +++ b/src/main/resources/assets/hbm/models/missile_micro.obj @@ -0,0 +1,1023 @@ +# Blender v2.79 (sub 0) OBJ File: 'missile_micro.blend' +# www.blender.org +o Circle +v 0.164063 4.750000 -0.284164 +v 0.284165 4.750000 -0.164062 +v 0.328125 4.750000 0.000000 +v 0.284165 4.750000 0.164063 +v 0.164062 4.750000 0.284165 +v -0.000000 4.750000 0.328125 +v -0.164063 4.750000 0.284165 +v -0.284165 4.750000 0.164063 +v -0.328125 4.750000 0.000000 +v -0.284165 4.750000 -0.164062 +v -0.164062 4.750000 -0.284165 +v 0.000000 4.750000 -0.328125 +v 0.000000 0.000000 -0.375000 +v -0.187500 0.000000 -0.324760 +v -0.324760 0.000000 -0.187500 +v -0.375000 0.000000 0.000000 +v -0.324760 0.000000 0.187500 +v -0.187500 0.000000 0.324760 +v -0.000000 0.000000 0.375000 +v 0.187500 0.000000 0.324760 +v 0.324759 0.000000 0.187500 +v 0.375000 0.000000 0.000000 +v 0.324760 0.000000 -0.187500 +v 0.187500 0.000000 -0.324759 +v 0.000000 1.500000 -0.375000 +v -0.187500 1.500000 -0.324760 +v -0.324760 1.500000 -0.187500 +v -0.375000 1.500000 0.000000 +v -0.324760 1.500000 0.187500 +v -0.187500 1.500000 0.324760 +v -0.000000 1.500000 0.375000 +v 0.187500 1.500000 0.324760 +v 0.324759 1.500000 0.187500 +v 0.375000 1.500000 0.000000 +v 0.324760 1.500000 -0.187500 +v 0.187500 1.500000 -0.324759 +v 0.000000 1.500000 -0.312500 +v -0.156250 1.500000 -0.270633 +v -0.270633 1.500000 -0.156250 +v -0.312500 1.500000 0.000000 +v -0.270633 1.500000 0.156250 +v -0.156250 1.500000 0.270633 +v -0.000000 1.500000 0.312500 +v 0.156250 1.500000 0.270633 +v 0.270633 1.500000 0.156250 +v 0.312500 1.500000 0.000000 +v 0.270633 1.500000 -0.156250 +v 0.156250 1.500000 -0.270633 +v 0.000000 1.750000 -0.312500 +v -0.156250 1.750000 -0.270633 +v -0.270633 1.750000 -0.156250 +v -0.312500 1.750000 0.000000 +v -0.270633 1.750000 0.156250 +v -0.156250 1.750000 0.270633 +v -0.000000 1.750000 0.312500 +v 0.156250 1.750000 0.270633 +v 0.270633 1.750000 0.156250 +v 0.312500 1.750000 0.000000 +v 0.270633 1.750000 -0.156250 +v 0.156250 1.750000 -0.270633 +v 0.000000 1.750000 -0.375000 +v -0.187500 1.750000 -0.324760 +v -0.324760 1.750000 -0.187500 +v -0.375000 1.750000 0.000000 +v -0.324760 1.750000 0.187500 +v -0.187500 1.750000 0.324760 +v -0.000000 1.750000 0.375000 +v 0.187500 1.750000 0.324760 +v 0.324759 1.750000 0.187500 +v 0.375000 1.750000 0.000000 +v 0.324760 1.750000 -0.187500 +v 0.187500 1.750000 -0.324759 +v 0.000000 2.500000 -0.375000 +v -0.187500 2.500000 -0.324760 +v -0.324760 2.500000 -0.187500 +v -0.375000 2.500000 0.000000 +v -0.324760 2.500000 0.187500 +v -0.187500 2.500000 0.324760 +v -0.000000 2.500000 0.375000 +v 0.187500 2.500000 0.324760 +v 0.324759 2.500000 0.187500 +v 0.375000 2.500000 0.000000 +v 0.324760 2.500000 -0.187500 +v 0.187500 2.500000 -0.324759 +v 0.000000 2.500000 -0.312500 +v -0.156250 2.500000 -0.270633 +v -0.270633 2.500000 -0.156250 +v -0.312500 2.500000 0.000000 +v -0.270633 2.500000 0.156250 +v -0.156250 2.500000 0.270633 +v -0.000000 2.500000 0.312500 +v 0.156250 2.500000 0.270633 +v 0.270633 2.500000 0.156250 +v 0.312500 2.500000 0.000000 +v 0.270633 2.500000 -0.156250 +v 0.156250 2.500000 -0.270633 +v 0.000000 2.750000 -0.312500 +v -0.156250 2.750000 -0.270633 +v -0.270633 2.750000 -0.156250 +v -0.312500 2.750000 0.000000 +v -0.270633 2.750000 0.156250 +v -0.156250 2.750000 0.270633 +v -0.000000 2.750000 0.312500 +v 0.156250 2.750000 0.270633 +v 0.270633 2.750000 0.156250 +v 0.312500 2.750000 0.000000 +v 0.270633 2.750000 -0.156250 +v 0.156250 2.750000 -0.270633 +v 0.000000 2.750000 -0.375000 +v -0.187500 2.750000 -0.324760 +v -0.324760 2.750000 -0.187500 +v -0.375000 2.750000 0.000000 +v -0.324760 2.750000 0.187500 +v -0.187500 2.750000 0.324760 +v -0.000000 2.750000 0.375000 +v 0.187500 2.750000 0.324760 +v 0.324759 2.750000 0.187500 +v 0.375000 2.750000 0.000000 +v 0.324760 2.750000 -0.187500 +v 0.187500 2.750000 -0.324759 +v 0.000000 3.500000 -0.375000 +v -0.187500 3.500000 -0.324760 +v -0.324760 3.500000 -0.187500 +v -0.375000 3.500000 0.000000 +v -0.324760 3.500000 0.187500 +v -0.187500 3.500000 0.324760 +v -0.000000 3.500000 0.375000 +v 0.187500 3.500000 0.324760 +v 0.324759 3.500000 0.187500 +v 0.375000 3.500000 0.000000 +v 0.324760 3.500000 -0.187500 +v 0.187500 3.500000 -0.324759 +v 0.000000 3.500000 -0.312500 +v -0.156250 3.500000 -0.270633 +v -0.270633 3.500000 -0.156250 +v -0.312500 3.500000 0.000000 +v -0.270633 3.500000 0.156250 +v -0.156250 3.500000 0.270633 +v -0.000000 3.500000 0.312500 +v 0.156250 3.500000 0.270633 +v 0.270633 3.500000 0.156250 +v 0.312500 3.500000 0.000000 +v 0.270633 3.500000 -0.156250 +v 0.156250 3.500000 -0.270633 +v 0.000000 3.750000 -0.312500 +v -0.156250 3.750000 -0.270633 +v -0.270633 3.750000 -0.156250 +v -0.312500 3.750000 0.000000 +v -0.270633 3.750000 0.156250 +v -0.156250 3.750000 0.270633 +v -0.000000 3.750000 0.312500 +v 0.156250 3.750000 0.270633 +v 0.270633 3.750000 0.156250 +v 0.312500 3.750000 0.000000 +v 0.270633 3.750000 -0.156250 +v 0.156250 3.750000 -0.270633 +v 0.000000 3.750000 -0.375000 +v -0.187500 3.750000 -0.324760 +v -0.324760 3.750000 -0.187500 +v -0.375000 3.750000 0.000000 +v -0.324760 3.750000 0.187500 +v -0.187500 3.750000 0.324760 +v -0.000000 3.750000 0.375000 +v 0.187500 3.750000 0.324760 +v 0.324759 3.750000 0.187500 +v 0.375000 3.750000 0.000000 +v 0.324760 3.750000 -0.187500 +v 0.187500 3.750000 -0.324759 +v 0.000000 4.500000 -0.375000 +v -0.187500 4.500000 -0.324760 +v -0.324760 4.500000 -0.187500 +v -0.375000 4.500000 0.000000 +v -0.324760 4.500000 0.187500 +v -0.187500 4.500000 0.324760 +v -0.000000 4.500000 0.375000 +v 0.187500 4.500000 0.324760 +v 0.324759 4.500000 0.187500 +v 0.375000 4.500000 0.000000 +v 0.324760 4.500000 -0.187500 +v 0.187500 4.500000 -0.324759 +v 0.000000 5.000000 0.000000 +v -0.198874 1.531250 -0.154680 +v -0.198874 0.031250 -0.154680 +v -0.154680 1.531250 -0.198874 +v -0.154680 0.031250 -0.198874 +v -0.530330 1.031250 -0.530330 +v -0.530330 0.031250 -0.530330 +v 0.530330 0.031250 0.530330 +v 0.530330 1.031250 0.530330 +v 0.154680 0.031250 0.198874 +v 0.154680 1.531250 0.198874 +v 0.198874 0.031250 0.154680 +v 0.198874 1.531250 0.154680 +v -0.154680 1.531250 0.198874 +v -0.154680 0.031250 0.198874 +v -0.198874 1.531250 0.154680 +v -0.198874 0.031250 0.154680 +v -0.530330 1.031250 0.530330 +v -0.530330 0.031250 0.530330 +v 0.530330 0.031250 -0.530330 +v 0.530330 1.031250 -0.530330 +v 0.198874 0.031250 -0.154680 +v 0.198874 1.531250 -0.154680 +v 0.154680 0.031250 -0.198874 +v 0.154680 1.531250 -0.198874 +v 0.000000 0.000000 -0.250000 +v -0.125000 0.000000 -0.216506 +v -0.216506 0.000000 -0.125000 +v -0.250000 0.000000 0.000000 +v -0.216506 0.000000 0.125000 +v -0.125000 0.000000 0.216506 +v -0.000000 0.000000 0.250000 +v 0.125000 0.000000 0.216506 +v 0.216506 0.000000 0.125000 +v 0.250000 0.000000 0.000000 +v 0.216506 0.000000 -0.125000 +v 0.125000 0.000000 -0.216506 +v -0.000000 0.500000 0.000000 +v 0.334759 2.937500 0.187500 +v 0.385000 2.937500 0.000000 +v 0.334760 2.937500 -0.187500 +v 0.334759 3.312500 0.187500 +v 0.385000 3.312500 0.000000 +v 0.334760 3.312500 -0.187500 +v -0.334760 2.937500 -0.187500 +v -0.385000 2.937500 -0.000000 +v -0.334760 2.937500 0.187500 +v -0.334760 3.312500 -0.187500 +v -0.385000 3.312500 -0.000000 +v -0.334760 3.312500 0.187500 +vt 0.576923 0.354167 +vt 0.634615 0.364583 +vt 0.576923 0.364583 +vt 0.634615 0.354167 +vt 0.692308 0.364583 +vt 0.057692 0.354167 +vt 0.000000 0.364583 +vt 0.000000 0.354167 +vt 0.115385 0.354167 +vt 0.057692 0.364583 +vt 0.173077 0.354167 +vt 0.115385 0.364583 +vt 0.230769 0.354167 +vt 0.173077 0.364583 +vt 0.288462 0.354167 +vt 0.230769 0.364583 +vt 0.346154 0.354167 +vt 0.288462 0.364583 +vt 0.403846 0.364583 +vt 0.346154 0.364583 +vt 0.403846 0.354167 +vt 0.461538 0.364583 +vt 0.519231 0.354167 +vt 0.461538 0.354167 +vt 0.519231 0.364583 +vt 0.519231 0.406250 +vt 0.461538 0.416667 +vt 0.461538 0.406250 +vt 0.576923 0.406250 +vt 0.519231 0.416667 +vt 0.634615 0.406250 +vt 0.576923 0.416667 +vt 0.692308 0.406250 +vt 0.634615 0.416667 +vt 0.057692 0.406250 +vt 0.000000 0.416667 +vt 0.000000 0.406250 +vt 0.115385 0.416667 +vt 0.057692 0.416667 +vt 0.115385 0.406250 +vt 0.173077 0.416667 +vt 0.230769 0.406250 +vt 0.173077 0.406250 +vt 0.288462 0.406250 +vt 0.230769 0.416667 +vt 0.346154 0.416667 +vt 0.288462 0.416667 +vt 0.403846 0.406250 +vt 0.346154 0.406250 +vt 0.403846 0.416667 +vt 0.519231 0.593750 +vt 0.461538 0.604167 +vt 0.461538 0.593750 +vt 0.576923 0.593750 +vt 0.519231 0.604167 +vt 0.634615 0.593750 +vt 0.576923 0.604167 +vt 0.692308 0.593750 +vt 0.634615 0.604167 +vt 0.057692 0.593750 +vt 0.000000 0.604167 +vt 0.000000 0.593750 +vt 0.115385 0.604167 +vt 0.057692 0.604167 +vt 0.115385 0.593750 +vt 0.173077 0.604167 +vt 0.230769 0.593750 +vt 0.173077 0.593750 +vt 0.288462 0.593750 +vt 0.230769 0.604167 +vt 0.346154 0.604167 +vt 0.288462 0.604167 +vt 0.403846 0.593750 +vt 0.346154 0.593750 +vt 0.403846 0.604167 +vt 0.519231 0.781250 +vt 0.461538 0.791667 +vt 0.461538 0.781250 +vt 0.576923 0.781250 +vt 0.519231 0.791667 +vt 0.634615 0.781250 +vt 0.576923 0.791667 +vt 0.692308 0.781250 +vt 0.634615 0.791667 +vt 0.057692 0.781250 +vt 0.000000 0.791667 +vt 0.000000 0.781250 +vt 0.115385 0.791667 +vt 0.057692 0.791667 +vt 0.115385 0.781250 +vt 0.173077 0.791667 +vt 0.230769 0.781250 +vt 0.173077 0.781250 +vt 0.288462 0.781250 +vt 0.230769 0.791667 +vt 0.346154 0.791667 +vt 0.288462 0.791667 +vt 0.403846 0.781250 +vt 0.346154 0.781250 +vt 0.403846 0.791667 +vt 0.519231 0.541667 +vt 0.461538 0.552083 +vt 0.461538 0.541667 +vt 0.576923 0.541667 +vt 0.519231 0.552083 +vt 0.634615 0.552083 +vt 0.576923 0.552083 +vt 0.634615 0.541667 +vt 0.692308 0.552083 +vt 0.057692 0.541667 +vt 0.000000 0.552083 +vt 0.000000 0.541667 +vt 0.115385 0.541667 +vt 0.057692 0.552083 +vt 0.173077 0.541667 +vt 0.115385 0.552083 +vt 0.230769 0.541667 +vt 0.173077 0.552083 +vt 0.288462 0.541667 +vt 0.230769 0.552083 +vt 0.346154 0.541667 +vt 0.288462 0.552083 +vt 0.403846 0.552083 +vt 0.346154 0.552083 +vt 0.403846 0.541667 +vt 0.519231 0.729167 +vt 0.461538 0.739583 +vt 0.461538 0.729167 +vt 0.576923 0.729167 +vt 0.519231 0.739583 +vt 0.634615 0.739583 +vt 0.576923 0.739583 +vt 0.634615 0.729167 +vt 0.692308 0.739583 +vt 0.057692 0.729167 +vt 0.000000 0.739583 +vt 0.000000 0.729167 +vt 0.115385 0.729167 +vt 0.057692 0.739583 +vt 0.173077 0.729167 +vt 0.115385 0.739583 +vt 0.230769 0.729167 +vt 0.173077 0.739583 +vt 0.288462 0.729167 +vt 0.230769 0.739583 +vt 0.346154 0.729167 +vt 0.288462 0.739583 +vt 0.403846 0.739583 +vt 0.346154 0.739583 +vt 0.403846 0.729167 +vt 0.846154 0.000000 +vt 0.692308 0.010417 +vt 0.692308 0.000000 +vt 0.692308 0.260417 +vt 0.846154 0.270833 +vt 0.692308 0.270833 +vt 0.692308 0.010417 +vt 0.846154 0.177083 +vt 0.846154 0.010417 +vt 0.846154 0.177083 +vt 0.692308 0.010417 +vt 0.846154 0.010417 +vt 0.692308 0.010417 +vt 0.692308 0.260417 +vt 0.846154 0.270833 +vt 0.692308 0.270833 +vt 0.846154 0.000000 +vt 0.692308 0.000000 +vt 0.846154 0.000000 +vt 0.692308 0.010417 +vt 0.692308 0.000000 +vt 0.692308 0.260417 +vt 0.846154 0.270833 +vt 0.692308 0.270833 +vt 0.692308 0.010417 +vt 0.846154 0.177083 +vt 0.846154 0.010417 +vt 0.846154 0.177083 +vt 0.692308 0.010417 +vt 0.846154 0.010417 +vt 0.692308 0.010417 +vt 0.692308 0.260417 +vt 0.846154 0.270833 +vt 0.692308 0.270833 +vt 0.846154 0.000000 +vt 0.692308 0.000000 +vt 0.346154 0.083333 +vt 0.403846 0.104167 +vt 0.346154 0.104167 +vt 0.403846 0.083333 +vt 0.461538 0.104167 +vt 0.461538 0.083333 +vt 0.519231 0.104167 +vt 0.519231 0.083333 +vt 0.576923 0.104167 +vt 0.615385 0.083333 +vt 0.634615 0.104167 +vt 0.634615 0.083333 +vt 0.692308 0.104167 +vt 0.000000 0.083333 +vt 0.057692 0.104167 +vt 0.000000 0.104167 +vt 0.057692 0.083333 +vt 0.115385 0.104167 +vt 0.115385 0.083333 +vt 0.173077 0.104167 +vt 0.173077 0.083333 +vt 0.230769 0.104167 +vt 0.230769 0.083333 +vt 0.288462 0.104167 +vt 0.288462 0.083333 +vt 0.692308 0.354167 +vt 0.692308 0.416667 +vt 0.692308 0.604167 +vt 0.692308 0.791667 +vt 0.692308 0.541667 +vt 0.692308 0.729167 +vt 0.692308 0.260417 +vt 0.692308 0.260417 +vt 0.692308 0.260417 +vt 0.692308 0.260417 +vt 0.384615 0.083333 +vt 0.442308 0.083333 +vt 0.500000 0.083333 +vt 0.557692 0.083333 +vt 0.576923 0.083333 +vt 0.673077 0.083333 +vt 0.038462 0.083333 +vt 0.096154 0.083333 +vt 0.153846 0.083333 +vt 0.211538 0.083333 +vt 0.269231 0.083333 +vt 0.326923 0.083333 +vt 0.576923 0.916667 +vt 0.000000 0.916667 +vt 0.403846 0.916667 +vt 0.230769 0.916667 +vt 0.634615 0.916667 +vt 0.057692 0.916667 +vt 0.461538 0.916667 +vt 0.288462 0.916667 +vt 0.115385 0.916667 +vt 0.519231 0.916667 +vt 0.346154 0.916667 +vt 0.173077 0.916667 +vt 0.288462 0.958333 +vt 0.115385 0.958333 +vt 0.557692 0.958333 +vt 0.519231 0.958333 +vt 0.346154 0.958333 +vt 0.211538 0.958333 +vt 0.173077 0.958333 +vt 0.576923 0.958333 +vt 0.000000 0.958333 +vt 0.442308 0.958333 +vt 0.403846 0.958333 +vt 0.230769 0.958333 +vt 0.692308 0.916667 +vt 0.634615 0.958333 +vt 0.057692 0.958333 +vt 0.461538 0.958333 +vt 0.038462 0.958333 +vt 0.019231 1.000000 +vt 0.096154 0.958333 +vt 0.076923 1.000000 +vt 0.153846 0.958333 +vt 0.134615 1.000000 +vt 0.192308 1.000000 +vt 0.269231 0.958333 +vt 0.250000 1.000000 +vt 0.326923 0.958333 +vt 0.307692 1.000000 +vt 0.384615 0.958333 +vt 0.365385 1.000000 +vt 0.423077 1.000000 +vt 0.500000 0.958333 +vt 0.480769 1.000000 +vt 0.538462 1.000000 +vt 0.615385 0.958333 +vt 0.596154 1.000000 +vt 0.673077 0.958333 +vt 0.653846 1.000000 +vt 0.019231 0.000000 +vt 0.653846 0.000000 +vt 0.596154 0.000000 +vt 0.538462 0.000000 +vt 0.480769 0.000000 +vt 0.423077 0.000000 +vt 0.365385 0.000000 +vt 0.307692 0.000000 +vt 0.250000 0.000000 +vt 0.192308 0.000000 +vt 0.134615 0.000000 +vt 0.076923 0.000000 +vt 0.846154 0.270833 +vt 0.692308 0.437500 +vt 0.692308 0.270833 +vt 1.000000 0.270833 +vt 0.846154 0.437500 +vt 0.846154 0.270833 +vt 0.692308 0.437500 +vt 0.692308 0.270833 +vt 1.000000 0.270833 +vt 0.846154 0.437500 +vt 1.000000 0.437500 +vt 1.000000 0.437500 +vn 0.0000 1.0000 -0.0000 +vn 0.0000 -1.0000 0.0000 +vn -0.5000 0.7071 -0.5000 +vn -0.7498 0.0000 0.6616 +vn 0.6616 0.0000 -0.7498 +vn -0.6616 0.0000 0.7498 +vn 0.7498 0.0000 -0.6616 +vn 0.5000 0.7071 0.5000 +vn -0.5000 0.7071 0.5000 +vn 0.6616 0.0000 0.7498 +vn -0.7498 0.0000 -0.6616 +vn 0.7498 0.0000 0.6616 +vn -0.6616 0.0000 -0.7498 +vn 0.5000 0.7071 -0.5000 +vn 0.8660 0.0000 -0.5000 +vn 1.0000 0.0000 0.0000 +vn 0.5000 0.0000 0.8660 +vn 0.0000 0.0000 1.0000 +vn -0.8660 0.0000 0.5000 +vn -1.0000 0.0000 0.0000 +vn 0.5000 0.0000 -0.8660 +vn -0.5000 0.0000 -0.8660 +vn 0.0000 0.0000 -1.0000 +vn 0.8660 0.0000 0.5000 +vn -0.5000 0.0000 0.8660 +vn -0.8660 0.0000 -0.5000 +vn 0.8624 0.0912 -0.4979 +vn 0.0000 0.0912 -0.9958 +vn 0.4979 0.0912 0.8624 +vn -0.8624 0.0912 0.4979 +vn 0.4979 0.0912 -0.8624 +vn -0.4979 0.0912 -0.8624 +vn 0.8624 0.0912 0.4979 +vn -0.4979 0.0912 0.8624 +vn -0.8624 0.0912 -0.4979 +vn 0.9958 0.0912 0.0000 +vn 0.0000 0.0912 0.9958 +vn -0.9958 0.0912 0.0000 +vn -0.4330 0.5000 0.7500 +vn -0.7500 0.5000 -0.4330 +vn 0.7500 0.5000 -0.4330 +vn 0.8660 0.5000 0.0000 +vn -0.0000 0.5000 0.8660 +vn -0.7500 0.5000 0.4330 +vn -0.8660 0.5000 -0.0000 +vn 0.0000 0.5000 -0.8660 +vn 0.7500 0.5000 0.4330 +vn 0.4330 0.5000 0.7500 +vn 0.4330 0.5000 -0.7500 +vn -0.4330 0.5000 -0.7500 +vn 0.4472 -0.4472 0.7746 +vn -0.0000 -0.4472 0.8944 +vn -0.4472 -0.4472 0.7746 +vn -0.7746 -0.4472 0.4472 +vn -0.8944 -0.4472 -0.0000 +vn -0.7746 -0.4472 -0.4472 +vn -0.4472 -0.4472 -0.7746 +vn 0.0000 -0.4472 -0.8944 +vn 0.4472 -0.4472 -0.7746 +vn 0.7746 -0.4472 -0.4472 +vn 0.8944 -0.4472 -0.0000 +vn 0.7746 -0.4472 0.4472 +vn 0.9659 0.0000 0.2588 +vn 0.9659 0.0000 -0.2588 +vn -0.9659 0.0000 -0.2588 +vn -0.9659 0.0000 0.2588 +s off +f 35/1/1 48/2/1 47/3/1 +f 36/4/1 37/5/1 48/2/1 +f 26/6/1 37/7/1 25/8/1 +f 27/9/1 38/10/1 26/6/1 +f 28/11/1 39/12/1 27/9/1 +f 29/13/1 40/14/1 28/11/1 +f 30/15/1 41/16/1 29/13/1 +f 31/17/1 42/18/1 30/15/1 +f 31/17/1 44/19/1 43/20/1 +f 32/21/1 45/22/1 44/19/1 +f 34/23/1 45/22/1 33/24/1 +f 35/1/1 46/25/1 34/23/1 +f 58/26/2 69/27/2 57/28/2 +f 59/29/2 70/30/2 58/26/2 +f 60/31/2 71/32/2 59/29/2 +f 49/33/2 72/34/2 60/31/2 +f 50/35/2 61/36/2 49/37/2 +f 50/35/2 63/38/2 62/39/2 +f 51/40/2 64/41/2 63/38/2 +f 53/42/2 64/41/2 52/43/2 +f 54/44/2 65/45/2 53/42/2 +f 54/44/2 67/46/2 66/47/2 +f 56/48/2 67/46/2 55/49/2 +f 57/28/2 68/50/2 56/48/2 +f 106/51/2 117/52/2 105/53/2 +f 107/54/2 118/55/2 106/51/2 +f 108/56/2 119/57/2 107/54/2 +f 97/58/2 120/59/2 108/56/2 +f 98/60/2 109/61/2 97/62/2 +f 98/60/2 111/63/2 110/64/2 +f 99/65/2 112/66/2 111/63/2 +f 101/67/2 112/66/2 100/68/2 +f 102/69/2 113/70/2 101/67/2 +f 102/69/2 115/71/2 114/72/2 +f 104/73/2 115/71/2 103/74/2 +f 105/53/2 116/75/2 104/73/2 +f 154/76/2 165/77/2 153/78/2 +f 155/79/2 166/80/2 154/76/2 +f 156/81/2 167/82/2 155/79/2 +f 145/83/2 168/84/2 156/81/2 +f 146/85/2 157/86/2 145/87/2 +f 146/85/2 159/88/2 158/89/2 +f 147/90/2 160/91/2 159/88/2 +f 149/92/2 160/91/2 148/93/2 +f 150/94/2 161/95/2 149/92/2 +f 150/94/2 163/96/2 162/97/2 +f 152/98/2 163/96/2 151/99/2 +f 153/78/2 164/100/2 152/98/2 +f 82/101/1 93/102/1 81/103/1 +f 83/104/1 94/105/1 82/101/1 +f 83/104/1 96/106/1 95/107/1 +f 84/108/1 85/109/1 96/106/1 +f 74/110/1 85/111/1 73/112/1 +f 75/113/1 86/114/1 74/110/1 +f 76/115/1 87/116/1 75/113/1 +f 77/117/1 88/118/1 76/115/1 +f 78/119/1 89/120/1 77/117/1 +f 79/121/1 90/122/1 78/119/1 +f 79/121/1 92/123/1 91/124/1 +f 80/125/1 93/102/1 92/123/1 +f 130/126/1 141/127/1 129/128/1 +f 131/129/1 142/130/1 130/126/1 +f 131/129/1 144/131/1 143/132/1 +f 132/133/1 133/134/1 144/131/1 +f 122/135/1 133/136/1 121/137/1 +f 123/138/1 134/139/1 122/135/1 +f 124/140/1 135/141/1 123/138/1 +f 125/142/1 136/143/1 124/140/1 +f 126/144/1 137/145/1 125/142/1 +f 127/146/1 138/147/1 126/144/1 +f 127/146/1 140/148/1 139/149/1 +f 128/150/1 141/127/1 140/148/1 +f 187/151/2 185/152/2 183/153/2 +f 184/154/3 186/155/3 182/156/3 +f 183/157/4 186/158/4 187/159/4 +f 186/158/5 185/152/5 187/159/5 +f 189/160/6 190/161/6 188/162/6 +f 192/163/7 189/160/7 188/162/7 +f 191/164/8 189/165/8 193/166/8 +f 188/167/2 190/161/2 192/168/2 +f 199/169/2 197/170/2 195/171/2 +f 196/172/9 198/173/9 194/174/9 +f 195/175/10 198/176/10 199/177/10 +f 198/176/11 197/170/11 199/177/11 +f 201/178/12 202/179/12 200/180/12 +f 204/181/13 201/178/13 200/180/13 +f 203/182/14 201/183/14 205/184/14 +f 200/185/2 202/179/2 204/186/2 +f 212/187/2 20/188/2 19/189/2 +f 213/190/2 21/191/2 20/188/2 +f 214/192/2 22/193/2 21/191/2 +f 215/194/2 23/195/2 22/193/2 +f 23/195/2 217/196/2 24/197/2 +f 217/198/2 13/199/2 24/197/2 +f 206/200/2 14/201/2 13/202/2 +f 207/203/2 15/204/2 14/201/2 +f 208/205/2 16/206/2 15/204/2 +f 209/207/2 17/208/2 16/206/2 +f 210/209/2 18/210/2 17/208/2 +f 211/211/2 19/189/2 18/210/2 +f 35/1/1 36/4/1 48/2/1 +f 36/4/1 25/212/1 37/5/1 +f 26/6/1 38/10/1 37/7/1 +f 27/9/1 39/12/1 38/10/1 +f 28/11/1 40/14/1 39/12/1 +f 29/13/1 41/16/1 40/14/1 +f 30/15/1 42/18/1 41/16/1 +f 31/17/1 43/20/1 42/18/1 +f 31/17/1 32/21/1 44/19/1 +f 32/21/1 33/24/1 45/22/1 +f 34/23/1 46/25/1 45/22/1 +f 35/1/1 47/3/1 46/25/1 +f 58/26/2 70/30/2 69/27/2 +f 59/29/2 71/32/2 70/30/2 +f 60/31/2 72/34/2 71/32/2 +f 49/33/2 61/213/2 72/34/2 +f 50/35/2 62/39/2 61/36/2 +f 50/35/2 51/40/2 63/38/2 +f 51/40/2 52/43/2 64/41/2 +f 53/42/2 65/45/2 64/41/2 +f 54/44/2 66/47/2 65/45/2 +f 54/44/2 55/49/2 67/46/2 +f 56/48/2 68/50/2 67/46/2 +f 57/28/2 69/27/2 68/50/2 +f 106/51/2 118/55/2 117/52/2 +f 107/54/2 119/57/2 118/55/2 +f 108/56/2 120/59/2 119/57/2 +f 97/58/2 109/214/2 120/59/2 +f 98/60/2 110/64/2 109/61/2 +f 98/60/2 99/65/2 111/63/2 +f 99/65/2 100/68/2 112/66/2 +f 101/67/2 113/70/2 112/66/2 +f 102/69/2 114/72/2 113/70/2 +f 102/69/2 103/74/2 115/71/2 +f 104/73/2 116/75/2 115/71/2 +f 105/53/2 117/52/2 116/75/2 +f 154/76/2 166/80/2 165/77/2 +f 155/79/2 167/82/2 166/80/2 +f 156/81/2 168/84/2 167/82/2 +f 145/83/2 157/215/2 168/84/2 +f 146/85/2 158/89/2 157/86/2 +f 146/85/2 147/90/2 159/88/2 +f 147/90/2 148/93/2 160/91/2 +f 149/92/2 161/95/2 160/91/2 +f 150/94/2 162/97/2 161/95/2 +f 150/94/2 151/99/2 163/96/2 +f 152/98/2 164/100/2 163/96/2 +f 153/78/2 165/77/2 164/100/2 +f 82/101/1 94/105/1 93/102/1 +f 83/104/1 95/107/1 94/105/1 +f 83/104/1 84/108/1 96/106/1 +f 84/108/1 73/216/1 85/109/1 +f 74/110/1 86/114/1 85/111/1 +f 75/113/1 87/116/1 86/114/1 +f 76/115/1 88/118/1 87/116/1 +f 77/117/1 89/120/1 88/118/1 +f 78/119/1 90/122/1 89/120/1 +f 79/121/1 91/124/1 90/122/1 +f 79/121/1 80/125/1 92/123/1 +f 80/125/1 81/103/1 93/102/1 +f 130/126/1 142/130/1 141/127/1 +f 131/129/1 143/132/1 142/130/1 +f 131/129/1 132/133/1 144/131/1 +f 132/133/1 121/217/1 133/134/1 +f 122/135/1 134/139/1 133/136/1 +f 123/138/1 135/141/1 134/139/1 +f 124/140/1 136/143/1 135/141/1 +f 125/142/1 137/145/1 136/143/1 +f 126/144/1 138/147/1 137/145/1 +f 127/146/1 139/149/1 138/147/1 +f 127/146/1 128/150/1 140/148/1 +f 128/150/1 129/128/1 141/127/1 +f 183/157/4 182/218/4 186/158/4 +f 186/158/5 184/154/5 185/152/5 +f 189/160/6 191/164/6 190/161/6 +f 192/163/7 193/219/7 189/160/7 +f 195/175/10 194/220/10 198/176/10 +f 198/176/11 196/172/11 197/170/11 +f 201/178/12 203/182/12 202/179/12 +f 204/181/13 205/221/13 201/178/13 +f 212/187/2 213/222/2 20/188/2 +f 213/190/2 214/223/2 21/191/2 +f 214/192/2 215/224/2 22/193/2 +f 215/194/2 216/225/2 23/195/2 +f 23/195/2 216/226/2 217/196/2 +f 217/198/2 206/227/2 13/199/2 +f 206/200/2 207/228/2 14/201/2 +f 207/203/2 208/229/2 15/204/2 +f 208/205/2 209/230/2 16/206/2 +f 209/207/2 210/231/2 17/208/2 +f 210/209/2 211/232/2 18/210/2 +f 211/211/2 212/233/2 19/189/2 +s 1 +f 23/195/15 34/23/16 22/193/16 +f 20/188/17 31/17/18 19/189/18 +f 17/208/19 28/11/20 16/206/20 +f 24/197/21 35/1/15 23/195/15 +f 14/201/22 25/8/23 13/202/23 +f 21/191/24 32/21/17 20/188/17 +f 18/210/25 29/13/19 17/208/19 +f 13/199/23 36/4/21 24/197/21 +f 15/204/26 26/6/22 14/201/22 +f 22/193/16 33/24/24 21/191/24 +f 19/189/18 30/15/25 18/210/25 +f 16/206/20 27/9/26 15/204/26 +f 45/22/24 56/48/17 44/19/17 +f 42/18/25 53/42/19 41/16/19 +f 37/5/23 60/31/21 48/2/21 +f 39/12/26 50/35/22 38/10/22 +f 46/25/16 57/28/24 45/22/24 +f 43/20/18 54/44/25 42/18/25 +f 40/14/20 51/40/26 39/12/26 +f 47/3/15 58/26/16 46/25/16 +f 44/19/17 55/49/18 43/20/18 +f 41/16/19 52/43/20 40/14/20 +f 48/2/21 59/29/15 47/3/15 +f 38/10/22 49/37/23 37/7/23 +f 72/34/21 83/104/15 71/32/15 +f 62/39/22 73/112/23 61/36/23 +f 69/27/24 80/125/17 68/50/17 +f 66/47/25 77/117/19 65/45/19 +f 61/213/23 84/108/21 72/34/21 +f 63/38/26 74/110/22 62/39/22 +f 70/30/16 81/103/24 69/27/24 +f 67/46/18 78/119/25 66/47/25 +f 64/41/20 75/113/26 63/38/26 +f 71/32/15 82/101/16 70/30/16 +f 68/50/17 79/121/18 67/46/18 +f 65/45/19 76/115/20 64/41/20 +f 93/102/24 104/73/17 92/123/17 +f 90/122/25 101/67/19 89/120/19 +f 85/109/23 108/56/21 96/106/21 +f 87/116/26 98/60/22 86/114/22 +f 94/105/16 105/53/24 93/102/24 +f 91/124/18 102/69/25 90/122/25 +f 88/118/20 99/65/26 87/116/26 +f 95/107/15 106/51/16 94/105/16 +f 92/123/17 103/74/18 91/124/18 +f 89/120/19 100/68/20 88/118/20 +f 96/106/21 107/54/15 95/107/15 +f 86/114/22 97/62/23 85/111/23 +f 120/59/21 131/129/15 119/57/15 +f 110/64/22 121/137/23 109/61/23 +f 117/52/24 128/150/17 116/75/17 +f 114/72/25 125/142/19 113/70/19 +f 109/214/23 132/133/21 120/59/21 +f 111/63/26 122/135/22 110/64/22 +f 118/55/16 129/128/24 117/52/24 +f 115/71/18 126/144/25 114/72/25 +f 112/66/20 123/138/26 111/63/26 +f 119/57/15 130/126/16 118/55/16 +f 116/75/17 127/146/18 115/71/18 +f 113/70/19 124/140/20 112/66/20 +f 141/127/24 152/98/17 140/148/17 +f 138/147/25 149/92/19 137/145/19 +f 133/134/23 156/81/21 144/131/21 +f 135/141/26 146/85/22 134/139/22 +f 142/130/16 153/78/24 141/127/24 +f 139/149/18 150/94/25 138/147/25 +f 136/143/20 147/90/26 135/141/26 +f 143/132/15 154/76/16 142/130/16 +f 140/148/17 151/99/18 139/149/18 +f 137/145/19 148/93/20 136/143/20 +f 144/131/21 155/79/15 143/132/15 +f 134/139/22 145/87/23 133/136/23 +f 168/84/21 179/234/27 167/82/15 +f 158/89/22 169/235/28 157/86/23 +f 165/77/24 176/236/29 164/100/17 +f 162/97/25 173/237/30 161/95/19 +f 157/215/23 180/238/31 168/84/21 +f 159/88/26 170/239/32 158/89/22 +f 166/80/16 177/240/33 165/77/24 +f 163/96/18 174/241/34 162/97/25 +f 160/91/20 171/242/35 159/88/26 +f 167/82/15 178/243/36 166/80/16 +f 164/100/17 175/244/37 163/96/18 +f 161/95/19 172/245/38 160/91/20 +f 175/244/37 7/246/39 174/241/34 +f 172/245/38 10/247/40 171/242/35 +f 178/243/36 2/248/41 3/249/42 +f 176/236/29 6/250/43 175/244/37 +f 172/245/38 8/251/44 9/252/45 +f 180/238/31 2/253/41 179/234/27 +f 170/239/32 12/254/46 169/235/28 +f 176/236/29 4/255/47 5/256/48 +f 174/241/34 8/257/44 173/237/30 +f 169/258/28 1/259/49 180/238/31 +f 171/242/35 11/260/50 170/239/32 +f 178/243/36 4/261/47 177/240/33 +f 12/254/46 11/262/50 181/263/1 +f 11/260/50 10/264/40 181/265/1 +f 10/247/40 9/266/45 181/267/1 +f 9/252/45 8/251/44 181/268/1 +f 8/257/44 7/269/39 181/270/1 +f 7/246/39 6/271/43 181/272/1 +f 6/250/43 5/273/48 181/274/1 +f 5/256/48 4/255/47 181/275/1 +f 4/261/47 3/276/42 181/277/1 +f 3/249/42 2/248/41 181/278/1 +f 2/253/41 1/279/49 181/280/1 +f 1/259/49 12/281/46 181/282/1 +f 207/228/51 206/200/52 218/283/2 +f 206/227/52 217/198/53 218/284/2 +f 217/196/53 216/226/54 218/285/2 +f 216/225/54 215/194/55 218/286/2 +f 215/224/55 214/192/56 218/287/2 +f 214/223/56 213/190/57 218/288/2 +f 213/222/57 212/187/58 218/289/2 +f 212/233/58 211/211/59 218/290/2 +f 211/232/59 210/209/60 218/291/2 +f 210/231/60 209/207/61 218/292/2 +f 209/230/61 208/205/62 218/293/2 +f 208/229/62 207/203/51 218/294/2 +f 220/295/16 222/296/63 219/297/63 +f 221/298/64 223/299/16 220/295/16 +f 226/300/20 228/301/65 225/302/65 +f 227/303/66 229/304/20 226/300/20 +f 23/195/15 35/1/15 34/23/16 +f 20/188/17 32/21/17 31/17/18 +f 17/208/19 29/13/19 28/11/20 +f 24/197/21 36/4/21 35/1/15 +f 14/201/22 26/6/22 25/8/23 +f 21/191/24 33/24/24 32/21/17 +f 18/210/25 30/15/25 29/13/19 +f 13/199/23 25/212/23 36/4/21 +f 15/204/26 27/9/26 26/6/22 +f 22/193/16 34/23/16 33/24/24 +f 19/189/18 31/17/18 30/15/25 +f 16/206/20 28/11/20 27/9/26 +f 45/22/24 57/28/24 56/48/17 +f 42/18/25 54/44/25 53/42/19 +f 37/5/23 49/33/23 60/31/21 +f 39/12/26 51/40/26 50/35/22 +f 46/25/16 58/26/16 57/28/24 +f 43/20/18 55/49/18 54/44/25 +f 40/14/20 52/43/20 51/40/26 +f 47/3/15 59/29/15 58/26/16 +f 44/19/17 56/48/17 55/49/18 +f 41/16/19 53/42/19 52/43/20 +f 48/2/21 60/31/21 59/29/15 +f 38/10/22 50/35/22 49/37/23 +f 72/34/21 84/108/21 83/104/15 +f 62/39/22 74/110/22 73/112/23 +f 69/27/24 81/103/24 80/125/17 +f 66/47/25 78/119/25 77/117/19 +f 61/213/23 73/216/23 84/108/21 +f 63/38/26 75/113/26 74/110/22 +f 70/30/16 82/101/16 81/103/24 +f 67/46/18 79/121/18 78/119/25 +f 64/41/20 76/115/20 75/113/26 +f 71/32/15 83/104/15 82/101/16 +f 68/50/17 80/125/17 79/121/18 +f 65/45/19 77/117/19 76/115/20 +f 93/102/24 105/53/24 104/73/17 +f 90/122/25 102/69/25 101/67/19 +f 85/109/23 97/58/23 108/56/21 +f 87/116/26 99/65/26 98/60/22 +f 94/105/16 106/51/16 105/53/24 +f 91/124/18 103/74/18 102/69/25 +f 88/118/20 100/68/20 99/65/26 +f 95/107/15 107/54/15 106/51/16 +f 92/123/17 104/73/17 103/74/18 +f 89/120/19 101/67/19 100/68/20 +f 96/106/21 108/56/21 107/54/15 +f 86/114/22 98/60/22 97/62/23 +f 120/59/21 132/133/21 131/129/15 +f 110/64/22 122/135/22 121/137/23 +f 117/52/24 129/128/24 128/150/17 +f 114/72/25 126/144/25 125/142/19 +f 109/214/23 121/217/23 132/133/21 +f 111/63/26 123/138/26 122/135/22 +f 118/55/16 130/126/16 129/128/24 +f 115/71/18 127/146/18 126/144/25 +f 112/66/20 124/140/20 123/138/26 +f 119/57/15 131/129/15 130/126/16 +f 116/75/17 128/150/17 127/146/18 +f 113/70/19 125/142/19 124/140/20 +f 141/127/24 153/78/24 152/98/17 +f 138/147/25 150/94/25 149/92/19 +f 133/134/23 145/83/23 156/81/21 +f 135/141/26 147/90/26 146/85/22 +f 142/130/16 154/76/16 153/78/24 +f 139/149/18 151/99/18 150/94/25 +f 136/143/20 148/93/20 147/90/26 +f 143/132/15 155/79/15 154/76/16 +f 140/148/17 152/98/17 151/99/18 +f 137/145/19 149/92/19 148/93/20 +f 144/131/21 156/81/21 155/79/15 +f 134/139/22 146/85/22 145/87/23 +f 168/84/21 180/238/31 179/234/27 +f 158/89/22 170/239/32 169/235/28 +f 165/77/24 177/240/33 176/236/29 +f 162/97/25 174/241/34 173/237/30 +f 157/215/23 169/258/28 180/238/31 +f 159/88/26 171/242/35 170/239/32 +f 166/80/16 178/243/36 177/240/33 +f 163/96/18 175/244/37 174/241/34 +f 160/91/20 172/245/38 171/242/35 +f 167/82/15 179/234/27 178/243/36 +f 164/100/17 176/236/29 175/244/37 +f 161/95/19 173/237/30 172/245/38 +f 175/244/37 6/271/43 7/246/39 +f 172/245/38 9/266/45 10/247/40 +f 178/243/36 179/234/27 2/248/41 +f 176/236/29 5/273/48 6/250/43 +f 172/245/38 173/237/30 8/251/44 +f 180/238/31 1/279/49 2/253/41 +f 170/239/32 11/262/50 12/254/46 +f 176/236/29 177/240/33 4/255/47 +f 174/241/34 7/269/39 8/257/44 +f 169/258/28 12/281/46 1/259/49 +f 171/242/35 10/264/40 11/260/50 +f 178/243/36 3/276/42 4/261/47 +f 220/295/16 223/299/16 222/296/63 +f 221/298/64 224/305/64 223/299/16 +f 226/300/20 229/304/20 228/301/65 +f 227/303/66 230/306/66 229/304/20 diff --git a/src/main/resources/assets/hbm/models/missile_stealth.obj b/src/main/resources/assets/hbm/models/missile_stealth.obj new file mode 100644 index 000000000..f723b225a --- /dev/null +++ b/src/main/resources/assets/hbm/models/missile_stealth.obj @@ -0,0 +1,384 @@ +# Blender v2.79 (sub 0) OBJ File: 'MissileStealth.blend' +# www.blender.org +o Cylinder +v 0.487139 0.500000 -0.281250 +v 0.487139 0.500000 0.281250 +v 0.000000 0.500000 0.562500 +v -0.487139 0.500000 0.281250 +v 0.000000 0.500000 -0.562500 +v -0.487139 0.500000 -0.281250 +v 0.000000 1.000000 -0.750000 +v -0.649519 1.000000 -0.375000 +v -0.649519 1.000000 0.375000 +v 0.000000 1.000000 0.750000 +v 0.649519 1.000000 0.375000 +v 0.649519 1.000000 -0.375000 +v 0.000000 7.000000 -0.750000 +v -0.649519 7.000000 -0.375000 +v -0.649519 7.000000 0.375000 +v 0.000000 7.000000 0.750000 +v 0.649519 7.000000 0.375000 +v 0.649519 7.000000 -0.375000 +v 0.000000 11.000000 0.000000 +v 0.755918 -0.020288 -1.295622 +v 0.255918 0.979712 -0.429596 +v 0.505918 -0.020288 -0.862609 +v 0.755918 1.479711 -1.295621 +v 0.255918 3.479711 -0.429596 +v 0.310045 0.979712 -0.398346 +v 0.310045 3.479711 -0.398346 +v 0.810045 -0.020288 -1.264372 +v 0.560045 -0.020288 -0.831359 +v 0.810045 1.479711 -1.264371 +v 0.689955 1.479712 1.333705 +v 0.439955 -0.020288 0.900692 +v 0.689955 -0.020288 1.333705 +v 0.189955 3.479711 0.467680 +v 0.189955 0.979712 0.467680 +v 0.244082 3.479711 0.436430 +v 0.744082 1.479712 1.302455 +v 0.494082 -0.020288 0.869442 +v 0.244082 0.979712 0.436430 +v 0.744082 -0.020288 1.302455 +v -1.500000 -0.020288 -0.006834 +v -0.500000 0.979712 -0.006834 +v -1.000000 -0.020288 -0.006834 +v -1.500000 1.479712 -0.006834 +v -0.500000 3.479712 -0.006834 +v -0.500000 0.979712 -0.069334 +v -0.500000 3.479712 -0.069334 +v -1.500000 -0.020288 -0.069334 +v -1.000000 -0.020288 -0.069334 +v -1.500000 1.479712 -0.069334 +v -0.744082 -0.020288 -1.302455 +v -0.244082 0.979712 -0.436430 +v -0.494082 -0.020288 -0.869442 +v -0.744082 1.479711 -1.302455 +v -0.244082 3.479711 -0.436430 +v -0.189955 0.979712 -0.467680 +v -0.189955 3.479711 -0.467680 +v -0.689956 -0.020288 -1.333705 +v -0.439955 -0.020288 -0.900692 +v -0.689956 1.479711 -1.333705 +v 1.500000 1.479712 0.069333 +v 1.000000 -0.020288 0.069334 +v 1.500000 -0.020288 0.069333 +v 0.500000 3.479711 0.069334 +v 0.500000 0.979712 0.069334 +v 0.500000 3.479711 0.006834 +v 1.500000 1.479712 0.006834 +v 1.000000 -0.020288 0.006834 +v 0.500000 0.979712 0.006834 +v 1.500000 -0.020288 0.006833 +v -0.755918 -0.020288 1.295621 +v -0.255918 0.979712 0.429596 +v -0.505918 -0.020288 0.862609 +v -0.755918 1.479712 1.295621 +v -0.255918 3.479712 0.429596 +v -0.310045 0.979712 0.398346 +v -0.310045 3.479712 0.398346 +v -0.810045 -0.020288 1.264371 +v -0.560045 -0.020288 0.831359 +v -0.810045 1.479712 1.264371 +vt 0.400000 0.047619 +vt 0.511111 0.000000 +vt 0.533333 0.047619 +vt 0.666667 0.047619 +vt 0.777778 -0.000000 +vt 0.800000 0.047619 +vt 0.133333 0.047619 +vt 0.244444 0.000000 +vt 0.266667 0.047619 +vt 0.644444 0.000000 +vt 0.022222 0.000000 +vt 0.111111 0.000000 +vt 0.850033 0.099935 +vt 0.800066 0.053571 +vt 0.850033 0.007208 +vt 0.266667 0.619048 +vt 0.000000 0.619048 +vt 0.000000 0.047619 +vt 0.533333 0.619048 +vt 0.133333 0.619048 +vt 0.666667 0.619048 +vt 0.400000 0.619048 +vt 0.377778 0.000000 +vt 0.600000 1.000000 +vt 0.800000 0.619048 +vt 0.733333 1.000000 +vt 0.066667 1.000000 +vt 0.200000 1.000000 +vt 0.333333 1.000000 +vt 0.466667 1.000000 +vt 0.977778 0.392857 +vt 0.977778 0.250000 +vt 0.888889 0.250000 +vt 0.888889 0.250000 +vt 0.977778 0.250000 +vt 0.977778 0.392857 +vt 0.988889 0.392857 +vt 0.988889 0.250000 +vt 0.977778 0.202381 +vt 0.988889 0.202381 +vt 0.988889 0.583333 +vt 0.988889 0.107143 +vt 0.977778 0.107143 +vt 0.988889 0.107143 +vt 0.977778 0.202381 +vt 0.977778 0.107143 +vt 0.988889 0.392857 +vt 0.977778 0.583333 +vt 0.977778 0.392857 +vt 0.988889 0.250000 +vt 0.988889 0.202381 +vt 0.977778 0.250000 +vt 0.888889 0.250000 +vt 0.977778 0.392857 +vt 0.977778 0.250000 +vt 0.888889 0.250000 +vt 0.977778 0.392857 +vt 0.977778 0.250000 +vt 0.888889 0.250000 +vt 0.888889 0.250000 +vt 0.977778 0.250000 +vt 0.977778 0.392857 +vt 0.988889 0.392857 +vt 0.988889 0.250000 +vt 0.977778 0.202381 +vt 0.988889 0.202381 +vt 0.988889 0.583333 +vt 0.977778 0.107143 +vt 0.988889 0.107143 +vt 0.977778 0.392857 +vt 0.977778 0.250000 +vt 0.888889 0.250000 +vt 0.888889 0.250000 +vt 0.977778 0.250000 +vt 0.977778 0.392857 +vt 0.988889 0.392857 +vt 0.988889 0.250000 +vt 0.988889 0.202381 +vt 0.977778 0.202381 +vt 0.988889 0.583333 +vt 0.977778 0.107143 +vt 0.988889 0.107143 +vt 0.988889 0.202381 +vt 0.977778 0.107143 +vt 0.988889 0.107143 +vt 0.988889 0.583333 +vt 0.977778 0.392857 +vt 0.988889 0.392857 +vt 0.977778 0.250000 +vt 0.977778 0.202381 +vt 0.988889 0.250000 +vt 0.888889 0.250000 +vt 0.977778 0.392857 +vt 0.977778 0.250000 +vt 0.888889 0.250000 +vt 0.977778 0.392857 +vt 0.977778 0.250000 +vt 0.888889 0.250000 +vt 0.888889 0.250000 +vt 0.977778 0.250000 +vt 0.977778 0.392857 +vt 0.988889 0.392857 +vt 0.988889 0.250000 +vt 0.988889 0.202381 +vt 0.977778 0.202381 +vt 0.988889 0.583333 +vt 0.977778 0.107143 +vt 0.988889 0.107143 +vt 0.422222 0.000000 +vt 0.688889 0.000000 +vt 0.155556 0.000000 +vt 0.555556 -0.000000 +vt 0.949967 0.007208 +vt 0.999934 0.053571 +vt 0.949967 0.099935 +vt 0.288889 0.000000 +vt 0.800000 0.345238 +vt 0.800000 0.583333 +vt 0.800000 0.583333 +vt 0.800000 0.345238 +vt 0.977778 0.583333 +vt 0.988889 0.583333 +vt 0.800000 0.583333 +vt 0.800000 0.345238 +vt 0.800000 0.345238 +vt 0.800000 0.583333 +vt 0.800000 0.345238 +vt 0.800000 0.583333 +vt 0.800000 0.583333 +vt 0.800000 0.345238 +vt 0.977778 0.583333 +vt 0.800000 0.345238 +vt 0.800000 0.583333 +vt 0.800000 0.583333 +vt 0.800000 0.345238 +vt 0.977778 0.583333 +vt 0.977778 0.583333 +vt 0.800000 0.583333 +vt 0.800000 0.345238 +vt 0.800000 0.345238 +vt 0.800000 0.583333 +vt 0.800000 0.345238 +vt 0.800000 0.583333 +vt 0.800000 0.583333 +vt 0.800000 0.345238 +vt 0.977778 0.583333 +vn -0.4756 -0.3089 -0.8237 +vn -0.4756 -0.3089 0.8237 +vn 0.9511 -0.3089 0.0000 +vn -0.9511 -0.3089 0.0000 +vn 0.4756 -0.3089 0.8237 +vn -0.0000 -1.0000 0.0000 +vn 0.5000 0.0000 -0.8660 +vn 0.5000 0.0000 0.8660 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -0.5000 0.0000 0.8660 +vn -0.5000 0.0000 -0.8660 +vn 0.4756 -0.3089 -0.8237 +vn -0.9871 0.1603 0.0000 +vn -0.4935 0.1603 0.8548 +vn 0.4935 0.1603 0.8548 +vn 0.9871 0.1603 0.0000 +vn 0.4935 0.1603 -0.8548 +vn -0.4935 0.1603 -0.8548 +vn -0.8660 0.0000 -0.5000 +vn 0.8660 -0.0000 0.5000 +vn 0.4472 0.4472 -0.7746 +vn -0.4472 -0.4472 0.7746 +vn -0.4472 -0.4472 -0.7746 +vn 0.4472 0.4472 0.7746 +vn -0.8660 -0.0000 0.5000 +vn 0.8660 0.0000 -0.5000 +vn 0.0000 0.0000 1.0000 +vn -0.0000 0.0000 -1.0000 +vn -0.8944 0.4472 0.0000 +vn 0.8944 -0.4472 0.0000 +vn -0.4472 0.4472 -0.7746 +vn 0.4472 -0.4472 0.7746 +vn -0.8944 -0.4472 0.0000 +vn 0.8944 0.4472 -0.0000 +vn -0.4472 0.4472 0.7746 +vn 0.4472 -0.4472 -0.7746 +s off +f 7/1/1 6/2/1 8/3/1 +f 9/4/2 3/5/2 10/6/2 +f 11/7/3 1/8/3 12/9/3 +f 8/3/4 4/10/4 9/4/4 +f 11/7/5 3/11/5 2/12/5 +f 2/13/6 3/14/6 4/15/6 +f 7/1/7 18/16/7 12/9/7 +f 11/7/8 16/17/8 10/18/8 +f 9/4/9 14/19/9 8/3/9 +f 12/9/10 17/20/10 11/7/10 +f 10/6/11 15/21/11 9/4/11 +f 8/3/12 13/22/12 7/1/12 +f 12/9/13 5/23/13 7/1/13 +f 14/19/14 15/21/14 19/24/14 +f 15/21/15 16/25/15 19/26/15 +f 16/17/16 17/20/16 19/27/16 +f 17/20/17 18/16/17 19/28/17 +f 18/16/18 13/22/18 19/29/18 +f 13/22/19 14/19/19 19/30/19 +f 23/31/20 20/32/20 22/33/20 +f 28/34/21 27/35/21 29/36/21 +f 23/37/7 27/35/7 20/38/7 +f 20/38/6 28/39/6 22/40/6 +f 24/41/22 29/36/22 23/37/22 +f 21/42/23 28/39/23 25/43/23 +f 38/44/24 31/45/24 34/46/24 +f 36/47/25 33/48/25 30/49/25 +f 39/50/6 31/45/6 37/51/6 +f 36/47/8 32/52/8 39/50/8 +f 31/53/26 32/52/26 30/49/26 +f 36/54/27 39/55/27 37/56/27 +f 43/57/28 40/58/28 42/59/28 +f 48/60/29 47/61/29 49/62/29 +f 43/63/9 47/61/9 40/64/9 +f 40/64/6 48/65/6 42/66/6 +f 44/67/30 49/62/30 43/63/30 +f 42/66/31 45/68/31 41/69/31 +f 53/70/26 50/71/26 52/72/26 +f 58/73/27 57/74/27 59/75/27 +f 53/76/12 57/74/12 50/77/12 +f 52/78/6 57/74/6 58/79/6 +f 54/80/32 59/75/32 53/76/32 +f 52/78/33 55/81/33 51/82/33 +f 67/83/34 64/84/34 68/85/34 +f 65/86/35 60/87/35 66/88/35 +f 67/83/6 62/89/6 61/90/6 +f 66/88/10 62/89/10 69/91/10 +f 61/92/28 62/89/28 60/87/28 +f 66/93/29 69/94/29 67/95/29 +f 73/96/21 70/97/21 72/98/21 +f 78/99/20 77/100/20 79/101/20 +f 73/102/11 77/100/11 70/103/11 +f 72/104/6 77/100/6 78/105/6 +f 74/106/36 79/101/36 73/102/36 +f 72/104/37 75/107/37 71/108/37 +f 7/1/1 5/109/1 6/2/1 +f 9/4/2 4/110/2 3/5/2 +f 11/7/3 2/111/3 1/8/3 +f 8/3/4 6/112/4 4/10/4 +f 11/7/5 10/18/5 3/11/5 +f 4/15/6 6/113/6 5/114/6 +f 5/114/6 1/115/6 4/15/6 +f 1/115/6 2/13/6 4/15/6 +f 7/1/7 13/22/7 18/16/7 +f 11/7/8 17/20/8 16/17/8 +f 9/4/9 15/21/9 14/19/9 +f 12/9/10 18/16/10 17/20/10 +f 10/6/11 16/25/11 15/21/11 +f 8/3/12 14/19/12 13/22/12 +f 12/9/13 1/116/13 5/23/13 +f 22/33/20 21/117/20 23/31/20 +f 21/117/20 24/118/20 23/31/20 +f 26/119/21 25/120/21 29/36/21 +f 25/120/21 28/34/21 29/36/21 +f 23/37/7 29/36/7 27/35/7 +f 20/38/6 27/35/6 28/39/6 +f 24/41/22 26/121/22 29/36/22 +f 21/42/23 22/40/23 28/39/23 +f 38/44/24 37/51/24 31/45/24 +f 36/47/25 35/122/25 33/48/25 +f 39/50/6 32/52/6 31/45/6 +f 36/47/8 30/49/8 32/52/8 +f 33/123/26 34/124/26 30/49/26 +f 34/124/26 31/53/26 30/49/26 +f 37/56/27 38/125/27 36/54/27 +f 38/125/27 35/126/27 36/54/27 +f 42/59/28 41/127/28 43/57/28 +f 41/127/28 44/128/28 43/57/28 +f 46/129/29 45/130/29 49/62/29 +f 45/130/29 48/60/29 49/62/29 +f 43/63/9 49/62/9 47/61/9 +f 40/64/6 47/61/6 48/65/6 +f 44/67/30 46/131/30 49/62/30 +f 42/66/31 48/65/31 45/68/31 +f 52/72/26 51/132/26 53/70/26 +f 51/132/26 54/133/26 53/70/26 +f 56/134/27 55/135/27 59/75/27 +f 55/135/27 58/73/27 59/75/27 +f 53/76/12 59/75/12 57/74/12 +f 52/78/6 50/77/6 57/74/6 +f 54/80/32 56/136/32 59/75/32 +f 52/78/33 58/79/33 55/81/33 +f 67/83/34 61/90/34 64/84/34 +f 65/86/35 63/137/35 60/87/35 +f 67/83/6 69/91/6 62/89/6 +f 66/88/10 60/87/10 62/89/10 +f 63/138/28 64/139/28 60/87/28 +f 64/139/28 61/92/28 60/87/28 +f 67/95/29 68/140/29 66/93/29 +f 68/140/29 65/141/29 66/93/29 +f 72/98/21 71/142/21 73/96/21 +f 71/142/21 74/143/21 73/96/21 +f 76/144/20 75/145/20 79/101/20 +f 75/145/20 78/99/20 79/101/20 +f 73/102/11 79/101/11 77/100/11 +f 72/104/6 70/103/6 77/100/6 +f 74/106/36 76/146/36 79/101/36 +f 72/104/37 78/105/37 75/107/37 diff --git a/src/main/resources/assets/hbm/models/mush.hmf b/src/main/resources/assets/hbm/models/mush.hmf deleted file mode 100644 index f68b80d1e..000000000 --- a/src/main/resources/assets/hbm/models/mush.hmf +++ /dev/null @@ -1,2093 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'mush.blend' -# www.blender.org -o Cylinder -v -0.000000 0.000000 -2.999999 -v -0.000000 4.000000 -2.000000 -v 0.585271 0.000000 -2.942355 -v 0.390181 4.000000 -1.961570 -v 1.148050 0.000000 -2.771638 -v 0.765367 4.000000 -1.847759 -v 1.666710 0.000000 -2.494408 -v 1.111140 4.000000 -1.662939 -v 2.121320 0.000000 -2.121320 -v 1.414213 4.000000 -1.414213 -v 2.494409 0.000000 -1.666710 -v 1.662939 4.000000 -1.111140 -v 2.771638 0.000000 -1.148050 -v 1.847759 4.000000 -0.765367 -v 2.942355 0.000000 -0.585271 -v 1.961570 4.000000 -0.390180 -v 3.000000 0.000000 0.000000 -v 2.000000 4.000000 0.000000 -v 2.942356 0.000000 0.585271 -v 1.961571 4.000000 0.390181 -v 2.771638 0.000000 1.148051 -v 1.847759 4.000000 0.765367 -v 2.494409 0.000000 1.666711 -v 1.662939 4.000000 1.111141 -v 2.121320 0.000000 2.121321 -v 1.414213 4.000000 1.414214 -v 1.666710 0.000000 2.494410 -v 1.111140 4.000000 1.662940 -v 1.148050 0.000000 2.771640 -v 0.765366 4.000000 1.847760 -v 0.585270 0.000000 2.942357 -v 0.390180 4.000000 1.961571 -v -0.000001 0.000000 3.000000 -v -0.000001 4.000000 2.000000 -v -0.585272 0.000000 2.942356 -v -0.390182 4.000000 1.961571 -v -1.148052 0.000000 2.771639 -v -0.765368 4.000000 1.847759 -v -1.666712 0.000000 2.494409 -v -1.111142 4.000000 1.662939 -v -2.121322 0.000000 2.121320 -v -1.414215 4.000000 1.414213 -v -2.494411 0.000000 1.666710 -v -1.662940 4.000000 1.111140 -v -2.771640 0.000000 1.148049 -v -1.847760 4.000000 0.765366 -v -2.942357 0.000000 0.585269 -v -1.961571 4.000000 0.390179 -v -3.000000 0.000000 -0.000002 -v -2.000000 4.000000 -0.000002 -v -2.942356 0.000000 -0.585274 -v -1.961570 4.000000 -0.390182 -v -2.771638 0.000000 -1.148053 -v -1.847758 4.000000 -0.765369 -v -2.494407 0.000000 -1.666713 -v -1.662938 4.000000 -1.111142 -v -2.121318 0.000000 -2.121322 -v -1.414212 4.000000 -1.414215 -v -1.666708 0.000000 -2.494411 -v -1.111138 4.000000 -1.662940 -v -1.148046 0.000000 -2.771640 -v -0.765364 4.000000 -1.847760 -v -0.585267 0.000000 -2.942356 -v -0.390178 4.000000 -1.961571 -v 0.292634 9.000000 -1.471178 -v -0.000001 9.000000 -1.500000 -v 0.574024 9.000000 -1.385819 -v 0.833354 9.000000 -1.247204 -v 1.060659 9.000000 -1.060660 -v 1.247203 9.000000 -0.833355 -v 1.385818 9.000000 -0.574025 -v 1.471177 9.000000 -0.292635 -v 1.499999 9.000000 0.000000 -v 1.471177 9.000000 0.292635 -v 1.385818 9.000000 0.574025 -v 1.247203 9.000000 0.833355 -v 1.060659 9.000000 1.060660 -v 0.833354 9.000000 1.247205 -v 0.574024 9.000000 1.385820 -v 0.292634 9.000000 1.471178 -v -0.000002 9.000000 1.500000 -v -0.292637 9.000000 1.471178 -v -0.574027 9.000000 1.385819 -v -0.833357 9.000000 1.247204 -v -1.060662 9.000000 1.060660 -v -1.247206 9.000000 0.833355 -v -1.385821 9.000000 0.574024 -v -1.471179 9.000000 0.292634 -v -1.500001 9.000000 -0.000001 -v -1.471179 9.000000 -0.292637 -v -1.385820 9.000000 -0.574027 -v -1.247205 9.000000 -0.833357 -v -1.060660 9.000000 -1.060661 -v -0.833355 9.000000 -1.247205 -v -0.574024 9.000000 -1.385820 -v -0.292635 9.000000 -1.471178 -v 0.243864 22.000000 -1.225981 -v 0.000001 22.000000 -1.250000 -v 0.478355 22.000000 -1.154849 -v 0.694464 22.000000 -1.039337 -v 0.883885 22.000000 -0.883883 -v 1.039338 22.000000 -0.694463 -v 1.154850 22.000000 -0.478354 -v 1.225983 22.000000 -0.243863 -v 1.250001 22.000000 -0.000000 -v 1.225983 22.000000 0.243863 -v 1.154851 22.000000 0.478354 -v 1.039338 22.000000 0.694463 -v 0.883885 22.000000 0.883884 -v 0.694464 22.000000 1.039337 -v 0.478355 22.000000 1.154850 -v 0.243864 22.000000 1.225982 -v 0.000001 22.000000 1.250000 -v -0.243862 22.000000 1.225982 -v -0.478354 22.000000 1.154849 -v -0.694462 22.000000 1.039337 -v -0.883883 22.000000 0.883883 -v -1.039336 22.000000 0.694462 -v -1.154849 22.000000 0.478353 -v -1.225981 22.000000 0.243862 -v -1.249999 22.000000 -0.000001 -v -1.225980 22.000000 -0.243864 -v -1.154848 22.000000 -0.478356 -v -1.039335 22.000000 -0.694464 -v -0.883881 22.000000 -0.883884 -v -0.694460 22.000000 -1.039338 -v -0.478351 22.000000 -1.154850 -v -0.243860 22.000000 -1.225982 -v 0.390184 20.000000 -1.961570 -v 0.000004 20.000000 -2.000000 -v 0.765370 20.000000 -1.847759 -v 1.111144 20.000000 -1.662939 -v 1.414217 20.000000 -1.414213 -v 1.662943 20.000000 -1.111140 -v 1.847763 20.000000 -0.765367 -v 1.961574 20.000000 -0.390180 -v 2.000004 20.000000 0.000000 -v 1.961574 20.000000 0.390181 -v 1.847763 20.000000 0.765367 -v 1.662943 20.000000 1.111141 -v 1.414217 20.000000 1.414214 -v 1.111144 20.000000 1.662940 -v 0.765370 20.000000 1.847760 -v 0.390184 20.000000 1.961571 -v 0.000003 20.000000 2.000000 -v -0.390178 20.000000 1.961571 -v -0.765364 20.000000 1.847759 -v -1.111138 20.000000 1.662939 -v -1.414211 20.000000 1.414213 -v -1.662936 20.000000 1.111140 -v -1.847756 20.000000 0.765366 -v -1.961567 20.000000 0.390179 -v -1.999996 20.000000 -0.000002 -v -1.961566 20.000000 -0.390182 -v -1.847754 20.000000 -0.765369 -v -1.662934 20.000000 -1.111142 -v -1.414208 20.000000 -1.414215 -v -1.111135 20.000000 -1.662941 -v -0.765361 20.000000 -1.847760 -v -0.390174 20.000000 -1.961571 -v 0.546257 20.000000 -2.746198 -v 0.000004 20.000000 -2.799999 -v 1.071518 20.000000 -2.586862 -v 1.555601 20.000000 -2.328114 -v 1.979903 20.000000 -1.979898 -v 2.328119 20.000000 -1.555596 -v 2.586867 20.000000 -1.071513 -v 2.746203 20.000000 -0.546253 -v 2.800004 20.000000 0.000000 -v 2.746203 20.000000 0.546253 -v 2.586867 20.000000 1.071514 -v 2.328119 20.000000 1.555597 -v 1.979903 20.000000 1.979900 -v 1.555601 20.000000 2.328115 -v 1.071517 20.000000 2.586864 -v 0.546256 20.000000 2.746200 -v 0.000003 20.000000 2.800000 -v -0.546250 20.000000 2.746199 -v -1.071511 20.000000 2.586863 -v -1.555594 20.000000 2.328115 -v -1.979896 20.000000 1.979898 -v -2.328112 20.000000 1.555596 -v -2.586860 20.000000 1.071512 -v -2.746195 20.000000 0.546251 -v -2.799996 20.000000 -0.000002 -v -2.746194 20.000000 -0.546255 -v -2.586858 20.000000 -1.071516 -v -2.328109 20.000000 -1.555599 -v -1.979892 20.000000 -1.979901 -v -1.555590 20.000000 -2.328117 -v -1.071506 20.000000 -2.586864 -v -0.546245 20.000000 -2.746199 -v 0.663312 21.000000 -3.334670 -v 0.000004 21.000000 -3.400000 -v 1.301128 21.000000 -3.141190 -v 1.888944 21.000000 -2.826996 -v 2.404167 21.000000 -2.404163 -v 2.827002 21.000000 -1.888938 -v 3.141195 21.000000 -1.301123 -v 3.334675 21.000000 -0.663307 -v 3.400004 21.000000 0.000000 -v 3.334675 21.000000 0.663307 -v 3.141196 21.000000 1.301124 -v 2.827002 21.000000 1.888939 -v 2.404167 21.000000 2.404164 -v 1.888943 21.000000 2.826997 -v 1.301127 21.000000 3.141191 -v 0.663311 21.000000 3.334671 -v 0.000003 21.000000 3.400000 -v -0.663304 21.000000 3.334670 -v -1.301121 21.000000 3.141190 -v -1.888936 21.000000 2.826996 -v -2.404160 21.000000 2.404162 -v -2.826994 21.000000 1.888937 -v -3.141187 21.000000 1.301122 -v -3.334666 21.000000 0.663305 -v -3.399996 21.000000 -0.000003 -v -3.334665 21.000000 -0.663310 -v -3.141184 21.000000 -1.301127 -v -2.826990 21.000000 -1.888942 -v -2.404155 21.000000 -2.404165 -v -1.888931 21.000000 -2.826999 -v -1.301115 21.000000 -3.141192 -v -0.663298 21.000000 -3.334670 -v 0.663312 22.000000 -3.334670 -v 0.000005 22.000000 -3.400000 -v 1.301129 22.000000 -3.141190 -v 1.888944 22.000000 -2.826996 -v 2.404168 22.000000 -2.404163 -v 2.827002 22.000000 -1.888938 -v 3.141195 22.000000 -1.301123 -v 3.334675 22.000000 -0.663307 -v 3.400005 22.000000 0.000000 -v 3.334675 22.000000 0.663307 -v 3.141196 22.000000 1.301124 -v 2.827002 22.000000 1.888939 -v 2.404168 22.000000 2.404164 -v 1.888944 22.000000 2.826997 -v 1.301128 22.000000 3.141191 -v 0.663311 22.000000 3.334671 -v 0.000004 22.000000 3.400000 -v -0.663304 22.000000 3.334670 -v -1.301120 22.000000 3.141190 -v -1.888936 22.000000 2.826996 -v -2.404160 22.000000 2.404162 -v -2.826993 22.000000 1.888937 -v -3.141187 22.000000 1.301122 -v -3.334666 22.000000 0.663305 -v -3.399995 22.000000 -0.000003 -v -3.334665 22.000000 -0.663310 -v -3.141184 22.000000 -1.301127 -v -2.826989 22.000000 -1.888942 -v -2.404155 22.000000 -2.404165 -v -1.888930 22.000000 -2.826999 -v -1.301114 22.000000 -3.141192 -v -0.663297 22.000000 -3.334670 -v 0.468222 24.000000 -2.353884 -v 0.000006 24.000000 -2.400000 -v 0.918446 24.000000 -2.217310 -v 1.333374 24.000000 -1.995527 -v 1.697062 24.000000 -1.697056 -v 1.995533 24.000000 -1.333368 -v 2.217317 24.000000 -0.918440 -v 2.353890 24.000000 -0.468216 -v 2.400005 24.000000 0.000000 -v 2.353890 24.000000 0.468217 -v 2.217317 24.000000 0.918440 -v 1.995533 24.000000 1.333369 -v 1.697062 24.000000 1.697057 -v 1.333374 24.000000 1.995528 -v 0.918445 24.000000 2.217312 -v 0.468222 24.000000 2.353885 -v 0.000005 24.000000 2.400000 -v -0.468212 24.000000 2.353885 -v -0.918436 24.000000 2.217311 -v -1.333364 24.000000 1.995527 -v -1.697052 24.000000 1.697056 -v -1.995522 24.000000 1.333368 -v -2.217306 24.000000 0.918439 -v -2.353879 24.000000 0.468215 -v -2.399995 24.000000 -0.000002 -v -2.353878 24.000000 -0.468219 -v -2.217304 24.000000 -0.918442 -v -1.995520 24.000000 -1.333371 -v -1.697048 24.000000 -1.697058 -v -1.333360 24.000000 -1.995528 -v -0.918431 24.000000 -2.217312 -v -0.468208 24.000000 -2.353885 -v 1.053494 23.000000 -5.296239 -v 0.000006 23.000000 -5.399999 -v 2.066497 23.000000 -4.988948 -v 3.000085 23.000000 -4.489934 -v 3.818383 23.000000 -3.818375 -v 4.489942 23.000000 -3.000077 -v 4.988955 23.000000 -2.066489 -v 5.296246 23.000000 -1.053487 -v 5.400004 23.000000 0.000001 -v 5.296246 23.000000 1.053488 -v 4.988955 23.000000 2.066491 -v 4.489942 23.000000 3.000080 -v 3.818383 23.000000 3.818377 -v 3.000085 23.000000 4.489937 -v 2.066496 23.000000 4.988951 -v 1.053492 23.000000 5.296242 -v 0.000004 23.000000 5.400001 -v -1.053484 23.000000 5.296241 -v -2.066487 23.000000 4.988949 -v -3.000076 23.000000 4.489935 -v -3.818373 23.000000 3.818375 -v -4.489932 23.000000 3.000077 -v -4.988945 23.000000 2.066488 -v -5.296236 23.000000 1.053484 -v -5.399994 23.000000 -0.000004 -v -5.296233 23.000000 -1.053492 -v -4.988941 23.000000 -2.066495 -v -4.489926 23.000000 -3.000083 -v -3.818366 23.000000 -3.818380 -v -3.000067 23.000000 -4.489939 -v -2.066477 23.000000 -4.988951 -v -1.053474 23.000000 -5.296240 -v 1.755819 24.000000 -8.827065 -v 0.000006 24.000000 -8.999997 -v 3.444157 24.000000 -8.314913 -v 5.000138 24.000000 -7.483224 -v 6.363967 24.000000 -6.363959 -v 7.483233 24.000000 -5.000129 -v 8.314921 24.000000 -3.444148 -v 8.827073 24.000000 -1.755811 -v 9.000004 24.000000 0.000002 -v 8.827074 24.000000 1.755814 -v 8.314922 24.000000 3.444152 -v 7.483233 24.000000 5.000134 -v 6.363967 24.000000 6.363963 -v 5.000138 24.000000 7.483229 -v 3.444156 24.000000 8.314919 -v 1.755817 24.000000 8.827070 -v 0.000003 24.000000 9.000002 -v -1.755810 24.000000 8.827069 -v -3.444149 24.000000 8.314917 -v -5.000130 24.000000 7.483226 -v -6.363959 24.000000 6.363959 -v -7.483224 24.000000 5.000129 -v -8.314913 24.000000 3.444147 -v -8.827063 24.000000 1.755807 -v -8.999994 24.000000 -0.000006 -v -8.827060 24.000000 -1.755820 -v -8.314906 24.000000 -3.444158 -v -7.483214 24.000000 -5.000139 -v -6.363947 24.000000 -6.363967 -v -5.000115 24.000000 -7.483231 -v -3.444133 24.000000 -8.314919 -v -1.755793 24.000000 -8.827067 -v 2.038701 26.000000 -10.249203 -v 0.000007 26.000000 -10.449997 -v 3.999049 26.000000 -9.654537 -v 5.805717 26.000000 -8.688854 -v 7.389273 26.000000 -7.389263 -v 8.688865 26.000000 -5.805706 -v 9.654549 26.000000 -3.999039 -v 10.249214 26.000000 -2.038692 -v 10.450004 26.000000 0.000002 -v 10.249214 26.000000 2.038695 -v 9.654549 26.000000 3.999043 -v 8.688865 26.000000 5.805711 -v 7.389273 26.000000 7.389268 -v 5.805716 26.000000 8.688861 -v 3.999047 26.000000 9.654545 -v 2.038698 26.000000 10.249209 -v 0.000004 26.000000 10.450003 -v -2.038691 26.000000 10.249207 -v -3.999040 26.000000 9.654542 -v -5.805707 26.000000 8.688857 -v -7.389263 26.000000 7.389264 -v -8.688853 26.000000 5.805706 -v -9.654536 26.000000 3.999037 -v -10.249200 26.000000 2.038688 -v -10.449993 26.000000 -0.000007 -v -10.249197 26.000000 -2.038702 -v -9.654529 26.000000 -3.999050 -v -8.688843 26.000000 -5.805717 -v -7.389249 26.000000 -7.389272 -v -5.805690 26.000000 -8.688862 -v -3.999021 26.000000 -9.654544 -v -2.038671 26.000000 -10.249207 -v 1.950911 28.000000 -9.807850 -v 0.000007 28.000000 -9.999997 -v 3.826842 28.000000 -9.238792 -v 5.555710 28.000000 -8.314693 -v 7.071075 28.000000 -7.071065 -v 8.314704 28.000000 -5.555699 -v 9.238802 28.000000 -3.826832 -v 9.807859 28.000000 -1.950901 -v 10.000003 28.000000 0.000002 -v 9.807860 28.000000 1.950905 -v 9.238803 28.000000 3.826835 -v 8.314704 28.000000 5.555705 -v 7.071075 28.000000 7.071070 -v 5.555709 28.000000 8.314699 -v 3.826840 28.000000 9.238799 -v 1.950908 28.000000 9.807856 -v 0.000004 28.000000 10.000002 -v -1.950900 28.000000 9.807855 -v -3.826832 28.000000 9.238796 -v -5.555700 28.000000 8.314696 -v -7.071065 28.000000 7.071066 -v -8.314693 28.000000 5.555699 -v -9.238791 28.000000 3.826830 -v -9.807847 28.000000 1.950897 -v -9.999993 28.000000 -0.000007 -v -9.807844 28.000000 -1.950911 -v -9.238784 28.000000 -3.826842 -v -8.314682 28.000000 -5.555710 -v -7.071051 28.000000 -7.071074 -v -5.555684 28.000000 -8.314701 -v -3.826813 28.000000 -9.238798 -v -1.950881 28.000000 -9.807853 -v 0.975460 31.000000 -4.903925 -v 0.000008 31.000000 -4.999999 -v 1.913425 31.000000 -4.619397 -v 2.777859 31.000000 -4.157347 -v 3.535542 31.000000 -3.535533 -v 4.157357 31.000000 -2.777850 -v 4.619406 31.000000 -1.913416 -v 4.903934 31.000000 -0.975451 -v 5.000006 31.000000 0.000001 -v 4.903935 31.000000 0.975452 -v 4.619406 31.000000 1.913418 -v 4.157357 31.000000 2.777852 -v 3.535542 31.000000 3.535535 -v 2.777859 31.000000 4.157349 -v 1.913425 31.000000 4.619399 -v 0.975459 31.000000 4.903927 -v 0.000007 31.000000 5.000000 -v -0.975445 31.000000 4.903927 -v -1.913411 31.000000 4.619398 -v -2.777845 31.000000 4.157348 -v -3.535528 31.000000 3.535533 -v -4.157342 31.000000 2.777849 -v -4.619391 31.000000 1.913415 -v -4.903919 31.000000 0.975448 -v -4.999992 31.000000 -0.000004 -v -4.903917 31.000000 -0.975456 -v -4.619387 31.000000 -1.913421 -v -4.157336 31.000000 -2.777855 -v -3.535521 31.000000 -3.535537 -v -2.777837 31.000000 -4.157351 -v -1.913402 31.000000 -4.619400 -v -0.975436 31.000000 -4.903927 -v 0.195100 32.000000 -0.980785 -v 0.000009 32.000000 -1.000000 -v 0.382693 32.000000 -0.923880 -v 0.555579 32.000000 -0.831470 -v 0.707116 32.000000 -0.707107 -v 0.831479 32.000000 -0.555570 -v 0.923889 32.000000 -0.382683 -v 0.980794 32.000000 -0.195090 -v 1.000009 32.000000 -0.000000 -v 0.980795 32.000000 0.195090 -v 0.923889 32.000000 0.382683 -v 0.831479 32.000000 0.555570 -v 0.707116 32.000000 0.707107 -v 0.555579 32.000000 0.831470 -v 0.382692 32.000000 0.923880 -v 0.195099 32.000000 0.980785 -v 0.000009 32.000000 1.000000 -v -0.195082 32.000000 0.980785 -v -0.382675 32.000000 0.923879 -v -0.555561 32.000000 0.831469 -v -0.707098 32.000000 0.707106 -v -0.831461 32.000000 0.555570 -v -0.923871 32.000000 0.382683 -v -0.980776 32.000000 0.195089 -v -0.999991 32.000000 -0.000001 -v -0.980776 32.000000 -0.195091 -v -0.923870 32.000000 -0.382684 -v -0.831460 32.000000 -0.555571 -v -0.707097 32.000000 -0.707108 -v -0.555560 32.000000 -0.831470 -v -0.382673 32.000000 -0.923880 -v -0.195080 32.000000 -0.980786 -vt 0.530549 0.164590 -vt 0.511666 0.163643 -vt 0.521050 -0.034955 -vt 0.492712 0.163326 -vt 0.473760 0.163641 -vt 0.464416 -0.034959 -vt 0.454878 0.164586 -vt 0.436165 -0.032960 -vt 0.530466 0.164544 -vt 0.511584 0.163595 -vt 0.520990 -0.034999 -vt 0.492630 0.163276 -vt 0.492677 -0.035670 -vt 0.473678 0.163590 -vt 0.454796 0.164533 -vt 0.436106 -0.033015 -vt 0.549279 -0.032970 -vt 0.530567 0.164579 -vt 0.492733 -0.035632 -vt 0.511646 0.163658 -vt 0.521031 -0.034940 -vt 0.473740 0.163656 -vt 0.464397 -0.034945 -vt 0.436145 -0.032947 -vt 0.549245 -0.033009 -vt 0.492654 0.406011 -vt 0.478473 0.406094 -vt 0.454848 0.164591 -vt 0.484783 0.841883 -vt 0.481703 0.815945 -vt 0.498141 0.815218 -vt 0.478517 0.406158 -vt 0.480864 1.033334 -vt 0.469047 1.033401 -vt 0.464335 0.406424 -vt 0.521029 0.406412 -vt 0.506854 0.406164 -vt 0.492601 0.406024 -vt 0.478419 0.406106 -vt 0.464379 0.406400 -vt 0.520980 0.406345 -vt 0.492698 0.406075 -vt 0.464248 0.406354 -vt 0.506806 0.406095 -vt 0.521088 0.406401 -vt 0.464301 0.406335 -vt 0.528333 0.932272 -vt 0.515249 0.932270 -vt 0.514645 0.840931 -vt 0.492685 1.033317 -vt 0.504528 1.033347 -vt 0.516218 1.033355 -vt 0.504401 1.033288 -vt 0.492583 1.033266 -vt 0.469077 1.033415 -vt 0.480766 1.033288 -vt 0.516301 1.033331 -vt 0.468949 1.033355 -vt 0.492666 1.033242 -vt 0.469032 1.033331 -vt 0.516241 1.033340 -vt 0.516347 1.033391 -vt 0.489116 0.932391 -vt 0.499639 0.841163 -vt 0.529638 0.841146 -vt 0.544452 0.841822 -vt 0.502170 0.932307 -vt 0.502067 0.931417 -vt 0.489014 0.931490 -vt 0.484772 0.841027 -vt 0.515252 0.932265 -vt 0.499616 0.840324 -vt 0.514609 0.840100 -vt 0.515150 0.931384 -vt 0.529588 0.840325 -vt 0.528233 0.931394 -vt 0.544387 0.841006 -vt 0.502141 0.932422 -vt 0.489088 0.932506 -vt 0.484755 0.841998 -vt 0.515223 0.932380 -vt 0.499611 0.841277 -vt 0.544446 0.841815 -vt 0.528306 0.932383 -vt 0.514619 0.841041 -vt 0.529613 0.841256 -vt 0.544428 0.841933 -vt 0.514653 0.840929 -vt 0.541383 0.932312 -vt 0.514294 0.815010 -vt 0.514115 0.784175 -vt 0.530516 0.783920 -vt 0.530451 0.815198 -vt 0.481734 0.815116 -vt 0.498149 0.814411 -vt 0.546877 0.815869 -vt 0.514282 0.814222 -vt 0.530410 0.814413 -vt 0.546808 0.815091 -vt 0.481674 0.816058 -vt 0.530447 0.815191 -vt 0.498113 0.815331 -vt 0.514273 0.815126 -vt 0.530427 0.815307 -vt 0.497702 0.783983 -vt 0.499096 0.760277 -vt 0.514093 0.760874 -vt 0.497680 0.784096 -vt 0.480598 0.783379 -vt 0.547598 0.783235 -vt 0.514094 0.784288 -vt 0.530497 0.784033 -vt 0.546852 0.815983 -vt 0.480672 0.782607 -vt 0.497751 0.783237 -vt 0.514128 0.783445 -vt 0.530493 0.783201 -vt 0.480562 0.783487 -vt 0.483887 0.758308 -vt 0.495914 0.711438 -vt 0.504773 0.711578 -vt 0.529070 0.760267 -vt 0.544188 0.758255 -vt 0.484000 0.757603 -vt 0.499171 0.759591 -vt 0.514125 0.760200 -vt 0.529050 0.759600 -vt 0.544127 0.757597 -vt 0.483856 0.758415 -vt 0.499074 0.760387 -vt 0.514074 0.760983 -vt 0.529041 0.760372 -vt 0.544161 0.758360 -vt 0.523594 0.711573 -vt 0.529972 0.661378 -vt 0.545561 0.664658 -vt 0.532448 0.711418 -vt 0.496068 0.710899 -vt 0.504878 0.711055 -vt 0.514184 0.711617 -vt 0.514245 0.711102 -vt 0.523616 0.711060 -vt 0.495882 0.711535 -vt 0.504744 0.711675 -vt 0.514158 0.711713 -vt 0.523570 0.711670 -vt 0.513848 0.660219 -vt 0.513669 0.608672 -vt 0.513828 0.659944 -vt 0.529911 0.661083 -vt 0.482091 0.664427 -vt 0.497705 0.661195 -vt 0.545452 0.664348 -vt 0.482051 0.664506 -vt 0.497671 0.661274 -vt 0.513820 0.660298 -vt 0.513851 0.660221 -vt 0.532428 0.711511 -vt 0.529950 0.661456 -vt 0.532453 0.711417 -vt 0.482323 0.664233 -vt 0.497723 0.660949 -vt 0.536884 0.609783 -vt 0.513620 0.608741 -vt 0.513592 0.578273 -vt 0.490435 0.609678 -vt 0.466382 0.613327 -vt 0.536902 0.609745 -vt 0.560895 0.613327 -vt 0.560888 0.613379 -vt 0.466576 0.613222 -vt 0.490460 0.609499 -vt 0.513658 0.608477 -vt 0.536854 0.609547 -vt 0.560808 0.613134 -vt 0.488667 0.578260 -vt 0.489455 0.552993 -vt 0.513561 0.553945 -vt 0.461659 0.578631 -vt 0.538555 0.578237 -vt 0.513596 0.578186 -vt 0.538530 0.578189 -vt 0.565552 0.578473 -vt 0.565547 0.578471 -vt 0.461750 0.578463 -vt 0.488684 0.578059 -vt 0.513584 0.578010 -vt 0.538488 0.578023 -vt 0.565480 0.578318 -vt 0.461632 0.578691 -vt 0.488649 0.578325 -vt 0.464207 0.549432 -vt 0.487190 0.475078 -vt 0.500042 0.478373 -vt 0.537671 0.552949 -vt 0.464147 0.549565 -vt 0.537673 0.552951 -vt 0.489480 0.552845 -vt 0.513557 0.553799 -vt 0.537641 0.552812 -vt 0.562948 0.549342 -vt 0.489444 0.553047 -vt 0.563007 0.549470 -vt 0.513562 0.554003 -vt 0.526690 0.478484 -vt 0.516244 0.422415 -vt 0.518946 0.421679 -vt 0.513331 0.479593 -vt 0.513332 0.479537 -vt 0.539754 0.475224 -vt 0.526709 0.478560 -vt 0.516842 0.409963 -vt 0.517872 0.420415 -vt 0.510888 0.421103 -vt 0.510606 0.422421 -vt 0.507984 0.421679 -vt 0.513413 0.422628 -vt 0.518952 0.421679 -vt 0.549263 -0.032939 -vt 0.541291 0.931450 -vt 0.541364 0.932431 -vt 0.547581 0.783348 -vt 0.547538 0.782523 -vt 0.532439 0.710900 -vt 0.545546 0.664737 -vt 0.539728 0.475174 -vt 0.509859 0.420415 -vt 0.508983 0.419540 -vt 0.508295 0.418510 -vt 0.507822 0.417367 -vt 0.507580 0.416152 -vt 0.508295 0.412556 -vt 0.507580 0.414914 -vt 0.507822 0.413700 -vt 0.508983 0.411527 -vt 0.509859 0.410651 -vt 0.510888 0.409963 -vt 0.512032 0.409490 -vt 0.513246 0.409248 -vt 0.514484 0.409248 -vt 0.515699 0.409490 -vt 0.517872 0.410651 -vt 0.518747 0.411527 -vt 0.519435 0.412556 -vt 0.519909 0.413700 -vt 0.520151 0.414914 -vt 0.520151 0.416152 -vt 0.519909 0.417367 -vt 0.519435 0.418510 -vt 0.518747 0.419540 -vt 0.516842 0.421103 -vt 0.515699 0.421577 -vt 0.514484 0.421818 -vt 0.513246 0.421818 -vt 0.512032 0.421577 -vn 0.095100 0.241400 -0.965700 -vn 0.281700 0.241400 -0.928600 -vn 0.457500 0.241400 -0.855800 -vn 0.615600 0.241400 -0.750100 -vn 0.750100 0.241400 -0.615600 -vn 0.855800 0.241400 -0.457500 -vn 0.928600 0.241400 -0.281700 -vn 0.965700 0.241400 -0.095100 -vn 0.965700 0.241400 0.095100 -vn 0.928600 0.241400 0.281700 -vn 0.855800 0.241400 0.457500 -vn 0.750100 0.241400 0.615600 -vn 0.615600 0.241400 0.750100 -vn 0.457500 0.241400 0.855800 -vn 0.281700 0.241400 0.928600 -vn 0.095100 0.241400 0.965700 -vn -0.095100 0.241400 0.965700 -vn -0.281700 0.241400 0.928600 -vn -0.457500 0.241400 0.855800 -vn -0.615600 0.241400 0.750100 -vn -0.750100 0.241400 0.615600 -vn -0.855800 0.241400 0.457500 -vn -0.928600 0.241400 0.281700 -vn -0.965700 0.241400 0.095100 -vn -0.965700 0.241400 -0.095100 -vn -0.928600 0.241400 -0.281700 -vn -0.855800 0.241400 -0.457500 -vn -0.750100 0.241400 -0.615600 -vn -0.615600 0.241400 -0.750100 -vn -0.457500 0.241400 -0.855800 -vn 0.877600 0.099000 0.469100 -vn -0.095100 0.241400 -0.965700 -vn -0.281700 0.241400 -0.928600 -vn 0.000000 -1.000000 0.000000 -vn 0.634300 0.019100 -0.772900 -vn -0.631300 0.099000 0.769200 -vn -0.631300 0.099000 -0.769200 -vn 0.952200 0.099000 -0.288900 -vn 0.097500 0.099000 0.990300 -vn -0.990300 0.099000 -0.097500 -vn 0.469100 0.099000 -0.877600 -vn 0.769200 0.099000 0.631300 -vn -0.769200 0.099000 0.631300 -vn -0.469100 0.099000 -0.877600 -vn 0.990300 0.099000 -0.097500 -vn -0.097500 0.099000 0.990300 -vn -0.952200 0.099000 -0.288900 -vn 0.631300 0.099000 -0.769200 -vn 0.631300 0.099000 0.769200 -vn -0.877600 0.099000 0.469100 -vn -0.288900 0.099000 -0.952200 -vn 0.990300 0.099000 0.097500 -vn -0.288900 0.099000 0.952200 -vn -0.877600 0.099000 -0.469100 -vn 0.769200 0.099000 -0.631300 -vn 0.469100 0.099000 0.877600 -vn -0.952200 0.099000 0.288900 -vn 0.097500 0.099000 -0.990300 -vn -0.097500 0.099000 -0.990300 -vn 0.952200 0.099000 0.288900 -vn -0.469100 0.099000 0.877600 -vn -0.769200 0.099000 -0.631300 -vn 0.877600 0.099000 -0.469100 -vn 0.288900 0.099000 0.952200 -vn -0.990300 0.099000 0.097500 -vn 0.288900 0.099000 -0.952200 -vn -0.896500 -0.349600 0.272000 -vn -0.290200 0.019100 -0.956800 -vn -0.290200 0.019100 0.956800 -vn 0.772900 0.019100 -0.634300 -vn -0.098000 0.019100 -0.995000 -vn -0.471300 0.019100 0.881800 -vn 0.881800 0.019100 -0.471300 -vn -0.634300 0.019100 0.772900 -vn 0.956800 0.019100 -0.290200 -vn -0.772900 0.019100 0.634300 -vn 0.995000 0.019100 -0.098000 -vn -0.881800 0.019100 0.471300 -vn 0.995000 0.019100 0.098000 -vn -0.956800 0.019100 0.290200 -vn 0.956800 0.019100 0.290200 -vn -0.995000 0.019100 0.098000 -vn 0.881800 0.019100 0.471300 -vn -0.995000 0.019100 -0.098000 -vn 0.772900 0.019100 0.634300 -vn -0.956800 0.019100 -0.290200 -vn 0.634300 0.019100 0.772900 -vn -0.881800 0.019100 -0.471300 -vn 0.471300 0.019100 0.881800 -vn 0.098000 0.019100 -0.995000 -vn -0.772900 0.019100 -0.634300 -vn 0.290200 0.019100 0.956800 -vn 0.290200 0.019100 -0.956800 -vn -0.634300 0.019100 -0.772900 -vn 0.098000 0.019100 0.995000 -vn 0.471300 0.019100 -0.881800 -vn -0.471300 0.019100 -0.881800 -vn -0.098000 0.019100 0.995000 -vn 0.724200 -0.349600 -0.594400 -vn -0.932400 -0.349600 0.091800 -vn 0.826300 -0.349600 -0.441600 -vn -0.932400 -0.349600 -0.091800 -vn 0.896500 -0.349600 -0.272000 -vn -0.896500 -0.349600 -0.272000 -vn 0.932400 -0.349600 -0.091800 -vn -0.826300 -0.349600 -0.441600 -vn 0.932400 -0.349600 0.091800 -vn -0.724200 -0.349600 -0.594400 -vn 0.896500 -0.349600 0.272000 -vn -0.594400 -0.349600 -0.724200 -vn 0.826300 -0.349600 0.441600 -vn -0.441600 -0.349600 -0.826300 -vn -0.091800 -0.349600 0.932400 -vn 0.724200 -0.349600 0.594400 -vn -0.272000 -0.349600 -0.896500 -vn -0.272000 -0.349600 0.896500 -vn 0.594400 -0.349600 0.724200 -vn -0.091800 -0.349600 -0.932400 -vn -0.441600 -0.349600 0.826300 -vn 0.441600 -0.349600 0.826300 -vn 0.091800 -0.349600 -0.932400 -vn -0.594400 -0.349600 0.724200 -vn 0.272000 -0.349600 0.896500 -vn 0.272000 -0.349600 -0.896500 -vn -0.724200 -0.349600 0.594400 -vn 0.091800 -0.349600 0.932400 -vn 0.441600 -0.349600 -0.826300 -vn -0.826300 -0.349600 0.441600 -vn 0.594400 -0.349600 -0.724200 -vn 0.249200 -0.512700 0.821600 -vn -0.290300 0.000000 0.956900 -vn 0.249200 -0.512700 -0.821600 -vn -0.544700 -0.512700 -0.663700 -vn 0.084200 -0.512700 0.854500 -vn 0.404700 -0.512700 -0.757200 -vn -0.404700 -0.512700 -0.757200 -vn -0.084200 -0.512700 0.854500 -vn 0.544700 -0.512700 -0.663700 -vn -0.249200 -0.512700 -0.821600 -vn -0.249200 -0.512700 0.821600 -vn 0.663700 -0.512700 -0.544700 -vn -0.084200 -0.512700 -0.854500 -vn -0.404700 -0.512700 0.757200 -vn 0.757200 -0.512700 -0.404700 -vn -0.544700 -0.512700 0.663700 -vn 0.821600 -0.512700 -0.249200 -vn -0.663700 -0.512700 0.544700 -vn 0.854500 -0.512700 -0.084200 -vn -0.757200 -0.512700 0.404700 -vn 0.854500 -0.512700 0.084200 -vn -0.821600 -0.512700 0.249200 -vn 0.821600 -0.512700 0.249200 -vn -0.854500 -0.512700 0.084200 -vn 0.757200 -0.512700 0.404700 -vn -0.854500 -0.512700 -0.084200 -vn 0.663700 -0.512700 0.544700 -vn -0.821600 -0.512700 -0.249200 -vn 0.544700 -0.512700 0.663700 -vn -0.757200 -0.512700 -0.404700 -vn 0.404700 -0.512700 0.757200 -vn 0.084200 -0.512700 -0.854500 -vn -0.663700 -0.512700 -0.544700 -vn -0.692100 0.445500 0.568000 -vn 0.773000 -0.000000 -0.634400 -vn -0.098000 0.000000 -0.995200 -vn -0.471400 0.000000 0.881900 -vn 0.881900 0.000000 -0.471400 -vn -0.634400 0.000000 0.773000 -vn 0.956900 0.000000 -0.290300 -vn -0.773000 0.000000 0.634400 -vn 0.995200 0.000000 -0.098000 -vn -0.881900 0.000000 0.471400 -vn 0.995200 0.000000 0.098000 -vn -0.956900 0.000000 0.290300 -vn 0.956900 0.000000 0.290300 -vn -0.995200 0.000000 0.098000 -vn 0.881900 0.000000 0.471400 -vn -0.995200 0.000000 -0.098000 -vn 0.773000 0.000000 0.634400 -vn -0.956900 0.000000 -0.290300 -vn 0.634400 -0.000000 0.773000 -vn -0.881900 0.000000 -0.471400 -vn 0.471400 -0.000000 0.881900 -vn 0.098000 -0.000000 -0.995200 -vn -0.773000 0.000000 -0.634400 -vn 0.290300 -0.000000 0.956900 -vn 0.290300 -0.000000 -0.956900 -vn -0.634400 0.000000 -0.773000 -vn 0.098000 -0.000000 0.995200 -vn 0.471400 -0.000000 -0.881900 -vn -0.471400 0.000000 -0.881900 -vn -0.098000 0.000000 0.995200 -vn 0.634400 -0.000000 -0.773000 -vn -0.290300 0.000000 -0.956900 -vn 0.316100 -0.948200 -0.031100 -vn 0.891000 0.445500 -0.087800 -vn -0.789600 0.445500 0.422000 -vn 0.891000 0.445500 0.087800 -vn -0.856700 0.445500 0.259900 -vn 0.856700 0.445500 0.259900 -vn -0.891000 0.445500 0.087800 -vn 0.789600 0.445500 0.422000 -vn -0.891000 0.445500 -0.087800 -vn 0.692100 0.445500 0.568000 -vn -0.856700 0.445500 -0.259900 -vn 0.568000 0.445500 0.692100 -vn -0.789600 0.445500 -0.422000 -vn 0.422000 0.445500 0.789600 -vn 0.087800 0.445500 -0.891000 -vn -0.692100 0.445500 -0.568000 -vn 0.259900 0.445500 0.856700 -vn 0.259900 0.445500 -0.856700 -vn -0.568000 0.445500 -0.692100 -vn 0.087800 0.445500 0.891000 -vn 0.422000 0.445500 -0.789600 -vn -0.422000 0.445500 -0.789600 -vn -0.087800 0.445500 0.891000 -vn 0.568000 0.445500 -0.692100 -vn -0.259900 0.445500 -0.856700 -vn -0.259900 0.445500 0.856700 -vn 0.692100 0.445500 -0.568000 -vn -0.087800 0.445500 -0.891000 -vn -0.422000 0.445500 0.789600 -vn 0.789600 0.445500 -0.422000 -vn -0.568000 0.445500 0.692100 -vn 0.856700 0.445500 -0.259900 -vn -0.237100 -0.963200 -0.126700 -vn -0.280100 -0.948200 -0.149700 -vn 0.316100 -0.948200 0.031100 -vn -0.245500 -0.948200 -0.201500 -vn 0.303900 -0.948200 0.092200 -vn -0.201500 -0.948200 -0.245500 -vn 0.280100 -0.948200 0.149700 -vn -0.149700 -0.948200 -0.280100 -vn -0.031100 -0.948200 0.316100 -vn 0.245500 -0.948200 0.201500 -vn -0.092200 -0.948200 -0.303900 -vn -0.092200 -0.948200 0.303900 -vn 0.201500 -0.948200 0.245500 -vn -0.031100 -0.948200 -0.316100 -vn -0.149700 -0.948200 0.280100 -vn 0.149700 -0.948200 0.280100 -vn 0.031100 -0.948200 -0.316100 -vn -0.201500 -0.948200 0.245500 -vn 0.092200 -0.948200 0.303900 -vn 0.092200 -0.948200 -0.303900 -vn -0.245500 -0.948200 0.201500 -vn 0.031100 -0.948200 0.316100 -vn 0.149700 -0.948200 -0.280100 -vn -0.280100 -0.948200 0.149700 -vn 0.201500 -0.948200 -0.245500 -vn -0.303900 -0.948200 0.092200 -vn 0.245500 -0.948200 -0.201500 -vn -0.316100 -0.948200 0.031100 -vn 0.280100 -0.948200 -0.149700 -vn -0.316100 -0.948200 -0.031100 -vn 0.303900 -0.948200 -0.092200 -vn -0.303900 -0.948200 -0.092200 -vn 0.382300 -0.585100 -0.715200 -vn 0.126700 -0.963200 0.237100 -vn 0.026400 -0.963200 -0.267600 -vn -0.207800 -0.963200 -0.170600 -vn 0.078000 -0.963200 0.257300 -vn 0.078000 -0.963200 -0.257300 -vn -0.170600 -0.963200 -0.207800 -vn 0.026400 -0.963200 0.267600 -vn 0.126700 -0.963200 -0.237100 -vn -0.126700 -0.963200 -0.237100 -vn -0.026400 -0.963200 0.267500 -vn 0.170600 -0.963200 -0.207800 -vn -0.078000 -0.963200 -0.257300 -vn -0.078000 -0.963200 0.257300 -vn 0.207800 -0.963200 -0.170600 -vn -0.026400 -0.963200 -0.267600 -vn -0.126700 -0.963200 0.237100 -vn 0.237100 -0.963200 -0.126700 -vn -0.170600 -0.963200 0.207800 -vn 0.257300 -0.963200 -0.078000 -vn -0.207800 -0.963200 0.170600 -vn 0.267600 -0.963200 -0.026400 -vn -0.237100 -0.963200 0.126700 -vn 0.267600 -0.963200 0.026400 -vn -0.257300 -0.963200 0.078000 -vn 0.257300 -0.963200 0.078000 -vn -0.267600 -0.963200 0.026400 -vn 0.237100 -0.963200 0.126700 -vn -0.267600 -0.963200 -0.026400 -vn 0.207800 -0.963200 0.170600 -vn -0.257300 -0.963200 -0.078000 -vn 0.170600 -0.963200 0.207800 -vn 0.860600 0.218500 -0.460000 -vn -0.382300 -0.585100 -0.715200 -vn -0.079500 -0.585100 0.807000 -vn 0.514500 -0.585100 -0.626900 -vn -0.235400 -0.585100 -0.776000 -vn -0.235400 -0.585100 0.776000 -vn 0.626900 -0.585100 -0.514500 -vn -0.079500 -0.585100 -0.807000 -vn -0.382300 -0.585100 0.715200 -vn 0.715200 -0.585100 -0.382300 -vn -0.514500 -0.585100 0.626900 -vn 0.776000 -0.585100 -0.235400 -vn -0.626900 -0.585100 0.514500 -vn 0.807000 -0.585100 -0.079500 -vn -0.715200 -0.585100 0.382300 -vn 0.807000 -0.585100 0.079500 -vn -0.776000 -0.585100 0.235400 -vn 0.776000 -0.585100 0.235400 -vn -0.807000 -0.585100 0.079500 -vn 0.715200 -0.585100 0.382300 -vn -0.807000 -0.585100 -0.079500 -vn 0.626900 -0.585100 0.514500 -vn -0.776000 -0.585100 -0.235400 -vn 0.514500 -0.585100 0.626900 -vn -0.715200 -0.585100 -0.382300 -vn 0.382300 -0.585100 0.715200 -vn 0.079500 -0.585100 -0.807000 -vn -0.626900 -0.585100 -0.514500 -vn 0.235400 -0.585100 0.776000 -vn 0.235400 -0.585100 -0.776000 -vn -0.514500 -0.585100 -0.626900 -vn 0.079500 -0.585100 0.807000 -vn 0.513800 0.856400 0.050600 -vn -0.619100 0.218500 0.754300 -vn 0.933800 0.218500 -0.283300 -vn -0.754300 0.218500 0.619100 -vn 0.971100 0.218500 -0.095600 -vn -0.860600 0.218500 0.460000 -vn 0.971100 0.218500 0.095600 -vn -0.933800 0.218500 0.283300 -vn 0.933800 0.218500 0.283300 -vn -0.971100 0.218500 0.095600 -vn 0.860600 0.218500 0.460000 -vn -0.971100 0.218500 -0.095600 -vn 0.754300 0.218500 0.619100 -vn -0.933800 0.218500 -0.283300 -vn 0.619100 0.218500 0.754300 -vn -0.860600 0.218500 -0.460000 -vn 0.460000 0.218500 0.860600 -vn 0.095600 0.218500 -0.971100 -vn -0.754300 0.218500 -0.619100 -vn 0.283300 0.218500 0.933800 -vn 0.283300 0.218500 -0.933800 -vn -0.619100 0.218500 -0.754300 -vn 0.095600 0.218500 0.971100 -vn 0.460000 0.218500 -0.860600 -vn -0.460000 0.218500 -0.860600 -vn -0.095600 0.218500 0.971100 -vn 0.619100 0.218500 -0.754300 -vn -0.283300 0.218500 -0.933800 -vn -0.283300 0.218500 0.933800 -vn 0.754300 0.218500 -0.619100 -vn -0.095600 0.218500 -0.971100 -vn -0.460000 0.218500 0.860600 -vn 0.188300 0.969900 0.154600 -vn -0.494100 0.856400 0.149900 -vn 0.494100 0.856400 0.149900 -vn -0.513800 0.856400 0.050600 -vn 0.455400 0.856400 0.243400 -vn -0.513800 0.856400 -0.050600 -vn 0.399100 0.856400 0.327600 -vn -0.494100 0.856400 -0.149900 -vn 0.327600 0.856400 0.399100 -vn -0.455400 0.856400 -0.243400 -vn 0.243400 0.856400 0.455400 -vn 0.050600 0.856400 -0.513800 -vn -0.399100 0.856400 -0.327600 -vn 0.149900 0.856400 0.494100 -vn 0.149900 0.856400 -0.494100 -vn -0.327600 0.856400 -0.399100 -vn 0.050600 0.856400 0.513800 -vn 0.243400 0.856400 -0.455400 -vn -0.243400 0.856400 -0.455400 -vn -0.050600 0.856400 0.513800 -vn 0.327600 0.856400 -0.399100 -vn -0.149900 0.856400 -0.494100 -vn -0.149900 0.856400 0.494100 -vn 0.399100 0.856400 -0.327600 -vn -0.050600 0.856400 -0.513800 -vn -0.243400 0.856400 0.455400 -vn 0.455400 0.856400 -0.243400 -vn -0.327600 0.856400 0.399100 -vn 0.494100 0.856400 -0.149900 -vn -0.399100 0.856400 0.327600 -vn 0.513800 0.856400 -0.050600 -vn -0.455400 0.856400 0.243400 -vn 0.000000 1.000000 -0.000000 -vn -0.233100 0.969900 -0.070700 -vn 0.154600 0.969900 0.188300 -vn -0.214900 0.969900 -0.114900 -vn 0.114900 0.969900 0.214900 -vn 0.023900 0.969900 -0.242500 -vn -0.188300 0.969900 -0.154600 -vn 0.070700 0.969900 0.233100 -vn 0.070700 0.969900 -0.233200 -vn -0.154600 0.969900 -0.188300 -vn 0.023900 0.969900 0.242500 -vn 0.114900 0.969900 -0.214900 -vn -0.114900 0.969900 -0.214900 -vn -0.023900 0.969900 0.242500 -vn 0.154600 0.969900 -0.188300 -vn -0.070700 0.969900 -0.233100 -vn -0.070700 0.969900 0.233100 -vn 0.188300 0.969900 -0.154600 -vn -0.023900 0.969900 -0.242500 -vn -0.114900 0.969900 0.214900 -vn 0.214900 0.969900 -0.114800 -vn -0.154600 0.969900 0.188400 -vn 0.233100 0.969900 -0.070700 -vn -0.188300 0.969900 0.154600 -vn 0.242500 0.969900 -0.023900 -vn -0.214900 0.969900 0.114800 -vn 0.242500 0.969900 0.023900 -vn -0.233100 0.969900 0.070700 -vn 0.233100 0.969900 0.070700 -vn -0.242500 0.969900 0.023900 -vn 0.214900 0.969900 0.114900 -vn -0.242500 0.969900 -0.023900 -vn -0.457400 0.241400 -0.855800 -vn -0.026400 -0.963200 0.267600 -vn 0.000000 1.000000 0.000100 -vn 0.000000 1.000000 -0.000200 -vn 0.070700 0.969900 0.233200 -vn 0.070700 0.969900 -0.233100 -vn 0.214900 0.969900 -0.114900 -vn -0.154600 0.969900 0.188300 -vn -0.214900 0.969900 0.114900 -vn 0.214900 0.969900 0.114800 -s off -f 2/1/1 4/2/1 3/3/1 -f 3/3/2 4/2/2 6/4/2 -f 6/4/3 8/5/3 7/6/3 -f 8/5/4 10/7/4 9/8/4 -f 10/9/5 12/10/5 11/11/5 -f 11/11/6 12/10/6 14/12/6 -f 13/13/7 14/12/7 16/14/7 -f 16/14/8 18/15/8 17/16/8 -f 18/9/9 20/10/9 19/11/9 -f 19/11/10 20/10/10 22/4/10 -f 22/4/11 24/14/11 23/6/11 -f 24/14/12 26/15/12 25/16/12 -f 25/17/13 26/18/13 28/2/13 -f 27/11/14 28/2/14 30/4/14 -f 29/19/15 30/4/15 32/5/15 -f 31/6/16 32/5/16 34/7/16 -f 34/1/17 36/20/17 35/21/17 -f 35/21/18 36/20/18 38/4/18 -f 38/4/19 40/22/19 39/23/19 -f 40/22/20 42/7/20 41/24/20 -f 42/9/21 44/10/21 43/11/21 -f 44/10/22 46/4/22 45/13/22 -f 46/4/23 48/14/23 47/6/23 -f 48/14/24 50/15/24 49/16/24 -f 49/25/25 50/9/25 52/10/25 -f 52/10/26 54/4/26 53/13/26 -f 54/4/27 56/14/27 55/6/27 -f 56/14/28 58/15/28 57/16/28 -f 58/1/29 60/10/29 59/21/29 -f 60/10/30 62/4/30 61/19/30 -f 22/4/31 75/26/31 76/27/31 -f 63/6/32 64/14/32 2/28/32 -f 62/4/33 64/14/33 63/6/33 -f 149/29/34 181/30/34 182/31/34 -f 68/32/35 100/33/35 101/34/35 -f 40/22/36 84/32/36 85/35/36 -f 58/1/37 93/36/37 94/37/37 -f 14/12/38 71/38/38 72/39/38 -f 32/5/39 80/32/39 81/40/39 -f 52/10/40 50/9/40 89/41/40 -f 8/5/41 6/4/41 67/42/41 -f 26/15/42 24/14/42 76/27/42 -f 44/10/43 42/9/43 85/41/43 -f 60/10/44 94/37/44 95/42/44 -f 16/14/45 72/39/45 73/43/45 -f 36/20/46 34/1/46 81/36/46 -f 52/10/47 90/44/47 91/38/47 -f 8/5/48 68/32/48 69/35/48 -f 28/2/49 26/18/49 77/45/49 -f 44/10/50 86/44/50 87/26/50 -f 62/4/51 95/42/51 96/32/51 -f 18/9/52 73/41/52 74/44/52 -f 36/20/53 82/37/53 83/42/53 -f 54/4/54 91/38/54 92/39/54 -f 10/9/55 69/36/55 70/44/55 -f 28/2/56 78/37/56 79/42/56 -f 46/4/57 87/26/57 88/27/57 -f 2/1/58 66/45/58 65/37/58 -f 64/14/59 96/32/59 66/35/59 -f 20/10/60 74/44/60 75/26/60 -f 38/4/61 83/42/61 84/32/61 -f 58/15/62 56/14/62 92/39/62 -f 12/10/63 70/44/63 71/38/63 -f 32/5/64 30/4/64 79/42/64 -f 48/14/65 88/27/65 89/46/65 -f 4/2/66 65/37/66 67/42/66 -f 104/47/67 103/48/67 135/49/67 -f 95/42/68 127/50/68 128/33/68 -f 83/42/69 82/37/69 114/51/69 -f 69/36/70 101/52/70 102/53/70 -f 66/35/71 96/32/71 128/33/71 -f 83/42/72 115/50/72 116/33/72 -f 70/44/73 102/53/73 103/54/73 -f 84/32/74 116/33/74 117/55/74 -f 71/38/75 103/54/75 104/56/75 -f 85/41/76 117/57/76 118/51/76 -f 72/39/77 104/56/77 105/58/77 -f 86/44/78 118/51/78 119/59/78 -f 73/41/79 105/57/79 106/51/79 -f 87/26/80 119/59/80 120/56/80 -f 74/44/81 106/51/81 107/50/81 -f 88/27/82 120/56/82 121/60/82 -f 75/26/83 107/50/83 108/56/83 -f 89/41/84 121/61/84 122/53/84 -f 76/27/85 108/56/85 109/60/85 -f 90/44/86 122/53/86 123/54/86 -f 77/45/87 109/62/87 110/51/87 -f 91/38/88 123/54/88 124/56/88 -f 78/37/89 110/51/89 111/50/89 -f 66/45/90 98/62/90 97/51/90 -f 92/39/91 124/56/91 125/60/91 -f 79/42/92 111/50/92 112/33/92 -f 65/37/93 97/51/93 99/50/93 -f 93/36/94 125/62/94 126/51/94 -f 80/32/95 112/33/95 113/55/95 -f 67/42/96 99/50/96 100/33/96 -f 94/37/97 126/51/97 127/50/97 -f 81/36/98 113/62/98 114/51/98 -f 117/63/99 149/29/99 150/64/99 -f 104/47/100 136/65/100 137/66/100 -f 118/67/101 150/64/101 151/49/101 -f 106/68/102 105/69/102 137/70/102 -f 119/71/103 151/49/103 152/65/103 -f 106/68/104 138/72/104 139/73/104 -f 120/47/105 152/65/105 153/66/105 -f 107/74/106 139/73/106 140/75/106 -f 122/67/107 121/63/107 153/29/107 -f 108/76/108 140/75/108 141/77/108 -f 123/71/109 122/67/109 154/64/109 -f 109/63/110 141/29/110 142/64/110 -f 124/47/111 123/71/111 155/49/111 -f 110/67/112 142/64/112 143/49/112 -f 97/78/113 98/79/113 130/80/113 -f 124/47/114 156/65/114 157/66/114 -f 111/48/115 143/49/115 144/65/115 -f 99/81/116 97/78/116 129/82/116 -f 126/67/117 125/63/117 157/29/117 -f 112/47/118 144/65/118 145/83/118 -f 100/84/119 99/81/119 131/85/119 -f 127/71/120 126/67/120 158/64/120 -f 114/67/121 113/63/121 145/29/121 -f 100/84/122 132/86/122 133/87/122 -f 127/71/123 159/88/123 160/65/123 -f 115/48/124 114/67/124 146/64/124 -f 101/63/125 133/29/125 134/64/125 -f 128/47/126 160/65/126 130/66/126 -f 115/48/127 147/49/127 148/65/127 -f 102/67/128 134/64/128 135/49/128 -f 117/89/129 116/47/129 148/65/129 -f 175/90/130 207/91/130 208/92/130 -f 137/66/34 136/65/34 168/93/34 -f 150/64/34 182/31/34 183/90/34 -f 138/72/34 137/70/34 169/94/34 -f 151/49/34 183/90/34 184/93/34 -f 139/73/34 138/72/34 170/95/34 -f 152/65/34 184/93/34 185/96/34 -f 140/75/34 139/73/34 171/97/34 -f 153/29/34 185/30/34 186/31/34 -f 140/75/34 172/98/34 173/99/34 -f 154/64/34 186/31/34 187/90/34 -f 141/29/34 173/30/34 174/31/34 -f 155/49/34 187/90/34 188/93/34 -f 142/64/34 174/31/34 175/90/34 -f 129/82/34 130/80/34 162/100/34 -f 157/66/34 156/65/34 188/93/34 -f 143/49/34 175/90/34 176/101/34 -f 131/85/34 129/82/34 161/102/34 -f 158/64/34 157/29/34 189/30/34 -f 144/65/34 176/101/34 177/96/34 -f 132/86/34 131/85/34 163/103/34 -f 159/88/34 158/64/34 190/31/34 -f 145/29/34 177/30/34 178/31/34 -f 133/87/34 132/86/34 164/104/34 -f 159/88/34 191/90/34 192/93/34 -f 146/64/34 178/31/34 179/90/34 -f 134/64/34 133/29/34 165/30/34 -f 130/66/34 160/65/34 192/93/34 -f 147/49/34 179/90/34 180/101/34 -f 134/64/34 166/31/34 167/90/34 -f 148/65/34 180/101/34 181/96/34 -f 136/65/34 135/49/34 167/90/34 -f 210/105/131 242/106/131 243/107/131 -f 163/103/132 161/102/132 193/108/132 -f 190/31/133 189/30/133 221/109/133 -f 176/101/134 208/92/134 209/110/134 -f 163/103/135 195/111/135 196/112/135 -f 190/31/136 222/105/136 223/91/136 -f 178/31/137 177/30/137 209/109/137 -f 165/113/138 164/104/138 196/112/138 -f 191/90/139 223/91/139 224/92/139 -f 179/90/140 178/31/140 210/105/140 -f 166/31/141 165/30/141 197/109/141 -f 192/93/142 224/92/142 194/110/142 -f 179/90/143 211/91/143 212/92/143 -f 167/90/144 166/31/144 198/105/144 -f 181/96/145 180/101/145 212/92/145 -f 168/93/146 167/90/146 199/91/146 -f 181/30/147 213/109/147 214/105/147 -f 169/96/148 168/93/148 200/92/148 -f 183/90/149 182/31/149 214/105/149 -f 169/94/150 201/114/150 202/115/150 -f 183/90/151 215/91/151 216/92/151 -f 171/97/152 170/95/152 202/115/152 -f 185/96/153 184/93/153 216/92/153 -f 171/97/154 203/116/154 204/117/154 -f 186/31/155 185/30/155 217/109/155 -f 173/99/156 172/98/156 204/117/156 -f 187/90/157 186/31/157 218/105/157 -f 174/31/158 173/30/158 205/109/158 -f 188/93/159 187/90/159 219/91/159 -f 175/90/160 174/31/160 206/105/160 -f 161/102/161 162/100/161 194/118/161 -f 189/96/162 188/93/162 220/92/162 -f 245/119/163 277/120/163 278/121/163 -f 197/109/164 229/119/164 230/106/164 -f 224/92/165 256/122/165 226/123/165 -f 211/91/166 243/107/166 244/122/166 -f 198/105/167 230/106/167 231/107/167 -f 212/92/168 244/122/168 245/123/168 -f 199/91/169 231/107/169 232/122/169 -f 213/109/170 245/119/170 246/106/170 -f 200/92/171 232/122/171 233/123/171 -f 215/91/172 214/105/172 246/106/172 -f 201/114/173 233/124/173 234/125/173 -f 215/91/174 247/107/174 248/122/174 -f 202/115/175 234/125/175 235/126/175 -f 217/110/176 216/92/176 248/122/176 -f 203/116/177 235/126/177 236/127/177 -f 218/105/178 217/109/178 249/119/178 -f 204/117/179 236/127/179 237/128/179 -f 218/105/180 250/106/180 251/107/180 -f 205/109/181 237/119/181 238/106/181 -f 219/91/182 251/107/182 252/122/182 -f 206/105/183 238/106/183 239/107/183 -f 194/118/184 226/129/184 225/130/184 -f 221/110/185 220/92/185 252/122/185 -f 207/91/186 239/107/186 240/122/186 -f 193/108/187 225/130/187 227/131/187 -f 222/105/188 221/109/188 253/119/188 -f 208/92/189 240/122/189 241/123/189 -f 195/111/190 227/131/190 228/132/190 -f 222/105/191 254/106/191 255/107/191 -f 209/109/192 241/119/192 242/106/192 -f 196/112/193 228/132/193 229/133/193 -f 223/91/194 255/107/194 256/122/194 -f 280/134/195 312/135/195 313/136/195 -f 232/122/196 264/134/196 265/137/196 -f 247/107/197 246/106/197 278/121/197 -f 233/124/198 265/138/198 266/139/198 -f 247/107/199 279/140/199 280/134/199 -f 235/126/200 234/125/200 266/139/200 -f 248/122/201 280/134/201 281/137/201 -f 235/126/202 267/141/202 268/142/202 -f 250/106/203 249/119/203 281/120/203 -f 237/128/204 236/127/204 268/142/204 -f 250/106/205 282/121/205 283/140/205 -f 237/119/206 269/120/206 270/121/206 -f 252/122/207 251/107/207 283/140/207 -f 238/106/208 270/121/208 271/140/208 -f 226/129/209 258/143/209 257/144/209 -f 253/123/210 252/122/210 284/134/210 -f 239/107/211 271/140/211 272/134/211 -f 225/130/212 257/144/212 259/145/212 -f 253/119/213 285/120/213 286/121/213 -f 240/122/214 272/134/214 273/137/214 -f 228/132/215 227/131/215 259/145/215 -f 255/107/216 254/106/216 286/121/216 -f 241/119/217 273/120/217 274/121/217 -f 229/133/218 228/132/218 260/146/218 -f 255/107/219 287/140/219 288/134/219 -f 242/106/220 274/121/220 275/140/220 -f 229/119/221 261/120/221 262/121/221 -f 226/123/222 256/122/222 288/134/222 -f 243/107/223 275/140/223 276/134/223 -f 231/107/224 230/106/224 262/121/224 -f 245/123/225 244/122/225 276/134/225 -f 231/107/226 263/140/226 264/134/226 -f 316/135/227 315/147/227 347/148/227 -f 267/141/228 299/149/228 300/150/228 -f 281/120/229 313/151/229 314/152/229 -f 268/142/230 300/150/230 301/153/230 -f 282/121/231 314/152/231 315/147/231 -f 269/120/232 301/151/232 302/152/232 -f 283/140/233 315/147/233 316/135/233 -f 270/121/234 302/152/234 303/147/234 -f 258/143/235 290/154/235 289/155/235 -f 284/134/236 316/135/236 317/136/236 -f 271/140/237 303/147/237 304/135/237 -f 259/145/238 257/144/238 289/155/238 -f 286/121/239 285/120/239 317/151/239 -f 272/134/240 304/135/240 305/136/240 -f 260/146/241 259/145/241 291/156/241 -f 286/121/242 318/152/242 319/157/242 -f 273/120/243 305/151/243 306/152/243 -f 261/158/244 260/146/244 292/159/244 -f 287/140/245 319/157/245 320/135/245 -f 274/121/246 306/152/246 307/147/246 -f 262/121/247 261/120/247 293/151/247 -f 258/160/248 288/134/248 320/135/248 -f 275/140/249 307/147/249 308/135/249 -f 262/121/250 294/152/250 295/147/250 -f 277/137/251 276/134/251 308/135/251 -f 263/140/252 295/147/252 296/135/252 -f 277/120/253 309/151/253 310/152/253 -f 264/134/254 296/135/254 297/136/254 -f 278/121/255 310/152/255 311/147/255 -f 266/139/256 265/138/256 297/161/256 -f 279/140/257 311/147/257 312/135/257 -f 267/141/258 266/139/258 298/162/258 -f 324/163/259 323/164/259 355/165/259 -f 303/147/260 302/152/260 334/166/260 -f 290/154/261 322/167/261 321/166/261 -f 316/135/262 348/168/262 349/169/262 -f 303/147/263 335/148/263 336/168/263 -f 291/156/264 289/155/264 321/166/264 -f 317/151/265 349/167/265 350/166/265 -f 304/135/266 336/168/266 337/169/266 -f 291/156/267 323/164/267 324/163/267 -f 318/152/268 350/166/268 351/148/268 -f 305/151/269 337/167/269 338/166/269 -f 292/159/270 324/163/270 325/170/270 -f 320/135/271 319/157/271 351/148/271 -f 306/152/272 338/166/272 339/148/272 -f 294/152/273 293/151/273 325/167/273 -f 320/135/274 352/168/274 322/169/274 -f 307/147/275 339/148/275 340/168/275 -f 294/152/276 326/166/276 327/148/276 -f 308/135/277 340/168/277 341/169/277 -f 296/135/278 295/147/278 327/148/278 -f 309/151/279 341/167/279 342/166/279 -f 296/135/280 328/168/280 329/169/280 -f 311/147/281 310/152/281 342/166/281 -f 298/162/282 297/161/282 329/171/282 -f 311/147/283 343/148/283 344/168/283 -f 298/162/284 330/172/284 331/173/284 -f 312/135/285 344/168/285 345/169/285 -f 300/150/286 299/149/286 331/173/286 -f 313/151/287 345/167/287 346/166/287 -f 300/150/288 332/174/288 333/175/288 -f 314/152/289 346/166/289 347/148/289 -f 301/151/290 333/167/290 334/166/290 -f 358/176/291 390/177/291 391/178/291 -f 351/148/292 350/166/292 382/176/292 -f 337/167/293 369/179/293 370/176/293 -f 325/170/294 324/163/294 356/180/294 -f 352/168/295 351/148/295 383/181/295 -f 339/148/296 338/166/296 370/176/296 -f 326/166/297 325/167/297 357/179/297 -f 352/168/298 384/182/298 354/183/298 -f 339/148/299 371/181/299 372/182/299 -f 326/166/300 358/176/300 359/181/300 -f 340/168/301 372/182/301 373/184/301 -f 328/168/302 327/148/302 359/181/302 -f 341/167/303 373/179/303 374/176/303 -f 328/168/304 360/182/304 361/184/304 -f 342/166/305 374/176/305 375/181/305 -f 330/172/306 329/171/306 361/185/306 -f 343/148/307 375/181/307 376/182/307 -f 330/172/308 362/186/308 363/187/308 -f 344/168/309 376/182/309 377/184/309 -f 331/173/310 363/187/310 364/188/310 -f 345/167/311 377/179/311 378/176/311 -f 332/174/312 364/188/312 365/189/312 -f 346/166/313 378/176/313 379/181/313 -f 334/166/314 333/167/314 365/179/314 -f 347/148/315 379/181/315 380/182/315 -f 334/166/316 366/176/316 367/181/316 -f 322/167/317 354/190/317 353/191/317 -f 348/168/318 380/182/318 381/183/318 -f 335/148/319 367/181/319 368/182/319 -f 321/166/320 353/191/320 355/165/320 -f 349/167/321 381/179/321 382/176/321 -f 336/168/322 368/182/322 369/184/322 -f 393/192/323 425/193/323 426/194/323 -f 373/184/324 372/182/324 404/195/324 -f 360/182/325 359/181/325 391/178/325 -f 374/176/326 373/179/326 405/196/326 -f 361/184/327 360/182/327 392/197/327 -f 375/181/328 374/176/328 406/177/328 -f 361/185/329 393/192/329 394/198/329 -f 375/181/330 407/178/330 408/195/330 -f 362/186/331 394/198/331 395/199/331 -f 377/184/332 376/182/332 408/195/332 -f 363/187/333 395/199/333 396/200/333 -f 377/179/334 409/196/334 410/177/334 -f 364/188/335 396/200/335 397/201/335 -f 378/176/336 410/177/336 411/178/336 -f 366/176/337 365/179/337 397/196/337 -f 380/182/338 379/181/338 411/178/338 -f 367/181/339 366/176/339 398/177/339 -f 354/190/340 386/196/340 385/202/340 -f 380/182/341 412/195/341 413/203/341 -f 368/182/342 367/181/342 399/178/342 -f 353/191/343 385/202/343 387/204/343 -f 382/176/344 381/179/344 413/196/344 -f 369/184/345 368/182/345 400/195/345 -f 356/180/346 355/165/346 387/204/346 -f 382/176/347 414/177/347 415/178/347 -f 370/176/348 369/179/348 401/196/348 -f 356/180/349 388/197/349 389/203/349 -f 384/182/350 383/181/350 415/178/350 -f 370/176/351 402/177/351 403/178/351 -f 357/179/352 389/196/352 390/177/352 -f 354/183/353 384/182/353 416/197/353 -f 371/181/354 403/178/354 404/195/354 -f 428/205/355 460/206/355 461/207/355 -f 407/178/356 439/208/356 440/205/356 -f 394/198/357 426/194/357 427/209/357 -f 408/195/358 440/205/358 441/210/358 -f 395/199/359 427/209/359 428/205/359 -f 410/177/360 409/196/360 441/193/360 -f 397/201/361 396/200/361 428/205/361 -f 411/178/362 410/177/362 442/194/362 -f 397/196/363 429/193/363 430/194/363 -f 412/195/364 411/178/364 443/208/364 -f 398/177/365 430/194/365 431/208/365 -f 385/202/366 386/196/366 418/193/366 -f 412/195/367 444/205/367 445/210/367 -f 400/195/368 399/178/368 431/208/368 -f 385/202/369 417/194/369 419/208/369 -f 413/196/370 445/193/370 446/194/370 -f 400/195/371 432/205/371 433/210/371 -f 387/204/372 419/208/372 420/211/372 -f 414/177/373 446/194/373 447/208/373 -f 401/196/374 433/193/374 434/194/374 -f 388/197/375 420/211/375 421/210/375 -f 415/178/376 447/208/376 448/205/376 -f 402/177/377 434/194/377 435/208/377 -f 389/196/378 421/193/378 422/194/378 -f 416/197/379 448/205/379 418/210/379 -f 403/178/380 435/208/380 436/205/380 -f 391/178/381 390/177/381 422/194/381 -f 404/195/382 436/205/382 437/210/382 -f 391/178/383 423/208/383 424/205/383 -f 405/196/384 437/193/384 438/194/384 -f 393/203/385 392/197/385 424/205/385 -f 406/177/386 438/194/386 439/208/386 -f 467/212/387 457/213/387 451/214/387 -f 443/208/388 442/194/388 474/215/388 -f 429/193/389 461/216/389 462/215/389 -f 444/205/390 443/208/390 475/217/390 -f 430/194/391 462/215/391 463/217/391 -f 418/193/392 450/216/392 449/215/392 -f 445/210/393 444/205/393 476/206/393 -f 431/208/394 463/217/394 464/206/394 -f 417/194/395 449/215/395 451/217/395 -f 445/193/396 477/216/396 478/215/396 -f 433/210/397 432/205/397 464/206/397 -f 420/211/398 419/208/398 451/217/398 -f 446/194/399 478/215/399 479/217/399 -f 433/193/400 465/216/400 466/215/400 -f 421/210/401 420/211/401 452/206/401 -f 447/208/402 479/217/402 480/206/402 -f 434/194/403 466/215/403 467/217/403 -f 421/193/404 453/216/404 454/215/404 -f 448/205/405 480/206/405 450/218/405 -f 435/208/406 467/217/406 468/206/406 -f 422/194/407 454/215/407 455/217/407 -f 436/205/408 468/206/408 469/218/408 -f 423/208/409 455/217/409 456/206/409 -f 438/194/410 437/193/410 469/216/410 -f 425/210/411 424/205/411 456/206/411 -f 438/194/412 470/215/412 471/217/412 -f 425/193/413 457/216/413 458/215/413 -f 439/208/414 471/217/414 472/206/414 -f 426/194/415 458/215/415 459/217/415 -f 440/205/416 472/206/416 473/218/416 -f 428/205/417 427/209/417 459/217/417 -f 441/193/418 473/216/418 474/215/418 -f 1/17/1 2/1/1 3/3/1 -f 5/19/2 3/3/2 6/4/2 -f 5/19/3 6/4/3 7/6/3 -f 7/6/4 8/5/4 9/8/4 -f 9/25/5 10/9/5 11/11/5 -f 13/13/6 11/11/6 14/12/6 -f 15/6/7 13/13/7 16/14/7 -f 15/6/8 16/14/8 17/16/8 -f 17/25/9 18/9/9 19/11/9 -f 21/13/10 19/11/10 22/4/10 -f 21/13/11 22/4/11 23/6/11 -f 23/6/12 24/14/12 25/16/12 -f 27/11/13 25/17/13 28/2/13 -f 29/19/14 27/11/14 30/4/14 -f 31/6/15 29/19/15 32/5/15 -f 33/8/16 31/6/16 34/7/16 -f 33/219/17 34/1/17 35/21/17 -f 37/19/18 35/21/18 38/4/18 -f 37/19/19 38/4/19 39/23/19 -f 39/23/20 40/22/20 41/24/20 -f 41/25/21 42/9/21 43/11/21 -f 43/11/22 44/10/22 45/13/22 -f 45/13/23 46/4/23 47/6/23 -f 47/6/24 48/14/24 49/16/24 -f 51/11/25 49/25/25 52/10/25 -f 51/11/26 52/10/26 53/13/26 -f 53/13/27 54/4/27 55/6/27 -f 55/6/28 56/14/28 57/16/28 -f 57/219/29 58/1/29 59/21/29 -f 59/21/419 60/10/419 61/19/419 -f 24/14/31 22/4/31 76/27/31 -f 1/16/32 63/6/32 2/28/32 -f 61/19/33 62/4/33 63/6/33 -f 150/64/34 149/29/34 182/31/34 -f 69/35/35 68/32/35 101/34/35 -f 42/7/36 40/22/36 85/35/36 -f 60/10/37 58/1/37 94/37/37 -f 16/14/38 14/12/38 72/39/38 -f 34/7/39 32/5/39 81/40/39 -f 90/44/40 52/10/40 89/41/40 -f 68/32/41 8/5/41 67/42/41 -f 77/46/42 26/15/42 76/27/42 -f 86/44/43 44/10/43 85/41/43 -f 62/4/44 60/10/44 95/42/44 -f 18/15/45 16/14/45 73/43/45 -f 82/37/46 36/20/46 81/36/46 -f 54/4/47 52/10/47 91/38/47 -f 10/7/48 8/5/48 69/35/48 -f 78/37/49 28/2/49 77/45/49 -f 46/4/50 44/10/50 87/26/50 -f 64/14/51 62/4/51 96/32/51 -f 20/10/52 18/9/52 74/44/52 -f 38/4/53 36/20/53 83/42/53 -f 56/14/54 54/4/54 92/39/54 -f 12/10/55 10/9/55 70/44/55 -f 30/4/56 28/2/56 79/42/56 -f 48/14/57 46/4/57 88/27/57 -f 4/2/58 2/1/58 65/37/58 -f 2/28/59 64/14/59 66/35/59 -f 22/4/60 20/10/60 75/26/60 -f 40/22/61 38/4/61 84/32/61 -f 93/46/62 58/15/62 92/39/62 -f 14/12/63 12/10/63 71/38/63 -f 80/32/64 32/5/64 79/42/64 -f 50/15/65 48/14/65 89/46/65 -f 6/4/66 4/2/66 67/42/66 -f 136/65/67 104/47/67 135/49/67 -f 96/32/68 95/42/68 128/33/68 -f 115/50/69 83/42/69 114/51/69 -f 70/44/70 69/36/70 102/53/70 -f 98/55/71 66/35/71 128/33/71 -f 84/32/72 83/42/72 116/33/72 -f 71/38/73 70/44/73 103/54/73 -f 85/35/74 84/32/74 117/55/74 -f 72/39/75 71/38/75 104/56/75 -f 86/44/76 85/41/76 118/51/76 -f 73/43/77 72/39/77 105/58/77 -f 87/26/78 86/44/78 119/59/78 -f 74/44/79 73/41/79 106/51/79 -f 88/27/80 87/26/80 120/56/80 -f 75/26/81 74/44/81 107/50/81 -f 89/46/82 88/27/82 121/60/82 -f 76/27/83 75/26/83 108/56/83 -f 90/44/84 89/41/84 122/53/84 -f 77/46/85 76/27/85 109/60/85 -f 91/38/86 90/44/86 123/54/86 -f 78/37/87 77/45/87 110/51/87 -f 92/39/88 91/38/88 124/56/88 -f 79/42/89 78/37/89 111/50/89 -f 65/37/90 66/45/90 97/51/90 -f 93/46/91 92/39/91 125/60/91 -f 80/32/92 79/42/92 112/33/92 -f 67/42/93 65/37/93 99/50/93 -f 94/37/94 93/36/94 126/51/94 -f 81/40/95 80/32/95 113/55/95 -f 68/32/96 67/42/96 100/33/96 -f 95/42/97 94/37/97 127/50/97 -f 82/37/98 81/36/98 114/51/98 -f 118/67/99 117/63/99 150/64/99 -f 105/89/100 104/47/100 137/66/100 -f 119/71/101 118/67/101 151/49/101 -f 138/72/102 106/68/102 137/70/102 -f 120/47/103 119/71/103 152/65/103 -f 107/74/104 106/68/104 139/73/104 -f 121/89/105 120/47/105 153/66/105 -f 108/76/106 107/74/106 140/75/106 -f 154/64/107 122/67/107 153/29/107 -f 109/220/108 108/76/108 141/77/108 -f 155/49/109 123/71/109 154/64/109 -f 110/67/110 109/63/110 142/64/110 -f 156/65/111 124/47/111 155/49/111 -f 111/48/112 110/67/112 143/49/112 -f 129/82/113 97/78/113 130/80/113 -f 125/89/114 124/47/114 157/66/114 -f 112/47/115 111/48/115 144/65/115 -f 131/85/116 99/81/116 129/82/116 -f 158/64/117 126/67/117 157/29/117 -f 113/89/118 112/47/118 145/83/118 -f 132/86/119 100/84/119 131/85/119 -f 159/88/120 127/71/120 158/64/120 -f 146/64/121 114/67/121 145/29/121 -f 101/221/122 100/84/122 133/87/122 -f 128/47/123 127/71/123 160/65/123 -f 147/49/124 115/48/124 146/64/124 -f 102/67/125 101/63/125 134/64/125 -f 98/89/126 128/47/126 130/66/126 -f 116/47/127 115/48/127 148/65/127 -f 103/48/128 102/67/128 135/49/128 -f 149/83/129 117/89/129 148/65/129 -f 176/101/130 175/90/130 208/92/130 -f 169/96/34 137/66/34 168/93/34 -f 151/49/34 150/64/34 183/90/34 -f 170/95/34 138/72/34 169/94/34 -f 152/65/34 151/49/34 184/93/34 -f 171/97/34 139/73/34 170/95/34 -f 153/66/34 152/65/34 185/96/34 -f 172/98/34 140/75/34 171/97/34 -f 154/64/34 153/29/34 186/31/34 -f 141/77/34 140/75/34 173/99/34 -f 155/49/34 154/64/34 187/90/34 -f 142/64/34 141/29/34 174/31/34 -f 156/65/34 155/49/34 188/93/34 -f 143/49/34 142/64/34 175/90/34 -f 161/102/34 129/82/34 162/100/34 -f 189/96/34 157/66/34 188/93/34 -f 144/65/34 143/49/34 176/101/34 -f 163/103/34 131/85/34 161/102/34 -f 190/31/34 158/64/34 189/30/34 -f 145/83/34 144/65/34 177/96/34 -f 164/104/34 132/86/34 163/103/34 -f 191/90/34 159/88/34 190/31/34 -f 146/64/34 145/29/34 178/31/34 -f 165/113/34 133/87/34 164/104/34 -f 160/65/34 159/88/34 192/93/34 -f 147/49/34 146/64/34 179/90/34 -f 166/31/34 134/64/34 165/30/34 -f 162/96/34 130/66/34 192/93/34 -f 148/65/34 147/49/34 180/101/34 -f 135/49/34 134/64/34 167/90/34 -f 149/83/34 148/65/34 181/96/34 -f 168/93/34 136/65/34 167/90/34 -f 211/91/131 210/105/131 243/107/131 -f 195/111/132 163/103/132 193/108/132 -f 222/105/133 190/31/133 221/109/133 -f 177/96/134 176/101/134 209/110/134 -f 164/104/135 163/103/135 196/112/135 -f 191/90/136 190/31/136 223/91/136 -f 210/105/137 178/31/137 209/109/137 -f 197/222/138 165/113/138 196/112/138 -f 192/93/139 191/90/139 224/92/139 -f 211/91/140 179/90/140 210/105/140 -f 198/105/141 166/31/141 197/109/141 -f 162/96/142 192/93/142 194/110/142 -f 180/101/143 179/90/143 212/92/143 -f 199/91/144 167/90/144 198/105/144 -f 213/110/145 181/96/145 212/92/145 -f 200/92/146 168/93/146 199/91/146 -f 182/31/147 181/30/147 214/105/147 -f 201/110/148 169/96/148 200/92/148 -f 215/91/149 183/90/149 214/105/149 -f 170/95/150 169/94/150 202/115/150 -f 184/93/151 183/90/151 216/92/151 -f 203/116/152 171/97/152 202/115/152 -f 217/110/153 185/96/153 216/92/153 -f 172/98/154 171/97/154 204/117/154 -f 218/105/155 186/31/155 217/109/155 -f 205/223/156 173/99/156 204/117/156 -f 219/91/157 187/90/157 218/105/157 -f 206/105/158 174/31/158 205/109/158 -f 220/92/159 188/93/159 219/91/159 -f 207/91/160 175/90/160 206/105/160 -f 193/108/161 161/102/161 194/118/161 -f 221/110/162 189/96/162 220/92/162 -f 246/106/163 245/119/163 278/121/163 -f 198/105/164 197/109/164 230/106/164 -f 194/110/165 224/92/165 226/123/165 -f 212/92/166 211/91/166 244/122/166 -f 199/91/167 198/105/167 231/107/167 -f 213/110/168 212/92/168 245/123/168 -f 200/92/169 199/91/169 232/122/169 -f 214/105/170 213/109/170 246/106/170 -f 201/110/171 200/92/171 233/123/171 -f 247/107/172 215/91/172 246/106/172 -f 202/115/173 201/114/173 234/125/173 -f 216/92/174 215/91/174 248/122/174 -f 203/116/175 202/115/175 235/126/175 -f 249/123/176 217/110/176 248/122/176 -f 204/117/177 203/116/177 236/127/177 -f 250/106/178 218/105/178 249/119/178 -f 205/223/179 204/117/179 237/128/179 -f 219/91/180 218/105/180 251/107/180 -f 206/105/181 205/109/181 238/106/181 -f 220/92/182 219/91/182 252/122/182 -f 207/91/183 206/105/183 239/107/183 -f 193/108/184 194/118/184 225/130/184 -f 253/123/185 221/110/185 252/122/185 -f 208/92/186 207/91/186 240/122/186 -f 195/111/187 193/108/187 227/131/187 -f 254/106/188 222/105/188 253/119/188 -f 209/110/189 208/92/189 241/123/189 -f 196/112/190 195/111/190 228/132/190 -f 223/91/191 222/105/191 255/107/191 -f 210/105/192 209/109/192 242/106/192 -f 197/222/193 196/112/193 229/133/193 -f 224/92/194 223/91/194 256/122/194 -f 281/137/195 280/134/195 313/136/195 -f 233/123/196 232/122/196 265/137/196 -f 279/140/197 247/107/197 278/121/197 -f 234/125/198 233/124/198 266/139/198 -f 248/122/199 247/107/199 280/134/199 -f 267/141/200 235/126/200 266/139/200 -f 249/123/201 248/122/201 281/137/201 -f 236/127/202 235/126/202 268/142/202 -f 282/121/203 250/106/203 281/120/203 -f 269/224/204 237/128/204 268/142/204 -f 251/107/205 250/106/205 283/140/205 -f 238/106/206 237/119/206 270/121/206 -f 284/134/207 252/122/207 283/140/207 -f 239/107/208 238/106/208 271/140/208 -f 225/130/209 226/129/209 257/144/209 -f 285/137/210 253/123/210 284/134/210 -f 240/122/211 239/107/211 272/134/211 -f 227/131/212 225/130/212 259/145/212 -f 254/106/213 253/119/213 286/121/213 -f 241/123/214 240/122/214 273/137/214 -f 260/146/215 228/132/215 259/145/215 -f 287/140/216 255/107/216 286/121/216 -f 242/106/217 241/119/217 274/121/217 -f 261/158/218 229/133/218 260/146/218 -f 256/122/219 255/107/219 288/134/219 -f 243/107/220 242/106/220 275/140/220 -f 230/106/221 229/119/221 262/121/221 -f 258/160/222 226/123/222 288/134/222 -f 244/122/223 243/107/223 276/134/223 -f 263/140/224 231/107/224 262/121/224 -f 277/137/225 245/123/225 276/134/225 -f 232/122/226 231/107/226 264/134/226 -f 348/168/227 316/135/227 347/148/227 -f 268/142/228 267/141/228 300/150/228 -f 282/121/229 281/120/229 314/152/229 -f 269/224/230 268/142/230 301/153/230 -f 283/140/231 282/121/231 315/147/231 -f 270/121/232 269/120/232 302/152/232 -f 284/134/233 283/140/233 316/135/233 -f 271/140/234 270/121/234 303/147/234 -f 257/144/235 258/143/235 289/155/235 -f 285/137/236 284/134/236 317/136/236 -f 272/134/237 271/140/237 304/135/237 -f 291/156/238 259/145/238 289/155/238 -f 318/152/239 286/121/239 317/151/239 -f 273/137/240 272/134/240 305/136/240 -f 292/159/241 260/146/241 291/156/241 -f 287/140/242 286/121/242 319/157/242 -f 274/121/243 273/120/243 306/152/243 -f 293/225/244 261/158/244 292/159/244 -f 288/134/245 287/140/245 320/135/245 -f 275/140/246 274/121/246 307/147/246 -f 294/152/247 262/121/247 293/151/247 -f 290/136/248 258/160/248 320/135/248 -f 276/134/249 275/140/249 308/135/249 -f 263/140/250 262/121/250 295/147/250 -f 309/136/251 277/137/251 308/135/251 -f 264/134/252 263/140/252 296/135/252 -f 278/121/253 277/120/253 310/152/253 -f 265/137/254 264/134/254 297/136/254 -f 279/140/255 278/121/255 311/147/255 -f 298/162/256 266/139/256 297/161/256 -f 280/134/257 279/140/257 312/135/257 -f 299/149/258 267/141/258 298/162/258 -f 356/180/259 324/163/259 355/165/259 -f 335/148/260 303/147/260 334/166/260 -f 289/155/261 290/154/261 321/166/261 -f 317/136/262 316/135/262 349/169/262 -f 304/135/263 303/147/263 336/168/263 -f 323/164/264 291/156/264 321/166/264 -f 318/152/265 317/151/265 350/166/265 -f 305/136/266 304/135/266 337/169/266 -f 292/159/267 291/156/267 324/163/267 -f 319/157/268 318/152/268 351/148/268 -f 306/152/420 305/151/420 338/166/420 -f 293/225/270 292/159/270 325/170/270 -f 352/168/271 320/135/271 351/148/271 -f 307/147/272 306/152/272 339/148/272 -f 326/166/273 294/152/273 325/167/273 -f 290/136/274 320/135/274 322/169/274 -f 308/135/275 307/147/275 340/168/275 -f 295/147/276 294/152/276 327/148/276 -f 309/136/277 308/135/277 341/169/277 -f 328/168/278 296/135/278 327/148/278 -f 310/152/279 309/151/279 342/166/279 -f 297/136/280 296/135/280 329/169/280 -f 343/148/281 311/147/281 342/166/281 -f 330/172/282 298/162/282 329/171/282 -f 312/135/283 311/147/283 344/168/283 -f 299/149/284 298/162/284 331/173/284 -f 313/136/285 312/135/285 345/169/285 -f 332/174/286 300/150/286 331/173/286 -f 314/152/287 313/151/287 346/166/287 -f 301/153/288 300/150/288 333/175/288 -f 315/147/289 314/152/289 347/148/289 -f 302/152/290 301/151/290 334/166/290 -f 359/181/291 358/176/291 391/178/291 -f 383/181/292 351/148/292 382/176/292 -f 338/166/293 337/167/293 370/176/293 -f 357/183/294 325/170/294 356/180/294 -f 384/182/295 352/168/295 383/181/295 -f 371/181/296 339/148/296 370/176/296 -f 358/176/297 326/166/297 357/179/297 -f 322/169/298 352/168/298 354/183/298 -f 340/168/299 339/148/299 372/182/299 -f 327/148/300 326/166/300 359/181/300 -f 341/169/301 340/168/301 373/184/301 -f 360/182/302 328/168/302 359/181/302 -f 342/166/303 341/167/303 374/176/303 -f 329/169/304 328/168/304 361/184/304 -f 343/148/305 342/166/305 375/181/305 -f 362/186/306 330/172/306 361/185/306 -f 344/168/307 343/148/307 376/182/307 -f 331/173/308 330/172/308 363/187/308 -f 345/169/309 344/168/309 377/184/309 -f 332/174/310 331/173/310 364/188/310 -f 346/166/311 345/167/311 378/176/311 -f 333/175/312 332/174/312 365/189/312 -f 347/148/313 346/166/313 379/181/313 -f 366/176/314 334/166/314 365/179/314 -f 348/168/315 347/148/315 380/182/315 -f 335/148/316 334/166/316 367/181/316 -f 321/166/317 322/167/317 353/191/317 -f 349/169/318 348/168/318 381/183/318 -f 336/168/319 335/148/319 368/182/319 -f 323/164/320 321/166/320 355/165/320 -f 350/166/321 349/167/321 382/176/321 -f 337/169/322 336/168/322 369/184/322 -f 394/198/323 393/192/323 426/194/323 -f 405/203/324 373/184/324 404/195/324 -f 392/197/325 360/182/325 391/178/325 -f 406/177/326 374/176/326 405/196/326 -f 393/203/327 361/184/327 392/197/327 -f 407/178/328 375/181/328 406/177/328 -f 362/186/329 361/185/329 394/198/329 -f 376/182/330 375/181/330 408/195/330 -f 363/187/331 362/186/331 395/199/331 -f 409/203/332 377/184/332 408/195/332 -f 364/188/333 363/187/333 396/200/333 -f 378/176/334 377/179/334 410/177/334 -f 365/189/335 364/188/335 397/201/335 -f 379/181/336 378/176/336 411/178/336 -f 398/177/337 366/176/337 397/196/337 -f 412/195/338 380/182/338 411/178/338 -f 399/178/339 367/181/339 398/177/339 -f 353/191/340 354/190/340 385/202/340 -f 381/183/341 380/182/341 413/203/341 -f 400/195/342 368/182/342 399/178/342 -f 355/165/343 353/191/343 387/204/343 -f 414/177/344 382/176/344 413/196/344 -f 401/203/345 369/184/345 400/195/345 -f 388/197/346 356/180/346 387/204/346 -f 383/181/347 382/176/347 415/178/347 -f 402/177/348 370/176/348 401/196/348 -f 357/183/349 356/180/349 389/203/349 -f 416/197/350 384/182/350 415/178/350 -f 371/181/351 370/176/351 403/178/351 -f 358/176/352 357/179/352 390/177/352 -f 386/203/353 354/183/353 416/197/353 -f 372/182/354 371/181/354 404/195/354 -f 429/226/355 428/205/355 461/207/355 -f 408/195/356 407/178/356 440/205/356 -f 395/199/357 394/198/357 427/209/357 -f 409/203/358 408/195/358 441/210/358 -f 396/200/359 395/199/359 428/205/359 -f 442/194/360 410/177/360 441/193/360 -f 429/226/361 397/201/361 428/205/361 -f 443/208/362 411/178/362 442/194/362 -f 398/177/363 397/196/363 430/194/363 -f 444/205/364 412/195/364 443/208/364 -f 399/178/365 398/177/365 431/208/365 -f 417/194/366 385/202/366 418/193/366 -f 413/203/367 412/195/367 445/210/367 -f 432/205/368 400/195/368 431/208/368 -f 387/204/369 385/202/369 419/208/369 -f 414/177/370 413/196/370 446/194/370 -f 401/203/371 400/195/371 433/210/371 -f 388/197/372 387/204/372 420/211/372 -f 415/178/373 414/177/373 447/208/373 -f 402/177/374 401/196/374 434/194/374 -f 389/203/375 388/197/375 421/210/375 -f 416/197/376 415/178/376 448/205/376 -f 403/178/377 402/177/377 435/208/377 -f 390/177/378 389/196/378 422/194/378 -f 386/203/379 416/197/379 418/210/379 -f 404/195/380 403/178/380 436/205/380 -f 423/208/381 391/178/381 422/194/381 -f 405/203/382 404/195/382 437/210/382 -f 392/197/383 391/178/383 424/205/383 -f 406/177/384 405/196/384 438/194/384 -f 425/210/385 393/203/385 424/205/385 -f 407/178/386 406/177/386 439/208/386 -f 451/214/421 449/227/421 450/228/421 -f 450/228/387 480/229/387 451/214/387 -f 479/230/387 478/231/387 475/232/387 -f 477/233/387 476/234/387 475/232/387 -f 475/232/387 474/235/387 473/236/387 -f 473/236/387 472/237/387 475/232/387 -f 471/238/387 470/239/387 469/240/387 -f 469/240/387 468/241/387 471/238/387 -f 467/212/421 466/242/421 465/243/421 -f 465/243/422 464/244/422 467/212/422 -f 463/245/387 462/246/387 461/247/387 -f 461/247/387 460/248/387 459/249/387 -f 459/249/387 458/250/387 457/213/387 -f 457/213/387 456/251/387 455/252/387 -f 455/252/387 454/253/387 453/254/387 -f 453/254/387 452/255/387 451/214/387 -f 451/214/387 480/229/387 479/230/387 -f 478/231/387 477/233/387 475/232/387 -f 475/232/387 472/237/387 471/238/387 -f 471/238/387 468/241/387 467/212/387 -f 467/212/387 464/244/387 463/245/387 -f 463/245/387 461/247/387 467/212/387 -f 459/249/387 457/213/387 467/212/387 -f 455/252/387 453/254/387 451/214/387 -f 451/214/387 479/230/387 475/232/387 -f 475/232/387 471/238/387 451/214/387 -f 467/212/387 461/247/387 459/249/387 -f 457/213/387 455/252/387 451/214/387 -f 451/214/387 471/238/387 467/212/387 -f 475/217/388 443/208/388 474/215/388 -f 430/194/389 429/193/389 462/215/389 -f 476/206/390 444/205/390 475/217/390 -f 431/208/391 430/194/391 463/217/391 -f 417/194/392 418/193/392 449/215/392 -f 477/218/393 445/210/393 476/206/393 -f 432/205/423 431/208/423 464/206/423 -f 419/208/424 417/194/424 451/217/424 -f 446/194/396 445/193/396 478/215/396 -f 465/218/397 433/210/397 464/206/397 -f 452/206/398 420/211/398 451/217/398 -f 447/208/399 446/194/399 479/217/399 -f 434/194/400 433/193/400 466/215/400 -f 453/218/401 421/210/401 452/206/401 -f 448/205/402 447/208/402 480/206/402 -f 435/208/403 434/194/403 467/217/403 -f 422/194/404 421/193/404 454/215/404 -f 418/210/405 448/205/405 450/218/405 -f 436/205/406 435/208/406 468/206/406 -f 423/208/425 422/194/425 455/217/425 -f 437/210/426 436/205/426 469/218/426 -f 424/205/409 423/208/409 456/206/409 -f 470/215/410 438/194/410 469/216/410 -f 457/218/411 425/210/411 456/206/411 -f 439/208/427 438/194/427 471/217/427 -f 426/194/413 425/193/413 458/215/413 -f 440/205/414 439/208/414 472/206/414 -f 427/209/415 426/194/415 459/217/415 -f 441/210/416 440/205/416 473/218/416 -f 460/206/428 428/205/428 459/217/428 -f 442/194/418 441/193/418 474/215/418 diff --git a/src/main/resources/assets/hbm/models/mush.obj b/src/main/resources/assets/hbm/models/mush.obj deleted file mode 100644 index f68b80d1e..000000000 --- a/src/main/resources/assets/hbm/models/mush.obj +++ /dev/null @@ -1,2093 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'mush.blend' -# www.blender.org -o Cylinder -v -0.000000 0.000000 -2.999999 -v -0.000000 4.000000 -2.000000 -v 0.585271 0.000000 -2.942355 -v 0.390181 4.000000 -1.961570 -v 1.148050 0.000000 -2.771638 -v 0.765367 4.000000 -1.847759 -v 1.666710 0.000000 -2.494408 -v 1.111140 4.000000 -1.662939 -v 2.121320 0.000000 -2.121320 -v 1.414213 4.000000 -1.414213 -v 2.494409 0.000000 -1.666710 -v 1.662939 4.000000 -1.111140 -v 2.771638 0.000000 -1.148050 -v 1.847759 4.000000 -0.765367 -v 2.942355 0.000000 -0.585271 -v 1.961570 4.000000 -0.390180 -v 3.000000 0.000000 0.000000 -v 2.000000 4.000000 0.000000 -v 2.942356 0.000000 0.585271 -v 1.961571 4.000000 0.390181 -v 2.771638 0.000000 1.148051 -v 1.847759 4.000000 0.765367 -v 2.494409 0.000000 1.666711 -v 1.662939 4.000000 1.111141 -v 2.121320 0.000000 2.121321 -v 1.414213 4.000000 1.414214 -v 1.666710 0.000000 2.494410 -v 1.111140 4.000000 1.662940 -v 1.148050 0.000000 2.771640 -v 0.765366 4.000000 1.847760 -v 0.585270 0.000000 2.942357 -v 0.390180 4.000000 1.961571 -v -0.000001 0.000000 3.000000 -v -0.000001 4.000000 2.000000 -v -0.585272 0.000000 2.942356 -v -0.390182 4.000000 1.961571 -v -1.148052 0.000000 2.771639 -v -0.765368 4.000000 1.847759 -v -1.666712 0.000000 2.494409 -v -1.111142 4.000000 1.662939 -v -2.121322 0.000000 2.121320 -v -1.414215 4.000000 1.414213 -v -2.494411 0.000000 1.666710 -v -1.662940 4.000000 1.111140 -v -2.771640 0.000000 1.148049 -v -1.847760 4.000000 0.765366 -v -2.942357 0.000000 0.585269 -v -1.961571 4.000000 0.390179 -v -3.000000 0.000000 -0.000002 -v -2.000000 4.000000 -0.000002 -v -2.942356 0.000000 -0.585274 -v -1.961570 4.000000 -0.390182 -v -2.771638 0.000000 -1.148053 -v -1.847758 4.000000 -0.765369 -v -2.494407 0.000000 -1.666713 -v -1.662938 4.000000 -1.111142 -v -2.121318 0.000000 -2.121322 -v -1.414212 4.000000 -1.414215 -v -1.666708 0.000000 -2.494411 -v -1.111138 4.000000 -1.662940 -v -1.148046 0.000000 -2.771640 -v -0.765364 4.000000 -1.847760 -v -0.585267 0.000000 -2.942356 -v -0.390178 4.000000 -1.961571 -v 0.292634 9.000000 -1.471178 -v -0.000001 9.000000 -1.500000 -v 0.574024 9.000000 -1.385819 -v 0.833354 9.000000 -1.247204 -v 1.060659 9.000000 -1.060660 -v 1.247203 9.000000 -0.833355 -v 1.385818 9.000000 -0.574025 -v 1.471177 9.000000 -0.292635 -v 1.499999 9.000000 0.000000 -v 1.471177 9.000000 0.292635 -v 1.385818 9.000000 0.574025 -v 1.247203 9.000000 0.833355 -v 1.060659 9.000000 1.060660 -v 0.833354 9.000000 1.247205 -v 0.574024 9.000000 1.385820 -v 0.292634 9.000000 1.471178 -v -0.000002 9.000000 1.500000 -v -0.292637 9.000000 1.471178 -v -0.574027 9.000000 1.385819 -v -0.833357 9.000000 1.247204 -v -1.060662 9.000000 1.060660 -v -1.247206 9.000000 0.833355 -v -1.385821 9.000000 0.574024 -v -1.471179 9.000000 0.292634 -v -1.500001 9.000000 -0.000001 -v -1.471179 9.000000 -0.292637 -v -1.385820 9.000000 -0.574027 -v -1.247205 9.000000 -0.833357 -v -1.060660 9.000000 -1.060661 -v -0.833355 9.000000 -1.247205 -v -0.574024 9.000000 -1.385820 -v -0.292635 9.000000 -1.471178 -v 0.243864 22.000000 -1.225981 -v 0.000001 22.000000 -1.250000 -v 0.478355 22.000000 -1.154849 -v 0.694464 22.000000 -1.039337 -v 0.883885 22.000000 -0.883883 -v 1.039338 22.000000 -0.694463 -v 1.154850 22.000000 -0.478354 -v 1.225983 22.000000 -0.243863 -v 1.250001 22.000000 -0.000000 -v 1.225983 22.000000 0.243863 -v 1.154851 22.000000 0.478354 -v 1.039338 22.000000 0.694463 -v 0.883885 22.000000 0.883884 -v 0.694464 22.000000 1.039337 -v 0.478355 22.000000 1.154850 -v 0.243864 22.000000 1.225982 -v 0.000001 22.000000 1.250000 -v -0.243862 22.000000 1.225982 -v -0.478354 22.000000 1.154849 -v -0.694462 22.000000 1.039337 -v -0.883883 22.000000 0.883883 -v -1.039336 22.000000 0.694462 -v -1.154849 22.000000 0.478353 -v -1.225981 22.000000 0.243862 -v -1.249999 22.000000 -0.000001 -v -1.225980 22.000000 -0.243864 -v -1.154848 22.000000 -0.478356 -v -1.039335 22.000000 -0.694464 -v -0.883881 22.000000 -0.883884 -v -0.694460 22.000000 -1.039338 -v -0.478351 22.000000 -1.154850 -v -0.243860 22.000000 -1.225982 -v 0.390184 20.000000 -1.961570 -v 0.000004 20.000000 -2.000000 -v 0.765370 20.000000 -1.847759 -v 1.111144 20.000000 -1.662939 -v 1.414217 20.000000 -1.414213 -v 1.662943 20.000000 -1.111140 -v 1.847763 20.000000 -0.765367 -v 1.961574 20.000000 -0.390180 -v 2.000004 20.000000 0.000000 -v 1.961574 20.000000 0.390181 -v 1.847763 20.000000 0.765367 -v 1.662943 20.000000 1.111141 -v 1.414217 20.000000 1.414214 -v 1.111144 20.000000 1.662940 -v 0.765370 20.000000 1.847760 -v 0.390184 20.000000 1.961571 -v 0.000003 20.000000 2.000000 -v -0.390178 20.000000 1.961571 -v -0.765364 20.000000 1.847759 -v -1.111138 20.000000 1.662939 -v -1.414211 20.000000 1.414213 -v -1.662936 20.000000 1.111140 -v -1.847756 20.000000 0.765366 -v -1.961567 20.000000 0.390179 -v -1.999996 20.000000 -0.000002 -v -1.961566 20.000000 -0.390182 -v -1.847754 20.000000 -0.765369 -v -1.662934 20.000000 -1.111142 -v -1.414208 20.000000 -1.414215 -v -1.111135 20.000000 -1.662941 -v -0.765361 20.000000 -1.847760 -v -0.390174 20.000000 -1.961571 -v 0.546257 20.000000 -2.746198 -v 0.000004 20.000000 -2.799999 -v 1.071518 20.000000 -2.586862 -v 1.555601 20.000000 -2.328114 -v 1.979903 20.000000 -1.979898 -v 2.328119 20.000000 -1.555596 -v 2.586867 20.000000 -1.071513 -v 2.746203 20.000000 -0.546253 -v 2.800004 20.000000 0.000000 -v 2.746203 20.000000 0.546253 -v 2.586867 20.000000 1.071514 -v 2.328119 20.000000 1.555597 -v 1.979903 20.000000 1.979900 -v 1.555601 20.000000 2.328115 -v 1.071517 20.000000 2.586864 -v 0.546256 20.000000 2.746200 -v 0.000003 20.000000 2.800000 -v -0.546250 20.000000 2.746199 -v -1.071511 20.000000 2.586863 -v -1.555594 20.000000 2.328115 -v -1.979896 20.000000 1.979898 -v -2.328112 20.000000 1.555596 -v -2.586860 20.000000 1.071512 -v -2.746195 20.000000 0.546251 -v -2.799996 20.000000 -0.000002 -v -2.746194 20.000000 -0.546255 -v -2.586858 20.000000 -1.071516 -v -2.328109 20.000000 -1.555599 -v -1.979892 20.000000 -1.979901 -v -1.555590 20.000000 -2.328117 -v -1.071506 20.000000 -2.586864 -v -0.546245 20.000000 -2.746199 -v 0.663312 21.000000 -3.334670 -v 0.000004 21.000000 -3.400000 -v 1.301128 21.000000 -3.141190 -v 1.888944 21.000000 -2.826996 -v 2.404167 21.000000 -2.404163 -v 2.827002 21.000000 -1.888938 -v 3.141195 21.000000 -1.301123 -v 3.334675 21.000000 -0.663307 -v 3.400004 21.000000 0.000000 -v 3.334675 21.000000 0.663307 -v 3.141196 21.000000 1.301124 -v 2.827002 21.000000 1.888939 -v 2.404167 21.000000 2.404164 -v 1.888943 21.000000 2.826997 -v 1.301127 21.000000 3.141191 -v 0.663311 21.000000 3.334671 -v 0.000003 21.000000 3.400000 -v -0.663304 21.000000 3.334670 -v -1.301121 21.000000 3.141190 -v -1.888936 21.000000 2.826996 -v -2.404160 21.000000 2.404162 -v -2.826994 21.000000 1.888937 -v -3.141187 21.000000 1.301122 -v -3.334666 21.000000 0.663305 -v -3.399996 21.000000 -0.000003 -v -3.334665 21.000000 -0.663310 -v -3.141184 21.000000 -1.301127 -v -2.826990 21.000000 -1.888942 -v -2.404155 21.000000 -2.404165 -v -1.888931 21.000000 -2.826999 -v -1.301115 21.000000 -3.141192 -v -0.663298 21.000000 -3.334670 -v 0.663312 22.000000 -3.334670 -v 0.000005 22.000000 -3.400000 -v 1.301129 22.000000 -3.141190 -v 1.888944 22.000000 -2.826996 -v 2.404168 22.000000 -2.404163 -v 2.827002 22.000000 -1.888938 -v 3.141195 22.000000 -1.301123 -v 3.334675 22.000000 -0.663307 -v 3.400005 22.000000 0.000000 -v 3.334675 22.000000 0.663307 -v 3.141196 22.000000 1.301124 -v 2.827002 22.000000 1.888939 -v 2.404168 22.000000 2.404164 -v 1.888944 22.000000 2.826997 -v 1.301128 22.000000 3.141191 -v 0.663311 22.000000 3.334671 -v 0.000004 22.000000 3.400000 -v -0.663304 22.000000 3.334670 -v -1.301120 22.000000 3.141190 -v -1.888936 22.000000 2.826996 -v -2.404160 22.000000 2.404162 -v -2.826993 22.000000 1.888937 -v -3.141187 22.000000 1.301122 -v -3.334666 22.000000 0.663305 -v -3.399995 22.000000 -0.000003 -v -3.334665 22.000000 -0.663310 -v -3.141184 22.000000 -1.301127 -v -2.826989 22.000000 -1.888942 -v -2.404155 22.000000 -2.404165 -v -1.888930 22.000000 -2.826999 -v -1.301114 22.000000 -3.141192 -v -0.663297 22.000000 -3.334670 -v 0.468222 24.000000 -2.353884 -v 0.000006 24.000000 -2.400000 -v 0.918446 24.000000 -2.217310 -v 1.333374 24.000000 -1.995527 -v 1.697062 24.000000 -1.697056 -v 1.995533 24.000000 -1.333368 -v 2.217317 24.000000 -0.918440 -v 2.353890 24.000000 -0.468216 -v 2.400005 24.000000 0.000000 -v 2.353890 24.000000 0.468217 -v 2.217317 24.000000 0.918440 -v 1.995533 24.000000 1.333369 -v 1.697062 24.000000 1.697057 -v 1.333374 24.000000 1.995528 -v 0.918445 24.000000 2.217312 -v 0.468222 24.000000 2.353885 -v 0.000005 24.000000 2.400000 -v -0.468212 24.000000 2.353885 -v -0.918436 24.000000 2.217311 -v -1.333364 24.000000 1.995527 -v -1.697052 24.000000 1.697056 -v -1.995522 24.000000 1.333368 -v -2.217306 24.000000 0.918439 -v -2.353879 24.000000 0.468215 -v -2.399995 24.000000 -0.000002 -v -2.353878 24.000000 -0.468219 -v -2.217304 24.000000 -0.918442 -v -1.995520 24.000000 -1.333371 -v -1.697048 24.000000 -1.697058 -v -1.333360 24.000000 -1.995528 -v -0.918431 24.000000 -2.217312 -v -0.468208 24.000000 -2.353885 -v 1.053494 23.000000 -5.296239 -v 0.000006 23.000000 -5.399999 -v 2.066497 23.000000 -4.988948 -v 3.000085 23.000000 -4.489934 -v 3.818383 23.000000 -3.818375 -v 4.489942 23.000000 -3.000077 -v 4.988955 23.000000 -2.066489 -v 5.296246 23.000000 -1.053487 -v 5.400004 23.000000 0.000001 -v 5.296246 23.000000 1.053488 -v 4.988955 23.000000 2.066491 -v 4.489942 23.000000 3.000080 -v 3.818383 23.000000 3.818377 -v 3.000085 23.000000 4.489937 -v 2.066496 23.000000 4.988951 -v 1.053492 23.000000 5.296242 -v 0.000004 23.000000 5.400001 -v -1.053484 23.000000 5.296241 -v -2.066487 23.000000 4.988949 -v -3.000076 23.000000 4.489935 -v -3.818373 23.000000 3.818375 -v -4.489932 23.000000 3.000077 -v -4.988945 23.000000 2.066488 -v -5.296236 23.000000 1.053484 -v -5.399994 23.000000 -0.000004 -v -5.296233 23.000000 -1.053492 -v -4.988941 23.000000 -2.066495 -v -4.489926 23.000000 -3.000083 -v -3.818366 23.000000 -3.818380 -v -3.000067 23.000000 -4.489939 -v -2.066477 23.000000 -4.988951 -v -1.053474 23.000000 -5.296240 -v 1.755819 24.000000 -8.827065 -v 0.000006 24.000000 -8.999997 -v 3.444157 24.000000 -8.314913 -v 5.000138 24.000000 -7.483224 -v 6.363967 24.000000 -6.363959 -v 7.483233 24.000000 -5.000129 -v 8.314921 24.000000 -3.444148 -v 8.827073 24.000000 -1.755811 -v 9.000004 24.000000 0.000002 -v 8.827074 24.000000 1.755814 -v 8.314922 24.000000 3.444152 -v 7.483233 24.000000 5.000134 -v 6.363967 24.000000 6.363963 -v 5.000138 24.000000 7.483229 -v 3.444156 24.000000 8.314919 -v 1.755817 24.000000 8.827070 -v 0.000003 24.000000 9.000002 -v -1.755810 24.000000 8.827069 -v -3.444149 24.000000 8.314917 -v -5.000130 24.000000 7.483226 -v -6.363959 24.000000 6.363959 -v -7.483224 24.000000 5.000129 -v -8.314913 24.000000 3.444147 -v -8.827063 24.000000 1.755807 -v -8.999994 24.000000 -0.000006 -v -8.827060 24.000000 -1.755820 -v -8.314906 24.000000 -3.444158 -v -7.483214 24.000000 -5.000139 -v -6.363947 24.000000 -6.363967 -v -5.000115 24.000000 -7.483231 -v -3.444133 24.000000 -8.314919 -v -1.755793 24.000000 -8.827067 -v 2.038701 26.000000 -10.249203 -v 0.000007 26.000000 -10.449997 -v 3.999049 26.000000 -9.654537 -v 5.805717 26.000000 -8.688854 -v 7.389273 26.000000 -7.389263 -v 8.688865 26.000000 -5.805706 -v 9.654549 26.000000 -3.999039 -v 10.249214 26.000000 -2.038692 -v 10.450004 26.000000 0.000002 -v 10.249214 26.000000 2.038695 -v 9.654549 26.000000 3.999043 -v 8.688865 26.000000 5.805711 -v 7.389273 26.000000 7.389268 -v 5.805716 26.000000 8.688861 -v 3.999047 26.000000 9.654545 -v 2.038698 26.000000 10.249209 -v 0.000004 26.000000 10.450003 -v -2.038691 26.000000 10.249207 -v -3.999040 26.000000 9.654542 -v -5.805707 26.000000 8.688857 -v -7.389263 26.000000 7.389264 -v -8.688853 26.000000 5.805706 -v -9.654536 26.000000 3.999037 -v -10.249200 26.000000 2.038688 -v -10.449993 26.000000 -0.000007 -v -10.249197 26.000000 -2.038702 -v -9.654529 26.000000 -3.999050 -v -8.688843 26.000000 -5.805717 -v -7.389249 26.000000 -7.389272 -v -5.805690 26.000000 -8.688862 -v -3.999021 26.000000 -9.654544 -v -2.038671 26.000000 -10.249207 -v 1.950911 28.000000 -9.807850 -v 0.000007 28.000000 -9.999997 -v 3.826842 28.000000 -9.238792 -v 5.555710 28.000000 -8.314693 -v 7.071075 28.000000 -7.071065 -v 8.314704 28.000000 -5.555699 -v 9.238802 28.000000 -3.826832 -v 9.807859 28.000000 -1.950901 -v 10.000003 28.000000 0.000002 -v 9.807860 28.000000 1.950905 -v 9.238803 28.000000 3.826835 -v 8.314704 28.000000 5.555705 -v 7.071075 28.000000 7.071070 -v 5.555709 28.000000 8.314699 -v 3.826840 28.000000 9.238799 -v 1.950908 28.000000 9.807856 -v 0.000004 28.000000 10.000002 -v -1.950900 28.000000 9.807855 -v -3.826832 28.000000 9.238796 -v -5.555700 28.000000 8.314696 -v -7.071065 28.000000 7.071066 -v -8.314693 28.000000 5.555699 -v -9.238791 28.000000 3.826830 -v -9.807847 28.000000 1.950897 -v -9.999993 28.000000 -0.000007 -v -9.807844 28.000000 -1.950911 -v -9.238784 28.000000 -3.826842 -v -8.314682 28.000000 -5.555710 -v -7.071051 28.000000 -7.071074 -v -5.555684 28.000000 -8.314701 -v -3.826813 28.000000 -9.238798 -v -1.950881 28.000000 -9.807853 -v 0.975460 31.000000 -4.903925 -v 0.000008 31.000000 -4.999999 -v 1.913425 31.000000 -4.619397 -v 2.777859 31.000000 -4.157347 -v 3.535542 31.000000 -3.535533 -v 4.157357 31.000000 -2.777850 -v 4.619406 31.000000 -1.913416 -v 4.903934 31.000000 -0.975451 -v 5.000006 31.000000 0.000001 -v 4.903935 31.000000 0.975452 -v 4.619406 31.000000 1.913418 -v 4.157357 31.000000 2.777852 -v 3.535542 31.000000 3.535535 -v 2.777859 31.000000 4.157349 -v 1.913425 31.000000 4.619399 -v 0.975459 31.000000 4.903927 -v 0.000007 31.000000 5.000000 -v -0.975445 31.000000 4.903927 -v -1.913411 31.000000 4.619398 -v -2.777845 31.000000 4.157348 -v -3.535528 31.000000 3.535533 -v -4.157342 31.000000 2.777849 -v -4.619391 31.000000 1.913415 -v -4.903919 31.000000 0.975448 -v -4.999992 31.000000 -0.000004 -v -4.903917 31.000000 -0.975456 -v -4.619387 31.000000 -1.913421 -v -4.157336 31.000000 -2.777855 -v -3.535521 31.000000 -3.535537 -v -2.777837 31.000000 -4.157351 -v -1.913402 31.000000 -4.619400 -v -0.975436 31.000000 -4.903927 -v 0.195100 32.000000 -0.980785 -v 0.000009 32.000000 -1.000000 -v 0.382693 32.000000 -0.923880 -v 0.555579 32.000000 -0.831470 -v 0.707116 32.000000 -0.707107 -v 0.831479 32.000000 -0.555570 -v 0.923889 32.000000 -0.382683 -v 0.980794 32.000000 -0.195090 -v 1.000009 32.000000 -0.000000 -v 0.980795 32.000000 0.195090 -v 0.923889 32.000000 0.382683 -v 0.831479 32.000000 0.555570 -v 0.707116 32.000000 0.707107 -v 0.555579 32.000000 0.831470 -v 0.382692 32.000000 0.923880 -v 0.195099 32.000000 0.980785 -v 0.000009 32.000000 1.000000 -v -0.195082 32.000000 0.980785 -v -0.382675 32.000000 0.923879 -v -0.555561 32.000000 0.831469 -v -0.707098 32.000000 0.707106 -v -0.831461 32.000000 0.555570 -v -0.923871 32.000000 0.382683 -v -0.980776 32.000000 0.195089 -v -0.999991 32.000000 -0.000001 -v -0.980776 32.000000 -0.195091 -v -0.923870 32.000000 -0.382684 -v -0.831460 32.000000 -0.555571 -v -0.707097 32.000000 -0.707108 -v -0.555560 32.000000 -0.831470 -v -0.382673 32.000000 -0.923880 -v -0.195080 32.000000 -0.980786 -vt 0.530549 0.164590 -vt 0.511666 0.163643 -vt 0.521050 -0.034955 -vt 0.492712 0.163326 -vt 0.473760 0.163641 -vt 0.464416 -0.034959 -vt 0.454878 0.164586 -vt 0.436165 -0.032960 -vt 0.530466 0.164544 -vt 0.511584 0.163595 -vt 0.520990 -0.034999 -vt 0.492630 0.163276 -vt 0.492677 -0.035670 -vt 0.473678 0.163590 -vt 0.454796 0.164533 -vt 0.436106 -0.033015 -vt 0.549279 -0.032970 -vt 0.530567 0.164579 -vt 0.492733 -0.035632 -vt 0.511646 0.163658 -vt 0.521031 -0.034940 -vt 0.473740 0.163656 -vt 0.464397 -0.034945 -vt 0.436145 -0.032947 -vt 0.549245 -0.033009 -vt 0.492654 0.406011 -vt 0.478473 0.406094 -vt 0.454848 0.164591 -vt 0.484783 0.841883 -vt 0.481703 0.815945 -vt 0.498141 0.815218 -vt 0.478517 0.406158 -vt 0.480864 1.033334 -vt 0.469047 1.033401 -vt 0.464335 0.406424 -vt 0.521029 0.406412 -vt 0.506854 0.406164 -vt 0.492601 0.406024 -vt 0.478419 0.406106 -vt 0.464379 0.406400 -vt 0.520980 0.406345 -vt 0.492698 0.406075 -vt 0.464248 0.406354 -vt 0.506806 0.406095 -vt 0.521088 0.406401 -vt 0.464301 0.406335 -vt 0.528333 0.932272 -vt 0.515249 0.932270 -vt 0.514645 0.840931 -vt 0.492685 1.033317 -vt 0.504528 1.033347 -vt 0.516218 1.033355 -vt 0.504401 1.033288 -vt 0.492583 1.033266 -vt 0.469077 1.033415 -vt 0.480766 1.033288 -vt 0.516301 1.033331 -vt 0.468949 1.033355 -vt 0.492666 1.033242 -vt 0.469032 1.033331 -vt 0.516241 1.033340 -vt 0.516347 1.033391 -vt 0.489116 0.932391 -vt 0.499639 0.841163 -vt 0.529638 0.841146 -vt 0.544452 0.841822 -vt 0.502170 0.932307 -vt 0.502067 0.931417 -vt 0.489014 0.931490 -vt 0.484772 0.841027 -vt 0.515252 0.932265 -vt 0.499616 0.840324 -vt 0.514609 0.840100 -vt 0.515150 0.931384 -vt 0.529588 0.840325 -vt 0.528233 0.931394 -vt 0.544387 0.841006 -vt 0.502141 0.932422 -vt 0.489088 0.932506 -vt 0.484755 0.841998 -vt 0.515223 0.932380 -vt 0.499611 0.841277 -vt 0.544446 0.841815 -vt 0.528306 0.932383 -vt 0.514619 0.841041 -vt 0.529613 0.841256 -vt 0.544428 0.841933 -vt 0.514653 0.840929 -vt 0.541383 0.932312 -vt 0.514294 0.815010 -vt 0.514115 0.784175 -vt 0.530516 0.783920 -vt 0.530451 0.815198 -vt 0.481734 0.815116 -vt 0.498149 0.814411 -vt 0.546877 0.815869 -vt 0.514282 0.814222 -vt 0.530410 0.814413 -vt 0.546808 0.815091 -vt 0.481674 0.816058 -vt 0.530447 0.815191 -vt 0.498113 0.815331 -vt 0.514273 0.815126 -vt 0.530427 0.815307 -vt 0.497702 0.783983 -vt 0.499096 0.760277 -vt 0.514093 0.760874 -vt 0.497680 0.784096 -vt 0.480598 0.783379 -vt 0.547598 0.783235 -vt 0.514094 0.784288 -vt 0.530497 0.784033 -vt 0.546852 0.815983 -vt 0.480672 0.782607 -vt 0.497751 0.783237 -vt 0.514128 0.783445 -vt 0.530493 0.783201 -vt 0.480562 0.783487 -vt 0.483887 0.758308 -vt 0.495914 0.711438 -vt 0.504773 0.711578 -vt 0.529070 0.760267 -vt 0.544188 0.758255 -vt 0.484000 0.757603 -vt 0.499171 0.759591 -vt 0.514125 0.760200 -vt 0.529050 0.759600 -vt 0.544127 0.757597 -vt 0.483856 0.758415 -vt 0.499074 0.760387 -vt 0.514074 0.760983 -vt 0.529041 0.760372 -vt 0.544161 0.758360 -vt 0.523594 0.711573 -vt 0.529972 0.661378 -vt 0.545561 0.664658 -vt 0.532448 0.711418 -vt 0.496068 0.710899 -vt 0.504878 0.711055 -vt 0.514184 0.711617 -vt 0.514245 0.711102 -vt 0.523616 0.711060 -vt 0.495882 0.711535 -vt 0.504744 0.711675 -vt 0.514158 0.711713 -vt 0.523570 0.711670 -vt 0.513848 0.660219 -vt 0.513669 0.608672 -vt 0.513828 0.659944 -vt 0.529911 0.661083 -vt 0.482091 0.664427 -vt 0.497705 0.661195 -vt 0.545452 0.664348 -vt 0.482051 0.664506 -vt 0.497671 0.661274 -vt 0.513820 0.660298 -vt 0.513851 0.660221 -vt 0.532428 0.711511 -vt 0.529950 0.661456 -vt 0.532453 0.711417 -vt 0.482323 0.664233 -vt 0.497723 0.660949 -vt 0.536884 0.609783 -vt 0.513620 0.608741 -vt 0.513592 0.578273 -vt 0.490435 0.609678 -vt 0.466382 0.613327 -vt 0.536902 0.609745 -vt 0.560895 0.613327 -vt 0.560888 0.613379 -vt 0.466576 0.613222 -vt 0.490460 0.609499 -vt 0.513658 0.608477 -vt 0.536854 0.609547 -vt 0.560808 0.613134 -vt 0.488667 0.578260 -vt 0.489455 0.552993 -vt 0.513561 0.553945 -vt 0.461659 0.578631 -vt 0.538555 0.578237 -vt 0.513596 0.578186 -vt 0.538530 0.578189 -vt 0.565552 0.578473 -vt 0.565547 0.578471 -vt 0.461750 0.578463 -vt 0.488684 0.578059 -vt 0.513584 0.578010 -vt 0.538488 0.578023 -vt 0.565480 0.578318 -vt 0.461632 0.578691 -vt 0.488649 0.578325 -vt 0.464207 0.549432 -vt 0.487190 0.475078 -vt 0.500042 0.478373 -vt 0.537671 0.552949 -vt 0.464147 0.549565 -vt 0.537673 0.552951 -vt 0.489480 0.552845 -vt 0.513557 0.553799 -vt 0.537641 0.552812 -vt 0.562948 0.549342 -vt 0.489444 0.553047 -vt 0.563007 0.549470 -vt 0.513562 0.554003 -vt 0.526690 0.478484 -vt 0.516244 0.422415 -vt 0.518946 0.421679 -vt 0.513331 0.479593 -vt 0.513332 0.479537 -vt 0.539754 0.475224 -vt 0.526709 0.478560 -vt 0.516842 0.409963 -vt 0.517872 0.420415 -vt 0.510888 0.421103 -vt 0.510606 0.422421 -vt 0.507984 0.421679 -vt 0.513413 0.422628 -vt 0.518952 0.421679 -vt 0.549263 -0.032939 -vt 0.541291 0.931450 -vt 0.541364 0.932431 -vt 0.547581 0.783348 -vt 0.547538 0.782523 -vt 0.532439 0.710900 -vt 0.545546 0.664737 -vt 0.539728 0.475174 -vt 0.509859 0.420415 -vt 0.508983 0.419540 -vt 0.508295 0.418510 -vt 0.507822 0.417367 -vt 0.507580 0.416152 -vt 0.508295 0.412556 -vt 0.507580 0.414914 -vt 0.507822 0.413700 -vt 0.508983 0.411527 -vt 0.509859 0.410651 -vt 0.510888 0.409963 -vt 0.512032 0.409490 -vt 0.513246 0.409248 -vt 0.514484 0.409248 -vt 0.515699 0.409490 -vt 0.517872 0.410651 -vt 0.518747 0.411527 -vt 0.519435 0.412556 -vt 0.519909 0.413700 -vt 0.520151 0.414914 -vt 0.520151 0.416152 -vt 0.519909 0.417367 -vt 0.519435 0.418510 -vt 0.518747 0.419540 -vt 0.516842 0.421103 -vt 0.515699 0.421577 -vt 0.514484 0.421818 -vt 0.513246 0.421818 -vt 0.512032 0.421577 -vn 0.095100 0.241400 -0.965700 -vn 0.281700 0.241400 -0.928600 -vn 0.457500 0.241400 -0.855800 -vn 0.615600 0.241400 -0.750100 -vn 0.750100 0.241400 -0.615600 -vn 0.855800 0.241400 -0.457500 -vn 0.928600 0.241400 -0.281700 -vn 0.965700 0.241400 -0.095100 -vn 0.965700 0.241400 0.095100 -vn 0.928600 0.241400 0.281700 -vn 0.855800 0.241400 0.457500 -vn 0.750100 0.241400 0.615600 -vn 0.615600 0.241400 0.750100 -vn 0.457500 0.241400 0.855800 -vn 0.281700 0.241400 0.928600 -vn 0.095100 0.241400 0.965700 -vn -0.095100 0.241400 0.965700 -vn -0.281700 0.241400 0.928600 -vn -0.457500 0.241400 0.855800 -vn -0.615600 0.241400 0.750100 -vn -0.750100 0.241400 0.615600 -vn -0.855800 0.241400 0.457500 -vn -0.928600 0.241400 0.281700 -vn -0.965700 0.241400 0.095100 -vn -0.965700 0.241400 -0.095100 -vn -0.928600 0.241400 -0.281700 -vn -0.855800 0.241400 -0.457500 -vn -0.750100 0.241400 -0.615600 -vn -0.615600 0.241400 -0.750100 -vn -0.457500 0.241400 -0.855800 -vn 0.877600 0.099000 0.469100 -vn -0.095100 0.241400 -0.965700 -vn -0.281700 0.241400 -0.928600 -vn 0.000000 -1.000000 0.000000 -vn 0.634300 0.019100 -0.772900 -vn -0.631300 0.099000 0.769200 -vn -0.631300 0.099000 -0.769200 -vn 0.952200 0.099000 -0.288900 -vn 0.097500 0.099000 0.990300 -vn -0.990300 0.099000 -0.097500 -vn 0.469100 0.099000 -0.877600 -vn 0.769200 0.099000 0.631300 -vn -0.769200 0.099000 0.631300 -vn -0.469100 0.099000 -0.877600 -vn 0.990300 0.099000 -0.097500 -vn -0.097500 0.099000 0.990300 -vn -0.952200 0.099000 -0.288900 -vn 0.631300 0.099000 -0.769200 -vn 0.631300 0.099000 0.769200 -vn -0.877600 0.099000 0.469100 -vn -0.288900 0.099000 -0.952200 -vn 0.990300 0.099000 0.097500 -vn -0.288900 0.099000 0.952200 -vn -0.877600 0.099000 -0.469100 -vn 0.769200 0.099000 -0.631300 -vn 0.469100 0.099000 0.877600 -vn -0.952200 0.099000 0.288900 -vn 0.097500 0.099000 -0.990300 -vn -0.097500 0.099000 -0.990300 -vn 0.952200 0.099000 0.288900 -vn -0.469100 0.099000 0.877600 -vn -0.769200 0.099000 -0.631300 -vn 0.877600 0.099000 -0.469100 -vn 0.288900 0.099000 0.952200 -vn -0.990300 0.099000 0.097500 -vn 0.288900 0.099000 -0.952200 -vn -0.896500 -0.349600 0.272000 -vn -0.290200 0.019100 -0.956800 -vn -0.290200 0.019100 0.956800 -vn 0.772900 0.019100 -0.634300 -vn -0.098000 0.019100 -0.995000 -vn -0.471300 0.019100 0.881800 -vn 0.881800 0.019100 -0.471300 -vn -0.634300 0.019100 0.772900 -vn 0.956800 0.019100 -0.290200 -vn -0.772900 0.019100 0.634300 -vn 0.995000 0.019100 -0.098000 -vn -0.881800 0.019100 0.471300 -vn 0.995000 0.019100 0.098000 -vn -0.956800 0.019100 0.290200 -vn 0.956800 0.019100 0.290200 -vn -0.995000 0.019100 0.098000 -vn 0.881800 0.019100 0.471300 -vn -0.995000 0.019100 -0.098000 -vn 0.772900 0.019100 0.634300 -vn -0.956800 0.019100 -0.290200 -vn 0.634300 0.019100 0.772900 -vn -0.881800 0.019100 -0.471300 -vn 0.471300 0.019100 0.881800 -vn 0.098000 0.019100 -0.995000 -vn -0.772900 0.019100 -0.634300 -vn 0.290200 0.019100 0.956800 -vn 0.290200 0.019100 -0.956800 -vn -0.634300 0.019100 -0.772900 -vn 0.098000 0.019100 0.995000 -vn 0.471300 0.019100 -0.881800 -vn -0.471300 0.019100 -0.881800 -vn -0.098000 0.019100 0.995000 -vn 0.724200 -0.349600 -0.594400 -vn -0.932400 -0.349600 0.091800 -vn 0.826300 -0.349600 -0.441600 -vn -0.932400 -0.349600 -0.091800 -vn 0.896500 -0.349600 -0.272000 -vn -0.896500 -0.349600 -0.272000 -vn 0.932400 -0.349600 -0.091800 -vn -0.826300 -0.349600 -0.441600 -vn 0.932400 -0.349600 0.091800 -vn -0.724200 -0.349600 -0.594400 -vn 0.896500 -0.349600 0.272000 -vn -0.594400 -0.349600 -0.724200 -vn 0.826300 -0.349600 0.441600 -vn -0.441600 -0.349600 -0.826300 -vn -0.091800 -0.349600 0.932400 -vn 0.724200 -0.349600 0.594400 -vn -0.272000 -0.349600 -0.896500 -vn -0.272000 -0.349600 0.896500 -vn 0.594400 -0.349600 0.724200 -vn -0.091800 -0.349600 -0.932400 -vn -0.441600 -0.349600 0.826300 -vn 0.441600 -0.349600 0.826300 -vn 0.091800 -0.349600 -0.932400 -vn -0.594400 -0.349600 0.724200 -vn 0.272000 -0.349600 0.896500 -vn 0.272000 -0.349600 -0.896500 -vn -0.724200 -0.349600 0.594400 -vn 0.091800 -0.349600 0.932400 -vn 0.441600 -0.349600 -0.826300 -vn -0.826300 -0.349600 0.441600 -vn 0.594400 -0.349600 -0.724200 -vn 0.249200 -0.512700 0.821600 -vn -0.290300 0.000000 0.956900 -vn 0.249200 -0.512700 -0.821600 -vn -0.544700 -0.512700 -0.663700 -vn 0.084200 -0.512700 0.854500 -vn 0.404700 -0.512700 -0.757200 -vn -0.404700 -0.512700 -0.757200 -vn -0.084200 -0.512700 0.854500 -vn 0.544700 -0.512700 -0.663700 -vn -0.249200 -0.512700 -0.821600 -vn -0.249200 -0.512700 0.821600 -vn 0.663700 -0.512700 -0.544700 -vn -0.084200 -0.512700 -0.854500 -vn -0.404700 -0.512700 0.757200 -vn 0.757200 -0.512700 -0.404700 -vn -0.544700 -0.512700 0.663700 -vn 0.821600 -0.512700 -0.249200 -vn -0.663700 -0.512700 0.544700 -vn 0.854500 -0.512700 -0.084200 -vn -0.757200 -0.512700 0.404700 -vn 0.854500 -0.512700 0.084200 -vn -0.821600 -0.512700 0.249200 -vn 0.821600 -0.512700 0.249200 -vn -0.854500 -0.512700 0.084200 -vn 0.757200 -0.512700 0.404700 -vn -0.854500 -0.512700 -0.084200 -vn 0.663700 -0.512700 0.544700 -vn -0.821600 -0.512700 -0.249200 -vn 0.544700 -0.512700 0.663700 -vn -0.757200 -0.512700 -0.404700 -vn 0.404700 -0.512700 0.757200 -vn 0.084200 -0.512700 -0.854500 -vn -0.663700 -0.512700 -0.544700 -vn -0.692100 0.445500 0.568000 -vn 0.773000 -0.000000 -0.634400 -vn -0.098000 0.000000 -0.995200 -vn -0.471400 0.000000 0.881900 -vn 0.881900 0.000000 -0.471400 -vn -0.634400 0.000000 0.773000 -vn 0.956900 0.000000 -0.290300 -vn -0.773000 0.000000 0.634400 -vn 0.995200 0.000000 -0.098000 -vn -0.881900 0.000000 0.471400 -vn 0.995200 0.000000 0.098000 -vn -0.956900 0.000000 0.290300 -vn 0.956900 0.000000 0.290300 -vn -0.995200 0.000000 0.098000 -vn 0.881900 0.000000 0.471400 -vn -0.995200 0.000000 -0.098000 -vn 0.773000 0.000000 0.634400 -vn -0.956900 0.000000 -0.290300 -vn 0.634400 -0.000000 0.773000 -vn -0.881900 0.000000 -0.471400 -vn 0.471400 -0.000000 0.881900 -vn 0.098000 -0.000000 -0.995200 -vn -0.773000 0.000000 -0.634400 -vn 0.290300 -0.000000 0.956900 -vn 0.290300 -0.000000 -0.956900 -vn -0.634400 0.000000 -0.773000 -vn 0.098000 -0.000000 0.995200 -vn 0.471400 -0.000000 -0.881900 -vn -0.471400 0.000000 -0.881900 -vn -0.098000 0.000000 0.995200 -vn 0.634400 -0.000000 -0.773000 -vn -0.290300 0.000000 -0.956900 -vn 0.316100 -0.948200 -0.031100 -vn 0.891000 0.445500 -0.087800 -vn -0.789600 0.445500 0.422000 -vn 0.891000 0.445500 0.087800 -vn -0.856700 0.445500 0.259900 -vn 0.856700 0.445500 0.259900 -vn -0.891000 0.445500 0.087800 -vn 0.789600 0.445500 0.422000 -vn -0.891000 0.445500 -0.087800 -vn 0.692100 0.445500 0.568000 -vn -0.856700 0.445500 -0.259900 -vn 0.568000 0.445500 0.692100 -vn -0.789600 0.445500 -0.422000 -vn 0.422000 0.445500 0.789600 -vn 0.087800 0.445500 -0.891000 -vn -0.692100 0.445500 -0.568000 -vn 0.259900 0.445500 0.856700 -vn 0.259900 0.445500 -0.856700 -vn -0.568000 0.445500 -0.692100 -vn 0.087800 0.445500 0.891000 -vn 0.422000 0.445500 -0.789600 -vn -0.422000 0.445500 -0.789600 -vn -0.087800 0.445500 0.891000 -vn 0.568000 0.445500 -0.692100 -vn -0.259900 0.445500 -0.856700 -vn -0.259900 0.445500 0.856700 -vn 0.692100 0.445500 -0.568000 -vn -0.087800 0.445500 -0.891000 -vn -0.422000 0.445500 0.789600 -vn 0.789600 0.445500 -0.422000 -vn -0.568000 0.445500 0.692100 -vn 0.856700 0.445500 -0.259900 -vn -0.237100 -0.963200 -0.126700 -vn -0.280100 -0.948200 -0.149700 -vn 0.316100 -0.948200 0.031100 -vn -0.245500 -0.948200 -0.201500 -vn 0.303900 -0.948200 0.092200 -vn -0.201500 -0.948200 -0.245500 -vn 0.280100 -0.948200 0.149700 -vn -0.149700 -0.948200 -0.280100 -vn -0.031100 -0.948200 0.316100 -vn 0.245500 -0.948200 0.201500 -vn -0.092200 -0.948200 -0.303900 -vn -0.092200 -0.948200 0.303900 -vn 0.201500 -0.948200 0.245500 -vn -0.031100 -0.948200 -0.316100 -vn -0.149700 -0.948200 0.280100 -vn 0.149700 -0.948200 0.280100 -vn 0.031100 -0.948200 -0.316100 -vn -0.201500 -0.948200 0.245500 -vn 0.092200 -0.948200 0.303900 -vn 0.092200 -0.948200 -0.303900 -vn -0.245500 -0.948200 0.201500 -vn 0.031100 -0.948200 0.316100 -vn 0.149700 -0.948200 -0.280100 -vn -0.280100 -0.948200 0.149700 -vn 0.201500 -0.948200 -0.245500 -vn -0.303900 -0.948200 0.092200 -vn 0.245500 -0.948200 -0.201500 -vn -0.316100 -0.948200 0.031100 -vn 0.280100 -0.948200 -0.149700 -vn -0.316100 -0.948200 -0.031100 -vn 0.303900 -0.948200 -0.092200 -vn -0.303900 -0.948200 -0.092200 -vn 0.382300 -0.585100 -0.715200 -vn 0.126700 -0.963200 0.237100 -vn 0.026400 -0.963200 -0.267600 -vn -0.207800 -0.963200 -0.170600 -vn 0.078000 -0.963200 0.257300 -vn 0.078000 -0.963200 -0.257300 -vn -0.170600 -0.963200 -0.207800 -vn 0.026400 -0.963200 0.267600 -vn 0.126700 -0.963200 -0.237100 -vn -0.126700 -0.963200 -0.237100 -vn -0.026400 -0.963200 0.267500 -vn 0.170600 -0.963200 -0.207800 -vn -0.078000 -0.963200 -0.257300 -vn -0.078000 -0.963200 0.257300 -vn 0.207800 -0.963200 -0.170600 -vn -0.026400 -0.963200 -0.267600 -vn -0.126700 -0.963200 0.237100 -vn 0.237100 -0.963200 -0.126700 -vn -0.170600 -0.963200 0.207800 -vn 0.257300 -0.963200 -0.078000 -vn -0.207800 -0.963200 0.170600 -vn 0.267600 -0.963200 -0.026400 -vn -0.237100 -0.963200 0.126700 -vn 0.267600 -0.963200 0.026400 -vn -0.257300 -0.963200 0.078000 -vn 0.257300 -0.963200 0.078000 -vn -0.267600 -0.963200 0.026400 -vn 0.237100 -0.963200 0.126700 -vn -0.267600 -0.963200 -0.026400 -vn 0.207800 -0.963200 0.170600 -vn -0.257300 -0.963200 -0.078000 -vn 0.170600 -0.963200 0.207800 -vn 0.860600 0.218500 -0.460000 -vn -0.382300 -0.585100 -0.715200 -vn -0.079500 -0.585100 0.807000 -vn 0.514500 -0.585100 -0.626900 -vn -0.235400 -0.585100 -0.776000 -vn -0.235400 -0.585100 0.776000 -vn 0.626900 -0.585100 -0.514500 -vn -0.079500 -0.585100 -0.807000 -vn -0.382300 -0.585100 0.715200 -vn 0.715200 -0.585100 -0.382300 -vn -0.514500 -0.585100 0.626900 -vn 0.776000 -0.585100 -0.235400 -vn -0.626900 -0.585100 0.514500 -vn 0.807000 -0.585100 -0.079500 -vn -0.715200 -0.585100 0.382300 -vn 0.807000 -0.585100 0.079500 -vn -0.776000 -0.585100 0.235400 -vn 0.776000 -0.585100 0.235400 -vn -0.807000 -0.585100 0.079500 -vn 0.715200 -0.585100 0.382300 -vn -0.807000 -0.585100 -0.079500 -vn 0.626900 -0.585100 0.514500 -vn -0.776000 -0.585100 -0.235400 -vn 0.514500 -0.585100 0.626900 -vn -0.715200 -0.585100 -0.382300 -vn 0.382300 -0.585100 0.715200 -vn 0.079500 -0.585100 -0.807000 -vn -0.626900 -0.585100 -0.514500 -vn 0.235400 -0.585100 0.776000 -vn 0.235400 -0.585100 -0.776000 -vn -0.514500 -0.585100 -0.626900 -vn 0.079500 -0.585100 0.807000 -vn 0.513800 0.856400 0.050600 -vn -0.619100 0.218500 0.754300 -vn 0.933800 0.218500 -0.283300 -vn -0.754300 0.218500 0.619100 -vn 0.971100 0.218500 -0.095600 -vn -0.860600 0.218500 0.460000 -vn 0.971100 0.218500 0.095600 -vn -0.933800 0.218500 0.283300 -vn 0.933800 0.218500 0.283300 -vn -0.971100 0.218500 0.095600 -vn 0.860600 0.218500 0.460000 -vn -0.971100 0.218500 -0.095600 -vn 0.754300 0.218500 0.619100 -vn -0.933800 0.218500 -0.283300 -vn 0.619100 0.218500 0.754300 -vn -0.860600 0.218500 -0.460000 -vn 0.460000 0.218500 0.860600 -vn 0.095600 0.218500 -0.971100 -vn -0.754300 0.218500 -0.619100 -vn 0.283300 0.218500 0.933800 -vn 0.283300 0.218500 -0.933800 -vn -0.619100 0.218500 -0.754300 -vn 0.095600 0.218500 0.971100 -vn 0.460000 0.218500 -0.860600 -vn -0.460000 0.218500 -0.860600 -vn -0.095600 0.218500 0.971100 -vn 0.619100 0.218500 -0.754300 -vn -0.283300 0.218500 -0.933800 -vn -0.283300 0.218500 0.933800 -vn 0.754300 0.218500 -0.619100 -vn -0.095600 0.218500 -0.971100 -vn -0.460000 0.218500 0.860600 -vn 0.188300 0.969900 0.154600 -vn -0.494100 0.856400 0.149900 -vn 0.494100 0.856400 0.149900 -vn -0.513800 0.856400 0.050600 -vn 0.455400 0.856400 0.243400 -vn -0.513800 0.856400 -0.050600 -vn 0.399100 0.856400 0.327600 -vn -0.494100 0.856400 -0.149900 -vn 0.327600 0.856400 0.399100 -vn -0.455400 0.856400 -0.243400 -vn 0.243400 0.856400 0.455400 -vn 0.050600 0.856400 -0.513800 -vn -0.399100 0.856400 -0.327600 -vn 0.149900 0.856400 0.494100 -vn 0.149900 0.856400 -0.494100 -vn -0.327600 0.856400 -0.399100 -vn 0.050600 0.856400 0.513800 -vn 0.243400 0.856400 -0.455400 -vn -0.243400 0.856400 -0.455400 -vn -0.050600 0.856400 0.513800 -vn 0.327600 0.856400 -0.399100 -vn -0.149900 0.856400 -0.494100 -vn -0.149900 0.856400 0.494100 -vn 0.399100 0.856400 -0.327600 -vn -0.050600 0.856400 -0.513800 -vn -0.243400 0.856400 0.455400 -vn 0.455400 0.856400 -0.243400 -vn -0.327600 0.856400 0.399100 -vn 0.494100 0.856400 -0.149900 -vn -0.399100 0.856400 0.327600 -vn 0.513800 0.856400 -0.050600 -vn -0.455400 0.856400 0.243400 -vn 0.000000 1.000000 -0.000000 -vn -0.233100 0.969900 -0.070700 -vn 0.154600 0.969900 0.188300 -vn -0.214900 0.969900 -0.114900 -vn 0.114900 0.969900 0.214900 -vn 0.023900 0.969900 -0.242500 -vn -0.188300 0.969900 -0.154600 -vn 0.070700 0.969900 0.233100 -vn 0.070700 0.969900 -0.233200 -vn -0.154600 0.969900 -0.188300 -vn 0.023900 0.969900 0.242500 -vn 0.114900 0.969900 -0.214900 -vn -0.114900 0.969900 -0.214900 -vn -0.023900 0.969900 0.242500 -vn 0.154600 0.969900 -0.188300 -vn -0.070700 0.969900 -0.233100 -vn -0.070700 0.969900 0.233100 -vn 0.188300 0.969900 -0.154600 -vn -0.023900 0.969900 -0.242500 -vn -0.114900 0.969900 0.214900 -vn 0.214900 0.969900 -0.114800 -vn -0.154600 0.969900 0.188400 -vn 0.233100 0.969900 -0.070700 -vn -0.188300 0.969900 0.154600 -vn 0.242500 0.969900 -0.023900 -vn -0.214900 0.969900 0.114800 -vn 0.242500 0.969900 0.023900 -vn -0.233100 0.969900 0.070700 -vn 0.233100 0.969900 0.070700 -vn -0.242500 0.969900 0.023900 -vn 0.214900 0.969900 0.114900 -vn -0.242500 0.969900 -0.023900 -vn -0.457400 0.241400 -0.855800 -vn -0.026400 -0.963200 0.267600 -vn 0.000000 1.000000 0.000100 -vn 0.000000 1.000000 -0.000200 -vn 0.070700 0.969900 0.233200 -vn 0.070700 0.969900 -0.233100 -vn 0.214900 0.969900 -0.114900 -vn -0.154600 0.969900 0.188300 -vn -0.214900 0.969900 0.114900 -vn 0.214900 0.969900 0.114800 -s off -f 2/1/1 4/2/1 3/3/1 -f 3/3/2 4/2/2 6/4/2 -f 6/4/3 8/5/3 7/6/3 -f 8/5/4 10/7/4 9/8/4 -f 10/9/5 12/10/5 11/11/5 -f 11/11/6 12/10/6 14/12/6 -f 13/13/7 14/12/7 16/14/7 -f 16/14/8 18/15/8 17/16/8 -f 18/9/9 20/10/9 19/11/9 -f 19/11/10 20/10/10 22/4/10 -f 22/4/11 24/14/11 23/6/11 -f 24/14/12 26/15/12 25/16/12 -f 25/17/13 26/18/13 28/2/13 -f 27/11/14 28/2/14 30/4/14 -f 29/19/15 30/4/15 32/5/15 -f 31/6/16 32/5/16 34/7/16 -f 34/1/17 36/20/17 35/21/17 -f 35/21/18 36/20/18 38/4/18 -f 38/4/19 40/22/19 39/23/19 -f 40/22/20 42/7/20 41/24/20 -f 42/9/21 44/10/21 43/11/21 -f 44/10/22 46/4/22 45/13/22 -f 46/4/23 48/14/23 47/6/23 -f 48/14/24 50/15/24 49/16/24 -f 49/25/25 50/9/25 52/10/25 -f 52/10/26 54/4/26 53/13/26 -f 54/4/27 56/14/27 55/6/27 -f 56/14/28 58/15/28 57/16/28 -f 58/1/29 60/10/29 59/21/29 -f 60/10/30 62/4/30 61/19/30 -f 22/4/31 75/26/31 76/27/31 -f 63/6/32 64/14/32 2/28/32 -f 62/4/33 64/14/33 63/6/33 -f 149/29/34 181/30/34 182/31/34 -f 68/32/35 100/33/35 101/34/35 -f 40/22/36 84/32/36 85/35/36 -f 58/1/37 93/36/37 94/37/37 -f 14/12/38 71/38/38 72/39/38 -f 32/5/39 80/32/39 81/40/39 -f 52/10/40 50/9/40 89/41/40 -f 8/5/41 6/4/41 67/42/41 -f 26/15/42 24/14/42 76/27/42 -f 44/10/43 42/9/43 85/41/43 -f 60/10/44 94/37/44 95/42/44 -f 16/14/45 72/39/45 73/43/45 -f 36/20/46 34/1/46 81/36/46 -f 52/10/47 90/44/47 91/38/47 -f 8/5/48 68/32/48 69/35/48 -f 28/2/49 26/18/49 77/45/49 -f 44/10/50 86/44/50 87/26/50 -f 62/4/51 95/42/51 96/32/51 -f 18/9/52 73/41/52 74/44/52 -f 36/20/53 82/37/53 83/42/53 -f 54/4/54 91/38/54 92/39/54 -f 10/9/55 69/36/55 70/44/55 -f 28/2/56 78/37/56 79/42/56 -f 46/4/57 87/26/57 88/27/57 -f 2/1/58 66/45/58 65/37/58 -f 64/14/59 96/32/59 66/35/59 -f 20/10/60 74/44/60 75/26/60 -f 38/4/61 83/42/61 84/32/61 -f 58/15/62 56/14/62 92/39/62 -f 12/10/63 70/44/63 71/38/63 -f 32/5/64 30/4/64 79/42/64 -f 48/14/65 88/27/65 89/46/65 -f 4/2/66 65/37/66 67/42/66 -f 104/47/67 103/48/67 135/49/67 -f 95/42/68 127/50/68 128/33/68 -f 83/42/69 82/37/69 114/51/69 -f 69/36/70 101/52/70 102/53/70 -f 66/35/71 96/32/71 128/33/71 -f 83/42/72 115/50/72 116/33/72 -f 70/44/73 102/53/73 103/54/73 -f 84/32/74 116/33/74 117/55/74 -f 71/38/75 103/54/75 104/56/75 -f 85/41/76 117/57/76 118/51/76 -f 72/39/77 104/56/77 105/58/77 -f 86/44/78 118/51/78 119/59/78 -f 73/41/79 105/57/79 106/51/79 -f 87/26/80 119/59/80 120/56/80 -f 74/44/81 106/51/81 107/50/81 -f 88/27/82 120/56/82 121/60/82 -f 75/26/83 107/50/83 108/56/83 -f 89/41/84 121/61/84 122/53/84 -f 76/27/85 108/56/85 109/60/85 -f 90/44/86 122/53/86 123/54/86 -f 77/45/87 109/62/87 110/51/87 -f 91/38/88 123/54/88 124/56/88 -f 78/37/89 110/51/89 111/50/89 -f 66/45/90 98/62/90 97/51/90 -f 92/39/91 124/56/91 125/60/91 -f 79/42/92 111/50/92 112/33/92 -f 65/37/93 97/51/93 99/50/93 -f 93/36/94 125/62/94 126/51/94 -f 80/32/95 112/33/95 113/55/95 -f 67/42/96 99/50/96 100/33/96 -f 94/37/97 126/51/97 127/50/97 -f 81/36/98 113/62/98 114/51/98 -f 117/63/99 149/29/99 150/64/99 -f 104/47/100 136/65/100 137/66/100 -f 118/67/101 150/64/101 151/49/101 -f 106/68/102 105/69/102 137/70/102 -f 119/71/103 151/49/103 152/65/103 -f 106/68/104 138/72/104 139/73/104 -f 120/47/105 152/65/105 153/66/105 -f 107/74/106 139/73/106 140/75/106 -f 122/67/107 121/63/107 153/29/107 -f 108/76/108 140/75/108 141/77/108 -f 123/71/109 122/67/109 154/64/109 -f 109/63/110 141/29/110 142/64/110 -f 124/47/111 123/71/111 155/49/111 -f 110/67/112 142/64/112 143/49/112 -f 97/78/113 98/79/113 130/80/113 -f 124/47/114 156/65/114 157/66/114 -f 111/48/115 143/49/115 144/65/115 -f 99/81/116 97/78/116 129/82/116 -f 126/67/117 125/63/117 157/29/117 -f 112/47/118 144/65/118 145/83/118 -f 100/84/119 99/81/119 131/85/119 -f 127/71/120 126/67/120 158/64/120 -f 114/67/121 113/63/121 145/29/121 -f 100/84/122 132/86/122 133/87/122 -f 127/71/123 159/88/123 160/65/123 -f 115/48/124 114/67/124 146/64/124 -f 101/63/125 133/29/125 134/64/125 -f 128/47/126 160/65/126 130/66/126 -f 115/48/127 147/49/127 148/65/127 -f 102/67/128 134/64/128 135/49/128 -f 117/89/129 116/47/129 148/65/129 -f 175/90/130 207/91/130 208/92/130 -f 137/66/34 136/65/34 168/93/34 -f 150/64/34 182/31/34 183/90/34 -f 138/72/34 137/70/34 169/94/34 -f 151/49/34 183/90/34 184/93/34 -f 139/73/34 138/72/34 170/95/34 -f 152/65/34 184/93/34 185/96/34 -f 140/75/34 139/73/34 171/97/34 -f 153/29/34 185/30/34 186/31/34 -f 140/75/34 172/98/34 173/99/34 -f 154/64/34 186/31/34 187/90/34 -f 141/29/34 173/30/34 174/31/34 -f 155/49/34 187/90/34 188/93/34 -f 142/64/34 174/31/34 175/90/34 -f 129/82/34 130/80/34 162/100/34 -f 157/66/34 156/65/34 188/93/34 -f 143/49/34 175/90/34 176/101/34 -f 131/85/34 129/82/34 161/102/34 -f 158/64/34 157/29/34 189/30/34 -f 144/65/34 176/101/34 177/96/34 -f 132/86/34 131/85/34 163/103/34 -f 159/88/34 158/64/34 190/31/34 -f 145/29/34 177/30/34 178/31/34 -f 133/87/34 132/86/34 164/104/34 -f 159/88/34 191/90/34 192/93/34 -f 146/64/34 178/31/34 179/90/34 -f 134/64/34 133/29/34 165/30/34 -f 130/66/34 160/65/34 192/93/34 -f 147/49/34 179/90/34 180/101/34 -f 134/64/34 166/31/34 167/90/34 -f 148/65/34 180/101/34 181/96/34 -f 136/65/34 135/49/34 167/90/34 -f 210/105/131 242/106/131 243/107/131 -f 163/103/132 161/102/132 193/108/132 -f 190/31/133 189/30/133 221/109/133 -f 176/101/134 208/92/134 209/110/134 -f 163/103/135 195/111/135 196/112/135 -f 190/31/136 222/105/136 223/91/136 -f 178/31/137 177/30/137 209/109/137 -f 165/113/138 164/104/138 196/112/138 -f 191/90/139 223/91/139 224/92/139 -f 179/90/140 178/31/140 210/105/140 -f 166/31/141 165/30/141 197/109/141 -f 192/93/142 224/92/142 194/110/142 -f 179/90/143 211/91/143 212/92/143 -f 167/90/144 166/31/144 198/105/144 -f 181/96/145 180/101/145 212/92/145 -f 168/93/146 167/90/146 199/91/146 -f 181/30/147 213/109/147 214/105/147 -f 169/96/148 168/93/148 200/92/148 -f 183/90/149 182/31/149 214/105/149 -f 169/94/150 201/114/150 202/115/150 -f 183/90/151 215/91/151 216/92/151 -f 171/97/152 170/95/152 202/115/152 -f 185/96/153 184/93/153 216/92/153 -f 171/97/154 203/116/154 204/117/154 -f 186/31/155 185/30/155 217/109/155 -f 173/99/156 172/98/156 204/117/156 -f 187/90/157 186/31/157 218/105/157 -f 174/31/158 173/30/158 205/109/158 -f 188/93/159 187/90/159 219/91/159 -f 175/90/160 174/31/160 206/105/160 -f 161/102/161 162/100/161 194/118/161 -f 189/96/162 188/93/162 220/92/162 -f 245/119/163 277/120/163 278/121/163 -f 197/109/164 229/119/164 230/106/164 -f 224/92/165 256/122/165 226/123/165 -f 211/91/166 243/107/166 244/122/166 -f 198/105/167 230/106/167 231/107/167 -f 212/92/168 244/122/168 245/123/168 -f 199/91/169 231/107/169 232/122/169 -f 213/109/170 245/119/170 246/106/170 -f 200/92/171 232/122/171 233/123/171 -f 215/91/172 214/105/172 246/106/172 -f 201/114/173 233/124/173 234/125/173 -f 215/91/174 247/107/174 248/122/174 -f 202/115/175 234/125/175 235/126/175 -f 217/110/176 216/92/176 248/122/176 -f 203/116/177 235/126/177 236/127/177 -f 218/105/178 217/109/178 249/119/178 -f 204/117/179 236/127/179 237/128/179 -f 218/105/180 250/106/180 251/107/180 -f 205/109/181 237/119/181 238/106/181 -f 219/91/182 251/107/182 252/122/182 -f 206/105/183 238/106/183 239/107/183 -f 194/118/184 226/129/184 225/130/184 -f 221/110/185 220/92/185 252/122/185 -f 207/91/186 239/107/186 240/122/186 -f 193/108/187 225/130/187 227/131/187 -f 222/105/188 221/109/188 253/119/188 -f 208/92/189 240/122/189 241/123/189 -f 195/111/190 227/131/190 228/132/190 -f 222/105/191 254/106/191 255/107/191 -f 209/109/192 241/119/192 242/106/192 -f 196/112/193 228/132/193 229/133/193 -f 223/91/194 255/107/194 256/122/194 -f 280/134/195 312/135/195 313/136/195 -f 232/122/196 264/134/196 265/137/196 -f 247/107/197 246/106/197 278/121/197 -f 233/124/198 265/138/198 266/139/198 -f 247/107/199 279/140/199 280/134/199 -f 235/126/200 234/125/200 266/139/200 -f 248/122/201 280/134/201 281/137/201 -f 235/126/202 267/141/202 268/142/202 -f 250/106/203 249/119/203 281/120/203 -f 237/128/204 236/127/204 268/142/204 -f 250/106/205 282/121/205 283/140/205 -f 237/119/206 269/120/206 270/121/206 -f 252/122/207 251/107/207 283/140/207 -f 238/106/208 270/121/208 271/140/208 -f 226/129/209 258/143/209 257/144/209 -f 253/123/210 252/122/210 284/134/210 -f 239/107/211 271/140/211 272/134/211 -f 225/130/212 257/144/212 259/145/212 -f 253/119/213 285/120/213 286/121/213 -f 240/122/214 272/134/214 273/137/214 -f 228/132/215 227/131/215 259/145/215 -f 255/107/216 254/106/216 286/121/216 -f 241/119/217 273/120/217 274/121/217 -f 229/133/218 228/132/218 260/146/218 -f 255/107/219 287/140/219 288/134/219 -f 242/106/220 274/121/220 275/140/220 -f 229/119/221 261/120/221 262/121/221 -f 226/123/222 256/122/222 288/134/222 -f 243/107/223 275/140/223 276/134/223 -f 231/107/224 230/106/224 262/121/224 -f 245/123/225 244/122/225 276/134/225 -f 231/107/226 263/140/226 264/134/226 -f 316/135/227 315/147/227 347/148/227 -f 267/141/228 299/149/228 300/150/228 -f 281/120/229 313/151/229 314/152/229 -f 268/142/230 300/150/230 301/153/230 -f 282/121/231 314/152/231 315/147/231 -f 269/120/232 301/151/232 302/152/232 -f 283/140/233 315/147/233 316/135/233 -f 270/121/234 302/152/234 303/147/234 -f 258/143/235 290/154/235 289/155/235 -f 284/134/236 316/135/236 317/136/236 -f 271/140/237 303/147/237 304/135/237 -f 259/145/238 257/144/238 289/155/238 -f 286/121/239 285/120/239 317/151/239 -f 272/134/240 304/135/240 305/136/240 -f 260/146/241 259/145/241 291/156/241 -f 286/121/242 318/152/242 319/157/242 -f 273/120/243 305/151/243 306/152/243 -f 261/158/244 260/146/244 292/159/244 -f 287/140/245 319/157/245 320/135/245 -f 274/121/246 306/152/246 307/147/246 -f 262/121/247 261/120/247 293/151/247 -f 258/160/248 288/134/248 320/135/248 -f 275/140/249 307/147/249 308/135/249 -f 262/121/250 294/152/250 295/147/250 -f 277/137/251 276/134/251 308/135/251 -f 263/140/252 295/147/252 296/135/252 -f 277/120/253 309/151/253 310/152/253 -f 264/134/254 296/135/254 297/136/254 -f 278/121/255 310/152/255 311/147/255 -f 266/139/256 265/138/256 297/161/256 -f 279/140/257 311/147/257 312/135/257 -f 267/141/258 266/139/258 298/162/258 -f 324/163/259 323/164/259 355/165/259 -f 303/147/260 302/152/260 334/166/260 -f 290/154/261 322/167/261 321/166/261 -f 316/135/262 348/168/262 349/169/262 -f 303/147/263 335/148/263 336/168/263 -f 291/156/264 289/155/264 321/166/264 -f 317/151/265 349/167/265 350/166/265 -f 304/135/266 336/168/266 337/169/266 -f 291/156/267 323/164/267 324/163/267 -f 318/152/268 350/166/268 351/148/268 -f 305/151/269 337/167/269 338/166/269 -f 292/159/270 324/163/270 325/170/270 -f 320/135/271 319/157/271 351/148/271 -f 306/152/272 338/166/272 339/148/272 -f 294/152/273 293/151/273 325/167/273 -f 320/135/274 352/168/274 322/169/274 -f 307/147/275 339/148/275 340/168/275 -f 294/152/276 326/166/276 327/148/276 -f 308/135/277 340/168/277 341/169/277 -f 296/135/278 295/147/278 327/148/278 -f 309/151/279 341/167/279 342/166/279 -f 296/135/280 328/168/280 329/169/280 -f 311/147/281 310/152/281 342/166/281 -f 298/162/282 297/161/282 329/171/282 -f 311/147/283 343/148/283 344/168/283 -f 298/162/284 330/172/284 331/173/284 -f 312/135/285 344/168/285 345/169/285 -f 300/150/286 299/149/286 331/173/286 -f 313/151/287 345/167/287 346/166/287 -f 300/150/288 332/174/288 333/175/288 -f 314/152/289 346/166/289 347/148/289 -f 301/151/290 333/167/290 334/166/290 -f 358/176/291 390/177/291 391/178/291 -f 351/148/292 350/166/292 382/176/292 -f 337/167/293 369/179/293 370/176/293 -f 325/170/294 324/163/294 356/180/294 -f 352/168/295 351/148/295 383/181/295 -f 339/148/296 338/166/296 370/176/296 -f 326/166/297 325/167/297 357/179/297 -f 352/168/298 384/182/298 354/183/298 -f 339/148/299 371/181/299 372/182/299 -f 326/166/300 358/176/300 359/181/300 -f 340/168/301 372/182/301 373/184/301 -f 328/168/302 327/148/302 359/181/302 -f 341/167/303 373/179/303 374/176/303 -f 328/168/304 360/182/304 361/184/304 -f 342/166/305 374/176/305 375/181/305 -f 330/172/306 329/171/306 361/185/306 -f 343/148/307 375/181/307 376/182/307 -f 330/172/308 362/186/308 363/187/308 -f 344/168/309 376/182/309 377/184/309 -f 331/173/310 363/187/310 364/188/310 -f 345/167/311 377/179/311 378/176/311 -f 332/174/312 364/188/312 365/189/312 -f 346/166/313 378/176/313 379/181/313 -f 334/166/314 333/167/314 365/179/314 -f 347/148/315 379/181/315 380/182/315 -f 334/166/316 366/176/316 367/181/316 -f 322/167/317 354/190/317 353/191/317 -f 348/168/318 380/182/318 381/183/318 -f 335/148/319 367/181/319 368/182/319 -f 321/166/320 353/191/320 355/165/320 -f 349/167/321 381/179/321 382/176/321 -f 336/168/322 368/182/322 369/184/322 -f 393/192/323 425/193/323 426/194/323 -f 373/184/324 372/182/324 404/195/324 -f 360/182/325 359/181/325 391/178/325 -f 374/176/326 373/179/326 405/196/326 -f 361/184/327 360/182/327 392/197/327 -f 375/181/328 374/176/328 406/177/328 -f 361/185/329 393/192/329 394/198/329 -f 375/181/330 407/178/330 408/195/330 -f 362/186/331 394/198/331 395/199/331 -f 377/184/332 376/182/332 408/195/332 -f 363/187/333 395/199/333 396/200/333 -f 377/179/334 409/196/334 410/177/334 -f 364/188/335 396/200/335 397/201/335 -f 378/176/336 410/177/336 411/178/336 -f 366/176/337 365/179/337 397/196/337 -f 380/182/338 379/181/338 411/178/338 -f 367/181/339 366/176/339 398/177/339 -f 354/190/340 386/196/340 385/202/340 -f 380/182/341 412/195/341 413/203/341 -f 368/182/342 367/181/342 399/178/342 -f 353/191/343 385/202/343 387/204/343 -f 382/176/344 381/179/344 413/196/344 -f 369/184/345 368/182/345 400/195/345 -f 356/180/346 355/165/346 387/204/346 -f 382/176/347 414/177/347 415/178/347 -f 370/176/348 369/179/348 401/196/348 -f 356/180/349 388/197/349 389/203/349 -f 384/182/350 383/181/350 415/178/350 -f 370/176/351 402/177/351 403/178/351 -f 357/179/352 389/196/352 390/177/352 -f 354/183/353 384/182/353 416/197/353 -f 371/181/354 403/178/354 404/195/354 -f 428/205/355 460/206/355 461/207/355 -f 407/178/356 439/208/356 440/205/356 -f 394/198/357 426/194/357 427/209/357 -f 408/195/358 440/205/358 441/210/358 -f 395/199/359 427/209/359 428/205/359 -f 410/177/360 409/196/360 441/193/360 -f 397/201/361 396/200/361 428/205/361 -f 411/178/362 410/177/362 442/194/362 -f 397/196/363 429/193/363 430/194/363 -f 412/195/364 411/178/364 443/208/364 -f 398/177/365 430/194/365 431/208/365 -f 385/202/366 386/196/366 418/193/366 -f 412/195/367 444/205/367 445/210/367 -f 400/195/368 399/178/368 431/208/368 -f 385/202/369 417/194/369 419/208/369 -f 413/196/370 445/193/370 446/194/370 -f 400/195/371 432/205/371 433/210/371 -f 387/204/372 419/208/372 420/211/372 -f 414/177/373 446/194/373 447/208/373 -f 401/196/374 433/193/374 434/194/374 -f 388/197/375 420/211/375 421/210/375 -f 415/178/376 447/208/376 448/205/376 -f 402/177/377 434/194/377 435/208/377 -f 389/196/378 421/193/378 422/194/378 -f 416/197/379 448/205/379 418/210/379 -f 403/178/380 435/208/380 436/205/380 -f 391/178/381 390/177/381 422/194/381 -f 404/195/382 436/205/382 437/210/382 -f 391/178/383 423/208/383 424/205/383 -f 405/196/384 437/193/384 438/194/384 -f 393/203/385 392/197/385 424/205/385 -f 406/177/386 438/194/386 439/208/386 -f 467/212/387 457/213/387 451/214/387 -f 443/208/388 442/194/388 474/215/388 -f 429/193/389 461/216/389 462/215/389 -f 444/205/390 443/208/390 475/217/390 -f 430/194/391 462/215/391 463/217/391 -f 418/193/392 450/216/392 449/215/392 -f 445/210/393 444/205/393 476/206/393 -f 431/208/394 463/217/394 464/206/394 -f 417/194/395 449/215/395 451/217/395 -f 445/193/396 477/216/396 478/215/396 -f 433/210/397 432/205/397 464/206/397 -f 420/211/398 419/208/398 451/217/398 -f 446/194/399 478/215/399 479/217/399 -f 433/193/400 465/216/400 466/215/400 -f 421/210/401 420/211/401 452/206/401 -f 447/208/402 479/217/402 480/206/402 -f 434/194/403 466/215/403 467/217/403 -f 421/193/404 453/216/404 454/215/404 -f 448/205/405 480/206/405 450/218/405 -f 435/208/406 467/217/406 468/206/406 -f 422/194/407 454/215/407 455/217/407 -f 436/205/408 468/206/408 469/218/408 -f 423/208/409 455/217/409 456/206/409 -f 438/194/410 437/193/410 469/216/410 -f 425/210/411 424/205/411 456/206/411 -f 438/194/412 470/215/412 471/217/412 -f 425/193/413 457/216/413 458/215/413 -f 439/208/414 471/217/414 472/206/414 -f 426/194/415 458/215/415 459/217/415 -f 440/205/416 472/206/416 473/218/416 -f 428/205/417 427/209/417 459/217/417 -f 441/193/418 473/216/418 474/215/418 -f 1/17/1 2/1/1 3/3/1 -f 5/19/2 3/3/2 6/4/2 -f 5/19/3 6/4/3 7/6/3 -f 7/6/4 8/5/4 9/8/4 -f 9/25/5 10/9/5 11/11/5 -f 13/13/6 11/11/6 14/12/6 -f 15/6/7 13/13/7 16/14/7 -f 15/6/8 16/14/8 17/16/8 -f 17/25/9 18/9/9 19/11/9 -f 21/13/10 19/11/10 22/4/10 -f 21/13/11 22/4/11 23/6/11 -f 23/6/12 24/14/12 25/16/12 -f 27/11/13 25/17/13 28/2/13 -f 29/19/14 27/11/14 30/4/14 -f 31/6/15 29/19/15 32/5/15 -f 33/8/16 31/6/16 34/7/16 -f 33/219/17 34/1/17 35/21/17 -f 37/19/18 35/21/18 38/4/18 -f 37/19/19 38/4/19 39/23/19 -f 39/23/20 40/22/20 41/24/20 -f 41/25/21 42/9/21 43/11/21 -f 43/11/22 44/10/22 45/13/22 -f 45/13/23 46/4/23 47/6/23 -f 47/6/24 48/14/24 49/16/24 -f 51/11/25 49/25/25 52/10/25 -f 51/11/26 52/10/26 53/13/26 -f 53/13/27 54/4/27 55/6/27 -f 55/6/28 56/14/28 57/16/28 -f 57/219/29 58/1/29 59/21/29 -f 59/21/419 60/10/419 61/19/419 -f 24/14/31 22/4/31 76/27/31 -f 1/16/32 63/6/32 2/28/32 -f 61/19/33 62/4/33 63/6/33 -f 150/64/34 149/29/34 182/31/34 -f 69/35/35 68/32/35 101/34/35 -f 42/7/36 40/22/36 85/35/36 -f 60/10/37 58/1/37 94/37/37 -f 16/14/38 14/12/38 72/39/38 -f 34/7/39 32/5/39 81/40/39 -f 90/44/40 52/10/40 89/41/40 -f 68/32/41 8/5/41 67/42/41 -f 77/46/42 26/15/42 76/27/42 -f 86/44/43 44/10/43 85/41/43 -f 62/4/44 60/10/44 95/42/44 -f 18/15/45 16/14/45 73/43/45 -f 82/37/46 36/20/46 81/36/46 -f 54/4/47 52/10/47 91/38/47 -f 10/7/48 8/5/48 69/35/48 -f 78/37/49 28/2/49 77/45/49 -f 46/4/50 44/10/50 87/26/50 -f 64/14/51 62/4/51 96/32/51 -f 20/10/52 18/9/52 74/44/52 -f 38/4/53 36/20/53 83/42/53 -f 56/14/54 54/4/54 92/39/54 -f 12/10/55 10/9/55 70/44/55 -f 30/4/56 28/2/56 79/42/56 -f 48/14/57 46/4/57 88/27/57 -f 4/2/58 2/1/58 65/37/58 -f 2/28/59 64/14/59 66/35/59 -f 22/4/60 20/10/60 75/26/60 -f 40/22/61 38/4/61 84/32/61 -f 93/46/62 58/15/62 92/39/62 -f 14/12/63 12/10/63 71/38/63 -f 80/32/64 32/5/64 79/42/64 -f 50/15/65 48/14/65 89/46/65 -f 6/4/66 4/2/66 67/42/66 -f 136/65/67 104/47/67 135/49/67 -f 96/32/68 95/42/68 128/33/68 -f 115/50/69 83/42/69 114/51/69 -f 70/44/70 69/36/70 102/53/70 -f 98/55/71 66/35/71 128/33/71 -f 84/32/72 83/42/72 116/33/72 -f 71/38/73 70/44/73 103/54/73 -f 85/35/74 84/32/74 117/55/74 -f 72/39/75 71/38/75 104/56/75 -f 86/44/76 85/41/76 118/51/76 -f 73/43/77 72/39/77 105/58/77 -f 87/26/78 86/44/78 119/59/78 -f 74/44/79 73/41/79 106/51/79 -f 88/27/80 87/26/80 120/56/80 -f 75/26/81 74/44/81 107/50/81 -f 89/46/82 88/27/82 121/60/82 -f 76/27/83 75/26/83 108/56/83 -f 90/44/84 89/41/84 122/53/84 -f 77/46/85 76/27/85 109/60/85 -f 91/38/86 90/44/86 123/54/86 -f 78/37/87 77/45/87 110/51/87 -f 92/39/88 91/38/88 124/56/88 -f 79/42/89 78/37/89 111/50/89 -f 65/37/90 66/45/90 97/51/90 -f 93/46/91 92/39/91 125/60/91 -f 80/32/92 79/42/92 112/33/92 -f 67/42/93 65/37/93 99/50/93 -f 94/37/94 93/36/94 126/51/94 -f 81/40/95 80/32/95 113/55/95 -f 68/32/96 67/42/96 100/33/96 -f 95/42/97 94/37/97 127/50/97 -f 82/37/98 81/36/98 114/51/98 -f 118/67/99 117/63/99 150/64/99 -f 105/89/100 104/47/100 137/66/100 -f 119/71/101 118/67/101 151/49/101 -f 138/72/102 106/68/102 137/70/102 -f 120/47/103 119/71/103 152/65/103 -f 107/74/104 106/68/104 139/73/104 -f 121/89/105 120/47/105 153/66/105 -f 108/76/106 107/74/106 140/75/106 -f 154/64/107 122/67/107 153/29/107 -f 109/220/108 108/76/108 141/77/108 -f 155/49/109 123/71/109 154/64/109 -f 110/67/110 109/63/110 142/64/110 -f 156/65/111 124/47/111 155/49/111 -f 111/48/112 110/67/112 143/49/112 -f 129/82/113 97/78/113 130/80/113 -f 125/89/114 124/47/114 157/66/114 -f 112/47/115 111/48/115 144/65/115 -f 131/85/116 99/81/116 129/82/116 -f 158/64/117 126/67/117 157/29/117 -f 113/89/118 112/47/118 145/83/118 -f 132/86/119 100/84/119 131/85/119 -f 159/88/120 127/71/120 158/64/120 -f 146/64/121 114/67/121 145/29/121 -f 101/221/122 100/84/122 133/87/122 -f 128/47/123 127/71/123 160/65/123 -f 147/49/124 115/48/124 146/64/124 -f 102/67/125 101/63/125 134/64/125 -f 98/89/126 128/47/126 130/66/126 -f 116/47/127 115/48/127 148/65/127 -f 103/48/128 102/67/128 135/49/128 -f 149/83/129 117/89/129 148/65/129 -f 176/101/130 175/90/130 208/92/130 -f 169/96/34 137/66/34 168/93/34 -f 151/49/34 150/64/34 183/90/34 -f 170/95/34 138/72/34 169/94/34 -f 152/65/34 151/49/34 184/93/34 -f 171/97/34 139/73/34 170/95/34 -f 153/66/34 152/65/34 185/96/34 -f 172/98/34 140/75/34 171/97/34 -f 154/64/34 153/29/34 186/31/34 -f 141/77/34 140/75/34 173/99/34 -f 155/49/34 154/64/34 187/90/34 -f 142/64/34 141/29/34 174/31/34 -f 156/65/34 155/49/34 188/93/34 -f 143/49/34 142/64/34 175/90/34 -f 161/102/34 129/82/34 162/100/34 -f 189/96/34 157/66/34 188/93/34 -f 144/65/34 143/49/34 176/101/34 -f 163/103/34 131/85/34 161/102/34 -f 190/31/34 158/64/34 189/30/34 -f 145/83/34 144/65/34 177/96/34 -f 164/104/34 132/86/34 163/103/34 -f 191/90/34 159/88/34 190/31/34 -f 146/64/34 145/29/34 178/31/34 -f 165/113/34 133/87/34 164/104/34 -f 160/65/34 159/88/34 192/93/34 -f 147/49/34 146/64/34 179/90/34 -f 166/31/34 134/64/34 165/30/34 -f 162/96/34 130/66/34 192/93/34 -f 148/65/34 147/49/34 180/101/34 -f 135/49/34 134/64/34 167/90/34 -f 149/83/34 148/65/34 181/96/34 -f 168/93/34 136/65/34 167/90/34 -f 211/91/131 210/105/131 243/107/131 -f 195/111/132 163/103/132 193/108/132 -f 222/105/133 190/31/133 221/109/133 -f 177/96/134 176/101/134 209/110/134 -f 164/104/135 163/103/135 196/112/135 -f 191/90/136 190/31/136 223/91/136 -f 210/105/137 178/31/137 209/109/137 -f 197/222/138 165/113/138 196/112/138 -f 192/93/139 191/90/139 224/92/139 -f 211/91/140 179/90/140 210/105/140 -f 198/105/141 166/31/141 197/109/141 -f 162/96/142 192/93/142 194/110/142 -f 180/101/143 179/90/143 212/92/143 -f 199/91/144 167/90/144 198/105/144 -f 213/110/145 181/96/145 212/92/145 -f 200/92/146 168/93/146 199/91/146 -f 182/31/147 181/30/147 214/105/147 -f 201/110/148 169/96/148 200/92/148 -f 215/91/149 183/90/149 214/105/149 -f 170/95/150 169/94/150 202/115/150 -f 184/93/151 183/90/151 216/92/151 -f 203/116/152 171/97/152 202/115/152 -f 217/110/153 185/96/153 216/92/153 -f 172/98/154 171/97/154 204/117/154 -f 218/105/155 186/31/155 217/109/155 -f 205/223/156 173/99/156 204/117/156 -f 219/91/157 187/90/157 218/105/157 -f 206/105/158 174/31/158 205/109/158 -f 220/92/159 188/93/159 219/91/159 -f 207/91/160 175/90/160 206/105/160 -f 193/108/161 161/102/161 194/118/161 -f 221/110/162 189/96/162 220/92/162 -f 246/106/163 245/119/163 278/121/163 -f 198/105/164 197/109/164 230/106/164 -f 194/110/165 224/92/165 226/123/165 -f 212/92/166 211/91/166 244/122/166 -f 199/91/167 198/105/167 231/107/167 -f 213/110/168 212/92/168 245/123/168 -f 200/92/169 199/91/169 232/122/169 -f 214/105/170 213/109/170 246/106/170 -f 201/110/171 200/92/171 233/123/171 -f 247/107/172 215/91/172 246/106/172 -f 202/115/173 201/114/173 234/125/173 -f 216/92/174 215/91/174 248/122/174 -f 203/116/175 202/115/175 235/126/175 -f 249/123/176 217/110/176 248/122/176 -f 204/117/177 203/116/177 236/127/177 -f 250/106/178 218/105/178 249/119/178 -f 205/223/179 204/117/179 237/128/179 -f 219/91/180 218/105/180 251/107/180 -f 206/105/181 205/109/181 238/106/181 -f 220/92/182 219/91/182 252/122/182 -f 207/91/183 206/105/183 239/107/183 -f 193/108/184 194/118/184 225/130/184 -f 253/123/185 221/110/185 252/122/185 -f 208/92/186 207/91/186 240/122/186 -f 195/111/187 193/108/187 227/131/187 -f 254/106/188 222/105/188 253/119/188 -f 209/110/189 208/92/189 241/123/189 -f 196/112/190 195/111/190 228/132/190 -f 223/91/191 222/105/191 255/107/191 -f 210/105/192 209/109/192 242/106/192 -f 197/222/193 196/112/193 229/133/193 -f 224/92/194 223/91/194 256/122/194 -f 281/137/195 280/134/195 313/136/195 -f 233/123/196 232/122/196 265/137/196 -f 279/140/197 247/107/197 278/121/197 -f 234/125/198 233/124/198 266/139/198 -f 248/122/199 247/107/199 280/134/199 -f 267/141/200 235/126/200 266/139/200 -f 249/123/201 248/122/201 281/137/201 -f 236/127/202 235/126/202 268/142/202 -f 282/121/203 250/106/203 281/120/203 -f 269/224/204 237/128/204 268/142/204 -f 251/107/205 250/106/205 283/140/205 -f 238/106/206 237/119/206 270/121/206 -f 284/134/207 252/122/207 283/140/207 -f 239/107/208 238/106/208 271/140/208 -f 225/130/209 226/129/209 257/144/209 -f 285/137/210 253/123/210 284/134/210 -f 240/122/211 239/107/211 272/134/211 -f 227/131/212 225/130/212 259/145/212 -f 254/106/213 253/119/213 286/121/213 -f 241/123/214 240/122/214 273/137/214 -f 260/146/215 228/132/215 259/145/215 -f 287/140/216 255/107/216 286/121/216 -f 242/106/217 241/119/217 274/121/217 -f 261/158/218 229/133/218 260/146/218 -f 256/122/219 255/107/219 288/134/219 -f 243/107/220 242/106/220 275/140/220 -f 230/106/221 229/119/221 262/121/221 -f 258/160/222 226/123/222 288/134/222 -f 244/122/223 243/107/223 276/134/223 -f 263/140/224 231/107/224 262/121/224 -f 277/137/225 245/123/225 276/134/225 -f 232/122/226 231/107/226 264/134/226 -f 348/168/227 316/135/227 347/148/227 -f 268/142/228 267/141/228 300/150/228 -f 282/121/229 281/120/229 314/152/229 -f 269/224/230 268/142/230 301/153/230 -f 283/140/231 282/121/231 315/147/231 -f 270/121/232 269/120/232 302/152/232 -f 284/134/233 283/140/233 316/135/233 -f 271/140/234 270/121/234 303/147/234 -f 257/144/235 258/143/235 289/155/235 -f 285/137/236 284/134/236 317/136/236 -f 272/134/237 271/140/237 304/135/237 -f 291/156/238 259/145/238 289/155/238 -f 318/152/239 286/121/239 317/151/239 -f 273/137/240 272/134/240 305/136/240 -f 292/159/241 260/146/241 291/156/241 -f 287/140/242 286/121/242 319/157/242 -f 274/121/243 273/120/243 306/152/243 -f 293/225/244 261/158/244 292/159/244 -f 288/134/245 287/140/245 320/135/245 -f 275/140/246 274/121/246 307/147/246 -f 294/152/247 262/121/247 293/151/247 -f 290/136/248 258/160/248 320/135/248 -f 276/134/249 275/140/249 308/135/249 -f 263/140/250 262/121/250 295/147/250 -f 309/136/251 277/137/251 308/135/251 -f 264/134/252 263/140/252 296/135/252 -f 278/121/253 277/120/253 310/152/253 -f 265/137/254 264/134/254 297/136/254 -f 279/140/255 278/121/255 311/147/255 -f 298/162/256 266/139/256 297/161/256 -f 280/134/257 279/140/257 312/135/257 -f 299/149/258 267/141/258 298/162/258 -f 356/180/259 324/163/259 355/165/259 -f 335/148/260 303/147/260 334/166/260 -f 289/155/261 290/154/261 321/166/261 -f 317/136/262 316/135/262 349/169/262 -f 304/135/263 303/147/263 336/168/263 -f 323/164/264 291/156/264 321/166/264 -f 318/152/265 317/151/265 350/166/265 -f 305/136/266 304/135/266 337/169/266 -f 292/159/267 291/156/267 324/163/267 -f 319/157/268 318/152/268 351/148/268 -f 306/152/420 305/151/420 338/166/420 -f 293/225/270 292/159/270 325/170/270 -f 352/168/271 320/135/271 351/148/271 -f 307/147/272 306/152/272 339/148/272 -f 326/166/273 294/152/273 325/167/273 -f 290/136/274 320/135/274 322/169/274 -f 308/135/275 307/147/275 340/168/275 -f 295/147/276 294/152/276 327/148/276 -f 309/136/277 308/135/277 341/169/277 -f 328/168/278 296/135/278 327/148/278 -f 310/152/279 309/151/279 342/166/279 -f 297/136/280 296/135/280 329/169/280 -f 343/148/281 311/147/281 342/166/281 -f 330/172/282 298/162/282 329/171/282 -f 312/135/283 311/147/283 344/168/283 -f 299/149/284 298/162/284 331/173/284 -f 313/136/285 312/135/285 345/169/285 -f 332/174/286 300/150/286 331/173/286 -f 314/152/287 313/151/287 346/166/287 -f 301/153/288 300/150/288 333/175/288 -f 315/147/289 314/152/289 347/148/289 -f 302/152/290 301/151/290 334/166/290 -f 359/181/291 358/176/291 391/178/291 -f 383/181/292 351/148/292 382/176/292 -f 338/166/293 337/167/293 370/176/293 -f 357/183/294 325/170/294 356/180/294 -f 384/182/295 352/168/295 383/181/295 -f 371/181/296 339/148/296 370/176/296 -f 358/176/297 326/166/297 357/179/297 -f 322/169/298 352/168/298 354/183/298 -f 340/168/299 339/148/299 372/182/299 -f 327/148/300 326/166/300 359/181/300 -f 341/169/301 340/168/301 373/184/301 -f 360/182/302 328/168/302 359/181/302 -f 342/166/303 341/167/303 374/176/303 -f 329/169/304 328/168/304 361/184/304 -f 343/148/305 342/166/305 375/181/305 -f 362/186/306 330/172/306 361/185/306 -f 344/168/307 343/148/307 376/182/307 -f 331/173/308 330/172/308 363/187/308 -f 345/169/309 344/168/309 377/184/309 -f 332/174/310 331/173/310 364/188/310 -f 346/166/311 345/167/311 378/176/311 -f 333/175/312 332/174/312 365/189/312 -f 347/148/313 346/166/313 379/181/313 -f 366/176/314 334/166/314 365/179/314 -f 348/168/315 347/148/315 380/182/315 -f 335/148/316 334/166/316 367/181/316 -f 321/166/317 322/167/317 353/191/317 -f 349/169/318 348/168/318 381/183/318 -f 336/168/319 335/148/319 368/182/319 -f 323/164/320 321/166/320 355/165/320 -f 350/166/321 349/167/321 382/176/321 -f 337/169/322 336/168/322 369/184/322 -f 394/198/323 393/192/323 426/194/323 -f 405/203/324 373/184/324 404/195/324 -f 392/197/325 360/182/325 391/178/325 -f 406/177/326 374/176/326 405/196/326 -f 393/203/327 361/184/327 392/197/327 -f 407/178/328 375/181/328 406/177/328 -f 362/186/329 361/185/329 394/198/329 -f 376/182/330 375/181/330 408/195/330 -f 363/187/331 362/186/331 395/199/331 -f 409/203/332 377/184/332 408/195/332 -f 364/188/333 363/187/333 396/200/333 -f 378/176/334 377/179/334 410/177/334 -f 365/189/335 364/188/335 397/201/335 -f 379/181/336 378/176/336 411/178/336 -f 398/177/337 366/176/337 397/196/337 -f 412/195/338 380/182/338 411/178/338 -f 399/178/339 367/181/339 398/177/339 -f 353/191/340 354/190/340 385/202/340 -f 381/183/341 380/182/341 413/203/341 -f 400/195/342 368/182/342 399/178/342 -f 355/165/343 353/191/343 387/204/343 -f 414/177/344 382/176/344 413/196/344 -f 401/203/345 369/184/345 400/195/345 -f 388/197/346 356/180/346 387/204/346 -f 383/181/347 382/176/347 415/178/347 -f 402/177/348 370/176/348 401/196/348 -f 357/183/349 356/180/349 389/203/349 -f 416/197/350 384/182/350 415/178/350 -f 371/181/351 370/176/351 403/178/351 -f 358/176/352 357/179/352 390/177/352 -f 386/203/353 354/183/353 416/197/353 -f 372/182/354 371/181/354 404/195/354 -f 429/226/355 428/205/355 461/207/355 -f 408/195/356 407/178/356 440/205/356 -f 395/199/357 394/198/357 427/209/357 -f 409/203/358 408/195/358 441/210/358 -f 396/200/359 395/199/359 428/205/359 -f 442/194/360 410/177/360 441/193/360 -f 429/226/361 397/201/361 428/205/361 -f 443/208/362 411/178/362 442/194/362 -f 398/177/363 397/196/363 430/194/363 -f 444/205/364 412/195/364 443/208/364 -f 399/178/365 398/177/365 431/208/365 -f 417/194/366 385/202/366 418/193/366 -f 413/203/367 412/195/367 445/210/367 -f 432/205/368 400/195/368 431/208/368 -f 387/204/369 385/202/369 419/208/369 -f 414/177/370 413/196/370 446/194/370 -f 401/203/371 400/195/371 433/210/371 -f 388/197/372 387/204/372 420/211/372 -f 415/178/373 414/177/373 447/208/373 -f 402/177/374 401/196/374 434/194/374 -f 389/203/375 388/197/375 421/210/375 -f 416/197/376 415/178/376 448/205/376 -f 403/178/377 402/177/377 435/208/377 -f 390/177/378 389/196/378 422/194/378 -f 386/203/379 416/197/379 418/210/379 -f 404/195/380 403/178/380 436/205/380 -f 423/208/381 391/178/381 422/194/381 -f 405/203/382 404/195/382 437/210/382 -f 392/197/383 391/178/383 424/205/383 -f 406/177/384 405/196/384 438/194/384 -f 425/210/385 393/203/385 424/205/385 -f 407/178/386 406/177/386 439/208/386 -f 451/214/421 449/227/421 450/228/421 -f 450/228/387 480/229/387 451/214/387 -f 479/230/387 478/231/387 475/232/387 -f 477/233/387 476/234/387 475/232/387 -f 475/232/387 474/235/387 473/236/387 -f 473/236/387 472/237/387 475/232/387 -f 471/238/387 470/239/387 469/240/387 -f 469/240/387 468/241/387 471/238/387 -f 467/212/421 466/242/421 465/243/421 -f 465/243/422 464/244/422 467/212/422 -f 463/245/387 462/246/387 461/247/387 -f 461/247/387 460/248/387 459/249/387 -f 459/249/387 458/250/387 457/213/387 -f 457/213/387 456/251/387 455/252/387 -f 455/252/387 454/253/387 453/254/387 -f 453/254/387 452/255/387 451/214/387 -f 451/214/387 480/229/387 479/230/387 -f 478/231/387 477/233/387 475/232/387 -f 475/232/387 472/237/387 471/238/387 -f 471/238/387 468/241/387 467/212/387 -f 467/212/387 464/244/387 463/245/387 -f 463/245/387 461/247/387 467/212/387 -f 459/249/387 457/213/387 467/212/387 -f 455/252/387 453/254/387 451/214/387 -f 451/214/387 479/230/387 475/232/387 -f 475/232/387 471/238/387 451/214/387 -f 467/212/387 461/247/387 459/249/387 -f 457/213/387 455/252/387 451/214/387 -f 451/214/387 471/238/387 467/212/387 -f 475/217/388 443/208/388 474/215/388 -f 430/194/389 429/193/389 462/215/389 -f 476/206/390 444/205/390 475/217/390 -f 431/208/391 430/194/391 463/217/391 -f 417/194/392 418/193/392 449/215/392 -f 477/218/393 445/210/393 476/206/393 -f 432/205/423 431/208/423 464/206/423 -f 419/208/424 417/194/424 451/217/424 -f 446/194/396 445/193/396 478/215/396 -f 465/218/397 433/210/397 464/206/397 -f 452/206/398 420/211/398 451/217/398 -f 447/208/399 446/194/399 479/217/399 -f 434/194/400 433/193/400 466/215/400 -f 453/218/401 421/210/401 452/206/401 -f 448/205/402 447/208/402 480/206/402 -f 435/208/403 434/194/403 467/217/403 -f 422/194/404 421/193/404 454/215/404 -f 418/210/405 448/205/405 450/218/405 -f 436/205/406 435/208/406 468/206/406 -f 423/208/425 422/194/425 455/217/425 -f 437/210/426 436/205/426 469/218/426 -f 424/205/409 423/208/409 456/206/409 -f 470/215/410 438/194/410 469/216/410 -f 457/218/411 425/210/411 456/206/411 -f 439/208/427 438/194/427 471/217/427 -f 426/194/413 425/193/413 458/215/413 -f 440/205/414 439/208/414 472/206/414 -f 427/209/415 426/194/415 459/217/415 -f 441/210/416 440/205/416 473/218/416 -f 460/206/428 428/205/428 459/217/428 -f 442/194/418 441/193/418 474/215/418 diff --git a/src/main/resources/assets/hbm/models/network/pylon_medium.obj b/src/main/resources/assets/hbm/models/network/pylon_medium.obj new file mode 100644 index 000000000..750e781b9 --- /dev/null +++ b/src/main/resources/assets/hbm/models/network/pylon_medium.obj @@ -0,0 +1,1023 @@ +# Blender v2.79 (sub 0) OBJ File: 'pylon_medium.blend' +# www.blender.org +o Transformer +v -0.187500 0.312500 -0.250000 +v 0.187500 0.312500 -0.250000 +v -0.187500 0.687500 -0.250000 +v 0.187500 0.687500 -0.250000 +v -0.187500 0.687500 -0.500000 +v -0.187500 0.312500 -0.500000 +v 0.187500 0.312500 -0.500000 +v 0.187500 0.687500 -0.500000 +v -0.250000 5.500000 -0.125000 +v 0.250000 5.500000 -0.125000 +v -0.250000 6.500000 -0.125000 +v 0.250000 6.500000 -0.125000 +v -0.250000 6.500000 -0.625000 +v -0.250000 5.500000 -0.625000 +v 0.250000 5.500000 -0.625000 +v 0.250000 6.500000 -0.625000 +v -0.062500 1.000000 -0.125000 +v 0.062500 1.000000 -0.125000 +v -0.062500 1.000000 -0.187500 +v 0.062500 1.000000 -0.187500 +v -0.062500 5.500000 -0.125000 +v 0.062500 5.500000 -0.125000 +v -0.062500 5.500000 -0.187500 +v 0.062500 5.500000 -0.187500 +v -0.062500 6.500000 -0.125000 +v 0.062500 6.500000 -0.125000 +v -0.062500 6.500000 -0.187500 +v 0.062500 6.500000 -0.187500 +v -0.062500 6.937500 -0.125000 +v 0.062500 6.937500 -0.125000 +v -0.062500 6.875000 -0.187500 +v 0.062500 6.875000 -0.187500 +v -0.187500 5.562500 0.187500 +v 0.187500 5.562500 0.187500 +v -0.187500 5.562500 -0.125000 +v 0.187500 5.562500 -0.125000 +v -0.187500 5.687500 -0.125000 +v -0.187500 5.687500 0.187500 +v 0.187500 5.687500 0.187500 +v 0.187500 5.687500 -0.125000 +v -0.187500 6.312500 0.187500 +v 0.187500 6.312500 0.187500 +v -0.187500 6.312500 -0.125000 +v 0.187500 6.312500 -0.125000 +v -0.187500 6.437500 -0.125000 +v -0.187500 6.437500 0.187500 +v 0.187500 6.437500 0.187500 +v 0.187500 6.437500 -0.125000 +vt 0.846154 0.312500 +vt 0.692308 0.437500 +vt 0.692308 0.312500 +vt 0.730769 0.265625 +vt 0.615385 0.218750 +vt 0.730769 0.218750 +vt 0.538462 0.218750 +vt 0.615385 0.265625 +vt 0.538462 0.265625 +vt 0.807692 0.265625 +vt 0.807692 0.218750 +vt 0.615385 0.296875 +vt 0.730769 0.296875 +vt 0.730769 0.187500 +vt 0.615385 0.187500 +vt 0.538462 0.437500 +vt 0.384615 0.312500 +vt 0.538462 0.312500 +vt 0.384615 0.500000 +vt 0.538462 0.500000 +vt 0.538462 0.250000 +vt 0.384615 0.250000 +vt 1.000000 0.437500 +vt 0.846154 0.437500 +vt 0.057692 0.562500 +vt 0.019231 0.000000 +vt 0.057692 0.000000 +vt 0.019231 0.562500 +vt -0.000000 0.000000 +vt 0.076923 0.562500 +vt 0.076923 0.000000 +vt 0.057692 0.859375 +vt 0.019231 0.812500 +vt 0.057692 0.812500 +vt 0.019231 0.859375 +vt 0.000000 0.812500 +vt 0.076923 0.812500 +vt 0.057692 0.867188 +vt 0.788462 0.437500 +vt 0.903846 0.476562 +vt 0.788462 0.476562 +vt 0.903846 0.492188 +vt 0.788462 0.531250 +vt 0.788462 0.492188 +vt 0.788462 0.437500 +vt 0.903846 0.476562 +vt 0.788462 0.476562 +vt 1.000000 0.476562 +vt 0.692308 0.492188 +vt 0.692308 0.476562 +vt 0.903846 0.492188 +vt 0.788462 0.531250 +vt 0.788462 0.492188 +vt 1.000000 0.476562 +vt 0.692308 0.492188 +vt 0.692308 0.476562 +vt 0.384615 0.437500 +vt 1.000000 0.312500 +vt -0.000000 0.562500 +vt 0.000000 0.867188 +vt 0.076923 0.867188 +vt 0.019231 0.867188 +vt 0.903846 0.437500 +vt 0.903846 0.531250 +vt 0.903846 0.437500 +vt 1.000000 0.492188 +vt 0.903846 0.531250 +vt 1.000000 0.492188 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.7071 -0.7071 +s off +f 10/1/1 11/2/1 9/3/1 +f 5/4/2 7/5/2 6/6/2 +f 2/7/3 8/8/3 4/9/3 +f 3/10/4 6/6/4 1/11/4 +f 4/12/5 5/4/5 3/13/5 +f 1/14/6 7/5/6 2/15/6 +f 13/16/2 15/17/2 14/18/2 +f 12/19/5 13/16/5 11/20/5 +f 9/21/6 15/17/6 10/22/6 +f 10/1/3 16/23/3 12/24/3 +f 11/2/4 14/18/4 9/3/4 +f 23/25/2 20/26/2 19/27/2 +f 24/28/3 18/29/3 20/26/3 +f 21/30/4 19/27/4 17/31/4 +f 31/32/2 28/33/2 27/34/2 +f 32/35/3 26/36/3 28/33/3 +f 25/37/4 31/32/4 27/34/4 +f 29/38/7 32/35/7 31/32/7 +f 35/39/6 34/40/6 33/41/6 +f 39/42/5 37/43/5 38/44/5 +f 43/45/6 42/46/6 41/47/6 +f 34/40/1 38/44/1 33/41/1 +f 36/48/3 39/42/3 34/40/3 +f 33/41/4 37/49/4 35/50/4 +f 47/51/5 45/52/5 46/53/5 +f 42/46/1 46/53/1 41/47/1 +f 44/54/3 47/51/3 42/46/3 +f 41/47/4 45/55/4 43/56/4 +f 10/1/1 12/24/1 11/2/1 +f 5/4/2 8/8/2 7/5/2 +f 2/7/3 7/5/3 8/8/3 +f 3/10/4 5/4/4 6/6/4 +f 4/12/5 8/8/5 5/4/5 +f 1/14/6 6/6/6 7/5/6 +f 13/16/2 16/57/2 15/17/2 +f 12/19/5 16/57/5 13/16/5 +f 9/21/6 14/18/6 15/17/6 +f 10/1/3 15/58/3 16/23/3 +f 11/2/4 13/16/4 14/18/4 +f 23/25/2 24/28/2 20/26/2 +f 24/28/3 22/59/3 18/29/3 +f 21/30/4 23/25/4 19/27/4 +f 31/32/2 32/35/2 28/33/2 +f 32/35/3 30/60/3 26/36/3 +f 25/37/4 29/61/4 31/32/4 +f 29/38/7 30/62/7 32/35/7 +f 35/39/6 36/63/6 34/40/6 +f 39/42/5 40/64/5 37/43/5 +f 43/45/6 44/65/6 42/46/6 +f 34/40/1 39/42/1 38/44/1 +f 36/48/3 40/66/3 39/42/3 +f 33/41/4 38/44/4 37/49/4 +f 47/51/5 48/67/5 45/52/5 +f 42/46/1 47/51/1 46/53/1 +f 44/54/3 48/68/3 47/51/3 +f 41/47/4 46/53/4 45/55/4 +o Pylon +v -0.250000 0.000000 0.250000 +v 0.250000 0.000000 0.250000 +v -0.250000 0.000000 -0.250000 +v 0.250000 0.000000 -0.250000 +v -0.250000 1.000000 0.250000 +v 0.250000 1.000000 0.250000 +v -0.250000 1.000000 -0.250000 +v 0.250000 1.000000 -0.250000 +v -0.125000 1.000000 0.125000 +v 0.125000 1.000000 0.125000 +v -0.125000 1.000000 -0.125000 +v 0.125000 1.000000 -0.125000 +v -0.125000 7.000000 0.125000 +v 0.125000 7.000000 0.125000 +v -0.125000 7.000000 -0.125000 +v 0.125000 7.000000 -0.125000 +v -0.125000 7.000000 0.125000 +v 0.125000 7.000000 0.125000 +v -0.125000 7.000000 -0.125000 +v 0.125000 7.000000 -0.125000 +v -0.125000 7.062500 -0.125000 +v -0.125000 7.062500 0.125000 +v 0.125000 7.062500 0.125000 +v 0.125000 7.062500 -0.125000 +v -0.187500 7.062500 -0.187500 +v -0.187500 7.062500 0.187500 +v 0.187500 7.062500 0.187500 +v 0.187500 7.062500 -0.187500 +v -0.187500 7.187500 -0.187500 +v -0.187500 7.187500 0.187500 +v 0.187500 7.187500 0.187500 +v 0.187500 7.187500 -0.187500 +v -0.125000 7.187500 0.125000 +v 0.125000 7.187500 0.125000 +v -0.125000 7.187500 -0.125000 +v 0.125000 7.187500 -0.125000 +v -0.125000 7.250000 -0.125000 +v -0.125000 7.250000 0.125000 +v 0.125000 7.250000 0.125000 +v 0.125000 7.250000 -0.125000 +v -0.187500 7.250000 -0.187500 +v -0.187500 7.250000 0.187500 +v 0.187500 7.250000 0.187500 +v 0.187500 7.250000 -0.187500 +v -0.187500 7.375000 -0.187500 +v -0.187500 7.375000 0.187500 +v 0.187500 7.375000 0.187500 +v 0.187500 7.375000 -0.187500 +v -0.125000 7.375000 0.125000 +v 0.125000 7.375000 0.125000 +v -0.125000 7.375000 -0.125000 +v 0.125000 7.375000 -0.125000 +v -0.125000 7.437500 -0.125000 +v -0.125000 7.437500 0.125000 +v 0.125000 7.437500 0.125000 +v 0.125000 7.437500 -0.125000 +v -0.062500 7.437500 -0.062500 +v -0.062500 7.437500 0.062500 +v 0.062500 7.437500 0.062500 +v 0.062500 7.437500 -0.062500 +v -0.062500 7.562500 -0.062500 +v -0.062500 7.562500 0.062500 +v 0.062500 7.562500 0.062500 +v 0.062500 7.562500 -0.062500 +v -0.125000 7.000000 2.125000 +v 0.125000 7.000000 2.125000 +v -0.125000 6.750000 2.125000 +v 0.125000 6.750000 2.125000 +v -0.125000 7.000000 0.125000 +v 0.125000 7.000000 0.125000 +v -0.125000 6.750000 0.125000 +v 0.125000 6.750000 0.125000 +v -0.062500 5.750000 0.125000 +v 0.062500 5.750000 0.125000 +v -0.062500 6.000000 0.125000 +v 0.062500 6.000000 0.125000 +v -0.062500 6.750000 1.125000 +v 0.062500 6.750000 1.125000 +v -0.062500 6.750000 0.875000 +v 0.062500 6.750000 0.875000 +v -0.125000 7.000000 1.125000 +v 0.125000 7.000000 1.125000 +v -0.125000 7.000000 0.875000 +v 0.125000 7.000000 0.875000 +v -0.125000 7.062500 0.875000 +v -0.125000 7.062500 1.125000 +v 0.125000 7.062500 1.125000 +v 0.125000 7.062500 0.875000 +v -0.187500 7.062500 0.812500 +v -0.187500 7.062500 1.187500 +v 0.187500 7.062500 1.187500 +v 0.187500 7.062500 0.812500 +v -0.187500 7.187500 0.812500 +v -0.187500 7.187500 1.187500 +v 0.187500 7.187500 1.187500 +v 0.187500 7.187500 0.812500 +v -0.125000 7.187500 1.125000 +v 0.125000 7.187500 1.125000 +v -0.125000 7.187500 0.875000 +v 0.125000 7.187500 0.875000 +v -0.125000 7.250000 0.875000 +v -0.125000 7.250000 1.125000 +v 0.125000 7.250000 1.125000 +v 0.125000 7.250000 0.875000 +v -0.187500 7.250000 0.812500 +v -0.187500 7.250000 1.187500 +v 0.187500 7.250000 1.187500 +v 0.187500 7.250000 0.812500 +v -0.187500 7.375000 0.812500 +v -0.187500 7.375000 1.187500 +v 0.187500 7.375000 1.187500 +v 0.187500 7.375000 0.812500 +v -0.125000 7.375000 1.125000 +v 0.125000 7.375000 1.125000 +v -0.125000 7.375000 0.875000 +v 0.125000 7.375000 0.875000 +v -0.125000 7.437500 0.875000 +v -0.125000 7.437500 1.125000 +v 0.125000 7.437500 1.125000 +v 0.125000 7.437500 0.875000 +v -0.062500 7.437500 0.937500 +v -0.062500 7.437500 1.062500 +v 0.062500 7.437500 1.062500 +v 0.062500 7.437500 0.937500 +v -0.062500 7.562500 0.937500 +v -0.062500 7.562500 1.062500 +v 0.062500 7.562500 1.062500 +v 0.062500 7.562500 0.937500 +v -0.125000 7.000000 2.125000 +v 0.125000 7.000000 2.125000 +v -0.125000 7.000000 1.875000 +v 0.125000 7.000000 1.875000 +v -0.125000 7.062500 1.875000 +v -0.125000 7.062500 2.125000 +v 0.125000 7.062500 2.125000 +v 0.125000 7.062500 1.875000 +v -0.187500 7.062500 1.812500 +v -0.187500 7.062500 2.187500 +v 0.187500 7.062500 2.187500 +v 0.187500 7.062500 1.812500 +v -0.187500 7.187500 1.812500 +v -0.187500 7.187500 2.187500 +v 0.187500 7.187500 2.187500 +v 0.187500 7.187500 1.812500 +v -0.125000 7.187500 2.125000 +v 0.125000 7.187500 2.125000 +v -0.125000 7.187500 1.875000 +v 0.125000 7.187500 1.875000 +v -0.125000 7.250000 1.875000 +v -0.125000 7.250000 2.125000 +v 0.125000 7.250000 2.125000 +v 0.125000 7.250000 1.875000 +v -0.187500 7.250000 1.812500 +v -0.187500 7.250000 2.187500 +v 0.187500 7.250000 2.187500 +v 0.187500 7.250000 1.812500 +v -0.187500 7.375000 1.812500 +v -0.187500 7.375000 2.187500 +v 0.187500 7.375000 2.187500 +v 0.187500 7.375000 1.812500 +v -0.125000 7.375000 2.125000 +v 0.125000 7.375000 2.125000 +v -0.125000 7.375000 1.875000 +v 0.125000 7.375000 1.875000 +v -0.125000 7.437500 1.875000 +v -0.125000 7.437500 2.125000 +v 0.125000 7.437500 2.125000 +v 0.125000 7.437500 1.875000 +v -0.062500 7.437500 1.937500 +v -0.062500 7.437500 2.062500 +v 0.062500 7.437500 2.062500 +v 0.062500 7.437500 1.937500 +v -0.062500 7.562500 1.937500 +v -0.062500 7.562500 2.062500 +v 0.062500 7.562500 2.062500 +v 0.062500 7.562500 1.937500 +vt 0.538462 -0.000000 +vt 0.384615 0.062500 +vt 0.384615 -0.000000 +vt 0.538462 0.062500 +vt 0.384615 0.187500 +vt 0.846154 0.062500 +vt 0.692308 0.187500 +vt 0.692308 0.062500 +vt 0.538462 0.187500 +vt 1.000000 0.062500 +vt 0.846154 0.187500 +vt 0.230769 0.000000 +vt 0.153846 0.750000 +vt 0.153846 0.000000 +vt 0.384615 0.250000 +vt 0.538462 0.250000 +vt 0.480769 0.820312 +vt 0.403846 0.828125 +vt 0.403846 0.820312 +vt 0.384615 0.000000 +vt 0.307692 0.750000 +vt 0.307692 0.000000 +vt 0.076923 0.750000 +vt 0.076923 0.000000 +vt 0.230769 0.750000 +vt 0.480769 0.820312 +vt 0.403846 0.828125 +vt 0.403846 0.820312 +vt 0.480769 0.789062 +vt 0.384615 0.796875 +vt 0.403846 0.789062 +vt 0.480769 0.781250 +vt 0.403846 0.789062 +vt 0.403846 0.781250 +vt 0.480769 0.781250 +vt 0.403846 0.789062 +vt 0.403846 0.781250 +vt 0.480769 0.781250 +vt 0.403846 0.781250 +vt 0.480769 0.781250 +vt 0.403846 0.789062 +vt 0.403846 0.781250 +vt 0.500000 0.796875 +vt 0.384615 0.812500 +vt 0.384615 0.796875 +vt 0.480769 0.789062 +vt 0.384615 0.796875 +vt 0.480769 0.789062 +vt 0.480769 0.789062 +vt 0.384615 0.796875 +vt 0.480769 0.828125 +vt 0.384615 0.835938 +vt 0.403846 0.828125 +vt 0.500000 0.796875 +vt 0.384615 0.812500 +vt 0.500000 0.796875 +vt 0.384615 0.812500 +vt 0.500000 0.796875 +vt 0.384615 0.812500 +vt 0.480769 0.820312 +vt 0.403846 0.820312 +vt 0.480769 0.820312 +vt 0.403846 0.828125 +vt 0.403846 0.820312 +vt 0.500000 0.835938 +vt 0.384615 0.851562 +vt 0.384615 0.835938 +vt 0.480769 0.828125 +vt 0.384615 0.835938 +vt 0.480769 0.828125 +vt 0.480769 0.828125 +vt 0.384615 0.835938 +vt 0.500000 0.835938 +vt 0.384615 0.851562 +vt 0.500000 0.835938 +vt 0.384615 0.851562 +vt 0.500000 0.835938 +vt 0.384615 0.851562 +vt 0.500000 0.812500 +vt 0.500000 0.812500 +vt 0.500000 0.812500 +vt 0.500000 0.812500 +vt 0.480769 0.859375 +vt 0.403846 0.867188 +vt 0.403846 0.859375 +vt 0.480769 0.859375 +vt 0.403846 0.867188 +vt 0.403846 0.859375 +vt 0.480769 0.859375 +vt 0.403846 0.867188 +vt 0.403846 0.859375 +vt 0.480769 0.859375 +vt 0.403846 0.867188 +vt 0.403846 0.859375 +vt 0.500000 0.851562 +vt 0.500000 0.851562 +vt 0.500000 0.851562 +vt 0.500000 0.851562 +vt 0.480769 0.867188 +vt 0.423077 0.875000 +vt 0.461538 0.875000 +vt 0.423077 0.890625 +vt 0.423077 0.875000 +vt 0.480769 0.867188 +vt 0.423077 0.875000 +vt 0.480769 0.867188 +vt 0.423077 0.875000 +vt 0.480769 0.867188 +vt 0.423077 0.906250 +vt 0.461538 0.890625 +vt 0.461538 0.906250 +vt 0.461538 0.875000 +vt 0.423077 0.890625 +vt 0.461538 0.875000 +vt 0.423077 0.890625 +vt 0.461538 0.875000 +vt 0.423077 0.890625 +vt 0.461538 0.750000 +vt 0.384615 0.781250 +vt 0.384615 0.750000 +vt 0.615385 0.750000 +vt 0.692308 0.500000 +vt 0.692308 0.750000 +vt 0.461538 0.500000 +vt 0.538462 0.500000 +vt 0.538462 0.750000 +vt 0.615385 0.500000 +vt 0.961538 0.875000 +vt 0.923077 0.781250 +vt 0.961538 0.781250 +vt 0.769231 0.656250 +vt 1.000000 0.531250 +vt 1.000000 0.562500 +vt 1.000000 0.906250 +vt 0.961538 0.781250 +vt 1.000000 0.781250 +vt 1.000000 0.781250 +vt 0.692308 0.687500 +vt 0.692308 0.656250 +vt 0.480769 0.820312 +vt 0.403846 0.828125 +vt 0.403846 0.820312 +vt 0.480769 0.820312 +vt 0.403846 0.828125 +vt 0.403846 0.820312 +vt 0.480769 0.789062 +vt 0.384615 0.796875 +vt 0.403846 0.789062 +vt 0.480769 0.781250 +vt 0.403846 0.789062 +vt 0.403846 0.781250 +vt 0.480769 0.781250 +vt 0.403846 0.789062 +vt 0.403846 0.781250 +vt 0.480769 0.781250 +vt 0.403846 0.781250 +vt 0.480769 0.781250 +vt 0.403846 0.789062 +vt 0.403846 0.781250 +vt 0.500000 0.796875 +vt 0.384615 0.812500 +vt 0.384615 0.796875 +vt 0.480769 0.789062 +vt 0.384615 0.796875 +vt 0.480769 0.789062 +vt 0.480769 0.789062 +vt 0.384615 0.796875 +vt 0.480769 0.828125 +vt 0.384615 0.835938 +vt 0.403846 0.828125 +vt 0.500000 0.796875 +vt 0.384615 0.812500 +vt 0.500000 0.796875 +vt 0.384615 0.812500 +vt 0.500000 0.796875 +vt 0.384615 0.812500 +vt 0.480769 0.820312 +vt 0.403846 0.820312 +vt 0.480769 0.820312 +vt 0.403846 0.828125 +vt 0.403846 0.820312 +vt 0.500000 0.835938 +vt 0.384615 0.851562 +vt 0.384615 0.835938 +vt 0.480769 0.828125 +vt 0.384615 0.835938 +vt 0.480769 0.828125 +vt 0.480769 0.828125 +vt 0.384615 0.835938 +vt 0.500000 0.835938 +vt 0.384615 0.851562 +vt 0.500000 0.835938 +vt 0.384615 0.851562 +vt 0.500000 0.835938 +vt 0.384615 0.851562 +vt 0.500000 0.812500 +vt 0.500000 0.812500 +vt 0.500000 0.812500 +vt 0.500000 0.812500 +vt 0.480769 0.859375 +vt 0.403846 0.867188 +vt 0.403846 0.859375 +vt 0.480769 0.859375 +vt 0.403846 0.867188 +vt 0.403846 0.859375 +vt 0.480769 0.859375 +vt 0.403846 0.867188 +vt 0.403846 0.859375 +vt 0.480769 0.859375 +vt 0.403846 0.867188 +vt 0.403846 0.859375 +vt 0.500000 0.851562 +vt 0.500000 0.851562 +vt 0.500000 0.851562 +vt 0.500000 0.851562 +vt 0.480769 0.867188 +vt 0.423077 0.875000 +vt 0.461538 0.875000 +vt 0.423077 0.890625 +vt 0.423077 0.875000 +vt 0.480769 0.867188 +vt 0.423077 0.875000 +vt 0.480769 0.867188 +vt 0.423077 0.875000 +vt 0.480769 0.867188 +vt 0.423077 0.906250 +vt 0.461538 0.890625 +vt 0.461538 0.906250 +vt 0.461538 0.875000 +vt 0.423077 0.890625 +vt 0.461538 0.875000 +vt 0.423077 0.890625 +vt 0.461538 0.875000 +vt 0.423077 0.890625 +vt 0.480769 0.820312 +vt 0.403846 0.828125 +vt 0.403846 0.820312 +vt 0.480769 0.820312 +vt 0.403846 0.828125 +vt 0.403846 0.820312 +vt 0.480769 0.789062 +vt 0.384615 0.796875 +vt 0.403846 0.789062 +vt 0.480769 0.781250 +vt 0.403846 0.789062 +vt 0.403846 0.781250 +vt 0.480769 0.781250 +vt 0.403846 0.789062 +vt 0.403846 0.781250 +vt 0.480769 0.781250 +vt 0.403846 0.781250 +vt 0.480769 0.781250 +vt 0.403846 0.789062 +vt 0.403846 0.781250 +vt 0.500000 0.796875 +vt 0.384615 0.812500 +vt 0.384615 0.796875 +vt 0.480769 0.789062 +vt 0.384615 0.796875 +vt 0.480769 0.789062 +vt 0.480769 0.789062 +vt 0.384615 0.796875 +vt 0.480769 0.828125 +vt 0.384615 0.835938 +vt 0.403846 0.828125 +vt 0.500000 0.796875 +vt 0.384615 0.812500 +vt 0.500000 0.796875 +vt 0.384615 0.812500 +vt 0.500000 0.796875 +vt 0.384615 0.812500 +vt 0.480769 0.820312 +vt 0.403846 0.820312 +vt 0.480769 0.820312 +vt 0.403846 0.828125 +vt 0.403846 0.820312 +vt 0.500000 0.835938 +vt 0.384615 0.851562 +vt 0.384615 0.835938 +vt 0.480769 0.828125 +vt 0.384615 0.835938 +vt 0.480769 0.828125 +vt 0.480769 0.828125 +vt 0.384615 0.835938 +vt 0.500000 0.835938 +vt 0.384615 0.851562 +vt 0.500000 0.835938 +vt 0.384615 0.851562 +vt 0.500000 0.835938 +vt 0.384615 0.851562 +vt 0.500000 0.812500 +vt 0.500000 0.812500 +vt 0.500000 0.812500 +vt 0.500000 0.812500 +vt 0.480769 0.859375 +vt 0.403846 0.867188 +vt 0.403846 0.859375 +vt 0.480769 0.859375 +vt 0.403846 0.867188 +vt 0.403846 0.859375 +vt 0.480769 0.859375 +vt 0.403846 0.867188 +vt 0.403846 0.859375 +vt 0.480769 0.859375 +vt 0.403846 0.867188 +vt 0.403846 0.859375 +vt 0.500000 0.851562 +vt 0.500000 0.851562 +vt 0.500000 0.851562 +vt 0.500000 0.851562 +vt 0.480769 0.867188 +vt 0.423077 0.875000 +vt 0.461538 0.875000 +vt 0.423077 0.890625 +vt 0.423077 0.875000 +vt 0.480769 0.867188 +vt 0.423077 0.875000 +vt 0.480769 0.867188 +vt 0.423077 0.875000 +vt 0.480769 0.867188 +vt 0.423077 0.906250 +vt 0.461538 0.890625 +vt 0.461538 0.906250 +vt 0.461538 0.875000 +vt 0.423077 0.890625 +vt 0.461538 0.875000 +vt 0.423077 0.890625 +vt 0.461538 0.875000 +vt 0.423077 0.890625 +vt 1.000000 0.187500 +vt 0.384615 0.750000 +vt 0.461538 0.890625 +vt 0.461538 0.890625 +vt 0.461538 0.890625 +vt 0.461538 0.781250 +vt 0.384615 0.500000 +vt 0.923077 0.875000 +vt 0.692308 0.656250 +vt 0.961538 0.906250 +vt 0.923077 0.781250 +vt 0.461538 0.890625 +vt 0.461538 0.890625 +vt 0.461538 0.890625 +vt 0.461538 0.890625 +vt 0.461538 0.890625 +vt 0.461538 0.890625 +vn 0.0000 -1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 -0.7071 0.7071 +s off +f 51/69/8 50/70/8 49/71/8 +f 52/72/9 54/73/9 50/70/9 +f 49/74/10 55/75/10 51/76/10 +f 51/76/11 56/77/11 52/72/11 +f 50/78/12 53/79/12 49/74/12 +f 59/80/11 64/81/11 60/82/11 +f 53/83/13 56/77/13 55/84/13 +f 84/85/9 87/86/9 82/87/9 +f 58/88/12 61/89/12 57/90/12 +f 60/82/9 62/91/9 58/92/9 +f 57/90/10 63/93/10 59/80/10 +f 81/94/10 85/95/10 83/96/10 +f 69/97/8 76/98/8 72/99/8 +f 68/100/9 71/101/9 66/102/9 +f 65/103/10 69/104/10 67/105/10 +f 67/106/11 72/99/11 68/107/11 +f 66/108/12 70/109/12 65/110/12 +f 76/111/9 79/112/9 75/113/9 +f 71/114/8 74/115/8 70/109/8 +f 72/116/8 75/113/8 71/101/8 +f 70/117/8 73/118/8 69/104/8 +f 85/119/8 92/120/8 88/121/8 +f 74/122/10 77/123/10 73/118/10 +f 73/124/11 80/125/11 76/98/11 +f 75/126/12 78/127/12 74/115/12 +f 83/128/11 88/121/11 84/129/11 +f 82/130/12 86/131/12 81/132/12 +f 92/133/9 95/134/9 91/135/9 +f 87/136/8 90/137/8 86/131/8 +f 88/138/8 91/135/8 87/86/8 +f 86/139/8 89/140/8 85/95/8 +f 90/141/10 93/142/10 89/140/10 +f 89/143/11 96/144/11 92/120/11 +f 91/145/12 94/146/12 90/137/12 +f 82/130/13 78/127/13 79/147/13 +f 84/85/13 79/112/13 80/148/13 +f 83/128/13 80/125/13 77/149/13 +f 81/94/13 77/123/13 78/150/13 +f 100/151/9 103/152/9 98/153/9 +f 97/154/10 101/155/10 99/156/10 +f 99/157/11 104/158/11 100/159/11 +f 98/160/12 102/161/12 97/162/12 +f 98/160/13 94/146/13 95/163/13 +f 100/151/13 95/134/13 96/164/13 +f 99/157/13 96/144/13 93/165/13 +f 97/154/13 93/142/13 94/166/13 +f 102/167/13 105/168/13 101/155/13 +f 108/169/9 111/170/9 107/171/9 +f 101/172/13 108/173/13 104/158/13 +f 103/174/13 106/175/13 102/161/13 +f 104/176/13 107/171/13 103/152/13 +f 110/177/13 112/178/13 109/179/13 +f 106/180/10 109/181/10 105/168/10 +f 105/182/11 112/183/11 108/173/11 +f 107/184/12 110/185/12 106/175/12 +f 113/186/12 116/187/12 114/188/12 +f 116/189/9 118/190/9 114/191/9 +f 114/188/13 117/192/13 113/186/13 +f 113/186/10 119/193/10 115/194/10 +f 115/194/8 120/195/8 116/189/8 +f 127/196/14 124/197/14 123/198/14 +f 128/199/9 122/200/9 124/201/9 +f 126/202/15 121/203/15 122/204/15 +f 125/205/10 123/206/10 121/207/10 +f 148/208/9 151/209/9 146/210/9 +f 145/211/10 149/212/10 147/213/10 +f 133/214/8 140/215/8 136/216/8 +f 132/217/9 135/218/9 130/219/9 +f 129/220/10 133/221/10 131/222/10 +f 131/223/11 136/216/11 132/224/11 +f 130/225/12 134/226/12 129/227/12 +f 140/228/9 143/229/9 139/230/9 +f 135/231/8 138/232/8 134/226/8 +f 136/233/8 139/230/8 135/218/8 +f 134/234/8 137/235/8 133/221/8 +f 149/236/8 156/237/8 152/238/8 +f 138/239/10 141/240/10 137/235/10 +f 137/241/11 144/242/11 140/215/11 +f 139/243/12 142/244/12 138/232/12 +f 147/245/11 152/238/11 148/246/11 +f 146/247/12 150/248/12 145/249/12 +f 156/250/9 159/251/9 155/252/9 +f 151/253/8 154/254/8 150/248/8 +f 152/255/8 155/252/8 151/209/8 +f 150/256/8 153/257/8 149/212/8 +f 154/258/10 157/259/10 153/257/10 +f 153/260/11 160/261/11 156/237/11 +f 155/262/12 158/263/12 154/254/12 +f 146/247/13 142/244/13 143/264/13 +f 148/208/13 143/229/13 144/265/13 +f 147/245/13 144/242/13 141/266/13 +f 145/211/13 141/240/13 142/267/13 +f 164/268/9 167/269/9 162/270/9 +f 161/271/10 165/272/10 163/273/10 +f 163/274/11 168/275/11 164/276/11 +f 162/277/12 166/278/12 161/279/12 +f 162/277/13 158/263/13 159/280/13 +f 164/268/13 159/251/13 160/281/13 +f 163/274/13 160/261/13 157/282/13 +f 161/271/13 157/259/13 158/283/13 +f 166/284/13 169/285/13 165/272/13 +f 172/286/9 175/287/9 171/288/9 +f 165/289/13 172/290/13 168/275/13 +f 167/291/13 170/292/13 166/278/13 +f 168/293/13 171/288/13 167/269/13 +f 174/294/13 176/295/13 173/296/13 +f 170/297/10 173/298/10 169/285/10 +f 169/299/11 176/300/11 172/290/11 +f 171/301/12 174/302/12 170/292/12 +f 196/303/9 199/304/9 194/305/9 +f 193/306/10 197/307/10 195/308/10 +f 181/309/8 188/310/8 184/311/8 +f 180/312/9 183/313/9 178/314/9 +f 177/315/10 181/316/10 179/317/10 +f 179/318/11 184/311/11 180/319/11 +f 178/320/12 182/321/12 177/322/12 +f 188/323/9 191/324/9 187/325/9 +f 183/326/8 186/327/8 182/321/8 +f 184/328/8 187/325/8 183/313/8 +f 182/329/8 185/330/8 181/316/8 +f 197/331/8 204/332/8 200/333/8 +f 186/334/10 189/335/10 185/330/10 +f 185/336/11 192/337/11 188/310/11 +f 187/338/12 190/339/12 186/327/12 +f 195/340/11 200/333/11 196/341/11 +f 194/342/12 198/343/12 193/344/12 +f 204/345/9 207/346/9 203/347/9 +f 199/348/8 202/349/8 198/343/8 +f 200/350/8 203/347/8 199/304/8 +f 198/351/8 201/352/8 197/307/8 +f 202/353/10 205/354/10 201/352/10 +f 201/355/11 208/356/11 204/332/11 +f 203/357/12 206/358/12 202/349/12 +f 194/342/13 190/339/13 191/359/13 +f 196/303/13 191/324/13 192/360/13 +f 195/340/13 192/337/13 189/361/13 +f 193/306/13 189/335/13 190/362/13 +f 212/363/9 215/364/9 210/365/9 +f 209/366/10 213/367/10 211/368/10 +f 211/369/11 216/370/11 212/371/11 +f 210/372/12 214/373/12 209/374/12 +f 210/372/13 206/358/13 207/375/13 +f 212/363/13 207/346/13 208/376/13 +f 211/369/13 208/356/13 205/377/13 +f 209/366/13 205/354/13 206/378/13 +f 214/379/13 217/380/13 213/367/13 +f 220/381/9 223/382/9 219/383/9 +f 213/384/13 220/385/13 216/370/13 +f 215/386/13 218/387/13 214/373/13 +f 216/388/13 219/383/13 215/364/13 +f 222/389/13 224/390/13 221/391/13 +f 218/392/10 221/393/10 217/380/10 +f 217/394/11 224/395/11 220/385/11 +f 219/396/12 222/397/12 218/387/12 +f 51/69/8 52/72/8 50/70/8 +f 52/72/9 56/77/9 54/73/9 +f 49/74/10 53/79/10 55/75/10 +f 51/76/11 55/75/11 56/77/11 +f 50/78/12 54/398/12 53/79/12 +f 59/80/11 63/93/11 64/81/11 +f 53/83/13 54/73/13 56/77/13 +f 84/85/9 88/138/9 87/86/9 +f 58/88/12 62/399/12 61/89/12 +f 60/82/9 64/81/9 62/91/9 +f 57/90/10 61/89/10 63/93/10 +f 81/94/10 86/139/10 85/95/10 +f 69/97/8 73/124/8 76/98/8 +f 68/100/9 72/116/9 71/101/9 +f 65/103/10 70/117/10 69/104/10 +f 67/106/11 69/97/11 72/99/11 +f 66/108/12 71/114/12 70/109/12 +f 76/111/9 80/148/9 79/112/9 +f 71/114/8 75/126/8 74/115/8 +f 72/116/8 76/111/8 75/113/8 +f 70/117/8 74/122/8 73/118/8 +f 85/119/8 89/143/8 92/120/8 +f 74/122/10 78/150/10 77/123/10 +f 73/124/11 77/149/11 80/125/11 +f 75/126/12 79/147/12 78/127/12 +f 83/128/11 85/119/11 88/121/11 +f 82/130/12 87/136/12 86/131/12 +f 92/133/9 96/164/9 95/134/9 +f 87/136/8 91/145/8 90/137/8 +f 88/138/8 92/133/8 91/135/8 +f 86/139/8 90/141/8 89/140/8 +f 90/141/10 94/166/10 93/142/10 +f 89/143/11 93/165/11 96/144/11 +f 91/145/12 95/163/12 94/146/12 +f 82/130/13 81/132/13 78/127/13 +f 84/85/13 82/87/13 79/112/13 +f 83/128/13 84/129/13 80/125/13 +f 81/94/13 83/96/13 77/123/13 +f 100/151/9 104/176/9 103/152/9 +f 97/154/10 102/167/10 101/155/10 +f 99/157/11 101/172/11 104/158/11 +f 98/160/12 103/174/12 102/161/12 +f 98/160/13 97/162/13 94/146/13 +f 100/151/13 98/153/13 95/134/13 +f 99/157/13 100/159/13 96/144/13 +f 97/154/13 99/156/13 93/142/13 +f 102/167/13 106/180/13 105/168/13 +f 108/169/9 112/178/9 111/170/9 +f 101/172/13 105/182/13 108/173/13 +f 103/174/13 107/184/13 106/175/13 +f 104/176/13 108/169/13 107/171/13 +f 110/177/13 111/170/13 112/178/13 +f 106/180/10 110/400/10 109/181/10 +f 105/182/11 109/401/11 112/183/11 +f 107/184/12 111/402/12 110/185/12 +f 113/186/12 115/403/12 116/187/12 +f 116/189/9 120/195/9 118/190/9 +f 114/188/13 118/404/13 117/192/13 +f 113/186/10 117/192/10 119/193/10 +f 115/194/8 119/193/8 120/195/8 +f 127/196/14 128/405/14 124/197/14 +f 128/199/9 126/406/9 122/200/9 +f 126/202/15 125/407/15 121/203/15 +f 125/205/10 127/408/10 123/206/10 +f 148/208/9 152/255/9 151/209/9 +f 145/211/10 150/256/10 149/212/10 +f 133/214/8 137/241/8 140/215/8 +f 132/217/9 136/233/9 135/218/9 +f 129/220/10 134/234/10 133/221/10 +f 131/223/11 133/214/11 136/216/11 +f 130/225/12 135/231/12 134/226/12 +f 140/228/9 144/265/9 143/229/9 +f 135/231/8 139/243/8 138/232/8 +f 136/233/8 140/228/8 139/230/8 +f 134/234/8 138/239/8 137/235/8 +f 149/236/8 153/260/8 156/237/8 +f 138/239/10 142/267/10 141/240/10 +f 137/241/11 141/266/11 144/242/11 +f 139/243/12 143/264/12 142/244/12 +f 147/245/11 149/236/11 152/238/11 +f 146/247/12 151/253/12 150/248/12 +f 156/250/9 160/281/9 159/251/9 +f 151/253/8 155/262/8 154/254/8 +f 152/255/8 156/250/8 155/252/8 +f 150/256/8 154/258/8 153/257/8 +f 154/258/10 158/283/10 157/259/10 +f 153/260/11 157/282/11 160/261/11 +f 155/262/12 159/280/12 158/263/12 +f 146/247/13 145/249/13 142/244/13 +f 148/208/13 146/210/13 143/229/13 +f 147/245/13 148/246/13 144/242/13 +f 145/211/13 147/213/13 141/240/13 +f 164/268/9 168/293/9 167/269/9 +f 161/271/10 166/284/10 165/272/10 +f 163/274/11 165/289/11 168/275/11 +f 162/277/12 167/291/12 166/278/12 +f 162/277/13 161/279/13 158/263/13 +f 164/268/13 162/270/13 159/251/13 +f 163/274/13 164/276/13 160/261/13 +f 161/271/13 163/273/13 157/259/13 +f 166/284/13 170/297/13 169/285/13 +f 172/286/9 176/295/9 175/287/9 +f 165/289/13 169/299/13 172/290/13 +f 167/291/13 171/301/13 170/292/13 +f 168/293/13 172/286/13 171/288/13 +f 174/294/13 175/287/13 176/295/13 +f 170/297/10 174/409/10 173/298/10 +f 169/299/11 173/410/11 176/300/11 +f 171/301/12 175/411/12 174/302/12 +f 196/303/9 200/350/9 199/304/9 +f 193/306/10 198/351/10 197/307/10 +f 181/309/8 185/336/8 188/310/8 +f 180/312/9 184/328/9 183/313/9 +f 177/315/10 182/329/10 181/316/10 +f 179/318/11 181/309/11 184/311/11 +f 178/320/12 183/326/12 182/321/12 +f 188/323/9 192/360/9 191/324/9 +f 183/326/8 187/338/8 186/327/8 +f 184/328/8 188/323/8 187/325/8 +f 182/329/8 186/334/8 185/330/8 +f 197/331/8 201/355/8 204/332/8 +f 186/334/10 190/362/10 189/335/10 +f 185/336/11 189/361/11 192/337/11 +f 187/338/12 191/359/12 190/339/12 +f 195/340/11 197/331/11 200/333/11 +f 194/342/12 199/348/12 198/343/12 +f 204/345/9 208/376/9 207/346/9 +f 199/348/8 203/357/8 202/349/8 +f 200/350/8 204/345/8 203/347/8 +f 198/351/8 202/353/8 201/352/8 +f 202/353/10 206/378/10 205/354/10 +f 201/355/11 205/377/11 208/356/11 +f 203/357/12 207/375/12 206/358/12 +f 194/342/13 193/344/13 190/339/13 +f 196/303/13 194/305/13 191/324/13 +f 195/340/13 196/341/13 192/337/13 +f 193/306/13 195/308/13 189/335/13 +f 212/363/9 216/388/9 215/364/9 +f 209/366/10 214/379/10 213/367/10 +f 211/369/11 213/384/11 216/370/11 +f 210/372/12 215/386/12 214/373/12 +f 210/372/13 209/374/13 206/358/13 +f 212/363/13 210/365/13 207/346/13 +f 211/369/13 212/371/13 208/356/13 +f 209/366/13 211/368/13 205/354/13 +f 214/379/13 218/392/13 217/380/13 +f 220/381/9 224/390/9 223/382/9 +f 213/384/13 217/394/13 220/385/13 +f 215/386/13 219/396/13 218/387/13 +f 216/388/13 220/381/13 219/383/13 +f 222/389/13 223/382/13 224/390/13 +f 218/392/10 222/412/10 221/393/10 +f 217/394/11 221/413/11 224/395/11 +f 219/396/12 223/414/12 222/397/12 diff --git a/src/main/resources/assets/hbm/models/reactors/icf.obj b/src/main/resources/assets/hbm/models/reactors/icf.obj new file mode 100644 index 000000000..9ff991a0d --- /dev/null +++ b/src/main/resources/assets/hbm/models/reactors/icf.obj @@ -0,0 +1,16720 @@ +# Blender v2.79 (sub 0) OBJ File: 'icf.blend' +# www.blender.org +o Circle +v 0.000000 6.000000 1.500000 +v -0.956709 5.809699 1.500000 +v -1.767767 5.267767 1.500000 +v -2.309699 4.456708 1.500000 +v -2.500000 3.500000 1.500000 +v -2.309699 2.543291 1.500000 +v -1.767767 1.732233 1.500000 +v -0.956709 1.190301 1.500000 +v 0.000000 1.000000 1.500000 +v 0.956708 1.190301 1.500000 +v 1.767766 1.732232 1.500000 +v 2.309698 2.543291 1.500000 +v 2.500000 3.500000 1.500000 +v 2.309698 4.456709 1.500000 +v 1.767766 5.267767 1.500000 +v 0.956707 5.809699 1.500000 +v 0.000000 6.000000 -1.500000 +v -0.956709 5.809699 -1.500000 +v -1.767767 5.267767 -1.500000 +v -2.309699 4.456708 -1.500000 +v -2.500000 3.500000 -1.500000 +v -2.309699 2.543291 -1.500000 +v -1.767767 1.732233 -1.500000 +v -0.956709 1.190301 -1.500000 +v 0.000000 1.000000 -1.500000 +v 0.956708 1.190301 -1.500000 +v 1.767766 1.732232 -1.500000 +v 2.309698 2.543291 -1.500000 +v 2.500000 3.500000 -1.500000 +v 2.309698 4.456709 -1.500000 +v 1.767766 5.267767 -1.500000 +v 0.956707 5.809699 -1.500000 +v 0.000000 5.000000 -2.500000 +v -0.574025 4.885819 -2.500000 +v -1.060660 4.560660 -2.500000 +v -1.385819 4.074025 -2.500000 +v -1.500000 3.500000 -2.500000 +v -1.385819 2.925975 -2.500000 +v -1.060660 2.439340 -2.500000 +v -0.574025 2.114181 -2.500000 +v 0.000000 2.000000 -2.500000 +v 0.574024 2.114181 -2.500000 +v 1.060659 2.439340 -2.500000 +v 1.385818 2.925974 -2.500000 +v 1.500000 3.500000 -2.500000 +v 1.385818 4.074025 -2.500000 +v 1.060659 4.560660 -2.500000 +v 0.574024 4.885819 -2.500000 +v 0.000000 5.000000 2.500000 +v -0.574025 4.885819 2.500000 +v -1.060660 4.560660 2.500000 +v -1.385819 4.074025 2.500000 +v -1.500000 3.500000 2.500000 +v -1.385819 2.925975 2.500000 +v -1.060660 2.439340 2.500000 +v -0.574025 2.114181 2.500000 +v 0.000000 2.000000 2.500000 +v 0.574024 2.114181 2.500000 +v 1.060659 2.439340 2.500000 +v 1.385818 2.925974 2.500000 +v 1.500000 3.500000 2.500000 +v 1.385818 4.074025 2.500000 +v 1.060659 4.560660 2.500000 +v 0.574024 4.885819 2.500000 +v 0.000000 5.000000 -3.000000 +v -0.574025 4.885819 -3.000000 +v -1.060660 4.560660 -3.000000 +v -1.385819 4.074025 -3.000000 +v -1.500000 3.500000 -3.000000 +v -1.385819 2.925975 -3.000000 +v -1.060660 2.439340 -3.000000 +v -0.574025 2.114181 -3.000000 +v 0.000000 2.000000 -3.000000 +v 0.574024 2.114181 -3.000000 +v 1.060659 2.439340 -3.000000 +v 1.385818 2.925974 -3.000000 +v 1.500000 3.500000 -3.000000 +v 1.385818 4.074025 -3.000000 +v 1.060659 4.560660 -3.000000 +v 0.574024 4.885819 -3.000000 +v 0.000000 5.000000 3.000000 +v -0.574025 4.885819 3.000000 +v -1.060660 4.560660 3.000000 +v -1.385819 4.074025 3.000000 +v -1.500000 3.500000 3.000000 +v -1.385819 2.925975 3.000000 +v -1.060660 2.439340 3.000000 +v -0.574025 2.114181 3.000000 +v 0.000000 2.000000 3.000000 +v 0.574024 2.114181 3.000000 +v 1.060659 2.439340 3.000000 +v 1.385818 2.925974 3.000000 +v 1.500000 3.500000 3.000000 +v 1.385818 4.074025 3.000000 +v 1.060659 4.560660 3.000000 +v 0.574024 4.885819 3.000000 +v 0.000000 5.500000 -3.250000 +v -0.765368 5.347759 -3.250000 +v -1.414214 4.914213 -3.250000 +v -1.847759 4.265367 -3.250000 +v -2.000000 3.500000 -3.250000 +v -1.847759 2.734632 -3.250000 +v -1.414214 2.085786 -3.250000 +v -0.765368 1.652241 -3.250000 +v -0.000001 1.500000 -3.250000 +v 0.765366 1.652241 -3.250000 +v 1.414213 2.085786 -3.250000 +v 1.847758 2.734632 -3.250000 +v 2.000000 3.500000 -3.250000 +v 1.847758 4.265367 -3.250000 +v 1.414212 4.914214 -3.250000 +v 0.765366 5.347759 -3.250000 +v 0.000000 5.250000 -3.000000 +v -0.669697 5.116788 -3.000000 +v -1.237437 4.737436 -3.000000 +v -1.616789 4.169695 -3.000000 +v -1.750000 3.500000 -3.000000 +v -1.616789 2.830303 -3.000000 +v -1.237437 2.262563 -3.000000 +v -0.669697 1.883210 -3.000000 +v -0.000001 1.750000 -3.000000 +v 0.669695 1.883210 -3.000000 +v 1.237436 2.262562 -3.000000 +v 1.616789 2.830303 -3.000000 +v 1.750000 3.500000 -3.000000 +v 1.616789 4.169696 -3.000000 +v 1.237436 4.737437 -3.000000 +v 0.669695 5.116789 -3.000000 +v 0.000000 5.250000 -4.500000 +v -0.669697 5.116788 -4.500000 +v -1.237437 4.737436 -4.500000 +v -1.616789 4.169695 -4.500000 +v -1.750000 3.500000 -4.500000 +v -1.616789 2.830303 -4.500000 +v -1.237437 2.262563 -4.500000 +v -0.669697 1.883210 -4.500000 +v -0.000001 1.750000 -4.500000 +v 0.669695 1.883210 -4.500000 +v 1.237436 2.262562 -4.500000 +v 1.616789 2.830303 -4.500000 +v 1.750000 3.500000 -4.500000 +v 1.616789 4.169696 -4.500000 +v 1.237436 4.737437 -4.500000 +v 0.669695 5.116789 -4.500000 +v 0.000000 5.500000 -4.250000 +v -0.765368 5.347759 -4.250000 +v -1.414214 4.914213 -4.250000 +v -1.847759 4.265367 -4.250000 +v -2.000000 3.500000 -4.250000 +v -1.847759 2.734632 -4.250000 +v -1.414214 2.085786 -4.250000 +v -0.765368 1.652241 -4.250000 +v -0.000001 1.500000 -4.250000 +v 0.765366 1.652241 -4.250000 +v 1.414213 2.085786 -4.250000 +v 1.847758 2.734632 -4.250000 +v 2.000000 3.500000 -4.250000 +v 1.847758 4.265367 -4.250000 +v 1.414212 4.914214 -4.250000 +v 0.765366 5.347759 -4.250000 +v 0.000000 5.500000 4.250000 +v -0.765368 5.347759 4.250000 +v -1.414214 4.914213 4.250000 +v -1.847759 4.265367 4.250000 +v -2.000000 3.500000 4.250000 +v -1.847759 2.734632 4.250000 +v -1.414214 2.085786 4.250000 +v -0.765368 1.652241 4.250000 +v -0.000001 1.500000 4.250000 +v 0.765366 1.652241 4.250000 +v 1.414213 2.085786 4.250000 +v 1.847758 2.734632 4.250000 +v 2.000000 3.500000 4.250000 +v 1.847758 4.265367 4.250000 +v 1.414212 4.914214 4.250000 +v 0.765366 5.347759 4.250000 +v 0.000000 5.250000 4.500000 +v -0.669697 5.116788 4.500000 +v -1.237437 4.737436 4.500000 +v -1.616789 4.169695 4.500000 +v -1.750000 3.500000 4.500000 +v -1.616789 2.830303 4.500000 +v -1.237437 2.262563 4.500000 +v -0.669697 1.883210 4.500000 +v -0.000001 1.750000 4.500000 +v 0.669695 1.883210 4.500000 +v 1.237436 2.262562 4.500000 +v 1.616789 2.830303 4.500000 +v 1.750000 3.500000 4.500000 +v 1.616789 4.169696 4.500000 +v 1.237436 4.737437 4.500000 +v 0.669695 5.116789 4.500000 +v 0.000000 5.250000 3.000000 +v -0.669697 5.116788 3.000000 +v -1.237437 4.737436 3.000000 +v -1.616789 4.169695 3.000000 +v -1.750000 3.500000 3.000000 +v -1.616789 2.830303 3.000000 +v -1.237437 2.262563 3.000000 +v -0.669697 1.883210 3.000000 +v -0.000001 1.750000 3.000000 +v 0.669695 1.883210 3.000000 +v 1.237436 2.262562 3.000000 +v 1.616789 2.830303 3.000000 +v 1.750000 3.500000 3.000000 +v 1.616789 4.169696 3.000000 +v 1.237436 4.737437 3.000000 +v 0.669695 5.116789 3.000000 +v 0.000000 5.500000 3.250000 +v -0.765368 5.347759 3.250000 +v -1.414214 4.914213 3.250000 +v -1.847759 4.265367 3.250000 +v -2.000000 3.500000 3.250000 +v -1.847759 2.734632 3.250000 +v -1.414214 2.085786 3.250000 +v -0.765368 1.652241 3.250000 +v -0.000001 1.500000 3.250000 +v 0.765366 1.652241 3.250000 +v 1.414213 2.085786 3.250000 +v 1.847758 2.734632 3.250000 +v 2.000000 3.500000 3.250000 +v 1.847758 4.265367 3.250000 +v 1.414212 4.914214 3.250000 +v 0.765366 5.347759 3.250000 +v -0.000001 4.500000 -4.500000 +v -0.382684 4.423880 -4.500000 +v -0.707108 4.207107 -4.500000 +v -0.923880 3.882683 -4.500000 +v -1.000000 3.500000 -4.500000 +v -0.923880 3.117316 -4.500000 +v -0.707108 2.792893 -4.500000 +v -0.382684 2.576120 -4.500000 +v -0.000001 2.500000 -4.500000 +v 0.382683 2.576120 -4.500000 +v 0.707106 2.792892 -4.500000 +v 0.923879 3.117316 -4.500000 +v 0.999999 3.500000 -4.500000 +v 0.923879 3.882684 -4.500000 +v 0.707106 4.207107 -4.500000 +v 0.382683 4.423880 -4.500000 +v -0.000001 4.500000 -7.000000 +v -0.382684 4.423880 -7.000000 +v -0.707108 4.207107 -7.000000 +v -0.923880 3.882683 -7.000000 +v -1.000000 3.500000 -7.000000 +v -0.923880 3.117316 -7.000000 +v -0.707108 2.792893 -7.000000 +v -0.382684 2.576120 -7.000000 +v -0.000001 2.500000 -7.000000 +v 0.382683 2.576120 -7.000000 +v 0.707106 2.792892 -7.000000 +v 0.923879 3.117316 -7.000000 +v 0.999999 3.500000 -7.000000 +v 0.923879 3.882684 -7.000000 +v 0.707106 4.207107 -7.000000 +v 0.382683 4.423880 -7.000000 +v 0.000000 5.500000 -7.250000 +v -0.765368 5.347759 -7.250000 +v -1.414214 4.914213 -7.250000 +v -1.847759 4.265367 -7.250000 +v -2.000000 3.500000 -7.250000 +v -1.847759 2.734632 -7.250000 +v -1.414214 2.085786 -7.250000 +v -0.765368 1.652241 -7.250000 +v -0.000001 1.500000 -7.250000 +v 0.765366 1.652241 -7.250000 +v 1.414213 2.085786 -7.250000 +v 1.847758 2.734632 -7.250000 +v 2.000000 3.500000 -7.250000 +v 1.847758 4.265367 -7.250000 +v 1.414212 4.914214 -7.250000 +v 0.765366 5.347759 -7.250000 +v 0.000000 5.250000 -7.000000 +v -0.669697 5.116788 -7.000000 +v -1.237437 4.737436 -7.000000 +v -1.616789 4.169695 -7.000000 +v -1.750000 3.500000 -7.000000 +v -1.616789 2.830303 -7.000000 +v -1.237437 2.262563 -7.000000 +v -0.669697 1.883210 -7.000000 +v -0.000001 1.750000 -7.000000 +v 0.669695 1.883210 -7.000000 +v 1.237436 2.262562 -7.000000 +v 1.616789 2.830303 -7.000000 +v 1.750000 3.500000 -7.000000 +v 1.616789 4.169696 -7.000000 +v 1.237436 4.737437 -7.000000 +v 0.669695 5.116789 -7.000000 +v 0.000000 5.250000 -8.500000 +v -0.669697 5.116788 -8.500000 +v -1.237437 4.737436 -8.500000 +v -1.616789 4.169695 -8.500000 +v -1.750000 3.500000 -8.500000 +v -1.616789 2.830303 -8.500000 +v -1.237437 2.262563 -8.500000 +v -0.669697 1.883210 -8.500000 +v -0.000001 1.750000 -8.500000 +v 0.669695 1.883210 -8.500000 +v 1.237436 2.262562 -8.500000 +v 1.616789 2.830303 -8.500000 +v 1.750000 3.500000 -8.500000 +v 1.616789 4.169696 -8.500000 +v 1.237436 4.737437 -8.500000 +v 0.669695 5.116789 -8.500000 +v 0.000000 5.500000 -8.250000 +v -0.765368 5.347759 -8.250000 +v -1.414214 4.914213 -8.250000 +v -1.847759 4.265367 -8.250000 +v -2.000000 3.500000 -8.250000 +v -1.847759 2.734632 -8.250000 +v -1.414214 2.085786 -8.250000 +v -0.765368 1.652241 -8.250000 +v -0.000001 1.500000 -8.250000 +v 0.765366 1.652241 -8.250000 +v 1.414213 2.085786 -8.250000 +v 1.847758 2.734632 -8.250000 +v 2.000000 3.500000 -8.250000 +v 1.847758 4.265367 -8.250000 +v 1.414212 4.914214 -8.250000 +v 0.765366 5.347759 -8.250000 +v 0.000000 5.500000 8.250000 +v -0.765368 5.347759 8.250000 +v -1.414214 4.914213 8.250000 +v -1.847759 4.265367 8.250000 +v -2.000000 3.500000 8.250000 +v -1.847759 2.734632 8.250000 +v -1.414214 2.085786 8.250000 +v -0.765368 1.652241 8.250000 +v -0.000001 1.500000 8.250000 +v 0.765366 1.652241 8.250000 +v 1.414213 2.085786 8.250000 +v 1.847758 2.734632 8.250000 +v 2.000000 3.500000 8.250000 +v 1.847758 4.265367 8.250000 +v 1.414212 4.914214 8.250000 +v 0.765366 5.347759 8.250000 +v 0.000000 5.250000 8.500000 +v -0.669697 5.116788 8.500000 +v -1.237437 4.737436 8.500000 +v -1.616789 4.169695 8.500000 +v -1.750000 3.500000 8.500000 +v -1.616789 2.830303 8.500000 +v -1.237437 2.262563 8.500000 +v -0.669697 1.883210 8.500000 +v -0.000001 1.750000 8.500000 +v 0.669695 1.883210 8.500000 +v 1.237436 2.262562 8.500000 +v 1.616789 2.830303 8.500000 +v 1.750000 3.500000 8.500000 +v 1.616789 4.169696 8.500000 +v 1.237436 4.737437 8.500000 +v 0.669695 5.116789 8.500000 +v 0.000000 5.250000 7.000000 +v -0.669697 5.116788 7.000000 +v -1.237437 4.737436 7.000000 +v -1.616789 4.169695 7.000000 +v -1.750000 3.500000 7.000000 +v -1.616789 2.830303 7.000000 +v -1.237437 2.262563 7.000000 +v -0.669697 1.883210 7.000000 +v -0.000001 1.750000 7.000000 +v 0.669695 1.883210 7.000000 +v 1.237436 2.262562 7.000000 +v 1.616789 2.830303 7.000000 +v 1.750000 3.500000 7.000000 +v 1.616789 4.169696 7.000000 +v 1.237436 4.737437 7.000000 +v 0.669695 5.116789 7.000000 +v 0.000000 5.500000 7.250000 +v -0.765368 5.347759 7.250000 +v -1.414214 4.914213 7.250000 +v -1.847759 4.265367 7.250000 +v -2.000000 3.500000 7.250000 +v -1.847759 2.734632 7.250000 +v -1.414214 2.085786 7.250000 +v -0.765368 1.652241 7.250000 +v -0.000001 1.500000 7.250000 +v 0.765366 1.652241 7.250000 +v 1.414213 2.085786 7.250000 +v 1.847758 2.734632 7.250000 +v 2.000000 3.500000 7.250000 +v 1.847758 4.265367 7.250000 +v 1.414212 4.914214 7.250000 +v 0.765366 5.347759 7.250000 +v -0.000001 4.500000 4.500000 +v -0.382684 4.423880 4.500000 +v -0.707108 4.207107 4.500000 +v -0.923880 3.882683 4.500000 +v -1.000000 3.500000 4.500000 +v -0.923880 3.117316 4.500000 +v -0.707108 2.792893 4.500000 +v -0.382684 2.576120 4.500000 +v -0.000001 2.500000 4.500000 +v 0.382683 2.576120 4.500000 +v 0.707106 2.792892 4.500000 +v 0.923879 3.117316 4.500000 +v 0.999999 3.500000 4.500000 +v 0.923879 3.882684 4.500000 +v 0.707106 4.207107 4.500000 +v 0.382683 4.423880 4.500000 +v -0.000001 4.500000 7.000000 +v -0.382684 4.423880 7.000000 +v -0.707108 4.207107 7.000000 +v -0.923880 3.882683 7.000000 +v -1.000000 3.500000 7.000000 +v -0.923880 3.117316 7.000000 +v -0.707108 2.792893 7.000000 +v -0.382684 2.576120 7.000000 +v -0.000001 2.500000 7.000000 +v 0.382683 2.576120 7.000000 +v 0.707106 2.792892 7.000000 +v 0.923879 3.117316 7.000000 +v 0.999999 3.500000 7.000000 +v 0.923879 3.882684 7.000000 +v 0.707106 4.207107 7.000000 +v 0.382683 4.423880 7.000000 +v -0.000001 3.750000 -8.500000 +v -0.095672 3.730969 -8.500000 +v -0.176777 3.676777 -8.500000 +v -0.230970 3.595671 -8.500000 +v -0.250001 3.500000 -8.500000 +v -0.230970 3.404329 -8.500000 +v -0.176777 3.323223 -8.500000 +v -0.095672 3.269031 -8.500000 +v -0.000001 3.250000 -8.500000 +v 0.095671 3.269030 -8.500000 +v 0.176776 3.323223 -8.500000 +v 0.230969 3.404329 -8.500000 +v 0.249999 3.500000 -8.500000 +v 0.230969 3.595671 -8.500000 +v 0.176776 3.676777 -8.500000 +v 0.095670 3.730970 -8.500000 +v -0.095672 3.730969 -8.250000 +v -0.000001 3.750000 -8.250000 +v -0.176777 3.676777 -8.250000 +v -0.230970 3.595671 -8.250000 +v -0.250001 3.500000 -8.250000 +v -0.230970 3.404329 -8.250000 +v -0.176777 3.323223 -8.250000 +v -0.095672 3.269031 -8.250000 +v -0.000001 3.250000 -8.250000 +v 0.095671 3.269030 -8.250000 +v 0.176776 3.323223 -8.250000 +v 0.230969 3.404329 -8.250000 +v 0.249999 3.500000 -8.250000 +v 0.230969 3.595671 -8.250000 +v 0.176776 3.676777 -8.250000 +v 0.095670 3.730970 -8.250000 +v -0.000001 3.750000 8.500000 +v -0.095672 3.730969 8.500000 +v -0.176777 3.676777 8.500000 +v -0.230970 3.595671 8.500000 +v -0.250001 3.500000 8.500000 +v -0.230970 3.404329 8.500000 +v -0.176777 3.323223 8.500000 +v -0.095672 3.269031 8.500000 +v -0.000001 3.250000 8.500000 +v 0.095671 3.269030 8.500000 +v 0.176776 3.323223 8.500000 +v 0.230969 3.404329 8.500000 +v 0.249999 3.500000 8.500000 +v 0.230969 3.595671 8.500000 +v 0.176776 3.676777 8.500000 +v 0.095670 3.730970 8.500000 +v -0.095672 3.730969 8.250000 +v -0.000001 3.750000 8.250000 +v -0.176777 3.676777 8.250000 +v -0.230970 3.595671 8.250000 +v -0.250001 3.500000 8.250000 +v -0.230970 3.404329 8.250000 +v -0.176777 3.323223 8.250000 +v -0.095672 3.269031 8.250000 +v -0.000001 3.250000 8.250000 +v 0.095671 3.269030 8.250000 +v 0.176776 3.323223 8.250000 +v 0.230969 3.404329 8.250000 +v 0.249999 3.500000 8.250000 +v 0.230969 3.595671 8.250000 +v 0.176776 3.676777 8.250000 +v 0.095670 3.730970 8.250000 +v -0.000001 5.000000 -4.500000 +v -0.574026 4.885819 -4.500000 +v -1.060660 4.560660 -4.500000 +v -1.385819 4.074025 -4.500000 +v -1.500000 3.500000 -4.500000 +v -1.385819 2.925975 -4.500000 +v -1.060660 2.439340 -4.500000 +v -0.574026 2.114181 -4.500000 +v -0.000001 2.000000 -4.500000 +v 0.574024 2.114181 -4.500000 +v 1.060659 2.439340 -4.500000 +v 1.385818 2.925974 -4.500000 +v 1.499999 3.500000 -4.500000 +v 1.385818 4.074025 -4.500000 +v 1.060659 4.560660 -4.500000 +v 0.574024 4.885819 -4.500000 +v -0.000001 5.000000 -7.000000 +v -0.574026 4.885819 -7.000000 +v -1.060660 4.560660 -7.000000 +v -1.385819 4.074025 -7.000000 +v -1.500000 3.500000 -7.000000 +v -1.385819 2.925975 -7.000000 +v -1.060660 2.439340 -7.000000 +v -0.574026 2.114181 -7.000000 +v -0.000001 2.000000 -7.000000 +v 0.574024 2.114181 -7.000000 +v 1.060659 2.439340 -7.000000 +v 1.385818 2.925974 -7.000000 +v 1.499999 3.500000 -7.000000 +v 1.385818 4.074025 -7.000000 +v 1.060659 4.560660 -7.000000 +v 0.574024 4.885819 -7.000000 +v -0.000001 5.000000 7.000000 +v -0.574026 4.885819 7.000000 +v -1.060660 4.560660 7.000000 +v -1.385819 4.074025 7.000000 +v -1.500000 3.500000 7.000000 +v -1.385819 2.925975 7.000000 +v -1.060660 2.439340 7.000000 +v -0.574026 2.114181 7.000000 +v -0.000001 2.000000 7.000000 +v 0.574024 2.114181 7.000000 +v 1.060659 2.439340 7.000000 +v 1.385818 2.925974 7.000000 +v 1.499999 3.500000 7.000000 +v 1.385818 4.074025 7.000000 +v 1.060659 4.560660 7.000000 +v 0.574024 4.885819 7.000000 +v -0.000001 5.000000 4.500000 +v -0.574026 4.885819 4.500000 +v -1.060660 4.560660 4.500000 +v -1.385819 4.074025 4.500000 +v -1.500000 3.500000 4.500000 +v -1.385819 2.925975 4.500000 +v -1.060660 2.439340 4.500000 +v -0.574026 2.114181 4.500000 +v -0.000001 2.000000 4.500000 +v 0.574024 2.114181 4.500000 +v 1.060659 2.439340 4.500000 +v 1.385818 2.925974 4.500000 +v 1.499999 3.500000 4.500000 +v 1.385818 4.074025 4.500000 +v 1.060659 4.560660 4.500000 +v 0.574024 4.885819 4.500000 +v -1.500000 5.750000 -3.375000 +v 1.500000 5.750000 -3.375000 +v -1.500000 5.750000 -4.125000 +v 1.500000 5.750000 -4.125000 +v -1.500000 4.750000 -4.125000 +v -1.500000 4.750000 -3.375000 +v 1.500000 4.750000 -3.375000 +v 1.500000 4.750000 -4.125000 +v -1.500000 5.750000 -7.375000 +v 1.500000 5.750000 -7.375000 +v -1.500000 5.750000 -8.125000 +v 1.500000 5.750000 -8.125000 +v -1.500000 4.750000 -8.125000 +v -1.500000 4.750000 -7.375000 +v 1.500000 4.750000 -7.375000 +v 1.500000 4.750000 -8.125000 +v -1.500000 5.750000 8.125000 +v 1.500000 5.750000 8.125000 +v -1.500000 5.750000 7.375000 +v 1.500000 5.750000 7.375000 +v -1.500000 4.750000 7.375000 +v -1.500000 4.750000 8.125000 +v 1.500000 4.750000 8.125000 +v 1.500000 4.750000 7.375000 +v -1.500000 5.750000 4.125000 +v 1.500000 5.750000 4.125000 +v -1.500000 5.750000 3.375000 +v 1.500000 5.750000 3.375000 +v -1.500000 4.750000 3.375000 +v -1.500000 4.750000 4.125000 +v 1.500000 4.750000 4.125000 +v 1.500000 4.750000 3.375000 +v 1.000000 5.250000 -4.125000 +v 1.375000 5.250000 -4.125000 +v 1.000000 5.625000 -4.125000 +v 1.375000 5.625000 -4.125000 +v 1.000000 5.250000 -7.375000 +v 1.375000 5.250000 -7.375000 +v 1.000000 5.625000 -7.375000 +v 1.375000 5.625000 -7.375000 +v -1.375000 5.250000 -4.125000 +v -1.000000 5.250000 -4.125000 +v -1.375000 5.625000 -4.125000 +v -1.000000 5.625000 -4.125000 +v -1.375000 5.250000 -7.375000 +v -1.000000 5.250000 -7.375000 +v -1.375000 5.625000 -7.375000 +v -1.000000 5.625000 -7.375000 +v 1.000000 5.250000 7.375000 +v 1.375000 5.250000 7.375000 +v 1.000000 5.625000 7.375000 +v 1.375000 5.625000 7.375000 +v 1.000000 5.250000 4.125000 +v 1.375000 5.250000 4.125000 +v 1.000000 5.625000 4.125000 +v 1.375000 5.625000 4.125000 +v -1.375000 5.250000 7.375000 +v -1.000000 5.250000 7.375000 +v -1.375000 5.625000 7.375000 +v -1.000000 5.625000 7.375000 +v -1.375000 5.250000 4.125000 +v -1.000000 5.250000 4.125000 +v -1.375000 5.625000 4.125000 +v -1.000000 5.625000 4.125000 +v 0.750000 5.750000 4.000000 +v 1.250000 5.750000 4.000000 +v 0.750000 5.750000 -4.000000 +v 1.250000 5.750000 -4.000000 +v 0.750000 6.000000 -3.750000 +v 0.750000 6.000000 3.750000 +v 1.250000 6.000000 3.750000 +v 1.250000 6.000000 -3.750000 +v -1.250000 5.750000 4.000000 +v -0.750000 5.750000 4.000000 +v -1.250000 5.750000 -4.000000 +v -0.750000 5.750000 -4.000000 +v -1.250000 6.000000 -3.750000 +v -1.250000 6.000000 3.750000 +v -0.750000 6.000000 3.750000 +v -0.750000 6.000000 -3.750000 +v -1.500000 2.250000 -3.375000 +v 1.500000 2.250000 -3.375000 +v -1.500000 2.250000 -4.125000 +v 1.500000 2.250000 -4.125000 +v -1.500000 1.250000 -4.125000 +v -1.500000 1.250000 -3.375000 +v 1.500000 1.250000 -3.375000 +v 1.500000 1.250000 -4.125000 +v -1.500000 2.250000 -7.375000 +v 1.500000 2.250000 -7.375000 +v -1.500000 2.250000 -8.125000 +v 1.500000 2.250000 -8.125000 +v -1.500000 1.250000 -8.125000 +v -1.500000 1.250000 -7.375000 +v 1.500000 1.250000 -7.375000 +v 1.500000 1.250000 -8.125000 +v -1.500000 2.250000 8.125000 +v 1.500000 2.250000 8.125000 +v -1.500000 2.250000 7.375000 +v 1.500000 2.250000 7.375000 +v -1.500000 1.250000 7.375000 +v -1.500000 1.250000 8.125000 +v 1.500000 1.250000 8.125000 +v 1.500000 1.250000 7.375000 +v -1.500000 2.250000 4.125000 +v 1.500000 2.250000 4.125000 +v -1.500000 2.250000 3.375000 +v 1.500000 2.250000 3.375000 +v -1.500000 1.250000 3.375000 +v -1.500000 1.250000 4.125000 +v 1.500000 1.250000 4.125000 +v 1.500000 1.250000 3.375000 +v 1.000000 1.375000 -4.125000 +v 1.375000 1.375000 -4.125000 +v 1.000000 1.750000 -4.125000 +v 1.375000 1.750000 -4.125000 +v 1.000000 1.375000 -7.375000 +v 1.375000 1.375000 -7.375000 +v 1.000000 1.750000 -7.375000 +v 1.375000 1.750000 -7.375000 +v -1.375000 1.375000 -4.125000 +v -1.000000 1.375000 -4.125000 +v -1.375000 1.750000 -4.125000 +v -1.000000 1.750000 -4.125000 +v -1.375000 1.375000 -7.375000 +v -1.000000 1.375000 -7.375000 +v -1.375000 1.750000 -7.375000 +v -1.000000 1.750000 -7.375000 +v 1.000000 1.375000 7.375000 +v 1.375000 1.375000 7.375000 +v 1.000000 1.750000 7.375000 +v 1.375000 1.750000 7.375000 +v 1.000000 1.375000 4.125000 +v 1.375000 1.375000 4.125000 +v 1.000000 1.750000 4.125000 +v 1.375000 1.750000 4.125000 +v -1.375000 1.375000 7.375000 +v -1.000000 1.375000 7.375000 +v -1.375000 1.750000 7.375000 +v -1.000000 1.750000 7.375000 +v -1.375000 1.375000 4.125000 +v -1.000000 1.375000 4.125000 +v -1.375000 1.750000 4.125000 +v -1.000000 1.750000 4.125000 +v -0.750000 1.250000 4.000000 +v -1.250000 1.250000 4.000000 +v -0.750000 1.250000 -4.000000 +v -1.250000 1.250000 -4.000000 +v -0.750000 1.000000 -3.750000 +v -0.750000 1.000000 3.750000 +v -1.250000 1.000000 3.750000 +v -1.250000 1.000000 -3.750000 +v 1.250000 1.250000 4.000000 +v 0.750000 1.250000 4.000000 +v 1.250000 1.250000 -4.000000 +v 0.750000 1.250000 -4.000000 +v 1.250000 1.000000 -3.750000 +v 1.250000 1.000000 3.750000 +v 0.750000 1.000000 3.750000 +v 0.750000 1.000000 -3.750000 +v 1.250000 0.750000 -8.500000 +v 1.750000 0.750000 -8.500000 +v 1.250000 1.250000 -8.500000 +v 1.750000 1.250000 -8.500000 +v 1.250000 0.750000 8.500000 +v 1.750000 0.750000 8.500000 +v 1.250000 1.250000 8.500000 +v 1.750000 1.250000 8.500000 +v 1.250000 0.000000 8.250000 +v 1.750000 0.000000 8.250000 +v 1.250000 0.000000 7.750000 +v 1.750000 0.000000 7.750000 +v 1.250000 0.125000 7.750000 +v 1.250000 0.125000 8.250000 +v 1.750000 0.125000 8.250000 +v 1.750000 0.125000 7.750000 +v 1.312500 0.125000 7.812500 +v 1.312500 0.125000 8.187500 +v 1.687500 0.125000 8.187500 +v 1.687500 0.125000 7.812500 +v 1.312500 0.750000 7.812500 +v 1.312500 0.750000 8.187500 +v 1.687500 0.750000 8.187500 +v 1.687500 0.750000 7.812500 +v -1.750000 0.750000 -8.500000 +v -1.250000 0.750000 -8.500000 +v -1.750000 1.250000 -8.500000 +v -1.250000 1.250000 -8.500000 +v -1.750000 0.750000 8.500000 +v -1.250000 0.750000 8.500000 +v -1.750000 1.250000 8.500000 +v -1.250000 1.250000 8.500000 +v -0.375000 6.000000 0.375000 +v 0.375000 6.000000 0.375000 +v -0.375000 6.000000 -0.375000 +v 0.375000 6.000000 -0.375000 +v -0.375000 5.875000 -0.375000 +v -0.375000 5.875000 0.375000 +v 0.375000 5.875000 0.375000 +v 0.375000 5.875000 -0.375000 +v -0.375000 0.000000 0.375000 +v 0.375000 0.000000 0.375000 +v -0.375000 0.000000 -0.375000 +v 0.375000 0.000000 -0.375000 +v -0.375000 1.125000 -0.375000 +v -0.375000 1.125000 0.375000 +v 0.375000 1.125000 0.375000 +v 0.375000 1.125000 -0.375000 +v 2.500000 3.750000 6.250000 +v 2.500000 3.250000 6.250000 +v 2.500000 3.750000 5.750000 +v 2.500000 3.250000 5.750000 +v 1.500000 3.750000 5.750000 +v 1.500000 3.750000 6.250000 +v 1.500000 3.250000 6.250000 +v 1.500000 3.250000 5.750000 +v 1.500000 3.875000 5.625000 +v 1.500000 3.875000 6.375000 +v 1.500000 3.125000 6.375000 +v 1.500000 3.125000 5.625000 +v 0.875000 3.875000 5.625000 +v 0.875000 3.875000 6.375000 +v 0.875000 3.125000 6.375000 +v 0.875000 3.125000 5.625000 +v 5.370945 3.437636 -0.031646 +v 5.482748 3.437636 0.024255 +v 5.479053 3.562364 0.031646 +v 5.367250 3.562364 -0.024256 +v 3.989082 5.816198 2.732081 +v 4.100885 5.816198 2.787983 +v 4.148417 5.881990 2.692919 +v 4.036614 5.881990 2.637018 +v 5.093926 3.397937 0.522393 +v 5.205729 3.397937 0.578294 +v 5.213573 3.521701 0.562607 +v 5.101769 3.521701 0.506706 +v 4.813114 3.624890 1.084016 +v 4.924919 3.624890 1.139917 +v 4.951885 3.734385 1.085984 +v 4.840080 3.734385 1.030083 +v 4.535995 4.104363 1.638257 +v 4.647799 4.104363 1.694158 +v 4.686504 4.194551 1.616744 +v 4.574701 4.194551 1.560842 +v 4.261469 4.832593 2.187310 +v 4.373272 4.832593 2.243212 +v 4.418531 4.905957 2.152690 +v 4.306728 4.905957 2.096789 +v 5.392796 3.466860 -0.075347 +v 5.504599 3.466860 -0.019445 +v 5.457203 3.533140 0.075347 +v 5.345400 3.533140 0.019445 +v 4.011459 1.088484 2.687328 +v 4.123262 1.088484 2.743229 +v 4.126041 1.213329 2.737673 +v 4.014238 1.213329 2.681771 +v 5.120440 2.493382 0.469364 +v 5.232244 2.493382 0.525266 +v 5.187058 2.566979 0.615636 +v 5.075255 2.566979 0.559734 +v 4.845951 1.765268 1.018342 +v 4.957754 1.765268 1.074244 +v 4.919048 1.855455 1.151658 +v 4.807245 1.855455 1.095756 +v 4.568831 1.285796 1.572583 +v 4.680634 1.285796 1.628485 +v 4.653668 1.395291 1.682417 +v 4.541865 1.395291 1.626516 +v 4.288248 1.058917 2.133752 +v 4.400051 1.058917 2.189653 +v 4.391752 1.182532 2.206249 +v 4.279949 1.182532 2.150347 +v 5.384722 3.444246 -0.055514 +v 5.493280 3.444246 0.006453 +v 5.465277 3.555754 0.055514 +v 5.356718 3.555754 -0.006453 +v 1.931818 3.444246 5.993546 +v 2.040377 3.444246 6.055514 +v 2.068381 3.555754 6.006454 +v 1.959822 3.555754 5.944486 +v 2.424219 2.941473 5.130919 +v 2.532779 2.941473 5.192886 +v 2.554522 3.058527 5.154795 +v 2.445963 3.058527 5.092828 +v 3.409801 2.437981 3.404303 +v 3.518359 2.437981 3.466271 +v 3.526027 2.562019 3.452839 +v 3.417467 2.562019 3.390872 +v 3.906738 2.437981 2.533729 +v 4.015297 2.437981 2.595696 +v 4.007631 2.562019 2.609128 +v 3.899072 2.562019 2.547160 +v 4.892321 2.941473 0.807114 +v 5.000879 2.941473 0.869081 +v 4.979136 3.058527 0.907172 +v 4.870577 3.058527 0.845204 +v 0.000000 5.875000 -1.250000 +v -0.908873 5.694214 -1.250000 +v -1.679379 5.179379 -1.250000 +v -2.194214 4.408875 -1.250000 +v -2.375000 3.500000 -1.250000 +v -2.194214 2.591125 -1.250000 +v -1.679379 1.820621 -1.250000 +v -0.908874 1.305786 -1.250000 +v 0.000000 1.125000 -1.250000 +v 0.908873 1.305786 -1.250000 +v 1.679379 1.820621 -1.250000 +v 2.194214 2.591125 -1.250000 +v 2.375000 3.500000 -1.250000 +v 2.194214 4.408875 -1.250000 +v 1.679378 5.179379 -1.250000 +v 0.908872 5.694214 -1.250000 +v 0.000000 5.875000 1.250000 +v -0.908873 5.694214 1.250000 +v -1.679379 5.179379 1.250000 +v -2.194214 4.408875 1.250000 +v -2.375000 3.500000 1.250000 +v -2.194214 2.591125 1.250000 +v -1.679379 1.820621 1.250000 +v -0.908874 1.305786 1.250000 +v 0.000000 1.125000 1.250000 +v 0.908873 1.305786 1.250000 +v 1.679379 1.820621 1.250000 +v 2.194214 2.591125 1.250000 +v 2.375000 3.500000 1.250000 +v 2.194214 4.408875 1.250000 +v 1.679378 5.179379 1.250000 +v 0.908872 5.694214 1.250000 +v 0.000000 5.000000 2.250000 +v -0.574025 4.885818 2.250000 +v -1.060660 4.560659 2.250000 +v -1.385819 4.074025 2.250000 +v -1.500000 3.500000 2.250000 +v -1.385819 2.925975 2.250000 +v -1.060660 2.439340 2.250000 +v -0.574025 2.114181 2.250000 +v 0.000000 2.000000 2.250000 +v 0.574024 2.114181 2.250000 +v 1.060659 2.439340 2.250000 +v 1.385818 2.925974 2.250000 +v 1.500000 3.500000 2.250000 +v 1.385818 4.074025 2.250000 +v 1.060659 4.560660 2.250000 +v 0.574024 4.885819 2.250000 +v 0.000000 5.000000 -2.250000 +v -0.574025 4.885818 -2.250000 +v -1.060660 4.560659 -2.250000 +v -1.385819 4.074025 -2.250000 +v -1.500000 3.500000 -2.250000 +v -1.385819 2.925975 -2.250000 +v -1.060660 2.439340 -2.250000 +v -0.574025 2.114181 -2.250000 +v 0.000000 2.000000 -2.250000 +v 0.574024 2.114181 -2.250000 +v 1.060659 2.439340 -2.250000 +v 1.385818 2.925974 -2.250000 +v 1.500000 3.500000 -2.250000 +v 1.385818 4.074025 -2.250000 +v 1.060659 4.560660 -2.250000 +v 0.574024 4.885819 -2.250000 +v -1.767767 5.267767 1.250000 +v -2.309699 4.456709 1.250000 +v -2.309699 2.543291 1.250000 +v -1.767767 1.732233 1.250000 +v 1.767766 1.732232 1.250000 +v 2.309698 2.543291 1.250000 +v 2.309698 4.456709 1.250000 +v 1.767766 5.267767 1.250000 +v -1.767767 5.267767 -1.250000 +v -2.309699 4.456709 -1.250000 +v -2.309699 2.543291 -1.250000 +v -1.767767 1.732233 -1.250000 +v 1.767766 1.732232 -1.250000 +v 2.309698 2.543291 -1.250000 +v 2.309698 4.456709 -1.250000 +v 1.767766 5.267767 -1.250000 +v 3.250000 3.500000 -0.750001 +v 3.250000 3.875000 -0.649519 +v 3.250000 4.149519 -0.375001 +v 3.250000 4.250000 -0.000001 +v 3.250000 4.149519 0.374999 +v 3.250000 3.875000 0.649518 +v 3.250000 3.500000 0.749999 +v 3.250000 3.125000 0.649519 +v 3.250000 2.850481 0.375000 +v 3.250000 2.750000 -0.000000 +v 3.250000 2.850481 -0.375000 +v 3.250000 3.125000 -0.649520 +v 3.000000 3.500000 -0.500000 +v 3.000000 3.750000 -0.433013 +v 3.000000 3.933013 -0.250000 +v 3.000000 4.000000 -0.000001 +v 3.000000 3.933013 0.249999 +v 3.000000 3.750000 0.433012 +v 3.000000 3.500000 0.499999 +v 3.000000 3.250000 0.433012 +v 3.000000 3.066987 0.250000 +v 3.000000 3.000000 -0.000000 +v 3.000000 3.066987 -0.250000 +v 3.000000 3.250000 -0.433013 +v 4.750000 3.500000 -0.750001 +v 4.750000 3.875000 -0.649520 +v 4.750000 4.149519 -0.375001 +v 4.750000 4.250000 -0.000001 +v 4.750000 4.149519 0.374999 +v 4.750000 3.875000 0.649518 +v 4.750000 3.500000 0.749999 +v 4.750000 3.125000 0.649518 +v 4.750000 2.850481 0.374999 +v 4.750000 2.750000 -0.000000 +v 4.750000 2.850481 -0.375000 +v 4.750000 3.125000 -0.649520 +v 5.000000 3.500000 -0.500001 +v 5.000000 3.750000 -0.433014 +v 5.000000 3.933013 -0.250001 +v 5.000000 4.000000 -0.000001 +v 5.000000 3.933013 0.249999 +v 5.000000 3.750000 0.433012 +v 5.000000 3.500000 0.499999 +v 5.000000 3.250000 0.433012 +v 5.000000 3.066987 0.249999 +v 5.000000 3.000000 -0.000001 +v 5.000000 3.066987 -0.250001 +v 5.000000 3.250000 -0.433013 +v 5.000000 3.500000 -0.375001 +v 5.000000 3.687500 -0.324760 +v 5.000000 3.824759 -0.187501 +v 5.000000 3.875000 -0.000001 +v 5.000000 3.824759 0.187499 +v 5.000000 3.687500 0.324759 +v 5.000000 3.500000 0.374999 +v 5.000000 3.312500 0.324759 +v 5.000000 3.175241 0.187499 +v 5.000000 3.125000 -0.000001 +v 5.000000 3.175241 -0.187501 +v 5.000000 3.312500 -0.324760 +v 5.875000 3.687500 -0.324760 +v 5.875000 3.500000 -0.375001 +v 5.875000 3.824759 -0.187501 +v 5.875000 3.875000 -0.000001 +v 5.875000 3.824759 0.187499 +v 5.875000 3.687500 0.324759 +v 5.875000 3.500000 0.374999 +v 5.875000 3.312500 0.324759 +v 5.875000 3.175241 0.187499 +v 5.875000 3.125000 -0.000001 +v 5.875000 3.175241 -0.187501 +v 5.875000 3.312500 -0.324760 +v 1.500000 3.500000 -0.500000 +v 1.500000 3.750000 -0.433013 +v 1.500000 3.933013 -0.250000 +v 1.500000 4.000000 -0.000000 +v 1.500000 3.933013 0.250000 +v 1.500000 3.750000 0.433012 +v 1.500000 3.500000 0.500000 +v 1.500000 3.250000 0.433012 +v 1.500000 3.066987 0.250000 +v 1.500000 3.000000 -0.000000 +v 1.500000 3.066987 -0.250000 +v 1.500000 3.250000 -0.433013 +v 1.500000 3.500000 -0.250000 +v 1.500000 3.625000 -0.216507 +v 1.500000 3.716506 -0.125000 +v 1.500000 3.750000 -0.000000 +v 1.500000 3.716506 0.125000 +v 1.500000 3.625000 0.216506 +v 1.500000 3.500000 0.250000 +v 1.500000 3.375000 0.216506 +v 1.500000 3.283494 0.125000 +v 1.500000 3.250000 -0.000000 +v 1.500000 3.283494 -0.125000 +v 1.500000 3.375000 -0.216507 +v 0.750000 3.500000 -0.250000 +v 0.750000 3.625000 -0.216507 +v 0.750000 3.716506 -0.125000 +v 0.750000 3.750000 -0.000000 +v 0.750000 3.716506 0.125000 +v 0.750000 3.625000 0.216506 +v 0.750000 3.500000 0.250000 +v 0.750000 3.375000 0.216506 +v 0.750000 3.283494 0.125000 +v 0.750000 3.250000 -0.000000 +v 0.750000 3.283494 -0.125000 +v 0.750000 3.375000 -0.216506 +v 0.750000 3.562500 -0.108253 +v 0.750000 3.500000 -0.125000 +v 0.750000 3.608253 -0.062500 +v 0.750000 3.625000 -0.000000 +v 0.750000 3.608253 0.062500 +v 0.750000 3.562500 0.108253 +v 0.750000 3.500000 0.125000 +v 0.750000 3.437500 0.108253 +v 0.750000 3.391747 0.062500 +v 0.750000 3.375000 -0.000000 +v 0.750000 3.391747 -0.062500 +v 0.750000 3.437500 -0.108253 +v 0.500000 3.562500 -0.108253 +v 0.500000 3.500000 -0.125000 +v 0.500000 3.608253 -0.062500 +v 0.500000 3.625000 -0.000000 +v 0.500000 3.608253 0.062500 +v 0.500000 3.562500 0.108253 +v 0.500000 3.500000 0.125000 +v 0.500000 3.437500 0.108253 +v 0.500000 3.391747 0.062500 +v 0.500000 3.375000 -0.000000 +v 0.500000 3.391747 -0.062500 +v 0.500000 3.437500 -0.108253 +v 0.500000 3.500000 2.250000 +v 0.433013 3.750000 2.250000 +v 0.250000 3.933013 2.250000 +v 0.000000 4.000000 2.250000 +v -0.250000 3.933013 2.250000 +v -0.433013 3.750000 2.250000 +v -0.500000 3.500000 2.250000 +v -0.433013 3.250000 2.250000 +v -0.250000 3.066987 2.250000 +v 0.000000 3.000000 2.250000 +v 0.250000 3.066987 2.250000 +v 0.433012 3.250000 2.250000 +v 0.500000 3.500000 1.500000 +v 0.433012 3.750000 1.500000 +v 0.250000 3.933013 1.500000 +v 0.000000 4.000000 1.500000 +v -0.250000 3.933013 1.500000 +v -0.433013 3.750000 1.500000 +v -0.500000 3.500000 1.500000 +v -0.433013 3.250000 1.500000 +v -0.250000 3.066987 1.500000 +v 0.000000 3.000000 1.500000 +v 0.250000 3.066987 1.500000 +v 0.433012 3.250000 1.500000 +v 0.250000 3.500000 1.500000 +v 0.216506 3.625000 1.500000 +v 0.125000 3.716506 1.500000 +v 0.000000 3.750000 1.500000 +v -0.125000 3.716506 1.500000 +v -0.216507 3.625000 1.500000 +v -0.250000 3.500000 1.500000 +v -0.216507 3.375000 1.500000 +v -0.125000 3.283494 1.500000 +v 0.000000 3.250000 1.500000 +v 0.125000 3.283494 1.500000 +v 0.216506 3.375000 1.500000 +v 0.250000 3.500000 0.750000 +v 0.216506 3.625000 0.750000 +v 0.125000 3.716506 0.750000 +v 0.000000 3.750000 0.750000 +v -0.125000 3.716506 0.750000 +v -0.216507 3.625000 0.750000 +v -0.250000 3.500000 0.750000 +v -0.216507 3.375000 0.750000 +v -0.125000 3.283494 0.750000 +v 0.000000 3.250000 0.750000 +v 0.125000 3.283494 0.750000 +v 0.216506 3.375000 0.750000 +v 0.108253 3.562500 0.750000 +v 0.125000 3.500000 0.750000 +v 0.062500 3.608253 0.750000 +v 0.000000 3.625000 0.750000 +v -0.062500 3.608253 0.750000 +v -0.108253 3.562500 0.750000 +v -0.125000 3.500000 0.750000 +v -0.108253 3.437500 0.750000 +v -0.062500 3.391747 0.750000 +v 0.000000 3.375000 0.750000 +v 0.062500 3.391747 0.750000 +v 0.108253 3.437500 0.750000 +v 0.108253 3.562500 0.500000 +v 0.125000 3.500000 0.500000 +v 0.062500 3.608253 0.500000 +v 0.000000 3.625000 0.500000 +v -0.062500 3.608253 0.500000 +v -0.108253 3.562500 0.500000 +v -0.125000 3.500000 0.500000 +v -0.108253 3.437500 0.500000 +v -0.062500 3.391747 0.500000 +v 0.000000 3.375000 0.500000 +v 0.062500 3.391747 0.500000 +v 0.108253 3.437500 0.500000 +v 0.000000 3.250000 0.000000 +v 0.180900 3.388196 0.131430 +v -0.069097 3.388196 0.212660 +v -0.223607 3.388196 0.000000 +v -0.069097 3.388196 -0.212660 +v 0.180900 3.388196 -0.131430 +v 0.069096 3.611804 0.212660 +v -0.180901 3.611804 0.131430 +v -0.180901 3.611804 -0.131430 +v 0.069096 3.611804 -0.212660 +v 0.223606 3.611804 0.000000 +v 0.000000 3.750000 0.000000 +v 2.030893 4.476523 3.875000 +v 2.030893 4.476523 7.625000 +v 2.126564 4.476523 3.875000 +v 2.126564 4.476523 7.625000 +v 2.194214 4.408874 3.875000 +v 2.194214 4.408874 7.625000 +v 2.194214 4.313202 3.875000 +v 2.194214 4.313202 7.625000 +v 2.126564 4.245553 3.875000 +v 2.126564 4.245553 7.625000 +v 2.030893 4.245553 3.875000 +v 2.030893 4.245553 7.625000 +v 1.963243 4.313202 3.875000 +v 1.963243 4.313202 7.625000 +v 1.963243 4.408874 3.875000 +v 1.963243 4.408874 7.625000 +v 1.997068 4.462512 3.786612 +v 2.068821 4.452605 3.724112 +v 2.126564 4.380852 3.698223 +v 2.136471 4.289285 3.724112 +v 2.092739 4.231542 3.786612 +v 2.020987 4.241449 3.849112 +v 1.953337 4.404770 3.849112 +v 1.915408 4.428688 3.750000 +v 1.929419 4.394863 3.661612 +v 1.963243 4.313202 3.625000 +v 1.997068 4.231542 3.661612 +v 2.011079 4.197718 3.750000 +v 1.997068 4.231542 3.838388 +v 1.929419 4.394863 3.838388 +v 1.997068 4.462512 7.713388 +v 2.068821 4.452605 7.775888 +v 2.126564 4.380852 7.801777 +v 2.136471 4.289285 7.775888 +v 2.092739 4.231542 7.713388 +v 2.020986 4.241449 7.650888 +v 1.953337 4.404770 7.650888 +v 1.915408 4.428688 7.750000 +v 1.929419 4.394863 7.838388 +v 1.963243 4.313202 7.875000 +v 1.997068 4.231542 7.838388 +v 2.011079 4.197718 7.750000 +v 1.997068 4.231542 7.661612 +v 1.929419 4.394863 7.661612 +v 1.732273 4.217532 7.625000 +v 1.684438 4.333016 7.750000 +v 1.698449 4.299192 7.838388 +v 1.732273 4.217532 7.875000 +v 1.766098 4.135871 7.838388 +v 1.780109 4.102046 7.750000 +v 1.766098 4.135871 7.661612 +v 1.698448 4.299192 7.661612 +v 1.732273 4.217532 3.875000 +v 1.684438 4.333016 3.750000 +v 1.698449 4.299192 3.661612 +v 1.732273 4.217532 3.625000 +v 1.766098 4.135871 3.661612 +v 1.780109 4.102046 3.750000 +v 1.766098 4.135871 3.838388 +v 1.698449 4.299192 3.838388 +v 2.126564 2.754447 3.875000 +v 2.126564 2.754447 7.625000 +v 2.194214 2.686798 3.875000 +v 2.194214 2.686798 7.625000 +v 2.194214 2.591127 3.875000 +v 2.194214 2.591127 7.625000 +v 2.126564 2.523477 3.875000 +v 2.126564 2.523477 7.625000 +v 2.030893 2.523477 3.875000 +v 2.030893 2.523477 7.625000 +v 1.963244 2.591127 3.875000 +v 1.963244 2.591127 7.625000 +v 1.963243 2.686798 3.875000 +v 1.963243 2.686798 7.625000 +v 2.030893 2.754447 3.875000 +v 2.030893 2.754447 7.625000 +v 2.092739 2.768458 3.786612 +v 2.136471 2.710716 3.724112 +v 2.126564 2.619148 3.698223 +v 2.068821 2.547395 3.724112 +v 1.997068 2.537488 3.786612 +v 1.953337 2.595230 3.849112 +v 2.020986 2.758551 3.849112 +v 2.011079 2.802283 3.750000 +v 1.997068 2.768458 3.661612 +v 1.963243 2.686798 3.625000 +v 1.929419 2.605137 3.661612 +v 1.915408 2.571313 3.750000 +v 1.929419 2.605137 3.838388 +v 1.997068 2.768458 3.838388 +v 2.092739 2.768458 7.713388 +v 2.136471 2.710716 7.775888 +v 2.126564 2.619148 7.801777 +v 2.068821 2.547395 7.775888 +v 1.997068 2.537488 7.713388 +v 1.953336 2.595231 7.650888 +v 2.020986 2.758551 7.650888 +v 2.011079 2.802283 7.750000 +v 1.997068 2.768458 7.838388 +v 1.963243 2.686798 7.875000 +v 1.929419 2.605137 7.838388 +v 1.915408 2.571313 7.750000 +v 1.929419 2.605137 7.661612 +v 1.997068 2.768458 7.661612 +v 1.732273 2.782469 7.625000 +v 1.780109 2.897954 7.750000 +v 1.766099 2.864129 7.838388 +v 1.732273 2.782469 7.875000 +v 1.698449 2.700809 7.838388 +v 1.684438 2.666983 7.750000 +v 1.698449 2.700809 7.661612 +v 1.766098 2.864129 7.661612 +v 1.732273 2.782469 3.875000 +v 1.780109 2.897954 3.750000 +v 1.766099 2.864129 3.661612 +v 1.732273 2.782469 3.625000 +v 1.698449 2.700809 3.661612 +v 1.684438 2.666983 3.750000 +v 1.698449 2.700809 3.838388 +v 1.766099 2.864129 3.838388 +v -2.030895 2.523477 3.875000 +v -2.030895 2.523477 7.625000 +v -2.126565 2.523477 3.875000 +v -2.126565 2.523477 7.625000 +v -2.194215 2.591127 3.875000 +v -2.194215 2.591127 7.625000 +v -2.194215 2.686798 3.875000 +v -2.194215 2.686798 7.625000 +v -2.126565 2.754447 3.875000 +v -2.126565 2.754447 7.625000 +v -2.030895 2.754447 3.875000 +v -2.030895 2.754447 7.625000 +v -1.963245 2.686798 3.875000 +v -1.963245 2.686798 7.625000 +v -1.963245 2.591127 3.875000 +v -1.963245 2.591127 7.625000 +v -1.997070 2.537488 3.786612 +v -2.068822 2.547395 3.724112 +v -2.126565 2.619148 3.698223 +v -2.136472 2.710716 3.724112 +v -2.092741 2.768458 3.786612 +v -2.020988 2.758551 3.849112 +v -1.953338 2.595230 3.849112 +v -1.915410 2.571313 3.750000 +v -1.929420 2.605138 3.661612 +v -1.963245 2.686798 3.625000 +v -1.997070 2.768458 3.661612 +v -2.011080 2.802283 3.750000 +v -1.997070 2.768458 3.838388 +v -1.929420 2.605138 3.838388 +v -1.997070 2.537488 7.713388 +v -2.068822 2.547395 7.775888 +v -2.126565 2.619148 7.801777 +v -2.136472 2.710716 7.775888 +v -2.092741 2.768458 7.713388 +v -2.020987 2.758551 7.650888 +v -1.953338 2.595230 7.650888 +v -1.915410 2.571313 7.750000 +v -1.929420 2.605138 7.838388 +v -1.963245 2.686798 7.875000 +v -1.997070 2.768458 7.838388 +v -2.011080 2.802283 7.750000 +v -1.997070 2.768458 7.661612 +v -1.929420 2.605138 7.661612 +v -1.732275 2.782469 7.625000 +v -1.684439 2.666984 7.750000 +v -1.698451 2.700808 7.838388 +v -1.732275 2.782469 7.875000 +v -1.766099 2.864129 7.838388 +v -1.780111 2.897954 7.750000 +v -1.766099 2.864129 7.661612 +v -1.698450 2.700808 7.661612 +v -1.732275 2.782469 3.875000 +v -1.684439 2.666984 3.750000 +v -1.698451 2.700808 3.661612 +v -1.732275 2.782469 3.625000 +v -1.766099 2.864129 3.661612 +v -1.780111 2.897954 3.750000 +v -1.766099 2.864129 3.838388 +v -1.698451 2.700808 3.838388 +v -2.126566 4.245553 3.875000 +v -2.126566 4.245553 7.625000 +v -2.194215 4.313202 3.875000 +v -2.194215 4.313202 7.625000 +v -2.194215 4.408874 3.875000 +v -2.194215 4.408874 7.625000 +v -2.126566 4.476523 3.875000 +v -2.126566 4.476523 7.625000 +v -2.030895 4.476523 3.875000 +v -2.030895 4.476523 7.625000 +v -1.963245 4.408874 3.875000 +v -1.963245 4.408874 7.625000 +v -1.963245 4.313202 3.875000 +v -1.963245 4.313202 7.625000 +v -2.030895 4.245553 3.875000 +v -2.030895 4.245553 7.625000 +v -2.092741 4.231543 3.786612 +v -2.136472 4.289284 3.724112 +v -2.126565 4.380852 3.698223 +v -2.068823 4.452605 3.724112 +v -1.997069 4.462512 3.786612 +v -1.953338 4.404770 3.849112 +v -2.020988 4.241449 3.849112 +v -2.011081 4.197718 3.750000 +v -1.997069 4.231542 3.661612 +v -1.963245 4.313202 3.625000 +v -1.929420 4.394863 3.661612 +v -1.915409 4.428687 3.750000 +v -1.929420 4.394863 3.838388 +v -1.997069 4.231542 3.838388 +v -2.092741 4.231543 7.713388 +v -2.136472 4.289284 7.775888 +v -2.126565 4.380852 7.801777 +v -2.068823 4.452605 7.775888 +v -1.997069 4.462512 7.713388 +v -1.953337 4.404769 7.650888 +v -2.020988 4.241449 7.650888 +v -2.011081 4.197718 7.750000 +v -1.997069 4.231542 7.838388 +v -1.963245 4.313202 7.875000 +v -1.929420 4.394863 7.838388 +v -1.915409 4.428687 7.750000 +v -1.929420 4.394863 7.661612 +v -1.997069 4.231542 7.661612 +v -1.732275 4.217531 7.625000 +v -1.780110 4.102046 7.750000 +v -1.766100 4.135871 7.838388 +v -1.732275 4.217531 7.875000 +v -1.698450 4.299191 7.838388 +v -1.684440 4.333017 7.750000 +v -1.698450 4.299191 7.661612 +v -1.766099 4.135871 7.661612 +v -1.732275 4.217531 3.875000 +v -1.780110 4.102046 3.750000 +v -1.766100 4.135871 3.661612 +v -1.732275 4.217531 3.625000 +v -1.698450 4.299191 3.661612 +v -1.684440 4.333017 3.750000 +v -1.698450 4.299191 3.838388 +v -1.766100 4.135871 3.838388 +v -2.030893 4.476523 -3.875000 +v -2.030894 4.476523 -7.625000 +v -2.126564 4.476523 -3.875000 +v -2.126565 4.476523 -7.625000 +v -2.194214 4.408874 -3.875000 +v -2.194215 4.408874 -7.625000 +v -2.194214 4.313202 -3.875000 +v -2.194215 4.313202 -7.625000 +v -2.126564 4.245553 -3.875000 +v -2.126565 4.245553 -7.625000 +v -2.030893 4.245553 -3.875000 +v -2.030894 4.245553 -7.625000 +v -1.963244 4.313202 -3.875000 +v -1.963244 4.313202 -7.625000 +v -1.963244 4.408874 -3.875000 +v -1.963244 4.408874 -7.625000 +v -1.997069 4.462512 -3.786612 +v -2.068821 4.452605 -3.724112 +v -2.126564 4.380852 -3.698223 +v -2.136471 4.289285 -3.724112 +v -2.092739 4.231542 -3.786612 +v -2.020987 4.241449 -3.849112 +v -1.953337 4.404770 -3.849112 +v -1.915409 4.428688 -3.750000 +v -1.929419 4.394863 -3.661612 +v -1.963244 4.313202 -3.625000 +v -1.997069 4.231542 -3.661612 +v -2.011079 4.197718 -3.750000 +v -1.997069 4.231542 -3.838388 +v -1.929419 4.394863 -3.838388 +v -1.997069 4.462512 -7.713388 +v -2.068822 4.452605 -7.775888 +v -2.126565 4.380852 -7.801777 +v -2.136472 4.289285 -7.775888 +v -2.092740 4.231542 -7.713388 +v -2.020987 4.241449 -7.650888 +v -1.953337 4.404770 -7.650888 +v -1.915409 4.428688 -7.750000 +v -1.929419 4.394863 -7.838388 +v -1.963244 4.313202 -7.875000 +v -1.997069 4.231542 -7.838388 +v -2.011080 4.197718 -7.750000 +v -1.997069 4.231542 -7.661612 +v -1.929419 4.394863 -7.661612 +v -1.732274 4.217532 -7.625000 +v -1.684438 4.333016 -7.750000 +v -1.698450 4.299192 -7.838388 +v -1.732274 4.217532 -7.875000 +v -1.766099 4.135871 -7.838388 +v -1.780110 4.102046 -7.750000 +v -1.766099 4.135871 -7.661612 +v -1.698449 4.299192 -7.661612 +v -1.732274 4.217532 -3.875000 +v -1.684438 4.333016 -3.750000 +v -1.698450 4.299192 -3.661612 +v -1.732274 4.217532 -3.625000 +v -1.766098 4.135871 -3.661612 +v -1.780110 4.102046 -3.750000 +v -1.766098 4.135871 -3.838388 +v -1.698450 4.299192 -3.838388 +v -2.126565 2.754447 -3.875000 +v -2.126565 2.754447 -7.625000 +v -2.194214 2.686798 -3.875000 +v -2.194214 2.686798 -7.625000 +v -2.194214 2.591127 -3.875000 +v -2.194215 2.591127 -7.625000 +v -2.126565 2.523477 -3.875000 +v -2.126565 2.523477 -7.625000 +v -2.030894 2.523477 -3.875000 +v -2.030894 2.523477 -7.625000 +v -1.963244 2.591127 -3.875000 +v -1.963244 2.591127 -7.625000 +v -1.963244 2.686798 -3.875000 +v -1.963244 2.686798 -7.625000 +v -2.030894 2.754447 -3.875000 +v -2.030894 2.754447 -7.625000 +v -2.092739 2.768458 -3.786612 +v -2.136471 2.710716 -3.724112 +v -2.126564 2.619148 -3.698223 +v -2.068822 2.547395 -3.724112 +v -1.997069 2.537488 -3.786612 +v -1.953337 2.595230 -3.849112 +v -2.020987 2.758551 -3.849112 +v -2.011080 2.802283 -3.750000 +v -1.997069 2.768458 -3.661612 +v -1.963244 2.686798 -3.625000 +v -1.929419 2.605137 -3.661612 +v -1.915409 2.571313 -3.750000 +v -1.929419 2.605137 -3.838388 +v -1.997069 2.768458 -3.838388 +v -2.092740 2.768458 -7.713388 +v -2.136471 2.710716 -7.775888 +v -2.126564 2.619148 -7.801777 +v -2.068822 2.547395 -7.775888 +v -1.997069 2.537488 -7.713388 +v -1.953337 2.595231 -7.650888 +v -2.020987 2.758551 -7.650888 +v -2.011080 2.802283 -7.750000 +v -1.997069 2.768458 -7.838388 +v -1.963244 2.686798 -7.875000 +v -1.929420 2.605137 -7.838388 +v -1.915409 2.571313 -7.750000 +v -1.929420 2.605137 -7.661612 +v -1.997069 2.768458 -7.661612 +v -1.732274 2.782469 -7.625000 +v -1.780109 2.897954 -7.750000 +v -1.766099 2.864129 -7.838388 +v -1.732274 2.782469 -7.875000 +v -1.698449 2.700809 -7.838388 +v -1.684439 2.666983 -7.750000 +v -1.698449 2.700809 -7.661612 +v -1.766099 2.864129 -7.661612 +v -1.732274 2.782469 -3.875000 +v -1.780109 2.897954 -3.750000 +v -1.766099 2.864129 -3.661612 +v -1.732274 2.782469 -3.625000 +v -1.698449 2.700809 -3.661612 +v -1.684439 2.666983 -3.750000 +v -1.698449 2.700809 -3.838388 +v -1.766099 2.864129 -3.838388 +v 2.030895 2.523477 -3.875000 +v 2.030894 2.523477 -7.625000 +v 2.126565 2.523477 -3.875000 +v 2.126565 2.523477 -7.625000 +v 2.194215 2.591127 -3.875000 +v 2.194214 2.591127 -7.625000 +v 2.194215 2.686798 -3.875000 +v 2.194214 2.686798 -7.625000 +v 2.126565 2.754447 -3.875000 +v 2.126565 2.754447 -7.625000 +v 2.030895 2.754447 -3.875000 +v 2.030894 2.754447 -7.625000 +v 1.963244 2.686798 -3.875000 +v 1.963244 2.686798 -7.625000 +v 1.963244 2.591127 -3.875000 +v 1.963244 2.591127 -7.625000 +v 1.997069 2.537488 -3.786612 +v 2.068822 2.547395 -3.724112 +v 2.126565 2.619148 -3.698223 +v 2.136472 2.710716 -3.724112 +v 2.092741 2.768458 -3.786612 +v 2.020988 2.758551 -3.849112 +v 1.953338 2.595230 -3.849112 +v 1.915409 2.571313 -3.750000 +v 1.929420 2.605138 -3.661612 +v 1.963244 2.686798 -3.625000 +v 1.997069 2.768458 -3.661612 +v 2.011080 2.802283 -3.750000 +v 1.997069 2.768458 -3.838388 +v 1.929420 2.605138 -3.838388 +v 1.997069 2.537488 -7.713388 +v 2.068821 2.547395 -7.775888 +v 2.126565 2.619148 -7.801777 +v 2.136471 2.710716 -7.775888 +v 2.092740 2.768458 -7.713388 +v 2.020986 2.758551 -7.650888 +v 1.953337 2.595230 -7.650888 +v 1.915409 2.571313 -7.750000 +v 1.929419 2.605138 -7.838388 +v 1.963244 2.686798 -7.875000 +v 1.997069 2.768458 -7.838388 +v 2.011079 2.802283 -7.750000 +v 1.997069 2.768458 -7.661612 +v 1.929419 2.605138 -7.661612 +v 1.732274 2.782469 -7.625000 +v 1.684438 2.666984 -7.750000 +v 1.698450 2.700808 -7.838388 +v 1.732274 2.782469 -7.875000 +v 1.766099 2.864129 -7.838388 +v 1.780110 2.897954 -7.750000 +v 1.766099 2.864129 -7.661612 +v 1.698449 2.700808 -7.661612 +v 1.732274 2.782469 -3.875000 +v 1.684439 2.666984 -3.750000 +v 1.698450 2.700808 -3.661612 +v 1.732274 2.782469 -3.625000 +v 1.766099 2.864129 -3.661612 +v 1.780110 2.897954 -3.750000 +v 1.766099 2.864129 -3.838388 +v 1.698450 2.700808 -3.838388 +v 2.126565 4.245553 -3.875000 +v 2.126565 4.245553 -7.625000 +v 2.194215 4.313202 -3.875000 +v 2.194215 4.313202 -7.625000 +v 2.194215 4.408874 -3.875000 +v 2.194214 4.408874 -7.625000 +v 2.126565 4.476523 -3.875000 +v 2.126565 4.476523 -7.625000 +v 2.030894 4.476523 -3.875000 +v 2.030894 4.476523 -7.625000 +v 1.963244 4.408874 -3.875000 +v 1.963244 4.408874 -7.625000 +v 1.963244 4.313202 -3.875000 +v 1.963244 4.313202 -7.625000 +v 2.030894 4.245553 -3.875000 +v 2.030894 4.245553 -7.625000 +v 2.092741 4.231543 -3.786612 +v 2.136472 4.289284 -3.724112 +v 2.126565 4.380852 -3.698223 +v 2.068822 4.452605 -3.724112 +v 1.997069 4.462512 -3.786612 +v 1.953338 4.404770 -3.849112 +v 2.020987 4.241449 -3.849112 +v 2.011080 4.197718 -3.750000 +v 1.997069 4.231542 -3.661612 +v 1.963244 4.313202 -3.625000 +v 1.929420 4.394863 -3.661612 +v 1.915409 4.428687 -3.750000 +v 1.929420 4.394863 -3.838388 +v 1.997069 4.231542 -3.838388 +v 2.092740 4.231543 -7.713388 +v 2.136472 4.289284 -7.775888 +v 2.126565 4.380852 -7.801777 +v 2.068822 4.452605 -7.775888 +v 1.997069 4.462512 -7.713388 +v 1.953337 4.404769 -7.650888 +v 2.020987 4.241449 -7.650888 +v 2.011080 4.197718 -7.750000 +v 1.997069 4.231542 -7.838388 +v 1.963244 4.313202 -7.875000 +v 1.929419 4.394863 -7.838388 +v 1.915409 4.428687 -7.750000 +v 1.929419 4.394863 -7.661612 +v 1.997069 4.231542 -7.661612 +v 1.732274 4.217531 -7.625000 +v 1.780109 4.102046 -7.750000 +v 1.766099 4.135871 -7.838388 +v 1.732274 4.217531 -7.875000 +v 1.698449 4.299191 -7.838388 +v 1.684439 4.333017 -7.750000 +v 1.698449 4.299191 -7.661612 +v 1.766099 4.135871 -7.661612 +v 1.732274 4.217531 -3.875000 +v 1.780110 4.102046 -3.750000 +v 1.766100 4.135871 -3.661612 +v 1.732274 4.217531 -3.625000 +v 1.698449 4.299191 -3.661612 +v 1.684439 4.333017 -3.750000 +v 1.698449 4.299191 -3.838388 +v 1.766100 4.135871 -3.838388 +v 2.500000 3.750000 -5.750000 +v 2.500000 3.250000 -5.750000 +v 2.500000 3.750000 -6.250000 +v 2.500000 3.250000 -6.250000 +v 1.500000 3.750000 -6.250000 +v 1.500000 3.750000 -5.750000 +v 1.500000 3.250000 -5.750000 +v 1.500000 3.250000 -6.250000 +v 1.500000 3.875000 -6.375000 +v 1.500000 3.875000 -5.625000 +v 1.500000 3.125000 -5.625000 +v 1.500000 3.125000 -6.375000 +v 0.875000 3.875000 -6.375000 +v 0.875000 3.875000 -5.625000 +v 0.875000 3.125000 -5.625000 +v 0.875000 3.125000 -6.375000 +v -2.500000 3.750000 -6.250000 +v -2.500000 3.250000 -6.250000 +v -2.500000 3.750000 -5.750000 +v -2.500000 3.250000 -5.750000 +v -1.500000 3.750000 -5.750000 +v -1.500000 3.750000 -6.250000 +v -1.500000 3.250000 -6.250000 +v -1.500000 3.250000 -5.750000 +v -1.500000 3.875000 -5.625000 +v -1.500000 3.875000 -6.375000 +v -1.500000 3.125000 -6.375000 +v -1.500000 3.125000 -5.625000 +v -0.875000 3.875000 -5.625000 +v -0.875000 3.875000 -6.375000 +v -0.875000 3.125000 -6.375000 +v -0.875000 3.125000 -5.625000 +v -2.500000 3.750000 5.750000 +v -2.500000 3.250000 5.750000 +v -2.500000 3.750000 6.250000 +v -2.500000 3.250000 6.250000 +v -1.500000 3.750000 6.250000 +v -1.500000 3.750000 5.750000 +v -1.500000 3.250000 5.750000 +v -1.500000 3.250000 6.250000 +v -1.500000 3.875000 6.375000 +v -1.500000 3.875000 5.625000 +v -1.500000 3.125000 5.625000 +v -1.500000 3.125000 6.375000 +v -0.875000 3.875000 6.375000 +v -0.875000 3.875000 5.625000 +v -0.875000 3.125000 5.625000 +v -0.875000 3.125000 6.375000 +v -1.750000 0.000000 8.250000 +v -1.250000 0.000000 8.250000 +v -1.750000 0.000000 7.750000 +v -1.250000 0.000000 7.750000 +v -1.750000 0.125000 7.750000 +v -1.750000 0.125000 8.250000 +v -1.250000 0.125000 8.250000 +v -1.250000 0.125000 7.750000 +v -1.687500 0.125000 7.812500 +v -1.687500 0.125000 8.187500 +v -1.312500 0.125000 8.187500 +v -1.312500 0.125000 7.812500 +v -1.687500 0.750000 7.812500 +v -1.687500 0.750000 8.187500 +v -1.312500 0.750000 8.187500 +v -1.312500 0.750000 7.812500 +v 1.250000 0.000000 6.250000 +v 1.750000 0.000000 6.250000 +v 1.250000 0.000000 5.750000 +v 1.750000 0.000000 5.750000 +v 1.250000 0.125000 5.750000 +v 1.250000 0.125000 6.250000 +v 1.750000 0.125000 6.250000 +v 1.750000 0.125000 5.750000 +v 1.312500 0.125000 5.812500 +v 1.312500 0.125000 6.187500 +v 1.687500 0.125000 6.187500 +v 1.687500 0.125000 5.812500 +v 1.312500 0.750000 5.812500 +v 1.312500 0.750000 6.187500 +v 1.687500 0.750000 6.187500 +v 1.687500 0.750000 5.812500 +v -1.750000 0.000000 6.250000 +v -1.250000 0.000000 6.250000 +v -1.750000 0.000000 5.750000 +v -1.250000 0.000000 5.750000 +v -1.750000 0.125000 5.750000 +v -1.750000 0.125000 6.250000 +v -1.250000 0.125000 6.250000 +v -1.250000 0.125000 5.750000 +v -1.687500 0.125000 5.812500 +v -1.687500 0.125000 6.187500 +v -1.312500 0.125000 6.187500 +v -1.312500 0.125000 5.812500 +v -1.687500 0.750000 5.812500 +v -1.687500 0.750000 6.187500 +v -1.312500 0.750000 6.187500 +v -1.312500 0.750000 5.812500 +v 1.250000 0.000000 4.250000 +v 1.750000 0.000000 4.250000 +v 1.250000 0.000000 3.750000 +v 1.750000 0.000000 3.750000 +v 1.250000 0.125000 3.750000 +v 1.250000 0.125000 4.250000 +v 1.750000 0.125000 4.250000 +v 1.750000 0.125000 3.750000 +v 1.312500 0.125000 3.812500 +v 1.312500 0.125000 4.187500 +v 1.687500 0.125000 4.187500 +v 1.687500 0.125000 3.812500 +v 1.312500 0.750000 3.812500 +v 1.312500 0.750000 4.187500 +v 1.687500 0.750000 4.187500 +v 1.687500 0.750000 3.812500 +v -1.750000 0.000000 4.250000 +v -1.250000 0.000000 4.250000 +v -1.750000 0.000000 3.750000 +v -1.250000 0.000000 3.750000 +v -1.750000 0.125000 3.750000 +v -1.750000 0.125000 4.250000 +v -1.250000 0.125000 4.250000 +v -1.250000 0.125000 3.750000 +v -1.687500 0.125000 3.812500 +v -1.687500 0.125000 4.187500 +v -1.312500 0.125000 4.187500 +v -1.312500 0.125000 3.812500 +v -1.687500 0.750000 3.812500 +v -1.687500 0.750000 4.187500 +v -1.312500 0.750000 4.187500 +v -1.312500 0.750000 3.812500 +v 1.250000 0.000000 2.250000 +v 1.750000 0.000000 2.250000 +v 1.250000 0.000000 1.750000 +v 1.750000 0.000000 1.750000 +v 1.250000 0.125000 1.750000 +v 1.250000 0.125000 2.250000 +v 1.750000 0.125000 2.250000 +v 1.750000 0.125000 1.750000 +v 1.312500 0.125000 1.812500 +v 1.312500 0.125000 2.187500 +v 1.687500 0.125000 2.187500 +v 1.687500 0.125000 1.812500 +v 1.312500 0.750000 1.812500 +v 1.312500 0.750000 2.187500 +v 1.687500 0.750000 2.187500 +v 1.687500 0.750000 1.812500 +v -1.750000 0.000000 2.250000 +v -1.250000 0.000000 2.250000 +v -1.750000 0.000000 1.750000 +v -1.250000 0.000000 1.750000 +v -1.750000 0.125000 1.750000 +v -1.750000 0.125000 2.250000 +v -1.250000 0.125000 2.250000 +v -1.250000 0.125000 1.750000 +v -1.687500 0.125000 1.812500 +v -1.687500 0.125000 2.187500 +v -1.312500 0.125000 2.187500 +v -1.312500 0.125000 1.812500 +v -1.687500 0.750000 1.812500 +v -1.687500 0.750000 2.187500 +v -1.312500 0.750000 2.187500 +v -1.312500 0.750000 1.812500 +v 1.250000 0.000000 0.250000 +v 1.750000 0.000000 0.250000 +v 1.250000 0.000000 -0.250000 +v 1.750000 0.000000 -0.250000 +v 1.250000 0.125000 -0.250000 +v 1.250000 0.125000 0.250000 +v 1.750000 0.125000 0.250000 +v 1.750000 0.125000 -0.250000 +v 1.312500 0.125000 -0.187500 +v 1.312500 0.125000 0.187500 +v 1.687500 0.125000 0.187500 +v 1.687500 0.125000 -0.187500 +v 1.312500 0.750000 -0.187500 +v 1.312500 0.750000 0.187500 +v 1.687500 0.750000 0.187500 +v 1.687500 0.750000 -0.187500 +v -1.750000 0.000000 0.250000 +v -1.250000 0.000000 0.250000 +v -1.750000 0.000000 -0.250000 +v -1.250000 0.000000 -0.250000 +v -1.750000 0.125000 -0.250000 +v -1.750000 0.125000 0.250000 +v -1.250000 0.125000 0.250000 +v -1.250000 0.125000 -0.250000 +v -1.687500 0.125000 -0.187500 +v -1.687500 0.125000 0.187500 +v -1.312500 0.125000 0.187500 +v -1.312500 0.125000 -0.187500 +v -1.687500 0.750000 -0.187500 +v -1.687500 0.750000 0.187500 +v -1.312500 0.750000 0.187500 +v -1.312500 0.750000 -0.187500 +v 1.250000 0.000000 -1.750000 +v 1.750000 0.000000 -1.750000 +v 1.250000 0.000000 -2.250000 +v 1.750000 0.000000 -2.250000 +v 1.250000 0.125000 -2.250000 +v 1.250000 0.125000 -1.750000 +v 1.750000 0.125000 -1.750000 +v 1.750000 0.125000 -2.250000 +v 1.312500 0.125000 -2.187500 +v 1.312500 0.125000 -1.812500 +v 1.687500 0.125000 -1.812500 +v 1.687500 0.125000 -2.187500 +v 1.312500 0.750000 -2.187500 +v 1.312500 0.750000 -1.812500 +v 1.687500 0.750000 -1.812500 +v 1.687500 0.750000 -2.187500 +v -1.750000 0.000000 -1.750000 +v -1.250000 0.000000 -1.750000 +v -1.750000 0.000000 -2.250000 +v -1.250000 0.000000 -2.250000 +v -1.750000 0.125000 -2.250000 +v -1.750000 0.125000 -1.750000 +v -1.250000 0.125000 -1.750000 +v -1.250000 0.125000 -2.250000 +v -1.687500 0.125000 -2.187500 +v -1.687500 0.125000 -1.812500 +v -1.312500 0.125000 -1.812500 +v -1.312500 0.125000 -2.187500 +v -1.687500 0.750000 -2.187500 +v -1.687500 0.750000 -1.812500 +v -1.312500 0.750000 -1.812500 +v -1.312500 0.750000 -2.187500 +v 1.250000 0.000000 -3.750000 +v 1.750000 0.000000 -3.750000 +v 1.250000 0.000000 -4.250000 +v 1.750000 0.000000 -4.250000 +v 1.250000 0.125000 -4.250000 +v 1.250000 0.125000 -3.750000 +v 1.750000 0.125000 -3.750000 +v 1.750000 0.125000 -4.250000 +v 1.312500 0.125000 -4.187500 +v 1.312500 0.125000 -3.812500 +v 1.687500 0.125000 -3.812500 +v 1.687500 0.125000 -4.187500 +v 1.312500 0.750000 -4.187500 +v 1.312500 0.750000 -3.812500 +v 1.687500 0.750000 -3.812500 +v 1.687500 0.750000 -4.187500 +v -1.750000 0.000000 -3.750000 +v -1.250000 0.000000 -3.750000 +v -1.750000 0.000000 -4.250000 +v -1.250000 0.000000 -4.250000 +v -1.750000 0.125000 -4.250000 +v -1.750000 0.125000 -3.750000 +v -1.250000 0.125000 -3.750000 +v -1.250000 0.125000 -4.250000 +v -1.687500 0.125000 -4.187500 +v -1.687500 0.125000 -3.812500 +v -1.312500 0.125000 -3.812500 +v -1.312500 0.125000 -4.187500 +v -1.687500 0.750000 -4.187500 +v -1.687500 0.750000 -3.812500 +v -1.312500 0.750000 -3.812500 +v -1.312500 0.750000 -4.187500 +v 1.250000 0.000000 -5.750000 +v 1.750000 0.000000 -5.750000 +v 1.250000 0.000000 -6.250000 +v 1.750000 0.000000 -6.250000 +v 1.250000 0.125000 -6.250000 +v 1.250000 0.125000 -5.750000 +v 1.750000 0.125000 -5.750000 +v 1.750000 0.125000 -6.250000 +v 1.312500 0.125000 -6.187500 +v 1.312500 0.125000 -5.812500 +v 1.687500 0.125000 -5.812500 +v 1.687500 0.125000 -6.187500 +v 1.312500 0.750000 -6.187500 +v 1.312500 0.750000 -5.812500 +v 1.687500 0.750000 -5.812500 +v 1.687500 0.750000 -6.187500 +v -1.750000 0.000000 -5.750000 +v -1.250000 0.000000 -5.750000 +v -1.750000 0.000000 -6.250000 +v -1.250000 0.000000 -6.250000 +v -1.750000 0.125000 -6.250000 +v -1.750000 0.125000 -5.750000 +v -1.250000 0.125000 -5.750000 +v -1.250000 0.125000 -6.250000 +v -1.687500 0.125000 -6.187500 +v -1.687500 0.125000 -5.812500 +v -1.312500 0.125000 -5.812500 +v -1.312500 0.125000 -6.187500 +v -1.687500 0.750000 -6.187500 +v -1.687500 0.750000 -5.812500 +v -1.312500 0.750000 -5.812500 +v -1.312500 0.750000 -6.187500 +v 1.250000 0.000000 -7.750000 +v 1.750000 0.000000 -7.750000 +v 1.250000 0.000000 -8.250000 +v 1.750000 0.000000 -8.250000 +v 1.250000 0.125000 -8.250000 +v 1.250000 0.125000 -7.750000 +v 1.750000 0.125000 -7.750000 +v 1.750000 0.125000 -8.250000 +v 1.312500 0.125000 -8.187500 +v 1.312500 0.125000 -7.812500 +v 1.687500 0.125000 -7.812500 +v 1.687500 0.125000 -8.187500 +v 1.312500 0.750000 -8.187500 +v 1.312500 0.750000 -7.812500 +v 1.687500 0.750000 -7.812500 +v 1.687500 0.750000 -8.187500 +v -1.750000 0.000000 -7.750000 +v -1.250000 0.000000 -7.750000 +v -1.750000 0.000000 -8.250000 +v -1.250000 0.000000 -8.250000 +v -1.750000 0.125000 -8.250000 +v -1.750000 0.125000 -7.750000 +v -1.250000 0.125000 -7.750000 +v -1.250000 0.125000 -8.250000 +v -1.687500 0.125000 -8.187500 +v -1.687500 0.125000 -7.812500 +v -1.312500 0.125000 -7.812500 +v -1.312500 0.125000 -8.187500 +v -1.687500 0.750000 -8.187500 +v -1.687500 0.750000 -7.812500 +v -1.312500 0.750000 -7.812500 +v -1.312500 0.750000 -8.187500 +v 5.370945 3.437636 0.031646 +v 5.482748 3.437636 -0.024255 +v 5.479053 3.562364 -0.031646 +v 5.367250 3.562364 0.024256 +v 3.989082 5.816198 -2.732081 +v 4.100885 5.816198 -2.787983 +v 4.148417 5.881990 -2.692919 +v 4.036614 5.881990 -2.637018 +v 5.093926 3.397937 -0.522393 +v 5.205729 3.397937 -0.578294 +v 5.213573 3.521701 -0.562607 +v 5.101769 3.521701 -0.506706 +v 4.813114 3.624890 -1.084016 +v 4.924919 3.624890 -1.139917 +v 4.951885 3.734385 -1.085984 +v 4.840080 3.734385 -1.030083 +v 4.535995 4.104363 -1.638257 +v 4.647799 4.104363 -1.694158 +v 4.686504 4.194551 -1.616744 +v 4.574701 4.194551 -1.560842 +v 4.261469 4.832593 -2.187310 +v 4.373272 4.832593 -2.243212 +v 4.418531 4.905957 -2.152690 +v 4.306728 4.905957 -2.096789 +v 5.392796 3.466860 0.075347 +v 5.504599 3.466860 0.019445 +v 5.457203 3.533140 -0.075347 +v 5.345400 3.533140 -0.019445 +v 4.011459 1.088484 -2.687328 +v 4.123262 1.088484 -2.743229 +v 4.126041 1.213329 -2.737673 +v 4.014238 1.213329 -2.681771 +v 5.120440 2.493382 -0.469364 +v 5.232244 2.493382 -0.525266 +v 5.187058 2.566979 -0.615636 +v 5.075255 2.566979 -0.559734 +v 4.845951 1.765268 -1.018342 +v 4.957754 1.765268 -1.074244 +v 4.919048 1.855455 -1.151658 +v 4.807245 1.855455 -1.095756 +v 4.568831 1.285796 -1.572583 +v 4.680634 1.285796 -1.628485 +v 4.653668 1.395291 -1.682417 +v 4.541865 1.395291 -1.626516 +v 4.288248 1.058917 -2.133752 +v 4.400051 1.058917 -2.189653 +v 4.391752 1.182532 -2.206249 +v 4.279949 1.182532 -2.150347 +v 5.384722 3.444246 0.055514 +v 5.493280 3.444246 -0.006453 +v 5.465277 3.555754 -0.055514 +v 5.356718 3.555754 0.006453 +v 1.931818 3.444246 -5.993546 +v 2.040377 3.444246 -6.055514 +v 2.068381 3.555754 -6.006454 +v 1.959822 3.555754 -5.944486 +v 2.424219 2.941473 -5.130919 +v 2.532779 2.941473 -5.192886 +v 2.554522 3.058527 -5.154795 +v 2.445963 3.058527 -5.092828 +v 3.409801 2.437981 -3.404303 +v 3.518359 2.437981 -3.466271 +v 3.526027 2.562019 -3.452839 +v 3.417467 2.562019 -3.390872 +v 3.906738 2.437981 -2.533729 +v 4.015297 2.437981 -2.595696 +v 4.007631 2.562019 -2.609128 +v 3.899072 2.562019 -2.547160 +v 4.892321 2.941473 -0.807114 +v 5.000879 2.941473 -0.869081 +v 4.979136 3.058527 -0.907172 +v 4.870577 3.058527 -0.845204 +v -5.875000 3.312500 0.324761 +v -5.875000 3.175241 0.187501 +v -5.875000 3.125000 0.000002 +v -5.875000 3.175241 -0.187498 +v -5.875000 3.312500 -0.324758 +v -5.875000 3.500000 -0.374998 +v -5.875000 3.687500 -0.324758 +v -5.875000 3.824759 -0.187498 +v -5.875000 3.875000 0.000002 +v -5.875000 3.824759 0.187502 +v -5.875000 3.500000 0.375002 +v -5.875000 3.687500 0.324761 +v -5.000000 3.312500 0.324761 +v -5.000000 3.175241 0.187501 +v -5.000000 3.125000 0.000001 +v -5.000000 3.175241 -0.187499 +v -5.000000 3.312500 -0.324758 +v -5.000000 3.500000 -0.374999 +v -5.000000 3.687500 -0.324758 +v -5.000000 3.824759 -0.187499 +v -5.000000 3.875000 0.000001 +v -5.000000 3.824759 0.187501 +v -5.000000 3.687500 0.324761 +v -5.000000 3.500000 0.375001 +v -5.000000 3.250000 0.433014 +v -5.000000 3.066987 0.250001 +v -5.000000 3.000000 0.000001 +v -5.000000 3.066987 -0.249999 +v -5.000000 3.250000 -0.433011 +v -5.000000 3.500000 -0.499998 +v -5.000000 3.750000 -0.433011 +v -5.000000 3.933013 -0.249999 +v -5.000000 4.000000 0.000002 +v -5.000000 3.933013 0.250002 +v -5.000000 3.750000 0.433014 +v -5.000000 3.500000 0.500001 +v -4.750000 3.125000 0.649520 +v -4.750000 2.850481 0.375001 +v -4.750000 2.750000 0.000001 +v -4.750000 2.850481 -0.374999 +v -4.750000 3.125000 -0.649517 +v -4.750000 3.500000 -0.749999 +v -4.750000 3.875000 -0.649517 +v -4.750000 4.149519 -0.374999 +v -4.750000 4.250000 0.000001 +v -4.750000 4.149519 0.375001 +v -4.750000 3.875000 0.649521 +v -4.750000 3.500000 0.750001 +v -3.000000 3.250000 0.433014 +v -3.000000 3.066987 0.250001 +v -3.000000 3.000000 0.000001 +v -3.000000 3.066987 -0.249999 +v -3.000000 3.250000 -0.433012 +v -3.000000 3.500000 -0.499999 +v -3.000000 3.750000 -0.433012 +v -3.000000 3.933013 -0.249999 +v -3.000000 4.000000 0.000001 +v -3.000000 3.933013 0.250001 +v -3.000000 3.750000 0.433014 +v -3.000000 3.500000 0.500001 +v -3.250000 3.125000 0.649520 +v -3.250000 2.850481 0.375001 +v -3.250000 2.750000 0.000001 +v -3.250000 2.850481 -0.374999 +v -3.250000 3.125000 -0.649518 +v -3.250000 3.500000 -0.749999 +v -3.250000 3.875000 -0.649518 +v -3.250000 4.149519 -0.374999 +v -3.250000 4.250000 0.000001 +v -3.250000 4.149519 0.375001 +v -3.250000 3.875000 0.649520 +v -3.250000 3.500000 0.750001 +v -4.870577 3.058527 -0.845204 +v -4.979136 3.058527 -0.907171 +v -5.000879 2.941473 -0.869080 +v -4.892321 2.941473 -0.807113 +v -3.899072 2.562019 -2.547160 +v -4.007631 2.562019 -2.609127 +v -4.015297 2.437981 -2.595696 +v -3.906738 2.437981 -2.533728 +v -3.417467 2.562019 -3.390871 +v -3.526027 2.562019 -3.452839 +v -3.518359 2.437981 -3.466270 +v -3.409801 2.437981 -3.404303 +v -2.445963 3.058527 -5.092828 +v -2.554522 3.058527 -5.154795 +v -2.532779 2.941473 -5.192886 +v -2.424220 2.941473 -5.130919 +v -1.959822 3.555754 -5.944486 +v -2.068382 3.555754 -6.006454 +v -2.040377 3.444246 -6.055514 +v -1.931818 3.444246 -5.993546 +v -5.356718 3.555754 0.006454 +v -5.465277 3.555754 -0.055513 +v -5.493280 3.444246 -0.006452 +v -5.384722 3.444246 0.055515 +v -4.279949 1.182532 -2.150347 +v -4.391752 1.182532 -2.206249 +v -4.400051 1.058917 -2.189653 +v -4.288248 1.058917 -2.133751 +v -4.541865 1.395291 -1.626515 +v -4.653668 1.395291 -1.682417 +v -4.680634 1.285796 -1.628484 +v -4.568831 1.285796 -1.572583 +v -4.807245 1.855455 -1.095756 +v -4.919048 1.855455 -1.151657 +v -4.957754 1.765268 -1.074243 +v -4.845951 1.765268 -1.018341 +v -5.075255 2.566979 -0.559734 +v -5.187058 2.566979 -0.615635 +v -5.232244 2.493382 -0.525265 +v -5.120440 2.493382 -0.469363 +v -4.014238 1.213329 -2.681771 +v -4.126041 1.213329 -2.737672 +v -4.123262 1.088484 -2.743229 +v -4.011459 1.088484 -2.687327 +v -5.345400 3.533140 -0.019444 +v -5.457203 3.533140 -0.075346 +v -5.504599 3.466860 0.019446 +v -5.392796 3.466860 0.075347 +v -4.306728 4.905957 -2.096788 +v -4.418531 4.905957 -2.152690 +v -4.373272 4.832593 -2.243212 +v -4.261469 4.832593 -2.187310 +v -4.574701 4.194551 -1.560841 +v -4.686504 4.194551 -1.616743 +v -4.647799 4.104363 -1.694157 +v -4.535995 4.104363 -1.638256 +v -4.840080 3.734385 -1.030082 +v -4.951885 3.734385 -1.085984 +v -4.924919 3.624890 -1.139916 +v -4.813114 3.624890 -1.084015 +v -5.101769 3.521701 -0.506705 +v -5.213573 3.521701 -0.562607 +v -5.205729 3.397937 -0.578294 +v -5.093926 3.397937 -0.522392 +v -4.036614 5.881990 -2.637017 +v -4.148417 5.881990 -2.692919 +v -4.100885 5.816198 -2.787982 +v -3.989082 5.816198 -2.732081 +v -5.367250 3.562364 0.024256 +v -5.479053 3.562364 -0.031645 +v -5.482748 3.437636 -0.024255 +v -5.370945 3.437636 0.031647 +v 2.112740 2.280209 -2.274519 +v 2.343750 2.579848 -2.187500 +v 2.599880 2.748959 -1.949760 +v 2.812500 2.742228 -1.625000 +v 2.924639 2.561459 -1.300241 +v 2.906250 2.255089 -1.062500 +v 2.762259 1.905209 -0.975482 +v 2.531250 1.605570 -1.062500 +v 2.275120 1.436459 -1.300241 +v 2.062500 1.443190 -1.625000 +v 1.950361 1.623959 -1.949760 +v 1.968750 1.930329 -2.187500 +v 2.033493 2.325962 -1.933013 +v 2.187500 2.525722 -1.875000 +v 2.358253 2.638462 -1.716507 +v 2.500000 2.633975 -1.500000 +v 2.574759 2.513462 -1.283494 +v 2.562500 2.309215 -1.125000 +v 2.466506 2.075962 -1.066988 +v 2.312500 1.876203 -1.125000 +v 2.141746 1.763462 -1.283494 +v 2.000000 1.767949 -1.500000 +v 1.925240 1.888462 -1.716507 +v 1.937500 2.092709 -1.875000 +v 3.237740 1.630690 -3.024519 +v 3.468750 1.930329 -2.937501 +v 3.724879 2.099440 -2.699760 +v 3.937500 2.092709 -2.375000 +v 4.049639 1.911940 -2.050241 +v 4.031250 1.605570 -1.812501 +v 3.887259 1.255690 -1.725482 +v 3.656250 0.956051 -1.812501 +v 3.400120 0.786940 -2.050241 +v 3.187500 0.793671 -2.375000 +v 3.075361 0.974440 -2.699760 +v 3.093750 1.280810 -2.937500 +v 3.533493 1.459937 -2.933013 +v 3.687499 1.659697 -2.875001 +v 3.858253 1.772437 -2.716507 +v 3.999999 1.767950 -2.500001 +v 4.074759 1.647437 -2.283494 +v 4.062500 1.443190 -2.125001 +v 3.966506 1.209937 -2.066988 +v 3.812500 1.010177 -2.125001 +v 3.641746 0.897437 -2.283494 +v 3.499999 0.901924 -2.500000 +v 3.425240 1.022437 -2.716507 +v 3.437499 1.226684 -2.875000 +v 3.587620 1.428687 -2.824760 +v 3.703124 1.578506 -2.781251 +v 3.831189 1.663062 -2.662380 +v 3.937499 1.659696 -2.500000 +v 3.993569 1.569312 -2.337621 +v 3.984374 1.416127 -2.218751 +v 3.912379 1.241187 -2.175241 +v 3.796874 1.091367 -2.218751 +v 3.668809 1.006812 -2.337621 +v 3.562499 1.010177 -2.500000 +v 3.506430 1.100562 -2.662380 +v 3.515624 1.253747 -2.781250 +v 4.359375 1.199620 -3.218751 +v 4.243870 1.049801 -3.262260 +v 4.487439 1.284176 -3.099881 +v 4.593750 1.280810 -2.937501 +v 4.649819 1.190426 -2.775121 +v 4.640625 1.037241 -2.656251 +v 4.568629 0.862301 -2.612741 +v 4.453125 0.712481 -2.656251 +v 4.325059 0.627926 -2.775121 +v 4.218750 0.631291 -2.937500 +v 4.162680 0.721676 -3.099880 +v 4.171875 0.874861 -3.218751 +v 0.908493 2.975481 -1.183013 +v 1.062500 3.175241 -1.125000 +v 1.233253 3.287981 -0.966507 +v 1.375000 3.283494 -0.750000 +v 1.449759 3.162981 -0.533494 +v 1.437500 2.958734 -0.375000 +v 1.341506 2.725481 -0.316988 +v 1.187500 2.525722 -0.375000 +v 1.016747 2.412981 -0.533494 +v 0.875000 2.417468 -0.750000 +v 0.800240 2.537981 -0.966506 +v 0.812500 2.742228 -1.125000 +v 1.016747 2.912981 -0.966506 +v 1.093750 3.012861 -0.937500 +v 1.179126 3.069231 -0.858253 +v 1.250000 3.066988 -0.750000 +v 1.287380 3.006731 -0.641747 +v 1.281250 2.904608 -0.562500 +v 1.233253 2.787981 -0.533494 +v 1.156250 2.688101 -0.562500 +v 1.070873 2.631731 -0.641747 +v 1.000000 2.633975 -0.750000 +v 0.962620 2.694231 -0.858253 +v 0.968750 2.796355 -0.937500 +v 0.454247 3.237741 -0.591506 +v 0.531250 3.337620 -0.562500 +v 0.616627 3.393991 -0.483253 +v 0.687500 3.391747 -0.375000 +v 0.724880 3.331491 -0.266747 +v 0.718750 3.229367 -0.187500 +v 0.670753 3.112741 -0.158494 +v 0.593750 3.012861 -0.187500 +v 0.508373 2.956491 -0.266747 +v 0.437500 2.958734 -0.375000 +v 0.400120 3.018991 -0.483253 +v 0.406250 3.121114 -0.562500 +v 0.546875 3.256430 -0.468750 +v 0.508373 3.206491 -0.483253 +v 0.589563 3.284616 -0.429127 +v 0.625000 3.283494 -0.375000 +v 0.643690 3.253366 -0.320874 +v 0.640625 3.202304 -0.281250 +v 0.616626 3.143991 -0.266747 +v 0.578125 3.094051 -0.281250 +v 0.535437 3.065866 -0.320874 +v 0.500000 3.066987 -0.375000 +v 0.481310 3.097116 -0.429127 +v 0.484375 3.148177 -0.468750 +v 0.359375 3.364684 -0.343750 +v 0.320873 3.314744 -0.358253 +v 0.402063 3.392869 -0.304127 +v 0.437500 3.391747 -0.250000 +v 0.456190 3.361619 -0.195874 +v 0.453125 3.310557 -0.156250 +v 0.429126 3.252244 -0.141747 +v 0.390625 3.202304 -0.156250 +v 0.347937 3.174119 -0.195874 +v 0.312500 3.175241 -0.250000 +v 0.293810 3.205369 -0.304127 +v 0.296875 3.256430 -0.343750 +v 2.762260 1.905209 0.975481 +v 2.906250 2.255088 1.062500 +v 2.924639 2.561459 1.300241 +v 2.812500 2.742228 1.625000 +v 2.599880 2.748959 1.949759 +v 2.343750 2.579848 2.187500 +v 2.112741 2.280209 2.274518 +v 1.968750 1.930329 2.187500 +v 1.950361 1.623959 1.949759 +v 2.062500 1.443190 1.625000 +v 2.275120 1.436459 1.300241 +v 2.531250 1.605569 1.062500 +v 2.466507 2.075962 1.066987 +v 2.562500 2.309215 1.125000 +v 2.574760 2.513462 1.283493 +v 2.500000 2.633975 1.500000 +v 2.358253 2.638462 1.716506 +v 2.187500 2.525721 1.875000 +v 2.033494 2.325962 1.933012 +v 1.937500 2.092709 1.875000 +v 1.925241 1.888462 1.716506 +v 2.000000 1.767949 1.500000 +v 2.141747 1.763462 1.283493 +v 2.312500 1.876202 1.125000 +v 3.887259 1.255690 1.725481 +v 4.031250 1.605569 1.812500 +v 4.049639 1.911940 2.050240 +v 3.937500 2.092709 2.375000 +v 3.724880 2.099440 2.699759 +v 3.468750 1.930329 2.937500 +v 3.237741 1.630690 3.024519 +v 3.093750 1.280810 2.937500 +v 3.075361 0.974440 2.699759 +v 3.187500 0.793671 2.375000 +v 3.400120 0.786940 2.050241 +v 3.656250 0.956050 1.812500 +v 3.966506 1.209936 2.066987 +v 4.062500 1.443189 2.124999 +v 4.074759 1.647437 2.283493 +v 4.000000 1.767949 2.499999 +v 3.858253 1.772437 2.716506 +v 3.687500 1.659696 2.875000 +v 3.533494 1.459936 2.933012 +v 3.437500 1.226683 2.875000 +v 3.425241 1.022436 2.716506 +v 3.500000 0.901924 2.500000 +v 3.641747 0.897436 2.283493 +v 3.812500 1.010177 2.125000 +v 3.912380 1.241187 2.175240 +v 3.984375 1.416126 2.218749 +v 3.993569 1.569312 2.337620 +v 3.937500 1.659696 2.500000 +v 3.831190 1.663062 2.662379 +v 3.703125 1.578506 2.781249 +v 3.587620 1.428687 2.824759 +v 3.515625 1.253747 2.781249 +v 3.506430 1.100562 2.662379 +v 3.562500 1.010177 2.500000 +v 3.668810 1.006812 2.337620 +v 3.796875 1.091367 2.218750 +v 4.640625 1.037240 2.656250 +v 4.568630 0.862300 2.612740 +v 4.649820 1.190425 2.775120 +v 4.593750 1.280810 2.937500 +v 4.487440 1.284175 3.099879 +v 4.359375 1.199620 3.218750 +v 4.243871 1.049800 3.262259 +v 4.171875 0.874860 3.218750 +v 4.162680 0.721675 3.099879 +v 4.218750 0.631291 2.937500 +v 4.325060 0.627925 2.775120 +v 4.453125 0.712481 2.656250 +v 1.341506 2.725481 0.316987 +v 1.437500 2.958734 0.375000 +v 1.449760 3.162981 0.533494 +v 1.375000 3.283494 0.750000 +v 1.233253 3.287981 0.966506 +v 1.062500 3.175241 1.125000 +v 0.908494 2.975481 1.183012 +v 0.812500 2.742228 1.125000 +v 0.800240 2.537981 0.966506 +v 0.875000 2.417468 0.750000 +v 1.016747 2.412981 0.533494 +v 1.187500 2.525721 0.375000 +v 1.233253 2.787981 0.533494 +v 1.281250 2.904608 0.562500 +v 1.287380 3.006731 0.641747 +v 1.250000 3.066987 0.750000 +v 1.179127 3.069231 0.858253 +v 1.093750 3.012861 0.937500 +v 1.016747 2.912981 0.966506 +v 0.968750 2.796354 0.937500 +v 0.962620 2.694231 0.858253 +v 1.000000 2.633975 0.750000 +v 1.070873 2.631731 0.641747 +v 1.156250 2.688101 0.562500 +v 0.670753 3.112741 0.158494 +v 0.718750 3.229367 0.187500 +v 0.724880 3.331491 0.266747 +v 0.687500 3.391747 0.375000 +v 0.616627 3.393991 0.483253 +v 0.531250 3.337620 0.562500 +v 0.454247 3.237741 0.591506 +v 0.406250 3.121114 0.562500 +v 0.400120 3.018990 0.483253 +v 0.437500 2.958734 0.375000 +v 0.508373 2.956490 0.266747 +v 0.593750 3.012861 0.187500 +v 0.640625 3.202304 0.281250 +v 0.616627 3.143991 0.266747 +v 0.643690 3.253366 0.320873 +v 0.625000 3.283494 0.375000 +v 0.589563 3.284616 0.429126 +v 0.546875 3.256430 0.468750 +v 0.508373 3.206491 0.483253 +v 0.484375 3.148177 0.468750 +v 0.481310 3.097115 0.429126 +v 0.500000 3.066987 0.375000 +v 0.535437 3.065865 0.320873 +v 0.578125 3.094050 0.281250 +v 0.453125 3.310557 0.156250 +v 0.429127 3.252244 0.141747 +v 0.456190 3.361619 0.195873 +v 0.437500 3.391747 0.250000 +v 0.402063 3.392869 0.304127 +v 0.359375 3.364683 0.343750 +v 0.320874 3.314744 0.358253 +v 0.296875 3.256430 0.343750 +v 0.293810 3.205369 0.304127 +v 0.312500 3.175241 0.250000 +v 0.347937 3.174119 0.195873 +v 0.390625 3.202304 0.156250 +v 2.112740 4.719791 -2.274519 +v 1.968750 5.069671 -2.187500 +v 1.950360 5.376041 -1.949760 +v 2.062500 5.556810 -1.625000 +v 2.275120 5.563541 -1.300241 +v 2.531250 5.394431 -1.062500 +v 2.762259 5.094791 -0.975482 +v 2.906250 4.744912 -1.062500 +v 2.924639 4.438541 -1.300241 +v 2.812500 4.257772 -1.625000 +v 2.599880 4.251041 -1.949760 +v 2.343750 4.420152 -2.187500 +v 2.033493 4.674038 -1.933013 +v 1.937500 4.907291 -1.875000 +v 1.925240 5.111538 -1.716507 +v 2.000000 5.232051 -1.500000 +v 2.141746 5.236538 -1.283494 +v 2.312500 5.123797 -1.125000 +v 2.466506 4.924038 -1.066988 +v 2.562500 4.690784 -1.125000 +v 2.574759 4.486538 -1.283494 +v 2.500000 4.366025 -1.500000 +v 2.358253 4.361538 -1.716507 +v 2.187500 4.474278 -1.875000 +v 3.237740 5.369310 -3.024519 +v 3.093750 5.719190 -2.937501 +v 3.075360 6.025560 -2.699760 +v 3.187500 6.206329 -2.375000 +v 3.400120 6.213060 -2.050241 +v 3.656250 6.043950 -1.812501 +v 3.887259 5.744310 -1.725482 +v 4.031250 5.394431 -1.812501 +v 4.049639 5.088060 -2.050241 +v 3.937500 4.907291 -2.375000 +v 3.724880 4.900560 -2.699760 +v 3.468750 5.069671 -2.937500 +v 3.533493 5.540064 -2.933013 +v 3.437499 5.773316 -2.875001 +v 3.425240 5.977563 -2.716507 +v 3.499999 6.098076 -2.500001 +v 3.641746 6.102564 -2.283494 +v 3.812500 5.989823 -2.125001 +v 3.966506 5.790064 -2.066988 +v 4.062500 5.556810 -2.125001 +v 4.074759 5.352563 -2.283494 +v 3.999999 5.232050 -2.500000 +v 3.858253 5.227563 -2.716507 +v 3.687499 5.340303 -2.875000 +v 3.587620 5.571314 -2.824760 +v 3.515624 5.746253 -2.781251 +v 3.506430 5.899439 -2.662380 +v 3.562499 5.989823 -2.500000 +v 3.668809 5.993189 -2.337621 +v 3.796874 5.908633 -2.218751 +v 3.912379 5.758814 -2.175241 +v 3.984374 5.583873 -2.218751 +v 3.993569 5.430689 -2.337621 +v 3.937499 5.340304 -2.500000 +v 3.831189 5.336939 -2.662380 +v 3.703124 5.421494 -2.781250 +v 4.171875 6.125140 -3.218751 +v 4.243870 5.950200 -3.262260 +v 4.162680 6.278324 -3.099881 +v 4.218750 6.368710 -2.937501 +v 4.325059 6.372075 -2.775121 +v 4.453125 6.287519 -2.656251 +v 4.568629 6.137700 -2.612741 +v 4.640624 5.962760 -2.656251 +v 4.649819 5.809574 -2.775121 +v 4.593749 5.719191 -2.937500 +v 4.487439 5.715824 -3.099880 +v 4.359375 5.800380 -3.218751 +v 0.908493 4.024519 -1.183013 +v 0.812500 4.257772 -1.125000 +v 0.800240 4.462019 -0.966507 +v 0.875000 4.582532 -0.750000 +v 1.016746 4.587019 -0.533494 +v 1.187500 4.474278 -0.375000 +v 1.341506 4.274519 -0.316988 +v 1.437500 4.041266 -0.375000 +v 1.449759 3.837019 -0.533494 +v 1.375000 3.716506 -0.750000 +v 1.233253 3.712019 -0.966506 +v 1.062500 3.824759 -1.125000 +v 1.016747 4.087019 -0.966506 +v 0.968750 4.203646 -0.937500 +v 0.962620 4.305769 -0.858253 +v 1.000000 4.366025 -0.750000 +v 1.070873 4.368269 -0.641747 +v 1.156250 4.311899 -0.562500 +v 1.233253 4.212019 -0.533494 +v 1.281250 4.095392 -0.562500 +v 1.287380 3.993269 -0.641747 +v 1.250000 3.933013 -0.750000 +v 1.179126 3.930769 -0.858253 +v 1.093750 3.987139 -0.937500 +v 0.454247 3.762259 -0.591506 +v 0.406250 3.878886 -0.562500 +v 0.400120 3.981009 -0.483253 +v 0.437500 4.041266 -0.375000 +v 0.508373 4.043509 -0.266747 +v 0.593750 3.987139 -0.187500 +v 0.670753 3.887259 -0.158494 +v 0.718750 3.770633 -0.187500 +v 0.724880 3.668509 -0.266747 +v 0.687500 3.608253 -0.375000 +v 0.616627 3.606009 -0.483253 +v 0.531250 3.662380 -0.562500 +v 0.484375 3.851823 -0.468750 +v 0.508373 3.793509 -0.483253 +v 0.481310 3.902884 -0.429127 +v 0.500000 3.933013 -0.375000 +v 0.535437 3.934134 -0.320874 +v 0.578125 3.905949 -0.281250 +v 0.616626 3.856009 -0.266747 +v 0.640625 3.797696 -0.281250 +v 0.643690 3.746634 -0.320874 +v 0.625000 3.716506 -0.375000 +v 0.589563 3.715384 -0.429127 +v 0.546875 3.743570 -0.468750 +v 0.296875 3.743570 -0.343750 +v 0.320873 3.685256 -0.358253 +v 0.293810 3.794631 -0.304127 +v 0.312500 3.824759 -0.250000 +v 0.347937 3.825881 -0.195874 +v 0.390625 3.797696 -0.156250 +v 0.429126 3.747756 -0.141747 +v 0.453125 3.689443 -0.156250 +v 0.456190 3.638381 -0.195874 +v 0.437500 3.608253 -0.250000 +v 0.402063 3.607131 -0.304127 +v 0.359375 3.635316 -0.343750 +v 2.762260 5.094791 0.975481 +v 2.531250 5.394431 1.062500 +v 2.275120 5.563541 1.300241 +v 2.062500 5.556810 1.625000 +v 1.950361 5.376041 1.949759 +v 1.968750 5.069671 2.187500 +v 2.112741 4.719791 2.274518 +v 2.343750 4.420152 2.187500 +v 2.599880 4.251041 1.949759 +v 2.812500 4.257772 1.625000 +v 2.924639 4.438541 1.300241 +v 2.906250 4.744912 1.062500 +v 2.466507 4.924038 1.066987 +v 2.312500 5.123798 1.125000 +v 2.141747 5.236538 1.283493 +v 2.000000 5.232051 1.500000 +v 1.925240 5.111539 1.716506 +v 1.937500 4.907291 1.875000 +v 2.033494 4.674038 1.933012 +v 2.187500 4.474278 1.875000 +v 2.358253 4.361538 1.716506 +v 2.500000 4.366025 1.500000 +v 2.574760 4.486538 1.283493 +v 2.562500 4.690785 1.125000 +v 3.887259 5.744310 1.725481 +v 3.656250 6.043950 1.812500 +v 3.400120 6.213060 2.050240 +v 3.187500 6.206329 2.375000 +v 3.075361 6.025560 2.699759 +v 3.093750 5.719191 2.937500 +v 3.237741 5.369310 3.024519 +v 3.468750 5.069672 2.937500 +v 3.724880 4.900561 2.699759 +v 3.937500 4.907291 2.375000 +v 4.049639 5.088060 2.050241 +v 4.031250 5.394431 1.812500 +v 3.966506 5.790064 2.066987 +v 3.812500 5.989823 2.124999 +v 3.641746 6.102564 2.283493 +v 3.500000 6.098076 2.499999 +v 3.425241 5.977564 2.716506 +v 3.437500 5.773317 2.875000 +v 3.533494 5.540064 2.933012 +v 3.687500 5.340304 2.875000 +v 3.858253 5.227564 2.716506 +v 4.000000 5.232051 2.500000 +v 4.074759 5.352563 2.283493 +v 4.062500 5.556810 2.125000 +v 3.912380 5.758814 2.175240 +v 3.796875 5.908633 2.218749 +v 3.668810 5.993189 2.337620 +v 3.562500 5.989823 2.500000 +v 3.506430 5.899439 2.662379 +v 3.515625 5.746254 2.781249 +v 3.587620 5.571314 2.824759 +v 3.703125 5.421494 2.781249 +v 3.831190 5.336939 2.662379 +v 3.937500 5.340304 2.500000 +v 3.993569 5.430689 2.337620 +v 3.984375 5.583874 2.218750 +v 4.453125 6.287520 2.656250 +v 4.568630 6.137700 2.612740 +v 4.325060 6.372075 2.775120 +v 4.218750 6.368710 2.937500 +v 4.162681 6.278325 3.099879 +v 4.171875 6.125140 3.218750 +v 4.243871 5.950200 3.262259 +v 4.359375 5.800381 3.218750 +v 4.487440 5.715825 3.099879 +v 4.593750 5.719191 2.937500 +v 4.649819 5.809575 2.775120 +v 4.640625 5.962760 2.656250 +v 1.341506 4.274519 0.316987 +v 1.187500 4.474278 0.375000 +v 1.016747 4.587019 0.533494 +v 0.875000 4.582532 0.750000 +v 0.800240 4.462019 0.966506 +v 0.812500 4.257772 1.125000 +v 0.908494 4.024519 1.183012 +v 1.062500 3.824759 1.125000 +v 1.233253 3.712019 0.966506 +v 1.375000 3.716506 0.750000 +v 1.449760 3.837019 0.533494 +v 1.437500 4.041266 0.375000 +v 1.233253 4.212019 0.533494 +v 1.156250 4.311899 0.562500 +v 1.070873 4.368269 0.641747 +v 1.000000 4.366025 0.750000 +v 0.962620 4.305769 0.858253 +v 0.968750 4.203646 0.937500 +v 1.016747 4.087019 0.966506 +v 1.093750 3.987139 0.937500 +v 1.179127 3.930769 0.858253 +v 1.250000 3.933013 0.750000 +v 1.287380 3.993269 0.641747 +v 1.281250 4.095393 0.562500 +v 0.670753 3.887260 0.158494 +v 0.593750 3.987139 0.187500 +v 0.508373 4.043509 0.266747 +v 0.437500 4.041266 0.375000 +v 0.400120 3.981010 0.483253 +v 0.406250 3.878886 0.562500 +v 0.454247 3.762260 0.591506 +v 0.531250 3.662380 0.562500 +v 0.616627 3.606009 0.483253 +v 0.687500 3.608253 0.375000 +v 0.724880 3.668509 0.266747 +v 0.718750 3.770633 0.187500 +v 0.578125 3.905949 0.281250 +v 0.616627 3.856010 0.266747 +v 0.535437 3.934135 0.320873 +v 0.500000 3.933013 0.375000 +v 0.481310 3.902885 0.429126 +v 0.484375 3.851823 0.468750 +v 0.508373 3.793510 0.483253 +v 0.546875 3.743570 0.468750 +v 0.589563 3.715384 0.429126 +v 0.625000 3.716506 0.375000 +v 0.643690 3.746634 0.320873 +v 0.640625 3.797696 0.281250 +v 0.390625 3.797696 0.156250 +v 0.429127 3.747756 0.141747 +v 0.347937 3.825881 0.195873 +v 0.312500 3.824759 0.250000 +v 0.293810 3.794631 0.304127 +v 0.296875 3.743570 0.343750 +v 0.320874 3.685256 0.358253 +v 0.359375 3.635317 0.343750 +v 0.402063 3.607131 0.304127 +v 0.437500 3.608253 0.250000 +v 0.456190 3.638381 0.195873 +v 0.453125 3.689443 0.156250 +v -1.500000 3.500000 0.500001 +v -1.500000 3.750000 0.433013 +v -1.500000 3.933013 0.250001 +v -1.500000 4.000000 0.000001 +v -1.500000 3.933013 -0.249999 +v -1.500000 3.750000 -0.433012 +v -1.500000 3.500000 -0.499999 +v -1.500000 3.250000 -0.433012 +v -1.500000 3.066987 -0.249999 +v -1.500000 3.000000 0.000000 +v -1.500000 3.066987 0.250000 +v -1.500000 3.250000 0.433013 +v -1.500000 3.500000 0.250001 +v -1.500000 3.625000 0.216507 +v -1.500000 3.716506 0.125001 +v -1.500000 3.750000 0.000001 +v -1.500000 3.716506 -0.124999 +v -1.500000 3.625000 -0.216506 +v -1.500000 3.500000 -0.249999 +v -1.500000 3.375000 -0.216506 +v -1.500000 3.283494 -0.124999 +v -1.500000 3.250000 0.000001 +v -1.500000 3.283494 0.125000 +v -1.500000 3.375000 0.216507 +v -0.750000 3.500000 0.250000 +v -0.750000 3.625000 0.216507 +v -0.750000 3.716506 0.125000 +v -0.750000 3.750000 0.000000 +v -0.750000 3.716506 -0.124999 +v -0.750000 3.625000 -0.216506 +v -0.750000 3.500000 -0.249999 +v -0.750000 3.375000 -0.216506 +v -0.750000 3.283494 -0.125000 +v -0.750000 3.250000 0.000000 +v -0.750000 3.283494 0.125000 +v -0.750000 3.375000 0.216507 +v -0.750000 3.562500 0.108254 +v -0.750000 3.500000 0.125000 +v -0.750000 3.608253 0.062500 +v -0.750000 3.625000 0.000000 +v -0.750000 3.608253 -0.062500 +v -0.750000 3.562500 -0.108253 +v -0.750000 3.500000 -0.125000 +v -0.750000 3.437500 -0.108253 +v -0.750000 3.391747 -0.062500 +v -0.750000 3.375000 0.000000 +v -0.750000 3.391747 0.062500 +v -0.750000 3.437500 0.108254 +v -0.500000 3.562500 0.108254 +v -0.500000 3.500000 0.125000 +v -0.500000 3.608253 0.062500 +v -0.500000 3.625000 0.000000 +v -0.500000 3.608253 -0.062500 +v -0.500000 3.562500 -0.108253 +v -0.500000 3.500000 -0.125000 +v -0.500000 3.437500 -0.108253 +v -0.500000 3.391747 -0.062500 +v -0.500000 3.375000 0.000000 +v -0.500000 3.391747 0.062500 +v -0.500000 3.437500 0.108254 +v -0.500000 3.500000 -2.250000 +v -0.433013 3.750000 -2.250000 +v -0.250000 3.933013 -2.250000 +v -0.000000 4.000000 -2.250000 +v 0.250000 3.933013 -2.250000 +v 0.433013 3.750000 -2.250000 +v 0.500000 3.500000 -2.250000 +v 0.433013 3.250000 -2.250000 +v 0.250000 3.066987 -2.250000 +v -0.000000 3.000000 -2.250000 +v -0.250000 3.066987 -2.250000 +v -0.433012 3.250000 -2.250000 +v -0.500000 3.500000 -1.500000 +v -0.433012 3.750000 -1.500000 +v -0.250000 3.933013 -1.500000 +v -0.000000 4.000000 -1.500000 +v 0.250000 3.933013 -1.500000 +v 0.433013 3.750000 -1.500000 +v 0.500000 3.500000 -1.500000 +v 0.433013 3.250000 -1.500000 +v 0.250000 3.066987 -1.500000 +v -0.000000 3.000000 -1.500000 +v -0.250000 3.066987 -1.500000 +v -0.433012 3.250000 -1.500000 +v -0.250000 3.500000 -1.500000 +v -0.216506 3.625000 -1.500000 +v -0.125000 3.716506 -1.500000 +v -0.000000 3.750000 -1.500000 +v 0.125000 3.716506 -1.500000 +v 0.216507 3.625000 -1.500000 +v 0.250000 3.500000 -1.500000 +v 0.216507 3.375000 -1.500000 +v 0.125000 3.283494 -1.500000 +v -0.000000 3.250000 -1.500000 +v -0.125000 3.283494 -1.500000 +v -0.216506 3.375000 -1.500000 +v -0.250000 3.500000 -0.750000 +v -0.216506 3.625000 -0.750000 +v -0.125000 3.716506 -0.750000 +v -0.000000 3.750000 -0.750000 +v 0.125000 3.716506 -0.750000 +v 0.216507 3.625000 -0.750000 +v 0.250000 3.500000 -0.750000 +v 0.216507 3.375000 -0.750000 +v 0.125000 3.283494 -0.750000 +v -0.000000 3.250000 -0.750000 +v -0.125000 3.283494 -0.750000 +v -0.216506 3.375000 -0.750000 +v -0.108253 3.562500 -0.750000 +v -0.125000 3.500000 -0.750000 +v -0.062500 3.608253 -0.750000 +v -0.000000 3.625000 -0.750000 +v 0.062500 3.608253 -0.750000 +v 0.108253 3.562500 -0.750000 +v 0.125000 3.500000 -0.750000 +v 0.108253 3.437500 -0.750000 +v 0.062500 3.391747 -0.750000 +v -0.000000 3.375000 -0.750000 +v -0.062500 3.391747 -0.750000 +v -0.108253 3.437500 -0.750000 +v -0.108254 3.562500 -0.500000 +v -0.125000 3.500000 -0.500000 +v -0.062500 3.608253 -0.500000 +v -0.000000 3.625000 -0.500000 +v 0.062500 3.608253 -0.500000 +v 0.108253 3.562500 -0.500000 +v 0.125000 3.500000 -0.500000 +v 0.108253 3.437500 -0.500000 +v 0.062500 3.391747 -0.500000 +v -0.000000 3.375000 -0.500000 +v -0.062500 3.391747 -0.500000 +v -0.108253 3.437500 -0.500000 +v -5.370945 3.437636 -0.031645 +v -5.482748 3.437636 0.024256 +v -5.479053 3.562364 0.031647 +v -5.367250 3.562364 -0.024255 +v -3.989082 5.816198 2.732082 +v -4.100885 5.816198 2.787983 +v -4.148417 5.881990 2.692920 +v -4.036614 5.881990 2.637018 +v -5.093926 3.397937 0.522393 +v -5.205729 3.397937 0.578295 +v -5.213573 3.521701 0.562608 +v -5.101769 3.521701 0.506706 +v -4.813114 3.624890 1.084016 +v -4.924919 3.624890 1.139918 +v -4.951885 3.734385 1.085985 +v -4.840080 3.734385 1.030084 +v -4.535995 4.104363 1.638257 +v -4.647799 4.104363 1.694159 +v -4.686504 4.194551 1.616744 +v -4.574701 4.194551 1.560843 +v -4.261469 4.832593 2.187311 +v -4.373272 4.832593 2.243212 +v -4.418531 4.905957 2.152691 +v -4.306728 4.905957 2.096789 +v -5.392796 3.466860 -0.075346 +v -5.504599 3.466860 -0.019445 +v -5.457203 3.533140 0.075347 +v -5.345400 3.533140 0.019446 +v -4.011459 1.088484 2.687328 +v -4.123262 1.088484 2.743230 +v -4.126041 1.213329 2.737673 +v -4.014238 1.213329 2.681772 +v -5.120440 2.493382 0.469365 +v -5.232244 2.493382 0.525266 +v -5.187058 2.566979 0.615637 +v -5.075255 2.566979 0.559735 +v -4.845951 1.765268 1.018343 +v -4.957754 1.765268 1.074244 +v -4.919048 1.855455 1.151659 +v -4.807245 1.855455 1.095757 +v -4.568831 1.285796 1.572584 +v -4.680634 1.285796 1.628485 +v -4.653668 1.395291 1.682418 +v -4.541865 1.395291 1.626516 +v -4.288248 1.058917 2.133752 +v -4.400051 1.058917 2.189654 +v -4.391752 1.182532 2.206249 +v -4.279949 1.182532 2.150348 +v -5.384722 3.444246 -0.055513 +v -5.493280 3.444246 0.006454 +v -5.465277 3.555754 0.055514 +v -5.356718 3.555754 -0.006453 +v -1.931818 3.444246 5.993546 +v -2.040376 3.444246 6.055514 +v -2.068381 3.555754 6.006454 +v -1.959821 3.555754 5.944486 +v -2.424219 2.941473 5.130919 +v -2.532778 2.941473 5.192886 +v -2.554521 3.058527 5.154795 +v -2.445962 3.058527 5.092828 +v -3.409801 2.437981 3.404304 +v -3.518359 2.437981 3.466271 +v -3.526027 2.562019 3.452840 +v -3.417467 2.562019 3.390872 +v -3.906738 2.437981 2.533729 +v -4.015297 2.437981 2.595697 +v -4.007631 2.562019 2.609128 +v -3.899072 2.562019 2.547161 +v -4.892321 2.941473 0.807114 +v -5.000879 2.941473 0.869082 +v -4.979136 3.058527 0.907172 +v -4.870577 3.058527 0.845205 +v -2.112740 2.280209 2.274520 +v -2.343749 2.579848 2.187501 +v -2.599879 2.748959 1.949760 +v -2.812499 2.742228 1.625001 +v -2.924639 2.561459 1.300241 +v -2.906250 2.255089 1.062501 +v -2.762259 1.905209 0.975482 +v -2.531250 1.605570 1.062501 +v -2.275120 1.436459 1.300241 +v -2.062499 1.443190 1.625001 +v -1.950361 1.623959 1.949760 +v -1.968750 1.930329 2.187501 +v -2.033493 2.325962 1.933014 +v -2.187500 2.525722 1.875001 +v -2.358253 2.638462 1.716507 +v -2.499999 2.633975 1.500001 +v -2.574759 2.513462 1.283494 +v -2.562500 2.309215 1.125001 +v -2.466506 2.075962 1.066988 +v -2.312500 1.876203 1.125001 +v -2.141746 1.763462 1.283494 +v -2.000000 1.767949 1.500001 +v -1.925240 1.888462 1.716507 +v -1.937500 2.092709 1.875001 +v -3.237740 1.630690 3.024520 +v -3.468749 1.930329 2.937501 +v -3.724879 2.099440 2.699760 +v -3.937500 2.092709 2.375001 +v -4.049639 1.911940 2.050241 +v -4.031250 1.605570 1.812501 +v -3.887259 1.255690 1.725482 +v -3.656250 0.956051 1.812502 +v -3.400120 0.786940 2.050241 +v -3.187500 0.793671 2.375001 +v -3.075360 0.974440 2.699760 +v -3.093749 1.280810 2.937501 +v -3.533493 1.459937 2.933014 +v -3.687499 1.659697 2.875001 +v -3.858253 1.772437 2.716507 +v -3.999999 1.767950 2.500001 +v -4.074759 1.647437 2.283495 +v -4.062500 1.443190 2.125001 +v -3.966506 1.209937 2.066988 +v -3.812500 1.010177 2.125001 +v -3.641746 0.897437 2.283495 +v -3.499999 0.901924 2.500001 +v -3.425240 1.022437 2.716507 +v -3.437499 1.226684 2.875001 +v -3.587619 1.428687 2.824760 +v -3.703124 1.578506 2.781251 +v -3.831189 1.663062 2.662381 +v -3.937499 1.659696 2.500001 +v -3.993569 1.569312 2.337621 +v -3.984374 1.416127 2.218751 +v -3.912379 1.241187 2.175241 +v -3.796874 1.091367 2.218751 +v -3.668809 1.006812 2.337621 +v -3.562499 1.010177 2.500001 +v -3.506430 1.100562 2.662381 +v -3.515624 1.253747 2.781251 +v -4.359374 1.199620 3.218751 +v -4.243870 1.049801 3.262261 +v -4.487439 1.284176 3.099881 +v -4.593749 1.280810 2.937501 +v -4.649818 1.190426 2.775122 +v -4.640625 1.037241 2.656251 +v -4.568629 0.862301 2.612742 +v -4.453125 0.712481 2.656251 +v -4.325058 0.627926 2.775121 +v -4.218749 0.631291 2.937501 +v -4.162680 0.721676 3.099881 +v -4.171874 0.874861 3.218751 +v -0.908493 2.975481 1.183013 +v -1.062500 3.175241 1.125001 +v -1.233253 3.287981 0.966507 +v -1.375000 3.283494 0.750001 +v -1.449759 3.162981 0.533494 +v -1.437500 2.958734 0.375001 +v -1.341506 2.725481 0.316988 +v -1.187500 2.525722 0.375001 +v -1.016747 2.412981 0.533494 +v -0.875000 2.417468 0.750000 +v -0.800240 2.537981 0.966507 +v -0.812500 2.742228 1.125000 +v -1.016746 2.912981 0.966507 +v -1.093750 3.012861 0.937501 +v -1.179126 3.069231 0.858254 +v -1.250000 3.066988 0.750001 +v -1.287380 3.006731 0.641747 +v -1.281250 2.904608 0.562501 +v -1.233253 2.787981 0.533494 +v -1.156250 2.688101 0.562501 +v -1.070873 2.631731 0.641747 +v -1.000000 2.633975 0.750000 +v -0.962620 2.694231 0.858253 +v -0.968750 2.796355 0.937500 +v -0.454247 3.237741 0.591507 +v -0.531250 3.337620 0.562500 +v -0.616627 3.393991 0.483254 +v -0.687500 3.391747 0.375000 +v -0.724880 3.331491 0.266747 +v -0.718750 3.229367 0.187500 +v -0.670753 3.112741 0.158494 +v -0.593750 3.012861 0.187500 +v -0.508373 2.956491 0.266747 +v -0.437500 2.958734 0.375000 +v -0.400120 3.018991 0.483254 +v -0.406250 3.121114 0.562500 +v -0.546875 3.256430 0.468750 +v -0.508373 3.206491 0.483253 +v -0.589563 3.284616 0.429127 +v -0.625000 3.283494 0.375000 +v -0.643690 3.253366 0.320874 +v -0.640625 3.202304 0.281250 +v -0.616626 3.143991 0.266747 +v -0.578125 3.094051 0.281250 +v -0.535437 3.065866 0.320874 +v -0.500000 3.066987 0.375000 +v -0.481310 3.097116 0.429127 +v -0.484375 3.148177 0.468750 +v -0.359375 3.364684 0.343750 +v -0.320873 3.314744 0.358254 +v -0.402063 3.392869 0.304127 +v -0.437500 3.391747 0.250000 +v -0.456190 3.361619 0.195874 +v -0.453125 3.310557 0.156250 +v -0.429126 3.252244 0.141747 +v -0.390625 3.202304 0.156250 +v -0.347936 3.174119 0.195874 +v -0.312500 3.175241 0.250000 +v -0.293810 3.205369 0.304127 +v -0.296875 3.256430 0.343750 +v -2.762260 1.905209 -0.975480 +v -2.906250 2.255088 -1.062500 +v -2.924639 2.561459 -1.300240 +v -2.812501 2.742228 -1.625000 +v -2.599880 2.748959 -1.949759 +v -2.343751 2.579848 -2.187500 +v -2.112741 2.280209 -2.274518 +v -1.968750 1.930329 -2.187500 +v -1.950361 1.623959 -1.949759 +v -2.062500 1.443190 -1.625000 +v -2.275120 1.436459 -1.300240 +v -2.531250 1.605569 -1.062500 +v -2.466507 2.075962 -1.066987 +v -2.562500 2.309215 -1.124999 +v -2.574760 2.513462 -1.283493 +v -2.500000 2.633975 -1.499999 +v -2.358253 2.638462 -1.716506 +v -2.187501 2.525721 -1.874999 +v -2.033494 2.325962 -1.933012 +v -1.937500 2.092709 -1.874999 +v -1.925241 1.888462 -1.716506 +v -2.000000 1.767949 -1.499999 +v -2.141747 1.763462 -1.283493 +v -2.312500 1.876202 -1.124999 +v -3.887259 1.255690 -1.725480 +v -4.031250 1.605569 -1.812499 +v -4.049639 1.911940 -2.050240 +v -3.937500 2.092709 -2.374999 +v -3.724880 2.099440 -2.699759 +v -3.468750 1.930329 -2.937499 +v -3.237741 1.630690 -3.024518 +v -3.093750 1.280810 -2.937499 +v -3.075361 0.974440 -2.699759 +v -3.187500 0.793671 -2.374999 +v -3.400120 0.786940 -2.050240 +v -3.656250 0.956050 -1.812500 +v -3.966506 1.209936 -2.066986 +v -4.062500 1.443189 -2.124999 +v -4.074759 1.647437 -2.283493 +v -4.000000 1.767949 -2.499999 +v -3.858253 1.772437 -2.716505 +v -3.687500 1.659696 -2.874999 +v -3.533494 1.459936 -2.933012 +v -3.437500 1.226683 -2.874999 +v -3.425241 1.022436 -2.716505 +v -3.500000 0.901924 -2.499999 +v -3.641747 0.897436 -2.283493 +v -3.812500 1.010177 -2.124999 +v -3.912380 1.241187 -2.175240 +v -3.984375 1.416126 -2.218749 +v -3.993569 1.569312 -2.337619 +v -3.937500 1.659696 -2.499999 +v -3.831190 1.663062 -2.662379 +v -3.703126 1.578506 -2.781249 +v -3.587620 1.428687 -2.824759 +v -3.515626 1.253747 -2.781249 +v -3.506430 1.100562 -2.662379 +v -3.562500 1.010177 -2.499999 +v -3.668810 1.006812 -2.337619 +v -3.796875 1.091367 -2.218749 +v -4.640625 1.037240 -2.656249 +v -4.568630 0.862300 -2.612739 +v -4.649821 1.190425 -2.775119 +v -4.593751 1.280810 -2.937499 +v -4.487440 1.284175 -3.099879 +v -4.359376 1.199620 -3.218749 +v -4.243871 1.049800 -3.262259 +v -4.171876 0.874860 -3.218749 +v -4.162681 0.721675 -3.099879 +v -4.218750 0.631291 -2.937500 +v -4.325060 0.627925 -2.775119 +v -4.453125 0.712481 -2.656249 +v -1.341506 2.725481 -0.316987 +v -1.437500 2.958734 -0.374999 +v -1.449760 3.162981 -0.533493 +v -1.375000 3.283494 -0.749999 +v -1.233254 3.287981 -0.966506 +v -1.062500 3.175241 -1.125000 +v -0.908494 2.975481 -1.183012 +v -0.812500 2.742228 -1.125000 +v -0.800240 2.537981 -0.966506 +v -0.875000 2.417468 -0.750000 +v -1.016747 2.412981 -0.533493 +v -1.187500 2.525721 -0.375000 +v -1.233253 2.787981 -0.533493 +v -1.281250 2.904608 -0.562500 +v -1.287380 3.006731 -0.641746 +v -1.250000 3.066987 -0.749999 +v -1.179127 3.069231 -0.858253 +v -1.093750 3.012861 -0.937500 +v -1.016747 2.912981 -0.966506 +v -0.968750 2.796354 -0.937500 +v -0.962620 2.694231 -0.858253 +v -1.000000 2.633975 -0.750000 +v -1.070873 2.631731 -0.641746 +v -1.156250 2.688101 -0.562500 +v -0.670753 3.112741 -0.158493 +v -0.718750 3.229367 -0.187500 +v -0.724880 3.331491 -0.266746 +v -0.687500 3.391747 -0.375000 +v -0.616627 3.393991 -0.483253 +v -0.531250 3.337620 -0.562500 +v -0.454247 3.237741 -0.591506 +v -0.406250 3.121114 -0.562500 +v -0.400120 3.018990 -0.483253 +v -0.437500 2.958734 -0.375000 +v -0.508373 2.956490 -0.266747 +v -0.593750 3.012861 -0.187500 +v -0.640625 3.202304 -0.281250 +v -0.616627 3.143991 -0.266746 +v -0.643690 3.253366 -0.320873 +v -0.625000 3.283494 -0.375000 +v -0.589564 3.284616 -0.429126 +v -0.546875 3.256430 -0.468750 +v -0.508373 3.206491 -0.483253 +v -0.484375 3.148177 -0.468750 +v -0.481310 3.097115 -0.429126 +v -0.500000 3.066987 -0.375000 +v -0.535437 3.065865 -0.320873 +v -0.578125 3.094050 -0.281250 +v -0.453125 3.310557 -0.156250 +v -0.429127 3.252244 -0.141746 +v -0.456190 3.361619 -0.195873 +v -0.437500 3.391747 -0.250000 +v -0.402063 3.392869 -0.304126 +v -0.359375 3.364683 -0.343750 +v -0.320874 3.314744 -0.358253 +v -0.296875 3.256430 -0.343750 +v -0.293810 3.205369 -0.304126 +v -0.312500 3.175241 -0.250000 +v -0.347937 3.174119 -0.195873 +v -0.390625 3.202304 -0.156250 +v -2.112740 4.719791 2.274520 +v -1.968750 5.069671 2.187501 +v -1.950360 5.376041 1.949760 +v -2.062499 5.556810 1.625001 +v -2.275120 5.563541 1.300241 +v -2.531250 5.394431 1.062501 +v -2.762259 5.094791 0.975482 +v -2.906250 4.744912 1.062501 +v -2.924639 4.438541 1.300241 +v -2.812500 4.257772 1.625001 +v -2.599879 4.251041 1.949760 +v -2.343749 4.420152 2.187501 +v -2.033493 4.674038 1.933014 +v -1.937500 4.907291 1.875001 +v -1.925240 5.111538 1.716507 +v -1.999999 5.232051 1.500001 +v -2.141746 5.236538 1.283494 +v -2.312500 5.123797 1.125001 +v -2.466506 4.924038 1.066988 +v -2.562500 4.690784 1.125001 +v -2.574759 4.486538 1.283494 +v -2.499999 4.366025 1.500001 +v -2.358253 4.361538 1.716507 +v -2.187500 4.474278 1.875001 +v -3.237740 5.369310 3.024520 +v -3.093749 5.719190 2.937501 +v -3.075360 6.025560 2.699760 +v -3.187500 6.206329 2.375001 +v -3.400120 6.213060 2.050241 +v -3.656250 6.043950 1.812501 +v -3.887259 5.744310 1.725482 +v -4.031250 5.394431 1.812502 +v -4.049639 5.088060 2.050241 +v -3.937500 4.907291 2.375001 +v -3.724879 4.900560 2.699760 +v -3.468750 5.069671 2.937501 +v -3.533493 5.540064 2.933014 +v -3.437499 5.773316 2.875001 +v -3.425240 5.977563 2.716507 +v -3.499999 6.098076 2.500001 +v -3.641746 6.102564 2.283495 +v -3.812500 5.989823 2.125001 +v -3.966506 5.790064 2.066988 +v -4.062500 5.556810 2.125001 +v -4.074759 5.352563 2.283495 +v -3.999999 5.232050 2.500001 +v -3.858253 5.227563 2.716507 +v -3.687499 5.340303 2.875001 +v -3.587619 5.571314 2.824760 +v -3.515624 5.746253 2.781251 +v -3.506430 5.899439 2.662381 +v -3.562499 5.989823 2.500001 +v -3.668809 5.993189 2.337621 +v -3.796874 5.908633 2.218751 +v -3.912379 5.758814 2.175241 +v -3.984374 5.583873 2.218751 +v -3.993569 5.430689 2.337621 +v -3.937499 5.340304 2.500001 +v -3.831189 5.336939 2.662381 +v -3.703124 5.421494 2.781251 +v -4.171874 6.125140 3.218751 +v -4.243870 5.950200 3.262261 +v -4.162680 6.278324 3.099881 +v -4.218749 6.368710 2.937501 +v -4.325058 6.372075 2.775122 +v -4.453125 6.287519 2.656251 +v -4.568629 6.137700 2.612742 +v -4.640624 5.962760 2.656251 +v -4.649818 5.809574 2.775121 +v -4.593749 5.719191 2.937501 +v -4.487439 5.715824 3.099881 +v -4.359374 5.800380 3.218751 +v -0.908493 4.024519 1.183013 +v -0.812500 4.257772 1.125001 +v -0.800240 4.462019 0.966507 +v -0.875000 4.582532 0.750000 +v -1.016746 4.587019 0.533494 +v -1.187500 4.474278 0.375001 +v -1.341506 4.274519 0.316988 +v -1.437500 4.041266 0.375001 +v -1.449759 3.837019 0.533494 +v -1.375000 3.716506 0.750000 +v -1.233253 3.712019 0.966507 +v -1.062500 3.824759 1.125000 +v -1.016746 4.087019 0.966507 +v -0.968750 4.203646 0.937500 +v -0.962620 4.305769 0.858254 +v -1.000000 4.366025 0.750001 +v -1.070873 4.368269 0.641747 +v -1.156250 4.311899 0.562501 +v -1.233253 4.212019 0.533494 +v -1.281250 4.095392 0.562501 +v -1.287380 3.993269 0.641747 +v -1.250000 3.933013 0.750000 +v -1.179126 3.930769 0.858254 +v -1.093750 3.987139 0.937500 +v -0.454247 3.762259 0.591507 +v -0.406250 3.878886 0.562500 +v -0.400120 3.981009 0.483254 +v -0.437500 4.041266 0.375000 +v -0.508373 4.043509 0.266747 +v -0.593750 3.987139 0.187500 +v -0.670753 3.887259 0.158494 +v -0.718750 3.770633 0.187500 +v -0.724880 3.668509 0.266747 +v -0.687500 3.608253 0.375000 +v -0.616627 3.606009 0.483254 +v -0.531250 3.662380 0.562500 +v -0.484375 3.851823 0.468750 +v -0.508373 3.793509 0.483253 +v -0.481310 3.902884 0.429127 +v -0.500000 3.933013 0.375000 +v -0.535437 3.934134 0.320874 +v -0.578125 3.905949 0.281250 +v -0.616626 3.856009 0.266747 +v -0.640625 3.797696 0.281250 +v -0.643690 3.746634 0.320874 +v -0.625000 3.716506 0.375000 +v -0.589563 3.715384 0.429127 +v -0.546875 3.743570 0.468750 +v -0.296875 3.743570 0.343750 +v -0.320873 3.685256 0.358254 +v -0.293810 3.794631 0.304127 +v -0.312500 3.824759 0.250000 +v -0.347937 3.825881 0.195874 +v -0.390625 3.797696 0.156250 +v -0.429126 3.747756 0.141747 +v -0.453125 3.689443 0.156250 +v -0.456190 3.638381 0.195874 +v -0.437500 3.608253 0.250000 +v -0.402063 3.607131 0.304127 +v -0.359375 3.635316 0.343750 +v -2.762260 5.094791 -0.975480 +v -2.531250 5.394431 -1.062500 +v -2.275120 5.563541 -1.300240 +v -2.062501 5.556810 -1.625000 +v -1.950361 5.376041 -1.949759 +v -1.968750 5.069671 -2.187500 +v -2.112741 4.719791 -2.274518 +v -2.343751 4.420152 -2.187500 +v -2.599880 4.251041 -1.949759 +v -2.812500 4.257772 -1.625000 +v -2.924639 4.438541 -1.300240 +v -2.906250 4.744912 -1.062500 +v -2.466507 4.924038 -1.066987 +v -2.312500 5.123798 -1.124999 +v -2.141747 5.236538 -1.283493 +v -2.000000 5.232051 -1.499999 +v -1.925241 5.111539 -1.716506 +v -1.937500 4.907291 -1.874999 +v -2.033494 4.674038 -1.933012 +v -2.187500 4.474278 -1.874999 +v -2.358253 4.361538 -1.716506 +v -2.500000 4.366025 -1.499999 +v -2.574760 4.486538 -1.283493 +v -2.562500 4.690785 -1.124999 +v -3.887259 5.744310 -1.725480 +v -3.656250 6.043950 -1.812499 +v -3.400120 6.213060 -2.050240 +v -3.187500 6.206329 -2.374999 +v -3.075361 6.025560 -2.699759 +v -3.093750 5.719191 -2.937499 +v -3.237741 5.369310 -3.024518 +v -3.468750 5.069672 -2.937499 +v -3.724880 4.900561 -2.699759 +v -3.937500 4.907291 -2.374999 +v -4.049639 5.088060 -2.050240 +v -4.031250 5.394431 -1.812500 +v -3.966506 5.790064 -2.066986 +v -3.812500 5.989823 -2.124999 +v -3.641747 6.102564 -2.283493 +v -3.500000 6.098076 -2.499999 +v -3.425241 5.977564 -2.716505 +v -3.437500 5.773317 -2.874999 +v -3.533494 5.540064 -2.933012 +v -3.687500 5.340304 -2.874999 +v -3.858253 5.227564 -2.716505 +v -4.000000 5.232051 -2.499999 +v -4.074759 5.352563 -2.283493 +v -4.062500 5.556810 -2.124999 +v -3.912380 5.758814 -2.175240 +v -3.796875 5.908633 -2.218749 +v -3.668810 5.993189 -2.337619 +v -3.562500 5.989823 -2.499999 +v -3.506430 5.899439 -2.662379 +v -3.515626 5.746254 -2.781249 +v -3.587620 5.571314 -2.824759 +v -3.703126 5.421494 -2.781249 +v -3.831190 5.336939 -2.662379 +v -3.937500 5.340304 -2.499999 +v -3.993569 5.430689 -2.337619 +v -3.984375 5.583874 -2.218749 +v -4.453125 6.287520 -2.656249 +v -4.568630 6.137700 -2.612739 +v -4.325061 6.372075 -2.775119 +v -4.218751 6.368710 -2.937499 +v -4.162681 6.278325 -3.099879 +v -4.171876 6.125140 -3.218749 +v -4.243871 5.950200 -3.262259 +v -4.359375 5.800381 -3.218749 +v -4.487441 5.715825 -3.099879 +v -4.593750 5.719191 -2.937500 +v -4.649819 5.809575 -2.775119 +v -4.640625 5.962760 -2.656249 +v -1.341506 4.274519 -0.316987 +v -1.187500 4.474278 -0.374999 +v -1.016747 4.587019 -0.533493 +v -0.875000 4.582532 -0.750000 +v -0.800241 4.462019 -0.966506 +v -0.812500 4.257772 -1.125000 +v -0.908494 4.024519 -1.183012 +v -1.062500 3.824759 -1.125000 +v -1.233253 3.712019 -0.966506 +v -1.375000 3.716506 -0.750000 +v -1.449760 3.837019 -0.533493 +v -1.437500 4.041266 -0.375000 +v -1.233253 4.212019 -0.533493 +v -1.156250 4.311899 -0.562500 +v -1.070873 4.368269 -0.641746 +v -1.000000 4.366025 -0.749999 +v -0.962620 4.305769 -0.858253 +v -0.968750 4.203646 -0.937500 +v -1.016747 4.087019 -0.966506 +v -1.093750 3.987139 -0.937500 +v -1.179127 3.930769 -0.858253 +v -1.250000 3.933013 -0.750000 +v -1.287380 3.993269 -0.641746 +v -1.281250 4.095393 -0.562500 +v -0.670753 3.887260 -0.158493 +v -0.593750 3.987139 -0.187500 +v -0.508373 4.043509 -0.266747 +v -0.437500 4.041266 -0.375000 +v -0.400120 3.981010 -0.483253 +v -0.406250 3.878886 -0.562500 +v -0.454247 3.762260 -0.591506 +v -0.531250 3.662380 -0.562500 +v -0.616627 3.606009 -0.483253 +v -0.687500 3.608253 -0.375000 +v -0.724880 3.668509 -0.266747 +v -0.718750 3.770633 -0.187500 +v -0.578125 3.905949 -0.281250 +v -0.616627 3.856010 -0.266746 +v -0.535437 3.934135 -0.320873 +v -0.500000 3.933013 -0.375000 +v -0.481310 3.902885 -0.429126 +v -0.484375 3.851823 -0.468750 +v -0.508373 3.793510 -0.483253 +v -0.546875 3.743570 -0.468750 +v -0.589563 3.715384 -0.429126 +v -0.625000 3.716506 -0.375000 +v -0.643690 3.746634 -0.320873 +v -0.640625 3.797696 -0.281250 +v -0.390625 3.797696 -0.156250 +v -0.429127 3.747756 -0.141746 +v -0.347937 3.825881 -0.195873 +v -0.312500 3.824759 -0.250000 +v -0.293810 3.794631 -0.304126 +v -0.296875 3.743570 -0.343750 +v -0.320874 3.685256 -0.358253 +v -0.359375 3.635317 -0.343750 +v -0.402063 3.607131 -0.304126 +v -0.437500 3.608253 -0.250000 +v -0.456190 3.638381 -0.195873 +v -0.453125 3.689443 -0.156250 +vt 0.250000 0.298077 +vt 0.260417 0.330128 +vt 0.250000 0.326923 +vt 0.250000 0.336538 +vt 0.260417 0.368590 +vt 0.250000 0.365385 +vt 0.260417 0.371795 +vt 0.250000 0.403846 +vt 0.250000 0.375000 +vt 0.260417 0.410256 +vt 0.250000 0.442308 +vt 0.250000 0.413462 +vt 0.260417 0.448718 +vt 0.250000 0.480769 +vt 0.250000 0.451923 +vt 0.260417 0.487179 +vt 0.250000 0.519231 +vt 0.250000 0.490385 +vt 0.260417 0.525641 +vt 0.250000 0.557692 +vt 0.250000 0.528846 +vt 0.260417 0.564103 +vt 0.250000 0.596154 +vt 0.250000 0.567308 +vt 0.260417 0.602564 +vt 0.250000 0.634615 +vt 0.250000 0.605769 +vt 0.250000 0.644231 +vt 0.260417 0.676282 +vt 0.250000 0.673077 +vt 0.250000 0.682692 +vt 0.260417 0.714744 +vt 0.250000 0.711538 +vt 0.250000 0.105769 +vt 0.260417 0.137821 +vt 0.250000 0.134615 +vt 0.250000 0.144231 +vt 0.260417 0.176282 +vt 0.250000 0.173077 +vt 0.250000 0.182692 +vt 0.260417 0.214744 +vt 0.250000 0.211538 +vt 0.250000 0.221154 +vt 0.260417 0.253205 +vt 0.250000 0.250000 +vt 0.250000 0.259615 +vt 0.260417 0.291667 +vt 0.250000 0.288462 +vt 0.250000 0.480769 +vt 0.260417 0.448718 +vt 0.260417 0.483974 +vt 0.250000 0.413462 +vt 0.260417 0.445513 +vt 0.250000 0.442308 +vt 0.250000 0.375000 +vt 0.260417 0.407051 +vt 0.250000 0.403846 +vt 0.250000 0.336538 +vt 0.260417 0.368590 +vt 0.250000 0.365385 +vt 0.250000 0.298077 +vt 0.260417 0.330128 +vt 0.250000 0.326923 +vt 0.250000 0.259615 +vt 0.260417 0.291667 +vt 0.250000 0.288462 +vt 0.250000 0.221154 +vt 0.260417 0.253205 +vt 0.250000 0.250000 +vt 0.250000 0.182692 +vt 0.260417 0.214744 +vt 0.250000 0.211538 +vt 0.250000 0.173077 +vt 0.260417 0.141026 +vt 0.260417 0.176282 +vt 0.250000 0.134615 +vt 0.260417 0.102564 +vt 0.260417 0.137821 +vt 0.250000 0.711538 +vt 0.260417 0.679487 +vt 0.260417 0.714744 +vt 0.250000 0.673077 +vt 0.260417 0.641026 +vt 0.260417 0.676282 +vt 0.250000 0.634615 +vt 0.260417 0.602564 +vt 0.260417 0.637821 +vt 0.250000 0.596154 +vt 0.260417 0.564103 +vt 0.260417 0.599359 +vt 0.250000 0.557692 +vt 0.260417 0.525641 +vt 0.260417 0.560897 +vt 0.250000 0.519231 +vt 0.260417 0.487179 +vt 0.260417 0.522436 +vt 0.364583 0.266026 +vt 0.333333 0.291667 +vt 0.333333 0.256410 +vt 0.364583 0.304487 +vt 0.333333 0.330128 +vt 0.333333 0.294872 +vt 0.333333 0.333333 +vt 0.364583 0.362179 +vt 0.333333 0.368590 +vt 0.364583 0.381410 +vt 0.333333 0.407051 +vt 0.333333 0.371795 +vt 0.364583 0.419872 +vt 0.333333 0.445513 +vt 0.333333 0.410256 +vt 0.333333 0.448718 +vt 0.364583 0.477564 +vt 0.333333 0.483974 +vt 0.364583 0.496795 +vt 0.333333 0.522436 +vt 0.333333 0.487179 +vt 0.364583 0.535256 +vt 0.333333 0.560897 +vt 0.333333 0.525641 +vt 0.333333 0.564103 +vt 0.364583 0.592949 +vt 0.333333 0.599359 +vt 0.333333 0.602564 +vt 0.364583 0.631410 +vt 0.333333 0.637821 +vt 0.364583 0.650641 +vt 0.333333 0.676282 +vt 0.333333 0.641026 +vt 0.364583 0.689103 +vt 0.333333 0.714744 +vt 0.333333 0.679487 +vt 0.333333 0.102564 +vt 0.364583 0.131410 +vt 0.333333 0.137821 +vt 0.333333 0.141026 +vt 0.364583 0.169872 +vt 0.333333 0.176282 +vt 0.364583 0.189103 +vt 0.333333 0.214744 +vt 0.333333 0.179487 +vt 0.364583 0.227564 +vt 0.333333 0.253205 +vt 0.333333 0.217949 +vt 0.468750 0.304487 +vt 0.500000 0.330128 +vt 0.468750 0.323718 +vt 0.500000 0.333333 +vt 0.468750 0.362179 +vt 0.468750 0.342949 +vt 0.468750 0.381410 +vt 0.500000 0.407051 +vt 0.468750 0.400641 +vt 0.468750 0.419872 +vt 0.500000 0.445513 +vt 0.468750 0.439103 +vt 0.500000 0.448718 +vt 0.468750 0.477564 +vt 0.468750 0.458333 +vt 0.468750 0.496795 +vt 0.500000 0.522436 +vt 0.468750 0.516026 +vt 0.500000 0.525641 +vt 0.468750 0.554487 +vt 0.468750 0.535256 +vt 0.500000 0.564103 +vt 0.468750 0.592949 +vt 0.468750 0.573718 +vt 0.500000 0.602564 +vt 0.468750 0.631410 +vt 0.468750 0.612179 +vt 0.468750 0.650641 +vt 0.500000 0.676282 +vt 0.468750 0.669872 +vt 0.468750 0.689103 +vt 0.500000 0.714744 +vt 0.468750 0.708333 +vt 0.500000 0.102564 +vt 0.468750 0.131410 +vt 0.468750 0.112179 +vt 0.500000 0.141026 +vt 0.468750 0.169872 +vt 0.468750 0.150641 +vt 0.500000 0.179487 +vt 0.468750 0.208333 +vt 0.468750 0.189103 +vt 0.468750 0.227564 +vt 0.500000 0.253205 +vt 0.468750 0.246795 +vt 0.468750 0.266026 +vt 0.500000 0.291667 +vt 0.468750 0.285256 +vt 0.333333 0.487179 +vt 0.364583 0.516026 +vt 0.333333 0.522436 +vt 0.333333 0.483974 +vt 0.364583 0.458333 +vt 0.364583 0.477564 +vt 0.333333 0.410256 +vt 0.364583 0.439103 +vt 0.333333 0.445513 +vt 0.333333 0.371795 +vt 0.364583 0.400641 +vt 0.333333 0.407051 +vt 0.333333 0.368590 +vt 0.364583 0.342949 +vt 0.364583 0.362179 +vt 0.333333 0.294872 +vt 0.364583 0.323718 +vt 0.333333 0.330128 +vt 0.333333 0.291667 +vt 0.364583 0.266026 +vt 0.364583 0.285256 +vt 0.333333 0.253205 +vt 0.364583 0.227564 +vt 0.364583 0.246795 +vt 0.333333 0.214744 +vt 0.364583 0.189103 +vt 0.364583 0.208333 +vt 0.333333 0.141026 +vt 0.364583 0.169872 +vt 0.333333 0.176282 +vt 0.333333 0.102564 +vt 0.364583 0.131410 +vt 0.333333 0.137821 +vt 0.333333 0.714744 +vt 0.364583 0.689103 +vt 0.364583 0.708333 +vt 0.333333 0.676282 +vt 0.364583 0.650641 +vt 0.364583 0.669872 +vt 0.333333 0.602564 +vt 0.364583 0.631410 +vt 0.333333 0.637821 +vt 0.333333 0.564103 +vt 0.364583 0.592949 +vt 0.333333 0.599359 +vt 0.333333 0.525641 +vt 0.364583 0.554487 +vt 0.333333 0.560897 +vt 0.468750 0.516026 +vt 0.500000 0.487179 +vt 0.500000 0.522436 +vt 0.500000 0.483974 +vt 0.468750 0.458333 +vt 0.500000 0.448718 +vt 0.468750 0.439103 +vt 0.500000 0.410256 +vt 0.500000 0.445513 +vt 0.468750 0.400641 +vt 0.500000 0.371795 +vt 0.500000 0.407051 +vt 0.500000 0.368590 +vt 0.468750 0.342949 +vt 0.500000 0.333333 +vt 0.468750 0.323718 +vt 0.500000 0.294872 +vt 0.500000 0.330128 +vt 0.468750 0.285256 +vt 0.500000 0.256410 +vt 0.500000 0.291667 +vt 0.500000 0.253205 +vt 0.468750 0.227564 +vt 0.500000 0.217949 +vt 0.500000 0.214744 +vt 0.468750 0.189103 +vt 0.500000 0.179487 +vt 0.468750 0.169872 +vt 0.500000 0.141026 +vt 0.500000 0.176282 +vt 0.468750 0.131410 +vt 0.500000 0.102564 +vt 0.500000 0.137821 +vt 0.500000 0.714744 +vt 0.468750 0.689103 +vt 0.500000 0.679487 +vt 0.500000 0.676282 +vt 0.468750 0.650641 +vt 0.500000 0.641026 +vt 0.468750 0.631410 +vt 0.500000 0.602564 +vt 0.500000 0.637821 +vt 0.468750 0.592949 +vt 0.500000 0.564103 +vt 0.500000 0.599359 +vt 0.468750 0.554487 +vt 0.500000 0.525641 +vt 0.500000 0.560897 +vt 0.572917 0.256410 +vt 0.635417 0.275641 +vt 0.572917 0.291667 +vt 0.635417 0.310897 +vt 0.572917 0.330128 +vt 0.572917 0.294872 +vt 0.635417 0.349359 +vt 0.572917 0.368590 +vt 0.572917 0.333333 +vt 0.635417 0.387821 +vt 0.572917 0.407051 +vt 0.572917 0.371795 +vt 0.635417 0.426282 +vt 0.572917 0.445513 +vt 0.572917 0.410256 +vt 0.572917 0.448718 +vt 0.635417 0.467949 +vt 0.572917 0.483974 +vt 0.635417 0.503205 +vt 0.572917 0.522436 +vt 0.572917 0.487179 +vt 0.572917 0.525641 +vt 0.635417 0.544872 +vt 0.572917 0.560897 +vt 0.635417 0.580128 +vt 0.572917 0.599359 +vt 0.572917 0.564103 +vt 0.572917 0.602564 +vt 0.635417 0.621795 +vt 0.572917 0.637821 +vt 0.635417 0.657051 +vt 0.572917 0.676282 +vt 0.572917 0.641026 +vt 0.572917 0.679487 +vt 0.635417 0.698718 +vt 0.572917 0.714744 +vt 0.572917 0.102564 +vt 0.635417 0.121795 +vt 0.572917 0.137821 +vt 0.635417 0.157051 +vt 0.572917 0.176282 +vt 0.572917 0.141026 +vt 0.635417 0.195513 +vt 0.572917 0.214744 +vt 0.572917 0.179487 +vt 0.635417 0.233974 +vt 0.572917 0.253205 +vt 0.572917 0.217949 +vt 0.253086 0.721747 +vt 0.267746 0.721747 +vt 0.267746 0.739791 +vt 0.572917 0.487179 +vt 0.635417 0.506410 +vt 0.572917 0.522436 +vt 0.572917 0.448718 +vt 0.635417 0.467949 +vt 0.572917 0.483974 +vt 0.572917 0.410256 +vt 0.635417 0.429487 +vt 0.572917 0.445513 +vt 0.572917 0.371795 +vt 0.635417 0.391026 +vt 0.572917 0.407051 +vt 0.572917 0.368590 +vt 0.635417 0.349359 +vt 0.635417 0.352564 +vt 0.572917 0.294872 +vt 0.635417 0.314103 +vt 0.572917 0.330128 +vt 0.572917 0.291667 +vt 0.635417 0.272436 +vt 0.635417 0.275641 +vt 0.572917 0.217949 +vt 0.635417 0.237179 +vt 0.572917 0.253205 +vt 0.572917 0.214744 +vt 0.635417 0.195513 +vt 0.635417 0.198718 +vt 0.572917 0.141026 +vt 0.635417 0.160256 +vt 0.572917 0.176282 +vt 0.572917 0.137821 +vt 0.635417 0.118590 +vt 0.635417 0.121795 +vt 0.572917 0.714744 +vt 0.635417 0.695513 +vt 0.635417 0.698718 +vt 0.572917 0.641026 +vt 0.635417 0.660256 +vt 0.572917 0.676282 +vt 0.572917 0.602564 +vt 0.635417 0.621795 +vt 0.572917 0.637821 +vt 0.572917 0.564103 +vt 0.635417 0.583333 +vt 0.572917 0.599359 +vt 0.572917 0.560897 +vt 0.635417 0.541667 +vt 0.635417 0.544872 +vt 0.260416 0.718010 +vt 0.270783 0.730769 +vt 0.260416 0.743528 +vt 0.739583 0.410256 +vt 0.770833 0.564103 +vt 0.739583 0.564103 +vt 0.739583 0.410256 +vt 0.770833 0.564103 +vt 0.739583 0.564103 +vt 0.770833 0.358974 +vt 0.770833 0.410256 +vt 0.739583 0.615385 +vt 0.812500 0.564103 +vt 0.697917 0.410256 +vt 0.770833 0.358974 +vt 0.770833 0.410256 +vt 0.739583 0.615385 +vt 0.812500 0.564103 +vt 0.697917 0.410256 +vt 0.770833 0.564103 +vt 0.739583 0.410256 +vt 0.770833 0.410256 +vt 0.770833 0.564103 +vt 0.739583 0.410256 +vt 0.770833 0.410256 +vt 0.739583 0.615385 +vt 0.739583 0.564103 +vt 0.770833 0.358974 +vt 0.697917 0.410256 +vt 0.812500 0.564103 +vt 0.739583 0.615385 +vt 0.739583 0.564103 +vt 0.770833 0.358974 +vt 0.697917 0.410256 +vt 0.812500 0.564103 +vt 0.515625 0.717949 +vt 0.500000 0.884615 +vt 0.500000 0.717949 +vt 0.484375 0.717949 +vt 0.468750 0.884615 +vt 0.468750 0.717949 +vt 0.484375 0.884615 +vt 0.531250 0.717949 +vt 0.515625 0.884615 +vt 0.515625 0.717949 +vt 0.500000 0.884615 +vt 0.500000 0.717949 +vt 0.484375 0.717949 +vt 0.468750 0.884615 +vt 0.468750 0.717949 +vt 0.484375 0.884615 +vt 0.531250 0.717949 +vt 0.515625 0.884615 +vt 0.484375 0.884615 +vt 0.500000 0.717949 +vt 0.500000 0.884615 +vt 0.515625 0.884615 +vt 0.531250 0.717949 +vt 0.531250 0.884615 +vt 0.515625 0.717949 +vt 0.468750 0.884615 +vt 0.484375 0.717949 +vt 0.484375 0.884615 +vt 0.500000 0.717949 +vt 0.500000 0.884615 +vt 0.515625 0.884615 +vt 0.531250 0.717949 +vt 0.531250 0.884615 +vt 0.515625 0.717949 +vt 0.468750 0.884615 +vt 0.484375 0.717949 +vt 0.635417 0.102564 +vt 0.656250 0.512821 +vt 0.635417 0.512821 +vt 0.666667 0.500000 +vt 0.687500 0.115385 +vt 0.687500 0.500000 +vt 0.687500 0.102564 +vt 0.666667 0.115385 +vt 0.666667 0.102564 +vt 0.666667 0.512821 +vt 0.687500 0.512821 +vt 0.656250 0.102564 +vt 0.697917 0.512821 +vt 0.697917 0.102564 +vt 0.635417 0.102564 +vt 0.656250 0.512821 +vt 0.635417 0.512821 +vt 0.666667 0.500000 +vt 0.687500 0.115385 +vt 0.687500 0.500000 +vt 0.687500 0.102564 +vt 0.666667 0.115385 +vt 0.666667 0.102564 +vt 0.666667 0.512821 +vt 0.687500 0.512821 +vt 0.656250 0.102564 +vt 0.697917 0.512821 +vt 0.697917 0.102564 +vt 0.739583 0.358974 +vt 0.770833 0.307692 +vt 0.770833 0.358974 +vt 0.770833 0.102564 +vt 0.739583 0.153846 +vt 0.739583 0.102564 +vt 0.812500 0.307692 +vt 0.770833 0.153846 +vt 0.812500 0.153846 +vt 0.697917 0.153846 +vt 0.739583 0.307692 +vt 0.697917 0.307692 +vt 0.739583 0.358974 +vt 0.770833 0.307692 +vt 0.770833 0.358974 +vt 0.770833 0.102564 +vt 0.739583 0.153846 +vt 0.739583 0.102564 +vt 0.812500 0.307692 +vt 0.770833 0.153846 +vt 0.812500 0.153846 +vt 0.697917 0.153846 +vt 0.739583 0.307692 +vt 0.697917 0.307692 +vt 0.770833 0.102564 +vt 0.739583 0.153846 +vt 0.739583 0.102564 +vt 0.739583 0.358974 +vt 0.770833 0.307692 +vt 0.770833 0.358974 +vt 0.697917 0.153846 +vt 0.739583 0.307692 +vt 0.697917 0.307692 +vt 0.812500 0.307692 +vt 0.770833 0.153846 +vt 0.812500 0.153846 +vt 0.770833 0.102564 +vt 0.739583 0.153846 +vt 0.739583 0.102564 +vt 0.739583 0.358974 +vt 0.770833 0.307692 +vt 0.770833 0.358974 +vt 0.697917 0.153846 +vt 0.739583 0.307692 +vt 0.697917 0.307692 +vt 0.812500 0.307692 +vt 0.770833 0.153846 +vt 0.812500 0.153846 +vt 0.515625 0.717949 +vt 0.500000 0.884615 +vt 0.500000 0.717949 +vt 0.484375 0.717949 +vt 0.468750 0.884615 +vt 0.468750 0.717949 +vt 0.484375 0.884615 +vt 0.531250 0.717949 +vt 0.515625 0.884615 +vt 0.515625 0.717949 +vt 0.500000 0.884615 +vt 0.500000 0.717949 +vt 0.484375 0.717949 +vt 0.468750 0.884615 +vt 0.468750 0.717949 +vt 0.484375 0.884615 +vt 0.531250 0.717949 +vt 0.515625 0.884615 +vt 0.484375 0.884615 +vt 0.500000 0.717949 +vt 0.500000 0.884615 +vt 0.515625 0.884615 +vt 0.531250 0.717949 +vt 0.531250 0.884615 +vt 0.515625 0.717949 +vt 0.468750 0.884615 +vt 0.484375 0.717949 +vt 0.484375 0.884615 +vt 0.500000 0.717949 +vt 0.500000 0.884615 +vt 0.515625 0.884615 +vt 0.531250 0.717949 +vt 0.531250 0.884615 +vt 0.515625 0.717949 +vt 0.468750 0.884615 +vt 0.484375 0.717949 +vt 0.635417 0.102564 +vt 0.656250 0.512821 +vt 0.635417 0.512821 +vt 0.666667 0.500000 +vt 0.687500 0.115385 +vt 0.687500 0.500000 +vt 0.687500 0.102564 +vt 0.666667 0.115385 +vt 0.666667 0.102564 +vt 0.666667 0.512821 +vt 0.687500 0.512821 +vt 0.656250 0.102564 +vt 0.697917 0.512821 +vt 0.697917 0.102564 +vt 0.635417 0.102564 +vt 0.656250 0.512821 +vt 0.635417 0.512821 +vt 0.666667 0.500000 +vt 0.687500 0.115385 +vt 0.687500 0.500000 +vt 0.687500 0.102564 +vt 0.666667 0.115385 +vt 0.666667 0.102564 +vt 0.666667 0.512821 +vt 0.687500 0.512821 +vt 0.656250 0.102564 +vt 0.697917 0.512821 +vt 0.697917 0.102564 +vt 0.770833 0.102564 +vt 0.791667 0.076923 +vt 0.791667 0.102564 +vt 0.041667 0.076923 +vt 0.062500 0.102564 +vt 0.041667 0.102564 +vt 0.770833 0.076923 +vt 0.062500 0.051282 +vt 0.770833 0.051282 +vt 0.770833 0.025641 +vt 0.062500 -0.000000 +vt 0.770833 -0.000000 +vt 0.062500 0.076923 +vt 0.062500 0.025641 +vt 0.062500 0.000000 +vt 0.041667 0.025641 +vt 0.041667 0.000000 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.041667 0.032051 +vt 0.062500 0.025641 +vt 0.041667 0.025641 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.041667 0.025641 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.041667 0.025641 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.044271 0.035256 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.062500 0.032051 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.770833 0.102564 +vt 0.791667 0.076923 +vt 0.791667 0.102564 +vt 0.041667 0.076923 +vt 0.062500 0.102564 +vt 0.041667 0.102564 +vt 0.770833 0.076923 +vt 0.062500 0.051282 +vt 0.770833 0.051282 +vt 0.770833 0.025641 +vt 0.062500 -0.000000 +vt 0.770833 -0.000000 +vt 0.062500 0.076923 +vt 0.062500 0.025641 +vt 0.255208 0.750000 +vt 0.286458 0.788462 +vt 0.255208 0.788462 +vt 0.250000 0.750000 +vt 0.286458 0.743590 +vt 0.286458 0.750000 +vt 0.255208 0.794872 +vt 0.291667 0.788462 +vt 0.562500 0.717949 +vt 0.531250 0.756410 +vt 0.531250 0.717949 +vt 0.255208 0.884615 +vt 0.276042 0.910256 +vt 0.255208 0.910256 +vt 0.562500 0.756410 +vt 0.531250 0.814103 +vt 0.625000 0.756410 +vt 0.593750 0.814103 +vt 0.593750 0.756410 +vt 0.562500 0.814103 +vt 0.656250 0.756410 +vt 0.625000 0.814103 +vt 0.255208 0.833333 +vt 0.281250 0.826923 +vt 0.276042 0.833333 +vt 0.255208 0.884615 +vt 0.276042 0.884615 +vt 0.255208 0.884615 +vt 0.276042 0.833333 +vt 0.276042 0.884615 +vt 0.276042 0.833333 +vt 0.276042 0.884615 +vt 0.255208 0.884615 +vt 0.276042 0.833333 +vt 0.276042 0.884615 +vt 0.250000 0.826923 +vt 0.281250 0.794872 +vt 0.281250 0.826923 +vt 0.255208 0.833333 +vt 0.281250 0.826923 +vt 0.255208 0.833333 +vt 0.255208 0.833333 +vt 0.281250 0.826923 +vt 0.250000 0.826923 +vt 0.281250 0.794872 +vt 0.250000 0.826923 +vt 0.281250 0.794872 +vt 0.250000 0.826923 +vt 0.281250 0.794872 +vt 0.958333 0.240385 +vt 0.854167 0.246795 +vt 0.854167 0.240385 +vt 0.854167 0.282051 +vt 0.958333 0.288462 +vt 0.854167 0.288462 +vt 0.859375 0.288462 +vt 0.953125 0.288462 +vt 0.854167 0.144231 +vt 0.859375 0.096154 +vt 0.859375 0.144231 +vt 0.958333 0.144231 +vt 0.953125 0.096154 +vt 0.958333 0.096154 +vt 0.958333 0.137821 +vt 0.958333 0.102564 +vt 0.854167 0.096154 +vt 0.953125 0.673077 +vt 0.958333 0.625000 +vt 0.958333 0.673077 +vt 0.854167 0.625000 +vt 0.859375 0.673077 +vt 0.854167 0.673077 +vt 0.854167 0.631410 +vt 0.958333 0.666667 +vt 0.854167 0.528846 +vt 0.859375 0.480769 +vt 0.859375 0.528846 +vt 0.958333 0.528846 +vt 0.953125 0.480769 +vt 0.958333 0.480769 +vt 0.958333 0.474359 +vt 0.854167 0.480769 +vt 0.958333 0.522436 +vt 0.822917 0.862179 +vt 0.817708 0.849359 +vt 0.822917 0.849359 +vt 0.822917 0.881410 +vt 0.817708 0.868590 +vt 0.822917 0.868590 +vt 0.822917 0.900641 +vt 0.817708 0.887821 +vt 0.822917 0.887821 +vt 0.822917 0.919872 +vt 0.817708 0.907051 +vt 0.822917 0.907051 +vt 0.822917 0.926282 +vt 0.817708 0.935897 +vt 0.817708 0.926282 +vt 0.822917 0.958333 +vt 0.817708 0.945513 +vt 0.822917 0.945513 +vt 0.822917 0.964744 +vt 0.817708 0.974359 +vt 0.817708 0.964744 +vt 0.822917 0.983974 +vt 0.817708 0.993590 +vt 0.817708 0.983974 +vt 0.822917 0.785256 +vt 0.817708 0.772436 +vt 0.822917 0.772436 +vt 0.822917 0.804487 +vt 0.817708 0.791667 +vt 0.822917 0.791667 +vt 0.822917 0.810897 +vt 0.817708 0.820513 +vt 0.817708 0.810897 +vt 0.822917 0.830128 +vt 0.817708 0.839744 +vt 0.817708 0.830128 +vt 0.726543 0.925696 +vt 0.734335 0.942308 +vt 0.710957 0.958920 +vt 0.979167 0.919872 +vt 0.989583 0.910256 +vt 0.989583 0.916667 +vt 0.979167 0.810897 +vt 0.989583 0.820513 +vt 0.979167 0.823718 +vt 0.979167 0.849359 +vt 0.989583 0.858974 +vt 0.979167 0.862179 +vt 0.979167 0.996795 +vt 0.989583 0.987179 +vt 0.989583 0.993590 +vt 0.979167 0.926282 +vt 0.989583 0.935897 +vt 0.979167 0.939103 +vt 0.979167 0.881410 +vt 0.989583 0.871795 +vt 0.989583 0.878205 +vt 0.979167 0.772436 +vt 0.989583 0.782051 +vt 0.979167 0.785256 +vt 0.979167 0.945513 +vt 0.989583 0.955128 +vt 0.979167 0.958333 +vt 0.979167 0.887821 +vt 0.989583 0.897436 +vt 0.979167 0.900641 +vt 0.979167 0.804487 +vt 0.989583 0.794872 +vt 0.989583 0.801282 +vt 0.979167 0.830128 +vt 0.989583 0.839744 +vt 0.979167 0.842949 +vt 0.979167 0.964744 +vt 0.989583 0.974359 +vt 0.979167 0.977564 +vt 0.765625 0.923077 +vt 0.770833 0.926282 +vt 0.765625 0.929487 +vt 0.765625 0.980769 +vt 0.770833 0.983974 +vt 0.765625 0.987179 +vt 0.765625 0.961538 +vt 0.770833 0.964744 +vt 0.765625 0.967949 +vt 0.765625 0.935897 +vt 0.770833 0.929487 +vt 0.770833 0.932692 +vt 0.765625 0.942308 +vt 0.770833 0.945513 +vt 0.765625 0.948718 +vt 0.770833 0.990385 +vt 0.765625 0.993590 +vt 0.765625 0.974359 +vt 0.770833 0.967949 +vt 0.770833 0.971154 +vt 0.770833 0.939103 +vt 0.770833 0.951923 +vt 0.765625 0.955128 +vt 0.765625 1.000000 +vt 0.770833 0.993590 +vt 0.770833 0.996795 +vt 0.770833 0.977564 +vt 0.770833 0.955128 +vt 0.770833 0.958333 +vt 0.723980 0.967949 +vt 0.726573 0.962420 +vt 0.734353 0.967949 +vt 0.901042 0.903846 +vt 0.916667 0.919872 +vt 0.901042 0.923077 +vt 0.901042 0.807692 +vt 0.916667 0.823718 +vt 0.901042 0.826923 +vt 0.901042 0.846154 +vt 0.916667 0.862179 +vt 0.901042 0.865385 +vt 0.901042 1.000000 +vt 0.916667 0.983974 +vt 0.916667 0.996795 +vt 0.901042 0.942308 +vt 0.916667 0.926282 +vt 0.916667 0.939103 +vt 0.901042 0.884615 +vt 0.916667 0.868590 +vt 0.916667 0.881410 +vt 0.901042 0.769231 +vt 0.916667 0.785256 +vt 0.901042 0.788462 +vt 0.916667 0.958333 +vt 0.901042 0.961538 +vt 0.916667 0.900641 +vt 0.916667 0.791667 +vt 0.916667 0.804487 +vt 0.916667 0.830128 +vt 0.916667 0.842949 +vt 0.901042 0.980769 +vt 0.916667 0.964744 +vt 0.916667 0.977564 +vt 0.765625 0.923077 +vt 0.770833 0.926282 +vt 0.765625 0.929487 +vt 0.765625 0.980769 +vt 0.770833 0.983974 +vt 0.765625 0.987179 +vt 0.765625 0.961538 +vt 0.770833 0.964744 +vt 0.765625 0.967949 +vt 0.765625 0.935897 +vt 0.770833 0.929487 +vt 0.770833 0.932692 +vt 0.765625 0.948718 +vt 0.770833 0.942308 +vt 0.770833 0.945513 +vt 0.765625 0.993590 +vt 0.770833 0.987179 +vt 0.770833 0.990385 +vt 0.770833 0.971154 +vt 0.765625 0.974359 +vt 0.770833 0.939103 +vt 0.765625 0.942308 +vt 0.770833 0.951923 +vt 0.765625 0.955128 +vt 0.765625 1.000000 +vt 0.770833 0.993590 +vt 0.770833 0.996795 +vt 0.770833 0.974359 +vt 0.770833 0.977564 +vt 0.770833 0.955128 +vt 0.770833 0.958333 +vt 0.726573 0.962420 +vt 0.734353 0.967949 +vt 0.726573 0.973477 +vt 0.723958 0.974359 +vt 0.713542 0.974359 +vt 0.718750 0.961538 +vt 0.718750 0.961538 +vt 0.723958 0.974359 +vt 0.713542 0.974359 +vt 0.718750 0.961538 +vt 0.723958 0.974359 +vt 0.713542 0.974359 +vt 0.723958 0.974359 +vt 0.713542 0.974359 +vt 0.718750 0.961538 +vt 0.723958 0.974359 +vt 0.718750 0.961538 +vt 0.723958 0.974359 +vt 0.718750 0.961538 +vt 0.723958 0.974359 +vt 0.718750 0.961538 +vt 0.713542 0.974359 +vt 0.713542 0.974359 +vt 0.718750 0.961538 +vt 0.713542 0.974359 +vt 0.713542 0.974359 +vt 0.718750 0.961538 +vt 0.723958 0.974359 +vt 0.723958 0.974359 +vt 0.718750 0.961538 +vt 0.255208 0.884615 +vt 0.276042 0.910256 +vt 0.255208 0.910256 +vt 0.255208 0.833333 +vt 0.281250 0.826923 +vt 0.276042 0.833333 +vt 0.255208 0.884615 +vt 0.276042 0.884615 +vt 0.255208 0.884615 +vt 0.276042 0.833333 +vt 0.276042 0.884615 +vt 0.276042 0.833333 +vt 0.276042 0.884615 +vt 0.255208 0.884615 +vt 0.276042 0.833333 +vt 0.276042 0.884615 +vt 0.250000 0.826923 +vt 0.281250 0.794872 +vt 0.281250 0.826923 +vt 0.255208 0.833333 +vt 0.281250 0.826923 +vt 0.255208 0.833333 +vt 0.255208 0.833333 +vt 0.281250 0.826923 +vt 0.250000 0.826923 +vt 0.281250 0.794872 +vt 0.250000 0.826923 +vt 0.281250 0.794872 +vt 0.250000 0.826923 +vt 0.281250 0.794872 +vt 0.255208 0.884615 +vt 0.276042 0.910256 +vt 0.255208 0.910256 +vt 0.255208 0.833333 +vt 0.281250 0.826923 +vt 0.276042 0.833333 +vt 0.255208 0.884615 +vt 0.276042 0.884615 +vt 0.255208 0.884615 +vt 0.276042 0.833333 +vt 0.276042 0.884615 +vt 0.276042 0.833333 +vt 0.276042 0.884615 +vt 0.255208 0.884615 +vt 0.276042 0.833333 +vt 0.276042 0.884615 +vt 0.250000 0.826923 +vt 0.281250 0.794872 +vt 0.281250 0.826923 +vt 0.255208 0.833333 +vt 0.281250 0.826923 +vt 0.255208 0.833333 +vt 0.255208 0.833333 +vt 0.281250 0.826923 +vt 0.250000 0.826923 +vt 0.281250 0.794872 +vt 0.250000 0.826923 +vt 0.281250 0.794872 +vt 0.250000 0.826923 +vt 0.281250 0.794872 +vt 0.255208 0.884615 +vt 0.276042 0.910256 +vt 0.255208 0.910256 +vt 0.255208 0.833333 +vt 0.281250 0.826923 +vt 0.276042 0.833333 +vt 0.255208 0.884615 +vt 0.276042 0.884615 +vt 0.255208 0.884615 +vt 0.276042 0.833333 +vt 0.276042 0.884615 +vt 0.276042 0.833333 +vt 0.276042 0.884615 +vt 0.255208 0.884615 +vt 0.276042 0.833333 +vt 0.276042 0.884615 +vt 0.250000 0.826923 +vt 0.281250 0.794872 +vt 0.281250 0.826923 +vt 0.255208 0.833333 +vt 0.281250 0.826923 +vt 0.255208 0.833333 +vt 0.255208 0.833333 +vt 0.281250 0.826923 +vt 0.250000 0.826923 +vt 0.281250 0.794872 +vt 0.250000 0.826923 +vt 0.281250 0.794872 +vt 0.250000 0.826923 +vt 0.281250 0.794872 +vt 0.062500 0.000000 +vt 0.041667 0.025641 +vt 0.041667 0.000000 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.041667 0.032051 +vt 0.062500 0.025641 +vt 0.041667 0.025641 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.041667 0.025641 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.041667 0.025641 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.044271 0.035256 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.062500 0.032051 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.062500 0.000000 +vt 0.041667 0.025641 +vt 0.041667 0.000000 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.041667 0.032051 +vt 0.062500 0.025641 +vt 0.041667 0.025641 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.041667 0.025641 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.041667 0.025641 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.044271 0.035256 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.062500 0.032051 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.062500 0.000000 +vt 0.041667 0.025641 +vt 0.041667 0.000000 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.041667 0.032051 +vt 0.062500 0.025641 +vt 0.041667 0.025641 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.041667 0.025641 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.041667 0.025641 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.044271 0.035256 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.062500 0.032051 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.062500 0.000000 +vt 0.041667 0.025641 +vt 0.041667 0.000000 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.041667 0.032051 +vt 0.062500 0.025641 +vt 0.041667 0.025641 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.041667 0.025641 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.041667 0.025641 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.044271 0.035256 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.062500 0.032051 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.062500 0.000000 +vt 0.041667 0.025641 +vt 0.041667 0.000000 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.041667 0.032051 +vt 0.062500 0.025641 +vt 0.041667 0.025641 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.041667 0.025641 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.041667 0.025641 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.044271 0.035256 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.062500 0.032051 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.062500 0.000000 +vt 0.041667 0.025641 +vt 0.041667 0.000000 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.041667 0.032051 +vt 0.062500 0.025641 +vt 0.041667 0.025641 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.041667 0.025641 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.041667 0.025641 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.044271 0.035256 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.062500 0.032051 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.062500 0.000000 +vt 0.041667 0.025641 +vt 0.041667 0.000000 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.041667 0.032051 +vt 0.062500 0.025641 +vt 0.041667 0.025641 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.041667 0.025641 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.041667 0.025641 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.044271 0.035256 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.062500 0.032051 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.062500 0.000000 +vt 0.041667 0.025641 +vt 0.041667 0.000000 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.041667 0.032051 +vt 0.062500 0.025641 +vt 0.041667 0.025641 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.041667 0.025641 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.041667 0.025641 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.044271 0.035256 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.062500 0.032051 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.062500 0.000000 +vt 0.041667 0.025641 +vt 0.041667 0.000000 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.041667 0.032051 +vt 0.062500 0.025641 +vt 0.041667 0.025641 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.041667 0.025641 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.041667 0.025641 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.044271 0.035256 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.062500 0.032051 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.062500 0.000000 +vt 0.041667 0.025641 +vt 0.041667 0.000000 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.041667 0.032051 +vt 0.062500 0.025641 +vt 0.041667 0.025641 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.041667 0.025641 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.041667 0.025641 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.044271 0.035256 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.062500 0.032051 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.062500 0.000000 +vt 0.041667 0.025641 +vt 0.041667 0.000000 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.041667 0.032051 +vt 0.062500 0.025641 +vt 0.041667 0.025641 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.041667 0.025641 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.041667 0.025641 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.044271 0.035256 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.062500 0.032051 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.062500 0.000000 +vt 0.041667 0.025641 +vt 0.041667 0.000000 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.041667 0.032051 +vt 0.062500 0.025641 +vt 0.041667 0.025641 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.041667 0.025641 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.041667 0.025641 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.044271 0.035256 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.062500 0.032051 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.062500 0.000000 +vt 0.041667 0.025641 +vt 0.041667 0.000000 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.041667 0.032051 +vt 0.062500 0.025641 +vt 0.041667 0.025641 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.041667 0.025641 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.041667 0.025641 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.044271 0.035256 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.062500 0.032051 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.062500 0.000000 +vt 0.041667 0.025641 +vt 0.041667 0.000000 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.041667 0.032051 +vt 0.062500 0.025641 +vt 0.041667 0.025641 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.041667 0.025641 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.041667 0.025641 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.044271 0.035256 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.062500 0.032051 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.062500 0.000000 +vt 0.041667 0.025641 +vt 0.041667 0.000000 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.041667 0.032051 +vt 0.062500 0.025641 +vt 0.041667 0.025641 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.041667 0.025641 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.041667 0.025641 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.044271 0.035256 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.062500 0.032051 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.062500 0.000000 +vt 0.041667 0.025641 +vt 0.041667 0.000000 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.041667 0.032051 +vt 0.062500 0.025641 +vt 0.041667 0.025641 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.041667 0.025641 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.041667 0.025641 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.044271 0.035256 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.062500 0.032051 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.062500 0.000000 +vt 0.041667 0.025641 +vt 0.041667 0.000000 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.041667 0.032051 +vt 0.062500 0.025641 +vt 0.041667 0.025641 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.041667 0.025641 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.062500 0.025641 +vt 0.041667 0.032051 +vt 0.041667 0.025641 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.044271 0.035256 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.062500 0.032051 +vt 0.062500 0.032051 +vt 0.044271 0.035256 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.059896 0.035256 +vt 0.044271 0.067308 +vt 0.726543 0.925696 +vt 0.734335 0.942308 +vt 0.710957 0.958920 +vt 0.822917 0.830128 +vt 0.817708 0.839744 +vt 0.817708 0.830128 +vt 0.822917 0.823718 +vt 0.817708 0.810897 +vt 0.822917 0.810897 +vt 0.822917 0.804487 +vt 0.817708 0.791667 +vt 0.822917 0.791667 +vt 0.822917 0.772436 +vt 0.817708 0.782051 +vt 0.817708 0.772436 +vt 0.822917 0.983974 +vt 0.817708 0.993590 +vt 0.817708 0.983974 +vt 0.822917 0.964744 +vt 0.817708 0.974359 +vt 0.817708 0.964744 +vt 0.822917 0.958333 +vt 0.817708 0.945513 +vt 0.822917 0.945513 +vt 0.822917 0.926282 +vt 0.817708 0.935897 +vt 0.817708 0.926282 +vt 0.822917 0.919872 +vt 0.817708 0.907051 +vt 0.822917 0.907051 +vt 0.822917 0.900641 +vt 0.817708 0.887821 +vt 0.822917 0.887821 +vt 0.822917 0.881410 +vt 0.817708 0.868590 +vt 0.822917 0.868590 +vt 0.822917 0.862179 +vt 0.817708 0.849359 +vt 0.822917 0.849359 +vt 0.822917 0.849359 +vt 0.817708 0.858974 +vt 0.817708 0.849359 +vt 0.822917 0.881410 +vt 0.817708 0.868590 +vt 0.822917 0.868590 +vt 0.822917 0.900641 +vt 0.817708 0.887821 +vt 0.822917 0.887821 +vt 0.822917 0.919872 +vt 0.817708 0.907051 +vt 0.822917 0.907051 +vt 0.822917 0.926282 +vt 0.817708 0.935897 +vt 0.817708 0.926282 +vt 0.822917 0.958333 +vt 0.817708 0.945513 +vt 0.822917 0.945513 +vt 0.822917 0.964744 +vt 0.817708 0.974359 +vt 0.817708 0.964744 +vt 0.822917 0.983974 +vt 0.817708 0.993590 +vt 0.817708 0.983974 +vt 0.822917 0.772436 +vt 0.817708 0.782051 +vt 0.817708 0.772436 +vt 0.822917 0.791667 +vt 0.817708 0.801282 +vt 0.817708 0.791667 +vt 0.822917 0.823718 +vt 0.817708 0.810897 +vt 0.822917 0.810897 +vt 0.822917 0.830128 +vt 0.817708 0.839744 +vt 0.817708 0.830128 +vt 0.710957 0.958920 +vt 0.710957 0.925696 +vt 0.734335 0.942308 +vt 0.979167 0.919872 +vt 0.989583 0.910256 +vt 0.989583 0.916667 +vt 0.979167 0.823718 +vt 0.989583 0.814103 +vt 0.989583 0.820513 +vt 0.979167 0.849359 +vt 0.989583 0.858974 +vt 0.979167 0.862179 +vt 0.979167 0.996795 +vt 0.989583 0.987179 +vt 0.989583 0.993590 +vt 0.979167 0.939103 +vt 0.989583 0.929487 +vt 0.989583 0.935897 +vt 0.979167 0.868590 +vt 0.989583 0.878205 +vt 0.979167 0.881410 +vt 0.979167 0.772436 +vt 0.989583 0.782051 +vt 0.979167 0.785256 +vt 0.979167 0.958333 +vt 0.989583 0.948718 +vt 0.989583 0.955128 +vt 0.979167 0.887821 +vt 0.989583 0.897436 +vt 0.979167 0.900641 +vt 0.979167 0.804487 +vt 0.989583 0.794872 +vt 0.989583 0.801282 +vt 0.979167 0.830128 +vt 0.989583 0.839744 +vt 0.979167 0.842949 +vt 0.979167 0.964744 +vt 0.989583 0.974359 +vt 0.979167 0.977564 +vt 0.765625 0.923077 +vt 0.770833 0.926282 +vt 0.765625 0.929487 +vt 0.765625 0.980769 +vt 0.770833 0.983974 +vt 0.765625 0.987179 +vt 0.765625 0.967949 +vt 0.770833 0.961538 +vt 0.770833 0.964744 +vt 0.770833 0.932692 +vt 0.765625 0.935897 +vt 0.765625 0.942308 +vt 0.770833 0.945513 +vt 0.765625 0.948718 +vt 0.770833 0.990385 +vt 0.765625 0.993590 +vt 0.765625 0.974359 +vt 0.770833 0.967949 +vt 0.770833 0.971154 +vt 0.770833 0.939103 +vt 0.770833 0.951923 +vt 0.765625 0.955128 +vt 0.765625 1.000000 +vt 0.770833 0.993590 +vt 0.770833 0.996795 +vt 0.770833 0.977564 +vt 0.765625 0.961538 +vt 0.770833 0.955128 +vt 0.770833 0.958333 +vt 0.734353 0.967949 +vt 0.731760 0.973477 +vt 0.726573 0.973477 +vt 0.822917 0.862179 +vt 0.817708 0.849359 +vt 0.822917 0.849359 +vt 0.822917 0.881410 +vt 0.817708 0.868590 +vt 0.822917 0.868590 +vt 0.822917 0.900641 +vt 0.817708 0.887821 +vt 0.822917 0.887821 +vt 0.822917 0.919872 +vt 0.817708 0.907051 +vt 0.822917 0.907051 +vt 0.822917 0.926282 +vt 0.817708 0.935897 +vt 0.817708 0.926282 +vt 0.822917 0.958333 +vt 0.817708 0.945513 +vt 0.822917 0.945513 +vt 0.822917 0.964744 +vt 0.817708 0.974359 +vt 0.817708 0.964744 +vt 0.822917 0.983974 +vt 0.817708 0.993590 +vt 0.817708 0.983974 +vt 0.822917 0.772436 +vt 0.817708 0.782051 +vt 0.817708 0.772436 +vt 0.822917 0.791667 +vt 0.817708 0.801282 +vt 0.817708 0.791667 +vt 0.822917 0.810897 +vt 0.817708 0.820513 +vt 0.817708 0.810897 +vt 0.822917 0.830128 +vt 0.817708 0.839744 +vt 0.817708 0.830128 +vt 0.726543 0.925696 +vt 0.734335 0.942308 +vt 0.710957 0.958920 +vt 0.979167 0.919872 +vt 0.989583 0.910256 +vt 0.989583 0.916667 +vt 0.979167 0.823718 +vt 0.989583 0.814103 +vt 0.989583 0.820513 +vt 0.979167 0.849359 +vt 0.989583 0.858974 +vt 0.979167 0.862179 +vt 0.979167 0.996795 +vt 0.989583 0.987179 +vt 0.989583 0.993590 +vt 0.979167 0.939103 +vt 0.989583 0.929487 +vt 0.989583 0.935897 +vt 0.979167 0.881410 +vt 0.989583 0.871795 +vt 0.989583 0.878205 +vt 0.979167 0.772436 +vt 0.989583 0.782051 +vt 0.979167 0.785256 +vt 0.979167 0.945513 +vt 0.989583 0.955128 +vt 0.979167 0.958333 +vt 0.979167 0.887821 +vt 0.989583 0.897436 +vt 0.979167 0.900641 +vt 0.979167 0.804487 +vt 0.989583 0.794872 +vt 0.989583 0.801282 +vt 0.979167 0.830128 +vt 0.989583 0.839744 +vt 0.979167 0.842949 +vt 0.979167 0.964744 +vt 0.989583 0.974359 +vt 0.979167 0.977564 +vt 0.765625 0.923077 +vt 0.770833 0.926282 +vt 0.765625 0.929487 +vt 0.765625 0.980769 +vt 0.770833 0.983974 +vt 0.765625 0.987179 +vt 0.765625 0.961538 +vt 0.770833 0.964744 +vt 0.765625 0.967949 +vt 0.770833 0.932692 +vt 0.765625 0.935897 +vt 0.765625 0.942308 +vt 0.770833 0.945513 +vt 0.765625 0.948718 +vt 0.770833 0.990385 +vt 0.765625 0.993590 +vt 0.765625 0.974359 +vt 0.770833 0.967949 +vt 0.770833 0.971154 +vt 0.770833 0.939103 +vt 0.770833 0.951923 +vt 0.765625 0.955128 +vt 0.765625 1.000000 +vt 0.770833 0.993590 +vt 0.770833 0.996795 +vt 0.770833 0.974359 +vt 0.770833 0.977564 +vt 0.770833 0.955128 +vt 0.770833 0.958333 +vt 0.726573 0.962420 +vt 0.734353 0.967949 +vt 0.726573 0.973477 +vt 0.822917 0.862179 +vt 0.817708 0.849359 +vt 0.822917 0.849359 +vt 0.822917 0.881410 +vt 0.817708 0.868590 +vt 0.822917 0.868590 +vt 0.822917 0.900641 +vt 0.817708 0.887821 +vt 0.822917 0.887821 +vt 0.822917 0.919872 +vt 0.817708 0.907051 +vt 0.822917 0.907051 +vt 0.822917 0.939103 +vt 0.817708 0.926282 +vt 0.822917 0.926282 +vt 0.822917 0.958333 +vt 0.817708 0.945513 +vt 0.822917 0.945513 +vt 0.822917 0.964744 +vt 0.817708 0.974359 +vt 0.817708 0.964744 +vt 0.822917 0.983974 +vt 0.817708 0.993590 +vt 0.817708 0.983974 +vt 0.822917 0.772436 +vt 0.817708 0.782051 +vt 0.817708 0.772436 +vt 0.822917 0.804487 +vt 0.817708 0.791667 +vt 0.822917 0.791667 +vt 0.822917 0.810897 +vt 0.817708 0.820513 +vt 0.817708 0.810897 +vt 0.822917 0.830128 +vt 0.817708 0.839744 +vt 0.817708 0.830128 +vt 0.726543 0.958920 +vt 0.710957 0.958920 +vt 0.710957 0.925696 +vt 0.979167 0.907051 +vt 0.989583 0.916667 +vt 0.979167 0.919872 +vt 0.979167 0.810897 +vt 0.989583 0.820513 +vt 0.979167 0.823718 +vt 0.979167 0.862179 +vt 0.989583 0.852564 +vt 0.989583 0.858974 +vt 0.979167 0.996795 +vt 0.989583 0.987179 +vt 0.989583 0.993590 +vt 0.979167 0.926282 +vt 0.989583 0.935897 +vt 0.979167 0.939103 +vt 0.979167 0.881410 +vt 0.989583 0.871795 +vt 0.989583 0.878205 +vt 0.979167 0.772436 +vt 0.989583 0.782051 +vt 0.979167 0.785256 +vt 0.979167 0.958333 +vt 0.989583 0.948718 +vt 0.989583 0.955128 +vt 0.979167 0.900641 +vt 0.989583 0.891026 +vt 0.989583 0.897436 +vt 0.979167 0.804487 +vt 0.989583 0.794872 +vt 0.989583 0.801282 +vt 0.979167 0.842949 +vt 0.989583 0.833333 +vt 0.989583 0.839744 +vt 0.979167 0.977564 +vt 0.989583 0.967949 +vt 0.989583 0.974359 +vt 0.765625 0.929487 +vt 0.770833 0.923077 +vt 0.770833 0.926282 +vt 0.765625 0.980769 +vt 0.770833 0.983974 +vt 0.765625 0.987179 +vt 0.765625 0.967949 +vt 0.770833 0.961538 +vt 0.770833 0.964744 +vt 0.765625 0.935897 +vt 0.770833 0.929487 +vt 0.770833 0.932692 +vt 0.765625 0.948718 +vt 0.770833 0.942308 +vt 0.770833 0.945513 +vt 0.770833 0.990385 +vt 0.765625 0.993590 +vt 0.765625 0.974359 +vt 0.770833 0.967949 +vt 0.770833 0.971154 +vt 0.770833 0.939103 +vt 0.765625 0.942308 +vt 0.770833 0.951923 +vt 0.765625 0.955128 +vt 0.765625 1.000000 +vt 0.770833 0.993590 +vt 0.770833 0.996795 +vt 0.770833 0.977564 +vt 0.770833 0.958333 +vt 0.765625 0.961538 +vt 0.731760 0.973477 +vt 0.726573 0.973477 +vt 0.726573 0.962420 +vt 0.822917 0.849359 +vt 0.817708 0.858974 +vt 0.817708 0.849359 +vt 0.822917 0.881410 +vt 0.817708 0.868590 +vt 0.822917 0.868590 +vt 0.822917 0.900641 +vt 0.817708 0.887821 +vt 0.822917 0.887821 +vt 0.822917 0.919872 +vt 0.817708 0.907051 +vt 0.822917 0.907051 +vt 0.822917 0.926282 +vt 0.817708 0.935897 +vt 0.817708 0.926282 +vt 0.822917 0.958333 +vt 0.817708 0.945513 +vt 0.822917 0.945513 +vt 0.822917 0.964744 +vt 0.817708 0.974359 +vt 0.817708 0.964744 +vt 0.822917 0.983974 +vt 0.817708 0.993590 +vt 0.817708 0.983974 +vt 0.822917 0.785256 +vt 0.817708 0.772436 +vt 0.822917 0.772436 +vt 0.822917 0.804487 +vt 0.817708 0.791667 +vt 0.822917 0.791667 +vt 0.822917 0.823718 +vt 0.817708 0.810897 +vt 0.822917 0.810897 +vt 0.822917 0.830128 +vt 0.817708 0.839744 +vt 0.817708 0.830128 +vt 0.726543 0.958920 +vt 0.710957 0.958920 +vt 0.710957 0.925696 +vt 0.979167 0.919872 +vt 0.989583 0.910256 +vt 0.989583 0.916667 +vt 0.979167 0.823718 +vt 0.989583 0.814103 +vt 0.989583 0.820513 +vt 0.979167 0.862179 +vt 0.989583 0.852564 +vt 0.989583 0.858974 +vt 0.979167 0.996795 +vt 0.989583 0.987179 +vt 0.989583 0.993590 +vt 0.979167 0.939103 +vt 0.989583 0.929487 +vt 0.989583 0.935897 +vt 0.979167 0.868590 +vt 0.989583 0.878205 +vt 0.979167 0.881410 +vt 0.979167 0.772436 +vt 0.989583 0.782051 +vt 0.979167 0.785256 +vt 0.979167 0.945513 +vt 0.989583 0.955128 +vt 0.979167 0.958333 +vt 0.979167 0.887821 +vt 0.989583 0.897436 +vt 0.979167 0.900641 +vt 0.979167 0.804487 +vt 0.989583 0.794872 +vt 0.989583 0.801282 +vt 0.979167 0.830128 +vt 0.989583 0.839744 +vt 0.979167 0.842949 +vt 0.979167 0.964744 +vt 0.989583 0.974359 +vt 0.979167 0.977564 +vt 0.765625 0.923077 +vt 0.770833 0.926282 +vt 0.765625 0.929487 +vt 0.765625 0.980769 +vt 0.770833 0.983974 +vt 0.765625 0.987179 +vt 0.765625 0.961538 +vt 0.770833 0.964744 +vt 0.765625 0.967949 +vt 0.765625 0.935897 +vt 0.770833 0.929487 +vt 0.770833 0.932692 +vt 0.765625 0.948718 +vt 0.770833 0.942308 +vt 0.770833 0.945513 +vt 0.770833 0.990385 +vt 0.765625 0.993590 +vt 0.765625 0.974359 +vt 0.770833 0.967949 +vt 0.770833 0.971154 +vt 0.770833 0.939103 +vt 0.765625 0.942308 +vt 0.770833 0.951923 +vt 0.765625 0.955128 +vt 0.765625 1.000000 +vt 0.770833 0.993590 +vt 0.770833 0.996795 +vt 0.770833 0.974359 +vt 0.770833 0.977564 +vt 0.770833 0.958333 +vt 0.723980 0.967949 +vt 0.726573 0.962420 +vt 0.734353 0.967949 +vt 0.979167 0.919872 +vt 0.989583 0.910256 +vt 0.989583 0.916667 +vt 0.979167 0.810897 +vt 0.989583 0.820513 +vt 0.979167 0.823718 +vt 0.979167 0.849359 +vt 0.989583 0.858974 +vt 0.979167 0.862179 +vt 0.979167 0.996795 +vt 0.989583 0.987179 +vt 0.989583 0.993590 +vt 0.979167 0.926282 +vt 0.989583 0.935897 +vt 0.979167 0.939103 +vt 0.979167 0.881410 +vt 0.989583 0.871795 +vt 0.989583 0.878205 +vt 0.979167 0.772436 +vt 0.989583 0.782051 +vt 0.979167 0.785256 +vt 0.979167 0.958333 +vt 0.989583 0.948718 +vt 0.989583 0.955128 +vt 0.979167 0.887821 +vt 0.989583 0.897436 +vt 0.979167 0.900641 +vt 0.979167 0.804487 +vt 0.989583 0.794872 +vt 0.989583 0.801282 +vt 0.979167 0.830128 +vt 0.989583 0.839744 +vt 0.979167 0.842949 +vt 0.979167 0.964744 +vt 0.989583 0.974359 +vt 0.979167 0.977564 +vt 0.765625 0.923077 +vt 0.770833 0.926282 +vt 0.765625 0.929487 +vt 0.765625 0.987179 +vt 0.770833 0.980769 +vt 0.770833 0.983974 +vt 0.765625 0.961538 +vt 0.770833 0.964744 +vt 0.765625 0.967949 +vt 0.765625 0.935897 +vt 0.770833 0.929487 +vt 0.770833 0.932692 +vt 0.765625 0.942308 +vt 0.770833 0.945513 +vt 0.765625 0.948718 +vt 0.770833 0.990385 +vt 0.765625 0.993590 +vt 0.765625 0.974359 +vt 0.770833 0.967949 +vt 0.770833 0.971154 +vt 0.770833 0.939103 +vt 0.770833 0.951923 +vt 0.765625 0.955128 +vt 0.765625 1.000000 +vt 0.770833 0.993590 +vt 0.770833 0.996795 +vt 0.770833 0.977564 +vt 0.765625 0.980769 +vt 0.770833 0.955128 +vt 0.770833 0.958333 +vt 0.726573 0.962420 +vt 0.734353 0.967949 +vt 0.726573 0.973477 +vt 0.901042 0.903846 +vt 0.916667 0.919872 +vt 0.901042 0.923077 +vt 0.901042 0.807692 +vt 0.916667 0.823718 +vt 0.901042 0.826923 +vt 0.901042 0.846154 +vt 0.916667 0.862179 +vt 0.901042 0.865385 +vt 0.901042 1.000000 +vt 0.916667 0.983974 +vt 0.916667 0.996795 +vt 0.901042 0.942308 +vt 0.916667 0.926282 +vt 0.916667 0.939103 +vt 0.901042 0.884615 +vt 0.916667 0.868590 +vt 0.916667 0.881410 +vt 0.901042 0.769231 +vt 0.916667 0.785256 +vt 0.901042 0.788462 +vt 0.916667 0.958333 +vt 0.901042 0.961538 +vt 0.916667 0.900641 +vt 0.916667 0.791667 +vt 0.916667 0.804487 +vt 0.916667 0.830128 +vt 0.916667 0.842949 +vt 0.901042 0.980769 +vt 0.916667 0.964744 +vt 0.916667 0.977564 +vt 0.765625 0.923077 +vt 0.770833 0.926282 +vt 0.765625 0.929487 +vt 0.765625 0.980769 +vt 0.770833 0.983974 +vt 0.765625 0.987179 +vt 0.765625 0.961538 +vt 0.770833 0.964744 +vt 0.765625 0.967949 +vt 0.765625 0.935897 +vt 0.770833 0.929487 +vt 0.770833 0.932692 +vt 0.765625 0.948718 +vt 0.770833 0.942308 +vt 0.770833 0.945513 +vt 0.765625 0.993590 +vt 0.770833 0.987179 +vt 0.770833 0.990385 +vt 0.770833 0.971154 +vt 0.765625 0.974359 +vt 0.770833 0.939103 +vt 0.765625 0.942308 +vt 0.770833 0.951923 +vt 0.765625 0.955128 +vt 0.765625 1.000000 +vt 0.770833 0.993590 +vt 0.770833 0.996795 +vt 0.770833 0.974359 +vt 0.770833 0.977564 +vt 0.770833 0.955128 +vt 0.770833 0.958333 +vt 0.726573 0.962420 +vt 0.734353 0.967949 +vt 0.726573 0.973477 +vt 0.822917 0.849359 +vt 0.817708 0.858974 +vt 0.817708 0.849359 +vt 0.822917 0.881410 +vt 0.817708 0.868590 +vt 0.822917 0.868590 +vt 0.822917 0.900641 +vt 0.817708 0.887821 +vt 0.822917 0.887821 +vt 0.822917 0.919872 +vt 0.817708 0.907051 +vt 0.822917 0.907051 +vt 0.822917 0.926282 +vt 0.817708 0.935897 +vt 0.817708 0.926282 +vt 0.822917 0.958333 +vt 0.817708 0.945513 +vt 0.822917 0.945513 +vt 0.822917 0.964744 +vt 0.817708 0.974359 +vt 0.817708 0.964744 +vt 0.822917 0.983974 +vt 0.817708 0.993590 +vt 0.817708 0.983974 +vt 0.822917 0.785256 +vt 0.817708 0.772436 +vt 0.822917 0.772436 +vt 0.822917 0.804487 +vt 0.817708 0.791667 +vt 0.822917 0.791667 +vt 0.822917 0.810897 +vt 0.817708 0.820513 +vt 0.817708 0.810897 +vt 0.822917 0.830128 +vt 0.817708 0.839744 +vt 0.817708 0.830128 +vt 0.726543 0.925696 +vt 0.734335 0.942308 +vt 0.710957 0.958920 +vt 0.979167 0.919872 +vt 0.989583 0.910256 +vt 0.989583 0.916667 +vt 0.979167 0.810897 +vt 0.989583 0.820513 +vt 0.979167 0.823718 +vt 0.979167 0.849359 +vt 0.989583 0.858974 +vt 0.979167 0.862179 +vt 0.979167 0.996795 +vt 0.989583 0.987179 +vt 0.989583 0.993590 +vt 0.979167 0.939103 +vt 0.989583 0.929487 +vt 0.989583 0.935897 +vt 0.979167 0.881410 +vt 0.989583 0.871795 +vt 0.989583 0.878205 +vt 0.979167 0.772436 +vt 0.989583 0.782051 +vt 0.979167 0.785256 +vt 0.979167 0.958333 +vt 0.989583 0.948718 +vt 0.989583 0.955128 +vt 0.979167 0.887821 +vt 0.989583 0.897436 +vt 0.979167 0.900641 +vt 0.979167 0.804487 +vt 0.989583 0.794872 +vt 0.989583 0.801282 +vt 0.979167 0.830128 +vt 0.989583 0.839744 +vt 0.979167 0.842949 +vt 0.979167 0.977564 +vt 0.989583 0.967949 +vt 0.989583 0.974359 +vt 0.765625 0.929487 +vt 0.770833 0.923077 +vt 0.770833 0.926282 +vt 0.765625 0.987179 +vt 0.770833 0.980769 +vt 0.770833 0.983974 +vt 0.765625 0.967949 +vt 0.770833 0.961538 +vt 0.770833 0.964744 +vt 0.770833 0.932692 +vt 0.765625 0.935897 +vt 0.765625 0.942308 +vt 0.770833 0.945513 +vt 0.765625 0.948718 +vt 0.770833 0.990385 +vt 0.765625 0.993590 +vt 0.770833 0.971154 +vt 0.765625 0.974359 +vt 0.770833 0.939103 +vt 0.770833 0.951923 +vt 0.765625 0.955128 +vt 0.765625 1.000000 +vt 0.770833 0.993590 +vt 0.770833 0.996795 +vt 0.770833 0.977564 +vt 0.765625 0.980769 +vt 0.770833 0.958333 +vt 0.765625 0.961538 +vt 0.731760 0.962420 +vt 0.734353 0.967949 +vt 0.726573 0.973477 +vt 0.822917 0.862179 +vt 0.817708 0.849359 +vt 0.822917 0.849359 +vt 0.822917 0.881410 +vt 0.817708 0.868590 +vt 0.822917 0.868590 +vt 0.822917 0.900641 +vt 0.817708 0.887821 +vt 0.822917 0.887821 +vt 0.822917 0.919872 +vt 0.817708 0.907051 +vt 0.822917 0.907051 +vt 0.822917 0.926282 +vt 0.817708 0.935897 +vt 0.817708 0.926282 +vt 0.822917 0.958333 +vt 0.817708 0.945513 +vt 0.822917 0.945513 +vt 0.822917 0.964744 +vt 0.817708 0.974359 +vt 0.817708 0.964744 +vt 0.822917 0.983974 +vt 0.817708 0.993590 +vt 0.817708 0.983974 +vt 0.822917 0.772436 +vt 0.817708 0.782051 +vt 0.817708 0.772436 +vt 0.822917 0.804487 +vt 0.817708 0.791667 +vt 0.822917 0.791667 +vt 0.822917 0.810897 +vt 0.817708 0.820513 +vt 0.817708 0.810897 +vt 0.822917 0.842949 +vt 0.817708 0.830128 +vt 0.822917 0.830128 +vt 0.726543 0.925696 +vt 0.734335 0.942308 +vt 0.710957 0.958920 +vt 0.979167 0.907051 +vt 0.989583 0.916667 +vt 0.979167 0.919872 +vt 0.979167 0.823718 +vt 0.989583 0.814103 +vt 0.989583 0.820513 +vt 0.979167 0.849359 +vt 0.989583 0.858974 +vt 0.979167 0.862179 +vt 0.979167 0.983974 +vt 0.989583 0.993590 +vt 0.979167 0.996795 +vt 0.979167 0.939103 +vt 0.989583 0.929487 +vt 0.989583 0.935897 +vt 0.979167 0.881410 +vt 0.989583 0.871795 +vt 0.989583 0.878205 +vt 0.979167 0.772436 +vt 0.989583 0.782051 +vt 0.979167 0.785256 +vt 0.979167 0.945513 +vt 0.989583 0.955128 +vt 0.979167 0.958333 +vt 0.979167 0.887821 +vt 0.989583 0.897436 +vt 0.979167 0.900641 +vt 0.979167 0.804487 +vt 0.989583 0.794872 +vt 0.989583 0.801282 +vt 0.979167 0.830128 +vt 0.989583 0.839744 +vt 0.979167 0.842949 +vt 0.979167 0.964744 +vt 0.989583 0.974359 +vt 0.979167 0.977564 +vt 0.765625 0.929487 +vt 0.770833 0.923077 +vt 0.770833 0.926282 +vt 0.765625 0.980769 +vt 0.770833 0.983974 +vt 0.765625 0.987179 +vt 0.765625 0.961538 +vt 0.770833 0.964744 +vt 0.765625 0.967949 +vt 0.770833 0.932692 +vt 0.765625 0.935897 +vt 0.765625 0.942308 +vt 0.770833 0.945513 +vt 0.765625 0.948718 +vt 0.770833 0.990385 +vt 0.765625 0.993590 +vt 0.770833 0.971154 +vt 0.765625 0.974359 +vt 0.770833 0.939103 +vt 0.770833 0.951923 +vt 0.765625 0.955128 +vt 0.765625 1.000000 +vt 0.770833 0.993590 +vt 0.770833 0.996795 +vt 0.770833 0.974359 +vt 0.770833 0.977564 +vt 0.770833 0.955128 +vt 0.770833 0.958333 +vt 0.726573 0.962420 +vt 0.734353 0.967949 +vt 0.726573 0.973477 +vt 0.822917 0.862179 +vt 0.817708 0.849359 +vt 0.822917 0.849359 +vt 0.822917 0.881410 +vt 0.817708 0.868590 +vt 0.822917 0.868590 +vt 0.822917 0.900641 +vt 0.817708 0.887821 +vt 0.822917 0.887821 +vt 0.822917 0.919872 +vt 0.817708 0.907051 +vt 0.822917 0.907051 +vt 0.822917 0.926282 +vt 0.817708 0.935897 +vt 0.817708 0.926282 +vt 0.822917 0.958333 +vt 0.817708 0.945513 +vt 0.822917 0.945513 +vt 0.822917 0.977564 +vt 0.817708 0.964744 +vt 0.822917 0.964744 +vt 0.822917 0.983974 +vt 0.817708 0.993590 +vt 0.817708 0.983974 +vt 0.822917 0.772436 +vt 0.817708 0.782051 +vt 0.817708 0.772436 +vt 0.822917 0.804487 +vt 0.817708 0.791667 +vt 0.822917 0.791667 +vt 0.822917 0.823718 +vt 0.817708 0.810897 +vt 0.822917 0.810897 +vt 0.822917 0.830128 +vt 0.817708 0.839744 +vt 0.817708 0.830128 +vt 0.726543 0.958920 +vt 0.710957 0.958920 +vt 0.710957 0.925696 +vt 0.979167 0.907051 +vt 0.989583 0.916667 +vt 0.979167 0.919872 +vt 0.979167 0.810897 +vt 0.989583 0.820513 +vt 0.979167 0.823718 +vt 0.979167 0.862179 +vt 0.989583 0.852564 +vt 0.989583 0.858974 +vt 0.979167 0.996795 +vt 0.989583 0.987179 +vt 0.989583 0.993590 +vt 0.979167 0.926282 +vt 0.989583 0.935897 +vt 0.979167 0.939103 +vt 0.979167 0.868590 +vt 0.989583 0.878205 +vt 0.979167 0.881410 +vt 0.979167 0.772436 +vt 0.989583 0.782051 +vt 0.979167 0.785256 +vt 0.979167 0.958333 +vt 0.989583 0.948718 +vt 0.989583 0.955128 +vt 0.979167 0.887821 +vt 0.989583 0.897436 +vt 0.979167 0.900641 +vt 0.979167 0.791667 +vt 0.989583 0.801282 +vt 0.979167 0.804487 +vt 0.979167 0.830128 +vt 0.989583 0.839744 +vt 0.979167 0.842949 +vt 0.979167 0.977564 +vt 0.989583 0.967949 +vt 0.989583 0.974359 +vt 0.765625 0.929487 +vt 0.770833 0.923077 +vt 0.770833 0.926282 +vt 0.765625 0.980769 +vt 0.770833 0.983974 +vt 0.765625 0.987179 +vt 0.765625 0.967949 +vt 0.770833 0.961538 +vt 0.770833 0.964744 +vt 0.770833 0.932692 +vt 0.765625 0.935897 +vt 0.765625 0.942308 +vt 0.770833 0.945513 +vt 0.765625 0.948718 +vt 0.765625 0.993590 +vt 0.770833 0.987179 +vt 0.770833 0.990385 +vt 0.765625 0.974359 +vt 0.770833 0.967949 +vt 0.770833 0.971154 +vt 0.770833 0.939103 +vt 0.770833 0.951923 +vt 0.765625 0.955128 +vt 0.765625 1.000000 +vt 0.770833 0.993590 +vt 0.770833 0.996795 +vt 0.770833 0.977564 +vt 0.770833 0.958333 +vt 0.765625 0.961538 +vt 0.731760 0.973477 +vt 0.726573 0.973477 +vt 0.726573 0.962420 +vt 0.822917 0.862179 +vt 0.817708 0.849359 +vt 0.822917 0.849359 +vt 0.822917 0.881410 +vt 0.817708 0.868590 +vt 0.822917 0.868590 +vt 0.822917 0.900641 +vt 0.817708 0.887821 +vt 0.822917 0.887821 +vt 0.822917 0.919872 +vt 0.817708 0.907051 +vt 0.822917 0.907051 +vt 0.822917 0.926282 +vt 0.817708 0.935897 +vt 0.817708 0.926282 +vt 0.822917 0.945513 +vt 0.817708 0.955128 +vt 0.817708 0.945513 +vt 0.822917 0.964744 +vt 0.817708 0.974359 +vt 0.817708 0.964744 +vt 0.822917 0.983974 +vt 0.817708 0.993590 +vt 0.817708 0.983974 +vt 0.822917 0.785256 +vt 0.817708 0.772436 +vt 0.822917 0.772436 +vt 0.822917 0.804487 +vt 0.817708 0.791667 +vt 0.822917 0.791667 +vt 0.822917 0.823718 +vt 0.817708 0.810897 +vt 0.822917 0.810897 +vt 0.822917 0.830128 +vt 0.817708 0.839744 +vt 0.817708 0.830128 +vt 0.726543 0.925696 +vt 0.734335 0.942308 +vt 0.710957 0.958920 +vt 0.979167 0.919872 +vt 0.989583 0.910256 +vt 0.989583 0.916667 +vt 0.979167 0.823718 +vt 0.989583 0.814103 +vt 0.989583 0.820513 +vt 0.979167 0.862179 +vt 0.989583 0.852564 +vt 0.989583 0.858974 +vt 0.979167 0.996795 +vt 0.989583 0.987179 +vt 0.989583 0.993590 +vt 0.979167 0.939103 +vt 0.989583 0.929487 +vt 0.989583 0.935897 +vt 0.979167 0.881410 +vt 0.989583 0.871795 +vt 0.989583 0.878205 +vt 0.979167 0.772436 +vt 0.989583 0.782051 +vt 0.979167 0.785256 +vt 0.979167 0.958333 +vt 0.989583 0.948718 +vt 0.989583 0.955128 +vt 0.979167 0.887821 +vt 0.989583 0.897436 +vt 0.979167 0.900641 +vt 0.979167 0.804487 +vt 0.989583 0.794872 +vt 0.989583 0.801282 +vt 0.979167 0.830128 +vt 0.989583 0.839744 +vt 0.979167 0.842949 +vt 0.979167 0.964744 +vt 0.989583 0.974359 +vt 0.979167 0.977564 +vt 0.765625 0.923077 +vt 0.770833 0.926282 +vt 0.765625 0.929487 +vt 0.765625 0.980769 +vt 0.770833 0.983974 +vt 0.765625 0.987179 +vt 0.765625 0.961538 +vt 0.770833 0.964744 +vt 0.765625 0.967949 +vt 0.765625 0.935897 +vt 0.770833 0.929487 +vt 0.770833 0.932692 +vt 0.765625 0.948718 +vt 0.770833 0.942308 +vt 0.770833 0.945513 +vt 0.770833 0.990385 +vt 0.765625 0.993590 +vt 0.765625 0.974359 +vt 0.770833 0.967949 +vt 0.770833 0.971154 +vt 0.765625 0.942308 +vt 0.770833 0.935897 +vt 0.770833 0.939103 +vt 0.770833 0.951923 +vt 0.765625 0.955128 +vt 0.765625 1.000000 +vt 0.770833 0.993590 +vt 0.770833 0.996795 +vt 0.770833 0.974359 +vt 0.770833 0.977564 +vt 0.770833 0.955128 +vt 0.770833 0.958333 +vt 0.726573 0.962420 +vt 0.731760 0.962420 +vt 0.734353 0.967949 +vt 0.260417 0.294872 +vt 0.260417 0.333333 +vt 0.260417 0.407051 +vt 0.260417 0.445513 +vt 0.260417 0.483974 +vt 0.260417 0.522436 +vt 0.260417 0.560897 +vt 0.260417 0.599359 +vt 0.260417 0.637821 +vt 0.260417 0.641026 +vt 0.260417 0.679487 +vt 0.260417 0.102564 +vt 0.260417 0.141026 +vt 0.260417 0.179487 +vt 0.260417 0.217949 +vt 0.260417 0.256410 +vt 0.250000 0.451923 +vt 0.260417 0.410256 +vt 0.260417 0.371795 +vt 0.260417 0.333333 +vt 0.260417 0.294872 +vt 0.260417 0.256410 +vt 0.260417 0.217949 +vt 0.260417 0.179487 +vt 0.250000 0.144231 +vt 0.250000 0.105769 +vt 0.250000 0.682692 +vt 0.250000 0.644231 +vt 0.250000 0.605769 +vt 0.250000 0.567308 +vt 0.250000 0.528846 +vt 0.250000 0.490385 +vt 0.364583 0.285256 +vt 0.364583 0.323718 +vt 0.364583 0.342949 +vt 0.364583 0.400641 +vt 0.364583 0.439103 +vt 0.364583 0.458333 +vt 0.364583 0.516026 +vt 0.364583 0.554487 +vt 0.364583 0.573718 +vt 0.364583 0.612179 +vt 0.364583 0.669872 +vt 0.364583 0.708333 +vt 0.364583 0.112179 +vt 0.364583 0.150641 +vt 0.364583 0.208333 +vt 0.364583 0.246795 +vt 0.500000 0.294872 +vt 0.500000 0.368590 +vt 0.500000 0.371795 +vt 0.500000 0.410256 +vt 0.500000 0.483974 +vt 0.500000 0.487179 +vt 0.500000 0.560897 +vt 0.500000 0.599359 +vt 0.500000 0.637821 +vt 0.500000 0.641026 +vt 0.500000 0.679487 +vt 0.500000 0.137821 +vt 0.500000 0.176282 +vt 0.500000 0.214744 +vt 0.500000 0.217949 +vt 0.500000 0.256410 +vt 0.364583 0.496795 +vt 0.333333 0.448718 +vt 0.364583 0.419872 +vt 0.364583 0.381410 +vt 0.333333 0.333333 +vt 0.364583 0.304487 +vt 0.333333 0.256410 +vt 0.333333 0.217949 +vt 0.333333 0.179487 +vt 0.364583 0.150641 +vt 0.364583 0.112179 +vt 0.333333 0.679487 +vt 0.333333 0.641026 +vt 0.364583 0.612179 +vt 0.364583 0.573718 +vt 0.364583 0.535256 +vt 0.468750 0.496795 +vt 0.468750 0.477564 +vt 0.468750 0.419872 +vt 0.468750 0.381410 +vt 0.468750 0.362179 +vt 0.468750 0.304487 +vt 0.468750 0.266026 +vt 0.468750 0.246795 +vt 0.468750 0.208333 +vt 0.468750 0.150641 +vt 0.468750 0.112179 +vt 0.468750 0.708333 +vt 0.468750 0.669872 +vt 0.468750 0.612179 +vt 0.468750 0.573718 +vt 0.468750 0.535256 +vt 0.635417 0.272436 +vt 0.635417 0.314103 +vt 0.635417 0.352564 +vt 0.635417 0.391026 +vt 0.635417 0.429487 +vt 0.635417 0.464744 +vt 0.635417 0.506410 +vt 0.635417 0.541667 +vt 0.635417 0.583333 +vt 0.635417 0.618590 +vt 0.635417 0.660256 +vt 0.635417 0.695513 +vt 0.635417 0.118590 +vt 0.635417 0.160256 +vt 0.635417 0.198718 +vt 0.635417 0.237179 +vt 0.264383 0.742557 +vt 0.253086 0.739791 +vt 0.260416 0.743528 +vt 0.256449 0.742557 +vt 0.250839 0.735652 +vt 0.250049 0.730769 +vt 0.250839 0.725887 +vt 0.256449 0.718982 +vt 0.260416 0.718010 +vt 0.264383 0.718982 +vt 0.269994 0.725887 +vt 0.270783 0.730769 +vt 0.269994 0.735652 +vt 0.635417 0.503205 +vt 0.635417 0.464744 +vt 0.635417 0.426282 +vt 0.635417 0.387821 +vt 0.572917 0.333333 +vt 0.635417 0.310897 +vt 0.572917 0.256410 +vt 0.635417 0.233974 +vt 0.572917 0.179487 +vt 0.635417 0.157051 +vt 0.572917 0.102564 +vt 0.572917 0.679487 +vt 0.635417 0.657051 +vt 0.635417 0.618590 +vt 0.635417 0.580128 +vt 0.572917 0.525641 +vt 0.256449 0.742557 +vt 0.253086 0.739791 +vt 0.250839 0.735652 +vt 0.250049 0.730769 +vt 0.250839 0.725887 +vt 0.253086 0.721747 +vt 0.256449 0.718982 +vt 0.264383 0.718982 +vt 0.267746 0.721747 +vt 0.269994 0.725887 +vt 0.269994 0.735652 +vt 0.267746 0.739791 +vt 0.264383 0.742557 +vt 0.739583 0.358974 +vt 0.770833 0.615385 +vt 0.812500 0.410256 +vt 0.697917 0.564103 +vt 0.739583 0.358974 +vt 0.770833 0.615385 +vt 0.812500 0.410256 +vt 0.697917 0.564103 +vt 0.770833 0.615385 +vt 0.739583 0.358974 +vt 0.697917 0.564103 +vt 0.812500 0.410256 +vt 0.770833 0.615385 +vt 0.739583 0.358974 +vt 0.697917 0.564103 +vt 0.812500 0.410256 +vt 0.531250 0.884615 +vt 0.531250 0.884615 +vt 0.468750 0.717949 +vt 0.468750 0.717949 +vt 0.531250 0.884615 +vt 0.531250 0.884615 +vt 0.468750 0.717949 +vt 0.468750 0.717949 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.250000 0.788462 +vt 0.255208 0.743590 +vt 0.286458 0.794872 +vt 0.291667 0.750000 +vt 0.656250 0.814103 +vt 0.250000 0.794872 +vt 0.250000 0.794872 +vt 0.250000 0.794872 +vt 0.250000 0.794872 +vt 0.958333 0.246795 +vt 0.958333 0.282051 +vt 0.859375 0.240385 +vt 0.953125 0.240385 +vt 0.953125 0.144231 +vt 0.854167 0.137821 +vt 0.854167 0.102564 +vt 0.953125 0.625000 +vt 0.859375 0.625000 +vt 0.958333 0.631410 +vt 0.854167 0.666667 +vt 0.953125 0.528846 +vt 0.854167 0.474359 +vt 0.854167 0.522436 +vt 0.817708 0.858974 +vt 0.817708 0.878205 +vt 0.817708 0.897436 +vt 0.817708 0.916667 +vt 0.822917 0.939103 +vt 0.817708 0.955128 +vt 0.822917 0.977564 +vt 0.822917 0.996795 +vt 0.817708 0.782051 +vt 0.817708 0.801282 +vt 0.822917 0.823718 +vt 0.822917 0.842949 +vt 0.732247 0.951899 +vt 0.726543 0.958920 +vt 0.718750 0.961490 +vt 0.705253 0.951899 +vt 0.703165 0.942308 +vt 0.705253 0.932717 +vt 0.710957 0.925696 +vt 0.718750 0.923126 +vt 0.732247 0.932717 +vt 0.979167 0.907051 +vt 0.989583 0.814103 +vt 0.989583 0.852564 +vt 0.979167 0.983974 +vt 0.989583 0.929487 +vt 0.979167 0.868590 +vt 0.989583 0.775641 +vt 0.989583 0.948718 +vt 0.989583 0.891026 +vt 0.979167 0.791667 +vt 0.989583 0.833333 +vt 0.989583 0.967949 +vt 0.770833 0.923077 +vt 0.770833 0.980769 +vt 0.770833 0.961538 +vt 0.770833 0.942308 +vt 0.770833 0.987179 +vt 0.770833 0.935897 +vt 0.770833 0.948718 +vt 0.770833 0.974359 +vt 0.726573 0.973477 +vt 0.724675 0.971141 +vt 0.724675 0.964757 +vt 0.729167 0.961565 +vt 0.731760 0.962420 +vt 0.733658 0.964757 +vt 0.733658 0.971141 +vt 0.731760 0.973477 +vt 0.729167 0.974332 +vt 0.916667 0.907051 +vt 0.916667 0.810897 +vt 0.916667 0.849359 +vt 0.916667 0.772436 +vt 0.916667 0.945513 +vt 0.916667 0.887821 +vt 0.770833 0.923077 +vt 0.770833 0.980769 +vt 0.770833 0.961538 +vt 0.770833 0.967949 +vt 0.770833 0.935897 +vt 0.770833 0.948718 +vt 0.724675 0.971141 +vt 0.723980 0.967949 +vt 0.724675 0.964757 +vt 0.729167 0.961565 +vt 0.731760 0.962420 +vt 0.733658 0.964757 +vt 0.733658 0.971141 +vt 0.731760 0.973477 +vt 0.729167 0.974332 +vt 0.250000 0.794872 +vt 0.250000 0.794872 +vt 0.250000 0.794872 +vt 0.250000 0.794872 +vt 0.250000 0.794872 +vt 0.250000 0.794872 +vt 0.250000 0.794872 +vt 0.250000 0.794872 +vt 0.250000 0.794872 +vt 0.250000 0.794872 +vt 0.250000 0.794872 +vt 0.250000 0.794872 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.059896 0.067308 +vt 0.732247 0.951899 +vt 0.726543 0.958920 +vt 0.718750 0.961490 +vt 0.705253 0.951899 +vt 0.703165 0.942308 +vt 0.705253 0.932717 +vt 0.710957 0.925696 +vt 0.718750 0.923126 +vt 0.732247 0.932717 +vt 0.822917 0.842949 +vt 0.817708 0.820513 +vt 0.817708 0.801282 +vt 0.822917 0.785256 +vt 0.822917 0.996795 +vt 0.822917 0.977564 +vt 0.817708 0.955128 +vt 0.822917 0.939103 +vt 0.817708 0.916667 +vt 0.817708 0.897436 +vt 0.817708 0.878205 +vt 0.817708 0.858974 +vt 0.822917 0.862179 +vt 0.817708 0.878205 +vt 0.817708 0.897436 +vt 0.817708 0.916667 +vt 0.822917 0.939103 +vt 0.817708 0.955128 +vt 0.822917 0.977564 +vt 0.822917 0.996795 +vt 0.822917 0.785256 +vt 0.822917 0.804487 +vt 0.817708 0.820513 +vt 0.822917 0.842949 +vt 0.732247 0.951899 +vt 0.726543 0.958920 +vt 0.718750 0.961490 +vt 0.705253 0.951899 +vt 0.703165 0.942308 +vt 0.705253 0.932717 +vt 0.718750 0.923126 +vt 0.726543 0.925696 +vt 0.732247 0.932717 +vt 0.979167 0.907051 +vt 0.979167 0.810897 +vt 0.989583 0.852564 +vt 0.979167 0.983974 +vt 0.979167 0.926282 +vt 0.989583 0.871795 +vt 0.989583 0.775641 +vt 0.979167 0.945513 +vt 0.989583 0.891026 +vt 0.979167 0.791667 +vt 0.989583 0.833333 +vt 0.989583 0.967949 +vt 0.770833 0.923077 +vt 0.770833 0.980769 +vt 0.770833 0.929487 +vt 0.770833 0.942308 +vt 0.770833 0.987179 +vt 0.770833 0.935897 +vt 0.770833 0.948718 +vt 0.770833 0.974359 +vt 0.724675 0.971141 +vt 0.723980 0.967949 +vt 0.724675 0.964757 +vt 0.726573 0.962420 +vt 0.729167 0.961565 +vt 0.731760 0.962420 +vt 0.733658 0.964757 +vt 0.733658 0.971141 +vt 0.729167 0.974332 +vt 0.817708 0.858974 +vt 0.817708 0.878205 +vt 0.817708 0.897436 +vt 0.817708 0.916667 +vt 0.822917 0.939103 +vt 0.817708 0.955128 +vt 0.822917 0.977564 +vt 0.822917 0.996795 +vt 0.822917 0.785256 +vt 0.822917 0.804487 +vt 0.822917 0.823718 +vt 0.822917 0.842949 +vt 0.732247 0.951899 +vt 0.726543 0.958920 +vt 0.718750 0.961490 +vt 0.705253 0.951899 +vt 0.703165 0.942308 +vt 0.705253 0.932717 +vt 0.710957 0.925696 +vt 0.718750 0.923126 +vt 0.732247 0.932717 +vt 0.979167 0.907051 +vt 0.979167 0.810897 +vt 0.989583 0.852564 +vt 0.979167 0.983974 +vt 0.979167 0.926282 +vt 0.979167 0.868590 +vt 0.989583 0.775641 +vt 0.989583 0.948718 +vt 0.989583 0.891026 +vt 0.979167 0.791667 +vt 0.989583 0.833333 +vt 0.989583 0.967949 +vt 0.770833 0.923077 +vt 0.770833 0.980769 +vt 0.770833 0.961538 +vt 0.770833 0.929487 +vt 0.770833 0.942308 +vt 0.770833 0.987179 +vt 0.770833 0.935897 +vt 0.770833 0.948718 +vt 0.724675 0.971141 +vt 0.723980 0.967949 +vt 0.724675 0.964757 +vt 0.729167 0.961565 +vt 0.731760 0.962420 +vt 0.733658 0.964757 +vt 0.733658 0.971141 +vt 0.731760 0.973477 +vt 0.729167 0.974332 +vt 0.817708 0.858974 +vt 0.817708 0.878205 +vt 0.817708 0.897436 +vt 0.817708 0.916667 +vt 0.817708 0.935897 +vt 0.817708 0.955128 +vt 0.822917 0.977564 +vt 0.822917 0.996795 +vt 0.822917 0.785256 +vt 0.817708 0.801282 +vt 0.822917 0.823718 +vt 0.822917 0.842949 +vt 0.734335 0.942308 +vt 0.732247 0.951899 +vt 0.718750 0.961490 +vt 0.705253 0.951899 +vt 0.703165 0.942308 +vt 0.705253 0.932717 +vt 0.718750 0.923126 +vt 0.726543 0.925696 +vt 0.732247 0.932717 +vt 0.989583 0.910256 +vt 0.989583 0.814103 +vt 0.979167 0.849359 +vt 0.979167 0.983974 +vt 0.989583 0.929487 +vt 0.979167 0.868590 +vt 0.989583 0.775641 +vt 0.979167 0.945513 +vt 0.979167 0.887821 +vt 0.979167 0.791667 +vt 0.979167 0.830128 +vt 0.979167 0.964744 +vt 0.765625 0.923077 +vt 0.770833 0.980769 +vt 0.770833 0.987179 +vt 0.770833 0.935897 +vt 0.770833 0.948718 +vt 0.770833 0.974359 +vt 0.770833 0.955128 +vt 0.724675 0.971141 +vt 0.723980 0.967949 +vt 0.724675 0.964757 +vt 0.729167 0.961565 +vt 0.734353 0.967949 +vt 0.731760 0.962420 +vt 0.733658 0.964757 +vt 0.733658 0.971141 +vt 0.729167 0.974332 +vt 0.822917 0.862179 +vt 0.817708 0.878205 +vt 0.817708 0.897436 +vt 0.817708 0.916667 +vt 0.822917 0.939103 +vt 0.817708 0.955128 +vt 0.822917 0.977564 +vt 0.822917 0.996795 +vt 0.817708 0.782051 +vt 0.817708 0.801282 +vt 0.817708 0.820513 +vt 0.822917 0.842949 +vt 0.734335 0.942308 +vt 0.732247 0.951899 +vt 0.718750 0.961490 +vt 0.705253 0.951899 +vt 0.703165 0.942308 +vt 0.705253 0.932717 +vt 0.718750 0.923126 +vt 0.726543 0.925696 +vt 0.732247 0.932717 +vt 0.979167 0.907051 +vt 0.979167 0.810897 +vt 0.979167 0.849359 +vt 0.979167 0.983974 +vt 0.979167 0.926282 +vt 0.989583 0.871795 +vt 0.989583 0.775641 +vt 0.989583 0.948718 +vt 0.989583 0.891026 +vt 0.979167 0.791667 +vt 0.989583 0.833333 +vt 0.989583 0.967949 +vt 0.770833 0.923077 +vt 0.770833 0.980769 +vt 0.770833 0.961538 +vt 0.770833 0.987179 +vt 0.770833 0.935897 +vt 0.770833 0.948718 +vt 0.770833 0.955128 +vt 0.726573 0.973477 +vt 0.724675 0.971141 +vt 0.724675 0.964757 +vt 0.729167 0.961565 +vt 0.731760 0.962420 +vt 0.733658 0.964757 +vt 0.733658 0.971141 +vt 0.731760 0.973477 +vt 0.729167 0.974332 +vt 0.979167 0.907051 +vt 0.989583 0.814103 +vt 0.989583 0.852564 +vt 0.979167 0.983974 +vt 0.989583 0.929487 +vt 0.979167 0.868590 +vt 0.989583 0.775641 +vt 0.979167 0.945513 +vt 0.989583 0.891026 +vt 0.979167 0.791667 +vt 0.989583 0.833333 +vt 0.989583 0.967949 +vt 0.770833 0.923077 +vt 0.770833 0.961538 +vt 0.770833 0.942308 +vt 0.770833 0.987179 +vt 0.770833 0.935897 +vt 0.770833 0.948718 +vt 0.770833 0.974359 +vt 0.724675 0.971141 +vt 0.723980 0.967949 +vt 0.724675 0.964757 +vt 0.729167 0.961565 +vt 0.731760 0.962420 +vt 0.733658 0.964757 +vt 0.733658 0.971141 +vt 0.731760 0.973477 +vt 0.729167 0.974332 +vt 0.916667 0.907051 +vt 0.916667 0.810897 +vt 0.916667 0.849359 +vt 0.916667 0.772436 +vt 0.916667 0.945513 +vt 0.916667 0.887821 +vt 0.770833 0.923077 +vt 0.770833 0.980769 +vt 0.770833 0.961538 +vt 0.770833 0.967949 +vt 0.770833 0.935897 +vt 0.770833 0.948718 +vt 0.724675 0.971141 +vt 0.723980 0.967949 +vt 0.724675 0.964757 +vt 0.729167 0.961565 +vt 0.731760 0.962420 +vt 0.733658 0.964757 +vt 0.733658 0.971141 +vt 0.731760 0.973477 +vt 0.729167 0.974332 +vt 0.822917 0.862179 +vt 0.817708 0.878205 +vt 0.817708 0.897436 +vt 0.817708 0.916667 +vt 0.822917 0.939103 +vt 0.817708 0.955128 +vt 0.822917 0.977564 +vt 0.822917 0.996795 +vt 0.817708 0.782051 +vt 0.817708 0.801282 +vt 0.822917 0.823718 +vt 0.822917 0.842949 +vt 0.732247 0.951899 +vt 0.726543 0.958920 +vt 0.718750 0.961490 +vt 0.705253 0.951899 +vt 0.703165 0.942308 +vt 0.705253 0.932717 +vt 0.710957 0.925696 +vt 0.718750 0.923126 +vt 0.732247 0.932717 +vt 0.979167 0.907051 +vt 0.989583 0.814103 +vt 0.989583 0.852564 +vt 0.979167 0.983974 +vt 0.979167 0.926282 +vt 0.979167 0.868590 +vt 0.989583 0.775641 +vt 0.979167 0.945513 +vt 0.989583 0.891026 +vt 0.979167 0.791667 +vt 0.989583 0.833333 +vt 0.979167 0.964744 +vt 0.765625 0.923077 +vt 0.770833 0.929487 +vt 0.770833 0.942308 +vt 0.770833 0.987179 +vt 0.770833 0.967949 +vt 0.770833 0.935897 +vt 0.770833 0.948718 +vt 0.770833 0.974359 +vt 0.770833 0.955128 +vt 0.724675 0.971141 +vt 0.723980 0.967949 +vt 0.724675 0.964757 +vt 0.726573 0.962420 +vt 0.729167 0.961565 +vt 0.733658 0.964757 +vt 0.733658 0.971141 +vt 0.731760 0.973477 +vt 0.729167 0.974332 +vt 0.817708 0.858974 +vt 0.817708 0.878205 +vt 0.817708 0.897436 +vt 0.817708 0.916667 +vt 0.822917 0.939103 +vt 0.817708 0.955128 +vt 0.822917 0.977564 +vt 0.822917 0.996795 +vt 0.822917 0.785256 +vt 0.817708 0.801282 +vt 0.822917 0.823718 +vt 0.817708 0.839744 +vt 0.732247 0.951899 +vt 0.726543 0.958920 +vt 0.718750 0.961490 +vt 0.705253 0.951899 +vt 0.703165 0.942308 +vt 0.705253 0.932717 +vt 0.710957 0.925696 +vt 0.718750 0.923126 +vt 0.732247 0.932717 +vt 0.989583 0.910256 +vt 0.979167 0.810897 +vt 0.989583 0.852564 +vt 0.989583 0.987179 +vt 0.979167 0.926282 +vt 0.979167 0.868590 +vt 0.989583 0.775641 +vt 0.989583 0.948718 +vt 0.989583 0.891026 +vt 0.979167 0.791667 +vt 0.989583 0.833333 +vt 0.989583 0.967949 +vt 0.765625 0.923077 +vt 0.770833 0.980769 +vt 0.770833 0.961538 +vt 0.770833 0.929487 +vt 0.770833 0.942308 +vt 0.770833 0.987179 +vt 0.770833 0.967949 +vt 0.770833 0.935897 +vt 0.770833 0.948718 +vt 0.724675 0.971141 +vt 0.723980 0.967949 +vt 0.724675 0.964757 +vt 0.729167 0.961565 +vt 0.731760 0.962420 +vt 0.733658 0.964757 +vt 0.733658 0.971141 +vt 0.731760 0.973477 +vt 0.729167 0.974332 +vt 0.817708 0.858974 +vt 0.817708 0.878205 +vt 0.817708 0.897436 +vt 0.817708 0.916667 +vt 0.822917 0.939103 +vt 0.817708 0.955128 +vt 0.817708 0.974359 +vt 0.822917 0.996795 +vt 0.822917 0.785256 +vt 0.817708 0.801282 +vt 0.817708 0.820513 +vt 0.822917 0.842949 +vt 0.734335 0.942308 +vt 0.732247 0.951899 +vt 0.718750 0.961490 +vt 0.705253 0.951899 +vt 0.703165 0.942308 +vt 0.705253 0.932717 +vt 0.718750 0.923126 +vt 0.726543 0.925696 +vt 0.732247 0.932717 +vt 0.989583 0.910256 +vt 0.989583 0.814103 +vt 0.979167 0.849359 +vt 0.979167 0.983974 +vt 0.989583 0.929487 +vt 0.989583 0.871795 +vt 0.989583 0.775641 +vt 0.979167 0.945513 +vt 0.989583 0.891026 +vt 0.989583 0.794872 +vt 0.989583 0.833333 +vt 0.979167 0.964744 +vt 0.765625 0.923077 +vt 0.770833 0.980769 +vt 0.770833 0.929487 +vt 0.770833 0.942308 +vt 0.770833 0.935897 +vt 0.770833 0.948718 +vt 0.770833 0.974359 +vt 0.770833 0.955128 +vt 0.724675 0.971141 +vt 0.723980 0.967949 +vt 0.724675 0.964757 +vt 0.729167 0.961565 +vt 0.731760 0.962420 +vt 0.733658 0.964757 +vt 0.734353 0.967949 +vt 0.733658 0.971141 +vt 0.729167 0.974332 +vt 0.817708 0.858974 +vt 0.817708 0.878205 +vt 0.817708 0.897436 +vt 0.817708 0.916667 +vt 0.822917 0.939103 +vt 0.822917 0.958333 +vt 0.822917 0.977564 +vt 0.822917 0.996795 +vt 0.817708 0.782051 +vt 0.817708 0.801282 +vt 0.817708 0.820513 +vt 0.822917 0.842949 +vt 0.732247 0.951899 +vt 0.726543 0.958920 +vt 0.718750 0.961490 +vt 0.705253 0.951899 +vt 0.710957 0.925696 +vt 0.703165 0.942308 +vt 0.705253 0.932717 +vt 0.718750 0.923126 +vt 0.732247 0.932717 +vt 0.979167 0.907051 +vt 0.979167 0.810897 +vt 0.979167 0.849359 +vt 0.979167 0.983974 +vt 0.979167 0.926282 +vt 0.979167 0.868590 +vt 0.989583 0.775641 +vt 0.979167 0.945513 +vt 0.989583 0.891026 +vt 0.979167 0.791667 +vt 0.989583 0.833333 +vt 0.989583 0.967949 +vt 0.770833 0.923077 +vt 0.770833 0.980769 +vt 0.770833 0.961538 +vt 0.770833 0.987179 +vt 0.770833 0.948718 +vt 0.726573 0.973477 +vt 0.724675 0.971141 +vt 0.723980 0.967949 +vt 0.724675 0.964757 +vt 0.729167 0.961565 +vt 0.733658 0.964757 +vt 0.733658 0.971141 +vt 0.731760 0.973477 +vt 0.729167 0.974332 +vt 0.187500 0.102564 +vt 0.062500 0.153846 +vt 0.062500 0.102564 +vt 0.187500 0.410256 +vt 0.062500 0.461538 +vt 0.062500 0.410256 +vt 0.187500 0.564103 +vt 0.062500 0.615385 +vt 0.062500 0.564103 +vt 0.187500 0.871795 +vt 0.062500 0.923077 +vt 0.062500 0.871795 +vt 0.187500 0.512821 +vt 0.062500 0.512821 +vt 0.229167 0.320513 +vt 0.187500 0.358974 +vt 0.187500 0.307692 +vt 0.229167 0.397436 +vt 0.229167 0.423077 +vt 0.187500 0.461538 +vt 0.229167 0.500000 +vt 0.229167 0.525641 +vt 0.229167 0.576923 +vt 0.187500 0.615385 +vt 0.229167 0.628205 +vt 0.187500 0.666667 +vt 0.229167 0.705128 +vt 0.187500 0.717949 +vt 0.229167 0.756410 +vt 0.187500 0.769231 +vt 0.229167 0.807692 +vt 0.187500 0.820513 +vt 0.229167 0.833333 +vt 0.229167 0.884615 +vt 0.187500 0.923077 +vt 0.229167 0.141026 +vt 0.187500 0.153846 +vt 0.229167 0.166667 +vt 0.187500 0.205128 +vt 0.229167 0.217949 +vt 0.187500 0.256410 +vt 0.229167 0.294872 +vt 0.062500 0.358974 +vt 0.020833 0.397436 +vt 0.020833 0.371795 +vt 0.020833 0.448718 +vt 0.020833 0.423077 +vt 0.020833 0.500000 +vt 0.020833 0.474359 +vt 0.020833 0.525641 +vt 0.020833 0.576923 +vt 0.062500 0.666667 +vt 0.020833 0.628205 +vt 0.062500 0.717949 +vt 0.020833 0.679487 +vt 0.062500 0.769231 +vt 0.020833 0.730769 +vt 0.020833 0.807692 +vt 0.020833 0.782051 +vt 0.062500 0.820513 +vt 0.020833 0.858974 +vt 0.020833 0.833333 +vt 0.020833 0.884615 +vt 0.020833 0.141026 +vt 0.020833 0.115385 +vt 0.020833 0.192308 +vt 0.020833 0.166667 +vt 0.062500 0.256410 +vt 0.020833 0.217949 +vt 0.062500 0.205128 +vt 0.020833 0.294872 +vt 0.020833 0.269231 +vt 0.020833 0.320513 +vt 0.062500 0.307692 +vt 0.250000 0.346154 +vt 0.229167 0.346154 +vt 0.229167 0.782051 +vt 0.250000 0.807692 +vt 0.229167 0.371795 +vt 0.250000 0.397436 +vt 0.229167 0.858974 +vt 0.250000 0.833333 +vt 0.250000 0.858974 +vt 0.250000 0.448718 +vt 0.229167 0.448718 +vt 0.250000 0.910256 +vt 0.229167 0.910256 +vt 0.250000 0.551282 +vt 0.229167 0.551282 +vt 0.229167 0.474359 +vt 0.250000 0.500000 +vt 0.229167 0.115385 +vt 0.250000 0.141026 +vt 0.250000 0.602564 +vt 0.229167 0.602564 +vt 0.250000 0.192308 +vt 0.229167 0.192308 +vt 0.250000 0.653846 +vt 0.229167 0.653846 +vt 0.250000 0.243590 +vt 0.229167 0.243590 +vt 0.229167 0.679487 +vt 0.250000 0.705128 +vt 0.229167 0.269231 +vt 0.250000 0.294872 +vt 0.229167 0.730769 +vt 0.250000 0.756410 +vt 0.020833 0.653846 +vt -0.000000 0.628205 +vt 0.020833 0.243590 +vt 0.000000 0.217949 +vt 0.020833 0.705128 +vt 0.000000 0.679487 +vt 0.000000 0.269231 +vt 0.020833 0.756410 +vt 0.000000 0.730769 +vt 0.020833 0.346154 +vt 0.000000 0.320513 +vt 0.000000 0.782051 +vt 0.000000 0.371795 +vt -0.000000 0.858974 +vt -0.000000 0.833333 +vt 0.000000 0.423077 +vt 0.020833 0.910256 +vt -0.000000 0.884615 +vt 0.020833 0.551282 +vt 0.000000 0.525641 +vt 0.000000 0.474359 +vt -0.000000 0.115385 +vt 0.020833 0.602564 +vt 0.000000 0.576923 +vt -0.000000 0.166667 +vt 0.276042 0.410256 +vt 0.276042 0.371795 +vt 0.276042 0.448718 +vt 0.276042 0.487179 +vt 0.276042 0.525641 +vt 0.276042 0.564103 +vt 0.276042 0.602564 +vt 0.276042 0.641026 +vt 0.276042 0.679487 +vt 0.276042 0.717949 +vt 0.276042 0.102564 +vt 0.276042 0.141026 +vt 0.276042 0.217949 +vt 0.276042 0.179487 +vt 0.276042 0.256410 +vt 0.276042 0.294872 +vt 0.276042 0.333333 +vt 0.317708 0.294872 +vt 0.317708 0.333333 +vt 0.317708 0.371795 +vt 0.317708 0.410256 +vt 0.317708 0.448718 +vt 0.317708 0.487179 +vt 0.317708 0.525641 +vt 0.317708 0.564103 +vt 0.317708 0.602564 +vt 0.317708 0.641026 +vt 0.317708 0.679487 +vt 0.317708 0.102564 +vt 0.317708 0.141026 +vt 0.317708 0.179487 +vt 0.317708 0.217949 +vt 0.317708 0.256410 +vt 0.317708 0.410256 +vt 0.317708 0.448718 +vt 0.317708 0.371795 +vt 0.317708 0.333333 +vt 0.317708 0.294872 +vt 0.317708 0.256410 +vt 0.317708 0.217949 +vt 0.317708 0.179487 +vt 0.317708 0.102564 +vt 0.317708 0.141026 +vt 0.317708 0.717949 +vt 0.317708 0.679487 +vt 0.317708 0.641026 +vt 0.317708 0.602564 +vt 0.317708 0.564103 +vt 0.317708 0.525641 +vt 0.317708 0.487179 +vt 0.276042 0.525641 +vt 0.276042 0.487179 +vt 0.276042 0.448718 +vt 0.276042 0.410256 +vt 0.276042 0.371795 +vt 0.276042 0.333333 +vt 0.276042 0.294872 +vt 0.276042 0.256410 +vt 0.276042 0.217949 +vt 0.276042 0.179487 +vt 0.276042 0.141026 +vt 0.276042 0.717949 +vt 0.276042 0.679487 +vt 0.276042 0.641026 +vt 0.276042 0.602564 +vt 0.276042 0.564103 +vt 0.276042 0.102564 +vt 0.364583 0.198718 +vt 0.468750 0.217949 +vt 0.364583 0.217949 +vt 0.364583 0.371795 +vt 0.468750 0.391026 +vt 0.364583 0.391026 +vt 0.468750 0.237179 +vt 0.364583 0.237179 +vt 0.468750 0.410256 +vt 0.364583 0.410256 +vt 0.364583 0.256410 +vt 0.468750 0.275641 +vt 0.364583 0.275641 +vt 0.468750 0.256410 +vt 0.364583 0.102564 +vt 0.468750 0.121795 +vt 0.364583 0.121795 +vt 0.468750 0.294872 +vt 0.364583 0.294872 +vt 0.468750 0.141026 +vt 0.364583 0.141026 +vt 0.468750 0.314103 +vt 0.364583 0.314103 +vt 0.468750 0.160256 +vt 0.364583 0.160256 +vt 0.468750 0.333333 +vt 0.364583 0.333333 +vt 0.468750 0.179487 +vt 0.364583 0.179487 +vt 0.468750 0.352564 +vt 0.364583 0.352564 +vt 0.468750 0.198718 +vt 0.468750 0.371795 +vt 0.515625 0.371795 +vt 0.515625 0.448718 +vt 0.515625 0.410256 +vt 0.515625 0.487179 +vt 0.515625 0.525641 +vt 0.515625 0.564103 +vt 0.515625 0.602564 +vt 0.515625 0.641026 +vt 0.515625 0.679487 +vt 0.515625 0.717949 +vt 0.515625 0.102564 +vt 0.515625 0.141026 +vt 0.515625 0.179487 +vt 0.515625 0.217949 +vt 0.515625 0.256410 +vt 0.515625 0.294872 +vt 0.515625 0.333333 +vt 0.557292 0.294872 +vt 0.557292 0.333333 +vt 0.557292 0.371795 +vt 0.557292 0.410256 +vt 0.557292 0.448718 +vt 0.557292 0.487179 +vt 0.557292 0.525641 +vt 0.557292 0.564103 +vt 0.557292 0.602564 +vt 0.557292 0.641026 +vt 0.557292 0.679487 +vt 0.557292 0.102564 +vt 0.557292 0.141026 +vt 0.557292 0.179487 +vt 0.557292 0.217949 +vt 0.557292 0.256410 +vt 0.557292 0.410256 +vt 0.557292 0.448718 +vt 0.557292 0.371795 +vt 0.557292 0.333333 +vt 0.557292 0.294872 +vt 0.557292 0.256410 +vt 0.557292 0.217949 +vt 0.557292 0.179487 +vt 0.557292 0.141026 +vt 0.557292 0.102564 +vt 0.557292 0.679487 +vt 0.557292 0.717949 +vt 0.557292 0.602564 +vt 0.557292 0.641026 +vt 0.557292 0.564103 +vt 0.557292 0.525641 +vt 0.557292 0.487179 +vt 0.515625 0.525641 +vt 0.515625 0.487179 +vt 0.515625 0.448718 +vt 0.515625 0.410256 +vt 0.515625 0.371795 +vt 0.515625 0.333333 +vt 0.515625 0.294872 +vt 0.515625 0.256410 +vt 0.515625 0.217949 +vt 0.515625 0.179487 +vt 0.515625 0.141026 +vt 0.515625 0.717949 +vt 0.515625 0.679487 +vt 0.515625 0.641026 +vt 0.515625 0.602564 +vt 0.515625 0.564103 +vt 0.515625 0.102564 +vt 0.364583 0.121795 +vt 0.468750 0.141026 +vt 0.364583 0.141026 +vt 0.364583 0.275641 +vt 0.468750 0.294872 +vt 0.364583 0.294872 +vt 0.364583 0.102564 +vt 0.468750 0.121795 +vt 0.364583 0.237179 +vt 0.468750 0.256410 +vt 0.364583 0.256410 +vt 0.468750 0.275641 +vt 0.364583 0.391026 +vt 0.468750 0.410256 +vt 0.364583 0.410256 +vt 0.364583 0.217949 +vt 0.468750 0.237179 +vt 0.364583 0.371795 +vt 0.468750 0.391026 +vt 0.364583 0.198718 +vt 0.468750 0.217949 +vt 0.364583 0.352564 +vt 0.468750 0.371795 +vt 0.364583 0.179487 +vt 0.468750 0.198718 +vt 0.364583 0.333333 +vt 0.468750 0.352564 +vt 0.364583 0.160256 +vt 0.468750 0.179487 +vt 0.364583 0.314103 +vt 0.468750 0.333333 +vt 0.468750 0.160256 +vt 0.468750 0.314103 +vt 0.645833 0.538462 +vt 0.635417 0.535256 +vt 0.645833 0.535256 +vt 0.645833 0.541667 +vt 0.635417 0.538462 +vt 0.645833 0.564103 +vt 0.635417 0.560897 +vt 0.645833 0.560897 +vt 0.635417 0.532051 +vt 0.645833 0.532051 +vt 0.635417 0.557692 +vt 0.645833 0.557692 +vt 0.635417 0.528846 +vt 0.645833 0.528846 +vt 0.635417 0.554487 +vt 0.645833 0.554487 +vt 0.635417 0.525641 +vt 0.645833 0.525641 +vt 0.635417 0.551282 +vt 0.645833 0.551282 +vt 0.635417 0.522436 +vt 0.645833 0.522436 +vt 0.635417 0.548077 +vt 0.645833 0.548077 +vt 0.635417 0.519231 +vt 0.645833 0.519231 +vt 0.635417 0.544872 +vt 0.645833 0.544872 +vt 0.635417 0.516026 +vt 0.645833 0.516026 +vt 0.635417 0.541667 +vt 0.635417 0.512821 +vt 0.645833 0.512821 +vt 0.645833 0.522436 +vt 0.635417 0.519231 +vt 0.645833 0.519231 +vt 0.645833 0.551282 +vt 0.635417 0.548077 +vt 0.645833 0.548077 +vt 0.645833 0.525641 +vt 0.635417 0.522436 +vt 0.645833 0.554487 +vt 0.635417 0.551282 +vt 0.645833 0.528846 +vt 0.635417 0.525641 +vt 0.645833 0.557692 +vt 0.635417 0.554487 +vt 0.645833 0.532051 +vt 0.635417 0.528846 +vt 0.645833 0.560897 +vt 0.635417 0.557692 +vt 0.645833 0.535256 +vt 0.635417 0.532051 +vt 0.645833 0.564103 +vt 0.635417 0.560897 +vt 0.645833 0.541667 +vt 0.635417 0.538462 +vt 0.645833 0.538462 +vt 0.635417 0.535256 +vt 0.645833 0.516026 +vt 0.635417 0.512821 +vt 0.645833 0.512821 +vt 0.645833 0.544872 +vt 0.635417 0.541667 +vt 0.635417 0.516026 +vt 0.635417 0.544872 +vt 0.468750 0.554487 +vt 0.364583 0.583333 +vt 0.364583 0.554487 +vt 0.468750 0.814103 +vt 0.364583 0.842949 +vt 0.364583 0.814103 +vt 0.468750 0.583333 +vt 0.364583 0.612179 +vt 0.468750 0.842949 +vt 0.364583 0.871795 +vt 0.468750 0.641026 +vt 0.364583 0.669872 +vt 0.364583 0.641026 +vt 0.468750 0.612179 +vt 0.468750 0.410256 +vt 0.364583 0.439103 +vt 0.364583 0.410256 +vt 0.468750 0.669872 +vt 0.364583 0.698718 +vt 0.468750 0.439103 +vt 0.364583 0.467949 +vt 0.468750 0.698718 +vt 0.364583 0.727564 +vt 0.468750 0.467949 +vt 0.364583 0.496795 +vt 0.468750 0.727564 +vt 0.364583 0.756410 +vt 0.468750 0.525641 +vt 0.364583 0.525641 +vt 0.468750 0.756410 +vt 0.364583 0.785256 +vt 0.468750 0.785256 +vt 0.364583 0.727564 +vt 0.468750 0.698718 +vt 0.468750 0.727564 +vt 0.364583 0.467949 +vt 0.468750 0.439103 +vt 0.468750 0.467949 +vt 0.364583 0.698718 +vt 0.468750 0.669872 +vt 0.364583 0.439103 +vt 0.468750 0.410256 +vt 0.364583 0.641026 +vt 0.468750 0.612179 +vt 0.468750 0.641026 +vt 0.364583 0.669872 +vt 0.364583 0.871795 +vt 0.468750 0.842949 +vt 0.468750 0.871795 +vt 0.364583 0.612179 +vt 0.468750 0.583333 +vt 0.364583 0.842949 +vt 0.468750 0.814103 +vt 0.364583 0.583333 +vt 0.468750 0.554487 +vt 0.364583 0.814103 +vt 0.468750 0.785256 +vt 0.364583 0.554487 +vt 0.468750 0.525641 +vt 0.364583 0.756410 +vt 0.468750 0.756410 +vt 0.364583 0.525641 +vt 0.468750 0.496795 +vt 0.364583 0.496795 +vt 0.497396 0.948718 +vt 0.520833 0.942308 +vt 0.520833 0.948718 +vt 0.354167 0.961538 +vt 0.401042 0.955128 +vt 0.401042 0.961538 +vt 0.497396 0.955128 +vt 0.520833 0.955128 +vt 0.401042 0.948718 +vt 0.354167 0.942308 +vt 0.401042 0.942308 +vt 0.497396 0.935897 +vt 0.520833 0.935897 +vt 0.354167 0.955128 +vt 0.520833 0.961538 +vt 0.471354 0.942308 +vt 0.497396 0.942308 +vt 0.471354 0.948718 +vt 0.471354 0.961538 +vt 0.497396 0.961538 +vt 0.440104 0.942308 +vt 0.471354 0.935897 +vt 0.471354 0.955128 +vt 0.440104 0.948718 +vt 0.440104 0.961538 +vt 0.401042 0.935897 +vt 0.440104 0.935897 +vt 0.440104 0.955128 +vt 0.354167 0.916667 +vt 0.377604 0.910256 +vt 0.377604 0.916667 +vt 0.377604 0.923077 +vt 0.354167 0.929487 +vt 0.377604 0.929487 +vt 0.354167 0.935897 +vt 0.377604 0.935897 +vt 0.520833 0.916667 +vt 0.473958 0.910256 +vt 0.520833 0.910256 +vt 0.473958 0.923077 +vt 0.520833 0.923077 +vt 0.473958 0.929487 +vt 0.520833 0.929487 +vt 0.520833 0.935897 +vt 0.434896 0.916667 +vt 0.473958 0.916667 +vt 0.434896 0.923077 +vt 0.434896 0.929487 +vt 0.473958 0.935897 +vt 0.403646 0.910256 +vt 0.434896 0.910256 +vt 0.403646 0.923077 +vt 0.434896 0.935897 +vt 0.403646 0.929487 +vt 0.403646 0.916667 +vt 0.403646 0.935897 +vt 0.609375 0.884615 +vt 0.656250 0.891026 +vt 0.609375 0.891026 +vt 0.609375 0.897436 +vt 0.656250 0.897436 +vt 0.656250 0.903846 +vt 0.609375 0.903846 +vt 0.656250 0.910256 +vt 0.609375 0.910256 +vt 0.354167 0.884615 +vt 0.401042 0.891026 +vt 0.354167 0.891026 +vt 0.401042 0.897436 +vt 0.354167 0.897436 +vt 0.401042 0.903846 +vt 0.354167 0.903846 +vt 0.354167 0.910256 +vt 0.401042 0.910256 +vt 0.484375 0.884615 +vt 0.484375 0.891026 +vt 0.484375 0.897436 +vt 0.484375 0.903846 +vt 0.484375 0.910256 +vt 0.526042 0.891026 +vt 0.526042 0.897436 +vt 0.526042 0.903846 +vt 0.526042 0.910256 +vt 0.526042 0.884615 +vt 0.854167 0.769231 +vt 0.958333 0.721154 +vt 0.958333 0.769231 +vt 0.854167 0.336538 +vt 0.958333 0.336538 +vt 0.854167 0.721154 +vt 0.958333 0.192308 +vt 0.958333 0.576923 +vt 0.854167 0.192308 +vt 0.854167 0.576923 +vt 0.958333 0.048077 +vt 0.958333 0.432692 +vt 0.854167 0.048077 +vt 0.958333 -0.000000 +vt 0.854167 0.384615 +vt 0.958333 0.384615 +vt 0.854167 0.432692 +vt 0.812500 0.759615 +vt 0.812500 0.682692 +vt 0.812500 0.634615 +vt 0.812500 0.615385 +vt 0.812500 0.538462 +vt 0.812500 0.490385 +vt 0.812500 0.471154 +vt 0.812500 0.394231 +vt 0.812500 0.375000 +vt 0.812500 0.326923 +vt 0.812500 0.278846 +vt 0.812500 0.230769 +vt 0.812500 0.153846 +vt 0.812500 0.134615 +vt 0.812500 0.086538 +vt 0.812500 0.038462 +vt 0.854167 -0.000000 +vt 0.674546 0.791749 +vt 0.762954 0.791749 +vt 0.762954 0.900559 +vt 1.000000 0.038462 +vt 1.000000 0.759615 +vt 1.000000 0.682692 +vt 1.000000 0.711538 +vt 1.000000 0.634615 +vt 1.000000 0.663462 +vt 1.000000 0.586538 +vt 1.000000 0.615385 +vt 1.000000 0.538462 +vt 1.000000 0.567308 +vt 1.000000 0.490385 +vt 1.000000 0.519231 +vt 1.000000 0.471154 +vt 1.000000 0.423077 +vt 1.000000 0.375000 +vt 1.000000 0.326923 +vt 1.000000 0.278846 +vt 1.000000 0.230769 +vt 1.000000 0.153846 +vt 1.000000 0.182692 +vt 1.000000 0.134615 +vt 1.000000 0.086538 +vt 0.718750 0.769213 +vt 0.781264 0.846154 +vt 0.718750 0.923094 +vt 0.916667 0.849359 +vt 0.901042 0.865385 +vt 0.901042 0.846154 +vt 0.916667 0.881410 +vt 0.901042 0.884615 +vt 0.916667 0.887821 +vt 0.901042 0.903846 +vt 0.916667 0.919872 +vt 0.901042 0.923077 +vt 0.916667 0.926282 +vt 0.901042 0.942308 +vt 0.916667 0.958333 +vt 0.901042 0.961538 +vt 0.916667 0.964744 +vt 0.901042 0.980769 +vt 0.916667 0.983974 +vt 0.901042 1.000000 +vt 0.916667 0.772436 +vt 0.901042 0.788462 +vt 0.901042 0.769231 +vt 0.916667 0.804487 +vt 0.901042 0.807692 +vt 0.916667 0.823718 +vt 0.901042 0.826923 +vt 0.916667 0.830128 +vt 0.838542 0.942308 +vt 0.838542 0.884615 +vt 0.838542 0.788462 +vt 0.838542 0.846154 +vt 0.838542 0.826923 +vt 0.838542 0.961538 +vt 0.838542 0.923077 +vt 0.838542 0.903846 +vt 0.838542 0.807692 +vt 0.838542 0.865385 +vt 0.838542 0.980769 +vt 0.838542 0.769231 +vt 0.838542 1.000000 +vt 0.781250 0.964744 +vt 0.781250 0.907051 +vt 0.781250 0.810897 +vt 0.781250 0.849359 +vt 0.781250 0.983974 +vt 0.781250 0.926282 +vt 0.781250 0.868590 +vt 0.781250 0.772436 +vt 0.781250 0.945513 +vt 0.781250 0.887821 +vt 0.781250 0.791667 +vt 0.781250 0.830128 +vt 0.916667 0.810897 +vt 0.916667 0.862179 +vt 0.916667 0.996795 +vt 0.916667 0.939103 +vt 0.916667 0.868590 +vt 0.916667 0.785256 +vt 0.916667 0.945513 +vt 0.916667 0.900641 +vt 0.916667 0.791667 +vt 0.916667 0.842949 +vt 0.916667 0.977564 +vt 0.734375 0.974359 +vt 0.734375 0.980769 +vt 0.734375 0.955128 +vt 0.734375 0.961538 +vt 0.734375 0.923077 +vt 0.734375 0.929487 +vt 0.734375 0.987179 +vt 0.734375 0.967949 +vt 0.734375 0.935897 +vt 0.734375 0.942308 +vt 0.734375 0.948718 +vt 0.734375 0.993590 +vt 0.734375 1.000000 +vt 0.781250 0.977564 +vt 0.781250 0.958333 +vt 0.781250 0.926282 +vt 0.781250 0.983974 +vt 0.781250 0.964744 +vt 0.781250 0.932692 +vt 0.781250 0.945513 +vt 0.781250 0.990385 +vt 0.781250 0.971154 +vt 0.781250 0.935897 +vt 0.781250 0.939103 +vt 0.781250 0.951923 +vt 0.781250 0.996795 +vt 0.869792 0.826923 +vt 0.869792 0.865385 +vt 0.869792 0.980769 +vt 0.869792 1.000000 +vt 0.869792 0.923077 +vt 0.869792 0.942308 +vt 0.869792 0.884615 +vt 0.869792 0.769231 +vt 0.869792 0.788462 +vt 0.869792 0.961538 +vt 0.869792 0.903846 +vt 0.869792 0.807692 +vt 0.869792 0.846154 +vt 0.734375 0.974359 +vt 0.734375 0.980769 +vt 0.734375 0.955128 +vt 0.734375 0.961538 +vt 0.734375 0.923077 +vt 0.734375 0.929487 +vt 0.734375 0.987179 +vt 0.734375 0.967949 +vt 0.734375 0.935897 +vt 0.734375 0.942308 +vt 0.734375 0.948718 +vt 0.734375 0.993590 +vt 0.734375 1.000000 +vt 0.781250 0.977564 +vt 0.781250 0.958333 +vt 0.781250 0.926282 +vt 0.781250 0.983974 +vt 0.781250 0.964744 +vt 0.781250 0.932692 +vt 0.781250 0.945513 +vt 0.781250 0.990385 +vt 0.781250 0.971154 +vt 0.781250 0.939103 +vt 0.781250 0.951923 +vt 0.781250 0.996795 +vt 0.687500 0.737179 +vt 0.682292 0.544872 +vt 0.687500 0.544872 +vt 0.682292 0.737179 +vt 0.677083 0.544872 +vt 0.677083 0.737179 +vt 0.671875 0.544872 +vt 0.671875 0.737179 +vt 0.666667 0.544872 +vt 0.666667 0.737179 +vt 0.661458 0.544872 +vt 0.661458 0.737179 +vt 0.656250 0.544872 +vt 0.677083 0.746795 +vt 0.697917 0.737179 +vt 0.692708 0.544872 +vt 0.697917 0.544872 +vt 0.692708 0.737179 +vt 0.671875 0.535256 +vt 0.677083 0.535256 +vt 0.666667 0.541667 +vt 0.682292 0.535256 +vt 0.661458 0.535256 +vt 0.666667 0.535256 +vt 0.687500 0.541667 +vt 0.692708 0.535256 +vt 0.692708 0.538462 +vt 0.687500 0.535256 +vt 0.687500 0.528846 +vt 0.692708 0.532051 +vt 0.671875 0.525641 +vt 0.677083 0.525641 +vt 0.682292 0.525641 +vt 0.666667 0.528846 +vt 0.697917 0.535256 +vt 0.656250 0.535256 +vt 0.661458 0.538462 +vt 0.661458 0.532051 +vt 0.661458 0.743590 +vt 0.666667 0.746795 +vt 0.661458 0.746795 +vt 0.687500 0.740385 +vt 0.692708 0.746795 +vt 0.687500 0.746795 +vt 0.682292 0.746795 +vt 0.671875 0.746795 +vt 0.666667 0.740385 +vt 0.666667 0.753205 +vt 0.661458 0.750000 +vt 0.677083 0.756410 +vt 0.671875 0.756410 +vt 0.682292 0.756410 +vt 0.692708 0.750000 +vt 0.687500 0.753205 +vt 0.697917 0.746795 +vt 0.692708 0.743590 +vt 0.656250 0.746795 +vt 0.661458 0.756410 +vt 0.666667 0.769231 +vt 0.661458 0.769231 +vt 0.671875 0.769231 +vt 0.687500 0.756410 +vt 0.682292 0.769231 +vt 0.656250 0.756410 +vt 0.656250 0.769231 +vt 0.692708 0.756410 +vt 0.687500 0.769231 +vt 0.697917 0.769231 +vt 0.692708 0.769231 +vt 0.666667 0.756410 +vt 0.677083 0.769231 +vt 0.697917 0.525641 +vt 0.692708 0.512821 +vt 0.697917 0.512821 +vt 0.666667 0.512821 +vt 0.671875 0.512821 +vt 0.682292 0.512821 +vt 0.666667 0.525641 +vt 0.661458 0.512821 +vt 0.677083 0.512821 +vt 0.687500 0.525641 +vt 0.687500 0.512821 +vt 0.656250 0.525641 +vt 0.661458 0.525641 +vt 0.692708 0.525641 +vt 0.687500 0.737179 +vt 0.682292 0.544872 +vt 0.687500 0.544872 +vt 0.682292 0.737179 +vt 0.677083 0.544872 +vt 0.677083 0.737179 +vt 0.671875 0.544872 +vt 0.671875 0.737179 +vt 0.666667 0.544872 +vt 0.666667 0.737179 +vt 0.661458 0.544872 +vt 0.661458 0.737179 +vt 0.656250 0.544872 +vt 0.677083 0.746795 +vt 0.697917 0.737179 +vt 0.692708 0.544872 +vt 0.697917 0.544872 +vt 0.692708 0.737179 +vt 0.677083 0.535256 +vt 0.666667 0.541667 +vt 0.671875 0.535256 +vt 0.682292 0.535256 +vt 0.661458 0.535256 +vt 0.666667 0.535256 +vt 0.687500 0.541667 +vt 0.692708 0.535256 +vt 0.692708 0.538462 +vt 0.687500 0.535256 +vt 0.687500 0.528846 +vt 0.692708 0.532051 +vt 0.666667 0.528846 +vt 0.671875 0.525641 +vt 0.677083 0.525641 +vt 0.682292 0.525641 +vt 0.697917 0.535256 +vt 0.656250 0.535256 +vt 0.661458 0.538462 +vt 0.661458 0.532051 +vt 0.661458 0.743590 +vt 0.666667 0.746795 +vt 0.661458 0.746795 +vt 0.692708 0.743590 +vt 0.687500 0.746795 +vt 0.687500 0.740385 +vt 0.682292 0.746795 +vt 0.671875 0.746795 +vt 0.666667 0.740385 +vt 0.666667 0.753205 +vt 0.661458 0.750000 +vt 0.677083 0.756410 +vt 0.671875 0.756410 +vt 0.687500 0.753205 +vt 0.682292 0.756410 +vt 0.692708 0.746795 +vt 0.697917 0.746795 +vt 0.692708 0.750000 +vt 0.656250 0.746795 +vt 0.661458 0.756410 +vt 0.666667 0.769231 +vt 0.661458 0.769231 +vt 0.671875 0.769231 +vt 0.687500 0.756410 +vt 0.682292 0.769231 +vt 0.656250 0.756410 +vt 0.656250 0.769231 +vt 0.692708 0.756410 +vt 0.687500 0.769231 +vt 0.697917 0.769231 +vt 0.692708 0.769231 +vt 0.666667 0.756410 +vt 0.677083 0.769231 +vt 0.697917 0.525641 +vt 0.692708 0.512821 +vt 0.697917 0.512821 +vt 0.666667 0.512821 +vt 0.671875 0.512821 +vt 0.682292 0.512821 +vt 0.661458 0.525641 +vt 0.666667 0.525641 +vt 0.677083 0.512821 +vt 0.687500 0.525641 +vt 0.687500 0.512821 +vt 0.656250 0.525641 +vt 0.661458 0.512821 +vt 0.692708 0.525641 +vt 0.687500 0.737179 +vt 0.682292 0.544872 +vt 0.687500 0.544872 +vt 0.682292 0.737179 +vt 0.677083 0.544872 +vt 0.677083 0.737179 +vt 0.671875 0.544872 +vt 0.671875 0.737179 +vt 0.666667 0.544872 +vt 0.666667 0.737179 +vt 0.661458 0.544872 +vt 0.661458 0.737179 +vt 0.656250 0.544872 +vt 0.677083 0.746795 +vt 0.697917 0.737179 +vt 0.692708 0.544872 +vt 0.697917 0.544872 +vt 0.692708 0.737179 +vt 0.677083 0.535256 +vt 0.666667 0.541667 +vt 0.671875 0.535256 +vt 0.682292 0.535256 +vt 0.661458 0.535256 +vt 0.666667 0.535256 +vt 0.687500 0.541667 +vt 0.692708 0.535256 +vt 0.692708 0.538462 +vt 0.687500 0.535256 +vt 0.687500 0.528846 +vt 0.692708 0.532051 +vt 0.671875 0.525641 +vt 0.677083 0.525641 +vt 0.682292 0.525641 +vt 0.666667 0.528846 +vt 0.697917 0.535256 +vt 0.656250 0.535256 +vt 0.661458 0.538462 +vt 0.661458 0.532051 +vt 0.661458 0.743590 +vt 0.666667 0.746795 +vt 0.661458 0.746795 +vt 0.687500 0.740385 +vt 0.692708 0.746795 +vt 0.687500 0.746795 +vt 0.682292 0.746795 +vt 0.671875 0.746795 +vt 0.666667 0.740385 +vt 0.661458 0.750000 +vt 0.677083 0.756410 +vt 0.671875 0.756410 +vt 0.687500 0.753205 +vt 0.682292 0.756410 +vt 0.666667 0.753205 +vt 0.697917 0.746795 +vt 0.692708 0.743590 +vt 0.692708 0.750000 +vt 0.656250 0.746795 +vt 0.661458 0.756410 +vt 0.666667 0.769231 +vt 0.661458 0.769231 +vt 0.671875 0.769231 +vt 0.687500 0.756410 +vt 0.682292 0.769231 +vt 0.656250 0.756410 +vt 0.656250 0.769231 +vt 0.692708 0.756410 +vt 0.687500 0.769231 +vt 0.697917 0.769231 +vt 0.692708 0.769231 +vt 0.666667 0.756410 +vt 0.677083 0.769231 +vt 0.697917 0.525641 +vt 0.692708 0.512821 +vt 0.697917 0.512821 +vt 0.666667 0.512821 +vt 0.671875 0.512821 +vt 0.682292 0.512821 +vt 0.661458 0.525641 +vt 0.666667 0.525641 +vt 0.677083 0.512821 +vt 0.687500 0.525641 +vt 0.687500 0.512821 +vt 0.656250 0.525641 +vt 0.661458 0.512821 +vt 0.692708 0.525641 +vt 0.687500 0.737179 +vt 0.682292 0.544872 +vt 0.687500 0.544872 +vt 0.682292 0.737179 +vt 0.677083 0.544872 +vt 0.677083 0.737179 +vt 0.671875 0.544872 +vt 0.671875 0.737179 +vt 0.666667 0.544872 +vt 0.666667 0.737179 +vt 0.661458 0.544872 +vt 0.661458 0.737179 +vt 0.656250 0.544872 +vt 0.677083 0.746795 +vt 0.697917 0.737179 +vt 0.692708 0.544872 +vt 0.697917 0.544872 +vt 0.692708 0.737179 +vt 0.677083 0.535256 +vt 0.666667 0.541667 +vt 0.671875 0.535256 +vt 0.682292 0.535256 +vt 0.661458 0.535256 +vt 0.666667 0.535256 +vt 0.687500 0.541667 +vt 0.692708 0.535256 +vt 0.692708 0.538462 +vt 0.687500 0.535256 +vt 0.687500 0.528846 +vt 0.692708 0.532051 +vt 0.666667 0.528846 +vt 0.671875 0.525641 +vt 0.682292 0.525641 +vt 0.677083 0.525641 +vt 0.697917 0.535256 +vt 0.656250 0.535256 +vt 0.661458 0.538462 +vt 0.661458 0.532051 +vt 0.661458 0.743590 +vt 0.666667 0.746795 +vt 0.661458 0.746795 +vt 0.692708 0.743590 +vt 0.687500 0.746795 +vt 0.687500 0.740385 +vt 0.682292 0.746795 +vt 0.671875 0.746795 +vt 0.666667 0.740385 +vt 0.661458 0.750000 +vt 0.677083 0.756410 +vt 0.671875 0.756410 +vt 0.687500 0.753205 +vt 0.682292 0.756410 +vt 0.692708 0.746795 +vt 0.666667 0.753205 +vt 0.697917 0.746795 +vt 0.692708 0.750000 +vt 0.656250 0.746795 +vt 0.661458 0.756410 +vt 0.666667 0.769231 +vt 0.661458 0.769231 +vt 0.671875 0.769231 +vt 0.687500 0.756410 +vt 0.682292 0.769231 +vt 0.656250 0.756410 +vt 0.656250 0.769231 +vt 0.692708 0.756410 +vt 0.687500 0.769231 +vt 0.697917 0.769231 +vt 0.692708 0.769231 +vt 0.666667 0.756410 +vt 0.677083 0.769231 +vt 0.697917 0.525641 +vt 0.692708 0.512821 +vt 0.697917 0.512821 +vt 0.666667 0.512821 +vt 0.671875 0.512821 +vt 0.682292 0.512821 +vt 0.666667 0.525641 +vt 0.661458 0.512821 +vt 0.677083 0.512821 +vt 0.687500 0.525641 +vt 0.687500 0.512821 +vt 0.656250 0.525641 +vt 0.661458 0.525641 +vt 0.692708 0.525641 +vt 0.687500 0.737179 +vt 0.682292 0.544872 +vt 0.687500 0.544872 +vt 0.682292 0.737179 +vt 0.677083 0.544872 +vt 0.677083 0.737179 +vt 0.671875 0.544872 +vt 0.671875 0.737179 +vt 0.666667 0.544872 +vt 0.666667 0.737179 +vt 0.661458 0.544872 +vt 0.661458 0.737179 +vt 0.656250 0.544872 +vt 0.677083 0.746795 +vt 0.697917 0.737179 +vt 0.692708 0.544872 +vt 0.697917 0.544872 +vt 0.692708 0.737179 +vt 0.671875 0.535256 +vt 0.677083 0.535256 +vt 0.666667 0.541667 +vt 0.682292 0.535256 +vt 0.661458 0.535256 +vt 0.666667 0.535256 +vt 0.687500 0.541667 +vt 0.692708 0.535256 +vt 0.692708 0.538462 +vt 0.687500 0.535256 +vt 0.687500 0.528846 +vt 0.692708 0.532051 +vt 0.671875 0.525641 +vt 0.677083 0.525641 +vt 0.682292 0.525641 +vt 0.661458 0.532051 +vt 0.666667 0.528846 +vt 0.697917 0.535256 +vt 0.656250 0.535256 +vt 0.661458 0.538462 +vt 0.661458 0.743590 +vt 0.666667 0.746795 +vt 0.661458 0.746795 +vt 0.692708 0.743590 +vt 0.687500 0.746795 +vt 0.687500 0.740385 +vt 0.682292 0.746795 +vt 0.671875 0.746795 +vt 0.666667 0.740385 +vt 0.666667 0.753205 +vt 0.661458 0.750000 +vt 0.671875 0.756410 +vt 0.687500 0.753205 +vt 0.682292 0.756410 +vt 0.692708 0.746795 +vt 0.677083 0.756410 +vt 0.697917 0.746795 +vt 0.692708 0.750000 +vt 0.656250 0.746795 +vt 0.661458 0.756410 +vt 0.666667 0.769231 +vt 0.661458 0.769231 +vt 0.671875 0.769231 +vt 0.687500 0.756410 +vt 0.682292 0.769231 +vt 0.656250 0.756410 +vt 0.656250 0.769231 +vt 0.692708 0.756410 +vt 0.687500 0.769231 +vt 0.697917 0.769231 +vt 0.692708 0.769231 +vt 0.666667 0.756410 +vt 0.677083 0.769231 +vt 0.697917 0.525641 +vt 0.692708 0.512821 +vt 0.697917 0.512821 +vt 0.666667 0.512821 +vt 0.671875 0.512821 +vt 0.682292 0.512821 +vt 0.661458 0.525641 +vt 0.666667 0.525641 +vt 0.677083 0.512821 +vt 0.687500 0.525641 +vt 0.687500 0.512821 +vt 0.656250 0.525641 +vt 0.661458 0.512821 +vt 0.692708 0.525641 +vt 0.687500 0.737179 +vt 0.682292 0.544872 +vt 0.687500 0.544872 +vt 0.682292 0.737179 +vt 0.677083 0.544872 +vt 0.677083 0.737179 +vt 0.671875 0.544872 +vt 0.671875 0.737179 +vt 0.666667 0.544872 +vt 0.666667 0.737179 +vt 0.661458 0.544872 +vt 0.661458 0.737179 +vt 0.656250 0.544872 +vt 0.677083 0.746795 +vt 0.697917 0.737179 +vt 0.692708 0.544872 +vt 0.697917 0.544872 +vt 0.692708 0.737179 +vt 0.677083 0.535256 +vt 0.666667 0.541667 +vt 0.671875 0.535256 +vt 0.682292 0.535256 +vt 0.661458 0.535256 +vt 0.666667 0.535256 +vt 0.687500 0.541667 +vt 0.692708 0.535256 +vt 0.692708 0.538462 +vt 0.687500 0.535256 +vt 0.687500 0.528846 +vt 0.692708 0.532051 +vt 0.671875 0.525641 +vt 0.677083 0.525641 +vt 0.682292 0.525641 +vt 0.666667 0.528846 +vt 0.697917 0.535256 +vt 0.656250 0.535256 +vt 0.661458 0.538462 +vt 0.661458 0.532051 +vt 0.661458 0.743590 +vt 0.666667 0.746795 +vt 0.661458 0.746795 +vt 0.687500 0.740385 +vt 0.692708 0.746795 +vt 0.687500 0.746795 +vt 0.682292 0.746795 +vt 0.671875 0.746795 +vt 0.666667 0.740385 +vt 0.661458 0.750000 +vt 0.677083 0.756410 +vt 0.671875 0.756410 +vt 0.687500 0.753205 +vt 0.682292 0.756410 +vt 0.666667 0.753205 +vt 0.697917 0.746795 +vt 0.692708 0.743590 +vt 0.692708 0.750000 +vt 0.656250 0.746795 +vt 0.661458 0.756410 +vt 0.666667 0.769231 +vt 0.661458 0.769231 +vt 0.671875 0.769231 +vt 0.687500 0.756410 +vt 0.682292 0.769231 +vt 0.656250 0.756410 +vt 0.656250 0.769231 +vt 0.692708 0.769231 +vt 0.687500 0.769231 +vt 0.692708 0.756410 +vt 0.697917 0.769231 +vt 0.666667 0.756410 +vt 0.677083 0.769231 +vt 0.697917 0.525641 +vt 0.692708 0.512821 +vt 0.697917 0.512821 +vt 0.666667 0.512821 +vt 0.671875 0.512821 +vt 0.682292 0.512821 +vt 0.661458 0.525641 +vt 0.666667 0.525641 +vt 0.677083 0.512821 +vt 0.687500 0.525641 +vt 0.687500 0.512821 +vt 0.656250 0.525641 +vt 0.661458 0.512821 +vt 0.692708 0.525641 +vt 0.687500 0.737179 +vt 0.682292 0.544872 +vt 0.687500 0.544872 +vt 0.682292 0.737179 +vt 0.677083 0.544872 +vt 0.677083 0.737179 +vt 0.671875 0.544872 +vt 0.671875 0.737179 +vt 0.666667 0.544872 +vt 0.666667 0.737179 +vt 0.661458 0.544872 +vt 0.661458 0.737179 +vt 0.656250 0.544872 +vt 0.677083 0.746795 +vt 0.697917 0.737179 +vt 0.692708 0.544872 +vt 0.697917 0.544872 +vt 0.692708 0.737179 +vt 0.677083 0.535256 +vt 0.666667 0.541667 +vt 0.671875 0.535256 +vt 0.682292 0.535256 +vt 0.661458 0.535256 +vt 0.666667 0.535256 +vt 0.687500 0.541667 +vt 0.692708 0.535256 +vt 0.692708 0.538462 +vt 0.687500 0.535256 +vt 0.687500 0.528846 +vt 0.692708 0.532051 +vt 0.666667 0.528846 +vt 0.671875 0.525641 +vt 0.677083 0.525641 +vt 0.682292 0.525641 +vt 0.697917 0.535256 +vt 0.656250 0.535256 +vt 0.661458 0.538462 +vt 0.661458 0.532051 +vt 0.661458 0.743590 +vt 0.666667 0.746795 +vt 0.661458 0.746795 +vt 0.687500 0.740385 +vt 0.692708 0.746795 +vt 0.687500 0.746795 +vt 0.682292 0.746795 +vt 0.671875 0.746795 +vt 0.666667 0.740385 +vt 0.661458 0.750000 +vt 0.677083 0.756410 +vt 0.671875 0.756410 +vt 0.687500 0.753205 +vt 0.682292 0.756410 +vt 0.666667 0.753205 +vt 0.697917 0.746795 +vt 0.692708 0.743590 +vt 0.692708 0.750000 +vt 0.656250 0.746795 +vt 0.666667 0.756410 +vt 0.661458 0.769231 +vt 0.661458 0.756410 +vt 0.671875 0.769231 +vt 0.687500 0.756410 +vt 0.682292 0.769231 +vt 0.656250 0.756410 +vt 0.656250 0.769231 +vt 0.692708 0.769231 +vt 0.687500 0.769231 +vt 0.692708 0.756410 +vt 0.697917 0.769231 +vt 0.666667 0.769231 +vt 0.677083 0.769231 +vt 0.697917 0.525641 +vt 0.692708 0.512821 +vt 0.697917 0.512821 +vt 0.666667 0.512821 +vt 0.671875 0.512821 +vt 0.682292 0.512821 +vt 0.661458 0.525641 +vt 0.666667 0.525641 +vt 0.677083 0.512821 +vt 0.687500 0.525641 +vt 0.687500 0.512821 +vt 0.656250 0.525641 +vt 0.661458 0.512821 +vt 0.692708 0.525641 +vt 0.687500 0.737179 +vt 0.682292 0.544872 +vt 0.687500 0.544872 +vt 0.682292 0.737179 +vt 0.677083 0.544872 +vt 0.677083 0.737179 +vt 0.671875 0.544872 +vt 0.671875 0.737179 +vt 0.666667 0.544872 +vt 0.666667 0.737179 +vt 0.661458 0.544872 +vt 0.661458 0.737179 +vt 0.656250 0.544872 +vt 0.677083 0.746795 +vt 0.697917 0.737179 +vt 0.692708 0.544872 +vt 0.697917 0.544872 +vt 0.692708 0.737179 +vt 0.677083 0.535256 +vt 0.666667 0.541667 +vt 0.671875 0.535256 +vt 0.682292 0.535256 +vt 0.661458 0.538462 +vt 0.666667 0.535256 +vt 0.687500 0.541667 +vt 0.692708 0.535256 +vt 0.692708 0.538462 +vt 0.687500 0.535256 +vt 0.687500 0.528846 +vt 0.692708 0.532051 +vt 0.666667 0.528846 +vt 0.671875 0.525641 +vt 0.682292 0.525641 +vt 0.661458 0.535256 +vt 0.677083 0.525641 +vt 0.697917 0.535256 +vt 0.656250 0.535256 +vt 0.661458 0.532051 +vt 0.661458 0.743590 +vt 0.666667 0.746795 +vt 0.661458 0.746795 +vt 0.692708 0.743590 +vt 0.687500 0.746795 +vt 0.687500 0.740385 +vt 0.682292 0.746795 +vt 0.671875 0.746795 +vt 0.666667 0.740385 +vt 0.666667 0.753205 +vt 0.661458 0.750000 +vt 0.677083 0.756410 +vt 0.671875 0.756410 +vt 0.687500 0.753205 +vt 0.682292 0.756410 +vt 0.692708 0.746795 +vt 0.697917 0.746795 +vt 0.692708 0.750000 +vt 0.656250 0.746795 +vt 0.661458 0.756410 +vt 0.666667 0.769231 +vt 0.661458 0.769231 +vt 0.671875 0.769231 +vt 0.687500 0.769231 +vt 0.682292 0.769231 +vt 0.656250 0.756410 +vt 0.656250 0.769231 +vt 0.692708 0.756410 +vt 0.687500 0.756410 +vt 0.697917 0.756410 +vt 0.692708 0.769231 +vt 0.666667 0.756410 +vt 0.677083 0.769231 +vt 0.697917 0.525641 +vt 0.692708 0.512821 +vt 0.697917 0.512821 +vt 0.666667 0.512821 +vt 0.671875 0.512821 +vt 0.682292 0.512821 +vt 0.661458 0.525641 +vt 0.666667 0.525641 +vt 0.677083 0.512821 +vt 0.687500 0.525641 +vt 0.687500 0.512821 +vt 0.656250 0.525641 +vt 0.661458 0.512821 +vt 0.692708 0.525641 +vt 0.520833 0.942308 +vt 0.497396 0.948718 +vt 0.520833 0.948718 +vt 0.401042 0.955128 +vt 0.354167 0.961538 +vt 0.401042 0.961538 +vt 0.497396 0.955128 +vt 0.520833 0.955128 +vt 0.401042 0.948718 +vt 0.354167 0.942308 +vt 0.354167 0.948718 +vt 0.520833 0.935897 +vt 0.497396 0.942308 +vt 0.354167 0.955128 +vt 0.520833 0.961538 +vt 0.497396 0.961538 +vt 0.497396 0.935897 +vt 0.471354 0.942308 +vt 0.471354 0.948718 +vt 0.471354 0.955128 +vt 0.471354 0.961538 +vt 0.471354 0.935897 +vt 0.440104 0.942308 +vt 0.440104 0.948718 +vt 0.440104 0.955128 +vt 0.440104 0.961538 +vt 0.440104 0.935897 +vt 0.401042 0.942308 +vt 0.401042 0.935897 +vt 0.377604 0.910256 +vt 0.354167 0.916667 +vt 0.377604 0.916667 +vt 0.377604 0.923077 +vt 0.354167 0.923077 +vt 0.354167 0.929487 +vt 0.377604 0.929487 +vt 0.354167 0.935897 +vt 0.377604 0.935897 +vt 0.520833 0.916667 +vt 0.473958 0.910256 +vt 0.473958 0.916667 +vt 0.473958 0.923077 +vt 0.520833 0.923077 +vt 0.473958 0.929487 +vt 0.520833 0.929487 +vt 0.520833 0.935897 +vt 0.473958 0.935897 +vt 0.434896 0.916667 +vt 0.434896 0.923077 +vt 0.434896 0.929487 +vt 0.434896 0.935897 +vt 0.403646 0.910256 +vt 0.403646 0.916667 +vt 0.403646 0.923077 +vt 0.403646 0.929487 +vt 0.403646 0.935897 +vt 0.656250 0.891026 +vt 0.609375 0.884615 +vt 0.609375 0.891026 +vt 0.609375 0.897436 +vt 0.656250 0.903846 +vt 0.609375 0.903846 +vt 0.656250 0.910256 +vt 0.609375 0.910256 +vt 0.401042 0.891026 +vt 0.354167 0.884615 +vt 0.354167 0.891026 +vt 0.401042 0.897436 +vt 0.354167 0.897436 +vt 0.401042 0.903846 +vt 0.354167 0.903846 +vt 0.354167 0.910256 +vt 0.484375 0.884615 +vt 0.401042 0.884615 +vt 0.484375 0.897436 +vt 0.484375 0.903846 +vt 0.401042 0.910256 +vt 0.526042 0.891026 +vt 0.484375 0.891026 +vt 0.526042 0.903846 +vt 0.526042 0.910256 +vt 0.484375 0.910256 +vt 0.526042 0.884615 +vt 0.526042 0.897436 +vt 0.781250 0.791667 +vt 0.781250 0.887821 +vt 0.781250 0.945513 +vt 0.781250 0.772436 +vt 0.781250 0.868590 +vt 0.781250 0.926282 +vt 0.781250 0.983974 +vt 0.781250 0.849359 +vt 0.781250 0.810897 +vt 0.781250 0.907051 +vt 0.781250 0.964744 +vt 0.838542 0.826923 +vt 0.838542 0.807692 +vt 0.838542 0.788462 +vt 0.838542 0.769231 +vt 0.838542 1.000000 +vt 0.838542 0.980769 +vt 0.838542 0.961538 +vt 0.838542 0.942308 +vt 0.838542 0.923077 +vt 0.838542 0.903846 +vt 0.838542 0.884615 +vt 0.838542 0.865385 +vt 0.838542 0.846154 +vt 0.901042 0.788462 +vt 0.901042 0.769231 +vt 0.901042 0.884615 +vt 0.901042 0.865385 +vt 0.901042 0.942308 +vt 0.901042 0.923077 +vt 0.901042 1.000000 +vt 0.901042 0.980769 +vt 0.901042 0.846154 +vt 0.901042 0.826923 +vt 0.901042 0.807692 +vt 0.901042 0.903846 +vt 0.901042 0.961538 +vt 0.916667 0.830128 +vt 0.916667 0.823718 +vt 0.916667 0.804487 +vt 0.916667 0.772436 +vt 0.916667 0.983974 +vt 0.916667 0.964744 +vt 0.916667 0.958333 +vt 0.916667 0.926282 +vt 0.916667 0.907051 +vt 0.916667 0.887821 +vt 0.916667 0.868590 +vt 0.916667 0.849359 +vt 0.526042 0.903846 +vt 0.609375 0.910256 +vt 0.526042 0.910256 +vt 0.609375 0.897436 +vt 0.609375 0.903846 +vt 0.526042 0.897436 +vt 0.609375 0.891026 +vt 0.526042 0.884615 +vt 0.526042 0.891026 +vt 0.484375 0.903846 +vt 0.484375 0.910256 +vt 0.484375 0.897436 +vt 0.484375 0.884615 +vt 0.484375 0.891026 +vt 0.401042 0.910256 +vt 0.401042 0.897436 +vt 0.401042 0.903846 +vt 0.401042 0.891026 +vt 0.354167 0.910256 +vt 0.354167 0.897436 +vt 0.354167 0.903846 +vt 0.354167 0.891026 +vt 0.354167 0.884615 +vt 0.656250 0.910256 +vt 0.656250 0.903846 +vt 0.656250 0.891026 +vt 0.656250 0.897436 +vt 0.609375 0.884615 +vt 0.403646 0.935897 +vt 0.377604 0.929487 +vt 0.403646 0.929487 +vt 0.377604 0.923077 +vt 0.403646 0.923077 +vt 0.403646 0.916667 +vt 0.377604 0.910256 +vt 0.403646 0.910256 +vt 0.434896 0.935897 +vt 0.434896 0.929487 +vt 0.434896 0.923077 +vt 0.434896 0.916667 +vt 0.434896 0.910256 +vt 0.473958 0.935897 +vt 0.473958 0.929487 +vt 0.473958 0.923077 +vt 0.473958 0.916667 +vt 0.473958 0.910256 +vt 0.520833 0.935897 +vt 0.520833 0.929487 +vt 0.520833 0.923077 +vt 0.520833 0.916667 +vt 0.520833 0.910256 +vt 0.354167 0.935897 +vt 0.377604 0.935897 +vt 0.354167 0.929487 +vt 0.354167 0.916667 +vt 0.377604 0.916667 +vt 0.354167 0.942308 +vt 0.401042 0.935897 +vt 0.401042 0.942308 +vt 0.401042 0.961538 +vt 0.440104 0.955128 +vt 0.440104 0.961538 +vt 0.401042 0.955128 +vt 0.440104 0.948718 +vt 0.440104 0.942308 +vt 0.440104 0.935897 +vt 0.471354 0.955128 +vt 0.471354 0.961538 +vt 0.471354 0.948718 +vt 0.471354 0.942308 +vt 0.471354 0.935897 +vt 0.497396 0.955128 +vt 0.497396 0.961538 +vt 0.497396 0.948718 +vt 0.497396 0.942308 +vt 0.497396 0.935897 +vt 0.520833 0.961538 +vt 0.520833 0.955128 +vt 0.354167 0.955128 +vt 0.401042 0.948718 +vt 0.520833 0.942308 +vt 0.520833 0.935897 +vt 0.520833 0.948718 +vt 0.354167 0.961538 +vt 0.901042 0.846154 +vt 0.916667 0.862179 +vt 0.901042 0.865385 +vt 0.916667 0.868590 +vt 0.901042 0.884615 +vt 0.916667 0.887821 +vt 0.901042 0.903846 +vt 0.916667 0.907051 +vt 0.901042 0.923077 +vt 0.916667 0.926282 +vt 0.901042 0.942308 +vt 0.916667 0.945513 +vt 0.901042 0.961538 +vt 0.916667 0.977564 +vt 0.901042 0.980769 +vt 0.916667 0.983974 +vt 0.901042 1.000000 +vt 0.901042 0.769231 +vt 0.916667 0.785256 +vt 0.901042 0.788462 +vt 0.916667 0.791667 +vt 0.901042 0.807692 +vt 0.916667 0.823718 +vt 0.901042 0.826923 +vt 0.916667 0.842949 +vt 0.838542 0.961538 +vt 0.838542 0.942308 +vt 0.838542 0.884615 +vt 0.838542 0.788462 +vt 0.838542 0.826923 +vt 0.838542 0.923077 +vt 0.838542 0.903846 +vt 0.838542 0.807692 +vt 0.838542 0.865385 +vt 0.838542 0.846154 +vt 0.838542 0.980769 +vt 0.838542 0.769231 +vt 0.838542 1.000000 +vt 0.781250 0.974359 +vt 0.781250 0.964744 +vt 0.781250 0.907051 +vt 0.781250 0.810897 +vt 0.781250 0.858974 +vt 0.781250 0.849359 +vt 0.781250 0.983974 +vt 0.781250 0.935897 +vt 0.781250 0.926282 +vt 0.781250 0.868590 +vt 0.781250 0.782051 +vt 0.781250 0.772436 +vt 0.781250 0.955128 +vt 0.781250 0.945513 +vt 0.781250 0.887821 +vt 0.781250 0.791667 +vt 0.781250 0.830128 +vt 0.916667 0.810897 +vt 0.916667 0.996795 +vt 0.916667 0.939103 +vt 0.916667 0.881410 +vt 0.916667 0.958333 +vt 0.916667 0.900641 +vt 0.916667 0.804487 +vt 0.916667 0.830128 +vt 0.916667 0.964744 +vt 0.916667 0.919872 +vt 0.734375 0.974359 +vt 0.734375 0.980769 +vt 0.734375 0.955128 +vt 0.734375 0.961538 +vt 0.734375 0.929487 +vt 0.734375 0.987179 +vt 0.734375 0.967949 +vt 0.734375 0.935897 +vt 0.734375 0.942308 +vt 0.734375 0.948718 +vt 0.734375 0.993590 +vt 0.734375 1.000000 +vt 0.781250 0.977564 +vt 0.781250 0.955128 +vt 0.781250 0.958333 +vt 0.781250 0.923077 +vt 0.781250 0.926282 +vt 0.781250 0.983974 +vt 0.781250 0.964744 +vt 0.781250 0.929487 +vt 0.781250 0.932692 +vt 0.781250 0.945513 +vt 0.781250 0.990385 +vt 0.781250 0.971154 +vt 0.781250 0.935897 +vt 0.781250 0.939103 +vt 0.781250 0.951923 +vt 0.781250 0.996795 +vt 0.916667 0.849359 +vt 0.901042 0.865385 +vt 0.901042 0.846154 +vt 0.916667 0.868590 +vt 0.901042 0.884615 +vt 0.916667 0.900641 +vt 0.901042 0.903846 +vt 0.916667 0.919872 +vt 0.901042 0.923077 +vt 0.916667 0.926282 +vt 0.901042 0.942308 +vt 0.916667 0.958333 +vt 0.901042 0.961538 +vt 0.916667 0.964744 +vt 0.901042 0.980769 +vt 0.916667 0.983974 +vt 0.901042 1.000000 +vt 0.916667 0.772436 +vt 0.901042 0.788462 +vt 0.901042 0.769231 +vt 0.916667 0.791667 +vt 0.901042 0.807692 +vt 0.916667 0.823718 +vt 0.901042 0.826923 +vt 0.916667 0.830128 +vt 0.838542 0.942308 +vt 0.838542 0.903846 +vt 0.838542 0.884615 +vt 0.838542 0.788462 +vt 0.838542 0.826923 +vt 0.838542 0.961538 +vt 0.838542 0.807692 +vt 0.838542 0.865385 +vt 0.838542 0.846154 +vt 0.838542 0.980769 +vt 0.838542 0.923077 +vt 0.838542 0.769231 +vt 0.838542 1.000000 +vt 0.781250 0.974359 +vt 0.781250 0.964744 +vt 0.781250 0.907051 +vt 0.781250 0.810897 +vt 0.781250 0.849359 +vt 0.781250 0.983974 +vt 0.781250 0.926282 +vt 0.781250 0.868590 +vt 0.781250 0.772436 +vt 0.781250 0.955128 +vt 0.781250 0.945513 +vt 0.781250 0.897436 +vt 0.781250 0.887821 +vt 0.781250 0.791667 +vt 0.781250 0.830128 +vt 0.916667 0.810897 +vt 0.916667 0.862179 +vt 0.916667 0.996795 +vt 0.916667 0.939103 +vt 0.916667 0.881410 +vt 0.916667 0.785256 +vt 0.916667 0.887821 +vt 0.916667 0.804487 +vt 0.916667 0.842949 +vt 0.916667 0.977564 +vt 0.734375 0.980769 +vt 0.734375 0.961538 +vt 0.734375 0.923077 +vt 0.734375 0.929487 +vt 0.734375 0.987179 +vt 0.734375 0.967949 +vt 0.734375 0.935897 +vt 0.734375 0.948718 +vt 0.734375 0.993590 +vt 0.734375 0.974359 +vt 0.734375 0.942308 +vt 0.734375 0.955128 +vt 0.734375 1.000000 +vt 0.781250 0.974359 +vt 0.781250 0.977564 +vt 0.781250 0.958333 +vt 0.781250 0.926282 +vt 0.781250 0.980769 +vt 0.781250 0.983974 +vt 0.781250 0.964744 +vt 0.781250 0.932692 +vt 0.781250 0.945513 +vt 0.781250 0.990385 +vt 0.781250 0.971154 +vt 0.781250 0.935897 +vt 0.781250 0.939103 +vt 0.781250 0.951923 +vt 0.781250 0.996795 +vt 0.901042 0.846154 +vt 0.916667 0.862179 +vt 0.901042 0.865385 +vt 0.916667 0.868590 +vt 0.901042 0.884615 +vt 0.916667 0.887821 +vt 0.901042 0.903846 +vt 0.916667 0.907051 +vt 0.901042 0.923077 +vt 0.916667 0.926282 +vt 0.901042 0.942308 +vt 0.916667 0.945513 +vt 0.901042 0.961538 +vt 0.916667 0.964744 +vt 0.901042 0.980769 +vt 0.916667 0.983974 +vt 0.901042 1.000000 +vt 0.901042 0.769231 +vt 0.916667 0.785256 +vt 0.901042 0.788462 +vt 0.916667 0.804487 +vt 0.901042 0.807692 +vt 0.916667 0.823718 +vt 0.901042 0.826923 +vt 0.916667 0.842949 +vt 0.838542 0.942308 +vt 0.838542 0.884615 +vt 0.838542 0.788462 +vt 0.838542 0.826923 +vt 0.838542 0.980769 +vt 0.838542 0.961538 +vt 0.838542 0.903846 +vt 0.838542 0.807692 +vt 0.838542 0.846154 +vt 0.838542 0.923077 +vt 0.838542 0.865385 +vt 0.838542 0.769231 +vt 0.781250 0.974359 +vt 0.781250 0.964744 +vt 0.781250 0.907051 +vt 0.781250 0.810897 +vt 0.781250 0.858974 +vt 0.781250 0.849359 +vt 0.781250 0.983974 +vt 0.781250 0.935897 +vt 0.781250 0.926282 +vt 0.781250 0.868590 +vt 0.781250 0.782051 +vt 0.781250 0.772436 +vt 0.781250 0.955128 +vt 0.781250 0.945513 +vt 0.781250 0.887821 +vt 0.781250 0.801282 +vt 0.781250 0.791667 +vt 0.781250 0.839744 +vt 0.781250 0.830128 +vt 0.916667 0.810897 +vt 0.916667 0.849359 +vt 0.916667 0.996795 +vt 0.916667 0.939103 +vt 0.916667 0.881410 +vt 0.916667 0.772436 +vt 0.916667 0.958333 +vt 0.916667 0.900641 +vt 0.916667 0.977564 +vt 0.916667 0.919872 +vt 0.734375 0.974359 +vt 0.734375 0.980769 +vt 0.734375 0.955128 +vt 0.734375 0.961538 +vt 0.734375 0.923077 +vt 0.734375 0.929487 +vt 0.734375 0.987179 +vt 0.734375 0.967949 +vt 0.734375 0.935897 +vt 0.734375 0.948718 +vt 0.734375 0.993590 +vt 0.734375 0.942308 +vt 0.734375 1.000000 +vt 0.781250 0.977564 +vt 0.781250 0.958333 +vt 0.781250 0.926282 +vt 0.781250 0.983974 +vt 0.781250 0.964744 +vt 0.781250 0.932692 +vt 0.781250 0.945513 +vt 0.781250 0.990385 +vt 0.781250 0.967949 +vt 0.781250 0.971154 +vt 0.781250 0.935897 +vt 0.781250 0.939103 +vt 0.781250 0.951923 +vt 0.781250 0.993590 +vt 0.781250 0.996795 +vt 0.916667 0.849359 +vt 0.901042 0.865385 +vt 0.901042 0.846154 +vt 0.916667 0.868590 +vt 0.901042 0.884615 +vt 0.916667 0.900641 +vt 0.901042 0.903846 +vt 0.916667 0.919872 +vt 0.901042 0.923077 +vt 0.916667 0.926282 +vt 0.901042 0.942308 +vt 0.916667 0.958333 +vt 0.901042 0.961538 +vt 0.916667 0.964744 +vt 0.901042 0.980769 +vt 0.916667 0.983974 +vt 0.901042 1.000000 +vt 0.916667 0.772436 +vt 0.901042 0.788462 +vt 0.901042 0.769231 +vt 0.916667 0.791667 +vt 0.901042 0.807692 +vt 0.916667 0.823718 +vt 0.901042 0.826923 +vt 0.916667 0.830128 +vt 0.838542 0.942308 +vt 0.838542 0.884615 +vt 0.838542 0.788462 +vt 0.838542 0.826923 +vt 0.838542 0.961538 +vt 0.838542 0.903846 +vt 0.838542 0.807692 +vt 0.838542 0.865385 +vt 0.838542 0.846154 +vt 0.838542 0.980769 +vt 0.838542 0.923077 +vt 0.838542 0.769231 +vt 0.781250 0.974359 +vt 0.781250 0.964744 +vt 0.781250 0.907051 +vt 0.781250 0.810897 +vt 0.781250 0.849359 +vt 0.781250 0.983974 +vt 0.781250 0.935897 +vt 0.781250 0.926282 +vt 0.781250 0.878205 +vt 0.781250 0.868590 +vt 0.781250 0.782051 +vt 0.781250 0.772436 +vt 0.781250 0.945513 +vt 0.781250 0.887821 +vt 0.781250 0.791667 +vt 0.781250 0.839744 +vt 0.781250 0.830128 +vt 0.916667 0.862179 +vt 0.916667 0.996795 +vt 0.916667 0.939103 +vt 0.916667 0.881410 +vt 0.916667 0.785256 +vt 0.916667 0.945513 +vt 0.916667 0.887821 +vt 0.916667 0.804487 +vt 0.916667 0.842949 +vt 0.916667 0.977564 +vt 0.734375 0.974359 +vt 0.734375 0.980769 +vt 0.734375 0.955128 +vt 0.734375 0.961538 +vt 0.734375 0.923077 +vt 0.734375 0.929487 +vt 0.734375 0.987179 +vt 0.734375 0.967949 +vt 0.734375 0.935897 +vt 0.734375 0.942308 +vt 0.734375 0.948718 +vt 0.734375 0.993590 +vt 0.734375 1.000000 +vt 0.781250 0.977564 +vt 0.781250 0.955128 +vt 0.781250 0.958333 +vt 0.781250 0.926282 +vt 0.781250 0.983974 +vt 0.781250 0.964744 +vt 0.781250 0.932692 +vt 0.781250 0.942308 +vt 0.781250 0.945513 +vt 0.781250 0.990385 +vt 0.781250 0.967949 +vt 0.781250 0.971154 +vt 0.781250 0.935897 +vt 0.781250 0.939103 +vt 0.781250 0.951923 +vt 0.781250 0.993590 +vt 0.781250 0.996795 +vt 0.781250 0.830128 +vt 0.916667 0.810897 +vt 0.916667 0.862179 +vt 0.916667 0.996795 +vt 0.916667 0.939103 +vt 0.916667 0.881410 +vt 0.916667 0.785256 +vt 0.916667 0.945513 +vt 0.916667 0.900641 +vt 0.916667 0.791667 +vt 0.916667 0.842949 +vt 0.916667 0.977564 +vt 0.916667 0.919872 +vt 0.734375 0.974359 +vt 0.734375 0.980769 +vt 0.734375 0.955128 +vt 0.734375 0.961538 +vt 0.734375 0.923077 +vt 0.734375 0.929487 +vt 0.734375 0.987179 +vt 0.734375 0.967949 +vt 0.734375 0.935897 +vt 0.734375 0.942308 +vt 0.734375 0.948718 +vt 0.734375 0.993590 +vt 0.734375 1.000000 +vt 0.781250 0.977564 +vt 0.781250 0.958333 +vt 0.781250 0.926282 +vt 0.781250 0.983974 +vt 0.781250 0.964744 +vt 0.781250 0.932692 +vt 0.781250 0.945513 +vt 0.781250 0.990385 +vt 0.781250 0.971154 +vt 0.781250 0.935897 +vt 0.781250 0.939103 +vt 0.781250 0.951923 +vt 0.781250 0.996795 +vt 0.869792 0.807692 +vt 0.869792 0.826923 +vt 0.869792 0.846154 +vt 0.869792 0.865385 +vt 0.869792 0.980769 +vt 0.869792 1.000000 +vt 0.869792 0.923077 +vt 0.869792 0.942308 +vt 0.869792 0.884615 +vt 0.869792 0.769231 +vt 0.869792 0.788462 +vt 0.869792 0.961538 +vt 0.869792 0.903846 +vt 0.734375 0.974359 +vt 0.734375 0.980769 +vt 0.734375 0.955128 +vt 0.734375 0.961538 +vt 0.734375 0.923077 +vt 0.734375 0.929487 +vt 0.734375 0.987179 +vt 0.734375 0.967949 +vt 0.734375 0.935897 +vt 0.734375 0.942308 +vt 0.734375 0.948718 +vt 0.734375 0.993590 +vt 0.734375 1.000000 +vt 0.781250 0.977564 +vt 0.781250 0.958333 +vt 0.781250 0.926282 +vt 0.781250 0.983974 +vt 0.781250 0.964744 +vt 0.781250 0.932692 +vt 0.781250 0.945513 +vt 0.781250 0.990385 +vt 0.781250 0.971154 +vt 0.781250 0.939103 +vt 0.781250 0.951923 +vt 0.781250 0.996795 +vt 0.520833 0.942308 +vt 0.497396 0.948718 +vt 0.520833 0.948718 +vt 0.401042 0.955128 +vt 0.354167 0.961538 +vt 0.401042 0.961538 +vt 0.497396 0.955128 +vt 0.520833 0.955128 +vt 0.401042 0.948718 +vt 0.354167 0.942308 +vt 0.354167 0.948718 +vt 0.520833 0.935897 +vt 0.497396 0.942308 +vt 0.354167 0.955128 +vt 0.520833 0.961538 +vt 0.497396 0.961538 +vt 0.497396 0.935897 +vt 0.471354 0.942308 +vt 0.471354 0.948718 +vt 0.471354 0.955128 +vt 0.471354 0.961538 +vt 0.471354 0.935897 +vt 0.440104 0.942308 +vt 0.440104 0.948718 +vt 0.440104 0.955128 +vt 0.440104 0.961538 +vt 0.440104 0.935897 +vt 0.401042 0.942308 +vt 0.401042 0.935897 +vt 0.377604 0.910256 +vt 0.354167 0.916667 +vt 0.377604 0.916667 +vt 0.377604 0.923077 +vt 0.354167 0.923077 +vt 0.354167 0.929487 +vt 0.377604 0.929487 +vt 0.354167 0.935897 +vt 0.377604 0.935897 +vt 0.520833 0.916667 +vt 0.473958 0.910256 +vt 0.473958 0.916667 +vt 0.473958 0.923077 +vt 0.520833 0.923077 +vt 0.473958 0.929487 +vt 0.520833 0.929487 +vt 0.520833 0.935897 +vt 0.473958 0.935897 +vt 0.434896 0.916667 +vt 0.434896 0.923077 +vt 0.434896 0.929487 +vt 0.434896 0.935897 +vt 0.403646 0.910256 +vt 0.403646 0.916667 +vt 0.403646 0.923077 +vt 0.403646 0.929487 +vt 0.403646 0.935897 +vt 0.656250 0.891026 +vt 0.609375 0.884615 +vt 0.609375 0.891026 +vt 0.609375 0.897436 +vt 0.656250 0.903846 +vt 0.609375 0.903846 +vt 0.656250 0.910256 +vt 0.609375 0.910256 +vt 0.401042 0.891026 +vt 0.354167 0.884615 +vt 0.354167 0.891026 +vt 0.401042 0.897436 +vt 0.354167 0.897436 +vt 0.401042 0.903846 +vt 0.354167 0.903846 +vt 0.354167 0.910256 +vt 0.484375 0.884615 +vt 0.401042 0.884615 +vt 0.484375 0.897436 +vt 0.484375 0.903846 +vt 0.401042 0.910256 +vt 0.526042 0.891026 +vt 0.484375 0.891026 +vt 0.526042 0.903846 +vt 0.526042 0.910256 +vt 0.484375 0.910256 +vt 0.526042 0.884615 +vt 0.526042 0.897436 +vt 0.916667 0.849359 +vt 0.901042 0.865385 +vt 0.901042 0.846154 +vt 0.916667 0.868590 +vt 0.901042 0.884615 +vt 0.916667 0.900641 +vt 0.901042 0.903846 +vt 0.916667 0.919872 +vt 0.901042 0.923077 +vt 0.916667 0.926282 +vt 0.901042 0.942308 +vt 0.916667 0.945513 +vt 0.901042 0.961538 +vt 0.916667 0.977564 +vt 0.901042 0.980769 +vt 0.916667 0.983974 +vt 0.901042 1.000000 +vt 0.901042 0.769231 +vt 0.916667 0.785256 +vt 0.901042 0.788462 +vt 0.916667 0.791667 +vt 0.901042 0.807692 +vt 0.916667 0.823718 +vt 0.901042 0.826923 +vt 0.916667 0.842949 +vt 0.838542 0.942308 +vt 0.838542 0.903846 +vt 0.838542 0.884615 +vt 0.838542 0.807692 +vt 0.838542 0.788462 +vt 0.838542 0.846154 +vt 0.838542 0.826923 +vt 0.838542 0.961538 +vt 0.838542 0.865385 +vt 0.838542 1.000000 +vt 0.838542 0.980769 +vt 0.838542 0.923077 +vt 0.838542 0.769231 +vt 0.781250 0.974359 +vt 0.781250 0.964744 +vt 0.781250 0.907051 +vt 0.781250 0.810897 +vt 0.781250 0.849359 +vt 0.781250 0.983974 +vt 0.781250 0.935897 +vt 0.781250 0.926282 +vt 0.781250 0.878205 +vt 0.781250 0.868590 +vt 0.781250 0.772436 +vt 0.781250 0.955128 +vt 0.781250 0.945513 +vt 0.781250 0.887821 +vt 0.781250 0.801282 +vt 0.781250 0.791667 +vt 0.781250 0.830128 +vt 0.916667 0.810897 +vt 0.916667 0.862179 +vt 0.916667 0.996795 +vt 0.916667 0.939103 +vt 0.916667 0.881410 +vt 0.916667 0.958333 +vt 0.916667 0.804487 +vt 0.916667 0.830128 +vt 0.916667 0.964744 +vt 0.916667 0.907051 +vt 0.734375 0.974359 +vt 0.734375 0.980769 +vt 0.734375 0.955128 +vt 0.734375 0.961538 +vt 0.734375 0.929487 +vt 0.734375 0.987179 +vt 0.734375 0.967949 +vt 0.734375 0.935897 +vt 0.734375 0.942308 +vt 0.734375 0.948718 +vt 0.734375 0.993590 +vt 0.734375 1.000000 +vt 0.781250 0.977564 +vt 0.781250 0.958333 +vt 0.781250 0.923077 +vt 0.781250 0.926282 +vt 0.781250 0.983974 +vt 0.781250 0.964744 +vt 0.781250 0.932692 +vt 0.781250 0.942308 +vt 0.781250 0.945513 +vt 0.781250 0.990385 +vt 0.781250 0.967949 +vt 0.781250 0.971154 +vt 0.781250 0.935897 +vt 0.781250 0.939103 +vt 0.781250 0.951923 +vt 0.781250 0.996795 +vt 0.901042 0.846154 +vt 0.916667 0.862179 +vt 0.901042 0.865385 +vt 0.916667 0.881410 +vt 0.901042 0.884615 +vt 0.916667 0.900641 +vt 0.901042 0.903846 +vt 0.916667 0.919872 +vt 0.901042 0.923077 +vt 0.916667 0.926282 +vt 0.901042 0.942308 +vt 0.916667 0.945513 +vt 0.901042 0.961538 +vt 0.916667 0.964744 +vt 0.901042 0.980769 +vt 0.916667 0.983974 +vt 0.901042 1.000000 +vt 0.916667 0.772436 +vt 0.901042 0.788462 +vt 0.901042 0.769231 +vt 0.916667 0.791667 +vt 0.901042 0.807692 +vt 0.916667 0.823718 +vt 0.901042 0.826923 +vt 0.916667 0.830128 +vt 0.838542 0.942308 +vt 0.838542 0.903846 +vt 0.838542 0.884615 +vt 0.838542 0.807692 +vt 0.838542 0.788462 +vt 0.838542 0.826923 +vt 0.838542 0.980769 +vt 0.838542 0.961538 +vt 0.838542 0.865385 +vt 0.838542 0.846154 +vt 0.838542 1.000000 +vt 0.838542 0.923077 +vt 0.838542 0.769231 +vt 0.781250 0.974359 +vt 0.781250 0.964744 +vt 0.781250 0.907051 +vt 0.781250 0.810897 +vt 0.781250 0.849359 +vt 0.781250 0.993590 +vt 0.781250 0.983974 +vt 0.781250 0.935897 +vt 0.781250 0.926282 +vt 0.781250 0.868590 +vt 0.781250 0.782051 +vt 0.781250 0.772436 +vt 0.781250 0.945513 +vt 0.781250 0.897436 +vt 0.781250 0.887821 +vt 0.781250 0.791667 +vt 0.781250 0.839744 +vt 0.781250 0.830128 +vt 0.916667 0.810897 +vt 0.916667 0.849359 +vt 0.916667 0.996795 +vt 0.916667 0.939103 +vt 0.916667 0.785256 +vt 0.916667 0.958333 +vt 0.916667 0.887821 +vt 0.916667 0.804487 +vt 0.916667 0.842949 +vt 0.916667 0.977564 +vt 0.916667 0.907051 +vt 0.734375 0.980769 +vt 0.734375 0.961538 +vt 0.734375 0.923077 +vt 0.734375 0.929487 +vt 0.734375 0.987179 +vt 0.734375 0.967949 +vt 0.734375 0.935897 +vt 0.734375 0.942308 +vt 0.734375 0.948718 +vt 0.734375 0.993590 +vt 0.734375 0.974359 +vt 0.734375 0.955128 +vt 0.734375 1.000000 +vt 0.781250 0.974359 +vt 0.781250 0.977564 +vt 0.781250 0.958333 +vt 0.781250 0.926282 +vt 0.781250 0.980769 +vt 0.781250 0.983974 +vt 0.781250 0.964744 +vt 0.781250 0.932692 +vt 0.781250 0.942308 +vt 0.781250 0.945513 +vt 0.781250 0.990385 +vt 0.781250 0.967949 +vt 0.781250 0.971154 +vt 0.781250 0.935897 +vt 0.781250 0.939103 +vt 0.781250 0.951923 +vt 0.781250 0.996795 +vt 0.901042 0.846154 +vt 0.916667 0.862179 +vt 0.901042 0.865385 +vt 0.916667 0.868590 +vt 0.901042 0.884615 +vt 0.916667 0.900641 +vt 0.901042 0.903846 +vt 0.916667 0.907051 +vt 0.901042 0.923077 +vt 0.916667 0.926282 +vt 0.901042 0.942308 +vt 0.916667 0.945513 +vt 0.901042 0.961538 +vt 0.916667 0.964744 +vt 0.901042 0.980769 +vt 0.916667 0.983974 +vt 0.901042 1.000000 +vt 0.901042 0.769231 +vt 0.916667 0.785256 +vt 0.901042 0.788462 +vt 0.916667 0.804487 +vt 0.901042 0.807692 +vt 0.916667 0.823718 +vt 0.901042 0.826923 +vt 0.916667 0.842949 +vt 0.838542 0.942308 +vt 0.838542 0.884615 +vt 0.838542 0.788462 +vt 0.838542 0.826923 +vt 0.838542 0.980769 +vt 0.838542 0.961538 +vt 0.838542 0.903846 +vt 0.838542 0.807692 +vt 0.838542 0.846154 +vt 0.838542 0.923077 +vt 0.838542 0.865385 +vt 0.838542 0.769231 +vt 0.781250 0.974359 +vt 0.781250 0.964744 +vt 0.781250 0.907051 +vt 0.781250 0.810897 +vt 0.781250 0.849359 +vt 0.781250 0.983974 +vt 0.781250 0.926282 +vt 0.781250 0.878205 +vt 0.781250 0.868590 +vt 0.781250 0.772436 +vt 0.781250 0.955128 +vt 0.781250 0.945513 +vt 0.781250 0.897436 +vt 0.781250 0.887821 +vt 0.781250 0.791667 +vt 0.781250 0.839744 +vt 0.781250 0.830128 +vt 0.916667 0.996795 +vt 0.916667 0.939103 +vt 0.916667 0.881410 +vt 0.916667 0.772436 +vt 0.916667 0.958333 +vt 0.916667 0.830128 +vt 0.916667 0.977564 +vt 0.916667 0.919872 +vt 0.734375 0.974359 +vt 0.734375 0.980769 +vt 0.734375 0.955128 +vt 0.734375 0.961538 +vt 0.734375 0.929487 +vt 0.734375 0.987179 +vt 0.734375 0.967949 +vt 0.734375 0.935897 +vt 0.734375 0.942308 +vt 0.734375 0.948718 +vt 0.734375 0.993590 +vt 0.734375 1.000000 +vt 0.781250 0.977564 +vt 0.781250 0.958333 +vt 0.781250 0.926282 +vt 0.781250 0.983974 +vt 0.781250 0.964744 +vt 0.781250 0.932692 +vt 0.781250 0.945513 +vt 0.781250 0.990385 +vt 0.781250 0.967949 +vt 0.781250 0.971154 +vt 0.781250 0.935897 +vt 0.781250 0.939103 +vt 0.781250 0.951923 +vt 0.781250 0.996795 +vt 0.901042 0.846154 +vt 0.916667 0.862179 +vt 0.901042 0.865385 +vt 0.916667 0.881410 +vt 0.901042 0.884615 +vt 0.916667 0.900641 +vt 0.901042 0.903846 +vt 0.916667 0.907051 +vt 0.901042 0.923077 +vt 0.916667 0.939103 +vt 0.901042 0.942308 +vt 0.916667 0.958333 +vt 0.901042 0.961538 +vt 0.916667 0.977564 +vt 0.901042 0.980769 +vt 0.916667 0.983974 +vt 0.901042 1.000000 +vt 0.916667 0.772436 +vt 0.901042 0.788462 +vt 0.901042 0.769231 +vt 0.916667 0.791667 +vt 0.901042 0.807692 +vt 0.916667 0.823718 +vt 0.901042 0.826923 +vt 0.916667 0.842949 +vt 0.838542 0.942308 +vt 0.838542 0.903846 +vt 0.838542 0.884615 +vt 0.838542 0.788462 +vt 0.838542 0.826923 +vt 0.838542 0.980769 +vt 0.838542 0.961538 +vt 0.838542 0.807692 +vt 0.838542 0.846154 +vt 0.838542 1.000000 +vt 0.838542 0.923077 +vt 0.838542 0.865385 +vt 0.838542 0.769231 +vt 0.781250 0.974359 +vt 0.781250 0.964744 +vt 0.781250 0.907051 +vt 0.781250 0.810897 +vt 0.781250 0.849359 +vt 0.781250 0.983974 +vt 0.781250 0.935897 +vt 0.781250 0.926282 +vt 0.781250 0.878205 +vt 0.781250 0.868590 +vt 0.781250 0.782051 +vt 0.781250 0.772436 +vt 0.781250 0.955128 +vt 0.781250 0.945513 +vt 0.781250 0.897436 +vt 0.781250 0.887821 +vt 0.781250 0.791667 +vt 0.781250 0.839744 +vt 0.781250 0.830128 +vt 0.916667 0.810897 +vt 0.916667 0.849359 +vt 0.916667 0.996795 +vt 0.916667 0.785256 +vt 0.916667 0.887821 +vt 0.916667 0.804487 +vt 0.916667 0.964744 +vt 0.916667 0.919872 +vt 0.734375 0.974359 +vt 0.734375 0.980769 +vt 0.734375 0.955128 +vt 0.734375 0.961538 +vt 0.734375 0.923077 +vt 0.734375 0.929487 +vt 0.734375 0.987179 +vt 0.734375 0.967949 +vt 0.734375 0.935897 +vt 0.734375 0.942308 +vt 0.734375 0.948718 +vt 0.734375 0.993590 +vt 0.734375 1.000000 +vt 0.781250 0.977564 +vt 0.781250 0.955128 +vt 0.781250 0.958333 +vt 0.781250 0.926282 +vt 0.781250 0.983974 +vt 0.781250 0.964744 +vt 0.781250 0.932692 +vt 0.781250 0.942308 +vt 0.781250 0.945513 +vt 0.781250 0.990385 +vt 0.781250 0.967949 +vt 0.781250 0.971154 +vt 0.781250 0.935897 +vt 0.781250 0.939103 +vt 0.781250 0.951923 +vt 0.781250 0.996795 +vt 0.250000 0.320513 +vt 0.250000 0.782051 +vt 0.250000 0.371795 +vt 0.250000 0.423077 +vt 0.250000 0.884615 +vt 0.250000 0.525641 +vt 0.250000 0.474359 +vt 0.250000 0.115385 +vt 0.250000 0.576923 +vt 0.250000 0.166667 +vt 0.250000 0.628205 +vt 0.250000 0.217949 +vt 0.250000 0.679487 +vt 0.250000 0.269231 +vt 0.250000 0.730769 +vt -0.000000 0.653846 +vt 0.000000 0.243590 +vt 0.000000 0.705128 +vt -0.000000 0.294872 +vt -0.000000 0.756410 +vt -0.000000 0.346154 +vt -0.000000 0.807692 +vt -0.000000 0.397436 +vt -0.000000 0.448718 +vt -0.000000 0.910256 +vt -0.000000 0.551282 +vt 0.000000 0.500000 +vt -0.000000 0.141026 +vt -0.000000 0.602564 +vt 0.000000 0.192308 +vt 0.317708 0.717949 +vt 0.468750 0.102564 +vt 0.557292 0.717949 +vt 0.468750 0.102564 +vt 0.635417 0.564103 +vt 0.635417 0.564103 +vt 0.468750 0.871795 +vt 0.468750 0.496795 +vt 0.364583 0.410256 +vt 0.364583 0.785256 +vt 0.354167 0.948718 +vt 0.354167 0.935897 +vt 0.354167 0.910256 +vt 0.354167 0.923077 +vt 0.656250 0.884615 +vt 0.401042 0.884615 +vt 0.812500 0.730769 +vt 0.812500 0.711538 +vt 0.812500 0.663462 +vt 0.812500 0.586538 +vt 0.812500 0.567308 +vt 0.812500 0.519231 +vt 0.812500 0.442308 +vt 0.812500 0.423077 +vt 0.812500 0.346154 +vt 0.812500 0.298077 +vt 0.812500 0.250000 +vt 0.812500 0.201923 +vt 0.812500 0.182692 +vt 0.812500 0.105769 +vt 0.812500 0.057692 +vt 0.812500 0.009615 +vt 0.742673 0.917238 +vt 0.674546 0.900559 +vt 0.718750 0.923094 +vt 0.694827 0.917238 +vt 0.660994 0.875598 +vt 0.656236 0.846154 +vt 0.660995 0.816710 +vt 0.694827 0.775070 +vt 0.718750 0.769213 +vt 0.742673 0.775070 +vt 0.776506 0.816710 +vt 0.781264 0.846154 +vt 0.776505 0.875598 +vt 1.000000 0.009615 +vt 1.000000 0.730769 +vt 1.000000 0.442308 +vt 1.000000 0.394231 +vt 1.000000 0.346154 +vt 1.000000 0.298077 +vt 1.000000 0.250000 +vt 1.000000 0.201923 +vt 1.000000 0.105769 +vt 1.000000 0.057692 +vt 0.694827 0.917238 +vt 0.656236 0.846154 +vt 0.674546 0.900559 +vt 0.660995 0.875598 +vt 0.660995 0.816710 +vt 0.674546 0.791749 +vt 0.694827 0.775070 +vt 0.742673 0.775070 +vt 0.762954 0.791749 +vt 0.776506 0.816710 +vt 0.776506 0.875598 +vt 0.762954 0.900559 +vt 0.742673 0.917238 +vt 0.916667 0.907051 +vt 0.781250 0.974359 +vt 0.781250 0.916667 +vt 0.781250 0.820513 +vt 0.781250 0.858974 +vt 0.781250 0.993590 +vt 0.781250 0.935897 +vt 0.781250 0.878205 +vt 0.781250 0.782051 +vt 0.781250 0.955128 +vt 0.781250 0.897436 +vt 0.781250 0.801282 +vt 0.781250 0.839744 +vt 0.781250 0.974359 +vt 0.781250 0.955128 +vt 0.781250 0.923077 +vt 0.781250 0.980769 +vt 0.781250 0.961538 +vt 0.781250 0.929487 +vt 0.781250 0.942308 +vt 0.781250 0.987179 +vt 0.781250 0.967949 +vt 0.781250 0.948718 +vt 0.781250 0.993590 +vt 0.781250 0.974359 +vt 0.781250 0.955128 +vt 0.781250 0.923077 +vt 0.781250 0.980769 +vt 0.781250 0.961538 +vt 0.781250 0.929487 +vt 0.781250 0.942308 +vt 0.781250 0.987179 +vt 0.781250 0.967949 +vt 0.781250 0.935897 +vt 0.781250 0.948718 +vt 0.781250 0.993590 +vt 0.656250 0.737179 +vt 0.697917 0.756410 +vt 0.656250 0.512821 +vt 0.656250 0.737179 +vt 0.697917 0.756410 +vt 0.656250 0.512821 +vt 0.656250 0.737179 +vt 0.697917 0.756410 +vt 0.656250 0.512821 +vt 0.656250 0.737179 +vt 0.697917 0.756410 +vt 0.656250 0.512821 +vt 0.656250 0.737179 +vt 0.697917 0.756410 +vt 0.656250 0.512821 +vt 0.656250 0.737179 +vt 0.697917 0.756410 +vt 0.656250 0.512821 +vt 0.656250 0.737179 +vt 0.697917 0.756410 +vt 0.656250 0.512821 +vt 0.656250 0.737179 +vt 0.697917 0.769231 +vt 0.656250 0.512821 +vt 0.354167 0.935897 +vt 0.354167 0.910256 +vt 0.520833 0.910256 +vt 0.434896 0.910256 +vt 0.656250 0.884615 +vt 0.656250 0.897436 +vt 0.781250 0.801282 +vt 0.781250 0.897436 +vt 0.781250 0.955128 +vt 0.781250 0.782051 +vt 0.781250 0.878205 +vt 0.781250 0.935897 +vt 0.781250 0.993590 +vt 0.781250 0.858974 +vt 0.781250 0.820513 +vt 0.781250 0.916667 +vt 0.781250 0.974359 +vt 0.401042 0.884615 +vt 0.656250 0.884615 +vt 0.354167 0.923077 +vt 0.354167 0.910256 +vt 0.354167 0.935897 +vt 0.354167 0.948718 +vt 0.916667 0.849359 +vt 0.916667 0.772436 +vt 0.781250 0.916667 +vt 0.781250 0.820513 +vt 0.781250 0.993590 +vt 0.781250 0.878205 +vt 0.781250 0.897436 +vt 0.781250 0.801282 +vt 0.781250 0.839744 +vt 0.734375 0.923077 +vt 0.781250 0.974359 +vt 0.781250 0.980769 +vt 0.781250 0.961538 +vt 0.781250 0.942308 +vt 0.781250 0.987179 +vt 0.781250 0.967949 +vt 0.781250 0.948718 +vt 0.781250 0.993590 +vt 0.916667 0.907051 +vt 0.916667 0.945513 +vt 0.781250 0.916667 +vt 0.781250 0.820513 +vt 0.781250 0.858974 +vt 0.781250 0.993590 +vt 0.781250 0.935897 +vt 0.781250 0.878205 +vt 0.781250 0.782051 +vt 0.781250 0.801282 +vt 0.781250 0.839744 +vt 0.781250 0.955128 +vt 0.781250 0.923077 +vt 0.781250 0.961538 +vt 0.781250 0.929487 +vt 0.781250 0.942308 +vt 0.781250 0.987179 +vt 0.781250 0.967949 +vt 0.781250 0.948718 +vt 0.781250 0.993590 +vt 0.916667 0.791667 +vt 0.916667 0.830128 +vt 0.838542 1.000000 +vt 0.781250 0.916667 +vt 0.781250 0.820513 +vt 0.781250 0.993590 +vt 0.781250 0.878205 +vt 0.781250 0.897436 +vt 0.781250 0.974359 +vt 0.781250 0.955128 +vt 0.781250 0.923077 +vt 0.781250 0.980769 +vt 0.781250 0.961538 +vt 0.781250 0.929487 +vt 0.781250 0.942308 +vt 0.781250 0.987179 +vt 0.781250 0.948718 +vt 0.916667 0.907051 +vt 0.916667 0.810897 +vt 0.838542 1.000000 +vt 0.781250 0.916667 +vt 0.781250 0.820513 +vt 0.781250 0.858974 +vt 0.781250 0.993590 +vt 0.781250 0.955128 +vt 0.781250 0.897436 +vt 0.781250 0.801282 +vt 0.781250 0.974359 +vt 0.781250 0.923077 +vt 0.781250 0.980769 +vt 0.781250 0.961538 +vt 0.781250 0.929487 +vt 0.781250 0.987179 +vt 0.781250 0.948718 +vt 0.781250 0.839744 +vt 0.781250 0.974359 +vt 0.781250 0.955128 +vt 0.781250 0.923077 +vt 0.781250 0.980769 +vt 0.781250 0.961538 +vt 0.781250 0.929487 +vt 0.781250 0.942308 +vt 0.781250 0.987179 +vt 0.781250 0.967949 +vt 0.781250 0.948718 +vt 0.781250 0.993590 +vt 0.781250 0.974359 +vt 0.781250 0.955128 +vt 0.781250 0.923077 +vt 0.781250 0.980769 +vt 0.781250 0.961538 +vt 0.781250 0.929487 +vt 0.781250 0.942308 +vt 0.781250 0.987179 +vt 0.781250 0.967949 +vt 0.781250 0.935897 +vt 0.781250 0.948718 +vt 0.781250 0.993590 +vt 0.354167 0.935897 +vt 0.354167 0.910256 +vt 0.520833 0.910256 +vt 0.434896 0.910256 +vt 0.656250 0.884615 +vt 0.656250 0.897436 +vt 0.916667 0.887821 +vt 0.916667 0.772436 +vt 0.781250 0.916667 +vt 0.781250 0.820513 +vt 0.781250 0.858974 +vt 0.781250 0.993590 +vt 0.781250 0.782051 +vt 0.781250 0.897436 +vt 0.781250 0.839744 +vt 0.734375 0.923077 +vt 0.781250 0.974359 +vt 0.781250 0.955128 +vt 0.781250 0.980769 +vt 0.781250 0.961538 +vt 0.781250 0.929487 +vt 0.781250 0.987179 +vt 0.781250 0.948718 +vt 0.781250 0.993590 +vt 0.916667 0.868590 +vt 0.781250 0.916667 +vt 0.781250 0.820513 +vt 0.781250 0.858974 +vt 0.781250 0.878205 +vt 0.781250 0.955128 +vt 0.781250 0.801282 +vt 0.781250 0.955128 +vt 0.781250 0.923077 +vt 0.781250 0.961538 +vt 0.781250 0.929487 +vt 0.781250 0.987179 +vt 0.781250 0.948718 +vt 0.781250 0.993590 +vt 0.916667 0.849359 +vt 0.916667 0.887821 +vt 0.916667 0.791667 +vt 0.916667 0.810897 +vt 0.838542 1.000000 +vt 0.781250 0.916667 +vt 0.781250 0.820513 +vt 0.781250 0.858974 +vt 0.781250 0.993590 +vt 0.781250 0.935897 +vt 0.781250 0.782051 +vt 0.781250 0.801282 +vt 0.734375 0.923077 +vt 0.781250 0.974359 +vt 0.781250 0.955128 +vt 0.781250 0.923077 +vt 0.781250 0.980769 +vt 0.781250 0.961538 +vt 0.781250 0.929487 +vt 0.781250 0.942308 +vt 0.781250 0.987179 +vt 0.781250 0.948718 +vt 0.781250 0.993590 +vt 0.916667 0.868590 +vt 0.916667 0.926282 +vt 0.916667 0.945513 +vt 0.916667 0.830128 +vt 0.781250 0.916667 +vt 0.781250 0.820513 +vt 0.781250 0.858974 +vt 0.781250 0.993590 +vt 0.781250 0.801282 +vt 0.781250 0.974359 +vt 0.781250 0.923077 +vt 0.781250 0.980769 +vt 0.781250 0.961538 +vt 0.781250 0.929487 +vt 0.781250 0.987179 +vt 0.781250 0.948718 +vt 0.781250 0.993590 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 0.7071 0.7071 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -0.7071 0.7071 +vn 0.3827 0.9239 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.3827 -0.9239 0.0000 +vn -0.7071 0.7071 0.0000 +vn -0.3827 -0.9239 0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn -0.3827 0.9239 0.0000 +vn 0.1876 -0.7947 0.5774 +vn 0.6071 -0.7947 0.0000 +vn -0.4911 -0.7947 0.3568 +vn -0.4911 -0.7947 -0.3568 +vn 0.1876 -0.7947 -0.5774 +vn 0.9822 -0.1876 0.0000 +vn 0.3035 -0.1876 0.9342 +vn -0.7946 -0.1876 0.5774 +vn -0.7946 -0.1876 -0.5774 +vn 0.3035 -0.1876 -0.9342 +vn 0.7946 0.1876 0.5774 +vn -0.3035 0.1876 0.9342 +vn -0.9822 0.1876 0.0000 +vn -0.3035 0.1876 -0.9342 +vn 0.7946 0.1876 -0.5774 +vn 0.4911 0.7947 0.3568 +vn -0.1876 0.7947 0.5774 +vn -0.6071 0.7947 0.0000 +vn -0.1876 0.7947 -0.5774 +vn 0.4911 0.7947 -0.3568 +vn 0.7500 -0.4330 -0.5000 +vn -0.7500 0.4330 0.5000 +vn 0.7500 -0.4330 0.5000 +vn -0.7500 0.4330 -0.5000 +vn 0.7500 0.4330 -0.5000 +vn -0.7500 -0.4330 0.5000 +vn 0.7500 0.4330 0.5000 +vn -0.7500 -0.4330 -0.5000 +vn 0.0000 -0.9303 -0.3668 +vn 0.3560 -0.8595 0.3668 +vn 0.0000 -0.9303 0.3668 +vn 0.6578 0.6578 -0.3668 +vn 0.3560 0.8595 0.3668 +vn 0.6578 0.6578 0.3668 +vn -0.3560 0.8595 -0.3668 +vn -0.6578 0.6578 0.3668 +vn -0.3560 0.8595 0.3668 +vn -0.3560 -0.8595 -0.3668 +vn -0.3560 -0.8595 0.3668 +vn 0.0000 0.9303 -0.3668 +vn 0.0000 0.9303 0.3668 +vn 0.7071 0.0000 -0.7071 +vn 0.8595 0.3560 -0.3668 +vn 0.9303 -0.0000 -0.3668 +vn 0.5000 0.5000 -0.7071 +vn 0.3560 0.8595 -0.3668 +vn -0.2706 0.6533 -0.7071 +vn -0.6578 0.6578 -0.3668 +vn -0.5000 0.5000 -0.7071 +vn -0.8595 0.3560 -0.3668 +vn -0.7071 0.0000 -0.7071 +vn -0.9303 -0.0000 -0.3668 +vn -0.6533 -0.2706 -0.7071 +vn -0.8595 -0.3560 -0.3668 +vn -0.5000 -0.5000 -0.7071 +vn -0.6578 -0.6578 -0.3668 +vn -0.2706 -0.6533 -0.7071 +vn 0.2706 -0.6533 -0.7071 +vn 0.3560 -0.8595 -0.3668 +vn 0.6578 -0.6578 -0.3668 +vn 0.5000 -0.5000 -0.7071 +vn 0.8595 -0.3560 -0.3668 +vn 0.8595 0.3560 0.3668 +vn 0.5000 0.5000 0.7071 +vn 0.6533 0.2706 0.7071 +vn 0.2706 0.6533 0.7071 +vn -0.2706 0.6533 0.7071 +vn -0.8595 0.3560 0.3668 +vn -0.5000 0.5000 0.7071 +vn -0.9303 0.0000 0.3668 +vn -0.6533 0.2706 0.7071 +vn -0.8595 -0.3560 0.3668 +vn -0.7071 -0.0000 0.7071 +vn -0.5000 -0.5000 0.7071 +vn -0.6533 -0.2706 0.7071 +vn -0.6578 -0.6578 0.3668 +vn -0.2706 -0.6533 0.7071 +vn 0.2706 -0.6533 0.7071 +vn 0.5000 -0.5000 0.7071 +vn 0.8595 -0.3560 0.3668 +vn 0.6578 -0.6578 0.3668 +vn 0.7071 0.0000 0.7071 +vn 0.6533 -0.2706 0.7071 +vn 0.9303 0.0000 0.3668 +vn 0.9239 0.3827 0.0000 +vn -0.9239 -0.3827 0.0000 +vn -0.9239 0.3827 0.0000 +vn 0.9239 -0.3827 0.0000 +vn 0.6533 0.2706 -0.7071 +vn 0.2706 0.6533 -0.7071 +vn -0.6533 0.2706 -0.7071 +vn 0.6533 -0.2706 -0.7071 +vn 0.7177 0.6472 0.2568 +vn 0.6523 -0.7061 0.2755 +vn 0.6104 0.7060 0.3593 +vn -0.9013 -0.3723 0.2215 +vn -0.3976 0.4048 -0.8234 +vn -0.8798 -0.4243 0.2143 +vn -0.6361 0.6472 -0.4201 +vn -0.6536 0.7060 -0.2727 +vn 0.8973 0.4048 -0.1760 +vn 0.3636 -0.3723 0.8540 +vn 0.3564 -0.4243 0.8324 +vn -0.6410 -0.7403 -0.2027 +vn -0.6118 -0.7061 -0.3565 +vn -0.3635 0.3721 -0.8540 +vn 0.4434 -0.6475 0.6197 +vn 0.5467 -0.7403 0.3912 +vn 0.8096 0.5854 0.0438 +vn -0.7619 -0.6475 0.0171 +vn 0.3861 -0.5265 0.7575 +vn -0.5208 0.5854 -0.6214 +vn 0.8656 0.4917 -0.0952 +vn -0.8376 -0.5265 0.1457 +vn -0.4432 0.4917 -0.7495 +vn 0.6170 -0.7068 0.3462 +vn -0.5455 -0.7380 -0.3971 +vn 0.6450 -0.7380 0.1981 +vn 0.6317 0.6489 0.4242 +vn -0.6157 0.7066 -0.3488 +vn -0.7184 0.6489 -0.2508 +vn -0.6472 -0.7067 -0.2858 +vn 0.9005 -0.3750 -0.2200 +vn -0.3575 -0.4254 -0.8314 +vn -0.3643 -0.3750 -0.8524 +vn 0.3973 0.4064 0.8228 +vn 0.3643 0.3749 0.8525 +vn -0.8966 0.4064 0.1758 +vn -0.9006 0.3749 0.2201 +vn 0.8376 -0.5265 -0.1457 +vn 0.8796 -0.4254 -0.2129 +vn 0.4432 0.4917 0.7495 +vn -0.8656 0.4917 0.0952 +vn -0.4434 -0.6475 -0.6198 +vn -0.3861 -0.5265 -0.7575 +vn 0.5208 0.5854 0.6214 +vn -0.8096 0.5854 -0.0438 +vn 0.7619 -0.6475 -0.0171 +vn -0.4663 -0.6839 -0.5611 +vn 0.7724 -0.6310 0.0731 +vn 0.7203 -0.6839 0.1163 +vn 0.5180 0.6371 0.5707 +vn 0.4555 0.6307 0.6282 +vn -0.7726 0.6307 -0.0728 +vn -0.7548 0.6371 -0.1558 +vn -0.4557 -0.6310 -0.6279 +vn -0.7724 -0.6310 -0.0731 +vn 0.4663 -0.6839 0.5611 +vn 0.4557 -0.6310 0.6279 +vn 0.7548 0.6371 0.1558 +vn 0.7726 0.6307 0.0728 +vn -0.5180 0.6371 -0.5707 +vn -0.4555 0.6307 -0.6282 +vn -0.7203 -0.6839 -0.1163 +vn -0.6358 -0.7273 -0.2585 +vn 0.5459 -0.7273 0.4160 +vn 0.6808 0.6717 0.2921 +vn -0.5977 0.6717 -0.4376 +vn 0.6358 -0.7273 0.2585 +vn 0.5977 0.6717 0.4376 +vn -0.6808 0.6717 -0.2921 +vn -0.5459 -0.7273 -0.4160 +vn -0.0000 0.9411 -0.3381 +vn -0.3601 0.8695 0.3381 +vn -0.0000 0.9411 0.3381 +vn 0.3601 -0.8695 -0.3381 +vn 0.5761 -0.6806 0.4527 +vn 0.3601 -0.8695 0.3381 +vn -0.3601 0.8695 -0.3381 +vn -0.5761 0.6806 0.4527 +vn 0.8492 -0.2718 -0.4527 +vn 0.9411 -0.0000 0.3381 +vn 0.8492 -0.2718 0.4527 +vn -0.8492 0.2718 -0.4527 +vn -0.9411 -0.0000 0.3381 +vn -0.8492 0.2718 0.4527 +vn 0.9411 0.0000 -0.3381 +vn 0.8492 0.2718 0.4527 +vn -0.9411 -0.0000 -0.3381 +vn -0.8492 -0.2718 0.4527 +vn 0.5761 0.6806 -0.4527 +vn 0.3601 0.8695 0.3381 +vn 0.5761 0.6806 0.4527 +vn -0.5761 -0.6806 -0.4527 +vn -0.3601 -0.8695 0.3381 +vn -0.5761 -0.6806 0.4527 +vn 0.3601 0.8695 -0.3381 +vn -0.0000 -0.9411 -0.3381 +vn -0.0000 -0.9411 0.3381 +vn -0.3601 -0.8695 -0.3381 +vn -0.0000 0.4542 -0.8909 +vn -0.3212 0.3212 -0.8909 +vn -0.5761 0.6806 -0.4527 +vn -0.4196 0.1738 -0.8909 +vn -0.4196 -0.1738 -0.8909 +vn -0.8492 -0.2718 -0.4527 +vn -0.3212 -0.3212 -0.8909 +vn 0.0000 -0.4542 -0.8909 +vn 0.1738 -0.4196 -0.8909 +vn 0.5761 -0.6806 -0.4527 +vn 0.3212 -0.3212 -0.8909 +vn 0.4196 -0.1738 -0.8909 +vn 0.4196 0.1738 -0.8909 +vn 0.8492 0.2718 -0.4527 +vn 0.3212 0.3212 -0.8909 +vn 0.1738 0.4196 -0.8909 +vn 0.1738 0.4196 0.8909 +vn -0.0000 0.4542 0.8909 +vn -0.3212 0.3212 0.8909 +vn -0.1738 0.4196 0.8909 +vn -0.4196 0.1738 0.8909 +vn -0.4542 -0.0000 0.8909 +vn -0.4196 -0.1738 0.8909 +vn -0.3212 -0.3212 0.8909 +vn -0.1738 -0.4196 0.8909 +vn 0.0000 -0.4542 0.8909 +vn 0.1738 -0.4196 0.8909 +vn 0.3212 -0.3212 0.8909 +vn 0.4196 -0.1738 0.8909 +vn 0.4196 0.1738 0.8909 +vn 0.4542 -0.0000 0.8909 +vn 0.3212 0.3212 0.8909 +vn -0.7071 0.3536 -0.6124 +vn -0.3620 0.8073 -0.4661 +vn -0.3620 0.4661 -0.8073 +vn -0.3620 0.9322 0.0000 +vn -0.3620 0.8073 0.4661 +vn -0.7071 0.3536 0.6124 +vn -0.3620 0.4661 0.8073 +vn -0.3620 0.0000 0.9322 +vn -0.7071 -0.3536 0.6124 +vn -0.3620 -0.4661 0.8073 +vn -0.3620 -0.8073 0.4661 +vn -0.7071 -0.6124 0.3536 +vn -0.3620 -0.9322 0.0000 +vn -0.3620 -0.8073 -0.4661 +vn -0.7071 -0.3536 -0.6124 +vn -0.3620 -0.4661 -0.8073 +vn -0.3620 0.0000 -0.9322 +vn 0.3620 0.0000 0.9322 +vn 0.3620 0.9322 0.0000 +vn 0.3620 -0.8073 -0.4661 +vn 0.3620 0.4661 -0.8073 +vn 0.3620 -0.0000 -0.9322 +vn 0.3620 -0.4661 0.8073 +vn 0.3620 0.4661 0.8073 +vn 0.3620 0.8073 0.4661 +vn 0.3620 -0.4661 -0.8073 +vn 0.3620 0.8073 -0.4661 +vn 0.3620 -0.8073 0.4661 +vn 0.3620 -0.9322 0.0000 +vn 0.7071 0.3536 -0.6124 +vn 0.7071 0.6124 -0.3536 +vn 0.7071 0.6124 0.3536 +vn 0.7071 0.3536 0.6124 +vn 0.7071 -0.6124 0.3536 +vn 0.7071 -0.3536 0.6124 +vn 0.7071 -0.6124 -0.3536 +vn 0.7071 -0.3536 -0.6124 +vn 0.0000 -0.8660 0.5000 +vn 0.0000 -0.5000 0.8660 +vn 0.0000 0.5000 0.8660 +vn 0.0000 0.8660 0.5000 +vn -0.0000 -0.5000 -0.8660 +vn -0.0000 0.8660 -0.5000 +vn -0.0000 0.5000 -0.8660 +vn -0.0000 -0.8660 -0.5000 +vn 0.8660 -0.5000 0.0000 +vn 0.5000 0.8660 -0.0000 +vn 0.8660 0.5000 -0.0000 +vn -0.5000 -0.8660 0.0000 +vn -0.8660 0.5000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn -0.8660 -0.5000 0.0000 +vn -0.5000 0.8660 0.0000 +vn -0.3385 0.9408 0.0196 +vn 0.4046 0.9030 -0.1448 +vn -0.3385 0.9408 -0.0196 +vn 0.4046 0.9030 0.1448 +vn 0.9077 0.3760 -0.1866 +vn 0.9077 0.3760 0.1866 +vn 0.9246 -0.3524 -0.1448 +vn 0.9246 -0.3524 0.1448 +vn 0.4259 -0.9046 -0.0196 +vn 0.4259 -0.9046 0.0196 +vn -0.3445 -0.9288 0.1363 +vn -0.3445 -0.9288 -0.1363 +vn -0.9004 0.4132 0.1363 +vn -0.9004 0.4132 -0.1363 +vn 0.7428 -0.4100 -0.5293 +vn 0.2353 0.8151 -0.5294 +vn -0.1367 -0.8764 0.4617 +vn 0.4429 -0.8940 -0.0671 +vn -0.7164 0.5230 0.4617 +vn -0.3190 0.9454 -0.0671 +vn -0.3641 0.9302 -0.0473 +vn -0.4038 0.6189 0.6737 +vn 0.3937 -0.5723 -0.7194 +vn 0.1724 0.0714 -0.9824 +vn -0.1262 0.6831 -0.7194 +vn 0.4003 -0.9152 -0.0473 +vn 0.1520 -0.7232 0.6737 +vn 0.4429 -0.8940 0.0671 +vn -0.1368 -0.8764 -0.4617 +vn -0.7164 0.5230 -0.4617 +vn -0.3190 0.9454 0.0671 +vn 0.2353 0.8151 0.5294 +vn 0.7428 -0.4100 0.5293 +vn 0.4003 -0.9152 0.0473 +vn 0.1520 -0.7232 -0.6737 +vn 0.1724 0.0714 0.9824 +vn 0.3937 -0.5723 0.7194 +vn -0.1262 0.6831 0.7194 +vn -0.4038 0.6189 -0.6737 +vn -0.3641 0.9302 0.0473 +vn 0.4259 0.9046 0.0196 +vn 0.9246 0.3524 -0.1448 +vn 0.4259 0.9046 -0.0196 +vn 0.9246 0.3524 0.1448 +vn 0.9077 -0.3760 -0.1866 +vn 0.9077 -0.3760 0.1866 +vn 0.4046 -0.9030 -0.1448 +vn 0.4046 -0.9030 0.1448 +vn -0.3385 -0.9408 -0.0196 +vn -0.3385 -0.9408 0.0196 +vn -0.9004 -0.4132 0.1363 +vn -0.9004 -0.4132 -0.1363 +vn -0.3445 0.9288 0.1363 +vn -0.3445 0.9288 -0.1363 +vn 0.2353 -0.8151 -0.5294 +vn 0.7428 0.4100 -0.5294 +vn -0.7164 -0.5230 0.4617 +vn -0.3190 -0.9454 -0.0671 +vn -0.1368 0.8764 0.4617 +vn 0.4429 0.8940 -0.0671 +vn 0.4003 0.9152 -0.0473 +vn 0.1520 0.7232 0.6737 +vn -0.3641 -0.9302 -0.0473 +vn -0.1262 -0.6831 -0.7194 +vn 0.1724 -0.0714 -0.9824 +vn 0.3937 0.5723 -0.7194 +vn -0.4039 -0.6189 0.6737 +vn -0.3190 -0.9454 0.0671 +vn -0.7164 -0.5230 -0.4617 +vn 0.4429 0.8940 0.0671 +vn 0.7428 0.4100 0.5294 +vn 0.2353 -0.8151 0.5294 +vn -0.3641 -0.9302 0.0473 +vn -0.4038 -0.6189 -0.6737 +vn 0.1724 -0.0714 0.9824 +vn -0.1262 -0.6831 0.7194 +vn 0.4003 0.9152 0.0473 +vn 0.3937 0.5723 0.7194 +vn -0.1367 0.8764 -0.4617 +vn 0.1520 0.7232 -0.6737 +vn 0.3385 -0.9408 0.0196 +vn -0.4046 -0.9030 -0.1448 +vn 0.3385 -0.9408 -0.0196 +vn -0.4046 -0.9030 0.1448 +vn -0.9077 -0.3760 -0.1866 +vn -0.9077 -0.3760 0.1866 +vn -0.9246 0.3524 -0.1448 +vn -0.9246 0.3524 0.1448 +vn -0.4259 0.9046 -0.0196 +vn -0.4259 0.9046 0.0196 +vn 0.3445 0.9288 0.1363 +vn 0.3445 0.9288 -0.1363 +vn 0.9004 -0.4132 0.1363 +vn 0.9004 -0.4132 -0.1363 +vn -0.7428 0.4100 -0.5294 +vn -0.2353 -0.8151 -0.5294 +vn 0.1367 0.8764 0.4617 +vn -0.4429 0.8940 -0.0671 +vn 0.7164 -0.5230 0.4617 +vn 0.3190 -0.9454 -0.0671 +vn 0.3641 -0.9302 -0.0473 +vn 0.4038 -0.6189 0.6737 +vn -0.3937 0.5723 -0.7194 +vn -0.1724 -0.0714 -0.9824 +vn 0.1262 -0.6831 -0.7194 +vn -0.4003 0.9152 -0.0473 +vn -0.1520 0.7232 0.6737 +vn -0.4429 0.8940 0.0671 +vn 0.1368 0.8764 -0.4617 +vn 0.7164 -0.5230 -0.4617 +vn 0.3190 -0.9454 0.0671 +vn -0.2353 -0.8151 0.5294 +vn -0.7428 0.4100 0.5294 +vn -0.1520 0.7232 -0.6737 +vn -0.1724 -0.0714 0.9824 +vn -0.3937 0.5723 0.7194 +vn 0.3641 -0.9302 0.0473 +vn 0.1262 -0.6831 0.7194 +vn -0.4003 0.9152 0.0473 +vn 0.4038 -0.6189 -0.6737 +vn -0.4259 -0.9046 0.0196 +vn -0.9246 -0.3524 -0.1448 +vn -0.4259 -0.9046 -0.0196 +vn -0.9246 -0.3524 0.1448 +vn -0.9077 0.3760 -0.1866 +vn -0.9077 0.3760 0.1866 +vn -0.4046 0.9030 -0.1448 +vn -0.4046 0.9030 0.1448 +vn 0.3385 0.9408 -0.0196 +vn 0.3385 0.9408 0.0196 +vn 0.9004 0.4132 0.1363 +vn 0.9004 0.4132 -0.1363 +vn 0.3445 -0.9288 0.1363 +vn 0.3445 -0.9288 -0.1363 +vn -0.2353 0.8151 -0.5294 +vn -0.7428 -0.4100 -0.5294 +vn 0.7164 0.5230 0.4617 +vn 0.3190 0.9454 -0.0671 +vn 0.1367 -0.8764 0.4617 +vn -0.4429 -0.8940 -0.0671 +vn -0.4003 -0.9152 -0.0473 +vn -0.1520 -0.7232 0.6737 +vn 0.3641 0.9302 -0.0473 +vn 0.1262 0.6831 -0.7194 +vn -0.3937 -0.5723 -0.7194 +vn -0.1724 0.0714 -0.9824 +vn 0.4039 0.6189 0.6737 +vn 0.3190 0.9454 0.0671 +vn 0.7164 0.5230 -0.4617 +vn -0.4429 -0.8940 0.0671 +vn -0.7428 -0.4100 0.5293 +vn -0.2353 0.8151 0.5294 +vn 0.4039 0.6189 -0.6737 +vn -0.1724 0.0714 0.9824 +vn 0.1262 0.6831 0.7194 +vn -0.4003 -0.9152 0.0473 +vn -0.3937 -0.5723 0.7194 +vn 0.1368 -0.8764 -0.4617 +vn 0.3641 0.9302 0.0473 +vn -0.1520 -0.7232 -0.6737 +vn 0.1367 -0.8764 -0.4617 +vn 0.4038 0.6189 -0.6737 +vn 0.1368 -0.8764 0.4617 +vn -0.7428 -0.4100 -0.5293 +vn 0.4038 0.6189 0.6737 +vn 0.4039 -0.6189 -0.6737 +vn -0.4038 -0.6189 0.6737 +vn 0.7428 -0.4100 0.5294 +vn -0.1367 -0.8764 -0.4617 +vn -0.4039 0.6189 -0.6737 +vn 0.7428 -0.4100 -0.5294 +vn -0.4039 0.6189 0.6737 +vn -0.1368 -0.8764 0.4617 +vn 0.6523 -0.7061 -0.2755 +vn 0.7177 0.6472 -0.2568 +vn 0.6104 0.7060 -0.3593 +vn -0.3976 0.4048 0.8234 +vn -0.9013 -0.3723 -0.2215 +vn -0.8798 -0.4243 -0.2143 +vn -0.6361 0.6472 0.4201 +vn -0.6536 0.7060 0.2727 +vn 0.8973 0.4048 0.1760 +vn 0.3636 -0.3723 -0.8540 +vn 0.9013 0.3721 0.2216 +vn -0.6118 -0.7061 0.3565 +vn 0.5467 -0.7403 -0.3912 +vn -0.3635 0.3721 0.8540 +vn -0.6410 -0.7403 0.2027 +vn 0.4434 -0.6475 -0.6197 +vn 0.8096 0.5854 -0.0438 +vn -0.5208 0.5854 0.6214 +vn -0.7619 -0.6475 -0.0171 +vn 0.3861 -0.5265 -0.7575 +vn 0.8656 0.4917 0.0952 +vn -0.4432 0.4917 0.7495 +vn -0.8376 -0.5265 -0.1457 +vn 0.3564 -0.4243 -0.8324 +vn -0.5455 -0.7380 0.3971 +vn 0.6170 -0.7068 -0.3462 +vn 0.6450 -0.7380 -0.1981 +vn 0.6317 0.6489 -0.4242 +vn 0.6484 0.7066 -0.2833 +vn -0.6157 0.7066 0.3488 +vn -0.7184 0.6489 0.2508 +vn -0.6472 -0.7067 0.2858 +vn 0.9005 -0.3750 0.2200 +vn -0.3575 -0.4254 0.8314 +vn 0.8796 -0.4254 0.2129 +vn 0.3973 0.4064 -0.8228 +vn 0.3643 0.3749 -0.8525 +vn -0.8966 0.4064 -0.1758 +vn -0.9006 0.3749 -0.2201 +vn -0.3643 -0.3750 0.8524 +vn 0.8376 -0.5265 0.1457 +vn 0.4432 0.4917 -0.7495 +vn -0.8656 0.4917 -0.0952 +vn -0.3861 -0.5265 0.7575 +vn -0.4434 -0.6475 0.6198 +vn 0.7619 -0.6475 0.0171 +vn 0.5208 0.5854 -0.6214 +vn -0.8096 0.5854 0.0438 +vn 0.7724 -0.6310 -0.0731 +vn -0.4663 -0.6839 0.5611 +vn 0.7203 -0.6839 -0.1163 +vn 0.5180 0.6371 -0.5707 +vn -0.7726 0.6307 0.0728 +vn -0.7548 0.6371 0.1558 +vn -0.4557 -0.6310 0.6279 +vn 0.4663 -0.6839 -0.5611 +vn -0.7724 -0.6310 0.0731 +vn 0.4557 -0.6310 -0.6279 +vn 0.7548 0.6371 -0.1558 +vn 0.7726 0.6307 -0.0728 +vn -0.5180 0.6371 0.5707 +vn -0.4555 0.6307 0.6282 +vn -0.6358 -0.7273 0.2585 +vn -0.7203 -0.6839 0.1163 +vn 0.6808 0.6717 -0.2921 +vn -0.5977 0.6717 0.4376 +vn 0.6358 -0.7273 -0.2585 +vn 0.5459 -0.7273 -0.4160 +vn -0.6808 0.6717 0.2921 +vn -0.5459 -0.7273 0.4160 +vn 0.5977 0.6717 -0.4376 +vn -0.7071 -0.6124 -0.3536 +vn -0.7071 0.6124 -0.3536 +vn -0.7071 0.6124 0.3536 +vn 0.4434 -0.6475 0.6198 +vn 0.7184 0.6489 0.2508 +vn -0.6317 0.6489 -0.4242 +vn 0.5455 -0.7380 0.3971 +vn 0.3575 -0.4254 0.8314 +vn 0.8966 0.4064 -0.1758 +vn -0.3973 0.4064 -0.8228 +vn -0.8796 -0.4254 0.2129 +vn 0.3643 -0.3750 0.8524 +vn 0.9006 0.3749 -0.2201 +vn -0.3643 0.3749 -0.8525 +vn -0.9005 -0.3750 0.2200 +vn 0.6472 -0.7067 0.2858 +vn 0.6157 0.7066 0.3488 +vn -0.6170 -0.7068 -0.3462 +vn -0.6450 -0.7380 -0.1981 +vn -0.3636 -0.3723 -0.8540 +vn 0.8798 -0.4243 -0.2143 +vn -0.3564 -0.4243 -0.8324 +vn 0.3976 0.4048 0.8234 +vn -0.4434 -0.6475 -0.6197 +vn 0.6361 0.6472 0.4201 +vn 0.6410 -0.7403 0.2027 +vn -0.7177 0.6472 -0.2568 +vn -0.5467 -0.7403 -0.3912 +vn 0.6118 -0.7061 0.3565 +vn 0.6536 0.7060 0.2727 +vn 0.3635 0.3721 0.8540 +vn -0.8973 0.4048 0.1760 +vn -0.6523 -0.7061 -0.2755 +vn -0.6104 0.7060 -0.3593 +vn 0.9013 -0.3723 -0.2215 +vn -0.3880 0.7622 -0.5181 +vn -0.3772 0.9249 0.0474 +vn -0.0697 0.9724 -0.2226 +vn 0.1946 0.9640 0.1810 +vn -0.1768 0.9186 0.3536 +vn 0.3339 0.7394 0.5847 +vn -0.0711 0.7481 0.6597 +vn 0.3111 0.3586 0.8801 +vn -0.0884 0.4593 0.8839 +vn 0.1321 -0.0763 0.9883 +vn -0.2241 0.1294 0.9659 +vn -0.1550 -0.4487 0.8801 +vn -0.6834 -0.3125 0.6597 +vn -0.4733 -0.6589 0.5847 +vn -0.7376 -0.6505 0.1810 +vn -0.9896 -0.1358 0.0474 +vn -0.8770 -0.4258 -0.2226 +vn -0.8541 -0.0451 -0.5181 +vn -0.8365 0.4830 -0.2588 +vn -0.6752 0.3898 -0.6263 +vn -0.6187 0.7655 -0.1768 +vn 0.3880 -0.7622 0.5181 +vn 0.6752 -0.3898 0.6263 +vn 0.7376 0.6505 -0.1810 +vn -0.3339 -0.7394 -0.5847 +vn -0.1321 0.0763 -0.9883 +vn 0.8541 0.0451 0.5181 +vn 0.8770 0.4258 0.2226 +vn -0.3111 -0.3586 -0.8801 +vn 0.4733 0.6589 -0.5847 +vn 0.1550 0.4487 -0.8801 +vn 0.0697 -0.9724 0.2226 +vn -0.1946 -0.9640 -0.1810 +vn 0.6834 0.3125 -0.6597 +vn 0.4419 0.1531 -0.8839 +vn 0.8839 0.3062 -0.3536 +vn 0.9896 0.1358 -0.0474 +vn 0.8365 -0.4830 0.2588 +vn 0.9723 -0.1531 0.1768 +vn 0.3772 -0.9249 -0.0474 +vn 0.6187 -0.7655 0.1768 +vn 0.1768 -0.9186 -0.3536 +vn 0.0711 -0.7481 -0.6597 +vn 0.0884 -0.4593 -0.8839 +vn 0.2241 -0.1294 -0.9659 +vn 0.1250 -0.6495 0.7500 +vn -0.2165 -0.8750 0.4330 +vn 0.6250 0.2165 0.7500 +vn 0.6495 0.6250 0.4330 +vn -0.4330 0.2500 -0.8660 +vn -0.6250 -0.2165 -0.7500 +vn -0.1250 0.6495 -0.7500 +vn 0.2165 0.8750 -0.4330 +vn 0.4330 -0.2500 0.8660 +vn -0.6495 -0.6250 -0.4330 +vn -0.0884 0.4593 -0.8839 +vn 0.3339 0.7394 -0.5847 +vn 0.3111 0.3586 -0.8801 +vn -0.0710 0.7481 -0.6597 +vn 0.1946 0.9640 -0.1810 +vn -0.3772 0.9249 -0.0474 +vn -0.0697 0.9724 0.2226 +vn -0.6187 0.7655 0.1768 +vn -0.3880 0.7622 0.5181 +vn -0.6752 0.3898 0.6263 +vn -0.9723 0.1531 0.1768 +vn -0.8541 -0.0451 0.5181 +vn -0.8770 -0.4258 0.2226 +vn -0.9896 -0.1358 -0.0474 +vn -0.7376 -0.6505 -0.1810 +vn -0.8839 -0.3062 -0.3536 +vn -0.4733 -0.6589 -0.5847 +vn -0.6834 -0.3125 -0.6597 +vn -0.1550 -0.4487 -0.8801 +vn -0.2241 0.1294 -0.9659 +vn 0.1321 -0.0763 -0.9883 +vn -0.1321 0.0763 0.9883 +vn 0.4733 0.6589 0.5847 +vn 0.7376 0.6505 0.1810 +vn 0.0697 -0.9724 -0.2226 +vn 0.6752 -0.3898 -0.6263 +vn -0.3111 -0.3586 0.8801 +vn 0.3880 -0.7622 -0.5181 +vn 0.8770 0.4258 -0.2226 +vn 0.8541 0.0451 -0.5181 +vn -0.3339 -0.7394 0.5847 +vn 0.1550 0.4487 0.8801 +vn -0.1946 -0.9640 0.1810 +vn 0.9896 0.1358 0.0474 +vn 0.9723 -0.1531 -0.1768 +vn 0.6834 0.3125 0.6597 +vn 0.8839 0.3062 0.3536 +vn 0.2241 -0.1294 0.9659 +vn 0.4419 0.1531 0.8839 +vn 0.0884 -0.4593 0.8839 +vn 0.0711 -0.7481 0.6597 +vn 0.1768 -0.9186 0.3536 +vn 0.3772 -0.9249 0.0474 +vn 0.6187 -0.7655 -0.1768 +vn 0.8365 -0.4830 -0.2588 +vn -0.6250 -0.2165 0.7500 +vn -0.6495 -0.6250 0.4330 +vn -0.1250 0.6495 0.7500 +vn 0.2165 0.8750 0.4330 +vn 0.4330 -0.2500 -0.8660 +vn 0.1250 -0.6495 -0.7500 +vn 0.6495 0.6250 -0.4330 +vn 0.6250 0.2165 -0.7500 +vn -0.4330 0.2500 0.8660 +vn -0.2165 -0.8750 -0.4330 +vn -0.8541 0.0451 -0.5181 +vn -0.9896 0.1358 0.0474 +vn -0.8770 0.4258 -0.2226 +vn -0.7376 0.6505 0.1810 +vn -0.8839 0.3062 0.3536 +vn -0.4733 0.6589 0.5847 +vn -0.6834 0.3125 0.6597 +vn -0.1550 0.4487 0.8801 +vn -0.4419 0.1531 0.8839 +vn 0.1321 0.0763 0.9883 +vn -0.2241 -0.1294 0.9659 +vn 0.3111 -0.3586 0.8801 +vn -0.0884 -0.4593 0.8839 +vn 0.3339 -0.7394 0.5847 +vn -0.0711 -0.7481 0.6597 +vn 0.1946 -0.9640 0.1810 +vn -0.3772 -0.9249 0.0474 +vn -0.0697 -0.9724 -0.2226 +vn -0.6187 -0.7655 -0.1768 +vn -0.3880 -0.7622 -0.5181 +vn -0.8365 -0.4830 -0.2588 +vn -0.6752 -0.3898 -0.6263 +vn -0.9723 -0.1531 -0.1768 +vn 0.6752 0.3898 0.6263 +vn -0.1946 0.9640 -0.1810 +vn 0.4733 -0.6589 -0.5847 +vn -0.1321 -0.0763 -0.9883 +vn 0.8770 -0.4258 0.2226 +vn 0.8541 -0.0451 0.5181 +vn 0.0697 0.9724 0.2226 +vn 0.1550 -0.4487 -0.8801 +vn -0.3111 0.3586 -0.8801 +vn 0.3880 0.7622 0.5181 +vn -0.3339 0.7394 -0.5847 +vn 0.7376 -0.6505 -0.1810 +vn 0.0711 0.7481 -0.6597 +vn 0.0884 0.4593 -0.8839 +vn 0.3772 0.9249 -0.0474 +vn 0.1768 0.9186 -0.3536 +vn 0.8365 0.4830 0.2588 +vn 0.6187 0.7655 0.1768 +vn 0.9723 0.1531 0.1768 +vn 0.8839 -0.3062 -0.3536 +vn 0.9896 -0.1358 -0.0474 +vn 0.6834 -0.3125 -0.6597 +vn 0.4419 -0.1531 -0.8839 +vn 0.2241 0.1294 -0.9659 +vn 0.6250 -0.2165 0.7500 +vn 0.6495 -0.6250 0.4330 +vn 0.1250 0.6495 0.7500 +vn -0.2165 0.8750 0.4330 +vn -0.4330 -0.2500 -0.8660 +vn -0.1250 -0.6495 -0.7500 +vn -0.6250 0.2165 -0.7500 +vn -0.6495 0.6250 -0.4330 +vn 0.4330 0.2500 0.8660 +vn 0.2165 -0.8750 -0.4330 +vn -0.4419 0.1531 -0.8839 +vn -0.4733 0.6589 -0.5847 +vn -0.1550 0.4487 -0.8801 +vn -0.6834 0.3125 -0.6597 +vn -0.7376 0.6505 -0.1810 +vn -0.9896 0.1358 -0.0474 +vn -0.8770 0.4258 0.2226 +vn -0.9723 -0.1531 0.1768 +vn -0.8541 0.0451 0.5181 +vn -0.6752 -0.3898 0.6263 +vn -0.6187 -0.7655 0.1768 +vn -0.3880 -0.7622 0.5181 +vn -0.0697 -0.9724 0.2226 +vn -0.3772 -0.9249 -0.0474 +vn 0.1946 -0.9640 -0.1810 +vn -0.1768 -0.9186 -0.3536 +vn 0.3339 -0.7394 -0.5847 +vn -0.0710 -0.7481 -0.6597 +vn 0.3111 -0.3586 -0.8801 +vn -0.2241 -0.1294 -0.9659 +vn 0.1321 0.0763 -0.9883 +vn -0.1321 -0.0763 0.9883 +vn -0.1946 0.9640 0.1810 +vn 0.8770 -0.4258 -0.2226 +vn 0.6752 0.3898 -0.6263 +vn 0.1550 -0.4487 0.8801 +vn -0.3339 0.7394 0.5847 +vn 0.8541 -0.0451 -0.5181 +vn 0.0697 0.9724 -0.2226 +vn 0.3880 0.7622 -0.5181 +vn 0.4733 -0.6589 0.5847 +vn -0.3111 0.3586 0.8801 +vn 0.7376 -0.6505 0.1810 +vn 0.6187 0.7655 -0.1768 +vn 0.1768 0.9186 0.3536 +vn 0.3772 0.9249 0.0474 +vn 0.0711 0.7481 0.6597 +vn 0.0884 0.4593 0.8839 +vn 0.2241 0.1294 0.9659 +vn 0.4419 -0.1531 0.8839 +vn 0.8839 -0.3062 0.3536 +vn 0.6834 -0.3125 0.6597 +vn 0.9896 -0.1358 0.0474 +vn 0.9723 0.1531 -0.1768 +vn 0.8365 0.4830 -0.2588 +vn -0.1250 -0.6495 0.7500 +vn 0.2165 -0.8750 0.4330 +vn -0.6250 0.2165 0.7500 +vn -0.6495 0.6250 0.4330 +vn 0.4330 0.2500 -0.8660 +vn 0.6250 -0.2165 -0.7500 +vn -0.2165 0.8750 -0.4330 +vn 0.1250 0.6495 -0.7500 +vn -0.4330 -0.2500 0.8660 +vn 0.6495 -0.6250 -0.4330 +vn -0.6523 -0.7061 0.2755 +vn -0.7177 0.6472 0.2568 +vn -0.6104 0.7060 0.3593 +vn 0.3976 0.4048 -0.8234 +vn 0.9013 -0.3723 0.2215 +vn 0.8798 -0.4243 0.2143 +vn 0.6361 0.6472 -0.4201 +vn 0.6536 0.7060 -0.2727 +vn -0.8973 0.4048 -0.1760 +vn -0.3636 -0.3723 0.8540 +vn -0.9013 0.3721 -0.2216 +vn 0.6118 -0.7061 -0.3565 +vn -0.5467 -0.7403 0.3912 +vn 0.3635 0.3721 -0.8540 +vn 0.6410 -0.7403 -0.2027 +vn -0.4434 -0.6475 0.6197 +vn -0.3564 -0.4243 0.8324 +vn 0.5455 -0.7380 -0.3971 +vn -0.6170 -0.7068 0.3462 +vn -0.6450 -0.7380 0.1981 +vn -0.6317 0.6489 0.4242 +vn -0.6484 0.7066 0.2833 +vn 0.6157 0.7066 -0.3488 +vn 0.7184 0.6489 -0.2508 +vn 0.6472 -0.7067 -0.2858 +vn -0.9005 -0.3750 -0.2200 +vn 0.3575 -0.4254 -0.8314 +vn -0.8796 -0.4254 -0.2129 +vn -0.3973 0.4065 0.8228 +vn -0.3643 0.3749 0.8525 +vn 0.8966 0.4064 0.1758 +vn 0.9006 0.3749 0.2201 +vn 0.3643 -0.3750 -0.8524 +vn 0.4434 -0.6475 -0.6198 +vn 0.4555 0.6307 -0.6282 +vn 0.0710 0.7481 -0.6597 +vn -0.1768 -0.9186 0.3536 +vn 0.0710 0.7481 0.6597 +vn -0.8839 0.3062 -0.3536 +vn -0.0884 -0.4593 -0.8839 +vn -0.0711 -0.7481 -0.6597 +vn -0.8365 -0.4830 0.2588 +vn -0.9723 0.1531 -0.1768 +vn -0.8839 -0.3062 0.3536 +vn -0.4419 -0.1531 0.8839 +vn 0.0710 -0.7481 0.6597 +vn -0.1768 0.9186 -0.3536 +vn -0.0711 0.7481 -0.6597 +vn -0.4419 -0.1531 -0.8839 +vn -0.8365 0.4830 0.2588 +vn 0.9013 0.3721 -0.2216 +vn 0.6484 0.7066 0.2833 +vn -0.1738 0.4196 -0.8909 +vn -0.4542 -0.0000 -0.8909 +vn -0.1738 -0.4196 -0.8909 +vn 0.4542 -0.0000 -0.8909 +vn -0.6484 0.7066 -0.2833 +vn -0.9013 0.3721 0.2216 +s off +f 78/1/1 127/2/1 79/3/1 +f 79/4/1 128/5/1 80/6/1 +f 128/7/1 65/8/1 80/9/1 +f 113/10/1 66/11/1 65/12/1 +f 114/13/1 67/14/1 66/15/1 +f 115/16/1 68/17/1 67/18/1 +f 116/19/1 69/20/1 68/21/1 +f 117/22/1 70/23/1 69/24/1 +f 118/25/1 71/26/1 70/27/1 +f 71/28/1 120/29/1 72/30/1 +f 72/31/1 121/32/1 73/33/1 +f 73/34/1 122/35/1 74/36/1 +f 74/37/1 123/38/1 75/39/1 +f 75/40/1 124/41/1 76/42/1 +f 76/43/1 125/44/1 77/45/1 +f 77/46/1 126/47/1 78/48/1 +f 95/49/2 208/50/2 207/51/2 +f 81/52/2 208/53/2 96/54/2 +f 82/55/2 193/56/2 81/57/2 +f 83/58/2 194/59/2 82/60/2 +f 84/61/2 195/62/2 83/63/2 +f 85/64/2 196/65/2 84/66/2 +f 86/67/2 197/68/2 85/69/2 +f 87/70/2 198/71/2 86/72/2 +f 87/73/2 200/74/2 199/75/2 +f 88/76/2 201/77/2 200/78/2 +f 89/79/2 202/80/2 201/81/2 +f 90/82/2 203/83/2 202/84/2 +f 91/85/2 204/86/2 203/87/2 +f 92/88/2 205/89/2 204/90/2 +f 93/91/2 206/92/2 205/93/2 +f 94/94/2 207/95/2 206/96/2 +f 237/97/2 142/98/2 141/99/2 +f 238/100/2 143/101/2 142/102/2 +f 143/103/2 240/104/2 144/105/2 +f 240/106/2 129/107/2 144/108/2 +f 225/109/2 130/110/2 129/111/2 +f 130/112/2 227/113/2 131/114/2 +f 227/115/2 132/116/2 131/117/2 +f 228/118/2 133/119/2 132/120/2 +f 133/121/2 230/122/2 134/123/2 +f 134/124/2 231/125/2 135/126/2 +f 231/127/2 136/128/2 135/129/2 +f 232/130/2 137/131/2 136/132/2 +f 137/133/2 234/134/2 138/135/2 +f 138/136/2 235/137/2 139/138/2 +f 235/139/2 140/140/2 139/141/2 +f 236/142/2 141/143/2 140/144/2 +f 254/145/1 287/146/1 255/147/1 +f 287/148/1 256/149/1 255/150/1 +f 256/151/1 273/152/1 241/153/1 +f 241/154/1 274/155/1 242/156/1 +f 274/157/1 243/158/1 242/159/1 +f 243/160/1 276/161/1 244/162/1 +f 276/163/1 245/164/1 244/165/1 +f 277/166/1 246/167/1 245/168/1 +f 278/169/1 247/170/1 246/171/1 +f 247/172/1 280/173/1 248/174/1 +f 248/175/1 281/176/1 249/177/1 +f 281/178/1 250/179/1 249/180/1 +f 282/181/1 251/182/1 250/183/1 +f 283/184/1 252/185/1 251/186/1 +f 252/187/1 285/188/1 253/189/1 +f 253/190/1 286/191/1 254/192/1 +f 191/193/1 398/194/1 190/195/1 +f 191/196/1 400/197/1 399/198/1 +f 177/199/1 400/200/1 192/201/1 +f 178/202/1 385/203/1 177/204/1 +f 178/205/1 387/206/1 386/207/1 +f 180/208/1 387/209/1 179/210/1 +f 180/211/1 389/212/1 388/213/1 +f 181/214/1 390/215/1 389/216/1 +f 182/217/1 391/218/1 390/219/1 +f 184/220/1 391/221/1 183/222/1 +f 185/223/1 392/224/1 184/225/1 +f 185/226/1 394/227/1 393/228/1 +f 186/229/1 395/230/1 394/231/1 +f 188/232/1 395/233/1 187/234/1 +f 189/235/1 396/236/1 188/237/1 +f 190/238/1 397/239/1 189/240/1 +f 414/241/2 367/242/2 366/243/2 +f 367/244/2 416/245/2 368/246/2 +f 416/247/2 353/248/2 368/249/2 +f 401/250/2 354/251/2 353/252/2 +f 354/253/2 403/254/2 355/255/2 +f 403/256/2 356/257/2 355/258/2 +f 404/259/2 357/260/2 356/261/2 +f 357/262/2 406/263/2 358/264/2 +f 358/265/2 407/266/2 359/267/2 +f 407/268/2 360/269/2 359/270/2 +f 408/271/2 361/272/2 360/273/2 +f 361/274/2 410/275/2 362/276/2 +f 362/277/2 411/278/2 363/279/2 +f 411/280/2 364/281/2 363/282/2 +f 412/283/2 365/284/2 364/285/2 +f 413/286/2 366/287/2 365/288/2 +f 301/289/2 430/290/2 302/291/2 +f 430/292/2 303/293/2 302/294/2 +f 431/295/2 304/296/2 303/297/2 +f 432/298/2 289/299/2 304/300/2 +f 417/301/2 290/302/2 289/303/2 +f 290/304/2 419/305/2 291/306/2 +f 419/307/2 292/308/2 291/309/2 +f 292/310/2 421/311/2 293/312/2 +f 421/313/2 294/314/2 293/315/2 +f 294/316/2 423/317/2 295/318/2 +f 423/319/2 296/320/2 295/321/2 +f 296/322/2 425/323/2 297/324/2 +f 297/325/2 426/326/2 298/327/2 +f 426/328/2 299/329/2 298/330/2 +f 427/331/2 300/332/2 299/333/2 +f 428/334/2 301/335/2 300/336/2 +f 443/337/2 439/338/2 435/339/2 +f 351/340/1 462/341/1 350/342/1 +f 352/343/1 463/344/1 351/345/1 +f 337/346/1 464/347/1 352/348/1 +f 338/349/1 449/350/1 337/351/1 +f 338/352/1 451/353/1 450/354/1 +f 340/355/1 451/356/1 339/357/1 +f 340/358/1 453/359/1 452/360/1 +f 342/361/1 453/362/1 341/363/1 +f 342/364/1 455/365/1 454/366/1 +f 344/367/1 455/368/1 343/369/1 +f 344/370/1 457/371/1 456/372/1 +f 345/373/1 458/374/1 457/375/1 +f 347/376/1 458/377/1 346/378/1 +f 348/379/1 459/380/1 347/381/1 +f 349/382/1 460/383/1 348/384/1 +f 349/385/1 462/386/1 461/387/1 +f 473/388/1 477/389/1 466/390/1 +f 546/391/3 547/392/3 545/393/3 +f 554/394/3 555/395/3 553/396/3 +f 546/391/4 552/397/4 548/398/4 +f 547/392/5 550/399/5 545/393/5 +f 548/398/2 549/400/2 547/392/2 +f 545/393/1 551/401/1 546/391/1 +f 554/394/4 560/402/4 556/403/4 +f 555/395/5 558/404/5 553/396/5 +f 556/403/2 557/405/2 555/395/2 +f 553/396/1 559/406/1 554/394/1 +f 562/407/3 563/408/3 561/409/3 +f 570/410/3 571/411/3 569/412/3 +f 562/407/4 568/413/4 564/414/4 +f 563/408/5 566/415/5 561/409/5 +f 564/414/2 565/416/2 563/408/2 +f 561/409/1 567/417/1 562/407/1 +f 570/410/4 576/418/4 572/419/4 +f 571/411/5 574/420/5 569/412/5 +f 572/419/2 573/421/2 571/411/2 +f 569/412/1 575/422/1 570/410/1 +f 578/423/4 584/424/4 580/425/4 +f 579/426/5 581/427/5 577/428/5 +f 580/425/3 583/429/3 579/426/3 +f 577/430/6 582/431/6 578/423/6 +f 586/432/4 592/433/4 588/434/4 +f 587/435/5 589/436/5 585/437/5 +f 588/434/3 591/438/3 587/435/3 +f 585/439/6 590/440/6 586/432/6 +f 594/441/4 600/442/4 596/443/4 +f 595/444/5 597/445/5 593/446/5 +f 596/443/3 599/447/3 595/444/3 +f 593/448/6 598/449/6 594/441/6 +f 602/450/4 608/451/4 604/452/4 +f 603/453/5 605/454/5 601/455/5 +f 604/452/3 607/456/3 603/453/3 +f 601/457/6 606/458/6 602/450/6 +f 611/459/6 610/460/6 609/461/6 +f 615/462/3 613/463/3 614/464/3 +f 611/465/7 616/466/7 612/467/7 +f 610/468/8 614/464/8 609/469/8 +f 612/470/4 615/462/4 610/460/4 +f 609/471/5 613/463/5 611/472/5 +f 619/473/6 618/474/6 617/475/6 +f 623/476/3 621/477/3 622/478/3 +f 619/479/7 624/480/7 620/481/7 +f 618/482/8 622/478/8 617/483/8 +f 620/484/4 623/476/4 618/474/4 +f 617/485/5 621/477/5 619/486/5 +f 626/487/4 632/488/4 628/489/4 +f 627/490/5 630/491/5 625/492/5 +f 628/493/2 629/494/2 627/495/2 +f 625/496/1 631/497/1 626/498/1 +f 634/499/4 640/500/4 636/501/4 +f 635/502/5 638/503/5 633/504/5 +f 636/505/2 637/506/2 635/507/2 +f 633/508/1 639/509/1 634/510/1 +f 642/511/4 648/512/4 644/513/4 +f 643/514/5 646/515/5 641/516/5 +f 644/517/2 645/518/2 643/519/2 +f 641/520/1 647/521/1 642/522/1 +f 650/523/4 656/524/4 652/525/4 +f 651/526/5 654/527/5 649/528/5 +f 652/529/2 653/530/2 651/531/2 +f 649/532/1 655/533/1 650/534/1 +f 648/512/6 646/515/6 645/518/6 +f 656/524/6 654/527/6 653/530/6 +f 632/488/6 630/491/6 629/494/6 +f 640/500/6 638/503/6 637/506/6 +f 658/535/4 664/536/4 660/537/4 +f 659/538/5 661/539/5 657/540/5 +f 660/537/3 663/541/3 659/538/3 +f 657/542/6 662/543/6 658/535/6 +f 666/544/4 672/545/4 668/546/4 +f 667/547/5 669/548/5 665/549/5 +f 668/546/3 671/550/3 667/547/3 +f 665/551/6 670/552/6 666/544/6 +f 674/553/4 680/554/4 676/555/4 +f 675/556/5 677/557/5 673/558/5 +f 676/555/3 679/559/3 675/556/3 +f 673/560/6 678/561/6 674/553/6 +f 682/562/4 688/563/4 684/564/4 +f 683/565/5 685/566/5 681/567/5 +f 684/564/3 687/568/3 683/565/3 +f 681/569/6 686/570/6 682/562/6 +f 691/571/3 690/572/3 689/573/3 +f 695/574/6 693/575/6 694/576/6 +f 691/577/9 696/578/9 692/579/9 +f 690/580/10 694/576/10 689/581/10 +f 692/582/5 695/574/5 690/572/5 +f 689/583/4 693/575/4 691/584/4 +f 699/585/3 698/586/3 697/587/3 +f 703/588/6 701/589/6 702/590/6 +f 699/591/9 704/592/9 700/593/9 +f 698/594/10 702/590/10 697/595/10 +f 700/596/5 703/588/5 698/586/5 +f 697/597/4 701/589/4 699/598/4 +f 707/599/2 706/600/2 705/601/2 +f 710/602/1 711/603/1 709/604/1 +f 708/605/4 710/606/4 706/607/4 +f 705/608/5 711/609/5 707/610/5 +f 707/599/3 712/611/3 708/605/3 +f 706/607/6 709/612/6 705/608/6 +f 715/613/6 714/614/6 713/615/6 +f 717/616/3 724/617/3 720/618/3 +f 715/619/2 720/618/2 716/620/2 +f 714/621/1 718/622/1 713/623/1 +f 716/624/4 719/625/4 714/614/4 +f 713/626/5 717/627/5 715/628/5 +f 724/629/4 727/630/4 723/631/4 +f 719/632/3 722/633/3 718/622/3 +f 720/634/3 723/631/3 719/625/3 +f 718/635/3 721/636/3 717/627/3 +f 722/637/5 725/638/5 721/636/5 +f 721/639/2 728/640/2 724/617/2 +f 723/641/1 726/642/1 722/633/1 +f 731/643/2 730/644/2 729/645/2 +f 734/646/1 735/647/1 733/648/1 +f 732/649/4 734/650/4 730/651/4 +f 729/652/5 735/653/5 731/654/5 +f 731/643/3 736/655/3 732/649/3 +f 730/651/6 733/656/6 729/652/6 +f 738/657/3 739/658/3 737/659/3 +f 737/659/1 743/660/1 738/657/1 +f 738/657/4 744/661/4 740/662/4 +f 739/658/5 742/663/5 737/659/5 +f 740/662/2 741/664/2 739/658/2 +f 747/665/6 746/666/6 745/667/6 +f 754/668/4 755/669/4 753/670/4 +f 748/671/4 751/672/4 746/666/4 +f 745/673/5 749/674/5 747/675/5 +f 747/675/2 752/676/2 748/671/2 +f 746/677/1 750/678/1 745/673/1 +f 760/679/4 761/680/4 757/681/4 +f 756/682/2 757/681/2 755/683/2 +f 753/684/1 759/685/1 754/686/1 +f 754/668/6 760/687/6 756/688/6 +f 755/689/3 758/690/3 753/691/3 +f 763/692/6 768/693/6 764/694/6 +f 758/695/4 763/696/4 759/685/4 +f 759/697/4 764/694/4 760/687/4 +f 757/698/4 762/699/4 758/690/4 +f 761/700/3 766/701/3 762/699/3 +f 764/702/2 765/703/2 761/680/2 +f 762/704/1 767/705/1 763/696/1 +f 844/706/11 906/707/11 860/708/11 +f 905/709/12 843/710/12 859/711/12 +f 860/708/2 905/712/2 859/711/2 +f 913/713/1 844/706/1 843/710/1 +f 862/714/2 908/715/2 907/716/2 +f 846/717/1 916/718/1 847/719/1 +f 862/714/13 915/720/13 846/717/13 +f 916/721/14 863/722/14 847/719/14 +f 917/723/1 852/724/1 851/725/1 +f 868/726/2 909/727/2 867/728/2 +f 852/724/15 910/729/15 868/726/15 +f 867/728/16 917/730/16 851/725/16 +f 870/731/2 912/732/2 911/733/2 +f 854/734/1 920/735/1 855/736/1 +f 920/737/17 871/738/17 855/736/17 +f 870/731/18 919/739/18 854/734/18 +f 959/740/4 970/741/4 958/742/4 +f 960/743/4 971/744/4 959/745/4 +f 961/746/4 972/747/4 960/748/4 +f 962/749/4 973/750/4 961/751/4 +f 962/752/4 975/753/4 974/754/4 +f 964/755/4 975/756/4 963/757/4 +f 964/758/4 977/759/4 976/760/4 +f 965/761/4 978/762/4 977/763/4 +f 967/764/4 978/765/4 966/766/4 +f 968/767/4 979/768/4 967/769/4 +f 968/770/4 969/771/4 980/772/4 +f 957/773/4 970/774/4 969/775/4 +f 991/776/4 982/777/4 985/778/4 +f 998/779/5 1009/780/5 1010/781/5 +f 1004/782/5 1005/783/5 993/784/5 +f 994/785/5 1007/786/5 995/787/5 +f 1002/788/5 1013/789/5 1014/790/5 +f 998/791/5 1011/792/5 999/793/5 +f 996/794/5 1007/795/5 1008/796/5 +f 1002/797/5 1015/798/5 1003/799/5 +f 999/800/5 1012/801/5 1000/802/5 +f 996/803/5 1009/804/5 997/805/5 +f 1004/806/5 1015/807/5 1016/808/5 +f 993/809/5 1006/810/5 994/811/5 +f 1000/812/5 1013/813/5 1001/814/5 +f 1026/815/5 1039/816/5 1027/817/5 +f 1023/818/5 1036/819/5 1024/820/5 +f 1020/821/5 1033/822/5 1021/823/5 +f 1028/824/5 1039/825/5 1040/826/5 +f 1017/827/5 1029/828/5 1018/829/5 +f 1024/820/5 1037/830/5 1025/831/5 +f 1022/832/5 1033/833/5 1034/834/5 +f 1028/824/5 1030/835/5 1017/827/5 +f 1018/829/5 1031/836/5 1019/837/5 +f 1026/838/5 1037/839/5 1038/840/5 +f 1022/832/5 1035/841/5 1023/818/5 +f 1020/821/5 1031/842/5 1032/843/5 +f 1042/844/5 1051/845/5 1047/846/5 +f 1069/847/2 1082/848/2 1070/849/2 +f 1076/850/2 1077/851/2 1065/852/2 +f 1066/853/2 1079/854/2 1067/855/2 +f 1074/856/2 1085/857/2 1086/858/2 +f 1071/859/2 1082/860/2 1083/861/2 +f 1068/862/2 1079/863/2 1080/864/2 +f 1074/865/2 1087/866/2 1075/867/2 +f 1071/859/2 1084/868/2 1072/869/2 +f 1068/862/2 1081/870/2 1069/847/2 +f 1076/850/2 1087/871/2 1088/872/2 +f 1066/853/2 1077/873/2 1078/874/2 +f 1073/875/2 1084/876/2 1085/877/2 +f 1098/878/2 1111/879/2 1099/880/2 +f 1095/881/2 1108/882/2 1096/883/2 +f 1092/884/2 1105/885/2 1093/886/2 +f 1100/887/2 1111/888/2 1112/889/2 +f 1090/890/2 1102/891/2 1101/892/2 +f 1097/893/2 1108/894/2 1109/895/2 +f 1093/886/2 1106/896/2 1094/897/2 +f 1100/887/2 1102/898/2 1089/899/2 +f 1090/890/2 1103/900/2 1091/901/2 +f 1098/902/2 1109/903/2 1110/904/2 +f 1095/881/2 1106/905/2 1107/906/2 +f 1092/884/2 1103/907/2 1104/908/2 +f 1123/909/2 1119/910/2 1115/911/2 +f 1125/912/19 1126/913/19 1127/914/19 +f 1126/913/20 1125/915/20 1130/916/20 +f 1125/912/21 1127/917/21 1128/918/21 +f 1125/915/22 1128/919/22 1129/920/22 +f 1125/915/23 1129/921/23 1130/922/23 +f 1126/913/24 1130/923/24 1135/924/24 +f 1127/917/25 1126/925/25 1131/926/25 +f 1128/919/26 1127/917/26 1132/927/26 +f 1129/920/27 1128/918/27 1133/928/27 +f 1130/916/28 1129/920/28 1134/929/28 +f 1126/925/29 1135/924/29 1131/930/29 +f 1127/914/30 1131/926/30 1132/931/30 +f 1128/919/31 1132/931/31 1133/932/31 +f 1129/921/32 1133/933/32 1134/929/32 +f 1130/916/33 1134/934/33 1135/935/33 +f 1131/930/34 1135/935/34 1136/936/34 +f 1132/937/35 1131/930/35 1136/938/35 +f 1133/928/36 1132/931/36 1136/938/36 +f 1134/934/37 1133/932/37 1136/936/37 +f 1135/924/38 1134/934/38 1136/938/38 +f 1618/939/4 1619/940/4 1617/941/4 +f 1624/942/4 1625/943/4 1621/944/4 +f 1620/945/2 1621/944/2 1619/946/2 +f 1617/947/1 1623/948/1 1618/949/1 +f 1618/939/6 1624/950/6 1620/951/6 +f 1619/952/3 1622/953/3 1617/954/3 +f 1627/955/6 1632/956/6 1628/957/6 +f 1622/958/4 1627/959/4 1623/948/4 +f 1623/960/4 1628/957/4 1624/950/4 +f 1621/961/4 1626/962/4 1622/953/4 +f 1625/963/3 1630/964/3 1626/962/3 +f 1628/965/2 1629/966/2 1625/943/2 +f 1626/967/1 1631/968/1 1627/959/1 +f 1634/969/5 1635/970/5 1633/971/5 +f 1640/972/5 1641/973/5 1637/974/5 +f 1636/975/1 1637/974/1 1635/976/1 +f 1633/977/2 1639/978/2 1634/979/2 +f 1634/969/6 1640/980/6 1636/981/6 +f 1635/982/3 1638/983/3 1633/984/3 +f 1643/985/6 1648/986/6 1644/987/6 +f 1638/988/5 1643/989/5 1639/978/5 +f 1639/990/5 1644/987/5 1640/980/5 +f 1637/991/5 1642/992/5 1638/983/5 +f 1641/993/3 1646/994/3 1642/992/3 +f 1644/995/1 1645/996/1 1641/973/1 +f 1642/997/2 1647/998/2 1643/989/2 +f 1650/999/5 1651/1000/5 1649/1001/5 +f 1656/1002/5 1657/1003/5 1653/1004/5 +f 1652/1005/1 1653/1004/1 1651/1006/1 +f 1649/1007/2 1655/1008/2 1650/1009/2 +f 1650/999/6 1656/1010/6 1652/1011/6 +f 1651/1012/3 1654/1013/3 1649/1014/3 +f 1659/1015/6 1664/1016/6 1660/1017/6 +f 1654/1018/5 1659/1019/5 1655/1008/5 +f 1655/1020/5 1660/1017/5 1656/1010/5 +f 1653/1021/5 1658/1022/5 1654/1013/5 +f 1657/1023/3 1662/1024/3 1658/1022/3 +f 1660/1025/1 1661/1026/1 1657/1003/1 +f 1658/1027/2 1663/1028/2 1659/1019/2 +f 1667/1029/6 1666/1030/6 1665/1031/6 +f 1669/1032/3 1676/1033/3 1672/1034/3 +f 1667/1035/2 1672/1034/2 1668/1036/2 +f 1666/1037/1 1670/1038/1 1665/1039/1 +f 1668/1040/4 1671/1041/4 1666/1030/4 +f 1665/1042/5 1669/1043/5 1667/1044/5 +f 1676/1045/4 1679/1046/4 1675/1047/4 +f 1671/1048/3 1674/1049/3 1670/1038/3 +f 1672/1050/3 1675/1047/3 1671/1041/3 +f 1670/1051/3 1673/1052/3 1669/1043/3 +f 1674/1053/5 1677/1054/5 1673/1052/5 +f 1673/1055/2 1680/1056/2 1676/1033/2 +f 1675/1057/1 1678/1058/1 1674/1049/1 +f 1683/1059/6 1682/1060/6 1681/1061/6 +f 1685/1062/3 1692/1063/3 1688/1064/3 +f 1683/1065/2 1688/1064/2 1684/1066/2 +f 1682/1067/1 1686/1068/1 1681/1069/1 +f 1684/1070/4 1687/1071/4 1682/1060/4 +f 1681/1072/5 1685/1073/5 1683/1074/5 +f 1692/1075/4 1695/1076/4 1691/1077/4 +f 1687/1078/3 1690/1079/3 1686/1068/3 +f 1688/1080/3 1691/1077/3 1687/1071/3 +f 1686/1081/3 1689/1082/3 1685/1073/3 +f 1690/1083/5 1693/1084/5 1689/1082/5 +f 1689/1085/2 1696/1086/2 1692/1063/2 +f 1691/1087/1 1694/1088/1 1690/1079/1 +f 1699/1089/6 1698/1090/6 1697/1091/6 +f 1701/1092/3 1708/1093/3 1704/1094/3 +f 1699/1095/2 1704/1094/2 1700/1096/2 +f 1698/1097/1 1702/1098/1 1697/1099/1 +f 1700/1100/4 1703/1101/4 1698/1090/4 +f 1697/1102/5 1701/1103/5 1699/1104/5 +f 1708/1105/4 1711/1106/4 1707/1107/4 +f 1703/1108/3 1706/1109/3 1702/1098/3 +f 1704/1110/3 1707/1107/3 1703/1101/3 +f 1702/1111/3 1705/1112/3 1701/1103/3 +f 1706/1113/5 1709/1114/5 1705/1112/5 +f 1705/1115/2 1712/1116/2 1708/1093/2 +f 1707/1117/1 1710/1118/1 1706/1109/1 +f 1715/1119/6 1714/1120/6 1713/1121/6 +f 1717/1122/3 1724/1123/3 1720/1124/3 +f 1715/1125/2 1720/1124/2 1716/1126/2 +f 1714/1127/1 1718/1128/1 1713/1129/1 +f 1716/1130/4 1719/1131/4 1714/1120/4 +f 1713/1132/5 1717/1133/5 1715/1134/5 +f 1724/1135/4 1727/1136/4 1723/1137/4 +f 1719/1138/3 1722/1139/3 1718/1128/3 +f 1720/1140/3 1723/1137/3 1719/1131/3 +f 1718/1141/3 1721/1142/3 1717/1133/3 +f 1722/1143/5 1725/1144/5 1721/1142/5 +f 1721/1145/2 1728/1146/2 1724/1123/2 +f 1723/1147/1 1726/1148/1 1722/1139/1 +f 1731/1149/6 1730/1150/6 1729/1151/6 +f 1733/1152/3 1740/1153/3 1736/1154/3 +f 1731/1155/2 1736/1154/2 1732/1156/2 +f 1730/1157/1 1734/1158/1 1729/1159/1 +f 1732/1160/4 1735/1161/4 1730/1150/4 +f 1729/1162/5 1733/1163/5 1731/1164/5 +f 1740/1165/4 1743/1166/4 1739/1167/4 +f 1735/1168/3 1738/1169/3 1734/1158/3 +f 1736/1170/3 1739/1167/3 1735/1161/3 +f 1734/1171/3 1737/1172/3 1733/1163/3 +f 1738/1173/5 1741/1174/5 1737/1172/5 +f 1737/1175/2 1744/1176/2 1740/1153/2 +f 1739/1177/1 1742/1178/1 1738/1169/1 +f 1747/1179/6 1746/1180/6 1745/1181/6 +f 1749/1182/3 1756/1183/3 1752/1184/3 +f 1747/1185/2 1752/1184/2 1748/1186/2 +f 1746/1187/1 1750/1188/1 1745/1189/1 +f 1748/1190/4 1751/1191/4 1746/1180/4 +f 1745/1192/5 1749/1193/5 1747/1194/5 +f 1756/1195/4 1759/1196/4 1755/1197/4 +f 1751/1198/3 1754/1199/3 1750/1188/3 +f 1752/1200/3 1755/1197/3 1751/1191/3 +f 1750/1201/3 1753/1202/3 1749/1193/3 +f 1754/1203/5 1757/1204/5 1753/1202/5 +f 1753/1205/2 1760/1206/2 1756/1183/2 +f 1755/1207/1 1758/1208/1 1754/1199/1 +f 1763/1209/6 1762/1210/6 1761/1211/6 +f 1765/1212/3 1772/1213/3 1768/1214/3 +f 1763/1215/2 1768/1214/2 1764/1216/2 +f 1762/1217/1 1766/1218/1 1761/1219/1 +f 1764/1220/4 1767/1221/4 1762/1210/4 +f 1761/1222/5 1765/1223/5 1763/1224/5 +f 1772/1225/4 1775/1226/4 1771/1227/4 +f 1767/1228/3 1770/1229/3 1766/1218/3 +f 1768/1230/3 1771/1227/3 1767/1221/3 +f 1766/1231/3 1769/1232/3 1765/1223/3 +f 1770/1233/5 1773/1234/5 1769/1232/5 +f 1769/1235/2 1776/1236/2 1772/1213/2 +f 1771/1237/1 1774/1238/1 1770/1229/1 +f 1779/1239/6 1778/1240/6 1777/1241/6 +f 1781/1242/3 1788/1243/3 1784/1244/3 +f 1779/1245/2 1784/1244/2 1780/1246/2 +f 1778/1247/1 1782/1248/1 1777/1249/1 +f 1780/1250/4 1783/1251/4 1778/1240/4 +f 1777/1252/5 1781/1253/5 1779/1254/5 +f 1788/1255/4 1791/1256/4 1787/1257/4 +f 1783/1258/3 1786/1259/3 1782/1248/3 +f 1784/1260/3 1787/1257/3 1783/1251/3 +f 1782/1261/3 1785/1262/3 1781/1253/3 +f 1786/1263/5 1789/1264/5 1785/1262/5 +f 1785/1265/2 1792/1266/2 1788/1243/2 +f 1787/1267/1 1790/1268/1 1786/1259/1 +f 1795/1269/6 1794/1270/6 1793/1271/6 +f 1797/1272/3 1804/1273/3 1800/1274/3 +f 1795/1275/2 1800/1274/2 1796/1276/2 +f 1794/1277/1 1798/1278/1 1793/1279/1 +f 1796/1280/4 1799/1281/4 1794/1270/4 +f 1793/1282/5 1797/1283/5 1795/1284/5 +f 1804/1285/4 1807/1286/4 1803/1287/4 +f 1799/1288/3 1802/1289/3 1798/1278/3 +f 1800/1290/3 1803/1287/3 1799/1281/3 +f 1798/1291/3 1801/1292/3 1797/1283/3 +f 1802/1293/5 1805/1294/5 1801/1292/5 +f 1801/1295/2 1808/1296/2 1804/1273/2 +f 1803/1297/1 1806/1298/1 1802/1289/1 +f 1811/1299/6 1810/1300/6 1809/1301/6 +f 1813/1302/3 1820/1303/3 1816/1304/3 +f 1811/1305/2 1816/1304/2 1812/1306/2 +f 1810/1307/1 1814/1308/1 1809/1309/1 +f 1812/1310/4 1815/1311/4 1810/1300/4 +f 1809/1312/5 1813/1313/5 1811/1314/5 +f 1820/1315/4 1823/1316/4 1819/1317/4 +f 1815/1318/3 1818/1319/3 1814/1308/3 +f 1816/1320/3 1819/1317/3 1815/1311/3 +f 1814/1321/3 1817/1322/3 1813/1313/3 +f 1818/1323/5 1821/1324/5 1817/1322/5 +f 1817/1325/2 1824/1326/2 1820/1303/2 +f 1819/1327/1 1822/1328/1 1818/1319/1 +f 1827/1329/6 1826/1330/6 1825/1331/6 +f 1829/1332/3 1836/1333/3 1832/1334/3 +f 1827/1335/2 1832/1334/2 1828/1336/2 +f 1826/1337/1 1830/1338/1 1825/1339/1 +f 1828/1340/4 1831/1341/4 1826/1330/4 +f 1825/1342/5 1829/1343/5 1827/1344/5 +f 1836/1345/4 1839/1346/4 1835/1347/4 +f 1831/1348/3 1834/1349/3 1830/1338/3 +f 1832/1350/3 1835/1347/3 1831/1341/3 +f 1830/1351/3 1833/1352/3 1829/1343/3 +f 1834/1353/5 1837/1354/5 1833/1352/5 +f 1833/1355/2 1840/1356/2 1836/1333/2 +f 1835/1357/1 1838/1358/1 1834/1349/1 +f 1843/1359/6 1842/1360/6 1841/1361/6 +f 1845/1362/3 1852/1363/3 1848/1364/3 +f 1843/1365/2 1848/1364/2 1844/1366/2 +f 1842/1367/1 1846/1368/1 1841/1369/1 +f 1844/1370/4 1847/1371/4 1842/1360/4 +f 1841/1372/5 1845/1373/5 1843/1374/5 +f 1852/1375/4 1855/1376/4 1851/1377/4 +f 1847/1378/3 1850/1379/3 1846/1368/3 +f 1848/1380/3 1851/1377/3 1847/1371/3 +f 1846/1381/3 1849/1382/3 1845/1373/3 +f 1850/1383/5 1853/1384/5 1849/1382/5 +f 1849/1385/2 1856/1386/2 1852/1363/2 +f 1851/1387/1 1854/1388/1 1850/1379/1 +f 1859/1389/6 1858/1390/6 1857/1391/6 +f 1861/1392/3 1868/1393/3 1864/1394/3 +f 1859/1395/2 1864/1394/2 1860/1396/2 +f 1858/1397/1 1862/1398/1 1857/1399/1 +f 1860/1400/4 1863/1401/4 1858/1390/4 +f 1857/1402/5 1861/1403/5 1859/1404/5 +f 1868/1405/4 1871/1406/4 1867/1407/4 +f 1863/1408/3 1866/1409/3 1862/1398/3 +f 1864/1410/3 1867/1407/3 1863/1401/3 +f 1862/1411/3 1865/1412/3 1861/1403/3 +f 1866/1413/5 1869/1414/5 1865/1412/5 +f 1865/1415/2 1872/1416/2 1868/1393/2 +f 1867/1417/1 1870/1418/1 1866/1409/1 +f 1875/1419/6 1874/1420/6 1873/1421/6 +f 1877/1422/3 1884/1423/3 1880/1424/3 +f 1875/1425/2 1880/1424/2 1876/1426/2 +f 1874/1427/1 1878/1428/1 1873/1429/1 +f 1876/1430/4 1879/1431/4 1874/1420/4 +f 1873/1432/5 1877/1433/5 1875/1434/5 +f 1884/1435/4 1887/1436/4 1883/1437/4 +f 1879/1438/3 1882/1439/3 1878/1428/3 +f 1880/1440/3 1883/1437/3 1879/1431/3 +f 1878/1441/3 1881/1442/3 1877/1433/3 +f 1882/1443/5 1885/1444/5 1881/1442/5 +f 1881/1445/2 1888/1446/2 1884/1423/2 +f 1883/1447/1 1886/1448/1 1882/1439/1 +f 1891/1449/6 1890/1450/6 1889/1451/6 +f 1893/1452/3 1900/1453/3 1896/1454/3 +f 1891/1455/2 1896/1454/2 1892/1456/2 +f 1890/1457/1 1894/1458/1 1889/1459/1 +f 1892/1460/4 1895/1461/4 1890/1450/4 +f 1889/1462/5 1893/1463/5 1891/1464/5 +f 1900/1465/4 1903/1466/4 1899/1467/4 +f 1895/1468/3 1898/1469/3 1894/1458/3 +f 1896/1470/3 1899/1467/3 1895/1461/3 +f 1894/1471/3 1897/1472/3 1893/1463/3 +f 1898/1473/5 1901/1474/5 1897/1472/5 +f 1897/1475/2 1904/1476/2 1900/1453/2 +f 1899/1477/1 1902/1478/1 1898/1469/1 +f 1907/1479/6 1906/1480/6 1905/1481/6 +f 1909/1482/3 1916/1483/3 1912/1484/3 +f 1907/1485/2 1912/1484/2 1908/1486/2 +f 1906/1487/1 1910/1488/1 1905/1489/1 +f 1908/1490/4 1911/1491/4 1906/1480/4 +f 1905/1492/5 1909/1493/5 1907/1494/5 +f 1916/1495/4 1919/1496/4 1915/1497/4 +f 1911/1498/3 1914/1499/3 1910/1488/3 +f 1912/1500/3 1915/1497/3 1911/1491/3 +f 1910/1501/3 1913/1502/3 1909/1493/3 +f 1914/1503/5 1917/1504/5 1913/1502/5 +f 1913/1505/2 1920/1506/2 1916/1483/2 +f 1915/1507/1 1918/1508/1 1914/1499/1 +f 1923/1509/6 1922/1510/6 1921/1511/6 +f 1925/1512/3 1932/1513/3 1928/1514/3 +f 1923/1515/2 1928/1514/2 1924/1516/2 +f 1922/1517/1 1926/1518/1 1921/1519/1 +f 1924/1520/4 1927/1521/4 1922/1510/4 +f 1921/1522/5 1925/1523/5 1923/1524/5 +f 1932/1525/4 1935/1526/4 1931/1527/4 +f 1927/1528/3 1930/1529/3 1926/1518/3 +f 1928/1530/3 1931/1527/3 1927/1521/3 +f 1926/1531/3 1929/1532/3 1925/1523/3 +f 1930/1533/5 1933/1534/5 1929/1532/5 +f 1929/1535/2 1936/1536/2 1932/1513/2 +f 1931/1537/1 1934/1538/1 1930/1529/1 +f 2010/1539/5 2019/1540/5 2016/1541/5 +f 2044/1542/5 2031/1543/5 2032/1544/5 +f 2044/1545/5 2021/1546/5 2033/1547/5 +f 2033/1548/5 2022/1549/5 2034/1550/5 +f 2035/1551/5 2022/1552/5 2023/1553/5 +f 2036/1554/5 2023/1555/5 2024/1556/5 +f 2037/1557/5 2024/1558/5 2025/1559/5 +f 2037/1560/5 2026/1561/5 2038/1562/5 +f 2039/1563/5 2026/1564/5 2027/1565/5 +f 2039/1566/5 2028/1567/5 2040/1568/5 +f 2040/1569/5 2029/1570/5 2041/1571/5 +f 2041/1572/5 2030/1573/5 2042/1574/5 +f 2042/1575/5 2031/1576/5 2043/1577/5 +f 2190/1578/39 2203/1579/39 2202/1580/39 +f 2192/1581/39 2203/1582/39 2191/1583/39 +f 2193/1584/39 2204/1585/39 2192/1586/39 +f 2194/1587/39 2205/1588/39 2193/1589/39 +f 2194/1590/39 2207/1591/39 2206/1592/39 +f 2196/1593/39 2207/1594/39 2195/1595/39 +f 2196/1596/39 2209/1597/39 2208/1598/39 +f 2197/1599/39 2210/1600/39 2209/1601/39 +f 2198/1602/39 2211/1603/39 2210/1604/39 +f 2199/1605/39 2212/1606/39 2211/1607/39 +f 2189/1608/39 2212/1609/39 2200/1610/39 +f 2189/1611/39 2202/1612/39 2201/1613/39 +f 2217/1614/39 2221/1615/39 2214/1616/39 +f 2230/1617/40 2241/1618/40 2242/1619/40 +f 2225/1620/40 2248/1621/40 2237/1622/40 +f 2226/1623/40 2239/1624/40 2227/1625/40 +f 2234/1626/40 2245/1627/40 2246/1628/40 +f 2231/1629/40 2242/1630/40 2243/1631/40 +f 2227/1632/40 2240/1633/40 2228/1634/40 +f 2234/1635/40 2247/1636/40 2235/1637/40 +f 2232/1638/40 2243/1639/40 2244/1640/40 +f 2228/1641/40 2241/1642/40 2229/1643/40 +f 2236/1644/40 2247/1645/40 2248/1646/40 +f 2225/1647/40 2238/1648/40 2226/1649/40 +f 2232/1650/40 2245/1651/40 2233/1652/40 +f 2258/1653/40 2271/1654/40 2259/1655/40 +f 2255/1656/40 2268/1657/40 2256/1658/40 +f 2253/1659/40 2264/1660/40 2265/1661/40 +f 2259/1655/40 2272/1662/40 2260/1663/40 +f 2249/1664/40 2261/1665/40 2250/1666/40 +f 2256/1658/40 2269/1667/40 2257/1668/40 +f 2254/1669/40 2265/1670/40 2266/1671/40 +f 2260/1663/40 2262/1672/40 2249/1664/40 +f 2250/1666/40 2263/1673/40 2251/1674/40 +f 2258/1675/40 2269/1676/40 2270/1677/40 +f 2254/1669/40 2267/1678/40 2255/1656/40 +f 2252/1679/40 2263/1680/40 2264/1681/40 +f 2279/1682/40 2277/1683/40 2275/1684/40 +f 2323/1685/41 2334/1686/41 2322/1687/41 +f 2324/1688/41 2335/1689/41 2323/1690/41 +f 2325/1691/41 2336/1692/41 2324/1693/41 +f 2326/1694/41 2337/1695/41 2325/1696/41 +f 2326/1697/41 2339/1698/41 2338/1699/41 +f 2328/1700/41 2339/1701/41 2327/1702/41 +f 2328/1703/41 2341/1704/41 2340/1705/41 +f 2329/1706/41 2342/1707/41 2341/1708/41 +f 2330/1709/41 2343/1710/41 2342/1711/41 +f 2331/1712/41 2344/1713/41 2343/1714/41 +f 2332/1715/41 2333/1716/41 2344/1717/41 +f 2321/1718/41 2334/1719/41 2333/1720/41 +f 2355/1721/41 2346/1722/41 2349/1723/41 +f 2362/1724/42 2373/1725/42 2374/1726/42 +f 2357/1727/42 2380/1728/42 2369/1729/42 +f 2358/1730/42 2371/1731/42 2359/1732/42 +f 2366/1733/42 2377/1734/42 2378/1735/42 +f 2363/1736/42 2374/1737/42 2375/1738/42 +f 2360/1739/42 2371/1740/42 2372/1741/42 +f 2366/1742/42 2379/1743/42 2367/1744/42 +f 2363/1745/42 2376/1746/42 2364/1747/42 +f 2360/1748/42 2373/1749/42 2361/1750/42 +f 2368/1751/42 2379/1752/42 2380/1753/42 +f 2357/1754/42 2370/1755/42 2358/1756/42 +f 2364/1757/42 2377/1758/42 2365/1759/42 +f 2390/1760/42 2403/1761/42 2391/1762/42 +f 2387/1763/42 2400/1764/42 2388/1765/42 +f 2384/1766/42 2397/1767/42 2385/1768/42 +f 2391/1762/42 2404/1769/42 2392/1770/42 +f 2381/1771/42 2393/1772/42 2382/1773/42 +f 2388/1765/42 2401/1774/42 2389/1775/42 +f 2386/1776/42 2397/1777/42 2398/1778/42 +f 2392/1770/42 2394/1779/42 2381/1771/42 +f 2382/1773/42 2395/1780/42 2383/1781/42 +f 2390/1782/42 2401/1783/42 2402/1784/42 +f 2387/1763/42 2398/1785/42 2399/1786/42 +f 2384/1766/42 2395/1787/42 2396/1788/42 +f 2415/1789/42 2411/1790/42 2407/1791/42 +f 2455/1792/43 2466/1793/43 2454/1794/43 +f 2456/1795/43 2467/1796/43 2455/1797/43 +f 2457/1798/43 2468/1799/43 2456/1800/43 +f 2458/1801/43 2469/1802/43 2457/1803/43 +f 2459/1804/43 2470/1805/43 2458/1806/43 +f 2460/1807/43 2471/1808/43 2459/1809/43 +f 2460/1810/43 2473/1811/43 2472/1812/43 +f 2461/1813/43 2474/1814/43 2473/1815/43 +f 2462/1816/43 2475/1817/43 2474/1818/43 +f 2464/1819/43 2475/1820/43 2463/1821/43 +f 2464/1822/43 2465/1823/43 2476/1824/43 +f 2453/1825/43 2466/1826/43 2465/1827/43 +f 2479/1828/43 2481/1829/43 2485/1830/43 +f 2493/1831/44 2506/1832/44 2494/1833/44 +f 2500/1834/44 2501/1835/44 2489/1836/44 +f 2491/1837/44 2502/1838/44 2503/1839/44 +f 2498/1840/44 2509/1841/44 2510/1842/44 +f 2494/1843/44 2507/1844/44 2495/1845/44 +f 2492/1846/44 2503/1847/44 2504/1848/44 +f 2498/1849/44 2511/1850/44 2499/1851/44 +f 2496/1852/44 2507/1853/44 2508/1854/44 +f 2493/1855/44 2504/1856/44 2505/1857/44 +f 2500/1858/44 2511/1859/44 2512/1860/44 +f 2490/1861/44 2501/1862/44 2502/1863/44 +f 2497/1864/44 2508/1865/44 2509/1866/44 +f 2523/1867/44 2534/1868/44 2535/1869/44 +f 2519/1870/44 2532/1871/44 2520/1872/44 +f 2517/1873/44 2528/1874/44 2529/1875/44 +f 2524/1876/44 2535/1877/44 2536/1878/44 +f 2514/1879/44 2526/1880/44 2525/1881/44 +f 2520/1872/44 2533/1882/44 2521/1883/44 +f 2518/1884/44 2529/1885/44 2530/1886/44 +f 2524/1876/44 2526/1887/44 2513/1888/44 +f 2514/1879/44 2527/1889/44 2515/1890/44 +f 2522/1891/44 2533/1892/44 2534/1893/44 +f 2518/1884/44 2531/1894/44 2519/1870/44 +f 2515/1890/44 2528/1895/44 2516/1896/44 +f 2541/1897/44 2539/1898/44 2547/1899/44 +f 2586/1900/45 2599/1901/45 2598/1902/45 +f 2588/1903/45 2599/1904/45 2587/1905/45 +f 2589/1906/45 2600/1907/45 2588/1908/45 +f 2590/1909/45 2601/1910/45 2589/1911/45 +f 2590/1912/45 2603/1913/45 2602/1914/45 +f 2592/1915/45 2603/1916/45 2591/1917/45 +f 2592/1918/45 2605/1919/45 2604/1920/45 +f 2593/1921/45 2606/1922/45 2605/1923/45 +f 2595/1924/45 2606/1925/45 2594/1926/45 +f 2596/1927/45 2607/1928/45 2595/1929/45 +f 2585/1930/45 2608/1931/45 2596/1932/45 +f 2585/1933/45 2598/1934/45 2597/1935/45 +f 2611/1936/45 2613/1937/45 2617/1938/45 +f 2626/1939/46 2637/1940/46 2638/1941/46 +f 2621/1942/46 2644/1943/46 2633/1944/46 +f 2623/1945/46 2634/1946/46 2635/1947/46 +f 2630/1948/46 2641/1949/46 2642/1950/46 +f 2627/1951/46 2638/1952/46 2639/1953/46 +f 2623/1954/46 2636/1955/46 2624/1956/46 +f 2630/1957/46 2643/1958/46 2631/1959/46 +f 2627/1960/46 2640/1961/46 2628/1962/46 +f 2624/1963/46 2637/1964/46 2625/1965/46 +f 2632/1966/46 2643/1967/46 2644/1968/46 +f 2621/1969/46 2634/1970/46 2622/1971/46 +f 2628/1972/46 2641/1973/46 2629/1974/46 +f 2654/1975/46 2667/1976/46 2655/1977/46 +f 2651/1978/46 2664/1979/46 2652/1980/46 +f 2648/1981/46 2661/1982/46 2649/1983/46 +f 2656/1984/46 2667/1985/46 2668/1986/46 +f 2646/1987/46 2658/1988/46 2657/1989/46 +f 2652/1980/46 2665/1990/46 2653/1991/46 +f 2650/1992/46 2661/1993/46 2662/1994/46 +f 2656/1984/46 2658/1995/46 2645/1996/46 +f 2646/1987/46 2659/1997/46 2647/1998/46 +f 2654/1999/46 2665/2000/46 2666/2001/46 +f 2651/1978/46 2662/2002/46 2663/2003/46 +f 2647/1998/46 2660/2004/46 2648/1981/46 +f 2670/2005/46 2679/2006/46 2675/2007/46 +f 2686/2008/4 2697/2009/4 2698/2010/4 +f 2692/2011/4 2693/2012/4 2681/2013/4 +f 2682/2014/4 2695/2015/4 2683/2016/4 +f 2690/2017/4 2701/2018/4 2702/2019/4 +f 2686/2020/4 2699/2021/4 2687/2022/4 +f 2684/2023/4 2695/2024/4 2696/2025/4 +f 2690/2026/4 2703/2027/4 2691/2028/4 +f 2688/2029/4 2699/2030/4 2700/2031/4 +f 2684/2032/4 2697/2033/4 2685/2034/4 +f 2692/2035/4 2703/2036/4 2704/2037/4 +f 2681/2038/4 2694/2039/4 2682/2040/4 +f 2688/2041/4 2701/2042/4 2689/2043/4 +f 2714/2044/4 2727/2045/4 2715/2046/4 +f 2712/2047/4 2723/2048/4 2724/2049/4 +f 2708/2050/4 2721/2051/4 2709/2052/4 +f 2716/2053/4 2727/2054/4 2728/2055/4 +f 2705/2056/4 2717/2057/4 2706/2058/4 +f 2712/2047/4 2725/2059/4 2713/2060/4 +f 2710/2061/4 2721/2062/4 2722/2063/4 +f 2716/2053/4 2718/2064/4 2705/2056/4 +f 2706/2058/4 2719/2065/4 2707/2066/4 +f 2714/2067/4 2725/2068/4 2726/2069/4 +f 2710/2061/4 2723/2070/4 2711/2071/4 +f 2708/2050/4 2719/2072/4 2720/2073/4 +f 2739/2074/4 2735/2075/4 2731/2076/4 +f 2757/2077/1 2770/2078/1 2758/2079/1 +f 2764/2080/1 2765/2081/1 2753/2082/1 +f 2754/2083/1 2767/2084/1 2755/2085/1 +f 2762/2086/1 2773/2087/1 2774/2088/1 +f 2759/2089/1 2770/2090/1 2771/2091/1 +f 2756/2092/1 2767/2093/1 2768/2094/1 +f 2762/2095/1 2775/2096/1 2763/2097/1 +f 2759/2089/1 2772/2098/1 2760/2099/1 +f 2756/2092/1 2769/2100/1 2757/2077/1 +f 2764/2080/1 2775/2101/1 2776/2102/1 +f 2754/2083/1 2765/2103/1 2766/2104/1 +f 2761/2105/1 2772/2106/1 2773/2107/1 +f 2786/2108/1 2799/2109/1 2787/2110/1 +f 2783/2111/1 2796/2112/1 2784/2113/1 +f 2780/2114/1 2793/2115/1 2781/2116/1 +f 2788/2117/1 2799/2118/1 2800/2119/1 +f 2778/2120/1 2790/2121/1 2789/2122/1 +f 2785/2123/1 2796/2124/1 2797/2125/1 +f 2781/2116/1 2794/2126/1 2782/2127/1 +f 2788/2117/1 2790/2128/1 2777/2129/1 +f 2778/2120/1 2791/2130/1 2779/2131/1 +f 2786/2132/1 2797/2133/1 2798/2134/1 +f 2783/2111/1 2794/2135/1 2795/2136/1 +f 2780/2114/1 2791/2137/1 2792/2138/1 +f 2811/2139/1 2807/2140/1 2803/2141/1 +f 2922/2142/44 2935/2143/44 2934/2144/44 +f 2924/2145/44 2935/2146/44 2923/2147/44 +f 2925/2148/44 2936/2149/44 2924/2150/44 +f 2926/2151/44 2937/2152/44 2925/2153/44 +f 2926/2154/44 2939/2155/44 2938/2156/44 +f 2928/2157/44 2939/2158/44 2927/2159/44 +f 2928/2160/44 2941/2161/44 2940/2162/44 +f 2929/2163/44 2942/2164/44 2941/2165/44 +f 2931/2166/44 2942/2167/44 2930/2168/44 +f 2932/2169/44 2943/2170/44 2931/2171/44 +f 2932/2172/44 2933/2173/44 2944/2174/44 +f 2921/2175/44 2934/2176/44 2933/2177/44 +f 2955/2178/44 2946/2179/44 2949/2180/44 +f 2962/2181/43 2973/2182/43 2974/2183/43 +f 2968/2184/43 2969/2185/43 2957/2186/43 +f 2958/2187/43 2971/2188/43 2959/2189/43 +f 2966/2190/43 2977/2191/43 2978/2192/43 +f 2963/2193/43 2974/2194/43 2975/2195/43 +f 2960/2196/43 2971/2197/43 2972/2198/43 +f 2966/2199/43 2979/2200/43 2967/2201/43 +f 2964/2202/43 2975/2203/43 2976/2204/43 +f 2960/2205/43 2973/2206/43 2961/2207/43 +f 2968/2208/43 2979/2209/43 2980/2210/43 +f 2957/2211/43 2970/2212/43 2958/2213/43 +f 2965/2214/43 2976/2215/43 2977/2216/43 +f 2991/2217/43 3002/2218/43 3003/2219/43 +f 2988/2220/43 2999/2221/43 3000/2222/43 +f 2985/2223/43 2996/2224/43 2997/2225/43 +f 2991/2217/43 3004/2226/43 2992/2227/43 +f 2981/2228/43 2993/2229/43 2982/2230/43 +f 2988/2220/43 3001/2231/43 2989/2232/43 +f 2985/2223/43 2998/2233/43 2986/2234/43 +f 2992/2227/43 2994/2235/43 2981/2228/43 +f 2982/2230/43 2995/2236/43 2983/2237/43 +f 2990/2238/43 3001/2239/43 3002/2240/43 +f 2986/2234/43 2999/2241/43 2987/2242/43 +f 2983/2237/43 2996/2243/43 2984/2244/43 +f 3013/2245/43 3011/2246/43 3007/2247/43 +f 3055/2248/46 3066/2249/46 3054/2250/46 +f 3056/2251/46 3067/2252/46 3055/2253/46 +f 3057/2254/46 3068/2255/46 3056/2256/46 +f 3058/2257/46 3069/2258/46 3057/2259/46 +f 3058/2260/46 3071/2261/46 3070/2262/46 +f 3060/2263/46 3071/2264/46 3059/2265/46 +f 3060/2266/46 3073/2267/46 3072/2268/46 +f 3061/2269/46 3074/2270/46 3073/2271/46 +f 3062/2272/46 3075/2273/46 3074/2274/46 +f 3064/2275/46 3075/2276/46 3063/2277/46 +f 3064/2278/46 3065/2279/46 3076/2280/46 +f 3054/2281/46 3065/2282/46 3053/2283/46 +f 3087/2284/46 3078/2285/46 3081/2286/46 +f 3093/2287/45 3106/2288/45 3094/2289/45 +f 3089/2290/45 3112/2291/45 3101/2292/45 +f 3090/2293/45 3103/2294/45 3091/2295/45 +f 3097/2296/45 3110/2297/45 3098/2298/45 +f 3095/2299/45 3106/2300/45 3107/2301/45 +f 3092/2302/45 3103/2303/45 3104/2304/45 +f 3098/2305/45 3111/2306/45 3099/2307/45 +f 3095/2308/45 3108/2309/45 3096/2310/45 +f 3092/2311/45 3105/2312/45 3093/2313/45 +f 3100/2314/45 3111/2315/45 3112/2316/45 +f 3089/2317/45 3102/2318/45 3090/2319/45 +f 3096/2320/45 3109/2321/45 3097/2322/45 +f 3123/2323/45 3134/2324/45 3135/2325/45 +f 3119/2326/45 3132/2327/45 3120/2328/45 +f 3116/2329/45 3129/2330/45 3117/2331/45 +f 3123/2323/45 3136/2332/45 3124/2333/45 +f 3113/2334/45 3125/2335/45 3114/2336/45 +f 3120/2328/45 3133/2337/45 3121/2338/45 +f 3117/2331/45 3130/2339/45 3118/2340/45 +f 3124/2333/45 3126/2341/45 3113/2334/45 +f 3114/2336/45 3127/2342/45 3115/2343/45 +f 3122/2344/45 3133/2345/45 3134/2346/45 +f 3119/2326/45 3130/2347/45 3131/2348/45 +f 3116/2329/45 3127/2349/45 3128/2350/45 +f 3147/2351/45 3143/2352/45 3139/2353/45 +f 3187/2354/40 3198/2355/40 3186/2356/40 +f 3188/2357/40 3199/2358/40 3187/2359/40 +f 3189/2360/40 3200/2361/40 3188/2362/40 +f 3190/2363/40 3201/2364/40 3189/2365/40 +f 3190/2366/40 3203/2367/40 3202/2368/40 +f 3192/2369/40 3203/2370/40 3191/2371/40 +f 3193/2372/40 3204/2373/40 3192/2374/40 +f 3193/2375/40 3206/2376/40 3205/2377/40 +f 3194/2378/40 3207/2379/40 3206/2380/40 +f 3196/2381/40 3207/2382/40 3195/2383/40 +f 3185/2384/40 3208/2385/40 3196/2386/40 +f 3185/2387/40 3198/2388/40 3197/2389/40 +f 3211/2390/40 3213/2391/40 3217/2392/40 +f 3225/2393/39 3238/2394/39 3226/2395/39 +f 3232/2396/39 3233/2397/39 3221/2398/39 +f 3223/2399/39 3234/2400/39 3235/2401/39 +f 3230/2402/39 3241/2403/39 3242/2404/39 +f 3226/2405/39 3239/2406/39 3227/2407/39 +f 3223/2408/39 3236/2409/39 3224/2410/39 +f 3230/2411/39 3243/2412/39 3231/2413/39 +f 3228/2414/39 3239/2415/39 3240/2416/39 +f 3224/2417/39 3237/2418/39 3225/2419/39 +f 3231/2420/39 3244/2421/39 3232/2422/39 +f 3221/2423/39 3234/2424/39 3222/2425/39 +f 3229/2426/39 3240/2427/39 3241/2428/39 +f 3255/2429/39 3266/2430/39 3267/2431/39 +f 3251/2432/39 3264/2433/39 3252/2434/39 +f 3249/2435/39 3260/2436/39 3261/2437/39 +f 3255/2429/39 3268/2438/39 3256/2439/39 +f 3245/2440/39 3257/2441/39 3246/2442/39 +f 3253/2443/39 3264/2444/39 3265/2445/39 +f 3250/2446/39 3261/2447/39 3262/2448/39 +f 3256/2439/39 3258/2449/39 3245/2440/39 +f 3246/2442/39 3259/2450/39 3247/2451/39 +f 3254/2452/39 3265/2453/39 3266/2454/39 +f 3250/2446/39 3263/2455/39 3251/2432/39 +f 3247/2451/39 3260/2456/39 3248/2457/39 +f 3273/2458/39 3271/2459/39 3279/2460/39 +f 3319/2461/42 3330/2462/42 3318/2463/42 +f 3320/2464/42 3331/2465/42 3319/2466/42 +f 3321/2467/42 3332/2468/42 3320/2469/42 +f 3322/2470/42 3333/2471/42 3321/2472/42 +f 3322/2473/42 3335/2474/42 3334/2475/42 +f 3323/2476/42 3336/2477/42 3335/2478/42 +f 3324/2479/42 3337/2480/42 3336/2481/42 +f 3325/2482/42 3338/2483/42 3337/2484/42 +f 3327/2485/42 3338/2486/42 3326/2487/42 +f 3328/2488/42 3339/2489/42 3327/2490/42 +f 3317/2491/42 3340/2492/42 3328/2493/42 +f 3317/2494/42 3330/2495/42 3329/2496/42 +f 3351/2497/42 3342/2498/42 3345/2499/42 +f 3358/2500/41 3369/2501/41 3370/2502/41 +f 3353/2503/41 3376/2504/41 3365/2505/41 +f 3355/2506/41 3366/2507/41 3367/2508/41 +f 3362/2509/41 3373/2510/41 3374/2511/41 +f 3359/2512/41 3370/2513/41 3371/2514/41 +f 3356/2515/41 3367/2516/41 3368/2517/41 +f 3362/2518/41 3375/2519/41 3363/2520/41 +f 3360/2521/41 3371/2522/41 3372/2523/41 +f 3356/2524/41 3369/2525/41 3357/2526/41 +f 3364/2527/41 3375/2528/41 3376/2529/41 +f 3353/2530/41 3366/2531/41 3354/2532/41 +f 3360/2533/41 3373/2534/41 3361/2535/41 +f 3386/2536/41 3399/2537/41 3387/2538/41 +f 3383/2539/41 3396/2540/41 3384/2541/41 +f 3380/2542/41 3393/2543/41 3381/2544/41 +f 3388/2545/41 3399/2546/41 3400/2547/41 +f 3378/2548/41 3390/2549/41 3389/2550/41 +f 3384/2541/41 3397/2551/41 3385/2552/41 +f 3382/2553/41 3393/2554/41 3394/2555/41 +f 3377/2556/41 3400/2557/41 3390/2558/41 +f 3378/2548/41 3391/2559/41 3379/2560/41 +f 3386/2561/41 3397/2562/41 3398/2563/41 +f 3383/2539/41 3394/2564/41 3395/2565/41 +f 3380/2542/41 3391/2566/41 3392/2567/41 +f 3411/2568/41 3409/2569/41 3407/2570/41 +f 78/1/1 126/2571/1 127/2/1 +f 79/4/1 127/2572/1 128/5/1 +f 128/7/1 113/2573/1 65/8/1 +f 113/10/1 114/2574/1 66/11/1 +f 114/13/1 115/2575/1 67/14/1 +f 115/16/1 116/2576/1 68/17/1 +f 116/19/1 117/2577/1 69/20/1 +f 117/22/1 118/2578/1 70/23/1 +f 118/25/1 119/2579/1 71/26/1 +f 71/28/1 119/2580/1 120/29/1 +f 72/31/1 120/2581/1 121/32/1 +f 73/34/1 121/2582/1 122/35/1 +f 74/37/1 122/2583/1 123/38/1 +f 75/40/1 123/2584/1 124/41/1 +f 76/43/1 124/2585/1 125/44/1 +f 77/46/1 125/2586/1 126/47/1 +f 95/49/2 96/2587/2 208/50/2 +f 81/52/2 193/2588/2 208/53/2 +f 82/55/2 194/2589/2 193/56/2 +f 83/58/2 195/2590/2 194/59/2 +f 84/61/2 196/2591/2 195/62/2 +f 85/64/2 197/2592/2 196/65/2 +f 86/67/2 198/2593/2 197/68/2 +f 87/70/2 199/2594/2 198/71/2 +f 87/73/2 88/2595/2 200/74/2 +f 88/76/2 89/2596/2 201/77/2 +f 89/79/2 90/2597/2 202/80/2 +f 90/82/2 91/2598/2 203/83/2 +f 91/85/2 92/2599/2 204/86/2 +f 92/88/2 93/2600/2 205/89/2 +f 93/91/2 94/2601/2 206/92/2 +f 94/94/2 95/2602/2 207/95/2 +f 237/97/2 238/2603/2 142/98/2 +f 238/100/2 239/2604/2 143/101/2 +f 143/103/2 239/2605/2 240/104/2 +f 240/106/2 225/2606/2 129/107/2 +f 225/109/2 226/2607/2 130/110/2 +f 130/112/2 226/2608/2 227/113/2 +f 227/115/2 228/2609/2 132/116/2 +f 228/118/2 229/2610/2 133/119/2 +f 133/121/2 229/2611/2 230/122/2 +f 134/124/2 230/2612/2 231/125/2 +f 231/127/2 232/2613/2 136/128/2 +f 232/130/2 233/2614/2 137/131/2 +f 137/133/2 233/2615/2 234/134/2 +f 138/136/2 234/2616/2 235/137/2 +f 235/139/2 236/2617/2 140/140/2 +f 236/142/2 237/2618/2 141/143/2 +f 254/145/1 286/2619/1 287/146/1 +f 287/148/1 288/2620/1 256/149/1 +f 256/151/1 288/2621/1 273/152/1 +f 241/154/1 273/2622/1 274/155/1 +f 274/157/1 275/2623/1 243/158/1 +f 243/160/1 275/2624/1 276/161/1 +f 276/163/1 277/2625/1 245/164/1 +f 277/166/1 278/2626/1 246/167/1 +f 278/169/1 279/2627/1 247/170/1 +f 247/172/1 279/2628/1 280/173/1 +f 248/175/1 280/2629/1 281/176/1 +f 281/178/1 282/2630/1 250/179/1 +f 282/181/1 283/2631/1 251/182/1 +f 283/184/1 284/2632/1 252/185/1 +f 252/187/1 284/2633/1 285/188/1 +f 253/190/1 285/2634/1 286/191/1 +f 191/193/1 399/2635/1 398/194/1 +f 191/196/1 192/2636/1 400/197/1 +f 177/199/1 385/2637/1 400/200/1 +f 178/202/1 386/2638/1 385/203/1 +f 178/205/1 179/2639/1 387/206/1 +f 180/208/1 388/2640/1 387/209/1 +f 180/211/1 181/2641/1 389/212/1 +f 181/214/1 182/2642/1 390/215/1 +f 182/217/1 183/2643/1 391/218/1 +f 184/220/1 392/2644/1 391/221/1 +f 185/223/1 393/2645/1 392/224/1 +f 185/226/1 186/2646/1 394/227/1 +f 186/229/1 187/2647/1 395/230/1 +f 188/232/1 396/2648/1 395/233/1 +f 189/235/1 397/2649/1 396/236/1 +f 190/238/1 398/2650/1 397/239/1 +f 414/241/2 415/2651/2 367/242/2 +f 367/244/2 415/2652/2 416/245/2 +f 416/247/2 401/2653/2 353/248/2 +f 401/250/2 402/2654/2 354/251/2 +f 354/253/2 402/2655/2 403/254/2 +f 403/256/2 404/2656/2 356/257/2 +f 404/259/2 405/2657/2 357/260/2 +f 357/262/2 405/2658/2 406/263/2 +f 358/265/2 406/2659/2 407/266/2 +f 407/268/2 408/2660/2 360/269/2 +f 408/271/2 409/2661/2 361/272/2 +f 361/274/2 409/2662/2 410/275/2 +f 362/277/2 410/2663/2 411/278/2 +f 411/280/2 412/2664/2 364/281/2 +f 412/283/2 413/2665/2 365/284/2 +f 413/286/2 414/2666/2 366/287/2 +f 301/289/2 429/2667/2 430/290/2 +f 430/292/2 431/2668/2 303/293/2 +f 431/295/2 432/2669/2 304/296/2 +f 432/298/2 417/2670/2 289/299/2 +f 417/301/2 418/2671/2 290/302/2 +f 290/304/2 418/2672/2 419/305/2 +f 419/307/2 420/2673/2 292/308/2 +f 292/310/2 420/2674/2 421/311/2 +f 421/313/2 422/2675/2 294/314/2 +f 294/316/2 422/2676/2 423/317/2 +f 423/319/2 424/2677/2 296/320/2 +f 296/322/2 424/2678/2 425/323/2 +f 297/325/2 425/2679/2 426/326/2 +f 426/328/2 427/2680/2 299/329/2 +f 427/331/2 428/2681/2 300/332/2 +f 428/334/2 429/2682/2 301/335/2 +f 435/339/2 433/2683/2 447/2684/2 +f 433/2683/2 434/2685/2 447/2684/2 +f 434/2685/2 448/2686/2 447/2684/2 +f 447/2684/2 446/2687/2 445/2688/2 +f 445/2688/2 444/2689/2 443/337/2 +f 443/337/2 442/2690/2 441/2691/2 +f 441/2691/2 440/2692/2 443/337/2 +f 440/2692/2 439/338/2 443/337/2 +f 439/338/2 438/2693/2 435/339/2 +f 438/2693/2 437/2694/2 435/339/2 +f 437/2694/2 436/2695/2 435/339/2 +f 447/2684/2 445/2688/2 435/339/2 +f 445/2688/2 443/337/2 435/339/2 +f 351/340/1 463/2696/1 462/341/1 +f 352/343/1 464/2697/1 463/344/1 +f 337/346/1 449/2698/1 464/347/1 +f 338/349/1 450/2699/1 449/350/1 +f 338/352/1 339/2700/1 451/353/1 +f 340/355/1 452/2701/1 451/356/1 +f 340/358/1 341/2702/1 453/359/1 +f 342/361/1 454/2703/1 453/362/1 +f 342/364/1 343/2704/1 455/365/1 +f 344/367/1 456/2705/1 455/368/1 +f 344/370/1 345/2706/1 457/371/1 +f 345/373/1 346/2707/1 458/374/1 +f 347/376/1 459/2708/1 458/377/1 +f 348/379/1 460/2709/1 459/380/1 +f 349/382/1 461/2710/1 460/383/1 +f 349/385/1 350/2711/1 462/386/1 +f 466/390/1 465/2712/1 467/2713/1 +f 467/2713/1 468/2714/1 466/390/1 +f 468/2714/1 469/2715/1 466/390/1 +f 469/2715/1 470/2716/1 471/2717/1 +f 471/2717/1 472/2718/1 473/388/1 +f 473/388/1 474/2719/1 475/2720/1 +f 475/2720/1 476/2721/1 477/389/1 +f 477/389/1 478/2722/1 479/2723/1 +f 479/2723/1 480/2724/1 466/390/1 +f 469/2715/1 471/2717/1 466/390/1 +f 471/2717/1 473/388/1 466/390/1 +f 473/388/1 475/2720/1 477/389/1 +f 477/389/1 479/2723/1 466/390/1 +f 546/391/3 548/398/3 547/392/3 +f 554/394/3 556/403/3 555/395/3 +f 546/391/4 551/2725/4 552/397/4 +f 547/392/5 549/2726/5 550/399/5 +f 548/398/2 552/2727/2 549/400/2 +f 545/393/1 550/2728/1 551/401/1 +f 554/394/4 559/2729/4 560/402/4 +f 555/395/5 557/2730/5 558/404/5 +f 556/403/2 560/2731/2 557/405/2 +f 553/396/1 558/2732/1 559/406/1 +f 562/407/3 564/414/3 563/408/3 +f 570/410/3 572/419/3 571/411/3 +f 562/407/4 567/2733/4 568/413/4 +f 563/408/5 565/2734/5 566/415/5 +f 564/414/2 568/2735/2 565/416/2 +f 561/409/1 566/2736/1 567/417/1 +f 570/410/4 575/2737/4 576/418/4 +f 571/411/5 573/2738/5 574/420/5 +f 572/419/2 576/2739/2 573/421/2 +f 569/412/1 574/2740/1 575/422/1 +f 578/423/4 582/431/4 584/424/4 +f 579/426/5 583/429/5 581/427/5 +f 580/425/3 584/424/3 583/429/3 +f 577/430/6 581/2741/6 582/431/6 +f 586/432/4 590/440/4 592/433/4 +f 587/435/5 591/438/5 589/436/5 +f 588/434/3 592/433/3 591/438/3 +f 585/439/6 589/2742/6 590/440/6 +f 594/441/4 598/449/4 600/442/4 +f 595/444/5 599/447/5 597/445/5 +f 596/443/3 600/442/3 599/447/3 +f 593/448/6 597/2743/6 598/449/6 +f 602/450/4 606/458/4 608/451/4 +f 603/453/5 607/456/5 605/454/5 +f 604/452/3 608/451/3 607/456/3 +f 601/457/6 605/2744/6 606/458/6 +f 611/459/6 612/470/6 610/460/6 +f 615/462/3 616/466/3 613/463/3 +f 611/465/7 613/463/7 616/466/7 +f 610/468/8 615/462/8 614/464/8 +f 612/470/4 616/466/4 615/462/4 +f 609/471/5 614/464/5 613/463/5 +f 619/473/6 620/484/6 618/474/6 +f 623/476/3 624/480/3 621/477/3 +f 619/479/7 621/477/7 624/480/7 +f 618/482/8 623/476/8 622/478/8 +f 620/484/4 624/480/4 623/476/4 +f 617/485/5 622/478/5 621/477/5 +f 626/487/4 631/497/4 632/488/4 +f 627/490/5 629/494/5 630/491/5 +f 628/493/2 632/488/2 629/494/2 +f 625/496/1 630/491/1 631/497/1 +f 634/499/4 639/509/4 640/500/4 +f 635/502/5 637/506/5 638/503/5 +f 636/505/2 640/500/2 637/506/2 +f 633/508/1 638/503/1 639/509/1 +f 642/511/4 647/521/4 648/512/4 +f 643/514/5 645/518/5 646/515/5 +f 644/517/2 648/512/2 645/518/2 +f 641/520/1 646/515/1 647/521/1 +f 650/523/4 655/533/4 656/524/4 +f 651/526/5 653/530/5 654/527/5 +f 652/529/2 656/524/2 653/530/2 +f 649/532/1 654/527/1 655/533/1 +f 648/512/6 647/521/6 646/515/6 +f 656/524/6 655/533/6 654/527/6 +f 632/488/6 631/497/6 630/491/6 +f 640/500/6 639/509/6 638/503/6 +f 658/535/4 662/543/4 664/536/4 +f 659/538/5 663/541/5 661/539/5 +f 660/537/3 664/536/3 663/541/3 +f 657/542/6 661/2745/6 662/543/6 +f 666/544/4 670/552/4 672/545/4 +f 667/547/5 671/550/5 669/548/5 +f 668/546/3 672/545/3 671/550/3 +f 665/551/6 669/2746/6 670/552/6 +f 674/553/4 678/561/4 680/554/4 +f 675/556/5 679/559/5 677/557/5 +f 676/555/3 680/554/3 679/559/3 +f 673/560/6 677/2747/6 678/561/6 +f 682/562/4 686/570/4 688/563/4 +f 683/565/5 687/568/5 685/566/5 +f 684/564/3 688/563/3 687/568/3 +f 681/569/6 685/2748/6 686/570/6 +f 691/571/3 692/582/3 690/572/3 +f 695/574/6 696/578/6 693/575/6 +f 691/577/9 693/575/9 696/578/9 +f 690/580/10 695/574/10 694/576/10 +f 692/582/5 696/578/5 695/574/5 +f 689/583/4 694/576/4 693/575/4 +f 699/585/3 700/596/3 698/586/3 +f 703/588/6 704/592/6 701/589/6 +f 699/591/9 701/589/9 704/592/9 +f 698/594/10 703/588/10 702/590/10 +f 700/596/5 704/592/5 703/588/5 +f 697/597/4 702/590/4 701/589/4 +f 707/599/2 708/605/2 706/600/2 +f 710/602/1 712/611/1 711/603/1 +f 708/605/4 712/611/4 710/606/4 +f 705/608/5 709/612/5 711/609/5 +f 707/599/3 711/603/3 712/611/3 +f 706/607/6 710/606/6 709/612/6 +f 715/613/6 716/624/6 714/614/6 +f 717/616/3 721/639/3 724/617/3 +f 715/619/2 717/616/2 720/618/2 +f 714/621/1 719/632/1 718/622/1 +f 716/624/4 720/634/4 719/625/4 +f 713/626/5 718/635/5 717/627/5 +f 724/629/4 728/2749/4 727/630/4 +f 719/632/3 723/641/3 722/633/3 +f 720/634/3 724/629/3 723/631/3 +f 718/635/3 722/637/3 721/636/3 +f 722/637/5 726/2750/5 725/638/5 +f 721/639/2 725/2751/2 728/640/2 +f 723/641/1 727/2752/1 726/642/1 +f 731/643/2 732/649/2 730/644/2 +f 734/646/1 736/655/1 735/647/1 +f 732/649/4 736/655/4 734/650/4 +f 729/652/5 733/656/5 735/653/5 +f 731/643/3 735/647/3 736/655/3 +f 730/651/6 734/650/6 733/656/6 +f 738/657/3 740/662/3 739/658/3 +f 737/659/1 742/2753/1 743/660/1 +f 738/657/4 743/2754/4 744/661/4 +f 739/658/5 741/2755/5 742/663/5 +f 740/662/2 744/2756/2 741/664/2 +f 747/665/6 748/671/6 746/666/6 +f 754/668/4 756/688/4 755/669/4 +f 748/671/4 752/676/4 751/672/4 +f 745/673/5 750/678/5 749/674/5 +f 747/675/2 749/674/2 752/676/2 +f 746/677/1 751/2757/1 750/678/1 +f 760/679/4 764/702/4 761/680/4 +f 756/682/2 760/679/2 757/681/2 +f 753/684/1 758/695/1 759/685/1 +f 754/668/6 759/697/6 760/687/6 +f 755/689/3 757/698/3 758/690/3 +f 763/692/6 767/2758/6 768/693/6 +f 758/695/4 762/704/4 763/696/4 +f 759/697/4 763/692/4 764/694/4 +f 757/698/4 761/700/4 762/699/4 +f 761/700/3 765/2759/3 766/701/3 +f 764/702/2 768/2760/2 765/703/2 +f 762/704/1 766/2761/1 767/705/1 +f 844/706/11 914/2762/11 906/707/11 +f 905/709/12 913/2763/12 843/710/12 +f 860/708/2 906/2764/2 905/712/2 +f 913/713/1 914/2765/1 844/706/1 +f 862/714/2 863/722/2 908/715/2 +f 846/717/1 915/2766/1 916/718/1 +f 862/714/13 907/2767/13 915/720/13 +f 916/721/14 908/2768/14 863/722/14 +f 917/723/1 918/2769/1 852/724/1 +f 868/726/2 910/2770/2 909/727/2 +f 852/724/15 918/2771/15 910/729/15 +f 867/728/16 909/2772/16 917/730/16 +f 870/731/2 871/738/2 912/732/2 +f 854/734/1 919/2773/1 920/735/1 +f 920/737/17 912/2774/17 871/738/17 +f 870/731/18 911/2775/18 919/739/18 +f 959/740/4 971/2776/4 970/741/4 +f 960/743/4 972/2777/4 971/744/4 +f 961/746/4 973/2778/4 972/747/4 +f 962/749/4 974/2779/4 973/750/4 +f 962/752/4 963/2780/4 975/753/4 +f 964/755/4 976/2781/4 975/756/4 +f 964/758/4 965/2782/4 977/759/4 +f 965/761/4 966/2783/4 978/762/4 +f 967/764/4 979/2784/4 978/765/4 +f 968/767/4 980/2785/4 979/768/4 +f 968/770/4 957/2786/4 969/771/4 +f 957/773/4 958/2787/4 970/774/4 +f 982/777/4 981/2788/4 985/778/4 +f 981/2788/4 983/2789/4 985/778/4 +f 983/2789/4 984/2790/4 985/778/4 +f 985/778/4 986/2791/4 987/2792/4 +f 987/2792/4 988/2793/4 989/2794/4 +f 989/2794/4 990/2795/4 991/776/4 +f 991/776/4 992/2796/4 982/777/4 +f 985/778/4 987/2792/4 989/2794/4 +f 989/2794/4 991/776/4 985/778/4 +f 998/779/5 997/2797/5 1009/780/5 +f 1004/782/5 1016/2798/5 1005/783/5 +f 994/785/5 1006/2799/5 1007/786/5 +f 1002/788/5 1001/2800/5 1013/789/5 +f 998/791/5 1010/2801/5 1011/792/5 +f 996/794/5 995/2802/5 1007/795/5 +f 1002/797/5 1014/2803/5 1015/798/5 +f 999/800/5 1011/2804/5 1012/801/5 +f 996/803/5 1008/2805/5 1009/804/5 +f 1004/806/5 1003/2806/5 1015/807/5 +f 993/809/5 1005/2807/5 1006/810/5 +f 1000/812/5 1012/2808/5 1013/813/5 +f 1026/815/5 1038/2809/5 1039/816/5 +f 1023/818/5 1035/2810/5 1036/819/5 +f 1020/821/5 1032/2811/5 1033/822/5 +f 1028/824/5 1027/817/5 1039/825/5 +f 1017/827/5 1030/2812/5 1029/828/5 +f 1024/820/5 1036/2813/5 1037/830/5 +f 1022/832/5 1021/823/5 1033/833/5 +f 1028/824/5 1040/2814/5 1030/835/5 +f 1018/829/5 1029/2815/5 1031/836/5 +f 1026/838/5 1025/831/5 1037/839/5 +f 1022/832/5 1034/2816/5 1035/841/5 +f 1020/821/5 1019/837/5 1031/842/5 +f 1043/2817/5 1041/2818/5 1042/844/5 +f 1042/844/5 1052/2819/5 1051/845/5 +f 1051/845/5 1050/2820/5 1047/846/5 +f 1050/2820/5 1049/2821/5 1047/846/5 +f 1049/2821/5 1048/2822/5 1047/846/5 +f 1047/846/5 1046/2823/5 1045/2824/5 +f 1045/2824/5 1044/2825/5 1047/846/5 +f 1044/2825/5 1043/2817/5 1047/846/5 +f 1043/2817/5 1042/844/5 1047/846/5 +f 1069/847/2 1081/2826/2 1082/848/2 +f 1076/850/2 1088/2827/2 1077/851/2 +f 1066/853/2 1078/2828/2 1079/854/2 +f 1074/856/2 1073/875/2 1085/857/2 +f 1071/859/2 1070/849/2 1082/860/2 +f 1068/862/2 1067/855/2 1079/863/2 +f 1074/865/2 1086/2829/2 1087/866/2 +f 1071/859/2 1083/2830/2 1084/868/2 +f 1068/862/2 1080/2831/2 1081/870/2 +f 1076/850/2 1075/867/2 1087/871/2 +f 1066/853/2 1065/852/2 1077/873/2 +f 1073/875/2 1072/869/2 1084/876/2 +f 1098/878/2 1110/2832/2 1111/879/2 +f 1095/881/2 1107/2833/2 1108/882/2 +f 1092/884/2 1104/2834/2 1105/885/2 +f 1100/887/2 1099/880/2 1111/888/2 +f 1090/890/2 1089/899/2 1102/891/2 +f 1097/893/2 1096/883/2 1108/894/2 +f 1093/886/2 1105/2835/2 1106/896/2 +f 1100/887/2 1112/2836/2 1102/898/2 +f 1090/890/2 1101/2837/2 1103/900/2 +f 1098/902/2 1097/893/2 1109/903/2 +f 1095/881/2 1094/897/2 1106/905/2 +f 1092/884/2 1091/901/2 1103/907/2 +f 1115/911/2 1113/2838/2 1114/2839/2 +f 1114/2839/2 1124/2840/2 1115/911/2 +f 1124/2840/2 1123/909/2 1115/911/2 +f 1123/909/2 1122/2841/2 1119/910/2 +f 1122/2841/2 1121/2842/2 1119/910/2 +f 1121/2842/2 1120/2843/2 1119/910/2 +f 1119/910/2 1118/2844/2 1117/2845/2 +f 1117/2845/2 1116/2846/2 1119/910/2 +f 1116/2846/2 1115/911/2 1119/910/2 +f 1618/939/4 1620/951/4 1619/940/4 +f 1624/942/4 1628/965/4 1625/943/4 +f 1620/945/2 1624/942/2 1621/944/2 +f 1617/947/1 1622/958/1 1623/948/1 +f 1618/939/6 1623/960/6 1624/950/6 +f 1619/952/3 1621/961/3 1622/953/3 +f 1627/955/6 1631/2847/6 1632/956/6 +f 1622/958/4 1626/967/4 1627/959/4 +f 1623/960/4 1627/955/4 1628/957/4 +f 1621/961/4 1625/963/4 1626/962/4 +f 1625/963/3 1629/2848/3 1630/964/3 +f 1628/965/2 1632/2849/2 1629/966/2 +f 1626/967/1 1630/2850/1 1631/968/1 +f 1634/969/5 1636/981/5 1635/970/5 +f 1640/972/5 1644/995/5 1641/973/5 +f 1636/975/1 1640/972/1 1637/974/1 +f 1633/977/2 1638/988/2 1639/978/2 +f 1634/969/6 1639/990/6 1640/980/6 +f 1635/982/3 1637/991/3 1638/983/3 +f 1643/985/6 1647/2851/6 1648/986/6 +f 1638/988/5 1642/997/5 1643/989/5 +f 1639/990/5 1643/985/5 1644/987/5 +f 1637/991/5 1641/993/5 1642/992/5 +f 1641/993/3 1645/2852/3 1646/994/3 +f 1644/995/1 1648/2853/1 1645/996/1 +f 1642/997/2 1646/2854/2 1647/998/2 +f 1650/999/5 1652/1011/5 1651/1000/5 +f 1656/1002/5 1660/1025/5 1657/1003/5 +f 1652/1005/1 1656/1002/1 1653/1004/1 +f 1649/1007/2 1654/1018/2 1655/1008/2 +f 1650/999/6 1655/1020/6 1656/1010/6 +f 1651/1012/3 1653/1021/3 1654/1013/3 +f 1659/1015/6 1663/2855/6 1664/1016/6 +f 1654/1018/5 1658/1027/5 1659/1019/5 +f 1655/1020/5 1659/1015/5 1660/1017/5 +f 1653/1021/5 1657/1023/5 1658/1022/5 +f 1657/1023/3 1661/2856/3 1662/1024/3 +f 1660/1025/1 1664/2857/1 1661/1026/1 +f 1658/1027/2 1662/2858/2 1663/1028/2 +f 1667/1029/6 1668/1040/6 1666/1030/6 +f 1669/1032/3 1673/1055/3 1676/1033/3 +f 1667/1035/2 1669/1032/2 1672/1034/2 +f 1666/1037/1 1671/1048/1 1670/1038/1 +f 1668/1040/4 1672/1050/4 1671/1041/4 +f 1665/1042/5 1670/1051/5 1669/1043/5 +f 1676/1045/4 1680/2859/4 1679/1046/4 +f 1671/1048/3 1675/1057/3 1674/1049/3 +f 1672/1050/3 1676/1045/3 1675/1047/3 +f 1670/1051/3 1674/1053/3 1673/1052/3 +f 1674/1053/5 1678/2860/5 1677/1054/5 +f 1673/1055/2 1677/2861/2 1680/1056/2 +f 1675/1057/1 1679/2862/1 1678/1058/1 +f 1683/1059/6 1684/1070/6 1682/1060/6 +f 1685/1062/3 1689/1085/3 1692/1063/3 +f 1683/1065/2 1685/1062/2 1688/1064/2 +f 1682/1067/1 1687/1078/1 1686/1068/1 +f 1684/1070/4 1688/1080/4 1687/1071/4 +f 1681/1072/5 1686/1081/5 1685/1073/5 +f 1692/1075/4 1696/2863/4 1695/1076/4 +f 1687/1078/3 1691/1087/3 1690/1079/3 +f 1688/1080/3 1692/1075/3 1691/1077/3 +f 1686/1081/3 1690/1083/3 1689/1082/3 +f 1690/1083/5 1694/2864/5 1693/1084/5 +f 1689/1085/2 1693/2865/2 1696/1086/2 +f 1691/1087/1 1695/2866/1 1694/1088/1 +f 1699/1089/6 1700/1100/6 1698/1090/6 +f 1701/1092/3 1705/1115/3 1708/1093/3 +f 1699/1095/2 1701/1092/2 1704/1094/2 +f 1698/1097/1 1703/1108/1 1702/1098/1 +f 1700/1100/4 1704/1110/4 1703/1101/4 +f 1697/1102/5 1702/1111/5 1701/1103/5 +f 1708/1105/4 1712/2867/4 1711/1106/4 +f 1703/1108/3 1707/1117/3 1706/1109/3 +f 1704/1110/3 1708/1105/3 1707/1107/3 +f 1702/1111/3 1706/1113/3 1705/1112/3 +f 1706/1113/5 1710/2868/5 1709/1114/5 +f 1705/1115/2 1709/2869/2 1712/1116/2 +f 1707/1117/1 1711/2870/1 1710/1118/1 +f 1715/1119/6 1716/1130/6 1714/1120/6 +f 1717/1122/3 1721/1145/3 1724/1123/3 +f 1715/1125/2 1717/1122/2 1720/1124/2 +f 1714/1127/1 1719/1138/1 1718/1128/1 +f 1716/1130/4 1720/1140/4 1719/1131/4 +f 1713/1132/5 1718/1141/5 1717/1133/5 +f 1724/1135/4 1728/2871/4 1727/1136/4 +f 1719/1138/3 1723/1147/3 1722/1139/3 +f 1720/1140/3 1724/1135/3 1723/1137/3 +f 1718/1141/3 1722/1143/3 1721/1142/3 +f 1722/1143/5 1726/2872/5 1725/1144/5 +f 1721/1145/2 1725/2873/2 1728/1146/2 +f 1723/1147/1 1727/2874/1 1726/1148/1 +f 1731/1149/6 1732/1160/6 1730/1150/6 +f 1733/1152/3 1737/1175/3 1740/1153/3 +f 1731/1155/2 1733/1152/2 1736/1154/2 +f 1730/1157/1 1735/1168/1 1734/1158/1 +f 1732/1160/4 1736/1170/4 1735/1161/4 +f 1729/1162/5 1734/1171/5 1733/1163/5 +f 1740/1165/4 1744/2875/4 1743/1166/4 +f 1735/1168/3 1739/1177/3 1738/1169/3 +f 1736/1170/3 1740/1165/3 1739/1167/3 +f 1734/1171/3 1738/1173/3 1737/1172/3 +f 1738/1173/5 1742/2876/5 1741/1174/5 +f 1737/1175/2 1741/2877/2 1744/1176/2 +f 1739/1177/1 1743/2878/1 1742/1178/1 +f 1747/1179/6 1748/1190/6 1746/1180/6 +f 1749/1182/3 1753/1205/3 1756/1183/3 +f 1747/1185/2 1749/1182/2 1752/1184/2 +f 1746/1187/1 1751/1198/1 1750/1188/1 +f 1748/1190/4 1752/1200/4 1751/1191/4 +f 1745/1192/5 1750/1201/5 1749/1193/5 +f 1756/1195/4 1760/2879/4 1759/1196/4 +f 1751/1198/3 1755/1207/3 1754/1199/3 +f 1752/1200/3 1756/1195/3 1755/1197/3 +f 1750/1201/3 1754/1203/3 1753/1202/3 +f 1754/1203/5 1758/2880/5 1757/1204/5 +f 1753/1205/2 1757/2881/2 1760/1206/2 +f 1755/1207/1 1759/2882/1 1758/1208/1 +f 1763/1209/6 1764/1220/6 1762/1210/6 +f 1765/1212/3 1769/1235/3 1772/1213/3 +f 1763/1215/2 1765/1212/2 1768/1214/2 +f 1762/1217/1 1767/1228/1 1766/1218/1 +f 1764/1220/4 1768/1230/4 1767/1221/4 +f 1761/1222/5 1766/1231/5 1765/1223/5 +f 1772/1225/4 1776/2883/4 1775/1226/4 +f 1767/1228/3 1771/1237/3 1770/1229/3 +f 1768/1230/3 1772/1225/3 1771/1227/3 +f 1766/1231/3 1770/1233/3 1769/1232/3 +f 1770/1233/5 1774/2884/5 1773/1234/5 +f 1769/1235/2 1773/2885/2 1776/1236/2 +f 1771/1237/1 1775/2886/1 1774/1238/1 +f 1779/1239/6 1780/1250/6 1778/1240/6 +f 1781/1242/3 1785/1265/3 1788/1243/3 +f 1779/1245/2 1781/1242/2 1784/1244/2 +f 1778/1247/1 1783/1258/1 1782/1248/1 +f 1780/1250/4 1784/1260/4 1783/1251/4 +f 1777/1252/5 1782/1261/5 1781/1253/5 +f 1788/1255/4 1792/2887/4 1791/1256/4 +f 1783/1258/3 1787/1267/3 1786/1259/3 +f 1784/1260/3 1788/1255/3 1787/1257/3 +f 1782/1261/3 1786/1263/3 1785/1262/3 +f 1786/1263/5 1790/2888/5 1789/1264/5 +f 1785/1265/2 1789/2889/2 1792/1266/2 +f 1787/1267/1 1791/2890/1 1790/1268/1 +f 1795/1269/6 1796/1280/6 1794/1270/6 +f 1797/1272/3 1801/1295/3 1804/1273/3 +f 1795/1275/2 1797/1272/2 1800/1274/2 +f 1794/1277/1 1799/1288/1 1798/1278/1 +f 1796/1280/4 1800/1290/4 1799/1281/4 +f 1793/1282/5 1798/1291/5 1797/1283/5 +f 1804/1285/4 1808/2891/4 1807/1286/4 +f 1799/1288/3 1803/1297/3 1802/1289/3 +f 1800/1290/3 1804/1285/3 1803/1287/3 +f 1798/1291/3 1802/1293/3 1801/1292/3 +f 1802/1293/5 1806/2892/5 1805/1294/5 +f 1801/1295/2 1805/2893/2 1808/1296/2 +f 1803/1297/1 1807/2894/1 1806/1298/1 +f 1811/1299/6 1812/1310/6 1810/1300/6 +f 1813/1302/3 1817/1325/3 1820/1303/3 +f 1811/1305/2 1813/1302/2 1816/1304/2 +f 1810/1307/1 1815/1318/1 1814/1308/1 +f 1812/1310/4 1816/1320/4 1815/1311/4 +f 1809/1312/5 1814/1321/5 1813/1313/5 +f 1820/1315/4 1824/2895/4 1823/1316/4 +f 1815/1318/3 1819/1327/3 1818/1319/3 +f 1816/1320/3 1820/1315/3 1819/1317/3 +f 1814/1321/3 1818/1323/3 1817/1322/3 +f 1818/1323/5 1822/2896/5 1821/1324/5 +f 1817/1325/2 1821/2897/2 1824/1326/2 +f 1819/1327/1 1823/2898/1 1822/1328/1 +f 1827/1329/6 1828/1340/6 1826/1330/6 +f 1829/1332/3 1833/1355/3 1836/1333/3 +f 1827/1335/2 1829/1332/2 1832/1334/2 +f 1826/1337/1 1831/1348/1 1830/1338/1 +f 1828/1340/4 1832/1350/4 1831/1341/4 +f 1825/1342/5 1830/1351/5 1829/1343/5 +f 1836/1345/4 1840/2899/4 1839/1346/4 +f 1831/1348/3 1835/1357/3 1834/1349/3 +f 1832/1350/3 1836/1345/3 1835/1347/3 +f 1830/1351/3 1834/1353/3 1833/1352/3 +f 1834/1353/5 1838/2900/5 1837/1354/5 +f 1833/1355/2 1837/2901/2 1840/1356/2 +f 1835/1357/1 1839/2902/1 1838/1358/1 +f 1843/1359/6 1844/1370/6 1842/1360/6 +f 1845/1362/3 1849/1385/3 1852/1363/3 +f 1843/1365/2 1845/1362/2 1848/1364/2 +f 1842/1367/1 1847/1378/1 1846/1368/1 +f 1844/1370/4 1848/1380/4 1847/1371/4 +f 1841/1372/5 1846/1381/5 1845/1373/5 +f 1852/1375/4 1856/2903/4 1855/1376/4 +f 1847/1378/3 1851/1387/3 1850/1379/3 +f 1848/1380/3 1852/1375/3 1851/1377/3 +f 1846/1381/3 1850/1383/3 1849/1382/3 +f 1850/1383/5 1854/2904/5 1853/1384/5 +f 1849/1385/2 1853/2905/2 1856/1386/2 +f 1851/1387/1 1855/2906/1 1854/1388/1 +f 1859/1389/6 1860/1400/6 1858/1390/6 +f 1861/1392/3 1865/1415/3 1868/1393/3 +f 1859/1395/2 1861/1392/2 1864/1394/2 +f 1858/1397/1 1863/1408/1 1862/1398/1 +f 1860/1400/4 1864/1410/4 1863/1401/4 +f 1857/1402/5 1862/1411/5 1861/1403/5 +f 1868/1405/4 1872/2907/4 1871/1406/4 +f 1863/1408/3 1867/1417/3 1866/1409/3 +f 1864/1410/3 1868/1405/3 1867/1407/3 +f 1862/1411/3 1866/1413/3 1865/1412/3 +f 1866/1413/5 1870/2908/5 1869/1414/5 +f 1865/1415/2 1869/2909/2 1872/1416/2 +f 1867/1417/1 1871/2910/1 1870/1418/1 +f 1875/1419/6 1876/1430/6 1874/1420/6 +f 1877/1422/3 1881/1445/3 1884/1423/3 +f 1875/1425/2 1877/1422/2 1880/1424/2 +f 1874/1427/1 1879/1438/1 1878/1428/1 +f 1876/1430/4 1880/1440/4 1879/1431/4 +f 1873/1432/5 1878/1441/5 1877/1433/5 +f 1884/1435/4 1888/2911/4 1887/1436/4 +f 1879/1438/3 1883/1447/3 1882/1439/3 +f 1880/1440/3 1884/1435/3 1883/1437/3 +f 1878/1441/3 1882/1443/3 1881/1442/3 +f 1882/1443/5 1886/2912/5 1885/1444/5 +f 1881/1445/2 1885/2913/2 1888/1446/2 +f 1883/1447/1 1887/2914/1 1886/1448/1 +f 1891/1449/6 1892/1460/6 1890/1450/6 +f 1893/1452/3 1897/1475/3 1900/1453/3 +f 1891/1455/2 1893/1452/2 1896/1454/2 +f 1890/1457/1 1895/1468/1 1894/1458/1 +f 1892/1460/4 1896/1470/4 1895/1461/4 +f 1889/1462/5 1894/1471/5 1893/1463/5 +f 1900/1465/4 1904/2915/4 1903/1466/4 +f 1895/1468/3 1899/1477/3 1898/1469/3 +f 1896/1470/3 1900/1465/3 1899/1467/3 +f 1894/1471/3 1898/1473/3 1897/1472/3 +f 1898/1473/5 1902/2916/5 1901/1474/5 +f 1897/1475/2 1901/2917/2 1904/1476/2 +f 1899/1477/1 1903/2918/1 1902/1478/1 +f 1907/1479/6 1908/1490/6 1906/1480/6 +f 1909/1482/3 1913/1505/3 1916/1483/3 +f 1907/1485/2 1909/1482/2 1912/1484/2 +f 1906/1487/1 1911/1498/1 1910/1488/1 +f 1908/1490/4 1912/1500/4 1911/1491/4 +f 1905/1492/5 1910/1501/5 1909/1493/5 +f 1916/1495/4 1920/2919/4 1919/1496/4 +f 1911/1498/3 1915/1507/3 1914/1499/3 +f 1912/1500/3 1916/1495/3 1915/1497/3 +f 1910/1501/3 1914/1503/3 1913/1502/3 +f 1914/1503/5 1918/2920/5 1917/1504/5 +f 1913/1505/2 1917/2921/2 1920/1506/2 +f 1915/1507/1 1919/2922/1 1918/1508/1 +f 1923/1509/6 1924/1520/6 1922/1510/6 +f 1925/1512/3 1929/1535/3 1932/1513/3 +f 1923/1515/2 1925/1512/2 1928/1514/2 +f 1922/1517/1 1927/1528/1 1926/1518/1 +f 1924/1520/4 1928/1530/4 1927/1521/4 +f 1921/1522/5 1926/1531/5 1925/1523/5 +f 1932/1525/4 1936/2923/4 1935/1526/4 +f 1927/1528/3 1931/1537/3 1930/1529/3 +f 1928/1530/3 1932/1525/3 1931/1527/3 +f 1926/1531/3 1930/1533/3 1929/1532/3 +f 1930/1533/5 1934/2924/5 1933/1534/5 +f 1929/1535/2 1933/2925/2 1936/1536/2 +f 1931/1537/1 1935/2926/1 1934/1538/1 +f 2019/1540/5 2020/2927/5 2016/1541/5 +f 2020/2927/5 2018/2928/5 2016/1541/5 +f 2018/2928/5 2017/2929/5 2016/1541/5 +f 2016/1541/5 2015/2930/5 2014/2931/5 +f 2014/2931/5 2013/2932/5 2012/2933/5 +f 2012/2933/5 2011/2934/5 2010/1539/5 +f 2010/1539/5 2009/2935/5 2019/1540/5 +f 2016/1541/5 2014/2931/5 2012/2933/5 +f 2012/2933/5 2010/1539/5 2016/1541/5 +f 2044/1542/5 2043/2936/5 2031/1543/5 +f 2044/1545/5 2032/2937/5 2021/1546/5 +f 2033/1548/5 2021/2938/5 2022/1549/5 +f 2035/1551/5 2034/2939/5 2022/1552/5 +f 2036/1554/5 2035/2940/5 2023/1555/5 +f 2037/1557/5 2036/2941/5 2024/1558/5 +f 2037/1560/5 2025/2942/5 2026/1561/5 +f 2039/1563/5 2038/2943/5 2026/1564/5 +f 2039/1566/5 2027/2944/5 2028/1567/5 +f 2040/1569/5 2028/2945/5 2029/1570/5 +f 2041/1572/5 2029/2946/5 2030/1573/5 +f 2042/1575/5 2030/2947/5 2031/1576/5 +f 2190/1578/39 2191/2948/39 2203/1579/39 +f 2192/1581/39 2204/2949/39 2203/1582/39 +f 2193/1584/39 2205/2950/39 2204/1585/39 +f 2194/1587/39 2206/2951/39 2205/1588/39 +f 2194/1590/39 2195/2952/39 2207/1591/39 +f 2196/1593/39 2208/2953/39 2207/1594/39 +f 2196/1596/39 2197/2954/39 2209/1597/39 +f 2197/1599/39 2198/2955/39 2210/1600/39 +f 2198/1602/39 2199/2956/39 2211/1603/39 +f 2199/1605/39 2200/2957/39 2212/1606/39 +f 2189/1608/39 2201/2958/39 2212/1609/39 +f 2189/1611/39 2190/2959/39 2202/1612/39 +f 2214/1616/39 2213/2960/39 2215/2961/39 +f 2215/2961/39 2216/2962/39 2217/1614/39 +f 2217/1614/39 2218/2963/39 2219/2964/39 +f 2219/2964/39 2220/2965/39 2217/1614/39 +f 2220/2965/39 2221/1615/39 2217/1614/39 +f 2221/1615/39 2222/2966/39 2214/1616/39 +f 2222/2966/39 2223/2967/39 2214/1616/39 +f 2223/2967/39 2224/2968/39 2214/1616/39 +f 2214/1616/39 2215/2961/39 2217/1614/39 +f 2230/1617/40 2229/2969/40 2241/1618/40 +f 2225/1620/40 2236/2970/40 2248/1621/40 +f 2226/1623/40 2238/2971/40 2239/1624/40 +f 2234/1626/40 2233/2972/40 2245/1627/40 +f 2231/1629/40 2230/2973/40 2242/1630/40 +f 2227/1632/40 2239/2974/40 2240/1633/40 +f 2234/1635/40 2246/2975/40 2247/1636/40 +f 2232/1638/40 2231/2976/40 2243/1639/40 +f 2228/1641/40 2240/2977/40 2241/1642/40 +f 2236/1644/40 2235/2978/40 2247/1645/40 +f 2225/1647/40 2237/2979/40 2238/1648/40 +f 2232/1650/40 2244/2980/40 2245/1651/40 +f 2258/1653/40 2270/2981/40 2271/1654/40 +f 2255/1656/40 2267/2982/40 2268/1657/40 +f 2253/1659/40 2252/1679/40 2264/1660/40 +f 2259/1655/40 2271/2983/40 2272/1662/40 +f 2249/1664/40 2262/2984/40 2261/1665/40 +f 2256/1658/40 2268/2985/40 2269/1667/40 +f 2254/1669/40 2253/1659/40 2265/1670/40 +f 2260/1663/40 2272/2986/40 2262/1672/40 +f 2250/1666/40 2261/2987/40 2263/1673/40 +f 2258/1675/40 2257/1668/40 2269/1676/40 +f 2254/1669/40 2266/2988/40 2267/1678/40 +f 2252/1679/40 2251/1674/40 2263/1680/40 +f 2275/1684/40 2273/2989/40 2274/2990/40 +f 2274/2990/40 2284/2991/40 2283/2992/40 +f 2283/2992/40 2282/2993/40 2279/1682/40 +f 2282/2993/40 2281/2994/40 2279/1682/40 +f 2281/2994/40 2280/2995/40 2279/1682/40 +f 2279/1682/40 2278/2996/40 2277/1683/40 +f 2277/1683/40 2276/2997/40 2275/1684/40 +f 2275/1684/40 2274/2990/40 2279/1682/40 +f 2274/2990/40 2283/2992/40 2279/1682/40 +f 2323/1685/41 2335/2998/41 2334/1686/41 +f 2324/1688/41 2336/2999/41 2335/1689/41 +f 2325/1691/41 2337/3000/41 2336/1692/41 +f 2326/1694/41 2338/3001/41 2337/1695/41 +f 2326/1697/41 2327/3002/41 2339/1698/41 +f 2328/1700/41 2340/3003/41 2339/1701/41 +f 2328/1703/41 2329/3004/41 2341/1704/41 +f 2329/1706/41 2330/3005/41 2342/1707/41 +f 2330/1709/41 2331/3006/41 2343/1710/41 +f 2331/1712/41 2332/3007/41 2344/1713/41 +f 2332/1715/41 2321/3008/41 2333/1716/41 +f 2321/1718/41 2322/3009/41 2334/1719/41 +f 2346/1722/41 2345/3010/41 2347/3011/41 +f 2347/3011/41 2348/3012/41 2349/1723/41 +f 2349/1723/41 2350/3013/41 2351/3014/41 +f 2351/3014/41 2352/3015/41 2349/1723/41 +f 2352/3015/41 2353/3016/41 2349/1723/41 +f 2353/3016/41 2354/3017/41 2355/1721/41 +f 2355/1721/41 2356/3018/41 2346/1722/41 +f 2346/1722/41 2347/3011/41 2349/1723/41 +f 2353/3016/41 2355/1721/41 2349/1723/41 +f 2362/1724/42 2361/3019/42 2373/1725/42 +f 2357/1727/42 2368/3020/42 2380/1728/42 +f 2358/1730/42 2370/3021/42 2371/1731/42 +f 2366/1733/42 2365/3022/42 2377/1734/42 +f 2363/1736/42 2362/3023/42 2374/1737/42 +f 2360/1739/42 2359/3024/42 2371/1740/42 +f 2366/1742/42 2378/3025/42 2379/1743/42 +f 2363/1745/42 2375/3026/42 2376/1746/42 +f 2360/1748/42 2372/3027/42 2373/1749/42 +f 2368/1751/42 2367/3028/42 2379/1752/42 +f 2357/1754/42 2369/3029/42 2370/1755/42 +f 2364/1757/42 2376/3030/42 2377/1758/42 +f 2390/1760/42 2402/3031/42 2403/1761/42 +f 2387/1763/42 2399/3032/42 2400/1764/42 +f 2384/1766/42 2396/3033/42 2397/1767/42 +f 2391/1762/42 2403/3034/42 2404/1769/42 +f 2381/1771/42 2394/3035/42 2393/1772/42 +f 2388/1765/42 2400/3036/42 2401/1774/42 +f 2386/1776/42 2385/1768/42 2397/1777/42 +f 2392/1770/42 2404/3037/42 2394/1779/42 +f 2382/1773/42 2393/3038/42 2395/1780/42 +f 2390/1782/42 2389/1775/42 2401/1783/42 +f 2387/1763/42 2386/1776/42 2398/1785/42 +f 2384/1766/42 2383/1781/42 2395/1787/42 +f 2407/1791/42 2405/3039/42 2406/3040/42 +f 2406/3040/42 2416/3041/42 2407/1791/42 +f 2416/3041/42 2415/1789/42 2407/1791/42 +f 2415/1789/42 2414/3042/42 2411/1790/42 +f 2414/3042/42 2413/3043/42 2411/1790/42 +f 2413/3043/42 2412/3044/42 2411/1790/42 +f 2411/1790/42 2410/3045/42 2409/3046/42 +f 2409/3046/42 2408/3047/42 2411/1790/42 +f 2408/3047/42 2407/1791/42 2411/1790/42 +f 2455/1792/43 2467/3048/43 2466/1793/43 +f 2456/1795/43 2468/3049/43 2467/1796/43 +f 2457/1798/43 2469/3050/43 2468/1799/43 +f 2458/1801/43 2470/3051/43 2469/1802/43 +f 2459/1804/43 2471/3052/43 2470/1805/43 +f 2460/1807/43 2472/3053/43 2471/1808/43 +f 2460/1810/43 2461/3054/43 2473/1811/43 +f 2461/1813/43 2462/3055/43 2474/1814/43 +f 2462/1816/43 2463/3056/43 2475/1817/43 +f 2464/1819/43 2476/3057/43 2475/1820/43 +f 2464/1822/43 2453/3058/43 2465/1823/43 +f 2453/1825/43 2454/3059/43 2466/1826/43 +f 2478/3060/43 2477/3061/43 2479/1828/43 +f 2479/1828/43 2480/3062/43 2481/1829/43 +f 2481/1829/43 2482/3063/43 2483/3064/43 +f 2483/3064/43 2484/3065/43 2481/1829/43 +f 2484/3065/43 2485/1830/43 2481/1829/43 +f 2485/1830/43 2486/3066/43 2478/3060/43 +f 2486/3066/43 2487/3067/43 2478/3060/43 +f 2487/3067/43 2488/3068/43 2478/3060/43 +f 2478/3060/43 2479/1828/43 2485/1830/43 +f 2493/1831/44 2505/3069/44 2506/1832/44 +f 2500/1834/44 2512/3070/44 2501/1835/44 +f 2491/1837/44 2490/3071/44 2502/1838/44 +f 2498/1840/44 2497/3072/44 2509/1841/44 +f 2494/1843/44 2506/3073/44 2507/1844/44 +f 2492/1846/44 2491/3074/44 2503/1847/44 +f 2498/1849/44 2510/3075/44 2511/1850/44 +f 2496/1852/44 2495/3076/44 2507/1853/44 +f 2493/1855/44 2492/3077/44 2504/1856/44 +f 2500/1858/44 2499/3078/44 2511/1859/44 +f 2490/1861/44 2489/3079/44 2501/1862/44 +f 2497/1864/44 2496/3080/44 2508/1865/44 +f 2523/1867/44 2522/3081/44 2534/1868/44 +f 2519/1870/44 2531/3082/44 2532/1871/44 +f 2517/1873/44 2516/1896/44 2528/1874/44 +f 2524/1876/44 2523/1867/44 2535/1877/44 +f 2514/1879/44 2513/1888/44 2526/1880/44 +f 2520/1872/44 2532/3083/44 2533/1882/44 +f 2518/1884/44 2517/1873/44 2529/1885/44 +f 2524/1876/44 2536/3084/44 2526/1887/44 +f 2514/1879/44 2525/3085/44 2527/1889/44 +f 2522/1891/44 2521/1883/44 2533/1892/44 +f 2518/1884/44 2530/3086/44 2531/1894/44 +f 2515/1890/44 2527/3087/44 2528/1895/44 +f 2539/1898/44 2537/3088/44 2547/1899/44 +f 2537/3088/44 2538/3089/44 2547/1899/44 +f 2538/3089/44 2548/3090/44 2547/1899/44 +f 2547/1899/44 2546/3091/44 2543/3092/44 +f 2546/3091/44 2545/3093/44 2543/3092/44 +f 2545/3093/44 2544/3094/44 2543/3092/44 +f 2543/3092/44 2542/3095/44 2541/1897/44 +f 2541/1897/44 2540/3096/44 2539/1898/44 +f 2543/3092/44 2541/1897/44 2547/1899/44 +f 2586/1900/45 2587/3097/45 2599/1901/45 +f 2588/1903/45 2600/3098/45 2599/1904/45 +f 2589/1906/45 2601/3099/45 2600/1907/45 +f 2590/1909/45 2602/3100/45 2601/1910/45 +f 2590/1912/45 2591/3101/45 2603/1913/45 +f 2592/1915/45 2604/3102/45 2603/1916/45 +f 2592/1918/45 2593/3103/45 2605/1919/45 +f 2593/1921/45 2594/3104/45 2606/1922/45 +f 2595/1924/45 2607/3105/45 2606/1925/45 +f 2596/1927/45 2608/3106/45 2607/1928/45 +f 2585/1930/45 2597/3107/45 2608/1931/45 +f 2585/1933/45 2586/3108/45 2598/1934/45 +f 2610/3109/45 2609/3110/45 2611/1936/45 +f 2611/1936/45 2612/3111/45 2613/1937/45 +f 2613/1937/45 2614/3112/45 2615/3113/45 +f 2615/3113/45 2616/3114/45 2613/1937/45 +f 2616/3114/45 2617/1938/45 2613/1937/45 +f 2617/1938/45 2618/3115/45 2619/3116/45 +f 2619/3116/45 2620/3117/45 2617/1938/45 +f 2620/3117/45 2610/3109/45 2617/1938/45 +f 2610/3109/45 2611/1936/45 2617/1938/45 +f 2626/1939/46 2625/3118/46 2637/1940/46 +f 2621/1942/46 2632/3119/46 2644/1943/46 +f 2623/1945/46 2622/3120/46 2634/1946/46 +f 2630/1948/46 2629/3121/46 2641/1949/46 +f 2627/1951/46 2626/3122/46 2638/1952/46 +f 2623/1954/46 2635/3123/46 2636/1955/46 +f 2630/1957/46 2642/3124/46 2643/1958/46 +f 2627/1960/46 2639/3125/46 2640/1961/46 +f 2624/1963/46 2636/3126/46 2637/1964/46 +f 2632/1966/46 2631/3127/46 2643/1967/46 +f 2621/1969/46 2633/3128/46 2634/1970/46 +f 2628/1972/46 2640/3129/46 2641/1973/46 +f 2654/1975/46 2666/3130/46 2667/1976/46 +f 2651/1978/46 2663/3131/46 2664/1979/46 +f 2648/1981/46 2660/3132/46 2661/1982/46 +f 2656/1984/46 2655/1977/46 2667/1985/46 +f 2646/1987/46 2645/1996/46 2658/1988/46 +f 2652/1980/46 2664/3133/46 2665/1990/46 +f 2650/1992/46 2649/1983/46 2661/1993/46 +f 2656/1984/46 2668/3134/46 2658/1995/46 +f 2646/1987/46 2657/3135/46 2659/1997/46 +f 2654/1999/46 2653/1991/46 2665/2000/46 +f 2651/1978/46 2650/1992/46 2662/2002/46 +f 2647/1998/46 2659/3136/46 2660/2004/46 +f 2671/3137/46 2669/3138/46 2670/2005/46 +f 2670/2005/46 2680/3139/46 2679/2006/46 +f 2679/2006/46 2678/3140/46 2675/2007/46 +f 2678/3140/46 2677/3141/46 2675/2007/46 +f 2677/3141/46 2676/3142/46 2675/2007/46 +f 2675/2007/46 2674/3143/46 2673/3144/46 +f 2673/3144/46 2672/3145/46 2675/2007/46 +f 2672/3145/46 2671/3137/46 2675/2007/46 +f 2671/3137/46 2670/2005/46 2675/2007/46 +f 2686/2008/4 2685/3146/4 2697/2009/4 +f 2692/2011/4 2704/3147/4 2693/2012/4 +f 2682/2014/4 2694/3148/4 2695/2015/4 +f 2690/2017/4 2689/3149/4 2701/2018/4 +f 2686/2020/4 2698/3150/4 2699/2021/4 +f 2684/2023/4 2683/3151/4 2695/2024/4 +f 2690/2026/4 2702/3152/4 2703/2027/4 +f 2688/2029/4 2687/3153/4 2699/2030/4 +f 2684/2032/4 2696/3154/4 2697/2033/4 +f 2692/2035/4 2691/3155/4 2703/2036/4 +f 2681/2038/4 2693/3156/4 2694/2039/4 +f 2688/2041/4 2700/3157/4 2701/2042/4 +f 2714/2044/4 2726/3158/4 2727/2045/4 +f 2712/2047/4 2711/2071/4 2723/2048/4 +f 2708/2050/4 2720/3159/4 2721/2051/4 +f 2716/2053/4 2715/2046/4 2727/2054/4 +f 2705/2056/4 2718/3160/4 2717/2057/4 +f 2712/2047/4 2724/3161/4 2725/2059/4 +f 2710/2061/4 2709/2052/4 2721/2062/4 +f 2716/2053/4 2728/3162/4 2718/2064/4 +f 2706/2058/4 2717/3163/4 2719/2065/4 +f 2714/2067/4 2713/2060/4 2725/2068/4 +f 2710/2061/4 2722/3164/4 2723/2070/4 +f 2708/2050/4 2707/2066/4 2719/2072/4 +f 2731/2076/4 2729/3165/4 2730/3166/4 +f 2730/3166/4 2740/3167/4 2731/2076/4 +f 2740/3167/4 2739/2074/4 2731/2076/4 +f 2739/2074/4 2738/3168/4 2735/2075/4 +f 2738/3168/4 2737/3169/4 2735/2075/4 +f 2737/3169/4 2736/3170/4 2735/2075/4 +f 2735/2075/4 2734/3171/4 2733/3172/4 +f 2733/3172/4 2732/3173/4 2735/2075/4 +f 2732/3173/4 2731/2076/4 2735/2075/4 +f 2757/2077/1 2769/3174/1 2770/2078/1 +f 2764/2080/1 2776/3175/1 2765/2081/1 +f 2754/2083/1 2766/3176/1 2767/2084/1 +f 2762/2086/1 2761/2105/1 2773/2087/1 +f 2759/2089/1 2758/2079/1 2770/2090/1 +f 2756/2092/1 2755/2085/1 2767/2093/1 +f 2762/2095/1 2774/3177/1 2775/2096/1 +f 2759/2089/1 2771/3178/1 2772/2098/1 +f 2756/2092/1 2768/3179/1 2769/2100/1 +f 2764/2080/1 2763/2097/1 2775/2101/1 +f 2754/2083/1 2753/2082/1 2765/2103/1 +f 2761/2105/1 2760/2099/1 2772/2106/1 +f 2786/2108/1 2798/3180/1 2799/2109/1 +f 2783/2111/1 2795/3181/1 2796/2112/1 +f 2780/2114/1 2792/3182/1 2793/2115/1 +f 2788/2117/1 2787/2110/1 2799/2118/1 +f 2778/2120/1 2777/2129/1 2790/2121/1 +f 2785/2123/1 2784/2113/1 2796/2124/1 +f 2781/2116/1 2793/3183/1 2794/2126/1 +f 2788/2117/1 2800/3184/1 2790/2128/1 +f 2778/2120/1 2789/3185/1 2791/2130/1 +f 2786/2132/1 2785/2123/1 2797/2133/1 +f 2783/2111/1 2782/2127/1 2794/2135/1 +f 2780/2114/1 2779/2131/1 2791/2137/1 +f 2803/2141/1 2801/3186/1 2802/3187/1 +f 2802/3187/1 2812/3188/1 2803/2141/1 +f 2812/3188/1 2811/2139/1 2803/2141/1 +f 2811/2139/1 2810/3189/1 2807/2140/1 +f 2810/3189/1 2809/3190/1 2807/2140/1 +f 2809/3190/1 2808/3191/1 2807/2140/1 +f 2807/2140/1 2806/3192/1 2805/3193/1 +f 2805/3193/1 2804/3194/1 2807/2140/1 +f 2804/3194/1 2803/2141/1 2807/2140/1 +f 2922/2142/44 2923/3195/44 2935/2143/44 +f 2924/2145/44 2936/3196/44 2935/2146/44 +f 2925/2148/44 2937/3197/44 2936/2149/44 +f 2926/2151/44 2938/3198/44 2937/2152/44 +f 2926/2154/44 2927/3199/44 2939/2155/44 +f 2928/2157/44 2940/3200/44 2939/2158/44 +f 2928/2160/44 2929/3201/44 2941/2161/44 +f 2929/2163/44 2930/3202/44 2942/2164/44 +f 2931/2166/44 2943/3203/44 2942/2167/44 +f 2932/2169/44 2944/3204/44 2943/2170/44 +f 2932/2172/44 2921/3205/44 2933/2173/44 +f 2921/2175/44 2922/3206/44 2934/2176/44 +f 2946/2179/44 2945/3207/44 2949/2180/44 +f 2945/3207/44 2947/3208/44 2949/2180/44 +f 2947/3208/44 2948/3209/44 2949/2180/44 +f 2949/2180/44 2950/3210/44 2951/3211/44 +f 2951/3211/44 2952/3212/44 2949/2180/44 +f 2952/3212/44 2953/3213/44 2949/2180/44 +f 2953/3213/44 2954/3214/44 2955/2178/44 +f 2955/2178/44 2956/3215/44 2946/2179/44 +f 2953/3213/44 2955/2178/44 2949/2180/44 +f 2962/2181/43 2961/3216/43 2973/2182/43 +f 2968/2184/43 2980/3217/43 2969/2185/43 +f 2958/2187/43 2970/3218/43 2971/2188/43 +f 2966/2190/43 2965/3219/43 2977/2191/43 +f 2963/2193/43 2962/3220/43 2974/2194/43 +f 2960/2196/43 2959/3221/43 2971/2197/43 +f 2966/2199/43 2978/3222/43 2979/2200/43 +f 2964/2202/43 2963/3223/43 2975/2203/43 +f 2960/2205/43 2972/3224/43 2973/2206/43 +f 2968/2208/43 2967/3225/43 2979/2209/43 +f 2957/2211/43 2969/3226/43 2970/2212/43 +f 2965/2214/43 2964/3227/43 2976/2215/43 +f 2991/2217/43 2990/3228/43 3002/2218/43 +f 2988/2220/43 2987/2242/43 2999/2221/43 +f 2985/2223/43 2984/2244/43 2996/2224/43 +f 2991/2217/43 3003/3229/43 3004/2226/43 +f 2981/2228/43 2994/3230/43 2993/2229/43 +f 2988/2220/43 3000/3231/43 3001/2231/43 +f 2985/2223/43 2997/3232/43 2998/2233/43 +f 2992/2227/43 3004/3233/43 2994/2235/43 +f 2982/2230/43 2993/3234/43 2995/2236/43 +f 2990/2238/43 2989/2232/43 3001/2239/43 +f 2986/2234/43 2998/3235/43 2999/2241/43 +f 2983/2237/43 2995/3236/43 2996/2243/43 +f 3007/2247/43 3005/3237/43 3006/3238/43 +f 3006/3238/43 3016/3239/43 3007/2247/43 +f 3016/3239/43 3015/3240/43 3007/2247/43 +f 3015/3240/43 3014/3241/43 3013/2245/43 +f 3013/2245/43 3012/3242/43 3011/2246/43 +f 3011/2246/43 3010/3243/43 3007/2247/43 +f 3010/3243/43 3009/3244/43 3007/2247/43 +f 3009/3244/43 3008/3245/43 3007/2247/43 +f 3015/3240/43 3013/2245/43 3007/2247/43 +f 3055/2248/46 3067/3246/46 3066/2249/46 +f 3056/2251/46 3068/3247/46 3067/2252/46 +f 3057/2254/46 3069/3248/46 3068/2255/46 +f 3058/2257/46 3070/3249/46 3069/2258/46 +f 3058/2260/46 3059/3250/46 3071/2261/46 +f 3060/2263/46 3072/3251/46 3071/2264/46 +f 3060/2266/46 3061/3252/46 3073/2267/46 +f 3061/2269/46 3062/3253/46 3074/2270/46 +f 3062/2272/46 3063/3254/46 3075/2273/46 +f 3064/2275/46 3076/3255/46 3075/2276/46 +f 3064/2278/46 3053/3256/46 3065/2279/46 +f 3054/2281/46 3066/3257/46 3065/2282/46 +f 3078/2285/46 3077/3258/46 3081/2286/46 +f 3077/3258/46 3079/3259/46 3081/2286/46 +f 3079/3259/46 3080/3260/46 3081/2286/46 +f 3081/2286/46 3082/3261/46 3083/3262/46 +f 3083/3262/46 3084/3263/46 3081/2286/46 +f 3084/3263/46 3085/3264/46 3081/2286/46 +f 3085/3264/46 3086/3265/46 3087/2284/46 +f 3087/2284/46 3088/3266/46 3078/2285/46 +f 3085/3264/46 3087/2284/46 3081/2286/46 +f 3093/2287/45 3105/3267/45 3106/2288/45 +f 3089/2290/45 3100/3268/45 3112/2291/45 +f 3090/2293/45 3102/3269/45 3103/2294/45 +f 3097/2296/45 3109/3270/45 3110/2297/45 +f 3095/2299/45 3094/3271/45 3106/2300/45 +f 3092/2302/45 3091/3272/45 3103/2303/45 +f 3098/2305/45 3110/3273/45 3111/2306/45 +f 3095/2308/45 3107/3274/45 3108/2309/45 +f 3092/2311/45 3104/3275/45 3105/2312/45 +f 3100/2314/45 3099/3276/45 3111/2315/45 +f 3089/2317/45 3101/3277/45 3102/2318/45 +f 3096/2320/45 3108/3278/45 3109/2321/45 +f 3123/2323/45 3122/3279/45 3134/2324/45 +f 3119/2326/45 3131/3280/45 3132/2327/45 +f 3116/2329/45 3128/3281/45 3129/2330/45 +f 3123/2323/45 3135/3282/45 3136/2332/45 +f 3113/2334/45 3126/3283/45 3125/2335/45 +f 3120/2328/45 3132/3284/45 3133/2337/45 +f 3117/2331/45 3129/3285/45 3130/2339/45 +f 3124/2333/45 3136/3286/45 3126/2341/45 +f 3114/2336/45 3125/3287/45 3127/2342/45 +f 3122/2344/45 3121/2338/45 3133/2345/45 +f 3119/2326/45 3118/2340/45 3130/2347/45 +f 3116/2329/45 3115/2343/45 3127/2349/45 +f 3139/2353/45 3137/3288/45 3138/3289/45 +f 3138/3289/45 3148/3290/45 3139/2353/45 +f 3148/3290/45 3147/2351/45 3139/2353/45 +f 3147/2351/45 3146/3291/45 3143/2352/45 +f 3146/3291/45 3145/3292/45 3143/2352/45 +f 3145/3292/45 3144/3293/45 3143/2352/45 +f 3143/2352/45 3142/3294/45 3139/2353/45 +f 3142/3294/45 3141/3295/45 3139/2353/45 +f 3141/3295/45 3140/3296/45 3139/2353/45 +f 3187/2354/40 3199/3297/40 3198/2355/40 +f 3188/2357/40 3200/3298/40 3199/2358/40 +f 3189/2360/40 3201/3299/40 3200/2361/40 +f 3190/2363/40 3202/3300/40 3201/2364/40 +f 3190/2366/40 3191/3301/40 3203/2367/40 +f 3192/2369/40 3204/3302/40 3203/2370/40 +f 3193/2372/40 3205/3303/40 3204/2373/40 +f 3193/2375/40 3194/3304/40 3206/2376/40 +f 3194/2378/40 3195/3305/40 3207/2379/40 +f 3196/2381/40 3208/3306/40 3207/2382/40 +f 3185/2384/40 3197/3307/40 3208/2385/40 +f 3185/2387/40 3186/3308/40 3198/2388/40 +f 3210/3309/40 3209/3310/40 3211/2390/40 +f 3211/2390/40 3212/3311/40 3213/2391/40 +f 3213/2391/40 3214/3312/40 3217/2392/40 +f 3214/3312/40 3215/3313/40 3217/2392/40 +f 3215/3313/40 3216/3314/40 3217/2392/40 +f 3217/2392/40 3218/3315/40 3210/3309/40 +f 3218/3315/40 3219/3316/40 3210/3309/40 +f 3219/3316/40 3220/3317/40 3210/3309/40 +f 3210/3309/40 3211/2390/40 3217/2392/40 +f 3225/2393/39 3237/3318/39 3238/2394/39 +f 3232/2396/39 3244/3319/39 3233/2397/39 +f 3223/2399/39 3222/3320/39 3234/2400/39 +f 3230/2402/39 3229/3321/39 3241/2403/39 +f 3226/2405/39 3238/3322/39 3239/2406/39 +f 3223/2408/39 3235/3323/39 3236/2409/39 +f 3230/2411/39 3242/3324/39 3243/2412/39 +f 3228/2414/39 3227/3325/39 3239/2415/39 +f 3224/2417/39 3236/3326/39 3237/2418/39 +f 3231/2420/39 3243/3327/39 3244/2421/39 +f 3221/2423/39 3233/3328/39 3234/2424/39 +f 3229/2426/39 3228/3329/39 3240/2427/39 +f 3255/2429/39 3254/3330/39 3266/2430/39 +f 3251/2432/39 3263/3331/39 3264/2433/39 +f 3249/2435/39 3248/2457/39 3260/2436/39 +f 3255/2429/39 3267/3332/39 3268/2438/39 +f 3245/2440/39 3258/3333/39 3257/2441/39 +f 3253/2443/39 3252/2434/39 3264/2444/39 +f 3250/2446/39 3249/2435/39 3261/2447/39 +f 3256/2439/39 3268/3334/39 3258/2449/39 +f 3246/2442/39 3257/3335/39 3259/2450/39 +f 3254/2452/39 3253/2443/39 3265/2453/39 +f 3250/2446/39 3262/3336/39 3263/2455/39 +f 3247/2451/39 3259/3337/39 3260/2456/39 +f 3271/2459/39 3269/3338/39 3270/3339/39 +f 3270/3339/39 3280/3340/39 3271/2459/39 +f 3280/3340/39 3279/2460/39 3271/2459/39 +f 3279/2460/39 3278/3341/39 3277/3342/39 +f 3277/3342/39 3276/3343/39 3279/2460/39 +f 3276/3343/39 3275/3344/39 3279/2460/39 +f 3275/3344/39 3274/3345/39 3273/2458/39 +f 3273/2458/39 3272/3346/39 3271/2459/39 +f 3275/3344/39 3273/2458/39 3279/2460/39 +f 3319/2461/42 3331/3347/42 3330/2462/42 +f 3320/2464/42 3332/3348/42 3331/2465/42 +f 3321/2467/42 3333/3349/42 3332/2468/42 +f 3322/2470/42 3334/3350/42 3333/2471/42 +f 3322/2473/42 3323/3351/42 3335/2474/42 +f 3323/2476/42 3324/3352/42 3336/2477/42 +f 3324/2479/42 3325/3353/42 3337/2480/42 +f 3325/2482/42 3326/3354/42 3338/2483/42 +f 3327/2485/42 3339/3355/42 3338/2486/42 +f 3328/2488/42 3340/3356/42 3339/2489/42 +f 3317/2491/42 3329/3357/42 3340/2492/42 +f 3317/2494/42 3318/3358/42 3330/2495/42 +f 3342/2498/42 3341/3359/42 3343/3360/42 +f 3343/3360/42 3344/3361/42 3342/2498/42 +f 3344/3361/42 3345/2499/42 3342/2498/42 +f 3345/2499/42 3346/3362/42 3349/3363/42 +f 3346/3362/42 3347/3364/42 3349/3363/42 +f 3347/3364/42 3348/3365/42 3349/3363/42 +f 3349/3363/42 3350/3366/42 3351/2497/42 +f 3351/2497/42 3352/3367/42 3342/2498/42 +f 3349/3363/42 3351/2497/42 3345/2499/42 +f 3358/2500/41 3357/3368/41 3369/2501/41 +f 3353/2503/41 3364/3369/41 3376/2504/41 +f 3355/2506/41 3354/3370/41 3366/2507/41 +f 3362/2509/41 3361/3371/41 3373/2510/41 +f 3359/2512/41 3358/3372/41 3370/2513/41 +f 3356/2515/41 3355/3373/41 3367/2516/41 +f 3362/2518/41 3374/3374/41 3375/2519/41 +f 3360/2521/41 3359/3375/41 3371/2522/41 +f 3356/2524/41 3368/3376/41 3369/2525/41 +f 3364/2527/41 3363/3377/41 3375/2528/41 +f 3353/2530/41 3365/3378/41 3366/2531/41 +f 3360/2533/41 3372/3379/41 3373/2534/41 +f 3386/2536/41 3398/3380/41 3399/2537/41 +f 3383/2539/41 3395/3381/41 3396/2540/41 +f 3380/2542/41 3392/3382/41 3393/2543/41 +f 3388/2545/41 3387/2538/41 3399/2546/41 +f 3378/2548/41 3377/2556/41 3390/2549/41 +f 3384/2541/41 3396/3383/41 3397/2551/41 +f 3382/2553/41 3381/2544/41 3393/2554/41 +f 3377/2556/41 3388/2545/41 3400/2557/41 +f 3378/2548/41 3389/3384/41 3391/2559/41 +f 3386/2561/41 3385/2552/41 3397/2562/41 +f 3383/2539/41 3382/2553/41 3394/2564/41 +f 3380/2542/41 3379/2560/41 3391/2566/41 +f 3403/3385/41 3401/3386/41 3402/3387/41 +f 3402/3387/41 3412/3388/41 3411/2568/41 +f 3411/2568/41 3410/3389/41 3409/2569/41 +f 3409/2569/41 3408/3390/41 3407/2570/41 +f 3407/2570/41 3406/3391/41 3405/3392/41 +f 3405/3392/41 3404/3393/41 3407/2570/41 +f 3404/3393/41 3403/3385/41 3407/2570/41 +f 3403/3385/41 3402/3387/41 3407/2570/41 +f 3402/3387/41 3411/2568/41 3407/2570/41 +s 1 +f 25/3394/47 10/3395/48 9/3396/49 +f 31/3397/50 16/3398/51 15/3399/52 +f 18/3400/53 3/3401/54 2/3402/55 +f 24/3403/56 9/3404/49 8/3405/57 +f 17/3406/58 2/3402/55 1/3407/59 +f 16/3398/51 17/3406/58 1/3407/59 +f 45/3408/60 30/3409/61 29/3410/62 +f 30/3409/61 47/3411/63 31/3397/50 +f 47/3412/63 32/3413/64 31/3397/50 +f 32/3413/64 33/3414/7 17/3406/58 +f 33/3415/7 18/3400/53 17/3406/58 +f 34/3416/65 19/3417/66 18/3400/53 +f 35/3418/67 20/3419/68 19/3417/66 +f 20/3419/68 37/3420/69 21/3421/70 +f 21/3421/70 38/3422/71 22/3423/72 +f 22/3423/72 39/3424/73 23/3425/74 +f 39/3426/73 24/3403/56 23/3425/74 +f 40/3427/75 25/3428/47 24/3403/56 +f 25/3394/47 42/3429/76 26/3430/77 +f 42/3431/76 27/3432/78 26/3430/77 +f 43/3433/79 28/3434/80 27/3432/78 +f 28/3434/80 45/3435/60 29/3410/62 +f 14/3436/81 63/3437/82 62/3438/83 +f 15/3399/52 64/3439/84 63/3440/82 +f 16/3398/51 49/3441/8 64/3442/84 +f 2/3402/55 49/3443/8 1/3407/59 +f 3/3401/54 50/3444/85 2/3402/55 +f 4/3445/86 51/3446/87 3/3401/54 +f 5/3447/88 52/3448/89 4/3445/86 +f 6/3449/90 53/3450/91 5/3447/88 +f 6/3449/90 55/3451/92 54/3452/93 +f 7/3453/94 56/3454/95 55/3455/92 +f 9/3404/49 56/3456/95 8/3405/57 +f 9/3396/49 58/3457/96 57/3458/10 +f 10/3395/48 59/3459/97 58/3460/96 +f 12/3461/98 59/3462/97 11/3463/99 +f 12/3461/98 61/3464/100 60/3465/101 +f 14/3436/81 61/3466/100 13/3467/102 +f 45/3408/4 78/3468/103 46/3469/103 +f 38/3470/104 71/3471/12 39/3424/12 +f 46/3472/103 79/3473/16 47/3411/16 +f 40/3474/15 71/3475/12 72/3476/15 +f 47/3412/16 80/3477/11 48/3478/11 +f 40/3427/15 73/3479/6 41/3480/6 +f 33/3415/3 66/3481/18 34/3482/18 +f 48/3483/11 65/3484/3 33/3414/3 +f 41/3485/6 74/3486/13 42/3429/13 +f 34/3416/18 67/3487/14 35/3488/14 +f 42/3431/13 75/3489/17 43/3490/17 +f 35/3418/14 68/3491/105 36/3492/105 +f 43/3433/17 76/3493/106 44/3494/106 +f 36/3495/105 69/3496/5 37/3420/5 +f 44/3497/106 77/3498/4 45/3435/4 +f 37/3499/5 70/3500/104 38/3422/104 +f 52/3501/105 83/3502/14 51/3446/14 +f 60/3503/106 91/3504/17 59/3462/17 +f 53/3505/5 84/3506/105 52/3448/105 +f 61/3464/4 92/3507/106 60/3465/106 +f 54/3508/104 85/3509/5 53/3450/5 +f 62/3510/103 93/3511/4 61/3466/4 +f 55/3451/12 86/3512/104 54/3452/104 +f 63/3437/16 94/3513/103 62/3438/103 +f 55/3455/12 88/3514/15 87/3515/12 +f 64/3439/11 95/3516/16 63/3440/16 +f 57/3517/6 88/3518/15 56/3456/15 +f 50/3519/18 81/3520/3 49/3443/3 +f 49/3441/3 96/3521/11 64/3442/11 +f 58/3457/13 89/3522/6 57/3458/6 +f 51/3523/14 82/3524/18 50/3444/18 +f 59/3459/17 90/3525/13 58/3460/13 +f 97/3526/8 128/7/84 112/3527/84 +f 98/3528/85 113/10/8 97/3526/8 +f 99/3529/87 114/13/85 98/3528/85 +f 100/3530/89 115/16/87 99/3529/87 +f 101/3531/91 116/19/89 100/3530/89 +f 102/3532/93 117/22/91 101/3531/91 +f 103/3533/92 118/25/93 102/3532/93 +f 104/3534/95 119/2580/92 103/3533/92 +f 105/3535/10 120/2581/95 104/3534/95 +f 105/3536/10 122/35/96 121/2582/10 +f 106/3537/96 123/38/97 122/2583/96 +f 108/3538/101 123/2584/97 107/3539/97 +f 108/3538/101 125/44/100 124/2585/101 +f 109/3540/100 126/47/83 125/2586/100 +f 110/3541/83 127/2/82 126/2571/83 +f 111/3542/82 128/5/84 127/2572/82 +f 158/3543/103 111/3542/16 110/3541/103 +f 159/3544/16 112/3527/11 111/3542/16 +f 160/3545/11 97/3526/3 112/3527/11 +f 145/3546/3 98/3528/18 97/3526/3 +f 146/3547/18 99/3529/14 98/3528/18 +f 147/3548/14 100/3530/105 99/3529/14 +f 148/3549/105 101/3531/5 100/3530/105 +f 149/3550/5 102/3532/104 101/3531/5 +f 150/3551/104 103/3533/12 102/3532/104 +f 151/3552/12 104/3534/15 103/3533/12 +f 152/3553/15 105/3535/6 104/3534/15 +f 153/3554/6 106/3537/13 105/3536/6 +f 154/3555/13 107/3539/17 106/3537/13 +f 155/3556/17 108/3538/106 107/3539/17 +f 156/3557/106 109/3540/4 108/3538/106 +f 157/3558/4 110/3541/103 109/3540/4 +f 143/101/63 158/3543/107 142/102/107 +f 144/105/108 159/3544/63 143/103/63 +f 129/107/7 160/3545/108 144/108/108 +f 129/111/7 146/3547/65 145/3546/7 +f 130/112/65 147/3548/67 146/3547/65 +f 131/117/67 148/3549/109 147/3548/67 +f 132/120/109 149/3550/69 148/3549/109 +f 133/121/69 150/3551/71 149/3550/69 +f 134/124/71 151/3552/73 150/3551/71 +f 136/128/75 151/3552/73 135/129/73 +f 137/131/9 152/3553/75 136/132/75 +f 138/135/76 153/3554/9 137/133/9 +f 139/138/79 154/3555/76 138/136/76 +f 140/140/110 155/3556/79 139/141/79 +f 141/143/60 156/3557/110 140/144/110 +f 142/98/107 157/3558/60 141/99/60 +f 161/3559/8 192/201/84 176/3560/84 +f 162/3561/85 177/204/8 161/3559/8 +f 163/3562/87 178/205/85 162/3561/85 +f 164/3563/89 179/210/87 163/3562/87 +f 165/3564/91 180/211/89 164/3563/89 +f 166/3565/93 181/214/91 165/3564/91 +f 167/3566/92 182/217/93 166/3565/93 +f 167/3566/92 184/220/95 183/222/92 +f 169/3567/10 184/225/95 168/3568/95 +f 169/3569/10 186/2646/96 185/226/10 +f 170/3570/96 187/2647/97 186/229/96 +f 171/3571/97 188/232/101 187/234/97 +f 172/3572/101 189/235/100 188/237/101 +f 173/3573/100 190/238/83 189/240/100 +f 174/3574/83 191/193/82 190/195/83 +f 175/3575/82 192/2636/84 191/196/82 +f 222/3576/103 175/3575/16 174/3574/103 +f 223/3577/16 176/3560/11 175/3575/16 +f 224/3578/11 161/3559/3 176/3560/11 +f 209/3579/3 162/3561/18 161/3559/3 +f 210/3580/18 163/3562/14 162/3561/18 +f 211/3581/14 164/3563/105 163/3562/14 +f 212/3582/105 165/3564/5 164/3563/105 +f 213/3583/5 166/3565/104 165/3564/5 +f 214/3584/104 167/3566/12 166/3565/104 +f 215/3585/12 168/3568/15 167/3566/12 +f 216/3586/15 169/3567/6 168/3568/15 +f 217/3587/6 170/3570/13 169/3569/6 +f 218/3588/13 171/3571/17 170/3570/13 +f 219/3589/17 172/3572/106 171/3571/17 +f 220/3590/106 173/3573/4 172/3572/106 +f 221/3591/4 174/3574/103 173/3573/4 +f 207/95/63 222/3576/107 206/96/107 +f 208/50/108 223/3577/63 207/51/63 +f 193/2588/7 224/3578/108 208/53/108 +f 193/56/7 210/3580/65 209/3579/7 +f 194/59/65 211/3581/67 210/3580/65 +f 195/62/67 212/3582/109 211/3581/67 +f 196/65/109 213/3583/69 212/3582/109 +f 197/68/69 214/3584/71 213/3583/69 +f 198/71/71 215/3585/73 214/3584/71 +f 199/75/73 216/3586/75 215/3585/73 +f 200/78/75 217/3592/9 216/3586/75 +f 202/80/76 217/3587/9 201/81/9 +f 203/83/79 218/3588/76 202/84/76 +f 203/87/79 220/3590/110 219/3589/79 +f 205/89/60 220/3590/110 204/90/110 +f 206/92/107 221/3591/60 205/93/60 +f 238/3593/103 255/3594/16 239/3595/16 +f 231/3596/12 248/3597/15 232/3598/15 +f 239/3595/16 256/3599/11 240/3600/11 +f 232/3598/15 249/3601/6 233/3602/6 +f 225/3603/3 242/3604/18 226/3605/18 +f 240/3600/11 241/3606/3 225/3603/3 +f 233/3607/6 250/3608/13 234/3609/13 +f 226/3605/18 243/3610/14 227/3611/14 +f 234/3609/13 251/3612/17 235/3613/17 +f 227/3611/14 244/3614/105 228/3615/105 +f 235/3613/17 252/3616/106 236/3617/106 +f 228/3615/105 245/3618/5 229/3619/5 +f 236/3617/106 253/3620/4 237/3621/4 +f 229/3619/5 246/3622/104 230/3623/104 +f 237/3621/4 254/3624/103 238/3593/103 +f 230/3623/104 247/3625/12 231/3596/12 +f 272/3626/84 273/152/8 288/2621/84 +f 258/3627/85 273/2622/8 257/3628/8 +f 259/3629/87 274/157/85 258/3627/85 +f 260/3630/89 275/2624/87 259/3629/87 +f 261/3631/91 276/163/89 260/3630/89 +f 262/3632/93 277/166/91 261/3631/91 +f 263/3633/92 278/169/93 262/3632/93 +f 264/3634/95 279/2628/92 263/3633/92 +f 265/3635/10 280/2629/95 264/3634/95 +f 265/3636/10 282/2630/96 281/178/10 +f 266/3637/96 283/2631/97 282/181/96 +f 267/3638/97 284/2632/101 283/184/97 +f 268/3639/101 285/188/100 284/2633/101 +f 269/3640/100 286/191/83 285/2634/100 +f 270/3641/83 287/146/82 286/2619/83 +f 272/3626/84 287/148/82 271/3642/82 +f 318/3643/103 271/3642/16 270/3641/103 +f 319/3644/16 272/3626/11 271/3642/16 +f 320/3645/11 257/3628/3 272/3626/11 +f 305/3646/3 258/3627/18 257/3628/3 +f 306/3647/18 259/3629/14 258/3627/18 +f 307/3648/14 260/3630/105 259/3629/14 +f 308/3649/105 261/3631/5 260/3630/105 +f 309/3650/5 262/3632/104 261/3631/5 +f 310/3651/104 263/3633/12 262/3632/104 +f 311/3652/12 264/3634/15 263/3633/12 +f 312/3653/15 265/3635/6 264/3634/15 +f 313/3654/6 266/3637/13 265/3636/6 +f 314/3655/13 267/3638/17 266/3637/13 +f 315/3656/17 268/3639/106 267/3638/17 +f 316/3657/106 269/3640/4 268/3639/106 +f 317/3658/4 270/3641/103 269/3640/4 +f 303/293/63 318/3643/107 302/294/107 +f 304/296/108 319/3644/63 303/297/63 +f 289/299/7 320/3645/108 304/300/108 +f 289/303/7 306/3647/65 305/3646/7 +f 290/304/65 307/3648/67 306/3647/65 +f 291/309/67 308/3649/109 307/3648/67 +f 292/310/109 309/3650/69 308/3649/109 +f 293/315/69 310/3651/71 309/3650/69 +f 295/318/73 310/3651/71 294/316/71 +f 295/321/73 312/3653/75 311/3652/73 +f 297/324/9 312/3653/75 296/322/75 +f 298/327/76 313/3654/9 297/325/9 +f 299/329/79 314/3655/76 298/330/76 +f 299/333/79 316/3657/110 315/3656/79 +f 301/335/60 316/3657/110 300/336/110 +f 302/291/107 317/3658/60 301/289/60 +f 321/3659/8 352/348/84 336/3660/84 +f 322/3661/85 337/351/8 321/3659/8 +f 323/3662/87 338/352/85 322/3661/85 +f 324/3663/89 339/357/87 323/3662/87 +f 325/3664/91 340/358/89 324/3663/89 +f 326/3665/93 341/363/91 325/3664/91 +f 327/3666/92 342/364/93 326/3665/93 +f 328/3667/95 343/369/92 327/3666/92 +f 329/3668/10 344/370/95 328/3667/95 +f 330/3669/96 345/373/10 329/3670/10 +f 330/3669/96 347/376/97 346/378/96 +f 332/3671/101 347/381/97 331/3672/97 +f 332/3671/101 349/382/100 348/384/101 +f 333/3673/100 350/2711/83 349/385/100 +f 334/3674/83 351/340/82 350/342/83 +f 335/3675/82 352/343/84 351/345/82 +f 382/3676/103 335/3675/16 334/3674/103 +f 383/3677/16 336/3660/11 335/3675/16 +f 384/3678/11 321/3659/3 336/3660/11 +f 369/3679/3 322/3661/18 321/3659/3 +f 370/3680/18 323/3662/14 322/3661/18 +f 371/3681/14 324/3663/105 323/3662/14 +f 372/3682/105 325/3664/5 324/3663/105 +f 373/3683/5 326/3665/104 325/3664/5 +f 374/3684/104 327/3666/12 326/3665/104 +f 375/3685/12 328/3667/15 327/3666/12 +f 376/3686/15 329/3668/6 328/3667/15 +f 377/3687/6 330/3669/13 329/3670/6 +f 378/3688/13 331/3672/17 330/3669/13 +f 379/3689/17 332/3671/106 331/3672/17 +f 380/3690/106 333/3673/4 332/3671/106 +f 381/3691/4 334/3674/103 333/3673/4 +f 367/242/63 382/3676/107 366/243/107 +f 368/246/108 383/3677/63 367/244/63 +f 353/248/7 384/3678/108 368/249/108 +f 353/252/7 370/3680/65 369/3679/7 +f 355/255/67 370/3680/65 354/253/65 +f 355/258/67 372/3682/109 371/3681/67 +f 356/261/109 373/3683/69 372/3682/109 +f 357/262/69 374/3684/71 373/3683/69 +f 359/267/73 374/3684/71 358/265/71 +f 359/270/73 376/3686/75 375/3685/73 +f 360/273/75 377/3692/9 376/3686/75 +f 362/276/76 377/3687/9 361/274/9 +f 363/279/79 378/3688/76 362/277/76 +f 364/281/110 379/3689/79 363/282/79 +f 365/284/60 380/3690/110 364/285/110 +f 366/287/107 381/3691/60 365/288/60 +f 392/3693/15 407/3694/12 391/3695/12 +f 400/3696/11 415/3697/16 399/3698/16 +f 393/3699/6 408/3700/15 392/3693/15 +f 386/3701/18 401/3702/3 385/3703/3 +f 385/3703/3 416/3704/11 400/3696/11 +f 394/3705/13 409/3706/6 393/3707/6 +f 387/3708/14 402/3709/18 386/3701/18 +f 395/3710/17 410/3711/13 394/3705/13 +f 388/3712/105 403/3713/14 387/3708/14 +f 396/3714/106 411/3715/17 395/3710/17 +f 389/3716/5 404/3717/105 388/3712/105 +f 397/3718/4 412/3719/106 396/3714/106 +f 390/3720/104 405/3721/5 389/3716/5 +f 398/3722/103 413/3723/4 397/3718/4 +f 391/3695/12 406/3724/104 390/3720/104 +f 399/3698/16 414/3725/103 398/3722/103 +f 417/3726/6 433/3727/13 418/3728/13 +f 432/3729/15 434/3730/6 417/3726/6 +f 425/3731/3 442/3732/18 426/3733/18 +f 418/3728/13 435/3734/17 419/3735/17 +f 426/3733/18 443/3736/14 427/3737/14 +f 419/3735/17 436/3738/106 420/3739/106 +f 427/3737/14 444/3740/105 428/3741/105 +f 420/3739/106 437/3742/4 421/3743/4 +f 428/3741/105 445/3744/5 429/3745/5 +f 421/3743/4 438/3746/103 422/3747/103 +f 429/3745/5 446/3748/104 430/3749/104 +f 422/3747/103 439/3750/16 423/3751/16 +f 430/3749/104 447/3752/12 431/3753/12 +f 423/3751/16 440/3754/11 424/3755/11 +f 431/3753/12 448/3756/15 432/3729/15 +f 424/3755/11 441/3757/3 425/3758/3 +f 460/3759/105 475/3760/14 459/3761/14 +f 453/3762/4 468/3763/106 452/3764/106 +f 461/3765/5 476/3766/105 460/3759/105 +f 454/3767/103 469/3768/4 453/3762/4 +f 462/3769/104 477/3770/5 461/3765/5 +f 455/3771/16 470/3772/103 454/3767/103 +f 463/3773/12 478/3774/104 462/3769/104 +f 456/3775/11 471/3776/16 455/3771/16 +f 464/3777/15 479/3778/12 463/3773/12 +f 457/3779/3 472/3780/11 456/3775/11 +f 450/3781/13 466/3782/6 449/3783/6 +f 449/3783/6 480/3784/15 464/3777/15 +f 458/3785/18 473/3786/3 457/3787/3 +f 451/3788/17 465/3789/13 450/3781/13 +f 459/3761/14 474/3790/18 458/3785/18 +f 452/3764/106 467/3791/17 451/3788/17 +f 510/3792/103 495/3793/16 494/3794/103 +f 503/3795/12 488/3796/15 487/3797/12 +f 511/3798/16 496/3799/11 495/3793/16 +f 504/3800/15 489/3801/6 488/3796/15 +f 497/3802/3 482/3803/18 481/3804/3 +f 512/3805/11 481/3804/3 496/3799/11 +f 505/3806/6 490/3807/13 489/3808/6 +f 498/3809/18 483/3810/14 482/3803/18 +f 506/3811/13 491/3812/17 490/3807/13 +f 499/3813/14 484/3814/105 483/3810/14 +f 507/3815/17 492/3816/106 491/3812/17 +f 500/3817/105 485/3818/5 484/3814/105 +f 492/3816/106 509/3819/4 493/3820/4 +f 501/3821/5 486/3822/104 485/3818/5 +f 509/3819/4 494/3794/103 493/3820/4 +f 502/3823/104 487/3797/12 486/3822/104 +f 542/3824/103 527/3825/16 526/3826/103 +f 535/3827/12 520/3828/15 519/3829/12 +f 543/3830/16 528/3831/11 527/3825/16 +f 536/3832/15 521/3833/6 520/3828/15 +f 529/3834/3 514/3835/18 513/3836/3 +f 544/3837/11 513/3836/3 528/3831/11 +f 537/3838/6 522/3839/13 521/3840/6 +f 530/3841/18 515/3842/14 514/3835/18 +f 538/3843/13 523/3844/17 522/3839/13 +f 531/3845/14 516/3846/105 515/3842/14 +f 539/3847/17 524/3848/106 523/3844/17 +f 532/3849/105 517/3850/5 516/3846/105 +f 524/3848/106 541/3851/4 525/3852/4 +f 533/3853/5 518/3854/104 517/3850/5 +f 541/3851/4 526/3826/103 525/3852/4 +f 534/3855/104 519/3829/12 518/3854/104 +f 779/3856/111 770/3857/112 771/3858/113 +f 773/3859/114 792/3860/115 789/3861/116 +f 780/3862/117 771/3858/113 772/3863/118 +f 791/3864/119 774/3865/120 790/3866/121 +f 770/3857/112 777/3867/122 769/3868/123 +f 776/3869/124 791/3864/119 792/3860/115 +f 769/3870/123 780/3862/117 772/3863/118 +f 782/3871/125 777/3867/122 778/3872/126 +f 779/3856/111 782/3871/125 778/3872/126 +f 780/3862/117 783/3873/127 779/3856/111 +f 781/3874/128 780/3862/117 777/3875/122 +f 786/3876/129 781/3877/128 782/3871/125 +f 783/3873/127 786/3876/129 782/3871/125 +f 784/3878/130 787/3879/131 783/3873/127 +f 785/3880/132 784/3878/130 781/3874/128 +f 786/3876/129 789/3881/116 785/3882/132 +f 787/3879/131 790/3866/121 786/3876/129 +f 788/3883/133 791/3864/119 787/3879/131 +f 789/3861/116 788/3883/133 785/3880/132 +f 774/3865/120 789/3881/116 790/3866/121 +f 798/3884/134 813/3885/135 814/3886/136 +f 815/3887/137 798/3884/134 814/3886/136 +f 800/3888/138 815/3887/137 816/3889/139 +f 797/3890/140 816/3889/139 813/3891/135 +f 794/3892/141 801/3893/142 793/3894/143 +f 803/3895/144 794/3892/141 795/3896/145 +f 804/3897/146 795/3896/145 796/3898/147 +f 793/3899/143 804/3897/146 796/3898/147 +f 806/3900/148 801/3893/142 802/3901/149 +f 807/3902/150 802/3901/149 803/3895/144 +f 808/3903/151 803/3895/144 804/3897/146 +f 801/3904/142 808/3903/151 804/3897/146 +f 806/3900/148 809/3905/152 805/3906/153 +f 811/3907/154 806/3900/148 807/3902/150 +f 808/3903/151 811/3907/154 807/3902/150 +f 805/3908/153 812/3909/155 808/3903/151 +f 810/3910/156 813/3885/135 809/3905/152 +f 815/3887/137 810/3910/156 811/3907/154 +f 812/3909/155 815/3887/137 811/3907/154 +f 809/3911/152 816/3889/139 812/3909/155 +f 837/3912/157 818/3913/158 838/3914/159 +f 839/3915/160 818/3913/158 819/3916/161 +f 839/3915/160 820/3917/162 840/3918/163 +f 840/3918/163 817/3919/164 837/3920/157 +f 821/3921/165 826/3922/166 822/3923/167 +f 822/3923/167 827/3924/168 823/3925/169 +f 823/3925/169 828/3926/170 824/3927/171 +f 821/3928/165 828/3926/170 825/3929/172 +f 826/3922/166 829/3930/173 830/3931/174 +f 826/3922/166 831/3932/175 827/3924/168 +f 827/3924/168 832/3933/176 828/3926/170 +f 825/3929/172 832/3933/176 829/3934/173 +f 829/3930/173 834/3935/177 830/3931/174 +f 831/3932/175 834/3935/177 835/3936/178 +f 831/3932/175 836/3937/179 832/3933/176 +f 832/3933/176 833/3938/180 829/3934/173 +f 833/3939/180 838/3914/159 834/3935/177 +f 835/3936/178 838/3914/159 839/3915/160 +f 835/3936/178 840/3918/163 836/3937/179 +f 836/3937/179 837/3920/157 833/3938/180 +f 865/3940/181 850/3941/182 849/3942/183 +f 858/3943/184 843/710/185 842/3944/186 +f 866/3945/187 851/725/188 850/3941/182 +f 860/708/189 845/3946/190 844/706/191 +f 868/726/192 853/3947/193 852/724/194 +f 861/3948/195 846/717/196 845/3946/190 +f 869/3949/197 854/734/198 853/3947/193 +f 863/722/199 848/3950/200 847/719/201 +f 871/738/202 856/3951/203 855/736/204 +f 864/3952/205 849/3953/183 848/3950/200 +f 857/3954/206 842/3944/186 841/3955/207 +f 872/3956/208 841/3955/207 856/3951/203 +f 29/3410/62 14/3436/81 13/3467/102 +f 26/3430/77 11/3463/99 10/3395/48 +f 28/3434/80 13/3467/102 12/3461/98 +f 881/3957/209 866/3945/187 865/3940/181 +f 866/3945/187 883/3958/210 867/728/211 +f 867/728/211 884/3959/212 868/726/192 +f 884/3960/212 869/3949/197 868/726/192 +f 869/3949/197 886/3961/213 870/731/214 +f 870/731/214 887/3962/215 871/738/202 +f 887/3963/215 872/3956/208 871/738/202 +f 872/3956/208 873/3964/216 857/3954/206 +f 873/3965/216 858/3943/184 857/3954/206 +f 874/3966/217 859/711/218 858/3943/184 +f 875/3967/219 860/708/189 859/711/218 +f 876/3968/220 861/3948/195 860/708/189 +f 861/3948/195 878/3969/221 862/714/222 +f 878/3970/221 863/722/199 862/714/222 +f 879/3971/223 864/3952/205 863/722/199 +f 880/3972/224 865/3973/181 864/3952/205 +f 883/3974/210 879/3975/223 875/3976/219 +f 849/3953/183 896/3977/225 848/3950/200 +f 850/3941/182 897/3978/226 849/3942/183 +f 850/3941/182 899/3979/227 898/3980/228 +f 851/725/188 900/3981/229 899/3982/227 +f 852/724/194 901/3983/230 900/3984/229 +f 853/3947/193 902/3985/231 901/3986/230 +f 854/734/198 903/3987/232 902/3988/231 +f 856/3951/203 903/3989/232 855/736/204 +f 841/3955/207 904/3990/233 856/3951/203 +f 842/3944/186 889/3991/234 841/3955/207 +f 843/710/185 890/3992/235 842/3944/186 +f 844/706/191 891/3993/236 843/710/185 +f 845/3946/190 892/3994/237 844/706/191 +f 845/3946/190 894/3995/238 893/3996/239 +f 847/719/201 894/3997/238 846/717/196 +f 848/3950/200 895/3998/240 847/719/201 +f 897/3999/226 901/4000/230 889/4001/234 +f 20/3419/68 5/3447/88 4/3445/86 +f 21/3421/70 6/3449/90 5/3447/88 +f 23/3425/74 8/3405/57 7/3453/94 +f 934/4002/241 923/4003/242 922/4004/243 +f 923/4003/242 936/4005/14 924/4006/244 +f 936/4007/14 925/4008/245 924/4006/244 +f 925/4008/245 938/4009/246 926/4010/247 +f 938/4011/246 927/4012/248 926/4010/247 +f 927/4012/248 940/4013/249 928/4014/250 +f 940/4015/249 929/4016/251 928/4014/250 +f 941/4017/252 930/4018/253 929/4016/251 +f 942/4019/12 931/4020/254 930/4021/253 +f 931/4020/254 944/4022/255 932/4023/256 +f 932/4023/256 933/4024/69 921/4025/257 +f 933/4026/69 922/4004/243 921/4025/257 +f 928/4014/250 951/4027/258 927/4012/248 +f 925/4008/245 948/4028/259 924/4006/244 +f 932/4023/256 955/4029/260 931/4020/254 +f 921/4025/257 946/4030/261 945/4031/262 +f 929/4016/251 952/4032/263 928/4014/250 +f 925/4008/245 950/4033/264 949/4034/265 +f 921/4025/257 956/4035/266 932/4023/256 +f 922/4004/243 947/4036/267 946/4030/261 +f 930/4018/253 953/4037/268 929/4016/251 +f 927/4012/248 950/4033/264 926/4010/247 +f 924/4006/244 947/4036/267 923/4003/242 +f 930/4021/253 955/4029/260 954/4038/269 +f 947/4036/267 958/742/270 946/4030/261 +f 948/4028/259 959/745/271 947/4036/267 +f 949/4034/265 960/748/16 948/4028/259 +f 950/4033/264 961/751/272 949/4034/265 +f 950/4033/264 963/2780/100 962/752/273 +f 952/4032/263 963/757/100 951/4027/258 +f 952/4032/263 965/2782/274 964/758/275 +f 954/4039/269 965/761/274 953/4037/268 +f 954/4038/269 967/764/276 966/766/17 +f 956/4035/266 967/769/276 955/4029/260 +f 945/4031/262 968/770/277 956/4035/266 +f 945/4031/262 958/2787/270 957/773/60 +f 977/759/278 988/4040/279 976/760/279 +f 974/2779/280 985/4041/281 973/750/281 +f 969/771/2 992/4042/282 980/772/282 +f 971/2776/283 981/4043/284 970/741/284 +f 978/762/6 989/4044/278 977/763/278 +f 975/753/1 986/4045/280 974/754/280 +f 972/2777/3 983/4046/283 971/744/283 +f 979/2784/285 990/4047/6 978/765/6 +f 976/2781/279 987/4048/1 975/756/1 +f 973/2778/281 984/4049/3 972/747/3 +f 980/2785/282 991/4050/285 979/768/285 +f 970/774/284 982/4051/2 969/775/2 +f 944/4052/282 993/784/2 933/4024/2 +f 935/4053/283 994/785/284 995/787/283 +f 941/4017/278 1002/788/6 942/4054/6 +f 938/4011/280 999/793/1 939/4055/1 +f 935/4056/283 996/794/3 936/4005/3 +f 942/4019/6 1003/799/285 943/4057/285 +f 939/4058/1 1000/802/279 940/4013/279 +f 936/4007/3 997/805/281 937/4059/281 +f 943/4060/285 1004/806/282 944/4022/282 +f 933/4026/2 994/811/284 934/4061/284 +f 940/4015/279 1001/814/278 941/4062/278 +f 938/4009/280 997/2797/281 998/779/280 +f 1010/4063/280 1023/818/1 1011/4064/1 +f 1007/4065/283 1020/821/3 1008/4066/3 +f 1014/4067/6 1027/817/285 1015/4068/285 +f 1011/4064/1 1024/820/279 1012/4069/279 +f 1008/4066/3 1021/823/281 1009/4070/281 +f 1015/4068/285 1028/824/282 1016/4071/282 +f 1005/4072/2 1018/829/284 1006/4073/284 +f 1012/4069/279 1025/831/278 1013/4074/278 +f 1009/4070/281 1022/832/280 1010/4063/280 +f 1016/4071/282 1017/827/2 1005/4072/2 +f 1006/4073/284 1019/837/283 1007/4065/283 +f 1013/4074/278 1026/838/6 1014/4075/6 +f 1034/2816/280 1047/4076/1 1035/841/1 +f 1031/842/283 1044/4077/3 1032/843/3 +f 1038/2809/6 1051/4078/285 1039/816/285 +f 1035/2810/1 1048/4079/279 1036/819/279 +f 1032/2811/3 1045/4080/281 1033/822/281 +f 1039/825/285 1052/4081/282 1040/826/282 +f 1030/2812/2 1041/4082/284 1029/828/284 +f 1036/2813/279 1049/4083/278 1037/830/278 +f 1033/833/281 1046/4084/280 1034/834/280 +f 1030/835/2 1052/4085/282 1042/4086/2 +f 1029/2815/284 1043/4087/283 1031/836/283 +f 1037/839/278 1050/4088/6 1038/840/6 +f 1053/4089/4 1076/850/286 1065/852/4 +f 1055/4090/287 1066/853/288 1067/855/287 +f 1061/4091/289 1074/856/6 1062/4092/6 +f 1058/4093/290 1071/859/5 1059/4094/5 +f 1055/4090/287 1068/862/3 1056/4095/3 +f 1062/4096/6 1075/867/291 1063/4097/291 +f 1059/4094/5 1072/869/292 1060/4098/292 +f 1056/4095/3 1069/847/293 1057/4099/293 +f 1063/4097/291 1076/850/286 1064/4100/286 +f 1053/4089/4 1066/853/288 1054/4101/288 +f 1061/4091/289 1072/869/292 1073/875/289 +f 1058/4093/290 1069/847/293 1070/849/290 +f 1082/4102/290 1095/881/5 1083/4103/5 +f 1079/4104/287 1092/884/3 1080/4105/3 +f 1086/4106/6 1099/880/291 1087/4107/291 +f 1083/4103/5 1096/883/292 1084/4108/292 +f 1080/4105/3 1093/886/293 1081/4109/293 +f 1087/4107/291 1100/887/286 1088/4110/286 +f 1077/4111/4 1090/890/288 1078/4112/288 +f 1085/4113/289 1096/883/292 1097/893/289 +f 1081/4109/293 1094/897/290 1082/4102/290 +f 1077/4111/4 1100/887/286 1089/899/4 +f 1078/4112/288 1091/901/287 1079/4104/287 +f 1085/4113/289 1098/902/6 1086/4114/6 +f 1106/905/290 1119/4115/5 1107/906/5 +f 1103/907/287 1116/4116/3 1104/908/3 +f 1110/2832/6 1123/4117/291 1111/879/291 +f 1107/2833/5 1120/4118/292 1108/882/292 +f 1104/2834/3 1117/4119/293 1105/885/293 +f 1111/888/291 1124/4120/286 1112/889/286 +f 1102/891/4 1113/4121/288 1101/892/288 +f 1108/894/292 1121/4122/289 1109/895/289 +f 1105/2835/293 1118/4123/290 1106/896/290 +f 1112/2836/286 1114/4124/4 1102/898/4 +f 1101/2837/288 1115/4125/287 1103/900/287 +f 1109/903/289 1122/4126/6 1110/904/6 +f 19/3417/66 4/3445/86 3/3401/54 +f 22/3423/72 7/3453/94 6/3449/90 +f 27/3432/78 12/3461/98 11/3463/99 +f 30/3409/61 15/3399/52 14/3436/81 +f 1138/4127/294 1139/4128/295 1137/4129/296 +f 1140/4130/297 1141/4131/298 1139/4128/295 +f 1142/4132/299 1143/4133/300 1141/4131/298 +f 1144/4134/301 1145/4135/302 1143/4133/300 +f 1146/4136/303 1147/4137/304 1145/4135/302 +f 1148/4138/305 1149/4139/93 1147/4137/304 +f 1140/4130/297 1169/4140/83 1142/4132/299 +f 1150/4141/71 1151/4142/306 1149/4143/93 +f 1152/4144/307 1137/4129/296 1151/4142/306 +f 1141/4131/298 1156/4145/308 1155/4146/107 +f 1145/4147/302 1156/4145/308 1143/4133/300 +f 1139/4128/295 1155/4146/107 1154/4148/309 +f 1145/4147/302 1158/4149/310 1157/4150/311 +f 1137/4151/296 1159/4152/312 1151/4153/306 +f 1139/4128/295 1153/4154/313 1137/4151/296 +f 1159/4152/312 1160/4155/314 1166/4156/315 +f 1157/4150/311 1163/4157/316 1156/4145/308 +f 1154/4148/309 1162/4158/317 1161/4159/318 +f 1158/4149/310 1164/4160/319 1157/4150/311 +f 1156/4145/308 1162/4158/317 1155/4146/107 +f 1153/4154/313 1161/4159/318 1160/4155/314 +f 1151/4153/306 1159/4152/312 1149/4161/93 +f 1159/4152/312 1166/4156/315 1149/4161/93 +f 1149/4162/93 1158/4149/310 1147/4163/304 +f 1158/4149/310 1149/4162/93 1165/4164/320 +f 1148/4165/305 1171/4166/321 1172/4167/322 +f 1138/4168/294 1173/4169/323 1167/4170/324 +f 1140/4130/297 1167/4170/324 1168/4171/325 +f 1144/4134/301 1169/4140/83 1170/4172/326 +f 1146/4173/303 1170/4172/326 1171/4166/321 +f 1172/4167/322 1178/4174/327 1179/4175/328 +f 1170/4172/326 1176/4176/329 1177/4177/330 +f 1167/4170/324 1175/4178/331 1168/4171/325 +f 1167/4170/324 1180/4179/332 1174/4180/333 +f 1171/4166/321 1177/4177/330 1178/4174/327 +f 1168/4171/325 1176/4176/329 1169/4140/83 +f 1150/4181/71 1173/4169/323 1152/4182/307 +f 1173/4169/323 1150/4181/71 1180/4179/332 +f 1148/4165/305 1172/4167/322 1150/4183/71 +f 1172/4167/322 1179/4175/328 1150/4183/71 +f 1179/4184/328 1186/4185/13 1187/4186/76 +f 1176/4176/329 1185/4187/96 1177/4177/330 +f 1174/4188/333 1183/4189/85 1175/4178/331 +f 1150/4190/71 1187/4186/76 1181/4191/2 +f 1180/4192/332 1182/4193/18 1174/4188/333 +f 1180/4192/332 1181/4194/2 1188/4195/65 +f 1177/4177/330 1186/4185/13 1178/4196/327 +f 1176/4176/329 1183/4189/85 1184/4197/1 +f 1149/4198/93 1196/4199/85 1189/4200/1 +f 1163/4157/316 1194/4201/13 1193/4202/76 +f 1162/4158/317 1191/4203/65 1161/4159/318 +f 1164/4204/319 1195/4205/96 1194/4201/13 +f 1162/4158/317 1193/4202/76 1192/4206/2 +f 1160/4207/314 1191/4203/65 1190/4208/18 +f 1149/4209/93 1195/4205/96 1165/4210/320 +f 1160/4207/314 1196/4199/85 1166/4211/315 +f 1198/4212/334 1199/4213/335 1197/4214/336 +f 1200/4215/337 1201/4216/338 1199/4213/335 +f 1202/4217/339 1203/4218/340 1201/4216/338 +f 1204/4219/341 1205/4220/342 1203/4218/340 +f 1206/4221/343 1207/4222/344 1205/4220/342 +f 1208/4223/345 1209/4224/89 1207/4222/344 +f 1200/4215/337 1229/4225/101 1202/4217/339 +f 1210/4226/109 1211/4227/346 1209/4228/89 +f 1212/4229/347 1197/4214/336 1211/4227/346 +f 1203/4218/340 1215/4230/110 1201/4216/338 +f 1205/4231/342 1216/4232/348 1203/4218/340 +f 1199/4213/335 1215/4230/110 1214/4233/349 +f 1205/4231/342 1218/4234/350 1217/4235/351 +f 1197/4236/336 1219/4237/352 1211/4238/346 +f 1197/4236/336 1214/4233/349 1213/4239/353 +f 1219/4237/352 1220/4240/354 1226/4241/355 +f 1216/4232/348 1224/4242/356 1223/4243/357 +f 1214/4233/349 1222/4244/358 1221/4245/359 +f 1218/4234/350 1224/4242/356 1217/4235/351 +f 1215/4230/110 1223/4243/357 1222/4244/358 +f 1214/4233/349 1220/4240/354 1213/4239/353 +f 1211/4238/346 1219/4237/352 1209/4246/89 +f 1219/4237/352 1226/4241/355 1209/4246/89 +f 1209/4247/89 1218/4234/350 1207/4248/344 +f 1218/4234/350 1209/4247/89 1225/4249/360 +f 1208/4250/345 1231/4251/361 1232/4252/362 +f 1212/4253/347 1227/4254/363 1198/4255/334 +f 1200/4215/337 1227/4254/363 1228/4256/364 +f 1204/4219/341 1229/4225/101 1230/4257/365 +f 1206/4258/343 1230/4257/365 1231/4251/361 +f 1232/4252/362 1238/4259/366 1239/4260/367 +f 1230/4257/365 1236/4261/368 1237/4262/369 +f 1228/4256/364 1234/4263/370 1235/4264/371 +f 1233/4265/372 1234/4263/370 1227/4254/363 +f 1231/4251/361 1237/4262/369 1238/4259/366 +f 1228/4256/364 1236/4261/368 1229/4225/101 +f 1210/4266/109 1233/4265/372 1212/4253/347 +f 1233/4265/372 1210/4266/109 1240/4267/373 +f 1208/4250/345 1232/4252/362 1210/4268/109 +f 1232/4252/362 1239/4260/367 1210/4268/109 +f 1239/4269/367 1246/4270/15 1247/4271/75 +f 1236/4261/368 1245/4272/95 1237/4262/369 +f 1234/4273/370 1243/4274/84 1235/4264/371 +f 1210/4275/109 1247/4271/75 1241/4276/2 +f 1240/4277/373 1242/4278/11 1234/4273/370 +f 1240/4277/373 1241/4279/2 1248/4280/108 +f 1237/4262/369 1246/4270/15 1238/4281/366 +f 1236/4261/368 1243/4274/84 1244/4282/1 +f 1209/4283/89 1256/4284/84 1249/4285/1 +f 1223/4243/357 1254/4286/15 1253/4287/75 +f 1222/4244/358 1251/4288/108 1221/4245/359 +f 1225/4289/360 1254/4286/15 1224/4290/356 +f 1222/4244/358 1253/4287/75 1252/4291/2 +f 1220/4292/354 1251/4288/108 1250/4293/11 +f 1209/4294/89 1255/4295/95 1225/4289/360 +f 1220/4292/354 1256/4284/84 1226/4296/355 +f 1258/4297/374 1259/4298/375 1257/4299/376 +f 1260/4300/377 1261/4301/378 1259/4298/375 +f 1262/4302/379 1263/4303/380 1261/4301/378 +f 1264/4304/381 1265/4305/382 1263/4303/380 +f 1266/4306/383 1267/4307/384 1265/4305/382 +f 1268/4308/385 1269/4309/83 1267/4307/384 +f 1260/4300/377 1289/4310/93 1262/4302/379 +f 1270/4311/107 1271/4312/386 1269/4313/83 +f 1272/4314/387 1257/4299/376 1271/4312/386 +f 1263/4303/380 1275/4315/71 1261/4301/378 +f 1265/4316/382 1276/4317/388 1263/4303/380 +f 1259/4298/375 1275/4315/71 1274/4318/389 +f 1265/4316/382 1278/4319/390 1277/4320/391 +f 1257/4321/376 1279/4322/392 1271/4323/386 +f 1257/4321/376 1274/4318/389 1273/4324/393 +f 1279/4322/392 1280/4325/394 1286/4326/395 +f 1277/4320/391 1283/4327/396 1276/4317/388 +f 1274/4318/389 1282/4328/397 1281/4329/398 +f 1278/4319/390 1284/4330/399 1277/4320/391 +f 1276/4317/388 1282/4328/397 1275/4315/71 +f 1274/4318/389 1280/4325/394 1273/4324/393 +f 1271/4323/386 1279/4322/392 1269/4331/83 +f 1279/4322/392 1286/4326/395 1269/4331/83 +f 1269/4332/83 1278/4319/390 1267/4333/384 +f 1278/4319/390 1269/4332/83 1285/4334/400 +f 1268/4335/385 1291/4336/401 1292/4337/402 +f 1258/4338/374 1293/4339/403 1287/4340/404 +f 1260/4300/377 1287/4340/404 1288/4341/405 +f 1262/4302/379 1290/4342/406 1264/4304/381 +f 1266/4343/383 1290/4342/406 1291/4336/401 +f 1291/4336/401 1299/4344/407 1292/4337/402 +f 1290/4342/406 1296/4345/408 1297/4346/409 +f 1288/4341/405 1294/4347/410 1295/4348/411 +f 1293/4339/403 1294/4347/410 1287/4340/404 +f 1291/4336/401 1297/4346/409 1298/4349/412 +f 1288/4341/405 1296/4345/408 1289/4310/93 +f 1270/4350/107 1293/4339/403 1272/4351/387 +f 1293/4339/403 1270/4350/107 1300/4352/413 +f 1268/4335/385 1292/4337/402 1270/4353/107 +f 1292/4337/402 1299/4344/407 1270/4353/107 +f 1299/4354/407 1306/4355/18 1307/4356/65 +f 1296/4345/408 1305/4357/85 1297/4346/409 +f 1294/4358/410 1303/4359/96 1295/4348/411 +f 1270/4360/107 1307/4356/65 1301/4361/2 +f 1300/4362/413 1302/4363/13 1294/4358/410 +f 1300/4362/413 1301/4364/2 1308/4365/76 +f 1297/4346/409 1306/4355/18 1298/4366/412 +f 1295/4348/411 1304/4367/1 1296/4345/408 +f 1269/4368/83 1316/4369/96 1309/4370/1 +f 1283/4327/396 1314/4371/18 1313/4372/65 +f 1282/4328/397 1311/4373/76 1281/4329/398 +f 1285/4374/400 1314/4371/18 1284/4375/399 +f 1282/4328/397 1313/4372/65 1312/4376/2 +f 1280/4377/394 1311/4373/76 1310/4378/13 +f 1269/4379/83 1315/4380/85 1285/4374/400 +f 1280/4377/394 1316/4369/96 1286/4381/395 +f 1318/4382/414 1319/4383/415 1317/4384/416 +f 1320/4385/417 1321/4386/418 1319/4383/415 +f 1322/4387/419 1323/4388/420 1321/4386/418 +f 1324/4389/421 1325/4390/422 1323/4388/420 +f 1326/4391/423 1327/4392/424 1325/4390/422 +f 1328/4393/425 1329/4394/101 1327/4392/424 +f 1320/4385/417 1349/4395/89 1322/4387/419 +f 1330/4396/110 1331/4397/426 1329/4398/101 +f 1332/4399/427 1317/4384/416 1331/4397/426 +f 1323/4388/420 1335/4400/109 1321/4386/418 +f 1325/4401/422 1336/4402/428 1323/4388/420 +f 1319/4383/415 1335/4400/109 1334/4403/429 +f 1325/4401/422 1338/4404/430 1337/4405/431 +f 1317/4406/416 1339/4407/432 1331/4408/426 +f 1317/4406/416 1334/4403/429 1333/4409/433 +f 1339/4407/432 1340/4410/434 1346/4411/435 +f 1336/4402/428 1344/4412/436 1343/4413/437 +f 1335/4400/109 1341/4414/438 1334/4403/429 +f 1338/4404/430 1344/4412/436 1337/4405/431 +f 1336/4402/428 1342/4415/439 1335/4400/109 +f 1334/4403/429 1340/4410/434 1333/4409/433 +f 1331/4408/426 1339/4407/432 1329/4416/101 +f 1339/4407/432 1346/4411/435 1329/4416/101 +f 1329/4417/101 1338/4404/430 1327/4418/424 +f 1338/4404/430 1329/4417/101 1345/4419/440 +f 1328/4420/425 1351/4421/441 1352/4422/442 +f 1332/4423/427 1347/4424/443 1318/4425/414 +f 1318/4425/414 1348/4426/444 1320/4385/417 +f 1324/4389/421 1349/4395/89 1350/4427/445 +f 1326/4428/423 1350/4427/445 1351/4421/441 +f 1351/4421/441 1359/4429/446 1352/4422/442 +f 1350/4427/445 1356/4430/447 1357/4431/448 +f 1348/4426/444 1354/4432/449 1355/4433/450 +f 1353/4434/451 1354/4432/449 1347/4424/443 +f 1351/4421/441 1357/4431/448 1358/4435/452 +f 1349/4395/89 1355/4433/450 1356/4430/447 +f 1330/4436/110 1353/4434/451 1332/4423/427 +f 1353/4434/451 1330/4436/110 1360/4437/453 +f 1328/4420/425 1352/4422/442 1330/4438/110 +f 1352/4422/442 1359/4429/446 1330/4438/110 +f 1359/4439/446 1366/4440/11 1367/4441/108 +f 1356/4430/447 1365/4442/84 1357/4431/448 +f 1354/4443/449 1363/4444/95 1355/4433/450 +f 1330/4445/110 1367/4441/108 1361/4446/2 +f 1360/4447/453 1362/4448/15 1354/4443/449 +f 1360/4447/453 1361/4449/2 1368/4450/75 +f 1357/4431/448 1366/4440/11 1358/4451/452 +f 1356/4430/447 1363/4444/95 1364/4452/1 +f 1329/4453/101 1376/4454/95 1369/4455/1 +f 1343/4413/437 1374/4456/11 1373/4457/108 +f 1342/4415/439 1371/4458/75 1341/4414/438 +f 1344/4459/436 1375/4460/84 1374/4456/11 +f 1342/4415/439 1373/4457/108 1372/4461/2 +f 1340/4462/434 1371/4458/75 1370/4463/15 +f 1329/4464/101 1375/4460/84 1345/4465/440 +f 1340/4462/434 1376/4454/95 1346/4466/435 +f 1378/4467/422 1379/4468/421 1377/4469/423 +f 1380/4470/420 1381/4471/419 1379/4468/421 +f 1382/4472/418 1383/4473/417 1381/4471/419 +f 1384/4474/415 1385/4475/414 1383/4473/417 +f 1386/4476/416 1387/4477/427 1385/4475/414 +f 1388/4478/426 1389/4479/110 1387/4477/427 +f 1380/4470/420 1409/4480/109 1382/4472/418 +f 1390/4481/101 1391/4482/425 1389/4483/110 +f 1392/4484/424 1377/4469/423 1391/4482/425 +f 1381/4471/419 1396/4485/444 1395/4486/89 +f 1385/4487/414 1396/4485/444 1383/4473/417 +f 1379/4468/421 1395/4486/89 1394/4488/445 +f 1385/4487/414 1398/4489/454 1397/4490/443 +f 1377/4491/423 1399/4492/442 1391/4493/425 +f 1379/4468/421 1393/4494/441 1377/4491/423 +f 1399/4492/442 1400/4495/452 1406/4496/455 +f 1397/4490/443 1403/4497/450 1396/4485/444 +f 1394/4488/445 1402/4498/447 1401/4499/448 +f 1397/4490/443 1405/4500/453 1404/4501/449 +f 1396/4485/444 1402/4498/447 1395/4486/89 +f 1394/4488/445 1400/4495/452 1393/4494/441 +f 1391/4493/425 1399/4492/442 1389/4502/110 +f 1399/4492/442 1406/4496/455 1389/4502/110 +f 1389/4503/110 1398/4489/454 1387/4504/427 +f 1398/4489/454 1389/4503/110 1405/4500/453 +f 1388/4505/426 1411/4506/433 1412/4507/456 +f 1392/4508/424 1407/4509/431 1378/4510/422 +f 1378/4510/422 1408/4511/428 1380/4470/420 +f 1384/4474/415 1409/4480/109 1410/4512/457 +f 1386/4513/416 1410/4512/457 1411/4506/433 +f 1412/4507/456 1418/4514/434 1419/4515/435 +f 1409/4480/109 1417/4516/438 1410/4512/457 +f 1408/4511/428 1414/4517/436 1415/4518/437 +f 1413/4519/430 1414/4517/436 1407/4509/431 +f 1410/4512/457 1418/4514/434 1411/4506/433 +f 1408/4511/428 1416/4520/439 1409/4480/109 +f 1390/4521/101 1413/4519/430 1392/4508/424 +f 1413/4519/430 1390/4521/101 1420/4522/458 +f 1388/4505/426 1412/4507/456 1390/4523/101 +f 1412/4507/456 1419/4515/435 1390/4523/101 +f 1419/4524/435 1426/4525/15 1427/4526/95 +f 1416/4520/439 1425/4527/75 1417/4516/438 +f 1414/4528/436 1423/4529/108 1415/4518/437 +f 1390/4530/101 1427/4526/95 1421/4531/1 +f 1420/4532/458 1422/4533/11 1414/4528/436 +f 1420/4532/458 1421/4534/1 1428/4535/84 +f 1418/4536/434 1425/4527/75 1426/4525/15 +f 1416/4520/439 1423/4529/108 1424/4537/2 +f 1389/4538/110 1436/4539/108 1429/4540/2 +f 1403/4497/450 1434/4541/15 1433/4542/95 +f 1402/4498/447 1431/4543/84 1401/4499/448 +f 1405/4544/453 1434/4541/15 1404/4545/449 +f 1402/4498/447 1433/4542/95 1432/4546/1 +f 1400/4547/452 1431/4543/84 1430/4548/11 +f 1389/4549/110 1435/4550/75 1405/4544/453 +f 1400/4547/452 1436/4539/108 1406/4551/455 +f 1438/4552/382 1439/4553/381 1437/4554/383 +f 1440/4555/380 1441/4556/379 1439/4553/381 +f 1442/4557/378 1443/4558/377 1441/4556/379 +f 1444/4559/375 1445/4560/374 1443/4558/377 +f 1446/4561/376 1447/4562/387 1445/4560/374 +f 1448/4563/386 1449/4564/107 1447/4562/387 +f 1440/4555/380 1469/4565/71 1442/4557/378 +f 1450/4566/83 1451/4567/385 1449/4568/107 +f 1452/4569/384 1437/4554/383 1451/4567/385 +f 1443/4558/377 1455/4570/93 1441/4556/379 +f 1445/4571/374 1456/4572/405 1443/4558/377 +f 1441/4556/379 1454/4573/406 1439/4553/381 +f 1445/4571/374 1458/4574/403 1457/4575/404 +f 1437/4576/383 1459/4577/402 1451/4578/385 +f 1437/4576/383 1454/4573/406 1453/4579/401 +f 1459/4577/402 1460/4580/412 1466/4581/407 +f 1457/4575/404 1463/4582/411 1456/4572/405 +f 1454/4573/406 1462/4583/408 1461/4584/409 +f 1458/4574/403 1464/4585/410 1457/4575/404 +f 1456/4572/405 1462/4583/408 1455/4570/93 +f 1454/4573/406 1460/4580/412 1453/4579/401 +f 1451/4578/385 1459/4577/402 1449/4586/107 +f 1459/4577/402 1466/4581/407 1449/4586/107 +f 1449/4587/107 1458/4574/403 1447/4588/387 +f 1458/4574/403 1449/4587/107 1465/4589/459 +f 1448/4590/386 1471/4591/393 1472/4592/392 +f 1438/4593/382 1473/4594/390 1467/4595/391 +f 1440/4555/380 1467/4595/391 1468/4596/388 +f 1444/4559/375 1469/4565/71 1470/4597/389 +f 1444/4559/375 1471/4591/393 1446/4598/376 +f 1471/4591/393 1479/4599/395 1472/4592/392 +f 1470/4597/389 1476/4600/397 1477/4601/398 +f 1468/4596/388 1474/4602/399 1475/4603/396 +f 1473/4594/390 1474/4602/399 1467/4595/391 +f 1471/4591/393 1477/4601/398 1478/4604/394 +f 1468/4596/388 1476/4600/397 1469/4565/71 +f 1450/4605/83 1473/4594/390 1452/4606/384 +f 1473/4594/390 1450/4605/83 1480/4607/400 +f 1448/4590/386 1472/4592/392 1450/4608/83 +f 1472/4592/392 1479/4599/395 1450/4608/83 +f 1479/4609/395 1486/4610/13 1487/4611/96 +f 1476/4600/397 1485/4612/76 1477/4601/398 +f 1474/4613/399 1483/4614/65 1475/4603/396 +f 1450/4615/83 1487/4611/96 1481/4616/1 +f 1474/4613/399 1488/4617/85 1482/4618/18 +f 1480/4619/400 1481/4620/1 1488/4617/85 +f 1477/4601/398 1486/4610/13 1478/4621/394 +f 1476/4600/397 1483/4614/65 1484/4622/2 +f 1449/4623/107 1496/4624/65 1489/4625/2 +f 1463/4582/411 1494/4626/13 1493/4627/96 +f 1462/4583/408 1491/4628/85 1461/4584/409 +f 1465/4629/459 1494/4626/13 1464/4630/410 +f 1462/4583/408 1493/4627/96 1492/4631/1 +f 1460/4632/412 1491/4628/85 1490/4633/18 +f 1449/4634/107 1495/4635/76 1465/4629/459 +f 1466/4636/407 1490/4633/18 1496/4624/65 +f 1498/4637/342 1499/4638/341 1497/4639/343 +f 1500/4640/340 1501/4641/339 1499/4638/341 +f 1502/4642/338 1503/4643/337 1501/4641/339 +f 1504/4644/335 1505/4645/334 1503/4643/337 +f 1506/4646/336 1507/4647/347 1505/4645/334 +f 1508/4648/346 1509/4649/109 1507/4647/347 +f 1500/4640/340 1529/4650/110 1502/4642/338 +f 1510/4651/89 1511/4652/345 1509/4653/109 +f 1512/4654/344 1497/4639/343 1511/4652/345 +f 1503/4643/337 1515/4655/101 1501/4641/339 +f 1505/4656/334 1516/4657/364 1503/4643/337 +f 1499/4638/341 1515/4655/101 1514/4658/365 +f 1505/4656/334 1518/4659/372 1517/4660/363 +f 1497/4661/343 1519/4662/362 1511/4663/345 +f 1497/4661/343 1514/4658/365 1513/4664/361 +f 1519/4662/362 1520/4665/366 1526/4666/367 +f 1516/4657/364 1524/4667/370 1523/4668/371 +f 1514/4658/365 1522/4669/368 1521/4670/369 +f 1518/4659/372 1524/4667/370 1517/4660/363 +f 1515/4655/101 1523/4668/371 1522/4669/368 +f 1513/4664/361 1521/4670/369 1520/4665/366 +f 1511/4663/345 1519/4662/362 1509/4671/109 +f 1519/4662/362 1526/4666/367 1509/4671/109 +f 1509/4672/109 1518/4659/372 1507/4673/347 +f 1518/4659/372 1509/4672/109 1525/4674/373 +f 1508/4675/346 1531/4676/353 1532/4677/352 +f 1498/4678/342 1533/4679/350 1527/4680/351 +f 1500/4640/340 1527/4680/351 1528/4681/348 +f 1502/4642/338 1530/4682/349 1504/4644/335 +f 1506/4683/336 1530/4682/349 1531/4676/353 +f 1531/4676/353 1539/4684/355 1532/4677/352 +f 1530/4682/349 1536/4685/358 1537/4686/359 +f 1528/4681/348 1534/4687/356 1535/4688/357 +f 1533/4679/350 1534/4687/356 1527/4680/351 +f 1530/4682/349 1538/4689/354 1531/4676/353 +f 1528/4681/348 1536/4685/358 1529/4650/110 +f 1510/4690/89 1533/4679/350 1512/4691/344 +f 1533/4679/350 1510/4690/89 1540/4692/460 +f 1508/4675/346 1532/4677/352 1510/4693/89 +f 1532/4677/352 1539/4684/355 1510/4693/89 +f 1538/4694/354 1547/4695/84 1539/4696/355 +f 1536/4685/358 1545/4697/108 1537/4686/359 +f 1534/4698/356 1543/4699/75 1535/4688/357 +f 1510/4700/89 1547/4695/84 1541/4701/1 +f 1534/4698/356 1548/4702/95 1542/4703/15 +f 1540/4704/460 1541/4705/1 1548/4702/95 +f 1537/4686/359 1546/4706/11 1538/4694/354 +f 1536/4685/358 1543/4699/75 1544/4707/2 +f 1509/4708/109 1556/4709/75 1549/4710/2 +f 1523/4668/371 1554/4711/11 1553/4712/84 +f 1522/4669/368 1551/4713/95 1521/4670/369 +f 1525/4714/373 1554/4711/11 1524/4715/370 +f 1522/4669/368 1553/4712/84 1552/4716/1 +f 1520/4717/366 1551/4713/95 1550/4718/15 +f 1509/4719/109 1555/4720/108 1525/4714/373 +f 1520/4717/366 1556/4709/75 1526/4721/367 +f 1558/4722/302 1559/4723/301 1557/4724/303 +f 1560/4725/300 1561/4726/299 1559/4723/301 +f 1562/4727/298 1563/4728/297 1561/4726/299 +f 1564/4729/295 1565/4730/294 1563/4728/297 +f 1566/4731/296 1567/4732/307 1565/4730/294 +f 1568/4733/306 1569/4734/71 1567/4732/307 +f 1560/4725/300 1589/4735/107 1562/4727/298 +f 1570/4736/93 1571/4737/305 1569/4738/71 +f 1572/4739/304 1557/4724/303 1571/4737/305 +f 1563/4728/297 1575/4740/83 1561/4726/299 +f 1565/4741/294 1576/4742/325 1563/4728/297 +f 1559/4723/301 1575/4740/83 1574/4743/461 +f 1567/4744/307 1577/4745/324 1565/4741/294 +f 1557/4746/303 1579/4747/462 1571/4748/305 +f 1559/4723/301 1573/4749/321 1557/4746/303 +f 1579/4747/462 1580/4750/327 1586/4751/328 +f 1576/4742/325 1584/4752/333 1583/4753/331 +f 1575/4740/83 1581/4754/330 1574/4743/461 +f 1578/4755/323 1584/4752/333 1577/4745/324 +f 1576/4742/325 1582/4756/329 1575/4740/83 +f 1574/4743/461 1580/4750/327 1573/4749/321 +f 1571/4748/305 1579/4747/462 1569/4757/71 +f 1579/4747/462 1586/4751/328 1569/4757/71 +f 1569/4758/71 1578/4755/323 1567/4744/307 +f 1578/4755/323 1569/4758/71 1585/4759/463 +f 1568/4760/306 1591/4761/313 1592/4762/312 +f 1572/4763/304 1587/4764/311 1558/4765/302 +f 1558/4765/302 1588/4766/464 1560/4725/300 +f 1564/4729/295 1589/4735/107 1590/4767/309 +f 1566/4768/296 1590/4767/309 1591/4761/313 +f 1592/4762/312 1598/4769/314 1599/4770/465 +f 1590/4767/309 1596/4771/317 1597/4772/318 +f 1588/4766/464 1594/4773/319 1595/4774/316 +f 1593/4775/466 1594/4773/319 1587/4764/311 +f 1591/4761/313 1597/4772/318 1598/4769/314 +f 1588/4766/464 1596/4771/317 1589/4735/107 +f 1570/4776/93 1593/4775/466 1572/4763/304 +f 1593/4775/466 1570/4776/93 1600/4777/320 +f 1568/4760/306 1592/4762/312 1570/4778/93 +f 1592/4762/312 1599/4770/465 1570/4778/93 +f 1599/4779/465 1606/4780/18 1607/4781/85 +f 1596/4771/317 1605/4782/65 1597/4772/318 +f 1595/4774/316 1602/4783/13 1603/4784/76 +f 1570/4785/93 1607/4781/85 1601/4786/1 +f 1600/4787/320 1602/4783/13 1594/4788/319 +f 1570/4789/93 1608/4790/96 1600/4787/320 +f 1597/4772/318 1606/4780/18 1598/4791/314 +f 1596/4771/317 1603/4784/76 1604/4792/2 +f 1569/4793/71 1616/4794/76 1609/4795/2 +f 1583/4753/331 1614/4796/18 1613/4797/85 +f 1582/4756/329 1611/4798/96 1581/4754/330 +f 1585/4799/463 1614/4796/18 1584/4800/333 +f 1582/4756/329 1613/4797/85 1612/4801/1 +f 1580/4802/327 1611/4798/96 1610/4803/13 +f 1569/4804/71 1615/4805/65 1585/4799/463 +f 1580/4802/327 1616/4794/76 1586/4806/328 +f 1938/4807/467 1947/4808/468 1939/4809/469 +f 1960/4810/470 1941/4811/471 1957/4812/472 +f 1939/4809/469 1948/4813/473 1940/4814/474 +f 1959/4815/475 1942/4816/476 1943/4817/477 +f 1937/4818/478 1946/4819/479 1938/4807/467 +f 1959/4815/475 1944/4820/480 1960/4810/470 +f 1937/4821/478 1948/4813/473 1945/4822/481 +f 1945/4823/481 1950/4824/482 1946/4819/479 +f 1947/4808/468 1950/4824/482 1951/4825/483 +f 1948/4813/473 1951/4825/483 1952/4826/484 +f 1948/4813/473 1949/4827/485 1945/4822/481 +f 1949/4828/485 1954/4829/486 1950/4824/482 +f 1951/4825/483 1954/4829/486 1955/4830/487 +f 1952/4826/484 1955/4830/487 1956/4831/488 +f 1952/4826/484 1953/4832/489 1949/4827/485 +f 1953/4833/489 1958/4834/490 1954/4829/486 +f 1955/4830/487 1958/4834/490 1959/4815/475 +f 1955/4830/487 1960/4810/470 1956/4831/488 +f 1956/4831/488 1957/4812/472 1953/4832/489 +f 1957/4835/472 1942/4816/476 1958/4834/490 +f 1981/4836/491 1966/4837/492 1982/4838/493 +f 1983/4839/494 1966/4837/492 1967/4840/495 +f 1983/4839/494 1968/4841/496 1984/4842/497 +f 1984/4842/497 1965/4843/498 1981/4844/491 +f 1962/4845/499 1969/4846/500 1970/4847/501 +f 1962/4845/499 1971/4848/502 1963/4849/503 +f 1963/4849/503 1972/4850/504 1964/4851/505 +f 1961/4852/506 1972/4850/504 1969/4853/500 +f 1969/4846/500 1974/4854/507 1970/4847/501 +f 1970/4847/501 1975/4855/508 1971/4848/502 +f 1971/4848/502 1976/4856/509 1972/4850/504 +f 1969/4853/500 1976/4856/509 1973/4857/510 +f 1974/4854/507 1977/4858/511 1978/4859/512 +f 1974/4854/507 1979/4860/513 1975/4855/508 +f 1976/4856/509 1979/4860/513 1980/4861/514 +f 1973/4857/510 1980/4861/514 1977/4862/511 +f 1978/4859/512 1981/4836/491 1982/4838/493 +f 1978/4859/512 1983/4839/494 1979/4860/513 +f 1979/4860/513 1984/4842/497 1980/4861/514 +f 1977/4862/511 1984/4842/497 1981/4844/491 +f 1986/4863/515 2005/4864/516 2006/4865/517 +f 2007/4866/518 1986/4863/515 2006/4865/517 +f 1988/4867/519 2007/4866/518 2008/4868/520 +f 1985/4869/521 2008/4868/520 2005/4870/516 +f 1994/4871/522 1989/4872/523 1990/4873/524 +f 1995/4874/525 1990/4873/524 1991/4875/526 +f 1996/4876/527 1991/4875/526 1992/4877/528 +f 1989/4878/523 1996/4876/527 1992/4877/528 +f 1994/4871/522 1997/4879/529 1993/4880/530 +f 1999/4881/531 1994/4871/522 1995/4874/525 +f 2000/4882/532 1995/4874/525 1996/4876/527 +f 1993/4883/530 2000/4882/532 1996/4876/527 +f 2002/4884/533 1997/4879/529 1998/4885/534 +f 1999/4881/531 2002/4884/533 1998/4885/534 +f 2004/4886/535 1999/4881/531 2000/4882/532 +f 2001/4887/536 2000/4882/532 1997/4888/529 +f 2006/4865/517 2001/4889/536 2002/4884/533 +f 2003/4890/537 2006/4865/517 2002/4884/533 +f 2004/4886/535 2007/4866/518 2003/4890/537 +f 2005/4870/516 2004/4886/535 2001/4887/536 +f 2021/2938/279 2010/4891/278 2022/1549/278 +f 2028/2945/283 2017/4892/3 2029/1570/3 +f 2025/2942/282 2014/4893/2 2026/1561/2 +f 2022/1552/278 2011/4894/6 2023/1553/6 +f 2029/2946/3 2018/4895/281 2030/1573/281 +f 2026/1564/2 2015/4896/284 2027/1565/284 +f 2023/1555/6 2012/4897/285 2024/1556/285 +f 2030/2947/281 2020/4898/280 2031/1576/280 +f 2032/2937/1 2009/4899/279 2021/1546/279 +f 2027/2944/284 2016/4900/283 2028/1567/283 +f 2024/1558/285 2013/4901/282 2025/1559/282 +f 2056/4902/248 2043/2936/246 2044/1542/91 +f 2056/4902/248 2033/1547/249 2045/4903/250 +f 2045/4903/250 2034/1550/252 2046/4904/251 +f 2047/4905/253 2034/2939/252 2035/1551/12 +f 2047/4906/253 2036/1554/538 2048/4907/254 +f 2049/4908/256 2036/2941/538 2037/1557/255 +f 2049/4908/256 2038/1562/69 2050/4909/257 +f 2051/4910/243 2038/2943/69 2039/1563/241 +f 2051/4910/243 2040/1568/539 2052/4911/242 +f 2053/4912/244 2040/1569/539 2041/1571/14 +f 2054/4913/245 2041/1572/14 2042/1574/540 +f 2055/4914/247 2042/1575/540 2043/1577/246 +f 2070/4915/268 2047/4905/253 2071/4916/269 +f 2077/4917/259 2054/4913/245 2078/4918/265 +f 2074/4919/262 2051/4910/243 2075/4920/261 +f 2071/4921/269 2048/4907/254 2072/4922/260 +f 2078/4918/265 2055/4914/247 2079/4923/264 +f 2080/4924/258 2045/4903/250 2069/4925/263 +f 2075/4920/261 2052/4911/242 2076/4926/267 +f 2072/4922/260 2049/4908/256 2073/4927/266 +f 2079/4923/264 2056/4902/248 2080/4924/258 +f 2069/4925/263 2046/4904/251 2070/4915/268 +f 2076/4926/267 2053/4912/244 2077/4917/259 +f 2073/4927/266 2050/4909/257 2074/4919/262 +f 2068/4928/100 2079/4923/264 2080/4924/258 +f 2069/4925/263 2068/4929/100 2080/4924/258 +f 2070/4915/268 2057/4930/275 2069/4925/263 +f 2059/4931/17 2070/4915/268 2071/4916/269 +f 2060/4932/276 2071/4921/269 2072/4922/260 +f 2061/4933/277 2072/4922/260 2073/4927/266 +f 2074/4919/262 2061/4934/277 2073/4927/266 +f 2063/4935/270 2074/4919/262 2075/4920/261 +f 2064/4936/271 2075/4920/261 2076/4926/267 +f 2065/4937/16 2076/4926/267 2077/4917/259 +f 2066/4938/272 2077/4917/259 2078/4918/265 +f 2067/4939/273 2078/4918/265 2079/4923/264 +f 2085/4940/175 2084/4941/166 2088/4942/174 +f 2085/4940/175 2082/4943/170 2081/4944/168 +f 2086/4945/176 2083/4946/172 2082/4943/170 +f 2088/4947/174 2083/4946/172 2087/4948/173 +f 2089/4949/178 2088/4942/174 2092/4950/177 +f 2090/4951/179 2085/4940/175 2089/4949/178 +f 2090/4951/179 2087/4948/173 2086/4945/176 +f 2092/4952/177 2087/4948/173 2091/4953/180 +f 2096/4954/159 2089/4949/178 2092/4950/177 +f 2094/4955/163 2089/4949/178 2093/4956/160 +f 2095/4957/157 2090/4951/179 2094/4955/163 +f 2095/4957/157 2092/4952/177 2091/4953/180 +f 2100/4958/158 2093/4956/160 2096/4954/159 +f 2098/4959/162 2093/4956/160 2097/4960/161 +f 2099/4961/164 2094/4955/163 2098/4959/162 +f 2100/4962/158 2095/4957/157 2099/4961/164 +f 2081/4944/168 2104/4963/167 2084/4941/166 +f 2082/4943/170 2101/4964/169 2081/4944/168 +f 2082/4943/170 2103/4965/165 2102/4966/171 +f 2084/4967/166 2103/4965/165 2083/4946/172 +f 2112/4968/541 2105/4969/542 2109/4970/127 +f 2109/4970/127 2106/4971/543 2110/4972/130 +f 2106/4971/543 2111/4973/128 2110/4972/130 +f 2111/4973/128 2108/4974/544 2112/4975/541 +f 2116/4976/129 2109/4970/127 2113/4977/131 +f 2113/4977/131 2110/4972/130 2114/4978/133 +f 2110/4972/130 2115/4979/132 2114/4978/133 +f 2115/4979/132 2112/4975/541 2116/4980/129 +f 2120/4981/545 2113/4977/131 2117/4982/546 +f 2113/4977/131 2118/4983/547 2117/4982/546 +f 2114/4978/133 2119/4984/548 2118/4983/547 +f 2115/4979/132 2120/4985/545 2119/4984/548 +f 2128/4986/549 2117/4982/546 2125/4987/550 +f 2117/4982/546 2126/4988/551 2125/4987/550 +f 2118/4983/547 2127/4989/552 2126/4988/551 +f 2127/4989/552 2120/4985/545 2128/4990/549 +f 2124/4991/553 2105/4969/542 2108/4992/544 +f 2121/4993/554 2106/4971/543 2105/4969/542 +f 2106/4971/543 2123/4994/555 2107/4995/556 +f 2123/4994/555 2108/4974/544 2107/4995/556 +f 2147/4996/557 2132/4997/558 2131/4998/559 +f 2132/4999/558 2133/5000/150 2136/5001/148 +f 2129/5002/560 2134/5003/151 2133/5000/150 +f 2134/5003/151 2131/4998/559 2135/5004/153 +f 2135/5004/153 2132/4997/558 2136/5005/148 +f 2136/5001/148 2137/5006/154 2140/5007/156 +f 2137/5006/154 2134/5003/151 2138/5008/155 +f 2138/5008/155 2135/5004/153 2139/5009/561 +f 2135/5004/153 2140/5010/156 2139/5009/561 +f 2140/5007/156 2141/5011/562 2144/5012/563 +f 2141/5011/562 2138/5008/155 2142/5013/564 +f 2142/5013/564 2139/5009/561 2143/5014/565 +f 2139/5009/561 2144/5015/563 2143/5014/565 +f 2152/5016/566 2141/5011/562 2149/5017/567 +f 2145/5018/568 2130/5019/569 2129/5002/560 +f 2151/5020/570 2144/5015/563 2152/5021/566 +f 2130/5019/569 2147/4996/557 2131/4998/559 +f 2141/5011/562 2150/5022/571 2149/5017/567 +f 2148/5023/572 2129/5002/560 2132/4999/558 +f 2142/5013/564 2151/5020/570 2150/5022/571 +f 2154/5024/573 2167/5025/574 2155/5026/575 +f 2167/5027/574 2156/5028/576 2155/5026/575 +f 2168/5029/577 2157/5030/578 2156/5028/576 +f 2169/5031/579 2158/5032/580 2157/5030/578 +f 2170/5033/581 2159/5034/582 2158/5032/580 +f 2171/5035/583 2160/5036/584 2159/5034/582 +f 2160/5036/584 2173/5037/585 2161/5038/586 +f 2173/5039/585 2162/5040/587 2161/5038/586 +f 2162/5041/587 2175/5042/588 2163/5043/589 +f 2175/5044/588 2164/5045/590 2163/5043/589 +f 2164/5045/590 2165/5046/591 2153/5047/592 +f 2153/5047/592 2166/5048/593 2154/5024/573 +f 2159/5034/582 2184/5049/594 2183/5050/595 +f 2157/5030/578 2180/5051/596 2156/5028/576 +f 2164/5045/590 2187/5052/597 2163/5043/589 +f 2154/5024/573 2177/5053/598 2153/5047/592 +f 2161/5038/586 2184/5049/594 2160/5036/584 +f 2157/5030/578 2182/5054/599 2181/5055/600 +f 2164/5045/590 2177/5053/598 2188/5056/601 +f 2154/5024/573 2179/5057/602 2178/5058/603 +f 2162/5040/587 2185/5059/604 2161/5038/586 +f 2158/5032/580 2183/5050/595 2182/5054/599 +f 2156/5028/576 2179/5057/602 2155/5026/575 +f 2163/5043/589 2186/5060/605 2162/5041/587 +f 2178/5058/603 2191/2948/606 2190/1578/607 +f 2179/5057/602 2192/1581/608 2191/1583/606 +f 2180/5051/596 2193/1584/609 2192/1586/608 +f 2182/5054/599 2193/1589/609 2181/5055/600 +f 2182/5054/599 2195/2952/610 2194/1590/611 +f 2184/5049/594 2195/1595/610 2183/5050/595 +f 2184/5049/594 2197/2954/612 2196/1596/613 +f 2186/5061/605 2197/1599/612 2185/5059/604 +f 2187/5052/597 2198/1602/614 2186/5060/605 +f 2188/5056/601 2199/1605/615 2187/5052/597 +f 2177/5053/598 2200/1610/616 2188/5056/601 +f 2177/5053/598 2190/2959/607 2189/1611/617 +f 2208/1598/618 2221/5062/619 2220/5063/618 +f 2206/2951/620 2217/5064/621 2205/1588/621 +f 2201/2958/622 2224/5065/623 2212/1609/623 +f 2202/1580/624 2215/5066/625 2213/5067/624 +f 2210/1600/289 2221/5068/619 2209/1601/619 +f 2206/1592/620 2219/5069/626 2218/5070/620 +f 2204/2949/287 2215/5071/625 2203/1582/625 +f 2210/1604/289 2223/5072/627 2222/5073/289 +f 2207/1594/626 2220/5074/618 2219/5075/626 +f 2205/2950/621 2216/5076/287 2204/1585/287 +f 2212/1606/623 2223/5077/627 2211/1607/627 +f 2202/1612/624 2214/5078/622 2201/1613/622 +f 2176/5079/623 2225/1620/622 2165/5046/622 +f 2167/5025/625 2226/1623/624 2227/1625/625 +f 2173/5039/619 2234/1626/289 2174/5080/289 +f 2170/5033/620 2231/1629/626 2171/5081/626 +f 2167/5027/625 2228/1634/287 2168/5082/287 +f 2175/5042/627 2234/1635/289 2235/1637/627 +f 2172/5083/618 2231/2976/626 2232/1638/618 +f 2168/5029/287 2229/1643/621 2169/5084/621 +f 2175/5044/627 2236/1644/623 2176/5085/623 +f 2165/5086/622 2226/1649/624 2166/5048/624 +f 2172/5087/618 2233/1652/619 2173/5037/619 +f 2169/5031/621 2230/1617/620 2170/5088/620 +f 2242/5089/620 2255/1656/626 2243/5090/626 +f 2239/5091/625 2252/1679/287 2240/5092/287 +f 2247/5093/627 2258/1653/289 2259/1655/627 +f 2243/5090/626 2256/1658/618 2244/5094/618 +f 2241/5095/621 2252/1679/287 2253/1659/621 +f 2247/5093/627 2260/1663/623 2248/5096/623 +f 2237/5097/622 2250/1666/624 2238/5098/624 +f 2244/5094/618 2257/1668/619 2245/5099/619 +f 2242/5089/620 2253/1659/621 2254/1669/620 +f 2248/5096/623 2249/1664/622 2237/5097/622 +f 2239/5091/625 2250/1666/624 2251/1674/625 +f 2245/5099/619 2258/1675/289 2246/5100/289 +f 2266/2988/620 2279/5101/626 2267/1678/626 +f 2264/1681/287 2275/5102/625 2276/5103/287 +f 2271/1654/627 2282/5104/289 2283/5105/627 +f 2267/2982/626 2280/5106/618 2268/1657/618 +f 2264/1660/287 2277/5107/621 2265/1661/621 +f 2272/1662/623 2283/5108/627 2284/5109/623 +f 2262/2984/622 2273/5110/624 2261/1665/624 +f 2268/2985/618 2281/5111/619 2269/1667/619 +f 2265/1670/621 2278/5112/620 2266/1671/620 +f 2262/1672/622 2284/5113/623 2274/5114/622 +f 2261/2987/624 2275/5115/625 2263/1673/625 +f 2269/1676/619 2282/5116/289 2270/1677/289 +f 2298/5117/628 2287/5118/629 2286/5119/630 +f 2299/5120/631 2288/5121/632 2287/5118/629 +f 2288/5121/632 2301/5122/633 2289/5123/634 +f 2289/5123/634 2302/5124/635 2290/5125/636 +f 2302/5126/635 2291/5127/637 2290/5125/636 +f 2291/5127/637 2304/5128/638 2292/5129/639 +f 2304/5130/638 2293/5131/640 2292/5129/639 +f 2305/5132/641 2294/5133/642 2293/5131/640 +f 2306/5134/643 2295/5135/644 2294/5136/642 +f 2307/5137/645 2296/5138/646 2295/5135/644 +f 2296/5138/646 2297/5139/647 2285/5140/648 +f 2297/5141/647 2286/5119/630 2285/5140/648 +f 2292/5129/639 2315/5142/649 2291/5127/637 +f 2288/5121/632 2313/5143/650 2312/5144/651 +f 2296/5138/646 2319/5145/652 2295/5135/644 +f 2286/5119/630 2309/5146/653 2285/5140/648 +f 2293/5131/640 2316/5147/654 2292/5129/639 +f 2290/5125/636 2313/5143/650 2289/5123/634 +f 2285/5140/648 2320/5148/655 2296/5138/646 +f 2286/5119/630 2311/5149/656 2310/5150/657 +f 2294/5133/642 2317/5151/658 2293/5131/640 +f 2290/5125/636 2315/5142/649 2314/5152/659 +f 2288/5121/632 2311/5149/656 2287/5118/629 +f 2295/5135/644 2318/5153/660 2294/5136/642 +f 2310/5150/657 2323/1685/661 2322/1687/662 +f 2312/5144/651 2323/1690/661 2311/5149/656 +f 2312/5144/651 2325/1691/663 2324/1693/664 +f 2314/5152/659 2325/1696/663 2313/5143/650 +f 2314/5152/659 2327/3002/665 2326/1697/666 +f 2315/5142/649 2328/1700/667 2327/1702/665 +f 2316/5147/654 2329/3004/668 2328/1703/667 +f 2318/5154/660 2329/1706/668 2317/5151/658 +f 2319/5145/652 2330/1709/669 2318/5153/660 +f 2320/5148/655 2331/1712/670 2319/5145/652 +f 2309/5146/653 2332/1715/671 2320/5148/655 +f 2310/5150/657 2321/1718/672 2309/5146/653 +f 2340/1705/673 2353/5155/674 2352/5156/673 +f 2338/3001/675 2349/5157/676 2337/1695/676 +f 2333/1716/677 2356/5158/678 2344/1717/678 +f 2335/2998/679 2345/5159/680 2334/1686/680 +f 2342/1707/289 2353/5160/674 2341/1708/674 +f 2339/1698/681 2350/5161/675 2338/1699/675 +f 2336/2999/287 2347/5162/679 2335/1689/679 +f 2343/1710/682 2354/5163/289 2342/1711/289 +f 2339/1701/681 2352/5164/673 2351/5165/681 +f 2336/1692/287 2349/5166/676 2348/5167/287 +f 2344/1713/678 2355/5168/682 2343/1714/682 +f 2334/1719/680 2346/5169/677 2333/1720/677 +f 2308/5170/678 2357/1727/677 2297/5139/677 +f 2299/5171/679 2358/1730/680 2359/1732/679 +f 2305/5132/674 2366/1733/289 2306/5172/289 +f 2303/5173/681 2362/3023/675 2363/1736/681 +f 2300/5174/287 2359/3024/679 2360/1739/287 +f 2306/5134/289 2367/1744/682 2307/5175/682 +f 2304/5128/673 2363/1745/681 2364/1747/673 +f 2300/5176/287 2361/1750/676 2301/5122/676 +f 2307/5137/682 2368/1751/678 2308/5177/678 +f 2297/5141/677 2358/1756/680 2298/5178/680 +f 2304/5130/673 2365/1759/674 2305/5179/674 +f 2302/5124/675 2361/3019/676 2362/1724/675 +f 2375/5180/681 2386/1776/675 2387/1763/681 +f 2372/5181/287 2383/1781/679 2384/1766/287 +f 2378/5182/289 2391/1762/682 2379/5183/682 +f 2375/5180/681 2388/1765/673 2376/5184/673 +f 2372/5181/287 2385/1768/676 2373/5185/676 +f 2380/5186/678 2391/1762/682 2392/1770/678 +f 2370/5187/680 2381/1771/677 2382/1773/680 +f 2376/5184/673 2389/1775/674 2377/5188/674 +f 2374/5189/675 2385/1768/676 2386/1776/675 +f 2380/5186/678 2381/1771/677 2369/5190/677 +f 2371/5191/679 2382/1773/680 2383/1781/679 +f 2378/5192/289 2389/1775/674 2390/1782/289 +f 2399/1786/681 2410/5193/675 2411/5194/681 +f 2395/1787/679 2408/5195/287 2396/1788/287 +f 2402/3031/289 2415/5196/682 2403/1761/682 +f 2400/1764/673 2411/5197/681 2412/5198/673 +f 2396/3033/287 2409/5199/676 2397/1767/676 +f 2403/3034/682 2416/5200/678 2404/1769/678 +f 2394/3035/677 2405/5201/680 2393/1772/680 +f 2400/3036/673 2413/5202/674 2401/1774/674 +f 2397/1777/676 2410/5203/675 2398/1778/675 +f 2394/1779/677 2416/5204/678 2406/5205/677 +f 2393/3038/680 2407/5206/679 2395/1780/679 +f 2401/1783/674 2414/5207/289 2402/1784/289 +f 2418/5208/683 2431/5209/684 2419/5210/685 +f 2431/5211/684 2420/5212/686 2419/5210/685 +f 2432/5213/687 2421/5214/688 2420/5212/686 +f 2433/5215/689 2422/5216/690 2421/5214/688 +f 2434/5217/691 2423/5218/692 2422/5216/690 +f 2435/5219/693 2424/5220/694 2423/5218/692 +f 2436/5221/695 2425/5222/696 2424/5220/694 +f 2437/5223/697 2426/5224/698 2425/5222/696 +f 2426/5225/698 2439/5226/699 2427/5227/700 +f 2427/5227/700 2440/5228/701 2428/5229/702 +f 2428/5229/702 2429/5230/703 2417/5231/704 +f 2417/5231/704 2430/5232/705 2418/5208/683 +f 2424/5220/694 2447/5233/706 2423/5218/692 +f 2421/5214/688 2444/5234/707 2420/5212/686 +f 2428/5229/702 2451/5235/708 2427/5227/700 +f 2418/5208/683 2441/5236/709 2417/5231/704 +f 2424/5220/694 2449/5237/710 2448/5238/711 +f 2422/5216/690 2445/5239/712 2421/5214/688 +f 2428/5229/702 2441/5236/709 2452/5240/713 +f 2419/5210/685 2442/5241/714 2418/5208/683 +f 2426/5224/698 2449/5237/710 2425/5222/696 +f 2422/5216/690 2447/5233/706 2446/5242/715 +f 2419/5210/685 2444/5234/707 2443/5243/716 +f 2427/5227/700 2450/5244/717 2426/5225/698 +f 2442/5241/714 2455/1792/718 2454/1794/719 +f 2444/5234/707 2455/1797/718 2443/5243/716 +f 2444/5234/707 2457/1798/720 2456/1800/721 +f 2446/5242/715 2457/1803/720 2445/5239/712 +f 2446/5242/715 2459/1804/722 2458/1806/723 +f 2448/5238/711 2459/1809/722 2447/5233/706 +f 2449/5237/710 2460/1810/724 2448/5238/711 +f 2449/5237/710 2462/3055/725 2461/1813/726 +f 2451/5235/708 2462/1816/725 2450/5244/717 +f 2452/5240/713 2463/1821/727 2451/5235/708 +f 2441/5236/709 2464/1822/728 2452/5240/713 +f 2441/5236/709 2454/3059/719 2453/1825/729 +f 2472/1812/730 2485/5245/731 2484/5246/730 +f 2470/3051/732 2481/5247/733 2469/1802/733 +f 2465/1823/734 2488/5248/735 2476/1824/735 +f 2466/1793/736 2479/5249/737 2477/5250/736 +f 2474/1814/291 2485/5251/731 2473/1815/731 +f 2470/1805/732 2483/5252/738 2482/5253/732 +f 2468/3049/293 2479/5254/737 2467/1796/737 +f 2474/1818/291 2487/5255/739 2486/5256/291 +f 2471/1808/738 2484/5257/730 2483/5258/738 +f 2469/3050/733 2480/5259/293 2468/1799/293 +f 2475/1820/739 2488/5260/735 2487/5261/739 +f 2465/1827/734 2477/5262/736 2478/5263/734 +f 2440/5264/735 2489/1836/734 2429/5230/734 +f 2430/5265/736 2491/1837/737 2431/5209/737 +f 2438/5266/291 2497/3072/731 2498/1840/291 +f 2434/5217/732 2495/1845/738 2435/5267/738 +f 2432/5268/293 2491/3074/737 2492/1846/293 +f 2438/5269/291 2499/1851/739 2439/5226/739 +f 2436/5270/730 2495/3076/738 2496/1852/730 +f 2433/5271/733 2492/3077/293 2493/1855/733 +f 2440/5228/735 2499/3078/739 2500/1858/735 +f 2430/5232/736 2489/3079/734 2490/1861/736 +f 2436/5221/730 2497/1864/731 2437/5272/731 +f 2434/5273/732 2493/1831/733 2494/1833/732 +f 2506/5274/732 2519/1870/738 2507/5275/738 +f 2503/5276/737 2516/1896/293 2504/5277/293 +f 2510/5278/291 2523/1867/739 2511/5279/739 +f 2507/5275/738 2520/1872/730 2508/5280/730 +f 2505/5281/733 2516/1896/293 2517/1873/733 +f 2512/5282/735 2523/1867/739 2524/1876/735 +f 2502/5283/736 2513/1888/734 2514/1879/736 +f 2509/5284/731 2520/1872/730 2521/1883/731 +f 2505/5281/733 2518/1884/732 2506/5274/732 +f 2512/5282/735 2513/1888/734 2501/5285/734 +f 2503/5276/737 2514/1879/736 2515/1890/737 +f 2509/5284/731 2522/1891/291 2510/5286/291 +f 2530/3086/732 2543/5287/738 2531/1894/738 +f 2527/3087/737 2540/5288/293 2528/1895/293 +f 2534/1868/291 2547/5289/739 2535/1869/739 +f 2531/3082/738 2544/5290/730 2532/1871/730 +f 2528/1874/293 2541/5291/733 2529/1875/733 +f 2535/1877/739 2548/5292/735 2536/1878/735 +f 2526/1880/734 2537/5293/736 2525/1881/736 +f 2532/3083/730 2545/5294/731 2533/1882/731 +f 2530/1886/732 2541/5295/733 2542/5296/732 +f 2526/1887/734 2548/5297/735 2538/5298/734 +f 2525/3085/736 2539/5299/737 2527/1889/737 +f 2534/1893/291 2545/5300/731 2546/5301/291 +f 2562/5302/740 2551/5303/741 2550/5304/742 +f 2563/5305/743 2552/5306/744 2551/5303/741 +f 2552/5306/744 2565/5307/745 2553/5308/746 +f 2553/5308/746 2566/5309/747 2554/5310/748 +f 2566/5311/747 2555/5312/749 2554/5310/748 +f 2555/5312/749 2568/5313/750 2556/5314/751 +f 2568/5315/750 2557/5316/752 2556/5314/751 +f 2569/5317/753 2558/5318/754 2557/5316/752 +f 2570/5319/755 2559/5320/756 2558/5321/754 +f 2571/5322/757 2560/5323/758 2559/5320/756 +f 2560/5323/758 2561/5324/759 2549/5325/760 +f 2561/5326/759 2550/5304/742 2549/5325/760 +f 2556/5314/751 2579/5327/761 2555/5312/749 +f 2553/5308/746 2576/5328/762 2552/5306/744 +f 2560/5323/758 2583/5329/763 2559/5320/756 +f 2550/5304/742 2573/5330/764 2549/5325/760 +f 2557/5316/752 2580/5331/765 2556/5314/751 +f 2554/5310/748 2577/5332/766 2553/5308/746 +f 2560/5323/758 2573/5330/764 2584/5333/767 +f 2550/5304/742 2575/5334/768 2574/5335/769 +f 2558/5318/754 2581/5336/770 2557/5316/752 +f 2554/5310/748 2579/5327/761 2578/5337/771 +f 2552/5306/744 2575/5334/768 2551/5303/741 +f 2559/5320/756 2582/5338/772 2558/5321/754 +f 2575/5334/768 2586/1900/773 2574/5335/769 +f 2575/5334/768 2588/1903/774 2587/1905/775 +f 2576/5328/762 2589/1906/776 2588/1908/774 +f 2577/5332/766 2590/1909/777 2589/1911/776 +f 2579/5327/761 2590/1912/777 2578/5337/771 +f 2580/5331/765 2591/1917/778 2579/5327/761 +f 2581/5336/770 2592/1918/779 2580/5331/765 +f 2581/5336/770 2594/3104/780 2593/1921/781 +f 2582/5338/772 2595/1924/782 2594/1926/780 +f 2584/5333/767 2595/1929/782 2583/5329/763 +f 2573/5330/764 2596/1932/783 2584/5333/767 +f 2573/5330/764 2586/3108/773 2585/1933/784 +f 2604/1920/785 2617/5339/786 2616/5340/785 +f 2602/3100/787 2613/5341/788 2601/1910/788 +f 2597/3107/789 2620/5342/790 2608/1931/790 +f 2599/1901/791 2609/5343/792 2598/1902/792 +f 2606/1922/291 2617/5344/786 2605/1923/786 +f 2602/1914/787 2615/5345/793 2614/5346/787 +f 2599/1904/791 2612/5347/293 2611/5348/791 +f 2606/1925/291 2619/5349/794 2618/5350/291 +f 2604/3102/785 2615/5351/793 2603/1916/793 +f 2601/3099/788 2612/5352/293 2600/1907/293 +f 2608/3106/790 2619/5353/794 2607/1928/794 +f 2597/1935/789 2609/5354/792 2610/5355/789 +f 2561/5324/789 2632/3119/790 2621/1942/789 +f 2562/5302/792 2623/1945/791 2563/5356/791 +f 2569/5317/786 2630/1948/291 2570/5357/291 +f 2567/5358/793 2626/3122/787 2627/1951/793 +f 2564/5359/293 2623/1954/791 2624/1956/293 +f 2571/5360/794 2630/1957/291 2631/1959/794 +f 2567/5361/793 2628/1962/785 2568/5313/785 +f 2564/5362/293 2625/1965/788 2565/5307/788 +f 2572/5363/790 2631/3127/794 2632/1966/790 +f 2561/5326/789 2622/1971/792 2562/5364/792 +f 2568/5315/785 2629/1974/786 2569/5365/786 +f 2566/5309/787 2625/3118/788 2626/1939/787 +f 2638/5366/787 2651/1978/793 2639/5367/793 +f 2635/5368/791 2648/1981/293 2636/5369/293 +f 2642/5370/291 2655/1977/794 2643/5371/794 +f 2639/5367/793 2652/1980/785 2640/5372/785 +f 2636/5369/293 2649/1983/788 2637/5373/788 +f 2644/5374/790 2655/1977/794 2656/1984/790 +f 2633/5375/789 2646/1987/792 2634/5376/792 +f 2640/5372/785 2653/1991/786 2641/5377/786 +f 2638/5366/787 2649/1983/788 2650/1992/787 +f 2633/5375/789 2656/1984/790 2645/1996/789 +f 2634/5376/792 2647/1998/791 2635/5368/791 +f 2642/5378/291 2653/1991/786 2654/1999/291 +f 2662/2002/787 2675/5379/793 2663/2003/793 +f 2660/2004/293 2671/5380/791 2672/5381/293 +f 2666/3130/291 2679/5382/794 2667/1976/794 +f 2663/3131/793 2676/5383/785 2664/1979/785 +f 2660/3132/293 2673/5384/788 2661/1982/788 +f 2667/1985/794 2680/5385/790 2668/1986/790 +f 2657/1989/792 2670/5386/789 2669/5387/792 +f 2664/3133/785 2677/5388/786 2665/1990/786 +f 2662/1994/787 2673/5389/788 2674/5390/787 +f 2658/1995/789 2680/5391/790 2670/5392/789 +f 2657/3135/792 2671/5393/791 2659/1997/791 +f 2666/2001/291 2677/5394/786 2678/5395/291 +f 2031/1543/280 2019/5396/1 2032/1544/1 +f 2057/5397/279 2681/2013/1 2068/4929/1 +f 2066/5398/281 2682/2014/280 2683/2016/281 +f 2060/4932/285 2690/2017/6 2059/5399/6 +f 2062/5400/2 2686/2020/284 2687/2022/2 +f 2066/4938/281 2684/2023/3 2065/5401/3 +f 2059/4931/6 2691/2028/278 2058/5402/278 +f 2062/5403/2 2688/2029/282 2061/4934/282 +f 2065/4937/3 2685/2034/283 2064/5404/283 +f 2058/5405/278 2692/2035/279 2057/4930/279 +f 2068/4928/1 2682/2040/280 2067/5406/280 +f 2061/4933/282 2689/2043/285 2060/5407/285 +f 2064/4936/283 2686/2008/284 2063/5408/284 +f 2698/5409/284 2711/2071/2 2699/5410/2 +f 2695/5411/281 2708/2050/3 2696/5412/3 +f 2702/5413/6 2715/2046/278 2703/5414/278 +f 2699/5410/2 2712/2047/282 2700/5415/282 +f 2696/5412/3 2709/2052/283 2697/5416/283 +f 2703/5414/278 2716/2053/279 2704/5417/279 +f 2693/5418/1 2706/2058/280 2694/5419/280 +f 2700/5415/282 2713/2060/285 2701/5420/285 +f 2697/5416/283 2710/2061/284 2698/5409/284 +f 2704/5417/279 2705/2056/1 2693/5418/1 +f 2694/5419/280 2707/2066/281 2695/5411/281 +f 2701/5420/285 2714/2067/6 2702/5421/6 +f 2722/3164/284 2735/5422/2 2723/2070/2 +f 2719/2072/281 2732/5423/3 2720/2073/3 +f 2726/3158/6 2739/5424/278 2727/2045/278 +f 2723/2048/2 2736/5425/282 2724/2049/282 +f 2720/3159/3 2733/5426/283 2721/2051/283 +f 2727/2054/278 2740/5427/279 2728/2055/279 +f 2718/3160/1 2729/5428/280 2717/2057/280 +f 2724/3161/282 2737/5429/285 2725/2059/285 +f 2721/2062/283 2734/5430/284 2722/2063/284 +f 2718/2064/1 2740/5431/279 2730/5432/1 +f 2717/3163/280 2731/5433/281 2719/2065/281 +f 2725/2068/285 2738/5434/6 2726/2069/6 +f 2752/5435/292 2753/2082/5 2741/5436/5 +f 2742/5437/290 2755/2085/293 2743/5438/293 +f 2749/5439/291 2762/2086/6 2750/5440/6 +f 2746/5441/288 2759/2089/4 2747/5442/4 +f 2743/5438/293 2756/2092/3 2744/5443/3 +f 2750/5444/6 2763/2097/289 2751/5445/289 +f 2747/5442/4 2760/2099/286 2748/5446/286 +f 2744/5443/3 2757/2077/287 2745/5447/287 +f 2751/5445/289 2764/2080/292 2752/5435/292 +f 2742/5437/290 2753/2082/5 2754/2083/290 +f 2749/5439/291 2760/2099/286 2761/2105/291 +f 2746/5441/288 2757/2077/287 2758/2079/288 +f 2770/5448/288 2783/2111/4 2771/5449/4 +f 2767/5450/293 2780/2114/3 2768/5451/3 +f 2774/5452/6 2787/2110/289 2775/5453/289 +f 2771/5449/4 2784/2113/286 2772/5454/286 +f 2768/5451/3 2781/2116/287 2769/5455/287 +f 2775/5453/289 2788/2117/292 2776/5456/292 +f 2765/5457/5 2778/2120/290 2766/5458/290 +f 2773/5459/291 2784/2113/286 2785/2123/291 +f 2769/5455/287 2782/2127/288 2770/5448/288 +f 2765/5457/5 2788/2117/292 2777/2129/5 +f 2766/5458/290 2779/2131/293 2767/5450/293 +f 2773/5459/291 2786/2132/6 2774/5460/6 +f 2794/2135/288 2807/5461/4 2795/2136/4 +f 2791/2137/293 2804/5462/3 2792/2138/3 +f 2798/3180/6 2811/5463/289 2799/2109/289 +f 2795/3181/4 2808/5464/286 2796/2112/286 +f 2792/3182/3 2805/5465/287 2793/2115/287 +f 2799/2118/289 2812/5466/292 2800/2119/292 +f 2790/2121/5 2801/5467/290 2789/2122/290 +f 2796/2124/286 2809/5468/291 2797/2125/291 +f 2793/3183/287 2806/5469/288 2794/2126/288 +f 2800/3184/292 2802/5470/5 2790/2128/5 +f 2789/3185/290 2803/5471/293 2791/2130/293 +f 2797/2133/291 2810/5472/6 2798/2134/6 +f 2814/5473/795 2823/5474/796 2815/5475/797 +f 2836/5476/798 2817/5477/799 2833/5478/800 +f 2815/5475/797 2824/5479/801 2816/5480/802 +f 2835/5481/803 2818/5482/804 2819/5483/805 +f 2813/5484/806 2822/5485/807 2814/5473/795 +f 2835/5481/803 2820/5486/808 2836/5476/798 +f 2813/5487/806 2824/5479/801 2821/5488/809 +f 2821/5489/809 2826/5490/810 2822/5485/807 +f 2823/5474/796 2826/5490/810 2827/5491/514 +f 2824/5479/801 2827/5491/514 2828/5492/513 +f 2824/5479/801 2825/5493/512 2821/5488/809 +f 2825/5494/512 2830/5495/510 2826/5490/810 +f 2827/5491/514 2830/5495/510 2831/5496/509 +f 2828/5492/513 2831/5496/509 2832/5497/508 +f 2828/5492/513 2829/5498/507 2825/5493/512 +f 2829/5499/507 2834/5500/811 2830/5495/510 +f 2831/5496/509 2834/5500/811 2835/5481/803 +f 2831/5496/509 2836/5476/798 2832/5497/508 +f 2832/5497/508 2833/5478/800 2829/5498/507 +f 2833/5501/800 2818/5482/804 2834/5500/811 +f 2857/5502/812 2842/5503/813 2858/5504/814 +f 2859/5505/815 2842/5503/813 2843/5506/816 +f 2859/5505/815 2844/5507/817 2860/5508/818 +f 2860/5508/818 2841/5509/819 2857/5510/812 +f 2838/5511/820 2845/5512/821 2846/5513/822 +f 2838/5511/820 2847/5514/823 2839/5515/824 +f 2839/5515/824 2848/5516/825 2840/5517/826 +f 2837/5518/827 2848/5516/825 2845/5519/821 +f 2845/5512/821 2850/5520/489 2846/5513/822 +f 2846/5513/822 2851/5521/488 2847/5514/823 +f 2847/5514/823 2852/5522/487 2848/5516/825 +f 2845/5519/821 2852/5522/487 2849/5523/486 +f 2850/5520/489 2853/5524/828 2854/5525/485 +f 2850/5520/489 2855/5526/484 2851/5521/488 +f 2852/5522/487 2855/5526/484 2856/5527/483 +f 2849/5523/486 2856/5527/483 2853/5528/828 +f 2854/5525/485 2857/5502/812 2858/5504/814 +f 2854/5525/485 2859/5505/815 2855/5526/484 +f 2855/5526/484 2860/5508/818 2856/5527/483 +f 2853/5528/828 2860/5508/818 2857/5510/812 +f 2862/5529/523 2881/5530/522 2882/5531/530 +f 2883/5532/527 2862/5529/523 2882/5531/530 +f 2864/5533/526 2883/5532/527 2884/5534/525 +f 2861/5535/524 2884/5534/525 2881/5536/522 +f 2870/5537/516 2865/5538/515 2866/5539/521 +f 2871/5540/520 2866/5539/521 2867/5541/519 +f 2872/5542/518 2867/5541/519 2868/5543/829 +f 2865/5544/515 2872/5542/518 2868/5543/829 +f 2870/5537/516 2873/5545/533 2869/5546/517 +f 2875/5547/535 2870/5537/516 2871/5540/520 +f 2876/5548/537 2871/5540/520 2872/5542/518 +f 2869/5549/517 2876/5548/537 2872/5542/518 +f 2878/5550/529 2873/5545/533 2874/5551/536 +f 2875/5547/535 2878/5550/529 2874/5551/536 +f 2880/5552/531 2875/5547/535 2876/5548/537 +f 2877/5553/534 2876/5548/537 2873/5554/533 +f 2882/5531/530 2877/5555/534 2878/5550/529 +f 2879/5556/532 2882/5531/530 2878/5550/529 +f 2884/5534/525 2879/5556/532 2880/5552/531 +f 2881/5536/522 2880/5552/531 2877/5553/534 +f 2898/5557/723 2887/5558/712 2886/5559/715 +f 2899/5560/720 2888/5561/707 2887/5558/712 +f 2888/5561/707 2901/5562/830 2889/5563/716 +f 2889/5563/716 2902/5564/719 2890/5565/714 +f 2902/5566/719 2891/5567/709 2890/5565/714 +f 2903/5568/729 2892/5569/713 2891/5567/709 +f 2892/5569/713 2905/5570/727 2893/5571/708 +f 2905/5572/727 2894/5573/717 2893/5571/708 +f 2894/5574/717 2907/5575/726 2895/5576/710 +f 2907/5577/726 2896/5578/711 2895/5576/710 +f 2896/5578/711 2897/5579/722 2885/5580/706 +f 2885/5580/706 2898/5581/723 2886/5559/715 +f 2892/5569/713 2915/5582/704 2891/5567/709 +f 2888/5561/707 2913/5583/685 2912/5584/686 +f 2895/5576/710 2920/5585/694 2919/5586/696 +f 2885/5580/706 2910/5587/690 2909/5588/692 +f 2893/5571/708 2916/5589/702 2892/5569/713 +f 2890/5565/714 2913/5583/685 2889/5563/716 +f 2896/5578/711 2909/5588/692 2920/5585/694 +f 2886/5559/715 2911/5590/688 2910/5587/690 +f 2893/5571/708 2918/5591/698 2917/5592/700 +f 2890/5565/714 2915/5582/704 2914/5593/683 +f 2888/5561/707 2911/5590/688 2887/5558/712 +f 2895/5576/710 2918/5594/698 2894/5574/717 +f 2911/5590/688 2922/2142/691 2910/5587/690 +f 2911/5590/688 2924/2145/687 2923/2147/689 +f 2912/5584/686 2925/2148/684 2924/2150/687 +f 2914/5593/683 2925/2153/684 2913/5583/685 +f 2914/5593/683 2927/3199/703 2926/2154/705 +f 2916/5589/702 2927/2159/703 2915/5582/704 +f 2916/5589/702 2929/3201/699 2928/2160/701 +f 2918/5591/698 2929/2163/699 2917/5592/700 +f 2919/5586/696 2930/2168/831 2918/5594/698 +f 2920/5585/694 2931/2171/697 2919/5586/696 +f 2909/5588/692 2932/2172/695 2920/5585/694 +f 2909/5588/692 2922/3206/691 2921/2175/693 +f 2940/2162/735 2953/5595/739 2952/5596/735 +f 2938/3198/736 2949/5597/737 2937/2152/737 +f 2933/2173/738 2956/5598/730 2944/2174/730 +f 2935/2143/733 2945/5599/732 2934/2144/732 +f 2942/2164/291 2953/5600/739 2941/2165/739 +f 2938/2156/736 2951/5601/734 2950/5602/736 +f 2935/2146/733 2948/5603/293 2947/5604/733 +f 2943/3203/731 2954/5605/291 2942/2167/291 +f 2939/2158/734 2952/5606/735 2951/5607/734 +f 2937/3197/737 2948/5608/293 2936/2149/293 +f 2943/2170/731 2956/5609/730 2955/5610/731 +f 2934/2176/732 2946/5611/738 2933/2177/738 +f 2908/5612/730 2957/2186/738 2897/5579/738 +f 2899/5613/733 2958/2187/732 2959/2189/733 +f 2905/5572/739 2966/2190/291 2906/5614/291 +f 2903/5615/734 2962/3220/736 2963/2193/734 +f 2900/5616/293 2959/3221/733 2960/2196/293 +f 2907/5575/731 2966/2199/291 2967/2201/731 +f 2904/5617/735 2963/3223/734 2964/2202/735 +f 2901/5562/737 2960/2205/293 2961/2207/737 +f 2908/5618/730 2967/3225/731 2968/2208/730 +f 2897/5619/738 2958/2213/732 2898/5581/732 +f 2904/5620/735 2965/2214/739 2905/5570/739 +f 2901/5621/737 2962/2181/736 2902/5564/736 +f 2974/5622/736 2987/2242/734 2975/5623/734 +f 2971/5624/733 2984/2244/293 2972/5625/293 +f 2979/5626/731 2990/3228/291 2991/2217/731 +f 2976/5627/735 2987/2242/734 2988/2220/735 +f 2973/5628/737 2984/2244/293 2985/2223/737 +f 2980/5629/730 2991/2217/731 2992/2227/730 +f 2969/5630/738 2982/2230/732 2970/5631/732 +f 2976/5627/735 2989/2232/739 2977/5632/739 +f 2974/5622/736 2985/2223/737 2986/2234/736 +f 2980/5629/730 2981/2228/738 2969/5630/738 +f 2971/5624/733 2982/2230/732 2983/2237/733 +f 2977/5632/739 2990/2238/291 2978/5633/291 +f 2998/3235/736 3011/5634/734 2999/2241/734 +f 2995/3236/733 3008/5635/293 2996/2243/293 +f 3003/2219/731 3014/5636/291 3015/5637/731 +f 2999/2221/734 3012/5638/735 3000/2222/735 +f 2996/2224/293 3009/5639/737 2997/2225/737 +f 3003/3229/731 3016/5640/730 3004/2226/730 +f 2993/2229/732 3006/5641/738 3005/5642/732 +f 3000/3231/735 3013/5643/739 3001/2231/739 +f 2998/2233/736 3009/5644/737 3010/5645/736 +f 2994/2235/738 3016/5646/730 3006/5647/738 +f 2993/3234/732 3007/5648/733 2995/2236/733 +f 3001/2239/739 3014/5649/291 3002/2240/291 +f 3018/5650/771 3031/5651/832 3019/5652/766 +f 3019/5652/766 3032/5653/774 3020/5654/762 +f 3020/5654/762 3033/5655/775 3021/5656/768 +f 3021/5656/768 3034/5657/773 3022/5658/769 +f 3034/5659/773 3023/5660/764 3022/5658/769 +f 3035/5661/784 3024/5662/767 3023/5660/764 +f 3036/5663/783 3025/5664/763 3024/5662/767 +f 3037/5665/782 3026/5666/772 3025/5664/763 +f 3038/5667/780 3027/5668/770 3026/5669/772 +f 3039/5670/781 3028/5671/765 3027/5668/770 +f 3028/5671/765 3029/5672/778 3017/5673/761 +f 3029/5674/778 3018/5650/771 3017/5673/761 +f 3024/5662/767 3047/5675/760 3023/5660/764 +f 3020/5654/762 3045/5676/741 3044/5677/744 +f 3027/5668/770 3052/5678/751 3051/5679/752 +f 3018/5650/771 3041/5680/749 3017/5673/761 +f 3024/5662/767 3049/5681/756 3048/5682/758 +f 3022/5658/769 3045/5676/741 3021/5656/768 +f 3028/5671/765 3041/5680/749 3052/5678/751 +f 3018/5650/771 3043/5683/746 3042/5684/748 +f 3025/5664/763 3050/5685/754 3049/5681/756 +f 3022/5658/769 3047/5675/760 3046/5686/742 +f 3020/5654/762 3043/5683/746 3019/5652/766 +f 3027/5668/770 3050/5687/754 3026/5669/772 +f 3042/5684/748 3055/2248/745 3054/2250/747 +f 3043/5683/746 3056/2251/833 3055/2253/745 +f 3044/5677/744 3057/2254/743 3056/2256/833 +f 3046/5686/742 3057/2259/743 3045/5676/741 +f 3047/5675/760 3058/2260/740 3046/5686/742 +f 3047/5675/760 3060/2263/834 3059/2265/759 +f 3048/5682/758 3061/3252/835 3060/2266/834 +f 3050/5685/754 3061/2269/835 3049/5681/756 +f 3051/5679/752 3062/2272/755 3050/5687/754 +f 3052/5678/751 3063/2277/753 3051/5679/752 +f 3052/5678/751 3053/3256/836 3064/2278/750 +f 3041/5680/749 3054/2281/747 3053/2283/836 +f 3072/2268/790 3085/5688/794 3084/5689/790 +f 3070/3249/792 3081/5690/791 3069/2258/791 +f 3065/2279/793 3088/5691/785 3076/2280/785 +f 3067/3246/788 3077/5692/787 3066/2249/787 +f 3073/2271/794 3086/5693/291 3085/5694/794 +f 3070/2262/792 3083/5695/789 3082/5696/792 +f 3068/3247/293 3079/5697/788 3067/2252/788 +f 3074/2274/291 3087/5698/786 3086/5699/291 +f 3072/3251/790 3083/5700/789 3071/2264/789 +f 3068/2255/293 3081/5701/791 3080/5702/293 +f 3076/3255/785 3087/5703/786 3075/2276/786 +f 3065/2282/793 3077/5704/787 3078/5705/793 +f 3040/5706/785 3089/2290/793 3029/5672/793 +f 3030/5707/787 3091/2295/788 3031/5651/788 +f 3038/5708/291 3097/2296/794 3098/2298/291 +f 3034/5659/792 3095/2299/789 3035/5709/789 +f 3032/5653/293 3091/3272/788 3092/2302/293 +f 3038/5667/291 3099/2307/786 3039/5710/786 +f 3036/5711/790 3095/2308/789 3096/2310/790 +f 3032/5712/293 3093/2313/791 3033/5655/791 +f 3039/5670/786 3100/2314/785 3040/5713/785 +f 3029/5674/793 3090/2319/787 3030/5714/787 +f 3036/5663/790 3097/2322/794 3037/5715/794 +f 3033/5716/791 3094/2289/792 3034/5657/792 +f 3107/5717/789 3118/2340/792 3119/2326/789 +f 3104/5718/293 3115/2343/788 3116/2329/293 +f 3110/5719/291 3123/2323/786 3111/5720/786 +f 3107/5717/789 3120/2328/790 3108/5721/790 +f 3104/5718/293 3117/2331/791 3105/5722/791 +f 3111/5720/786 3124/2333/785 3112/5723/785 +f 3101/5724/793 3114/2336/787 3102/5725/787 +f 3109/5726/794 3120/2328/790 3121/2338/794 +f 3105/5722/791 3118/2340/792 3106/5727/792 +f 3112/5723/785 3113/2334/793 3101/5724/793 +f 3102/5725/787 3115/2343/788 3103/5728/788 +f 3110/5729/291 3121/2338/794 3122/2344/291 +f 3131/2348/789 3142/5730/792 3143/5731/789 +f 3127/2349/788 3140/5732/293 3128/2350/293 +f 3134/2324/291 3147/5733/786 3135/2325/786 +f 3132/2327/790 3143/5734/789 3144/5735/790 +f 3128/3281/293 3141/5736/791 3129/2330/791 +f 3135/3282/786 3148/5737/785 3136/2332/785 +f 3125/2335/787 3138/5738/793 3137/5739/787 +f 3132/3284/790 3145/5740/794 3133/2337/794 +f 3130/2339/792 3141/5741/791 3142/5742/792 +f 3126/2341/793 3148/5743/785 3138/5744/793 +f 3125/3287/787 3139/5745/788 3127/2342/788 +f 3133/2345/794 3146/5746/291 3134/2346/291 +f 3150/5747/599 3163/5748/609 3151/5749/600 +f 3163/5750/609 3152/5751/596 3151/5749/600 +f 3152/5751/596 3165/5752/606 3153/5753/602 +f 3165/5754/606 3154/5755/603 3153/5753/602 +f 3166/5756/607 3155/5757/598 3154/5755/603 +f 3167/5758/617 3156/5759/601 3155/5757/598 +f 3168/5760/616 3157/5761/597 3156/5759/601 +f 3169/5762/615 3158/5763/605 3157/5761/597 +f 3158/5764/605 3171/5765/612 3159/5766/604 +f 3159/5766/604 3172/5767/613 3160/5768/594 +f 3160/5768/594 3161/5769/610 3149/5770/595 +f 3149/5770/595 3162/5771/611 3150/5747/599 +f 3156/5759/601 3179/5772/592 3155/5757/598 +f 3153/5753/602 3176/5773/576 3152/5751/596 +f 3160/5768/594 3183/5774/586 3159/5766/604 +f 3150/5747/599 3173/5775/582 3149/5770/595 +f 3156/5759/601 3181/5776/589 3180/5777/590 +f 3154/5755/603 3177/5778/575 3153/5753/602 +f 3160/5768/594 3173/5775/582 3184/5779/584 +f 3151/5749/600 3174/5780/580 3150/5747/599 +f 3158/5763/605 3181/5776/589 3157/5761/597 +f 3154/5755/603 3179/5772/592 3178/5781/573 +f 3151/5749/600 3176/5773/576 3175/5782/578 +f 3158/5764/605 3183/5774/586 3182/5783/587 +f 3175/5782/578 3186/2356/581 3174/5780/580 +f 3175/5782/578 3188/2357/577 3187/2359/579 +f 3176/5773/576 3189/2360/574 3188/2362/577 +f 3178/5781/573 3189/2365/574 3177/5778/575 +f 3178/5781/573 3191/3301/591 3190/2366/593 +f 3180/5777/590 3191/2371/591 3179/5772/592 +f 3181/5776/589 3192/2374/837 3180/5777/590 +f 3181/5776/589 3194/3304/838 3193/2375/588 +f 3183/5774/586 3194/2378/838 3182/5783/587 +f 3184/5779/584 3195/2383/585 3183/5774/586 +f 3173/5775/582 3196/2386/839 3184/5779/584 +f 3173/5775/582 3186/3308/581 3185/2387/583 +f 3204/2373/623 3217/5784/627 3216/5785/623 +f 3202/3300/624 3213/5786/625 3201/2364/625 +f 3197/3307/626 3220/5787/618 3208/2385/618 +f 3199/3297/621 3209/5788/620 3198/2355/620 +f 3206/2376/289 3217/5789/627 3205/2377/627 +f 3203/2367/622 3214/5790/624 3202/2368/624 +f 3199/2358/621 3212/5791/287 3211/5792/621 +f 3207/2379/619 3218/5793/289 3206/2380/289 +f 3203/2370/622 3216/5794/623 3215/5795/622 +f 3200/2361/287 3213/5796/625 3212/5797/287 +f 3208/3306/618 3219/5798/619 3207/2382/619 +f 3197/2389/626 3209/5799/620 3210/5800/626 +f 3161/5769/626 3232/2396/618 3221/2398/626 +f 3163/5748/621 3222/3320/620 3223/2399/621 +f 3170/5801/289 3229/3321/627 3230/2402/289 +f 3166/5756/624 3227/2407/622 3167/5802/622 +f 3163/5750/621 3224/2410/287 3164/5803/287 +f 3170/5804/289 3231/2413/619 3171/5765/619 +f 3167/5758/622 3228/2414/623 3168/5805/623 +f 3165/5752/625 3224/2417/287 3225/2419/625 +f 3172/5767/618 3231/2420/619 3232/2422/618 +f 3161/5806/626 3222/2425/620 3162/5771/620 +f 3168/5760/623 3229/2426/627 3169/5807/627 +f 3165/5754/625 3226/2395/624 3166/5808/624 +f 3238/5809/624 3251/2432/622 3239/5810/622 +f 3235/5811/621 3248/2457/287 3236/5812/287 +f 3243/5813/619 3254/3330/289 3255/2429/619 +f 3239/5810/622 3252/2434/623 3240/5814/623 +f 3237/5815/625 3248/2457/287 3249/2435/625 +f 3243/5813/619 3256/2439/618 3244/5816/618 +f 3233/5817/626 3246/2442/620 3234/5818/620 +f 3240/5814/623 3253/2443/627 3241/5819/627 +f 3238/5809/624 3249/2435/625 3250/2446/624 +f 3233/5817/626 3256/2439/618 3245/2440/626 +f 3235/5811/621 3246/2442/620 3247/2451/621 +f 3241/5819/627 3254/2452/289 3242/5820/289 +f 3262/3336/624 3275/5821/622 3263/2455/622 +f 3259/3337/621 3272/5822/287 3260/2456/287 +f 3266/2430/289 3279/5823/619 3267/2431/619 +f 3263/3331/622 3276/5824/623 3264/2433/623 +f 3260/2436/287 3273/5825/625 3261/2437/625 +f 3267/3332/619 3280/5826/618 3268/2438/618 +f 3258/3333/626 3269/5827/620 3257/2441/620 +f 3264/2444/623 3277/5828/627 3265/2445/627 +f 3262/2448/624 3273/5829/625 3274/5830/624 +f 3258/2449/626 3280/5831/618 3270/5832/626 +f 3257/3335/620 3271/5833/621 3259/2450/621 +f 3265/2453/627 3278/5834/289 3266/2454/289 +f 3282/5835/659 3295/5836/663 3283/5837/650 +f 3283/5837/650 3296/5838/664 3284/5839/651 +f 3284/5839/651 3297/5840/661 3285/5841/656 +f 3297/5842/661 3286/5843/657 3285/5841/656 +f 3286/5843/657 3299/5844/672 3287/5845/653 +f 3287/5845/653 3300/5846/671 3288/5847/655 +f 3288/5847/655 3301/5848/670 3289/5849/652 +f 3301/5850/670 3290/5851/660 3289/5849/652 +f 3302/5852/669 3291/5853/658 3290/5854/660 +f 3303/5855/840 3292/5856/654 3291/5853/658 +f 3292/5856/654 3293/5857/665 3281/5858/649 +f 3281/5858/649 3294/5859/666 3282/5835/659 +f 3288/5847/655 3311/5860/648 3287/5845/653 +f 3284/5839/651 3309/5861/629 3308/5862/632 +f 3292/5856/654 3315/5863/640 3291/5853/658 +f 3282/5835/659 3305/5864/637 3281/5858/649 +f 3288/5847/655 3313/5865/644 3312/5866/646 +f 3286/5843/657 3309/5861/629 3285/5841/656 +f 3281/5858/649 3316/5867/639 3292/5856/654 +f 3283/5837/650 3306/5868/636 3282/5835/659 +f 3289/5849/652 3314/5869/642 3313/5865/644 +f 3286/5843/657 3311/5860/648 3310/5870/630 +f 3283/5837/650 3308/5862/632 3307/5871/634 +f 3291/5853/658 3314/5872/642 3290/5854/660 +f 3307/5871/634 3318/2463/635 3306/5868/636 +f 3307/5871/634 3320/2464/841 3319/2466/633 +f 3308/5862/632 3321/2467/842 3320/2469/841 +f 3310/5870/630 3321/2472/842 3309/5861/629 +f 3311/5860/648 3322/2473/628 3310/5870/630 +f 3311/5860/648 3324/3352/843 3323/2476/647 +f 3312/5866/646 3325/3353/645 3324/2479/843 +f 3314/5869/642 3325/2482/645 3313/5865/644 +f 3315/5863/640 3326/2487/643 3314/5872/642 +f 3316/5867/639 3327/2490/641 3315/5863/640 +f 3305/5864/637 3328/2493/638 3316/5867/639 +f 3305/5864/637 3318/3358/635 3317/2494/844 +f 3336/2481/678 3349/5873/682 3348/5874/678 +f 3334/3350/680 3345/5875/679 3333/2471/679 +f 3329/3357/681 3352/5876/673 3340/2492/673 +f 3331/3347/676 3341/5877/675 3330/2462/675 +f 3338/2483/289 3349/5878/682 3337/2484/682 +f 3334/2475/680 3347/5879/677 3346/5880/680 +f 3331/2465/676 3344/5881/287 3343/5882/676 +f 3338/2486/289 3351/5883/674 3350/5884/289 +f 3335/2478/677 3348/5885/678 3347/5886/677 +f 3332/2468/287 3345/5887/679 3344/5888/287 +f 3340/3356/673 3351/5889/674 3339/2489/674 +f 3329/2496/681 3341/5890/675 3342/5891/681 +f 3304/5892/673 3353/2503/681 3293/5857/681 +f 3294/5893/675 3355/2506/676 3295/5836/676 +f 3301/5850/682 3362/2509/289 3302/5894/289 +f 3299/5844/677 3358/3372/680 3359/2512/677 +f 3296/5838/287 3355/3373/676 3356/2515/287 +f 3302/5852/289 3363/2520/674 3303/5895/674 +f 3300/5846/678 3359/3375/677 3360/2521/678 +f 3296/5896/287 3357/2526/679 3297/5840/679 +f 3303/5855/674 3364/2527/673 3304/5897/673 +f 3294/5859/675 3353/2530/681 3354/2532/675 +f 3300/5898/678 3361/2535/682 3301/5848/682 +f 3298/5899/680 3357/3368/679 3358/2500/680 +f 3370/5900/680 3383/2539/677 3371/5901/677 +f 3367/5902/676 3380/2542/287 3368/5903/287 +f 3374/5904/289 3387/2538/674 3375/5905/674 +f 3371/5901/677 3384/2541/678 3372/5906/678 +f 3368/5903/287 3381/2544/679 3369/5907/679 +f 3375/5905/674 3388/2545/673 3376/5908/673 +f 3365/5909/681 3378/2548/675 3366/5910/675 +f 3373/5911/682 3384/2541/678 3385/2552/682 +f 3370/5900/680 3381/2544/679 3382/2553/680 +f 3365/5909/681 3388/2545/673 3377/2556/681 +f 3366/5910/675 3379/2560/676 3367/5902/676 +f 3374/5912/289 3385/2552/682 3386/2561/289 +f 3394/2564/680 3407/5913/677 3395/2565/677 +f 3392/2567/287 3403/5914/676 3404/5915/287 +f 3398/3380/289 3411/5916/674 3399/2537/674 +f 3395/3381/677 3408/5917/678 3396/2540/678 +f 3392/3382/287 3405/5918/679 3393/2543/679 +f 3399/2546/674 3412/5919/673 3400/2547/673 +f 3389/2550/675 3402/5920/681 3401/5921/675 +f 3396/3383/678 3409/5922/682 3397/2551/682 +f 3394/2555/680 3405/5923/679 3406/5924/680 +f 3390/2558/681 3412/5925/673 3402/5926/681 +f 3389/3384/675 3403/5927/676 3391/2559/676 +f 3397/2562/682 3410/5928/289 3398/2563/289 +f 25/3394/47 26/3430/77 10/3395/48 +f 31/3397/50 32/3413/64 16/3398/51 +f 18/3400/53 19/3417/66 3/3401/54 +f 24/3403/56 25/3428/47 9/3404/49 +f 17/3406/58 18/3400/53 2/3402/55 +f 16/3398/51 32/3413/64 17/3406/58 +f 45/3408/60 46/3469/107 30/3409/61 +f 30/3409/61 46/3472/107 47/3411/63 +f 47/3412/63 48/3478/108 32/3413/64 +f 32/3413/64 48/3483/108 33/3414/7 +f 33/3415/7 34/3482/65 18/3400/53 +f 34/3416/65 35/3488/67 19/3417/66 +f 35/3418/67 36/3492/109 20/3419/68 +f 20/3419/68 36/3495/109 37/3420/69 +f 21/3421/70 37/3499/69 38/3422/71 +f 22/3423/72 38/3470/71 39/3424/73 +f 39/3426/73 40/3474/75 24/3403/56 +f 40/3427/75 41/3480/9 25/3428/47 +f 25/3394/47 41/3485/9 42/3429/76 +f 42/3431/76 43/3490/79 27/3432/78 +f 43/3433/79 44/3494/110 28/3434/80 +f 28/3434/80 44/3497/110 45/3435/60 +f 14/3436/81 15/3399/52 63/3437/82 +f 15/3399/52 16/3398/51 64/3439/84 +f 16/3398/51 1/3407/59 49/3441/8 +f 2/3402/55 50/3519/85 49/3443/8 +f 3/3401/54 51/3523/87 50/3444/85 +f 4/3445/86 52/3501/89 51/3446/87 +f 5/3447/88 53/3505/91 52/3448/89 +f 6/3449/90 54/3508/93 53/3450/91 +f 6/3449/90 7/3453/94 55/3451/92 +f 7/3453/94 8/3405/57 56/3454/95 +f 9/3404/49 57/3517/10 56/3456/95 +f 9/3396/49 10/3395/48 58/3457/96 +f 10/3395/48 11/3463/99 59/3459/97 +f 12/3461/98 60/3503/101 59/3462/97 +f 12/3461/98 13/3467/102 61/3464/100 +f 14/3436/81 62/3510/83 61/3466/100 +f 45/3408/4 77/5929/4 78/3468/103 +f 38/3470/104 70/5930/104 71/3471/12 +f 46/3472/103 78/5931/103 79/3473/16 +f 40/3474/15 39/3426/12 71/3475/12 +f 47/3412/16 79/5932/16 80/3477/11 +f 40/3427/15 72/5933/15 73/3479/6 +f 33/3415/3 65/5934/3 66/3481/18 +f 48/3483/11 80/5935/11 65/3484/3 +f 41/3485/6 73/5936/6 74/3486/13 +f 34/3416/18 66/5937/18 67/3487/14 +f 42/3431/13 74/5938/13 75/3489/17 +f 35/3418/14 67/5939/14 68/3491/105 +f 43/3433/17 75/5940/17 76/3493/106 +f 36/3495/105 68/5941/105 69/3496/5 +f 44/3497/106 76/5942/106 77/3498/4 +f 37/3499/5 69/5943/5 70/3500/104 +f 52/3501/105 84/5944/105 83/3502/14 +f 60/3503/106 92/5945/106 91/3504/17 +f 53/3505/5 85/5946/5 84/3506/105 +f 61/3464/4 93/5947/4 92/3507/106 +f 54/3508/104 86/5948/104 85/3509/5 +f 62/3510/103 94/5949/103 93/3511/4 +f 55/3451/12 87/5950/12 86/3512/104 +f 63/3437/16 95/5951/16 94/3513/103 +f 55/3455/12 56/3454/15 88/3514/15 +f 64/3439/11 96/5952/11 95/3516/16 +f 57/3517/6 89/5953/6 88/3518/15 +f 50/3519/18 82/5954/18 81/3520/3 +f 49/3441/3 81/5955/3 96/3521/11 +f 58/3457/13 90/5956/13 89/3522/6 +f 51/3523/14 83/5957/14 82/3524/18 +f 59/3459/17 91/5958/17 90/3525/13 +f 97/3526/8 113/2573/8 128/7/84 +f 98/3528/85 114/2574/85 113/10/8 +f 99/3529/87 115/2575/87 114/13/85 +f 100/3530/89 116/2576/89 115/16/87 +f 101/3531/91 117/2577/91 116/19/89 +f 102/3532/93 118/2578/93 117/22/91 +f 103/3533/92 119/2579/92 118/25/93 +f 104/3534/95 120/29/95 119/2580/92 +f 105/3535/10 121/32/10 120/2581/95 +f 105/3536/10 106/3537/96 122/35/96 +f 106/3537/96 107/3539/97 123/38/97 +f 108/3538/101 124/41/101 123/2584/97 +f 108/3538/101 109/3540/100 125/44/100 +f 109/3540/100 110/3541/83 126/47/83 +f 110/3541/83 111/3542/82 127/2/82 +f 111/3542/82 112/3527/84 128/5/84 +f 158/3543/103 159/3544/16 111/3542/16 +f 159/3544/16 160/3545/11 112/3527/11 +f 160/3545/11 145/3546/3 97/3526/3 +f 145/3546/3 146/3547/18 98/3528/18 +f 146/3547/18 147/3548/14 99/3529/14 +f 147/3548/14 148/3549/105 100/3530/105 +f 148/3549/105 149/3550/5 101/3531/5 +f 149/3550/5 150/3551/104 102/3532/104 +f 150/3551/104 151/3552/12 103/3533/12 +f 151/3552/12 152/3553/15 104/3534/15 +f 152/3553/15 153/5959/6 105/3535/6 +f 153/3554/6 154/3555/13 106/3537/13 +f 154/3555/13 155/3556/17 107/3539/17 +f 155/3556/17 156/3557/106 108/3538/106 +f 156/3557/106 157/3558/4 109/3540/4 +f 157/3558/4 158/3543/103 110/3541/103 +f 143/101/63 159/3544/63 158/3543/107 +f 144/105/108 160/3545/108 159/3544/63 +f 129/107/7 145/3546/7 160/3545/108 +f 129/111/7 130/110/65 146/3547/65 +f 130/112/65 131/114/67 147/3548/67 +f 131/117/67 132/116/109 148/3549/109 +f 132/120/109 133/119/69 149/3550/69 +f 133/121/69 134/123/71 150/3551/71 +f 134/124/71 135/126/73 151/3552/73 +f 136/128/75 152/3553/75 151/3552/73 +f 137/131/9 153/5959/9 152/3553/75 +f 138/135/76 154/3555/76 153/3554/9 +f 139/138/79 155/3556/79 154/3555/76 +f 140/140/110 156/3557/110 155/3556/79 +f 141/143/60 157/3558/60 156/3557/110 +f 142/98/107 158/3543/107 157/3558/60 +f 161/3559/8 177/199/8 192/201/84 +f 162/3561/85 178/202/85 177/204/8 +f 163/3562/87 179/2639/87 178/205/85 +f 164/3563/89 180/208/89 179/210/87 +f 165/3564/91 181/2641/91 180/211/89 +f 166/3565/93 182/2642/93 181/214/91 +f 167/3566/92 183/2643/92 182/217/93 +f 167/3566/92 168/3568/95 184/220/95 +f 169/3567/10 185/223/10 184/225/95 +f 169/3569/10 170/3570/96 186/2646/96 +f 170/3570/96 171/3571/97 187/2647/97 +f 171/3571/97 172/3572/101 188/232/101 +f 172/3572/101 173/3573/100 189/235/100 +f 173/3573/100 174/3574/83 190/238/83 +f 174/3574/83 175/3575/82 191/193/82 +f 175/3575/82 176/3560/84 192/2636/84 +f 222/3576/103 223/3577/16 175/3575/16 +f 223/3577/16 224/3578/11 176/3560/11 +f 224/3578/11 209/3579/3 161/3559/3 +f 209/3579/3 210/3580/18 162/3561/18 +f 210/3580/18 211/3581/14 163/3562/14 +f 211/3581/14 212/3582/105 164/3563/105 +f 212/3582/105 213/3583/5 165/3564/5 +f 213/3583/5 214/3584/104 166/3565/104 +f 214/3584/104 215/3585/12 167/3566/12 +f 215/3585/12 216/3586/15 168/3568/15 +f 216/3586/15 217/3592/6 169/3567/6 +f 217/3587/6 218/3588/13 170/3570/13 +f 218/3588/13 219/3589/17 171/3571/17 +f 219/3589/17 220/3590/106 172/3572/106 +f 220/3590/106 221/3591/4 173/3573/4 +f 221/3591/4 222/3576/103 174/3574/103 +f 207/95/63 223/3577/63 222/3576/107 +f 208/50/108 224/3578/108 223/3577/63 +f 193/2588/7 209/3579/7 224/3578/108 +f 193/56/7 194/2589/65 210/3580/65 +f 194/59/65 195/2590/67 211/3581/67 +f 195/62/67 196/2591/109 212/3582/109 +f 196/65/109 197/2592/69 213/3583/69 +f 197/68/69 198/2593/71 214/3584/71 +f 198/71/71 199/2594/73 215/3585/73 +f 199/75/73 200/74/75 216/3586/75 +f 200/78/75 201/77/9 217/3592/9 +f 202/80/76 218/3588/76 217/3587/9 +f 203/83/79 219/3589/79 218/3588/76 +f 203/87/79 204/86/110 220/3590/110 +f 205/89/60 221/3591/60 220/3590/110 +f 206/92/107 222/3576/107 221/3591/60 +f 238/3593/103 254/3624/103 255/3594/16 +f 231/3596/12 247/3625/12 248/3597/15 +f 239/3595/16 255/3594/16 256/3599/11 +f 232/3598/15 248/3597/15 249/3601/6 +f 225/3603/3 241/3606/3 242/3604/18 +f 240/3600/11 256/3599/11 241/3606/3 +f 233/3607/6 249/5960/6 250/3608/13 +f 226/3605/18 242/3604/18 243/3610/14 +f 234/3609/13 250/3608/13 251/3612/17 +f 227/3611/14 243/3610/14 244/3614/105 +f 235/3613/17 251/3612/17 252/3616/106 +f 228/3615/105 244/3614/105 245/3618/5 +f 236/3617/106 252/3616/106 253/3620/4 +f 229/3619/5 245/3618/5 246/3622/104 +f 237/3621/4 253/3620/4 254/3624/103 +f 230/3623/104 246/3622/104 247/3625/12 +f 272/3626/84 257/3628/8 273/152/8 +f 258/3627/85 274/155/85 273/2622/8 +f 259/3629/87 275/2623/87 274/157/85 +f 260/3630/89 276/161/89 275/2624/87 +f 261/3631/91 277/2625/91 276/163/89 +f 262/3632/93 278/2626/93 277/166/91 +f 263/3633/92 279/2627/92 278/169/93 +f 264/3634/95 280/173/95 279/2628/92 +f 265/3635/10 281/176/10 280/2629/95 +f 265/3636/10 266/3637/96 282/2630/96 +f 266/3637/96 267/3638/97 283/2631/97 +f 267/3638/97 268/3639/101 284/2632/101 +f 268/3639/101 269/3640/100 285/188/100 +f 269/3640/100 270/3641/83 286/191/83 +f 270/3641/83 271/3642/82 287/146/82 +f 272/3626/84 288/2620/84 287/148/82 +f 318/3643/103 319/3644/16 271/3642/16 +f 319/3644/16 320/3645/11 272/3626/11 +f 320/3645/11 305/3646/3 257/3628/3 +f 305/3646/3 306/3647/18 258/3627/18 +f 306/3647/18 307/3648/14 259/3629/14 +f 307/3648/14 308/3649/105 260/3630/105 +f 308/3649/105 309/3650/5 261/3631/5 +f 309/3650/5 310/3651/104 262/3632/104 +f 310/3651/104 311/3652/12 263/3633/12 +f 311/3652/12 312/3653/15 264/3634/15 +f 312/3653/15 313/5961/6 265/3635/6 +f 313/3654/6 314/3655/13 266/3637/13 +f 314/3655/13 315/3656/17 267/3638/17 +f 315/3656/17 316/3657/106 268/3639/106 +f 316/3657/106 317/3658/4 269/3640/4 +f 317/3658/4 318/3643/103 270/3641/103 +f 303/293/63 319/3644/63 318/3643/107 +f 304/296/108 320/3645/108 319/3644/63 +f 289/299/7 305/3646/7 320/3645/108 +f 289/303/7 290/302/65 306/3647/65 +f 290/304/65 291/306/67 307/3648/67 +f 291/309/67 292/308/109 308/3649/109 +f 292/310/109 293/312/69 309/3650/69 +f 293/315/69 294/314/71 310/3651/71 +f 295/318/73 311/3652/73 310/3651/71 +f 295/321/73 296/320/75 312/3653/75 +f 297/324/9 313/5961/9 312/3653/75 +f 298/327/76 314/3655/76 313/3654/9 +f 299/329/79 315/3656/79 314/3655/76 +f 299/333/79 300/332/110 316/3657/110 +f 301/335/60 317/3658/60 316/3657/110 +f 302/291/107 318/3643/107 317/3658/60 +f 321/3659/8 337/346/8 352/348/84 +f 322/3661/85 338/349/85 337/351/8 +f 323/3662/87 339/2700/87 338/352/85 +f 324/3663/89 340/355/89 339/357/87 +f 325/3664/91 341/2702/91 340/358/89 +f 326/3665/93 342/361/93 341/363/91 +f 327/3666/92 343/2704/92 342/364/93 +f 328/3667/95 344/367/95 343/369/92 +f 329/3668/10 345/2706/10 344/370/95 +f 330/3669/96 346/2707/96 345/373/10 +f 330/3669/96 331/3672/97 347/376/97 +f 332/3671/101 348/379/101 347/381/97 +f 332/3671/101 333/3673/100 349/382/100 +f 333/3673/100 334/3674/83 350/2711/83 +f 334/3674/83 335/3675/82 351/340/82 +f 335/3675/82 336/3660/84 352/343/84 +f 382/3676/103 383/3677/16 335/3675/16 +f 383/3677/16 384/3678/11 336/3660/11 +f 384/3678/11 369/3679/3 321/3659/3 +f 369/3679/3 370/3680/18 322/3661/18 +f 370/3680/18 371/3681/14 323/3662/14 +f 371/3681/14 372/3682/105 324/3663/105 +f 372/3682/105 373/3683/5 325/3664/5 +f 373/3683/5 374/3684/104 326/3665/104 +f 374/3684/104 375/3685/12 327/3666/12 +f 375/3685/12 376/3686/15 328/3667/15 +f 376/3686/15 377/3692/6 329/3668/6 +f 377/3687/6 378/3688/13 330/3669/13 +f 378/3688/13 379/3689/17 331/3672/17 +f 379/3689/17 380/3690/106 332/3671/106 +f 380/3690/106 381/3691/4 333/3673/4 +f 381/3691/4 382/3676/103 334/3674/103 +f 367/242/63 383/3677/63 382/3676/107 +f 368/246/108 384/3678/108 383/3677/63 +f 353/248/7 369/3679/7 384/3678/108 +f 353/252/7 354/251/65 370/3680/65 +f 355/255/67 371/3681/67 370/3680/65 +f 355/258/67 356/257/109 372/3682/109 +f 356/261/109 357/260/69 373/3683/69 +f 357/262/69 358/264/71 374/3684/71 +f 359/267/73 375/3685/73 374/3684/71 +f 359/270/73 360/269/75 376/3686/75 +f 360/273/75 361/272/9 377/3692/9 +f 362/276/76 378/3688/76 377/3687/9 +f 363/279/79 379/3689/79 378/3688/76 +f 364/281/110 380/3690/110 379/3689/79 +f 365/284/60 381/3691/60 380/3690/110 +f 366/287/107 382/3676/107 381/3691/60 +f 392/3693/15 408/3700/15 407/3694/12 +f 400/3696/11 416/3704/11 415/3697/16 +f 393/3699/6 409/5962/6 408/3700/15 +f 386/3701/18 402/3709/18 401/3702/3 +f 385/3703/3 401/3702/3 416/3704/11 +f 394/3705/13 410/3711/13 409/3706/6 +f 387/3708/14 403/3713/14 402/3709/18 +f 395/3710/17 411/3715/17 410/3711/13 +f 388/3712/105 404/3717/105 403/3713/14 +f 396/3714/106 412/3719/106 411/3715/17 +f 389/3716/5 405/3721/5 404/3717/105 +f 397/3718/4 413/3723/4 412/3719/106 +f 390/3720/104 406/3724/104 405/3721/5 +f 398/3722/103 414/3725/103 413/3723/4 +f 391/3695/12 407/3694/12 406/3724/104 +f 399/3698/16 415/3697/16 414/3725/103 +f 417/3726/6 434/3730/6 433/3727/13 +f 432/3729/15 448/3756/15 434/3730/6 +f 425/3731/3 441/5963/3 442/3732/18 +f 418/3728/13 433/3727/13 435/3734/17 +f 426/3733/18 442/3732/18 443/3736/14 +f 419/3735/17 435/3734/17 436/3738/106 +f 427/3737/14 443/3736/14 444/3740/105 +f 420/3739/106 436/3738/106 437/3742/4 +f 428/3741/105 444/3740/105 445/3744/5 +f 421/3743/4 437/3742/4 438/3746/103 +f 429/3745/5 445/3744/5 446/3748/104 +f 422/3747/103 438/3746/103 439/3750/16 +f 430/3749/104 446/3748/104 447/3752/12 +f 423/3751/16 439/3750/16 440/3754/11 +f 431/3753/12 447/3752/12 448/3756/15 +f 424/3755/11 440/3754/11 441/3757/3 +f 460/3759/105 476/3766/105 475/3760/14 +f 453/3762/4 469/3768/4 468/3763/106 +f 461/3765/5 477/3770/5 476/3766/105 +f 454/3767/103 470/3772/103 469/3768/4 +f 462/3769/104 478/3774/104 477/3770/5 +f 455/3771/16 471/3776/16 470/3772/103 +f 463/3773/12 479/3778/12 478/3774/104 +f 456/3775/11 472/3780/11 471/3776/16 +f 464/3777/15 480/3784/15 479/3778/12 +f 457/3779/3 473/5964/3 472/3780/11 +f 450/3781/13 465/3789/13 466/3782/6 +f 449/3783/6 466/3782/6 480/3784/15 +f 458/3785/18 474/3790/18 473/3786/3 +f 451/3788/17 467/3791/17 465/3789/13 +f 459/3761/14 475/3760/14 474/3790/18 +f 452/3764/106 468/3763/106 467/3791/17 +f 510/3792/103 511/3798/16 495/3793/16 +f 503/3795/12 504/3800/15 488/3796/15 +f 511/3798/16 512/3805/11 496/3799/11 +f 504/3800/15 505/5965/6 489/3801/6 +f 497/3802/3 498/3809/18 482/3803/18 +f 512/3805/11 497/3802/3 481/3804/3 +f 505/3806/6 506/3811/13 490/3807/13 +f 498/3809/18 499/3813/14 483/3810/14 +f 506/3811/13 507/3815/17 491/3812/17 +f 499/3813/14 500/3817/105 484/3814/105 +f 507/3815/17 508/5966/106 492/3816/106 +f 500/3817/105 501/3821/5 485/3818/5 +f 492/3816/106 508/5966/106 509/3819/4 +f 501/3821/5 502/3823/104 486/3822/104 +f 509/3819/4 510/3792/103 494/3794/103 +f 502/3823/104 503/3795/12 487/3797/12 +f 542/3824/103 543/3830/16 527/3825/16 +f 535/3827/12 536/3832/15 520/3828/15 +f 543/3830/16 544/3837/11 528/3831/11 +f 536/3832/15 537/5967/6 521/3833/6 +f 529/3834/3 530/3841/18 514/3835/18 +f 544/3837/11 529/3834/3 513/3836/3 +f 537/3838/6 538/3843/13 522/3839/13 +f 530/3841/18 531/3845/14 515/3842/14 +f 538/3843/13 539/3847/17 523/3844/17 +f 531/3845/14 532/3849/105 516/3846/105 +f 539/3847/17 540/5968/106 524/3848/106 +f 532/3849/105 533/3853/5 517/3850/5 +f 524/3848/106 540/5968/106 541/3851/4 +f 533/3853/5 534/3855/104 518/3854/104 +f 541/3851/4 542/3824/103 526/3826/103 +f 534/3855/104 535/3827/12 519/3829/12 +f 779/3856/111 778/3872/126 770/3857/112 +f 773/3859/114 776/3869/124 792/3860/115 +f 780/3862/117 779/3856/111 771/3858/113 +f 791/3864/119 775/5969/845 774/3865/120 +f 770/3857/112 778/3872/126 777/3867/122 +f 776/3869/124 775/5969/845 791/3864/119 +f 769/3870/123 777/3875/122 780/3862/117 +f 782/3871/125 781/3877/128 777/3867/122 +f 779/3856/111 783/3873/127 782/3871/125 +f 780/3862/117 784/3878/130 783/3873/127 +f 781/3874/128 784/3878/130 780/3862/117 +f 786/3876/129 785/3882/132 781/3877/128 +f 783/3873/127 787/3879/131 786/3876/129 +f 784/3878/130 788/3883/133 787/3879/131 +f 785/3880/132 788/3883/133 784/3878/130 +f 786/3876/129 790/3866/121 789/3881/116 +f 787/3879/131 791/3864/119 790/3866/121 +f 788/3883/133 792/3860/115 791/3864/119 +f 789/3861/116 792/3860/115 788/3883/133 +f 774/3865/120 773/5970/114 789/3881/116 +f 798/3884/134 797/5971/140 813/3885/135 +f 815/3887/137 799/5972/846 798/3884/134 +f 800/3888/138 799/5972/846 815/3887/137 +f 797/3890/140 800/3888/138 816/3889/139 +f 794/3892/141 802/3901/149 801/3893/142 +f 803/3895/144 802/3901/149 794/3892/141 +f 804/3897/146 803/3895/144 795/3896/145 +f 793/3899/143 801/3904/142 804/3897/146 +f 806/3900/148 805/3906/153 801/3893/142 +f 807/3902/150 806/3900/148 802/3901/149 +f 808/3903/151 807/3902/150 803/3895/144 +f 801/3904/142 805/3908/153 808/3903/151 +f 806/3900/148 810/3910/156 809/3905/152 +f 811/3907/154 810/3910/156 806/3900/148 +f 808/3903/151 812/3909/155 811/3907/154 +f 805/3908/153 809/3911/152 812/3909/155 +f 810/3910/156 814/3886/136 813/3885/135 +f 815/3887/137 814/3886/136 810/3910/156 +f 812/3909/155 816/3889/139 815/3887/137 +f 809/3911/152 813/3891/135 816/3889/139 +f 837/3912/157 817/5973/164 818/3913/158 +f 839/3915/160 838/3914/159 818/3913/158 +f 839/3915/160 819/3916/161 820/3917/162 +f 840/3918/163 820/3917/162 817/3919/164 +f 821/3921/165 825/5974/172 826/3922/166 +f 822/3923/167 826/3922/166 827/3924/168 +f 823/3925/169 827/3924/168 828/3926/170 +f 821/3928/165 824/3927/171 828/3926/170 +f 826/3922/166 825/5974/172 829/3930/173 +f 826/3922/166 830/3931/174 831/3932/175 +f 827/3924/168 831/3932/175 832/3933/176 +f 825/3929/172 828/3926/170 832/3933/176 +f 829/3930/173 833/3939/180 834/3935/177 +f 831/3932/175 830/3931/174 834/3935/177 +f 831/3932/175 835/3936/178 836/3937/179 +f 832/3933/176 836/3937/179 833/3938/180 +f 833/3939/180 837/3912/157 838/3914/159 +f 835/3936/178 834/3935/177 838/3914/159 +f 835/3936/178 839/3915/160 840/3918/163 +f 836/3937/179 840/3918/163 837/3920/157 +f 865/3940/181 866/3945/187 850/3941/182 +f 858/3943/184 859/711/218 843/710/185 +f 866/3945/187 867/728/211 851/725/188 +f 860/708/189 861/3948/195 845/3946/190 +f 868/726/192 869/3949/197 853/3947/193 +f 861/3948/195 862/714/222 846/717/196 +f 869/3949/197 870/731/214 854/734/198 +f 863/722/199 864/3952/205 848/3950/200 +f 871/738/202 872/3956/208 856/3951/203 +f 864/3952/205 865/3973/181 849/3953/183 +f 857/3954/206 858/3943/184 842/3944/186 +f 872/3956/208 857/3954/206 841/3955/207 +f 29/3410/62 30/3409/61 14/3436/81 +f 26/3430/77 27/3432/78 11/3463/99 +f 28/3434/80 29/3410/62 13/3467/102 +f 881/3957/209 882/5975/847 866/3945/187 +f 866/3945/187 882/5976/847 883/3958/210 +f 867/728/211 883/5977/210 884/3959/212 +f 884/3960/212 885/5978/848 869/3949/197 +f 869/3949/197 885/5979/848 886/3961/213 +f 870/731/214 886/5980/213 887/3962/215 +f 887/3963/215 888/5981/849 872/3956/208 +f 872/3956/208 888/5982/849 873/3964/216 +f 873/3965/216 874/5983/217 858/3943/184 +f 874/3966/217 875/5984/219 859/711/218 +f 875/3967/219 876/5985/220 860/708/189 +f 876/3968/220 877/5986/850 861/3948/195 +f 861/3948/195 877/5987/850 878/3969/221 +f 878/3970/221 879/5988/223 863/722/199 +f 879/3971/223 880/5989/224 864/3952/205 +f 880/3972/224 881/5990/209 865/3973/181 +f 875/3976/219 874/5991/217 887/5992/215 +f 874/5991/217 873/5993/216 887/5992/215 +f 873/5993/216 888/5994/849 887/5992/215 +f 887/5992/215 886/5995/213 883/3974/210 +f 886/5995/213 885/5996/848 883/3974/210 +f 885/5996/848 884/5997/212 883/3974/210 +f 883/3974/210 882/5998/847 881/5999/209 +f 881/5999/209 880/6000/224 883/3974/210 +f 880/6000/224 879/3975/223 883/3974/210 +f 879/3975/223 878/6001/221 877/6002/850 +f 877/6002/850 876/6003/220 875/3976/219 +f 879/3975/223 877/6002/850 875/3976/219 +f 875/3976/219 887/5992/215 883/3974/210 +f 849/3953/183 897/6004/226 896/3977/225 +f 850/3941/182 898/6005/228 897/3978/226 +f 850/3941/182 851/725/188 899/3979/227 +f 851/725/188 852/724/194 900/3981/229 +f 852/724/194 853/3947/193 901/3983/230 +f 853/3947/193 854/734/198 902/3985/231 +f 854/734/198 855/736/204 903/3987/232 +f 856/3951/203 904/6006/233 903/3989/232 +f 841/3955/207 889/6007/234 904/3990/233 +f 842/3944/186 890/6008/235 889/3991/234 +f 843/710/185 891/6009/236 890/3992/235 +f 844/706/191 892/6010/237 891/3993/236 +f 845/3946/190 893/6011/239 892/3994/237 +f 845/3946/190 846/717/196 894/3995/238 +f 847/719/201 895/6012/240 894/3997/238 +f 848/3950/200 896/6013/225 895/3998/240 +f 889/4001/234 890/6014/235 893/6015/239 +f 890/6014/235 891/6016/236 893/6015/239 +f 891/6016/236 892/6017/237 893/6015/239 +f 893/6015/239 894/6018/238 895/6019/240 +f 895/6019/240 896/6020/225 893/6015/239 +f 896/6020/225 897/3999/226 893/6015/239 +f 897/3999/226 898/6021/228 899/6022/227 +f 899/6022/227 900/6023/229 897/3999/226 +f 900/6023/229 901/4000/230 897/3999/226 +f 901/4000/230 902/6024/231 889/4001/234 +f 902/6024/231 903/6025/232 889/4001/234 +f 903/6025/232 904/6026/233 889/4001/234 +f 889/4001/234 893/6015/239 897/3999/226 +f 20/3419/68 21/3421/70 5/3447/88 +f 21/3421/70 22/3423/72 6/3449/90 +f 23/3425/74 24/3403/56 8/3405/57 +f 934/4002/241 935/4053/539 923/4003/242 +f 923/4003/242 935/4056/539 936/4005/14 +f 936/4007/14 937/4059/540 925/4008/245 +f 925/4008/245 937/6027/540 938/4009/246 +f 938/4011/246 939/4055/91 927/4012/248 +f 927/4012/248 939/4058/91 940/4013/249 +f 940/4015/249 941/4062/252 929/4016/251 +f 941/4017/252 942/4054/12 930/4018/253 +f 942/4019/12 943/4057/538 931/4020/254 +f 931/4020/254 943/4060/538 944/4022/255 +f 932/4023/256 944/4052/255 933/4024/69 +f 933/4026/69 934/4061/241 922/4004/243 +f 928/4014/250 952/4032/263 951/4027/258 +f 925/4008/245 949/4034/265 948/4028/259 +f 932/4023/256 956/4035/266 955/4029/260 +f 921/4025/257 922/4004/243 946/4030/261 +f 929/4016/251 953/4037/268 952/4032/263 +f 925/4008/245 926/4010/247 950/4033/264 +f 921/4025/257 945/4031/262 956/4035/266 +f 922/4004/243 923/4003/242 947/4036/267 +f 930/4018/253 954/4039/269 953/4037/268 +f 927/4012/248 951/4027/258 950/4033/264 +f 924/4006/244 948/4028/259 947/4036/267 +f 930/4021/253 931/4020/254 955/4029/260 +f 947/4036/267 959/740/271 958/742/270 +f 948/4028/259 960/743/16 959/745/271 +f 949/4034/265 961/746/272 960/748/16 +f 950/4033/264 962/749/273 961/751/272 +f 950/4033/264 951/4027/258 963/2780/100 +f 952/4032/263 964/755/275 963/757/100 +f 952/4032/263 953/4037/268 965/2782/274 +f 954/4039/269 966/2783/17 965/761/274 +f 954/4038/269 955/4029/260 967/764/276 +f 956/4035/266 968/767/277 967/769/276 +f 945/4031/262 957/2786/60 968/770/277 +f 945/4031/262 946/4030/261 958/2787/270 +f 977/759/278 989/6028/278 988/4040/279 +f 974/2779/280 986/6029/280 985/4041/281 +f 969/771/2 982/6030/2 992/4042/282 +f 971/2776/283 983/6031/283 981/4043/284 +f 978/762/6 990/6032/6 989/4044/278 +f 975/753/1 987/6033/1 986/4045/280 +f 972/2777/3 984/6034/3 983/4046/283 +f 979/2784/285 991/6035/285 990/4047/6 +f 976/2781/279 988/6036/279 987/4048/1 +f 973/2778/281 985/6037/281 984/4049/3 +f 980/2785/282 992/6038/282 991/4050/285 +f 970/774/284 981/6039/284 982/4051/2 +f 944/4052/282 1004/782/282 993/784/2 +f 935/4053/283 934/4002/284 994/785/284 +f 941/4017/278 1001/2800/278 1002/788/6 +f 938/4011/280 998/791/280 999/793/1 +f 935/4056/283 995/2802/283 996/794/3 +f 942/4019/6 1002/797/6 1003/799/285 +f 939/4058/1 999/800/1 1000/802/279 +f 936/4007/3 996/803/3 997/805/281 +f 943/4060/285 1003/2806/285 1004/806/282 +f 933/4026/2 993/809/2 994/811/284 +f 940/4015/279 1000/812/279 1001/814/278 +f 938/4009/280 937/6027/281 997/2797/281 +f 1010/4063/280 1022/832/280 1023/818/1 +f 1007/4065/283 1019/837/283 1020/821/3 +f 1014/4067/6 1026/815/6 1027/817/285 +f 1011/4064/1 1023/818/1 1024/820/279 +f 1008/4066/3 1020/821/3 1021/823/281 +f 1015/4068/285 1027/817/285 1028/824/282 +f 1005/4072/2 1017/827/2 1018/829/284 +f 1012/4069/279 1024/820/279 1025/831/278 +f 1009/4070/281 1021/823/281 1022/832/280 +f 1016/4071/282 1028/824/282 1017/827/2 +f 1006/4073/284 1018/829/284 1019/837/283 +f 1013/4074/278 1025/831/278 1026/838/6 +f 1034/2816/280 1046/6040/280 1047/4076/1 +f 1031/842/283 1043/6041/283 1044/4077/3 +f 1038/2809/6 1050/6042/6 1051/4078/285 +f 1035/2810/1 1047/6043/1 1048/4079/279 +f 1032/2811/3 1044/6044/3 1045/4080/281 +f 1039/825/285 1051/6045/285 1052/4081/282 +f 1030/2812/2 1042/6046/2 1041/4082/284 +f 1036/2813/279 1048/6047/279 1049/4083/278 +f 1033/833/281 1045/6048/281 1046/4084/280 +f 1030/835/2 1040/2814/282 1052/4085/282 +f 1029/2815/284 1041/6049/284 1043/4087/283 +f 1037/839/278 1049/6050/278 1050/4088/6 +f 1053/4089/4 1064/4100/286 1076/850/286 +f 1055/4090/287 1054/4101/288 1066/853/288 +f 1061/4091/289 1073/875/289 1074/856/6 +f 1058/4093/290 1070/849/290 1071/859/5 +f 1055/4090/287 1067/855/287 1068/862/3 +f 1062/4096/6 1074/865/6 1075/867/291 +f 1059/4094/5 1071/859/5 1072/869/292 +f 1056/4095/3 1068/862/3 1069/847/293 +f 1063/4097/291 1075/867/291 1076/850/286 +f 1053/4089/4 1065/852/4 1066/853/288 +f 1061/4091/289 1060/4098/292 1072/869/292 +f 1058/4093/290 1057/4099/293 1069/847/293 +f 1082/4102/290 1094/897/290 1095/881/5 +f 1079/4104/287 1091/901/287 1092/884/3 +f 1086/4106/6 1098/878/6 1099/880/291 +f 1083/4103/5 1095/881/5 1096/883/292 +f 1080/4105/3 1092/884/3 1093/886/293 +f 1087/4107/291 1099/880/291 1100/887/286 +f 1077/4111/4 1089/899/4 1090/890/288 +f 1085/4113/289 1084/4108/292 1096/883/292 +f 1081/4109/293 1093/886/293 1094/897/290 +f 1077/4111/4 1088/4110/286 1100/887/286 +f 1078/4112/288 1090/890/288 1091/901/287 +f 1085/4113/289 1097/893/289 1098/902/6 +f 1106/905/290 1118/6051/290 1119/4115/5 +f 1103/907/287 1115/6052/287 1116/4116/3 +f 1110/2832/6 1122/6053/6 1123/4117/291 +f 1107/2833/5 1119/6054/5 1120/4118/292 +f 1104/2834/3 1116/6055/3 1117/4119/293 +f 1111/888/291 1123/6056/291 1124/4120/286 +f 1102/891/4 1114/6057/4 1113/4121/288 +f 1108/894/292 1120/6058/292 1121/4122/289 +f 1105/2835/293 1117/6059/293 1118/4123/290 +f 1112/2836/286 1124/6060/286 1114/4124/4 +f 1101/2837/288 1113/6061/288 1115/4125/287 +f 1109/903/289 1121/6062/289 1122/4126/6 +f 19/3417/66 20/3419/68 4/3445/86 +f 22/3423/72 23/3425/74 7/3453/94 +f 27/3432/78 28/3434/80 12/3461/98 +f 30/3409/61 31/3397/50 15/3399/52 +f 1138/4127/294 1140/4130/297 1139/4128/295 +f 1140/4130/297 1142/4132/299 1141/4131/298 +f 1142/4132/299 1144/4134/301 1143/4133/300 +f 1144/4134/301 1146/4136/303 1145/4135/302 +f 1146/4136/303 1148/4138/305 1147/4137/304 +f 1148/4138/305 1150/6063/71 1149/4139/93 +f 1140/4130/297 1168/4171/325 1169/4140/83 +f 1150/4141/71 1152/4144/307 1151/4142/306 +f 1152/4144/307 1138/4127/294 1137/4129/296 +f 1141/4131/298 1143/4133/300 1156/4145/308 +f 1145/4147/302 1157/4150/311 1156/4145/308 +f 1139/4128/295 1141/4131/298 1155/4146/107 +f 1145/4147/302 1147/4163/304 1158/4149/310 +f 1137/4151/296 1153/4154/313 1159/4152/312 +f 1139/4128/295 1154/4148/309 1153/4154/313 +f 1159/4152/312 1153/4154/313 1160/4155/314 +f 1157/4150/311 1164/4160/319 1163/4157/316 +f 1154/4148/309 1155/4146/107 1162/4158/317 +f 1158/4149/310 1165/4164/320 1164/4160/319 +f 1156/4145/308 1163/4157/316 1162/4158/317 +f 1153/4154/313 1154/4148/309 1161/4159/318 +f 1148/4165/305 1146/4173/303 1171/4166/321 +f 1138/4168/294 1152/4182/307 1173/4169/323 +f 1140/4130/297 1138/4168/294 1167/4170/324 +f 1144/4134/301 1142/4132/299 1169/4140/83 +f 1146/4173/303 1144/4134/301 1170/4172/326 +f 1172/4167/322 1171/4166/321 1178/4174/327 +f 1170/4172/326 1169/4140/83 1176/4176/329 +f 1167/4170/324 1174/4180/333 1175/4178/331 +f 1167/4170/324 1173/4169/323 1180/4179/332 +f 1171/4166/321 1170/4172/326 1177/4177/330 +f 1168/4171/325 1175/4178/331 1176/4176/329 +f 1179/4184/328 1178/4196/327 1186/4185/13 +f 1176/4176/329 1184/4197/1 1185/4187/96 +f 1174/4188/333 1182/4193/18 1183/4189/85 +f 1150/4190/71 1179/4184/328 1187/4186/76 +f 1180/4192/332 1188/4195/65 1182/4193/18 +f 1180/4192/332 1150/6064/71 1181/4194/2 +f 1177/4177/330 1185/4187/96 1186/4185/13 +f 1176/4176/329 1175/4178/331 1183/4189/85 +f 1149/4198/93 1166/4211/315 1196/4199/85 +f 1163/4157/316 1164/4204/319 1194/4201/13 +f 1162/4158/317 1192/4206/2 1191/4203/65 +f 1164/4204/319 1165/4210/320 1195/4205/96 +f 1162/4158/317 1163/4157/316 1193/4202/76 +f 1160/4207/314 1161/4159/318 1191/4203/65 +f 1149/4209/93 1189/6065/1 1195/4205/96 +f 1160/4207/314 1190/4208/18 1196/4199/85 +f 1198/4212/334 1200/4215/337 1199/4213/335 +f 1200/4215/337 1202/4217/339 1201/4216/338 +f 1202/4217/339 1204/4219/341 1203/4218/340 +f 1204/4219/341 1206/4221/343 1205/4220/342 +f 1206/4221/343 1208/4223/345 1207/4222/344 +f 1208/4223/345 1210/6066/109 1209/4224/89 +f 1200/4215/337 1228/4256/364 1229/4225/101 +f 1210/4226/109 1212/4229/347 1211/4227/346 +f 1212/4229/347 1198/4212/334 1197/4214/336 +f 1203/4218/340 1216/4232/348 1215/4230/110 +f 1205/4231/342 1217/4235/351 1216/4232/348 +f 1199/4213/335 1201/4216/338 1215/4230/110 +f 1205/4231/342 1207/4248/344 1218/4234/350 +f 1197/4236/336 1213/4239/353 1219/4237/352 +f 1197/4236/336 1199/4213/335 1214/4233/349 +f 1219/4237/352 1213/4239/353 1220/4240/354 +f 1216/4232/348 1217/4235/351 1224/4242/356 +f 1214/4233/349 1215/4230/110 1222/4244/358 +f 1218/4234/350 1225/4249/360 1224/4242/356 +f 1215/4230/110 1216/4232/348 1223/4243/357 +f 1214/4233/349 1221/4245/359 1220/4240/354 +f 1208/4250/345 1206/4258/343 1231/4251/361 +f 1212/4253/347 1233/4265/372 1227/4254/363 +f 1200/4215/337 1198/4255/334 1227/4254/363 +f 1204/4219/341 1202/4217/339 1229/4225/101 +f 1206/4258/343 1204/4219/341 1230/4257/365 +f 1232/4252/362 1231/4251/361 1238/4259/366 +f 1230/4257/365 1229/4225/101 1236/4261/368 +f 1228/4256/364 1227/4254/363 1234/4263/370 +f 1233/4265/372 1240/4267/373 1234/4263/370 +f 1231/4251/361 1230/4257/365 1237/4262/369 +f 1228/4256/364 1235/4264/371 1236/4261/368 +f 1239/4269/367 1238/4281/366 1246/4270/15 +f 1236/4261/368 1244/4282/1 1245/4272/95 +f 1234/4273/370 1242/4278/11 1243/4274/84 +f 1210/4275/109 1239/4269/367 1247/4271/75 +f 1240/4277/373 1248/4280/108 1242/4278/11 +f 1240/4277/373 1210/6067/109 1241/4279/2 +f 1237/4262/369 1245/4272/95 1246/4270/15 +f 1236/4261/368 1235/4264/371 1243/4274/84 +f 1209/4283/89 1226/4296/355 1256/4284/84 +f 1223/4243/357 1224/4290/356 1254/4286/15 +f 1222/4244/358 1252/4291/2 1251/4288/108 +f 1225/4289/360 1255/4295/95 1254/4286/15 +f 1222/4244/358 1223/4243/357 1253/4287/75 +f 1220/4292/354 1221/4245/359 1251/4288/108 +f 1209/4294/89 1249/6068/1 1255/4295/95 +f 1220/4292/354 1250/4293/11 1256/4284/84 +f 1258/4297/374 1260/4300/377 1259/4298/375 +f 1260/4300/377 1262/4302/379 1261/4301/378 +f 1262/4302/379 1264/4304/381 1263/4303/380 +f 1264/4304/381 1266/4306/383 1265/4305/382 +f 1266/4306/383 1268/4308/385 1267/4307/384 +f 1268/4308/385 1270/6069/107 1269/4309/83 +f 1260/4300/377 1288/4341/405 1289/4310/93 +f 1270/4311/107 1272/4314/387 1271/4312/386 +f 1272/4314/387 1258/4297/374 1257/4299/376 +f 1263/4303/380 1276/4317/388 1275/4315/71 +f 1265/4316/382 1277/4320/391 1276/4317/388 +f 1259/4298/375 1261/4301/378 1275/4315/71 +f 1265/4316/382 1267/4333/384 1278/4319/390 +f 1257/4321/376 1273/4324/393 1279/4322/392 +f 1257/4321/376 1259/4298/375 1274/4318/389 +f 1279/4322/392 1273/4324/393 1280/4325/394 +f 1277/4320/391 1284/4330/399 1283/4327/396 +f 1274/4318/389 1275/4315/71 1282/4328/397 +f 1278/4319/390 1285/4334/400 1284/4330/399 +f 1276/4317/388 1283/4327/396 1282/4328/397 +f 1274/4318/389 1281/4329/398 1280/4325/394 +f 1268/4335/385 1266/4343/383 1291/4336/401 +f 1258/4338/374 1272/4351/387 1293/4339/403 +f 1260/4300/377 1258/4338/374 1287/4340/404 +f 1262/4302/379 1289/4310/93 1290/4342/406 +f 1266/4343/383 1264/4304/381 1290/4342/406 +f 1291/4336/401 1298/4349/412 1299/4344/407 +f 1290/4342/406 1289/4310/93 1296/4345/408 +f 1288/4341/405 1287/4340/404 1294/4347/410 +f 1293/4339/403 1300/4352/413 1294/4347/410 +f 1291/4336/401 1290/4342/406 1297/4346/409 +f 1288/4341/405 1295/4348/411 1296/4345/408 +f 1299/4354/407 1298/4366/412 1306/4355/18 +f 1296/4345/408 1304/4367/1 1305/4357/85 +f 1294/4358/410 1302/4363/13 1303/4359/96 +f 1270/4360/107 1299/4354/407 1307/4356/65 +f 1300/4362/413 1308/4365/76 1302/4363/13 +f 1300/4362/413 1270/6070/107 1301/4364/2 +f 1297/4346/409 1305/4357/85 1306/4355/18 +f 1295/4348/411 1303/4359/96 1304/4367/1 +f 1269/4368/83 1286/4381/395 1316/4369/96 +f 1283/4327/396 1284/4375/399 1314/4371/18 +f 1282/4328/397 1312/4376/2 1311/4373/76 +f 1285/4374/400 1315/4380/85 1314/4371/18 +f 1282/4328/397 1283/4327/396 1313/4372/65 +f 1280/4377/394 1281/4329/398 1311/4373/76 +f 1269/4379/83 1309/6071/1 1315/4380/85 +f 1280/4377/394 1310/4378/13 1316/4369/96 +f 1318/4382/414 1320/4385/417 1319/4383/415 +f 1320/4385/417 1322/4387/419 1321/4386/418 +f 1322/4387/419 1324/4389/421 1323/4388/420 +f 1324/4389/421 1326/4391/423 1325/4390/422 +f 1326/4391/423 1328/4393/425 1327/4392/424 +f 1328/4393/425 1330/6072/110 1329/4394/101 +f 1320/4385/417 1348/4426/444 1349/4395/89 +f 1330/4396/110 1332/4399/427 1331/4397/426 +f 1332/4399/427 1318/4382/414 1317/4384/416 +f 1323/4388/420 1336/4402/428 1335/4400/109 +f 1325/4401/422 1337/4405/431 1336/4402/428 +f 1319/4383/415 1321/4386/418 1335/4400/109 +f 1325/4401/422 1327/4418/424 1338/4404/430 +f 1317/4406/416 1333/4409/433 1339/4407/432 +f 1317/4406/416 1319/4383/415 1334/4403/429 +f 1339/4407/432 1333/4409/433 1340/4410/434 +f 1336/4402/428 1337/4405/431 1344/4412/436 +f 1335/4400/109 1342/4415/439 1341/4414/438 +f 1338/4404/430 1345/4419/440 1344/4412/436 +f 1336/4402/428 1343/4413/437 1342/4415/439 +f 1334/4403/429 1341/4414/438 1340/4410/434 +f 1328/4420/425 1326/4428/423 1351/4421/441 +f 1332/4423/427 1353/4434/451 1347/4424/443 +f 1318/4425/414 1347/4424/443 1348/4426/444 +f 1324/4389/421 1322/4387/419 1349/4395/89 +f 1326/4428/423 1324/4389/421 1350/4427/445 +f 1351/4421/441 1358/4435/452 1359/4429/446 +f 1350/4427/445 1349/4395/89 1356/4430/447 +f 1348/4426/444 1347/4424/443 1354/4432/449 +f 1353/4434/451 1360/4437/453 1354/4432/449 +f 1351/4421/441 1350/4427/445 1357/4431/448 +f 1349/4395/89 1348/4426/444 1355/4433/450 +f 1359/4439/446 1358/4451/452 1366/4440/11 +f 1356/4430/447 1364/4452/1 1365/4442/84 +f 1354/4443/449 1362/4448/15 1363/4444/95 +f 1330/4445/110 1359/4439/446 1367/4441/108 +f 1360/4447/453 1368/4450/75 1362/4448/15 +f 1360/4447/453 1330/6073/110 1361/4449/2 +f 1357/4431/448 1365/4442/84 1366/4440/11 +f 1356/4430/447 1355/4433/450 1363/4444/95 +f 1329/4453/101 1346/4466/435 1376/4454/95 +f 1343/4413/437 1344/4459/436 1374/4456/11 +f 1342/4415/439 1372/4461/2 1371/4458/75 +f 1344/4459/436 1345/4465/440 1375/4460/84 +f 1342/4415/439 1343/4413/437 1373/4457/108 +f 1340/4462/434 1341/4414/438 1371/4458/75 +f 1329/4464/101 1369/6074/1 1375/4460/84 +f 1340/4462/434 1370/4463/15 1376/4454/95 +f 1378/4467/422 1380/4470/420 1379/4468/421 +f 1380/4470/420 1382/4472/418 1381/4471/419 +f 1382/4472/418 1384/4474/415 1383/4473/417 +f 1384/4474/415 1386/4476/416 1385/4475/414 +f 1386/4476/416 1388/4478/426 1387/4477/427 +f 1388/4478/426 1390/6075/101 1389/4479/110 +f 1380/4470/420 1408/4511/428 1409/4480/109 +f 1390/4481/101 1392/4484/424 1391/4482/425 +f 1392/4484/424 1378/4467/422 1377/4469/423 +f 1381/4471/419 1383/4473/417 1396/4485/444 +f 1385/4487/414 1397/4490/443 1396/4485/444 +f 1379/4468/421 1381/4471/419 1395/4486/89 +f 1385/4487/414 1387/4504/427 1398/4489/454 +f 1377/4491/423 1393/4494/441 1399/4492/442 +f 1379/4468/421 1394/4488/445 1393/4494/441 +f 1399/4492/442 1393/4494/441 1400/4495/452 +f 1397/4490/443 1404/4501/449 1403/4497/450 +f 1394/4488/445 1395/4486/89 1402/4498/447 +f 1397/4490/443 1398/4489/454 1405/4500/453 +f 1396/4485/444 1403/4497/450 1402/4498/447 +f 1394/4488/445 1401/4499/448 1400/4495/452 +f 1388/4505/426 1386/4513/416 1411/4506/433 +f 1392/4508/424 1413/4519/430 1407/4509/431 +f 1378/4510/422 1407/4509/431 1408/4511/428 +f 1384/4474/415 1382/4472/418 1409/4480/109 +f 1386/4513/416 1384/4474/415 1410/4512/457 +f 1412/4507/456 1411/4506/433 1418/4514/434 +f 1409/4480/109 1416/4520/439 1417/4516/438 +f 1408/4511/428 1407/4509/431 1414/4517/436 +f 1413/4519/430 1420/4522/458 1414/4517/436 +f 1410/4512/457 1417/4516/438 1418/4514/434 +f 1408/4511/428 1415/4518/437 1416/4520/439 +f 1419/4524/435 1418/4536/434 1426/4525/15 +f 1416/4520/439 1424/4537/2 1425/4527/75 +f 1414/4528/436 1422/4533/11 1423/4529/108 +f 1390/4530/101 1419/4524/435 1427/4526/95 +f 1420/4532/458 1428/4535/84 1422/4533/11 +f 1420/4532/458 1390/6076/101 1421/4534/1 +f 1418/4536/434 1417/4516/438 1425/4527/75 +f 1416/4520/439 1415/4518/437 1423/4529/108 +f 1389/4538/110 1406/4551/455 1436/4539/108 +f 1403/4497/450 1404/4545/449 1434/4541/15 +f 1402/4498/447 1432/4546/1 1431/4543/84 +f 1405/4544/453 1435/4550/75 1434/4541/15 +f 1402/4498/447 1403/4497/450 1433/4542/95 +f 1400/4547/452 1401/4499/448 1431/4543/84 +f 1389/4549/110 1429/6077/2 1435/4550/75 +f 1400/4547/452 1430/4548/11 1436/4539/108 +f 1438/4552/382 1440/4555/380 1439/4553/381 +f 1440/4555/380 1442/4557/378 1441/4556/379 +f 1442/4557/378 1444/4559/375 1443/4558/377 +f 1444/4559/375 1446/4561/376 1445/4560/374 +f 1446/4561/376 1448/4563/386 1447/4562/387 +f 1448/4563/386 1450/6078/83 1449/4564/107 +f 1440/4555/380 1468/4596/388 1469/4565/71 +f 1450/4566/83 1452/4569/384 1451/4567/385 +f 1452/4569/384 1438/4552/382 1437/4554/383 +f 1443/4558/377 1456/4572/405 1455/4570/93 +f 1445/4571/374 1457/4575/404 1456/4572/405 +f 1441/4556/379 1455/4570/93 1454/4573/406 +f 1445/4571/374 1447/4588/387 1458/4574/403 +f 1437/4576/383 1453/4579/401 1459/4577/402 +f 1437/4576/383 1439/4553/381 1454/4573/406 +f 1459/4577/402 1453/4579/401 1460/4580/412 +f 1457/4575/404 1464/4585/410 1463/4582/411 +f 1454/4573/406 1455/4570/93 1462/4583/408 +f 1458/4574/403 1465/4589/459 1464/4585/410 +f 1456/4572/405 1463/4582/411 1462/4583/408 +f 1454/4573/406 1461/4584/409 1460/4580/412 +f 1448/4590/386 1446/4598/376 1471/4591/393 +f 1438/4593/382 1452/4606/384 1473/4594/390 +f 1440/4555/380 1438/4593/382 1467/4595/391 +f 1444/4559/375 1442/4557/378 1469/4565/71 +f 1444/4559/375 1470/4597/389 1471/4591/393 +f 1471/4591/393 1478/4604/394 1479/4599/395 +f 1470/4597/389 1469/4565/71 1476/4600/397 +f 1468/4596/388 1467/4595/391 1474/4602/399 +f 1473/4594/390 1480/4607/400 1474/4602/399 +f 1471/4591/393 1470/4597/389 1477/4601/398 +f 1468/4596/388 1475/4603/396 1476/4600/397 +f 1479/4609/395 1478/4621/394 1486/4610/13 +f 1476/4600/397 1484/4622/2 1485/4612/76 +f 1474/4613/399 1482/4618/18 1483/4614/65 +f 1450/4615/83 1479/4609/395 1487/4611/96 +f 1474/4613/399 1480/4619/400 1488/4617/85 +f 1480/4619/400 1450/6079/83 1481/4620/1 +f 1477/4601/398 1485/4612/76 1486/4610/13 +f 1476/4600/397 1475/4603/396 1483/4614/65 +f 1449/4623/107 1466/4636/407 1496/4624/65 +f 1463/4582/411 1464/4630/410 1494/4626/13 +f 1462/4583/408 1492/4631/1 1491/4628/85 +f 1465/4629/459 1495/4635/76 1494/4626/13 +f 1462/4583/408 1463/4582/411 1493/4627/96 +f 1460/4632/412 1461/4584/409 1491/4628/85 +f 1449/4634/107 1489/6080/2 1495/4635/76 +f 1466/4636/407 1460/4632/412 1490/4633/18 +f 1498/4637/342 1500/4640/340 1499/4638/341 +f 1500/4640/340 1502/4642/338 1501/4641/339 +f 1502/4642/338 1504/4644/335 1503/4643/337 +f 1504/4644/335 1506/4646/336 1505/4645/334 +f 1506/4646/336 1508/4648/346 1507/4647/347 +f 1508/4648/346 1510/6081/89 1509/4649/109 +f 1500/4640/340 1528/4681/348 1529/4650/110 +f 1510/4651/89 1512/4654/344 1511/4652/345 +f 1512/4654/344 1498/4637/342 1497/4639/343 +f 1503/4643/337 1516/4657/364 1515/4655/101 +f 1505/4656/334 1517/4660/363 1516/4657/364 +f 1499/4638/341 1501/4641/339 1515/4655/101 +f 1505/4656/334 1507/4673/347 1518/4659/372 +f 1497/4661/343 1513/4664/361 1519/4662/362 +f 1497/4661/343 1499/4638/341 1514/4658/365 +f 1519/4662/362 1513/4664/361 1520/4665/366 +f 1516/4657/364 1517/4660/363 1524/4667/370 +f 1514/4658/365 1515/4655/101 1522/4669/368 +f 1518/4659/372 1525/4674/373 1524/4667/370 +f 1515/4655/101 1516/4657/364 1523/4668/371 +f 1513/4664/361 1514/4658/365 1521/4670/369 +f 1508/4675/346 1506/4683/336 1531/4676/353 +f 1498/4678/342 1512/4691/344 1533/4679/350 +f 1500/4640/340 1498/4678/342 1527/4680/351 +f 1502/4642/338 1529/4650/110 1530/4682/349 +f 1506/4683/336 1504/4644/335 1530/4682/349 +f 1531/4676/353 1538/4689/354 1539/4684/355 +f 1530/4682/349 1529/4650/110 1536/4685/358 +f 1528/4681/348 1527/4680/351 1534/4687/356 +f 1533/4679/350 1540/4692/460 1534/4687/356 +f 1530/4682/349 1537/4686/359 1538/4689/354 +f 1528/4681/348 1535/4688/357 1536/4685/358 +f 1538/4694/354 1546/4706/11 1547/4695/84 +f 1536/4685/358 1544/4707/2 1545/4697/108 +f 1534/4698/356 1542/4703/15 1543/4699/75 +f 1510/4700/89 1539/4696/355 1547/4695/84 +f 1534/4698/356 1540/4704/460 1548/4702/95 +f 1540/4704/460 1510/6082/89 1541/4705/1 +f 1537/4686/359 1545/4697/108 1546/4706/11 +f 1536/4685/358 1535/4688/357 1543/4699/75 +f 1509/4708/109 1526/4721/367 1556/4709/75 +f 1523/4668/371 1524/4715/370 1554/4711/11 +f 1522/4669/368 1552/4716/1 1551/4713/95 +f 1525/4714/373 1555/4720/108 1554/4711/11 +f 1522/4669/368 1523/4668/371 1553/4712/84 +f 1520/4717/366 1521/4670/369 1551/4713/95 +f 1509/4719/109 1549/6083/2 1555/4720/108 +f 1520/4717/366 1550/4718/15 1556/4709/75 +f 1558/4722/302 1560/4725/300 1559/4723/301 +f 1560/4725/300 1562/4727/298 1561/4726/299 +f 1562/4727/298 1564/4729/295 1563/4728/297 +f 1564/4729/295 1566/4731/296 1565/4730/294 +f 1566/4731/296 1568/4733/306 1567/4732/307 +f 1568/4733/306 1570/6084/93 1569/4734/71 +f 1560/4725/300 1588/4766/464 1589/4735/107 +f 1570/4736/93 1572/4739/304 1571/4737/305 +f 1572/4739/304 1558/4722/302 1557/4724/303 +f 1563/4728/297 1576/4742/325 1575/4740/83 +f 1565/4741/294 1577/4745/324 1576/4742/325 +f 1559/4723/301 1561/4726/299 1575/4740/83 +f 1567/4744/307 1578/4755/323 1577/4745/324 +f 1557/4746/303 1573/4749/321 1579/4747/462 +f 1559/4723/301 1574/4743/461 1573/4749/321 +f 1579/4747/462 1573/4749/321 1580/4750/327 +f 1576/4742/325 1577/4745/324 1584/4752/333 +f 1575/4740/83 1582/4756/329 1581/4754/330 +f 1578/4755/323 1585/4759/463 1584/4752/333 +f 1576/4742/325 1583/4753/331 1582/4756/329 +f 1574/4743/461 1581/4754/330 1580/4750/327 +f 1568/4760/306 1566/4768/296 1591/4761/313 +f 1572/4763/304 1593/4775/466 1587/4764/311 +f 1558/4765/302 1587/4764/311 1588/4766/464 +f 1564/4729/295 1562/4727/298 1589/4735/107 +f 1566/4768/296 1564/4729/295 1590/4767/309 +f 1592/4762/312 1591/4761/313 1598/4769/314 +f 1590/4767/309 1589/4735/107 1596/4771/317 +f 1588/4766/464 1587/4764/311 1594/4773/319 +f 1593/4775/466 1600/4777/320 1594/4773/319 +f 1591/4761/313 1590/4767/309 1597/4772/318 +f 1588/4766/464 1595/4774/316 1596/4771/317 +f 1599/4779/465 1598/4791/314 1606/4780/18 +f 1596/4771/317 1604/4792/2 1605/4782/65 +f 1595/4774/316 1594/4788/319 1602/4783/13 +f 1570/4785/93 1599/4779/465 1607/4781/85 +f 1600/4787/320 1608/4790/96 1602/4783/13 +f 1570/4789/93 1601/6085/1 1608/4790/96 +f 1597/4772/318 1605/4782/65 1606/4780/18 +f 1596/4771/317 1595/4774/316 1603/4784/76 +f 1569/4793/71 1586/4806/328 1616/4794/76 +f 1583/4753/331 1584/4800/333 1614/4796/18 +f 1582/4756/329 1612/4801/1 1611/4798/96 +f 1585/4799/463 1615/4805/65 1614/4796/18 +f 1582/4756/329 1583/4753/331 1613/4797/85 +f 1580/4802/327 1581/4754/330 1611/4798/96 +f 1569/4804/71 1609/6086/2 1615/4805/65 +f 1580/4802/327 1610/4803/13 1616/4794/76 +f 1938/4807/467 1946/4819/479 1947/4808/468 +f 1960/4810/470 1944/4820/480 1941/4811/471 +f 1939/4809/469 1947/4808/468 1948/4813/473 +f 1959/4815/475 1958/4834/490 1942/4816/476 +f 1937/4818/478 1945/4823/481 1946/4819/479 +f 1959/4815/475 1943/4817/477 1944/4820/480 +f 1937/4821/478 1940/4814/474 1948/4813/473 +f 1945/4823/481 1949/4828/485 1950/4824/482 +f 1947/4808/468 1946/4819/479 1950/4824/482 +f 1948/4813/473 1947/4808/468 1951/4825/483 +f 1948/4813/473 1952/4826/484 1949/4827/485 +f 1949/4828/485 1953/4833/489 1954/4829/486 +f 1951/4825/483 1950/4824/482 1954/4829/486 +f 1952/4826/484 1951/4825/483 1955/4830/487 +f 1952/4826/484 1956/4831/488 1953/4832/489 +f 1953/4833/489 1957/4835/472 1958/4834/490 +f 1955/4830/487 1954/4829/486 1958/4834/490 +f 1955/4830/487 1959/4815/475 1960/4810/470 +f 1956/4831/488 1960/4810/470 1957/4812/472 +f 1957/4835/472 1941/6087/471 1942/4816/476 +f 1981/4836/491 1965/6088/498 1966/4837/492 +f 1983/4839/494 1982/4838/493 1966/4837/492 +f 1983/4839/494 1967/4840/495 1968/4841/496 +f 1984/4842/497 1968/4841/496 1965/4843/498 +f 1962/4845/499 1961/6089/506 1969/4846/500 +f 1962/4845/499 1970/4847/501 1971/4848/502 +f 1963/4849/503 1971/4848/502 1972/4850/504 +f 1961/4852/506 1964/4851/505 1972/4850/504 +f 1969/4846/500 1973/6090/510 1974/4854/507 +f 1970/4847/501 1974/4854/507 1975/4855/508 +f 1971/4848/502 1975/4855/508 1976/4856/509 +f 1969/4853/500 1972/4850/504 1976/4856/509 +f 1974/4854/507 1973/6090/510 1977/4858/511 +f 1974/4854/507 1978/4859/512 1979/4860/513 +f 1976/4856/509 1975/4855/508 1979/4860/513 +f 1973/4857/510 1976/4856/509 1980/4861/514 +f 1978/4859/512 1977/4858/511 1981/4836/491 +f 1978/4859/512 1982/4838/493 1983/4839/494 +f 1979/4860/513 1983/4839/494 1984/4842/497 +f 1977/4862/511 1980/4861/514 1984/4842/497 +f 1986/4863/515 1985/6091/521 2005/4864/516 +f 2007/4866/518 1987/6092/829 1986/4863/515 +f 1988/4867/519 1987/6092/829 2007/4866/518 +f 1985/4869/521 1988/4867/519 2008/4868/520 +f 1994/4871/522 1993/4880/530 1989/4872/523 +f 1995/4874/525 1994/4871/522 1990/4873/524 +f 1996/4876/527 1995/4874/525 1991/4875/526 +f 1989/4878/523 1993/4883/530 1996/4876/527 +f 1994/4871/522 1998/4885/534 1997/4879/529 +f 1999/4881/531 1998/4885/534 1994/4871/522 +f 2000/4882/532 1999/4881/531 1995/4874/525 +f 1993/4883/530 1997/4888/529 2000/4882/532 +f 2002/4884/533 2001/4889/536 1997/4879/529 +f 1999/4881/531 2003/4890/537 2002/4884/533 +f 2004/4886/535 2003/4890/537 1999/4881/531 +f 2001/4887/536 2004/4886/535 2000/4882/532 +f 2006/4865/517 2005/4864/516 2001/4889/536 +f 2003/4890/537 2007/4866/518 2006/4865/517 +f 2004/4886/535 2008/4868/520 2007/4866/518 +f 2005/4870/516 2008/4868/520 2004/4886/535 +f 2021/2938/279 2009/6093/279 2010/4891/278 +f 2028/2945/283 2016/6094/283 2017/4892/3 +f 2025/2942/282 2013/6095/282 2014/4893/2 +f 2022/1552/278 2010/6096/278 2011/4894/6 +f 2029/2946/3 2017/6097/3 2018/4895/281 +f 2026/1564/2 2014/6098/2 2015/4896/284 +f 2023/1555/6 2011/6099/6 2012/4897/285 +f 2030/2947/281 2018/6100/281 2020/4898/280 +f 2032/2937/1 2019/6101/1 2009/4899/279 +f 2027/2944/284 2015/6102/284 2016/4900/283 +f 2024/1558/285 2012/6103/285 2013/4901/282 +f 2056/4902/248 2055/4914/247 2043/2936/246 +f 2056/4902/248 2044/1545/91 2033/1547/249 +f 2045/4903/250 2033/1548/249 2034/1550/252 +f 2047/4905/253 2046/4904/251 2034/2939/252 +f 2047/4906/253 2035/2940/12 2036/1554/538 +f 2049/4908/256 2048/4907/254 2036/2941/538 +f 2049/4908/256 2037/1560/255 2038/1562/69 +f 2051/4910/243 2050/4909/257 2038/2943/69 +f 2051/4910/243 2039/1566/241 2040/1568/539 +f 2053/4912/244 2052/4911/242 2040/1569/539 +f 2054/4913/245 2053/4912/244 2041/1572/14 +f 2055/4914/247 2054/4913/245 2042/1575/540 +f 2070/4915/268 2046/4904/251 2047/4905/253 +f 2077/4917/259 2053/4912/244 2054/4913/245 +f 2074/4919/262 2050/4909/257 2051/4910/243 +f 2071/4921/269 2047/4906/253 2048/4907/254 +f 2078/4918/265 2054/4913/245 2055/4914/247 +f 2080/4924/258 2056/4902/248 2045/4903/250 +f 2075/4920/261 2051/4910/243 2052/4911/242 +f 2072/4922/260 2048/4907/254 2049/4908/256 +f 2079/4923/264 2055/4914/247 2056/4902/248 +f 2069/4925/263 2045/4903/250 2046/4904/251 +f 2076/4926/267 2052/4911/242 2053/4912/244 +f 2073/4927/266 2049/4908/256 2050/4909/257 +f 2068/4928/100 2067/5406/273 2079/4923/264 +f 2069/4925/263 2057/5397/275 2068/4929/100 +f 2070/4915/268 2058/5405/274 2057/4930/275 +f 2059/4931/17 2058/5402/274 2070/4915/268 +f 2060/4932/276 2059/5399/17 2071/4921/269 +f 2061/4933/277 2060/5407/276 2072/4922/260 +f 2074/4919/262 2062/5403/60 2061/4934/277 +f 2063/4935/270 2062/5400/60 2074/4919/262 +f 2064/4936/271 2063/5408/270 2075/4920/261 +f 2065/4937/16 2064/5404/271 2076/4926/267 +f 2066/4938/272 2065/5401/16 2077/4917/259 +f 2067/4939/273 2066/5398/272 2078/4918/265 +f 2085/4940/175 2081/4944/168 2084/4941/166 +f 2085/4940/175 2086/4945/176 2082/4943/170 +f 2086/4945/176 2087/4948/173 2083/4946/172 +f 2088/4947/174 2084/4967/166 2083/4946/172 +f 2089/4949/178 2085/4940/175 2088/4942/174 +f 2090/4951/179 2086/4945/176 2085/4940/175 +f 2090/4951/179 2091/4953/180 2087/4948/173 +f 2092/4952/177 2088/4947/174 2087/4948/173 +f 2096/4954/159 2093/4956/160 2089/4949/178 +f 2094/4955/163 2090/4951/179 2089/4949/178 +f 2095/4957/157 2091/4953/180 2090/4951/179 +f 2095/4957/157 2096/6104/159 2092/4952/177 +f 2100/4958/158 2097/4960/161 2093/4956/160 +f 2098/4959/162 2094/4955/163 2093/4956/160 +f 2099/4961/164 2095/4957/157 2094/4955/163 +f 2100/4962/158 2096/6104/159 2095/4957/157 +f 2081/4944/168 2101/4964/169 2104/4963/167 +f 2082/4943/170 2102/4966/171 2101/4964/169 +f 2082/4943/170 2083/4946/172 2103/4965/165 +f 2084/4967/166 2104/6105/167 2103/4965/165 +f 2112/4968/541 2108/4992/544 2105/4969/542 +f 2109/4970/127 2105/4969/542 2106/4971/543 +f 2106/4971/543 2107/4995/556 2111/4973/128 +f 2111/4973/128 2107/4995/556 2108/4974/544 +f 2116/4976/129 2112/4968/541 2109/4970/127 +f 2113/4977/131 2109/4970/127 2110/4972/130 +f 2110/4972/130 2111/4973/128 2115/4979/132 +f 2115/4979/132 2111/4973/128 2112/4975/541 +f 2120/4981/545 2116/4976/129 2113/4977/131 +f 2113/4977/131 2114/4978/133 2118/4983/547 +f 2114/4978/133 2115/4979/132 2119/4984/548 +f 2115/4979/132 2116/4980/129 2120/4985/545 +f 2128/4986/549 2120/4981/545 2117/4982/546 +f 2117/4982/546 2118/4983/547 2126/4988/551 +f 2118/4983/547 2119/4984/548 2127/4989/552 +f 2127/4989/552 2119/4984/548 2120/4985/545 +f 2124/4991/553 2121/4993/554 2105/4969/542 +f 2121/4993/554 2122/6106/851 2106/4971/543 +f 2106/4971/543 2122/6106/851 2123/4994/555 +f 2123/4994/555 2124/6107/553 2108/4974/544 +f 2147/4996/557 2148/6108/572 2132/4997/558 +f 2132/4999/558 2129/5002/560 2133/5000/150 +f 2129/5002/560 2130/5019/569 2134/5003/151 +f 2134/5003/151 2130/5019/569 2131/4998/559 +f 2135/5004/153 2131/4998/559 2132/4997/558 +f 2136/5001/148 2133/5000/150 2137/5006/154 +f 2137/5006/154 2133/5000/150 2134/5003/151 +f 2138/5008/155 2134/5003/151 2135/5004/153 +f 2135/5004/153 2136/5005/148 2140/5010/156 +f 2140/5007/156 2137/5006/154 2141/5011/562 +f 2141/5011/562 2137/5006/154 2138/5008/155 +f 2142/5013/564 2138/5008/155 2139/5009/561 +f 2139/5009/561 2140/5010/156 2144/5015/563 +f 2152/5016/566 2144/5012/563 2141/5011/562 +f 2145/5018/568 2146/6109/852 2130/5019/569 +f 2151/5020/570 2143/5014/565 2144/5015/563 +f 2130/5019/569 2146/6109/852 2147/4996/557 +f 2141/5011/562 2142/5013/564 2150/5022/571 +f 2148/5023/572 2145/5018/568 2129/5002/560 +f 2142/5013/564 2143/5014/565 2151/5020/570 +f 2154/5024/573 2166/6110/593 2167/5025/574 +f 2167/5027/574 2168/5082/577 2156/5028/576 +f 2168/5029/577 2169/5084/579 2157/5030/578 +f 2169/5031/579 2170/5088/581 2158/5032/580 +f 2170/5033/581 2171/5081/583 2159/5034/582 +f 2171/5035/583 2172/5083/839 2160/5036/584 +f 2160/5036/584 2172/5087/839 2173/5037/585 +f 2173/5039/585 2174/5080/838 2162/5040/587 +f 2162/5041/587 2174/6111/838 2175/5042/588 +f 2175/5044/588 2176/5085/837 2164/5045/590 +f 2164/5045/590 2176/5079/837 2165/5046/591 +f 2153/5047/592 2165/5086/591 2166/5048/593 +f 2159/5034/582 2160/5036/584 2184/5049/594 +f 2157/5030/578 2181/5055/600 2180/5051/596 +f 2164/5045/590 2188/5056/601 2187/5052/597 +f 2154/5024/573 2178/5058/603 2177/5053/598 +f 2161/5038/586 2185/5059/604 2184/5049/594 +f 2157/5030/578 2158/5032/580 2182/5054/599 +f 2164/5045/590 2153/5047/592 2177/5053/598 +f 2154/5024/573 2155/5026/575 2179/5057/602 +f 2162/5040/587 2186/5061/605 2185/5059/604 +f 2158/5032/580 2159/5034/582 2183/5050/595 +f 2156/5028/576 2180/5051/596 2179/5057/602 +f 2163/5043/589 2187/5052/597 2186/5060/605 +f 2178/5058/603 2179/5057/602 2191/2948/606 +f 2179/5057/602 2180/5051/596 2192/1581/608 +f 2180/5051/596 2181/5055/600 2193/1584/609 +f 2182/5054/599 2194/1587/611 2193/1589/609 +f 2182/5054/599 2183/5050/595 2195/2952/610 +f 2184/5049/594 2196/1593/613 2195/1595/610 +f 2184/5049/594 2185/5059/604 2197/2954/612 +f 2186/5061/605 2198/2955/614 2197/1599/612 +f 2187/5052/597 2199/2956/615 2198/1602/614 +f 2188/5056/601 2200/2957/616 2199/1605/615 +f 2177/5053/598 2189/1608/617 2200/1610/616 +f 2177/5053/598 2178/5058/603 2190/2959/607 +f 2208/1598/618 2209/1597/619 2221/5062/619 +f 2206/2951/620 2218/6112/620 2217/5064/621 +f 2201/2958/622 2214/6113/622 2224/5065/623 +f 2202/1580/624 2203/1579/625 2215/5066/625 +f 2210/1600/289 2222/6114/289 2221/5068/619 +f 2206/1592/620 2207/1591/626 2219/5069/626 +f 2204/2949/287 2216/6115/287 2215/5071/625 +f 2210/1604/289 2211/1603/627 2223/5072/627 +f 2207/1594/626 2208/2953/618 2220/5074/618 +f 2205/2950/621 2217/6116/621 2216/5076/287 +f 2212/1606/623 2224/6117/623 2223/5077/627 +f 2202/1612/624 2213/6118/624 2214/5078/622 +f 2176/5079/623 2236/2970/623 2225/1620/622 +f 2167/5025/625 2166/6110/624 2226/1623/624 +f 2173/5039/619 2233/2972/619 2234/1626/289 +f 2170/5033/620 2230/2973/620 2231/1629/626 +f 2167/5027/625 2227/1632/625 2228/1634/287 +f 2175/5042/627 2174/6111/289 2234/1635/289 +f 2172/5083/618 2171/5035/626 2231/2976/626 +f 2168/5029/287 2228/1641/287 2229/1643/621 +f 2175/5044/627 2235/2978/627 2236/1644/623 +f 2165/5086/622 2225/1647/622 2226/1649/624 +f 2172/5087/618 2232/1650/618 2233/1652/619 +f 2169/5031/621 2229/2969/621 2230/1617/620 +f 2242/5089/620 2254/1669/620 2255/1656/626 +f 2239/5091/625 2251/1674/625 2252/1679/287 +f 2247/5093/627 2246/6119/289 2258/1653/289 +f 2243/5090/626 2255/1656/626 2256/1658/618 +f 2241/5095/621 2240/5092/287 2252/1679/287 +f 2247/5093/627 2259/1655/627 2260/1663/623 +f 2237/5097/622 2249/1664/622 2250/1666/624 +f 2244/5094/618 2256/1658/618 2257/1668/619 +f 2242/5089/620 2241/5095/621 2253/1659/621 +f 2248/5096/623 2260/1663/623 2249/1664/622 +f 2239/5091/625 2238/5098/624 2250/1666/624 +f 2245/5099/619 2257/1668/619 2258/1675/289 +f 2266/2988/620 2278/6120/620 2279/5101/626 +f 2264/1681/287 2263/1680/625 2275/5102/625 +f 2271/1654/627 2270/2981/289 2282/5104/289 +f 2267/2982/626 2279/6121/626 2280/5106/618 +f 2264/1660/287 2276/6122/287 2277/5107/621 +f 2272/1662/623 2271/2983/627 2283/5108/627 +f 2262/2984/622 2274/6123/622 2273/5110/624 +f 2268/2985/618 2280/6124/618 2281/5111/619 +f 2265/1670/621 2277/6125/621 2278/5112/620 +f 2262/1672/622 2272/2986/623 2284/5113/623 +f 2261/2987/624 2273/6126/624 2275/5115/625 +f 2269/1676/619 2281/6127/619 2282/5116/289 +f 2298/5117/628 2299/5171/631 2287/5118/629 +f 2299/5120/631 2300/5174/841 2288/5121/632 +f 2288/5121/632 2300/5176/841 2301/5122/633 +f 2289/5123/634 2301/6128/633 2302/5124/635 +f 2302/5126/635 2303/5173/844 2291/5127/637 +f 2291/5127/637 2303/6129/844 2304/5128/638 +f 2304/5130/638 2305/5179/641 2293/5131/640 +f 2305/5132/641 2306/5172/643 2294/5133/642 +f 2306/5134/643 2307/5175/645 2295/5135/644 +f 2307/5137/645 2308/5177/843 2296/5138/646 +f 2296/5138/646 2308/5170/843 2297/5139/647 +f 2297/5141/647 2298/5178/628 2286/5119/630 +f 2292/5129/639 2316/5147/654 2315/5142/649 +f 2288/5121/632 2289/5123/634 2313/5143/650 +f 2296/5138/646 2320/5148/655 2319/5145/652 +f 2286/5119/630 2310/5150/657 2309/5146/653 +f 2293/5131/640 2317/5151/658 2316/5147/654 +f 2290/5125/636 2314/5152/659 2313/5143/650 +f 2285/5140/648 2309/5146/653 2320/5148/655 +f 2286/5119/630 2287/5118/629 2311/5149/656 +f 2294/5133/642 2318/5154/660 2317/5151/658 +f 2290/5125/636 2291/5127/637 2315/5142/649 +f 2288/5121/632 2312/5144/651 2311/5149/656 +f 2295/5135/644 2319/5145/652 2318/5153/660 +f 2310/5150/657 2311/5149/656 2323/1685/661 +f 2312/5144/651 2324/1688/664 2323/1690/661 +f 2312/5144/651 2313/5143/650 2325/1691/663 +f 2314/5152/659 2326/1694/666 2325/1696/663 +f 2314/5152/659 2315/5142/649 2327/3002/665 +f 2315/5142/649 2316/5147/654 2328/1700/667 +f 2316/5147/654 2317/5151/658 2329/3004/668 +f 2318/5154/660 2330/3005/669 2329/1706/668 +f 2319/5145/652 2331/3006/670 2330/1709/669 +f 2320/5148/655 2332/3007/671 2331/1712/670 +f 2309/5146/653 2321/3008/672 2332/1715/671 +f 2310/5150/657 2322/3009/662 2321/1718/672 +f 2340/1705/673 2341/1704/674 2353/5155/674 +f 2338/3001/675 2350/6130/675 2349/5157/676 +f 2333/1716/677 2346/6131/677 2356/5158/678 +f 2335/2998/679 2347/6132/679 2345/5159/680 +f 2342/1707/289 2354/6133/289 2353/5160/674 +f 2339/1698/681 2351/6134/681 2350/5161/675 +f 2336/2999/287 2348/6135/287 2347/5162/679 +f 2343/1710/682 2355/6136/682 2354/5163/289 +f 2339/1701/681 2340/3003/673 2352/5164/673 +f 2336/1692/287 2337/3000/676 2349/5166/676 +f 2344/1713/678 2356/6137/678 2355/5168/682 +f 2334/1719/680 2345/6138/680 2346/5169/677 +f 2308/5170/678 2368/3020/678 2357/1727/677 +f 2299/5171/679 2298/5117/680 2358/1730/680 +f 2305/5132/674 2365/3022/674 2366/1733/289 +f 2303/5173/681 2302/5126/675 2362/3023/675 +f 2300/5174/287 2299/5120/679 2359/3024/679 +f 2306/5134/289 2366/1742/289 2367/1744/682 +f 2304/5128/673 2303/6129/681 2363/1745/681 +f 2300/5176/287 2360/1748/287 2361/1750/676 +f 2307/5137/682 2367/3028/682 2368/1751/678 +f 2297/5141/677 2357/1754/677 2358/1756/680 +f 2304/5130/673 2364/1757/673 2365/1759/674 +f 2302/5124/675 2301/6128/676 2361/3019/676 +f 2375/5180/681 2374/5189/675 2386/1776/675 +f 2372/5181/287 2371/5191/679 2383/1781/679 +f 2378/5182/289 2390/1760/289 2391/1762/682 +f 2375/5180/681 2387/1763/681 2388/1765/673 +f 2372/5181/287 2384/1766/287 2385/1768/676 +f 2380/5186/678 2379/5183/682 2391/1762/682 +f 2370/5187/680 2369/5190/677 2381/1771/677 +f 2376/5184/673 2388/1765/673 2389/1775/674 +f 2374/5189/675 2373/5185/676 2385/1768/676 +f 2380/5186/678 2392/1770/678 2381/1771/677 +f 2371/5191/679 2370/5187/680 2382/1773/680 +f 2378/5192/289 2377/5188/674 2389/1775/674 +f 2399/1786/681 2398/1785/675 2410/5193/675 +f 2395/1787/679 2407/6139/679 2408/5195/287 +f 2402/3031/289 2414/6140/289 2415/5196/682 +f 2400/1764/673 2399/3032/681 2411/5197/681 +f 2396/3033/287 2408/6141/287 2409/5199/676 +f 2403/3034/682 2415/6142/682 2416/5200/678 +f 2394/3035/677 2406/6143/677 2405/5201/680 +f 2400/3036/673 2412/6144/673 2413/5202/674 +f 2397/1777/676 2409/6145/676 2410/5203/675 +f 2394/1779/677 2404/3037/678 2416/5204/678 +f 2393/3038/680 2405/6146/680 2407/5206/679 +f 2401/1783/674 2413/6147/674 2414/5207/289 +f 2418/5208/683 2430/5265/705 2431/5209/684 +f 2431/5211/684 2432/5268/687 2420/5212/686 +f 2432/5213/687 2433/5271/689 2421/5214/688 +f 2433/5215/689 2434/5273/691 2422/5216/690 +f 2434/5217/691 2435/5267/693 2423/5218/692 +f 2435/5219/693 2436/5270/695 2424/5220/694 +f 2436/5221/695 2437/5272/697 2425/5222/696 +f 2437/5223/697 2438/5266/831 2426/5224/698 +f 2426/5225/698 2438/5269/831 2439/5226/699 +f 2427/5227/700 2439/6148/699 2440/5228/701 +f 2428/5229/702 2440/5264/701 2429/5230/703 +f 2417/5231/704 2429/6149/703 2430/5232/705 +f 2424/5220/694 2448/5238/711 2447/5233/706 +f 2421/5214/688 2445/5239/712 2444/5234/707 +f 2428/5229/702 2452/5240/713 2451/5235/708 +f 2418/5208/683 2442/5241/714 2441/5236/709 +f 2424/5220/694 2425/5222/696 2449/5237/710 +f 2422/5216/690 2446/5242/715 2445/5239/712 +f 2428/5229/702 2417/5231/704 2441/5236/709 +f 2419/5210/685 2443/5243/716 2442/5241/714 +f 2426/5224/698 2450/6150/717 2449/5237/710 +f 2422/5216/690 2423/5218/692 2447/5233/706 +f 2419/5210/685 2420/5212/686 2444/5234/707 +f 2427/5227/700 2451/5235/708 2450/5244/717 +f 2442/5241/714 2443/5243/716 2455/1792/718 +f 2444/5234/707 2456/1795/721 2455/1797/718 +f 2444/5234/707 2445/5239/712 2457/1798/720 +f 2446/5242/715 2458/1801/723 2457/1803/720 +f 2446/5242/715 2447/5233/706 2459/1804/722 +f 2448/5238/711 2460/1807/724 2459/1809/722 +f 2449/5237/710 2461/3054/726 2460/1810/724 +f 2449/5237/710 2450/6150/717 2462/3055/725 +f 2451/5235/708 2463/3056/727 2462/1816/725 +f 2452/5240/713 2464/1819/728 2463/1821/727 +f 2441/5236/709 2453/3058/729 2464/1822/728 +f 2441/5236/709 2442/5241/714 2454/3059/719 +f 2472/1812/730 2473/1811/731 2485/5245/731 +f 2470/3051/732 2482/6151/732 2481/5247/733 +f 2465/1823/734 2478/6152/734 2488/5248/735 +f 2466/1793/736 2467/3048/737 2479/5249/737 +f 2474/1814/291 2486/6153/291 2485/5251/731 +f 2470/1805/732 2471/3052/738 2483/5252/738 +f 2468/3049/293 2480/6154/293 2479/5254/737 +f 2474/1818/291 2475/1817/739 2487/5255/739 +f 2471/1808/738 2472/3053/730 2484/5257/730 +f 2469/3050/733 2481/6155/733 2480/5259/293 +f 2475/1820/739 2476/3057/735 2488/5260/735 +f 2465/1827/734 2466/1826/736 2477/5262/736 +f 2440/5264/735 2500/1834/735 2489/1836/734 +f 2430/5265/736 2490/3071/736 2491/1837/737 +f 2438/5266/291 2437/5223/731 2497/3072/731 +f 2434/5217/732 2494/1843/732 2495/1845/738 +f 2432/5268/293 2431/5211/737 2491/3074/737 +f 2438/5269/291 2498/1849/291 2499/1851/739 +f 2436/5270/730 2435/5219/738 2495/3076/738 +f 2433/5271/733 2432/5213/293 2492/3077/293 +f 2440/5228/735 2439/6148/739 2499/3078/739 +f 2430/5232/736 2429/6149/734 2489/3079/734 +f 2436/5221/730 2496/3080/730 2497/1864/731 +f 2434/5273/732 2433/5215/733 2493/1831/733 +f 2506/5274/732 2518/1884/732 2519/1870/738 +f 2503/5276/737 2515/1890/737 2516/1896/293 +f 2510/5278/291 2522/3081/291 2523/1867/739 +f 2507/5275/738 2519/1870/738 2520/1872/730 +f 2505/5281/733 2504/5277/293 2516/1896/293 +f 2512/5282/735 2511/5279/739 2523/1867/739 +f 2502/5283/736 2501/5285/734 2513/1888/734 +f 2509/5284/731 2508/5280/730 2520/1872/730 +f 2505/5281/733 2517/1873/733 2518/1884/732 +f 2512/5282/735 2524/1876/735 2513/1888/734 +f 2503/5276/737 2502/5283/736 2514/1879/736 +f 2509/5284/731 2521/1883/731 2522/1891/291 +f 2530/3086/732 2542/6156/732 2543/5287/738 +f 2527/3087/737 2539/6157/737 2540/5288/293 +f 2534/1868/291 2546/6158/291 2547/5289/739 +f 2531/3082/738 2543/6159/738 2544/5290/730 +f 2528/1874/293 2540/6160/293 2541/5291/733 +f 2535/1877/739 2547/6161/739 2548/5292/735 +f 2526/1880/734 2538/6162/734 2537/5293/736 +f 2532/3083/730 2544/6163/730 2545/5294/731 +f 2530/1886/732 2529/1885/733 2541/5295/733 +f 2526/1887/734 2536/3084/735 2548/5297/735 +f 2525/3085/736 2537/6164/736 2539/5299/737 +f 2534/1893/291 2533/1892/731 2545/5300/731 +f 2562/5302/740 2563/5356/743 2551/5303/741 +f 2563/5305/743 2564/5359/833 2552/5306/744 +f 2552/5306/744 2564/5362/833 2565/5307/745 +f 2553/5308/746 2565/6165/745 2566/5309/747 +f 2566/5311/747 2567/5358/836 2555/5312/749 +f 2555/5312/749 2567/5361/836 2568/5313/750 +f 2568/5315/750 2569/5365/753 2557/5316/752 +f 2569/5317/753 2570/5357/755 2558/5318/754 +f 2570/5319/755 2571/5360/757 2559/5320/756 +f 2571/5322/757 2572/5363/834 2560/5323/758 +f 2560/5323/758 2572/6166/834 2561/5324/759 +f 2561/5326/759 2562/5364/740 2550/5304/742 +f 2556/5314/751 2580/5331/765 2579/5327/761 +f 2553/5308/746 2577/5332/766 2576/5328/762 +f 2560/5323/758 2584/5333/767 2583/5329/763 +f 2550/5304/742 2574/5335/769 2573/5330/764 +f 2557/5316/752 2581/5336/770 2580/5331/765 +f 2554/5310/748 2578/5337/771 2577/5332/766 +f 2560/5323/758 2549/5325/760 2573/5330/764 +f 2550/5304/742 2551/5303/741 2575/5334/768 +f 2558/5318/754 2582/6167/772 2581/5336/770 +f 2554/5310/748 2555/5312/749 2579/5327/761 +f 2552/5306/744 2576/5328/762 2575/5334/768 +f 2559/5320/756 2583/5329/763 2582/5338/772 +f 2575/5334/768 2587/3097/775 2586/1900/773 +f 2575/5334/768 2576/5328/762 2588/1903/774 +f 2576/5328/762 2577/5332/766 2589/1906/776 +f 2577/5332/766 2578/5337/771 2590/1909/777 +f 2579/5327/761 2591/3101/778 2590/1912/777 +f 2580/5331/765 2592/1915/779 2591/1917/778 +f 2581/5336/770 2593/3103/781 2592/1918/779 +f 2581/5336/770 2582/6167/772 2594/3104/780 +f 2582/5338/772 2583/5329/763 2595/1924/782 +f 2584/5333/767 2596/1927/783 2595/1929/782 +f 2573/5330/764 2585/1930/784 2596/1932/783 +f 2573/5330/764 2574/5335/769 2586/3108/773 +f 2604/1920/785 2605/1919/786 2617/5339/786 +f 2602/3100/787 2614/6168/787 2613/5341/788 +f 2597/3107/789 2610/6169/789 2620/5342/790 +f 2599/1901/791 2611/6170/791 2609/5343/792 +f 2606/1922/291 2618/6171/291 2617/5344/786 +f 2602/1914/787 2603/1913/793 2615/5345/793 +f 2599/1904/791 2600/3098/293 2612/5347/293 +f 2606/1925/291 2607/3105/794 2619/5349/794 +f 2604/3102/785 2616/6172/785 2615/5351/793 +f 2601/3099/788 2613/6173/788 2612/5352/293 +f 2608/3106/790 2620/6174/790 2619/5353/794 +f 2597/1935/789 2598/1934/792 2609/5354/792 +f 2561/5324/789 2572/6166/790 2632/3119/790 +f 2562/5302/792 2622/3120/792 2623/1945/791 +f 2569/5317/786 2629/3121/786 2630/1948/291 +f 2567/5358/793 2566/5311/787 2626/3122/787 +f 2564/5359/293 2563/5305/791 2623/1954/791 +f 2571/5360/794 2570/5319/291 2630/1957/291 +f 2567/5361/793 2627/1960/793 2628/1962/785 +f 2564/5362/293 2624/1963/293 2625/1965/788 +f 2572/5363/790 2571/5322/794 2631/3127/794 +f 2561/5326/789 2621/1969/789 2622/1971/792 +f 2568/5315/785 2628/1972/785 2629/1974/786 +f 2566/5309/787 2565/6165/788 2625/3118/788 +f 2638/5366/787 2650/1992/787 2651/1978/793 +f 2635/5368/791 2647/1998/791 2648/1981/293 +f 2642/5370/291 2654/1975/291 2655/1977/794 +f 2639/5367/793 2651/1978/793 2652/1980/785 +f 2636/5369/293 2648/1981/293 2649/1983/788 +f 2644/5374/790 2643/5371/794 2655/1977/794 +f 2633/5375/789 2645/1996/789 2646/1987/792 +f 2640/5372/785 2652/1980/785 2653/1991/786 +f 2638/5366/787 2637/5373/788 2649/1983/788 +f 2633/5375/789 2644/5374/790 2656/1984/790 +f 2634/5376/792 2646/1987/792 2647/1998/791 +f 2642/5378/291 2641/5377/786 2653/1991/786 +f 2662/2002/787 2674/6175/787 2675/5379/793 +f 2660/2004/293 2659/3136/791 2671/5380/791 +f 2666/3130/291 2678/6176/291 2679/5382/794 +f 2663/3131/793 2675/6177/793 2676/5383/785 +f 2660/3132/293 2672/6178/293 2673/5384/788 +f 2667/1985/794 2679/6179/794 2680/5385/790 +f 2657/1989/792 2658/1988/789 2670/5386/789 +f 2664/3133/785 2676/6180/785 2677/5388/786 +f 2662/1994/787 2661/1993/788 2673/5389/788 +f 2658/1995/789 2668/3134/790 2680/5391/790 +f 2657/3135/792 2669/6181/792 2671/5393/791 +f 2666/2001/291 2665/2000/786 2677/5394/786 +f 2031/1543/280 2020/6182/280 2019/5396/1 +f 2057/5397/279 2692/2011/279 2681/2013/1 +f 2066/5398/281 2067/4939/280 2682/2014/280 +f 2060/4932/285 2689/3149/285 2690/2017/6 +f 2062/5400/2 2063/4935/284 2686/2020/284 +f 2066/4938/281 2683/3151/281 2684/2023/3 +f 2059/4931/6 2690/2026/6 2691/2028/278 +f 2062/5403/2 2687/3153/2 2688/2029/282 +f 2065/4937/3 2684/2032/3 2685/2034/283 +f 2058/5405/278 2691/3155/278 2692/2035/279 +f 2068/4928/1 2681/2038/1 2682/2040/280 +f 2061/4933/282 2688/2041/282 2689/2043/285 +f 2064/4936/283 2685/3146/283 2686/2008/284 +f 2698/5409/284 2710/2061/284 2711/2071/2 +f 2695/5411/281 2707/2066/281 2708/2050/3 +f 2702/5413/6 2714/2044/6 2715/2046/278 +f 2699/5410/2 2711/2071/2 2712/2047/282 +f 2696/5412/3 2708/2050/3 2709/2052/283 +f 2703/5414/278 2715/2046/278 2716/2053/279 +f 2693/5418/1 2705/2056/1 2706/2058/280 +f 2700/5415/282 2712/2047/282 2713/2060/285 +f 2697/5416/283 2709/2052/283 2710/2061/284 +f 2704/5417/279 2716/2053/279 2705/2056/1 +f 2694/5419/280 2706/2058/280 2707/2066/281 +f 2701/5420/285 2713/2060/285 2714/2067/6 +f 2722/3164/284 2734/6183/284 2735/5422/2 +f 2719/2072/281 2731/6184/281 2732/5423/3 +f 2726/3158/6 2738/6185/6 2739/5424/278 +f 2723/2048/2 2735/6186/2 2736/5425/282 +f 2720/3159/3 2732/6187/3 2733/5426/283 +f 2727/2054/278 2739/6188/278 2740/5427/279 +f 2718/3160/1 2730/6189/1 2729/5428/280 +f 2724/3161/282 2736/6190/282 2737/5429/285 +f 2721/2062/283 2733/6191/283 2734/5430/284 +f 2718/2064/1 2728/3162/279 2740/5431/279 +f 2717/3163/280 2729/6192/280 2731/5433/281 +f 2725/2068/285 2737/6193/285 2738/5434/6 +f 2752/5435/292 2764/2080/292 2753/2082/5 +f 2742/5437/290 2754/2083/290 2755/2085/293 +f 2749/5439/291 2761/2105/291 2762/2086/6 +f 2746/5441/288 2758/2079/288 2759/2089/4 +f 2743/5438/293 2755/2085/293 2756/2092/3 +f 2750/5444/6 2762/2095/6 2763/2097/289 +f 2747/5442/4 2759/2089/4 2760/2099/286 +f 2744/5443/3 2756/2092/3 2757/2077/287 +f 2751/5445/289 2763/2097/289 2764/2080/292 +f 2742/5437/290 2741/5436/5 2753/2082/5 +f 2749/5439/291 2748/5446/286 2760/2099/286 +f 2746/5441/288 2745/5447/287 2757/2077/287 +f 2770/5448/288 2782/2127/288 2783/2111/4 +f 2767/5450/293 2779/2131/293 2780/2114/3 +f 2774/5452/6 2786/2108/6 2787/2110/289 +f 2771/5449/4 2783/2111/4 2784/2113/286 +f 2768/5451/3 2780/2114/3 2781/2116/287 +f 2775/5453/289 2787/2110/289 2788/2117/292 +f 2765/5457/5 2777/2129/5 2778/2120/290 +f 2773/5459/291 2772/5454/286 2784/2113/286 +f 2769/5455/287 2781/2116/287 2782/2127/288 +f 2765/5457/5 2776/5456/292 2788/2117/292 +f 2766/5458/290 2778/2120/290 2779/2131/293 +f 2773/5459/291 2785/2123/291 2786/2132/6 +f 2794/2135/288 2806/6194/288 2807/5461/4 +f 2791/2137/293 2803/6195/293 2804/5462/3 +f 2798/3180/6 2810/6196/6 2811/5463/289 +f 2795/3181/4 2807/6197/4 2808/5464/286 +f 2792/3182/3 2804/6198/3 2805/5465/287 +f 2799/2118/289 2811/6199/289 2812/5466/292 +f 2790/2121/5 2802/6200/5 2801/5467/290 +f 2796/2124/286 2808/6201/286 2809/5468/291 +f 2793/3183/287 2805/6202/287 2806/5469/288 +f 2800/3184/292 2812/6203/292 2802/5470/5 +f 2789/3185/290 2801/6204/290 2803/5471/293 +f 2797/2133/291 2809/6205/291 2810/5472/6 +f 2814/5473/795 2822/5485/807 2823/5474/796 +f 2836/5476/798 2820/5486/808 2817/5477/799 +f 2815/5475/797 2823/5474/796 2824/5479/801 +f 2835/5481/803 2834/5500/811 2818/5482/804 +f 2813/5484/806 2821/5489/809 2822/5485/807 +f 2835/5481/803 2819/5483/805 2820/5486/808 +f 2813/5487/806 2816/5480/802 2824/5479/801 +f 2821/5489/809 2825/5494/512 2826/5490/810 +f 2823/5474/796 2822/5485/807 2826/5490/810 +f 2824/5479/801 2823/5474/796 2827/5491/514 +f 2824/5479/801 2828/5492/513 2825/5493/512 +f 2825/5494/512 2829/5499/507 2830/5495/510 +f 2827/5491/514 2826/5490/810 2830/5495/510 +f 2828/5492/513 2827/5491/514 2831/5496/509 +f 2828/5492/513 2832/5497/508 2829/5498/507 +f 2829/5499/507 2833/5501/800 2834/5500/811 +f 2831/5496/509 2830/5495/510 2834/5500/811 +f 2831/5496/509 2835/5481/803 2836/5476/798 +f 2832/5497/508 2836/5476/798 2833/5478/800 +f 2833/5501/800 2817/6206/799 2818/5482/804 +f 2857/5502/812 2841/6207/819 2842/5503/813 +f 2859/5505/815 2858/5504/814 2842/5503/813 +f 2859/5505/815 2843/5506/816 2844/5507/817 +f 2860/5508/818 2844/5507/817 2841/5509/819 +f 2838/5511/820 2837/6208/827 2845/5512/821 +f 2838/5511/820 2846/5513/822 2847/5514/823 +f 2839/5515/824 2847/5514/823 2848/5516/825 +f 2837/5518/827 2840/5517/826 2848/5516/825 +f 2845/5512/821 2849/6209/486 2850/5520/489 +f 2846/5513/822 2850/5520/489 2851/5521/488 +f 2847/5514/823 2851/5521/488 2852/5522/487 +f 2845/5519/821 2848/5516/825 2852/5522/487 +f 2850/5520/489 2849/6209/486 2853/5524/828 +f 2850/5520/489 2854/5525/485 2855/5526/484 +f 2852/5522/487 2851/5521/488 2855/5526/484 +f 2849/5523/486 2852/5522/487 2856/5527/483 +f 2854/5525/485 2853/5524/828 2857/5502/812 +f 2854/5525/485 2858/5504/814 2859/5505/815 +f 2855/5526/484 2859/5505/815 2860/5508/818 +f 2853/5528/828 2856/5527/483 2860/5508/818 +f 2862/5529/523 2861/6210/524 2881/5530/522 +f 2883/5532/527 2863/6211/528 2862/5529/523 +f 2864/5533/526 2863/6211/528 2883/5532/527 +f 2861/5535/524 2864/5533/526 2884/5534/525 +f 2870/5537/516 2869/5546/517 2865/5538/515 +f 2871/5540/520 2870/5537/516 2866/5539/521 +f 2872/5542/518 2871/5540/520 2867/5541/519 +f 2865/5544/515 2869/5549/517 2872/5542/518 +f 2870/5537/516 2874/5551/536 2873/5545/533 +f 2875/5547/535 2874/5551/536 2870/5537/516 +f 2876/5548/537 2875/5547/535 2871/5540/520 +f 2869/5549/517 2873/5554/533 2876/5548/537 +f 2878/5550/529 2877/5555/534 2873/5545/533 +f 2875/5547/535 2879/5556/532 2878/5550/529 +f 2880/5552/531 2879/5556/532 2875/5547/535 +f 2877/5553/534 2880/5552/531 2876/5548/537 +f 2882/5531/530 2881/5530/522 2877/5555/534 +f 2879/5556/532 2883/5532/527 2882/5531/530 +f 2884/5534/525 2883/5532/527 2879/5556/532 +f 2881/5536/522 2884/5534/525 2880/5552/531 +f 2898/5557/723 2899/5613/720 2887/5558/712 +f 2899/5560/720 2900/5616/721 2888/5561/707 +f 2888/5561/707 2900/6212/721 2901/5562/830 +f 2889/5563/716 2901/5621/830 2902/5564/719 +f 2902/5566/719 2903/5615/729 2891/5567/709 +f 2903/5568/729 2904/5617/728 2892/5569/713 +f 2892/5569/713 2904/5620/728 2905/5570/727 +f 2905/5572/727 2906/5614/725 2894/5573/717 +f 2894/5574/717 2906/6213/725 2907/5575/726 +f 2907/5577/726 2908/5618/724 2896/5578/711 +f 2896/5578/711 2908/5612/724 2897/5579/722 +f 2885/5580/706 2897/5619/722 2898/5581/723 +f 2892/5569/713 2916/5589/702 2915/5582/704 +f 2888/5561/707 2889/5563/716 2913/5583/685 +f 2895/5576/710 2896/5578/711 2920/5585/694 +f 2885/5580/706 2886/5559/715 2910/5587/690 +f 2893/5571/708 2917/5592/700 2916/5589/702 +f 2890/5565/714 2914/5593/683 2913/5583/685 +f 2896/5578/711 2885/5580/706 2909/5588/692 +f 2886/5559/715 2887/5558/712 2911/5590/688 +f 2893/5571/708 2894/5573/717 2918/5591/698 +f 2890/5565/714 2891/5567/709 2915/5582/704 +f 2888/5561/707 2912/5584/686 2911/5590/688 +f 2895/5576/710 2919/5586/696 2918/5594/698 +f 2911/5590/688 2923/3195/689 2922/2142/691 +f 2911/5590/688 2912/5584/686 2924/2145/687 +f 2912/5584/686 2913/5583/685 2925/2148/684 +f 2914/5593/683 2926/2151/705 2925/2153/684 +f 2914/5593/683 2915/5582/704 2927/3199/703 +f 2916/5589/702 2928/2157/701 2927/2159/703 +f 2916/5589/702 2917/5592/700 2929/3201/699 +f 2918/5591/698 2930/3202/831 2929/2163/699 +f 2919/5586/696 2931/2166/697 2930/2168/831 +f 2920/5585/694 2932/2169/695 2931/2171/697 +f 2909/5588/692 2921/3205/693 2932/2172/695 +f 2909/5588/692 2910/5587/690 2922/3206/691 +f 2940/2162/735 2941/2161/739 2953/5595/739 +f 2938/3198/736 2950/6214/736 2949/5597/737 +f 2933/2173/738 2946/6215/738 2956/5598/730 +f 2935/2143/733 2947/6216/733 2945/5599/732 +f 2942/2164/291 2954/6217/291 2953/5600/739 +f 2938/2156/736 2939/2155/734 2951/5601/734 +f 2935/2146/733 2936/3196/293 2948/5603/293 +f 2943/3203/731 2955/6218/731 2954/5605/291 +f 2939/2158/734 2940/3200/735 2952/5606/735 +f 2937/3197/737 2949/6219/737 2948/5608/293 +f 2943/2170/731 2944/3204/730 2956/5609/730 +f 2934/2176/732 2945/6220/732 2946/5611/738 +f 2908/5612/730 2968/2184/730 2957/2186/738 +f 2899/5613/733 2898/5557/732 2958/2187/732 +f 2905/5572/739 2965/3219/739 2966/2190/291 +f 2903/5615/734 2902/5566/736 2962/3220/736 +f 2900/5616/293 2899/5560/733 2959/3221/733 +f 2907/5575/731 2906/6213/291 2966/2199/291 +f 2904/5617/735 2903/5568/734 2963/3223/734 +f 2901/5562/737 2900/6212/293 2960/2205/293 +f 2908/5618/730 2907/5577/731 2967/3225/731 +f 2897/5619/738 2957/2211/738 2958/2213/732 +f 2904/5620/735 2964/3227/735 2965/2214/739 +f 2901/5621/737 2961/3216/737 2962/2181/736 +f 2974/5622/736 2986/2234/736 2987/2242/734 +f 2971/5624/733 2983/2237/733 2984/2244/293 +f 2979/5626/731 2978/6221/291 2990/3228/291 +f 2976/5627/735 2975/5623/734 2987/2242/734 +f 2973/5628/737 2972/5625/293 2984/2244/293 +f 2980/5629/730 2979/5626/731 2991/2217/731 +f 2969/5630/738 2981/2228/738 2982/2230/732 +f 2976/5627/735 2988/2220/735 2989/2232/739 +f 2974/5622/736 2973/5628/737 2985/2223/737 +f 2980/5629/730 2992/2227/730 2981/2228/738 +f 2971/5624/733 2970/5631/732 2982/2230/732 +f 2977/5632/739 2989/2232/739 2990/2238/291 +f 2998/3235/736 3010/6222/736 3011/5634/734 +f 2995/3236/733 3007/6223/733 3008/5635/293 +f 3003/2219/731 3002/2218/291 3014/5636/291 +f 2999/2221/734 3011/6224/734 3012/5638/735 +f 2996/2224/293 3008/6225/293 3009/5639/737 +f 3003/3229/731 3015/6226/731 3016/5640/730 +f 2993/2229/732 2994/3230/738 3006/5641/738 +f 3000/3231/735 3012/6227/735 3013/5643/739 +f 2998/2233/736 2997/3232/737 3009/5644/737 +f 2994/2235/738 3004/3233/730 3016/5646/730 +f 2993/3234/732 3005/6228/732 3007/5648/733 +f 3001/2239/739 3013/6229/739 3014/5649/291 +f 3018/5650/771 3030/5707/777 3031/5651/832 +f 3019/5652/766 3031/6230/832 3032/5653/774 +f 3020/5654/762 3032/5712/774 3033/5655/775 +f 3021/5656/768 3033/5716/775 3034/5657/773 +f 3034/5659/773 3035/5709/784 3023/5660/764 +f 3035/5661/784 3036/5711/783 3024/5662/767 +f 3036/5663/783 3037/5715/782 3025/5664/763 +f 3037/5665/782 3038/5708/780 3026/5666/772 +f 3038/5667/780 3039/5710/781 3027/5668/770 +f 3039/5670/781 3040/5713/779 3028/5671/765 +f 3028/5671/765 3040/5706/779 3029/5672/778 +f 3029/5674/778 3030/5714/777 3018/5650/771 +f 3024/5662/767 3048/5682/758 3047/5675/760 +f 3020/5654/762 3021/5656/768 3045/5676/741 +f 3027/5668/770 3028/5671/765 3052/5678/751 +f 3018/5650/771 3042/5684/748 3041/5680/749 +f 3024/5662/767 3025/5664/763 3049/5681/756 +f 3022/5658/769 3046/5686/742 3045/5676/741 +f 3028/5671/765 3017/5673/761 3041/5680/749 +f 3018/5650/771 3019/5652/766 3043/5683/746 +f 3025/5664/763 3026/5666/772 3050/5685/754 +f 3022/5658/769 3023/5660/764 3047/5675/760 +f 3020/5654/762 3044/5677/744 3043/5683/746 +f 3027/5668/770 3051/5679/752 3050/5687/754 +f 3042/5684/748 3043/5683/746 3055/2248/745 +f 3043/5683/746 3044/5677/744 3056/2251/833 +f 3044/5677/744 3045/5676/741 3057/2254/743 +f 3046/5686/742 3058/2257/740 3057/2259/743 +f 3047/5675/760 3059/3250/759 3058/2260/740 +f 3047/5675/760 3048/5682/758 3060/2263/834 +f 3048/5682/758 3049/5681/756 3061/3252/835 +f 3050/5685/754 3062/3253/755 3061/2269/835 +f 3051/5679/752 3063/3254/753 3062/2272/755 +f 3052/5678/751 3064/2275/750 3063/2277/753 +f 3052/5678/751 3041/5680/749 3053/3256/836 +f 3041/5680/749 3042/5684/748 3054/2281/747 +f 3072/2268/790 3073/2267/794 3085/5688/794 +f 3070/3249/792 3082/6231/792 3081/5690/791 +f 3065/2279/793 3078/6232/793 3088/5691/785 +f 3067/3246/788 3079/6233/788 3077/5692/787 +f 3073/2271/794 3074/2270/291 3086/5693/291 +f 3070/2262/792 3071/2261/789 3083/5695/789 +f 3068/3247/293 3080/6234/293 3079/5697/788 +f 3074/2274/291 3075/2273/786 3087/5698/786 +f 3072/3251/790 3084/6235/790 3083/5700/789 +f 3068/2255/293 3069/3248/791 3081/5701/791 +f 3076/3255/785 3088/6236/785 3087/5703/786 +f 3065/2282/793 3066/3257/787 3077/5704/787 +f 3040/5706/785 3100/3268/785 3089/2290/793 +f 3030/5707/787 3090/2293/787 3091/2295/788 +f 3038/5708/291 3037/5665/794 3097/2296/794 +f 3034/5659/792 3094/3271/792 3095/2299/789 +f 3032/5653/293 3031/6230/788 3091/3272/788 +f 3038/5667/291 3098/2305/291 3099/2307/786 +f 3036/5711/790 3035/5661/789 3095/2308/789 +f 3032/5712/293 3092/2311/293 3093/2313/791 +f 3039/5670/786 3099/3276/786 3100/2314/785 +f 3029/5674/793 3089/2317/793 3090/2319/787 +f 3036/5663/790 3096/2320/790 3097/2322/794 +f 3033/5716/791 3093/2287/791 3094/2289/792 +f 3107/5717/789 3106/5727/792 3118/2340/792 +f 3104/5718/293 3103/5728/788 3115/2343/788 +f 3110/5719/291 3122/3279/291 3123/2323/786 +f 3107/5717/789 3119/2326/789 3120/2328/790 +f 3104/5718/293 3116/2329/293 3117/2331/791 +f 3111/5720/786 3123/2323/786 3124/2333/785 +f 3101/5724/793 3113/2334/793 3114/2336/787 +f 3109/5726/794 3108/5721/790 3120/2328/790 +f 3105/5722/791 3117/2331/791 3118/2340/792 +f 3112/5723/785 3124/2333/785 3113/2334/793 +f 3102/5725/787 3114/2336/787 3115/2343/788 +f 3110/5729/291 3109/5726/794 3121/2338/794 +f 3131/2348/789 3130/2347/792 3142/5730/792 +f 3127/2349/788 3139/6237/788 3140/5732/293 +f 3134/2324/291 3146/6238/291 3147/5733/786 +f 3132/2327/790 3131/3280/789 3143/5734/789 +f 3128/3281/293 3140/6239/293 3141/5736/791 +f 3135/3282/786 3147/6240/786 3148/5737/785 +f 3125/2335/787 3126/3283/793 3138/5738/793 +f 3132/3284/790 3144/6241/790 3145/5740/794 +f 3130/2339/792 3129/3285/791 3141/5741/791 +f 3126/2341/793 3136/3286/785 3148/5743/785 +f 3125/3287/787 3137/6242/787 3139/5745/788 +f 3133/2345/794 3145/6243/794 3146/5746/291 +f 3150/5747/599 3162/6244/611 3163/5748/609 +f 3163/5750/609 3164/5803/608 3152/5751/596 +f 3152/5751/596 3164/6245/608 3165/5752/606 +f 3165/5754/606 3166/5808/607 3154/5755/603 +f 3166/5756/607 3167/5802/617 3155/5757/598 +f 3167/5758/617 3168/5805/616 3156/5759/601 +f 3168/5760/616 3169/5807/615 3157/5761/597 +f 3169/5762/615 3170/5801/614 3158/5763/605 +f 3158/5764/605 3170/5804/614 3171/5765/612 +f 3159/5766/604 3171/6246/612 3172/5767/613 +f 3160/5768/594 3172/6247/613 3161/5769/610 +f 3149/5770/595 3161/5806/610 3162/5771/611 +f 3156/5759/601 3180/5777/590 3179/5772/592 +f 3153/5753/602 3177/5778/575 3176/5773/576 +f 3160/5768/594 3184/5779/584 3183/5774/586 +f 3150/5747/599 3174/5780/580 3173/5775/582 +f 3156/5759/601 3157/5761/597 3181/5776/589 +f 3154/5755/603 3178/5781/573 3177/5778/575 +f 3160/5768/594 3149/5770/595 3173/5775/582 +f 3151/5749/600 3175/5782/578 3174/5780/580 +f 3158/5763/605 3182/6248/587 3181/5776/589 +f 3154/5755/603 3155/5757/598 3179/5772/592 +f 3151/5749/600 3152/5751/596 3176/5773/576 +f 3158/5764/605 3159/5766/604 3183/5774/586 +f 3175/5782/578 3187/2354/579 3186/2356/581 +f 3175/5782/578 3176/5773/576 3188/2357/577 +f 3176/5773/576 3177/5778/575 3189/2360/574 +f 3178/5781/573 3190/2363/593 3189/2365/574 +f 3178/5781/573 3179/5772/592 3191/3301/591 +f 3180/5777/590 3192/2369/837 3191/2371/591 +f 3181/5776/589 3193/2372/588 3192/2374/837 +f 3181/5776/589 3182/6248/587 3194/3304/838 +f 3183/5774/586 3195/3305/585 3194/2378/838 +f 3184/5779/584 3196/2381/839 3195/2383/585 +f 3173/5775/582 3185/2384/583 3196/2386/839 +f 3173/5775/582 3174/5780/580 3186/3308/581 +f 3204/2373/623 3205/3303/627 3217/5784/627 +f 3202/3300/624 3214/6249/624 3213/5786/625 +f 3197/3307/626 3210/6250/626 3220/5787/618 +f 3199/3297/621 3211/6251/621 3209/5788/620 +f 3206/2376/289 3218/6252/289 3217/5789/627 +f 3203/2367/622 3215/6253/622 3214/5790/624 +f 3199/2358/621 3200/3298/287 3212/5791/287 +f 3207/2379/619 3219/6254/619 3218/5793/289 +f 3203/2370/622 3204/3302/623 3216/5794/623 +f 3200/2361/287 3201/3299/625 3213/5796/625 +f 3208/3306/618 3220/6255/618 3219/5798/619 +f 3197/2389/626 3198/2388/620 3209/5799/620 +f 3161/5769/626 3172/6247/618 3232/2396/618 +f 3163/5748/621 3162/6244/620 3222/3320/620 +f 3170/5801/289 3169/5762/627 3229/3321/627 +f 3166/5756/624 3226/2405/624 3227/2407/622 +f 3163/5750/621 3223/2408/621 3224/2410/287 +f 3170/5804/289 3230/2411/289 3231/2413/619 +f 3167/5758/622 3227/3325/622 3228/2414/623 +f 3165/5752/625 3164/6245/287 3224/2417/287 +f 3172/5767/618 3171/6246/619 3231/2420/619 +f 3161/5806/626 3221/2423/626 3222/2425/620 +f 3168/5760/623 3228/3329/623 3229/2426/627 +f 3165/5754/625 3225/2393/625 3226/2395/624 +f 3238/5809/624 3250/2446/624 3251/2432/622 +f 3235/5811/621 3247/2451/621 3248/2457/287 +f 3243/5813/619 3242/6256/289 3254/3330/289 +f 3239/5810/622 3251/2432/622 3252/2434/623 +f 3237/5815/625 3236/5812/287 3248/2457/287 +f 3243/5813/619 3255/2429/619 3256/2439/618 +f 3233/5817/626 3245/2440/626 3246/2442/620 +f 3240/5814/623 3252/2434/623 3253/2443/627 +f 3238/5809/624 3237/5815/625 3249/2435/625 +f 3233/5817/626 3244/5816/618 3256/2439/618 +f 3235/5811/621 3234/5818/620 3246/2442/620 +f 3241/5819/627 3253/2443/627 3254/2452/289 +f 3262/3336/624 3274/6257/624 3275/5821/622 +f 3259/3337/621 3271/6258/621 3272/5822/287 +f 3266/2430/289 3278/6259/289 3279/5823/619 +f 3263/3331/622 3275/6260/622 3276/5824/623 +f 3260/2436/287 3272/6261/287 3273/5825/625 +f 3267/3332/619 3279/6262/619 3280/5826/618 +f 3258/3333/626 3270/6263/626 3269/5827/620 +f 3264/2444/623 3276/6264/623 3277/5828/627 +f 3262/2448/624 3261/2447/625 3273/5829/625 +f 3258/2449/626 3268/3334/618 3280/5831/618 +f 3257/3335/620 3269/6265/620 3271/5833/621 +f 3265/2453/627 3277/6266/627 3278/5834/289 +f 3282/5835/659 3294/5893/666 3295/5836/663 +f 3283/5837/650 3295/6267/663 3296/5838/664 +f 3284/5839/651 3296/5896/664 3297/5840/661 +f 3297/5842/661 3298/5899/662 3286/5843/657 +f 3286/5843/657 3298/6268/662 3299/5844/672 +f 3287/5845/653 3299/6269/672 3300/5846/671 +f 3288/5847/655 3300/5898/671 3301/5848/670 +f 3301/5850/670 3302/5894/669 3290/5851/660 +f 3302/5852/669 3303/5895/840 3291/5853/658 +f 3303/5855/840 3304/5897/667 3292/5856/654 +f 3292/5856/654 3304/5892/667 3293/5857/665 +f 3281/5858/649 3293/6270/665 3294/5859/666 +f 3288/5847/655 3312/5866/646 3311/5860/648 +f 3284/5839/651 3285/5841/656 3309/5861/629 +f 3292/5856/654 3316/5867/639 3315/5863/640 +f 3282/5835/659 3306/5868/636 3305/5864/637 +f 3288/5847/655 3289/5849/652 3313/5865/644 +f 3286/5843/657 3310/5870/630 3309/5861/629 +f 3281/5858/649 3305/5864/637 3316/5867/639 +f 3283/5837/650 3307/5871/634 3306/5868/636 +f 3289/5849/652 3290/5851/660 3314/5869/642 +f 3286/5843/657 3287/5845/653 3311/5860/648 +f 3283/5837/650 3284/5839/651 3308/5862/632 +f 3291/5853/658 3315/5863/640 3314/5872/642 +f 3307/5871/634 3319/2461/633 3318/2463/635 +f 3307/5871/634 3308/5862/632 3320/2464/841 +f 3308/5862/632 3309/5861/629 3321/2467/842 +f 3310/5870/630 3322/2470/628 3321/2472/842 +f 3311/5860/648 3323/3351/647 3322/2473/628 +f 3311/5860/648 3312/5866/646 3324/3352/843 +f 3312/5866/646 3313/5865/644 3325/3353/645 +f 3314/5869/642 3326/3354/643 3325/2482/645 +f 3315/5863/640 3327/2485/641 3326/2487/643 +f 3316/5867/639 3328/2488/638 3327/2490/641 +f 3305/5864/637 3317/2491/844 3328/2493/638 +f 3305/5864/637 3306/5868/636 3318/3358/635 +f 3336/2481/678 3337/2480/682 3349/5873/682 +f 3334/3350/680 3346/6271/680 3345/5875/679 +f 3329/3357/681 3342/6272/681 3352/5876/673 +f 3331/3347/676 3343/6273/676 3341/5877/675 +f 3338/2483/289 3350/6274/289 3349/5878/682 +f 3334/2475/680 3335/2474/677 3347/5879/677 +f 3331/2465/676 3332/3348/287 3344/5881/287 +f 3338/2486/289 3339/3355/674 3351/5883/674 +f 3335/2478/677 3336/2477/678 3348/5885/678 +f 3332/2468/287 3333/3349/679 3345/5887/679 +f 3340/3356/673 3352/6275/673 3351/5889/674 +f 3329/2496/681 3330/2495/675 3341/5890/675 +f 3304/5892/673 3364/3369/673 3353/2503/681 +f 3294/5893/675 3354/3370/675 3355/2506/676 +f 3301/5850/682 3361/3371/682 3362/2509/289 +f 3299/5844/677 3298/6268/680 3358/3372/680 +f 3296/5838/287 3295/6267/676 3355/3373/676 +f 3302/5852/289 3362/2518/289 3363/2520/674 +f 3300/5846/678 3299/6269/677 3359/3375/677 +f 3296/5896/287 3356/2524/287 3357/2526/679 +f 3303/5855/674 3363/3377/674 3364/2527/673 +f 3294/5859/675 3293/6270/681 3353/2530/681 +f 3300/5898/678 3360/2533/678 3361/2535/682 +f 3298/5899/680 3297/5842/679 3357/3368/679 +f 3370/5900/680 3382/2553/680 3383/2539/677 +f 3367/5902/676 3379/2560/676 3380/2542/287 +f 3374/5904/289 3386/2536/289 3387/2538/674 +f 3371/5901/677 3383/2539/677 3384/2541/678 +f 3368/5903/287 3380/2542/287 3381/2544/679 +f 3375/5905/674 3387/2538/674 3388/2545/673 +f 3365/5909/681 3377/2556/681 3378/2548/675 +f 3373/5911/682 3372/5906/678 3384/2541/678 +f 3370/5900/680 3369/5907/679 3381/2544/679 +f 3365/5909/681 3376/5908/673 3388/2545/673 +f 3366/5910/675 3378/2548/675 3379/2560/676 +f 3374/5912/289 3373/5911/682 3385/2552/682 +f 3394/2564/680 3406/6276/680 3407/5913/677 +f 3392/2567/287 3391/2566/676 3403/5914/676 +f 3398/3380/289 3410/6277/289 3411/5916/674 +f 3395/3381/677 3407/6278/677 3408/5917/678 +f 3392/3382/287 3404/6279/287 3405/5918/679 +f 3399/2546/674 3411/6280/674 3412/5919/673 +f 3389/2550/675 3390/2549/681 3402/5920/681 +f 3396/3383/678 3408/6281/678 3409/5922/682 +f 3394/2555/680 3393/2554/679 3405/5923/679 +f 3390/2558/681 3400/2557/673 3412/5925/673 +f 3389/3384/675 3401/6282/675 3403/5927/676 +f 3397/2562/682 3409/6283/682 3410/5928/289 diff --git a/src/main/resources/assets/hbm/models/selenium_engine_body.obj b/src/main/resources/assets/hbm/models/selenium_engine_body.obj deleted file mode 100644 index b679392b9..000000000 --- a/src/main/resources/assets/hbm/models/selenium_engine_body.obj +++ /dev/null @@ -1,586 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'selenium_engine_body.blend' -# www.blender.org -o Cylinder_Cylinder.001 -v 0.000000 1.350000 -0.175000 -v 0.000000 1.350000 0.175000 -v 0.175000 1.303109 -0.175000 -v 0.175000 1.303109 0.175000 -v 0.303109 1.175000 -0.175000 -v 0.303109 1.175000 0.175000 -v 0.350000 1.000000 -0.175000 -v 0.350000 1.000000 0.175000 -v 0.303109 0.825000 -0.175000 -v 0.303109 0.825000 0.175000 -v 0.175000 0.696891 -0.175000 -v 0.175000 0.696891 0.175000 -v 0.000000 0.650000 -0.175000 -v 0.000000 0.650000 0.175000 -v -0.175000 0.696891 -0.175000 -v -0.175000 0.696891 0.175000 -v -0.303109 0.825000 -0.175000 -v -0.303109 0.825000 0.175000 -v -0.350000 1.000000 -0.175000 -v -0.350000 1.000000 0.175000 -v -0.303109 1.175000 -0.175000 -v -0.303109 1.175000 0.175000 -v -0.175000 1.303109 -0.175000 -v -0.175000 1.303109 0.175000 -v -0.000000 1.210000 -0.175000 -v 0.105000 1.181865 -0.175000 -v 0.105000 1.181865 0.175000 -v -0.000000 1.210000 0.175000 -v 0.181865 1.105000 -0.175000 -v 0.181865 1.105000 0.175000 -v 0.210000 1.000000 -0.175000 -v 0.210000 1.000000 0.175000 -v 0.181865 0.895000 -0.175000 -v 0.181865 0.895000 0.175000 -v 0.105000 0.818135 -0.175000 -v 0.105000 0.818135 0.175000 -v 0.000000 0.790000 -0.175000 -v 0.000000 0.790000 0.175000 -v -0.105000 0.818135 -0.175000 -v -0.105000 0.818135 0.175000 -v -0.181865 0.895000 -0.175000 -v -0.181865 0.895000 0.175000 -v -0.210000 1.000000 -0.175000 -v -0.210000 1.000000 0.175000 -v -0.181865 1.105000 -0.175000 -v -0.181865 1.105000 0.175000 -v -0.105000 1.181865 -0.175000 -v -0.105000 1.181865 0.175000 -v 0.105000 1.181865 0.225000 -v -0.000000 1.210000 0.225000 -v -0.105000 1.181865 0.225000 -v -0.181865 1.105000 0.225000 -v -0.210000 1.000000 0.225000 -v -0.181865 0.895000 0.225000 -v -0.105000 0.818135 0.225000 -v 0.000000 0.790000 0.225000 -v 0.105000 0.818135 0.225000 -v 0.181865 0.895000 0.225000 -v 0.210000 1.000000 0.225000 -v 0.181865 1.105000 0.225000 -v -0.000000 1.210000 -0.225000 -v 0.105000 1.181865 -0.225000 -v 0.181865 1.105000 -0.225000 -v 0.210000 1.000000 -0.225000 -v 0.181865 0.895000 -0.225000 -v 0.105000 0.818135 -0.225000 -v 0.000000 0.790000 -0.225000 -v -0.105000 0.818135 -0.225000 -v -0.181865 0.895000 -0.225000 -v -0.210000 1.000000 -0.225000 -v -0.181865 1.105000 -0.225000 -v -0.105000 1.181865 -0.225000 -v -0.375000 0.000000 0.237500 -v -0.250000 0.000000 0.237500 -v 0.250000 0.000000 0.237500 -v 0.375000 0.000000 0.237500 -v -0.375000 0.000000 0.175000 -v -0.250000 0.000000 0.175000 -v 0.250000 0.000000 0.175000 -v 0.375000 0.000000 0.175000 -v -0.375000 0.000000 -0.175000 -v -0.250000 0.000000 -0.175000 -v 0.250000 0.000000 -0.175000 -v 0.375000 0.000000 -0.175000 -v -0.375000 0.000000 -0.237500 -v -0.250000 0.000000 -0.237500 -v 0.250000 0.000000 -0.237500 -v 0.375000 0.000000 -0.237500 -v 0.335000 1.000000 -0.237500 -v 0.210000 1.000000 -0.237500 -v -0.210000 1.000000 -0.237500 -v -0.335000 1.000000 -0.237500 -v 0.210000 1.040000 -0.175000 -v 0.335000 1.040000 -0.175000 -v -0.335000 1.030000 -0.175000 -v -0.210000 1.030000 -0.175000 -v 0.335000 1.030000 0.175000 -v 0.210000 1.030000 0.175000 -v -0.210000 1.030000 0.175000 -v -0.335000 1.030000 0.175000 -v 0.210000 1.000000 0.237500 -v 0.335000 1.000000 0.237500 -v -0.335000 1.000000 0.237500 -v -0.210000 1.000000 0.237500 -v -0.156250 0.000000 -0.156250 -v -0.156250 0.000000 0.156250 -v 0.156250 0.000000 -0.156250 -v 0.156250 0.000000 0.156250 -v -0.078125 0.156250 -0.078125 -v -0.078125 0.156250 0.078125 -v 0.078125 0.156250 0.078125 -v 0.078125 0.156250 -0.078125 -v -0.078125 0.706250 -0.078125 -v -0.078125 0.706250 0.078125 -v 0.078125 0.706250 0.078125 -v 0.078125 0.706250 -0.078125 -vt 0.377779 0.024108 -vt 0.436724 0.024108 -vt 0.436724 0.137981 -vt 0.495669 0.024108 -vt 0.495669 0.137981 -vt 0.554615 0.024108 -vt 0.554615 0.137981 -vt 0.613560 0.024108 -vt 0.613560 0.137981 -vt 0.672505 0.024108 -vt 0.672505 0.137981 -vt 0.731450 0.024108 -vt 0.731450 0.137981 -vt 0.024108 0.024108 -vt 0.083053 0.024108 -vt 0.083053 0.137982 -vt 0.141998 0.024108 -vt 0.141998 0.137982 -vt 0.200943 0.024108 -vt 0.200944 0.137981 -vt 0.259889 0.024108 -vt 0.259889 0.137981 -vt 0.163574 0.186198 -vt 0.214622 0.215670 -vt 0.182414 0.247878 -vt 0.318834 0.024108 -vt 0.377779 0.137981 -vt 0.318834 0.137981 -vt 0.104629 0.406184 -vt 0.116418 0.362187 -vt 0.151785 0.362187 -vt 0.024108 0.325663 -vt 0.068105 0.313874 -vt 0.085789 0.344503 -vt 0.482824 0.376711 -vt 0.450616 0.344503 -vt 0.468299 0.313874 -vt 0.292310 0.266718 -vt 0.336308 0.278507 -vt 0.336308 0.313874 -vt 0.244094 0.325663 -vt 0.200097 0.313874 -vt 0.200097 0.278507 -vt 0.053581 0.215670 -vt 0.085789 0.247878 -vt 0.068105 0.278507 -vt 0.512297 0.266718 -vt 0.468299 0.278507 -vt 0.450616 0.247878 -vt 0.372831 0.406184 -vt 0.321783 0.376711 -vt 0.353991 0.344503 -vt 0.431776 0.186198 -vt 0.419987 0.230195 -vt 0.384620 0.230195 -vt 0.163574 0.406184 -vt 0.182414 0.344503 -vt 0.151785 0.230195 -vt 0.116418 0.230195 -vt 0.053581 0.376711 -vt 0.431776 0.406184 -vt 0.419987 0.362187 -vt 0.321783 0.215670 -vt 0.353991 0.247878 -vt 0.244094 0.266718 -vt 0.024108 0.266718 -vt 0.512297 0.325663 -vt 0.292310 0.325663 -vt 0.214622 0.376711 -vt 0.104629 0.186198 -vt 0.482824 0.215670 -vt 0.384620 0.362187 -vt 0.372831 0.186198 -vt 0.039821 0.878779 -vt 0.176469 0.878779 -vt 0.142307 0.937949 -vt 0.073983 0.937949 -vt 0.108145 0.947103 -vt 0.103935 0.962816 -vt 0.048975 0.912941 -vt 0.062480 0.949452 -vt 0.024108 0.882989 -vt 0.033262 0.840407 -vt 0.048975 0.844617 -vt 0.062480 0.808106 -vt 0.073983 0.819609 -vt 0.103935 0.794742 -vt 0.108145 0.810455 -vt 0.142307 0.819609 -vt 0.112356 0.794742 -vt 0.167316 0.844617 -vt 0.153810 0.808106 -vt 0.183029 0.840407 -vt 0.167316 0.912941 -vt 0.192183 0.882989 -vt 0.178819 0.924444 -vt 0.146518 0.953663 -vt 0.340346 0.943001 -vt 0.274350 0.925318 -vt 0.304978 0.811009 -vt 0.370975 0.828693 -vt 0.340346 0.811009 -vt 0.348479 0.796921 -vt 0.388658 0.859322 -vt 0.385063 0.820559 -vt 0.388658 0.894689 -vt 0.404926 0.859322 -vt 0.370975 0.925318 -vt 0.402746 0.902823 -vt 0.379108 0.939406 -vt 0.304979 0.943001 -vt 0.340346 0.959269 -vt 0.296845 0.957089 -vt 0.256666 0.894689 -vt 0.260262 0.933451 -vt 0.240399 0.859322 -vt 0.256666 0.859322 -vt 0.260262 0.820559 -vt 0.274350 0.828693 -vt 0.296845 0.796921 -vt 0.304978 0.794742 -vt 0.024108 0.684733 -vt 0.025734 0.644096 -vt 0.046052 0.644909 -vt 0.444044 0.726997 -vt 0.442418 0.686360 -vt 0.462737 0.685548 -vt 0.464321 0.515373 -vt 0.465946 0.556010 -vt 0.445628 0.556822 -vt 0.046052 0.474734 -vt 0.044426 0.515371 -vt 0.024108 0.514558 -vt 0.046003 0.746519 -vt 0.044426 0.705880 -vt 0.379792 0.705887 -vt 0.465946 0.576344 -vt 0.791559 0.556013 -vt 0.464362 0.746519 -vt 0.464362 0.726184 -vt 0.789974 0.726188 -vt 0.046052 0.624575 -vt 0.381418 0.624575 -vt 0.371665 0.644912 -vt 0.465899 0.454400 -vt 0.801265 0.454400 -vt 0.799687 0.495039 -vt 0.370039 0.685549 -vt 0.464321 0.495038 -vt 0.789934 0.515377 -vt 0.044426 0.685546 -vt 0.371664 0.474741 -vt 0.370037 0.515377 -vt 0.464315 0.624575 -vt 0.799681 0.624575 -vt 0.798103 0.665213 -vt 0.044426 0.535705 -vt 0.462737 0.665213 -vt 0.788350 0.685551 -vt 0.045987 0.576344 -vt 0.383041 0.535719 -vt 0.046053 0.454400 -vt 0.384669 0.454400 -vt 0.394160 0.516343 -vt 0.814096 0.555112 -vt 0.810887 0.684650 -vt 0.812512 0.725286 -vt 0.394203 0.645814 -vt 0.392577 0.686451 -vt 0.830946 0.331144 -vt 0.830946 0.229471 -vt 0.932619 0.229471 -vt 0.932619 0.331143 -vt 0.907200 0.387980 -vt 0.856364 0.387980 -vt 0.774109 0.305725 -vt 0.774109 0.254889 -vt 0.856364 0.172634 -vt 0.907200 0.172634 -vt 0.989455 0.254889 -vt 0.989455 0.305725 -vt 0.560513 0.237034 -vt 0.739457 0.237034 -vt 0.739457 0.287870 -vt 0.560513 0.338707 -vt 0.739457 0.338706 -vt 0.739457 0.389543 -vt 0.560513 0.186198 -vt 0.739457 0.186198 -vt 0.560513 0.287870 -vt 0.024108 0.137982 -vt 0.069773 0.953663 -vt 0.037472 0.924444 -vt 0.033262 0.917151 -vt 0.024108 0.874569 -vt 0.037472 0.833114 -vt 0.069773 0.803895 -vt 0.146518 0.803895 -vt 0.178819 0.833114 -vt 0.192183 0.874569 -vt 0.183029 0.917151 -vt 0.153810 0.949452 -vt 0.112356 0.962816 -vt 0.379108 0.814605 -vt 0.402746 0.851188 -vt 0.404926 0.894689 -vt 0.385063 0.933451 -vt 0.348479 0.957089 -vt 0.304979 0.959269 -vt 0.266216 0.939406 -vt 0.242578 0.902823 -vt 0.240399 0.894689 -vt 0.242578 0.851188 -vt 0.266216 0.814605 -vt 0.340346 0.794742 -vt 0.444003 0.516186 -vt 0.025734 0.473921 -vt 0.381369 0.746526 -vt 0.801311 0.576351 -vt 0.799727 0.746526 -vt 0.384603 0.576359 -vt 0.395787 0.475707 -vt 0.812471 0.514475 -vt 0.560513 0.389543 -vn 0.258800 0.965900 0.000000 -vn 0.707100 0.707100 0.000000 -vn 0.965900 0.258800 0.000000 -vn 0.965900 -0.258800 0.000000 -vn 0.707100 -0.707100 0.000000 -vn 0.258800 -0.965900 0.000000 -vn -0.258800 -0.965900 0.000000 -vn -0.707100 -0.707100 0.000000 -vn -0.965900 -0.258800 0.000000 -vn -0.965900 0.258800 0.000000 -vn 0.000000 0.000000 1.000000 -vn -0.258800 0.965900 0.000000 -vn -0.707100 0.707100 0.000000 -vn 0.000000 -0.000000 -1.000000 -vn 0.000000 -1.000000 0.000000 -vn 0.999200 -0.040000 0.000000 -vn -0.999200 -0.040000 0.000000 -vn 0.999100 -0.038800 -0.018600 -vn -0.999100 0.038800 -0.018600 -vn -0.999200 0.040000 0.000000 -vn 0.999200 0.040000 0.000000 -vn 0.999100 0.038800 0.018600 -vn -0.999000 -0.038400 0.024600 -vn 0.000000 0.842300 -0.539100 -vn 0.000000 0.901500 -0.432700 -vn 0.000000 0.901500 0.432700 -vn 0.000000 0.447200 0.894400 -vn -0.894400 0.447200 0.000000 -vn 0.000000 0.447200 -0.894400 -vn 0.894400 0.447200 0.000000 -vn -1.000000 0.000000 0.000000 -vn 1.000000 0.000000 0.000000 -vn 0.999100 -0.038800 0.018600 -vn -0.999100 -0.038800 -0.018600 -vn -0.999100 0.038800 0.018600 -vn 0.999000 0.038400 -0.024600 -s off -f 2/1/1 4/2/1 3/3/1 -f 4/2/2 6/4/2 5/5/2 -f 6/4/3 8/6/3 7/7/3 -f 8/6/4 10/8/4 9/9/4 -f 10/8/5 12/10/5 11/11/5 -f 12/10/6 14/12/6 13/13/6 -f 14/14/7 16/15/7 15/16/7 -f 16/15/8 18/17/8 17/18/8 -f 18/17/9 20/19/9 19/20/9 -f 20/19/10 22/21/10 21/22/10 -f 16/23/11 14/24/11 38/25/11 -f 24/26/12 2/1/12 1/27/12 -f 22/21/13 24/26/13 23/28/13 -f 4/29/11 27/30/11 30/31/11 -f 24/32/11 48/33/11 28/34/11 -f 11/35/14 35/36/14 33/37/14 -f 21/38/14 45/39/14 43/40/14 -f 10/41/11 34/42/11 36/43/11 -f 20/44/11 44/45/11 46/46/11 -f 7/47/14 31/48/14 29/49/14 -f 15/50/14 17/51/14 41/52/14 -f 3/53/14 26/54/14 25/55/14 -f 6/56/11 30/31/11 32/57/11 -f 16/23/11 40/58/11 42/59/11 -f 2/60/11 28/34/11 27/30/11 -f 13/61/14 37/62/14 35/36/14 -f 21/38/14 23/63/14 47/64/14 -f 12/65/11 36/43/11 38/25/11 -f 22/66/11 46/46/11 48/33/11 -f 9/67/14 33/37/14 31/48/14 -f 17/51/14 19/68/14 43/40/14 -f 8/69/11 32/57/11 34/42/11 -f 18/70/11 42/59/11 44/45/11 -f 3/53/14 5/71/14 29/49/14 -f 15/50/14 39/72/14 37/62/14 -f 1/73/14 25/55/14 47/64/14 -f 52/74/11 58/75/11 60/76/11 -f 50/77/1 49/78/1 27/79/1 -f 51/80/12 50/77/12 28/81/12 -f 46/82/13 52/74/13 51/80/13 -f 44/83/10 53/84/10 52/74/10 -f 42/85/9 54/86/9 53/84/9 -f 40/87/8 55/88/8 54/86/8 -f 56/89/7 55/88/7 40/90/7 -f 57/91/6 56/89/6 38/92/6 -f 58/75/5 57/91/5 36/93/5 -f 59/94/4 58/75/4 34/95/4 -f 60/76/3 59/94/3 32/96/3 -f 49/78/2 60/76/2 30/97/2 -f 66/98/14 68/99/14 72/100/14 -f 62/101/1 61/102/1 25/103/1 -f 63/104/2 62/101/2 26/105/2 -f 64/106/3 63/104/3 29/107/3 -f 65/108/4 64/106/4 31/109/4 -f 66/98/5 65/108/5 33/110/5 -f 67/111/6 66/98/6 35/112/6 -f 68/99/7 67/111/7 37/113/7 -f 69/114/8 68/99/8 39/115/8 -f 43/116/9 70/117/9 69/114/9 -f 45/118/10 71/119/10 70/117/10 -f 47/120/13 72/100/13 71/119/13 -f 61/102/12 72/100/12 47/121/12 -f 77/122/15 78/123/15 74/124/15 -f 79/125/15 80/126/15 76/127/15 -f 85/128/15 86/129/15 82/130/15 -f 87/131/15 88/132/15 84/133/15 -f 78/134/14 77/135/14 100/136/14 -f 82/137/16 86/129/16 91/138/16 -f 79/139/17 75/140/17 101/141/17 -f 78/142/18 99/143/18 104/144/18 -f 82/145/11 96/146/11 95/147/11 -f 74/124/11 104/144/11 103/148/11 -f 81/149/19 95/147/19 92/150/19 -f 77/135/20 73/151/20 103/148/20 -f 87/131/14 90/152/14 89/153/14 -f 79/154/14 98/155/14 97/156/14 -f 84/157/21 88/132/21 89/153/21 -f 80/158/22 97/156/22 102/159/22 -f 83/160/11 84/157/11 94/161/11 -f 86/129/14 85/128/14 92/150/14 -f 75/140/11 76/127/11 102/159/11 -f 83/162/23 93/163/23 90/152/23 -f 94/164/24 89/153/24 90/152/24 -f 96/165/25 91/138/25 92/150/25 -f 102/159/26 97/166/26 98/167/26 -f 104/144/26 99/168/26 100/169/26 -f 106/170/15 105/171/15 107/172/15 -f 108/173/27 111/174/27 110/175/27 -f 106/170/28 110/176/28 109/177/28 -f 105/171/29 109/178/29 112/179/29 -f 107/172/30 112/180/30 111/181/30 -f 110/182/31 114/183/31 113/184/31 -f 112/185/32 116/186/32 115/187/32 -f 111/188/11 115/189/11 114/183/11 -f 109/190/14 113/184/14 116/186/14 -f 1/27/1 2/1/1 3/3/1 -f 3/3/2 4/2/2 5/5/2 -f 5/5/3 6/4/3 7/7/3 -f 7/7/4 8/6/4 9/9/4 -f 9/9/5 10/8/5 11/11/5 -f 11/11/6 12/10/6 13/13/6 -f 13/191/7 14/14/7 15/16/7 -f 15/16/8 16/15/8 17/18/8 -f 17/18/9 18/17/9 19/20/9 -f 19/20/10 20/19/10 21/22/10 -f 40/58/11 16/23/11 38/25/11 -f 23/28/12 24/26/12 1/27/12 -f 21/22/13 22/21/13 23/28/13 -f 6/56/11 4/29/11 30/31/11 -f 2/60/11 24/32/11 28/34/11 -f 9/67/14 11/35/14 33/37/14 -f 19/68/14 21/38/14 43/40/14 -f 12/65/11 10/41/11 36/43/11 -f 22/66/11 20/44/11 46/46/11 -f 5/71/14 7/47/14 29/49/14 -f 39/72/14 15/50/14 41/52/14 -f 1/73/14 3/53/14 25/55/14 -f 8/69/11 6/56/11 32/57/11 -f 18/70/11 16/23/11 42/59/11 -f 4/29/11 2/60/11 27/30/11 -f 11/35/14 13/61/14 35/36/14 -f 45/39/14 21/38/14 47/64/14 -f 14/24/11 12/65/11 38/25/11 -f 24/32/11 22/66/11 48/33/11 -f 7/47/14 9/67/14 31/48/14 -f 41/52/14 17/51/14 43/40/14 -f 10/41/11 8/69/11 34/42/11 -f 20/44/11 18/70/11 44/45/11 -f 26/54/14 3/53/14 29/49/14 -f 13/61/14 15/50/14 37/62/14 -f 23/63/14 1/73/14 47/64/14 -f 60/76/11 49/78/11 50/77/11 -f 50/77/11 51/80/11 60/76/11 -f 52/74/11 53/84/11 54/86/11 -f 54/86/11 55/88/11 52/74/11 -f 56/89/11 57/91/11 58/75/11 -f 58/75/11 59/94/11 60/76/11 -f 60/76/11 51/80/11 52/74/11 -f 52/74/11 55/88/11 56/89/11 -f 56/89/11 58/75/11 52/74/11 -f 28/192/1 50/77/1 27/79/1 -f 48/193/12 51/80/12 28/81/12 -f 48/194/13 46/82/13 51/80/13 -f 46/195/10 44/83/10 52/74/10 -f 44/196/9 42/85/9 53/84/9 -f 42/197/8 40/87/8 54/86/8 -f 38/198/7 56/89/7 40/90/7 -f 36/199/6 57/91/6 38/92/6 -f 34/200/5 58/75/5 36/93/5 -f 32/201/4 59/94/4 34/95/4 -f 30/202/3 60/76/3 32/96/3 -f 27/203/2 49/78/2 30/97/2 -f 72/100/14 61/102/14 62/101/14 -f 62/101/14 63/104/14 64/106/14 -f 64/106/14 65/108/14 66/98/14 -f 66/98/14 67/111/14 68/99/14 -f 68/99/14 69/114/14 70/117/14 -f 70/117/14 71/119/14 72/100/14 -f 72/100/14 62/101/14 64/106/14 -f 64/106/14 66/98/14 72/100/14 -f 68/99/14 70/117/14 72/100/14 -f 26/204/1 62/101/1 25/103/1 -f 29/205/2 63/104/2 26/105/2 -f 31/206/3 64/106/3 29/107/3 -f 33/207/4 65/108/4 31/109/4 -f 35/208/5 66/98/5 33/110/5 -f 37/209/6 67/111/6 35/112/6 -f 39/210/7 68/99/7 37/113/7 -f 41/211/8 69/114/8 39/115/8 -f 41/212/9 43/116/9 69/114/9 -f 43/213/10 45/118/10 70/117/10 -f 45/214/13 47/120/13 71/119/13 -f 25/215/12 61/102/12 47/121/12 -f 73/151/15 77/122/15 74/124/15 -f 75/140/15 79/125/15 76/127/15 -f 81/216/15 85/128/15 82/130/15 -f 83/217/15 87/131/15 84/133/15 -f 99/218/14 78/134/14 100/136/14 -f 96/219/33 82/137/33 91/138/33 -f 98/220/34 79/139/34 101/141/34 -f 74/124/16 78/142/16 104/144/16 -f 81/149/11 82/145/11 95/147/11 -f 73/151/11 74/124/11 103/148/11 -f 85/128/20 81/149/20 92/150/20 -f 100/136/35 77/135/35 103/148/35 -f 88/132/14 87/131/14 89/153/14 -f 80/158/14 79/154/14 97/156/14 -f 94/161/36 84/157/36 89/153/36 -f 76/127/21 80/158/21 102/159/21 -f 93/221/11 83/160/11 94/161/11 -f 91/138/14 86/129/14 92/150/14 -f 101/141/11 75/140/11 102/159/11 -f 87/131/17 83/162/17 90/152/17 -f 93/222/24 94/164/24 90/152/24 -f 95/223/25 96/165/25 92/150/25 -f 101/141/26 102/159/26 98/167/26 -f 103/148/26 104/144/26 100/169/26 -f 108/173/15 106/170/15 107/172/15 -f 106/170/27 108/173/27 110/175/27 -f 105/171/28 106/170/28 109/177/28 -f 107/172/29 105/171/29 112/179/29 -f 108/173/30 107/172/30 111/181/30 -f 109/190/31 110/182/31 113/184/31 -f 111/224/32 112/185/32 115/187/32 -f 110/182/11 111/188/11 114/183/11 -f 112/185/14 109/190/14 116/186/14 diff --git a/src/main/resources/assets/hbm/models/selenium_engine_piston.obj b/src/main/resources/assets/hbm/models/selenium_engine_piston.obj deleted file mode 100644 index 8e3894b38..000000000 --- a/src/main/resources/assets/hbm/models/selenium_engine_piston.obj +++ /dev/null @@ -1,531 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'selenium_engine_piston.blend' -# www.blender.org -o Cube_Cube.001 -v 0.088388 0.650000 0.088388 -v 0.088388 0.250000 0.088388 -v 0.125000 0.650000 0.000000 -v 0.125000 0.250000 0.000000 -v 0.088388 0.650000 -0.088388 -v 0.088388 0.250000 -0.088388 -v -0.000000 0.650000 -0.125000 -v -0.000000 0.250000 -0.125000 -v -0.088389 0.650000 -0.088388 -v -0.088388 0.250000 -0.088388 -v -0.125000 0.650000 -0.000000 -v -0.125000 0.250000 -0.000000 -v -0.088389 0.650000 0.088388 -v -0.088388 0.250000 0.088388 -v -0.000000 0.650000 0.125000 -v -0.000000 0.250000 0.125000 -v -0.000000 0.650000 0.156250 -v -0.000000 0.775000 0.156250 -v -0.110486 0.650000 0.110485 -v -0.110486 0.775000 0.110485 -v -0.156250 0.650000 -0.000000 -v -0.156250 0.775000 -0.000000 -v -0.110486 0.650000 -0.110485 -v -0.110486 0.775000 -0.110485 -v -0.000000 0.650000 -0.156250 -v -0.000000 0.775000 -0.156250 -v 0.110485 0.650000 -0.110485 -v 0.110485 0.775000 -0.110485 -v 0.156250 0.650000 0.000000 -v 0.156250 0.775000 0.000000 -v 0.110485 0.650000 0.110485 -v 0.110485 0.775000 0.110485 -v 0.200000 0.750000 0.050000 -v 0.135000 0.750000 -0.050000 -v 0.200000 0.750000 -0.050000 -v 0.135000 0.750000 0.050000 -v 0.235000 0.715000 0.050000 -v 0.235000 0.715000 -0.050000 -v 0.235000 0.615000 0.050000 -v 0.235000 0.615000 -0.050000 -v 0.160000 0.465000 0.050000 -v 0.160000 0.465000 -0.050000 -v 0.160000 0.265000 0.050000 -v 0.160000 0.265000 -0.050000 -v -0.125000 0.300000 0.107322 -v -0.125000 0.650000 0.107322 -v -0.107322 0.300000 0.125000 -v -0.107323 0.650000 0.125000 -v -0.142678 0.300000 0.125000 -v -0.142678 0.650000 0.125000 -v -0.125000 0.300000 0.142678 -v -0.125000 0.650000 0.142678 -v -0.125000 0.650000 0.098483 -v -0.098484 0.650000 0.125000 -v -0.151517 0.650000 0.125000 -v -0.125000 0.650000 0.151516 -v -0.110000 0.750000 0.083483 -v -0.083484 0.750000 0.110000 -v -0.110000 0.750000 0.136516 -v -0.136517 0.750000 0.110000 -v 0.125000 0.300000 0.107322 -v 0.125000 0.650000 0.107322 -v 0.142678 0.300000 0.125000 -v 0.142677 0.650000 0.125000 -v 0.107322 0.300000 0.125000 -v 0.107322 0.650000 0.125000 -v 0.125000 0.300000 0.142678 -v 0.125000 0.650000 0.142678 -v 0.125000 0.650000 0.098484 -v 0.151516 0.650000 0.125000 -v 0.098483 0.650000 0.125000 -v 0.125000 0.650000 0.151517 -v 0.110000 0.750000 0.083484 -v 0.136516 0.750000 0.110000 -v 0.110000 0.750000 0.136517 -v 0.083483 0.750000 0.110000 -v 0.125000 0.300000 -0.142678 -v 0.125000 0.650000 -0.142678 -v 0.142678 0.300000 -0.125000 -v 0.142678 0.650000 -0.125000 -v 0.107322 0.300000 -0.125000 -v 0.107322 0.650000 -0.125000 -v 0.125000 0.300000 -0.107322 -v 0.125000 0.650000 -0.107322 -v 0.125000 0.650000 -0.151516 -v 0.151516 0.650000 -0.125000 -v 0.098483 0.650000 -0.125000 -v 0.125000 0.650000 -0.098483 -v 0.110000 0.750000 -0.136516 -v 0.136516 0.750000 -0.110000 -v 0.110000 0.750000 -0.083483 -v 0.083483 0.750000 -0.110000 -v -0.125000 0.300000 -0.142678 -v -0.125000 0.650000 -0.142678 -v -0.107322 0.300000 -0.125000 -v -0.107322 0.650000 -0.125000 -v -0.142678 0.300000 -0.125000 -v -0.142678 0.650000 -0.125000 -v -0.125000 0.300000 -0.107322 -v -0.125000 0.650000 -0.107322 -v -0.125000 0.650000 -0.151517 -v -0.098484 0.650000 -0.125000 -v -0.151517 0.650000 -0.125000 -v -0.125000 0.650000 -0.098484 -v -0.110000 0.750000 -0.136517 -v -0.083484 0.750000 -0.110000 -v -0.110000 0.750000 -0.083484 -v -0.136517 0.750000 -0.110000 -v -0.100000 0.200000 -0.075000 -v -0.100000 0.712500 -0.075000 -v -0.100000 0.200000 0.075000 -v -0.100000 0.712500 0.075000 -v -0.200000 0.200000 -0.075000 -v -0.200000 0.612500 -0.075000 -v -0.200000 0.200000 0.075000 -v -0.200000 0.612500 0.075000 -vt 0.420709 0.299122 -vt 0.353866 0.299122 -vt 0.353866 0.019654 -vt 0.554394 0.299122 -vt 0.487551 0.299122 -vt 0.487552 0.019654 -vt 0.287024 0.299122 -vt 0.220182 0.299122 -vt 0.220182 0.019654 -vt 0.153339 0.299122 -vt 0.153339 0.019654 -vt 0.420709 0.019654 -vt 0.086497 0.299123 -vt 0.019654 0.299123 -vt 0.019654 0.019654 -vt 0.287024 0.019654 -vt 0.086496 0.019654 -vt 0.186760 0.872253 -vt 0.103207 0.872253 -vt 0.103207 0.784919 -vt 0.019654 0.872253 -vt 0.019654 0.784919 -vt 0.688079 0.872253 -vt 0.604526 0.872253 -vt 0.604526 0.784919 -vt 0.520973 0.872253 -vt 0.520973 0.784919 -vt 0.437420 0.872253 -vt 0.437420 0.784919 -vt 0.353867 0.872253 -vt 0.353866 0.784919 -vt 0.408297 0.397511 -vt 0.610013 0.397511 -vt 0.610013 0.481064 -vt 0.270313 0.872253 -vt 0.186760 0.784919 -vt 0.270313 0.784919 -vt 0.362222 0.764747 -vt 0.429064 0.764747 -vt 0.345511 0.764747 -vt 0.195116 0.764747 -vt 0.261958 0.764747 -vt 0.178405 0.764747 -vt 0.028009 0.764747 -vt 0.094852 0.764747 -vt 0.679724 0.764747 -vt 0.688079 0.784919 -vt 0.529328 0.764747 -vt 0.596171 0.764747 -vt 0.512617 0.764747 -vt 0.719188 0.494732 -vt 0.719188 0.540145 -vt 0.649321 0.540145 -vt 0.649321 0.494732 -vt 0.649321 0.460149 -vt 0.719188 0.460149 -vt 0.649321 0.390282 -vt 0.719188 0.390282 -vt 0.649320 0.273112 -vt 0.719188 0.273111 -vt 0.649320 0.133377 -vt 0.719188 0.133377 -vt 0.920071 0.661756 -vt 0.920071 0.417221 -vt 0.937537 0.417221 -vt 0.902605 0.661756 -vt 0.902604 0.417221 -vt 0.885138 0.661756 -vt 0.885137 0.417221 -vt 0.867671 0.661756 -vt 0.867671 0.417221 -vt 0.529281 0.592250 -vt 0.533648 0.596617 -vt 0.507448 0.596617 -vt 0.433353 0.591439 -vt 0.450440 0.587814 -vt 0.455618 0.591180 -vt 0.504082 0.591439 -vt 0.481818 0.591180 -vt 0.477451 0.586813 -vt 0.429988 0.596616 -vt 0.455617 0.662601 -vt 0.533648 0.694239 -vt 0.507447 0.694239 -vt 0.507447 0.668038 -vt 0.481818 0.662601 -vt 0.533648 0.668039 -vt 0.793429 0.377913 -vt 0.793429 0.133377 -vt 0.810896 0.133377 -vt 0.775962 0.377913 -vt 0.775962 0.133377 -vt 0.758496 0.377913 -vt 0.758496 0.133377 -vt 0.810896 0.377913 -vt 0.828362 0.133377 -vt 0.808277 0.730813 -vt 0.811642 0.735990 -vt 0.786013 0.730554 -vt 0.833476 0.731624 -vt 0.837843 0.735990 -vt 0.781646 0.726187 -vt 0.759812 0.730554 -vt 0.754635 0.727188 -vt 0.734183 0.735990 -vt 0.837843 0.807412 -vt 0.837843 0.833613 -vt 0.811642 0.833613 -vt 0.786013 0.801975 -vt 0.759812 0.801975 -vt 0.811642 0.807412 -vt 0.885138 0.377913 -vt 0.885137 0.133377 -vt 0.902604 0.133377 -vt 0.867671 0.377913 -vt 0.867671 0.133377 -vt 0.920071 0.377913 -vt 0.920071 0.133377 -vt 0.937537 0.133377 -vt 0.902605 0.377913 -vt 0.781646 0.872920 -vt 0.786013 0.877287 -vt 0.759812 0.877287 -vt 0.791190 0.873922 -vt 0.808277 0.877546 -vt 0.811642 0.882724 -vt 0.737548 0.877546 -vt 0.754635 0.873922 -vt 0.833476 0.878357 -vt 0.837843 0.882724 -vt 0.811642 0.954146 -vt 0.786013 0.948709 -vt 0.811642 0.980346 -vt 0.837843 0.954146 -vt 0.734183 0.882724 -vt 0.759812 0.948709 -vt 0.758496 0.661756 -vt 0.758496 0.417221 -vt 0.775962 0.417221 -vt 0.810896 0.661756 -vt 0.810896 0.417221 -vt 0.828362 0.417221 -vt 0.793429 0.661756 -vt 0.793429 0.417221 -vt 0.775962 0.661756 -vt 0.594580 0.584079 -vt 0.611667 0.580455 -vt 0.616845 0.583820 -vt 0.621211 0.579453 -vt 0.638678 0.579453 -vt 0.643045 0.583820 -vt 0.690508 0.584890 -vt 0.694875 0.589257 -vt 0.668675 0.589257 -vt 0.648223 0.580455 -vt 0.665309 0.584079 -vt 0.643045 0.655242 -vt 0.616845 0.655242 -vt 0.668675 0.686879 -vt 0.668675 0.660679 -vt 0.694875 0.660679 -vt 0.591215 0.589257 -vt 0.264189 0.696500 -vt 0.264189 0.338430 -vt 0.368990 0.338430 -vt 0.194322 0.626632 -vt 0.194322 0.338430 -vt 0.089521 0.626632 -vt 0.089521 0.338430 -vt 0.019654 0.696499 -vt 0.019654 0.338430 -vt 0.194322 0.725439 -vt 0.089521 0.725439 -vt 0.554394 0.019654 -vt 0.550932 0.540146 -vt 0.467378 0.540146 -vt 0.408297 0.481064 -vt 0.467378 0.338430 -vt 0.550932 0.338430 -vt 0.278669 0.764747 -vt 0.111562 0.764747 -vt 0.612881 0.764747 -vt 0.445775 0.764747 -vt 0.937538 0.661756 -vt 0.511814 0.592250 -vt 0.486996 0.587814 -vt 0.459984 0.586813 -vt 0.429988 0.668038 -vt 0.828363 0.377913 -vt 0.791190 0.727188 -vt 0.816009 0.731624 -vt 0.764179 0.726187 -vt 0.737548 0.730813 -vt 0.734183 0.807412 -vt 0.937538 0.377913 -vt 0.764179 0.872920 -vt 0.816009 0.878357 -vt 0.837843 0.980346 -vt 0.734183 0.954146 -vt 0.828363 0.661756 -vt 0.673041 0.584890 -vt 0.694875 0.686879 -vt 0.591215 0.660679 -vt 0.368990 0.696500 -vn 0.382700 0.000000 -0.923900 -vn -0.923900 -0.000000 -0.382700 -vn 0.923900 0.000000 0.382700 -vn 0.382700 0.000000 0.923900 -vn -0.382700 -0.000000 -0.923900 -vn -0.923900 -0.000000 0.382700 -vn 0.923900 0.000000 -0.382700 -vn -0.382700 -0.000000 0.923900 -vn -0.000000 1.000000 -0.000000 -vn 0.000000 -1.000000 -0.000000 -vn 0.707100 0.707100 0.000000 -vn 1.000000 0.000000 0.000000 -vn 0.894400 -0.447200 0.000000 -vn 0.707100 0.000000 -0.707100 -vn 0.707100 0.000000 0.707100 -vn -0.707100 -0.000000 0.707100 -vn -0.707100 -0.000000 -0.707100 -vn -0.691700 0.207500 0.691700 -vn 0.691700 -0.207500 -0.691700 -vn -0.691700 -0.207500 -0.691700 -vn 0.691700 0.207500 0.691700 -vn -0.691700 -0.207500 0.691700 -vn 0.691700 0.207500 -0.691700 -vn -0.691700 0.207500 -0.691700 -vn 0.691700 -0.207500 0.691700 -vn -0.000000 -0.000000 1.000000 -vn -1.000000 -0.000000 -0.000000 -vn 0.000000 0.000000 -1.000000 -vn -0.707100 0.707100 -0.000000 -s off -f 7/1/1 5/2/1 6/3/1 -f 11/4/2 9/5/2 10/6/2 -f 3/7/3 1/8/3 2/9/3 -f 1/8/4 15/10/4 16/11/4 -f 9/5/5 7/1/5 8/12/5 -f 13/13/6 11/14/6 12/15/6 -f 5/2/7 3/7/7 4/16/7 -f 15/10/8 13/13/8 14/17/8 -f 18/18/8 20/19/8 19/20/8 -f 20/19/6 22/21/6 21/22/6 -f 22/23/2 24/24/2 23/25/2 -f 24/24/5 26/26/5 25/27/5 -f 26/26/1 28/28/1 27/29/1 -f 28/28/7 30/30/7 29/31/7 -f 30/32/9 24/33/9 22/34/9 -f 32/35/4 18/18/4 17/36/4 -f 30/30/3 32/35/3 31/37/3 -f 3/38/10 5/39/10 27/29/10 -f 3/40/10 29/31/10 31/37/10 -f 15/41/10 1/42/10 31/37/10 -f 15/43/10 17/36/10 19/20/10 -f 11/44/10 13/45/10 19/20/10 -f 11/46/10 21/47/10 23/25/10 -f 7/48/10 9/49/10 23/25/10 -f 7/50/10 25/27/10 27/29/10 -f 35/51/9 34/52/9 36/53/9 -f 33/54/11 37/55/11 38/56/11 -f 39/57/12 40/58/12 38/56/12 -f 41/59/13 42/60/13 40/58/13 -f 43/61/12 44/62/12 42/60/12 -f 48/63/14 47/64/14 45/65/14 -f 52/66/15 51/67/15 47/64/15 -f 50/68/16 49/69/16 51/67/16 -f 46/70/17 45/71/17 49/69/17 -f 46/72/10 53/73/10 54/74/10 -f 46/75/10 50/76/10 55/77/10 -f 48/78/10 54/74/10 56/79/10 -f 52/80/10 56/79/10 55/77/10 -f 53/81/17 55/77/17 60/82/17 -f 60/83/9 59/84/9 58/85/9 -f 54/74/15 58/85/15 59/86/15 -f 56/79/18 59/86/18 60/82/18 -f 54/74/19 53/73/19 57/87/19 -f 64/88/14 63/89/14 61/90/14 -f 68/91/15 67/92/15 63/89/15 -f 66/93/16 65/94/16 67/92/16 -f 62/95/17 61/90/17 65/96/17 -f 62/97/10 69/98/10 70/99/10 -f 66/100/10 71/101/10 69/98/10 -f 64/102/10 70/99/10 72/103/10 -f 68/104/10 72/103/10 71/105/10 -f 69/98/20 71/101/20 76/106/20 -f 76/106/9 75/107/9 74/108/9 -f 70/99/21 74/109/21 75/110/21 -f 71/105/16 72/103/16 75/110/16 -f 69/98/14 73/111/14 74/109/14 -f 80/112/14 79/113/14 77/114/14 -f 84/115/15 83/116/15 79/113/15 -f 82/117/16 81/118/16 83/119/16 -f 78/120/17 77/114/17 81/118/17 -f 78/121/10 85/122/10 86/123/10 -f 78/124/10 82/125/10 87/126/10 -f 84/127/10 80/128/10 86/123/10 -f 84/129/10 88/130/10 87/126/10 -f 87/126/17 92/131/17 89/132/17 -f 89/133/9 92/131/9 91/134/9 -f 88/135/15 86/123/15 90/136/15 -f 88/130/22 91/134/22 92/131/22 -f 86/123/23 85/122/23 89/132/23 -f 96/137/14 95/138/14 93/139/14 -f 100/140/15 99/141/15 95/142/15 -f 98/143/16 97/144/16 99/141/16 -f 94/145/17 93/139/17 97/144/17 -f 96/146/10 94/147/10 101/148/10 -f 94/149/10 98/150/10 103/151/10 -f 96/152/10 102/153/10 104/154/10 -f 98/155/10 100/156/10 104/154/10 -f 103/151/24 108/157/24 105/158/24 -f 108/159/9 107/160/9 106/161/9 -f 102/153/25 106/161/25 107/160/25 -f 104/154/16 107/160/16 108/157/16 -f 102/162/14 101/148/14 105/158/14 -f 112/163/12 111/164/12 109/165/12 -f 116/166/26 115/167/26 111/164/26 -f 114/168/27 113/169/27 115/167/27 -f 114/168/28 110/170/28 109/171/28 -f 116/166/29 112/172/29 110/173/29 -f 8/12/1 7/1/1 6/3/1 -f 12/174/2 11/4/2 10/6/2 -f 4/16/3 3/7/3 2/9/3 -f 2/9/4 1/8/4 16/11/4 -f 10/6/5 9/5/5 8/12/5 -f 14/17/6 13/13/6 12/15/6 -f 6/3/7 5/2/7 4/16/7 -f 16/11/8 15/10/8 14/17/8 -f 17/36/8 18/18/8 19/20/8 -f 19/20/6 20/19/6 21/22/6 -f 21/47/2 22/23/2 23/25/2 -f 23/25/5 24/24/5 25/27/5 -f 25/27/1 26/26/1 27/29/1 -f 27/29/7 28/28/7 29/31/7 -f 22/34/9 20/175/9 30/32/9 -f 18/176/9 32/177/9 30/32/9 -f 30/32/9 28/178/9 26/179/9 -f 26/179/9 24/33/9 30/32/9 -f 20/175/9 18/176/9 30/32/9 -f 31/37/4 32/35/4 17/36/4 -f 29/31/3 30/30/3 31/37/3 -f 29/31/10 3/38/10 27/29/10 -f 1/180/10 3/40/10 31/37/10 -f 17/36/10 15/41/10 31/37/10 -f 13/181/10 15/43/10 19/20/10 -f 21/22/10 11/44/10 19/20/10 -f 9/182/10 11/46/10 23/25/10 -f 25/27/10 7/48/10 23/25/10 -f 5/183/10 7/50/10 27/29/10 -f 33/54/9 35/51/9 36/53/9 -f 35/51/11 33/54/11 38/56/11 -f 37/55/12 39/57/12 38/56/12 -f 39/57/13 41/59/13 40/58/13 -f 41/59/12 43/61/12 42/60/12 -f 46/184/14 48/63/14 45/65/14 -f 48/63/15 52/66/15 47/64/15 -f 52/66/16 50/68/16 51/67/16 -f 50/68/17 46/70/17 49/69/17 -f 48/185/10 46/72/10 54/74/10 -f 53/81/10 46/75/10 55/77/10 -f 52/186/10 48/78/10 56/79/10 -f 50/187/10 52/80/10 55/77/10 -f 57/188/17 53/81/17 60/82/17 -f 57/87/9 60/83/9 58/85/9 -f 56/79/15 54/74/15 59/86/15 -f 55/77/18 56/79/18 60/82/18 -f 58/85/19 54/74/19 57/87/19 -f 62/95/14 64/88/14 61/90/14 -f 64/88/15 68/91/15 63/89/15 -f 68/91/16 66/93/16 67/92/16 -f 66/189/17 62/95/17 65/96/17 -f 64/190/10 62/97/10 70/99/10 -f 62/191/10 66/100/10 69/98/10 -f 68/192/10 64/102/10 72/103/10 -f 66/193/10 68/104/10 71/105/10 -f 73/111/20 69/98/20 76/106/20 -f 73/111/9 76/106/9 74/108/9 -f 72/103/21 70/99/21 75/110/21 -f 76/194/16 71/105/16 75/110/16 -f 70/99/14 69/98/14 74/109/14 -f 78/120/14 80/112/14 77/114/14 -f 80/112/15 84/115/15 79/113/15 -f 84/195/16 82/117/16 83/119/16 -f 82/117/17 78/120/17 81/118/17 -f 80/196/10 78/121/10 86/123/10 -f 85/122/10 78/124/10 87/126/10 -f 88/135/10 84/127/10 86/123/10 -f 82/197/10 84/129/10 87/126/10 -f 85/122/17 87/126/17 89/132/17 -f 90/198/9 89/133/9 91/134/9 -f 91/199/15 88/135/15 90/136/15 -f 87/126/22 88/130/22 92/131/22 -f 90/136/23 86/123/23 89/132/23 -f 94/145/14 96/137/14 93/139/14 -f 96/200/15 100/140/15 95/142/15 -f 100/140/16 98/143/16 99/141/16 -f 98/143/17 94/145/17 97/144/17 -f 102/162/10 96/146/10 101/148/10 -f 101/148/10 94/149/10 103/151/10 -f 100/201/10 96/152/10 104/154/10 -f 103/151/10 98/155/10 104/154/10 -f 101/148/24 103/151/24 105/158/24 -f 105/202/9 108/159/9 106/161/9 -f 104/154/25 102/153/25 107/160/25 -f 103/151/16 104/154/16 108/157/16 -f 106/203/14 102/162/14 105/158/14 -f 110/204/12 112/163/12 109/165/12 -f 112/163/26 116/166/26 111/164/26 -f 116/166/27 114/168/27 115/167/27 -f 113/169/28 114/168/28 109/171/28 -f 114/168/29 116/166/29 110/173/29 diff --git a/src/main/resources/assets/hbm/models/selenium_engine_rotor.obj b/src/main/resources/assets/hbm/models/selenium_engine_rotor.obj deleted file mode 100644 index 7a4de9dad..000000000 --- a/src/main/resources/assets/hbm/models/selenium_engine_rotor.obj +++ /dev/null @@ -1,176 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'selenium_engine_rotor.blend' -# www.blender.org -o Cylinder.001_Cylinder.002 -v 0.000000 0.050000 -0.262500 -v 0.000000 0.050000 0.262500 -v -0.035355 -0.035355 -0.262500 -v -0.035355 -0.035355 0.262500 -v -0.050000 -0.000000 -0.262500 -v -0.050000 0.000000 0.262500 -v -0.035355 0.035355 -0.262500 -v -0.035355 0.035355 0.262500 -v 0.000000 0.150000 -0.262500 -v 0.000000 0.150000 0.262500 -v -0.106066 -0.106066 -0.262500 -v -0.106066 -0.106066 0.262500 -v -0.150000 -0.000000 -0.262500 -v -0.150000 0.000000 0.262500 -v -0.106066 0.106066 -0.262500 -v -0.106066 0.106066 0.262500 -v 0.035355 0.035355 0.325000 -v 0.000000 0.050000 0.325000 -v -0.035355 0.035355 0.325000 -v -0.050000 0.000000 0.325000 -v -0.035355 -0.035355 0.325000 -v -0.000000 -0.050000 0.325000 -v 0.035355 -0.035355 0.325000 -v 0.050000 0.000000 0.325000 -v 0.000000 0.050000 -0.325000 -v 0.035355 0.035355 -0.325000 -v 0.050000 -0.000000 -0.325000 -v 0.035355 -0.035355 -0.325000 -v -0.000000 -0.050000 -0.325000 -v -0.035355 -0.035355 -0.325000 -v -0.050000 -0.000000 -0.325000 -v -0.035355 0.035355 -0.325000 -vt 0.598952 0.123521 -vt 0.598952 0.565266 -vt 0.493775 0.565266 -vt 0.373026 0.565267 -vt 0.373025 0.123521 -vt 0.252276 0.565267 -vt 0.131527 0.565267 -vt 0.131527 0.123521 -vt 0.252276 0.123521 -vt 0.413275 0.662438 -vt 0.292526 0.662438 -vt 0.026349 0.123521 -vt 0.171777 0.662438 -vt 0.212026 0.026350 -vt 0.453525 0.026349 -vt 0.493774 0.123521 -vt 0.332775 0.026349 -vt 0.620400 0.895852 -vt 0.648861 0.827142 -vt 0.689111 0.924313 -vt 0.973650 0.520682 -vt 0.973650 0.573271 -vt 0.933400 0.573271 -vt 0.691901 0.573271 -vt 0.651650 0.573271 -vt 0.651650 0.520682 -vt 0.732151 0.573272 -vt 0.691901 0.520682 -vt 0.861451 0.925589 -vt 0.832990 0.897128 -vt 0.861450 0.828418 -vt 0.933400 0.520683 -vt 0.893150 0.026349 -vt 0.933401 0.078939 -vt 0.691902 0.026349 -vt 0.732152 0.026349 -vt 0.732152 0.078938 -vt 0.651652 0.026349 -vt 0.691902 0.078938 -vt 0.933401 0.026349 -vt 0.973651 0.026349 -vt 0.973651 0.078939 -vt 0.852901 0.573271 -vt 0.852901 0.026349 -vt 0.812651 0.573272 -vt 0.812651 0.026349 -vt 0.772402 0.573272 -vt 0.772402 0.026349 -vt 0.732151 0.520682 -vt 0.453525 0.662438 -vt 0.332776 0.662438 -vt 0.026349 0.565267 -vt 0.212027 0.662438 -vt 0.171776 0.026350 -vt 0.413275 0.026349 -vt 0.292525 0.026349 -vt 0.717572 0.855602 -vt 0.717572 0.895852 -vt 0.648861 0.924313 -vt 0.620400 0.855602 -vt 0.689111 0.827142 -vt 0.901700 0.828418 -vt 0.901700 0.925589 -vt 0.930161 0.856879 -vt 0.930161 0.897128 -vt 0.832990 0.856879 -vt 0.893151 0.573271 -vt 0.651652 0.078938 -vn 0.707100 -0.707100 0.000000 -vn -0.923900 -0.382700 0.000000 -vn -0.382700 0.923900 -0.000000 -vn -0.923900 0.382700 -0.000000 -vn 0.000000 0.000000 1.000000 -vn 1.000000 0.000000 0.000000 -vn 0.000000 0.000000 -1.000000 -vn 0.382700 0.923900 -0.000000 -vn 0.923900 0.382700 -0.000000 -vn 0.923900 -0.382700 0.000000 -vn 0.382700 -0.923900 0.000000 -vn -0.382700 -0.923900 0.000000 -s off -f 3/1/1 4/2/1 12/3/1 -f 12/3/2 14/4/2 13/5/2 -f 16/6/3 10/7/3 9/8/3 -f 14/4/4 16/6/4 15/9/4 -f 6/10/5 14/4/5 12/3/5 -f 8/11/5 16/6/5 14/4/5 -f 1/12/6 9/8/6 10/7/6 -f 2/13/5 10/7/5 16/6/5 -f 7/14/7 15/9/7 9/8/7 -f 3/15/7 11/16/7 13/5/7 -f 5/17/7 13/5/7 15/9/7 -f 20/18/5 22/19/5 18/20/5 -f 8/21/3 19/22/3 18/23/3 -f 20/24/4 19/25/4 8/26/4 -f 21/27/2 20/24/2 6/28/2 -f 29/29/7 30/30/7 32/31/7 -f 2/32/8 26/33/8 1/34/8 -f 31/35/2 30/36/2 3/37/2 -f 32/38/4 31/35/4 5/39/4 -f 25/40/3 32/41/3 7/42/3 -f 24/43/9 27/44/9 26/33/9 -f 23/45/10 28/46/10 27/44/10 -f 22/47/11 29/48/11 28/46/11 -f 29/48/12 22/47/12 4/49/12 -f 11/16/1 3/1/1 12/3/1 -f 11/16/2 12/3/2 13/5/2 -f 15/9/3 16/6/3 9/8/3 -f 13/5/4 14/4/4 15/9/4 -f 4/50/5 6/10/5 12/3/5 -f 6/51/5 8/11/5 14/4/5 -f 2/52/6 1/12/6 10/7/6 -f 8/53/5 2/13/5 16/6/5 -f 1/54/7 7/14/7 9/8/7 -f 5/55/7 3/15/7 13/5/7 -f 7/56/7 5/17/7 15/9/7 -f 24/57/5 17/58/5 18/20/5 -f 18/20/5 19/59/5 20/18/5 -f 20/18/5 21/60/5 22/19/5 -f 22/19/5 23/61/5 24/57/5 -f 24/57/5 18/20/5 22/19/5 -f 2/32/3 8/21/3 18/23/3 -f 6/28/4 20/24/4 8/26/4 -f 4/49/2 21/27/2 6/28/2 -f 32/31/7 25/62/7 28/63/7 -f 26/64/7 27/65/7 28/63/7 -f 28/63/7 29/29/7 32/31/7 -f 30/30/7 31/66/7 32/31/7 -f 25/62/7 26/64/7 28/63/7 -f 25/40/8 1/34/8 26/33/8 -f 2/32/8 18/23/8 17/67/8 -f 17/67/8 26/33/8 2/32/8 -f 5/39/2 31/35/2 3/37/2 -f 7/68/4 32/38/4 5/39/4 -f 1/34/3 25/40/3 7/42/3 -f 17/67/9 24/43/9 26/33/9 -f 24/43/10 23/45/10 27/44/10 -f 23/45/11 22/47/11 28/46/11 -f 4/49/12 3/37/12 29/48/12 -f 30/36/12 29/48/12 3/37/12 -f 22/47/12 21/27/12 4/49/12 diff --git a/src/main/resources/assets/hbm/models/trinkets/bobble.obj b/src/main/resources/assets/hbm/models/trinkets/bobble.obj index ca368efed..35e58fb51 100644 --- a/src/main/resources/assets/hbm/models/trinkets/bobble.obj +++ b/src/main/resources/assets/hbm/models/trinkets/bobble.obj @@ -1,179 +1,353 @@ -# Blender v2.79 (sub 0) OBJ File: 'bobble.blend' +# Blender 4.0.1 # www.blender.org -o PeepHat -v 0.281250 2.625000 -0.281250 -v 0.281250 2.625000 0.281250 -v -0.281250 2.625000 0.281250 -v -0.281250 2.625000 -0.281250 -v -0.281250 2.500000 -0.281250 -v -0.281250 2.500000 0.281250 -v 0.281250 2.500000 0.281250 -v 0.281250 2.500000 -0.281250 -v 0.000000 2.687500 0.062500 -v 0.000000 2.687500 -0.062500 -v 0.000000 2.625000 0.000000 -vt -0.000000 0.890625 -vt 0.015625 0.984375 -vt -0.000000 0.984375 -vt 0.125000 0.984375 -vt 0.109375 0.890625 -vt 0.125000 0.890625 -vt 0.015625 1.000000 -vt 0.109375 0.984375 -vt 0.109375 1.000000 -vt 0.109375 0.875000 -vt 0.015625 0.890625 -vt 0.015625 0.875000 -vt 0.000000 1.000000 -vt -0.000000 0.984375 -vt 0.015625 0.984375 -vn 0.0000 0.0000 1.0000 -vn 0.0000 0.0000 -1.0000 -vn -1.0000 0.0000 0.0000 -vn 1.0000 0.0000 0.0000 -vn 0.0000 1.0000 0.0000 -s off -f 7/1/1 3/2/1 6/3/1 -f 5/4/2 1/5/2 8/6/2 -f 6/7/3 4/8/3 5/9/3 -f 8/10/4 2/11/4 7/12/4 -f 2/11/5 4/8/5 3/2/5 -f 9/13/4 11/14/4 10/15/4 -f 7/1/1 2/11/1 3/2/1 -f 5/4/2 4/8/2 1/5/2 -f 6/7/3 3/2/3 4/8/3 -f 8/10/4 1/5/4 2/11/4 -f 2/11/5 1/5/5 4/8/5 -o PeepTail -v -0.114030 1.104741 -0.062500 -v -0.071277 0.987279 -0.062500 -v -0.114030 1.104741 0.062500 -v -0.071277 0.987279 0.062500 -v -0.583876 0.933731 -0.062500 -v -0.541124 0.816269 -0.062500 -v -0.583876 0.933731 0.062500 -v -0.541124 0.816269 0.062500 -v -0.547280 0.814373 0.062500 -v -0.704707 1.160419 0.125000 -v -0.547280 0.814373 -0.062500 -v -0.704707 1.160419 -0.125000 -v -0.426539 0.846725 0.062500 -v -0.463226 1.225123 0.125000 -v -0.426539 0.846725 -0.062500 -v -0.463226 1.225123 -0.125000 -v -0.801764 1.522641 0.125000 -v -0.801764 1.522641 -0.125000 -v -0.560283 1.587345 -0.125000 -v -0.560283 1.587345 0.125000 -v -0.757570 1.599187 0.062500 -v -0.757570 1.599187 -0.062500 -v -0.636829 1.631540 -0.062500 -v -0.636829 1.631540 0.062500 -vt 0.937500 0.562500 -vt 0.968750 0.687500 -vt 0.937500 0.687500 -vt 0.968750 0.687500 -vt 0.937500 0.562500 -vt 0.968750 0.562500 -vt 0.937500 0.687500 -vt 0.968750 0.562500 -vt 0.968750 0.687500 -vt 0.968750 0.562500 -vt 0.937500 0.687500 -vt 0.937500 0.562500 -vt 0.937500 0.546875 -vt 0.890625 0.453125 -vt 0.921875 0.453125 -vt 0.937500 0.546875 -vt 0.890625 0.453125 -vt 0.921875 0.453125 -vt 0.937500 0.546875 -vt 0.890625 0.453125 -vt 0.921875 0.453125 -vt 0.937500 0.546875 -vt 0.890625 0.453125 -vt 0.921875 0.453125 -vt 0.890625 0.421875 -vt 0.875000 0.640625 -vt 0.875000 0.546875 -vt 0.937500 0.640625 -vt 0.890625 0.656250 -vt 0.875000 0.640625 -vt 0.875000 0.546875 -vt 0.875000 0.640625 -vt 0.875000 0.546875 -vt 0.875000 0.640625 -vt 0.875000 0.546875 -vt 0.921875 0.687500 -vt 0.890625 0.687500 -vt 0.921875 0.656250 -vt 0.890625 0.656250 -vt 0.937500 0.640625 -vt 0.890625 0.656250 -vt 0.937500 0.640625 -vt 0.890625 0.656250 -vt 0.968750 0.562500 -vt 0.937500 0.687500 -vt 0.937500 0.562500 -vt 0.968750 0.687500 -vt 0.921875 0.421875 -vt 0.921875 0.656250 -vt 0.937500 0.640625 -vt 0.921875 0.656250 -vt 0.921875 0.656250 -vn -0.3420 0.9397 0.0000 -vn 0.3420 -0.9397 0.0000 -vn 0.0000 0.0000 1.0000 -vn 0.0000 0.0000 -1.0000 -vn -0.9102 -0.4141 0.0000 -vn 0.0425 -0.1588 -0.9864 -vn 0.9953 0.0965 0.0000 -vn 0.0425 -0.1588 0.9864 -vn 0.2588 -0.9659 0.0000 -vn 0.9659 0.2588 0.0000 -vn -0.8660 0.5000 0.0000 -vn -0.9659 -0.2588 0.0000 -vn -0.2588 0.9659 0.0000 -vn -0.1830 0.6830 0.7071 -vn -0.1830 0.6830 -0.7071 -vn 0.5000 0.8660 0.0000 -s off -f 16/16/6 14/17/6 12/18/6 -f 13/19/7 19/20/7 17/21/7 -f 14/22/8 19/23/8 15/24/8 -f 16/25/9 13/26/9 17/27/9 -f 21/28/10 22/29/10 20/30/10 -f 23/31/11 26/32/11 22/33/11 -f 27/34/12 24/35/12 26/36/12 -f 25/37/13 20/38/13 24/39/13 -f 26/40/14 20/30/14 22/29/14 -f 27/34/15 31/41/15 25/42/15 -f 28/43/16 33/44/16 29/45/16 -f 21/28/17 29/45/17 23/46/17 -f 25/37/8 28/47/8 21/48/8 -f 23/31/9 30/49/9 27/50/9 -f 33/44/18 35/51/18 34/52/18 -f 28/47/19 35/53/19 32/54/19 -f 29/55/20 34/56/20 30/49/20 -f 30/57/21 35/58/21 31/41/21 -f 16/16/6 18/59/6 14/17/6 -f 13/19/7 15/60/7 19/20/7 -f 14/22/8 18/61/8 19/23/8 -f 16/25/9 12/62/9 13/26/9 -f 21/28/10 23/46/10 22/29/10 -f 23/31/11 27/50/11 26/32/11 -f 27/34/12 25/42/12 24/35/12 -f 25/37/13 21/48/13 20/38/13 -f 26/40/14 24/63/14 20/30/14 -f 27/34/15 30/57/15 31/41/15 -f 28/43/16 32/64/16 33/44/16 -f 21/28/17 28/43/17 29/45/17 -f 25/37/8 31/65/8 28/47/8 -f 23/31/9 29/55/9 30/49/9 -f 33/44/18 32/64/18 35/51/18 -f 28/47/19 31/65/19 35/53/19 -f 29/55/20 33/66/20 34/56/20 -f 30/57/21 34/67/21 35/58/21 +o Body +v 0.125000 1.750000 0.250000 +v -0.125000 1.750000 0.250000 +v 0.125000 1.750000 -0.250000 +v -0.125000 1.750000 -0.250000 +v 0.125000 1.000000 0.250000 +v -0.125000 1.000000 0.250000 +v -0.125000 1.000000 -0.250000 +v 0.125000 1.000000 -0.250000 +v 0.156250 1.781250 0.281250 +v -0.156250 1.781250 0.281250 +v 0.156250 1.781250 -0.281250 +v -0.156250 1.781250 -0.281250 +v 0.156250 0.968750 0.281250 +v -0.156250 0.968750 0.281250 +v -0.156250 0.968750 -0.281250 +v 0.156250 0.968750 -0.281250 +vn -0.0000 1.0000 -0.0000 +vn -0.0000 -1.0000 -0.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 1.0000 +vt 0.312500 0.687500 +vt 0.437500 0.750000 +vt 0.312500 0.750000 +vt 0.562500 0.687500 +vt 0.562500 0.750000 +vt 0.500000 0.687500 +vt 0.625000 0.500000 +vt 0.625000 0.687500 +vt 0.437500 0.687500 +vt 0.500000 0.500000 +vt 0.437500 0.500000 +vt 0.250000 0.687500 +vt 0.312500 0.500000 +vt 0.312500 0.437500 +vt 0.562500 0.500000 +vt 0.437500 0.437500 +vt 0.562500 0.437500 +vt 0.500000 0.437500 +vt 0.625000 0.250000 +vt 0.625000 0.437500 +vt 0.500000 0.250000 +vt 0.437500 0.250000 +vt 0.250000 0.437500 +vt 0.312500 0.250000 +vt 0.250000 0.500000 +vt 0.250000 0.250000 +s 0 +f 1/1/1 4/2/1 2/3/1 +f 7/2/2 5/4/2 6/5/2 +f 4/6/3 6/7/3 2/8/3 +f 3/9/4 7/10/4 4/6/4 +f 1/1/5 8/11/5 3/9/5 +f 2/12/6 5/13/6 1/1/6 +f 9/14/1 12/11/1 10/13/1 +f 14/15/2 16/16/2 13/17/2 +f 12/18/3 14/19/3 10/20/3 +f 11/16/4 15/21/4 12/18/4 +f 9/14/5 16/22/5 11/16/5 +f 10/23/6 13/24/6 9/14/6 +f 1/1/1 3/9/1 4/2/1 +f 7/2/2 8/9/2 5/4/2 +f 4/6/3 7/10/3 6/7/3 +f 3/9/4 8/11/4 7/10/4 +f 1/1/5 5/13/5 8/11/5 +f 2/12/6 6/25/6 5/13/6 +f 9/14/1 11/16/1 12/11/1 +f 14/15/2 15/11/2 16/16/2 +f 12/18/3 15/21/3 14/19/3 +f 11/16/4 16/22/4 15/21/4 +f 9/14/5 13/24/5 16/22/5 +f 10/23/6 14/26/6 13/24/6 +o Body17 +v 0.125000 1.750000 0.250000 +v -0.125000 1.750000 0.250000 +v 0.125000 1.750000 -0.250000 +v -0.125000 1.750000 -0.250000 +v 0.125000 1.000000 0.250000 +v -0.125000 1.000000 0.250000 +v -0.125000 1.000000 -0.250000 +v 0.125000 1.000000 -0.250000 +vn -0.0000 1.0000 -0.0000 +vn -0.0000 -1.0000 -0.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 1.0000 +vt 0.312500 0.375000 +vt 0.437500 0.500000 +vt 0.312500 0.500000 +vt 0.562500 0.375000 +vt 0.562500 0.500000 +vt 0.500000 0.375000 +vt 0.625000 -0.000000 +vt 0.625000 0.375000 +vt 0.437500 0.375000 +vt 0.500000 -0.000000 +vt 0.437500 -0.000000 +vt 0.250000 0.375000 +vt 0.312500 -0.000000 +vt 0.250000 -0.000000 +s 0 +f 17/27/7 20/28/7 18/29/7 +f 23/28/8 21/30/8 22/31/8 +f 20/32/9 22/33/9 18/34/9 +f 19/35/10 23/36/10 20/32/10 +f 17/27/11 24/37/11 19/35/11 +f 18/38/12 21/39/12 17/27/12 +f 17/27/7 19/35/7 20/28/7 +f 23/28/8 24/35/8 21/30/8 +f 20/32/9 23/36/9 22/33/9 +f 19/35/10 24/37/10 23/36/10 +f 17/27/11 21/39/11 24/37/11 +f 18/38/12 22/40/12 21/39/12 +o Cube +v 0.045753 0.237741 0.312500 +v 0.045753 0.737741 0.312500 +v 0.045753 0.237741 0.062500 +v 0.045753 0.737741 0.062500 +v 0.295753 0.237741 0.312500 +v 0.295753 0.737741 0.312500 +v 0.295753 0.237741 0.062500 +v 0.295753 0.737741 0.062500 +v -0.291506 0.316987 -0.062500 +v -0.041506 0.750000 -0.062500 +v -0.291506 0.316987 -0.312500 +v -0.041506 0.750000 -0.312500 +v -0.075000 0.191987 -0.062500 +v 0.175000 0.625000 -0.062500 +v -0.075000 0.191987 -0.312500 +v 0.175000 0.625000 -0.312500 +v 0.079247 0.612741 0.312500 +v -0.170753 1.045753 0.312500 +v 0.079247 0.612741 0.062500 +v -0.170753 1.045753 0.062500 +v 0.295753 0.737741 0.312500 +v 0.045753 1.170753 0.312500 +v 0.295753 0.737741 0.062500 +v 0.045753 1.170753 0.062500 +v -0.075000 0.625000 -0.062500 +v -0.075000 1.125000 -0.062500 +v -0.075000 0.625000 -0.312500 +v -0.075000 1.125000 -0.312500 +v 0.175000 0.625000 -0.062500 +v 0.175000 1.125000 -0.062500 +v 0.175000 0.625000 -0.312500 +v 0.175000 1.125000 -0.312500 +v -0.125000 1.000000 0.250000 +v 0.125000 1.000000 0.250000 +v -0.125000 1.000000 -0.250000 +v 0.125000 1.000000 -0.250000 +v -0.125000 1.250000 -0.250000 +v -0.125000 1.250000 0.250000 +v 0.125000 1.250000 0.250000 +v 0.125000 1.250000 -0.250000 +v -0.187500 1.250000 0.375000 +v 0.187500 1.250000 0.375000 +v -0.187500 1.250000 -0.375000 +v 0.187500 1.250000 -0.375000 +v -0.187500 1.750000 -0.375000 +v -0.187500 1.750000 0.375000 +v 0.187500 1.750000 0.375000 +v 0.187500 1.750000 -0.375000 +v 0.232576 1.266670 -0.066987 +v 0.041065 1.427367 -0.500000 +v 0.398429 1.127502 -0.191987 +v 0.206918 1.288199 -0.625000 +v 0.393273 1.458181 -0.066987 +v 0.201762 1.618878 -0.500000 +v 0.559126 1.319013 -0.191987 +v 0.367615 1.479710 -0.625000 +v 0.206918 1.288199 -0.375000 +v -0.176104 1.609593 -0.375000 +v 0.206918 1.288199 -0.625000 +v -0.176104 1.609593 -0.625000 +v 0.367615 1.479710 -0.375000 +v -0.015407 1.801104 -0.375000 +v 0.367615 1.479710 -0.625000 +v -0.015407 1.801104 -0.625000 +v 0.125000 1.871693 0.950891 +v 0.125000 1.438680 0.700891 +v 0.125000 1.996693 0.734384 +v 0.125000 1.563680 0.484384 +v -0.125000 1.871693 0.950891 +v -0.125000 1.438680 0.700891 +v -0.125000 1.996693 0.734384 +v -0.125000 1.563680 0.484384 +v 0.125000 1.438680 0.700891 +v 0.125000 1.525504 0.208487 +v 0.125000 1.684882 0.744303 +v 0.125000 1.771706 0.251899 +v -0.125000 1.438680 0.700891 +v -0.125000 1.525504 0.208487 +v -0.125000 1.684882 0.744303 +v -0.125000 1.771706 0.251899 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn -0.0000 -1.0000 -0.0000 +vn -0.0000 1.0000 -0.0000 +vn -0.8660 0.5000 -0.0000 +vn 0.8660 -0.5000 -0.0000 +vn -0.5000 -0.8660 -0.0000 +vn 0.5000 0.8660 -0.0000 +vn -0.8660 -0.5000 -0.0000 +vn 0.8660 0.5000 -0.0000 +vn 0.5000 -0.8660 -0.0000 +vn -0.5000 0.8660 -0.0000 +vn -0.6428 -0.7660 -0.0000 +vn 0.6634 -0.5567 -0.5000 +vn 0.6428 0.7660 -0.0000 +vn -0.6634 0.5567 0.5000 +vn 0.3830 -0.3214 0.8660 +vn -0.3830 0.3214 -0.8660 +vn 0.7660 -0.6428 -0.0000 +vn -0.7660 0.6428 -0.0000 +vn -0.0000 0.5000 -0.8660 +vn -0.0000 -0.5000 0.8660 +vn -0.0000 0.8660 0.5000 +vn -0.0000 -0.8660 -0.5000 +vn -0.0000 0.9848 0.1736 +vn -0.0000 -0.9848 -0.1736 +vn -0.0000 -0.1736 0.9848 +vn -0.0000 0.1736 -0.9848 +s 0 +f 26//13 27//13 25//13 +f 28//14 31//14 27//14 +f 32//15 29//15 31//15 +f 30//16 25//16 29//16 +f 31//17 25//17 27//17 +f 28//18 30//18 32//18 +f 34//19 35//19 33//19 +f 35//14 40//14 39//14 +f 40//20 37//20 39//20 +f 38//16 33//16 37//16 +f 39//21 33//21 35//21 +f 36//22 38//22 40//22 +f 42//23 43//23 41//23 +f 44//14 47//14 43//14 +f 48//24 45//24 47//24 +f 45//16 42//16 41//16 +f 47//25 41//25 43//25 +f 44//26 46//26 48//26 +f 50//13 51//13 49//13 +f 52//14 55//14 51//14 +f 56//15 53//15 55//15 +f 54//16 49//16 53//16 +f 55//17 49//17 51//17 +f 52//18 54//18 56//18 +f 59//17 58//17 57//17 +f 63//18 61//18 62//18 +f 59//14 64//14 60//14 +f 58//16 62//16 57//16 +f 60//15 63//15 58//15 +f 57//13 61//13 59//13 +f 67//17 66//17 65//17 +f 71//18 69//18 70//18 +f 68//15 71//15 66//15 +f 65//13 69//13 67//13 +f 67//14 72//14 68//14 +f 66//16 70//16 65//16 +f 74//27 75//27 73//27 +f 76//28 79//28 75//28 +f 79//29 78//29 77//29 +f 78//30 73//30 77//30 +f 75//31 77//31 73//31 +f 76//32 78//32 80//32 +f 82//27 83//27 81//27 +f 84//14 87//14 83//14 +f 88//29 85//29 87//29 +f 85//16 82//16 81//16 +f 87//33 81//33 83//33 +f 84//34 86//34 88//34 +f 90//15 91//15 89//15 +f 92//35 95//35 91//35 +f 96//13 93//13 95//13 +f 94//36 89//36 93//36 +f 95//37 89//37 91//37 +f 92//38 94//38 96//38 +f 98//15 99//15 97//15 +f 100//39 103//39 99//39 +f 103//13 102//13 101//13 +f 102//40 97//40 101//40 +f 103//41 97//41 99//41 +f 100//42 102//42 104//42 +f 26//13 28//13 27//13 +f 28//14 32//14 31//14 +f 32//15 30//15 29//15 +f 30//16 26//16 25//16 +f 31//17 29//17 25//17 +f 28//18 26//18 30//18 +f 34//19 36//19 35//19 +f 35//14 36//14 40//14 +f 40//20 38//20 37//20 +f 38//16 34//16 33//16 +f 39//21 37//21 33//21 +f 36//22 34//22 38//22 +f 42//23 44//23 43//23 +f 44//14 48//14 47//14 +f 48//24 46//24 45//24 +f 45//16 46//16 42//16 +f 47//25 45//25 41//25 +f 44//26 42//26 46//26 +f 50//13 52//13 51//13 +f 52//14 56//14 55//14 +f 56//15 54//15 53//15 +f 54//16 50//16 49//16 +f 55//17 53//17 49//17 +f 52//18 50//18 54//18 +f 59//17 60//17 58//17 +f 63//18 64//18 61//18 +f 59//14 61//14 64//14 +f 58//16 63//16 62//16 +f 60//15 64//15 63//15 +f 57//13 62//13 61//13 +f 67//17 68//17 66//17 +f 71//18 72//18 69//18 +f 68//15 72//15 71//15 +f 65//13 70//13 69//13 +f 67//14 69//14 72//14 +f 66//16 71//16 70//16 +f 74//27 76//27 75//27 +f 76//28 80//28 79//28 +f 79//29 80//29 78//29 +f 78//30 74//30 73//30 +f 75//31 79//31 77//31 +f 76//32 74//32 78//32 +f 82//27 84//27 83//27 +f 84//14 88//14 87//14 +f 88//29 86//29 85//29 +f 85//16 86//16 82//16 +f 87//33 85//33 81//33 +f 84//34 82//34 86//34 +f 90//15 92//15 91//15 +f 92//35 96//35 95//35 +f 96//13 94//13 93//13 +f 94//36 90//36 89//36 +f 95//37 93//37 89//37 +f 92//38 90//38 94//38 +f 98//15 100//15 99//15 +f 100//39 104//39 103//39 +f 103//13 104//13 102//13 +f 102//40 98//40 97//40 +f 103//41 101//41 97//41 +f 100//42 98//42 102//42 o Drillgon v -0.250000 0.500000 0.437500 v -0.250000 1.125000 0.437500 @@ -277,6 +451,31 @@ v 0.062500 0.687500 0.625000 v -0.062500 0.687500 0.625000 v 0.062500 0.500000 0.437500 v -0.062500 0.500000 0.437500 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn -0.0000 0.3162 -0.9487 +vn 0.9487 0.3162 -0.0000 +vn -0.0000 0.3162 0.9487 +vn -0.0000 -1.0000 -0.0000 +vn -0.0000 -0.7071 0.7071 +vn -0.0000 -0.7071 -0.7071 +vn -0.7071 -0.0000 -0.7071 +vn 0.7071 -0.0000 -0.7071 +vn 0.7071 -0.0000 0.7071 +vn -0.7071 -0.0000 0.7071 +vn -0.0000 1.0000 -0.0000 +vn -0.9487 -0.0000 -0.3162 +vn -0.0000 0.9487 -0.3162 +vn 0.9487 -0.0000 -0.3162 +vn -0.0000 -0.9487 -0.3162 +vn -0.0000 0.9487 0.3162 +vn -0.9487 -0.0000 0.3162 +vn 0.9487 -0.0000 0.3162 +vn -0.0000 -0.9487 0.3162 +vn -0.0000 0.7071 0.7071 +vn -0.0000 0.7071 -0.7071 vt 0.846154 0.540541 vt 0.576923 0.270270 vt 0.846154 0.270270 @@ -310,19 +509,6 @@ vt 0.961538 0.054054 vt 0.884615 0.000000 vt 0.961538 0.000000 vt 0.884615 0.054054 -vt 0.846154 0.270270 -vt 0.846154 0.054054 -vt 0.884615 0.270270 -vt 0.961538 0.324324 -vt 0.884615 0.324324 -vt 0.961538 0.270270 -vt 1.000000 0.054054 -vt 1.000000 0.270270 -vt 0.961538 0.054054 -vt 0.884615 0.000000 -vt 0.961538 0.000000 -vt 0.884615 0.054054 -vt 0.846154 0.270270 vt 0.846154 0.054054 vt 0.384615 1.000000 vt 0.384615 0.837838 @@ -332,61 +518,13 @@ vt 0.000000 0.837838 vt 0.576923 0.702703 vt 0.461538 0.837838 vt 0.461538 0.108108 -vt 0.384615 -0.000000 -vt 0.461538 -0.000000 vt 0.461538 -0.000000 vt 0.480769 0.081081 -vt 0.461538 0.108108 -vt 0.384615 -0.000000 vt 0.384615 0.108108 -vt 0.461538 -0.000000 -vt 0.480769 0.081081 -vt 0.461538 0.108108 -vt 0.384615 -0.000000 -vt 0.461538 0.108108 -vt 0.384615 0.108108 -vt 0.384615 -0.000000 -vt 0.384615 0.108108 -vt 0.384615 -0.000000 -vt 0.461538 0.108108 -vt 0.384615 0.108108 -vt 0.461538 -0.000000 -vt 0.480769 0.081081 -vt 0.461538 0.108108 -vt 0.384615 -0.000000 vt 0.480769 0.027027 vt 0.538462 0.108108 -vt 0.480769 0.081081 -vt 0.461538 0.108108 -vt 0.384615 -0.000000 -vt 0.461538 -0.000000 -vt 0.461538 0.108108 -vt 0.384615 0.000000 -vt 0.461538 -0.000000 -vt 0.461538 -0.000000 -vt 0.480769 0.081081 -vt 0.538462 0.108108 vt 0.615385 -0.000000 vt 0.615385 0.108108 -vt 0.480769 0.027027 -vt 0.480769 0.027027 -vt 0.538462 0.108108 -vt 0.480769 0.027027 -vt 0.538462 0.108108 -vt 0.480769 0.027027 -vt 0.538462 0.108108 -vt 0.480769 0.081081 -vt 0.480769 0.081081 -vt 0.461538 -0.000000 -vt 0.480769 0.081081 -vt 0.615385 -0.000000 -vt 0.615385 0.108108 -vt 0.480769 0.027027 -vt 0.538462 0.108108 -vt 0.480769 0.027027 -vt 0.538462 0.108108 -vt 0.480769 0.027027 -vt 0.538462 0.108108 vt 0.192308 0.162162 vt 0.153846 0.108108 vt 0.192308 0.108108 @@ -396,7 +534,6 @@ vt 0.115385 0.162162 vt 0.076923 0.108108 vt 0.115385 0.054054 vt 0.153846 0.054054 -vt 0.153846 0.216216 vt 0.961538 0.459459 vt 0.923077 0.540541 vt 0.923077 0.432432 @@ -410,21 +547,6 @@ vt 0.884615 0.432432 vt 0.923077 0.324324 vt 0.846154 0.459459 vt 0.846154 0.405405 -vt 0.884615 0.324324 -vt 0.961538 0.459459 -vt 0.923077 0.540541 -vt 0.923077 0.432432 -vt 1.000000 0.459459 -vt 0.961538 0.513514 -vt 1.000000 0.351351 -vt 0.961538 0.405405 -vt 0.961538 0.351351 -vt 0.884615 0.432432 -vt 0.923077 0.324324 -vt 0.884615 0.540541 -vt 0.846154 0.459459 -vt 0.846154 0.405405 -vt 0.884615 0.324324 vt 0.192308 0.216216 vt -0.000000 0.216216 vt 0.423077 0.216216 @@ -433,17 +555,6 @@ vt 0.192308 1.000000 vt 0.807692 0.837838 vt 0.115385 0.837838 vt 0.576923 0.837838 -vt 0.384615 0.108108 -vt 0.384615 0.108108 -vt 0.538462 -0.000000 -vt 0.384615 0.108108 -vt 0.384615 0.108108 -vt 0.538462 -0.000000 -vt 0.538462 -0.000000 -vt 0.538462 -0.000000 -vt 0.538462 -0.000000 -vt 0.538462 -0.000000 -vt 0.538462 -0.000000 vt 0.538462 -0.000000 vt 0.076923 0.162162 vt 0.115385 0.216216 @@ -451,637 +562,158 @@ vt 1.000000 0.513514 vt 1.000000 0.405405 vt 0.846154 0.513514 vt 0.846154 0.351351 -vt 1.000000 0.513514 -vt 1.000000 0.405405 -vt 0.846154 0.513514 -vt 0.846154 0.351351 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 1.0000 0.0000 0.0000 -vn 0.0000 0.0000 1.0000 -vn 0.0000 0.3162 -0.9487 -vn 0.9487 0.3162 0.0000 -vn 0.0000 0.3162 0.9487 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 -0.7071 0.7071 -vn 0.0000 -0.7071 -0.7071 -vn -0.7071 0.0000 -0.7071 -vn 0.7071 0.0000 -0.7071 -vn 0.7071 0.0000 0.7071 -vn -0.7071 0.0000 0.7071 -vn 0.0000 1.0000 -0.0000 -vn -0.9487 0.0000 -0.3162 -vn 0.0000 0.9487 -0.3162 -vn 0.9487 0.0000 -0.3162 -vn 0.0000 -0.9487 -0.3162 -vn 0.0000 0.9487 0.3162 -vn -0.9487 0.0000 0.3162 -vn 0.9487 0.0000 0.3162 -vn 0.0000 -0.9487 0.3162 -vn 0.0000 0.7071 0.7071 -vn 0.0000 0.7071 -0.7071 -s off -f 37/68/22 38/69/22 36/70/22 -f 39/71/23 42/72/23 38/69/23 -f 43/73/24 40/74/24 42/72/24 -f 41/75/25 36/76/25 40/74/25 -f 40/74/24 50/77/24 42/72/24 -f 39/71/26 46/78/26 43/73/26 -f 46/79/24 71/80/24 47/81/24 -f 43/73/27 47/81/27 41/75/27 -f 37/68/22 45/82/22 39/71/22 -f 37/83/28 47/84/28 44/85/28 -f 50/77/29 49/86/29 48/87/29 -f 36/76/30 51/88/30 40/74/30 -f 42/72/31 48/89/31 38/69/31 -f 38/69/22 49/90/22 36/70/22 -f 53/91/32 54/92/32 52/93/32 -f 55/94/33 58/95/33 54/96/33 -f 59/97/34 56/98/34 58/99/34 -f 57/100/35 52/101/35 56/102/35 -f 55/94/36 57/100/36 59/97/36 -f 61/103/35 62/104/35 60/105/35 -f 63/106/32 66/107/32 62/108/32 -f 67/109/33 64/110/33 66/111/33 -f 65/112/34 60/113/34 64/114/34 -f 63/106/36 65/112/36 67/109/36 -f 69/115/36 71/80/36 70/116/36 -f 44/117/22 69/118/22 45/82/22 -f 47/84/25 68/119/25 44/85/25 -f 45/120/23 70/121/23 46/78/23 -f 73/122/22 74/123/22 72/124/22 -f 77/125/25 91/126/25 76/127/25 -f 79/128/24 76/127/24 78/129/24 -f 73/130/25 90/131/25 77/132/25 -f 78/133/29 72/134/29 74/135/29 -f 75/136/36 77/132/36 79/137/36 -f 81/138/22 82/139/22 80/140/22 -f 86/141/23 99/142/23 87/143/23 -f 87/143/24 84/144/24 86/141/24 -f 88/145/37 93/146/37 89/147/37 -f 86/148/29 80/149/29 82/150/29 -f 83/151/36 85/152/36 87/153/36 -f 72/124/25 89/147/25 73/122/25 -f 76/154/25 88/155/25 72/134/25 -f 94/156/25 92/157/25 95/158/25 -f 89/159/38 94/156/38 90/131/38 -f 90/160/39 95/161/39 91/126/39 -f 91/162/40 92/163/40 88/155/40 -f 99/164/41 100/165/41 96/166/41 -f 82/150/23 98/167/23 86/148/23 -f 87/153/23 96/166/23 83/151/23 -f 83/168/23 97/169/23 82/139/23 -f 100/165/23 102/170/23 101/171/23 -f 96/172/42 101/173/42 97/169/42 -f 98/174/43 103/175/43 99/142/43 -f 97/176/44 102/177/44 98/167/44 -f 107/178/23 110/179/23 106/180/23 -f 111/181/24 108/182/24 110/179/24 -f 109/183/25 104/184/25 108/182/25 -f 110/179/29 104/185/29 106/186/29 -f 107/187/36 109/183/36 111/181/36 -f 119/188/22 121/189/22 123/190/22 -f 118/191/30 116/192/30 119/188/30 -f 114/193/45 119/194/45 113/195/45 -f 122/196/46 123/190/46 121/189/46 -f 124/197/31 125/198/31 123/190/31 -f 122/196/24 118/199/24 124/197/24 -f 125/198/22 119/194/22 123/190/22 -f 118/200/24 126/201/24 124/197/24 -f 131/202/24 132/203/24 134/204/24 -f 130/205/31 129/206/31 131/202/31 -f 127/207/46 131/208/46 112/209/46 -f 132/203/45 135/210/45 134/204/45 -f 135/210/30 136/211/30 134/204/30 -f 133/212/22 130/213/22 135/210/22 -f 136/211/24 131/208/24 134/204/24 -f 130/214/22 137/215/22 135/210/22 -f 37/68/22 39/71/22 38/69/22 -f 39/71/23 43/73/23 42/72/23 -f 43/73/24 41/75/24 40/74/24 -f 41/75/25 37/83/25 36/76/25 -f 40/74/24 51/216/24 50/77/24 -f 39/71/26 45/120/26 46/78/26 -f 46/79/24 70/116/24 71/80/24 -f 43/73/27 46/79/27 47/81/27 -f 37/68/22 44/117/22 45/82/22 -f 37/83/28 41/75/28 47/84/28 -f 50/77/29 51/216/29 49/86/29 -f 36/76/30 49/217/30 51/88/30 -f 42/72/31 50/218/31 48/89/31 -f 38/69/22 48/219/22 49/90/22 -f 53/91/32 55/94/32 54/92/32 -f 55/94/33 59/97/33 58/95/33 -f 59/97/34 57/100/34 56/98/34 -f 57/100/35 53/91/35 52/101/35 -f 55/94/36 53/91/36 57/100/36 -f 61/103/35 63/106/35 62/104/35 -f 63/106/32 67/109/32 66/107/32 -f 67/109/33 65/112/33 64/110/33 -f 65/112/34 61/103/34 60/113/34 -f 63/106/36 61/103/36 65/112/36 -f 69/115/36 68/220/36 71/80/36 -f 44/117/22 68/221/22 69/118/22 -f 47/84/25 71/222/25 68/119/25 -f 45/120/23 69/223/23 70/121/23 -f 73/122/22 75/224/22 74/123/22 -f 77/125/25 90/160/25 91/126/25 -f 79/128/24 77/125/24 76/127/24 -f 73/130/25 89/159/25 90/131/25 -f 78/133/29 76/154/29 72/134/29 -f 75/136/36 73/130/36 77/132/36 -f 81/138/22 83/168/22 82/139/22 -f 86/141/23 98/174/23 99/142/23 -f 87/143/24 85/225/24 84/144/24 -f 88/145/37 92/226/37 93/146/37 -f 86/148/29 84/227/29 80/149/29 -f 83/151/36 81/228/36 85/152/36 -f 72/124/25 88/145/25 89/147/25 -f 76/154/25 91/162/25 88/155/25 -f 94/156/25 93/229/25 92/157/25 -f 89/159/38 93/229/38 94/156/38 -f 90/160/39 94/230/39 95/161/39 -f 91/162/40 95/231/40 92/163/40 -f 99/164/41 103/232/41 100/165/41 -f 82/150/23 97/176/23 98/167/23 -f 87/153/23 99/164/23 96/166/23 -f 83/168/23 96/172/23 97/169/23 -f 100/165/23 103/232/23 102/170/23 -f 96/172/42 100/233/42 101/173/42 -f 98/174/43 102/234/43 103/175/43 -f 97/176/44 101/235/44 102/177/44 -f 107/178/23 111/181/23 110/179/23 -f 111/181/24 109/183/24 108/182/24 -f 109/183/25 105/236/25 104/184/25 -f 110/179/29 108/182/29 104/185/29 -f 107/187/36 105/237/36 109/183/36 -f 119/188/22 116/192/22 121/189/22 -f 118/191/30 115/238/30 116/192/30 -f 114/193/45 118/239/45 119/194/45 -f 122/196/46 124/197/46 123/190/46 -f 124/197/31 126/201/31 125/198/31 -f 122/196/24 115/240/24 118/199/24 -f 125/198/22 113/195/22 119/194/22 -f 118/200/24 114/241/24 126/201/24 -f 131/202/24 129/206/24 132/203/24 -f 130/205/31 128/242/31 129/206/31 -f 127/207/46 130/243/46 131/208/46 -f 132/203/45 133/212/45 135/210/45 -f 135/210/30 137/215/30 136/211/30 -f 133/212/22 128/244/22 130/213/22 -f 136/211/24 112/209/24 131/208/24 -f 130/214/22 127/245/22 137/215/22 -l 117 120 -o Cube -v 0.045753 0.237741 0.312500 -v 0.045753 0.737741 0.312500 -v 0.045753 0.237741 0.062500 -v 0.045753 0.737741 0.062500 -v 0.295753 0.237741 0.312500 -v 0.295753 0.737741 0.312500 -v 0.295753 0.237741 0.062500 -v 0.295753 0.737741 0.062500 -v -0.291506 0.316987 -0.062500 -v -0.041506 0.750000 -0.062500 -v -0.291506 0.316987 -0.312500 -v -0.041506 0.750000 -0.312500 -v -0.075000 0.191987 -0.062500 -v 0.175000 0.625000 -0.062500 -v -0.075000 0.191987 -0.312500 -v 0.175000 0.625000 -0.312500 -v 0.079247 0.612741 0.312500 -v -0.170753 1.045753 0.312500 -v 0.079247 0.612741 0.062500 -v -0.170753 1.045753 0.062500 -v 0.295753 0.737741 0.312500 -v 0.045753 1.170753 0.312500 -v 0.295753 0.737741 0.062500 -v 0.045753 1.170753 0.062500 -v -0.075000 0.625000 -0.062500 -v -0.075000 1.125000 -0.062500 -v -0.075000 0.625000 -0.312500 -v -0.075000 1.125000 -0.312500 -v 0.175000 0.625000 -0.062500 -v 0.175000 1.125000 -0.062500 -v 0.175000 0.625000 -0.312500 -v 0.175000 1.125000 -0.312500 -v -0.125000 1.000000 0.250000 -v 0.125000 1.000000 0.250000 -v -0.125000 1.000000 -0.250000 -v 0.125000 1.000000 -0.250000 -v -0.125000 1.250000 -0.250000 -v -0.125000 1.250000 0.250000 -v 0.125000 1.250000 0.250000 -v 0.125000 1.250000 -0.250000 -v -0.187500 1.250000 0.375000 -v 0.187500 1.250000 0.375000 -v -0.187500 1.250000 -0.375000 -v 0.187500 1.250000 -0.375000 -v -0.187500 1.750000 -0.375000 -v -0.187500 1.750000 0.375000 -v 0.187500 1.750000 0.375000 -v 0.187500 1.750000 -0.375000 -v 0.232576 1.266670 -0.066987 -v 0.041065 1.427367 -0.500000 -v 0.398429 1.127502 -0.191987 -v 0.206918 1.288199 -0.625000 -v 0.393273 1.458181 -0.066987 -v 0.201762 1.618878 -0.500000 -v 0.559126 1.319013 -0.191987 -v 0.367615 1.479710 -0.625000 -v 0.206918 1.288199 -0.375000 -v -0.176104 1.609593 -0.375000 -v 0.206918 1.288199 -0.625000 -v -0.176104 1.609593 -0.625000 -v 0.367615 1.479710 -0.375000 -v -0.015407 1.801104 -0.375000 -v 0.367615 1.479710 -0.625000 -v -0.015407 1.801104 -0.625000 -v 0.125000 1.871693 0.950891 -v 0.125000 1.438680 0.700891 -v 0.125000 1.996693 0.734384 -v 0.125000 1.563680 0.484384 -v -0.125000 1.871693 0.950891 -v -0.125000 1.438680 0.700891 -v -0.125000 1.996693 0.734384 -v -0.125000 1.563680 0.484384 -v 0.125000 1.438680 0.700891 -v 0.125000 1.525504 0.208487 -v 0.125000 1.684882 0.744303 -v 0.125000 1.771706 0.251899 -v -0.125000 1.438680 0.700891 -v -0.125000 1.525504 0.208487 -v -0.125000 1.684882 0.744303 -v -0.125000 1.771706 0.251899 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 1.0000 0.0000 0.0000 -vn 0.0000 0.0000 1.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 1.0000 0.0000 -vn -0.8660 0.5000 0.0000 -vn 0.8660 -0.5000 0.0000 -vn -0.5000 -0.8660 0.0000 -vn 0.5000 0.8660 0.0000 -vn -0.8660 -0.5000 0.0000 -vn 0.8660 0.5000 0.0000 -vn 0.5000 -0.8660 0.0000 -vn -0.5000 0.8660 0.0000 -vn -0.6428 -0.7660 0.0000 -vn 0.6634 -0.5567 -0.5000 -vn 0.6428 0.7660 -0.0000 -vn -0.6634 0.5567 0.5000 -vn 0.3830 -0.3214 0.8660 -vn -0.3830 0.3214 -0.8660 -vn 0.7660 -0.6428 0.0000 -vn -0.7660 0.6428 0.0000 -vn 0.0000 0.5000 -0.8660 -vn 0.0000 -0.5000 0.8660 -vn 0.0000 0.8660 0.5000 -vn 0.0000 -0.8660 -0.5000 -vn 0.0000 0.9848 0.1736 -vn 0.0000 -0.9848 -0.1736 -vn 0.0000 -0.1736 0.9848 -vn 0.0000 0.1736 -0.9848 -s off -f 139//47 140//47 138//47 -f 141//48 144//48 140//48 -f 145//49 142//49 144//49 -f 143//50 138//50 142//50 -f 144//51 138//51 140//51 -f 141//52 143//52 145//52 -f 147//53 148//53 146//53 -f 148//48 153//48 152//48 -f 153//54 150//54 152//54 -f 151//50 146//50 150//50 -f 152//55 146//55 148//55 -f 149//56 151//56 153//56 -f 155//57 156//57 154//57 -f 157//48 160//48 156//48 -f 161//58 158//58 160//58 -f 158//50 155//50 154//50 -f 160//59 154//59 156//59 -f 157//60 159//60 161//60 -f 163//47 164//47 162//47 -f 165//48 168//48 164//48 -f 169//49 166//49 168//49 -f 167//50 162//50 166//50 -f 168//51 162//51 164//51 -f 165//52 167//52 169//52 -f 172//51 171//51 170//51 -f 176//52 174//52 175//52 -f 172//48 177//48 173//48 -f 171//50 175//50 170//50 -f 173//49 176//49 171//49 -f 170//47 174//47 172//47 -f 180//51 179//51 178//51 -f 184//52 182//52 183//52 -f 181//49 184//49 179//49 -f 178//47 182//47 180//47 -f 180//48 185//48 181//48 -f 179//50 183//50 178//50 -f 187//61 188//61 186//61 -f 189//62 192//62 188//62 -f 192//63 191//63 190//63 -f 191//64 186//64 190//64 -f 188//65 190//65 186//65 -f 189//66 191//66 193//66 -f 195//61 196//61 194//61 -f 197//48 200//48 196//48 -f 201//63 198//63 200//63 -f 198//50 195//50 194//50 -f 200//67 194//67 196//67 -f 197//68 199//68 201//68 -f 203//49 204//49 202//49 -f 205//69 208//69 204//69 -f 209//47 206//47 208//47 -f 207//70 202//70 206//70 -f 208//71 202//71 204//71 -f 205//72 207//72 209//72 -f 211//49 212//49 210//49 -f 213//73 216//73 212//73 -f 216//47 215//47 214//47 -f 215//74 210//74 214//74 -f 216//75 210//75 212//75 -f 213//76 215//76 217//76 -f 139//47 141//47 140//47 -f 141//48 145//48 144//48 -f 145//49 143//49 142//49 -f 143//50 139//50 138//50 -f 144//51 142//51 138//51 -f 141//52 139//52 143//52 -f 147//53 149//53 148//53 -f 148//48 149//48 153//48 -f 153//54 151//54 150//54 -f 151//50 147//50 146//50 -f 152//55 150//55 146//55 -f 149//56 147//56 151//56 -f 155//57 157//57 156//57 -f 157//48 161//48 160//48 -f 161//58 159//58 158//58 -f 158//50 159//50 155//50 -f 160//59 158//59 154//59 -f 157//60 155//60 159//60 -f 163//47 165//47 164//47 -f 165//48 169//48 168//48 -f 169//49 167//49 166//49 -f 167//50 163//50 162//50 -f 168//51 166//51 162//51 -f 165//52 163//52 167//52 -f 172//51 173//51 171//51 -f 176//52 177//52 174//52 -f 172//48 174//48 177//48 -f 171//50 176//50 175//50 -f 173//49 177//49 176//49 -f 170//47 175//47 174//47 -f 180//51 181//51 179//51 -f 184//52 185//52 182//52 -f 181//49 185//49 184//49 -f 178//47 183//47 182//47 -f 180//48 182//48 185//48 -f 179//50 184//50 183//50 -f 187//61 189//61 188//61 -f 189//62 193//62 192//62 -f 192//63 193//63 191//63 -f 191//64 187//64 186//64 -f 188//65 192//65 190//65 -f 189//66 187//66 191//66 -f 195//61 197//61 196//61 -f 197//48 201//48 200//48 -f 201//63 199//63 198//63 -f 198//50 199//50 195//50 -f 200//67 198//67 194//67 -f 197//68 195//68 199//68 -f 203//49 205//49 204//49 -f 205//69 209//69 208//69 -f 209//47 207//47 206//47 -f 207//70 203//70 202//70 -f 208//71 206//71 202//71 -f 205//72 203//72 207//72 -f 211//49 213//49 212//49 -f 213//73 217//73 216//73 -f 216//47 217//47 215//47 -f 215//74 211//74 210//74 -f 216//75 214//75 210//75 -f 213//76 211//76 215//76 -o FumoHead -v -0.250000 0.750000 -0.250000 -v -0.250000 0.750000 0.250000 -v 0.250000 0.750000 0.250000 -v 0.250000 0.750000 -0.250000 -v -0.250000 1.250000 -0.250000 -v -0.250000 1.250000 0.250000 -v 0.250000 1.250000 0.250000 -v 0.250000 1.250000 -0.250000 -v -0.281250 0.718750 -0.281250 -v -0.281250 0.718750 0.281250 -v 0.281250 0.718750 0.281250 -v 0.281250 0.718750 -0.281250 -v -0.281250 1.281250 -0.281250 -v -0.281250 1.281250 0.281250 -v 0.281250 1.281250 0.281250 -v 0.281250 1.281250 -0.281250 -v -0.281250 1.093750 -0.281250 -v -0.281250 1.093750 0.281250 -v 0.281250 1.093750 0.281250 -v 0.281250 1.093750 -0.281250 -v -0.218750 1.093750 -0.468750 -v 0.218750 1.093750 -0.468750 -v -0.218750 1.093750 0.468750 -v 0.218750 1.093750 0.468750 -v 0.468750 1.093750 0.218750 -v 0.468750 1.093750 -0.218750 -v -0.468750 1.093750 -0.218750 -v -0.468750 1.093750 0.218750 -v -0.281250 1.156250 0.281250 -v 0.281250 1.156250 0.281250 -v 0.281250 1.156250 -0.281250 -v -0.281250 1.156250 -0.281250 -v 0.218750 1.156250 -0.468750 -v -0.218750 1.156250 -0.468750 -v -0.218750 1.156250 0.468750 -v 0.218750 1.156250 0.468750 -v 0.468750 1.156250 0.218750 -v 0.468750 1.156250 -0.218750 -v -0.468750 1.156250 -0.218750 -v -0.468750 1.156250 0.218750 -v 0.156250 1.156250 -0.281250 -v 0.093750 1.156250 -0.406250 -v 0.093750 1.281250 -0.406250 -v 0.156250 1.218750 -0.281250 -v 0.156250 1.156250 -0.281250 -v 0.218750 1.156250 -0.406250 -v 0.218750 1.281250 -0.406250 -v 0.156250 1.218750 -0.281250 -vt 0.375000 0.750000 -vt 0.250000 1.000000 -vt 0.250000 0.750000 -vt 0.125000 0.750000 -vt 0.250000 1.000000 -vt 0.125000 1.000000 -vt 0.375000 0.500000 -vt 0.250000 0.750000 -vt 0.250000 0.500000 -vt 0.125000 0.500000 -vt -0.000000 0.750000 -vt -0.000000 0.500000 -vt 0.500000 0.500000 -vt 0.375000 0.750000 -vt 0.875000 0.750000 -vt 0.750000 1.000000 -vt 0.750000 0.750000 -vt 0.625000 0.750000 -vt 0.750000 1.000000 -vt 0.625000 1.000000 -vt 0.875000 0.500000 -vt 0.750000 0.750000 -vt 0.750000 0.500000 -vt 0.625000 0.500000 -vt 0.500000 0.750000 -vt 0.500000 0.500000 -vt 1.000000 0.500000 -vt 0.875000 0.750000 -vt 0.734375 0.343750 -vt 0.625000 0.250000 -vt 0.750000 0.250000 -vt 0.734375 0.343750 -vt 0.625000 0.250000 -vt 0.750000 0.250000 -vt 0.734375 0.343750 -vt 0.625000 0.250000 -vt 0.750000 0.250000 -vt 0.734375 0.343750 -vt 0.625000 0.250000 -vt 0.750000 0.250000 -vt 0.796875 0.218750 -vt 0.796875 0.218750 -vt 0.796875 0.218750 -vt 0.796875 0.218750 -vt 0.625000 0.468750 -vt 0.734375 0.375000 -vt 0.750000 0.468750 -vt 0.625000 0.468750 -vt 0.734375 0.375000 -vt 0.750000 0.468750 -vt 0.625000 0.468750 -vt 0.734375 0.375000 -vt 0.750000 0.468750 -vt 0.625000 0.468750 -vt 0.734375 0.375000 -vt 0.750000 0.468750 -vt 0.796875 0.500000 -vt 0.796875 0.500000 -vt 0.796875 0.500000 -vt 0.796875 0.500000 -vt 0.640625 0.375000 -vt 0.640625 0.343750 -vt 0.640625 0.375000 -vt 0.640625 0.343750 -vt 0.796875 0.343750 -vt 0.796875 0.343750 -vt 0.796875 0.343750 -vt 0.640625 0.375000 -vt 0.640625 0.343750 -vt 0.640625 0.375000 -vt 0.640625 0.343750 -vt 0.796875 0.343750 -vt 0.656250 0.187500 -vt 0.625000 0.218750 -vt 0.625000 0.187500 -vt 0.656250 0.187500 -vt 0.625000 0.218750 -vt 0.625000 0.187500 -vt 0.375000 1.000000 -vt 0.500000 0.750000 -vt 0.875000 1.000000 -vt 1.000000 0.750000 -vt 0.796875 0.375000 -vt 0.796875 0.375000 -vt 0.796875 0.375000 -vt 0.796875 0.375000 -vt 0.656250 0.250000 -vt 0.656250 0.250000 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 1.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 0.0000 1.0000 -vn 1.0000 0.0000 0.0000 -vn -1.0000 0.0000 0.0000 -vn 0.7071 0.0000 -0.7071 -vn -0.7071 0.0000 -0.7071 -vn -0.7071 0.0000 0.7071 -vn 0.7071 0.0000 0.7071 -vn 0.8944 0.0000 0.4472 -vn 0.8944 0.0000 -0.4472 -s off -f 218/246/77 220/247/77 219/248/77 -f 224/249/78 222/250/78 223/251/78 -f 218/252/79 225/253/79 221/254/79 -f 220/255/80 223/256/80 219/257/80 -f 221/254/81 224/249/81 220/255/81 -f 219/258/82 222/259/82 218/252/82 -f 226/260/77 228/261/77 227/262/77 -f 232/263/78 230/264/78 231/265/78 -f 226/266/79 233/267/79 229/268/79 -f 228/269/80 231/270/80 227/271/80 -f 229/268/81 232/263/81 228/269/81 -f 227/272/82 230/273/82 226/266/82 -f 238/274/77 237/275/77 234/276/77 -f 241/277/77 235/278/77 236/279/77 -f 243/280/77 236/281/77 237/282/77 -f 245/283/77 234/284/77 235/285/77 -f 235/285/77 240/286/77 245/283/77 -f 236/279/77 242/287/77 241/277/77 -f 237/282/77 239/288/77 243/280/77 -f 234/276/77 244/289/77 238/274/77 -f 248/290/78 251/291/78 249/292/78 -f 246/293/78 253/294/78 247/295/78 -f 247/296/78 255/297/78 248/298/78 -f 249/299/78 257/300/78 246/301/78 -f 246/301/78 257/300/78 252/302/78 -f 247/295/78 253/294/78 254/303/78 -f 248/298/78 255/297/78 250/304/78 -f 249/292/78 251/291/78 256/305/78 -f 241/277/80 252/306/80 240/307/80 -f 238/274/79 250/308/79 239/309/79 -f 239/310/83 255/297/83 243/280/83 -f 244/311/84 251/291/84 238/274/84 -f 240/312/85 257/300/85 245/283/85 -f 245/283/82 256/313/82 244/314/82 -f 243/280/81 254/315/81 242/316/81 -f 242/317/86 253/294/86 241/277/86 -f 263/318/87 265/319/87 262/320/87 -f 259/321/88 261/322/88 258/323/88 -f 218/246/77 221/324/77 220/247/77 -f 224/249/78 225/253/78 222/250/78 -f 218/252/79 222/259/79 225/253/79 -f 220/255/80 224/249/80 223/256/80 -f 221/254/81 225/253/81 224/249/81 -f 219/258/82 223/325/82 222/259/82 -f 226/260/77 229/326/77 228/261/77 -f 232/263/78 233/267/78 230/264/78 -f 226/266/79 230/273/79 233/267/79 -f 228/269/80 232/263/80 231/270/80 -f 229/268/81 233/267/81 232/263/81 -f 227/272/82 231/327/82 230/273/82 -f 238/274/77 239/309/77 237/275/77 -f 241/277/77 240/307/77 235/278/77 -f 243/280/77 242/316/77 236/281/77 -f 245/283/77 244/314/77 234/284/77 -f 248/290/78 250/308/78 251/291/78 -f 246/293/78 252/306/78 253/294/78 -f 247/296/78 254/315/78 255/297/78 -f 249/299/78 256/313/78 257/300/78 -f 241/277/80 253/294/80 252/306/80 -f 238/274/79 251/291/79 250/308/79 -f 239/310/83 250/328/83 255/297/83 -f 244/311/84 256/329/84 251/291/84 -f 240/312/85 252/330/85 257/300/85 -f 245/283/82 257/300/82 256/313/82 -f 243/280/81 255/297/81 254/315/81 -f 242/317/86 254/331/86 253/294/86 -f 263/318/87 264/332/87 265/319/87 -f 259/321/88 260/333/88 261/322/88 +s 0 +f 106/41/43 107/42/43 105/43/43 +f 108/44/44 111/45/44 107/42/44 +f 112/46/45 109/47/45 111/45/45 +f 110/48/46 105/49/46 109/47/46 +f 109/47/45 119/50/45 111/45/45 +f 108/44/47 115/51/47 112/46/47 +f 115/52/45 140/53/45 116/54/45 +f 112/46/48 116/54/48 110/48/48 +f 106/41/43 114/55/43 108/44/43 +f 106/56/49 116/57/49 113/58/49 +f 119/50/50 118/59/50 117/60/50 +f 105/49/51 120/61/51 109/47/51 +f 111/45/52 117/62/52 107/42/52 +f 107/42/43 118/63/43 105/43/43 +f 122/64/53 123/65/53 121/66/53 +f 124/67/54 127/68/54 123/69/54 +f 128/70/55 125/71/55 127/72/55 +f 126/73/56 121/43/56 125/74/56 +f 124/67/57 126/73/57 128/70/57 +f 130/64/56 131/65/56 129/66/56 +f 132/67/53 135/68/53 131/69/53 +f 136/70/54 133/71/54 135/72/54 +f 134/73/55 129/43/55 133/74/55 +f 132/67/57 134/73/57 136/70/57 +f 138/75/57 140/53/57 139/76/57 +f 113/77/43 138/78/43 114/55/43 +f 116/57/46 137/79/46 113/58/46 +f 114/80/44 139/81/44 115/51/44 +f 142/82/43 143/60/43 141/83/43 +f 146/83/46 160/84/46 145/82/46 +f 148/60/45 145/82/45 147/85/45 +f 142/83/46 159/84/46 146/82/46 +f 147/60/50 141/82/50 143/85/50 +f 144/60/57 146/82/57 148/85/57 +f 150/60/43 151/82/43 149/85/43 +f 155/83/44 168/84/44 156/82/44 +f 156/82/45 153/60/45 155/83/45 +f 157/86/58 162/87/58 158/84/58 +f 155/82/50 149/60/50 151/83/50 +f 152/82/57 154/60/57 156/83/57 +f 141/83/46 158/84/46 142/82/46 +f 145/83/46 157/84/46 141/82/46 +f 163/87/46 161/88/46 164/89/46 +f 158/86/59 163/87/59 159/84/59 +f 159/86/60 164/87/60 160/84/60 +f 160/86/61 161/87/61 157/84/61 +f 168/86/62 169/87/62 165/84/62 +f 151/83/44 167/84/44 155/82/44 +f 156/83/44 165/84/44 152/82/44 +f 152/83/44 166/84/44 151/82/44 +f 169/87/44 171/88/44 170/89/44 +f 165/86/63 170/87/63 166/84/63 +f 167/86/64 172/87/64 168/84/64 +f 166/86/65 171/87/65 167/84/65 +f 176/90/44 179/91/44 175/92/44 +f 180/93/45 177/94/45 179/91/45 +f 178/95/46 173/96/46 177/94/46 +f 179/91/50 173/97/50 175/98/50 +f 176/61/57 178/95/57 180/93/57 +f 188/99/43 190/100/43 192/101/43 +f 187/102/51 185/103/51 188/99/51 +f 183/104/66 188/105/66 182/106/66 +f 191/107/67 192/101/67 190/100/67 +f 193/108/52 194/109/52 192/101/52 +f 191/107/45 187/110/45 193/108/45 +f 194/109/43 188/105/43 192/101/43 +f 187/111/45 195/66/45 193/108/45 +f 200/99/45 201/100/45 203/101/45 +f 199/102/52 198/103/52 200/99/52 +f 196/104/67 200/105/67 181/106/67 +f 201/100/66 204/108/66 203/101/66 +f 204/108/51 205/109/51 203/101/51 +f 202/107/43 199/110/43 204/108/43 +f 205/109/45 200/105/45 203/101/45 +f 199/111/43 206/66/43 204/108/43 +f 106/41/43 108/44/43 107/42/43 +f 108/44/44 112/46/44 111/45/44 +f 112/46/45 110/48/45 109/47/45 +f 110/48/46 106/56/46 105/49/46 +f 109/47/45 120/112/45 119/50/45 +f 108/44/47 114/80/47 115/51/47 +f 115/52/45 139/76/45 140/53/45 +f 112/46/48 115/52/48 116/54/48 +f 106/41/43 113/77/43 114/55/43 +f 106/56/49 110/48/49 116/57/49 +f 119/50/50 120/112/50 118/59/50 +f 105/49/51 118/113/51 120/61/51 +f 111/45/52 119/114/52 117/62/52 +f 107/42/43 117/115/43 118/63/43 +f 122/64/53 124/67/53 123/65/53 +f 124/67/54 128/70/54 127/68/54 +f 128/70/55 126/73/55 125/71/55 +f 126/73/56 122/64/56 121/43/56 +f 124/67/57 122/64/57 126/73/57 +f 130/64/56 132/67/56 131/65/56 +f 132/67/53 136/70/53 135/68/53 +f 136/70/54 134/73/54 133/71/54 +f 134/73/55 130/64/55 129/43/55 +f 132/67/57 130/64/57 134/73/57 +f 138/75/57 137/116/57 140/53/57 +f 113/77/43 137/117/43 138/78/43 +f 116/57/46 140/118/46 137/79/46 +f 114/80/44 138/119/44 139/81/44 +f 142/82/43 144/85/43 143/60/43 +f 146/83/46 159/86/46 160/84/46 +f 148/60/45 146/83/45 145/82/45 +f 142/83/46 158/86/46 159/84/46 +f 147/60/50 145/83/50 141/82/50 +f 144/60/57 142/83/57 146/82/57 +f 150/60/43 152/83/43 151/82/43 +f 155/83/44 167/86/44 168/84/44 +f 156/82/45 154/85/45 153/60/45 +f 157/86/58 161/120/58 162/87/58 +f 155/82/50 153/85/50 149/60/50 +f 152/82/57 150/85/57 154/60/57 +f 141/83/46 157/86/46 158/84/46 +f 145/83/46 160/86/46 157/84/46 +f 163/87/46 162/120/46 161/88/46 +f 158/86/59 162/120/59 163/87/59 +f 159/86/60 163/120/60 164/87/60 +f 160/86/61 164/120/61 161/87/61 +f 168/86/62 172/120/62 169/87/62 +f 151/83/44 166/86/44 167/84/44 +f 156/83/44 168/86/44 165/84/44 +f 152/83/44 165/86/44 166/84/44 +f 169/87/44 172/120/44 171/88/44 +f 165/86/63 169/120/63 170/87/63 +f 167/86/64 171/120/64 172/87/64 +f 166/86/65 170/120/65 171/87/65 +f 176/90/44 180/93/44 179/91/44 +f 180/93/45 178/95/45 177/94/45 +f 178/95/46 174/121/46 173/96/46 +f 179/91/50 177/94/50 173/97/50 +f 176/61/57 174/122/57 178/95/57 +f 188/99/43 185/103/43 190/100/43 +f 187/102/51 184/123/51 185/103/51 +f 183/104/66 187/124/66 188/105/66 +f 191/107/67 193/108/67 192/101/67 +f 193/108/52 195/66/52 194/109/52 +f 191/107/45 184/125/45 187/110/45 +f 194/109/43 182/106/43 188/105/43 +f 187/111/45 183/126/45 195/66/45 +f 200/99/45 198/103/45 201/100/45 +f 199/102/52 197/123/52 198/103/52 +f 196/104/67 199/124/67 200/105/67 +f 201/100/66 202/107/66 204/108/66 +f 204/108/51 206/66/51 205/109/51 +f 202/107/43 197/125/43 199/110/43 +f 205/109/45 181/106/45 200/105/45 +f 199/111/43 196/126/43 206/66/43 +l 186 189 o Fumo v -0.390165 0.375000 -0.213388 v -0.213388 0.375000 -0.390165 @@ -1203,6 +835,44 @@ v -0.070312 0.669481 -0.463916 v -0.070312 0.533647 -0.427519 v 0.070312 0.533647 -0.427519 v 0.070312 0.669481 -0.463916 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 0.2588 0.9659 +vn 0.2588 -0.0000 -0.9659 +vn 0.9659 -0.0000 -0.2588 +vn -0.2588 -0.0000 -0.9659 +vn -0.9659 -0.0000 -0.2588 +vn -0.0000 -1.0000 -0.0000 +vn -0.0000 0.8944 0.4472 +vn -0.4472 0.8944 -0.0000 +vn -0.0000 1.0000 -0.0000 +vn -0.2588 -0.0000 0.9659 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn -0.0000 -0.0000 1.0000 +vn 0.4472 0.8944 -0.0000 +vn 0.9659 -0.0000 0.2588 +vn 0.3162 0.8944 0.3162 +vn -0.0000 0.8944 -0.4472 +vn -0.3162 0.8944 -0.3162 +vn 0.3162 0.8944 -0.3162 +vn -0.3162 0.8944 0.3162 +vn -0.0000 0.2588 -0.9659 +vn 0.3162 -0.8944 0.3162 +vn -0.0000 -0.8944 0.4472 +vn -0.0000 0.9659 0.2588 +vn -0.0000 -0.9659 -0.2588 +vn -0.0000 -0.2588 0.9659 +vn -0.3162 -0.8944 -0.3162 +vn -0.4472 -0.8944 -0.0000 +vn 0.4472 -0.8944 -0.0000 +vn -0.0000 -0.8944 -0.4472 +vn -0.9659 -0.0000 0.2588 +vn 0.2588 -0.0000 0.9659 +vn 0.3162 -0.8944 -0.3162 +vn -0.3162 -0.8944 0.3162 +vn -0.0000 0.9659 -0.2588 +vn -0.0000 -0.9659 0.2588 +vn -0.0000 -0.2588 -0.9659 vt 0.343750 0.437500 vt 0.312500 0.281250 vt 0.312500 0.437500 @@ -1212,13 +882,10 @@ vt 0.281250 0.500000 vt 0.562500 0.187500 vt 0.593750 0.437500 vt 0.562500 0.437500 -vt 0.562500 0.437500 vt 0.593750 0.500000 -vt 0.593750 0.437500 vt 0.531250 0.437500 vt 0.500000 0.187500 vt 0.500000 0.437500 -vt 0.531250 0.437500 vt 0.562500 0.500000 vt 0.531250 0.500000 vt 0.593750 0.187500 @@ -1227,83 +894,25 @@ vt 0.796875 0.375000 vt 0.859375 0.500000 vt 0.796875 0.500000 vt 0.859375 0.375000 -vt 0.796875 0.500000 -vt 0.796875 0.375000 vt 0.531250 0.187500 -vt 0.500000 0.187500 -vt 0.500000 0.437500 vt 0.125000 0.375000 vt 0.187500 0.500000 vt 0.125000 0.500000 vt 0.062500 0.375000 -vt 0.125000 0.500000 vt 0.062500 0.500000 vt 0.125000 0.187500 vt 0.062500 0.187500 vt 0.250000 0.187500 vt 0.187500 0.375000 vt 0.187500 0.187500 -vt 0.125000 0.375000 vt -0.000000 0.375000 vt -0.000000 0.187500 -vt 0.796875 0.500000 -vt 0.859375 0.375000 -vt 0.859375 0.500000 -vt 0.593750 0.500000 -vt 0.562500 0.437500 -vt 0.593750 0.437500 -vt 0.796875 0.500000 -vt 0.859375 0.375000 -vt 0.859375 0.500000 -vt 0.859375 0.500000 -vt 0.796875 0.375000 -vt 0.859375 0.375000 -vt 0.562500 0.187500 -vt 0.531250 0.187500 -vt 0.593750 0.437500 vt 0.625000 0.187500 -vt 0.593750 0.187500 -vt 0.796875 0.500000 -vt 0.859375 0.375000 -vt 0.859375 0.500000 -vt 0.796875 0.500000 -vt 0.859375 0.375000 -vt 0.859375 0.500000 -vt 0.859375 0.500000 -vt 0.796875 0.375000 -vt 0.859375 0.375000 -vt 0.281250 0.437500 -vt 0.312500 0.500000 -vt 0.281250 0.500000 -vt 0.859375 0.375000 -vt 0.796875 0.500000 -vt 0.859375 0.500000 -vt 0.859375 0.500000 -vt 0.796875 0.375000 -vt 0.796875 0.500000 -vt 0.312500 0.281250 -vt 0.343750 0.437500 -vt 0.312500 0.437500 vt 0.281250 0.281250 vt 0.343750 0.281250 vt 0.375000 0.437500 -vt 0.343750 0.437500 -vt 0.312500 0.500000 -vt 0.312500 0.437500 -vt 0.859375 0.375000 -vt 0.796875 0.500000 -vt 0.859375 0.500000 -vt 0.859375 0.375000 -vt 0.796875 0.500000 -vt 0.859375 0.500000 -vt 0.796875 0.500000 -vt 0.859375 0.375000 -vt 0.796875 0.375000 vt 0.250000 0.281250 vt 0.250000 0.437500 -vt 0.796875 0.500000 -vt 0.859375 0.375000 -vt 0.796875 0.375000 vt 0.406250 0.437500 vt 0.437500 0.500000 vt 0.406250 0.500000 @@ -1311,304 +920,872 @@ vt 0.437500 0.437500 vt 0.468750 0.281250 vt 0.468750 0.437500 vt 0.406250 0.281250 -vt 0.500000 0.437500 -vt 0.468750 0.437500 -vt 0.437500 0.500000 -vt 0.437500 0.437500 vt 0.375000 0.281250 -vt 0.375000 0.437500 -vt 0.562500 0.500000 -vt 0.531250 0.500000 -vt 0.562500 0.437500 -vt 0.859375 0.375000 -vt 0.796875 0.500000 -vt 0.859375 0.500000 -vt 0.859375 0.375000 -vt 0.796875 0.500000 -vt 0.859375 0.500000 -vt 0.281250 0.281250 -vt 0.375000 0.437500 -vt 0.343750 0.281250 -vt 0.312500 0.500000 -vt 0.343750 0.437500 -vt 0.312500 0.437500 -vt 0.250000 0.437500 -vt 0.250000 0.281250 -vt 0.437500 0.500000 -vt 0.406250 0.437500 -vt 0.406250 0.500000 -vt 0.437500 0.437500 -vt 0.468750 0.281250 vt 0.437500 0.281250 -vt 0.406250 0.281250 -vt 0.500000 0.437500 -vt 0.468750 0.437500 -vt 0.437500 0.500000 -vt 0.468750 0.437500 -vt 0.437500 0.437500 -vt 0.375000 0.281250 -vt 0.375000 0.437500 -vt 0.562500 0.500000 -vt 0.625000 0.187500 -vt 0.859375 0.375000 -vt 0.859375 0.500000 -vt 0.187500 0.375000 vt 0.250000 0.375000 -vt 0.796875 0.375000 -vt 0.562500 0.500000 -vt 0.796875 0.375000 -vt 0.796875 0.500000 -vt 0.625000 0.437500 -vt 0.796875 0.375000 -vt 0.796875 0.375000 -vt 0.796875 0.500000 -vt 0.796875 0.375000 -vt 0.859375 0.375000 -vt 0.375000 0.281250 -vt 0.343750 0.500000 -vt 0.796875 0.375000 -vt 0.796875 0.375000 -vt 0.859375 0.500000 -vt 0.859375 0.500000 -vt 0.437500 0.281250 -vt 0.500000 0.281250 -vt 0.468750 0.500000 -vt 0.796875 0.375000 -vt 0.796875 0.375000 -vt 0.375000 0.281250 vt 0.343750 0.500000 vt 0.500000 0.281250 vt 0.468750 0.500000 -vn 1.0000 0.0000 0.0000 -vn 0.0000 0.2588 0.9659 -vn 0.2588 0.0000 -0.9659 -vn 0.9659 0.0000 -0.2588 -vn -0.2588 0.0000 -0.9659 -vn -0.9659 0.0000 -0.2588 -vn 0.0000 -1.0000 -0.0000 -vn 0.0000 0.8944 0.4472 -vn -0.4472 0.8944 0.0000 -vn 0.0000 1.0000 0.0000 -vn -0.2588 0.0000 0.9659 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 0.0000 1.0000 -vn 0.4472 0.8944 0.0000 -vn 0.9659 0.0000 0.2588 -vn 0.3162 0.8944 0.3162 -vn 0.0000 0.8944 -0.4472 -vn -0.3162 0.8944 -0.3162 -vn 0.3162 0.8944 -0.3162 -vn -0.3162 0.8944 0.3162 -vn 0.0000 0.2588 -0.9659 -vn 0.3162 -0.8944 0.3162 -vn 0.0000 -0.8944 0.4472 -vn 0.0000 0.9659 0.2588 -vn 0.0000 -0.9659 -0.2588 -vn 0.0000 -0.2588 0.9659 -vn -0.3162 -0.8944 -0.3162 -vn -0.4472 -0.8944 0.0000 -vn 0.4472 -0.8944 0.0000 -vn 0.0000 -0.8944 -0.4472 -vn -0.9659 0.0000 0.2588 -vn 0.2588 0.0000 0.9659 -vn 0.3162 -0.8944 -0.3162 -vn -0.3162 -0.8944 0.3162 -vn 0.0000 0.9659 -0.2588 -vn 0.0000 -0.9659 0.2588 -vn 0.0000 -0.2588 -0.9659 -s off -f 371/334/89 377/335/89 373/336/89 -f 371/337/90 372/338/90 370/339/90 -f 294/340/91 276/341/91 277/342/91 -f 368/343/92 366/344/92 367/345/92 -f 363/346/93 368/347/93 362/348/93 -f 275/349/94 276/350/94 274/351/94 -f 295/352/95 274/353/95 276/341/95 -f 271/354/96 272/355/96 273/356/96 -f 281/357/97 278/358/97 280/359/97 -f 297/360/98 277/342/98 275/349/98 -f 296/361/99 275/349/99 274/362/99 -f 284/363/95 283/364/95 282/365/95 -f 288/366/98 286/367/98 287/368/98 -f 285/369/89 288/366/89 283/370/89 -f 282/371/100 286/372/100 284/373/100 -f 284/373/101 289/374/101 285/369/101 -f 283/370/102 287/375/102 282/376/102 -f 290/377/103 293/378/103 291/379/103 -f 294/380/104 296/381/104 295/382/104 -f 306/383/105 309/384/105 307/385/105 -f 303/386/106 304/387/106 305/388/106 -f 363/346/98 366/389/98 369/390/98 -f 364/391/95 368/392/95 367/393/95 -f 310/394/107 313/395/107 311/396/107 -f 314/397/108 317/398/108 315/399/108 -f 319/400/109 320/401/109 321/402/109 -f 324/403/110 323/404/110 322/405/110 -f 266/406/111 269/407/111 268/408/111 -f 348/409/112 347/410/112 349/411/112 -f 333/412/89 323/413/89 325/414/89 -f 330/415/113 325/414/113 324/403/113 -f 332/416/114 322/417/114 323/413/114 -f 332/418/115 330/419/115 331/420/115 -f 298/421/116 301/422/116 300/423/116 -f 350/424/117 353/425/117 352/426/117 -f 329/427/118 326/428/118 327/429/118 -f 331/430/100 324/403/100 322/431/100 -f 334/432/119 337/433/119 336/434/119 -f 340/435/110 339/436/110 338/437/110 -f 341/438/89 344/439/89 339/440/89 -f 342/441/113 341/438/113 340/435/113 -f 344/439/114 338/442/114 339/440/114 -f 344/443/115 342/444/115 343/445/115 -f 343/446/100 340/435/100 338/447/100 -f 364/448/120 363/346/120 362/449/120 -f 364/391/121 366/389/121 365/450/121 -f 361/451/122 358/452/122 359/453/122 -f 357/454/123 354/455/123 355/456/123 -f 373/336/124 374/457/124 372/338/124 -f 370/458/125 376/459/125 371/334/125 -f 374/460/126 376/461/126 375/462/126 -f 370/463/100 374/457/100 375/464/100 -f 379/465/90 380/466/90 378/467/90 -f 381/468/89 384/469/89 385/470/89 -f 381/468/124 382/471/124 380/466/124 -f 378/472/125 384/469/125 379/473/125 -f 382/474/126 384/475/126 383/476/126 -f 380/466/100 383/477/100 378/478/100 -f 371/334/89 376/459/89 377/335/89 -f 371/337/90 373/336/90 372/338/90 -f 294/340/91 295/352/91 276/341/91 -f 368/343/92 369/479/92 366/344/92 -f 363/346/93 369/390/93 368/347/93 -f 275/349/94 277/342/94 276/350/94 -f 295/352/95 296/480/95 274/353/95 -f 271/354/96 270/481/96 272/355/96 -f 281/357/97 279/482/97 278/358/97 -f 297/360/98 294/340/98 277/342/98 -f 296/361/99 297/360/99 275/349/99 -f 284/363/95 285/483/95 283/364/95 -f 288/366/98 289/374/98 286/367/98 -f 285/369/89 289/374/89 288/366/89 -f 282/371/100 287/484/100 286/372/100 -f 284/373/101 286/372/101 289/374/101 -f 283/370/102 288/366/102 287/375/102 -f 290/377/103 292/485/103 293/378/103 -f 294/380/104 297/486/104 296/381/104 -f 306/383/105 308/487/105 309/384/105 -f 303/386/106 302/488/106 304/387/106 -f 363/346/98 365/450/98 366/389/98 -f 364/391/95 362/489/95 368/392/95 -f 310/394/107 312/490/107 313/395/107 -f 314/397/108 316/491/108 317/398/108 -f 319/400/109 318/492/109 320/401/109 -f 324/403/110 325/414/110 323/404/110 -f 266/406/111 267/493/111 269/407/111 -f 348/409/112 346/494/112 347/410/112 -f 333/412/89 332/416/89 323/413/89 -f 330/415/113 333/412/113 325/414/113 -f 332/416/114 331/495/114 322/417/114 -f 332/418/115 333/496/115 330/419/115 -f 298/421/116 299/497/116 301/422/116 -f 350/424/117 351/498/117 353/425/117 -f 329/427/118 328/499/118 326/428/118 -f 331/430/100 330/415/100 324/403/100 -f 334/432/119 335/500/119 337/433/119 -f 340/435/110 341/438/110 339/436/110 -f 341/438/89 345/501/89 344/439/89 -f 342/441/113 345/501/113 341/438/113 -f 344/439/114 343/502/114 338/442/114 -f 344/443/115 345/503/115 342/444/115 -f 343/446/100 342/441/100 340/435/100 -f 364/448/120 365/450/120 363/346/120 -f 364/391/121 367/393/121 366/389/121 -f 361/451/122 360/504/122 358/452/122 -f 357/454/123 356/505/123 354/455/123 -f 373/336/124 377/335/124 374/457/124 -f 370/458/125 375/506/125 376/459/125 -f 374/460/126 377/507/126 376/461/126 -f 370/463/100 372/338/100 374/457/100 -f 379/465/90 381/468/90 380/466/90 -f 381/468/89 379/473/89 384/469/89 -f 381/468/124 385/470/124 382/471/124 -f 378/472/125 383/508/125 384/469/125 -f 382/474/126 385/509/126 384/475/126 -f 380/466/100 382/471/100 383/477/100 +s 0 +f 312/127/68 318/128/68 314/129/68 +f 312/130/69 313/131/69 311/132/69 +f 235/133/70 217/134/70 218/135/70 +f 309/135/71 307/136/71 308/134/71 +f 304/137/72 309/138/72 303/139/72 +f 216/137/73 217/140/73 215/141/73 +f 236/142/74 215/143/74 217/134/74 +f 212/144/75 213/145/75 214/146/75 +f 222/147/76 219/146/76 221/144/76 +f 238/148/77 218/135/77 216/137/77 +f 237/138/78 216/137/78 215/139/78 +f 225/149/74 224/150/74 223/151/74 +f 229/152/77 227/151/77 228/153/77 +f 226/154/68 229/152/68 224/155/68 +f 223/156/79 227/157/79 225/158/79 +f 225/158/80 230/149/80 226/154/80 +f 224/155/81 228/159/81 223/160/81 +f 231/146/82 234/147/82 232/145/82 +f 235/136/83 237/135/83 236/134/83 +f 247/146/84 250/147/84 248/145/84 +f 244/145/85 245/144/85 246/147/85 +f 304/137/77 307/133/77 310/148/77 +f 305/134/74 309/161/74 308/142/74 +f 251/146/86 254/147/86 252/145/86 +f 255/146/87 258/147/87 256/145/87 +f 260/145/88 261/144/88 262/147/88 +f 265/131/89 264/130/89 263/132/89 +f 207/147/90 210/146/90 209/145/90 +f 289/145/91 288/144/91 290/146/91 +f 274/128/68 264/127/68 266/129/68 +f 271/162/92 266/129/92 265/131/92 +f 273/163/93 263/164/93 264/127/93 +f 273/127/94 271/130/94 272/129/94 +f 239/147/95 242/146/95 241/145/95 +f 291/147/96 294/146/96 293/145/96 +f 270/146/97 267/147/97 268/144/97 +f 272/165/79 265/131/79 263/166/79 +f 275/146/98 278/147/98 277/144/98 +f 281/167/89 280/168/89 279/169/89 +f 282/170/68 285/171/68 280/172/68 +f 283/173/92 282/170/92 281/167/92 +f 285/171/93 279/139/93 280/172/93 +f 285/172/94 283/168/94 284/170/94 +f 284/174/79 281/167/79 279/164/79 +f 305/140/99 304/137/99 303/141/99 +f 305/134/100 307/133/100 306/135/100 +f 302/147/101 299/146/101 300/145/101 +f 298/147/102 295/146/102 296/145/102 +f 314/129/103 315/162/103 313/131/103 +f 311/164/104 317/163/104 312/127/104 +f 315/130/105 317/127/105 316/129/105 +f 311/166/79 315/162/79 316/165/79 +f 320/168/69 321/167/69 319/169/69 +f 322/170/68 325/171/68 326/175/68 +f 322/170/103 323/173/103 321/167/103 +f 319/139/104 325/171/104 320/172/104 +f 323/168/105 325/172/105 324/170/105 +f 321/167/79 324/174/79 319/164/79 +f 312/127/68 317/163/68 318/128/68 +f 312/130/69 314/129/69 313/131/69 +f 235/133/70 236/142/70 217/134/70 +f 309/135/71 310/140/71 307/136/71 +f 304/137/72 310/148/72 309/138/72 +f 216/137/73 218/135/73 217/140/73 +f 236/142/74 237/161/74 215/143/74 +f 212/144/75 211/147/75 213/145/75 +f 222/147/76 220/145/76 219/146/76 +f 238/148/77 235/133/77 218/135/77 +f 237/138/78 238/148/78 216/137/78 +f 225/149/74 226/157/74 224/150/74 +f 229/152/77 230/149/77 227/151/77 +f 226/154/68 230/149/68 229/152/68 +f 223/156/79 228/176/79 227/157/79 +f 225/158/80 227/157/80 230/149/80 +f 224/155/81 229/152/81 228/159/81 +f 231/146/82 233/144/82 234/147/82 +f 235/136/83 238/140/83 237/135/83 +f 247/146/84 249/144/84 250/147/84 +f 244/145/85 243/146/85 245/144/85 +f 304/137/77 306/135/77 307/133/77 +f 305/134/74 303/143/74 309/161/74 +f 251/146/86 253/144/86 254/147/86 +f 255/146/87 257/144/87 258/147/87 +f 260/145/88 259/146/88 261/144/88 +f 265/131/89 266/129/89 264/130/89 +f 207/147/90 208/144/90 210/146/90 +f 289/145/91 287/147/91 288/144/91 +f 274/128/68 273/163/68 264/127/68 +f 271/162/92 274/128/92 266/129/92 +f 273/163/93 272/174/93 263/164/93 +f 273/127/94 274/177/94 271/130/94 +f 239/147/95 240/144/95 242/146/95 +f 291/147/96 292/144/96 294/146/96 +f 270/146/97 269/145/97 267/147/97 +f 272/165/79 271/162/79 265/131/79 +f 275/146/98 276/145/98 278/147/98 +f 281/167/89 282/170/89 280/168/89 +f 282/170/68 286/175/68 285/171/68 +f 283/173/92 286/175/92 282/170/92 +f 285/171/93 284/178/93 279/139/93 +f 285/172/94 286/179/94 283/168/94 +f 284/174/79 283/173/79 281/167/79 +f 305/140/99 306/135/99 304/137/99 +f 305/134/100 308/142/100 307/133/100 +f 302/147/101 301/144/101 299/146/101 +f 298/147/102 297/144/102 295/146/102 +f 314/129/103 318/128/103 315/162/103 +f 311/164/104 316/174/104 317/163/104 +f 315/130/105 318/177/105 317/127/105 +f 311/166/79 313/131/79 315/162/79 +f 320/168/69 322/170/69 321/167/69 +f 322/170/68 320/172/68 325/171/68 +f 322/170/103 326/175/103 323/173/103 +f 319/139/104 324/178/104 325/171/104 +f 323/168/105 326/179/105 325/172/105 +f 321/167/79 323/173/79 324/174/79 +o FumoHead +v -0.250000 0.750000 -0.250000 +v -0.250000 0.750000 0.250000 +v 0.250000 0.750000 0.250000 +v 0.250000 0.750000 -0.250000 +v -0.250000 1.250000 -0.250000 +v -0.250000 1.250000 0.250000 +v 0.250000 1.250000 0.250000 +v 0.250000 1.250000 -0.250000 +v -0.281250 0.718750 -0.281250 +v -0.281250 0.718750 0.281250 +v 0.281250 0.718750 0.281250 +v 0.281250 0.718750 -0.281250 +v -0.281250 1.281250 -0.281250 +v -0.281250 1.281250 0.281250 +v 0.281250 1.281250 0.281250 +v 0.281250 1.281250 -0.281250 +v -0.281250 1.093750 -0.281250 +v -0.281250 1.093750 0.281250 +v 0.281250 1.093750 0.281250 +v 0.281250 1.093750 -0.281250 +v -0.218750 1.093750 -0.468750 +v 0.218750 1.093750 -0.468750 +v -0.218750 1.093750 0.468750 +v 0.218750 1.093750 0.468750 +v 0.468750 1.093750 0.218750 +v 0.468750 1.093750 -0.218750 +v -0.468750 1.093750 -0.218750 +v -0.468750 1.093750 0.218750 +v -0.281250 1.156250 0.281250 +v 0.281250 1.156250 0.281250 +v 0.281250 1.156250 -0.281250 +v -0.281250 1.156250 -0.281250 +v 0.218750 1.156250 -0.468750 +v -0.218750 1.156250 -0.468750 +v -0.218750 1.156250 0.468750 +v 0.218750 1.156250 0.468750 +v 0.468750 1.156250 0.218750 +v 0.468750 1.156250 -0.218750 +v -0.468750 1.156250 -0.218750 +v -0.468750 1.156250 0.218750 +v 0.156250 1.156250 -0.281250 +v 0.093750 1.156250 -0.406250 +v 0.093750 1.281250 -0.406250 +v 0.156250 1.218750 -0.281250 +v 0.156250 1.156250 -0.281250 +v 0.218750 1.156250 -0.406250 +v 0.218750 1.281250 -0.406250 +v 0.156250 1.218750 -0.281250 +vn -0.0000 -1.0000 -0.0000 +vn -0.0000 1.0000 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn -0.0000 -0.0000 1.0000 +vn 1.0000 -0.0000 -0.0000 +vn -1.0000 -0.0000 -0.0000 +vn 0.7071 -0.0000 -0.7071 +vn -0.7071 -0.0000 -0.7071 +vn -0.7071 -0.0000 0.7071 +vn 0.7071 -0.0000 0.7071 +vn 0.8944 -0.0000 0.4472 +vn 0.8944 -0.0000 -0.4472 +vt 0.375000 0.750000 +vt 0.250000 1.000000 +vt 0.250000 0.750000 +vt 0.125000 0.750000 +vt 0.125000 1.000000 +vt 0.375000 0.500000 +vt 0.250000 0.500000 +vt 0.125000 0.500000 +vt -0.000000 0.750000 +vt -0.000000 0.500000 +vt 0.500000 0.500000 +vt 0.875000 0.750000 +vt 0.750000 1.000000 +vt 0.750000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 1.000000 +vt 0.875000 0.500000 +vt 0.750000 0.500000 +vt 0.625000 0.500000 +vt 0.500000 0.750000 +vt 1.000000 0.500000 +vt 0.734375 0.343750 +vt 0.625000 0.250000 +vt 0.750000 0.250000 +vt 0.796875 0.218750 +vt 0.625000 0.468750 +vt 0.734375 0.375000 +vt 0.750000 0.468750 +vt 0.796875 0.500000 +vt 0.640625 0.375000 +vt 0.640625 0.343750 +vt 0.796875 0.343750 +vt 0.656250 0.187500 +vt 0.625000 0.218750 +vt 0.625000 0.187500 +vt 0.375000 1.000000 +vt 0.875000 1.000000 +vt 1.000000 0.750000 +vt 0.796875 0.375000 +vt 0.656250 0.250000 +s 0 +f 327/180/106 329/181/106 328/182/106 +f 333/183/107 331/181/107 332/184/107 +f 327/185/108 334/182/108 330/186/108 +f 329/187/109 332/188/109 328/189/109 +f 330/186/110 333/183/110 329/187/110 +f 328/190/111 331/180/111 327/185/111 +f 335/191/106 337/192/106 336/193/106 +f 341/194/107 339/192/107 340/195/107 +f 335/196/108 342/193/108 338/197/108 +f 337/198/109 340/199/109 336/190/109 +f 338/197/110 341/194/110 337/198/110 +f 336/200/111 339/191/111 335/196/111 +f 347/201/106 346/202/106 343/203/106 +f 350/201/106 344/202/106 345/203/106 +f 352/201/106 345/202/106 346/203/106 +f 354/201/106 343/202/106 344/203/106 +f 344/203/106 349/204/106 354/201/106 +f 345/203/106 351/204/106 350/201/106 +f 346/203/106 348/204/106 352/201/106 +f 343/203/106 353/204/106 347/201/106 +f 357/205/107 360/206/107 358/207/107 +f 355/205/107 362/206/107 356/207/107 +f 356/205/107 364/206/107 357/207/107 +f 358/205/107 366/206/107 355/207/107 +f 355/207/107 366/206/107 361/208/107 +f 356/207/107 362/206/107 363/208/107 +f 357/207/107 364/206/107 359/208/107 +f 358/207/107 360/206/107 365/208/107 +f 350/201/109 361/209/109 349/210/109 +f 347/201/108 359/209/108 348/210/108 +f 348/211/112 364/206/112 352/201/112 +f 353/211/113 360/206/113 347/201/113 +f 349/211/114 366/206/114 354/201/114 +f 354/201/111 365/209/111 353/210/111 +f 352/201/110 363/209/110 351/210/110 +f 351/211/115 362/206/115 350/201/115 +f 372/212/116 374/213/116 371/214/116 +f 368/212/117 370/213/117 367/214/117 +f 327/180/106 330/215/106 329/181/106 +f 333/183/107 334/182/107 331/181/107 +f 327/185/108 331/180/108 334/182/108 +f 329/187/109 333/183/109 332/188/109 +f 330/186/110 334/182/110 333/183/110 +f 328/190/111 332/199/111 331/180/111 +f 335/191/106 338/216/106 337/192/106 +f 341/194/107 342/193/107 339/192/107 +f 335/196/108 339/191/108 342/193/108 +f 337/198/109 341/194/109 340/199/109 +f 338/197/110 342/193/110 341/194/110 +f 336/200/111 340/217/111 339/191/111 +f 347/201/106 348/210/106 346/202/106 +f 350/201/106 349/210/106 344/202/106 +f 352/201/106 351/210/106 345/202/106 +f 354/201/106 353/210/106 343/202/106 +f 357/205/107 359/209/107 360/206/107 +f 355/205/107 361/209/107 362/206/107 +f 356/205/107 363/209/107 364/206/107 +f 358/205/107 365/209/107 366/206/107 +f 350/201/109 362/206/109 361/209/109 +f 347/201/108 360/206/108 359/209/108 +f 348/211/112 359/218/112 364/206/112 +f 353/211/113 365/218/113 360/206/113 +f 349/211/114 361/218/114 366/206/114 +f 354/201/111 366/206/111 365/209/111 +f 352/201/110 364/206/110 363/209/110 +f 351/211/115 363/218/115 362/206/115 +f 372/212/116 373/219/116 374/213/116 +f 368/212/117 369/219/117 370/213/117 +o Head +v 0.375000 1.750000 0.375000 +v -0.375000 1.750000 0.375000 +v 0.375000 1.750000 -0.375000 +v -0.375000 1.750000 -0.375000 +v 0.375000 2.500000 0.375000 +v -0.375000 2.500000 0.375000 +v -0.375000 2.500000 -0.375000 +v 0.375000 2.500000 -0.375000 +v 0.421875 1.703125 0.421875 +v -0.421875 1.703125 0.421875 +v 0.421875 1.703125 -0.421875 +v -0.421875 1.703125 -0.421875 +v 0.421875 2.546875 0.421875 +v -0.421875 2.546875 0.421875 +v -0.421875 2.546875 -0.421875 +v 0.421875 2.546875 -0.421875 +vn -0.0000 -1.0000 -0.0000 +vn -0.0000 1.0000 -0.0000 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vt 0.250000 1.000000 +vt 0.375000 0.875000 +vt 0.375000 1.000000 +vt 0.125000 0.875000 +vt 0.125000 1.000000 +vt 0.250000 0.750000 +vt 0.125000 0.750000 +vt -0.000000 0.875000 +vt -0.000000 0.750000 +vt 0.500000 0.750000 +vt 0.375000 0.750000 +vt 0.250000 0.875000 +vt 0.750000 1.000000 +vt 0.875000 0.875000 +vt 0.875000 1.000000 +vt 0.625000 0.875000 +vt 0.625000 1.000000 +vt 0.750000 0.750000 +vt 0.625000 0.750000 +vt 0.500000 0.875000 +vt 1.000000 0.750000 +vt 0.875000 0.750000 +vt 0.750000 0.875000 +vt 1.000000 0.875000 +s 0 +f 378/220/118 375/221/118 376/222/118 +f 379/223/119 381/220/119 380/224/119 +f 377/225/120 379/223/120 375/226/120 +f 375/226/121 380/227/121 376/228/121 +f 376/229/122 381/221/122 378/230/122 +f 378/230/123 382/231/123 377/225/123 +f 386/232/118 383/233/118 384/234/118 +f 387/235/119 389/232/119 388/236/119 +f 385/237/120 387/235/120 383/238/120 +f 383/238/121 388/239/121 384/229/121 +f 384/240/122 389/233/122 386/241/122 +f 386/241/123 390/242/123 385/237/123 +f 378/220/118 377/231/118 375/221/118 +f 379/223/119 382/231/119 381/220/119 +f 377/225/120 382/231/120 379/223/120 +f 375/226/121 379/223/121 380/227/121 +f 376/229/122 380/239/122 381/221/122 +f 378/230/123 381/221/123 382/231/123 +f 386/232/118 385/242/118 383/233/118 +f 387/235/119 390/242/119 389/232/119 +f 385/237/120 390/242/120 387/235/120 +f 383/238/121 387/235/121 388/239/121 +f 384/240/122 388/243/122 389/233/122 +f 386/241/123 389/233/123 390/242/123 +o Head17 +v 0.375000 1.750000 0.375000 +v -0.375000 1.750000 0.375000 +v 0.375000 1.750000 -0.375000 +v -0.375000 1.750000 -0.375000 +v 0.375000 2.500000 0.375000 +v -0.375000 2.500000 0.375000 +v -0.375000 2.500000 -0.375000 +v 0.375000 2.500000 -0.375000 +v 0.421875 1.703125 0.421875 +v -0.421875 1.703125 0.421875 +v 0.421875 1.703125 -0.421875 +v -0.421875 1.703125 -0.421875 +v 0.421875 2.546875 0.421875 +v -0.421875 2.546875 0.421875 +v -0.421875 2.546875 -0.421875 +v 0.421875 2.546875 -0.421875 +vn -0.0000 -1.0000 -0.0000 +vn -0.0000 1.0000 -0.0000 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vt 0.250000 1.000000 +vt 0.375000 0.750000 +vt 0.375000 1.000000 +vt 0.125000 0.750000 +vt 0.125000 1.000000 +vt 0.250000 0.500000 +vt 0.125000 0.500000 +vt 0.000000 0.750000 +vt 0.000000 0.500000 +vt 0.500000 0.500000 +vt 0.375000 0.500000 +vt 0.250000 0.750000 +vt 0.750000 1.000000 +vt 0.875000 0.750000 +vt 0.875000 1.000000 +vt 0.625000 0.750000 +vt 0.625000 1.000000 +vt 0.750000 0.500000 +vt 0.625000 0.500000 +vt 0.500000 0.750000 +vt 1.000000 0.500000 +vt 0.875000 0.500000 +vt 0.750000 0.750000 +vt 1.000000 0.750000 +s 0 +f 394/244/124 391/245/124 392/246/124 +f 395/247/125 397/244/125 396/248/125 +f 393/249/126 395/247/126 391/250/126 +f 391/250/127 396/251/127 392/252/127 +f 392/253/128 397/245/128 394/254/128 +f 394/254/129 398/255/129 393/249/129 +f 402/256/124 399/257/124 400/258/124 +f 403/259/125 405/256/125 404/260/125 +f 401/261/126 403/259/126 399/262/126 +f 399/262/127 404/263/127 400/253/127 +f 400/264/128 405/257/128 402/265/128 +f 402/265/129 406/266/129 401/261/129 +f 394/244/124 393/255/124 391/245/124 +f 395/247/125 398/255/125 397/244/125 +f 393/249/126 398/255/126 395/247/126 +f 391/250/127 395/247/127 396/251/127 +f 392/253/128 396/263/128 397/245/128 +f 394/254/129 397/245/129 398/255/129 +f 402/256/124 401/266/124 399/257/124 +f 403/259/125 406/266/125 405/256/125 +f 401/261/126 406/266/126 403/259/126 +f 399/262/127 403/259/127 404/263/127 +f 400/264/128 404/267/128 405/257/128 +f 402/265/129 405/257/129 406/266/129 o Horn v 0.205806 2.419194 0.062500 v 0.294194 2.330806 0.062500 v 0.205806 2.419194 -0.062500 v 0.294194 2.330806 -0.062500 -v 0.780330 2.905330 0.000000 +v 0.780330 2.905330 -0.000000 +vn 0.7634 -0.6459 -0.0000 +vn 0.0587 0.0587 -0.9965 +vn 0.0587 0.0587 0.9965 +vn -0.6459 0.7634 -0.0000 vt 0.906250 0.500000 vt 0.890625 0.687500 vt 0.875000 0.500000 -vt 0.906250 0.500000 -vt 0.875000 0.500000 -vt 0.906250 0.500000 -vt 0.875000 0.500000 -vt 0.875000 0.500000 -vt 0.906250 0.500000 -vn 0.7634 -0.6459 0.0000 -vn 0.0587 0.0587 -0.9965 -vn 0.0587 0.0587 0.9965 -vn -0.6459 0.7634 0.0000 -s off -f 389/510/127 390/511/127 387/512/127 -f 388/513/128 390/511/128 389/514/128 -f 387/515/129 390/511/129 386/516/129 -f 388/517/130 386/518/130 390/511/130 -o PelletShine -v -0.000000 0.250000 -0.375000 -v -0.187500 0.250000 -0.324760 -v -0.324760 0.250000 -0.187500 -v -0.375000 0.250000 0.000000 -v -0.324760 0.250000 0.187500 -v -0.187500 0.250000 0.324760 -v -0.000000 0.250000 0.375000 -v 0.187500 0.250000 0.324760 -v 0.324759 0.250000 0.187500 -v 0.375000 0.250000 0.000000 -v 0.324760 0.250000 -0.187500 -v 0.187500 0.250000 -0.324759 -v -0.000000 0.812500 -0.375000 -v -0.187500 0.812500 -0.324760 -v -0.324760 0.812500 -0.187500 -v -0.375000 0.812500 0.000000 -v -0.324760 0.812500 0.187500 -v -0.187500 0.812500 0.324760 -v -0.000000 0.812500 0.375000 -v 0.187500 0.812500 0.324760 -v 0.324759 0.812500 0.187500 -v 0.375000 0.812500 0.000000 -v 0.324760 0.812500 -0.187500 -v 0.187500 0.812500 -0.324759 -v 0.000000 0.875000 -0.312500 -v -0.156250 0.875000 -0.270633 -v -0.270633 0.875000 -0.156250 -v -0.312500 0.875000 0.000000 -v -0.270633 0.875000 0.156250 -v -0.156250 0.875000 0.270633 -v -0.000000 0.875000 0.312500 -v 0.156250 0.875000 0.270633 -v 0.270633 0.875000 0.156250 -v 0.312500 0.875000 0.000000 -v 0.270633 0.875000 -0.156250 -v 0.156250 0.875000 -0.270633 -vn -0.7071 0.0000 -0.7071 -vn 0.9659 0.0000 0.2588 -vn -0.2588 0.0000 0.9659 -vn -0.9659 0.0000 -0.2588 -vn 0.9659 0.0000 -0.2588 -vn 0.2588 0.0000 0.9659 -vn -0.9659 0.0000 0.2588 -vn 0.7071 0.0000 -0.7071 -vn -0.2588 0.0000 -0.9659 -vn 0.7071 0.0000 0.7071 -vn -0.7071 0.0000 0.7071 -vn 0.2588 0.0000 -0.9659 -vn 0.6947 0.6947 0.1862 -vn 0.6947 0.6947 -0.1862 +s 0 +f 410/268/130 411/269/130 408/270/130 +f 409/268/131 411/269/131 410/270/131 +f 408/268/132 411/269/132 407/270/132 +f 409/270/133 407/268/133 411/269/133 +o LA +v -0.125000 1.000000 -0.250000 +v 0.125000 1.000000 -0.250000 +v -0.125000 1.750000 -0.250000 +v 0.125000 1.750000 -0.250000 +v -0.125000 1.000000 -0.500000 +v 0.125000 1.000000 -0.500000 +v 0.125000 1.750000 -0.500000 +v -0.125000 1.750000 -0.500000 +v -0.156250 0.968750 -0.218750 +v 0.156250 0.968750 -0.218750 +v -0.156250 1.781250 -0.218750 +v 0.156250 1.781250 -0.218750 +v -0.156250 0.968750 -0.531250 +v 0.156250 0.968750 -0.531250 +v -0.156250 1.781250 -0.531250 +v 0.156250 1.781250 -0.531250 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 1.0000 -0.0000 +vn -0.0000 -1.0000 -0.0000 +vn -0.0000 -0.0000 1.0000 +vt 0.625000 0.187500 +vt 0.562500 0.000000 +vt 0.625000 0.000000 +vt 0.687500 0.187500 +vt 0.687500 0.000000 +vt 0.750000 0.187500 +vt 0.562500 0.250000 +vt 0.562500 0.187500 +vt 0.687500 0.250000 +vt 0.625000 0.250000 +vt 0.500000 0.187500 +vt 0.875000 0.187500 +vt 0.937500 0.250000 +vt 0.875000 0.250000 +vt 0.812500 -0.000000 +vt 0.875000 -0.000000 +vt 0.812500 0.187500 +vt 0.937500 -0.000000 +vt 1.000000 0.187500 +vt 0.937500 0.187500 +vt 0.750000 0.000000 +vt 0.500000 0.000000 +vt 0.812500 0.250000 +vt 1.000000 -0.000000 +s 0 +f 418/271/134 413/272/134 417/273/134 +f 417/273/135 419/274/135 418/271/135 +f 416/275/136 414/276/136 419/274/136 +f 418/271/137 414/277/137 415/278/137 +f 417/271/138 412/279/138 416/280/138 +f 414/281/139 413/272/139 415/278/139 +f 425/282/138 420/283/138 424/284/138 +f 427/282/134 421/285/134 425/286/134 +f 426/284/137 423/287/137 427/282/137 +f 424/288/136 422/289/136 426/290/136 +f 422/276/139 421/285/139 423/287/139 +f 425/286/135 426/290/135 427/282/135 +f 418/271/134 415/278/134 413/272/134 +f 417/273/135 416/275/135 419/274/135 +f 416/275/136 412/291/136 414/276/136 +f 418/271/137 419/280/137 414/277/137 +f 417/271/138 413/274/138 412/279/138 +f 414/281/139 412/292/139 413/272/139 +f 425/282/138 421/290/138 420/283/138 +f 427/282/134 423/287/134 421/285/134 +f 426/284/137 422/293/137 423/287/137 +f 424/288/136 420/294/136 422/289/136 +f 422/276/139 420/291/139 421/285/139 +f 425/286/135 424/288/135 426/290/135 +o LA17 +v -0.125000 1.000000 -0.500000 +v 0.125000 1.000000 -0.500000 +v -0.125000 1.750000 -0.500000 +v 0.125000 1.750000 -0.500000 +v -0.125000 1.000000 -0.250000 +v 0.125000 1.000000 -0.250000 +v 0.125000 1.750000 -0.250000 +v -0.125000 1.750000 -0.250000 +vn -0.0000 -0.0000 -1.0000 +vn -0.0000 1.0000 -0.0000 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 -1.0000 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn -1.0000 -0.0000 -0.0000 +vt 0.687500 -0.000000 +vt 0.625000 0.375000 +vt 0.687500 0.375000 +vt 0.750000 0.375000 +vt 0.687500 0.500000 +vt 0.750000 0.500000 +vt 0.750000 -0.000000 +vt 0.812500 0.500000 +vt 0.812500 0.375000 +vt 0.875000 0.375000 +vt 0.812500 -0.000000 +vt 0.625000 -0.000000 +vt 0.875000 -0.000000 +s 0 +f 429/295/140 430/296/140 431/297/140 +f 434/298/141 430/299/141 435/300/141 +f 429/295/142 434/298/142 433/301/142 +f 428/302/143 433/298/143 432/300/143 +f 435/303/144 433/301/144 434/298/144 +f 430/304/145 432/305/145 435/303/145 +f 429/295/140 428/306/140 430/296/140 +f 434/298/141 431/297/141 430/299/141 +f 429/295/142 431/297/142 434/298/142 +f 428/302/143 429/303/143 433/298/143 +f 435/303/144 432/305/144 433/301/144 +f 430/304/145 428/307/145 432/305/145 +o LL +v -0.125000 1.000000 -0.250000 +v -0.125000 0.250000 -0.250000 +v 0.125000 1.000000 -0.250000 +v 0.125000 0.250000 -0.250000 +v -0.125000 1.000000 -0.000000 +v -0.125000 0.250000 -0.000000 +v 0.125000 1.000000 -0.000000 +v 0.125000 0.250000 -0.000000 +v -0.156250 1.031250 -0.281250 +v -0.156250 0.218750 -0.281250 +v 0.156250 1.031250 -0.281250 +v 0.156250 0.218750 -0.281250 +v -0.156250 1.031250 0.031250 +v -0.156250 0.218750 0.031250 +v 0.156250 1.031250 0.031250 +v 0.156250 0.218750 0.031250 +vn -0.0000 -1.0000 -0.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 1.0000 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vt 0.375000 0.250000 +vt 0.437500 0.187500 +vt 0.437500 0.250000 +vt 0.500000 0.187500 +vt 0.437500 0.000000 +vt 0.500000 0.000000 +vt 0.312500 0.187500 +vt 0.250000 0.000000 +vt 0.312500 0.000000 +vt 0.375000 0.187500 +vt 0.375000 0.000000 +vt 0.312500 0.250000 +vt 0.062500 0.250000 +vt 0.125000 0.187500 +vt 0.125000 0.250000 +vt 0.187500 0.187500 +vt 0.187500 0.250000 +vt 0.062500 0.000000 +vt 0.125000 0.000000 +vt 0.187500 0.000000 +vt 0.250000 0.187500 +vt 0.062500 0.187500 +vt 0.000000 0.000000 +vt 0.000000 0.187500 +s 0 +f 437/308/146 443/309/146 441/310/146 +f 440/311/147 437/312/147 441/313/147 +f 442/314/148 441/315/148 443/316/148 +f 438/317/149 443/316/149 439/318/149 +f 440/319/150 438/317/150 436/308/150 +f 436/309/151 439/318/151 437/312/151 +f 448/320/150 446/321/150 444/322/150 +f 445/322/146 451/323/146 449/324/146 +f 446/321/149 451/325/149 447/326/149 +f 444/323/151 447/326/151 445/327/151 +f 448/328/147 445/327/147 449/315/147 +f 450/329/148 449/330/148 451/325/148 +f 437/308/146 439/317/146 443/309/146 +f 440/311/147 436/309/147 437/312/147 +f 442/314/148 440/328/148 441/315/148 +f 438/317/149 442/314/149 443/316/149 +f 440/319/150 442/314/150 438/317/150 +f 436/309/151 438/317/151 439/318/151 +f 448/320/150 450/329/150 446/321/150 +f 445/322/146 447/321/146 451/323/146 +f 446/321/149 450/329/149 451/325/149 +f 444/323/151 446/321/151 447/326/151 +f 448/328/147 444/323/147 445/327/147 +f 450/329/148 448/331/148 449/330/148 +o LL17 +v -0.125000 1.000000 -0.000000 +v -0.125000 0.250000 -0.000000 +v 0.125000 1.000000 -0.000000 +v 0.125000 0.250000 -0.000000 +v -0.125000 1.000000 -0.250000 +v -0.125000 0.250000 -0.250000 +v 0.125000 1.000000 -0.250000 +v 0.125000 0.250000 -0.250000 +vn -0.0000 1.0000 -0.0000 +vn -0.0000 -1.0000 -0.0000 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vt 0.125000 0.375000 +vt 0.062500 0.500000 +vt 0.125000 0.500000 +vt 0.187500 0.375000 +vt 0.187500 0.500000 +vt 0.062500 -0.000000 +vt 0.125000 -0.000000 +vt 0.187500 -0.000000 +vt 0.250000 0.375000 +vt 0.250000 -0.000000 +vt 0.000000 -0.000000 +vt 0.062500 0.375000 +vt 0.000000 0.375000 +s 0 +f 454/332/152 456/333/152 452/334/152 +f 459/335/153 453/334/153 457/336/153 +f 459/337/154 454/332/154 455/338/154 +f 455/338/155 452/335/155 453/339/155 +f 453/339/156 456/340/156 457/341/156 +f 457/342/157 458/343/157 459/337/157 +f 454/332/152 458/343/152 456/333/152 +f 459/335/153 455/332/153 453/334/153 +f 459/337/154 458/343/154 454/332/154 +f 455/338/155 454/332/155 452/335/155 +f 453/339/156 452/335/156 456/340/156 +f 457/342/157 456/344/157 458/343/157 +o PeepHat +v 0.281250 2.625000 -0.281250 +v 0.281250 2.625000 0.281250 +v -0.281250 2.625000 0.281250 +v -0.281250 2.625000 -0.281250 +v -0.281250 2.500000 -0.281250 +v -0.281250 2.500000 0.281250 +v 0.281250 2.500000 0.281250 +v 0.281250 2.500000 -0.281250 +v 0.000000 2.687500 0.062500 +v 0.000000 2.687500 -0.062500 +v 0.000000 2.625000 -0.000000 +vn -0.0000 -0.0000 1.0000 +vn -0.0000 -0.0000 -1.0000 +vn -1.0000 -0.0000 -0.0000 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 1.0000 -0.0000 +vt -0.000000 0.890625 +vt 0.015625 0.984375 +vt -0.000000 0.984375 +vt 0.125000 0.984375 +vt 0.109375 0.890625 +vt 0.125000 0.890625 +vt 0.015625 1.000000 +vt 0.109375 0.984375 +vt 0.109375 1.000000 +vt 0.109375 0.875000 +vt 0.015625 0.890625 +vt 0.015625 0.875000 +vt 0.000000 1.000000 +s 0 +f 466/345/158 462/346/158 465/347/158 +f 464/348/159 460/349/159 467/350/159 +f 465/351/160 463/352/160 464/353/160 +f 467/354/161 461/355/161 466/356/161 +f 461/355/162 463/352/162 462/346/162 +f 468/357/161 470/347/161 469/346/161 +f 466/345/158 461/355/158 462/346/158 +f 464/348/159 463/352/159 460/349/159 +f 465/351/160 462/346/160 463/352/160 +f 467/354/161 460/349/161 461/355/161 +f 461/355/162 460/349/162 463/352/162 +o PeepTail +v -0.114030 1.104741 -0.062500 +v -0.071277 0.987279 -0.062500 +v -0.114030 1.104741 0.062500 +v -0.071277 0.987279 0.062500 +v -0.583876 0.933731 -0.062500 +v -0.541124 0.816269 -0.062500 +v -0.583876 0.933731 0.062500 +v -0.541124 0.816269 0.062500 +v -0.547280 0.814373 0.062500 +v -0.704707 1.160419 0.125000 +v -0.547280 0.814373 -0.062500 +v -0.704707 1.160419 -0.125000 +v -0.426539 0.846725 0.062500 +v -0.463226 1.225123 0.125000 +v -0.426539 0.846725 -0.062500 +v -0.463226 1.225123 -0.125000 +v -0.801764 1.522641 0.125000 +v -0.801764 1.522641 -0.125000 +v -0.560283 1.587345 -0.125000 +v -0.560283 1.587345 0.125000 +v -0.757570 1.599187 0.062500 +v -0.757570 1.599187 -0.062500 +v -0.636829 1.631540 -0.062500 +v -0.636829 1.631540 0.062500 +vn -0.3420 0.9397 -0.0000 +vn 0.3420 -0.9397 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn -0.0000 -0.0000 -1.0000 +vn -0.9102 -0.4141 -0.0000 +vn 0.0425 -0.1588 -0.9864 +vn 0.9953 0.0965 -0.0000 +vn 0.0425 -0.1588 0.9864 +vn 0.2588 -0.9659 -0.0000 +vn 0.9659 0.2588 -0.0000 +vn -0.8660 0.5000 -0.0000 +vn -0.9659 -0.2588 -0.0000 +vn -0.2588 0.9659 -0.0000 +vn -0.1830 0.6830 0.7071 +vn -0.1830 0.6830 -0.7071 +vn 0.5000 0.8660 -0.0000 +vt 0.937500 0.562500 +vt 0.968750 0.687500 +vt 0.937500 0.687500 +vt 0.968750 0.562500 +vt 0.937500 0.546875 +vt 0.890625 0.453125 +vt 0.921875 0.453125 +vt 0.890625 0.421875 +vt 0.875000 0.640625 +vt 0.875000 0.546875 +vt 0.937500 0.640625 +vt 0.890625 0.656250 +vt 0.921875 0.687500 +vt 0.890625 0.687500 +vt 0.921875 0.656250 +vt 0.921875 0.421875 +s 0 +f 475/358/163 473/359/163 471/360/163 +f 472/359/164 478/358/164 476/361/164 +f 473/360/165 478/361/165 474/359/165 +f 475/361/166 472/360/166 476/358/166 +f 480/362/167 481/363/167 479/364/167 +f 482/362/168 485/363/168 481/364/168 +f 486/362/169 483/363/169 485/364/169 +f 484/362/170 479/363/170 483/364/170 +f 485/365/171 479/364/171 481/363/171 +f 486/362/172 490/366/172 484/367/172 +f 487/368/173 492/369/173 488/366/173 +f 480/362/174 488/366/174 482/367/174 +f 484/362/165 487/366/165 480/367/165 +f 482/362/166 489/366/166 486/367/166 +f 492/369/175 494/370/175 493/371/175 +f 487/366/176 494/372/176 491/369/176 +f 488/368/177 493/369/177 489/366/177 +f 489/368/178 494/369/178 490/366/178 +f 475/358/163 477/361/163 473/359/163 +f 472/359/164 474/360/164 478/358/164 +f 473/360/165 477/358/165 478/361/165 +f 475/361/166 471/359/166 472/360/166 +f 480/362/167 482/367/167 481/363/167 +f 482/362/168 486/367/168 485/363/168 +f 486/362/169 484/367/169 483/363/169 +f 484/362/170 480/367/170 479/363/170 +f 485/365/171 483/373/171 479/364/171 +f 486/362/172 489/368/172 490/366/172 +f 487/368/173 491/372/173 492/369/173 +f 480/362/174 487/368/174 488/366/174 +f 484/362/165 490/368/165 487/366/165 +f 482/362/166 488/368/166 489/366/166 +f 492/369/175 491/372/175 494/370/175 +f 487/366/176 490/368/176 494/372/176 +f 488/368/177 492/372/177 493/369/177 +f 489/368/178 493/372/178 494/369/178 +o Pellet +v 0.000000 0.250000 -0.312500 +v -0.156250 0.250000 -0.270633 +v -0.270633 0.250000 -0.156250 +v -0.312500 0.250000 -0.000000 +v -0.270633 0.250000 0.156250 +v -0.156250 0.250000 0.270633 +v 0.000000 0.250000 0.312500 +v 0.156250 0.250000 0.270633 +v 0.270633 0.250000 0.156250 +v 0.312500 0.250000 -0.000000 +v 0.270633 0.250000 -0.156250 +v 0.156250 0.250000 -0.270633 +v 0.000000 0.750000 -0.312500 +v -0.156250 0.750000 -0.270633 +v -0.270633 0.750000 -0.156250 +v -0.312500 0.750000 -0.000000 +v -0.270633 0.750000 0.156250 +v -0.156250 0.750000 0.270633 +v 0.000000 0.750000 0.312500 +v 0.156250 0.750000 0.270633 +v 0.270633 0.750000 0.156250 +v 0.312500 0.750000 -0.000000 +v 0.270633 0.750000 -0.156250 +v 0.156250 0.750000 -0.270633 +v 0.000000 0.812500 -0.250000 +v -0.125000 0.812500 -0.216506 +v -0.216506 0.812500 -0.125000 +v -0.250000 0.812500 -0.000000 +v -0.216506 0.812500 0.125000 +v -0.125000 0.812500 0.216506 +v 0.000000 0.812500 0.250000 +v 0.125000 0.812500 0.216506 +v 0.216506 0.812500 0.125000 +v 0.250000 0.812500 -0.000000 +v 0.216506 0.812500 -0.125000 +v 0.125000 0.812500 -0.216506 +vn -0.2588 -0.0000 0.9659 +vn -0.9659 -0.0000 -0.2588 +vn 0.9659 -0.0000 -0.2588 +vn 0.2588 -0.0000 0.9659 +vn -0.9659 -0.0000 0.2588 +vn 0.7071 -0.0000 -0.7071 +vn -0.2588 -0.0000 -0.9659 +vn 0.7071 -0.0000 0.7071 +vn -0.7071 -0.0000 0.7071 +vn 0.2588 -0.0000 -0.9659 +vn -0.7071 -0.0000 -0.7071 +vn 0.9659 -0.0000 0.2588 vn 0.5086 0.6947 -0.5086 vn 0.1862 0.6947 -0.6947 vn -0.1862 0.6947 -0.6947 @@ -1619,103 +1796,9 @@ vn -0.5086 0.6947 0.5086 vn -0.1862 0.6947 0.6947 vn 0.1862 0.6947 0.6947 vn 0.5086 0.6947 0.5086 -vn 0.0000 1.0000 0.0000 -s off -f 405//131 392//131 393//131 -f 412//132 399//132 400//132 -f 409//133 396//133 397//133 -f 406//134 393//134 394//134 -f 413//135 400//135 401//135 -f 410//136 397//136 398//136 -f 407//137 394//137 395//137 -f 414//138 401//138 402//138 -f 404//139 391//139 392//139 -f 411//140 398//140 399//140 -f 408//141 395//141 396//141 -f 403//142 402//142 391//142 -f 412//143 423//143 411//143 -f 412//144 425//144 424//144 -f 413//145 426//145 425//145 -f 414//146 415//146 426//146 -f 403//147 416//147 415//147 -f 404//148 417//148 416//148 -f 406//149 417//149 405//149 -f 407//150 418//150 406//150 -f 408//151 419//151 407//151 -f 409//152 420//152 408//152 -f 410//153 421//153 409//153 -f 411//154 422//154 410//154 -f 423//155 425//155 415//155 -f 405//131 404//131 392//131 -f 412//132 411//132 399//132 -f 409//133 408//133 396//133 -f 406//134 405//134 393//134 -f 413//135 412//135 400//135 -f 410//136 409//136 397//136 -f 407//137 406//137 394//137 -f 414//138 413//138 401//138 -f 404//139 403//139 391//139 -f 411//140 410//140 398//140 -f 408//141 407//141 395//141 -f 403//142 414//142 402//142 -f 412//143 424//143 423//143 -f 412//144 413//144 425//144 -f 413//145 414//145 426//145 -f 414//146 403//146 415//146 -f 403//147 404//147 416//147 -f 404//148 405//148 417//148 -f 406//149 418//149 417//149 -f 407//150 419//150 418//150 -f 408//151 420//151 419//151 -f 409//152 421//152 420//152 -f 410//153 422//153 421//153 -f 411//154 423//154 422//154 -f 415//155 416//155 419//155 -f 416//155 417//155 419//155 -f 417//155 418//155 419//155 -f 419//155 420//155 421//155 -f 421//155 422//155 423//155 -f 423//155 424//155 425//155 -f 425//155 426//155 415//155 -f 419//155 421//155 415//155 -f 421//155 423//155 415//155 -o Pellet -v 0.000000 0.250000 -0.312500 -v -0.156250 0.250000 -0.270633 -v -0.270633 0.250000 -0.156250 -v -0.312500 0.250000 0.000000 -v -0.270633 0.250000 0.156250 -v -0.156250 0.250000 0.270633 -v -0.000000 0.250000 0.312500 -v 0.156250 0.250000 0.270633 -v 0.270633 0.250000 0.156250 -v 0.312500 0.250000 0.000000 -v 0.270633 0.250000 -0.156250 -v 0.156250 0.250000 -0.270633 -v 0.000000 0.750000 -0.312500 -v -0.156250 0.750000 -0.270633 -v -0.270633 0.750000 -0.156250 -v -0.312500 0.750000 0.000000 -v -0.270633 0.750000 0.156250 -v -0.156250 0.750000 0.270633 -v -0.000000 0.750000 0.312500 -v 0.156250 0.750000 0.270633 -v 0.270633 0.750000 0.156250 -v 0.312500 0.750000 0.000000 -v 0.270633 0.750000 -0.156250 -v 0.156250 0.750000 -0.270633 -v 0.000000 0.812500 -0.250000 -v -0.125000 0.812500 -0.216506 -v -0.216506 0.812500 -0.125000 -v -0.250000 0.812500 0.000000 -v -0.216506 0.812500 0.125000 -v -0.125000 0.812500 0.216506 -v -0.000000 0.812500 0.250000 -v 0.125000 0.812500 0.216506 -v 0.216506 0.812500 0.125000 -v 0.250000 0.812500 0.000000 -v 0.216506 0.812500 -0.125000 -v 0.125000 0.812500 -0.216506 +vn 0.6947 0.6947 0.1862 +vn 0.6947 0.6947 -0.1862 +vn -0.0000 1.0000 -0.0000 vt 0.250000 0.000000 vt 0.166667 0.470588 vt 0.166667 0.000000 @@ -1778,20 +1861,118 @@ vt 0.015933 0.648338 vt 0.111111 0.531970 vt 0.166063 0.563151 vt 0.206290 0.648338 -vn -0.2588 0.0000 0.9659 -vn -0.9659 0.0000 -0.2588 -vn 0.9659 0.0000 -0.2588 -vn 0.2588 0.0000 0.9659 -vn -0.9659 0.0000 0.2588 -vn 0.7071 0.0000 -0.7071 -vn -0.2588 0.0000 -0.9659 -vn 0.7071 0.0000 0.7071 -vn -0.7071 0.0000 0.7071 -vn 0.2588 0.0000 -0.9659 -vn -0.7071 0.0000 -0.7071 -vn 0.9659 0.0000 0.2588 +s 0 +f 501/374/179 512/375/179 500/376/179 +f 498/377/180 509/378/180 497/379/180 +f 505/380/181 516/381/181 504/382/181 +f 502/383/182 513/384/182 501/374/182 +f 499/385/183 510/386/183 498/387/183 +f 506/388/184 517/389/184 505/380/184 +f 496/390/185 507/391/185 495/392/185 +f 503/393/186 514/394/186 502/383/186 +f 500/376/187 511/395/187 499/385/187 +f 495/392/188 518/396/188 506/388/188 +f 497/379/189 508/397/189 496/390/189 +f 504/382/190 515/398/190 503/393/190 +f 517/389/191 530/399/191 529/400/191 +f 518/396/192 519/401/192 530/402/192 +f 508/397/193 519/403/193 507/391/193 +f 509/378/194 520/404/194 508/397/194 +f 510/405/195 521/406/195 509/378/195 +f 511/395/196 522/407/196 510/386/196 +f 512/375/197 523/408/197 511/395/197 +f 513/384/198 524/409/198 512/375/198 +f 514/394/199 525/410/199 513/384/199 +f 514/394/200 527/411/200 526/412/200 +f 515/398/201 528/413/201 527/414/201 +f 516/381/202 529/415/202 528/416/202 +f 523/417/203 527/418/203 519/419/203 +f 501/374/179 513/384/179 512/375/179 +f 498/377/180 510/405/180 509/378/180 +f 505/380/181 517/389/181 516/381/181 +f 502/383/182 514/394/182 513/384/182 +f 499/385/183 511/395/183 510/386/183 +f 506/388/184 518/396/184 517/389/184 +f 496/390/185 508/397/185 507/391/185 +f 503/393/186 515/398/186 514/394/186 +f 500/376/187 512/375/187 511/395/187 +f 495/392/188 507/391/188 518/396/188 +f 497/379/189 509/378/189 508/397/189 +f 504/382/190 516/381/190 515/398/190 +f 517/389/191 518/396/191 530/399/191 +f 518/396/192 507/391/192 519/401/192 +f 508/397/193 520/420/193 519/403/193 +f 509/378/194 521/421/194 520/404/194 +f 510/405/195 522/422/195 521/406/195 +f 511/395/196 523/423/196 522/407/196 +f 512/375/197 524/424/197 523/408/197 +f 513/384/198 525/425/198 524/409/198 +f 514/394/199 526/426/199 525/410/199 +f 514/394/200 515/398/200 527/411/200 +f 515/398/201 516/381/201 528/413/201 +f 516/381/202 517/389/202 529/415/202 +f 519/419/203 520/427/203 521/428/203 +f 521/428/203 522/429/203 523/417/203 +f 523/417/203 524/430/203 525/431/203 +f 525/431/203 526/432/203 523/417/203 +f 526/432/203 527/418/203 523/417/203 +f 527/418/203 528/433/203 529/434/203 +f 529/434/203 530/435/203 519/419/203 +f 519/419/203 521/428/203 523/417/203 +f 527/418/203 529/434/203 519/419/203 +o PelletShine +v 0.000000 0.250000 -0.375000 +v -0.187500 0.250000 -0.324760 +v -0.324760 0.250000 -0.187500 +v -0.375000 0.250000 -0.000000 +v -0.324760 0.250000 0.187500 +v -0.187500 0.250000 0.324760 +v 0.000000 0.250000 0.375000 +v 0.187500 0.250000 0.324760 +v 0.324759 0.250000 0.187500 +v 0.375000 0.250000 -0.000000 +v 0.324760 0.250000 -0.187500 +v 0.187500 0.250000 -0.324759 +v 0.000000 0.812500 -0.375000 +v -0.187500 0.812500 -0.324760 +v -0.324760 0.812500 -0.187500 +v -0.375000 0.812500 -0.000000 +v -0.324760 0.812500 0.187500 +v -0.187500 0.812500 0.324760 +v 0.000000 0.812500 0.375000 +v 0.187500 0.812500 0.324760 +v 0.324759 0.812500 0.187500 +v 0.375000 0.812500 -0.000000 +v 0.324760 0.812500 -0.187500 +v 0.187500 0.812500 -0.324759 +v 0.000000 0.875000 -0.312500 +v -0.156250 0.875000 -0.270633 +v -0.270633 0.875000 -0.156250 +v -0.312500 0.875000 -0.000000 +v -0.270633 0.875000 0.156250 +v -0.156250 0.875000 0.270633 +v 0.000000 0.875000 0.312500 +v 0.156250 0.875000 0.270633 +v 0.270633 0.875000 0.156250 +v 0.312500 0.875000 -0.000000 +v 0.270633 0.875000 -0.156250 +v 0.156250 0.875000 -0.270633 +vn -0.7071 -0.0000 -0.7071 +vn 0.9659 -0.0000 0.2588 +vn -0.2588 -0.0000 0.9659 +vn -0.9659 -0.0000 -0.2588 +vn 0.9659 -0.0000 -0.2588 +vn 0.2588 -0.0000 0.9659 +vn -0.9659 -0.0000 0.2588 +vn 0.7071 -0.0000 -0.7071 +vn -0.2588 -0.0000 -0.9659 +vn 0.7071 -0.0000 0.7071 +vn -0.7071 -0.0000 0.7071 +vn 0.2588 -0.0000 -0.9659 +vn 0.6947 0.6947 0.1862 +vn 0.6947 0.6947 -0.1862 vn 0.5086 0.6947 -0.5086 -vn 0.1862 0.6947 -0.6947 +vn 0.1862 0.6947 -0.6948 vn -0.1862 0.6947 -0.6947 vn -0.5086 0.6947 -0.5086 vn -0.6947 0.6947 -0.1862 @@ -1800,228 +1981,67 @@ vn -0.5086 0.6947 0.5086 vn -0.1862 0.6947 0.6947 vn 0.1862 0.6947 0.6947 vn 0.5086 0.6947 0.5086 -vn 0.6947 0.6947 0.1862 -vn 0.6947 0.6947 -0.1862 -vn 0.0000 1.0000 -0.0000 -s off -f 433/519/156 444/520/156 432/521/156 -f 430/522/157 441/523/157 429/524/157 -f 437/525/158 448/526/158 436/527/158 -f 434/528/159 445/529/159 433/519/159 -f 431/530/160 442/531/160 430/532/160 -f 438/533/161 449/534/161 437/525/161 -f 428/535/162 439/536/162 427/537/162 -f 435/538/163 446/539/163 434/528/163 -f 432/521/164 443/540/164 431/530/164 -f 427/537/165 450/541/165 438/533/165 -f 429/524/166 440/542/166 428/535/166 -f 436/527/167 447/543/167 435/538/167 -f 449/534/168 462/544/168 461/545/168 -f 450/541/169 451/546/169 462/547/169 -f 440/542/170 451/548/170 439/536/170 -f 441/523/171 452/549/171 440/542/171 -f 442/550/172 453/551/172 441/523/172 -f 443/540/173 454/552/173 442/531/173 -f 444/520/174 455/553/174 443/540/174 -f 445/529/175 456/554/175 444/520/175 -f 446/539/176 457/555/176 445/529/176 -f 446/539/177 459/556/177 458/557/177 -f 447/543/178 460/558/178 459/559/178 -f 448/526/179 461/560/179 460/561/179 -f 455/562/180 459/563/180 451/564/180 -f 433/519/156 445/529/156 444/520/156 -f 430/522/157 442/550/157 441/523/157 -f 437/525/158 449/534/158 448/526/158 -f 434/528/159 446/539/159 445/529/159 -f 431/530/160 443/540/160 442/531/160 -f 438/533/161 450/541/161 449/534/161 -f 428/535/162 440/542/162 439/536/162 -f 435/538/163 447/543/163 446/539/163 -f 432/521/164 444/520/164 443/540/164 -f 427/537/165 439/536/165 450/541/165 -f 429/524/166 441/523/166 440/542/166 -f 436/527/167 448/526/167 447/543/167 -f 449/534/168 450/541/168 462/544/168 -f 450/541/169 439/536/169 451/546/169 -f 440/542/170 452/565/170 451/548/170 -f 441/523/171 453/566/171 452/549/171 -f 442/550/172 454/567/172 453/551/172 -f 443/540/173 455/568/173 454/552/173 -f 444/520/174 456/569/174 455/553/174 -f 445/529/175 457/570/175 456/554/175 -f 446/539/176 458/571/176 457/555/176 -f 446/539/177 447/543/177 459/556/177 -f 447/543/178 448/526/178 460/558/178 -f 448/526/179 449/534/179 461/560/179 -f 451/564/180 452/572/180 453/573/180 -f 453/573/180 454/574/180 455/562/180 -f 455/562/180 456/575/180 457/576/180 -f 457/576/180 458/577/180 455/562/180 -f 458/577/180 459/563/180 455/562/180 -f 459/563/180 460/578/180 461/579/180 -f 461/579/180 462/580/180 451/564/180 -f 451/564/180 453/573/180 455/562/180 -f 459/563/180 461/579/180 451/564/180 -o Head -v 0.375000 1.750000 0.375000 -v -0.375000 1.750000 0.375000 -v 0.375000 1.750000 -0.375000 -v -0.375000 1.750000 -0.375000 -v 0.375000 2.500000 0.375000 -v -0.375000 2.500000 0.375000 -v -0.375000 2.500000 -0.375000 -v 0.375000 2.500000 -0.375000 -v 0.421875 1.703125 0.421875 -v -0.421875 1.703125 0.421875 -v 0.421875 1.703125 -0.421875 -v -0.421875 1.703125 -0.421875 -v 0.421875 2.546875 0.421875 -v -0.421875 2.546875 0.421875 -v -0.421875 2.546875 -0.421875 -v 0.421875 2.546875 -0.421875 -vt 0.250000 1.000000 -vt 0.375000 0.875000 -vt 0.375000 1.000000 -vt 0.125000 0.875000 -vt 0.250000 1.000000 -vt 0.125000 1.000000 -vt 0.250000 0.750000 -vt 0.125000 0.750000 -vt -0.000000 0.875000 -vt -0.000000 0.750000 -vt 0.500000 0.750000 -vt 0.375000 0.875000 -vt 0.375000 0.750000 -vt 0.250000 0.875000 -vt 0.750000 1.000000 -vt 0.875000 0.875000 -vt 0.875000 1.000000 -vt 0.625000 0.875000 -vt 0.750000 1.000000 -vt 0.625000 1.000000 -vt 0.750000 0.750000 -vt 0.625000 0.750000 -vt 0.500000 0.875000 -vt 0.500000 0.750000 -vt 1.000000 0.750000 -vt 0.875000 0.875000 -vt 0.875000 0.750000 -vt 0.750000 0.875000 -vt 0.250000 0.875000 -vt 0.500000 0.875000 -vt 0.750000 0.875000 -vt 1.000000 0.875000 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 1.0000 -0.0000 -vn 1.0000 0.0000 -0.0000 -vn 0.0000 0.0000 1.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -s off -f 466/581/181 463/582/181 464/583/181 -f 467/584/182 469/585/182 468/586/182 -f 465/587/183 467/584/183 463/588/183 -f 463/588/184 468/589/184 464/590/184 -f 464/591/185 469/592/185 466/593/185 -f 466/593/186 470/594/186 465/587/186 -f 474/595/181 471/596/181 472/597/181 -f 475/598/182 477/599/182 476/600/182 -f 473/601/183 475/598/183 471/602/183 -f 471/602/184 476/603/184 472/604/184 -f 472/605/185 477/606/185 474/607/185 -f 474/607/186 478/608/186 473/601/186 -f 466/581/181 465/609/181 463/582/181 -f 467/584/182 470/594/182 469/585/182 -f 465/587/183 470/594/183 467/584/183 -f 463/588/184 467/584/184 468/589/184 -f 464/591/185 468/610/185 469/592/185 -f 466/593/186 469/592/186 470/594/186 -f 474/595/181 473/611/181 471/596/181 -f 475/598/182 478/608/182 477/599/182 -f 473/601/183 478/608/183 475/598/183 -f 471/602/184 475/598/184 476/603/184 -f 472/605/185 476/612/185 477/606/185 -f 474/607/186 477/606/186 478/608/186 -o LA -v -0.125000 1.000000 -0.250000 -v 0.125000 1.000000 -0.250000 -v -0.125000 1.750000 -0.250000 -v 0.125000 1.750000 -0.250000 -v -0.125000 1.000000 -0.500000 -v 0.125000 1.000000 -0.500000 -v 0.125000 1.750000 -0.500000 -v -0.125000 1.750000 -0.500000 -v -0.156250 0.968750 -0.218750 -v 0.156250 0.968750 -0.218750 -v -0.156250 1.781250 -0.218750 -v 0.156250 1.781250 -0.218750 -v -0.156250 0.968750 -0.531250 -v 0.156250 0.968750 -0.531250 -v -0.156250 1.781250 -0.531250 -v 0.156250 1.781250 -0.531250 -vt 0.625000 0.187500 -vt 0.562500 0.000000 -vt 0.625000 0.000000 -vt 0.687500 0.187500 -vt 0.687500 0.000000 -vt 0.750000 0.187500 -vt 0.562500 0.250000 -vt 0.562500 0.187500 -vt 0.625000 0.187500 -vt 0.687500 0.250000 -vt 0.625000 0.250000 -vt 0.500000 0.187500 -vt 0.875000 0.187500 -vt 0.937500 0.250000 -vt 0.875000 0.250000 -vt 0.875000 0.187500 -vt 0.812500 -0.000000 -vt 0.875000 -0.000000 -vt 0.875000 0.250000 -vt 0.812500 0.187500 -vt 0.937500 -0.000000 -vt 1.000000 0.187500 -vt 0.937500 0.187500 -vt 0.750000 0.187500 -vt 0.750000 0.000000 -vt 0.625000 0.250000 -vt 0.687500 0.187500 -vt 0.500000 0.000000 -vt 0.937500 0.187500 -vt 0.812500 0.250000 -vt 1.000000 -0.000000 -vt 0.750000 -0.000000 -vn 1.0000 0.0000 -0.0000 -vn 0.0000 0.0000 -1.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 1.0000 0.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 0.0000 1.0000 -s off -f 485/613/187 480/614/187 484/615/187 -f 484/615/188 486/616/188 485/613/188 -f 483/617/189 481/618/189 486/616/189 -f 485/613/190 481/619/190 482/620/190 -f 484/621/191 479/622/191 483/623/191 -f 481/624/192 480/614/192 482/620/192 -f 492/625/191 487/626/191 491/627/191 -f 494/628/187 488/629/187 492/630/187 -f 493/631/190 490/632/190 494/628/190 -f 491/633/189 489/634/189 493/635/189 -f 489/636/192 488/629/192 490/632/192 -f 492/630/188 493/635/188 494/628/188 -f 485/613/187 482/620/187 480/614/187 -f 484/615/188 483/617/188 486/616/188 -f 483/617/189 479/637/189 481/618/189 -f 485/613/190 486/638/190 481/619/190 -f 484/621/191 480/639/191 479/622/191 -f 481/624/192 479/640/192 480/614/192 -f 492/625/191 488/641/191 487/626/191 -f 494/628/187 490/632/187 488/629/187 -f 493/631/190 489/642/190 490/632/190 -f 491/633/189 487/643/189 489/634/189 -f 489/636/192 487/644/192 488/629/192 -f 492/630/188 491/633/188 493/635/188 +vn -0.0000 1.0000 -0.0000 +vn 0.1862 0.6947 -0.6947 +s 0 +f 545//204 532//204 533//204 +f 552//205 539//205 540//205 +f 549//206 536//206 537//206 +f 546//207 533//207 534//207 +f 553//208 540//208 541//208 +f 550//209 537//209 538//209 +f 547//210 534//210 535//210 +f 554//211 541//211 542//211 +f 544//212 531//212 532//212 +f 551//213 538//213 539//213 +f 548//214 535//214 536//214 +f 543//215 542//215 531//215 +f 552//216 563//216 551//216 +f 552//217 565//217 564//217 +f 553//218 566//218 565//218 +f 554//219 555//219 566//219 +f 543//220 556//220 555//220 +f 544//221 557//221 556//221 +f 546//222 557//222 545//222 +f 547//223 558//223 546//223 +f 548//224 559//224 547//224 +f 549//225 560//225 548//225 +f 550//226 561//226 549//226 +f 551//227 562//227 550//227 +f 563//228 565//228 555//228 +f 545//204 544//204 532//204 +f 552//205 551//205 539//205 +f 549//206 548//206 536//206 +f 546//207 545//207 533//207 +f 553//208 552//208 540//208 +f 550//209 549//209 537//209 +f 547//210 546//210 534//210 +f 554//211 553//211 541//211 +f 544//212 543//212 531//212 +f 551//213 550//213 538//213 +f 548//214 547//214 535//214 +f 543//215 554//215 542//215 +f 552//216 564//216 563//216 +f 552//217 553//217 565//217 +f 553//218 554//218 566//218 +f 554//229 543//229 555//229 +f 543//220 544//220 556//220 +f 544//221 545//221 557//221 +f 546//222 558//222 557//222 +f 547//223 559//223 558//223 +f 548//224 560//224 559//224 +f 549//225 561//225 560//225 +f 550//226 562//226 561//226 +f 551//227 563//227 562//227 +f 555//228 556//228 559//228 +f 556//228 557//228 559//228 +f 557//228 558//228 559//228 +f 559//228 560//228 561//228 +f 561//228 562//228 563//228 +f 563//228 564//228 565//228 +f 565//228 566//228 555//228 +f 559//228 561//228 555//228 +f 561//228 563//228 555//228 o RA v -0.125000 1.750000 0.250000 v 0.125000 1.750000 0.250000 @@ -2039,6 +2059,12 @@ v 0.156250 1.781250 0.531250 v -0.156250 1.781250 0.531250 v 0.156250 0.968750 0.531250 v -0.156250 0.968750 0.531250 +vn -0.0000 -0.0000 -1.0000 +vn -0.0000 -0.0000 1.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 -1.0000 -0.0000 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 1.0000 -0.0000 vt 0.750000 0.500000 vt 0.812500 0.687500 vt 0.750000 0.687500 @@ -2047,7 +2073,6 @@ vt 0.687500 0.500000 vt 0.687500 0.687500 vt 0.812500 0.500000 vt 0.875000 0.687500 -vt 0.750000 0.687500 vt 0.812500 0.750000 vt 0.750000 0.750000 vt 0.687500 0.750000 @@ -2059,138 +2084,85 @@ vt 0.687500 0.250000 vt 0.687500 0.437500 vt 0.812500 0.250000 vt 0.875000 0.437500 -vt 0.750000 0.500000 -vt 0.750000 0.437500 -vt 0.812500 0.500000 -vt 0.750000 0.500000 vt 0.625000 0.500000 vt 0.875000 0.500000 -vt 0.812500 0.687500 -vt 0.750000 0.750000 vt 0.625000 0.250000 vt 0.875000 0.250000 +s 0 +f 569/436/230 567/437/230 568/438/230 +f 572/439/231 573/440/231 571/441/231 +f 570/442/232 572/443/232 567/437/232 +f 569/438/233 574/444/233 570/445/233 +f 568/438/234 573/440/234 569/436/234 +f 568/438/235 572/446/235 571/441/235 +f 577/447/230 576/448/230 575/449/230 +f 580/450/231 581/451/231 579/452/231 +f 578/453/232 580/454/232 576/448/232 +f 576/436/235 579/452/235 575/449/235 +f 575/449/234 581/451/234 577/447/234 +f 577/449/233 582/442/233 578/436/233 +f 569/436/230 570/442/230 567/437/230 +f 572/439/231 574/455/231 573/440/231 +f 570/442/232 574/456/232 572/443/232 +f 569/438/233 573/437/233 574/444/233 +f 568/438/234 571/441/234 573/440/234 +f 568/438/235 567/445/235 572/446/235 +f 577/447/230 578/453/230 576/448/230 +f 580/450/231 582/457/231 581/451/231 +f 578/453/232 582/458/232 580/454/232 +f 576/436/235 580/440/235 579/452/235 +f 575/449/234 579/452/234 581/451/234 +f 577/449/233 581/448/233 582/442/233 +o RA17 +v -0.125000 1.750000 0.250000 +v 0.125000 1.750000 0.250000 +v 0.125000 1.000000 0.250000 +v -0.125000 1.000000 0.250000 +v 0.125000 1.750000 0.500000 +v -0.125000 1.750000 0.500000 +v 0.125000 1.000000 0.500000 +v -0.125000 1.000000 0.500000 +vn -0.0000 -0.0000 -1.0000 +vn -0.0000 -0.0000 1.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 -1.0000 -0.0000 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 1.0000 -0.0000 +vt 0.750000 -0.000000 +vt 0.812500 0.375000 +vt 0.750000 0.375000 +vt 0.625000 0.375000 +vt 0.687500 -0.000000 +vt 0.687500 0.375000 +vt 0.812500 -0.000000 +vt 0.875000 0.375000 +vt 0.812500 0.500000 +vt 0.750000 0.500000 vt 0.687500 0.500000 -vt 0.812500 0.437500 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 0.0000 1.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 -1.0000 0.0000 -vn 1.0000 0.0000 -0.0000 -vn 0.0000 1.0000 0.0000 -s off -f 497/645/193 495/646/193 496/647/193 -f 500/648/194 501/649/194 499/650/194 -f 498/651/195 500/652/195 495/646/195 -f 497/653/196 502/654/196 498/655/196 -f 496/647/197 501/649/197 497/645/197 -f 496/647/198 500/656/198 499/650/198 -f 505/657/193 504/658/193 503/659/193 -f 508/660/194 509/661/194 507/662/194 -f 506/663/195 508/664/195 504/658/195 -f 504/665/198 507/662/198 503/659/198 -f 503/659/197 509/661/197 505/657/197 -f 505/666/196 510/667/196 506/668/196 -f 497/645/193 498/651/193 495/646/193 -f 500/648/194 502/669/194 501/649/194 -f 498/651/195 502/670/195 500/652/195 -f 497/653/196 501/671/196 502/654/196 -f 496/647/197 499/650/197 501/649/197 -f 496/647/198 495/672/198 500/656/198 -f 505/657/193 506/663/193 504/658/193 -f 508/660/194 510/673/194 509/661/194 -f 506/663/195 510/674/195 508/664/195 -f 504/665/198 508/675/198 507/662/198 -f 503/659/197 507/662/197 509/661/197 -f 505/666/196 509/676/196 510/667/196 -o LL -v -0.125000 1.000000 -0.250000 -v -0.125000 0.250000 -0.250000 -v 0.125000 1.000000 -0.250000 -v 0.125000 0.250000 -0.250000 -v -0.125000 1.000000 0.000000 -v -0.125000 0.250000 0.000000 -v 0.125000 1.000000 0.000000 -v 0.125000 0.250000 0.000000 -v -0.156250 1.031250 -0.281250 -v -0.156250 0.218750 -0.281250 -v 0.156250 1.031250 -0.281250 -v 0.156250 0.218750 -0.281250 -v -0.156250 1.031250 0.031250 -v -0.156250 0.218750 0.031250 -v 0.156250 1.031250 0.031250 -v 0.156250 0.218750 0.031250 -vt 0.375000 0.250000 -vt 0.437500 0.187500 -vt 0.437500 0.250000 -vt 0.500000 0.187500 -vt 0.437500 0.000000 -vt 0.500000 0.000000 -vt 0.312500 0.187500 -vt 0.250000 0.000000 -vt 0.312500 0.000000 -vt 0.375000 0.187500 -vt 0.375000 0.000000 -vt 0.312500 0.250000 -vt 0.375000 0.250000 -vt 0.437500 0.187500 -vt 0.062500 0.250000 -vt 0.125000 0.187500 -vt 0.125000 0.250000 -vt 0.125000 0.250000 -vt 0.187500 0.187500 -vt 0.187500 0.250000 -vt 0.062500 0.000000 -vt 0.125000 0.000000 -vt 0.187500 0.187500 -vt 0.187500 0.000000 -vt 0.250000 0.187500 -vt 0.250000 0.000000 -vt 0.062500 0.187500 -vt 0.000000 0.000000 -vt 0.375000 0.187500 -vt 0.250000 0.187500 -vt 0.125000 0.187500 -vt 0.000000 0.187500 -vn 0.0000 -1.0000 0.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 1.0000 -vn 1.0000 0.0000 -0.0000 -vn 0.0000 1.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -s off -f 512/677/199 518/678/199 516/679/199 -f 515/680/200 512/681/200 516/682/200 -f 517/683/201 516/684/201 518/685/201 -f 513/686/202 518/685/202 514/687/202 -f 515/688/203 513/686/203 511/689/203 -f 511/690/204 514/687/204 512/681/204 -f 523/691/203 521/692/203 519/693/203 -f 520/694/199 526/695/199 524/696/199 -f 521/692/202 526/697/202 522/698/202 -f 519/699/204 522/698/204 520/700/204 -f 523/701/200 520/700/200 524/702/200 -f 525/703/201 524/704/201 526/697/201 -f 512/677/199 514/705/199 518/678/199 -f 515/680/200 511/690/200 512/681/200 -f 517/683/201 515/706/201 516/684/201 -f 513/686/202 517/683/202 518/685/202 -f 515/688/203 517/683/203 513/686/203 -f 511/690/204 513/686/204 514/687/204 -f 523/691/203 525/703/203 521/692/203 -f 520/694/199 522/707/199 526/695/199 -f 521/692/202 525/703/202 526/697/202 -f 519/699/204 521/692/204 522/698/204 -f 523/701/200 519/699/200 520/700/200 -f 525/703/201 523/708/201 524/704/201 +vt 0.625000 -0.000000 +vt 0.875000 -0.000000 +s 0 +f 585/459/236 583/460/236 584/461/236 +f 588/462/237 589/463/237 587/464/237 +f 586/465/238 588/466/238 583/460/238 +f 585/461/239 590/467/239 586/468/239 +f 584/461/240 589/463/240 585/459/240 +f 584/461/241 588/469/241 587/464/241 +f 585/459/236 586/465/236 583/460/236 +f 588/462/237 590/470/237 589/463/237 +f 586/465/238 590/471/238 588/466/238 +f 585/461/239 589/460/239 590/467/239 +f 584/461/240 587/464/240 589/463/240 +f 584/461/241 583/468/241 588/469/241 o RL v 0.125000 0.250000 0.250000 v 0.125000 1.000000 0.250000 v -0.125000 0.250000 0.250000 v -0.125000 1.000000 0.250000 -v 0.125000 0.250000 0.000000 -v 0.125000 1.000000 0.000000 -v -0.125000 0.250000 0.000000 -v -0.125000 1.000000 0.000000 +v 0.125000 0.250000 -0.000000 +v 0.125000 1.000000 -0.000000 +v -0.125000 0.250000 -0.000000 +v -0.125000 1.000000 -0.000000 v 0.156250 0.218750 0.281250 v 0.156250 1.031250 0.281250 v -0.156250 0.218750 0.281250 @@ -2199,6 +2171,12 @@ v 0.156250 0.218750 -0.031250 v 0.156250 1.031250 -0.031250 v -0.156250 0.218750 -0.031250 v -0.156250 1.031250 -0.031250 +vn -0.0000 -0.0000 1.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 -1.0000 -0.0000 +vn -0.0000 1.0000 -0.0000 vt 0.062500 0.687500 vt 0.000000 0.500000 vt 0.062500 0.500000 @@ -2209,10 +2187,8 @@ vt 0.187500 0.687500 vt 0.125000 0.500000 vt 0.125000 0.687500 vt 0.125000 0.750000 -vt 0.187500 0.687500 vt 0.187500 0.750000 vt 0.062500 0.750000 -vt 0.125000 0.750000 vt 0.062500 0.437500 vt -0.000000 0.250000 vt 0.062500 0.250000 @@ -2222,267 +2198,48 @@ vt 0.250000 0.250000 vt 0.187500 0.437500 vt 0.125000 0.250000 vt 0.125000 0.437500 -vt 0.125000 0.500000 -vt 0.187500 0.437500 -vt 0.187500 0.500000 -vt 0.062500 0.500000 -vt 0.125000 0.500000 vt 0.000000 0.687500 -vt 0.125000 0.687500 vt -0.000000 0.437500 -vt 0.125000 0.437500 -vn 0.0000 0.0000 1.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 1.0000 0.0000 -0.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 1.0000 0.0000 -s off -f 528/709/205 529/710/205 527/711/205 -f 530/712/206 533/713/206 529/714/206 -f 534/715/207 531/716/207 533/713/207 -f 532/717/208 527/711/208 531/716/208 -f 533/718/209 527/719/209 529/720/209 -f 530/721/210 532/717/210 534/722/210 -f 536/723/205 537/724/205 535/725/205 -f 538/726/206 541/727/206 537/728/206 -f 542/729/207 539/730/207 541/727/207 -f 540/731/208 535/725/208 539/730/208 -f 541/732/209 535/733/209 537/734/209 -f 538/735/210 540/731/210 542/736/210 -f 528/709/205 530/737/205 529/710/205 -f 530/712/206 534/715/206 533/713/206 -f 534/715/207 532/717/207 531/716/207 -f 532/717/208 528/709/208 527/711/208 -f 533/718/209 531/738/209 527/719/209 -f 530/721/210 528/709/210 532/717/210 -f 536/723/205 538/739/205 537/724/205 -f 538/726/206 542/729/206 541/727/206 -f 542/729/207 540/731/207 539/730/207 -f 540/731/208 536/723/208 535/725/208 -f 541/732/209 539/740/209 535/733/209 -f 538/735/210 536/723/210 540/731/210 -o Head17 -v 0.375000 1.750000 0.375000 -v -0.375000 1.750000 0.375000 -v 0.375000 1.750000 -0.375000 -v -0.375000 1.750000 -0.375000 -v 0.375000 2.500000 0.375000 -v -0.375000 2.500000 0.375000 -v -0.375000 2.500000 -0.375000 -v 0.375000 2.500000 -0.375000 -v 0.421875 1.703125 0.421875 -v -0.421875 1.703125 0.421875 -v 0.421875 1.703125 -0.421875 -v -0.421875 1.703125 -0.421875 -v 0.421875 2.546875 0.421875 -v -0.421875 2.546875 0.421875 -v -0.421875 2.546875 -0.421875 -v 0.421875 2.546875 -0.421875 -vt 0.250000 1.000000 -vt 0.375000 0.750000 -vt 0.375000 1.000000 -vt 0.125000 0.750000 -vt 0.250000 1.000000 -vt 0.125000 1.000000 -vt 0.250000 0.500000 -vt 0.125000 0.500000 -vt 0.000000 0.750000 -vt 0.000000 0.500000 -vt 0.500000 0.500000 -vt 0.375000 0.750000 -vt 0.375000 0.500000 -vt 0.250000 0.750000 -vt 0.750000 1.000000 -vt 0.875000 0.750000 -vt 0.875000 1.000000 -vt 0.625000 0.750000 -vt 0.750000 1.000000 -vt 0.625000 1.000000 -vt 0.750000 0.500000 -vt 0.625000 0.500000 -vt 0.500000 0.750000 -vt 0.500000 0.500000 -vt 1.000000 0.500000 -vt 0.875000 0.750000 -vt 0.875000 0.500000 -vt 0.750000 0.750000 -vt 0.250000 0.750000 -vt 0.500000 0.750000 -vt 0.750000 0.750000 -vt 1.000000 0.750000 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 1.0000 -0.0000 -vn 1.0000 0.0000 -0.0000 -vn 0.0000 0.0000 1.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -s off -f 546/741/211 543/742/211 544/743/211 -f 547/744/212 549/745/212 548/746/212 -f 545/747/213 547/744/213 543/748/213 -f 543/748/214 548/749/214 544/750/214 -f 544/751/215 549/752/215 546/753/215 -f 546/753/216 550/754/216 545/747/216 -f 554/755/211 551/756/211 552/757/211 -f 555/758/212 557/759/212 556/760/212 -f 553/761/213 555/758/213 551/762/213 -f 551/762/214 556/763/214 552/764/214 -f 552/765/215 557/766/215 554/767/215 -f 554/767/216 558/768/216 553/761/216 -f 546/741/211 545/769/211 543/742/211 -f 547/744/212 550/754/212 549/745/212 -f 545/747/213 550/754/213 547/744/213 -f 543/748/214 547/744/214 548/749/214 -f 544/751/215 548/770/215 549/752/215 -f 546/753/216 549/752/216 550/754/216 -f 554/755/211 553/771/211 551/756/211 -f 555/758/212 558/768/212 557/759/212 -f 553/761/213 558/768/213 555/758/213 -f 551/762/214 555/758/214 556/763/214 -f 552/765/215 556/772/215 557/766/215 -f 554/767/216 557/766/216 558/768/216 -o RA17 -v -0.125000 1.750000 0.250000 -v 0.125000 1.750000 0.250000 -v 0.125000 1.000000 0.250000 -v -0.125000 1.000000 0.250000 -v 0.125000 1.750000 0.500000 -v -0.125000 1.750000 0.500000 -v 0.125000 1.000000 0.500000 -v -0.125000 1.000000 0.500000 -vt 0.750000 -0.000000 -vt 0.812500 0.375000 -vt 0.750000 0.375000 -vt 0.625000 0.375000 -vt 0.687500 -0.000000 -vt 0.687500 0.375000 -vt 0.812500 -0.000000 -vt 0.875000 0.375000 -vt 0.750000 0.375000 -vt 0.812500 0.500000 -vt 0.750000 0.500000 -vt 0.687500 0.500000 -vt 0.625000 -0.000000 -vt 0.875000 -0.000000 -vt 0.812500 0.375000 -vt 0.750000 0.500000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 0.0000 1.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 -1.0000 0.0000 -vn 1.0000 0.0000 -0.0000 -vn 0.0000 1.0000 0.0000 -s off -f 561/773/217 559/774/217 560/775/217 -f 564/776/218 565/777/218 563/778/218 -f 562/779/219 564/780/219 559/774/219 -f 561/781/220 566/782/220 562/783/220 -f 560/775/221 565/777/221 561/773/221 -f 560/775/222 564/784/222 563/778/222 -f 561/773/217 562/779/217 559/774/217 -f 564/776/218 566/785/218 565/777/218 -f 562/779/219 566/786/219 564/780/219 -f 561/781/220 565/787/220 566/782/220 -f 560/775/221 563/778/221 565/777/221 -f 560/775/222 559/788/222 564/784/222 -o LA17 -v -0.125000 1.000000 -0.500000 -v 0.125000 1.000000 -0.500000 -v -0.125000 1.750000 -0.500000 -v 0.125000 1.750000 -0.500000 -v -0.125000 1.000000 -0.250000 -v 0.125000 1.000000 -0.250000 -v 0.125000 1.750000 -0.250000 -v -0.125000 1.750000 -0.250000 -vt 0.687500 -0.000000 -vt 0.625000 0.375000 -vt 0.687500 0.375000 -vt 0.750000 0.375000 -vt 0.687500 0.500000 -vt 0.750000 0.500000 -vt 0.750000 -0.000000 -vt 0.812500 0.500000 -vt 0.750000 0.375000 -vt 0.750000 0.500000 -vt 0.812500 0.375000 -vt 0.875000 0.375000 -vt 0.812500 -0.000000 -vt 0.625000 -0.000000 -vt 0.812500 0.375000 -vt 0.875000 -0.000000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 1.0000 -0.0000 -vn 1.0000 0.0000 0.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 0.0000 1.0000 -vn -1.0000 0.0000 -0.0000 -s off -f 568/789/223 569/790/223 570/791/223 -f 573/792/224 569/793/224 574/794/224 -f 568/789/225 573/792/225 572/795/225 -f 567/796/226 572/797/226 571/798/226 -f 574/799/227 572/795/227 573/792/227 -f 569/800/228 571/801/228 574/799/228 -f 568/789/223 567/802/223 569/790/223 -f 573/792/224 570/791/224 569/793/224 -f 568/789/225 570/791/225 573/792/225 -f 567/796/226 568/803/226 572/797/226 -f 574/799/227 571/801/227 572/795/227 -f 569/800/228 567/804/228 571/801/228 -o LL17 -v -0.125000 1.000000 0.000000 -v -0.125000 0.250000 0.000000 -v 0.125000 1.000000 0.000000 -v 0.125000 0.250000 0.000000 -v -0.125000 1.000000 -0.250000 -v -0.125000 0.250000 -0.250000 -v 0.125000 1.000000 -0.250000 -v 0.125000 0.250000 -0.250000 -vt 0.125000 0.375000 -vt 0.062500 0.500000 -vt 0.125000 0.500000 -vt 0.187500 0.375000 -vt 0.125000 0.500000 -vt 0.187500 0.500000 -vt 0.062500 -0.000000 -vt 0.125000 -0.000000 -vt 0.187500 0.375000 -vt 0.187500 -0.000000 -vt 0.250000 0.375000 -vt 0.250000 -0.000000 -vt 0.000000 -0.000000 -vt 0.062500 0.375000 -vt 0.125000 0.375000 -vt 0.000000 0.375000 -vn 0.0000 1.0000 0.0000 -vn 0.0000 -1.0000 0.0000 -vn 1.0000 0.0000 0.0000 -vn 0.0000 0.0000 1.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -s off -f 577/805/229 579/806/229 575/807/229 -f 582/808/230 576/809/230 580/810/230 -f 582/811/231 577/805/231 578/812/231 -f 578/812/232 575/813/232 576/814/232 -f 576/814/233 579/815/233 580/816/233 -f 580/817/234 581/818/234 582/811/234 -f 577/805/229 581/818/229 579/806/229 -f 582/808/230 578/819/230 576/809/230 -f 582/811/231 581/818/231 577/805/231 -f 578/812/232 577/805/232 575/813/232 -f 576/814/233 575/813/233 579/815/233 -f 580/817/234 579/820/234 581/818/234 +s 0 +f 592/472/242 593/473/242 591/474/242 +f 594/475/243 597/476/243 593/477/243 +f 598/478/244 595/479/244 597/476/244 +f 596/480/245 591/474/245 595/479/245 +f 597/481/246 591/478/246 593/482/246 +f 594/483/247 596/480/247 598/481/247 +f 600/484/242 601/485/242 599/486/242 +f 602/487/243 605/488/243 601/489/243 +f 606/490/244 603/491/244 605/488/244 +f 604/492/245 599/486/245 603/491/245 +f 605/479/246 599/490/246 601/476/246 +f 602/474/247 604/492/247 606/479/247 +f 592/472/242 594/493/242 593/473/242 +f 594/475/243 598/478/243 597/476/243 +f 598/478/244 596/480/244 595/479/244 +f 596/480/245 592/472/245 591/474/245 +f 597/481/246 595/480/246 591/478/246 +f 594/483/247 592/472/247 596/480/247 +f 600/484/242 602/494/242 601/485/242 +f 602/487/243 606/490/243 605/488/243 +f 606/490/244 604/492/244 603/491/244 +f 604/492/245 600/484/245 599/486/245 +f 605/479/246 603/492/246 599/490/246 +f 602/474/247 600/484/247 604/492/247 o RL17 v 0.125000 0.250000 0.250000 v 0.125000 1.000000 0.250000 v -0.125000 0.250000 0.250000 v -0.125000 1.000000 0.250000 -v 0.125000 0.250000 0.000000 -v 0.125000 1.000000 0.000000 -v -0.125000 0.250000 0.000000 -v -0.125000 1.000000 0.000000 +v 0.125000 0.250000 -0.000000 +v 0.125000 1.000000 -0.000000 +v -0.125000 0.250000 -0.000000 +v -0.125000 1.000000 -0.000000 +vn -0.0000 -0.0000 1.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 -1.0000 -0.0000 +vn -0.0000 1.0000 -0.0000 vt 0.062500 0.375000 vt 0.000000 -0.000000 vt 0.062500 -0.000000 @@ -2493,200 +2250,216 @@ vt 0.187500 0.375000 vt 0.125000 -0.000000 vt 0.125000 0.375000 vt 0.125000 0.500000 -vt 0.187500 0.375000 vt 0.187500 0.500000 vt 0.062500 0.500000 -vt 0.125000 0.500000 vt 0.000000 0.375000 -vt 0.125000 0.375000 -vn 0.0000 0.0000 1.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 1.0000 0.0000 -0.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 1.0000 0.0000 -s off -f 584/821/235 585/822/235 583/823/235 -f 586/824/236 589/825/236 585/826/236 -f 590/827/237 587/828/237 589/825/237 -f 588/829/238 583/823/238 587/828/238 -f 589/830/239 583/831/239 585/832/239 -f 586/833/240 588/829/240 590/834/240 -f 584/821/235 586/835/235 585/822/235 -f 586/824/236 590/827/236 589/825/236 -f 590/827/237 588/829/237 587/828/237 -f 588/829/238 584/821/238 583/823/238 -f 589/830/239 587/836/239 583/831/239 -f 586/833/240 584/821/240 588/829/240 -o Body17 -v 0.125000 1.750000 0.250000 -v -0.125000 1.750000 0.250000 -v 0.125000 1.750000 -0.250000 -v -0.125000 1.750000 -0.250000 -v 0.125000 1.000000 0.250000 -v -0.125000 1.000000 0.250000 -v -0.125000 1.000000 -0.250000 -v 0.125000 1.000000 -0.250000 -vt 0.312500 0.375000 -vt 0.437500 0.500000 -vt 0.312500 0.500000 -vt 0.437500 0.500000 -vt 0.562500 0.375000 -vt 0.562500 0.500000 -vt 0.500000 0.375000 -vt 0.625000 -0.000000 -vt 0.625000 0.375000 -vt 0.437500 0.375000 -vt 0.500000 -0.000000 -vt 0.437500 -0.000000 -vt 0.250000 0.375000 -vt 0.312500 -0.000000 -vt 0.437500 0.375000 -vt 0.250000 -0.000000 -vn 0.0000 1.0000 0.0000 -vn 0.0000 -1.0000 0.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 1.0000 0.0000 -0.0000 -vn 0.0000 0.0000 1.0000 -s off -f 591/837/241 594/838/241 592/839/241 -f 597/840/242 595/841/242 596/842/242 -f 594/843/243 596/844/243 592/845/243 -f 593/846/244 597/847/244 594/843/244 -f 591/837/245 598/848/245 593/846/245 -f 592/849/246 595/850/246 591/837/246 -f 591/837/241 593/846/241 594/838/241 -f 597/840/242 598/851/242 595/841/242 -f 594/843/243 597/847/243 596/844/243 -f 593/846/244 598/848/244 597/847/244 -f 591/837/245 595/850/245 598/848/245 -f 592/849/246 596/852/246 595/850/246 +s 0 +f 608/495/248 609/496/248 607/497/248 +f 610/498/249 613/499/249 609/500/249 +f 614/501/250 611/502/250 613/499/250 +f 612/503/251 607/497/251 611/502/251 +f 613/504/252 607/501/252 609/505/252 +f 610/506/253 612/503/253 614/504/253 +f 608/495/248 610/507/248 609/496/248 +f 610/498/249 614/501/249 613/499/249 +f 614/501/250 612/503/250 611/502/250 +f 612/503/251 608/495/251 607/497/251 +f 613/504/252 611/503/252 607/501/252 +f 610/506/253 608/495/253 612/503/253 o Socket v 0.625000 0.000000 0.625000 -v 0.625000 0.000000 -0.625000 +v 0.625000 -0.000000 -0.625000 v -0.625000 0.000000 0.625000 -v -0.625000 0.000000 -0.625000 +v -0.625000 -0.000000 -0.625000 v -0.625000 0.250000 0.625000 v 0.625000 0.250000 0.625000 v 0.625000 0.250000 -0.625000 v -0.625000 0.250000 -0.625000 +vn -0.0000 -1.0000 -0.0000 +vn -0.0000 1.0000 -0.0000 +vn -1.0000 -0.0000 -0.0000 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn -0.0000 -0.0000 1.0000 vt 0.000000 1.000000 vt 1.000000 0.166667 vt 1.000000 1.000000 -vt 1.000000 1.000000 -vt 0.000000 0.166667 -vt 1.000000 0.166667 vt 0.000000 0.166667 vt 1.000000 0.000000 -vt 1.000000 0.166667 -vt 1.000000 0.000000 -vt 0.000000 0.166667 vt 0.000000 0.000000 -vt 0.000000 0.166667 -vt 1.000000 0.000000 -vt 1.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.166667 -vt 0.000000 0.000000 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 1.0000 0.0000 -vn -1.0000 0.0000 0.0000 -vn 1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 0.0000 1.0000 -s off -f 601/853/247 600/854/247 599/855/247 -f 605/856/248 603/857/248 604/858/248 -f 601/859/249 606/860/249 602/861/249 -f 600/862/250 604/863/250 599/864/250 -f 602/865/251 605/866/251 600/854/251 -f 599/867/252 603/857/252 601/868/252 -f 601/853/247 602/865/247 600/854/247 -f 605/856/248 606/869/248 603/857/248 -f 601/859/249 603/870/249 606/860/249 -f 600/862/250 605/871/250 604/863/250 -f 602/865/251 606/872/251 605/866/251 -f 599/867/252 604/858/252 603/857/252 -o Body -v 0.125000 1.750000 0.250000 -v -0.125000 1.750000 0.250000 -v 0.125000 1.750000 -0.250000 -v -0.125000 1.750000 -0.250000 -v 0.125000 1.000000 0.250000 -v -0.125000 1.000000 0.250000 -v -0.125000 1.000000 -0.250000 -v 0.125000 1.000000 -0.250000 -v 0.156250 1.781250 0.281250 -v -0.156250 1.781250 0.281250 -v 0.156250 1.781250 -0.281250 -v -0.156250 1.781250 -0.281250 -v 0.156250 0.968750 0.281250 -v -0.156250 0.968750 0.281250 -v -0.156250 0.968750 -0.281250 -v 0.156250 0.968750 -0.281250 -vt 0.312500 0.687500 -vt 0.437500 0.750000 -vt 0.312500 0.750000 -vt 0.437500 0.750000 -vt 0.562500 0.687500 -vt 0.562500 0.750000 -vt 0.500000 0.687500 -vt 0.625000 0.500000 +s 0 +f 617/508/254 616/509/254 615/510/254 +f 621/510/255 619/511/255 620/509/255 +f 617/511/256 622/512/256 618/509/256 +f 616/512/257 620/511/257 615/513/257 +f 618/511/258 621/512/258 616/509/258 +f 615/512/259 619/511/259 617/513/259 +f 617/508/254 618/511/254 616/509/254 +f 621/510/255 622/508/255 619/511/255 +f 617/511/256 619/513/256 622/512/256 +f 616/512/257 621/509/257 620/511/257 +f 618/511/258 622/513/258 621/512/258 +f 615/512/259 620/509/259 619/511/259 +o Fluoro +v 0.610719 0.246094 0.295662 +v 0.397021 0.246094 0.295662 +v 0.610719 0.246094 0.000000 +v 0.397021 0.246094 0.000000 +v 0.620287 0.301531 0.295662 +v 0.387453 0.301531 0.295662 +v 0.620287 0.301531 0.000000 +v 0.387453 0.301531 0.000000 +v 0.620287 0.273812 0.000000 +v 0.387453 0.273812 0.000000 +v 0.620287 0.273812 0.295662 +v 0.387453 0.273812 0.295662 +v 0.397021 0.246094 0.314141 +v 0.610719 0.246094 0.314141 +v 0.620287 0.301531 0.314141 +v 0.387453 0.301531 0.314141 +v 0.387453 0.273812 0.314141 +v 0.620287 0.273812 0.314141 +v 0.397021 0.246094 -0.295662 +v 0.610719 0.246094 -0.295662 +v 0.397021 0.246094 0.000000 +v 0.610719 0.246094 0.000000 +v 0.387453 0.301531 -0.295662 +v 0.620287 0.301531 -0.295662 +v 0.387453 0.301531 0.000000 +v 0.620287 0.301531 -0.000000 +v 0.387453 0.273812 0.000000 +v 0.620287 0.273812 -0.000000 +v 0.387453 0.273812 -0.295662 +v 0.620287 0.273812 -0.295662 +v 0.610719 0.246094 -0.314141 +v 0.397021 0.246094 -0.314141 +v 0.387453 0.301531 -0.314141 +v 0.620287 0.301531 -0.314141 +v 0.620287 0.273812 -0.314141 +v 0.387453 0.273812 -0.314141 +vn -0.0000 -0.0000 -1.0000 +vn -0.0000 1.0000 -0.0000 +vn 1.0000 -0.0000 -0.0000 +vn -0.9453 -0.3263 -0.0000 +vn -1.0000 -0.0000 -0.0000 +vn 0.9453 -0.3263 -0.0000 +vn -0.0000 -0.0000 1.0000 +vt 0.125000 0.937500 +vt 0.625000 0.875000 +vt 0.625000 0.937500 +vt 0.125000 0.687500 +vt 0.625000 0.125000 vt 0.625000 0.687500 -vt 0.437500 0.687500 -vt 0.500000 0.500000 -vt 0.437500 0.500000 -vt 0.250000 0.687500 -vt 0.312500 0.500000 -vt 0.312500 0.437500 -vt 0.437500 0.500000 -vt 0.312500 0.500000 -vt 0.562500 0.500000 -vt 0.437500 0.437500 -vt 0.562500 0.437500 -vt 0.500000 0.437500 -vt 0.625000 0.250000 -vt 0.625000 0.437500 -vt 0.437500 0.437500 -vt 0.500000 0.250000 -vt 0.437500 0.250000 -vt 0.250000 0.437500 -vt 0.312500 0.250000 -vt 0.437500 0.687500 -vt 0.250000 0.500000 -vt 0.437500 0.500000 -vt 0.250000 0.250000 -vn 0.0000 1.0000 0.0000 -vn 0.0000 -1.0000 0.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 1.0000 0.0000 -0.0000 -vn 0.0000 0.0000 1.0000 -s off -f 607/873/253 610/874/253 608/875/253 -f 613/876/254 611/877/254 612/878/254 -f 610/879/255 612/880/255 608/881/255 -f 609/882/256 613/883/256 610/879/256 -f 607/873/257 614/884/257 609/882/257 -f 608/885/258 611/886/258 607/873/258 -f 615/887/253 618/888/253 616/889/253 -f 620/890/254 622/891/254 619/892/254 -f 618/893/255 620/894/255 616/895/255 -f 617/896/256 621/897/256 618/893/256 -f 615/887/257 622/898/257 617/896/257 -f 616/899/258 619/900/258 615/887/258 -f 607/873/253 609/882/253 610/874/253 -f 613/876/254 614/901/254 611/877/254 -f 610/879/255 613/883/255 612/880/255 -f 609/882/256 614/884/256 613/883/256 -f 607/873/257 611/886/257 614/884/257 -f 608/885/258 612/902/258 611/886/258 -f 615/887/253 617/896/253 618/888/253 -f 620/890/254 621/903/254 622/891/254 -f 618/893/255 621/897/255 620/894/255 -f 617/896/256 622/898/256 621/897/256 -f 615/887/257 619/900/257 622/898/257 -f 616/899/258 620/904/258 619/900/258 +vt 0.687500 0.125000 +vt 0.687500 0.687500 +vt 0.062500 0.687500 +vt 0.000000 0.125000 +vt 0.062500 0.125000 +vt 0.125000 0.125000 +vt 0.750000 0.125000 +vt 0.750000 0.687500 +vt 0.125000 1.000000 +vt 0.625000 1.000000 +vt 0.125000 0.062500 +vt 0.625000 0.000000 +vt 0.625000 0.062500 +vt 1.000000 0.375000 +vt 0.937500 0.437500 +vt 0.937500 0.375000 +vt 1.000000 0.437500 +vt 0.937500 1.000000 +vt 1.000000 0.500000 +vt 1.000000 1.000000 +vt 0.937500 0.500000 +vt 0.000000 0.687500 +vt 0.125000 0.875000 +vt 0.125000 0.000000 +s 0 +f 632/514/260 629/515/260 631/516/260 +f 630/517/261 627/518/261 629/519/261 +f 629/519/262 633/520/262 631/521/262 +f 632/522/263 624/523/263 634/524/263 +f 632/522/264 628/525/264 630/517/264 +f 631/521/265 623/526/265 625/527/265 +f 626/528/260 631/516/260 625/529/260 +f 639/530/266 636/531/266 640/532/266 +f 635/533/263 634/534/263 624/535/263 +f 640/534/265 623/533/265 633/536/265 +f 638/525/266 640/532/266 637/518/266 +f 638/537/261 627/538/261 628/539/261 +f 639/534/264 628/538/264 634/536/264 +f 637/540/262 633/536/262 627/538/262 +f 650/514/266 647/515/266 649/516/266 +f 648/517/261 645/518/261 647/519/261 +f 647/519/264 651/520/264 649/521/264 +f 644/541/265 652/524/265 650/522/265 +f 650/522/262 646/525/262 648/517/262 +f 649/521/263 641/526/263 643/527/263 +f 644/528/266 649/516/266 643/529/266 +f 657/530/260 654/531/260 658/532/260 +f 653/533/265 652/534/265 642/535/265 +f 658/534/263 641/533/263 651/536/263 +f 656/525/260 658/532/260 655/518/260 +f 656/537/261 645/538/261 646/539/261 +f 657/534/262 646/538/262 652/536/262 +f 655/540/264 651/536/264 645/538/264 +f 632/514/260 630/542/260 629/515/260 +f 630/517/261 628/525/261 627/518/261 +f 629/519/262 627/518/262 633/520/262 +f 632/522/263 626/541/263 624/523/263 +f 632/522/264 634/524/264 628/525/264 +f 631/521/265 633/520/265 623/526/265 +f 626/528/260 632/514/260 631/516/260 +f 639/530/266 635/543/266 636/531/266 +f 635/533/263 639/536/263 634/534/263 +f 640/534/265 636/535/265 623/533/265 +f 638/525/266 639/530/266 640/532/266 +f 638/537/261 637/540/261 627/538/261 +f 639/534/264 638/540/264 628/538/264 +f 637/540/262 640/534/262 633/536/262 +f 650/514/266 648/542/266 647/515/266 +f 648/517/261 646/525/261 645/518/261 +f 647/519/264 645/518/264 651/520/264 +f 644/541/265 642/523/265 652/524/265 +f 650/522/262 652/524/262 646/525/262 +f 649/521/263 651/520/263 641/526/263 +f 644/528/266 650/514/266 649/516/266 +f 657/530/260 653/543/260 654/531/260 +f 653/533/265 657/536/265 652/534/265 +f 658/534/263 654/535/263 641/533/263 +f 656/525/260 657/530/260 658/532/260 +f 656/537/261 655/540/261 645/538/261 +f 657/534/262 656/540/262 646/538/262 +f 655/540/264 658/534/264 651/536/264 +o Glow +v 0.388825 0.297917 0.296631 +v -0.007899 1.660617 1.039308 +v 0.388825 0.297917 -0.296631 +v -0.007899 1.660617 -1.039308 +v 0.619008 0.297917 0.296631 +v 1.015732 1.660617 1.039308 +v 0.619008 0.297917 -0.296631 +v 1.015732 1.660617 -1.039308 +vn -0.9601 -0.2795 -0.0000 +vn -0.0000 -0.4785 -0.8781 +vn 0.9601 -0.2795 -0.0000 +vn -0.0000 -0.4785 0.8781 +vt 1.000000 1.000000 +vt -0.000000 0.000000 +vt 1.000000 -0.000000 +vt 1.000000 1.000000 +vt 0.000000 -0.000000 +vt 1.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt -0.000000 1.000000 +s 0 +f 660/544/267 661/545/267 659/546/267 +f 662/547/268 665/548/268 661/549/268 +f 665/550/269 664/551/269 663/552/269 +f 664/544/270 659/545/270 663/546/270 +f 660/544/267 662/551/267 661/545/267 +f 662/547/268 666/553/268 665/548/268 +f 665/550/269 666/544/269 664/551/269 +f 664/544/270 660/551/270 659/545/270 diff --git a/src/main/resources/assets/hbm/models/trinkets/snowglobe.obj b/src/main/resources/assets/hbm/models/trinkets/snowglobe.obj index 10fc715a6..a165813f1 100644 --- a/src/main/resources/assets/hbm/models/trinkets/snowglobe.obj +++ b/src/main/resources/assets/hbm/models/trinkets/snowglobe.obj @@ -1,581 +1,3328 @@ # Blender v2.79 (sub 0) OBJ File: 'snowglobe.blend' # www.blender.org -o Glass -v 0.000000 1.000000 -3.500000 -v -1.339392 1.000000 -3.233578 -v -2.474874 1.000000 -2.474874 -v -3.233578 1.000000 -1.339392 -v -3.500000 1.000000 0.000000 -v -3.233578 1.000000 1.339393 -v -2.474874 1.000000 2.474874 -v -1.339392 1.000000 3.233578 -v -0.000000 1.000000 3.500000 -v 1.339391 1.000000 3.233579 -v 2.474873 1.000000 2.474874 -v 3.233578 1.000000 1.339393 -v 3.500000 1.000000 0.000000 -v 3.233578 1.000000 -1.339393 -v 2.474873 1.000000 -2.474874 -v 1.339391 1.000000 -3.233579 -v 0.000001 5.000000 -1.205920 -v 0.000001 4.469670 -2.511333 -v -0.461486 5.000000 -1.114124 -v -0.961046 4.469670 -2.320169 -v -0.852714 5.000000 -0.852715 -v -1.775780 4.469670 -1.775781 -v -1.114124 5.000000 -0.461486 -v -2.320169 4.469670 -0.961045 -v -1.205920 5.000000 0.000000 -v -2.511333 4.469670 0.000000 -v -1.114124 5.000000 0.461486 -v -2.320169 4.469669 0.961046 -v -0.852714 5.000000 0.852715 -v -1.775780 4.469670 1.775781 -v -0.461485 5.000000 1.114124 -v -0.961046 4.469670 2.320169 -v -0.000000 5.000000 1.205920 -v -0.000000 4.469670 2.511333 -v 0.461486 5.000000 1.114124 -v 0.961045 4.469670 2.320169 -v 0.852714 5.000000 0.852715 -v 1.775780 4.469669 1.775782 -v 1.114125 5.000000 0.461486 -v 2.320169 4.469670 0.961046 -v 1.205920 5.000000 0.000000 -v 2.511333 4.469670 0.000000 -v 1.114125 5.000000 -0.461486 -v 2.320169 4.469670 -0.961046 -v 0.852714 5.000000 -0.852715 -v 1.775780 4.469670 -1.775782 -v 0.461484 5.000000 -1.114125 -v 0.961044 4.469669 -2.320170 -v 0.000000 4.030330 -2.959280 -v 0.000000 2.750000 -3.500000 -v -1.339392 2.750000 -3.233578 -v -1.132467 4.030330 -2.734018 -v -2.474874 2.750000 -2.474874 -v -2.092527 4.030330 -2.092527 -v -3.233578 2.750000 -1.339392 -v -2.734018 4.030330 -1.132467 -v -3.500000 2.750000 0.000000 -v -2.959280 4.030330 0.000000 -v -3.233578 2.750000 1.339393 -v -2.734018 4.030330 1.132467 -v -2.474874 2.750000 2.474874 -v -2.092527 4.030330 2.092527 -v -1.339392 2.750000 3.233578 -v -1.132468 4.030330 2.734018 -v -0.000000 2.750000 3.500000 -v -0.000000 4.030330 2.959280 -v 1.339391 2.750000 3.233579 -v 1.132467 4.030330 2.734018 -v 2.474873 2.750000 2.474874 -v 2.092527 4.030330 2.092527 -v 3.233578 2.750000 1.339393 -v 2.734018 4.030330 1.132468 -v 3.500000 2.750000 0.000000 -v 2.959280 4.030330 0.000000 -v 3.233578 2.750000 -1.339393 -v 2.734018 4.030330 -1.132468 -v 2.474873 2.750000 -2.474874 -v 2.092526 4.030330 -2.092527 -v 1.339391 2.750000 -3.233579 -v 1.132466 4.030330 -2.734019 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vn 0.5221 0.8250 -0.2163 -vn 0.5899 0.5513 -0.5899 -vn 0.3996 0.8250 -0.3996 -vn -0.3996 0.8250 0.3996 -vn -0.3193 0.5513 0.7707 -vn -0.2163 0.8250 0.5221 -vn 0.3193 0.5513 -0.7707 -vn 0.2163 0.8250 -0.5221 -vn 0.0000 0.5513 0.8343 -vn 0.0000 0.8250 0.5651 -vn 0.3193 0.5513 0.7707 -vn 0.2163 0.8250 0.5221 -vn 0.3996 0.8250 0.3996 -vn 0.5899 0.5513 0.5899 -vn -0.3996 0.8250 -0.3996 -vn -0.7707 0.5513 -0.3193 -vn -0.5221 0.8250 -0.2163 -vn 0.0000 0.5513 -0.8343 -vn 0.0000 0.8250 -0.5651 -vn 0.7707 0.5513 0.3193 -vn 0.5221 0.8250 0.2163 -vn -0.8343 0.5513 0.0000 -vn -0.5651 0.8250 0.0000 -vn 0.8343 0.5513 0.0000 -vn 0.5651 0.8250 0.0000 -vn -0.7707 0.5513 0.3193 -vn -0.5221 0.8250 0.2163 -vn 0.7707 0.5513 -0.3193 -vn -0.5899 0.5513 0.5899 -vn -0.3827 0.0000 -0.9239 -vn 0.0000 0.1938 -0.9810 +o SierraMadre +v -1.000000 1.500000 1.000000 +v 1.000000 1.500000 1.000000 +v -1.000000 1.500000 -1.000000 +v 1.000000 1.500000 -1.000000 +v -1.000000 3.000000 -1.000000 +v -1.000000 3.000000 1.000000 +v 1.000000 3.000000 1.000000 +v 1.000000 3.000000 -1.000000 +v -1.250000 1.500000 0.500000 +v 1.250000 1.500000 0.500000 +v -1.250000 1.500000 -0.500000 +v 1.250000 1.500000 -0.500000 +v -1.250000 4.000000 -0.500000 +v -1.250000 4.000000 0.500000 +v 1.250000 4.000000 0.500000 +v 1.250000 4.000000 -0.500000 +v -1.250000 4.125000 -0.250000 +v 1.500000 1.000000 2.000000 +v -1.250000 4.125000 0.250000 +v 1.250000 4.125000 0.250000 +v -1.500000 1.000000 2.000000 +v 1.250000 4.125000 -0.250000 +v -1.500000 1.000000 -2.000000 +v 1.500000 1.000000 -2.000000 +v -1.500000 1.500000 2.000000 +v 1.500000 1.500000 2.000000 +v -1.500000 1.500000 -2.000000 +v 1.500000 1.500000 -2.000000 +v 1.124000 1.500000 0.126000 +v 1.376000 1.500000 0.126000 +v 1.124000 1.500000 -0.126000 +v 1.376000 1.500000 -0.126000 +v 1.124000 4.750000 -0.126000 +v 1.124000 4.750000 0.126000 +v 1.376000 4.750000 0.126000 +v 1.376000 4.750000 -0.126000 +vt 0.400169 0.766151 +vt 0.473712 0.839693 +vt 0.400169 0.839693 +vt 0.358338 0.755432 +vt 0.267290 0.823719 +vt 0.267290 0.755432 +vt 0.358338 0.755432 +vt 0.267290 0.823719 +vt 0.267290 0.755432 +vt 0.358338 0.755432 +vt 0.267290 0.823719 +vt 0.267290 0.755432 +vt 0.358338 0.755432 +vt 0.267290 0.823719 +vt 0.267290 0.755432 +vt 0.500609 0.906794 +vt 0.624891 1.000005 +vt 0.500609 1.000005 +vt 0.446133 0.756958 +vt 0.455326 0.848886 +vt 0.446133 0.848886 +vt 0.369719 0.755432 +vt 0.255909 0.869243 +vt 0.255909 0.755432 +vt 0.369719 0.755432 +vt 0.255909 0.869243 +vt 0.255909 0.755432 +vt 0.324195 0.874933 +vt 0.301433 0.874933 +vt 0.290052 0.869243 +vt 0.324195 0.874933 +vt 0.301433 0.874933 +vt 0.290052 0.869243 +vt 0.418555 0.756958 +vt 0.427747 0.848886 +vt 0.418555 0.848886 +vt 0.624149 0.875209 +vt 0.500594 0.890653 +vt 0.500594 0.875209 +vt 0.597474 0.875209 +vt 0.504808 0.890653 +vt 0.504808 0.875209 +vt 0.427747 0.756958 +vt 0.597474 0.875209 +vt 0.504808 0.890653 +vt 0.504808 0.875209 +vt 0.624149 0.875209 +vt 0.500594 0.890653 +vt 0.500594 0.875209 +vt 0.432307 0.752325 +vt 0.441573 0.761591 +vt 0.432307 0.761591 +vt 0.395609 0.752361 +vt 0.386343 0.871868 +vt 0.386343 0.752361 +vt 0.487538 0.752361 +vt 0.478271 0.871868 +vt 0.478271 0.752361 +vt 0.441573 0.752361 +vt 0.432307 0.871868 +vt 0.432307 0.752361 +vt 0.441573 0.752361 +vt 0.432307 0.871868 +vt 0.432307 0.752361 +vt 0.473712 0.766151 +vt 0.358338 0.823719 +vt 0.358338 0.823719 +vt 0.358338 0.823719 +vt 0.358338 0.823719 +vt 0.624891 0.906794 +vt 0.455326 0.756958 +vt 0.369719 0.869243 +vt 0.369719 0.869243 +vt 0.290052 0.755432 +vt 0.335576 0.755432 +vt 0.335576 0.869243 +vt 0.290052 0.755432 +vt 0.335576 0.755432 +vt 0.335576 0.869243 +vt 0.624149 0.890653 +vt 0.597474 0.890653 +vt 0.597474 0.890653 +vt 0.624149 0.890653 +vt 0.441573 0.752325 +vt 0.395609 0.871868 +vt 0.487538 0.871868 +vt 0.441573 0.871868 +vt 0.441573 0.871868 +vn 0.0000 1.0000 0.0000 vn 0.0000 0.0000 -1.0000 -vn -0.3193 0.5513 -0.7707 -vn -0.5899 0.5513 -0.5899 -vn -0.9239 0.0000 -0.3827 -vn -0.6937 0.1938 -0.6937 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.8944 -0.4472 +vn 0.0000 0.8944 0.4472 +s off +f 7/1/1 5/2/1 6/3/1 +f 3/4/2 8/5/2 4/6/2 +f 2/7/3 6/8/3 1/9/3 +f 4/10/4 7/11/4 2/12/4 +f 1/13/5 5/14/5 3/15/5 +f 26/16/1 27/17/1 25/18/1 +f 22/19/6 13/20/6 17/21/6 +f 11/22/2 16/23/2 12/24/2 +f 10/25/3 14/26/3 9/27/3 +f 22/28/4 20/29/4 15/30/4 +f 19/31/5 17/32/5 13/33/5 +f 15/34/7 19/35/7 14/36/7 +f 21/37/5 27/38/5 23/39/5 +f 18/40/3 25/41/3 21/42/3 +f 20/43/1 17/21/1 19/35/1 +f 23/44/2 28/45/2 24/46/2 +f 24/47/4 26/48/4 18/49/4 +f 35/50/1 33/51/1 34/52/1 +f 31/53/2 36/54/2 32/55/2 +f 30/56/3 34/57/3 29/58/3 +f 32/59/4 35/60/4 30/61/4 +f 29/62/5 33/63/5 31/64/5 +f 7/1/1 8/65/1 5/2/1 +f 3/4/2 5/66/2 8/5/2 +f 2/7/3 7/67/3 6/8/3 +f 4/10/4 8/68/4 7/11/4 +f 1/13/5 6/69/5 5/14/5 +f 26/16/1 28/70/1 27/17/1 +f 22/19/6 16/71/6 13/20/6 +f 11/22/2 13/72/2 16/23/2 +f 10/25/3 15/73/3 14/26/3 +f 15/30/4 10/74/4 12/75/4 +f 12/75/4 16/76/4 15/30/4 +f 16/76/4 22/28/4 15/30/4 +f 13/33/5 11/77/5 9/78/5 +f 9/78/5 14/79/5 13/33/5 +f 14/79/5 19/31/5 13/33/5 +f 15/34/7 20/43/7 19/35/7 +f 21/37/5 25/80/5 27/38/5 +f 18/40/3 26/81/3 25/41/3 +f 20/43/1 22/19/1 17/21/1 +f 23/44/2 27/82/2 28/45/2 +f 24/47/4 28/83/4 26/48/4 +f 35/50/1 36/84/1 33/51/1 +f 31/53/2 33/85/2 36/54/2 +f 30/56/3 35/86/3 34/57/3 +f 32/59/4 36/87/4 35/60/4 +f 29/62/5 34/88/5 33/63/5 +o Prydwen +v 0.000000 3.000000 1.500000 +v -0.250000 2.933013 1.500000 +v -0.433013 2.750000 1.500000 +v -0.500000 2.500000 1.500000 +v -0.433013 2.250000 1.500000 +v -0.250000 2.066987 1.500000 +v -0.000000 2.000000 1.500000 +v 0.250000 2.066987 1.500000 +v 0.433013 2.250000 1.500000 +v 0.500000 2.500000 1.500000 +v 0.433013 2.750000 1.500000 +v 0.250000 2.933012 1.500000 +v 0.000000 3.000000 -1.500000 +v -0.250000 2.933013 -1.500000 +v -0.433013 2.750000 -1.500000 +v -0.500000 2.500000 -1.500000 +v -0.433013 2.250000 -1.500000 +v -0.250000 2.066987 -1.500000 +v -0.000000 2.000000 -1.500000 +v 0.250000 2.066987 -1.500000 +v 0.433013 2.250000 -1.500000 +v 0.500000 2.500000 -1.500000 +v 0.433013 2.750000 -1.500000 +v 0.250000 2.933012 -1.500000 +v 0.000000 2.625000 -2.500000 +v -0.062500 2.608253 -2.500000 +v -0.108253 2.562500 -2.500000 +v -0.125000 2.500000 -2.500000 +v -0.108253 2.437500 -2.500000 +v -0.062500 2.391747 -2.500000 +v -0.000000 2.375000 -2.500000 +v 0.062500 2.391747 -2.500000 +v 0.108253 2.437500 -2.500000 +v 0.125000 2.500000 -2.500000 +v 0.108253 2.562500 -2.500000 +v 0.062500 2.608253 -2.500000 +v 0.000000 2.750000 2.000000 +v -0.125000 2.716507 2.000000 +v -0.216506 2.625000 2.000000 +v -0.250000 2.500000 2.000000 +v -0.216506 2.375000 2.000000 +v -0.125000 2.283493 2.000000 +v -0.000000 2.250000 2.000000 +v 0.125000 2.283493 2.000000 +v 0.216506 2.375000 2.000000 +v 0.250000 2.500000 2.000000 +v 0.216506 2.625000 2.000000 +v 0.125000 2.716506 2.000000 +v -0.125000 3.000000 -2.500000 +v 0.125000 3.000000 -2.500000 +v -0.125000 1.625000 -2.500000 +v 0.125000 1.625000 -2.500000 +v -0.062500 3.000000 -2.500000 +v 0.062500 3.000000 -2.500000 +v -0.062500 2.000000 -2.500000 +v 0.062500 2.000000 -2.500000 +v -0.062500 3.000000 -1.500000 +v 0.062500 3.000000 -1.500000 +v -0.062500 2.000000 -1.500000 +v 0.062500 2.000000 -1.500000 +v -0.125000 1.625000 -2.760000 +v -0.125000 3.000000 -2.760000 +v 0.125000 3.000000 -2.760000 +v 0.125000 1.625000 -2.760000 +v -0.250000 2.125000 1.500000 +v 0.250000 2.125000 1.500000 +v -0.250000 2.125000 0.500000 +v 0.250000 2.125000 0.500000 +v -0.250000 1.750000 0.500000 +v -0.250000 1.750000 1.500000 +v 0.250000 1.750000 1.500000 +v 0.250000 1.750000 0.500000 +v -0.125000 1.750000 1.375000 +v 0.125000 1.750000 1.375000 +v -0.125000 1.750000 -0.625000 +v 0.125000 1.750000 -0.625000 +v -0.125000 1.625000 -0.625000 +v -0.125000 1.625000 1.375000 +v 0.125000 1.625000 1.375000 +v 0.125000 1.625000 -0.625000 +v -0.250000 2.125000 -0.625000 +v 0.250000 2.125000 -0.625000 +v -0.250000 2.125000 -1.125000 +v 0.250000 2.125000 -1.125000 +v -0.250000 1.500000 -1.125000 +v -0.250000 1.500000 -0.625000 +v 0.250000 1.500000 -0.625000 +v 0.250000 1.500000 -1.125000 +v -0.250000 1.625000 0.500000 +v -0.250000 1.625000 1.500000 +v 0.250000 1.625000 1.500000 +v 0.250000 1.625000 0.500000 +v -0.250000 1.500000 0.500000 +v -0.250000 1.500000 1.500000 +v 0.250000 1.500000 1.500000 +v 0.250000 1.500000 0.500000 +v -0.062500 2.437500 2.000000 +v 0.062500 2.437500 2.000000 +v -0.062500 2.562500 2.000000 +v 0.062500 2.562500 2.000000 +v -0.062500 2.562500 2.750000 +v -0.062500 2.437500 2.750000 +v 0.062500 2.437500 2.750000 +v 0.062500 2.562500 2.750000 +v -0.062500 2.437500 2.250000 +v 0.062500 2.437500 2.250000 +v -0.062500 2.437500 2.125000 +v 0.062500 2.437500 2.125000 +v -0.062500 1.562500 1.500000 +v 0.062500 1.562500 1.500000 +v -0.062500 1.562500 1.375000 +v 0.062500 1.562500 1.375000 +vt 0.682837 0.937347 +vt 0.692469 0.937347 +vt 0.687653 0.945689 +vt 0.059873 0.920665 +vt 0.065433 0.951250 +vt 0.059873 0.951250 +vt 0.059873 0.951250 +vt 0.065433 0.920665 +vt 0.065433 0.951250 +vt 0.007155 0.951250 +vt 0.001372 0.920665 +vt 0.007155 0.920665 +vt 0.118151 0.935957 +vt 0.095907 0.933177 +vt 0.118151 0.933177 +vt 0.118151 0.935957 +vt 0.095907 0.933177 +vt 0.118151 0.933177 +vt 0.118151 0.951250 +vt 0.095907 0.929006 +vt 0.118151 0.929006 +vt 0.007155 0.929006 +vt 0.029399 0.951250 +vt 0.007155 0.951250 +vt 0.118151 0.931786 +vt 0.123934 0.937347 +vt 0.118151 0.937347 +vt 0.118151 0.931786 +vt 0.123934 0.937347 +vt 0.118151 0.937347 +vt 0.118151 0.920665 +vt 0.123934 0.951250 +vt 0.118151 0.951250 +vt 0.656957 0.931786 +vt 0.701444 0.937347 +vt 0.656957 0.937347 +vt 0.051420 0.929006 +vt 0.029176 0.940128 +vt 0.029176 0.929006 +vt 0.057092 0.931786 +vt 0.068214 0.923445 +vt 0.068214 0.931786 +vt 0.057092 0.931786 +vt 0.068214 0.923445 +vt 0.068214 0.931786 +vt 0.029176 0.931786 +vt 0.051420 0.923445 +vt 0.051420 0.931786 +vt 0.073886 0.931786 +vt 0.096130 0.923445 +vt 0.096130 0.931786 +vt 0.701444 0.931786 +vt 0.656957 0.937347 +vt 0.656957 0.931786 +vt 0.656957 0.923445 +vt 0.701444 0.920665 +vt 0.701444 0.923445 +vt 0.673862 0.923445 +vt 0.718349 0.920665 +vt 0.718349 0.923445 +vt 0.684873 0.923445 +vt 0.690433 0.920665 +vt 0.690433 0.923445 +vt 0.087566 0.929006 +vt 0.076444 0.940128 +vt 0.076444 0.929006 +vt 0.057092 0.931786 +vt 0.068214 0.917884 +vt 0.068214 0.931786 +vt 0.057092 0.931786 +vt 0.068214 0.917884 +vt 0.068214 0.931786 +vt 0.076444 0.931786 +vt 0.087566 0.917884 +vt 0.087566 0.931786 +vt 0.037740 0.931786 +vt 0.048862 0.917884 +vt 0.048862 0.931786 +vt 0.029176 0.929006 +vt 0.051420 0.940128 +vt 0.029176 0.940128 +vt 0.051420 0.929006 +vt 0.029176 0.940128 +vt 0.029176 0.929006 +vt 0.029176 0.920665 +vt 0.051420 0.917884 +vt 0.051420 0.920665 +vt 0.073886 0.920665 +vt 0.096130 0.917884 +vt 0.096130 0.920665 +vt 0.057092 0.920665 +vt 0.068214 0.917884 +vt 0.068214 0.920665 +vt 0.057092 0.920665 +vt 0.068214 0.917884 +vt 0.068214 0.920665 +vt 0.689043 0.938738 +vt 0.686263 0.941518 +vt 0.686263 0.938738 +vt 0.643054 0.935957 +vt 0.626372 0.933177 +vt 0.643054 0.933177 +vt 0.643054 0.935957 +vt 0.626372 0.933177 +vt 0.643054 0.933177 +vt 0.643054 0.941518 +vt 0.626372 0.938738 +vt 0.643054 0.938738 +vt 0.732252 0.938738 +vt 0.748934 0.941518 +vt 0.732252 0.941518 +vt 0.640274 0.938738 +vt 0.654176 0.919274 +vt 0.656957 0.919274 +vt 0.637494 0.933177 +vt 0.654176 0.935957 +vt 0.637494 0.935957 +vt 0.735032 0.938738 +vt 0.721130 0.919274 +vt 0.737812 0.938738 +vt 0.640274 0.933177 +vt 0.656957 0.935957 +vt 0.640274 0.935957 +vt 0.684873 0.944944 +vt 0.682837 0.942908 +vt 0.682092 0.940128 +vt 0.684873 0.935312 +vt 0.687653 0.934567 +vt 0.690433 0.935312 +vt 0.693214 0.940128 +vt 0.692469 0.942908 +vt 0.690433 0.944944 +vt 0.065433 0.920665 +vt 0.059873 0.920665 +vt 0.001372 0.951250 +vt 0.095907 0.935957 +vt 0.095907 0.935957 +vt 0.095907 0.951250 +vt 0.029399 0.929006 +vt 0.123934 0.931786 +vt 0.123934 0.931786 +vt 0.123934 0.920665 +vt 0.701444 0.931786 +vt 0.051420 0.940128 +vt 0.057092 0.923445 +vt 0.057092 0.923445 +vt 0.029176 0.923445 +vt 0.073886 0.923445 +vt 0.701444 0.937347 +vt 0.656957 0.920665 +vt 0.673862 0.920665 +vt 0.684873 0.920665 +vt 0.087566 0.940128 +vt 0.057092 0.917884 +vt 0.057092 0.917884 +vt 0.076444 0.917884 +vt 0.037740 0.917884 +vt 0.051420 0.929006 +vt 0.051420 0.940128 +vt 0.029176 0.917884 +vt 0.073886 0.917884 +vt 0.057092 0.917884 +vt 0.057092 0.917884 +vt 0.689043 0.941518 +vt 0.626372 0.935957 +vt 0.626372 0.935957 +vt 0.626372 0.941518 +vt 0.748934 0.938738 +vt 0.637494 0.938738 +vt 0.654176 0.933177 +vt 0.718349 0.919274 +vt 0.656957 0.933177 +vt 0.720907 0.934567 +vt 0.654176 0.940128 +vt 0.654176 0.934567 +vt 0.720907 0.940128 +vt 0.654176 0.944199 +vt 0.654176 0.940128 +vt 0.720907 0.924935 +vt 0.654176 0.929006 +vt 0.654176 0.924935 +vt 0.720907 0.929006 +vt 0.654176 0.929006 +vt 0.720907 0.940128 +vt 0.654176 0.944199 +vt 0.720907 0.934567 +vt 0.654176 0.940128 +vt 0.654176 0.934567 +vt 0.720907 0.929006 +vt 0.654176 0.934567 +vt 0.654399 0.945689 +vt 0.721130 0.940128 +vt 0.721130 0.945689 +vt 0.720907 0.945689 +vt 0.654176 0.945689 +vt 0.720907 0.934567 +vt 0.654399 0.940128 +vt 0.721130 0.934567 +vt 0.720907 0.924935 +vt 0.654176 0.924935 +vt 0.743151 0.933177 +vt 0.632155 0.941518 +vt 0.743151 0.940128 +vt 0.720907 0.940128 +vt 0.743151 0.935957 +vt 0.632155 0.940128 +vt 0.654399 0.934567 +vt 0.743151 0.932159 +vt 0.743151 0.935957 +vt 0.720907 0.944199 +vt 0.743151 0.932159 +vt 0.743151 0.933177 +vt 0.720907 0.944199 +vt 0.743151 0.938738 +vt 0.643054 0.937347 +vt 0.643054 0.934567 +vt 0.643054 0.937347 +vt 0.643054 0.929751 +vt 0.643054 0.931786 +vt 0.643054 0.940128 +vt 0.643054 0.937347 +vt 0.643054 0.931786 +vt 0.732252 0.942908 +vt 0.643054 0.934567 +vt 0.732252 0.937347 +vt 0.732252 0.940128 +vt 0.643054 0.929751 +vt 0.743151 0.934567 +vt 0.743151 0.941518 +vt 0.632155 0.938738 +vt 0.743151 0.934567 +vt 0.743151 0.936975 +vt 0.743151 0.936975 +vt 0.643054 0.939383 +vt 0.643054 0.939383 +vt 0.643054 0.942908 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -0.6508 0.7593 +vn 0.0000 0.6508 -0.7593 +vn -0.5000 0.8660 0.0000 +vn 0.5000 -0.8660 0.0000 +vn 0.8660 -0.5000 0.0000 +vn -0.8660 -0.5000 0.0000 +vn -0.5000 -0.8660 0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.8660 0.5000 0.0000 +vn 0.8660 0.5000 0.0000 +vn -0.4682 -0.8109 -0.3511 +vn -0.0000 -0.9363 -0.3511 +vn -0.8109 0.4682 -0.3511 +vn -0.9363 -0.0000 -0.3511 +vn 0.9363 -0.0000 -0.3511 +vn 0.8109 0.4682 -0.3511 +vn 0.4682 -0.8109 -0.3511 +vn -0.8109 -0.4682 -0.3511 +vn 0.4682 0.8109 -0.3511 +vn 0.0000 0.9363 -0.3511 +vn -0.4682 0.8109 -0.3511 +vn 0.8109 -0.4682 -0.3511 +vn 0.0000 0.8944 0.4472 +vn -0.4472 0.7746 0.4472 +vn 0.7746 -0.4472 0.4472 +vn 0.4472 -0.7746 0.4472 +vn -0.4472 -0.7746 0.4472 +vn -0.7746 -0.4472 0.4472 +vn 0.4472 0.7746 0.4472 +vn -0.7746 0.4472 0.4472 +vn 0.8944 -0.0000 0.4472 +vn 0.0000 -0.8944 0.4472 +vn -0.8944 -0.0000 0.4472 +vn 0.7746 0.4472 0.4472 +s off +f 77/89/8 81/90/8 73/91/8 +f 87/92/8 86/93/8 85/94/8 +f 99/95/9 97/96/9 98/97/9 +f 85/98/10 97/99/10 87/100/10 +f 92/101/11 95/102/11 91/103/11 +f 89/104/12 94/105/12 90/106/12 +f 90/107/13 96/108/13 92/109/13 +f 91/110/10 93/111/10 89/112/10 +f 87/113/11 100/114/11 88/115/11 +f 86/116/12 98/117/12 85/118/12 +f 88/119/13 99/120/13 86/121/13 +f 110/122/12 111/123/12 109/124/12 +f 105/125/11 107/126/11 106/127/11 +f 104/128/9 105/129/9 103/130/9 +f 101/131/8 107/132/8 102/133/8 +f 102/134/13 108/135/13 104/136/13 +f 103/137/10 106/138/10 101/139/10 +f 113/140/11 115/141/11 114/142/11 +f 110/143/13 116/144/13 112/145/13 +f 111/146/10 114/147/10 109/148/10 +f 109/149/8 115/150/8 110/151/8 +f 121/152/11 123/153/11 122/154/11 +f 120/155/9 121/156/9 119/157/9 +f 117/158/8 123/159/8 118/160/8 +f 118/161/13 124/162/13 120/163/13 +f 119/164/10 122/165/10 117/166/10 +f 127/167/12 125/168/12 126/169/12 +f 129/170/11 131/171/11 130/172/11 +f 127/173/13 132/174/13 128/175/13 +f 125/176/10 130/177/10 126/178/10 +f 128/179/9 129/180/9 125/181/9 +f 126/182/8 131/183/8 127/184/8 +f 139/185/8 137/186/8 138/187/8 +f 135/188/12 140/189/12 136/190/12 +f 134/191/11 138/192/11 133/193/11 +f 136/194/13 139/195/13 134/196/13 +f 133/197/10 137/198/10 135/199/10 +f 144/200/13 146/201/13 148/202/13 +f 141/203/14 146/204/14 142/205/14 +f 143/206/10 145/207/10 141/208/10 +f 144/209/15 147/210/15 143/211/15 +f 73/91/8 74/212/8 75/213/8 +f 75/213/8 76/214/8 77/89/8 +f 77/89/8 78/215/8 79/216/8 +f 79/216/8 80/217/8 81/90/8 +f 81/90/8 82/218/8 83/219/8 +f 83/219/8 84/220/8 81/90/8 +f 84/220/8 73/91/8 81/90/8 +f 73/91/8 75/213/8 77/89/8 +f 77/89/8 79/216/8 81/90/8 +f 87/92/8 88/221/8 86/93/8 +f 99/95/9 100/222/9 97/96/9 +f 85/98/10 98/223/10 97/99/10 +f 92/101/11 96/224/11 95/102/11 +f 89/104/12 93/225/12 94/105/12 +f 90/107/13 94/226/13 96/108/13 +f 91/110/10 95/227/10 93/111/10 +f 87/113/11 97/228/11 100/114/11 +f 86/116/12 99/229/12 98/117/12 +f 88/119/13 100/230/13 99/120/13 +f 110/122/12 112/231/12 111/123/12 +f 105/125/11 108/232/11 107/126/11 +f 104/128/9 108/233/9 105/129/9 +f 101/131/8 106/234/8 107/132/8 +f 102/134/13 107/235/13 108/135/13 +f 103/137/10 105/236/10 106/138/10 +f 113/140/11 116/237/11 115/141/11 +f 110/143/13 115/238/13 116/144/13 +f 111/146/10 113/239/10 114/147/10 +f 109/149/8 114/240/8 115/150/8 +f 121/152/11 124/241/11 123/153/11 +f 120/155/9 124/242/9 121/156/9 +f 117/158/8 122/243/8 123/159/8 +f 118/161/13 123/244/13 124/162/13 +f 119/164/10 121/245/10 122/165/10 +f 127/167/12 128/246/12 125/168/12 +f 129/170/11 132/247/11 131/171/11 +f 127/173/13 131/248/13 132/174/13 +f 125/176/10 129/249/10 130/177/10 +f 128/179/9 132/250/9 129/180/9 +f 126/182/8 130/251/8 131/183/8 +f 139/185/8 140/252/8 137/186/8 +f 135/188/12 137/253/12 140/189/12 +f 134/191/11 139/254/11 138/192/11 +f 136/194/13 140/255/13 139/195/13 +f 133/197/10 138/256/10 137/198/10 +f 144/200/13 142/257/13 146/201/13 +f 141/203/14 145/258/14 146/204/14 +f 143/206/10 147/259/10 145/207/10 +f 144/209/15 148/260/15 147/210/15 +s 1 +f 49/261/12 38/262/16 37/263/12 +f 56/264/17 45/265/18 44/266/17 +f 53/267/19 42/268/20 41/269/19 +f 60/270/21 37/263/12 48/271/21 +f 50/272/16 39/273/22 38/262/16 +f 57/274/18 46/275/13 45/276/18 +f 54/277/20 43/278/11 42/268/20 +f 51/279/22 40/280/10 39/281/22 +f 46/275/13 59/282/23 47/283/23 +f 55/284/11 44/266/17 43/278/11 +f 52/285/10 41/286/19 40/280/10 +f 59/287/23 48/271/21 47/288/23 +f 66/289/24 55/284/25 54/277/24 +f 63/290/26 52/285/27 51/279/26 +f 70/291/28 59/282/29 58/292/28 +f 55/284/25 68/293/30 56/264/30 +f 64/294/27 53/295/31 52/285/27 +f 71/296/29 60/270/32 59/287/29 +f 49/261/33 62/297/34 50/272/34 +f 68/293/30 57/298/35 56/264/30 +f 65/299/31 54/277/24 53/267/31 +f 72/300/32 49/261/33 60/270/32 +f 62/297/34 51/301/26 50/272/34 +f 69/302/35 58/292/28 57/274/35 +f 37/263/36 74/303/37 73/304/36 +f 45/265/38 80/305/39 44/266/39 +f 42/268/40 77/306/41 41/269/41 +f 48/271/42 73/304/36 84/307/42 +f 39/273/43 74/303/37 38/262/37 +f 45/276/38 82/308/44 81/309/38 +f 43/278/45 78/310/40 42/268/40 +f 40/280/46 75/311/43 39/281/43 +f 47/283/47 82/308/44 46/275/44 +f 43/278/45 80/305/39 79/312/45 +f 40/280/46 77/313/41 76/314/46 +f 48/271/42 83/315/47 47/288/47 +f 49/261/12 50/272/16 38/262/16 +f 56/264/17 57/298/18 45/265/18 +f 53/267/19 54/277/20 42/268/20 +f 60/270/21 49/261/12 37/263/12 +f 50/272/16 51/301/22 39/273/22 +f 57/274/18 58/292/13 46/275/13 +f 54/277/20 55/284/11 43/278/11 +f 51/279/22 52/285/10 40/280/10 +f 46/275/13 58/292/13 59/282/23 +f 55/284/11 56/264/17 44/266/17 +f 52/285/10 53/295/19 41/286/19 +f 59/287/23 60/270/21 48/271/21 +f 66/289/24 67/316/25 55/284/25 +f 63/290/26 64/294/27 52/285/27 +f 70/291/28 71/317/29 59/282/29 +f 55/284/25 67/316/25 68/293/30 +f 64/294/27 65/318/31 53/295/31 +f 71/296/29 72/300/32 60/270/32 +f 49/261/33 61/319/33 62/297/34 +f 68/293/30 69/320/35 57/298/35 +f 65/299/31 66/289/24 54/277/24 +f 72/300/32 61/319/33 49/261/33 +f 62/297/34 63/321/26 51/301/26 +f 69/302/35 70/291/28 58/292/28 +f 37/263/36 38/262/37 74/303/37 +f 45/265/38 81/322/38 80/305/39 +f 42/268/40 78/310/40 77/306/41 +f 48/271/42 37/263/36 73/304/36 +f 39/273/43 75/323/43 74/303/37 +f 45/276/38 46/275/44 82/308/44 +f 43/278/45 79/312/45 78/310/40 +f 40/280/46 76/314/46 75/311/43 +f 47/283/47 83/324/47 82/308/44 +f 43/278/45 44/266/39 80/305/39 +f 40/280/46 41/286/41 77/313/41 +f 48/271/42 84/307/42 83/315/47 +o Lucky38 +v 0.000000 1.125000 -0.750000 +v -0.375000 1.125000 -0.649519 +v -0.649519 1.125000 -0.375000 +v -0.750000 1.125000 0.000000 +v -0.649519 1.125000 0.375000 +v -0.375000 1.125000 0.649519 +v -0.000000 1.125000 0.750000 +v 0.375000 1.125000 0.649519 +v 0.649519 1.125000 0.375000 +v 0.750000 1.125000 0.000000 +v 0.649519 1.125000 -0.375000 +v 0.375000 1.125000 -0.649519 +v 0.000000 1.375000 -0.750000 +v -0.375000 1.375000 -0.649519 +v -0.649519 1.375000 -0.375000 +v -0.750000 1.375000 0.000000 +v -0.649519 1.375000 0.375000 +v -0.375000 1.375000 0.649519 +v -0.000000 1.375000 0.750000 +v 0.375000 1.375000 0.649519 +v 0.649519 1.375000 0.375000 +v 0.750000 1.375000 0.000000 +v 0.649519 1.375000 -0.375000 +v 0.375000 1.375000 -0.649519 +v 0.000000 1.625000 -0.500000 +v -0.250000 1.625000 -0.433013 +v -0.433013 1.625000 -0.250000 +v -0.500000 1.625000 0.000000 +v -0.433013 1.625000 0.250000 +v -0.250000 1.625000 0.433013 +v -0.000000 1.625000 0.500000 +v 0.250000 1.625000 0.433013 +v 0.433013 1.625000 0.250000 +v 0.500000 1.625000 0.000000 +v 0.433013 1.625000 -0.250000 +v 0.250000 1.625000 -0.433012 +v 0.000000 2.125000 -0.500000 +v -0.250000 2.125000 -0.433013 +v -0.433013 2.125000 -0.250000 +v -0.500000 2.125000 0.000000 +v -0.433013 2.125000 0.250000 +v -0.250000 2.125000 0.433013 +v -0.000000 2.125000 0.500000 +v 0.250000 2.125000 0.433013 +v 0.433013 2.125000 0.250000 +v 0.500000 2.125000 0.000000 +v 0.433013 2.125000 -0.250000 +v 0.250000 2.125000 -0.433012 +v 0.000000 2.875000 -0.250000 +v -0.125000 2.875000 -0.216506 +v -0.216506 2.875000 -0.125000 +v -0.250000 2.875000 0.000000 +v -0.216506 2.875000 0.125000 +v -0.125000 2.875000 0.216506 +v -0.000000 2.875000 0.250000 +v 0.125000 2.875000 0.216507 +v 0.216506 2.875000 0.125000 +v 0.250000 2.875000 0.000000 +v 0.216506 2.875000 -0.125000 +v 0.125000 2.875000 -0.216506 +v 0.000000 3.875000 -0.250000 +v -0.125000 3.875000 -0.216506 +v -0.216506 3.875000 -0.125000 +v -0.250000 3.875000 0.000000 +v -0.216506 3.875000 0.125000 +v -0.125000 3.875000 0.216506 +v -0.000000 3.875000 0.250000 +v 0.125000 3.875000 0.216507 +v 0.216506 3.875000 0.125000 +v 0.250000 3.875000 0.000000 +v 0.216506 3.875000 -0.125000 +v 0.125000 3.875000 -0.216506 +v 0.000000 3.875000 -0.500000 +v -0.250000 3.875000 -0.433013 +v -0.433013 3.875000 -0.250000 +v -0.500000 3.875000 0.000000 +v -0.433013 3.875000 0.250000 +v -0.250000 3.875000 0.433013 +v -0.000000 3.875000 0.500000 +v 0.250000 3.875000 0.433013 +v 0.433013 3.875000 0.250000 +v 0.500000 3.875000 0.000000 +v 0.433013 3.875000 -0.250000 +v 0.250000 3.875000 -0.433012 +v -0.312500 4.125000 -0.541266 +v -0.000000 4.125000 -0.625000 +v -0.541266 4.125000 -0.312500 +v -0.625000 4.125000 0.000000 +v -0.541266 4.125000 0.312500 +v -0.312500 4.125000 0.541266 +v -0.000000 4.125000 0.625000 +v 0.312500 4.125000 0.541266 +v 0.541266 4.125000 0.312500 +v 0.625000 4.125000 0.000000 +v 0.541266 4.125000 -0.312500 +v 0.312500 4.125000 -0.541266 +v 0.125000 2.875000 0.062500 +v 0.250000 2.875000 0.062500 +v 0.125000 2.875000 -0.062500 +v 0.250000 2.875000 -0.062500 +v 0.500000 3.875000 -0.062500 +v 0.500000 3.875000 0.062500 +v 0.625000 3.875000 0.062500 +v 0.625000 3.875000 -0.062500 +v 0.500000 3.875000 -0.062500 +v 0.500000 3.875000 0.062500 +v 0.500000 4.000000 -0.062500 +v 0.500000 4.000000 0.062500 +v 1.000000 3.875000 -0.062500 +v 1.000000 3.875000 0.062500 +v 1.000000 4.000000 -0.062500 +v 1.000000 4.000000 0.062500 +v 1.000000 3.812500 -0.125000 +v 1.000000 3.812500 0.125000 +v 1.000000 4.062500 -0.125000 +v 1.000000 4.062500 0.125000 +v 1.250000 3.812500 -0.125000 +v 1.250000 3.812500 0.125000 +v 1.250000 4.062500 -0.125000 +v 1.250000 4.062500 0.125000 +v 0.000000 4.125000 -0.500000 +v -0.250000 4.125000 -0.433013 +v -0.433013 4.125000 -0.250000 +v -0.500000 4.125000 0.000000 +v -0.433013 4.125000 0.250000 +v -0.250000 4.125000 0.433013 +v -0.000000 4.125000 0.500000 +v 0.250000 4.125000 0.433013 +v 0.433013 4.125000 0.250000 +v 0.500000 4.125000 0.000000 +v 0.433013 4.125000 -0.250000 +v 0.250000 4.125000 -0.433012 +v -0.125000 4.250000 -0.216506 +v 0.000000 4.250000 -0.250000 +v -0.216506 4.250000 -0.125000 +v -0.250000 4.250000 0.000000 +v -0.216506 4.250000 0.125000 +v -0.125000 4.250000 0.216506 +v -0.000000 4.250000 0.250000 +v 0.125000 4.250000 0.216507 +v 0.216506 4.250000 0.125000 +v 0.250000 4.250000 0.000000 +v 0.216506 4.250000 -0.125000 +v 0.125000 4.250000 -0.216506 +v -0.125000 2.875000 -0.062500 +v -0.250000 2.875000 -0.062500 +v -0.125000 2.875000 0.062500 +v -0.250000 2.875000 0.062500 +v -0.500000 3.875000 0.062500 +v -0.500000 3.875000 -0.062500 +v -0.625000 3.875000 -0.062500 +v -0.625000 3.875000 0.062500 +v -0.500000 3.875000 0.062500 +v -0.500000 3.875000 -0.062500 +v -0.500000 4.000000 0.062500 +v -0.500000 4.000000 -0.062500 +v -1.000000 3.875000 0.062500 +v -1.000000 3.875000 -0.062500 +v -1.000000 4.000000 0.062500 +v -1.000000 4.000000 -0.062500 +v -1.000000 3.812500 0.125000 +v -1.000000 3.812500 -0.125000 +v -1.000000 4.062500 0.125000 +v -1.000000 4.062500 -0.125000 +v -1.250000 3.812500 0.125000 +v -1.250000 3.812500 -0.125000 +v -1.250000 4.062500 0.125000 +v -1.250000 4.062500 -0.125000 +v 0.062500 2.875000 -0.125000 +v 0.062500 2.875000 -0.250000 +v -0.062500 2.875000 -0.125000 +v -0.062500 2.875000 -0.250000 +v -0.062500 3.875000 -0.500000 +v 0.062500 3.875000 -0.500000 +v 0.062500 3.875000 -0.625000 +v -0.062500 3.875000 -0.625000 +v -0.062500 3.875000 -0.500000 +v 0.062500 3.875000 -0.500000 +v -0.062500 4.000000 -0.500000 +v 0.062500 4.000000 -0.500000 +v -0.062500 3.875000 -1.000000 +v 0.062500 3.875000 -1.000000 +v -0.062500 4.000000 -1.000000 +v 0.062500 4.000000 -1.000000 +v -0.125000 3.812500 -1.000000 +v 0.125000 3.812500 -1.000000 +v -0.125000 4.062500 -1.000000 +v 0.125000 4.062500 -1.000000 +v -0.125000 3.812500 -1.250000 +v 0.125000 3.812500 -1.250000 +v -0.125000 4.062500 -1.250000 +v 0.125000 4.062500 -1.250000 +v -0.062500 2.875000 0.125000 +v -0.062500 2.875000 0.250000 +v 0.062500 2.875000 0.125000 +v 0.062500 2.875000 0.250000 +v 0.062500 3.875000 0.500000 +v -0.062500 3.875000 0.500000 +v -0.062500 3.875000 0.625000 +v 0.062500 3.875000 0.625000 +v 0.062500 3.875000 0.500000 +v -0.062500 3.875000 0.500000 +v 0.062500 4.000000 0.500000 +v -0.062500 4.000000 0.500000 +v 0.062500 3.875000 1.000000 +v -0.062500 3.875000 1.000000 +v 0.062500 4.000000 1.000000 +v -0.062500 4.000000 1.000000 +v 0.125000 3.812500 1.000000 +v -0.125000 3.812500 1.000000 +v 0.125000 4.062500 1.000000 +v -0.125000 4.062500 1.000000 +v 0.125000 3.812500 1.250000 +v -0.125000 3.812500 1.250000 +v 0.125000 4.062500 1.250000 +v -0.125000 4.062500 1.250000 +v 0.000000 1.125000 -2.000000 +v -1.000000 1.125000 -1.732051 +v -1.732051 1.125000 -1.000000 +v -2.000000 1.125000 0.000000 +v -1.732051 1.125000 1.000000 +v -1.000000 1.125000 1.732051 +v -0.000000 1.125000 2.000000 +v 1.000000 1.125000 1.732051 +v 1.732050 1.125000 1.000001 +v 2.000000 1.125000 0.000001 +v 1.732051 1.125000 -0.999999 +v 1.000001 1.125000 -1.732050 +v -1.000000 1.000000 -1.732051 +v 0.000000 1.000000 -2.000000 +v -1.732051 1.000000 -1.000000 +v -2.000000 1.000000 0.000000 +v -1.732051 1.000000 1.000000 +v -1.000000 1.000000 1.732051 +v -0.000000 1.000000 2.000000 +v 1.000000 1.000000 1.732051 +v 1.732050 1.000000 1.000001 +v 2.000000 1.000000 0.000001 +v 1.732051 1.000000 -0.999999 +v 1.000001 1.000000 -1.732050 +v -0.015625 4.250000 0.015625 +v 0.015625 4.250000 0.015625 +v -0.015625 4.250000 -0.015625 +v 0.015625 4.250000 -0.015625 +v -0.015625 4.500000 -0.015625 +v -0.015625 4.500000 0.015625 +v 0.015625 4.500000 0.015625 +v 0.015625 4.500000 -0.015625 +vt 0.453538 0.802124 +vt 0.438272 0.828565 +vt 0.423006 0.802124 +vt 0.451493 0.833837 +vt 0.438272 0.832091 +vt 0.448848 0.829257 +vt 0.456591 0.821514 +vt 0.461171 0.824159 +vt 0.183143 0.942461 +vt 0.178736 0.977716 +vt 0.178736 0.942461 +vt 0.172126 0.942461 +vt 0.163312 0.977716 +vt 0.158905 0.977716 +vt 0.189753 0.942461 +vt 0.198567 0.977716 +vt 0.185346 0.942461 +vt 0.183143 0.942461 +vt 0.178736 0.977716 +vt 0.178736 0.942461 +vt 0.198567 0.977716 +vt 0.216194 0.982123 +vt 0.198567 0.982123 +vt 0.198567 0.935851 +vt 0.216194 0.940257 +vt 0.198567 0.940257 +vt 0.163312 0.982123 +vt 0.145685 0.977716 +vt 0.163312 0.977716 +vt 0.202092 0.935410 +vt 0.223245 0.940698 +vt 0.202092 0.940698 +vt 0.442679 0.857210 +vt 0.433865 0.848396 +vt 0.442679 0.848396 +vt 0.442679 0.848396 +vt 0.433865 0.857210 +vt 0.433865 0.848396 +vt 0.403017 0.857210 +vt 0.394203 0.848396 +vt 0.403017 0.848396 +vt 0.480578 0.805650 +vt 0.491154 0.816226 +vt 0.480578 0.816226 +vt 0.473527 0.848396 +vt 0.482341 0.857210 +vt 0.473527 0.857210 +vt 0.473527 0.806531 +vt 0.482341 0.815345 +vt 0.473527 0.815345 +vt 0.438272 0.800362 +vt 0.447432 0.805650 +vt 0.438272 0.821514 +vt 0.438272 0.837379 +vt 0.427696 0.829257 +vt 0.415373 0.824159 +vt 0.425051 0.833837 +vt 0.411831 0.810938 +vt 0.419953 0.821514 +vt 0.415373 0.797717 +vt 0.417119 0.810938 +vt 0.425051 0.788039 +vt 0.419953 0.800362 +vt 0.438272 0.784497 +vt 0.427696 0.792619 +vt 0.451493 0.788039 +vt 0.438272 0.789785 +vt 0.461171 0.797717 +vt 0.448848 0.792619 +vt 0.464713 0.810938 +vt 0.456591 0.800362 +vt 0.459425 0.810938 +vt 0.183143 0.942461 +vt 0.178736 0.977716 +vt 0.178736 0.942461 +vt 0.172126 0.942461 +vt 0.163312 0.977716 +vt 0.158905 0.977716 +vt 0.189753 0.942461 +vt 0.198567 0.977716 +vt 0.185346 0.942461 +vt 0.183143 0.942461 +vt 0.178736 0.977716 +vt 0.178736 0.942461 +vt 0.198567 0.977716 +vt 0.216194 0.982123 +vt 0.198567 0.982123 +vt 0.163312 0.940257 +vt 0.145685 0.935851 +vt 0.163312 0.935851 +vt 0.163312 0.982123 +vt 0.145685 0.977716 +vt 0.163312 0.977716 +vt 0.159787 0.935410 +vt 0.138634 0.940698 +vt 0.138634 0.935410 +vt 0.442679 0.857210 +vt 0.433865 0.848396 +vt 0.442679 0.848396 +vt 0.442679 0.848396 +vt 0.433865 0.857210 +vt 0.433865 0.848396 +vt 0.403017 0.857210 +vt 0.394203 0.848396 +vt 0.403017 0.848396 +vt 0.395966 0.805650 +vt 0.385390 0.816226 +vt 0.385390 0.805650 +vt 0.473527 0.848396 +vt 0.482341 0.857210 +vt 0.473527 0.857210 +vt 0.403017 0.815345 +vt 0.394203 0.806531 +vt 0.403017 0.806531 +vt 0.183143 0.942461 +vt 0.178736 0.977716 +vt 0.178736 0.942461 +vt 0.172126 0.942461 +vt 0.163312 0.977716 +vt 0.158905 0.977716 +vt 0.189753 0.942461 +vt 0.198567 0.977716 +vt 0.185346 0.942461 +vt 0.183143 0.942461 +vt 0.178736 0.977716 +vt 0.178736 0.942461 +vt 0.198567 0.977716 +vt 0.216194 0.982123 +vt 0.198567 0.982123 +vt 0.178736 0.920427 +vt 0.183143 0.902799 +vt 0.183143 0.920427 +vt 0.163312 0.982123 +vt 0.145685 0.977716 +vt 0.163312 0.977716 +vt 0.183584 0.959207 +vt 0.178295 0.980360 +vt 0.178295 0.959207 +vt 0.442679 0.857210 +vt 0.433865 0.848396 +vt 0.442679 0.848396 +vt 0.442679 0.848396 +vt 0.433865 0.857210 +vt 0.433865 0.848396 +vt 0.403017 0.857210 +vt 0.394203 0.848396 +vt 0.403017 0.848396 +vt 0.443560 0.853244 +vt 0.432984 0.863820 +vt 0.432984 0.853244 +vt 0.473527 0.848396 +vt 0.482341 0.857210 +vt 0.473527 0.857210 +vt 0.433865 0.775683 +vt 0.442679 0.766869 +vt 0.442679 0.775683 +vt 0.183143 0.942461 +vt 0.178736 0.977716 +vt 0.178736 0.942461 +vt 0.172126 0.942461 +vt 0.163312 0.977716 +vt 0.158905 0.977716 +vt 0.189753 0.942461 +vt 0.198567 0.977716 +vt 0.185346 0.942461 +vt 0.183143 0.942461 +vt 0.178736 0.977716 +vt 0.178736 0.942461 +vt 0.198567 0.977716 +vt 0.216194 0.982123 +vt 0.198567 0.982123 +vt 0.183143 0.955682 +vt 0.178736 0.973309 +vt 0.178736 0.955682 +vt 0.163312 0.982123 +vt 0.145685 0.977716 +vt 0.163312 0.977716 +vt 0.183584 0.916901 +vt 0.178295 0.895748 +vt 0.183584 0.895748 +vt 0.442679 0.857210 +vt 0.433865 0.848396 +vt 0.442679 0.848396 +vt 0.442679 0.848396 +vt 0.433865 0.857210 +vt 0.433865 0.848396 +vt 0.403017 0.857210 +vt 0.394203 0.848396 +vt 0.403017 0.848396 +vt 0.432984 0.768632 +vt 0.443560 0.758056 +vt 0.443560 0.768632 +vt 0.473527 0.848396 +vt 0.482341 0.857210 +vt 0.473527 0.857210 +vt 0.442679 0.846193 +vt 0.433865 0.855007 +vt 0.433865 0.846193 +vt 0.135431 0.907687 +vt 0.240221 0.907686 +vt 0.187826 0.998437 +vt 0.436884 0.800879 +vt 0.448380 0.813502 +vt 0.436187 0.812803 +vt 0.438823 0.863820 +vt 0.437721 0.872634 +vt 0.437721 0.863820 +vt 0.438823 0.863820 +vt 0.437721 0.872634 +vt 0.437721 0.863820 +vt 0.438731 0.855007 +vt 0.437813 0.862351 +vt 0.437813 0.855007 +vt 0.438823 0.863820 +vt 0.437721 0.872634 +vt 0.437721 0.863820 +vt 0.429458 0.795672 +vt 0.438272 0.793311 +vt 0.447086 0.795672 +vt 0.455899 0.810938 +vt 0.453538 0.819752 +vt 0.447086 0.826204 +vt 0.429458 0.826204 +vt 0.423006 0.819752 +vt 0.420645 0.810938 +vt 0.183143 0.977716 +vt 0.176533 0.942461 +vt 0.202974 0.977716 +vt 0.183143 0.977716 +vt 0.216194 0.977716 +vt 0.216194 0.935851 +vt 0.145685 0.982123 +vt 0.223245 0.935410 +vt 0.433865 0.857210 +vt 0.442679 0.857210 +vt 0.394203 0.857210 +vt 0.491154 0.805650 +vt 0.482341 0.848396 +vt 0.482341 0.806531 +vt 0.432984 0.820097 +vt 0.429113 0.816226 +vt 0.427696 0.810938 +vt 0.429113 0.805650 +vt 0.432984 0.801778 +vt 0.443560 0.801778 +vt 0.448848 0.810938 +vt 0.447432 0.816226 +vt 0.443560 0.820097 +vt 0.183143 0.977716 +vt 0.176533 0.942461 +vt 0.202974 0.977716 +vt 0.183143 0.977716 +vt 0.216194 0.977716 +vt 0.145685 0.940257 +vt 0.145685 0.982123 +vt 0.159787 0.940698 +vt 0.433865 0.857210 +vt 0.442679 0.857210 +vt 0.394203 0.857210 +vt 0.395966 0.816226 +vt 0.482341 0.848396 +vt 0.394203 0.815345 +vt 0.183143 0.977716 +vt 0.176533 0.942461 +vt 0.202974 0.977716 +vt 0.183143 0.977716 +vt 0.216194 0.977716 +vt 0.178736 0.902799 +vt 0.145685 0.982123 +vt 0.183584 0.980360 +vt 0.433865 0.857210 +vt 0.442679 0.857210 +vt 0.394203 0.857210 +vt 0.443560 0.863820 +vt 0.482341 0.848396 +vt 0.433865 0.766869 +vt 0.183143 0.977716 +vt 0.176533 0.942461 +vt 0.202974 0.977716 +vt 0.183143 0.977716 +vt 0.216194 0.977716 +vt 0.183143 0.973309 +vt 0.145685 0.982123 +vt 0.178295 0.916901 +vt 0.433865 0.857210 +vt 0.442679 0.857210 +vt 0.394203 0.857210 +vt 0.432984 0.758056 +vt 0.482341 0.848396 +vt 0.442679 0.855007 +vt 0.157576 0.990331 +vt 0.135431 0.968187 +vt 0.127326 0.937937 +vt 0.157576 0.885542 +vt 0.187826 0.877436 +vt 0.218076 0.885542 +vt 0.248326 0.937937 +vt 0.240221 0.968187 +vt 0.218076 0.990331 +vt 0.449122 0.801583 +vt 0.438823 0.872634 +vt 0.438823 0.872634 +vt 0.438731 0.862351 +vt 0.438823 0.872634 +vt 0.203838 0.880765 +vt 0.194160 0.889579 +vt 0.194160 0.880765 +vt 0.203838 0.880765 +vt 0.194160 0.889579 +vt 0.194160 0.880765 +vt 0.180939 0.880765 +vt 0.167719 0.889579 +vt 0.167719 0.880765 +vt 0.203838 0.880765 +vt 0.194160 0.889579 +vt 0.194160 0.880765 +vt 0.180939 0.880765 +vt 0.167719 0.889579 +vt 0.167719 0.880765 +vt 0.180939 0.880765 +vt 0.167719 0.889579 +vt 0.167719 0.880765 +vt 0.180939 0.880765 +vt 0.167719 0.889579 +vt 0.167719 0.880765 +vt 0.194160 0.880765 +vt 0.180939 0.889579 +vt 0.180939 0.889579 +vt 0.180939 0.889579 +vt 0.203838 0.880765 +vt 0.194160 0.889579 +vt 0.180939 0.889579 +vt 0.425051 0.762463 +vt 0.438272 0.771276 +vt 0.429458 0.771276 +vt 0.438272 0.762462 +vt 0.447086 0.771276 +vt 0.451493 0.762462 +vt 0.453538 0.771276 +vt 0.425051 0.762462 +vt 0.438272 0.771276 +vt 0.429458 0.771276 +vt 0.451493 0.762462 +vt 0.438272 0.762462 +vt 0.461171 0.762462 +vt 0.447086 0.771276 +vt 0.438272 0.762462 +vt 0.429458 0.771276 +vt 0.425051 0.762462 +vt 0.451493 0.762463 +vt 0.438272 0.771276 +vt 0.461171 0.762463 +vt 0.447086 0.771276 +vt 0.438272 0.762462 +vt 0.429458 0.771276 +vt 0.425051 0.762462 +vt 0.447086 0.771276 +vt 0.438272 0.771276 +vt 0.451493 0.762462 +vt 0.453538 0.771276 +vt 0.574440 0.880554 +vt 0.565627 0.898182 +vt 0.565627 0.880554 +vt 0.574440 0.880554 +vt 0.565627 0.898182 +vt 0.565627 0.880554 +vt 0.583254 0.880554 +vt 0.574440 0.898182 +vt 0.574440 0.880554 +vt 0.583254 0.880554 +vt 0.574440 0.898182 +vt 0.583254 0.880554 +vt 0.574440 0.898182 +vt 0.589706 0.880554 +vt 0.583254 0.898182 +vt 0.583254 0.880554 +vt 0.574440 0.898182 +vt 0.574440 0.880554 +vt 0.589706 0.880554 +vt 0.583254 0.898182 +vt 0.589706 0.880554 +vt 0.583254 0.898182 +vt 0.565627 0.898182 +vt 0.565627 0.880554 +vt 0.589706 0.880554 +vt 0.583254 0.898182 +vt 0.565627 0.898182 +vt 0.565627 0.880554 +vt 0.180939 0.916020 +vt 0.176533 0.942461 +vt 0.172126 0.916020 +vt 0.180939 0.916020 +vt 0.176533 0.942461 +vt 0.172126 0.916020 +vt 0.189753 0.916020 +vt 0.180939 0.942461 +vt 0.180939 0.916020 +vt 0.189753 0.916020 +vt 0.180939 0.942461 +vt 0.189753 0.916020 +vt 0.180939 0.942461 +vt 0.196205 0.916020 +vt 0.185346 0.942461 +vt 0.189753 0.916020 +vt 0.180939 0.942461 +vt 0.180939 0.916020 +vt 0.196205 0.916020 +vt 0.185346 0.942461 +vt 0.196205 0.916020 +vt 0.185346 0.942461 +vt 0.172126 0.916020 +vt 0.176533 0.942461 +vt 0.196205 0.916020 +vt 0.185346 0.942461 +vt 0.176533 0.942461 +vt 0.172126 0.916020 +vt 0.176533 0.977716 +vt 0.176533 0.977716 +vt 0.176533 0.977716 +vt 0.180939 0.977716 +vt 0.180939 0.977716 +vt 0.180939 0.977716 +vt 0.188572 0.942461 +vt 0.185346 0.977716 +vt 0.180939 0.977716 +vt 0.188572 0.942461 +vt 0.185346 0.977716 +vt 0.188572 0.942461 +vt 0.185346 0.977716 +vt 0.176533 0.977716 +vt 0.188572 0.942461 +vt 0.185346 0.977716 +vt 0.552426 0.875649 +vt 0.522555 0.899546 +vt 0.528529 0.875649 +vt 0.593816 0.875649 +vt 0.582297 0.899546 +vt 0.576322 0.875649 +vt 0.552426 0.875649 +vt 0.522555 0.899546 +vt 0.528529 0.875649 +vt 0.528529 0.875649 +vt 0.552426 0.899546 +vt 0.522555 0.899546 +vt 0.552426 0.875649 +vt 0.522555 0.899546 +vt 0.528529 0.875649 +vt 0.576322 0.875649 +vt 0.552426 0.899546 +vt 0.576322 0.875649 +vt 0.552426 0.875649 +vt 0.576322 0.875649 +vt 0.552426 0.899546 +vt 0.593816 0.875649 +vt 0.582297 0.899546 +vt 0.552426 0.899546 +vt 0.604163 0.899546 +vt 0.582297 0.899546 +vt 0.593816 0.875649 +vt 0.582297 0.899546 +vt 0.453538 0.859413 +vt 0.442679 0.863820 +vt 0.447086 0.859413 +vt 0.453538 0.859414 +vt 0.442679 0.863820 +vt 0.447086 0.859414 +vt 0.438272 0.859413 +vt 0.433865 0.863820 +vt 0.429458 0.859413 +vt 0.453538 0.859413 +vt 0.442679 0.863820 +vt 0.447086 0.859413 +vt 0.438272 0.859413 +vt 0.433865 0.863820 +vt 0.429458 0.859414 +vt 0.438272 0.859413 +vt 0.433865 0.863820 +vt 0.429458 0.859413 +vt 0.438272 0.859413 +vt 0.433865 0.863820 +vt 0.429458 0.859413 +vt 0.447086 0.859413 +vt 0.438272 0.863820 +vt 0.438272 0.863820 +vt 0.438272 0.863820 +vt 0.453538 0.859413 +vt 0.442679 0.863820 +vt 0.438272 0.863820 +vt 0.465218 0.756009 +vt 0.491026 0.751602 +vt 0.491026 0.756009 +vt 0.394708 0.756009 +vt 0.429963 0.751602 +vt 0.429963 0.756009 +vt 0.465218 0.756009 +vt 0.491026 0.751602 +vt 0.491026 0.756009 +vt 0.394708 0.756009 +vt 0.429963 0.751602 +vt 0.429963 0.756009 +vt 0.394708 0.756009 +vt 0.429963 0.751602 +vt 0.429963 0.756009 +vt 0.394708 0.756009 +vt 0.429963 0.751602 +vt 0.429963 0.756009 +vt 0.465218 0.751602 +vt 0.465218 0.756009 +vt 0.465218 0.751602 +vt 0.465218 0.756009 +vt 0.465218 0.751602 +vt 0.491026 0.751602 +vt 0.491026 0.756009 +vt 0.465218 0.751602 +vt 0.491026 0.751602 +vt 0.491026 0.756009 +vt 0.203838 0.889579 +vt 0.203838 0.889579 +vt 0.203838 0.889579 +vt 0.203838 0.889579 +vt 0.461171 0.762462 +vt 0.453538 0.771276 +vt 0.453538 0.771276 +vt 0.461171 0.762462 +vt 0.589706 0.898182 +vt 0.589706 0.898182 +vt 0.589706 0.898182 +vt 0.589706 0.898182 +vt 0.188572 0.977716 +vt 0.188572 0.977716 +vt 0.188572 0.977716 +vt 0.188572 0.977716 +vt 0.604163 0.899546 +vt 0.604163 0.899546 +vt 0.593816 0.875649 +vt 0.604164 0.899546 +vt 0.445905 0.863820 +vt 0.445905 0.863820 +vt 0.445905 0.863820 +vt 0.445905 0.863820 +vt 0.394708 0.751602 +vt 0.394708 0.751602 +vt 0.394708 0.751602 +vt 0.394708 0.751602 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn -0.9363 0.3511 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 0.9363 -0.3511 0.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.9363 0.3511 0.0000 +vn -0.9363 -0.3511 0.0000 +vn 0.0000 0.3511 0.9363 +vn 0.0000 -0.3511 -0.9363 +vn 0.0000 0.3511 -0.9363 +vn 0.0000 -0.3511 0.9363 +vn 0.8660 0.0000 0.5000 +vn 0.5000 0.0000 0.8660 +vn -0.5000 0.0000 0.8660 +vn -0.8660 0.0000 0.5000 +vn 0.5000 0.0000 -0.8660 +vn -0.8660 0.0000 -0.5000 +vn -0.5000 0.0000 -0.8660 +vn 0.8660 0.0000 -0.5000 +vn 0.6124 0.7071 0.3536 +vn 0.7071 0.7071 0.0000 +vn 0.6124 0.7071 -0.3536 +vn 0.3536 0.7071 -0.6124 +vn 0.0000 0.7071 -0.7071 +vn -0.3536 0.7071 -0.6124 +vn -0.6124 0.7071 -0.3536 +vn -0.7071 0.7071 0.0000 +vn -0.6124 0.7071 0.3536 +vn -0.3536 0.7071 0.6124 +vn -0.0000 0.7071 0.7071 +vn 0.3536 0.7071 0.6124 +vn -0.0000 0.3162 0.9487 +vn -0.4743 0.3162 0.8216 +vn -0.9487 0.3162 0.0000 +vn -0.8216 0.3162 -0.4743 +vn 0.8216 0.3162 -0.4743 +vn 0.9487 0.3162 0.0000 +vn 0.4743 0.3162 0.8216 +vn -0.8216 0.3162 0.4743 +vn 0.4743 0.3162 -0.8216 +vn -0.4743 0.3162 -0.8216 +vn 0.0000 0.3162 -0.9487 +vn 0.8216 0.3162 0.4743 +vn 0.0000 -0.4472 -0.8944 +vn 0.4472 -0.4472 -0.7746 +vn -0.7746 -0.4472 -0.4472 +vn -0.4472 -0.4472 -0.7746 +vn 0.8944 -0.4472 0.0000 +vn 0.7746 -0.4472 0.4472 +vn -0.4472 -0.4472 0.7746 +vn -0.0000 -0.4472 0.8944 +vn -0.8944 -0.4472 -0.0000 +vn 0.7746 -0.4472 -0.4472 +vn 0.4472 -0.4472 0.7746 +vn -0.7746 -0.4472 0.4472 +vn 0.3873 0.8944 0.2236 +vn 0.2236 0.8944 0.3873 +vn -0.2236 0.8944 0.3873 +vn -0.3873 0.8944 0.2236 +vn -0.0000 0.8944 -0.4472 +vn 0.2236 0.8944 -0.3873 +vn -0.3873 0.8944 -0.2236 +vn -0.2236 0.8944 -0.3873 +vn 0.4472 0.8944 -0.0000 +vn 0.0000 0.8944 0.4472 +vn -0.4472 0.8944 0.0000 +vn 0.3873 0.8944 -0.2236 +s off +f 231/325/48 227/326/48 223/327/48 +f 244/328/49 269/329/49 280/330/49 +f 244/328/49 279/331/49 243/332/49 +f 245/333/50 249/334/50 247/335/50 +f 248/336/51 249/337/51 252/338/51 +f 246/339/52 250/340/52 245/341/52 +f 248/342/53 251/343/53 246/344/53 +f 254/345/52 260/346/52 256/347/52 +f 253/348/48 258/349/48 254/350/48 +f 255/351/51 257/352/51 253/353/51 +f 256/354/49 259/355/49 255/356/49 +f 264/357/54 261/358/54 262/359/54 +f 265/360/55 268/361/55 266/362/55 +f 263/363/51 265/364/51 261/365/51 +f 264/366/49 267/367/49 263/368/49 +f 262/369/52 268/370/52 264/371/52 +f 261/372/48 266/373/48 262/374/48 +f 287/375/49 289/376/49 282/377/49 +f 234/378/49 270/379/49 269/329/49 +f 235/380/49 270/379/49 233/381/49 +f 236/382/49 271/383/49 235/380/49 +f 237/384/49 272/385/49 236/382/49 +f 238/386/49 273/387/49 237/384/49 +f 239/388/49 274/389/49 238/386/49 +f 240/390/49 275/391/49 239/388/49 +f 241/392/49 276/393/49 240/390/49 +f 242/394/49 277/395/49 241/392/49 +f 242/394/49 279/331/49 278/396/49 +f 293/397/56 297/398/56 295/399/56 +f 296/400/52 297/401/52 300/402/52 +f 294/403/51 298/404/51 293/405/51 +f 296/406/57 299/407/57 294/408/57 +f 302/409/51 308/410/51 304/411/51 +f 301/412/48 306/413/48 302/414/48 +f 303/415/52 305/416/52 301/417/52 +f 303/418/49 308/419/49 307/420/49 +f 312/421/55 309/422/55 310/423/55 +f 313/424/54 316/425/54 314/426/54 +f 311/427/52 313/428/52 309/429/52 +f 311/430/49 316/431/49 315/432/49 +f 310/433/51 316/434/51 312/435/51 +f 309/436/48 314/437/48 310/438/48 +f 317/439/58 321/440/58 319/441/58 +f 320/442/54 321/443/54 324/444/54 +f 318/445/55 322/446/55 317/447/55 +f 320/448/59 323/449/59 318/450/59 +f 326/451/55 332/452/55 328/453/55 +f 325/454/48 330/455/48 326/456/48 +f 327/457/54 329/458/54 325/459/54 +f 328/460/49 331/461/49 327/462/49 +f 336/463/52 333/464/52 334/465/52 +f 337/466/51 340/467/51 338/468/51 +f 335/469/54 337/470/54 333/471/54 +f 336/472/49 339/473/49 335/474/49 +f 334/475/55 340/476/55 336/477/55 +f 333/478/48 338/479/48 334/480/48 +f 341/481/60 345/482/60 343/483/60 +f 344/484/55 345/485/55 348/486/55 +f 342/487/54 346/488/54 341/489/54 +f 344/490/61 347/491/61 342/492/61 +f 350/493/54 356/494/54 352/495/54 +f 349/496/48 354/497/48 350/498/48 +f 351/499/55 353/500/55 349/501/55 +f 351/502/49 356/503/49 355/504/49 +f 360/505/51 357/506/51 358/507/51 +f 361/508/52 364/509/52 362/510/52 +f 359/511/55 361/512/55 357/513/55 +f 360/514/49 363/515/49 359/516/49 +f 358/517/54 364/518/54 360/519/54 +f 357/520/48 362/521/48 358/522/48 +f 369/523/49 373/524/49 365/525/49 +f 395/526/49 393/527/49 394/528/49 +f 391/529/51 396/530/51 392/531/51 +f 390/532/52 394/533/52 389/534/52 +f 392/535/55 395/536/55 390/537/55 +f 389/538/54 393/539/54 391/540/54 +f 223/327/48 222/541/48 221/542/48 +f 221/542/48 232/543/48 223/327/48 +f 232/543/48 231/325/48 223/327/48 +f 231/325/48 230/544/48 227/326/48 +f 230/544/48 229/545/48 227/326/48 +f 229/545/48 228/546/48 227/326/48 +f 227/326/48 226/547/48 225/548/48 +f 225/548/48 224/549/48 223/327/48 +f 227/326/48 225/548/48 223/327/48 +f 244/328/49 234/378/49 269/329/49 +f 244/328/49 280/330/49 279/331/49 +f 245/333/50 250/550/50 249/334/50 +f 248/336/51 247/551/51 249/337/51 +f 246/339/52 251/552/52 250/340/52 +f 248/342/53 252/553/53 251/343/53 +f 254/345/52 258/554/52 260/346/52 +f 253/348/48 257/555/48 258/349/48 +f 255/351/51 259/556/51 257/352/51 +f 256/354/49 260/557/49 259/355/49 +f 264/357/54 263/558/54 261/358/54 +f 265/360/55 267/559/55 268/361/55 +f 263/363/51 267/560/51 265/364/51 +f 264/366/49 268/561/49 267/367/49 +f 262/369/52 266/562/52 268/370/52 +f 261/372/48 265/563/48 266/373/48 +f 282/377/49 281/564/49 283/565/49 +f 283/565/49 284/566/49 282/377/49 +f 284/566/49 285/567/49 282/377/49 +f 285/567/49 286/568/49 287/375/49 +f 287/375/49 288/569/49 289/376/49 +f 289/376/49 290/570/49 291/571/49 +f 291/571/49 292/572/49 289/376/49 +f 292/572/49 282/377/49 289/376/49 +f 285/567/49 287/375/49 282/377/49 +f 234/378/49 233/381/49 270/379/49 +f 235/380/49 271/383/49 270/379/49 +f 236/382/49 272/385/49 271/383/49 +f 237/384/49 273/387/49 272/385/49 +f 238/386/49 274/389/49 273/387/49 +f 239/388/49 275/391/49 274/389/49 +f 240/390/49 276/393/49 275/391/49 +f 241/392/49 277/395/49 276/393/49 +f 242/394/49 278/396/49 277/395/49 +f 242/394/49 243/332/49 279/331/49 +f 293/397/56 298/573/56 297/398/56 +f 296/400/52 295/574/52 297/401/52 +f 294/403/51 299/575/51 298/404/51 +f 296/406/57 300/576/57 299/407/57 +f 302/409/51 306/577/51 308/410/51 +f 301/412/48 305/578/48 306/413/48 +f 303/415/52 307/579/52 305/416/52 +f 303/418/49 304/580/49 308/419/49 +f 312/421/55 311/581/55 309/422/55 +f 313/424/54 315/582/54 316/425/54 +f 311/427/52 315/583/52 313/428/52 +f 311/430/49 312/584/49 316/431/49 +f 310/433/51 314/585/51 316/434/51 +f 309/436/48 313/586/48 314/437/48 +f 317/439/58 322/587/58 321/440/58 +f 320/442/54 319/588/54 321/443/54 +f 318/445/55 323/589/55 322/446/55 +f 320/448/59 324/590/59 323/449/59 +f 326/451/55 330/591/55 332/452/55 +f 325/454/48 329/592/48 330/455/48 +f 327/457/54 331/593/54 329/458/54 +f 328/460/49 332/594/49 331/461/49 +f 336/463/52 335/595/52 333/464/52 +f 337/466/51 339/596/51 340/467/51 +f 335/469/54 339/597/54 337/470/54 +f 336/472/49 340/598/49 339/473/49 +f 334/475/55 338/599/55 340/476/55 +f 333/478/48 337/600/48 338/479/48 +f 341/481/60 346/601/60 345/482/60 +f 344/484/55 343/602/55 345/485/55 +f 342/487/54 347/603/54 346/488/54 +f 344/490/61 348/604/61 347/491/61 +f 350/493/54 354/605/54 356/494/54 +f 349/496/48 353/606/48 354/497/48 +f 351/499/55 355/607/55 353/500/55 +f 351/502/49 352/608/49 356/503/49 +f 360/505/51 359/609/51 357/506/51 +f 361/508/52 363/610/52 364/509/52 +f 359/511/55 363/611/55 361/512/55 +f 360/514/49 364/612/49 363/515/49 +f 358/517/54 362/613/54 364/518/54 +f 357/520/48 361/614/48 362/521/48 +f 365/525/49 366/615/49 367/616/49 +f 367/616/49 368/617/49 369/523/49 +f 369/523/49 370/618/49 373/524/49 +f 370/618/49 371/619/49 373/524/49 +f 371/619/49 372/620/49 373/524/49 +f 373/524/49 374/621/49 375/622/49 +f 375/622/49 376/623/49 365/525/49 +f 365/525/49 367/616/49 369/523/49 +f 373/524/49 375/622/49 365/525/49 +f 395/526/49 396/624/49 393/527/49 +f 391/529/51 393/625/51 396/530/51 +f 390/532/52 395/626/52 394/533/52 +f 392/535/55 396/627/55 395/536/55 +f 389/538/54 394/628/54 393/539/54 +s 1 +f 157/629/62 168/630/63 156/631/63 +f 154/632/64 165/633/65 153/634/65 +f 149/635/51 172/636/66 160/637/66 +f 151/638/67 162/639/68 150/640/68 +f 158/641/55 169/642/62 157/643/62 +f 155/644/52 166/645/64 154/646/64 +f 152/647/54 163/648/67 151/649/67 +f 159/650/69 170/651/55 158/641/55 +f 156/631/63 167/652/52 155/644/52 +f 153/634/65 164/653/54 152/647/54 +f 160/654/66 171/655/69 159/650/69 +f 150/640/68 161/656/51 149/635/51 +f 169/657/70 182/658/71 181/659/70 +f 170/660/71 183/661/72 182/658/71 +f 171/662/72 184/663/73 183/661/72 +f 172/664/73 173/665/74 184/666/73 +f 162/667/75 173/665/74 161/668/74 +f 163/669/76 174/670/75 162/667/75 +f 164/671/77 175/672/76 163/673/76 +f 165/674/78 176/675/77 164/671/77 +f 166/676/79 177/677/78 165/674/78 +f 167/678/80 178/679/79 166/680/79 +f 167/678/80 180/681/81 179/682/80 +f 168/683/81 181/684/70 180/681/81 +f 179/685/52 190/686/64 178/687/64 +f 176/688/54 187/689/67 175/690/67 +f 183/691/69 194/692/55 182/693/55 +f 180/694/63 191/695/52 179/685/52 +f 177/696/65 188/697/54 176/688/54 +f 184/698/66 195/699/69 183/691/69 +f 174/700/68 185/701/51 173/702/51 +f 181/703/62 192/704/63 180/694/63 +f 178/705/64 189/706/65 177/696/65 +f 173/702/51 196/707/66 184/708/66 +f 175/709/67 186/710/68 174/700/68 +f 182/693/55 193/711/62 181/712/62 +f 191/713/82 202/714/83 190/715/83 +f 188/716/84 199/717/85 187/718/85 +f 195/719/86 206/720/87 194/721/87 +f 192/722/88 203/723/82 191/713/82 +f 189/724/89 200/725/84 188/716/84 +f 196/726/90 207/727/86 195/719/86 +f 186/728/91 197/729/92 185/730/92 +f 193/731/93 204/732/88 192/722/88 +f 190/733/83 201/734/89 189/724/89 +f 196/735/90 197/729/92 208/736/90 +f 187/737/85 198/738/91 186/728/91 +f 194/721/87 205/739/93 193/740/93 +f 206/720/55 217/741/62 205/739/62 +f 203/723/52 214/742/64 202/714/64 +f 200/725/54 211/743/67 199/717/67 +f 207/727/69 218/744/55 206/720/55 +f 204/732/63 215/745/52 203/723/52 +f 201/734/65 212/746/54 200/725/54 +f 208/747/66 219/748/69 207/727/69 +f 198/738/68 209/749/51 197/729/51 +f 205/750/62 216/751/63 204/732/63 +f 202/752/64 213/753/65 201/734/65 +f 197/729/51 220/754/66 208/736/66 +f 199/755/67 210/756/68 198/738/68 +f 221/757/94 244/758/95 232/759/95 +f 223/760/96 233/761/97 222/762/97 +f 230/763/98 241/764/99 229/765/99 +f 226/766/100 239/767/101 238/768/100 +f 224/769/102 235/770/96 223/771/96 +f 231/772/103 242/773/98 230/763/98 +f 228/774/104 239/767/101 227/775/101 +f 225/776/105 236/777/102 224/769/102 +f 232/778/95 243/779/103 231/772/103 +f 222/762/97 234/780/94 221/757/94 +f 228/774/104 241/781/99 240/782/104 +f 226/783/100 237/784/105 225/776/105 +f 277/785/106 288/786/107 276/787/107 +f 274/788/108 285/789/109 273/790/109 +f 269/791/110 292/792/111 280/793/111 +f 271/794/112 281/795/113 270/796/113 +f 278/797/114 289/798/106 277/799/106 +f 275/800/115 286/801/108 274/802/108 +f 272/803/116 283/804/112 271/805/112 +f 279/806/117 290/807/114 278/797/114 +f 275/800/115 288/786/107 287/808/115 +f 273/790/109 284/809/116 272/803/116 +f 280/810/111 291/811/117 279/806/117 +f 270/796/113 282/812/110 269/791/110 +f 369/813/65 382/814/64 370/815/64 +f 376/816/66 378/817/51 365/818/51 +f 366/819/68 379/820/67 367/821/67 +f 373/822/62 386/823/55 374/824/55 +f 370/825/64 383/826/52 371/827/52 +f 367/828/67 380/829/54 368/830/54 +f 374/824/55 387/831/69 375/832/69 +f 371/827/52 384/833/63 372/834/63 +f 368/830/54 381/835/65 369/813/65 +f 375/832/69 388/836/66 376/837/66 +f 365/818/51 377/838/68 366/819/68 +f 372/834/63 385/839/62 373/840/62 +f 157/629/62 169/841/62 168/630/63 +f 154/632/64 166/842/64 165/633/65 +f 149/635/51 161/656/51 172/636/66 +f 151/638/67 163/843/67 162/639/68 +f 158/641/55 170/651/55 169/642/62 +f 155/644/52 167/652/52 166/645/64 +f 152/647/54 164/653/54 163/648/67 +f 159/650/69 171/655/69 170/651/55 +f 156/631/63 168/630/63 167/652/52 +f 153/634/65 165/633/65 164/653/54 +f 160/654/66 172/844/66 171/655/69 +f 150/640/68 162/639/68 161/656/51 +f 169/657/70 170/660/71 182/658/71 +f 170/660/71 171/662/72 183/661/72 +f 171/662/72 172/845/73 184/663/73 +f 172/664/73 161/668/74 173/665/74 +f 162/667/75 174/670/75 173/665/74 +f 163/669/76 175/846/76 174/670/75 +f 164/671/77 176/675/77 175/672/76 +f 165/674/78 177/677/78 176/675/77 +f 166/676/79 178/847/79 177/677/78 +f 167/678/80 179/682/80 178/679/79 +f 167/678/80 168/683/81 180/681/81 +f 168/683/81 169/848/70 181/684/70 +f 179/685/52 191/695/52 190/686/64 +f 176/688/54 188/697/54 187/689/67 +f 183/691/69 195/699/69 194/692/55 +f 180/694/63 192/704/63 191/695/52 +f 177/696/65 189/706/65 188/697/54 +f 184/698/66 196/849/66 195/699/69 +f 174/700/68 186/710/68 185/701/51 +f 181/703/62 193/850/62 192/704/63 +f 178/705/64 190/851/64 189/706/65 +f 173/702/51 185/701/51 196/707/66 +f 175/709/67 187/852/67 186/710/68 +f 182/693/55 194/692/55 193/711/62 +f 191/713/82 203/723/82 202/714/83 +f 188/716/84 200/725/84 199/717/85 +f 195/719/86 207/727/86 206/720/87 +f 192/722/88 204/732/88 203/723/82 +f 189/724/89 201/734/89 200/725/84 +f 196/726/90 208/747/90 207/727/86 +f 186/728/91 198/738/91 197/729/92 +f 193/731/93 205/750/93 204/732/88 +f 190/733/83 202/752/83 201/734/89 +f 196/735/90 185/730/92 197/729/92 +f 187/737/85 199/755/85 198/738/91 +f 194/721/87 206/720/87 205/739/93 +f 206/720/55 218/744/55 217/741/62 +f 203/723/52 215/745/52 214/742/64 +f 200/725/54 212/746/54 211/743/67 +f 207/727/69 219/748/69 218/744/55 +f 204/732/63 216/751/63 215/745/52 +f 201/734/65 213/753/65 212/746/54 +f 208/747/66 220/853/66 219/748/69 +f 198/738/68 210/756/68 209/749/51 +f 205/750/62 217/854/62 216/751/63 +f 202/752/64 214/855/64 213/753/65 +f 197/729/51 209/749/51 220/754/66 +f 199/755/67 211/856/67 210/756/68 +f 221/757/94 234/780/94 244/758/95 +f 223/760/96 235/857/96 233/761/97 +f 230/763/98 242/773/98 241/764/99 +f 226/766/100 227/775/101 239/767/101 +f 224/769/102 236/777/102 235/770/96 +f 231/772/103 243/779/103 242/773/98 +f 228/774/104 240/782/104 239/767/101 +f 225/776/105 237/784/105 236/777/102 +f 232/778/95 244/858/95 243/779/103 +f 222/762/97 233/761/97 234/780/94 +f 228/774/104 229/859/99 241/781/99 +f 226/783/100 238/860/100 237/784/105 +f 277/785/106 289/861/106 288/786/107 +f 274/788/108 286/862/108 285/789/109 +f 269/791/110 282/812/110 292/792/111 +f 271/794/112 283/863/112 281/795/113 +f 278/797/114 290/807/114 289/798/106 +f 275/800/115 287/808/115 286/801/108 +f 272/803/116 284/809/116 283/804/112 +f 279/806/117 291/811/117 290/807/114 +f 275/800/115 276/787/107 288/786/107 +f 273/790/109 285/789/109 284/809/116 +f 280/810/111 292/864/111 291/811/117 +f 270/796/113 281/795/113 282/812/110 +f 369/813/65 381/835/65 382/814/64 +f 376/816/66 388/865/66 378/817/51 +f 366/819/68 377/838/68 379/820/67 +f 373/822/62 385/866/62 386/823/55 +f 370/825/64 382/867/64 383/826/52 +f 367/828/67 379/868/67 380/829/54 +f 374/824/55 386/823/55 387/831/69 +f 371/827/52 383/826/52 384/833/63 +f 368/830/54 380/829/54 381/835/65 +f 375/832/69 387/831/69 388/836/66 +f 365/818/51 378/817/51 377/838/68 +f 372/834/63 384/833/63 385/839/62 +o Glass +v -3.500000 1.000000 3.500000 +v 3.500000 1.000000 3.500000 +v -3.500000 1.000000 -3.500000 +v 3.500000 1.000000 -3.500000 +v -3.500000 5.000000 -3.500000 +v -3.500000 5.000000 3.500000 +v 3.500000 5.000000 3.500000 +v 3.500000 5.000000 -3.500000 +vt -0.000000 0.363636 +vt 1.000000 1.000000 +vt -0.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.363636 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 0.363636 +vt 0.000000 0.000000 +vt 1.000000 -0.000000 +vt -0.000000 -0.000000 +vt 1.000000 0.000000 +vt 0.000000 0.363636 +vt 0.000000 0.000000 +vt 1.000000 0.363636 +vt 1.000000 0.363636 +vt 1.000000 0.363636 +vt 1.000000 0.363636 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +s off +f 403/869/118 401/870/118 402/871/118 +f 399/872/119 404/873/119 400/874/119 +f 398/875/120 402/876/120 397/877/120 +f 400/878/121 403/869/121 398/879/121 +f 397/880/122 401/881/122 399/882/122 +f 403/869/118 404/883/118 401/870/118 +f 399/872/119 401/884/119 404/873/119 +f 398/875/120 403/885/120 402/876/120 +f 400/878/121 404/883/121 403/869/121 +f 397/880/122 402/886/122 401/881/122 +o TenpennyTower +v 0.625000 1.500000 0.375000 +v 1.375000 1.500000 0.625000 +v -2.500000 1.000000 1.500000 +v 2.500000 1.000000 1.500000 +v 0.125000 2.000000 0.375000 +v -0.125000 2.000000 0.625000 +v -2.500000 1.000000 -1.500000 +v 2.500000 1.000000 -1.500000 +v -0.125000 2.000000 -0.625000 +v 0.125000 2.000000 -0.375000 +v -1.250000 4.000000 -0.625000 +v -1.500000 4.000000 -0.375000 +v -1.500000 4.000000 0.375000 +v -1.250000 4.000000 0.625000 +v -0.125000 4.000000 0.625000 +v 0.125000 4.000000 0.375000 +v 0.125000 4.000000 -0.375000 +v -0.125000 4.000000 -0.625000 +v -1.250000 1.000000 -0.625000 +v 1.375000 1.500000 -0.375000 +v -1.500000 1.000000 -0.375000 +v 1.375000 1.000000 -0.375000 +v 2.375000 1.000000 -1.375000 +v -2.375000 1.000000 -1.375000 +v -1.500000 1.000000 0.375000 +v -1.250000 1.000000 0.625000 +v 0.125000 1.500000 0.625000 +v 0.125000 2.000000 0.625000 +v 0.375000 2.000000 0.375000 +v 0.375000 1.500000 0.375000 +v 0.375000 1.500000 -0.375000 +v 0.125000 1.500000 -0.625000 +v 0.375000 2.000000 -0.375000 +v 0.125000 2.000000 -0.625000 +v 1.375000 1.000000 0.375000 +v 2.375000 1.000000 1.375000 +v -2.375000 1.000000 1.375000 +v 1.375000 1.500000 0.375000 +v 0.625000 1.500000 -0.375000 +v 1.375000 1.500000 -0.625000 +v 1.375000 1.000000 0.625000 +v 0.625000 1.000000 0.375000 +v 0.625000 1.000000 -0.375000 +v 1.375000 1.000000 -0.625000 +v -2.500000 1.500000 -1.500000 +v -2.500000 1.500000 1.500000 +v 2.500000 1.500000 -1.500000 +v 2.375000 1.500000 -1.375000 +v -2.375000 1.500000 -1.375000 +v 2.375000 1.500000 1.375000 +v 2.500000 1.500000 1.500000 +v -2.375000 1.500000 1.375000 +v -0.187500 4.000000 0.084835 +v -0.452665 4.000000 0.350000 +v 0.077665 4.000000 0.350000 +v -0.187500 4.000000 0.615165 +v 2.500000 1.000000 -0.250000 +v 2.375000 1.000000 -0.250000 +v 2.500000 1.500000 -0.250000 +v 2.375000 1.500000 -0.250000 +v 2.500000 1.000000 0.250000 +v 2.375000 1.000000 0.250000 +v 2.500000 1.500000 0.250000 +v 2.375000 1.500000 0.250000 +v -0.187500 4.000000 -0.615165 +v -0.452665 4.000000 -0.350000 +v 0.077665 4.000000 -0.350000 +v -0.187500 4.000000 -0.084835 +v -1.187500 4.000000 0.084835 +v -1.452665 4.000000 0.350000 +v -0.922335 4.000000 0.350000 +v -1.187500 4.000000 0.615165 +v -1.187500 4.000000 -0.615165 +v -1.452665 4.000000 -0.350000 +v -0.922335 4.000000 -0.350000 +v -1.187500 4.000000 -0.084835 +v -0.187500 4.250000 0.084835 +v -0.452665 4.250000 0.350000 +v 0.077665 4.250000 0.350000 +v -0.187500 4.250000 0.615165 +v -0.187500 4.250000 -0.615165 +v -0.452665 4.250000 -0.350000 +v 0.077665 4.250000 -0.350000 +v -0.187500 4.250000 -0.084835 +v -1.187500 4.250000 0.084835 +v -1.452665 4.250000 0.350000 +v -0.922335 4.250000 0.350000 +v -1.187500 4.250000 0.615165 +v -1.187500 4.250000 -0.615165 +v -1.452665 4.250000 -0.350000 +v -0.922335 4.250000 -0.350000 +v -1.187500 4.250000 -0.084835 +v -0.187500 4.375000 0.217417 +v -0.320083 4.375000 0.350000 +v -0.054917 4.375000 0.350000 +v -0.187500 4.375000 0.482583 +v -0.187500 4.375000 -0.482583 +v -0.320083 4.375000 -0.350000 +v -0.054917 4.375000 -0.350000 +v -0.187500 4.375000 -0.217418 +v -1.187500 4.375000 0.217417 +v -1.320083 4.375000 0.350000 +v -1.054917 4.375000 0.350000 +v -1.187500 4.375000 0.482583 +v -1.187500 4.375000 -0.482583 +v -1.320083 4.375000 -0.350000 +v -1.054917 4.375000 -0.350000 +v -1.187500 4.375000 -0.217418 +v -1.250000 3.250000 -0.625000 +v -1.500000 3.250000 -0.375000 +v -1.500000 3.250000 0.375000 +v -1.250000 3.250000 0.625000 +v -0.125000 3.250000 0.625000 +v 0.125000 3.250000 0.375000 +v 0.125000 3.250000 -0.375000 +v -0.125000 3.250000 -0.625000 +v -0.125000 3.375000 -0.625000 +v 0.125000 3.375000 -0.375000 +v 0.125000 3.375000 0.375000 +v -0.125000 3.375000 0.625000 +v -1.250000 3.375000 0.625000 +v -1.500000 3.375000 0.375000 +v -1.500000 3.375000 -0.375000 +v -1.250000 3.375000 -0.625000 +v 0.187500 3.250000 0.375000 +v 0.187500 3.250000 -0.375000 +v 0.187500 3.375000 -0.375000 +v 0.187500 3.375000 0.375000 +v -1.562500 3.250000 -0.375000 +v -1.562500 3.250000 0.375000 +v -1.562500 3.375000 0.375000 +v -1.562500 3.375000 -0.375000 +v -0.125000 3.250000 -0.687500 +v -1.250000 3.250000 -0.687500 +v -1.250000 3.375000 -0.687500 +v -0.125000 3.375000 -0.687500 +v -1.250000 3.250000 0.687500 +v -0.125000 3.250000 0.687500 +v -0.125000 3.375000 0.687500 +v -1.250000 3.375000 0.687500 +vt 0.464930 0.988754 +vt 0.454188 0.999497 +vt 0.411218 0.988754 +vt 0.327609 0.916709 +vt 0.297465 0.997093 +vt 0.297465 0.916709 +vt 0.317561 0.997093 +vt 0.307513 0.916709 +vt 0.317561 0.916709 +vt 0.307513 0.916709 +vt 0.317561 0.997093 +vt 0.307513 0.997093 +vt 0.362778 0.876517 +vt 0.372826 0.997093 +vt 0.362778 0.997093 +vt 0.297465 0.876517 +vt 0.327609 0.997093 +vt 0.297465 0.997093 +vt 0.454188 0.929671 +vt 0.421961 0.929671 +vt 0.454188 0.918929 +vt 0.252249 0.876517 +vt 0.262297 0.997093 +vt 0.252249 0.997093 +vt 0.307513 0.896613 +vt 0.298769 0.916829 +vt 0.328914 0.896733 +vt 0.328914 0.916829 +vt 0.358172 0.916829 +vt 0.368220 0.896733 +vt 0.368220 0.916829 +vt 0.256289 0.916829 +vt 0.266337 0.896733 +vt 0.266337 0.916829 +vt 0.454188 0.918929 +vt 0.421961 0.918929 +vt 0.454188 0.908186 +vt 0.262297 0.876517 +vt 0.338636 0.896616 +vt 0.328588 0.876520 +vt 0.338636 0.876520 +vt 0.338636 0.876520 +vt 0.368780 0.896616 +vt 0.338636 0.896616 +vt 0.298443 0.896616 +vt 0.328588 0.876520 +vt 0.328588 0.896616 +vt 0.288395 0.896616 +vt 0.258251 0.876520 +vt 0.288395 0.876520 +vt 0.288395 0.896616 +vt 0.298443 0.876520 +vt 0.298443 0.896616 +vt 0.154072 0.897085 +vt 0.181586 0.909313 +vt 0.154072 0.909313 +vt 0.224385 0.999496 +vt 0.154072 0.996439 +vt 0.221328 0.996439 +vt 0.224385 0.877214 +vt 0.221328 0.880271 +vt 0.193814 0.909313 +vt 0.224385 0.897085 +vt 0.224385 0.909313 +vt 0.151015 0.999496 +vt 0.154072 0.880271 +vt 0.245784 0.897085 +vt 0.129616 0.909313 +vt 0.129616 0.897085 +vt 0.248841 0.897085 +vt 0.126559 0.909313 +vt 0.126559 0.897085 +vt 0.248841 0.897085 +vt 0.126559 0.909313 +vt 0.126559 0.897085 +vt 0.221328 0.897085 +vt 0.154072 0.909313 +vt 0.154072 0.897085 +vt 0.181586 0.877214 +vt 0.151015 0.877214 +vt 0.245784 0.897085 +vt 0.129616 0.909313 +vt 0.129616 0.897085 +vt 0.224385 0.897085 +vt 0.151015 0.909313 +vt 0.151015 0.897085 +vt 0.151015 0.909313 +vt 0.181586 0.897085 +vt 0.181586 0.909313 +vt 0.193814 0.897085 +vt 0.221328 0.909313 +vt 0.193814 0.909313 +vt 0.193814 0.877214 +vt 0.126559 0.897085 +vt 0.129616 0.909313 +vt 0.126559 0.909313 +vt 0.245784 0.909313 +vt 0.248841 0.897085 +vt 0.248841 0.909313 +vt 0.441719 0.943099 +vt 0.453113 0.937402 +vt 0.447416 0.943099 +vt 0.464507 0.986068 +vt 0.453113 0.980372 +vt 0.453113 0.974674 +vt 0.464507 0.943099 +vt 0.453113 0.931705 +vt 0.453113 0.991765 +vt 0.458810 0.986068 +vt 0.332035 0.989268 +vt 0.321378 0.999317 +vt 0.321378 0.989268 +vt 0.316963 0.989268 +vt 0.306305 0.999317 +vt 0.306305 0.989268 +vt 0.276771 0.989268 +vt 0.266113 0.999317 +vt 0.266113 0.989268 +vt 0.295648 0.999317 +vt 0.295648 0.989268 +vt 0.255456 0.999317 +vt 0.255456 0.989268 +vt 0.310720 0.999317 +vt 0.310720 0.989268 +vt 0.372227 0.989268 +vt 0.361570 0.999317 +vt 0.361570 0.989268 +vt 0.350912 0.999317 +vt 0.350912 0.989268 +vt 0.316963 0.989268 +vt 0.306305 0.999317 +vt 0.306305 0.989268 +vt 0.276771 0.989268 +vt 0.266113 0.999317 +vt 0.266113 0.989268 +vt 0.295648 0.999317 +vt 0.295648 0.989268 +vt 0.255456 0.999317 +vt 0.255456 0.989268 +vt 0.332035 0.989268 +vt 0.321378 0.999317 +vt 0.321378 0.989268 +vt 0.372227 0.989268 +vt 0.361570 0.999317 +vt 0.361570 0.989268 +vt 0.310720 0.999317 +vt 0.310720 0.989268 +vt 0.350912 0.999317 +vt 0.350912 0.989268 +vt 0.423035 0.937402 +vt 0.423035 0.948796 +vt 0.417338 0.943099 +vt 0.458810 0.943099 +vt 0.453113 0.948796 +vt 0.423035 0.980372 +vt 0.423035 0.991765 +vt 0.417338 0.986068 +vt 0.447416 0.986068 +vt 0.441719 0.986068 +vt 0.453113 0.954493 +vt 0.423035 0.954493 +vt 0.428732 0.943099 +vt 0.434429 0.943099 +vt 0.453113 0.997463 +vt 0.423035 0.997463 +vt 0.428732 0.986068 +vt 0.434429 0.986068 +vt 0.423035 0.931705 +vt 0.423035 0.974674 +vt 0.411641 0.943099 +vt 0.411641 0.986068 +vt 0.413651 0.967078 +vt 0.426211 0.967078 +vt 0.416163 0.967078 +vt 0.456355 0.967078 +vt 0.468915 0.967078 +vt 0.466403 0.967078 +vt 0.426211 0.967078 +vt 0.413651 0.967078 +vt 0.416163 0.967078 +vt 0.468915 0.962054 +vt 0.456355 0.967078 +vt 0.468915 0.967078 +vt 0.456355 0.962054 +vt 0.426211 0.967078 +vt 0.426211 0.962054 +vt 0.426211 0.962054 +vt 0.456355 0.962054 +vt 0.426211 0.967078 +vt 0.413651 0.962054 +vt 0.416163 0.962054 +vt 0.413651 0.962054 +vt 0.426211 0.962054 +vt 0.456355 0.962054 +vt 0.456355 0.962054 +vt 0.426211 0.962054 +vt 0.456355 0.967078 +vt 0.468915 0.962054 +vt 0.456355 0.967078 +vt 0.466403 0.962054 +vt 0.466403 0.962054 +vt 0.466403 0.967078 +vt 0.416163 0.962054 +vt 0.421960 0.999497 +vt 0.411218 0.940413 +vt 0.464930 0.940413 +vt 0.421961 0.929671 +vt 0.454188 0.929671 +vt 0.327609 0.997093 +vt 0.307513 0.997093 +vt 0.317561 0.916709 +vt 0.372826 0.876517 +vt 0.327609 0.876517 +vt 0.411218 0.940413 +vt 0.411218 0.929671 +vt 0.421961 0.918929 +vt 0.464930 0.929671 +vt 0.464930 0.940413 +vt 0.307513 0.916709 +vt 0.257273 0.896613 +vt 0.257273 0.876517 +vt 0.298769 0.896733 +vt 0.358172 0.896733 +vt 0.256289 0.896733 +vt 0.411218 0.929671 +vt 0.411218 0.875959 +vt 0.421961 0.908186 +vt 0.421961 0.875959 +vt 0.454188 0.875959 +vt 0.464930 0.875959 +vt 0.464930 0.929671 +vt 0.317561 0.896613 +vt 0.317561 0.916709 +vt 0.367802 0.876517 +vt 0.367802 0.896613 +vt 0.328588 0.896616 +vt 0.368780 0.876520 +vt 0.298443 0.876520 +vt 0.258251 0.896616 +vt 0.288395 0.876520 +vt 0.181586 0.897085 +vt 0.193814 0.897085 +vt 0.245784 0.909313 +vt 0.248841 0.909313 +vt 0.248841 0.909313 +vt 0.221328 0.909313 +vt 0.181586 0.880271 +vt 0.245784 0.909313 +vt 0.224385 0.909313 +vt 0.151015 0.897085 +vt 0.221328 0.897085 +vt 0.193814 0.880271 +vt 0.129616 0.897085 +vt 0.245784 0.897085 +vt 0.332035 0.999317 +vt 0.316963 0.999317 +vt 0.276771 0.999317 +vt 0.372227 0.999317 +vt 0.316963 0.999317 +vt 0.276771 0.999317 +vt 0.332035 0.999317 +vt 0.372227 0.999317 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 vn -0.7071 0.0000 -0.7071 vn -1.0000 0.0000 0.0000 -vn -0.9063 0.1938 -0.3754 -vn -0.9239 0.0000 0.3827 -vn -0.9810 0.1938 0.0000 vn -0.7071 0.0000 0.7071 -vn -0.9063 0.1938 0.3754 -vn -0.3827 0.0000 0.9239 -vn -0.6937 0.1938 0.6937 +vn 0.0000 0.0000 -1.0000 vn 0.0000 0.0000 1.0000 -vn -0.3754 0.1938 0.9063 -vn 0.3827 0.0000 0.9239 -vn 0.0000 0.1938 0.9810 -vn 0.7071 0.0000 0.7071 -vn 0.3754 0.1938 0.9063 -vn 0.9239 0.0000 0.3827 -vn 0.6937 0.1938 0.6937 -vn 1.0000 0.0000 0.0000 -vn 0.9063 0.1938 0.3754 -vn 0.9239 0.0000 -0.3827 -vn 0.9810 0.1938 0.0000 -vn 0.7071 0.0000 -0.7071 -vn 0.9063 0.1938 -0.3754 -vn 0.3827 0.0000 -0.9239 -vn 0.6937 0.1938 -0.6937 -vn -0.3754 0.1938 -0.9063 -vn 0.3754 0.1938 -0.9063 -vn 0.0000 0.9767 -0.2146 -vn -0.2163 0.8250 -0.5221 -vn -0.0821 0.9767 -0.1982 -vn -0.1517 0.9767 -0.1517 -vn -0.1982 0.9767 -0.0821 -vn -0.2146 0.9767 0.0000 -vn -0.1982 0.9767 0.0821 -vn -0.1517 0.9767 0.1517 -vn -0.0821 0.9767 0.1982 -vn 0.0000 0.9767 0.2146 -vn 0.0821 0.9767 0.1982 -vn 0.1517 0.9767 0.1517 -vn 0.1982 0.9767 0.0821 -vn 0.2146 0.9767 0.0000 -vn 0.1982 0.9767 -0.0821 -vn 0.1517 0.9767 -0.1517 -vn 0.0821 0.9767 -0.1982 -s 1 -f 44/1/1 78/2/2 46/3/3 -f 30/4/4 64/5/5 32/6/6 -f 46/3/3 80/7/7 48/8/8 -f 32/6/6 66/9/9 34/10/10 -f 34/10/10 68/11/11 36/12/12 -f 38/13/13 68/11/11 70/14/14 -f 22/15/15 56/16/16 24/17/17 -f 48/8/8 49/18/18 18/19/19 -f 38/13/13 72/20/20 40/21/21 -f 24/17/17 58/22/22 26/23/23 -f 40/21/21 74/24/24 42/25/25 -f 26/23/23 60/26/26 28/27/27 -f 44/1/1 74/24/24 76/28/28 -f 28/27/27 62/29/29 30/4/4 -f 2/30/30 50/31/31 1/32/32 -f 22/15/15 52/33/33 54/34/34 -f 4/35/35 53/36/36 3/37/37 -f 5/38/38 55/39/39 4/35/35 -f 6/40/40 57/41/41 5/38/38 -f 7/42/42 59/43/43 6/40/40 -f 8/44/44 61/45/45 7/42/42 -f 9/46/46 63/47/47 8/44/44 -f 10/48/48 65/49/49 9/46/46 -f 11/50/50 67/51/51 10/48/48 -f 12/52/52 69/53/53 11/50/50 -f 13/54/54 71/55/55 12/52/52 -f 14/56/56 73/57/57 13/54/54 -f 15/58/58 75/59/59 14/56/56 -f 16/60/60 77/61/61 15/58/58 -f 3/37/37 51/62/62 2/30/30 -f 1/32/32 79/63/63 16/60/60 -f 17/64/64 20/65/65 19/66/66 -f 21/67/67 20/65/65 22/15/15 -f 23/68/68 22/15/15 24/17/17 -f 25/69/69 24/17/17 26/23/23 -f 27/70/70 26/23/23 28/27/27 -f 27/70/70 30/4/4 29/71/71 -f 29/71/71 32/6/6 31/72/72 -f 33/73/73 32/6/6 34/10/10 -f 33/73/73 36/12/12 35/74/74 -f 37/75/75 36/12/12 38/13/13 -f 37/75/75 40/21/21 39/76/76 -f 39/76/76 42/25/25 41/77/77 -f 43/78/78 42/25/25 44/1/1 -f 45/79/79 44/1/1 46/3/3 -f 45/79/79 48/8/8 47/80/80 -f 17/64/64 48/8/8 18/19/19 -f 25/69/69 33/73/73 41/77/77 -f 51/62/62 49/18/18 50/31/31 -f 53/36/36 52/33/33 51/62/62 -f 53/36/36 56/16/16 54/34/34 -f 55/39/39 58/22/22 56/16/16 -f 57/41/41 60/26/26 58/22/22 -f 59/43/43 62/29/29 60/26/26 -f 63/47/47 62/29/29 61/45/45 -f 63/47/47 66/9/9 64/5/5 -f 67/51/51 66/9/9 65/49/49 -f 67/51/51 70/14/14 68/11/11 -f 71/55/55 70/14/14 69/53/53 -f 73/57/57 72/20/20 71/55/55 -f 75/59/59 74/24/24 73/57/57 -f 77/61/61 76/28/28 75/59/59 -f 79/63/63 78/2/2 77/61/61 -f 50/31/31 80/7/7 79/63/63 -f 18/19/19 52/33/33 20/65/65 -f 44/1/1 76/28/28 78/2/2 -f 30/4/4 62/29/29 64/5/5 -f 46/3/3 78/2/2 80/7/7 -f 32/6/6 64/5/5 66/9/9 -f 34/10/10 66/9/9 68/11/11 -f 38/13/13 36/12/12 68/11/11 -f 22/15/15 54/34/34 56/16/16 -f 48/8/8 80/7/7 49/18/18 -f 38/13/13 70/14/14 72/20/20 -f 24/17/17 56/16/16 58/22/22 -f 40/21/21 72/20/20 74/24/24 -f 26/23/23 58/22/22 60/26/26 -f 44/1/1 42/25/25 74/24/24 -f 28/27/27 60/26/26 62/29/29 -f 2/30/30 51/62/62 50/31/31 -f 22/15/15 20/65/65 52/33/33 -f 4/35/35 55/39/39 53/36/36 -f 5/38/38 57/41/41 55/39/39 -f 6/40/40 59/43/43 57/41/41 -f 7/42/42 61/45/45 59/43/43 -f 8/44/44 63/47/47 61/45/45 -f 9/46/46 65/49/49 63/47/47 -f 10/48/48 67/51/51 65/49/49 -f 11/50/50 69/53/53 67/51/51 -f 12/52/52 71/55/55 69/53/53 -f 13/54/54 73/57/57 71/55/55 -f 14/56/56 75/59/59 73/57/57 -f 15/58/58 77/61/61 75/59/59 -f 16/60/60 79/63/63 77/61/61 -f 3/37/37 53/36/36 51/62/62 -f 1/32/32 50/31/31 79/63/63 -f 17/64/64 18/19/19 20/65/65 -f 21/67/67 19/66/66 20/65/65 -f 23/68/68 21/67/67 22/15/15 -f 25/69/69 23/68/68 24/17/17 -f 27/70/70 25/69/69 26/23/23 -f 27/70/70 28/27/27 30/4/4 -f 29/71/71 30/4/4 32/6/6 -f 33/73/73 31/72/72 32/6/6 -f 33/73/73 34/10/10 36/12/12 -f 37/75/75 35/74/74 36/12/12 -f 37/75/75 38/13/13 40/21/21 -f 39/76/76 40/21/21 42/25/25 -f 43/78/78 41/77/77 42/25/25 -f 45/79/79 43/78/78 44/1/1 -f 45/79/79 46/3/3 48/8/8 -f 17/64/64 47/80/80 48/8/8 -f 17/64/64 19/66/66 25/69/69 -f 19/66/66 21/67/67 25/69/69 -f 21/67/67 23/68/68 25/69/69 -f 25/69/69 27/70/70 29/71/71 -f 29/71/71 31/72/72 25/69/69 -f 31/72/72 33/73/73 25/69/69 -f 33/73/73 35/74/74 41/77/77 -f 35/74/74 37/75/75 41/77/77 -f 37/75/75 39/76/76 41/77/77 -f 41/77/77 43/78/78 45/79/79 -f 45/79/79 47/80/80 41/77/77 -f 47/80/80 17/64/64 41/77/77 -f 17/64/64 25/69/69 41/77/77 -f 51/62/62 52/33/33 49/18/18 -f 53/36/36 54/34/34 52/33/33 -f 53/36/36 55/39/39 56/16/16 -f 55/39/39 57/41/41 58/22/22 -f 57/41/41 59/43/43 60/26/26 -f 59/43/43 61/45/45 62/29/29 -f 63/47/47 64/5/5 62/29/29 -f 63/47/47 65/49/49 66/9/9 -f 67/51/51 68/11/11 66/9/9 -f 67/51/51 69/53/53 70/14/14 -f 71/55/55 72/20/20 70/14/14 -f 73/57/57 74/24/24 72/20/20 -f 75/59/59 76/28/28 74/24/24 -f 77/61/61 78/2/2 76/28/28 -f 79/63/63 80/7/7 78/2/2 -f 50/31/31 49/18/18 80/7/7 -f 18/19/19 49/18/18 52/33/33 -o Socket -v 0.000000 0.000000 -4.000000 -v 0.000000 1.000000 -4.000000 -v 1.530734 0.000000 -3.695518 -v 1.530734 1.000000 -3.695518 -v 2.828427 0.000000 -2.828427 -v 2.828427 1.000000 -2.828427 -v 3.695518 0.000000 -1.530734 -v 3.695518 1.000000 -1.530734 -v 4.000000 0.000000 0.000000 -v 4.000000 1.000000 0.000000 -v 3.695518 0.000000 1.530734 -v 3.695518 1.000000 1.530734 -v 2.828427 0.000000 2.828427 -v 2.828427 1.000000 2.828427 -v 1.530734 0.000000 3.695518 -v 1.530734 1.000000 3.695518 -v 0.000001 0.000000 4.000000 -v 0.000001 1.000000 4.000000 -v -1.530733 0.000000 3.695518 -v -1.530733 1.000000 3.695518 -v -2.828426 0.000000 2.828428 -v -2.828426 1.000000 2.828428 -v -3.695518 0.000000 1.530734 -v -3.695518 1.000000 1.530734 -v -4.000000 0.000000 -0.000000 -v -4.000000 1.000000 -0.000000 -v -3.695518 0.000000 -1.530734 -v -3.695518 1.000000 -1.530734 -v -2.828426 0.000000 -2.828428 -v -2.828426 1.000000 -2.828428 -v -1.530732 0.000000 -3.695519 -v -1.530732 1.000000 -3.695519 -vt 0.426601 0.598494 -vt 0.426601 0.930919 -vt 0.073399 0.930919 -vt 0.345575 0.452461 -vt 0.019260 0.325247 -vt 0.154425 0.018127 -vt 0.480740 0.674753 -vt 0.499751 0.764706 -vt 0.480740 0.854660 -vt 0.345576 0.981873 -vt 0.250000 0.999766 -vt 0.154425 0.981873 -vt 0.019260 0.854659 -vt 0.000249 0.764706 -vt 0.019260 0.674752 -vt 0.073399 0.598493 -vt 0.154425 0.547539 -vt 0.250000 0.529646 -vt 0.345576 0.547539 -vt 0.480740 0.145341 -vt 0.499751 0.235294 -vt 0.480740 0.325248 -vt 0.426601 0.401507 -vt 0.250000 0.470354 -vt 0.154424 0.452461 -vt 0.073399 0.401506 -vt 0.000249 0.235294 -vt 0.019260 0.145341 -vt 0.073399 0.069081 -vt 0.250000 0.000234 -vt 0.345576 0.018127 -vt 0.426601 0.069082 -vt 0.750000 0.529412 -vt 0.687500 0.470588 -vt 0.750000 0.470588 -vt 0.687500 0.529412 -vt 0.625000 0.470588 -vt 0.625000 0.529412 -vt 0.562500 0.470588 -vt 0.562500 0.529412 -vt 0.500000 0.470588 -vt 0.500000 0.529412 -vt 0.437500 0.470588 -vt 0.437500 0.529412 -vt 0.375000 0.470588 -vt 0.375000 0.529412 -vt 0.312500 0.470588 -vt 0.312500 0.529412 -vt 0.250000 0.470588 -vt 0.250000 0.529412 -vt 0.187500 0.470588 -vt 0.187500 0.529412 -vt 0.125000 0.470588 -vt 0.125000 0.529412 -vt 0.062500 0.470588 -vt 0.062500 0.529412 -vt 0.000000 0.470588 -vt 1.000000 0.529412 -vt 0.937500 0.470588 -vt 1.000000 0.470588 -vt 0.937500 0.529412 -vt 0.875000 0.470588 -vt 0.875000 0.529412 -vt 0.812500 0.470588 -vt 0.812500 0.529412 -vt 0.000000 0.529412 -vn 0.0000 1.0000 -0.0000 +vn 0.5657 0.6000 0.5657 +vn 0.5657 0.6000 -0.5657 +vn -0.5657 0.6000 -0.5657 +vn -0.5657 0.6000 0.5657 vn 0.0000 -1.0000 0.0000 -vn 0.0000 0.6657 -0.7462 -vn 0.2855 -0.6657 -0.6894 -vn 0.0000 -0.6657 -0.7462 -vn 0.2855 0.6657 -0.6894 -vn 0.5276 -0.6657 -0.5276 -vn 0.5276 0.6657 -0.5276 -vn 0.6894 -0.6657 -0.2855 -vn 0.6894 0.6657 -0.2855 -vn 0.7462 -0.6657 0.0000 -vn 0.7462 0.6657 0.0000 -vn 0.6894 -0.6657 0.2855 -vn 0.6894 0.6657 0.2855 -vn 0.5276 -0.6657 0.5276 -vn 0.5276 0.6657 0.5276 -vn 0.2855 -0.6657 0.6894 -vn 0.2855 0.6657 0.6894 -vn 0.0000 -0.6657 0.7462 -vn 0.0000 0.6657 0.7462 -vn -0.2855 -0.6657 0.6894 -vn -0.2855 0.6657 0.6894 -vn -0.5276 -0.6657 0.5276 -vn -0.5276 0.6657 0.5276 -vn -0.6894 -0.6657 0.2855 -vn -0.6894 0.6657 0.2855 -vn -0.7462 -0.6657 0.0000 -vn -0.7462 0.6657 0.0000 -vn -0.6894 -0.6657 -0.2855 -vn -0.6894 0.6657 -0.2855 -vn -0.5276 -0.6657 -0.5276 -vn -0.5276 0.6657 -0.5276 -vn -0.2855 -0.6657 -0.6894 -vn -0.2855 0.6657 -0.6894 s off -f 86/81/81 110/82/81 102/83/81 -f 87/84/82 95/85/82 103/86/82 -f 86/81/81 84/87/81 82/88/81 -f 82/88/81 112/89/81 110/82/81 -f 110/82/81 108/90/81 106/91/81 -f 106/91/81 104/92/81 102/83/81 -f 102/83/81 100/93/81 98/94/81 -f 98/94/81 96/95/81 94/96/81 -f 94/96/81 92/97/81 90/98/81 -f 90/98/81 88/99/81 94/96/81 -f 88/99/81 86/81/81 94/96/81 -f 86/81/81 82/88/81 110/82/81 -f 110/82/81 106/91/81 102/83/81 -f 102/83/81 98/94/81 86/81/81 -f 98/94/81 94/96/81 86/81/81 -f 111/100/82 81/101/82 83/102/82 -f 83/102/82 85/103/82 111/100/82 -f 85/103/82 87/84/82 111/100/82 -f 87/84/82 89/104/82 91/105/82 -f 91/105/82 93/106/82 87/84/82 -f 93/106/82 95/85/82 87/84/82 -f 95/85/82 97/107/82 103/86/82 -f 97/107/82 99/108/82 103/86/82 -f 99/108/82 101/109/82 103/86/82 -f 103/86/82 105/110/82 107/111/82 -f 107/111/82 109/112/82 111/100/82 -f 103/86/82 107/111/82 111/100/82 -f 111/100/82 87/84/82 103/86/82 -s 1 -f 82/113/83 83/114/84 81/115/85 -f 84/116/86 85/117/87 83/114/84 -f 86/118/88 87/119/89 85/117/87 -f 88/120/90 89/121/91 87/119/89 -f 90/122/92 91/123/93 89/121/91 -f 92/124/94 93/125/95 91/123/93 -f 94/126/96 95/127/97 93/125/95 -f 96/128/98 97/129/99 95/127/97 -f 98/130/100 99/131/101 97/129/99 -f 100/132/102 101/133/103 99/131/101 -f 102/134/104 103/135/105 101/133/103 -f 104/136/106 105/137/107 103/135/105 -f 106/138/108 107/139/109 105/140/107 -f 108/141/110 109/142/111 107/139/109 -f 110/143/112 111/144/113 109/142/111 -f 112/145/114 81/115/85 111/144/113 -f 82/113/83 84/116/86 83/114/84 -f 84/116/86 86/118/88 85/117/87 -f 86/118/88 88/120/90 87/119/89 -f 88/120/90 90/122/92 89/121/91 -f 90/122/92 92/124/94 91/123/93 -f 92/124/94 94/126/96 93/125/95 -f 94/126/96 96/128/98 95/127/97 -f 96/128/98 98/130/100 97/129/99 -f 98/130/100 100/132/102 99/131/101 -f 100/132/102 102/134/104 101/133/103 -f 102/134/104 104/136/106 103/135/105 -f 104/136/106 106/146/108 105/137/107 -f 106/138/108 108/141/110 107/139/109 -f 108/141/110 110/143/112 109/142/111 -f 110/143/112 112/145/114 111/144/113 -f 112/145/114 82/113/83 81/115/85 +f 415/887/123 416/888/123 418/889/123 +f 414/890/124 420/891/124 409/892/124 +f 422/893/125 414/894/125 413/895/125 +f 410/896/126 420/897/126 419/898/126 +f 423/899/127 416/900/127 415/901/127 +f 425/902/128 417/903/128 416/904/128 +f 414/905/123 409/906/123 437/907/123 +f 429/908/129 418/909/129 417/910/129 +f 423/899/130 413/895/130 436/911/130 +f 433/912/124 435/913/124 437/914/124 +f 432/915/126 434/916/126 433/917/126 +f 437/918/125 436/919/125 438/920/125 +f 435/921/123 434/922/123 443/923/123 +f 410/896/131 418/909/131 430/924/131 +f 444/925/124 426/926/124 448/927/124 +f 447/928/131 424/929/131 443/930/131 +f 405/931/124 447/932/124 443/933/124 +f 405/934/130 439/935/130 446/936/130 +f 406/937/124 439/938/124 442/939/124 +f 427/940/128 464/941/128 452/942/128 +f 449/943/123 456/944/123 453/945/123 +f 451/946/123 453/945/123 452/947/123 +f 463/948/124 412/949/124 451/950/124 +f 450/951/123 454/952/123 456/944/123 +f 441/953/130 454/954/130 440/955/130 +f 411/956/130 451/957/130 412/958/130 +f 408/959/131 450/960/131 407/961/131 +f 428/962/124 456/963/124 441/964/124 +f 467/965/123 454/952/123 455/966/123 +f 427/967/131 453/968/131 428/969/131 +f 407/970/128 449/971/128 411/972/128 +f 455/973/124 465/974/124 467/975/124 +f 466/976/128 454/977/128 468/978/128 +f 452/947/123 463/979/123 451/946/123 +f 465/980/130 468/981/130 467/982/130 +f 464/983/131 461/984/131 463/985/131 +f 488/986/132 503/987/132 504/988/132 +f 493/989/133 511/990/133 495/991/133 +f 485/992/133 503/987/133 487/993/133 +f 493/989/134 510/994/134 509/995/134 +f 458/996/127 481/997/127 457/998/127 +f 471/999/126 488/1000/126 472/1001/126 +f 479/1002/126 496/1003/126 480/1004/126 +f 472/1001/129 486/1005/129 470/1006/129 +f 480/1004/129 494/1007/129 478/1008/129 +f 457/998/125 483/1009/125 459/1010/125 +f 474/1011/127 489/1012/127 473/1013/127 +f 473/1013/125 491/1014/125 475/1015/125 +f 459/1016/126 484/1017/126 460/1018/126 +f 475/1019/126 492/1020/126 476/1021/126 +f 460/1018/129 482/1022/129 458/1023/129 +f 476/1021/129 490/1024/129 474/1025/129 +f 470/1026/127 485/1027/127 469/1028/127 +f 478/1029/127 493/1030/127 477/1031/127 +f 469/1028/125 487/1032/125 471/1033/125 +f 477/1031/125 495/1034/125 479/1035/125 +f 499/1036/123 498/1037/123 500/1038/123 +f 504/988/123 501/1039/123 502/1040/123 +f 507/1041/123 506/1042/123 508/1043/123 +f 512/1044/123 509/995/123 510/994/123 +f 495/991/132 512/1044/132 496/1045/132 +f 488/986/135 502/1040/135 486/1046/135 +f 482/1047/134 497/1048/134 481/1049/134 +f 496/1045/135 510/994/135 494/1050/135 +f 490/1051/134 505/1052/134 489/1053/134 +f 481/1049/133 499/1036/133 483/1054/133 +f 491/1055/133 505/1052/133 507/1041/133 +f 483/1054/132 500/1038/132 484/1056/132 +f 491/1055/132 508/1043/132 492/1057/132 +f 484/1056/135 498/1037/135 482/1047/135 +f 492/1057/135 506/1042/135 490/1051/135 +f 485/992/134 502/1040/134 501/1039/134 +f 543/1058/123 523/1059/123 524/1060/123 +f 522/1061/123 540/1062/123 521/1063/123 +f 526/1064/123 544/1065/123 525/1066/123 +f 538/1067/127 536/1068/127 539/1069/127 +f 530/1070/124 532/1071/124 529/1072/124 +f 530/1070/136 518/1073/136 519/1074/136 +f 535/1075/129 541/1076/129 544/1065/129 +f 532/1071/123 522/1061/123 523/1059/123 +f 517/1077/136 529/1072/136 542/1078/136 +f 534/1079/128 536/1068/128 533/1080/128 +f 534/1079/136 514/1081/136 515/1082/136 +f 531/1083/125 537/1084/125 540/1062/125 +f 536/1068/123 526/1064/123 527/1085/123 +f 513/1086/136 533/1080/136 538/1067/136 +f 538/1067/130 540/1062/130 537/1084/130 +f 538/1067/136 520/1087/136 513/1086/136 +f 539/1069/123 527/1085/123 528/1088/123 +f 540/1062/123 528/1088/123 521/1063/123 +f 534/1079/136 516/1089/136 541/1076/136 +f 542/1078/131 544/1065/131 541/1076/131 +f 542/1078/136 516/1089/136 517/1077/136 +f 542/1078/126 532/1071/126 543/1058/126 +f 544/1065/123 524/1060/123 525/1066/123 +f 530/1070/136 520/1087/136 537/1084/136 +f 416/888/123 417/1090/123 418/889/123 +f 418/889/123 419/1091/123 422/1092/123 +f 419/1091/123 420/1093/123 422/1092/123 +f 420/1093/123 421/1094/123 422/1092/123 +f 422/1092/123 415/887/123 418/889/123 +f 414/890/124 421/1095/124 420/891/124 +f 422/893/125 421/1096/125 414/894/125 +f 410/896/126 409/1097/126 420/897/126 +f 423/899/127 425/1098/127 416/900/127 +f 425/902/128 429/1099/128 417/903/128 +f 409/906/123 410/1100/123 432/1101/123 +f 432/1101/123 433/1102/123 409/906/123 +f 433/1102/123 437/907/123 409/906/123 +f 437/907/123 438/1103/123 414/905/123 +f 438/1103/123 413/1104/123 414/905/123 +f 429/908/129 430/924/129 418/909/129 +f 423/899/130 415/901/130 413/895/130 +f 415/901/130 422/893/130 413/895/130 +f 413/895/130 438/1105/130 436/911/130 +f 444/1106/130 448/1107/130 436/911/130 +f 448/1107/130 423/899/130 436/911/130 +f 433/912/124 434/1108/124 435/913/124 +f 432/915/126 431/1109/126 434/916/126 +f 437/918/125 435/1110/125 436/919/125 +f 431/1111/123 406/1112/123 405/1113/123 +f 406/1112/123 442/1114/123 405/1113/123 +f 434/922/123 431/1111/123 405/1113/123 +f 443/923/123 424/1115/123 444/1116/123 +f 434/922/123 405/1113/123 443/923/123 +f 444/1116/123 436/1117/123 443/923/123 +f 436/1117/123 435/921/123 443/923/123 +f 431/1118/131 432/1119/131 410/896/131 +f 410/896/131 419/898/131 418/909/131 +f 430/924/131 445/1120/131 431/1118/131 +f 445/1120/131 406/1121/131 431/1118/131 +f 431/1118/131 410/896/131 430/924/131 +f 444/925/124 424/1122/124 426/926/124 +f 447/928/131 426/1123/131 424/929/131 +f 405/931/124 446/1124/124 447/932/124 +f 405/934/130 442/1125/130 439/935/130 +f 406/937/124 445/1126/124 439/938/124 +f 427/940/128 462/1127/128 464/941/128 +f 449/943/123 450/951/123 456/944/123 +f 451/946/123 449/943/123 453/945/123 +f 463/948/124 461/1128/124 412/949/124 +f 450/951/123 455/966/123 454/952/123 +f 441/953/130 456/1129/130 454/954/130 +f 411/956/130 449/1130/130 451/957/130 +f 408/959/131 455/1131/131 450/960/131 +f 428/962/124 453/1132/124 456/963/124 +f 467/965/123 468/1133/123 454/952/123 +f 427/967/131 452/1134/131 453/968/131 +f 407/970/128 450/1135/128 449/971/128 +f 455/973/124 408/1136/124 465/974/124 +f 466/976/128 440/1137/128 454/977/128 +f 452/947/123 464/1138/123 463/979/123 +f 465/980/130 466/1139/130 468/981/130 +f 464/983/131 462/1140/131 461/984/131 +f 488/986/132 487/993/132 503/987/132 +f 493/989/133 509/995/133 511/990/133 +f 485/992/133 501/1039/133 503/987/133 +f 493/989/134 494/1050/134 510/994/134 +f 458/996/127 482/1141/127 481/997/127 +f 471/999/126 487/1142/126 488/1000/126 +f 479/1002/126 495/1143/126 496/1003/126 +f 472/1001/129 488/1000/129 486/1005/129 +f 480/1004/129 496/1003/129 494/1007/129 +f 457/998/125 481/997/125 483/1009/125 +f 474/1011/127 490/1144/127 489/1012/127 +f 473/1013/125 489/1012/125 491/1014/125 +f 459/1016/126 483/1145/126 484/1017/126 +f 475/1019/126 491/1146/126 492/1020/126 +f 460/1018/129 484/1017/129 482/1022/129 +f 476/1021/129 492/1020/129 490/1024/129 +f 470/1026/127 486/1147/127 485/1027/127 +f 478/1029/127 494/1148/127 493/1030/127 +f 469/1028/125 485/1027/125 487/1032/125 +f 477/1031/125 493/1030/125 495/1034/125 +f 499/1036/123 497/1048/123 498/1037/123 +f 504/988/123 503/987/123 501/1039/123 +f 507/1041/123 505/1052/123 506/1042/123 +f 512/1044/123 511/990/123 509/995/123 +f 495/991/132 511/990/132 512/1044/132 +f 488/986/135 504/988/135 502/1040/135 +f 482/1047/134 498/1037/134 497/1048/134 +f 496/1045/135 512/1044/135 510/994/135 +f 490/1051/134 506/1042/134 505/1052/134 +f 481/1049/133 497/1048/133 499/1036/133 +f 491/1055/133 489/1053/133 505/1052/133 +f 483/1054/132 499/1036/132 500/1038/132 +f 491/1055/132 507/1041/132 508/1043/132 +f 484/1056/135 500/1038/135 498/1037/135 +f 492/1057/135 508/1043/135 506/1042/135 +f 485/992/134 486/1046/134 502/1040/134 +f 543/1058/123 532/1071/123 523/1059/123 +f 522/1061/123 531/1083/123 540/1062/123 +f 526/1064/123 535/1075/123 544/1065/123 +f 538/1067/127 533/1080/127 536/1068/127 +f 530/1070/124 531/1083/124 532/1071/124 +f 530/1070/136 529/1072/136 518/1073/136 +f 535/1075/129 534/1079/129 541/1076/129 +f 532/1071/123 531/1083/123 522/1061/123 +f 517/1077/136 518/1073/136 529/1072/136 +f 534/1079/128 535/1075/128 536/1068/128 +f 534/1079/136 533/1080/136 514/1081/136 +f 531/1083/125 530/1070/125 537/1084/125 +f 536/1068/123 535/1075/123 526/1064/123 +f 513/1086/136 514/1081/136 533/1080/136 +f 538/1067/130 539/1069/130 540/1062/130 +f 538/1067/136 537/1084/136 520/1087/136 +f 539/1069/123 536/1068/123 527/1085/123 +f 540/1062/123 539/1069/123 528/1088/123 +f 534/1079/136 515/1082/136 516/1089/136 +f 542/1078/131 543/1058/131 544/1065/131 +f 542/1078/136 541/1076/136 516/1089/136 +f 542/1078/126 529/1072/126 532/1071/126 +f 544/1065/123 543/1058/123 524/1060/123 +f 530/1070/136 519/1074/136 520/1087/136 +o RivetCity +v -0.750000 1.000000 2.750000 +v -1.000000 1.000000 2.250000 +v 0.000000 1.000000 2.250000 +v -0.250000 1.000000 2.750000 +v -1.000000 1.375000 2.250000 +v -0.750000 1.375000 2.750000 +v -0.250000 1.375000 2.750000 +v 0.000000 1.375000 2.250000 +v 0.250000 1.500000 2.250000 +v 0.000000 1.500000 2.750000 +v 0.250000 1.375000 2.250000 +v 0.000000 1.375000 2.750000 +v -1.000000 1.500000 2.750000 +v -1.250000 1.500000 2.250000 +v -1.000000 1.375000 2.750000 +v -1.250000 1.375000 2.250000 +v 0.000000 1.500000 2.500000 +v -1.000000 1.500000 2.500000 +v -1.000000 1.625000 2.500000 +v 0.000000 1.625000 2.500000 +v -0.062500 1.625000 -0.375000 +v -0.062500 1.625000 0.375000 +v -0.437500 1.625000 -0.375000 +v -0.437500 1.625000 0.375000 +v -0.062500 1.875000 -0.375000 +v -0.062500 1.875000 0.375000 +v -0.437500 1.875000 -0.375000 +v -0.437500 1.875000 0.375000 +v -0.062500 2.062500 -0.312500 +v -0.062500 2.062500 0.312500 +v -0.437500 2.062500 -0.312500 +v -0.437500 2.062500 0.312500 +v -0.375000 2.062500 0.250000 +v -0.125000 2.062500 0.250000 +v -0.375000 2.062500 -0.125000 +v -0.125000 2.062500 -0.125000 +v -0.375000 2.375000 -0.125000 +v -0.375000 2.375000 0.250000 +v -0.125000 2.375000 0.250000 +v -0.125000 2.375000 -0.125000 +v 0.750000 1.125000 0.500000 +v 2.250000 1.125000 0.500000 +v 0.750000 1.125000 -1.000000 +v 2.250000 1.125000 -1.000000 +v 2.250000 1.000000 -1.000000 +v 0.750000 1.000000 -1.000000 +v 2.250000 1.000000 0.500000 +v 0.750000 1.000000 0.500000 +v -0.125000 2.062500 -0.187500 +v -0.125000 2.062500 -0.312500 +v 0.375000 2.187500 -0.187500 +v 0.375000 2.187500 -0.312500 +v -0.250000 2.187500 -0.187500 +v -0.250000 2.187500 -0.312500 +v -0.250000 2.061500 -0.187500 +v -0.250000 2.061500 -0.312500 +v 1.000000 1.125000 -0.062500 +v 1.375000 1.125000 -0.062500 +v 1.000000 1.125000 -0.437500 +v 1.375000 1.125000 -0.437500 +v 1.000000 1.625000 -0.437500 +v 1.000000 1.625000 -0.062500 +v 1.375000 1.625000 -0.062500 +v 1.375000 1.625000 -0.437500 +v 1.000000 1.562500 -0.312500 +v 1.000000 1.562500 -0.187500 +v -0.000000 1.562500 -0.312500 +v -0.000000 1.562500 -0.187500 +v -1.250000 1.375000 -1.000000 +v -1.250000 1.500000 -1.000000 +v 0.000000 1.000000 -1.000000 +v -1.000000 1.375000 -1.000000 +v -1.000000 1.000000 -1.000000 +v -1.000000 1.625000 -1.000000 +v -1.000000 1.500000 -1.000000 +v 0.000000 1.375000 -1.000000 +v 0.250000 1.500000 -1.000000 +v 0.250000 1.375000 -1.000000 +v 0.000000 1.625000 -1.000000 +v 0.000000 1.500000 -1.000000 +v -1.000000 0.676476 -2.707407 +v 0.000000 0.676476 -2.707407 +v -1.000000 1.038698 -2.804464 +v 0.000000 1.038698 -2.804464 +v 0.250000 1.159439 -2.836817 +v 0.250000 1.038698 -2.804464 +v -1.250000 1.038698 -2.804464 +v -1.250000 1.159439 -2.836817 +v 0.000000 1.224144 -2.595335 +v -1.000000 1.224144 -2.595335 +v -1.000000 1.344885 -2.627687 +v 0.000000 1.344885 -2.627687 +v -1.250000 1.362222 -1.597057 +v -1.250000 1.482963 -1.629410 +v 0.000000 1.000000 -1.500000 +v -1.000000 1.362222 -1.597057 +v -1.000000 1.000000 -1.500000 +v -1.000000 1.603703 -1.661762 +v -1.000000 1.482963 -1.629410 +v 0.000000 1.362222 -1.597057 +v 0.250000 1.482963 -1.629410 +v 0.250000 1.362222 -1.597057 +v 0.000000 1.603703 -1.661762 +v 0.000000 1.482963 -1.629410 +v -0.673266 1.795531 1.082261 +v -0.459279 1.670993 0.800614 +v -0.650436 1.750751 1.119408 +v -0.436449 1.626214 0.837760 +v -0.599211 1.761568 1.153543 +v -0.385224 1.637031 0.871897 +v -0.570817 1.817165 1.150534 +v -0.356830 1.692627 0.868886 +v -0.593647 1.861944 1.113387 +v -0.379660 1.737407 0.831740 +v -0.644872 1.851127 1.079251 +v -0.430885 1.726590 0.797604 +v -0.301061 1.619542 0.693927 +v -0.417142 1.849616 1.252941 +v -0.826940 1.763080 0.979854 +v -0.619259 1.856536 1.096319 +v -0.619259 1.856536 1.096319 +v -0.612835 1.972439 1.049951 +v -0.547930 1.815023 1.002437 +vt 0.083449 0.926311 +vt 0.012034 0.934551 +vt 0.012034 0.926311 +vt 0.034962 0.934551 +vt 0.029468 0.926311 +vt 0.034962 0.926311 +vt 0.051442 0.934551 +vt 0.045949 0.926311 +vt 0.051442 0.926311 +vt 0.051442 0.988258 +vt 0.051442 0.999245 +vt 0.045949 0.999245 +vt 0.029468 0.988258 +vt 0.029468 0.999245 +vt 0.023975 0.988258 +vt 0.056936 0.934551 +vt 0.051442 0.937298 +vt 0.051442 0.934551 +vt 0.083449 0.934551 +vt 0.012034 0.937298 +vt 0.012034 0.934551 +vt 0.051442 0.916843 +vt 0.056936 0.988258 +vt 0.029468 0.934551 +vt 0.023975 0.937298 +vt 0.023975 0.934551 +vt 0.045949 0.934551 +vt 0.029468 0.937298 +vt 0.041829 0.943776 +vt 0.050069 0.930043 +vt 0.050069 0.943776 +vt 0.051442 0.916843 +vt 0.029468 0.993752 +vt 0.051442 0.993752 +vt 0.051442 0.940045 +vt 0.029468 0.937298 +vt 0.051442 0.937298 +vt 0.118318 0.940045 +vt 0.041409 0.937298 +vt 0.118318 0.937298 +vt 0.071623 0.945538 +vt 0.056516 0.949658 +vt 0.055143 0.945538 +vt 0.083030 0.945538 +vt 0.074789 0.940045 +vt 0.083030 0.940045 +vt 0.055143 0.940045 +vt 0.071623 0.940045 +vt 0.050069 0.945538 +vt 0.041829 0.940045 +vt 0.050069 0.940045 +vt 0.069716 0.945538 +vt 0.053235 0.940045 +vt 0.069716 0.940045 +vt 0.041829 0.949658 +vt 0.041829 0.945538 +vt 0.054609 0.949658 +vt 0.053235 0.945538 +vt 0.074789 0.949658 +vt 0.074789 0.945538 +vt 0.048696 0.931416 +vt 0.043202 0.939656 +vt 0.043202 0.931416 +vt 0.081656 0.949658 +vt 0.076163 0.956525 +vt 0.076163 0.949658 +vt 0.048696 0.949658 +vt 0.043202 0.956525 +vt 0.043202 0.949658 +vt 0.064222 0.949658 +vt 0.055982 0.956525 +vt 0.055982 0.949658 +vt 0.068877 0.949658 +vt 0.060636 0.956525 +vt 0.060636 0.949658 +vt 0.056936 0.926311 +vt 0.023975 0.929058 +vt 0.023975 0.926311 +vt 0.100883 0.926311 +vt 0.067923 0.929058 +vt 0.067923 0.926311 +vt 0.083449 0.926311 +vt 0.050488 0.929058 +vt 0.050488 0.926311 +vt 0.074370 0.926311 +vt 0.041409 0.929058 +vt 0.041409 0.926311 +vt 0.100883 0.949804 +vt 0.067923 0.916843 +vt 0.067923 0.949804 +vt 0.068342 0.952405 +vt 0.065595 0.949658 +vt 0.068342 0.949658 +vt 0.045949 0.943776 +vt 0.059682 0.941030 +vt 0.059682 0.943776 +vt 0.056516 0.949636 +vt 0.059263 0.952405 +vt 0.056516 0.952405 +vt 0.048696 0.949658 +vt 0.045949 0.952405 +vt 0.045949 0.949636 +vt 0.076163 0.949658 +vt 0.078910 0.952405 +vt 0.065176 0.952405 +vt 0.081656 0.938283 +vt 0.073416 0.946523 +vt 0.073416 0.938283 +vt 0.071089 0.929058 +vt 0.062849 0.940045 +vt 0.062849 0.929058 +vt 0.062010 0.929058 +vt 0.053770 0.940045 +vt 0.053770 0.929058 +vt 0.051442 0.929058 +vt 0.043202 0.940045 +vt 0.043202 0.929058 +vt 0.081656 0.929058 +vt 0.073416 0.940045 +vt 0.073416 0.929058 +vt 0.051442 0.931950 +vt 0.073416 0.934697 +vt 0.073416 0.931950 +vt 0.056936 0.887468 +vt 0.051442 0.958883 +vt 0.051442 0.881975 +vt 0.051442 0.993752 +vt 0.029468 0.999245 +vt 0.051442 0.999245 +vt 0.029468 0.958883 +vt 0.023975 0.958883 +vt 0.023975 0.887468 +vt 0.041409 0.926311 +vt 0.112824 0.934551 +vt 0.041409 0.934551 +vt 0.029468 0.916843 +vt 0.023975 0.916843 +vt 0.073416 0.937298 +vt 0.073416 0.934551 +vt 0.095390 0.934551 +vt 0.083449 0.940045 +vt 0.006541 0.937298 +vt 0.083449 0.937298 +vt 0.041409 0.934551 +vt 0.112824 0.937298 +vt 0.041409 0.937298 +vt 0.051442 0.903724 +vt 0.051442 0.903013 +vt 0.029468 0.903013 +vt 0.023975 0.876482 +vt 0.051442 0.881788 +vt 0.056936 0.876482 +vt 0.029468 0.879325 +vt 0.051442 0.877192 +vt 0.051442 0.879325 +vt 0.095390 0.927161 +vt 0.100883 0.927161 +vt 0.100883 0.929814 +vt 0.003891 0.919202 +vt 0.028290 0.934270 +vt 0.001758 0.927161 +vt 0.029468 0.903724 +vt 0.023975 0.877192 +vt 0.029468 0.877192 +vt 0.001758 0.927161 +vt 0.027579 0.936923 +vt 0.001047 0.929814 +vt 0.119216 0.933889 +vt 0.097280 0.936923 +vt 0.118505 0.931236 +vt 0.095390 0.933889 +vt 0.073416 0.931236 +vt 0.095390 0.931236 +vt 0.051442 0.902302 +vt 0.029468 0.881077 +vt 0.029468 0.902302 +vt 0.056936 0.877192 +vt 0.056936 0.903724 +vt 0.100883 0.936923 +vt 0.067923 0.936923 +vt 0.073416 0.936923 +vt 0.097280 0.936923 +vt 0.123100 0.927161 +vt 0.123811 0.929814 +vt 0.096569 0.934270 +vt 0.120967 0.919202 +vt 0.123100 0.927161 +vt 0.026868 0.939577 +vt 0.006354 0.931236 +vt 0.027579 0.936923 +vt 0.083508 0.941055 +vt 0.087709 0.942808 +vt 0.088210 0.943792 +vt 0.037150 0.942808 +vt 0.042977 0.940309 +vt 0.038275 0.943045 +vt 0.038899 0.944267 +vt 0.043601 0.941531 +vt 0.038398 0.945251 +vt 0.041852 0.957226 +vt 0.044827 0.954065 +vt 0.042977 0.957976 +vt 0.082884 0.942277 +vt 0.087586 0.945013 +vt 0.087024 0.945132 +vt 0.037835 0.945132 +vt 0.042276 0.944980 +vt 0.043100 0.918633 +vt 0.044827 0.921661 +vt 0.041974 0.919383 +vt 0.044827 0.939925 +vt 0.080032 0.939925 +vt 0.083007 0.940071 +vt 0.043100 0.942515 +vt 0.036648 0.943792 +vt 0.041350 0.941055 +vt 0.033271 0.943079 +vt 0.037835 0.945132 +vt 0.037976 0.947679 +vt 0.039402 0.944220 +vt 0.083449 0.934551 +vt 0.029468 0.934551 +vt 0.034962 0.999245 +vt 0.056936 0.937298 +vt 0.083449 0.937298 +vt 0.056936 0.916843 +vt 0.041829 0.930043 +vt 0.029468 0.916843 +vt 0.029468 0.940045 +vt 0.041409 0.940045 +vt 0.070250 0.949658 +vt 0.050069 0.949658 +vt 0.068342 0.949658 +vt 0.083030 0.949658 +vt 0.048696 0.939656 +vt 0.081656 0.956525 +vt 0.048696 0.956525 +vt 0.064222 0.956525 +vt 0.068877 0.956525 +vt 0.056936 0.929058 +vt 0.100883 0.929058 +vt 0.083449 0.929058 +vt 0.074370 0.929058 +vt 0.100883 0.916843 +vt 0.065595 0.952405 +vt 0.045949 0.941030 +vt 0.059263 0.949636 +vt 0.059682 0.952405 +vt 0.078910 0.949636 +vt 0.081656 0.946523 +vt 0.071089 0.940045 +vt 0.062010 0.940045 +vt 0.051442 0.940045 +vt 0.081656 0.940045 +vt 0.051442 0.934697 +vt 0.051442 0.876482 +vt 0.056936 0.958883 +vt 0.029468 0.993752 +vt 0.029468 0.876482 +vt 0.029468 0.881975 +vt 0.112824 0.926311 +vt 0.100883 0.934551 +vt 0.100883 0.937298 +vt 0.095390 0.937298 +vt 0.095390 0.940045 +vt 0.073416 0.940045 +vt 0.067923 0.937298 +vt 0.067923 0.934551 +vt 0.073416 0.926311 +vt 0.095390 0.926311 +vt 0.006541 0.940045 +vt 0.112824 0.934551 +vt 0.023975 0.903013 +vt 0.023975 0.903724 +vt 0.029468 0.905856 +vt 0.051442 0.905856 +vt 0.056936 0.903013 +vt 0.029468 0.881788 +vt 0.067923 0.929814 +vt 0.073416 0.927161 +vt 0.067923 0.927161 +vt 0.030422 0.926311 +vt 0.028290 0.934270 +vt 0.097991 0.939577 +vt 0.073416 0.933889 +vt 0.051442 0.881077 +vt 0.095390 0.936923 +vt 0.096569 0.934270 +vt 0.094436 0.926311 +vt 0.005643 0.933889 +vt 0.041852 0.940071 +vt 0.086461 0.945251 +vt 0.081759 0.942515 +vt 0.037272 0.945013 +vn 1.0000 0.0000 0.0000 +vn -0.8944 0.0000 0.4472 +vn 0.8944 0.0000 0.4472 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.3162 0.9487 +vn 0.0000 0.3162 -0.9487 +vn 0.2425 -0.9701 0.0000 +vn 0.0000 0.2588 0.9659 +vn 0.0000 0.9659 -0.2588 +vn 0.0000 -0.2588 -0.9659 +vn 0.0000 -0.9659 0.2588 +vn -0.7355 -0.6135 -0.2875 +vn -0.0514 -0.9272 0.3709 +vn 0.6841 -0.3137 0.6585 +vn 0.7355 0.6135 0.2875 +vn 0.1089 -0.9830 0.1481 +vn 0.0514 0.9272 -0.3709 +vn -0.6841 0.3137 -0.6585 +vn -0.5706 0.3321 0.7511 +vn 0.2077 0.7987 -0.5647 +vn 0.8155 -0.3935 0.4243 +vn -0.4990 0.2093 -0.8409 +vn -0.5484 -0.6815 -0.4846 +vn 0.8649 0.4973 0.0679 +vn -0.8196 -0.1731 -0.5462 +vn 0.0514 0.9272 -0.3710 +s off +f 615/1149/137 552/1150/137 547/1151/137 +f 550/1152/138 546/1153/138 545/1154/138 +f 552/1155/139 548/1156/139 547/1157/139 +f 552/1158/140 556/1159/140 551/1160/140 +f 549/1161/140 559/1162/140 560/1163/140 +f 555/1164/139 554/1165/139 556/1166/139 +f 622/1167/137 553/1168/137 555/1169/137 +f 620/1170/140 555/1171/140 552/1158/140 +f 559/1172/138 558/1173/138 560/1174/138 +f 550/1152/141 548/1156/141 551/1175/141 +f 557/1176/141 550/1152/141 551/1175/141 +f 575/1177/142 574/1178/142 573/1179/142 +f 623/1180/142 563/1181/142 564/1182/142 +f 564/1183/141 562/1184/141 561/1185/141 +f 563/1186/143 619/1187/143 562/1188/143 +f 572/1189/143 575/1190/143 571/1191/143 +f 571/1192/144 565/1193/144 567/1194/144 +f 572/1189/143 567/1195/143 568/1196/143 +f 570/1197/141 568/1198/141 566/1199/141 +f 569/1200/137 566/1201/137 565/1202/137 +f 570/1197/145 576/1203/145 572/1204/145 +f 569/1200/137 574/1205/137 570/1206/137 +f 571/1192/146 573/1207/146 569/1208/146 +f 583/1209/142 581/1210/142 582/1211/142 +f 579/1212/144 584/1213/144 580/1214/144 +f 578/1215/141 582/1216/141 577/1217/141 +f 580/1218/137 583/1219/137 578/1220/137 +f 577/1221/143 581/1222/143 579/1223/143 +f 590/1224/144 588/1225/144 589/1226/144 +f 591/1227/141 585/1228/141 592/1229/141 +f 589/1230/137 586/1231/137 591/1232/137 +f 592/1233/143 587/1234/143 590/1235/143 +f 586/1236/142 587/1237/142 585/1238/142 +f 596/1239/147 593/1240/147 594/1241/147 +f 598/1242/142 595/1243/142 596/1244/142 +f 600/1245/143 597/1246/143 598/1247/143 +f 593/1248/141 597/1249/141 599/1250/141 +f 594/1251/144 598/1252/144 596/1253/144 +f 607/1254/142 605/1255/142 606/1256/142 +f 604/1257/137 607/1258/137 602/1259/137 +f 601/1260/143 605/1261/143 603/1262/143 +f 603/1263/144 608/1264/144 604/1265/144 +f 602/1266/141 606/1267/141 601/1268/141 +f 611/1269/142 610/1270/142 609/1271/142 +f 553/1272/142 624/1273/142 561/1274/142 +f 561/1275/142 557/1276/142 554/1277/142 +f 619/1278/142 614/1279/142 558/1280/142 +f 617/1281/143 549/1282/143 616/1283/143 +f 616/1284/140 560/1163/140 613/1285/140 +f 624/1286/144 620/1287/144 616/1288/144 +f 623/1289/137 561/1290/137 624/1291/137 +f 613/1292/143 558/1293/143 614/1294/143 +f 644/1295/148 648/1296/148 643/1297/148 +f 632/1298/149 633/1299/149 629/1300/149 +f 625/1301/150 628/1302/150 626/1303/150 +f 627/1304/150 631/1305/150 632/1306/150 +f 625/1307/143 640/1308/143 627/1309/143 +f 640/1310/151 631/1311/151 627/1312/151 +f 631/1313/143 638/1314/143 632/1315/143 +f 636/1316/137 648/1317/137 633/1318/137 +f 635/1319/150 633/1320/150 634/1321/150 +f 647/1322/149 635/1323/149 642/1324/149 +f 644/1295/151 630/1325/151 646/1326/151 +f 638/1327/149 634/1321/149 632/1306/149 +f 645/1328/149 633/1320/149 648/1329/149 +f 645/1330/137 630/1331/137 629/1332/137 +f 644/1333/137 626/1334/137 628/1335/137 +f 642/1336/143 634/1337/143 643/1338/143 +f 650/1339/152 651/1340/152 649/1341/152 +f 651/1342/153 654/1343/153 653/1344/153 +f 654/1343/154 655/1345/154 653/1344/154 +f 656/1346/155 657/1347/155 655/1345/155 +f 652/1348/156 661/1349/156 654/1350/156 +f 660/1351/157 659/1352/157 664/1353/157 +f 659/1352/158 650/1339/158 649/1341/158 +f 655/1345/159 657/1347/159 664/1354/159 +f 656/1346/157 655/1345/157 662/1355/157 +f 658/1356/160 661/1357/160 660/1358/160 +f 654/1343/161 661/1359/161 656/1346/161 +f 660/1351/162 661/1360/162 650/1339/162 +f 650/1339/163 661/1360/163 652/1361/163 +f 656/1346/164 661/1359/164 658/1362/164 +f 649/1363/157 650/1364/157 663/1365/157 +f 665/1366/165 666/1367/165 667/1368/165 +f 615/1149/137 620/1369/137 552/1150/137 +f 550/1152/138 549/1370/138 546/1153/138 +f 552/1155/139 551/1175/139 548/1156/139 +f 552/1158/140 555/1171/140 556/1159/140 +f 549/1161/140 550/1371/140 559/1162/140 +f 555/1164/139 553/1372/139 554/1165/139 +f 622/1167/137 621/1373/137 553/1168/137 +f 620/1170/140 622/1374/140 555/1171/140 +f 559/1172/138 557/1176/138 558/1173/138 +f 550/1152/141 545/1154/141 548/1156/141 +f 556/1166/141 554/1165/141 551/1175/141 +f 554/1165/141 557/1176/141 551/1175/141 +f 557/1176/141 559/1172/141 550/1152/141 +f 575/1177/142 576/1375/142 574/1178/142 +f 623/1180/142 618/1376/142 563/1181/142 +f 564/1183/141 563/1377/141 562/1184/141 +f 563/1186/143 618/1378/143 619/1187/143 +f 572/1189/143 576/1379/143 575/1190/143 +f 571/1192/144 569/1208/144 565/1193/144 +f 572/1189/143 571/1191/143 567/1195/143 +f 570/1197/141 572/1204/141 568/1198/141 +f 569/1200/137 570/1206/137 566/1201/137 +f 570/1197/145 574/1380/145 576/1203/145 +f 569/1200/137 573/1381/137 574/1205/137 +f 571/1192/146 575/1382/146 573/1207/146 +f 583/1209/142 584/1383/142 581/1210/142 +f 579/1212/144 581/1384/144 584/1213/144 +f 578/1215/141 583/1385/141 582/1216/141 +f 580/1218/137 584/1386/137 583/1219/137 +f 577/1221/143 582/1387/143 581/1222/143 +f 590/1224/144 587/1388/144 588/1225/144 +f 591/1227/141 586/1389/141 585/1228/141 +f 589/1230/137 588/1390/137 586/1231/137 +f 592/1233/143 585/1391/143 587/1234/143 +f 586/1236/142 588/1392/142 587/1237/142 +f 596/1239/147 595/1393/147 593/1240/147 +f 598/1242/142 597/1394/142 595/1243/142 +f 600/1245/143 599/1395/143 597/1246/143 +f 593/1248/141 595/1396/141 597/1249/141 +f 594/1251/144 600/1397/144 598/1252/144 +f 607/1254/142 608/1398/142 605/1255/142 +f 604/1257/137 608/1399/137 607/1258/137 +f 601/1260/143 606/1400/143 605/1261/143 +f 603/1263/144 605/1401/144 608/1264/144 +f 602/1266/141 607/1402/141 606/1267/141 +f 611/1269/142 612/1403/142 610/1270/142 +f 561/1274/142 554/1404/142 553/1272/142 +f 553/1272/142 621/1405/142 624/1273/142 +f 561/1275/142 562/1406/142 557/1276/142 +f 558/1280/142 557/1407/142 562/1408/142 +f 562/1408/142 619/1278/142 558/1280/142 +f 617/1281/143 546/1409/143 549/1282/143 +f 616/1284/140 549/1161/140 560/1163/140 +f 613/1410/144 614/1411/144 619/1412/144 +f 619/1412/144 618/1413/144 623/1414/144 +f 624/1286/144 621/1415/144 622/1416/144 +f 619/1412/144 623/1414/144 624/1286/144 +f 616/1288/144 613/1410/144 619/1412/144 +f 615/1417/144 617/1418/144 616/1288/144 +f 624/1286/144 622/1416/144 620/1287/144 +f 620/1287/144 615/1417/144 616/1288/144 +f 616/1288/144 619/1412/144 624/1286/144 +f 623/1289/137 564/1419/137 561/1290/137 +f 613/1292/143 560/1420/143 558/1293/143 +f 638/1421/148 637/1422/148 643/1297/148 +f 637/1422/148 640/1310/148 643/1297/148 +f 640/1310/148 641/1423/148 639/1424/148 +f 644/1295/148 646/1326/148 648/1296/148 +f 646/1326/148 645/1425/148 648/1296/148 +f 640/1310/148 639/1424/148 644/1295/148 +f 647/1322/148 642/1324/148 643/1297/148 +f 648/1296/148 647/1322/148 643/1297/148 +f 643/1297/148 640/1310/148 644/1295/148 +f 632/1298/149 634/1426/149 633/1299/149 +f 625/1301/150 627/1312/150 628/1302/150 +f 632/1306/150 629/1427/150 628/1428/150 +f 629/1427/150 630/1429/150 628/1428/150 +f 628/1428/150 627/1304/150 632/1306/150 +f 625/1307/143 641/1430/143 640/1308/143 +f 640/1310/151 637/1422/151 631/1311/151 +f 631/1313/143 637/1431/143 638/1314/143 +f 636/1316/137 647/1432/137 648/1317/137 +f 635/1319/150 636/1433/150 633/1320/150 +f 647/1322/149 636/1434/149 635/1323/149 +f 644/1295/151 628/1302/151 630/1325/151 +f 638/1327/149 643/1435/149 634/1321/149 +f 645/1328/149 629/1427/149 633/1320/149 +f 645/1330/137 646/1436/137 630/1331/137 +f 644/1333/137 639/1437/137 626/1334/137 +f 642/1336/143 635/1438/143 634/1337/143 +f 650/1339/152 652/1361/152 651/1340/152 +f 651/1342/153 652/1439/153 654/1343/153 +f 654/1343/154 656/1346/154 655/1345/154 +f 656/1346/155 658/1362/155 657/1347/155 +f 664/1353/166 657/1440/166 658/1441/166 +f 658/1441/157 660/1351/157 664/1353/157 +f 659/1352/158 660/1351/158 650/1339/158 +f 659/1442/159 649/1363/159 664/1354/159 +f 649/1363/159 651/1342/159 664/1354/159 +f 651/1342/159 653/1344/159 664/1354/159 +f 653/1344/159 655/1345/159 664/1354/159 +o Socket +v -4.000000 0.000000 4.000000 +v 4.000000 0.000000 4.000000 +v -4.000000 0.000000 -4.000000 +v 4.000000 0.000000 -4.000000 +v -4.000000 1.000000 -4.000000 +v -4.000000 1.000000 4.000000 +v 4.000000 1.000000 4.000000 +v 4.000000 1.000000 -4.000000 +vt 1.000000 0.111111 +vt -0.000000 1.000000 +vt -0.000000 0.111111 +vt 0.000100 0.111189 +vt 0.999900 0.999900 +vt 0.000100 0.999900 +vt 0.999900 0.000100 +vt 0.000100 0.000100 +vt 1.000000 -0.000000 +vt -0.000000 0.111111 +vt -0.000000 -0.000000 +vt 1.000000 -0.000000 +vt -0.000000 0.111111 +vt -0.000000 -0.000000 +vt 1.000000 -0.000000 +vt -0.000000 0.111111 +vt -0.000000 -0.000000 +vt 1.000000 1.000000 +vt 0.999900 0.111189 +vt 1.000000 0.111111 +vt 1.000000 0.111111 +vt 1.000000 0.111111 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +s off +f 670/1443/167 669/1444/167 668/1445/167 +f 674/1446/168 672/1447/168 673/1448/168 +f 671/1449/169 674/1446/169 669/1450/169 +f 668/1451/170 672/1452/170 670/1453/170 +f 670/1454/171 675/1455/171 671/1456/171 +f 669/1457/172 673/1458/172 668/1459/172 +f 670/1443/167 671/1460/167 669/1444/167 +f 674/1446/168 675/1461/168 672/1447/168 +f 671/1449/169 675/1461/169 674/1446/169 +f 668/1451/170 673/1462/170 672/1452/170 +f 670/1454/171 672/1463/171 675/1455/171 +f 669/1457/172 674/1464/172 673/1458/172 diff --git a/src/main/resources/assets/hbm/models/untitled.obj b/src/main/resources/assets/hbm/models/untitled.obj deleted file mode 100644 index d3483b770..000000000 --- a/src/main/resources/assets/hbm/models/untitled.obj +++ /dev/null @@ -1,887 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: '' -# www.blender.org -o Cube.001 -v 0.250000 0.250000 0.375000 -v 0.250000 0.250000 0.500000 -v 0.250000 0.750000 0.500000 -v 0.250000 0.750000 0.375000 -v -0.312500 0.062500 0.437500 -v -0.312500 0.875000 0.437500 -v -0.312500 0.875000 0.375000 -v -0.312500 0.062500 0.375000 -v -0.250000 0.750000 0.500000 -v -0.250000 0.250000 0.500000 -v -0.250000 0.250000 0.375000 -v -0.250000 0.750000 0.375000 -v 0.312500 0.062500 0.375000 -v 0.312500 0.875000 0.375000 -v 0.312500 0.875000 0.437500 -v 0.312500 0.062500 0.437500 -v 0.500000 0.250000 0.250000 -v 0.375000 0.250000 0.250000 -v 0.375000 0.750000 0.250000 -v 0.500000 0.750000 0.250000 -v 0.375000 0.750000 -0.250000 -v 0.375000 0.250000 -0.250000 -v 0.500000 0.250000 -0.250000 -v 0.500000 0.750000 -0.250000 -v 0.437500 0.875000 0.312500 -v 0.437500 0.875000 -0.312500 -v 0.375000 0.875000 -0.312500 -v 0.375000 0.875000 0.312500 -v 0.437500 0.062500 -0.312500 -v 0.375000 0.062500 -0.312500 -v 0.375000 0.062500 0.312500 -v 0.437500 0.062500 0.312500 -v -0.375000 0.250000 -0.250000 -v -0.375000 0.750000 -0.250000 -v -0.500000 0.750000 -0.250000 -v -0.500000 0.250000 -0.250000 -v -0.437500 0.875000 -0.312500 -v -0.437500 0.875000 0.312500 -v -0.375000 0.875000 0.312500 -v -0.375000 0.875000 -0.312500 -v -0.437500 0.062500 -0.312500 -v -0.375000 0.062500 -0.312500 -v -0.500000 0.250000 0.250000 -v -0.500000 0.750000 0.250000 -v -0.375000 0.750000 0.250000 -v -0.375000 0.250000 0.250000 -v -0.375000 0.062500 0.312500 -v -0.437500 0.062500 0.312500 -v 0.312500 0.062500 -0.437500 -v 0.312500 0.875000 -0.437500 -v 0.312500 0.875000 -0.375000 -v 0.312500 0.062500 -0.375000 -v -0.250000 0.250000 -0.500000 -v 0.250000 0.250000 -0.500000 -v 0.250000 0.750000 -0.500000 -v -0.250000 0.750000 -0.500000 -v 0.250000 0.750000 -0.375000 -v -0.250000 0.750000 -0.375000 -v 0.250000 0.250000 -0.375000 -v -0.250000 0.250000 -0.375000 -v -0.312500 0.062500 -0.375000 -v -0.312500 0.875000 -0.375000 -v -0.312500 0.875000 -0.437500 -v -0.312500 0.062500 -0.437500 -v 0.437500 0.937500 0.437500 -v -0.437500 0.937500 0.437500 -v 0.437500 0.937500 -0.437500 -v -0.437500 0.937500 -0.437500 -v 0.437500 0.062500 -0.437500 -v 0.437500 0.062500 0.437500 -v -0.437500 0.062500 0.437500 -v -0.437500 0.062500 -0.437500 -v -0.375000 0.937500 -0.375000 -v -0.375000 0.937500 0.375000 -v 0.375000 0.937500 -0.375000 -v 0.375000 0.937500 0.375000 -v 0.187500 0.937500 0.187500 -v -0.187500 0.937500 0.187500 -v -0.187500 1.000000 0.187500 -v 0.187500 1.000000 0.187500 -v -0.250000 0.937500 -0.250000 -v -0.250000 0.937500 0.250000 -v -0.375000 0.937500 0.250000 -v -0.375000 0.937500 -0.250000 -v -0.375000 1.000000 -0.375000 -v -0.375000 1.000000 -0.250000 -v -0.250000 0.937500 0.375000 -v -0.375000 1.000000 0.375000 -v -0.250000 1.000000 0.375000 -v 0.250000 0.937500 -0.250000 -v -0.250000 0.937500 -0.375000 -v 0.250000 0.937500 -0.375000 -v 0.375000 0.937500 0.250000 -v 0.375000 1.000000 0.375000 -v 0.375000 1.000000 0.250000 -v 0.250000 0.937500 0.250000 -v 0.250000 0.937500 0.375000 -v 0.375000 1.000000 -0.375000 -v 0.250000 1.000000 -0.375000 -v 0.375000 0.937500 -0.250000 -v 0.250000 1.000000 -0.250000 -v 0.375000 1.000000 -0.250000 -v -0.375000 1.000000 0.250000 -v -0.250000 1.000000 0.250000 -v -0.250000 1.000000 -0.375000 -v -0.250000 1.000000 -0.250000 -v 0.250000 1.000000 0.375000 -v 0.250000 1.000000 0.250000 -v -0.187500 0.937500 -0.187500 -v 0.187500 0.937500 -0.187500 -v -0.187500 1.000000 -0.187500 -v 0.187500 1.000000 -0.187500 -v -0.125000 1.000000 -0.125000 -v -0.125000 1.000000 0.125000 -v 0.125000 1.000000 -0.125000 -v 0.125000 1.000000 0.125000 -v -0.125000 1.937500 -0.125000 -v -0.125000 1.937500 0.125000 -v 0.125000 1.937500 0.125000 -v 0.125000 1.937500 -0.125000 -v -0.437500 1.875000 0.437500 -v 0.437500 1.875000 0.437500 -v 0.437500 1.687500 0.437500 -v -0.437500 1.687500 0.437500 -v -0.187500 1.875000 -0.187500 -v 0.187500 1.875000 -0.187500 -v 0.187500 1.937500 -0.187500 -v -0.187500 1.937500 -0.187500 -v 0.187500 1.875000 0.187500 -v 0.187500 1.937500 0.187500 -v -0.187500 1.875000 0.187500 -v -0.187500 1.937500 0.187500 -v 0.250000 1.625000 -0.250000 -v 0.250000 1.625000 0.250000 -v 0.375000 1.625000 0.375000 -v 0.375000 1.625000 -0.375000 -v 0.437500 1.875000 -0.437500 -v 0.437500 1.687500 -0.437500 -v -0.187500 1.687500 0.187500 -v 0.187500 1.687500 0.187500 -v 0.187500 1.750000 0.187500 -v -0.187500 1.750000 0.187500 -v -0.437500 1.687500 -0.437500 -v -0.437500 1.875000 -0.437500 -v -0.250000 1.625000 -0.250000 -v -0.375000 1.625000 -0.375000 -v -0.250000 1.625000 0.250000 -v -0.375000 1.625000 0.375000 -v -0.125000 1.687500 0.125000 -v 0.125000 1.687500 0.125000 -v -0.250000 1.937500 -0.250000 -v -0.250000 1.937500 0.250000 -v -0.375000 1.937500 0.375000 -v -0.375000 1.937500 -0.375000 -v 0.187500 1.687500 -0.187500 -v 0.187500 1.750000 -0.187500 -v 0.250000 1.937500 0.250000 -v 0.250000 1.937500 -0.250000 -v 0.375000 1.937500 -0.375000 -v 0.375000 1.937500 0.375000 -v -0.187500 1.687500 -0.187500 -v -0.187500 1.750000 -0.187500 -v 0.500000 0.062500 -0.500000 -v 0.500000 0.062500 0.500000 -v 0.500000 0.000000 0.500000 -v 0.500000 0.000000 -0.500000 -v -0.500000 0.062500 -0.500000 -v -0.500000 0.000000 -0.500000 -v -0.500000 0.062500 0.500000 -v -0.500000 0.000000 0.500000 -v -0.125000 1.875000 -0.125000 -v 0.125000 1.875000 -0.125000 -v 0.125000 1.875000 0.125000 -v -0.125000 1.875000 0.125000 -v -0.125000 1.687500 -0.125000 -v 0.125000 1.687500 -0.125000 -v 0.125000 0.250000 0.437500 -v 0.125000 0.250000 0.375000 -v 0.125000 0.062500 0.375000 -v 0.125000 0.062500 0.437500 -v 0.125000 0.250000 -0.375000 -v 0.125000 0.250000 -0.437500 -v 0.125000 0.062500 -0.437500 -v 0.125000 0.062500 -0.375000 -v -0.125000 0.250000 0.375000 -v -0.125000 0.250000 0.437500 -v -0.125000 0.062500 0.437500 -v -0.125000 0.062500 0.375000 -v -0.125000 0.250000 -0.437500 -v -0.125000 0.250000 -0.375000 -v -0.125000 0.062500 -0.375000 -v -0.125000 0.062500 -0.437500 -v -0.437500 0.250000 0.125000 -v -0.375000 0.250000 0.125000 -v -0.375000 0.062500 0.125000 -v -0.437500 0.062500 0.125000 -v 0.375000 0.250000 0.125000 -v 0.437500 0.250000 0.125000 -v 0.437500 0.062500 0.125000 -v 0.375000 0.062500 0.125000 -v -0.375000 0.250000 -0.125000 -v -0.437500 0.250000 -0.125000 -v -0.437500 0.062500 -0.125000 -v -0.375000 0.062500 -0.125000 -v 0.437500 0.250000 -0.125000 -v 0.375000 0.250000 -0.125000 -v 0.375000 0.062500 -0.125000 -v 0.437500 0.062500 -0.125000 -v -0.500000 0.062500 0.500000 -v 0.500000 0.062500 0.500000 -vt 0.375000 0.359375 -vt 0.375000 0.390625 -vt 0.250000 0.390625 -vt 0.250000 0.984375 -vt 0.250000 0.781250 -vt 0.234375 0.781250 -vt 0.500000 0.359375 -vt 0.125000 0.515625 -vt -0.000000 0.515625 -vt -0.000000 0.390625 -vt 0.406250 0.781250 -vt 0.390625 0.828125 -vt 0.406250 0.984375 -vt 0.265625 0.953125 -vt 0.265625 0.828125 -vt -0.000000 0.359375 -vt 0.125000 0.359375 -vt 0.125000 0.390625 -vt 0.421875 0.984375 -vt 0.421875 0.781250 -vt 0.250000 1.000000 -vt 0.500000 0.390625 -vt 0.625000 0.984375 -vt 0.468750 0.984375 -vt 0.468750 1.000000 -vt 0.625000 0.781250 -vt 0.640625 0.984375 -vt 0.484375 0.828125 -vt 0.468750 0.781250 -vt 0.484375 0.953125 -vt 0.609375 0.828125 -vt 0.453125 0.781250 -vt 0.031250 1.000000 -vt 0.187500 1.000000 -vt 0.187500 0.984375 -vt 0.015625 0.781250 -vt 0.015625 0.984375 -vt 0.031250 0.984375 -vt 0.031250 0.781250 -vt 0.187500 0.781250 -vt 0.171875 0.828125 -vt 0.046875 0.953125 -vt 0.046875 0.828125 -vt 0.203125 0.984375 -vt 0.250000 0.359375 -vt 0.671875 0.781250 -vt 0.671875 0.984375 -vt 0.687500 0.984375 -vt 0.687500 0.781250 -vt 0.843750 0.781250 -vt 0.828125 0.828125 -vt 0.843750 0.984375 -vt 0.703125 0.953125 -vt 0.703125 0.828125 -vt 0.687500 1.000000 -vt 0.843750 1.000000 -vt 0.859375 0.984375 -vt 0.218750 1.000000 -vt 0.437500 1.000000 -vt 0.656250 1.000000 -vt 0.000000 1.000000 -vt 0.656250 0.781250 -vt 0.437500 0.781250 -vt 0.218750 0.781250 -vt 0.875000 0.781250 -vt 0.000000 0.781250 -vt 0.468750 0.359375 -vt 0.453125 0.343750 -vt 0.250000 0.140625 -vt 0.265625 0.343750 -vt 0.468750 0.140625 -vt 0.453125 0.156250 -vt 0.265625 0.156250 -vt 0.781250 0.687500 -vt 0.875000 0.687500 -vt 0.875000 0.671875 -vt 0.296875 0.343750 -vt 0.421875 0.343750 -vt 0.421875 0.312500 -vt 0.781250 0.734375 -vt 0.750000 0.734375 -vt 0.750000 0.750000 -vt 0.781250 0.750000 -vt 0.812500 0.750000 -vt 0.812500 0.734375 -vt 0.265625 0.187500 -vt 0.265625 0.312500 -vt 0.296875 0.312500 -vt 0.718750 0.734375 -vt 0.718750 0.750000 -vt 0.453125 0.312500 -vt 0.453125 0.187500 -vt 0.421875 0.187500 -vt 0.687500 0.750000 -vt 0.421875 0.156250 -vt 0.296875 0.156250 -vt 0.296875 0.187500 -vt 0.718750 0.781250 -vt 0.750000 0.781250 -vt 0.796875 0.734375 -vt 0.765625 0.734375 -vt 0.765625 0.750000 -vt 0.406250 0.296875 -vt 0.312500 0.296875 -vt 0.406250 0.203125 -vt 0.312500 0.203125 -vt 0.781250 0.671875 -vt 0.687500 0.671875 -vt 0.687500 0.687500 -vt 0.593750 0.671875 -vt 0.500000 0.671875 -vt 0.500000 0.687500 -vt 0.593750 0.687500 -vt 0.593750 0.781250 -vt 0.671875 0.765625 -vt 0.609375 0.765625 -vt 0.671875 0.703125 -vt 0.609375 0.703125 -vt 0.062500 0.359375 -vt 0.125000 0.296875 -vt 0.359375 0.421875 -vt 0.140625 0.421875 -vt 0.140625 0.468750 -vt 0.000000 0.000000 -vt 0.984375 0.203125 -vt 0.796875 0.203125 -vt 0.828125 0.234375 -vt 0.125000 0.421875 -vt 0.125000 0.468750 -vt 0.343750 0.468750 -vt 0.359375 0.468750 -vt 0.984375 0.390625 -vt 0.953125 0.234375 -vt 0.796875 0.390625 -vt 0.828125 0.359375 -vt 0.187500 0.046875 -vt 0.187500 0.218750 -vt 0.125000 0.218750 -vt 0.578125 0.390625 -vt 0.765625 0.390625 -vt 0.734375 0.359375 -vt 0.953125 0.359375 -vt 0.765625 0.203125 -vt 0.578125 0.203125 -vt 0.609375 0.234375 -vt 0.734375 0.234375 -vt 0.609375 0.359375 -vt 0.562500 0.406250 -vt 0.562500 0.187500 -vt 0.781250 0.406250 -vt 0.781250 0.187500 -vt 0.796875 0.375000 -vt 0.984375 0.375000 -vt 1.000000 0.390625 -vt 1.000000 0.187500 -vt 0.625000 0.343750 -vt 0.718750 0.343750 -vt 0.625000 0.250000 -vt 0.984127 0.190476 -vt 0.984127 0.317460 -vt 1.000000 0.301587 -vt 0.843750 0.250000 -vt 0.843750 0.343750 -vt 0.937500 0.343750 -vt 0.937500 0.250000 -vt 0.500000 0.515625 -vt 0.500000 0.531250 -vt 0.750000 0.531250 -vt 0.750000 0.515625 -vt 1.000000 0.515625 -vt 0.250000 0.531250 -vt 0.000000 0.531250 -vt 0.250000 0.515625 -vt 0.125000 0.281250 -vt 0.062500 0.296875 -vt 0.187500 0.296875 -vt 0.062500 0.281250 -vt -0.000000 0.281250 -vt 0.250000 0.296875 -vt 0.250000 0.281250 -vt 0.187500 0.281250 -vt 0.250000 0.218750 -vt 0.062500 0.046875 -vt 0.062500 0.218750 -vt -0.000000 0.218750 -vt 0.125000 0.046875 -vt 0.250000 0.484375 -vt 0.265625 0.484375 -vt 0.265625 0.437500 -vt 0.203125 0.437500 -vt 0.203125 0.484375 -vt 0.218750 0.484375 -vt 0.171875 0.484375 -vt 0.187500 0.484375 -vt 0.187500 0.437500 -vt 0.140625 0.437500 -vt 0.125000 0.437500 -vt 0.125000 0.484375 -vt 0.234375 0.484375 -vt 0.234375 0.437500 -vt 0.171875 0.468750 -vt 0.187500 0.468750 -vt 0.187500 0.421875 -vt 0.140625 0.484375 -vt 0.156250 0.484375 -vt 0.156250 0.437500 -vt 0.171875 0.437500 -vt 0.093750 0.359375 -vt 0.093750 0.375000 -vt 0.031250 0.375000 -vt 0.296875 0.546875 -vt 0.343750 0.546875 -vt 0.343750 0.562500 -vt 0.406250 0.546875 -vt 0.406250 0.562500 -vt 0.453125 0.562500 -vt 0.265625 0.546875 -vt 0.265625 0.765625 -vt 0.296875 0.765625 -vt 0.343750 0.765625 -vt 0.343750 0.750000 -vt 0.406250 0.750000 -vt 0.406250 0.765625 -vt 0.453125 0.765625 -vt 0.265625 0.625000 -vt 0.281250 0.625000 -vt 0.281250 0.578125 -vt 0.265625 0.734375 -vt 0.265625 0.687500 -vt 0.281250 0.687500 -vt 0.468750 0.687500 -vt 0.484375 0.687500 -vt 0.484375 0.734375 -vt 0.484375 0.578125 -vt 0.484375 0.625000 -vt 0.468750 0.625000 -vt 0.484375 0.546875 -vt 0.500000 0.781250 -vt 0.484375 0.765625 -vt 0.234375 0.984375 -vt 0.390625 0.953125 -vt 0.406250 1.000000 -vt 0.625000 1.000000 -vt 0.640625 0.781250 -vt 0.609375 0.953125 -vt 0.453125 0.984375 -vt 0.171875 0.953125 -vt 0.203125 0.781250 -vt 0.828125 0.953125 -vt 0.859375 0.781250 -vt 0.875000 1.000000 -vt 0.687500 0.734375 -vt 0.796875 0.750000 -vt 0.343750 0.421875 -vt 0.781250 0.390625 -vt 1.000000 0.406250 -vt 0.718750 0.250000 -vt 1.000000 0.206349 -vt 1.000000 0.531250 -vt 0.000000 0.296875 -vt 0.250000 0.046875 -vt -0.000000 0.046875 -vt 0.250000 0.437500 -vt 0.218750 0.437500 -vt 0.171875 0.421875 -vt 0.031250 0.359375 -vt 0.296875 0.562500 -vt 0.453125 0.546875 -vt 0.296875 0.750000 -vt 0.453125 0.750000 -vt 0.265625 0.578125 -vt 0.281250 0.734375 -vt 0.468750 0.734375 -vt 0.468750 0.578125 -vn 1.000000 0.000000 0.000000 -vn -1.000000 0.000000 0.000000 -vn 0.000000 -0.000000 1.000000 -vn 0.000000 1.000000 0.000000 -vn 0.000000 -1.000000 0.000000 -vn 0.000000 0.000000 -1.000000 -vn 0.000000 0.707100 -0.707100 -vn 0.707100 0.707100 0.000000 -vn -0.707100 0.707100 0.000000 -vn 0.000000 0.707100 0.707100 -vn 0.000000 -0.707100 -0.707100 -vn 0.707100 -0.707100 0.000000 -vn -0.707100 -0.707100 0.000000 -vn 0.000000 -0.707100 0.707100 -s 1 -f 4/1/1 3/2/1 2/3/1 -f 8/4/1 7/5/1 6/6/1 -f 12/7/2 11/1/2 10/2/2 -f 3/8/3 9/9/3 10/10/3 -f 8/5/3 13/11/3 1/12/3 -f 14/13/3 7/4/3 12/14/3 -f 7/4/3 8/5/3 11/15/3 -f 1/12/3 13/11/3 14/13/3 -f 4/16/4 12/17/4 9/18/4 -f 14/19/2 13/20/2 16/11/2 -f 7/13/5 14/4/5 15/21/5 -f 20/22/3 19/7/3 18/1/3 -f 24/3/6 23/18/6 22/17/6 -f 28/23/5 27/24/5 26/25/5 -f 27/26/3 30/23/3 29/27/3 -f 24/8/1 20/9/1 17/10/1 -f 19/16/4 20/10/4 24/18/4 -f 18/28/1 31/29/1 30/26/1 -f 27/23/1 28/24/1 19/30/1 -f 28/24/1 31/29/1 18/28/1 -f 22/31/1 30/26/1 27/23/1 -f 31/24/6 28/29/6 25/32/6 -f 36/10/6 35/18/6 34/17/6 -f 40/33/5 39/34/5 38/35/5 -f 42/36/3 40/37/3 37/38/3 -f 44/8/2 35/9/2 36/10/2 -f 45/1/4 34/7/4 35/22/4 -f 42/39/2 47/40/2 46/41/2 -f 39/35/2 40/38/2 34/42/2 -f 46/41/2 47/40/2 39/35/2 -f 40/38/2 42/39/2 33/43/2 -f 39/40/6 47/35/6 48/44/6 -f 43/18/3 46/17/3 45/45/3 -f 52/46/2 51/47/2 50/48/2 -f 56/8/6 55/9/6 54/10/6 -f 58/1/4 57/45/4 55/3/4 -f 55/22/1 57/7/1 59/1/1 -f 52/49/6 61/50/6 60/51/6 -f 62/52/6 51/48/6 57/53/6 -f 60/51/6 61/50/6 62/52/6 -f 51/48/6 52/49/6 59/54/6 -f 51/55/5 62/56/5 63/52/5 -f 53/2/2 60/1/2 58/7/2 -f 62/50/1 61/52/1 64/57/1 -f 66/58/3 6/4/3 15/13/3 -f 65/59/1 25/24/1 26/23/1 -f 67/60/6 50/48/6 63/52/6 -f 68/61/2 37/38/2 38/35/2 -f 50/48/6 67/60/6 69/62/6 -f 26/23/1 29/26/1 69/62/1 -f 15/13/3 16/11/3 70/63/3 -f 25/24/1 65/59/1 70/63/1 -f 38/35/2 48/40/2 71/64/2 -f 6/4/3 66/58/3 71/64/3 -f 63/52/6 64/50/6 72/65/6 -f 37/38/2 68/61/2 72/66/2 -f 68/45/4 66/67/4 74/68/4 -f 67/69/4 68/45/4 73/70/4 -f 66/67/4 65/71/4 76/72/4 -f 65/71/4 67/69/4 75/73/4 -f 80/74/3 79/75/3 78/76/3 -f 84/77/4 83/78/4 82/79/4 -f 86/80/2 85/81/2 73/82/2 -f 89/83/3 88/84/3 74/85/3 -f 92/86/4 91/87/4 81/88/4 -f 95/81/1 94/89/1 76/90/1 -f 87/91/4 97/92/4 96/93/4 -f 99/94/6 98/90/6 75/89/6 -f 93/95/4 100/96/4 90/97/4 -f 102/82/4 98/90/4 99/98/4 -f 98/81/1 102/89/1 100/90/1 -f 102/83/3 101/84/3 90/85/3 -f 101/80/2 99/81/2 92/82/2 -f 89/82/4 104/90/4 103/98/4 -f 88/80/2 103/81/2 83/82/2 -f 103/94/6 104/90/6 82/89/6 -f 104/81/1 89/89/1 87/90/1 -f 86/99/4 106/82/4 105/90/4 -f 105/81/1 106/89/1 81/90/1 -f 85/94/6 105/90/6 91/89/6 -f 106/83/3 86/84/3 84/85/3 -f 95/90/4 108/98/4 107/99/4 -f 107/80/2 108/81/2 96/82/2 -f 108/94/6 95/90/6 93/89/6 -f 94/100/3 107/101/3 97/102/3 -f 81/88/4 82/79/4 78/103/4 -f 90/97/4 81/88/4 109/104/4 -f 82/79/4 96/93/4 77/105/4 -f 96/93/4 90/97/4 110/106/4 -f 79/107/2 111/108/2 109/109/2 -f 112/110/1 80/111/1 77/112/1 -f 111/113/6 112/109/6 110/108/6 -f 111/114/4 79/49/4 114/115/4 -f 112/113/4 111/114/4 113/116/4 -f 79/49/4 80/109/4 116/117/4 -f 80/109/4 112/113/4 115/118/4 -f 118/119/4 119/17/4 120/120/4 -f 124/121/3 123/122/3 122/123/3 -f 128/124/6 127/124/6 126/124/6 -f 127/124/1 130/124/1 129/124/1 -f 130/124/3 132/124/3 131/124/3 -f 136/125/5 135/126/5 134/127/5 -f 122/128/1 123/129/1 138/130/1 -f 142/124/6 141/124/6 140/124/6 -f 144/131/2 143/121/2 124/122/2 -f 146/132/5 136/125/5 133/133/5 -f 135/126/5 148/134/5 147/135/5 -f 116/136/3 150/137/3 149/138/3 -f 154/139/4 153/140/4 152/141/4 -f 141/124/2 156/124/2 155/124/2 -f 148/134/5 146/132/5 145/142/5 -f 160/143/4 159/144/4 158/145/4 -f 153/140/4 160/143/4 157/146/4 -f 159/144/4 154/139/4 151/147/4 -f 137/148/7 144/149/7 154/144/7 -f 122/150/8 137/148/8 159/139/8 -f 144/149/9 121/151/9 153/143/9 -f 121/150/10 122/151/10 160/143/10 -f 156/124/3 162/124/3 161/124/3 -f 136/134/11 146/126/11 143/151/11 -f 135/152/12 136/153/12 138/154/12 -f 146/125/13 148/126/13 124/151/13 -f 148/132/14 135/125/14 123/155/14 -f 138/123/6 143/131/6 144/121/6 -f 158/145/10 151/147/10 125/156/10 -f 157/147/9 158/141/9 126/157/9 -f 151/146/8 152/145/8 131/158/8 -f 152/159/7 157/160/7 129/161/7 -f 132/124/2 128/124/2 125/124/2 -f 155/162/14 161/163/14 145/135/14 -f 140/164/13 155/163/13 133/135/13 -f 161/162/12 139/165/12 147/133/12 -f 139/165/11 140/164/11 134/142/11 -f 162/124/1 142/124/1 139/124/1 -f 164/166/1 165/167/1 166/168/1 -f 163/168/6 166/169/6 168/170/6 -f 169/166/3 170/167/3 165/171/3 -f 167/172/2 168/9/2 170/173/2 -f 165/172/5 170/66/5 168/5/5 -f 174/115/4 173/117/4 172/118/4 -f 120/174/6 172/120/6 171/175/6 -f 118/174/3 174/120/3 173/176/3 -f 117/175/2 171/177/2 174/178/2 -f 119/179/1 173/180/1 172/181/1 -f 173/117/4 174/115/4 131/49/4 -f 126/113/4 172/118/4 173/117/4 -f 125/114/4 171/116/4 172/118/4 -f 125/114/4 131/49/4 174/115/4 -f 161/49/5 155/109/5 176/117/5 -f 155/109/5 140/113/5 150/118/5 -f 139/114/5 161/49/5 175/115/5 -f 140/113/5 139/114/5 149/116/5 -f 115/136/1 176/137/1 150/182/1 -f 113/183/6 175/184/6 176/185/6 -f 114/186/2 149/138/2 175/184/2 -f 180/187/1 179/188/1 178/189/1 -f 181/190/1 184/191/1 183/192/1 -f 188/193/2 187/194/2 186/195/2 -f 192/196/2 191/197/2 190/198/2 -f 196/192/3 195/199/3 194/200/3 -f 200/201/3 199/202/3 198/203/3 -f 204/204/6 203/205/6 202/206/6 -f 208/187/6 207/188/6 206/189/6 -f 208/200/1 205/199/1 198/193/1 -f 183/204/6 192/191/6 189/190/6 -f 193/200/2 202/207/2 203/193/2 -f 186/207/3 187/193/3 180/199/3 -f 18/17/5 197/208/5 198/209/5 -f 22/16/5 23/10/5 205/210/5 -f 17/18/5 198/209/5 205/210/5 -f 59/17/5 181/208/5 182/209/5 -f 60/16/5 53/10/5 189/210/5 -f 54/18/5 182/209/5 189/210/5 -f 33/17/5 201/208/5 202/209/5 -f 46/16/5 43/10/5 193/210/5 -f 11/17/5 185/208/5 186/209/5 -f 1/16/5 2/10/5 177/210/5 -f 186/209/5 177/210/5 2/10/5 -f 202/209/5 193/210/5 43/10/5 -f 5/211/4 187/212/4 188/213/4 -f 179/214/4 180/215/4 16/216/4 -f 164/171/4 70/217/4 71/218/4 -f 41/219/4 203/220/4 204/221/4 -f 195/222/4 196/223/4 48/224/4 -f 191/225/4 192/226/4 64/227/4 -f 49/228/4 183/229/4 184/230/4 -f 207/231/4 208/232/4 29/233/4 -f 32/234/4 199/235/4 200/236/4 -f 163/167/4 69/237/4 70/217/4 -f 167/238/4 72/239/4 69/237/4 -f 169/5/4 71/218/4 72/239/4 -f 1/45/1 4/1/1 2/3/1 -f 5/240/1 8/4/1 6/6/1 -f 9/22/2 12/7/2 10/2/2 -f 2/18/3 3/8/3 10/10/3 -f 11/15/3 8/5/3 1/12/3 -f 4/241/3 14/13/3 12/14/3 -f 12/14/3 7/4/3 11/15/3 -f 4/241/3 1/12/3 14/13/3 -f 3/10/4 4/16/4 9/18/4 -f 15/13/2 14/19/2 16/11/2 -f 6/242/5 7/13/5 15/21/5 -f 17/2/3 20/22/3 18/1/3 -f 21/45/6 24/3/6 22/17/6 -f 25/243/5 28/23/5 26/25/5 -f 26/244/3 27/26/3 29/27/3 -f 23/18/1 24/8/1 17/10/1 -f 21/17/4 19/16/4 24/18/4 -f 22/31/1 18/28/1 30/26/1 -f 21/245/1 27/23/1 19/30/1 -f 19/30/1 28/24/1 18/28/1 -f 21/245/1 22/31/1 27/23/1 -f 32/246/6 31/24/6 25/32/6 -f 33/16/6 36/10/6 34/17/6 -f 37/38/5 40/33/5 38/35/5 -f 41/39/3 42/36/3 37/38/3 -f 43/18/2 44/8/2 36/10/2 -f 44/2/4 45/1/4 35/22/4 -f 33/43/2 42/39/2 46/41/2 -f 45/247/2 39/35/2 34/42/2 -f 45/247/2 46/41/2 39/35/2 -f 34/42/2 40/38/2 33/43/2 -f 38/248/6 39/40/6 48/44/6 -f 44/3/3 43/18/3 45/45/3 -f 49/49/2 52/46/2 50/48/2 -f 53/18/6 56/8/6 54/10/6 -f 56/2/4 58/1/4 55/3/4 -f 54/2/1 55/22/1 59/1/1 -f 59/54/6 52/49/6 60/51/6 -f 58/249/6 62/52/6 57/53/6 -f 58/249/6 60/51/6 62/52/6 -f 57/53/6 51/48/6 59/54/6 -f 50/48/5 51/55/5 63/52/5 -f 56/22/2 53/2/2 58/7/2 -f 63/250/1 62/50/1 64/57/1 -f 65/59/3 66/58/3 15/13/3 -f 67/60/1 65/59/1 26/23/1 -f 68/251/6 67/60/6 63/52/6 -f 66/58/2 68/61/2 38/35/2 -f 49/49/6 50/48/6 69/62/6 -f 67/60/1 26/23/1 69/62/1 -f 65/59/3 15/13/3 70/63/3 -f 32/29/1 25/24/1 70/63/1 -f 66/58/2 38/35/2 71/64/2 -f 5/5/3 6/4/3 71/64/3 -f 68/251/6 63/52/6 72/65/6 -f 41/39/2 37/38/2 72/66/2 -f 73/70/4 68/45/4 74/68/4 -f 75/73/4 67/69/4 73/70/4 -f 74/68/4 66/67/4 76/72/4 -f 76/72/4 65/71/4 75/73/4 -f 77/107/3 80/74/3 78/76/3 -f 81/88/4 84/77/4 82/79/4 -f 84/83/2 86/80/2 73/82/2 -f 87/80/3 89/83/3 74/85/3 -f 90/97/4 92/86/4 81/88/4 -f 93/82/1 95/81/1 76/90/1 -f 82/79/4 87/91/4 96/93/4 -f 92/252/6 99/94/6 75/89/6 -f 96/93/4 93/95/4 90/97/4 -f 101/99/4 102/82/4 99/98/4 -f 75/82/1 98/81/1 100/90/1 -f 100/80/3 102/83/3 90/85/3 -f 90/83/2 101/80/2 92/82/2 -f 88/99/4 89/82/4 103/98/4 -f 74/83/2 88/80/2 83/82/2 -f 83/252/6 103/94/6 82/89/6 -f 82/82/1 104/81/1 87/90/1 -f 85/98/4 86/99/4 105/90/4 -f 91/82/1 105/81/1 81/90/1 -f 73/252/6 85/94/6 91/89/6 -f 81/80/3 106/83/3 84/85/3 -f 94/82/4 95/90/4 107/99/4 -f 97/83/2 107/80/2 96/82/2 -f 96/252/6 108/94/6 93/89/6 -f 76/253/3 94/100/3 97/102/3 -f 109/104/4 81/88/4 78/103/4 -f 110/106/4 90/97/4 109/104/4 -f 78/103/4 82/79/4 77/105/4 -f 77/105/4 96/93/4 110/106/4 -f 78/74/2 79/107/2 109/109/2 -f 110/113/1 112/110/1 77/112/1 -f 109/110/6 111/113/6 110/108/6 -f 113/116/4 111/114/4 114/115/4 -f 115/118/4 112/113/4 113/116/4 -f 114/115/4 79/49/4 116/117/4 -f 116/117/4 80/109/4 115/118/4 -f 117/175/4 118/119/4 120/120/4 -f 121/131/3 124/121/3 122/123/3 -f 125/124/6 128/124/6 126/124/6 -f 126/124/1 127/124/1 129/124/1 -f 129/124/3 130/124/3 131/124/3 -f 133/133/5 136/125/5 134/127/5 -f 137/254/1 122/128/1 138/130/1 -f 139/124/6 142/124/6 140/124/6 -f 121/123/2 144/131/2 124/122/2 -f 145/142/5 146/132/5 133/133/5 -f 134/127/5 135/126/5 147/135/5 -f 114/186/3 116/136/3 149/138/3 -f 151/147/4 154/139/4 152/141/4 -f 140/124/2 141/124/2 155/124/2 -f 147/135/5 148/134/5 145/142/5 -f 157/146/4 160/143/4 158/145/4 -f 152/141/4 153/140/4 157/146/4 -f 158/145/4 159/144/4 151/147/4 -f 159/139/7 137/148/7 154/144/7 -f 160/140/8 122/150/8 159/139/8 -f 154/144/9 144/149/9 153/143/9 -f 153/140/10 121/150/10 160/143/10 -f 155/124/3 156/124/3 161/124/3 -f 138/150/11 136/134/11 143/151/11 -f 123/255/12 135/152/12 138/154/12 -f 143/155/13 146/125/13 124/151/13 -f 124/256/14 148/132/14 123/155/14 -f 137/122/6 138/123/6 144/121/6 -f 126/158/10 158/145/10 125/156/10 -f 129/156/9 157/147/9 126/157/9 -f 125/257/8 151/146/8 131/158/8 -f 131/258/7 152/159/7 129/161/7 -f 131/124/2 132/124/2 125/124/2 -f 133/127/14 155/162/14 145/135/14 -f 134/142/13 140/164/13 133/135/13 -f 145/127/12 161/162/12 147/133/12 -f 147/133/11 139/165/11 134/142/11 -f 161/124/1 162/124/1 139/124/1 -f 163/169/1 164/166/1 166/168/1 -f 167/259/6 163/168/6 168/170/6 -f 164/173/3 169/166/3 165/171/3 -f 169/171/2 167/172/2 170/173/2 -f 166/171/5 165/172/5 168/5/5 -f 171/116/4 174/115/4 172/118/4 -f 117/177/6 120/174/6 171/175/6 -f 119/181/3 118/174/3 173/176/3 -f 118/260/2 117/175/2 174/178/2 -f 120/176/1 119/179/1 172/181/1 -f 129/109/4 173/117/4 131/49/4 -f 129/109/4 126/113/4 173/117/4 -f 126/113/4 125/114/4 172/118/4 -f 171/116/4 125/114/4 174/115/4 -f 175/115/5 161/49/5 176/117/5 -f 176/117/5 155/109/5 150/118/5 -f 149/116/5 139/114/5 175/115/5 -f 150/118/5 140/113/5 149/116/5 -f 116/261/1 115/136/1 150/182/1 -f 115/262/6 113/183/6 176/185/6 -f 113/183/2 114/186/2 175/184/2 -f 177/263/1 180/187/1 178/189/1 -f 182/264/1 181/190/1 183/192/1 -f 185/207/2 188/193/2 186/195/2 -f 189/204/2 192/196/2 190/198/2 -f 193/264/3 196/192/3 194/200/3 -f 197/265/3 200/201/3 198/203/3 -f 201/196/6 204/204/6 202/206/6 -f 205/263/6 208/187/6 206/189/6 -f 199/207/1 208/200/1 198/193/1 -f 182/196/6 183/204/6 189/190/6 -f 196/199/2 193/200/2 203/193/2 -f 177/200/3 186/207/3 180/199/3 -f 17/18/5 18/17/5 198/209/5 -f 206/266/5 22/16/5 205/210/5 -f 23/10/5 17/18/5 205/210/5 -f 54/18/5 59/17/5 182/209/5 -f 190/266/5 60/16/5 189/210/5 -f 53/10/5 54/18/5 189/210/5 -f 36/18/5 33/17/5 202/209/5 -f 194/266/5 46/16/5 193/210/5 -f 10/18/5 11/17/5 186/209/5 -f 178/266/5 1/16/5 177/210/5 -f 10/18/5 186/209/5 2/10/5 -f 36/18/5 202/209/5 43/10/5 -f 8/267/4 5/211/4 188/213/4 -f 13/268/4 179/214/4 16/216/4 -f 169/5/4 164/171/4 71/218/4 -f 42/269/4 41/219/4 204/221/4 -f 47/270/4 195/222/4 48/224/4 -f 61/271/4 191/225/4 64/227/4 -f 52/272/4 49/228/4 184/230/4 -f 30/273/4 207/231/4 29/233/4 -f 31/274/4 32/234/4 200/236/4 -f 164/171/4 163/167/4 70/217/4 -f 163/167/4 167/238/4 69/237/4 -f 167/238/4 169/5/4 72/239/4 -l 210 163 -l 209 210 -l 167 209 diff --git a/src/main/resources/assets/hbm/models/vault_frame_old.obj b/src/main/resources/assets/hbm/models/vault_frame_old.obj deleted file mode 100644 index ee5a5df5a..000000000 --- a/src/main/resources/assets/hbm/models/vault_frame_old.obj +++ /dev/null @@ -1,1576 +0,0 @@ -# Blender v2.76 (sub 0) OBJ File: 'vault_frame.blend' -# www.blender.org -o Cylinder -v 0.500000 5.000000 2.500000 -v 0.500000 0.000000 2.500000 -v 0.500000 5.000000 -2.500000 -v 0.500000 0.000000 -2.500000 -v -0.500000 5.000000 2.500000 -v -0.500000 0.000000 2.500000 -v -0.500000 5.000000 -2.500000 -v -0.500000 0.000000 -2.500000 -v -0.500000 0.762429 0.308123 -v 0.500000 0.762428 0.308123 -v -0.500000 0.970886 0.880855 -v 0.500000 0.970886 0.880854 -v -0.500000 1.367000 1.352926 -v 0.500000 1.367000 1.352926 -v -0.500000 1.894833 1.657669 -v 0.500000 1.894833 1.657669 -v -0.500000 2.501716 1.764679 -v 0.500000 2.501716 1.764679 -v -0.500000 3.101944 1.658843 -v 0.500000 3.101944 1.658843 -v -0.500000 3.635628 1.350719 -v 0.500000 3.635628 1.350719 -v -0.500000 4.027399 0.883825 -v 0.500000 4.027399 0.883825 -v -0.500000 4.238168 0.304744 -v 0.500000 4.238167 0.304744 -v -0.500000 4.238167 -0.304744 -v 0.500000 4.238167 -0.304744 -v -0.500000 4.027398 -0.883825 -v 0.500000 4.027398 -0.883825 -v -0.500001 3.635627 -1.350720 -v 0.500000 3.635627 -1.350720 -v -0.500001 3.101943 -1.658842 -v 0.499999 3.101943 -1.658842 -v -0.500000 2.501716 -1.764678 -v 0.500000 2.501716 -1.764678 -v -0.500001 1.894833 -1.657669 -v 0.500000 1.894833 -1.657669 -v -0.500001 1.367002 -1.352925 -v 0.500000 1.367001 -1.352925 -v -0.500000 0.970887 -0.880855 -v 0.500000 0.970886 -0.880855 -v -0.500000 0.762429 -0.308124 -v 0.500000 0.762429 -0.308124 -v -0.500000 0.327325 0.574589 -v 0.500000 0.327325 0.574589 -v 0.500000 0.466296 0.956409 -v -0.500000 0.466297 0.956409 -v -0.500000 1.204973 1.836729 -v 0.500000 1.204973 1.836729 -v 0.500000 1.556861 2.039891 -v -0.500000 1.556861 2.039891 -v -0.500000 2.688578 2.239443 -v 0.500000 2.688578 2.239443 -v 0.500000 3.088730 2.168886 -v -0.500000 3.088730 2.168886 -v -0.500000 4.083945 1.594298 -v 0.500000 4.083945 1.594298 -v 0.500000 4.345126 1.283035 -v -0.500000 4.345126 1.283035 -v -0.500000 4.738167 0.203162 -v 0.500000 4.738167 0.203162 -v 0.500000 4.738167 -0.203163 -v -0.500000 4.738167 -0.203163 -v -0.500000 4.345125 -1.283035 -v 0.500000 4.345125 -1.283035 -v 0.500000 4.083944 -1.594298 -v -0.500001 4.083944 -1.594298 -v -0.500001 3.088729 -2.168885 -v 0.499999 3.088729 -2.168885 -v 0.500000 2.688578 -2.239443 -v -0.500001 2.688578 -2.239443 -v -0.500001 1.556861 -2.039891 -v 0.500000 1.556861 -2.039891 -v 0.500000 1.204973 -1.836729 -v -0.500001 1.204974 -1.836729 -v -0.500001 0.466298 -0.956410 -v 0.499999 0.466297 -0.956411 -v 0.499999 0.327326 -0.574590 -v -0.500001 0.327326 -0.574590 -v 0.750000 1.894833 1.657669 -v 0.750000 2.501716 1.764679 -v 0.750000 0.970886 0.880854 -v 0.750000 1.367000 1.352926 -v 0.750000 0.762428 0.308123 -v 0.750000 0.762429 -0.308124 -v 0.750000 1.367001 -1.352925 -v 0.750000 0.970886 -0.880855 -v 0.750000 4.027399 0.883825 -v 0.750000 4.238167 0.304744 -v 0.750000 3.101944 1.658843 -v 0.750000 3.635628 1.350719 -v 0.750000 2.501716 -1.764678 -v 0.750000 1.894833 -1.657669 -v 0.750000 3.635627 -1.350720 -v 0.749999 3.101943 -1.658842 -v 0.750000 4.238167 -0.304744 -v 0.750000 4.027398 -0.883825 -v 0.562500 0.327325 0.574589 -v 0.562500 0.466296 0.956409 -v 0.562500 1.204973 1.836729 -v 0.562500 1.556861 2.039891 -v 0.562500 2.688578 2.239443 -v 0.562500 3.088730 2.168886 -v 0.562500 4.083945 1.594298 -v 0.562500 4.345126 1.283035 -v 0.562500 4.738167 0.203162 -v 0.562500 4.738167 -0.203163 -v 0.562500 4.345125 -1.283035 -v 0.562500 4.083944 -1.594298 -v 0.562499 3.088729 -2.168885 -v 0.562500 2.688578 -2.239443 -v 0.562500 1.556861 -2.039891 -v 0.562500 1.204973 -1.836729 -v 0.562499 0.466297 -0.956411 -v 0.562499 0.327326 -0.574590 -v 0.750000 1.947966 1.711219 -v 0.750000 2.433472 1.796827 -v 0.750000 0.977166 0.956029 -v 0.750000 1.294058 1.333687 -v 0.750000 0.718918 0.246499 -v 0.750000 0.718919 -0.246500 -v 0.750000 1.294059 -1.333686 -v 0.750000 0.977167 -0.956030 -v 0.750000 4.089362 0.840798 -v 0.750000 4.257977 0.377533 -v 0.750000 3.177068 1.665711 -v 0.750000 3.604014 1.419213 -v 0.750000 2.433472 -1.796827 -v 0.750000 1.947966 -1.711219 -v 0.750000 3.604013 -1.419213 -v 0.749999 3.177067 -1.665711 -v 0.750000 4.257977 -0.377534 -v 0.750000 4.089361 -0.840798 -v 0.562500 0.370835 0.459671 -v 0.562500 0.573495 1.016473 -v 0.562500 1.164436 1.720729 -v 0.562500 1.677588 2.016997 -v 0.562500 2.582962 2.176639 -v 0.562500 3.166496 2.073746 -v 0.562500 3.962668 1.614075 -v 0.562500 4.343544 1.160166 -v 0.562500 4.657976 0.296268 -v 0.562500 4.657976 -0.296269 -v 0.562500 4.343543 -1.160166 -v 0.562500 3.962667 -1.614076 -v 0.562499 3.166496 -2.073745 -v 0.562500 2.582962 -2.176638 -v 0.562500 1.677588 -2.016997 -v 0.562500 1.164437 -1.720729 -v 0.562499 0.573496 -1.016474 -v 0.562500 0.370836 -0.459672 -v 0.625000 1.947966 1.711219 -v 0.625000 2.433472 1.796827 -v 0.625000 0.977166 0.956029 -v 0.625000 1.294058 1.333687 -v 0.625000 0.718918 0.246499 -v 0.625000 0.718919 -0.246500 -v 0.625000 1.294059 -1.333686 -v 0.625000 0.977167 -0.956030 -v 0.625000 4.089362 0.840798 -v 0.625000 4.257977 0.377533 -v 0.625000 3.177068 1.665711 -v 0.625000 3.604014 1.419213 -v 0.625000 2.433472 -1.796827 -v 0.625000 1.947966 -1.711219 -v 0.625000 3.604013 -1.419213 -v 0.624999 3.177067 -1.665711 -v 0.625000 4.257977 -0.377534 -v 0.625000 4.089361 -0.840798 -v 0.625000 0.370835 0.459671 -v 0.625000 0.573495 1.016473 -v 0.625000 1.164436 1.720729 -v 0.625000 1.677588 2.016997 -v 0.625000 2.582962 2.176639 -v 0.625000 3.166496 2.073746 -v 0.625000 3.962668 1.614075 -v 0.625000 4.343544 1.160166 -v 0.625000 4.657976 0.296268 -v 0.625000 4.657976 -0.296269 -v 0.625000 4.343543 -1.160166 -v 0.625000 3.962667 -1.614076 -v 0.624999 3.166496 -2.073745 -v 0.625000 2.582962 -2.176638 -v 0.625000 1.677588 -2.016997 -v 0.625000 1.164437 -1.720729 -v 0.624999 0.573496 -1.016474 -v 0.625000 0.370836 -0.459672 -v 0.750000 2.045067 1.728341 -v 0.750000 2.142168 1.745462 -v 0.750000 2.239269 1.762584 -v 0.750000 2.336371 1.779706 -v 0.750000 1.040545 1.031561 -v 0.750000 1.103923 1.107092 -v 0.750000 1.167301 1.182624 -v 0.750000 1.230680 1.258155 -v 0.750000 0.718918 0.147899 -v 0.750000 0.718918 0.049299 -v 0.750000 0.718918 -0.049300 -v 0.750000 0.718918 -0.147900 -v 0.750000 1.230681 -1.258155 -v 0.750000 1.167302 -1.182624 -v 0.750000 1.103924 -1.107092 -v 0.750000 1.040545 -1.031561 -v 0.750000 4.123085 0.748145 -v 0.750000 4.156808 0.655492 -v 0.750000 4.190531 0.562839 -v 0.750000 4.224254 0.470186 -v 0.750000 3.262457 1.616412 -v 0.750000 3.347846 1.567112 -v 0.750000 3.433236 1.517812 -v 0.750000 3.518625 1.468513 -v 0.750000 2.336371 -1.779705 -v 0.750000 2.239269 -1.762584 -v 0.750000 2.142168 -1.745462 -v 0.750000 2.045067 -1.728341 -v 0.750000 3.518624 -1.468513 -v 0.749999 3.433235 -1.517812 -v 0.749999 3.347846 -1.567112 -v 0.749999 3.262456 -1.616411 -v 0.750000 4.224254 -0.470187 -v 0.750000 4.190530 -0.562840 -v 0.750000 4.156807 -0.655493 -v 0.750000 4.123084 -0.748146 -v 0.625000 2.045067 1.728341 -v 0.625000 2.142168 1.745462 -v 0.625000 2.239269 1.762584 -v 0.625000 2.336371 1.779706 -v 0.625000 1.040545 1.031561 -v 0.625000 1.103923 1.107092 -v 0.625000 1.167301 1.182624 -v 0.625000 1.230680 1.258155 -v 0.625000 0.718918 0.147899 -v 0.625000 0.718918 0.049299 -v 0.625000 0.718918 -0.049300 -v 0.625000 0.718918 -0.147900 -v 0.625000 1.230681 -1.258155 -v 0.625000 1.167302 -1.182624 -v 0.625000 1.103924 -1.107092 -v 0.625000 1.040545 -1.031561 -v 0.625000 4.123085 0.748145 -v 0.625000 4.156808 0.655492 -v 0.625000 4.190531 0.562839 -v 0.625000 4.224254 0.470186 -v 0.625000 3.262457 1.616412 -v 0.625000 3.347846 1.567112 -v 0.625000 3.433236 1.517812 -v 0.625000 3.518625 1.468513 -v 0.625000 2.336371 -1.779705 -v 0.625000 2.239269 -1.762584 -v 0.625000 2.142168 -1.745462 -v 0.625000 2.045067 -1.728341 -v 0.625000 3.518624 -1.468513 -v 0.624999 3.433235 -1.517812 -v 0.624999 3.347846 -1.567112 -v 0.624999 3.262456 -1.616411 -v 0.625000 4.224254 -0.470187 -v 0.625000 4.190530 -0.562840 -v 0.625000 4.156807 -0.655493 -v 0.625000 4.123084 -0.748146 -v 0.625000 4.553145 -0.589894 -v 0.625000 4.519423 -0.682547 -v 0.562500 4.519423 -0.682547 -v 0.562500 4.553145 -0.589894 -v 0.625000 4.485700 -0.775200 -v 0.625000 4.451977 -0.867853 -v 0.562500 4.451977 -0.867853 -v 0.562500 4.485700 -0.775200 -v 0.625000 3.693624 -1.771622 -v 0.624999 3.608234 -1.820921 -v 0.562499 3.608234 -1.820921 -v 0.562500 3.693624 -1.771622 -v 0.624999 3.522846 -1.870220 -v 0.624999 3.437456 -1.919520 -v 0.562499 3.437456 -1.919520 -v 0.562499 3.522846 -1.870220 -v 0.625000 2.275594 -2.124388 -v 0.625000 2.178493 -2.107266 -v 0.562500 2.178493 -2.107266 -v 0.562500 2.275594 -2.124388 -v 0.625000 2.081392 -2.090145 -v 0.625000 1.984291 -2.073024 -v 0.562500 1.984291 -2.073024 -v 0.562500 2.081392 -2.090145 -v 0.625000 3.437457 1.919520 -v 0.625000 3.522846 1.870221 -v 0.562500 3.522846 1.870221 -v 0.562500 3.437457 1.919520 -v 0.625000 3.608236 1.820921 -v 0.625000 3.693625 1.771621 -v 0.562500 3.693625 1.771621 -v 0.562500 3.608236 1.820921 -v 0.625000 4.451978 0.867852 -v 0.625000 4.485701 0.775199 -v 0.562500 4.485701 0.775199 -v 0.562500 4.451978 0.867852 -v 0.625000 4.519423 0.682546 -v 0.625000 4.553146 0.589893 -v 0.562500 4.553146 0.589893 -v 0.562500 4.519423 0.682546 -v 0.625000 0.962565 -1.483131 -v 0.625000 0.899187 -1.407600 -v 0.562500 0.899187 -1.407600 -v 0.562500 0.962565 -1.483131 -v 0.625000 0.835809 -1.332069 -v 0.625000 0.772430 -1.256537 -v 0.562500 0.772430 -1.256537 -v 0.562500 0.835809 -1.332069 -v 0.625000 0.368918 -0.147900 -v 0.625000 0.368918 -0.049301 -v 0.562500 0.368918 -0.049301 -v 0.562500 0.368918 -0.147900 -v 0.625000 0.368918 0.049299 -v 0.625000 0.368918 0.147898 -v 0.562500 0.368918 0.147898 -v 0.562500 0.368918 0.049299 -v 0.625000 0.772429 1.256536 -v 0.625000 0.835807 1.332068 -v 0.562500 0.835807 1.332068 -v 0.562500 0.772429 1.256536 -v 0.625000 0.899186 1.407599 -v 0.625000 0.962564 1.483131 -v 0.562500 0.962564 1.483131 -v 0.562500 0.899186 1.407599 -v 0.625000 1.984290 2.073024 -v 0.625000 2.081391 2.090145 -v 0.562500 2.081391 2.090145 -v 0.562500 1.984290 2.073024 -v 0.625000 2.178493 2.107267 -v 0.625000 2.275594 2.124388 -v 0.562500 2.275594 2.124388 -v 0.562500 2.178493 2.107267 -vt 0.674495 0.301724 -vt 0.744051 0.301724 -vt 0.744051 0.344587 -vt 0.634294 0.063011 -vt 0.564738 0.062987 -vt 0.564753 0.020124 -vt 0.616871 0.301724 -vt 0.616871 0.344588 -vt 0.547315 0.344588 -vt 0.590179 0.454379 -vt 0.547315 0.454379 -vt 0.547315 0.384823 -vt 0.585249 0.674595 -vt 0.628113 0.674595 -vt 0.628113 0.744151 -vt 0.761489 0.020118 -vt 0.761489 0.062981 -vt 0.691933 0.062981 -vt 0.586800 0.548190 -vt 0.629663 0.548190 -vt 0.629663 0.617746 -vt 0.451201 0.674595 -vt 0.451201 0.744151 -vt 0.408338 0.744151 -vt 0.451201 0.547415 -vt 0.451201 0.616971 -vt 0.408338 0.616971 -vt 0.547315 0.237973 -vt 0.616871 0.237973 -vt 0.616871 0.266236 -vt 0.547315 0.301724 -vt 0.547315 0.266236 -vt 0.616871 0.202485 -vt 0.634272 0.126762 -vt 0.564716 0.126738 -vt 0.564726 0.098475 -vt 0.634282 0.098499 -vt 0.634260 0.162250 -vt 0.564704 0.162226 -vt 0.674495 0.266236 -vt 0.674495 0.237973 -vt 0.744051 0.237973 -vt 0.744051 0.266236 -vt 0.744051 0.202485 -vt 0.761489 0.126732 -vt 0.691933 0.126732 -vt 0.691933 0.098469 -vt 0.761489 0.098469 -vt 0.691933 0.162220 -vt 0.663601 0.674595 -vt 0.691863 0.674595 -vt 0.691863 0.744151 -vt 0.663601 0.744151 -vt 0.727352 0.744151 -vt 0.486689 0.547415 -vt 0.514952 0.547415 -vt 0.514952 0.616971 -vt 0.486689 0.616971 -vt 0.550440 0.547415 -vt 0.550440 0.616971 -vt 0.514952 0.674595 -vt 0.514952 0.744151 -vt 0.486689 0.744151 -vt 0.486689 0.674595 -vt 0.550440 0.744151 -vt 0.693414 0.548190 -vt 0.693414 0.617746 -vt 0.665151 0.617746 -vt 0.665151 0.548190 -vt 0.728902 0.617746 -vt 0.625667 0.384823 -vt 0.653929 0.384823 -vt 0.653929 0.454379 -vt 0.590179 0.384823 -vt 0.625667 0.454379 -vt 0.689417 0.384823 -vt 0.689418 0.454379 -vt 0.249545 0.419394 -vt 0.278078 0.419377 -vt 0.437273 0.437603 -vt 0.107759 0.276798 -vt 0.112671 0.304627 -vt 0.089639 0.437603 -vt 0.174332 0.392033 -vt 0.152666 0.373861 -vt 0.352849 0.392119 -vt 0.374458 0.373974 -vt 0.414381 0.304802 -vt 0.761440 0.301724 -vt 0.486689 0.621318 -vt 0.674544 0.162220 -vt 0.687586 0.126732 -vt 0.689418 0.471767 -vt 0.653929 0.458726 -vt 0.089637 0.089759 -vt 0.419307 0.276979 -vt 0.437594 0.089923 -vt 0.687586 0.098469 -vt 0.625667 0.458726 -vt 0.547315 0.162220 -vt 0.560369 0.126736 -vt 0.585249 0.744151 -vt 0.628113 0.761540 -vt 0.550440 0.761540 -vt 0.514952 0.748498 -vt 0.121648 0.198105 -vt 0.135789 0.173628 -vt 0.197051 0.122258 -vt 0.223619 0.112599 -vt 0.405488 0.198235 -vt 0.391371 0.173744 -vt 0.330152 0.122319 -vt 0.303590 0.112636 -vt 0.154148 0.570166 -vt 0.234094 0.570183 -vt 0.215552 0.600446 -vt 0.132836 0.614938 -vt 0.099994 0.642495 -vt 0.066333 0.631220 -vt 0.078794 0.679218 -vt 0.071352 0.721439 -vt 0.038321 0.734443 -vt 0.020167 0.547365 -vt 0.368053 0.547438 -vt 0.127581 0.579832 -vt 0.052198 0.655705 -vt 0.020208 0.895350 -vt 0.043237 0.762285 -vt 0.083229 0.831507 -vt 0.100160 0.800306 -vt 0.104901 0.849667 -vt 0.132656 0.827534 -vt 0.172952 0.842159 -vt 0.180000 0.876995 -vt 0.208515 0.876943 -vt 0.215478 0.842107 -vt 0.367883 0.895009 -vt 0.255674 0.827470 -vt 0.283397 0.849534 -vt 0.305016 0.831395 -vt 0.344940 0.762245 -vt 0.309503 0.763161 -vt 0.349853 0.734435 -vt 0.260653 0.579856 -vt 0.288222 0.642514 -vt 0.255390 0.614954 -vt 0.316853 0.721441 -vt 0.309411 0.679233 -vt 0.336003 0.655732 -vt 0.321878 0.631251 -vt 0.020071 0.437604 -vt 0.437273 0.507130 -vt 0.089640 0.507130 -vt 0.507130 0.089988 -vt 0.506809 0.437667 -vt 0.089670 0.020167 -vt 0.437627 0.020332 -vt 0.788301 0.887799 -vt 0.792587 0.890825 -vt 0.776111 0.917371 -vt 0.728604 0.806122 -vt 0.720610 0.809148 -vt 0.656665 0.809148 -vt 0.750092 0.501493 -vt 0.729653 0.469684 -vt 0.737902 0.471921 -vt 0.773013 0.672556 -vt 0.781006 0.669530 -vt 0.844951 0.669530 -vt 0.792956 0.501493 -vt 0.788669 0.498466 -vt 0.805145 0.471921 -vt 0.768839 0.842054 -vt 0.776832 0.839028 -vt 0.840778 0.839028 -vt 0.621218 0.266236 -vt 0.674544 0.062981 -vt 0.674544 0.020118 -vt 0.550440 0.634360 -vt 0.514952 0.621318 -vt 0.547350 0.062981 -vt 0.547364 0.020118 -vt 0.634260 0.202485 -vt 0.621218 0.237973 -vt 0.629663 0.635135 -vt 0.586800 0.635135 -vt 0.665151 0.622093 -vt 0.877731 0.250212 -vt 0.797799 0.250212 -vt 0.797799 0.245865 -vt 0.748398 0.266236 -vt 0.604561 0.801775 -vt 0.604561 0.806122 -vt 0.524629 0.806122 -vt 0.634260 0.301724 -vt 0.634260 0.344588 -vt 0.728902 0.635135 -vt 0.693414 0.622093 -vt 0.451201 0.761540 -vt 0.809585 0.384823 -vt 0.809585 0.389170 -vt 0.729653 0.389170 -vt 0.761440 0.202485 -vt 0.748398 0.237973 -vt 0.663601 0.748498 -vt 0.488270 0.801775 -vt 0.488270 0.806122 -vt 0.408338 0.806122 -vt 0.877731 0.286572 -vt 0.877731 0.290919 -vt 0.797799 0.290919 -vt 0.768839 0.846401 -vt 0.848771 0.842054 -vt 0.727352 0.761540 -vt 0.691863 0.748498 -vt 0.486689 0.748498 -vt 0.590179 0.471768 -vt 0.547315 0.471768 -vt 0.773013 0.676903 -vt 0.852944 0.672556 -vt 0.560379 0.098474 -vt 0.773013 0.592041 -vt 0.773013 0.587694 -vt 0.852944 0.587694 -vt 0.451201 0.634360 -vt 0.408338 0.634360 -vt 0.728604 0.801775 -vt 0.648672 0.806122 -vt 0.807648 0.053565 -vt 0.824123 0.027020 -vt 0.828922 0.034270 -vt 0.908061 0.387849 -vt 0.924536 0.414395 -vt 0.903262 0.395099 -vt 0.874890 0.053565 -vt 0.853615 0.034270 -vt 0.858414 0.027019 -vt 0.795834 0.556109 -vt 0.781006 0.580320 -vt 0.777299 0.578050 -vt 0.820620 0.214280 -vt 0.805793 0.238491 -vt 0.802085 0.236221 -vt 0.830124 0.556110 -vt 0.848659 0.578050 -vt 0.844951 0.580321 -vt 0.465803 0.890438 -vt 0.482279 0.916984 -vt 0.461004 0.897688 -vt 0.415036 0.916984 -vt 0.431512 0.890438 -vt 0.436311 0.897688 -vt 0.869738 0.238491 -vt 0.854911 0.214280 -vt 0.873445 0.236221 -vt 0.805793 0.242838 -vt 0.869738 0.242838 -vt 0.831164 0.887799 -vt 0.851602 0.919608 -vt 0.843353 0.917371 -vt 0.596568 0.809148 -vt 0.532623 0.809148 -vt 0.869484 0.384823 -vt 0.873770 0.387849 -vt 0.857294 0.414395 -vt 0.801592 0.392196 -vt 0.737646 0.392197 -vt 0.912347 0.384823 -vt 0.932785 0.416631 -vt 0.480277 0.809148 -vt 0.819837 0.023993 -vt 0.869738 0.293945 -vt 0.805792 0.293945 -vt 0.862700 0.023993 -vt 0.883139 0.055802 -vt 0.781006 0.584668 -vt 0.844951 0.584668 -vt 0.427226 0.887412 -vt 0.793451 0.748947 -vt 0.773013 0.717138 -vt 0.781262 0.719375 -vt 0.470089 0.887412 -vt 0.490528 0.919220 -vt 0.915012 0.502892 -vt 0.910726 0.499866 -vt 0.927202 0.473320 -vt 0.863476 0.124745 -vt 0.859190 0.121718 -vt 0.875665 0.095173 -vt 0.872149 0.502892 -vt 0.851711 0.471084 -vt 0.859960 0.473320 -vt 0.820612 0.124745 -vt 0.800174 0.092936 -vt 0.808423 0.095173 -vt 0.705638 0.921545 -vt 0.701352 0.918519 -vt 0.717828 0.891973 -vt 0.836315 0.748947 -vt 0.832028 0.745920 -vt 0.848504 0.719375 -vt 0.662775 0.921545 -vt 0.642337 0.889737 -vt 0.650586 0.891973 -vt 0.776832 0.834680 -vt 0.773125 0.832410 -vt 0.791660 0.810469 -vt 0.840778 0.834681 -vt 0.581741 0.837707 -vt 0.596568 0.813496 -vt 0.600275 0.815766 -vt 0.781006 0.665182 -vt 0.844951 0.665182 -vt 0.824899 0.121718 -vt 0.829698 0.114468 -vt 0.854911 0.205585 -vt 0.720610 0.813496 -vt 0.656665 0.813496 -vt 0.854391 0.114468 -vt 0.532623 0.813496 -vt 0.547450 0.837707 -vt 0.528916 0.815766 -vt 0.786765 0.420755 -vt 0.801592 0.396544 -vt 0.805299 0.398814 -vt 0.737646 0.396544 -vt 0.827229 0.738670 -vt 0.480277 0.813496 -vt 0.416331 0.813496 -vt 0.797737 0.745920 -vt 0.802537 0.738670 -vt 0.869738 0.298293 -vt 0.805792 0.298292 -vt 0.752474 0.420755 -vt 0.733939 0.398814 -vt 0.820619 0.331198 -vt 0.820619 0.322503 -vt 0.854910 0.322504 -vt 0.533851 0.958558 -vt 0.532389 0.954464 -vt 0.556777 0.950371 -vt 0.556777 0.973605 -vt 0.532389 0.969511 -vt 0.533851 0.965417 -vt 0.465449 0.837707 -vt 0.431159 0.837707 -vt 0.559701 0.965417 -vt 0.667061 0.918519 -vt 0.529504 0.965417 -vt 0.529504 0.958558 -vt 0.431159 0.846401 -vt 0.923476 0.281118 -vt 0.922014 0.277024 -vt 0.946402 0.272930 -vt 0.876435 0.499866 -vt 0.946402 0.296164 -vt 0.922014 0.292070 -vt 0.923476 0.287976 -vt 0.949327 0.281118 -vt 0.919129 0.287976 -vt 0.919129 0.281118 -vt 0.928109 0.109699 -vt 0.926647 0.105605 -vt 0.951035 0.101511 -vt 0.786765 0.429449 -vt 0.752474 0.429449 -vt 0.951035 0.124745 -vt 0.926647 0.120651 -vt 0.928109 0.116557 -vt 0.953959 0.116557 -vt 0.547450 0.846401 -vt 0.923762 0.116557 -vt 0.923762 0.109699 -vt 0.162464 0.945359 -vt 0.161002 0.941265 -vt 0.185390 0.937171 -vt 0.185390 0.960405 -vt 0.161002 0.956311 -vt 0.162464 0.952217 -vt 0.188314 0.945359 -vt 0.158117 0.952217 -vt 0.158117 0.945359 -vt 0.255186 0.951558 -vt 0.256648 0.955652 -vt 0.232259 0.959746 -vt 0.795834 0.547415 -vt 0.830124 0.547415 -vt 0.232260 0.936512 -vt 0.256648 0.940606 -vt 0.255186 0.944700 -vt 0.229335 0.944700 -vt 0.259533 0.944700 -vt 0.259533 0.951558 -vt 0.907387 0.955893 -vt 0.911481 0.954430 -vt 0.915575 0.978819 -vt 0.892341 0.978819 -vt 0.896435 0.954430 -vt 0.900529 0.955893 -vt 0.907387 0.981743 -vt 0.900529 0.951545 -vt 0.907387 0.951545 -vt 0.949224 0.035551 -vt 0.950687 0.039645 -vt 0.926298 0.043739 -vt 0.926298 0.020505 -vt 0.950687 0.024599 -vt 0.949224 0.028693 -vt 0.923374 0.028693 -vt 0.953572 0.028693 -vt 0.953572 0.035551 -vt 0.896897 0.896055 -vt 0.895435 0.891961 -vt 0.919824 0.887867 -vt 0.919824 0.911101 -vt 0.895435 0.907007 -vt 0.896897 0.902913 -vt 0.922748 0.896055 -vt 0.892550 0.902913 -vt 0.895977 0.663020 -vt 0.894514 0.658926 -vt 0.918903 0.654832 -vt 0.918903 0.678066 -vt 0.894514 0.673972 -vt 0.895977 0.669878 -vt 0.921827 0.663020 -vt 0.891629 0.669878 -vt 0.891629 0.663020 -vt 0.024465 0.950581 -vt 0.020118 0.950581 -vt 0.020118 0.943723 -vt 0.050315 0.950581 -vt 0.024465 0.943723 -vt 0.047391 0.958769 -vt 0.023003 0.954675 -vt 0.023003 0.939629 -vt 0.047391 0.935535 -vt 0.908225 0.573265 -vt 0.908225 0.577613 -vt 0.901367 0.577613 -vt 0.901367 0.573265 -vt 0.901367 0.547415 -vt 0.916413 0.550339 -vt 0.912319 0.574728 -vt 0.897273 0.574728 -vt 0.893179 0.550339 -vt 0.968594 0.574816 -vt 0.968594 0.579163 -vt 0.961736 0.579163 -vt 0.968594 0.548965 -vt 0.961736 0.574816 -vt 0.976782 0.551889 -vt 0.972688 0.576278 -vt 0.957642 0.576278 -vt 0.953548 0.551889 -vt 0.914856 0.809963 -vt 0.919204 0.809963 -vt 0.919204 0.816821 -vt 0.914856 0.816821 -vt 0.889006 0.816821 -vt 0.891930 0.801775 -vt 0.916319 0.805869 -vt 0.916319 0.820915 -vt 0.891930 0.825009 -vt 0.557214 0.894864 -vt 0.561561 0.894864 -vt 0.561561 0.901723 -vt 0.557214 0.901723 -vt 0.531363 0.901723 -vt 0.534287 0.886677 -vt 0.558676 0.890771 -vt 0.558676 0.905817 -vt 0.534287 0.909911 -vt 0.903238 0.723036 -vt 0.903238 0.718688 -vt 0.910097 0.718688 -vt 0.903238 0.748886 -vt 0.910097 0.723036 -vt 0.895051 0.745962 -vt 0.899145 0.721574 -vt 0.914191 0.721574 -vt 0.918285 0.745962 -vt 0.116401 0.943723 -vt 0.120748 0.943723 -vt 0.120748 0.950581 -vt 0.116401 0.950581 -vt 0.090550 0.950581 -vt 0.093475 0.935535 -vt 0.117863 0.939629 -vt 0.117863 0.954675 -vt 0.093475 0.958769 -vt 0.309225 0.939882 -vt 0.309225 0.935535 -vt 0.316083 0.935535 -vt 0.309225 0.965733 -vt 0.316083 0.939882 -vt 0.301037 0.962809 -vt 0.305131 0.938420 -vt 0.320177 0.938420 -vt 0.324271 0.962809 -vt 0.934169 0.229504 -vt 0.934169 0.233852 -vt 0.927311 0.233852 -vt 0.927311 0.229504 -vt 0.927311 0.203654 -vt 0.942357 0.206578 -vt 0.938263 0.230966 -vt 0.923217 0.230966 -vt 0.919123 0.206578 -vt 0.825950 0.801775 -vt 0.825950 0.810469 -vt 0.795833 0.640971 -vt 0.830124 0.640971 -vt 0.830124 0.632277 -vt 0.826878 0.890825 -vt 0.754378 0.498466 -vt 0.671492 0.846401 -vt 0.671492 0.837707 -vt 0.705783 0.837707 -vt 0.844485 0.832410 -vt 0.878569 0.395099 -vt 0.822079 0.898076 -vt 0.797386 0.898076 -vt 0.777299 0.662912 -vt 0.759177 0.491216 -vt 0.783870 0.491216 -vt 0.724318 0.815766 -vt 0.652958 0.815766 -vt 0.671860 0.911269 -vt 0.802085 0.300562 -vt 0.696553 0.911269 -vt 0.873445 0.300563 -vt 0.412624 0.815766 -vt 0.881234 0.492616 -vt 0.905927 0.492616 -vt 0.483984 0.815766 -vt 0.848659 0.662912 -vt 0.674495 0.344587 -vt 0.634309 0.020148 -vt 0.691933 0.020118 -vt 0.586800 0.617746 -vt 0.408338 0.674595 -vt 0.408338 0.547415 -vt 0.547315 0.202485 -vt 0.674495 0.202485 -vt 0.761489 0.162220 -vt 0.727352 0.674595 -vt 0.550440 0.674595 -vt 0.728902 0.548190 -vt 0.761440 0.344587 -vt 0.585249 0.761540 -vt 0.172682 0.600439 -vt 0.078717 0.763193 -vt 0.288096 0.800252 -vt 0.020068 0.089759 -vt 0.767862 0.919608 -vt 0.813394 0.469684 -vt 0.877731 0.245865 -vt 0.524629 0.801775 -vt 0.408338 0.761540 -vt 0.729653 0.384823 -vt 0.408338 0.801775 -vt 0.797799 0.286572 -vt 0.848771 0.846401 -vt 0.852944 0.676903 -vt 0.852944 0.592042 -vt 0.648672 0.801775 -vt 0.849045 0.416631 -vt 0.416331 0.809148 -vt 0.799399 0.055802 -vt 0.406787 0.919220 -vt 0.935451 0.471084 -vt 0.883914 0.092936 -vt 0.726077 0.889737 -vt 0.856753 0.717138 -vt 0.820620 0.205585 -vt 0.854910 0.331198 -vt 0.559701 0.958558 -vt 0.465449 0.846401 -vt 0.949327 0.287976 -vt 0.953959 0.109699 -vt 0.581741 0.846401 -vt 0.188314 0.952218 -vt 0.229335 0.951558 -vt 0.900529 0.981743 -vt 0.923374 0.035551 -vt 0.922748 0.902913 -vt 0.892550 0.896055 -vt 0.921827 0.669878 -vt 0.050315 0.943723 -vt 0.908225 0.547415 -vt 0.961736 0.548965 -vt 0.889006 0.809963 -vt 0.531363 0.894864 -vt 0.910097 0.748886 -vt 0.090550 0.943723 -vt 0.316083 0.965733 -vt 0.934169 0.203654 -vt 0.791660 0.801775 -vt 0.795833 0.632277 -vt 0.705783 0.846401 -vn 0.000000 0.173600 -0.984800 -vn 0.000000 0.766000 -0.642800 -vn 0.000000 1.000000 0.000000 -vn 0.000000 0.766000 0.642800 -vn -0.000000 -0.939700 -0.342000 -vn -0.000000 -0.500000 -0.866000 -vn -0.000000 0.173600 0.984800 -vn 0.000000 -0.500000 0.866000 -vn 0.000000 -0.939700 0.342000 -vn 0.000000 0.939700 -0.342000 -vn 0.000000 0.522300 0.852800 -vn 0.000000 -0.148100 -0.989000 -vn 0.000000 0.500000 -0.866000 -vn 0.000000 0.948200 0.317600 -vn 0.000000 -0.749100 -0.662400 -vn 0.000000 -0.173600 -0.984800 -vn 0.000000 0.930500 -0.366200 -vn 0.000000 -0.999700 -0.025900 -vn 0.000000 -0.766000 -0.642800 -vn 0.000000 0.477400 -0.878700 -vn 0.000000 -0.782400 0.622700 -vn 0.000000 -1.000000 0.000000 -vn -0.000000 -0.199100 -0.980000 -vn 0.000000 -0.199100 0.980000 -vn 0.000000 -0.766000 0.642800 -vn -0.000000 -0.782400 -0.622700 -vn 0.000000 0.477400 0.878700 -vn 0.000000 -0.173600 0.984800 -vn 0.000000 -0.999700 0.025900 -vn -0.000000 0.930500 0.366200 -vn 0.000000 0.500000 0.866000 -vn 0.000000 -0.749100 0.662400 -vn 0.000000 0.948200 -0.317600 -vn 0.000000 0.939700 0.342000 -vn 0.000000 -0.148100 0.989000 -vn 0.000000 0.522300 -0.852800 -vn 1.000000 -0.000000 -0.000000 -vn -1.000000 -0.000000 0.000000 -vn 0.000000 0.000000 1.000000 -vn 0.000000 0.000000 -1.000000 -vn 0.908400 0.238500 0.343500 -vn 0.857500 0.082800 0.507700 -vn 0.908400 -0.038100 0.416400 -vn 0.000000 -0.477400 -0.878700 -vn 0.000000 0.782400 0.622700 -vn 0.000000 0.999700 -0.025900 -vn 0.000000 0.749100 -0.662400 -vn 0.000000 -0.930500 -0.366200 -vn 0.857500 0.389800 0.335700 -vn 0.908400 0.403500 0.109800 -vn 0.857500 0.514400 0.006600 -vn 0.908400 0.379700 -0.175200 -vn 0.857500 0.398300 -0.325600 -vn 0.908400 0.178200 -0.378300 -vn 0.857500 -0.481100 -0.182200 -vn 0.857500 0.095800 -0.505400 -vn 0.908400 -0.416700 0.034800 -vn 0.908400 -0.106600 -0.404300 -vn 0.857500 -0.485600 0.169700 -vn 0.857500 -0.251500 -0.448800 -vn 0.908400 -0.296800 0.294500 -vn 0.908400 -0.341600 -0.241200 -vn 0.857500 -0.262900 0.442200 -vn 0.000000 0.148100 -0.989000 -vn 0.000000 -0.948200 0.317600 -vn 0.000000 -0.522300 0.852800 -vn 0.000000 -0.522300 -0.852800 -vn 0.000000 -0.342000 0.939700 -vn 0.000000 0.342000 -0.939700 -vn 0.941700 0.316100 0.115000 -vn 0.000000 -0.866000 0.500000 -vn 0.000000 0.866000 -0.500000 -vn 0.941700 0.168200 0.291300 -vn 0.000000 0.984800 -0.173600 -vn 0.000000 -0.984800 0.173600 -vn 0.941700 -0.058400 -0.331200 -vn 0.000000 0.866000 0.500000 -vn 0.000000 -0.866000 -0.500000 -vn 0.941700 0.168200 -0.291300 -vn 0.000000 0.342000 0.939700 -vn 0.000000 -0.342000 -0.939700 -vn 0.941700 0.316100 -0.115000 -vn 0.941700 -0.257600 -0.216200 -vn 0.000000 -0.642800 0.766000 -vn 0.000000 0.642800 -0.766000 -vn 0.941700 -0.336300 0.000000 -vn 0.941700 -0.257600 0.216200 -vn 0.000000 0.642800 0.766000 -vn 0.000000 -0.642800 -0.766000 -vn 0.941700 -0.058400 0.331200 -vn 0.000000 0.984800 0.173600 -vn 0.000000 -0.984800 -0.173600 -vn 0.000000 0.199100 -0.980000 -vn 0.000000 0.199100 0.980000 -vn 0.000000 0.782400 -0.622700 -vn 0.000000 -0.477400 0.878700 -vn 0.000000 0.999700 0.025900 -vn 0.000000 -0.930500 0.366200 -vn 0.000000 0.749100 0.662400 -vn 0.000000 -0.948200 -0.317600 -vn 0.000000 0.148100 0.989000 -vn 0.857500 0.514400 -0.006600 -vn 0.908400 0.379700 0.175200 -vn 0.857500 0.398300 0.325600 -vn 0.908400 0.403500 -0.109800 -vn 0.857500 0.389800 -0.335700 -vn 0.908400 0.238500 -0.343500 -vn 0.857500 0.082800 -0.507700 -vn 0.908400 -0.038100 -0.416400 -vn 0.857500 -0.262900 -0.442200 -vn 0.908400 -0.341600 0.241200 -vn 0.908400 -0.296800 -0.294500 -vn 0.857500 -0.251500 0.448800 -vn 0.857500 -0.485600 -0.169700 -vn 0.908400 -0.106600 0.404300 -vn 0.908400 -0.416700 -0.034800 -vn 0.857500 0.095800 0.505400 -vn 0.857500 -0.481100 0.182200 -vn 0.908400 0.178200 0.378300 -s off -f 17/1/1 18/2/1 16/3/1 -f 13/4/2 14/5/2 12/6/2 -f 10/7/3 44/8/3 43/9/3 -f 42/10/4 40/11/4 39/12/4 -f 23/13/5 25/14/5 26/15/5 -f 19/16/6 21/17/6 22/18/6 -f 35/19/7 37/20/7 38/21/7 -f 33/22/8 34/23/8 32/24/8 -f 29/25/9 30/26/9 28/27/9 -f 48/28/10 47/29/10 46/30/10 -f 10/7/11 9/31/11 45/32/11 -f 12/33/12 47/29/12 48/28/12 -f 52/34/13 51/35/13 50/36/13 -f 14/5/14 13/4/14 49/37/14 -f 15/38/15 16/39/15 51/35/15 -f 53/40/16 56/41/16 55/42/16 -f 17/1/17 53/40/17 54/43/17 -f 20/44/18 55/42/18 56/41/18 -f 60/45/19 59/46/19 58/47/19 -f 21/17/20 57/48/20 58/47/20 -f 24/49/21 59/46/21 60/45/21 -f 61/50/22 64/51/22 63/52/22 -f 25/14/23 61/50/23 62/53/23 -f 28/54/24 63/52/24 64/51/24 -f 65/55/25 68/56/25 67/57/25 -f 29/25/26 65/55/26 66/58/26 -f 31/59/27 32/60/27 67/57/27 -f 72/61/28 71/62/28 70/63/28 -f 33/22/29 69/64/29 70/63/29 -f 36/65/30 71/62/30 72/61/30 -f 76/66/31 75/67/31 74/68/31 -f 37/20/32 73/69/32 74/68/32 -f 40/70/33 75/67/33 76/66/33 -f 77/71/34 80/72/34 79/73/34 -f 41/74/35 77/71/35 78/75/35 -f 43/76/36 44/77/36 79/73/36 -f 62/78/37 63/79/37 3/80/37 -f 54/81/37 55/82/37 1/83/37 -f 1/83/37 59/84/37 62/78/37 -f 58/85/37 59/84/37 1/83/37 -f 3/80/37 63/79/37 66/86/37 -f 3/80/37 67/87/37 70/88/37 -f 16/3/1 18/2/1 82/89/1 -f 30/26/26 66/58/26 109/90/26 -f 24/49/21 89/91/21 106/92/21 -f 66/86/37 67/87/37 3/80/37 -f 44/77/36 86/93/36 116/94/36 -f 1/83/37 2/95/37 54/81/37 -f 70/88/37 71/96/37 3/80/37 -f 3/80/37 71/96/37 4/97/37 -f 22/18/20 58/47/20 105/98/20 -f 42/10/35 78/75/35 115/99/35 -f 16/39/15 81/100/15 102/101/15 -f 24/102/5 26/15/5 90/103/5 -f 36/65/30 93/104/30 112/105/30 -f 54/81/37 2/95/37 51/106/37 -f 51/106/37 2/95/37 50/107/37 -f 50/107/37 2/95/37 47/108/37 -f 46/109/37 47/108/37 2/95/37 -f 71/96/37 74/110/37 4/97/37 -f 74/110/37 75/111/37 4/97/37 -f 78/112/37 4/97/37 75/111/37 -f 78/112/37 79/113/37 4/97/37 -f 4/97/37 79/113/37 46/109/37 -f 80/114/38 45/115/38 9/116/38 -f 41/117/38 39/118/38 76/119/38 -f 37/120/38 35/121/38 72/122/38 -f 8/123/38 6/124/38 45/115/38 -f 80/114/38 77/125/38 8/123/38 -f 77/125/38 76/119/38 8/123/38 -f 76/119/38 73/126/38 8/123/38 -f 73/126/38 72/122/38 8/123/38 -f 8/123/38 72/122/38 7/127/38 -f 72/122/38 69/128/38 7/127/38 -f 68/129/38 69/128/38 31/130/38 -f 68/129/38 65/131/38 7/127/38 -f 29/132/38 27/133/38 65/131/38 -f 65/131/38 27/133/38 7/127/38 -f 27/133/38 64/134/38 7/127/38 -f 7/127/38 64/134/38 61/135/38 -f 61/135/38 25/136/38 5/137/38 -f 25/136/38 23/138/38 60/139/38 -f 5/137/38 25/136/38 60/139/38 -f 60/139/38 57/140/38 5/137/38 -f 56/141/38 57/140/38 19/142/38 -f 56/141/38 53/143/38 5/137/38 -f 5/137/38 53/143/38 6/124/38 -f 45/115/38 6/124/38 48/144/38 -f 13/145/38 11/146/38 48/144/38 -f 17/147/38 15/148/38 52/149/38 -f 53/143/38 52/149/38 6/124/38 -f 52/149/38 49/150/38 6/124/38 -f 6/124/38 49/150/38 48/144/38 -f 2/95/39 1/83/39 5/151/39 -f 3/80/3 7/152/3 5/153/3 -f 4/97/40 8/154/40 7/155/40 -f 2/95/22 6/156/22 8/157/22 -f 1/83/37 55/82/37 58/85/37 -f 89/158/41 125/159/41 142/160/41 -f 104/161/37 140/162/37 141/163/37 -f 92/164/42 105/165/42 141/166/42 -f 106/167/37 142/168/37 143/169/37 -f 91/170/43 127/171/43 140/172/43 -f 108/173/37 144/174/37 145/175/37 -f 10/7/11 46/30/11 99/176/11 -f 22/18/6 92/177/6 91/178/6 -f 32/60/27 95/179/27 110/180/27 -f 14/5/2 84/181/2 83/182/2 -f 12/33/12 83/183/12 100/184/12 -f 38/21/7 94/185/7 93/186/7 -f 38/21/32 74/68/32 113/187/32 -f 74/188/16 71/189/16 112/190/16 -f 18/2/17 54/43/17 103/191/17 -f 75/192/19 114/193/19 115/194/19 -f 10/7/3 85/195/3 86/196/3 -f 40/70/33 87/197/33 114/198/33 -f 32/24/8 34/23/8 96/199/8 -f 79/200/22 116/201/22 99/202/22 -f 20/44/18 91/203/18 104/204/18 -f 26/15/23 62/53/23 107/205/23 -f 47/206/25 100/207/25 101/208/25 -f 51/209/28 102/210/28 103/211/28 -f 63/212/10 108/173/10 109/213/10 -f 28/54/24 97/214/24 108/215/24 -f 34/23/29 70/63/29 111/216/29 -f 42/10/4 88/217/4 87/218/4 -f 59/219/34 106/167/34 107/220/34 -f 14/5/14 50/36/14 101/221/14 -f 67/222/13 110/223/13 111/224/13 -f 30/26/9 98/225/9 97/226/9 -f 55/227/31 104/161/31 105/228/31 -f 146/229/44 131/230/44 167/231/44 -f 134/232/45 145/233/45 170/234/45 -f 147/235/46 168/236/46 132/237/46 -f 167/238/27 182/239/27 146/240/27 -f 165/241/30 184/242/30 148/243/30 -f 168/244/29 147/245/29 183/246/29 -f 130/247/47 149/248/47 166/249/47 -f 148/250/48 129/251/48 165/252/48 -f 185/253/32 166/254/32 149/255/32 -f 112/190/37 148/256/37 149/257/37 -f 90/258/49 107/259/49 143/260/49 -f 114/193/37 150/261/37 151/262/37 -f 97/263/50 133/264/50 144/265/50 -f 116/201/37 152/266/37 135/267/37 -f 98/268/51 109/269/51 145/233/51 -f 101/208/37 100/207/37 136/270/37 -f 95/271/52 131/230/52 146/229/52 -f 102/210/37 138/272/37 139/273/37 -f 96/274/53 111/275/53 147/235/53 -f 110/223/37 146/276/37 147/277/37 -f 93/278/54 129/251/54 148/250/54 -f 85/279/55 99/280/55 135/281/55 -f 94/282/56 113/283/56 149/248/56 -f 83/284/57 119/285/57 136/286/57 -f 87/287/58 123/288/58 150/289/58 -f 84/290/59 101/291/59 137/292/59 -f 88/293/60 115/294/60 151/295/60 -f 81/296/61 117/297/61 138/298/61 -f 86/299/62 122/300/62 152/301/62 -f 82/302/63 103/303/63 139/304/63 -f 134/232/37 133/264/37 97/263/37 -f 180/305/24 144/306/24 169/307/24 -f 144/174/10 180/305/10 181/308/10 -f 159/309/33 186/310/33 150/311/33 -f 142/168/34 178/312/34 179/313/34 -f 124/314/64 151/295/64 160/315/64 -f 130/316/16 166/254/16 165/241/16 -f 140/162/31 176/317/31 177/318/31 -f 150/289/65 123/288/65 159/319/65 -f 148/256/16 184/242/16 185/253/16 -f 187/320/35 160/321/35 151/322/35 -f 150/261/19 186/310/19 187/320/19 -f 158/323/36 188/324/36 152/325/36 -f 152/266/22 188/324/22 171/326/22 -f 152/301/66 122/300/66 158/327/66 -f 136/270/25 172/328/25 173/329/25 -f 121/330/67 135/281/67 157/331/67 -f 138/272/28 174/332/28 175/333/28 -f 171/326/11 157/334/11 135/335/11 -f 146/276/13 182/239/13 183/246/13 -f 118/336/28 154/337/28 153/338/28 -f 293/339/68 296/340/68 241/341/68 -f 153/338/37 154/337/37 175/333/37 -f 242/342/69 295/343/69 294/344/69 -f 172/328/37 155/345/37 156/346/37 -f 206/347/70 294/344/70 293/339/70 -f 118/348/37 117/297/37 81/296/37 -f 294/344/34 295/349/34 296/350/34 -f 120/351/25 156/346/25 155/345/25 -f 289/352/71 292/353/71 247/354/71 -f 84/290/37 120/355/37 119/285/37 -f 248/356/72 291/357/72 290/358/72 -f 85/279/37 121/330/37 122/300/37 -f 290/358/73 289/352/73 211/359/73 -f 188/324/37 158/323/37 157/334/37 -f 290/358/31 291/360/31 292/361/31 -f 159/309/37 160/321/37 187/320/37 -f 285/362/71 288/363/71 245/364/71 -f 158/323/22 122/365/22 121/366/22 -f 246/367/72 287/368/72 286/369/72 -f 124/314/37 123/288/37 87/287/37 -f 210/370/73 286/369/73 285/362/73 -f 124/371/19 160/321/19 159/309/19 -f 286/369/31 287/372/31 288/373/31 -f 281/374/74 284/375/74 251/376/74 -f 94/282/37 130/247/37 129/251/37 -f 252/377/75 283/378/75 282/379/75 -f 96/274/37 132/237/37 131/230/37 -f 282/379/76 281/374/76 215/380/76 -f 184/242/37 165/241/37 166/254/37 -f 282/379/16 283/381/16 284/382/16 -f 167/238/37 168/244/37 183/246/37 -f 277/383/74 280/384/74 249/385/74 -f 167/238/13 131/386/13 132/387/13 -f 250/388/75 279/389/75 278/390/75 -f 214/391/76 278/390/76 277/383/76 -f 278/390/16 279/392/16 280/393/16 -f 273/394/77 276/395/77 255/396/77 -f 256/397/78 275/398/78 274/399/78 -f 274/399/79 273/394/79 219/400/79 -f 274/399/13 275/401/13 276/402/13 -f 269/403/77 272/404/77 253/405/77 -f 254/406/78 271/407/78 270/408/78 -f 218/409/79 270/408/79 269/403/79 -f 270/408/13 271/410/13 272/411/13 -f 265/412/80 268/413/80 259/414/80 -f 260/415/81 267/416/81 266/417/81 -f 266/417/82 265/412/82 223/418/82 -f 265/412/10 266/417/10 267/419/10 -f 261/420/80 264/421/80 257/422/80 -f 258/423/81 263/424/81 262/425/81 -f 262/425/82 261/420/82 221/426/82 -f 262/425/10 263/427/10 264/428/10 -f 298/429/34 299/430/34 300/431/34 -f 208/432/70 298/429/70 297/433/70 -f 244/434/69 299/435/69 298/429/69 -f 297/433/68 300/436/68 243/437/68 -f 302/438/19 303/439/19 304/440/19 -f 302/438/83 301/441/83 201/442/83 -f 238/443/84 303/444/84 302/438/84 -f 301/441/85 304/445/85 237/446/85 -f 306/447/19 307/448/19 308/449/19 -f 204/450/83 306/447/83 305/451/83 -f 240/452/84 307/453/84 306/447/84 -f 305/451/85 308/454/85 239/455/85 -f 310/456/22 311/457/22 312/458/22 -f 310/456/86 309/459/86 200/460/86 -f 235/461/39 311/462/39 310/456/39 -f 309/459/40 312/463/40 236/464/40 -f 314/465/22 315/466/22 316/467/22 -f 314/465/86 313/468/86 198/469/86 -f 233/470/39 315/471/39 314/465/39 -f 313/468/40 316/472/40 234/473/40 -f 318/474/25 319/475/25 320/476/25 -f 194/477/87 318/474/87 317/478/87 -f 230/479/88 319/480/88 318/474/88 -f 317/478/89 320/481/89 229/482/89 -f 322/483/25 323/484/25 324/485/25 -f 322/483/87 321/486/87 195/487/87 -f 232/488/88 323/489/88 322/483/88 -f 321/486/89 324/490/89 231/491/89 -f 326/492/28 327/493/28 328/494/28 -f 190/495/90 326/492/90 325/496/90 -f 226/497/91 327/498/91 326/492/91 -f 325/496/92 328/499/92 225/500/92 -f 330/501/28 331/502/28 332/503/28 -f 330/501/90 329/504/90 191/505/90 -f 228/506/91 331/507/91 330/501/91 -f 329/504/92 332/508/92 227/509/92 -f 134/510/10 170/511/10 169/307/10 -f 169/307/37 170/511/37 181/308/37 -f 161/512/37 162/513/37 179/313/37 -f 126/514/34 162/513/34 161/512/34 -f 90/258/37 126/515/37 125/159/37 -f 128/516/37 127/171/37 91/170/37 -f 128/517/31 164/518/31 163/519/31 -f 163/519/37 164/518/37 177/318/37 -f 170/511/26 145/520/26 181/308/26 -f 144/265/93 133/264/93 169/521/93 -f 126/515/94 143/260/94 162/522/94 -f 142/160/95 125/159/95 161/523/95 -f 161/512/21 178/312/21 142/524/21 -f 128/516/96 141/166/96 164/525/96 -f 140/172/97 127/171/97 163/526/97 -f 163/519/18 176/317/18 140/527/18 -f 164/518/20 141/528/20 177/318/20 -f 118/348/98 139/304/98 154/529/98 -f 154/337/17 139/530/17 175/333/17 -f 138/298/99 117/297/99 153/531/99 -f 153/338/15 174/332/15 138/532/15 -f 173/329/14 156/346/14 137/533/14 -f 120/355/100 137/292/100 156/534/100 -f 136/286/101 119/285/101 155/535/101 -f 155/345/12 172/328/12 136/536/12 -f 162/513/23 143/537/23 179/313/23 -f 15/538/1 17/1/1 16/3/1 -f 11/539/2 13/4/2 12/6/2 -f 9/31/3 10/7/3 43/9/3 -f 41/74/4 42/10/4 39/12/4 -f 24/102/5 23/13/5 26/15/5 -f 20/540/6 19/16/6 22/18/6 -f 36/541/7 35/19/7 38/21/7 -f 31/542/8 33/22/8 32/24/8 -f 27/543/9 29/25/9 28/27/9 -f 45/32/10 48/28/10 46/30/10 -f 46/30/11 10/7/11 45/32/11 -f 11/544/12 12/33/12 48/28/12 -f 49/37/13 52/34/13 50/36/13 -f 50/36/14 14/5/14 49/37/14 -f 52/34/15 15/38/15 51/35/15 -f 54/43/16 53/40/16 55/42/16 -f 18/2/17 17/1/17 54/43/17 -f 19/545/18 20/44/18 56/41/18 -f 57/48/19 60/45/19 58/47/19 -f 22/18/20 21/17/20 58/47/20 -f 23/546/21 24/49/21 60/45/21 -f 62/53/22 61/50/22 63/52/22 -f 26/15/23 25/14/23 62/53/23 -f 27/547/24 28/54/24 64/51/24 -f 66/58/25 65/55/25 67/57/25 -f 30/26/26 29/25/26 66/58/26 -f 68/56/27 31/59/27 67/57/27 -f 69/64/28 72/61/28 70/63/28 -f 34/23/29 33/22/29 70/63/29 -f 35/548/30 36/65/30 72/61/30 -f 73/69/31 76/66/31 74/68/31 -f 38/21/32 37/20/32 74/68/32 -f 39/549/33 40/70/33 76/66/33 -f 78/75/34 77/71/34 79/73/34 -f 42/10/35 41/74/35 78/75/35 -f 80/72/36 43/76/36 79/73/36 -f 1/83/37 62/78/37 3/80/37 -f 81/550/1 16/3/1 82/89/1 -f 98/225/26 30/26/26 109/90/26 -f 59/46/21 24/49/21 106/92/21 -f 79/73/36 44/77/36 116/94/36 -f 92/177/20 22/18/20 105/98/20 -f 88/217/35 42/10/35 115/99/35 -f 51/35/15 16/39/15 102/101/15 -f 89/551/5 24/102/5 90/103/5 -f 71/62/30 36/65/30 112/105/30 -f 2/95/37 4/97/37 46/109/37 -f 43/552/38 80/114/38 9/116/38 -f 77/125/38 41/117/38 76/119/38 -f 73/126/38 37/120/38 72/122/38 -f 80/114/38 8/123/38 45/115/38 -f 33/553/38 31/130/38 69/128/38 -f 68/129/38 7/127/38 69/128/38 -f 5/137/38 7/127/38 61/135/38 -f 21/554/38 19/142/38 57/140/38 -f 56/141/38 5/137/38 57/140/38 -f 49/150/38 13/145/38 48/144/38 -f 53/143/38 17/147/38 52/149/38 -f 6/555/39 2/95/39 5/151/39 -f 1/83/3 3/80/3 5/153/3 -f 3/80/40 4/97/40 7/155/40 -f 4/97/22 2/95/22 8/157/22 -f 106/556/102 89/158/102 142/160/102 -f 105/228/37 104/161/37 141/163/37 -f 128/516/103 92/164/103 141/166/103 -f 107/220/37 106/167/37 143/169/37 -f 104/557/104 91/170/104 140/172/104 -f 109/213/37 108/173/37 145/175/37 -f 85/195/11 10/7/11 99/176/11 -f 20/540/6 22/18/6 91/178/6 -f 67/57/27 32/60/27 110/180/27 -f 12/6/2 14/5/2 83/182/2 -f 47/29/12 12/33/12 100/184/12 -f 36/541/7 38/21/7 93/186/7 -f 94/185/32 38/21/32 113/187/32 -f 113/558/16 74/188/16 112/190/16 -f 82/89/17 18/2/17 103/191/17 -f 78/559/19 75/192/19 115/194/19 -f 44/8/3 10/7/3 86/196/3 -f 75/67/33 40/70/33 114/198/33 -f 95/560/8 32/24/8 96/199/8 -f 46/561/22 79/200/22 99/202/22 -f 55/42/18 20/44/18 104/204/18 -f 90/103/23 26/15/23 107/205/23 -f 50/562/25 47/206/25 101/208/25 -f 54/563/28 51/209/28 103/211/28 -f 66/564/10 63/212/10 109/213/10 -f 63/52/24 28/54/24 108/215/24 -f 96/199/29 34/23/29 111/216/29 -f 40/11/4 42/10/4 87/218/4 -f 62/565/34 59/219/34 107/220/34 -f 84/181/14 14/5/14 101/221/14 -f 70/566/13 67/222/13 111/224/13 -f 28/27/9 30/26/9 97/226/9 -f 58/567/31 55/227/31 105/228/31 -f 113/558/37 112/190/37 149/257/37 -f 126/515/105 90/258/105 143/260/105 -f 115/194/37 114/193/37 151/262/37 -f 108/568/106 97/263/106 144/265/106 -f 99/202/37 116/201/37 135/267/37 -f 134/232/107 98/268/107 145/233/107 -f 137/569/37 101/208/37 136/270/37 -f 110/570/108 95/271/108 146/229/108 -f 103/211/37 102/210/37 139/273/37 -f 132/237/109 96/274/109 147/235/109 -f 111/224/37 110/223/37 147/277/37 -f 112/571/110 93/278/110 148/250/110 -f 121/330/111 85/279/111 135/281/111 -f 130/247/112 94/282/112 149/248/112 -f 100/572/113 83/284/113 136/286/113 -f 114/573/114 87/287/114 150/289/114 -f 120/355/115 84/290/115 137/292/115 -f 124/314/116 88/293/116 151/295/116 -f 102/574/117 81/296/117 138/298/117 -f 116/575/118 86/299/118 152/301/118 -f 118/348/119 82/302/119 139/304/119 -f 98/268/37 134/232/37 97/263/37 -f 145/175/10 144/174/10 181/308/10 -f 143/169/34 142/168/34 179/313/34 -f 129/576/16 130/316/16 165/241/16 -f 141/163/31 140/162/31 177/318/31 -f 149/257/16 148/256/16 185/253/16 -f 151/262/19 150/261/19 187/320/19 -f 135/267/22 152/266/22 171/326/22 -f 137/569/25 136/270/25 173/329/25 -f 139/273/28 138/272/28 175/333/28 -f 147/277/13 146/276/13 183/246/13 -f 117/577/28 118/336/28 153/338/28 -f 205/578/68 293/339/68 241/341/68 -f 174/332/37 153/338/37 175/333/37 -f 206/347/69 242/342/69 294/344/69 -f 173/329/37 172/328/37 156/346/37 -f 205/578/70 206/347/70 293/339/70 -f 82/302/37 118/348/37 81/296/37 -f 293/339/34 294/344/34 296/350/34 -f 119/579/25 120/351/25 155/345/25 -f 211/359/71 289/352/71 247/354/71 -f 83/284/37 84/290/37 119/285/37 -f 212/580/72 248/356/72 290/358/72 -f 86/299/37 85/279/37 122/300/37 -f 212/580/73 290/358/73 211/359/73 -f 171/326/37 188/324/37 157/334/37 -f 289/352/31 290/358/31 292/361/31 -f 186/310/37 159/309/37 187/320/37 -f 209/581/71 285/362/71 245/364/71 -f 157/334/22 158/323/22 121/366/22 -f 210/370/72 246/367/72 286/369/72 -f 88/293/37 124/314/37 87/287/37 -f 209/581/73 210/370/73 285/362/73 -f 123/582/19 124/371/19 159/309/19 -f 285/362/31 286/369/31 288/373/31 -f 215/380/74 281/374/74 251/376/74 -f 93/278/37 94/282/37 129/251/37 -f 216/583/75 252/377/75 282/379/75 -f 95/271/37 96/274/37 131/230/37 -f 216/583/76 282/379/76 215/380/76 -f 185/253/37 184/242/37 166/254/37 -f 281/374/16 282/379/16 284/382/16 -f 182/239/37 167/238/37 183/246/37 -f 213/584/74 277/383/74 249/385/74 -f 168/244/13 167/238/13 132/387/13 -f 214/391/75 250/388/75 278/390/75 -f 213/584/76 214/391/76 277/383/76 -f 277/383/16 278/390/16 280/393/16 -f 219/400/77 273/394/77 255/396/77 -f 220/585/78 256/397/78 274/399/78 -f 220/585/79 274/399/79 219/400/79 -f 273/394/13 274/399/13 276/402/13 -f 217/586/77 269/403/77 253/405/77 -f 218/409/78 254/406/78 270/408/78 -f 217/586/79 218/409/79 269/403/79 -f 269/403/13 270/408/13 272/411/13 -f 223/418/80 265/412/80 259/414/80 -f 224/587/81 260/415/81 266/417/81 -f 224/587/82 266/417/82 223/418/82 -f 268/588/10 265/412/10 267/419/10 -f 221/426/80 261/420/80 257/422/80 -f 222/589/81 258/423/81 262/425/81 -f 222/589/82 262/425/82 221/426/82 -f 261/420/10 262/425/10 264/428/10 -f 297/433/34 298/429/34 300/431/34 -f 207/590/70 208/432/70 297/433/70 -f 208/432/69 244/434/69 298/429/69 -f 207/590/68 297/433/68 243/437/68 -f 301/441/19 302/438/19 304/440/19 -f 202/591/83 302/438/83 201/442/83 -f 202/591/84 238/443/84 302/438/84 -f 201/442/85 301/441/85 237/446/85 -f 305/451/19 306/447/19 308/449/19 -f 203/592/83 204/450/83 305/451/83 -f 204/450/84 240/452/84 306/447/84 -f 203/592/85 305/451/85 239/455/85 -f 309/459/22 310/456/22 312/458/22 -f 199/593/86 310/456/86 200/460/86 -f 199/593/39 235/461/39 310/456/39 -f 200/460/40 309/459/40 236/464/40 -f 313/468/22 314/465/22 316/467/22 -f 197/594/86 314/465/86 198/469/86 -f 197/594/39 233/470/39 314/465/39 -f 198/469/40 313/468/40 234/473/40 -f 317/478/25 318/474/25 320/476/25 -f 193/595/87 194/477/87 317/478/87 -f 194/477/88 230/479/88 318/474/88 -f 193/595/89 317/478/89 229/482/89 -f 321/486/25 322/483/25 324/485/25 -f 196/596/87 322/483/87 195/487/87 -f 196/596/88 232/488/88 322/483/88 -f 195/487/89 321/486/89 231/491/89 -f 325/496/28 326/492/28 328/494/28 -f 189/597/90 190/495/90 325/496/90 -f 190/495/91 226/497/91 326/492/91 -f 189/597/92 325/496/92 225/500/92 -f 329/504/28 330/501/28 332/503/28 -f 192/598/90 330/501/90 191/505/90 -f 192/598/91 228/506/91 330/501/91 -f 191/505/92 329/504/92 227/509/92 -f 133/599/10 134/510/10 169/307/10 -f 180/305/37 169/307/37 181/308/37 -f 178/312/37 161/512/37 179/313/37 -f 125/600/34 126/514/34 161/512/34 -f 89/158/37 90/258/37 125/159/37 -f 92/164/37 128/516/37 91/170/37 -f 127/601/31 128/517/31 163/519/31 -f 176/317/37 163/519/37 177/318/37 diff --git a/src/main/resources/assets/hbm/models/weapons/animations/benelli.json b/src/main/resources/assets/hbm/models/weapons/animations/benelli.json new file mode 100644 index 000000000..0e37a1ce0 --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/animations/benelli.json @@ -0,0 +1 @@ +{"anim": {"Fire": {"Body": {"location": {"x": [[0.0, 0.0], [0.0, 33.333333333333336], [0.0, 66.66666666666666], [0.0, 66.66666666666666], [0.0, 83.33333333333334], [0.0, 100.0]], "z": [[-0.0, 0.0], [1.2799978256225586, 33.333333333333336], [3.300405740737915, 66.66666666666666], [3.3889946937561035, 66.66666666666666], [2.0333967208862305, 83.33333333333334], [-0.0, 100.0]], "y": [[0.0, 0.0], [0.9528294205665588, 33.333333333333336], [1.7167738676071167, 66.66666666666666], [0.5139352083206177, 66.66666666666666], [0.30836111307144165, 83.33333333333334], [0.0, 100.0]]}, "rotation_euler": {"x": [[0.0, 0.0], [-5.1962657672336, 16.666666666666668], [6.746534720605728, 100.0], [1.678380570478235, 49.999999999999986], [1.0070283636312822, 83.33333333333334], [0.0, 100.0]], "z": [[-0.0, 0.0], [-0.0, 16.666666666666668], [-0.0, 100.0], [0.0, 49.999999999999986], [0.0, 83.33333333333334], [-0.0, 100.0]], "y": [[0.0, 0.0], [0.0, 16.666666666666668], [0.0, 100.0], [0.0, 49.999999999999986], [0.0, 83.33333333333334], [0.0, 100.0]]}}, "Bolt": {"location": {"z": [[-0.0, 0.0], [4.257456302642822, 66.66666666666667], [4.257456302642822, 33.33333333333333], [2.882056713104248, 66.66666666666666], [-0.0, 83.33333333333334]]}}}, "Reload": {"Body": {"location": {"x": [[0.0, 0.0], [0.5007915496826172, 83.33333333333333], [0.46001285314559937, 83.33333333333333], [0.15397095680236816, 100.00000000000003], [0.03881697356700897, 116.66666666666663], [0.03881697356700897, 116.66666666666669], [0.6601351499557495, 383.33333333333326], [0.4018043577671051, 133.33333333333337], [0.8223400712013245, 83.33333333333337], [0.6317735910415649, 83.33333333333326], [0.15794339776039124, 116.66666666666674], [0.0, 66.66666666666674]], "z": [[-0.0, 0.0], [0.4146515130996704, 83.33333333333333], [0.3180652856826782, 83.33333333333333], [-0.12122371792793274, 100.00000000000003], [-0.2061876803636551, 116.66666666666663], [-0.2061876803636551, 116.66666666666669], [-0.6247760653495789, 383.33333333333326], [-1.290284276008606, 133.33333333333337], [-1.3669732809066772, 83.33333333333337], [-1.4020495414733887, 83.33333333333326], [-0.35051238536834717, 116.66666666666674], [-0.0, 66.66666666666674]], "y": [[0.0, 0.0], [1.4644715785980225, 83.33333333333333], [1.9239956140518188, 83.33333333333333], [-0.3446009159088135, 100.00000000000003], [-0.7123041152954102, 116.66666666666663], [-0.7123041152954102, 116.66666666666669], [0.6297056674957275, 383.33333333333326], [0.5360619425773621, 133.33333333333337], [1.523516058921814, 83.33333333333337], [0.8995347023010254, 83.33333333333326], [0.22488367557525635, 116.66666666666674], [0.0, 66.66666666666674]]}, "rotation_euler": {"x": [[0.0, 0.0], [8.444355823730817, 116.66666666666667], [10.09434425832466, 83.33333333333333], [10.670753313892146, 33.33333333333334], [4.141512097107088, 116.66666666666666], [1.1253919134096066, 150.0], [-4.873045847782964, 350.0], [-4.873045847782964, 166.66666666666663], [-1.8423141819035325, 50.000000000000114], [-0.5846049624063828, 116.66666666666652], [-0.1461512406015957, 116.66666666666674], [0.0, 66.66666666666674]], "z": [[-0.0, 0.0], [-9.164495111323818, 116.66666666666667], [-10.54833497962436, 83.33333333333333], [-10.991167733141198, 33.33333333333334], [-9.358875464913211, 116.66666666666666], [-10.721522963766496, 150.0], [-22.99460365222414, 350.0], [-22.99460365222414, 166.66666666666663], [-24.61038393813362, 50.000000000000114], [-19.906907354893153, 116.66666666666652], [-4.976726838723288, 116.66666666666674], [-0.0, 66.66666666666674]], "y": [[-0.0, 0.0], [-1.7598609920167847, 116.66666666666667], [-2.1381843163701446, 83.33333333333333], [-2.2967894197474803, 33.33333333333334], [-2.016966814735813, 116.66666666666666], [-2.2765310786692226, 150.0], [0.2646153489071927, 350.0], [0.2646153489071927, 166.66666666666663], [-1.4523905282968463, 50.000000000000114], [-0.7688532106097378, 116.66666666666652], [-0.19221331599264765, 116.66666666666674], [0.0, 66.66666666666674]]}}, "Drum": {"location": {"x": [[0.0, 0.0], [0.0, 266.6666666666667], [0.0, 99.99999999999994], [0.0, 316.66666666666674], [-7.078051567077637e-08, 183.33333333333337], [-7.078051567077637e-08, 66.66666666666663], [-7.078051567077637e-08, 83.33333333333326]], "z": [[-0.0, 0.0], [-0.0, 266.6666666666667], [-0.0, 99.99999999999994], [-0.0, 316.66666666666674], [-0.16810643672943115, 183.33333333333337], [-0.16810643672943115, 66.66666666666663], [-0.0, 83.33333333333326]], "y": [[0.0, 0.0], [0.0, 266.6666666666667], [-3.731025218963623, 99.99999999999994], [-3.731025218963623, 316.66666666666674], [-0.9465155601501465, 183.33333333333337], [-0.9465155601501465, 66.66666666666663], [0.0, 83.33333333333326]]}, "rotation_euler": {"x": [[0.0, 0.0], [0.0, 266.6666666666667], [0.0, 99.99999999999994], [0.0, 316.66666666666674], [18.37620219773806, 183.33333333333337], [18.37620219773806, 66.66666666666663], [0.0, 83.33333333333326]], "z": [[0.0, 0.0], [0.0, 266.6666666666667], [0.0, 99.99999999999994], [0.0, 316.66666666666674], [3.379190651762519e-06, 183.33333333333337], [3.379190651762519e-06, 66.66666666666663], [-0.0, 83.33333333333326]], "y": [[0.0, 0.0], [0.0, 266.6666666666667], [0.0, 99.99999999999994], [0.0, 316.66666666666674], [-3.3751875801959914e-07, 183.33333333333337], [-3.3751875801959914e-07, 66.66666666666663], [-3.3751875801959914e-07, 83.33333333333326]]}}}, "ReloadEmpty": {"Body": {"location": {"x": [[0.0, 0.0], [0.5007915496826172, 83.33333333333333], [0.46001285314559937, 83.33333333333333], [0.15397095680236816, 100.00000000000003], [0.03881697356700897, 116.66666666666663], [0.03881697356700897, 116.66666666666669], [0.6601351499557495, 383.33333333333326], [0.4018043577671051, 133.33333333333337], [0.8223400712013245, 83.33333333333337], [0.6317735910415649, 133.33333333333348], [-1.6643010377883911, 99.99999999999977], [-2.1745400428771973, 83.33333333333348], [-1.930220603942871, 233.33333333333326], [-2.2005791664123535, 100.0], [0.0, 233.33333333333348]], "z": [[-0.0, 0.0], [0.4146515130996704, 83.33333333333333], [0.3180652856826782, 83.33333333333333], [-0.12122371792793274, 100.00000000000003], [-0.2061876803636551, 116.66666666666663], [-0.2061876803636551, 116.66666666666669], [-0.6247760653495789, 383.33333333333326], [-1.290284276008606, 133.33333333333337], [-1.3669732809066772, 83.33333333333337], [-1.4020495414733887, 133.33333333333348], [-1.1939475536346436, 99.99999999999977], [-1.147702693939209, 83.33333333333348], [-0.7498241662979126, 233.33333333333326], [-1.5017924308776855, 100.0], [-0.0, 233.33333333333348]], "y": [[0.0, 0.0], [1.4644715785980225, 83.33333333333333], [1.9239956140518188, 83.33333333333333], [-0.3446009159088135, 100.00000000000003], [-0.7123041152954102, 116.66666666666663], [-0.7123041152954102, 116.66666666666669], [0.6297056674957275, 383.33333333333326], [0.5360619425773621, 133.33333333333337], [1.523516058921814, 83.33333333333337], [0.8995347023010254, 133.33333333333348], [0.7137325406074524, 99.99999999999977], [0.672443151473999, 83.33333333333348], [0.7088958621025085, 233.33333333333326], [0.8606953024864197, 100.0], [0.0, 233.33333333333348]]}, "rotation_euler": {"x": [[0.0, 0.0], [8.444355823730817, 116.66666666666667], [10.09434425832466, 83.33333333333333], [10.670753313892146, 33.33333333333334], [4.141512097107088, 116.66666666666666], [1.1253919134096066, 150.0], [-4.873045847782964, 350.0], [-4.873045847782964, 166.66666666666663], [-1.8423141819035325, 50.000000000000114], [-0.5846049624063828, 100.0], [4.828984724334035, 166.66666666666652], [5.661844758233873, 83.33333333333348], [9.69551499853563, 233.33333333333326], [3.8410456722158806, 133.33333333333326], [0.0, 200.00000000000023]], "z": [[-0.0, 0.0], [-9.164495111323818, 116.66666666666667], [-10.54833497962436, 83.33333333333333], [-10.991167733141198, 33.33333333333334], [-9.358875464913211, 116.66666666666666], [-10.721522963766496, 150.0], [-22.99460365222414, 350.0], [-22.99460365222414, 166.66666666666663], [-24.61038393813362, 50.000000000000114], [-19.906907354893153, 100.0], [48.29071467736494, 166.66666666666652], [58.78265705388074, 83.33333333333348], [56.59382389660719, 233.33333333333326], [58.250277959024096, 133.33333333333326], [-0.0, 200.00000000000023]], "y": [[-0.0, 0.0], [-1.7598609920167847, 116.66666666666667], [-2.1381843163701446, 83.33333333333333], [-2.2967894197474803, 33.33333333333334], [-2.016966814735813, 116.66666666666666], [-2.2765310786692226, 150.0], [0.2646153489071927, 350.0], [0.2646153489071927, 166.66666666666663], [-1.4523905282968463, 50.000000000000114], [-0.7688532106097378, 100.0], [18.290462833086888, 166.66666666666652], [21.222664751320654, 83.33333333333348], [22.87163463395452, 233.33333333333326], [21.677345321726527, 133.33333333333326], [0.0, 200.00000000000023]]}}, "Bolt": {"location": {"z": [[-0.0, 0.0], [-0.0, 1416.6666666666667], [4.2012176513671875, 150.0], [4.2012176513671875, 50.0], [2.4794747829437256, 50.0], [-0.0, 49.99999999999977]]}}, "Drum": {"location": {"x": [[0.0, 0.0], [0.0, 266.6666666666667], [0.0, 99.99999999999994], [0.0, 316.66666666666674], [-7.078051567077637e-08, 183.33333333333337], [-7.078051567077637e-08, 66.66666666666663], [-7.078051567077637e-08, 83.33333333333326]], "z": [[-0.0, 0.0], [-0.0, 266.6666666666667], [-0.0, 99.99999999999994], [-0.0, 316.66666666666674], [-0.16810643672943115, 183.33333333333337], [-0.16810643672943115, 66.66666666666663], [-0.0, 83.33333333333326]], "y": [[0.0, 0.0], [0.0, 266.6666666666667], [-3.731025218963623, 99.99999999999994], [-3.731025218963623, 316.66666666666674], [-0.9465155601501465, 183.33333333333337], [-0.9465155601501465, 66.66666666666663], [0.0, 83.33333333333326]]}, "rotation_euler": {"x": [[0.0, 0.0], [0.0, 266.6666666666667], [0.0, 99.99999999999994], [0.0, 316.66666666666674], [18.37620219773806, 183.33333333333337], [18.37620219773806, 66.66666666666663], [0.0, 83.33333333333326]], "z": [[0.0, 0.0], [0.0, 266.6666666666667], [0.0, 99.99999999999994], [0.0, 316.66666666666674], [3.379190651762519e-06, 183.33333333333337], [3.379190651762519e-06, 66.66666666666663], [-0.0, 83.33333333333326]], "y": [[0.0, 0.0], [0.0, 266.6666666666667], [0.0, 99.99999999999994], [0.0, 316.66666666666674], [-3.3751875801959914e-07, 183.33333333333337], [-3.3751875801959914e-07, 66.66666666666663], [-3.3751875801959914e-07, 83.33333333333326]]}}}}, "offset": {}} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/weapons/animations/congolake.json b/src/main/resources/assets/hbm/models/weapons/animations/congolake.json new file mode 100644 index 000000000..0fd6911a6 --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/animations/congolake.json @@ -0,0 +1 @@ +{"anim": {"Fire": {"Gun": {"location": {"x": [[0.0, 0.0], [0.0, 50.0], [-0.015234995633363724, 133.33333333333331], [-0.0032073669135570526, 166.66666666666669], [0.0, 150.0], [0.1729116439819336, 183.33333333333337], [0.13706907629966736, 83.33333333333326], [0.13706907629966736, 200.0], [0.08123889565467834, 166.66666666666663], [0.0, 116.66666666666674]], "z": [[-0.0, 0.0], [-0.7130982875823975, 50.0], [-0.8931010961532593, 133.33333333333331], [-0.1880212426185608, 166.66666666666669], [-0.0, 150.0], [0.07001475989818573, 183.33333333333337], [0.3594728708267212, 83.33333333333326], [0.3594728708267212, 200.0], [0.052131712436676025, 166.66666666666663], [-0.0, 116.66666666666674]], "y": [[0.0, 0.0], [-0.05462139472365379, 50.0], [0.33006909489631653, 133.33333333333331], [0.06948822736740112, 166.66666666666669], [0.0, 150.0], [0.1356278508901596, 183.33333333333337], [0.16076654195785522, 83.33333333333326], [0.16076654195785522, 200.0], [0.13280370831489563, 166.66666666666663], [0.0, 116.66666666666674]]}, "rotation_euler": {"x": [[0.0, 0.0], [5.533829083941263, 83.33333333333333], [-6.777895961066664, 133.33333333333337], [-1.4269255553586289, 166.66666666666663], [0.0, 116.66666666666669], [-1.6187724423744758, 216.66666666666663], [-3.0496036919995886, 100.0], [-1.5771150119048625, 216.66666666666663], [-1.3797563756722266, 133.33333333333348], [0.0, 116.66666666666652]], "z": [[-0.0, 0.0], [0.20789931232904474, 83.33333333333333], [-0.2137078679498249, 133.33333333333337], [-0.04499113641374835, 166.66666666666663], [-0.0, 116.66666666666669], [6.481160527009576, 216.66666666666663], [6.3670886839075465, 100.0], [2.910396325865089, 216.66666666666663], [2.9018462096847024, 133.33333333333348], [-0.0, 116.66666666666652]], "y": [[0.0, 0.0], [0.299797573280649, 83.33333333333333], [-0.3922261210480681, 133.33333333333337], [-0.08257391881641295, 166.66666666666663], [0.0, 116.66666666666669], [-1.7981676810899783, 216.66666666666663], [-1.8284025806680975, 100.0], [4.424185025436767, 216.66666666666663], [0.5393851613977845, 133.33333333333348], [0.0, 116.66666666666652]]}}, "Loop": {"rotation_euler": {"z": [[0.0, 0.0], [28.83552188323058, 50.0], [-11.070683087911195, 50.0], [-2.56723823045354, 33.33333333333334], [7.0765451287518255, 49.99999999999997], [80.15762477840892, 116.66666666666669], [60.820607917294126, 50.0], [-0.0, 83.33333333333337]]}, "location": {"x": [[0.2532634139060974, 0.0]], "z": [[3.4837722778320312, 0.0]], "y": [[1.4936577081680298, 0.0]]}}, "Pump": {"location": {"z": [[-0.0, 683.3333333333334], [-0.10627399384975433, 49.999999999999886], [-0.7439179420471191, 66.66666666666674], [-0.7439179420471191, 200.0], [-0.18597948551177979, 66.66666666666674], [-0.0, 66.66666666666652]]}}, "Shell": {"location": {"x": [[1.5205265935236412e-09, 0.0, "CONSTANT"], [-2.204763704938273e-09, 683.3333333333334], [-2.204763704938273e-09, 66.66666666666663], [1.5205265935236412e-09, 116.66666666666674], [-0.01397116482257843, 66.66666666666663], [-0.01397116482257843, 49.999999999999886], [1.5205265935236412e-09, 150.0]], "z": [[1.2549771070480347, 0.0, "CONSTANT"], [1.2549771070480347, 683.3333333333334], [0.4066495895385742, 66.66666666666663], [0.4066495895385742, 116.66666666666674], [0.4519183039665222, 66.66666666666663], [0.4519183039665222, 49.999999999999886], [1.2549771070480347, 150.0]], "y": [[1.7459099292755127, 0.0, "CONSTANT"], [1.199751853942871, 683.3333333333334], [1.199751853942871, 66.66666666666663], [1.5027252435684204, 116.66666666666674], [1.5814520120620728, 66.66666666666663], [1.5814520120620728, 49.999999999999886], [1.7459099292755127, 150.0]]}, "rotation_euler": {"x": [[0.0, 0.0, "CONSTANT"], [0.0, 683.3333333333334], [0.0, 66.66666666666663], [-24.580495030325643, 116.66666666666674], [-15.192167789711336, 66.66666666666663], [-15.192167789711336, 49.999999999999886], [0.0, 150.0]], "z": [[0.0, 0.0, "CONSTANT"], [0.0, 683.3333333333334], [0.0, 66.66666666666663], [0.0, 116.66666666666674], [-9.025331207124422e-09, 66.66666666666663], [-9.025331207124422e-09, 49.999999999999886], [0.0, 150.0]], "y": [[0.0, 0.0, "CONSTANT"], [0.0, 683.3333333333334], [0.0, 66.66666666666663], [8.004127933608693e-08, 116.66666666666674], [1.31019960381489e-07, 66.66666666666663], [1.31019960381489e-07, 49.999999999999886], [0.0, 150.0]]}}, "Sight": {"rotation_euler": {"x": [[0.0, 0.0], [-10.132303034637006, 50.0], [0.0, 33.33333333333333], [0.0, 99.99999999999999], [-7.955241708397972, 83.33333333333337], [-10.701222787779573, 99.99999999999994], [0.0, 116.66666666666669]]}, "location": {"x": [[0.0, 0.0]], "z": [[2.990000009536743, 0.0]], "y": [[2.104297161102295, 0.0]]}}}, "FireEmpty": {"Gun": {"location": {"x": [[0.0, 0.0], [0.0, 50.0], [-0.015234995633363724, 133.33333333333331], [-0.0032073669135570526, 166.66666666666669], [0.0, 150.0], [0.1729116439819336, 183.33333333333337], [0.13706907629966736, 83.33333333333326], [0.13706907629966736, 200.0], [0.08123889565467834, 166.66666666666663], [0.0, 116.66666666666674]], "z": [[-0.0, 0.0], [-0.7130982875823975, 50.0], [-0.8931010961532593, 133.33333333333331], [-0.1880212426185608, 166.66666666666669], [-0.0, 150.0], [0.07001475989818573, 183.33333333333337], [0.3594728708267212, 83.33333333333326], [0.3594728708267212, 200.0], [0.052131712436676025, 166.66666666666663], [-0.0, 116.66666666666674]], "y": [[0.0, 0.0], [-0.05462139472365379, 50.0], [0.33006909489631653, 133.33333333333331], [0.06948822736740112, 166.66666666666669], [0.0, 150.0], [0.1356278508901596, 183.33333333333337], [0.16076654195785522, 83.33333333333326], [0.16076654195785522, 200.0], [0.13280370831489563, 166.66666666666663], [0.0, 116.66666666666674]]}, "rotation_euler": {"x": [[0.0, 0.0], [5.533829083941263, 83.33333333333333], [-6.777895961066664, 133.33333333333337], [-1.4269255553586289, 166.66666666666663], [0.0, 116.66666666666669], [-1.6187724423744758, 216.66666666666663], [-3.0496036919995886, 100.0], [-1.5771150119048625, 216.66666666666663], [-1.3797563756722266, 133.33333333333348], [0.0, 116.66666666666652]], "z": [[-0.0, 0.0], [0.20789931232904474, 83.33333333333333], [-0.2137078679498249, 133.33333333333337], [-0.04499113641374835, 166.66666666666663], [-0.0, 116.66666666666669], [6.481160527009576, 216.66666666666663], [6.3670886839075465, 100.0], [2.910396325865089, 216.66666666666663], [2.9018462096847024, 133.33333333333348], [-0.0, 116.66666666666652]], "y": [[0.0, 0.0], [0.299797573280649, 83.33333333333333], [-0.3922261210480681, 133.33333333333337], [-0.08257391881641295, 166.66666666666663], [0.0, 116.66666666666669], [-1.7981676810899783, 216.66666666666663], [-1.8284025806680975, 100.0], [4.424185025436767, 216.66666666666663], [0.5393851613977845, 133.33333333333348], [0.0, 116.66666666666652]]}}, "Loop": {"rotation_euler": {"z": [[0.0, 0.0], [28.83552188323058, 50.0], [-11.070683087911195, 50.0], [-2.56723823045354, 33.33333333333334], [7.0765451287518255, 49.99999999999997], [80.15762477840892, 116.66666666666669], [60.820607917294126, 50.0], [-0.0, 83.33333333333337]]}, "location": {"x": [[0.2532634139060974, 0.0]], "z": [[3.4837722778320312, 0.0]], "y": [[1.4936577081680298, 0.0]]}}, "Pump": {"location": {"z": [[-0.0, 683.3333333333334], [-0.10627399384975433, 49.999999999999886], [-0.7439179420471191, 66.66666666666674], [-0.7439179420471191, 200.0], [-0.18597948551177979, 66.66666666666674], [-0.0, 66.66666666666652]]}}, "Shell": {"location": {"x": [[1.5205265935236412e-09, 0.0]], "z": [[1.2549771070480347, 0.0]], "y": [[-4.465472221374512, 0.0]]}}, "Sight": {"rotation_euler": {"x": [[0.0, 0.0], [-10.132303034637006, 50.0], [0.0, 33.33333333333333], [0.0, 99.99999999999999], [-7.955241708397972, 83.33333333333337], [-10.701222787779573, 99.99999999999994], [0.0, 116.66666666666669]]}, "location": {"x": [[0.0, 0.0]], "z": [[2.990000009536743, 0.0]], "y": [[2.104297161102295, 0.0]]}}}, "Reload": {"GuardInner": {"location": {"x": [[3.725290298461914e-09, 0.0]], "z": [[0.8854429721832275, 0.0]], "y": [[0.8707519173622131, 0.0]]}, "rotation_euler": {"x": [[0.0, 350.0], [16.02038116054145, 83.33333333333337], [23.71116221314476, 83.33333333333326], [23.71116221314476, 66.66666666666674], [0.0, 83.33333333333326]]}}, "GuardOuter": {"location": {"x": [[0.0, 0.0]], "z": [[-0.07262593507766724, 0.0]], "y": [[0.8707519173622131, 0.0]]}, "rotation_euler": {"x": [[0.0, 350.0], [-17.139458137176558, 83.33333333333337], [-29.355340260203572, 83.33333333333326], [-29.355340260203572, 100.00000000000011], [0.0, 99.99999999999989]]}}, "Gun": {"location": {"x": [[1.7611019611358643, 0.0], [1.7662079334259033, 150.0], [1.7611019611358643, 250.0], [1.613909363746643, 100.0], [1.7571532726287842, 116.66666666666674], [1.7611019611358643, 99.99999999999989]], "z": [[0.31467199325561523, 0.0], [0.30754023790359497, 150.0], [0.31467199325561523, 250.0], [0.4306454658508301, 100.0], [0.3806498050689697, 116.66666666666674], [0.31467199325561523, 99.99999999999989]], "y": [[0.8750439286231995, 0.0], [0.8376463055610657, 150.0], [0.8750439286231995, 250.0], [1.1308174133300781, 100.0], [1.108587384223938, 116.66666666666674], [0.8750439286231995, 99.99999999999989]]}, "rotation_euler": {"x": [[-18.983153297952903, 0.0], [-20.857867762844858, 250.0], [-18.983153297952903, 100.0], [-20.627756982159838, 116.66666666666669], [-20.258341078257818, 116.66666666666669], [-18.983153297952903, 133.33333333333326]], "z": [[86.04810969222216, 0.0], [87.57263523572567, 250.0], [86.04810969222216, 100.0], [89.15816119870658, 116.66666666666669], [86.00693048171614, 116.66666666666669], [86.04810969222216, 133.33333333333326]], "y": [[29.613753637261834, 0.0], [28.64577410544575, 250.0], [29.613753637261834, 100.0], [25.730953311102372, 116.66666666666669], [27.311677651096765, 116.66666666666669], [29.613753637261834, 133.33333333333326]]}}, "Shell": {"location": {"x": [[1.5205265935236412e-09, 0.0], [1.5205265935236412e-09, 216.66666666666669], [3.600797242597764e-07, 133.33333333333331], [1.9156854591528827e-07, 83.33333333333337], [2.418599649445241e-07, 83.33333333333326], [2.3999731979529315e-07, 100.00000000000011]], "z": [[-2.2731080055236816, 0.0], [-2.2731080055236816, 216.66666666666669], [0.2386959344148636, 133.33333333333331], [0.33605021238327026, 83.33333333333337], [0.4338737428188324, 83.33333333333326], [1.2500436305999756, 100.00000000000011]], "y": [[-1.4170563220977783, 0.0], [-1.4170563220977783, 216.66666666666669], [0.5333303213119507, 133.33333333333331], [0.8954256176948547, 83.33333333333337], [1.1207358837127686, 83.33333333333326], [1.2056175470352173, 100.00000000000011]]}, "rotation_euler": {"x": [[0.0, 0.0], [0.0, 216.66666666666669], [-23.121160227355304, 133.33333333333331], [-14.526026270149163, 83.33333333333337], [-5.042295800981765, 83.33333333333326], [0.0, 100.00000000000011]], "z": [[0.0, 0.0], [-0.0, 216.66666666666669], [-0.0, 133.33333333333331], [2.551953161995936e-07, 83.33333333333337], [7.134593799244011e-07, 83.33333333333326], [-0.0, 100.00000000000011]], "y": [[0.0, 0.0], [0.0, 216.66666666666669], [1.7075472925031877e-06, 133.33333333333331], [1.688370023551335e-06, 83.33333333333337], [1.6331417525071545e-06, 83.33333333333326], [0.0, 100.00000000000011]]}}}, "ReloadEmpty": {"Gun": {"location": {"x": [[0.0, 0.0], [1.2511006593704224, 183.33333333333331], [1.6423077583312988, 216.66666666666669], [1.6554410457611084, 150.0], [1.7105761766433716, 66.66666666666674], [1.7476284503936768, 116.66666666666652], [1.7611019611358643, 133.33333333333348]], "z": [[-0.0, 0.0], [0.26347818970680237, 183.33333333333331], [0.32502928376197815, 216.66666666666669], [0.30153536796569824, 150.0], [0.3000105023384094, 66.66666666666674], [0.3107622563838959, 116.66666666666652], [0.31467199325561523, 133.33333333333348]], "y": [[0.0, 0.0], [0.42658743262290955, 183.33333333333331], [-0.009814918041229248, 216.66666666666669], [-0.1131410151720047, 150.0], [-0.20051059126853943, 66.66666666666674], [0.5882294178009033, 116.66666666666652], [0.8750439286231995, 133.33333333333348]]}, "rotation_euler": {"x": [[0.0, 0.0], [-14.617513238986898, 116.66666666666667], [-37.38541266737456, 233.33333333333331], [-36.45018560017598, 166.66666666666663], [-30.74254485044399, 66.66666666666674], [-21.750068053366945, 149.9999999999999], [-18.983153297952903, 133.33333333333348]], "z": [[-0.0, 0.0], [32.06710636071164, 116.66666666666667], [40.97562647251089, 233.33333333333331], [38.71689657436601, 166.66666666666663], [32.11341504328433, 66.66666666666674], [73.35759772377095, 149.9999999999999], [86.04810969222216, 133.33333333333348]], "y": [[0.0, 0.0], [21.50487279989995, 116.66666666666667], [44.292741993873435, 233.33333333333331], [46.044774308440914, 166.66666666666663], [49.72028010083778, 66.66666666666674], [34.34470124134409, 149.9999999999999], [29.613753637261834, 133.33333333333348]]}}, "Pump": {"location": {"z": [[-0.0, 83.33333333333333], [-0.10627399384975433, 50.000000000000014], [-0.7439179420471191, 66.66666666666666], [-0.7439179420471191, 483.33333333333337], [-0.18597948551177979, 66.66666666666663], [-0.0, 66.66666666666663]]}}, "Shell": {"location": {"x": [[1.5205265935236412e-09, 0.0], [1.8807575702667236, 216.66666666666669], [0.1613924205303192, 216.66666666666669], [0.010319530963897705, 100.0], [2.558298035637563e-07, 83.33333333333337]], "z": [[-2.2731080055236816, 0.0], [-1.77922523021698, 216.66666666666669], [0.5386117100715637, 216.66666666666669], [0.9011819362640381, 100.0], [1.2500436305999756, 83.33333333333337]], "y": [[-1.4170563220977783, 0.0], [-0.7542737126350403, 216.66666666666669], [1.8265879154205322, 216.66666666666669], [1.7011022567749023, 100.0], [1.7520724534988403, 83.33333333333337]]}, "rotation_euler": {"x": [[0.0, 0.0], [0.0, 166.66666666666666], [17.895010248068782, 216.66666666666666], [3.92045772037468, 116.66666666666669], [0.0, 116.66666666666674]], "z": [[0.0, 0.0], [-0.0, 166.66666666666666], [-7.282242678909106, 216.66666666666666], [-2.104055355191472, 116.66666666666669], [-0.0, 116.66666666666674]], "y": [[0.0, 0.0], [0.0, 166.66666666666666], [-21.433229238148392, 216.66666666666666], [-7.3901921111938655, 116.66666666666669], [0.0, 116.66666666666674]]}}}, "ReloadEnd": {"Gun": {"location": {"x": [[1.7611019611358643, 0.0], [-0.31797051429748535, 216.66666666666669], [0.0, 83.33333333333331]], "z": [[0.31467199325561523, 0.0], [0.010336088016629219, 216.66666666666669], [-0.0, 83.33333333333331]], "y": [[0.8750439286231995, 0.0], [0.0250311940908432, 216.66666666666669], [0.0, 83.33333333333331]]}, "rotation_euler": {"x": [[-18.983153297952903, 0.0], [0.09662330444411844, 216.66666666666669], [0.0, 83.33333333333331]], "z": [[86.04810969222216, 0.0], [-9.502314560125358, 216.66666666666669], [-0.0, 83.33333333333331]], "y": [[29.613753637261834, 0.0], [-0.24104249845162748, 216.66666666666669], [0.0, 83.33333333333331]]}}}, "ReloadStart": {"GuardInner": {"location": {"x": [[3.725290298461914e-09, 0.0]], "z": [[0.8854429721832275, 0.0]], "y": [[0.8707519173622131, 0.0]]}, "rotation_euler": {"x": [[0.0, 350.0], [16.02038116054145, 83.33333333333337], [23.71116221314476, 83.33333333333326], [23.71116221314476, 66.66666666666674], [0.0, 83.33333333333326]]}}, "GuardOuter": {"location": {"x": [[0.0, 0.0]], "z": [[-0.07262593507766724, 0.0]], "y": [[0.8707519173622131, 0.0]]}, "rotation_euler": {"x": [[0.0, 350.0], [-17.139458137176558, 83.33333333333337], [-29.355340260203572, 83.33333333333326], [-29.355340260203572, 100.00000000000011], [0.0, 99.99999999999989]]}}, "Gun": {"location": {"x": [[0.0, 0.0], [1.2318342924118042, 183.33333333333331], [1.642445683479309, 83.33333333333337], [1.7611019611358643, 133.33333333333331], [1.613909363746643, 100.0], [1.7571532726287842, 116.66666666666674], [1.7611019611358643, 66.66666666666663]], "z": [[-0.0, 0.0], [0.2732446491718292, 183.33333333333331], [0.36432620882987976, 83.33333333333337], [0.31467199325561523, 133.33333333333331], [0.4306454658508301, 100.0], [0.3806498050689697, 116.66666666666674], [0.31467199325561523, 66.66666666666663]], "y": [[0.0, 0.0], [0.7328978776931763, 183.33333333333331], [0.9771971702575684, 83.33333333333337], [0.8750439286231995, 133.33333333333331], [1.1308174133300781, 100.0], [1.108587384223938, 116.66666666666674], [0.8750439286231995, 66.66666666666663]]}, "rotation_euler": {"x": [[0.0, 0.0], [-14.617513238986898, 150.0], [-19.490018221164963, 83.33333333333334], [-18.983153297952903, 116.66666666666666], [-20.627756982159838, 133.33333333333331], [-20.258341078257818, 100.00000000000006], [-18.983153297952903, 100.0]], "z": [[-0.0, 0.0], [65.44332775888294, 150.0], [87.25777034517726, 83.33333333333334], [86.04810969222216, 116.66666666666666], [89.15816119870658, 133.33333333333331], [86.00693048171614, 100.00000000000006], [86.04810969222216, 100.0]], "y": [[0.0, 0.0], [21.504871092352655, 150.0], [28.673161456470208, 83.33333333333334], [29.613753637261834, 116.66666666666666], [25.730953311102372, 133.33333333333331], [27.311677651096765, 100.00000000000006], [29.613753637261834, 100.0]]}}, "Shell": {"location": {"x": [[1.5205265935236412e-09, 0.0], [1.5205265935236412e-09, 216.66666666666669], [3.600797242597764e-07, 133.33333333333331], [1.9156854591528827e-07, 83.33333333333337], [2.418599649445241e-07, 83.33333333333326], [2.3999731979529315e-07, 100.00000000000011]], "z": [[-2.2731080055236816, 0.0], [-2.2731080055236816, 216.66666666666669], [0.2386959344148636, 133.33333333333331], [0.33605021238327026, 83.33333333333337], [0.4338737428188324, 83.33333333333326], [1.2500436305999756, 100.00000000000011]], "y": [[-1.4170563220977783, 0.0], [-1.4170563220977783, 216.66666666666669], [0.5333303213119507, 133.33333333333331], [0.8954256176948547, 83.33333333333337], [1.1207358837127686, 83.33333333333326], [1.2056175470352173, 100.00000000000011]]}, "rotation_euler": {"x": [[0.0, 0.0], [0.0, 216.66666666666669], [-23.121160227355304, 133.33333333333331], [-14.526026270149163, 83.33333333333337], [-5.042295800981765, 83.33333333333326], [0.0, 100.00000000000011]], "z": [[0.0, 0.0], [-0.0, 216.66666666666669], [-0.0, 133.33333333333331], [2.551953161995936e-07, 83.33333333333337], [7.134593799244011e-07, 83.33333333333326], [-0.0, 100.00000000000011]], "y": [[0.0, 0.0], [0.0, 216.66666666666669], [1.7075472925031877e-06, 133.33333333333331], [1.688370023551335e-06, 83.33333333333337], [1.6331417525071545e-06, 83.33333333333326], [0.0, 100.00000000000011]]}}}}, "offset": {"GuardInner": [3.725290298461914e-09, 0.8707519173622131, 0.8854429721832275], "GuardOuter": [0.0, 0.8707519173622131, -0.07262593507766724], "Loop": [0.2532634139060974, 1.4936577081680298, 3.4837722778320312], "Pump": [1.1568772606551647e-09, 0.0, -0.0], "Shell": [1.5205265935236412e-09, 1.7459099292755127, 1.2549771070480347], "ShellFore": [1.5205265935236412e-09, 1.7459099292755127, 1.2549771070480347], "Sight": [0.0, 2.104297161102295, 2.990000009536743]}} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/weapons/animations/cursed.json b/src/main/resources/assets/hbm/models/weapons/animations/cursed.json new file mode 100644 index 000000000..62c3a6aef --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/animations/cursed.json @@ -0,0 +1 @@ +{"anim": {"Fire": {"Body": {"location": {"z": [[-0.0, 0.0], [-0.0, 16.666666666666668], [0.1901400089263916, 50.0], [-0.0, 183.33333333333331]], "y": [[0.0, 0.0], [0.0, 16.666666666666668], [0.040800124406814575, 50.0], [0.0, 183.33333333333331]]}, "rotation_euler": {"x": [[0.0, 33.333333333333336], [38.989947046815615, 66.66666666666666], [0.0, 250.0]]}}, "Slide": {"location": {"z": [[-0.0, 0.0], [0.12989415228366852, 16.666666666666668], [0.12989415228366852, 50.0], [0.09892651438713074, 83.33333333333333], [-0.0, 83.33333333333334]]}}}, "Reload": {"Body": {"location": {"x": [[0.0, 0.0], [0.0, 100.0], [0.017018239945173264, 116.66666666666669], [-0.09787648171186447, 83.33333333333331], [-0.12292511016130447, 266.66666666666663], [-0.10135655850172043, 133.33333333333337], [-0.1491556018590927, 150.0], [-0.13177432119846344, 400.0], [0.0, 283.33333333333326]], "z": [[-0.0, 0.0], [0.08164123445749283, 100.0], [-0.08178003877401352, 116.66666666666669], [-0.09053938835859299, 83.33333333333331], [-0.05708351731300354, 233.33333333333337], [-0.03883926570415497, 166.66666666666663], [0.0013935839524492621, 150.0], [0.006992057431489229, 400.0], [-0.0, 283.33333333333326]], "y": [[0.0, 0.0], [0.18025973439216614, 100.0], [0.44325628876686096, 116.66666666666669], [0.21647267043590546, 83.33333333333331], [0.27539756894111633, 200.0], [0.10282676666975021, 200.0], [0.16902926564216614, 150.0], [-0.034092918038368225, 400.0], [0.0, 283.33333333333326]]}, "rotation_euler": {"x": [[0.0, 0.0], [14.347078728989414, 66.66666666666667], [22.703222659589517, 99.99999999999999], [15.15270124913971, 83.33333333333334], [1.8531396048511795, 100.0], [-18.417429219568255, 266.66666666666674], [-18.417429219568255, 99.99999999999989], [59.33201599901403, 200.0], [72.57186642203102, 216.66666666666663], [62.294070966562636, 116.66666666666674], [54.952785571147, 83.33333333333326], [0.0, 200.0]], "z": [[0.0, 0.0], [-10.592385430902713, 66.66666666666667], [-15.994342771878069, 99.99999999999999], [-11.103182835529408, 83.33333333333334], [-9.371659871492183, 100.0], [-9.698956560103671, 266.66666666666674], [-9.698956560103671, 149.9999999999999], [-50.8729052591287, 150.0], [-75.4402931564371, 216.66666666666663], [-52.8528848919616, 116.66666666666674], [-36.719021845907676, 83.33333333333326], [-0.0, 200.0]], "y": [[0.0, 0.0], [-3.154393948349805, 66.66666666666667], [-4.726022183917031, 99.99999999999999], [-3.3394954899517355, 83.33333333333334], [-2.877424441420499, 100.0], [-5.679812424619238, 266.66666666666674], [-5.679812424619238, 183.33333333333326], [-0.6765985391814631, 116.66666666666663], [21.457408107810238, 216.66666666666663], [34.27835619884117, 116.66666666666674], [43.4361748002513, 83.33333333333326], [0.0, 200.0]]}}, "Magazine": {"location": {"z": [[-0.0, 0.0], [-0.0, 300.0], [0.14596298336982727, 183.33333333333331], [0.41417545080184937, 249.99999999999994], [0.11441206932067871, 200.0000000000001], [-0.0, 133.33333333333337]], "y": [[0.0, 0.0], [0.0, 300.0], [-0.6360859274864197, 183.33333333333331], [-0.6360859274864197, 249.99999999999994], [-0.4159921109676361, 200.0000000000001], [0.0, 133.33333333333337]]}}, "Slide": {"location": {"z": [[-0.0, 0.0], [0.13051199913024902, 16.666666666666668], [0.13051199913024902, 1133.3333333333333], [0.0854932963848114, 66.66666666666652], [-0.0, 50.0]]}}}}, "offset": {}} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/weapons/animations/ks23.json b/src/main/resources/assets/hbm/models/weapons/animations/ks23.json new file mode 100644 index 000000000..fb0675f87 --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/animations/ks23.json @@ -0,0 +1 @@ +{"anim": {"Fire": {"Body": {"location": {"z": [[-0.0, 0.0], [0.34807687997817993, 33.333333333333336], [0.13398613035678864, 200.0], [-0.08360463380813599, 83.33333333333329], [-0.34655845165252686, 100.00000000000006], [-0.4278261363506317, 66.66666666666663], [-0.0, 216.66666666666669]], "y": [[0.0, 0.0], [0.3529239892959595, 50.0], [0.14532163739204407, 183.33333333333334], [0.2893771231174469, 83.33333333333329], [0.6147624254226685, 100.00000000000006], [0.5851793885231018, 66.66666666666663], [0.0, 216.66666666666669]], "x": [[0.0, 0.0], [0.0, 233.33333333333334], [-0.11603647470474243, 83.33333333333329], [-0.2742908000946045, 100.00000000000006], [-0.3180012106895447, 66.66666666666663], [0.0, 216.66666666666669]]}, "rotation_euler": {"x": [[0.0, 0.0], [0.0, 16.666666666666668], [15.266058483699828, 83.33333333333333], [6.633028929431163, 133.33333333333334], [21.336039061353695, 83.33333333333329], [62.11162978364242, 100.00000000000006], [56.06470621707923, 99.99999999999994], [0.0, 150.0]], "z": [[-0.0, 0.0], [-0.0, 233.33333333333334], [-17.404254326014197, 83.33333333333329], [-37.01021671588742, 100.00000000000006], [-35.68124290341594, 99.99999999999994], [-0.0, 150.0]], "y": [[0.0, 0.0], [0.0, 233.33333333333334], [1.3580200456906015, 83.33333333333329], [12.396626003938477, 100.00000000000006], [15.095872367697911, 99.99999999999994], [0.0, 150.0]]}}, "Bolt": {"location": {"z": [[-0.0, 0.0], [-0.0, 266.6666666666667], [0.7143759727478027, 83.33333333333331], [0.7143759727478027, 100.0], [-0.0, 100.0]]}}}, "Reload": {"Body": {"location": {"x": [[-0.7295733690261841, 0.0], [-0.6248612403869629, 266.6666666666667], [-0.7295733690261841, 266.6666666666667]], "z": [[-0.29214829206466675, 0.0], [-0.3179074227809906, 266.6666666666667], [-0.29214829206466675, 266.6666666666667]], "y": [[0.2915276288986206, 0.0], [0.745927095413208, 266.6666666666667], [0.2915276288986206, 266.6666666666667]]}, "rotation_euler": {"x": [[2.2122143889063857, 0.0], [11.92072318200773, 266.6666666666667], [2.2122143889063857, 266.6666666666667]], "z": [[-48.21786729477217, 0.0], [-58.83050935920585, 266.6666666666667], [-48.21786729477217, 266.6666666666667]], "y": [[27.10300512666912, 0.0], [24.162893849376477, 266.6666666666667], [27.10300512666912, 266.6666666666667]]}}, "Guard": {"location": {"x": [[0.0, 0.0], [0.0, 216.66666666666669], [-0.009601704776287079, 33.333333333333314], [-0.009601704776287079, 66.66666666666663], [0.0, 83.33333333333337]], "z": [[-0.0, 0.0], [-0.0, 216.66666666666669], [-0.01663617603480816, 33.333333333333314], [-0.01663617603480816, 66.66666666666663], [-0.0, 83.33333333333337]], "y": [[0.0, 0.0], [0.0, 216.66666666666669], [0.20640075206756592, 33.333333333333314], [0.20640075206756592, 66.66666666666663], [0.0, 83.33333333333337]]}, "rotation_euler": {"x": [[0.0, 0.0], [0.0, 216.66666666666669], [13.692764535748763, 33.333333333333314], [13.692764535748763, 66.66666666666663], [0.0, 83.33333333333337]], "z": [[0.0, 0.0], [0.0, 216.66666666666669], [-1.7075472925031877e-06, 33.333333333333314], [-1.7075472925031877e-06, 66.66666666666663], [-0.0, 83.33333333333337]], "y": [[0.0, 0.0], [0.0, 216.66666666666669], [-8.537736462515939e-07, 33.333333333333314], [-8.537736462515939e-07, 66.66666666666663], [0.0, 83.33333333333337]]}}, "Shell": {"location": {"x": [[0.0, 0.0], [9.313225746154785e-09, 133.33333333333334], [0.0043092877604067326, 83.33333333333334], [0.004309257958084345, 83.33333333333331], [0.004309284035116434, 50.0]], "z": [[-0.0, 0.0], [0.30239760875701904, 133.33333333333334], [0.5154579877853394, 83.33333333333334], [0.11890840530395508, 83.33333333333331], [-0.12080879509449005, 50.0]], "y": [[-2.0212161540985107, 0.0], [-1.4118856191635132, 133.33333333333334], [-0.4431022107601166, 83.33333333333334], [-0.2641807496547699, 83.33333333333331], [-0.2624862790107727, 50.0]]}, "rotation_euler": {"x": [[0.0, 0.0], [0.0, 133.33333333333334], [21.14787588745631, 83.33333333333334], [0.40499606683590605, 83.33333333333331], [0.40499606683590605, 50.0]], "z": [[-0.0, 0.0], [-0.0, 133.33333333333334], [0.0, 83.33333333333334], [-1.0271807443729786e-06, 83.33333333333331], [-1.0271807443729786e-06, 50.0]], "y": [[0.0, 0.0], [0.0, 133.33333333333334], [-1.9209907040660864e-06, 83.33333333333334], [-4.784677867278997e-06, 83.33333333333331], [-4.784677867278997e-06, 50.0]]}}}, "ReloadEmptyStart": {"Body": {"location": {"x": [[0.0, 0.0], [-0.8907862305641174, 216.66666666666669], [-0.912574291229248, 83.33333333333331], [-0.8907862305641174, 183.33333333333331], [-0.7295733690261841, 316.6666666666667]], "z": [[-0.0, 0.0], [-0.10736510902643204, 216.66666666666669], [-0.1299014389514923, 83.33333333333331], [-0.10736510902643204, 183.33333333333331], [-0.29214829206466675, 316.6666666666667]], "y": [[0.0, 0.0], [0.1955999732017517, 216.66666666666669], [0.07320505380630493, 83.33333333333331], [0.1955999732017517, 183.33333333333331], [0.2915276288986206, 316.6666666666667]]}, "rotation_euler": {"x": [[0.0, 0.0], [14.341662388977594, 216.66666666666669], [10.053024175167023, 83.33333333333331], [14.341662388977594, 183.33333333333331], [2.2122143889063857, 316.6666666666667]], "z": [[-0.0, 0.0], [47.39059819759481, 216.66666666666669], [51.027851515545024, 83.33333333333331], [47.39059819759481, 183.33333333333331], [-48.21786729477217, 316.6666666666667]], "y": [[0.0, 0.0], [-9.334892963190004, 216.66666666666669], [-8.375116488567105, 83.33333333333331], [-9.334892963190004, 183.33333333333331], [27.10300512666912, 316.6666666666667]]}}, "Bolt": {"location": {"z": [[-0.0, 0.0], [-0.0, 183.33333333333331], [0.5467166900634766, 66.66666666666669], [0.5467166900634766, 133.33333333333331], [-0.0, 150.00000000000006]]}}, "Shell": {"location": {"x": [[0.0, 0.0], [0.0, 183.33333333333331], [0.4347861707210541, 66.66666666666669], [0.12760140001773834, 33.333333333333314], [0.0, 66.66666666666669]], "z": [[-0.0, 0.0], [-0.0, 183.33333333333331], [0.34638845920562744, 66.66666666666669], [0.43973004817962646, 33.333333333333314], [-0.0, 66.66666666666669]], "y": [[-2.0212161540985107, 0.0], [-2.0212161540985107, 183.33333333333331], [-0.5793730020523071, 66.66666666666669], [-0.010208487510681152, 33.333333333333314], [0.0, 66.66666666666669]]}, "rotation_euler": {"x": [[0.0, 0.0], [0.0, 183.33333333333331], [0.0, 66.66666666666669], [1.2806606729328905e-06, 33.333333333333314], [0.0, 66.66666666666669]], "z": [[0.0, 0.0], [0.0, 183.33333333333331], [0.0, 66.66666666666669], [0.0, 33.333333333333314], [-0.0, 66.66666666666669]], "y": [[0.0, 0.0], [0.0, 183.33333333333331], [19.145008290714692, 66.66666666666669], [25.845758545766532, 33.333333333333314], [0.0, 66.66666666666669]]}}}, "ReloadEnd": {"Body": {"location": {"x": [[-0.7295733690261841, 0.0], [0.0, 400.0]], "z": [[-0.29214829206466675, 0.0], [-0.0, 400.0]], "y": [[0.2915276288986206, 0.0], [0.0, 400.0]]}, "rotation_euler": {"x": [[2.2122143889063857, 0.0], [0.0, 400.0]], "z": [[-48.21786729477217, 0.0], [-0.0, 400.0]], "y": [[27.10300512666912, 0.0], [0.0, 400.0]]}}}, "ReloadStart": {"Body": {"location": {"x": [[0.0, 0.0], [-0.7295733690261841, 133.33333333333334], [-0.7095879912376404, 116.66666666666666], [-0.7295733690261841, 150.0]], "z": [[-0.0, 0.0], [-0.29214829206466675, 133.33333333333334], [-0.28021347522735596, 116.66666666666666], [-0.29214829206466675, 150.0]], "y": [[0.0, 0.0], [0.2915276288986206, 133.33333333333334], [0.4674150049686432, 116.66666666666666], [0.2915276288986206, 150.0]]}, "rotation_euler": {"x": [[0.0, 0.0], [2.2122143889063857, 133.33333333333334], [6.795230554293333, 116.66666666666666], [2.2122143889063857, 150.0]], "z": [[-0.0, 0.0], [-48.21786729477217, 133.33333333333334], [-51.976428187476394, 116.66666666666666], [-48.21786729477217, 150.0]], "y": [[0.0, 0.0], [27.10300512666912, 133.33333333333334], [26.74002155341796, 116.66666666666666], [27.10300512666912, 150.0]]}}, "Guard": {"location": {"x": [[0.0, 0.0], [0.0, 216.66666666666669], [-0.009601704776287079, 33.333333333333314], [-0.009601704776287079, 66.66666666666663], [0.0, 83.33333333333337]], "z": [[-0.0, 0.0], [-0.0, 216.66666666666669], [-0.01663617603480816, 33.333333333333314], [-0.01663617603480816, 66.66666666666663], [-0.0, 83.33333333333337]], "y": [[0.0, 0.0], [0.0, 216.66666666666669], [0.20640075206756592, 33.333333333333314], [0.20640075206756592, 66.66666666666663], [0.0, 83.33333333333337]]}, "rotation_euler": {"x": [[0.0, 0.0], [0.0, 216.66666666666669], [13.692764535748763, 33.333333333333314], [13.692764535748763, 66.66666666666663], [0.0, 83.33333333333337]], "z": [[0.0, 0.0], [0.0, 216.66666666666669], [-1.7075472925031877e-06, 33.333333333333314], [-1.7075472925031877e-06, 66.66666666666663], [-0.0, 83.33333333333337]], "y": [[0.0, 0.0], [0.0, 216.66666666666669], [-8.537736462515939e-07, 33.333333333333314], [-8.537736462515939e-07, 66.66666666666663], [0.0, 83.33333333333337]]}}, "Shell": {"location": {"x": [[0.0, 0.0], [9.313225746154785e-09, 133.33333333333334], [0.0043092877604067326, 83.33333333333334], [0.004309257958084345, 83.33333333333331], [0.004309284035116434, 50.0]], "z": [[-0.0, 0.0], [0.30239760875701904, 133.33333333333334], [0.5154579877853394, 83.33333333333334], [0.11890840530395508, 83.33333333333331], [-0.12080879509449005, 50.0]], "y": [[-2.0212161540985107, 0.0], [-1.4118856191635132, 133.33333333333334], [-0.4431022107601166, 83.33333333333334], [-0.2641807496547699, 83.33333333333331], [-0.2624862790107727, 50.0]]}, "rotation_euler": {"x": [[0.0, 0.0], [0.0, 133.33333333333334], [21.14787588745631, 83.33333333333334], [0.40499606683590605, 83.33333333333331], [0.40499606683590605, 50.0]], "z": [[-0.0, 0.0], [-0.0, 133.33333333333334], [0.0, 83.33333333333334], [-1.0271807443729786e-06, 83.33333333333331], [-1.0271807443729786e-06, 50.0]], "y": [[0.0, 0.0], [0.0, 133.33333333333334], [-1.9209907040660864e-06, 83.33333333333334], [-4.784677867278997e-06, 83.33333333333331], [-4.784677867278997e-06, 50.0]]}}}}, "offset": {"Bolt": [-2.9802322387695312e-08, -7.450580596923828e-09, -0.0]}} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/weapons/animations/novac.json b/src/main/resources/assets/hbm/models/weapons/animations/novac.json new file mode 100644 index 000000000..126e29cb0 --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/animations/novac.json @@ -0,0 +1 @@ +{"anim": {"Fire": {"Body": {"rotation_euler": {"x": [[0.0, 0.0], [29.145301697941925, 66.66666666666667], [0.0, 566.6666666666666]]}, "location": {"z": [[-0.0, 0.0], [0.7235583066940308, 33.333333333333336], [-0.0, 599.9999999999999]], "y": [[0.0, 0.0], [0.7866886854171753, 33.333333333333336], [0.0, 599.9999999999999]]}}, "Hammer": {"rotation_euler": {"x": [[0.0, 0.0], [-42.84400081430579, 16.666666666666668], [-42.84400081430579, 250.00000000000003], [0.0, 200.0]]}, "location": {"x": [[0.0, 0.0]], "z": [[1.1140995025634766, 0.0]], "y": [[0.48292604088783264, 0.0]]}}}, "Reload": {"Body": {"location": {"x": [[0.0, 0.0], [0.04879806935787201, 166.66666666666666], [-0.1566363126039505, 133.33333333333334], [0.0, 166.66666666666669]], "z": [[-0.0, 0.0], [-0.7191624641418457, 166.66666666666666], [-1.058491826057434, 133.33333333333334], [-0.0, 166.66666666666669]], "y": [[0.0, 0.0], [0.7507638931274414, 166.66666666666666], [0.9907249212265015, 133.33333333333334], [0.0, 166.66666666666669]]}, "rotation_euler": {"x": [[0.0, 0.0], [-19.391663497116777, 166.66666666666666], [45.102665825653546, 133.33333333333334], [0.0, 166.66666666666669]], "z": [[-0.0, 0.0], [0.5174686318159474, 166.66666666666666], [3.009666081818643, 133.33333333333334], [-0.0, 166.66666666666669]], "y": [[-0.0, 0.0], [1.4431158784559095, 166.66666666666666], [-0.8437833740125396, 133.33333333333334], [0.0, 166.66666666666669]]}}}}, "offset": {"Cylinder": [3.725290298461914e-09, 0.5323800444602966, 0.4562000334262848], "Hammer": [0.0, 0.48292604088783264, 1.1140995025634766], "Trigger": [0.0, 0.12013805657625198, 0.7557680010795593]}} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/weapons/animations/python.json b/src/main/resources/assets/hbm/models/weapons/animations/python.json new file mode 100644 index 000000000..8659ec6c1 --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/animations/python.json @@ -0,0 +1 @@ +{"anim": {"Fire": {"Body": {"location": {"z": [[-0.0, 0.0], [0.1901400089263916, 50.0], [-0.0, 283.3333333333333]], "y": [[0.0, 0.0], [0.22623062133789062, 50.0], [0.0, 283.3333333333333]]}, "rotation_euler": {"x": [[0.0, 16.666666666666668], [50.512076610560676, 66.66666666666666], [0.0, 250.0]]}}, "Hammer": {"rotation_euler": {"x": [[0.0, 0.0], [-44.61753114928588, 16.666666666666668], [-44.61753114928588, 183.33333333333334], [0.0, 300.0]]}, "location": {"x": [[0.00012800097465515137, 0.0]], "z": [[0.1478099822998047, 0.0]], "y": [[0.1151699647307396, 0.0]]}}}, "Reload": {"Body": {"location": {"x": [[0.0, 0.0], [0.1266033947467804, 216.66666666666669], [-0.1256844699382782, 66.66666666666663], [-0.10699314624071121, 100.0], [-0.05540347099304199, 183.33333333333331], [-0.04984791576862335, 83.33333333333337], [-0.04814600944519043, 100.0], [-0.0495946928858757, 50.0], [-0.1901838481426239, 216.66666666666663], [-0.209717258810997, 366.66666666666663], [-0.2682616710662842, 83.33333333333326], [0.06351689994335175, 100.00000000000023], [0.059162016957998276, 83.33333333333326], [0.0, 199.99999999999977]], "z": [[-0.0, 0.0], [0.018239933997392654, 216.66666666666669], [-0.003715081140398979, 66.66666666666663], [0.003378540277481079, 100.0], [0.06673367321491241, 183.33333333333331], [0.13605912029743195, 83.33333333333337], [0.11836071312427521, 100.0], [0.13753235340118408, 50.0], [0.2322661280632019, 216.66666666666663], [0.20868675410747528, 366.66666666666663], [0.15863937139511108, 83.33333333333326], [0.2003980427980423, 100.00000000000023], [0.09448619186878204, 83.33333333333326], [-0.0, 199.99999999999977]], "y": [[0.0, 0.0], [0.04348362237215042, 216.66666666666669], [0.04043026641011238, 66.66666666666663], [0.0498494915664196, 100.0], [0.21255171298980713, 183.33333333333331], [0.027551360428333282, 83.33333333333337], [0.09703753143548965, 100.0], [0.024584002792835236, 50.0], [-0.3309659957885742, 216.66666666666663], [-0.3340303301811218, 366.66666666666663], [-0.1700890064239502, 83.33333333333326], [0.016301512718200684, 100.00000000000023], [-0.015913818031549454, 83.33333333333326], [0.0, 199.99999999999977]]}, "rotation_euler": {"x": [[0.0, 0.0], [3.3686347844983024, 150.0], [0.02222707974050119, 166.66666666666663], [4.537149524119608, 100.00000000000006], [61.414745582626026, 233.33333333333331], [52.280518454609116, 133.33333333333337], [-71.68136001842309, 199.9999999999999], [-67.29034068404862, 366.66666666666674], [-53.072130549224426, 116.66666666666652], [-7.130840436898373, 100.00000000000023], [-2.7997762896148553, 83.33333333333326], [0.0, 199.99999999999977]], "z": [[0.0, 0.0], [-17.712562234959403, 150.0], [13.30397138517142, 166.66666666666663], [5.758366003376731, 100.00000000000006], [5.603675025280636, 233.33333333333331], [6.040763589705493, 133.33333333333337], [-1.4811513876747122, 199.9999999999999], [-0.9937320130296772, 366.66666666666674], [5.75973417564485, 116.66666666666652], [-7.87355264592462, 100.00000000000023], [-5.935155631645579, 83.33333333333326], [-0.0, 199.99999999999977]], "y": [[0.0, 0.0], [-3.362418245136533, 150.0], [5.488280686800564, 166.66666666666663], [2.9251945710321565, 100.00000000000006], [-3.2122371128833507, 233.33333333333331], [-2.2836878362589266, 133.33333333333337], [6.285038902068653, 199.9999999999999], [6.379913644734715, 366.66666666666674], [24.273973215848397, 116.66666666666652], [-30.381999654726528, 100.00000000000023], [-9.056688259237983, 83.33333333333326], [0.0, 199.99999999999977]]}}, "Cylinder": {"location": {"x": [[-0.0010489225387573242, 0.0], [-0.0010489225387573242, 283.3333333333333], [-0.07956840097904205, 83.33333333333331], [-0.07956840097904205, 1200.0], [-0.0010489225387573242, 83.33333333333326]], "z": [[0.07426249980926514, 0.0], [0.07426249980926514, 283.3333333333333], [0.07129553705453873, 83.33333333333331], [0.07129553705453873, 1200.0], [0.07426249980926514, 83.33333333333326]], "y": [[0.10388392210006714, 0.0], [0.10388392210006714, 283.3333333333333], [0.07195358723402023, 83.33333333333331], [0.07195358723402023, 1200.0], [0.10388392210006714, 83.33333333333326]]}}}}, "offset": {"Cylinder": [-0.0010489225387573242, 0.10388392210006714, 0.07426249980926514], "Grip": [0.0, -1.8214237229585706e-08, -0.0], "Hammer": [0.00012800097465515137, 0.1151699647307396, 0.1478099822998047]}} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/weapons/animations/spas12.json b/src/main/resources/assets/hbm/models/weapons/animations/spas12.json new file mode 100644 index 000000000..f54a77a32 --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/animations/spas12.json @@ -0,0 +1 @@ +{"anim": {"Fire": {"MainBody": {"location": {"z": [[-0.0, 0.0], [0.7581773996353149, 16.666666666666668], [0.8946337699890137, 50.0], [1.6292921304702759, 50.0], [0.27919262647628784, 383.3333333333333], [0.13398613035678864, 33.33333333333337], [-0.08360463380813599, 83.33333333333337], [-0.28197288513183594, 116.66666666666652], [-0.4585123360157013, 83.33333333333337], [-0.0, 216.66666666666663]], "y": [[0.0, 0.0], [-0.055255696177482605, 16.666666666666668], [0.06926095485687256, 50.0], [-0.035571567714214325, 50.0], [0.14532151818275452, 383.3333333333333], [0.14532163739204407, 33.33333333333337], [0.2893771231174469, 83.33333333333337], [0.059010088443756104, 116.66666666666652], [0.3883959650993347, 83.33333333333337], [0.0, 216.66666666666663]], "x": [[0.0, 0.0], [0.09942026436328888, 16.666666666666668], [-0.04042813181877136, 50.0], [0.13011114299297333, 50.0], [0.026651103049516678, 383.3333333333333], [0.0, 33.33333333333337], [-0.11603647470474243, 83.33333333333337], [-0.3945091962814331, 116.66666666666652], [-0.30177658796310425, 83.33333333333337], [0.0, 216.66666666666663]]}, "rotation_euler": {"x": [[0.0, 0.0], [-8.462898079780109, 16.666666666666668], [19.266058025827537, 83.33333333333333], [1.500494163239071, 233.33333333333331], [6.633028929431163, 216.66666666666669], [8.546770241466927, 100.0], [12.210589580193902, 133.33333333333337], [7.617799627548077, 66.66666666666663], [0.539266273417544, 116.66666666666663], [0.0, 33.33333333333337]], "z": [[-0.0, 0.0], [-2.3773901342652737, 16.666666666666668], [-0.0, 316.66666666666663], [-0.0, 216.66666666666669], [-2.5606105990811003, 100.0], [-8.612766944322175, 133.33333333333337], [-9.193280943580838, 66.66666666666663], [-1.0644272457036594, 116.66666666666663], [-0.0, 33.33333333333337]], "y": [[0.0, 0.0], [-2.661507434160998, 16.666666666666668], [-0.0, 316.66666666666663], [0.0, 216.66666666666669], [5.899426058323597, 100.0], [-1.813550761204728, 133.33333333333337], [-5.824772090695357, 66.66666666666663], [-0.9415905623492115, 116.66666666666663], [0.0, 33.33333333333337]]}}, "PumpGrip": {"location": {"z": [[-0.0, 0.0], [-0.0, 550.0], [1.3243759870529175, 100.0], [1.0643759965896606, 216.66666666666674], [-0.0, 66.66666666666663]]}}}, "FireAlt": {"MainBody": {"location": {"x": [[0.0, 0.0], [0.0, 216.66666666666669], [0.0, 499.99999999999994], [-0.11603647470474243, 66.66666666666674], [-0.3945091962814331, 83.33333333333337], [-0.30177658796310425, 83.33333333333326], [0.0, 233.33333333333326]], "z": [[-0.0, 0.0], [1.8780767917633057, 33.333333333333336], [0.46677228808403015, 183.33333333333334], [0.13398613035678864, 499.99999999999994], [-0.08360463380813599, 66.66666666666674], [-0.28197288513183594, 83.33333333333337], [-0.4585123360157013, 83.33333333333326], [-0.0, 233.33333333333326]], "y": [[0.0, 0.0], [0.7429239749908447, 50.0], [1.0745543241500854, 166.66666666666669], [0.14532163739204407, 499.99999999999994], [0.2893771231174469, 66.66666666666674], [0.059010088443756104, 83.33333333333337], [0.3883959650993347, 83.33333333333326], [0.0, 233.33333333333326]]}, "rotation_euler": {"x": [[0.0, 0.0], [0.0, 16.666666666666668], [22.4874603988034, 100.0], [13.903672239582296, 66.66666666666664], [6.633028929431163, 83.33333333333337], [8.546770241466927, 550.0], [12.210589580193902, 100.0], [7.269988465764457, 66.66666666666663], [0.0, 150.0]], "z": [[-0.0, 0.0], [-11.095223957599051, 116.66666666666667], [-0.0, 150.0], [-2.5606105990811003, 550.0], [-8.612766944322175, 100.0], [-12.303416119882606, 66.66666666666663], [-0.0, 150.0]], "y": [[0.0, 0.0], [-2.9238404860292015, 116.66666666666667], [0.0, 150.0], [5.899426058323597, 550.0], [-1.813550761204728, 100.0], [-6.207043691275808, 66.66666666666663], [0.0, 150.0]]}}, "PumpGrip": {"location": {"z": [[-0.0, 0.0], [-0.0, 816.6666666666666], [1.3243759870529175, 100.0], [1.0643759965896606, 216.66666666666663], [-0.0, 66.66666666666674]]}}}, "Reload": {"MainBody": {"location": {"x": [[-0.7295733690261841, 0.0], [-0.7295733690261841, 83.33333333333333], [-0.7295733690261841, 99.99999999999999], [-0.5556169748306274, 133.33333333333331], [-0.6492857933044434, 116.66666666666674], [-0.7295733690261841, 100.0]], "z": [[-0.29214829206466675, 0.0], [-0.29214829206466675, 83.33333333333333], [-0.29214829206466675, 99.99999999999999], [-0.30703651905059814, 133.33333333333331], [-0.29901978373527527, 116.66666666666674], [-0.29214829206466675, 100.0]], "y": [[0.2915276288986206, 0.0], [0.2915276288986206, 83.33333333333333], [0.2915276288986206, 99.99999999999999], [0.4859994053840637, 133.33333333333331], [0.38128381967544556, 116.66666666666674], [0.2915276288986206, 100.0]]}, "rotation_euler": {"x": [[2.2122143889063857, 0.0], [1.6652197564429725, 83.33333333333333], [2.2122143889063857, 133.33333333333337], [9.618481563755287, 116.66666666666663], [5.616534990827301, 100.00000000000006], [2.2122143889063857, 100.0]], "z": [[-48.21786729477217, 0.0], [-45.59814140842461, 83.33333333333333], [-48.21786729477217, 133.33333333333337], [-53.60401787046082, 116.66666666666663], [-50.637738430910574, 100.00000000000006], [-48.21786729477217, 100.0]], "y": [[27.10300512666912, 0.0], [27.402903365198746, 83.33333333333333], [27.10300512666912, 133.33333333333337], [28.044826741511347, 116.66666666666663], [27.549100149288286, 100.00000000000006], [27.10300512666912, 100.0]]}}, "Shell": {"location": {"x": [[0.0, 0.0], [-5.029141902923584e-08, 133.33333333333334], [0.004309347365051508, 83.33333333333334], [0.004309249576181173, 83.33333333333331], [0.004309284035116434, 50.0]], "z": [[1.5591249465942383, 0.0], [1.0179417133331299, 133.33333333333334], [-0.1231224536895752, 83.33333333333334], [-0.11966821551322937, 83.33333333333331], [-0.12080879509449005, 50.0]], "y": [[-2.6872029304504395, 0.0], [-2.3433218002319336, 133.33333333333334], [-1.7275460958480835, 83.33333333333334], [-0.3831302523612976, 83.33333333333331], [-0.2624862790107727, 50.0]]}, "rotation_euler": {"x": [[0.0, 0.0], [0.0, 133.33333333333334], [21.14787588745631, 83.33333333333334], [0.40499606683590605, 83.33333333333331], [0.40499606683590605, 50.0]], "z": [[-0.0, 0.0], [-0.0, 133.33333333333334], [-0.0, 83.33333333333334], [-1.0271807443729786e-06, 83.33333333333331], [-1.0271807443729786e-06, 50.0]], "y": [[0.0, 0.0], [0.0, 133.33333333333334], [-1.9209907040660864e-06, 83.33333333333334], [-4.784677867278997e-06, 83.33333333333331], [-4.784677867278997e-06, 50.0]]}}}, "ReloadEmptyStart": {"MainBody": {"location": {"x": [[0.0, 0.0], [-0.3959049880504608, 100.0], [-0.8907862305641174, 50.0], [-0.912574291229248, 133.33333333333331], [-0.8907862305641174, 183.33333333333337], [-0.7295733690261841, 333.3333333333333]], "z": [[-0.0, 0.0], [-0.04771782457828522, 100.0], [-0.10736510902643204, 50.0], [-0.1299014389514923, 133.33333333333331], [-0.10736510902643204, 183.33333333333337], [-0.29214829206466675, 333.3333333333333]], "y": [[0.0, 0.0], [0.08693332225084305, 100.0], [0.1955999732017517, 50.0], [0.07320505380630493, 133.33333333333331], [0.1955999732017517, 183.33333333333337], [0.2915276288986206, 333.3333333333333]]}, "rotation_euler": {"x": [[0.0, 0.0], [5.215149959628216, 116.66666666666667], [14.341662388977594, 66.66666666666664], [10.053024175167023, 150.0], [14.341662388977594, 183.33333333333331], [9.347183888601442, 83.33333333333337], [3.4013761500584048, 133.33333333333326], [2.2122143889063857, 66.66666666666674]], "z": [[-0.0, 0.0], [17.232944643893813, 116.66666666666667], [47.39059819759481, 66.66666666666664], [51.027851515545024, 150.0], [47.39059819759481, 183.33333333333331], [8.022402104733061, 83.33333333333337], [-38.844487923156436, 133.33333333333326], [-48.21786729477217, 66.66666666666674]], "y": [[0.0, 0.0], [-3.394506473857253, 116.66666666666667], [-9.334892963190004, 66.66666666666664], [-8.375116488567105, 150.0], [-9.334892963190004, 183.33333333333331], [5.668946020536571, 83.33333333333337], [23.530662511496125, 133.33333333333326], [27.10300512666912, 66.66666666666674]]}}, "PumpGrip": {"location": {"z": [[-0.0, 0.0], [-0.0, 183.33333333333331], [1.0550689697265625, 66.66666666666669], [1.0550689697265625, 166.66666666666669], [-0.0, 99.99999999999994]]}}, "Shell": {"location": {"x": [[1.089231252670288, 0.0], [0.8341609239578247, 150.0], [1.3178642988204956, 100.0], [1.0271152257919312, 33.333333333333314], [0.0, 66.66666666666669]], "z": [[1.2379006147384644, 0.0], [1.0393552780151367, 150.0], [1.1692359447479248, 100.0], [0.8952870965003967, 33.333333333333314], [-0.0, 66.66666666666669]], "y": [[-2.3190526962280273, 0.0], [-3.043679714202881, 150.0], [0.42155078053474426, 100.0], [0.3692183494567871, 33.333333333333314], [0.0, 66.66666666666669]]}, "rotation_euler": {"x": [[0.0, 0.0], [0.0, 150.0], [-4.686586806083493, 100.0], [-4.686586806083493, 33.333333333333314], [0.0, 66.66666666666669]], "z": [[-0.0, 0.0], [-0.0, 150.0], [-0.5807879005165506, 100.0], [-0.5807879005165506, 33.333333333333314], [-0.0, 66.66666666666669]], "y": [[0.0, 0.0], [0.0, 150.0], [15.393064143768921, 100.0], [15.393064143768921, 33.333333333333314], [0.0, 66.66666666666669]]}}}, "ReloadEnd": {"MainBody": {"location": {"x": [[-0.7295733690261841, 0.0], [-0.5471799969673157, 166.66666666666666], [-0.15633714199066162, 100.00000000000003], [0.0, 150.0]], "z": [[-0.29214829206466675, 0.0], [-0.21911121904850006, 166.66666666666666], [-0.06260320544242859, 100.00000000000003], [-0.0, 150.0]], "y": [[0.2915276288986206, 0.0], [0.21864572167396545, 166.66666666666666], [0.0624702125787735, 100.00000000000003], [0.0, 150.0]]}, "rotation_euler": {"x": [[2.2122143889063857, 0.0], [1.6591607383189364, 166.66666666666666], [0.47404597097185575, 100.00000000000003], [0.0, 150.0]], "z": [[-48.21786729477217, 0.0], [-36.16339961730548, 166.66666666666666], [-10.332401110335347, 100.00000000000003], [-0.0, 150.0]], "y": [[27.10300512666912, 0.0], [20.327254271888663, 166.66666666666666], [5.807786690890005, 100.00000000000003], [0.0, 150.0]]}}}, "ReloadStart": {"MainBody": {"location": {"x": [[0.0, 0.0], [-0.7295733690261841, 166.66666666666666], [-0.7152981162071228, 50.00000000000003], [-0.7095879912376404, 66.66666666666663], [-0.7295733690261841, 116.66666666666669]], "z": [[-0.0, 0.0], [-0.29214829206466675, 166.66666666666666], [-0.28362342715263367, 50.00000000000003], [-0.28021347522735596, 66.66666666666663], [-0.29214829206466675, 116.66666666666669]], "y": [[0.0, 0.0], [0.2915276288986206, 166.66666666666666], [0.4171614646911621, 50.00000000000003], [0.4674150049686432, 66.66666666666663], [0.2915276288986206, 116.66666666666669]]}, "rotation_euler": {"x": [[0.0, 0.0], [2.2122143889063857, 166.66666666666666], [5.485797059263618, 50.00000000000003], [6.795230554293333, 66.66666666666663], [2.2122143889063857, 116.66666666666669]], "z": [[-0.0, 0.0], [-48.21786729477217, 166.66666666666666], [-50.902555110315724, 50.00000000000003], [-51.976428187476394, 66.66666666666663], [-48.21786729477217, 116.66666666666669]], "y": [[0.0, 0.0], [27.10300512666912, 166.66666666666666], [26.843731145775436, 50.00000000000003], [26.74002155341796, 66.66666666666663], [27.10300512666912, 116.66666666666669]]}}, "Shell": {"location": {"x": [[0.0, 0.0], [1.2852251529693604e-07, 133.33333333333334], [0.0, 83.33333333333334], [0.004309284035116434, 83.33333333333331], [0.004309284035116434, 50.0]], "z": [[-0.0, 0.0], [0.8857776522636414, 133.33333333333334], [-0.0984112098813057, 83.33333333333334], [-0.2392037808895111, 83.33333333333331], [-0.12080879509449005, 50.0]], "y": [[-2.806074380874634, 0.0], [-2.2905659675598145, 133.33333333333334], [-1.7331905364990234, 83.33333333333334], [-0.3817155361175537, 83.33333333333331], [-0.2624862790107727, 50.0]]}, "rotation_euler": {"x": [[0.0, 0.0], [0.0, 133.33333333333334], [21.14787588745631, 83.33333333333334], [0.40499606683590605, 83.33333333333331], [0.40499606683590605, 50.0]], "z": [[-0.0, 0.0], [-0.0, 133.33333333333334], [-0.0, 83.33333333333334], [-1.0271807443729786e-06, 83.33333333333331], [-1.0271807443729786e-06, 50.0]], "y": [[0.0, 0.0], [0.0, 133.33333333333334], [-1.9209907040660864e-06, 83.33333333333334], [-4.784677867278997e-06, 83.33333333333331], [-4.784677867278997e-06, 50.0]]}}}}, "offset": {}} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/weapons/animations/supershotty.json b/src/main/resources/assets/hbm/models/weapons/animations/supershotty.json new file mode 100644 index 000000000..fc1287ec3 --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/animations/supershotty.json @@ -0,0 +1 @@ +{"anim": {"Fire": {"Barrel": {"rotation_euler": {"x": [[0.0, 0.0, "CONSTANT"], [0.0, 466.6666666666667, "CONSTANT"], [-19.363289183757253, 49.99999999999994, "CONSTANT"], [-60.019016916301425, 66.66666666666674, "CONSTANT"], [-60.019016916301425, 683.3333333333331, "CONSTANT"], [-38.91348307905732, 83.33333333333348, "CONSTANT"], [0.0, 50.0, "CONSTANT"]]}}, "BarrelLame": {"rotation_euler": {"x": [[0.0, 0.0], [0.0, 466.6666666666667], [-19.363289183757253, 49.99999999999994], [-60.019016916301425, 66.66666666666674], [-60.019016916301425, 683.3333333333331], [-38.91348307905732, 83.33333333333348], [0.0, 50.0]]}}, "Body": {"location": {"x": [[0.0, 0.0], [-0.03072790987789631, 66.66666666666667], [-0.015153210610151291, 50.0], [0.022971127182245255, 49.999999999999986], [0.0, 133.33333333333334], [-0.07112908363342285, 283.33333333333337], [-0.21566513180732727, 166.66666666666663], [-0.30311062932014465, 166.66666666666663], [0.09931233525276184, 200.0000000000001], [0.09931233525276184, 99.99999999999977], [0.1618872582912445, 33.333333333333485], [0.16223274171352386, 33.33333333333326], [0.08028656989336014, 183.33333333333326], [0.0, 150.00000000000023]], "z": [[-0.0, 0.0], [0.6719817519187927, 66.66666666666667], [0.7913707494735718, 50.0], [0.4098809063434601, 49.999999999999986], [-0.0, 133.33333333333334], [-0.0558139905333519, 283.33333333333337], [-0.33660149574279785, 166.66666666666663], [-0.3699745833873749, 166.66666666666663], [-0.27975839376449585, 200.0000000000001], [-0.27975839376449585, 99.99999999999977], [-0.3401995301246643, 33.333333333333485], [-0.3562721014022827, 33.33333333333326], [-0.2893483638763428, 183.33333333333326], [-0.0, 150.00000000000023]], "y": [[0.0, 0.0], [0.04576312005519867, 66.66666666666667], [-0.05352889001369476, 50.0], [0.05586424842476845, 49.999999999999986], [0.0, 133.33333333333334], [-0.19011610746383667, 283.33333333333337], [-0.17373046278953552, 166.66666666666663], [-0.2395477145910263, 166.66666666666663], [-0.318528413772583, 200.0000000000001], [-0.318528413772583, 99.99999999999977], [-0.5854879021644592, 33.333333333333485], [-0.6872552037239075, 33.33333333333326], [-0.08996553719043732, 183.33333333333326], [0.0, 150.00000000000023]]}, "rotation_euler": {"x": [[0.0, 0.0, "CONSTANT"], [18.96056586236767, 33.333333333333336, "CONSTANT"], [9.480282931183835, 100.0, "CONSTANT"], [0.0, 100.0, "CONSTANT"], [3.672435622364946, 300.0, "CONSTANT"], [4.2845085106836525, 50.0, "CONSTANT"], [1.1277323204173937, 266.66666666666663, "CONSTANT"], [-4.00202896208485, 433.33333333333326, "CONSTANT"], [29.908722186758006, 116.66666666666674, "CONSTANT"], [16.10469643075067, 100.0, "CONSTANT"], [0.0, 116.66666666666674, "CONSTANT"]], "z": [[-0.0, 0.0, "CONSTANT"], [-8.923772777989535, 33.333333333333336, "CONSTANT"], [-4.461886388994768, 100.0, "CONSTANT"], [-0.0, 100.0, "CONSTANT"], [1.4097740965790806, 300.0, "CONSTANT"], [1.6447364460089273, 50.0, "CONSTANT"], [0.7402799146297828, 266.66666666666663, "CONSTANT"], [-0.729462122284099, 433.33333333333326, "CONSTANT"], [-10.496272716449585, 116.66666666666674, "CONSTANT"], [-5.6518389579866275, 100.0, "CONSTANT"], [-0.0, 116.66666666666674, "CONSTANT"]], "y": [[0.0, 0.0, "CONSTANT"], [1.9835915222433687, 33.333333333333336, "CONSTANT"], [0.9917957611216843, 100.0, "CONSTANT"], [0.0, 100.0, "CONSTANT"], [22.84436339614595, 300.0, "CONSTANT"], [26.651758433868473, 50.0, "CONSTANT"], [23.325744883564695, 266.66666666666663, "CONSTANT"], [17.920975212198584, 433.33333333333326, "CONSTANT"], [19.204354096865643, 116.66666666666674, "CONSTANT"], [10.340805658109048, 100.0, "CONSTANT"], [0.0, 116.66666666666674, "CONSTANT"]]}}, "BodyLame": {"location": {"x": [[0.0, 0.0], [-0.03072790987789631, 66.66666666666667], [-0.015153210610151291, 50.0], [0.022971127182245255, 49.999999999999986], [0.0, 133.33333333333334], [-0.07112908363342285, 283.33333333333337], [-0.21566513180732727, 166.66666666666663], [-0.30311062932014465, 166.66666666666663], [0.09931233525276184, 200.0000000000001], [0.09931233525276184, 99.99999999999977], [0.1618872582912445, 33.333333333333485], [0.16223274171352386, 33.33333333333326], [0.08028656989336014, 183.33333333333326], [0.0, 150.00000000000023]], "z": [[-0.0, 0.0], [0.6719817519187927, 66.66666666666667], [0.7913707494735718, 50.0], [0.4098809063434601, 49.999999999999986], [-0.0, 133.33333333333334], [-0.0558139905333519, 283.33333333333337], [-0.33660149574279785, 166.66666666666663], [-0.3699745833873749, 166.66666666666663], [-0.27975839376449585, 200.0000000000001], [-0.27975839376449585, 99.99999999999977], [-0.3401995301246643, 33.333333333333485], [-0.3562721014022827, 33.33333333333326], [-0.2893483638763428, 183.33333333333326], [-0.0, 150.00000000000023]], "y": [[0.0, 0.0], [0.04576312005519867, 66.66666666666667], [-0.05352889001369476, 50.0], [0.05586424842476845, 49.999999999999986], [0.0, 133.33333333333334], [-0.19011610746383667, 283.33333333333337], [-0.17373046278953552, 166.66666666666663], [-0.2395477145910263, 166.66666666666663], [-0.318528413772583, 200.0000000000001], [-0.318528413772583, 99.99999999999977], [-0.5854879021644592, 33.333333333333485], [-0.6872552037239075, 33.33333333333326], [-0.08996553719043732, 183.33333333333326], [0.0, 150.00000000000023]]}, "rotation_euler": {"x": [[0.0, 0.0], [18.96056586236767, 33.333333333333336], [9.480282931183835, 100.0], [0.0, 100.0], [3.672435622364946, 300.0], [4.2845085106836525, 50.0], [1.1277323204173937, 266.66666666666663], [-4.00202896208485, 433.33333333333326], [29.908722186758006, 116.66666666666674], [16.10469643075067, 100.0], [0.0, 116.66666666666674]], "z": [[-0.0, 0.0], [-8.923772777989535, 33.333333333333336], [-4.461886388994768, 100.0], [-0.0, 100.0], [1.4097740965790806, 300.0], [1.6447364460089273, 50.0], [0.7402799146297828, 266.66666666666663], [-0.729462122284099, 433.33333333333326], [-10.496272716449585, 116.66666666666674], [-5.6518389579866275, 100.0], [-0.0, 116.66666666666674]], "y": [[0.0, 0.0], [1.9835915222433687, 33.333333333333336], [0.9917957611216843, 100.0], [0.0, 100.0], [22.84436339614595, 300.0], [26.651758433868473, 50.0], [23.325744883564695, 266.66666666666663], [17.920975212198584, 433.33333333333326], [19.204354096865643, 116.66666666666674], [10.340805658109048, 100.0], [0.0, 116.66666666666674]]}}, "ShellL": {"location": {"x": [[0.0, 0.0], [0.0, 583.3333333333334], [0.09376272559165955, 49.999999999999886], [0.1621313840150833, 83.33333333333337], [0.17189833521842957, 33.33333333333337], [0.17189833521842957, 50.0], [-0.25194650888442993, 66.66666666666674], [-0.7040476202964783, 149.9999999999999, "CONSTANT"], [-1.641493320465088, 16.66666666666663], [-0.48360228538513184, 66.66666666666674], [-0.0976385846734047, 66.66666666666674], [0.0, 116.66666666666652]], "z": [[-0.0, 0.0], [-0.0, 583.3333333333334], [1.188506007194519, 49.999999999999886], [2.0551249980926514, 83.33333333333337], [2.1789276599884033, 33.33333333333337], [2.1789276599884033, 50.0], [0.6366069316864014, 66.66666666666674], [-1.0085352659225464, 149.9999999999999, "CONSTANT"], [-1.0141838788986206, 16.66666666666663], [0.6391998529434204, 66.66666666666674], [1.1903276443481445, 66.66666666666674], [-0.0, 116.66666666666652]], "y": [[0.0, 0.0], [0.0, 583.3333333333334], [0.6720442175865173, 49.999999999999886], [1.162076473236084, 83.33333333333337], [1.2320810556411743, 33.33333333333337], [1.2320810556411743, 50.0], [0.4826660752296448, 66.66666666666674], [-0.3167097568511963, 149.9999999999999, "CONSTANT"], [-1.3532683849334717, 16.66666666666663], [-0.3891531825065613, 66.66666666666674], [-0.0677814781665802, 66.66666666666674], [0.0, 116.66666666666652]]}, "rotation_euler": {"x": [[0.0, 0.0, "CONSTANT"], [0.0, 583.3333333333334, "CONSTANT"], [-5.534420749078115, 166.66666666666663, "CONSTANT"], [7.606445291826578, 166.66666666666663, "CONSTANT"], [0.0, 116.66666666666663, "CONSTANT"]], "z": [[0.0, 0.0, "CONSTANT"], [0.0, 583.3333333333334, "CONSTANT"], [28.371060481933252, 166.66666666666663, "CONSTANT"], [59.14797655182804, 166.66666666666663, "CONSTANT"], [-0.0, 116.66666666666663, "CONSTANT"]], "y": [[0.0, 0.0, "CONSTANT"], [0.0, 583.3333333333334, "CONSTANT"], [-42.628757647896585, 166.66666666666663, "CONSTANT"], [-85.51808701262917, 166.66666666666663, "CONSTANT"], [0.0, 116.66666666666663, "CONSTANT"]]}}, "ShellLLame": {"location": {"x": [[0.0, 0.0], [0.0, 583.3333333333334], [0.09376272559165955, 49.999999999999886], [0.1621313840150833, 83.33333333333337], [0.17189833521842957, 33.33333333333337], [0.17189833521842957, 50.0], [-0.25194650888442993, 66.66666666666674], [-0.7040476202964783, 149.9999999999999, "CONSTANT"], [-1.641493320465088, 16.66666666666663], [-0.48360228538513184, 66.66666666666674], [-0.0976385846734047, 66.66666666666674], [0.0, 116.66666666666652]], "z": [[-0.0, 0.0], [-0.0, 583.3333333333334], [1.188506007194519, 49.999999999999886], [2.0551249980926514, 83.33333333333337], [2.1789276599884033, 33.33333333333337], [2.1789276599884033, 50.0], [0.6366069316864014, 66.66666666666674], [-1.0085352659225464, 149.9999999999999, "CONSTANT"], [-1.0141838788986206, 16.66666666666663], [0.6391998529434204, 66.66666666666674], [1.1903276443481445, 66.66666666666674], [-0.0, 116.66666666666652]], "y": [[0.0, 0.0], [0.0, 583.3333333333334], [0.6720442175865173, 49.999999999999886], [1.162076473236084, 83.33333333333337], [1.2320810556411743, 33.33333333333337], [1.2320810556411743, 50.0], [0.4826660752296448, 66.66666666666674], [-0.3167097568511963, 149.9999999999999, "CONSTANT"], [-1.3532683849334717, 16.66666666666663], [-0.3891531825065613, 66.66666666666674], [-0.0677814781665802, 66.66666666666674], [0.0, 116.66666666666652]]}, "rotation_euler": {"x": [[0.0, 0.0], [0.0, 583.3333333333334], [-5.534420749078115, 166.66666666666663], [7.606445291826578, 166.66666666666663, "CONSTANT"], [0.0, 116.66666666666663]], "z": [[0.0, 0.0], [0.0, 583.3333333333334], [28.371060481933252, 166.66666666666663], [59.14797655182804, 166.66666666666663, "CONSTANT"], [-0.0, 116.66666666666663]], "y": [[0.0, 0.0], [0.0, 583.3333333333334], [-42.628757647896585, 166.66666666666663], [-85.51808701262917, 166.66666666666663, "CONSTANT"], [0.0, 116.66666666666663]]}}, "ShellR": {"location": {"x": [[0.0, 0.0], [0.0, 583.3333333333334], [0.16738982498645782, 33.33333333333337], [0.3459389805793762, 66.66666666666663], [0.368257611989975, 33.33333333333326], [0.368257611989975, 66.66666666666674], [0.37765786051750183, 66.66666666666663], [0.3922804296016693, 116.66666666666663, "CONSTANT"], [-1.7031582593917847, 16.66666666666663], [-0.576391339302063, 66.66666666666674], [-0.20080244541168213, 66.66666666666674], [0.0, 116.66666666666674]], "z": [[-0.0, 0.0], [-0.0, 583.3333333333334], [0.7584316730499268, 33.33333333333337], [1.5674254894256592, 66.66666666666663], [1.668549656867981, 33.33333333333326], [1.668549656867981, 66.66666666666674], [0.5923407077789307, 66.66666666666663], [-1.0817619562149048, 116.66666666666663, "CONSTANT"], [-1.004889726638794, 16.66666666666663], [0.6418739557266235, 66.66666666666674], [1.1907953023910522, 66.66666666666674], [-0.0, 116.66666666666674]], "y": [[0.0, 0.0], [0.0, 583.3333333333334], [0.45365622639656067, 33.33333333333337], [0.9375561475753784, 66.66666666666663], [0.9980437159538269, 33.33333333333326], [0.9980437159538269, 66.66666666666674], [0.2533489465713501, 66.66666666666663], [-0.9050651788711548, 116.66666666666663, "CONSTANT"], [-1.431460976600647, 16.66666666666663], [-0.5393484830856323, 66.66666666666674], [-0.24197767674922943, 66.66666666666674], [0.0, 116.66666666666674]]}, "rotation_euler": {"x": [[0.0, 0.0, "CONSTANT"], [0.0, 583.3333333333334, "CONSTANT"], [7.528320734326326, 133.33333333333326, "CONSTANT"], [45.55883366975119, 166.66666666666663, "CONSTANT"], [0.0, 100.0, "CONSTANT"]], "z": [[0.0, 0.0, "CONSTANT"], [0.0, 583.3333333333334, "CONSTANT"], [-10.561780207005532, 133.33333333333326, "CONSTANT"], [-11.69752028389453, 166.66666666666663, "CONSTANT"], [-0.0, 100.0, "CONSTANT"]], "y": [[0.0, 0.0, "CONSTANT"], [0.0, 583.3333333333334, "CONSTANT"], [18.100727008133102, 133.33333333333326, "CONSTANT"], [65.2065046097911, 166.66666666666663, "CONSTANT"], [0.0, 100.0, "CONSTANT"]]}}, "ShellRLame": {"location": {"x": [[0.0, 0.0], [0.0, 583.3333333333334], [0.16738982498645782, 33.33333333333337], [0.3459389805793762, 66.66666666666663], [0.368257611989975, 33.33333333333326], [0.368257611989975, 66.66666666666674], [0.37765786051750183, 66.66666666666663], [0.3922804296016693, 116.66666666666663, "CONSTANT"], [-1.7031582593917847, 16.66666666666663], [-0.576391339302063, 66.66666666666674], [-0.20080244541168213, 66.66666666666674], [0.0, 116.66666666666674]], "z": [[-0.0, 0.0], [-0.0, 583.3333333333334], [0.7584316730499268, 33.33333333333337], [1.5674254894256592, 66.66666666666663], [1.668549656867981, 33.33333333333326], [1.668549656867981, 66.66666666666674], [0.5923407077789307, 66.66666666666663], [-1.0817619562149048, 116.66666666666663, "CONSTANT"], [-1.004889726638794, 16.66666666666663], [0.6418739557266235, 66.66666666666674], [1.1907953023910522, 66.66666666666674], [-0.0, 116.66666666666674]], "y": [[0.0, 0.0], [0.0, 583.3333333333334], [0.45365622639656067, 33.33333333333337], [0.9375561475753784, 66.66666666666663], [0.9980437159538269, 33.33333333333326], [0.9980437159538269, 66.66666666666674], [0.2533489465713501, 66.66666666666663], [-0.9050651788711548, 116.66666666666663, "CONSTANT"], [-1.431460976600647, 16.66666666666663], [-0.5393484830856323, 66.66666666666674], [-0.24197767674922943, 66.66666666666674], [0.0, 116.66666666666674]]}, "rotation_euler": {"x": [[0.0, 0.0], [0.0, 583.3333333333334], [7.528320734326326, 133.33333333333326], [45.55883366975119, 166.66666666666663, "CONSTANT"], [0.0, 100.0]], "z": [[0.0, 0.0], [0.0, 583.3333333333334], [-10.561780207005532, 133.33333333333326], [-11.69752028389453, 166.66666666666663, "CONSTANT"], [-0.0, 100.0]], "y": [[0.0, 0.0], [0.0, 583.3333333333334], [18.100727008133102, 133.33333333333326], [65.2065046097911, 166.66666666666663, "CONSTANT"], [0.0, 100.0]]}}}}, "offset": {}} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/weapons/benelli_new.obj b/src/main/resources/assets/hbm/models/weapons/benelli_new.obj index 81b43a6ee..a2d8c70b3 100644 --- a/src/main/resources/assets/hbm/models/weapons/benelli_new.obj +++ b/src/main/resources/assets/hbm/models/weapons/benelli_new.obj @@ -1,539 +1,539 @@ -# Blender v2.79 (sub 0) OBJ File: '' +# Blender 4.0.1 # www.blender.org -o Cube.007_Cube.012 -v -0.749291 3.198776 0.999861 -v -0.925561 3.198776 0.999861 -v -0.749291 3.375046 0.999861 -v -0.925561 3.198776 1.249144 -v 0.748885 3.197617 0.999051 -v 0.748885 3.373887 0.999051 -v 0.925155 3.197617 0.999051 -v 0.925155 3.197617 1.248335 -v 0.748885 3.373887 1.248335 -v 0.748885 3.197617 1.248335 -v -0.749291 3.375046 1.249144 -v -0.750000 3.200001 1.250000 -v -0.749291 3.198776 1.249144 -v 0.748869 3.197661 -1.749421 -v 0.925138 3.197661 -1.749422 -v 0.748868 3.021391 -1.749422 -v 0.748869 3.021390 3.750661 -v 0.925139 3.197660 3.750661 -v 0.748869 3.197660 3.750661 -v -0.749187 3.199502 -1.749413 -v -0.749187 3.023233 -1.749413 -v -0.925457 3.199503 -1.749413 -v -0.925456 3.199502 3.750652 -v -0.749186 3.023232 3.750652 -v -0.749186 3.199502 3.750652 -v -0.749291 3.198776 3.499861 -v -0.925561 3.198776 3.499861 -v -0.749291 3.375046 3.499861 -v -0.925561 3.198776 3.749144 -v 0.748885 3.197617 3.499051 -v 0.748885 3.373887 3.499051 -v 0.925155 3.197617 3.499051 -v 0.925155 3.197617 3.748335 -v 0.748885 3.373887 3.748335 -v 0.748885 3.197617 3.748335 -v -0.749291 3.375046 3.749144 -v -0.750000 3.200001 3.750000 -v -0.749291 3.198776 3.749144 -v -0.749291 3.198776 2.999861 -v -0.925561 3.198776 2.999861 -v -0.749291 3.375046 2.999861 -v -0.925561 3.198776 3.249144 -v 0.748885 3.197617 2.999051 -v 0.748885 3.373887 2.999051 -v 0.925155 3.197617 2.999051 -v 0.925155 3.197617 3.248334 -v 0.748885 3.373887 3.248334 -v 0.748885 3.197617 3.248334 -v -0.749291 3.375046 3.249144 -v -0.750000 3.200001 3.250000 -v -0.749291 3.198776 3.249144 -v -0.749291 3.198776 2.499861 -v -0.925561 3.198776 2.499861 -v -0.749291 3.375046 2.499861 -v -0.925561 3.198776 2.749144 -v 0.748885 3.197617 2.499051 -v 0.748885 3.373887 2.499051 -v 0.925155 3.197617 2.499051 -v 0.925155 3.197617 2.748335 -v 0.748885 3.373887 2.748335 -v 0.748885 3.197617 2.748335 -v -0.749291 3.375046 2.749144 -v -0.750000 3.200001 2.750000 -v -0.749291 3.198776 2.749144 -v -0.749291 3.198776 1.999861 -v -0.925561 3.198776 1.999861 -v -0.749291 3.375046 1.999861 -v -0.925561 3.198776 2.249144 -v 0.748885 3.197617 1.999051 -v 0.748885 3.373887 1.999051 -v 0.925155 3.197617 1.999051 -v 0.925155 3.197617 2.248335 -v 0.748885 3.373887 2.248335 -v 0.748885 3.197617 2.248335 -v -0.749291 3.375046 2.249144 -v -0.750000 3.200001 2.250000 -v -0.749291 3.198776 2.249144 -v -0.749291 3.198776 1.499861 -v -0.925561 3.198776 1.499861 -v -0.749291 3.375046 1.499861 -v -0.925561 3.198776 1.749144 -v 0.748885 3.197617 1.499051 -v 0.748885 3.373887 1.499051 -v 0.925155 3.197617 1.499051 -v 0.925155 3.197617 1.748335 -v 0.748885 3.373887 1.748335 -v 0.748885 3.197617 1.748335 -v -0.749291 3.375046 1.749144 -v -0.750000 3.200001 1.750000 -v -0.749291 3.198776 1.749144 -v -0.749291 3.198776 0.499861 -v -0.925561 3.198776 0.499861 -v -0.749291 3.375046 0.499861 -v -0.925561 3.198776 0.749144 -v 0.748885 3.197617 0.499051 -v 0.748885 3.373887 0.499051 -v 0.925155 3.197617 0.499051 -v 0.925155 3.197617 0.748335 -v 0.748885 3.373887 0.748335 -v 0.748885 3.197617 0.748335 -v -0.749291 3.375046 0.749144 -v -0.750000 3.200001 0.750000 -v -0.749291 3.198776 0.749144 -v -0.749291 3.198776 -0.000139 -v -0.925561 3.198776 -0.000139 -v -0.749291 3.375046 -0.000139 -v -0.925561 3.198776 0.249144 -v 0.748885 3.197617 -0.000949 -v 0.748885 3.373887 -0.000949 -v 0.925155 3.197617 -0.000949 -v 0.925155 3.197617 0.248335 -v 0.748885 3.373887 0.248335 -v 0.748885 3.197617 0.248335 -v -0.749291 3.375046 0.249144 -v -0.750000 3.200001 0.250000 -v -0.749291 3.198776 0.249144 -v -0.749291 3.198776 -0.500139 -v -0.925561 3.198776 -0.500139 -v -0.749291 3.375046 -0.500139 -v -0.925561 3.198776 -0.250856 -v 0.748885 3.197617 -0.500949 -v 0.748885 3.373887 -0.500949 -v 0.925155 3.197617 -0.500949 -v 0.925155 3.197617 -0.251665 -v 0.748885 3.373887 -0.251665 -v 0.748885 3.197617 -0.251665 -v -0.749291 3.375046 -0.250856 -v -0.750000 3.200001 -0.250000 -v -0.749291 3.198776 -0.250856 -v -0.749291 3.198776 -1.000139 -v -0.925561 3.198776 -1.000139 -v -0.749291 3.375046 -1.000139 -v -0.925561 3.198776 -0.750855 -v 0.748885 3.197617 -1.000948 -v 0.748885 3.373887 -1.000948 -v 0.925155 3.197617 -1.000948 -v 0.925155 3.197617 -0.751665 -v 0.748885 3.373887 -0.751665 -v 0.748885 3.197617 -0.751665 -v -0.749291 3.375046 -0.750855 -v -0.750000 3.200001 -0.749999 -v -0.749291 3.198776 -0.750855 -v -0.749291 3.198776 -1.500139 -v -0.925561 3.198776 -1.500139 -v -0.749291 3.375046 -1.500139 -v -0.925561 3.198776 -1.250856 -v 0.748885 3.197617 -1.500949 -v 0.748885 3.373887 -1.500949 -v 0.925155 3.197617 -1.500949 -v 0.925155 3.197617 -1.251665 -v 0.748885 3.373887 -1.251665 -v 0.748885 3.197617 -1.251665 -v -0.749291 3.375046 -1.250856 -v -0.750000 3.200001 -1.249999 -v -0.749291 3.198776 -1.250856 -v -0.749291 3.198776 -1.751088 -v -0.925561 3.198776 -1.751088 -v -0.749291 3.375046 -1.751088 -v -0.925561 3.198776 -1.501805 -v 0.748885 3.197617 -1.751898 -v 0.748885 3.373887 -1.751898 -v 0.925155 3.197617 -1.751898 -v 0.925155 3.197617 -1.502614 -v 0.748885 3.373887 -1.502614 -v 0.748885 3.197617 -1.502614 -v -0.749291 3.375046 -1.501805 -v -0.750000 3.200001 -1.500949 -v -0.749291 3.198776 -1.501805 -v -0.750000 1.350001 -10.700001 -v -0.692910 1.994416 -10.700001 -v 0.750000 1.350001 -10.700001 +o Body +v -0.557795 3.198776 0.999861 +v -0.689504 3.198776 0.999861 +v -0.557795 3.375046 0.999861 +v -0.689504 3.198776 1.249144 +v 0.561645 3.197617 0.999051 +v 0.561645 3.373887 0.999051 +v 0.693354 3.197617 0.999051 +v 0.693354 3.197617 1.248335 +v 0.561645 3.373887 1.248335 +v 0.561645 3.197617 1.248335 +v -0.557795 3.375046 1.249144 +v -0.558324 3.200001 1.250000 +v -0.557795 3.198776 1.249144 +v 0.561633 3.197661 -1.749421 +v 0.693341 3.197661 -1.749422 +v 0.561632 3.021391 -1.749422 +v 0.561633 3.021390 3.750661 +v 0.693342 3.197660 3.750661 +v 0.561633 3.197660 3.750661 +v -0.557717 3.199502 -1.749413 +v -0.557717 3.023233 -1.749413 +v -0.689426 3.199503 -1.749413 +v -0.689425 3.199502 3.750652 +v -0.557716 3.023232 3.750652 +v -0.557716 3.199502 3.750652 +v -0.557795 3.198776 3.499861 +v -0.689504 3.198776 3.499861 +v -0.557795 3.375046 3.499861 +v -0.689504 3.198776 3.749144 +v 0.561645 3.197617 3.499051 +v 0.561645 3.373887 3.499051 +v 0.693354 3.197617 3.499051 +v 0.693354 3.197617 3.748335 +v 0.561645 3.373887 3.748335 +v 0.561645 3.197617 3.748335 +v -0.557795 3.375046 3.749144 +v -0.558324 3.200001 3.750000 +v -0.557795 3.198776 3.749144 +v -0.557795 3.198776 2.999861 +v -0.689504 3.198776 2.999861 +v -0.557795 3.375046 2.999861 +v -0.689504 3.198776 3.249144 +v 0.561645 3.197617 2.999051 +v 0.561645 3.373887 2.999051 +v 0.693354 3.197617 2.999051 +v 0.693354 3.197617 3.248334 +v 0.561645 3.373887 3.248334 +v 0.561645 3.197617 3.248334 +v -0.557795 3.375046 3.249144 +v -0.558324 3.200001 3.250000 +v -0.557795 3.198776 3.249144 +v -0.557795 3.198776 2.499861 +v -0.689504 3.198776 2.499861 +v -0.557795 3.375046 2.499861 +v -0.689504 3.198776 2.749144 +v 0.561645 3.197617 2.499051 +v 0.561645 3.373887 2.499051 +v 0.693354 3.197617 2.499051 +v 0.693354 3.197617 2.748335 +v 0.561645 3.373887 2.748335 +v 0.561645 3.197617 2.748335 +v -0.557795 3.375046 2.749144 +v -0.558324 3.200001 2.750000 +v -0.557795 3.198776 2.749144 +v -0.557795 3.198776 1.999861 +v -0.689504 3.198776 1.999861 +v -0.557795 3.375046 1.999861 +v -0.689504 3.198776 2.249144 +v 0.561645 3.197617 1.999051 +v 0.561645 3.373887 1.999051 +v 0.693354 3.197617 1.999051 +v 0.693354 3.197617 2.248335 +v 0.561645 3.373887 2.248335 +v 0.561645 3.197617 2.248335 +v -0.557795 3.375046 2.249144 +v -0.558324 3.200001 2.250000 +v -0.557795 3.198776 2.249144 +v -0.557795 3.198776 1.499861 +v -0.689504 3.198776 1.499861 +v -0.557795 3.375046 1.499861 +v -0.689504 3.198776 1.749144 +v 0.561645 3.197617 1.499051 +v 0.561645 3.373887 1.499051 +v 0.693354 3.197617 1.499051 +v 0.693354 3.197617 1.748335 +v 0.561645 3.373887 1.748335 +v 0.561645 3.197617 1.748335 +v -0.557795 3.375046 1.749144 +v -0.558324 3.200001 1.750000 +v -0.557795 3.198776 1.749144 +v -0.557795 3.198776 0.499861 +v -0.689504 3.198776 0.499861 +v -0.557795 3.375046 0.499861 +v -0.689504 3.198776 0.749144 +v 0.561645 3.197617 0.499051 +v 0.561645 3.373887 0.499051 +v 0.693354 3.197617 0.499051 +v 0.693354 3.197617 0.748335 +v 0.561645 3.373887 0.748335 +v 0.561645 3.197617 0.748335 +v -0.557795 3.375046 0.749144 +v -0.558324 3.200001 0.750000 +v -0.557795 3.198776 0.749144 +v -0.557795 3.198776 -0.000139 +v -0.689504 3.198776 -0.000139 +v -0.557795 3.375046 -0.000139 +v -0.689504 3.198776 0.249144 +v 0.561645 3.197617 -0.000949 +v 0.561645 3.373887 -0.000949 +v 0.693354 3.197617 -0.000949 +v 0.693354 3.197617 0.248335 +v 0.561645 3.373887 0.248335 +v 0.561645 3.197617 0.248335 +v -0.557795 3.375046 0.249144 +v -0.558324 3.200001 0.250000 +v -0.557795 3.198776 0.249144 +v -0.557795 3.198776 -0.500139 +v -0.689504 3.198776 -0.500139 +v -0.557795 3.375046 -0.500139 +v -0.689504 3.198776 -0.250856 +v 0.561645 3.197617 -0.500949 +v 0.561645 3.373887 -0.500949 +v 0.693354 3.197617 -0.500949 +v 0.693354 3.197617 -0.251665 +v 0.561645 3.373887 -0.251665 +v 0.561645 3.197617 -0.251665 +v -0.557795 3.375046 -0.250856 +v -0.558324 3.200001 -0.250000 +v -0.557795 3.198776 -0.250856 +v -0.557795 3.198776 -1.000139 +v -0.689504 3.198776 -1.000139 +v -0.557795 3.375046 -1.000139 +v -0.689504 3.198776 -0.750855 +v 0.561645 3.197617 -1.000948 +v 0.561645 3.373887 -1.000948 +v 0.693354 3.197617 -1.000948 +v 0.693354 3.197617 -0.751665 +v 0.561645 3.373887 -0.751665 +v 0.561645 3.197617 -0.751665 +v -0.557795 3.375046 -0.750855 +v -0.558324 3.200001 -0.749999 +v -0.557795 3.198776 -0.750855 +v -0.557795 3.198776 -1.500139 +v -0.689504 3.198776 -1.500139 +v -0.557795 3.375046 -1.500139 +v -0.689504 3.198776 -1.250856 +v 0.561645 3.197617 -1.500949 +v 0.561645 3.373887 -1.500949 +v 0.693354 3.197617 -1.500949 +v 0.693354 3.197617 -1.251665 +v 0.561645 3.373887 -1.251665 +v 0.561645 3.197617 -1.251665 +v -0.557795 3.375046 -1.250856 +v -0.558324 3.200001 -1.250000 +v -0.557795 3.198776 -1.250856 +v -0.557795 3.198776 -1.751088 +v -0.689504 3.198776 -1.751088 +v -0.557795 3.375046 -1.751088 +v -0.689504 3.198776 -1.501805 +v 0.561645 3.197617 -1.751898 +v 0.561645 3.373887 -1.751898 +v 0.693354 3.197617 -1.751898 +v 0.693354 3.197617 -1.502614 +v 0.561645 3.373887 -1.502614 +v 0.561645 3.197617 -1.502614 +v -0.557795 3.375046 -1.501805 +v -0.558324 3.200001 -1.500949 +v -0.557795 3.198776 -1.501805 +v -0.750000 1.350000 -10.700001 +v -0.692910 1.994415 -10.700001 +v 0.750000 1.350000 -10.700001 v 0.692910 1.994415 -1.700001 -v 0.692910 1.994416 -10.700001 +v 0.692910 1.994415 -10.700001 v 0.750000 1.350000 -1.700001 -v 0.692910 1.005585 -10.700001 +v 0.692910 1.005584 -10.700001 v 0.692910 1.005584 -1.700001 -v 0.530330 0.713604 -10.700001 +v 0.530330 0.713603 -10.700001 v 0.530330 0.713604 -1.700001 -v 0.287013 0.518509 -10.700001 +v 0.287013 0.518508 -10.700001 v 0.287013 0.518508 -1.700001 -v 0.000000 0.450000 -10.700001 +v 0.000000 0.449999 -10.700001 v 0.000000 0.450000 -1.700001 -v -0.287012 0.518508 -10.700001 +v -0.287012 0.518507 -10.700001 v -0.287012 0.518508 -1.700001 -v -0.530330 0.713604 -10.700001 +v -0.530330 0.713603 -10.700001 v -0.530330 0.713603 -1.700001 -v -0.692910 1.005585 -10.700001 +v -0.692910 1.005584 -10.700001 v -0.692910 1.005584 -1.700001 v -0.750000 1.350000 -1.700001 v -0.692910 1.994415 -1.700001 v 0.000000 3.000000 -1.700000 -v 0.129410 2.982966 -19.500000 -v 0.000000 3.000003 -19.500000 +v 0.129410 2.982965 -19.500000 +v 0.000000 3.000002 -19.500000 v 0.129410 2.982962 -1.700000 -v 0.250000 2.933016 -19.500000 +v 0.250000 2.933015 -19.500000 v 0.250000 2.933012 -1.700000 -v 0.353553 2.853557 -19.500000 +v 0.353553 2.853556 -19.500000 v 0.353553 2.853553 -1.700000 -v 0.433013 2.750004 -19.500000 +v 0.433013 2.750003 -19.500000 v 0.433013 2.750000 -1.700000 -v 0.482963 2.629413 -19.500000 +v 0.482963 2.629411 -19.500000 v 0.482963 2.629409 -1.700000 -v 0.500000 2.500003 -19.500000 +v 0.500000 2.500002 -19.500000 v 0.500000 2.500000 -1.700000 -v 0.482963 2.370594 -19.500000 +v 0.482963 2.370593 -19.500000 v 0.482963 2.370590 -1.700000 -v 0.433013 2.250003 -19.500000 +v 0.433013 2.250002 -19.500000 v 0.433013 2.250000 -1.700000 -v 0.353554 2.146450 -19.500000 +v 0.353554 2.146449 -19.500000 v 0.353554 2.146446 -1.700000 -v 0.250000 2.066991 -19.500000 +v 0.250000 2.066990 -19.500000 v 0.250000 2.066987 -1.700000 -v 0.129410 2.017040 -19.500000 +v 0.129410 2.017039 -19.500000 v 0.129410 2.017036 -1.700000 -v 0.000000 2.000003 -19.500000 +v 0.000000 2.000002 -19.500000 v 0.000000 2.000000 -1.700000 -v -0.129409 2.017040 -19.500000 +v -0.129409 2.017039 -19.500000 v -0.129409 2.017036 -1.700000 -v -0.250000 2.066991 -19.500000 +v -0.250000 2.066990 -19.500000 v -0.250000 2.066987 -1.700000 -v -0.353553 2.146450 -19.500000 +v -0.353553 2.146449 -19.500000 v -0.353553 2.146446 -1.700000 -v -0.433013 2.250003 -19.500000 +v -0.433013 2.250002 -19.500000 v -0.433013 2.250000 -1.700000 -v -0.482963 2.370594 -19.500000 +v -0.482963 2.370593 -19.500000 v -0.482963 2.370590 -1.700000 -v -0.500000 2.500003 -19.500000 +v -0.500000 2.500002 -19.500000 v -0.500000 2.500000 -1.700000 -v -0.482963 2.629413 -19.500000 +v -0.482963 2.629411 -19.500000 v -0.482963 2.629409 -1.700000 -v -0.433013 2.750003 -19.500000 +v -0.433013 2.750002 -19.500000 v -0.433013 2.749999 -1.700000 -v -0.353554 2.853557 -19.500000 +v -0.353554 2.853556 -19.500000 v -0.353554 2.853553 -1.700000 -v -0.250000 2.933016 -19.500000 +v -0.250000 2.933015 -19.500000 v -0.250000 2.933012 -1.700000 -v -0.129410 2.982966 -19.500000 +v -0.129410 2.982965 -19.500000 v -0.129410 2.982962 -1.700000 -v 0.217114 2.822436 -19.500000 +v 0.217114 2.822435 -19.500000 v 0.113208 2.865444 -4.500000 -v 0.113208 2.865475 -19.500000 -v 0.000000 2.050003 -17.850000 -v 0.494975 1.844978 -18.550001 -v 0.000000 2.050003 -18.550001 -v 0.494975 1.844978 -17.850000 -v 0.700000 1.350003 -18.550001 -v 0.700000 1.350003 -17.850000 -v 0.494975 0.855029 -18.550001 -v 0.494975 0.855028 -17.850000 -v 0.000000 0.650003 -18.550001 -v 0.000000 0.650003 -17.850000 -v -0.494975 0.855029 -18.550001 -v -0.494975 0.855029 -17.850000 -v -0.700000 1.350003 -18.550001 -v -0.700000 1.350003 -17.850000 -v -0.494975 1.844978 -18.550001 -v -0.494975 1.844978 -17.850000 -v 0.247487 1.102515 -19.300001 -v 0.350000 1.350003 -19.300001 -v 0.247487 1.597490 -19.300001 -v 0.000000 1.700003 -19.300001 -v -0.247487 1.597490 -19.300001 -v -0.350000 1.350003 -19.300001 -v -0.247487 1.102515 -19.300001 -v 0.247487 1.102515 -19.187502 -v 0.000000 1.000003 -19.187502 -v 0.000000 1.000003 -19.300001 -v 0.000000 1.700003 -19.187502 -v 0.247487 1.597490 -19.187502 -v 0.350000 1.350003 -19.187502 -v -0.247487 1.102515 -19.187502 +v 0.113208 2.865474 -19.500000 +v 0.000000 2.050002 -17.850000 +v 0.494975 1.844977 -18.550001 +v 0.000000 2.050002 -18.550001 +v 0.494975 1.844977 -17.850000 +v 0.700000 1.350002 -18.550001 +v 0.700000 1.350002 -17.850000 +v 0.494975 0.855028 -18.550001 +v 0.494975 0.855027 -17.850000 +v 0.000000 0.650002 -18.550001 +v 0.000000 0.650002 -17.850000 +v -0.494975 0.855028 -18.550001 +v -0.494975 0.855028 -17.850000 +v -0.700000 1.350002 -18.550001 +v -0.700000 1.350002 -17.850000 +v -0.494975 1.844977 -18.550001 +v -0.494975 1.844977 -17.850000 +v 0.247487 1.102514 -19.300001 +v 0.350000 1.350002 -19.300001 +v 0.247487 1.597489 -19.300001 +v 0.000000 1.700002 -19.300001 +v -0.247487 1.597489 -19.300001 +v -0.350000 1.350002 -19.300001 +v -0.247487 1.102514 -19.300001 +v 0.247487 1.102514 -19.187502 +v 0.000000 1.000002 -19.187502 +v 0.000000 1.000002 -19.300001 +v 0.000000 1.700002 -19.187502 +v 0.247487 1.597489 -19.187502 +v 0.350000 1.350002 -19.187502 +v -0.247487 1.102514 -19.187502 v 0.000000 1.750000 -1.199998 -v 0.103528 1.736374 -18.200001 -v 0.000000 1.750003 -18.200001 +v 0.103528 1.736373 -18.200001 +v 0.000000 1.750002 -18.200001 v 0.103528 1.736370 -1.199998 -v 0.200000 1.696413 -18.200001 +v 0.200000 1.696412 -18.200001 v 0.200000 1.696410 -1.199998 -v 0.282843 1.632846 -18.200001 +v 0.282843 1.632845 -18.200001 v 0.282843 1.632842 -1.199998 -v 0.346410 1.550003 -18.200001 +v 0.346410 1.550002 -18.200001 v 0.346410 1.549999 -1.199998 -v 0.386370 1.453531 -18.200001 +v 0.386370 1.453530 -18.200001 v 0.386370 1.453527 -1.199998 -v 0.400000 1.350003 -18.200001 +v 0.400000 1.350002 -18.200001 v 0.400000 1.349999 -1.199998 -v 0.386370 1.246476 -18.200001 +v 0.386370 1.246475 -18.200001 v 0.386370 1.246472 -1.199998 -v 0.346410 1.150003 -18.200001 +v 0.346410 1.150002 -18.200001 v 0.346410 1.150000 -1.199998 -v 0.282843 1.067161 -18.200001 +v 0.282843 1.067160 -18.200001 v 0.282843 1.067157 -1.199998 -v 0.200000 1.003593 -18.200001 +v 0.200000 1.003592 -18.200001 v 0.200000 1.003590 -1.199998 -v 0.103528 0.963633 -18.200001 +v 0.103528 0.963632 -18.200001 v 0.103528 0.963629 -1.199998 -v 0.000000 0.950003 -18.200001 +v 0.000000 0.950002 -18.200001 v 0.000000 0.950000 -1.199998 -v -0.103527 0.963633 -18.200001 +v -0.103527 0.963632 -18.200001 v -0.103527 0.963629 -1.199998 -v -0.200000 1.003593 -18.200001 +v -0.200000 1.003592 -18.200001 v -0.200000 1.003589 -1.199998 -v -0.282843 1.067161 -18.200001 +v -0.282843 1.067160 -18.200001 v -0.282843 1.067157 -1.199998 -v -0.346410 1.150003 -18.200001 +v -0.346410 1.150002 -18.200001 v -0.346410 1.150000 -1.199998 -v -0.386370 1.246475 -18.200001 +v -0.386370 1.246474 -18.200001 v -0.386370 1.246472 -1.199998 -v -0.400000 1.350003 -18.200001 +v -0.400000 1.350002 -18.200001 v -0.400000 1.349999 -1.199998 -v -0.386370 1.453531 -18.200001 +v -0.386370 1.453530 -18.200001 v -0.386370 1.453527 -1.199998 -v -0.346410 1.550003 -18.200001 +v -0.346410 1.550002 -18.200001 v -0.346410 1.549999 -1.199998 -v -0.282843 1.632846 -18.200001 +v -0.282843 1.632845 -18.200001 v -0.282843 1.632842 -1.199998 -v -0.200000 1.696413 -18.200001 +v -0.200000 1.696412 -18.200001 v -0.200000 1.696410 -1.199998 -v -0.103528 1.736374 -18.200001 +v -0.103528 1.736373 -18.200001 v -0.103528 1.736370 -1.199998 -v 0.000000 1.850003 -15.850002 -v 0.129410 1.832966 -17.850002 -v 0.000000 1.850003 -17.850002 -v 0.129410 1.832966 -15.850002 -v 0.250000 1.783015 -17.850002 -v 0.250000 1.783015 -15.850002 -v 0.353553 1.703556 -17.850002 -v 0.353553 1.703556 -15.850002 -v 0.433013 1.600003 -17.850002 -v 0.433013 1.600003 -15.850002 -v 0.482963 1.479412 -17.850002 -v 0.482963 1.479412 -15.850002 -v 0.500000 1.350003 -17.850002 -v 0.500000 1.350003 -15.850002 -v 0.482963 1.220594 -17.850002 -v 0.482963 1.220594 -15.850002 -v 0.433013 1.100003 -17.850002 -v 0.433013 1.100003 -15.850002 -v 0.353554 0.996450 -17.850002 -v 0.353554 0.996450 -15.850002 -v 0.250000 0.916990 -17.850002 -v 0.250000 0.916990 -15.850002 -v 0.129410 0.867040 -17.850002 -v 0.129410 0.867040 -15.850002 -v 0.000000 0.850003 -17.850002 -v 0.000000 0.850003 -15.850002 -v -0.129409 0.867040 -17.850002 -v -0.129409 0.867040 -15.850002 -v -0.250000 0.916990 -17.850002 -v -0.250000 0.916990 -15.850002 -v -0.353553 0.996450 -17.850002 -v -0.353553 0.996449 -15.850002 -v -0.433013 1.100003 -17.850002 -v -0.433013 1.100003 -15.850002 -v -0.482963 1.220593 -17.850002 -v -0.482963 1.220593 -15.850002 -v -0.500000 1.350003 -17.850002 -v -0.500000 1.350002 -15.850002 -v -0.482963 1.479412 -17.850002 -v -0.482963 1.479412 -15.850002 -v -0.433013 1.600003 -17.850002 -v -0.433013 1.600003 -15.850002 -v -0.353554 1.703556 -17.850002 -v -0.353554 1.703556 -15.850002 -v -0.250000 1.783015 -17.850002 -v -0.250000 1.783015 -15.850002 -v -0.129410 1.832966 -17.850002 -v -0.129410 1.832966 -15.850002 -v 0.000000 1.850003 -15.400005 -v 0.129410 1.832966 -15.600006 -v 0.000000 1.850003 -15.600006 -v 0.129410 1.832966 -15.400005 -v 0.250000 1.783015 -15.600006 -v 0.250000 1.783015 -15.400005 -v 0.353553 1.703556 -15.600006 -v 0.353553 1.703556 -15.400005 -v 0.433013 1.600003 -15.600006 -v 0.433013 1.600003 -15.400005 -v 0.482963 1.479412 -15.600006 -v 0.482963 1.479412 -15.400005 -v 0.500000 1.350003 -15.600006 -v 0.500000 1.350003 -15.400005 -v 0.482963 1.220594 -15.600006 -v 0.482963 1.220594 -15.400005 -v 0.433013 1.100003 -15.600006 -v 0.433013 1.100003 -15.400005 -v 0.353554 0.996450 -15.600006 -v 0.353554 0.996450 -15.400005 -v 0.250000 0.916990 -15.600006 -v 0.250000 0.916990 -15.400005 -v 0.129410 0.867040 -15.600006 -v 0.129410 0.867040 -15.400005 -v 0.000000 0.850003 -15.600006 -v 0.000000 0.850003 -15.400005 -v -0.129409 0.867040 -15.600006 -v -0.129409 0.867040 -15.400005 -v -0.250000 0.916990 -15.600006 -v -0.250000 0.916990 -15.400005 -v -0.353553 0.996449 -15.600006 -v -0.353553 0.996449 -15.400005 -v -0.433013 1.100003 -15.600006 -v -0.433013 1.100003 -15.400005 -v -0.482963 1.220593 -15.600006 -v -0.482963 1.220593 -15.400005 -v -0.500000 1.350003 -15.600006 -v -0.500000 1.350003 -15.400005 -v -0.482963 1.479412 -15.600006 -v -0.482963 1.479412 -15.400005 -v -0.433013 1.600003 -15.600006 -v -0.433013 1.600003 -15.400005 -v -0.353554 1.703556 -15.600006 -v -0.353554 1.703556 -15.400005 -v -0.250000 1.783015 -15.600006 -v -0.250000 1.783015 -15.400005 -v -0.129410 1.832966 -15.600006 -v -0.129410 1.832966 -15.400005 -v 0.000000 1.850003 -15.050005 -v 0.129410 1.832966 -15.250006 -v 0.000000 1.850003 -15.250006 -v 0.129410 1.832966 -15.050005 -v 0.250000 1.783015 -15.250006 -v 0.250000 1.783015 -15.050005 -v 0.353553 1.703556 -15.250006 -v 0.353553 1.703556 -15.050005 -v 0.433013 1.600003 -15.250006 -v 0.433013 1.600003 -15.050005 -v 0.482963 1.479412 -15.250006 -v 0.482963 1.479412 -15.050005 -v 0.500000 1.350003 -15.250006 -v 0.500000 1.350003 -15.050005 -v 0.482963 1.220594 -15.250006 -v 0.482963 1.220594 -15.050005 -v 0.433013 1.100003 -15.250006 -v 0.433013 1.100003 -15.050005 -v 0.353554 0.996450 -15.250006 -v 0.353554 0.996450 -15.050005 -v 0.250000 0.916990 -15.250006 -v 0.250000 0.916990 -15.050005 -v 0.129410 0.867040 -15.250006 -v 0.129410 0.867040 -15.050005 -v 0.000000 0.850003 -15.250006 -v 0.000000 0.850003 -15.050005 -v -0.129409 0.867040 -15.250006 -v -0.129409 0.867040 -15.050005 -v -0.250000 0.916990 -15.250006 -v -0.250000 0.916990 -15.050005 -v -0.353553 0.996450 -15.250006 -v -0.353553 0.996450 -15.050005 -v -0.433013 1.100003 -15.250006 -v -0.433013 1.100003 -15.050005 -v -0.482963 1.220593 -15.250006 -v -0.482963 1.220593 -15.050005 -v -0.500000 1.350003 -15.250006 -v -0.500000 1.350003 -15.050005 -v -0.482963 1.479412 -15.250006 -v -0.482963 1.479412 -15.050005 -v -0.433013 1.600003 -15.250006 -v -0.433013 1.600003 -15.050005 -v -0.353554 1.703556 -15.250006 -v -0.353554 1.703556 -15.050005 -v -0.250000 1.783015 -15.250006 -v -0.250000 1.783015 -15.050005 -v -0.129410 1.832966 -15.250006 -v -0.129410 1.832966 -15.050005 -v 0.000000 1.850001 -10.700005 -v 0.129410 1.832966 -14.900005 -v 0.000000 1.850003 -14.900005 -v 0.129410 1.832963 -10.700005 -v 0.250000 1.783015 -14.900005 -v 0.250000 1.783013 -10.700005 -v 0.353553 1.703556 -14.900005 -v 0.353553 1.703553 -10.700005 -v 0.433013 1.600003 -14.900005 -v 0.433013 1.600001 -10.700005 -v 0.482963 1.479412 -14.900005 -v 0.482963 1.479409 -10.700005 -v 0.500000 1.350003 -14.900005 -v 0.500000 1.350001 -10.700005 -v 0.482963 1.220594 -14.900005 -v 0.482963 1.220591 -10.700005 -v 0.433013 1.100003 -14.900005 -v 0.433013 1.100001 -10.700005 -v 0.353554 0.996450 -14.900005 -v 0.353554 0.996448 -10.700005 -v 0.250000 0.916990 -14.900005 -v 0.250000 0.916987 -10.700005 -v 0.129410 0.867040 -14.900005 -v 0.129410 0.867037 -10.700005 -v 0.000000 0.850003 -14.900005 -v 0.000000 0.850001 -10.700005 -v -0.129409 0.867040 -14.900005 -v -0.129409 0.867037 -10.700005 -v -0.250000 0.916990 -14.900005 -v -0.250000 0.916987 -10.700005 -v -0.353553 0.996450 -14.900005 -v -0.353553 0.996446 -10.700005 -v -0.433013 1.100003 -14.900005 -v -0.433013 1.100001 -10.700005 -v -0.482963 1.220593 -14.900005 -v -0.482963 1.220590 -10.700005 -v -0.500000 1.350003 -14.900005 -v -0.500000 1.349999 -10.700005 -v -0.482963 1.479412 -14.900005 -v -0.482963 1.479409 -10.700005 -v -0.433013 1.600003 -14.900005 -v -0.433013 1.600001 -10.700005 -v -0.353554 1.703556 -14.900005 -v -0.353554 1.703553 -10.700005 -v -0.250000 1.783015 -14.900005 -v -0.250000 1.783013 -10.700005 -v -0.129410 1.832966 -14.900005 -v -0.129410 1.832963 -10.700005 -v 0.000000 2.880379 -19.500000 -v 0.303359 2.756258 -19.500000 -v 0.365776 2.674914 -19.500000 -v 0.401974 2.587524 -19.500000 -v 0.413496 2.500003 -19.500000 -v 0.401974 2.412482 -19.500000 -v 0.365776 2.325093 -19.500000 -v 0.303359 2.243749 -19.500000 -v 0.217114 2.177571 -19.500000 -v 0.113208 2.134532 -19.500000 -v 0.000000 2.119627 -19.500000 -v -0.113207 2.134532 -19.500000 -v -0.217114 2.177571 -19.500000 -v -0.303358 2.243749 -19.500000 -v -0.365776 2.325093 -19.500000 -v -0.401974 2.412482 -19.500000 -v -0.413496 2.500003 -19.500000 -v -0.401974 2.587524 -19.500000 -v -0.365776 2.674914 -19.500000 -v -0.303359 2.756258 -19.500000 -v -0.217115 2.822435 -19.500000 -v -0.113208 2.865475 -19.500000 +v 0.000000 1.850002 -15.850002 +v 0.129410 1.832965 -17.850002 +v 0.000000 1.850002 -17.850002 +v 0.129410 1.832965 -15.850002 +v 0.250000 1.783014 -17.850002 +v 0.250000 1.783014 -15.850002 +v 0.353553 1.703555 -17.850002 +v 0.353553 1.703555 -15.850002 +v 0.433013 1.600002 -17.850002 +v 0.433013 1.600002 -15.850002 +v 0.482963 1.479411 -17.850002 +v 0.482963 1.479411 -15.850002 +v 0.500000 1.350002 -17.850002 +v 0.500000 1.350002 -15.850002 +v 0.482963 1.220593 -17.850002 +v 0.482963 1.220593 -15.850002 +v 0.433013 1.100002 -17.850002 +v 0.433013 1.100002 -15.850002 +v 0.353554 0.996449 -17.850002 +v 0.353554 0.996449 -15.850002 +v 0.250000 0.916989 -17.850002 +v 0.250000 0.916989 -15.850002 +v 0.129410 0.867039 -17.850002 +v 0.129410 0.867039 -15.850002 +v 0.000000 0.850002 -17.850002 +v 0.000000 0.850002 -15.850002 +v -0.129409 0.867039 -17.850002 +v -0.129409 0.867039 -15.850002 +v -0.250000 0.916989 -17.850002 +v -0.250000 0.916989 -15.850002 +v -0.353553 0.996449 -17.850002 +v -0.353553 0.996448 -15.850002 +v -0.433013 1.100002 -17.850002 +v -0.433013 1.100002 -15.850002 +v -0.482963 1.220592 -17.850002 +v -0.482963 1.220592 -15.850002 +v -0.500000 1.350002 -17.850002 +v -0.500000 1.350001 -15.850002 +v -0.482963 1.479411 -17.850002 +v -0.482963 1.479411 -15.850002 +v -0.433013 1.600002 -17.850002 +v -0.433013 1.600002 -15.850002 +v -0.353554 1.703555 -17.850002 +v -0.353554 1.703555 -15.850002 +v -0.250000 1.783014 -17.850002 +v -0.250000 1.783014 -15.850002 +v -0.129410 1.832965 -17.850002 +v -0.129410 1.832965 -15.850002 +v 0.000000 1.850002 -15.400005 +v 0.129410 1.832965 -15.600006 +v 0.000000 1.850002 -15.600006 +v 0.129410 1.832965 -15.400005 +v 0.250000 1.783014 -15.600006 +v 0.250000 1.783014 -15.400005 +v 0.353553 1.703555 -15.600006 +v 0.353553 1.703555 -15.400005 +v 0.433013 1.600002 -15.600006 +v 0.433013 1.600002 -15.400005 +v 0.482963 1.479411 -15.600006 +v 0.482963 1.479411 -15.400005 +v 0.500000 1.350002 -15.600006 +v 0.500000 1.350002 -15.400005 +v 0.482963 1.220593 -15.600006 +v 0.482963 1.220593 -15.400005 +v 0.433013 1.100002 -15.600006 +v 0.433013 1.100002 -15.400005 +v 0.353554 0.996449 -15.600006 +v 0.353554 0.996449 -15.400005 +v 0.250000 0.916989 -15.600006 +v 0.250000 0.916989 -15.400005 +v 0.129410 0.867039 -15.600006 +v 0.129410 0.867039 -15.400005 +v 0.000000 0.850002 -15.600006 +v 0.000000 0.850002 -15.400005 +v -0.129409 0.867039 -15.600006 +v -0.129409 0.867039 -15.400005 +v -0.250000 0.916989 -15.600006 +v -0.250000 0.916989 -15.400005 +v -0.353553 0.996448 -15.600006 +v -0.353553 0.996448 -15.400005 +v -0.433013 1.100002 -15.600006 +v -0.433013 1.100002 -15.400005 +v -0.482963 1.220592 -15.600006 +v -0.482963 1.220592 -15.400005 +v -0.500000 1.350002 -15.600006 +v -0.500000 1.350002 -15.400005 +v -0.482963 1.479411 -15.600006 +v -0.482963 1.479411 -15.400005 +v -0.433013 1.600002 -15.600006 +v -0.433013 1.600002 -15.400005 +v -0.353554 1.703555 -15.600006 +v -0.353554 1.703555 -15.400005 +v -0.250000 1.783014 -15.600006 +v -0.250000 1.783014 -15.400005 +v -0.129410 1.832965 -15.600006 +v -0.129410 1.832965 -15.400005 +v 0.000000 1.850002 -15.050005 +v 0.129410 1.832965 -15.250006 +v 0.000000 1.850002 -15.250006 +v 0.129410 1.832965 -15.050005 +v 0.250000 1.783014 -15.250006 +v 0.250000 1.783014 -15.050005 +v 0.353553 1.703555 -15.250006 +v 0.353553 1.703555 -15.050005 +v 0.433013 1.600002 -15.250006 +v 0.433013 1.600002 -15.050005 +v 0.482963 1.479411 -15.250006 +v 0.482963 1.479411 -15.050005 +v 0.500000 1.350002 -15.250006 +v 0.500000 1.350002 -15.050005 +v 0.482963 1.220593 -15.250006 +v 0.482963 1.220593 -15.050005 +v 0.433013 1.100002 -15.250006 +v 0.433013 1.100002 -15.050005 +v 0.353554 0.996449 -15.250006 +v 0.353554 0.996449 -15.050005 +v 0.250000 0.916989 -15.250006 +v 0.250000 0.916989 -15.050005 +v 0.129410 0.867039 -15.250006 +v 0.129410 0.867039 -15.050005 +v 0.000000 0.850002 -15.250006 +v 0.000000 0.850002 -15.050005 +v -0.129409 0.867039 -15.250006 +v -0.129409 0.867039 -15.050005 +v -0.250000 0.916989 -15.250006 +v -0.250000 0.916989 -15.050005 +v -0.353553 0.996449 -15.250006 +v -0.353553 0.996449 -15.050005 +v -0.433013 1.100002 -15.250006 +v -0.433013 1.100002 -15.050005 +v -0.482963 1.220592 -15.250006 +v -0.482963 1.220592 -15.050005 +v -0.500000 1.350002 -15.250006 +v -0.500000 1.350002 -15.050005 +v -0.482963 1.479411 -15.250006 +v -0.482963 1.479411 -15.050005 +v -0.433013 1.600002 -15.250006 +v -0.433013 1.600002 -15.050005 +v -0.353554 1.703555 -15.250006 +v -0.353554 1.703555 -15.050005 +v -0.250000 1.783014 -15.250006 +v -0.250000 1.783014 -15.050005 +v -0.129410 1.832965 -15.250006 +v -0.129410 1.832965 -15.050005 +v 0.000000 1.850000 -10.700005 +v 0.129410 1.832965 -14.900005 +v 0.000000 1.850002 -14.900005 +v 0.129410 1.832962 -10.700005 +v 0.250000 1.783014 -14.900005 +v 0.250000 1.783012 -10.700005 +v 0.353553 1.703555 -14.900005 +v 0.353553 1.703552 -10.700005 +v 0.433013 1.600002 -14.900005 +v 0.433013 1.600000 -10.700005 +v 0.482963 1.479411 -14.900005 +v 0.482963 1.479408 -10.700005 +v 0.500000 1.350002 -14.900005 +v 0.500000 1.350000 -10.700005 +v 0.482963 1.220593 -14.900005 +v 0.482963 1.220590 -10.700005 +v 0.433013 1.100002 -14.900005 +v 0.433013 1.100000 -10.700005 +v 0.353554 0.996449 -14.900005 +v 0.353554 0.996447 -10.700005 +v 0.250000 0.916989 -14.900005 +v 0.250000 0.916986 -10.700005 +v 0.129410 0.867039 -14.900005 +v 0.129410 0.867036 -10.700005 +v 0.000000 0.850002 -14.900005 +v 0.000000 0.850000 -10.700005 +v -0.129409 0.867039 -14.900005 +v -0.129409 0.867036 -10.700005 +v -0.250000 0.916989 -14.900005 +v -0.250000 0.916986 -10.700005 +v -0.353553 0.996449 -14.900005 +v -0.353553 0.996445 -10.700005 +v -0.433013 1.100002 -14.900005 +v -0.433013 1.100000 -10.700005 +v -0.482963 1.220592 -14.900005 +v -0.482963 1.220589 -10.700005 +v -0.500000 1.350002 -14.900005 +v -0.500000 1.349998 -10.700005 +v -0.482963 1.479411 -14.900005 +v -0.482963 1.479408 -10.700005 +v -0.433013 1.600002 -14.900005 +v -0.433013 1.600000 -10.700005 +v -0.353554 1.703555 -14.900005 +v -0.353554 1.703552 -10.700005 +v -0.250000 1.783014 -14.900005 +v -0.250000 1.783012 -10.700005 +v -0.129410 1.832965 -14.900005 +v -0.129410 1.832962 -10.700005 +v 0.000000 2.880378 -19.500000 +v 0.303359 2.756257 -19.500000 +v 0.365776 2.674912 -19.500000 +v 0.401974 2.587523 -19.500000 +v 0.413496 2.500002 -19.500000 +v 0.401974 2.412481 -19.500000 +v 0.365776 2.325092 -19.500000 +v 0.303359 2.243747 -19.500000 +v 0.217114 2.177570 -19.500000 +v 0.113208 2.134531 -19.500000 +v 0.000000 2.119626 -19.500000 +v -0.113207 2.134531 -19.500000 +v -0.217114 2.177570 -19.500000 +v -0.303358 2.243747 -19.500000 +v -0.365776 2.325092 -19.500000 +v -0.401974 2.412481 -19.500000 +v -0.413496 2.500002 -19.500000 +v -0.401974 2.587523 -19.500000 +v -0.365776 2.674912 -19.500000 +v -0.303359 2.756257 -19.500000 +v -0.217115 2.822433 -19.500000 +v -0.113208 2.865474 -19.500000 v -0.303359 2.756227 -4.500000 v -0.217115 2.822405 -4.500000 v -0.303358 2.243718 -4.500000 @@ -557,365 +557,365 @@ v 0.401974 2.412452 -4.500000 v 0.000000 2.880348 -4.500000 v 0.365776 2.325063 -4.500000 v -0.113208 2.865444 -4.500000 -v -0.247487 1.597490 -19.187502 -v -0.755718 0.647394 5.837500 -v 0.755718 -2.527644 7.135499 -v -0.755718 -2.527644 7.135499 -v -0.755718 -0.180467 8.289835 -v -0.859447 -0.780915 8.274623 -v -0.755718 -0.780915 8.274623 -v -0.755718 -3.377863 7.013356 -v 0.755718 -3.377863 7.013356 -v -0.755718 -2.987607 8.437500 -v 0.755718 -2.987607 8.437500 -v 0.755718 -2.817606 9.400000 -v 0.755718 -2.464953 7.305608 -v 0.860460 -3.026299 7.224965 -v 0.755718 -3.026299 7.224965 -v -0.755718 -0.688223 8.418876 -v 0.755718 -0.688223 8.418876 -v 0.755718 0.185424 9.259533 -v -0.755718 0.582394 8.302500 -v -0.755718 0.185424 9.259533 -v -0.755718 -0.369988 8.426938 -v 0.755718 -0.369988 8.426938 -v 0.755718 0.582394 8.302500 -v -1.000000 2.933334 -1.071110 -v -1.000000 0.800000 -1.699999 -v -1.000000 0.780398 -0.913832 -v 1.000000 0.800000 -1.699999 -v 1.000000 2.933334 -1.699999 -v 1.000000 1.698309 -0.676977 -v 1.000000 2.933304 -1.071133 -v -1.000000 2.933334 -1.699999 -v 1.000000 0.650225 4.306945 -v -1.000000 0.550646 8.300697 -v -1.000000 0.650225 4.306945 -v 1.000000 0.550646 8.300697 -v -1.000000 -3.878247 18.970343 -v 1.000000 2.932952 6.299709 -v 1.000000 -3.878247 18.970343 -v -1.000000 0.817814 19.398920 -v 1.000000 1.917567 8.277368 -v 1.155736 2.325624 6.986647 -v 1.000000 2.325624 6.986647 -v -1.000000 2.237243 7.108925 -v -1.185947 2.308128 6.984412 -v -1.000000 2.308128 6.984412 -v 1.000000 2.123852 8.290171 -v -1.000000 2.123852 8.290171 -v -1.000000 2.933334 6.300001 -v 1.000000 2.527876 7.012211 -v -0.750000 3.200001 3.750000 -v -0.750000 2.900000 -1.750000 -v -0.750000 2.900000 3.750000 -v 0.750000 3.200001 -1.750000 -v 0.750000 2.900000 3.750000 -v 0.750000 2.900000 -1.750000 -v 0.750000 3.200001 3.750000 -v -0.750000 3.200001 -1.750000 -v -0.250000 0.652645 5.427117 -v 0.250000 0.640000 5.690244 -v 0.250000 0.652645 5.427117 -v -0.250000 0.256794 5.586637 -v 0.250000 -0.181354 5.410000 -v -0.250000 -0.181354 5.410000 -v -0.250000 -0.031450 5.624102 -v 0.250000 0.160424 5.735405 -v 0.250000 -0.031450 5.624102 -v 0.250000 0.405741 5.904014 -v 0.250000 0.256794 5.586637 -v -0.250000 0.640000 5.690244 -v 0.250000 0.606441 5.842027 -v -0.250000 0.405741 5.904014 -v -0.250000 0.160424 5.735405 -v -0.250000 0.606441 5.842027 -v -0.500000 0.660000 2.970000 -v 0.500000 0.660000 4.294731 -v 0.500000 0.660000 2.970000 -v 0.500000 0.324113 3.675095 -v -0.500000 0.324113 3.675095 -v -0.500000 0.660000 4.294731 -v 0.500000 0.509328 4.170000 -v -0.500000 -0.124560 4.074054 -v 0.500000 -0.124560 4.074054 -v -0.500000 0.346295 4.124543 -v 0.500000 0.346295 4.124543 -v 0.500000 0.069553 4.199328 -v -0.500000 0.069553 4.199328 -v -0.500000 -0.236114 4.310554 -v 0.500000 -0.146776 4.438249 -v -0.500000 -0.351705 5.529659 -v 0.500000 -0.322895 4.675695 -v 0.500000 -0.351705 5.529659 -v -0.500000 -0.322895 4.675695 -v 0.500000 -0.236114 4.310554 -v 0.500000 -0.262769 5.520746 -v -0.500000 -0.146776 4.438249 -v -0.500000 -0.262769 5.520746 -v -0.500000 -0.202867 5.844228 -v 0.500000 -0.202867 5.844228 -v 0.500000 -0.157875 5.763871 -v -0.500000 0.158226 6.022319 -v 0.500000 0.158226 6.022319 -v -0.500000 0.239107 5.983576 -v 0.500000 0.239107 5.983576 -v -0.500000 -0.157875 5.763871 -v -0.750000 2.930000 6.000000 -v -0.500000 3.441713 5.759016 -v -0.750000 3.441713 5.759016 -v 0.750000 3.441713 5.759016 -v 0.750000 2.930000 6.000000 -v 0.750000 3.523953 4.644016 -v 0.750000 2.930000 3.800829 -v 0.500000 2.930000 6.000000 -v 0.500000 2.930000 3.800829 -v 0.500000 3.427887 3.897640 -v -0.750000 3.830230 5.170968 -v -0.500000 3.823139 5.393547 -v -0.500000 3.830230 5.170968 -v 0.500000 3.523953 4.644016 -v -0.750000 3.523953 4.644016 -v 0.500000 3.823139 5.393547 -v 0.750000 3.823139 5.393547 -v 0.500000 3.830230 5.170968 -v 0.750000 3.830230 5.170968 -v -0.500000 3.523953 4.644016 -v -0.496667 3.427887 3.897640 -v -0.500000 3.427887 3.897640 -v -0.750000 3.427887 3.897640 -v -0.500000 2.930000 3.800829 -v -0.750000 2.930000 3.800829 -v -0.500000 2.930000 6.000000 -v 0.496667 2.930000 3.800829 -v -0.750000 3.823139 5.393547 -v 0.500000 3.441713 5.759016 -v -0.496667 2.930000 3.800829 -v -0.496667 3.523953 4.644016 -v -1.000000 -3.606867 18.872658 -v -1.000000 0.608680 19.257383 -v -1.000000 1.899714 8.276260 -v -1.000000 0.761976 8.347678 -v -1.000000 2.527876 7.012211 -v -1.185947 1.899714 8.276260 -v -1.185947 2.237243 7.108925 -v -1.185947 0.761976 8.347678 -v -1.185947 0.608680 19.257383 -v -1.185947 -3.606867 18.872658 -v 1.000000 2.293221 7.043643 -v 1.000000 -3.628483 18.880440 -v 1.000000 0.817814 19.398920 -v 1.000000 0.745147 8.343928 -v 1.000000 0.625337 19.268656 -v 1.155736 0.745147 8.343928 -v 1.155736 2.293221 7.043643 -v 1.155736 1.917567 8.277368 -v 1.155736 -3.628483 18.880440 -v 1.155736 0.625337 19.268656 -v -0.755718 0.375138 6.127107 -v -0.755718 -2.470537 7.290457 -v -0.755718 -3.057612 7.206118 -v -0.755718 -2.724833 8.420519 -v -0.755718 -2.602371 9.113867 -v -0.755718 -2.817606 9.400000 -v -0.755718 0.126025 8.749284 -v -0.755718 0.318211 8.285953 -v -0.859447 0.375138 6.127107 -v -0.859447 -2.470537 7.290457 -v -0.859447 -2.724833 8.420519 -v -0.859447 0.318211 8.285953 -v -0.859447 -0.180467 8.289835 -v -0.859447 -2.602371 9.113867 -v -0.859447 0.126025 8.749284 -v -0.859447 -3.057612 7.206118 -v 0.755718 0.348518 6.155423 -v 0.755718 0.292380 8.284335 -v 0.755718 0.647394 5.837500 -v 0.755718 -2.581326 9.085890 -v 0.755718 -2.699138 8.418859 -v 0.755718 0.120217 8.699394 -v 0.755718 -0.789979 8.260518 -v 0.755718 -0.161936 8.276430 -v 0.860460 -0.789979 8.260518 -v 0.860460 -2.699138 8.418859 -v 0.860460 -2.464953 7.305608 -v 0.860460 0.292380 8.284335 -v 0.860460 -0.161936 8.276430 -v 0.860460 -2.581326 9.085890 -v 0.860460 0.348518 6.155423 -v 0.860460 0.120217 8.699394 -v 1.000000 2.933104 3.105046 -v -1.000000 2.933334 3.105221 -v 1.000000 0.780398 -0.913832 -v 1.000000 1.335998 -0.650505 -v 0.788792 1.270460 2.926924 -v 1.000000 1.270460 2.928254 -v 1.000000 2.371172 -0.726139 -v 1.000000 2.370995 2.978774 -v 0.788792 1.698309 -0.676977 -v 0.788792 2.370995 2.978774 -v 0.788792 1.666737 2.926896 -v 0.988511 1.668191 5.137841 -v 0.777303 1.668191 5.136976 -v 0.788792 2.371172 -0.726139 -v 0.788792 1.335998 -0.650505 -v 1.000000 1.666737 2.927761 -v 0.777303 1.271914 5.137004 -v 0.988511 1.271914 5.138335 -v -0.500000 0.509328 4.170000 -v 0.750000 3.427887 3.897640 -v -0.496667 3.823139 5.393547 -v -0.496667 3.830230 5.170968 +v -0.247487 1.597489 -19.187502 +v -0.562597 0.647394 5.837500 +v 0.566750 -2.527643 7.135499 +v -0.562597 -2.527643 7.135499 +v -0.562597 -0.180466 8.289835 +v -0.640103 -0.780915 8.274623 +v -0.562597 -0.780915 8.274623 +v -0.562597 -3.377862 7.013357 +v 0.566750 -3.377862 7.013357 +v -0.562597 -2.987606 8.437500 +v 0.566750 -2.987606 8.437500 +v 0.566750 -2.817605 9.400000 +v 0.566750 -2.464953 7.305608 +v 0.645014 -3.026299 7.224965 +v 0.566750 -3.026299 7.224965 +v -0.562597 -0.688222 8.418876 +v 0.566750 -0.688222 8.418876 +v 0.566750 0.185425 9.259533 +v -0.562597 0.582395 8.302500 +v -0.562597 0.185425 9.259533 +v -0.562597 -0.369987 8.426938 +v 0.566750 -0.369987 8.426938 +v 0.566750 0.582395 8.302500 +v -0.745125 2.933334 -1.071110 +v -0.745125 0.800000 -1.699999 +v -0.745125 0.780398 -0.913832 +v 0.749278 0.800000 -1.699999 +v 0.749278 2.933334 -1.699999 +v 0.749278 1.698309 -0.676977 +v 0.749278 2.933304 -1.071133 +v -0.745125 2.933334 -1.699999 +v 0.749278 0.650225 4.306945 +v -0.745125 0.550647 8.300697 +v -0.745125 0.650225 4.306945 +v 0.749278 0.550647 8.300697 +v -0.745125 -3.878246 18.970343 +v 0.749278 2.932952 6.299709 +v 0.749278 -3.878246 18.970343 +v -0.745125 0.817816 19.398920 +v 0.749278 1.917568 8.277368 +v 0.865644 2.325624 6.986647 +v 0.749278 2.325624 6.986647 +v -0.745125 2.237243 7.108925 +v -0.884064 2.308129 6.984412 +v -0.745125 2.308129 6.984412 +v 0.749278 2.123853 8.290171 +v -0.745125 2.123853 8.290171 +v -0.745125 2.933335 6.300001 +v 0.749278 2.527876 7.012211 +v -0.558324 3.200001 3.750000 +v -0.558324 2.900000 -1.750000 +v -0.558324 2.900000 3.750000 +v 0.562478 3.200001 -1.750000 +v 0.562478 2.900000 3.750000 +v 0.562478 2.900000 -1.750000 +v 0.562478 3.200001 3.750000 +v -0.558324 3.200001 -1.750000 +v -0.184724 0.652645 5.427117 +v 0.188877 0.640000 5.690244 +v 0.188877 0.652645 5.427117 +v -0.184724 0.256794 5.586637 +v 0.188877 -0.181354 5.410000 +v -0.184724 -0.181354 5.410000 +v -0.184724 -0.031450 5.624102 +v 0.188877 0.160424 5.735405 +v 0.188877 -0.031450 5.624102 +v 0.188877 0.405741 5.904014 +v 0.188877 0.256794 5.586637 +v -0.184724 0.640000 5.690244 +v 0.188877 0.606441 5.842027 +v -0.184724 0.405741 5.904014 +v -0.184724 0.160424 5.735405 +v -0.184724 0.606441 5.842027 +v -0.371524 0.660000 2.970000 +v 0.375677 0.660000 4.294731 +v 0.375677 0.660000 2.970000 +v 0.375677 0.324113 3.675095 +v -0.371524 0.324113 3.675095 +v -0.371524 0.660000 4.294731 +v 0.375677 0.509328 4.170000 +v -0.371524 -0.124560 4.074054 +v 0.375677 -0.124560 4.074054 +v -0.371524 0.346295 4.124543 +v 0.375677 0.346295 4.124543 +v 0.375677 0.069553 4.199328 +v -0.371524 0.069553 4.199328 +v -0.371524 -0.236114 4.310554 +v 0.375677 -0.146776 4.438249 +v -0.371524 -0.351705 5.529659 +v 0.375677 -0.322895 4.675695 +v 0.375677 -0.351705 5.529659 +v -0.371524 -0.322895 4.675695 +v 0.375677 -0.236114 4.310554 +v 0.375677 -0.262769 5.520746 +v -0.371524 -0.146776 4.438249 +v -0.371524 -0.262769 5.520746 +v -0.371524 -0.202867 5.844228 +v 0.375677 -0.202867 5.844228 +v 0.375677 -0.157875 5.763871 +v -0.371524 0.158226 6.022319 +v 0.375677 0.158226 6.022319 +v -0.371524 0.239107 5.983576 +v 0.375677 0.239107 5.983576 +v -0.371524 -0.157875 5.763871 +v -0.558324 2.930001 6.000000 +v -0.371524 3.441714 5.759016 +v -0.558324 3.441714 5.759016 +v 0.562478 3.441714 5.759016 +v 0.562478 2.930001 6.000000 +v 0.562478 3.523953 4.644015 +v 0.562478 2.930000 3.800829 +v 0.375677 2.930001 6.000000 +v 0.375677 2.930000 3.800829 +v 0.375677 3.427887 3.897640 +v -0.558324 3.830230 5.170968 +v -0.371524 3.823139 5.393547 +v -0.371524 3.830230 5.170968 +v 0.375677 3.523953 4.644015 +v -0.558324 3.523953 4.644015 +v 0.375677 3.823139 5.393547 +v 0.562478 3.823139 5.393547 +v 0.375677 3.830230 5.170968 +v 0.562478 3.830230 5.170968 +v -0.371524 3.523953 4.644015 +v -0.369034 3.427887 3.897640 +v -0.371524 3.427887 3.897640 +v -0.558324 3.427887 3.897640 +v -0.371524 2.930000 3.800829 +v -0.558324 2.930000 3.800829 +v -0.371524 2.930001 6.000000 +v 0.373187 2.930000 3.800829 +v -0.558324 3.823139 5.393547 +v 0.375677 3.441714 5.759016 +v -0.369034 2.930000 3.800829 +v -0.369034 3.523953 4.644015 +v -0.745125 -3.606866 18.872658 +v -0.745125 0.608681 19.257383 +v -0.745125 1.899715 8.276260 +v -0.745125 0.761977 8.347678 +v -0.745125 2.527876 7.012211 +v -0.884064 1.899715 8.276260 +v -0.884064 2.237243 7.108925 +v -0.884064 0.761977 8.347678 +v -0.884064 0.608681 19.257383 +v -0.884064 -3.606866 18.872658 +v 0.749278 2.293221 7.043643 +v 0.749278 -3.628482 18.880440 +v 0.749278 0.817816 19.398920 +v 0.749278 0.745148 8.343928 +v 0.749278 0.625338 19.268656 +v 0.865644 0.745148 8.343928 +v 0.865644 2.293221 7.043643 +v 0.865644 1.917568 8.277368 +v 0.865644 -3.628482 18.880440 +v 0.865644 0.625338 19.268656 +v -0.562597 0.375139 6.127107 +v -0.562597 -2.470536 7.290457 +v -0.562597 -3.057612 7.206118 +v -0.562597 -2.724832 8.420519 +v -0.562597 -2.602371 9.113867 +v -0.562597 -2.817605 9.400000 +v -0.562597 0.126026 8.749284 +v -0.562597 0.318212 8.285953 +v -0.640103 0.375139 6.127107 +v -0.640103 -2.470536 7.290457 +v -0.640103 -2.724832 8.420519 +v -0.640103 0.318212 8.285953 +v -0.640103 -0.180466 8.289835 +v -0.640103 -2.602371 9.113867 +v -0.640103 0.126026 8.749284 +v -0.640103 -3.057612 7.206118 +v 0.566750 0.348518 6.155423 +v 0.566750 0.292381 8.284335 +v 0.566750 0.647394 5.837500 +v 0.566750 -2.581325 9.085890 +v 0.566750 -2.699137 8.418859 +v 0.566750 0.120218 8.699394 +v 0.566750 -0.789978 8.260518 +v 0.566750 -0.161935 8.276430 +v 0.645014 -0.789978 8.260518 +v 0.645014 -2.699137 8.418859 +v 0.645014 -2.464953 7.305608 +v 0.645014 0.292381 8.284335 +v 0.645014 -0.161935 8.276430 +v 0.645014 -2.581325 9.085890 +v 0.645014 0.348518 6.155423 +v 0.645014 0.120218 8.699394 +v 0.749278 2.933104 3.105046 +v -0.745125 2.933334 3.105221 +v 0.749278 0.780398 -0.913832 +v 0.749278 1.335998 -0.650505 +v 0.591463 1.270460 2.786515 +v 0.749278 1.270460 2.787845 +v 0.749278 2.371172 -0.726139 +v 0.749278 2.370995 2.838365 +v 0.591463 1.698309 -0.676977 +v 0.591463 2.370995 2.838365 +v 0.591463 1.666737 2.786487 +v 0.740693 1.668191 5.137841 +v 0.582879 1.668191 5.136976 +v 0.591463 2.371172 -0.726139 +v 0.591463 1.335998 -0.650505 +v 0.749278 1.666737 2.787352 +v 0.582879 1.271914 5.137004 +v 0.740693 1.271914 5.138335 +v -0.371524 0.509328 4.170000 +v 0.562478 3.427887 3.897640 +v -0.369034 3.823139 5.393547 +v -0.369034 3.830230 5.170968 v 0.212415 3.387585 5.190104 -v 0.249773 3.433107 5.409896 -v 0.212415 3.387585 5.409896 +v 0.249773 3.433107 5.409895 +v 0.212415 3.387585 5.409895 v 0.249773 3.433107 5.190104 -v 0.277533 3.485042 5.409896 -v 0.277533 3.485042 5.190104 -v 0.294628 3.541395 5.409896 +v 0.277533 3.485043 5.409895 +v 0.277533 3.485043 5.190104 +v 0.294628 3.541395 5.409895 v 0.294628 3.541395 5.190104 -v 0.300400 3.600000 5.409896 +v 0.300400 3.600000 5.409895 v 0.300400 3.600000 5.190104 -v 0.294628 3.658605 5.409896 -v 0.294628 3.658605 5.190104 -v 0.277533 3.714958 5.409896 +v 0.294628 3.658606 5.409895 +v 0.294628 3.658606 5.190104 +v 0.277533 3.714958 5.409895 v 0.277533 3.714958 5.190104 -v 0.249773 3.766893 5.409896 +v 0.249773 3.766893 5.409895 v 0.249773 3.766893 5.190104 -v 0.212415 3.812415 5.409896 +v 0.212415 3.812415 5.409895 v 0.212415 3.812415 5.190104 -v 0.166893 3.849773 5.409896 +v 0.166893 3.849773 5.409895 v 0.166893 3.849773 5.190104 -v 0.114958 3.877533 5.409896 +v 0.114958 3.877533 5.409895 v 0.114958 3.877533 5.190104 -v 0.058605 3.894628 5.409896 -v 0.058605 3.894628 5.190104 -v 0.000000 3.900400 5.409896 +v 0.058605 3.894629 5.409895 +v 0.058605 3.894629 5.190104 +v 0.000000 3.900400 5.409895 v 0.000000 3.900400 5.190104 -v -0.058605 3.894628 5.409896 -v -0.058605 3.894628 5.190104 -v -0.114958 3.877533 5.409896 +v -0.058605 3.894629 5.409895 +v -0.058605 3.894629 5.190104 +v -0.114958 3.877533 5.409895 v -0.114958 3.877533 5.190104 -v -0.166893 3.849773 5.409896 +v -0.166893 3.849773 5.409895 v -0.166893 3.849773 5.190104 -v -0.212415 3.812415 5.409896 +v -0.212415 3.812415 5.409895 v -0.212415 3.812415 5.190104 -v -0.249773 3.766893 5.409896 +v -0.249773 3.766893 5.409895 v -0.249773 3.766893 5.190104 -v -0.277533 3.714958 5.409896 +v -0.277533 3.714958 5.409895 v -0.277533 3.714958 5.190104 -v -0.294628 3.658605 5.409896 -v -0.294628 3.658605 5.190104 -v -0.300400 3.600000 5.409896 +v -0.294628 3.658606 5.409895 +v -0.294628 3.658606 5.190104 +v -0.300400 3.600000 5.409895 v -0.300400 3.600000 5.190104 -v -0.294628 3.541395 5.409896 +v -0.294628 3.541395 5.409895 v -0.294628 3.541395 5.190104 -v -0.277533 3.485042 5.409896 -v -0.277533 3.485042 5.190104 -v -0.249773 3.433107 5.409896 +v -0.277533 3.485043 5.409895 +v -0.277533 3.485043 5.190104 +v -0.249773 3.433107 5.409895 v -0.249773 3.433107 5.190104 -v -0.212414 3.387585 5.409896 +v -0.212414 3.387585 5.409895 v 0.146217 3.453784 5.190104 -v 0.171933 3.485118 5.410770 +v 0.171933 3.485118 5.410769 v 0.171933 3.485118 5.190104 v 0.202808 3.559659 5.190104 -v 0.191041 3.520868 5.190104 +v 0.191041 3.520869 5.190104 v 0.206782 3.600000 5.190104 -v 0.202808 3.640341 5.190104 +v 0.202808 3.640342 5.190104 v 0.171933 3.714882 5.190104 v 0.191041 3.679132 5.190104 v 0.146217 3.746217 5.190104 -v 0.114882 3.771933 5.190104 -v 0.040341 3.802808 5.190104 +v 0.114882 3.771934 5.190104 +v 0.040341 3.802809 5.190104 v 0.079132 3.791041 5.190104 v 0.000000 3.806782 5.190104 -v -0.040341 3.802808 5.190104 -v -0.114882 3.771933 5.190104 +v -0.040341 3.802809 5.190104 +v -0.114882 3.771934 5.190104 v -0.079132 3.791041 5.190104 v -0.146217 3.746217 5.190104 v -0.171933 3.714881 5.190104 -v -0.202808 3.640341 5.190104 +v -0.202808 3.640342 5.190104 v -0.191041 3.679132 5.190104 v -0.206782 3.600000 5.190104 v -0.202808 3.559659 5.190104 -v -0.191041 3.520868 5.190104 +v -0.191041 3.520869 5.190104 v -0.171932 3.485118 5.190104 v -0.212414 3.387585 5.190104 v -0.040341 3.397192 5.190104 -v 0.000000 3.393219 5.410770 +v 0.000000 3.393219 5.410769 v 0.000000 3.393219 5.190104 -v -0.114882 3.771933 5.410770 -v 0.191041 3.520868 5.410770 -v -0.146217 3.746217 5.410770 -v 0.202808 3.559659 5.410770 -v -0.171933 3.714881 5.410770 -v 0.206782 3.600000 5.410770 -v -0.191041 3.679132 5.410770 -v 0.202808 3.640341 5.410770 -v -0.202808 3.640341 5.410770 -v 0.191041 3.679132 5.410770 -v -0.206781 3.600000 5.410770 -v 0.171933 3.714882 5.410770 -v -0.202808 3.559659 5.410770 -v 0.146217 3.746217 5.410770 -v -0.191041 3.520868 5.410770 -v 0.114882 3.771933 5.410770 -v -0.171932 3.485118 5.410770 -v 0.079132 3.791041 5.410770 -v 0.040341 3.397192 5.410770 +v -0.114882 3.771934 5.410769 +v 0.191041 3.520869 5.410769 +v -0.146217 3.746217 5.410769 +v 0.202808 3.559659 5.410769 +v -0.171933 3.714881 5.410769 +v 0.206782 3.600000 5.410769 +v -0.191041 3.679132 5.410769 +v 0.202808 3.640342 5.410769 +v -0.202808 3.640342 5.410769 +v 0.191041 3.679132 5.410769 +v -0.206781 3.600000 5.410769 +v 0.171933 3.714882 5.410769 +v -0.202808 3.559659 5.410769 +v 0.146217 3.746217 5.410769 +v -0.191041 3.520869 5.410769 +v 0.114882 3.771934 5.410769 +v -0.171932 3.485118 5.410769 +v 0.079132 3.791041 5.410769 +v 0.040341 3.397192 5.410769 v 0.040341 3.397192 5.190104 -v -0.146216 3.453783 5.410770 -v -0.146216 3.453783 5.190104 -v 0.040341 3.802808 5.410770 -v 0.079132 3.408959 5.410770 +v -0.146216 3.453784 5.410769 +v -0.146216 3.453784 5.190104 +v 0.040341 3.802809 5.410769 +v 0.079132 3.408959 5.410769 v 0.079132 3.408959 5.190104 -v -0.114881 3.428067 5.410770 +v -0.114881 3.428067 5.410769 v -0.114881 3.428067 5.190104 -v 0.000000 3.806782 5.410770 -v 0.114882 3.428067 5.410770 +v 0.000000 3.806782 5.410769 +v 0.114882 3.428067 5.410769 v 0.114882 3.428067 5.190104 -v -0.079132 3.408959 5.410770 +v -0.079132 3.408959 5.410769 v -0.079132 3.408959 5.190104 -v -0.040341 3.802808 5.410770 -v 0.146217 3.453784 5.410770 -v -0.040341 3.397192 5.410770 -v -0.079132 3.791041 5.410770 -v 0.169977 3.486425 5.409896 -v 0.188868 3.521768 5.409896 -v 0.200501 3.560118 5.409896 -v 0.204429 3.600000 5.409896 -v 0.200501 3.639882 5.409896 -v 0.188868 3.678232 5.409896 -v 0.169977 3.713575 5.409896 -v 0.144553 3.744553 5.409896 -v 0.113575 3.769977 5.409896 -v 0.078232 3.788868 5.409896 -v 0.039882 3.800501 5.409896 -v 0.000000 3.804429 5.409896 -v -0.039882 3.800501 5.409896 -v -0.078232 3.788868 5.409896 -v -0.113575 3.769977 5.409896 -v -0.144553 3.744553 5.409896 -v -0.169977 3.713575 5.409896 -v -0.188868 3.678231 5.409896 -v -0.200501 3.639882 5.409896 -v -0.204429 3.600000 5.409896 -v -0.200501 3.560118 5.409896 -v -0.188868 3.521768 5.409896 -v -0.169977 3.486425 5.409896 -v -0.144553 3.455447 5.409896 -v -0.499854 3.387367 5.661843 -v -0.499854 2.912633 4.938158 -v -0.499854 2.912633 5.661843 -v -0.499854 3.387367 4.938158 -v 0.519854 2.912633 4.938158 -v 0.519854 3.387367 4.938158 -v 0.519854 2.912633 5.661843 -v 0.519854 3.387367 5.661843 -v 0.212149 3.387367 5.409896 +v -0.040341 3.802809 5.410769 +v 0.146217 3.453784 5.410769 +v -0.040341 3.397192 5.410769 +v -0.079132 3.791041 5.410769 +v 0.169977 3.486425 5.409895 +v 0.188868 3.521769 5.409895 +v 0.200501 3.560118 5.409895 +v 0.204429 3.600000 5.409895 +v 0.200501 3.639883 5.409895 +v 0.188868 3.678232 5.409895 +v 0.169977 3.713575 5.409895 +v 0.144553 3.744554 5.409895 +v 0.113575 3.769978 5.409895 +v 0.078232 3.788868 5.409895 +v 0.039882 3.800502 5.409895 +v 0.000000 3.804430 5.409895 +v -0.039882 3.800502 5.409895 +v -0.078232 3.788868 5.409895 +v -0.113575 3.769978 5.409895 +v -0.144553 3.744554 5.409895 +v -0.169977 3.713575 5.409895 +v -0.188868 3.678231 5.409895 +v -0.200501 3.639883 5.409895 +v -0.204429 3.600000 5.409895 +v -0.200501 3.560118 5.409895 +v -0.188868 3.521769 5.409895 +v -0.169977 3.486425 5.409895 +v -0.144553 3.455447 5.409895 +v -0.371415 3.387367 5.661842 +v -0.371415 2.912633 4.938158 +v -0.371415 2.912633 5.661843 +v -0.371415 3.387367 4.938158 +v 0.390512 2.912633 4.938158 +v 0.390512 3.387367 4.938158 +v 0.390512 2.912633 5.661843 +v 0.390512 3.387367 5.661842 +v 0.212149 3.387367 5.409895 v 0.212149 3.387367 5.190104 v -0.212149 3.387367 5.190104 -v -0.212149 3.387367 5.409896 +v -0.212149 3.387367 5.409895 v 0.000000 3.387367 5.190104 v 0.042295 3.387367 5.190104 v 0.088076 3.387367 5.190104 @@ -923,461 +923,390 @@ v 0.142077 3.387367 5.190104 v -0.142076 3.387367 5.190104 v -0.088075 3.387367 5.190104 v -0.042295 3.387367 5.190104 -v 0.039882 3.399499 5.409896 -v 0.000000 3.387367 5.409896 -v 0.042295 3.387367 5.409896 -v 0.078232 3.411132 5.409896 -v 0.088076 3.387367 5.409896 -v 0.113575 3.430023 5.409896 -v 0.142077 3.387367 5.409896 -v 0.144553 3.455447 5.409896 -v -0.088075 3.387367 5.409896 -v -0.113575 3.430023 5.409896 -v -0.142076 3.387367 5.409896 -v -0.042295 3.387367 5.409896 -v -0.078231 3.411132 5.409896 -v -0.039882 3.399499 5.409896 -v 0.000000 3.395571 5.409896 -v -0.285753 2.876174 -17.583353 -v -0.206993 3.392601 -18.284744 -v -0.285753 2.876174 -18.899897 -v 0.285753 2.876174 -18.899897 -v 0.206993 3.392601 -18.284744 -v 0.285753 2.876174 -17.583353 -v 0.206993 3.392601 -17.955841 -v -0.052052 3.504859 -18.120081 -v -0.045935 3.600579 -18.259661 -v -0.052052 3.504859 -18.269205 -v 0.052052 3.504859 -18.269205 -v 0.045935 3.600579 -18.259661 -v 0.052052 3.504859 -18.120081 -v 0.045935 3.600579 -18.122107 -v 0.063413 3.327094 -18.286932 -v -0.063413 3.327094 -18.116322 -v -0.063413 3.327094 -18.286932 -v 0.063413 3.327094 -18.116322 -v -0.197447 3.270684 -17.965662 -v -0.287607 3.625364 -18.247025 -v -0.197447 3.270684 -18.300558 -v -0.199752 3.652224 -18.247025 -v -0.076163 3.307764 -18.300558 -v -0.076163 3.307764 -17.965662 -v -0.199752 3.652224 -17.977015 -v 0.076163 3.307764 -17.965847 -v 0.199752 3.652224 -18.246998 -v 0.076163 3.307764 -18.300491 -v 0.197447 3.270684 -18.300491 -v 0.287607 3.625364 -18.246998 -v 0.197447 3.270684 -17.965847 -v 0.287607 3.625364 -17.977190 -v -0.206993 3.392601 -17.955841 -v -0.045935 3.600579 -18.122107 -v -0.287607 3.625364 -17.977015 -v 0.199752 3.652224 -17.977190 +v 0.039882 3.399499 5.409895 +v 0.000000 3.387367 5.409895 +v 0.042295 3.387367 5.409895 +v 0.078232 3.411133 5.409895 +v 0.088076 3.387367 5.409895 +v 0.113575 3.430023 5.409895 +v 0.142077 3.387367 5.409895 +v 0.144553 3.455447 5.409895 +v -0.088075 3.387367 5.409895 +v -0.113575 3.430023 5.409895 +v -0.142076 3.387367 5.409895 +v -0.042295 3.387367 5.409895 +v -0.078231 3.411133 5.409895 +v -0.039882 3.399499 5.409895 +v 0.000000 3.395571 5.409895 +v -0.285753 2.876173 -17.583353 +v -0.206993 3.392600 -18.284744 +v -0.285753 2.876173 -18.899897 +v 0.285753 2.876173 -18.899897 +v 0.206993 3.392600 -18.284744 +v 0.285753 2.876173 -17.583353 +v 0.206993 3.392600 -17.955841 +v -0.052052 3.504858 -18.120081 +v -0.045935 3.600578 -18.259661 +v -0.052052 3.504858 -18.269205 +v 0.052052 3.504858 -18.269205 +v 0.045935 3.600578 -18.259661 +v 0.052052 3.504858 -18.120081 +v 0.045935 3.600578 -18.122107 +v 0.063413 3.327093 -18.286932 +v -0.063413 3.327093 -18.116322 +v -0.063413 3.327093 -18.286932 +v 0.063413 3.327093 -18.116322 +v -0.197447 3.270683 -17.965662 +v -0.287607 3.625363 -18.247025 +v -0.197447 3.270683 -18.300558 +v -0.199752 3.652223 -18.247025 +v -0.076163 3.307763 -18.300558 +v -0.076163 3.307763 -17.965662 +v -0.199752 3.652223 -17.977015 +v 0.076163 3.307763 -17.965847 +v 0.199752 3.652223 -18.246998 +v 0.076163 3.307763 -18.300491 +v 0.197447 3.270683 -18.300491 +v 0.287607 3.625363 -18.246998 +v 0.197447 3.270683 -17.965847 +v 0.287607 3.625363 -17.977190 +v -0.206993 3.392600 -17.955841 +v -0.045935 3.600578 -18.122107 +v -0.287607 3.625363 -17.977015 +v 0.199752 3.652223 -17.977190 +vn -0.0004 -0.0000 -1.0000 +vn -0.0000 -0.0000 -1.0000 +vn -0.0005 -0.0000 -1.0000 +vn 0.0029 -1.0000 0.0015 +vn 0.0064 -1.0000 0.0034 +vn -0.0000 -1.0000 -0.0000 +vn 0.8011 0.5986 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn 1.0000 -0.0000 -0.0000 +vn 0.0008 0.0005 1.0000 +vn 0.0014 0.0044 1.0000 +vn 0.0015 0.0049 1.0000 +vn 0.0010 1.0000 -0.0000 +vn -0.8011 0.5986 -0.0000 +vn -0.0066 0.0049 1.0000 +vn -0.9179 -0.3969 -0.0000 +vn -0.0007 -0.0000 -1.0000 +vn -0.0009 -1.0000 0.0003 +vn -0.0000 -0.5728 0.8197 +vn -0.0005 -0.8620 0.5069 +vn 0.8506 0.0005 0.5258 +vn 0.8501 -0.0003 0.5266 +vn 0.8501 -0.0000 0.5267 +vn 0.8011 -0.5986 -0.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 1.0000 -0.0000 +vn -0.8011 -0.5986 -0.0000 +vn -0.0000 -0.5727 0.8197 +vn -0.0005 -0.8619 0.5070 +vn 0.8500 -0.0007 0.5267 +vn 0.8510 0.0008 0.5252 +vn 0.8511 -0.0000 0.5250 +vn -0.0009 -1.0000 0.0004 +vn -0.0001 -0.5735 0.8192 +vn 0.8503 -0.0000 0.5263 +vn 0.8505 0.0002 0.5259 +vn 0.8505 -0.0000 0.5259 +vn -0.9178 -0.3970 -0.0000 +vn 0.8504 -0.0000 0.5262 +vn 0.8505 0.0005 0.5259 +vn 0.8500 -0.0003 0.5267 +vn 0.8500 -0.0000 0.5268 +vn -0.0005 -0.8620 0.5070 +vn -0.8503 -0.0000 -0.5263 +vn -0.0000 -0.5729 0.8196 +vn -0.8504 -0.0000 -0.5261 +vn -0.0000 -0.5731 0.8195 +vn -0.0005 -0.8621 0.5068 +vn -0.8502 -0.0000 -0.5265 +vn -0.9179 -0.3968 -0.0000 +vn 0.0093 -0.9999 0.0049 +vn 0.0007 -0.0000 1.0000 +vn -0.0010 -1.0000 -0.0000 +vn -0.0011 -1.0000 0.0005 +vn -0.0011 -1.0000 0.0003 +vn 0.9961 0.0882 -0.0000 +vn 0.9865 -0.1635 -0.0000 +vn 0.8737 -0.4865 -0.0000 +vn 0.6256 -0.7802 -0.0000 +vn 0.2322 -0.9727 -0.0000 +vn -0.2322 -0.9727 -0.0000 +vn -0.6256 -0.7802 -0.0000 +vn -0.8737 -0.4865 -0.0000 +vn -0.9865 -0.1635 -0.0000 +vn -0.9961 0.0882 -0.0000 +vn 0.1305 0.9914 -0.0000 +vn 0.3827 0.9239 -0.0000 +vn 0.6088 0.7934 -0.0000 +vn 0.7934 0.6088 -0.0000 +vn 0.7933 0.6088 -0.0000 +vn 0.9239 0.3827 -0.0000 +vn 0.9914 0.1305 -0.0000 +vn 0.9914 -0.1305 -0.0000 +vn 0.9239 -0.3827 -0.0000 +vn 0.7934 -0.6088 -0.0000 +vn 0.6088 -0.7934 -0.0000 +vn 0.3827 -0.9239 -0.0000 +vn 0.1305 -0.9914 -0.0000 +vn -0.1305 -0.9914 -0.0000 +vn -0.3827 -0.9239 -0.0000 +vn -0.6088 -0.7934 -0.0000 +vn -0.7934 -0.6088 -0.0000 +vn -0.9239 -0.3827 -0.0000 +vn -0.9914 -0.1305 -0.0000 +vn -0.9914 0.1305 -0.0000 +vn -0.9239 0.3827 -0.0000 +vn -0.7934 0.6088 -0.0000 +vn -0.6088 0.7934 -0.0000 +vn -0.3827 0.9239 -0.0000 +vn -0.1305 0.9914 -0.0000 +vn 0.3514 -0.8484 -0.3959 +vn 0.8484 -0.3514 -0.3959 +vn 0.8484 0.3514 -0.3959 +vn 0.3514 0.8484 -0.3959 +vn -0.3514 0.8484 -0.3959 +vn -0.8484 0.3514 -0.3959 +vn -0.8484 -0.3514 -0.3959 +vn -0.3514 -0.8484 -0.3959 +vn -0.6088 -0.7933 -0.0000 +vn -0.7933 -0.6088 -0.0000 +vn 0.6088 0.7933 -0.0000 +vn 0.6088 -0.7933 -0.0000 +vn 0.5314 0.1600 -0.8319 +vn 0.8527 -0.0000 -0.5224 +vn 0.5314 -0.1600 -0.8319 +vn -0.0000 -0.0001 -1.0000 +vn -0.0000 0.0002 -1.0000 +vn -0.0000 0.0001 1.0000 +vn -0.0000 -0.0001 1.0000 +vn -0.0000 0.0001 -1.0000 +vn 0.7933 -0.6088 -0.0000 +vn -0.0000 -0.3784 -0.9256 +vn -0.0000 -0.0253 0.9997 +vn -0.0000 0.1422 -0.9898 +vn -0.0000 -0.9644 0.2643 +vn -0.0000 -0.9848 0.1739 +vn -0.0000 0.4185 0.9082 +vn -0.0000 0.9237 0.3831 +vn -0.0000 -0.8319 0.5549 +vn -0.0000 0.9997 0.0264 +vn -0.0000 -0.9997 -0.0249 +vn -0.0000 -0.9236 -0.3834 +vn 0.0001 0.6431 0.7658 +vn -0.0000 0.6432 0.7657 +vn 0.0002 0.6431 0.7658 +vn -0.0000 -0.0909 0.9959 +vn -0.0000 0.9535 0.3014 +vn -0.0000 -0.8690 -0.4947 +vn -0.0000 0.9932 0.1168 +vn 0.0001 0.8691 0.4946 +vn 0.0002 0.8692 0.4944 +vn 0.0003 0.8693 0.4942 +vn -0.0000 0.9988 0.0480 +vn -0.0000 0.3739 -0.9275 +vn -0.0000 -0.8192 0.5735 +vn -0.0000 -0.5018 0.8650 +vn -0.0000 -0.3738 -0.9275 +vn -0.0000 0.9764 0.2159 +vn -0.0000 -0.5664 0.8241 +vn -0.0000 0.2951 0.9555 +vn -0.0000 -0.9028 -0.4301 +vn -0.0000 -0.6377 0.7703 +vn -0.0000 -0.6645 -0.7473 +vn -0.0000 -0.2686 0.9633 +vn -0.0000 0.2609 0.9654 +vn -0.0000 -0.9044 -0.4266 +vn -0.0000 0.7413 0.6712 +vn -0.0000 -0.9994 -0.0337 +vn -0.0000 -0.9729 -0.2312 +vn -0.0000 0.9943 0.1065 +vn -0.0000 -0.9039 0.4277 +vn -0.0000 0.9182 -0.3961 +vn -0.0000 -0.4423 0.8969 +vn -0.0000 0.4320 0.9019 +vn -0.0000 0.4842 -0.8749 +vn -0.0000 0.4261 0.9047 +vn -0.0000 0.1909 -0.9816 +vn -0.0000 0.9995 0.0318 +vn -0.0000 0.9918 -0.1277 +vn -0.0000 0.6918 0.7220 +vn -0.0000 0.8646 -0.5025 +vn 1.0000 -0.0007 0.0005 +vn 1.0000 -0.0014 0.0012 +vn -0.0000 -0.6430 -0.7658 +vn -0.0000 -0.6432 -0.7657 +vn -0.0000 -0.8693 -0.4942 +vn -0.6596 -0.0683 0.7485 +vn -0.8378 -0.5043 -0.2093 +vn -0.8500 0.5231 0.0615 +vn -0.8432 0.5126 0.1621 +vn -0.8274 0.4880 0.2778 +vn -0.7765 -0.4066 -0.4813 +vn -0.9847 -0.1471 -0.0934 +vn -0.6634 -0.4810 -0.5732 +vn 0.8711 0.4878 0.0574 +vn 0.8649 0.4785 0.1513 +vn 0.8509 0.4567 0.2597 +vn 0.6244 -0.6823 -0.3803 +vn 0.9324 -0.3053 -0.1935 +vn 0.4276 -0.5944 -0.6811 +vn 0.8498 -0.4812 -0.2153 +vn 0.8540 -0.4746 -0.2131 +vn 0.5116 -0.7935 -0.3296 +vn 0.6942 -0.0654 0.7168 +vn 0.9639 -0.2569 0.0704 +vn 0.9639 -0.2570 0.0704 +vn 0.9648 -0.2588 0.0457 +vn 0.9220 0.1620 0.3516 +vn 0.8935 -0.0114 0.4489 +vn 0.9565 -0.2427 0.1619 +vn 0.9618 0.2530 0.1049 +vn 0.9655 0.2601 0.0069 +vn 0.9180 -0.1501 -0.3671 +vn 0.8977 0.0627 -0.4361 +vn -0.9588 -0.2796 0.0494 +vn -0.9577 -0.2776 0.0761 +vn -0.8823 0.0669 -0.4660 +vn -0.9052 -0.1609 -0.3935 +vn -0.9597 0.2811 0.0074 +vn -0.9553 0.2732 0.1133 +vn -0.9492 -0.2618 0.1747 +vn -0.8776 -0.0121 0.4793 +vn -0.9097 0.1738 0.3771 +vn 0.0001 1.0000 -0.0000 +vn 0.0002 1.0000 -0.0000 +vn 0.0003 1.0000 -0.0000 +vn -0.0000 0.9998 0.0191 +vn -0.0002 0.9998 0.0191 +vn 1.0000 0.0011 0.0004 +vn 1.0000 -0.0019 0.0015 +vn 1.0000 -0.0005 0.0020 +vn 1.0000 -0.0000 0.0012 +vn -0.0000 -1.0000 0.0006 +vn -0.0000 0.0729 0.9973 +vn 0.0047 0.0733 -0.9973 +vn 0.0008 0.0724 -0.9974 +vn -0.0000 0.0722 -0.9974 +vn 1.0000 -0.0000 0.0018 +vn 0.0062 -0.0004 -1.0000 +vn 0.0077 -0.0010 -1.0000 +vn 0.0055 -0.0001 -1.0000 +vn -0.0000 1.0000 -0.0006 +vn 1.0000 -0.0000 0.0037 +vn 1.0000 -0.0026 -0.0033 +vn 0.0003 0.6430 0.7658 +vn -0.0000 0.8690 0.4947 +vn -0.0000 0.6918 0.7221 +vn 1.0000 -0.0041 0.0015 +vn 1.0000 -0.0003 0.0021 +vn 1.0000 -0.0067 -0.0002 +vn 1.0000 0.0001 0.0019 +vn -0.7777 -0.4043 -0.4814 +vn -0.7745 -0.4066 -0.4846 +vn -0.7289 -0.4483 -0.5175 +vn -0.6601 -0.4830 -0.5753 +vn 0.6040 -0.5435 -0.5829 +vn 0.5342 -0.5890 -0.6064 +vn 0.4630 -0.6025 -0.6501 +vn 0.4152 -0.5851 -0.6966 +vn 0.8373 -0.4982 -0.2250 +vn 0.4917 -0.8041 -0.3342 +vn 0.4860 -0.8072 -0.3351 +vn 1.0000 0.0088 0.0025 +vn 0.0055 0.0735 -0.9973 +vn 0.0084 -0.0012 -1.0000 +vn 1.0000 -0.0032 -0.0034 +vn 1.0000 0.0052 -0.0019 +vn 1.0000 -0.0041 -0.0024 +vn 1.0000 0.0022 -0.0022 +vn 1.0000 0.0099 0.0001 +vn 1.0000 -0.0003 0.0037 +vn 0.7730 -0.6344 -0.0000 +vn 0.8819 -0.4714 -0.0000 +vn 0.9569 -0.2903 -0.0000 +vn 0.9952 -0.0980 -0.0000 +vn 0.9952 0.0980 -0.0000 +vn 0.9569 0.2903 -0.0000 +vn 0.8819 0.4714 -0.0000 +vn 0.7730 0.6344 -0.0000 +vn 0.6344 0.7730 -0.0000 +vn 0.4714 0.8819 -0.0000 +vn 0.2903 0.9569 -0.0000 +vn 0.0980 0.9952 -0.0000 +vn -0.0980 0.9952 -0.0000 +vn -0.2903 0.9569 -0.0000 +vn -0.4714 0.8819 -0.0000 +vn -0.6344 0.7730 -0.0000 +vn -0.7730 0.6344 -0.0000 +vn -0.8819 0.4714 -0.0000 +vn -0.9569 0.2903 -0.0000 +vn -0.9952 0.0980 -0.0000 +vn -0.9952 -0.0980 -0.0000 +vn -0.9569 -0.2903 -0.0000 +vn -0.8819 -0.4714 -0.0000 +vn -0.7730 -0.6344 -0.0000 +vn -0.0000 -0.0002 -1.0000 +vn -0.0000 0.0009 -1.0000 +vn 0.4714 -0.8819 -0.0000 +vn 0.6344 -0.7730 -0.0000 +vn -0.6344 -0.7730 -0.0000 +vn -0.4714 -0.8819 -0.0000 +vn -0.2903 -0.9569 -0.0000 +vn -0.0980 -0.9952 -0.0000 +vn 0.0980 -0.9952 -0.0000 +vn 0.2903 -0.9569 -0.0000 +vn -0.0000 -0.0002 1.0000 +vn 0.6339 -0.7734 -0.0000 +vn -0.6348 -0.7726 -0.0000 +vn -0.6346 -0.7728 -0.0000 +vn -0.0000 -0.0003 -1.0000 +vn -0.0000 0.0013 -1.0000 +vn -0.0000 -0.0003 1.0000 +vn -0.9886 0.1508 -0.0000 +vn -0.0000 0.7659 -0.6430 +vn 0.9886 0.1508 -0.0000 +vn -0.0000 0.5850 0.8110 +vn -0.9980 0.0638 -0.0000 +vn -0.0000 0.0992 -0.9951 +vn 0.9980 0.0638 -0.0000 +vn -0.0000 0.0212 0.9998 +vn -0.0000 0.0211 0.9998 +vn -0.9692 -0.2464 -0.0000 +vn -0.0424 0.1386 -0.9894 +vn 0.9412 0.3377 -0.0000 +vn -0.0091 0.0297 0.9995 +vn 0.2924 -0.9563 -0.0000 +vn -0.2924 0.9563 -0.0000 +vn -0.9413 0.3377 -0.0000 +vn -0.9412 0.3377 -0.0000 +vn 0.0423 0.1385 -0.9895 +vn 0.9692 -0.2464 -0.0000 +vn 0.0091 0.0297 0.9995 +vn -0.2924 -0.9563 -0.0000 +vn 0.2924 0.9563 -0.0000 +vn 0.9413 0.3377 -0.0000 +vn 0.0091 0.0296 0.9995 vt 0.470782 0.953868 vt 0.470782 0.968169 vt 0.443281 0.968169 vt 0.498282 0.968169 vt 0.470782 0.982469 -vt 0.470782 0.953868 -vt 0.470782 0.968169 -vt 0.443281 0.968169 vt 0.443281 0.982469 -vt 0.470782 0.982469 vt 0.443281 0.996769 vt 0.415780 0.982469 vt 0.415780 0.968169 -vt 0.498282 0.968169 -vt 0.443281 0.982469 vt 0.470782 0.996769 -vt 0.443281 0.996769 -vt 0.498282 0.968169 -vt 0.443281 0.982469 vt 0.415970 0.982469 -vt 0.415780 0.982469 -vt 0.415780 0.968169 vt 0.443281 0.953868 -vt 0.470782 0.953868 vt 0.415793 0.982420 vt 0.443281 0.939568 vt 0.443281 0.939617 vt 0.470782 0.939568 -vt 0.470782 0.953868 -vt 0.470782 0.968169 -vt 0.443281 0.968169 -vt 0.443281 0.982469 -vt 0.470782 0.982469 -vt 0.443281 0.996769 -vt 0.415780 0.968169 -vt 0.415780 0.982469 -vt 0.498282 0.968169 -vt 0.470782 0.953868 -vt 0.470782 0.968169 -vt 0.443281 0.968169 -vt 0.443281 0.982469 -vt 0.470782 0.982469 -vt 0.443281 0.996769 -vt 0.415780 0.982469 -vt 0.415780 0.968169 -vt 0.498282 0.968169 -vt 0.470782 0.953868 -vt 0.470782 0.968169 -vt 0.443281 0.968169 -vt 0.498282 0.968169 -vt 0.470782 0.982469 -vt 0.470782 0.953868 -vt 0.470782 0.968169 -vt 0.443281 0.968169 -vt 0.443281 0.982469 -vt 0.470782 0.982469 -vt 0.443281 0.996769 -vt 0.415780 0.982469 -vt 0.415780 0.968169 -vt 0.498282 0.968169 -vt 0.443281 0.982469 -vt 0.470782 0.996769 -vt 0.443281 0.996769 -vt 0.498282 0.968169 -vt 0.443281 0.982469 -vt 0.415970 0.982469 -vt 0.415780 0.982469 -vt 0.415780 0.968169 -vt 0.443281 0.953868 -vt 0.470782 0.953868 -vt 0.415793 0.982420 -vt 0.443281 0.939568 -vt 0.443281 0.939617 -vt 0.470782 0.939568 -vt 0.470782 0.953868 -vt 0.470782 0.968169 -vt 0.443281 0.968169 -vt 0.498282 0.968169 -vt 0.470782 0.982469 -vt 0.470782 0.953868 -vt 0.470782 0.968169 -vt 0.443281 0.968169 -vt 0.443281 0.982469 -vt 0.470782 0.982469 -vt 0.443281 0.996769 -vt 0.415780 0.982469 -vt 0.415780 0.968169 -vt 0.498282 0.968169 -vt 0.443281 0.982469 -vt 0.470782 0.996769 -vt 0.443281 0.996769 -vt 0.498282 0.968169 -vt 0.443281 0.982469 -vt 0.415970 0.982469 -vt 0.415780 0.982469 -vt 0.415780 0.968169 -vt 0.443281 0.953868 -vt 0.470782 0.953868 -vt 0.415793 0.982420 -vt 0.443281 0.939568 -vt 0.443281 0.939617 -vt 0.470782 0.939568 -vt 0.470782 0.953868 -vt 0.470782 0.968169 -vt 0.443281 0.968169 -vt 0.498282 0.968169 -vt 0.470782 0.982469 -vt 0.470782 0.953868 -vt 0.470782 0.968169 -vt 0.443281 0.968169 -vt 0.443281 0.982469 -vt 0.470782 0.982469 -vt 0.443281 0.996769 -vt 0.415780 0.982469 -vt 0.415780 0.968169 -vt 0.498282 0.968169 -vt 0.443281 0.982469 -vt 0.470782 0.996769 -vt 0.443281 0.996769 -vt 0.498282 0.968169 -vt 0.443281 0.982469 -vt 0.415970 0.982469 -vt 0.415780 0.982469 -vt 0.415780 0.968169 -vt 0.443281 0.953868 -vt 0.470782 0.953868 -vt 0.415793 0.982420 -vt 0.443281 0.939568 -vt 0.443281 0.939617 -vt 0.470782 0.939568 -vt 0.470782 0.953868 -vt 0.470782 0.968169 -vt 0.443281 0.968169 -vt 0.498282 0.968169 -vt 0.470782 0.982469 -vt 0.470782 0.953868 -vt 0.470782 0.968169 -vt 0.443281 0.968169 -vt 0.443281 0.982469 -vt 0.470782 0.982469 -vt 0.443281 0.996769 -vt 0.415780 0.982469 -vt 0.415780 0.968169 -vt 0.498282 0.968169 -vt 0.443281 0.982469 -vt 0.470782 0.996769 -vt 0.443281 0.996769 -vt 0.498282 0.968169 -vt 0.443281 0.982469 -vt 0.415970 0.982469 -vt 0.415780 0.982469 -vt 0.415780 0.968169 -vt 0.443281 0.953868 -vt 0.470782 0.953868 -vt 0.415793 0.982420 -vt 0.443281 0.939568 -vt 0.443281 0.939617 -vt 0.470782 0.939568 -vt 0.470782 0.953868 -vt 0.470782 0.968169 -vt 0.443281 0.968169 -vt 0.498282 0.968169 -vt 0.470782 0.982469 -vt 0.470782 0.953868 -vt 0.470782 0.968169 -vt 0.443281 0.968169 -vt 0.443281 0.982469 -vt 0.470782 0.982469 -vt 0.443281 0.996769 -vt 0.415780 0.982469 -vt 0.415780 0.968169 -vt 0.498282 0.968169 -vt 0.443281 0.982469 -vt 0.470782 0.996769 -vt 0.443281 0.996769 -vt 0.498282 0.968169 -vt 0.443281 0.982469 -vt 0.415970 0.982469 -vt 0.415780 0.982469 -vt 0.415780 0.968169 -vt 0.443281 0.953868 -vt 0.470782 0.953868 -vt 0.415793 0.982420 -vt 0.443281 0.939568 -vt 0.443281 0.939617 -vt 0.470782 0.939568 -vt 0.470782 0.953868 -vt 0.470782 0.968169 -vt 0.443281 0.968169 -vt 0.498282 0.968169 -vt 0.470782 0.982469 -vt 0.470782 0.953868 -vt 0.470782 0.968169 -vt 0.443281 0.968169 -vt 0.443281 0.982469 -vt 0.470782 0.982469 -vt 0.443281 0.996769 -vt 0.415780 0.982469 -vt 0.415780 0.968169 -vt 0.498282 0.968169 -vt 0.443281 0.982469 -vt 0.470782 0.996769 -vt 0.443281 0.996769 -vt 0.498282 0.968169 -vt 0.443281 0.982469 -vt 0.415970 0.982469 -vt 0.415780 0.982469 -vt 0.415780 0.968169 -vt 0.443281 0.953868 -vt 0.470782 0.953868 -vt 0.415793 0.982420 -vt 0.443281 0.939568 -vt 0.443281 0.939617 -vt 0.470782 0.939568 -vt 0.470782 0.953868 -vt 0.470782 0.968169 -vt 0.443281 0.968169 -vt 0.498282 0.968169 -vt 0.470782 0.982469 -vt 0.470782 0.953868 -vt 0.470782 0.968169 -vt 0.443281 0.968169 -vt 0.443281 0.982469 -vt 0.470782 0.982469 -vt 0.443281 0.996769 -vt 0.415780 0.982469 -vt 0.415780 0.968169 -vt 0.498282 0.968169 -vt 0.443281 0.982469 -vt 0.470782 0.996769 -vt 0.443281 0.996769 -vt 0.498282 0.968169 -vt 0.443281 0.982469 -vt 0.415970 0.982469 -vt 0.415780 0.982469 -vt 0.415780 0.968169 -vt 0.443281 0.953868 -vt 0.470782 0.953868 -vt 0.415793 0.982420 -vt 0.443281 0.939568 -vt 0.443281 0.939617 -vt 0.470782 0.939568 -vt 0.470782 0.953868 -vt 0.470782 0.968169 -vt 0.443281 0.968169 -vt 0.498282 0.968169 -vt 0.470782 0.982469 -vt 0.470782 0.953868 -vt 0.470782 0.968169 -vt 0.443281 0.968169 -vt 0.443281 0.982469 -vt 0.470782 0.982469 -vt 0.443281 0.996769 -vt 0.415780 0.982469 -vt 0.415780 0.968169 -vt 0.498282 0.968169 -vt 0.443281 0.982469 -vt 0.470782 0.996769 -vt 0.443281 0.996769 -vt 0.498282 0.968169 -vt 0.443281 0.982469 -vt 0.415970 0.982469 -vt 0.415780 0.982469 -vt 0.415780 0.968169 -vt 0.443281 0.953868 -vt 0.470782 0.953868 -vt 0.415793 0.982420 -vt 0.443281 0.939568 -vt 0.470782 0.939568 -vt 0.443281 0.939617 -vt 0.470782 0.953868 -vt 0.470782 0.968169 -vt 0.443281 0.968169 -vt 0.498282 0.968169 -vt 0.470782 0.982469 -vt 0.470782 0.953868 -vt 0.470782 0.968169 -vt 0.443281 0.968169 -vt 0.443281 0.982469 -vt 0.470782 0.982469 -vt 0.443281 0.996769 -vt 0.415780 0.982469 -vt 0.415780 0.968169 -vt 0.498282 0.968169 -vt 0.443281 0.982469 -vt 0.470782 0.996769 -vt 0.443281 0.996769 -vt 0.498282 0.968169 -vt 0.443281 0.982469 -vt 0.415970 0.982469 -vt 0.415780 0.982469 -vt 0.415780 0.968169 -vt 0.443281 0.953868 -vt 0.470782 0.953868 -vt 0.415793 0.982420 -vt 0.443281 0.939568 -vt 0.470782 0.939568 -vt 0.443281 0.939617 -vt 0.470782 0.953868 -vt 0.470782 0.968169 -vt 0.443281 0.968169 -vt 0.498282 0.968169 -vt 0.470782 0.982469 -vt 0.470782 0.953868 -vt 0.470782 0.968169 -vt 0.443281 0.968169 -vt 0.443281 0.982469 -vt 0.470782 0.982469 -vt 0.443281 0.996769 -vt 0.415780 0.982469 -vt 0.415780 0.968169 -vt 0.498282 0.968169 -vt 0.443281 0.982469 -vt 0.470782 0.996769 -vt 0.443281 0.996769 -vt 0.498282 0.968169 -vt 0.443281 0.982469 -vt 0.415970 0.982469 -vt 0.415780 0.982469 -vt 0.415780 0.968169 -vt 0.443281 0.953868 -vt 0.470782 0.953868 -vt 0.415793 0.982420 -vt 0.443281 0.939568 -vt 0.470782 0.939568 -vt 0.443281 0.939617 -vt 0.470782 0.953868 -vt 0.470782 0.968169 -vt 0.443281 0.968169 -vt 0.498282 0.968169 -vt 0.470782 0.982469 -vt 0.470782 0.953868 -vt 0.470782 0.968169 -vt 0.443281 0.968169 -vt 0.443281 0.982469 -vt 0.470782 0.982469 -vt 0.443281 0.996769 -vt 0.415780 0.982469 -vt 0.415780 0.968169 -vt 0.498282 0.968169 -vt 0.443281 0.982469 -vt 0.470782 0.996769 -vt 0.443281 0.996769 -vt 0.498282 0.968169 -vt 0.443281 0.982469 -vt 0.415970 0.982469 -vt 0.415780 0.982469 -vt 0.415780 0.968169 -vt 0.443281 0.953868 -vt 0.470782 0.953868 -vt 0.415793 0.982420 -vt 0.443281 0.939568 -vt 0.470782 0.939568 -vt 0.443281 0.939617 vt 0.498282 0.982469 -vt 0.498282 0.982469 -vt 0.498282 0.982469 -vt 0.443281 0.968169 -vt 0.498282 0.982469 -vt 0.498282 0.982469 -vt 0.498282 0.982469 -vt 0.498282 0.982469 -vt 0.498282 0.982469 -vt 0.443281 0.968169 -vt 0.498282 0.982469 -vt 0.498282 0.982469 -vt 0.498282 0.982469 -vt 0.443281 0.968169 -vt 0.498282 0.982469 -vt 0.498282 0.982469 -vt 0.498282 0.982469 -vt 0.443281 0.968169 -vt 0.498282 0.982469 -vt 0.498282 0.982469 -vt 0.498282 0.982469 -vt 0.443281 0.968169 -vt 0.498282 0.982469 -vt 0.498282 0.982469 -vt 0.498282 0.982469 -vt 0.443281 0.968169 -vt 0.498282 0.982469 -vt 0.498282 0.982469 -vt 0.498282 0.982469 -vt 0.443281 0.968169 -vt 0.498282 0.982469 -vt 0.498282 0.982469 -vt 0.498282 0.982469 -vt 0.443281 0.968169 -vt 0.498282 0.982469 -vt 0.498282 0.982469 -vt 0.498282 0.982469 -vt 0.443281 0.968169 -vt 0.498282 0.982469 -vt 0.498282 0.982469 -vt 0.498282 0.982469 -vt 0.443281 0.968169 -vt 0.498282 0.982469 -vt 0.498282 0.982469 -vt 0.498282 0.982469 -vt 0.443281 0.968169 -vt 0.498282 0.982469 -vt 0.498282 0.982469 -vt 0.498282 0.982469 -vt 0.443281 0.968169 vt 0.435064 0.853152 vt 0.419806 0.853152 vt 0.557124 0.853152 @@ -1476,7 +1405,6 @@ vt 0.532301 0.962891 vt 0.529201 0.943544 vt 0.592763 0.964859 vt 0.589052 0.965659 -vt 0.589052 0.965659 vt 0.603611 0.987891 vt 0.594310 0.968544 vt 0.603611 0.968544 @@ -1490,7 +1418,6 @@ vt 0.566406 0.987891 vt 0.557105 0.968544 vt 0.557105 0.987891 vt 0.547804 0.968544 -vt 0.565662 0.958871 vt 0.547804 0.968157 vt 0.529945 0.958871 vt 0.547804 0.987891 @@ -1500,310 +1427,62 @@ vt 0.529201 0.968544 vt 0.597637 0.952304 vt 0.572381 0.952304 vt 0.572381 0.965437 -vt 0.547804 0.968157 vt 0.554118 0.962154 vt 0.560431 0.965437 vt 0.556733 0.958871 -vt 0.565662 0.958871 vt 0.554118 0.955587 vt 0.560431 0.952304 vt 0.547804 0.949584 vt 0.547804 0.954228 vt 0.535176 0.952304 vt 0.541490 0.955587 -vt 0.529945 0.958871 vt 0.538874 0.958871 vt 0.535176 0.965437 vt 0.541490 0.962154 -vt 0.575707 0.987891 vt 0.585009 0.983745 vt 0.575707 0.983745 -vt 0.566406 0.987891 vt 0.566406 0.983745 vt 0.529201 0.987891 vt 0.538502 0.983745 vt 0.529201 0.983745 -vt 0.594310 0.987891 vt 0.603611 0.983745 vt 0.594310 0.983745 -vt 0.585009 0.987891 -vt 0.557105 0.987891 vt 0.557105 0.983745 -vt 0.603611 0.987891 vt 0.600511 0.968544 -vt 0.603611 0.968544 vt 0.600511 0.987891 vt 0.597411 0.968544 vt 0.597411 0.987891 -vt 0.594310 0.968544 -vt 0.594310 0.987891 vt 0.591210 0.968544 vt 0.591210 0.987891 vt 0.588109 0.968544 vt 0.588109 0.987891 -vt 0.585009 0.968544 -vt 0.585009 0.987891 vt 0.581908 0.968544 vt 0.581908 0.987891 vt 0.578808 0.968544 vt 0.578808 0.987891 -vt 0.575707 0.968544 -vt 0.575707 0.987891 vt 0.572607 0.968544 vt 0.572607 0.987891 vt 0.569507 0.968544 vt 0.569507 0.987891 -vt 0.566406 0.968544 -vt 0.566406 0.987891 vt 0.563306 0.968544 vt 0.563306 0.987891 vt 0.560205 0.968544 vt 0.560205 0.987891 -vt 0.557105 0.968544 -vt 0.557105 0.987891 vt 0.554004 0.968544 vt 0.554004 0.987891 vt 0.550904 0.968544 vt 0.550904 0.987891 -vt 0.547804 0.968544 -vt 0.547804 0.987891 vt 0.544703 0.968544 vt 0.544703 0.987891 vt 0.541603 0.968544 vt 0.541603 0.987891 -vt 0.538502 0.968544 -vt 0.538502 0.987891 vt 0.535402 0.968544 -vt 0.529945 0.958871 -vt 0.556733 0.950828 -vt 0.556733 0.966913 vt 0.535402 0.987891 vt 0.532301 0.968544 vt 0.532301 0.987891 -vt 0.529201 0.968544 vt 0.567759 0.961274 vt 0.580387 0.967841 vt 0.602259 0.956467 -vt 0.603611 0.962891 -vt 0.600511 0.943544 -vt 0.603611 0.943544 -vt 0.600511 0.962891 -vt 0.597411 0.943544 -vt 0.597411 0.962891 -vt 0.594310 0.943544 -vt 0.594310 0.962891 -vt 0.591210 0.943544 -vt 0.591210 0.962891 -vt 0.588109 0.943544 -vt 0.588109 0.962891 -vt 0.585009 0.943544 -vt 0.585009 0.962891 -vt 0.581908 0.943544 -vt 0.581908 0.962891 -vt 0.578808 0.943544 -vt 0.578808 0.962891 -vt 0.575707 0.943544 -vt 0.575707 0.962891 -vt 0.572607 0.943544 -vt 0.572607 0.962891 -vt 0.569507 0.943544 -vt 0.569507 0.962891 -vt 0.566406 0.943544 -vt 0.566406 0.962891 -vt 0.563306 0.943544 -vt 0.563306 0.962891 -vt 0.560205 0.943544 -vt 0.560205 0.962891 -vt 0.557105 0.943544 -vt 0.557105 0.962891 -vt 0.554004 0.943544 -vt 0.554004 0.962891 -vt 0.550904 0.943544 -vt 0.550904 0.962891 -vt 0.547804 0.943544 -vt 0.547804 0.962891 -vt 0.544703 0.943544 -vt 0.544703 0.962891 -vt 0.541603 0.943544 -vt 0.541603 0.962891 -vt 0.538502 0.943544 -vt 0.538502 0.962891 -vt 0.535402 0.943544 -vt 0.556733 0.950828 -vt 0.565662 0.958871 -vt 0.556733 0.966913 -vt 0.535402 0.962891 -vt 0.532301 0.943544 -vt 0.532301 0.962891 -vt 0.529201 0.943544 -vt 0.572381 0.952304 -vt 0.567759 0.961274 -vt 0.580387 0.967841 -vt 0.603611 0.987891 -vt 0.600511 0.968544 -vt 0.603611 0.968544 -vt 0.600511 0.987891 -vt 0.597411 0.968544 -vt 0.597411 0.987891 -vt 0.594310 0.968544 -vt 0.594310 0.987891 -vt 0.591210 0.968544 -vt 0.591210 0.987891 -vt 0.588109 0.968544 -vt 0.588109 0.987891 -vt 0.585009 0.968544 -vt 0.585009 0.987891 -vt 0.581908 0.968544 -vt 0.581908 0.987891 -vt 0.578808 0.968544 -vt 0.578808 0.987891 -vt 0.575707 0.968544 -vt 0.575707 0.987891 -vt 0.572607 0.968544 -vt 0.572607 0.987891 -vt 0.569507 0.968544 -vt 0.569507 0.987891 -vt 0.566406 0.968544 -vt 0.566406 0.987891 -vt 0.563306 0.968544 -vt 0.563306 0.987891 -vt 0.560205 0.968544 -vt 0.560205 0.987891 -vt 0.557105 0.968544 -vt 0.557105 0.987891 -vt 0.554004 0.968544 -vt 0.554004 0.987891 -vt 0.550904 0.968544 -vt 0.550904 0.987891 -vt 0.547804 0.968544 -vt 0.547804 0.987891 -vt 0.544703 0.968544 -vt 0.544703 0.987891 -vt 0.541603 0.968544 -vt 0.541603 0.987891 -vt 0.538502 0.968544 -vt 0.538502 0.987891 -vt 0.535402 0.968544 -vt 0.556733 0.950828 -vt 0.565662 0.958871 -vt 0.556733 0.966913 -vt 0.535402 0.987891 -vt 0.532301 0.968544 -vt 0.532301 0.987891 -vt 0.529201 0.968544 -vt 0.572381 0.952304 -vt 0.567759 0.961274 -vt 0.580387 0.967841 -vt 0.603611 0.987891 -vt 0.600511 0.968544 -vt 0.603611 0.968544 -vt 0.600511 0.987891 -vt 0.597411 0.968544 -vt 0.597411 0.987891 -vt 0.594310 0.968544 -vt 0.594310 0.987891 -vt 0.591210 0.968544 -vt 0.591210 0.987891 -vt 0.588109 0.968544 -vt 0.588109 0.987891 -vt 0.585009 0.968544 -vt 0.585009 0.987891 -vt 0.581908 0.968544 -vt 0.581908 0.987891 -vt 0.578808 0.968544 -vt 0.578808 0.987891 -vt 0.575707 0.968544 -vt 0.575707 0.987891 -vt 0.572607 0.968544 -vt 0.572607 0.987891 -vt 0.569507 0.968544 -vt 0.569507 0.987891 -vt 0.566406 0.968544 -vt 0.566406 0.987891 -vt 0.563306 0.968544 -vt 0.563306 0.987891 -vt 0.560205 0.968544 -vt 0.560205 0.987891 -vt 0.557105 0.968544 -vt 0.557105 0.987891 -vt 0.554004 0.968544 -vt 0.554004 0.987891 -vt 0.550904 0.968544 -vt 0.550904 0.987891 -vt 0.547804 0.968544 -vt 0.547804 0.987891 -vt 0.544703 0.968544 -vt 0.544703 0.987891 -vt 0.541603 0.968544 -vt 0.541603 0.987891 -vt 0.538502 0.968544 -vt 0.538502 0.987891 -vt 0.535402 0.968544 -vt 0.556733 0.950828 -vt 0.565662 0.958871 -vt 0.556733 0.966913 -vt 0.535402 0.987891 -vt 0.532301 0.968544 -vt 0.532301 0.987891 -vt 0.529201 0.968544 -vt 0.572381 0.952304 -vt 0.567759 0.961274 -vt 0.580387 0.967841 -vt 0.603611 0.962891 -vt 0.600511 0.943544 -vt 0.603611 0.943544 -vt 0.600511 0.962891 -vt 0.597411 0.943544 -vt 0.597411 0.962891 -vt 0.594310 0.943544 -vt 0.594310 0.962891 -vt 0.591210 0.943544 -vt 0.591210 0.962891 -vt 0.588109 0.943544 -vt 0.588109 0.962891 -vt 0.585009 0.943544 -vt 0.585009 0.962891 -vt 0.581908 0.943544 -vt 0.581908 0.962891 -vt 0.578808 0.943544 -vt 0.578808 0.962891 -vt 0.575707 0.943544 -vt 0.575707 0.962891 -vt 0.572607 0.943544 -vt 0.572607 0.962891 -vt 0.569507 0.943544 -vt 0.569507 0.962891 -vt 0.566406 0.943544 -vt 0.566406 0.962891 -vt 0.563306 0.943544 -vt 0.563306 0.962891 -vt 0.560205 0.943544 -vt 0.560205 0.962891 -vt 0.557105 0.943544 -vt 0.557105 0.962891 -vt 0.554004 0.943544 -vt 0.554004 0.962891 -vt 0.550904 0.943544 -vt 0.550904 0.962891 -vt 0.547804 0.943544 -vt 0.547804 0.962891 -vt 0.544703 0.943544 -vt 0.544703 0.962891 -vt 0.541603 0.943544 -vt 0.541603 0.962891 -vt 0.538502 0.943544 -vt 0.538502 0.962891 -vt 0.535402 0.943544 -vt 0.556733 0.950828 -vt 0.565662 0.958871 -vt 0.556733 0.966913 -vt 0.535402 0.962891 -vt 0.532301 0.943544 -vt 0.532301 0.962891 -vt 0.529201 0.943544 -vt 0.572381 0.952304 -vt 0.567759 0.961274 -vt 0.580387 0.967841 vt 0.585009 0.965935 vt 0.589631 0.967841 vt 0.593938 0.966913 @@ -1816,11 +1495,9 @@ vt 0.599366 0.960496 vt 0.602867 0.958871 vt 0.599778 0.958871 vt 0.599366 0.957245 -vt 0.602259 0.956467 vt 0.598073 0.955622 vt 0.600475 0.954228 vt 0.595844 0.954111 -vt 0.597637 0.952304 vt 0.592763 0.952882 vt 0.593938 0.950828 vt 0.589052 0.952082 @@ -1831,7 +1508,6 @@ vt 0.580387 0.949901 vt 0.580965 0.952082 vt 0.576080 0.950828 vt 0.577254 0.952882 -vt 0.572381 0.952304 vt 0.574174 0.954111 vt 0.569543 0.954228 vt 0.571944 0.955622 @@ -1840,296 +1516,34 @@ vt 0.570651 0.957245 vt 0.567150 0.958871 vt 0.570240 0.958871 vt 0.570651 0.960496 -vt 0.567759 0.961274 vt 0.571944 0.962119 vt 0.569543 0.963514 vt 0.574174 0.963630 -vt 0.572381 0.965437 vt 0.577254 0.964859 vt 0.576079 0.966913 vt 0.580965 0.965659 -vt 0.580387 0.967841 vt 0.585009 0.968157 -vt 0.574174 0.963630 -vt 0.577254 0.964859 -vt 0.574174 0.954111 -vt 0.571944 0.955622 -vt 0.595844 0.954111 -vt 0.592763 0.964859 -vt 0.570651 0.957245 -vt 0.592763 0.952882 -vt 0.595844 0.963630 -vt 0.570240 0.958871 -vt 0.589052 0.952082 -vt 0.598073 0.962119 -vt 0.570651 0.960496 -vt 0.585009 0.951806 -vt 0.599366 0.960496 -vt 0.571944 0.962119 -vt 0.580965 0.952082 -vt 0.599778 0.958871 -vt 0.577254 0.952882 -vt 0.599366 0.957245 -vt 0.585009 0.965935 -vt 0.598073 0.955622 -vt 0.580965 0.965659 -vt 0.538502 0.987891 vt 0.552426 0.967841 -vt 0.547804 0.968157 vt 0.543181 0.967841 vt 0.538874 0.966913 -vt 0.535176 0.965437 vt 0.532338 0.963514 vt 0.530554 0.961274 -vt 0.529945 0.958871 vt 0.530554 0.956467 vt 0.532338 0.954228 -vt 0.535176 0.952304 vt 0.538874 0.950828 vt 0.543181 0.949901 -vt 0.547804 0.949584 vt 0.552426 0.949901 -vt 0.560431 0.952304 vt 0.563269 0.954228 vt 0.565054 0.956467 vt 0.565054 0.961274 vt 0.563269 0.963514 -vt 0.560431 0.965437 vt 0.529201 0.962891 -vt 0.560431 0.965437 -vt 0.535176 0.965437 -vt 0.535176 0.952304 -vt 0.547804 0.949584 -vt 0.560431 0.952304 -vt 0.529201 0.987891 -vt 0.585009 0.968157 -vt 0.597637 0.965437 -vt 0.602867 0.958871 -vt 0.585009 0.949584 -vt 0.567150 0.958871 vt 0.547804 0.963514 -vt 0.603611 0.987891 -vt 0.552426 0.967841 -vt 0.538874 0.966913 -vt 0.547804 0.968157 -vt 0.543181 0.967841 -vt 0.535176 0.965437 -vt 0.532338 0.963514 -vt 0.530554 0.961274 -vt 0.530554 0.956467 -vt 0.532338 0.954228 -vt 0.535176 0.952304 -vt 0.538874 0.950828 -vt 0.543181 0.949901 -vt 0.547804 0.949584 -vt 0.552426 0.949901 -vt 0.560431 0.952304 -vt 0.563269 0.954228 -vt 0.565054 0.956467 -vt 0.565662 0.958871 -vt 0.565054 0.961274 -vt 0.563269 0.963514 -vt 0.560431 0.965437 -vt 0.529201 0.987891 -vt 0.585009 0.968157 -vt 0.589631 0.967841 -vt 0.593938 0.966913 -vt 0.597637 0.965437 -vt 0.600475 0.963514 -vt 0.602259 0.961274 -vt 0.602867 0.958871 -vt 0.600475 0.954228 -vt 0.597637 0.952304 -vt 0.593938 0.950828 -vt 0.589631 0.949901 -vt 0.585009 0.949584 -vt 0.580387 0.949901 -vt 0.576080 0.950828 -vt 0.572381 0.952304 -vt 0.569543 0.954228 -vt 0.567759 0.956467 -vt 0.567150 0.958871 -vt 0.569543 0.963514 -vt 0.572381 0.965437 -vt 0.576079 0.966913 -vt 0.552426 0.967841 -vt 0.547804 0.968157 -vt 0.543181 0.967841 -vt 0.538874 0.966913 -vt 0.535176 0.965437 -vt 0.532338 0.963514 -vt 0.530554 0.961274 -vt 0.529945 0.958871 -vt 0.530554 0.956467 -vt 0.532338 0.954228 -vt 0.535176 0.952304 -vt 0.538874 0.950828 -vt 0.543181 0.949901 -vt 0.547804 0.949584 -vt 0.552426 0.949901 -vt 0.560431 0.952304 -vt 0.563269 0.954228 -vt 0.565054 0.956467 -vt 0.565054 0.961274 -vt 0.563269 0.963514 -vt 0.560431 0.965437 -vt 0.529201 0.962891 -vt 0.585009 0.968157 -vt 0.589631 0.967841 -vt 0.593938 0.966913 -vt 0.597637 0.965437 -vt 0.600475 0.963514 -vt 0.602259 0.961274 -vt 0.602867 0.958871 -vt 0.602259 0.956467 -vt 0.600475 0.954228 -vt 0.597637 0.952304 -vt 0.593938 0.950828 -vt 0.589631 0.949901 -vt 0.585009 0.949584 -vt 0.580387 0.949901 -vt 0.576080 0.950828 -vt 0.569543 0.954228 -vt 0.567759 0.956467 -vt 0.567150 0.958871 -vt 0.569543 0.963514 -vt 0.572381 0.965437 -vt 0.576079 0.966913 -vt 0.552426 0.967841 -vt 0.547804 0.968157 -vt 0.543181 0.967841 -vt 0.538874 0.966913 -vt 0.535176 0.965437 -vt 0.532338 0.963514 -vt 0.530554 0.961274 -vt 0.529945 0.958871 -vt 0.530554 0.956467 -vt 0.532338 0.954228 -vt 0.535176 0.952304 -vt 0.538874 0.950828 -vt 0.543181 0.949901 -vt 0.547804 0.949584 -vt 0.552426 0.949901 -vt 0.560431 0.952304 -vt 0.563269 0.954228 -vt 0.565054 0.956467 -vt 0.565054 0.961274 -vt 0.563269 0.963514 -vt 0.560431 0.965437 -vt 0.529201 0.987891 -vt 0.585009 0.968157 -vt 0.589631 0.967841 -vt 0.593938 0.966913 -vt 0.597637 0.965437 -vt 0.600475 0.963514 -vt 0.602259 0.961274 -vt 0.602867 0.958871 -vt 0.602259 0.956467 -vt 0.600475 0.954228 -vt 0.597637 0.952304 -vt 0.593938 0.950828 -vt 0.589631 0.949901 -vt 0.585009 0.949584 -vt 0.580387 0.949901 -vt 0.576080 0.950828 -vt 0.569543 0.954228 -vt 0.567759 0.956467 -vt 0.567150 0.958871 -vt 0.569543 0.963514 -vt 0.572381 0.965437 -vt 0.576079 0.966913 -vt 0.552426 0.967841 -vt 0.547804 0.968157 -vt 0.543181 0.967841 -vt 0.538874 0.966913 -vt 0.535176 0.965437 -vt 0.532338 0.963514 -vt 0.530554 0.961274 -vt 0.529945 0.958871 -vt 0.530554 0.956467 -vt 0.532338 0.954228 -vt 0.535176 0.952304 -vt 0.538874 0.950828 -vt 0.543181 0.949901 -vt 0.547804 0.949584 -vt 0.552426 0.949901 -vt 0.560431 0.952304 -vt 0.563269 0.954228 -vt 0.565054 0.956467 -vt 0.565054 0.961274 -vt 0.563269 0.963514 -vt 0.560431 0.965437 -vt 0.529201 0.987891 -vt 0.585009 0.968157 -vt 0.589631 0.967841 -vt 0.593938 0.966913 -vt 0.597637 0.965437 -vt 0.600475 0.963514 -vt 0.602259 0.961274 -vt 0.602867 0.958871 -vt 0.602259 0.956467 -vt 0.600475 0.954228 -vt 0.597637 0.952304 -vt 0.593938 0.950828 -vt 0.589631 0.949901 -vt 0.585009 0.949584 -vt 0.580387 0.949901 -vt 0.576080 0.950828 -vt 0.569543 0.954228 -vt 0.567759 0.956467 -vt 0.567150 0.958871 -vt 0.569543 0.963514 -vt 0.572381 0.965437 -vt 0.576079 0.966913 -vt 0.552426 0.967841 -vt 0.547804 0.968157 -vt 0.543181 0.967841 -vt 0.538874 0.966913 -vt 0.535176 0.965437 -vt 0.532338 0.963514 -vt 0.530554 0.961274 -vt 0.529945 0.958871 -vt 0.530554 0.956467 -vt 0.532338 0.954228 -vt 0.535176 0.952304 -vt 0.538874 0.950828 -vt 0.543181 0.949901 -vt 0.547804 0.949584 -vt 0.552426 0.949901 -vt 0.560431 0.952304 -vt 0.563269 0.954228 -vt 0.565054 0.956467 -vt 0.565054 0.961274 -vt 0.563269 0.963514 -vt 0.560431 0.965437 -vt 0.529201 0.962891 -vt 0.585009 0.968157 -vt 0.589631 0.967841 -vt 0.593938 0.966913 -vt 0.597637 0.965437 -vt 0.600475 0.963514 -vt 0.602259 0.961274 -vt 0.602867 0.958871 -vt 0.602259 0.956467 -vt 0.600475 0.954228 -vt 0.597637 0.952304 -vt 0.593938 0.950828 -vt 0.589631 0.949901 -vt 0.585009 0.949584 -vt 0.580387 0.949901 -vt 0.576080 0.950828 -vt 0.569543 0.954228 -vt 0.567759 0.956467 -vt 0.567150 0.958871 -vt 0.569543 0.963514 -vt 0.572381 0.965437 -vt 0.576079 0.966913 vt 0.396481 0.835451 vt 0.459833 0.866080 vt 0.396481 0.866080 vt 0.545719 0.522092 vt 0.497611 0.526046 -vt 0.497611 0.526046 vt 0.462657 0.901337 vt 0.459833 0.868394 vt 0.462657 0.868394 @@ -2139,7 +1553,6 @@ vt 0.523185 0.868394 vt 0.388562 0.868394 vt 0.411544 0.779875 vt 0.390770 0.774974 -vt 0.390770 0.774974 vt 0.333129 0.853963 vt 0.523185 0.853963 vt 0.564336 0.894415 @@ -2173,18 +1586,12 @@ vt 0.371179 0.900923 vt 0.665512 0.900923 vt 0.589593 0.872960 vt 0.579928 0.818991 -vt 0.579928 0.818991 vt 0.720909 0.823249 vt 0.728444 0.813188 -vt 0.728444 0.813188 vt 0.518346 0.900923 -vt 0.665512 0.900923 -vt 0.403568 0.865893 -vt 0.403568 0.865893 vt 0.403568 0.865893 vt 0.634882 0.842860 vt 0.875000 0.895044 -vt 0.625000 0.895044 vt 0.622404 0.844210 vt 0.554773 0.879378 vt 0.554773 0.844210 @@ -2311,7 +1718,6 @@ vt 0.630208 0.781780 vt 0.546875 0.785479 vt 0.546875 0.781780 vt 0.109638 0.753166 -vt 0.109638 0.753166 vt 0.809234 0.800535 vt 0.629601 0.752856 vt 0.382812 0.796190 @@ -2334,11 +1740,8 @@ vt 0.421875 0.760981 vt 0.355469 0.819888 vt 0.581240 0.819888 vt 0.320312 0.775200 -vt 0.320312 0.775200 -vt 0.320312 0.775200 vt 0.341584 0.755253 vt 0.894527 0.754523 -vt 0.894527 0.754523 vt 0.502440 0.838252 vt 0.335149 0.925244 vt 0.335149 0.838252 @@ -2350,75 +1753,33 @@ vt 0.224012 0.839396 vt 0.224012 0.915923 vt 0.665512 0.915923 vt 0.643647 0.915691 -vt 0.665512 0.915923 vt 0.597620 0.901828 vt 0.125000 0.765044 vt 0.228633 0.780745 -vt 0.875000 0.895044 -vt 0.875000 0.765044 -vt 0.597620 0.901828 vt 0.574804 0.873659 vt 0.285018 0.848638 -vt 0.643647 0.915691 -vt 0.285018 0.848638 vt 0.759668 0.871099 -vt 0.759668 0.871099 -vt 0.720909 0.823249 -vt 0.245835 0.915308 vt 0.578887 0.824122 -vt 0.375000 0.765044 -vt 0.625000 0.765044 vt 0.377872 0.915356 vt 0.518346 0.915923 vt 0.371179 0.915923 vt 0.377872 0.900356 vt 0.389892 0.832881 -vt 0.625000 0.895044 vt 0.511639 0.915711 -vt 0.518346 0.915923 vt 0.389892 0.847881 vt 0.491200 0.874173 vt 0.497503 0.902923 -vt 0.389892 0.847881 -vt 0.377872 0.915356 vt 0.406788 0.779458 -vt 0.406788 0.779458 -vt 0.497503 0.902923 -vt 0.578887 0.824122 -vt 0.511639 0.915711 vt 0.643647 0.900691 vt 0.245835 0.900308 vt 0.150429 0.671343 -vt 0.150429 0.671343 -vt 0.150429 0.671343 -vt 0.150429 0.671343 -vt 0.150429 0.671343 -vt 0.150429 0.671343 -vt 0.221470 0.868452 -vt 0.221470 0.868452 vt 0.221470 0.868452 vt 0.251000 0.856936 -vt 0.251000 0.856936 -vt 0.251000 0.856936 vt 0.361735 0.900442 -vt 0.361735 0.900442 -vt 0.361735 0.900442 -vt 0.518346 0.900923 vt 0.511639 0.900711 vt 0.236235 0.851817 -vt 0.236235 0.851817 -vt 0.236235 0.851817 -vt 0.164872 0.847978 -vt 0.164872 0.847978 vt 0.164872 0.847978 vt 0.209167 0.860775 -vt 0.209167 0.860775 -vt 0.209167 0.860775 -vt 0.150429 0.671343 -vt 0.150429 0.671343 -vt 0.150429 0.671343 -vt 0.150429 0.686343 -vt 0.150429 0.686343 vt 0.150429 0.686343 vt 0.605366 0.625582 vt 0.392556 0.635044 @@ -2437,18 +1798,9 @@ vt 0.484510 0.505044 vt 0.391870 0.838038 vt 0.389721 0.863715 vt 0.343364 0.852237 -vt 0.390712 0.598254 -vt 0.597602 0.514746 -vt 0.545719 0.522092 -vt 0.410506 0.621173 -vt 0.605366 0.625582 -vt 0.388734 0.524179 -vt 0.556923 0.509307 -vt 0.389781 0.625623 vt 0.603447 0.775430 vt 0.594972 0.884555 vt 0.392556 0.765044 -vt 0.625000 0.765044 vt 0.375000 0.781294 vt 0.382120 0.770840 vt 0.390113 0.874091 @@ -2463,49 +1815,11 @@ vt 0.375000 0.895044 vt 0.512111 0.852142 vt 0.478620 0.866125 vt 0.467060 0.863579 -vt 0.411544 0.779875 -vt 0.498333 0.872319 -vt 0.594972 0.884555 -vt 0.392214 0.803595 -vt 0.548567 0.877213 -vt 0.390113 0.874091 -vt 0.603447 0.775430 -vt 0.558295 0.890122 vt 0.464672 0.866316 vt 0.333129 0.917808 -vt 0.333129 0.917808 -vt 0.333129 0.917808 vt 0.243618 0.881248 -vt 0.243618 0.881248 -vt 0.243618 0.881248 -vt 0.333129 0.917808 -vt 0.333129 0.917808 -vt 0.333129 0.917808 -vt 0.333129 0.917808 -vt 0.333129 0.917808 -vt 0.333129 0.917808 -vt 0.333129 0.917808 -vt 0.333129 0.917808 -vt 0.333129 0.917808 -vt 0.333129 0.917808 -vt 0.333129 0.917808 vt 0.333129 0.868394 vt 0.342454 0.866584 -vt 0.333129 0.917808 -vt 0.333129 0.917808 -vt 0.333129 0.917808 -vt 0.333129 0.917808 -vt 0.333129 0.917808 -vt 0.333129 0.917808 -vt 0.333129 0.917808 -vt 0.333129 0.917808 -vt 0.333129 0.917808 -vt 0.333129 0.917808 -vt 0.333129 0.917808 -vt 0.333129 0.917808 -vt 0.333129 0.917808 -vt 0.333129 0.917808 -vt 0.333129 0.917808 vt 0.539872 0.679250 vt 0.516493 0.680206 vt 0.516493 0.679250 @@ -2522,7 +1836,6 @@ vt 0.666833 0.663889 vt 0.539872 0.680206 vt 0.440044 0.779617 vt 0.437493 0.837443 -vt 0.437493 0.837443 vt 0.422729 0.709719 vt 0.360235 0.647539 vt 0.425280 0.651893 @@ -2533,23 +1846,12 @@ vt 0.489409 0.751566 vt 0.570046 0.808982 vt 0.488685 0.809183 vt 0.481303 0.837335 -vt 0.481303 0.837335 -vt 0.481303 0.837335 vt 0.559993 0.779904 vt 0.482026 0.779717 -vt 0.482026 0.779717 -vt 0.562664 0.837133 -vt 0.559993 0.779904 -vt 0.440044 0.779617 -vt 0.481303 0.837335 vt 0.562664 0.837133 vt 0.432662 0.733550 vt 0.473921 0.791269 vt 0.430111 0.791377 -vt 0.437493 0.837443 -vt 0.437493 0.837443 -vt 0.415872 0.665231 -vt 0.415872 0.665231 vt 0.415872 0.665231 vt 0.459833 0.835451 vt 0.459833 0.901337 @@ -2566,8 +1868,6 @@ vt 0.360235 0.657539 vt 0.408389 0.659326 vt 0.539872 0.691408 vt 0.578829 0.868908 -vt 0.589593 0.872960 -vt 0.403568 0.865893 vt 0.622404 0.879378 vt 0.579328 0.910962 vt 0.594184 0.916888 @@ -2632,15 +1932,12 @@ vt 0.410451 0.676023 vt 0.532490 0.715181 vt 0.375000 0.852193 vt 0.626000 0.701615 -vt 0.218750 0.793481 vt 0.510661 0.750275 vt 0.613008 0.750275 vt 0.614339 0.797650 vt 0.613913 0.799184 -vt 0.375000 0.895044 vt 0.625695 0.801606 vt 0.664062 0.765166 -vt 0.625000 0.765044 vt 0.612858 0.797764 vt 0.612858 0.760761 vt 0.683725 0.764195 @@ -2649,47 +1946,19 @@ vt 0.677083 0.821919 vt 0.630208 0.785479 vt 0.779674 0.760019 vt 0.781057 0.757208 -vt 0.109638 0.753166 vt 0.629601 0.796190 -vt 0.375000 0.505044 vt 0.236111 0.765044 vt 0.705624 0.757181 vt 0.380237 0.736263 -vt 0.226495 0.821409 vt 0.651589 0.807504 -vt 0.280702 0.812445 -vt 0.280702 0.812445 vt 0.272135 0.819888 -vt 0.320312 0.775200 -vt 0.320312 0.775200 -vt 0.320312 0.775200 -vt 0.320312 0.775200 -vt 0.894527 0.754523 -vt 0.894527 0.754523 -vt 0.894527 0.754523 -vt 0.894527 0.754523 vt 0.502440 0.925244 vt 0.556540 0.903471 -vt 0.245835 0.900308 vt 0.285018 0.833638 vt 0.579240 0.867737 vt 0.597620 0.886828 -vt 0.228633 0.780745 -vt 0.643647 0.900691 vt 0.491813 0.871153 vt 0.497503 0.887923 -vt 0.389892 0.832881 -vt 0.377872 0.900356 -vt 0.150429 0.671343 -vt 0.150429 0.671343 -vt 0.221470 0.868452 -vt 0.361735 0.900442 -vt 0.361735 0.900442 -vt 0.236235 0.851817 -vt 0.209167 0.860775 -vt 0.209167 0.860775 -vt 0.150429 0.671343 -vt 0.150429 0.671343 vt 0.378552 0.866324 vt 0.341437 0.845898 vt 0.335206 0.844421 @@ -2700,14 +1969,6 @@ vt 0.518073 0.839407 vt 0.514496 0.845523 vt 0.520786 0.844241 vt 0.512974 0.866402 -vt 0.333129 0.917808 -vt 0.243618 0.881248 -vt 0.333129 0.917808 -vt 0.333129 0.917808 -vt 0.333129 0.917808 -vt 0.333129 0.917808 -vt 0.333129 0.917808 -vt 0.333129 0.917808 vt 0.587555 0.674451 vt 0.666833 0.699950 vt 0.422729 0.699719 @@ -2718,12 +1979,6 @@ vt 0.610235 0.647539 vt 0.610235 0.715405 vt 0.567375 0.751753 vt 0.474644 0.733651 -vt 0.415872 0.665231 -vt 0.415872 0.665231 -vt 0.415872 0.665231 -vt 0.415872 0.665231 -vt 0.415872 0.665231 -vt 0.415872 0.665231 vt 0.617682 0.716042 vt 0.616961 0.710037 vt 0.617682 0.710037 @@ -2775,7 +2030,6 @@ vt 0.601081 0.716042 vt 0.600359 0.710037 vt 0.605945 0.708437 vt 0.606419 0.708136 -vt 0.606419 0.708136 vt 0.607856 0.708635 vt 0.607166 0.709072 vt 0.608368 0.708137 @@ -2825,43 +2079,12 @@ vt 0.600074 0.708136 vt 0.599327 0.709072 vt 0.602502 0.708980 vt 0.603247 0.709018 -vt 0.603247 0.709018 -vt 0.601127 0.705384 -vt 0.606772 0.707793 -vt 0.600548 0.705631 -vt 0.606989 0.707421 -vt 0.600074 0.705932 -vt 0.607062 0.707034 -vt 0.599721 0.706274 -vt 0.606989 0.706647 -vt 0.599504 0.706647 -vt 0.606772 0.706274 -vt 0.599431 0.707034 -vt 0.606419 0.705932 -vt 0.599504 0.707421 -vt 0.605945 0.705631 -vt 0.599721 0.707793 -vt 0.605366 0.705384 -vt 0.600074 0.708136 -vt 0.604707 0.705201 -vt 0.603991 0.708980 vt 0.603991 0.708980 vt 0.600548 0.708437 -vt 0.600548 0.708437 -vt 0.603991 0.705088 -vt 0.604707 0.708867 vt 0.604707 0.708867 vt 0.601127 0.708683 -vt 0.601127 0.708683 -vt 0.603247 0.705050 -vt 0.605366 0.708683 vt 0.605366 0.708683 vt 0.601786 0.708867 -vt 0.601786 0.708867 -vt 0.602502 0.705088 -vt 0.605945 0.708437 -vt 0.602502 0.708980 -vt 0.601786 0.705201 vt 0.617932 0.708123 vt 0.618715 0.709072 vt 0.619404 0.708635 @@ -2986,2306 +2209,2314 @@ vt 0.521451 0.967503 vt 0.521451 0.955981 vt 0.587924 0.955981 vt 0.558011 0.932938 -vt 0.565766 0.944459 vt 0.558011 0.944459 vt 0.558011 0.955981 -vt 0.565766 0.955981 vt 0.558011 0.967503 vt 0.542329 0.614065 vt 0.534574 0.625587 vt 0.534574 0.614065 -vt 0.543609 0.955981 -vt 0.521451 0.967503 -vt 0.521451 0.955981 -vt 0.587924 0.955981 -vt 0.565766 0.967503 -vt 0.543609 0.979025 -vt 0.543609 0.967503 -vt 0.543609 0.944459 -vt 0.543609 0.932938 -vt 0.543609 0.932938 -vt 0.565766 0.944459 -vt 0.543609 0.944459 -vt 0.565766 0.955981 -vt 0.543609 0.955981 -vt 0.543609 0.967503 -vt 0.565766 0.967503 -vt 0.543609 0.979025 -vt 0.521451 0.967503 -vt 0.521451 0.955981 -vt 0.587924 0.955981 -vt 0.543609 0.932938 -vt 0.565766 0.944459 -vt 0.543609 0.944459 -vt 0.543609 0.955981 -vt 0.565766 0.955981 -vt 0.543609 0.967503 -vt 0.565766 0.967503 -vt 0.543609 0.979025 -vt 0.521451 0.967503 -vt 0.521451 0.955981 -vt 0.587924 0.955981 vt 0.565766 0.932938 vt 0.565766 0.979025 vt 0.587924 0.967503 -vt 0.565766 0.932938 vt 0.542329 0.625587 -vt 0.587924 0.967503 vt 0.558011 0.979025 -vt 0.565766 0.932938 -vt 0.565766 0.979025 -vt 0.587924 0.967503 -vt 0.565766 0.932938 -vt 0.565766 0.979025 -vt 0.587924 0.967503 -vn -0.0003 0.0000 -1.0000 -vn 0.0000 0.0000 -1.0000 -vn -0.0004 0.0000 -1.0000 -vn 0.0027 -1.0000 0.0019 -vn 0.0042 -1.0000 0.0030 -vn 0.0000 -1.0000 0.0000 -vn 0.7071 0.7071 0.0000 -vn 0.0000 0.0000 1.0000 -vn 1.0000 0.0000 0.0000 -vn 0.0006 0.0004 1.0000 -vn 0.0011 0.0045 1.0000 -vn 0.0011 0.0049 1.0000 -vn 0.0008 1.0000 0.0000 -vn -0.7071 0.7071 0.0000 -vn -0.0049 0.0049 1.0000 -vn -0.8655 -0.5009 0.0000 -vn -0.0005 0.0000 -1.0000 -vn -0.0008 -1.0000 0.0005 -vn -0.0000 -0.5727 0.8197 -vn -0.0004 -0.8551 0.5184 -vn 0.7704 0.0003 0.6376 -vn 0.7699 -0.0003 0.6381 -vn 0.7698 0.0000 0.6382 -vn 0.7071 -0.7071 -0.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 1.0000 0.0000 -vn -0.7071 -0.7071 -0.0000 -vn 0.0000 -0.5729 0.8196 -vn -0.0004 -0.8552 0.5183 -vn 0.7696 -0.0008 0.6385 -vn 0.7708 0.0008 0.6371 -vn 0.7710 -0.0000 0.6369 -vn -0.0000 -0.5734 0.8193 -vn 0.7699 -0.0003 0.6382 -vn 0.7703 0.0003 0.6377 -vn 0.7704 -0.0000 0.6376 -vn -0.0000 -0.5727 0.8198 -vn -0.0004 -0.8551 0.5185 -vn 0.7700 0.0000 0.6381 -vn -0.8655 -0.5008 0.0000 -vn 0.7701 -0.0000 0.6379 -vn -0.7701 0.0000 -0.6379 -vn -0.0000 -0.5732 0.8194 -vn -0.0004 -0.8553 0.5182 -vn -0.7700 -0.0000 -0.6380 -vn 0.0070 -1.0000 0.0049 -vn 0.0005 0.0000 1.0000 -vn -0.0008 -1.0000 0.0000 -vn -0.0008 -1.0000 0.0003 -vn 0.9961 0.0882 0.0000 -vn 0.9865 -0.1635 -0.0000 -vn 0.8737 -0.4865 -0.0000 -vn 0.6256 -0.7802 -0.0000 -vn 0.2322 -0.9727 -0.0000 -vn -0.2322 -0.9727 -0.0000 -vn -0.6256 -0.7802 -0.0000 -vn -0.8737 -0.4865 -0.0000 -vn -0.9865 -0.1635 -0.0000 -vn -0.9961 0.0882 0.0000 -vn 0.1305 0.9914 0.0000 -vn 0.3827 0.9239 0.0000 -vn 0.6088 0.7934 0.0000 -vn 0.7933 0.6088 0.0000 -vn 0.9239 0.3827 0.0000 -vn 0.9914 0.1305 0.0000 -vn 0.9914 -0.1305 -0.0000 -vn 0.9239 -0.3827 -0.0000 -vn 0.7934 -0.6088 -0.0000 -vn 0.6088 -0.7934 -0.0000 -vn 0.3827 -0.9239 -0.0000 -vn 0.1305 -0.9914 -0.0000 -vn -0.1305 -0.9914 -0.0000 -vn -0.3827 -0.9239 -0.0000 -vn -0.6088 -0.7934 -0.0000 -vn -0.7934 -0.6088 -0.0000 -vn -0.7933 -0.6088 -0.0000 -vn -0.9239 -0.3827 -0.0000 -vn -0.9914 -0.1305 -0.0000 -vn -0.9914 0.1305 0.0000 -vn -0.9239 0.3827 0.0000 -vn -0.7934 0.6088 0.0000 -vn -0.6088 0.7934 0.0000 -vn -0.3827 0.9239 0.0000 -vn -0.1305 0.9914 0.0000 -vn 0.3514 -0.8484 -0.3959 -vn 0.8484 -0.3514 -0.3959 -vn 0.8484 0.3514 -0.3959 -vn 0.3514 0.8484 -0.3959 -vn -0.3514 0.8484 -0.3959 -vn -0.8484 0.3514 -0.3959 -vn -0.8484 -0.3514 -0.3959 -vn -0.3514 -0.8484 -0.3959 -vn 0.7934 0.6088 0.0000 -vn -0.6088 -0.7933 0.0000 -vn 0.6088 0.7933 0.0000 -vn 0.6088 -0.7933 -0.0000 -vn 0.5314 0.1600 -0.8319 -vn 0.8527 -0.0000 -0.5224 -vn 0.5314 -0.1600 -0.8319 -vn -0.0001 0.0000 -1.0000 -vn 0.0001 0.0000 -1.0000 -vn 0.0001 0.0000 1.0000 -vn -0.0001 0.0000 1.0000 -vn 0.0000 -0.3784 -0.9256 -vn 0.0000 -0.0253 0.9997 -vn 0.0000 0.1422 -0.9898 -vn 0.0000 -0.9644 0.2643 -vn 0.0000 -0.9848 0.1739 -vn 0.0000 0.4185 0.9082 -vn 0.0000 0.9237 0.3831 -vn 0.0000 -0.8319 0.5549 -vn 0.0000 0.9997 0.0264 -vn 0.0000 -0.9997 -0.0249 -vn 0.0000 -0.9236 -0.3834 -vn 0.0001 0.6431 0.7658 -vn 0.0000 0.6432 0.7657 -vn 0.0000 -0.0909 0.9959 -vn 0.0000 0.9535 0.3014 -vn 0.0000 -0.8690 -0.4947 -vn 0.0000 0.9932 0.1168 -vn 0.0001 0.8691 0.4946 -vn 0.0002 0.8693 0.4944 -vn 0.0002 0.8693 0.4942 -vn 0.0000 0.9988 0.0480 -vn 0.0000 0.3739 -0.9275 -vn 0.0000 -0.8192 0.5735 -vn 0.0000 -0.5018 0.8650 -vn 0.0000 -0.3738 -0.9275 -vn 0.0000 0.9764 0.2159 -vn 0.0000 -0.5664 0.8241 -vn 0.0000 0.2951 0.9555 -vn 0.0000 -0.9028 -0.4301 -vn 0.0000 -0.6377 0.7703 -vn 0.0000 -0.6645 -0.7473 -vn 0.0000 -0.2686 0.9633 -vn 0.0000 0.2609 0.9654 -vn 0.0000 -0.9044 -0.4266 -vn 0.0000 0.7413 0.6712 -vn 0.0000 -0.9994 -0.0337 -vn 0.0000 -0.9729 -0.2312 -vn 0.0000 0.9943 0.1065 -vn 0.0000 -0.9039 0.4277 -vn 0.0000 0.9182 -0.3961 -vn 0.0000 -0.4423 0.8969 -vn 0.0000 0.4320 0.9019 -vn 0.0000 0.4842 -0.8749 -vn 0.0000 0.4261 0.9047 -vn 0.0000 0.1909 -0.9816 -vn 0.0000 0.9995 0.0318 -vn 0.0000 0.9918 -0.1277 -vn 0.0000 0.6918 0.7220 -vn 0.0000 0.8646 -0.5025 -vn 1.0000 -0.0010 0.0007 -vn 1.0000 -0.0019 0.0017 -vn 0.0000 -0.6430 -0.7658 -vn 0.0000 -0.6432 -0.7657 -vn 0.0000 -0.8693 -0.4942 -vn -0.5484 -0.0760 0.8328 -vn -0.7536 -0.6071 -0.2520 -vn -0.7698 0.6340 0.0745 -vn -0.7607 0.6189 0.1957 -vn -0.7402 0.5843 0.3326 -vn -0.6787 -0.4737 -0.5613 -vn -0.9730 -0.1947 -0.1237 -vn -0.6263 -0.5087 -0.5907 -vn 0.7982 0.5982 0.0703 -vn 0.7898 0.5848 0.1849 -vn 0.7709 0.5538 0.3148 -vn 0.5429 -0.7301 -0.4151 -vn 0.8868 -0.3899 -0.2481 -vn 0.3349 -0.6195 -0.7100 -vn 0.7699 -0.5824 -0.2610 -vn 0.7751 -0.5764 -0.2588 -vn 0.3897 -0.8505 -0.3533 -vn 0.5847 -0.0737 0.8079 -vn 0.9379 -0.3346 0.0917 -vn 0.9395 -0.3373 0.0596 -vn 0.8718 0.2050 0.4449 -vn 0.8298 -0.0141 0.5579 -vn 0.9258 -0.3144 0.2097 -vn 0.9344 0.3289 0.1364 -vn 0.9407 0.3392 0.0089 -vn 0.8657 -0.1894 -0.4633 -vn 0.8358 0.0781 -0.5434 -vn -0.9296 -0.3628 0.0641 -vn -0.9278 -0.3599 0.0986 -vn -0.8138 0.0826 -0.5752 -vn -0.8467 -0.2014 -0.4926 -vn -0.9310 0.3649 0.0096 -vn -0.9238 0.3536 0.1467 -vn -0.9140 -0.3374 0.2251 -vn -0.8072 -0.0149 0.5901 -vn -0.8534 0.2182 0.4735 -vn 0.0001 1.0000 0.0000 -vn 0.0002 1.0000 0.0000 -vn -0.0000 0.9998 0.0183 -vn -0.0001 0.9998 0.0183 -vn 1.0000 0.0015 0.0007 -vn 1.0000 -0.0020 0.0019 -vn 1.0000 -0.0005 0.0032 -vn 1.0000 -0.0000 0.0017 -vn -0.0000 -1.0000 0.0007 -vn 0.0000 0.0729 0.9973 -vn 0.0033 0.0732 -0.9973 -vn 0.0008 0.0725 -0.9974 -vn 0.0000 0.0722 -0.9974 -vn 1.0000 -0.0000 0.0026 -vn 0.0048 -0.0004 -1.0000 -vn 0.0056 -0.0009 -1.0000 -vn 0.0041 -0.0001 -1.0000 -vn 0.0000 1.0000 -0.0007 -vn 1.0000 0.0000 0.0052 -vn 1.0000 -0.0035 -0.0044 -vn 0.0002 0.6430 0.7658 -vn 0.0000 0.8690 0.4947 -vn 1.0000 -0.0055 0.0020 -vn 1.0000 -0.0005 0.0027 -vn 1.0000 -0.0090 -0.0003 -vn 1.0000 0.0001 0.0025 -vn -0.6788 -0.4722 -0.5624 -vn -0.5489 -0.5375 -0.6401 -vn 0.7982 0.5983 0.0703 -vn 0.4928 -0.5934 -0.6364 -vn 0.4171 -0.6319 -0.6532 -vn 0.3412 -0.6364 -0.6918 -vn 0.3227 -0.6087 -0.7248 -vn 0.3837 -0.8529 -0.3540 -vn 0.9999 0.0114 0.0035 -vn 0.0041 0.0735 -0.9973 -vn 0.0063 -0.0012 -1.0000 -vn 1.0000 0.0013 -0.0033 -vn 1.0000 0.0093 -0.0015 -vn 1.0000 -0.0055 -0.0032 -vn 1.0000 -0.0004 0.0052 -vn 0.7730 -0.6344 0.0000 -vn 0.8819 -0.4714 0.0000 -vn 0.9569 -0.2903 0.0000 -vn 0.9952 -0.0980 0.0000 -vn 0.9952 0.0980 0.0000 -vn 0.9569 0.2903 0.0000 -vn 0.8819 0.4714 0.0000 -vn 0.7730 0.6344 0.0000 -vn 0.6344 0.7730 0.0000 -vn 0.4714 0.8819 0.0000 -vn 0.2903 0.9569 0.0000 -vn 0.0980 0.9952 0.0000 -vn -0.0980 0.9952 0.0000 -vn -0.2903 0.9569 0.0000 -vn -0.4714 0.8819 0.0000 -vn -0.6344 0.7730 0.0000 -vn -0.7730 0.6344 0.0000 -vn -0.8819 0.4714 0.0000 -vn -0.9569 0.2903 0.0000 -vn -0.9952 0.0980 0.0000 -vn -0.9952 -0.0980 0.0000 -vn -0.9569 -0.2903 0.0000 -vn -0.8819 -0.4714 0.0000 -vn -0.7730 -0.6344 0.0000 -vn 0.4714 -0.8819 0.0000 -vn 0.6344 -0.7730 0.0000 -vn -0.6344 -0.7730 0.0000 -vn -0.4714 -0.8819 0.0000 -vn -0.2903 -0.9569 0.0000 -vn -0.0980 -0.9952 0.0000 -vn 0.0980 -0.9952 0.0000 -vn 0.2903 -0.9569 0.0000 -vn 0.0009 0.0000 1.0000 -vn -0.0008 0.0000 1.0000 -vn 0.6341 -0.7732 0.0000 -vn 0.6338 -0.7735 0.0000 -vn -0.6345 -0.7729 0.0000 -vn -0.0010 0.0000 1.0000 -vn 0.0012 0.0000 1.0000 -vn -0.9886 0.1508 0.0000 -vn 0.0000 0.7659 -0.6430 -vn 0.9886 0.1508 0.0000 -vn 0.0000 0.5850 0.8110 -vn -0.9980 0.0638 0.0000 -vn 0.0000 0.0992 -0.9951 -vn 0.9980 0.0638 0.0000 -vn 0.0000 0.0212 0.9998 -vn 0.0000 0.0211 0.9998 -vn -0.9692 -0.2464 0.0000 -vn -0.0424 0.1386 -0.9894 -vn 0.9412 0.3377 0.0000 -vn 0.9413 0.3377 0.0000 -vn -0.0091 0.0297 0.9995 -vn 0.2924 -0.9563 0.0000 -vn -0.2924 0.9563 0.0000 -vn -0.9412 0.3377 0.0000 -vn 0.0423 0.1385 -0.9895 -vn 0.9692 -0.2464 0.0000 -vn 0.0091 0.0297 0.9995 -vn -0.2924 -0.9563 0.0000 -vn 0.2924 0.9563 0.0000 s 1 f 1/1/1 2/2/2 3/3/3 f 1/4/4 4/5/5 2/2/6 -f 5/6/2 6/7/2 7/8/2 -f 6/7/7 8/9/7 7/8/7 -f 8/9/8 9/10/8 10/11/8 -f 7/8/6 10/12/6 5/13/6 -f 5/14/9 6/7/9 9/10/9 -f 10/15/10 11/16/11 12/17/12 -f 3/18/13 9/10/13 6/7/13 -f 2/2/14 11/19/14 3/3/14 -f 12/17/15 11/19/15 4/5/15 -f 13/20/16 12/21/16 1/22/16 -f 6/7/17 1/23/1 3/24/3 -f 10/15/18 12/21/19 13/25/20 -f 12/26/21 13/27/22 11/28/23 -f 14/29/2 15/30/2 16/31/2 -f 15/30/24 17/32/24 16/31/24 -f 17/32/8 18/33/8 19/34/8 -f 14/35/25 17/32/25 19/36/25 -f 14/37/26 18/33/26 15/30/26 -f 20/38/2 21/39/2 22/40/2 -f 21/39/27 23/41/27 22/40/27 -f 23/41/8 24/42/8 25/43/8 -f 22/40/26 25/44/26 20/45/26 -f 20/46/9 24/42/9 21/39/9 -f 26/47/1 27/48/2 28/49/3 -f 26/50/4 29/51/5 27/48/6 -f 30/52/2 31/53/2 32/54/2 -f 31/53/7 33/55/7 32/54/7 -f 33/55/8 34/56/8 35/57/8 -f 32/54/6 35/58/6 30/59/6 -f 30/60/9 31/53/9 34/56/9 -f 35/61/10 36/62/11 37/63/12 -f 28/64/13 34/56/13 31/53/13 -f 27/48/14 36/65/14 28/49/14 -f 37/63/15 36/65/15 29/51/15 -f 38/66/16 37/67/16 26/68/16 -f 31/53/17 26/69/1 28/70/3 -f 35/61/18 37/67/28 38/71/29 -f 37/72/30 38/73/31 36/74/32 -f 39/75/1 40/76/2 41/77/3 -f 39/78/4 42/79/5 40/76/6 -f 43/80/2 44/81/2 45/82/2 -f 44/81/7 46/83/7 45/82/7 -f 46/83/8 47/84/8 48/85/8 -f 45/82/6 48/86/6 43/87/6 -f 43/88/9 44/81/9 47/84/9 -f 48/89/10 49/90/11 50/91/12 -f 41/92/13 47/84/13 44/81/13 -f 40/76/14 49/93/14 41/77/14 -f 50/91/15 49/93/15 42/79/15 -f 51/94/16 50/95/16 39/96/16 -f 44/81/17 39/97/1 41/98/3 -f 48/89/18 50/95/33 51/99/29 -f 50/100/30 51/101/31 49/102/32 -f 52/103/1 53/104/2 54/105/3 -f 52/106/4 55/107/5 53/104/6 -f 56/108/2 57/109/2 58/110/2 -f 57/109/7 59/111/7 58/110/7 -f 59/111/8 60/112/8 61/113/8 -f 58/110/6 61/114/6 56/115/6 -f 56/116/9 57/109/9 60/112/9 -f 61/117/10 62/118/11 63/119/12 -f 54/120/13 60/112/13 57/109/13 -f 53/104/14 62/121/14 54/105/14 -f 63/119/15 62/121/15 55/107/15 -f 64/122/16 63/123/16 52/124/16 -f 57/109/17 52/125/1 54/126/3 -f 61/117/18 63/123/28 64/127/29 -f 63/128/34 64/129/35 62/130/36 -f 65/131/1 66/132/2 67/133/3 -f 65/134/4 68/135/5 66/132/6 -f 69/136/2 70/137/2 71/138/2 -f 70/137/7 72/139/7 71/138/7 -f 72/139/8 73/140/8 74/141/8 -f 71/138/6 74/142/6 69/143/6 -f 69/144/9 70/137/9 73/140/9 -f 74/145/10 75/146/11 76/147/12 -f 67/148/13 73/140/13 70/137/13 -f 66/132/14 75/149/14 67/133/14 -f 76/147/15 75/149/15 68/135/15 -f 77/150/16 76/151/16 65/152/16 -f 70/137/17 65/153/1 67/154/3 -f 74/145/18 76/151/37 77/155/38 -f 76/156/34 77/157/35 75/158/36 -f 78/159/1 79/160/2 80/161/3 -f 78/162/4 81/163/5 79/160/6 -f 82/164/2 83/165/2 84/166/2 -f 83/165/7 85/167/7 84/166/7 -f 85/167/8 86/168/8 87/169/8 -f 84/166/6 87/170/6 82/171/6 -f 82/172/9 83/165/9 86/168/9 -f 87/173/10 88/174/11 89/175/12 -f 80/176/13 86/168/13 83/165/13 -f 79/160/14 88/177/14 80/161/14 -f 89/175/15 88/177/15 81/163/15 -f 90/178/16 89/179/16 78/180/16 -f 83/165/17 78/181/1 80/182/3 -f 87/173/18 89/179/19 90/183/20 -f 89/184/39 90/185/39 88/186/39 -f 91/187/1 92/188/2 93/189/3 -f 91/190/4 94/191/5 92/188/6 -f 95/192/2 96/193/2 97/194/2 -f 96/193/7 98/195/7 97/194/7 -f 98/195/8 99/196/8 100/197/8 -f 97/194/6 100/198/6 95/199/6 -f 95/200/9 96/193/9 99/196/9 -f 100/201/10 101/202/11 102/203/12 -f 93/204/13 99/196/13 96/193/13 -f 92/188/14 101/205/14 93/189/14 -f 102/203/15 101/205/15 94/191/15 -f 103/206/40 102/207/40 91/208/40 -f 96/193/17 91/209/1 93/210/3 -f 100/201/18 102/207/37 103/211/20 -f 102/212/21 103/213/22 101/214/23 -f 104/215/1 105/216/2 106/217/3 -f 104/218/4 107/219/5 105/216/6 -f 108/220/2 109/221/2 110/222/2 -f 109/221/7 111/223/7 110/222/7 -f 111/223/8 112/224/8 113/225/8 -f 110/222/6 113/226/6 108/227/6 -f 108/228/9 109/221/9 112/224/9 -f 113/229/10 114/230/11 115/231/12 -f 106/232/13 112/224/13 109/221/13 -f 105/216/14 114/233/14 106/217/14 -f 115/231/15 114/233/15 107/219/15 -f 116/234/16 115/235/16 104/236/16 -f 109/221/17 104/237/1 106/238/3 -f 113/229/18 115/235/19 116/239/20 -f 115/240/41 116/241/41 114/242/41 -f 117/243/1 118/244/2 119/245/3 -f 117/246/4 120/247/5 118/244/6 -f 121/248/2 122/249/2 123/250/2 -f 122/249/7 124/251/7 123/250/7 -f 124/251/8 125/252/8 126/253/8 -f 123/250/6 126/254/6 121/255/6 -f 121/256/9 122/249/9 125/252/9 -f 126/257/10 127/258/11 128/259/12 -f 119/260/13 125/252/13 122/249/13 -f 118/244/14 127/261/14 119/245/14 -f 128/259/15 127/261/15 120/247/15 -f 129/262/16 128/263/16 117/264/16 -f 122/249/17 117/265/1 119/266/3 -f 126/257/18 128/263/37 129/267/20 -f 128/268/42 127/269/42 129/270/42 -f 130/271/1 131/272/2 132/273/3 -f 130/274/4 133/275/5 131/272/6 -f 134/276/2 135/277/2 136/278/2 -f 135/277/7 137/279/7 136/278/7 -f 137/279/8 138/280/8 139/281/8 -f 136/278/6 139/282/6 134/283/6 -f 134/284/9 135/277/9 138/280/9 -f 139/285/10 140/286/11 141/287/12 -f 132/288/13 138/280/13 135/277/13 -f 131/272/14 140/289/14 132/273/14 -f 141/287/15 140/289/15 133/275/15 -f 142/290/16 141/291/16 130/292/16 -f 135/277/17 130/293/1 132/294/3 -f 139/285/18 141/291/19 142/295/20 -f 141/296/42 140/297/42 142/298/42 -f 143/299/1 144/300/2 145/301/3 -f 143/302/4 146/303/5 144/300/6 -f 147/304/2 148/305/2 149/306/2 -f 148/305/7 150/307/7 149/306/7 -f 150/307/8 151/308/8 152/309/8 -f 149/306/6 152/310/6 147/311/6 -f 147/312/9 148/305/9 151/308/9 -f 152/313/10 153/314/11 154/315/12 -f 145/316/13 151/308/13 148/305/13 -f 144/300/14 153/317/14 145/301/14 -f 154/315/15 153/317/15 146/303/15 -f 155/318/16 154/319/16 143/320/16 -f 148/305/17 143/321/1 145/322/3 -f 152/313/18 154/319/43 155/323/44 -f 154/324/45 153/325/45 155/326/45 -f 156/327/1 157/328/2 158/329/3 -f 156/330/4 159/331/5 157/328/6 -f 160/332/2 161/333/2 162/334/2 -f 161/333/7 163/335/7 162/334/7 -f 163/335/8 164/336/8 165/337/8 -f 162/334/6 165/338/6 160/339/6 -f 160/340/9 161/333/9 164/336/9 -f 165/341/10 166/342/11 167/343/12 -f 158/344/13 164/336/13 161/333/13 -f 157/328/14 166/345/14 158/329/14 -f 167/343/15 166/345/15 159/331/15 -f 168/346/16 167/347/16 156/348/16 -f 161/333/17 156/349/1 158/350/3 -f 165/341/18 167/347/37 168/351/38 -f 167/352/42 166/353/42 168/354/42 -f 1/4/4 12/355/46 4/5/5 -f 6/7/7 9/10/7 8/9/7 -f 7/8/6 8/9/6 10/12/6 -f 5/14/9 9/10/9 10/356/9 -f 10/15/10 9/10/47 11/16/11 -f 3/18/13 11/357/13 9/10/13 -f 2/2/14 4/5/14 11/19/14 -f 6/7/17 5/358/17 1/23/1 -f 13/25/20 1/22/48 10/15/18 -f 1/22/48 5/358/48 10/15/18 -f 15/30/24 18/33/24 17/32/24 -f 14/35/25 16/31/25 17/32/25 -f 14/37/26 19/359/26 18/33/26 -f 21/39/27 24/42/27 23/41/27 -f 22/40/26 23/41/26 25/44/26 -f 20/46/9 25/360/9 24/42/9 -f 26/50/4 37/361/46 29/51/5 -f 31/53/7 34/56/7 33/55/7 -f 32/54/6 33/55/6 35/58/6 -f 30/60/9 34/56/9 35/362/9 -f 35/61/10 34/56/47 36/62/11 -f 28/64/13 36/363/13 34/56/13 -f 27/48/14 29/51/14 36/65/14 -f 31/53/17 30/364/17 26/69/1 -f 38/71/29 26/68/48 35/61/18 -f 26/68/48 30/364/48 35/61/18 -f 39/78/4 50/365/46 42/79/5 -f 44/81/7 47/84/7 46/83/7 -f 45/82/6 46/83/6 48/86/6 -f 43/88/9 47/84/9 48/366/9 -f 48/89/10 47/84/47 49/90/11 -f 41/92/13 49/367/13 47/84/13 -f 40/76/14 42/79/14 49/93/14 -f 44/81/17 43/368/17 39/97/1 -f 51/99/29 39/96/48 48/89/18 -f 39/96/48 43/368/48 48/89/18 -f 52/106/4 63/369/46 55/107/5 -f 57/109/7 60/112/7 59/111/7 -f 58/110/6 59/111/6 61/114/6 -f 56/116/9 60/112/9 61/370/9 -f 61/117/10 60/112/47 62/118/11 -f 54/120/13 62/371/13 60/112/13 -f 53/104/14 55/107/14 62/121/14 -f 57/109/17 56/372/17 52/125/1 -f 64/127/29 52/124/48 61/117/18 -f 52/124/48 56/372/48 61/117/18 -f 65/134/4 76/373/46 68/135/5 -f 70/137/7 73/140/7 72/139/7 -f 71/138/6 72/139/6 74/142/6 -f 69/144/9 73/140/9 74/374/9 -f 74/145/10 73/140/47 75/146/11 -f 67/148/13 75/375/13 73/140/13 -f 66/132/14 68/135/14 75/149/14 -f 70/137/17 69/376/17 65/153/1 -f 77/155/38 65/152/48 74/145/18 -f 65/152/48 69/376/48 74/145/49 -f 78/162/4 89/377/46 81/163/5 -f 83/165/7 86/168/7 85/167/7 -f 84/166/6 85/167/6 87/170/6 -f 82/172/9 86/168/9 87/378/9 -f 87/173/10 86/168/47 88/174/11 -f 80/176/13 88/379/13 86/168/13 -f 79/160/14 81/163/14 88/177/14 -f 83/165/17 82/380/17 78/181/1 -f 90/183/20 78/180/48 87/173/18 -f 78/180/48 82/380/48 87/173/18 -f 91/190/4 102/381/46 94/191/5 -f 96/193/7 99/196/7 98/195/7 -f 97/194/6 98/195/6 100/198/6 -f 95/200/9 99/196/9 100/382/9 -f 100/201/10 99/196/47 101/202/11 -f 93/204/13 101/383/13 99/196/13 -f 92/188/14 94/191/14 101/205/14 -f 96/193/17 95/384/17 91/209/1 -f 103/211/20 91/208/48 100/201/18 -f 91/208/48 95/384/48 100/201/18 -f 104/218/4 115/385/46 107/219/5 -f 109/221/7 112/224/7 111/223/7 -f 110/222/6 111/223/6 113/226/6 -f 108/228/9 112/224/9 113/386/9 -f 113/229/10 112/224/47 114/230/11 -f 106/232/13 114/387/13 112/224/13 -f 105/216/14 107/219/14 114/233/14 -f 109/221/17 108/388/17 104/237/1 -f 116/239/20 104/236/48 113/229/18 -f 104/236/48 108/388/48 113/229/18 -f 117/246/4 128/389/46 120/247/5 -f 122/249/7 125/252/7 124/251/7 -f 123/250/6 124/251/6 126/254/6 -f 121/256/9 125/252/9 126/390/9 -f 126/257/10 125/252/47 127/258/11 -f 119/260/13 127/391/13 125/252/13 -f 118/244/14 120/247/14 127/261/14 -f 122/249/17 121/392/17 117/265/1 -f 129/267/20 117/264/48 126/257/18 -f 117/264/48 121/392/48 126/257/18 -f 130/274/4 141/393/46 133/275/5 -f 135/277/7 138/280/7 137/279/7 -f 136/278/6 137/279/6 139/282/6 -f 134/284/9 138/280/9 139/394/9 -f 139/285/10 138/280/47 140/286/11 -f 132/288/13 140/395/13 138/280/13 -f 131/272/14 133/275/14 140/289/14 -f 135/277/17 134/396/17 130/293/1 -f 142/295/20 130/292/48 139/285/18 -f 130/292/48 134/396/48 139/285/49 -f 143/302/4 154/397/46 146/303/5 -f 148/305/7 151/308/7 150/307/7 -f 149/306/6 150/307/6 152/310/6 -f 147/312/9 151/308/9 152/398/9 -f 152/313/10 151/308/47 153/314/11 -f 145/316/13 153/399/13 151/308/13 -f 144/300/14 146/303/14 153/317/14 -f 148/305/17 147/400/17 143/321/1 -f 155/323/44 143/320/48 152/313/18 -f 143/320/48 147/400/48 152/313/18 -f 156/330/4 167/401/46 159/331/5 -f 161/333/7 164/336/7 163/335/7 -f 162/334/6 163/335/6 165/338/6 -f 160/340/9 164/336/9 165/402/9 -f 165/341/10 164/336/47 166/342/11 -f 158/344/13 166/403/13 164/336/13 -f 157/328/14 159/331/14 166/345/14 -f 161/333/17 160/404/17 156/349/1 -f 168/351/38 156/348/48 165/341/18 -f 156/348/48 160/404/48 165/341/18 -f 169/405/2 170/406/2 171/407/2 -f 172/408/50 171/409/50 173/410/50 -f 174/411/51 175/412/51 171/409/51 -f 176/413/52 177/414/52 175/412/52 -f 178/415/53 179/416/53 177/414/53 -f 180/417/54 181/418/54 179/416/54 -f 182/419/55 183/420/55 181/418/55 -f 184/421/56 185/422/56 183/420/56 -f 186/423/57 187/424/57 185/422/57 -f 188/425/58 169/426/58 187/424/58 -f 189/427/59 170/428/59 169/426/59 -f 170/406/26 172/429/26 173/430/26 -f 178/431/8 176/432/8 186/433/8 -f 170/406/2 173/430/2 171/407/2 -f 171/407/2 175/434/2 187/435/2 -f 175/434/2 177/436/2 185/437/2 -f 177/436/2 179/438/2 185/437/2 -f 179/438/2 181/439/2 183/440/2 -f 185/437/2 179/438/2 183/440/2 -f 185/437/2 187/435/2 175/434/2 -f 187/435/2 169/405/2 171/407/2 -f 172/408/50 174/411/50 171/409/50 -f 174/411/51 176/413/51 175/412/51 -f 176/413/52 178/415/52 177/414/52 -f 178/415/53 180/417/53 179/416/53 -f 180/417/54 182/419/54 181/418/54 -f 182/419/55 184/421/55 183/420/55 -f 184/421/56 186/423/56 185/422/56 -f 186/423/57 188/425/57 187/424/57 -f 188/425/58 189/427/58 169/426/58 -f 189/427/59 190/441/59 170/428/59 -f 170/406/26 190/442/26 172/429/26 -f 176/432/8 174/443/8 189/444/8 -f 174/443/8 172/429/8 189/444/8 -f 172/429/8 190/442/8 189/444/8 -f 189/444/8 188/445/8 176/432/8 -f 188/445/8 186/433/8 176/432/8 -f 186/433/8 184/446/8 178/431/8 -f 184/446/8 182/447/8 180/448/8 -f 178/431/8 184/446/8 180/448/8 -f 191/449/60 192/450/60 193/451/60 -f 194/452/61 195/453/61 192/450/61 -f 196/454/62 197/455/62 195/453/62 -f 198/456/63 199/457/63 197/455/63 -f 200/458/64 201/459/64 199/457/64 -f 202/460/65 203/461/65 201/459/65 -f 204/462/66 205/463/66 203/461/66 -f 206/464/67 207/465/67 205/463/67 -f 208/466/68 209/467/68 207/465/68 -f 210/468/69 211/469/69 209/467/69 -f 212/470/70 213/471/70 211/469/70 -f 214/472/71 215/473/71 213/471/71 -f 216/474/72 217/475/72 215/473/72 -f 218/476/73 219/477/73 217/475/73 -f 220/478/74 221/479/74 219/477/74 -f 222/480/75 223/481/76 221/479/76 -f 224/482/77 225/483/77 223/481/77 -f 226/484/78 227/485/78 225/483/78 -f 228/486/79 229/487/79 227/485/79 -f 230/488/80 231/489/80 229/487/80 -f 232/490/81 233/491/81 231/489/81 -f 234/492/82 235/493/82 233/491/82 -f 212/494/8 204/495/8 196/496/8 -f 236/497/83 237/498/83 235/493/83 -f 238/499/84 193/500/84 237/498/84 -f 239/501/73 240/502/73 241/503/73 -f 242/504/61 243/505/61 244/506/61 -f 245/507/64 246/508/64 243/505/64 -f 247/509/67 248/510/67 246/508/67 -f 249/511/70 250/512/70 248/510/70 -f 251/513/73 252/514/73 250/512/73 -f 253/515/77 254/516/77 252/514/77 -f 247/517/8 242/518/8 255/519/8 -f 255/520/80 256/521/80 254/516/80 -f 257/522/83 244/523/83 256/521/83 -f 248/524/2 252/525/2 256/526/2 -f 250/527/85 258/528/85 248/529/85 -f 248/529/86 259/530/86 246/531/86 -f 246/531/87 260/532/87 243/533/87 -f 260/532/88 244/534/88 243/533/88 -f 261/535/89 256/536/89 244/534/89 -f 262/537/90 254/538/90 256/536/90 -f 263/539/91 252/540/91 254/538/91 -f 264/541/92 250/527/92 252/540/92 -f 265/542/80 259/543/80 258/544/80 -f 266/545/83 258/544/83 267/546/83 -f 268/547/70 262/548/70 261/549/70 -f 269/550/73 261/551/73 260/552/73 -f 270/553/77 260/552/77 259/543/77 -f 271/554/61 267/546/61 264/555/61 -f 272/556/60 273/557/60 274/558/60 -f 275/559/61 276/560/61 273/557/61 -f 277/561/62 278/562/62 276/560/62 -f 279/563/93 280/564/93 278/562/93 -f 281/565/64 282/566/64 280/564/64 -f 283/567/65 284/568/65 282/566/65 -f 285/569/66 286/570/66 284/568/66 -f 287/571/67 288/572/67 286/570/67 -f 289/573/68 290/574/68 288/572/68 -f 291/575/69 292/576/69 290/574/69 -f 293/577/70 294/578/70 292/576/70 -f 295/579/71 296/580/71 294/578/71 -f 297/581/72 298/582/72 296/580/72 -f 299/583/73 300/584/73 298/582/73 -f 301/585/74 302/586/74 300/584/74 -f 303/587/75 304/588/75 302/586/75 -f 305/589/77 306/590/77 304/588/77 -f 307/591/78 308/592/78 306/590/78 -f 309/593/79 310/594/79 308/592/79 -f 311/595/80 312/596/80 310/594/80 -f 313/597/81 314/598/81 312/596/81 -f 315/599/82 316/600/82 314/598/82 -f 309/601/8 293/602/8 277/603/8 -f 317/604/83 318/605/83 316/600/83 -f 319/606/84 274/607/84 318/605/84 -f 310/608/2 318/609/2 286/610/2 -f 320/611/60 321/612/60 322/613/60 -f 323/614/61 324/615/61 321/612/61 -f 325/616/62 326/617/62 324/615/62 -f 327/618/63 328/619/63 326/617/63 -f 329/620/64 330/621/64 328/619/64 -f 331/622/65 332/623/65 330/621/65 -f 333/624/66 334/625/66 332/623/66 -f 335/626/67 336/627/67 334/625/67 -f 337/628/68 338/629/68 336/627/68 -f 339/630/69 340/631/69 338/629/69 -f 341/632/70 342/633/70 340/631/70 -f 343/634/71 344/635/71 342/633/71 -f 345/636/72 346/637/72 344/635/72 -f 347/638/73 348/639/73 346/637/73 -f 349/640/74 350/641/74 348/639/94 -f 351/642/75 352/643/75 350/641/75 -f 353/644/77 354/645/77 352/643/77 -f 355/646/78 356/647/78 354/645/78 -f 357/648/79 358/649/79 356/647/79 -f 359/650/80 360/651/80 358/649/80 -f 361/652/81 362/653/81 360/651/81 -f 363/654/82 364/655/82 362/653/82 -f 341/656/8 333/657/8 325/658/8 -f 365/659/83 366/660/83 364/655/83 -f 367/661/84 322/662/84 366/660/84 -f 350/663/2 358/664/2 366/665/2 -f 368/666/60 369/667/60 370/668/60 -f 371/669/61 372/670/61 369/667/61 -f 373/671/62 374/672/62 372/670/62 -f 375/673/63 376/674/63 374/672/63 -f 377/675/64 378/676/64 376/674/64 -f 379/677/65 380/678/65 378/676/65 -f 381/679/66 382/680/66 380/678/66 -f 383/681/67 384/682/67 382/680/67 -f 385/683/68 386/684/68 384/682/68 -f 387/685/69 388/686/69 386/684/69 -f 389/687/70 390/688/70 388/686/70 -f 391/689/71 392/690/71 390/688/71 -f 393/691/72 394/692/72 392/690/72 -f 395/693/73 396/694/73 394/692/73 -f 397/695/74 398/696/74 396/694/74 -f 399/697/75 400/698/75 398/696/75 -f 401/699/77 402/700/77 400/698/77 -f 403/701/78 404/702/78 402/700/78 -f 405/703/79 406/704/79 404/702/79 -f 407/705/80 408/706/80 406/704/80 -f 409/707/81 410/708/81 408/706/81 -f 411/709/82 412/710/82 410/708/82 -f 389/711/8 381/712/8 373/713/8 -f 413/714/83 414/715/83 412/710/83 -f 415/716/84 370/717/84 414/715/84 -f 398/718/2 406/719/2 414/720/2 -f 416/721/60 417/722/60 418/723/60 -f 419/724/61 420/725/61 417/722/61 -f 421/726/62 422/727/62 420/725/62 -f 423/728/63 424/729/63 422/727/63 -f 425/730/64 426/731/64 424/729/64 -f 427/732/65 428/733/65 426/731/65 -f 429/734/66 430/735/66 428/733/66 -f 431/736/67 432/737/67 430/735/67 -f 433/738/68 434/739/68 432/737/68 -f 435/740/69 436/741/69 434/739/69 -f 437/742/70 438/743/70 436/741/70 -f 439/744/71 440/745/71 438/743/71 -f 441/746/72 442/747/72 440/745/72 -f 443/748/73 444/749/73 442/747/73 -f 445/750/74 446/751/74 444/749/74 -f 447/752/75 448/753/75 446/751/76 -f 449/754/77 450/755/77 448/753/77 -f 451/756/78 452/757/78 450/755/78 -f 453/758/79 454/759/79 452/757/79 -f 455/760/80 456/761/80 454/759/80 -f 457/762/81 458/763/81 456/761/81 -f 459/764/82 460/765/82 458/763/82 -f 437/766/8 429/767/8 421/768/8 -f 461/769/83 462/770/83 460/765/83 -f 463/771/84 418/772/84 462/770/84 -f 446/773/2 454/774/2 462/775/2 -f 464/776/60 465/777/60 466/778/60 -f 467/779/61 468/780/61 465/777/61 -f 469/781/95 470/782/62 468/780/62 -f 471/783/63 472/784/63 470/782/63 -f 473/785/64 474/786/64 472/784/64 -f 475/787/65 476/788/65 474/786/65 -f 477/789/66 478/790/66 476/788/66 -f 479/791/67 480/792/67 478/790/67 -f 481/793/68 482/794/68 480/792/68 -f 483/795/96 484/796/69 482/794/69 -f 485/797/70 486/798/70 484/796/70 -f 487/799/71 488/800/71 486/798/71 -f 489/801/72 490/802/72 488/800/72 -f 491/803/73 492/804/73 490/802/73 -f 493/805/74 494/806/94 492/804/94 -f 495/807/75 496/808/76 494/806/76 -f 497/809/77 498/810/77 496/808/77 -f 499/811/78 500/812/78 498/810/78 -f 501/813/79 502/814/79 500/812/79 -f 503/815/80 504/816/80 502/814/80 -f 505/817/81 506/818/81 504/816/81 -f 507/819/82 508/820/82 506/818/82 -f 485/821/8 477/822/8 469/823/8 -f 509/824/83 510/825/83 508/820/83 -f 511/826/84 466/827/84 510/825/84 -f 494/828/2 502/829/2 510/830/2 -f 512/831/2 192/832/2 241/503/2 -f 241/503/2 195/833/2 239/501/2 -f 239/501/2 197/834/2 513/835/2 -f 513/835/2 199/836/2 514/837/2 -f 514/837/2 201/838/2 515/839/2 -f 515/839/2 203/840/2 516/841/2 -f 517/842/2 203/840/2 205/843/2 -f 518/844/2 205/843/2 207/845/2 -f 519/846/2 207/845/2 209/847/2 -f 520/848/2 209/847/2 211/849/2 -f 521/850/2 211/849/2 213/851/2 -f 522/852/2 213/851/2 215/853/2 -f 522/852/2 217/854/2 523/855/2 -f 523/855/2 219/856/2 524/857/2 -f 524/857/2 221/858/2 525/859/2 -f 525/859/2 223/860/2 526/861/2 -f 526/861/2 225/862/2 527/863/2 -f 527/863/2 227/864/2 528/865/2 -f 529/866/2 227/864/2 229/867/2 -f 530/868/2 229/867/2 231/869/2 -f 531/870/2 231/869/2 233/871/2 -f 532/872/2 233/871/2 235/873/2 -f 533/874/2 235/873/2 237/875/2 -f 512/831/2 237/875/2 193/876/2 -f 534/877/2 535/878/2 536/879/2 -f 527/863/64 537/880/64 526/861/64 -f 520/848/82 538/881/82 519/846/82 -f 513/835/74 539/882/74 239/501/74 -f 528/865/65 540/883/65 527/863/65 -f 521/850/83 541/884/83 520/848/83 -f 514/837/75 542/885/75 513/835/75 -f 529/866/66 543/886/66 528/865/66 -f 522/852/84 544/887/84 521/850/84 -f 515/839/77 545/888/77 514/837/77 -f 530/868/67 546/889/67 529/866/67 -f 523/855/60 547/890/60 522/852/60 -f 516/841/78 548/891/78 515/839/78 -f 531/870/68 549/892/68 530/868/68 -f 524/857/61 550/893/61 523/855/61 -f 517/842/79 551/894/79 516/841/79 -f 532/872/69 534/877/69 531/870/69 -f 525/859/62 552/895/62 524/857/62 -f 518/844/80 553/896/80 517/842/80 -f 533/874/70 535/878/70 532/872/70 -f 241/503/72 554/897/72 512/831/72 -f 526/861/93 536/879/93 525/859/93 -f 519/846/81 555/898/81 518/844/81 -f 512/831/71 556/899/71 533/874/71 -f 271/554/97 263/539/98 557/900/99 -f 191/449/60 194/452/60 192/450/60 -f 194/452/61 196/454/61 195/453/61 -f 196/454/62 198/456/62 197/455/62 -f 198/456/63 200/458/63 199/457/63 -f 200/458/64 202/460/64 201/459/64 -f 202/460/65 204/462/65 203/461/65 -f 204/462/66 206/464/66 205/463/66 -f 206/464/67 208/466/67 207/465/67 -f 208/466/68 210/468/68 209/467/68 -f 210/468/69 212/470/69 211/469/69 -f 212/470/70 214/472/70 213/471/70 -f 214/472/71 216/474/71 215/473/71 -f 216/474/72 218/476/72 217/475/72 -f 218/476/73 220/478/73 219/477/73 -f 220/478/74 222/480/74 221/479/74 -f 222/480/75 224/482/75 223/481/76 -f 224/482/77 226/484/77 225/483/77 -f 226/484/78 228/486/78 227/485/78 -f 228/486/79 230/488/79 229/487/79 -f 230/488/80 232/490/80 231/489/80 -f 232/490/81 234/492/81 233/491/81 -f 234/492/82 236/497/82 235/493/82 -f 196/496/8 194/901/8 191/902/8 -f 191/902/8 238/903/8 196/496/8 -f 238/903/8 236/904/8 196/496/8 -f 236/904/8 234/905/8 232/906/8 -f 232/906/8 230/907/8 228/908/8 -f 228/908/8 226/909/8 224/910/8 -f 224/910/8 222/911/8 228/908/8 -f 222/911/8 220/912/8 228/908/8 -f 220/912/8 218/913/8 216/914/8 -f 216/914/8 214/915/8 212/494/8 -f 212/494/8 210/916/8 208/917/8 -f 208/917/8 206/918/8 204/495/8 -f 204/495/8 202/919/8 200/920/8 -f 200/920/8 198/921/8 204/495/8 -f 198/921/8 196/496/8 204/495/8 -f 236/904/8 232/906/8 228/908/8 -f 220/912/8 216/914/8 228/908/8 -f 216/914/8 212/494/8 228/908/8 -f 212/494/8 208/917/8 204/495/8 -f 196/496/8 236/904/8 212/494/8 -f 236/904/8 228/908/8 212/494/8 -f 236/497/83 238/499/83 237/498/83 -f 238/499/84 191/922/84 193/500/84 -f 239/501/73 539/882/73 240/502/73 -f 242/504/61 245/507/61 243/505/61 -f 245/507/64 247/509/64 246/508/64 -f 247/509/67 249/511/67 248/510/67 -f 249/511/70 251/513/70 250/512/70 -f 251/513/73 253/515/73 252/514/73 -f 253/515/77 255/520/77 254/516/77 -f 247/517/8 245/923/8 242/518/8 -f 242/518/8 257/924/8 255/519/8 -f 255/519/8 253/925/8 247/517/8 -f 253/925/8 251/926/8 247/517/8 -f 251/926/8 249/927/8 247/517/8 -f 255/520/80 257/522/80 256/521/80 -f 257/522/83 242/928/83 244/523/83 -f 256/526/2 244/929/2 248/524/2 -f 244/929/2 243/930/2 248/524/2 -f 243/930/2 246/931/2 248/524/2 -f 248/524/2 250/932/2 252/525/2 -f 252/525/2 254/933/2 256/526/2 -f 250/527/85 267/934/85 258/528/85 -f 248/529/86 258/528/86 259/530/86 -f 246/531/87 259/530/87 260/532/87 -f 260/532/88 261/535/88 244/534/88 -f 261/535/89 262/537/89 256/536/89 -f 262/537/90 263/539/90 254/538/90 -f 263/539/91 264/541/91 252/540/91 -f 264/541/92 267/934/92 250/527/92 -f 265/542/80 270/553/80 259/543/80 -f 266/545/83 265/542/83 258/544/83 -f 268/547/70 557/900/70 262/548/70 -f 269/550/73 268/935/73 261/551/73 -f 270/553/77 269/550/77 260/552/77 -f 271/554/61 266/545/61 267/546/61 -f 272/556/60 275/559/60 273/557/60 -f 275/559/61 277/561/61 276/560/61 -f 277/561/62 279/563/62 278/562/62 -f 279/563/93 281/565/93 280/564/93 -f 281/565/64 283/567/64 282/566/64 -f 283/567/65 285/569/65 284/568/65 -f 285/569/66 287/571/66 286/570/66 -f 287/571/67 289/573/67 288/572/67 -f 289/573/68 291/575/68 290/574/68 -f 291/575/69 293/577/69 292/576/69 -f 293/577/70 295/579/70 294/578/70 -f 295/579/71 297/581/71 296/580/71 -f 297/581/72 299/583/72 298/582/72 -f 299/583/73 301/585/73 300/584/73 -f 301/585/74 303/587/74 302/586/74 -f 303/587/75 305/589/75 304/588/75 -f 305/589/77 307/591/77 306/590/77 -f 307/591/78 309/593/78 308/592/78 -f 309/593/79 311/595/79 310/594/79 -f 311/595/80 313/597/80 312/596/80 -f 313/597/81 315/599/81 314/598/81 -f 315/599/82 317/604/82 316/600/82 -f 277/603/8 275/936/8 317/937/8 -f 275/936/8 272/938/8 317/937/8 -f 272/938/8 319/939/8 317/937/8 -f 317/937/8 315/940/8 313/941/8 -f 313/941/8 311/942/8 309/601/8 -f 309/601/8 307/943/8 305/944/8 -f 305/944/8 303/945/8 301/946/8 -f 301/946/8 299/947/8 297/948/8 -f 297/948/8 295/949/8 293/602/8 -f 293/602/8 291/950/8 289/951/8 -f 289/951/8 287/952/8 293/602/8 -f 287/952/8 285/953/8 293/602/8 -f 285/953/8 283/954/8 281/955/8 -f 281/955/8 279/956/8 277/603/8 -f 317/937/8 313/941/8 277/603/8 -f 313/941/8 309/601/8 277/603/8 -f 309/601/8 305/944/8 293/602/8 -f 305/944/8 301/946/8 293/602/8 -f 301/946/8 297/948/8 293/602/8 -f 285/953/8 281/955/8 293/602/8 -f 281/955/8 277/603/8 293/602/8 -f 317/604/83 319/606/83 318/605/83 -f 319/606/84 272/957/84 274/607/84 -f 318/609/2 274/958/2 273/959/2 -f 273/959/2 276/960/2 318/609/2 -f 276/960/2 278/961/2 318/609/2 -f 278/961/2 280/962/2 286/610/2 -f 280/962/2 282/963/100 286/610/2 -f 282/963/100 284/964/2 286/610/2 -f 286/610/2 288/965/101 290/966/2 -f 290/966/2 292/967/2 294/968/2 -f 294/968/2 296/969/2 298/970/2 -f 298/970/2 300/971/2 302/972/2 -f 302/972/2 304/973/2 306/974/2 -f 306/974/2 308/975/2 310/608/2 -f 310/608/2 312/976/2 314/977/101 -f 314/977/101 316/978/2 310/608/2 -f 316/978/2 318/609/2 310/608/2 -f 286/610/2 290/966/2 294/968/2 -f 294/968/2 298/970/2 286/610/2 -f 298/970/2 302/972/2 286/610/2 -f 302/972/2 306/974/2 310/608/2 -f 318/609/2 278/961/2 286/610/2 -f 302/972/2 310/608/2 286/610/2 -f 320/611/60 323/614/60 321/612/60 -f 323/614/61 325/616/61 324/615/61 -f 325/616/62 327/618/62 326/617/62 -f 327/618/63 329/620/63 328/619/63 -f 329/620/64 331/622/64 330/621/64 -f 331/622/65 333/624/65 332/623/65 -f 333/624/66 335/626/66 334/625/66 -f 335/626/67 337/628/67 336/627/67 -f 337/628/68 339/630/68 338/629/68 -f 339/630/69 341/632/69 340/631/69 -f 341/632/70 343/634/70 342/633/70 -f 343/634/71 345/636/71 344/635/71 -f 345/636/72 347/638/72 346/637/72 -f 347/638/73 349/640/73 348/639/73 -f 349/640/74 351/642/74 350/641/74 -f 351/642/75 353/644/75 352/643/75 -f 353/644/77 355/646/77 354/645/77 -f 355/646/78 357/648/78 356/647/78 -f 357/648/79 359/650/79 358/649/79 -f 359/650/80 361/652/80 360/651/80 -f 361/652/81 363/654/81 362/653/81 -f 363/654/82 365/659/82 364/655/82 -f 325/658/8 323/979/8 320/980/8 -f 320/980/8 367/981/8 365/982/8 -f 365/982/8 363/983/102 361/984/8 -f 361/984/8 359/985/8 365/982/8 -f 359/985/8 357/986/8 365/982/8 -f 357/986/8 355/987/102 353/988/8 -f 353/988/8 351/989/8 357/986/8 -f 351/989/8 349/990/8 357/986/8 -f 349/990/8 347/991/8 345/992/8 -f 345/992/8 343/993/8 341/656/8 -f 341/656/8 339/994/8 337/995/8 -f 337/995/8 335/996/8 341/656/8 -f 335/996/8 333/657/8 341/656/8 -f 333/657/8 331/997/8 329/998/8 -f 329/998/8 327/999/8 333/657/8 -f 327/999/8 325/658/8 333/657/8 -f 325/658/8 320/980/8 365/982/8 -f 349/990/8 345/992/8 357/986/8 -f 345/992/8 341/656/8 357/986/8 -f 325/658/8 365/982/8 341/656/8 -f 365/982/8 357/986/8 341/656/8 -f 365/659/83 367/661/83 366/660/83 -f 367/661/84 320/1000/84 322/662/84 -f 366/665/2 322/1001/2 321/1002/2 -f 321/1002/2 324/1003/2 366/665/2 -f 324/1003/2 326/1004/2 366/665/2 -f 326/1004/2 328/1005/100 330/1006/2 -f 330/1006/2 332/1007/101 326/1004/2 -f 332/1007/101 334/1008/2 326/1004/2 -f 334/1008/2 336/1009/101 338/1010/2 -f 338/1010/2 340/1011/2 342/1012/2 -f 342/1012/2 344/1013/2 350/663/2 -f 344/1013/2 346/1014/2 350/663/2 -f 346/1014/2 348/1015/101 350/663/2 -f 350/663/2 352/1016/101 354/1017/100 -f 354/1017/100 356/1018/2 350/663/2 -f 356/1018/2 358/664/2 350/663/2 -f 358/664/2 360/1019/101 362/1020/100 -f 362/1020/100 364/1021/2 358/664/2 -f 364/1021/2 366/665/2 358/664/2 -f 334/1008/2 338/1010/2 350/663/2 -f 338/1010/2 342/1012/2 350/663/2 -f 366/665/2 326/1004/2 350/663/2 -f 326/1004/2 334/1008/2 350/663/2 -f 368/666/60 371/669/60 369/667/60 -f 371/669/61 373/671/61 372/670/61 -f 373/671/62 375/673/62 374/672/62 -f 375/673/63 377/675/63 376/674/63 -f 377/675/64 379/677/64 378/676/64 -f 379/677/65 381/679/65 380/678/65 -f 381/679/66 383/681/66 382/680/66 -f 383/681/67 385/683/67 384/682/67 -f 385/683/68 387/685/68 386/684/68 -f 387/685/69 389/687/96 388/686/69 -f 389/687/70 391/689/70 390/688/70 -f 391/689/71 393/691/71 392/690/71 -f 393/691/72 395/693/72 394/692/72 -f 395/693/73 397/695/73 396/694/73 -f 397/695/74 399/697/74 398/696/74 -f 399/697/75 401/699/75 400/698/75 -f 401/699/77 403/701/77 402/700/77 -f 403/701/78 405/703/78 404/702/78 -f 405/703/79 407/705/79 406/704/79 -f 407/705/80 409/707/80 408/706/80 -f 409/707/81 411/709/81 410/708/81 -f 411/709/82 413/714/82 412/710/82 -f 373/713/8 371/1022/8 368/1023/8 -f 368/1023/8 415/1024/8 413/1025/8 -f 413/1025/8 411/1026/103 409/1027/8 -f 409/1027/8 407/1028/8 413/1025/8 -f 407/1028/8 405/1029/8 413/1025/8 -f 405/1029/8 403/1030/8 401/1031/8 -f 401/1031/8 399/1032/8 405/1029/8 -f 399/1032/8 397/1033/8 405/1029/8 -f 397/1033/8 395/1034/8 393/1035/8 -f 393/1035/8 391/1036/8 389/711/8 -f 389/711/8 387/1037/103 385/1038/8 -f 385/1038/8 383/1039/8 389/711/8 -f 383/1039/8 381/712/8 389/711/8 -f 381/712/8 379/1040/8 377/1041/102 -f 377/1041/102 375/1042/8 381/712/8 -f 375/1042/8 373/713/8 381/712/8 -f 373/713/8 368/1023/8 413/1025/8 -f 397/1033/8 393/1035/8 405/1029/8 -f 393/1035/8 389/711/8 405/1029/8 -f 373/713/8 413/1025/8 389/711/8 -f 413/1025/8 405/1029/8 389/711/8 -f 413/714/83 415/716/83 414/715/83 -f 415/716/84 368/1043/84 370/717/84 -f 414/720/2 370/1044/2 369/1045/2 -f 369/1045/2 372/1046/2 414/720/2 -f 372/1046/2 374/1047/2 414/720/2 -f 374/1047/2 376/1048/101 378/1049/2 -f 378/1049/2 380/1050/2 374/1047/2 -f 380/1050/2 382/1051/2 374/1047/2 -f 382/1051/2 384/1052/100 386/1053/2 -f 386/1053/2 388/1054/100 390/1055/2 -f 390/1055/2 392/1056/2 394/1057/2 -f 394/1057/2 396/1058/2 398/718/2 -f 398/718/2 400/1059/2 402/1060/2 -f 402/1060/2 404/1061/2 398/718/2 -f 404/1061/2 406/719/2 398/718/2 -f 406/719/2 408/1062/100 410/1063/101 -f 410/1063/101 412/1064/2 406/719/2 -f 412/1064/2 414/720/2 406/719/2 -f 382/1051/2 386/1053/2 390/1055/2 -f 390/1055/2 394/1057/2 382/1051/2 -f 394/1057/2 398/718/2 382/1051/2 -f 414/720/2 374/1047/2 398/718/2 -f 374/1047/2 382/1051/2 398/718/2 -f 416/721/60 419/724/60 417/722/60 -f 419/724/61 421/726/61 420/725/61 -f 421/726/62 423/728/62 422/727/62 -f 423/728/63 425/730/63 424/729/63 -f 425/730/64 427/732/64 426/731/64 -f 427/732/65 429/734/65 428/733/65 -f 429/734/66 431/736/66 430/735/66 -f 431/736/67 433/738/67 432/737/67 -f 433/738/68 435/740/68 434/739/68 -f 435/740/69 437/742/69 436/741/69 -f 437/742/70 439/744/70 438/743/70 -f 439/744/71 441/746/71 440/745/71 -f 441/746/72 443/748/72 442/747/72 -f 443/748/73 445/750/73 444/749/73 -f 445/750/74 447/752/74 446/751/74 -f 447/752/75 449/754/75 448/753/75 -f 449/754/77 451/756/77 450/755/77 -f 451/756/78 453/758/78 452/757/78 -f 453/758/79 455/760/79 454/759/79 -f 455/760/80 457/762/80 456/761/80 -f 457/762/81 459/764/81 458/763/81 -f 459/764/82 461/769/82 460/765/82 -f 421/768/8 419/1065/8 416/1066/8 -f 416/1066/8 463/1067/8 461/1068/8 -f 461/1068/8 459/1069/103 457/1070/8 -f 457/1070/8 455/1071/8 461/1068/8 -f 455/1071/8 453/1072/8 461/1068/8 -f 453/1072/8 451/1073/8 449/1074/8 -f 449/1074/8 447/1075/8 453/1072/8 -f 447/1075/8 445/1076/8 453/1072/8 -f 445/1076/8 443/1077/8 441/1078/8 -f 441/1078/8 439/1079/8 437/766/8 -f 437/766/8 435/1080/8 433/1081/8 -f 433/1081/8 431/1082/8 437/766/8 -f 431/1082/8 429/767/8 437/766/8 -f 429/767/8 427/1083/8 425/1084/8 -f 425/1084/8 423/1085/8 429/767/8 -f 423/1085/8 421/768/8 429/767/8 -f 421/768/8 416/1066/8 461/1068/8 -f 445/1076/8 441/1078/8 453/1072/8 -f 441/1078/8 437/766/8 453/1072/8 -f 421/768/8 461/1068/8 437/766/8 -f 461/1068/8 453/1072/8 437/766/8 -f 461/769/83 463/771/83 462/770/83 -f 463/771/84 416/1086/84 418/772/84 -f 462/775/2 418/1087/2 417/1088/2 -f 417/1088/2 420/1089/2 462/775/2 -f 420/1089/2 422/1090/2 462/775/2 -f 422/1090/2 424/1091/100 426/1092/101 -f 426/1092/101 428/1093/2 422/1090/2 -f 428/1093/2 430/1094/2 422/1090/2 -f 430/1094/2 432/1095/2 434/1096/2 -f 434/1096/2 436/1097/2 438/1098/2 -f 438/1098/2 440/1099/2 446/773/2 -f 440/1099/2 442/1100/2 446/773/2 -f 442/1100/2 444/1101/2 446/773/2 -f 446/773/2 448/1102/2 450/1103/2 -f 450/1103/2 452/1104/2 446/773/2 -f 452/1104/2 454/774/2 446/773/2 -f 454/774/2 456/1105/101 458/1106/2 -f 458/1106/2 460/1107/2 454/774/2 -f 460/1107/2 462/775/2 454/774/2 -f 430/1094/2 434/1096/2 446/773/2 -f 434/1096/2 438/1098/2 446/773/2 -f 462/775/2 422/1090/2 446/773/2 -f 422/1090/2 430/1094/2 446/773/2 -f 464/776/60 467/779/60 465/777/60 -f 467/779/61 469/781/61 468/780/61 -f 469/781/95 471/783/95 470/782/62 -f 471/783/63 473/785/63 472/784/63 -f 473/785/64 475/787/64 474/786/64 -f 475/787/65 477/789/65 476/788/65 -f 477/789/66 479/791/66 478/790/66 -f 479/791/67 481/793/67 480/792/67 -f 481/793/68 483/795/68 482/794/68 -f 483/795/96 485/797/96 484/796/69 -f 485/797/70 487/799/70 486/798/70 -f 487/799/71 489/801/71 488/800/71 -f 489/801/72 491/803/72 490/802/72 -f 491/803/73 493/805/73 492/804/73 -f 493/805/74 495/807/74 494/806/94 -f 495/807/75 497/809/75 496/808/76 -f 497/809/77 499/811/77 498/810/77 -f 499/811/78 501/813/78 500/812/78 -f 501/813/79 503/815/79 502/814/79 -f 503/815/80 505/817/80 504/816/80 -f 505/817/81 507/819/81 506/818/81 -f 507/819/82 509/824/82 508/820/82 -f 469/823/8 467/1108/8 464/1109/8 -f 464/1109/8 511/1110/8 469/823/8 -f 511/1110/8 509/1111/8 469/823/8 -f 509/1111/8 507/1112/8 505/1113/8 -f 505/1113/8 503/1114/8 509/1111/8 -f 503/1114/8 501/1115/8 509/1111/8 -f 501/1115/8 499/1116/8 497/1117/8 -f 497/1117/8 495/1118/8 501/1115/8 -f 495/1118/8 493/1119/8 501/1115/8 -f 493/1119/8 491/1120/8 489/1121/8 -f 489/1121/8 487/1122/8 485/821/8 -f 485/821/8 483/1123/8 481/1124/8 -f 481/1124/8 479/1125/8 485/821/8 -f 479/1125/8 477/822/8 485/821/8 -f 477/822/8 475/1126/8 473/1127/8 -f 473/1127/8 471/1128/8 477/822/8 -f 471/1128/8 469/823/8 477/822/8 -f 493/1119/8 489/1121/8 501/1115/8 -f 489/1121/8 485/821/8 501/1115/8 -f 469/823/8 509/1111/8 485/821/8 -f 509/1111/8 501/1115/8 485/821/8 -f 509/824/83 511/826/83 510/825/83 -f 511/826/84 464/1129/84 466/827/84 -f 510/830/2 466/1130/2 465/1131/2 -f 465/1131/2 468/1132/2 510/830/2 -f 468/1132/2 470/1133/2 510/830/2 -f 470/1133/2 472/1134/2 474/1135/2 -f 474/1135/2 476/1136/2 470/1133/2 -f 476/1136/2 478/1137/2 470/1133/2 -f 478/1137/2 480/1138/100 482/1139/2 -f 482/1139/2 484/1140/2 486/1141/2 -f 486/1141/2 488/1142/2 494/828/2 -f 488/1142/2 490/1143/2 494/828/2 -f 490/1143/2 492/1144/2 494/828/2 -f 494/828/2 496/1145/2 498/1146/2 -f 498/1146/2 500/1147/2 494/828/2 -f 500/1147/2 502/829/2 494/828/2 -f 502/829/2 504/1148/2 506/1149/2 -f 506/1149/2 508/1150/2 502/829/2 -f 508/1150/2 510/830/2 502/829/2 -f 478/1137/2 482/1139/2 494/828/2 -f 482/1139/2 486/1141/2 494/828/2 -f 510/830/2 470/1133/2 494/828/2 -f 470/1133/2 478/1137/2 494/828/2 -f 512/831/2 193/876/2 192/832/2 -f 241/503/2 192/832/2 195/833/2 -f 239/501/2 195/833/2 197/834/2 -f 513/835/2 197/834/2 199/836/2 -f 514/837/2 199/836/2 201/838/2 -f 515/839/2 201/838/2 203/840/2 -f 517/842/2 516/841/2 203/840/2 -f 518/844/2 517/842/2 205/843/2 -f 519/846/2 518/844/2 207/845/2 -f 520/848/2 519/846/2 209/847/2 -f 521/850/2 520/848/2 211/849/2 -f 522/852/2 521/850/2 213/851/2 -f 522/852/2 215/853/2 217/854/2 -f 523/855/2 217/854/2 219/856/2 -f 524/857/2 219/856/2 221/858/2 -f 525/859/2 221/858/2 223/860/2 -f 526/861/2 223/860/2 225/862/2 -f 527/863/2 225/862/2 227/864/2 -f 529/866/2 528/865/2 227/864/2 -f 530/868/2 529/866/2 229/867/2 -f 531/870/2 530/868/2 231/869/2 -f 532/872/2 531/870/2 233/871/2 -f 533/874/2 532/872/2 235/873/2 -f 512/831/2 533/874/2 237/875/2 -f 556/899/2 554/897/2 547/890/2 -f 554/897/2 240/502/2 544/887/2 -f 240/502/2 539/882/2 544/887/2 -f 539/882/2 542/885/2 541/884/2 -f 544/887/2 539/882/2 541/884/2 -f 542/885/2 545/888/2 555/898/2 -f 545/888/2 548/891/2 553/896/2 -f 548/891/2 551/894/2 553/896/2 -f 553/896/2 555/898/2 545/888/2 -f 555/898/2 538/881/2 542/885/2 -f 538/881/2 541/884/2 542/885/2 -f 544/887/2 547/890/2 554/897/2 -f 547/890/2 550/893/2 556/899/2 -f 550/893/2 552/895/2 556/899/2 -f 552/895/2 536/879/2 535/878/2 -f 556/899/2 552/895/2 535/878/2 -f 536/879/2 537/880/2 549/892/2 -f 537/880/2 540/883/2 546/889/2 -f 540/883/2 543/886/2 546/889/2 -f 546/889/2 549/892/2 537/880/2 -f 549/892/2 534/877/2 536/879/2 -f 527/863/64 540/883/64 537/880/64 -f 520/848/82 541/884/82 538/881/82 -f 513/835/74 542/885/74 539/882/74 -f 528/865/65 543/886/65 540/883/65 -f 521/850/83 544/887/83 541/884/83 -f 514/837/75 545/888/75 542/885/75 -f 529/866/66 546/889/66 543/886/66 -f 522/852/84 547/890/84 544/887/84 -f 515/839/77 548/891/77 545/888/77 -f 530/868/67 549/892/67 546/889/67 -f 523/855/60 550/893/60 547/890/60 -f 516/841/78 551/894/78 548/891/78 -f 531/870/68 534/877/68 549/892/68 -f 524/857/61 552/895/61 550/893/61 -f 517/842/79 553/896/79 551/894/79 -f 532/872/69 535/878/69 534/877/69 -f 525/859/62 536/879/62 552/895/62 -f 518/844/80 555/898/80 553/896/80 -f 533/874/70 556/899/70 535/878/70 -f 241/503/72 240/502/72 554/897/72 -f 526/861/93 537/880/93 536/879/93 -f 519/846/81 538/881/81 555/898/81 -f 512/831/71 554/897/71 556/899/71 -f 557/900/99 268/547/2 269/550/2 -f 269/550/2 270/553/2 557/900/99 -f 270/553/2 265/542/2 271/554/97 -f 557/900/99 270/553/2 271/554/97 -f 265/542/2 266/545/2 271/554/97 -f 271/554/97 264/541/64 263/539/98 -f 263/539/98 262/548/67 557/900/99 -f 558/1151/104 559/1152/104 560/1153/104 -f 561/1154/105 562/1155/105 563/1156/105 -f 564/1157/106 559/1158/106 565/1159/106 -f 566/1160/107 565/1159/107 567/1161/107 -f 568/1162/108 566/1163/108 567/1161/108 -f 569/1164/106 570/1165/106 571/1166/106 -f 572/1167/109 568/1162/109 573/1168/109 -f 574/1169/110 575/1170/110 576/1171/110 -f 573/1168/105 577/1172/105 572/1167/105 -f 578/1173/111 576/1174/111 577/1172/111 -f 579/1175/112 558/1176/112 575/1177/112 -f 580/1178/25 581/1179/25 582/1180/25 -f 583/1181/9 584/1182/9 585/1183/9 -f 586/1184/26 587/1185/26 580/1186/26 -f 588/1187/113 589/1188/113 590/1189/113 -f 591/1190/114 592/1191/114 589/1192/114 -f 589/1193/115 591/1194/116 593/1195/115 -f 594/1196/117 595/1197/117 592/1191/117 -f 596/1198/118 597/1199/118 598/1200/118 -f 599/1201/119 600/1202/119 601/1203/119 -f 595/1197/120 602/1204/120 603/1205/120 -f 604/1206/121 605/1207/122 593/1208/123 -f 605/1209/118 603/1210/118 602/1211/118 -f 606/1212/25 607/1213/25 608/1214/25 -f 609/1215/9 610/1216/9 611/1217/9 -f 612/1218/8 608/1219/8 610/1220/8 -f 611/1221/6 608/1222/6 607/1223/6 -f 613/1224/26 612/1225/26 609/1226/26 -f 614/1227/124 615/1228/124 616/1229/124 -f 617/1230/125 618/1231/125 619/1232/125 -f 618/1233/126 620/1234/126 619/1235/126 -f 621/1236/127 620/1237/127 622/1238/127 -f 616/1239/128 617/1240/128 614/1241/128 -f 623/1242/9 621/1243/9 624/1244/9 -f 625/1245/129 626/1246/129 615/1228/129 -f 621/1247/130 627/1248/130 628/1249/130 -f 629/1250/131 623/1251/131 626/1252/131 -f 625/1253/25 614/1254/25 617/1255/25 -f 630/1256/26 631/1257/26 632/1258/26 -f 630/1259/132 633/1260/132 634/1261/132 -f 635/1262/133 636/1263/133 631/1264/133 -f 637/1265/134 633/1266/134 638/1267/134 -f 636/1268/135 639/1269/135 640/1270/135 -f 641/1271/136 639/1272/136 642/1273/136 -f 638/1274/137 643/1275/137 637/1276/137 -f 642/1277/138 644/1278/138 641/1279/138 -f 645/1280/139 646/1281/139 647/1282/139 -f 648/1283/140 649/1284/140 646/1285/140 -f 650/1286/141 651/1287/141 652/1288/141 -f 649/1289/9 641/1290/9 644/1291/9 -f 653/1292/142 647/1293/142 654/1294/142 -f 651/1295/25 642/1296/25 643/1297/25 -f 652/1298/143 655/1299/143 650/1300/143 -f 654/1301/144 656/1302/144 653/1303/144 -f 657/1304/145 658/1305/145 656/1306/145 -f 659/1307/146 660/1308/146 658/1309/146 -f 661/1310/147 662/1311/147 663/1312/147 -f 664/1313/9 665/1314/9 666/1315/9 -f 667/1316/6 668/1317/6 669/1318/6 -f 670/1319/148 667/1320/148 669/1321/148 -f 671/1322/149 672/1323/149 673/1324/149 -f 666/1325/150 670/1326/150 674/1327/150 -f 663/1328/25 671/1329/25 675/1330/25 -f 676/1331/151 664/1332/151 677/1333/151 -f 678/1334/149 677/1335/149 679/1336/149 -f 680/1337/150 681/1338/150 682/1339/150 -f 683/1340/148 684/1341/148 685/1342/148 -f 685/1343/6 684/1344/6 686/1345/6 -f 687/1346/6 669/1318/6 668/1347/6 -f 674/1348/152 679/1349/152 666/1350/152 -f 662/1351/151 672/1352/151 688/1353/151 -f 680/1354/152 675/1355/152 671/1356/152 -f 689/1357/147 665/1358/147 664/1359/147 -f 689/1360/25 678/1361/25 674/1362/25 -f 690/1363/153 681/1364/9 691/1365/154 -f 587/1366/2 583/1367/2 581/1368/2 -f 613/1369/2 611/1370/2 607/1371/2 -f 692/1372/25 589/1373/25 592/1374/25 -f 692/1372/25 595/1375/25 693/1376/25 -f 693/1376/25 603/1377/25 694/1378/25 -f 599/1201/25 589/1379/25 695/1380/25 -f 599/1201/25 696/1381/25 604/1382/25 -f 601/1203/9 603/1210/25 696/1381/25 -f 697/1383/25 698/1384/25 699/1385/25 -f 694/1378/120 700/1386/120 693/1376/120 -f 692/1372/114 699/1385/114 695/1387/114 -f 601/1203/118 697/1388/118 694/1389/118 -f 695/1380/155 698/1390/155 599/1201/155 -f 693/1376/117 701/1391/117 692/1372/117 -f 702/1392/9 591/1393/9 593/1394/9 -f 703/1395/9 704/1396/9 594/1397/9 -f 703/1398/9 591/1190/9 705/1399/9 -f 598/1200/25 593/1394/9 605/1400/9 -f 598/1200/25 602/1211/9 596/1198/9 -f 706/1401/9 602/1402/9 704/1396/9 -f 707/1403/9 708/1404/9 709/1405/9 -f 705/1406/114 710/1407/114 703/1395/114 -f 702/1392/156 707/1408/156 705/1409/156 -f 706/1401/120 709/1405/120 596/1410/120 -f 598/1200/157 708/1411/157 702/1392/157 -f 703/1395/117 711/1412/117 706/1401/117 -f 595/1197/158 700/1413/158 701/1414/158 -f 589/1415/159 592/1416/159 701/1417/159 -f 603/1418/160 697/1419/160 700/1420/160 -f 600/1421/161 697/1422/161 603/1423/161 -f 604/1424/162 600/1425/162 696/1426/162 -f 589/1427/163 698/1428/164 600/1429/165 -f 602/1204/166 704/1430/166 711/1431/166 -f 602/1432/167 709/1433/167 597/1434/167 -f 593/1435/168 605/1436/168 597/1437/168 -f 597/1438/169 708/1439/170 579/1440/171 -f 710/1441/172 594/1442/173 579/1443/174 -f 710/1444/175 711/1445/175 704/1446/175 -f 712/1447/25 575/1177/25 558/1176/25 -f 712/1447/25 560/1448/25 713/1449/25 -f 714/1450/25 566/1451/25 715/1452/25 -f 716/1453/25 566/1451/25 717/1454/25 -f 714/1450/25 560/1448/25 564/1455/25 -f 718/1456/25 575/1177/25 719/1457/25 -f 563/1156/25 577/1458/25 561/1154/25 -f 718/1456/25 577/1458/25 576/1459/25 -f 716/1453/25 572/1460/25 563/1156/25 -f 720/1461/25 721/1462/25 562/1463/25 -f 716/1453/108 722/1464/108 715/1452/108 -f 712/1447/112 723/1465/112 719/1457/112 -f 718/1456/111 724/1466/111 561/1154/111 -f 714/1450/106 721/1467/106 713/1449/106 -f 713/1449/104 720/1468/104 712/1447/104 -f 563/1156/109 725/1469/109 716/1453/109 -f 719/1457/110 726/1470/110 718/1456/110 -f 715/1452/107 727/1471/107 714/1450/107 -f 728/1472/9 579/1175/9 729/1473/9 -f 728/1472/9 559/1474/9 730/1475/9 -f 571/1166/9 567/1476/9 565/1477/9 -f 731/1478/9 567/1476/9 732/1479/9 -f 571/1166/9 559/1474/9 569/1164/9 -f 733/1480/9 579/1175/9 574/1481/9 -f 734/1482/9 578/1483/9 573/1484/9 -f 733/1480/9 578/1483/9 735/1485/9 -f 731/1478/9 573/1484/9 568/1486/9 -f 736/1487/9 737/1488/9 738/1489/9 -f 728/1472/104 738/1490/104 569/1164/104 -f 731/1478/109 736/1491/109 734/1482/109 -f 733/1480/110 739/1492/110 729/1473/110 -f 571/1166/107 737/1493/107 732/1479/107 -f 734/1482/105 740/1494/105 735/1485/105 -f 732/1479/108 741/1495/108 731/1478/108 -f 729/1473/112 742/1496/112 728/1472/112 -f 735/1485/111 743/1497/111 733/1480/111 -f 567/1161/176 565/1159/176 570/1498/176 -f 567/1499/177 737/1500/177 741/1501/177 -f 741/1502/178 736/1503/178 573/1504/178 -f 736/1505/179 740/1506/179 578/1507/179 -f 578/1507/180 740/1506/180 743/1508/180 -f 743/1508/181 739/1509/181 579/1510/181 -f 742/1511/182 730/1512/182 579/1510/182 -f 742/1511/183 738/1513/183 559/1514/183 -f 559/1514/184 738/1513/184 570/1515/184 -f 566/1163/185 717/1516/185 725/1517/185 -f 566/1518/186 722/1519/186 727/1520/186 -f 727/1520/187 721/1521/187 560/1522/187 -f 720/1523/188 558/1524/188 560/1522/188 -f 575/1525/189 558/1524/189 720/1523/189 -f 575/1525/190 723/1526/190 726/1527/190 -f 726/1527/191 724/1528/191 577/1529/191 -f 577/1529/192 724/1528/192 562/1530/192 -f 572/1531/193 562/1530/193 725/1532/193 -f 583/1533/113 582/1534/113 581/1535/113 -f 744/1536/194 580/1537/26 745/1538/194 -f 745/1539/25 582/1180/25 590/1540/25 -f 604/1541/25 590/1540/25 589/1542/25 -f 593/1543/195 745/1544/195 604/1545/195 -f 746/1546/113 590/1189/113 582/1534/113 -f 747/1547/196 748/1548/197 749/1549/197 -f 749/1550/198 746/1551/9 747/1552/9 -f 750/1553/9 744/1554/199 751/1555/200 -f 752/1556/9 753/1557/9 754/1558/201 -f 754/1559/202 755/1560/202 756/1561/202 -f 750/1562/203 752/1563/203 585/1564/203 -f 751/1565/6 757/1566/6 750/1562/6 -f 585/1564/203 758/1567/203 747/1547/203 -f 759/1568/204 753/1569/205 751/1565/206 -f 758/1570/9 754/1571/201 748/1572/207 -f 755/1560/208 760/1573/209 756/1561/210 -f 749/1549/211 760/1573/211 761/1574/211 -f 754/1559/201 760/1573/212 748/1548/207 -f 751/1575/200 744/1576/199 755/1577/213 -f 558/1151/104 730/1578/104 559/1152/104 -f 561/1154/105 724/1466/105 562/1155/105 -f 564/1157/106 560/1579/106 559/1158/106 -f 566/1160/107 564/1157/107 565/1159/107 -f 568/1162/108 717/1516/108 566/1163/108 -f 569/1164/106 738/1490/106 570/1165/106 -f 572/1167/109 717/1516/109 568/1162/109 -f 574/1169/110 579/1580/110 575/1170/110 -f 573/1168/105 578/1173/105 577/1172/105 -f 578/1173/111 574/1581/111 576/1174/111 -f 579/1175/112 730/1475/112 558/1176/112 -f 580/1178/25 587/1582/25 581/1179/25 -f 586/1583/9 750/1584/9 584/1585/9 -f 750/1584/9 585/1586/9 584/1585/9 -f 585/1586/9 747/1587/9 583/1588/9 -f 747/1587/9 746/1589/9 583/1588/9 -f 586/1184/26 584/1590/26 587/1185/26 -f 588/1187/113 591/1591/113 589/1188/113 -f 591/1190/114 594/1196/114 592/1191/114 -f 589/1193/115 593/1195/115 604/1592/214 -f 594/1196/117 704/1430/117 595/1197/117 -f 596/1198/118 709/1593/118 597/1199/118 -f 599/1201/119 698/1390/119 600/1202/119 -f 595/1197/120 704/1430/120 602/1204/120 -f 604/1206/121 696/1594/215 605/1207/122 -f 605/1209/118 696/1381/118 603/1210/118 -f 606/1212/25 613/1595/25 607/1213/25 -f 609/1215/9 612/1596/9 610/1216/9 -f 612/1218/8 606/1597/8 608/1219/8 -f 611/1221/6 610/1598/6 608/1222/6 -f 613/1224/26 606/1599/26 612/1225/26 -f 614/1227/124 625/1245/124 615/1228/124 -f 617/1230/125 624/1600/125 618/1231/125 -f 618/1233/126 622/1601/126 620/1234/126 -f 621/1236/127 628/1602/127 620/1237/127 -f 616/1239/128 624/1603/128 617/1240/128 -f 622/1604/9 618/1605/9 624/1244/9 -f 624/1244/9 616/1606/9 615/1607/9 -f 615/1607/9 626/1608/9 623/1242/9 -f 621/1243/9 622/1604/9 624/1244/9 -f 615/1607/9 623/1242/9 624/1244/9 -f 625/1245/129 629/1609/129 626/1246/129 -f 621/1247/130 623/1610/130 627/1248/130 -f 629/1250/131 627/1611/131 623/1251/131 -f 619/1612/25 620/1613/25 617/1255/25 -f 620/1613/25 628/1614/25 617/1255/25 -f 628/1614/25 627/1615/25 617/1255/25 -f 627/1615/25 629/1616/25 625/1253/25 -f 617/1255/25 627/1615/25 625/1253/25 -f 630/1256/26 635/1617/26 631/1257/26 -f 630/1259/132 632/1618/132 633/1260/132 -f 635/1262/133 762/1619/133 636/1263/133 -f 637/1265/134 634/1620/134 633/1266/134 -f 636/1268/135 762/1621/135 639/1269/135 -f 641/1271/136 640/1622/136 639/1272/136 -f 638/1274/137 649/1623/137 643/1275/137 -f 642/1277/138 651/1624/138 644/1278/138 -f 645/1280/139 648/1625/139 646/1281/139 -f 648/1283/140 643/1626/140 649/1284/140 -f 650/1286/141 644/1627/141 651/1287/141 -f 647/1628/9 646/1629/9 650/1630/9 -f 646/1629/9 649/1289/9 644/1291/9 -f 649/1289/9 638/1631/9 641/1290/9 -f 638/1631/9 633/1632/9 641/1290/9 -f 633/1632/9 632/1633/9 631/1634/9 -f 633/1632/9 631/1634/9 636/1635/9 -f 659/1636/9 657/1637/9 655/1638/9 -f 657/1637/9 654/1639/9 655/1638/9 -f 633/1632/9 636/1635/9 640/1640/9 -f 633/1632/9 640/1640/9 641/1290/9 -f 655/1638/9 654/1639/9 647/1628/9 -f 650/1630/9 655/1638/9 647/1628/9 -f 644/1291/9 650/1630/9 646/1629/9 -f 653/1292/142 645/1641/142 647/1293/142 -f 653/1642/25 656/1643/25 660/1644/25 -f 656/1643/25 658/1645/25 660/1644/25 -f 643/1297/25 648/1646/25 651/1295/25 -f 648/1646/25 645/1647/25 652/1648/25 -f 634/1649/25 637/1650/25 642/1296/25 -f 637/1650/25 643/1297/25 642/1296/25 -f 635/1651/25 630/1652/25 634/1649/25 -f 762/1653/25 635/1651/25 634/1649/25 -f 645/1647/25 653/1642/25 660/1644/25 -f 645/1647/25 660/1644/25 652/1648/25 -f 639/1654/25 762/1653/25 634/1649/25 -f 642/1296/25 639/1654/25 634/1649/25 -f 648/1646/25 652/1648/25 651/1295/25 -f 652/1298/143 660/1655/143 655/1299/143 -f 654/1301/144 657/1656/144 656/1302/144 -f 657/1304/145 659/1657/145 658/1305/145 -f 659/1307/146 655/1658/146 660/1308/146 -f 661/1310/147 686/1659/147 662/1311/147 -f 665/1314/9 667/1660/9 666/1315/9 -f 667/1660/9 763/1661/9 666/1315/9 -f 666/1315/9 679/1662/9 664/1313/9 -f 679/1662/9 677/1663/9 664/1313/9 -f 667/1316/6 665/1664/6 668/1317/6 -f 670/1319/148 763/1665/148 667/1320/148 -f 671/1322/149 688/1666/149 672/1323/149 -f 666/1325/150 763/1667/150 670/1326/150 -f 685/1668/25 661/1669/25 675/1330/25 -f 661/1669/25 663/1328/25 675/1330/25 -f 663/1328/25 688/1670/25 671/1329/25 -f 675/1330/25 683/1671/25 685/1668/25 -f 676/1331/151 689/1672/151 664/1332/151 -f 678/1334/149 676/1673/149 677/1335/149 -f 682/1339/150 683/1674/150 675/1675/150 -f 680/1337/150 691/1676/150 681/1338/150 -f 682/1339/150 675/1675/150 680/1337/150 -f 683/1340/148 682/1677/148 684/1341/148 -f 686/1345/6 661/1678/6 685/1343/6 -f 684/1344/6 690/1679/6 686/1345/6 -f 674/1348/152 678/1680/152 679/1349/152 -f 688/1353/151 663/1681/151 662/1351/151 -f 662/1351/151 764/1682/151 672/1352/151 -f 671/1356/152 673/1683/152 680/1354/152 -f 673/1683/152 765/1684/152 680/1354/152 -f 765/1684/152 691/1685/152 680/1354/152 -f 689/1357/147 668/1686/147 665/1358/147 -f 669/1687/25 668/1688/25 674/1362/25 -f 668/1688/25 689/1360/25 674/1362/25 -f 689/1360/25 676/1689/25 678/1361/25 -f 674/1362/25 670/1690/25 669/1687/25 -f 691/1365/154 765/1691/216 662/1692/217 -f 765/1691/216 764/1693/218 662/1692/217 -f 662/1692/217 686/1694/219 691/1365/154 -f 686/1694/219 690/1363/153 691/1365/154 -f 587/1366/2 584/1695/2 583/1367/2 -f 613/1369/2 609/1696/2 611/1370/2 -f 692/1372/25 695/1387/25 589/1373/25 -f 692/1697/25 592/1191/25 595/1197/25 -f 693/1376/25 595/1375/25 603/1377/25 -f 599/1201/25 604/1382/25 589/1379/25 -f 599/1201/25 601/1203/9 696/1381/25 -f 601/1203/9 694/1389/25 603/1210/25 -f 699/1698/25 701/1414/25 700/1413/25 -f 697/1383/25 600/1699/25 698/1384/25 -f 699/1698/25 700/1413/25 697/1700/25 -f 694/1378/120 697/1383/120 700/1386/120 -f 692/1372/114 701/1391/114 699/1385/114 -f 601/1203/118 600/1202/118 697/1388/118 -f 695/1380/155 699/1701/155 698/1390/155 -f 693/1702/117 700/1413/117 701/1414/117 -f 702/1392/9 705/1409/9 591/1393/9 -f 703/1395/9 706/1401/9 704/1396/9 -f 703/1398/9 594/1196/9 591/1190/9 -f 598/1200/25 702/1392/9 593/1394/9 -f 598/1200/25 605/1400/9 602/1211/9 -f 706/1401/9 596/1410/9 602/1402/9 -f 708/1404/9 597/1703/9 709/1405/9 -f 709/1704/9 711/1431/9 707/1705/9 -f 711/1431/9 710/1706/9 707/1705/9 -f 705/1399/114 707/1705/114 710/1706/114 -f 702/1392/156 708/1411/156 707/1408/156 -f 706/1401/120 711/1412/120 709/1405/120 -f 598/1200/157 597/1199/157 708/1411/157 -f 703/1395/117 710/1407/117 711/1412/117 -f 595/1197/158 701/1414/158 592/1191/158 -f 589/1415/159 701/1417/159 699/1707/159 -f 603/1418/160 700/1420/160 595/1708/160 -f 600/1421/161 603/1423/161 696/1709/161 -f 698/1428/164 589/1427/163 699/1710/220 -f 589/1427/163 600/1429/165 604/1711/221 -f 602/1204/222 711/1431/222 709/1704/222 -f 602/1432/167 597/1434/167 605/1712/167 -f 593/1713/223 597/1438/224 579/1440/225 -f 579/1440/171 708/1439/170 707/1714/226 -f 710/1441/172 579/1443/174 707/1715/227 -f 710/1441/175 704/1716/175 594/1442/175 -f 712/1447/25 719/1457/25 575/1177/25 -f 712/1447/25 558/1176/25 560/1448/25 -f 714/1450/25 564/1455/25 566/1451/25 -f 716/1453/25 715/1452/25 566/1451/25 -f 714/1450/25 713/1449/25 560/1448/25 -f 718/1456/25 576/1459/25 575/1177/25 -f 563/1156/25 572/1460/25 577/1458/25 -f 718/1456/25 561/1154/25 577/1458/25 -f 716/1453/25 717/1454/25 572/1460/25 -f 722/1717/25 725/1517/25 562/1463/25 -f 724/1718/25 726/1719/25 723/1720/25 -f 727/1721/25 722/1717/25 721/1462/25 -f 722/1717/25 562/1463/25 721/1462/25 -f 562/1463/25 724/1718/25 720/1461/25 -f 724/1718/25 723/1720/25 720/1461/25 -f 716/1453/108 725/1469/108 722/1464/108 -f 712/1447/112 720/1468/112 723/1465/112 -f 718/1456/111 726/1470/111 724/1466/111 -f 714/1450/106 727/1471/106 721/1467/106 -f 713/1449/104 721/1467/104 720/1468/104 -f 563/1156/109 562/1155/109 725/1469/109 -f 719/1457/110 723/1465/110 726/1470/110 -f 715/1452/107 722/1464/107 727/1471/107 -f 728/1472/9 730/1475/9 579/1175/9 -f 728/1472/9 569/1164/9 559/1474/9 -f 571/1166/9 732/1479/9 567/1476/9 -f 731/1478/9 568/1486/9 567/1476/9 -f 571/1166/9 565/1477/9 559/1474/9 -f 733/1480/9 729/1473/9 579/1175/9 -f 734/1482/9 735/1485/9 578/1483/9 -f 733/1480/9 574/1481/9 578/1483/9 -f 731/1478/9 734/1482/9 573/1484/9 -f 737/1488/9 570/1498/9 738/1489/9 -f 738/1489/9 742/1722/9 736/1487/9 -f 742/1722/9 739/1723/9 740/1724/9 -f 736/1487/9 742/1722/9 740/1724/9 -f 739/1723/9 743/1725/9 740/1724/9 -f 736/1487/9 741/1726/9 737/1488/9 -f 728/1472/104 742/1496/104 738/1490/104 -f 731/1478/109 741/1495/109 736/1491/109 -f 733/1480/110 743/1497/110 739/1492/110 -f 571/1166/107 570/1165/107 737/1493/107 -f 734/1482/105 736/1491/105 740/1494/105 -f 732/1479/108 737/1493/108 741/1495/108 -f 729/1473/112 739/1492/112 742/1496/112 -f 735/1485/111 740/1494/111 743/1497/111 -f 567/1161/176 570/1498/176 737/1488/176 -f 567/1499/177 741/1501/177 568/1727/177 -f 741/1502/178 573/1504/178 568/1728/178 -f 736/1505/179 578/1507/179 573/1729/179 -f 578/1507/180 743/1508/180 574/1730/180 -f 743/1508/181 579/1510/181 574/1730/181 -f 742/1511/182 579/1510/182 739/1509/182 -f 742/1511/183 559/1514/183 730/1512/183 -f 559/1514/184 570/1515/184 565/1731/184 -f 566/1163/185 725/1517/185 722/1717/185 -f 566/1518/186 727/1520/186 564/1732/186 -f 727/1520/187 560/1522/187 564/1732/187 -f 720/1523/188 560/1522/188 721/1521/188 -f 575/1525/189 720/1523/189 723/1526/189 -f 575/1525/190 726/1527/190 576/1733/190 -f 726/1527/191 577/1529/191 576/1733/191 -f 577/1529/192 562/1530/192 572/1531/192 -f 572/1531/193 725/1532/193 717/1734/193 -f 583/1533/113 746/1546/113 582/1534/113 -f 744/1536/194 586/1735/26 580/1537/26 -f 745/1539/25 580/1178/25 582/1180/25 -f 604/1541/25 745/1539/25 590/1540/25 -f 593/1543/194 744/1736/194 745/1544/194 -f 746/1546/113 588/1187/113 590/1189/113 -f 747/1547/196 758/1567/196 748/1548/197 -f 749/1737/198 588/1738/228 746/1739/9 -f 750/1740/9 586/1741/9 744/1742/199 -f 752/1556/9 757/1743/9 753/1557/9 -f 754/1559/202 759/1568/202 755/1560/202 -f 750/1562/203 757/1566/203 752/1563/203 -f 751/1565/6 753/1569/6 757/1566/6 -f 585/1564/203 752/1563/203 758/1567/203 -f 759/1568/204 754/1559/229 753/1569/205 -f 758/1570/9 752/1744/9 754/1571/201 -f 755/1560/208 761/1574/230 760/1573/209 -f 749/1549/211 748/1548/211 760/1573/211 -f 754/1559/201 756/1561/212 760/1573/212 -f 591/1745/231 588/1746/228 761/1747/232 -f 588/1746/228 749/1748/198 761/1747/232 -f 744/1576/199 593/1749/233 755/1577/213 -f 593/1749/233 591/1745/231 761/1747/232 -f 755/1577/213 593/1749/233 761/1747/232 -f 759/1750/234 751/1575/200 755/1577/213 -f 766/1751/235 767/1752/235 768/1753/235 -f 769/1754/236 770/1755/236 767/1752/236 -f 771/1756/237 772/1757/237 770/1755/237 -f 773/1758/238 774/1759/238 772/1757/238 -f 775/1760/239 776/1761/239 774/1759/239 -f 777/1762/240 778/1763/240 776/1761/240 -f 779/1764/241 780/1765/241 778/1763/241 -f 781/1766/242 782/1767/242 780/1765/242 -f 783/1768/243 784/1769/243 782/1767/243 -f 785/1770/244 786/1771/244 784/1769/244 -f 787/1772/245 788/1773/245 786/1771/245 -f 789/1774/246 790/1775/246 788/1773/246 -f 791/1776/247 792/1777/247 790/1775/247 -f 793/1778/248 794/1779/248 792/1777/248 -f 795/1780/249 796/1781/249 794/1779/249 -f 797/1782/250 798/1783/250 796/1781/250 -f 799/1784/251 800/1785/251 798/1783/251 -f 801/1786/252 802/1787/252 800/1785/252 -f 803/1788/253 804/1789/253 802/1787/253 -f 805/1790/254 806/1791/254 804/1789/254 -f 807/1792/255 808/1793/255 806/1791/255 -f 809/1794/256 810/1795/256 808/1793/256 -f 811/1796/257 812/1797/257 810/1795/257 -f 813/1798/258 814/1799/258 812/1797/258 -f 815/1800/251 816/1801/251 817/1802/251 -f 815/1800/2 769/1803/2 766/1804/2 -f 817/1802/2 771/1805/2 769/1803/2 -f 818/1806/2 771/1805/2 819/1807/2 -f 820/1808/2 773/1809/2 818/1806/2 -f 820/1808/2 777/1810/2 775/1811/2 -f 821/1812/2 779/1813/2 777/1810/2 -f 822/1814/2 779/1813/2 823/1815/2 -f 824/1816/2 781/1817/2 822/1814/2 -f 824/1816/2 785/1818/2 783/1819/2 -f 825/1820/2 787/1821/2 785/1818/2 -f 826/1822/2 787/1821/2 827/1823/2 -f 828/1824/2 789/1825/2 826/1822/2 -f 828/1824/2 793/1826/2 791/1827/2 -f 829/1828/2 795/1829/2 793/1826/2 -f 830/1830/2 795/1829/2 831/1831/2 -f 832/1832/2 797/1833/2 830/1830/2 -f 832/1832/2 801/1834/2 799/1835/2 -f 833/1836/2 803/1837/2 801/1834/2 -f 834/1838/2 803/1837/2 835/1839/2 -f 836/1840/2 805/1841/2 834/1838/2 -f 836/1840/2 809/1842/2 807/1843/2 -f 837/1844/2 811/1845/2 809/1842/2 -f 838/1846/2 813/1847/2 811/1845/2 -f 839/1848/2 840/1849/2 813/1847/2 -f 841/1850/246 842/1851/246 843/1852/246 -f 831/1831/259 844/1853/259 830/1830/259 -f 817/1802/252 845/1854/252 819/1807/252 -f 830/1830/260 846/1855/260 832/1832/260 -f 819/1807/253 847/1856/253 818/1806/253 -f 832/1832/235 848/1857/235 833/1836/235 -f 818/1806/254 849/1858/254 820/1808/254 -f 833/1836/236 850/1859/236 835/1839/236 -f 820/1808/255 851/1860/255 821/1812/255 -f 835/1839/237 852/1861/237 834/1838/237 -f 821/1812/256 853/1862/256 823/1815/256 -f 834/1838/238 854/1863/238 836/1840/238 -f 823/1815/257 855/1864/257 822/1814/257 -f 836/1840/239 856/1865/239 837/1844/239 -f 822/1814/258 857/1866/258 824/1816/258 -f 837/1844/240 858/1867/240 838/1846/240 -f 824/1816/261 859/1868/261 825/1820/261 -f 838/1846/241 860/1869/241 839/1848/241 -f 825/1820/262 861/1870/262 827/1823/262 -f 843/1852/247 862/1871/247 863/1872/247 -f 839/1848/242 864/1873/242 865/1874/242 -f 827/1823/263 866/1875/263 826/1822/263 -f 863/1872/248 867/1876/248 868/1877/248 -f 865/1874/243 869/1878/243 870/1879/243 -f 826/1822/264 871/1880/264 828/1824/264 -f 868/1877/249 872/1881/249 873/1882/249 -f 870/1879/244 874/1883/244 875/1884/244 -f 828/1824/265 876/1885/265 829/1828/265 -f 873/1882/250 877/1886/250 815/1800/250 -f 875/1884/245 878/1887/245 841/1850/245 -f 829/1828/266 879/1888/266 831/1831/266 -f 880/1889/8 768/1890/267 767/1891/8 -f 880/1889/8 770/1892/8 881/1893/8 -f 882/1894/8 770/1892/8 772/1895/8 -f 882/1894/8 774/1896/8 883/1897/8 -f 884/1898/8 774/1896/8 776/1899/8 -f 884/1898/8 778/1900/8 885/1901/8 -f 885/1901/8 780/1902/8 886/1903/8 -f 886/1903/8 782/1904/8 887/1905/8 -f 888/1906/8 782/1904/8 784/1907/8 -f 888/1906/8 786/1908/8 889/1909/8 -f 890/1910/8 786/1908/8 788/1911/8 -f 890/1910/8 790/1912/8 891/1913/8 -f 892/1914/8 790/1912/8 792/1915/8 -f 892/1914/8 794/1916/8 893/1917/8 -f 894/1918/8 794/1916/8 796/1919/8 -f 894/1918/8 798/1920/8 895/1921/8 -f 896/1922/8 798/1920/8 800/1923/8 -f 896/1922/8 802/1924/8 897/1925/8 -f 898/1926/8 802/1924/8 804/1927/8 -f 898/1926/8 806/1928/8 899/1929/8 -f 900/1930/8 806/1928/8 808/1931/8 -f 900/1930/8 810/1932/8 901/1933/8 -f 902/1934/8 810/1932/8 812/1935/8 -f 902/1934/8 814/1936/268 903/1937/8 -f 904/1938/25 905/1939/25 906/1940/25 -f 907/1941/2 908/1942/2 905/1939/2 -f 909/1943/9 910/1944/9 908/1942/9 -f 911/1945/8 906/1946/8 910/1944/8 -f 908/1942/6 906/1947/6 905/1948/6 -f 766/1751/269 912/1949/270 913/1950/269 -f 814/1799/271 914/1951/261 915/1952/261 -f 863/1872/2 916/1953/2 843/1852/2 -f 868/1877/2 917/1954/2 863/1872/2 -f 873/1882/2 918/1955/2 868/1877/2 -f 815/1800/2 913/1956/2 919/1957/2 -f 865/1874/2 920/1958/2 914/1959/2 -f 870/1879/2 921/1960/2 920/1958/2 -f 875/1884/2 922/1961/2 921/1960/2 -f 841/1850/2 916/1953/2 922/1961/2 -f 923/1962/8 924/1963/8 925/1964/8 -f 926/1965/8 925/1964/8 927/1966/8 -f 928/1967/8 927/1966/8 929/1968/8 -f 930/1969/8 928/1967/8 929/1968/8 -f 903/1937/8 814/1936/268 915/1970/272 -f 931/1971/8 932/1972/8 933/1973/8 -f 934/1974/8 935/1975/8 931/1971/8 -f 924/1963/8 936/1976/8 934/1974/8 -f 912/1977/26 911/1945/26 909/1943/26 -f 907/1978/26 915/1979/26 914/1980/26 -f 766/1751/235 769/1754/235 767/1752/235 -f 769/1754/236 771/1756/236 770/1755/236 -f 771/1756/237 773/1758/237 772/1757/237 -f 773/1758/238 775/1760/238 774/1759/238 -f 775/1760/239 777/1762/239 776/1761/239 -f 777/1762/240 779/1764/240 778/1763/240 -f 779/1764/241 781/1766/241 780/1765/241 -f 781/1766/242 783/1768/242 782/1767/242 -f 783/1768/243 785/1770/243 784/1769/243 -f 785/1770/244 787/1772/244 786/1771/244 -f 787/1772/245 789/1774/245 788/1773/245 -f 789/1774/246 791/1776/246 790/1775/246 -f 791/1776/247 793/1778/247 792/1777/247 -f 793/1778/248 795/1780/248 794/1779/248 -f 795/1780/249 797/1782/249 796/1781/249 -f 797/1782/250 799/1784/250 798/1783/250 -f 799/1784/251 801/1786/251 800/1785/251 -f 801/1786/252 803/1788/252 802/1787/252 -f 803/1788/253 805/1790/253 804/1789/253 -f 805/1790/254 807/1792/254 806/1791/254 -f 807/1792/255 809/1794/255 808/1793/255 -f 809/1794/256 811/1796/256 810/1795/256 -f 811/1796/257 813/1798/257 812/1797/257 -f 813/1798/258 840/1981/258 814/1799/258 -f 815/1800/251 877/1886/251 816/1801/251 -f 815/1800/2 817/1802/2 769/1803/2 -f 817/1802/2 819/1807/2 771/1805/2 -f 818/1806/2 773/1809/2 771/1805/2 -f 820/1808/2 775/1811/2 773/1809/2 -f 820/1808/2 821/1812/2 777/1810/2 -f 821/1812/2 823/1815/2 779/1813/2 -f 822/1814/2 781/1817/2 779/1813/2 -f 824/1816/2 783/1819/2 781/1817/2 -f 824/1816/2 825/1820/2 785/1818/2 -f 825/1820/2 827/1823/2 787/1821/2 -f 826/1822/2 789/1825/2 787/1821/2 -f 828/1824/2 791/1827/2 789/1825/2 -f 828/1824/2 829/1828/2 793/1826/2 -f 829/1828/2 831/1831/2 795/1829/2 -f 830/1830/2 797/1833/2 795/1829/2 -f 832/1832/2 799/1835/2 797/1833/2 -f 832/1832/2 833/1836/2 801/1834/2 -f 833/1836/2 835/1839/2 803/1837/2 -f 834/1838/2 805/1841/2 803/1837/2 -f 836/1840/2 807/1843/2 805/1841/2 -f 836/1840/2 837/1844/2 809/1842/2 -f 837/1844/2 838/1846/2 811/1845/2 -f 838/1846/2 839/1848/2 813/1847/2 -f 839/1848/2 865/1874/2 840/1849/2 -f 841/1850/246 878/1887/246 842/1851/246 -f 831/1831/259 879/1888/259 844/1853/259 -f 817/1802/252 816/1801/252 845/1854/252 -f 830/1830/260 844/1853/260 846/1855/260 -f 819/1807/253 845/1854/253 847/1856/253 -f 832/1832/235 846/1855/235 848/1857/235 -f 818/1806/254 847/1856/254 849/1858/254 -f 833/1836/236 848/1857/236 850/1859/236 -f 820/1808/255 849/1858/255 851/1860/255 -f 835/1839/237 850/1859/237 852/1861/237 -f 821/1812/256 851/1860/256 853/1862/256 -f 834/1838/238 852/1861/238 854/1863/238 -f 823/1815/257 853/1862/257 855/1864/257 -f 836/1840/239 854/1863/239 856/1865/239 -f 822/1814/258 855/1864/258 857/1866/258 -f 837/1844/240 856/1865/240 858/1867/240 -f 824/1816/261 857/1866/261 859/1868/261 -f 838/1846/241 858/1867/241 860/1869/241 -f 825/1820/262 859/1868/262 861/1870/262 -f 843/1852/247 842/1851/247 862/1871/247 -f 839/1848/242 860/1869/242 864/1873/242 -f 827/1823/263 861/1870/263 866/1875/263 -f 863/1872/248 862/1871/248 867/1876/248 -f 865/1874/243 864/1873/243 869/1878/243 -f 826/1822/264 866/1875/264 871/1880/264 -f 868/1877/249 867/1876/249 872/1881/249 -f 870/1879/244 869/1878/244 874/1883/244 -f 828/1824/265 871/1880/265 876/1885/265 -f 873/1882/250 872/1881/250 877/1886/250 -f 875/1884/245 874/1883/245 878/1887/245 -f 829/1828/266 876/1885/266 879/1888/266 -f 880/1889/8 930/1969/8 768/1890/267 -f 880/1889/8 767/1891/8 770/1892/8 -f 882/1894/8 881/1893/8 770/1892/8 -f 882/1894/8 772/1895/8 774/1896/8 -f 884/1898/8 883/1897/8 774/1896/8 -f 884/1898/8 776/1899/8 778/1900/8 -f 885/1901/8 778/1900/8 780/1902/8 -f 886/1903/8 780/1902/8 782/1904/8 -f 888/1906/8 887/1905/8 782/1904/8 -f 888/1906/8 784/1907/8 786/1908/8 -f 890/1910/8 889/1909/8 786/1908/8 -f 890/1910/8 788/1911/8 790/1912/8 -f 892/1914/8 891/1913/8 790/1912/8 -f 892/1914/8 792/1915/8 794/1916/8 -f 894/1918/8 893/1917/8 794/1916/8 -f 894/1918/8 796/1919/8 798/1920/8 -f 896/1922/8 895/1921/8 798/1920/8 -f 896/1922/8 800/1923/8 802/1924/8 -f 898/1926/8 897/1925/8 802/1924/8 -f 898/1926/8 804/1927/8 806/1928/8 -f 900/1930/8 899/1929/8 806/1928/8 -f 900/1930/8 808/1931/8 810/1932/8 -f 902/1934/8 901/1933/8 810/1932/8 -f 902/1934/8 812/1935/8 814/1936/268 -f 904/1938/25 907/1941/25 905/1939/25 -f 907/1941/2 909/1943/2 908/1942/2 -f 909/1943/9 911/1945/9 910/1944/9 -f 911/1945/8 904/1982/8 906/1946/8 -f 908/1942/6 910/1944/6 906/1947/6 -f 766/1751/269 768/1753/270 912/1949/270 -f 814/1799/271 840/1981/261 914/1951/261 -f 863/1872/2 917/1954/2 916/1953/2 -f 868/1877/2 918/1955/2 917/1954/2 -f 873/1882/2 919/1957/2 918/1955/2 -f 919/1957/2 873/1882/2 815/1800/2 -f 815/1800/2 766/1804/2 913/1956/2 -f 914/1959/2 840/1849/2 865/1874/2 -f 865/1874/2 870/1879/2 920/1958/2 -f 870/1879/2 875/1884/2 921/1960/2 -f 875/1884/2 841/1850/2 922/1961/2 -f 841/1850/2 843/1852/2 916/1953/2 -f 923/1962/8 937/1983/8 924/1963/8 -f 926/1965/8 923/1962/8 925/1964/8 -f 928/1967/8 926/1965/8 927/1966/8 -f 929/1968/8 912/1984/273 930/1969/8 -f 912/1984/273 768/1890/267 930/1969/8 -f 915/1970/272 933/1973/8 903/1937/8 -f 933/1973/8 932/1972/8 903/1937/8 -f 931/1971/8 935/1975/8 932/1972/8 -f 934/1974/8 936/1976/8 935/1975/8 -f 924/1963/8 937/1983/8 936/1976/8 -f 933/1985/26 915/1979/26 904/1986/26 -f 909/1943/26 907/1978/26 916/1987/26 -f 907/1978/26 914/1980/26 920/1988/26 -f 920/1988/26 921/1989/26 907/1978/26 -f 921/1989/26 922/1990/26 907/1978/26 -f 907/1978/26 922/1990/26 916/1987/26 -f 933/1985/26 904/1986/26 931/1991/26 -f 904/1986/26 911/1945/26 924/1992/26 -f 931/1991/26 904/1986/26 934/1993/26 -f 924/1992/26 934/1993/26 904/1986/26 -f 916/1987/26 917/1994/26 909/1943/26 -f 917/1994/26 918/1995/26 909/1943/26 -f 929/1996/26 927/1997/26 911/1945/26 -f 927/1997/26 925/1998/26 911/1945/26 -f 925/1998/26 924/1992/26 911/1945/26 -f 918/1995/26 919/1999/26 909/1943/26 -f 919/1999/26 913/2000/26 909/1943/26 -f 912/1977/26 929/1996/26 911/1945/26 -f 913/2000/26 912/1977/26 909/1943/26 -f 907/1978/26 904/1986/26 915/1979/26 -f 938/2001/274 939/2002/274 940/2003/274 -f 939/2002/275 941/2004/275 940/2003/275 -f 942/2005/276 943/2006/276 941/2004/276 -f 944/2007/277 938/2008/277 943/2006/277 -f 941/2004/6 938/2009/6 940/2010/6 -f 939/2011/26 944/2007/26 942/2005/26 -f 945/2012/278 946/2013/278 947/2014/278 -f 946/2013/279 948/2015/279 947/2014/279 -f 949/2016/280 950/2017/280 948/2015/280 -f 951/2018/281 945/2019/282 950/2020/282 -f 952/2021/6 953/2022/6 954/2023/6 -f 946/2024/26 951/2025/26 949/2016/26 -f 950/2017/282 953/2026/282 955/2027/282 -f 948/2015/280 955/2027/280 952/2021/280 -f 947/2014/279 952/2021/279 954/2028/279 -f 953/2029/278 947/2014/278 954/2028/278 -f 956/2030/283 957/2031/283 958/2032/283 -f 958/2032/284 959/2033/284 960/2034/284 -f 959/2033/285 961/2035/285 960/2034/286 -f 962/2036/287 956/2037/287 961/2035/287 -f 960/2034/288 956/2038/288 958/2039/288 -f 957/2040/289 962/2036/289 959/2033/289 -f 963/2041/290 964/2042/290 965/2043/290 -f 964/2042/291 966/2044/291 965/2043/291 -f 967/2045/292 968/2046/292 966/2044/292 -f 969/2047/293 963/2048/293 968/2046/293 -f 966/2044/294 963/2049/294 965/2050/294 -f 964/2051/295 969/2047/295 967/2045/295 -f 938/2001/274 970/2052/274 939/2002/274 -f 939/2002/275 942/2005/275 941/2004/275 -f 942/2005/276 944/2007/276 943/2006/276 -f 944/2007/277 970/2053/277 938/2008/277 -f 941/2004/6 943/2006/6 938/2009/6 -f 939/2011/26 970/2054/26 944/2007/26 -f 945/2012/278 971/2055/278 946/2013/278 -f 946/2013/279 949/2016/279 948/2015/279 -f 949/2016/280 951/2025/280 950/2017/280 -f 951/2018/281 971/2056/281 945/2019/282 -f 952/2021/6 955/2027/6 953/2022/6 -f 946/2024/26 971/2057/26 951/2025/26 -f 950/2017/282 945/2058/282 953/2026/282 -f 948/2015/280 950/2017/280 955/2027/280 -f 947/2014/279 948/2015/279 952/2021/279 -f 953/2029/278 945/2012/278 947/2014/278 -f 956/2030/283 972/2059/283 957/2031/283 -f 958/2032/284 957/2031/284 959/2033/284 -f 959/2033/285 962/2036/285 961/2035/285 -f 962/2036/287 972/2060/287 956/2037/287 -f 960/2034/288 961/2035/288 956/2038/288 -f 957/2040/289 972/2061/289 962/2036/289 -f 963/2041/290 973/2062/290 964/2042/290 -f 964/2042/291 967/2045/291 966/2044/291 -f 967/2045/292 969/2047/292 968/2046/292 -f 969/2047/293 973/2063/293 963/2048/293 -f 966/2044/294 968/2046/294 963/2049/294 -f 964/2051/295 973/2064/295 969/2047/295 -o Slide_Cylinder -v 1.272063 1.594606 -0.244676 -v 1.272063 1.368420 -0.338365 -v 1.272063 1.462109 -0.564550 -v 0.647653 0.965039 -0.742828 -v 0.711569 1.012017 5.211916 -v 0.647653 0.965039 5.211916 -v 0.711569 1.012017 -0.742828 -v 0.770475 1.088305 5.211916 -v 0.770475 1.088305 -0.742828 -v 0.822106 1.190971 5.211916 -v 0.822106 1.190971 -0.742828 -v 0.864478 1.316070 5.211916 -v 0.921900 1.774713 -0.742828 -v 0.915353 1.918690 3.212208 -v 0.921900 1.774713 3.711916 -v 0.915353 1.935767 -0.742828 -v 0.895964 2.073555 3.212208 -v 0.895964 2.090632 -0.742828 -v 0.864478 2.216279 3.212208 -v 0.864478 2.233356 -0.742828 -v 0.822106 2.341378 3.212208 -v 0.822106 2.358455 -0.742828 -v 0.770475 2.444044 3.212208 -v 0.770475 2.461121 -0.742828 -v 0.711569 2.520332 3.212208 -v 0.711569 2.537409 -0.742828 -v 0.647653 2.567310 3.212208 -v 0.904673 1.528358 -0.577728 -v 1.272063 1.494584 -0.574402 -v 0.900445 1.494584 -0.574402 -v 0.896379 1.462109 -0.564550 -v 1.272063 1.432180 -0.548553 -v 0.890093 1.432180 -0.548553 -v 0.895964 1.458794 -0.562778 -v 1.272063 1.405947 -0.527024 -v 0.884306 1.405947 -0.527024 -v 1.272063 1.384418 -0.500791 -v 0.879556 1.384418 -0.500791 -v 1.272063 1.368420 -0.470861 -v 0.876027 1.368420 -0.470861 -v 1.272063 1.358569 -0.438386 -v 0.873854 1.358569 -0.438386 -v 1.272063 1.355243 -0.404613 -v 0.873120 1.355243 -0.404613 -v 0.873854 1.358569 -0.370840 -v 1.272063 1.358569 -0.370840 -v 0.876027 1.368420 -0.338365 -v 0.879556 1.384418 -0.308436 -v 1.272063 1.384418 -0.308436 -v 0.884306 1.405947 -0.282203 -v 1.272063 1.405947 -0.282203 -v 0.890093 1.432180 -0.260674 -v 1.272063 1.432180 -0.260674 -v 0.896379 1.462109 -0.244676 -v 0.895964 1.458794 -0.246449 -v 1.272063 1.462109 -0.244676 -v 0.900445 1.494585 -0.234825 -v 1.272063 1.494585 -0.234825 -v 0.904673 1.528358 -0.231499 -v 1.272063 1.528358 -0.231499 -v 0.908902 1.562131 -0.234825 -v 1.272063 1.562131 -0.234825 -v 0.912967 1.594606 -0.244676 -v 1.272063 1.624535 -0.260674 -v 0.915795 1.624535 -0.260674 -v 0.915353 1.613659 -0.254860 -v 0.916861 1.650768 -0.282203 -v 1.272063 1.650768 -0.282203 -v 0.917736 1.672297 -0.308436 -v 1.272063 1.672297 -0.308436 -v 0.918387 1.688295 -0.338366 -v 1.272063 1.688295 -0.338366 -v 0.918787 1.698146 -0.370841 -v 1.272063 1.698146 -0.370841 -v 0.918922 1.701472 -0.404613 -v 1.272063 1.698146 -0.438387 -v 0.918787 1.698146 -0.438387 -v 1.272063 1.688294 -0.470862 -v 0.918387 1.688294 -0.470862 -v 1.272063 1.672297 -0.500791 -v 0.917736 1.672297 -0.500791 -v 1.272063 1.650768 -0.527024 -v 0.916861 1.650768 -0.527024 -v 1.272063 1.624535 -0.548553 -v 0.915795 1.624535 -0.548553 -v 1.272063 1.594605 -0.564551 -v 0.912967 1.594605 -0.564551 -v 0.915353 1.613659 -0.554366 -v 1.272063 1.562130 -0.574402 -v 0.908902 1.562130 -0.574402 -v 1.272063 1.528358 -0.577728 -v 0.864478 1.316070 -0.742828 -v 0.895964 1.458794 5.211916 -v 0.915353 1.613659 -0.742828 -v 1.272063 1.701472 -0.404613 -v 0.647653 2.584387 -0.742828 -v 0.895964 1.458794 -0.742828 -v 0.915353 1.613659 5.211916 -v 0.581182 0.949177 5.211916 -v 0.581182 0.949177 -0.742828 -v 0.581182 2.583172 3.212208 -v 0.581182 2.600249 -0.742828 +f 5/1/2 6/2/2 7/3/2 +f 6/2/7 8/6/7 7/3/7 +f 8/6/8 9/5/8 10/7/8 +f 7/3/6 10/8/6 5/9/6 +f 5/4/9 6/2/9 9/5/9 +f 10/6/10 11/10/11 12/7/12 +f 3/4/13 9/5/13 6/2/13 +f 2/2/14 11/6/14 3/3/14 +f 12/7/15 11/6/15 4/5/15 +f 13/11/16 12/8/16 1/9/16 +f 6/2/17 1/12/1 3/1/3 +f 10/6/18 12/8/19 13/13/20 +f 12/14/21 13/15/22 11/16/23 +f 14/1/2 15/2/2 16/3/2 +f 15/2/24 17/6/24 16/3/24 +f 17/6/8 18/5/8 19/7/8 +f 14/9/25 17/6/25 19/8/25 +f 14/4/26 18/5/26 15/2/26 +f 20/1/2 21/2/2 22/3/2 +f 21/2/27 23/6/27 22/3/27 +f 23/6/8 24/5/8 25/7/8 +f 22/3/26 25/8/26 20/9/26 +f 20/4/9 24/5/9 21/2/9 +f 26/1/1 27/2/2 28/3/3 +f 26/4/4 29/5/5 27/2/6 +f 30/1/2 31/2/2 32/3/2 +f 31/2/7 33/6/7 32/3/7 +f 33/6/8 34/5/8 35/7/8 +f 32/3/6 35/8/6 30/9/6 +f 30/4/9 31/2/9 34/5/9 +f 35/6/10 36/10/11 37/7/12 +f 28/4/13 34/5/13 31/2/13 +f 27/2/14 36/6/14 28/3/14 +f 37/7/15 36/6/15 29/5/15 +f 38/11/16 37/8/16 26/9/16 +f 31/2/17 26/12/1 28/1/3 +f 35/6/18 37/8/28 38/13/29 +f 37/14/30 38/15/31 36/16/32 +f 39/1/1 40/2/2 41/3/3 +f 39/4/4 42/5/5 40/2/6 +f 43/1/2 44/2/2 45/3/2 +f 44/2/7 46/6/7 45/3/7 +f 46/6/8 47/5/8 48/7/8 +f 45/3/6 48/8/6 43/9/6 +f 43/4/9 44/2/9 47/5/9 +f 48/6/10 49/10/11 50/7/12 +f 41/4/13 47/5/13 44/2/13 +f 40/2/14 49/6/14 41/3/14 +f 50/7/15 49/6/15 42/5/15 +f 51/11/16 50/8/16 39/9/16 +f 44/2/17 39/12/1 41/1/3 +f 48/6/33 50/8/34 51/13/29 +f 50/14/30 51/15/31 49/16/32 +f 52/1/1 53/2/2 54/3/3 +f 52/4/4 55/5/5 53/2/6 +f 56/1/2 57/2/2 58/3/2 +f 57/2/7 59/6/7 58/3/7 +f 59/6/8 60/5/8 61/7/8 +f 58/3/6 61/8/6 56/9/6 +f 56/4/9 57/2/9 60/5/9 +f 61/6/10 62/10/11 63/7/12 +f 54/4/13 60/5/13 57/2/13 +f 53/2/14 62/6/14 54/3/14 +f 63/7/15 62/6/15 55/5/15 +f 64/11/16 63/8/16 52/9/16 +f 57/2/17 52/12/1 54/1/3 +f 61/6/18 63/8/28 64/13/29 +f 63/14/35 64/15/36 62/16/37 +f 65/1/1 66/2/2 67/3/3 +f 65/4/4 68/5/5 66/2/6 +f 69/1/2 70/2/2 71/3/2 +f 70/2/7 72/6/7 71/3/7 +f 72/6/8 73/5/8 74/7/8 +f 71/3/6 74/8/6 69/9/6 +f 69/4/9 70/2/9 73/5/9 +f 74/6/10 75/10/11 76/7/12 +f 67/4/13 73/5/13 70/2/13 +f 66/2/14 75/6/14 67/3/14 +f 76/7/15 75/6/15 68/5/15 +f 77/11/16 76/8/16 65/9/16 +f 70/2/17 65/12/1 67/1/3 +f 74/6/18 76/8/28 77/13/29 +f 76/14/35 77/15/36 75/16/37 +f 78/1/1 79/2/2 80/3/3 +f 78/4/4 81/5/5 79/2/6 +f 82/1/2 83/2/2 84/3/2 +f 83/2/7 85/6/7 84/3/7 +f 85/6/8 86/5/8 87/7/8 +f 84/3/6 87/8/6 82/9/6 +f 82/4/9 83/2/9 86/5/9 +f 87/6/10 88/10/11 89/7/12 +f 80/4/13 86/5/13 83/2/13 +f 79/2/14 88/6/14 80/3/14 +f 89/7/15 88/6/15 81/5/15 +f 90/11/38 89/8/38 78/9/38 +f 83/2/17 78/12/1 80/1/3 +f 87/6/18 89/8/19 90/13/20 +f 89/14/39 90/15/39 88/16/39 +f 91/1/1 92/2/2 93/3/3 +f 91/4/4 94/5/5 92/2/6 +f 95/1/2 96/2/2 97/3/2 +f 96/2/7 98/6/7 97/3/7 +f 98/6/8 99/5/8 100/7/8 +f 97/3/6 100/8/6 95/9/6 +f 95/4/9 96/2/9 99/5/9 +f 100/6/10 101/10/11 102/7/12 +f 93/4/13 99/5/13 96/2/13 +f 92/2/14 101/6/14 93/3/14 +f 102/7/15 101/6/15 94/5/15 +f 103/11/16 102/8/16 91/9/16 +f 96/2/17 91/12/1 93/1/3 +f 100/6/18 102/8/28 103/13/29 +f 102/14/40 103/15/41 101/16/42 +f 104/1/1 105/2/2 106/3/3 +f 104/4/4 107/5/5 105/2/6 +f 108/1/2 109/2/2 110/3/2 +f 109/2/7 111/6/7 110/3/7 +f 111/6/8 112/5/8 113/7/8 +f 110/3/6 113/8/6 108/9/6 +f 108/4/9 109/2/9 112/5/9 +f 113/6/10 114/10/11 115/7/12 +f 106/4/13 112/5/13 109/2/13 +f 105/2/14 114/6/14 106/3/14 +f 115/7/15 114/6/15 107/5/15 +f 116/11/16 115/8/16 104/9/16 +f 109/2/17 104/12/1 106/1/3 +f 113/6/33 115/8/28 116/13/29 +f 115/14/35 116/15/35 114/16/35 +f 117/1/1 118/2/2 119/3/3 +f 117/4/4 120/5/5 118/2/6 +f 121/1/2 122/2/2 123/3/2 +f 122/2/7 124/6/7 123/3/7 +f 124/6/8 125/5/8 126/7/8 +f 123/3/6 126/8/6 121/9/6 +f 121/4/9 122/2/9 125/5/9 +f 126/6/10 127/10/11 128/7/12 +f 119/4/13 125/5/13 122/2/13 +f 118/2/14 127/6/14 119/3/14 +f 128/7/15 127/6/15 120/5/15 +f 129/11/16 128/8/16 117/9/16 +f 122/2/17 117/12/1 119/1/3 +f 126/6/18 128/8/19 129/13/43 +f 128/14/44 127/16/44 129/15/44 +f 130/1/1 131/2/2 132/3/3 +f 130/4/4 133/5/5 131/2/6 +f 134/1/2 135/2/2 136/3/2 +f 135/2/7 137/6/7 136/3/7 +f 137/6/8 138/5/8 139/7/8 +f 136/3/6 139/8/6 134/9/6 +f 134/4/9 135/2/9 138/5/9 +f 139/6/10 140/10/11 141/7/12 +f 132/4/13 138/5/13 135/2/13 +f 131/2/14 140/6/14 132/3/14 +f 141/7/15 140/6/15 133/5/15 +f 142/11/38 141/8/38 130/9/38 +f 135/2/17 130/12/1 132/1/3 +f 139/6/18 141/8/45 142/13/20 +f 141/14/46 140/16/46 142/15/46 +f 143/1/1 144/2/2 145/3/3 +f 143/4/4 146/5/5 144/2/6 +f 147/1/2 148/2/2 149/3/2 +f 148/2/7 150/6/7 149/3/7 +f 150/6/8 151/5/8 152/7/8 +f 149/3/6 152/8/6 147/9/6 +f 147/4/9 148/2/9 151/5/9 +f 152/6/10 153/10/11 154/7/12 +f 145/4/13 151/5/13 148/2/13 +f 144/2/14 153/6/14 145/3/14 +f 154/7/15 153/6/15 146/5/15 +f 155/11/16 154/8/16 143/9/16 +f 148/2/17 143/12/1 145/1/3 +f 152/6/18 154/8/47 155/13/48 +f 154/14/49 153/16/49 155/15/49 +f 156/1/1 157/2/2 158/3/3 +f 156/4/4 159/5/5 157/2/6 +f 160/1/2 161/2/2 162/3/2 +f 161/2/7 163/6/7 162/3/7 +f 163/6/8 164/5/8 165/7/8 +f 162/3/6 165/8/6 160/9/6 +f 160/4/9 161/2/9 164/5/9 +f 165/6/10 166/10/11 167/7/12 +f 158/4/13 164/5/13 161/2/13 +f 157/2/14 166/6/14 158/3/14 +f 167/7/15 166/6/15 159/5/15 +f 168/11/50 167/8/50 156/9/50 +f 161/2/17 156/12/1 158/1/3 +f 165/6/33 167/8/19 168/13/29 +f 167/14/44 166/16/44 168/15/44 +f 1/4/4 12/17/51 4/5/5 +f 6/2/7 9/5/7 8/6/7 +f 7/3/6 8/6/6 10/8/6 +f 5/4/9 9/5/9 10/17/9 +f 10/6/10 9/5/52 11/10/11 +f 3/4/13 11/17/13 9/5/13 +f 2/2/14 4/5/14 11/6/14 +f 6/2/17 5/3/17 1/12/1 +f 13/13/20 1/9/53 10/6/18 +f 1/9/53 5/3/53 10/6/54 +f 15/2/24 18/5/24 17/6/24 +f 14/9/25 16/3/25 17/6/25 +f 14/4/26 19/17/26 18/5/26 +f 21/2/27 24/5/27 23/6/27 +f 22/3/26 23/6/26 25/8/26 +f 20/4/9 25/17/9 24/5/9 +f 26/4/4 37/17/51 29/5/5 +f 31/2/7 34/5/7 33/6/7 +f 32/3/6 33/6/6 35/8/6 +f 30/4/9 34/5/9 35/17/9 +f 35/6/10 34/5/52 36/10/11 +f 28/4/13 36/17/13 34/5/13 +f 27/2/14 29/5/14 36/6/14 +f 31/2/17 30/3/17 26/12/1 +f 38/13/29 26/9/53 35/6/18 +f 26/9/53 30/3/53 35/6/54 +f 39/4/4 50/17/51 42/5/5 +f 44/2/7 47/5/7 46/6/7 +f 45/3/6 46/6/6 48/8/6 +f 43/4/9 47/5/9 48/17/9 +f 48/6/10 47/5/52 49/10/11 +f 41/4/13 49/17/13 47/5/13 +f 40/2/14 42/5/14 49/6/14 +f 44/2/17 43/3/17 39/12/1 +f 51/13/29 39/9/53 48/6/33 +f 39/9/53 43/3/53 48/6/54 +f 52/4/4 63/17/51 55/5/5 +f 57/2/7 60/5/7 59/6/7 +f 58/3/6 59/6/6 61/8/6 +f 56/4/9 60/5/9 61/17/9 +f 61/6/10 60/5/52 62/10/11 +f 54/4/13 62/17/13 60/5/13 +f 53/2/14 55/5/14 62/6/14 +f 57/2/17 56/3/17 52/12/1 +f 64/13/29 52/9/53 61/6/18 +f 52/9/53 56/3/53 61/6/54 +f 65/4/4 76/17/51 68/5/5 +f 70/2/7 73/5/7 72/6/7 +f 71/3/6 72/6/6 74/8/6 +f 69/4/9 73/5/9 74/17/9 +f 74/6/10 73/5/52 75/10/11 +f 67/4/13 75/17/13 73/5/13 +f 66/2/14 68/5/14 75/6/14 +f 70/2/17 69/3/17 65/12/1 +f 77/13/29 65/9/53 74/6/18 +f 65/9/53 69/3/53 74/6/55 +f 78/4/4 89/17/51 81/5/5 +f 83/2/7 86/5/7 85/6/7 +f 84/3/6 85/6/6 87/8/6 +f 82/4/9 86/5/9 87/17/9 +f 87/6/10 86/5/52 88/10/11 +f 80/4/13 88/17/13 86/5/13 +f 79/2/14 81/5/14 88/6/14 +f 83/2/17 82/3/17 78/12/1 +f 90/13/20 78/9/53 87/6/18 +f 78/9/53 82/3/53 87/6/54 +f 91/4/4 102/17/51 94/5/5 +f 96/2/7 99/5/7 98/6/7 +f 97/3/6 98/6/6 100/8/6 +f 95/4/9 99/5/9 100/17/9 +f 100/6/10 99/5/52 101/10/11 +f 93/4/13 101/17/13 99/5/13 +f 92/2/14 94/5/14 101/6/14 +f 96/2/17 95/3/17 91/12/1 +f 103/13/29 91/9/53 100/6/18 +f 91/9/53 95/3/53 100/6/54 +f 104/4/4 115/17/51 107/5/5 +f 109/2/7 112/5/7 111/6/7 +f 110/3/6 111/6/6 113/8/6 +f 108/4/9 112/5/9 113/17/9 +f 113/6/10 112/5/52 114/10/11 +f 106/4/13 114/17/13 112/5/13 +f 105/2/14 107/5/14 114/6/14 +f 109/2/17 108/3/17 104/12/1 +f 116/13/29 104/9/53 113/6/33 +f 104/9/53 108/3/53 113/6/54 +f 117/4/4 128/17/51 120/5/5 +f 122/2/7 125/5/7 124/6/7 +f 123/3/6 124/6/6 126/8/6 +f 121/4/9 125/5/9 126/17/9 +f 126/6/10 125/5/52 127/10/11 +f 119/4/13 127/17/13 125/5/13 +f 118/2/14 120/5/14 127/6/14 +f 122/2/17 121/3/17 117/12/1 +f 129/13/43 117/9/53 126/6/18 +f 117/9/53 121/3/53 126/6/54 +f 130/4/4 141/17/51 133/5/5 +f 135/2/7 138/5/7 137/6/7 +f 136/3/6 137/6/6 139/8/6 +f 134/4/9 138/5/9 139/17/9 +f 139/6/10 138/5/52 140/10/11 +f 132/4/13 140/17/13 138/5/13 +f 131/2/14 133/5/14 140/6/14 +f 135/2/17 134/3/17 130/12/1 +f 142/13/20 130/9/53 139/6/18 +f 130/9/53 134/3/53 139/6/55 +f 143/4/4 154/17/51 146/5/5 +f 148/2/7 151/5/7 150/6/7 +f 149/3/6 150/6/6 152/8/6 +f 147/4/9 151/5/9 152/17/9 +f 152/6/10 151/5/52 153/10/11 +f 145/4/13 153/17/13 151/5/13 +f 144/2/14 146/5/14 153/6/14 +f 148/2/17 147/3/17 143/12/1 +f 155/13/48 143/9/53 152/6/18 +f 143/9/53 147/3/53 152/6/54 +f 156/4/4 167/17/51 159/5/5 +f 161/2/7 164/5/7 163/6/7 +f 162/3/6 163/6/6 165/8/6 +f 160/4/9 164/5/9 165/17/9 +f 165/6/10 164/5/52 166/10/11 +f 158/4/13 166/17/13 164/5/13 +f 157/2/14 159/5/14 166/6/14 +f 161/2/17 160/3/17 156/12/1 +f 168/13/29 156/9/53 165/6/33 +f 156/9/53 160/3/53 165/6/54 +f 169/18/2 170/19/2 171/20/2 +f 172/21/56 171/22/56 173/23/56 +f 174/24/57 175/25/57 171/22/57 +f 176/26/58 177/27/58 175/25/58 +f 178/28/59 179/29/59 177/27/59 +f 180/30/60 181/31/60 179/29/60 +f 182/32/61 183/33/61 181/31/61 +f 184/34/62 185/35/62 183/33/62 +f 186/36/63 187/37/63 185/35/63 +f 188/38/64 169/39/64 187/37/64 +f 189/40/65 170/41/65 169/39/65 +f 170/19/26 172/42/26 173/43/26 +f 178/44/8 176/45/8 186/46/8 +f 170/19/2 173/43/2 171/20/2 +f 171/20/2 175/47/2 187/48/2 +f 175/47/2 177/49/2 185/50/2 +f 177/49/2 179/51/2 185/50/2 +f 179/51/2 181/52/2 183/53/2 +f 185/50/2 179/51/2 183/53/2 +f 185/50/2 187/48/2 175/47/2 +f 187/48/2 169/18/2 171/20/2 +f 172/21/56 174/24/56 171/22/56 +f 174/24/57 176/26/57 175/25/57 +f 176/26/58 178/28/58 177/27/58 +f 178/28/59 180/30/59 179/29/59 +f 180/30/60 182/32/60 181/31/60 +f 182/32/61 184/34/61 183/33/61 +f 184/34/62 186/36/62 185/35/62 +f 186/36/63 188/38/63 187/37/63 +f 188/38/64 189/40/64 169/39/64 +f 189/40/65 190/54/65 170/41/65 +f 170/19/26 190/55/26 172/42/26 +f 176/45/8 174/56/8 189/57/8 +f 174/56/8 172/42/8 189/57/8 +f 172/42/8 190/55/8 189/57/8 +f 189/57/8 188/58/8 176/45/8 +f 188/58/8 186/46/8 176/45/8 +f 186/46/8 184/59/8 178/44/8 +f 184/59/8 182/60/8 180/61/8 +f 178/44/8 184/59/8 180/61/8 +f 191/62/66 192/63/66 193/64/66 +f 194/65/67 195/66/67 192/63/67 +f 196/67/68 197/68/68 195/66/68 +f 198/69/69 199/70/70 197/68/70 +f 200/71/71 201/72/71 199/70/71 +f 202/73/72 203/74/72 201/72/72 +f 204/75/73 205/76/73 203/74/73 +f 206/77/74 207/78/74 205/76/74 +f 208/79/75 209/80/75 207/78/75 +f 210/81/76 211/82/76 209/80/76 +f 212/83/77 213/84/77 211/82/77 +f 214/85/78 215/86/78 213/84/78 +f 216/87/79 217/88/79 215/86/79 +f 218/89/80 219/90/80 217/88/80 +f 220/91/81 221/92/81 219/90/81 +f 222/93/82 223/94/82 221/92/82 +f 224/95/83 225/96/83 223/94/83 +f 226/97/84 227/98/84 225/96/84 +f 228/99/85 229/100/85 227/98/85 +f 230/101/86 231/102/86 229/100/86 +f 232/103/87 233/104/87 231/102/87 +f 234/105/88 235/106/88 233/104/88 +f 212/107/8 204/108/8 196/109/8 +f 236/110/89 237/111/89 235/106/89 +f 238/112/90 193/113/90 237/111/90 +f 239/114/80 240/115/80 241/115/80 +f 242/116/67 243/117/67 244/118/67 +f 245/119/71 246/120/71 243/117/71 +f 247/121/74 248/122/74 246/120/74 +f 249/123/77 250/124/77 248/122/77 +f 251/125/80 252/126/80 250/124/80 +f 253/127/83 254/128/83 252/126/83 +f 247/108/8 242/129/8 255/130/8 +f 255/131/86 256/132/86 254/128/86 +f 257/133/89 244/134/89 256/132/89 +f 248/135/2 252/136/2 256/137/2 +f 250/129/91 258/138/91 248/139/91 +f 248/139/92 259/140/92 246/108/92 +f 246/108/93 260/141/93 243/142/93 +f 260/141/94 244/143/94 243/142/94 +f 261/144/95 256/145/95 244/143/95 +f 262/146/96 254/130/96 256/145/96 +f 263/147/97 252/148/97 254/130/97 +f 264/149/98 250/129/98 252/148/98 +f 265/123/86 259/150/86 258/151/86 +f 266/125/89 258/151/89 267/152/89 +f 268/153/77 262/154/77 261/155/77 +f 269/119/80 261/156/80 260/157/80 +f 270/121/83 260/157/83 259/150/83 +f 271/127/67 267/152/67 264/158/67 +f 272/116/66 273/159/66 274/118/66 +f 275/160/67 276/161/67 273/159/67 +f 277/162/68 278/117/68 276/161/68 +f 279/119/69 280/163/69 278/117/69 +f 281/164/71 282/165/71 280/163/71 +f 283/166/72 284/120/72 282/165/72 +f 285/121/73 286/167/73 284/120/73 +f 287/168/74 288/169/74 286/167/74 +f 289/170/75 290/122/75 288/169/75 +f 291/123/76 292/171/76 290/122/76 +f 293/172/77 294/173/77 292/171/77 +f 295/174/78 296/124/78 294/173/78 +f 297/125/79 298/175/79 296/124/79 +f 299/176/80 300/177/80 298/175/80 +f 301/178/81 302/126/81 300/177/81 +f 303/127/82 304/179/82 302/126/82 +f 305/180/83 306/181/83 304/179/83 +f 307/182/84 308/128/84 306/181/84 +f 309/131/85 310/183/85 308/128/85 +f 311/184/86 312/185/86 310/183/86 +f 313/186/87 314/132/87 312/185/87 +f 315/133/88 316/187/88 314/132/88 +f 309/130/8 293/107/8 277/109/8 +f 317/188/89 318/189/89 316/187/89 +f 319/190/90 274/134/90 318/189/90 +f 310/191/2 318/192/2 286/193/2 +f 320/62/66 321/63/66 322/64/66 +f 323/65/67 324/66/67 321/63/67 +f 325/67/68 326/68/68 324/66/68 +f 327/69/70 328/70/70 326/68/70 +f 329/71/71 330/72/71 328/70/71 +f 331/73/72 332/74/72 330/72/72 +f 333/75/73 334/76/73 332/74/73 +f 335/77/74 336/78/74 334/76/74 +f 337/79/75 338/80/75 336/78/75 +f 339/81/76 340/82/76 338/80/76 +f 341/83/77 342/84/77 340/82/77 +f 343/85/78 344/86/78 342/84/78 +f 345/87/79 346/88/79 344/86/79 +f 347/89/80 348/90/80 346/88/80 +f 349/91/81 350/92/81 348/90/99 +f 351/93/82 352/94/100 350/92/100 +f 353/95/83 354/96/83 352/94/83 +f 355/97/84 356/98/84 354/96/84 +f 357/99/85 358/100/85 356/98/85 +f 359/101/86 360/102/86 358/100/86 +f 361/103/87 362/104/87 360/102/87 +f 363/105/88 364/106/88 362/104/88 +f 341/107/8 333/108/8 325/109/8 +f 365/110/89 366/111/89 364/106/89 +f 367/112/90 322/113/90 366/111/90 +f 350/136/2 358/191/2 366/192/2 +f 368/116/66 369/159/66 370/118/66 +f 371/160/67 372/161/67 369/159/67 +f 373/162/68 374/117/68 372/161/68 +f 375/119/70 376/163/70 374/117/70 +f 377/164/71 378/165/71 376/163/71 +f 379/166/72 380/120/72 378/165/72 +f 381/121/73 382/167/73 380/120/73 +f 383/168/74 384/169/74 382/167/74 +f 385/170/75 386/122/75 384/169/75 +f 387/123/76 388/171/76 386/122/76 +f 389/172/77 390/173/77 388/171/77 +f 391/174/78 392/124/78 390/173/78 +f 393/125/79 394/175/79 392/124/79 +f 395/176/80 396/177/80 394/175/80 +f 397/178/81 398/126/81 396/177/81 +f 399/127/82 400/179/82 398/126/100 +f 401/180/83 402/181/83 400/179/83 +f 403/182/84 404/128/84 402/181/84 +f 405/131/85 406/183/85 404/128/85 +f 407/184/86 408/185/86 406/183/86 +f 409/186/87 410/132/87 408/185/87 +f 411/133/88 412/187/88 410/132/88 +f 389/107/8 381/108/8 373/109/8 +f 413/188/89 414/189/89 412/187/89 +f 415/190/90 370/134/90 414/189/90 +f 398/136/2 406/191/2 414/192/2 +f 416/116/66 417/159/66 418/118/66 +f 419/160/67 420/161/67 417/159/67 +f 421/162/68 422/117/68 420/161/68 +f 423/119/70 424/163/70 422/117/69 +f 425/164/71 426/165/71 424/163/71 +f 427/166/72 428/120/72 426/165/72 +f 429/121/73 430/167/73 428/120/73 +f 431/168/74 432/169/74 430/167/74 +f 433/170/75 434/122/75 432/169/75 +f 435/123/76 436/171/76 434/122/76 +f 437/172/77 438/173/77 436/171/77 +f 439/174/78 440/124/78 438/173/78 +f 441/125/79 442/175/79 440/124/79 +f 443/176/80 444/177/80 442/175/80 +f 445/178/81 446/126/81 444/177/81 +f 447/127/100 448/179/100 446/126/82 +f 449/180/83 450/181/83 448/179/83 +f 451/182/84 452/128/84 450/181/84 +f 453/131/85 454/183/85 452/128/85 +f 455/184/86 456/185/86 454/183/86 +f 457/186/87 458/132/87 456/185/87 +f 459/133/88 460/187/88 458/132/88 +f 437/107/8 429/108/8 421/109/8 +f 461/188/89 462/189/89 460/187/89 +f 463/190/90 418/134/90 462/189/90 +f 446/136/2 454/191/2 462/192/2 +f 464/62/66 465/63/66 466/64/66 +f 467/65/67 468/66/67 465/63/67 +f 469/67/101 470/68/68 468/66/68 +f 471/69/70 472/70/70 470/68/70 +f 473/71/71 474/72/71 472/70/71 +f 475/73/72 476/74/72 474/72/72 +f 477/75/73 478/76/73 476/74/73 +f 479/77/74 480/78/74 478/76/74 +f 481/79/75 482/80/75 480/78/75 +f 483/81/102 484/82/76 482/80/76 +f 485/83/77 486/84/77 484/82/77 +f 487/85/78 488/86/78 486/84/78 +f 489/87/79 490/88/79 488/86/79 +f 491/89/80 492/90/80 490/88/80 +f 493/91/81 494/92/81 492/90/81 +f 495/93/82 496/94/100 494/92/100 +f 497/95/83 498/96/83 496/94/83 +f 499/97/84 500/98/84 498/96/84 +f 501/99/85 502/100/85 500/98/85 +f 503/101/86 504/102/86 502/100/86 +f 505/103/87 506/104/87 504/102/87 +f 507/105/88 508/106/88 506/104/88 +f 485/107/8 477/108/8 469/109/8 +f 509/110/89 510/111/89 508/106/89 +f 511/112/90 466/113/90 510/111/90 +f 494/136/2 502/191/2 510/192/2 +f 512/194/2 192/195/2 241/115/2 +f 241/115/2 195/196/2 239/114/2 +f 239/114/2 197/197/2 513/198/2 +f 513/198/2 199/199/2 514/200/2 +f 514/200/2 201/201/2 515/202/2 +f 515/202/2 203/203/2 516/204/2 +f 517/205/2 203/203/2 205/193/2 +f 518/206/2 205/193/2 207/207/2 +f 519/208/2 207/207/2 209/135/2 +f 520/209/2 209/135/2 211/210/2 +f 521/211/2 211/210/2 213/212/2 +f 522/213/2 213/212/2 215/214/2 +f 522/213/2 217/215/2 523/216/2 +f 523/216/2 219/217/2 524/218/2 +f 524/218/2 221/136/2 525/219/2 +f 525/219/2 223/220/2 526/221/2 +f 526/221/2 225/222/2 527/223/2 +f 527/223/2 227/224/2 528/225/2 +f 529/226/2 227/224/2 229/191/2 +f 530/227/2 229/191/2 231/228/2 +f 531/229/2 231/228/2 233/137/2 +f 532/230/2 233/137/2 235/231/2 +f 533/232/2 235/231/2 237/192/2 +f 512/194/2 237/192/2 193/233/2 +f 534/229/2 535/230/2 536/219/2 +f 527/223/71 537/221/71 526/221/71 +f 520/209/88 538/208/88 519/208/88 +f 513/198/81 539/114/81 239/114/81 +f 528/225/72 540/223/72 527/223/72 +f 521/211/89 541/209/89 520/209/89 +f 514/200/82 542/198/82 513/198/82 +f 529/226/73 543/225/73 528/225/73 +f 522/213/90 544/211/90 521/211/90 +f 515/202/83 545/200/83 514/200/83 +f 530/227/74 546/226/74 529/226/74 +f 523/216/66 547/213/66 522/213/66 +f 516/204/84 548/202/84 515/202/84 +f 531/229/75 549/227/75 530/227/75 +f 524/218/67 550/216/67 523/216/67 +f 517/205/85 551/204/85 516/204/85 +f 532/230/76 534/229/102 531/229/76 +f 525/219/101 552/218/68 524/218/101 +f 518/206/86 553/205/86 517/205/86 +f 533/232/77 535/230/77 532/230/77 +f 241/115/79 554/194/79 512/194/79 +f 526/221/69 536/219/70 525/219/69 +f 519/208/87 555/206/87 518/206/87 +f 512/194/78 556/232/78 533/232/78 +f 271/127/103 263/147/104 557/133/105 +f 191/62/66 194/65/66 192/63/66 +f 194/65/67 196/67/67 195/66/67 +f 196/67/68 198/69/68 197/68/68 +f 198/69/69 200/71/69 199/70/70 +f 200/71/71 202/73/71 201/72/71 +f 202/73/72 204/75/72 203/74/72 +f 204/75/73 206/77/73 205/76/73 +f 206/77/74 208/79/74 207/78/74 +f 208/79/75 210/81/75 209/80/75 +f 210/81/76 212/83/76 211/82/76 +f 212/83/77 214/85/77 213/84/77 +f 214/85/78 216/87/78 215/86/78 +f 216/87/79 218/89/79 217/88/79 +f 218/89/80 220/91/80 219/90/80 +f 220/91/81 222/93/81 221/92/81 +f 222/93/82 224/95/82 223/94/82 +f 224/95/83 226/97/83 225/96/83 +f 226/97/84 228/99/84 227/98/84 +f 228/99/85 230/101/85 229/100/85 +f 230/101/86 232/103/86 231/102/86 +f 232/103/87 234/105/87 233/104/87 +f 234/105/88 236/110/88 235/106/88 +f 196/109/8 194/234/8 191/129/8 +f 191/129/8 238/235/8 196/109/8 +f 238/235/8 236/236/8 196/109/8 +f 236/236/8 234/148/8 232/237/8 +f 232/237/8 230/238/8 228/130/8 +f 228/130/8 226/239/8 224/240/8 +f 224/240/8 222/145/8 228/130/8 +f 222/145/8 220/241/8 228/130/8 +f 220/241/8 218/242/8 216/143/8 +f 216/143/8 214/243/8 212/107/8 +f 212/107/8 210/142/8 208/244/8 +f 208/244/8 206/245/8 204/108/8 +f 204/108/8 202/246/8 200/247/8 +f 200/247/8 198/139/8 204/108/8 +f 198/139/8 196/109/8 204/108/8 +f 236/236/8 232/237/8 228/130/8 +f 220/241/8 216/143/8 228/130/8 +f 216/143/8 212/107/8 228/130/8 +f 212/107/8 208/244/8 204/108/8 +f 196/109/8 236/236/8 212/107/8 +f 236/236/8 228/130/8 212/107/8 +f 236/110/89 238/112/89 237/111/89 +f 238/112/90 191/248/90 193/113/90 +f 239/114/80 539/114/80 240/115/80 +f 242/116/67 245/119/67 243/117/67 +f 245/119/71 247/121/71 246/120/71 +f 247/121/74 249/123/74 248/122/74 +f 249/123/77 251/125/77 250/124/77 +f 251/125/80 253/127/80 252/126/80 +f 253/127/83 255/131/83 254/128/83 +f 247/108/8 245/139/8 242/129/8 +f 242/129/8 257/148/8 255/130/8 +f 255/130/8 253/145/8 247/108/8 +f 253/145/8 251/143/8 247/108/8 +f 251/143/8 249/142/8 247/108/8 +f 255/131/86 257/133/86 256/132/86 +f 257/133/89 242/153/89 244/134/89 +f 256/137/2 244/233/2 248/135/2 +f 244/233/2 243/197/2 248/135/2 +f 243/197/2 246/203/2 248/135/2 +f 248/135/2 250/214/2 252/136/2 +f 252/136/2 254/224/2 256/137/2 +f 250/129/91 267/249/91 258/138/91 +f 248/139/92 258/138/92 259/140/92 +f 246/108/93 259/140/93 260/141/93 +f 260/141/94 261/144/94 244/143/94 +f 261/144/95 262/146/95 256/145/95 +f 262/146/96 263/147/96 254/130/96 +f 263/147/97 264/149/97 252/148/97 +f 264/149/98 267/249/98 250/129/98 +f 265/123/86 270/121/86 259/150/86 +f 266/125/89 265/123/89 258/151/89 +f 268/153/77 557/133/77 262/154/77 +f 269/119/80 268/116/80 261/156/80 +f 270/121/83 269/119/83 260/157/83 +f 271/127/67 266/125/67 267/152/67 +f 272/116/66 275/160/66 273/159/66 +f 275/160/67 277/162/67 276/161/67 +f 277/162/68 279/119/68 278/117/68 +f 279/119/69 281/164/69 280/163/69 +f 281/164/71 283/166/71 282/165/71 +f 283/166/72 285/121/72 284/120/72 +f 285/121/73 287/168/73 286/167/73 +f 287/168/74 289/170/74 288/169/74 +f 289/170/75 291/123/75 290/122/75 +f 291/123/76 293/172/76 292/171/76 +f 293/172/77 295/174/77 294/173/77 +f 295/174/78 297/125/78 296/124/78 +f 297/125/79 299/176/79 298/175/79 +f 299/176/80 301/178/80 300/177/80 +f 301/178/81 303/127/81 302/126/81 +f 303/127/82 305/180/82 304/179/82 +f 305/180/83 307/182/83 306/181/83 +f 307/182/84 309/131/84 308/128/84 +f 309/131/85 311/184/85 310/183/85 +f 311/184/86 313/186/86 312/185/86 +f 313/186/87 315/133/87 314/132/87 +f 315/133/88 317/188/88 316/187/88 +f 277/109/8 275/234/8 317/236/8 +f 275/234/8 272/129/8 317/236/8 +f 272/129/8 319/235/8 317/236/8 +f 317/236/8 315/148/8 313/237/8 +f 313/237/8 311/238/8 309/130/8 +f 309/130/8 307/239/8 305/240/8 +f 305/240/8 303/145/8 301/241/8 +f 301/241/8 299/242/8 297/143/8 +f 297/143/8 295/243/8 293/107/8 +f 293/107/8 291/142/8 289/244/8 +f 289/244/8 287/245/8 293/107/8 +f 287/245/8 285/108/8 293/107/8 +f 285/108/8 283/246/8 281/247/8 +f 281/247/8 279/139/8 277/109/8 +f 317/236/8 313/237/8 277/109/8 +f 313/237/8 309/130/8 277/109/8 +f 309/130/8 305/240/8 293/107/8 +f 305/240/8 301/241/8 293/107/8 +f 301/241/8 297/143/8 293/107/8 +f 285/108/8 281/247/8 293/107/8 +f 281/247/8 277/109/8 293/107/8 +f 317/188/89 319/190/89 318/189/89 +f 319/190/90 272/153/90 274/134/90 +f 318/192/2 274/233/2 273/195/2 +f 273/195/2 276/196/2 318/192/2 +f 276/196/2 278/197/2 318/192/2 +f 278/197/2 280/199/2 286/193/2 +f 280/199/2 282/201/2 286/193/2 +f 282/201/2 284/203/2 286/193/2 +f 286/193/2 288/207/2 290/135/2 +f 290/135/2 292/210/106 294/212/2 +f 294/212/2 296/214/2 298/215/2 +f 298/215/2 300/217/107 302/136/2 +f 302/136/2 304/220/2 306/222/2 +f 306/222/2 308/224/2 310/191/2 +f 310/191/2 312/228/2 314/137/2 +f 314/137/2 316/231/2 310/191/2 +f 316/231/2 318/192/2 310/191/2 +f 286/193/2 290/135/2 294/212/2 +f 294/212/2 298/215/2 286/193/2 +f 298/215/2 302/136/2 286/193/2 +f 302/136/2 306/222/2 310/191/2 +f 318/192/2 278/197/2 286/193/2 +f 302/136/2 310/191/2 286/193/2 +f 320/62/66 323/65/66 321/63/66 +f 323/65/67 325/67/67 324/66/67 +f 325/67/68 327/69/68 326/68/68 +f 327/69/70 329/71/70 328/70/70 +f 329/71/71 331/73/71 330/72/71 +f 331/73/72 333/75/72 332/74/72 +f 333/75/73 335/77/73 334/76/73 +f 335/77/74 337/79/74 336/78/74 +f 337/79/75 339/81/75 338/80/75 +f 339/81/76 341/83/76 340/82/76 +f 341/83/77 343/85/77 342/84/77 +f 343/85/78 345/87/78 344/86/78 +f 345/87/79 347/89/79 346/88/79 +f 347/89/80 349/91/80 348/90/80 +f 349/91/81 351/93/81 350/92/81 +f 351/93/82 353/95/82 352/94/100 +f 353/95/83 355/97/83 354/96/83 +f 355/97/84 357/99/84 356/98/84 +f 357/99/85 359/101/85 358/100/85 +f 359/101/86 361/103/86 360/102/86 +f 361/103/87 363/105/87 362/104/87 +f 363/105/88 365/110/88 364/106/88 +f 325/109/8 323/234/8 320/129/8 +f 320/129/8 367/235/108 365/236/8 +f 365/236/8 363/148/8 361/237/8 +f 361/237/8 359/238/8 365/236/8 +f 359/238/8 357/130/8 365/236/8 +f 357/130/8 355/239/8 353/240/8 +f 353/240/8 351/145/8 357/130/8 +f 351/145/8 349/241/8 357/130/8 +f 349/241/8 347/242/8 345/143/8 +f 345/143/8 343/243/109 341/107/8 +f 341/107/8 339/142/8 337/244/8 +f 337/244/8 335/245/8 341/107/8 +f 335/245/8 333/108/8 341/107/8 +f 333/108/8 331/246/8 329/247/8 +f 329/247/8 327/139/8 333/108/8 +f 327/139/8 325/109/8 333/108/8 +f 325/109/8 320/129/8 365/236/8 +f 349/241/8 345/143/8 357/130/8 +f 345/143/8 341/107/8 357/130/8 +f 325/109/8 365/236/8 341/107/8 +f 365/236/8 357/130/8 341/107/8 +f 365/110/89 367/112/89 366/111/89 +f 367/112/90 320/248/90 322/113/90 +f 366/192/2 322/233/2 321/195/2 +f 321/195/2 324/196/2 366/192/2 +f 324/196/2 326/197/2 366/192/2 +f 326/197/2 328/199/2 330/201/2 +f 330/201/2 332/203/2 326/197/2 +f 332/203/2 334/193/2 326/197/2 +f 334/193/2 336/207/110 338/135/2 +f 338/135/2 340/210/106 342/212/2 +f 342/212/2 344/214/2 350/136/2 +f 344/214/2 346/215/2 350/136/2 +f 346/215/2 348/217/106 350/136/2 +f 350/136/2 352/220/2 354/222/2 +f 354/222/2 356/224/2 350/136/2 +f 356/224/2 358/191/2 350/136/2 +f 358/191/2 360/228/106 362/137/2 +f 362/137/2 364/231/2 358/191/2 +f 364/231/2 366/192/2 358/191/2 +f 334/193/2 338/135/2 350/136/2 +f 338/135/2 342/212/2 350/136/2 +f 366/192/2 326/197/2 350/136/2 +f 326/197/2 334/193/2 350/136/2 +f 368/116/66 371/160/66 369/159/66 +f 371/160/67 373/162/67 372/161/67 +f 373/162/68 375/119/68 374/117/68 +f 375/119/70 377/164/70 376/163/70 +f 377/164/71 379/166/71 378/165/71 +f 379/166/72 381/121/72 380/120/72 +f 381/121/73 383/168/73 382/167/73 +f 383/168/74 385/170/74 384/169/74 +f 385/170/75 387/123/111 386/122/75 +f 387/123/76 389/172/76 388/171/76 +f 389/172/77 391/174/77 390/173/77 +f 391/174/78 393/125/78 392/124/78 +f 393/125/79 395/176/79 394/175/79 +f 395/176/80 397/178/80 396/177/80 +f 397/178/81 399/127/81 398/126/81 +f 399/127/82 401/180/82 400/179/82 +f 401/180/83 403/182/83 402/181/83 +f 403/182/84 405/131/84 404/128/84 +f 405/131/85 407/184/85 406/183/85 +f 407/184/86 409/186/86 408/185/86 +f 409/186/87 411/133/87 410/132/87 +f 411/133/88 413/188/88 412/187/88 +f 373/109/8 371/234/8 368/129/8 +f 368/129/8 415/235/8 413/236/8 +f 413/236/8 411/148/109 409/237/8 +f 409/237/8 407/238/8 413/236/8 +f 407/238/8 405/130/8 413/236/8 +f 405/130/8 403/239/8 401/240/8 +f 401/240/8 399/145/8 405/130/8 +f 399/145/8 397/241/8 405/130/8 +f 397/241/8 395/242/8 393/143/8 +f 393/143/8 391/243/8 389/107/8 +f 389/107/8 387/142/108 385/244/8 +f 385/244/8 383/245/8 389/107/8 +f 383/245/8 381/108/8 389/107/8 +f 381/108/8 379/246/8 377/247/8 +f 377/247/8 375/139/8 381/108/8 +f 375/139/8 373/109/8 381/108/8 +f 373/109/8 368/129/8 413/236/8 +f 397/241/8 393/143/8 405/130/8 +f 393/143/8 389/107/8 405/130/8 +f 373/109/8 413/236/8 389/107/8 +f 413/236/8 405/130/8 389/107/8 +f 413/188/89 415/190/89 414/189/89 +f 415/190/90 368/153/90 370/134/90 +f 414/192/2 370/233/2 369/195/110 +f 369/195/110 372/196/2 414/192/2 +f 372/196/2 374/197/2 414/192/2 +f 374/197/2 376/199/106 378/201/2 +f 378/201/2 380/203/2 374/197/2 +f 380/203/2 382/193/2 374/197/2 +f 382/193/2 384/207/2 386/135/2 +f 386/135/2 388/210/110 390/212/2 +f 390/212/2 392/214/110 394/215/2 +f 394/215/2 396/217/106 398/136/2 +f 398/136/2 400/220/110 402/222/2 +f 402/222/2 404/224/2 398/136/2 +f 404/224/2 406/191/2 398/136/2 +f 406/191/2 408/228/2 410/137/2 +f 410/137/2 412/231/2 406/191/2 +f 412/231/2 414/192/2 406/191/2 +f 382/193/2 386/135/2 390/212/2 +f 390/212/2 394/215/2 382/193/2 +f 394/215/2 398/136/2 382/193/2 +f 414/192/2 374/197/2 398/136/2 +f 374/197/2 382/193/2 398/136/2 +f 416/116/66 419/160/66 417/159/66 +f 419/160/67 421/162/67 420/161/67 +f 421/162/68 423/119/68 422/117/68 +f 423/119/70 425/164/70 424/163/70 +f 425/164/71 427/166/71 426/165/71 +f 427/166/72 429/121/72 428/120/72 +f 429/121/73 431/168/73 430/167/73 +f 431/168/74 433/170/74 432/169/74 +f 433/170/75 435/123/75 434/122/75 +f 435/123/76 437/172/76 436/171/76 +f 437/172/77 439/174/77 438/173/77 +f 439/174/78 441/125/78 440/124/78 +f 441/125/79 443/176/79 442/175/79 +f 443/176/80 445/178/80 444/177/80 +f 445/178/81 447/127/81 446/126/81 +f 447/127/100 449/180/100 448/179/100 +f 449/180/83 451/182/83 450/181/83 +f 451/182/84 453/131/84 452/128/84 +f 453/131/85 455/184/85 454/183/85 +f 455/184/86 457/186/86 456/185/86 +f 457/186/87 459/133/87 458/132/87 +f 459/133/88 461/188/88 460/187/88 +f 421/109/8 419/234/8 416/129/8 +f 416/129/8 463/235/8 461/236/8 +f 461/236/8 459/148/108 457/237/8 +f 457/237/8 455/238/8 461/236/8 +f 455/238/8 453/130/8 461/236/8 +f 453/130/8 451/239/8 449/240/8 +f 449/240/8 447/145/8 453/130/8 +f 447/145/8 445/241/8 453/130/8 +f 445/241/8 443/242/8 441/143/8 +f 441/143/8 439/243/8 437/107/8 +f 437/107/8 435/142/109 433/244/8 +f 433/244/8 431/245/8 437/107/8 +f 431/245/8 429/108/8 437/107/8 +f 429/108/8 427/246/8 425/247/8 +f 425/247/8 423/139/8 429/108/8 +f 423/139/8 421/109/8 429/108/8 +f 421/109/8 416/129/8 461/236/8 +f 445/241/8 441/143/8 453/130/8 +f 441/143/8 437/107/8 453/130/8 +f 421/109/8 461/236/8 437/107/8 +f 461/236/8 453/130/8 437/107/8 +f 461/188/89 463/190/89 462/189/89 +f 463/190/90 416/153/90 418/134/90 +f 462/192/2 418/233/2 417/195/2 +f 417/195/2 420/196/2 462/192/2 +f 420/196/2 422/197/2 462/192/2 +f 422/197/2 424/199/2 426/201/2 +f 426/201/2 428/203/2 422/197/2 +f 428/203/2 430/193/2 422/197/2 +f 430/193/2 432/207/2 434/135/2 +f 434/135/2 436/210/2 438/212/2 +f 438/212/2 440/214/2 446/136/2 +f 440/214/2 442/215/2 446/136/2 +f 442/215/2 444/217/110 446/136/2 +f 446/136/2 448/220/2 450/222/2 +f 450/222/2 452/224/2 446/136/2 +f 452/224/2 454/191/2 446/136/2 +f 454/191/2 456/228/2 458/137/2 +f 458/137/2 460/231/2 454/191/2 +f 460/231/2 462/192/2 454/191/2 +f 430/193/2 434/135/2 446/136/2 +f 434/135/2 438/212/2 446/136/2 +f 462/192/2 422/197/2 446/136/2 +f 422/197/2 430/193/2 446/136/2 +f 464/62/66 467/65/66 465/63/66 +f 467/65/67 469/67/67 468/66/67 +f 469/67/101 471/69/101 470/68/68 +f 471/69/70 473/71/70 472/70/70 +f 473/71/71 475/73/71 474/72/71 +f 475/73/72 477/75/72 476/74/72 +f 477/75/73 479/77/73 478/76/73 +f 479/77/74 481/79/74 480/78/74 +f 481/79/75 483/81/75 482/80/75 +f 483/81/102 485/83/102 484/82/76 +f 485/83/77 487/85/77 486/84/77 +f 487/85/78 489/87/78 488/86/78 +f 489/87/79 491/89/79 490/88/79 +f 491/89/80 493/91/80 492/90/80 +f 493/91/81 495/93/81 494/92/81 +f 495/93/82 497/95/82 496/94/100 +f 497/95/83 499/97/83 498/96/83 +f 499/97/84 501/99/84 500/98/84 +f 501/99/85 503/101/85 502/100/85 +f 503/101/86 505/103/86 504/102/86 +f 505/103/87 507/105/87 506/104/87 +f 507/105/88 509/110/88 508/106/88 +f 469/109/8 467/234/8 464/129/8 +f 464/129/8 511/235/8 469/109/8 +f 511/235/8 509/236/8 469/109/8 +f 509/236/8 507/148/8 505/237/8 +f 505/237/8 503/238/8 509/236/8 +f 503/238/8 501/130/8 509/236/8 +f 501/130/8 499/239/8 497/240/8 +f 497/240/8 495/145/8 501/130/8 +f 495/145/8 493/241/8 501/130/8 +f 493/241/8 491/242/8 489/143/8 +f 489/143/8 487/243/8 485/107/8 +f 485/107/8 483/142/8 481/244/8 +f 481/244/8 479/245/8 485/107/8 +f 479/245/8 477/108/8 485/107/8 +f 477/108/8 475/246/8 473/247/8 +f 473/247/8 471/139/8 477/108/8 +f 471/139/8 469/109/8 477/108/8 +f 493/241/8 489/143/8 501/130/8 +f 489/143/8 485/107/8 501/130/8 +f 469/109/8 509/236/8 485/107/8 +f 509/236/8 501/130/8 485/107/8 +f 509/110/89 511/112/89 510/111/89 +f 511/112/90 464/248/90 466/113/90 +f 510/192/2 466/233/2 465/195/2 +f 465/195/2 468/196/2 510/192/2 +f 468/196/2 470/197/2 510/192/2 +f 470/197/2 472/199/2 474/201/2 +f 474/201/2 476/203/2 470/197/2 +f 476/203/2 478/193/2 470/197/2 +f 478/193/2 480/207/2 482/135/2 +f 482/135/2 484/210/2 486/212/2 +f 486/212/2 488/214/2 494/136/2 +f 488/214/2 490/215/2 494/136/2 +f 490/215/2 492/217/110 494/136/2 +f 494/136/2 496/220/2 498/222/2 +f 498/222/2 500/224/2 494/136/2 +f 500/224/2 502/191/2 494/136/2 +f 502/191/2 504/228/2 506/137/2 +f 506/137/2 508/231/2 502/191/2 +f 508/231/2 510/192/2 502/191/2 +f 478/193/2 482/135/2 494/136/2 +f 482/135/2 486/212/2 494/136/2 +f 510/192/2 470/197/2 494/136/2 +f 470/197/2 478/193/2 494/136/2 +f 512/194/2 193/233/2 192/195/2 +f 241/115/2 192/195/2 195/196/2 +f 239/114/2 195/196/2 197/197/2 +f 513/198/2 197/197/2 199/199/2 +f 514/200/2 199/199/2 201/201/2 +f 515/202/2 201/201/2 203/203/2 +f 517/205/2 516/204/2 203/203/2 +f 518/206/2 517/205/2 205/193/2 +f 519/208/2 518/206/2 207/207/2 +f 520/209/2 519/208/2 209/135/2 +f 521/211/2 520/209/2 211/210/2 +f 522/213/2 521/211/2 213/212/2 +f 522/213/2 215/214/2 217/215/2 +f 523/216/2 217/215/2 219/217/2 +f 524/218/2 219/217/2 221/136/2 +f 525/219/2 221/136/2 223/220/2 +f 526/221/2 223/220/2 225/222/2 +f 527/223/2 225/222/2 227/224/2 +f 529/226/2 528/225/2 227/224/2 +f 530/227/2 529/226/2 229/191/2 +f 531/229/2 530/227/2 231/228/2 +f 532/230/2 531/229/2 233/137/2 +f 533/232/2 532/230/2 235/231/2 +f 512/194/2 533/232/2 237/192/2 +f 556/232/2 554/194/2 547/213/2 +f 554/194/2 240/115/2 544/211/2 +f 240/115/2 539/114/2 544/211/2 +f 539/114/2 542/198/2 541/209/2 +f 544/211/2 539/114/2 541/209/2 +f 542/198/2 545/200/2 555/206/2 +f 545/200/2 548/202/2 553/205/2 +f 548/202/2 551/204/2 553/205/2 +f 553/205/2 555/206/2 545/200/2 +f 555/206/2 538/208/2 542/198/2 +f 538/208/2 541/209/2 542/198/2 +f 544/211/2 547/213/2 554/194/2 +f 547/213/2 550/216/2 556/232/2 +f 550/216/2 552/218/2 556/232/2 +f 552/218/2 536/219/2 535/230/2 +f 556/232/2 552/218/2 535/230/2 +f 536/219/2 537/221/2 549/227/2 +f 537/221/2 540/223/2 546/226/2 +f 540/223/2 543/225/2 546/226/2 +f 546/226/2 549/227/2 537/221/2 +f 549/227/2 534/229/2 536/219/2 +f 527/223/71 540/223/71 537/221/71 +f 520/209/88 541/209/88 538/208/88 +f 513/198/81 542/198/81 539/114/81 +f 528/225/72 543/225/72 540/223/72 +f 521/211/89 544/211/89 541/209/89 +f 514/200/82 545/200/82 542/198/82 +f 529/226/73 546/226/73 543/225/73 +f 522/213/90 547/213/90 544/211/90 +f 515/202/83 548/202/83 545/200/83 +f 530/227/74 549/227/74 546/226/74 +f 523/216/66 550/216/66 547/213/66 +f 516/204/84 551/204/84 548/202/84 +f 531/229/75 534/229/75 549/227/75 +f 524/218/67 552/218/67 550/216/67 +f 517/205/85 553/205/85 551/204/85 +f 532/230/76 535/230/102 534/229/102 +f 525/219/101 536/219/68 552/218/68 +f 518/206/86 555/206/86 553/205/86 +f 533/232/77 556/232/77 535/230/77 +f 241/115/79 240/115/79 554/194/79 +f 526/221/69 537/221/70 536/219/70 +f 519/208/87 538/208/87 555/206/87 +f 512/194/78 554/194/78 556/232/78 +f 557/133/105 268/153/2 269/119/2 +f 269/119/2 270/121/2 557/133/105 +f 270/121/2 265/123/2 271/127/103 +f 557/133/105 270/121/2 271/127/103 +f 265/123/2 266/125/2 271/127/103 +f 271/127/103 264/149/71 263/147/104 +f 263/147/104 262/154/74 557/133/105 +f 558/250/112 559/251/112 560/252/112 +f 561/253/113 562/254/113 563/254/113 +f 564/255/114 559/256/114 565/257/114 +f 566/258/115 565/257/115 567/259/115 +f 568/260/116 566/261/116 567/259/116 +f 569/262/114 570/263/114 571/263/114 +f 572/264/117 568/260/117 573/265/117 +f 574/266/118 575/267/118 576/268/118 +f 573/265/113 577/269/113 572/264/113 +f 578/270/119 576/271/119 577/269/119 +f 579/272/120 558/273/120 575/274/120 +f 580/275/25 581/276/25 582/277/25 +f 583/278/9 584/279/9 585/280/9 +f 586/281/26 587/282/26 580/283/26 +f 588/284/121 589/285/121 590/286/121 +f 591/287/122 592/288/122 589/289/122 +f 589/290/123 591/291/124 593/292/125 +f 594/293/126 595/294/126 592/288/126 +f 596/295/127 597/296/127 598/296/127 +f 599/297/128 600/298/128 601/298/128 +f 595/294/129 602/299/129 603/294/129 +f 604/300/130 605/300/131 593/300/132 +f 605/301/127 603/302/127 602/272/127 +f 606/303/25 607/304/25 608/305/25 +f 609/306/9 610/307/9 611/308/9 +f 612/309/8 608/310/8 610/311/8 +f 611/312/6 608/313/6 607/314/6 +f 613/315/26 612/316/26 609/317/26 +f 614/318/133 615/319/133 616/320/133 +f 617/321/134 618/322/134 619/323/134 +f 618/324/135 620/325/135 619/326/135 +f 621/327/136 620/328/136 622/329/136 +f 616/330/137 617/331/137 614/332/137 +f 623/333/9 621/334/9 624/335/9 +f 625/336/138 626/337/138 615/319/138 +f 621/338/139 627/339/139 628/340/139 +f 629/341/140 623/342/140 626/343/140 +f 625/344/25 614/345/25 617/346/25 +f 630/347/26 631/348/26 632/349/26 +f 630/350/141 633/351/141 634/352/141 +f 635/353/142 636/354/142 631/355/142 +f 637/356/143 633/357/143 638/358/143 +f 636/359/144 639/360/144 640/361/144 +f 641/362/145 639/363/145 642/364/145 +f 638/365/146 643/366/146 637/367/146 +f 642/368/147 644/369/147 641/370/147 +f 645/371/148 646/372/148 647/373/148 +f 648/374/149 649/375/149 646/376/149 +f 650/377/150 651/378/150 652/379/150 +f 649/380/9 641/381/9 644/382/9 +f 653/383/151 647/384/151 654/385/151 +f 651/386/25 642/387/25 643/388/25 +f 652/389/152 655/390/152 650/391/152 +f 654/392/153 656/393/153 653/394/153 +f 657/395/154 658/396/154 656/397/154 +f 659/398/155 660/399/155 658/400/155 +f 661/401/156 662/402/156 663/403/156 +f 664/404/9 665/405/9 666/406/9 +f 667/407/6 668/408/6 669/409/6 +f 670/410/157 667/411/157 669/412/157 +f 671/413/158 672/414/158 673/415/158 +f 666/416/159 670/417/159 674/418/159 +f 663/419/25 671/420/25 675/421/25 +f 676/422/160 664/423/160 677/424/160 +f 678/425/158 677/426/158 679/427/158 +f 680/428/159 681/428/159 682/429/159 +f 683/430/157 684/431/157 685/432/157 +f 685/433/6 684/434/6 686/435/6 +f 687/436/6 669/409/6 668/437/6 +f 674/438/161 679/439/161 666/440/161 +f 662/441/160 672/442/160 688/443/160 +f 680/444/161 675/445/161 671/446/161 +f 689/447/156 665/448/156 664/449/156 +f 689/450/25 678/450/25 674/450/25 +f 690/451/162 681/452/9 691/452/163 +f 587/453/2 583/454/2 581/455/2 +f 613/456/2 611/457/2 607/458/2 +f 692/459/25 589/460/25 592/461/25 +f 692/459/25 595/462/25 693/463/25 +f 693/463/25 603/462/25 694/464/25 +f 599/297/25 589/465/25 695/466/25 +f 599/297/25 696/302/25 604/347/25 +f 601/298/9 603/302/25 696/302/25 +f 697/464/25 698/467/25 699/468/25 +f 694/464/129 700/463/129 693/463/129 +f 692/459/122 699/468/122 695/468/122 +f 601/298/127 697/469/127 694/469/127 +f 695/466/164 698/297/164 599/297/164 +f 693/463/126 701/459/126 692/459/126 +f 702/470/9 591/407/9 593/349/9 +f 703/471/9 704/472/9 594/473/9 +f 703/474/9 591/287/9 705/475/9 +f 598/296/25 593/349/9 605/272/9 +f 598/296/25 602/272/9 596/295/9 +f 706/476/9 602/472/9 704/472/9 +f 707/477/9 708/478/9 709/479/9 +f 705/477/122 710/471/122 703/471/122 +f 702/470/165 707/480/165 705/480/165 +f 706/476/129 709/479/129 596/479/129 +f 598/296/166 708/470/166 702/470/166 +f 703/471/126 711/476/126 706/476/126 +f 595/294/167 700/481/167 701/482/167 +f 589/483/168 592/483/168 701/483/168 +f 603/483/169 697/483/169 700/483/169 +f 600/484/170 697/484/170 603/484/170 +f 604/485/171 600/485/171 696/485/171 +f 589/486/172 698/486/173 600/486/174 +f 602/299/175 704/299/175 711/487/175 +f 602/488/176 709/488/176 597/488/176 +f 593/489/177 605/489/177 597/489/177 +f 597/490/178 708/490/179 579/490/180 +f 710/483/181 594/483/182 579/483/183 +f 710/491/184 711/491/184 704/491/184 +f 712/492/25 575/274/25 558/273/25 +f 712/492/25 560/493/25 713/494/25 +f 714/495/25 566/496/25 715/497/25 +f 716/498/25 566/496/25 717/499/25 +f 714/495/25 560/493/25 564/500/25 +f 718/501/25 575/274/25 719/502/25 +f 563/254/25 577/503/25 561/253/25 +f 718/501/25 577/503/25 576/504/25 +f 716/498/25 572/505/25 563/254/25 +f 720/506/25 721/507/25 562/508/25 +f 716/498/116 722/497/116 715/497/116 +f 712/492/120 723/502/120 719/502/120 +f 718/501/119 724/253/119 561/253/119 +f 714/495/114 721/494/114 713/494/114 +f 713/494/112 720/492/112 712/492/112 +f 563/254/117 725/498/117 716/498/117 +f 719/502/118 726/501/118 718/501/118 +f 715/497/115 727/495/115 714/495/115 +f 728/509/9 579/272/9 729/510/9 +f 728/509/9 559/511/9 730/349/9 +f 571/263/9 567/512/9 565/513/9 +f 731/514/9 567/512/9 732/515/9 +f 571/263/9 559/511/9 569/262/9 +f 733/516/9 579/272/9 574/517/9 +f 734/518/9 578/519/9 573/520/9 +f 733/516/9 578/519/9 735/521/9 +f 731/514/9 573/520/9 568/522/9 +f 736/523/9 737/524/9 738/525/9 +f 728/509/112 738/262/112 569/262/112 +f 731/514/117 736/518/117 734/518/117 +f 733/516/118 739/510/118 729/510/118 +f 571/263/115 737/515/115 732/515/115 +f 734/518/113 740/521/113 735/521/113 +f 732/515/116 741/514/116 731/514/116 +f 729/510/120 742/509/120 728/509/120 +f 735/521/119 743/516/119 733/516/119 +f 567/259/185 565/257/186 570/526/186 +f 567/527/187 737/527/187 741/527/187 +f 741/528/188 736/528/188 573/528/188 +f 736/527/189 740/527/189 578/527/189 +f 578/527/190 740/527/190 743/527/190 +f 743/527/191 739/527/191 579/527/191 +f 742/527/192 730/527/192 579/527/192 +f 742/527/193 738/527/193 559/527/193 +f 559/527/194 738/527/194 570/527/194 +f 566/261/195 717/529/195 725/530/195 +f 566/527/196 722/527/196 727/527/196 +f 727/527/197 721/527/197 560/527/197 +f 720/527/198 558/527/198 560/527/198 +f 575/527/199 558/527/199 720/527/199 +f 575/527/200 723/527/200 726/527/200 +f 726/527/201 724/527/201 577/527/201 +f 577/527/202 724/527/202 562/527/202 +f 572/527/203 562/527/203 725/527/203 +f 583/531/121 582/532/121 581/533/121 +f 744/534/204 580/535/26 745/536/205 +f 745/537/25 582/277/25 590/538/25 +f 604/539/25 590/538/25 589/540/25 +f 593/541/206 745/542/206 604/543/206 +f 746/544/121 590/286/121 582/532/121 +f 747/545/207 748/546/208 749/546/208 +f 749/547/209 746/548/9 747/549/9 +f 750/550/9 744/551/210 751/552/211 +f 752/553/9 753/554/9 754/555/212 +f 754/556/213 755/556/213 756/556/213 +f 750/557/214 752/558/214 585/558/214 +f 751/559/6 757/557/6 750/557/6 +f 585/558/214 758/545/214 747/545/214 +f 759/556/215 753/559/216 751/559/217 +f 758/560/9 754/561/212 748/562/218 +f 755/556/219 760/546/220 756/556/221 +f 749/546/222 760/546/222 761/546/222 +f 754/556/212 760/546/223 748/546/218 +f 751/563/211 744/563/210 755/563/224 +f 558/250/112 730/564/112 559/251/112 +f 561/253/113 724/253/113 562/254/113 +f 564/255/114 560/565/114 559/256/114 +f 566/258/115 564/255/115 565/257/115 +f 568/260/116 717/529/116 566/261/116 +f 569/262/114 738/262/114 570/263/114 +f 572/264/117 717/529/117 568/260/117 +f 574/266/118 579/566/118 575/267/118 +f 573/265/113 578/270/113 577/269/113 +f 578/270/119 574/567/119 576/271/119 +f 579/272/120 730/349/120 558/273/120 +f 580/275/25 587/568/25 581/276/25 +f 586/569/9 750/570/9 584/571/9 +f 750/570/9 585/572/9 584/571/9 +f 585/572/9 747/573/9 583/574/9 +f 747/573/9 746/575/9 583/574/9 +f 586/281/26 584/576/26 587/282/26 +f 588/284/121 591/577/121 589/285/121 +f 591/287/122 594/293/122 592/288/122 +f 589/290/123 593/292/125 604/578/225 +f 594/293/126 704/299/126 595/294/126 +f 596/295/127 709/295/127 597/296/127 +f 599/297/128 698/297/128 600/298/128 +f 595/294/129 704/299/129 602/299/129 +f 604/300/130 696/300/226 605/300/131 +f 605/301/127 696/302/127 603/302/127 +f 606/303/25 613/579/25 607/304/25 +f 609/306/9 612/580/9 610/307/9 +f 612/309/8 606/581/8 608/310/8 +f 611/312/6 610/582/6 608/313/6 +f 613/315/26 606/583/26 612/316/26 +f 614/318/133 625/336/133 615/319/133 +f 617/321/134 624/584/134 618/322/134 +f 618/324/135 622/585/135 620/325/135 +f 621/327/136 628/586/136 620/328/136 +f 616/330/137 624/587/137 617/331/137 +f 622/588/9 618/589/9 624/335/9 +f 624/335/9 616/590/9 615/591/9 +f 615/591/9 626/592/9 623/333/9 +f 621/334/9 622/588/9 624/335/9 +f 615/591/9 623/333/9 624/335/9 +f 625/336/138 629/593/138 626/337/138 +f 621/338/139 623/594/139 627/339/139 +f 629/341/140 627/595/140 623/342/140 +f 619/596/25 620/597/25 617/346/25 +f 620/597/25 628/598/25 617/346/25 +f 628/598/25 627/599/25 617/346/25 +f 627/599/25 629/600/25 625/344/25 +f 617/346/25 627/599/25 625/344/25 +f 630/347/26 635/601/26 631/348/26 +f 630/350/141 632/602/141 633/351/141 +f 635/353/142 762/603/142 636/354/142 +f 637/356/143 634/604/143 633/357/143 +f 636/359/144 762/605/144 639/360/144 +f 641/362/145 640/606/145 639/363/145 +f 638/365/146 649/607/146 643/366/146 +f 642/368/147 651/608/147 644/369/147 +f 645/371/148 648/609/148 646/372/148 +f 648/374/149 643/610/149 649/375/149 +f 650/377/150 644/611/150 651/378/150 +f 647/612/9 646/613/9 650/614/9 +f 646/613/9 649/380/9 644/382/9 +f 649/380/9 638/615/9 641/381/9 +f 638/615/9 633/616/9 641/381/9 +f 633/616/9 632/617/9 631/618/9 +f 633/616/9 631/618/9 636/619/9 +f 659/620/9 657/621/9 655/622/9 +f 657/621/9 654/623/9 655/622/9 +f 633/616/9 636/619/9 640/624/9 +f 633/616/9 640/624/9 641/381/9 +f 655/622/9 654/623/9 647/612/9 +f 650/614/9 655/622/9 647/612/9 +f 644/382/9 650/614/9 646/613/9 +f 653/383/151 645/625/151 647/384/151 +f 653/626/25 656/627/25 660/628/25 +f 656/627/25 658/629/25 660/628/25 +f 643/388/25 648/630/25 651/386/25 +f 648/630/25 645/631/25 652/632/25 +f 634/633/25 637/634/25 642/387/25 +f 637/634/25 643/388/25 642/387/25 +f 635/635/25 630/636/25 634/633/25 +f 762/637/25 635/635/25 634/633/25 +f 645/631/25 653/626/25 660/628/25 +f 645/631/25 660/628/25 652/632/25 +f 639/638/25 762/637/25 634/633/25 +f 642/387/25 639/638/25 634/633/25 +f 648/630/25 652/632/25 651/386/25 +f 652/389/152 660/639/152 655/390/152 +f 654/392/153 657/640/153 656/393/153 +f 657/395/154 659/641/154 658/396/154 +f 659/398/155 655/642/155 660/399/155 +f 661/401/156 686/402/156 662/402/156 +f 665/405/9 667/643/9 666/406/9 +f 667/643/9 763/644/9 666/406/9 +f 666/406/9 679/645/9 664/404/9 +f 679/645/9 677/646/9 664/404/9 +f 667/407/6 665/522/6 668/408/6 +f 670/410/157 763/647/157 667/411/157 +f 671/413/158 688/648/158 672/414/158 +f 666/416/159 763/349/159 670/417/159 +f 685/649/25 661/650/25 675/421/25 +f 661/650/25 663/419/25 675/421/25 +f 663/419/25 688/651/25 671/420/25 +f 675/421/25 683/652/25 685/649/25 +f 676/422/160 689/653/160 664/423/160 +f 678/425/158 676/654/158 677/426/158 +f 682/429/159 683/655/159 675/656/159 +f 680/428/159 691/428/159 681/428/159 +f 682/429/159 675/656/159 680/428/159 +f 683/430/157 682/657/157 684/431/157 +f 686/435/6 661/499/6 685/433/6 +f 684/434/6 690/658/6 686/435/6 +f 674/438/161 678/659/161 679/439/161 +f 688/443/160 663/660/160 662/441/160 +f 662/441/227 764/441/227 672/442/227 +f 671/446/161 673/661/161 680/444/161 +f 673/661/161 765/444/161 680/444/161 +f 765/444/161 691/444/161 680/444/161 +f 689/447/156 668/662/156 665/448/156 +f 669/450/25 668/450/25 674/450/25 +f 668/450/25 689/450/25 674/450/25 +f 689/450/25 676/450/25 678/450/25 +f 674/450/25 670/450/25 669/450/25 +f 691/452/163 765/452/228 662/452/229 +f 765/452/228 764/452/230 662/452/229 +f 662/452/229 686/452/231 691/452/163 +f 686/452/231 690/451/162 691/452/163 +f 587/453/2 584/663/2 583/454/2 +f 613/456/2 609/664/2 611/457/2 +f 692/459/25 695/468/25 589/460/25 +f 692/482/25 592/288/25 595/294/25 +f 693/463/25 595/462/25 603/462/25 +f 599/297/25 604/347/25 589/465/25 +f 599/297/25 601/298/9 696/302/25 +f 601/298/9 694/469/25 603/302/25 +f 699/665/25 701/482/25 700/481/25 +f 697/464/25 600/666/25 698/467/25 +f 699/665/25 700/481/25 697/667/25 +f 694/464/129 697/464/129 700/463/129 +f 692/459/122 701/459/122 699/468/122 +f 601/298/127 600/298/127 697/469/127 +f 695/466/164 699/466/164 698/297/164 +f 693/481/126 700/481/126 701/482/126 +f 702/470/9 705/480/9 591/407/9 +f 703/471/9 706/476/9 704/472/9 +f 703/474/9 594/293/9 591/287/9 +f 598/296/25 702/470/9 593/349/9 +f 598/296/25 605/272/9 602/272/9 +f 706/476/9 596/479/9 602/472/9 +f 708/478/9 597/668/9 709/479/9 +f 709/669/9 711/487/9 707/475/9 +f 711/487/9 710/474/9 707/475/9 +f 705/475/122 707/475/122 710/474/122 +f 702/470/165 708/470/165 707/480/165 +f 706/476/129 711/476/129 709/479/129 +f 598/296/166 597/296/166 708/470/166 +f 703/471/126 710/471/126 711/476/126 +f 595/294/167 701/482/167 592/288/167 +f 589/483/168 701/483/168 699/483/168 +f 603/483/169 700/483/169 595/483/169 +f 600/484/170 603/484/170 696/484/170 +f 698/486/173 589/486/172 699/486/232 +f 589/486/233 600/486/234 604/486/235 +f 602/299/175 711/487/175 709/669/175 +f 602/488/176 597/488/176 605/488/176 +f 593/490/236 597/490/237 579/490/238 +f 579/490/180 708/490/179 707/490/239 +f 710/483/240 579/483/241 707/483/242 +f 710/483/184 704/483/184 594/483/184 +f 712/492/25 719/502/25 575/274/25 +f 712/492/25 558/273/25 560/493/25 +f 714/495/25 564/500/25 566/496/25 +f 716/498/25 715/497/25 566/496/25 +f 714/495/25 713/494/25 560/493/25 +f 718/501/25 576/504/25 575/274/25 +f 563/254/25 572/505/25 577/503/25 +f 718/501/25 561/253/25 577/503/25 +f 716/498/25 717/499/25 572/505/25 +f 722/670/25 725/530/25 562/508/25 +f 724/671/25 726/672/25 723/673/25 +f 727/674/25 722/670/25 721/507/25 +f 722/670/25 562/508/25 721/507/25 +f 562/508/25 724/671/25 720/506/25 +f 724/671/25 723/673/25 720/506/25 +f 716/498/116 725/498/116 722/497/116 +f 712/492/120 720/492/120 723/502/120 +f 718/501/119 726/501/119 724/253/119 +f 714/495/114 727/495/114 721/494/114 +f 713/494/112 721/494/112 720/492/112 +f 563/254/117 562/254/117 725/498/117 +f 719/502/118 723/502/118 726/501/118 +f 715/497/115 722/497/115 727/495/115 +f 728/509/9 730/349/9 579/272/9 +f 728/509/9 569/262/9 559/511/9 +f 571/263/9 732/515/9 567/512/9 +f 731/514/9 568/522/9 567/512/9 +f 571/263/9 565/513/9 559/511/9 +f 733/516/9 729/510/9 579/272/9 +f 734/518/9 735/521/9 578/519/9 +f 733/516/9 574/517/9 578/519/9 +f 731/514/9 734/518/9 573/520/9 +f 737/524/9 570/526/9 738/525/9 +f 738/525/9 742/675/9 736/523/9 +f 742/675/9 739/676/9 740/677/9 +f 736/523/9 742/675/9 740/677/9 +f 739/676/9 743/678/9 740/677/9 +f 736/523/9 741/679/9 737/524/9 +f 728/509/112 742/509/112 738/262/112 +f 731/514/117 741/514/117 736/518/117 +f 733/516/118 743/516/118 739/510/118 +f 571/263/115 570/263/115 737/515/115 +f 734/518/113 736/518/113 740/521/113 +f 732/515/116 737/515/116 741/514/116 +f 729/510/120 739/510/120 742/509/120 +f 735/521/119 740/521/119 743/516/119 +f 567/259/185 570/526/186 737/524/185 +f 567/527/187 741/527/187 568/527/187 +f 741/528/188 573/528/188 568/528/188 +f 736/527/189 578/527/189 573/527/189 +f 578/527/190 743/527/190 574/527/190 +f 743/527/191 579/527/191 574/527/191 +f 742/527/192 579/527/192 739/527/192 +f 742/527/193 559/527/193 730/527/193 +f 559/527/194 570/527/194 565/527/194 +f 566/261/195 725/530/195 722/670/195 +f 566/527/196 727/527/196 564/527/196 +f 727/527/197 560/527/197 564/527/197 +f 720/527/198 560/527/198 721/527/198 +f 575/527/199 720/527/199 723/527/199 +f 575/527/200 726/527/200 576/527/200 +f 726/527/201 577/527/201 576/527/201 +f 577/527/202 562/527/202 572/527/202 +f 572/527/203 725/527/203 717/527/203 +f 583/531/121 746/544/121 582/532/121 +f 744/534/204 586/680/26 580/535/26 +f 745/537/25 580/275/25 582/277/25 +f 604/539/25 745/537/25 590/538/25 +f 593/541/205 744/681/204 745/542/205 +f 746/544/121 588/284/121 590/286/121 +f 747/545/207 758/545/207 748/546/208 +f 749/682/209 588/683/243 746/684/9 +f 750/685/9 586/686/9 744/687/210 +f 752/553/9 757/688/9 753/554/9 +f 754/556/213 759/556/213 755/556/213 +f 750/557/214 757/557/214 752/558/214 +f 751/559/6 753/559/6 757/557/6 +f 585/558/214 752/558/214 758/545/214 +f 759/556/215 754/556/244 753/559/216 +f 758/560/9 752/689/9 754/561/212 +f 755/556/219 761/546/245 760/546/220 +f 749/546/222 748/546/222 760/546/222 +f 754/556/212 756/556/223 760/546/223 +f 591/563/246 588/563/243 761/563/247 +f 588/563/243 749/563/209 761/563/247 +f 744/563/210 593/563/248 755/563/224 +f 593/563/248 591/563/249 761/563/250 +f 755/563/224 593/563/248 761/563/250 +f 759/563/251 751/563/211 755/563/224 +f 766/690/252 767/691/252 768/692/252 +f 769/693/253 770/694/253 767/691/253 +f 771/695/254 772/696/254 770/694/254 +f 773/697/255 774/698/255 772/696/255 +f 775/699/256 776/700/256 774/698/256 +f 777/701/257 778/702/257 776/700/257 +f 779/703/258 780/704/258 778/702/258 +f 781/705/259 782/706/259 780/704/259 +f 783/707/260 784/708/260 782/706/260 +f 785/709/261 786/710/261 784/708/261 +f 787/711/262 788/712/262 786/710/262 +f 789/713/263 790/714/263 788/712/263 +f 791/715/264 792/716/264 790/714/264 +f 793/717/265 794/718/265 792/716/265 +f 795/719/266 796/720/266 794/718/266 +f 797/721/267 798/722/267 796/720/267 +f 799/723/268 800/724/268 798/722/268 +f 801/725/269 802/726/269 800/724/269 +f 803/727/270 804/728/270 802/726/270 +f 805/729/271 806/730/271 804/728/271 +f 807/731/272 808/732/272 806/730/272 +f 809/733/273 810/734/273 808/732/273 +f 811/735/274 812/736/274 810/734/274 +f 813/737/275 814/738/275 812/736/275 +f 815/739/268 816/740/268 817/740/268 +f 815/739/2 769/741/2 766/742/276 +f 817/740/2 771/743/2 769/741/2 +f 818/744/2 771/743/2 819/745/2 +f 820/746/2 773/747/2 818/744/2 +f 820/746/2 777/748/2 775/749/2 +f 821/750/2 779/751/2 777/748/2 +f 822/752/2 779/751/2 823/753/2 +f 824/754/2 781/755/2 822/752/2 +f 824/754/2 785/756/2 783/757/2 +f 825/758/2 787/759/2 785/756/2 +f 826/760/2 787/759/2 827/761/2 +f 828/762/2 789/763/2 826/760/2 +f 828/762/2 793/764/2 791/765/2 +f 829/766/2 795/767/2 793/764/2 +f 830/768/2 795/767/2 831/769/2 +f 832/770/2 797/771/2 830/768/2 +f 832/770/2 801/772/2 799/773/2 +f 833/774/2 803/775/2 801/772/2 +f 834/776/2 803/775/2 835/777/2 +f 836/778/2 805/779/2 834/776/2 +f 836/778/2 809/780/2 807/781/2 +f 837/782/2 811/783/2 809/780/2 +f 838/784/2 813/785/2 811/783/2 +f 839/786/2 840/787/277 813/785/2 +f 841/788/263 842/789/263 843/789/263 +f 831/769/278 844/768/278 830/768/278 +f 817/740/269 845/745/269 819/745/269 +f 830/768/279 846/770/279 832/770/279 +f 819/745/270 847/744/270 818/744/270 +f 832/770/252 848/774/252 833/774/252 +f 818/744/271 849/746/271 820/746/271 +f 833/774/253 850/777/253 835/777/253 +f 820/746/272 851/750/272 821/750/272 +f 835/777/254 852/776/254 834/776/254 +f 821/750/273 853/753/273 823/753/273 +f 834/776/255 854/778/255 836/778/255 +f 823/753/274 855/752/274 822/752/274 +f 836/778/256 856/782/256 837/782/256 +f 822/752/275 857/754/275 824/754/275 +f 837/782/257 858/784/257 838/784/257 +f 824/754/280 859/758/280 825/758/280 +f 838/784/258 860/786/258 839/786/258 +f 825/758/281 861/761/281 827/761/281 +f 843/789/264 862/790/264 863/790/264 +f 839/786/259 864/791/259 865/791/259 +f 827/761/282 866/760/282 826/760/282 +f 863/790/265 867/792/265 868/792/265 +f 865/791/260 869/793/260 870/793/260 +f 826/760/283 871/762/283 828/762/283 +f 868/792/266 872/794/266 873/794/266 +f 870/793/261 874/795/261 875/795/261 +f 828/762/284 876/766/284 829/766/284 +f 873/794/267 877/739/267 815/739/267 +f 875/795/262 878/788/262 841/788/262 +f 829/766/285 879/769/285 831/769/285 +f 880/796/8 768/797/8 767/798/8 +f 880/796/8 770/799/8 881/800/8 +f 882/801/8 770/799/8 772/802/8 +f 882/801/8 774/803/8 883/804/8 +f 884/805/8 774/803/8 776/806/8 +f 884/805/8 778/807/8 885/808/8 +f 885/808/8 780/809/8 886/810/8 +f 886/810/8 782/811/8 887/812/8 +f 888/813/8 782/811/8 784/814/8 +f 888/813/8 786/815/8 889/816/8 +f 890/817/8 786/815/8 788/818/8 +f 890/817/8 790/819/8 891/820/8 +f 892/821/8 790/819/8 792/822/8 +f 892/821/8 794/823/8 893/824/8 +f 894/825/8 794/823/8 796/826/8 +f 894/825/8 798/827/8 895/828/8 +f 896/829/8 798/827/8 800/830/8 +f 896/829/8 802/831/8 897/832/8 +f 898/833/8 802/831/8 804/834/8 +f 898/833/8 806/835/8 899/836/8 +f 900/837/8 806/835/8 808/838/8 +f 900/837/8 810/839/8 901/840/8 +f 902/841/8 810/839/8 812/842/8 +f 902/841/8 814/843/286 903/844/8 +f 904/845/25 905/846/25 906/847/25 +f 907/848/2 908/849/2 905/846/2 +f 909/850/9 910/851/9 908/849/9 +f 911/852/8 906/853/8 910/851/8 +f 908/849/6 906/854/6 905/855/6 +f 766/690/279 912/856/287 913/857/279 +f 814/738/288 914/858/289 915/859/289 +f 863/790/2 916/860/2 843/789/2 +f 868/792/2 917/861/2 863/790/2 +f 873/794/2 918/862/2 868/792/2 +f 815/739/2 913/863/290 919/864/2 +f 865/791/2 920/865/2 914/866/291 +f 870/793/2 921/867/2 920/865/2 +f 875/795/2 922/868/2 921/867/2 +f 841/788/2 916/860/2 922/868/2 +f 923/869/8 924/870/8 925/871/8 +f 926/872/8 925/871/8 927/873/8 +f 928/874/8 927/873/8 929/875/8 +f 930/876/8 928/874/8 929/875/8 +f 903/844/8 814/843/286 915/877/292 +f 931/878/8 932/879/8 933/880/8 +f 934/881/8 935/882/8 931/878/8 +f 924/870/8 936/883/8 934/881/8 +f 912/884/26 911/852/26 909/850/26 +f 907/885/26 915/886/26 914/887/26 +f 766/690/252 769/693/252 767/691/252 +f 769/693/253 771/695/253 770/694/253 +f 771/695/254 773/697/254 772/696/254 +f 773/697/255 775/699/255 774/698/255 +f 775/699/256 777/701/256 776/700/256 +f 777/701/257 779/703/257 778/702/257 +f 779/703/258 781/705/258 780/704/258 +f 781/705/259 783/707/259 782/706/259 +f 783/707/260 785/709/260 784/708/260 +f 785/709/261 787/711/261 786/710/261 +f 787/711/262 789/713/262 788/712/262 +f 789/713/263 791/715/263 790/714/263 +f 791/715/264 793/717/264 792/716/264 +f 793/717/265 795/719/265 794/718/265 +f 795/719/266 797/721/266 796/720/266 +f 797/721/267 799/723/267 798/722/267 +f 799/723/268 801/725/268 800/724/268 +f 801/725/269 803/727/269 802/726/269 +f 803/727/270 805/729/270 804/728/270 +f 805/729/271 807/731/271 806/730/271 +f 807/731/272 809/733/272 808/732/272 +f 809/733/273 811/735/273 810/734/273 +f 811/735/274 813/737/274 812/736/274 +f 813/737/275 840/888/275 814/738/275 +f 815/739/268 877/739/268 816/740/268 +f 815/739/2 817/740/2 769/741/2 +f 817/740/2 819/745/2 771/743/2 +f 818/744/2 773/747/2 771/743/2 +f 820/746/2 775/749/2 773/747/2 +f 820/746/2 821/750/2 777/748/2 +f 821/750/2 823/753/2 779/751/2 +f 822/752/2 781/755/2 779/751/2 +f 824/754/2 783/757/2 781/755/2 +f 824/754/2 825/758/2 785/756/2 +f 825/758/2 827/761/2 787/759/2 +f 826/760/2 789/763/2 787/759/2 +f 828/762/2 791/765/2 789/763/2 +f 828/762/2 829/766/2 793/764/2 +f 829/766/2 831/769/2 795/767/2 +f 830/768/2 797/771/2 795/767/2 +f 832/770/2 799/773/2 797/771/2 +f 832/770/2 833/774/2 801/772/2 +f 833/774/2 835/777/2 803/775/2 +f 834/776/2 805/779/2 803/775/2 +f 836/778/2 807/781/2 805/779/2 +f 836/778/2 837/782/2 809/780/2 +f 837/782/2 838/784/2 811/783/2 +f 838/784/2 839/786/2 813/785/2 +f 839/786/2 865/791/2 840/787/277 +f 841/788/263 878/788/263 842/789/263 +f 831/769/278 879/769/278 844/768/278 +f 817/740/269 816/740/269 845/745/269 +f 830/768/279 844/768/279 846/770/279 +f 819/745/270 845/745/270 847/744/270 +f 832/770/252 846/770/252 848/774/252 +f 818/744/271 847/744/271 849/746/271 +f 833/774/253 848/774/253 850/777/253 +f 820/746/272 849/746/272 851/750/272 +f 835/777/254 850/777/254 852/776/254 +f 821/750/273 851/750/273 853/753/273 +f 834/776/255 852/776/255 854/778/255 +f 823/753/274 853/753/274 855/752/274 +f 836/778/256 854/778/256 856/782/256 +f 822/752/275 855/752/275 857/754/275 +f 837/782/257 856/782/257 858/784/257 +f 824/754/280 857/754/280 859/758/280 +f 838/784/258 858/784/258 860/786/258 +f 825/758/281 859/758/281 861/761/281 +f 843/789/264 842/789/264 862/790/264 +f 839/786/259 860/786/259 864/791/259 +f 827/761/282 861/761/282 866/760/282 +f 863/790/265 862/790/265 867/792/265 +f 865/791/260 864/791/260 869/793/260 +f 826/760/283 866/760/283 871/762/283 +f 868/792/266 867/792/266 872/794/266 +f 870/793/261 869/793/261 874/795/261 +f 828/762/284 871/762/284 876/766/284 +f 873/794/267 872/794/267 877/739/267 +f 875/795/262 874/795/262 878/788/262 +f 829/766/285 876/766/285 879/769/285 +f 880/796/8 930/876/8 768/797/8 +f 880/796/8 767/798/8 770/799/8 +f 882/801/8 881/800/8 770/799/8 +f 882/801/8 772/802/8 774/803/8 +f 884/805/8 883/804/8 774/803/8 +f 884/805/8 776/806/8 778/807/8 +f 885/808/8 778/807/8 780/809/8 +f 886/810/8 780/809/8 782/811/8 +f 888/813/8 887/812/8 782/811/8 +f 888/813/8 784/814/8 786/815/8 +f 890/817/8 889/816/8 786/815/8 +f 890/817/8 788/818/8 790/819/8 +f 892/821/8 891/820/8 790/819/8 +f 892/821/8 792/822/8 794/823/8 +f 894/825/8 893/824/8 794/823/8 +f 894/825/8 796/826/8 798/827/8 +f 896/829/8 895/828/8 798/827/8 +f 896/829/8 800/830/8 802/831/8 +f 898/833/8 897/832/8 802/831/8 +f 898/833/8 804/834/8 806/835/8 +f 900/837/8 899/836/8 806/835/8 +f 900/837/8 808/838/8 810/839/8 +f 902/841/8 901/840/8 810/839/8 +f 902/841/8 812/842/8 814/843/286 +f 904/845/25 907/848/25 905/846/25 +f 907/848/2 909/850/2 908/849/2 +f 909/850/9 911/852/9 910/851/9 +f 911/852/8 904/889/8 906/853/8 +f 908/849/6 910/851/6 906/854/6 +f 766/690/279 768/692/287 912/856/287 +f 814/738/288 840/888/289 914/858/289 +f 863/790/2 917/861/2 916/860/2 +f 868/792/2 918/862/2 917/861/2 +f 873/794/2 919/864/2 918/862/2 +f 919/864/2 873/794/2 815/739/2 +f 815/739/2 766/742/276 913/863/290 +f 914/866/291 840/787/277 865/791/2 +f 865/791/2 870/793/2 920/865/2 +f 870/793/2 875/795/2 921/867/2 +f 875/795/2 841/788/2 922/868/2 +f 841/788/2 843/789/2 916/860/2 +f 923/869/8 937/890/8 924/870/8 +f 926/872/8 923/869/8 925/871/8 +f 928/874/8 926/872/8 927/873/8 +f 929/875/8 912/891/8 930/876/8 +f 912/891/8 768/797/8 930/876/8 +f 915/877/292 933/880/8 903/844/8 +f 933/880/8 932/879/8 903/844/8 +f 931/878/8 935/882/8 932/879/8 +f 934/881/8 936/883/8 935/882/8 +f 924/870/8 937/890/8 936/883/8 +f 933/892/26 915/886/26 904/893/26 +f 909/850/26 907/885/26 916/894/26 +f 907/885/26 914/887/26 920/895/26 +f 920/895/26 921/896/26 907/885/26 +f 921/896/26 922/897/26 907/885/26 +f 907/885/26 922/897/26 916/894/26 +f 933/892/26 904/893/26 931/898/26 +f 904/893/26 911/852/26 924/899/26 +f 931/898/26 904/893/26 934/900/26 +f 924/899/26 934/900/26 904/893/26 +f 916/894/26 917/901/26 909/850/26 +f 917/901/26 918/902/26 909/850/26 +f 929/903/26 927/904/26 911/852/26 +f 927/904/26 925/905/26 911/852/26 +f 925/905/26 924/899/26 911/852/26 +f 918/902/26 919/906/26 909/850/26 +f 919/906/26 913/907/26 909/850/26 +f 912/884/26 929/903/26 911/852/26 +f 913/907/26 912/884/26 909/850/26 +f 907/885/26 904/893/26 915/886/26 +f 938/908/293 939/909/293 940/910/293 +f 939/909/294 941/911/294 940/910/294 +f 942/912/295 943/913/295 941/911/295 +f 944/914/296 938/915/296 943/913/296 +f 941/911/6 938/916/6 940/917/6 +f 939/918/26 944/914/26 942/912/26 +f 945/919/297 946/909/297 947/920/297 +f 946/909/298 948/921/298 947/920/298 +f 949/912/299 950/922/299 948/921/299 +f 951/923/300 945/924/301 950/925/301 +f 952/911/6 953/916/6 954/917/6 +f 946/918/26 951/914/26 949/912/26 +f 950/922/301 953/915/301 955/913/301 +f 948/921/299 955/913/299 952/911/299 +f 947/920/298 952/911/298 954/910/298 +f 953/908/297 947/920/297 954/910/297 +f 956/908/302 957/909/302 958/910/302 +f 958/910/303 959/912/303 960/911/303 +f 959/912/304 961/913/304 960/911/304 +f 962/914/305 956/915/305 961/913/305 +f 960/911/306 956/916/306 958/917/306 +f 957/918/307 962/914/307 959/912/307 +f 963/908/308 964/909/308 965/910/309 +f 964/909/310 966/911/310 965/910/310 +f 967/912/311 968/913/311 966/911/311 +f 969/914/312 963/915/312 968/913/312 +f 966/911/313 963/916/313 965/917/313 +f 964/918/314 969/914/314 967/912/314 +f 938/908/293 970/926/293 939/909/293 +f 939/909/294 942/912/294 941/911/294 +f 942/912/295 944/914/295 943/913/295 +f 944/914/296 970/927/296 938/915/296 +f 941/911/6 943/913/6 938/916/6 +f 939/918/26 970/928/26 944/914/26 +f 945/919/297 971/926/297 946/909/297 +f 946/909/298 949/912/298 948/921/298 +f 949/912/299 951/914/299 950/922/299 +f 951/923/300 971/929/300 945/924/301 +f 952/911/6 955/913/6 953/916/6 +f 946/918/26 971/928/26 951/914/26 +f 950/922/301 945/930/301 953/915/301 +f 948/921/299 950/922/299 955/913/299 +f 947/920/298 948/921/298 952/911/298 +f 953/908/297 945/919/297 947/920/297 +f 956/908/302 972/926/302 957/909/302 +f 958/910/303 957/909/303 959/912/303 +f 959/912/304 962/914/315 961/913/304 +f 962/914/305 972/927/305 956/915/305 +f 960/911/306 961/913/306 956/916/306 +f 957/918/307 972/928/307 962/914/307 +f 963/908/308 973/926/308 964/909/308 +f 964/909/310 967/912/310 966/911/310 +f 967/912/311 969/914/311 968/913/311 +f 969/914/312 973/927/316 963/915/312 +f 966/911/313 968/913/313 963/916/313 +f 964/918/314 973/928/314 969/914/314 +o Shell +v -0.317579 2.171942 1.847565 +v 0.000000 2.303487 -0.098938 +v -0.317579 2.171942 -0.098938 +v 0.449124 1.854363 1.847565 +v 0.317579 1.536785 -0.098938 +v 0.449124 1.854363 -0.098938 +v 0.317579 1.536785 1.847565 +v 0.000000 1.405240 -0.098938 +v 0.000000 1.405239 1.847565 +v -0.317579 1.536785 -0.098938 +v -0.317579 1.536785 1.847565 +v -0.449124 1.854363 -0.098938 +v -0.449124 1.854363 1.847565 +v 0.000000 2.303487 1.847565 +v 0.317579 2.171942 -0.098938 +v 0.317579 2.171942 1.847565 +v 0.353356 2.207720 1.877207 +v 0.499721 1.854363 1.877207 +v 0.353356 1.501007 1.877207 +v 0.000000 1.354642 1.877207 +v -0.353356 1.501007 1.877207 +v -0.499721 1.854363 1.877207 +v -0.353356 2.207720 1.877207 +v 0.000000 2.354084 1.877207 +vn -0.3827 0.9239 -0.0000 +vn 0.9239 -0.3827 -0.0000 +vn 0.3827 -0.9239 -0.0000 +vn -0.3827 -0.9239 -0.0000 +vn -0.9239 -0.3827 -0.0000 +vn -0.9239 0.3827 -0.0000 +vn 0.3827 0.9239 -0.0000 +vn 0.9239 0.3827 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn 0.2049 0.4948 -0.8445 +vn 0.4948 0.2049 -0.8445 +vn 0.4948 -0.2049 -0.8445 +vn 0.2049 -0.4948 -0.8445 +vn -0.2049 -0.4948 -0.8445 +vn -0.4948 -0.2049 -0.8445 +vn -0.4948 0.2049 -0.8445 +vn -0.2049 0.4948 -0.8445 +vn -0.0000 -0.0000 1.0000 +vt 0.125000 0.577656 +vt 0.000000 0.516094 +vt 0.125000 0.516094 +vt 0.750000 0.577656 +vt 0.625000 0.516094 +vt 0.750000 0.516094 +vt 0.625000 0.577656 +vt 0.500000 0.516094 +vt 0.500000 0.577656 +vt 0.375000 0.516094 +vt 0.375000 0.577656 +vt 0.250000 0.516094 +vt 0.250000 0.577656 +vt 1.000000 0.577656 +vt 0.875000 0.516094 +vt 1.000000 0.516094 +vt 0.875000 0.577656 +vt 0.707574 0.516599 +vt 0.690000 0.537812 +vt 0.707574 0.559026 +vt 0.218750 0.446250 +vt 0.195693 0.450000 +vt 0.195312 0.446250 +vt 0.172255 0.450000 +vt 0.171875 0.446250 +vt 0.148438 0.446250 +vt 0.171494 0.450000 +vt 0.148818 0.450000 +vt 0.125000 0.446250 +vt 0.148057 0.450000 +vt 0.125380 0.450000 +vt 0.101943 0.450000 +vt 0.101562 0.446250 +vt 0.078505 0.450000 +vt 0.078125 0.446250 +vt 0.054688 0.446250 +vt 0.077745 0.450000 +vt 0.055068 0.450000 +vt 0.031250 0.446250 +vt 0.054307 0.450000 +vt 0.031630 0.450000 +vt 0.013897 0.440000 +vt 0.130000 0.381948 +vt 0.246103 0.440000 +vt 0.000000 0.577656 +vt 0.750000 0.567813 +vt 0.792426 0.516599 +vt 0.792426 0.559026 +vt 0.810000 0.537812 +vt 0.750000 0.507812 +vt 0.218369 0.450000 +vt 0.194932 0.450000 +vt 0.124620 0.450000 +vt 0.101182 0.450000 +vt 0.212097 0.481049 +vt 0.130000 0.498052 +vt 0.047903 0.481049 +vt 0.047903 0.398951 +vt 0.212097 0.398951 +s 1 +f 974/931/317 975/932/317 976/933/317 +f 977/934/318 978/935/318 979/936/318 +f 980/937/319 981/938/319 978/935/319 +f 982/939/320 983/940/320 981/938/320 +f 984/941/321 985/942/321 983/940/321 +f 986/943/322 976/933/322 985/942/322 +f 987/944/323 988/945/323 975/946/323 +f 989/947/324 979/936/324 988/945/324 +f 983/948/325 985/949/325 976/950/325 +f 987/951/326 990/952/326 989/953/326 +f 989/953/327 991/954/327 977/955/327 +f 980/956/328 991/957/328 992/958/328 +f 982/959/329 992/960/329 993/961/329 +f 982/959/330 994/962/330 984/963/330 +f 984/963/331 995/964/331 986/965/331 +f 974/966/332 995/967/332 996/968/332 +f 987/969/333 996/970/333 997/971/333 +f 995/972/334 993/973/334 991/974/334 +f 974/931/317 987/975/317 975/932/317 +f 977/934/318 980/937/318 978/935/318 +f 980/937/319 982/939/319 981/938/319 +f 982/939/320 984/941/320 983/940/320 +f 984/941/321 986/943/321 985/942/321 +f 986/943/322 974/931/322 976/933/322 +f 987/944/323 989/947/323 988/945/323 +f 989/947/324 977/934/324 979/936/324 +f 976/950/325 975/976/325 978/977/325 +f 975/976/325 988/978/325 978/977/325 +f 988/978/325 979/979/325 978/977/325 +f 978/977/325 981/980/325 976/950/325 +f 981/980/325 983/948/325 976/950/325 +f 987/951/326 997/981/326 990/952/326 +f 989/953/327 990/982/327 991/954/327 +f 980/956/328 977/955/328 991/957/328 +f 982/959/329 980/956/329 992/960/329 +f 982/959/330 993/983/330 994/962/330 +f 984/963/331 994/984/331 995/964/331 +f 974/966/332 986/965/332 995/967/332 +f 987/969/333 974/966/333 996/970/333 +f 991/974/334 990/985/334 997/986/334 +f 997/986/334 996/987/334 995/972/334 +f 995/972/334 994/988/334 993/973/334 +f 993/973/334 992/989/334 991/974/334 +f 991/974/334 997/986/334 995/972/334 +o Bolt +v 1.237626 1.558533 -0.244676 +v 1.237626 1.347644 -0.338365 +v 1.237626 1.434997 -0.564550 +v 0.258755 0.970245 -0.742828 +v 0.364785 1.014616 5.211916 +v 0.258755 0.970245 5.211916 +v 0.364785 1.014616 -0.742828 +v 0.462503 1.086671 5.211916 +v 0.462503 1.086670 -0.742828 +v 0.548153 1.183639 5.211916 +v 0.548153 1.183639 -0.742828 +v 0.618444 1.301795 5.211916 +v 0.713701 1.734985 -0.742828 +v 0.702840 1.870972 2.886101 +v 0.713701 1.734986 3.385809 +v 0.702840 1.887102 -0.742828 +v 0.670676 2.017243 2.886101 +v 0.670676 2.033372 -0.742828 +v 0.618444 2.152046 2.886101 +v 0.618444 2.168175 -0.742828 +v 0.548153 2.270203 2.886101 +v 0.548153 2.286332 -0.742828 +v 0.462503 2.367172 2.886101 +v 0.462503 2.383301 -0.742828 +v 0.364785 2.439226 2.886101 +v 0.364785 2.455355 -0.742828 +v 0.258755 2.483597 2.886101 +v 0.685123 1.502331 -0.577728 +v 1.237626 1.465275 -0.574402 +v 0.678109 1.472589 -0.574402 +v 0.671364 1.443991 -0.564550 +v 1.237626 1.407092 -0.548553 +v 0.660936 1.417635 -0.548553 +v 0.670676 1.441072 -0.562778 +v 1.237626 1.382633 -0.527024 +v 0.651336 1.394533 -0.527024 +v 1.237626 1.362560 -0.500791 +v 0.643457 1.375574 -0.500791 +v 1.237626 1.347644 -0.470861 +v 0.637602 1.361486 -0.470861 +v 1.237626 1.338459 -0.438386 +v 0.633997 1.352811 -0.438386 +v 1.237626 1.335358 -0.404613 +v 0.632780 1.349882 -0.404613 +v 0.633997 1.352811 -0.370840 +v 1.237626 1.338459 -0.370840 +v 0.637602 1.361486 -0.338365 +v 0.643457 1.375574 -0.308436 +v 1.237626 1.362560 -0.308436 +v 0.651336 1.394533 -0.282203 +v 1.237626 1.382633 -0.282203 +v 0.660936 1.417635 -0.260674 +v 1.237626 1.407092 -0.260674 +v 0.671364 1.443991 -0.244676 +v 0.670676 1.441072 -0.246449 +v 1.237626 1.434997 -0.244676 +v 0.678109 1.472590 -0.234825 +v 1.237626 1.465276 -0.234825 +v 0.685123 1.502331 -0.231499 +v 1.237626 1.496765 -0.231499 +v 0.692138 1.532073 -0.234825 +v 1.237626 1.528254 -0.234825 +v 0.698882 1.560671 -0.244676 +v 1.237626 1.586437 -0.260674 +v 0.703573 1.587027 -0.260674 +v 0.702840 1.577450 -0.254860 +v 0.705341 1.610129 -0.282203 +v 1.237626 1.610896 -0.282203 +v 0.706793 1.629088 -0.308436 +v 1.237626 1.630969 -0.308436 +v 0.707873 1.643176 -0.338366 +v 1.237626 1.645885 -0.338366 +v 0.708536 1.651851 -0.370841 +v 1.237626 1.655070 -0.370841 +v 0.708760 1.654780 -0.404613 +v 1.237626 1.655070 -0.438387 +v 0.708536 1.651851 -0.438387 +v 1.237626 1.645884 -0.470862 +v 0.707873 1.643175 -0.470862 +v 1.237626 1.630969 -0.500791 +v 0.706793 1.629088 -0.500791 +v 1.237626 1.610896 -0.527024 +v 0.705341 1.610129 -0.527024 +v 1.237626 1.586437 -0.548553 +v 0.703573 1.587027 -0.548553 +v 1.237626 1.558532 -0.564551 +v 0.698882 1.560670 -0.564551 +v 0.702840 1.577450 -0.554366 +v 1.237626 1.528253 -0.574402 +v 0.692138 1.532072 -0.574402 +v 1.237626 1.496765 -0.577728 +v 0.618444 1.301795 -0.742828 +v 0.670676 1.436599 5.211916 +v 0.702840 1.582869 -0.742828 +v 1.237626 1.658171 -0.404613 +v 0.258755 2.499726 -0.742828 +v 0.670676 1.436599 -0.742828 +v 0.702840 1.582870 5.211916 +v 0.329833 0.917553 -0.742828 +vn 1.0000 -0.0000 -0.0000 +vn 0.3860 -0.9225 -0.0000 +vn 0.5935 -0.8049 -0.0000 +vn 0.7495 -0.6620 -0.0000 +vn 0.8594 -0.5113 -0.0000 +vn 0.9974 0.0714 0.0003 +vn 0.9968 0.0795 -0.0000 +vn 0.9968 0.0796 -0.0000 +vn 0.9767 0.2148 0.0010 +vn 0.9325 0.3613 0.0016 +vn 0.8594 0.5113 0.0023 +vn 0.7495 0.6620 0.0029 +vn 0.5935 0.8048 0.0036 +vn 0.3860 0.9225 0.0041 +vn -0.0014 -0.1106 -0.9939 +vn -0.0011 -0.1052 -0.9944 +vn -0.0014 -0.1108 -0.9938 +vn -0.0051 -0.3241 -0.9460 +vn -0.0041 -0.3099 -0.9507 +vn -0.0052 -0.3246 -0.9458 +vn -0.0080 -0.4980 -0.8671 +vn -0.0094 -0.5160 -0.8566 +vn -0.0095 -0.5165 -0.8562 +vn -0.0137 -0.6781 -0.7348 +vn -0.0121 -0.6613 -0.7500 +vn -0.0138 -0.6786 -0.7343 +vn -0.0176 -0.8074 -0.5897 +vn -0.0162 -0.7946 -0.6070 +vn -0.0177 -0.8078 -0.5892 +vn -0.0208 -0.9027 -0.4297 +vn -0.0196 -0.8951 -0.4454 +vn -0.0208 -0.9030 -0.4291 +vn -0.0229 -0.9651 -0.2608 +vn -0.0222 -0.9621 -0.2717 +vn -0.0229 -0.9652 -0.2604 +vn -0.0239 -0.9959 -0.0874 +vn -0.0237 -0.9955 -0.0913 +vn -0.0239 -0.9959 -0.0872 +vn -0.0237 -0.9955 0.0913 +vn -0.0239 -0.9959 0.0874 +vn -0.0239 -0.9959 0.0872 +vn -0.0222 -0.9621 0.2717 +vn -0.0229 -0.9651 0.2608 +vn -0.0229 -0.9652 0.2604 +vn -0.0196 -0.8951 0.4454 +vn -0.0208 -0.9027 0.4297 +vn -0.0208 -0.9030 0.4291 +vn -0.0162 -0.7946 0.6070 +vn -0.0176 -0.8074 0.5897 +vn -0.0177 -0.8078 0.5891 +vn -0.0121 -0.6613 0.7500 +vn -0.0137 -0.6781 0.7348 +vn -0.0138 -0.6786 0.7343 +vn -0.0080 -0.4980 0.8671 +vn -0.0095 -0.5168 0.8561 +vn -0.0095 -0.5166 0.8562 +vn -0.0041 -0.3099 0.9508 +vn -0.0051 -0.3241 0.9460 +vn -0.0052 -0.3246 0.9458 +vn -0.0011 -0.1052 0.9944 +vn -0.0014 -0.1106 0.9939 +vn -0.0014 -0.1108 0.9938 +vn 0.0007 0.1052 0.9944 +vn 0.0011 0.1107 0.9939 +vn 0.0011 0.1109 0.9938 +vn 0.0013 0.3099 0.9508 +vn 0.0022 0.3247 0.9458 +vn 0.0023 0.3252 0.9456 +vn 0.0011 0.4977 0.8674 +vn 0.0006 0.5189 0.8548 +vn 0.0014 0.5183 0.8552 +vn -0.0009 0.6615 0.7499 +vn 0.0007 0.6810 0.7323 +vn 0.0008 0.6817 0.7316 +vn -0.0028 0.7948 0.6068 +vn -0.0012 0.8099 0.5866 +vn -0.0012 0.8105 0.5857 +vn -0.0045 0.8954 0.4452 +vn -0.0033 0.9044 0.4266 +vn -0.0032 0.9048 0.4258 +vn -0.0058 0.9624 0.2716 +vn -0.0050 0.9660 0.2585 +vn -0.0049 0.9661 0.2580 +vn -0.0064 0.9958 0.0912 +vn -0.0061 0.9962 0.0866 +vn -0.0061 0.9962 0.0864 +vn -0.0061 0.9962 -0.0866 +vn -0.0064 0.9958 -0.0912 +vn -0.0061 0.9962 -0.0864 +vn -0.0050 0.9660 -0.2586 +vn -0.0058 0.9624 -0.2716 +vn -0.0049 0.9661 -0.2580 +vn -0.0033 0.9044 -0.4266 +vn -0.0045 0.8954 -0.4452 +vn -0.0032 0.9048 -0.4258 +vn -0.0012 0.8099 -0.5866 +vn -0.0028 0.7948 -0.6068 +vn -0.0012 0.8105 -0.5857 +vn 0.0007 0.6810 -0.7323 +vn -0.0009 0.6615 -0.7499 +vn 0.0008 0.6817 -0.7316 +vn 0.0011 0.4979 -0.8673 +vn 0.0021 0.5185 -0.8551 +vn 0.0014 0.5183 -0.8552 +vn 0.0022 0.3247 -0.9458 +vn 0.0013 0.3100 -0.9508 +vn 0.0023 0.3252 -0.9456 +vn 0.0011 0.1107 -0.9939 +vn 0.0007 0.1052 -0.9944 +vn 0.0011 0.1109 -0.9938 +vn 0.9351 -0.3543 0.0111 +vn 0.9914 -0.1289 -0.0237 +vn 0.9549 -0.2969 -0.0005 +vn 0.9733 -0.2295 -0.0002 +vn 0.9737 -0.2276 -0.0068 +vn 0.9736 -0.2281 -0.0069 +vn 0.9734 -0.2288 -0.0072 +vn 0.9977 -0.0677 -0.0018 +vn 0.9985 -0.0542 0.0017 +vn 0.9978 -0.0660 -0.0011 +vn 1.0000 -0.0000 -0.0001 +vn 1.0000 -0.0000 0.0001 +vn 0.9975 0.0712 0.0003 +vn -0.0011 -0.1050 -0.9945 +vn -0.0040 -0.3094 -0.9509 +vn -0.0095 -0.5166 -0.8562 +vn -0.0079 -0.4973 -0.8675 +vn -0.0121 -0.6607 -0.7506 +vn -0.0161 -0.7941 -0.6076 +vn -0.0196 -0.8948 -0.4460 +vn -0.0222 -0.9620 -0.2721 +vn -0.0237 -0.9955 -0.0914 +vn -0.0237 -0.9955 0.0914 +vn -0.0222 -0.9620 0.2721 +vn -0.0196 -0.8948 0.4460 +vn -0.0161 -0.7941 0.6076 +vn -0.0121 -0.6607 0.7506 +vn -0.0094 -0.5160 0.8566 +vn -0.0079 -0.4974 0.8675 +vn -0.0040 -0.3094 0.9509 +vn -0.0011 -0.1050 0.9945 +vn 0.0007 0.1050 0.9945 +vn 0.0012 0.3094 0.9509 +vn 0.0021 0.5185 0.8551 +vn 0.0011 0.4979 0.8673 +vn -0.0010 0.6607 0.7506 +vn -0.0028 0.7942 0.6077 +vn -0.0046 0.8950 0.4460 +vn -0.0059 0.9622 0.2721 +vn -0.0064 0.9958 0.0914 +vn -0.0064 0.9958 -0.0914 +vn -0.0059 0.9622 -0.2722 +vn -0.0046 0.8950 -0.4460 +vn -0.0028 0.7942 -0.6077 +vn -0.0010 0.6607 -0.7506 +vn 0.0006 0.5188 -0.8549 +vn 0.0011 0.4976 -0.8674 +vn 0.0012 0.3094 -0.9509 +vn 0.0007 0.1050 -0.9945 +vn 0.9237 -0.3831 -0.0009 +vn 0.9236 -0.3833 -0.0009 +vn 0.9363 -0.3512 -0.0006 +vn 0.9325 -0.3613 -0.0003 +vn 0.9324 -0.3613 0.0115 +vn 0.9299 -0.3674 0.0157 +vn 0.9254 -0.3788 0.0094 +vn 0.9238 -0.3828 -0.0009 +vn 0.9241 -0.3822 -0.0009 +vn 0.9300 -0.3673 0.0161 +vn 0.9323 -0.3614 0.0138 +vn 0.9246 -0.3810 -0.0009 +vn 0.9361 -0.3515 0.0112 +vn 0.9448 -0.3276 0.0066 +vn 0.9733 -0.2295 0.0002 +vn 0.9766 -0.2149 -0.0000 +vn 0.9767 -0.2148 -0.0000 +vn 0.9734 -0.2293 0.0002 +vn 0.9733 -0.2294 -0.0002 +vn 0.9739 -0.2268 0.0056 +vn 0.9740 -0.2263 0.0056 +vn 0.9760 -0.2179 0.0014 +vn 0.9747 -0.2233 0.0036 +vn 0.9741 -0.2258 -0.0065 +vn 0.9740 -0.2264 -0.0066 +vn 0.9736 -0.2283 0.0058 +vn 0.9973 -0.0735 -0.0022 +vn 0.9972 -0.0750 -0.0022 +vn 0.9974 -0.0713 -0.0022 +vn 0.9975 -0.0704 0.0001 +vn 0.9980 -0.0628 0.0001 +vn 0.9971 -0.0760 0.0003 +vn 0.9971 -0.0761 0.0003 +vn 0.9971 -0.0759 0.0003 +vn 0.9975 -0.0712 -0.0022 +vn 0.9974 -0.0725 -0.0033 +vn 0.9973 -0.0730 -0.0036 +vn 0.9971 -0.0758 0.0003 +vn 0.9972 -0.0753 0.0003 +vn 0.9974 -0.0713 -0.0027 +vn 0.9976 -0.0695 -0.0021 vt 0.601212 0.686463 vt 0.607212 0.688948 vt 0.604727 0.694949 @@ -5454,374 +4685,496 @@ vt 0.575599 0.766884 vt 0.574686 0.766602 vt 0.569733 0.766884 vt 0.570646 0.766602 -vn 1.0000 0.0000 0.0000 -vn 0.5922 -0.8058 -0.0000 -vn 0.7915 -0.6112 -0.0000 -vn 0.8934 -0.4493 -0.0000 -vn 0.9471 -0.3208 -0.0000 -vn 0.9992 0.0407 0.0002 -vn 0.9990 0.0454 0.0000 -vn 0.9923 0.1242 0.0005 -vn 0.9765 0.2154 0.0009 -vn 0.9471 0.3208 0.0014 -vn 0.8934 0.4493 0.0019 -vn 0.7915 0.6112 0.0026 -vn 0.5922 0.8058 0.0035 -vn 0.0000 -0.0980 -0.9952 -vn 0.0000 -0.2903 -0.9569 -vn -0.0000 -0.4714 -0.8819 -vn 0.0000 -0.6344 -0.7730 -vn 0.0000 -0.7730 -0.6344 -vn 0.0000 -0.8819 -0.4714 -vn 0.0000 -0.9569 -0.2903 -vn 0.0000 -0.9952 -0.0980 -vn 0.0000 -0.9952 0.0980 -vn 0.0000 -0.9569 0.2903 -vn 0.0000 -0.8819 0.4714 -vn 0.0000 -0.7730 0.6344 -vn 0.0000 -0.6344 0.7730 -vn -0.0000 -0.4714 0.8819 -vn -0.0000 -0.4716 0.8818 -vn -0.0000 -0.4715 0.8819 -vn 0.0000 -0.2903 0.9569 -vn 0.0000 -0.0980 0.9952 -vn 0.0000 0.0980 0.9952 -vn 0.0000 0.2903 0.9569 -vn 0.0000 0.4714 0.8819 -vn 0.0000 0.6344 0.7730 -vn 0.0000 0.7730 0.6344 -vn 0.0000 0.8819 0.4714 -vn 0.0000 0.9569 0.2903 -vn 0.0000 0.9952 0.0980 -vn 0.0000 0.9952 -0.0980 -vn 0.0000 0.9569 -0.2903 -vn 0.0000 0.8819 -0.4714 -vn 0.0000 0.7730 -0.6344 -vn 0.0000 0.6344 -0.7730 -vn -0.0000 0.4714 -0.8819 -vn 0.0000 0.2903 -0.9569 -vn 0.0000 0.0980 -0.9952 -vn 0.9765 -0.2154 -0.0000 -vn 0.9766 -0.2150 -0.0000 -vn 0.9923 -0.1242 0.0000 -vn 0.9923 -0.1243 -0.0000 -vn 0.9992 -0.0406 0.0000 -vn 0.9992 -0.0407 -0.0000 -vn 0.9992 0.0406 0.0002 -vn 0.9765 -0.2155 0.0000 s 1 -f 974/2065/296 975/2066/296 976/2067/296 -f 977/2068/297 978/2069/297 979/2070/297 -f 980/2071/298 981/2072/298 978/2069/298 -f 982/2073/299 983/2074/299 981/2072/299 -f 984/2075/300 985/2076/300 983/2074/300 -f 986/2077/301 987/2078/302 988/2079/302 -f 989/2080/303 990/2081/303 987/2078/303 -f 991/2082/304 992/2083/304 990/2081/304 -f 993/2084/305 994/2085/305 992/2083/305 -f 995/2086/306 996/2087/306 994/2085/306 -f 997/2088/307 998/2089/307 996/2087/307 -f 999/2090/308 1000/2091/308 998/2089/308 -f 1001/2092/309 1002/2093/309 1003/2094/309 -f 1003/2094/310 976/2095/310 1004/2096/310 -f 1005/2097/311 1006/2098/311 1007/2099/311 -f 1006/2098/312 1008/2100/312 1009/2101/312 -f 1009/2101/313 1010/2102/313 1011/2103/313 -f 1011/2103/314 1012/2104/314 1013/2105/314 -f 1013/2105/315 1014/2106/315 1015/2107/315 -f 1015/2107/316 1016/2108/316 1017/2109/316 -f 1016/2108/317 1018/2110/317 1017/2109/317 -f 1019/2111/318 1020/2112/318 1018/2110/318 -f 975/2113/319 1021/2114/319 1020/2112/319 -f 1022/2115/320 1023/2116/320 1021/2114/320 -f 1024/2117/321 1025/2118/321 1023/2116/321 -f 1026/2119/322 1027/2120/323 1028/2121/324 -f 1029/2122/325 1030/2123/325 1027/2120/325 -f 1031/2124/326 1032/2125/326 1030/2123/326 -f 1033/2126/327 1034/2127/327 1032/2125/327 -f 1035/2128/328 1036/2129/328 1034/2127/328 -f 1037/2130/329 1038/2131/329 1039/2132/329 -f 1037/2130/330 1040/2133/330 1038/2131/330 -f 1041/2134/331 1042/2135/331 1040/2133/331 -f 1043/2136/332 1044/2137/332 1042/2135/332 -f 1045/2138/333 1046/2139/333 1044/2137/333 -f 1047/2140/334 1048/2141/334 1046/2139/334 -f 1048/2141/335 1049/2142/335 1050/2143/335 -f 1050/2143/336 1051/2144/336 1052/2145/336 -f 1052/2145/337 1053/2146/337 1054/2147/337 -f 1054/2147/338 1055/2148/338 1056/2149/338 -f 1056/2149/339 1057/2150/339 1058/2151/339 -f 1059/2152/340 1060/2153/340 1061/2154/340 -f 1060/2153/341 1062/2155/341 1063/2156/341 -f 1063/2156/342 1064/2157/342 1001/2158/342 -f 1065/2159/343 1017/2160/344 1018/2161/343 -f 1066/2162/345 1030/2163/345 1032/2164/345 -f 1067/2165/345 1063/2166/345 1001/2167/346 -f 986/2077/347 1048/2168/348 1050/2169/347 -f 976/2067/296 1002/2170/296 1064/2171/296 -f 1064/2171/296 1062/2172/296 1059/2173/296 -f 1059/2173/296 1057/2174/296 1051/2175/296 -f 1057/2174/296 1055/2176/296 1051/2175/296 -f 1055/2176/296 1053/2177/296 1051/2175/296 -f 1051/2175/296 1049/2178/296 1068/2179/296 -f 1068/2179/296 1047/2180/296 1045/2181/296 -f 1045/2181/296 1043/2182/296 1041/2183/296 -f 1041/2183/296 1037/2184/296 974/2065/296 -f 974/2065/296 1035/2185/296 1033/2186/296 -f 1033/2186/296 1031/2187/296 1029/2188/296 -f 1029/2188/296 1026/2189/296 975/2066/296 -f 1026/2189/296 1024/2190/296 975/2066/296 -f 1024/2190/296 1022/2191/296 975/2066/296 -f 975/2066/296 1019/2192/296 1016/2193/296 -f 1016/2193/296 1014/2194/296 1012/2195/296 -f 1012/2195/296 1010/2196/296 976/2067/296 -f 1010/2196/296 1008/2197/296 976/2067/296 -f 1008/2197/296 1005/2198/296 976/2067/296 -f 976/2067/296 1064/2171/296 1051/2175/296 -f 1064/2171/296 1059/2173/296 1051/2175/296 -f 1051/2175/296 1068/2179/296 1045/2181/296 -f 1045/2181/296 1041/2183/296 1051/2175/296 -f 1041/2183/296 974/2065/296 1051/2175/296 -f 974/2065/296 1033/2186/296 975/2066/296 -f 1033/2186/296 1029/2188/296 975/2066/296 -f 975/2066/296 1016/2193/296 976/2067/296 -f 1016/2193/296 1012/2195/296 976/2067/296 -f 976/2067/296 1051/2175/296 974/2065/296 -f 977/2068/297 980/2071/297 978/2069/297 -f 980/2071/298 982/2073/298 981/2072/298 -f 982/2073/299 984/2075/299 983/2074/299 -f 984/2075/300 1065/2159/300 985/2076/300 -f 986/2077/301 989/2080/349 987/2078/302 -f 989/2080/303 991/2082/303 990/2081/303 -f 991/2082/304 993/2084/304 992/2083/304 -f 993/2084/305 995/2086/305 994/2085/305 -f 995/2086/306 997/2088/306 996/2087/306 -f 997/2088/307 999/2090/307 998/2089/307 -f 999/2090/308 1069/2199/308 1000/2091/308 -f 1001/2092/309 1064/2200/309 1002/2093/309 -f 1003/2094/310 1002/2093/310 976/2095/310 -f 1007/2099/311 1004/2096/311 1005/2097/311 -f 1004/2096/311 976/2095/311 1005/2097/311 -f 1006/2098/312 1005/2097/312 1008/2100/312 -f 1009/2101/313 1008/2100/313 1010/2102/313 -f 1011/2103/314 1010/2102/314 1012/2104/314 -f 1013/2105/315 1012/2104/315 1014/2106/315 -f 1015/2107/316 1014/2106/316 1016/2108/316 -f 1016/2108/317 1019/2111/317 1018/2110/317 -f 1019/2111/318 975/2113/318 1020/2112/318 -f 975/2113/319 1022/2115/319 1021/2114/319 -f 1022/2115/320 1024/2117/320 1023/2116/320 -f 1024/2117/321 1026/2119/321 1025/2118/321 -f 1028/2121/324 1025/2118/322 1026/2119/322 -f 1026/2119/322 1029/2122/322 1027/2120/323 -f 1029/2122/325 1031/2124/325 1030/2123/325 -f 1031/2124/326 1033/2126/326 1032/2125/326 -f 1033/2126/327 1035/2128/327 1034/2127/327 -f 1035/2128/328 974/2201/328 1036/2129/328 -f 1039/2132/329 1036/2129/329 974/2201/329 -f 974/2201/329 1037/2130/329 1039/2132/329 -f 1037/2130/330 1041/2134/330 1040/2133/330 -f 1041/2134/331 1043/2136/331 1042/2135/331 -f 1043/2136/332 1045/2138/332 1044/2137/332 -f 1045/2138/333 1047/2140/333 1046/2139/333 -f 1047/2140/334 1068/2202/334 1048/2141/334 -f 1048/2141/335 1068/2202/335 1049/2142/335 -f 1050/2143/336 1049/2142/336 1051/2144/336 -f 1052/2145/337 1051/2144/337 1053/2146/337 -f 1054/2147/338 1053/2146/338 1055/2148/338 -f 1056/2149/339 1055/2148/339 1057/2150/339 -f 1061/2154/340 1058/2151/340 1057/2150/340 -f 1057/2150/340 1059/2152/340 1061/2154/340 -f 1060/2153/341 1059/2152/341 1062/2155/341 -f 1063/2156/342 1062/2155/342 1064/2157/342 -f 1025/2203/343 1028/2204/343 985/2076/343 -f 1028/2204/343 1066/2162/343 985/2076/343 -f 985/2076/343 1065/2159/343 1018/2161/343 -f 1065/2159/343 1070/2205/343 1006/2206/343 -f 1070/2205/343 1007/2207/343 1006/2206/343 -f 1023/2208/343 1025/2203/343 985/2076/343 -f 1021/2209/343 1023/2208/343 985/2076/343 -f 1065/2159/343 1006/2206/343 1009/2210/343 -f 1065/2159/343 1009/2210/343 1011/2211/343 -f 1020/2212/343 1021/2209/343 985/2076/343 -f 1018/2161/343 1020/2212/343 985/2076/343 -f 1065/2159/343 1011/2211/343 1013/2213/343 -f 1065/2159/343 1013/2213/343 1015/2214/350 -f 1065/2159/343 1015/2214/350 1017/2160/344 -f 1036/2215/345 1039/2216/346 1071/2217/345 -f 1071/2217/345 1066/2162/345 1032/2164/346 -f 1066/2162/345 1028/2204/345 1027/2218/345 -f 1066/2162/345 1027/2218/345 1030/2163/345 -f 1034/2219/345 1036/2215/345 1071/2217/345 -f 1032/2164/346 1034/2219/345 1071/2217/345 -f 1004/2220/345 1007/2207/345 1070/2205/345 -f 1070/2205/345 1067/2165/345 1001/2167/345 -f 1067/2165/345 1061/2221/345 1060/2222/345 -f 1067/2165/345 1060/2222/345 1063/2166/345 -f 1003/2223/345 1004/2220/345 1070/2205/345 -f 1001/2167/345 1003/2223/345 1070/2205/345 -f 1058/2224/347 1061/2221/347 1067/2165/347 -f 986/2077/347 988/2079/347 1046/2225/347 -f 988/2079/347 1071/2217/347 1039/2216/347 -f 986/2077/347 1046/2225/347 1048/2168/348 -f 1039/2216/347 1038/2226/347 988/2079/347 -f 1038/2226/347 1040/2227/347 988/2079/347 -f 1058/2224/347 1067/2165/347 986/2077/347 -f 1056/2228/347 1058/2224/347 986/2077/347 -f 1040/2227/347 1042/2229/347 988/2079/347 -f 1042/2229/347 1044/2230/347 988/2079/347 -f 1054/2231/347 1056/2228/347 986/2077/347 -f 1052/2232/347 1054/2231/347 986/2077/347 -f 1044/2230/347 1046/2225/347 988/2079/347 -f 1050/2169/347 1052/2232/347 986/2077/347 -l 1075 1069 -l 1000 1074 -l 1072 979 -l 977 1073 -o Shell_Cylinder.002 -v -0.317579 2.171942 1.847565 -v 0.000000 2.303487 -0.098938 -v -0.317579 2.171942 -0.098938 -v 0.449124 1.854363 1.847565 -v 0.317579 1.536785 -0.098938 -v 0.449124 1.854363 -0.098938 -v 0.317579 1.536785 1.847565 -v 0.000000 1.405240 -0.098938 -v 0.000000 1.405239 1.847565 -v -0.317579 1.536785 -0.098938 -v -0.317579 1.536785 1.847565 -v -0.449124 1.854363 -0.098938 -v -0.449124 1.854363 1.847565 -v 0.000000 2.303487 1.847565 -v 0.317579 2.171942 -0.098938 -v 0.317579 2.171942 1.847565 -v 0.353356 2.207720 1.877207 -v 0.499721 1.854363 1.877207 -v 0.353356 1.501007 1.877207 -v 0.000000 1.354642 1.877207 -v -0.353356 1.501007 1.877207 -v -0.499721 1.854363 1.877207 -v -0.353356 2.207720 1.877207 -v 0.000000 2.354084 1.877207 -vt 0.125000 0.577656 -vt 0.000000 0.516094 -vt 0.125000 0.516094 -vt 0.750000 0.577656 -vt 0.625000 0.516094 -vt 0.750000 0.516094 -vt 0.625000 0.577656 -vt 0.500000 0.516094 -vt 0.500000 0.577656 -vt 0.375000 0.516094 -vt 0.375000 0.577656 -vt 0.250000 0.516094 -vt 0.250000 0.577656 -vt 1.000000 0.577656 -vt 0.875000 0.516094 -vt 1.000000 0.516094 -vt 0.875000 0.577656 -vt 0.707574 0.516599 -vt 0.690000 0.537812 -vt 0.707574 0.559026 -vt 0.218750 0.446250 -vt 0.195693 0.450000 -vt 0.195312 0.446250 -vt 0.172255 0.450000 -vt 0.171875 0.446250 -vt 0.148438 0.446250 -vt 0.171494 0.450000 -vt 0.148818 0.450000 -vt 0.125000 0.446250 -vt 0.148057 0.450000 -vt 0.125380 0.450000 -vt 0.101943 0.450000 -vt 0.101562 0.446250 -vt 0.078505 0.450000 -vt 0.078125 0.446250 -vt 0.054688 0.446250 -vt 0.077745 0.450000 -vt 0.055068 0.450000 -vt 0.031250 0.446250 -vt 0.054307 0.450000 -vt 0.031630 0.450000 -vt 0.013897 0.440000 -vt 0.130000 0.381948 -vt 0.246103 0.440000 -vt 0.000000 0.577656 -vt 0.750000 0.567813 -vt 0.792426 0.516599 -vt 0.792426 0.559026 -vt 0.810000 0.537812 -vt 0.750000 0.507812 -vt 0.218369 0.450000 -vt 0.194932 0.450000 -vt 0.124620 0.450000 -vt 0.101182 0.450000 -vt 0.212097 0.481049 -vt 0.130000 0.498052 -vt 0.047903 0.481049 -vt 0.047903 0.398951 -vt 0.212097 0.398951 -vn -0.3827 0.9239 0.0000 -vn 0.9239 -0.3827 -0.0000 -vn 0.3827 -0.9239 -0.0000 -vn -0.3827 -0.9239 -0.0000 -vn -0.9239 -0.3827 -0.0000 -vn -0.9239 0.3827 0.0000 -vn 0.3827 0.9239 0.0000 -vn 0.9239 0.3827 0.0000 -vn -0.0000 0.0000 -1.0000 -vn 0.2049 0.4948 -0.8445 -vn 0.4948 0.2049 -0.8445 -vn 0.4948 -0.2049 -0.8445 -vn 0.2049 -0.4948 -0.8445 -vn -0.2049 -0.4948 -0.8445 -vn -0.4948 -0.2049 -0.8445 -vn -0.4948 0.2049 -0.8445 -vn -0.2049 0.4948 -0.8445 -vn 0.0000 -0.0000 1.0000 +f 998/990/335 999/991/335 1000/992/335 +f 1001/993/336 1002/994/336 1003/995/336 +f 1004/996/337 1005/997/337 1002/994/337 +f 1006/998/338 1007/999/338 1005/997/338 +f 1008/1000/339 1009/1001/339 1007/999/339 +f 1010/1002/340 1011/1003/341 1012/1004/342 +f 1013/1005/343 1014/1006/343 1011/1003/343 +f 1015/1007/344 1016/1008/344 1014/1006/344 +f 1017/1009/345 1018/1010/345 1016/1008/345 +f 1019/1011/346 1020/1012/346 1018/1010/346 +f 1021/1013/347 1022/1014/347 1020/1012/347 +f 1023/1015/348 1024/1016/348 1022/1014/348 +f 1025/1017/349 1026/1018/350 1027/1019/351 +f 1027/1019/352 1000/1020/353 1028/1021/354 +f 1029/1022/355 1030/1023/356 1031/1024/357 +f 1030/1023/358 1032/1025/359 1033/1026/360 +f 1033/1026/361 1034/1027/362 1035/1028/363 +f 1035/1028/364 1036/1029/365 1037/1030/366 +f 1037/1030/367 1038/1031/368 1039/1032/369 +f 1039/1032/370 1040/1033/371 1041/1034/372 +f 1040/1033/373 1042/1035/374 1041/1034/375 +f 1043/1036/376 1044/1037/377 1042/1035/378 +f 999/1038/379 1045/1039/380 1044/1037/381 +f 1046/1040/382 1047/1041/383 1045/1039/384 +f 1048/1042/385 1049/1043/386 1047/1041/387 +f 1050/1044/388 1051/1045/389 1052/1046/390 +f 1053/1047/391 1054/1048/392 1051/1045/393 +f 1055/1049/394 1056/1050/395 1054/1048/396 +f 1057/1051/397 1058/1052/398 1056/1050/399 +f 1059/1053/400 1060/1054/401 1058/1052/402 +f 1061/1055/403 1062/1056/404 1063/1057/405 +f 1061/1055/406 1064/1058/407 1062/1056/408 +f 1065/1059/409 1066/1060/410 1064/1058/411 +f 1067/1061/412 1068/1062/413 1066/1060/414 +f 1069/1063/415 1070/1064/416 1068/1062/417 +f 1071/1065/418 1072/1066/419 1070/1064/420 +f 1072/1066/421 1073/1067/422 1074/1068/423 +f 1074/1068/424 1075/1069/425 1076/1070/426 +f 1076/1070/427 1077/1071/428 1078/1072/429 +f 1078/1072/430 1079/1073/431 1080/1074/432 +f 1080/1074/433 1081/1075/434 1082/1076/435 +f 1083/1077/436 1084/1078/437 1085/1079/438 +f 1084/1078/439 1086/1080/440 1087/1081/441 +f 1087/1081/442 1088/1082/443 1025/1083/444 +f 1089/1084/445 1041/1085/446 1042/1086/447 +f 1090/1087/448 1054/1088/448 1056/1089/448 +f 1091/1090/449 1087/1091/450 1025/1092/451 +f 1010/1002/452 1072/1093/453 1074/1094/454 +f 1000/992/335 1026/1095/335 1088/1096/335 +f 1088/1096/335 1086/1097/335 1083/1098/335 +f 1083/1098/335 1081/1099/335 1075/1100/335 +f 1081/1099/335 1079/1101/335 1075/1100/335 +f 1079/1101/335 1077/1102/335 1075/1100/335 +f 1075/1100/335 1073/1103/335 1092/1104/335 +f 1092/1104/335 1071/1105/335 1069/1106/335 +f 1069/1106/335 1067/1107/335 1065/1108/335 +f 1065/1108/335 1061/1109/455 998/990/335 +f 998/990/335 1059/1110/335 1057/1111/335 +f 1057/1111/335 1055/1112/335 1053/1113/335 +f 1053/1113/335 1050/1114/335 999/991/335 +f 1050/1114/335 1048/1115/335 999/991/335 +f 1048/1115/335 1046/1116/335 999/991/335 +f 999/991/335 1043/1117/335 1040/1118/335 +f 1040/1118/335 1038/1119/335 1036/1120/335 +f 1036/1120/335 1034/1121/335 1000/992/335 +f 1034/1121/335 1032/1122/335 1000/992/335 +f 1032/1122/335 1029/1123/456 1000/992/335 +f 1000/992/335 1088/1096/335 1075/1100/335 +f 1088/1096/335 1083/1098/335 1075/1100/335 +f 1075/1100/335 1092/1104/335 1069/1106/335 +f 1069/1106/335 1065/1108/335 1075/1100/335 +f 1065/1108/335 998/990/335 1075/1100/335 +f 998/990/335 1057/1111/335 999/991/335 +f 1057/1111/335 1053/1113/335 999/991/335 +f 999/991/335 1040/1118/335 1000/992/335 +f 1040/1118/335 1036/1120/335 1000/992/335 +f 1000/992/335 1075/1100/335 998/990/335 +f 1001/993/336 1004/996/336 1002/994/336 +f 1004/996/337 1006/998/337 1005/997/337 +f 1006/998/338 1008/1000/338 1007/999/338 +f 1008/1000/339 1089/1084/339 1009/1001/339 +f 1010/1002/340 1013/1005/457 1011/1003/341 +f 1013/1005/343 1015/1007/343 1014/1006/343 +f 1015/1007/344 1017/1009/344 1016/1008/344 +f 1017/1009/345 1019/1011/345 1018/1010/345 +f 1019/1011/346 1021/1013/346 1020/1012/346 +f 1021/1013/347 1023/1015/347 1022/1014/347 +f 1023/1015/348 1093/1124/348 1024/1016/348 +f 1025/1017/349 1088/1125/458 1026/1018/350 +f 1027/1019/352 1026/1018/459 1000/1020/353 +f 1031/1024/357 1028/1021/460 1029/1022/355 +f 1028/1021/460 1000/1020/461 1029/1022/355 +f 1030/1023/358 1029/1022/462 1032/1025/359 +f 1033/1026/361 1032/1025/463 1034/1027/362 +f 1035/1028/364 1034/1027/464 1036/1029/365 +f 1037/1030/367 1036/1029/465 1038/1031/368 +f 1039/1032/370 1038/1031/466 1040/1033/371 +f 1040/1033/373 1043/1036/467 1042/1035/374 +f 1043/1036/376 999/1038/468 1044/1037/377 +f 999/1038/379 1046/1040/469 1045/1039/380 +f 1046/1040/382 1048/1042/470 1047/1041/383 +f 1048/1042/385 1050/1044/471 1049/1043/386 +f 1052/1046/390 1049/1043/472 1050/1044/388 +f 1050/1044/388 1053/1047/473 1051/1045/389 +f 1053/1047/391 1055/1049/474 1054/1048/392 +f 1055/1049/394 1057/1051/475 1056/1050/395 +f 1057/1051/397 1059/1053/476 1058/1052/398 +f 1059/1053/400 998/1126/477 1060/1054/401 +f 1063/1057/405 1060/1054/478 998/1126/479 +f 998/1126/479 1061/1055/403 1063/1057/405 +f 1061/1055/406 1065/1059/480 1064/1058/407 +f 1065/1059/409 1067/1061/481 1066/1060/410 +f 1067/1061/412 1069/1063/482 1068/1062/413 +f 1069/1063/415 1071/1065/483 1070/1064/416 +f 1071/1065/418 1092/1127/484 1072/1066/419 +f 1072/1066/421 1092/1127/485 1073/1067/422 +f 1074/1068/424 1073/1067/486 1075/1069/425 +f 1076/1070/427 1075/1069/487 1077/1071/428 +f 1078/1072/430 1077/1071/488 1079/1073/431 +f 1080/1074/433 1079/1073/489 1081/1075/434 +f 1085/1079/438 1082/1076/490 1081/1075/491 +f 1081/1075/491 1083/1077/436 1085/1079/438 +f 1084/1078/439 1083/1077/492 1086/1080/440 +f 1087/1081/442 1086/1080/493 1088/1082/443 +f 1049/1128/494 1052/1129/495 1009/1001/496 +f 1052/1129/497 1090/1087/497 1009/1001/497 +f 1009/1001/496 1089/1084/445 1042/1086/447 +f 1089/1084/445 1094/1130/498 1030/1131/499 +f 1094/1130/500 1031/1132/500 1030/1131/500 +f 1047/1133/501 1049/1128/494 1009/1001/496 +f 1045/1134/502 1047/1133/501 1009/1001/496 +f 1089/1084/445 1030/1131/499 1033/1135/503 +f 1089/1084/445 1033/1135/503 1035/1136/504 +f 1044/1137/505 1045/1134/502 1009/1001/496 +f 1042/1086/447 1044/1137/505 1009/1001/496 +f 1089/1084/445 1035/1136/504 1037/1138/506 +f 1089/1084/445 1037/1138/506 1039/1139/507 +f 1089/1084/445 1039/1139/507 1041/1085/446 +f 1060/1140/508 1063/1141/508 1095/1142/509 +f 1095/1142/509 1090/1087/510 1056/1089/511 +f 1090/1087/448 1052/1129/512 1051/1143/512 +f 1090/1087/448 1051/1143/512 1054/1088/448 +f 1058/1144/508 1060/1140/508 1095/1142/509 +f 1056/1089/511 1058/1144/508 1095/1142/509 +f 1028/1145/513 1031/1132/514 1094/1130/515 +f 1094/1130/515 1091/1090/510 1025/1092/516 +f 1091/1090/449 1085/1146/517 1084/1147/518 +f 1091/1090/449 1084/1147/518 1087/1091/450 +f 1027/1148/519 1028/1145/513 1094/1130/515 +f 1025/1092/516 1027/1148/519 1094/1130/515 +f 1082/1149/520 1085/1146/521 1091/1090/522 +f 1010/1002/452 1012/1004/523 1070/1150/524 +f 1012/1004/523 1095/1142/523 1063/1141/525 +f 1010/1002/452 1070/1150/524 1072/1093/453 +f 1063/1141/525 1062/1151/526 1012/1004/523 +f 1062/1151/526 1064/1152/527 1012/1004/523 +f 1082/1149/520 1091/1090/522 1010/1002/528 +f 1080/1153/529 1082/1149/530 1010/1002/452 +f 1064/1152/527 1066/1154/531 1012/1004/523 +f 1066/1154/531 1068/1155/532 1012/1004/523 +f 1078/1156/533 1080/1153/529 1010/1002/452 +f 1076/1157/534 1078/1156/533 1010/1002/452 +f 1068/1155/532 1070/1150/524 1012/1004/523 +f 1074/1094/454 1076/1157/534 1010/1002/452 +l 1001 1096 +o Drum +v -0.685426 -7.905577 2.210387 +v -0.799941 -8.555026 0.065820 +v 0.831222 -7.872484 2.210387 +v 0.973957 -8.516319 0.065820 +v 2.219756 -7.261513 2.210387 +v 2.598012 -7.801718 0.065820 +v 3.268788 -6.165681 2.210387 +v 3.824977 -6.520013 0.065820 +v 3.818609 -4.751818 2.210387 +v 4.468058 -4.866333 0.065820 +v 3.785516 -3.235170 2.210387 +v 4.429352 -3.092435 0.065821 +v 3.174545 -1.846635 2.210387 +v 3.714751 -1.468380 0.065821 +v 2.078714 -0.797604 2.210387 +v 2.433046 -0.241414 0.065821 +v 0.664850 -0.247783 2.210387 +v 0.304407 0.461593 0.065821 +v -0.851797 -0.280876 2.210387 +v -0.388448 0.446475 0.065821 +v -2.240333 -0.891846 2.210387 +v -2.618588 -0.351641 0.065821 +v -3.289364 -1.987678 2.210387 +v -3.845553 -1.633346 0.065821 +v -3.839185 -3.401542 2.210387 +v -4.488634 -3.287026 0.065821 +v -3.806092 -4.918190 2.210387 +v -4.449928 -5.060923 0.065820 +v -3.195122 -6.306724 2.210387 +v -3.735327 -6.684979 0.065820 +v -2.099290 -7.355755 2.210387 +v -2.453621 -7.911944 0.065820 +v 0.841415 -7.918458 -0.801292 +v -0.693603 -7.951953 -0.801292 +v 2.246768 -7.300088 -0.801292 +v 3.308505 -6.190983 -0.801292 +v 3.864985 -4.759995 -0.801292 +v 3.831492 -3.224977 -0.801292 +v 3.213122 -1.819624 -0.801292 +v 2.104017 -0.757886 -0.801292 +v 0.673028 -0.201405 -0.801292 +v -0.861990 -0.234899 -0.801292 +v -2.267343 -0.853270 -0.801292 +v -3.329081 -1.962375 -0.801292 +v -3.885562 -3.393364 -0.801292 +v -3.852067 -4.928381 -0.801292 +v -3.233697 -6.333735 -0.801292 +v -2.124592 -7.395471 -0.801292 +v -0.869009 -8.946727 2.210387 +v 1.060044 -8.904634 2.210387 +v 2.826147 -8.127530 2.210387 +v 4.160430 -6.733721 2.210387 +v 4.859760 -4.935401 2.210387 +v 4.817667 -3.006348 2.210387 +v 4.040561 -1.240244 2.210387 +v 2.646753 0.094039 2.210387 +v 0.331383 0.614584 2.210387 +v -0.422072 0.598144 2.210387 +v -2.846724 -0.025830 2.210387 +v -4.181007 -1.419639 2.210387 +v -4.880335 -3.217959 2.210387 +v -4.838243 -5.147012 2.210387 +v -4.061139 -6.913116 2.210387 +v -2.667329 -8.247398 2.210387 +v -0.592565 -7.378938 2.511454 +v 0.715478 -7.350397 2.511454 +v 1.913029 -6.823462 2.511454 +v 2.817774 -5.878354 2.511454 +v 3.291972 -4.658957 2.511454 +v 3.263430 -3.350914 2.511454 +v 2.736494 -2.153362 2.511454 +v 1.791387 -1.248617 2.511454 +v 0.571989 -0.774420 2.511454 +v -0.736054 -0.802961 2.511454 +v -1.933606 -1.329897 2.511454 +v -2.838351 -2.275005 2.511454 +v -3.312548 -3.494402 2.511454 +v -3.284007 -4.802446 2.511454 +v -2.757071 -5.999998 2.511454 +v -1.811962 -6.904742 2.511454 +v 0.288104 1.947729 0.012726 +v 0.315081 1.999833 2.157292 +v -0.438374 1.983392 2.157292 +v -0.404750 1.932611 0.012726 +vn -0.1707 -0.9683 -0.1824 +vn 0.2128 -0.9599 -0.1824 +vn 0.5640 -0.8054 -0.1824 +vn 0.8292 -0.5283 -0.1824 +vn 0.8293 -0.5283 -0.1824 +vn 0.9683 -0.1707 -0.1824 +vn 0.9599 0.2128 -0.1824 +vn 0.8054 0.5640 -0.1824 +vn 0.6803 0.7107 -0.1790 +vn 0.2621 0.9569 -0.1251 +vn 0.2660 0.9563 -0.1210 +vn 0.2161 0.9611 -0.1719 +vn -0.9998 -0.0120 -0.0152 +vn -0.9998 -0.0118 -0.0151 +vn -0.9998 -0.0115 -0.0149 +vn -0.2939 0.9484 -0.1190 +vn -0.2871 0.9495 -0.1265 +vn -0.2456 0.9542 -0.1711 +vn -0.7107 0.6803 -0.1790 +vn -0.8293 0.5283 -0.1824 +vn -0.8292 0.5283 -0.1824 +vn -0.9683 0.1707 -0.1824 +vn -0.9599 -0.2128 -0.1824 +vn -0.8054 -0.5640 -0.1824 +vn 0.6691 0.4685 -0.5769 +vn 0.7975 0.1768 -0.5769 +vn -0.5283 -0.8293 -0.1824 +vn -0.5283 -0.8292 -0.1824 +vn 0.4790 0.1062 0.8714 +vn 0.4019 0.2814 0.8714 +vn -0.0000 -0.0000 -1.0000 +vn -0.4649 0.6832 -0.5631 +vn -0.6889 0.4389 -0.5769 +vn -0.4389 -0.6889 -0.5769 +vn -0.1418 -0.8044 -0.5769 +vn 0.8044 -0.1418 -0.5769 +vn 0.6889 -0.4389 -0.5769 +vn -0.1094 0.8097 -0.5765 +vn 0.1691 0.8078 -0.5646 +vn -0.2080 0.8092 -0.5495 +vn -0.7975 -0.1768 -0.5769 +vn -0.6691 -0.4685 -0.5769 +vn 0.4685 -0.6691 -0.5769 +vn 0.1768 -0.7975 -0.5769 +vn 0.4389 0.6889 -0.5769 +vn 0.4358 0.6991 -0.5668 +vn -0.8044 0.1418 -0.5769 +vn -0.4685 0.6691 -0.5769 +vn 0.0874 0.8089 -0.5814 +vn -0.0000 -0.0000 1.0000 +vn -0.0003 0.0135 0.9999 +vn -0.0003 0.0134 0.9999 +vn -0.4019 -0.2814 0.8714 +vn -0.4790 -0.1062 0.8714 +vn 0.2636 0.4138 0.8714 +vn -0.2636 -0.4138 0.8714 +vn 0.0852 0.4831 0.8714 +vn -0.0852 -0.4831 0.8714 +vn 0.1062 -0.4790 0.8714 +vn -0.1062 0.4790 0.8714 +vn 0.2814 -0.4019 0.8714 +vn -0.2814 0.4019 0.8714 +vn 0.4138 -0.2636 0.8714 +vn -0.4138 0.2636 0.8714 +vn 0.4831 -0.0852 0.8714 +vn -0.4831 0.0852 0.8714 +vn -0.0218 0.9995 -0.0240 +vn -0.0008 0.0383 0.9993 +vn 0.0008 -0.0357 -0.9994 +vn 0.9999 0.0110 -0.0130 +vn 0.9999 0.0108 -0.0132 +vn 0.9999 0.0113 -0.0129 +vn 0.3128 0.9471 -0.0715 +vn -0.9998 -0.0124 -0.0154 +vn -0.3361 0.9391 -0.0717 +vn 0.9999 0.0105 -0.0133 +vt 0.524803 0.666220 s 1 -f 1076/2233/351 1077/2234/351 1078/2235/351 -f 1079/2236/352 1080/2237/352 1081/2238/352 -f 1082/2239/353 1083/2240/353 1080/2237/353 -f 1084/2241/354 1085/2242/354 1083/2240/354 -f 1086/2243/355 1087/2244/355 1085/2242/355 -f 1088/2245/356 1078/2235/356 1087/2244/356 -f 1089/2246/357 1090/2247/357 1077/2248/357 -f 1091/2249/358 1081/2238/358 1090/2247/358 -f 1085/2250/359 1087/2251/359 1078/2252/359 -f 1089/2253/360 1092/2254/360 1091/2255/360 -f 1091/2255/361 1093/2256/361 1079/2257/361 -f 1082/2258/362 1093/2259/362 1094/2260/362 -f 1084/2261/363 1094/2262/363 1095/2263/363 -f 1084/2261/364 1096/2264/364 1086/2265/364 -f 1086/2265/365 1097/2266/365 1088/2267/365 -f 1076/2268/366 1097/2269/366 1098/2270/366 -f 1089/2271/367 1098/2272/367 1099/2273/367 -f 1097/2274/368 1095/2275/368 1093/2276/368 -f 1076/2233/351 1089/2277/351 1077/2234/351 -f 1079/2236/352 1082/2239/352 1080/2237/352 -f 1082/2239/353 1084/2241/353 1083/2240/353 -f 1084/2241/354 1086/2243/354 1085/2242/354 -f 1086/2243/355 1088/2245/355 1087/2244/355 -f 1088/2245/356 1076/2233/356 1078/2235/356 -f 1089/2246/357 1091/2249/357 1090/2247/357 -f 1091/2249/358 1079/2236/358 1081/2238/358 -f 1078/2252/359 1077/2278/359 1080/2279/359 -f 1077/2278/359 1090/2280/359 1080/2279/359 -f 1090/2280/359 1081/2281/359 1080/2279/359 -f 1080/2279/359 1083/2282/359 1078/2252/359 -f 1083/2282/359 1085/2250/359 1078/2252/359 -f 1089/2253/360 1099/2283/360 1092/2254/360 -f 1091/2255/361 1092/2284/361 1093/2256/361 -f 1082/2258/362 1079/2257/362 1093/2259/362 -f 1084/2261/363 1082/2258/363 1094/2262/363 -f 1084/2261/364 1095/2285/364 1096/2264/364 -f 1086/2265/365 1096/2286/365 1097/2266/365 -f 1076/2268/366 1088/2267/366 1097/2269/366 -f 1089/2271/367 1076/2268/367 1098/2272/367 -f 1093/2276/368 1092/2287/368 1099/2288/368 -f 1099/2288/368 1098/2289/368 1097/2274/368 -f 1097/2274/368 1096/2290/368 1095/2275/368 -f 1095/2275/368 1094/2291/368 1093/2276/368 -f 1093/2276/368 1099/2288/368 1097/2274/368 +f 1098/1158/535 1146/1158/536 1145/1158/535 +f 1100/1158/536 1147/1158/537 1146/1158/536 +f 1102/1158/537 1148/1158/538 1147/1158/537 +f 1104/1158/539 1149/1158/540 1148/1158/538 +f 1106/1158/540 1150/1158/541 1149/1158/540 +f 1108/1158/541 1151/1158/542 1150/1158/541 +f 1151/1158/542 1112/1158/543 1152/1158/543 +f 1112/1158/544 1153/1158/545 1152/1158/546 +f 1154/1158/547 1180/1158/548 1116/1158/549 +f 1154/1158/550 1118/1158/551 1155/1158/552 +f 1155/1158/553 1120/1158/554 1156/1158/555 +f 1120/1158/554 1157/1158/556 1156/1158/555 +f 1157/1158/556 1124/1158/557 1158/1158/557 +f 1158/1158/557 1126/1158/558 1159/1158/558 +f 1110/1158/559 1134/1158/560 1135/1158/559 +f 1126/1158/558 1160/1158/561 1159/1158/558 +f 1128/1158/562 1145/1158/535 1160/1158/561 +f 1107/1158/563 1167/1158/564 1166/1158/563 +f 1139/1158/565 1135/1158/565 1131/1158/565 +f 1118/1158/566 1140/1158/567 1120/1158/567 +f 1128/1158/568 1130/1158/569 1098/1158/569 +f 1106/1158/570 1132/1158/571 1133/1158/570 +f 1116/1158/572 1137/1158/573 1138/1158/574 +f 1124/1158/575 1143/1158/576 1126/1158/576 +f 1102/1158/577 1129/1158/578 1131/1158/577 +f 1110/1158/559 1136/1158/579 1112/1158/580 +f 1120/1158/567 1141/1158/581 1122/1158/581 +f 1106/1158/570 1134/1158/560 1108/1158/560 +f 1118/1158/566 1138/1158/574 1139/1158/582 +f 1126/1158/576 1144/1158/568 1128/1158/568 +f 1104/1158/571 1131/1158/577 1132/1158/571 +f 1112/1158/580 1137/1158/573 1114/1158/583 +f 1100/1158/578 1130/1158/569 1129/1158/578 +f 1122/1158/581 1142/1158/575 1124/1158/575 +f 1099/1158/584 1145/1158/584 1146/1158/584 +f 1099/1158/584 1147/1158/584 1101/1158/584 +f 1101/1158/584 1148/1158/584 1103/1158/584 +f 1103/1158/584 1149/1158/584 1105/1158/584 +f 1105/1158/584 1150/1158/584 1107/1158/584 +f 1107/1158/584 1151/1158/584 1109/1158/584 +f 1111/1158/584 1151/1158/584 1152/1158/584 +f 1113/1158/584 1152/1158/584 1153/1158/585 +f 1113/1158/584 1154/1158/586 1115/1158/584 +f 1115/1158/584 1155/1158/584 1117/1158/584 +f 1117/1158/584 1156/1158/584 1119/1158/584 +f 1119/1158/584 1157/1158/584 1121/1158/584 +f 1121/1158/584 1158/1158/584 1123/1158/584 +f 1123/1158/584 1159/1158/584 1125/1158/584 +f 1127/1158/584 1159/1158/584 1160/1158/584 +f 1097/1158/584 1160/1158/584 1145/1158/584 +f 1168/1158/584 1172/1158/584 1176/1158/584 +f 1125/1158/587 1174/1158/588 1123/1158/588 +f 1109/1158/564 1168/1158/589 1167/1158/564 +f 1127/1158/590 1175/1158/587 1125/1158/587 +f 1113/1158/591 1168/1158/589 1111/1158/589 +f 1097/1158/592 1162/1158/593 1161/1158/592 +f 1097/1158/592 1176/1158/590 1127/1158/590 +f 1113/1158/591 1170/1158/594 1169/1158/591 +f 1099/1158/593 1163/1158/595 1162/1158/593 +f 1117/1158/596 1170/1158/594 1115/1158/594 +f 1101/1158/595 1164/1158/597 1163/1158/595 +f 1119/1158/598 1171/1158/596 1117/1158/596 +f 1105/1158/599 1164/1158/597 1103/1158/597 +f 1121/1158/600 1172/1158/598 1119/1158/598 +f 1107/1158/563 1165/1158/599 1105/1158/599 +f 1121/1158/600 1174/1158/588 1173/1158/600 +f 1178/1158/601 1180/1158/601 1179/1158/601 +f 1153/1158/585 1179/1158/602 1154/1158/586 +f 1114/1158/603 1180/1158/603 1177/1158/603 +f 1153/1158/604 1177/1158/605 1178/1158/606 +f 1098/1158/535 1100/1158/536 1146/1158/536 +f 1100/1158/536 1102/1158/537 1147/1158/537 +f 1102/1158/537 1104/1158/539 1148/1158/538 +f 1104/1158/539 1106/1158/540 1149/1158/540 +f 1106/1158/540 1108/1158/541 1150/1158/541 +f 1108/1158/541 1110/1158/542 1151/1158/542 +f 1151/1158/542 1110/1158/542 1112/1158/543 +f 1112/1158/544 1114/1158/607 1153/1158/545 +f 1154/1158/547 1179/1158/608 1180/1158/548 +f 1154/1158/550 1116/1158/609 1118/1158/551 +f 1155/1158/553 1118/1158/553 1120/1158/554 +f 1120/1158/554 1122/1158/556 1157/1158/556 +f 1157/1158/556 1122/1158/556 1124/1158/557 +f 1158/1158/557 1124/1158/557 1126/1158/558 +f 1110/1158/559 1108/1158/560 1134/1158/560 +f 1126/1158/558 1128/1158/562 1160/1158/561 +f 1128/1158/562 1098/1158/535 1145/1158/535 +f 1107/1158/563 1109/1158/564 1167/1158/564 +f 1131/1158/565 1129/1158/565 1130/1158/565 +f 1130/1158/565 1144/1158/565 1143/1158/565 +f 1143/1158/565 1142/1158/565 1141/1158/565 +f 1141/1158/565 1140/1158/565 1139/1158/565 +f 1139/1158/565 1138/1158/565 1137/1158/565 +f 1137/1158/565 1136/1158/565 1135/1158/565 +f 1135/1158/565 1134/1158/565 1133/1158/565 +f 1133/1158/565 1132/1158/565 1131/1158/565 +f 1131/1158/565 1130/1158/565 1143/1158/565 +f 1143/1158/565 1141/1158/565 1139/1158/565 +f 1139/1158/565 1137/1158/565 1135/1158/565 +f 1135/1158/565 1133/1158/565 1131/1158/565 +f 1131/1158/565 1143/1158/565 1139/1158/565 +f 1118/1158/566 1139/1158/582 1140/1158/567 +f 1128/1158/568 1144/1158/568 1130/1158/569 +f 1106/1158/570 1104/1158/571 1132/1158/571 +f 1116/1158/572 1114/1158/583 1137/1158/573 +f 1124/1158/575 1142/1158/575 1143/1158/576 +f 1102/1158/577 1100/1158/578 1129/1158/578 +f 1110/1158/559 1135/1158/559 1136/1158/579 +f 1120/1158/567 1140/1158/567 1141/1158/581 +f 1106/1158/570 1133/1158/570 1134/1158/560 +f 1118/1158/566 1116/1158/572 1138/1158/574 +f 1126/1158/576 1143/1158/576 1144/1158/568 +f 1104/1158/571 1102/1158/577 1131/1158/577 +f 1112/1158/580 1136/1158/579 1137/1158/573 +f 1100/1158/578 1098/1158/569 1130/1158/569 +f 1122/1158/581 1141/1158/581 1142/1158/575 +f 1099/1158/584 1097/1158/584 1145/1158/584 +f 1099/1158/584 1146/1158/584 1147/1158/584 +f 1101/1158/584 1147/1158/584 1148/1158/584 +f 1103/1158/584 1148/1158/584 1149/1158/584 +f 1105/1158/584 1149/1158/584 1150/1158/584 +f 1107/1158/584 1150/1158/584 1151/1158/584 +f 1111/1158/584 1109/1158/584 1151/1158/584 +f 1113/1158/584 1111/1158/584 1152/1158/584 +f 1113/1158/584 1153/1158/585 1154/1158/586 +f 1115/1158/584 1154/1158/586 1155/1158/584 +f 1117/1158/584 1155/1158/584 1156/1158/584 +f 1119/1158/584 1156/1158/584 1157/1158/584 +f 1121/1158/584 1157/1158/584 1158/1158/584 +f 1123/1158/584 1158/1158/584 1159/1158/584 +f 1127/1158/584 1125/1158/584 1159/1158/584 +f 1097/1158/584 1127/1158/584 1160/1158/584 +f 1176/1158/584 1161/1158/584 1162/1158/584 +f 1162/1158/584 1163/1158/584 1164/1158/584 +f 1164/1158/584 1165/1158/584 1166/1158/584 +f 1166/1158/584 1167/1158/584 1168/1158/584 +f 1168/1158/584 1169/1158/584 1170/1158/584 +f 1170/1158/584 1171/1158/584 1172/1158/584 +f 1172/1158/584 1173/1158/584 1174/1158/584 +f 1174/1158/584 1175/1158/584 1176/1158/584 +f 1176/1158/584 1162/1158/584 1164/1158/584 +f 1164/1158/584 1166/1158/584 1168/1158/584 +f 1168/1158/584 1170/1158/584 1172/1158/584 +f 1172/1158/584 1174/1158/584 1176/1158/584 +f 1176/1158/584 1164/1158/584 1168/1158/584 +f 1125/1158/587 1175/1158/587 1174/1158/588 +f 1109/1158/564 1111/1158/589 1168/1158/589 +f 1127/1158/590 1176/1158/590 1175/1158/587 +f 1113/1158/591 1169/1158/591 1168/1158/589 +f 1097/1158/592 1099/1158/593 1162/1158/593 +f 1097/1158/592 1161/1158/592 1176/1158/590 +f 1113/1158/591 1115/1158/594 1170/1158/594 +f 1099/1158/593 1101/1158/595 1163/1158/595 +f 1117/1158/596 1171/1158/596 1170/1158/594 +f 1101/1158/595 1103/1158/597 1164/1158/597 +f 1119/1158/598 1172/1158/598 1171/1158/596 +f 1105/1158/599 1165/1158/599 1164/1158/597 +f 1121/1158/600 1173/1158/600 1172/1158/598 +f 1107/1158/563 1166/1158/563 1165/1158/599 +f 1121/1158/600 1123/1158/588 1174/1158/588 +f 1178/1158/601 1177/1158/601 1180/1158/601 +f 1153/1158/585 1178/1158/602 1179/1158/602 +f 1114/1158/603 1116/1158/603 1180/1158/603 +f 1153/1158/604 1114/1158/610 1177/1158/605 diff --git a/src/main/resources/assets/hbm/models/weapons/congolake.obj b/src/main/resources/assets/hbm/models/weapons/congolake.obj index 61dba5009..4a34fe6d0 100644 --- a/src/main/resources/assets/hbm/models/weapons/congolake.obj +++ b/src/main/resources/assets/hbm/models/weapons/congolake.obj @@ -1,383 +1,5 @@ -# Blender v2.79 (sub 0) OBJ File: 'CongoLake.blend' +# Blender 4.0.1 # www.blender.org -o Pump_Pummp -v 0.000000 0.935654 2.185543 -v -0.193840 1.015945 2.185543 -v -0.214852 0.994933 2.177396 -v 0.000000 0.905939 2.177396 -v -0.193840 1.403625 2.185543 -v -0.274131 1.209785 2.185543 -v -0.274131 1.209785 3.266089 -v -0.193840 1.403625 3.266089 -v 0.000000 1.483656 2.185543 -v 0.000000 1.483656 3.266089 -v 0.274131 1.209785 2.185543 -v 0.193656 1.403441 2.185543 -v 0.193656 1.403441 3.266089 -v 0.274131 1.209785 3.266089 -v 0.000000 0.935915 3.266089 -v -0.193840 1.015945 3.266089 -v 0.193656 1.016130 2.185543 -v 0.193656 1.016130 3.266089 -v 0.000000 1.513631 2.177396 -v 0.214852 1.424637 2.177396 -v 0.214852 1.424637 2.113585 -v 0.000000 1.513631 2.113585 -v -0.214852 1.424637 2.177396 -v 0.214852 0.994933 2.177396 -v -0.303846 1.209785 2.177396 -v 0.303846 1.209785 2.177396 -v -0.214852 0.994933 2.113585 -v -0.303846 1.209785 2.113585 -v -0.273445 1.209785 2.100498 -v -0.193355 1.016430 2.100498 -v -0.214852 1.424637 2.113585 -v 0.000000 0.905939 2.113585 -v 0.214852 0.994933 2.113585 -v 0.303846 1.209785 2.113585 -v -0.193355 1.403140 2.100498 -v 0.000000 1.483230 2.100498 -v 0.193355 1.403140 2.100498 -v 0.273445 1.209785 2.100498 -v 0.193355 1.016430 2.100498 -v 0.000000 0.936340 2.100498 -v 0.000000 0.905939 3.274235 -v -0.214852 0.994933 3.274235 -v 0.000000 1.513631 3.274235 -v 0.000000 1.513631 3.338046 -v 0.214852 1.424637 3.338046 -v 0.214852 1.424637 3.274235 -v -0.214852 1.424637 3.274235 -v 0.214852 0.994933 3.274235 -v -0.303846 1.209785 3.274235 -v 0.303846 1.209785 3.274235 -v -0.214852 0.994933 3.338046 -v -0.193355 1.016430 3.351134 -v -0.273445 1.209785 3.351134 -v -0.303846 1.209785 3.338046 -v -0.214852 1.424637 3.338046 -v 0.214852 0.994933 3.338046 -v 0.000000 0.905939 3.338046 -v 0.303846 1.209785 3.338046 -v -0.193355 1.403140 3.351134 -v 0.000000 0.936340 3.351134 -v 0.193355 1.016430 3.351134 -v 0.273445 1.209785 3.351134 -v 0.193355 1.403140 3.351134 -v 0.000000 1.483230 3.351134 -vt 0.270772 0.021748 -vt 0.259071 0.044520 -vt 0.258022 0.040873 -vt 0.124225 0.297698 -vt 0.000380 0.290063 -vt 0.124223 0.290059 -vt 0.000378 0.282428 -vt 0.124220 0.282425 -vt 0.124223 0.335878 -vt 0.000382 0.328240 -vt 0.124225 0.328243 -vt 0.124227 0.305336 -vt 0.000387 0.312974 -vt 0.000384 0.305339 -vt 0.124221 0.343509 -vt 0.000380 0.335874 -vt 0.000384 0.320605 -vt 0.124227 0.320609 -vt 0.000382 0.297701 -vt 0.124229 0.312974 -vt 0.301296 0.107856 -vt 0.311550 0.080842 -vt 0.315428 0.086659 -vt 0.319568 0.052066 -vt 0.317107 0.080578 -vt 0.317107 0.050600 -vt 0.254931 0.052066 -vt 0.257392 0.080578 -vt 0.254911 0.079099 -vt 0.303748 0.109442 -vt 0.316485 0.090335 -vt 0.316477 0.040872 -vt 0.301296 0.023322 -vt 0.303727 0.021748 -vt 0.278234 0.017112 -vt 0.297242 0.020803 -vt 0.277257 0.020803 -vt 0.270772 0.109430 -vt 0.259071 0.086659 -vt 0.273203 0.107856 -vt 0.278234 0.114066 -vt 0.297242 0.110375 -vt 0.296257 0.114096 -vt 0.297242 0.029029 -vt 0.278257 0.033023 -vt 0.277257 0.029029 -vt 0.311623 0.050600 -vt 0.257392 0.050600 -vt 0.262876 0.080578 -vt 0.315428 0.044519 -vt 0.297418 0.029138 -vt 0.277081 0.102040 -vt 0.277257 0.110375 -vt 0.297242 0.102149 -vt 0.273203 0.023322 -vt 0.262949 0.050336 -vt 0.308960 0.079078 -vt 0.278257 0.098155 -vt 0.265539 0.052100 -vt 0.277257 0.102149 -vt 0.296243 0.098155 -vt 0.311623 0.080578 -vt 0.308960 0.052100 -vt 0.262876 0.050600 -vt 0.265539 0.079078 -vt 0.296242 0.033023 -vt 0.189118 0.066082 -vt 0.194118 0.093837 -vt 0.187203 0.068873 -vt 0.246869 0.062649 -vt 0.244287 0.031805 -vt 0.251935 0.059501 -vt 0.246935 0.093837 -vt 0.251935 0.066083 -vt 0.253850 0.068873 -vt 0.196766 0.031805 -vt 0.187203 0.056711 -vt 0.194097 0.031747 -vt 0.246956 0.031747 -vt 0.253850 0.056711 -vt 0.222720 0.109905 -vt 0.241223 0.102404 -vt 0.224565 0.112754 -vt 0.199830 0.102404 -vt 0.218332 0.109905 -vt 0.216488 0.112754 -vt 0.216488 0.012829 -vt 0.199869 0.027151 -vt 0.199830 0.023147 -vt 0.241184 0.027151 -vt 0.224565 0.012829 -vt 0.241223 0.023147 -vt 0.203910 0.087717 -vt 0.220431 0.102305 -vt 0.201967 0.090833 -vt 0.239221 0.090631 -vt 0.244287 0.093779 -vt 0.201832 0.034953 -vt 0.189118 0.059501 -vt 0.220622 0.102305 -vt 0.241184 0.098433 -vt 0.220431 0.023279 -vt 0.218333 0.015679 -vt 0.199868 0.098433 -vt 0.239086 0.034751 -vt 0.222720 0.015679 -vt 0.194184 0.062935 -vt 0.196766 0.093779 -vt 0.197027 0.062792 -vt 0.220527 0.027543 -vt 0.244026 0.062792 -vt 0.237143 0.037867 -vt 0.220622 0.023278 -vt 0.201832 0.090631 -vt 0.239221 0.034953 -vt 0.237143 0.087717 -vt 0.246869 0.062935 -vt 0.203910 0.037867 -vt 0.194184 0.062649 -vt 0.239086 0.090833 -vt 0.201967 0.034750 -vt 0.000378 0.343505 -vt 0.297419 0.102040 -vt 0.319588 0.079099 -vt 0.296265 0.017112 -vt 0.258014 0.090336 -vt 0.311550 0.050336 -vt 0.262949 0.080842 -vt 0.277081 0.029138 -vt 0.220526 0.098041 -vn -0.1089 -0.2628 0.9587 -vn -0.9239 0.3827 0.0000 -vn -0.3816 0.9243 0.0000 -vn 0.9234 0.3837 0.0000 -vn -0.3816 -0.9243 0.0000 -vn 0.3827 0.9239 0.0000 -vn 0.9234 -0.3837 0.0000 -vn -0.9239 -0.3827 0.0000 -vn 0.3837 -0.9234 0.0002 -vn -0.1089 0.2628 0.9587 -vn 0.1083 -0.2605 0.9594 -vn 0.1080 0.2607 0.9593 -vn -0.2629 0.1089 0.9587 -vn -0.2628 -0.1089 0.9587 -vn 0.2628 -0.1089 0.9587 -vn 0.2605 0.1083 0.9594 -vn -0.3902 -0.1616 -0.9064 -vn -0.3827 0.9239 0.0000 -vn 0.3827 -0.9239 0.0000 -vn 0.9239 -0.3827 0.0000 -vn 0.9239 0.3827 0.0000 -vn -0.3827 -0.9239 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.3902 0.1616 -0.9064 -vn -0.1616 -0.3902 -0.9064 -vn 0.1616 0.3902 -0.9064 -vn -0.1616 0.3902 -0.9064 -vn 0.1616 -0.3902 -0.9064 -vn -0.3902 0.1616 -0.9064 -vn 0.3902 -0.1616 -0.9064 -vn -0.1076 -0.2607 -0.9594 -vn -0.1076 0.2607 -0.9594 -vn 0.1080 -0.2607 -0.9594 -vn 0.1080 0.2607 -0.9594 -vn -0.2628 0.1089 -0.9587 -vn -0.2628 -0.1089 -0.9587 -vn 0.2605 -0.1082 -0.9594 -vn 0.2605 0.1082 -0.9594 -vn -0.3902 -0.1616 0.9064 -vn 0.0000 0.0000 1.0000 -vn 0.3902 0.1616 0.9064 -vn -0.1616 -0.3902 0.9064 -vn 0.1616 0.3902 0.9064 -vn -0.1616 0.3902 0.9064 -vn 0.1616 -0.3902 0.9064 -vn -0.3902 0.1616 0.9064 -vn 0.3902 -0.1616 0.9064 -vn -0.3827 -0.9239 0.0002 -vn -0.1077 0.2608 0.9594 -vn 0.1089 -0.2628 0.9587 -vn -0.2628 0.1089 0.9587 -vn -0.2629 -0.1089 0.9587 -vn 0.2605 -0.1083 0.9594 -vn 0.2628 0.1089 0.9587 -vn -0.1089 -0.2628 -0.9587 -vn -0.1089 0.2628 -0.9587 -vn 0.2628 -0.1089 -0.9587 -vn 0.2628 0.1089 -0.9587 -s off -f 2/1/1 4/2/1 1/3/1 -f 6/4/2 8/5/2 5/6/2 -f 5/6/3 10/7/3 9/8/3 -f 12/9/4 14/10/4 11/11/4 -f 2/12/5 15/13/5 16/14/5 -f 9/15/6 13/16/6 12/9/6 -f 11/11/7 18/17/7 17/18/7 -f 2/12/8 7/19/8 6/4/8 -f 17/18/9 15/13/9 1/20/9 -f 20/21/6 22/22/6 19/23/6 -f 5/24/10 19/25/10 23/26/10 -f 1/27/11 24/28/11 17/29/11 -f 12/30/12 19/23/12 9/31/12 -f 5/32/13 25/33/13 6/34/13 -f 2/35/14 25/36/14 3/37/14 -f 11/38/15 24/39/15 26/40/15 -f 11/41/16 20/42/16 12/43/16 -f 28/44/17 30/45/17 27/46/17 -f 19/25/18 31/47/18 23/26/18 -f 4/48/19 33/49/19 24/28/19 -f 23/50/2 28/51/2 25/33/2 -f 24/39/20 34/52/20 26/40/20 -f 25/36/8 27/46/8 3/37/8 -f 26/53/21 21/54/21 20/42/21 -f 3/55/22 32/56/22 4/2/22 -f 36/57/23 38/58/23 40/59/23 -f 34/60/24 37/61/24 21/54/24 -f 32/56/25 30/45/25 40/59/25 -f 22/22/26 37/61/26 36/57/26 -f 22/62/27 35/63/27 31/47/27 -f 32/64/28 39/65/28 33/49/28 -f 28/51/29 35/63/29 29/66/29 -f 34/52/30 39/65/30 38/58/30 -f 41/67/31 16/68/31 15/69/31 -f 44/70/6 46/71/6 43/72/6 -f 8/73/32 43/74/32 10/75/32 -f 48/76/33 15/77/33 18/78/33 -f 43/72/34 13/79/34 10/80/34 -f 49/81/35 8/82/35 7/83/35 -f 16/84/36 49/85/36 7/86/36 -f 14/87/37 48/88/37 18/89/37 -f 46/90/38 14/91/38 13/92/38 -f 52/93/39 54/94/39 51/95/39 -f 55/96/18 43/74/18 47/97/18 -f 56/98/19 41/99/19 48/76/19 -f 54/100/2 47/101/2 49/81/2 -f 58/102/20 48/88/20 50/103/20 -f 51/95/8 49/85/8 42/104/8 -f 45/105/21 50/106/21 46/90/21 -f 57/107/22 42/108/22 41/67/22 -f 60/109/40 62/110/40 64/111/40 -f 63/112/41 58/113/41 45/105/41 -f 60/109/42 51/114/42 57/107/42 -f 44/70/43 63/112/43 45/115/43 -f 59/116/44 44/117/44 55/96/44 -f 61/118/45 57/119/45 56/98/45 -f 54/100/46 59/116/46 55/120/46 -f 58/102/47 61/118/47 56/121/47 -f 2/1/1 3/55/1 4/2/1 -f 6/4/2 7/19/2 8/5/2 -f 5/6/3 8/5/3 10/7/3 -f 12/9/4 13/16/4 14/10/4 -f 2/12/48 1/20/48 15/13/48 -f 9/15/6 10/122/6 13/16/6 -f 11/11/7 14/10/7 18/17/7 -f 2/12/8 16/14/8 7/19/8 -f 17/18/19 18/17/19 15/13/19 -f 20/21/6 21/123/6 22/22/6 -f 5/24/49 9/124/49 19/25/49 -f 1/27/50 4/48/50 24/28/50 -f 12/30/12 20/21/12 19/23/12 -f 5/32/51 23/50/51 25/33/51 -f 2/35/52 6/125/52 25/36/52 -f 11/38/53 17/126/53 24/39/53 -f 11/41/54 26/53/54 20/42/54 -f 28/44/17 29/66/17 30/45/17 -f 19/25/18 22/62/18 31/47/18 -f 4/48/19 32/64/19 33/49/19 -f 23/50/2 31/127/2 28/51/2 -f 24/39/20 33/128/20 34/52/20 -f 25/36/8 28/44/8 27/46/8 -f 26/53/21 34/60/21 21/54/21 -f 3/55/22 27/129/22 32/56/22 -f 29/66/23 35/63/23 36/57/23 -f 36/57/23 37/61/23 38/58/23 -f 38/58/23 39/65/23 40/59/23 -f 40/59/23 30/45/23 29/66/23 -f 29/66/23 36/57/23 40/59/23 -f 34/60/24 38/58/24 37/61/24 -f 32/56/25 27/129/25 30/45/25 -f 22/22/26 21/123/26 37/61/26 -f 22/62/27 36/57/27 35/63/27 -f 32/64/28 40/59/28 39/65/28 -f 28/51/29 31/127/29 35/63/29 -f 34/52/30 33/128/30 39/65/30 -f 41/67/55 42/108/55 16/68/55 -f 44/70/6 45/115/6 46/71/6 -f 8/73/56 47/97/56 43/74/56 -f 48/76/33 41/99/33 15/77/33 -f 43/72/34 46/71/34 13/79/34 -f 49/81/35 47/101/35 8/82/35 -f 16/84/36 42/104/36 49/85/36 -f 14/87/57 50/103/57 48/88/57 -f 46/90/58 50/106/58 14/91/58 -f 52/93/39 53/130/39 54/94/39 -f 55/96/18 44/117/18 43/74/18 -f 56/98/19 57/119/19 41/99/19 -f 54/100/2 55/120/2 47/101/2 -f 58/102/20 56/121/20 48/88/20 -f 51/95/8 54/94/8 49/85/8 -f 45/105/21 58/113/21 50/106/21 -f 57/107/22 51/114/22 42/108/22 -f 64/111/40 59/116/40 53/130/40 -f 53/130/40 52/93/40 60/109/40 -f 60/109/40 61/118/40 62/110/40 -f 62/110/40 63/112/40 64/111/40 -f 64/111/40 53/130/40 60/109/40 -f 63/112/41 62/110/41 58/113/41 -f 60/109/42 52/93/42 51/114/42 -f 44/70/43 64/111/43 63/112/43 -f 59/116/44 64/111/44 44/117/44 -f 61/118/45 60/109/45 57/119/45 -f 54/100/46 53/130/46 59/116/46 -f 58/102/47 62/110/47 61/118/47 o Gun v 0.000000 2.012847 0.929753 v 0.000000 2.012847 1.070247 @@ -387,7 +9,7 @@ v 0.259217 1.720997 1.070247 v 0.257984 1.718743 0.928515 v 0.259047 1.606972 1.070247 v 0.257604 1.541884 0.928170 -v -0.144433 0.866083 0.913514 +v -0.208956 0.866083 0.913514 v -0.144446 0.864949 1.065059 v -0.258151 1.005157 1.070247 v -0.257451 1.005115 0.928270 @@ -401,7 +23,7 @@ v -0.183294 1.927366 0.929753 v 0.257451 1.005115 0.928270 v 0.258152 1.005157 1.070247 v 0.144446 0.864949 1.065059 -v 0.144434 0.866083 0.913514 +v 0.208957 0.866083 0.913514 v -0.257983 1.718743 -0.730968 v -0.183294 1.927366 -0.725578 v 0.257356 1.541884 -0.031674 @@ -622,53 +244,18 @@ v 0.326188 1.544065 3.484523 v 0.121073 1.544065 3.484523 v 0.326188 1.528315 3.446498 v 0.121073 1.528315 3.446498 -v 0.406256 1.125653 3.483772 -v 0.372781 1.206173 3.302696 -v 0.405798 1.241512 3.327720 -v 0.434647 1.172119 3.483772 -v 0.377865 1.264868 3.368210 -v 0.399229 1.213480 3.483772 -v 0.327584 1.243964 3.368210 -v 0.348947 1.192576 3.483772 -v 0.324441 1.207689 3.327720 -v 0.353290 1.138296 3.483772 -v 0.297563 1.387101 3.257974 -v 0.340975 1.397436 3.289178 -v 0.329861 1.380335 3.339669 -v 0.279580 1.359431 3.339669 -v 0.259618 1.363613 3.289178 -v 0.237243 1.532194 3.383282 -v 0.288991 1.522477 3.397170 -v 0.291365 1.472933 3.419640 -v 0.241084 1.452029 3.419640 -v 0.207634 1.488654 3.397170 -v 0.237243 1.532194 3.584262 -v 0.288991 1.522477 3.570374 -v 0.291365 1.472933 3.547904 -v 0.241084 1.452029 3.547904 -v 0.207634 1.488654 3.570374 -v 0.297563 1.387101 3.709570 -v 0.340975 1.397436 3.678366 -v 0.329861 1.380335 3.627876 -v 0.279580 1.359431 3.627876 -v 0.259618 1.363613 3.678366 -v 0.372781 1.206173 3.664848 -v 0.405798 1.241512 3.639824 -v 0.377865 1.264868 3.599334 -v 0.327584 1.243964 3.599334 -v 0.324441 1.207689 3.639824 -v 0.000000 1.983355 1.070358 -v 0.156272 1.918625 1.070358 -v 0.221002 1.762353 1.070358 -v 0.156272 1.606081 1.070358 -v 0.000000 1.541351 1.070358 -v -0.156272 1.606081 1.070358 -v -0.221002 1.762353 1.070358 +v 0.000000 1.983355 0.962615 +v 0.156272 1.918625 0.962615 +v 0.221002 1.762353 0.962615 +v 0.156272 1.606081 0.962615 +v 0.000000 1.541351 0.962615 +v -0.156272 1.606081 0.962615 +v -0.221002 1.762353 0.962615 v 0.000000 1.541351 3.018507 v 0.156272 1.606081 3.018507 v 0.156272 1.606081 3.391006 v 0.000000 1.541351 3.391006 -v -0.156272 1.918625 1.070358 +v -0.156272 1.918625 0.962615 v 0.156272 1.918625 3.391006 v 0.000000 1.983355 3.391006 v 0.000000 2.025926 3.417953 @@ -732,14 +319,14 @@ v 0.136914 1.625439 3.654342 v 0.193625 1.762353 3.654342 v 0.136914 1.899267 3.654342 v 0.000000 1.955978 3.654342 -v -0.156124 1.365909 1.034639 -v 0.000000 1.430577 1.034639 -v 0.156124 1.365909 1.034639 -v 0.220792 1.209785 1.034639 -v 0.156124 1.053662 1.034639 -v 0.000000 0.988993 1.034639 -v -0.156124 1.053662 1.034639 -v -0.220792 1.209785 1.034639 +v -0.156124 1.365909 0.961108 +v 0.000000 1.430577 0.961108 +v 0.156124 1.365909 0.961108 +v 0.220792 1.209785 0.961108 +v 0.156124 1.053662 0.961108 +v 0.000000 0.988993 0.961108 +v -0.156124 1.053662 0.961108 +v -0.220792 1.209785 0.961108 v 0.000000 1.430367 3.383215 v -0.155975 1.365760 3.383215 v -0.199637 1.409422 3.410316 @@ -835,30 +422,12 @@ v -0.000564 2.091560 2.870565 v 0.128183 2.091560 2.870565 v 0.128183 2.091560 2.999992 v -0.000758 2.091560 2.999992 -v -0.000758 2.040556 3.941854 -v -0.000758 2.038297 3.983544 -v -0.128183 2.038297 3.983544 -v -0.103443 2.040556 3.941854 v -0.128183 2.117034 2.999992 v -0.000758 2.117034 2.999992 v -0.000564 2.117035 2.870565 v -0.128183 2.117035 2.870565 v 0.128183 2.117034 2.999992 v 0.128183 2.117035 2.870565 -v -0.000758 2.113045 3.073697 -v -0.103443 2.113045 3.073697 -v -0.000758 2.063745 3.984738 -v -0.128183 2.063745 3.984738 -v 0.128183 2.038297 3.983544 -v 0.128183 2.063745 3.984738 -v -0.000758 2.087663 3.071927 -v 0.103443 2.087663 3.071927 -v 0.103443 2.065968 3.943648 -v -0.000758 2.065968 3.943648 -v -0.103443 2.087663 3.071927 -v -0.103443 2.065968 3.943648 -v 0.103443 2.040556 3.941854 -v 0.103443 2.113045 3.073697 v -0.101627 1.929570 4.174595 v -0.101627 2.046870 4.174595 v -0.101627 2.046870 4.045168 @@ -899,6 +468,619 @@ v -0.059365 1.189290 -1.312787 v -0.059465 1.198896 -1.284075 v 0.046693 1.198896 -1.284075 v 0.046593 1.189290 -1.312787 +v 0.216088 0.856270 -0.070880 +v 0.209065 0.960517 0.969733 +v -0.173324 1.890359 0.910839 +v -0.173324 1.890359 -0.012807 +v -0.217367 1.720794 0.910839 +v -0.217367 1.720794 -0.012807 +v -0.217367 1.599757 0.910839 +v -0.217367 1.599756 -0.012807 +v -0.003063 1.954934 0.967058 +v -0.216087 0.856270 -0.070880 +v 0.214043 1.724547 0.965868 +v -0.005693 0.957195 -0.735251 +v 0.151461 1.887264 0.966545 +v -0.208849 0.960517 0.969733 +v 0.213723 1.586004 0.965536 +v -0.173216 1.890425 0.967058 +v -0.217260 1.720861 0.967058 +v -0.217260 1.599823 0.967058 +vn 0.4257 0.9049 -0.0048 +vn 0.9414 0.3371 -0.0136 +vn 1.0000 -0.0021 -0.0092 +vn 0.9999 -0.0056 -0.0127 +vn -0.8659 -0.3409 0.3661 +vn -0.0000 -0.0000 1.0000 +vn -1.0000 0.0049 -0.0080 +vn -1.0000 0.0016 -0.0087 +vn -0.9414 0.3371 -0.0136 +vn -0.9415 0.3368 -0.0109 +vn -0.4227 0.9063 -0.0000 +vn 0.8659 -0.3409 0.3661 +vn -0.9415 0.3371 -0.0000 +vn -0.9406 0.3395 0.0004 +vn 0.3933 -0.0014 0.9194 +vn 0.3737 0.1338 0.9179 +vn -1.0000 -0.0035 -0.0003 +vn 0.9937 -0.0000 -0.1121 +vn 1.0000 -0.0035 -0.0000 +vn 1.0000 -0.0000 -0.0003 +vn -0.9568 0.2679 -0.1132 +vn -0.7341 -0.6786 -0.0246 +vn -1.0000 -0.0004 -0.0003 +vn -0.0014 -0.9870 -0.1609 +vn 1.0000 -0.0079 -0.0019 +vn 1.0000 -0.0051 0.0001 +vn -1.0000 -0.0051 0.0001 +vn -1.0000 -0.0079 -0.0019 +vn 0.2096 -0.1752 0.9620 +vn -0.0000 -1.0000 -0.0075 +vn 1.0000 0.0016 -0.0088 +vn 1.0000 0.0048 -0.0080 +vn 0.9999 -0.0004 -0.0153 +vn 0.9999 -0.0004 -0.0102 +vn -0.9999 -0.0004 -0.0102 +vn -0.9999 -0.0004 -0.0153 +vn -1.0000 -0.0021 -0.0092 +vn -0.9999 -0.0069 -0.0104 +vn -0.9999 -0.0046 -0.0096 +vn -0.2096 -0.1752 0.9620 +vn 0.4227 0.9063 -0.0000 +vn 0.1385 0.3003 -0.9437 +vn 0.9415 0.3371 -0.0000 +vn 0.9985 -0.0546 -0.0000 +vn 0.3719 0.1363 -0.9182 +vn 0.7077 0.7065 -0.0002 +vn 0.1397 0.2995 0.9438 +vn 0.3939 0.0013 -0.9192 +vn -1.0000 -0.0066 0.0006 +vn -1.0000 -0.0061 0.0028 +vn -1.0000 -0.0049 0.0040 +vn 1.0000 -0.0000 -0.0000 +vn 1.0000 0.0007 0.0027 +vn 1.0000 -0.0015 -0.0022 +vn -0.9546 0.2485 -0.1646 +vn -0.9937 -0.0007 -0.1122 +vn -0.5111 0.8476 -0.1425 +vn 0.5111 0.8476 -0.1425 +vn 0.9568 0.2679 -0.1132 +vn -0.9937 -0.0000 -0.1121 +vn 0.9936 -0.0013 -0.1126 +vn -0.9389 0.3167 -0.1345 +vn -0.5509 -0.5672 0.6122 +vn 0.9389 0.3167 -0.1345 +vn -0.4738 0.7235 -0.5021 +vn -1.0000 -0.0000 -0.0000 +vn -1.0000 -0.0023 0.0014 +vn 0.4738 0.7235 -0.5021 +vn 1.0000 -0.0012 0.0016 +vn 1.0000 -0.0039 0.0023 +vn 0.9546 0.2485 -0.1646 +vn -0.6739 -0.6939 0.2537 +vn 0.9694 0.2237 0.1012 +vn 1.0000 -0.0034 -0.0015 +vn 1.0000 -0.0019 -0.0014 +vn 0.5456 0.7635 0.3455 +vn 1.0000 0.0015 0.0024 +vn 1.0000 -0.0022 -0.0015 +vn -1.0000 -0.0045 0.0005 +vn -1.0000 -0.0035 0.0032 +vn -1.0000 -0.0007 0.0039 +vn -0.4293 0.8526 -0.2981 +vn -1.0000 -0.0004 0.0028 +vn 0.4293 0.8526 -0.2981 +vn 1.0000 -0.0037 0.0023 +vn 1.0000 -0.0061 0.0037 +vn -0.5813 0.8136 -0.0067 +vn -1.0000 -0.0019 -0.0013 +vn -1.0000 -0.0017 0.0003 +vn -0.6627 -0.6823 -0.3087 +vn -0.9694 0.2237 0.1012 +vn -0.9694 0.2236 0.1015 +vn 1.0000 0.0006 -0.0028 +vn 1.0000 -0.0008 0.0014 +vn -1.0000 -0.0034 -0.0015 +vn -1.0000 -0.0018 -0.0031 +vn -0.5456 0.7635 0.3455 +vn -1.0000 -0.0024 -0.0012 +vn -1.0000 -0.0017 -0.0000 +vn -0.9902 0.1399 -0.0006 +vn 0.5813 0.8136 -0.0067 +vn 1.0000 -0.0032 -0.0014 +vn 1.0000 -0.0034 0.0003 +vn 0.9737 0.2278 -0.0022 +vn 0.9738 0.2276 -0.0019 +vn -0.6847 -0.7050 0.1849 +vn -0.9738 0.2276 -0.0019 +vn 1.0000 -0.0016 -0.0001 +vn 0.6275 0.0151 -0.7785 +vn 0.6330 0.0176 -0.7740 +vn -0.7019 0.0021 -0.7122 +vn -0.7064 -0.0000 -0.7078 +vn 0.6040 0.2359 -0.7612 +vn 0.3767 0.8078 -0.4533 +vn -0.3910 0.8384 -0.3798 +vn -0.7142 0.0083 -0.6999 +vn -0.7143 0.0016 -0.6998 +vn -0.7176 0.0128 -0.6964 +vn -0.1915 -0.3110 -0.9309 +vn -0.6735 0.2590 -0.6923 +vn 0.6296 0.0075 -0.7769 +vn 0.6296 -0.0000 -0.7769 +vn 0.6254 -0.0051 -0.7803 +vn -0.7634 0.6459 -0.0028 +vn 0.7634 0.6459 -0.0028 +vn 1.0000 -0.0017 -0.0000 +vn 0.9902 0.1399 -0.0006 +vn -0.6967 -0.7174 0.0031 +vn 0.6973 -0.7167 0.0031 +vn -0.0000 -1.0000 0.0043 +vn 0.1962 -0.2566 -0.9464 +vn -0.0000 -0.0000 -1.0000 +vn 0.6853 -0.7044 0.1847 +vn -0.0000 -0.9673 0.2537 +vn 0.6633 -0.6818 -0.3085 +vn -0.0000 -0.9111 -0.4123 +vn 0.7110 -0.6559 0.2535 +vn 0.9999 0.0128 -0.0066 +vn 0.9999 0.0080 -0.0062 +vn 0.5516 -0.5669 0.6119 +vn -0.0000 -0.6796 0.7335 +vn 0.7348 -0.6778 -0.0246 +vn 0.9238 -0.0000 -0.3830 +vn 0.0056 -0.0098 -0.9999 +vn -0.0000 -0.9869 -0.1613 +vn -0.9239 0.3827 -0.0000 +vn 1.0000 -0.0000 -0.0015 +vn -0.0000 0.0216 -0.9998 +vn -0.9840 -0.1758 -0.0295 +vn -1.0000 -0.0000 -0.0015 +vn -0.0000 -0.0216 0.9998 +vn 0.9993 0.0008 -0.0364 +vn -0.0000 -0.0377 0.9993 +vn -0.9997 -0.0009 -0.0249 +vn -0.0057 -0.0103 -0.9999 +vn -0.0000 -0.9998 -0.0206 +vn -0.0000 -0.9997 -0.0225 +vn -0.9997 0.0005 -0.0231 +vn -0.0000 0.9998 0.0216 +vn -0.0000 -0.9998 -0.0216 +vn -0.0000 0.9604 0.2786 +vn -0.0000 -0.9648 -0.2630 +vn -1.0000 -0.0047 0.0009 +vn -0.0000 -0.7438 -0.6684 +vn -0.0000 0.7295 0.6840 +vn -0.0000 0.1212 0.9926 +vn 1.0000 -0.0039 0.0029 +vn 1.0000 -0.0005 -0.0048 +vn -0.0000 -0.1592 -0.9872 +vn -0.0000 -0.0766 -0.9971 +vn -0.0000 0.0714 0.9974 +vn -0.9999 0.0080 -0.0062 +vn -0.9999 0.0128 -0.0066 +vn -0.0000 0.1149 -0.9934 +vn -0.0000 -0.1149 0.9934 +vn -0.0000 0.0444 -0.9990 +vn -0.0000 -0.0997 0.9950 +vn -0.0000 -0.1804 0.9836 +vn -0.0000 -0.0613 -0.9981 +vn 0.9955 -0.0947 -0.0000 +vn -0.0000 0.1792 0.9838 +vn -0.0000 -0.2422 -0.9702 +vn 0.0008 0.5015 0.8652 +vn -0.0000 0.5038 0.8638 +vn 0.0005 0.5013 0.8653 +vn -0.9934 -0.0844 0.0771 +vn -0.0000 0.5088 0.8609 +vn 0.0025 0.5075 0.8616 +vn -0.0026 0.5077 0.8615 +vn -0.0000 -0.5752 -0.8180 +vn -0.0000 -0.7383 0.6745 +vn -0.0000 -0.9117 -0.4108 +vn 0.9385 -0.2548 0.2328 +vn -0.9386 -0.2548 0.2328 +vn -0.0000 -0.9994 -0.0347 +vn -0.0051 1.0000 -0.0000 +vn -0.0000 -0.0370 0.9993 +vn 0.9999 -0.0021 -0.0102 +vn 0.9999 0.0018 -0.0135 +vn -1.0000 -0.0035 -0.0069 +vn -0.9999 0.0001 -0.0134 +vn -1.0000 -0.0015 -0.0087 +vn 1.0000 0.0010 0.0047 +vn 1.0000 -0.0006 -0.0000 +vn -1.0000 -0.0027 0.0042 +vn -1.0000 -0.0017 -0.0006 +vn 0.0007 -1.0000 -0.0000 +vn -1.0000 -0.0015 -0.0000 +vn 1.0000 -0.0015 -0.0000 +vn 0.0032 1.0000 -0.0000 +vn 1.0000 -0.0056 0.0033 +vn 1.0000 -0.0015 0.0006 +vn 1.0000 0.0015 0.0047 +vn 1.0000 -0.0017 0.0008 +vn 1.0000 -0.0006 0.0051 +vn 0.0032 -1.0000 -0.0000 +vn -1.0000 0.0013 0.0045 +vn -1.0000 -0.0007 -0.0000 +vn -1.0000 -0.0006 0.0003 +vn -1.0000 -0.0015 -0.0006 +vn -1.0000 -0.0004 0.0051 +vn -1.0000 -0.0006 -0.0000 +vn -0.0032 1.0000 -0.0000 +vn -0.0032 -1.0000 -0.0000 +vn -0.0000 -0.3827 -0.9239 +vn -0.0000 -0.9239 -0.3827 +vn -0.0000 -0.9239 0.3827 +vn -0.0000 -0.3827 0.9239 +vn -0.0000 0.3827 0.9239 +vn -0.0000 0.9239 0.3827 +vn -0.0000 0.9239 -0.3827 +vn -0.0000 0.3827 -0.9239 +vn 0.9239 -0.3827 -0.0000 +vn -0.9239 -0.3827 -0.0000 +vn 0.3827 0.9239 -0.0000 +vn -0.3827 0.9239 -0.0000 +vn 0.9239 0.3827 -0.0000 +vn 0.3827 -0.9239 -0.0000 +vn -0.3827 -0.9239 -0.0000 +vn 0.2163 0.5222 -0.8249 +vn -0.2163 0.5222 -0.8250 +vn -0.5222 -0.2163 -0.8249 +vn 0.2081 -0.4401 -0.8735 +vn 0.5222 0.2163 -0.8249 +vn -0.5222 0.2163 -0.8249 +vn -0.2163 -0.5222 -0.8249 +vn 0.5222 -0.2163 -0.8249 +vn 0.5222 0.2163 0.8249 +vn -0.5222 0.2163 0.8249 +vn -0.2163 -0.5222 0.8250 +vn 0.5222 -0.2163 0.8249 +vn 0.3827 0.9238 -0.0120 +vn 0.8438 -0.5265 0.1041 +vn -0.5222 -0.2163 0.8249 +vn 0.2058 -0.4197 0.8840 +vn -0.1653 0.4232 -0.8908 +vn -0.9239 0.3827 0.0001 +vn 0.1642 0.3964 -0.9033 +vn 0.3964 -0.1642 -0.9033 +vn 0.1642 -0.3964 -0.9033 +vn 0.3964 0.1642 -0.9033 +vn -0.3964 -0.1642 -0.9033 +vn -0.1642 -0.3964 -0.9033 +vn -0.3827 0.9239 0.0001 +vn 0.9239 0.3827 0.0001 +vn -0.3827 -0.9239 0.0001 +vn 0.3827 0.9239 0.0001 +vn 0.9239 -0.3827 0.0001 +vn -0.9239 -0.3827 0.0001 +vn -0.3964 0.1642 -0.9033 +vn 0.3827 -0.9239 0.0001 +vn 0.1317 -0.3179 0.9389 +vn 0.3179 0.1317 0.9389 +vn -0.3179 0.1317 0.9389 +vn -0.3179 -0.1317 0.9389 +vn -0.1317 -0.3179 0.9389 +vn -0.1355 0.3696 0.9193 +vn 0.1317 0.3179 0.9389 +vn 0.3179 -0.1317 0.9390 +vn -0.4654 -0.1928 -0.8638 +vn -0.1928 -0.4654 -0.8638 +vn -0.1928 0.4654 -0.8638 +vn 0.1928 0.4654 -0.8638 +vn 0.4654 -0.1928 -0.8639 +vn 0.1928 -0.4654 -0.8638 +vn 0.4654 0.1928 -0.8638 +vn -0.4654 0.1928 -0.8639 +vn 0.2570 -0.1064 0.9605 +vn 0.1064 -0.2570 0.9605 +vn 0.2570 0.1064 0.9605 +vn -0.2570 0.1064 0.9605 +vn -0.2570 -0.1064 0.9605 +vn -0.1064 -0.2570 0.9605 +vn -0.1064 0.2570 0.9605 +vn 0.1064 0.2570 0.9605 +vn 0.9968 0.0794 -0.0000 +vn -0.9968 0.0794 -0.0000 +vn -0.0007 0.0459 -0.9989 +vn -0.0009 0.0618 0.9981 +vn 0.0009 0.0618 0.9981 +vn 0.0006 0.0459 -0.9989 +vn 0.0465 0.1530 0.9871 +vn -0.0359 0.1299 0.9909 +vn -0.2910 0.9565 0.0178 +vn -0.7522 -0.6487 0.1156 +vn -0.2663 -0.9636 0.0231 +vn 0.3820 -0.9223 0.0577 +vn -0.6671 -0.2763 0.6919 +vn 0.6671 -0.2763 0.6919 +vn 0.2683 0.6476 0.7132 +vn -0.2660 0.6359 0.7244 +vn -0.2763 -0.6671 0.6919 +vn 0.6671 0.2763 0.6919 +vn -0.6907 0.2924 0.6614 +vn 0.2763 -0.6671 0.6919 +vn 0.2692 -0.6498 -0.7109 +vn -0.7364 0.3285 -0.5914 +vn -0.9213 0.3888 -0.0000 +vn 0.6498 0.2692 -0.7108 +vn 0.9213 0.3888 -0.0000 +vn -0.2692 -0.6498 -0.7108 +vn -0.2921 0.6981 -0.6537 +vn 0.2936 0.7087 -0.6415 +vn 0.6498 -0.2692 -0.7109 +vn -0.6498 -0.2692 -0.7108 +vn -0.9707 0.2404 -0.0000 +vn -0.0152 0.0364 -0.9992 +vn 0.9707 0.2404 -0.0000 +vn 0.0008 0.0018 1.0000 +vn -0.0007 0.0018 1.0000 +vn 0.0154 0.0365 -0.9992 +vn -0.0000 1.0000 -0.0000 +vn 0.9826 0.1855 -0.0000 +vn -0.9757 0.2193 -0.0000 +vn -0.9979 0.0652 -0.0000 +vn 0.9979 0.0652 -0.0000 +vn 0.5958 0.2860 -0.7505 +vn -0.5295 0.8483 -0.0000 +vn 0.5292 0.8485 -0.0000 +vn -0.5654 0.2964 0.7697 +vn -0.0000 0.9333 -0.3590 +vn -0.5112 0.8022 -0.3086 +vn -0.0000 0.9333 0.3590 +vn 0.5417 0.7846 0.3018 +vn -0.5654 0.2963 -0.7698 +vn 0.5417 0.7846 -0.3018 +vn 0.5958 0.2860 0.7505 +vn -0.5112 0.8022 0.3086 +vn 1.0000 -0.0023 -0.0003 +vn 0.0054 -0.0103 -0.9999 +vn -0.0060 -0.0098 -0.9999 +vn -0.2048 -0.2682 -0.9413 +vn 0.1799 -0.3126 -0.9327 +vn 0.0015 -0.9870 -0.1609 +vn 0.9385 0.3453 -0.0001 +vn 1.0000 -0.0015 -0.0087 +vn 0.9999 -0.0000 -0.0134 +vn -0.7768 -0.6298 -0.0036 +vn -1.0000 0.0004 -0.0021 +vn -1.0000 -0.0015 -0.0049 +vn -0.9385 0.3453 -0.0000 +vn 0.7768 -0.6298 -0.0036 +vn -0.9413 0.3377 -0.0022 +vn 0.3935 -0.0015 0.9193 +vn 0.4060 0.1562 0.9004 +vn -1.0000 -0.0021 -0.0000 +vn -1.0000 -0.0018 -0.0027 +vn 1.0000 -0.0036 -0.0000 +vn 1.0000 -0.0004 -0.0003 +vn -0.9608 0.2487 -0.1223 +vn -0.6066 -0.7945 -0.0284 +vn -0.6265 -0.7733 -0.0975 +vn -1.0000 -0.0000 -0.0003 +vn 1.0000 -0.0005 -0.0003 +vn 1.0000 0.0016 -0.0009 +vn 1.0000 0.0030 -0.0040 +vn -1.0000 0.0030 -0.0040 +vn -1.0000 0.0016 -0.0009 +vn -1.0000 -0.0005 -0.0003 +vn 1.0000 -0.0015 -0.0049 +vn 1.0000 0.0004 -0.0021 +vn 0.9999 -0.0056 -0.0118 +vn 1.0000 -0.0015 -0.0088 +vn -1.0000 -0.0015 -0.0088 +vn -0.9999 -0.0055 -0.0118 +vn -0.9999 -0.0015 -0.0102 +vn -0.9999 0.0036 -0.0102 +vn -0.9999 -0.0061 -0.0084 +vn 0.1422 0.3319 -0.9325 +vn 0.4062 0.1600 -0.8997 +vn 0.7079 0.7063 -0.0002 +vn 0.1430 0.3294 0.9333 +vn 0.3947 0.0009 -0.9188 +vn -1.0000 -0.0012 0.0016 +vn -1.0000 -0.0039 0.0023 +vn 1.0000 -0.0024 0.0014 +vn -0.9306 0.3160 -0.1849 +vn -0.9936 -0.0013 -0.1126 +vn -0.5412 0.8265 -0.1550 +vn 0.5412 0.8265 -0.1550 +vn 0.9608 0.2487 -0.1223 +vn 0.9937 -0.0007 -0.1122 +vn -0.9634 0.2291 -0.1393 +vn 0.9634 0.2291 -0.1393 +vn -0.3871 0.7687 -0.5092 +vn -1.0000 -0.0015 -0.0022 +vn -1.0000 0.0006 0.0027 +vn 0.3871 0.7687 -0.5092 +vn 1.0000 -0.0066 0.0006 +vn 1.0000 -0.0047 0.0042 +vn 1.0000 -0.0061 0.0028 +vn 0.9306 0.3160 -0.1849 +vn -0.0000 -0.9328 0.3605 +vn -0.7103 -0.6566 0.2537 +vn 1.0000 -0.0008 -0.0027 +vn 1.0000 -0.0020 0.0020 +vn -1.0000 -0.0061 0.0037 +vn -0.5495 0.7690 -0.3266 +vn -1.0000 -0.0022 -0.0015 +vn -1.0000 0.0016 0.0021 +vn 0.5495 0.7690 -0.3266 +vn 1.0000 -0.0045 0.0006 +vn 1.0000 -0.0010 0.0046 +vn 1.0000 -0.0035 0.0032 +vn -1.0000 -0.0015 -0.0007 +vn -0.7633 0.6459 0.0135 +vn -1.0000 -0.0025 -0.0012 +vn -1.0000 -0.0034 0.0003 +vn 1.0000 -0.0016 -0.0021 +vn -1.0000 -0.0031 -0.0014 +vn -1.0000 0.0002 -0.0028 +vn -1.0000 -0.0012 0.0012 +vn 0.7633 0.6459 0.0135 +vn 1.0000 -0.0020 -0.0013 +vn 1.0000 -0.0017 0.0003 +vn 0.9901 0.1401 -0.0111 +vn -0.9901 0.1401 -0.0111 +vn 0.6385 0.0097 -0.7696 +vn 0.6425 0.0150 -0.7662 +vn 0.6390 0.0022 -0.7692 +vn -0.7068 0.0066 -0.7074 +vn -0.7028 -0.0044 -0.7114 +vn 0.7066 0.2135 -0.6746 +vn 0.5060 0.8391 -0.1997 +vn -0.5146 0.8533 -0.0838 +vn -0.7041 0.0132 -0.7100 +vn -0.7086 0.0154 -0.7055 +vn -0.7884 0.2333 -0.5692 +vn 0.6241 0.0024 -0.7814 +vn 0.6746 -0.6933 0.2534 +vn 0.9999 0.0140 -0.0012 +vn 0.9999 0.0097 0.0052 +vn 1.0000 0.0094 0.0004 +vn 0.6270 -0.7729 -0.0976 +vn 0.6072 -0.7941 -0.0284 +vn 0.9841 -0.1697 -0.0533 +vn -0.0223 -0.9997 0.0105 +vn 0.0223 -0.9997 0.0105 +vn -0.9274 -0.0000 -0.3742 +vn 0.9987 -0.0092 -0.0494 +vn -1.0000 -0.0005 -0.0048 +vn -1.0000 -0.0039 0.0029 +vn 1.0000 -0.0047 0.0009 +vn -0.0004 -0.0719 -0.9974 +vn -1.0000 0.0094 0.0004 +vn -0.9999 0.0097 0.0052 +vn -0.9999 0.0140 -0.0012 +vn -0.0000 -0.1150 0.9934 +vn 0.9934 -0.0844 0.0771 +vn -0.0007 0.5015 0.8652 +vn -0.9955 -0.0947 -0.0000 +vn 0.0026 0.5098 0.8603 +vn 1.0000 -0.0015 -0.0095 +vn 1.0000 -0.0061 -0.0078 +vn 0.9999 0.0036 -0.0095 +vn 1.0000 0.0013 0.0045 +vn -1.0000 -0.0056 0.0033 +vn -1.0000 0.0016 0.0047 +vn -1.0000 -0.0015 0.0006 +vn 1.0000 -0.0030 0.0040 +vn 1.0000 -0.0017 -0.0008 +vn 1.0000 -0.0015 -0.0006 +vn 1.0000 -0.0004 0.0051 +vn -1.0000 0.0010 0.0046 +vn -1.0000 -0.0017 0.0006 +vn -1.0000 -0.0006 0.0051 +vn -0.0000 0.0127 -0.9999 +vn -0.0012 0.0155 -0.9999 +vn -0.0021 0.0150 -0.9999 +vn 0.0002 0.0112 -0.9999 +vn -0.0000 0.0171 -0.9999 +vn -0.0027 0.0139 -0.9999 +vn 0.0059 0.0010 -1.0000 +vn -0.0059 0.0011 -1.0000 +vn -0.0012 0.0113 -0.9999 +vn 0.0046 0.0133 -0.9999 +vn 0.2163 0.5222 -0.8250 +vn -0.2163 0.5222 -0.8249 +vn 0.2163 -0.5222 -0.8249 +vn -0.2081 -0.4401 -0.8735 +vn -0.2058 -0.4197 0.8840 +vn 0.2910 0.9565 0.0178 +vn 0.7522 -0.6487 0.1156 +vn 0.2163 -0.5222 0.8250 +vn -0.1642 0.3964 -0.9033 +vn 0.1653 0.4232 -0.8908 +vn -0.3179 -0.1317 0.9390 +vn -0.1317 0.3179 0.9389 +vn 0.1355 0.3696 0.9193 +vn 0.3179 -0.1317 0.9389 +vn -0.4654 -0.1928 -0.8639 +vn 0.4654 -0.1928 -0.8638 +vn 0.4654 0.1928 -0.8639 +vn -0.4654 0.1928 -0.8638 +vn 0.0359 0.1299 0.9909 +vn -0.0465 0.1530 0.9871 +vn -0.3827 0.9238 -0.0120 +vn -0.8438 -0.5265 0.1041 +vn -0.3820 -0.9223 0.0577 +vn 0.2663 -0.9636 0.0231 +vn 0.2645 0.6280 0.7319 +vn -0.2683 0.6476 0.7132 +vn 0.6907 0.2924 0.6614 +vn -0.6671 0.2763 0.6919 +vn 0.2692 -0.6498 -0.7108 +vn -0.6498 0.2692 -0.7108 +vn 0.7364 0.3285 -0.5914 +vn -0.2692 -0.6498 -0.7109 +vn -0.2936 0.7087 -0.6415 +vn 0.2910 0.6909 -0.6618 +vn 0.6498 -0.2692 -0.7108 +vn -0.6498 -0.2692 -0.7109 +vn -0.0000 0.0589 -0.9983 +vn -0.0000 0.0029 1.0000 +vn 0.2185 0.0412 -0.9750 +vn -0.5296 0.8483 -0.0000 +vn -0.2098 0.0472 0.9766 +vn -0.0000 -0.0001 1.0000 +vn -0.2098 0.0472 -0.9766 +vn 0.2184 0.0412 0.9750 +vn 1.0000 -0.0021 -0.0003 +vn -1.0000 0.0059 0.0043 +vn -1.0000 0.0040 0.0035 +vn -1.0000 0.0050 0.0041 +vn 0.3545 -0.9351 -0.0000 +vn 0.9679 -0.2514 -0.0000 +vn 1.0000 -0.0052 -0.0052 +vn 1.0000 -0.0025 -0.0012 +vn 1.0000 -0.0045 -0.0035 +vn -0.0000 -1.0000 0.0095 +vn 1.0000 -0.0000 -0.0019 +vn 0.0066 -0.9872 -0.1592 +vn -0.0002 -0.9869 -0.1613 +vn -0.0024 -0.9869 -0.1611 +vn -0.0029 0.0004 -1.0000 +vn -0.0059 0.0076 -1.0000 +vn 0.9679 -0.2514 -0.0016 +vn -1.0000 0.0023 0.0019 +vn 0.3545 -0.9351 0.0004 +vn -0.9999 0.0114 0.0033 +vn -1.0000 0.0040 0.0042 +vn -1.0000 0.0059 0.0058 +vn 0.9999 0.0057 -0.0158 +vn 0.9999 0.0080 -0.0141 +vn 0.9997 0.0051 -0.0255 +vn -0.9333 -0.3590 0.0022 +vn -0.4011 -0.9160 0.0018 +vn -0.0000 0.5115 -0.8593 +vn -1.0000 -0.0063 -0.0046 +vn -1.0000 -0.0046 -0.0033 +vn -1.0000 -0.0024 -0.0031 +vn 0.9999 0.0082 0.0070 +vn 1.0000 0.0047 0.0037 +vn 1.0000 0.0038 0.0009 +vn -0.0091 -0.9876 -0.1567 +vn 0.0007 -0.9869 -0.1613 +vn -0.0016 -0.9869 -0.1612 +vn 0.0078 -0.9874 -0.1582 +vn -0.0018 0.0035 -1.0000 +vn -0.8709 0.0032 -0.4914 +vn -0.8709 0.0073 -0.4915 +vn 0.0024 -0.0075 -1.0000 +vn -0.0000 -0.0042 -1.0000 +vn 0.0072 -0.0070 -0.9999 +vn -0.0047 0.0061 -1.0000 +vn -0.0014 0.0038 -1.0000 +vn -0.0013 -0.0051 -1.0000 +vn -0.0021 -0.0091 -1.0000 +vn 0.0040 0.0006 -1.0000 +vn -1.0000 0.0068 -0.0047 +vn -1.0000 0.0024 -0.0079 +vn -1.0000 0.0069 -0.0048 +vn 0.9998 0.0169 0.0048 +vn 1.0000 0.0064 0.0018 +vn 1.0000 0.0059 -0.0044 vt 0.314366 0.961863 vt 0.294812 0.975635 vt 0.294657 0.961939 @@ -972,13 +1154,6 @@ vt 0.088674 0.528893 vt 0.091711 0.518805 vt 0.273373 0.868342 vt 0.291054 0.804240 -vt 0.137874 0.461278 -vt 0.058604 0.420707 -vt 0.138976 0.425869 -vt 0.064584 0.393192 -vt 0.133379 0.393550 -vt 0.134776 0.484662 -vt 0.059414 0.457228 vt 0.017282 0.517402 vt 0.096715 0.601134 vt 0.094272 0.561212 @@ -1102,6 +1277,8 @@ vt 0.281554 0.625218 vt 0.271561 0.618402 vt 0.294030 0.616776 vt 0.170751 0.788410 +vt 0.157783 0.800051 +vt 0.152072 0.860847 vt 0.193727 0.919817 vt 0.180297 0.708701 vt 0.193725 0.708701 @@ -1121,12 +1298,11 @@ vt 0.263443 0.629089 vt 0.265727 0.618518 vt 0.263353 0.618566 vt 0.265808 0.625494 +vt 0.258767 0.637676 vt 0.254047 0.637653 -vt 0.263488 0.637699 vt 0.251845 0.609578 vt 0.251796 0.618515 vt 0.251734 0.625465 -vt 0.157783 0.800051 vt 0.138954 0.800369 vt 0.254084 0.625511 vt 0.254163 0.618559 @@ -1296,65 +1472,6 @@ vt 0.219558 0.399615 vt 0.181532 0.381137 vt 0.188270 0.431502 vt 0.188270 0.381137 -vt 0.187482 0.431554 -vt 0.156855 0.444483 -vt 0.154582 0.431555 -vt 0.181530 0.456662 -vt 0.160534 0.456663 -vt 0.181530 0.470033 -vt 0.160534 0.470034 -vt 0.156855 0.482213 -vt 0.187482 0.495142 -vt 0.154582 0.495142 -vt 0.208478 0.431554 -vt 0.177852 0.444483 -vt 0.175578 0.431554 -vt 0.202527 0.456662 -vt 0.202527 0.470033 -vt 0.177852 0.482213 -vt 0.208479 0.495141 -vt 0.175579 0.495142 -vt 0.229475 0.431554 -vt 0.198848 0.444483 -vt 0.196575 0.431554 -vt 0.227202 0.444483 -vt 0.223523 0.470033 -vt 0.198849 0.482213 -vt 0.229475 0.495141 -vt 0.196575 0.495142 -vt 0.250472 0.431554 -vt 0.219845 0.444483 -vt 0.217572 0.431554 -vt 0.248198 0.444483 -vt 0.223523 0.456662 -vt 0.244520 0.456662 -vt 0.244520 0.470033 -vt 0.219845 0.482212 -vt 0.250472 0.495141 -vt 0.217572 0.495141 -vt 0.238569 0.431554 -vt 0.269195 0.444483 -vt 0.240842 0.444483 -vt 0.265517 0.456662 -vt 0.269195 0.482213 -vt 0.240842 0.482212 -vt 0.238568 0.495141 -vt 0.259565 0.431554 -vt 0.290192 0.444483 -vt 0.261838 0.444483 -vt 0.286513 0.456663 -vt 0.265517 0.470033 -vt 0.290191 0.482213 -vt 0.261838 0.482212 -vt 0.259565 0.495141 -vt 0.280562 0.431554 -vt 0.311188 0.444483 -vt 0.282835 0.444483 -vt 0.307510 0.456663 -vt 0.286513 0.470033 -vt 0.311188 0.482213 -vt 0.282835 0.482213 -vt 0.280561 0.495142 vt 0.126584 0.919818 vt 0.140012 0.708701 vt 0.140013 0.919817 @@ -1667,9 +1784,6 @@ vt 0.251491 0.922891 vt 0.302318 0.955878 vt 0.296095 0.940846 vt 0.309892 0.941203 -vt 0.276157 1.000043 -vt 0.277845 0.988719 -vt 0.279031 0.999320 vt 0.284417 0.944018 vt 0.263815 0.960025 vt 0.274027 0.944968 @@ -1679,42 +1793,8 @@ vt 0.263891 0.944699 vt 0.253734 0.959924 vt 0.253781 0.944730 vt 0.263905 0.941721 -vt 0.262350 0.883120 -vt 0.272118 0.893652 -vt 0.262350 0.893652 vt 0.243789 0.946439 vt 0.243564 0.943592 -vt 0.274698 0.990680 -vt 0.275897 0.990665 -vt 0.222326 0.666214 -vt 0.223796 0.675651 -vt 0.221878 0.675521 -vt 0.276984 0.883345 -vt 0.274471 0.883120 -vt 0.209797 0.558857 -vt 0.219735 0.569163 -vt 0.209797 0.569163 -vt 0.225468 0.664276 -vt 0.226612 0.674973 -vt 0.222094 0.558857 -vt 0.223523 0.666167 -vt 0.281111 0.893792 -vt 0.279697 0.988827 -vt 0.228356 0.674554 -vt 0.227211 0.663856 -vt 0.220401 0.664219 -vt 0.217884 0.569235 -vt 0.272118 0.897282 -vt 0.279262 0.893687 -vt 0.219072 0.674722 -vt 0.289130 0.883559 -vt 0.289049 0.893859 -vt 0.272776 0.988740 -vt 0.274236 0.999907 -vt 0.271463 0.999118 -vt 0.226877 0.569238 -vt 0.236860 0.558893 -vt 0.236778 0.569413 vt 0.208616 0.698065 vt 0.199561 0.713051 vt 0.199561 0.698065 @@ -1765,8 +1845,6 @@ vt 0.223082 0.696719 vt 0.220294 0.682531 vt 0.232619 0.714384 vt 0.235699 0.728531 -vt 0.236749 0.573040 -vt 0.269746 0.998630 vt 0.144323 0.762715 vt 0.314455 0.975508 vt 0.097131 0.750157 @@ -1784,7 +1862,6 @@ vt 0.010554 0.041223 vt 0.199186 0.800615 vt 0.128645 0.801487 vt 0.203942 0.975766 -vt 0.062578 0.483566 vt 0.131861 0.038058 vt 0.318354 0.254488 vt 0.153393 0.041207 @@ -1822,19 +1899,6 @@ vt 0.214794 0.416868 vt 0.214794 0.406761 vt 0.226296 0.399615 vt 0.231060 0.406761 -vt 0.185209 0.444483 -vt 0.185209 0.482213 -vt 0.206205 0.444482 -vt 0.206205 0.482213 -vt 0.227202 0.482212 -vt 0.248198 0.482212 -vt 0.271468 0.431554 -vt 0.271468 0.495142 -vt 0.292465 0.431554 -vt 0.292465 0.495142 -vt 0.313461 0.431555 -vt 0.307510 0.470034 -vt 0.313461 0.495142 vt 0.113156 0.919818 vt 0.328124 0.919818 vt 0.313949 0.919163 @@ -1876,261 +1940,1673 @@ vt 0.304790 0.953196 vt 0.276265 0.953205 vt 0.220287 0.959600 vt 0.293315 0.949913 -vt 0.224609 0.558677 -vt 0.218549 0.664294 -vt 0.262350 0.897282 vt 0.220063 0.728189 vt 0.235926 0.682997 vt 0.216897 0.712351 vt 0.238896 0.698725 vt 0.238896 0.712391 vt 0.216897 0.698764 +vt 0.176993 0.860576 +vt 0.163321 0.799991 +vt 0.048042 0.441712 +vt 0.048083 0.435555 +vt 0.263488 0.637699 +s 0 +f 1/1/1 3/2/1 4/3/1 +f 4/3/2 5/4/2 6/5/2 +f 6/5/3 7/6/4 8/7/3 +f 10/8/5 12/9/5 9/10/5 +f 7/11/6 5/12/6 14/13/6 +f 12/14/7 16/15/8 17/16/8 +f 14/17/9 19/18/9 18/19/10 +f 13/20/11 1/21/11 19/18/11 +f 20/22/12 22/23/12 23/24/12 +f 25/25/13 18/19/14 19/18/13 +f 27/26/15 29/27/15 26/28/15 +f 31/29/16 27/26/16 30/30/16 +f 33/31/11 19/18/11 1/21/11 +f 34/32/17 24/33/17 35/34/17 +f 36/35/18 38/36/18 39/37/18 +f 41/38/19 26/39/19 40/40/19 +f 40/40/20 43/41/20 44/42/20 +f 48/43/21 46/44/21 45/45/21 +f 51/46/22 52/47/22 53/48/22 +f 34/32/23 54/49/23 17/16/23 +f 55/50/24 56/51/24 60/52/24 +f 20/53/25 61/54/26 56/51/26 +f 57/55/27 62/56/27 12/14/28 +f 23/57/29 61/54/29 20/58/29 +f 9/10/30 22/23/30 10/8/30 +f 63/59/31 20/53/32 43/41/31 +f 64/60/33 43/41/34 42/61/34 +f 17/16/35 65/62/36 34/32/35 +f 34/32/37 15/63/38 18/19/39 +f 9/64/40 12/65/40 62/56/40 +f 30/66/41 32/67/41 33/68/41 +f 4/69/42 67/70/42 1/71/42 +f 27/72/43 66/73/43 30/66/43 +f 67/70/44 33/74/44 1/71/44 +f 6/75/45 68/76/45 4/69/45 +f 26/28/46 71/77/46 8/78/46 +f 70/79/47 30/30/47 33/74/47 +f 6/75/48 71/77/48 69/80/48 +f 72/81/49 73/82/50 74/83/51 +f 38/36/52 76/84/53 39/37/54 +f 77/85/55 47/86/55 48/43/55 +f 78/87/56 47/86/56 72/81/56 +f 80/88/57 45/45/57 79/89/57 +f 81/90/58 80/91/58 79/92/58 +f 83/93/59 82/94/59 81/90/59 +f 78/87/60 51/95/60 50/96/60 +f 36/35/61 84/97/61 83/93/61 +f 86/98/62 73/82/62 77/85/62 +f 87/99/63 89/100/63 90/101/63 +f 91/102/64 93/103/64 92/104/64 +f 95/105/65 48/43/65 80/88/65 +f 51/95/66 74/83/67 88/106/66 +f 82/94/68 95/107/68 80/91/68 +f 39/37/69 91/102/70 84/97/70 +f 84/97/71 92/104/71 82/94/71 +f 52/47/72 88/108/72 87/99/72 +f 97/109/73 93/103/73 94/110/73 +f 94/110/74 99/111/75 97/109/74 +f 96/112/76 100/113/76 93/103/76 +f 75/114/52 98/115/77 76/84/78 +f 74/83/79 85/116/80 103/117/81 +f 100/118/82 77/85/82 95/105/82 +f 88/106/66 103/117/83 89/119/66 +f 92/104/84 100/113/84 95/107/84 +f 76/84/85 94/110/86 91/102/86 +f 104/120/66 106/121/66 107/122/66 +f 101/123/87 109/124/87 108/125/87 +f 105/126/88 112/127/89 106/121/89 +f 89/100/90 113/128/90 90/101/90 +f 86/98/91 111/129/92 85/116/91 +f 98/115/93 114/130/52 99/111/94 +f 85/116/95 105/126/95 103/117/96 +f 100/118/97 108/125/97 86/98/97 +f 103/117/98 104/120/66 89/119/66 +f 106/131/99 115/132/99 116/133/99 +f 118/134/52 120/135/52 117/136/52 +f 121/137/100 112/138/100 109/139/100 +f 122/140/101 101/141/101 96/112/101 +f 99/111/102 123/142/103 97/109/103 +f 97/109/104 122/140/105 96/112/105 +f 113/128/106 107/143/106 124/144/106 +f 109/124/107 111/129/107 108/125/107 +f 114/130/52 117/145/52 99/111/108 +f 41/38/109 36/146/110 83/147/109 +f 35/34/111 50/148/112 54/49/112 +f 83/147/113 66/73/113 41/38/113 +f 81/149/114 32/67/114 66/73/114 +f 32/150/115 45/151/115 25/25/115 +f 24/33/116 78/152/117 35/34/118 +f 125/153/119 54/154/119 49/155/119 +f 25/25/120 46/156/120 24/33/120 +f 40/40/121 37/157/122 36/146/123 +f 129/158/124 109/139/124 110/159/124 +f 107/160/66 116/133/66 130/161/66 +f 122/162/125 129/163/125 110/164/125 +f 117/136/126 126/165/126 123/166/126 +f 123/166/127 127/167/127 122/162/127 +f 124/168/128 130/161/128 131/169/128 +f 132/170/129 119/171/129 118/134/129 +f 124/168/130 128/172/130 132/170/130 +f 44/173/131 134/174/131 37/175/131 +f 135/176/132 137/177/132 53/178/132 +f 138/179/133 118/180/133 114/181/133 +f 113/128/134 132/182/134 138/179/134 +f 102/183/135 138/179/135 114/181/135 +f 90/101/136 138/179/136 139/184/136 +f 140/185/137 75/186/137 38/187/137 +f 170/188/138 467/189/139 466/190/139 +f 141/191/140 102/183/140 75/186/140 +f 87/99/141 139/184/141 141/191/141 +f 135/192/142 140/185/142 38/187/142 +f 133/193/143 142/194/143 134/195/143 +f 133/196/144 44/173/144 55/50/144 +f 57/55/145 59/197/145 477/198/145 +f 393/199/146 255/200/146 250/201/146 +f 142/194/147 144/202/147 136/203/147 +f 136/204/148 145/205/148 137/177/148 +f 134/195/147 136/203/147 135/206/147 +f 125/207/149 146/208/149 59/209/149 +f 49/210/150 137/211/150 146/208/150 +f 148/212/151 150/213/151 147/214/151 +f 143/215/152 150/213/152 151/216/152 +f 142/194/152 147/217/152 143/215/152 +f 147/214/153 479/218/153 59/219/153 +f 146/208/150 145/220/150 152/221/150 +f 146/208/154 148/222/154 59/209/154 +f 125/153/155 59/197/155 58/223/155 +f 149/224/156 151/216/156 150/213/156 +f 153/225/157 155/226/157 151/216/157 +f 152/221/150 154/227/150 153/225/150 +f 152/221/158 149/224/158 148/222/158 +f 144/228/159 157/229/159 145/205/159 +f 143/215/147 155/226/147 144/202/147 +f 157/230/66 160/231/66 158/232/66 +f 154/227/160 161/233/160 155/226/160 +f 144/202/52 161/233/52 156/234/52 +f 145/220/66 158/232/66 154/227/66 +f 162/235/52 164/236/52 165/237/52 +f 156/238/161 159/239/161 157/229/161 +f 156/234/52 163/240/52 162/235/52 +f 158/232/162 163/241/162 161/233/162 +f 167/242/66 169/243/163 166/244/66 +f 160/245/164 164/246/164 163/241/164 +f 159/247/66 166/244/66 160/231/66 +f 162/248/165 167/249/165 159/239/165 +f 165/250/166 168/251/166 167/249/166 +f 165/237/52 171/252/167 170/188/168 +f 166/253/169 171/254/169 164/246/169 +f 467/255/170 169/256/170 464/257/170 +f 465/258/171 170/259/171 466/260/171 +f 464/261/172 168/262/173 465/263/172 +f 172/264/66 174/265/66 175/266/66 +f 174/267/174 177/268/174 175/269/174 +f 176/270/52 179/271/52 177/272/52 +f 178/273/175 172/274/175 179/275/175 +f 177/268/176 181/276/176 175/269/176 +f 183/277/177 185/278/177 182/279/177 +f 175/266/66 183/280/66 172/264/66 +f 177/272/52 182/281/52 180/282/52 +f 172/274/178 182/279/178 179/275/178 +f 185/283/52 188/284/52 186/285/52 +f 180/286/179 189/287/179 181/276/179 +f 180/282/52 185/283/52 186/285/52 +f 181/288/66 184/289/66 183/280/66 +f 187/290/180 191/291/180 188/284/180 +f 184/289/66 192/292/66 193/293/66 +f 184/294/181 187/295/181 185/278/181 +f 186/296/182 192/297/182 189/287/182 +f 194/298/183 196/299/184 190/300/185 +f 193/293/186 197/301/186 194/302/186 +f 187/295/187 194/298/188 190/300/189 +f 188/303/190 197/304/190 192/297/190 +f 199/305/191 195/306/191 198/307/191 +f 197/304/192 199/308/192 198/309/192 +f 190/310/193 199/311/193 191/291/193 +f 194/302/194 198/312/194 195/313/194 +f 53/48/195 140/185/195 135/192/195 +f 15/314/196 201/315/196 7/316/196 +f 65/317/6 63/318/6 64/319/6 +f 16/320/6 21/321/6 63/318/6 +f 11/322/197 22/23/197 21/321/197 +f 8/7/198 64/60/199 42/61/198 +f 18/19/200 15/63/201 14/17/202 +f 200/323/196 203/324/196 201/315/196 +f 7/316/203 204/325/204 205/326/204 +f 15/314/205 206/327/206 207/328/206 +f 64/329/207 209/330/207 65/331/207 +f 202/332/6 211/333/6 203/334/6 +f 209/335/208 202/336/208 200/323/208 +f 208/337/207 210/338/207 209/330/207 +f 201/315/209 211/333/209 208/337/209 +f 213/339/210 215/340/210 212/341/210 +f 7/316/211 213/342/212 64/329/213 +f 201/315/214 212/343/214 204/325/214 +f 64/329/215 212/343/204 208/337/204 +f 207/344/216 218/345/216 216/346/216 +f 15/314/217 216/347/218 200/323/219 +f 200/323/220 219/348/220 209/335/220 +f 65/349/221 219/348/222 206/327/222 +f 220/350/99 218/345/99 217/351/99 +f 207/352/6 220/350/6 217/351/6 +f 219/353/223 220/350/223 206/354/223 +f 216/355/132 221/356/132 219/357/132 +f 222/358/126 215/340/126 214/359/126 +f 204/360/132 215/340/132 223/361/132 +f 204/362/224 222/358/224 205/363/224 +f 205/364/6 214/359/6 213/365/6 +f 130/366/132 116/367/132 120/368/132 +f 225/369/52 227/370/52 224/371/52 +f 229/372/225 231/373/225 228/374/225 +f 230/375/226 233/376/226 231/373/226 +f 232/377/227 235/378/227 233/379/227 +f 234/380/228 237/381/228 235/378/228 +f 236/382/229 239/383/229 237/381/229 +f 238/384/230 241/385/230 239/383/230 +f 234/386/52 232/387/52 240/388/52 +f 240/389/231 243/390/231 241/385/231 +f 242/391/232 228/374/232 243/390/232 +f 397/392/233 246/393/233 396/394/233 +f 393/199/234 249/395/234 392/396/234 +f 400/397/235 245/398/235 244/399/235 +f 400/397/236 255/200/236 404/400/236 +f 396/394/237 245/398/237 401/401/237 +f 252/402/238 254/403/238 251/404/238 +f 406/405/239 249/395/239 248/406/239 +f 397/392/238 248/407/238 247/408/238 +f 257/409/240 259/410/240 256/411/240 +f 261/412/146 263/413/146 260/414/146 +f 265/415/237 266/416/237 264/417/237 +f 251/418/239 268/419/239 267/420/239 +f 260/414/236 257/421/236 269/422/236 +f 269/422/235 256/423/235 265/415/235 +f 264/417/233 253/424/233 252/402/233 +f 267/420/234 262/425/234 261/412/234 +f 271/426/146 273/427/146 270/428/146 +f 257/429/241 270/428/241 258/430/241 +f 268/431/242 271/426/242 262/432/242 +f 254/433/243 275/434/243 276/435/243 +f 256/436/244 277/437/244 266/438/244 +f 262/439/245 270/428/245 263/440/245 +f 254/441/246 274/442/246 268/431/246 +f 266/443/247 275/434/247 253/444/247 +f 278/445/248 280/446/248 281/447/248 +f 277/437/233 284/448/233 275/434/233 +f 258/430/235 279/449/235 259/410/235 +f 270/428/236 285/450/236 258/430/236 +f 274/442/234 272/451/234 271/426/234 +f 259/410/237 278/445/237 277/437/237 +f 287/452/236 289/453/236 286/454/236 +f 272/451/249 287/455/249 273/427/249 +f 283/456/250 291/457/250 292/458/250 +f 284/448/251 281/459/251 293/460/251 +f 285/450/252 295/461/252 279/449/252 +f 280/462/253 295/461/253 296/463/253 +f 283/456/254 290/464/254 272/451/254 +f 284/448/255 291/465/255 282/466/255 +f 298/467/6 300/468/6 297/469/6 +f 292/470/234 301/471/234 290/472/234 +f 293/473/238 298/474/238 291/475/238 +f 280/476/237 304/477/237 281/478/237 +f 290/472/146 288/479/146 287/452/146 +f 291/480/239 297/469/239 292/470/239 +f 281/478/233 302/481/233 293/473/233 +f 286/454/235 303/482/235 280/476/235 +f 306/483/233 308/484/233 305/485/233 +f 304/477/6 310/486/6 302/481/6 +f 289/453/6 312/487/6 303/482/6 +f 289/453/6 305/488/6 311/489/6 +f 301/471/6 300/490/6 306/491/6 +f 298/474/6 310/492/6 299/493/6 +f 304/477/6 312/494/6 309/495/6 +f 301/471/6 305/496/6 288/479/6 +f 318/497/6 308/498/6 315/499/6 +f 299/500/235 313/501/235 300/502/235 +f 309/503/146 315/504/146 310/505/146 +f 311/506/239 317/507/239 312/508/239 +f 305/485/238 318/509/238 311/506/238 +f 300/502/237 307/510/237 306/483/237 +f 310/505/236 314/511/236 299/512/236 +f 312/508/234 316/513/234 309/503/234 +f 327/514/256 329/515/256 276/516/256 +f 326/517/257 328/518/257 319/519/257 +f 327/520/258 332/521/258 331/522/258 +f 333/523/259 335/524/259 336/525/259 +f 337/526/260 336/525/260 338/527/260 +f 331/522/261 335/524/261 334/528/261 +f 339/529/262 341/530/262 330/531/262 +f 337/532/263 340/533/263 339/534/263 +f 320/535/264 328/518/264 327/536/264 +f 321/537/265 334/538/265 322/539/265 +f 324/540/266 339/541/266 325/542/266 +f 320/535/267 331/543/267 321/537/267 +f 322/539/268 333/544/268 323/545/268 +f 325/542/269 330/546/269 326/517/269 +f 330/547/270 329/515/270 328/548/270 +f 323/545/271 337/549/271 324/550/271 +f 340/533/234 343/551/234 341/530/234 +f 341/530/146 344/552/146 329/515/146 +f 336/525/238 346/553/238 338/527/238 +f 332/521/237 348/554/237 335/524/237 +f 338/527/239 342/555/239 340/533/239 +f 335/524/233 345/556/233 336/525/233 +f 346/553/272 349/557/272 350/558/272 +f 347/559/273 352/560/273 348/554/273 +f 344/552/274 353/561/274 354/562/274 +f 342/555/275 353/563/275 343/551/275 +f 346/553/276 355/564/276 342/555/276 +f 344/552/277 356/565/277 282/566/277 +f 347/559/278 356/567/278 351/568/278 +f 345/556/279 352/569/279 349/570/279 +f 356/571/235 358/572/235 351/573/235 +f 359/574/280 361/575/280 362/576/280 +f 352/577/233 364/578/233 349/579/233 +f 349/579/238 365/580/238 350/581/238 +f 351/573/237 363/582/237 352/577/237 +f 353/583/146 366/584/146 354/585/146 +f 355/586/234 359/587/234 353/583/234 +f 350/588/239 360/589/239 355/586/239 +f 354/585/236 357/590/236 356/571/236 +f 362/591/146 369/592/146 367/593/146 +f 360/594/281 370/595/281 361/596/281 +f 366/597/282 371/598/282 357/599/282 +f 358/600/283 371/601/283 372/602/283 +f 363/603/284 374/604/284 364/605/284 +f 364/606/285 370/607/285 365/608/285 +f 363/609/286 372/610/286 373/611/286 +f 359/612/287 367/593/287 366/613/287 +f 375/614/288 377/615/288 378/616/288 +f 361/575/234 368/617/234 362/576/234 +f 370/595/239 379/618/239 361/596/239 +f 367/619/236 381/620/236 371/598/236 +f 371/601/235 382/621/235 372/602/235 +f 373/622/233 375/614/233 374/604/233 +f 374/623/238 380/624/238 370/607/238 +f 372/610/237 376/625/237 373/611/237 +f 384/626/6 386/627/6 377/615/6 +f 380/624/289 378/616/289 386/627/289 +f 382/628/290 377/615/290 376/625/290 +f 369/592/291 384/626/291 383/629/291 +f 379/630/292 384/626/292 368/617/292 +f 380/631/293 385/632/293 379/618/293 +f 381/620/294 383/629/294 388/633/294 +f 381/634/295 387/635/295 382/621/295 +f 332/636/296 284/637/296 347/638/296 +f 329/639/297 283/640/297 274/641/297 +f 274/641/298 276/642/298 329/639/298 +f 283/640/299 344/643/299 282/644/299 +f 282/645/300 347/638/300 284/637/300 +f 276/646/301 275/647/301 332/636/301 +f 294/648/302 296/463/302 295/461/302 +f 294/648/303 391/649/303 389/650/303 +f 285/450/304 390/651/304 294/648/304 +f 287/652/305 390/651/305 273/427/305 +f 286/653/306 296/463/306 389/650/306 +f 286/653/307 391/649/307 287/654/307 +f 395/655/308 261/656/308 394/657/308 +f 398/658/309 264/659/309 252/660/309 +f 402/661/310 269/662/310 265/663/310 +f 405/664/311 269/665/311 403/666/311 +f 407/667/312 267/668/312 395/655/312 +f 399/669/313 265/663/313 264/670/313 +f 394/657/314 260/671/314 405/664/314 +f 407/667/315 252/672/315 251/673/315 +f 397/674/316 409/675/316 406/676/316 +f 408/677/238 407/667/238 409/675/238 +f 404/678/317 410/679/317 411/680/317 +f 411/680/318 394/657/318 405/664/318 +f 401/681/319 413/682/319 396/683/319 +f 412/684/320 399/669/320 413/682/320 +f 392/685/321 409/675/321 414/686/321 +f 409/675/239 395/655/239 414/686/239 +f 400/687/322 411/680/322 415/688/322 +f 400/689/323 412/684/323 401/681/323 +f 396/690/324 408/677/324 397/691/324 +f 413/682/233 398/658/233 408/677/233 +f 392/692/325 410/679/325 393/693/325 +f 414/686/234 394/657/234 410/679/234 +f 405/694/326 417/695/326 411/696/326 +f 417/695/327 415/697/327 411/696/327 +f 419/698/328 402/699/328 412/700/328 +f 420/701/329 403/702/329 402/703/329 +f 403/702/330 416/704/330 405/694/330 +f 415/697/331 419/698/331 412/700/331 +f 423/705/332 425/706/332 422/707/332 +f 417/695/66 422/708/66 425/706/66 +f 424/709/332 426/710/332 427/711/332 +f 418/712/132 427/711/132 419/698/132 +f 417/695/132 424/709/132 418/712/132 +f 419/698/52 426/713/52 420/714/52 +f 429/715/66 431/716/66 428/717/66 +f 432/718/132 433/719/132 434/720/132 +f 436/721/52 438/722/52 435/723/52 +f 439/724/6 440/725/6 441/726/6 +f 436/727/132 443/728/132 444/729/132 +f 429/730/6 446/731/6 447/732/6 +f 429/715/66 448/733/66 430/734/66 +f 436/721/52 449/735/52 437/736/52 +f 451/737/333 453/738/333 450/739/333 +f 455/740/334 457/741/334 454/742/334 +f 458/743/335 448/733/335 447/744/335 +f 461/745/336 444/746/336 460/747/336 +f 459/748/337 451/749/337 448/733/337 +f 455/740/332 450/739/332 456/750/332 +f 452/751/338 458/743/338 453/738/338 +f 454/742/339 461/745/339 460/747/339 +f 461/745/340 456/752/340 449/735/340 +f 451/737/341 443/728/341 462/753/341 +f 443/728/342 455/740/342 444/729/342 +f 456/750/343 446/731/343 463/754/343 +f 446/731/344 450/739/344 447/732/344 +f 463/754/6 437/755/6 449/756/6 +f 440/725/6 439/724/6 463/754/6 +f 462/753/132 430/757/132 448/758/132 +f 433/719/132 432/718/132 462/753/132 +f 455/759/345 460/747/345 444/746/345 +f 448/758/346 451/737/346 462/753/346 +f 450/760/347 458/743/347 447/744/347 +f 449/756/348 456/750/348 463/754/348 +f 445/761/6 429/730/6 428/762/6 +f 442/763/132 436/727/132 435/764/132 +f 26/39/349 42/61/349 40/40/349 +f 55/50/350 60/52/350 133/196/350 +f 58/223/351 54/154/351 125/153/351 +f 49/155/352 54/154/352 50/765/352 +f 134/174/353 44/173/353 133/196/353 +f 59/197/354 57/55/354 58/223/354 +f 25/25/11 33/31/11 32/150/11 +f 1/1/41 2/766/41 3/2/41 +f 4/3/355 3/2/355 5/4/355 +f 6/5/356 5/4/356 7/6/357 +f 10/8/358 11/767/358 12/9/358 +f 5/12/6 3/768/6 14/13/6 +f 3/768/6 2/769/6 13/770/6 +f 14/13/6 3/768/6 13/770/6 +f 14/13/6 15/771/6 7/11/6 +f 12/14/359 11/772/360 16/15/360 +f 14/17/361 13/20/361 19/18/361 +f 13/20/11 2/773/11 1/21/11 +f 20/22/362 21/774/362 22/23/362 +f 25/25/13 24/33/13 18/19/363 +f 27/26/364 28/775/364 29/27/364 +f 31/29/365 28/775/365 27/26/365 +f 33/31/11 25/25/11 19/18/11 +f 34/32/366 18/19/367 24/33/366 +f 36/35/18 37/776/18 38/36/18 +f 41/38/368 27/72/368 26/39/368 +f 40/40/369 42/61/369 43/41/369 +f 48/43/370 47/86/370 46/44/370 +f 53/48/371 49/777/371 50/778/371 +f 50/778/372 51/46/372 53/48/372 +f 34/32/373 35/34/373 54/49/373 +f 55/779/52 44/42/52 56/51/52 +f 44/42/374 43/41/374 56/51/374 +f 43/41/375 20/53/376 56/51/375 +f 12/14/377 17/16/378 57/55/378 +f 17/16/379 54/49/379 57/55/379 +f 54/49/66 58/780/66 57/55/66 +f 9/10/30 23/24/30 22/23/30 +f 63/59/380 21/781/380 20/53/381 +f 64/60/382 63/59/383 43/41/383 +f 17/16/384 16/15/384 65/62/385 +f 34/32/386 65/62/387 15/63/388 +f 30/66/41 66/73/41 32/67/41 +f 4/69/389 68/76/389 67/70/389 +f 27/72/43 41/38/43 66/73/43 +f 67/70/44 70/79/44 33/74/44 +f 6/75/390 69/80/390 68/76/390 +f 26/28/391 29/27/391 71/77/391 +f 70/79/392 31/29/392 30/30/392 +f 6/75/393 8/78/393 71/77/393 +f 72/81/394 47/86/395 73/82/395 +f 38/36/52 75/114/52 76/84/396 +f 77/85/397 73/82/397 47/86/397 +f 78/87/398 46/44/398 47/86/398 +f 80/88/399 48/43/399 45/45/399 +f 81/90/400 82/94/400 80/91/400 +f 83/93/401 84/97/401 82/94/401 +f 78/87/60 72/81/60 51/95/60 +f 36/35/402 39/37/402 84/97/402 +f 86/98/403 85/116/403 73/82/403 +f 87/99/63 88/108/63 89/100/63 +f 91/102/404 94/110/404 93/103/404 +f 95/105/405 77/85/405 48/43/405 +f 51/95/66 72/81/406 74/83/407 +f 82/94/408 92/104/408 95/107/408 +f 39/37/409 76/84/410 91/102/411 +f 84/97/412 91/102/412 92/104/412 +f 87/99/413 141/191/413 140/185/413 +f 52/47/414 51/46/414 88/108/414 +f 87/99/413 140/185/413 52/47/413 +f 97/109/73 96/112/73 93/103/73 +f 94/110/74 98/115/415 99/111/74 +f 96/112/76 101/141/76 100/113/76 +f 75/114/52 102/782/52 98/115/416 +f 74/83/395 73/82/417 85/116/417 +f 100/118/418 86/98/418 77/85/418 +f 88/106/66 74/83/419 103/117/420 +f 92/104/421 93/103/421 100/113/421 +f 76/84/422 98/115/423 94/110/424 +f 104/120/66 105/126/425 106/121/66 +f 101/123/426 110/783/426 109/124/426 +f 105/126/427 111/129/428 112/127/428 +f 89/100/90 104/784/90 113/128/90 +f 86/98/91 108/125/91 111/129/91 +f 98/115/429 102/782/52 114/130/52 +f 85/116/95 111/129/95 105/126/430 +f 100/118/97 101/123/97 108/125/97 +f 103/117/431 105/126/432 104/120/66 +f 106/131/99 112/138/99 115/132/99 +f 118/134/52 119/171/52 120/135/52 +f 121/137/100 115/132/100 112/138/100 +f 122/140/433 110/785/433 101/141/433 +f 99/111/434 117/145/435 123/142/435 +f 97/109/436 123/142/436 122/140/436 +f 113/128/106 104/784/106 107/143/106 +f 109/124/437 112/127/437 111/129/437 +f 114/130/52 118/786/52 117/145/52 +f 41/38/438 40/40/439 36/146/440 +f 35/34/441 78/152/442 50/148/112 +f 83/147/443 81/149/443 66/73/443 +f 81/149/444 79/787/444 32/67/444 +f 32/150/445 79/788/445 45/151/445 +f 24/33/446 46/156/446 78/152/447 +f 25/25/448 45/151/448 46/156/448 +f 40/40/449 44/42/122 37/157/122 +f 129/158/124 121/137/124 109/139/124 +f 107/160/66 106/131/66 116/133/66 +f 122/162/125 127/167/125 129/163/125 +f 117/136/126 120/135/126 126/165/126 +f 123/166/127 126/165/127 127/167/127 +f 124/168/128 107/160/128 130/161/128 +f 132/170/129 128/172/129 119/171/129 +f 124/168/130 131/169/130 128/172/130 +f 135/176/132 136/204/132 137/177/132 +f 138/179/133 132/182/133 118/180/133 +f 113/128/134 124/144/134 132/182/134 +f 102/183/135 139/184/135 138/179/135 +f 90/101/136 113/128/136 138/179/136 +f 140/185/450 141/191/450 75/186/450 +f 170/188/451 171/252/452 467/189/453 +f 141/191/140 139/184/140 102/183/140 +f 87/99/141 90/101/141 139/184/141 +f 38/187/454 37/789/454 135/192/454 +f 37/789/455 134/790/455 135/192/455 +f 133/193/456 60/791/456 142/194/456 +f 62/56/457 57/55/457 9/64/457 +f 56/51/458 61/54/458 23/57/458 +f 393/199/146 404/400/146 255/200/146 +f 142/194/147 143/215/147 144/202/147 +f 136/204/148 144/228/148 145/205/148 +f 134/195/147 142/194/147 136/203/147 +f 125/207/459 49/210/459 146/208/459 +f 49/210/150 53/792/150 137/211/150 +f 148/212/151 149/224/151 150/213/151 +f 143/215/152 147/217/152 150/213/152 +f 142/194/460 60/791/460 147/217/460 +f 59/219/153 148/212/153 147/214/153 +f 146/208/150 137/211/150 145/220/150 +f 146/208/158 152/221/158 148/222/158 +f 149/224/156 153/225/156 151/216/156 +f 153/225/157 154/227/157 155/226/157 +f 152/221/150 145/220/150 154/227/150 +f 152/221/158 153/225/158 149/224/158 +f 144/228/159 156/238/159 157/229/159 +f 143/215/147 151/216/147 155/226/147 +f 157/230/66 159/247/66 160/231/66 +f 154/227/160 158/232/160 161/233/160 +f 144/202/52 155/226/52 161/233/52 +f 145/220/66 157/230/66 158/232/66 +f 162/235/52 163/240/52 164/236/52 +f 156/238/161 162/248/161 159/239/161 +f 156/234/52 161/233/52 163/240/52 +f 158/232/162 160/245/162 163/241/162 +f 167/242/66 168/262/461 169/243/462 +f 160/245/164 166/253/164 164/246/164 +f 159/247/66 167/242/66 166/244/66 +f 162/248/165 165/250/165 167/249/165 +f 165/250/166 170/259/166 168/251/166 +f 165/237/52 164/236/52 171/252/463 +f 166/253/169 169/256/169 171/254/169 +f 467/255/170 171/254/464 169/256/170 +f 465/258/171 168/251/171 170/259/171 +f 464/261/465 169/243/466 168/262/467 +f 172/264/66 173/793/66 174/265/66 +f 174/267/174 176/794/174 177/268/174 +f 176/270/52 178/795/52 179/271/52 +f 178/273/468 173/796/468 172/274/468 +f 177/268/176 180/286/176 181/276/176 +f 183/277/177 184/294/177 185/278/177 +f 175/266/66 181/288/66 183/280/66 +f 177/272/52 179/271/52 182/281/52 +f 172/274/178 183/277/178 182/279/178 +f 185/283/52 187/290/52 188/284/52 +f 180/286/179 186/296/179 189/287/179 +f 180/282/52 182/281/52 185/283/52 +f 181/288/66 189/797/66 184/289/66 +f 187/290/469 190/310/469 191/291/469 +f 184/289/66 189/797/66 192/292/66 +f 184/294/181 193/798/181 187/295/181 +f 186/296/182 188/303/182 192/297/182 +f 194/298/470 195/306/184 196/299/184 +f 193/293/471 192/292/471 197/301/471 +f 187/295/187 193/798/187 194/298/472 +f 188/303/190 191/799/190 197/304/190 +f 199/305/191 196/299/191 195/306/191 +f 197/304/192 191/799/192 199/308/192 +f 190/310/193 196/800/193 199/311/193 +f 194/302/194 197/301/194 198/312/194 +f 53/48/195 52/47/195 140/185/195 +f 15/314/196 200/323/196 201/315/196 +f 65/317/6 16/320/6 63/318/6 +f 16/320/6 11/322/6 21/321/6 +f 11/322/197 10/8/197 22/23/197 +f 8/7/473 7/6/474 64/60/475 +f 200/323/196 202/336/196 203/324/196 +f 7/316/476 201/315/204 204/325/204 +f 15/314/477 65/349/478 206/327/479 +f 64/329/207 208/337/207 209/330/207 +f 202/332/6 210/338/6 211/333/6 +f 209/335/208 210/801/208 202/336/208 +f 208/337/207 211/333/207 210/338/207 +f 201/315/209 203/324/209 211/333/209 +f 213/339/210 214/359/210 215/340/210 +f 7/316/480 205/326/481 213/342/481 +f 201/315/482 208/337/482 212/343/482 +f 64/329/483 213/342/204 212/343/204 +f 207/344/216 217/351/216 218/345/216 +f 15/314/484 207/328/218 216/347/218 +f 200/323/485 216/347/485 219/348/485 +f 65/349/486 209/335/222 219/348/222 +f 220/350/99 221/356/99 218/345/99 +f 207/352/6 206/802/6 220/350/6 +f 219/353/223 221/356/223 220/350/223 +f 216/355/132 218/345/132 221/356/132 +f 222/358/126 223/361/126 215/340/126 +f 204/360/132 212/803/132 215/340/132 +f 204/362/224 223/361/224 222/358/224 +f 205/364/6 222/358/6 214/359/6 +f 116/367/487 115/804/488 120/368/487 +f 115/804/489 121/805/490 126/806/491 +f 120/368/487 115/804/492 126/806/487 +f 121/805/493 129/807/132 127/808/494 +f 127/808/495 126/806/491 121/805/496 +f 120/368/132 119/809/132 130/366/132 +f 119/809/132 128/810/132 131/811/132 +f 130/366/132 119/809/132 131/811/132 +f 225/369/52 226/812/52 227/370/52 +f 229/372/225 230/375/225 231/373/225 +f 230/375/226 232/813/226 233/376/226 +f 232/377/227 234/380/227 235/378/227 +f 234/380/228 236/382/228 237/381/228 +f 236/382/229 238/384/229 239/383/229 +f 238/384/230 240/389/230 241/385/230 +f 232/387/52 230/814/52 240/388/52 +f 230/814/52 229/815/52 240/388/52 +f 229/815/52 242/816/52 240/388/52 +f 240/388/52 238/817/52 236/818/52 +f 236/818/52 234/386/52 240/388/52 +f 240/389/231 242/391/231 243/390/231 +f 242/391/232 229/372/232 228/374/232 +f 397/392/233 247/408/233 246/393/233 +f 393/199/234 250/201/234 249/395/234 +f 400/397/235 401/401/235 245/398/235 +f 400/397/236 244/399/236 255/200/236 +f 396/394/237 246/393/237 245/398/237 +f 252/402/238 253/424/238 254/403/238 +f 406/405/239 392/396/239 249/395/239 +f 397/392/238 406/819/238 248/407/238 +f 257/409/497 258/430/497 259/410/497 +f 261/412/146 262/425/146 263/413/146 +f 265/415/237 256/423/237 266/416/237 +f 251/418/239 254/820/239 268/419/239 +f 260/414/236 263/413/236 257/421/236 +f 269/422/235 257/421/235 256/423/235 +f 264/417/233 266/416/233 253/424/233 +f 267/420/234 268/419/234 262/425/234 +f 271/426/146 272/451/146 273/427/146 +f 257/429/498 263/821/498 270/428/498 +f 268/431/242 274/442/242 271/426/242 +f 254/433/499 253/444/499 275/434/499 +f 256/436/244 259/410/244 277/437/244 +f 262/439/245 271/426/245 270/428/245 +f 254/441/500 276/822/500 274/442/500 +f 266/443/247 277/437/247 275/434/247 +f 278/445/248 279/449/248 280/446/248 +f 277/437/233 278/445/233 284/448/233 +f 258/430/235 285/450/235 279/449/235 +f 270/428/236 273/427/236 285/450/236 +f 274/442/234 283/456/234 272/451/234 +f 259/410/237 279/449/237 278/445/237 +f 287/452/236 288/479/236 289/453/236 +f 272/451/249 290/823/249 287/455/249 +f 283/456/501 282/824/501 291/457/501 +f 284/448/251 278/445/251 281/459/251 +f 285/450/502 294/648/502 295/461/502 +f 280/462/503 279/449/503 295/461/503 +f 283/456/254 292/458/254 290/464/254 +f 284/448/504 293/460/504 291/465/504 +f 298/467/6 299/825/6 300/468/6 +f 292/470/234 297/469/234 301/471/234 +f 293/473/238 302/481/238 298/474/238 +f 280/476/237 303/482/237 304/477/237 +f 290/472/146 301/471/146 288/479/146 +f 291/480/239 298/467/239 297/469/239 +f 281/478/233 304/477/233 302/481/233 +f 286/454/235 289/453/235 303/482/235 +f 306/483/233 307/510/233 308/484/233 +f 304/477/6 309/826/6 310/486/6 +f 289/453/6 311/827/6 312/487/6 +f 289/453/6 288/479/6 305/488/6 +f 301/471/6 297/469/6 300/490/6 +f 298/474/6 302/481/6 310/492/6 +f 304/477/6 303/482/6 312/494/6 +f 301/471/6 306/828/6 305/496/6 +f 308/498/6 307/829/6 313/830/6 +f 313/830/6 314/831/6 308/498/6 +f 314/831/6 315/499/6 308/498/6 +f 315/499/6 316/832/6 317/833/6 +f 317/833/6 318/497/6 315/499/6 +f 299/500/235 314/834/235 313/501/235 +f 309/503/146 316/513/146 315/504/146 +f 311/506/239 318/509/239 317/507/239 +f 305/485/238 308/484/238 318/509/238 +f 300/502/237 313/501/237 307/510/237 +f 310/505/236 315/504/236 314/511/236 +f 312/508/234 317/507/234 316/513/234 +f 327/514/505 328/548/505 329/515/505 +f 326/517/257 330/546/257 328/518/257 +f 327/520/506 276/835/506 332/521/506 +f 333/523/259 334/836/259 335/524/259 +f 337/526/260 333/837/260 336/525/260 +f 331/522/261 332/521/261 335/524/261 +f 339/529/262 340/533/262 341/530/262 +f 337/532/263 338/527/263 340/533/263 +f 320/535/264 319/519/264 328/518/264 +f 321/537/265 331/543/265 334/538/265 +f 324/540/266 337/838/266 339/541/266 +f 320/535/267 327/536/267 331/543/267 +f 322/539/268 334/538/268 333/544/268 +f 325/542/269 339/541/269 330/546/269 +f 330/547/270 341/530/270 329/515/270 +f 323/545/271 333/544/271 337/549/271 +f 340/533/234 342/555/234 343/551/234 +f 341/530/146 343/551/146 344/552/146 +f 336/525/238 345/556/238 346/553/238 +f 332/521/237 347/559/237 348/554/237 +f 338/527/239 346/553/239 342/555/239 +f 335/524/233 348/554/233 345/556/233 +f 346/553/272 345/556/272 349/557/272 +f 347/559/273 351/568/273 352/560/273 +f 344/552/274 343/551/274 353/561/274 +f 342/555/507 355/839/507 353/563/507 +f 346/553/276 350/840/276 355/564/276 +f 344/552/508 354/562/508 356/565/508 +f 347/559/509 282/841/509 356/567/509 +f 345/556/510 348/554/510 352/569/510 +f 356/571/235 357/590/235 358/572/235 +f 359/574/511 360/842/511 361/575/511 +f 352/577/233 363/582/233 364/578/233 +f 349/579/238 364/578/238 365/580/238 +f 351/573/237 358/572/237 363/582/237 +f 353/583/146 359/587/146 366/584/146 +f 355/586/234 360/589/234 359/587/234 +f 350/588/239 365/843/239 360/589/239 +f 354/585/236 366/584/236 357/590/236 +f 362/591/146 368/844/146 369/592/146 +f 360/594/281 365/845/281 370/595/281 +f 366/597/282 367/619/282 371/598/282 +f 358/600/283 357/846/283 371/601/283 +f 363/603/512 373/622/512 374/604/512 +f 364/606/285 374/623/285 370/607/285 +f 363/609/513 358/847/513 372/610/513 +f 359/612/514 362/591/514 367/593/514 +f 375/614/288 376/848/288 377/615/288 +f 361/575/234 379/630/234 368/617/234 +f 370/595/239 380/631/239 379/618/239 +f 367/619/236 369/849/236 381/620/236 +f 371/601/235 381/634/235 382/621/235 +f 373/622/233 376/848/233 375/614/233 +f 374/623/238 375/850/238 380/624/238 +f 372/610/237 382/628/237 376/625/237 +f 388/633/6 383/629/6 384/626/6 +f 384/626/6 385/632/6 386/627/6 +f 386/627/6 378/616/6 377/615/6 +f 377/615/6 387/635/6 388/633/6 +f 388/633/6 384/626/6 377/615/6 +f 380/624/289 375/850/289 378/616/289 +f 382/628/290 387/635/290 377/615/290 +f 369/592/291 368/844/291 384/626/291 +f 379/630/292 385/632/292 384/626/292 +f 380/631/293 386/627/293 385/632/293 +f 381/620/294 369/849/294 383/629/294 +f 381/634/295 388/633/295 387/635/295 +f 332/636/296 275/647/296 284/637/296 +f 329/639/297 344/643/297 283/640/297 +f 294/648/515 389/650/515 296/463/515 +f 294/648/516 390/651/516 391/649/516 +f 285/450/517 273/427/517 390/651/517 +f 287/652/518 391/649/518 390/651/518 +f 286/653/519 280/851/519 296/463/519 +f 286/653/520 389/650/520 391/649/520 +f 395/655/308 267/852/308 261/656/308 +f 398/658/309 399/669/309 264/659/309 +f 402/661/521 403/853/521 269/662/521 +f 405/664/522 260/671/522 269/665/522 +f 407/667/312 251/854/312 267/668/312 +f 399/669/523 402/661/523 265/663/523 +f 394/657/524 261/855/524 260/671/524 +f 407/667/315 398/658/315 252/672/315 +f 397/674/525 408/677/525 409/675/525 +f 408/677/238 398/658/238 407/667/238 +f 404/678/526 393/856/526 410/679/526 +f 411/680/318 410/679/318 394/657/318 +f 401/681/527 412/684/527 413/682/527 +f 412/684/320 402/661/320 399/669/320 +f 392/685/528 406/857/528 409/675/528 +f 409/675/239 407/667/239 395/655/239 +f 400/687/529 404/678/529 411/680/529 +f 400/689/530 415/858/530 412/684/530 +f 396/690/531 413/682/531 408/677/531 +f 413/682/233 399/669/233 398/658/233 +f 392/692/532 414/686/532 410/679/532 +f 414/686/234 395/655/234 394/657/234 +f 405/694/326 416/704/326 417/695/326 +f 417/695/533 418/712/533 415/697/533 +f 419/698/328 420/714/328 402/699/328 +f 420/701/534 421/859/534 403/702/534 +f 403/702/534 421/859/534 416/704/534 +f 415/697/533 418/712/533 419/698/533 +f 423/705/332 424/709/332 425/706/332 +f 417/695/66 416/704/66 422/708/66 +f 424/709/332 423/705/332 426/710/332 +f 418/712/132 424/709/132 427/711/132 +f 417/695/132 425/706/132 424/709/132 +f 419/698/52 427/711/52 426/713/52 +f 429/715/66 430/734/66 431/716/66 +f 434/720/132 431/860/132 432/718/132 +f 431/860/132 430/757/132 432/718/132 +f 436/721/52 437/736/52 438/722/52 +f 441/726/6 438/861/6 439/724/6 +f 438/861/6 437/755/6 439/724/6 +f 436/727/132 442/763/132 443/728/132 +f 429/730/6 445/761/6 446/731/6 +f 429/715/66 447/744/66 448/733/66 +f 436/721/52 444/746/52 449/735/52 +f 451/737/333 452/751/333 453/738/333 +f 455/740/334 456/750/334 457/741/334 +f 458/743/335 459/748/335 448/733/335 +f 461/745/336 449/735/336 444/746/336 +f 459/748/535 452/862/535 451/749/535 +f 455/740/332 451/737/332 450/739/332 +f 452/751/536 459/748/536 458/743/536 +f 454/742/339 457/741/339 461/745/339 +f 461/745/537 457/863/537 456/752/537 +f 451/737/341 455/740/341 443/728/341 +f 456/750/343 450/739/343 446/731/343 +f 463/754/538 439/724/538 437/755/538 +f 463/754/6 446/731/6 440/725/6 +f 446/731/6 445/761/6 440/725/6 +f 462/753/132 432/718/132 430/757/132 +f 462/753/132 443/728/132 433/719/132 +f 443/728/132 442/763/132 433/719/132 +f 455/759/539 454/864/539 460/747/539 +f 450/760/540 453/865/540 458/743/540 +f 428/762/6 441/726/6 445/761/6 +f 441/726/6 440/725/6 445/761/6 +f 435/764/132 434/720/132 442/763/132 +f 434/720/132 433/719/132 442/763/132 +f 26/39/541 8/7/541 42/61/541 +f 421/859/6 423/705/6 416/704/6 +f 29/27/542 23/77/543 71/77/544 +f 67/70/545 471/79/545 70/79/545 +f 470/70/546 473/79/546 471/79/546 +f 473/79/52 474/70/52 475/79/52 +f 475/79/547 9/70/548 477/79/549 +f 23/57/550 468/866/550 56/51/550 +f 477/198/550 9/64/550 57/55/550 +f 468/866/145 60/52/145 56/51/145 +f 472/70/551 485/70/551 474/70/551 +f 479/867/552 468/866/553 59/197/554 +f 478/80/555 485/70/556 483/70/555 +f 470/70/557 484/70/557 472/70/557 +f 69/80/558 482/77/558 478/80/558 +f 67/70/559 483/70/559 470/70/559 +f 71/77/560 469/77/561 482/77/562 +f 474/70/563 481/70/564 9/70/565 +f 68/76/566 478/80/566 480/76/566 +f 67/70/567 480/76/567 476/70/567 +f 23/24/568 481/10/568 469/24/568 +f 321/868/132 323/868/132 325/868/132 +f 246/869/132 248/869/132 250/869/132 +f 147/214/153 60/870/153 479/218/153 +f 421/859/6 420/701/6 426/713/6 +f 423/705/6 422/707/6 416/704/6 +f 421/859/6 426/713/6 423/705/6 +f 29/27/569 468/27/570 23/77/571 +f 67/70/545 470/70/545 471/79/545 +f 470/70/546 472/70/546 473/79/546 +f 473/79/52 472/70/52 474/70/52 +f 475/79/572 474/70/573 9/70/574 +f 472/70/551 484/70/551 485/70/551 +f 479/867/575 60/52/145 468/866/576 +f 468/866/577 477/198/145 59/197/578 +f 476/70/579 480/76/579 478/80/579 +f 478/80/580 482/77/580 469/77/581 +f 469/77/582 481/10/583 485/70/584 +f 485/70/585 484/70/132 483/70/132 +f 483/70/586 476/70/586 478/80/586 +f 478/80/587 469/77/588 485/70/589 +f 470/70/557 483/70/557 484/70/557 +f 69/80/558 71/77/558 482/77/558 +f 67/70/559 476/70/559 483/70/559 +f 71/77/590 23/77/591 469/77/592 +f 474/70/593 485/70/594 481/70/595 +f 68/76/566 69/80/566 478/80/566 +f 67/70/567 68/76/567 480/76/567 +f 23/24/568 9/10/568 481/10/568 +f 325/868/132 326/868/132 319/868/132 +f 319/868/132 320/868/132 321/868/132 +f 321/868/132 322/868/132 323/868/132 +f 323/868/132 324/868/132 325/868/132 +f 325/868/132 319/868/132 321/868/132 +f 250/869/132 255/869/132 244/869/132 +f 244/869/132 245/869/132 246/869/132 +f 246/869/132 247/869/132 248/869/132 +f 248/869/132 249/869/132 250/869/132 +f 250/869/132 244/869/132 246/869/132 +o Pump +v 0.000000 0.935654 2.185543 +v -0.193840 1.015945 2.185543 +v -0.214852 0.994933 2.177396 +v 0.000000 0.905939 2.177396 +v -0.193840 1.403625 2.185543 +v -0.274131 1.209785 2.185543 +v -0.274131 1.209785 3.266089 +v -0.193840 1.403625 3.266089 +v 0.000000 1.483656 2.185543 +v 0.000000 1.483656 3.266089 +v 0.274131 1.209785 2.185543 +v 0.193656 1.403441 2.185543 +v 0.193656 1.403441 3.266089 +v 0.274131 1.209785 3.266089 +v 0.000000 0.935915 3.266089 +v -0.193840 1.015945 3.266089 +v 0.193656 1.016130 2.185543 +v 0.193656 1.016130 3.266089 +v 0.000000 1.513631 2.177396 +v 0.214852 1.424637 2.177396 +v 0.214852 1.424637 2.113585 +v 0.000000 1.513631 2.113585 +v -0.214852 1.424637 2.177396 +v 0.214852 0.994933 2.177396 +v -0.303846 1.209785 2.177396 +v 0.303846 1.209785 2.177396 +v -0.214852 0.994933 2.113585 +v -0.303846 1.209785 2.113585 +v -0.273445 1.209785 2.100498 +v -0.193355 1.016430 2.100498 +v -0.214852 1.424637 2.113585 +v 0.000000 0.905939 2.113585 +v 0.214852 0.994933 2.113585 +v 0.303846 1.209785 2.113585 +v -0.193355 1.403140 2.100498 +v 0.000000 1.483230 2.100498 +v 0.193355 1.403140 2.100498 +v 0.273445 1.209785 2.100498 +v 0.193355 1.016430 2.100498 +v 0.000000 0.936340 2.100498 +v 0.000000 0.905939 3.274235 +v -0.214852 0.994933 3.274235 +v 0.000000 1.513631 3.274235 +v 0.000000 1.513631 3.338046 +v 0.214852 1.424637 3.338046 +v 0.214852 1.424637 3.274235 +v -0.214852 1.424637 3.274235 +v 0.214852 0.994933 3.274235 +v -0.303846 1.209785 3.274235 +v 0.303846 1.209785 3.274235 +v -0.214852 0.994933 3.338046 +v -0.193355 1.016430 3.351134 +v -0.273445 1.209785 3.351134 +v -0.303846 1.209785 3.338046 +v -0.214852 1.424637 3.338046 +v 0.214852 0.994933 3.338046 +v 0.000000 0.905939 3.338046 +v 0.303846 1.209785 3.338046 +v -0.193355 1.403140 3.351134 +v 0.000000 0.936340 3.351134 +v 0.193355 1.016430 3.351134 +v 0.273445 1.209785 3.351134 +v 0.193355 1.403140 3.351134 +v 0.000000 1.483230 3.351134 +v 0.213936 1.724480 -0.012808 +v 0.213408 1.585937 -0.012808 +v 0.151081 1.887906 -0.012808 +v -0.003170 1.954868 0.910839 +v 0.151354 1.887197 0.910326 +v 0.213936 1.724480 0.909649 +v -0.003170 1.954868 -0.012807 +v 0.213616 1.585937 0.909317 +vn -0.1089 -0.2629 0.9587 +vn -0.9239 0.3827 -0.0000 +vn -0.3816 0.9243 -0.0000 +vn 0.9234 0.3837 -0.0000 +vn -0.3816 -0.9243 -0.0000 +vn 0.3827 0.9239 -0.0000 +vn 0.9234 -0.3837 -0.0000 +vn -0.9239 -0.3827 -0.0000 +vn 0.3837 -0.9234 0.0002 +vn -0.1089 0.2628 0.9587 +vn 0.1083 -0.2605 0.9594 +vn 0.1080 0.2607 0.9593 +vn -0.2628 0.1089 0.9587 +vn -0.2628 -0.1089 0.9587 +vn 0.2628 -0.1089 0.9587 +vn 0.2605 0.1083 0.9594 +vn -0.3902 -0.1616 -0.9064 +vn -0.3827 0.9239 -0.0000 +vn 0.3827 -0.9239 -0.0000 +vn 0.9239 -0.3827 -0.0000 +vn 0.9239 0.3827 -0.0000 +vn -0.3827 -0.9239 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn 0.3902 0.1616 -0.9064 +vn -0.1616 -0.3902 -0.9064 +vn 0.1616 0.3902 -0.9064 +vn -0.1616 0.3902 -0.9064 +vn 0.1616 -0.3902 -0.9064 +vn -0.3902 0.1616 -0.9064 +vn 0.3902 -0.1616 -0.9064 +vn -0.1076 -0.2607 -0.9594 +vn -0.1076 0.2607 -0.9594 +vn 0.1080 -0.2607 -0.9594 +vn 0.1080 0.2607 -0.9594 +vn -0.2628 0.1089 -0.9587 +vn -0.2628 -0.1089 -0.9587 +vn 0.2605 -0.1082 -0.9594 +vn 0.2605 0.1082 -0.9594 +vn -0.3902 -0.1616 0.9064 +vn -0.0000 -0.0000 1.0000 +vn 0.3902 0.1616 0.9064 +vn -0.1616 -0.3902 0.9064 +vn 0.1616 0.3902 0.9064 +vn -0.1616 0.3902 0.9064 +vn 0.1616 -0.3902 0.9064 +vn -0.3902 0.1616 0.9064 +vn 0.3902 -0.1616 0.9064 +vn -0.1089 -0.2628 0.9587 +vn -0.3827 -0.9239 0.0002 +vn -0.1077 0.2608 0.9594 +vn 0.1089 -0.2628 0.9587 +vn 0.2605 -0.1083 0.9594 +vn 0.2628 0.1089 0.9587 +vn -0.1089 -0.2628 -0.9587 +vn -0.1089 0.2628 -0.9587 +vn 0.2628 -0.1089 -0.9587 +vn 0.2628 0.1089 -0.9587 +vn 0.9333 0.3590 -0.0000 +vn 0.4012 0.9160 -0.0000 +vn 1.0000 -0.0023 -0.0000 +vn 0.3982 0.9173 0.0006 +vn 1.0000 -0.0038 -0.0002 +vt 0.270772 0.021748 +vt 0.259071 0.044520 +vt 0.258022 0.040873 +vt 0.124225 0.297698 +vt 0.000380 0.290063 +vt 0.124223 0.290059 +vt 0.000378 0.282428 +vt 0.124220 0.282425 +vt 0.124223 0.335878 +vt 0.000382 0.328240 +vt 0.124225 0.328243 +vt 0.124227 0.305336 +vt 0.000387 0.312974 +vt 0.000384 0.305339 +vt 0.124221 0.343509 +vt 0.000380 0.335874 +vt 0.000384 0.320605 +vt 0.124227 0.320609 +vt 0.000382 0.297701 +vt 0.124229 0.312974 +vt 0.301296 0.107856 +vt 0.311550 0.080842 +vt 0.315428 0.086659 +vt 0.319568 0.052066 +vt 0.317107 0.080578 +vt 0.317107 0.050600 +vt 0.254931 0.052066 +vt 0.257392 0.080578 +vt 0.254911 0.079099 +vt 0.303748 0.109442 +vt 0.316485 0.090335 +vt 0.316477 0.040872 +vt 0.301296 0.023322 +vt 0.303727 0.021748 +vt 0.278234 0.017112 +vt 0.297242 0.020803 +vt 0.277257 0.020803 +vt 0.270772 0.109430 +vt 0.259071 0.086659 +vt 0.273203 0.107856 +vt 0.278234 0.114066 +vt 0.297242 0.110375 +vt 0.296257 0.114096 +vt 0.297242 0.029029 +vt 0.278257 0.033023 +vt 0.277257 0.029029 +vt 0.311623 0.050600 +vt 0.257392 0.050600 +vt 0.262876 0.080578 +vt 0.315428 0.044519 +vt 0.297418 0.029138 +vt 0.277081 0.102040 +vt 0.277257 0.110375 +vt 0.297242 0.102149 +vt 0.273203 0.023322 +vt 0.262949 0.050336 +vt 0.308960 0.079078 +vt 0.278257 0.098155 +vt 0.265539 0.052100 +vt 0.277257 0.102149 +vt 0.296243 0.098155 +vt 0.311623 0.080578 +vt 0.308960 0.052100 +vt 0.262876 0.050600 +vt 0.265539 0.079078 +vt 0.296242 0.033023 +vt 0.189118 0.066082 +vt 0.194118 0.093837 +vt 0.187203 0.068873 +vt 0.246869 0.062649 +vt 0.244287 0.031805 +vt 0.251935 0.059501 +vt 0.246935 0.093837 +vt 0.251935 0.066083 +vt 0.253850 0.068873 +vt 0.196766 0.031805 +vt 0.187203 0.056711 +vt 0.194097 0.031747 +vt 0.246956 0.031747 +vt 0.253850 0.056711 +vt 0.222720 0.109905 +vt 0.241223 0.102404 +vt 0.224565 0.112754 +vt 0.199830 0.102404 +vt 0.218332 0.109905 +vt 0.216488 0.112754 +vt 0.216488 0.012829 +vt 0.199869 0.027151 +vt 0.199830 0.023147 +vt 0.241184 0.027151 +vt 0.224565 0.012829 +vt 0.241223 0.023147 +vt 0.203910 0.087717 +vt 0.220431 0.102305 +vt 0.201967 0.090833 +vt 0.239221 0.090631 +vt 0.244287 0.093779 +vt 0.201832 0.034953 +vt 0.189118 0.059501 +vt 0.220622 0.102305 +vt 0.241184 0.098433 +vt 0.220431 0.023279 +vt 0.218333 0.015679 +vt 0.199868 0.098433 +vt 0.239086 0.034751 +vt 0.222720 0.015679 +vt 0.194184 0.062935 +vt 0.196766 0.093779 +vt 0.197027 0.062792 +vt 0.220527 0.027543 +vt 0.244026 0.062792 +vt 0.237143 0.037867 +vt 0.220622 0.023278 +vt 0.201832 0.090631 +vt 0.239221 0.034953 +vt 0.237143 0.087717 +vt 0.246869 0.062935 +vt 0.203910 0.037867 +vt 0.194184 0.062649 +vt 0.239086 0.090833 +vt 0.201967 0.034750 +vt 0.000378 0.343505 +vt 0.297419 0.102040 +vt 0.319588 0.079099 +vt 0.296265 0.017112 +vt 0.258014 0.090336 +vt 0.311550 0.050336 +vt 0.262949 0.080842 +vt 0.277081 0.029138 +vt 0.220526 0.098041 +vt 0.137874 0.461278 +vt 0.058604 0.420707 +vt 0.138976 0.425869 +vt 0.064584 0.393192 +vt 0.133379 0.393550 +vt 0.134776 0.484662 +vt 0.059414 0.457228 +vt 0.062578 0.483566 +s 0 +f 487/871/596 489/872/596 486/873/596 +f 491/874/597 493/875/597 490/876/597 +f 490/876/598 495/877/598 494/878/598 +f 497/879/599 499/880/599 496/881/599 +f 487/882/600 500/883/600 501/884/600 +f 494/885/601 498/886/601 497/879/601 +f 496/881/602 503/887/602 502/888/602 +f 487/882/603 492/889/603 491/874/603 +f 502/888/604 500/883/604 486/890/604 +f 505/891/601 507/892/601 504/893/601 +f 490/894/605 504/895/605 508/896/605 +f 486/897/606 509/898/606 502/899/606 +f 497/900/607 504/893/607 494/901/607 +f 490/902/608 510/903/608 491/904/608 +f 487/905/609 510/906/609 488/907/609 +f 496/908/610 509/909/610 511/910/610 +f 496/911/611 505/912/611 497/913/611 +f 513/914/612 515/915/612 512/916/612 +f 504/895/613 516/917/613 508/896/613 +f 489/918/614 518/919/614 509/898/614 +f 508/920/597 513/921/597 510/903/597 +f 509/909/615 519/922/615 511/910/615 +f 510/906/603 512/916/603 488/907/603 +f 511/923/616 506/924/616 505/912/616 +f 488/925/617 517/926/617 489/872/617 +f 521/927/618 523/928/618 525/929/618 +f 519/930/619 522/931/619 506/924/619 +f 517/926/620 515/915/620 525/929/620 +f 507/892/621 522/931/621 521/927/621 +f 507/932/622 520/933/622 516/917/622 +f 517/934/623 524/935/623 518/919/623 +f 513/921/624 520/933/624 514/936/624 +f 519/922/625 524/935/625 523/928/625 +f 526/937/626 501/938/626 500/939/626 +f 529/940/601 531/941/601 528/942/601 +f 493/943/627 528/944/627 495/945/627 +f 533/946/628 500/947/628 503/948/628 +f 528/942/629 498/949/629 495/950/629 +f 534/951/630 493/952/630 492/953/630 +f 501/954/631 534/955/631 492/956/631 +f 499/957/632 533/958/632 503/959/632 +f 531/960/633 499/961/633 498/962/633 +f 537/963/634 539/964/634 536/965/634 +f 540/966/613 528/944/613 532/967/613 +f 541/968/614 526/969/614 533/946/614 +f 539/970/597 532/971/597 534/951/597 +f 543/972/615 533/958/615 535/973/615 +f 536/965/603 534/955/603 527/974/603 +f 530/975/616 535/976/616 531/960/616 +f 542/977/617 527/978/617 526/937/617 +f 545/979/635 547/980/635 549/981/635 +f 548/982/636 543/983/636 530/975/636 +f 545/979/637 536/984/637 542/977/637 +f 529/940/638 548/982/638 530/985/638 +f 544/986/639 529/987/639 540/966/639 +f 546/988/640 542/989/640 541/968/640 +f 539/970/641 544/986/641 540/990/641 +f 543/972/642 546/988/642 541/991/642 +f 487/871/643 488/925/643 489/872/643 +f 491/874/597 492/889/597 493/875/597 +f 490/876/598 493/875/598 495/877/598 +f 497/879/599 498/886/599 499/880/599 +f 487/882/644 486/890/644 500/883/644 +f 494/885/601 495/992/601 498/886/601 +f 496/881/602 499/880/602 503/887/602 +f 487/882/603 501/884/603 492/889/603 +f 502/888/614 503/887/614 500/883/614 +f 505/891/601 506/993/601 507/892/601 +f 490/894/645 494/994/645 504/895/645 +f 486/897/646 489/918/646 509/898/646 +f 497/900/607 505/891/607 504/893/607 +f 490/902/608 508/920/608 510/903/608 +f 487/905/609 491/995/609 510/906/609 +f 496/908/647 502/996/647 509/909/647 +f 496/911/648 511/923/648 505/912/648 +f 513/914/612 514/936/612 515/915/612 +f 504/895/613 507/932/613 516/917/613 +f 489/918/614 517/934/614 518/919/614 +f 508/920/597 516/997/597 513/921/597 +f 509/909/615 518/998/615 519/922/615 +f 510/906/603 513/914/603 512/916/603 +f 511/923/616 519/930/616 506/924/616 +f 488/925/617 512/999/617 517/926/617 +f 514/936/618 520/933/618 521/927/618 +f 521/927/618 522/931/618 523/928/618 +f 523/928/618 524/935/618 525/929/618 +f 525/929/618 515/915/618 514/936/618 +f 514/936/618 521/927/618 525/929/618 +f 519/930/619 523/928/619 522/931/619 +f 517/926/620 512/999/620 515/915/620 +f 507/892/621 506/993/621 522/931/621 +f 507/932/622 521/927/622 520/933/622 +f 517/934/623 525/929/623 524/935/623 +f 513/921/624 516/997/624 520/933/624 +f 519/922/625 518/998/625 524/935/625 +f 526/937/649 527/978/649 501/938/649 +f 529/940/601 530/985/601 531/941/601 +f 493/943/650 532/967/650 528/944/650 +f 533/946/628 526/969/628 500/947/628 +f 528/942/629 531/941/629 498/949/629 +f 534/951/630 532/971/630 493/952/630 +f 501/954/631 527/974/631 534/955/631 +f 499/957/651 535/973/651 533/958/651 +f 531/960/652 535/976/652 499/961/652 +f 537/963/634 538/1000/634 539/964/634 +f 540/966/613 529/987/613 528/944/613 +f 541/968/614 542/989/614 526/969/614 +f 539/970/597 540/990/597 532/971/597 +f 543/972/615 541/991/615 533/958/615 +f 536/965/603 539/964/603 534/955/603 +f 530/975/616 543/983/616 535/976/616 +f 542/977/617 536/984/617 527/978/617 +f 549/981/635 544/986/635 538/1000/635 +f 538/1000/635 537/963/635 545/979/635 +f 545/979/635 546/988/635 547/980/635 +f 547/980/635 548/982/635 549/981/635 +f 549/981/635 538/1000/635 545/979/635 +f 548/982/636 547/980/636 543/983/636 +f 545/979/637 537/963/637 536/984/637 +f 529/940/638 549/981/638 548/982/638 +f 544/986/639 549/981/639 529/987/639 +f 546/988/640 545/979/640 542/989/640 +f 539/970/641 538/1000/641 544/986/641 +f 543/972/642 547/980/642 546/988/642 +f 555/1001/653 552/1002/653 554/1003/653 +f 554/1003/654 556/1004/654 553/1005/654 +f 557/1006/655 550/1007/655 555/1001/655 +f 555/1001/653 550/1007/653 552/1002/653 +f 554/1003/656 552/1002/656 556/1004/656 +f 557/1006/657 551/1008/657 550/1007/657 +o Shell +v 0.000000 1.558350 0.961217 +v 0.132625 1.613285 0.961217 +v 0.187560 1.745910 0.961217 +v 0.132625 1.878535 0.961217 +v 0.000000 1.933470 0.961217 +v -0.132625 1.878535 0.961217 +v -0.187560 1.745910 0.961217 +v -0.132625 1.613285 0.961217 +v 0.142112 1.603798 0.961217 +v 0.000000 1.544933 0.961217 +v 0.200977 1.745910 0.961217 +v 0.142112 1.888022 0.961217 +v 0.000000 1.946887 0.961217 +v -0.142112 1.888022 0.961217 +v -0.200977 1.745910 0.961217 +v -0.142112 1.603798 0.961217 +v 0.142112 1.603798 0.924739 +v 0.000000 1.544933 0.924739 +v 0.200977 1.745910 0.924739 +v 0.142112 1.888022 0.924739 +v 0.000000 1.946887 0.924739 +v -0.142112 1.888022 0.924739 +v -0.200977 1.745910 0.924739 +v -0.142112 1.603798 0.924739 +v 0.000000 1.558350 1.273779 +v 0.132625 1.613285 1.273779 +v 0.187560 1.745910 1.273779 +v 0.132625 1.878535 1.273779 +v 0.000000 1.933470 1.273779 +v -0.132625 1.878535 1.273779 +v -0.187560 1.745910 1.273779 +v -0.132625 1.613285 1.273779 +vn 0.3827 -0.9239 -0.0000 +vn 0.9239 -0.3827 -0.0000 +vn 0.9239 0.3827 -0.0000 +vn 0.3827 0.9239 -0.0000 +vn -0.3827 0.9239 -0.0000 +vn -0.9239 0.3827 -0.0000 +vn -0.9239 -0.3827 -0.0000 +vn -0.3827 -0.9239 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn -0.0000 -0.0000 -1.0000 +vt 0.000036 0.790759 +vt 0.040554 0.713148 +vt 0.040554 0.790759 +vt 0.081073 0.790759 +vt 0.081073 0.713148 +vt 0.121591 0.790759 +vt 0.121591 0.713148 +vt 0.162109 0.790759 +vt 0.162109 0.713148 +vt 0.202628 0.790759 +vt 0.202628 0.713148 +vt 0.243146 0.790759 +vt 0.283665 0.713148 +vt 0.283665 0.790759 +vt 0.324183 0.790759 +vt 0.289062 0.718750 +vt 0.246094 0.734375 +vt 0.246094 0.718750 +vt 0.169922 0.718750 +vt 0.132812 0.734375 +vt 0.132812 0.718750 +vt 0.207031 0.734375 +vt 0.169922 0.734375 +vt 0.064453 0.718750 +vt 0.097656 0.734375 +vt 0.064453 0.734375 +vt 0.125490 0.709362 +vt 0.083924 0.722064 +vt 0.083924 0.709362 +vt 0.333322 0.709362 +vt 0.291755 0.722064 +vt 0.291755 0.709362 +vt 0.042358 0.722064 +vt 0.042358 0.709362 +vt 0.250189 0.722064 +vt 0.250189 0.709362 +vt 0.167057 0.709362 +vt 0.125490 0.722064 +vt 0.000792 0.722064 +vt 0.000792 0.709362 +vt 0.208623 0.722064 +vt 0.208623 0.709362 +vt 0.167057 0.722064 +vt 0.031250 0.718750 +vt 0.031250 0.734375 +vt 0.097656 0.718750 +vt 0.207031 0.718750 +vt 0.000000 0.734375 +vt 0.000000 0.718750 +vt 0.474368 0.725066 +vt 0.475111 0.802599 +vt 0.358812 0.803095 +vt 0.000036 0.713148 +vt 0.243146 0.713148 +vt 0.324183 0.713148 +vt 0.289062 0.734375 +vt 0.333322 0.722064 +vt 0.334353 0.764431 +vt 0.358068 0.725561 +vt 0.416064 0.709256 +vt 0.498826 0.763730 +vt 0.417116 0.818904 +s 0 +f 582/1009/658 559/1010/658 583/1011/658 +f 559/1010/659 584/1012/659 583/1011/659 +f 560/1013/660 585/1014/660 584/1012/660 +f 561/1015/661 586/1016/661 585/1014/661 +f 562/1017/662 587/1018/662 586/1016/662 +f 563/1019/663 588/1020/663 587/1018/663 +f 588/1020/664 565/1021/664 589/1022/664 +f 565/1021/665 582/1023/665 589/1022/665 +f 563/1024/666 572/1025/666 564/1026/666 +f 558/1027/666 566/1028/666 559/1029/666 +f 558/1027/666 573/1030/666 567/1031/666 +f 561/1032/666 568/1033/666 569/1034/666 +f 568/1035/660 577/1036/660 569/1037/660 +f 571/1038/663 580/1039/663 572/1040/663 +f 569/1037/661 578/1041/661 570/1042/661 +f 572/1040/664 581/1043/664 573/1044/664 +f 566/1045/659 576/1046/659 568/1035/659 +f 570/1042/662 579/1047/662 571/1048/662 +f 573/1044/665 575/1049/665 567/1050/665 +f 567/1050/658 574/1051/658 566/1045/658 +f 562/1052/666 569/1034/666 570/1053/666 +f 559/1029/666 568/1033/666 560/1054/666 +f 564/1026/666 573/1030/666 565/1055/666 +f 562/1052/666 571/1056/666 563/1057/666 +f 581/1058/667 579/1059/667 577/1060/667 +f 582/1009/658 558/1061/658 559/1010/658 +f 559/1010/659 560/1013/659 584/1012/659 +f 560/1013/660 561/1015/660 585/1014/660 +f 561/1015/661 562/1017/661 586/1016/661 +f 562/1017/662 563/1019/662 587/1018/662 +f 563/1019/663 564/1062/663 588/1020/663 +f 588/1020/664 564/1062/664 565/1021/664 +f 565/1021/665 558/1063/665 582/1023/665 +f 563/1024/666 571/1064/666 572/1025/666 +f 558/1027/666 567/1031/666 566/1028/666 +f 558/1027/666 565/1055/666 573/1030/666 +f 561/1032/666 560/1054/666 568/1033/666 +f 568/1035/660 576/1046/660 577/1036/660 +f 571/1038/663 579/1065/663 580/1039/663 +f 569/1037/661 577/1036/661 578/1041/661 +f 572/1040/664 580/1039/664 581/1043/664 +f 566/1045/659 574/1051/659 576/1046/659 +f 570/1042/662 578/1041/662 579/1047/662 +f 573/1044/665 581/1043/665 575/1049/665 +f 567/1050/658 575/1049/658 574/1051/658 +f 562/1052/666 561/1032/666 569/1034/666 +f 559/1029/666 566/1028/666 568/1033/666 +f 564/1026/666 572/1025/666 573/1030/666 +f 562/1052/666 570/1053/666 571/1056/666 +f 577/1060/667 576/1066/667 574/1067/667 +f 574/1067/667 575/1068/667 581/1058/667 +f 581/1058/667 580/1069/667 579/1059/667 +f 579/1059/667 578/1070/667 577/1060/667 +f 577/1060/667 574/1067/667 581/1058/667 +o Sight +v -0.128183 2.091560 2.999992 +v 0.128183 2.091560 2.999992 +v -0.000758 2.091560 2.999992 +v -0.000758 2.040556 3.941854 +v -0.000758 2.038297 3.983544 +v -0.128183 2.038297 3.983544 +v -0.103443 2.040556 3.941854 +v -0.128183 2.117034 2.999992 +v -0.000758 2.117034 2.999992 +v 0.128183 2.117034 2.999992 +v -0.000758 2.113045 3.073697 +v -0.103443 2.113045 3.073697 +v -0.000758 2.063745 3.984738 +v -0.128183 2.063745 3.984738 +v 0.128183 2.038297 3.983544 +v 0.128183 2.063745 3.984738 +v -0.000758 2.087663 3.071927 +v 0.103443 2.087663 3.071927 +v 0.103443 2.065968 3.943648 +v -0.000758 2.065968 3.943648 +v -0.103443 2.087663 3.071927 +v -0.103443 2.065968 3.943648 +v 0.103443 2.040556 3.941854 +v 0.103443 2.113045 3.073697 +vn -0.0000 -0.9985 -0.0541 +vn -0.0000 0.9985 0.0540 +vn -0.0000 -0.0469 0.9989 +vn -1.0000 -0.0000 -0.0000 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 0.0704 -0.9975 +vn -0.0000 -0.0696 0.9976 +vn 0.0001 -0.9985 -0.0541 +vn -0.0001 -0.9985 -0.0541 +vn -0.0000 -0.0000 -1.0000 +vt 0.276157 1.000043 +vt 0.277845 0.988719 +vt 0.279031 0.999320 +vt 0.262350 0.883120 +vt 0.272118 0.893652 +vt 0.262350 0.893652 +vt 0.274698 0.990680 +vt 0.275897 0.990665 +vt 0.222326 0.666214 +vt 0.223796 0.675651 +vt 0.221878 0.675521 +vt 0.276984 0.883345 +vt 0.274471 0.883120 +vt 0.209797 0.558857 +vt 0.219735 0.569163 +vt 0.209797 0.569163 +vt 0.225468 0.664276 +vt 0.226612 0.674973 +vt 0.222094 0.558857 +vt 0.223523 0.666167 +vt 0.281111 0.893792 +vt 0.279697 0.988827 +vt 0.228356 0.674554 +vt 0.227211 0.663856 +vt 0.220401 0.664219 +vt 0.217884 0.569235 +vt 0.272118 0.897282 +vt 0.279262 0.893687 +vt 0.219072 0.674722 +vt 0.289130 0.883559 +vt 0.289049 0.893859 +vt 0.272776 0.988740 +vt 0.274236 0.999907 +vt 0.271463 0.999118 +vt 0.226877 0.569238 +vt 0.236860 0.558893 +vt 0.236778 0.569413 +vt 0.236749 0.573040 +vt 0.269746 0.998630 +vt 0.224609 0.558677 +vt 0.218549 0.664294 +vt 0.262350 0.897282 vt 0.226848 0.572865 vt 0.271059 0.988251 -vn 0.4257 0.9049 -0.0048 -vn 0.9414 0.3371 -0.0135 -vn 1.0000 -0.0021 -0.0092 -vn 0.9999 -0.0056 -0.0127 -vn -0.7762 -0.6305 -0.0048 -vn 0.0000 0.0000 1.0000 -vn -1.0000 0.0049 -0.0080 -vn -1.0000 0.0016 -0.0087 -vn -0.9414 0.3371 -0.0136 -vn -0.9415 0.3368 -0.0109 -vn -0.4227 0.9063 0.0000 -vn 0.7762 -0.6305 -0.0048 -vn -0.9415 0.3371 0.0000 -vn -0.9406 0.3396 0.0004 -vn 0.3933 -0.0014 0.9194 -vn 0.3737 0.1338 0.9179 -vn -1.0000 -0.0035 -0.0003 -vn 0.9937 0.0000 -0.1121 -vn 1.0000 -0.0035 0.0000 -vn 1.0000 0.0000 -0.0002 -vn -0.9568 0.2679 -0.1132 -vn -0.7341 -0.6786 -0.0246 -vn -1.0000 -0.0004 -0.0003 -vn -0.0014 -0.9870 -0.1609 -vn 1.0000 -0.0079 -0.0019 -vn 1.0000 -0.0051 0.0001 -vn -1.0000 -0.0051 0.0001 -vn -1.0000 -0.0079 -0.0019 -vn 0.0908 -0.1778 0.9799 -vn 0.0000 -1.0000 -0.0075 -vn 1.0000 0.0016 -0.0088 -vn 1.0000 0.0049 -0.0080 -vn 0.9999 -0.0004 -0.0153 -vn 0.9999 -0.0004 -0.0102 -vn -0.9999 -0.0004 -0.0102 -vn -0.9999 -0.0004 -0.0153 -vn -1.0000 -0.0021 -0.0092 -vn -0.9999 -0.0069 -0.0104 -vn -0.9999 -0.0048 -0.0096 -vn -0.0908 -0.1778 0.9799 -vn 0.4227 0.9063 0.0000 -vn 0.1385 0.3003 -0.9437 -vn 0.9415 0.3371 0.0000 -vn 0.9333 0.3590 -0.0000 -vn 0.4012 0.9160 0.0000 -vn 1.0000 -0.0023 0.0000 -vn 0.9985 -0.0546 0.0000 -vn 0.3719 0.1363 -0.9182 -vn 0.7077 0.7065 -0.0002 -vn 0.1397 0.2995 0.9438 -vn 0.3939 0.0013 -0.9192 -vn -1.0000 -0.0068 0.0000 -vn -1.0000 -0.0061 0.0028 -vn -1.0000 -0.0042 0.0047 -vn 1.0000 0.0000 0.0000 -vn 1.0000 0.0007 0.0027 -vn 1.0000 -0.0016 -0.0023 -vn -0.9546 0.2485 -0.1646 -vn -0.9937 -0.0007 -0.1122 -vn -0.5111 0.8476 -0.1425 -vn 0.5111 0.8476 -0.1425 -vn 0.9568 0.2679 -0.1132 -vn -0.9937 0.0000 -0.1121 -vn 0.9936 -0.0013 -0.1126 -vn -0.9389 0.3167 -0.1345 -vn -0.5509 -0.5672 0.6122 -vn 0.9389 0.3167 -0.1345 -vn -0.4738 0.7235 -0.5021 -vn -1.0000 0.0000 0.0000 -vn -1.0000 -0.0023 0.0014 -vn 0.4738 0.7235 -0.5021 -vn 1.0000 -0.0012 0.0016 -vn 1.0000 -0.0039 0.0023 -vn 0.9546 0.2485 -0.1646 -vn -0.6739 -0.6939 0.2537 -vn 0.9694 0.2236 0.1017 -vn 0.9694 0.2237 0.1012 -vn 1.0000 -0.0034 -0.0015 -vn 1.0000 -0.0017 -0.0014 -vn 1.0000 -0.0038 -0.0012 -vn 0.5456 0.7635 0.3455 -vn 1.0000 0.0015 0.0024 -vn 1.0000 -0.0023 -0.0015 -vn -1.0000 -0.0045 0.0006 -vn -1.0000 -0.0035 0.0032 -vn -1.0000 -0.0007 0.0039 -vn -0.4293 0.8526 -0.2981 -vn -1.0000 -0.0004 0.0028 -vn 0.4293 0.8526 -0.2981 -vn 1.0000 -0.0037 0.0023 -vn 1.0000 -0.0061 0.0037 -vn -0.5813 0.8136 -0.0067 -vn -1.0000 -0.0019 -0.0013 -vn -1.0000 -0.0017 0.0003 -vn -0.6627 -0.6823 -0.3087 -vn -0.9694 0.2237 0.1012 -vn -0.9694 0.2235 0.1017 -vn 1.0000 0.0006 -0.0028 -vn 1.0000 -0.0008 0.0015 -vn -1.0000 -0.0034 -0.0015 -vn -1.0000 -0.0033 0.0002 -vn -1.0000 -0.0014 -0.0035 -vn -0.5456 0.7635 0.3455 -vn -1.0000 -0.0025 -0.0012 -vn -1.0000 -0.0017 0.0000 -vn -0.9902 0.1399 -0.0006 -vn 0.5813 0.8136 -0.0067 -vn 1.0000 -0.0032 -0.0014 -vn 1.0000 -0.0034 0.0003 -vn 1.0000 -0.0038 -0.0000 -vn 0.9737 0.2279 -0.0023 -vn 0.9738 0.2276 -0.0019 -vn -0.6847 -0.7050 0.1849 -vn -0.9738 0.2276 -0.0019 -vn -0.9736 0.2281 -0.0020 -vn 1.0000 -0.0017 -0.0001 -vn 0.6275 0.0151 -0.7785 -vn 0.6330 0.0176 -0.7740 -vn -0.7019 0.0021 -0.7122 -vn -0.7064 0.0000 -0.7078 -vn 0.6040 0.2359 -0.7612 -vn 0.3767 0.8078 -0.4533 -vn -0.3910 0.8384 -0.3797 -vn -0.7142 0.0083 -0.6999 -vn -0.7143 0.0016 -0.6998 -vn -0.7176 0.0128 -0.6964 -vn -0.1915 -0.3110 -0.9309 -vn -0.6735 0.2590 -0.6923 -vn 0.6296 0.0075 -0.7769 -vn 0.6296 0.0000 -0.7769 -vn 0.6254 -0.0051 -0.7803 -vn -0.7634 0.6459 -0.0028 -vn 0.7634 0.6459 -0.0028 -vn 1.0000 -0.0017 0.0000 -vn 0.9902 0.1399 -0.0006 -vn -0.6967 -0.7173 0.0031 -vn 0.6973 -0.7167 0.0031 -vn 0.0000 -1.0000 0.0043 -vn 0.1962 -0.2566 -0.9464 -vn 0.0000 0.0000 -1.0000 -vn 0.6853 -0.7044 0.1847 -vn 0.0000 -0.9673 0.2537 -vn 0.6633 -0.6818 -0.3085 -vn 0.0000 -0.9111 -0.4123 -vn 0.7110 -0.6559 0.2535 -vn 0.9999 0.0128 -0.0066 -vn 0.9999 0.0080 -0.0062 -vn 0.5516 -0.5669 0.6119 -vn 0.0000 -0.6796 0.7335 -vn 0.7348 -0.6778 -0.0246 -vn 0.9238 0.0000 -0.3830 -vn 0.0056 -0.0098 -0.9999 -vn 0.0000 -1.0000 0.0095 -vn -0.9239 0.3827 0.0000 -vn 1.0000 0.0000 -0.0015 -vn 0.0000 0.0216 -0.9998 -vn -0.9840 -0.1758 -0.0295 -vn -1.0000 0.0000 -0.0015 -vn 0.0000 -0.0216 0.9998 -vn 0.9993 0.0008 -0.0364 -vn 0.0000 -0.0377 0.9993 -vn -0.9997 -0.0009 -0.0249 -vn -0.0057 -0.0103 -0.9999 -vn 0.0000 -0.9998 -0.0206 -vn 0.0000 -0.9997 -0.0225 -vn -0.9997 0.0005 -0.0231 -vn 0.0000 0.9998 0.0216 -vn 0.0000 -0.9998 -0.0216 -vn 0.0000 0.9604 0.2786 -vn 0.0000 -0.9648 -0.2630 -vn -1.0000 -0.0047 0.0009 -vn 0.0000 -0.7438 -0.6684 -vn 0.0000 0.7295 0.6840 -vn 0.0000 0.1212 0.9926 -vn 1.0000 -0.0039 0.0029 -vn 1.0000 -0.0005 -0.0048 -vn 0.0000 -0.1592 -0.9872 -vn 0.0000 -0.0766 -0.9971 -vn 0.0000 0.0714 0.9974 -vn -0.9999 0.0080 -0.0062 -vn -0.9999 0.0128 -0.0066 -vn 0.0000 0.1150 -0.9934 -vn 0.0000 -0.1150 0.9934 -vn 0.0000 0.0444 -0.9990 -vn 0.0000 -0.0997 0.9950 -vn 0.0000 -0.1804 0.9836 -vn 0.0000 -0.0613 -0.9981 -vn 0.9955 -0.0947 0.0000 -vn 0.0000 0.1792 0.9838 -vn 0.0000 -0.2422 -0.9702 -vn 0.0008 0.5015 0.8652 -vn 0.0000 0.5038 0.8638 -vn 0.0005 0.5013 0.8652 -vn -0.9934 -0.0844 0.0771 -vn 0.0000 0.5088 0.8609 -vn 0.0025 0.5075 0.8616 -vn -0.0026 0.5077 0.8616 -vn 0.0000 -0.5752 -0.8180 -vn 0.0000 -0.7383 0.6745 -vn 0.0000 -0.9117 -0.4108 -vn 0.9385 -0.2548 0.2328 -vn -0.9386 -0.2548 0.2328 -vn 0.0000 -0.9994 -0.0347 -vn -0.0051 1.0000 0.0000 -vn 0.0000 -0.0370 0.9993 -vn 0.9999 -0.0021 -0.0102 -vn 0.9999 0.0018 -0.0135 -vn -1.0000 -0.0035 -0.0069 -vn -0.9999 0.0001 -0.0134 -vn -1.0000 -0.0015 -0.0087 -vn 1.0000 0.0010 0.0047 -vn 1.0000 -0.0006 0.0000 -vn -1.0000 -0.0027 0.0042 -vn -1.0000 -0.0017 -0.0006 -vn 0.0007 -1.0000 -0.0000 -vn -1.0000 -0.0012 0.0001 -vn -1.0000 -0.0015 0.0000 -vn -1.0000 -0.0013 -0.0003 -vn 1.0000 -0.0015 0.0000 -vn 0.0032 1.0000 0.0000 -vn 1.0000 -0.0056 0.0033 -vn 1.0000 -0.0015 0.0006 -vn 1.0000 0.0015 0.0047 -vn 1.0000 -0.0017 0.0008 -vn 1.0000 -0.0006 0.0051 -vn 0.0032 -1.0000 -0.0000 -vn -1.0000 0.0013 0.0045 -vn -1.0000 -0.0007 -0.0000 -vn -1.0000 -0.0006 0.0003 -vn -1.0000 -0.0012 -0.0007 -vn -1.0000 -0.0015 -0.0006 -vn -1.0000 -0.0012 -0.0008 -vn -1.0000 -0.0004 0.0051 -vn -1.0000 -0.0006 0.0000 -vn -0.0032 1.0000 0.0000 -vn -0.0032 -1.0000 0.0000 -vn 0.0000 -0.3827 -0.9239 -vn 0.0000 -0.9239 -0.3827 -vn 0.0000 -0.9239 0.3827 -vn 0.0000 -0.3827 0.9239 -vn 0.0000 0.3827 0.9239 -vn 0.0000 0.9239 0.3827 -vn 0.0000 0.9239 -0.3827 -vn 0.0000 0.3827 -0.9239 +s 0 +f 594/1071/668 596/1072/668 593/1073/668 +f 598/1074/669 601/1075/669 600/1076/669 +f 594/1071/670 603/1077/670 595/1078/670 +f 604/1079/670 602/1080/670 594/1081/670 +f 590/1082/671 603/1077/671 597/1083/671 +f 592/1084/668 607/1085/668 606/1086/668 +f 602/1080/669 608/1087/669 609/1088/669 +f 591/1089/672 605/1090/672 604/1079/672 +f 596/1072/672 601/1091/672 611/1092/672 +f 593/1093/673 608/1087/673 612/1094/673 +f 612/1095/671 613/1096/671 607/1085/671 +f 610/1097/674 600/1076/674 601/1075/674 +f 595/1078/675 610/1098/675 596/1072/675 +f 612/1095/668 594/1081/668 593/1099/668 +f 607/1085/676 604/1079/676 612/1095/676 +f 610/1098/668 592/1100/668 606/1101/668 +f 611/1102/669 602/1103/669 609/1104/669 +f 605/1090/669 613/1105/669 608/1087/669 +f 601/1075/669 603/1077/669 611/1102/669 +f 613/1105/669 598/1106/669 600/1107/669 +f 606/1108/674 613/1105/674 600/1107/674 +f 593/1109/673 611/1102/673 609/1104/673 +f 594/1071/668 595/1078/668 596/1072/668 +f 598/1074/669 597/1083/669 601/1075/669 +f 594/1071/670 602/1103/670 603/1077/670 +f 604/1079/670 605/1090/670 602/1080/670 +f 590/1082/671 595/1078/671 603/1077/671 +f 592/1084/668 591/1089/668 607/1085/668 +f 602/1080/669 605/1090/669 608/1087/669 +f 591/1089/672 599/1110/672 605/1090/672 +f 596/1072/672 610/1098/672 601/1091/672 +f 593/1093/673 609/1088/673 608/1087/673 +f 612/1095/671 608/1111/671 613/1096/671 +f 610/1097/674 606/1112/674 600/1076/674 +f 595/1078/676 590/1082/676 610/1098/676 +f 612/1095/668 604/1079/668 594/1081/668 +f 607/1085/675 591/1089/675 604/1079/675 +f 610/1098/668 590/1082/668 592/1100/668 +f 611/1102/669 603/1077/669 602/1103/669 +f 605/1090/669 599/1110/669 613/1105/669 +f 601/1075/669 597/1083/669 603/1077/669 +f 613/1105/669 599/1110/669 598/1106/669 +f 606/1108/674 607/1113/674 613/1105/674 +f 593/1109/673 596/1114/673 611/1102/673 +f 592/1084/677 598/1106/677 591/1089/677 +f 592/1084/677 590/1082/677 597/1083/677 +f 598/1106/677 599/1110/677 591/1089/677 +f 592/1084/677 597/1083/677 598/1106/677 +o Loop +v 0.406256 1.125653 3.483772 +v 0.372781 1.206173 3.302696 +v 0.405798 1.241512 3.327720 +v 0.434647 1.172119 3.483772 +v 0.377865 1.264868 3.368210 +v 0.399229 1.213480 3.483772 +v 0.327584 1.243964 3.368210 +v 0.348947 1.192576 3.483772 +v 0.324441 1.207689 3.327720 +v 0.353290 1.138296 3.483772 +v 0.297563 1.387101 3.257974 +v 0.340975 1.397436 3.289178 +v 0.329861 1.380335 3.339669 +v 0.279580 1.359431 3.339669 +v 0.259618 1.363613 3.289178 +v 0.237243 1.532194 3.383282 +v 0.288991 1.522477 3.397170 +v 0.291365 1.472933 3.419640 +v 0.241084 1.452029 3.419640 +v 0.207634 1.488654 3.397170 +v 0.237243 1.532194 3.584262 +v 0.288991 1.522477 3.570374 +v 0.291365 1.472933 3.547904 +v 0.241084 1.452029 3.547904 +v 0.207634 1.488654 3.570374 +v 0.297563 1.387101 3.709570 +v 0.340975 1.397436 3.678366 +v 0.329861 1.380335 3.627876 +v 0.279580 1.359431 3.627876 +v 0.259618 1.363613 3.678366 +v 0.372781 1.206173 3.664848 +v 0.405798 1.241512 3.639824 +v 0.377865 1.264868 3.599334 +v 0.327584 1.243964 3.599334 +v 0.324441 1.207689 3.639824 vn 0.7951 -0.4858 -0.3630 vn 0.7513 0.6433 0.1472 vn -0.3459 0.8319 0.4339 @@ -2140,24 +3616,24 @@ vn 0.5772 0.0383 -0.8157 vn 0.8396 0.4308 0.3307 vn -0.0854 0.2055 0.9749 vn -0.8976 -0.2914 0.3307 -vn -0.4343 -0.3822 -0.8157 +vn -0.4342 -0.3822 -0.8157 vn 0.3055 0.6919 -0.6541 vn 0.9498 0.1658 0.2652 -vn 0.2394 -0.5757 0.7818 +vn 0.2393 -0.5757 0.7818 vn -0.7874 -0.5564 0.2652 vn -0.7060 0.2715 -0.6542 -vn 0.1846 0.9828 0.0000 -vn 0.9989 0.0479 0.0000 -vn 0.3839 -0.9234 0.0000 -vn -0.7384 -0.6744 0.0000 -vn -0.8269 0.5623 0.0000 +vn 0.1845 0.9828 -0.0000 +vn 0.9989 0.0479 -0.0000 +vn 0.3839 -0.9234 -0.0000 +vn -0.7384 -0.6744 -0.0000 +vn -0.8269 0.5623 -0.0000 vn 0.3055 0.6919 0.6541 vn 0.9498 0.1658 -0.2652 vn 0.2394 -0.5757 -0.7818 vn -0.7874 -0.5564 -0.2652 -vn -0.7060 0.2715 0.6541 +vn -0.7060 0.2714 0.6541 vn 0.5772 0.0383 0.8157 -vn 0.8396 0.4308 -0.3308 +vn 0.8396 0.4308 -0.3307 vn -0.0854 0.2055 -0.9749 vn -0.8976 -0.2914 -0.3307 vn -0.4342 -0.3822 0.8157 @@ -2165,1330 +3641,511 @@ vn 0.7951 -0.4858 0.3630 vn 0.7513 0.6433 -0.1472 vn -0.3459 0.8319 -0.4339 vn -0.9860 -0.0789 -0.1472 -vn -0.2163 -0.9063 0.3630 -vn 0.9239 -0.3827 -0.0000 -vn -0.9239 -0.3827 -0.0000 -vn 0.3827 0.9239 0.0000 -vn -0.3827 0.9239 0.0000 -vn 0.9239 0.3827 0.0000 -vn 0.3827 -0.9239 0.0000 -vn -0.3827 -0.9239 0.0000 -vn 0.2163 0.5222 -0.8249 -vn -0.2163 0.5222 -0.8249 -vn -0.5222 -0.2163 -0.8249 -vn 0.2081 -0.4401 -0.8735 -vn 0.5222 0.2163 -0.8249 -vn -0.5222 0.2163 -0.8249 -vn -0.2163 -0.5222 -0.8249 -vn 0.5222 -0.2163 -0.8249 -vn 0.5222 0.2163 0.8249 -vn -0.5222 0.2163 0.8249 -vn -0.2163 -0.5222 0.8249 -vn 0.5222 -0.2163 0.8249 -vn 0.3827 0.9238 -0.0120 -vn 0.8438 -0.5265 0.1041 -vn -0.5222 -0.2163 0.8250 -vn 0.2058 -0.4197 0.8840 -vn -0.1653 0.4232 -0.8908 -vn -0.9239 0.3827 0.0001 -vn 0.1642 0.3964 -0.9033 -vn 0.3964 -0.1642 -0.9033 -vn 0.1642 -0.3964 -0.9033 -vn 0.3964 0.1642 -0.9033 -vn -0.3964 -0.1642 -0.9033 -vn -0.1642 -0.3964 -0.9033 -vn -0.3827 0.9239 0.0001 -vn 0.9239 0.3827 0.0001 -vn -0.3827 -0.9239 0.0001 -vn 0.3827 0.9239 0.0001 -vn 0.9239 -0.3827 0.0001 -vn -0.9239 -0.3827 0.0001 -vn -0.3964 0.1642 -0.9033 -vn 0.3827 -0.9239 0.0001 -vn 0.1317 -0.3179 0.9389 -vn 0.3179 0.1317 0.9389 -vn -0.3179 0.1317 0.9389 -vn -0.3179 -0.1317 0.9389 -vn -0.1317 -0.3179 0.9389 -vn -0.1355 0.3696 0.9193 -vn 0.1317 0.3179 0.9389 -vn 0.3179 -0.1317 0.9390 -vn -0.4654 -0.1928 -0.8638 -vn -0.1928 -0.4654 -0.8638 -vn -0.1928 0.4654 -0.8638 -vn 0.1928 0.4654 -0.8638 -vn 0.4654 -0.1928 -0.8639 -vn 0.1928 -0.4654 -0.8638 -vn 0.4654 0.1928 -0.8638 -vn -0.4654 0.1928 -0.8639 -vn 0.2570 -0.1064 0.9605 -vn 0.1064 -0.2570 0.9605 -vn 0.2570 0.1064 0.9605 -vn -0.2570 0.1064 0.9605 -vn -0.2570 -0.1064 0.9605 -vn -0.1064 -0.2570 0.9605 -vn -0.1064 0.2570 0.9605 -vn 0.1064 0.2570 0.9605 -vn 0.9968 0.0794 0.0000 -vn -0.9968 0.0794 0.0000 -vn -0.0007 0.0459 -0.9989 -vn -0.0009 0.0618 0.9981 -vn 0.0009 0.0618 0.9981 -vn 0.0007 0.0459 -0.9989 -vn 0.0465 0.1529 0.9871 -vn -0.0359 0.1299 0.9909 -vn -0.2910 0.9565 0.0178 -vn -0.7522 -0.6487 0.1156 -vn -0.2662 -0.9636 0.0231 -vn 0.3820 -0.9223 0.0577 -vn -0.6671 -0.2763 0.6919 -vn 0.6671 -0.2763 0.6919 -vn 0.2683 0.6476 0.7132 -vn -0.2660 0.6359 0.7244 -vn -0.2763 -0.6671 0.6919 -vn 0.6671 0.2763 0.6919 -vn -0.6907 0.2924 0.6614 -vn 0.2763 -0.6671 0.6919 -vn 0.2692 -0.6498 -0.7108 -vn -0.7364 0.3285 -0.5914 -vn -0.9213 0.3888 0.0000 -vn 0.6498 0.2692 -0.7108 -vn 0.9213 0.3888 0.0000 -vn -0.2692 -0.6498 -0.7109 -vn -0.2921 0.6981 -0.6537 -vn 0.2936 0.7087 -0.6415 -vn 0.6498 -0.2692 -0.7109 -vn -0.6498 -0.2692 -0.7108 -vn -0.9707 0.2404 0.0000 -vn -0.0152 0.0364 -0.9992 -vn 0.9707 0.2404 0.0000 -vn 0.0008 0.0018 1.0000 -vn 0.0000 -0.9985 -0.0541 -vn -0.0007 0.0018 1.0000 -vn 0.0154 0.0365 -0.9992 -vn 0.0000 1.0000 0.0000 -vn 0.0000 0.9985 0.0540 -vn 0.0000 -0.0469 0.9989 -vn 0.0000 0.0704 -0.9975 -vn 0.0000 -0.0696 0.9976 -vn 0.9826 0.1855 0.0000 -vn -0.9757 0.2193 0.0000 -vn -0.9979 0.0652 0.0000 -vn 0.9979 0.0652 0.0000 -vn 0.5958 0.2860 -0.7505 -vn -0.5296 0.8483 0.0000 -vn 0.5292 0.8485 0.0000 -vn -0.5654 0.2963 0.7697 -vn 0.0000 0.9333 -0.3590 -vn -0.5112 0.8022 -0.3086 -vn 0.0000 0.9333 0.3590 -vn 0.5416 0.7846 0.3018 -vn -0.5654 0.2963 -0.7698 -vn 0.5416 0.7846 -0.3018 -vn 0.5958 0.2860 0.7504 -vn -0.5112 0.8022 0.3086 -vn 1.0000 -0.0023 -0.0003 -vn 0.0054 -0.0103 -0.9999 -vn -0.0060 -0.0098 -0.9999 -vn -0.2048 -0.2682 -0.9413 -vn 0.1799 -0.3126 -0.9327 -vn 0.0000 -0.9869 -0.1613 -vn 0.0015 -0.9870 -0.1609 -vn 0.9385 0.3453 -0.0001 -vn 1.0000 -0.0015 -0.0087 -vn 0.9999 0.0000 -0.0134 -vn -0.7768 -0.6298 -0.0036 -vn -1.0000 0.0004 -0.0021 -vn -1.0000 -0.0015 -0.0049 -vn -0.9385 0.3453 0.0000 -vn 0.7768 -0.6298 -0.0036 -vn -0.9412 0.3378 -0.0026 -vn 0.3935 -0.0015 0.9193 -vn 0.4060 0.1562 0.9004 -vn -1.0000 -0.0021 0.0000 -vn -1.0000 -0.0018 -0.0027 -vn 1.0000 -0.0036 0.0000 -vn 1.0000 -0.0004 -0.0003 -vn -0.9608 0.2487 -0.1223 -vn -0.6066 -0.7945 -0.0284 -vn -0.6264 -0.7733 -0.0975 -vn -1.0000 0.0000 -0.0003 -vn 1.0000 -0.0005 -0.0003 -vn 1.0000 0.0016 -0.0009 -vn 1.0000 0.0030 -0.0040 -vn -1.0000 0.0030 -0.0040 -vn -1.0000 0.0016 -0.0009 -vn -1.0000 -0.0005 -0.0003 -vn 1.0000 -0.0015 -0.0049 -vn 1.0000 0.0004 -0.0021 -vn 0.9999 -0.0056 -0.0118 -vn 1.0000 -0.0015 -0.0088 -vn -1.0000 -0.0015 -0.0088 -vn -0.9999 -0.0056 -0.0118 -vn -0.9999 -0.0015 -0.0102 -vn -0.9999 0.0036 -0.0103 -vn -0.9999 -0.0061 -0.0084 -vn 0.1422 0.3319 -0.9325 -vn 0.3982 0.9173 0.0006 -vn 1.0000 -0.0038 -0.0002 -vn 0.4062 0.1600 -0.8997 -vn 0.7079 0.7063 -0.0002 -vn 0.1430 0.3294 0.9333 -vn 0.3947 0.0009 -0.9188 -vn -1.0000 -0.0012 0.0016 -vn -1.0000 -0.0039 0.0023 -vn 1.0000 -0.0024 0.0014 -vn -0.9306 0.3160 -0.1849 -vn -0.9936 -0.0013 -0.1126 -vn -0.5412 0.8265 -0.1550 -vn 0.5412 0.8265 -0.1550 -vn 0.9608 0.2487 -0.1223 -vn 0.9937 -0.0007 -0.1122 -vn -0.9634 0.2291 -0.1393 -vn 0.9634 0.2291 -0.1393 -vn -0.3871 0.7687 -0.5092 -vn -1.0000 -0.0016 -0.0023 -vn -1.0000 0.0006 0.0027 -vn 0.3871 0.7687 -0.5092 -vn 1.0000 -0.0068 0.0000 -vn 1.0000 -0.0042 0.0048 -vn 1.0000 -0.0061 0.0028 -vn 0.9306 0.3160 -0.1849 -vn 0.0000 -0.9328 0.3605 -vn -0.7103 -0.6566 0.2537 -vn 0.9693 0.2241 0.1015 -vn 1.0000 -0.0008 -0.0027 -vn 1.0000 -0.0030 0.0001 -vn 1.0000 -0.0020 0.0020 -vn -1.0000 -0.0038 0.0023 -vn -1.0000 -0.0061 0.0037 -vn -0.5495 0.7690 -0.3266 -vn -1.0000 -0.0023 -0.0015 -vn -1.0000 0.0017 0.0022 -vn 0.5495 0.7690 -0.3266 -vn 1.0000 -0.0045 0.0006 -vn 1.0000 -0.0010 0.0046 -vn 1.0000 -0.0035 0.0032 -vn -1.0000 -0.0015 -0.0007 -vn -0.7633 0.6459 0.0135 -vn -1.0000 -0.0035 -0.0002 -vn -1.0000 -0.0034 0.0003 -vn -0.9693 0.2238 0.1017 -vn 1.0000 -0.0017 -0.0022 -vn -1.0000 -0.0039 -0.0015 -vn -1.0000 -0.0019 -0.0008 -vn -1.0000 0.0002 -0.0028 -vn -1.0000 -0.0012 0.0012 -vn 0.7633 0.6459 0.0135 -vn 1.0000 -0.0020 -0.0013 -vn 1.0000 -0.0017 0.0003 -vn 0.9901 0.1400 -0.0116 -vn 0.9901 0.1401 -0.0111 -vn -0.9901 0.1401 -0.0111 -vn -0.9901 0.1401 -0.0116 -vn 0.6385 0.0097 -0.7696 -vn 0.6425 0.0150 -0.7662 -vn 0.6390 0.0022 -0.7692 -vn -0.7068 0.0066 -0.7074 -vn -0.7028 -0.0044 -0.7114 -vn 0.7066 0.2135 -0.6746 -vn 0.5060 0.8391 -0.1997 -vn -0.5146 0.8533 -0.0838 -vn -0.7041 0.0132 -0.7100 -vn -0.7086 0.0154 -0.7055 -vn -0.7884 0.2333 -0.5692 -vn 0.6241 0.0024 -0.7814 -vn -0.6967 -0.7174 0.0031 -vn 0.6746 -0.6933 0.2534 -vn 0.9999 0.0140 -0.0012 -vn 0.9999 0.0097 0.0052 -vn 1.0000 0.0094 0.0004 -vn 0.6270 -0.7729 -0.0976 -vn 0.6072 -0.7941 -0.0284 -vn 0.9841 -0.1697 -0.0533 -vn -0.0095 -0.9999 0.0105 -vn 0.0095 -0.9999 0.0105 -vn -0.9274 0.0000 -0.3742 -vn 0.9987 -0.0092 -0.0494 -vn -1.0000 -0.0005 -0.0048 -vn -1.0000 -0.0039 0.0029 -vn 1.0000 -0.0047 0.0009 -vn -0.0004 -0.0719 -0.9974 -vn -1.0000 0.0094 0.0004 -vn -0.9999 0.0097 0.0052 -vn -0.9999 0.0140 -0.0012 -vn 0.0000 0.1149 -0.9934 -vn 0.0000 -0.1149 0.9934 -vn 0.9934 -0.0844 0.0771 -vn -0.0007 0.5014 0.8652 -vn -0.9955 -0.0947 0.0000 -vn 0.0026 0.5098 0.8603 -vn 0.0000 -0.9117 -0.4107 -vn 1.0000 -0.0015 -0.0095 -vn 1.0000 -0.0061 -0.0078 -vn 0.9999 0.0036 -0.0095 -vn 1.0000 0.0013 0.0045 -vn -1.0000 -0.0056 0.0033 -vn -1.0000 0.0016 0.0047 -vn -1.0000 -0.0015 0.0006 -vn -1.0000 -0.0013 0.0003 -vn 1.0000 -0.0030 0.0040 -vn 1.0000 -0.0017 -0.0008 -vn 1.0000 -0.0015 -0.0006 -vn 1.0000 -0.0004 0.0051 -vn -1.0000 0.0010 0.0046 -vn -1.0000 -0.0014 0.0008 -vn -1.0000 -0.0017 0.0006 -vn -1.0000 -0.0006 0.0051 -vn 0.0000 0.0127 -0.9999 -vn -0.0012 0.0155 -0.9999 -vn -0.0021 0.0150 -0.9999 -vn 0.0002 0.0112 -0.9999 -vn 0.0000 0.0171 -0.9999 -vn -0.0027 0.0139 -0.9999 -vn 0.0059 0.0010 -1.0000 -vn -0.0059 0.0011 -1.0000 -vn -0.0012 0.0113 -0.9999 -vn 0.0046 0.0133 -0.9999 -vn -0.4342 -0.3822 -0.8157 +vn -0.2164 -0.9063 0.3630 +vn 0.2394 -0.5757 0.7818 vn -0.7060 0.2714 -0.6541 -vn 0.1845 0.9828 0.0000 vn -0.7060 0.2715 0.6542 -vn 0.8396 0.4308 -0.3307 vn -0.4343 -0.3822 0.8157 -vn 0.2163 -0.5222 -0.8249 -vn -0.5222 0.2163 -0.8250 -vn -0.2081 -0.4401 -0.8735 -vn -0.2058 -0.4197 0.8840 -vn 0.2910 0.9565 0.0178 -vn 0.7522 -0.6487 0.1156 -vn -0.5222 -0.2163 0.8249 -vn 0.2163 -0.5222 0.8249 -vn -0.1642 0.3964 -0.9033 -vn 0.1653 0.4232 -0.8908 -vn -0.3179 -0.1317 0.9390 -vn -0.1317 0.3179 0.9389 -vn 0.1355 0.3696 0.9193 -vn 0.3179 -0.1317 0.9389 -vn -0.4654 -0.1928 -0.8639 -vn 0.4654 -0.1928 -0.8638 -vn 0.4654 0.1928 -0.8639 -vn -0.4654 0.1928 -0.8638 -vn 0.0359 0.1299 0.9909 -vn -0.0465 0.1529 0.9871 -vn -0.3827 0.9238 -0.0120 -vn -0.8438 -0.5265 0.1041 -vn -0.3820 -0.9223 0.0577 -vn 0.2663 -0.9636 0.0231 -vn 0.2645 0.6280 0.7319 -vn -0.2683 0.6476 0.7132 -vn 0.6907 0.2924 0.6614 -vn -0.6671 0.2763 0.6919 -vn 0.2692 -0.6498 -0.7109 -vn -0.6498 0.2692 -0.7108 -vn 0.7364 0.3285 -0.5914 -vn -0.2692 -0.6498 -0.7108 -vn -0.2936 0.7087 -0.6415 -vn 0.2910 0.6909 -0.6618 -vn 0.6498 -0.2692 -0.7108 -vn -0.6498 -0.2692 -0.7109 -vn 0.0000 0.0589 -0.9983 -vn 0.0000 0.0029 1.0000 -vn 0.2185 0.0412 -0.9750 -vn -0.2098 0.0472 0.9766 -vn -0.2099 0.0472 -0.9766 -vn 0.2184 0.0412 0.9750 -vn 1.0000 -0.0021 -0.0003 -s off -f 65/131/59 67/132/59 68/133/59 -f 68/133/60 69/134/60 70/135/60 -f 70/135/61 71/136/62 72/137/61 -f 74/138/63 76/139/63 73/140/63 -f 71/141/64 69/142/64 78/143/64 -f 76/144/65 80/145/66 81/146/66 -f 78/147/67 83/148/67 82/149/68 -f 77/150/69 65/151/69 83/148/69 -f 84/152/70 86/153/70 87/154/70 -f 89/155/71 82/149/72 83/148/71 -f 91/156/73 93/157/73 90/158/73 -f 95/159/74 91/156/74 94/160/74 -f 97/161/69 83/148/69 65/151/69 -f 98/162/75 88/163/75 99/164/75 -f 100/165/76 102/166/76 103/167/76 -f 105/168/77 90/169/77 104/170/77 -f 104/170/78 107/171/78 108/172/78 -f 112/173/79 110/174/79 109/175/79 -f 115/176/80 116/177/80 117/178/80 -f 98/162/81 118/179/81 81/146/81 -f 119/180/82 120/181/82 124/182/82 -f 84/183/83 125/184/84 120/181/84 -f 121/185/85 126/186/85 76/144/86 -f 87/187/87 125/184/87 84/188/87 -f 73/140/88 86/153/88 74/138/88 -f 127/189/89 84/183/90 107/171/89 -f 128/190/91 107/171/92 106/191/92 -f 81/146/93 129/192/94 98/162/93 -f 98/162/95 79/193/96 82/149/97 -f 73/194/98 76/195/98 126/186/98 -f 94/196/99 96/197/99 97/198/99 -f 68/199/100 131/200/100 65/201/100 -f 91/202/101 130/203/101 94/196/101 -f 133/204/102 95/205/102 132/206/102 -f 132/206/103 134/207/103 131/208/103 -f 135/209/104 92/210/104 133/204/104 -f 131/200/105 97/211/105 65/201/105 -f 70/212/106 132/213/106 68/199/106 -f 90/158/107 135/214/107 72/215/107 -f 134/216/108 94/160/108 97/211/108 -f 70/212/109 135/214/109 133/217/109 -f 136/218/110 137/219/111 138/220/112 -f 102/166/113 140/221/114 103/167/115 -f 141/222/116 111/223/116 112/173/116 -f 142/224/117 111/223/117 136/218/117 -f 144/225/118 109/175/118 143/226/118 -f 145/227/119 144/228/119 143/229/119 -f 147/230/120 146/231/120 145/227/120 -f 142/224/121 115/232/121 114/233/121 -f 100/165/122 148/234/122 147/230/122 -f 150/235/123 137/219/123 141/222/123 -f 151/236/124 153/237/124 154/238/124 -f 155/239/125 157/240/125 156/241/125 -f 159/242/126 112/173/126 144/225/126 -f 115/232/127 138/220/128 152/243/127 -f 146/231/129 159/244/129 144/228/129 -f 103/167/130 155/239/131 148/234/131 -f 148/234/132 156/241/132 146/231/132 -f 116/177/133 152/245/133 151/236/133 -f 161/246/134 157/240/135 158/247/135 -f 158/247/136 163/248/137 161/246/138 -f 160/249/139 164/250/139 157/240/139 -f 139/251/113 162/252/140 140/221/141 -f 138/220/142 149/253/143 167/254/144 -f 164/255/145 141/222/145 159/242/145 -f 152/243/127 167/254/146 153/256/127 -f 156/241/147 164/250/147 159/244/147 -f 140/221/148 158/247/149 155/239/149 -f 168/257/127 170/258/127 171/259/127 -f 165/260/150 173/261/150 172/262/150 -f 169/263/151 176/264/152 170/258/152 -f 153/237/153 177/265/153 154/238/153 -f 150/235/154 175/266/155 149/253/154 -f 162/252/156 178/267/113 163/248/157 -f 149/253/158 169/263/159 167/254/160 -f 164/255/161 172/262/161 150/235/161 -f 167/254/162 168/257/127 153/256/127 -f 170/268/163 179/269/163 180/270/163 -f 182/271/113 184/272/113 181/273/113 -f 185/274/164 176/275/164 173/276/164 -f 186/277/165 165/278/165 160/249/165 -f 163/248/166 187/279/167 161/246/168 -f 161/246/169 186/277/170 160/249/170 -f 177/265/171 171/280/171 188/281/171 -f 173/261/172 175/266/173 172/262/172 -f 178/267/113 181/282/113 163/248/174 -f 105/168/175 100/283/176 147/284/175 -f 99/164/177 114/285/178 118/179/178 -f 147/284/179 130/203/179 105/168/179 -f 145/286/180 96/197/180 130/203/180 -f 96/287/181 109/288/181 89/155/181 -f 88/163/182 142/289/183 99/164/184 -f 189/290/185 118/291/185 113/292/185 -f 89/155/186 110/293/186 88/163/186 -f 104/170/187 101/294/188 100/283/189 -f 193/295/190 173/276/190 174/296/190 -f 171/297/127 180/270/127 194/298/127 -f 186/299/191 193/300/191 174/301/191 -f 181/273/192 190/302/192 187/303/192 -f 187/303/193 191/304/193 186/299/193 -f 188/305/194 194/298/194 195/306/194 -f 196/307/195 183/308/195 182/271/195 -f 188/305/196 192/309/196 196/307/196 -f 108/310/197 198/311/197 101/312/197 -f 199/313/198 201/314/198 117/315/198 -f 202/316/199 182/317/199 178/318/199 -f 177/265/200 196/319/200 202/316/200 -f 166/320/201 202/316/201 178/318/201 -f 154/238/202 202/316/202 203/321/202 -f 204/322/203 139/323/203 102/324/203 -f 234/325/204 584/326/205 583/327/205 -f 205/328/206 166/320/206 139/323/206 -f 151/236/207 203/321/207 205/328/207 -f 199/329/208 204/322/208 102/324/208 -f 197/330/209 206/331/209 198/332/209 -f 197/333/210 108/310/210 119/180/210 -f 87/187/211 73/194/211 120/181/211 -f 492/334/212 354/335/212 349/336/212 -f 206/331/213 208/337/213 200/338/213 -f 200/339/214 209/340/214 201/314/214 -f 198/332/213 200/338/213 199/341/213 -f 189/342/215 210/343/215 123/344/215 -f 113/345/216 201/346/216 210/343/216 -f 212/347/217 214/348/217 211/349/217 -f 207/350/218 214/348/218 215/351/218 -f 206/331/218 211/352/218 207/350/218 -f 123/353/219 211/349/219 124/354/219 -f 210/343/216 209/355/216 216/356/216 -f 210/343/220 212/357/220 123/344/220 -f 189/290/221 123/358/221 122/359/221 -f 213/360/222 215/351/222 214/348/222 -f 217/361/223 219/362/223 215/351/223 -f 216/356/216 218/363/216 217/361/216 -f 216/356/224 213/360/224 212/357/224 -f 208/364/225 221/365/225 209/340/225 -f 207/350/213 219/362/213 208/337/213 -f 221/366/127 224/367/127 222/368/127 -f 218/363/226 225/369/226 219/362/226 -f 208/337/113 225/369/113 220/370/113 -f 209/355/127 222/368/127 218/363/127 -f 226/371/113 228/372/113 229/373/113 -f 220/374/227 223/375/227 221/365/227 -f 220/370/113 227/376/113 226/371/113 -f 222/368/228 227/377/228 225/369/228 -f 231/378/127 233/379/229 230/380/127 -f 224/381/230 228/382/230 227/377/230 -f 223/383/127 230/380/127 224/367/127 -f 226/384/231 231/385/231 223/375/231 -f 229/386/232 232/387/232 231/385/232 -f 229/373/113 235/388/233 234/325/234 -f 230/389/235 235/390/235 228/382/235 -f 584/391/236 233/392/236 581/393/236 -f 582/394/237 234/395/237 583/396/237 -f 581/397/238 232/398/239 582/399/238 -f 236/400/127 238/401/127 239/402/127 -f 238/403/240 241/404/240 239/405/240 -f 240/406/113 243/407/113 241/408/113 -f 242/409/241 236/410/241 243/411/241 -f 241/404/242 245/412/242 239/405/242 -f 247/413/243 249/414/243 246/415/243 -f 239/402/127 247/416/127 236/400/127 -f 241/408/113 246/417/113 244/418/113 -f 236/410/244 246/415/244 243/411/244 -f 249/419/113 252/420/113 250/421/113 -f 244/422/245 253/423/245 245/412/245 -f 244/418/113 249/419/113 250/421/113 -f 245/424/127 248/425/127 247/416/127 -f 251/426/246 255/427/246 252/420/246 -f 248/425/127 256/428/127 257/429/127 -f 248/430/247 251/431/247 249/414/247 -f 250/432/248 256/433/248 253/423/248 -f 258/434/249 260/435/250 254/436/251 -f 257/429/252 261/437/252 258/438/252 -f 251/431/253 258/434/254 254/436/255 -f 252/439/256 261/440/256 256/433/256 -f 263/441/257 259/442/257 262/443/257 -f 261/440/258 263/444/258 262/445/258 -f 254/446/259 263/447/259 255/427/259 -f 258/438/260 262/448/260 259/449/260 -f 117/178/261 204/322/261 199/329/261 -f 79/450/262 265/451/262 71/452/262 -f 129/453/64 127/454/64 128/455/64 -f 80/456/64 85/457/64 127/454/64 -f 75/458/263 86/153/263 85/457/263 -f 72/137/264 128/190/265 106/191/264 -f 82/149/266 79/193/267 78/147/268 -f 264/459/262 267/460/262 265/451/262 -f 71/452/269 268/461/270 269/462/270 -f 79/450/271 270/463/272 271/464/272 -f 128/465/273 273/466/273 129/467/273 -f 266/468/64 275/469/64 267/470/64 -f 273/471/274 266/472/275 264/459/276 -f 272/473/273 274/474/273 273/466/273 -f 265/451/277 275/469/277 272/473/277 -f 277/475/278 279/476/278 276/477/278 -f 71/452/279 277/478/280 128/465/281 -f 265/451/282 276/479/282 268/461/282 -f 128/465/283 276/479/270 272/473/270 -f 271/480/284 282/481/284 280/482/284 -f 79/450/285 280/483/286 264/459/287 -f 264/459/288 283/484/289 273/471/290 -f 129/485/291 283/484/292 270/463/292 -f 284/486/163 282/481/163 281/487/163 -f 271/488/64 284/486/64 281/487/64 -f 283/489/293 284/486/293 270/490/293 -f 280/491/198 285/492/198 283/493/198 -f 286/494/192 279/476/192 278/495/192 -f 268/496/198 279/476/198 287/497/198 -f 268/498/294 286/494/294 269/499/294 -f 269/500/64 278/495/64 277/501/64 -f 194/502/198 180/503/198 184/504/198 -f 289/505/113 291/506/113 288/507/113 -f 293/508/295 295/509/295 292/510/295 -f 294/511/296 297/512/296 295/509/296 -f 296/513/297 299/514/297 297/515/297 -f 298/516/298 301/517/298 299/514/298 -f 300/518/299 303/519/299 301/517/299 -f 302/520/300 305/521/300 303/519/300 -f 298/522/113 296/523/113 304/524/113 -f 304/525/301 307/526/301 305/521/301 -f 306/527/302 292/510/302 307/526/302 -f 309/528/303 311/529/303 308/530/303 -f 311/529/304 312/531/304 313/532/304 -f 313/532/305 314/533/305 315/534/305 -f 314/533/306 317/535/306 315/534/306 -f 317/535/307 309/536/307 308/537/307 -f 318/538/308 310/539/308 309/540/308 -f 310/539/309 320/541/309 312/531/309 -f 312/531/310 321/542/310 314/533/310 -f 321/542/311 316/543/311 314/533/311 -f 316/543/312 318/544/312 309/545/312 -f 323/546/313 319/547/313 318/548/313 -f 324/549/314 320/541/314 319/547/314 -f 320/541/315 326/550/315 321/542/315 -f 326/550/316 322/551/316 321/542/316 -f 322/551/317 323/552/317 318/553/317 -f 328/554/318 324/555/318 323/556/318 -f 329/557/319 325/558/319 324/555/319 -f 330/559/320 326/550/320 325/558/320 -f 331/560/321 327/561/321 326/550/321 -f 327/561/322 328/562/322 323/563/322 -f 328/564/323 334/565/323 329/566/323 -f 329/566/324 335/567/324 330/559/324 -f 335/567/325 331/560/325 330/559/325 -f 331/560/326 337/568/326 332/569/326 -f 337/568/327 328/570/327 332/569/327 -f 333/571/328 339/572/328 334/573/328 -f 339/572/329 335/567/329 334/573/329 -f 340/574/330 336/575/330 335/567/330 -f 336/575/331 342/576/331 337/577/331 -f 342/576/332 333/578/332 337/577/332 -f 338/579/333 311/580/333 339/581/333 -f 311/580/334 340/574/334 339/581/334 -f 313/582/335 341/583/335 340/574/335 -f 341/583/336 317/584/336 342/585/336 -f 317/584/337 338/586/337 342/585/337 -f 496/587/338 345/588/338 495/589/338 -f 492/334/339 348/590/339 491/591/339 -f 499/592/340 344/593/340 343/594/340 -f 499/592/341 354/335/341 503/595/341 -f 495/589/342 344/593/342 500/596/342 -f 351/597/343 353/598/343 350/599/343 -f 505/600/344 348/590/344 347/601/344 -f 496/587/343 347/602/343 346/603/343 -f 356/604/345 358/605/345 355/606/345 -f 360/607/212 362/608/212 359/609/212 -f 364/610/342 365/611/342 363/612/342 -f 350/613/344 367/614/344 366/615/344 -f 359/609/341 356/616/341 368/617/341 -f 368/617/340 355/618/340 364/610/340 -f 363/612/338 352/619/338 351/597/338 -f 366/615/339 361/620/339 360/607/339 -f 370/621/212 372/622/212 369/623/212 -f 356/624/346 369/623/346 357/625/346 -f 367/626/347 370/621/347 361/627/347 -f 353/628/348 374/629/348 375/630/348 -f 355/631/349 376/632/349 365/633/349 -f 361/634/350 369/623/350 362/635/350 -f 353/636/351 373/637/351 367/626/351 -f 365/638/352 374/629/352 352/639/352 -f 377/640/353 379/641/353 380/642/353 -f 376/632/338 383/643/338 374/629/338 -f 357/625/340 378/644/340 358/605/340 -f 369/623/341 384/645/341 357/625/341 -f 373/637/339 371/646/339 370/621/339 -f 358/605/342 377/640/342 376/632/342 -f 386/647/341 388/648/341 385/649/341 -f 371/646/354 386/650/354 372/622/354 -f 382/651/355 390/652/355 391/653/355 -f 383/643/356 380/654/356 392/655/356 -f 384/645/357 394/656/357 378/644/357 -f 379/657/358 394/656/358 395/658/358 -f 382/651/359 389/659/359 371/646/359 -f 383/643/360 390/660/360 381/661/360 -f 397/662/64 399/663/64 396/664/64 -f 391/665/339 400/666/339 389/667/339 -f 392/668/343 397/669/343 390/670/343 -f 379/671/342 403/672/342 380/673/342 -f 389/667/212 387/674/212 386/647/212 -f 390/675/344 396/664/344 391/665/344 -f 380/673/338 401/676/338 392/668/338 -f 385/649/340 402/677/340 379/671/340 -f 405/678/338 407/679/338 404/680/338 -f 403/672/64 409/681/64 401/676/64 -f 388/648/64 411/682/64 402/677/64 -f 388/648/64 404/683/64 410/684/64 -f 400/666/64 399/685/64 405/686/64 -f 397/669/64 409/687/64 398/688/64 -f 403/672/64 411/689/64 408/690/64 -f 400/666/64 404/691/64 387/674/64 -f 417/692/64 407/693/64 414/694/64 -f 398/695/340 412/696/340 399/697/340 -f 408/698/212 414/699/212 409/700/212 -f 410/701/344 416/702/344 411/703/344 -f 404/680/343 417/704/343 410/701/343 -f 399/697/342 406/705/342 405/678/342 -f 409/700/341 413/706/341 398/707/341 -f 411/703/339 415/708/339 408/698/339 -f 426/709/361 428/710/361 375/711/361 -f 425/712/362 427/713/362 418/714/362 -f 426/715/363 431/716/363 430/717/363 -f 432/718/364 434/719/364 435/720/364 -f 436/721/365 435/720/365 437/722/365 -f 430/717/366 434/719/366 433/723/366 -f 438/724/367 440/725/367 429/726/367 -f 436/727/368 439/728/368 438/729/368 -f 419/730/369 427/713/369 426/731/369 -f 420/732/370 433/733/370 421/734/370 -f 423/735/371 438/736/371 424/737/371 -f 419/730/372 430/738/372 420/732/372 -f 421/734/373 432/739/373 422/740/373 -f 424/737/374 429/741/374 425/712/374 -f 429/742/375 428/710/375 427/743/375 -f 422/740/376 436/744/376 423/745/376 -f 439/728/339 442/746/339 440/725/339 -f 440/725/212 443/747/212 428/710/212 -f 435/720/343 445/748/343 437/722/343 -f 431/716/342 447/749/342 434/719/342 -f 437/722/344 441/750/344 439/728/344 -f 434/719/338 444/751/338 435/720/338 -f 445/748/377 448/752/377 449/753/377 -f 446/754/378 451/755/378 447/749/378 -f 443/747/379 452/756/379 453/757/379 -f 441/750/380 452/758/380 442/746/380 -f 445/748/381 454/759/381 441/750/381 -f 443/747/382 455/760/382 381/761/382 -f 446/754/383 455/762/383 450/763/383 -f 444/751/384 451/764/384 448/765/384 -f 455/766/340 457/767/340 450/768/340 -f 458/769/385 460/770/385 461/771/385 -f 451/772/338 463/773/338 448/774/338 -f 448/774/343 464/775/343 449/776/343 -f 450/768/342 462/777/342 451/772/342 -f 452/778/212 465/779/212 453/780/212 -f 454/781/339 458/782/339 452/778/339 -f 449/783/344 459/784/344 454/781/344 -f 453/780/341 456/785/341 455/766/341 -f 461/786/212 468/787/212 466/788/212 -f 459/789/386 469/790/386 460/791/386 -f 465/792/387 470/793/387 456/794/387 -f 457/795/388 470/796/388 471/797/388 -f 462/798/389 473/799/389 463/800/389 -f 463/801/390 469/802/390 464/803/390 -f 462/804/391 471/805/391 472/806/391 -f 458/807/392 466/788/392 465/808/392 -f 474/809/393 476/810/393 477/811/393 -f 460/770/339 467/812/339 461/771/339 -f 469/790/344 478/813/344 460/791/344 -f 466/814/341 480/815/341 470/793/341 -f 470/796/340 481/816/340 471/797/340 -f 472/817/338 474/809/338 473/799/338 -f 473/818/343 479/819/343 469/802/343 -f 471/805/342 475/820/342 472/806/342 -f 483/821/64 485/822/64 476/810/64 -f 479/819/394 477/811/394 485/822/394 -f 481/823/395 476/810/395 475/820/395 -f 468/787/396 483/821/396 482/824/396 -f 478/825/397 483/821/397 467/812/397 -f 479/826/398 484/827/398 478/813/398 -f 480/815/399 482/824/399 487/828/399 -f 480/829/400 486/830/400 481/816/400 -f 431/831/401 383/832/401 446/833/401 -f 428/834/402 382/835/402 373/836/402 -f 373/836/403 375/837/403 428/834/403 -f 382/835/404 443/838/404 381/839/404 -f 381/840/405 446/833/405 383/832/405 -f 375/841/406 374/842/406 431/831/406 -f 393/843/407 395/658/407 394/656/407 -f 393/843/408 490/844/408 488/845/408 -f 384/645/409 489/846/409 393/843/409 -f 386/847/410 489/846/410 372/622/410 -f 385/848/411 395/658/411 488/845/411 -f 385/848/412 490/844/412 386/849/412 -f 494/850/413 360/851/413 493/852/413 -f 497/853/414 363/854/414 351/855/414 -f 501/856/415 368/857/415 364/858/415 -f 504/859/416 368/860/416 502/861/416 -f 506/862/417 366/863/417 494/850/417 -f 498/864/418 364/858/418 363/865/418 -f 493/852/419 359/866/419 504/859/419 -f 506/862/420 351/867/420 350/868/420 -f 496/869/421 508/870/421 505/871/421 -f 507/872/343 506/862/343 508/870/343 -f 503/873/422 509/874/422 510/875/422 -f 510/875/423 493/852/423 504/859/423 -f 500/876/424 512/877/424 495/878/424 -f 511/879/425 498/864/425 512/877/425 -f 491/880/426 508/870/426 513/881/426 -f 508/870/344 494/850/344 513/881/344 -f 499/882/427 510/875/427 514/883/427 -f 499/884/428 511/879/428 500/876/428 -f 495/885/429 507/872/429 496/886/429 -f 512/877/338 497/853/338 507/872/338 -f 491/887/430 509/874/430 492/888/430 -f 513/881/339 493/852/339 509/874/339 -f 504/889/431 516/890/431 510/891/431 -f 516/890/432 514/892/432 510/891/432 -f 518/893/433 501/894/433 511/895/433 -f 519/896/434 502/897/434 501/898/434 -f 522/899/435 524/900/435 521/901/435 -f 502/897/436 515/902/436 504/889/436 -f 514/892/437 518/893/437 511/895/437 -f 526/903/438 528/904/438 525/905/438 -f 516/890/127 525/906/127 528/904/127 -f 527/907/438 529/908/438 530/909/438 -f 517/910/198 530/909/198 518/893/198 -f 516/890/198 527/907/198 517/910/198 -f 526/911/439 532/912/439 531/913/439 -f 518/893/113 529/914/113 519/915/113 -f 522/899/440 534/916/440 523/917/440 -f 535/918/440 533/919/440 522/920/440 -f 515/921/127 534/916/127 525/922/127 -f 520/923/435 538/924/435 537/925/435 -f 533/919/439 539/926/439 540/927/439 -f 519/928/113 536/929/113 535/918/113 -f 524/900/113 532/930/113 542/931/113 -f 521/932/441 539/926/441 543/933/441 -f 543/934/127 544/935/127 538/924/127 -f 541/936/442 531/913/442 532/912/442 -f 523/917/435 541/937/435 524/900/435 -f 543/934/435 522/920/435 521/938/435 -f 538/924/435 535/918/435 543/934/435 -f 541/937/435 520/939/435 537/940/435 -f 542/941/439 533/942/439 540/943/439 -f 536/929/439 544/944/439 539/926/439 -f 532/912/439 534/916/439 542/941/439 -f 544/944/439 526/945/439 531/946/439 -f 546/947/127 548/948/127 545/949/127 -f 549/950/198 550/951/198 551/952/198 -f 553/953/113 555/954/113 552/955/113 -f 556/956/64 557/957/64 558/958/64 -f 553/959/198 560/960/198 561/961/198 -f 546/962/64 563/963/64 564/964/64 -f 546/947/127 565/965/127 547/966/127 -f 553/953/113 566/967/113 554/968/113 -f 568/969/443 570/970/443 567/971/443 -f 572/972/444 574/973/444 571/974/444 -f 575/975/445 565/965/445 564/976/445 -f 578/977/446 561/978/446 577/979/446 -f 576/980/447 568/981/447 565/965/447 -f 572/972/438 567/971/438 573/982/438 -f 569/983/448 575/975/448 570/970/448 -f 571/974/449 578/977/449 577/979/449 -f 578/977/450 573/984/450 566/967/450 -f 568/969/451 560/960/451 579/985/451 -f 560/960/452 572/972/452 561/961/452 -f 573/982/453 563/963/453 580/986/453 -f 563/963/454 567/971/454 564/964/454 -f 580/986/64 554/987/64 566/988/64 -f 557/957/64 556/956/64 580/986/64 -f 579/985/198 547/989/198 565/990/198 -f 550/951/198 549/950/198 579/985/198 -f 572/991/455 577/979/455 561/978/455 -f 565/990/456 568/969/456 579/985/456 -f 567/992/457 575/975/457 564/976/457 -f 566/988/458 573/982/458 580/986/458 -f 562/993/64 546/962/64 545/994/64 -f 559/995/198 553/959/198 552/996/198 -f 537/997/442 544/944/442 531/946/442 -f 521/998/441 542/941/441 540/943/441 -f 90/169/459 106/191/459 104/170/459 -f 119/180/460 124/182/460 197/333/460 -f 122/359/461 118/291/461 189/290/461 -f 113/292/462 118/291/462 114/999/462 -f 198/311/463 108/310/463 197/333/463 -f 124/182/464 121/185/464 123/358/464 -f 123/358/465 121/185/465 122/359/465 -f 89/155/69 97/161/69 96/287/69 -f 65/131/99 66/1000/99 67/132/99 -f 68/133/466 67/132/466 69/134/466 -f 70/135/467 69/134/467 71/136/468 -f 74/138/469 75/1001/469 76/139/469 -f 69/142/64 67/1002/64 78/143/64 -f 67/1002/64 66/1003/64 77/1004/64 -f 78/143/64 67/1002/64 77/1004/64 -f 78/143/64 79/1005/64 71/141/64 -f 76/144/470 75/1006/471 80/145/471 -f 78/147/472 77/150/472 83/148/472 -f 77/150/69 66/1007/69 65/151/69 -f 84/152/473 85/1008/473 86/153/473 -f 89/155/71 88/163/71 82/149/474 -f 91/156/475 92/1009/475 93/157/475 -f 95/159/476 92/1009/476 91/156/476 -f 97/161/69 89/155/69 83/148/69 -f 98/162/477 82/149/478 88/163/477 -f 100/165/76 101/1010/76 102/166/76 -f 105/168/479 91/202/479 90/169/479 -f 104/170/480 106/191/480 107/171/480 -f 112/173/481 111/223/481 110/174/481 -f 117/178/482 113/1011/482 114/1012/482 -f 114/1012/483 115/176/483 117/178/483 -f 98/162/484 99/164/484 118/179/484 -f 119/1013/113 108/172/113 120/181/113 -f 108/172/485 107/171/485 120/181/485 -f 107/171/486 84/183/487 120/181/486 -f 76/144/488 81/146/489 121/185/489 -f 81/146/490 118/179/490 121/185/490 -f 118/179/127 122/1014/127 121/185/127 -f 73/140/88 87/154/88 86/153/88 -f 127/189/491 85/1015/491 84/183/492 -f 128/190/493 127/189/494 107/171/494 -f 81/146/495 80/145/495 129/192/496 -f 98/162/497 129/192/498 79/193/499 -f 94/196/99 130/203/99 96/197/99 -f 68/199/500 132/213/500 131/200/500 -f 91/202/101 105/168/101 130/203/101 -f 133/204/102 92/210/102 95/205/102 -f 132/206/501 95/205/501 134/207/501 -f 135/209/502 93/1016/502 92/210/502 -f 131/200/105 134/216/105 97/211/105 -f 70/212/503 133/217/503 132/213/503 -f 90/158/504 93/157/504 135/214/504 -f 134/216/505 95/159/505 94/160/505 -f 70/212/506 72/215/506 135/214/506 -f 136/218/507 111/223/508 137/219/508 -f 102/166/113 139/251/113 140/221/509 -f 141/222/510 137/219/510 111/223/510 -f 142/224/511 110/174/511 111/223/511 -f 144/225/512 112/173/512 109/175/512 -f 145/227/513 146/231/513 144/228/513 -f 147/230/514 148/234/514 146/231/514 -f 142/224/121 136/218/121 115/232/121 -f 100/165/515 103/167/515 148/234/515 -f 150/235/516 149/253/516 137/219/516 -f 151/236/124 152/245/124 153/237/124 -f 155/239/517 158/247/517 157/240/517 -f 159/242/518 141/222/518 112/173/518 -f 115/232/127 136/218/519 138/220/520 -f 146/231/521 156/241/521 159/244/521 -f 103/167/522 140/221/523 155/239/524 -f 148/234/525 155/239/525 156/241/525 -f 151/236/526 205/328/526 204/322/526 -f 116/177/527 115/176/527 152/245/527 -f 151/236/526 204/322/526 116/177/526 -f 161/246/528 160/249/135 157/240/135 -f 158/247/136 162/252/529 163/248/530 -f 160/249/139 165/278/139 164/250/139 -f 139/251/113 166/1017/113 162/252/531 -f 138/220/532 137/219/533 149/253/533 -f 164/255/534 150/235/534 141/222/534 -f 152/243/127 138/220/535 167/254/536 -f 156/241/537 157/240/537 164/250/537 -f 140/221/538 162/252/539 158/247/540 -f 168/257/127 169/263/541 170/258/127 -f 165/260/542 174/1018/542 173/261/542 -f 169/263/162 175/266/543 176/264/544 -f 153/237/153 168/1019/153 177/265/153 -f 150/235/154 172/262/154 175/266/545 -f 162/252/546 166/1017/113 178/267/113 -f 149/253/158 175/266/547 169/263/548 -f 164/255/161 165/260/161 172/262/161 -f 167/254/549 169/263/550 168/257/127 -f 170/268/163 176/275/163 179/269/163 -f 182/271/113 183/308/113 184/272/113 -f 185/274/164 179/269/164 176/275/164 -f 186/277/551 174/1020/551 165/278/551 -f 163/248/552 181/282/553 187/279/553 -f 161/246/554 187/279/555 186/277/555 -f 177/265/171 168/1019/171 171/280/171 -f 173/261/556 176/264/556 175/266/557 -f 178/267/113 182/1021/113 181/282/113 -f 105/168/558 104/170/559 100/283/560 -f 99/164/561 142/289/562 114/285/178 -f 147/284/563 145/286/563 130/203/563 -f 145/286/564 143/1022/564 96/197/564 -f 96/287/565 143/1023/565 109/288/565 -f 88/163/566 110/293/566 142/289/567 -f 89/155/568 109/288/568 110/293/568 -f 104/170/569 108/172/188 101/294/188 -f 193/295/190 185/274/190 173/276/190 -f 171/297/127 170/268/127 180/270/127 -f 186/299/191 191/304/191 193/300/191 -f 181/273/192 184/272/192 190/302/192 -f 187/303/193 190/302/193 191/304/193 -f 188/305/570 171/297/570 194/298/570 -f 196/307/195 192/309/195 183/308/195 -f 188/305/196 195/306/196 192/309/196 -f 199/313/198 200/339/198 201/314/198 -f 202/316/199 196/319/199 182/317/199 -f 177/265/200 188/281/200 196/319/200 -f 166/320/201 203/321/201 202/316/201 -f 154/238/202 177/265/202 202/316/202 -f 204/322/571 205/328/571 139/323/571 -f 234/325/572 235/388/573 584/326/574 -f 205/328/206 203/321/206 166/320/206 -f 151/236/207 154/238/207 203/321/207 -f 102/324/575 101/1024/575 199/329/575 -f 101/1024/576 198/1025/576 199/329/576 -f 197/330/577 124/1026/577 206/331/577 -f 126/186/578 121/185/578 73/194/578 -f 121/185/211 120/181/211 73/194/211 -f 120/181/579 125/184/579 87/187/579 -f 492/334/212 503/595/212 354/335/212 -f 206/331/213 207/350/213 208/337/213 -f 200/339/214 208/364/214 209/340/214 -f 198/332/213 206/331/213 200/338/213 -f 189/342/580 113/345/580 210/343/580 -f 113/345/216 117/1027/216 201/346/216 -f 212/347/217 213/360/217 214/348/217 -f 207/350/218 211/352/218 214/348/218 -f 206/331/581 124/1026/581 211/352/581 -f 123/353/219 212/347/219 211/349/219 -f 210/343/216 201/346/216 209/355/216 -f 210/343/224 216/356/224 212/357/224 -f 213/360/222 217/361/222 215/351/222 -f 217/361/223 218/363/223 219/362/223 -f 216/356/216 209/355/216 218/363/216 -f 216/356/224 217/361/224 213/360/224 -f 208/364/225 220/374/225 221/365/225 -f 207/350/213 215/351/213 219/362/213 -f 221/366/127 223/383/127 224/367/127 -f 218/363/226 222/368/226 225/369/226 -f 208/337/113 219/362/113 225/369/113 -f 209/355/127 221/366/127 222/368/127 -f 226/371/113 227/376/113 228/372/113 -f 220/374/227 226/384/227 223/375/227 -f 220/370/113 225/369/113 227/376/113 -f 222/368/228 224/381/228 227/377/228 -f 231/378/127 232/398/582 233/379/583 -f 224/381/230 230/389/230 228/382/230 -f 223/383/127 231/378/127 230/380/127 -f 226/384/231 229/386/231 231/385/231 -f 229/386/232 234/395/232 232/387/232 -f 229/373/113 228/372/113 235/388/584 -f 230/389/235 233/392/235 235/390/235 -f 584/391/236 235/390/585 233/392/236 -f 582/394/237 232/387/237 234/395/237 -f 581/397/586 233/379/587 232/398/588 -f 236/400/127 237/1028/127 238/401/127 -f 238/403/589 240/1029/589 241/404/589 -f 240/406/113 242/1030/113 243/407/113 -f 242/409/590 237/1031/590 236/410/590 -f 241/404/242 244/422/242 245/412/242 -f 247/413/243 248/430/243 249/414/243 -f 239/402/127 245/424/127 247/416/127 -f 241/408/113 243/407/113 246/417/113 -f 236/410/244 247/413/244 246/415/244 -f 249/419/113 251/426/113 252/420/113 -f 244/422/245 250/432/245 253/423/245 -f 244/418/113 246/417/113 249/419/113 -f 245/424/127 253/1032/127 248/425/127 -f 251/426/591 254/446/591 255/427/591 -f 248/425/127 253/1032/127 256/428/127 -f 248/430/247 257/1033/247 251/431/247 -f 250/432/248 252/439/248 256/433/248 -f 258/434/592 259/442/250 260/435/250 -f 257/429/593 256/428/593 261/437/593 -f 251/431/253 257/1033/253 258/434/594 -f 252/439/256 255/1034/256 261/440/256 -f 263/441/257 260/435/257 259/442/257 -f 261/440/595 255/1034/595 263/444/595 -f 254/446/259 260/1035/259 263/447/259 -f 258/438/260 261/437/260 262/448/260 -f 117/178/261 116/177/261 204/322/261 -f 79/450/262 264/459/262 265/451/262 -f 129/453/64 80/456/64 127/454/64 -f 80/456/64 75/458/64 85/457/64 -f 75/458/263 74/138/263 86/153/263 -f 72/137/596 71/136/597 128/190/598 -f 264/459/262 266/472/262 267/460/262 -f 71/452/599 265/451/270 268/461/270 -f 79/450/600 129/485/601 270/463/602 -f 128/465/273 272/473/273 273/466/273 -f 266/468/64 274/474/64 275/469/64 -f 273/471/603 274/1036/275 266/472/275 -f 272/473/273 275/469/273 274/474/273 -f 265/451/277 267/460/277 275/469/277 -f 277/475/278 278/495/278 279/476/278 -f 71/452/604 269/462/605 277/478/605 -f 265/451/606 272/473/606 276/479/606 -f 128/465/607 277/478/270 276/479/270 -f 271/480/284 281/487/284 282/481/284 -f 79/450/608 271/464/286 280/483/286 -f 264/459/609 280/483/610 283/484/610 -f 129/485/611 273/471/490 283/484/292 -f 284/486/163 285/492/163 282/481/163 -f 271/488/64 270/1037/64 284/486/64 -f 283/489/293 285/492/293 284/486/293 -f 280/491/198 282/481/198 285/492/198 -f 286/494/192 287/497/192 279/476/192 -f 268/496/198 276/1038/198 279/476/198 -f 268/498/294 287/497/294 286/494/294 -f 269/500/64 286/494/64 278/495/64 -f 180/503/612 179/1039/613 184/504/612 -f 179/1039/614 185/1040/615 190/1041/616 -f 184/504/612 179/1039/617 190/1041/612 -f 185/1040/618 193/1042/198 191/1043/619 -f 191/1043/620 190/1041/616 185/1040/621 -f 184/504/198 183/1044/198 194/502/198 -f 183/1044/198 192/1045/198 195/1046/198 -f 194/502/198 183/1044/198 195/1046/198 -f 289/505/113 290/1047/113 291/506/113 -f 293/508/295 294/511/295 295/509/295 -f 294/511/296 296/1048/296 297/512/296 -f 296/513/297 298/516/297 299/514/297 -f 298/516/298 300/518/298 301/517/298 -f 300/518/299 302/520/299 303/519/299 -f 302/520/300 304/525/300 305/521/300 -f 296/523/113 294/1049/113 304/524/113 -f 294/1049/113 293/1050/113 304/524/113 -f 293/1050/113 306/1051/113 304/524/113 -f 304/524/113 302/1052/113 300/1053/113 -f 300/1053/113 298/522/113 304/524/113 -f 304/525/301 306/527/301 307/526/301 -f 306/527/302 293/508/302 292/510/302 -f 309/528/303 310/1054/303 311/529/303 -f 311/529/304 310/1054/304 312/531/304 -f 313/532/305 312/531/305 314/533/305 -f 314/533/306 316/1055/306 317/535/306 -f 317/535/307 316/1055/307 309/536/307 -f 318/538/308 319/1056/308 310/539/308 -f 310/539/309 319/1056/309 320/541/309 -f 312/531/310 320/541/310 321/542/310 -f 321/542/311 322/1057/311 316/543/311 -f 316/543/622 322/1057/622 318/544/622 -f 323/546/313 324/549/313 319/547/313 -f 324/549/314 325/558/314 320/541/314 -f 320/541/315 325/558/315 326/550/315 -f 326/550/316 327/1058/316 322/551/316 -f 322/551/623 327/1058/623 323/552/623 -f 328/554/624 329/557/624 324/555/624 -f 329/557/319 330/559/319 325/558/319 -f 330/559/320 331/560/320 326/550/320 -f 331/560/321 332/1059/321 327/561/321 -f 327/561/322 332/1059/322 328/562/322 -f 328/564/323 333/1060/323 334/565/323 -f 329/566/324 334/565/324 335/567/324 -f 335/567/325 336/575/325 331/560/325 -f 331/560/326 336/575/326 337/568/326 -f 337/568/625 333/1061/625 328/570/625 -f 333/571/328 338/1062/328 339/572/328 -f 339/572/626 340/574/626 335/567/626 -f 340/574/330 341/583/330 336/575/330 -f 336/575/331 341/583/331 342/576/331 -f 342/576/627 338/1063/627 333/578/627 -f 338/579/333 308/1064/333 311/580/333 -f 311/580/334 313/582/334 340/574/334 -f 313/582/335 315/1065/335 341/583/335 -f 341/583/336 315/1065/336 317/584/336 -f 317/584/337 308/1066/337 338/586/337 -f 496/587/338 346/603/338 345/588/338 -f 492/334/339 349/336/339 348/590/339 -f 499/592/340 500/596/340 344/593/340 -f 499/592/341 343/594/341 354/335/341 -f 495/589/342 345/588/342 344/593/342 -f 351/597/343 352/619/343 353/598/343 -f 505/600/344 491/591/344 348/590/344 -f 496/587/343 505/1067/343 347/602/343 -f 356/604/345 357/625/345 358/605/345 -f 360/607/212 361/620/212 362/608/212 -f 364/610/342 355/618/342 365/611/342 -f 350/613/344 353/1068/344 367/614/344 -f 359/609/341 362/608/341 356/616/341 -f 368/617/340 356/616/340 355/618/340 -f 363/612/338 365/611/338 352/619/338 -f 366/615/339 367/614/339 361/620/339 -f 370/621/212 371/646/212 372/622/212 -f 356/624/346 362/1069/346 369/623/346 -f 367/626/347 373/637/347 370/621/347 -f 353/628/628 352/639/628 374/629/628 -f 355/631/349 358/605/349 376/632/349 -f 361/634/629 370/621/629 369/623/629 -f 353/636/630 375/1070/630 373/637/630 -f 365/638/352 376/632/352 374/629/352 -f 377/640/353 378/644/353 379/641/353 -f 376/632/338 377/640/338 383/643/338 -f 357/625/340 384/645/340 378/644/340 -f 369/623/341 372/622/341 384/645/341 -f 373/637/339 382/651/339 371/646/339 -f 358/605/342 378/644/342 377/640/342 -f 386/647/341 387/674/341 388/648/341 -f 371/646/354 389/1071/354 386/650/354 -f 382/651/631 381/1072/631 390/652/631 -f 383/643/356 377/640/356 380/654/356 -f 384/645/632 393/843/632 394/656/632 -f 379/657/633 378/644/633 394/656/633 -f 382/651/634 391/653/634 389/659/634 -f 383/643/635 392/655/635 390/660/635 -f 397/662/64 398/1073/64 399/663/64 -f 391/665/339 396/664/339 400/666/339 -f 392/668/343 401/676/343 397/669/343 -f 379/671/342 402/677/342 403/672/342 -f 389/667/212 400/666/212 387/674/212 -f 390/675/344 397/662/344 396/664/344 -f 380/673/338 403/672/338 401/676/338 -f 385/649/340 388/648/340 402/677/340 -f 405/678/338 406/705/338 407/679/338 -f 403/672/64 408/1074/64 409/681/64 -f 388/648/64 410/1075/64 411/682/64 -f 388/648/64 387/674/64 404/683/64 -f 400/666/64 396/664/64 399/685/64 -f 397/669/64 401/676/64 409/687/64 -f 403/672/64 402/677/64 411/689/64 -f 400/666/64 405/1076/64 404/691/64 -f 407/693/64 406/1077/64 412/1078/64 -f 412/1078/64 413/1079/64 407/693/64 -f 413/1079/64 414/694/64 407/693/64 -f 414/694/64 415/1080/64 416/1081/64 -f 416/1081/64 417/692/64 414/694/64 -f 398/695/340 413/1082/340 412/696/340 -f 408/698/212 415/708/212 414/699/212 -f 410/701/344 417/704/344 416/702/344 -f 404/680/343 407/679/343 417/704/343 -f 399/697/342 412/696/342 406/705/342 -f 409/700/341 414/699/341 413/706/341 -f 411/703/339 416/702/339 415/708/339 -f 426/709/636 427/743/636 428/710/636 -f 425/712/362 429/741/362 427/713/362 -f 426/715/637 375/1083/637 431/716/637 -f 432/718/364 433/1084/364 434/719/364 -f 436/721/365 432/1085/365 435/720/365 -f 430/717/366 431/716/366 434/719/366 -f 438/724/367 439/728/367 440/725/367 -f 436/727/368 437/722/368 439/728/368 -f 419/730/369 418/714/369 427/713/369 -f 420/732/370 430/738/370 433/733/370 -f 423/735/371 436/1086/371 438/736/371 -f 419/730/372 426/731/372 430/738/372 -f 421/734/373 433/733/373 432/739/373 -f 424/737/374 438/736/374 429/741/374 -f 429/742/375 440/725/375 428/710/375 -f 422/740/376 432/739/376 436/744/376 -f 439/728/339 441/750/339 442/746/339 -f 440/725/212 442/746/212 443/747/212 -f 435/720/343 444/751/343 445/748/343 -f 431/716/342 446/754/342 447/749/342 -f 437/722/344 445/748/344 441/750/344 -f 434/719/338 447/749/338 444/751/338 -f 445/748/377 444/751/377 448/752/377 -f 446/754/378 450/763/378 451/755/378 -f 443/747/379 442/746/379 452/756/379 -f 441/750/638 454/1087/638 452/758/638 -f 445/748/381 449/1088/381 454/759/381 -f 443/747/639 453/757/639 455/760/639 -f 446/754/640 381/1089/640 455/762/640 -f 444/751/641 447/749/641 451/764/641 -f 455/766/340 456/785/340 457/767/340 -f 458/769/642 459/1090/642 460/770/642 -f 451/772/338 462/777/338 463/773/338 -f 448/774/343 463/773/343 464/775/343 -f 450/768/342 457/767/342 462/777/342 -f 452/778/212 458/782/212 465/779/212 -f 454/781/339 459/784/339 458/782/339 -f 449/783/344 464/1091/344 459/784/344 -f 453/780/341 465/779/341 456/785/341 -f 461/786/212 467/1092/212 468/787/212 -f 459/789/386 464/1093/386 469/790/386 -f 465/792/387 466/814/387 470/793/387 -f 457/795/388 456/1094/388 470/796/388 -f 462/798/643 472/817/643 473/799/643 -f 463/801/390 473/818/390 469/802/390 -f 462/804/644 457/1095/644 471/805/644 -f 458/807/645 461/786/645 466/788/645 -f 474/809/393 475/1096/393 476/810/393 -f 460/770/339 478/825/339 467/812/339 -f 469/790/344 479/826/344 478/813/344 -f 466/814/341 468/1097/341 480/815/341 -f 470/796/340 480/829/340 481/816/340 -f 472/817/338 475/1096/338 474/809/338 -f 473/818/343 474/1098/343 479/819/343 -f 471/805/342 481/823/342 475/820/342 -f 487/828/64 482/824/64 483/821/64 -f 483/821/64 484/827/64 485/822/64 -f 485/822/64 477/811/64 476/810/64 -f 476/810/64 486/830/64 487/828/64 -f 487/828/64 483/821/64 476/810/64 -f 479/819/394 474/1098/394 477/811/394 -f 481/823/395 486/830/395 476/810/395 -f 468/787/396 467/1092/396 483/821/396 -f 478/825/397 484/827/397 483/821/397 -f 479/826/398 485/822/398 484/827/398 -f 480/815/399 468/1097/399 482/824/399 -f 480/829/400 487/828/400 486/830/400 -f 431/831/401 374/842/401 383/832/401 -f 428/834/402 443/838/402 382/835/402 -f 393/843/646 488/845/646 395/658/646 -f 393/843/647 489/846/647 490/844/647 -f 384/645/648 372/622/648 489/846/648 -f 386/847/649 490/844/649 489/846/649 -f 385/848/650 379/1099/650 395/658/650 -f 385/848/651 488/845/651 490/844/651 -f 494/850/413 366/1100/413 360/851/413 -f 497/853/414 498/864/414 363/854/414 -f 501/856/652 502/1101/652 368/857/652 -f 504/859/653 359/866/653 368/860/653 -f 506/862/417 350/1102/417 366/863/417 -f 498/864/654 501/856/654 364/858/654 -f 493/852/655 360/1103/655 359/866/655 -f 506/862/420 497/853/420 351/867/420 -f 496/869/656 507/872/656 508/870/656 -f 507/872/343 497/853/343 506/862/343 -f 503/873/657 492/1104/657 509/874/657 -f 510/875/423 509/874/423 493/852/423 -f 500/876/658 511/879/658 512/877/658 -f 511/879/425 501/856/425 498/864/425 -f 491/880/659 505/1105/659 508/870/659 -f 508/870/344 506/862/344 494/850/344 -f 499/882/660 503/873/660 510/875/660 -f 499/884/661 514/1106/661 511/879/661 -f 495/885/662 512/877/662 507/872/662 -f 512/877/338 498/864/338 497/853/338 -f 491/887/663 513/881/663 509/874/663 -f 513/881/339 494/850/339 493/852/339 -f 504/889/431 515/902/431 516/890/431 -f 516/890/664 517/910/664 514/892/664 -f 518/893/433 519/915/433 501/894/433 -f 519/896/665 520/1107/665 502/897/665 -f 522/899/435 523/917/435 524/900/435 -f 502/897/665 520/1107/665 515/902/665 -f 514/892/664 517/910/664 518/893/664 -f 526/903/438 527/907/438 528/904/438 -f 516/890/127 515/902/127 525/906/127 -f 527/907/438 526/903/438 529/908/438 -f 517/910/198 527/907/198 530/909/198 -f 516/890/198 528/904/198 527/907/198 -f 526/911/439 525/922/439 532/912/439 -f 518/893/113 530/909/113 529/914/113 -f 522/899/440 533/942/440 534/916/440 -f 535/918/440 536/929/440 533/919/440 -f 515/921/127 523/917/127 534/916/127 -f 520/923/435 519/928/435 538/924/435 -f 533/919/439 536/929/439 539/926/439 -f 519/928/113 529/1108/113 536/929/113 -f 524/900/113 541/937/113 532/930/113 -f 521/932/441 540/927/441 539/926/441 -f 543/934/127 539/1109/127 544/935/127 -f 541/936/442 537/1110/442 531/913/442 -f 523/917/435 515/921/435 541/937/435 -f 543/934/435 535/918/435 522/920/435 -f 538/924/435 519/928/435 535/918/435 -f 541/937/435 515/921/435 520/939/435 -f 542/941/439 534/916/439 533/942/439 -f 536/929/439 529/1108/439 544/944/439 -f 532/912/439 525/922/439 534/916/439 -f 544/944/439 529/1108/439 526/945/439 -f 546/947/127 547/966/127 548/948/127 -f 551/952/198 548/1111/198 549/950/198 -f 548/1111/198 547/989/198 549/950/198 -f 553/953/113 554/968/113 555/954/113 -f 558/958/64 555/1112/64 556/956/64 -f 555/1112/64 554/987/64 556/956/64 -f 553/959/198 559/995/198 560/960/198 -f 546/962/64 562/993/64 563/963/64 -f 546/947/127 564/976/127 565/965/127 -f 553/953/113 561/978/113 566/967/113 -f 568/969/443 569/983/443 570/970/443 -f 572/972/444 573/982/444 574/973/444 -f 575/975/445 576/980/445 565/965/445 -f 578/977/446 566/967/446 561/978/446 -f 576/980/666 569/1113/666 568/981/666 -f 572/972/438 568/969/438 567/971/438 -f 569/983/448 576/980/448 575/975/448 -f 571/974/449 574/973/449 578/977/449 -f 578/977/667 574/1114/667 573/984/667 -f 568/969/451 572/972/451 560/960/451 -f 573/982/453 567/971/453 563/963/453 -f 580/986/64 556/956/64 554/987/64 -f 580/986/64 563/963/64 557/957/64 -f 563/963/64 562/993/64 557/957/64 -f 579/985/198 549/950/198 547/989/198 -f 579/985/198 560/960/198 550/951/198 -f 560/960/198 559/995/198 550/951/198 -f 572/991/668 571/1115/668 577/979/668 -f 567/992/669 570/1116/669 575/975/669 -f 545/994/64 558/958/64 562/993/64 -f 558/958/64 557/957/64 562/993/64 -f 552/996/198 551/952/198 559/995/198 -f 551/952/198 550/951/198 559/995/198 -f 537/997/442 538/1117/442 544/944/442 -f 521/998/441 524/1118/441 542/941/441 -f 90/169/670 72/137/670 106/191/670 -f 124/182/464 120/181/464 121/185/464 +vn -0.2163 -0.9063 0.3630 +vt 0.187482 0.431554 +vt 0.156855 0.444483 +vt 0.154582 0.431555 +vt 0.181530 0.456662 +vt 0.160534 0.456663 +vt 0.181530 0.470033 +vt 0.160534 0.470034 +vt 0.156855 0.482213 +vt 0.187482 0.495142 +vt 0.154582 0.495142 +vt 0.208478 0.431554 +vt 0.177852 0.444483 +vt 0.175578 0.431554 +vt 0.202527 0.456662 +vt 0.202527 0.470033 +vt 0.177852 0.482213 +vt 0.208479 0.495141 +vt 0.175579 0.495142 +vt 0.229475 0.431554 +vt 0.198848 0.444483 +vt 0.196575 0.431554 +vt 0.227202 0.444483 +vt 0.223523 0.470033 +vt 0.198849 0.482213 +vt 0.229475 0.495141 +vt 0.196575 0.495142 +vt 0.250472 0.431554 +vt 0.219845 0.444483 +vt 0.217572 0.431554 +vt 0.248198 0.444483 +vt 0.223523 0.456662 +vt 0.244520 0.456662 +vt 0.244520 0.470033 +vt 0.219845 0.482212 +vt 0.250472 0.495141 +vt 0.217572 0.495141 +vt 0.238569 0.431554 +vt 0.269195 0.444483 +vt 0.240842 0.444483 +vt 0.265517 0.456662 +vt 0.269195 0.482213 +vt 0.240842 0.482212 +vt 0.238568 0.495141 +vt 0.259565 0.431554 +vt 0.290192 0.444483 +vt 0.261838 0.444483 +vt 0.286513 0.456663 +vt 0.265517 0.470033 +vt 0.290191 0.482213 +vt 0.261838 0.482212 +vt 0.259565 0.495141 +vt 0.280562 0.431554 +vt 0.311188 0.444483 +vt 0.282835 0.444483 +vt 0.307510 0.456663 +vt 0.286513 0.470033 +vt 0.311188 0.482213 +vt 0.282835 0.482213 +vt 0.280561 0.495142 +vt 0.185209 0.444483 +vt 0.185209 0.482213 +vt 0.206205 0.444482 +vt 0.206205 0.482213 +vt 0.227202 0.482212 +vt 0.248198 0.482212 +vt 0.271468 0.431554 +vt 0.271468 0.495142 +vt 0.292465 0.431554 +vt 0.292465 0.495142 +vt 0.313461 0.431555 +vt 0.307510 0.470034 +vt 0.313461 0.495142 +s 0 +f 615/1115/678 617/1116/678 614/1117/678 +f 617/1116/679 618/1118/679 619/1119/679 +f 619/1119/680 620/1120/680 621/1121/680 +f 620/1120/681 623/1122/681 621/1121/681 +f 623/1122/682 615/1123/682 614/1124/682 +f 624/1125/683 616/1126/683 615/1127/683 +f 616/1126/684 626/1128/684 618/1118/684 +f 618/1118/685 627/1129/685 620/1120/685 +f 627/1129/686 622/1130/686 620/1120/686 +f 622/1130/687 624/1131/687 615/1132/687 +f 629/1133/688 625/1134/688 624/1135/688 +f 630/1136/689 626/1128/689 625/1134/689 +f 626/1128/690 632/1137/690 627/1129/690 +f 632/1137/691 628/1138/691 627/1129/691 +f 628/1138/692 629/1139/692 624/1140/692 +f 634/1141/693 630/1142/693 629/1143/693 +f 635/1144/694 631/1145/694 630/1142/694 +f 636/1146/695 632/1137/695 631/1145/695 +f 637/1147/696 633/1148/696 632/1137/696 +f 633/1148/697 634/1149/697 629/1150/697 +f 634/1151/698 640/1152/698 635/1153/698 +f 635/1153/699 641/1154/699 636/1146/699 +f 641/1154/700 637/1147/700 636/1146/700 +f 637/1147/701 643/1155/701 638/1156/701 +f 643/1155/702 634/1157/702 638/1156/702 +f 639/1158/703 645/1159/703 640/1160/703 +f 645/1159/704 641/1154/704 640/1160/704 +f 646/1161/705 642/1162/705 641/1154/705 +f 642/1162/706 648/1163/706 643/1164/706 +f 648/1163/707 639/1165/707 643/1164/707 +f 644/1166/708 617/1167/708 645/1168/708 +f 617/1167/709 646/1161/709 645/1168/709 +f 619/1169/710 647/1170/710 646/1161/710 +f 647/1170/711 623/1171/711 648/1172/711 +f 623/1171/712 644/1173/712 648/1172/712 +f 615/1115/678 616/1174/678 617/1116/678 +f 617/1116/679 616/1174/679 618/1118/679 +f 619/1119/680 618/1118/680 620/1120/680 +f 620/1120/681 622/1175/681 623/1122/681 +f 623/1122/682 622/1175/682 615/1123/682 +f 624/1125/683 625/1176/683 616/1126/683 +f 616/1126/684 625/1176/684 626/1128/684 +f 618/1118/685 626/1128/685 627/1129/685 +f 627/1129/686 628/1177/686 622/1130/686 +f 622/1130/687 628/1177/687 624/1131/687 +f 629/1133/688 630/1136/688 625/1134/688 +f 630/1136/689 631/1145/689 626/1128/689 +f 626/1128/713 631/1145/713 632/1137/713 +f 632/1137/691 633/1178/691 628/1138/691 +f 628/1138/714 633/1178/714 629/1139/714 +f 634/1141/693 635/1144/693 630/1142/693 +f 635/1144/694 636/1146/694 631/1145/694 +f 636/1146/695 637/1147/695 632/1137/695 +f 637/1147/696 638/1179/696 633/1148/696 +f 633/1148/697 638/1179/697 634/1149/697 +f 634/1151/698 639/1180/698 640/1152/698 +f 635/1153/699 640/1152/699 641/1154/699 +f 641/1154/700 642/1162/700 637/1147/700 +f 637/1147/701 642/1162/701 643/1155/701 +f 643/1155/715 639/1181/715 634/1157/715 +f 639/1158/703 644/1182/703 645/1159/703 +f 645/1159/704 646/1161/704 641/1154/704 +f 646/1161/705 647/1170/705 642/1162/705 +f 642/1162/706 647/1170/706 648/1163/706 +f 648/1163/716 644/1183/716 639/1165/716 +f 644/1166/708 614/1184/708 617/1167/708 +f 617/1167/709 619/1169/709 646/1161/709 +f 619/1169/710 621/1185/710 647/1170/710 +f 647/1170/711 621/1185/711 623/1171/711 +f 623/1171/717 614/1186/717 644/1173/717 +o GuardOuter +v -0.171766 0.857316 0.902020 +v -0.171766 0.884188 0.902020 +v -0.171766 0.857316 0.868866 +v -0.171766 0.884188 0.868866 +v 0.171766 0.857316 0.902020 +v 0.171766 0.884188 0.902020 +v 0.171766 0.857316 0.868866 +v 0.171766 0.884188 0.868866 +v -0.202507 0.857316 0.868866 +v -0.202507 0.857316 0.902020 +v -0.202507 0.884188 0.902020 +v -0.202507 0.884188 0.868866 +v 0.202507 0.884188 0.868866 +v 0.202507 0.857316 0.868866 +v 0.202507 0.857316 0.902020 +v 0.202507 0.884188 0.902020 +v -0.171766 0.884188 -0.072626 +v -0.171766 0.857316 -0.072626 +v 0.171766 0.884188 -0.072626 +v 0.171766 0.857316 -0.072626 +v -0.202507 0.884188 -0.072626 +v -0.202507 0.857316 -0.072626 +v 0.202507 0.884188 -0.072626 +v 0.202507 0.857316 -0.072626 +vn -0.0000 -1.0000 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn -0.0000 1.0000 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn -1.0000 -0.0000 -0.0000 +vn 1.0000 -0.0000 -0.0000 +vt 0.107481 0.515568 +vt 0.100711 0.826566 +vt 0.100711 0.515568 +vt 0.200617 0.674832 +vt 0.204562 0.504617 +vt 0.204562 0.674832 +vt 0.189902 0.504617 +vt 0.196672 0.515568 +vt 0.189902 0.515568 +vt 0.196672 0.690063 +vt 0.200617 0.519848 +vt 0.200617 0.690063 +vt 0.025060 0.515568 +vt 0.100711 0.504617 +vt 0.114251 0.515568 +vt 0.002510 0.987540 +vt 0.006455 0.971113 +vt 0.006455 0.987540 +vt 0.006455 0.521044 +vt 0.010401 0.504617 +vt 0.010401 0.521044 +vt 0.107481 0.504617 +vt 0.114251 0.504617 +vt 0.196672 0.705295 +vt 0.018291 0.504617 +vt 0.025060 0.504617 +vt 0.010401 0.971113 +vt 0.014346 0.504617 +vt 0.014346 0.971113 +vt 0.196672 0.519848 +vt 0.200617 0.504617 +vt 0.196672 0.735759 +vt 0.200617 0.720527 +vt 0.200617 0.735759 +vt 0.200617 0.705295 +vt 0.196672 0.720527 +vt 0.002510 0.971113 +vt 0.006455 0.504617 +vt 0.018291 0.826566 +vt 0.018291 0.515568 +vt 0.006455 0.987540 +vt 0.018291 0.504617 +vt 0.014346 0.504617 +vt 0.107481 0.826566 +vt 0.189902 0.826566 +vt 0.200617 0.504617 +vt 0.196672 0.504617 +vt 0.010401 0.504617 +vt 0.002510 0.504617 +vt 0.025060 0.826566 +vt 0.010401 0.987540 +vt 0.018291 0.971113 +vt 0.114251 0.826566 +vt 0.196672 0.826566 +s 0 +f 657/1187/718 666/1188/718 651/1189/718 +f 652/1190/719 655/1191/719 651/1192/719 +f 654/1193/720 661/1194/720 656/1195/720 +f 654/1196/721 649/1197/721 653/1198/721 +f 655/1199/718 649/1200/718 651/1189/718 +f 652/1201/720 654/1193/720 656/1195/720 +f 659/1202/722 657/1203/722 658/1204/722 +f 661/1205/723 663/1206/723 662/1207/723 +f 652/1201/720 659/1208/720 650/1209/720 +f 649/1200/718 657/1187/718 651/1189/718 +f 653/1198/721 664/1210/721 654/1196/721 +f 655/1199/718 663/1211/718 653/1212/718 +f 656/1213/722 668/1214/722 655/1215/722 +f 650/1216/721 658/1217/721 649/1197/721 +f 667/1218/719 672/1219/719 668/1220/719 +f 666/1221/719 669/1222/719 665/1210/719 +f 660/1223/722 670/1224/722 657/1203/722 +f 655/1199/718 672/1225/718 662/1226/718 +f 662/1207/723 671/1227/723 661/1205/723 +f 651/1228/723 665/1215/723 652/1229/723 +f 652/1201/720 669/1230/720 660/1187/720 +f 661/1194/720 667/1231/720 656/1195/720 +f 657/1187/718 670/1230/718 666/1188/718 +f 652/1190/719 656/1232/719 655/1191/719 +f 654/1193/720 664/1233/720 661/1194/720 +f 654/1196/721 650/1216/721 649/1197/721 +f 655/1199/718 653/1212/718 649/1200/718 +f 652/1201/720 650/1209/720 654/1193/720 +f 659/1202/722 660/1223/722 657/1203/722 +f 661/1205/723 664/1224/723 663/1206/723 +f 652/1201/720 660/1187/720 659/1208/720 +f 649/1200/718 658/1208/718 657/1187/718 +f 653/1198/721 663/1221/721 664/1210/721 +f 655/1199/718 662/1226/718 663/1211/718 +f 656/1213/722 667/1234/722 668/1214/722 +f 650/1216/721 659/1233/721 658/1217/721 +f 667/1218/719 671/1222/719 672/1219/719 +f 666/1221/719 670/1219/719 669/1222/719 +f 660/1223/722 669/1235/722 670/1224/722 +f 655/1199/718 668/1236/718 672/1225/718 +f 662/1207/723 672/1237/723 671/1227/723 +f 651/1228/723 666/1238/723 665/1215/723 +f 652/1201/720 665/1239/720 669/1230/720 +f 661/1194/720 671/1240/720 667/1231/720 +o GuardInner +v 0.161860 0.857316 -0.061518 +v 0.161860 0.884188 -0.061518 +v -0.161860 0.857316 -0.061518 +v -0.161860 0.884188 -0.061518 +v 0.057255 0.857316 0.868866 +v -0.057255 0.857316 0.868866 +v -0.057255 0.884188 0.868866 +v 0.057255 0.884188 0.868866 +v 0.057255 0.884188 -0.053868 +v -0.057255 0.884188 -0.053868 +v -0.057255 0.857316 -0.053868 +v 0.057255 0.857316 -0.053868 +v 0.057255 0.857316 0.852620 +v -0.057255 0.857316 0.852620 +v -0.057255 0.884188 0.852620 +v 0.057255 0.884188 0.852620 +v 0.161860 0.857316 0.844969 +v -0.161860 0.857316 0.844969 +v -0.161860 0.884188 0.844969 +v 0.161860 0.884188 0.844969 +vn -0.0000 1.0000 -0.0000 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 -1.0000 -0.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn -0.0729 -0.0000 -0.9973 +vn 0.0729 -0.0000 -0.9973 +vn 0.0729 -0.0000 0.9973 +vn -0.0729 -0.0000 0.9973 +vt 0.005903 0.898813 +vt 0.226808 0.941986 +vt 0.005903 0.941986 +vt 0.333177 0.981424 +vt 0.001820 0.988178 +vt 0.001820 0.981424 +vt 0.007826 0.737326 +vt 0.226808 0.776764 +vt 0.005903 0.776764 +vt 0.001820 0.994932 +vt 0.333177 0.988178 +vt 0.333177 0.994932 +vt 0.007826 0.859375 +vt 0.226808 0.898813 +vt 0.084431 0.737326 +vt 0.041258 0.730572 +vt 0.084431 0.730572 +vt 0.001820 0.737326 +vt 0.041258 0.737326 +vt 0.123869 0.730572 +vt 0.001820 0.898813 +vt 0.001820 0.941986 +vt 0.226808 0.819937 +vt 0.005903 0.819937 +vt 0.163307 0.737326 +vt 0.170061 0.731201 +vt 0.170061 0.737326 +vt 0.001820 0.776764 +vt 0.001820 0.819937 +vt 0.176815 0.731201 +vt 0.170061 0.737326 +vt 0.170061 0.731201 +vt 0.007826 0.981424 +vt 0.163307 0.730572 +vt 0.123869 0.737326 +vt 0.041258 0.730572 +vt 0.001820 0.723818 +vt 0.041258 0.723818 +vt 0.333177 0.988178 +vt 0.228731 0.737326 +vt 0.001820 0.988178 +vt 0.228731 0.859375 +vt 0.001820 0.730572 +vt 0.163307 0.731201 +vt 0.176815 0.737326 +vt 0.228731 0.981424 +s 0 +f 688/1241/724 682/1242/724 687/1243/724 +f 673/1244/725 692/1245/725 689/1246/725 +f 690/1247/726 683/1248/726 686/1249/726 +f 676/1250/727 690/1251/727 691/1252/727 +f 692/1253/724 681/1254/724 688/1241/724 +f 682/1255/728 684/1256/728 683/1257/728 +f 674/1258/729 684/1256/729 681/1259/729 +f 675/1260/730 682/1255/730 683/1257/730 +f 680/1261/724 687/1243/724 679/1262/724 +f 686/1249/726 684/1263/726 685/1264/726 +f 679/1265/727 686/1266/727 678/1267/727 +f 678/1268/726 685/1264/726 677/1269/726 +f 677/1270/725 688/1271/725 680/1272/725 +f 684/1263/726 689/1253/726 685/1264/726 +f 682/1242/724 691/1273/724 687/1243/724 +f 689/1274/731 688/1275/731 685/1260/731 +f 687/1276/732 690/1277/732 686/1278/732 +f 688/1241/724 681/1254/724 682/1242/724 +f 673/1244/725 674/1279/725 692/1245/725 +f 690/1247/726 675/1280/726 683/1248/726 +f 676/1250/727 675/1281/727 690/1251/727 +f 692/1253/724 674/1282/724 681/1254/724 +f 682/1255/728 681/1259/728 684/1256/728 +f 674/1258/729 673/1283/729 684/1256/729 +f 675/1260/730 676/1275/730 682/1255/730 +f 680/1261/724 688/1241/724 687/1243/724 +f 686/1249/726 683/1248/726 684/1263/726 +f 679/1265/727 687/1284/727 686/1266/727 +f 678/1268/726 686/1249/726 685/1264/726 +f 677/1270/725 685/1285/725 688/1271/725 +f 684/1263/726 673/1282/726 689/1253/726 +f 682/1242/724 676/1286/724 691/1273/724 +f 689/1274/731 692/1265/731 688/1275/731 +f 687/1276/732 691/1283/732 690/1277/732 +o ShellFore +v 0.000000 1.558350 1.603447 +v 0.132625 1.613285 1.603447 +v 0.187560 1.745910 1.603447 +v 0.132625 1.878535 1.603447 +v 0.000000 1.933470 1.603447 +v -0.132625 1.878535 1.603447 +v -0.187560 1.745910 1.603447 +v -0.132625 1.613285 1.603447 +v 0.000000 1.601210 1.727859 +v 0.102318 1.643592 1.727859 +v 0.144700 1.745910 1.727859 +v 0.102318 1.848228 1.727859 +v 0.000000 1.890610 1.727859 +v -0.102318 1.848228 1.727859 +v -0.144700 1.745910 1.727859 +v -0.102318 1.643592 1.727859 +v 0.000000 1.745910 1.805015 +v 0.000000 1.558350 1.273779 +v 0.132625 1.613285 1.273779 +v 0.187560 1.745910 1.273779 +v 0.132625 1.878535 1.273779 +v 0.000000 1.933470 1.273779 +v -0.132625 1.878535 1.273779 +v -0.187560 1.745910 1.273779 +v -0.132625 1.613285 1.273779 +vn 0.3647 0.8804 0.3033 +vn -0.3827 -0.9239 -0.0000 +vn -0.8804 -0.3647 0.3033 +vn 0.8804 -0.3647 0.3033 +vn -0.3647 0.8804 0.3033 +vn -0.3647 -0.8804 0.3033 +vn 0.3647 -0.8804 0.3033 +vn 0.8804 0.3647 0.3033 +vn -0.8804 0.3647 0.3033 +vn 0.1913 -0.4618 0.8661 +vn 0.4618 -0.1913 0.8661 +vn 0.4618 0.1913 0.8661 +vn 0.1913 0.4618 0.8661 +vn -0.1913 0.4618 0.8661 +vn -0.4618 0.1913 0.8661 +vn -0.4618 -0.1913 0.8661 +vn -0.1913 -0.4618 0.8661 +vn -0.9239 -0.3827 -0.0000 +vn -0.9239 0.3827 -0.0000 +vn -0.3827 0.9239 -0.0000 +vn 0.3827 0.9239 -0.0000 +vn 0.9239 0.3827 -0.0000 +vn 0.9239 -0.3827 -0.0000 +vn 0.3827 -0.9239 -0.0000 +vt 0.166016 0.792597 +vt 0.207433 0.792597 +vt 0.041764 0.902716 +vt 0.000347 0.792597 +vt 0.041764 0.792597 +vt 0.083181 0.792597 +vt 0.248850 0.792597 +vt 0.290267 0.792597 +vt 0.124598 0.792597 +vt 0.331685 0.792597 +vt 0.916016 0.888455 +vt 0.972926 0.872501 +vt 0.916016 0.833984 +vt 0.996499 0.833984 +vt 0.972926 0.795468 +vt 0.916016 0.779514 +vt 0.859106 0.795468 +vt 0.835533 0.833984 +vt 0.859106 0.872501 +vt 0.083181 0.902716 +vt 0.124598 0.902716 +vt 0.166016 0.902716 +vt 0.207433 0.902716 +vt 0.248850 0.902716 +vt 0.290267 0.902716 +vt 0.331685 0.902716 +vt 0.000347 0.902716 +s 0 +f 697/1287/733 704/1288/733 696/1288/733 +f 717/1289/734 693/1290/734 700/1291/734 +f 699/1292/735 708/1291/735 707/1292/735 +f 695/1293/736 702/1294/736 694/1294/736 +f 698/1295/737 705/1287/737 697/1287/737 +f 700/1291/738 701/1290/738 708/1291/738 +f 694/1294/739 701/1296/739 693/1296/739 +f 696/1288/740 703/1293/740 695/1293/740 +f 698/1295/741 707/1292/741 706/1295/741 +f 701/1297/742 702/1298/742 709/1299/742 +f 702/1298/743 703/1300/743 709/1299/743 +f 703/1300/744 704/1301/744 709/1299/744 +f 704/1301/745 705/1302/745 709/1299/745 +f 705/1302/746 706/1303/746 709/1299/746 +f 706/1303/747 707/1304/747 709/1299/747 +f 707/1304/748 708/1305/748 709/1299/748 +f 708/1305/749 701/1297/749 709/1299/749 +f 716/1306/750 700/1291/750 699/1292/750 +f 715/1307/751 699/1292/751 698/1295/751 +f 714/1308/752 698/1295/752 697/1287/752 +f 713/1309/753 697/1287/753 696/1288/753 +f 712/1310/754 696/1288/754 695/1293/754 +f 711/1311/755 695/1293/755 694/1294/755 +f 710/1312/756 694/1294/756 693/1296/756 +f 697/1287/733 705/1287/733 704/1288/733 +f 717/1289/734 710/1313/734 693/1290/734 +f 699/1292/735 700/1291/735 708/1291/735 +f 695/1293/736 703/1293/736 702/1294/736 +f 698/1295/737 706/1295/737 705/1287/737 +f 700/1291/738 693/1290/738 701/1290/738 +f 694/1294/739 702/1294/739 701/1296/739 +f 696/1288/740 704/1288/740 703/1293/740 +f 698/1295/741 699/1292/741 707/1292/741 +f 716/1306/750 717/1289/750 700/1291/750 +f 715/1307/751 716/1306/751 699/1292/751 +f 714/1308/752 715/1307/752 698/1295/752 +f 713/1309/753 714/1308/753 697/1287/753 +f 712/1310/754 713/1309/754 696/1288/754 +f 711/1311/755 712/1310/755 695/1293/755 +f 710/1312/756 711/1311/756 694/1294/756 diff --git a/src/main/resources/assets/hbm/models/weapons/cursed.obj b/src/main/resources/assets/hbm/models/weapons/cursed.obj index 6a0f56ad9..ab664cadc 100644 --- a/src/main/resources/assets/hbm/models/weapons/cursed.obj +++ b/src/main/resources/assets/hbm/models/weapons/cursed.obj @@ -1,1632 +1,293 @@ -# Blender v2.79 (sub 0) OBJ File: 'cursed.blend' +# Blender 4.0.1 # www.blender.org -o Cube.011_Cube.026 -v -3.478718 1.138718 0.014552 -v -3.801282 1.138718 -0.014552 -v -3.478718 1.138718 -0.014552 -v -3.478718 1.461282 0.014552 -v -3.478718 1.423807 0.011171 -v -3.478718 1.423807 -0.011171 -v -3.478718 1.176193 -0.011171 -v -3.478718 1.176193 0.011171 -v -3.801282 1.314552 0.161282 -v -3.478718 1.285448 0.161282 -v -3.478718 1.314552 0.161282 -v -3.801282 1.461282 -0.014552 -v -3.801282 1.423807 -0.011171 -v -3.801282 1.423807 0.011171 -v -3.801282 1.138718 0.014552 -v -3.801282 1.176193 0.011171 -v -3.801282 1.176193 -0.011171 -v -3.801282 1.461282 0.014552 -v -3.478718 1.461282 -0.014552 -v -3.801282 1.314552 -0.161282 -v -3.478718 1.418306 -0.118306 -v -3.478718 1.314552 -0.161282 -v -3.801282 1.418306 -0.118306 -v -3.801282 1.418306 0.118306 -v -3.478718 1.418306 0.118306 -v -3.478718 1.285448 -0.161282 -v -3.801282 1.181694 -0.118306 -v -3.801282 1.285448 -0.161282 -v -3.478718 1.181694 -0.118306 -v -3.801282 1.285448 0.161282 -v -3.478718 1.181694 0.118306 -v -3.801282 1.181694 0.118306 -v -3.478718 1.311171 0.123807 -v -3.801282 1.288829 0.123807 -v -3.801282 1.311171 0.123807 -v -3.801282 1.390817 -0.090817 -v -3.478718 1.311171 -0.123807 -v -3.478718 1.390817 -0.090817 -v -3.478718 1.390817 0.090817 -v -3.801282 1.390817 0.090817 -v -3.478718 1.288829 -0.123807 -v -3.801282 1.209183 -0.090817 -v -3.478718 1.209183 -0.090817 -v -3.801282 1.209183 0.090817 -v -3.478718 1.288829 0.123807 -v -3.478718 1.209183 0.090817 -v -3.801282 1.311171 -0.123807 -v -3.801282 1.288829 -0.123807 -vt 0.588344 0.422031 -vt 0.590616 0.396347 -vt 0.590616 0.422031 -vt 0.816190 0.537904 -vt 0.810508 0.548747 -vt 0.803793 0.545966 -vt 0.767283 0.631233 -vt 0.772965 0.620390 -vt 0.779680 0.623172 -vt 0.404454 0.586481 -vt 0.402136 0.560797 -vt 0.404454 0.560797 -vt 0.556937 0.482545 -vt 0.559591 0.483935 -vt 0.558910 0.485579 -vt 0.579779 0.494514 -vt 0.577125 0.493124 -vt 0.577806 0.491480 -vt 0.587488 0.577888 -vt 0.589806 0.552204 -vt 0.589806 0.577888 -vt 0.589806 0.526521 -vt 0.598067 0.552204 -vt 0.589806 0.552204 -vt 0.598067 0.577888 -vt 0.412715 0.586481 -vt 0.579227 0.552204 -vt 0.579227 0.577888 -vt 0.587488 0.552204 -vt 0.579227 0.526521 -vt 0.587488 0.526521 -vt 0.598051 0.422031 -vt 0.598051 0.396347 -vt 0.402136 0.586481 -vt 0.393875 0.560797 -vt 0.579574 0.396347 -vt 0.579574 0.422031 -vt 0.560711 0.557920 -vt 0.560053 0.548419 -vt 0.560711 0.548419 -vt 0.497042 0.578916 -vt 0.496384 0.569415 -vt 0.497042 0.569415 -vt 0.506272 0.569862 -vt 0.506918 0.579363 -vt 0.506272 0.579363 -vt 0.563051 0.509766 -vt 0.560705 0.500265 -vt 0.563051 0.500265 -vt 0.509408 0.569862 -vt 0.509408 0.579363 -vt 0.499388 0.578916 -vt 0.504161 0.569862 -vt 0.560047 0.500265 -vt 0.557701 0.509766 -vt 0.557701 0.500265 -vt 0.563057 0.557920 -vt 0.494038 0.569415 -vt 0.496384 0.578916 -vt 0.494038 0.578916 -vt 0.557707 0.548419 -vt 0.560053 0.557920 -vt 0.557707 0.557920 -vt 0.560705 0.509766 -vt 0.588344 0.396347 -vt 0.755915 0.565797 -vt 0.745072 0.560115 -vt 0.775747 0.545966 -vt 0.770907 0.534281 -vt 0.807442 0.534281 -vt 0.842024 0.563739 -vt 0.842024 0.600274 -vt 0.830339 0.568579 -vt 0.830339 0.596625 -vt 0.827558 0.603340 -vt 0.838401 0.609022 -vt 0.812566 0.634856 -vt 0.807726 0.623172 -vt 0.776031 0.634856 -vt 0.741449 0.605398 -vt 0.741449 0.568863 -vt 0.753133 0.600559 -vt 0.753133 0.572512 -vt 0.558910 0.492443 -vt 0.563764 0.497297 -vt 0.562373 0.499950 -vt 0.556050 0.493627 -vt 0.556050 0.484686 -vt 0.563260 0.476222 -vt 0.572202 0.476222 -vt 0.564445 0.479082 -vt 0.571309 0.479082 -vt 0.572952 0.479762 -vt 0.574343 0.477109 -vt 0.580666 0.483431 -vt 0.577806 0.484616 -vt 0.580666 0.492373 -vt 0.573456 0.500837 -vt 0.564514 0.500837 -vt 0.572271 0.497977 -vt 0.565407 0.497977 -vt 0.587488 0.552204 -vt 0.598067 0.526521 -vt 0.412715 0.560797 -vt 0.579227 0.552204 -vt 0.393875 0.586481 -vt 0.506918 0.569862 -vt 0.499388 0.569415 -vt 0.504161 0.579363 -vt 0.560047 0.509766 -vt 0.563057 0.548419 -vn 0.0000 -0.9808 0.1951 -vn 0.0000 -0.9808 -0.1951 -vn 1.0000 0.0000 0.0000 -vn 0.0000 0.1951 0.9808 -vn 0.0000 -0.1951 0.9808 -vn -1.0000 -0.0000 0.0000 -vn 0.0000 0.9808 0.1951 -vn 0.0000 0.9808 -0.1951 -vn 0.0000 0.1951 -0.9808 -vn 0.0000 0.7071 -0.7071 -vn 0.0000 0.7071 0.7071 -vn 0.0000 -0.1951 -0.9808 -vn 0.0000 -0.7071 -0.7071 -vn 0.0000 -0.7071 0.7071 -s 1 -f 1/1/1 2/2/2 3/3/2 -f 4/4/3 5/5/3 6/6/3 -f 3/7/3 7/8/3 8/9/3 -f 9/10/4 10/11/5 11/12/4 -f 12/13/6 13/14/6 14/15/6 -f 15/16/6 16/17/6 17/18/6 -f 18/19/7 19/20/8 12/21/8 -f 20/22/9 21/23/10 22/24/9 -f 23/25/10 19/20/8 21/23/10 -f 11/12/4 24/26/11 9/10/4 -f 25/27/11 18/19/7 24/28/11 -f 26/29/12 27/30/13 28/31/12 -f 29/32/13 2/2/2 27/33/13 -f 30/34/5 31/35/14 10/11/5 -f 32/36/14 1/1/1 31/37/14 -f 22/24/9 28/31/12 20/22/9 -f 17/38/7 8/39/8 7/40/7 -f 33/41/12 34/42/9 35/43/12 -f 14/44/2 6/45/1 5/46/2 -f 36/47/14 37/48/5 38/49/14 -f 6/45/1 36/50/14 38/51/14 -f 35/43/12 39/52/13 33/41/12 -f 5/46/2 40/53/13 14/44/2 -f 41/54/4 42/55/11 43/56/11 -f 7/40/7 42/57/11 17/38/7 -f 44/58/10 45/59/9 46/60/10 -f 46/61/10 16/62/8 44/63/10 -f 47/64/5 41/54/4 37/48/5 -f 1/1/1 15/65/1 2/2/2 -f 37/66/3 22/67/3 38/68/3 -f 22/67/3 21/69/3 38/68/3 -f 21/69/3 19/70/3 38/68/3 -f 19/70/3 4/4/3 6/6/3 -f 25/71/3 11/72/3 39/73/3 -f 11/72/3 33/74/3 39/73/3 -f 6/6/3 38/68/3 19/70/3 -f 4/4/3 25/71/3 39/73/3 -f 4/4/3 39/73/3 5/5/3 -f 45/75/3 33/74/3 11/72/3 -f 11/72/3 10/76/3 45/75/3 -f 10/76/3 31/77/3 46/78/3 -f 45/75/3 10/76/3 46/78/3 -f 31/77/3 1/79/3 46/78/3 -f 1/79/3 3/7/3 8/9/3 -f 46/78/3 1/79/3 8/9/3 -f 29/80/3 26/81/3 43/82/3 -f 26/81/3 22/67/3 41/83/3 -f 43/82/3 26/81/3 41/83/3 -f 22/67/3 37/66/3 41/83/3 -f 29/80/3 43/82/3 3/7/3 -f 43/82/3 7/8/3 3/7/3 -f 9/10/4 30/34/5 10/11/5 -f 40/84/6 35/85/6 9/86/6 -f 24/87/6 18/88/6 40/84/6 -f 18/88/6 12/13/6 14/15/6 -f 23/89/6 20/90/6 36/91/6 -f 20/90/6 47/92/6 36/91/6 -f 40/84/6 9/86/6 24/87/6 -f 14/15/6 40/84/6 18/88/6 -f 12/13/6 23/89/6 36/91/6 -f 12/13/6 36/91/6 13/14/6 -f 48/93/6 47/92/6 20/90/6 -f 20/90/6 28/94/6 48/93/6 -f 28/94/6 27/95/6 42/96/6 -f 48/93/6 28/94/6 42/96/6 -f 27/95/6 2/97/6 42/96/6 -f 2/97/6 15/16/6 17/18/6 -f 42/96/6 2/97/6 17/18/6 -f 32/98/6 30/99/6 44/100/6 -f 30/99/6 9/86/6 34/101/6 -f 44/100/6 30/99/6 34/101/6 -f 9/86/6 35/85/6 34/101/6 -f 32/98/6 44/100/6 15/16/6 -f 44/100/6 16/17/6 15/16/6 -f 18/19/7 4/102/7 19/20/8 -f 20/22/9 23/103/10 21/23/10 -f 23/25/10 12/21/8 19/20/8 -f 11/12/4 25/104/11 24/26/11 -f 25/27/11 4/102/7 18/19/7 -f 26/29/12 29/105/13 27/30/13 -f 29/32/13 3/3/2 2/2/2 -f 30/34/5 32/106/14 31/35/14 -f 32/36/14 15/65/1 1/1/1 -f 22/24/9 26/29/12 28/31/12 -f 17/38/7 16/62/8 8/39/8 -f 33/41/12 45/59/9 34/42/9 -f 14/44/2 13/107/1 6/45/1 -f 36/47/14 47/64/5 37/48/5 -f 6/45/1 13/107/1 36/50/14 -f 35/43/12 40/108/13 39/52/13 -f 5/46/2 39/109/13 40/53/13 -f 41/54/4 48/110/4 42/55/11 -f 7/40/7 43/111/11 42/57/11 -f 44/58/10 34/42/9 45/59/9 -f 46/61/10 8/39/8 16/62/8 -f 47/64/5 48/110/4 41/54/4 -o Cube.010_Cube.024 -v -1.174927 0.285547 0.087560 -v -1.174927 0.514453 -0.087560 -v -1.174927 0.285547 -0.087560 -v -1.174927 0.514453 0.087560 -v -1.234927 0.743360 -0.087560 -v -1.115006 0.267911 -0.117540 -v -1.115006 0.530655 -0.117540 -v -0.765073 0.056640 -0.117540 -v -1.170759 0.743360 0.117540 -v -0.765073 0.743360 0.117540 -v -0.765073 0.743360 -0.117540 -v -1.115006 0.530655 0.117540 -v -1.115006 0.267911 0.117540 -v -0.765073 0.056640 0.117540 -v -1.234927 0.076640 0.087560 -v -1.234927 0.076640 -0.087560 -v -1.170726 0.073908 -0.117540 -v -1.170759 0.743360 -0.117540 -v -1.170726 0.073908 0.117540 -v -1.234927 0.743360 0.087560 -vt 0.390067 0.372535 -vt 0.406128 0.365349 -vt 0.406128 0.372535 -vt 0.390067 0.365349 -vt 0.406128 0.358191 -vt 0.790352 0.332178 -vt 0.790352 0.323929 -vt 0.806409 0.338811 -vt 0.698608 0.414236 -vt 0.698608 0.432852 -vt 0.677048 0.432852 -vt 0.770203 0.441932 -vt 0.770203 0.433683 -vt 0.786260 0.427050 -vt 0.743140 0.410105 -vt 0.721579 0.388545 -vt 0.743140 0.388545 -vt 0.745889 0.383929 -vt 0.761950 0.383929 -vt 0.764700 0.386876 -vt 0.350295 0.400769 -vt 0.350102 0.394125 -vt 0.352852 0.394678 -vt 0.330144 0.511110 -vt 0.329953 0.503923 -vt 0.332703 0.504432 -vt 0.350294 0.379751 -vt 0.350102 0.386938 -vt 0.347349 0.379751 -vt 0.352852 0.386429 -vt 0.330146 0.490092 -vt 0.329953 0.496736 -vt 0.327200 0.490178 -vt 0.332703 0.496183 -vt 0.390067 0.379122 -vt 0.406128 0.379122 -vt 0.390067 0.358191 -vt 0.787794 0.317251 -vt 0.806409 0.317251 -vt 0.787795 0.338269 -vt 0.677048 0.414236 -vt 0.679797 0.411291 -vt 0.695858 0.411291 -vt 0.786260 0.448610 -vt 0.767644 0.448610 -vt 0.767646 0.427592 -vt 0.721579 0.410105 -vt 0.764700 0.405498 -vt 0.743140 0.405498 -vt 0.743140 0.386876 -vt 0.347349 0.400683 -vt 0.327200 0.511110 -vn -0.9902 0.1394 0.0000 -vn -0.9918 -0.1278 0.0000 -vn -0.9673 -0.2535 0.0000 -vn -0.2023 0.0306 -0.9788 -vn -0.2051 -0.0283 -0.9783 -vn -0.0000 0.0000 -1.0000 -vn 0.0000 1.0000 0.0000 -vn -0.2051 -0.0283 0.9783 -vn -0.2023 0.0306 0.9788 +o Body +v 0.039030 0.270865 -0.182602 +v -0.039030 0.270865 -0.182602 +v -0.039030 0.270865 -0.049612 +v 0.048496 0.137875 -0.049612 +v -0.048496 0.137875 -0.049612 +v -0.048496 0.137875 -0.182602 +v 0.048496 0.137875 -0.182602 +v 0.048496 0.257886 -0.182602 +v 0.048496 0.257886 -0.049612 +v -0.048496 0.257886 -0.182602 +v -0.048496 0.257886 -0.049612 +v 0.049569 0.280590 -0.050319 +v 0.049569 0.273108 0.054217 +v -0.049569 0.273108 0.054217 +v -0.056483 0.269999 -0.050488 +v -0.056483 0.147028 0.042790 +v -0.056483 0.137805 -0.036642 +v -0.049569 0.280590 -0.050319 +v 0.056483 0.269999 -0.050488 +v 0.056483 0.113015 0.066739 +v -0.056483 0.113015 0.066739 +v -0.056483 0.110740 0.072738 +v 0.052553 0.210653 0.115466 +v -0.052553 0.210653 0.115466 +v -0.049569 0.215450 0.117517 +v 0.052553 0.115536 0.074789 +v 0.052553 0.118481 0.067903 +v 0.052553 0.213598 0.108580 +v 0.056483 0.147028 0.042790 +v 0.056483 0.110740 0.072738 +v 0.056483 0.206509 0.113693 +v 0.049569 0.215450 0.117517 +v 0.056483 0.137805 -0.036642 +v 0.056483 0.137656 -0.052596 +v 0.056483 0.127617 0.025928 +v -0.056483 0.127617 0.025928 +v -0.056483 0.206509 0.113693 +v -0.052553 0.115536 0.074789 +v -0.052553 0.213598 0.108580 +v -0.052553 0.118481 0.067903 +v 0.056483 0.262485 0.053254 +v -0.056484 0.262485 0.053254 +v 0.054976 0.110605 0.067119 +v 0.054976 0.097434 0.017005 +v 0.048309 0.097434 0.017005 +v -0.040425 -0.171169 -0.050457 +v 0.040425 -0.171169 -0.050457 +v 0.040425 0.137547 -0.132337 +v -0.054976 0.137698 -0.106903 +v 0.054976 0.138185 -0.025200 +v -0.054976 0.138185 -0.025200 +v 0.054976 -0.076166 -0.021181 +v 0.048309 -0.083769 -0.018789 +v 0.048309 -0.076166 -0.021181 +v -0.048309 -0.009356 -0.032415 +v -0.048309 0.110605 0.067119 +v -0.048309 -0.025374 -0.031131 +v 0.054976 -0.170719 -0.025102 +v 0.040425 -0.244821 -0.040275 +v -0.054976 0.097435 0.017007 +v -0.054976 0.110605 0.067119 +v -0.054976 -0.170125 0.008377 +v -0.054976 -0.076166 -0.021180 +v -0.048309 -0.083769 -0.018789 +v 0.048309 0.030025 -0.030106 +v 0.048309 0.044544 -0.026498 +v 0.054976 0.137698 -0.106903 +v 0.054976 0.037257 -0.029682 +v 0.054976 0.077314 -0.012178 +v 0.054976 0.115945 0.065739 +v 0.048309 0.110605 0.067119 +v -0.054976 0.129257 0.026818 +v 0.054976 0.129257 0.026818 +v -0.054976 -0.016638 -0.032842 +v -0.048309 -0.016638 -0.032842 +v -0.054976 0.037258 -0.029680 +v -0.048309 0.037258 -0.029680 +v -0.048309 0.030638 -0.030069 +v -0.048309 0.042828 -0.027246 +v -0.054976 0.077314 -0.012176 +v -0.048309 0.077314 -0.012176 +v 0.048309 -0.024239 -0.031355 +v 0.048309 -0.016638 -0.032844 +v 0.054976 -0.016638 -0.032844 +v 0.048309 0.037257 -0.029682 +v 0.048309 0.077314 -0.012178 +v -0.054976 -0.170719 -0.025102 +v 0.048309 -0.170125 0.008377 +v 0.054976 -0.170125 0.008377 +v 0.054976 -0.243777 0.018558 +v -0.048309 -0.083374 -0.018913 +v -0.048309 -0.069301 -0.022525 +v -0.048309 -0.076166 -0.021180 +v 0.048309 -0.068273 -0.022727 +v 0.048309 -0.008551 -0.032369 +v -0.048309 -0.080475 0.114660 +v -0.054976 -0.087095 0.114272 +v -0.048309 -0.085555 -0.001705 +v -0.048309 -0.092665 0.111837 +v 0.048309 -0.087359 -0.001395 +v 0.054976 -0.087095 0.114273 +v 0.048309 -0.094382 0.111089 +v 0.048309 -0.079862 0.114697 +v -0.048309 -0.020475 0.097993 +v -0.054976 -0.027095 0.097605 +v -0.048309 -0.025555 -0.018372 +v -0.048309 -0.032665 0.095171 +v 0.048309 -0.027359 -0.018062 +v 0.054976 -0.027095 0.097607 +v 0.048309 -0.034382 0.094422 +v 0.048309 -0.019863 0.098031 +v -0.048309 0.029525 0.081326 +v -0.054976 0.022905 0.080938 +v -0.048309 0.024445 -0.035038 +v -0.048309 0.017335 0.078504 +v 0.048309 0.022641 -0.034728 +v 0.054976 0.022905 0.080940 +v 0.048309 0.015618 0.077755 +v 0.048309 0.030138 0.081364 +v -0.030080 -0.025485 -0.404784 +v 0.030080 -0.025485 -0.404784 +v 0.030080 0.137827 -0.404784 +v -0.030080 0.137827 -0.404784 +v 0.030080 0.137827 -0.088828 +v -0.030080 0.034929 -0.324529 +v -0.030080 0.077413 -0.324529 +v 0.030080 0.034929 -0.128143 +v 0.030080 0.001589 -0.088828 +v 0.030080 0.077413 -0.128143 +v -0.030080 -0.025485 -0.135682 +v 0.030080 -0.025485 -0.135682 +v -0.030080 0.137827 -0.088828 +v -0.030080 0.077413 -0.128143 +v -0.030080 0.001589 -0.088828 +v -0.030080 0.034929 -0.128143 +v 0.030080 -0.002767 -0.259293 +v 0.030080 -0.002767 -0.193379 +v -0.030080 -0.002767 -0.193379 +v 0.030080 0.034929 -0.324529 +v 0.030080 0.115110 -0.259293 +v -0.030080 0.115110 -0.259293 +v -0.030080 0.115110 -0.193379 +v 0.030080 0.008274 -0.305422 +v -0.030080 -0.002767 -0.259293 +v -0.030080 0.008274 -0.305422 +v 0.030080 0.104069 -0.305422 +v -0.030080 0.104069 -0.305422 +v 0.030080 0.077413 -0.324529 +v 0.030080 0.104069 -0.147250 +v -0.030080 0.104069 -0.147250 +v 0.030080 0.115110 -0.193379 +v 0.030080 0.008274 -0.147250 +v -0.030080 0.008274 -0.147250 +v 0.030080 -0.006341 -0.121959 +v 0.030080 -0.017555 -0.102551 +v -0.030080 -0.006341 -0.121959 +v -0.030080 -0.017555 -0.102551 +v -0.024624 0.275376 0.024624 +v -0.024624 0.294019 0.009987 +v 0.024624 0.294019 0.009987 +v 0.024624 0.324625 0.009850 +v 0.015000 0.324625 0.009850 +v 0.015000 0.324625 -0.006291 +v -0.024624 0.324625 -0.006291 +v -0.015000 0.324625 -0.006291 +v -0.015000 0.324625 0.009850 +v 0.024624 0.275376 -0.006291 +v 0.015000 0.301667 -0.006291 +v -0.024624 0.275376 -0.006291 +v 0.024624 0.275376 0.009850 +v -0.024624 0.275376 0.009850 +v -0.015000 0.301667 0.009952 +v 0.015000 0.301667 0.009952 +v -0.015000 0.301667 -0.006291 +v -0.054976 -0.243777 0.018558 +v -0.048309 -0.243777 0.018558 +v -0.040425 -0.244821 -0.040275 +v -0.054976 -0.244371 -0.014920 +v -0.048309 -0.170125 0.008377 +v 0.048309 -0.243777 0.018558 +v 0.048309 -0.211199 0.142519 +v -0.048309 -0.137546 0.132337 +v -0.048309 -0.211199 0.142519 +v 0.048309 -0.137546 0.132337 +v 0.054976 -0.244371 -0.014920 +v 0.039030 0.270865 -0.049612 +v -0.056483 0.137656 -0.052596 +v -0.040425 0.137547 -0.132337 +v -0.048309 0.097435 0.017007 +v -0.054976 0.115945 0.065739 +v 0.024624 0.275376 0.024624 +v 0.024624 0.324625 -0.006291 +v -0.024624 0.324625 0.009850 +vn -0.0000 1.0000 -0.0000 +vn -0.0000 -1.0000 -0.0000 +vn 1.0000 -0.0000 -0.0000 vn -0.0000 -0.0000 1.0000 -vn 1.0000 0.0000 0.0000 -vn -0.0425 -0.9991 -0.0000 -vn -0.2440 0.0701 -0.9672 -vn -0.4337 0.0552 -0.8994 -vn -0.2494 -0.0654 0.9662 -vn -0.4357 -0.0512 0.8986 -vn -0.2494 -0.0654 -0.9662 -vn -0.4357 -0.0512 -0.8986 -vn -0.4207 -0.1103 -0.9005 -vn -0.2440 0.0701 0.9672 -vn -0.4337 0.0552 0.8994 -vn -0.4159 0.1195 0.9015 -vn -0.9611 0.2760 0.0000 -vn -0.4159 0.1195 -0.9015 -vn -0.4207 -0.1103 0.9005 -s 1 -f 49/112/15 50/113/16 51/114/15 -f 52/115/16 53/116/17 50/113/16 -f 54/117/18 55/118/19 56/119/20 -f 57/120/21 58/121/21 59/122/21 -f 60/123/22 61/124/23 62/125/24 -f 58/126/25 56/127/25 59/128/25 -f 63/129/26 64/130/26 65/131/26 -f 65/132/27 51/133/28 54/134/18 -f 57/135/29 52/136/30 60/137/22 -f 66/138/31 50/139/32 53/140/33 -f 55/141/19 51/133/28 50/139/32 -f 67/142/34 49/143/35 63/144/36 -f 60/137/22 49/143/35 61/145/23 -f 63/146/37 51/114/15 64/147/37 -f 49/112/15 52/115/16 50/113/16 -f 52/115/16 68/148/17 53/116/17 -f 55/118/19 66/149/31 59/150/20 -f 59/150/20 56/119/20 55/118/19 -f 56/119/20 65/151/27 54/117/18 -f 59/122/21 66/152/21 57/120/21 -f 66/152/21 53/153/21 57/120/21 -f 53/153/21 68/154/21 57/120/21 -f 62/125/24 58/155/24 60/123/22 -f 58/155/24 57/156/29 60/123/22 -f 61/124/23 67/157/34 62/125/24 -f 58/126/25 62/158/25 56/127/25 -f 65/131/26 56/159/26 62/160/26 -f 62/160/26 67/161/26 65/131/26 -f 67/161/26 63/129/26 65/131/26 -f 65/132/27 64/162/38 51/133/28 -f 57/135/29 68/163/39 52/136/30 -f 66/138/31 55/141/19 50/139/32 -f 55/141/19 54/134/18 51/133/28 -f 67/142/34 61/145/23 49/143/35 -f 60/137/22 52/136/30 49/143/35 -f 63/146/37 49/112/15 51/114/15 -o Cube.007_Cube.013 -v -2.844798 -0.068282 0.199844 -v -3.796744 -0.068282 -0.199844 -v -2.844798 -0.068282 -0.199844 -v -2.844798 -0.098655 0.199844 -v -3.796744 -0.098655 -0.199844 -v -2.844798 -0.098655 -0.199844 -v -3.796744 -0.068282 0.199844 -v -3.796744 -0.098655 0.199844 -v -3.801281 0.438718 0.161282 -v -3.801281 0.761282 -0.161282 -v -3.801281 0.438718 -0.161282 -v -3.801281 0.761282 0.161282 -v -3.478718 0.761282 -0.161282 -v -3.478718 0.761282 0.161282 -v -3.478718 0.438718 -0.161282 -v -3.478718 0.438718 0.161282 -v -3.802363 0.027636 0.121162 -v -3.802363 0.312364 -0.121162 -v -3.802363 0.027636 -0.121162 -v -3.802363 0.312364 0.121162 -v -3.517636 0.312364 -0.121162 -v -3.517636 0.312364 0.121162 -v -3.517636 0.027636 -0.121162 -v -3.517636 0.027636 0.121162 -v -3.795573 0.499668 0.015063 -v -3.804427 0.499668 -0.015063 -v -3.795573 0.499668 -0.015063 -v -3.795573 0.524643 -0.075357 -v -3.795573 0.584937 -0.100331 -v -3.795573 0.675357 -0.075357 -v -3.804427 0.615063 0.100332 -v -3.795573 0.584937 0.100332 -v -3.795573 0.615063 0.100332 -v -3.804427 0.675357 -0.075357 -v -3.804427 0.615063 -0.100331 -v -3.804427 0.524643 -0.075357 -v -3.804427 0.700332 0.015063 -v -3.795573 0.700332 -0.015063 -v -3.804427 0.700332 -0.015063 -v -3.795573 0.615063 -0.100331 -v -3.804427 0.675357 0.075357 -v -3.795573 0.675357 0.075357 -v -3.804427 0.584937 -0.100331 -v -3.804427 0.584937 0.100332 -v -3.795573 0.524643 0.075357 -v -3.804427 0.524643 0.075357 -v -3.804427 0.499668 0.015063 -v -3.795573 0.700332 0.015063 -v -3.796744 0.814074 0.286160 -v -2.444716 0.814074 -0.286160 -v -3.796744 0.814074 -0.286160 -v -2.214679 0.340615 0.245095 -v -2.214679 0.306616 0.269747 -v -2.214679 -0.098655 0.286160 -v -3.796744 0.408802 -0.269747 -v -3.796744 0.371850 -0.242954 -v -2.610195 -0.041399 0.286160 -v -2.610195 -0.155912 0.286160 -v -3.796744 0.408802 -0.286160 -v -2.444716 0.814074 0.286160 -v -3.796744 0.408802 0.286160 -v -2.247809 0.408802 0.286160 -v -2.229855 0.371850 0.242954 -v -2.216114 0.343568 0.242954 -v -2.216114 0.343568 -0.242954 -v -3.796744 0.408802 0.269747 -v -3.796744 0.371850 0.242954 -v -2.247809 0.408802 0.269747 -v -3.796744 0.343568 0.242954 -v -2.247809 0.408802 -0.269747 -v -2.247809 0.408802 -0.286160 -v -3.796744 0.306616 0.269747 -v -2.214679 0.306616 0.286160 -v -3.796744 0.306616 -0.269747 -v -2.214679 0.306616 -0.269747 -v -2.229855 0.371850 -0.242954 -v -3.796744 0.343568 -0.242954 -v -2.214679 0.306616 -0.286160 -v -2.214679 -0.098655 -0.286160 -v -2.610195 -0.041399 -0.286160 -v -2.214679 -0.198656 0.249967 -v -2.610195 -0.198656 -0.249967 -v -2.214679 -0.198656 -0.249967 -v -3.796744 0.306616 -0.286160 -v -2.610195 -0.098655 -0.250258 -v -2.610195 -0.155912 -0.286160 -v -2.610195 -0.098655 0.250258 -v -3.796744 -0.098655 -0.250258 -v -3.796744 -0.041399 -0.286160 -v -3.796744 -0.041399 0.286160 -v -3.796744 -0.098655 0.250258 -v -2.214679 -0.140935 0.286160 -v -2.610195 -0.198656 0.249967 -v -2.214679 0.340615 -0.245095 -v -3.796744 0.306616 0.286160 -v -2.214679 -0.140935 -0.286160 -vt 0.497093 0.546556 -vt 0.489787 0.555589 -vt 0.489787 0.546505 -vt 0.558621 0.611549 -vt 0.559091 0.621426 -vt 0.558621 0.621426 -vt 0.489470 0.555592 -vt 0.489470 0.546508 -vt 0.469847 0.629818 -vt 0.469377 0.638902 -vt 0.469377 0.629818 -vt 0.840276 0.397745 -vt 0.812280 0.369750 -vt 0.840276 0.369750 -vt 0.672301 0.547852 -vt 0.644305 0.519856 -vt 0.672301 0.519856 -vt 0.758120 0.546311 -vt 0.730125 0.518315 -vt 0.758120 0.518315 -vt 0.728292 0.544994 -vt 0.700297 0.516998 -vt 0.728292 0.516998 -vt 0.786116 0.512334 -vt 0.758120 0.540329 -vt 0.758120 0.512334 -vt 0.814112 0.512322 -vt 0.786116 0.540318 -vt 0.786116 0.512322 -vt 0.903571 0.559623 -vt 0.865925 0.521977 -vt 0.903571 0.521977 -vt 0.903571 0.521927 -vt 0.865925 0.484281 -vt 0.903571 0.484281 -vt 0.941217 0.559573 -vt 0.903571 0.521927 -vt 0.941217 0.521927 -vt 0.901107 0.443199 -vt 0.863461 0.405553 -vt 0.901107 0.405553 -vt 0.901107 0.367907 -vt 0.863461 0.367907 -vt 0.712878 0.532108 -vt 0.675232 0.569754 -vt 0.675232 0.532108 -vt 0.894503 0.935849 -vt 0.896659 0.921485 -vt 0.896659 0.935849 -vt 0.962007 0.841270 -vt 0.962007 0.836599 -vt 0.966136 0.831303 -vt 0.911963 0.936525 -vt 0.909807 0.922161 -vt 0.911963 0.922161 -vt 0.962007 0.827174 -vt 0.962007 0.822503 -vt 0.966136 0.817207 -vt 0.924171 0.933456 -vt 0.926328 0.919092 -vt 0.926328 0.933456 -vt 0.867931 0.923275 -vt 0.872247 0.937640 -vt 0.867931 0.937640 -vt 0.930644 0.933456 -vt 0.930644 0.919092 -vt 0.916280 0.936525 -vt 0.919855 0.919092 -vt 0.919855 0.933456 -vt 0.865775 0.937640 -vt 0.861459 0.923275 -vt 0.865775 0.923275 -vt 0.900975 0.935849 -vt 0.900975 0.921485 -vt 0.909807 0.936525 -vt 0.905491 0.922161 -vt 0.890187 0.921485 -vt 0.890187 0.935849 -vt 0.497093 0.555641 -vt 0.559091 0.611549 -vt 0.469847 0.638902 -vt 0.812280 0.397745 -vt 0.644305 0.547852 -vt 0.730125 0.546311 -vt 0.700297 0.544994 -vt 0.786116 0.540329 -vt 0.814112 0.540318 -vt 0.865925 0.559623 -vt 0.865925 0.521927 -vt 0.903571 0.559573 -vt 0.863461 0.443199 -vt 0.712878 0.569754 -vt 0.894503 0.921485 -vt 0.962833 0.834606 -vt 0.970808 0.831303 -vt 0.965311 0.844574 -vt 0.972800 0.832128 -vt 0.976103 0.835432 -vt 0.971975 0.845399 -vt 0.976103 0.840103 -vt 0.975278 0.842096 -vt 0.967303 0.845399 -vt 0.962833 0.820510 -vt 0.970808 0.817207 -vt 0.965311 0.830478 -vt 0.972800 0.818032 -vt 0.976103 0.821336 -vt 0.971975 0.831303 -vt 0.976103 0.826007 -vt 0.975278 0.828000 -vt 0.967303 0.831303 -vt 0.924171 0.919092 -vt 0.872247 0.923275 -vt 0.916280 0.922161 -vt 0.861459 0.937640 -vt 0.905491 0.936525 -vt 0.572622 0.567859 -vt 0.583320 0.554957 -vt 0.583320 0.567859 -vt 0.488526 0.563967 -vt 0.487917 0.563443 -vt 0.487511 0.557192 -vt 0.479648 0.573331 -vt 0.480220 0.573993 -vt 0.473368 0.572925 -vt 0.498951 0.544326 -vt 0.497757 0.544336 -vt 0.498354 0.540557 -vt 0.480222 0.617553 -vt 0.486502 0.630456 -vt 0.480222 0.630456 -vt 0.530689 0.627844 -vt 0.526463 0.640782 -vt 0.526463 0.626001 -vt 0.488579 0.564463 -vt 0.488579 0.564014 -vt 0.500587 0.564014 -vt 0.526163 0.640780 -vt 0.525288 0.640780 -vt 0.526163 0.625999 -vt 0.591673 0.554640 -vt 0.590868 0.554640 -vt 0.590798 0.554627 -vt 0.524993 0.640782 -vt 0.525288 0.625827 -vt 0.592139 0.596801 -vt 0.591839 0.611580 -vt 0.591839 0.596799 -vt 0.591673 0.539543 -vt 0.591980 0.554640 -vt 0.590256 0.596799 -vt 0.590828 0.611883 -vt 0.590256 0.611897 -vt 0.591267 0.596799 -vt 0.591839 0.611580 -vt 0.591267 0.611752 -vt 0.590828 0.596799 -vt 0.584740 0.640183 -vt 0.578460 0.640183 -vt 0.579347 0.636409 -vt 0.496650 0.540561 -vt 0.487511 0.544271 -vt 0.487511 0.540497 -vt 0.502261 0.608318 -vt 0.502568 0.593221 -vt 0.502568 0.608318 -vt 0.496363 0.628942 -vt 0.495475 0.628055 -vt 0.497250 0.628055 -vt 0.495475 0.642198 -vt 0.496363 0.641311 -vt 0.497250 0.642198 -vt 0.578460 0.625086 -vt 0.579347 0.625086 -vt 0.497698 0.544327 -vt 0.498951 0.555649 -vt 0.497698 0.555650 -vt 0.488549 0.544262 -vt 0.487511 0.556540 -vt 0.488406 0.555650 -vt 0.496650 0.544336 -vt 0.577573 0.636409 -vt 0.576911 0.640183 -vt 0.576911 0.636409 -vt 0.497912 0.628949 -vt 0.497912 0.641304 -vt 0.572622 0.554957 -vt 0.487511 0.563443 -vt 0.501655 0.557192 -vt 0.500640 0.563967 -vt 0.501655 0.563443 -vt 0.501249 0.563443 -vt 0.487511 0.584936 -vt 0.487511 0.586181 -vt 0.487041 0.584936 -vt 0.486624 0.587069 -vt 0.481231 0.587069 -vt 0.481231 0.586663 -vt 0.480659 0.586001 -vt 0.487511 0.573812 -vt 0.487511 0.575058 -vt 0.487041 0.575058 -vt 0.486624 0.572925 -vt 0.481231 0.573331 -vt 0.481231 0.572925 -vt 0.480659 0.573993 -vt 0.480220 0.586001 -vt 0.479648 0.586663 -vt 0.479648 0.587069 -vt 0.473368 0.587069 -vt 0.479648 0.572925 -vt 0.497913 0.540561 -vt 0.502580 0.540521 -vt 0.502580 0.555618 -vt 0.486502 0.615674 -vt 0.530689 0.640746 -vt 0.501655 0.565049 -vt 0.501655 0.571481 -vt 0.501249 0.565049 -vt 0.487511 0.571481 -vt 0.500587 0.564463 -vt 0.487511 0.565049 -vt 0.487917 0.565049 -vt 0.590798 0.539543 -vt 0.524993 0.625699 -vt 0.592139 0.611582 -vt 0.591980 0.539543 -vt 0.590783 0.611897 -vt 0.591839 0.596799 -vt 0.584740 0.625086 -vt 0.577805 0.640183 -vt 0.502261 0.593221 -vt 0.578460 0.636409 -vt 0.488549 0.555585 -vt 0.496776 0.546559 -vt 0.496776 0.555643 -vt 0.500760 0.555650 -vt 0.501655 0.556540 -vn 0.0000 -1.0000 -0.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 1.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 1.0000 0.0000 -vn 1.0000 0.0000 0.0000 -vn 0.0000 0.3827 -0.9239 -vn 0.0000 0.9239 -0.3827 -vn 0.0000 0.3827 0.9239 -vn 0.0000 0.9239 0.3827 -vn 0.0000 -0.3827 -0.9239 -vn 0.0000 -0.9239 -0.3827 -vn 0.0000 -0.3827 0.9239 -vn 0.0000 -0.9239 0.3827 -vn 0.9903 0.1390 0.0000 -vn 0.8995 0.4370 0.0000 -vn 0.8994 0.4371 0.0000 -vn 0.0000 -0.5870 0.8096 -vn 0.0000 0.5870 0.8096 -vn 0.0001 0.5869 0.8096 -vn 0.0000 0.5870 -0.8096 -vn 0.0000 -0.5870 -0.8096 -vn 0.0000 -0.5312 -0.8472 -vn 0.0000 -0.5312 0.8472 -vn 0.0183 -0.5419 0.8403 -vn 0.0022 -0.6345 0.7729 -vn 0.0000 -0.6462 0.7632 -vn 0.0022 -0.6345 -0.7729 -vn 0.0183 -0.5419 -0.8403 -vn 0.0000 -0.6462 -0.7632 -vn 0.0001 0.5869 -0.8096 -vn 0.0201 -0.5311 0.8471 -vn 0.0201 -0.5311 -0.8471 -s off -f 69/164/40 70/165/40 71/166/40 -f 71/167/41 72/168/41 69/169/41 -f 71/166/42 73/170/42 74/171/42 -f 75/172/43 72/173/43 76/174/43 -f 77/175/41 78/176/41 79/177/41 -f 80/178/44 81/179/44 78/180/44 -f 82/181/45 83/182/45 81/183/45 -f 84/184/40 79/185/40 83/186/40 -f 81/187/43 79/188/43 78/189/43 -f 80/190/42 84/191/42 82/192/42 -f 85/193/41 86/194/41 87/195/41 -f 88/196/44 89/197/44 86/198/44 -f 90/199/45 91/200/45 89/201/45 -f 92/202/40 87/203/40 91/204/40 -f 89/205/43 87/203/43 86/206/43 -f 88/207/42 92/208/42 90/209/42 -f 93/210/40 94/211/40 95/212/40 -f 96/213/45 97/214/45 98/215/45 -f 99/216/42 100/217/42 101/218/42 -f 102/219/41 103/220/41 104/221/41 -f 105/222/44 106/223/44 107/224/44 -f 103/225/46 98/226/46 108/227/46 -f 102/228/47 106/223/47 98/229/47 -f 101/218/48 109/230/48 99/216/48 -f 110/231/49 105/222/49 109/232/49 -f 97/233/50 104/234/50 111/235/50 -f 96/236/51 94/211/51 104/237/51 -f 112/238/52 113/239/52 100/217/52 -f 114/240/53 93/210/53 113/241/53 -f 108/227/43 111/235/43 103/225/43 -f 69/164/40 75/242/40 70/165/40 -f 71/167/41 74/243/41 72/168/41 -f 71/166/42 70/165/42 73/170/42 -f 75/172/43 69/244/43 72/173/43 -f 77/175/41 80/245/41 78/176/41 -f 80/178/44 82/246/44 81/179/44 -f 82/181/45 84/247/45 83/182/45 -f 84/184/40 77/248/40 79/185/40 -f 81/187/43 83/249/43 79/188/43 -f 80/190/42 77/250/42 84/191/42 -f 85/193/41 88/251/41 86/194/41 -f 88/196/44 90/252/44 89/197/44 -f 90/199/45 92/253/45 91/200/45 -f 92/202/40 85/254/40 87/203/40 -f 89/205/43 91/204/43 87/203/43 -f 88/207/42 85/255/42 92/208/42 -f 93/210/40 115/256/40 94/211/40 -f 97/214/45 108/257/45 98/215/45 -f 98/215/45 106/258/45 95/259/45 -f 106/258/45 116/260/45 95/259/45 -f 116/260/45 110/261/45 113/262/45 -f 110/261/45 101/263/45 113/262/45 -f 101/263/45 100/264/45 113/262/45 -f 113/262/45 93/265/45 116/260/45 -f 93/265/45 95/259/45 116/260/45 -f 95/259/45 96/213/45 98/215/45 -f 99/216/42 112/238/42 100/217/42 -f 103/220/41 111/266/41 104/221/41 -f 104/221/41 94/267/41 107/268/41 -f 94/267/41 115/269/41 107/268/41 -f 115/269/41 114/270/41 109/271/41 -f 114/270/41 112/272/41 109/271/41 -f 112/272/41 99/273/41 109/271/41 -f 109/271/41 105/274/41 115/269/41 -f 105/274/41 107/268/41 115/269/41 -f 107/268/41 102/219/41 104/221/41 -f 105/222/44 116/275/44 106/223/44 -f 103/225/46 102/276/46 98/226/46 -f 102/228/47 107/224/47 106/223/47 -f 101/218/48 110/277/48 109/230/48 -f 110/231/49 116/275/49 105/222/49 -f 97/233/50 96/278/50 104/234/50 -f 96/236/51 95/212/51 94/211/51 -f 112/238/52 114/279/52 113/239/52 -f 114/240/53 115/256/53 93/210/53 -f 108/227/43 97/233/43 111/235/43 -s 1 -f 117/280/44 118/281/44 119/282/44 -f 120/283/54 121/284/45 122/285/45 -f 123/286/41 124/287/41 119/288/41 -f 125/289/42 126/290/42 122/291/42 -f 118/292/43 127/293/43 119/294/43 -f 128/295/42 129/296/42 130/297/42 -f 131/298/55 132/299/56 133/300/56 -f 134/301/40 130/297/40 129/296/40 -f 135/302/57 136/303/57 134/301/57 -f 121/304/58 120/305/59 132/306/58 -f 137/307/42 131/308/42 135/302/42 -f 138/309/40 127/310/40 139/311/40 -f 140/312/44 141/313/44 121/304/44 -f 142/314/60 133/315/60 143/316/60 -f 124/317/61 138/318/61 144/319/61 -f 145/320/43 144/319/43 133/315/43 -f 146/321/43 147/322/43 148/323/43 -f 149/324/40 150/325/40 151/326/40 -f 142/327/44 146/328/44 152/329/44 -f 153/330/41 148/331/41 154/332/41 -f 125/333/41 155/334/41 126/335/41 -f 148/323/62 156/336/62 157/337/62 -f 155/338/63 158/339/63 159/340/63 -f 153/341/40 155/338/40 74/171/40 -f 122/285/45 160/342/45 149/343/45 -f 149/324/64 126/290/65 161/344/66 -f 154/345/67 151/346/68 150/347/69 -f 150/348/41 161/349/41 153/330/41 -f 117/280/44 128/350/44 118/281/44 -f 121/284/45 141/351/45 122/285/45 -f 122/285/45 147/352/45 162/353/54 -f 147/352/45 146/354/45 143/355/45 -f 143/355/45 162/353/54 147/352/45 -f 162/353/54 120/283/54 122/285/45 -f 76/356/41 159/357/41 75/358/41 -f 159/357/41 158/359/41 75/358/41 -f 158/359/41 163/360/41 140/361/41 -f 158/359/41 140/361/41 75/358/41 -f 140/361/41 137/362/41 75/358/41 -f 156/363/41 73/364/41 70/365/41 -f 70/365/41 75/358/41 137/362/41 -f 157/366/41 156/363/41 70/365/41 -f 142/367/41 152/368/41 157/366/41 -f 145/369/41 142/367/41 70/365/41 -f 142/367/41 157/366/41 70/365/41 -f 70/365/41 137/362/41 145/369/41 -f 137/362/41 135/370/41 145/369/41 -f 134/371/41 129/372/41 117/373/41 -f 145/369/41 135/370/41 124/287/41 -f 135/370/41 134/371/41 117/373/41 -f 124/287/41 135/370/41 117/373/41 -f 117/373/41 119/288/41 124/287/41 -f 119/288/41 127/374/41 123/286/41 -f 126/290/42 160/375/42 122/291/42 -f 122/291/42 141/376/42 125/289/42 -f 141/376/42 163/377/42 125/289/42 -f 163/377/42 158/339/42 125/289/42 -f 118/292/43 139/378/43 127/293/43 -f 128/295/42 117/379/42 129/296/42 -f 139/380/55 118/381/55 138/382/55 -f 118/381/55 128/383/55 144/384/55 -f 138/382/55 118/381/55 144/384/55 -f 128/383/55 130/385/55 136/386/55 -f 128/383/55 136/386/55 131/298/55 -f 144/384/55 128/383/55 131/298/55 -f 120/283/54 162/353/54 133/300/56 -f 133/300/56 144/384/55 131/298/55 -f 132/299/56 120/283/54 133/300/56 -f 134/301/40 136/303/40 130/297/40 -f 135/302/57 131/308/57 136/303/57 -f 137/387/58 140/312/58 132/306/58 -f 140/312/58 121/304/58 132/306/58 -f 137/307/42 132/388/42 131/308/42 -f 138/309/40 123/389/40 127/310/40 -f 140/312/44 163/390/44 141/313/44 -f 145/320/60 133/315/60 142/314/60 -f 133/315/60 162/391/70 143/316/60 -f 124/317/61 123/392/61 138/318/61 -f 145/320/43 124/317/43 144/319/43 -f 157/337/43 152/393/43 148/323/43 -f 152/393/43 146/321/43 148/323/43 -f 147/322/43 164/394/43 154/345/43 -f 147/322/43 154/345/43 148/323/43 -f 149/324/40 161/344/40 150/325/40 -f 142/327/44 143/395/44 146/328/44 -f 148/323/62 153/396/62 156/336/62 -f 155/338/63 125/289/63 158/339/63 -f 74/171/40 73/170/40 156/397/40 -f 155/338/40 159/340/40 72/398/40 -f 159/340/40 76/399/40 72/398/40 -f 74/171/40 156/397/40 153/341/40 -f 155/338/40 72/398/40 74/171/40 -f 149/343/45 151/400/45 147/352/45 -f 151/400/45 164/401/45 147/352/45 -f 147/352/45 122/285/45 149/343/45 -f 149/324/64 160/375/71 126/290/65 -f 154/345/67 164/394/72 151/346/68 -f 126/335/41 155/334/41 161/349/41 -f 155/334/41 153/330/41 161/349/41 -f 153/330/41 154/332/41 150/348/41 -o Cube.003 -v -3.462471 1.477528 0.177528 -v -3.798125 1.477528 -0.177528 -v -3.462471 1.477528 -0.177528 -v -3.462471 1.122472 -0.177528 -v -3.798125 1.122472 0.177528 -v -3.462471 1.122472 0.177528 -v -3.798125 1.233237 -0.177528 -v -3.798125 1.377309 0.177528 -v -3.798125 1.477528 0.177528 -v -3.798125 1.122472 -0.177528 -v -1.089541 1.688519 -0.192709 -v -1.089541 1.738519 0.192709 -v -1.089541 1.688519 0.192709 -v -2.308404 0.730725 0.338886 -v -2.308404 0.960725 0.338886 -v -2.308404 0.830725 -0.235083 -v -1.089541 0.830725 -0.338886 -v -1.089541 1.566796 -0.338886 -v -1.089541 0.730725 0.338886 -v -2.308404 0.730725 -0.338886 -v -1.089541 0.730725 -0.338886 -v -1.089541 0.830725 0.338886 -v -3.798125 0.830725 0.238886 -v -2.308404 0.730725 0.238886 -v -2.308404 0.830725 0.238886 -v -3.136166 1.377309 0.338886 -v -1.089541 1.566796 0.338886 -v -2.308404 0.830725 -0.238886 -v -3.798125 0.730725 -0.238886 -v -3.798125 0.830725 -0.238886 -v -2.308404 0.960725 -0.338886 -v -3.798125 0.962099 -0.338886 -v -3.136166 1.233237 -0.338886 -v -3.798125 0.730725 0.238886 -v -2.308404 0.730725 -0.238886 -v -3.798125 1.566796 -0.338886 -v -3.798125 1.688519 0.192709 -v -3.798125 1.566796 0.338886 -v -3.798125 1.738519 0.192709 -v -1.089541 1.738519 -0.192709 -v -3.798125 1.738519 -0.192709 -v -3.798125 1.688519 -0.192709 -v -3.798125 1.377309 0.300000 -v -3.136166 1.377309 0.300000 -v -3.136166 1.233238 0.300000 -v -3.798125 1.233238 0.300000 -v -3.136166 1.233238 0.338886 -v -3.136166 1.377309 -0.300000 -v -3.798125 1.377309 -0.338886 -v -3.136166 1.377309 -0.338886 -v -3.136166 1.233237 -0.300000 -v -3.798125 1.233237 -0.338886 -v -3.798125 1.233237 -0.300000 -v -3.798125 1.377309 -0.300000 -v -3.802907 1.737093 0.032363 -v -3.802907 1.942907 -0.032363 -v -3.802907 1.737093 -0.032363 -v -3.802907 1.942907 0.032363 -v -3.597093 1.942907 -0.032363 -v -3.597093 1.942907 0.032363 -v -3.377093 1.737093 -0.032363 -v -3.377093 1.737093 0.032363 -v -3.801233 1.738767 -0.032363 -v -3.522639 1.738767 -0.052363 -v -3.522639 1.738767 -0.032363 -v -3.522639 1.738767 0.032363 -v -3.801233 1.738767 0.052363 -v -3.801233 1.738767 0.032363 -v -3.801233 1.861234 -0.032363 -v -3.801233 1.861234 0.032363 -v -3.653547 1.861234 -0.032363 -v -3.653547 1.861234 0.032363 -v -3.653547 1.861234 0.052363 -v -3.522639 1.738767 0.052363 -v -3.801233 1.861234 0.052363 -v -3.653547 1.861234 -0.052363 -v -3.801233 1.738767 -0.052363 -v -3.801233 1.861234 -0.052363 -v -3.798125 1.233238 0.338886 -v -3.798125 0.962099 0.338886 -v -3.798125 1.377309 0.338886 -vt 0.092911 0.684435 -vt 0.089855 0.671519 -vt 0.092911 0.671519 -vt 0.354586 0.672632 -vt 0.344381 0.685548 -vt 0.344381 0.672632 -vt 0.206551 0.673047 -vt 0.209606 0.685963 -vt 0.206551 0.685963 -vt 0.128661 0.677165 -vt 0.131717 0.677165 -vt 0.131717 0.684187 -vt 0.128661 0.687371 -vt 0.125606 0.687371 -vt 0.125606 0.680046 -vt 0.089855 0.684435 -vt 0.354586 0.685548 -vt 0.209606 0.673047 -vt 0.131717 0.687371 -vt 0.128661 0.687371 -vt 0.125606 0.677165 -vt 0.128661 0.677165 -vt 0.063094 0.517248 -vt 0.077115 0.515811 -vt 0.077115 0.517248 -vt 0.157843 0.697224 -vt 0.151233 0.697224 -vt 0.154969 0.676344 -vt 0.057777 0.541903 -vt 0.057777 0.520746 -vt 0.285202 0.565673 -vt 0.274107 0.541018 -vt 0.285202 0.541018 -vt 0.082432 0.541903 -vt 0.057777 0.544778 -vt 0.136231 0.644951 -vt 0.133357 0.631391 -vt 0.136231 0.631391 -vt 0.151942 0.638926 -vt 0.139968 0.631391 -vt 0.157388 0.620296 -vt 0.109962 0.632696 -vt 0.107088 0.619135 -vt 0.109962 0.619135 -vt 0.113699 0.632696 -vt 0.113738 0.619135 -vt 0.121532 0.625161 -vt 0.076295 0.688899 -vt 0.089855 0.671519 -vt 0.089855 0.688899 -vt 0.103450 0.518685 -vt 0.086070 0.515811 -vt 0.103450 0.515811 -vt 0.231790 0.688984 -vt 0.226472 0.664328 -vt 0.231790 0.664328 -vt 0.176531 0.639683 -vt 0.181848 0.664339 -vt 0.176531 0.664339 -vt 0.133357 0.542324 -vt 0.133260 0.547538 -vt 0.133260 0.542226 -vt 0.101218 0.527071 -vt 0.088302 0.527071 -vt 0.086070 0.518685 -vt 0.088302 0.537276 -vt 0.101218 0.537276 -vt 0.101770 0.543341 -vt 0.271087 0.590329 -vt 0.285107 0.565673 -vt 0.285107 0.590329 -vt 0.087750 0.544778 -vt 0.087750 0.543341 -vt 0.131743 0.542226 -vt 0.133181 0.566881 -vt 0.131743 0.566881 -vt 0.131743 0.566881 -vt 0.133181 0.591537 -vt 0.131743 0.591537 -vt 0.132534 0.634040 -vt 0.131119 0.640066 -vt 0.131119 0.634040 -vt 0.258439 0.613448 -vt 0.257024 0.609307 -vt 0.258439 0.609307 -vt 0.278036 0.607848 -vt 0.279450 0.613874 -vt 0.278036 0.613874 -vt 0.282177 0.607848 -vt 0.278036 0.601822 -vt 0.282177 0.601822 -vt 0.092911 0.677545 -vt 0.094325 0.671519 -vt 0.094325 0.677545 -vt 0.255609 0.613448 -vt 0.257024 0.609307 -vt 0.257024 0.613448 -vt 0.094325 0.683571 -vt 0.092911 0.677545 -vt 0.094325 0.677545 -vt 0.281887 0.485497 -vt 0.277746 0.479471 -vt 0.281887 0.479471 -vt 0.786280 0.515326 -vt 0.770512 0.499558 -vt 0.786280 0.499558 -vt 0.722175 0.451879 -vt 0.737943 0.436111 -vt 0.737943 0.451879 -vt 0.830449 0.815071 -vt 0.846218 0.798216 -vt 0.846218 0.815071 -vt 0.690638 0.451879 -vt 0.706407 0.419256 -vt 0.706407 0.451879 -vt 0.718250 0.533728 -vt 0.723122 0.555072 -vt 0.718250 0.555072 -vt 0.824551 0.567530 -vt 0.819678 0.546186 -vt 0.824551 0.546186 -vt 0.712664 0.451751 -vt 0.722175 0.451879 -vt 0.706407 0.451879 -vt 0.684381 0.451751 -vt 0.674870 0.451879 -vt 0.674998 0.451751 -vt 0.712664 0.440436 -vt 0.706407 0.436111 -vt 0.684381 0.440436 -vt 0.690638 0.451879 -vt 0.722175 0.419256 -vt 0.722047 0.430407 -vt 0.674870 0.419256 -vt 0.690638 0.436111 -vt 0.722047 0.451751 -vt 0.674998 0.430407 -vt 0.764126 0.541124 -vt 0.754743 0.552438 -vt 0.754743 0.531094 -vt 0.825130 0.493798 -vt 0.820258 0.483768 -vt 0.825130 0.483768 -vt 0.825130 0.505113 -vt 0.820258 0.493798 -vt 0.764817 0.561821 -vt 0.759944 0.552438 -vt 0.764817 0.552438 -vt 0.773509 0.542409 -vt 0.764126 0.531094 -vt 0.773509 0.531094 -vt 0.814806 0.546186 -vt 0.819678 0.556215 -vt 0.814806 0.556215 -vt 0.819678 0.567530 -vt 0.814806 0.567530 -vt 0.812468 0.419256 -vt 0.817341 0.428638 -vt 0.812468 0.428638 -vt 0.063094 0.515811 -vt 0.151233 0.672568 -vt 0.157843 0.672568 -vt 0.082432 0.520746 -vt 0.274107 0.565673 -vt 0.082432 0.544778 -vt 0.154969 0.676206 -vt 0.157843 0.676206 -vt 0.133357 0.644951 -vt 0.147801 0.638926 -vt 0.147801 0.644951 -vt 0.140007 0.644951 -vt 0.133357 0.631391 -vt 0.136231 0.620296 -vt 0.133357 0.620296 -vt 0.157388 0.644951 -vt 0.151942 0.644951 -vt 0.107088 0.632696 -vt 0.125673 0.619135 -vt 0.131119 0.619135 -vt 0.125673 0.625161 -vt 0.131119 0.643791 -vt 0.109962 0.643791 -vt 0.107088 0.643791 -vt 0.107088 0.632696 -vt 0.121532 0.619135 -vt 0.076295 0.671519 -vt 0.226472 0.688984 -vt 0.181848 0.639683 -vt 0.083847 0.530254 -vt 0.082432 0.530254 -vt 0.082432 0.522461 -vt 0.107088 0.522461 -vt 0.107088 0.530254 -vt 0.105673 0.530254 -vt 0.105673 0.534395 -vt 0.101218 0.534395 -vt 0.088302 0.530254 -vt 0.107088 0.534395 -vt 0.107088 0.539842 -vt 0.082432 0.539842 -vt 0.082432 0.534395 -vt 0.083847 0.534395 -vt 0.271087 0.565673 -vt 0.101770 0.544778 -vt 0.133181 0.542226 -vt 0.133181 0.566881 -vt 0.132534 0.640066 -vt 0.257024 0.613448 -vt 0.279450 0.607848 -vt 0.278036 0.607848 -vt 0.092911 0.671519 -vt 0.255609 0.609307 -vt 0.092911 0.683571 -vt 0.277746 0.485497 -vt 0.770512 0.515326 -vt 0.722175 0.436111 -vt 0.830449 0.798216 -vt 0.690638 0.419256 -vt 0.723122 0.533728 -vt 0.819678 0.567530 -vt 0.764126 0.552438 -vt 0.820258 0.505113 -vt 0.759944 0.561821 -vt 0.764126 0.552438 -vt 0.819678 0.546186 -vt 0.817341 0.419256 -vn 0.0000 -1.0000 0.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 1.0000 0.0000 -vn 0.0000 0.0000 1.0000 -vn 0.0000 0.0000 -1.0000 -vn 1.0000 -0.0000 0.0000 -vn 0.0000 0.7685 -0.6399 -vn 0.0000 0.7685 0.6399 -vn -0.0000 -0.6093 0.7929 -vn -0.0005 -0.6060 0.7955 -vn 0.0000 -0.6097 0.7926 -vn -0.0000 -0.6094 -0.7928 -vn -0.0005 -0.6060 -0.7955 -vn -0.0006 -0.6057 -0.7957 -vn 0.6832 0.7303 0.0000 -vn -0.0000 -0.6094 0.7928 -vn -0.0006 -0.6057 0.7957 -vn -0.0005 -0.6059 0.7955 -vn 0.0000 -0.6097 -0.7926 -s off -f 165/402/73 166/403/73 167/404/73 -f 168/405/74 165/406/74 167/407/74 -f 168/408/75 169/409/75 170/410/75 -f 167/411/76 166/412/76 171/413/76 -f 170/414/77 169/415/77 172/416/77 -f 165/402/73 173/417/73 166/403/73 -f 168/405/74 170/418/74 165/406/74 -f 168/408/75 174/419/75 169/409/75 -f 171/413/76 174/420/76 168/421/76 -f 168/421/76 167/411/76 171/413/76 -f 172/416/77 173/422/77 165/423/77 -f 165/423/77 170/414/77 172/416/77 -s 1 -f 175/424/78 176/425/78 177/426/78 -f 178/427/74 179/428/74 180/429/74 -f 181/430/78 182/431/78 175/424/78 -f 183/432/73 184/433/73 185/434/73 -f 186/435/78 185/436/78 181/430/78 -f 187/437/76 188/438/76 189/439/76 -f 190/440/76 179/441/76 191/442/76 -f 192/443/77 193/444/77 194/445/77 -f 195/446/77 196/447/77 197/448/77 -f 198/449/73 199/450/73 188/451/73 -f 187/452/74 193/453/74 198/454/74 -f 200/455/79 175/456/79 182/457/79 -f 191/458/80 201/459/80 202/460/80 -f 192/461/78 195/462/78 180/463/78 -f 179/441/81 187/437/82 189/439/83 -f 195/446/84 194/445/85 196/447/86 -f 169/464/74 174/465/74 194/466/74 -f 166/467/74 173/468/74 201/469/74 -f 203/470/75 204/471/75 205/472/75 -f 201/469/74 205/473/74 206/474/74 -f 177/475/76 203/476/76 201/477/76 -f 206/478/77 204/479/77 175/480/77 -f 190/481/73 207/482/73 208/483/73 -f 209/484/74 190/485/74 208/486/74 -f 210/487/75 211/488/75 209/489/75 -f 209/490/76 207/491/76 210/492/76 -f 212/493/73 213/494/73 214/495/73 -f 215/496/74 214/497/74 197/498/74 -f 216/499/75 215/500/75 197/501/75 -f 212/502/77 217/503/77 218/504/77 -f 219/505/74 220/506/74 221/507/74 -f 222/508/75 223/509/75 220/510/75 -f 224/511/87 225/512/87 223/513/87 -f 226/514/73 221/515/73 225/516/73 -f 227/517/73 228/518/73 229/519/73 -f 230/520/73 231/521/73 232/522/73 -f 233/523/77 221/524/77 220/525/77 -f 234/526/76 219/527/76 232/528/76 -f 235/529/77 220/525/77 223/530/77 -f 236/531/76 222/532/76 234/526/76 -f 235/529/77 225/533/77 229/534/77 -f 236/531/76 226/535/76 224/536/76 -f 229/534/77 221/524/77 227/537/77 -f 230/538/76 219/527/76 226/535/76 -f 237/539/76 231/540/76 238/541/76 -f 236/542/87 238/543/87 230/544/87 -f 234/545/75 237/546/75 236/542/75 -f 232/547/74 239/548/74 234/549/74 -f 240/550/77 241/551/77 242/552/77 -f 229/553/87 240/554/87 235/555/87 -f 235/555/75 242/556/75 233/557/75 -f 233/558/74 241/559/74 227/560/74 -f 175/424/78 204/561/78 176/425/78 -f 180/429/74 195/562/74 184/563/74 -f 184/563/74 178/427/74 180/429/74 -f 175/424/78 177/426/78 181/430/78 -f 177/426/78 191/564/78 186/435/78 -f 181/430/78 177/426/78 186/435/78 -f 183/432/73 178/565/73 184/433/73 -f 186/435/78 183/566/78 185/436/78 -f 195/562/74 184/563/74 192/567/74 -f 184/563/74 199/568/74 192/567/74 -f 187/437/76 198/569/76 188/438/76 -f 211/570/76 243/571/76 244/572/76 -f 179/441/76 178/573/76 186/574/76 -f 178/573/76 183/575/76 186/574/76 -f 211/570/76 244/572/76 179/441/76 -f 202/576/76 245/577/76 190/440/76 -f 190/440/76 211/570/76 179/441/76 -f 186/574/76 191/442/76 179/441/76 -f 191/442/76 202/576/76 190/440/76 -f 192/443/77 199/578/77 193/444/77 -f 213/579/77 200/580/77 214/581/77 -f 200/580/77 182/582/77 214/581/77 -f 181/583/77 185/584/77 184/585/77 -f 196/447/77 216/586/77 197/448/77 -f 197/448/77 214/581/77 195/446/77 -f 214/581/77 182/582/77 195/446/77 -f 182/582/77 181/583/77 195/446/77 -f 181/583/77 184/585/77 195/446/77 -f 198/449/73 193/587/73 199/450/73 -f 187/452/74 194/466/74 193/453/74 -f 200/455/79 206/588/79 175/456/79 -f 191/458/80 177/589/80 201/459/80 -f 179/441/88 244/572/89 187/437/90 -f 195/446/84 192/443/91 194/445/85 -f 217/590/74 216/591/74 196/592/74 -f 196/592/74 194/466/74 174/465/74 -f 194/466/74 187/452/74 169/464/74 -f 187/452/74 244/593/74 169/464/74 -f 244/593/74 243/594/74 210/595/74 -f 210/595/74 207/596/74 172/597/74 -f 244/593/74 210/595/74 169/464/74 -f 171/598/74 217/590/74 174/465/74 -f 217/590/74 196/592/74 174/465/74 -f 210/595/74 172/597/74 169/464/74 -f 207/596/74 245/599/74 202/600/74 -f 202/600/74 201/469/74 173/468/74 -f 201/469/74 206/474/74 166/467/74 -f 206/474/74 200/601/74 166/467/74 -f 200/601/74 213/602/74 218/603/74 -f 218/603/74 217/590/74 171/598/74 -f 200/601/74 218/603/74 166/467/74 -f 172/597/74 207/596/74 173/468/74 -f 207/596/74 202/600/74 173/468/74 -f 218/603/74 171/598/74 166/467/74 -f 203/470/75 176/604/75 204/471/75 -f 201/469/74 203/605/74 205/473/74 -f 177/475/76 176/606/76 203/476/76 -f 206/478/77 205/607/77 204/479/77 -f 190/481/73 245/608/73 207/482/73 -f 209/484/74 211/609/74 190/485/74 -f 210/487/75 243/610/75 211/488/75 -f 209/490/76 208/611/76 207/491/76 -f 212/493/73 218/612/73 213/494/73 -f 215/496/74 212/613/74 214/497/74 -f 216/499/75 217/614/75 215/500/75 -f 212/502/77 215/615/77 217/503/77 -f 219/505/74 222/616/74 220/506/74 -f 222/508/75 224/617/75 223/509/75 -f 224/511/87 226/618/87 225/512/87 -f 226/514/73 219/619/73 221/515/73 -f 227/517/73 241/620/73 228/518/73 -f 230/520/73 238/621/73 231/521/73 -f 233/523/77 227/537/77 221/524/77 -f 234/526/76 222/532/76 219/527/76 -f 235/529/77 233/523/77 220/525/77 -f 236/531/76 224/536/76 222/532/76 -f 235/529/77 223/530/77 225/533/77 -f 236/531/76 230/538/76 226/535/76 -f 229/534/77 225/533/77 221/524/77 -f 230/538/76 232/528/76 219/527/76 -f 237/539/76 239/622/76 231/540/76 -f 236/542/87 237/546/87 238/543/87 -f 234/545/75 239/623/75 237/546/75 -f 232/547/74 231/624/74 239/548/74 -f 240/550/77 228/625/77 241/551/77 -f 229/553/87 228/626/87 240/554/87 -f 235/555/75 240/554/75 242/556/75 -f 233/558/74 242/627/74 241/559/74 -o Cube.002_Cube -v -1.095610 1.625188 -0.234177 -v -1.095610 1.625188 0.234177 -v -0.297669 1.625188 0.234177 -v -0.297669 0.827247 -0.290974 -v -0.297669 0.827247 0.290974 -v -1.095610 0.827247 0.290974 -v -1.095610 0.827247 -0.290974 -v -1.095610 1.547310 -0.290974 -v -0.297669 1.547310 -0.290974 -v -1.095610 1.547310 0.290974 -v -0.297669 1.547310 0.290974 -v -0.301915 1.683539 -0.297414 -v 0.325300 1.638647 -0.297414 -v 0.325300 1.638647 0.297414 -v -0.302927 1.619990 0.338900 -v 0.256739 0.882166 0.338900 -v -0.219849 0.826827 0.338900 -v -0.301915 1.683539 0.297414 -v -0.302927 1.619990 -0.338900 -v 0.400435 0.678089 -0.338900 -v 0.400435 0.678089 0.338900 -v 0.436428 0.664438 0.338900 -v 0.692792 1.263916 -0.315319 -v 0.692792 1.263916 0.315319 -v 0.705099 1.292695 0.297414 -v 0.448735 0.693216 -0.315319 -v 0.407419 0.710885 -0.315319 -v 0.651476 1.281585 -0.315319 -v 0.256739 0.882166 -0.338900 -v 0.436428 0.664438 -0.338900 -v 0.682158 1.239051 -0.338900 -v 0.705099 1.292695 -0.297414 -v -0.219849 0.826827 -0.338900 -v -0.315574 0.825936 -0.338900 -v 0.155569 0.765703 -0.338900 -v 0.155569 0.765703 0.338900 -v 0.682158 1.239051 0.338900 -v 0.448735 0.693216 0.315319 -v 0.651476 1.281585 0.315319 -v 0.407419 0.710885 0.315319 -v 0.319523 1.574904 -0.338900 -v 0.319523 1.574904 0.338901 -v 0.402713 0.663629 -0.329854 -v 0.102029 0.584604 -0.329854 -v 0.102029 0.584604 -0.289854 -v -0.302741 -1.027009 0.242548 -v -0.302741 -1.027009 -0.242548 -v -0.794022 0.825278 -0.242548 -v -0.641417 0.826187 0.329854 -v -0.151202 0.829110 -0.329854 -v -0.151202 0.829110 0.329854 -v -0.127086 -0.456995 -0.329854 -v -0.112735 -0.502614 -0.289854 -v -0.127086 -0.456995 -0.289854 -v -0.194491 -0.056135 0.289854 -v 0.402713 0.663629 0.289854 -v -0.186785 -0.152242 0.289854 -v -0.150610 -1.024312 -0.329854 -v -0.241652 -1.468922 -0.242548 -v 0.102041 0.584607 0.329854 -v 0.402713 0.663629 0.329854 -v 0.050261 -1.020750 0.329854 -v -0.127081 -0.456995 0.329854 -v -0.112735 -0.502614 0.289854 -v -0.180638 0.180149 -0.289854 -v -0.158985 0.267266 -0.289854 -v -0.641417 0.826187 -0.329854 -v -0.178092 0.223543 -0.329854 -v -0.073065 0.463883 -0.329854 -v 0.394433 0.695669 -0.329854 -v 0.402713 0.663629 -0.289854 -v 0.160908 0.775540 0.329854 -v 0.160908 0.775540 -0.329854 -v -0.197054 -0.099825 0.329854 -v -0.197054 -0.099825 0.289854 -v -0.178082 0.223545 0.329854 -v -0.178082 0.223545 0.289854 -v -0.180412 0.183825 0.289854 -v -0.163477 0.256966 0.289854 -v -0.073054 0.463886 0.329854 -v -0.073054 0.463886 0.289854 -v -0.188127 -0.145432 -0.289854 -v -0.197061 -0.099827 -0.289854 -v -0.197061 -0.099827 -0.329854 -v -0.178092 0.223543 -0.289854 -v -0.073065 0.463883 -0.289854 -v -0.150610 -1.024312 0.329854 -v 0.050261 -1.020750 -0.289854 -v 0.050261 -1.020750 -0.329854 -v 0.111350 -1.462662 -0.329854 -v -0.113476 -0.500244 0.289854 -v -0.135150 -0.415807 0.289854 -v -0.127081 -0.456995 0.289854 -v -0.136364 -0.409639 -0.289854 -v -0.194215 -0.051306 -0.289854 -v 0.687958 -0.482851 0.289854 -v 0.685628 -0.522570 0.329854 -v -0.010229 -0.513327 0.289854 -v 0.671023 -0.555991 0.289854 -v -0.008370 -0.524153 -0.289854 -v 0.685638 -0.522568 -0.329854 -v 0.666531 -0.566291 -0.289854 -v 0.688183 -0.479174 -0.289854 -v 0.587958 -0.122851 0.289854 -v 0.585628 -0.162570 0.329854 -v -0.110229 -0.153328 0.289854 -v 0.571023 -0.195991 0.289854 -v -0.108370 -0.164153 -0.289854 -v 0.585638 -0.162568 -0.329854 -v 0.566531 -0.206291 -0.289854 -v 0.588183 -0.119175 -0.289854 -v 0.487958 0.177149 0.289854 -v 0.485628 0.137430 0.329854 -v -0.210229 0.146672 0.289854 -v 0.471023 0.104009 0.289854 -v -0.208370 0.135847 -0.289854 -v 0.485638 0.137432 -0.329854 -v 0.466531 0.093709 -0.289854 -v 0.488183 0.180825 -0.289854 -v -2.428700 -0.152910 0.180480 -v -2.428700 -0.152910 -0.180480 -v -2.428700 0.826962 -0.180480 -v -2.428700 0.826962 0.180480 -v -0.532968 0.826962 -0.180480 -v -1.947172 0.209575 0.180480 -v -1.947172 0.464477 0.180480 -v -0.768854 0.209575 -0.180480 -v -0.532968 0.009535 -0.180480 -v -0.768854 0.464477 -0.180480 -v -0.814090 -0.152910 0.180480 -v -0.814090 -0.152910 -0.180480 -v -0.532968 0.826962 0.180480 -v -0.768854 0.464477 0.180480 -v -0.532968 0.009535 0.180480 -v -0.768854 0.209575 0.180480 -v -1.555754 -0.016604 -0.180480 -v -1.160272 -0.016604 -0.180480 -v -1.160272 -0.016604 0.180480 -v -1.947172 0.209575 -0.180480 -v -1.555754 0.690656 -0.180480 -v -1.555754 0.690656 0.180480 -v -1.160272 0.690656 0.180480 -v -1.832528 0.049642 -0.180480 -v -1.555754 -0.016604 0.180480 -v -1.832528 0.049642 0.180480 -v -1.832528 0.624410 -0.180480 -v -1.832528 0.624410 0.180480 -v -1.947172 0.464477 -0.180480 -v -0.883498 0.624410 -0.180480 -v -0.883498 0.624410 0.180480 -v -1.160272 0.690656 -0.180480 -v -0.883497 0.049642 -0.180480 -v -0.883497 0.049642 0.180480 -v -0.731751 -0.038044 -0.180480 -v -0.615307 -0.105331 -0.180480 -v -0.731751 -0.038044 0.180480 -v -0.615307 -0.105331 0.180480 -v 0.147745 1.652255 0.147745 -v 0.059919 1.764108 0.147745 -v 0.059919 1.764108 -0.147745 -v 0.059098 1.947745 -0.147745 -v 0.059098 1.947745 -0.090000 -v -0.037745 1.947745 -0.090000 -v -0.037745 1.947745 0.147745 -v -0.037745 1.947745 0.090000 -v 0.059098 1.947745 0.090000 -v -0.037745 1.652255 -0.147745 -v -0.037745 1.810000 -0.090000 -v -0.037745 1.652255 0.147745 -v 0.059098 1.652255 -0.147745 -v 0.059098 1.652255 0.147745 -v 0.059713 1.810000 0.090000 -v 0.059714 1.810000 -0.090000 -v -0.037745 1.810000 0.090000 -v 0.111350 -1.462662 0.329854 -v 0.111350 -1.462662 0.289854 -v -0.241652 -1.468922 0.242548 -v -0.089520 -1.466224 0.329854 -v 0.050261 -1.020750 0.289854 -v 0.111350 -1.462662 -0.289854 -v 0.855111 -1.267190 -0.289854 -v 0.794022 -0.825277 0.289854 -v 0.855111 -1.267190 0.289854 -v 0.794022 -0.825277 -0.289854 -v -0.089520 -1.466224 -0.329854 -v -0.297669 1.625188 -0.234177 -v -0.315574 0.825936 0.338900 -v -0.794022 0.825278 0.242548 -v 0.102041 0.584607 0.289854 -v 0.394433 0.695669 0.329854 -v 0.147745 1.652255 -0.147745 -v -0.037745 1.947745 -0.147745 -v 0.059098 1.947745 0.147745 +vn -0.0000 -0.0000 -1.0000 +vn -0.8080 0.5892 -0.0000 +vn 0.8080 0.5892 -0.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 0.9974 0.0714 +vn -0.0000 0.0159 -0.9999 +vn -0.0000 -0.9383 -0.3458 +vn -0.0000 -0.9350 -0.3546 +vn 0.0001 -0.3932 0.9195 +vn -0.0000 -0.3932 0.9195 +vn -0.0001 -0.3932 0.9195 +vn -0.0000 0.7393 0.6734 +vn -0.0000 -0.9971 -0.0760 +vn -0.0000 -1.0000 0.0093 +vn -0.0000 -0.9683 -0.2498 +vn -0.0000 -0.9195 -0.3932 +vn -0.0000 0.9195 0.3932 +vn -0.0000 0.9194 0.3932 +vn 0.8372 0.5456 0.0391 +vn 0.8296 0.5222 0.1976 +vn 0.8199 0.5081 0.2639 +vn -0.8372 0.5456 0.0391 +vn -0.8296 0.5223 0.1976 +vn -0.8370 0.5458 0.0391 +vn -0.7964 0.4439 0.4106 +vn -0.8199 0.5081 0.2639 +vn -0.7981 0.4421 0.4094 +vn 0.7964 0.4439 0.4106 +vn 0.7981 0.4421 0.4094 +vn -0.0000 -0.9672 0.2542 +vn -0.0000 -0.9088 0.4172 +vn -0.0000 -0.1970 -0.9804 +vn -0.0000 -0.2564 -0.9666 +vn -0.0000 1.0000 -0.0060 +vn -0.0000 0.9966 0.0819 +vn -0.0000 0.2466 0.9691 +vn -0.0000 0.3001 0.9539 +vn 0.8640 -0.0963 -0.4941 +vn 0.8658 -0.0685 -0.4957 +vn 0.8635 -0.1025 -0.4938 +vn -0.0000 0.2193 0.9757 +vn -0.0004 0.2997 0.9540 +vn -0.0000 0.2465 0.9691 +vn -0.0000 0.2515 0.9678 +vn -0.0000 0.2502 0.9682 +vn -0.0000 0.9690 0.2472 +vn -0.0000 0.9462 0.3236 +vn -0.0000 0.0674 0.9977 +vn -0.0000 0.1923 0.9813 +vn -0.0000 -0.2331 0.9724 +vn -0.0000 -0.0586 0.9983 +vn -0.0000 -0.4004 0.9163 +vn -0.0000 -0.8233 0.5676 +vn 0.8609 -0.1304 -0.4918 +vn -0.8609 -0.1304 -0.4918 +vn -0.8635 -0.1025 -0.4938 +vn -0.8640 -0.0963 -0.4941 +vn -0.0000 0.1369 0.9906 +vn -0.0015 0.2988 0.9543 +vn -0.7034 0.7102 -0.0310 +vn -0.9984 0.0006 -0.0574 +vn -0.7811 -0.0838 0.6188 +vn -0.5157 -0.7760 0.3632 +vn 0.7461 -0.6645 -0.0415 +vn 0.7333 0.6785 -0.0438 +vn 0.1650 -0.2225 0.9609 +vn -0.1960 -0.2365 0.9516 +vn 0.1649 -0.2225 0.9609 +vn -0.0000 -0.9931 0.1172 +vn -0.0000 0.9931 0.1172 +vn -0.0000 0.9931 -0.1172 +vn -0.0000 -0.9931 -0.1172 +vn -0.0000 0.9725 0.2328 +vn -0.0000 0.5826 0.8128 +vn -0.0000 -0.9725 0.2328 +vn -0.0000 -0.5826 0.8128 +vn -0.0000 -0.5826 -0.8128 +vn -0.0000 -0.9725 -0.2328 +vn -0.0000 0.9725 -0.2328 +vn -0.0000 0.5826 -0.8128 +vn -0.0000 0.6176 0.7865 +vn -0.0000 0.0045 1.0000 +vn -0.0000 -0.9998 0.0177 +vn -0.0000 -0.1369 -0.9906 +vn -0.0000 0.1959 0.9806 +vn -0.8658 -0.0685 -0.4957 +vn 0.8370 0.5458 0.0391 +vn -0.3827 -0.9239 -0.0000 +vn 0.2706 -0.9239 -0.2706 +vn 0.3827 -0.9239 -0.0000 vt 0.711812 0.471594 vt 0.711812 0.446767 vt 0.680964 0.446767 @@ -1647,7 +308,6 @@ vt 0.680964 0.443756 vt 0.680964 0.474605 vt 0.711812 0.474605 vt 0.865063 0.560674 -vt 0.865063 0.529825 vt 0.837225 0.529825 vt 0.196676 0.580182 vt 0.198638 0.568986 @@ -1695,9 +355,7 @@ vt 0.189630 0.503690 vt 0.201945 0.494327 vt 0.190074 0.503035 vt 0.190074 0.494327 -vt 0.214869 0.562501 vt 0.214723 0.553502 -vt 0.214869 0.553699 vt 0.202301 0.555340 vt 0.202066 0.543470 vt 0.202301 0.543470 @@ -1726,7 +384,6 @@ vt 0.428602 0.558400 vt 0.417840 0.553461 vt 0.432501 0.526433 vt 0.432487 0.524369 -vt 0.432487 0.524369 vt 0.447648 0.543050 vt 0.448693 0.547326 vt 0.447763 0.547351 @@ -1770,7 +427,6 @@ vt 0.417840 0.535854 vt 0.417854 0.533789 vt 0.464176 0.557000 vt 0.465113 0.557000 -vt 0.465113 0.557000 vt 0.427707 0.531136 vt 0.429600 0.529132 vt 0.448576 0.560921 @@ -1932,26 +588,16 @@ vt 0.494991 0.451091 vt 0.493032 0.455842 vt 0.481746 0.455842 vt 0.417873 0.531063 -vt 0.417854 0.533789 -vt 0.417873 0.531063 vt 0.448576 0.556854 -vt 0.448576 0.556854 -vt 0.541595 0.470689 vt 0.542206 0.514475 vt 0.552850 0.514475 -vt 0.542206 0.514475 vt 0.428484 0.565354 vt 0.417840 0.565354 -vt 0.417840 0.565354 vt 0.514493 0.548018 vt 0.514493 0.534441 -vt 0.514493 0.534441 -vt 0.417840 0.535854 vt 0.432520 0.529160 -vt 0.432501 0.526433 vt 0.680964 0.471594 vt 0.775071 0.407025 -vt 0.837225 0.529825 vt 0.806377 0.503312 vt 0.809388 0.500301 vt 0.834214 0.500301 @@ -1990,7 +636,6 @@ vt 0.428875 0.560794 vt 0.428555 0.557988 vt 0.448579 0.543024 vt 0.552850 0.502582 -vt 0.552850 0.514475 vt 0.542094 0.507467 vt 0.541847 0.510284 vt 0.541815 0.509915 @@ -2011,7 +656,6 @@ vt 0.526173 0.548955 vt 0.526173 0.533504 vt 0.495877 0.471681 vt 0.432487 0.538011 -vt 0.464176 0.557000 vt 0.430545 0.526471 vt 0.431154 0.522212 vt 0.431408 0.522246 @@ -2024,7 +668,6 @@ vt 0.736752 0.516827 vt 0.721695 0.529910 vt 0.722877 0.532765 vt 0.719261 0.536381 -vt 0.736752 0.516827 vt 0.734319 0.525831 vt 0.733137 0.532765 vt 0.734319 0.529910 @@ -2058,14 +701,12 @@ vt 0.695777 0.485775 vt 0.708600 0.509919 vt 0.699791 0.549500 vt 0.704176 0.549500 -vt 0.704176 0.562879 vt 0.716999 0.509919 vt 0.830378 0.930344 vt 0.830378 0.950852 vt 0.830378 0.845911 vt 0.781459 0.866419 vt 0.830378 0.866419 -vt 0.704176 0.549500 vt 0.708561 0.549500 vt 0.712575 0.562879 vt 0.669019 0.562955 @@ -2076,441 +717,1798 @@ vt 0.480580 0.440448 vt 0.494067 0.440448 vt 0.479684 0.453794 vt 0.495032 0.453794 -vt 0.447639 0.556854 -vt 0.552956 0.470689 -vt 0.428484 0.565354 -vt 0.514493 0.548018 -vt 0.432520 0.529160 -vn 0.0000 1.0000 0.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 1.0000 0.0000 0.0000 -vn -1.0000 -0.0000 0.0000 -vn 0.0000 0.5892 0.8080 -vn 0.0000 0.5892 -0.8080 -vn 0.0000 -0.0000 1.0000 -vn 0.0714 0.9974 0.0000 -vn -0.9999 0.0159 0.0000 -vn -0.3458 -0.9383 0.0000 -vn -0.3546 -0.9350 0.0000 -vn 0.9195 -0.3932 -0.0001 -vn 0.9195 -0.3932 0.0000 -vn 0.9195 -0.3932 0.0001 -vn 0.6734 0.7393 0.0000 -vn -0.0760 -0.9971 0.0000 -vn 0.0093 -1.0000 0.0000 -vn -0.2498 -0.9683 0.0000 -vn -0.3932 -0.9195 0.0000 -vn -0.3932 -0.9194 0.0000 -vn 0.3932 0.9195 0.0000 -vn 0.0391 0.5455 -0.8372 -vn 0.1976 0.5222 -0.8296 -vn 0.2639 0.5081 -0.8199 -vn 0.0391 0.5456 0.8372 -vn 0.1976 0.5223 0.8296 -vn 0.0391 0.5458 0.8370 -vn 0.4106 0.4439 0.7964 -vn 0.2639 0.5081 0.8199 -vn 0.4094 0.4421 0.7981 -vn 0.4106 0.4439 -0.7964 -vn 0.4094 0.4421 -0.7981 -vn 0.2542 -0.9672 0.0000 -vn 0.4172 -0.9088 0.0000 -vn -0.9804 -0.1970 0.0000 -vn -0.9666 -0.2564 0.0000 -vn -0.0060 1.0000 0.0000 -vn 0.0819 0.9966 0.0000 -vn 0.9691 0.2466 0.0000 -vn 0.9539 0.3001 -0.0000 -vn -0.4941 -0.0963 -0.8640 -vn -0.4957 -0.0685 -0.8658 -vn -0.4938 -0.1025 -0.8635 -vn 0.9757 0.2193 -0.0000 -vn 0.9540 0.2997 0.0004 -vn 0.9691 0.2465 -0.0000 -vn 0.9678 0.2515 0.0000 -vn 0.9682 0.2502 0.0000 -vn 0.2472 0.9690 0.0000 -vn 0.3236 0.9462 0.0000 -vn 0.9977 0.0674 -0.0000 -vn 0.9813 0.1923 0.0000 -vn 0.9724 -0.2331 0.0000 -vn 0.9983 -0.0586 0.0000 -vn 0.9163 -0.4004 0.0000 -vn 0.5676 -0.8233 0.0000 -vn -0.4918 -0.1304 -0.8609 -vn -0.4918 -0.1304 0.8609 -vn -0.4938 -0.1025 0.8635 -vn -0.4941 -0.0963 0.8640 -vn 0.9906 0.1369 0.0000 -vn 0.9543 0.2988 0.0015 -vn -0.0310 0.7102 0.7034 -vn -0.0574 0.0006 0.9984 -vn 0.6188 -0.0838 0.7811 -vn 0.3632 -0.7760 0.5157 -vn -0.0415 -0.6645 -0.7461 -vn -0.0438 0.6785 -0.7333 -vn 0.9609 -0.2225 -0.1650 -vn 0.9516 -0.2365 0.1960 -vn 0.9609 -0.2225 -0.1649 -vn 0.1172 -0.9931 -0.0000 -vn 0.1172 0.9931 0.0000 -vn -0.1172 0.9931 0.0000 -vn -0.1172 -0.9931 0.0000 -vn 0.2328 0.9725 0.0000 -vn 0.8128 0.5826 0.0000 -vn 0.2328 -0.9725 0.0000 -vn 0.8128 -0.5826 0.0000 -vn -0.8128 -0.5826 0.0000 -vn -0.2328 -0.9725 0.0000 -vn -0.2328 0.9725 0.0000 -vn -0.8128 0.5826 0.0000 -vn 0.7865 0.6176 0.0000 -vn 1.0000 0.0045 -0.0000 -vn 0.0177 -0.9998 0.0000 -vn -0.9906 -0.1369 0.0000 -vn 0.9806 0.1959 0.0000 -vn -0.4957 -0.0685 0.8658 -vn 0.0391 0.5458 -0.8370 -vn 0.0000 0.0000 0.0000 s 1 -f 246/628/92 247/629/92 248/630/92 -f 249/631/93 250/632/93 251/633/93 -f 249/634/94 252/635/94 253/636/94 -f 254/637/95 250/638/95 249/639/95 -f 246/640/96 255/641/96 247/642/96 -f 255/643/97 256/644/97 248/630/97 -f 254/645/98 253/646/98 246/628/98 -f 251/647/99 250/648/99 256/649/99 -f 257/650/100 259/651/100 258/652/100 -f 260/653/99 262/654/99 261/655/99 -f 263/656/101 257/657/101 264/658/101 -f 265/659/102 267/660/103 266/661/102 -f 268/662/104 270/663/105 269/664/106 -f 271/665/99 273/666/99 272/667/99 -f 274/668/94 276/669/94 275/670/94 -f 259/671/107 277/672/107 258/673/107 -f 262/674/108 279/675/109 278/676/108 -f 265/677/94 280/678/94 274/668/94 -f 280/678/94 278/679/94 274/668/94 -f 262/654/99 281/680/99 261/655/99 -f 281/680/99 266/681/99 261/655/99 -f 278/676/108 281/682/110 262/674/108 -f 280/683/110 266/661/102 281/684/110 -f 261/655/99 267/685/99 282/686/99 -f 283/687/105 282/688/105 267/689/105 -f 271/690/105 276/691/105 268/662/104 -f 283/687/105 275/692/105 271/690/105 -f 284/693/105 272/694/105 273/695/105 -f 283/696/94 284/697/94 269/698/94 -f 269/699/111 273/700/112 268/701/112 -f 271/690/113 285/702/113 283/687/113 -f 270/663/105 282/688/105 269/664/106 -f 276/691/105 277/672/105 268/662/104 -f 264/703/114 258/704/115 286/705/116 -f 260/653/117 259/706/118 263/707/119 -f 270/663/120 287/708/121 282/688/122 -f 286/709/116 277/672/123 276/691/124 -f 278/679/94 264/703/94 274/668/94 -f 288/710/125 290/711/126 289/712/126 -f 291/713/127 293/714/128 292/715/127 -f 294/716/129 296/717/130 295/718/130 -f 297/719/131 299/720/131 298/721/132 -f 300/722/99 302/723/99 301/724/99 -f 303/725/133 304/726/134 292/727/135 -f 305/728/126 301/729/125 306/730/125 -f 307/731/136 309/732/137 308/733/138 -f 310/734/94 311/735/94 290/736/94 -f 312/737/94 314/738/94 313/739/94 -f 301/740/139 316/741/139 315/742/140 -f 317/743/141 315/744/142 318/745/141 -f 319/746/143 302/747/144 320/748/143 -f 321/749/145 323/750/146 322/751/145 -f 324/752/147 325/753/147 321/754/145 -f 326/755/148 305/728/126 325/753/148 -f 327/756/144 329/757/143 328/758/143 -f 310/759/146 313/760/145 330/761/145 -f 311/762/147 314/763/147 331/764/147 -f 314/763/148 290/711/126 331/764/148 -f 312/737/149 292/727/135 293/765/149 -f 294/766/150 291/767/151 332/768/152 -f 333/769/136 335/770/153 334/771/136 -f 318/745/141 296/717/130 317/743/141 -f 321/772/99 325/773/99 294/766/99 -f 308/733/138 309/732/137 336/774/154 -f 308/733/138 302/747/144 319/746/143 -f 319/746/143 320/748/143 300/775/146 -f 300/775/146 321/749/145 319/746/143 -f 321/754/145 322/776/145 324/752/147 -f 308/733/138 338/777/138 337/778/144 -f 308/733/138 336/774/154 338/777/138 -f 334/771/136 298/721/132 333/769/136 -f 299/720/131 297/719/131 339/779/144 -f 339/779/144 329/757/143 327/756/144 -f 328/758/143 329/757/143 340/780/146 -f 340/780/146 313/760/145 310/759/146 -f 330/781/145 313/782/145 311/762/147 -f 341/783/155 343/784/156 342/785/157 -f 344/786/158 342/785/157 343/784/156 -f 345/787/159 346/788/159 347/789/159 -f 348/790/160 346/791/160 345/792/160 -f 342/793/157 344/794/158 341/795/161 -f 347/796/162 346/797/162 348/798/162 -f 349/799/155 351/800/156 350/801/157 -f 352/802/158 350/801/157 351/800/156 -f 353/803/159 354/804/159 355/805/159 -f 356/806/160 354/807/160 353/808/160 -f 350/809/157 352/810/158 349/811/163 -f 355/812/162 354/813/162 356/814/162 -f 357/815/155 359/816/156 358/817/157 -f 360/818/158 358/817/157 359/816/156 -f 361/819/159 362/820/159 363/821/159 -f 364/822/160 362/823/160 361/824/160 -f 358/825/157 360/826/158 357/827/161 -f 363/828/162 362/829/162 364/830/162 -f 365/831/96 367/832/96 366/833/96 -f 368/834/92 369/835/92 367/836/92 -f 370/837/99 371/838/99 368/839/99 -f 372/840/94 374/841/94 373/842/94 -f 375/843/164 366/844/93 376/845/164 -f 377/846/95 373/847/95 369/848/95 -f 378/849/99 380/850/99 379/851/99 -f 381/852/165 383/853/166 382/854/166 -f 372/855/96 378/856/96 374/857/96 -f 384/858/95 371/859/95 370/860/95 -f 385/861/164 387/862/167 386/863/164 -f 388/864/168 389/865/165 381/852/165 -f 388/866/169 370/860/169 390/867/169 -f 391/868/170 386/863/164 392/869/170 -f 393/870/171 392/871/171 371/859/171 -f 374/857/172 395/872/172 394/873/172 -f 396/874/167 395/875/173 387/862/167 -f 382/854/166 398/876/174 397/877/174 -f 397/878/175 380/879/175 372/855/175 -f 373/842/94 400/880/94 399/881/94 -f 400/880/94 376/882/94 399/881/94 -f 375/883/99 402/884/99 401/885/99 -f 402/884/99 379/851/99 401/885/99 -f 379/886/171 400/887/171 373/847/171 -f 402/888/170 376/845/164 400/889/170 -f 393/890/94 384/891/94 366/892/94 -f 403/893/176 405/894/176 404/895/176 -f 406/896/92 408/897/92 407/898/92 -f 409/899/92 411/900/92 410/901/92 -f 412/902/96 414/903/96 413/904/96 -f 415/905/93 403/906/93 416/907/93 -f 416/908/99 403/909/99 404/910/99 -f 414/911/93 415/905/93 416/907/93 -f 404/912/177 405/913/177 417/914/177 -f 405/915/94 415/916/94 412/917/94 -f 418/918/92 419/919/92 417/920/92 -f 413/921/99 407/922/99 408/923/99 -f 411/924/94 419/925/94 410/926/94 -f 335/927/92 421/928/92 420/929/92 -f 422/930/178 304/931/178 335/927/178 -f 307/932/99 423/933/99 420/934/99 -f 307/731/136 421/935/153 424/936/136 -f 292/715/127 422/937/179 291/713/127 -f 333/938/94 426/939/94 425/940/94 -f 424/941/99 428/942/99 427/943/99 -f 427/944/180 426/945/153 429/946/180 -f 332/768/152 422/947/181 423/933/181 -f 334/948/94 430/949/94 303/725/94 -f 246/628/92 248/630/92 431/950/92 -f 249/631/93 251/633/93 252/951/93 -f 249/634/94 253/636/94 254/952/94 -f 250/638/95 254/637/95 256/953/95 -f 256/953/95 254/637/95 248/954/95 -f 248/954/95 254/637/95 431/955/95 -f 255/641/96 252/956/96 251/957/96 -f 252/956/96 255/641/96 253/958/96 -f 253/958/96 255/641/96 246/640/96 -f 255/643/97 248/630/97 247/629/97 -f 254/645/98 246/628/98 431/950/98 -f 251/647/99 256/649/99 255/959/99 -f 257/650/100 263/960/100 259/651/100 -f 261/655/99 287/961/99 260/653/99 -f 260/653/99 432/962/99 262/654/99 -f 264/658/101 279/963/101 432/964/101 -f 432/964/101 260/965/101 264/658/101 -f 260/965/101 263/656/101 264/658/101 -f 265/659/102 275/966/103 267/660/103 -f 268/662/104 277/672/105 270/663/105 -f 271/665/99 268/967/99 273/666/99 -f 275/670/94 265/677/94 274/668/94 -f 274/668/94 286/705/94 276/669/94 -f 259/671/107 270/663/107 277/672/107 -f 262/674/108 432/968/109 279/675/109 -f 278/676/108 280/969/110 281/682/110 -f 280/683/110 265/659/102 266/661/102 -f 282/686/99 287/961/99 261/655/99 -f 261/655/99 266/681/99 267/685/99 -f 283/687/105 269/664/106 282/688/105 -f 271/690/105 275/692/105 276/691/105 -f 283/687/105 267/689/105 275/692/105 -f 284/693/105 285/702/105 272/694/105 -f 283/696/94 285/970/94 284/697/94 -f 269/699/111 284/971/111 273/700/112 -f 271/690/113 272/694/113 285/702/113 -f 264/703/114 257/972/182 258/704/115 -f 260/653/117 287/961/121 259/706/118 -f 270/663/120 259/671/118 287/708/121 -f 286/709/116 258/673/115 277/672/123 -f 279/973/94 264/703/94 278/679/94 -f 264/703/94 286/705/94 274/668/94 -f 288/710/125 316/974/125 290/711/126 -f 291/713/127 433/975/128 293/714/128 -f 295/718/130 312/976/129 294/716/129 -f 312/976/129 293/977/129 294/716/129 -f 293/977/129 433/978/129 294/716/129 -f 301/724/99 434/979/99 323/980/99 -f 434/979/99 326/981/99 324/982/99 -f 324/982/99 322/983/99 323/980/99 -f 434/979/99 324/982/99 323/980/99 -f 424/941/99 427/943/99 309/984/99 -f 427/943/99 301/724/99 302/723/99 -f 336/985/99 427/943/99 337/986/99 -f 336/985/99 309/984/99 427/943/99 -f 337/986/99 338/987/99 336/985/99 -f 300/722/99 320/988/99 302/723/99 -f 302/723/99 337/986/99 427/943/99 -f 323/980/99 300/722/99 301/724/99 -f 303/725/133 430/949/134 304/726/134 -f 305/728/126 434/989/126 301/729/125 -f 307/731/136 424/936/136 309/732/137 -f 316/990/94 429/991/94 327/992/94 -f 429/991/94 333/938/94 298/993/94 -f 298/993/94 299/994/94 339/995/94 -f 429/991/94 298/993/94 339/995/94 -f 316/990/94 327/992/94 340/996/94 -f 331/997/94 290/736/94 311/735/94 -f 290/736/94 316/990/94 310/734/94 -f 311/735/94 310/734/94 330/998/94 -f 340/996/94 310/734/94 316/990/94 -f 327/992/94 328/999/94 340/996/94 -f 339/995/94 327/992/94 429/991/94 -f 297/1000/94 334/948/94 303/725/94 -f 312/737/94 295/1001/94 314/738/94 -f 295/1001/94 318/1002/94 289/1003/94 -f 318/1002/94 315/1004/94 289/1003/94 -f 315/1004/94 288/1005/94 289/1003/94 -f 297/1000/94 303/725/94 329/1006/94 -f 303/725/94 312/737/94 329/1006/94 -f 295/1001/94 289/1003/94 314/738/94 -f 313/739/94 329/1006/94 312/737/94 -f 315/742/140 435/1007/140 301/740/139 -f 435/1007/140 306/1008/140 301/740/139 -f 301/740/139 427/944/180 429/946/180 -f 316/741/139 288/1009/140 315/742/140 -f 301/740/139 429/946/180 316/741/139 -f 317/743/141 435/1010/142 315/744/142 -f 324/752/147 326/755/147 325/753/147 -f 326/755/148 434/989/126 305/728/126 -f 311/762/147 313/782/145 314/763/147 -f 314/763/148 289/712/126 290/711/126 -f 312/737/149 303/725/133 292/727/135 -f 294/766/150 433/1011/150 291/767/151 -f 333/769/136 425/1012/153 335/770/153 -f 318/745/141 295/718/130 296/717/130 -f 305/1013/99 306/1014/99 435/1015/99 -f 435/1015/99 317/1016/99 305/1013/99 -f 317/1016/99 296/1017/99 305/1013/99 -f 294/766/99 332/768/99 319/1018/99 -f 332/768/99 307/932/99 308/1019/99 -f 332/768/99 308/1019/99 319/1018/99 -f 296/1017/99 294/766/99 325/773/99 -f 305/1013/99 296/1017/99 325/773/99 -f 294/766/99 319/1018/99 321/772/99 -f 308/733/138 337/778/144 302/747/144 -f 300/775/146 323/750/146 321/749/145 -f 334/771/136 297/719/131 298/721/132 -f 339/779/144 297/719/131 329/757/143 -f 340/780/146 329/757/143 313/760/145 -f 365/831/96 368/1020/96 367/832/96 -f 368/834/92 377/1021/92 369/835/92 -f 387/1022/99 395/1023/99 377/1024/99 -f 365/1025/99 375/883/99 389/1026/99 -f 375/883/99 401/885/99 398/1027/99 -f 389/1026/99 375/883/99 383/1028/99 -f 398/1027/99 383/1028/99 375/883/99 -f 387/1022/99 377/1024/99 386/1029/99 -f 377/1024/99 368/839/99 386/1029/99 -f 365/1025/99 389/1026/99 390/1030/99 -f 392/1031/99 386/1029/99 368/839/99 -f 371/838/99 392/1031/99 368/839/99 -f 368/839/99 365/1025/99 370/837/99 -f 365/1025/99 390/1030/99 370/837/99 -f 374/841/94 394/1032/94 369/1033/94 -f 369/1033/94 373/842/94 374/841/94 -f 373/842/94 399/881/94 372/840/94 -f 399/881/94 397/1034/94 372/840/94 -f 375/843/164 365/1035/93 366/844/93 -f 377/846/95 379/886/95 373/847/95 -f 380/850/99 398/1027/99 401/885/99 -f 401/885/99 379/851/99 380/850/99 -f 379/851/99 377/1024/99 378/849/99 -f 377/1024/99 395/1023/99 378/849/99 -f 381/852/165 389/865/165 383/853/166 -f 372/855/96 380/879/96 378/856/96 -f 384/858/95 393/870/95 371/859/95 -f 385/861/164 396/874/167 387/862/167 -f 388/864/168 390/1036/168 389/865/165 -f 388/866/169 384/858/169 370/860/169 -f 391/868/170 385/861/164 386/863/164 -f 393/870/171 391/1037/171 392/871/171 -f 374/857/172 378/856/172 395/872/172 -f 396/874/167 394/1038/173 395/875/173 -f 382/854/166 383/853/166 398/876/174 -f 397/878/175 398/1039/175 380/879/175 -f 379/886/171 402/1040/171 400/887/171 -f 402/888/170 375/843/164 376/845/164 -f 382/1041/94 397/1034/94 376/882/94 -f 397/1034/94 399/881/94 376/882/94 -f 376/882/94 366/892/94 381/1042/94 -f 382/1041/94 376/882/94 381/1042/94 -f 369/1033/94 394/1032/94 396/1043/94 -f 369/1033/94 396/1043/94 385/1044/94 -f 367/1045/94 369/1033/94 385/1044/94 -f 367/1045/94 385/1044/94 391/1046/94 -f 388/1047/94 381/1042/94 366/892/94 -f 384/891/94 388/1047/94 366/892/94 -f 366/892/94 367/1045/94 393/890/94 -f 367/1045/94 391/1046/94 393/890/94 -f 403/893/176 436/1048/176 405/894/176 -f 406/896/92 437/1049/92 408/897/92 -f 409/899/92 438/1050/92 411/900/92 -f 413/904/96 408/1051/96 437/1052/96 -f 414/903/96 409/1053/96 419/1054/96 -f 409/1053/96 410/1055/96 419/1054/96 -f 413/904/96 437/1052/96 412/902/96 -f 414/903/96 419/1054/96 413/904/96 -f 415/905/93 436/1056/93 403/906/93 -f 404/910/99 438/1057/99 409/1058/99 -f 409/1058/99 414/1059/99 404/910/99 -f 414/1059/99 416/908/99 404/910/99 -f 414/911/93 412/1060/93 415/905/93 -f 411/1061/177 438/1062/177 417/914/177 -f 438/1062/177 404/912/177 417/914/177 -f 405/913/177 406/1063/177 418/1064/177 -f 406/1063/177 407/1065/177 418/1064/177 -f 405/913/177 418/1064/177 417/914/177 -f 412/917/94 437/1066/94 405/915/94 -f 437/1066/94 406/1067/94 405/915/94 -f 405/915/94 436/1068/94 415/916/94 -f 418/918/92 413/1069/92 419/919/92 -f 413/921/99 418/1070/99 407/922/99 -f 411/924/94 417/1071/94 419/925/94 -f 425/1072/125 426/1073/125 428/1074/125 -f 425/1072/125 428/1074/125 421/928/125 -f 335/927/183 425/1072/183 421/928/183 -f 430/1075/178 335/927/178 304/931/178 -f 335/927/178 420/929/178 422/930/178 -f 420/929/178 423/1076/178 422/930/178 -f 307/932/99 332/768/99 423/933/99 -f 307/731/136 420/1077/153 421/935/153 -f 292/715/127 304/1078/179 422/937/179 -f 333/938/94 429/991/94 426/939/94 -f 424/941/99 421/1079/99 428/942/99 -f 427/944/180 428/1080/153 426/945/153 -f 332/768/152 291/767/151 422/947/181 -f 334/948/94 335/1081/94 430/949/94 +f 1/1/1 2/2/1 3/3/1 +f 4/4/2 5/5/2 6/6/2 +f 4/7/3 7/8/3 8/9/3 +f 9/10/4 5/11/4 4/12/4 +f 1/13/5 10/14/5 2/15/5 +f 10/16/6 11/17/6 3/3/6 +f 9/18/7 8/19/7 1/1/7 +f 6/20/8 5/7/8 11/21/8 +f 12/22/9 14/23/9 13/24/9 +f 15/25/8 17/26/8 16/27/8 +f 18/28/10 12/29/10 19/30/10 +f 20/31/11 22/32/12 21/33/11 +f 23/34/13 25/35/14 24/36/15 +f 26/37/8 28/38/8 27/39/8 +f 29/40/3 31/41/3 30/42/3 +f 14/43/16 32/44/16 13/45/16 +f 17/46/17 34/47/18 33/48/17 +f 20/49/3 35/50/3 29/40/3 +f 35/50/3 33/51/3 29/40/3 +f 17/26/8 36/52/8 16/27/8 +f 36/52/8 21/53/8 16/27/8 +f 33/48/17 36/54/19 17/46/17 +f 35/55/19 21/33/11 36/56/19 +f 16/27/8 22/57/8 37/58/8 +f 38/59/14 37/60/14 22/61/14 +f 26/62/14 31/63/14 23/34/13 +f 38/59/14 30/64/14 26/62/14 +f 39/65/14 27/66/14 28/67/14 +f 38/38/3 39/68/3 24/39/3 +f 24/69/20 28/70/20 23/71/20 +f 26/62/21 40/72/22 38/59/22 +f 25/35/14 37/60/14 24/36/15 +f 31/63/14 32/44/14 23/34/13 +f 19/73/23 13/74/24 41/75/25 +f 15/25/26 14/76/27 18/77/28 +f 25/35/29 42/78/30 37/60/31 +f 41/79/25 32/44/32 31/63/33 +f 33/51/3 19/73/3 29/40/3 +f 43/80/34 45/81/35 44/82/35 +f 46/83/36 48/84/37 47/85/36 +f 49/86/38 51/87/39 50/88/39 +f 52/89/40 54/90/40 53/91/41 +f 55/92/8 57/93/8 56/94/8 +f 58/95/42 59/96/43 47/96/44 +f 60/97/35 56/98/34 61/99/34 +f 62/100/45 64/101/46 63/102/47 +f 65/103/3 66/104/3 45/105/3 +f 67/106/3 69/107/3 68/108/3 +f 56/109/48 71/110/48 70/111/49 +f 72/112/50 70/113/51 73/114/50 +f 74/115/52 57/116/53 75/117/52 +f 76/118/54 78/119/55 77/120/54 +f 79/121/56 80/122/56 76/123/54 +f 81/124/57 60/97/35 80/122/57 +f 82/125/53 84/126/52 83/127/52 +f 65/128/55 68/129/54 85/130/54 +f 66/131/56 69/132/56 86/133/56 +f 69/132/57 45/81/35 86/133/57 +f 67/106/58 47/96/44 48/134/58 +f 49/135/59 46/136/60 87/137/61 +f 88/138/45 90/139/62 89/139/45 +f 73/114/50 51/87/39 72/112/50 +f 76/140/8 80/141/8 49/135/8 +f 63/102/47 64/101/46 91/142/63 +f 63/102/47 57/116/53 74/115/52 +f 74/115/52 75/117/52 55/143/55 +f 55/143/55 76/118/54 74/115/52 +f 76/123/54 77/144/54 79/121/56 +f 63/102/47 93/145/47 92/146/53 +f 63/102/47 91/142/63 93/145/47 +f 89/139/45 53/91/41 88/138/45 +f 54/90/40 52/89/40 94/147/53 +f 94/147/53 84/126/52 82/125/53 +f 83/127/52 84/126/52 95/148/55 +f 95/148/55 68/129/54 65/128/55 +f 85/149/54 68/150/54 66/131/56 +f 96/151/64 98/152/65 97/153/66 +f 99/154/67 97/153/66 98/152/65 +f 100/155/68 101/156/68 102/157/68 +f 103/158/69 101/159/69 100/160/69 +f 97/161/66 99/162/67 96/163/70 +f 102/164/71 101/165/71 103/166/71 +f 104/167/64 106/168/65 105/169/66 +f 107/170/67 105/169/66 106/168/65 +f 108/171/68 109/172/68 110/173/68 +f 111/174/69 109/175/69 108/176/69 +f 105/177/66 107/178/67 104/179/72 +f 110/180/71 109/181/71 111/182/71 +f 112/183/64 114/184/65 113/185/66 +f 115/186/67 113/185/66 114/184/65 +f 116/187/68 117/188/68 118/189/68 +f 119/190/69 117/191/69 116/192/69 +f 113/193/66 115/194/67 112/195/70 +f 118/196/71 117/197/71 119/198/71 +f 120/199/5 122/200/5 121/201/5 +f 123/202/1 124/203/1 122/204/1 +f 125/205/8 126/206/8 123/207/8 +f 127/208/3 129/209/3 128/210/3 +f 130/211/73 121/212/2 131/213/73 +f 132/214/4 128/215/4 124/216/4 +f 133/217/8 135/218/8 134/219/8 +f 136/220/74 138/221/75 137/222/75 +f 127/223/5 133/224/5 129/225/5 +f 139/226/4 126/227/4 125/228/4 +f 140/229/73 142/230/76 141/231/73 +f 143/232/77 144/233/74 136/220/74 +f 143/234/78 125/228/78 145/235/78 +f 146/236/79 141/231/73 147/237/79 +f 148/238/80 147/239/80 126/227/80 +f 129/225/81 150/240/81 149/241/81 +f 151/242/76 150/243/82 142/230/76 +f 137/222/75 153/244/83 152/245/83 +f 152/246/84 135/247/84 127/223/84 +f 128/210/3 155/248/3 154/249/3 +f 155/248/3 131/250/3 154/249/3 +f 130/251/8 157/252/8 156/253/8 +f 157/252/8 134/219/8 156/253/8 +f 134/254/80 155/255/80 128/215/80 +f 157/256/79 131/213/73 155/257/79 +f 148/258/3 139/259/3 121/260/3 +f 158/261/85 160/262/85 159/263/85 +f 161/264/1 163/265/1 162/266/1 +f 164/267/1 166/268/1 165/269/1 +f 167/270/5 169/271/5 168/272/5 +f 170/273/2 158/274/2 171/275/2 +f 171/276/8 158/277/8 159/278/8 +f 169/279/2 170/273/2 171/275/2 +f 159/280/86 160/281/86 172/282/86 +f 160/283/3 170/284/3 167/285/3 +f 173/286/1 174/287/1 172/288/1 +f 168/289/8 162/290/8 163/291/8 +f 166/292/3 174/293/3 165/294/3 +f 90/295/2 176/296/2 175/297/2 +f 177/298/87 59/299/87 90/295/87 +f 62/300/8 178/137/8 175/300/8 +f 62/100/45 176/301/62 179/301/45 +f 47/85/36 177/83/88 46/83/36 +f 88/302/3 181/303/3 180/302/3 +f 179/304/8 183/305/8 182/305/8 +f 182/306/89 181/307/62 184/307/89 +f 87/137/61 177/136/90 178/137/90 +f 89/308/3 185/95/3 58/95/3 +f 1/1/1 3/3/1 186/309/1 +f 4/4/2 6/6/2 7/310/2 +f 4/7/3 8/9/3 9/21/3 +f 5/11/4 9/10/4 11/311/4 +f 11/311/4 9/10/4 3/312/4 +f 3/312/4 9/10/4 186/313/4 +f 10/14/5 7/314/5 6/315/5 +f 7/314/5 10/14/5 8/316/5 +f 8/316/5 10/14/5 1/13/5 +f 10/16/6 3/3/6 2/2/6 +f 9/18/7 1/1/7 186/309/7 +f 6/20/8 11/21/8 10/317/8 +f 12/22/9 18/318/9 14/23/9 +f 16/27/8 42/319/8 15/25/8 +f 15/25/8 187/320/8 17/26/8 +f 19/30/10 34/321/10 187/322/10 +f 187/322/10 15/323/10 19/30/10 +f 15/323/10 18/28/10 19/30/10 +f 20/31/11 30/324/12 22/32/12 +f 23/34/13 32/44/14 25/35/14 +f 26/37/8 23/325/8 28/38/8 +f 30/42/3 20/49/3 29/40/3 +f 29/40/3 41/75/3 31/41/3 +f 14/43/16 25/35/16 32/44/16 +f 17/46/17 187/326/18 34/47/18 +f 33/48/17 35/327/19 36/54/19 +f 35/55/19 20/31/11 21/33/11 +f 37/58/8 42/319/8 16/27/8 +f 16/27/8 21/53/8 22/57/8 +f 38/59/14 24/36/15 37/60/14 +f 26/62/14 30/64/14 31/63/14 +f 38/59/14 22/61/14 30/64/14 +f 39/65/14 40/72/14 27/66/14 +f 38/38/3 40/328/3 39/68/3 +f 24/69/20 39/329/20 28/70/20 +f 26/62/21 27/66/21 40/72/22 +f 19/73/23 12/330/91 13/74/24 +f 15/25/26 42/319/30 14/76/27 +f 25/35/29 14/43/27 42/78/30 +f 41/79/25 13/45/24 32/44/32 +f 34/331/3 19/73/3 33/51/3 +f 19/73/3 41/75/3 29/40/3 +f 43/80/34 71/332/34 45/81/35 +f 46/83/36 188/333/37 48/84/37 +f 50/88/39 67/334/38 49/86/38 +f 67/334/38 48/335/38 49/86/38 +f 48/335/38 188/336/38 49/86/38 +f 56/94/8 189/337/8 78/338/8 +f 189/337/8 81/339/8 79/340/8 +f 79/340/8 77/341/8 78/338/8 +f 189/337/8 79/340/8 78/338/8 +f 179/304/8 182/305/8 64/342/8 +f 182/305/8 56/94/8 57/93/8 +f 91/343/8 182/305/8 92/344/8 +f 91/343/8 64/342/8 182/305/8 +f 92/344/8 93/345/8 91/343/8 +f 55/92/8 75/346/8 57/93/8 +f 57/93/8 92/344/8 182/305/8 +f 78/338/8 55/92/8 56/94/8 +f 58/95/42 185/95/43 59/96/43 +f 60/97/35 189/347/35 56/98/34 +f 62/100/45 179/301/45 64/101/46 +f 71/348/3 184/303/3 82/349/3 +f 184/303/3 88/302/3 53/350/3 +f 53/350/3 54/351/3 94/352/3 +f 184/303/3 53/350/3 94/352/3 +f 71/348/3 82/349/3 95/353/3 +f 86/354/3 45/105/3 66/104/3 +f 45/105/3 71/348/3 65/103/3 +f 66/104/3 65/103/3 85/355/3 +f 95/353/3 65/103/3 71/348/3 +f 82/349/3 83/356/3 95/353/3 +f 94/352/3 82/349/3 184/303/3 +f 52/357/3 89/308/3 58/95/3 +f 67/106/3 50/358/3 69/107/3 +f 50/358/3 73/359/3 44/360/3 +f 73/359/3 70/361/3 44/360/3 +f 70/361/3 43/362/3 44/360/3 +f 52/357/3 58/95/3 84/363/3 +f 58/95/3 67/106/3 84/363/3 +f 50/358/3 44/360/3 69/107/3 +f 68/108/3 84/363/3 67/106/3 +f 70/111/49 190/364/49 56/109/48 +f 190/364/49 61/365/49 56/109/48 +f 56/109/48 182/306/89 184/307/89 +f 71/110/48 43/366/49 70/111/49 +f 56/109/48 184/307/89 71/110/48 +f 72/112/50 190/367/51 70/113/51 +f 79/121/56 81/124/56 80/122/56 +f 81/124/57 189/347/35 60/97/35 +f 66/131/56 68/150/54 69/132/56 +f 69/132/57 44/82/35 45/81/35 +f 67/106/58 58/95/42 47/96/44 +f 49/135/59 188/368/59 46/136/60 +f 88/138/45 180/138/62 90/139/62 +f 73/114/50 50/88/39 51/87/39 +f 60/369/8 61/370/8 190/371/8 +f 190/371/8 72/372/8 60/369/8 +f 72/372/8 51/373/8 60/369/8 +f 49/135/8 87/137/8 74/374/8 +f 87/137/8 62/300/8 63/375/8 +f 87/137/8 63/375/8 74/374/8 +f 51/373/8 49/135/8 80/141/8 +f 60/369/8 51/373/8 80/141/8 +f 49/135/8 74/374/8 76/140/8 +f 63/102/47 92/146/53 57/116/53 +f 55/143/55 78/119/55 76/118/54 +f 89/139/45 52/89/40 53/91/41 +f 94/147/53 52/89/40 84/126/52 +f 95/148/55 84/126/52 68/129/54 +f 120/199/5 123/376/5 122/200/5 +f 123/202/1 132/377/1 124/203/1 +f 142/378/8 150/379/8 132/380/8 +f 120/377/8 130/251/8 144/381/8 +f 130/251/8 156/253/8 153/382/8 +f 144/381/8 130/251/8 138/383/8 +f 153/382/8 138/383/8 130/251/8 +f 142/378/8 132/380/8 141/384/8 +f 132/380/8 123/207/8 141/384/8 +f 120/377/8 144/381/8 145/385/8 +f 147/386/8 141/384/8 123/207/8 +f 126/206/8 147/386/8 123/207/8 +f 123/207/8 120/377/8 125/205/8 +f 120/377/8 145/385/8 125/205/8 +f 129/209/3 149/387/3 124/388/3 +f 124/388/3 128/210/3 129/209/3 +f 128/210/3 154/249/3 127/208/3 +f 154/249/3 152/389/3 127/208/3 +f 130/211/73 120/390/2 121/212/2 +f 132/214/4 134/254/4 128/215/4 +f 135/218/8 153/382/8 156/253/8 +f 156/253/8 134/219/8 135/218/8 +f 134/219/8 132/380/8 133/217/8 +f 132/380/8 150/379/8 133/217/8 +f 136/220/74 144/233/74 138/221/75 +f 127/223/5 135/247/5 133/224/5 +f 139/226/4 148/238/4 126/227/4 +f 140/229/73 151/242/76 142/230/76 +f 143/232/77 145/391/77 144/233/74 +f 143/234/78 139/226/78 125/228/78 +f 146/236/79 140/229/73 141/231/73 +f 148/238/80 146/392/80 147/239/80 +f 129/225/81 133/224/81 150/240/81 +f 151/242/76 149/393/82 150/243/82 +f 137/222/75 138/221/75 153/244/83 +f 152/246/84 153/394/84 135/247/84 +f 134/254/80 157/395/80 155/255/80 +f 157/256/79 130/211/73 131/213/73 +f 137/396/3 152/389/3 131/250/3 +f 152/389/3 154/249/3 131/250/3 +f 131/250/3 121/260/3 136/397/3 +f 137/396/3 131/250/3 136/397/3 +f 124/388/3 149/387/3 151/398/3 +f 124/388/3 151/398/3 140/399/3 +f 122/400/3 124/388/3 140/399/3 +f 122/400/3 140/399/3 146/401/3 +f 143/402/3 136/397/3 121/260/3 +f 139/259/3 143/402/3 121/260/3 +f 121/260/3 122/400/3 148/258/3 +f 122/400/3 146/401/3 148/258/3 +f 158/261/85 191/403/85 160/262/85 +f 161/264/1 192/404/1 163/265/1 +f 164/267/1 193/405/1 166/268/1 +f 168/272/5 163/406/5 192/407/5 +f 169/271/5 164/408/5 174/409/5 +f 164/408/5 165/410/5 174/409/5 +f 168/272/5 192/407/5 167/270/5 +f 169/271/5 174/409/5 168/272/5 +f 170/273/2 191/411/2 158/274/2 +f 159/278/8 193/412/8 164/413/8 +f 164/413/8 169/285/8 159/278/8 +f 169/285/8 171/276/8 159/278/8 +f 169/279/2 167/414/2 170/273/2 +f 166/415/86 193/416/86 172/282/86 +f 193/416/86 159/280/86 172/282/86 +f 160/281/86 161/417/86 173/418/86 +f 161/417/86 162/419/86 173/418/86 +f 160/281/86 173/418/86 172/282/86 +f 167/285/3 192/413/3 160/283/3 +f 192/413/3 161/420/3 160/283/3 +f 160/283/3 191/421/3 170/284/3 +f 173/286/1 168/422/1 174/287/1 +f 168/289/8 173/423/8 162/290/8 +f 166/292/3 172/424/3 174/293/3 +f 180/425/34 181/426/34 183/427/34 +f 180/425/34 183/427/34 176/296/34 +f 90/295/92 180/425/93 176/296/94 +f 185/428/87 90/295/87 59/299/87 +f 90/295/87 175/297/87 177/298/87 +f 175/297/87 178/429/87 177/298/87 +f 62/300/8 87/137/8 178/137/8 +f 62/100/45 175/100/62 176/301/62 +f 47/85/36 59/85/88 177/83/88 +f 88/302/3 184/303/3 181/303/3 +f 179/304/8 176/304/8 183/305/8 +f 182/306/89 183/306/62 181/307/62 +f 87/137/61 46/136/60 177/136/90 +f 89/308/3 90/308/3 185/95/3 +o Slide +v -0.029588 0.246255 -0.577080 +v 0.029588 0.246255 -0.633022 +v 0.029588 0.246255 -0.577080 +v 0.029588 0.187079 -0.577080 +v -0.029588 0.187079 -0.633022 +v -0.029588 0.187079 -0.577080 +v 0.029588 0.205540 -0.633022 +v -0.029588 0.229552 -0.633022 +v -0.029588 0.246255 -0.633022 +v 0.029588 0.187079 -0.633022 +v 0.032118 0.281420 -0.181591 +v -0.032118 0.289754 -0.181591 +v -0.032118 0.281420 -0.181591 +v -0.056481 0.121788 -0.384735 +v -0.056481 0.160121 -0.384735 +v 0.039181 0.138454 -0.384735 +v 0.056481 0.138454 -0.181591 +v 0.056481 0.261133 -0.181591 +v -0.056481 0.121788 -0.181591 +v 0.056481 0.121788 -0.384735 +v 0.056481 0.121788 -0.181591 +v -0.056481 0.138454 -0.181591 +v -0.039814 0.138454 -0.633022 +v -0.039814 0.121788 -0.384735 +v -0.039814 0.138454 -0.384735 +v -0.056481 0.229552 -0.522695 +v -0.056481 0.261133 -0.181591 +v 0.039814 0.138454 -0.384735 +v 0.039814 0.121788 -0.633022 +v 0.039814 0.138454 -0.633022 +v 0.056481 0.160121 -0.384735 +v 0.056481 0.160350 -0.633022 +v 0.056481 0.205540 -0.522695 +v -0.039814 0.121788 -0.633022 +v 0.039814 0.121788 -0.384735 +v 0.056481 0.261133 -0.633022 +v -0.032118 0.281420 -0.633022 +v -0.056481 0.261133 -0.633022 +v -0.032118 0.289754 -0.633022 +v 0.032118 0.289754 -0.181591 +v 0.032118 0.289754 -0.633022 +v 0.032118 0.281420 -0.633022 +v -0.050000 0.229552 -0.633022 +v -0.050000 0.229552 -0.522695 +v -0.050000 0.205540 -0.522695 +v -0.050000 0.205540 -0.633022 +v -0.056481 0.205540 -0.522695 +v 0.050000 0.229552 -0.522695 +v 0.056481 0.229552 -0.633022 +v 0.056481 0.229552 -0.522695 +v 0.050000 0.205540 -0.522695 +v 0.056481 0.205540 -0.633022 +v 0.050000 0.205540 -0.633022 +v 0.050000 0.229552 -0.633022 +v -0.005394 0.289516 -0.633819 +v 0.005394 0.323818 -0.633819 +v 0.005394 0.289516 -0.633819 +v -0.005394 0.323818 -0.633819 +v 0.005394 0.323818 -0.599517 +v -0.005394 0.323818 -0.599517 +v 0.005394 0.289516 -0.562850 +v -0.005394 0.289516 -0.562850 +v 0.005394 0.289795 -0.633540 +v 0.008727 0.289795 -0.587108 +v 0.005394 0.289795 -0.587108 +v -0.005394 0.289795 -0.587108 +v -0.008727 0.289795 -0.633540 +v -0.005394 0.289795 -0.633540 +v 0.005394 0.310206 -0.633540 +v -0.005394 0.310206 -0.633540 +v 0.005394 0.310206 -0.608926 +v -0.005394 0.310206 -0.608926 +v -0.008727 0.310206 -0.608926 +v -0.008727 0.289795 -0.587108 +v -0.008727 0.310206 -0.633540 +v 0.008727 0.310206 -0.608926 +v 0.008727 0.289795 -0.633540 +v 0.008727 0.310206 -0.633540 +v -0.056481 0.205540 -0.633022 +v -0.056481 0.160350 -0.633022 +v -0.056481 0.229552 -0.633022 +vn -0.0000 -1.0000 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn -0.0000 1.0000 -0.0000 +vn -1.0000 -0.0000 -0.0000 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn 0.6399 0.7685 -0.0000 +vn -0.6399 0.7685 -0.0000 +vn -0.7929 -0.6093 -0.0000 +vn -0.7955 -0.6060 -0.0005 +vn -0.7926 -0.6097 -0.0000 +vn 0.7928 -0.6094 -0.0000 +vn 0.7955 -0.6060 -0.0005 +vn 0.7957 -0.6057 -0.0006 +vn -0.0000 0.7303 0.6832 +vn -0.7928 -0.6094 -0.0000 +vn -0.7957 -0.6057 -0.0006 +vn 0.7926 -0.6097 -0.0000 +vt 0.092911 0.684435 +vt 0.089855 0.671519 +vt 0.092911 0.671519 +vt 0.354586 0.672632 +vt 0.344381 0.685548 +vt 0.344381 0.672632 +vt 0.206551 0.673047 +vt 0.209606 0.685963 +vt 0.206551 0.685963 +vt 0.128661 0.677165 +vt 0.131717 0.677165 +vt 0.131717 0.684187 +vt 0.128661 0.687371 +vt 0.125606 0.687371 +vt 0.125606 0.680046 +vt 0.089855 0.684435 +vt 0.354586 0.685548 +vt 0.209606 0.673047 +vt 0.131717 0.687371 +vt 0.125606 0.677165 +vt 0.063094 0.517248 +vt 0.077115 0.515811 +vt 0.077115 0.517248 +vt 0.157843 0.697224 +vt 0.151233 0.697224 +vt 0.154969 0.676344 +vt 0.057777 0.541903 +vt 0.057777 0.520746 +vt 0.285202 0.565673 +vt 0.274107 0.541018 +vt 0.285202 0.541018 +vt 0.082432 0.541903 +vt 0.057777 0.544778 +vt 0.136231 0.644951 +vt 0.133357 0.631391 +vt 0.136231 0.631391 +vt 0.151942 0.638926 +vt 0.139968 0.631391 +vt 0.157388 0.620296 +vt 0.109962 0.632696 +vt 0.107088 0.619135 +vt 0.109962 0.619135 +vt 0.113699 0.632696 +vt 0.113738 0.619135 +vt 0.121532 0.625161 +vt 0.076295 0.688899 +vt 0.089855 0.688899 +vt 0.103450 0.518685 +vt 0.086070 0.515811 +vt 0.103450 0.515811 +vt 0.231790 0.688984 +vt 0.226472 0.664328 +vt 0.231790 0.664328 +vt 0.176531 0.639683 +vt 0.181848 0.664339 +vt 0.176531 0.664339 +vt 0.133357 0.542324 +vt 0.133260 0.547538 +vt 0.133260 0.542226 +vt 0.101218 0.527071 +vt 0.088302 0.527071 +vt 0.086070 0.518685 +vt 0.088302 0.537276 +vt 0.101218 0.537276 +vt 0.101770 0.543341 +vt 0.271087 0.590329 +vt 0.285107 0.565673 +vt 0.285107 0.590329 +vt 0.087750 0.544778 +vt 0.087750 0.543341 +vt 0.131743 0.542226 +vt 0.133181 0.566881 +vt 0.131743 0.566881 +vt 0.133181 0.591537 +vt 0.131743 0.591537 +vt 0.132534 0.634040 +vt 0.131119 0.640066 +vt 0.131119 0.634040 +vt 0.258439 0.613448 +vt 0.257024 0.609307 +vt 0.258439 0.609307 +vt 0.278036 0.607848 +vt 0.279450 0.613874 +vt 0.278036 0.613874 +vt 0.282177 0.607848 +vt 0.278036 0.601822 +vt 0.282177 0.601822 +vt 0.092911 0.677545 +vt 0.094325 0.671519 +vt 0.094325 0.677545 +vt 0.255609 0.613448 +vt 0.257024 0.613448 +vt 0.094325 0.683571 +vt 0.281887 0.485497 +vt 0.277746 0.479471 +vt 0.281887 0.479471 +vt 0.786280 0.515326 +vt 0.770512 0.499558 +vt 0.786280 0.499558 +vt 0.722175 0.451879 +vt 0.737943 0.436111 +vt 0.737943 0.451879 +vt 0.830449 0.815071 +vt 0.846218 0.798216 +vt 0.846218 0.815071 +vt 0.690638 0.451879 +vt 0.706407 0.419256 +vt 0.706407 0.451879 +vt 0.718250 0.533728 +vt 0.723122 0.555072 +vt 0.718250 0.555072 +vt 0.824551 0.567530 +vt 0.819678 0.546186 +vt 0.824551 0.546186 +vt 0.712664 0.451751 +vt 0.684381 0.451751 +vt 0.674870 0.451879 +vt 0.674998 0.451751 +vt 0.712664 0.440436 +vt 0.706407 0.436111 +vt 0.684381 0.440436 +vt 0.722175 0.419256 +vt 0.722047 0.430407 +vt 0.674870 0.419256 +vt 0.690638 0.436111 +vt 0.722047 0.451751 +vt 0.674998 0.430407 +vt 0.764126 0.541124 +vt 0.754743 0.552438 +vt 0.754743 0.531094 +vt 0.825130 0.493798 +vt 0.820258 0.483768 +vt 0.825130 0.483768 +vt 0.825130 0.505113 +vt 0.820258 0.493798 +vt 0.764817 0.561821 +vt 0.759944 0.552438 +vt 0.764817 0.552438 +vt 0.773509 0.542409 +vt 0.764126 0.531094 +vt 0.773509 0.531094 +vt 0.814806 0.546186 +vt 0.819678 0.556215 +vt 0.814806 0.556215 +vt 0.819678 0.567530 +vt 0.814806 0.567530 +vt 0.812468 0.419256 +vt 0.817341 0.428638 +vt 0.812468 0.428638 +vt 0.063094 0.515811 +vt 0.151233 0.672568 +vt 0.157843 0.672568 +vt 0.082432 0.520746 +vt 0.274107 0.565673 +vt 0.082432 0.544778 +vt 0.154969 0.676206 +vt 0.157843 0.676206 +vt 0.133357 0.644951 +vt 0.147801 0.638926 +vt 0.147801 0.644951 +vt 0.140007 0.644951 +vt 0.136231 0.620296 +vt 0.133357 0.620296 +vt 0.157388 0.644951 +vt 0.151942 0.644951 +vt 0.107088 0.632696 +vt 0.125673 0.619135 +vt 0.131119 0.619135 +vt 0.125673 0.625161 +vt 0.131119 0.643791 +vt 0.109962 0.643791 +vt 0.107088 0.643791 +vt 0.121532 0.619135 +vt 0.076295 0.671519 +vt 0.226472 0.688984 +vt 0.181848 0.639683 +vt 0.083847 0.530254 +vt 0.082432 0.530254 +vt 0.082432 0.522461 +vt 0.107088 0.522461 +vt 0.107088 0.530254 +vt 0.105673 0.530254 +vt 0.105673 0.534395 +vt 0.101218 0.534395 +vt 0.088302 0.530254 +vt 0.107088 0.534395 +vt 0.107088 0.539842 +vt 0.082432 0.539842 +vt 0.082432 0.534395 +vt 0.083847 0.534395 +vt 0.271087 0.565673 +vt 0.101770 0.544778 +vt 0.133181 0.542226 +vt 0.132534 0.640066 +vt 0.279450 0.607848 +vt 0.255609 0.609307 +vt 0.092911 0.683571 +vt 0.277746 0.485497 +vt 0.770512 0.515326 +vt 0.722175 0.436111 +vt 0.830449 0.798216 +vt 0.690638 0.419256 +vt 0.723122 0.533728 +vt 0.764126 0.552438 +vt 0.820258 0.505113 +vt 0.759944 0.561821 +vt 0.817341 0.419256 +s 0 +f 194/430/95 195/431/95 196/432/95 +f 197/433/96 194/434/96 196/435/96 +f 197/436/97 198/437/97 199/438/97 +f 196/439/98 195/440/98 200/441/98 +f 199/442/99 198/443/99 201/444/99 +f 194/430/95 202/445/95 195/431/95 +f 197/433/96 199/446/96 194/434/96 +f 197/436/97 203/447/97 198/437/97 +f 200/441/98 203/448/98 197/442/98 +f 197/442/98 196/439/98 200/441/98 +f 201/444/99 202/449/99 194/439/99 +f 194/439/99 199/442/99 201/444/99 +s 1 +f 204/450/100 205/451/100 206/452/100 +f 207/453/96 208/454/96 209/455/96 +f 210/456/100 211/457/100 204/450/100 +f 212/458/95 213/459/95 214/460/95 +f 215/461/100 214/462/100 210/456/100 +f 216/463/98 217/464/98 218/465/98 +f 219/466/98 208/467/98 220/468/98 +f 221/469/99 222/470/99 223/471/99 +f 224/472/99 225/473/99 226/474/99 +f 227/475/95 228/431/95 217/476/95 +f 216/477/96 222/478/96 227/479/96 +f 229/480/101 204/481/101 211/482/101 +f 220/483/102 230/484/102 231/485/102 +f 221/486/100 224/487/100 209/488/100 +f 208/467/103 216/463/104 218/465/105 +f 224/472/106 223/471/107 225/473/108 +f 198/489/96 203/490/96 223/491/96 +f 195/492/96 202/493/96 230/494/96 +f 232/495/97 233/496/97 234/497/97 +f 230/494/96 234/498/96 235/499/96 +f 206/500/98 232/501/98 230/502/98 +f 235/502/99 233/503/99 204/504/99 +f 219/505/95 236/506/95 237/507/95 +f 238/508/96 219/509/96 237/510/96 +f 239/511/97 240/512/97 238/513/97 +f 238/514/98 236/515/98 239/516/98 +f 241/517/95 242/518/95 243/519/95 +f 244/520/96 243/509/96 226/521/96 +f 245/522/97 244/517/97 226/519/97 +f 241/523/99 246/524/99 247/525/99 +f 248/526/96 249/527/96 250/528/96 +f 251/529/97 252/530/97 249/531/97 +f 253/532/109 254/533/109 252/534/109 +f 255/535/95 250/536/95 254/537/95 +f 256/538/95 257/539/95 258/540/95 +f 259/541/95 260/542/95 261/543/95 +f 262/544/99 250/529/99 249/537/99 +f 263/545/98 248/546/98 261/547/98 +f 264/548/99 249/537/99 252/549/99 +f 265/550/98 251/535/98 263/545/98 +f 264/548/99 254/551/99 258/552/99 +f 265/550/98 255/553/98 253/554/98 +f 258/552/99 250/529/99 256/555/99 +f 259/556/98 248/546/98 255/553/98 +f 266/557/98 260/558/98 267/559/98 +f 265/560/109 267/561/109 259/562/109 +f 263/563/97 266/564/97 265/560/97 +f 261/565/96 268/566/96 263/567/96 +f 269/568/99 270/569/99 271/570/99 +f 258/571/109 269/572/109 264/573/109 +f 264/573/97 271/574/97 262/575/97 +f 262/576/96 270/577/96 256/578/96 +f 204/450/100 233/579/100 205/451/100 +f 209/455/96 224/580/96 213/581/96 +f 213/581/96 207/453/96 209/455/96 +f 204/450/100 206/452/100 210/456/100 +f 206/452/100 220/582/100 215/461/100 +f 210/456/100 206/452/100 215/461/100 +f 212/458/95 207/583/95 213/459/95 +f 215/461/100 212/584/100 214/462/100 +f 224/580/96 213/581/96 221/585/96 +f 213/581/96 228/586/96 221/585/96 +f 216/463/98 227/587/98 217/464/98 +f 240/588/98 272/589/98 273/590/98 +f 208/467/98 207/464/98 215/591/98 +f 207/464/98 212/592/98 215/591/98 +f 240/588/98 273/590/98 208/467/98 +f 231/593/98 274/594/98 219/466/98 +f 219/466/98 240/588/98 208/467/98 +f 215/591/98 220/468/98 208/467/98 +f 220/468/98 231/593/98 219/466/98 +f 221/469/99 228/595/99 222/470/99 +f 242/596/99 229/597/99 243/598/99 +f 229/597/99 211/599/99 243/598/99 +f 210/600/99 214/601/99 213/595/99 +f 225/473/99 245/602/99 226/474/99 +f 226/474/99 243/598/99 224/472/99 +f 243/598/99 211/599/99 224/472/99 +f 211/599/99 210/600/99 224/472/99 +f 210/600/99 213/595/99 224/472/99 +f 227/475/95 222/603/95 228/431/95 +f 216/477/96 223/491/96 222/478/96 +f 229/480/101 235/604/101 204/481/101 +f 220/483/102 206/605/102 230/484/102 +f 208/467/110 273/590/111 216/463/111 +f 224/472/106 221/469/112 223/471/107 +f 246/606/96 245/607/96 225/608/96 +f 225/608/96 223/491/96 203/490/96 +f 223/491/96 216/477/96 198/489/96 +f 216/477/96 273/609/96 198/489/96 +f 273/609/96 272/610/96 239/611/96 +f 239/611/96 236/612/96 201/613/96 +f 273/609/96 239/611/96 198/489/96 +f 200/614/96 246/606/96 203/490/96 +f 246/606/96 225/608/96 203/490/96 +f 239/611/96 201/613/96 198/489/96 +f 236/612/96 274/615/96 231/616/96 +f 231/616/96 230/494/96 202/493/96 +f 230/494/96 235/499/96 195/492/96 +f 235/499/96 229/617/96 195/492/96 +f 229/617/96 242/618/96 247/619/96 +f 247/619/96 246/606/96 200/614/96 +f 229/617/96 247/619/96 195/492/96 +f 201/613/96 236/612/96 202/493/96 +f 236/612/96 231/616/96 202/493/96 +f 247/619/96 200/614/96 195/492/96 +f 232/495/97 205/620/97 233/496/97 +f 230/494/96 232/621/96 234/498/96 +f 206/500/98 205/622/98 232/501/98 +f 235/502/99 234/501/99 233/503/99 +f 219/505/95 274/623/95 236/506/95 +f 238/508/96 240/521/96 219/509/96 +f 239/511/97 272/624/97 240/512/97 +f 238/514/98 237/511/98 236/515/98 +f 241/517/95 247/432/95 242/518/95 +f 244/520/96 241/625/96 243/509/96 +f 245/522/97 246/626/97 244/517/97 +f 241/523/99 244/627/99 246/524/99 +f 248/526/96 251/628/96 249/527/96 +f 251/529/97 253/629/97 252/530/97 +f 253/532/109 255/630/109 254/533/109 +f 255/535/95 248/631/95 250/536/95 +f 256/538/95 270/632/95 257/539/95 +f 259/541/95 267/574/95 260/542/95 +f 262/544/99 256/555/99 250/529/99 +f 263/545/98 251/535/98 248/546/98 +f 264/548/99 262/544/99 249/537/99 +f 265/550/98 253/554/98 251/535/98 +f 264/548/99 252/549/99 254/551/99 +f 265/550/98 259/556/98 255/553/98 +f 258/552/99 254/551/99 250/529/99 +f 259/556/98 261/547/98 248/546/98 +f 266/557/98 268/633/98 260/558/98 +f 265/560/109 266/564/109 267/561/109 +f 263/563/97 268/634/97 266/564/97 +f 261/565/96 260/635/96 268/566/96 +f 269/568/99 257/633/99 270/569/99 +f 258/571/109 257/542/109 269/572/109 +f 264/573/97 269/572/97 271/574/97 +f 262/576/96 271/636/96 270/577/96 +o Grip +v -0.033307 -0.011380 -0.474134 +v 0.033307 -0.011380 -0.632792 +v 0.033307 -0.011380 -0.474134 +v -0.033307 -0.016443 -0.474134 +v 0.033307 -0.016443 -0.632792 +v 0.033307 -0.016443 -0.474134 +v -0.033307 -0.011380 -0.632792 +v -0.033307 -0.016443 -0.632792 +v -0.026880 0.073120 -0.633548 +v 0.026880 0.126881 -0.633548 +v 0.026880 0.073120 -0.633548 +v -0.026880 0.126881 -0.633548 +v 0.026880 0.126881 -0.579787 +v -0.026880 0.126881 -0.579787 +v 0.026880 0.073120 -0.579787 +v -0.026880 0.073120 -0.579787 +v -0.020194 0.004606 -0.633728 +v 0.020194 0.052061 -0.633728 +v 0.020194 0.004606 -0.633728 +v -0.020194 0.052061 -0.633728 +v 0.020194 0.052061 -0.586274 +v -0.020194 0.052061 -0.586274 +v 0.020194 0.004606 -0.586274 +v -0.020194 0.004606 -0.586274 +v -0.002511 0.083278 -0.632597 +v 0.002510 0.083278 -0.634072 +v 0.002510 0.083278 -0.632597 +v 0.012559 0.087441 -0.632597 +v 0.016722 0.097490 -0.632597 +v 0.012559 0.112560 -0.632597 +v -0.016722 0.102511 -0.634072 +v -0.016722 0.097490 -0.632597 +v -0.016722 0.102511 -0.632597 +v 0.012559 0.112560 -0.634072 +v 0.016722 0.102511 -0.634072 +v 0.012559 0.087441 -0.634072 +v -0.002511 0.116722 -0.634072 +v 0.002510 0.116722 -0.632597 +v 0.002510 0.116722 -0.634072 +v 0.016722 0.102511 -0.632597 +v -0.012560 0.112560 -0.634072 +v -0.012560 0.112560 -0.632597 +v 0.016722 0.097490 -0.634072 +v -0.016722 0.097490 -0.634072 +v -0.012560 0.087441 -0.632597 +v -0.012560 0.087441 -0.634072 +v -0.002511 0.083278 -0.634072 +v -0.002511 0.116722 -0.632597 +v -0.047693 0.135679 -0.632792 +v 0.047693 0.135679 -0.407453 +v 0.047693 0.135679 -0.632792 +v -0.040849 0.056769 -0.369114 +v -0.044958 0.051103 -0.369114 +v -0.047693 -0.016443 -0.369114 +v 0.044958 0.068134 -0.632792 +v 0.040492 0.061975 -0.632792 +v -0.047693 -0.006900 -0.435033 +v -0.047693 -0.025985 -0.435033 +v 0.047693 0.068134 -0.632792 +v -0.047693 0.135679 -0.407453 +v -0.047693 0.068134 -0.632792 +v -0.047693 0.068134 -0.374636 +v -0.040492 0.061975 -0.371643 +v -0.040492 0.057261 -0.369353 +v 0.040492 0.057261 -0.369353 +v -0.044958 0.068134 -0.632792 +v -0.040492 0.061975 -0.632792 +v -0.044958 0.068134 -0.374636 +v -0.040492 0.057261 -0.632792 +v 0.044958 0.068134 -0.374636 +v 0.047693 0.068134 -0.374636 +v -0.044958 0.051103 -0.632792 +v -0.047693 0.051103 -0.369114 +v 0.044958 0.051103 -0.632792 +v 0.044958 0.051103 -0.369114 +v 0.040492 0.061975 -0.371643 +v 0.040492 0.057261 -0.632792 +v 0.047693 0.051103 -0.369114 +v 0.047693 -0.016443 -0.369114 +v 0.047693 -0.006900 -0.435033 +v -0.041661 -0.033109 -0.369114 +v 0.041661 -0.033109 -0.435033 +v 0.041661 -0.033109 -0.369114 +v 0.047693 0.051103 -0.632792 +v 0.041710 -0.016443 -0.435033 +v 0.047693 -0.025985 -0.435033 +v -0.041710 -0.016443 -0.435033 +v 0.041710 -0.016443 -0.632792 +v 0.047693 -0.006900 -0.632792 +v -0.047693 -0.006900 -0.632792 +v -0.041710 -0.016443 -0.632792 +v -0.047693 -0.023489 -0.369114 +v -0.041661 -0.033109 -0.435033 +v 0.040849 0.056769 -0.369114 +v -0.047693 0.051103 -0.632792 +v 0.047693 -0.023489 -0.369114 +vn -0.0000 -1.0000 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn -1.0000 -0.0000 -0.0000 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 1.0000 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn 0.9239 0.3827 -0.0000 +vn 0.3827 0.9239 -0.0000 +vn -0.9239 0.3827 -0.0000 +vn -0.3827 0.9239 -0.0000 +vn 0.9239 -0.3827 -0.0000 +vn 0.3827 -0.9239 -0.0000 +vn -0.9239 -0.3827 -0.0000 +vn -0.3827 -0.9239 -0.0000 +vn -0.0000 0.1390 0.9903 +vn -0.0000 0.4370 0.8995 +vn -0.0000 0.4370 0.8994 +vn -0.0000 0.4371 0.8994 +vn -0.8096 -0.5870 -0.0000 +vn -0.8096 0.5870 -0.0000 +vn -0.8096 0.5870 0.0001 +vn 0.8096 0.5870 -0.0000 +vn 0.8096 -0.5870 -0.0000 +vn 0.8472 -0.5312 -0.0000 +vn -0.8472 -0.5312 -0.0000 +vn -0.8403 -0.5419 0.0183 +vn -0.7729 -0.6345 0.0022 +vn -0.7632 -0.6462 -0.0000 +vn 0.7729 -0.6345 0.0022 +vn 0.8403 -0.5419 0.0183 +vn 0.7632 -0.6462 -0.0000 +vn -0.0000 0.1391 0.9903 +vn 0.8096 0.5870 0.0001 +vn -0.8471 -0.5311 0.0201 +vn 0.8471 -0.5311 0.0201 +vt 0.497093 0.546556 +vt 0.489787 0.555589 +vt 0.489787 0.546505 +vt 0.558621 0.611549 +vt 0.559091 0.621426 +vt 0.558621 0.621426 +vt 0.489470 0.555592 +vt 0.489470 0.546508 +vt 0.469847 0.629818 +vt 0.469377 0.638902 +vt 0.469377 0.629818 +vt 0.840276 0.397745 +vt 0.812280 0.369750 +vt 0.840276 0.369750 +vt 0.672301 0.547852 +vt 0.644305 0.519856 +vt 0.672301 0.519856 +vt 0.758120 0.546311 +vt 0.730125 0.518315 +vt 0.758120 0.518315 +vt 0.728292 0.544994 +vt 0.700297 0.516998 +vt 0.728292 0.516998 +vt 0.786116 0.512334 +vt 0.758120 0.540329 +vt 0.758120 0.512334 +vt 0.814112 0.512322 +vt 0.786116 0.540318 +vt 0.786116 0.512322 +vt 0.903571 0.559623 +vt 0.865925 0.521977 +vt 0.903571 0.521977 +vt 0.903571 0.521927 +vt 0.865925 0.484281 +vt 0.903571 0.484281 +vt 0.941217 0.559573 +vt 0.941217 0.521927 +vt 0.901107 0.443199 +vt 0.863461 0.405553 +vt 0.901107 0.405553 +vt 0.901107 0.367907 +vt 0.863461 0.367907 +vt 0.712878 0.532108 +vt 0.675232 0.569754 +vt 0.675232 0.532108 +vt 0.894503 0.935849 +vt 0.896659 0.921485 +vt 0.896659 0.935849 +vt 0.962007 0.841270 +vt 0.962007 0.836599 +vt 0.966136 0.831303 +vt 0.911963 0.936525 +vt 0.909807 0.922161 +vt 0.911963 0.922161 +vt 0.962007 0.827174 +vt 0.962007 0.822503 +vt 0.966136 0.817207 +vt 0.924171 0.933456 +vt 0.926328 0.919092 +vt 0.926328 0.933456 +vt 0.867931 0.923275 +vt 0.872247 0.937640 +vt 0.867931 0.937640 +vt 0.930644 0.933456 +vt 0.930644 0.919092 +vt 0.916280 0.936525 +vt 0.919855 0.919092 +vt 0.919855 0.933456 +vt 0.865775 0.937640 +vt 0.861459 0.923275 +vt 0.865775 0.923275 +vt 0.900975 0.935849 +vt 0.900975 0.921485 +vt 0.909807 0.936525 +vt 0.905491 0.922161 +vt 0.890187 0.921485 +vt 0.890187 0.935849 +vt 0.497093 0.555641 +vt 0.559091 0.611549 +vt 0.469847 0.638902 +vt 0.812280 0.397745 +vt 0.644305 0.547852 +vt 0.730125 0.546311 +vt 0.700297 0.544994 +vt 0.786116 0.540329 +vt 0.814112 0.540318 +vt 0.865925 0.559623 +vt 0.865925 0.521927 +vt 0.903571 0.559573 +vt 0.863461 0.443199 +vt 0.712878 0.569754 +vt 0.894503 0.921485 +vt 0.962833 0.834606 +vt 0.970808 0.831303 +vt 0.965311 0.844574 +vt 0.972800 0.832128 +vt 0.976103 0.835432 +vt 0.971975 0.845399 +vt 0.976103 0.840103 +vt 0.975278 0.842096 +vt 0.967303 0.845399 +vt 0.962833 0.820510 +vt 0.970808 0.817207 +vt 0.965311 0.830478 +vt 0.972800 0.818032 +vt 0.976103 0.821336 +vt 0.971975 0.831303 +vt 0.976103 0.826007 +vt 0.975278 0.828000 +vt 0.967303 0.831303 +vt 0.924171 0.919092 +vt 0.872247 0.923275 +vt 0.916280 0.922161 +vt 0.861459 0.937640 +vt 0.905491 0.936525 +vt 0.572622 0.567859 +vt 0.583320 0.554957 +vt 0.583320 0.567859 +vt 0.488526 0.563967 +vt 0.487917 0.563443 +vt 0.487511 0.557192 +vt 0.479648 0.573331 +vt 0.480220 0.573993 +vt 0.473368 0.572925 +vt 0.498951 0.544326 +vt 0.497757 0.544336 +vt 0.498354 0.540557 +vt 0.480222 0.617553 +vt 0.486502 0.630456 +vt 0.480222 0.630456 +vt 0.530689 0.627844 +vt 0.526463 0.640782 +vt 0.526463 0.626001 +vt 0.488579 0.564463 +vt 0.488579 0.564014 +vt 0.500587 0.564014 +vt 0.526163 0.640780 +vt 0.525288 0.640780 +vt 0.526163 0.625999 +vt 0.591673 0.554640 +vt 0.590868 0.554640 +vt 0.590798 0.554627 +vt 0.524993 0.640782 +vt 0.525288 0.625827 +vt 0.592139 0.596801 +vt 0.591839 0.611580 +vt 0.591839 0.596799 +vt 0.591673 0.539543 +vt 0.591980 0.554640 +vt 0.590256 0.596799 +vt 0.590828 0.611883 +vt 0.590256 0.611897 +vt 0.591267 0.596799 +vt 0.591267 0.611752 +vt 0.590828 0.596799 +vt 0.584740 0.640183 +vt 0.578460 0.640183 +vt 0.579347 0.636409 +vt 0.496650 0.540561 +vt 0.487511 0.544271 +vt 0.487511 0.540497 +vt 0.502261 0.608318 +vt 0.502568 0.593221 +vt 0.502568 0.608318 +vt 0.496363 0.628942 +vt 0.495475 0.628055 +vt 0.497250 0.628055 +vt 0.495475 0.642198 +vt 0.496363 0.641311 +vt 0.497250 0.642198 +vt 0.578460 0.625086 +vt 0.579347 0.625086 +vt 0.497698 0.544327 +vt 0.498951 0.555649 +vt 0.497698 0.555650 +vt 0.488549 0.544262 +vt 0.487511 0.556540 +vt 0.488406 0.555650 +vt 0.496650 0.544336 +vt 0.577573 0.636409 +vt 0.576911 0.640183 +vt 0.576911 0.636409 +vt 0.497912 0.628949 +vt 0.497912 0.641304 +vt 0.572622 0.554957 +vt 0.487511 0.563443 +vt 0.501655 0.557192 +vt 0.500640 0.563967 +vt 0.501655 0.563443 +vt 0.501249 0.563443 +vt 0.487511 0.584936 +vt 0.487511 0.586181 +vt 0.487041 0.584936 +vt 0.486624 0.587069 +vt 0.481231 0.587069 +vt 0.481231 0.586663 +vt 0.480659 0.586001 +vt 0.487511 0.573812 +vt 0.487511 0.575058 +vt 0.487041 0.575058 +vt 0.486624 0.572925 +vt 0.481231 0.573331 +vt 0.481231 0.572925 +vt 0.480659 0.573993 +vt 0.480220 0.586001 +vt 0.479648 0.586663 +vt 0.479648 0.587069 +vt 0.473368 0.587069 +vt 0.479648 0.572925 +vt 0.497913 0.540561 +vt 0.502580 0.540521 +vt 0.502580 0.555618 +vt 0.486502 0.615674 +vt 0.530689 0.640746 +vt 0.501655 0.565049 +vt 0.501655 0.571481 +vt 0.501249 0.565049 +vt 0.487511 0.571481 +vt 0.500587 0.564463 +vt 0.487511 0.565049 +vt 0.487917 0.565049 +vt 0.590798 0.539543 +vt 0.524993 0.625699 +vt 0.592139 0.611582 +vt 0.591980 0.539543 +vt 0.590783 0.611897 +vt 0.584740 0.625086 +vt 0.577805 0.640183 +vt 0.502261 0.593221 +vt 0.578460 0.636409 +vt 0.488549 0.555585 +vt 0.496776 0.546559 +vt 0.496776 0.555643 +vt 0.500760 0.555650 +vt 0.501655 0.556540 +s 0 +f 275/637/113 276/638/113 277/639/113 +f 277/640/114 278/641/114 275/642/114 +f 277/639/115 279/643/115 280/644/115 +f 281/645/116 278/646/116 282/647/116 +f 283/648/114 284/649/114 285/650/114 +f 286/651/117 287/652/117 284/653/117 +f 288/654/118 289/655/118 287/656/118 +f 290/657/113 285/658/113 289/659/113 +f 287/660/116 285/661/116 284/662/116 +f 286/663/115 290/664/115 288/665/115 +f 291/666/114 292/667/114 293/668/114 +f 294/669/117 295/670/117 292/671/117 +f 296/672/118 297/669/118 295/673/118 +f 298/674/113 293/675/113 297/676/113 +f 295/677/116 293/675/116 292/678/116 +f 294/679/115 298/680/115 296/681/115 +f 299/682/113 300/683/113 301/684/113 +f 302/685/118 303/686/118 304/687/118 +f 305/688/115 306/689/115 307/690/115 +f 308/691/114 309/692/114 310/693/114 +f 311/694/117 312/695/117 313/696/117 +f 309/697/119 304/698/119 314/699/119 +f 308/700/120 312/695/120 304/701/120 +f 307/690/121 315/702/121 305/688/121 +f 316/703/122 311/694/122 315/704/122 +f 303/705/123 310/706/123 317/707/123 +f 302/708/124 300/683/124 310/709/124 +f 318/710/125 319/711/125 306/689/125 +f 320/712/126 299/682/126 319/713/126 +f 314/699/116 317/707/116 309/697/116 +f 275/637/113 281/714/113 276/638/113 +f 277/640/114 280/715/114 278/641/114 +f 277/639/115 276/638/115 279/643/115 +f 281/645/116 275/716/116 278/646/116 +f 283/648/114 286/717/114 284/649/114 +f 286/651/117 288/718/117 287/652/117 +f 288/654/118 290/719/118 289/655/118 +f 290/657/113 283/720/113 285/658/113 +f 287/660/116 289/721/116 285/661/116 +f 286/663/115 283/722/115 290/664/115 +f 291/666/114 294/723/114 292/667/114 +f 294/669/117 296/724/117 295/670/117 +f 296/672/118 298/725/118 297/669/118 +f 298/674/113 291/726/113 293/675/113 +f 295/677/116 297/676/116 293/675/116 +f 294/679/115 291/727/115 298/680/115 +f 299/682/113 321/728/113 300/683/113 +f 303/686/118 314/729/118 304/687/118 +f 304/687/118 312/730/118 301/731/118 +f 312/730/118 322/732/118 301/731/118 +f 322/732/118 316/733/118 319/734/118 +f 316/733/118 307/735/118 319/734/118 +f 307/735/118 306/736/118 319/734/118 +f 319/734/118 299/737/118 322/732/118 +f 299/737/118 301/731/118 322/732/118 +f 301/731/118 302/685/118 304/687/118 +f 305/688/115 318/710/115 306/689/115 +f 309/692/114 317/738/114 310/693/114 +f 310/693/114 300/739/114 313/740/114 +f 300/739/114 321/741/114 313/740/114 +f 321/741/114 320/742/114 315/743/114 +f 320/742/114 318/744/114 315/743/114 +f 318/744/114 305/745/114 315/743/114 +f 315/743/114 311/746/114 321/741/114 +f 311/746/114 313/740/114 321/741/114 +f 313/740/114 308/691/114 310/693/114 +f 311/694/117 322/747/117 312/695/117 +f 309/697/119 308/748/119 304/698/119 +f 308/700/120 313/696/120 312/695/120 +f 307/690/121 316/749/121 315/702/121 +f 316/703/122 322/747/122 311/694/122 +f 303/705/123 302/750/123 310/706/123 +f 302/708/124 301/684/124 300/683/124 +f 318/710/125 320/751/125 319/711/125 +f 320/712/126 321/728/126 299/682/126 +f 314/699/116 303/705/116 317/707/116 +s 1 +f 323/752/117 324/753/117 325/754/117 +f 326/755/127 327/756/118 328/757/118 +f 329/758/114 330/759/114 325/760/114 +f 331/761/115 332/762/115 328/763/115 +f 324/764/116 333/765/116 325/766/116 +f 334/767/115 335/768/115 336/769/115 +f 337/770/128 338/771/129 339/772/130 +f 340/773/113 336/769/113 335/768/113 +f 341/774/131 342/775/131 340/773/131 +f 327/776/132 326/777/133 338/778/132 +f 343/779/115 337/780/115 341/774/115 +f 344/781/113 333/782/113 345/783/113 +f 346/784/117 347/785/117 327/776/117 +f 348/786/134 339/787/134 349/788/134 +f 330/789/135 344/782/135 350/790/135 +f 351/791/116 350/790/116 339/787/116 +f 352/792/116 353/793/116 354/794/116 +f 355/795/113 356/796/113 357/797/113 +f 348/798/117 352/799/117 358/800/117 +f 359/801/114 354/802/114 360/803/114 +f 331/804/114 361/805/114 332/806/114 +f 354/794/136 362/807/136 363/808/136 +f 361/809/137 364/810/137 365/811/137 +f 359/812/113 361/809/113 280/644/113 +f 328/757/118 366/813/118 355/814/118 +f 355/795/138 332/762/139 367/815/140 +f 360/816/141 357/817/142 356/818/143 +f 356/819/114 367/820/114 359/801/114 +f 323/752/117 334/821/117 324/753/117 +f 327/756/118 347/822/118 328/757/118 +f 328/757/118 353/823/118 368/824/144 +f 353/823/118 352/825/118 349/826/118 +f 349/826/118 368/824/144 353/823/118 +f 368/824/144 326/755/127 328/757/118 +f 282/827/114 365/828/114 281/829/114 +f 365/828/114 364/830/114 281/829/114 +f 364/830/114 369/831/114 346/832/114 +f 364/830/114 346/832/114 281/829/114 +f 346/832/114 343/833/114 281/829/114 +f 362/834/114 279/835/114 276/836/114 +f 276/836/114 281/829/114 343/833/114 +f 363/837/114 362/834/114 276/836/114 +f 348/838/114 358/839/114 363/837/114 +f 351/840/114 348/838/114 276/836/114 +f 348/838/114 363/837/114 276/836/114 +f 276/836/114 343/833/114 351/840/114 +f 343/833/114 341/841/114 351/840/114 +f 340/842/114 335/843/114 323/844/114 +f 351/840/114 341/841/114 330/759/114 +f 341/841/114 340/842/114 323/844/114 +f 330/759/114 341/841/114 323/844/114 +f 323/844/114 325/760/114 330/759/114 +f 325/760/114 333/845/114 329/758/114 +f 332/762/115 366/846/115 328/763/115 +f 328/763/115 347/847/115 331/761/115 +f 347/847/115 369/848/115 331/761/115 +f 369/848/115 364/810/115 331/761/115 +f 324/764/116 345/849/116 333/765/116 +f 334/767/115 323/850/115 335/768/115 +f 345/851/128 324/852/128 344/853/128 +f 324/852/128 334/854/128 350/855/128 +f 344/853/128 324/852/128 350/855/128 +f 334/854/128 336/856/128 342/857/128 +f 334/854/128 342/857/128 337/770/128 +f 350/855/128 334/854/128 337/770/128 +f 326/755/127 368/824/144 339/772/130 +f 339/772/130 350/855/128 337/770/128 +f 338/771/129 326/755/127 339/772/130 +f 340/773/113 342/775/113 336/769/113 +f 341/774/131 337/780/131 342/775/131 +f 343/858/132 346/784/132 338/778/132 +f 346/784/132 327/776/132 338/778/132 +f 343/779/115 338/859/115 337/780/115 +f 344/781/113 329/860/113 333/782/113 +f 346/784/117 369/861/117 347/785/117 +f 351/791/134 339/787/134 348/786/134 +f 339/787/134 368/862/145 349/788/134 +f 330/789/135 329/783/135 344/782/135 +f 351/791/116 330/789/116 350/790/116 +f 363/808/116 358/863/116 354/794/116 +f 358/863/116 352/792/116 354/794/116 +f 353/793/116 370/864/116 360/816/116 +f 353/793/116 360/816/116 354/794/116 +f 355/795/113 367/815/113 356/796/113 +f 348/798/117 349/865/117 352/799/117 +f 354/794/136 359/866/136 362/807/136 +f 361/809/137 331/761/137 364/810/137 +f 280/644/113 279/643/113 362/867/113 +f 361/809/113 365/811/113 278/868/113 +f 365/811/113 282/869/113 278/868/113 +f 280/644/113 362/867/113 359/812/113 +f 361/809/113 278/868/113 280/644/113 +f 355/814/118 357/870/118 353/823/118 +f 357/870/118 370/871/118 353/823/118 +f 353/823/118 328/757/118 355/814/118 +f 355/795/138 366/846/146 332/762/139 +f 360/816/141 370/864/147 357/817/142 +f 332/806/114 361/805/114 367/820/114 +f 361/805/114 359/801/114 367/820/114 +f 359/801/114 360/803/114 356/819/114 +o Trigger +v -0.014593 0.047591 -0.195822 +v 0.014593 0.085742 -0.195822 +v 0.014593 0.047591 -0.195822 +v -0.014593 0.085742 -0.195822 +v 0.014593 0.123894 -0.205822 +v 0.019590 0.044652 -0.185835 +v 0.019590 0.088443 -0.185835 +v 0.019590 0.009440 -0.127512 +v -0.019590 0.123894 -0.195127 +v -0.019590 0.123894 -0.127512 +v 0.019590 0.123894 -0.127512 +v -0.019590 0.088443 -0.185835 +v -0.019590 0.044652 -0.185835 +v -0.019590 0.009440 -0.127512 +v -0.014593 0.012773 -0.205822 +v 0.014593 0.012773 -0.205822 +v 0.019590 0.012318 -0.195121 +v 0.019590 0.123894 -0.195127 +v -0.019590 0.012318 -0.195121 +v -0.014593 0.123894 -0.205822 +vn -0.0000 0.1394 -0.9902 +vn -0.0000 -0.1278 -0.9918 +vn -0.0000 -0.2536 -0.9673 +vn 0.9788 0.0306 -0.2023 +vn 0.9783 -0.0283 -0.2051 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 1.0000 -0.0000 +vn -0.9783 -0.0283 -0.2051 +vn -0.9788 0.0306 -0.2023 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn -0.0000 -0.9991 -0.0425 +vn 0.9672 0.0701 -0.2440 +vn 0.8994 0.0552 -0.4337 +vn -0.9662 -0.0654 -0.2494 +vn -0.8986 -0.0512 -0.4357 +vn 0.9662 -0.0654 -0.2494 +vn 0.8986 -0.0512 -0.4357 +vn 0.9005 -0.1103 -0.4207 +vn -0.9672 0.0701 -0.2440 +vn -0.8994 0.0552 -0.4337 +vn -0.9015 0.1195 -0.4159 +vn -0.0000 0.2760 -0.9611 +vn 0.9015 0.1195 -0.4159 +vn -0.9005 -0.1103 -0.4207 +vt 0.390067 0.372535 +vt 0.406128 0.365349 +vt 0.406128 0.372535 +vt 0.390067 0.365349 +vt 0.406128 0.358191 +vt 0.790352 0.332178 +vt 0.790352 0.323929 +vt 0.806409 0.338811 +vt 0.698608 0.414236 +vt 0.698608 0.432852 +vt 0.677048 0.432852 +vt 0.770203 0.441932 +vt 0.770203 0.433683 +vt 0.786260 0.427050 +vt 0.743140 0.410105 +vt 0.721579 0.388545 +vt 0.743140 0.388545 +vt 0.745889 0.383929 +vt 0.761950 0.383929 +vt 0.764700 0.386876 +vt 0.350295 0.400769 +vt 0.350102 0.394125 +vt 0.352852 0.394678 +vt 0.330144 0.511110 +vt 0.329953 0.503923 +vt 0.332703 0.504432 +vt 0.350294 0.379751 +vt 0.350102 0.386938 +vt 0.347349 0.379751 +vt 0.352852 0.386429 +vt 0.330146 0.490092 +vt 0.329953 0.496736 +vt 0.327200 0.490178 +vt 0.332703 0.496183 +vt 0.390067 0.379122 +vt 0.406128 0.379122 +vt 0.390067 0.358191 +vt 0.787794 0.317251 +vt 0.806409 0.317251 +vt 0.787795 0.338269 +vt 0.677048 0.414236 +vt 0.679797 0.411291 +vt 0.695858 0.411291 +vt 0.786260 0.448610 +vt 0.767644 0.448610 +vt 0.767646 0.427592 +vt 0.721579 0.410105 +vt 0.764700 0.405498 +vt 0.743140 0.405498 +vt 0.743140 0.386876 +vt 0.347349 0.400683 +vt 0.327200 0.511110 +s 1 +f 371/872/148 372/873/149 373/874/148 +f 374/875/149 375/876/150 372/873/149 +f 376/877/151 377/878/152 378/879/153 +f 379/880/154 380/881/154 381/882/154 +f 382/883/155 383/884/156 384/885/157 +f 380/886/158 378/887/158 381/888/158 +f 385/889/159 386/890/159 387/891/159 +f 387/892/160 373/893/161 376/894/151 +f 379/895/162 374/896/163 382/897/155 +f 388/898/164 372/899/165 375/900/166 +f 377/901/152 373/893/161 372/899/165 +f 389/902/167 371/903/168 385/904/169 +f 382/897/155 371/903/168 383/905/156 +f 385/906/170 373/874/148 386/907/170 +f 371/872/148 374/875/149 372/873/149 +f 374/875/149 390/908/150 375/876/150 +f 377/878/152 388/909/164 381/910/153 +f 381/910/153 378/879/153 377/878/152 +f 378/879/153 387/911/160 376/877/151 +f 381/882/154 388/912/154 379/880/154 +f 388/912/154 375/913/154 379/880/154 +f 375/913/154 390/914/154 379/880/154 +f 384/885/157 380/915/157 382/883/155 +f 380/915/157 379/916/162 382/883/155 +f 383/884/156 389/917/167 384/885/157 +f 380/886/158 384/918/158 378/887/158 +f 387/891/159 378/919/159 384/920/159 +f 384/920/159 389/921/159 387/891/159 +f 389/921/159 385/889/159 387/891/159 +f 387/892/160 386/922/171 373/893/161 +f 379/895/162 390/923/172 374/896/163 +f 388/898/164 377/901/152 372/899/165 +f 377/901/152 376/894/151 373/893/161 +f 389/902/167 383/905/156 371/903/168 +f 382/897/155 374/896/163 371/903/168 +f 385/906/170 371/872/148 373/874/148 +o Barrel +v -0.002425 0.189787 -0.367055 +v 0.002425 0.189787 -0.633548 +v 0.002425 0.189787 -0.367055 +v -0.002425 0.243547 -0.367055 +v -0.001862 0.237302 -0.367055 +v 0.001862 0.237302 -0.367055 +v 0.001862 0.196033 -0.367055 +v -0.001862 0.196033 -0.367055 +v -0.026880 0.219092 -0.633548 +v -0.026880 0.214242 -0.367055 +v -0.026880 0.219092 -0.367055 +v 0.002425 0.243547 -0.633548 +v 0.001862 0.237302 -0.633548 +v -0.001862 0.237302 -0.633548 +v -0.002425 0.189787 -0.633548 +v -0.001862 0.196033 -0.633548 +v 0.001862 0.196033 -0.633548 +v -0.002425 0.243547 -0.633548 +v 0.002425 0.243547 -0.367055 +v 0.026880 0.219092 -0.633548 +v 0.019718 0.236385 -0.367055 +v 0.026880 0.219092 -0.367055 +v 0.019718 0.236385 -0.633548 +v -0.019718 0.236385 -0.633548 +v -0.019718 0.236385 -0.367055 +v 0.026880 0.214242 -0.367055 +v 0.019718 0.196949 -0.633548 +v 0.026880 0.214242 -0.633548 +v 0.019718 0.196949 -0.367055 +v -0.026880 0.214242 -0.633548 +v -0.019718 0.196949 -0.367055 +v -0.019718 0.196949 -0.633548 +v -0.020635 0.218529 -0.367055 +v -0.020635 0.214805 -0.633548 +v -0.020635 0.218529 -0.633548 +v 0.015136 0.231803 -0.633548 +v 0.020635 0.218529 -0.367055 +v 0.015136 0.231803 -0.367055 +v -0.015136 0.231803 -0.367055 +v -0.015136 0.231803 -0.633548 +v 0.020635 0.214805 -0.367055 +v 0.015136 0.201531 -0.633548 +v 0.015136 0.201531 -0.367055 +v -0.015136 0.201531 -0.633548 +v -0.020635 0.214805 -0.367055 +v -0.015136 0.201531 -0.367055 +v 0.020635 0.218529 -0.633548 +v 0.020635 0.214805 -0.633548 +vn -0.1951 -0.9808 -0.0000 +vn 0.1951 -0.9808 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn -0.9808 0.1951 -0.0000 +vn -0.9808 -0.1951 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn -0.1951 0.9808 -0.0000 +vn 0.1951 0.9808 -0.0000 +vn 0.9808 0.1951 -0.0000 +vn 0.7071 0.7071 -0.0000 +vn -0.7071 0.7071 -0.0000 +vn 0.9808 -0.1951 -0.0000 +vn 0.7071 -0.7071 -0.0000 +vn -0.7071 -0.7071 -0.0000 +vt 0.588344 0.422031 +vt 0.590616 0.396347 +vt 0.590616 0.422031 +vt 0.816190 0.537904 +vt 0.810508 0.548747 +vt 0.803793 0.545966 +vt 0.767283 0.631233 +vt 0.772965 0.620390 +vt 0.779680 0.623172 +vt 0.404454 0.586481 +vt 0.402136 0.560797 +vt 0.404454 0.560797 +vt 0.556937 0.482545 +vt 0.559591 0.483935 +vt 0.558910 0.485579 +vt 0.579779 0.494514 +vt 0.577125 0.493124 +vt 0.577806 0.491480 +vt 0.587488 0.577888 +vt 0.589806 0.552204 +vt 0.589806 0.577888 +vt 0.589806 0.526521 +vt 0.598067 0.552204 +vt 0.598067 0.577888 +vt 0.412715 0.586481 +vt 0.579227 0.552204 +vt 0.579227 0.577888 +vt 0.587488 0.552204 +vt 0.579227 0.526521 +vt 0.587488 0.526521 +vt 0.598051 0.422031 +vt 0.598051 0.396347 +vt 0.402136 0.586481 +vt 0.393875 0.560797 +vt 0.579574 0.396347 +vt 0.579574 0.422031 +vt 0.560711 0.557920 +vt 0.560053 0.548419 +vt 0.560711 0.548419 +vt 0.497042 0.578916 +vt 0.496384 0.569415 +vt 0.497042 0.569415 +vt 0.506272 0.569862 +vt 0.506918 0.579363 +vt 0.506272 0.579363 +vt 0.563051 0.509766 +vt 0.560705 0.500265 +vt 0.563051 0.500265 +vt 0.509408 0.569862 +vt 0.509408 0.579363 +vt 0.499388 0.578916 +vt 0.504161 0.569862 +vt 0.560047 0.500265 +vt 0.557701 0.509766 +vt 0.557701 0.500265 +vt 0.563057 0.557920 +vt 0.494038 0.569415 +vt 0.496384 0.578916 +vt 0.494038 0.578916 +vt 0.557707 0.548419 +vt 0.560053 0.557920 +vt 0.557707 0.557920 +vt 0.560705 0.509766 +vt 0.588344 0.396347 +vt 0.755915 0.565797 +vt 0.745072 0.560115 +vt 0.775747 0.545966 +vt 0.770907 0.534281 +vt 0.807442 0.534281 +vt 0.842024 0.563739 +vt 0.842024 0.600274 +vt 0.830339 0.568579 +vt 0.830339 0.596625 +vt 0.827558 0.603340 +vt 0.838401 0.609022 +vt 0.812566 0.634856 +vt 0.807726 0.623172 +vt 0.776031 0.634856 +vt 0.741449 0.605398 +vt 0.741449 0.568863 +vt 0.753133 0.600559 +vt 0.753133 0.572512 +vt 0.558910 0.492443 +vt 0.563764 0.497297 +vt 0.562373 0.499950 +vt 0.556050 0.493627 +vt 0.556050 0.484686 +vt 0.563260 0.476222 +vt 0.572202 0.476222 +vt 0.564445 0.479082 +vt 0.571309 0.479082 +vt 0.572952 0.479762 +vt 0.574343 0.477109 +vt 0.580666 0.483431 +vt 0.577806 0.484616 +vt 0.580666 0.492373 +vt 0.573456 0.500837 +vt 0.564514 0.500837 +vt 0.572271 0.497977 +vt 0.565407 0.497977 +vt 0.598067 0.526521 +vt 0.412715 0.560797 +vt 0.393875 0.586481 +vt 0.506918 0.569862 +vt 0.499388 0.569415 +vt 0.504161 0.579363 +vt 0.560047 0.509766 +vt 0.563057 0.548419 +s 1 +f 391/924/173 392/925/174 393/926/174 +f 394/927/175 395/928/175 396/929/175 +f 393/930/175 397/931/175 398/932/175 +f 399/933/176 400/934/177 401/935/176 +f 402/936/178 403/937/178 404/938/178 +f 405/939/178 406/940/178 407/941/178 +f 408/942/179 409/943/180 402/944/180 +f 410/945/181 411/946/182 412/943/181 +f 413/947/182 409/943/180 411/946/182 +f 401/935/176 414/948/183 399/933/176 +f 415/949/183 408/942/179 414/950/183 +f 416/951/184 417/952/185 418/953/184 +f 419/954/185 392/925/174 417/955/185 +f 420/956/177 421/957/186 400/934/177 +f 422/958/186 391/924/173 421/959/186 +f 412/943/181 418/953/184 410/945/181 +f 407/960/179 398/961/180 397/962/179 +f 423/963/184 424/964/181 425/965/184 +f 404/966/174 396/967/173 395/968/174 +f 426/969/186 427/970/177 428/971/186 +f 396/967/173 426/972/186 428/973/186 +f 425/965/184 429/974/185 423/963/184 +f 395/968/174 430/975/185 404/966/174 +f 431/976/176 432/977/183 433/978/183 +f 397/962/179 432/979/183 407/960/179 +f 434/980/182 435/981/181 436/982/182 +f 436/983/182 406/984/180 434/985/182 +f 437/986/177 431/976/176 427/970/177 +f 391/924/173 405/987/173 392/925/174 +f 427/988/175 412/989/175 428/990/175 +f 412/989/175 411/991/175 428/990/175 +f 411/991/175 409/992/175 428/990/175 +f 409/992/175 394/927/175 396/929/175 +f 415/993/175 401/994/175 429/995/175 +f 401/994/175 423/996/175 429/995/175 +f 396/929/175 428/990/175 409/992/175 +f 394/927/175 415/993/175 429/995/175 +f 394/927/175 429/995/175 395/928/175 +f 435/997/175 423/996/175 401/994/175 +f 401/994/175 400/998/175 435/997/175 +f 400/998/175 421/999/175 436/1000/175 +f 435/997/175 400/998/175 436/1000/175 +f 421/999/175 391/1001/175 436/1000/175 +f 391/1001/175 393/930/175 398/932/175 +f 436/1000/175 391/1001/175 398/932/175 +f 419/1002/175 416/1003/175 433/1004/175 +f 416/1003/175 412/989/175 431/1005/175 +f 433/1004/175 416/1003/175 431/1005/175 +f 412/989/175 427/988/175 431/1005/175 +f 419/1002/175 433/1004/175 393/930/175 +f 433/1004/175 397/931/175 393/930/175 +f 399/933/176 420/956/177 400/934/177 +f 430/1006/178 425/1007/178 399/1008/178 +f 414/1009/178 408/1010/178 430/1006/178 +f 408/1010/178 402/936/178 404/938/178 +f 413/1011/178 410/1012/178 426/1013/178 +f 410/1012/178 437/1014/178 426/1013/178 +f 430/1006/178 399/1008/178 414/1009/178 +f 404/938/178 430/1006/178 408/1010/178 +f 402/936/178 413/1011/178 426/1013/178 +f 402/936/178 426/1013/178 403/937/178 +f 438/1015/178 437/1014/178 410/1012/178 +f 410/1012/178 418/1016/178 438/1015/178 +f 418/1016/178 417/1017/178 432/1018/178 +f 438/1015/178 418/1016/178 432/1018/178 +f 417/1017/178 392/1019/178 432/1018/178 +f 392/1019/178 405/939/178 407/941/178 +f 432/1018/178 392/1019/178 407/941/178 +f 422/1020/178 420/1021/178 434/1022/178 +f 420/1021/178 399/1008/178 424/1023/178 +f 434/1022/178 420/1021/178 424/1023/178 +f 399/1008/178 425/1007/178 424/1023/178 +f 422/1020/178 434/1022/178 405/939/178 +f 434/1022/178 406/940/178 405/939/178 +f 408/942/179 394/951/179 409/943/180 +f 410/945/181 413/1024/182 411/946/182 +f 413/947/182 402/944/180 409/943/180 +f 401/935/176 415/1025/183 414/948/183 +f 415/949/183 394/951/179 408/942/179 +f 416/951/184 419/949/185 417/952/185 +f 419/954/185 393/926/174 392/925/174 +f 420/956/177 422/1026/186 421/957/186 +f 422/958/186 405/987/173 391/924/173 +f 412/943/181 416/951/184 418/953/184 +f 407/960/179 406/984/180 398/961/180 +f 423/963/184 435/981/181 424/964/181 +f 404/966/174 403/1027/173 396/967/173 +f 426/969/186 437/986/177 427/970/177 +f 396/967/173 403/1027/173 426/972/186 +f 425/965/184 430/1028/185 429/974/185 +f 395/968/174 429/1029/185 430/975/185 +f 431/976/176 438/1030/176 432/977/183 +f 397/962/179 433/1031/183 432/979/183 +f 434/980/182 424/964/181 435/981/181 +f 436/983/182 398/961/180 406/984/180 +f 437/986/177 438/1030/176 431/976/176 +o Magazine +v -0.042117 -0.212138 0.127708 +v -0.042117 0.131847 0.043860 +v -0.042117 -0.244139 -0.012119 +v -0.042117 0.120877 -0.098352 +v 0.041739 -0.212138 0.127708 +v 0.041739 0.131847 0.043860 +v 0.041739 -0.244139 -0.012119 +v 0.041739 0.120877 -0.098352 +v -0.042117 -0.261123 -0.008232 +v -0.042117 -0.229122 0.131595 +v 0.041739 -0.261123 -0.008232 +v 0.041739 -0.229122 0.131595 +v 0.040745 -0.245905 -0.027060 +v -0.043111 -0.245905 -0.027060 +v 0.040745 -0.258158 -0.023173 +v -0.043111 -0.258158 -0.023173 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 -0.2299 -0.9732 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 0.2368 0.9716 +vn -0.0000 0.9931 -0.1174 +vn -0.0000 0.9970 -0.0769 +vn -0.0000 -0.9748 0.2231 +vn -0.0000 0.2231 0.9748 +vn -0.0000 -0.3024 -0.9532 +vn -0.0000 -0.9809 -0.1947 +vn 0.9976 -0.0178 -0.0671 +vn -0.9976 0.0178 0.0671 +vt 0.466318 0.482313 +s 0 +f 439/1032/187 440/1032/187 442/1032/187 441/1032/187 +f 441/1032/188 442/1032/188 446/1032/188 445/1032/188 +f 445/1032/189 446/1032/189 444/1032/189 443/1032/189 +f 443/1032/190 444/1032/190 440/1032/190 439/1032/190 +f 441/1032/191 445/1032/191 451/1032/191 452/1032/191 +f 446/1032/192 442/1032/192 440/1032/192 444/1032/192 +f 447/1032/193 449/1032/193 450/1032/193 448/1032/193 +f 439/1032/187 441/1032/187 447/1032/187 448/1032/187 +f 445/1032/189 443/1032/189 450/1032/189 449/1032/189 +f 443/1032/194 439/1032/194 448/1032/194 450/1032/194 +f 452/1032/195 451/1032/195 453/1032/195 454/1032/195 +f 449/1032/196 447/1032/196 454/1032/196 453/1032/196 +f 445/1032/197 449/1032/197 453/1032/197 451/1032/197 +f 447/1032/198 441/1032/198 452/1032/198 454/1032/198 diff --git a/src/main/resources/assets/hbm/models/weapons/ks23.obj b/src/main/resources/assets/hbm/models/weapons/ks23.obj index 3ead6136b..7cd975554 100644 --- a/src/main/resources/assets/hbm/models/weapons/ks23.obj +++ b/src/main/resources/assets/hbm/models/weapons/ks23.obj @@ -1,1807 +1,604 @@ -# Blender v2.79 (sub 0) OBJ File: '' +# Blender 4.0.1 # www.blender.org -o Cube.016_Cube.025 -v 1.745492 0.611074 -0.008405 -v 1.745492 0.611074 0.008405 -v 1.745492 0.626074 0.000000 -v 1.548361 0.523926 -0.025216 -v 1.548361 0.546074 -0.025216 -v 1.745492 0.596074 -0.025216 -v 1.851639 0.596074 -0.025216 -v 1.851639 0.523926 -0.025216 -v 1.745492 0.523926 -0.025216 -v 1.851639 0.611074 -0.008405 -v 1.851639 0.626074 0.000000 -v 1.745492 0.596074 0.008405 -v 1.851639 0.596074 0.008405 -v 1.851639 0.611074 0.008405 -v 1.745492 0.596074 0.025216 -v 1.851639 0.596074 0.025216 -v 1.745492 0.596074 -0.008405 -v 1.851639 0.523926 0.025216 -v 1.548361 0.546074 0.025216 -v 1.548361 0.523926 0.025216 -v 1.745492 0.523926 0.025216 -v 1.851639 0.596074 -0.008405 -vt 0.680946 0.743152 -vt 0.680946 0.743152 -vt 0.680946 0.747663 -vt 0.712868 0.738640 -vt 0.712868 0.716943 -vt 0.680946 0.716943 -vt 0.712868 0.747663 -vt 0.712868 0.743152 -vt 0.712868 0.738640 -vt 0.680946 0.738640 -vt 0.712868 0.738640 -vt 0.680946 0.738640 -vt 0.621661 0.723604 -vt 0.621661 0.716943 -vt 0.680946 0.716943 -vt 0.621661 0.716943 -vt 0.680946 0.738640 -vt 0.712868 0.738640 -vt 0.712868 0.743152 -vt 0.621661 0.723604 -vt 0.712868 0.716943 -vt 0.680946 0.738640 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 0.4888 -0.8724 -vn 0.0000 -0.0000 1.0000 -vn 0.0000 1.0000 0.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 0.4888 0.8724 -vn -0.2459 0.9693 0.0000 -vn 1.0000 0.0000 0.0000 -s off -f 1/1/1 2/2/1 3/3/1 -f 7/4/2 8/5/2 9/6/2 -f 1/1/3 11/7/3 10/8/3 -f 13/9/4 2/2/4 12/10/4 -f 12/10/5 16/11/5 13/9/5 -f 12/10/1 1/1/1 17/12/1 -f 19/13/4 20/14/4 21/15/4 -f 9/6/6 20/14/6 4/16/6 -f 6/17/5 22/18/5 7/4/5 -f 14/19/7 3/3/7 2/2/7 -f 12/10/8 17/12/8 5/20/8 -f 17/12/2 10/8/2 22/18/2 -f 8/5/6 21/15/6 9/6/6 -f 22/18/9 14/19/9 13/9/9 -f 22/18/9 13/9/9 18/21/9 -f 14/19/9 10/8/9 11/7/9 -f 19/13/1 4/16/1 20/14/1 -f 9/6/2 4/16/2 5/20/2 -f 5/20/2 6/17/2 9/6/2 -f 6/17/2 7/4/2 9/6/2 -f 1/1/3 3/3/3 11/7/3 -f 13/9/4 14/19/4 2/2/4 -f 12/10/5 15/22/5 16/11/5 -f 12/10/1 2/2/1 1/1/1 -f 21/15/4 18/21/4 16/11/4 -f 16/11/4 15/22/4 21/15/4 -f 15/22/4 19/13/4 21/15/4 -f 9/6/6 21/15/6 20/14/6 -f 6/17/5 17/12/5 22/18/5 -f 14/19/7 11/7/7 3/3/7 -f 17/12/8 6/17/8 5/20/8 -f 5/20/8 19/13/8 12/10/8 -f 19/13/8 15/22/8 12/10/8 -f 17/12/2 1/1/2 10/8/2 -f 8/5/6 18/21/6 21/15/6 -f 22/18/9 10/8/9 14/19/9 -f 18/21/9 8/5/9 22/18/9 -f 8/5/9 7/4/9 22/18/9 -f 13/9/9 16/11/9 18/21/9 -f 19/13/1 5/20/1 4/16/1 -o Cube.011_Cube.023 -v -1.092482 0.577098 -0.054925 -v -1.092482 0.577098 0.056150 -v -1.092482 0.603150 0.056150 -v -1.092482 0.603150 -0.054925 -v -0.448868 0.627935 -0.054925 -v -0.448868 0.603150 -0.054925 -v -0.448868 0.603150 0.056150 -v -0.448868 0.627935 0.056150 -v -0.448868 0.627935 0.025312 -v -0.448868 0.603235 0.000612 -v -0.448868 0.627935 -0.024087 -v -0.419549 0.603150 -0.054925 -v -0.419549 0.603150 0.056150 -v -0.419549 0.577098 0.056150 -v -0.419549 0.577098 -0.054925 -v -0.448868 0.577098 -0.054925 -v -0.448868 0.577098 0.056150 -v -0.419549 0.627935 0.056150 -v -0.419549 0.627935 0.025312 -v -0.419549 0.627935 -0.054925 -v -0.419549 0.627935 -0.024087 -v -0.419549 0.603235 0.000612 -vt 0.394791 0.688361 -vt 0.394791 0.696196 -vt 0.394791 0.688361 -vt 0.588350 0.696196 -vt 0.588350 0.696196 -vt 0.588350 0.696221 -vt 0.597168 0.696196 -vt 0.597168 0.688361 -vt 0.597168 0.696196 -vt 0.588350 0.688361 -vt 0.588350 0.688361 -vt 0.394791 0.696196 -vt 0.597168 0.688361 -vt 0.588350 0.703650 -vt 0.597168 0.703650 -vt 0.588350 0.703650 -vt 0.588350 0.703650 -vt 0.597168 0.703650 -vt 0.597168 0.703650 -vt 0.597168 0.696221 -vt 0.588350 0.703650 -vt 0.597168 0.703650 -vn -1.0000 0.0000 0.0000 -vn -1.0000 0.0004 0.0000 -vn 1.0000 0.0000 0.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 0.0000 1.0000 -vn 0.0000 1.0000 0.0000 -vn 0.0000 0.7071 -0.7071 -vn 0.0000 0.7071 0.7071 -s off -f 24/23/10 26/24/10 23/25/10 -f 28/26/11 29/27/11 32/28/11 -f 35/29/12 37/30/12 34/31/12 -f 39/32/13 23/25/13 38/33/13 -f 34/31/14 38/33/14 28/26/14 -f 25/34/15 39/32/15 29/27/15 -f 29/27/15 36/35/15 35/29/15 -f 28/26/14 23/25/14 26/24/14 -f 36/35/13 38/33/13 37/30/13 -f 25/34/16 28/26/16 26/24/16 -f 30/36/16 41/37/16 31/38/16 -f 27/39/16 43/40/16 42/41/16 -f 35/29/12 34/31/12 44/42/12 -f 35/29/15 30/36/15 29/27/15 -f 28/26/14 42/41/14 34/31/14 -f 32/28/17 41/37/17 44/42/17 -f 33/43/18 44/42/18 43/40/18 -f 24/23/10 25/34/10 26/24/10 -f 33/43/10 27/39/10 28/26/10 -f 29/27/10 30/36/10 31/38/10 -f 32/28/10 33/43/10 28/26/10 -f 29/27/10 31/38/10 32/28/10 -f 35/29/12 36/35/12 37/30/12 -f 39/32/13 24/23/13 23/25/13 -f 34/31/14 37/30/14 38/33/14 -f 25/34/15 24/23/15 39/32/15 -f 29/27/15 39/32/15 36/35/15 -f 28/26/14 38/33/14 23/25/14 -f 36/35/13 39/32/13 38/33/13 -f 25/34/16 29/27/16 28/26/16 -f 30/36/16 40/44/16 41/37/16 -f 27/39/16 33/43/16 43/40/16 -f 44/42/12 41/37/12 35/29/12 -f 41/37/12 40/44/12 35/29/12 -f 34/31/12 42/41/12 43/40/12 -f 34/31/12 43/40/12 44/42/12 -f 35/29/15 40/44/15 30/36/15 -f 28/26/14 27/39/14 42/41/14 -f 32/28/17 31/38/17 41/37/17 -f 33/43/18 32/28/18 44/42/18 -o Plane.002 -v -1.380449 0.181206 0.012697 -v -1.291923 0.180872 0.012697 -v -1.254413 0.180730 0.011096 -v -1.241522 0.180681 0.006436 -v -1.241522 0.180681 -0.005212 -v -1.254413 0.180730 -0.009871 -v -1.291923 0.180872 -0.011473 -v -1.380449 0.181206 -0.011473 -v -1.433398 0.075307 0.012697 -v -1.418719 0.040182 0.012697 -v -1.418719 0.040182 0.012697 -v -1.429194 0.076073 0.012697 -v -1.423724 0.117095 0.012697 -v -1.410405 0.144311 0.012697 -v -1.356401 0.173001 0.012697 -v -1.415574 0.151323 0.012697 -v -1.430253 0.120917 0.012697 -v -1.403516 0.140314 0.006436 -v -1.415574 0.115674 0.006436 -v -1.415574 0.115674 -0.005212 -v -1.403516 0.140314 -0.005212 -v -1.420816 0.076355 0.006436 -v -1.420816 0.076355 -0.005212 -v -1.412952 0.045424 0.006436 -v -1.412952 0.045424 -0.005212 -v -1.398798 0.023366 0.006436 -v -1.398798 0.023366 -0.005212 -v -1.403893 0.027667 0.011096 -v -1.418719 0.040182 -0.011473 -v -1.418719 0.040182 -0.011473 -v -1.403893 0.027667 -0.009871 -v -1.433398 0.075307 -0.011473 -v -1.430253 0.120917 -0.011473 -v -1.415574 0.151323 -0.011473 -v -1.356401 0.173001 -0.011473 -v -1.410405 0.144311 -0.011473 -v -1.423724 0.117095 -0.011473 -v -1.429194 0.076073 -0.011473 -v -1.353188 0.167051 0.006436 -v -1.353188 0.167051 -0.005212 -v -1.354010 0.168573 0.011096 -v -1.405278 0.141336 0.011096 -v -1.417658 0.116037 0.011096 -v -1.422959 0.076283 0.011096 -v -1.414984 0.044916 0.011096 -v -1.354010 0.168573 -0.009871 -v -1.405278 0.141336 -0.009871 -v -1.417658 0.116037 -0.009871 -v -1.422959 0.076283 -0.009871 -v -1.414984 0.044916 -0.009871 -vt 0.559609 0.765930 -vt 0.494705 0.766175 -vt 0.559609 0.765930 -vt 0.462977 0.719170 -vt 0.472742 0.739125 -vt 0.458190 0.721973 -vt 0.468953 0.718129 -vt 0.477793 0.736194 -vt 0.477793 0.736194 -vt 0.465109 0.689302 -vt 0.468953 0.718129 -vt 0.470874 0.666624 -vt 0.465109 0.689302 -vt 0.481252 0.650452 -vt 0.470874 0.666624 -vt 0.466646 0.662781 -vt 0.466646 0.662781 -vt 0.481252 0.650452 -vt 0.455884 0.688533 -vt 0.458190 0.721973 -vt 0.462977 0.719170 -vt 0.455884 0.688533 -vt 0.466646 0.662781 -vt 0.468953 0.744266 -vt 0.494705 0.766175 -vt 0.468953 0.744266 -vt 0.514692 0.755797 -vt 0.514692 0.755797 -vt 0.514090 0.756913 -vt 0.587110 0.765826 -vt 0.596562 0.765790 -vt 0.512336 0.760159 -vt 0.476501 0.736944 -vt 0.467424 0.718395 -vt 0.463538 0.689249 -vt 0.458967 0.689095 -vt 0.469385 0.666251 -vt 0.466646 0.662781 -vt 0.477517 0.653605 -vt 0.587110 0.765826 -vt 0.596562 0.765790 -vt 0.514090 0.756913 -vt 0.476501 0.736944 -vt 0.512336 0.760159 -vt 0.467424 0.718395 -vt 0.472742 0.739125 -vt 0.463538 0.689249 -vt 0.469385 0.666251 -vt 0.458967 0.689095 -vt 0.477517 0.653605 -vn 0.0038 1.0000 0.0000 -vn -0.3434 0.9392 0.0000 -vn 0.1101 -0.0321 0.9934 -vn 0.0801 -0.0721 0.9942 +o Bolt +v 0.161448 0.393839 -0.026408 +v 0.161448 0.393839 0.021028 +v 0.175965 0.393896 0.023362 +v 0.175965 0.393564 -0.028355 +v -0.139708 0.393839 -1.037985 +v -0.139708 0.100576 -1.037985 +v -0.141234 0.099485 -1.013396 +v -0.141233 0.393839 -1.013400 +v -0.091905 0.047403 -1.660505 +v 0.093151 0.047403 -1.660505 +v 0.092973 0.047403 -1.037985 +v -0.091727 0.047403 -1.037985 +v 0.146160 0.393839 -0.995425 +v 0.146166 0.096349 -0.995410 +v 0.142480 0.099485 -1.013396 +v 0.142477 0.393839 -1.013400 +v 0.161448 0.392465 -0.226861 +v 0.161448 0.179659 -0.226861 +v 0.161448 0.176783 -0.269772 +v 0.161448 0.184279 -0.293139 +v 0.161448 0.392465 -0.293139 +v 0.161448 0.156742 -0.176861 +v 0.161448 0.179659 -0.193139 +v 0.161448 0.392465 -0.193139 +v 0.161448 0.098712 -0.026381 +v 0.161448 0.124456 -0.093139 +v 0.161448 0.392051 -0.093139 +v 0.161448 0.392051 -0.126861 +v 0.161448 0.137460 -0.126861 +v 0.161448 0.143738 -0.143139 +v 0.161448 0.392051 -0.143139 +v 0.161448 0.392051 -0.176861 +v 0.161448 0.167893 -0.516984 +v 0.161448 0.163019 -0.510000 +v 0.161448 0.163019 -0.410000 +v 0.161448 0.163019 -0.310000 +v 0.161448 0.167893 -0.303016 +v 0.161448 0.179659 -0.293139 +v 0.161448 0.163019 -0.210000 +v 0.161448 0.100073 -0.176861 +v 0.161448 0.088307 -0.166984 +v 0.161448 0.083433 -0.160000 +v 0.161448 0.088307 -0.153016 +v 0.161448 0.100073 -0.143139 +v 0.161448 0.100073 -0.126861 +v 0.161448 0.088307 -0.116984 +v 0.161448 0.083433 -0.110000 +v 0.161448 0.088307 -0.103016 +v 0.161448 0.100073 -0.093139 +v 0.161448 0.080437 -0.026379 +v 0.161448 0.080575 -0.927107 +v 0.161448 0.393839 -0.927107 +v 0.161448 0.392465 -0.326861 +v 0.161448 0.392465 -0.393139 +v 0.161448 0.392465 -0.426861 +v 0.161448 0.392465 -0.493139 +v 0.161448 0.392465 -0.526861 +v 0.161448 0.392465 -0.593139 +v 0.161448 0.392465 -0.626861 +v 0.161448 0.392465 -0.693139 +v 0.161448 0.392465 -0.726861 +v 0.161448 0.392465 -0.793139 +v 0.161448 0.392465 -0.826861 +v 0.161448 0.179659 -0.826861 +v 0.161448 0.167893 -0.816984 +v 0.161448 0.163019 -0.810000 +v 0.161448 0.163019 -0.710000 +v 0.161448 0.163019 -0.610000 +v 0.140953 0.100576 -1.037985 +v 0.140953 0.393839 -1.037985 +v 0.159923 0.393839 -0.951692 +v 0.156242 0.393839 -0.969667 +v 0.140953 0.393839 -1.660505 +v -0.139708 0.393839 -1.660505 +v -0.144914 0.393839 -0.995425 +v -0.154997 0.393839 -0.969667 +v -0.158678 0.393839 -0.951692 +v -0.160203 0.393839 -0.927107 +v -0.160203 0.393839 -0.026414 +v -0.160203 0.393839 0.021028 +v -0.144920 0.096349 -0.995410 +v -0.154991 0.086522 -0.969682 +v -0.139708 0.100430 -1.660505 +v 0.140953 0.100430 -1.660505 +v 0.137546 0.034507 0.021028 +v 0.155043 0.053917 0.021028 +v 0.161448 0.080430 0.021028 +v -0.160203 0.080430 0.021028 +v -0.153799 0.053917 0.021028 +v -0.136302 0.034507 0.021028 +v -0.112400 0.027403 0.021028 +v 0.113645 0.027403 0.021028 +v 0.156235 0.086522 -0.969682 +v 0.159921 0.082465 -0.951696 +v 0.094000 0.045913 -1.013395 +v -0.092755 0.045913 -1.013395 +v -0.095793 0.042316 -0.995407 +v 0.097038 0.042316 -0.995407 +v 0.107106 0.032491 -0.969685 +v -0.105861 0.032491 -0.969685 +v -0.158677 0.082465 -0.951696 +v -0.160203 0.080575 -0.927107 +v 0.113467 0.027403 -0.927107 +v -0.112223 0.027403 -0.927107 +v -0.110196 0.028893 -0.951697 +v 0.111441 0.028893 -0.951697 +v -0.115806 0.054507 -1.660505 +v -0.133303 0.073917 -1.660505 +v 0.134549 0.073917 -1.660505 +v 0.117052 0.054507 -1.660505 +v 0.118240 0.053090 -1.013395 +v 0.121602 0.049555 -0.995408 +v 0.135985 0.072699 -1.013395 +v 0.139584 0.069332 -0.995409 +v 0.116963 0.054527 -1.037985 +v 0.134525 0.073989 -1.037985 +v -0.116995 0.053090 -1.013395 +v -0.115718 0.054527 -1.037985 +v -0.134739 0.072699 -1.013395 +v -0.133280 0.073989 -1.037985 +v -0.120357 0.049555 -0.995408 +v -0.138339 0.069332 -0.995409 +v -0.134436 0.036070 -0.951697 +v -0.130425 0.039729 -0.969685 +v -0.152181 0.055679 -0.951697 +v -0.148408 0.059506 -0.969684 +v -0.136212 0.034527 -0.927107 +v -0.153775 0.053989 -0.927107 +v 0.135681 0.036070 -0.951697 +v 0.137458 0.034527 -0.927107 +v 0.153426 0.055679 -0.951697 +v 0.155020 0.053989 -0.927107 +v 0.131670 0.039729 -0.969685 +v 0.149653 0.059506 -0.969684 +v -0.174720 0.393564 -0.028361 +v -0.174720 0.393896 0.023362 +v 0.155042 0.053920 -0.026379 +v 0.175964 0.077206 -0.028324 +v 0.168981 0.048295 -0.028324 +v -0.167737 0.048291 0.023362 +v -0.148661 0.027130 0.023362 +v 0.113637 0.027403 -0.026379 +v 0.137542 0.034508 -0.026379 +v -0.160203 0.180122 -0.393139 +v -0.160203 0.168028 -0.403016 +v -0.160203 0.163019 -0.410000 +v -0.160203 0.162014 -0.310637 +v -0.160203 0.392465 -0.326861 +v -0.160203 0.392465 -0.393139 +v 0.182426 0.392465 -0.326861 +v 0.182426 0.179659 -0.326861 +v 0.161448 0.179659 -0.326861 +v -0.160203 0.180122 -0.426861 +v -0.181181 0.180122 -0.426861 +v -0.181181 0.392465 -0.426861 +v -0.160203 0.392465 -0.426861 +v 0.182426 0.392465 -0.193139 +v 0.182426 0.392465 -0.226861 +v -0.181181 0.392465 -0.226861 +v -0.181181 0.392465 -0.193139 +v -0.160203 0.392465 -0.193139 +v -0.160203 0.392465 -0.226861 +v -0.160203 0.137460 -0.126861 +v -0.160203 0.392051 -0.126861 +v -0.160203 0.392051 -0.093139 +v -0.160203 0.124456 -0.093139 +v -0.160203 0.098712 -0.026381 +v -0.160203 0.180122 -0.193139 +v -0.160203 0.156742 -0.176861 +v -0.160203 0.392051 -0.176861 +v -0.160203 0.392051 -0.143139 +v -0.160203 0.143738 -0.143139 +v 0.182426 0.179659 -0.193139 +v -0.181181 0.180122 -0.193139 +v 0.182426 0.392465 -0.526861 +v 0.182426 0.179659 -0.526861 +v 0.161448 0.179659 -0.526861 +v -0.160203 0.180122 -0.526861 +v -0.181181 0.180122 -0.526861 +v -0.181181 0.392465 -0.526861 +v -0.160203 0.392465 -0.526861 +v 0.182426 0.392465 -0.293139 +v -0.181181 0.392465 -0.326861 +v -0.181181 0.392465 -0.293139 +v -0.160203 0.392465 -0.293139 +v 0.182426 0.179659 -0.226861 +v -0.160203 0.180122 -0.226861 +v -0.181181 0.180122 -0.226861 +v 0.182426 0.179659 -0.293139 +v -0.160203 0.184279 -0.293139 +v -0.181181 0.180122 -0.293139 +v -0.160203 0.180122 -0.293139 +v -0.181270 0.162019 -0.310622 +v -0.160364 0.167861 -0.318624 +v -0.181431 0.167866 -0.318609 +v 0.182426 0.167893 -0.303016 +v 0.182426 0.163019 -0.310000 +v 0.182426 0.167893 -0.316984 +v -0.181181 0.392465 -0.393139 +v -0.181181 0.168028 -0.416984 +v -0.181181 0.163019 -0.410000 +v -0.181181 0.168028 -0.403016 +v -0.181181 0.180122 -0.393139 +v 0.182426 0.392465 -0.393139 +v 0.182426 0.392465 -0.426861 +v 0.182426 0.167893 -0.203016 +v 0.182426 0.163019 -0.210000 +v 0.182426 0.167893 -0.216984 +v -0.181181 0.180122 -0.326861 +v 0.182426 0.179659 -0.393139 +v 0.161448 0.179659 -0.393139 +v -0.160203 0.180122 -0.626861 +v -0.181181 0.180122 -0.626861 +v -0.181181 0.392465 -0.626861 +v -0.160203 0.392465 -0.626861 +v 0.182426 0.392465 -0.626861 +v 0.182426 0.179659 -0.626861 +v 0.161448 0.179659 -0.626861 +v -0.160203 0.180122 -0.726861 +v -0.181181 0.180122 -0.726861 +v -0.181181 0.392465 -0.726861 +v -0.160203 0.392465 -0.726861 +v 0.182426 0.392465 -0.493139 +v -0.181181 0.392465 -0.493139 +v -0.160203 0.392465 -0.493139 +v 0.182426 0.179659 -0.426861 +v 0.161448 0.179659 -0.426861 +v -0.181181 0.168028 -0.216984 +v -0.181181 0.163019 -0.210000 +v -0.181181 0.168028 -0.203016 +v 0.182426 0.179659 -0.493139 +v 0.161448 0.179659 -0.493139 +v -0.181181 0.180122 -0.493139 +v -0.160203 0.180122 -0.493139 +v 0.182426 0.392465 -0.726861 +v 0.182426 0.179659 -0.726861 +v 0.161448 0.179659 -0.726861 +v -0.160203 0.180122 -0.826861 +v -0.181181 0.180122 -0.826861 +v -0.181181 0.392465 -0.826861 +v -0.160203 0.392465 -0.826861 +v 0.182426 0.392465 -0.593139 +v -0.181181 0.392465 -0.593139 +v -0.160203 0.392465 -0.593139 +v 0.182426 0.167893 -0.403016 +v 0.182426 0.163019 -0.410000 +v 0.182426 0.167893 -0.416984 +v 0.182426 0.179659 -0.593139 +v 0.161448 0.179659 -0.593139 +v -0.181181 0.180122 -0.593139 +v -0.160203 0.180122 -0.593139 +v 0.182426 0.392465 -0.826861 +v 0.182426 0.179659 -0.826861 +v -0.160203 0.100536 -0.126861 +v -0.181181 0.100536 -0.126861 +v -0.181181 0.392051 -0.126861 +v 0.182426 0.392465 -0.693139 +v -0.181181 0.392465 -0.693139 +v -0.160203 0.392465 -0.693139 +v 0.182426 0.167893 -0.503016 +v 0.182426 0.163019 -0.510000 +v 0.182426 0.167893 -0.516984 +v 0.182426 0.179659 -0.693139 +v 0.161448 0.179659 -0.693139 +v -0.181181 0.180122 -0.693139 +v -0.160203 0.180122 -0.693139 +v 0.182426 0.392051 -0.176861 +v 0.182426 0.100073 -0.176861 +v -0.181181 0.392051 -0.093139 +v -0.181181 0.088442 -0.116984 +v -0.181181 0.083433 -0.110000 +v -0.181181 0.088442 -0.103016 +v -0.181181 0.100536 -0.093139 +v 0.182426 0.392465 -0.793139 +v -0.181181 0.392465 -0.793139 +v -0.160203 0.392465 -0.793139 +v 0.182426 0.167893 -0.603016 +v 0.182426 0.163019 -0.610000 +v 0.182426 0.167893 -0.616984 +v -0.181181 0.168028 -0.516984 +v -0.181181 0.163019 -0.510000 +v -0.181181 0.168028 -0.503016 +v 0.182426 0.179659 -0.793139 +v 0.161448 0.179659 -0.793139 +v -0.181181 0.180122 -0.793139 +v -0.160203 0.180122 -0.793139 +v 0.182426 0.167893 -0.803016 +v 0.182426 0.163019 -0.810000 +v 0.182426 0.167893 -0.816984 +v 0.182426 0.392051 -0.093139 +v 0.182426 0.392051 -0.126861 +v 0.182426 0.167893 -0.703016 +v 0.182426 0.163019 -0.710000 +v 0.182426 0.167893 -0.716984 +v -0.181181 0.168028 -0.616984 +v -0.181181 0.163019 -0.610000 +v -0.181181 0.168028 -0.603016 +v 0.182426 0.100073 -0.093139 +v -0.160203 0.100536 -0.176861 +v -0.181181 0.100536 -0.176861 +v -0.181181 0.392051 -0.176861 +v -0.160203 0.100536 -0.093139 +v 0.182426 0.088307 -0.103016 +v 0.182426 0.083433 -0.110000 +v 0.182426 0.088307 -0.116984 +v 0.182426 0.100073 -0.126861 +v -0.181181 0.168028 -0.816984 +v -0.181181 0.163019 -0.810000 +v -0.181181 0.168028 -0.803016 +v 0.182426 0.392051 -0.143139 +v -0.181181 0.392051 -0.143139 +v -0.181181 0.168028 -0.716984 +v -0.181181 0.163019 -0.710000 +v -0.181181 0.168028 -0.703016 +v 0.182426 0.100073 -0.143139 +v -0.181181 0.100536 -0.143139 +v -0.160203 0.100536 -0.143139 +v 0.161448 0.167893 -0.203016 +v 0.161448 0.167893 -0.216984 +v 0.161448 0.167893 -0.316984 +v 0.161448 0.167893 -0.403016 +v 0.161448 0.167893 -0.416984 +v 0.161448 0.167893 -0.503016 +v 0.161448 0.167893 -0.603016 +v 0.161448 0.167893 -0.616984 +v 0.161448 0.167893 -0.703016 +v 0.161448 0.167893 -0.716984 +v 0.161448 0.167893 -0.803016 +v 0.182426 0.083433 -0.160000 +v 0.182426 0.088307 -0.166984 +v 0.182426 0.088307 -0.153016 +v -0.160203 0.168028 -0.203016 +v -0.160203 0.163019 -0.210000 +v -0.160203 0.168028 -0.216984 +v -0.160203 0.168028 -0.416984 +v -0.160203 0.168028 -0.503016 +v -0.160203 0.163019 -0.510000 +v -0.160203 0.168028 -0.516984 +v -0.160203 0.168028 -0.603016 +v -0.160203 0.163019 -0.610000 +v -0.160203 0.168028 -0.303016 +v -0.160203 0.168028 -0.616984 +v -0.160203 0.163019 -0.710000 +v -0.160203 0.163019 -0.810000 +v -0.160203 0.168028 -0.816984 +v -0.160203 0.080437 -0.026379 +v -0.160203 0.088442 -0.103016 +v -0.160203 0.083433 -0.110000 +v -0.160203 0.088442 -0.116984 +v -0.160203 0.088442 -0.153016 +v -0.160203 0.083433 -0.160000 +v -0.160203 0.088442 -0.166984 +v -0.160203 0.168028 -0.703016 +v -0.160203 0.168028 -0.716984 +v -0.160203 0.168028 -0.803016 +v -0.181181 0.083433 -0.160000 +v -0.181181 0.088442 -0.153016 +v -0.181181 0.088442 -0.166984 +v -0.181431 0.168028 -0.303126 +v -0.160114 0.180117 -0.326876 +v -0.112391 0.027403 -0.026379 +v 0.123837 0.019385 -0.028324 +v -0.122592 0.019385 -0.028324 +v 0.175964 0.077198 0.023362 +v -0.136297 0.034508 -0.026379 +v -0.148656 0.027131 -0.028324 +v -0.153798 0.053920 -0.026379 +v 0.123847 0.019385 0.023362 +v -0.122602 0.019385 0.023362 +v 0.175964 0.097130 -0.028325 +v -0.174720 0.077198 0.023362 +v -0.167736 0.048295 -0.028324 +v 0.168982 0.048291 0.023362 +v -0.174720 0.077206 -0.028324 +v 0.149905 0.027130 0.023362 +v 0.149901 0.027131 -0.028324 +v -0.174720 0.097130 -0.028326 +v 0.079173 0.413916 0.706758 +v 0.133032 0.413916 0.706758 +v 0.133032 0.467775 0.706758 +v 0.079173 0.467775 0.706758 +v 0.079173 0.467775 0.274201 +v 0.133032 0.467775 0.638249 +v 0.132611 0.467775 0.638244 +v 0.132611 0.467775 0.274201 +v 0.132804 0.413916 0.274201 +v 0.079173 0.413916 0.274201 +v 0.132805 0.466244 0.274201 +v 0.132804 0.413916 0.638765 +v 0.133032 0.413916 0.638765 +v 0.133032 0.466254 0.638765 +v 0.120479 0.520191 0.602429 +v 0.120479 0.520191 0.201794 +v 0.104105 0.551348 0.201794 +v 0.104105 0.551348 0.558765 +v 0.130619 0.493740 0.629471 +v 0.130619 0.493740 0.201794 +v 0.134105 0.466292 0.638765 +v 0.134105 0.466292 0.201794 +v 0.134105 0.350993 0.638765 +v 0.134105 0.350993 0.201794 +v 0.119244 0.519875 0.602429 +v 0.102899 0.550972 0.558765 +v 0.102899 0.550972 0.201794 +v 0.119250 0.519861 0.201794 +v 0.129342 0.493549 0.201794 +v 0.129338 0.493568 0.629471 +v 0.132805 0.466243 0.201794 +v 0.132804 0.350993 0.201794 +v 0.132804 0.350993 0.638765 +vn 0.0004 1.0000 -0.0028 +vn 0.0146 0.9999 -0.0013 +vn 0.0067 1.0000 -0.0000 +vn -0.9926 -0.1169 -0.0334 +vn -0.9913 -0.0000 -0.1316 +vn -0.9995 -0.0000 -0.0310 +vn 0.1440 -0.9896 -0.0000 +vn -0.1422 -0.9893 -0.0330 +vn -0.1440 -0.9896 -0.0000 +vn 0.9589 -0.0000 -0.2836 +vn 0.9832 -0.1132 -0.1432 +vn 0.9913 -0.0000 -0.1316 +vn 1.0000 -0.0000 -0.0000 +vn 0.9926 -0.1169 -0.0334 +vn 0.9995 -0.0000 -0.0310 +vn -0.0000 1.0000 -0.0000 +vn -0.9589 -0.0000 -0.2836 +vn -0.9449 -0.1072 -0.3093 +vn -0.9430 -0.1154 -0.3120 +vn -1.0000 -0.0000 -0.0000 +vn 0.9930 -0.1183 -0.0000 +vn 0.0095 0.1424 0.9898 +vn -0.0095 0.1424 0.9898 +vn 0.0836 0.0092 0.9965 +vn 0.9449 -0.1072 -0.3093 +vn 0.9814 -0.1217 -0.1484 +vn 0.1373 -0.9803 -0.1420 +vn 0.1423 -0.9893 -0.0330 +vn -0.1283 -0.9426 -0.3084 +vn 0.1375 -0.9399 -0.3125 +vn -0.1375 -0.9399 -0.3125 +vn -0.9832 -0.1132 -0.1432 +vn 0.1283 -0.9426 -0.3084 +vn -0.9814 -0.1217 -0.1484 +vn 0.1469 -0.9885 -0.0359 +vn -0.1468 -0.9778 -0.1497 +vn 0.1468 -0.9778 -0.1497 +vn 0.9430 -0.1154 -0.3120 +vn -0.0000 -0.0000 -1.0000 +vn 0.5211 -0.8364 -0.1702 +vn 0.4874 -0.7903 -0.3714 +vn 0.8246 -0.4304 -0.3672 +vn 0.8732 -0.4571 -0.1689 +vn 0.5318 -0.8460 -0.0388 +vn 0.8843 -0.4652 -0.0387 +vn -0.1373 -0.9803 -0.1420 +vn -0.5318 -0.8460 -0.0387 +vn -0.8732 -0.4571 -0.1689 +vn -0.8844 -0.4652 -0.0387 +vn -0.5211 -0.8364 -0.1702 +vn -0.8246 -0.4304 -0.3672 +vn -0.4936 -0.7869 -0.3704 +vn -0.8676 -0.4633 -0.1804 +vn -0.8215 -0.4371 -0.3662 +vn -0.1469 -0.9885 -0.0359 +vn -0.5265 -0.8301 -0.1835 +vn -0.8823 -0.4685 -0.0445 +vn -0.9920 -0.1209 -0.0355 +vn 0.5265 -0.8302 -0.1835 +vn 0.5348 -0.8437 -0.0454 +vn 0.8823 -0.4685 -0.0446 +vn 0.8676 -0.4633 -0.1804 +vn 0.9920 -0.1209 -0.0355 +vn 0.4936 -0.7869 -0.3704 +vn 0.8215 -0.4371 -0.3662 +vn -0.5338 -0.8456 0.0001 +vn -0.8845 -0.4665 0.0001 +vn -0.9930 -0.1182 -0.0000 +vn -0.4874 -0.7903 -0.3714 +vn 0.8845 -0.4665 0.0001 +vn -0.0004 1.0000 -0.0028 +vn -0.0146 0.9999 -0.0013 +vn 0.0029 1.0000 -0.0064 +vn -0.1131 0.0626 -0.9916 +vn -0.1292 0.0162 -0.9915 +vn -0.1147 0.0586 -0.9917 +vn 0.0784 0.0434 0.9960 +vn 0.1020 0.1407 0.9848 +vn 0.0494 0.1002 0.9937 +vn 0.5338 -0.8456 -0.0001 +vn 0.8845 -0.4665 -0.0001 +vn -0.0000 -0.3421 -0.9397 +vn -0.0000 -0.3358 -0.9419 +vn -0.0000 -0.3421 0.9397 vn -0.0000 -0.0000 1.0000 -vn 0.9341 -0.2854 0.2145 -vn 0.6960 -0.6878 -0.2064 -vn 0.6960 -0.6878 0.2063 -vn 0.9739 0.0574 0.2195 -vn 0.9341 -0.2853 -0.2146 -vn 0.8951 0.3928 0.2112 -vn 0.9739 0.0574 -0.2195 -vn 0.8357 0.5363 0.1183 -vn 0.8951 0.3928 -0.2112 -vn -0.7148 -0.5030 0.4859 -vn -0.0627 -0.0742 0.9953 -vn -0.6450 -0.7641 -0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.1102 -0.0321 -0.9934 -vn -0.9867 -0.1628 0.0000 -vn -0.6524 -0.2727 0.7071 -vn -0.9666 0.2564 0.0000 -vn -0.7913 0.6114 0.0000 -vn 0.2917 -0.9400 -0.1772 -vn 0.2917 -0.9400 0.1772 -vn 0.0377 -0.3088 0.9504 -vn 0.1989 -0.6358 0.7458 -vn 0.1130 -0.9257 0.3609 -vn 0.1209 -0.9907 0.0625 -vn 0.0437 -0.1306 0.9905 -vn 0.4336 -0.4244 0.7949 -vn 0.5920 -0.1790 0.7858 -vn 0.6069 0.0354 0.7940 -vn 0.1100 0.0064 0.9939 -vn 0.5873 0.2461 0.7710 -vn 0.1549 0.0753 0.9851 -vn 0.7426 0.4766 0.4706 -vn 0.1130 -0.9257 -0.3610 -vn 0.1209 -0.9907 -0.0625 -vn 0.1989 -0.6359 -0.7457 -vn 0.0377 -0.3086 -0.9504 -vn 0.4336 -0.4245 -0.7949 -vn 0.0437 -0.1307 -0.9905 -vn 0.5920 -0.1790 -0.7858 -vn 0.0801 -0.0721 -0.9942 -vn 0.6070 0.0354 -0.7939 -vn 0.5873 0.2462 -0.7710 -vn 0.1101 0.0064 -0.9939 -vn 0.7425 0.4766 -0.4706 -vn 0.5300 0.2577 -0.8079 -vn 0.8357 0.5363 -0.1183 -vn -0.4437 -0.5256 0.7259 -vn -0.6450 -0.7642 -0.0000 -s 1 -f 51/45/19 52/46/20 46/47/19 -f 57/48/21 58/49/22 61/50/23 -f 63/51/24 65/52/25 62/53/26 -f 66/54/27 64/55/28 63/51/24 -f 68/56/29 67/57/30 66/54/27 -f 70/58/31 69/59/32 68/56/29 -f 73/60/33 74/61/34 71/62/35 -f 76/63/36 77/64/36 81/65/37 -f 53/66/38 73/60/33 54/67/39 -f 61/50/40 76/63/38 53/66/38 -f 60/68/41 77/64/40 61/50/40 -f 45/69/20 78/70/41 60/68/41 -f 62/53/26 84/71/42 83/72/43 -f 46/47/44 85/73/45 47/74/46 -f 47/74/46 83/72/43 48/75/47 -f 59/76/48 86/77/49 85/73/45 -f 85/73/45 62/53/26 83/72/43 -f 58/49/22 87/78/50 86/77/49 -f 86/77/49 63/51/24 62/53/26 -f 57/48/21 88/79/51 87/78/50 -f 87/78/50 66/54/27 63/51/24 -f 56/80/52 89/81/53 88/79/51 -f 89/81/53 66/54/27 88/79/51 -f 55/82/54 72/83/55 89/81/53 -f 72/83/55 68/56/29 89/81/53 -f 84/71/42 50/84/56 49/85/57 -f 90/86/58 51/45/59 50/84/56 -f 65/52/25 90/86/58 84/71/42 -f 91/87/60 79/88/61 90/86/58 -f 64/55/28 91/87/60 65/52/25 -f 92/89/62 80/90/63 91/87/60 -f 67/57/30 92/89/62 64/55/28 -f 93/91/64 81/65/37 92/89/62 -f 67/57/30 94/92/65 93/91/64 -f 94/92/65 82/93/66 93/91/64 -f 69/59/32 75/94/67 94/92/65 -f 94/92/65 75/94/67 74/61/68 -f 83/72/43 49/85/57 48/75/47 -f 52/46/20 45/69/20 46/47/19 -f 46/47/19 47/74/19 50/84/19 -f 47/74/19 48/75/19 50/84/19 -f 48/75/19 49/85/19 50/84/19 -f 50/84/19 51/45/19 46/47/19 -f 53/66/23 54/67/23 55/82/54 -f 53/66/23 55/82/54 56/80/52 -f 45/69/23 60/68/23 58/49/22 -f 60/68/23 61/50/23 58/49/22 -f 59/76/48 46/47/44 45/69/23 -f 58/49/22 59/76/48 45/69/23 -f 61/50/23 53/66/23 57/48/21 -f 53/66/23 56/80/52 57/48/21 -f 63/51/24 64/55/28 65/52/25 -f 66/54/27 67/57/30 64/55/28 -f 68/56/29 69/59/32 67/57/30 -f 70/58/31 71/62/69 69/59/32 -f 71/62/35 70/58/35 72/83/35 -f 55/82/70 54/67/39 73/60/33 -f 71/62/35 72/83/35 73/60/33 -f 72/83/35 55/82/70 73/60/33 -f 74/61/34 75/94/71 71/62/35 -f 77/64/36 78/70/36 80/90/63 -f 78/70/36 52/46/36 80/90/63 -f 52/46/36 51/45/59 79/88/61 -f 52/46/36 79/88/61 80/90/63 -f 74/61/68 73/60/23 76/63/36 -f 82/93/66 74/61/68 76/63/36 -f 81/65/37 82/93/66 76/63/36 -f 77/64/36 80/90/63 81/65/37 -f 53/66/38 76/63/38 73/60/33 -f 61/50/40 77/64/40 76/63/38 -f 60/68/41 78/70/41 77/64/40 -f 45/69/20 52/46/20 78/70/41 -f 62/53/26 65/52/25 84/71/42 -f 46/47/44 59/76/48 85/73/45 -f 47/74/46 85/73/45 83/72/43 -f 59/76/48 58/49/22 86/77/49 -f 85/73/45 86/77/49 62/53/26 -f 58/49/22 57/48/21 87/78/50 -f 86/77/49 87/78/50 63/51/24 -f 57/48/21 56/80/52 88/79/51 -f 87/78/50 88/79/51 66/54/27 -f 56/80/52 55/82/54 89/81/53 -f 89/81/53 68/56/29 66/54/27 -f 72/83/55 70/58/31 68/56/29 -f 84/71/42 90/86/58 50/84/56 -f 90/86/58 79/88/61 51/45/59 -f 65/52/25 91/87/60 90/86/58 -f 91/87/60 80/90/63 79/88/61 -f 64/55/28 92/89/62 91/87/60 -f 92/89/62 81/65/37 80/90/63 -f 67/57/30 93/91/64 92/89/62 -f 93/91/64 82/93/66 81/65/37 -f 67/57/30 69/59/32 94/92/65 -f 94/92/65 74/61/68 82/93/66 -f 69/59/32 71/62/69 75/94/67 -f 83/72/43 84/71/42 49/85/57 -o Plane.001 -v -0.706758 0.413916 0.079173 -v -0.706758 0.413916 0.133032 -v -0.706758 0.467775 0.133032 -v -0.706758 0.467775 0.079173 -v -0.274201 0.467775 0.079173 -v -0.638249 0.467775 0.133032 -v -0.638244 0.467775 0.132611 -v -0.274201 0.467775 0.132611 -v -0.274201 0.413916 0.132804 -v -0.274201 0.413916 0.079173 -v -0.274201 0.466244 0.132805 -v -0.638765 0.413916 0.132804 -v -0.638765 0.413916 0.133032 -v -0.638765 0.466254 0.133032 -v -0.602429 0.520191 0.120479 -v -0.201794 0.520191 0.120479 -v -0.201794 0.551348 0.104105 -v -0.558765 0.551348 0.104105 -v -0.629471 0.493740 0.130619 -v -0.201794 0.493740 0.130619 -v -0.638765 0.466292 0.134105 -v -0.201794 0.466292 0.134105 -v -0.638765 0.350993 0.134105 -v -0.201794 0.350993 0.134105 -v -0.602429 0.519875 0.119244 -v -0.558765 0.550972 0.102899 -v -0.201794 0.550972 0.102899 -v -0.201794 0.519861 0.119250 -v -0.201794 0.493549 0.129342 -v -0.629471 0.493568 0.129338 -v -0.201794 0.466243 0.132805 -v -0.201794 0.350993 0.132804 -v -0.638765 0.350993 0.132804 -vt 0.515296 0.663237 -vt 0.515296 0.682674 -vt 0.515296 0.663237 -vt 0.515296 0.682674 -vt 0.540019 0.682674 -vt 0.540021 0.682674 -vt 0.671399 0.682674 -vt 0.671399 0.682674 -vt 0.671399 0.682121 -vt 0.671399 0.663237 -vt 0.671399 0.663237 -vt 0.539833 0.663237 -vt 0.539833 0.663237 -vt 0.539833 0.682125 -vt 0.697530 0.701590 -vt 0.568704 0.712834 -vt 0.552946 0.701590 -vt 0.697530 0.692045 -vt 0.543187 0.692045 -vt 0.697530 0.682139 -vt 0.697530 0.640529 -vt 0.539833 0.682139 -vt 0.539833 0.640529 -vt 0.568704 0.712699 -vt 0.697530 0.701471 -vt 0.552946 0.701476 -vt 0.697530 0.691975 -vt 0.697530 0.682121 -vt 0.539833 0.640529 -vt 0.697530 0.640529 -vt 0.697530 0.712834 -vt 0.543187 0.691982 -vt 0.697530 0.712699 -vn -1.0000 -0.0000 0.0000 -vn 0.0000 1.0000 -0.0002 -vn 1.0000 0.0000 0.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 0.0000 1.0000 -vn 0.0000 1.0000 0.0000 -vn 0.0000 0.4123 0.9111 -vn 0.0000 0.4652 0.8852 -vn 0.0000 0.3826 0.9239 -vn 0.0000 0.2437 0.9698 -vn 0.0000 0.1966 0.9805 -vn 0.0000 0.0631 0.9980 -vn 0.0000 0.0559 0.9984 -vn -0.0000 -0.4653 -0.8852 -vn 0.0000 -0.4124 -0.9110 -vn -0.0000 -0.3828 -0.9239 -vn -0.0000 -0.2437 -0.9698 -vn 0.0000 -0.0630 -0.9980 -vn 0.0000 -0.1258 -0.9921 -vn 0.0000 0.9547 -0.2976 -vn -0.3161 0.9058 -0.2821 -vn -0.3399 0.8980 -0.2793 -vn -0.6735 0.7163 -0.1824 -vn -0.8466 0.5274 -0.0712 -vn -0.8587 0.5080 -0.0675 -vn -0.9474 0.3198 -0.0136 -vn -0.9872 0.1592 -0.0056 -vn -0.9872 0.1597 -0.0062 -vn -0.6661 0.7225 -0.1852 -vn 0.0000 -0.4652 -0.8852 -vn -0.0000 -0.1964 -0.9805 -vn 0.0000 -0.1259 -0.9920 -vn -0.9471 0.3207 -0.0112 -s off -f 96/95/72 98/96/72 95/97/72 -f 97/98/73 100/99/73 101/100/73 -f 99/101/74 102/102/74 105/103/74 -f 104/104/75 103/105/75 106/106/75 -f 99/101/76 95/97/76 98/96/76 -f 96/95/77 107/107/77 108/108/77 -f 96/95/72 97/98/72 98/96/72 -f 102/102/78 99/101/78 101/100/78 -f 99/101/78 98/96/78 101/100/78 -f 98/96/78 97/98/78 101/100/78 -f 105/103/74 103/105/74 104/104/74 -f 104/104/74 99/101/74 105/103/74 -f 107/107/75 96/95/75 106/106/75 -f 96/95/75 95/97/75 106/106/75 -f 95/97/75 104/104/75 106/106/75 -f 99/101/76 104/104/76 95/97/76 -f 108/108/77 100/99/77 97/98/77 -f 97/98/77 96/95/77 108/108/77 -s 1 -f 110/109/79 112/110/80 109/111/81 -f 109/111/81 114/112/82 110/109/79 -f 113/113/83 116/114/84 114/112/82 -f 118/115/77 115/116/85 117/117/77 -f 120/118/86 122/119/87 119/120/88 -f 123/121/89 119/120/88 122/119/87 -f 125/122/90 105/103/90 102/102/91 -f 127/123/76 106/106/76 103/105/76 -f 117/117/75 126/124/75 118/115/75 -f 111/125/92 120/118/93 112/110/94 -f 110/109/74 123/121/74 122/119/74 -f 109/111/95 124/126/96 113/113/97 -f 114/112/74 125/122/74 123/121/74 -f 100/99/98 108/108/99 115/116/100 -f 115/116/100 108/108/99 107/107/72 -f 118/115/74 125/122/74 116/114/74 -f 112/110/94 119/120/101 109/111/95 -f 111/125/74 122/119/74 121/127/74 -f 110/109/79 111/125/80 112/110/80 -f 109/111/81 113/113/83 114/112/82 -f 113/113/83 115/116/85 116/114/84 -f 118/115/77 116/114/84 115/116/85 -f 120/118/86 121/127/102 122/119/87 -f 123/121/89 124/126/103 119/120/88 -f 102/102/91 101/100/104 124/126/103 -f 124/126/103 123/121/89 102/102/91 -f 123/121/89 125/122/90 102/102/91 -f 105/103/90 125/122/90 103/105/76 -f 125/122/90 126/124/76 103/105/76 -f 126/124/76 127/123/76 103/105/76 -f 117/117/75 127/123/75 126/124/75 -f 111/125/92 121/127/92 120/118/93 -f 110/109/74 114/112/74 123/121/74 -f 109/111/95 119/120/101 124/126/96 -f 114/112/74 116/114/74 125/122/74 -f 115/116/100 113/113/97 100/99/98 -f 113/113/97 124/126/96 100/99/98 -f 124/126/96 101/100/105 100/99/98 -f 106/106/72 127/123/72 107/107/72 -f 127/123/72 117/117/72 107/107/72 -f 117/117/72 115/116/100 107/107/72 -f 118/115/74 126/124/74 125/122/74 -f 112/110/94 120/118/93 119/120/101 -f 111/125/74 110/109/74 122/119/74 -o Cube.005_Cube.007 -v -0.849928 0.170624 -0.075429 -v -0.849928 0.170624 0.076654 -v -0.849928 0.210654 0.076654 -v -0.849928 0.210654 -0.075429 -v -0.731509 0.170624 -0.075429 -v -0.731509 0.170624 0.076654 -v -0.288424 0.100624 -0.062753 -v -0.288424 0.100624 0.063977 -v -0.334112 0.100624 0.063977 -v -0.334112 0.100624 -0.062753 -v -0.523278 0.140624 -0.062753 -v -0.523278 0.140624 0.063977 -v -0.627054 0.161879 0.063977 -v -0.627054 0.161879 -0.062753 -v -0.428800 0.170654 -0.075429 -v -0.428800 0.170654 0.076654 -v -0.328424 0.130654 0.076654 -v -0.328424 0.130654 -0.075429 -v -0.569176 0.210654 -0.075429 -v -0.569176 0.210654 0.076654 -v -0.300640 0.109795 0.076654 -v -0.291549 0.102969 0.073412 -v -0.291549 0.102970 -0.072187 -v -0.300640 0.109795 -0.075429 -v -0.375389 0.104504 0.063977 -v -0.375389 0.104504 -0.062753 -v -0.357071 0.101616 -0.062753 -v -0.357071 0.101616 0.063977 -v -0.674625 0.168387 0.076654 -v -0.596451 0.168877 0.076654 -v -0.488050 0.146675 0.076654 -v -0.342077 0.111023 0.076654 -v -0.336278 0.110109 0.076654 -v -0.329011 0.109795 0.076654 -v -0.674625 0.168387 0.063977 -v -0.674625 0.168387 -0.062753 -v -0.674625 0.168387 -0.075429 -v -0.366869 0.106172 0.073412 -v -0.351753 0.103789 0.073412 -v -0.342077 0.111023 -0.075429 -v -0.336278 0.110109 -0.075429 -v -0.351753 0.103789 -0.072187 -v -0.366869 0.106172 -0.072187 -v -0.332807 0.102969 0.073412 -v -0.329011 0.109795 -0.075429 -v -0.332807 0.102970 -0.072187 -v -0.514267 0.142171 0.073412 -v -0.488050 0.146675 -0.075429 -v -0.514267 0.142171 -0.072187 -v -0.619227 0.163669 0.073412 -v -0.596451 0.168877 -0.075429 -v -0.619227 0.163669 -0.072187 -vt 0.437463 0.717486 -vt 0.437463 0.729525 -vt 0.437463 0.717486 -vt 0.473076 0.717486 -vt 0.473076 0.717486 -vt 0.606328 0.696434 -vt 0.592588 0.696434 -vt 0.606328 0.696434 -vt 0.535699 0.708464 -vt 0.504490 0.714856 -vt 0.535699 0.708464 -vt 0.564112 0.717495 -vt 0.594299 0.705466 -vt 0.564112 0.717495 -vt 0.521896 0.729525 -vt 0.521896 0.729525 -vt 0.437463 0.729525 -vt 0.605389 0.697140 -vt 0.602655 0.699193 -vt 0.580175 0.697602 -vt 0.585684 0.696733 -vt 0.580175 0.697602 -vt 0.513693 0.716961 -vt 0.546293 0.710284 -vt 0.585684 0.696733 -vt 0.592588 0.696434 -vt 0.490183 0.716814 -vt 0.504490 0.714856 -vt 0.490183 0.716814 -vt 0.590193 0.699562 -vt 0.587283 0.697386 -vt 0.591937 0.699287 -vt 0.582737 0.698103 -vt 0.590193 0.699562 -vt 0.587283 0.697386 -vt 0.582737 0.698103 -vt 0.592981 0.697140 -vt 0.594123 0.699193 -vt 0.591937 0.699287 -vt 0.592981 0.697140 -vt 0.538409 0.708929 -vt 0.605389 0.697140 -vt 0.602655 0.699193 -vt 0.594123 0.699193 -vt 0.546293 0.710284 -vt 0.538409 0.708929 -vt 0.490183 0.716814 -vt 0.506844 0.715395 -vt 0.490183 0.716814 -vt 0.513693 0.716961 -vt 0.506844 0.715395 -vt 0.594299 0.705466 -vn -1.0000 0.0000 0.0000 -vn -0.0197 -0.9998 0.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 -0.9941 0.1081 -vn -0.0223 -0.9922 -0.1228 -vn 0.0000 -0.9941 -0.1082 -vn -0.2118 -0.9619 0.1730 -vn -0.1403 -0.9820 -0.1261 -vn -0.2118 -0.9619 -0.1730 -vn 0.3225 0.9466 0.0000 -vn 0.4896 0.8720 -0.0000 -vn 0.1384 0.9904 0.0000 -vn 0.0000 1.0000 0.0000 -vn 0.6004 0.7997 -0.0000 -vn -0.2019 -0.9639 -0.1737 -vn -0.1067 -0.9841 0.1419 -vn -0.2019 -0.9639 0.1737 -vn 0.0000 0.0000 1.0000 -vn -0.0276 -0.1577 0.9871 -vn -0.0343 -0.1438 0.9890 -vn -0.1067 -0.9841 -0.1420 -vn -0.0223 -0.9922 0.1228 -vn -0.0875 -0.9962 0.0000 -vn -0.1403 -0.9821 0.1260 -vn -0.0295 -0.1760 0.9839 -vn -0.0722 -0.7453 0.6628 -vn -0.0130 -0.2157 0.9764 -vn -0.1341 -0.6933 0.7080 -vn -0.0295 -0.1760 -0.9839 -vn -0.0722 -0.7453 -0.6628 -vn -0.1341 -0.6933 -0.7080 -vn -0.0172 -0.7737 0.6334 -vn -0.0034 -0.2211 0.9752 -vn -0.0130 -0.2157 -0.9764 -vn -0.0172 -0.7736 -0.6334 -vn -0.1529 -0.6729 0.7238 -vn 0.0000 -0.8913 0.4534 -vn 0.0000 -0.3452 0.9385 -vn 0.0000 -0.3453 -0.9385 -vn -0.0034 -0.2212 -0.9752 -vn 0.0000 -0.8913 -0.4535 -vn -0.0343 -0.1438 -0.9890 -vn -0.1529 -0.6728 -0.7238 -vn -0.0562 -0.6938 0.7179 -vn -0.0844 -0.7745 0.6269 -vn -0.0562 -0.6938 -0.7179 -vn -0.0276 -0.1577 -0.9871 -vn -0.0844 -0.7745 -0.6269 -vn 0.0000 0.0000 -1.0000 -vn 0.6005 0.7996 0.0001 -s 1 -f 129/128/106 131/129/106 128/130/106 -f 133/131/107 128/130/108 132/132/107 -f 135/133/109 137/134/110 134/135/111 -f 139/136/112 141/137/113 138/138/114 -f 143/139/115 145/140/116 142/141/115 -f 147/142/117 142/141/115 146/143/117 -f 130/144/118 146/143/117 131/129/118 -f 134/135/119 150/145/119 151/146/119 -f 153/147/120 155/148/121 152/149/122 -f 147/142/123 157/150/124 158/151/125 -f 154/152/126 136/153/127 155/148/121 -f 163/154/128 140/155/129 162/156/128 -f 132/132/107 163/154/128 162/156/128 -f 152/149/122 138/138/114 153/147/120 -f 159/157/130 166/158/131 160/159/132 -f 165/160/133 155/148/121 166/158/131 -f 167/161/134 169/162/135 170/163/136 -f 170/163/136 154/152/126 153/147/120 -f 160/159/132 171/164/137 161/165/138 -f 166/158/131 136/153/127 171/164/137 -f 168/166/139 173/167/140 169/162/135 -f 169/162/135 137/134/110 154/152/126 -f 152/149/122 174/168/141 139/136/112 -f 165/160/133 158/151/125 174/168/141 -f 136/153/127 149/169/142 171/164/137 -f 171/164/137 148/170/143 161/165/138 -f 151/146/144 173/167/140 172/171/145 -f 150/145/146 137/134/110 173/167/140 -f 175/172/147 170/163/136 176/173/148 -f 176/173/148 153/147/120 138/138/114 -f 157/150/124 156/174/149 177/175/150 -f 156/174/149 140/155/129 177/175/150 -f 164/176/151 178/177/152 179/178/153 -f 164/176/151 141/137/113 163/154/128 -f 178/177/152 176/173/148 179/178/153 -f 179/178/153 138/138/114 141/137/113 -f 157/150/124 174/168/141 158/151/125 -f 177/175/150 139/136/112 174/168/141 -f 146/143/154 175/172/147 178/177/152 -f 129/128/106 130/144/106 131/129/106 -f 133/131/107 129/128/108 128/130/108 -f 135/133/109 136/153/127 137/134/110 -f 139/136/112 140/155/129 141/137/113 -f 143/139/115 144/179/116 145/140/116 -f 147/142/117 143/139/115 142/141/115 -f 130/144/118 147/142/117 146/143/117 -f 151/146/119 145/140/116 134/135/119 -f 145/140/116 144/179/116 134/135/119 -f 144/179/116 148/170/119 135/133/119 -f 148/170/119 149/169/155 135/133/119 -f 135/133/119 134/135/119 144/179/116 -f 153/147/120 154/152/126 155/148/121 -f 148/170/143 144/179/123 161/165/138 -f 144/179/123 143/139/123 159/157/130 -f 161/165/138 144/179/123 160/159/132 -f 143/139/123 147/142/123 158/151/125 -f 147/142/123 130/144/123 133/131/123 -f 157/150/124 147/142/123 156/174/149 -f 130/144/123 129/128/123 133/131/123 -f 133/131/123 156/174/149 147/142/123 -f 158/151/125 159/157/130 143/139/123 -f 159/157/130 160/159/132 144/179/123 -f 154/152/126 137/134/110 136/153/127 -f 163/154/128 141/137/113 140/155/129 -f 156/174/149 133/131/107 162/156/128 -f 133/131/107 132/132/107 162/156/128 -f 132/132/107 164/176/151 163/154/128 -f 152/149/122 139/136/112 138/138/114 -f 159/157/130 165/160/133 166/158/131 -f 165/160/133 152/149/122 155/148/121 -f 167/161/134 168/166/139 169/162/135 -f 170/163/136 169/162/135 154/152/126 -f 160/159/132 166/158/131 171/164/137 -f 166/158/131 155/148/121 136/153/127 -f 168/166/139 172/171/145 173/167/140 -f 169/162/135 173/167/140 137/134/110 -f 152/149/122 165/160/133 174/168/141 -f 165/160/133 159/157/130 158/151/125 -f 136/153/127 135/133/109 149/169/142 -f 171/164/137 149/169/142 148/170/143 -f 151/146/144 150/145/146 173/167/140 -f 150/145/146 134/135/111 137/134/110 -f 175/172/147 167/161/134 170/163/136 -f 176/173/148 170/163/136 153/147/120 -f 156/174/149 162/156/128 140/155/129 -f 164/176/151 179/178/153 141/137/113 -f 178/177/152 175/172/147 176/173/148 -f 179/178/153 176/173/148 138/138/114 -f 157/150/124 177/175/150 174/168/141 -f 177/175/150 140/155/129 139/136/112 -f 128/130/154 131/129/154 132/132/154 -f 131/129/154 146/143/154 132/132/154 -f 146/143/154 142/141/154 175/172/147 -f 142/141/154 145/140/154 167/161/134 -f 167/161/134 145/140/154 168/166/139 -f 145/140/154 151/146/144 172/171/145 -f 172/171/145 168/166/139 145/140/154 -f 167/161/134 175/172/147 142/141/154 -f 178/177/152 164/176/151 146/143/154 -f 164/176/151 132/132/154 146/143/154 -o Cube.004_Cube.005 -v -0.288131 0.078364 0.100627 -v -0.398224 0.190299 0.100627 -v -0.398224 0.190299 -0.099403 -v -0.288131 0.078364 -0.099403 -v -0.288131 0.078364 -0.081922 -v -0.396897 0.188950 -0.081922 -v -0.396897 0.188950 0.083147 -v -0.288131 0.078364 0.083147 -v -0.189154 0.190299 0.100627 -v -0.189154 0.190299 -0.099403 -v -0.189154 0.078364 0.100627 -v -0.189154 0.078364 -0.099403 -v -0.246637 0.078364 0.083147 -v -0.246637 0.078364 -0.081922 -v -0.246637 0.188950 -0.081922 -v -0.246637 0.188950 0.083147 -vt 0.371558 0.219091 -vt 0.371558 0.219091 -vt 0.371159 0.219497 -vt 0.434034 0.219497 -vt 0.371159 0.219497 -vt 0.434034 0.219497 -vt 0.434034 0.185834 -vt 0.434034 0.185834 -vt 0.416747 0.185834 -vt 0.404268 0.185834 -vt 0.404268 0.185834 -vt 0.416747 0.219091 -vt 0.416747 0.219091 -vt 0.416747 0.185834 -vt 0.404268 0.185834 -vt 0.404268 0.185834 -vn -0.7129 -0.7012 0.0000 -vn 0.0000 1.0000 0.0000 -vn 1.0000 0.0000 0.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 -0.0000 1.0000 -vn -1.0000 -0.0000 0.0000 -vn -0.7129 -0.7013 0.0000 -s off -f 185/180/156 186/181/156 181/182/156 -f 181/182/157 189/183/157 182/184/157 -f 188/185/158 191/186/158 189/183/158 -f 191/186/159 190/187/159 193/188/159 -f 189/183/160 183/189/160 182/184/160 -f 188/185/161 180/190/161 190/187/161 -f 195/191/159 185/180/159 194/192/159 -f 194/192/162 192/193/162 195/191/162 -f 194/192/161 184/194/161 193/188/161 -f 195/191/160 187/195/160 186/181/160 -f 187/195/156 180/190/156 186/181/156 -f 180/190/156 181/182/156 186/181/156 -f 182/184/156 183/189/156 185/180/156 -f 183/189/156 184/194/156 185/180/156 -f 182/184/163 185/180/163 181/182/163 -f 181/182/157 188/185/157 189/183/157 -f 188/185/158 190/187/158 191/186/158 -f 193/188/159 184/194/159 183/189/159 -f 190/187/159 180/190/159 192/193/159 -f 180/190/159 187/195/159 192/193/159 -f 193/188/159 183/189/159 191/186/159 -f 190/187/159 192/193/159 193/188/159 -f 189/183/160 191/186/160 183/189/160 -f 188/185/161 181/182/161 180/190/161 -f 195/191/159 186/181/159 185/180/159 -f 194/192/162 193/188/162 192/193/162 -f 194/192/161 185/180/161 184/194/161 -f 195/191/160 192/193/160 187/195/160 -o Cylinder.007 -v -1.092410 0.183821 -0.054357 -v -1.092410 0.183821 0.062757 -v -1.068940 0.174100 0.062757 -v -1.068940 0.174100 -0.054357 -v -1.059218 0.150630 0.062757 -v -1.059218 0.150630 -0.054357 -v -1.068940 0.127160 0.062757 -v -1.068940 0.127160 -0.054357 -v -1.092410 0.117438 0.062757 -v -1.092410 0.117438 -0.054357 -v -1.115880 0.127160 0.062757 -v -1.115880 0.127160 -0.054357 -v -1.125601 0.150630 0.062757 -v -1.125601 0.150630 -0.054357 -v -1.115880 0.174100 0.062757 -v -1.115880 0.174100 -0.054357 -vt 0.486610 0.403096 -vt 0.493668 0.400172 -vt 0.486610 0.403096 -vt 0.493668 0.400172 -vt 0.496592 0.393114 -vt 0.496592 0.393114 -vt 0.493668 0.386056 -vt 0.493668 0.386056 -vt 0.486610 0.383132 -vt 0.486610 0.383132 -vt 0.479552 0.386056 -vt 0.479552 0.386056 -vt 0.476628 0.393114 -vt 0.476628 0.393114 -vt 0.479552 0.400172 -vt 0.479552 0.400172 -vn 0.0000 1.0000 0.0000 -vn 0.7071 0.7071 0.0000 -vn 1.0000 -0.0000 0.0000 -vn 0.7071 -0.7071 0.0000 -vn 0.0000 -1.0000 0.0000 -vn -0.7071 -0.7071 0.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 1.0000 -vn -0.7071 0.7071 0.0000 -vn 0.0000 0.0000 -1.0000 -s 1 -f 197/196/164 199/197/165 196/198/164 -f 198/199/165 201/200/166 199/197/165 -f 200/201/166 203/202/167 201/200/166 -f 202/203/167 205/204/168 203/202/167 -f 204/205/168 207/206/169 205/204/168 -f 206/207/169 209/208/170 207/206/169 -f 200/201/171 197/196/171 208/209/171 -f 208/209/170 211/210/172 209/208/170 -f 210/211/172 196/198/164 211/210/172 -f 209/208/173 211/210/173 203/202/173 -f 197/196/164 198/199/165 199/197/165 -f 198/199/165 200/201/166 201/200/166 -f 200/201/166 202/203/167 203/202/167 -f 202/203/167 204/205/168 205/204/168 -f 204/205/168 206/207/169 207/206/169 -f 206/207/169 208/209/170 209/208/170 -f 200/201/171 198/199/171 197/196/171 -f 197/196/171 210/211/171 208/209/171 -f 208/209/171 206/207/171 204/205/171 -f 204/205/171 202/203/171 208/209/171 -f 202/203/171 200/201/171 208/209/171 -f 208/209/170 210/211/172 211/210/172 -f 210/211/172 197/196/164 196/198/164 -f 211/210/173 196/198/173 203/202/173 -f 196/198/173 199/197/173 203/202/173 -f 199/197/173 201/200/173 203/202/173 -f 203/202/173 205/204/173 207/206/173 -f 207/206/173 209/208/173 203/202/173 -o Cube.003_Cube -v -1.578045 0.212030 -0.054842 -v -1.578045 0.212030 0.057698 -v -0.861955 0.212030 0.057698 -v -0.861955 0.212030 -0.054842 -v -1.578045 0.203298 -0.054842 -v -1.578045 0.203298 0.057698 -v -1.128281 0.027130 0.057698 -v -1.128281 0.027130 -0.054842 -v -1.114436 0.065059 -0.054842 -v -1.114436 0.065059 0.057698 -v -1.454635 0.065231 -0.054842 -v -1.454635 0.065231 0.057698 -v -1.481781 0.118060 0.057698 -v -1.481781 0.118060 -0.054842 -v -1.527702 0.168281 0.057698 -v -1.527702 0.168281 -0.054842 -v -0.861955 0.202811 0.057698 -v -0.861955 0.202811 -0.054842 -v -1.450844 0.044421 -0.054842 -v -1.450844 0.044421 0.057698 -v -1.062335 0.121520 -0.054842 -v -1.062335 0.121520 0.057698 -v -0.962640 0.167855 -0.054842 -v -0.962640 0.167855 0.057698 -v -1.074680 0.124782 -0.054842 -v -1.125464 0.065837 -0.054842 -v -1.125464 0.116276 -0.054842 -v -1.130869 0.139630 -0.054842 -v -1.121683 0.141171 -0.054842 -v -1.115880 0.127160 -0.054842 -v -1.092410 0.117438 -0.054842 -v -1.125601 0.150630 -0.054842 -v -1.148853 0.159885 -0.054842 -v -1.174411 0.171886 -0.054842 -v -1.206501 0.174873 -0.054842 -v -1.364767 0.174873 -0.054842 -v -1.396858 0.171886 -0.054842 -v -1.422416 0.159885 -0.054842 -v -1.440399 0.139630 -0.054842 -v -1.445804 0.116276 -0.054842 -v -1.445804 0.065837 -0.054842 -v -1.068940 0.127160 -0.054842 -v -1.059218 0.150630 -0.054842 -v -1.068940 0.174100 -0.054842 -v -1.092410 0.183821 -0.054842 -v -1.115880 0.174100 -0.054842 -v -1.144751 0.003110 -0.054842 -v -1.181248 -0.005077 -0.054842 -v -1.396052 -0.003671 -0.054842 -v -1.435488 0.014101 -0.054842 -v -1.440399 0.042483 -0.054842 -v -1.422416 0.022228 -0.054842 -v -1.396858 0.010226 -0.054842 -v -1.364767 0.007240 -0.054842 -v -1.206501 0.007240 -0.054842 -v -1.174411 0.010226 -0.054842 -v -1.148853 0.022228 -0.054842 -v -1.130869 0.042483 -0.054842 -v -1.181248 -0.005077 0.057698 -v -1.144751 0.003110 0.057698 -v -1.435488 0.014101 0.057698 -v -1.396052 -0.003671 0.057698 -v -1.440399 0.042483 0.057698 -v -1.445804 0.065837 0.057698 -v -1.125464 0.065837 0.057698 -v -1.130869 0.042483 0.057698 -v -1.148853 0.022228 0.057698 -v -1.174411 0.010226 0.057698 -v -1.206501 0.007240 0.057698 -v -1.364767 0.007240 0.057698 -v -1.396858 0.010226 0.057698 -v -1.422416 0.022228 0.057698 -v -1.121683 0.141171 0.057698 -v -1.130869 0.139630 0.057698 -v -1.125464 0.116276 0.057698 -v -1.074680 0.124782 0.057698 -v -1.092410 0.117438 0.057698 -v -1.115880 0.127160 0.057698 -v -1.068940 0.127160 0.057698 -v -1.445804 0.116276 0.057698 -v -1.440399 0.139630 0.057698 -v -1.422416 0.159885 0.057698 -v -1.396858 0.171886 0.057698 -v -1.364767 0.174873 0.057698 -v -1.206501 0.174873 0.057698 -v -1.174411 0.171886 0.057698 -v -1.148853 0.159885 0.057698 -v -1.125601 0.150630 0.057698 -v -1.115880 0.174100 0.057698 -v -1.092410 0.183821 0.057698 -v -1.068940 0.174100 0.057698 -v -1.059218 0.150630 0.057698 -vt 0.176155 0.159372 -vt 0.351182 0.159372 -vt 0.176155 0.159372 -vt 0.176155 0.157238 -vt 0.176155 0.157238 -vt 0.286086 0.114179 -vt 0.289470 0.123449 -vt 0.286086 0.114179 -vt 0.206319 0.123491 -vt 0.199684 0.136404 -vt 0.206319 0.123491 -vt 0.199684 0.136404 -vt 0.188460 0.148679 -vt 0.188460 0.148679 -vt 0.351182 0.159372 -vt 0.351182 0.157119 -vt 0.207246 0.118405 -vt 0.207246 0.118405 -vt 0.289470 0.123449 -vt 0.302205 0.137250 -vt 0.302205 0.137250 -vt 0.326572 0.148575 -vt 0.326572 0.148575 -vt 0.351182 0.157119 -vt 0.289117 0.138628 -vt 0.294854 0.136252 -vt 0.286775 0.135968 -vt 0.220441 0.149560 -vt 0.214194 0.146627 -vt 0.220638 0.106650 -vt 0.220441 0.110047 -vt 0.228285 0.109317 -vt 0.273140 0.106307 -vt 0.282061 0.108308 -vt 0.273140 0.106307 -vt 0.282061 0.108308 -vt 0.210999 0.110994 -vt 0.210999 0.110994 -vt 0.220638 0.106650 -vt 0.228285 0.109317 -vt 0.220441 0.110047 -vt 0.286775 0.135968 -vt 0.294854 0.136252 -vt 0.266968 0.150290 -vt 0.294854 0.152477 -vt 0.286775 0.123640 -vt 0.208478 0.123640 -vt 0.208478 0.135968 -vt 0.208478 0.123640 -vt 0.266968 0.109317 -vt 0.266968 0.109317 -vt 0.228285 0.150290 -vt 0.228285 0.150290 -vt 0.214194 0.112981 -vt 0.214194 0.112981 -vt 0.209799 0.117931 -vt 0.209799 0.117931 -vt 0.220441 0.149560 -vt 0.214194 0.146627 -vt 0.209799 0.141676 -vt 0.209799 0.141676 -vt 0.208478 0.135968 -vt 0.285454 0.141676 -vt 0.285454 0.141676 -vt 0.281058 0.146627 -vt 0.281058 0.146627 -vt 0.274811 0.149560 -vt 0.274811 0.149560 -vt 0.266968 0.150290 -vt 0.274811 0.110047 -vt 0.274811 0.110047 -vt 0.281058 0.112981 -vt 0.281058 0.112981 -vt 0.285454 0.117931 -vt 0.285454 0.117931 -vt 0.286775 0.123640 -vt 0.300590 0.150101 -vt 0.294854 0.152477 -vt 0.302967 0.144365 -vt 0.300590 0.150101 -vt 0.300590 0.138628 -vt 0.302967 0.144365 -vt 0.299187 0.138047 -vt 0.299187 0.138047 -vt 0.289117 0.138628 -vt 0.287699 0.142053 -vt 0.286741 0.144365 -vt 0.287699 0.142053 -vt 0.289117 0.150101 -vt 0.286741 0.144365 -vt 0.289117 0.150101 -vt 0.300590 0.138628 -vn 0.0000 1.0000 0.0000 -vn -0.8863 -0.4631 0.0000 -vn -1.0000 0.0000 0.0000 -vn 0.8891 -0.4578 -0.0000 -vn 0.8538 -0.5207 0.0000 -vn -0.9469 -0.3216 0.0000 -vn -0.8210 -0.5710 0.0000 -vn -0.6586 -0.7525 0.0000 -vn 1.0000 0.0000 0.0000 -vn -0.9478 -0.3188 -0.0000 -vn 0.5894 -0.8078 0.0000 -vn 0.3752 -0.9269 0.0000 -vn 0.3280 -0.9447 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.1069 -0.9943 -0.0000 -vn 0.5607 -0.8280 -0.0000 -vn -0.6909 -0.7230 -0.0000 -vn -0.2133 -0.9770 -0.0000 -vn 0.0000 0.0000 1.0000 -vn -0.9935 0.1135 0.0000 -vn -0.9935 -0.1135 0.0000 -vn 0.9935 0.1135 0.0000 -vn 0.9935 -0.1135 0.0000 -vn 0.0464 0.9989 0.0000 -vn -0.0464 0.9989 0.0000 -vn 0.0464 -0.9989 0.0000 -vn -0.0464 -0.9989 0.0000 -vn 0.2628 0.9649 0.0000 -vn 0.5987 0.8010 0.0000 -vn 0.8885 0.4589 0.0000 -vn 0.2628 -0.9649 0.0000 -vn 0.5987 -0.8010 0.0000 -vn 0.8885 -0.4589 0.0000 -vn -0.8885 -0.4589 0.0000 -vn -0.5987 -0.8010 0.0000 -vn -0.2628 -0.9649 0.0000 -vn -0.2628 0.9649 0.0000 -vn -0.5987 0.8010 0.0000 -vn -0.8885 0.4589 0.0000 -vn -0.7071 -0.7071 0.0000 -vn 0.0000 -1.0000 0.0000 -vn -0.7071 0.7071 0.0000 -vn -0.3827 0.9239 0.0000 -vn 0.7071 0.7071 0.0000 -vn 0.9239 0.3827 0.0000 -vn 0.7071 -0.7071 0.0000 -s 1 -f 213/212/174 215/213/174 212/214/174 -f 217/215/175 212/214/176 216/216/175 -f 219/217/177 221/218/178 218/219/177 -f 223/220/179 225/221/180 222/222/179 -f 224/223/180 227/224/181 225/221/180 -f 226/225/181 216/216/175 227/224/181 -f 214/226/182 229/227/182 215/213/182 -f 231/228/183 222/222/179 230/229/183 -f 220/230/178 233/231/184 221/218/178 -f 232/232/184 235/233/185 233/231/184 -f 234/234/185 228/235/186 235/233/185 -f 241/236/187 242/237/187 238/238/187 -f 248/239/187 249/240/187 227/224/187 -f 260/241/187 264/242/187 265/243/187 -f 259/244/188 271/245/189 270/246/188 -f 258/247/189 218/219/177 271/245/189 -f 230/229/183 272/248/190 231/228/183 -f 261/249/190 273/250/191 272/248/190 -f 273/250/191 259/244/188 270/246/188 -f 281/251/192 282/252/192 273/250/192 -f 286/253/192 221/218/192 288/254/192 -f 296/255/192 301/256/192 213/212/192 -f 237/257/193 286/253/194 238/238/194 -f 252/258/195 291/259/196 275/260/195 -f 265/243/197 280/261/198 266/262/198 -f 247/263/199 296/255/200 295/264/199 -f 264/242/201 281/251/197 265/243/197 -f 264/242/201 283/265/202 282/252/201 -f 263/266/202 274/267/203 283/265/202 -f 262/268/203 275/260/195 274/267/203 -f 248/239/204 295/264/199 294/269/204 -f 249/240/205 294/269/204 293/270/205 -f 250/271/206 293/270/205 292/272/206 -f 292/272/206 251/273/196 250/271/206 -f 238/238/194 285/274/207 239/275/207 -f 239/275/207 298/276/208 244/277/208 -f 244/277/208 297/278/209 245/279/209 -f 246/280/200 297/278/209 296/255/200 -f 266/262/198 279/281/210 267/282/210 -f 267/282/210 278/283/211 268/284/211 -f 268/284/211 277/285/212 269/286/212 -f 269/286/212 276/287/193 237/257/193 -f 255/288/213 301/256/214 256/289/214 -f 254/290/176 302/291/213 255/288/213 -f 253/292/215 303/293/176 254/290/176 -f 236/294/216 288/254/174 287/295/216 -f 242/237/174 289/296/217 288/254/174 -f 240/297/218 299/298/182 284/299/218 -f 300/300/219 243/301/182 257/302/219 -f 257/302/219 301/256/214 300/300/219 -f 213/212/174 214/226/174 215/213/174 -f 217/215/175 213/212/176 212/214/176 -f 219/217/177 220/230/178 221/218/178 -f 223/220/179 224/223/180 225/221/180 -f 224/223/180 226/225/181 227/224/181 -f 226/225/181 217/215/175 216/216/175 -f 214/226/182 228/235/182 229/227/182 -f 231/228/183 223/220/179 222/222/179 -f 220/230/178 232/232/184 233/231/184 -f 232/232/184 234/234/185 235/233/185 -f 234/234/185 229/227/186 228/235/186 -f 242/237/187 236/294/187 232/232/187 -f 232/232/187 220/230/187 242/237/187 -f 220/230/187 237/257/187 238/238/187 -f 242/237/187 220/230/187 238/238/187 -f 238/238/187 239/275/187 241/236/187 -f 239/275/187 240/297/187 241/236/187 -f 243/301/187 240/297/187 239/275/187 -f 243/301/187 239/275/187 244/277/187 -f 257/302/187 243/301/187 244/277/187 -f 257/302/187 244/277/187 245/279/187 -f 256/289/187 257/302/187 245/279/187 -f 256/289/187 245/279/187 246/280/187 -f 256/289/187 246/280/187 212/214/187 -f 246/280/187 247/263/187 212/214/187 -f 232/232/187 236/294/187 253/292/187 -f 215/213/187 229/227/187 234/234/187 -f 234/234/187 232/232/187 254/290/187 -f 232/232/187 253/292/187 254/290/187 -f 216/216/187 212/214/187 227/224/187 -f 212/214/187 215/213/187 256/289/187 -f 212/214/187 247/263/187 248/239/187 -f 227/224/187 212/214/187 248/239/187 -f 215/213/187 234/234/187 256/289/187 -f 234/234/187 254/290/187 255/288/187 -f 234/234/187 255/288/187 256/289/187 -f 252/258/187 222/222/187 251/273/187 -f 222/222/187 225/221/187 251/273/187 -f 251/273/187 225/221/187 250/271/187 -f 225/221/187 227/224/187 250/271/187 -f 249/240/187 250/271/187 227/224/187 -f 269/286/187 237/257/187 220/230/187 -f 220/230/187 219/217/187 269/286/187 -f 219/217/187 258/247/187 268/284/187 -f 269/286/187 219/217/187 268/284/187 -f 258/247/187 259/244/187 267/282/187 -f 259/244/187 260/241/187 265/243/187 -f 260/241/187 261/249/187 263/266/187 -f 261/249/187 230/229/187 262/268/187 -f 263/266/187 261/249/187 262/268/187 -f 230/229/187 222/222/187 252/258/187 -f 230/229/187 252/258/187 262/268/187 -f 267/282/187 268/284/187 258/247/187 -f 266/262/187 267/282/187 259/244/187 -f 260/241/187 263/266/187 264/242/187 -f 265/243/187 266/262/187 259/244/187 -f 259/244/188 258/247/189 271/245/189 -f 258/247/189 219/217/177 218/219/177 -f 230/229/183 261/249/190 272/248/190 -f 261/249/190 260/241/191 273/250/191 -f 273/250/191 260/241/191 259/244/188 -f 274/267/192 275/260/192 231/228/192 -f 275/260/192 223/220/192 231/228/192 -f 231/228/192 272/248/192 274/267/192 -f 273/250/192 270/246/192 281/251/192 -f 270/246/192 271/245/192 279/281/192 -f 281/251/192 270/246/192 280/261/192 -f 271/245/192 218/219/192 278/283/192 -f 218/219/192 221/218/192 277/285/192 -f 221/218/192 276/287/192 277/285/192 -f 218/219/192 277/285/192 278/283/192 -f 283/265/192 274/267/192 272/248/192 -f 271/245/192 278/283/192 279/281/192 -f 283/265/192 272/248/192 273/250/192 -f 282/252/192 283/265/192 273/250/192 -f 279/281/192 280/261/192 270/246/192 -f 289/296/192 284/299/192 285/274/192 -f 286/253/192 276/287/192 221/218/192 -f 289/296/192 285/274/192 286/253/192 -f 233/231/192 287/295/192 288/254/192 -f 288/254/192 289/296/192 286/253/192 -f 221/218/192 233/231/192 288/254/192 -f 290/303/192 287/295/192 233/231/192 -f 235/233/192 228/235/192 214/226/192 -f 290/303/192 233/231/192 303/293/192 -f 233/231/192 235/233/192 303/293/192 -f 214/226/192 213/212/192 301/256/192 -f 213/212/192 217/215/192 226/225/192 -f 295/264/192 213/212/192 294/269/192 -f 213/212/192 295/264/192 296/255/192 -f 213/212/192 226/225/192 294/269/192 -f 303/293/192 235/233/192 302/291/192 -f 235/233/192 214/226/192 301/256/192 -f 302/291/192 235/233/192 301/256/192 -f 224/223/192 223/220/192 291/259/192 -f 223/220/192 275/260/192 291/259/192 -f 226/225/192 224/223/192 292/272/192 -f 224/223/192 291/259/192 292/272/192 -f 285/274/192 284/299/192 299/298/192 -f 298/276/192 285/274/192 299/298/192 -f 298/276/192 299/298/192 300/300/192 -f 297/278/192 298/276/192 300/300/192 -f 297/278/192 300/300/192 301/256/192 -f 296/255/192 297/278/192 301/256/192 -f 226/225/192 292/272/192 293/270/192 -f 226/225/192 293/270/192 294/269/192 -f 237/257/193 276/287/193 286/253/194 -f 252/258/195 251/273/196 291/259/196 -f 265/243/197 281/251/197 280/261/198 -f 247/263/199 246/280/200 296/255/200 -f 264/242/201 282/252/201 281/251/197 -f 264/242/201 263/266/202 283/265/202 -f 263/266/202 262/268/203 274/267/203 -f 262/268/203 252/258/195 275/260/195 -f 248/239/204 247/263/199 295/264/199 -f 249/240/205 248/239/204 294/269/204 -f 250/271/206 249/240/205 293/270/205 -f 292/272/206 291/259/196 251/273/196 -f 238/238/194 286/253/194 285/274/207 -f 239/275/207 285/274/207 298/276/208 -f 244/277/208 298/276/208 297/278/209 -f 246/280/200 245/279/209 297/278/209 -f 266/262/198 280/261/198 279/281/210 -f 267/282/210 279/281/210 278/283/211 -f 268/284/211 278/283/211 277/285/212 -f 269/286/212 277/285/212 276/287/193 -f 255/288/213 302/291/213 301/256/214 -f 254/290/176 303/293/176 302/291/213 -f 253/292/215 290/303/215 303/293/176 -f 290/303/215 253/292/215 236/294/216 -f 236/294/216 242/237/174 288/254/174 -f 287/295/216 290/303/215 236/294/216 -f 242/237/174 241/236/217 289/296/217 -f 284/299/218 289/296/217 241/236/217 -f 240/297/218 243/301/182 299/298/182 -f 284/299/218 241/236/217 240/297/218 -f 300/300/219 299/298/182 243/301/182 -f 257/302/219 256/289/214 301/256/214 -o Cube.002_Cube.004 -v 0.026408 0.393839 0.139055 -v -0.021028 0.393839 0.139055 -v -0.023362 0.393896 0.151552 -v 0.028355 0.393564 0.151552 -v 1.037985 0.393839 -0.120188 -v 1.037985 0.100576 -0.120188 -v 1.013396 0.099485 -0.121502 -v 1.013400 0.393839 -0.121501 -v 1.660505 0.047403 -0.079038 -v 1.660505 0.047403 0.080263 -v 1.037985 0.047403 0.080110 -v 1.037985 0.047403 -0.078885 -v 0.995425 0.393839 0.125895 -v 0.995410 0.096349 0.125900 -v 1.013396 0.099485 0.122727 -v 1.013400 0.393839 0.122725 -v 0.226861 0.392465 0.139055 -v 0.226861 0.179659 0.139055 -v 0.269772 0.176783 0.139055 -v 0.293139 0.184279 0.139055 -v 0.293139 0.392465 0.139055 -v 0.176861 0.156742 0.139055 -v 0.193139 0.179659 0.139055 -v 0.193139 0.392465 0.139055 -v 0.026381 0.098712 0.139055 -v 0.093139 0.124456 0.139055 -v 0.093139 0.392051 0.139055 -v 0.126861 0.392051 0.139055 -v 0.126861 0.137460 0.139055 -v 0.143139 0.143738 0.139055 -v 0.143139 0.392051 0.139055 -v 0.176861 0.392051 0.139055 -v 0.516984 0.167893 0.139055 -v 0.510000 0.163019 0.139055 -v 0.410000 0.163019 0.139055 -v 0.310000 0.163019 0.139055 -v 0.303016 0.167893 0.139055 -v 0.293139 0.179659 0.139055 -v 0.210000 0.163019 0.139055 -v 0.176861 0.100073 0.139055 -v 0.166984 0.088307 0.139055 -v 0.160000 0.083433 0.139055 -v 0.153016 0.088307 0.139055 -v 0.143139 0.100073 0.139055 -v 0.126861 0.100073 0.139055 -v 0.116984 0.088307 0.139055 -v 0.110000 0.083433 0.139055 -v 0.103016 0.088307 0.139055 -v 0.093139 0.100073 0.139055 -v 0.026379 0.080437 0.139055 -v 0.927107 0.080575 0.139055 -v 0.927107 0.393839 0.139055 -v 0.326861 0.392465 0.139055 -v 0.393139 0.392465 0.139055 -v 0.426861 0.392465 0.139055 -v 0.493139 0.392465 0.139055 -v 0.526861 0.392465 0.139055 -v 0.593139 0.392465 0.139055 -v 0.626861 0.392465 0.139055 -v 0.693139 0.392465 0.139055 -v 0.726861 0.392465 0.139055 -v 0.793139 0.392465 0.139055 -v 0.826861 0.392465 0.139055 -v 0.826861 0.179659 0.139055 -v 0.816984 0.167893 0.139055 -v 0.810000 0.163019 0.139055 -v 0.710000 0.163019 0.139055 -v 0.610000 0.163019 0.139055 -v 1.037985 0.100576 0.121413 -v 1.037985 0.393839 0.121413 -v 0.951692 0.393839 0.137743 -v 0.969667 0.393839 0.134574 -v 1.660505 0.393839 0.121413 -v 1.660505 0.393839 -0.120188 -v 0.995425 0.393839 -0.124670 -v 0.969667 0.393839 -0.133349 -v 0.951692 0.393839 -0.136518 -v 0.927107 0.393839 -0.137831 -v 0.026414 0.393839 -0.137831 -v -0.021028 0.393839 -0.137831 -v 0.995410 0.096349 -0.124675 -v 0.969682 0.086522 -0.133344 -v 1.660505 0.100430 -0.120188 -v 1.660505 0.100430 0.121413 -v -0.021028 0.034507 0.118480 -v -0.021028 0.053917 0.133542 -v -0.021028 0.080430 0.139055 -v -0.021028 0.080430 -0.137831 -v -0.021028 0.053917 -0.132318 -v -0.021028 0.034507 -0.117256 -v -0.021028 0.027403 -0.096681 -v -0.021028 0.027403 0.097905 -v 0.969682 0.086522 0.134568 -v 0.951696 0.082465 0.137741 -v 1.013395 0.045913 0.080994 -v 1.013395 0.045913 -0.079770 -v 0.995407 0.042316 -0.082385 -v 0.995407 0.042316 0.083609 -v 0.969685 0.032491 0.092276 -v 0.969685 0.032491 -0.091052 -v 0.951696 0.082465 -0.136517 -v 0.927107 0.080575 -0.137831 -v 0.927107 0.027403 0.097752 -v 0.927107 0.027403 -0.096528 -v 0.951697 0.028893 -0.094783 -v 0.951697 0.028893 0.096008 -v 1.660505 0.054507 -0.099613 -v 1.660505 0.073917 -0.114675 -v 1.660505 0.073917 0.115900 -v 1.660505 0.054507 0.100838 -v 1.013395 0.053090 0.101861 -v 0.995408 0.049555 0.104755 -v 1.013395 0.072699 0.117136 -v 0.995409 0.069332 0.120234 -v 1.037985 0.054527 0.100761 -v 1.037985 0.073989 0.115879 -v 1.013395 0.053090 -0.100636 -v 1.037985 0.054527 -0.099537 -v 1.013395 0.072699 -0.115911 -v 1.037985 0.073989 -0.114655 -v 0.995408 0.049555 -0.103530 -v 0.995409 0.069332 -0.119010 -v 0.951697 0.036070 -0.115650 -v 0.969685 0.039729 -0.112197 -v 0.951697 0.055679 -0.130925 -v 0.969684 0.059506 -0.127677 -v 0.927107 0.034527 -0.117179 -v 0.927107 0.053989 -0.132297 -v 0.951697 0.036070 0.116874 -v 0.927107 0.034527 0.118404 -v 0.951697 0.055679 0.132150 -v 0.927107 0.053989 0.133522 -v 0.969685 0.039729 0.113422 -v 0.969684 0.059506 0.128902 -v 0.028361 0.393564 -0.150327 -v -0.023362 0.393896 -0.150327 -v 0.026379 0.053920 0.133541 -v 0.028324 0.077206 0.151551 -v 0.028324 0.048295 0.145540 -v -0.023362 0.048291 -0.144316 -v -0.023362 0.027130 -0.127895 -v 0.026379 0.027403 0.097898 -v 0.026379 0.034508 0.118476 -v 0.393139 0.180122 -0.137831 -v 0.403016 0.168028 -0.137831 -v 0.410000 0.163019 -0.137831 -v 0.310637 0.162014 -0.137831 -v 0.326861 0.392465 -0.137831 -v 0.393139 0.392465 -0.137831 -v 0.326861 0.392465 0.157114 -v 0.326861 0.179659 0.157114 -v 0.326861 0.179659 0.139055 -v 0.426861 0.180122 -0.137831 -v 0.426861 0.180122 -0.155889 -v 0.426861 0.392465 -0.155889 -v 0.426861 0.392465 -0.137831 -v 0.193139 0.392465 0.157114 -v 0.226861 0.392465 0.157114 -v 0.226861 0.392465 -0.155889 -v 0.193139 0.392465 -0.155889 -v 0.193139 0.392465 -0.137831 -v 0.226861 0.392465 -0.137831 -v 0.126861 0.137460 -0.137831 -v 0.126861 0.392051 -0.137831 -v 0.093139 0.392051 -0.137831 -v 0.093139 0.124456 -0.137831 -v 0.026381 0.098712 -0.137831 -v 0.193139 0.180122 -0.137831 -v 0.176861 0.156742 -0.137831 -v 0.176861 0.392051 -0.137831 -v 0.143139 0.392051 -0.137831 -v 0.143139 0.143738 -0.137831 -v 0.193139 0.179659 0.157114 -v 0.193139 0.180122 -0.155889 -v 0.526861 0.392465 0.157114 -v 0.526861 0.179659 0.157114 -v 0.526861 0.179659 0.139055 -v 0.526861 0.180122 -0.137831 -v 0.526861 0.180122 -0.155889 -v 0.526861 0.392465 -0.155889 -v 0.526861 0.392465 -0.137831 -v 0.293139 0.392465 0.157114 -v 0.326861 0.392465 -0.155889 -v 0.293139 0.392465 -0.155889 -v 0.293139 0.392465 -0.137831 -v 0.226861 0.179659 0.157114 -v 0.226861 0.180122 -0.137831 -v 0.226861 0.180122 -0.155889 -v 0.293139 0.179659 0.157114 -v 0.293139 0.184279 -0.137831 -v 0.293139 0.180122 -0.155889 -v 0.293139 0.180122 -0.137831 -v 0.310622 0.162019 -0.155966 -v 0.318624 0.167861 -0.137969 -v 0.318609 0.167866 -0.156104 -v 0.303016 0.167893 0.157114 -v 0.310000 0.163019 0.157114 -v 0.316984 0.167893 0.157114 -v 0.393139 0.392465 -0.155889 -v 0.416984 0.168028 -0.155889 -v 0.410000 0.163019 -0.155889 -v 0.403016 0.168028 -0.155889 -v 0.393139 0.180122 -0.155889 -v 0.393139 0.392465 0.157114 -v 0.426861 0.392465 0.157114 -v 0.203016 0.167893 0.157114 -v 0.210000 0.163019 0.157114 -v 0.216984 0.167893 0.157114 -v 0.326861 0.180122 -0.155889 -v 0.393139 0.179659 0.157114 -v 0.393139 0.179659 0.139055 -v 0.626861 0.180122 -0.137831 -v 0.626861 0.180122 -0.155889 -v 0.626861 0.392465 -0.155889 -v 0.626861 0.392465 -0.137831 -v 0.626861 0.392465 0.157114 -v 0.626861 0.179659 0.157114 -v 0.626861 0.179659 0.139055 -v 0.726861 0.180122 -0.137831 -v 0.726861 0.180122 -0.155889 -v 0.726861 0.392465 -0.155889 -v 0.726861 0.392465 -0.137831 -v 0.493139 0.392465 0.157114 -v 0.493139 0.392465 -0.155889 -v 0.493139 0.392465 -0.137831 -v 0.426861 0.179659 0.157114 -v 0.426861 0.179659 0.139055 -v 0.216984 0.168028 -0.155889 -v 0.210000 0.163019 -0.155889 -v 0.203016 0.168028 -0.155889 -v 0.493139 0.179659 0.157114 -v 0.493139 0.179659 0.139055 -v 0.493139 0.180122 -0.155889 -v 0.493139 0.180122 -0.137831 -v 0.726861 0.392465 0.157114 -v 0.726861 0.179659 0.157114 -v 0.726861 0.179659 0.139055 -v 0.826861 0.180122 -0.137831 -v 0.826861 0.180122 -0.155889 -v 0.826861 0.392465 -0.155889 -v 0.826861 0.392465 -0.137831 -v 0.593139 0.392465 0.157114 -v 0.593139 0.392465 -0.155889 -v 0.593139 0.392465 -0.137831 -v 0.403016 0.167893 0.157114 -v 0.410000 0.163019 0.157114 -v 0.416984 0.167893 0.157114 -v 0.593139 0.179659 0.157114 -v 0.593139 0.179659 0.139055 -v 0.593139 0.180122 -0.155889 -v 0.593139 0.180122 -0.137831 -v 0.826861 0.392465 0.157114 -v 0.826861 0.179659 0.157114 -v 0.126861 0.100536 -0.137831 -v 0.126861 0.100536 -0.155889 -v 0.126861 0.392051 -0.155889 -v 0.693139 0.392465 0.157114 -v 0.693139 0.392465 -0.155889 -v 0.693139 0.392465 -0.137831 -v 0.503016 0.167893 0.157114 -v 0.510000 0.163019 0.157114 -v 0.516984 0.167893 0.157114 -v 0.693139 0.179659 0.157114 -v 0.693139 0.179659 0.139055 -v 0.693139 0.180122 -0.155889 -v 0.693139 0.180122 -0.137831 -v 0.176861 0.392051 0.157114 -v 0.176861 0.100073 0.157114 -v 0.093139 0.392051 -0.155889 -v 0.116984 0.088442 -0.155889 -v 0.110000 0.083433 -0.155889 -v 0.103016 0.088442 -0.155889 -v 0.093139 0.100536 -0.155889 -v 0.793139 0.392465 0.157114 -v 0.793139 0.392465 -0.155889 -v 0.793139 0.392465 -0.137831 -v 0.603016 0.167893 0.157114 -v 0.610000 0.163019 0.157114 -v 0.616984 0.167893 0.157114 -v 0.516984 0.168028 -0.155889 -v 0.510000 0.163019 -0.155889 -v 0.503016 0.168028 -0.155889 -v 0.793139 0.179659 0.157114 -v 0.793139 0.179659 0.139055 -v 0.793139 0.180122 -0.155889 -v 0.793139 0.180122 -0.137831 -v 0.803016 0.167893 0.157114 -v 0.810000 0.163019 0.157114 -v 0.816984 0.167893 0.157114 -v 0.093139 0.392051 0.157114 -v 0.126861 0.392051 0.157114 -v 0.703016 0.167893 0.157114 -v 0.710000 0.163019 0.157114 -v 0.716984 0.167893 0.157114 -v 0.616984 0.168028 -0.155889 -v 0.610000 0.163019 -0.155889 -v 0.603016 0.168028 -0.155889 -v 0.093139 0.100073 0.157114 -v 0.176861 0.100536 -0.137831 -v 0.176861 0.100536 -0.155889 -v 0.176861 0.392051 -0.155889 -v 0.093139 0.100536 -0.137831 -v 0.103016 0.088307 0.157114 -v 0.110000 0.083433 0.157114 -v 0.116984 0.088307 0.157114 -v 0.126861 0.100073 0.157114 -v 0.816984 0.168028 -0.155889 -v 0.810000 0.163019 -0.155889 -v 0.803016 0.168028 -0.155889 -v 0.143139 0.392051 0.157114 -v 0.143139 0.392051 -0.155889 -v 0.716984 0.168028 -0.155889 -v 0.710000 0.163019 -0.155889 -v 0.703016 0.168028 -0.155889 -v 0.143139 0.100073 0.157114 -v 0.143139 0.100536 -0.155889 -v 0.143139 0.100536 -0.137831 -v 0.203016 0.167893 0.139055 -v 0.216984 0.167893 0.139055 -v 0.316984 0.167893 0.139055 -v 0.403016 0.167893 0.139055 -v 0.416984 0.167893 0.139055 -v 0.503016 0.167893 0.139055 -v 0.603016 0.167893 0.139055 -v 0.616984 0.167893 0.139055 -v 0.703016 0.167893 0.139055 -v 0.716984 0.167893 0.139055 -v 0.803016 0.167893 0.139055 -v 0.160000 0.083433 0.157114 -v 0.166984 0.088307 0.157114 -v 0.153016 0.088307 0.157114 -v 0.203016 0.168028 -0.137831 -v 0.210000 0.163019 -0.137831 -v 0.216984 0.168028 -0.137831 -v 0.416984 0.168028 -0.137831 -v 0.503016 0.168028 -0.137831 -v 0.510000 0.163019 -0.137831 -v 0.516984 0.168028 -0.137831 -v 0.603016 0.168028 -0.137831 -v 0.610000 0.163019 -0.137831 -v 0.303016 0.168028 -0.137831 -v 0.616984 0.168028 -0.137831 -v 0.710000 0.163019 -0.137831 -v 0.810000 0.163019 -0.137831 -v 0.816984 0.168028 -0.137831 -v 0.026379 0.080437 -0.137831 -v 0.103016 0.088442 -0.137831 -v 0.110000 0.083433 -0.137831 -v 0.116984 0.088442 -0.137831 -v 0.153016 0.088442 -0.137831 -v 0.160000 0.083433 -0.137831 -v 0.166984 0.088442 -0.137831 -v 0.703016 0.168028 -0.137831 -v 0.716984 0.168028 -0.137831 -v 0.803016 0.168028 -0.137831 -v 0.160000 0.083433 -0.155889 -v 0.153016 0.088442 -0.155889 -v 0.166984 0.088442 -0.155889 -v 0.303126 0.168028 -0.156104 -v 0.326876 0.180117 -0.137754 -v 0.026379 0.027403 -0.096673 -v 0.028324 0.019385 0.106679 -v 0.028324 0.019385 -0.105454 -v -0.023362 0.077198 0.151551 -v 0.026379 0.034508 -0.117252 -v 0.028324 0.027131 -0.127891 -v 0.026379 0.053920 -0.132317 -v -0.023362 0.019385 0.106687 -v -0.023362 0.019385 -0.105463 -v 0.028325 0.097130 0.151551 -v -0.023362 0.077198 -0.150327 -v 0.028324 0.048295 -0.144315 -v -0.023362 0.048291 0.145541 -v 0.028324 0.077206 -0.150327 -v -0.023362 0.027130 0.129119 -v 0.028324 0.027131 0.129115 -v 0.028326 0.097130 -0.150327 +vn -0.0000 -0.3358 0.9419 +vn -0.0013 -0.3390 0.9408 +vn -0.0006 -0.8069 -0.5907 +vn -0.0007 -0.6930 -0.7209 +vn -0.0000 -0.7379 0.6749 +vn -0.0000 -0.8200 0.5723 +vn -0.0000 -0.8200 -0.5723 +vn -0.0000 -0.7379 -0.6749 +vn -0.0000 -0.8126 0.5828 +vn -0.0000 -0.7289 0.6846 +vn -0.0000 -0.7289 -0.6846 +vn -0.0000 -0.8126 -0.5828 +vn -1.0000 0.0078 -0.0000 +vn -1.0000 0.0074 -0.0000 +vn -0.0023 -0.7816 0.6238 +vn -0.0012 -0.7129 0.7013 +vn -0.0036 -0.7124 0.7018 +vn -0.0008 -0.3029 -0.9530 +vn -0.0007 -0.6931 -0.7208 +vn -0.0007 0.0001 -1.0000 +vn -0.0008 -0.2904 -0.9569 +vn -0.0145 0.2183 -0.9758 +vn 0.0392 0.1881 -0.9814 +vn 0.0145 0.2183 -0.9758 +vn -0.0836 0.0092 0.9965 +vn -0.1587 -0.0000 0.9873 +vn -0.0797 -0.0000 0.9968 +vn 0.0702 0.1427 -0.9873 +vn 0.0854 0.1178 -0.9894 +vn -0.9930 -0.1183 -0.0000 +vn -0.5348 -0.8437 -0.0454 +vn -0.8845 -0.4665 -0.0001 +vn -0.1439 -0.9896 -0.0000 +vn -0.1327 -0.0001 -0.9911 +vn -0.1329 -0.0001 -0.9911 +vn -0.1328 -0.0001 -0.9911 +vn 0.1587 -0.0000 0.9873 +vn 0.1545 0.0195 0.9878 +vn 0.1131 0.0626 -0.9916 +vn 0.1147 0.0586 -0.9917 +vn -0.0784 0.0434 0.9960 +vn -0.1545 0.0195 0.9878 +vn -0.5337 -0.8457 -0.0001 +vn 0.9930 -0.1182 -0.0000 +vn 0.5337 -0.8457 -0.0001 +vn -0.0854 0.1178 -0.9894 +vn -0.0702 0.1427 -0.9873 +vn 0.1297 0.0143 -0.9915 +vn 0.1328 -0.0001 -0.9911 +vn -0.1020 0.1407 0.9848 +vn -0.1372 0.0701 0.9881 +vn 0.1372 0.0701 0.9881 +vn 0.0467 0.2240 0.9735 +vn -0.0392 0.1881 -0.9814 +vn -0.1296 0.0143 -0.9915 +vn -0.0467 0.2240 0.9735 +vn -0.0494 0.1002 0.9937 +vn 0.1292 0.0162 -0.9915 +vn 0.1329 -0.0001 -0.9911 +vn -0.0029 1.0000 -0.0064 +vn -0.0067 1.0000 -0.0000 +vn 0.0797 -0.0000 0.9968 +vn 0.5338 -0.8456 0.0001 +vn 0.5794 -0.0572 -0.8130 +vn 0.3708 -0.3967 -0.8397 +vn 0.4890 -0.1952 -0.8502 +vn 0.0998 -0.6565 -0.7477 +vn -1.0000 0.0094 -0.0001 +vn -1.0000 0.0098 -0.0000 +vn -0.9996 -0.0270 0.0003 +vn 0.0003 -0.7850 0.6195 +vn -0.5337 -0.8456 -0.0001 +vn 0.1439 -0.9896 -0.0000 +vn -0.5338 -0.8456 -0.0001 +vn -0.0002 1.0000 -0.0000 +vn -0.0000 -1.0000 -0.0000 +vn 0.9111 0.4123 -0.0000 +vn 0.8852 0.4652 -0.0000 +vn 0.9239 0.3826 -0.0000 +vn 0.9698 0.2437 -0.0000 +vn 0.9805 0.1966 -0.0000 +vn 0.9980 0.0631 -0.0000 +vn 0.9984 0.0559 -0.0000 +vn -0.8852 -0.4653 -0.0000 +vn -0.9110 -0.4124 -0.0000 +vn -0.9239 -0.3828 -0.0000 +vn -0.9698 -0.2437 -0.0000 +vn -0.9980 -0.0630 -0.0000 +vn -0.9921 -0.1258 -0.0000 +vn -0.2976 0.9547 -0.0000 +vn -0.2824 0.9057 0.3162 +vn -0.2796 0.8979 0.3399 +vn -0.1824 0.7163 0.6735 +vn -0.0715 0.5275 0.8465 +vn -0.0679 0.5079 0.8588 +vn -0.0136 0.3198 0.9474 +vn -0.0056 0.1592 0.9872 +vn -0.0062 0.1597 0.9872 +vn -0.1852 0.7225 0.6661 +vn -0.8852 -0.4652 -0.0000 +vn -0.9805 -0.1964 -0.0000 +vn -0.9920 -0.1259 -0.0000 +vn -0.0112 0.3207 0.9471 vt 0.164335 0.434657 vt 0.179187 0.434574 vt 0.178601 0.434657 @@ -1810,10 +607,8 @@ vt 0.475427 0.434657 vt 0.482821 0.434657 vt 0.670036 0.330470 vt 0.482821 0.330470 -vt 0.670036 0.330470 vt 0.470021 0.434657 vt 0.475425 0.346133 -vt 0.475427 0.434657 vt 0.238885 0.370245 vt 0.251790 0.369380 vt 0.258817 0.371634 @@ -1822,69 +617,37 @@ vt 0.213706 0.434119 vt 0.263888 0.365240 vt 0.223848 0.346310 vt 0.220877 0.342772 -vt 0.482821 0.346461 -vt 0.482821 0.434657 vt 0.462275 0.434657 vt 0.470016 0.345190 vt 0.462279 0.342235 vt 0.670036 0.434657 -vt 0.670036 0.434657 vt 0.670036 0.346418 vt 0.164335 0.324456 -vt 0.164335 0.324456 vt 0.164335 0.340403 -vt 0.462275 0.434657 -vt 0.470016 0.345190 vt 0.449475 0.434657 vt 0.456870 0.341015 vt 0.456869 0.434657 vt 0.475425 0.330022 -vt 0.482821 0.330470 vt 0.470016 0.328940 vt 0.462280 0.325986 -vt 0.462280 0.325986 -vt 0.475425 0.346133 -vt 0.470021 0.434657 -vt 0.470016 0.328940 -vt 0.456870 0.341015 -vt 0.449475 0.434657 -vt 0.456869 0.434657 vt 0.449475 0.324456 vt 0.456870 0.324904 -vt 0.456870 0.324904 -vt 0.462279 0.342235 vt 0.475425 0.332181 vt 0.470016 0.331117 vt 0.470016 0.337065 vt 0.475425 0.338078 vt 0.482821 0.332613 vt 0.482821 0.338466 -vt 0.475425 0.330022 -vt 0.482821 0.332613 -vt 0.475425 0.338078 -vt 0.482821 0.338466 -vt 0.475425 0.332181 -vt 0.470016 0.337065 vt 0.462280 0.328162 vt 0.456870 0.332959 vt 0.462280 0.334110 -vt 0.449475 0.324456 vt 0.456870 0.327062 vt 0.449475 0.332451 vt 0.449475 0.340446 -vt 0.456870 0.327062 vt 0.449475 0.326598 -vt 0.449475 0.332451 -vt 0.456870 0.332959 -vt 0.449475 0.340446 vt 0.462280 0.328163 -vt 0.462280 0.334110 vt 0.670036 0.332607 vt 0.670036 0.338444 -vt 0.670036 0.346418 -vt 0.470016 0.331117 -vt 0.670036 0.338444 -vt 0.164335 0.434657 vt 0.179188 0.434574 vt 0.163633 0.434674 vt 0.178592 0.332430 @@ -1901,1895 +664,2364 @@ vt 0.291861 0.366747 vt 0.264079 0.364938 vt 0.268958 0.434243 vt 0.268958 0.370245 -vt 0.268958 0.434243 vt 0.299032 0.370384 vt 0.299032 0.434243 -vt 0.299032 0.370384 vt 0.228743 0.434243 vt 0.238885 0.434243 -vt 0.228743 0.434243 -vt 0.228743 0.434243 -vt 0.238885 0.434243 -vt 0.238885 0.434243 -vt 0.213706 0.434119 vt 0.178603 0.434657 -vt 0.228743 0.434243 -vt 0.228743 0.370245 vt 0.228743 0.370245 vt 0.228743 0.370384 vt 0.329106 0.434243 vt 0.329106 0.370245 -vt 0.329106 0.434243 -vt 0.329106 0.370384 -vt 0.329106 0.434243 vt 0.329106 0.370384 vt 0.258817 0.434243 -vt 0.258817 0.434243 -vt 0.258817 0.434243 -vt 0.268958 0.434243 -vt 0.268958 0.434243 -vt 0.238885 0.434243 -vt 0.238885 0.370384 vt 0.238885 0.370384 vt 0.258817 0.370384 -vt 0.258817 0.371634 vt 0.264075 0.364940 vt 0.266481 0.366696 vt 0.265988 0.366706 -vt 0.268958 0.370245 vt 0.258817 0.370245 -vt 0.291861 0.366747 -vt 0.288891 0.370384 vt 0.288891 0.434243 -vt 0.299032 0.434243 -vt 0.288891 0.434243 -vt 0.288891 0.434243 -vt 0.299032 0.434243 vt 0.235914 0.366706 -vt 0.238885 0.370245 vt 0.268958 0.370384 vt 0.288891 0.370245 -vt 0.288891 0.370245 -vt 0.288891 0.434243 -vt 0.359180 0.370384 -vt 0.359180 0.434243 vt 0.359180 0.370384 vt 0.359180 0.434243 vt 0.359180 0.370245 -vt 0.359180 0.434243 vt 0.389254 0.370384 vt 0.389254 0.434243 -vt 0.389254 0.370384 vt 0.318965 0.434243 -vt 0.318965 0.434243 -vt 0.318965 0.434243 -vt 0.329106 0.434243 -vt 0.299032 0.434243 vt 0.299032 0.370245 vt 0.231714 0.366747 vt 0.318965 0.370245 -vt 0.318965 0.370245 vt 0.318965 0.370384 -vt 0.318965 0.434243 -vt 0.389254 0.434243 vt 0.389254 0.370245 -vt 0.389254 0.434243 vt 0.419327 0.370384 vt 0.419327 0.434243 -vt 0.419327 0.370384 vt 0.349038 0.434243 -vt 0.349038 0.434243 -vt 0.349038 0.434243 -vt 0.359180 0.434243 vt 0.296062 0.366706 -vt 0.299032 0.370245 -vt 0.349038 0.370245 vt 0.349038 0.370245 vt 0.349038 0.370384 -vt 0.349038 0.434243 -vt 0.419327 0.434243 vt 0.419327 0.370245 -vt 0.419327 0.434243 -vt 0.208811 0.434119 vt 0.208811 0.357554 vt 0.208811 0.346449 vt 0.379112 0.434243 -vt 0.379112 0.434243 -vt 0.379112 0.434243 -vt 0.389254 0.434243 vt 0.326136 0.366706 -vt 0.329106 0.370245 -vt 0.379112 0.370245 vt 0.379112 0.370245 vt 0.379112 0.370384 -vt 0.379112 0.434243 -vt 0.223848 0.346310 vt 0.223848 0.363353 vt 0.201640 0.342812 vt 0.198670 0.346449 vt 0.409186 0.434243 -vt 0.409186 0.434243 -vt 0.409186 0.434243 -vt 0.419327 0.434243 vt 0.356209 0.366706 -vt 0.359180 0.370245 vt 0.321935 0.366747 vt 0.409186 0.370245 -vt 0.409186 0.370245 vt 0.409186 0.370384 -vt 0.409186 0.434243 vt 0.416357 0.366706 -vt 0.419327 0.370245 vt 0.198670 0.434119 -vt 0.198670 0.434119 -vt 0.198670 0.434119 -vt 0.208811 0.434119 vt 0.386283 0.366706 -vt 0.389254 0.370245 vt 0.352009 0.366747 vt 0.198670 0.353643 vt 0.198670 0.346310 vt 0.223848 0.434119 -vt 0.223848 0.434119 -vt 0.223848 0.363353 -vt 0.198670 0.346449 -vt 0.198670 0.353643 vt 0.205841 0.342772 vt 0.208811 0.346310 vt 0.412156 0.366747 -vt 0.213706 0.434119 -vt 0.223848 0.434119 -vt 0.213706 0.434119 -vt 0.208811 0.357554 -vt 0.208811 0.434119 vt 0.382083 0.366747 vt 0.213706 0.359442 vt 0.213706 0.346449 -vt 0.213706 0.346449 -vt 0.213706 0.359442 vt 0.233814 0.365240 vt 0.231714 0.366706 -vt 0.235914 0.366706 vt 0.291861 0.366706 vt 0.321935 0.366706 vt 0.382083 0.366706 vt 0.412156 0.366706 -vt 0.198670 0.346310 -vt 0.201640 0.342772 vt 0.201640 0.342772 vt 0.203740 0.341306 -vt 0.412156 0.366706 vt 0.414257 0.365240 -vt 0.258817 0.370245 vt 0.261787 0.366706 -vt 0.261787 0.366706 -vt 0.263888 0.365240 -vt 0.291861 0.366706 vt 0.293962 0.365240 -vt 0.321935 0.366706 vt 0.324035 0.365240 vt 0.352009 0.366706 -vt 0.352009 0.366706 vt 0.354109 0.365240 -vt 0.382083 0.366706 vt 0.384183 0.365240 vt 0.218777 0.341306 -vt 0.220877 0.342772 -vt 0.218777 0.341306 -vt 0.231714 0.366706 -vt 0.233814 0.365240 -vt 0.265988 0.366706 -vt 0.293962 0.365240 -vt 0.296062 0.366706 -vt 0.354109 0.365240 -vt 0.356209 0.366706 -vt 0.384183 0.365240 -vt 0.386283 0.366706 -vt 0.414257 0.365240 -vt 0.416357 0.366706 vt 0.213706 0.346310 vt 0.216677 0.342772 -vt 0.213706 0.346310 -vt 0.216677 0.342772 -vt 0.324035 0.365240 -vt 0.326136 0.366706 -vt 0.203740 0.341306 -vt 0.205841 0.342772 -vt 0.228743 0.370384 -vt 0.231714 0.366747 -vt 0.233814 0.365240 -vt 0.258817 0.434243 -vt 0.318965 0.370384 -vt 0.321935 0.366747 -vt 0.349038 0.370384 -vt 0.352009 0.366747 -vt 0.379112 0.370384 -vt 0.382083 0.366747 vt 0.386283 0.366747 -vt 0.409186 0.370384 -vt 0.412156 0.366747 -vt 0.293962 0.365240 -vt 0.293962 0.365240 vt 0.235914 0.366747 -vt 0.235914 0.366747 -vt 0.233814 0.365240 -vt 0.296062 0.366747 vt 0.296062 0.366747 vt 0.326136 0.366747 -vt 0.326136 0.366747 -vt 0.324035 0.365240 -vt 0.386283 0.366747 -vt 0.384183 0.365240 -vt 0.208811 0.346449 vt 0.205841 0.342812 -vt 0.205841 0.342812 -vt 0.203740 0.341306 -vt 0.218777 0.341306 vt 0.216677 0.342812 -vt 0.218777 0.341306 -vt 0.216677 0.342812 -vt 0.354109 0.365240 -vt 0.354109 0.365240 vt 0.356209 0.366747 -vt 0.356209 0.366747 -vt 0.384183 0.365240 -vt 0.414257 0.365240 -vt 0.414257 0.365240 -vt 0.416357 0.366747 vt 0.416357 0.366747 vt 0.223848 0.346449 vt 0.220877 0.342812 -vt 0.223848 0.346449 -vt 0.220877 0.342812 -vt 0.324035 0.365240 vt 0.261787 0.366747 vt 0.261821 0.366747 -vt 0.203740 0.341306 -vt 0.201640 0.342812 vt 0.266477 0.366698 vt 0.268963 0.370382 vt 0.179177 0.322044 -vt 0.178592 0.324456 -vt 0.164335 0.340403 -vt 0.163633 0.434674 -vt 0.178592 0.326592 vt 0.179177 0.324374 -vt 0.178592 0.340405 -vt 0.449475 0.326598 -vt 0.178592 0.332430 -vt 0.163633 0.322044 vt 0.163633 0.322044 vt 0.178593 0.345901 vt 0.179178 0.345425 vt 0.163633 0.339431 -vt 0.179177 0.330739 -vt 0.164335 0.332429 -vt 0.163633 0.339431 vt 0.163633 0.330737 -vt 0.179177 0.339433 -vt 0.163633 0.330737 -vt 0.179177 0.324374 -vt 0.163633 0.324373 -vt 0.179178 0.345425 -vt 0.178593 0.345901 -vt 0.179177 0.322044 -vt 0.164335 0.326592 -vt 0.208811 0.346310 -vt 0.670036 0.332607 -vt 0.198670 0.434119 -vt 0.258817 0.370384 -vt 0.223848 0.434119 -vn 0.0029 1.0000 0.0001 -vn 0.0011 0.9998 0.0176 -vn 0.0000 1.0000 0.0078 -vn 0.0288 -0.1011 -0.9945 -vn 0.1137 0.0000 -0.9935 -vn 0.0267 0.0000 -0.9996 -vn -0.0000 -0.9862 0.1655 -vn 0.0329 -0.9859 -0.1639 -vn -0.0000 -0.9862 -0.1655 -vn 0.2472 0.0000 0.9690 -vn 0.1238 -0.0981 0.9874 -vn 0.1137 0.0000 0.9935 -vn -0.0000 -0.0000 1.0000 -vn 0.0288 -0.1011 0.9945 -vn 0.0267 -0.0000 0.9996 -vn 0.0000 1.0000 0.0000 -vn 0.2472 -0.0000 -0.9690 -vn 0.2701 -0.0937 -0.9583 -vn 0.2739 -0.1017 -0.9564 -vn 0.0000 0.0000 -1.0000 -vn -0.0000 -0.1023 0.9947 -vn -0.9897 0.1430 0.0124 -vn -0.9897 0.1430 -0.0124 -vn -0.9954 0.0088 0.0959 -vn 0.2701 -0.0938 0.9583 -vn 0.1289 -0.1059 0.9860 -vn 0.1418 -0.9771 0.1589 -vn 0.0329 -0.9859 0.1639 -vn 0.3083 -0.9396 -0.1488 -vn 0.3106 -0.9374 0.1576 -vn 0.3106 -0.9374 -0.1576 -vn 0.1238 -0.0981 -0.9875 -vn 0.3083 -0.9396 0.1487 -vn 0.1289 -0.1059 -0.9860 -vn 0.0356 -0.9851 0.1682 -vn 0.1486 -0.9746 -0.1676 -vn 0.1486 -0.9746 0.1676 -vn 0.2739 -0.1017 0.9564 -vn 1.0000 0.0000 0.0000 -vn 0.1628 -0.8041 0.5718 -vn 0.3575 -0.7630 0.5386 -vn 0.3300 -0.3908 0.8593 -vn 0.1501 -0.4107 0.8993 -vn 0.0370 -0.8129 0.5813 -vn 0.0343 -0.4175 0.9080 -vn 0.1418 -0.9771 -0.1589 -vn 0.0370 -0.8129 -0.5813 -vn 0.1501 -0.4107 -0.8993 -vn 0.0343 -0.4175 -0.9080 -vn 0.1628 -0.8041 -0.5718 -vn 0.3300 -0.3908 -0.8593 -vn 0.3552 -0.7617 -0.5419 -vn 0.1620 -0.4190 -0.8934 -vn 0.3323 -0.3993 -0.8545 -vn 0.0356 -0.9851 -0.1682 -vn 0.1749 -0.8002 -0.5737 -vn 0.0397 -0.4217 -0.9059 -vn 0.0307 -0.1047 -0.9940 -vn 0.1749 -0.8002 0.5737 -vn 0.0432 -0.8117 0.5825 -vn 0.0397 -0.4217 0.9059 -vn 0.1620 -0.4190 0.8934 -vn 0.0307 -0.1047 0.9940 -vn 0.3552 -0.7617 0.5419 -vn 0.3323 -0.3992 0.8545 -vn -0.0001 -0.8129 -0.5824 -vn -0.0001 -0.4191 -0.9079 -vn -0.0000 -0.1023 -0.9947 -vn 0.3574 -0.7630 -0.5386 -vn -0.0001 -0.4191 0.9079 -vn 0.0029 1.0000 -0.0001 -vn 0.0011 0.9998 -0.0176 -vn 0.0064 1.0000 0.0034 -vn 0.9894 0.0607 -0.1319 -vn 0.9886 0.0167 -0.1496 -vn 0.9894 0.0610 -0.1318 -vn -0.9950 0.0416 0.0904 -vn -0.9827 0.1451 0.1150 -vn -0.9933 0.0989 0.0592 -vn 0.0001 -0.8129 0.5824 -vn 0.0001 -0.4192 0.9079 -vn 0.9397 -0.3421 0.0000 -vn 0.9419 -0.3358 0.0000 -vn -0.9397 -0.3421 0.0000 -vn -1.0000 0.0000 0.0000 -vn -0.9419 -0.3358 0.0000 -vn -0.9409 -0.3386 -0.0014 -vn 0.5907 -0.8069 -0.0007 -vn 0.7209 -0.6930 -0.0008 -vn -0.6749 -0.7379 0.0000 -vn -0.5723 -0.8200 0.0000 -vn 0.5723 -0.8200 0.0000 -vn 0.6749 -0.7379 0.0000 -vn -0.5828 -0.8126 0.0000 -vn -0.6846 -0.7289 0.0000 -vn 0.6846 -0.7289 0.0000 -vn 0.5828 -0.8126 0.0000 -vn 0.0000 0.0068 -1.0000 -vn 0.0000 0.0064 -1.0000 -vn -0.6236 -0.7818 -0.0025 -vn -0.7013 -0.7128 -0.0015 -vn -0.7018 -0.7124 -0.0042 -vn 0.9535 -0.3014 -0.0009 -vn 0.7208 -0.6931 -0.0008 -vn 1.0000 0.0001 -0.0008 -vn 0.9568 -0.2906 -0.0009 -vn 0.9761 0.2164 -0.0186 -vn 0.9808 0.1900 0.0438 -vn 0.9761 0.2164 0.0186 -vn -0.9954 0.0088 -0.0959 -vn -0.9830 0.0000 -0.1836 -vn -0.9957 0.0000 -0.0923 -vn 0.9867 0.1398 0.0835 -vn 0.9879 0.1215 0.0964 -vn 0.0432 -0.8117 -0.5825 -vn 0.0001 -0.4192 -0.9079 -vn 0.0000 -0.9862 -0.1654 -vn 0.9881 -0.0001 -0.1537 -vn 0.9881 -0.0001 -0.1539 -vn -0.9830 -0.0000 0.1836 -vn -0.9837 0.0200 0.1786 -vn 0.9894 0.0607 0.1319 -vn 0.9894 0.0610 0.1318 -vn -0.9950 0.0416 -0.0904 -vn -0.9837 0.0200 -0.1786 -vn 0.0001 -0.8129 -0.5824 -vn 0.0001 -0.4191 -0.9079 -vn 0.0000 -0.4191 -0.9079 -vn 0.0000 -0.1023 -0.9948 -vn 0.0000 -0.4191 0.9079 -vn 0.0000 -0.1023 0.9948 -vn 0.0001 -0.4191 0.9079 -vn 0.9879 0.1215 -0.0964 -vn 0.9867 0.1398 -0.0835 -vn 0.9885 0.0138 0.1503 -vn 0.9881 -0.0001 0.1538 -vn -0.9827 0.1451 -0.1150 -vn -0.9848 0.0728 -0.1574 -vn -0.9848 0.0728 0.1574 -vn -0.9727 0.2262 0.0520 -vn 0.9808 0.1900 -0.0438 -vn 0.9885 0.0138 -0.1503 -vn -0.9727 0.2262 -0.0520 -vn -0.9933 0.0989 -0.0592 -vn 0.9886 0.0167 0.1496 -vn 0.9881 -0.0001 0.1540 -vn 0.0064 1.0000 -0.0034 -vn 0.0000 1.0000 -0.0078 -vn -0.9957 0.0000 0.0923 -vn -0.0001 -0.8129 0.5824 -vn 0.7692 -0.0542 0.6367 -vn 0.8164 -0.4249 0.3911 -vn 0.8145 -0.1795 0.5517 -vn 0.7502 -0.6504 0.1190 -vn 0.0001 0.0081 -1.0000 -vn -0.0000 0.0084 -1.0000 -vn -0.0002 -0.0233 -0.9997 -vn -0.6195 -0.7850 0.0003 -vn 0.0000 -0.9862 0.1654 +vt 0.515296 0.663237 +vt 0.515296 0.682674 +vt 0.540019 0.682674 +vt 0.540021 0.682674 +vt 0.671399 0.682674 +vt 0.671399 0.682121 +vt 0.671399 0.663237 +vt 0.539833 0.663237 +vt 0.539833 0.682125 +vt 0.697530 0.701590 +vt 0.568704 0.712834 +vt 0.552946 0.701590 +vt 0.697530 0.692045 +vt 0.543187 0.692045 +vt 0.697530 0.682139 +vt 0.697530 0.640529 +vt 0.539833 0.682139 +vt 0.539833 0.640529 +vt 0.568704 0.712699 +vt 0.697530 0.701471 +vt 0.552946 0.701476 +vt 0.697530 0.691975 +vt 0.697530 0.682121 +vt 0.697530 0.712834 +vt 0.543187 0.691982 +vt 0.697530 0.712699 s 1 -f 305/304/220 307/305/221 304/306/222 -f 309/307/223 311/308/224 308/309/225 -f 313/310/226 315/311/227 312/312/228 -f 316/313/229 318/314/230 319/315/231 -f 321/316/232 322/317/232 323/318/232 -f 304/306/232 331/319/232 334/320/232 -f 339/321/232 343/322/232 344/323/232 -f 319/315/231 372/324/233 373/325/234 -f 308/309/235 311/308/235 373/325/235 -f 379/326/236 384/327/237 385/328/238 -f 377/329/239 309/307/223 308/309/225 -f 376/330/232 372/324/233 387/331/240 -f 394/332/241 395/333/242 391/334/243 -f 375/335/229 317/336/244 316/313/229 -f 355/337/234 397/338/245 374/339/231 -f 398/340/246 315/311/227 314/341/247 -f 400/342/248 402/343/249 403/344/250 -f 310/345/251 378/346/236 311/308/224 -f 400/342/248 398/340/246 401/347/252 -f 404/348/253 381/349/225 380/350/224 -f 406/351/254 408/352/255 409/353/256 -f 385/328/238 380/350/224 379/326/236 -f 408/352/255 402/343/249 409/353/256 -f 374/339/231 396/354/257 375/335/229 -f 313/310/258 312/312/258 387/331/258 -f 401/347/252 414/355/259 415/356/260 -f 414/355/259 417/357/261 415/356/260 -f 416/358/262 317/336/244 417/357/261 -f 398/340/246 418/359/263 414/355/259 -f 418/359/263 416/358/262 414/355/259 -f 419/360/264 318/314/230 416/358/262 -f 399/361/265 421/362/266 315/311/227 -f 421/362/266 422/363/267 423/364/268 -f 423/364/268 310/345/251 309/307/223 -f 400/342/248 420/365/269 399/361/265 -f 420/365/269 425/366/270 422/363/267 -f 422/363/267 384/327/237 310/345/251 -f 408/352/255 427/367/271 403/344/250 -f 427/367/271 428/368/272 429/369/273 -f 429/369/273 404/348/253 385/328/238 -f 407/370/274 426/371/275 408/352/255 -f 426/371/275 431/372/276 428/368/272 -f 428/368/272 405/373/277 404/348/253 -f 406/351/254 432/374/278 433/375/279 -f 432/374/278 435/376/280 433/375/279 -f 434/377/281 354/378/282 435/376/280 -f 409/353/256 436/379/283 432/374/278 -f 436/379/283 434/377/281 432/374/278 -f 437/380/284 397/338/245 434/377/281 -f 312/312/228 421/362/266 410/381/285 -f 421/362/266 411/382/286 410/381/285 -f 423/364/268 386/383/287 411/382/286 -f 403/344/250 424/384/288 400/342/248 -f 424/384/288 429/369/273 425/366/270 -f 425/366/270 385/328/238 384/327/237 -f 313/310/226 418/359/263 314/341/247 -f 418/359/263 412/385/289 419/360/264 -f 419/360/264 387/331/240 372/324/233 -f 402/343/249 415/356/260 436/379/283 -f 415/356/260 437/380/284 436/379/283 -f 417/357/261 396/354/257 437/380/284 -f 383/386/290 438/387/291 439/388/292 -f 440/389/293 441/390/294 442/391/295 -f 392/392/296 444/393/297 393/394/298 -f 445/395/226 433/375/279 446/396/299 -f 433/375/279 440/389/300 446/396/299 -f 435/376/280 353/397/240 440/389/300 -f 447/398/239 448/399/239 450/400/239 -f 453/401/258 455/402/301 356/403/258 -f 457/404/302 459/405/258 456/406/302 -f 460/407/235 320/408/235 327/409/235 -f 463/410/235 465/411/235 462/412/235 -f 474/413/239 382/414/239 464/415/239 -f 476/416/303 327/409/304 326/417/303 -f 477/418/305 464/415/304 463/410/304 -f 478/419/258 480/420/301 360/421/258 -f 482/422/302 484/423/258 481/424/302 -f 485/425/235 356/403/235 324/426/235 -f 487/427/235 451/428/235 486/429/235 -f 461/430/258 321/316/301 320/408/258 -f 491/431/302 465/411/258 490/432/302 -f 485/425/304 324/426/304 323/318/304 -f 494/433/306 493/434/304 487/427/304 -f 496/435/307 497/436/308 450/400/307 -f 501/437/232 454/438/232 492/439/232 -f 505/440/239 506/441/239 457/404/239 -f 507/442/235 358/443/235 357/444/235 -f 502/445/235 459/405/235 458/446/235 -f 511/447/232 489/448/232 476/416/232 -f 512/449/258 486/429/258 451/428/258 -f 507/442/304 514/450/303 513/451/303 -f 506/441/305 452/452/304 502/445/304 -f 516/453/302 518/454/258 515/455/302 -f 519/456/258 521/457/301 362/458/258 -f 523/459/302 525/460/258 522/461/302 -f 526/462/235 360/421/235 359/463/235 -f 527/464/235 484/423/235 483/465/235 -f 508/466/258 530/467/301 358/443/258 -f 533/468/239 477/418/239 491/431/239 -f 526/462/304 535/469/303 534/470/303 -f 536/471/305 528/472/304 527/464/304 -f 538/473/258 540/474/301 364/475/258 -f 542/476/302 544/477/258 541/478/302 -f 545/479/235 362/458/235 361/480/235 -f 546/481/235 518/454/235 517/482/235 -f 550/483/232 529/484/232 513/451/232 -f 545/479/304 552/485/303 551/486/303 -f 553/487/305 547/488/304 546/481/304 -f 555/489/258 367/490/301 366/491/258 -f 559/492/258 466/493/258 558/494/302 -f 560/495/235 364/475/235 363/496/235 -f 561/497/235 525/460/235 524/498/235 -f 565/499/232 479/500/232 534/470/232 -f 560/495/304 567/501/303 566/502/303 -f 568/503/305 562/504/304 561/497/304 -f 571/505/301 343/322/301 325/506/258 -f 575/507/239 576/508/239 558/494/239 -f 577/509/235 366/491/235 365/510/235 -f 578/511/235 544/477/235 543/512/235 -f 582/513/232 520/514/232 551/486/232 -f 585/515/239 536/471/239 482/422/239 -f 577/509/304 587/516/303 586/517/303 -f 588/518/305 579/519/304 578/511/304 -f 592/520/232 556/521/232 586/517/232 -f 593/522/235 331/319/235 330/523/235 -f 572/524/235 467/525/235 559/492/235 -f 597/526/232 539/527/232 566/502/232 -f 600/528/239 553/487/239 516/453/239 -f 593/522/304 329/529/304 601/530/303 -f 604/531/258 473/532/258 472/533/258 -f 576/508/305 605/534/305 469/535/304 -f 608/536/232 609/537/232 601/530/232 -f 612/538/239 588/518/239 542/476/239 -f 613/539/235 335/540/235 334/320/235 -f 614/541/235 473/532/235 604/531/235 -f 609/537/301 332/542/258 594/543/258 -f 617/544/239 568/503/239 523/459/239 -f 613/539/304 334/320/304 333/545/304 -f 619/546/305 620/547/305 475/548/304 -f 342/549/232 621/550/232 325/506/232 -f 621/550/232 326/417/232 325/506/232 -f 321/316/232 622/551/232 322/317/232 -f 622/551/232 342/549/232 322/317/232 -f 455/402/232 624/552/232 514/450/232 -f 530/467/232 626/553/232 535/469/232 -f 480/420/232 552/485/232 361/480/232 -f 521/457/232 629/554/232 567/501/232 -f 540/474/232 631/555/232 587/516/232 -f 352/556/303 606/557/309 601/530/303 -f 351/558/309 607/559/310 606/557/309 -f 587/516/303 590/560/309 586/517/303 -f 631/555/309 591/561/310 590/560/309 -f 341/562/303 499/563/309 492/439/303 -f 340/564/309 500/565/310 499/563/309 -f 514/450/303 548/566/309 513/451/303 -f 624/552/309 549/567/310 548/566/309 -f 535/469/303 563/568/309 534/470/303 -f 626/553/309 564/569/310 563/568/309 -f 552/485/303 580/570/309 551/486/303 -f 627/571/309 581/572/310 580/570/309 -f 567/501/303 595/573/309 566/502/303 -f 629/554/309 596/574/310 595/573/309 -f 345/575/311 633/576/312 632/577/311 -f 344/323/312 571/505/301 633/576/312 -f 326/417/303 509/578/309 476/416/303 -f 621/550/309 510/579/310 509/578/309 -f 339/321/311 501/437/312 500/565/311 -f 623/580/312 454/438/301 501/437/312 -f 338/581/311 550/483/312 549/567/311 -f 625/582/312 529/484/301 550/483/312 -f 371/583/311 582/513/312 581/572/311 -f 628/584/312 520/514/301 582/513/312 -f 370/585/311 597/526/312 596/574/311 -f 630/586/312 539/527/301 597/526/312 -f 369/587/311 592/520/312 591/561/311 -f 368/588/312 556/521/301 592/520/312 -f 347/589/303 634/590/309 618/591/303 -f 346/592/309 632/577/310 634/590/309 -f 342/549/311 511/447/312 510/579/311 -f 622/551/312 489/448/301 511/447/312 -f 337/593/311 565/499/312 564/569/311 -f 336/594/312 479/500/301 565/499/312 -f 350/595/311 608/536/312 607/559/311 -f 349/596/312 609/537/301 608/536/312 -f 633/576/232 571/505/232 618/591/232 -f 471/597/239 635/598/239 472/533/239 -f 635/598/239 636/599/239 472/533/239 -f 465/411/239 488/600/239 493/434/239 -f 456/406/239 537/601/239 639/602/239 -f 481/424/239 554/603/239 642/604/239 -f 544/477/239 579/519/239 381/349/225 -f 515/455/239 569/605/239 656/606/239 -f 657/607/239 589/608/239 658/609/239 -f 449/610/313 505/440/314 504/611/313 -f 448/399/314 506/441/305 505/440/314 -f 490/432/302 531/612/315 491/431/302 -f 637/613/315 532/614/316 531/612/315 -f 456/406/302 503/615/315 457/404/302 -f 638/616/315 504/611/316 503/615/315 -f 481/424/302 583/617/315 482/422/302 -f 641/618/315 584/619/316 583/617/315 -f 522/461/302 615/620/315 523/459/302 -f 657/607/315 616/621/316 615/620/315 -f 557/622/302 573/623/315 558/494/302 -f 652/624/315 574/625/316 573/623/315 -f 654/626/313 660/627/314 659/628/313 -f 653/629/314 619/546/305 660/627/314 -f 643/630/313 600/528/314 599/631/313 -f 642/604/314 553/487/305 600/528/314 -f 515/455/302 598/632/315 516/453/302 -f 645/633/315 599/631/316 598/632/315 -f 646/634/313 617/544/314 616/621/313 -f 656/606/314 568/503/305 617/544/314 -f 647/635/313 612/538/314 611/636/313 -f 658/609/314 588/518/305 612/538/314 -f 541/478/302 610/637/315 542/476/302 -f 648/638/315 611/636/316 610/637/315 -f 602/639/302 661/640/315 603/641/302 -f 655/642/315 659/628/316 661/640/315 -f 486/429/239 512/449/317 494/433/318 -f 640/643/313 585/515/314 584/619/313 -f 639/602/314 536/471/305 585/515/314 -f 636/599/313 533/468/314 532/614/313 -f 635/598/314 477/418/305 533/468/314 -f 496/435/319 644/644/320 662/645/321 -f 644/644/320 494/433/306 662/645/321 -f 651/646/313 575/507/314 574/625/313 -f 650/647/314 576/508/305 575/507/314 -f 660/627/239 619/546/239 603/641/239 -f 512/449/322 497/436/308 498/648/323 -f 512/449/322 451/428/324 663/649/325 -f 445/395/326 666/650/327 664/651/328 -f 390/652/329 306/653/330 305/304/331 -f 668/654/332 666/650/327 669/655/333 -f 431/372/276 649/656/287 405/373/277 -f 430/657/334 670/658/335 431/372/276 -f 664/651/228 430/657/334 407/370/274 -f 406/351/254 664/651/228 407/370/274 -f 666/650/336 671/659/226 672/660/228 -f 328/661/337 307/305/338 673/662/337 -f 391/334/243 439/388/339 674/663/340 -f 670/658/341 669/655/333 675/664/342 -f 389/665/343 667/666/344 390/652/329 -f 672/660/228 669/655/345 666/650/336 -f 669/655/345 443/667/346 675/664/347 -f 675/664/347 674/663/287 677/668/348 -f 442/391/349 667/666/350 676/669/351 -f 679/670/299 676/669/351 678/671/299 -f 671/659/226 679/670/299 678/671/299 -f 441/390/350 673/662/232 667/666/350 -f 673/662/232 306/653/232 667/666/350 -f 680/672/239 677/668/348 674/663/287 -f 680/672/239 439/388/239 438/387/239 -f 440/389/293 679/670/352 446/396/353 -f 649/656/354 680/672/355 470/673/355 -f 389/665/343 678/671/356 676/669/357 -f 392/392/296 674/663/340 443/667/358 -f 393/394/298 672/660/359 394/332/241 -f 446/396/353 665/674/360 445/395/326 -f 353/397/361 673/662/337 441/390/294 -f 394/332/241 671/659/362 395/333/242 -f 388/675/363 671/659/362 678/671/356 -f 670/658/341 677/668/364 649/656/354 -f 470/673/355 438/387/365 382/414/365 -f 305/304/220 306/653/366 307/305/221 -f 309/307/223 310/345/251 311/308/224 -f 313/310/226 314/341/247 315/311/227 -f 316/313/229 317/336/244 318/314/230 -f 324/426/232 320/408/232 323/318/232 -f 320/408/232 321/316/232 323/318/232 -f 335/540/232 325/506/232 326/417/232 -f 304/306/232 328/661/232 329/529/232 -f 304/306/232 329/529/232 330/523/232 -f 335/540/232 326/417/232 327/409/232 -f 332/542/232 333/545/232 331/319/232 -f 333/545/232 334/320/232 331/319/232 -f 334/320/232 335/540/232 327/409/232 -f 327/409/232 304/306/232 334/320/232 -f 304/306/232 330/523/232 331/319/232 -f 371/583/232 336/594/232 337/593/232 -f 337/593/232 338/581/232 345/575/232 -f 338/581/232 339/321/232 344/323/232 -f 337/593/232 345/575/232 354/378/282 -f 369/587/232 370/585/232 354/378/282 -f 370/585/232 371/583/232 354/378/282 -f 371/583/232 337/593/232 354/378/282 -f 364/475/232 365/510/232 355/337/234 -f 365/510/232 366/491/232 355/337/234 -f 361/480/232 362/458/232 355/337/234 -f 362/458/232 363/496/232 355/337/234 -f 363/496/232 364/475/232 355/337/234 -f 359/463/232 360/421/232 355/337/234 -f 360/421/232 361/480/232 355/337/234 -f 357/444/232 358/443/232 304/306/232 -f 358/443/232 359/463/232 304/306/232 -f 304/306/232 359/463/232 355/337/234 -f 324/426/232 356/403/232 304/306/232 -f 356/403/232 357/444/232 304/306/232 -f 327/409/232 320/408/232 304/306/232 -f 320/408/232 324/426/232 304/306/232 -f 329/529/232 328/661/232 352/556/232 -f 328/661/232 353/397/240 352/556/232 -f 351/558/232 352/556/232 353/397/240 -f 350/595/232 351/558/232 353/397/240 -f 354/378/282 355/337/234 367/490/232 -f 355/337/234 366/491/232 367/490/232 -f 350/595/232 353/397/240 345/575/232 -f 353/397/240 354/378/282 345/575/232 -f 354/378/282 367/490/232 368/588/232 -f 354/378/282 368/588/232 369/587/232 -f 333/545/232 332/542/232 347/589/232 -f 332/542/232 348/676/232 347/589/232 -f 347/589/232 348/676/232 346/592/232 -f 348/676/232 349/596/232 346/592/232 -f 345/575/232 338/581/232 344/323/232 -f 346/592/232 349/596/232 350/595/232 -f 345/575/232 346/592/232 350/595/232 -f 341/562/232 323/318/232 322/317/232 -f 342/549/232 325/506/232 343/322/232 -f 341/562/232 322/317/232 340/564/232 -f 322/317/232 342/549/232 343/322/232 -f 340/564/232 322/317/232 339/321/232 -f 322/317/232 343/322/232 339/321/232 -f 319/315/231 318/314/230 372/324/233 -f 355/337/235 374/339/235 381/349/235 -f 374/339/235 375/335/235 380/350/235 -f 381/349/235 374/339/235 380/350/235 -f 375/335/235 316/313/235 379/326/235 -f 383/386/290 305/304/220 304/306/222 -f 304/306/222 355/337/235 381/349/235 -f 316/313/235 319/315/235 378/346/235 -f 382/414/367 383/386/290 304/306/222 -f 381/349/235 382/414/367 304/306/222 -f 375/335/235 379/326/235 380/350/235 -f 378/346/235 379/326/235 316/313/235 -f 373/325/235 376/330/235 377/329/235 -f 319/315/235 373/325/235 311/308/235 -f 311/308/235 378/346/235 319/315/235 -f 373/325/235 377/329/235 308/309/235 -f 379/326/236 378/346/236 384/327/237 -f 377/329/239 386/383/287 309/307/223 -f 376/330/232 373/325/234 372/324/233 -f 395/333/242 388/675/363 389/665/343 -f 389/665/343 390/652/329 395/333/242 -f 390/652/329 305/304/331 391/334/243 -f 395/333/242 390/652/329 391/334/243 -f 305/304/331 383/386/368 391/334/243 -f 391/334/243 392/392/296 394/332/241 -f 392/392/296 393/394/298 394/332/241 -f 375/335/229 396/354/257 317/336/244 -f 355/337/234 354/378/282 397/338/245 -f 398/340/246 399/361/265 315/311/227 -f 400/342/248 401/347/252 402/343/249 -f 310/345/251 384/327/237 378/346/236 -f 400/342/248 399/361/265 398/340/246 -f 404/348/253 405/373/277 381/349/225 -f 406/351/254 407/370/274 408/352/255 -f 385/328/238 404/348/253 380/350/224 -f 408/352/255 403/344/250 402/343/249 -f 374/339/231 397/338/245 396/354/257 -f 312/312/258 410/381/258 411/382/258 -f 411/382/258 386/383/258 312/312/258 -f 386/383/258 377/329/258 387/331/258 -f 312/312/258 386/383/258 387/331/258 -f 377/329/258 376/330/258 387/331/258 -f 387/331/258 412/385/258 313/310/258 -f 412/385/258 413/677/258 313/310/258 -f 401/347/252 398/340/246 414/355/259 -f 414/355/259 416/358/262 417/357/261 -f 416/358/262 318/314/230 317/336/244 -f 398/340/246 314/341/247 418/359/263 -f 418/359/263 419/360/264 416/358/262 -f 419/360/264 372/324/233 318/314/230 -f 399/361/265 420/365/269 421/362/266 -f 421/362/266 420/365/269 422/363/267 -f 423/364/268 422/363/267 310/345/251 -f 400/342/248 424/384/288 420/365/269 -f 420/365/269 424/384/288 425/366/270 -f 422/363/267 425/366/270 384/327/237 -f 408/352/255 426/371/275 427/367/271 -f 427/367/271 426/371/275 428/368/272 -f 429/369/273 428/368/272 404/348/253 -f 407/370/274 430/657/334 426/371/275 -f 426/371/275 430/657/334 431/372/276 -f 428/368/272 431/372/276 405/373/277 -f 406/351/254 409/353/256 432/374/278 -f 432/374/278 434/377/281 435/376/280 -f 434/377/281 397/338/245 354/378/282 -f 409/353/256 402/343/249 436/379/283 -f 436/379/283 437/380/284 434/377/281 -f 437/380/284 396/354/257 397/338/245 -f 312/312/228 315/311/227 421/362/266 -f 421/362/266 423/364/268 411/382/286 -f 423/364/268 309/307/223 386/383/287 -f 403/344/250 427/367/271 424/384/288 -f 424/384/288 427/367/271 429/369/273 -f 425/366/270 429/369/273 385/328/238 -f 313/310/226 413/677/369 418/359/263 -f 418/359/263 413/677/369 412/385/289 -f 419/360/264 412/385/289 387/331/240 -f 402/343/249 401/347/252 415/356/260 -f 415/356/260 417/357/261 437/380/284 -f 417/357/261 317/336/244 396/354/257 -f 383/386/290 382/414/367 438/387/291 -f 440/389/293 353/397/361 441/390/294 -f 392/392/296 443/667/358 444/393/297 -f 445/395/226 406/351/254 433/375/279 -f 433/375/279 435/376/280 440/389/300 -f 435/376/280 354/378/282 353/397/240 -f 448/399/239 449/610/239 450/400/239 -f 450/400/239 451/428/239 447/398/239 -f 451/428/239 452/452/239 447/398/239 -f 453/401/258 454/438/301 455/402/301 -f 457/404/302 458/446/258 459/405/258 -f 460/407/235 461/430/235 320/408/235 -f 463/410/235 464/415/235 465/411/235 -f 475/548/239 466/493/239 467/525/239 -f 468/678/239 469/535/239 382/414/239 -f 469/535/239 470/673/239 382/414/239 -f 474/413/239 475/548/239 467/525/239 -f 473/532/239 474/413/239 464/415/239 -f 474/413/239 467/525/239 382/414/239 -f 467/525/239 468/678/239 382/414/239 -f 464/415/239 471/597/239 473/532/239 -f 471/597/239 472/533/239 473/532/239 -f 476/416/303 460/407/304 327/409/304 -f 477/418/305 471/597/305 464/415/304 -f 478/419/258 479/500/301 480/420/301 -f 482/422/302 483/465/258 484/423/258 -f 485/425/235 453/401/235 356/403/235 -f 487/427/235 488/600/235 451/428/235 -f 461/430/258 489/448/301 321/316/301 -f 491/431/302 462/412/258 465/411/258 -f 323/318/304 341/562/303 492/439/303 -f 492/439/303 485/425/304 323/318/304 -f 495/679/305 493/434/304 494/433/306 -f 493/434/304 488/600/304 487/427/304 -f 496/435/307 498/648/323 497/436/308 -f 454/438/232 453/401/232 485/425/232 -f 485/425/232 492/439/232 454/438/232 -f 492/439/232 499/563/232 501/437/232 -f 499/563/232 500/565/232 501/437/232 -f 506/441/239 502/445/239 458/446/239 -f 458/446/239 457/404/239 506/441/239 -f 457/404/239 503/615/239 505/440/239 -f 503/615/239 504/611/239 505/440/239 -f 507/442/235 508/466/235 358/443/235 -f 502/445/235 452/452/235 459/405/235 -f 489/448/232 461/430/232 460/407/232 -f 460/407/232 476/416/232 489/448/232 -f 476/416/232 509/578/232 511/447/232 -f 509/578/232 510/579/232 511/447/232 -f 451/428/370 450/400/371 512/449/372 -f 450/400/371 496/435/307 498/648/373 -f 512/449/372 450/400/371 498/648/373 -f 507/442/304 357/444/304 514/450/303 -f 506/441/305 447/398/305 452/452/304 -f 516/453/302 517/482/258 518/454/258 -f 519/456/258 520/514/301 521/457/301 -f 523/459/302 524/498/258 525/460/258 -f 526/462/235 478/419/235 360/421/235 -f 527/464/235 528/472/235 484/423/235 -f 508/466/258 529/484/301 530/467/301 -f 477/418/239 463/410/239 462/412/239 -f 462/412/239 491/431/239 477/418/239 -f 491/431/239 531/612/239 533/468/239 -f 531/612/239 532/614/239 533/468/239 -f 526/462/304 359/463/304 535/469/303 -f 536/471/305 537/601/305 528/472/304 -f 538/473/258 539/527/301 540/474/301 -f 542/476/302 543/512/258 544/477/258 -f 545/479/235 519/456/235 362/458/235 -f 546/481/235 547/488/235 518/454/235 -f 529/484/232 508/466/232 507/442/232 -f 507/442/232 513/451/232 529/484/232 -f 513/451/232 548/566/232 550/483/232 -f 548/566/232 549/567/232 550/483/232 -f 545/479/304 361/480/304 552/485/303 -f 553/487/305 554/603/305 547/488/304 -f 555/489/258 556/521/301 367/490/301 -f 467/525/258 466/493/258 559/492/258 -f 466/493/258 557/622/302 558/494/302 -f 560/495/235 538/473/235 364/475/235 -f 561/497/235 562/504/235 525/460/235 -f 479/500/232 478/419/232 526/462/232 -f 526/462/232 534/470/232 479/500/232 -f 534/470/232 563/568/232 565/499/232 -f 563/568/232 564/569/232 565/499/232 -f 560/495/304 363/496/304 567/501/303 -f 568/503/305 569/605/305 562/504/304 -f 325/506/258 335/540/258 570/680/258 -f 570/680/258 571/505/301 325/506/258 -f 576/508/239 572/524/239 559/492/239 -f 559/492/239 558/494/239 576/508/239 -f 558/494/239 573/623/239 575/507/239 -f 573/623/239 574/625/239 575/507/239 -f 577/509/235 555/489/235 366/491/235 -f 578/511/235 579/519/235 544/477/235 -f 520/514/232 519/456/232 545/479/232 -f 545/479/232 551/486/232 520/514/232 -f 551/486/232 580/570/232 582/513/232 -f 580/570/232 581/572/232 582/513/232 -f 536/471/239 527/464/239 483/465/239 -f 483/465/239 482/422/239 536/471/239 -f 482/422/239 583/617/239 585/515/239 -f 583/617/239 584/619/239 585/515/239 -f 577/509/304 365/510/304 587/516/303 -f 588/518/305 589/608/305 579/519/304 -f 556/521/232 555/489/232 577/509/232 -f 577/509/232 586/517/232 556/521/232 -f 586/517/232 590/560/232 592/520/232 -f 590/560/232 591/561/232 592/520/232 -f 593/522/235 594/543/235 331/319/235 -f 572/524/235 468/678/235 467/525/235 -f 539/527/232 538/473/232 560/495/232 -f 560/495/232 566/502/232 539/527/232 -f 566/502/232 595/573/232 597/526/232 -f 595/573/232 596/574/232 597/526/232 -f 553/487/239 546/481/239 517/482/239 -f 517/482/239 516/453/239 553/487/239 -f 516/453/239 598/632/239 600/528/239 -f 598/632/239 599/631/239 600/528/239 -f 330/523/304 329/529/304 593/522/304 -f 329/529/304 352/556/303 601/530/303 -f 472/533/258 602/639/302 603/641/302 -f 603/641/302 604/531/258 472/533/258 -f 469/535/304 468/678/304 572/524/304 -f 572/524/304 576/508/305 469/535/304 -f 609/537/232 594/543/232 593/522/232 -f 593/522/232 601/530/232 609/537/232 -f 601/530/232 606/557/232 608/536/232 -f 606/557/232 607/559/232 608/536/232 -f 588/518/239 578/511/239 543/512/239 -f 543/512/239 542/476/239 588/518/239 -f 542/476/239 610/637/239 612/538/239 -f 610/637/239 611/636/239 612/538/239 -f 613/539/235 570/680/235 335/540/235 -f 614/541/235 474/413/235 473/532/235 -f 348/676/301 332/542/258 609/537/301 -f 332/542/258 331/319/258 594/543/258 -f 568/503/239 561/497/239 524/498/239 -f 524/498/239 523/459/239 568/503/239 -f 523/459/239 615/620/239 617/544/239 -f 615/620/239 616/621/239 617/544/239 -f 347/589/303 618/591/303 333/545/304 -f 618/591/303 613/539/304 333/545/304 -f 475/548/304 474/413/304 614/541/304 -f 614/541/304 619/546/305 475/548/304 -f 623/580/232 339/321/232 338/581/232 -f 623/580/232 338/581/232 624/552/232 -f 357/444/232 356/403/232 455/402/232 -f 455/402/232 623/580/232 624/552/232 -f 514/450/232 357/444/232 455/402/232 -f 625/582/232 338/581/232 337/593/232 -f 625/582/232 337/593/232 626/553/232 -f 359/463/232 358/443/232 530/467/232 -f 530/467/232 625/582/232 626/553/232 -f 535/469/232 359/463/232 530/467/232 -f 480/420/232 336/594/232 627/571/232 -f 336/594/232 371/583/232 627/571/232 -f 361/480/232 360/421/232 480/420/232 -f 480/420/232 627/571/232 552/485/232 -f 628/584/232 371/583/232 370/585/232 -f 628/584/232 370/585/232 629/554/232 -f 363/496/232 362/458/232 521/457/232 -f 521/457/232 628/584/232 629/554/232 -f 567/501/232 363/496/232 521/457/232 -f 630/586/232 370/585/232 369/587/232 -f 630/586/232 369/587/232 631/555/232 -f 365/510/232 364/475/232 540/474/232 -f 540/474/232 630/586/232 631/555/232 -f 587/516/232 365/510/232 540/474/232 -f 352/556/303 351/558/309 606/557/309 -f 351/558/309 350/595/310 607/559/310 -f 587/516/303 631/555/309 590/560/309 -f 631/555/309 369/587/310 591/561/310 -f 341/562/303 340/564/309 499/563/309 -f 340/564/309 339/321/310 500/565/310 -f 514/450/303 624/552/309 548/566/309 -f 624/552/309 338/581/310 549/567/310 -f 535/469/303 626/553/309 563/568/309 -f 626/553/309 337/593/310 564/569/310 -f 552/485/303 627/571/309 580/570/309 -f 627/571/309 371/583/310 581/572/310 -f 567/501/303 629/554/309 595/573/309 -f 629/554/309 370/585/310 596/574/310 -f 345/575/311 344/323/312 633/576/312 -f 344/323/312 343/322/301 571/505/301 -f 326/417/303 621/550/309 509/578/309 -f 621/550/309 342/549/310 510/579/310 -f 339/321/311 623/580/312 501/437/312 -f 623/580/312 455/402/301 454/438/301 -f 338/581/311 625/582/312 550/483/312 -f 625/582/312 530/467/301 529/484/301 -f 371/583/311 628/584/312 582/513/312 -f 628/584/312 521/457/301 520/514/301 -f 370/585/311 630/586/312 597/526/312 -f 630/586/312 540/474/301 539/527/301 -f 369/587/311 368/588/312 592/520/312 -f 368/588/312 367/490/301 556/521/301 -f 347/589/303 346/592/309 634/590/309 -f 346/592/309 345/575/310 632/577/310 -f 342/549/311 622/551/312 511/447/312 -f 622/551/312 321/316/301 489/448/301 -f 337/593/311 336/594/312 565/499/312 -f 336/594/312 480/420/301 479/500/301 -f 350/595/311 349/596/312 608/536/312 -f 349/596/312 348/676/301 609/537/301 -f 571/505/232 570/680/232 613/539/232 -f 613/539/232 618/591/232 571/505/232 -f 618/591/232 634/590/232 633/576/232 -f 634/590/232 632/577/232 633/576/232 -f 493/434/239 637/613/239 490/432/239 -f 490/432/239 465/411/239 493/434/239 -f 640/643/239 638/616/239 639/602/239 -f 638/616/239 456/406/239 639/602/239 -f 456/406/239 459/405/239 528/472/239 -f 456/406/239 528/472/239 537/601/239 -f 643/630/239 641/618/239 642/604/239 -f 641/618/239 481/424/239 642/604/239 -f 481/424/239 484/423/239 547/488/239 -f 481/424/239 547/488/239 554/603/239 -f 636/599/239 637/613/239 450/400/239 -f 637/613/239 493/434/239 495/679/239 -f 637/613/239 495/679/239 644/644/239 -f 602/639/239 472/533/239 636/599/239 -f 602/639/239 636/599/239 450/400/239 -f 637/613/239 644/644/239 450/400/239 -f 655/642/239 602/639/239 450/400/239 -f 654/626/239 655/642/239 449/610/239 -f 655/642/239 450/400/239 449/610/239 -f 449/610/239 638/616/239 640/643/239 -f 654/626/239 449/610/239 640/643/239 -f 640/643/239 641/618/239 643/630/239 -f 643/630/239 645/633/239 646/634/239 -f 643/630/239 646/634/239 405/373/277 -f 646/634/239 647/635/239 405/373/277 -f 643/630/239 405/373/277 640/643/239 -f 654/626/239 640/643/239 405/373/277 -f 466/493/239 475/548/239 620/547/239 -f 557/622/239 466/493/239 620/547/239 -f 557/622/239 620/547/239 653/629/239 -f 652/624/239 557/622/239 653/629/239 -f 652/624/239 653/629/239 654/626/239 -f 651/646/239 652/624/239 654/626/239 -f 470/673/239 469/535/239 605/534/239 -f 464/415/239 382/414/239 465/411/239 -f 382/414/239 381/349/225 528/472/239 -f 465/411/239 382/414/239 488/600/239 -f 451/428/239 488/600/239 382/414/239 -f 451/428/239 382/414/239 452/452/239 -f 649/656/287 470/673/239 605/534/239 -f 649/656/287 605/534/239 650/647/239 -f 452/452/239 382/414/239 459/405/239 -f 528/472/239 459/405/239 382/414/239 -f 649/656/287 650/647/239 651/646/239 -f 649/656/287 651/646/239 654/626/239 -f 518/454/239 547/488/239 381/349/225 -f 547/488/239 484/423/239 381/349/225 -f 484/423/239 528/472/239 381/349/225 -f 405/373/277 649/656/287 654/626/239 -f 579/519/239 525/460/239 381/349/225 -f 525/460/239 562/504/239 381/349/225 -f 562/504/239 518/454/239 381/349/225 -f 405/373/277 647/635/239 648/638/239 -f 405/373/277 648/638/239 541/478/239 -f 405/373/277 541/478/239 381/349/225 -f 541/478/239 544/477/239 381/349/225 -f 646/634/239 645/633/239 656/606/239 -f 645/633/239 515/455/239 656/606/239 -f 515/455/239 518/454/239 562/504/239 -f 515/455/239 562/504/239 569/605/239 -f 522/461/239 525/460/239 579/519/239 -f 522/461/239 579/519/239 589/608/239 -f 647/635/239 646/634/239 657/607/239 -f 657/607/239 522/461/239 589/608/239 -f 658/609/239 647/635/239 657/607/239 -f 449/610/313 448/399/314 505/440/314 -f 448/399/314 447/398/305 506/441/305 -f 490/432/302 637/613/315 531/612/315 -f 637/613/315 636/599/316 532/614/316 -f 456/406/302 638/616/315 503/615/315 -f 638/616/315 449/610/316 504/611/316 -f 481/424/302 641/618/315 583/617/315 -f 641/618/315 640/643/316 584/619/316 -f 522/461/302 657/607/315 615/620/315 -f 657/607/315 646/634/316 616/621/316 -f 557/622/302 652/624/315 573/623/315 -f 652/624/315 651/646/316 574/625/316 -f 654/626/313 653/629/314 660/627/314 -f 653/629/314 620/547/305 619/546/305 -f 643/630/313 642/604/314 600/528/314 -f 642/604/314 554/603/305 553/487/305 -f 515/455/302 645/633/315 598/632/315 -f 645/633/315 643/630/316 599/631/316 -f 646/634/313 656/606/314 617/544/314 -f 656/606/314 569/605/305 568/503/305 -f 647/635/313 658/609/314 612/538/314 -f 658/609/314 589/608/305 588/518/305 -f 541/478/302 648/638/315 610/637/315 -f 648/638/315 647/635/316 611/636/316 -f 602/639/302 655/642/315 661/640/315 -f 655/642/315 654/626/316 659/628/316 -f 512/449/317 498/648/374 662/645/375 -f 498/648/374 496/435/376 662/645/375 -f 662/645/375 494/433/318 512/449/317 -f 494/433/318 487/427/239 486/429/239 -f 640/643/313 639/602/314 585/515/314 -f 639/602/314 537/601/305 536/471/305 -f 636/599/313 635/598/314 533/468/314 -f 635/598/314 471/597/305 477/418/305 -f 496/435/319 450/400/377 644/644/320 -f 644/644/320 495/679/305 494/433/306 -f 651/646/313 650/647/314 575/507/314 -f 650/647/314 605/534/305 576/508/305 -f 619/546/239 614/541/239 604/531/239 -f 604/531/239 603/641/239 619/546/239 -f 603/641/239 661/640/239 660/627/239 -f 661/640/239 659/628/239 660/627/239 -f 512/449/322 663/649/325 497/436/308 -f 512/449/258 486/429/258 451/428/258 -f 445/395/326 665/674/360 666/650/327 -f 390/652/329 667/666/344 306/653/330 -f 668/654/332 664/651/328 666/650/327 -f 431/372/276 670/658/335 649/656/287 -f 430/657/334 668/654/345 670/658/335 -f 664/651/228 668/654/345 430/657/334 -f 406/351/254 445/395/226 664/651/228 -f 666/650/336 665/674/378 671/659/226 -f 328/661/337 304/306/338 307/305/338 -f 391/334/243 383/386/368 439/388/339 -f 670/658/341 668/654/332 669/655/333 -f 389/665/343 676/669/357 667/666/344 -f 672/660/228 444/393/345 669/655/345 -f 669/655/345 444/393/345 443/667/346 -f 675/664/347 443/667/346 674/663/287 -f 442/391/349 441/390/350 667/666/350 -f 679/670/299 442/391/349 676/669/351 -f 671/659/226 665/674/378 679/670/299 -f 673/662/232 307/305/232 306/653/232 -f 680/672/239 674/663/287 439/388/239 -f 440/389/293 442/391/295 679/670/352 -f 649/656/354 677/668/364 680/672/355 -f 389/665/343 388/675/363 678/671/356 -f 392/392/296 391/334/243 674/663/340 -f 393/394/298 444/393/297 672/660/359 -f 446/396/353 679/670/352 665/674/360 -f 353/397/361 328/661/337 673/662/337 -f 394/332/241 672/660/359 671/659/362 -f 388/675/363 395/333/242 671/659/362 -f 670/658/341 675/664/342 677/668/364 -f 470/673/355 680/672/355 438/387/365 -o Cube.001_Cube.002 -v 1.702443 0.284738 -0.011919 -v 1.702443 0.284738 0.013144 -v 1.702443 0.395269 0.013144 -v 1.702443 0.395269 -0.011919 -v 1.749322 0.395269 0.013144 -v 1.749322 0.395269 -0.011919 -v 1.749322 0.284738 0.013144 -v 1.749322 0.284738 -0.011919 -vt 0.703156 0.520987 -vt 0.703156 0.554227 -vt 0.703156 0.520987 -vt 0.703156 0.554227 -vt 0.717254 0.554227 -vt 0.717254 0.554227 -vt 0.717254 0.520987 -vt 0.717254 0.520987 -vn -1.0000 -0.0000 0.0000 -vn 0.0000 1.0000 0.0000 -vn 1.0000 0.0000 0.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 -0.0000 1.0000 -s off -f 682/681/379 684/682/379 681/683/379 -f 683/684/380 686/685/380 684/682/380 -f 685/686/381 688/687/381 686/685/381 -f 687/688/382 681/683/382 688/687/382 -f 686/685/383 681/683/383 684/682/383 -f 683/684/384 687/688/384 685/686/384 -f 682/681/379 683/684/379 684/682/379 -f 683/684/380 685/686/380 686/685/380 -f 685/686/381 687/688/381 688/687/381 -f 687/688/382 682/681/382 681/683/382 -f 686/685/383 688/687/383 681/683/383 -f 683/684/384 682/681/384 687/688/384 -o Cylinder.006 -v 1.669013 0.315957 0.000612 -v 1.750267 0.315957 0.000612 -v 1.750267 0.278978 -0.088663 -v 1.669013 0.278978 -0.088663 -v 1.750267 0.189702 -0.125642 -v 1.669013 0.189702 -0.125642 -v 1.750267 0.100427 -0.088663 -v 1.669013 0.100427 -0.088663 -v 1.750267 0.063448 0.000612 -v 1.669013 0.063448 0.000612 -v 1.750267 0.100427 0.089888 -v 1.669013 0.100427 0.089888 -v 1.750267 0.189702 0.126867 -v 1.669013 0.189702 0.126867 -v 1.750267 0.278978 0.089888 -v 1.669013 0.278978 0.089888 -vt 0.729257 0.590922 -vt 0.704821 0.579801 -vt 0.704821 0.590922 -vt 0.729257 0.579801 -vt 0.704821 0.552952 -vt 0.729257 0.552952 -vt 0.704821 0.526104 -vt 0.729257 0.526104 -vt 0.704821 0.514983 -vt 0.729257 0.514983 -vt 0.704821 0.526104 -vt 0.729257 0.526104 -vt 0.704821 0.552952 -vt 0.729257 0.552952 -vt 0.704821 0.579801 -vt 0.729257 0.579801 -vn 0.0000 1.0000 -0.0000 -vn 0.0000 0.7071 -0.7071 -vn 0.0000 -0.0000 -1.0000 -vn 0.0000 -0.7071 -0.7071 -vn 0.0000 -1.0000 -0.0000 -vn 0.0000 -0.7071 0.7071 -vn 0.0000 -0.0000 1.0000 -vn 1.0000 -0.0000 0.0000 -vn 0.0000 0.7071 0.7071 -vn -1.0000 0.0000 0.0000 +f 2/1/1 4/2/2 1/3/3 +f 6/4/4 8/5/5 5/6/6 +f 10/7/7 12/8/8 9/7/9 +f 13/9/10 15/10/11 16/5/12 +f 18/11/13 19/12/13 20/13/13 +f 1/3/13 28/14/13 31/15/13 +f 36/16/13 40/17/13 41/18/13 +f 16/5/12 69/4/14 70/6/15 +f 5/6/16 8/5/16 70/6/16 +f 76/19/17 81/20/18 82/21/19 +f 74/22/20 6/4/4 5/6/6 +f 73/22/13 69/4/14 84/23/21 +f 91/24/22 92/24/23 88/25/24 +f 72/19/10 14/20/25 13/9/10 +f 52/26/15 94/27/26 71/28/12 +f 95/29/27 12/8/8 11/8/28 +f 97/30/29 99/31/30 100/31/31 +f 7/10/32 75/9/17 8/5/5 +f 97/30/29 95/29/27 98/30/33 +f 101/27/34 78/26/6 77/28/5 +f 103/32/35 105/33/36 106/33/37 +f 82/21/19 77/28/5 76/19/17 +f 105/33/36 99/31/30 106/33/37 +f 71/28/12 93/21/38 72/19/10 +f 10/7/39 9/7/39 84/23/39 +f 98/30/33 111/34/40 112/35/41 +f 111/34/40 114/36/42 112/35/41 +f 113/37/43 14/20/25 114/36/42 +f 95/29/27 115/38/44 111/34/40 +f 115/38/44 113/37/43 111/34/40 +f 116/39/45 15/10/11 113/37/43 +f 96/29/46 118/38/47 12/8/8 +f 118/38/47 119/37/48 120/39/49 +f 120/39/49 7/10/32 6/4/4 +f 97/30/29 117/34/50 96/29/46 +f 117/34/50 122/36/51 119/37/48 +f 119/37/48 81/20/18 7/10/32 +f 105/33/36 124/40/52 100/31/31 +f 124/40/52 125/41/53 126/42/54 +f 126/42/54 101/27/34 82/21/19 +f 104/32/55 123/43/56 105/33/36 +f 123/43/56 128/44/57 125/41/53 +f 125/41/53 102/45/58 101/27/34 +f 103/32/35 129/43/59 130/46/60 +f 129/43/59 132/44/61 130/46/60 +f 131/41/62 51/45/63 132/44/61 +f 106/33/37 133/47/64 129/43/59 +f 133/47/64 131/41/62 129/43/59 +f 134/42/65 94/27/26 131/41/62 +f 9/7/9 118/38/47 107/48/66 +f 118/38/47 108/49/67 107/48/66 +f 120/39/49 83/23/68 108/49/67 +f 100/31/31 121/35/69 97/30/29 +f 121/35/69 126/42/54 122/36/51 +f 122/36/51 82/21/19 81/20/18 +f 10/7/7 115/38/44 11/8/28 +f 115/38/44 109/49/70 116/39/45 +f 116/39/45 84/23/21 69/4/14 +f 99/31/30 112/35/41 133/47/64 +f 112/35/41 134/42/65 133/47/64 +f 114/36/42 93/21/38 134/42/65 +f 80/1/71 135/50/72 136/51/73 +f 137/52/74 138/53/75 139/54/76 +f 89/55/77 141/56/78 90/57/79 +f 142/58/7 130/46/60 143/59/80 +f 130/46/60 137/52/81 143/59/80 +f 132/44/61 50/60/21 137/52/81 +f 144/61/20 145/62/20 147/63/20 +f 150/64/39 152/65/82 53/64/39 +f 154/66/83 156/67/39 153/66/83 +f 157/68/16 17/69/16 24/68/16 +f 160/68/16 162/69/16 159/69/16 +f 171/15/20 79/70/20 161/68/20 +f 173/71/84 24/68/85 23/71/84 +f 174/72/86 161/68/85 160/68/85 +f 175/73/39 177/74/82 57/73/39 +f 179/75/83 181/73/39 178/75/83 +f 182/76/16 53/64/16 21/76/16 +f 184/76/16 148/64/16 183/64/16 +f 158/69/39 18/11/82 17/69/39 +f 188/77/83 162/69/39 187/77/83 +f 182/76/85 21/76/85 20/13/85 +f 191/78/87 190/13/85 184/76/85 +f 193/79/88 194/80/89 147/63/88 +f 198/81/13 151/65/13 189/82/13 +f 202/62/20 203/61/20 154/66/20 +f 204/83/16 55/67/16 54/83/16 +f 199/83/16 156/67/16 155/67/16 +f 208/84/13 186/11/13 173/71/13 +f 209/85/39 183/64/39 148/64/39 +f 204/83/85 211/86/84 210/86/84 +f 203/61/86 149/83/85 199/83/85 +f 213/87/83 215/88/39 212/87/83 +f 216/88/39 218/89/82 59/88/39 +f 220/90/83 222/91/39 219/90/83 +f 223/92/16 57/73/16 56/92/16 +f 224/92/16 181/73/16 180/73/16 +f 205/67/39 227/93/82 55/67/39 +f 230/94/20 174/72/20 188/77/20 +f 223/92/85 232/95/84 231/95/84 +f 233/96/86 225/92/85 224/92/85 +f 235/91/39 237/97/82 61/91/39 +f 239/98/83 241/99/39 238/98/83 +f 242/100/16 59/88/16 58/100/16 +f 243/100/16 215/88/16 214/88/16 +f 247/101/13 226/93/13 210/86/13 +f 242/100/85 249/102/84 248/102/84 +f 250/103/86 244/100/85 243/100/85 +f 252/99/39 64/104/82 63/99/39 +f 256/14/39 163/105/39 255/106/83 +f 257/107/16 61/91/16 60/107/16 +f 258/107/16 222/91/16 221/91/16 +f 262/108/13 176/74/13 231/95/13 +f 257/107/85 264/109/84 263/109/84 +f 265/110/86 259/107/85 258/107/85 +f 268/17/82 40/17/82 22/111/39 +f 272/112/20 273/113/20 255/106/20 +f 274/114/16 63/99/16 62/114/16 +f 275/114/16 241/99/16 240/99/16 +f 279/115/13 217/89/13 248/102/13 +f 282/116/20 233/96/20 179/75/20 +f 274/114/85 284/117/84 283/117/84 +f 285/118/86 276/114/85 275/114/85 +f 289/119/13 253/104/13 283/117/13 +f 290/120/16 28/14/16 27/120/16 +f 269/120/16 164/14/16 256/14/16 +f 294/121/13 236/97/13 263/109/13 +f 297/122/20 250/103/20 213/87/20 +f 290/120/85 26/123/85 298/124/84 +f 301/125/39 170/125/39 169/111/39 +f 273/113/86 302/113/86 166/123/85 +f 305/126/13 306/127/13 298/124/13 +f 309/128/20 285/118/20 239/98/20 +f 310/15/16 32/125/16 31/15/16 +f 311/15/16 170/125/16 301/125/16 +f 306/127/82 29/105/39 291/14/39 +f 314/129/20 265/110/20 220/90/20 +f 310/15/85 31/15/85 30/130/85 +f 316/131/86 317/131/86 172/130/85 +f 39/132/13 318/133/13 22/111/13 +f 318/133/13 23/71/13 22/111/13 +f 18/11/13 319/84/13 19/12/13 +f 319/84/13 39/132/13 19/12/13 +f 152/65/13 321/134/13 211/86/13 +f 227/93/13 323/135/13 232/95/13 +f 177/74/13 249/102/13 58/100/13 +f 218/89/13 326/136/13 264/109/13 +f 237/97/13 328/137/13 284/117/13 +f 49/124/84 303/138/90 298/124/84 +f 48/138/90 304/139/91 303/138/90 +f 284/117/84 287/137/90 283/117/84 +f 328/137/90 288/140/91 287/137/90 +f 38/82/84 196/141/90 189/82/84 +f 37/141/90 197/16/91 196/141/90 +f 211/86/84 245/134/90 210/86/84 +f 321/134/90 246/142/91 245/134/90 +f 232/95/84 260/135/90 231/95/84 +f 323/135/90 261/143/91 260/135/90 +f 249/102/84 277/144/90 248/102/84 +f 324/144/90 278/145/91 277/144/90 +f 264/109/84 292/136/90 263/109/84 +f 326/136/90 293/146/91 292/136/90 +f 42/147/92 330/18/93 329/147/92 +f 41/18/93 268/17/82 330/18/93 +f 23/71/84 206/133/90 173/71/84 +f 318/133/90 207/132/91 206/133/90 +f 36/16/92 198/81/93 197/16/92 +f 320/81/93 151/65/82 198/81/93 +f 35/142/92 247/101/93 246/142/92 +f 322/101/93 226/93/82 247/101/93 +f 68/145/92 279/115/93 278/145/92 +f 325/115/93 217/89/82 279/115/93 +f 67/146/92 294/121/93 293/146/92 +f 327/121/93 236/97/82 294/121/93 +f 66/140/92 289/119/93 288/140/92 +f 65/119/93 253/104/82 289/119/93 +f 44/148/84 331/149/90 315/148/84 +f 43/149/90 329/147/91 331/149/90 +f 39/132/92 208/84/93 207/132/92 +f 319/84/93 186/11/82 208/84/93 +f 34/143/92 262/108/93 261/143/92 +f 33/108/93 176/74/82 262/108/93 +f 47/139/92 305/126/93 304/139/92 +f 46/126/93 306/127/82 305/126/93 +f 330/18/13 268/17/13 315/148/13 +f 168/72/20 332/94/20 169/111/20 +f 332/94/20 333/132/20 169/111/20 +f 162/69/20 185/76/20 190/13/20 +f 153/66/20 234/96/20 336/116/20 +f 178/75/20 251/103/20 339/122/20 +f 241/99/20 276/114/20 78/26/6 +f 212/87/20 266/110/20 353/129/20 +f 354/150/20 286/118/20 355/128/20 +f 146/142/94 202/62/95 201/142/94 +f 145/62/95 203/61/86 202/62/95 +f 187/77/83 228/151/96 188/77/83 +f 334/151/96 229/132/97 228/151/96 +f 153/66/83 200/152/96 154/66/83 +f 335/152/96 201/142/97 200/152/96 +f 178/75/83 280/153/96 179/75/83 +f 338/153/96 281/143/97 280/153/96 +f 219/90/83 312/150/96 220/90/83 +f 354/150/96 313/146/97 312/150/96 +f 254/106/83 270/154/96 255/106/83 +f 349/154/96 271/139/97 270/154/96 +f 351/147/94 357/155/95 356/147/94 +f 350/155/95 316/131/86 357/155/95 +f 340/145/94 297/122/95 296/145/94 +f 339/122/95 250/103/86 297/122/95 +f 212/87/83 295/156/96 213/87/83 +f 342/156/96 296/145/97 295/156/96 +f 343/146/94 314/129/95 313/146/94 +f 353/129/95 265/110/86 314/129/95 +f 344/140/94 309/128/95 308/140/94 +f 355/128/95 285/118/86 309/128/95 +f 238/98/83 307/157/96 239/98/83 +f 345/157/96 308/140/97 307/157/96 +f 299/158/83 358/159/96 300/158/83 +f 352/159/96 356/147/97 358/159/96 +f 183/64/20 209/85/98 191/78/99 +f 337/143/94 282/116/95 281/143/94 +f 336/116/95 233/96/86 282/116/95 +f 333/132/94 230/94/95 229/132/94 +f 332/94/95 174/72/86 230/94/95 +f 193/79/100 341/160/101 359/161/102 +f 341/160/101 191/78/87 359/161/102 +f 348/139/94 272/112/95 271/139/94 +f 347/112/95 273/113/86 272/112/95 +f 357/155/20 316/131/20 300/158/20 +f 209/85/103 194/80/89 195/162/104 +f 209/85/103 148/64/105 360/163/106 +f 142/58/107 363/164/108 361/58/109 +f 87/25/110 3/51/111 2/1/112 +f 365/59/113 363/164/108 366/165/114 +f 128/44/57 346/60/115 102/45/58 +f 127/46/116 367/52/117 128/44/57 +f 361/58/9 127/46/116 104/32/55 +f 103/32/35 361/58/9 104/32/55 +f 363/164/118 368/166/7 369/166/9 +f 25/167/119 4/2/120 370/168/121 +f 88/25/24 136/51/122 371/169/123 +f 367/52/124 366/165/114 372/54/125 +f 86/55/126 364/169/127 87/25/110 +f 369/166/9 366/165/128 363/164/118 +f 366/165/128 140/170/117 372/54/117 +f 372/54/117 371/169/68 374/53/68 +f 139/54/81 364/169/129 373/170/81 +f 376/165/130 373/170/81 375/56/80 +f 368/166/7 376/165/130 375/56/80 +f 138/53/129 370/168/13 364/169/129 +f 370/168/13 3/51/13 364/169/129 +f 377/168/20 374/53/68 371/169/68 +f 377/168/20 136/51/20 135/50/20 +f 137/52/74 376/165/131 143/59/132 +f 346/60/133 377/168/134 167/167/134 +f 86/55/126 375/56/135 373/170/136 +f 89/55/77 371/169/123 140/170/137 +f 90/57/79 369/166/138 91/24/22 +f 143/59/132 362/164/139 142/58/107 +f 50/60/140 370/168/121 138/53/75 +f 91/24/22 368/166/141 92/24/23 +f 85/57/142 368/166/141 375/56/135 +f 367/52/124 374/53/143 346/60/133 +f 167/167/134 135/50/144 79/70/144 +f 2/1/1 3/51/145 4/2/2 +f 6/4/4 7/10/32 8/5/5 +f 10/7/7 11/8/28 12/8/8 +f 13/9/10 14/20/25 15/10/11 +f 21/76/13 17/69/13 20/13/13 +f 17/69/13 18/11/13 20/13/13 +f 32/125/13 22/111/13 23/71/13 +f 1/3/13 25/167/13 26/123/13 +f 1/3/13 26/123/13 27/120/13 +f 32/125/13 23/71/13 24/68/13 +f 29/105/13 30/130/13 28/14/13 +f 30/130/13 31/15/13 28/14/13 +f 31/15/13 32/125/13 24/68/13 +f 24/68/13 1/3/13 31/15/13 +f 1/3/13 27/120/13 28/14/13 +f 68/145/13 33/108/13 34/143/13 +f 34/143/13 35/142/13 42/147/13 +f 35/142/13 36/16/13 41/18/13 +f 34/143/13 42/147/13 51/45/63 +f 66/140/13 67/146/13 51/45/63 +f 67/146/13 68/145/13 51/45/63 +f 68/145/13 34/143/13 51/45/63 +f 61/91/13 62/114/13 52/26/15 +f 62/114/13 63/99/13 52/26/15 +f 58/100/13 59/88/13 52/26/15 +f 59/88/13 60/107/13 52/26/15 +f 60/107/13 61/91/13 52/26/15 +f 56/92/13 57/73/13 52/26/15 +f 57/73/13 58/100/13 52/26/15 +f 54/83/13 55/67/13 1/3/13 +f 55/67/13 56/92/13 1/3/13 +f 1/3/13 56/92/13 52/26/15 +f 21/76/13 53/64/13 1/3/13 +f 53/64/13 54/83/13 1/3/13 +f 24/68/13 17/69/13 1/3/13 +f 17/69/13 21/76/13 1/3/13 +f 26/123/13 25/167/13 49/124/13 +f 25/167/13 50/60/21 49/124/13 +f 48/138/13 49/124/13 50/60/21 +f 47/139/13 48/138/13 50/60/21 +f 51/45/63 52/26/15 64/104/13 +f 52/26/15 63/99/13 64/104/13 +f 47/139/13 50/60/21 42/147/13 +f 50/60/21 51/45/63 42/147/13 +f 51/45/63 64/104/13 65/119/13 +f 51/45/63 65/119/13 66/140/13 +f 30/130/13 29/105/13 44/148/13 +f 29/105/13 45/127/13 44/148/13 +f 44/148/13 45/127/13 43/149/13 +f 45/127/13 46/126/13 43/149/13 +f 42/147/13 35/142/13 41/18/13 +f 43/149/13 46/126/13 47/139/13 +f 42/147/13 43/149/13 47/139/13 +f 38/82/13 20/13/13 19/12/13 +f 39/132/13 22/111/13 40/17/13 +f 38/82/13 19/12/13 37/141/13 +f 19/12/13 39/132/13 40/17/13 +f 37/141/13 19/12/13 36/16/13 +f 19/12/13 40/17/13 36/16/13 +f 16/5/12 15/10/11 69/4/14 +f 52/26/16 71/28/16 78/26/16 +f 71/28/16 72/19/16 77/28/16 +f 78/26/16 71/28/16 77/28/16 +f 72/19/16 13/9/16 76/19/16 +f 80/1/71 2/1/1 1/3/3 +f 1/3/3 52/26/16 78/26/16 +f 13/9/16 16/5/16 75/9/16 +f 79/70/146 80/1/71 1/3/3 +f 78/26/16 79/70/146 1/3/3 +f 72/19/16 76/19/16 77/28/16 +f 75/9/16 76/19/16 13/9/16 +f 70/6/16 73/22/16 74/22/16 +f 16/5/16 70/6/16 8/5/16 +f 8/5/16 75/9/16 16/5/16 +f 70/6/16 74/22/16 5/6/16 +f 76/19/17 75/9/17 81/20/18 +f 74/22/20 83/23/68 6/4/4 +f 73/22/13 70/6/15 69/4/14 +f 92/24/23 85/57/142 86/55/126 +f 86/55/126 87/25/110 92/24/23 +f 87/25/110 2/1/112 88/25/24 +f 92/24/23 87/25/110 88/25/24 +f 2/1/112 80/1/147 88/25/24 +f 88/25/24 89/55/77 91/24/22 +f 89/55/77 90/57/79 91/24/22 +f 72/19/10 93/21/38 14/20/25 +f 52/26/15 51/45/63 94/27/26 +f 95/29/27 96/29/46 12/8/8 +f 97/30/29 98/30/33 99/31/30 +f 7/10/32 81/20/18 75/9/17 +f 97/30/29 96/29/46 95/29/27 +f 101/27/34 102/45/58 78/26/6 +f 103/32/35 104/32/55 105/33/36 +f 82/21/19 101/27/34 77/28/5 +f 105/33/36 100/31/31 99/31/30 +f 71/28/12 94/27/26 93/21/38 +f 9/7/39 107/48/39 108/49/39 +f 108/49/39 83/23/39 9/7/39 +f 83/23/39 74/22/39 84/23/39 +f 9/7/39 83/23/39 84/23/39 +f 74/22/39 73/22/39 84/23/39 +f 84/23/39 109/49/39 10/7/39 +f 109/49/39 110/48/39 10/7/39 +f 98/30/33 95/29/27 111/34/40 +f 111/34/40 113/37/43 114/36/42 +f 113/37/43 15/10/11 14/20/25 +f 95/29/27 11/8/28 115/38/44 +f 115/38/44 116/39/45 113/37/43 +f 116/39/45 69/4/14 15/10/11 +f 96/29/46 117/34/50 118/38/47 +f 118/38/47 117/34/50 119/37/48 +f 120/39/49 119/37/48 7/10/32 +f 97/30/29 121/35/69 117/34/50 +f 117/34/50 121/35/69 122/36/51 +f 119/37/48 122/36/51 81/20/18 +f 105/33/36 123/43/56 124/40/52 +f 124/40/52 123/43/56 125/41/53 +f 126/42/54 125/41/53 101/27/34 +f 104/32/55 127/46/116 123/43/56 +f 123/43/56 127/46/116 128/44/57 +f 125/41/53 128/44/57 102/45/58 +f 103/32/35 106/33/37 129/43/59 +f 129/43/59 131/41/62 132/44/61 +f 131/41/62 94/27/26 51/45/63 +f 106/33/37 99/31/30 133/47/64 +f 133/47/64 134/42/65 131/41/62 +f 134/42/65 93/21/38 94/27/26 +f 9/7/9 12/8/8 118/38/47 +f 118/38/47 120/39/49 108/49/67 +f 120/39/49 6/4/4 83/23/68 +f 100/31/31 124/40/52 121/35/69 +f 121/35/69 124/40/52 126/42/54 +f 122/36/51 126/42/54 82/21/19 +f 10/7/7 110/48/148 115/38/44 +f 115/38/44 110/48/148 109/49/70 +f 116/39/45 109/49/70 84/23/21 +f 99/31/30 98/30/33 112/35/41 +f 112/35/41 114/36/42 134/42/65 +f 114/36/42 14/20/25 93/21/38 +f 80/1/71 79/70/146 135/50/72 +f 137/52/74 50/60/140 138/53/75 +f 89/55/77 140/170/137 141/56/78 +f 142/58/7 103/32/35 130/46/60 +f 130/46/60 132/44/61 137/52/81 +f 132/44/61 51/45/63 50/60/21 +f 145/62/20 146/142/20 147/63/20 +f 147/63/20 148/64/20 144/61/20 +f 148/64/20 149/83/20 144/61/20 +f 150/64/39 151/65/82 152/65/82 +f 154/66/83 155/67/39 156/67/39 +f 157/68/16 158/69/16 17/69/16 +f 160/68/16 161/68/16 162/69/16 +f 172/130/20 163/105/20 164/14/20 +f 165/120/20 166/123/20 79/70/20 +f 166/123/20 167/167/20 79/70/20 +f 171/15/20 172/130/20 164/14/20 +f 170/125/20 171/15/20 161/68/20 +f 171/15/20 164/14/20 79/70/20 +f 164/14/20 165/120/20 79/70/20 +f 161/68/20 168/72/20 170/125/20 +f 168/72/20 169/111/20 170/125/20 +f 173/71/84 157/68/85 24/68/85 +f 174/72/86 168/72/86 161/68/85 +f 175/73/39 176/74/82 177/74/82 +f 179/75/83 180/73/39 181/73/39 +f 182/76/16 150/64/16 53/64/16 +f 184/76/16 185/76/16 148/64/16 +f 158/69/39 186/11/82 18/11/82 +f 188/77/83 159/69/39 162/69/39 +f 20/13/85 38/82/84 189/82/84 +f 189/82/84 182/76/85 20/13/85 +f 192/78/86 190/13/85 191/78/87 +f 190/13/85 185/76/85 184/76/85 +f 193/79/88 195/162/104 194/80/89 +f 151/65/13 150/64/13 182/76/13 +f 182/76/13 189/82/13 151/65/13 +f 189/82/13 196/141/13 198/81/13 +f 196/141/13 197/16/13 198/81/13 +f 203/61/20 199/83/20 155/67/20 +f 155/67/20 154/66/20 203/61/20 +f 154/66/20 200/152/20 202/62/20 +f 200/152/20 201/142/20 202/62/20 +f 204/83/16 205/67/16 55/67/16 +f 199/83/16 149/83/16 156/67/16 +f 186/11/13 158/69/13 157/68/13 +f 157/68/13 173/71/13 186/11/13 +f 173/71/13 206/133/13 208/84/13 +f 206/133/13 207/132/13 208/84/13 +f 148/64/149 147/63/150 209/85/151 +f 147/63/150 193/79/88 195/162/152 +f 209/85/151 147/63/150 195/162/152 +f 204/83/85 54/83/85 211/86/84 +f 203/61/86 144/61/86 149/83/85 +f 213/87/83 214/88/39 215/88/39 +f 216/88/39 217/89/82 218/89/82 +f 220/90/83 221/91/39 222/91/39 +f 223/92/16 175/73/16 57/73/16 +f 224/92/16 225/92/16 181/73/16 +f 205/67/39 226/93/82 227/93/82 +f 174/72/20 160/68/20 159/69/20 +f 159/69/20 188/77/20 174/72/20 +f 188/77/20 228/151/20 230/94/20 +f 228/151/20 229/132/20 230/94/20 +f 223/92/85 56/92/85 232/95/84 +f 233/96/86 234/96/86 225/92/85 +f 235/91/39 236/97/82 237/97/82 +f 239/98/83 240/99/39 241/99/39 +f 242/100/16 216/88/16 59/88/16 +f 243/100/16 244/100/16 215/88/16 +f 226/93/13 205/67/13 204/83/13 +f 204/83/13 210/86/13 226/93/13 +f 210/86/13 245/134/13 247/101/13 +f 245/134/13 246/142/13 247/101/13 +f 242/100/85 58/100/85 249/102/84 +f 250/103/86 251/103/86 244/100/85 +f 252/99/39 253/104/82 64/104/82 +f 164/14/39 163/105/39 256/14/39 +f 163/105/39 254/106/83 255/106/83 +f 257/107/16 235/91/16 61/91/16 +f 258/107/16 259/107/16 222/91/16 +f 176/74/13 175/73/13 223/92/13 +f 223/92/13 231/95/13 176/74/13 +f 231/95/13 260/135/13 262/108/13 +f 260/135/13 261/143/13 262/108/13 +f 257/107/85 60/107/85 264/109/84 +f 265/110/86 266/110/86 259/107/85 +f 22/111/39 32/125/39 267/125/39 +f 267/125/39 268/17/82 22/111/39 +f 273/113/20 269/120/20 256/14/20 +f 256/14/20 255/106/20 273/113/20 +f 255/106/20 270/154/20 272/112/20 +f 270/154/20 271/139/20 272/112/20 +f 274/114/16 252/99/16 63/99/16 +f 275/114/16 276/114/16 241/99/16 +f 217/89/13 216/88/13 242/100/13 +f 242/100/13 248/102/13 217/89/13 +f 248/102/13 277/144/13 279/115/13 +f 277/144/13 278/145/13 279/115/13 +f 233/96/20 224/92/20 180/73/20 +f 180/73/20 179/75/20 233/96/20 +f 179/75/20 280/153/20 282/116/20 +f 280/153/20 281/143/20 282/116/20 +f 274/114/85 62/114/85 284/117/84 +f 285/118/86 286/118/86 276/114/85 +f 253/104/13 252/99/13 274/114/13 +f 274/114/13 283/117/13 253/104/13 +f 283/117/13 287/137/13 289/119/13 +f 287/137/13 288/140/13 289/119/13 +f 290/120/16 291/14/16 28/14/16 +f 269/120/16 165/120/16 164/14/16 +f 236/97/13 235/91/13 257/107/13 +f 257/107/13 263/109/13 236/97/13 +f 263/109/13 292/136/13 294/121/13 +f 292/136/13 293/146/13 294/121/13 +f 250/103/20 243/100/20 214/88/20 +f 214/88/20 213/87/20 250/103/20 +f 213/87/20 295/156/20 297/122/20 +f 295/156/20 296/145/20 297/122/20 +f 27/120/85 26/123/85 290/120/85 +f 26/123/85 49/124/84 298/124/84 +f 169/111/39 299/158/83 300/158/83 +f 300/158/83 301/125/39 169/111/39 +f 166/123/85 165/120/85 269/120/85 +f 269/120/85 273/113/86 166/123/85 +f 306/127/13 291/14/13 290/120/13 +f 290/120/13 298/124/13 306/127/13 +f 298/124/13 303/138/13 305/126/13 +f 303/138/13 304/139/13 305/126/13 +f 285/118/20 275/114/20 240/99/20 +f 240/99/20 239/98/20 285/118/20 +f 239/98/20 307/157/20 309/128/20 +f 307/157/20 308/140/20 309/128/20 +f 310/15/16 267/125/16 32/125/16 +f 311/15/16 171/15/16 170/125/16 +f 45/127/82 29/105/39 306/127/82 +f 29/105/39 28/14/39 291/14/39 +f 265/110/20 258/107/20 221/91/20 +f 221/91/20 220/90/20 265/110/20 +f 220/90/20 312/150/20 314/129/20 +f 312/150/20 313/146/20 314/129/20 +f 44/148/84 315/148/84 30/130/85 +f 315/148/84 310/15/85 30/130/85 +f 172/130/85 171/15/85 311/15/85 +f 311/15/85 316/131/86 172/130/85 +f 320/81/13 36/16/13 35/142/13 +f 320/81/13 35/142/13 321/134/13 +f 54/83/13 53/64/13 152/65/13 +f 152/65/13 320/81/13 321/134/13 +f 211/86/13 54/83/13 152/65/13 +f 322/101/13 35/142/13 34/143/13 +f 322/101/13 34/143/13 323/135/13 +f 56/92/13 55/67/13 227/93/13 +f 227/93/13 322/101/13 323/135/13 +f 232/95/13 56/92/13 227/93/13 +f 177/74/13 33/108/13 324/144/13 +f 33/108/13 68/145/13 324/144/13 +f 58/100/13 57/73/13 177/74/13 +f 177/74/13 324/144/13 249/102/13 +f 325/115/13 68/145/13 67/146/13 +f 325/115/13 67/146/13 326/136/13 +f 60/107/13 59/88/13 218/89/13 +f 218/89/13 325/115/13 326/136/13 +f 264/109/13 60/107/13 218/89/13 +f 327/121/13 67/146/13 66/140/13 +f 327/121/13 66/140/13 328/137/13 +f 62/114/13 61/91/13 237/97/13 +f 237/97/13 327/121/13 328/137/13 +f 284/117/13 62/114/13 237/97/13 +f 49/124/84 48/138/90 303/138/90 +f 48/138/90 47/139/91 304/139/91 +f 284/117/84 328/137/90 287/137/90 +f 328/137/90 66/140/91 288/140/91 +f 38/82/84 37/141/90 196/141/90 +f 37/141/90 36/16/91 197/16/91 +f 211/86/84 321/134/90 245/134/90 +f 321/134/90 35/142/91 246/142/91 +f 232/95/84 323/135/90 260/135/90 +f 323/135/90 34/143/91 261/143/91 +f 249/102/84 324/144/90 277/144/90 +f 324/144/90 68/145/91 278/145/91 +f 264/109/84 326/136/90 292/136/90 +f 326/136/90 67/146/91 293/146/91 +f 42/147/92 41/18/93 330/18/93 +f 41/18/93 40/17/82 268/17/82 +f 23/71/84 318/133/90 206/133/90 +f 318/133/90 39/132/91 207/132/91 +f 36/16/92 320/81/93 198/81/93 +f 320/81/93 152/65/82 151/65/82 +f 35/142/92 322/101/93 247/101/93 +f 322/101/93 227/93/82 226/93/82 +f 68/145/92 325/115/93 279/115/93 +f 325/115/93 218/89/82 217/89/82 +f 67/146/92 327/121/93 294/121/93 +f 327/121/93 237/97/82 236/97/82 +f 66/140/92 65/119/93 289/119/93 +f 65/119/93 64/104/82 253/104/82 +f 44/148/84 43/149/90 331/149/90 +f 43/149/90 42/147/91 329/147/91 +f 39/132/92 319/84/93 208/84/93 +f 319/84/93 18/11/82 186/11/82 +f 34/143/92 33/108/93 262/108/93 +f 33/108/93 177/74/82 176/74/82 +f 47/139/92 46/126/93 305/126/93 +f 46/126/93 45/127/82 306/127/82 +f 268/17/13 267/125/13 310/15/13 +f 310/15/13 315/148/13 268/17/13 +f 315/148/13 331/149/13 330/18/13 +f 331/149/13 329/147/13 330/18/13 +f 190/13/20 334/151/20 187/77/20 +f 187/77/20 162/69/20 190/13/20 +f 337/143/20 335/152/20 336/116/20 +f 335/152/20 153/66/20 336/116/20 +f 153/66/20 156/67/20 225/92/20 +f 153/66/20 225/92/20 234/96/20 +f 340/145/20 338/153/20 339/122/20 +f 338/153/20 178/75/20 339/122/20 +f 178/75/20 181/73/20 244/100/20 +f 178/75/20 244/100/20 251/103/20 +f 333/132/20 334/151/20 147/63/20 +f 334/151/20 190/13/20 192/78/20 +f 334/151/20 192/78/20 341/160/20 +f 299/158/20 169/111/20 333/132/20 +f 299/158/20 333/132/20 147/63/20 +f 334/151/20 341/160/20 147/63/20 +f 352/159/20 299/158/20 147/63/20 +f 351/147/20 352/159/20 146/142/20 +f 352/159/20 147/63/20 146/142/20 +f 146/142/20 335/152/20 337/143/20 +f 351/147/20 146/142/20 337/143/20 +f 337/143/20 338/153/20 340/145/20 +f 340/145/20 342/156/20 343/146/20 +f 340/145/20 343/146/20 102/45/58 +f 343/146/20 344/140/20 102/45/58 +f 340/145/20 102/45/58 337/143/20 +f 351/147/20 337/143/20 102/45/58 +f 163/105/20 172/130/20 317/131/20 +f 254/106/20 163/105/20 317/131/20 +f 254/106/20 317/131/20 350/155/20 +f 349/154/20 254/106/20 350/155/20 +f 349/154/20 350/155/20 351/147/20 +f 348/139/20 349/154/20 351/147/20 +f 167/167/20 166/123/20 302/113/20 +f 161/68/20 79/70/20 162/69/20 +f 79/70/20 78/26/6 225/92/20 +f 162/69/20 79/70/20 185/76/20 +f 148/64/20 185/76/20 79/70/20 +f 148/64/20 79/70/20 149/83/20 +f 346/60/115 167/167/20 302/113/20 +f 346/60/115 302/113/20 347/112/20 +f 149/83/20 79/70/20 156/67/20 +f 225/92/20 156/67/20 79/70/20 +f 346/60/115 347/112/20 348/139/20 +f 346/60/115 348/139/20 351/147/20 +f 215/88/20 244/100/20 78/26/6 +f 244/100/20 181/73/20 78/26/6 +f 181/73/20 225/92/20 78/26/6 +f 102/45/58 346/60/115 351/147/20 +f 276/114/20 222/91/20 78/26/6 +f 222/91/20 259/107/20 78/26/6 +f 259/107/20 215/88/20 78/26/6 +f 102/45/58 344/140/20 345/157/20 +f 102/45/58 345/157/20 238/98/20 +f 102/45/58 238/98/20 78/26/6 +f 238/98/20 241/99/20 78/26/6 +f 343/146/20 342/156/20 353/129/20 +f 342/156/20 212/87/20 353/129/20 +f 212/87/20 215/88/20 259/107/20 +f 212/87/20 259/107/20 266/110/20 +f 219/90/20 222/91/20 276/114/20 +f 219/90/20 276/114/20 286/118/20 +f 344/140/20 343/146/20 354/150/20 +f 354/150/20 219/90/20 286/118/20 +f 355/128/20 344/140/20 354/150/20 +f 146/142/94 145/62/95 202/62/95 +f 145/62/95 144/61/86 203/61/86 +f 187/77/83 334/151/96 228/151/96 +f 334/151/96 333/132/97 229/132/97 +f 153/66/83 335/152/96 200/152/96 +f 335/152/96 146/142/97 201/142/97 +f 178/75/83 338/153/96 280/153/96 +f 338/153/96 337/143/97 281/143/97 +f 219/90/83 354/150/96 312/150/96 +f 354/150/96 343/146/97 313/146/97 +f 254/106/83 349/154/96 270/154/96 +f 349/154/96 348/139/97 271/139/97 +f 351/147/94 350/155/95 357/155/95 +f 350/155/95 317/131/86 316/131/86 +f 340/145/94 339/122/95 297/122/95 +f 339/122/95 251/103/86 250/103/86 +f 212/87/83 342/156/96 295/156/96 +f 342/156/96 340/145/97 296/145/97 +f 343/146/94 353/129/95 314/129/95 +f 353/129/95 266/110/86 265/110/86 +f 344/140/94 355/128/95 309/128/95 +f 355/128/95 286/118/86 285/118/86 +f 238/98/83 345/157/96 307/157/96 +f 345/157/96 344/140/97 308/140/97 +f 299/158/83 352/159/96 358/159/96 +f 352/159/96 351/147/97 356/147/97 +f 209/85/98 195/162/153 359/161/154 +f 195/162/153 193/79/155 359/161/154 +f 359/161/154 191/78/99 209/85/98 +f 191/78/99 184/76/20 183/64/20 +f 337/143/94 336/116/95 282/116/95 +f 336/116/95 234/96/86 233/96/86 +f 333/132/94 332/94/95 230/94/95 +f 332/94/95 168/72/86 174/72/86 +f 193/79/100 147/63/156 341/160/101 +f 341/160/101 192/78/86 191/78/87 +f 348/139/94 347/112/95 272/112/95 +f 347/112/95 302/113/86 273/113/86 +f 316/131/20 311/15/20 301/125/20 +f 301/125/20 300/158/20 316/131/20 +f 300/158/20 358/159/20 357/155/20 +f 358/159/20 356/147/20 357/155/20 +f 209/85/103 360/163/106 194/80/89 +f 209/85/39 183/64/39 148/64/39 +f 142/58/107 362/164/139 363/164/108 +f 87/25/110 364/169/127 3/51/111 +f 365/59/113 361/58/109 363/164/108 +f 128/44/57 367/52/117 346/60/115 +f 127/46/116 365/59/157 367/52/117 +f 361/58/9 365/59/157 127/46/116 +f 103/32/35 142/58/7 361/58/9 +f 363/164/118 362/164/158 368/166/7 +f 25/167/119 1/3/120 4/2/120 +f 88/25/24 80/1/147 136/51/122 +f 367/52/124 365/59/113 366/165/114 +f 86/55/126 373/170/136 364/169/127 +f 369/166/9 141/56/159 366/165/128 +f 366/165/128 141/56/159 140/170/117 +f 372/54/117 140/170/117 371/169/68 +f 139/54/81 138/53/129 364/169/129 +f 376/165/130 139/54/81 373/170/81 +f 368/166/7 362/164/158 376/165/130 +f 370/168/13 4/2/13 3/51/13 +f 377/168/20 371/169/68 136/51/20 +f 137/52/74 139/54/76 376/165/131 +f 346/60/133 374/53/143 377/168/134 +f 86/55/126 85/57/142 375/56/135 +f 89/55/77 88/25/24 371/169/123 +f 90/57/79 141/56/78 369/166/138 +f 143/59/132 376/165/131 362/164/139 +f 50/60/140 25/167/119 370/168/121 +f 91/24/22 369/166/138 368/166/141 +f 85/57/142 92/24/23 368/166/141 +f 367/52/124 372/54/125 374/53/143 +f 167/167/134 377/168/134 135/50/144 +s 0 +f 379/171/85 381/172/85 378/171/85 +f 380/172/160 383/173/160 384/174/160 +f 382/175/39 385/175/39 388/176/39 +f 387/177/161 386/177/161 389/178/161 +f 382/175/20 378/171/20 381/172/20 +f 379/171/13 390/178/13 391/179/13 +f 379/171/85 380/172/85 381/172/85 +f 385/175/16 382/175/16 384/174/16 +f 382/175/16 381/172/16 384/174/16 +f 381/172/16 380/172/16 384/174/16 +f 388/176/39 386/177/39 387/177/39 +f 387/177/39 382/175/39 388/176/39 +f 390/178/161 379/171/161 389/178/161 +f 379/171/161 378/171/161 389/178/161 +f 378/171/161 387/177/161 389/178/161 +f 382/175/20 387/177/20 378/171/20 +f 391/179/13 383/173/13 380/172/13 +f 380/172/13 379/171/13 391/179/13 s 1 -f 690/689/385 692/690/386 689/691/385 -f 691/692/386 694/693/387 692/690/386 -f 693/694/387 696/695/388 694/693/387 -f 695/696/388 698/697/389 696/695/388 -f 697/698/389 700/699/390 698/697/389 -f 699/700/390 702/701/391 700/699/390 -f 701/702/392 697/698/392 693/694/392 -f 701/702/391 704/703/393 702/701/391 -f 703/704/393 689/691/385 704/703/393 -f 700/699/394 702/701/394 704/703/394 -f 690/689/385 691/692/386 692/690/386 -f 691/692/386 693/694/387 694/693/387 -f 693/694/387 695/696/388 696/695/388 -f 695/696/388 697/698/389 698/697/389 -f 697/698/389 699/700/390 700/699/390 -f 699/700/390 701/702/391 702/701/391 -f 693/694/392 691/692/392 690/689/392 -f 690/689/392 703/704/392 701/702/392 -f 701/702/392 699/700/392 697/698/392 -f 697/698/392 695/696/392 693/694/392 -f 693/694/392 690/689/392 701/702/392 -f 701/702/391 703/704/393 704/703/393 -f 703/704/393 690/689/385 689/691/385 -f 704/703/394 689/691/394 692/690/394 -f 692/690/394 694/693/394 704/703/394 -f 694/693/394 696/695/394 704/703/394 -f 696/695/394 698/697/394 704/703/394 -f 698/697/394 700/699/394 704/703/394 -o Cylinder.005 -v 1.793664 0.315957 0.000612 -v 1.874918 0.315957 0.000612 -v 1.874919 0.278978 -0.088663 -v 1.793664 0.278978 -0.088663 -v 1.874919 0.189702 -0.125642 -v 1.793664 0.189702 -0.125642 -v 1.874919 0.100427 -0.088663 -v 1.793664 0.100427 -0.088663 -v 1.874919 0.063448 0.000612 -v 1.793664 0.063448 0.000612 -v 1.874918 0.100427 0.089888 -v 1.793664 0.100427 0.089888 -v 1.874918 0.189702 0.126867 -v 1.793664 0.189702 0.126867 -v 1.874918 0.278978 0.089888 -v 1.793664 0.278978 0.089888 -vt 0.771627 0.571391 -vt 0.747191 0.560270 -vt 0.747191 0.571391 -vt 0.771627 0.560270 -vt 0.747191 0.533421 -vt 0.771627 0.533421 -vt 0.747191 0.506573 -vt 0.771627 0.506573 -vt 0.747191 0.495452 -vt 0.771627 0.506573 -vt 0.747191 0.506573 -vt 0.747191 0.533421 -vt 0.771627 0.533421 -vt 0.771627 0.495452 -vt 0.747191 0.560270 -vt 0.771627 0.560270 -vn 0.0000 1.0000 -0.0000 -vn 0.0000 0.7071 -0.7071 -vn 0.0000 -0.0000 -1.0000 -vn 0.0000 -0.7071 -0.7071 -vn 0.0000 -1.0000 -0.0000 -vn 0.0000 -0.7071 0.7071 -vn 0.0000 -0.0000 1.0000 -vn 1.0000 0.0000 0.0000 -vn 0.0000 0.7071 0.7071 -vn -1.0000 0.0000 0.0000 -s 1 -f 706/705/395 708/706/396 705/707/395 -f 707/708/396 710/709/397 708/706/396 -f 709/710/397 712/711/398 710/709/397 -f 711/712/398 714/713/399 712/711/398 -f 714/713/399 715/714/400 716/715/400 -f 715/714/400 718/716/401 716/715/400 -f 717/717/402 713/718/402 709/710/402 -f 717/717/401 720/719/403 718/716/401 -f 719/720/403 705/707/395 720/719/403 -f 716/715/404 718/716/404 720/719/404 -f 706/705/395 707/708/396 708/706/396 -f 707/708/396 709/710/397 710/709/397 -f 709/710/397 711/712/398 712/711/398 -f 711/712/398 713/718/399 714/713/399 -f 714/713/399 713/718/399 715/714/400 -f 715/714/400 717/717/401 718/716/401 -f 709/710/402 707/708/402 706/705/402 -f 706/705/402 719/720/402 717/717/402 -f 717/717/402 715/714/402 713/718/402 -f 713/718/402 711/712/402 709/710/402 -f 709/710/402 706/705/402 717/717/402 -f 717/717/401 719/720/403 720/719/403 -f 719/720/403 706/705/395 705/707/395 -f 720/719/404 705/707/404 708/706/404 -f 708/706/404 710/709/404 720/719/404 -f 710/709/404 712/711/404 720/719/404 -f 712/711/404 714/713/404 720/719/404 -f 714/713/404 716/715/404 720/719/404 -o Cylinder.004 -v 1.646873 0.577354 0.000612 -v 1.749518 0.577354 0.000612 -v 1.749518 0.539888 -0.089839 -v 1.646873 0.539888 -0.089839 -v 1.749518 0.449436 -0.127305 -v 1.646873 0.449436 -0.127305 -v 1.749518 0.358985 -0.089839 -v 1.646873 0.358985 -0.089839 -v 1.749518 0.321519 0.000612 -v 1.646873 0.321519 0.000612 -v 1.749518 0.358985 0.091064 -v 1.646873 0.358985 0.091064 -v 1.749518 0.449436 0.128530 -v 1.646873 0.449436 0.128530 -v 1.749518 0.539888 0.091064 -v 1.646873 0.539888 0.091064 -vt 0.729032 0.553323 -vt 0.698162 0.542055 -vt 0.698162 0.553323 -vt 0.729032 0.542055 -vt 0.698162 0.514853 -vt 0.729032 0.514853 -vt 0.698162 0.487651 -vt 0.729032 0.487651 -vt 0.698162 0.476384 -vt 0.729032 0.476384 -vt 0.698162 0.487651 -vt 0.729032 0.487651 -vt 0.698162 0.514853 -vt 0.729032 0.514853 -vt 0.698162 0.542055 -vt 0.729032 0.542055 -vn 0.0000 1.0000 -0.0000 -vn 0.0000 0.7071 -0.7071 -vn 0.0000 -0.0000 -1.0000 -vn 0.0000 -0.7071 -0.7071 -vn 0.0000 -1.0000 -0.0000 -vn 0.0000 -0.7071 0.7071 -vn 0.0000 -0.0000 1.0000 -vn 1.0000 0.0000 0.0000 -vn 0.0000 0.7071 0.7071 -vn -1.0000 0.0000 0.0000 -s 1 -f 722/721/405 724/722/406 721/723/405 -f 723/724/406 726/725/407 724/722/406 -f 725/726/407 728/727/408 726/725/407 -f 727/728/408 730/729/409 728/727/408 -f 729/730/409 732/731/410 730/729/409 -f 731/732/410 734/733/411 732/731/410 -f 733/734/412 729/730/412 725/726/412 -f 733/734/411 736/735/413 734/733/411 -f 735/736/413 721/723/405 736/735/413 -f 734/733/414 736/735/414 728/727/414 -f 722/721/405 723/724/406 724/722/406 -f 723/724/406 725/726/407 726/725/407 -f 725/726/407 727/728/408 728/727/408 -f 727/728/408 729/730/409 730/729/409 -f 729/730/409 731/732/410 732/731/410 -f 731/732/410 733/734/411 734/733/411 -f 725/726/412 723/724/412 722/721/412 -f 722/721/412 735/736/412 733/734/412 -f 733/734/412 731/732/412 729/730/412 -f 729/730/412 727/728/412 725/726/412 -f 725/726/412 722/721/412 733/734/412 -f 733/734/411 735/736/413 736/735/413 -f 735/736/413 722/721/405 721/723/405 -f 736/735/414 721/723/414 728/727/414 -f 721/723/414 724/722/414 728/727/414 -f 724/722/414 726/725/414 728/727/414 -f 728/727/414 730/729/414 732/731/414 -f 732/731/414 734/733/414 728/727/414 -o Cylinder.003 -v 1.870045 0.577354 0.000612 -v 2.097808 0.577354 0.000612 -v 2.097808 0.539888 -0.089839 -v 1.870045 0.539888 -0.089839 -v 2.097808 0.449436 -0.127305 -v 1.870045 0.449436 -0.127305 -v 2.097808 0.358985 -0.089839 -v 1.870045 0.358985 -0.089839 -v 2.097808 0.321519 0.000612 -v 1.870045 0.321519 0.000612 -v 2.097808 0.358985 0.091064 -v 1.870045 0.358985 0.091064 -v 2.097808 0.449436 0.128530 -v 1.870045 0.449436 0.128530 -v 2.097808 0.523628 0.074804 -v 2.097808 0.539888 0.091064 -v 2.097808 0.344513 0.000612 -v 2.097808 0.375244 0.074804 -v 2.097808 0.449436 0.105535 -v 2.097808 0.554359 0.000612 -v 2.097808 0.523628 -0.073580 -v 2.097808 0.449436 -0.104311 -v 2.097808 0.375244 -0.073580 -v 1.870045 0.539888 0.091064 -v 1.870045 0.344513 0.000612 -v 1.870045 0.523628 0.074804 -v 1.870045 0.449436 0.105535 -v 1.870045 0.375244 0.074804 -v 1.870045 0.375244 -0.073580 -v 1.870045 0.449436 -0.104311 -v 1.870045 0.523628 -0.073580 -v 1.870045 0.554359 0.000612 -vt 0.782994 0.575784 -vt 0.714498 0.564516 -vt 0.714498 0.575784 -vt 0.782994 0.564516 -vt 0.714498 0.537314 -vt 0.782994 0.537314 -vt 0.714498 0.510112 -vt 0.782994 0.510112 -vt 0.714498 0.498845 -vt 0.782994 0.498845 -vt 0.714498 0.510112 -vt 0.782994 0.510112 -vt 0.714498 0.537314 -vt 0.782994 0.537314 -vt 0.782994 0.537314 -vt 0.782994 0.559627 -vt 0.782994 0.537314 -vt 0.714498 0.564516 -vt 0.782994 0.564516 -vt 0.714498 0.537314 -vt 0.714498 0.515002 -vt 0.714498 0.559627 -vt 0.714498 0.568869 -vt 0.714498 0.537314 -vt 0.714498 0.515002 -vt 0.782994 0.515002 -vt 0.714498 0.505760 -vt 0.782994 0.505760 -vt 0.782994 0.515002 -vt 0.782994 0.559627 -vt 0.714498 0.559627 -vt 0.782994 0.568869 -vn 0.0000 1.0000 -0.0000 -vn 0.0000 0.7071 -0.7071 -vn 0.0000 -0.0000 -1.0000 -vn 0.0000 -0.7071 -0.7071 -vn 0.0000 -1.0000 -0.0000 -vn 0.0000 -0.7071 0.7071 -vn 0.0000 -0.0000 1.0000 -vn 1.0000 0.0000 0.0000 -vn 0.0000 0.7071 0.7071 -vn -1.0000 0.0000 0.0000 -s 1 -f 738/737/415 740/738/416 737/739/415 -f 739/740/416 742/741/417 740/738/416 -f 741/742/417 744/743/418 742/741/417 -f 743/744/418 746/745/419 744/743/418 -f 745/746/419 748/747/420 746/745/419 -f 747/748/420 750/749/421 748/747/420 -f 749/750/422 747/748/422 755/751/422 -f 757/752/422 758/753/422 741/742/422 -f 749/750/421 760/754/423 750/749/421 -f 752/755/423 737/739/415 760/754/423 -f 763/756/424 764/757/424 748/747/424 -f 740/738/424 742/741/424 767/758/424 -f 757/752/420 768/759/419 767/758/420 -f 757/752/420 766/760/421 758/753/421 -f 758/753/421 765/761/423 759/762/423 -f 759/762/423 761/763/415 753/764/415 -f 753/764/415 764/757/416 754/765/416 -f 755/751/417 764/757/416 763/756/417 -f 751/766/418 763/756/417 762/767/418 -f 756/768/419 762/767/418 768/759/419 -f 738/737/415 739/740/416 740/738/416 -f 739/740/416 741/742/417 742/741/417 -f 741/742/417 743/744/418 744/743/418 -f 743/744/418 745/746/419 746/745/419 -f 745/746/419 747/748/420 748/747/420 -f 747/748/420 749/750/421 750/749/421 -f 755/751/422 751/766/422 749/750/422 -f 751/766/422 752/755/422 749/750/422 -f 747/748/422 745/746/422 754/765/422 -f 745/746/422 753/764/422 754/765/422 -f 747/748/422 754/765/422 755/751/422 -f 759/762/422 753/764/422 745/746/422 -f 738/737/422 752/755/422 751/766/422 -f 738/737/422 751/766/422 756/768/422 -f 759/762/422 745/746/422 743/744/422 -f 758/753/422 759/762/422 741/742/422 -f 759/762/422 743/744/422 741/742/422 -f 739/740/422 738/737/422 756/768/422 -f 739/740/422 756/768/422 757/752/422 -f 739/740/422 757/752/422 741/742/422 -f 749/750/421 752/755/423 760/754/423 -f 752/755/423 738/737/415 737/739/415 -f 764/757/424 761/763/424 746/745/424 -f 750/749/424 760/754/424 762/767/424 -f 750/749/424 762/767/424 763/756/424 -f 764/757/424 746/745/424 748/747/424 -f 750/749/424 763/756/424 748/747/424 -f 762/767/424 760/754/424 737/739/424 -f 744/743/424 746/745/424 765/761/424 -f 746/745/424 761/763/424 765/761/424 -f 768/759/424 762/767/424 737/739/424 -f 767/758/424 768/759/424 740/738/424 -f 768/759/424 737/739/424 740/738/424 -f 742/741/424 744/743/424 765/761/424 -f 742/741/424 765/761/424 766/760/424 -f 742/741/424 766/760/424 767/758/424 -f 757/752/420 756/768/419 768/759/419 -f 757/752/420 767/758/420 766/760/421 -f 758/753/421 766/760/421 765/761/423 -f 759/762/423 765/761/423 761/763/415 -f 753/764/415 761/763/415 764/757/416 -f 755/751/417 754/765/416 764/757/416 -f 751/766/418 755/751/417 763/756/417 -f 756/768/419 751/766/418 762/767/418 -o Cylinder.001 -v -0.200670 0.307371 0.000612 -v 1.799330 0.307371 0.000612 -v 1.799330 0.272907 -0.082592 -v -0.200670 0.272906 -0.082592 -v 1.799330 0.189702 -0.117056 -v -0.200670 0.189702 -0.117056 -v 1.799330 0.106498 -0.082592 -v -0.200670 0.106498 -0.082592 -v 1.799330 0.072034 0.000612 -v -0.200670 0.072034 0.000612 -v 1.799330 0.106498 0.083817 -v -0.200670 0.106498 0.083816 -v 1.799330 0.189702 0.118281 -v -0.200670 0.189702 0.118281 -v 1.799330 0.272906 0.083817 -v -0.200670 0.272906 0.083816 -vt 0.743036 0.769004 -vt 0.141560 0.758639 -vt 0.141560 0.769004 -vt 0.743036 0.758639 -vt 0.141560 0.733616 -vt 0.743036 0.733616 -vt 0.141560 0.708594 -vt 0.743036 0.708594 -vt 0.141560 0.698229 -vt 0.743036 0.698229 -vt 0.141560 0.708594 -vt 0.743036 0.708594 -vt 0.141560 0.733616 -vt 0.743036 0.733617 -vt 0.141560 0.758639 -vt 0.743036 0.758639 -vn 0.6303 0.7764 0.0000 -vn -0.6303 0.5490 -0.5490 -vn -0.6303 0.7764 0.0000 -vn 0.6303 0.5490 -0.5490 -vn -0.6303 0.0000 -0.7764 -vn 0.6303 -0.0000 -0.7764 -vn -0.6303 -0.5490 -0.5490 -vn 0.6303 -0.5490 -0.5490 -vn -0.6303 -0.7764 0.0000 -vn 0.6303 -0.7764 -0.0000 -vn -0.6303 -0.5490 0.5490 -vn 0.6303 -0.5490 0.5490 -vn -0.6303 0.0000 0.7764 -vn 0.6303 -0.0000 0.7764 -vn -0.6303 0.5490 0.5490 -vn 0.6303 0.5490 0.5490 -s 1 -f 770/769/425 772/770/426 769/771/427 -f 771/772/428 774/773/429 772/770/426 -f 773/774/430 776/775/431 774/773/429 -f 775/776/432 778/777/433 776/775/431 -f 777/778/434 780/779/435 778/777/433 -f 779/780/436 782/781/437 780/779/435 -f 781/782/438 777/778/434 773/774/430 -f 781/782/438 784/783/439 782/781/437 -f 784/783/439 770/769/425 769/771/427 -f 780/779/435 782/781/437 784/783/439 -f 770/769/425 771/772/428 772/770/426 -f 771/772/428 773/774/430 774/773/429 -f 773/774/430 775/776/432 776/775/431 -f 775/776/432 777/778/434 778/777/433 -f 777/778/434 779/780/436 780/779/435 -f 779/780/436 781/782/438 782/781/437 -f 773/774/430 771/772/428 770/769/425 -f 770/769/425 783/784/440 773/774/430 -f 783/784/440 781/782/438 773/774/430 -f 781/782/438 779/780/436 777/778/434 -f 777/778/434 775/776/432 773/774/430 -f 781/782/438 783/784/440 784/783/439 -f 784/783/439 783/784/440 770/769/425 -f 784/783/439 769/771/427 772/770/426 -f 772/770/426 774/773/429 784/783/439 -f 774/773/429 776/775/431 784/783/439 -f 776/775/431 778/777/433 784/783/439 -f 778/777/433 780/779/435 784/783/439 -o Cylinder -v -0.093059 0.567105 0.000612 -v 1.906941 0.567105 0.000612 -v 1.906941 0.532640 -0.082592 -v -0.093059 0.532640 -0.082592 -v 1.906941 0.449436 -0.117056 -v -0.093059 0.449436 -0.117056 -v 1.906941 0.366232 -0.082592 -v -0.093059 0.366232 -0.082592 -v 1.906941 0.331768 0.000612 -v -0.093059 0.331768 0.000612 -v 1.906941 0.366232 0.083817 -v -0.093059 0.366232 0.083816 -v 1.906941 0.449436 0.118281 -v -0.093059 0.449436 0.118281 -v 1.906941 0.532640 0.083817 -v -0.093059 0.532640 0.083816 -vt 0.766609 0.756295 -vt 0.165134 0.745931 -vt 0.165134 0.756295 -vt 0.766609 0.745931 -vt 0.165134 0.720908 -vt 0.766609 0.720908 -vt 0.165134 0.695885 -vt 0.766609 0.695885 -vt 0.165134 0.685521 -vt 0.766609 0.685521 -vt 0.165134 0.695885 -vt 0.766609 0.695885 -vt 0.165134 0.720908 -vt 0.766609 0.720908 -vt 0.165134 0.745931 -vt 0.766609 0.745931 +f 393/180/162 395/181/163 392/182/164 +f 392/182/164 397/183/165 393/180/162 +f 396/184/166 399/185/167 397/183/165 +f 401/186/13 398/187/168 400/188/13 +f 403/189/169 405/190/170 402/191/171 +f 406/192/172 402/191/171 405/190/170 +f 408/193/173 388/176/173 385/175/174 +f 410/188/20 389/178/20 386/177/20 +f 400/188/161 409/186/161 401/186/161 +f 394/194/175 403/189/176 395/181/177 +f 393/180/39 406/192/39 405/190/39 +f 392/182/178 407/195/179 396/184/180 +f 397/183/39 408/193/39 406/192/39 +f 383/173/181 391/179/182 398/187/183 +f 398/187/183 391/179/182 390/178/85 +f 401/186/39 408/193/39 399/185/39 +f 395/181/177 402/191/184 392/182/178 +f 394/194/39 405/190/39 404/196/39 +f 393/180/162 394/194/163 395/181/163 +f 392/182/164 396/184/166 397/183/165 +f 396/184/166 398/187/168 399/185/167 +f 401/186/13 399/185/167 398/187/168 +f 403/189/169 404/196/185 405/190/170 +f 406/192/172 407/195/186 402/191/171 +f 385/175/174 384/174/187 407/195/186 +f 407/195/186 406/192/172 385/175/174 +f 406/192/172 408/193/173 385/175/174 +f 388/176/173 408/193/173 386/177/20 +f 408/193/173 409/186/20 386/177/20 +f 409/186/20 410/188/20 386/177/20 +f 400/188/161 410/188/161 409/186/161 +f 394/194/175 404/196/175 403/189/176 +f 393/180/39 397/183/39 406/192/39 +f 392/182/178 402/191/184 407/195/179 +f 397/183/39 399/185/39 408/193/39 +f 398/187/183 396/184/180 383/173/181 +f 396/184/180 407/195/179 383/173/181 +f 407/195/179 384/174/188 383/173/181 +f 389/178/85 410/188/85 390/178/85 +f 410/188/85 400/188/85 390/178/85 +f 400/188/85 398/187/183 390/178/85 +f 401/186/39 409/186/39 408/193/39 +f 395/181/177 403/189/176 402/191/184 +f 394/194/39 393/180/39 405/190/39 +o Body +v 0.100627 0.078364 0.288131 +v 0.100627 0.190299 0.398224 +v -0.099403 0.190299 0.398224 +v -0.099403 0.078364 0.288131 +v -0.081922 0.078364 0.288131 +v -0.081922 0.188950 0.396897 +v 0.083147 0.188950 0.396897 +v 0.083147 0.078364 0.288131 +v 0.100627 0.190299 0.189154 +v -0.099403 0.190299 0.189154 +v 0.100627 0.078364 0.189154 +v -0.099403 0.078364 0.189154 +v 0.083147 0.078364 0.246637 +v -0.081922 0.078364 0.246637 +v -0.081922 0.188950 0.246637 +v 0.083147 0.188950 0.246637 +v 0.139055 0.234647 1.316254 +v 0.148771 0.234647 1.316254 +v 0.148771 0.312137 1.316254 +v 0.139055 0.312137 1.316254 +v 0.148771 0.312137 0.330263 +v 0.139055 0.312137 0.330263 +v 0.148771 0.234647 0.330263 +v 0.139055 0.234647 0.330263 +v -0.152849 0.339450 1.361672 +v -0.152849 0.236034 1.361672 +v -0.137831 0.236034 1.361672 +v -0.137831 0.339450 1.361672 +v -0.152849 0.339450 0.429618 +v -0.137831 0.339450 0.429618 +v -0.152849 0.236034 0.429618 +v -0.152849 0.339450 0.307960 +v -0.152849 0.236034 0.307960 +v -0.137831 0.236034 0.429618 +v -0.137831 0.236034 0.307960 +v -0.137831 0.339450 0.307960 +v -0.152849 0.470230 0.429618 +v -0.152849 0.470230 0.307960 +v -0.137831 0.470230 0.429618 +v -0.137831 0.470230 0.307960 +v 0.139055 0.184312 0.204392 +v 0.139055 0.062676 0.204784 +v 0.139055 0.064132 0.029043 +v 0.139055 0.474619 0.027466 +v 0.139055 0.474619 0.202227 +v 0.139055 0.408506 0.202227 +v 0.139055 0.386874 0.206744 +v 0.139055 0.371302 0.223773 +v 0.139055 0.367172 0.247428 +v 0.139055 0.408506 0.760419 +v 0.139055 0.474619 0.760419 +v 0.139055 0.474619 1.160748 +v 0.139055 0.476751 1.212867 +v 0.139055 0.523317 1.554436 +v 0.139055 0.470462 1.584164 +v 0.139055 0.182561 1.584164 +v 0.139055 0.367172 0.715218 +v 0.139055 0.371302 0.738873 +v 0.139055 0.386874 0.755902 +v 0.079700 0.592632 1.193615 +v -0.078476 0.592632 1.193615 +v -0.078476 0.587917 1.343072 +v 0.079700 0.587917 1.343072 +v -0.137831 0.182561 1.584164 +v -0.137831 0.470462 1.584164 +v -0.137831 0.523317 1.554436 +v -0.137831 0.476751 1.212867 +v -0.137831 0.474619 1.160748 +v -0.137831 0.474619 0.027466 +v -0.137831 0.064132 0.029043 +v -0.137831 0.062676 0.204784 +v -0.137831 0.184312 0.204392 +v -0.078476 0.568125 1.469775 +v 0.079700 0.568125 1.469775 +v 0.121671 0.555001 1.494572 +v 0.102414 0.564714 1.476220 +v -0.101190 0.564714 1.476220 +v -0.120446 0.555001 1.494572 +v -0.133313 0.540464 1.522038 +v 0.134537 0.540464 1.522038 +v 0.079700 0.592632 0.027466 +v -0.078476 0.592632 0.027466 +v 0.134537 0.519780 1.173326 +v 0.134537 0.519292 1.262694 +v 0.121671 0.558066 1.183989 +v 0.121671 0.555357 1.304936 +v 0.102414 0.583648 1.191113 +v 0.102414 0.579455 1.333161 +v -0.133313 0.519292 1.262694 +v -0.133313 0.519780 1.173326 +v -0.120446 0.555357 1.304936 +v -0.120446 0.558066 1.183989 +v -0.101190 0.579455 1.333161 +v -0.101190 0.583648 1.191113 +v -0.101190 0.583648 0.027466 +v -0.120446 0.558066 0.027466 +v -0.133313 0.519780 0.027466 +v 0.135374 0.511418 0.202227 +v 0.134537 0.519780 0.027466 +v 0.134537 0.519780 0.203973 +v 0.135374 0.511418 0.760419 +v 0.134537 0.519780 0.758673 +v 0.130078 0.533050 0.206744 +v 0.121671 0.558066 0.027466 +v 0.130078 0.533050 0.755902 +v 0.124844 0.548622 0.738873 +v 0.123456 0.552752 0.715218 +v 0.123456 0.552752 0.247428 +v 0.124844 0.548622 0.223773 +v 0.102414 0.583648 0.027466 +v 0.006857 0.386874 0.206744 +v 0.006857 0.371302 0.223773 +v 0.006857 0.371302 0.738873 +v 0.006857 0.386874 0.755902 +v 0.006857 0.367172 0.247428 +v 0.006857 0.367172 0.715218 +v -0.012342 0.524577 0.649440 +v -0.012342 0.510011 0.652482 +v -0.012342 0.409913 0.652482 +v -0.012342 0.395347 0.649440 +v -0.012342 0.395347 0.313206 +v -0.012342 0.409913 0.310165 +v -0.012342 0.510011 0.310165 +v -0.012342 0.524577 0.313206 +v 0.006857 0.533050 0.755902 +v 0.006857 0.511418 0.760419 +v 0.006857 0.408506 0.760419 +v 0.006857 0.548622 0.738873 +v 0.006857 0.408506 0.202227 +v 0.006857 0.552752 0.715218 +v 0.006857 0.548622 0.223773 +v 0.006857 0.533050 0.206744 +v 0.006857 0.552752 0.247428 +v 0.006857 0.511418 0.202227 +v -0.007431 0.376935 0.253872 +v -0.007431 0.376935 0.708774 +v -0.007431 0.378372 0.717005 +v -0.007431 0.389041 0.233974 +v -0.007431 0.408866 0.229835 +v -0.007431 0.378372 0.245641 +v -0.007431 0.511059 0.229835 +v -0.007431 0.530883 0.233974 +v -0.007431 0.541552 0.245641 +v -0.007431 0.541552 0.717005 +v -0.007431 0.530883 0.728672 +v -0.007431 0.389041 0.728672 +v -0.007431 0.408866 0.732811 +v -0.007431 0.511059 0.732811 +v -0.007431 0.542989 0.708774 +v -0.007431 0.542989 0.253872 +v -0.054842 0.212030 1.578045 +v 0.057698 0.212030 1.578045 +v 0.057698 0.212030 0.861955 +v -0.054842 0.212030 0.861955 +v -0.054842 0.203298 1.578045 +v 0.057698 0.203298 1.578045 +v 0.057698 0.027130 1.128281 +v -0.054842 0.027130 1.128281 +v -0.054842 0.065059 1.114436 +v 0.057698 0.065059 1.114436 +v -0.054842 0.065231 1.454635 +v 0.057698 0.065231 1.454635 +v 0.057698 0.118060 1.481781 +v -0.054842 0.118060 1.481781 +v 0.057698 0.168281 1.527702 +v -0.054842 0.168281 1.527702 +v 0.057698 0.202811 0.861955 +v -0.054842 0.202811 0.861955 +v -0.054842 0.044421 1.450844 +v 0.057698 0.044421 1.450844 +v -0.054842 0.121520 1.062335 +v 0.057698 0.121520 1.062335 +v -0.054842 0.167855 0.962640 +v 0.057698 0.167855 0.962640 +v -0.054842 0.124782 1.074680 +v -0.054842 0.065837 1.125464 +v -0.054842 0.116276 1.125464 +v -0.054842 0.139630 1.130869 +v -0.054842 0.141171 1.121683 +v -0.054842 0.127160 1.115880 +v -0.054842 0.117438 1.092410 +v -0.054842 0.150630 1.125601 +v -0.054842 0.159885 1.148853 +v -0.054842 0.171886 1.174411 +v -0.054842 0.174873 1.206501 +v -0.054842 0.174873 1.364767 +v -0.054842 0.171886 1.396858 +v -0.054842 0.159885 1.422416 +v -0.054842 0.139630 1.440399 +v -0.054842 0.116276 1.445804 +v -0.054842 0.065837 1.445804 +v -0.054842 0.127160 1.068940 +v -0.054842 0.150630 1.059218 +v -0.054842 0.174100 1.068940 +v -0.054842 0.183821 1.092410 +v -0.054842 0.174100 1.115880 +v -0.054842 0.003110 1.144751 +v -0.054842 -0.005077 1.181248 +v -0.054842 -0.003671 1.396052 +v -0.054842 0.014101 1.435488 +v -0.054842 0.042483 1.440399 +v -0.054842 0.022228 1.422416 +v -0.054842 0.010226 1.396858 +v -0.054842 0.007240 1.364767 +v -0.054842 0.007240 1.206501 +v -0.054842 0.010226 1.174411 +v -0.054842 0.022228 1.148853 +v -0.054842 0.042483 1.130869 +v 0.057698 -0.005077 1.181248 +v 0.057698 0.003110 1.144751 +v 0.057698 0.014101 1.435488 +v 0.057698 -0.003671 1.396052 +v 0.057698 0.042483 1.440399 +v 0.057698 0.065837 1.445804 +v 0.057698 0.065837 1.125464 +v 0.057698 0.042483 1.130869 +v 0.057698 0.022228 1.148853 +v 0.057698 0.010226 1.174411 +v 0.057698 0.007240 1.206501 +v 0.057698 0.007240 1.364767 +v 0.057698 0.010226 1.396858 +v 0.057698 0.022228 1.422416 +v 0.057698 0.141171 1.121683 +v 0.057698 0.139630 1.130869 +v 0.057698 0.116276 1.125464 +v 0.057698 0.124782 1.074680 +v 0.057698 0.117438 1.092410 +v 0.057698 0.127160 1.115880 +v 0.057698 0.127160 1.068940 +v 0.057698 0.116276 1.445804 +v 0.057698 0.139630 1.440399 +v 0.057698 0.159885 1.422416 +v 0.057698 0.171886 1.396858 +v 0.057698 0.174873 1.364767 +v 0.057698 0.174873 1.206501 +v 0.057698 0.171886 1.174411 +v 0.057698 0.159885 1.148853 +v 0.057698 0.150630 1.125601 +v 0.057698 0.174100 1.115880 +v 0.057698 0.183821 1.092410 +v 0.057698 0.174100 1.068940 +v 0.057698 0.150630 1.059218 +v -0.054925 0.577098 1.092482 +v 0.056150 0.577098 1.092482 +v 0.056150 0.603150 1.092482 +v -0.054925 0.603150 1.092482 +v -0.054925 0.627935 0.448868 +v -0.054925 0.603150 0.448868 +v 0.056150 0.603150 0.448868 +v 0.056150 0.627935 0.448868 +v 0.025312 0.627935 0.448868 +v 0.000612 0.603235 0.448868 +v -0.024087 0.627935 0.448868 +v -0.054925 0.603150 0.419549 +v 0.056150 0.603150 0.419549 +v 0.056150 0.577098 0.419549 +v -0.054925 0.577098 0.419549 +v -0.054925 0.577098 0.448868 +v 0.056150 0.577098 0.448868 +v 0.056150 0.627935 0.419549 +v 0.025312 0.627935 0.419549 +v -0.054925 0.627935 0.419549 +v -0.024087 0.627935 0.419549 +v 0.000612 0.603235 0.419549 +v -0.054357 0.183821 1.092410 +v 0.062757 0.183821 1.092410 +v 0.062757 0.174100 1.068940 +v -0.054357 0.174100 1.068940 +v 0.062757 0.150630 1.059218 +v -0.054357 0.150630 1.059218 +v 0.062757 0.127160 1.068940 +v -0.054357 0.127160 1.068940 +v 0.062757 0.117438 1.092410 +v -0.054357 0.117438 1.092410 +v 0.062757 0.127160 1.115880 +v -0.054357 0.127160 1.115880 +v 0.062757 0.150630 1.125601 +v -0.054357 0.150630 1.125601 +v 0.062757 0.174100 1.115880 +v -0.054357 0.174100 1.115880 +v -0.152938 0.517962 1.538719 +v -0.137431 0.544138 1.539156 +v -0.095064 0.563301 1.539476 +v -0.037191 0.570315 1.539593 +v 0.038415 0.570315 1.539593 +v 0.096289 0.563301 1.539476 +v 0.138655 0.544138 1.539156 +v 0.154162 0.517962 1.538719 +v 0.154162 0.227849 1.533876 +v -0.152938 0.227849 1.533876 +v 0.012483 0.109525 2.094905 +v -0.011259 0.109525 2.094905 +v -0.011259 0.036699 2.150966 +v 0.012483 0.036699 2.150966 +v 0.012483 0.187910 2.023875 +v -0.011259 0.187910 2.023875 +v 0.012483 -0.213929 2.264097 +v 0.012483 -0.203596 2.264255 +v -0.011259 -0.203596 2.264255 +v -0.011259 -0.213929 2.264097 +v 0.013017 0.059583 1.797079 +v -0.011793 0.059583 1.797079 +v -0.011892 0.100282 1.765046 +v 0.013116 0.100282 1.765046 +v -0.088740 0.447951 1.762607 +v -0.077230 0.429221 1.760241 +v -0.014565 0.430912 1.762832 +v -0.023152 0.457644 1.766291 +v 0.012483 0.250853 1.956909 +v 0.012483 0.360493 1.799493 +v -0.011259 0.360493 1.799493 +v -0.011259 0.250853 1.956909 +v 0.012483 -0.130294 2.241662 +v -0.011259 -0.130294 2.241662 +v -0.011259 -0.152255 2.252959 +v 0.012483 -0.152255 2.252959 +v 0.012483 -0.179086 2.261228 +v -0.011259 -0.179086 2.261228 +v 0.012483 0.376760 1.785496 +v -0.011259 0.376760 1.785496 +v -0.111561 -0.183903 1.955881 +v -0.069363 -0.185223 1.935984 +v -0.069363 -0.185223 1.924661 +v -0.111561 -0.183903 1.944557 +v 0.096289 0.462296 1.755752 +v 0.096289 0.501026 1.692113 +v 0.038415 0.485570 1.734405 +v 0.038415 0.470835 1.758670 +v 0.012961 0.021307 1.820971 +v -0.011736 0.021307 1.820971 +v 0.011434 0.413383 1.766037 +v -0.011069 0.413356 1.766043 +v 0.038415 0.510485 1.688728 +v 0.038415 0.535784 1.634369 +v -0.037191 0.535784 1.634369 +v -0.037191 0.510485 1.688728 +v -0.037191 0.485570 1.734405 +v 0.141134 0.380985 1.735899 +v 0.148146 0.393971 1.738122 +v 0.132688 0.425226 1.752230 +v 0.124334 0.410947 1.750383 +v -0.018635 0.194290 1.607360 +v 0.019860 0.194290 1.607360 +v 0.019117 0.188526 1.641579 +v 0.000612 0.188526 1.641579 +v -0.017893 0.188526 1.641579 +v -0.012042 0.132498 1.733455 +v 0.013266 0.132498 1.733455 +v 0.013479 0.155364 1.707226 +v -0.012254 0.155364 1.707226 +v -0.012546 0.174279 1.678132 +v 0.013771 0.174279 1.678132 +v -0.012941 0.187380 1.644519 +v 0.014166 0.187380 1.644519 +v 0.154162 0.195123 1.575692 +v 0.154162 0.194290 1.607360 +v 0.109395 0.194290 1.607360 +v 0.064627 0.194290 1.607360 +v -0.063403 0.194290 1.607360 +v -0.108170 0.194290 1.607360 +v -0.152938 0.194290 1.607360 +v -0.152938 0.195123 1.575692 +v 0.154162 0.410681 1.733274 +v 0.154162 0.397386 1.736517 +v 0.154162 0.234366 1.662416 +v 0.154162 0.507794 1.568848 +v 0.154162 0.489887 1.614762 +v 0.154162 0.465930 1.666237 +v -0.037191 0.554689 1.585895 +v 0.038415 0.554689 1.585895 +v 0.138655 0.488208 1.677482 +v 0.138655 0.440323 1.746489 +v 0.014930 0.428644 1.762824 +v 0.000612 0.429258 1.762496 +v -0.014572 0.188370 1.641979 +v -0.013588 0.187942 1.643078 +v 0.141182 0.232641 1.666578 +v 0.131601 0.357945 1.735431 +v 0.131678 0.228796 1.676320 +v -0.126973 0.223882 1.688855 +v -0.126890 0.339948 1.738139 +v -0.130376 0.357945 1.735431 +v -0.130453 0.228796 1.676320 +v -0.152938 0.465930 1.666237 +v -0.152938 0.410674 1.733283 +v -0.137362 0.440289 1.746708 +v -0.137431 0.488208 1.677482 +v 0.015790 0.430912 1.762832 +v 0.023719 0.457946 1.765303 +v -0.131438 0.425246 1.752361 +v -0.123109 0.410947 1.750383 +v -0.013705 0.428644 1.762824 +v 0.015797 0.188370 1.641979 +v 0.014812 0.187942 1.643078 +v -0.139910 0.380985 1.735899 +v -0.139957 0.232641 1.666578 +v 0.128114 0.339948 1.738139 +v 0.128198 0.223882 1.688855 +v 0.128229 0.146669 1.969466 +v 0.128229 0.207250 1.905013 +v 0.112723 0.232183 1.940354 +v 0.112723 0.170421 2.006064 +v 0.070357 0.245850 1.952473 +v 0.070357 0.183224 2.019103 +v -0.127005 0.207250 1.905013 +v -0.127005 0.146669 1.969466 +v -0.111498 0.170421 2.006064 +v -0.111498 0.232183 1.940354 +v -0.069132 0.183224 2.019103 +v -0.069132 0.245850 1.952473 +v 0.128229 0.071248 2.037810 +v 0.112722 0.093518 2.075751 +v 0.070357 0.105235 2.089773 +v -0.127004 0.071248 2.037810 +v -0.111498 0.093518 2.075751 +v -0.069132 0.105235 2.089773 +v 0.128228 0.001156 2.091766 +v 0.112722 0.022059 2.130760 +v 0.070357 0.032777 2.145552 +v -0.127004 0.001156 2.091767 +v -0.111498 0.022059 2.130760 +v -0.069132 0.032776 2.145552 +v 0.128231 -0.171157 2.206585 +v 0.128228 -0.155841 2.198706 +v 0.112722 -0.143067 2.220184 +v 0.112723 -0.161706 2.229772 +v 0.070357 -0.133717 2.235907 +v 0.070357 -0.154788 2.246746 +v -0.127004 -0.155841 2.198706 +v -0.127006 -0.171157 2.206585 +v -0.111499 -0.161706 2.229772 +v -0.111498 -0.143067 2.220184 +v -0.069132 -0.154788 2.246746 +v -0.069132 -0.133717 2.235907 +v 0.128231 -0.189571 2.212260 +v 0.112723 -0.184328 2.236744 +v 0.070357 -0.180491 2.254668 +v -0.127006 -0.189571 2.212260 +v -0.111499 -0.184328 2.236744 +v -0.069132 -0.180491 2.254668 +v 0.128226 -0.206665 2.214371 +v 0.112721 -0.205130 2.239313 +v 0.070356 -0.204007 2.257572 +v -0.127002 -0.206665 2.214371 +v -0.111497 -0.205130 2.239313 +v -0.069132 -0.204007 2.257572 +v 0.128231 -0.225906 2.215671 +v 0.112723 -0.219918 2.239884 +v 0.070357 -0.215534 2.257609 +v -0.127006 -0.225906 2.215671 +v -0.111499 -0.219918 2.239884 +v -0.069132 -0.215534 2.257609 +v 0.128230 0.324851 1.764352 +v 0.112464 0.374810 1.752502 +v 0.112723 0.342672 1.781922 +v 0.070522 0.377964 1.775645 +v 0.070357 0.355718 1.794785 +v -0.127004 0.324851 1.764352 +v -0.111498 0.342672 1.781922 +v -0.111355 0.374806 1.752502 +v -0.069132 0.355718 1.794785 +v -0.069298 0.377964 1.775645 +v 0.128233 0.088301 1.837957 +v 0.128233 0.046066 1.864320 +v 0.112789 0.033687 1.842645 +v 0.112796 0.073942 1.817518 +v 0.070596 0.024625 1.826778 +v 0.070624 0.063431 1.802556 +v -0.127009 0.046066 1.864320 +v -0.127009 0.088301 1.837957 +v -0.111572 0.073942 1.817518 +v -0.111564 0.033687 1.842645 +v -0.069400 0.063431 1.802556 +v -0.069371 0.024625 1.826778 +v 0.128232 0.133269 1.802565 +v 0.112809 0.116775 1.783805 +v 0.070674 0.104701 1.770073 +v -0.127008 0.133269 1.802565 +v -0.111585 0.116775 1.783805 +v -0.069449 0.104701 1.770073 +v 0.128232 0.168817 1.767706 +v 0.112829 0.150657 1.750581 +v 0.070749 0.137363 1.738044 +v -0.127008 0.168817 1.767706 +v -0.111605 0.150657 1.750581 +v -0.069524 0.137363 1.738044 +v -0.011721 -0.185706 1.928702 +v -0.011721 -0.185706 1.917378 +v -0.127007 -0.182100 1.983060 +v -0.127007 -0.182100 1.971736 +v -0.127006 -0.225399 1.994269 +v -0.127006 0.219480 1.700124 +v -0.127007 0.195273 1.737359 +v 0.128231 0.219481 1.700124 +v 0.128231 0.195273 1.737359 +v 0.112857 0.175319 1.722292 +v 0.112896 0.196880 1.689128 +v 0.070855 0.160711 1.711263 +v 0.071001 0.180335 1.681079 +v -0.111671 0.196880 1.689128 +v -0.111633 0.175319 1.722292 +v -0.069776 0.180335 1.681079 +v -0.069630 0.160711 1.711263 +v -0.152938 0.234366 1.662416 +v -0.134845 0.211446 1.651997 +v -0.123164 0.210034 1.655489 +v -0.085415 0.194668 1.644370 +v -0.077270 0.193829 1.646486 +v 0.069756 0.401689 1.762713 +v -0.152938 0.397386 1.736517 +v -0.152938 0.489887 1.614763 +v -0.152938 0.507794 1.568848 +v 0.090168 0.448031 1.762079 +v 0.078455 0.429221 1.760241 +v -0.146999 0.394115 1.738147 +v -0.036751 0.470543 1.760212 +v 0.138655 0.531241 1.577372 +v 0.138655 0.512836 1.624566 +v 0.096289 0.548406 1.583611 +v 0.096289 0.529635 1.631743 +v -0.137431 0.512836 1.624566 +v -0.137431 0.531241 1.577372 +v -0.095064 0.529635 1.631743 +v -0.095064 0.548406 1.583611 +v 0.096289 0.504516 1.685715 +v -0.095064 0.504516 1.685715 +v -0.095064 0.501026 1.692113 +v 0.136070 0.211446 1.651997 +v 0.086640 0.194668 1.644370 +v 0.124389 0.210034 1.655489 +v 0.078495 0.193829 1.646486 +v -0.068961 0.401675 1.762716 +v 0.116031 0.206608 1.664217 +v 0.073255 0.191655 1.652049 +v 0.112932 0.202101 1.675743 +v 0.071194 0.188741 1.659515 +v -0.114806 0.206608 1.664217 +v -0.111708 0.202101 1.675743 +v -0.072030 0.191655 1.652049 +v -0.069969 0.188741 1.659515 +v 0.115955 0.391463 1.750106 +v 0.073251 0.417340 1.760133 +v -0.094811 0.462186 1.756545 +v -0.114731 0.391463 1.750106 +v -0.072026 0.417340 1.760133 +v 0.012945 -0.185706 1.928702 +v 0.012945 -0.185706 1.917378 +v 0.112786 -0.183903 1.955881 +v 0.128231 -0.182100 1.983060 +v 0.128231 -0.182100 1.971736 +v 0.112786 -0.183903 1.944557 +v 0.070588 -0.185223 1.935984 +v 0.012942 -0.224991 1.937822 +v -0.011718 -0.224991 1.937822 +v 0.128231 -0.225399 1.994269 +v 0.112785 -0.225195 1.966046 +v 0.070586 -0.225046 1.945385 +v 0.070588 -0.185223 1.924661 +v -0.069362 -0.225046 1.945385 +v -0.111560 -0.225195 1.966046 +v 0.123056 0.134956 1.982661 +v 0.123056 0.136958 1.973533 +v 0.123056 0.127921 1.971152 +v 0.123056 0.120445 1.971734 +v 0.123056 -0.181151 2.156088 +v 0.123056 -0.185078 2.162477 +v 0.123056 -0.187080 2.171605 +v 0.123056 -0.178043 2.173986 +v 0.123056 -0.170567 2.173404 +v 0.123056 0.131030 1.989050 +v 0.136146 0.127921 1.971152 +v 0.136146 0.120445 1.971734 +v 0.136146 0.136958 1.973533 +v 0.136146 0.134956 1.982661 +v 0.136146 0.131030 1.989050 +v 0.136145 -0.170567 2.173404 +v 0.136145 -0.178043 2.173986 +v 0.136145 -0.187080 2.171605 +v 0.136145 -0.185078 2.162477 +v 0.136145 -0.181151 2.156088 +v 0.123056 0.130753 1.939820 +v 0.123056 0.132780 1.930677 +v 0.123056 0.123718 1.928312 +v 0.123056 0.116215 1.928909 +v 0.123056 -0.185225 2.113168 +v 0.123056 -0.189178 2.119573 +v 0.123056 -0.191205 2.128717 +v 0.123056 -0.182143 2.131082 +v 0.123056 -0.174640 2.130484 +v 0.123056 0.126799 1.946226 +v 0.136146 0.123718 1.928312 +v 0.136146 0.116215 1.928909 +v 0.136146 0.132780 1.930677 +v 0.136146 0.130753 1.939820 +v 0.136146 0.126799 1.946226 +v 0.136145 -0.174640 2.130484 +v 0.136145 -0.182143 2.131082 +v 0.136145 -0.191205 2.128717 +v 0.136145 -0.189178 2.119573 +v 0.136145 -0.185225 2.113168 +v 0.123056 0.126959 1.849913 +v 0.123056 0.129007 1.840757 +v 0.123056 0.119925 1.838404 +v 0.123056 0.112400 1.839015 +v 0.123056 -0.188916 2.023198 +v 0.123056 -0.192890 2.029616 +v 0.123056 -0.194937 2.038772 +v 0.123056 -0.185855 2.041124 +v 0.123056 -0.178331 2.040514 +v 0.123056 0.122985 1.856331 +v 0.136145 0.119925 1.838404 +v 0.136145 0.112400 1.839015 +v 0.136145 0.129007 1.840757 +v 0.136145 0.126959 1.849913 +v 0.136145 0.122985 1.856331 +v 0.136145 -0.178331 2.040514 +v 0.136145 -0.185855 2.041124 +v 0.136145 -0.194937 2.038772 +v 0.136145 -0.192890 2.029616 +v 0.136145 -0.188916 2.023198 +v 0.123056 0.130504 1.893210 +v 0.123056 0.132552 1.884055 +v 0.123056 0.123470 1.881702 +v 0.123056 0.115945 1.882312 +v 0.123056 -0.185371 2.066495 +v 0.123056 -0.189345 2.072913 +v 0.123056 -0.191392 2.082069 +v 0.123056 -0.182310 2.084422 +v 0.123056 -0.174786 2.083811 +v 0.123056 0.126530 1.899628 +v 0.136145 0.123470 1.881702 +v 0.136145 0.115945 1.882312 +v 0.136145 0.132552 1.884055 +v 0.136145 0.130504 1.893210 +v 0.136145 0.126530 1.899628 +v 0.136145 -0.174786 2.083811 +v 0.136145 -0.182310 2.084422 +v 0.136145 -0.191392 2.082069 +v 0.136145 -0.189345 2.072913 +v 0.136145 -0.185371 2.066495 +v -0.134921 0.134956 1.982661 +v -0.134921 0.136958 1.973533 +v -0.134921 0.127921 1.971152 +v -0.134921 0.120445 1.971734 +v -0.134921 -0.181151 2.156088 +v -0.134921 -0.185078 2.162477 +v -0.134921 -0.187080 2.171605 +v -0.134921 -0.178043 2.173986 +v -0.134921 -0.170567 2.173404 +v -0.134921 0.131030 1.989050 +v -0.121832 0.127921 1.971152 +v -0.121832 0.120445 1.971734 +v -0.121832 0.136958 1.973533 +v -0.121832 0.134956 1.982661 +v -0.121832 0.131030 1.989050 +v -0.121832 -0.170567 2.173404 +v -0.121832 -0.178043 2.173986 +v -0.121832 -0.187080 2.171605 +v -0.121832 -0.185078 2.162477 +v -0.121832 -0.181151 2.156088 +v -0.134921 0.130753 1.939820 +v -0.134921 0.132780 1.930677 +v -0.134921 0.123718 1.928312 +v -0.134921 0.116215 1.928909 +v -0.134921 -0.185225 2.113168 +v -0.134921 -0.189178 2.119573 +v -0.134921 -0.191205 2.128717 +v -0.134921 -0.182143 2.131082 +v -0.134921 -0.174640 2.130484 +v -0.134921 0.126800 1.946226 +v -0.121832 0.123718 1.928312 +v -0.121832 0.116215 1.928909 +v -0.121832 0.132780 1.930677 +v -0.121832 0.130753 1.939820 +v -0.121832 0.126800 1.946226 +v -0.121832 -0.174640 2.130484 +v -0.121832 -0.182143 2.131082 +v -0.121832 -0.191205 2.128717 +v -0.121832 -0.189178 2.119573 +v -0.121832 -0.185225 2.113168 +v -0.134921 0.126959 1.849913 +v -0.134921 0.129007 1.840757 +v -0.134921 0.119925 1.838404 +v -0.134921 0.112400 1.839015 +v -0.134921 -0.188916 2.023198 +v -0.134921 -0.192890 2.029616 +v -0.134921 -0.194937 2.038772 +v -0.134921 -0.185855 2.041124 +v -0.134921 -0.178331 2.040514 +v -0.134921 0.122985 1.856331 +v -0.121832 0.119925 1.838404 +v -0.121832 0.112400 1.839015 +v -0.121832 0.129007 1.840757 +v -0.121832 0.126959 1.849913 +v -0.121832 0.122985 1.856331 +v -0.121832 -0.178331 2.040514 +v -0.121832 -0.185855 2.041124 +v -0.121832 -0.194937 2.038772 +v -0.121832 -0.192890 2.029616 +v -0.121832 -0.188916 2.023198 +v -0.134921 0.130504 1.893210 +v -0.134921 0.132552 1.884055 +v -0.134921 0.123470 1.881702 +v -0.134921 0.115945 1.882312 +v -0.134921 -0.185371 2.066495 +v -0.134921 -0.189345 2.072913 +v -0.134921 -0.191392 2.082069 +v -0.134921 -0.182310 2.084422 +v -0.134921 -0.174786 2.083811 +v -0.134921 0.126530 1.899628 +v -0.121832 0.123470 1.881702 +v -0.121832 0.115945 1.882312 +v -0.121832 0.132552 1.884055 +v -0.121832 0.130504 1.893210 +v -0.121832 0.126530 1.899628 +v -0.121832 -0.174786 2.083811 +v -0.121832 -0.182310 2.084422 +v -0.121832 -0.191392 2.082069 +v -0.121832 -0.189345 2.072913 +v -0.121832 -0.185371 2.066495 +v 0.000612 0.577354 -1.870045 +v 0.000612 0.577354 -2.097808 +v -0.089839 0.539888 -2.097808 +v -0.089839 0.539888 -1.870045 +v -0.127305 0.449436 -2.097808 +v -0.127305 0.449436 -1.870045 +v -0.089839 0.358985 -2.097808 +v -0.089839 0.358985 -1.870045 +v 0.000612 0.321519 -2.097808 +v 0.000612 0.321519 -1.870045 +v 0.091064 0.358985 -2.097808 +v 0.091064 0.358985 -1.870045 +v 0.128530 0.449436 -2.097808 +v 0.128530 0.449436 -1.870045 +v 0.074804 0.523628 -2.097808 +v 0.091064 0.539888 -2.097808 +v 0.000612 0.344513 -2.097808 +v 0.074804 0.375244 -2.097808 +v 0.105535 0.449436 -2.097808 +v 0.000612 0.554359 -2.097808 +v -0.073580 0.523628 -2.097808 +v -0.104311 0.449436 -2.097808 +v -0.073580 0.375244 -2.097808 +v 0.091064 0.539888 -1.870045 +v 0.000612 0.344513 -1.870045 +v 0.074804 0.523628 -1.870045 +v 0.105535 0.449436 -1.870045 +v 0.074804 0.375244 -1.870045 +v -0.073580 0.375244 -1.870045 +v -0.104311 0.449436 -1.870045 +v -0.073580 0.523628 -1.870045 +v 0.000612 0.554359 -1.870045 +v -0.008405 0.611074 -1.745492 +v 0.008405 0.611074 -1.745492 +v 0.000000 0.626074 -1.745492 +v -0.025216 0.523926 -1.548361 +v -0.025216 0.546074 -1.548361 +v -0.025216 0.596074 -1.745492 +v -0.025216 0.596074 -1.851639 +v -0.025216 0.523926 -1.851639 +v -0.025216 0.523926 -1.745492 +v -0.008405 0.611074 -1.851639 +v 0.000000 0.626074 -1.851639 +v 0.008405 0.596074 -1.745492 +v 0.008405 0.596074 -1.851639 +v 0.008405 0.611074 -1.851639 +v 0.025216 0.596074 -1.745492 +v 0.025216 0.596074 -1.851639 +v -0.008405 0.596074 -1.745492 +v 0.025216 0.523926 -1.851639 +v 0.025216 0.546074 -1.548361 +v 0.025216 0.523926 -1.548361 +v 0.025216 0.523926 -1.745492 +v -0.008405 0.596074 -1.851639 +v 0.000612 0.567105 0.093059 +v 0.000612 0.567105 -1.906941 +v -0.082592 0.532640 -1.906941 +v -0.082592 0.532640 0.093059 +v -0.117056 0.449436 -1.906941 +v -0.117056 0.449436 0.093059 +v -0.082592 0.366232 -1.906941 +v -0.082592 0.366232 0.093059 +v 0.000612 0.331768 -1.906941 +v 0.000612 0.331768 0.093059 +v 0.083817 0.366232 -1.906941 +v 0.083816 0.366232 0.093059 +v 0.118281 0.449436 -1.906941 +v 0.118281 0.449436 0.093059 +v 0.083817 0.532640 -1.906941 +v 0.083816 0.532640 0.093059 +v 0.000612 0.577354 -1.646873 +v 0.000612 0.577354 -1.749518 +v -0.089839 0.539888 -1.749518 +v -0.089839 0.539888 -1.646873 +v -0.127305 0.449436 -1.749518 +v -0.127305 0.449436 -1.646873 +v -0.089839 0.358985 -1.749518 +v -0.089839 0.358985 -1.646873 +v 0.000612 0.321519 -1.749518 +v 0.000612 0.321519 -1.646873 +v 0.091064 0.358985 -1.749518 +v 0.091064 0.358985 -1.646873 +v 0.128530 0.449436 -1.749518 +v 0.128530 0.449436 -1.646873 +v 0.091064 0.539888 -1.749518 +v 0.091064 0.539888 -1.646873 +v 0.000612 0.315957 -1.669013 +v 0.000612 0.315957 -1.750267 +v -0.088663 0.278978 -1.750267 +v -0.088663 0.278978 -1.669013 +v -0.125642 0.189702 -1.750267 +v -0.125642 0.189702 -1.669013 +v -0.088663 0.100427 -1.750267 +v -0.088663 0.100427 -1.669013 +v 0.000612 0.063448 -1.750267 +v 0.000612 0.063448 -1.669013 +v 0.089888 0.100427 -1.750267 +v 0.089888 0.100427 -1.669013 +v 0.126867 0.189702 -1.750267 +v 0.126867 0.189702 -1.669013 +v 0.089888 0.278978 -1.750267 +v 0.089888 0.278978 -1.669013 +v 0.000612 0.307371 0.200670 +v 0.000612 0.307371 -1.799330 +v -0.082592 0.272907 -1.799330 +v -0.082592 0.272906 0.200670 +v -0.117056 0.189702 -1.799330 +v -0.117056 0.189702 0.200670 +v -0.082592 0.106498 -1.799330 +v -0.082592 0.106498 0.200670 +v 0.000612 0.072034 -1.799330 +v 0.000612 0.072034 0.200670 +v 0.083817 0.106498 -1.799330 +v 0.083816 0.106498 0.200670 +v 0.118281 0.189702 -1.799330 +v 0.118281 0.189702 0.200670 +v 0.083817 0.272906 -1.799330 +v 0.083816 0.272906 0.200670 +v 0.000612 0.315957 -1.793664 +v 0.000612 0.315957 -1.874918 +v -0.088663 0.278978 -1.874919 +v -0.088663 0.278978 -1.793664 +v -0.125642 0.189702 -1.874919 +v -0.125642 0.189702 -1.793664 +v -0.088663 0.100427 -1.874919 +v -0.088663 0.100427 -1.793664 +v 0.000612 0.063448 -1.874919 +v 0.000612 0.063448 -1.793664 +v 0.089888 0.100427 -1.874918 +v 0.089888 0.100427 -1.793664 +v 0.126867 0.189702 -1.874918 +v 0.126867 0.189702 -1.793664 +v 0.089888 0.278978 -1.874918 +v 0.089888 0.278978 -1.793664 +v -0.011919 0.284738 -1.702443 +v 0.013144 0.284738 -1.702443 +v 0.013144 0.395269 -1.702443 +v -0.011919 0.395269 -1.702443 +v 0.013144 0.395269 -1.749322 +v -0.011919 0.395269 -1.749322 +v 0.013144 0.284738 -1.749322 +v -0.011919 0.284738 -1.749322 +vn -0.0000 -0.7012 0.7129 vn -0.0000 1.0000 -0.0000 -vn 0.0000 0.7071 -0.7071 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 -0.7071 -0.7071 -vn 0.0000 -1.0000 0.0000 +vn -0.0000 -0.0000 -1.0000 +vn -0.0000 -1.0000 -0.0000 +vn -1.0000 -0.0000 -0.0000 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn -0.0000 -0.7013 0.7129 +vn 0.9988 0.0499 -0.0000 +vn -0.1873 0.9822 0.0155 +vn 0.1821 0.9796 0.0845 +vn 0.1873 0.9822 0.0155 +vn -0.9988 0.0499 -0.0000 +vn -0.0000 0.2534 0.9674 +vn -0.1821 0.9796 0.0845 +vn 0.0314 0.9534 0.3001 +vn -0.0000 0.7077 0.7065 +vn -0.0314 0.9534 0.3001 +vn -0.1872 0.9823 -0.0000 +vn 0.9986 0.0523 -0.0020 +vn 0.9774 0.2113 -0.0002 +vn 0.9736 0.2284 -0.0051 +vn 0.8843 0.4669 0.0039 +vn 0.8767 0.4808 0.0146 +vn 0.6055 0.7958 0.0108 +vn 0.6093 0.7911 0.0535 +vn -0.9986 0.0523 -0.0020 +vn -0.9774 0.2113 -0.0002 +vn -0.9988 0.0494 -0.0008 +vn -0.9736 0.2284 -0.0051 +vn -0.8843 0.4669 0.0039 +vn -0.8767 0.4808 0.0146 +vn -0.6055 0.7958 0.0108 +vn -0.6093 0.7911 0.0535 +vn 0.9987 0.0502 -0.0044 +vn 0.9511 0.3078 -0.0251 +vn 0.4449 0.8687 0.2179 +vn 0.2201 0.9452 0.2412 +vn -0.9987 0.0502 -0.0044 +vn -0.4449 0.8687 0.2179 +vn -0.2201 0.9452 0.2412 +vn -0.6061 0.7954 -0.0000 +vn -0.8848 0.4660 -0.0000 +vn -0.9776 0.2104 -0.0000 +vn 0.9776 0.2104 -0.0000 +vn 0.9745 0.2244 -0.0000 +vn 0.9950 0.0996 -0.0000 +vn 0.9988 0.0494 -0.0008 +vn 0.9988 0.0498 -0.0000 +vn 0.9479 0.3184 -0.0000 +vn 0.8848 0.4660 -0.0000 +vn 0.6061 0.7954 -0.0000 +vn 0.1872 0.9823 -0.0000 +vn -0.0000 -0.0020 -1.0000 +vn -0.0000 -1.0000 -0.0083 +vn -0.0000 -1.0000 -0.0013 +vn -0.0000 0.0032 1.0000 +vn 0.4025 0.8068 0.4324 +vn -0.0000 0.4951 0.8688 +vn 0.4662 0.4241 0.7764 +vn 0.4025 0.8068 -0.4324 +vn -0.0000 0.4951 -0.8688 +vn -0.0000 0.8975 -0.4411 +vn 0.3039 0.9485 -0.0890 +vn -0.0000 0.9963 0.0863 +vn 0.3040 0.9485 0.0890 +vn -0.0000 0.9963 -0.0863 +vn 0.9995 0.0036 0.0325 +vn 0.9995 -0.0036 0.0325 +vn 0.9995 0.0036 -0.0325 +vn -0.0000 0.8975 0.4411 +vn -0.0000 -0.4476 -0.8942 +vn -0.0000 -0.0963 -0.9954 +vn -0.0000 -0.1027 -0.9947 +vn -0.0000 0.1027 -0.9947 +vn 0.4662 -0.4241 -0.7764 +vn -0.0000 -0.8863 -0.4632 +vn -0.0000 0.1027 0.9947 +vn 0.4025 -0.8068 -0.4324 +vn -0.0000 -0.9961 -0.0879 +vn 0.4662 -0.4241 0.7764 +vn -0.0000 -0.8863 0.4632 +vn 0.4025 -0.8068 0.4324 +vn 0.3040 -0.9485 -0.0890 +vn -0.0000 -0.9961 0.0879 +vn 0.4662 0.4241 -0.7764 +vn -0.0000 -0.0963 0.9954 +vn 0.0001 -0.2044 0.9789 +vn -0.0000 -0.4476 0.8942 +vn 0.8348 0.5487 0.0451 +vn 0.8348 0.5487 -0.0451 +vn 0.9922 0.1234 -0.0159 +vn 0.8733 0.4595 -0.1616 +vn 0.9392 0.1950 0.2826 +vn 0.9601 0.0300 0.2780 +vn 0.8874 0.0451 0.4587 +vn 0.8733 0.4595 0.1616 +vn 0.9922 0.1234 0.0159 +vn 0.8874 -0.0451 0.4587 +vn 0.9922 -0.1234 0.0159 +vn 0.9392 -0.1950 0.2826 +vn 0.8733 -0.4595 0.1616 +vn 0.9922 -0.1234 -0.0159 +vn 0.8733 -0.4595 -0.1616 +vn 0.9392 -0.1950 -0.2826 +vn 0.9601 0.0300 -0.2780 +vn 0.8874 0.0451 -0.4587 +vn 0.9392 0.1950 -0.2826 +vn 0.9995 -0.0036 -0.0325 +vn 0.8874 -0.0451 -0.4587 +vn 0.8348 -0.5487 0.0451 +vn 0.3040 -0.9485 0.0890 +vn 0.8348 -0.5487 -0.0451 +vn 0.9601 -0.0300 -0.2780 +vn 0.9601 -0.0300 0.2780 +vn -0.0000 0.8838 0.4678 +vn -0.9511 0.3078 -0.0251 +vn 0.9479 0.3186 -0.0000 +vn -0.0000 -0.0038 -1.0000 +vn 0.0001 -0.2044 -0.9789 +vn -0.0000 -0.1027 0.9947 +vn -0.0000 -0.4631 0.8863 +vn -0.0000 -0.4578 -0.8891 +vn -0.0000 -0.5207 -0.8538 +vn -0.0000 -0.3216 0.9469 +vn -0.0000 -0.5710 0.8210 +vn -0.0000 -0.7525 0.6586 +vn -0.0000 -0.3188 0.9478 +vn -0.0000 -0.8078 -0.5894 +vn -0.0000 -0.9269 -0.3752 +vn -0.0000 -0.9447 -0.3280 +vn -0.0000 -0.9943 -0.1069 +vn -0.0000 -0.8280 -0.5607 +vn -0.0000 -0.7230 0.6909 +vn -0.0000 -0.9770 0.2133 +vn -0.0000 0.1135 0.9935 +vn -0.0000 -0.1135 0.9935 +vn -0.0000 0.1135 -0.9935 +vn -0.0000 -0.1135 -0.9935 +vn -0.0000 0.9989 -0.0464 +vn -0.0000 0.9989 0.0464 +vn -0.0000 -0.9989 -0.0464 +vn -0.0000 -0.9989 0.0464 +vn -0.0000 0.9649 -0.2628 +vn -0.0000 0.8010 -0.5987 +vn -0.0000 0.4589 -0.8885 +vn -0.0000 -0.9649 -0.2628 +vn -0.0000 -0.8010 -0.5987 +vn -0.0000 -0.4589 -0.8885 +vn -0.0000 -0.4589 0.8885 +vn -0.0000 -0.8010 0.5987 +vn -0.0000 -0.9649 0.2628 +vn -0.0000 0.9649 0.2628 +vn -0.0000 0.8010 0.5987 +vn -0.0000 0.4589 0.8885 vn -0.0000 -0.7071 0.7071 -vn -0.0000 0.0000 1.0000 -vn 1.0000 0.0000 0.0000 vn -0.0000 0.7071 0.7071 -vn -1.0000 -0.0000 0.0000 -s 1 -f 786/785/441 788/786/442 785/787/441 -f 787/788/442 790/789/443 788/786/442 -f 789/790/443 792/791/444 790/789/443 -f 791/792/444 794/793/445 792/791/444 -f 793/794/445 796/795/446 794/793/445 -f 795/796/446 798/797/447 796/795/446 -f 797/798/448 793/794/448 789/790/448 -f 797/798/447 800/799/449 798/797/447 -f 800/799/449 786/785/441 785/787/441 -f 796/795/450 798/797/450 800/799/450 -f 786/785/441 787/788/442 788/786/442 -f 787/788/442 789/790/443 790/789/443 -f 789/790/443 791/792/444 792/791/444 -f 791/792/444 793/794/445 794/793/445 -f 793/794/445 795/796/446 796/795/446 -f 795/796/446 797/798/447 798/797/447 -f 789/790/448 787/788/448 786/785/448 -f 786/785/448 799/800/448 789/790/448 -f 799/800/448 797/798/448 789/790/448 -f 797/798/448 795/796/448 793/794/448 -f 793/794/448 791/792/448 789/790/448 -f 797/798/447 799/800/449 800/799/449 -f 800/799/449 799/800/449 786/785/441 -f 800/799/450 785/787/450 788/786/450 -f 788/786/450 790/789/450 800/799/450 -f 790/789/450 792/791/450 800/799/450 -f 792/791/450 794/793/450 800/799/450 -f 794/793/450 796/795/450 800/799/450 -o Cube_Cube.001 -v -1.316254 0.234647 0.139055 -v -1.316254 0.234647 0.148771 -v -1.316254 0.312137 0.148771 -v -1.316254 0.312137 0.139055 -v -0.330263 0.312137 0.148771 -v -0.330263 0.312137 0.139055 -v -0.330263 0.234647 0.148771 -v -0.330263 0.234647 0.139055 -v -1.361672 0.339450 -0.152849 -v -1.361672 0.236034 -0.152849 -v -1.361672 0.236034 -0.137831 -v -1.361672 0.339450 -0.137831 -v -0.429618 0.339450 -0.152849 -v -0.429618 0.339450 -0.137831 -v -0.429618 0.236034 -0.152849 -v -0.307960 0.339450 -0.152849 -v -0.307960 0.236034 -0.152849 -v -0.429618 0.236034 -0.137831 -v -0.307960 0.236034 -0.137831 -v -0.307960 0.339450 -0.137831 -v -0.429618 0.470230 -0.152849 -v -0.307960 0.470230 -0.152849 -v -0.429618 0.470230 -0.137831 -v -0.307960 0.470230 -0.137831 -v -0.204392 0.184312 0.139055 -v -0.204784 0.062676 0.139055 -v -0.029043 0.064132 0.139055 -v -0.027466 0.474619 0.139055 -v -0.202227 0.474619 0.139055 -v -0.202227 0.408506 0.139055 -v -0.206744 0.386874 0.139055 -v -0.223773 0.371302 0.139055 -v -0.247428 0.367172 0.139055 -v -0.760419 0.408506 0.139055 -v -0.760419 0.474619 0.139055 -v -1.160748 0.474619 0.139055 -v -1.212867 0.476751 0.139055 -v -1.554436 0.523317 0.139055 -v -1.584164 0.470462 0.139055 -v -1.584164 0.182561 0.139055 -v -0.715218 0.367172 0.139055 -v -0.738873 0.371302 0.139055 -v -0.755902 0.386874 0.139055 -v -1.193615 0.592632 0.079700 -v -1.193615 0.592632 -0.078476 -v -1.343072 0.587917 -0.078476 -v -1.343072 0.587917 0.079700 -v -1.584164 0.182561 -0.137831 -v -1.584164 0.470462 -0.137831 -v -1.554436 0.523317 -0.137831 -v -1.212867 0.476751 -0.137831 -v -1.160748 0.474619 -0.137831 -v -0.027466 0.474619 -0.137831 -v -0.029043 0.064132 -0.137831 -v -0.204784 0.062676 -0.137831 -v -0.204392 0.184312 -0.137831 -v -1.469775 0.568125 -0.078476 -v -1.469775 0.568125 0.079700 -v -1.494572 0.555001 0.121671 -v -1.476220 0.564714 0.102414 -v -1.476220 0.564714 -0.101190 -v -1.494572 0.555001 -0.120446 -v -1.522038 0.540464 -0.133313 -v -1.522038 0.540464 0.134537 -v -0.027466 0.592632 0.079700 -v -0.027466 0.592632 -0.078476 -v -1.173326 0.519780 0.134537 -v -1.262694 0.519292 0.134537 -v -1.183989 0.558066 0.121671 -v -1.304936 0.555357 0.121671 -v -1.191113 0.583648 0.102414 -v -1.333161 0.579455 0.102414 -v -1.262694 0.519292 -0.133313 -v -1.173326 0.519780 -0.133313 -v -1.304936 0.555357 -0.120446 -v -1.183989 0.558066 -0.120446 -v -1.333161 0.579455 -0.101190 -v -1.191113 0.583648 -0.101190 -v -0.027466 0.583648 -0.101190 -v -0.027466 0.558066 -0.120446 -v -0.027466 0.519780 -0.133313 -v -0.202227 0.511418 0.135374 -v -0.027466 0.519780 0.134537 -v -0.203973 0.519780 0.134537 -v -0.760419 0.511418 0.135374 -v -0.758673 0.519780 0.134537 -v -0.206744 0.533050 0.130078 -v -0.027466 0.558066 0.121671 -v -0.755902 0.533050 0.130078 -v -0.738873 0.548622 0.124844 -v -0.715218 0.552752 0.123456 -v -0.247428 0.552752 0.123456 -v -0.223773 0.548622 0.124844 -v -0.027466 0.583648 0.102414 -v -0.206744 0.386874 0.006857 -v -0.223773 0.371302 0.006857 -v -0.738873 0.371302 0.006857 -v -0.755902 0.386874 0.006857 -v -0.247428 0.367172 0.006857 -v -0.715218 0.367172 0.006857 -v -0.649440 0.524577 -0.012342 -v -0.652482 0.510011 -0.012342 -v -0.652482 0.409913 -0.012342 -v -0.649440 0.395347 -0.012342 -v -0.313206 0.395347 -0.012342 -v -0.310165 0.409913 -0.012342 -v -0.310165 0.510011 -0.012342 -v -0.313206 0.524577 -0.012342 -v -0.755902 0.533050 0.006857 -v -0.760419 0.511418 0.006857 -v -0.760419 0.408506 0.006857 -v -0.738873 0.548622 0.006857 -v -0.202227 0.408506 0.006857 -v -0.715218 0.552752 0.006857 -v -0.223773 0.548622 0.006857 -v -0.206744 0.533050 0.006857 -v -0.247428 0.552752 0.006857 -v -0.202227 0.511418 0.006857 -v -0.253872 0.376935 -0.007431 -v -0.708774 0.376935 -0.007431 -v -0.717005 0.378372 -0.007431 -v -0.233974 0.389041 -0.007431 -v -0.229835 0.408866 -0.007431 -v -0.245641 0.378372 -0.007431 -v -0.229835 0.511059 -0.007431 -v -0.233974 0.530883 -0.007431 -v -0.245641 0.541552 -0.007431 -v -0.717005 0.541552 -0.007431 -v -0.728672 0.530883 -0.007431 -v -0.728672 0.389041 -0.007431 -v -0.732811 0.408866 -0.007431 -v -0.732811 0.511059 -0.007431 -v -0.708774 0.542989 -0.007431 -v -0.253872 0.542989 -0.007431 -vt 0.105115 0.891994 -vt 0.105115 0.913274 +vn -0.0000 0.9239 0.3827 +vn -0.0000 0.7071 -0.7071 +vn -0.0000 0.3827 -0.9239 +vn -0.0000 -0.7071 -0.7071 +vn -0.0000 0.0004 1.0000 +vn -0.7071 0.7071 -0.0000 +vn 0.7071 0.7071 -0.0000 +vn -0.0000 -0.4305 -0.9026 +vn -0.0000 0.0167 -0.9999 +vn -0.0574 0.6402 0.7661 +vn 0.0572 0.5446 0.8368 +vn 0.0574 0.6402 0.7661 +vn -0.0574 0.6995 0.7123 +vn 0.0574 0.6995 0.7123 +vn 0.0574 0.0537 0.9969 +vn -0.0577 -0.0141 0.9982 +vn 0.0577 -0.0141 0.9982 +vn -0.0579 -0.5739 -0.8168 +vn 0.0579 -0.6593 -0.7497 +vn 0.0579 -0.5739 -0.8168 +vn -0.0934 -0.1209 0.9883 +vn -0.0163 0.1563 0.9876 +vn -0.1627 0.0858 0.9829 +vn 0.0579 0.7412 0.6688 +vn -0.0573 0.7753 0.6289 +vn 0.0573 0.7753 0.6289 +vn -0.0574 0.4666 0.8826 +vn 0.0575 0.3768 0.9245 +vn 0.0574 0.4666 0.8826 +vn -0.0575 0.2090 0.9762 +vn 0.0575 0.2090 0.9762 +vn -0.0647 0.5671 0.8211 +vn 0.0650 0.5676 0.8208 +vn -0.0575 0.3768 0.9245 +vn 0.0217 0.9998 -0.0000 +vn 0.0487 0.9988 -0.0000 +vn 0.0905 0.9959 -0.0000 +vn 0.2983 0.6040 0.7390 +vn 0.0701 0.8620 0.5021 +vn 0.0815 0.6577 0.7488 +vn -0.0578 -0.4952 -0.8669 +vn 0.0578 -0.4952 -0.8669 +vn 0.0531 0.3315 0.9420 +vn 0.0574 0.9181 0.3922 +vn -0.0574 0.8912 0.4499 +vn 0.0574 0.8912 0.4499 +vn -0.0693 0.8655 0.4961 +vn 0.3900 -0.2315 0.8913 +vn 0.2335 -0.1990 0.9518 +vn 0.4280 -0.2964 0.8538 +vn -0.0000 -0.9953 -0.0964 +vn 0.0442 -0.9989 0.0174 +vn -0.0000 -0.9640 -0.2660 +vn -0.0579 -0.7265 -0.6848 +vn 0.0579 -0.7265 -0.6848 +vn -0.0582 -0.7969 -0.6013 +vn 0.0587 -0.8884 -0.4553 +vn 0.0582 -0.7969 -0.6013 +vn -0.0587 -0.8884 -0.4553 +vn -0.0490 -0.9343 -0.3532 +vn -0.0215 -0.9990 -0.0391 +vn -0.0518 -0.9952 0.0831 +vn -0.0000 -0.9410 -0.3384 +vn 0.9601 0.2571 0.1098 +vn 0.9575 0.2485 0.1465 +vn -0.0574 0.9383 0.3411 +vn 0.0568 0.9460 0.3192 +vn -0.0568 0.9460 0.3192 +vn 0.0574 0.9383 0.3411 +vn -0.0574 0.9181 0.3922 +vn 0.6494 0.3940 0.6504 +vn 0.9093 0.0917 0.4058 +vn 0.0227 0.0897 0.9957 +vn 0.0042 0.0527 0.9986 +vn -0.0389 -0.9472 -0.3182 +vn -0.0443 -0.9989 0.0170 +vn -0.0479 -0.9400 -0.3379 +vn 0.5035 -0.5061 0.7002 +vn 0.6880 -0.1719 0.7051 +vn 0.8338 -0.4425 0.3300 +vn -0.9537 0.0402 0.2979 +vn -0.8338 -0.4425 0.3300 +vn -0.9515 -0.3076 0.0061 +vn -0.0522 0.3304 0.9424 +vn -0.9575 0.2485 0.1465 +vn -0.6508 0.3924 0.6500 +vn -0.6471 0.6627 0.3770 +vn 0.0129 -0.0540 0.9985 +vn 0.0341 0.1762 0.9838 +vn -0.2325 -0.2039 0.9510 +vn -0.3995 -0.0443 0.9157 +vn -0.0200 0.0932 0.9954 +vn -0.0139 -0.0740 0.9972 +vn 0.0389 -0.9473 -0.3181 +vn 0.0479 -0.9400 -0.3379 +vn 0.0490 -0.9343 -0.3532 +vn -0.6888 -0.1718 0.7043 +vn -0.5035 -0.5061 0.7002 +vn 0.9536 0.0407 0.2983 +vn 0.9515 -0.3076 0.0061 +vn 0.9841 0.1250 0.1261 +vn 0.7159 0.5412 0.4411 +vn 0.7228 0.4835 0.4936 +vn 0.2562 0.7506 0.6091 +vn 0.2573 0.6771 0.6895 +vn -0.9841 0.1250 0.1261 +vn -0.7159 0.5412 0.4411 +vn -0.9826 0.1450 0.1162 +vn -0.7228 0.4835 0.4936 +vn -0.2562 0.7506 0.6091 +vn -0.2573 0.6771 0.6895 +vn 0.9845 0.1128 0.1339 +vn 0.7244 0.4415 0.5294 +vn 0.2573 0.6197 0.7415 +vn -0.9845 0.1128 0.1339 +vn -0.7244 0.4415 0.5294 +vn 0.9851 0.1014 0.1393 +vn 0.7168 0.3857 0.5809 +vn 0.2560 0.5273 0.8102 +vn -0.9851 0.1014 0.1393 +vn -0.2560 0.5273 0.8102 +vn -0.2573 0.6197 0.7415 +vn -0.0572 0.5446 0.8368 +vn 0.9578 0.1085 0.2661 +vn 0.6516 0.3542 0.6708 +vn 0.6454 0.2883 0.7073 +vn 0.2578 0.4513 0.8543 +vn 0.2569 0.3648 0.8950 +vn -0.9578 0.1085 0.2661 +vn -0.6516 0.3542 0.6708 +vn -0.9611 0.1301 0.2436 +vn -0.6454 0.2883 0.7073 +vn -0.2578 0.4513 0.8543 +vn -0.2569 0.3648 0.8950 +vn 0.6454 0.1599 0.7469 +vn 0.9579 0.0600 0.2808 +vn 0.2569 0.2023 0.9450 +vn -0.6454 0.1599 0.7469 +vn 0.6477 0.0601 0.7595 +vn 0.9600 0.0256 0.2788 +vn 0.2564 0.0603 0.9647 +vn -0.9579 0.0600 0.2808 +vn -0.6477 0.0601 0.7595 +vn -0.2564 0.0603 0.9647 +vn -0.2569 0.2023 0.9450 +vn -0.0574 0.0537 0.9969 +vn 0.6675 0.0320 0.7440 +vn 0.9628 0.0185 0.2698 +vn 0.2612 0.0064 0.9653 +vn -0.9600 0.0256 0.2788 +vn -0.6675 0.0320 0.7440 +vn -0.2612 0.0063 0.9653 +vn 0.9611 0.1301 0.2435 +vn -0.7168 0.3857 0.5809 +vn 0.6854 0.5529 0.4738 +vn 0.9566 0.2413 0.1631 +vn 0.2872 0.5540 0.7814 +vn 0.2613 0.7162 0.6471 +vn -0.6854 0.5525 0.4743 +vn -0.6136 0.2304 0.7553 +vn -0.2865 0.5522 0.7829 +vn -0.2613 0.7162 0.6471 +vn 0.9826 0.1450 0.1162 +vn -0.9566 0.2413 0.1631 +vn -0.0579 0.7412 0.6688 +vn 0.9637 -0.1325 -0.2320 +vn 0.6594 -0.4323 -0.6151 +vn 0.9644 -0.1520 -0.2163 +vn 0.6576 -0.3737 -0.6542 +vn 0.2606 -0.5551 -0.7899 +vn 0.2600 -0.4790 -0.8384 +vn -0.9636 -0.1325 -0.2320 +vn -0.6594 -0.4323 -0.6151 +vn -0.6576 -0.3737 -0.6542 +vn -0.2607 -0.5551 -0.7899 +vn -0.2600 -0.4790 -0.8384 +vn 0.6597 -0.4963 -0.5643 +vn 0.9645 -0.1745 -0.1985 +vn 0.2609 -0.6376 -0.7248 +vn -0.9644 -0.1520 -0.2163 +vn -0.6597 -0.4963 -0.5643 +vn -0.2609 -0.6376 -0.7248 +vn -0.0579 -0.6593 -0.7497 +vn 0.9638 -0.1940 -0.1828 +vn 0.6584 -0.5479 -0.5160 +vn 0.2606 -0.7028 -0.6619 +vn -0.9638 -0.1940 -0.1828 +vn -0.9645 -0.1745 -0.1985 +vn -0.6584 -0.5479 -0.5160 +vn 0.0044 1.0000 -0.0000 +vn 0.0175 0.9998 -0.0000 +vn -0.6906 -0.3339 -0.6416 +vn -0.9948 -0.0472 -0.0906 +vn -0.2686 -0.4447 -0.8545 +vn -0.0586 -0.4608 -0.8855 +vn 0.9654 -0.2081 -0.1570 +vn 0.6680 -0.6623 -0.3393 +vn 0.9672 -0.2254 -0.1170 +vn 0.6625 -0.5981 -0.4509 +vn 0.2646 -0.8585 -0.4392 +vn 0.2621 -0.7707 -0.5808 +vn -0.9654 -0.2081 -0.1570 +vn -0.6680 -0.6623 -0.3393 +vn -0.6625 -0.5981 -0.4509 +vn -0.2646 -0.8585 -0.4392 +vn -0.2621 -0.7707 -0.5808 +vn -0.3495 -0.7657 0.5400 +vn -0.4005 -0.8182 0.4124 +vn -0.1705 -0.9565 0.2368 +vn -0.1920 -0.9808 -0.0355 +vn -0.2606 -0.7028 -0.6619 +vn 0.2303 0.2823 0.9313 +vn 0.6115 0.2306 0.7569 +vn 0.1607 0.1057 0.9813 +vn 0.0945 -0.1055 0.9899 +vn -0.3912 -0.2301 0.8911 +vn -0.0768 0.6528 0.7537 +vn 0.6503 0.7140 0.2595 +vn 0.6496 0.6992 0.2987 +vn 0.2575 0.9081 0.3301 +vn 0.2574 0.8886 0.3796 +vn -0.9601 0.2571 0.1098 +vn -0.6503 0.7140 0.2595 +vn -0.9605 0.2615 0.0951 +vn -0.6496 0.6992 0.2987 +vn -0.2575 0.9081 0.3301 +vn -0.2574 0.8886 0.3796 +vn 0.6470 0.6627 0.3772 +vn 0.2574 0.8626 0.4355 +vn 0.2735 0.8303 0.4856 +vn -0.2735 0.8307 0.4849 +vn -0.2574 0.8626 0.4355 +vn -0.2504 0.9173 0.3096 +vn -0.6210 0.7427 0.2506 +vn -0.9457 0.3079 0.1039 +vn 0.9457 0.3079 0.1039 +vn 0.9605 0.2615 0.0951 +vn 0.6210 0.7427 0.2506 +vn 0.2504 0.9173 0.3096 +vn 0.0818 -0.9767 0.1982 +vn 0.3495 -0.7657 0.5400 +vn 0.0518 -0.9952 0.0831 +vn 0.1705 -0.9565 0.2368 +vn 0.0215 -0.9990 -0.0391 +vn -0.0818 -0.9767 0.1982 +vn -0.3919 -0.5303 0.7518 +vn 0.3919 -0.5303 0.7518 +vn 0.4005 -0.8182 0.4124 +vn 0.1920 -0.9808 -0.0355 +vn -0.2352 0.2799 0.9308 +vn 0.5611 -0.8278 0.0031 +vn 0.2204 -0.9438 -0.2463 +vn 0.6321 -0.7469 -0.2063 +vn 0.2445 -0.9148 -0.3215 +vn -0.5611 -0.8278 0.0031 +vn -0.6322 -0.7469 -0.2063 +vn -0.2204 -0.9438 -0.2463 +vn -0.2445 -0.9148 -0.3215 +vn 0.3605 -0.0690 0.9302 +vn 0.1355 0.0240 0.9905 +vn 0.2505 0.0136 0.9680 +vn -0.4280 -0.2964 0.8538 +vn -0.2593 0.0104 0.9657 +vn -0.3018 0.5994 0.7414 +vn -0.3617 -0.0678 0.9298 +vn -0.1384 0.0274 0.9900 +vn -0.9672 -0.2254 -0.1170 +vn -0.0044 1.0000 -0.0000 +vn 0.0040 1.0000 -0.0000 +vn -0.0905 0.9959 -0.0000 +vn -0.1160 0.9933 -0.0000 +vn -0.0487 0.9988 -0.0000 +vn 0.0586 -0.4608 -0.8855 +vn 0.2686 -0.4447 -0.8545 +vn 0.6906 -0.3339 -0.6416 +vn 0.0567 -0.4609 -0.8856 +vn -0.0588 -0.4608 -0.8855 +vn -0.0567 -0.4609 -0.8856 +vn 0.9373 -0.1609 -0.3091 +vn 0.6970 -0.3310 -0.6361 +vn 0.6101 -0.3658 -0.7028 +vn 0.2705 -0.4444 -0.8540 +vn 0.2484 -0.4472 -0.8593 +vn 0.0588 -0.4608 -0.8855 +vn -0.2484 -0.4472 -0.8593 +vn -0.2705 -0.4444 -0.8540 +vn -0.6101 -0.3658 -0.7028 +vn -0.6970 -0.3311 -0.6361 +vn -0.9373 -0.1609 -0.3091 +vn -0.9807 -0.0903 -0.1736 +vn 0.1159 0.9933 -0.0000 +vn -0.0175 0.9998 -0.0000 +vn -0.0040 1.0000 -0.0000 +vn -0.0006 -1.0000 -0.0035 +vn -0.0000 -1.0000 -0.0072 +vn -0.0019 -1.0000 -0.0034 +vn -0.0217 0.9998 -0.0000 +vn -0.9101 0.0922 0.4040 +vn 0.3980 -0.0389 0.9166 +vn -0.0000 -0.9708 0.2401 +vn -0.0000 0.0898 -0.9960 +vn -0.0000 -0.3081 -0.9514 +vn -0.0000 0.0899 -0.9960 +vn -0.0000 0.7063 0.7079 +vn -0.0000 0.9274 0.3741 +vn -0.0000 -0.7062 -0.7080 +vn -0.0000 -0.9274 -0.3742 +vn -0.0000 0.3081 0.9514 +vn -0.0000 -0.9768 -0.2142 +vn -0.0000 -0.2548 0.9670 +vn -0.0000 -0.0899 0.9960 +vn -0.0000 0.2548 -0.9670 +vn -0.0000 0.9768 0.2142 +vn -0.0000 -0.0898 0.9960 +vn -0.0000 0.0878 -0.9961 +vn -0.0000 -0.3089 -0.9511 +vn -0.0000 0.7056 0.7086 +vn -0.0000 0.9266 0.3761 +vn -0.0000 -0.7056 -0.7086 +vn -0.0000 -0.9266 -0.3761 +vn -0.0000 0.3090 0.9511 +vn -0.0000 -0.9763 -0.2164 +vn -0.0000 -0.2525 0.9676 +vn -0.0000 -0.0878 0.9961 +vn -0.0000 0.2525 -0.9676 +vn -0.0000 0.9763 0.2164 +vn -0.0000 0.0861 -0.9963 +vn -0.0000 -0.3097 -0.9508 +vn -0.0000 0.7051 0.7091 +vn -0.0000 0.9260 0.3776 +vn -0.0000 -0.3096 -0.9509 +vn -0.0000 -0.7051 -0.7091 +vn -0.0000 -0.9260 -0.3776 +vn -0.0000 0.3096 0.9509 +vn -0.0000 -0.9759 -0.2182 +vn -0.0000 -0.2507 0.9681 +vn -0.0000 -0.0862 0.9963 +vn -0.0000 0.2508 -0.9680 +vn -0.0000 0.9759 0.2183 +vn -0.0000 -0.0861 0.9963 +vn -0.0000 0.0862 -0.9963 +vn -0.0000 0.3097 0.9508 +vn -0.0000 -0.2508 0.9680 +vn -0.0000 0.9266 0.3760 +vn -0.0000 -0.2512 0.9679 +vn -0.9628 0.0184 0.2697 +vn 0.9948 -0.0471 -0.0906 +vn 0.9807 -0.0903 -0.1736 +vn -0.0006 -1.0000 -0.0030 +vn 0.0006 -1.0000 -0.0030 +vn 0.0006 -1.0000 -0.0035 +vn 0.0019 -1.0000 -0.0034 +vn -0.7071 -0.7071 -0.0000 +vn 0.7071 -0.7071 -0.0000 +vn -0.8724 0.4888 -0.0000 +vn 0.8724 0.4888 -0.0000 +vn -0.0000 0.9693 0.2459 +vn -0.0000 0.7764 -0.6303 +vn -0.5490 0.5490 0.6303 +vn -0.0000 0.7764 0.6303 +vn -0.5490 0.5490 -0.6303 +vn -0.7764 -0.0000 0.6303 +vn -0.7764 -0.0000 -0.6303 +vn -0.5490 -0.5490 0.6303 +vn -0.5490 -0.5490 -0.6303 +vn -0.0000 -0.7764 0.6303 +vn -0.0000 -0.7764 -0.6303 +vn 0.5490 -0.5490 0.6303 +vn 0.5490 -0.5490 -0.6303 +vn 0.7764 -0.0000 0.6303 +vn 0.7764 -0.0000 -0.6303 +vn 0.5490 0.5490 0.6303 +vn 0.5490 0.5490 -0.6303 +vt 0.371558 0.219091 +vt 0.371159 0.219497 +vt 0.434034 0.219497 +vt 0.434034 0.185834 +vt 0.416747 0.185834 +vt 0.404268 0.185834 +vt 0.416747 0.219091 vt 0.105115 0.891994 vt 0.105115 0.913274 vt 0.375880 0.913274 -vt 0.375880 0.913274 -vt 0.375880 0.891994 vt 0.375880 0.891994 vt 0.092643 0.892375 vt 0.092643 0.920774 -vt 0.092643 0.920774 -vt 0.348596 0.920774 vt 0.348596 0.920774 vt 0.382005 0.892375 vt 0.348596 0.892375 -vt 0.348596 0.892375 -vt 0.092643 0.892375 vt 0.382005 0.920774 -vt 0.382005 0.892375 -vt 0.382005 0.956688 -vt 0.382005 0.920774 -vt 0.348596 0.956688 vt 0.382005 0.956688 vt 0.348596 0.956688 vt 0.410446 0.878172 @@ -3799,17 +3031,10 @@ vt 0.270167 0.928387 vt 0.263671 0.929521 vt 0.138793 0.990301 vt 0.097751 0.989006 -vt 0.138793 0.990301 -vt 0.459032 0.957893 -vt 0.031544 0.877691 vt 0.031544 0.877691 vt 0.031544 0.956752 -vt 0.097751 0.989006 vt 0.062956 0.983571 vt 0.039707 0.971267 -vt 0.039707 0.971267 -vt 0.062956 0.983571 -vt 0.031544 0.956752 vt 0.459032 0.990301 vt 0.133506 0.958479 vt 0.144365 0.970295 @@ -3818,64 +3043,33 @@ vt 0.141437 0.980809 vt 0.108223 0.980065 vt 0.139480 0.987834 vt 0.100472 0.986683 -vt 0.133506 0.958479 -vt 0.144365 0.970295 vt 0.147819 0.957893 -vt 0.119823 0.970161 -vt 0.141437 0.980809 -vt 0.108223 0.980065 -vt 0.139480 0.987834 -vt 0.100472 0.986683 vt 0.048604 0.975975 vt 0.056147 0.979967 vt 0.061187 0.982635 -vt 0.056147 0.979967 -vt 0.061187 0.982635 vt 0.459032 0.987834 vt 0.459032 0.980809 vt 0.459032 0.970295 -vt 0.459032 0.970295 vt 0.410561 0.970295 vt 0.411041 0.967999 -vt 0.147819 0.957893 vt 0.257754 0.957893 vt 0.257754 0.967999 vt 0.270167 0.979350 vt 0.398628 0.979350 -vt 0.459032 0.980809 -vt 0.459032 0.987834 -vt 0.459032 0.990301 vt 0.458599 0.845169 vt 0.410339 0.844769 -vt 0.458599 0.845169 -vt 0.410446 0.878172 -vt 0.410339 0.844769 vt 0.405124 0.929521 -vt 0.409800 0.933798 -vt 0.263671 0.929521 vt 0.258995 0.933798 -vt 0.270167 0.928387 -vt 0.398628 0.928387 vt 0.398628 0.928387 vt 0.381400 0.940125 vt 0.381400 0.967613 vt 0.287395 0.940125 -vt 0.405124 0.929521 vt 0.258995 0.973940 -vt 0.257754 0.967999 vt 0.257754 0.939738 -vt 0.257754 0.939738 -vt 0.258995 0.973940 vt 0.263671 0.978216 vt 0.411041 0.939738 -vt 0.411041 0.939738 -vt 0.263671 0.978216 vt 0.409800 0.973940 vt 0.405124 0.978216 -vt 0.405124 0.978216 -vt 0.270167 0.979350 -vt 0.258995 0.933798 -vt 0.409800 0.973940 vt 0.411041 0.957893 vt 0.396858 0.931068 vt 0.271936 0.931068 @@ -3885,7 +3079,6 @@ vt 0.402323 0.934393 vt 0.403459 0.939837 vt 0.399119 0.931463 vt 0.380565 0.936125 -vt 0.411041 0.967999 vt 0.380565 0.971613 vt 0.402323 0.973344 vt 0.399119 0.976274 @@ -3896,866 +3089,92 @@ vt 0.265336 0.939837 vt 0.266472 0.934393 vt 0.287395 0.967613 vt 0.396858 0.976669 -vt 0.398628 0.979350 vt 0.271937 0.976669 vt 0.265336 0.967900 vt 0.403459 0.967900 -vt 0.048604 0.975975 vt 0.258234 0.970295 -vn -1.0000 0.0000 0.0000 -vn 0.0000 1.0000 0.0000 -vn 1.0000 0.0000 0.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 0.0000 1.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 0.0499 0.9988 -vn -0.0155 0.9822 -0.1873 -vn -0.0845 0.9796 0.1821 -vn -0.0155 0.9822 0.1873 -vn -0.0000 0.0499 -0.9988 -vn -0.9674 0.2534 0.0000 -vn -0.0845 0.9796 -0.1821 -vn -0.3001 0.9534 0.0314 -vn -0.7065 0.7077 -0.0000 -vn -0.3001 0.9534 -0.0314 -vn 0.0000 0.9823 -0.1872 -vn 0.0020 0.0523 0.9986 -vn 0.0002 0.2113 0.9774 -vn 0.0051 0.2284 0.9736 -vn -0.0039 0.4669 0.8843 -vn -0.0146 0.4808 0.8767 -vn -0.0108 0.7958 0.6055 -vn -0.0535 0.7911 0.6093 -vn 0.0020 0.0523 -0.9986 -vn 0.0002 0.2113 -0.9774 -vn 0.0008 0.0494 -0.9988 -vn 0.0051 0.2284 -0.9736 -vn -0.0039 0.4669 -0.8843 -vn -0.0146 0.4808 -0.8767 -vn -0.0108 0.7958 -0.6055 -vn -0.0535 0.7911 -0.6093 -vn 0.0044 0.0502 0.9987 -vn 0.0251 0.3078 0.9511 -vn -0.2179 0.8687 0.4449 -vn -0.2412 0.9452 0.2201 -vn 0.0044 0.0502 -0.9987 -vn -0.2179 0.8687 -0.4449 -vn -0.2412 0.9452 -0.2201 -vn 0.0000 0.7954 -0.6061 -vn 0.0000 0.4660 -0.8848 -vn 0.0000 0.2104 -0.9776 -vn 0.0000 0.2104 0.9776 -vn 0.0000 0.2244 0.9745 -vn 0.0000 0.0996 0.9950 -vn 0.0008 0.0494 0.9988 -vn 0.0000 0.0498 0.9988 -vn 0.0000 0.3184 0.9479 -vn -0.0000 0.4660 0.8848 -vn 0.0000 0.7954 0.6061 -vn 0.0000 0.9823 0.1872 -vn 1.0000 -0.0020 0.0000 -vn 0.0083 -1.0000 -0.0000 -vn 0.0013 -1.0000 0.0000 -vn -1.0000 0.0032 0.0000 -vn -0.4324 0.8068 0.4025 -vn -0.8688 0.4951 0.0000 -vn -0.7764 0.4241 0.4662 -vn 0.4324 0.8068 0.4025 -vn 0.8688 0.4951 0.0000 -vn 0.4411 0.8975 0.0000 -vn 0.0890 0.9485 0.3039 -vn -0.0863 0.9963 0.0000 -vn -0.0890 0.9485 0.3040 -vn 0.0863 0.9963 0.0000 -vn -0.0325 0.0036 0.9995 -vn -0.0325 -0.0036 0.9995 -vn 0.0325 0.0036 0.9995 -vn -0.4411 0.8975 0.0000 -vn 0.8942 -0.4476 0.0000 -vn 0.9954 -0.0963 0.0000 -vn 0.9947 -0.1027 0.0000 -vn 0.9947 0.1027 0.0000 -vn 0.7764 -0.4241 0.4662 -vn 0.4632 -0.8863 0.0000 -vn -0.9947 0.1027 0.0000 -vn 0.4324 -0.8068 0.4025 -vn 0.0879 -0.9961 0.0000 -vn -0.7764 -0.4241 0.4662 -vn -0.4632 -0.8863 0.0000 -vn -0.4324 -0.8068 0.4025 -vn 0.0890 -0.9485 0.3040 -vn -0.0879 -0.9961 0.0000 -vn 0.7764 0.4241 0.4662 -vn -0.9954 -0.0963 0.0000 -vn -0.9789 -0.2044 0.0001 -vn -0.8942 -0.4476 0.0000 -vn -0.0451 0.5487 0.8348 -vn 0.0451 0.5487 0.8348 -vn 0.0159 0.1234 0.9922 -vn 0.1616 0.4595 0.8733 -vn -0.2826 0.1950 0.9392 -vn -0.2780 0.0300 0.9601 -vn -0.4587 0.0451 0.8874 -vn -0.1616 0.4595 0.8733 -vn -0.0159 0.1234 0.9922 -vn -0.4587 -0.0451 0.8874 -vn -0.0159 -0.1234 0.9922 -vn -0.2826 -0.1950 0.9392 -vn -0.1616 -0.4595 0.8733 -vn 0.0159 -0.1234 0.9922 -vn 0.1616 -0.4595 0.8733 -vn 0.2826 -0.1950 0.9392 -vn 0.2780 0.0300 0.9601 -vn 0.4587 0.0451 0.8874 -vn 0.2826 0.1950 0.9392 -vn 0.0325 -0.0036 0.9995 -vn 0.4587 -0.0451 0.8874 -vn -0.0451 -0.5487 0.8348 -vn -0.0890 -0.9485 0.3040 -vn 0.0451 -0.5487 0.8348 -vn 0.2780 -0.0300 0.9601 -vn -0.2780 -0.0300 0.9601 -vn -0.4678 0.8838 0.0000 -vn 0.0251 0.3078 -0.9511 -vn -0.0000 0.3186 0.9479 -vn 1.0000 -0.0038 0.0000 -vn 0.9789 -0.2044 0.0001 -vn -0.9947 -0.1027 0.0000 -s off -f 802/801/451 804/802/451 801/803/451 -f 803/804/452 806/805/452 804/802/452 -f 805/806/453 808/807/453 806/805/453 -f 807/808/454 801/803/454 808/807/454 -f 803/804/455 807/808/455 805/806/455 -f 810/809/451 812/810/451 809/811/451 -f 809/811/452 814/812/452 813/813/452 -f 813/813/456 817/814/456 815/815/456 -f 810/809/454 818/816/454 811/817/454 -f 813/813/456 810/809/456 809/811/456 -f 817/814/453 820/818/453 819/819/453 -f 813/813/456 822/820/456 816/821/456 -f 815/815/454 819/819/454 818/816/454 -f 821/822/452 824/823/452 822/820/452 -f 816/821/453 824/823/453 820/818/453 -f 813/813/451 823/824/451 821/822/451 -f 802/801/451 803/804/451 804/802/451 -f 803/804/452 805/806/452 806/805/452 -f 805/806/453 807/808/453 808/807/453 -f 807/808/454 802/801/454 801/803/454 -f 803/804/455 802/801/455 807/808/455 -f 810/809/451 811/817/451 812/810/451 -f 809/811/452 812/810/452 814/812/452 -f 813/813/456 816/821/456 817/814/456 -f 810/809/454 815/815/454 818/816/454 -f 813/813/456 815/815/456 810/809/456 -f 817/814/453 816/821/453 820/818/453 -f 813/813/456 821/822/456 822/820/456 -f 815/815/454 817/814/454 819/819/454 -f 821/822/452 823/824/452 824/823/452 -f 816/821/453 822/820/453 824/823/453 -f 813/813/451 814/812/451 823/824/451 -s 1 -f 825/825/455 828/826/457 831/827/455 -f 804/802/455 841/828/455 842/829/455 -f 845/830/458 847/831/459 844/832/460 -f 824/823/456 823/824/456 853/833/461 -f 848/834/456 811/817/456 818/816/456 -f 840/835/451 849/836/462 848/834/451 -f 846/837/463 858/838/464 847/831/459 -f 850/839/465 838/840/465 857/841/466 -f 850/839/465 839/842/462 838/840/465 -f 844/832/460 866/843/467 845/830/458 -f 837/844/468 867/845/469 868/846/470 -f 868/846/470 869/847/471 870/848/472 -f 870/848/472 871/849/473 872/850/474 -f 872/850/474 844/832/460 847/831/459 -f 851/851/475 874/852/476 852/853/477 -f 873/854/478 876/855/479 874/852/476 -f 875/856/480 878/857/481 876/855/479 -f 877/858/482 845/830/458 878/857/481 -f 838/840/483 868/846/470 864/859/484 -f 868/846/470 859/860/485 864/859/484 -f 870/848/472 860/861/486 859/860/485 -f 860/861/486 847/831/459 858/838/464 -f 850/839/487 873/854/478 851/851/475 -f 873/854/478 862/862/488 875/856/480 -f 875/856/480 861/863/489 877/858/482 -f 861/863/489 846/837/463 877/858/482 -f 866/843/467 878/857/481 845/830/458 -f 879/864/490 876/855/479 878/857/481 -f 880/865/491 874/852/476 876/855/479 -f 881/866/492 852/853/477 874/852/476 -f 883/867/493 884/868/494 882/869/495 -f 836/870/496 835/871/497 885/872/495 -f 891/873/498 892/874/498 888/875/499 -f 869/847/471 894/876/500 871/849/473 -f 871/849/473 865/877/501 844/832/460 -f 853/833/502 865/877/453 828/826/502 -f 827/878/503 855/879/503 854/880/503 -f 825/825/504 848/834/504 856/881/504 -f 826/882/505 856/881/505 855/879/505 -f 896/883/506 831/827/507 895/884/508 -f 897/885/509 843/886/510 842/829/511 -f 900/887/512 833/888/513 899/889/514 -f 897/885/509 841/828/515 900/887/512 -f 906/890/516 907/891/517 903/892/518 -f 899/889/514 832/893/519 896/883/506 -f 889/894/520 885/872/521 910/895/522 -f 835/871/453 834/896/523 911/897/523 -f 909/898/524 890/899/525 889/894/520 -f 895/884/508 830/900/526 913/901/526 -f 912/902/527 891/873/528 890/899/525 -f 916/903/529 893/904/530 915/905/531 -f 914/906/532 892/874/533 891/873/528 -f 898/907/534 834/896/523 843/886/510 -f 882/869/535 884/868/536 887/908/537 -f 913/901/526 830/900/526 829/909/451 -f 900/887/512 919/910/538 920/911/539 -f 919/910/538 904/912/540 920/911/539 -f 904/912/540 921/913/541 920/911/539 -f 921/913/541 900/887/512 920/911/539 -f 906/890/516 922/914/542 923/915/543 -f 923/915/543 895/884/508 913/901/544 -f 899/889/514 924/916/545 919/910/538 -f 919/910/538 924/916/545 905/917/546 -f 918/918/547 923/915/543 913/901/544 -f 923/915/543 907/891/517 906/890/516 -f 908/919/548 926/920/549 927/921/550 -f 926/920/549 915/905/531 927/921/550 -f 901/922/551 928/923/552 929/924/553 -f 929/924/553 912/902/527 909/898/524 -f 898/907/534 931/925/554 911/897/555 -f 930/926/556 903/892/518 931/925/554 -f 902/927/557 931/925/554 903/892/518 -f 931/925/554 910/895/558 911/897/555 -f 914/906/532 934/928/559 917/929/560 -f 933/930/561 908/919/548 934/928/559 -f 902/927/557 929/924/553 932/931/562 -f 932/931/562 909/898/524 910/895/558 -f 914/906/532 928/923/552 933/930/561 -f 933/930/561 928/923/552 901/922/551 -f 908/919/548 927/921/550 934/928/559 -f 927/921/550 917/929/560 934/928/559 -f 916/903/529 925/932/563 918/918/547 -f 926/920/549 907/891/517 925/932/563 -f 904/912/540 930/926/556 921/913/541 -f 930/926/556 897/885/509 921/913/541 -f 905/917/546 924/916/545 922/914/542 -f 922/914/542 896/883/506 895/884/508 -f 892/874/533 915/905/531 893/904/530 -f 833/888/455 806/805/455 808/807/455 -f 825/825/455 826/882/455 827/878/455 -f 833/888/455 808/807/455 825/825/455 -f 832/893/455 833/888/455 825/825/455 -f 825/825/455 827/878/455 828/826/457 -f 828/826/457 829/909/497 830/900/455 -f 831/827/455 832/893/455 825/825/455 -f 828/826/457 830/900/455 831/827/455 -f 834/896/455 835/871/497 836/870/496 -f 837/844/468 838/840/483 804/802/455 -f 838/840/483 839/842/455 804/802/455 -f 834/896/455 836/870/496 843/886/455 -f 836/870/496 837/844/468 804/802/455 -f 843/886/455 836/870/496 804/802/455 -f 839/842/455 840/835/455 804/802/455 -f 840/835/455 825/825/455 801/803/455 -f 825/825/455 808/807/455 801/803/455 -f 842/829/455 843/886/455 804/802/455 -f 806/805/455 833/888/455 841/828/455 -f 804/802/455 806/805/455 841/828/455 -f 840/835/455 801/803/455 804/802/455 -f 845/830/458 846/837/463 847/831/459 -f 812/810/456 811/817/456 848/834/456 -f 848/834/456 849/836/456 812/810/456 -f 849/836/456 850/839/487 812/810/456 -f 850/839/487 851/851/475 812/810/456 -f 823/824/456 814/812/456 852/853/477 -f 814/812/456 812/810/456 852/853/477 -f 812/810/456 851/851/475 852/853/477 -f 853/833/461 854/880/456 856/881/456 -f 854/880/456 855/879/456 856/881/456 -f 856/881/456 819/819/456 820/818/456 -f 823/824/456 852/853/477 853/833/461 -f 856/881/456 820/818/456 853/833/461 -f 820/818/456 824/823/456 853/833/461 -f 818/816/456 819/819/456 856/881/456 -f 856/881/456 848/834/456 818/816/456 -f 840/835/451 839/842/462 849/836/462 -f 846/837/463 857/841/466 858/838/464 -f 864/859/564 859/860/485 858/838/464 -f 859/860/485 860/861/486 858/838/464 -f 858/838/464 857/841/466 838/840/465 -f 864/859/564 858/838/464 838/840/465 -f 857/841/466 861/863/489 862/862/488 -f 862/862/488 863/933/564 857/841/466 -f 863/933/564 850/839/465 857/841/466 -f 850/839/465 849/836/462 839/842/462 -f 844/832/460 865/877/501 866/843/467 -f 837/844/468 836/870/496 867/845/469 -f 868/846/470 867/845/469 869/847/471 -f 870/848/472 869/847/471 871/849/473 -f 872/850/474 871/849/473 844/832/460 -f 851/851/475 873/854/478 874/852/476 -f 873/854/478 875/856/480 876/855/479 -f 875/856/480 877/858/482 878/857/481 -f 877/858/482 846/837/463 845/830/458 -f 838/840/483 837/844/468 868/846/470 -f 868/846/470 870/848/472 859/860/485 -f 870/848/472 872/850/474 860/861/486 -f 860/861/486 872/850/474 847/831/459 -f 850/839/487 863/933/565 873/854/478 -f 873/854/478 863/933/565 862/862/488 -f 875/856/480 862/862/488 861/863/489 -f 861/863/489 857/841/466 846/837/463 -f 866/843/467 879/864/490 878/857/481 -f 879/864/490 880/865/491 876/855/479 -f 880/865/491 881/866/492 874/852/476 -f 881/866/492 853/833/461 852/853/477 -f 882/869/495 829/909/497 828/826/457 -f 828/826/457 883/867/493 882/869/495 -f 885/872/495 886/934/494 867/845/469 -f 867/845/469 836/870/496 885/872/495 -f 887/908/566 884/868/494 888/875/499 -f 884/868/494 883/867/493 888/875/499 -f 869/847/471 867/845/469 889/894/566 -f 867/845/469 886/934/494 889/894/566 -f 893/904/566 887/908/566 888/875/499 -f 869/847/471 889/894/566 890/899/566 -f 869/847/471 890/899/566 891/873/498 -f 892/874/498 893/904/566 888/875/499 -f 869/847/471 891/873/498 888/875/499 -f 869/847/471 888/875/499 894/876/500 -f 871/849/473 894/876/500 865/877/501 -f 894/876/453 888/875/453 865/877/453 -f 888/875/453 883/867/453 865/877/453 -f 883/867/453 828/826/502 865/877/453 -f 828/826/502 827/878/567 853/833/502 -f 827/878/567 854/880/567 853/833/502 -f 853/833/502 881/866/453 866/843/453 -f 881/866/453 880/865/453 866/843/453 -f 880/865/453 879/864/453 866/843/453 -f 866/843/453 865/877/453 853/833/502 -f 827/878/503 826/882/503 855/879/503 -f 825/825/504 840/835/504 848/834/504 -f 826/882/505 825/825/505 856/881/505 -f 896/883/506 832/893/519 831/827/507 -f 897/885/509 898/907/534 843/886/510 -f 900/887/512 841/828/515 833/888/513 -f 897/885/509 842/829/511 841/828/515 -f 908/919/548 901/922/551 902/927/557 -f 902/927/557 903/892/518 907/891/517 -f 903/892/518 904/912/540 906/890/516 -f 902/927/557 907/891/517 908/919/548 -f 904/912/540 905/917/546 906/890/516 -f 899/889/514 833/888/513 832/893/519 -f 910/895/522 909/898/524 889/894/520 -f 889/894/520 886/934/568 885/872/521 -f 911/897/523 910/895/522 835/871/453 -f 910/895/522 885/872/521 835/871/453 -f 909/898/524 912/902/527 890/899/525 -f 895/884/508 831/827/507 830/900/526 -f 912/902/527 914/906/532 891/873/528 -f 916/903/529 887/908/537 893/904/530 -f 914/906/532 917/929/560 892/874/533 -f 898/907/534 911/897/523 834/896/523 -f 887/908/537 916/903/529 918/918/569 -f 918/918/569 882/869/535 887/908/537 -f 882/869/535 918/918/569 829/909/451 -f 918/918/569 913/901/526 829/909/451 -f 900/887/512 899/889/514 919/910/538 -f 919/910/538 905/917/546 904/912/540 -f 921/913/541 897/885/509 900/887/512 -f 906/890/516 905/917/546 922/914/542 -f 923/915/543 922/914/542 895/884/508 -f 899/889/514 896/883/506 924/916/545 -f 918/918/547 925/932/563 923/915/543 -f 923/915/543 925/932/563 907/891/517 -f 926/920/549 916/903/529 915/905/531 -f 929/924/553 928/923/552 912/902/527 -f 898/907/534 930/926/556 931/925/554 -f 930/926/556 904/912/540 903/892/518 -f 902/927/557 932/931/562 931/925/554 -f 931/925/554 932/931/562 910/895/558 -f 914/906/532 933/930/561 934/928/559 -f 933/930/561 901/922/551 908/919/548 -f 902/927/557 901/922/551 929/924/553 -f 932/931/562 929/924/553 909/898/524 -f 914/906/532 912/902/527 928/923/552 -f 927/921/550 915/905/531 917/929/560 -f 916/903/529 926/920/549 925/932/563 -f 926/920/549 908/919/548 907/891/517 -f 930/926/556 898/907/534 897/885/509 -f 922/914/542 924/916/545 896/883/506 -f 892/874/533 917/929/560 915/905/531 -o Plane -v -1.538719 0.517962 -0.152938 -v -1.539156 0.544138 -0.137431 -v -1.539476 0.563301 -0.095064 -v -1.539593 0.570315 -0.037191 -v -1.539593 0.570315 0.038415 -v -1.539476 0.563301 0.096289 -v -1.539156 0.544138 0.138655 -v -1.538719 0.517962 0.154162 -v -1.533876 0.227849 0.154162 -v -1.533876 0.227849 -0.152938 -v -2.094905 0.109525 0.012483 -v -2.094905 0.109525 -0.011259 -v -2.150966 0.036699 -0.011259 -v -2.150966 0.036699 0.012483 -v -2.023875 0.187910 0.012483 -v -2.023875 0.187910 -0.011259 -v -2.264097 -0.213929 0.012483 -v -2.264255 -0.203596 0.012483 -v -2.264255 -0.203596 -0.011259 -v -2.264097 -0.213929 -0.011259 -v -1.797079 0.059583 0.013017 -v -1.797079 0.059583 -0.011793 -v -1.765046 0.100282 -0.011892 -v -1.765046 0.100282 0.013116 -v -1.762607 0.447951 -0.088740 -v -1.760241 0.429221 -0.077230 -v -1.762832 0.430912 -0.014565 -v -1.766291 0.457644 -0.023152 -v -1.956909 0.250853 0.012483 -v -1.799493 0.360493 0.012483 -v -1.799493 0.360493 -0.011259 -v -1.956909 0.250853 -0.011259 -v -2.241662 -0.130294 0.012483 -v -2.241662 -0.130294 -0.011259 -v -2.252959 -0.152255 -0.011259 -v -2.252959 -0.152255 0.012483 -v -2.261228 -0.179086 0.012483 -v -2.261228 -0.179086 -0.011259 -v -1.785496 0.376760 0.012483 -v -1.785496 0.376760 -0.011259 -v -1.955881 -0.183903 -0.111561 -v -1.935984 -0.185223 -0.069363 -v -1.924661 -0.185223 -0.069363 -v -1.944557 -0.183903 -0.111561 -v -1.755752 0.462296 0.096289 -v -1.692113 0.501026 0.096289 -v -1.734405 0.485570 0.038415 -v -1.758670 0.470835 0.038415 -v -1.820971 0.021307 0.012961 -v -1.820971 0.021307 -0.011736 -v -1.766037 0.413383 0.011434 -v -1.766043 0.413356 -0.011069 -v -1.688728 0.510485 0.038415 -v -1.634369 0.535784 0.038415 -v -1.634369 0.535784 -0.037191 -v -1.688728 0.510485 -0.037191 -v -1.734405 0.485570 -0.037191 -v -1.735899 0.380985 0.141134 -v -1.738122 0.393971 0.148146 -v -1.752230 0.425226 0.132688 -v -1.750383 0.410947 0.124334 -v -1.607360 0.194290 -0.018635 -v -1.607360 0.194290 0.019860 -v -1.641579 0.188526 0.019117 -v -1.641579 0.188526 0.000612 -v -1.641579 0.188526 -0.017893 -v -1.733455 0.132498 -0.012042 -v -1.733455 0.132498 0.013266 -v -1.707226 0.155364 0.013479 -v -1.707226 0.155364 -0.012254 -v -1.678132 0.174279 -0.012546 -v -1.678132 0.174279 0.013771 -v -1.644519 0.187380 -0.012941 -v -1.644519 0.187380 0.014166 -v -1.575692 0.195123 0.154162 -v -1.607360 0.194290 0.154162 -v -1.607360 0.194290 0.109395 -v -1.607360 0.194290 0.064627 -v -1.607360 0.194290 -0.063403 -v -1.607360 0.194290 -0.108170 -v -1.607360 0.194290 -0.152938 -v -1.575692 0.195123 -0.152938 -v -1.733274 0.410681 0.154162 -v -1.736517 0.397386 0.154162 -v -1.662416 0.234366 0.154162 -v -1.568848 0.507794 0.154162 -v -1.614762 0.489887 0.154162 -v -1.666237 0.465930 0.154162 -v -1.585895 0.554689 -0.037191 -v -1.585895 0.554689 0.038415 -v -1.677482 0.488208 0.138655 -v -1.746489 0.440323 0.138655 -v -1.762824 0.428644 0.014930 -v -1.762496 0.429258 0.000612 -v -1.641979 0.188370 -0.014572 -v -1.643078 0.187942 -0.013588 -v -1.666578 0.232641 0.141182 -v -1.735431 0.357945 0.131601 -v -1.676320 0.228796 0.131678 -v -1.688855 0.223882 -0.126973 -v -1.738139 0.339948 -0.126890 -v -1.735431 0.357945 -0.130376 -v -1.676320 0.228796 -0.130453 -v -1.666237 0.465930 -0.152938 -v -1.733283 0.410674 -0.152938 -v -1.746708 0.440289 -0.137362 -v -1.677482 0.488208 -0.137431 -v -1.762832 0.430912 0.015790 -v -1.765303 0.457946 0.023719 -v -1.752361 0.425246 -0.131438 -v -1.750383 0.410947 -0.123109 -v -1.762824 0.428644 -0.013705 -v -1.641979 0.188370 0.015797 -v -1.643078 0.187942 0.014812 -v -1.735899 0.380985 -0.139910 -v -1.666578 0.232641 -0.139957 -v -1.738139 0.339948 0.128114 -v -1.688855 0.223882 0.128198 -v -1.969466 0.146669 0.128229 -v -1.905013 0.207250 0.128229 -v -1.940354 0.232183 0.112723 -v -2.006064 0.170421 0.112723 -v -1.952473 0.245850 0.070357 -v -2.019103 0.183224 0.070357 -v -1.905013 0.207250 -0.127005 -v -1.969466 0.146669 -0.127005 -v -2.006064 0.170421 -0.111498 -v -1.940354 0.232183 -0.111498 -v -2.019103 0.183224 -0.069132 -v -1.952473 0.245850 -0.069132 -v -2.037810 0.071248 0.128229 -v -2.075751 0.093518 0.112722 -v -2.089773 0.105235 0.070357 -v -2.037810 0.071248 -0.127004 -v -2.075751 0.093518 -0.111498 -v -2.089773 0.105235 -0.069132 -v -2.091766 0.001156 0.128228 -v -2.130760 0.022059 0.112722 -v -2.145552 0.032777 0.070357 -v -2.091767 0.001156 -0.127004 -v -2.130760 0.022059 -0.111498 -v -2.145552 0.032776 -0.069132 -v -2.206585 -0.171157 0.128231 -v -2.198706 -0.155841 0.128228 -v -2.220184 -0.143067 0.112722 -v -2.229772 -0.161706 0.112723 -v -2.235907 -0.133717 0.070357 -v -2.246746 -0.154788 0.070357 -v -2.198706 -0.155841 -0.127004 -v -2.206585 -0.171157 -0.127006 -v -2.229772 -0.161706 -0.111499 -v -2.220184 -0.143067 -0.111498 -v -2.246746 -0.154788 -0.069132 -v -2.235907 -0.133717 -0.069132 -v -2.212260 -0.189571 0.128231 -v -2.236744 -0.184328 0.112723 -v -2.254668 -0.180491 0.070357 -v -2.212260 -0.189571 -0.127006 -v -2.236744 -0.184328 -0.111499 -v -2.254668 -0.180491 -0.069132 -v -2.214371 -0.206665 0.128226 -v -2.239313 -0.205130 0.112721 -v -2.257572 -0.204007 0.070356 -v -2.214371 -0.206665 -0.127002 -v -2.239313 -0.205130 -0.111497 -v -2.257572 -0.204007 -0.069132 -v -2.215671 -0.225906 0.128231 -v -2.239884 -0.219918 0.112723 -v -2.257609 -0.215534 0.070357 -v -2.215671 -0.225906 -0.127006 -v -2.239884 -0.219918 -0.111499 -v -2.257609 -0.215534 -0.069132 -v -1.764352 0.324851 0.128230 -v -1.752502 0.374810 0.112464 -v -1.781922 0.342672 0.112723 -v -1.775645 0.377964 0.070522 -v -1.794785 0.355718 0.070357 -v -1.764352 0.324851 -0.127004 -v -1.781922 0.342672 -0.111498 -v -1.752502 0.374806 -0.111355 -v -1.794785 0.355718 -0.069132 -v -1.775645 0.377964 -0.069298 -v -1.837957 0.088301 0.128233 -v -1.864320 0.046066 0.128233 -v -1.842645 0.033687 0.112789 -v -1.817518 0.073942 0.112796 -v -1.826778 0.024625 0.070596 -v -1.802556 0.063431 0.070624 -v -1.864320 0.046066 -0.127009 -v -1.837957 0.088301 -0.127009 -v -1.817518 0.073942 -0.111572 -v -1.842645 0.033687 -0.111564 -v -1.802556 0.063431 -0.069400 -v -1.826778 0.024625 -0.069371 -v -1.802565 0.133269 0.128232 -v -1.783805 0.116775 0.112809 -v -1.770073 0.104701 0.070674 -v -1.802565 0.133269 -0.127008 -v -1.783805 0.116775 -0.111585 -v -1.770073 0.104701 -0.069449 -v -1.767706 0.168817 0.128232 -v -1.750581 0.150657 0.112829 -v -1.738044 0.137363 0.070749 -v -1.767706 0.168817 -0.127008 -v -1.750581 0.150657 -0.111605 -v -1.738044 0.137363 -0.069524 -v -1.928702 -0.185706 -0.011721 -v -1.917378 -0.185706 -0.011721 -v -1.983060 -0.182100 -0.127007 -v -1.971736 -0.182100 -0.127007 -v -1.994269 -0.225399 -0.127006 -v -1.700124 0.219480 -0.127006 -v -1.737359 0.195273 -0.127007 -v -1.700124 0.219481 0.128231 -v -1.737359 0.195273 0.128231 -v -1.722292 0.175319 0.112857 -v -1.689128 0.196880 0.112896 -v -1.711263 0.160711 0.070855 -v -1.681079 0.180335 0.071001 -v -1.689128 0.196880 -0.111671 -v -1.722292 0.175319 -0.111633 -v -1.681079 0.180335 -0.069776 -v -1.711263 0.160711 -0.069630 -v -1.662416 0.234366 -0.152938 -v -1.651997 0.211446 -0.134845 -v -1.655489 0.210034 -0.123164 -v -1.644370 0.194668 -0.085415 -v -1.646486 0.193829 -0.077270 -v -1.762713 0.401689 0.069756 -v -1.736517 0.397386 -0.152938 -v -1.614763 0.489887 -0.152938 -v -1.568848 0.507794 -0.152938 -v -1.762079 0.448031 0.090168 -v -1.760241 0.429221 0.078455 -v -1.738147 0.394115 -0.146999 -v -1.760212 0.470543 -0.036751 -v -1.577372 0.531241 0.138655 -v -1.624566 0.512836 0.138655 -v -1.583611 0.548406 0.096289 -v -1.631743 0.529635 0.096289 -v -1.624566 0.512836 -0.137431 -v -1.577372 0.531241 -0.137431 -v -1.631743 0.529635 -0.095064 -v -1.583611 0.548406 -0.095064 -v -1.685715 0.504516 0.096289 -v -1.685715 0.504516 -0.095064 -v -1.692113 0.501026 -0.095064 -v -1.651997 0.211446 0.136070 -v -1.644370 0.194668 0.086640 -v -1.655489 0.210034 0.124389 -v -1.646486 0.193829 0.078495 -v -1.762716 0.401675 -0.068961 -v -1.664217 0.206608 0.116031 -v -1.652049 0.191655 0.073255 -v -1.675743 0.202101 0.112932 -v -1.659515 0.188741 0.071194 -v -1.664217 0.206608 -0.114806 -v -1.675743 0.202101 -0.111708 -v -1.652049 0.191655 -0.072030 -v -1.659515 0.188741 -0.069969 -v -1.750106 0.391463 0.115955 -v -1.760133 0.417340 0.073251 -v -1.756545 0.462186 -0.094811 -v -1.750106 0.391463 -0.114731 -v -1.760133 0.417340 -0.072026 -v -1.928702 -0.185706 0.012945 -v -1.917378 -0.185706 0.012945 -v -1.955881 -0.183903 0.112786 -v -1.983060 -0.182100 0.128231 -v -1.971736 -0.182100 0.128231 -v -1.944557 -0.183903 0.112786 -v -1.935984 -0.185223 0.070588 -v -1.937822 -0.224991 0.012942 -v -1.937822 -0.224991 -0.011718 -v -1.994269 -0.225399 0.128231 -v -1.966046 -0.225195 0.112785 -v -1.945385 -0.225046 0.070586 -v -1.924661 -0.185223 0.070588 -v -1.945385 -0.225046 -0.069362 -v -1.966046 -0.225195 -0.111560 -v -1.982661 0.134956 0.123056 -v -1.973533 0.136958 0.123056 -v -1.971152 0.127921 0.123056 -v -1.971734 0.120445 0.123056 -v -2.156088 -0.181151 0.123056 -v -2.162477 -0.185078 0.123056 -v -2.171605 -0.187080 0.123056 -v -2.173986 -0.178043 0.123056 -v -2.173404 -0.170567 0.123056 -v -1.989050 0.131030 0.123056 -v -1.971152 0.127921 0.136146 -v -1.971734 0.120445 0.136146 -v -1.973533 0.136958 0.136146 -v -1.982661 0.134956 0.136146 -v -1.989050 0.131030 0.136146 -v -2.173404 -0.170567 0.136145 -v -2.173986 -0.178043 0.136145 -v -2.171605 -0.187080 0.136145 -v -2.162477 -0.185078 0.136145 -v -2.156088 -0.181151 0.136145 -v -1.939820 0.130753 0.123056 -v -1.930677 0.132780 0.123056 -v -1.928312 0.123718 0.123056 -v -1.928909 0.116215 0.123056 -v -2.113168 -0.185225 0.123056 -v -2.119573 -0.189178 0.123056 -v -2.128717 -0.191205 0.123056 -v -2.131082 -0.182143 0.123056 -v -2.130484 -0.174640 0.123056 -v -1.946226 0.126799 0.123056 -v -1.928312 0.123718 0.136146 -v -1.928909 0.116215 0.136146 -v -1.930677 0.132780 0.136146 -v -1.939820 0.130753 0.136146 -v -1.946226 0.126799 0.136146 -v -2.130484 -0.174640 0.136145 -v -2.131082 -0.182143 0.136145 -v -2.128717 -0.191205 0.136145 -v -2.119573 -0.189178 0.136145 -v -2.113168 -0.185225 0.136145 -v -1.849913 0.126959 0.123056 -v -1.840757 0.129007 0.123056 -v -1.838404 0.119925 0.123056 -v -1.839015 0.112400 0.123056 -v -2.023198 -0.188916 0.123056 -v -2.029616 -0.192890 0.123056 -v -2.038772 -0.194937 0.123056 -v -2.041124 -0.185855 0.123056 -v -2.040514 -0.178331 0.123056 -v -1.856331 0.122985 0.123056 -v -1.838404 0.119925 0.136145 -v -1.839015 0.112400 0.136145 -v -1.840757 0.129007 0.136145 -v -1.849913 0.126959 0.136145 -v -1.856331 0.122985 0.136145 -v -2.040514 -0.178331 0.136145 -v -2.041124 -0.185855 0.136145 -v -2.038772 -0.194937 0.136145 -v -2.029616 -0.192890 0.136145 -v -2.023198 -0.188916 0.136145 -v -1.893210 0.130504 0.123056 -v -1.884055 0.132552 0.123056 -v -1.881702 0.123470 0.123056 -v -1.882312 0.115945 0.123056 -v -2.066495 -0.185371 0.123056 -v -2.072913 -0.189345 0.123056 -v -2.082069 -0.191392 0.123056 -v -2.084422 -0.182310 0.123056 -v -2.083811 -0.174786 0.123056 -v -1.899628 0.126530 0.123056 -v -1.881702 0.123470 0.136145 -v -1.882312 0.115945 0.136145 -v -1.884055 0.132552 0.136145 -v -1.893210 0.130504 0.136145 -v -1.899628 0.126530 0.136145 -v -2.083811 -0.174786 0.136145 -v -2.084422 -0.182310 0.136145 -v -2.082069 -0.191392 0.136145 -v -2.072913 -0.189345 0.136145 -v -2.066495 -0.185371 0.136145 -v -1.982661 0.134956 -0.134921 -v -1.973533 0.136958 -0.134921 -v -1.971152 0.127921 -0.134921 -v -1.971734 0.120445 -0.134921 -v -2.156088 -0.181151 -0.134921 -v -2.162477 -0.185078 -0.134921 -v -2.171605 -0.187080 -0.134921 -v -2.173986 -0.178043 -0.134921 -v -2.173404 -0.170567 -0.134921 -v -1.989050 0.131030 -0.134921 -v -1.971152 0.127921 -0.121832 -v -1.971734 0.120445 -0.121832 -v -1.973533 0.136958 -0.121832 -v -1.982661 0.134956 -0.121832 -v -1.989050 0.131030 -0.121832 -v -2.173404 -0.170567 -0.121832 -v -2.173986 -0.178043 -0.121832 -v -2.171605 -0.187080 -0.121832 -v -2.162477 -0.185078 -0.121832 -v -2.156088 -0.181151 -0.121832 -v -1.939820 0.130753 -0.134921 -v -1.930677 0.132780 -0.134921 -v -1.928312 0.123718 -0.134921 -v -1.928909 0.116215 -0.134921 -v -2.113168 -0.185225 -0.134921 -v -2.119573 -0.189178 -0.134921 -v -2.128717 -0.191205 -0.134921 -v -2.131082 -0.182143 -0.134921 -v -2.130484 -0.174640 -0.134921 -v -1.946226 0.126800 -0.134921 -v -1.928312 0.123718 -0.121832 -v -1.928909 0.116215 -0.121832 -v -1.930677 0.132780 -0.121832 -v -1.939820 0.130753 -0.121832 -v -1.946226 0.126800 -0.121832 -v -2.130484 -0.174640 -0.121832 -v -2.131082 -0.182143 -0.121832 -v -2.128717 -0.191205 -0.121832 -v -2.119573 -0.189178 -0.121832 -v -2.113168 -0.185225 -0.121832 -v -1.849913 0.126959 -0.134921 -v -1.840757 0.129007 -0.134921 -v -1.838404 0.119925 -0.134921 -v -1.839015 0.112400 -0.134921 -v -2.023198 -0.188916 -0.134921 -v -2.029616 -0.192890 -0.134921 -v -2.038772 -0.194937 -0.134921 -v -2.041124 -0.185855 -0.134921 -v -2.040514 -0.178331 -0.134921 -v -1.856331 0.122985 -0.134921 -v -1.838404 0.119925 -0.121832 -v -1.839015 0.112400 -0.121832 -v -1.840757 0.129007 -0.121832 -v -1.849913 0.126959 -0.121832 -v -1.856331 0.122985 -0.121832 -v -2.040514 -0.178331 -0.121832 -v -2.041124 -0.185855 -0.121832 -v -2.038772 -0.194937 -0.121832 -v -2.029616 -0.192890 -0.121832 -v -2.023198 -0.188916 -0.121832 -v -1.893210 0.130504 -0.134921 -v -1.884055 0.132552 -0.134921 -v -1.881702 0.123470 -0.134921 -v -1.882312 0.115945 -0.134921 -v -2.066495 -0.185371 -0.134921 -v -2.072913 -0.189345 -0.134921 -v -2.082069 -0.191392 -0.134921 -v -2.084422 -0.182310 -0.134921 -v -2.083811 -0.174786 -0.134921 -v -1.899628 0.126530 -0.134921 -v -1.881702 0.123470 -0.121832 -v -1.882312 0.115945 -0.121832 -v -1.884055 0.132552 -0.121832 -v -1.893210 0.130504 -0.121832 -v -1.899628 0.126530 -0.121832 -v -2.083811 -0.174786 -0.121832 -v -2.084422 -0.182310 -0.121832 -v -2.082069 -0.191392 -0.121832 -v -2.072913 -0.189345 -0.121832 -v -2.066495 -0.185371 -0.121832 -vt 0.628329 0.321805 +vt 0.176155 0.159372 +vt 0.351182 0.159372 +vt 0.176155 0.157238 +vt 0.286086 0.114179 +vt 0.289470 0.123449 +vt 0.206319 0.123491 +vt 0.199684 0.136404 +vt 0.188460 0.148679 +vt 0.351182 0.157119 +vt 0.207246 0.118405 +vt 0.302205 0.137250 +vt 0.326572 0.148575 +vt 0.289117 0.138628 +vt 0.294854 0.136252 +vt 0.286775 0.135968 +vt 0.220441 0.149560 +vt 0.214194 0.146627 +vt 0.220638 0.106650 +vt 0.220441 0.110047 +vt 0.228285 0.109317 +vt 0.273140 0.106307 +vt 0.282061 0.108308 +vt 0.210999 0.110994 +vt 0.266968 0.150290 +vt 0.294854 0.152477 +vt 0.286775 0.123640 +vt 0.208478 0.123640 +vt 0.208478 0.135968 +vt 0.266968 0.109317 +vt 0.228285 0.150290 +vt 0.214194 0.112981 +vt 0.209799 0.117931 +vt 0.209799 0.141676 +vt 0.285454 0.141676 +vt 0.281058 0.146627 +vt 0.274811 0.149560 +vt 0.274811 0.110047 +vt 0.281058 0.112981 +vt 0.285454 0.117931 +vt 0.300590 0.150101 +vt 0.302967 0.144365 +vt 0.300590 0.138628 +vt 0.299187 0.138047 +vt 0.287699 0.142053 +vt 0.286741 0.144365 +vt 0.289117 0.150101 +vt 0.394791 0.688361 +vt 0.394791 0.696196 +vt 0.588350 0.696196 +vt 0.588350 0.696221 +vt 0.597168 0.696196 +vt 0.597168 0.688361 +vt 0.588350 0.688361 +vt 0.588350 0.703650 +vt 0.597168 0.703650 +vt 0.597168 0.696221 +vt 0.486610 0.403096 +vt 0.493668 0.400172 +vt 0.496592 0.393114 +vt 0.493668 0.386056 +vt 0.486610 0.383132 +vt 0.479552 0.386056 +vt 0.476628 0.393114 +vt 0.479552 0.400172 vt 0.628329 0.321805 vt 0.723547 0.410717 vt 0.451913 0.450017 vt 0.417065 0.447278 -vt 0.451913 0.450017 -vt 0.492148 0.449947 vt 0.492148 0.449947 vt 0.320353 0.418005 vt 0.317476 0.415326 -vt 0.317476 0.415326 vt 0.513735 0.353212 vt 0.533389 0.354544 -vt 0.513735 0.353212 vt 0.627472 0.437038 vt 0.633953 0.445991 vt 0.632155 0.442480 vt 0.598064 0.430599 vt 0.526987 0.447088 -vt 0.526987 0.447088 vt 0.346805 0.430312 vt 0.337725 0.427903 -vt 0.346805 0.430312 -vt 0.328043 0.423398 vt 0.328043 0.423398 vt 0.606224 0.430794 -vt 0.606224 0.430794 -vt 0.337725 0.427903 vt 0.409219 0.330020 vt 0.407407 0.332776 vt 0.404520 0.335973 @@ -4763,154 +3182,83 @@ vt 0.637952 0.444202 vt 0.649964 0.444108 vt 0.639619 0.447202 vt 0.496840 0.350199 -vt 0.496840 0.350199 vt 0.621523 0.434636 vt 0.689639 0.428669 vt 0.668641 0.437565 -vt 0.668641 0.437565 -vt 0.649964 0.444108 vt 0.623159 0.421808 vt 0.624826 0.429596 vt 0.620060 0.417870 vt 0.600123 0.333994 vt 0.589773 0.342184 -vt 0.589773 0.342184 vt 0.550537 0.353838 -vt 0.550537 0.353838 -vt 0.563678 0.352263 -vt 0.576433 0.348871 vt 0.563678 0.352263 vt 0.576433 0.348871 vt 0.588701 0.342722 -vt 0.600123 0.333994 -vt 0.600123 0.333994 vt 0.608431 0.325267 vt 0.681681 0.411435 vt 0.661797 0.419859 -vt 0.608431 0.325267 vt 0.707333 0.419804 -vt 0.723547 0.410717 -vt 0.707333 0.419804 -vt 0.689639 0.428669 vt 0.634111 0.435986 vt 0.629112 0.424699 vt 0.626650 0.437620 vt 0.626907 0.437684 vt 0.589627 0.342258 -vt 0.589773 0.342184 vt 0.589226 0.342459 vt 0.595854 0.360487 vt 0.613675 0.411865 vt 0.592285 0.362257 vt 0.607904 0.408042 -vt 0.592285 0.362257 vt 0.587703 0.364543 vt 0.621514 0.434631 -vt 0.661797 0.419859 vt 0.634046 0.436039 vt 0.665219 0.428712 vt 0.627288 0.438200 vt 0.634290 0.445789 -vt 0.624826 0.429596 vt 0.628358 0.433800 -vt 0.626650 0.437620 -vt 0.627288 0.438200 -vt 0.589627 0.342258 -vt 0.589226 0.342459 -vt 0.588701 0.342722 -vt 0.613675 0.411865 -vt 0.595854 0.360487 -vt 0.607904 0.408042 -vt 0.587703 0.364543 vt 0.494375 0.424075 vt 0.525936 0.437655 vt 0.491751 0.440461 vt 0.526705 0.444560 vt 0.492041 0.447405 -vt 0.494375 0.424075 -vt 0.525936 0.437655 vt 0.527906 0.421323 -vt 0.491751 0.440461 -vt 0.526705 0.444560 -vt 0.492041 0.447405 vt 0.455663 0.424142 vt 0.452277 0.440529 vt 0.452011 0.447475 -vt 0.455663 0.424142 -vt 0.452277 0.440529 vt 0.422122 0.421506 vt 0.418083 0.437842 vt 0.417338 0.444750 -vt 0.422122 0.421506 -vt 0.417338 0.444750 -vt 0.452011 0.447475 -vt 0.417065 0.447278 vt 0.344211 0.409994 vt 0.348674 0.420993 vt 0.340968 0.418949 vt 0.347305 0.427815 vt 0.338594 0.425504 -vt 0.344211 0.409994 -vt 0.348674 0.420993 vt 0.350543 0.411674 -vt 0.340968 0.418949 -vt 0.347305 0.427815 -vt 0.338594 0.425504 vt 0.332805 0.415150 vt 0.337566 0.406902 vt 0.329319 0.421188 -vt 0.332805 0.415150 vt 0.326277 0.410573 vt 0.332202 0.403141 vt 0.321940 0.416013 -vt 0.337566 0.406902 -vt 0.326277 0.410573 -vt 0.321940 0.416013 -vt 0.329319 0.421188 -vt 0.320353 0.418005 vt 0.321958 0.406964 vt 0.326439 0.398603 vt 0.318677 0.413085 -vt 0.332202 0.403141 -vt 0.321958 0.406964 -vt 0.318677 0.413085 -vt 0.350543 0.411674 -vt 0.418083 0.437842 vt 0.597512 0.421096 vt 0.596961 0.411593 vt 0.609075 0.428320 vt 0.597916 0.428052 -vt 0.597512 0.421096 vt 0.614083 0.420982 -vt 0.609075 0.428320 -vt 0.597916 0.428052 -vt 0.527906 0.421323 -vt 0.596961 0.411593 -vt 0.598064 0.430599 vt 0.492779 0.368748 vt 0.512578 0.362642 vt 0.511421 0.372072 vt 0.494809 0.359474 vt 0.513425 0.355739 vt 0.496296 0.352684 -vt 0.492779 0.368748 -vt 0.512578 0.362642 -vt 0.494809 0.359474 -vt 0.513425 0.355739 -vt 0.496296 0.352684 vt 0.533263 0.364044 vt 0.533137 0.373544 vt 0.533356 0.357089 -vt 0.511421 0.372072 -vt 0.533263 0.364044 -vt 0.533356 0.357089 -vt 0.533389 0.354544 vt 0.552058 0.372765 vt 0.551297 0.363302 vt 0.550740 0.356374 -vt 0.552058 0.372765 -vt 0.533137 0.373544 -vt 0.551297 0.363302 vt 0.410939 0.327841 vt 0.412106 0.326823 vt 0.398101 0.344105 @@ -4920,1443 +3268,2538 @@ vt 0.583588 0.366602 vt 0.565470 0.361603 vt 0.577392 0.351247 vt 0.564158 0.354765 -vt 0.567262 0.370942 -vt 0.580011 0.357736 vt 0.565470 0.361602 -vt 0.577392 0.351247 -vt 0.564158 0.354765 vt 0.593588 0.350968 vt 0.592299 0.351594 vt 0.590796 0.344538 vt 0.590020 0.344921 -vt 0.550740 0.356374 vt 0.619069 0.430717 vt 0.614084 0.420983 -vt 0.600123 0.333994 vt 0.597402 0.359752 vt 0.632313 0.442352 -vt 0.627472 0.437038 vt 0.623193 0.421852 vt 0.639144 0.447563 vt 0.702887 0.411421 vt 0.685660 0.420052 vt 0.706141 0.417558 vt 0.688573 0.426360 -vt 0.681681 0.411435 -vt 0.702887 0.411421 vt 0.698440 0.403038 -vt 0.685660 0.420052 -vt 0.706141 0.417558 -vt 0.688573 0.426360 -vt 0.665219 0.428712 vt 0.667724 0.435193 vt 0.665108 0.436110 -vt 0.665108 0.436110 -vt 0.667724 0.435193 vt 0.721597 0.408896 vt 0.716269 0.403921 vt 0.708991 0.397125 -vt 0.708991 0.397125 -vt 0.698440 0.403038 -vt 0.716269 0.403921 -vt 0.721597 0.408896 -vt 0.600123 0.333994 -vt 0.593588 0.350968 -vt 0.600123 0.333994 -vt 0.590796 0.344538 -vt 0.600123 0.333994 -vt 0.597402 0.359752 -vt 0.592299 0.351594 -vt 0.590020 0.344921 vt 0.619065 0.430715 vt 0.589107 0.353184 vt 0.587987 0.345938 vt 0.584897 0.355289 vt 0.585262 0.347302 -vt 0.589107 0.353184 -vt 0.584897 0.355289 vt 0.587987 0.345937 -vt 0.585262 0.347302 vt 0.619396 0.424552 vt 0.624145 0.433979 vt 0.624532 0.422226 -vt 0.620060 0.417870 -vt 0.624532 0.422226 vt 0.637719 0.444398 -vt 0.619396 0.424552 -vt 0.624145 0.433979 -vt 0.583588 0.366602 -vt 0.410939 0.327841 vt 0.413826 0.324644 -vt 0.404520 0.335973 vt 0.400987 0.340908 -vt 0.407407 0.332776 -vt 0.409219 0.330020 -vt 0.413826 0.324644 vt 0.397524 0.320401 vt 0.390272 0.328317 vt 0.395581 0.322522 -vt 0.412106 0.326823 -vt 0.397524 0.320401 -vt 0.395581 0.322522 -vt 0.390272 0.328317 -vt 0.400987 0.340908 -vt 0.383020 0.336232 vt 0.383020 0.336232 vt 0.629108 0.424700 vt 0.628386 0.433758 -vt 0.326439 0.398603 vt 0.352835 0.400778 vt 0.484968 0.425617 vt 0.486394 0.418030 vt 0.488653 0.419772 -vt 0.488653 0.419772 vt 0.354262 0.393192 -vt 0.486394 0.418030 -vt 0.484968 0.425617 vt 0.487705 0.424814 -vt 0.354262 0.393192 vt 0.351525 0.393994 -vt 0.352835 0.400778 -vt 0.351525 0.393994 -vt 0.348633 0.396061 vt 0.348633 0.396061 vt 0.350577 0.399036 vt 0.490597 0.422747 -vt 0.490597 0.422747 -vt 0.487705 0.424814 -vt 0.350577 0.399036 vt 0.362627 0.387623 vt 0.494690 0.412449 vt 0.496116 0.404863 vt 0.498387 0.406607 -vt 0.498387 0.406607 vt 0.364053 0.380037 -vt 0.496116 0.404863 -vt 0.494690 0.412449 vt 0.497439 0.411649 -vt 0.364053 0.380037 vt 0.361304 0.380838 -vt 0.362627 0.387623 -vt 0.361304 0.380838 -vt 0.358401 0.382902 vt 0.358401 0.382902 vt 0.360356 0.385880 vt 0.500342 0.409584 -vt 0.500342 0.409584 -vt 0.497439 0.411649 -vt 0.360356 0.385880 vt 0.384519 0.361285 vt 0.516529 0.386100 vt 0.517955 0.378514 vt 0.520235 0.380260 -vt 0.520235 0.380260 vt 0.385945 0.353698 -vt 0.517955 0.378514 -vt 0.516529 0.386100 vt 0.519287 0.385301 -vt 0.385945 0.353698 vt 0.383187 0.354497 -vt 0.384519 0.361285 -vt 0.383187 0.354497 -vt 0.380275 0.356560 vt 0.380275 0.356560 vt 0.382239 0.359539 vt 0.522198 0.383239 -vt 0.522198 0.383239 -vt 0.519287 0.385301 -vt 0.382239 0.359539 vt 0.374483 0.374411 vt 0.506492 0.399226 vt 0.507919 0.391640 vt 0.510198 0.393386 -vt 0.510198 0.393386 vt 0.375909 0.366825 -vt 0.507919 0.391640 -vt 0.506492 0.399226 vt 0.509250 0.398428 -vt 0.375909 0.366825 vt 0.373151 0.367623 -vt 0.374483 0.374411 -vt 0.373151 0.367623 -vt 0.370239 0.369686 vt 0.370239 0.369686 vt 0.372203 0.372665 vt 0.512162 0.396365 -vt 0.512162 0.396365 -vt 0.509250 0.398428 -vt 0.372203 0.372665 -vt 0.352835 0.400778 -vt 0.484968 0.425617 -vt 0.486394 0.418030 -vt 0.488653 0.419772 -vt 0.488653 0.419772 -vt 0.354262 0.393192 -vt 0.486394 0.418030 -vt 0.484968 0.425617 -vt 0.487705 0.424814 -vt 0.354262 0.393192 -vt 0.351525 0.393994 -vt 0.352835 0.400778 -vt 0.351525 0.393994 -vt 0.348633 0.396061 -vt 0.348633 0.396061 -vt 0.350577 0.399036 -vt 0.490597 0.422747 -vt 0.490597 0.422747 -vt 0.487705 0.424814 -vt 0.350577 0.399036 -vt 0.362627 0.387623 -vt 0.494690 0.412449 -vt 0.496116 0.404863 -vt 0.498387 0.406607 -vt 0.498387 0.406607 -vt 0.364053 0.380037 -vt 0.496116 0.404863 -vt 0.494690 0.412449 -vt 0.497439 0.411649 -vt 0.364053 0.380037 vt 0.361304 0.380837 -vt 0.362627 0.387623 -vt 0.361304 0.380838 -vt 0.358401 0.382902 -vt 0.358401 0.382902 -vt 0.360356 0.385880 -vt 0.500342 0.409584 -vt 0.500342 0.409584 -vt 0.497439 0.411649 -vt 0.360356 0.385880 -vt 0.384519 0.361285 -vt 0.516529 0.386100 -vt 0.517955 0.378514 -vt 0.520235 0.380260 -vt 0.520235 0.380260 -vt 0.385945 0.353698 -vt 0.517955 0.378514 -vt 0.516529 0.386100 -vt 0.519287 0.385301 -vt 0.385945 0.353698 -vt 0.383187 0.354497 -vt 0.384519 0.361285 -vt 0.383187 0.354497 -vt 0.380275 0.356560 -vt 0.380275 0.356560 -vt 0.382239 0.359539 -vt 0.522198 0.383239 -vt 0.522198 0.383239 -vt 0.519287 0.385301 -vt 0.382239 0.359539 -vt 0.374483 0.374411 -vt 0.506492 0.399226 -vt 0.507919 0.391640 -vt 0.510198 0.393386 -vt 0.510198 0.393386 -vt 0.375909 0.366825 -vt 0.507919 0.391640 -vt 0.506492 0.399226 -vt 0.509250 0.398428 -vt 0.375909 0.366825 -vt 0.373151 0.367623 -vt 0.374483 0.374411 -vt 0.373151 0.367623 -vt 0.370239 0.369686 -vt 0.370239 0.369686 -vt 0.372203 0.372665 -vt 0.512162 0.396365 -vt 0.512162 0.396365 -vt 0.509250 0.398428 -vt 0.372203 0.372665 -vt 0.600123 0.333994 -vt 0.398101 0.344105 -vn 0.9026 -0.4305 0.0000 -vn 0.9999 0.0167 -0.0000 -vn -0.7661 0.6402 -0.0574 -vn -0.8368 0.5446 0.0572 -vn -0.7661 0.6402 0.0574 -vn -0.7123 0.6995 -0.0574 -vn -0.7123 0.6995 0.0574 -vn -0.9969 0.0537 0.0574 -vn -0.9982 -0.0141 -0.0577 -vn -0.9982 -0.0141 0.0577 -vn 0.8168 -0.5740 -0.0579 -vn 0.7497 -0.6593 0.0579 -vn 0.8168 -0.5740 0.0579 -vn -0.9883 -0.1209 -0.0934 -vn -0.9876 0.1563 -0.0163 -vn -0.9829 0.0858 -0.1627 -vn -0.6688 0.7412 0.0579 -vn -0.6289 0.7753 -0.0573 -vn -0.6289 0.7753 0.0573 -vn -0.8826 0.4666 -0.0574 -vn -0.9245 0.3768 0.0575 -vn -0.8826 0.4666 0.0574 -vn -0.9762 0.2090 -0.0575 -vn -0.9762 0.2090 0.0575 -vn -0.8211 0.5671 -0.0647 -vn -0.8208 0.5676 0.0650 -vn -0.9245 0.3768 -0.0575 -vn 0.0000 0.9998 0.0217 -vn 0.0000 0.9988 0.0487 -vn 0.0000 0.9959 0.0905 -vn -0.7390 0.6040 0.2983 -vn -0.5021 0.8620 0.0701 -vn -0.7488 0.6577 0.0815 -vn 0.8669 -0.4952 -0.0578 -vn 0.8669 -0.4952 0.0578 -vn -0.9420 0.3315 0.0531 -vn -0.3922 0.9181 0.0574 -vn -0.4499 0.8912 -0.0574 -vn -0.4499 0.8912 0.0574 -vn -0.4961 0.8655 -0.0693 -vn -0.8913 -0.2315 0.3900 -vn -0.9518 -0.1990 0.2335 -vn -0.8538 -0.2964 0.4280 -vn 0.0964 -0.9953 0.0000 -vn -0.0173 -0.9989 0.0442 -vn 0.2660 -0.9640 -0.0000 -vn 0.6848 -0.7265 -0.0579 -vn 0.6848 -0.7265 0.0579 -vn 0.6013 -0.7969 -0.0582 -vn 0.4553 -0.8884 0.0587 -vn 0.6013 -0.7969 0.0582 -vn 0.4553 -0.8884 -0.0587 -vn 0.3532 -0.9343 -0.0490 -vn 0.0391 -0.9990 -0.0215 -vn -0.0831 -0.9952 -0.0518 -vn 0.3384 -0.9410 0.0000 -vn -0.1098 0.2571 0.9601 -vn -0.1465 0.2485 0.9575 -vn -0.0000 -0.0000 1.0000 -vn -0.3411 0.9383 -0.0574 -vn -0.3192 0.9460 0.0568 -vn -0.3192 0.9460 -0.0568 -vn -0.3411 0.9383 0.0574 -vn -0.3922 0.9181 -0.0574 -vn -0.6504 0.3940 0.6494 -vn -0.4058 0.0917 0.9093 -vn -0.9957 0.0897 0.0227 -vn -0.9986 0.0527 0.0042 -vn 0.3181 -0.9473 -0.0389 -vn -0.0170 -0.9989 -0.0443 -vn 0.3379 -0.9400 -0.0479 -vn -0.7002 -0.5061 0.5035 -vn -0.7051 -0.1719 0.6880 -vn -0.3300 -0.4425 0.8338 -vn -0.2979 0.0402 -0.9537 -vn -0.3300 -0.4425 -0.8338 -vn -0.0061 -0.3076 -0.9515 -vn -0.9424 0.3304 -0.0522 -vn -0.1465 0.2485 -0.9575 -vn -0.6500 0.3924 -0.6508 -vn -0.3770 0.6627 -0.6471 -vn -0.9985 -0.0540 0.0129 -vn -0.9838 0.1762 0.0341 -vn -0.9510 -0.2039 -0.2325 -vn -0.9157 -0.0443 -0.3995 -vn -0.9954 0.0932 -0.0200 -vn -0.9972 -0.0740 -0.0139 -vn 0.3181 -0.9472 0.0389 -vn 0.3379 -0.9400 0.0479 -vn 0.3532 -0.9342 0.0490 -vn -0.7043 -0.1718 -0.6888 -vn -0.7002 -0.5061 -0.5035 -vn -0.2983 0.0407 0.9536 -vn -0.0061 -0.3076 0.9515 -vn -0.1261 0.1250 0.9841 -vn -0.4411 0.5412 0.7159 -vn -0.4936 0.4835 0.7228 -vn -0.6091 0.7506 0.2562 -vn -0.6895 0.6771 0.2573 -vn -0.1261 0.1250 -0.9841 -vn -0.4411 0.5412 -0.7159 -vn -0.1162 0.1450 -0.9826 -vn -0.4937 0.4835 -0.7228 -vn -0.6091 0.7506 -0.2562 -vn -0.6895 0.6771 -0.2573 -vn -0.1339 0.1128 0.9845 -vn -0.5294 0.4415 0.7244 -vn -0.7415 0.6197 0.2573 -vn -0.1339 0.1128 -0.9845 -vn -0.5294 0.4415 -0.7244 -vn -0.1393 0.1014 0.9851 -vn -0.5809 0.3857 0.7168 -vn -0.8102 0.5273 0.2560 -vn -0.1393 0.1014 -0.9851 -vn -0.8102 0.5273 -0.2560 -vn -0.7415 0.6197 -0.2573 -vn -0.8368 0.5446 -0.0572 -vn -0.2661 0.1085 0.9578 -vn -0.6708 0.3542 0.6516 -vn -0.7073 0.2883 0.6454 -vn -0.8543 0.4513 0.2578 -vn -0.8950 0.3648 0.2569 -vn -0.2661 0.1085 -0.9578 -vn -0.6708 0.3542 -0.6516 -vn -0.2436 0.1301 -0.9611 -vn -0.7073 0.2883 -0.6454 -vn -0.8543 0.4513 -0.2578 -vn -0.8950 0.3648 -0.2569 -vn -0.7469 0.1599 0.6454 -vn -0.2808 0.0600 0.9579 -vn -0.9450 0.2023 0.2569 -vn -0.7469 0.1599 -0.6454 -vn -0.7595 0.0601 0.6477 -vn -0.2788 0.0256 0.9600 -vn -0.9647 0.0604 0.2564 -vn -0.2808 0.0600 -0.9579 -vn -0.7595 0.0601 -0.6477 -vn -0.9647 0.0603 -0.2564 -vn -0.9450 0.2023 -0.2569 -vn -0.9969 0.0537 -0.0574 -vn -0.7440 0.0320 0.6675 -vn -0.2698 0.0185 0.9628 -vn -0.9653 0.0064 0.2612 -vn -0.2788 0.0256 -0.9600 -vn -0.7440 0.0320 -0.6675 -vn -0.9653 0.0063 -0.2612 -vn -0.2435 0.1301 0.9611 -vn -0.5809 0.3857 -0.7168 -vn -0.4738 0.5529 0.6854 -vn -0.1631 0.2413 0.9566 -vn -0.7814 0.5540 0.2872 -vn -0.6471 0.7162 0.2613 -vn -0.4743 0.5525 -0.6854 -vn -0.7553 0.2304 -0.6136 -vn -0.7829 0.5522 -0.2865 -vn -0.6471 0.7162 -0.2613 -vn -0.1162 0.1450 0.9826 -vn -0.1631 0.2413 -0.9566 -vn -0.6688 0.7412 -0.0579 -vn 0.2320 -0.1325 0.9637 -vn 0.6151 -0.4323 0.6594 -vn 0.2163 -0.1520 0.9644 -vn 0.6542 -0.3737 0.6576 -vn 0.7899 -0.5551 0.2606 -vn 0.8384 -0.4790 0.2600 -vn 0.2320 -0.1325 -0.9636 -vn 0.6151 -0.4323 -0.6594 -vn 0.6542 -0.3737 -0.6576 -vn 0.7899 -0.5551 -0.2607 -vn 0.8384 -0.4790 -0.2600 -vn 0.5643 -0.4963 0.6597 -vn 0.1985 -0.1745 0.9645 -vn 0.7248 -0.6376 0.2609 -vn 0.2163 -0.1520 -0.9644 -vn 0.5643 -0.4963 -0.6597 -vn 0.7248 -0.6376 -0.2609 -vn 0.7497 -0.6593 -0.0579 -vn 0.1828 -0.1940 0.9638 -vn 0.5160 -0.5479 0.6584 -vn 0.6619 -0.7028 0.2606 -vn 0.1828 -0.1940 -0.9638 -vn 0.1985 -0.1745 -0.9645 -vn 0.5160 -0.5479 -0.6584 -vn 0.0000 1.0000 0.0044 -vn 0.0000 0.9998 0.0175 -vn 0.6416 -0.3339 -0.6906 -vn 0.0906 -0.0472 -0.9948 -vn 0.8545 -0.4447 -0.2686 -vn 0.8855 -0.4608 -0.0586 -vn 0.1570 -0.2081 0.9654 -vn 0.3393 -0.6623 0.6680 -vn 0.1170 -0.2254 0.9672 -vn 0.4509 -0.5981 0.6625 -vn 0.4392 -0.8585 0.2646 -vn 0.5808 -0.7707 0.2621 -vn 0.1570 -0.2081 -0.9654 -vn 0.3393 -0.6623 -0.6680 -vn 0.4509 -0.5981 -0.6625 -vn 0.4392 -0.8585 -0.2646 -vn 0.5808 -0.7707 -0.2621 -vn -0.5400 -0.7657 -0.3495 -vn -0.4124 -0.8182 -0.4005 -vn -0.2368 -0.9565 -0.1705 -vn 0.0355 -0.9808 -0.1920 -vn 0.6619 -0.7028 -0.2606 -vn -0.9313 0.2823 0.2303 -vn -0.7569 0.2306 0.6115 -vn 0.0000 0.0000 -1.0000 -vn -0.9813 0.1057 0.1607 -vn -0.9899 -0.1055 0.0945 -vn -0.8911 -0.2301 -0.3912 -vn -0.7537 0.6528 -0.0768 -vn -0.2595 0.7140 0.6503 -vn -0.2987 0.6992 0.6496 -vn -0.3301 0.9081 0.2575 -vn -0.3796 0.8886 0.2574 -vn -0.1098 0.2571 -0.9601 -vn -0.2595 0.7140 -0.6503 -vn -0.0951 0.2615 -0.9605 -vn -0.2987 0.6992 -0.6496 -vn -0.3301 0.9081 -0.2575 -vn -0.3796 0.8886 -0.2574 -vn -0.3772 0.6627 0.6470 -vn -0.4355 0.8626 0.2574 -vn -0.4856 0.8303 0.2735 -vn -0.4849 0.8307 -0.2735 -vn -0.4355 0.8626 -0.2574 -vn -0.3096 0.9173 -0.2504 -vn -0.2506 0.7427 -0.6210 -vn -0.1039 0.3079 -0.9457 -vn -0.1039 0.3079 0.9457 -vn -0.0951 0.2615 0.9605 -vn -0.2506 0.7427 0.6210 -vn -0.3096 0.9173 0.2504 -vn -0.1982 -0.9767 0.0818 -vn -0.5400 -0.7657 0.3495 -vn -0.0831 -0.9952 0.0518 -vn -0.2368 -0.9565 0.1705 -vn 0.0391 -0.9990 0.0215 -vn -0.1982 -0.9767 -0.0818 -vn -0.7518 -0.5303 -0.3919 -vn -0.7518 -0.5303 0.3919 -vn -0.4124 -0.8182 0.4005 -vn 0.0355 -0.9808 0.1920 -vn -0.9308 0.2799 -0.2352 -vn -0.0031 -0.8278 0.5611 -vn 0.2463 -0.9438 0.2204 -vn 0.2063 -0.7469 0.6321 -vn 0.3215 -0.9148 0.2445 -vn -0.0031 -0.8278 -0.5611 -vn 0.2063 -0.7469 -0.6322 -vn 0.2463 -0.9438 -0.2204 -vn 0.3215 -0.9148 -0.2445 -vn -0.9302 -0.0690 0.3605 -vn -0.9905 0.0240 0.1355 -vn -0.9680 0.0136 0.2505 -vn -0.8538 -0.2964 -0.4280 -vn -0.9657 0.0104 -0.2593 -vn -0.7414 0.5994 -0.3018 -vn -0.9298 -0.0678 -0.3617 -vn -0.9900 0.0274 -0.1384 -vn 0.1170 -0.2254 -0.9672 -vn 0.0000 1.0000 -0.0044 -vn 0.0000 1.0000 0.0040 -vn 0.0000 0.9959 -0.0905 -vn 0.0000 0.9933 -0.1160 -vn 0.0000 0.9988 -0.0487 -vn 0.8855 -0.4608 0.0586 -vn 0.8545 -0.4447 0.2686 -vn 0.6416 -0.3339 0.6906 -vn 0.8856 -0.4609 0.0567 -vn 0.8855 -0.4608 -0.0588 -vn 0.8856 -0.4609 -0.0567 -vn 0.3091 -0.1609 0.9373 -vn 0.6361 -0.3310 0.6970 -vn 0.7028 -0.3658 0.6101 -vn 0.8540 -0.4444 0.2705 -vn 0.8593 -0.4472 0.2484 -vn 0.8855 -0.4608 0.0588 -vn 0.8593 -0.4472 -0.2484 -vn 0.8540 -0.4444 -0.2705 -vn 0.7028 -0.3658 -0.6101 -vn 0.6361 -0.3311 -0.6970 -vn 0.3091 -0.1609 -0.9373 -vn 0.1736 -0.0903 -0.9807 -vn 0.0000 0.9933 0.1159 -vn 0.0000 0.9998 -0.0175 -vn 0.0000 1.0000 -0.0040 -vn 0.0035 -1.0000 -0.0006 -vn 0.0072 -1.0000 -0.0000 -vn 0.0034 -1.0000 -0.0019 -vn 0.0000 0.9998 -0.0217 -vn -0.4040 0.0922 -0.9101 -vn -0.9166 -0.0389 0.3980 -vn -0.2401 -0.9708 0.0000 -vn 0.9960 0.0898 0.0000 -vn 0.9514 -0.3081 0.0000 -vn 0.9960 0.0899 0.0000 -vn -0.7079 0.7063 0.0000 -vn -0.3741 0.9274 0.0000 -vn 0.7080 -0.7062 0.0000 -vn 0.3742 -0.9274 0.0000 -vn -0.9514 0.3081 0.0000 -vn 0.2142 -0.9768 0.0000 -vn -0.9670 -0.2548 0.0000 -vn -0.9960 -0.0898 0.0000 -vn 0.9670 0.2548 0.0000 -vn -0.2142 0.9768 0.0000 -vn 0.9961 0.0878 0.0000 -vn 0.9511 -0.3089 0.0000 -vn -0.7086 0.7056 0.0000 -vn -0.3761 0.9266 0.0000 -vn 0.7086 -0.7056 0.0000 -vn 0.3761 -0.9266 0.0000 -vn -0.9511 0.3090 0.0000 -vn 0.2164 -0.9763 0.0000 -vn -0.9676 -0.2525 0.0000 -vn -0.9961 -0.0878 0.0000 -vn 0.9676 0.2525 0.0000 -vn -0.2164 0.9763 0.0000 -vn 0.9963 0.0861 0.0000 -vn 0.9508 -0.3097 0.0000 -vn -0.7091 0.7051 0.0000 -vn -0.3776 0.9260 0.0000 -vn 0.9509 -0.3096 0.0000 -vn 0.7091 -0.7051 0.0000 -vn 0.3776 -0.9260 0.0000 -vn -0.9509 0.3096 0.0000 -vn 0.2182 -0.9759 0.0000 -vn -0.9681 -0.2507 0.0000 -vn -0.9963 -0.0862 0.0000 -vn 0.9680 0.2508 0.0000 -vn -0.2183 0.9759 0.0000 -vn 0.9963 0.0862 0.0000 -vn -0.9508 0.3097 0.0000 -vn -0.9680 -0.2508 0.0000 -vn -0.9963 -0.0861 0.0000 -vn -0.3760 0.9266 0.0000 -vn -0.9680 -0.2510 -0.0000 -vn -0.3776 0.9259 0.0000 -vn -0.2697 0.0184 -0.9628 -vn 0.0906 -0.0471 0.9948 -vn 0.1736 -0.0903 0.9807 -vn 0.0030 -1.0000 -0.0006 -vn 0.0030 -1.0000 0.0006 -vn 0.0035 -1.0000 0.0006 -vn 0.0034 -1.0000 0.0019 +vt 0.782994 0.575784 +vt 0.714498 0.564516 +vt 0.714498 0.575784 +vt 0.782994 0.564516 +vt 0.714498 0.537314 +vt 0.782994 0.537314 +vt 0.714498 0.510112 +vt 0.782994 0.510112 +vt 0.714498 0.498845 +vt 0.782994 0.498845 +vt 0.782994 0.559627 +vt 0.714498 0.515002 +vt 0.714498 0.559627 +vt 0.714498 0.568869 +vt 0.782994 0.515002 +vt 0.714498 0.505760 +vt 0.782994 0.505760 +vt 0.782994 0.568869 +vt 0.680946 0.743152 +vt 0.680946 0.747663 +vt 0.712868 0.738640 +vt 0.712868 0.716943 +vt 0.680946 0.716943 +vt 0.712868 0.747663 +vt 0.712868 0.743152 +vt 0.680946 0.738640 +vt 0.621661 0.723604 +vt 0.621661 0.716943 +vt 0.766609 0.756295 +vt 0.165134 0.745931 +vt 0.165134 0.756295 +vt 0.766609 0.745931 +vt 0.165134 0.720908 +vt 0.766609 0.720908 +vt 0.165134 0.695885 +vt 0.766609 0.695885 +vt 0.165134 0.685521 +vt 0.766609 0.685521 +vt 0.729032 0.553323 +vt 0.698162 0.542055 +vt 0.698162 0.553323 +vt 0.729032 0.542055 +vt 0.698162 0.514853 +vt 0.729032 0.514853 +vt 0.698162 0.487651 +vt 0.729032 0.487651 +vt 0.698162 0.476384 +vt 0.729032 0.476384 +vt 0.729257 0.590922 +vt 0.704821 0.579801 +vt 0.704821 0.590922 +vt 0.729257 0.579801 +vt 0.704821 0.552952 +vt 0.729257 0.552952 +vt 0.704821 0.526104 +vt 0.729257 0.526104 +vt 0.704821 0.514983 +vt 0.729257 0.514983 +vt 0.743036 0.769004 +vt 0.141560 0.758639 +vt 0.141560 0.769004 +vt 0.743036 0.758639 +vt 0.141560 0.733616 +vt 0.743036 0.733616 +vt 0.141560 0.708594 +vt 0.743036 0.708594 +vt 0.141560 0.698229 +vt 0.743036 0.698229 +vt 0.743036 0.733617 +vt 0.771627 0.571391 +vt 0.747191 0.560270 +vt 0.747191 0.571391 +vt 0.771627 0.560270 +vt 0.747191 0.533421 +vt 0.771627 0.533421 +vt 0.747191 0.506573 +vt 0.771627 0.506573 +vt 0.747191 0.495452 +vt 0.771627 0.495452 +vt 0.703156 0.520987 +vt 0.703156 0.554227 +vt 0.717254 0.554227 +vt 0.717254 0.520987 +s 0 +f 416/197/189 417/197/189 412/198/189 +f 412/198/190 420/199/190 413/198/190 +f 419/199/191 422/200/191 420/199/191 +f 422/200/192 421/200/192 424/201/192 +f 420/199/193 414/202/193 413/198/193 +f 419/199/194 411/202/194 421/200/194 +f 426/203/192 416/197/192 425/203/192 +f 425/203/195 423/201/195 426/203/195 +f 425/203/194 415/202/194 424/201/194 +f 426/203/193 418/202/193 417/197/193 +f 418/202/189 411/202/189 417/197/189 +f 411/202/189 412/198/189 417/197/189 +f 413/198/189 414/202/189 416/197/189 +f 414/202/189 415/202/189 416/197/189 +f 413/198/196 416/197/196 412/198/196 +f 412/198/190 419/199/190 420/199/190 +f 419/199/191 421/200/191 422/200/191 +f 424/201/192 415/202/192 414/202/192 +f 421/200/192 411/202/192 423/201/192 +f 411/202/192 418/202/192 423/201/192 +f 424/201/192 414/202/192 422/200/192 +f 421/200/192 423/201/192 424/201/192 +f 420/199/193 422/200/193 414/202/193 +f 419/199/194 412/198/194 411/202/194 +f 426/203/192 417/197/192 416/197/192 +f 425/203/195 424/201/195 423/201/195 +f 425/203/194 416/197/194 415/202/194 +f 426/203/193 423/201/193 418/202/193 +f 428/204/195 430/205/195 427/204/195 +f 429/205/190 432/206/190 430/205/190 +f 431/206/191 434/207/191 432/206/191 +f 433/207/192 427/204/192 434/207/192 +f 429/205/194 433/207/194 431/206/194 +f 436/208/195 438/209/195 435/209/195 +f 435/209/190 440/210/190 439/210/190 +f 439/210/193 443/211/193 441/212/193 +f 436/208/192 444/212/192 437/208/192 +f 439/210/193 436/208/193 435/209/193 +f 443/211/191 446/213/191 445/211/191 +f 439/210/193 448/214/193 442/213/193 +f 441/212/192 445/211/192 444/212/192 +f 447/215/190 450/214/190 448/214/190 +f 442/213/191 450/214/191 446/213/191 +f 439/210/195 449/215/195 447/215/195 +f 428/204/195 429/205/195 430/205/195 +f 429/205/190 431/206/190 432/206/190 +f 431/206/191 433/207/191 434/207/191 +f 433/207/192 428/204/192 427/204/192 +f 429/205/194 428/204/194 433/207/194 +f 436/208/195 437/208/195 438/209/195 +f 435/209/190 438/209/190 440/210/190 +f 439/210/193 442/213/193 443/211/193 +f 436/208/192 441/212/192 444/212/192 +f 439/210/193 441/212/193 436/208/193 +f 443/211/191 442/213/191 446/213/191 +f 439/210/193 447/215/193 448/214/193 +f 441/212/192 443/211/192 445/211/192 +f 447/215/190 449/215/190 450/214/190 +f 442/213/191 448/214/191 450/214/191 +f 439/210/195 440/210/195 449/215/195 s 1 -f 943/935/570 944/936/570 938/937/571 -f 946/938/572 948/939/573 945/940/574 -f 950/941/575 945/940/574 949/942/576 -f 952/943/577 954/944/578 951/945/579 -f 956/946/580 958/947/581 955/948/582 -f 960/949/583 962/950/584 959/951/585 -f 964/952/586 966/953/587 963/954/588 -f 968/955/589 970/956/590 967/957/591 -f 948/939/573 968/955/589 967/957/591 -f 972/958/592 952/943/577 971/959/593 -f 974/960/594 964/952/586 973/961/595 -f 969/962/596 971/959/593 970/956/590 -f 976/963/597 978/964/598 975/965/599 -f 979/966/600 981/967/601 982/968/602 -f 984/969/603 955/948/582 983/970/604 -f 985/971/605 974/960/594 973/961/595 -f 988/972/606 990/973/607 987/974/608 -f 987/974/608 991/975/609 981/967/601 -f 993/976/610 995/977/611 992/978/612 -f 997/979/613 998/980/614 999/981/615 -f 958/947/581 1001/982/616 1002/983/617 -f 1004/984/618 1006/985/619 1003/986/620 -f 1002/983/617 1004/984/618 1003/986/620 -f 1005/987/621 1007/988/622 999/981/615 -f 1013/989/623 1014/990/624 1016/991/625 -f 1021/992/626 1022/993/627 943/935/628 -f 1016/991/625 943/935/570 1009/994/625 -f 966/953/587 949/942/576 963/954/588 -f 1023/995/629 939/996/630 938/937/631 -f 1024/997/632 989/998/633 988/972/606 -f 1022/993/627 1026/999/634 1017/1000/635 -f 985/971/605 1027/1001/636 1028/1002/637 -f 1029/1003/638 1000/1004/639 999/981/615 -f 1007/988/622 1030/1005/640 999/981/615 -f 1031/1006/641 1032/1007/642 1033/1008/643 -f 1035/1009/644 1037/1010/645 1034/1011/646 -f 986/1012/647 985/971/605 1028/1002/637 -f 1038/1013/648 1040/1014/649 1041/1015/650 -f 1042/1016/651 1043/1017/652 1028/1002/637 -f 1045/1018/653 959/951/585 1044/1019/654 -f 1027/1001/636 1042/1016/651 1028/1002/637 -f 1046/1020/655 986/1012/647 1028/1002/637 -f 961/1021/656 1046/1020/655 1028/1002/637 -f 998/980/614 1047/1022/657 999/981/615 -f 1047/1022/657 1048/1023/658 999/981/615 -f 1048/1023/658 1008/1024/659 999/981/615 -f 1036/1025/660 1050/1026/661 1037/1010/645 -f 1030/1005/640 1029/1003/638 999/981/615 -f 1033/1008/643 1051/1027/662 1052/1028/663 -f 1053/1029/664 1055/1030/665 1056/1031/666 -f 1056/1031/666 1057/1032/667 1058/1033/668 -f 1058/1033/668 963/954/588 949/942/576 -f 1060/1034/669 1062/1035/670 1059/1036/671 -f 1061/1037/672 1064/1038/673 1062/1035/670 -f 1063/1039/674 966/953/587 1064/1038/673 -f 1065/1040/675 1056/1031/666 1066/1041/676 -f 1066/1041/676 1058/1033/668 1067/1042/677 -f 1058/1033/668 945/940/574 1067/1042/677 -f 1068/1043/678 1061/1037/672 1060/1034/669 -f 1069/1044/679 1063/1039/674 1061/1037/672 -f 1063/1039/674 946/938/572 950/941/575 -f 1071/1045/680 1066/1041/676 1072/1046/681 -f 1066/1041/676 1073/1047/682 1072/1046/681 -f 1067/1042/677 948/939/573 1073/1047/682 -f 1074/1048/683 1069/1044/679 1068/1043/678 -f 1069/1044/679 1076/1049/684 1070/1050/685 -f 1070/1050/685 947/1051/686 946/938/572 -f 1077/1052/687 1079/1053/688 1080/1054/689 -f 1080/1054/689 1081/1055/690 1082/1056/691 -f 1082/1056/691 967/957/591 970/956/590 -f 1084/1057/692 1086/1058/693 1083/1059/694 -f 1085/1060/695 1088/1061/696 1086/1058/693 -f 1087/1062/697 968/955/589 1088/1061/696 -f 1077/1052/687 1090/1063/698 1089/1064/699 -f 1090/1063/698 1082/1056/691 1091/1065/700 -f 1082/1056/691 971/959/593 1091/1065/700 -f 1084/1057/692 1093/1066/701 1085/1060/695 -f 1093/1066/701 1087/1062/697 1085/1060/695 -f 1087/1062/697 972/958/592 969/962/596 -f 1089/1064/699 1096/1067/702 1095/1068/703 -f 1090/1063/698 1097/1069/704 1096/1067/702 -f 1091/1065/700 952/943/577 1097/1069/704 -f 1092/1070/705 1099/1071/706 1093/1066/701 -f 1093/1066/701 1100/1072/707 1094/1073/708 -f 1094/1073/708 953/1074/709 972/958/592 -f 1095/1068/703 1102/1075/710 1101/1076/711 -f 1096/1067/702 1103/1077/712 1102/1075/710 -f 1097/1069/704 951/945/579 1103/1077/712 -f 1098/1078/713 1105/1079/714 1099/1071/706 -f 1099/1071/706 1106/1080/715 1100/1072/707 -f 1100/1072/707 954/944/578 953/1074/709 -f 1078/1081/716 1072/1046/681 1079/1053/688 -f 1072/1046/681 1081/1055/690 1079/1053/688 -f 1073/1047/682 967/957/591 1081/1055/690 -f 1083/1059/694 1075/1082/717 1074/1048/683 -f 1075/1082/717 1088/1061/696 1076/1049/684 -f 1076/1049/684 968/955/589 947/1051/686 -f 1051/1027/662 1109/1083/718 1107/1084/719 -f 1109/1083/718 1110/1085/720 1111/1086/721 -f 1111/1086/721 973/961/595 964/952/586 -f 1035/1009/644 1113/1087/722 1114/1088/723 -f 1113/1087/722 1116/1089/724 1114/1088/723 -f 1115/1090/725 974/960/594 1116/1089/724 -f 1054/1091/726 1109/1083/718 1055/1030/665 -f 1055/1030/665 1111/1086/721 1057/1032/667 -f 1057/1032/667 964/952/586 963/954/588 -f 1059/1036/671 1113/1087/722 1112/1092/727 -f 1062/1035/670 1115/1090/725 1113/1087/722 -f 1064/1038/673 965/1093/728 1115/1090/725 -f 1118/1094/729 1120/1095/730 1117/1096/731 -f 1119/1097/732 1122/1098/733 1120/1095/730 -f 1121/1099/734 955/948/582 1122/1098/733 -f 1123/1100/735 1125/1101/736 1126/1102/737 -f 1126/1102/737 1127/1103/738 1128/1104/739 -f 1128/1104/739 956/946/580 984/969/603 -f 1117/1096/731 1130/1105/740 1129/1106/741 -f 1120/1095/730 1131/1107/742 1130/1105/740 -f 1122/1098/733 958/947/581 1131/1107/742 -f 1124/1108/743 1133/1109/744 1125/1101/736 -f 1125/1101/736 1134/1110/745 1127/1103/738 -f 1127/1103/738 957/1111/746 956/946/580 -f 1135/1112/747 1130/1105/740 1136/1113/748 -f 1136/1113/748 1131/1107/742 1137/1114/749 -f 1131/1107/742 1002/983/617 1137/1114/749 -f 1138/1115/750 1133/1109/744 1132/1116/751 -f 1139/1117/752 1134/1110/745 1133/1109/744 -f 1134/1110/745 1001/982/616 957/1111/746 -f 1141/1118/753 977/1119/754 976/963/597 -f 1132/1116/751 1059/1036/671 1138/1115/750 -f 1123/1100/735 975/965/755 1143/1120/756 -f 1126/1102/737 976/963/757 975/965/755 -f 1128/1104/739 1141/1118/758 976/963/757 -f 1149/1121/759 1151/1122/760 1148/1123/761 -f 1150/1124/762 1153/1125/763 1151/1122/760 -f 1152/1126/764 1006/985/619 1153/1125/763 -f 1147/1127/765 1154/1128/766 1155/1129/767 -f 1155/1129/767 1156/1130/768 1157/1131/769 -f 1157/1131/769 1005/987/621 1004/984/618 -f 1050/1026/661 1159/1132/770 1160/1133/771 -f 1160/1133/771 1161/1134/772 1162/1135/773 -f 1162/1135/773 1000/1004/639 1029/1003/638 -f 1135/1112/747 1150/1124/762 1149/1121/759 -f 1136/1113/748 1152/1126/764 1150/1124/762 -f 1137/1114/749 1003/986/620 1152/1126/764 -f 1138/1115/750 1155/1129/767 1139/1117/752 -f 1139/1117/752 1157/1131/769 1140/1136/774 -f 1140/1136/774 1004/984/618 1001/982/616 -f 973/961/595 1163/1137/775 985/971/605 -f 1163/1137/775 1110/1085/720 1108/1138/776 -f 1015/1139/777 1158/1140/777 944/936/777 -f 962/950/584 961/1021/656 1028/1002/637 -f 995/977/611 1167/1141/778 1168/1142/779 -f 1169/1143/780 1045/1018/653 1044/1019/654 -f 982/968/602 991/975/609 1170/1144/781 -f 1021/992/626 1171/1145/782 1172/1146/783 -f 1172/1146/783 1173/1147/784 1174/1148/785 -f 1174/1148/785 1024/997/632 988/972/606 -f 1165/1149/786 1176/1150/787 1166/1151/788 -f 1175/1152/789 1178/1153/790 1176/1150/787 -f 1177/1154/791 1023/995/629 1178/1153/790 -f 1021/992/626 1025/1155/792 1022/993/627 -f 1025/1155/792 1174/1148/785 1179/1156/793 -f 1174/1148/785 987/974/608 1179/1156/793 -f 1165/1149/786 1041/1015/650 1175/1152/789 -f 1041/1015/650 1177/1154/791 1175/1152/789 -f 1177/1154/791 990/973/607 989/998/633 -f 1025/1155/792 1179/1156/793 980/1157/794 -f 980/1157/794 987/974/608 981/967/601 -f 1041/1015/650 1181/1158/795 1180/1159/796 -f 1181/1158/795 990/973/607 1180/1159/796 -f 1023/995/629 937/1160/797 1178/1153/790 -f 1178/1153/790 936/1161/798 1176/1150/787 -f 1176/1150/787 935/1162/799 1166/1151/788 -f 942/1163/800 1171/1145/782 1020/1164/801 -f 941/1165/802 1173/1147/784 1171/1145/782 -f 940/1166/803 1024/997/632 1173/1147/784 -f 1010/1167/804 1182/1168/805 1011/1169/806 -f 1011/1169/806 1183/1170/807 1012/1171/808 -f 1012/1171/808 998/980/614 997/979/613 -f 1015/1139/809 1159/1132/770 1158/1140/810 -f 1014/990/624 1161/1134/772 1159/1132/770 -f 1013/989/623 1000/1004/639 1161/1134/772 -f 1031/1006/641 1182/1168/805 1019/1172/811 -f 1184/1173/812 1183/1170/807 1182/1168/805 -f 1185/1174/813 998/980/614 1183/1170/807 -f 974/960/594 1186/1175/814 1116/1089/724 -f 1116/1089/724 1186/1175/814 1114/1088/723 -f 1033/1008/643 1184/1173/812 1031/1006/641 -f 1187/1176/815 1185/1174/813 1184/1173/812 -f 1188/1177/816 1047/1022/657 1185/1174/813 -f 1052/1028/663 1187/1176/815 1033/1008/643 -f 1189/1178/817 1188/1177/816 1187/1176/815 -f 1190/1179/818 1048/1023/658 1188/1177/816 -f 1034/1011/646 1191/1180/819 1192/1181/820 -f 1192/1181/820 1193/1182/821 1194/1183/822 -f 1194/1183/822 1030/1005/640 1007/988/622 -f 1037/1010/645 1160/1133/771 1191/1180/819 -f 1191/1180/819 1162/1135/773 1193/1182/821 -f 1193/1182/821 1029/1003/638 1030/1005/640 -f 1032/1007/642 1108/1138/776 1051/1027/662 -f 1195/1184/823 1163/1137/775 1108/1138/776 -f 1163/1137/775 1027/1001/636 985/971/605 -f 992/978/612 1195/1184/823 1032/1007/642 -f 995/977/611 1196/1185/824 1195/1184/823 -f 1196/1185/824 1042/1016/651 1027/1001/636 -f 1018/1186/825 993/976/610 992/978/612 -f 1026/999/634 980/1157/794 979/966/600 -f 962/950/584 1028/1002/637 1043/1017/652 -f 1049/1187/826 1164/1188/827 1158/1140/810 -f 1040/1014/649 1181/1158/795 1041/1015/650 -f 1197/1189/828 991/975/609 1181/1158/795 -f 1049/1187/826 1198/1190/829 1045/1018/653 -f 1045/1018/653 1199/1191/830 960/949/583 -f 1199/1191/830 961/1021/656 960/949/583 -f 1036/1025/660 1114/1088/723 1198/1190/829 -f 1198/1190/829 1186/1175/814 1199/1191/830 -f 1199/1191/830 986/1012/647 1046/1020/655 -f 1006/985/619 1190/1179/818 1153/1125/763 -f 1153/1125/763 1189/1178/817 1151/1122/760 -f 1151/1122/760 1052/1028/663 1148/1123/761 -f 1034/1011/646 1154/1128/766 1146/1192/831 -f 1192/1181/820 1156/1130/768 1154/1128/766 -f 1194/1183/822 1005/987/621 1156/1130/768 -f 1200/1193/832 1142/1194/833 1141/1118/753 -f 1202/1195/834 1204/1196/835 1205/1197/836 -f 1121/1099/734 1200/1193/837 983/970/604 -f 1119/1097/732 1206/1198/838 1121/1099/734 -f 1118/1094/729 1202/1195/839 1119/1097/732 -f 1200/1193/837 984/969/603 983/970/604 -f 1201/1199/840 1208/1200/841 1142/1194/842 -f 1204/1196/843 1210/1201/844 1205/1197/845 -f 1205/1197/845 1211/1202/846 1212/1203/847 -f 1212/1203/847 1207/1204/848 1201/1199/840 -f 977/1119/849 1208/1200/841 1213/1205/850 -f 978/964/851 1213/1205/850 1214/1206/852 -f 1144/1207/853 1214/1206/852 1145/1208/854 -f 975/965/599 1144/1207/855 1143/1120/855 -f 1200/1193/832 1212/1203/856 1201/1199/857 -f 1207/1204/858 1211/1202/859 1209/1209/860 -f 1129/1106/741 1135/1112/747 1054/1091/726 -f 1206/1198/861 1205/1197/836 1212/1203/856 -f 1017/1000/635 993/976/610 1018/1186/825 -f 1169/1143/780 1039/1210/862 1164/1188/827 -f 1044/1019/654 1039/1210/862 1169/1143/780 -f 959/951/585 1040/1014/649 1044/1019/654 -f 959/951/585 1170/1144/781 1197/1189/828 -f 994/1211/863 1017/1000/635 1026/999/634 -f 1167/1141/778 1026/999/634 979/966/600 -f 1167/1141/778 982/968/602 1043/1017/652 -f 1043/1017/652 1170/1144/781 962/950/584 -f 1168/1142/779 1043/1017/652 1042/1016/651 -f 954/944/864 1106/1080/864 1104/1212/864 -f 1223/1213/777 1224/1214/777 1218/1215/777 -f 1225/1216/865 1218/1215/866 1217/1217/867 -f 1234/1218/628 1226/1219/628 1229/1220/628 -f 1229/1220/868 1215/1221/869 1224/1214/868 -f 1226/1219/866 1219/1222/870 1218/1215/866 -f 1234/1218/870 1220/1223/871 1219/1222/870 -f 1230/1224/872 1224/1214/868 1223/1213/872 -f 1233/1225/871 1221/1226/873 1220/1223/871 -f 1232/1227/874 1222/1228/875 1221/1226/874 -f 1217/1217/867 1227/1229/876 1225/1216/865 -f 1216/1230/877 1228/1231/869 1227/1229/877 -f 1231/1232/875 1223/1213/872 1222/1228/875 -f 1243/1233/777 1244/1234/777 1238/1235/777 -f 1245/1236/878 1238/1235/879 1237/1237/878 -f 1254/1238/628 1246/1239/628 1249/1240/628 -f 1249/1240/880 1235/1241/881 1244/1234/880 -f 1246/1239/879 1239/1242/882 1238/1235/879 -f 1254/1238/882 1240/1243/883 1239/1242/882 -f 1250/1244/884 1244/1234/880 1243/1233/884 -f 1253/1245/883 1241/1246/885 1240/1243/883 -f 1252/1247/886 1242/1248/887 1241/1246/886 -f 1237/1237/878 1247/1249/888 1245/1236/878 -f 1236/1250/889 1248/1251/881 1247/1249/889 -f 1251/1252/887 1243/1233/884 1242/1248/887 -f 1263/1253/777 1264/1254/777 1258/1255/777 -f 1265/1256/890 1258/1255/891 1257/1257/890 -f 1274/1258/628 1266/1259/628 1269/1260/628 -f 1269/1260/892 1255/1261/893 1264/1254/892 -f 1266/1259/894 1259/1262/895 1258/1255/891 -f 1274/1258/895 1260/1263/896 1259/1262/895 -f 1270/1264/897 1264/1254/892 1263/1253/897 -f 1273/1265/896 1261/1266/898 1260/1263/896 -f 1272/1267/899 1262/1268/900 1261/1266/899 -f 1257/1257/890 1267/1269/901 1265/1256/890 -f 1256/1270/902 1268/1271/893 1267/1269/902 -f 1271/1272/900 1263/1253/897 1262/1268/900 -f 1283/1273/777 1284/1274/777 1278/1275/777 -f 1285/1276/903 1278/1275/894 1277/1277/903 -f 1294/1278/628 1286/1279/628 1289/1280/628 -f 1289/1280/892 1275/1281/893 1284/1274/892 -f 1286/1279/894 1279/1282/895 1278/1275/894 -f 1294/1278/895 1280/1283/896 1279/1282/895 -f 1290/1284/904 1284/1274/892 1283/1273/904 -f 1293/1285/896 1281/1286/898 1280/1283/896 -f 1292/1287/905 1282/1288/906 1281/1286/905 -f 1277/1277/903 1287/1289/901 1285/1276/903 -f 1276/1290/902 1288/1291/893 1287/1289/902 -f 1291/1292/906 1283/1273/904 1282/1288/906 -f 1303/1293/777 1304/1294/777 1298/1295/777 -f 1305/1296/865 1298/1295/866 1297/1297/867 -f 1314/1298/628 1306/1299/628 1309/1300/628 -f 1309/1300/868 1295/1301/869 1304/1294/868 -f 1306/1299/866 1299/1302/870 1298/1295/866 -f 1314/1298/870 1300/1303/871 1299/1302/870 -f 1310/1304/872 1304/1294/868 1303/1293/872 -f 1313/1305/871 1301/1306/873 1300/1303/871 -f 1312/1307/874 1302/1308/875 1301/1306/874 -f 1297/1297/867 1307/1309/876 1305/1296/865 -f 1296/1310/877 1308/1311/869 1307/1309/877 -f 1311/1312/875 1303/1293/872 1302/1308/875 -f 1323/1313/777 1324/1314/777 1318/1315/777 -f 1325/1316/878 1318/1315/879 1317/1317/878 -f 1334/1318/628 1326/1319/628 1329/1320/628 -f 1329/1320/880 1315/1321/907 1324/1314/880 -f 1326/1319/879 1319/1322/882 1318/1315/879 -f 1334/1318/882 1320/1323/883 1319/1322/882 -f 1330/1324/884 1324/1314/880 1323/1313/884 -f 1333/1325/883 1321/1326/885 1320/1323/883 -f 1332/1327/886 1322/1328/887 1321/1326/886 -f 1317/1317/878 1327/1329/888 1325/1316/878 -f 1316/1330/889 1328/1331/881 1327/1329/889 -f 1331/1332/887 1323/1313/884 1322/1328/887 -f 1343/1333/777 1344/1334/777 1338/1335/777 -f 1345/1336/890 1338/1335/891 1337/1337/890 -f 1354/1338/628 1346/1339/628 1349/1340/628 -f 1349/1340/892 1335/1341/893 1344/1334/892 -f 1346/1339/894 1339/1342/895 1338/1335/891 -f 1354/1338/895 1340/1343/896 1339/1342/895 -f 1350/1344/897 1344/1334/892 1343/1333/897 -f 1353/1345/896 1341/1346/898 1340/1343/896 -f 1352/1347/908 1342/1348/900 1341/1346/908 -f 1337/1337/890 1347/1349/901 1345/1336/890 -f 1336/1350/902 1348/1351/893 1347/1349/902 -f 1351/1352/906 1343/1333/897 1342/1348/900 -f 1363/1353/777 1364/1354/777 1358/1355/777 -f 1365/1356/903 1358/1355/894 1357/1357/903 -f 1374/1358/628 1366/1359/628 1369/1360/628 -f 1369/1360/892 1355/1361/893 1364/1354/892 -f 1366/1359/894 1359/1362/895 1358/1355/894 -f 1374/1358/895 1360/1363/896 1359/1362/895 -f 1370/1364/904 1364/1354/892 1363/1353/904 -f 1373/1365/896 1361/1366/898 1360/1363/896 -f 1372/1367/905 1362/1368/906 1361/1366/905 -f 1357/1357/903 1367/1369/901 1365/1356/903 -f 1356/1370/902 1368/1371/909 1367/1369/902 -f 1371/1372/906 1363/1353/904 1362/1368/906 -f 944/936/570 935/1162/571 938/937/571 -f 935/1162/571 936/1161/571 937/1160/571 -f 938/937/571 935/1162/571 937/1160/571 -f 938/937/571 939/996/571 943/935/570 -f 939/996/571 940/1166/571 942/1163/571 -f 940/1166/571 941/1165/571 942/1163/571 -f 942/1163/571 943/935/570 939/996/571 -f 946/938/572 947/1051/686 948/939/573 -f 950/941/575 946/938/572 945/940/574 -f 952/943/577 953/1074/709 954/944/578 -f 956/946/580 957/1111/746 958/947/581 -f 960/949/583 961/1021/656 962/950/584 -f 964/952/586 965/1093/728 966/953/587 -f 968/955/589 969/962/596 970/956/590 -f 948/939/573 947/1051/686 968/955/589 -f 972/958/592 953/1074/709 952/943/577 -f 974/960/594 965/1093/728 964/952/586 -f 969/962/596 972/958/592 971/959/593 -f 976/963/597 977/1119/754 978/964/598 -f 979/966/600 980/1157/794 981/967/601 -f 984/969/603 956/946/580 955/948/582 -f 985/971/605 986/1012/647 974/960/594 -f 988/972/606 989/998/633 990/973/607 -f 987/974/608 990/973/607 991/975/609 -f 993/976/610 994/1211/863 995/977/611 -f 1000/1004/639 996/1373/613 999/981/615 -f 996/1373/613 997/979/613 999/981/615 -f 958/947/581 957/1111/746 1001/982/616 -f 1004/984/618 1005/987/621 1006/985/619 -f 1002/983/617 1001/982/616 1004/984/618 -f 1008/1024/659 1006/985/619 999/981/615 -f 1006/985/619 1005/987/621 999/981/615 -f 1016/991/625 1009/994/625 997/979/613 -f 1009/994/625 1010/1167/804 1011/1169/806 -f 1011/1169/806 1012/1171/808 1009/994/625 -f 1012/1171/808 997/979/613 1009/994/625 -f 1014/990/624 1015/1139/809 1016/991/625 -f 997/979/613 996/1373/613 1016/991/625 -f 996/1373/613 1013/989/623 1016/991/625 -f 1022/993/627 1017/1000/635 1018/1186/628 -f 1018/1186/628 1019/1172/628 1022/993/627 -f 1019/1172/628 1010/1167/628 943/935/628 -f 1022/993/627 1019/1172/628 943/935/628 -f 1010/1167/628 1009/994/628 943/935/628 -f 943/935/628 942/1163/800 1020/1164/801 -f 1020/1164/801 1021/992/626 943/935/628 -f 1016/991/625 944/936/570 943/935/570 -f 966/953/587 950/941/575 949/942/576 -f 1023/995/629 1024/997/632 939/996/630 -f 1024/997/632 1023/995/629 989/998/633 -f 1022/993/627 1025/1155/792 1026/999/634 -f 1031/1006/641 992/978/612 1032/1007/642 -f 1035/1009/644 1036/1025/660 1037/1010/645 -f 1038/1013/648 1039/1210/862 1040/1014/649 -f 1045/1018/653 960/949/583 959/951/585 -f 1036/1025/660 1049/1187/826 1050/1026/661 -f 1033/1008/643 1032/1007/642 1051/1027/662 -f 1053/1029/664 1054/1091/726 1055/1030/665 -f 1056/1031/666 1055/1030/665 1057/1032/667 -f 1058/1033/668 1057/1032/667 963/954/588 -f 1060/1034/669 1061/1037/672 1062/1035/670 -f 1061/1037/672 1063/1039/674 1064/1038/673 -f 1063/1039/674 950/941/575 966/953/587 -f 1065/1040/675 1053/1029/664 1056/1031/666 -f 1066/1041/676 1056/1031/666 1058/1033/668 -f 1058/1033/668 949/942/576 945/940/574 -f 1068/1043/678 1069/1044/679 1061/1037/672 -f 1069/1044/679 1070/1050/685 1063/1039/674 -f 1063/1039/674 1070/1050/685 946/938/572 -f 1071/1045/680 1065/1040/675 1066/1041/676 -f 1066/1041/676 1067/1042/677 1073/1047/682 -f 1067/1042/677 945/940/574 948/939/573 -f 1074/1048/683 1075/1082/717 1069/1044/679 -f 1069/1044/679 1075/1082/717 1076/1049/684 -f 1070/1050/685 1076/1049/684 947/1051/686 -f 1077/1052/687 1078/1081/716 1079/1053/688 -f 1080/1054/689 1079/1053/688 1081/1055/690 -f 1082/1056/691 1081/1055/690 967/957/591 -f 1084/1057/692 1085/1060/695 1086/1058/693 -f 1085/1060/695 1087/1062/697 1088/1061/696 -f 1087/1062/697 969/962/596 968/955/589 -f 1077/1052/687 1080/1054/689 1090/1063/698 -f 1090/1063/698 1080/1054/689 1082/1056/691 -f 1082/1056/691 970/956/590 971/959/593 -f 1084/1057/692 1092/1070/705 1093/1066/701 -f 1093/1066/701 1094/1073/708 1087/1062/697 -f 1087/1062/697 1094/1073/708 972/958/592 -f 1089/1064/699 1090/1063/698 1096/1067/702 -f 1090/1063/698 1091/1065/700 1097/1069/704 -f 1091/1065/700 971/959/593 952/943/577 -f 1092/1070/705 1098/1078/713 1099/1071/706 -f 1093/1066/701 1099/1071/706 1100/1072/707 -f 1094/1073/708 1100/1072/707 953/1074/709 -f 1095/1068/703 1096/1067/702 1102/1075/710 -f 1096/1067/702 1097/1069/704 1103/1077/712 -f 1097/1069/704 952/943/577 951/945/579 -f 1098/1078/713 1104/1212/910 1105/1079/714 -f 1099/1071/706 1105/1079/714 1106/1080/715 -f 1100/1072/707 1106/1080/715 954/944/578 -f 1078/1081/716 1071/1045/680 1072/1046/681 -f 1072/1046/681 1073/1047/682 1081/1055/690 -f 1073/1047/682 948/939/573 967/957/591 -f 1083/1059/694 1086/1058/693 1075/1082/717 -f 1075/1082/717 1086/1058/693 1088/1061/696 -f 1076/1049/684 1088/1061/696 968/955/589 -f 1051/1027/662 1108/1138/776 1109/1083/718 -f 1109/1083/718 1108/1138/776 1110/1085/720 -f 1111/1086/721 1110/1085/720 973/961/595 -f 1035/1009/644 1112/1092/727 1113/1087/722 -f 1113/1087/722 1115/1090/725 1116/1089/724 -f 1115/1090/725 965/1093/728 974/960/594 -f 1054/1091/726 1107/1084/719 1109/1083/718 -f 1055/1030/665 1109/1083/718 1111/1086/721 -f 1057/1032/667 1111/1086/721 964/952/586 -f 1059/1036/671 1062/1035/670 1113/1087/722 -f 1062/1035/670 1064/1038/673 1115/1090/725 -f 1064/1038/673 966/953/587 965/1093/728 -f 1118/1094/729 1119/1097/732 1120/1095/730 -f 1119/1097/732 1121/1099/734 1122/1098/733 -f 1121/1099/734 983/970/604 955/948/582 -f 1123/1100/735 1124/1108/743 1125/1101/736 -f 1126/1102/737 1125/1101/736 1127/1103/738 -f 1128/1104/739 1127/1103/738 956/946/580 -f 1117/1096/731 1120/1095/730 1130/1105/740 -f 1120/1095/730 1122/1098/733 1131/1107/742 -f 1122/1098/733 955/948/582 958/947/581 -f 1124/1108/743 1132/1116/751 1133/1109/744 -f 1125/1101/736 1133/1109/744 1134/1110/745 -f 1127/1103/738 1134/1110/745 957/1111/746 -f 1135/1112/747 1129/1106/741 1130/1105/740 -f 1136/1113/748 1130/1105/740 1131/1107/742 -f 1131/1107/742 958/947/581 1002/983/617 -f 1138/1115/750 1139/1117/752 1133/1109/744 -f 1139/1117/752 1140/1136/774 1134/1110/745 -f 1134/1110/745 1140/1136/774 1001/982/616 -f 1141/1118/753 1142/1194/833 977/1119/754 -f 1143/1120/756 1144/1207/853 1145/1208/854 -f 1145/1208/854 1104/1212/910 1098/1078/713 -f 1098/1078/713 1092/1070/705 1084/1057/692 -f 1084/1057/692 1083/1059/694 1098/1078/713 -f 1083/1059/694 1074/1048/683 1143/1120/756 -f 1074/1048/683 1068/1043/678 1123/1100/735 -f 1068/1043/678 1060/1034/669 1123/1100/735 -f 1060/1034/669 1059/1036/671 1124/1108/743 -f 1059/1036/671 1112/1092/727 1138/1115/750 -f 1060/1034/669 1124/1108/743 1123/1100/735 -f 1112/1092/727 1035/1009/644 1146/1192/831 -f 1035/1009/644 1034/1011/646 1146/1192/831 -f 1083/1059/694 1143/1120/756 1145/1208/854 -f 1145/1208/854 1098/1078/713 1083/1059/694 -f 1123/1100/735 1143/1120/756 1074/1048/683 -f 1112/1092/727 1146/1192/831 1147/1127/765 -f 1112/1092/727 1147/1127/765 1138/1115/750 -f 1124/1108/743 1059/1036/671 1132/1116/751 -f 1123/1100/735 1126/1102/737 975/965/755 -f 1126/1102/737 1128/1104/739 976/963/757 -f 1128/1104/739 984/969/603 1141/1118/758 -f 1149/1121/759 1150/1124/762 1151/1122/760 -f 1150/1124/762 1152/1126/764 1153/1125/763 -f 1152/1126/764 1003/986/620 1006/985/619 -f 1147/1127/765 1146/1192/831 1154/1128/766 -f 1155/1129/767 1154/1128/766 1156/1130/768 -f 1157/1131/769 1156/1130/768 1005/987/621 -f 1050/1026/661 1158/1140/810 1159/1132/770 -f 1160/1133/771 1159/1132/770 1161/1134/772 -f 1162/1135/773 1161/1134/772 1000/1004/639 -f 1135/1112/747 1136/1113/748 1150/1124/762 -f 1136/1113/748 1137/1114/749 1152/1126/764 -f 1137/1114/749 1002/983/617 1003/986/620 -f 1138/1115/750 1147/1127/765 1155/1129/767 -f 1139/1117/752 1155/1129/767 1157/1131/769 -f 1140/1136/774 1157/1131/769 1004/984/618 -f 973/961/595 1110/1085/720 1163/1137/775 -f 1158/1140/777 1164/1188/777 1038/1013/648 -f 1164/1188/777 1039/1210/862 1038/1013/648 -f 1038/1013/648 1165/1149/786 944/936/777 -f 1158/1140/777 1038/1013/648 944/936/777 -f 1165/1149/786 1166/1151/788 944/936/777 -f 1166/1151/788 935/1162/799 944/936/777 -f 944/936/777 1016/991/777 1015/1139/777 -f 995/977/611 994/1211/863 1167/1141/778 -f 1169/1143/780 1049/1187/826 1045/1018/653 -f 982/968/602 981/967/601 991/975/609 -f 1021/992/626 1020/1164/801 1171/1145/782 -f 1172/1146/783 1171/1145/782 1173/1147/784 -f 1174/1148/785 1173/1147/784 1024/997/632 -f 1165/1149/786 1175/1152/789 1176/1150/787 -f 1175/1152/789 1177/1154/791 1178/1153/790 -f 1177/1154/791 989/998/633 1023/995/629 -f 1021/992/626 1172/1146/783 1025/1155/792 -f 1025/1155/792 1172/1146/783 1174/1148/785 -f 1174/1148/785 988/972/606 987/974/608 -f 1165/1149/786 1038/1013/648 1041/1015/650 -f 1041/1015/650 1180/1159/796 1177/1154/791 -f 1177/1154/791 1180/1159/796 990/973/607 -f 980/1157/794 1179/1156/793 987/974/608 -f 1181/1158/795 991/975/609 990/973/607 -f 1023/995/629 938/937/631 937/1160/797 -f 1178/1153/790 937/1160/797 936/1161/798 -f 1176/1150/787 936/1161/798 935/1162/799 -f 942/1163/800 941/1165/802 1171/1145/782 -f 941/1165/802 940/1166/803 1173/1147/784 -f 940/1166/803 939/996/630 1024/997/632 -f 1010/1167/804 1019/1172/811 1182/1168/805 -f 1011/1169/806 1182/1168/805 1183/1170/807 -f 1012/1171/808 1183/1170/807 998/980/614 -f 1015/1139/809 1014/990/624 1159/1132/770 -f 1014/990/624 1013/989/623 1161/1134/772 -f 1013/989/623 996/1373/613 1000/1004/639 -f 1031/1006/641 1184/1173/812 1182/1168/805 -f 1184/1173/812 1185/1174/813 1183/1170/807 -f 1185/1174/813 1047/1022/657 998/980/614 -f 974/960/594 986/1012/647 1186/1175/814 -f 1033/1008/643 1187/1176/815 1184/1173/812 -f 1187/1176/815 1188/1177/816 1185/1174/813 -f 1188/1177/816 1048/1023/658 1047/1022/657 -f 1052/1028/663 1189/1178/817 1187/1176/815 -f 1189/1178/817 1190/1179/818 1188/1177/816 -f 1190/1179/818 1008/1024/659 1048/1023/658 -f 1034/1011/646 1037/1010/645 1191/1180/819 -f 1192/1181/820 1191/1180/819 1193/1182/821 -f 1194/1183/822 1193/1182/821 1030/1005/640 -f 1037/1010/645 1050/1026/661 1160/1133/771 -f 1191/1180/819 1160/1133/771 1162/1135/773 -f 1193/1182/821 1162/1135/773 1029/1003/638 -f 1032/1007/642 1195/1184/823 1108/1138/776 -f 1195/1184/823 1196/1185/824 1163/1137/775 -f 1163/1137/775 1196/1185/824 1027/1001/636 -f 992/978/612 995/977/611 1195/1184/823 -f 995/977/611 1168/1142/779 1196/1185/824 -f 1196/1185/824 1168/1142/779 1042/1016/651 -f 1031/1006/641 1019/1172/811 992/978/612 -f 1019/1172/811 1018/1186/825 992/978/612 -f 1026/999/634 1025/1155/792 980/1157/794 -f 1158/1140/810 1050/1026/661 1049/1187/826 -f 1049/1187/826 1169/1143/780 1164/1188/827 -f 1040/1014/649 1197/1189/828 1181/1158/795 -f 1197/1189/828 1170/1144/781 991/975/609 -f 1049/1187/826 1036/1025/660 1198/1190/829 -f 1045/1018/653 1198/1190/829 1199/1191/830 -f 1199/1191/830 1046/1020/655 961/1021/656 -f 1036/1025/660 1035/1009/644 1114/1088/723 -f 1198/1190/829 1114/1088/723 1186/1175/814 -f 1199/1191/830 1186/1175/814 986/1012/647 -f 1006/985/619 1008/1024/659 1190/1179/818 -f 1153/1125/763 1190/1179/818 1189/1178/817 -f 1151/1122/760 1189/1178/817 1052/1028/663 -f 1034/1011/646 1192/1181/820 1154/1128/766 -f 1192/1181/820 1194/1183/822 1156/1130/768 -f 1194/1183/822 1007/988/622 1005/987/621 -f 1200/1193/832 1201/1199/857 1142/1194/833 -f 1202/1195/834 1203/1374/835 1204/1196/835 -f 1121/1099/734 1206/1198/838 1200/1193/837 -f 1119/1097/732 1202/1195/839 1206/1198/838 -f 1118/1094/729 1203/1374/911 1202/1195/839 -f 1200/1193/837 1141/1118/758 984/969/603 -f 1201/1199/840 1207/1204/848 1208/1200/841 -f 1204/1196/843 1209/1209/912 1210/1201/844 -f 1205/1197/845 1210/1201/844 1211/1202/846 -f 1212/1203/847 1211/1202/846 1207/1204/848 -f 977/1119/849 1142/1194/842 1208/1200/841 -f 978/964/851 977/1119/849 1213/1205/850 -f 1144/1207/853 978/964/851 1214/1206/852 -f 975/965/599 978/964/598 1144/1207/855 -f 1200/1193/832 1206/1198/861 1212/1203/856 -f 1211/1202/859 1210/1201/859 1209/1209/860 -f 1209/1209/860 1101/1076/913 1207/1204/858 -f 1101/1076/913 1104/1212/914 1208/1200/915 -f 1104/1212/914 1145/1208/916 1208/1200/915 -f 1145/1208/916 1214/1206/859 1213/1205/859 -f 1208/1200/915 1145/1208/916 1213/1205/859 -f 1208/1200/915 1207/1204/858 1101/1076/913 -f 1148/1123/761 1052/1028/663 1051/1027/662 -f 1051/1027/662 1107/1084/719 1148/1123/761 -f 1107/1084/719 1054/1091/726 1135/1112/747 -f 1148/1123/761 1107/1084/719 1149/1121/759 -f 1054/1091/726 1053/1029/664 1117/1096/731 -f 1053/1029/664 1065/1040/675 1118/1094/729 -f 1065/1040/675 1071/1045/680 1118/1094/729 -f 1071/1045/680 1078/1081/716 1203/1374/911 -f 1078/1081/716 1077/1052/687 1089/1064/699 -f 1089/1064/699 1095/1068/703 1078/1081/716 -f 1095/1068/703 1101/1076/711 1209/1209/912 -f 1209/1209/912 1204/1196/843 1203/1374/911 -f 1209/1209/912 1203/1374/911 1078/1081/716 -f 1095/1068/703 1209/1209/912 1078/1081/716 -f 1053/1029/664 1118/1094/729 1117/1096/731 -f 1071/1045/680 1203/1374/911 1118/1094/729 -f 1149/1121/759 1107/1084/719 1135/1112/747 -f 1117/1096/731 1129/1106/741 1054/1091/726 -f 1206/1198/861 1202/1195/834 1205/1197/836 -f 1044/1019/654 1040/1014/649 1039/1210/862 -f 959/951/585 1197/1189/828 1040/1014/649 -f 959/951/585 962/950/584 1170/1144/781 -f 994/1211/863 993/976/610 1017/1000/635 -f 1167/1141/778 994/1211/863 1026/999/634 -f 1167/1141/778 979/966/600 982/968/602 -f 1043/1017/652 982/968/602 1170/1144/781 -f 1168/1142/779 1167/1141/778 1043/1017/652 -f 1105/1079/864 1104/1212/864 1106/1080/864 -f 1104/1212/864 1101/1076/864 954/944/864 -f 1101/1076/864 1102/1075/864 1103/1077/864 -f 1103/1077/864 951/945/864 1101/1076/864 -f 951/945/864 954/944/864 1101/1076/864 -f 1224/1214/777 1215/1221/777 1218/1215/777 -f 1215/1221/777 1216/1230/777 1217/1217/777 -f 1218/1215/777 1215/1221/777 1217/1217/777 -f 1218/1215/777 1219/1222/777 1223/1213/777 -f 1219/1222/777 1220/1223/777 1222/1228/777 -f 1220/1223/777 1221/1226/777 1222/1228/777 -f 1222/1228/777 1223/1213/777 1219/1222/777 -f 1225/1216/865 1226/1219/866 1218/1215/866 -f 1226/1219/628 1225/1216/628 1228/1231/628 -f 1225/1216/628 1227/1229/628 1228/1231/628 -f 1228/1231/628 1229/1220/628 1226/1219/628 -f 1229/1220/628 1230/1224/628 1234/1218/628 -f 1230/1224/628 1231/1232/628 1233/1225/628 -f 1231/1232/628 1232/1227/628 1233/1225/628 -f 1233/1225/628 1234/1218/628 1230/1224/628 -f 1229/1220/868 1228/1231/869 1215/1221/869 -f 1226/1219/866 1234/1218/870 1219/1222/870 -f 1234/1218/870 1233/1225/871 1220/1223/871 -f 1230/1224/872 1229/1220/868 1224/1214/868 -f 1233/1225/871 1232/1227/873 1221/1226/873 -f 1232/1227/874 1231/1232/875 1222/1228/875 -f 1217/1217/867 1216/1230/876 1227/1229/876 -f 1216/1230/877 1215/1221/869 1228/1231/869 -f 1231/1232/875 1230/1224/872 1223/1213/872 -f 1244/1234/777 1235/1241/777 1237/1237/777 -f 1235/1241/777 1236/1250/777 1237/1237/777 -f 1237/1237/777 1238/1235/777 1244/1234/777 -f 1238/1235/777 1239/1242/777 1243/1233/777 -f 1239/1242/777 1240/1243/777 1242/1248/777 -f 1240/1243/777 1241/1246/777 1242/1248/777 -f 1242/1248/777 1243/1233/777 1239/1242/777 -f 1245/1236/878 1246/1239/879 1238/1235/879 -f 1246/1239/628 1245/1236/628 1249/1240/628 -f 1245/1236/628 1247/1249/628 1248/1251/628 -f 1249/1240/628 1245/1236/628 1248/1251/628 -f 1249/1240/628 1250/1244/628 1254/1238/628 -f 1250/1244/628 1251/1252/628 1253/1245/628 -f 1251/1252/628 1252/1247/628 1253/1245/628 -f 1253/1245/628 1254/1238/628 1250/1244/628 -f 1249/1240/880 1248/1251/881 1235/1241/881 -f 1246/1239/879 1254/1238/882 1239/1242/882 -f 1254/1238/882 1253/1245/883 1240/1243/883 -f 1250/1244/884 1249/1240/880 1244/1234/880 -f 1253/1245/883 1252/1247/885 1241/1246/885 -f 1252/1247/886 1251/1252/887 1242/1248/887 -f 1237/1237/878 1236/1250/888 1247/1249/888 -f 1236/1250/889 1235/1241/881 1248/1251/881 -f 1251/1252/887 1250/1244/884 1243/1233/884 -f 1264/1254/777 1255/1261/777 1258/1255/777 -f 1255/1261/777 1256/1270/777 1257/1257/777 -f 1258/1255/777 1255/1261/777 1257/1257/777 -f 1258/1255/777 1259/1262/777 1263/1253/777 -f 1259/1262/777 1260/1263/777 1262/1268/777 -f 1260/1263/777 1261/1266/777 1262/1268/777 -f 1262/1268/777 1263/1253/777 1259/1262/777 -f 1265/1256/890 1266/1259/894 1258/1255/891 -f 1266/1259/628 1265/1256/628 1268/1271/628 -f 1265/1256/628 1267/1269/628 1268/1271/628 -f 1268/1271/628 1269/1260/628 1266/1259/628 -f 1269/1260/628 1270/1264/628 1274/1258/628 -f 1270/1264/628 1271/1272/628 1273/1265/628 -f 1271/1272/628 1272/1267/628 1273/1265/628 -f 1273/1265/628 1274/1258/628 1270/1264/628 -f 1269/1260/892 1268/1271/893 1255/1261/893 -f 1266/1259/894 1274/1258/895 1259/1262/895 -f 1274/1258/895 1273/1265/896 1260/1263/896 -f 1270/1264/897 1269/1260/892 1264/1254/892 -f 1273/1265/896 1272/1267/898 1261/1266/898 -f 1272/1267/899 1271/1272/900 1262/1268/900 -f 1257/1257/890 1256/1270/901 1267/1269/901 -f 1256/1270/902 1255/1261/893 1268/1271/893 -f 1271/1272/900 1270/1264/897 1263/1253/897 -f 1284/1274/777 1275/1281/777 1277/1277/777 -f 1275/1281/777 1276/1290/777 1277/1277/777 -f 1277/1277/777 1278/1275/777 1284/1274/777 -f 1278/1275/777 1279/1282/777 1283/1273/777 -f 1279/1282/777 1280/1283/777 1282/1288/777 -f 1280/1283/777 1281/1286/777 1282/1288/777 -f 1282/1288/777 1283/1273/777 1279/1282/777 -f 1285/1276/903 1286/1279/894 1278/1275/894 -f 1286/1279/628 1285/1276/628 1289/1280/628 -f 1285/1276/628 1287/1289/628 1288/1291/628 -f 1289/1280/628 1285/1276/628 1288/1291/628 -f 1289/1280/628 1290/1284/628 1294/1278/628 -f 1290/1284/628 1291/1292/628 1293/1285/628 -f 1291/1292/628 1292/1287/628 1293/1285/628 -f 1293/1285/628 1294/1278/628 1290/1284/628 -f 1289/1280/892 1288/1291/893 1275/1281/893 -f 1286/1279/894 1294/1278/895 1279/1282/895 -f 1294/1278/895 1293/1285/896 1280/1283/896 -f 1290/1284/904 1289/1280/892 1284/1274/892 -f 1293/1285/896 1292/1287/898 1281/1286/898 -f 1292/1287/905 1291/1292/906 1282/1288/906 -f 1277/1277/903 1276/1290/901 1287/1289/901 -f 1276/1290/902 1275/1281/893 1288/1291/893 -f 1291/1292/906 1290/1284/904 1283/1273/904 -f 1304/1294/777 1295/1301/777 1298/1295/777 -f 1295/1301/777 1296/1310/777 1297/1297/777 -f 1298/1295/777 1295/1301/777 1297/1297/777 -f 1298/1295/777 1299/1302/777 1303/1293/777 -f 1299/1302/777 1300/1303/777 1302/1308/777 -f 1300/1303/777 1301/1306/777 1302/1308/777 -f 1302/1308/777 1303/1293/777 1299/1302/777 -f 1305/1296/865 1306/1299/866 1298/1295/866 -f 1306/1299/628 1305/1296/628 1308/1311/628 -f 1305/1296/628 1307/1309/628 1308/1311/628 -f 1308/1311/628 1309/1300/628 1306/1299/628 -f 1309/1300/628 1310/1304/628 1314/1298/628 -f 1310/1304/628 1311/1312/628 1313/1305/628 -f 1311/1312/628 1312/1307/628 1313/1305/628 -f 1313/1305/628 1314/1298/628 1310/1304/628 -f 1309/1300/868 1308/1311/869 1295/1301/869 -f 1306/1299/866 1314/1298/870 1299/1302/870 -f 1314/1298/870 1313/1305/871 1300/1303/871 -f 1310/1304/872 1309/1300/868 1304/1294/868 -f 1313/1305/871 1312/1307/873 1301/1306/873 -f 1312/1307/874 1311/1312/875 1302/1308/875 -f 1297/1297/867 1296/1310/876 1307/1309/876 -f 1296/1310/877 1295/1301/869 1308/1311/869 -f 1311/1312/875 1310/1304/872 1303/1293/872 -f 1324/1314/777 1315/1321/777 1318/1315/777 -f 1315/1321/777 1316/1330/777 1317/1317/777 -f 1318/1315/777 1315/1321/777 1317/1317/777 -f 1318/1315/777 1319/1322/777 1323/1313/777 -f 1319/1322/777 1320/1323/777 1322/1328/777 -f 1320/1323/777 1321/1326/777 1322/1328/777 -f 1322/1328/777 1323/1313/777 1319/1322/777 -f 1325/1316/878 1326/1319/879 1318/1315/879 -f 1326/1319/628 1325/1316/628 1328/1331/628 -f 1325/1316/628 1327/1329/628 1328/1331/628 -f 1328/1331/628 1329/1320/628 1326/1319/628 -f 1329/1320/628 1330/1324/628 1334/1318/628 -f 1330/1324/628 1331/1332/628 1333/1325/628 -f 1331/1332/628 1332/1327/628 1333/1325/628 -f 1333/1325/628 1334/1318/628 1330/1324/628 -f 1329/1320/880 1328/1331/881 1315/1321/907 -f 1326/1319/879 1334/1318/882 1319/1322/882 -f 1334/1318/882 1333/1325/883 1320/1323/883 -f 1330/1324/884 1329/1320/880 1324/1314/880 -f 1333/1325/883 1332/1327/885 1321/1326/885 -f 1332/1327/886 1331/1332/887 1322/1328/887 -f 1317/1317/878 1316/1330/888 1327/1329/888 -f 1316/1330/889 1315/1321/907 1328/1331/881 -f 1331/1332/887 1330/1324/884 1323/1313/884 -f 1344/1334/777 1335/1341/777 1338/1335/777 -f 1335/1341/777 1336/1350/777 1337/1337/777 -f 1338/1335/777 1335/1341/777 1337/1337/777 -f 1338/1335/777 1339/1342/777 1343/1333/777 -f 1339/1342/777 1340/1343/777 1342/1348/777 -f 1340/1343/777 1341/1346/777 1342/1348/777 -f 1342/1348/777 1343/1333/777 1339/1342/777 -f 1345/1336/890 1346/1339/894 1338/1335/891 -f 1346/1339/628 1345/1336/628 1348/1351/628 -f 1345/1336/628 1347/1349/628 1348/1351/628 -f 1348/1351/628 1349/1340/628 1346/1339/628 -f 1349/1340/628 1350/1344/628 1354/1338/628 -f 1350/1344/628 1351/1352/628 1353/1345/628 -f 1351/1352/628 1352/1347/628 1353/1345/628 -f 1353/1345/628 1354/1338/628 1350/1344/628 -f 1349/1340/892 1348/1351/893 1335/1341/893 -f 1346/1339/894 1354/1338/895 1339/1342/895 -f 1354/1338/895 1353/1345/896 1340/1343/896 -f 1350/1344/897 1349/1340/892 1344/1334/892 -f 1353/1345/896 1352/1347/898 1341/1346/898 -f 1352/1347/908 1351/1352/906 1342/1348/900 -f 1337/1337/890 1336/1350/901 1347/1349/901 -f 1336/1350/902 1335/1341/893 1348/1351/893 -f 1351/1352/906 1350/1344/897 1343/1333/897 -f 1364/1354/777 1355/1361/777 1357/1357/777 -f 1355/1361/777 1356/1370/777 1357/1357/777 -f 1357/1357/777 1358/1355/777 1364/1354/777 -f 1358/1355/777 1359/1362/777 1363/1353/777 -f 1359/1362/777 1360/1363/777 1362/1368/777 -f 1360/1363/777 1361/1366/777 1362/1368/777 -f 1362/1368/777 1363/1353/777 1359/1362/777 -f 1365/1356/903 1366/1359/894 1358/1355/894 -f 1366/1359/628 1365/1356/628 1369/1360/628 -f 1365/1356/628 1367/1369/628 1368/1371/628 -f 1369/1360/628 1365/1356/628 1368/1371/628 -f 1369/1360/628 1370/1364/628 1374/1358/628 -f 1370/1364/628 1371/1372/628 1373/1365/628 -f 1371/1372/628 1372/1367/628 1373/1365/628 -f 1373/1365/628 1374/1358/628 1370/1364/628 -f 1369/1360/892 1368/1371/909 1355/1361/893 -f 1366/1359/894 1374/1358/895 1359/1362/895 -f 1374/1358/895 1373/1365/896 1360/1363/896 -f 1370/1364/904 1369/1360/892 1364/1354/892 -f 1373/1365/896 1372/1367/898 1361/1366/898 -f 1372/1367/905 1371/1372/906 1362/1368/906 -f 1357/1357/903 1356/1370/901 1367/1369/901 -f 1356/1370/902 1355/1361/893 1368/1371/909 -f 1371/1372/906 1370/1364/904 1363/1353/904 +f 451/216/194 454/217/197 457/218/194 +f 430/205/194 467/219/194 468/220/194 +f 471/221/198 473/222/199 470/221/200 +f 450/214/193 449/215/193 479/217/201 +f 474/223/193 437/208/193 444/212/193 +f 466/223/195 475/224/202 474/223/195 +f 472/222/203 484/225/204 473/222/199 +f 476/226/205 464/226/205 483/225/206 +f 476/226/205 465/224/202 464/226/205 +f 470/221/200 492/227/207 471/221/198 +f 463/228/208 493/229/209 494/230/210 +f 494/230/210 495/231/211 496/232/212 +f 496/232/212 497/233/213 498/234/214 +f 498/234/214 470/221/200 473/222/199 +f 477/228/215 500/229/216 478/235/217 +f 499/230/218 502/231/219 500/229/216 +f 501/232/220 504/233/221 502/231/219 +f 503/234/222 471/221/198 504/233/221 +f 464/226/223 494/230/210 490/236/224 +f 494/230/210 485/237/225 490/236/224 +f 496/232/212 486/238/226 485/237/225 +f 486/238/226 473/222/199 484/225/204 +f 476/226/227 499/230/218 477/228/215 +f 499/230/218 488/237/228 501/232/220 +f 501/232/220 487/238/229 503/234/222 +f 487/238/229 472/222/203 503/234/222 +f 492/227/207 504/233/221 471/221/198 +f 505/239/230 502/231/219 504/233/221 +f 506/240/231 500/229/216 502/231/219 +f 507/241/232 478/235/217 500/229/216 +f 509/241/233 510/242/234 508/243/235 +f 462/235/236 461/244/237 511/245/235 +f 517/246/238 518/247/238 514/240/239 +f 495/231/211 520/239/240 497/233/213 +f 497/233/213 491/227/241 470/221/200 +f 479/217/242 491/227/191 454/217/242 +f 453/248/243 481/249/243 480/248/243 +f 451/216/244 474/223/244 482/216/244 +f 452/249/245 482/216/245 481/249/245 +f 522/250/246 457/218/247 521/218/248 +f 523/220/249 469/251/250 468/220/251 +f 526/219/252 459/252/253 525/252/254 +f 523/220/249 467/219/255 526/219/252 +f 532/253/256 533/254/257 529/255/258 +f 525/252/254 458/250/259 522/250/246 +f 515/256/260 511/245/261 536/245/262 +f 461/244/191 460/257/263 537/257/263 +f 535/256/264 516/258/265 515/256/260 +f 521/218/248 456/259/266 539/259/266 +f 538/258/267 517/246/268 516/258/265 +f 542/260/269 519/261/270 541/261/271 +f 540/246/272 518/247/273 517/246/268 +f 524/251/274 460/257/263 469/251/250 +f 508/243/275 510/242/276 513/260/277 +f 539/259/266 456/259/266 455/262/195 +f 526/219/252 545/263/278 546/264/279 +f 545/263/278 530/265/280 546/264/279 +f 530/265/280 547/266/281 546/264/279 +f 547/266/281 526/219/252 546/264/279 +f 532/253/256 548/267/282 549/268/283 +f 549/268/283 521/218/248 539/259/284 +f 525/252/254 550/269/285 545/263/278 +f 545/263/278 550/269/285 531/270/286 +f 544/243/287 549/268/283 539/259/284 +f 549/268/283 533/254/257 532/253/256 +f 534/271/288 552/272/289 553/273/290 +f 552/272/289 541/261/271 553/273/290 +f 527/274/291 554/275/292 555/276/293 +f 555/276/293 538/258/267 535/256/264 +f 524/251/274 557/277/294 537/257/295 +f 556/278/296 529/255/258 557/277/294 +f 528/279/297 557/277/294 529/255/258 +f 557/277/294 536/245/298 537/257/295 +f 540/246/272 560/280/299 543/247/300 +f 559/281/301 534/271/288 560/280/299 +f 528/279/297 555/276/293 558/282/302 +f 558/282/302 535/256/264 536/245/298 +f 540/246/272 554/275/292 559/281/301 +f 559/281/301 554/275/292 527/274/291 +f 534/271/288 553/273/290 560/280/299 +f 553/273/290 543/247/300 560/280/299 +f 542/260/269 551/283/303 544/243/287 +f 552/272/289 533/254/257 551/283/303 +f 530/265/280 556/278/296 547/266/281 +f 556/278/296 523/220/249 547/266/281 +f 531/270/286 550/269/285 548/267/282 +f 548/267/282 522/250/246 521/218/248 +f 518/247/273 541/261/271 519/261/270 +f 459/252/194 432/206/194 434/207/194 +f 451/216/194 452/249/194 453/248/194 +f 459/252/194 434/207/194 451/216/194 +f 458/250/194 459/252/194 451/216/194 +f 451/216/194 453/248/194 454/217/197 +f 454/217/197 455/262/237 456/259/194 +f 457/218/194 458/250/194 451/216/194 +f 454/217/197 456/259/194 457/218/194 +f 460/257/194 461/244/237 462/235/236 +f 463/228/208 464/226/223 430/205/194 +f 464/226/223 465/224/194 430/205/194 +f 460/257/194 462/235/236 469/251/194 +f 462/235/236 463/228/208 430/205/194 +f 469/251/194 462/235/236 430/205/194 +f 465/224/194 466/223/194 430/205/194 +f 466/223/194 451/216/194 427/204/194 +f 451/216/194 434/207/194 427/204/194 +f 468/220/194 469/251/194 430/205/194 +f 432/206/194 459/252/194 467/219/194 +f 430/205/194 432/206/194 467/219/194 +f 466/223/194 427/204/194 430/205/194 +f 471/221/198 472/222/203 473/222/199 +f 438/209/193 437/208/193 474/223/193 +f 474/223/193 475/224/193 438/209/193 +f 475/224/193 476/226/227 438/209/193 +f 476/226/227 477/228/215 438/209/193 +f 449/215/193 440/210/193 478/235/217 +f 440/210/193 438/209/193 478/235/217 +f 438/209/193 477/228/215 478/235/217 +f 479/217/201 480/248/193 482/216/193 +f 480/248/193 481/249/193 482/216/193 +f 482/216/193 445/211/193 446/213/193 +f 449/215/193 478/235/217 479/217/201 +f 482/216/193 446/213/193 479/217/201 +f 446/213/193 450/214/193 479/217/201 +f 444/212/193 445/211/193 482/216/193 +f 482/216/193 474/223/193 444/212/193 +f 466/223/195 465/224/202 475/224/202 +f 472/222/203 483/225/206 484/225/204 +f 490/236/304 485/237/225 484/225/204 +f 485/237/225 486/238/226 484/225/204 +f 484/225/204 483/225/206 464/226/205 +f 490/236/304 484/225/204 464/226/205 +f 483/225/206 487/238/229 488/237/228 +f 488/237/228 489/236/304 483/225/206 +f 489/236/304 476/226/205 483/225/206 +f 476/226/205 475/224/202 465/224/202 +f 470/221/200 491/227/241 492/227/207 +f 463/228/208 462/235/236 493/229/209 +f 494/230/210 493/229/209 495/231/211 +f 496/232/212 495/231/211 497/233/213 +f 498/234/214 497/233/213 470/221/200 +f 477/228/215 499/230/218 500/229/216 +f 499/230/218 501/232/220 502/231/219 +f 501/232/220 503/234/222 504/233/221 +f 503/234/222 472/222/203 471/221/198 +f 464/226/223 463/228/208 494/230/210 +f 494/230/210 496/232/212 485/237/225 +f 496/232/212 498/234/214 486/238/226 +f 486/238/226 498/234/214 473/222/199 +f 476/226/227 489/236/305 499/230/218 +f 499/230/218 489/236/305 488/237/228 +f 501/232/220 488/237/228 487/238/229 +f 487/238/229 483/225/206 472/222/203 +f 492/227/207 505/239/230 504/233/221 +f 505/239/230 506/240/231 502/231/219 +f 506/240/231 507/241/232 500/229/216 +f 507/241/232 479/217/201 478/235/217 +f 508/243/235 455/262/237 454/217/197 +f 454/217/197 509/241/233 508/243/235 +f 511/245/235 512/284/234 493/229/209 +f 493/229/209 462/235/236 511/245/235 +f 513/260/306 510/242/234 514/240/239 +f 510/242/234 509/241/233 514/240/239 +f 495/231/211 493/229/209 515/256/306 +f 493/229/209 512/284/234 515/256/306 +f 519/261/306 513/260/306 514/240/239 +f 495/231/211 515/256/306 516/258/306 +f 495/231/211 516/258/306 517/246/238 +f 518/247/238 519/261/306 514/240/239 +f 495/231/211 517/246/238 514/240/239 +f 495/231/211 514/240/239 520/239/240 +f 497/233/213 520/239/240 491/227/241 +f 520/239/191 514/240/191 491/227/191 +f 514/240/191 509/241/191 491/227/191 +f 509/241/191 454/217/242 491/227/191 +f 454/217/242 453/248/307 479/217/242 +f 453/248/307 480/248/307 479/217/242 +f 479/217/242 507/241/191 492/227/191 +f 507/241/191 506/240/191 492/227/191 +f 506/240/191 505/239/191 492/227/191 +f 492/227/191 491/227/191 479/217/242 +f 453/248/243 452/249/243 481/249/243 +f 451/216/244 466/223/244 474/223/244 +f 452/249/245 451/216/245 482/216/245 +f 522/250/246 458/250/259 457/218/247 +f 523/220/249 524/251/274 469/251/250 +f 526/219/252 467/219/255 459/252/253 +f 523/220/249 468/220/251 467/219/255 +f 534/271/288 527/274/291 528/279/297 +f 528/279/297 529/255/258 533/254/257 +f 529/255/258 530/265/280 532/253/256 +f 528/279/297 533/254/257 534/271/288 +f 530/265/280 531/270/286 532/253/256 +f 525/252/254 459/252/253 458/250/259 +f 536/245/262 535/256/264 515/256/260 +f 515/256/260 512/284/308 511/245/261 +f 537/257/263 536/245/262 461/244/191 +f 536/245/262 511/245/261 461/244/191 +f 535/256/264 538/258/267 516/258/265 +f 521/218/248 457/218/247 456/259/266 +f 538/258/267 540/246/272 517/246/268 +f 542/260/269 513/260/277 519/261/270 +f 540/246/272 543/247/300 518/247/273 +f 524/251/274 537/257/263 460/257/263 +f 513/260/277 542/260/269 544/243/309 +f 544/243/309 508/243/275 513/260/277 +f 508/243/275 544/243/309 455/262/195 +f 544/243/309 539/259/266 455/262/195 +f 526/219/252 525/252/254 545/263/278 +f 545/263/278 531/270/286 530/265/280 +f 547/266/281 523/220/249 526/219/252 +f 532/253/256 531/270/286 548/267/282 +f 549/268/283 548/267/282 521/218/248 +f 525/252/254 522/250/246 550/269/285 +f 544/243/287 551/283/303 549/268/283 +f 549/268/283 551/283/303 533/254/257 +f 552/272/289 542/260/269 541/261/271 +f 555/276/293 554/275/292 538/258/267 +f 524/251/274 556/278/296 557/277/294 +f 556/278/296 530/265/280 529/255/258 +f 528/279/297 558/282/302 557/277/294 +f 557/277/294 558/282/302 536/245/298 +f 540/246/272 559/281/301 560/280/299 +f 559/281/301 527/274/291 534/271/288 +f 528/279/297 527/274/291 555/276/293 +f 558/282/302 555/276/293 535/256/264 +f 540/246/272 538/258/267 554/275/292 +f 553/273/290 541/261/271 543/247/300 +f 542/260/269 552/272/289 551/283/303 +f 552/272/289 534/271/288 533/254/257 +f 556/278/296 524/251/274 523/220/249 +f 548/267/282 550/269/285 522/250/246 +f 518/247/273 543/247/300 541/261/271 +f 562/285/190 564/286/190 561/285/190 +f 566/287/310 561/285/195 565/287/310 +f 568/288/311 570/289/312 567/288/311 +f 572/290/313 574/291/314 571/290/313 +f 573/291/314 576/292/315 574/291/314 +f 575/292/315 565/287/310 576/292/315 +f 563/286/191 578/293/191 564/286/191 +f 580/294/316 571/290/313 579/294/316 +f 569/289/312 582/295/317 570/289/312 +f 581/295/317 584/296/318 582/295/317 +f 583/296/318 577/293/319 584/296/318 +f 590/297/193 591/298/193 587/299/193 +f 597/300/193 598/301/193 576/292/193 +f 609/302/193 613/303/193 614/304/193 +f 608/305/320 620/306/321 619/305/320 +f 607/306/321 567/288/311 620/306/321 +f 579/294/316 621/307/322 580/294/316 +f 610/307/322 622/302/323 621/307/322 +f 622/302/323 608/305/320 619/305/320 +f 630/304/194 631/303/194 622/302/194 +f 635/299/194 570/289/194 637/298/194 +f 645/308/194 650/309/194 562/285/194 +f 586/310/324 635/299/325 587/299/325 +f 601/311/326 640/312/327 624/311/326 +f 614/304/328 629/313/329 615/313/329 +f 596/314/330 645/308/331 644/314/330 +f 613/303/332 630/304/328 614/304/328 +f 613/303/332 632/315/333 631/303/332 +f 612/315/333 623/316/334 632/315/333 +f 611/316/334 624/311/326 623/316/334 +f 597/300/335 644/314/330 643/300/335 +f 598/301/336 643/300/335 642/301/336 +f 599/317/337 642/301/336 641/317/337 +f 641/317/337 600/312/327 599/317/337 +f 587/299/325 634/318/338 588/318/338 +f 588/318/338 647/319/339 593/319/339 +f 593/319/339 646/320/340 594/320/340 +f 595/308/331 646/320/340 645/308/331 +f 615/313/329 628/321/341 616/321/341 +f 616/321/341 627/322/342 617/322/342 +f 617/322/342 626/323/343 618/323/343 +f 618/323/343 625/310/324 586/310/324 +f 604/324/344 650/309/192 605/309/192 +f 603/325/195 651/324/344 604/324/344 +f 602/326/345 652/325/195 603/325/195 +f 585/327/346 637/298/190 636/327/346 +f 591/298/190 638/297/347 637/298/190 +f 589/328/348 648/329/191 633/328/348 +f 649/330/349 592/329/191 606/330/349 +f 606/330/349 650/309/192 649/330/349 +f 562/285/190 563/286/190 564/286/190 +f 566/287/310 562/285/195 561/285/195 +f 568/288/311 569/289/312 570/289/312 +f 572/290/313 573/291/314 574/291/314 +f 573/291/314 575/292/315 576/292/315 +f 575/292/315 566/287/310 565/287/310 +f 563/286/191 577/293/191 578/293/191 +f 580/294/316 572/290/313 571/290/313 +f 569/289/312 581/295/317 582/295/317 +f 581/295/317 583/296/318 584/296/318 +f 583/296/318 578/293/319 577/293/319 +f 591/298/193 585/327/193 581/295/193 +f 581/295/193 569/289/193 591/298/193 +f 569/289/193 586/310/193 587/299/193 +f 591/298/193 569/289/193 587/299/193 +f 587/299/193 588/318/193 590/297/193 +f 588/318/193 589/328/193 590/297/193 +f 592/329/193 589/328/193 588/318/193 +f 592/329/193 588/318/193 593/319/193 +f 606/330/193 592/329/193 593/319/193 +f 606/330/193 593/319/193 594/320/193 +f 605/309/193 606/330/193 594/320/193 +f 605/309/193 594/320/193 595/308/193 +f 605/309/193 595/308/193 561/285/193 +f 595/308/193 596/314/193 561/285/193 +f 581/295/193 585/327/193 602/326/193 +f 564/286/193 578/293/193 583/296/193 +f 583/296/193 581/295/193 603/325/193 +f 581/295/193 602/326/193 603/325/193 +f 565/287/193 561/285/193 576/292/193 +f 561/285/193 564/286/193 605/309/193 +f 561/285/193 596/314/193 597/300/193 +f 576/292/193 561/285/193 597/300/193 +f 564/286/193 583/296/193 605/309/193 +f 583/296/193 603/325/193 604/324/193 +f 583/296/193 604/324/193 605/309/193 +f 601/311/193 571/290/193 600/312/193 +f 571/290/193 574/291/193 600/312/193 +f 600/312/193 574/291/193 599/317/193 +f 574/291/193 576/292/193 599/317/193 +f 598/301/193 599/317/193 576/292/193 +f 618/323/193 586/310/193 569/289/193 +f 569/289/193 568/288/193 618/323/193 +f 568/288/193 607/306/193 617/322/193 +f 618/323/193 568/288/193 617/322/193 +f 607/306/193 608/305/193 616/321/193 +f 608/305/193 609/302/193 614/304/193 +f 609/302/193 610/307/193 612/315/193 +f 610/307/193 579/294/193 611/316/193 +f 612/315/193 610/307/193 611/316/193 +f 579/294/193 571/290/193 601/311/193 +f 579/294/193 601/311/193 611/316/193 +f 616/321/193 617/322/193 607/306/193 +f 615/313/193 616/321/193 608/305/193 +f 609/302/193 612/315/193 613/303/193 +f 614/304/193 615/313/193 608/305/193 +f 608/305/320 607/306/321 620/306/321 +f 607/306/321 568/288/311 567/288/311 +f 579/294/316 610/307/322 621/307/322 +f 610/307/322 609/302/323 622/302/323 +f 622/302/323 609/302/323 608/305/320 +f 623/316/194 624/311/194 580/294/194 +f 624/311/194 572/290/194 580/294/194 +f 580/294/194 621/307/194 623/316/194 +f 622/302/194 619/305/194 630/304/194 +f 619/305/194 620/306/194 628/321/194 +f 630/304/194 619/305/194 629/313/194 +f 620/306/194 567/288/194 627/322/194 +f 567/288/194 570/289/194 626/323/194 +f 570/289/194 625/310/194 626/323/194 +f 567/288/194 626/323/194 627/322/194 +f 632/315/194 623/316/194 621/307/194 +f 620/306/194 627/322/194 628/321/194 +f 632/315/194 621/307/194 622/302/194 +f 631/303/194 632/315/194 622/302/194 +f 628/321/194 629/313/194 619/305/194 +f 638/297/194 633/328/194 634/318/194 +f 635/299/194 625/310/194 570/289/194 +f 638/297/194 634/318/194 635/299/194 +f 582/295/194 636/327/194 637/298/194 +f 637/298/194 638/297/194 635/299/194 +f 570/289/194 582/295/194 637/298/194 +f 639/326/194 636/327/194 582/295/194 +f 584/296/194 577/293/194 563/286/194 +f 639/326/194 582/295/194 652/325/194 +f 582/295/194 584/296/194 652/325/194 +f 563/286/194 562/285/194 650/309/194 +f 562/285/194 566/287/194 575/292/194 +f 644/314/194 562/285/194 643/300/194 +f 562/285/194 644/314/194 645/308/194 +f 562/285/194 575/292/194 643/300/194 +f 652/325/194 584/296/194 651/324/194 +f 584/296/194 563/286/194 650/309/194 +f 651/324/194 584/296/194 650/309/194 +f 573/291/194 572/290/194 640/312/194 +f 572/290/194 624/311/194 640/312/194 +f 575/292/194 573/291/194 641/317/194 +f 573/291/194 640/312/194 641/317/194 +f 634/318/194 633/328/194 648/329/194 +f 647/319/194 634/318/194 648/329/194 +f 647/319/194 648/329/194 649/330/194 +f 646/320/194 647/319/194 649/330/194 +f 646/320/194 649/330/194 650/309/194 +f 645/308/194 646/320/194 650/309/194 +f 575/292/194 641/317/194 642/301/194 +f 575/292/194 642/301/194 643/300/194 +f 586/310/324 625/310/324 635/299/325 +f 601/311/326 600/312/327 640/312/327 +f 614/304/328 630/304/328 629/313/329 +f 596/314/330 595/308/331 645/308/331 +f 613/303/332 631/303/332 630/304/328 +f 613/303/332 612/315/333 632/315/333 +f 612/315/333 611/316/334 623/316/334 +f 611/316/334 601/311/326 624/311/326 +f 597/300/335 596/314/330 644/314/330 +f 598/301/336 597/300/335 643/300/335 +f 599/317/337 598/301/336 642/301/336 +f 641/317/337 640/312/327 600/312/327 +f 587/299/325 635/299/325 634/318/338 +f 588/318/338 634/318/338 647/319/339 +f 593/319/339 647/319/339 646/320/340 +f 595/308/331 594/320/340 646/320/340 +f 615/313/329 629/313/329 628/321/341 +f 616/321/341 628/321/341 627/322/342 +f 617/322/342 627/322/342 626/323/343 +f 618/323/343 626/323/343 625/310/324 +f 604/324/344 651/324/344 650/309/192 +f 603/325/195 652/325/195 651/324/344 +f 602/326/345 639/326/345 652/325/195 +f 639/326/345 602/326/345 585/327/346 +f 585/327/346 591/298/190 637/298/190 +f 636/327/346 639/326/345 585/327/346 +f 591/298/190 590/297/347 638/297/347 +f 633/328/348 638/297/347 590/297/347 +f 589/328/348 592/329/191 648/329/191 +f 633/328/348 590/297/347 589/328/348 +f 649/330/349 648/329/191 592/329/191 +f 606/330/349 605/309/192 650/309/192 +s 0 +f 654/331/195 656/332/195 653/331/195 +f 658/333/350 659/333/350 662/334/350 +f 665/335/191 667/336/191 664/335/191 +f 669/337/192 653/331/192 668/337/192 +f 664/335/193 668/337/193 658/333/193 +f 655/332/194 669/337/194 659/333/194 +f 659/333/194 666/336/194 665/335/194 +f 658/333/193 653/331/193 656/332/193 +f 666/336/192 668/337/192 667/336/192 +f 655/332/190 658/333/190 656/332/190 +f 660/338/190 671/339/190 661/338/190 +f 657/338/190 673/339/190 672/339/190 +f 665/335/191 664/335/191 674/340/191 +f 665/335/194 660/338/194 659/333/194 +f 658/333/193 672/339/193 664/335/193 +f 662/334/351 671/339/351 674/340/351 +f 663/338/352 674/340/352 673/339/352 +f 654/331/195 655/332/195 656/332/195 +f 663/338/195 657/338/195 658/333/195 +f 659/333/195 660/338/195 661/338/195 +f 662/334/195 663/338/195 658/333/195 +f 659/333/195 661/338/195 662/334/195 +f 665/335/191 666/336/191 667/336/191 +f 669/337/192 654/331/192 653/331/192 +f 664/335/193 667/336/193 668/337/193 +f 655/332/194 654/331/194 669/337/194 +f 659/333/194 669/337/194 666/336/194 +f 658/333/193 668/337/193 653/331/193 +f 666/336/192 669/337/192 668/337/192 +f 655/332/190 659/333/190 658/333/190 +f 660/338/190 670/339/190 671/339/190 +f 657/338/190 663/338/190 673/339/190 +f 674/340/191 671/339/191 665/335/191 +f 671/339/191 670/339/191 665/335/191 +f 664/335/191 672/339/191 673/339/191 +f 664/335/191 673/339/191 674/340/191 +f 665/335/194 670/339/194 660/338/194 +f 658/333/193 657/338/193 672/339/193 +f 662/334/351 661/338/351 671/339/351 +f 663/338/352 662/334/352 674/340/352 +s 1 +f 676/341/190 678/342/347 675/341/190 +f 677/342/347 680/343/191 678/342/347 +f 679/343/191 682/344/349 680/343/191 +f 681/344/349 684/345/192 682/344/349 +f 683/345/192 686/346/344 684/345/192 +f 685/346/344 688/347/195 686/346/344 +f 679/343/194 676/341/194 687/347/194 +f 687/347/195 690/348/345 688/347/195 +f 689/348/345 675/341/190 690/348/345 +f 688/347/193 690/348/193 682/344/193 +f 676/341/190 677/342/347 678/342/347 +f 677/342/347 679/343/191 680/343/191 +f 679/343/191 681/344/349 682/344/349 +f 681/344/349 683/345/192 684/345/192 +f 683/345/192 685/346/344 686/346/344 +f 685/346/344 687/347/195 688/347/195 +f 679/343/194 677/342/194 676/341/194 +f 676/341/194 689/348/194 687/347/194 +f 687/347/194 685/346/194 683/345/194 +f 683/345/194 681/344/194 687/347/194 +f 681/344/194 679/343/194 687/347/194 +f 687/347/195 689/348/345 690/348/345 +f 689/348/345 676/341/190 675/341/190 +f 690/348/193 675/341/193 682/344/193 +f 675/341/193 678/342/193 682/344/193 +f 678/342/193 680/343/193 682/344/193 +f 682/344/193 684/345/193 686/346/193 +f 686/346/193 688/347/193 682/344/193 +f 699/349/353 700/349/353 694/350/354 +f 702/351/355 704/352/356 701/351/357 +f 706/353/358 701/351/357 705/353/359 +f 708/354/360 710/355/361 707/355/362 +f 712/356/363 714/357/364 711/356/365 +f 716/358/366 718/359/367 715/360/368 +f 720/361/369 722/362/370 719/362/371 +f 724/363/372 726/364/373 723/363/374 +f 704/352/356 724/363/372 723/363/374 +f 728/365/375 708/354/360 727/365/376 +f 730/366/377 720/361/369 729/366/378 +f 725/364/379 727/365/376 726/364/373 +f 732/367/380 734/368/381 731/369/382 +f 735/370/383 737/371/384 738/372/385 +f 740/373/386 711/356/365 739/373/387 +f 741/374/388 730/366/377 729/366/378 +f 744/375/389 746/376/390 743/376/391 +f 743/376/391 747/371/392 737/371/384 +f 749/377/393 751/378/394 748/379/395 +f 753/380/396 754/381/397 755/381/398 +f 714/357/364 757/382/399 758/382/400 +f 760/383/401 762/384/402 759/383/403 +f 758/382/400 760/383/401 759/383/403 +f 761/384/404 763/385/405 755/381/398 +f 769/380/406 770/380/407 772/386/408 +f 777/387/409 778/388/410 699/349/194 +f 772/386/408 699/349/353 765/386/408 +f 722/362/370 705/353/359 719/362/371 +f 779/389/411 695/350/412 694/350/413 +f 780/389/414 745/375/415 744/375/389 +f 778/388/410 782/390/416 773/391/417 +f 741/374/388 783/392/418 784/393/419 +f 785/394/420 756/381/421 755/381/398 +f 763/385/405 786/395/422 755/381/398 +f 787/396/423 788/397/424 789/398/425 +f 791/399/426 793/398/427 790/400/428 +f 742/401/429 741/374/388 784/393/419 +f 794/388/430 796/402/431 797/403/432 +f 798/404/433 799/405/434 784/393/419 +f 801/378/435 715/360/368 800/406/436 +f 783/392/418 798/404/433 784/393/419 +f 802/392/437 742/401/429 784/393/419 +f 717/404/438 802/392/437 784/393/419 +f 754/381/397 803/394/439 755/381/398 +f 803/394/439 804/395/440 755/381/398 +f 804/395/440 764/385/441 755/381/398 +f 792/397/442 806/396/443 793/398/427 +f 786/395/422 785/394/420 755/381/398 +f 789/398/425 807/399/444 808/400/445 +f 809/407/446 811/408/447 812/409/448 +f 812/409/448 813/410/449 814/411/450 +f 814/411/450 719/362/371 705/353/359 +f 816/407/451 818/408/452 815/412/453 +f 817/409/454 820/410/455 818/408/452 +f 819/411/456 722/362/370 820/410/455 +f 821/413/457 812/409/448 822/414/458 +f 822/414/458 814/411/450 823/415/459 +f 814/411/450 701/351/357 823/415/459 +f 824/413/460 817/409/454 816/407/451 +f 825/414/461 819/411/456 817/409/454 +f 819/411/456 702/351/355 706/353/358 +f 827/416/462 822/414/458 828/417/463 +f 822/414/458 829/418/464 828/417/463 +f 823/415/459 704/352/356 829/418/464 +f 830/416/465 825/414/461 824/413/460 +f 825/414/461 832/418/466 826/415/467 +f 826/415/467 703/352/468 702/351/355 +f 833/419/469 835/420/470 836/421/471 +f 836/421/471 837/422/472 838/423/473 +f 838/423/473 723/363/374 726/364/373 +f 840/419/474 842/420/475 839/424/476 +f 841/421/477 844/422/478 842/420/475 +f 843/423/479 724/363/372 844/422/478 +f 833/419/469 846/425/480 845/426/481 +f 846/425/480 838/423/473 847/427/482 +f 838/423/473 727/365/376 847/427/482 +f 840/419/474 849/425/483 841/421/477 +f 849/425/483 843/423/479 841/421/477 +f 843/423/479 728/365/375 725/364/379 +f 845/426/481 852/428/484 851/429/485 +f 846/425/480 853/430/486 852/428/484 +f 847/427/482 708/354/360 853/430/486 +f 848/426/487 855/428/488 849/425/483 +f 849/425/483 856/430/489 850/427/490 +f 850/427/490 709/354/491 728/365/375 +f 851/429/485 858/431/492 857/432/493 +f 852/428/484 859/433/494 858/431/492 +f 853/430/486 707/355/362 859/433/494 +f 854/429/495 861/431/496 855/428/488 +f 855/428/488 862/433/497 856/430/489 +f 856/430/489 710/355/361 709/354/491 +f 834/424/498 828/417/463 835/420/470 +f 828/417/463 837/422/472 835/420/470 +f 829/418/464 723/363/374 837/422/472 +f 839/424/476 831/417/499 830/416/465 +f 831/417/499 844/422/478 832/418/466 +f 832/418/466 724/363/372 703/352/468 +f 807/399/444 865/434/500 863/435/501 +f 865/434/500 866/436/502 867/437/503 +f 867/437/503 729/366/378 720/361/369 +f 791/399/426 869/434/504 870/438/505 +f 869/434/504 872/436/506 870/438/505 +f 871/437/507 730/366/377 872/436/506 +f 810/412/508 865/434/500 811/408/447 +f 811/408/447 867/437/503 813/410/449 +f 813/410/449 720/361/369 719/362/371 +f 815/412/453 869/434/504 868/435/509 +f 818/408/452 871/437/507 869/434/504 +f 820/410/455 721/361/510 871/437/507 +f 874/439/511 876/440/512 873/441/513 +f 875/442/514 878/443/515 876/440/512 +f 877/444/516 711/356/365 878/443/515 +f 879/439/517 881/440/518 882/442/519 +f 882/442/519 883/443/520 884/444/521 +f 884/444/521 712/356/363 740/373/386 +f 873/441/513 886/445/522 885/446/523 +f 876/440/512 887/447/524 886/445/522 +f 878/443/515 714/357/364 887/447/524 +f 880/441/525 889/445/526 881/440/518 +f 881/440/518 890/447/527 883/443/520 +f 883/443/520 713/357/528 712/356/363 +f 891/448/529 886/445/522 892/449/530 +f 892/449/530 887/447/524 893/450/531 +f 887/447/524 758/382/400 893/450/531 +f 894/448/532 889/445/526 888/446/533 +f 895/449/534 890/447/527 889/445/526 +f 890/447/527 757/382/399 713/357/528 +f 897/451/535 733/452/536 732/367/380 +f 888/446/533 815/412/453 894/448/532 +f 879/439/517 731/369/537 899/453/538 +f 882/442/519 732/367/539 731/369/537 +f 884/444/521 897/451/540 732/367/539 +f 905/454/541 907/455/542 904/456/543 +f 906/457/544 909/458/545 907/455/542 +f 908/459/546 762/384/402 909/458/545 +f 903/454/547 910/455/548 911/460/549 +f 911/460/549 912/458/550 913/459/551 +f 913/459/551 761/384/404 760/383/401 +f 806/396/443 915/461/552 916/462/553 +f 916/462/553 917/463/554 918/464/555 +f 918/464/555 756/381/421 785/394/420 +f 891/448/529 906/457/544 905/454/541 +f 892/449/530 908/459/546 906/457/544 +f 893/450/531 759/383/403 908/459/546 +f 894/448/532 911/460/549 895/449/534 +f 895/449/534 913/459/551 896/450/556 +f 896/450/556 760/383/401 757/382/399 +f 729/366/378 919/465/557 741/374/388 +f 919/465/557 866/436/502 864/466/558 +f 771/380/193 914/467/193 700/349/193 +f 718/359/367 717/404/438 784/393/419 +f 751/378/394 923/468/559 924/358/560 +f 925/469/561 801/378/435 800/406/436 +f 738/372/385 747/371/392 926/470/562 +f 777/387/409 927/471/563 928/472/564 +f 928/472/564 929/473/565 930/474/566 +f 930/474/566 780/389/414 744/375/389 +f 921/387/567 932/471/568 922/475/569 +f 931/472/570 934/473/571 932/471/568 +f 933/474/572 779/389/411 934/473/571 +f 777/387/409 781/403/573 778/388/410 +f 781/403/573 930/474/566 935/476/574 +f 930/474/566 743/376/391 935/476/574 +f 921/387/567 797/403/432 931/472/570 +f 797/403/432 933/474/572 931/472/570 +f 933/474/572 746/376/390 745/375/415 +f 781/403/573 935/476/574 736/477/575 +f 736/477/575 743/376/391 737/371/384 +f 797/403/432 937/477/576 936/476/577 +f 937/477/576 746/376/390 936/476/577 +f 779/389/411 693/478/578 934/473/571 +f 934/473/571 692/479/579 932/471/568 +f 932/471/568 691/480/580 922/475/569 +f 698/480/581 927/471/563 776/475/582 +f 697/479/583 929/473/565 927/471/563 +f 696/478/584 780/389/414 929/473/565 +f 766/380/585 938/461/586 767/380/587 +f 767/380/587 939/463/588 768/380/589 +f 768/380/589 754/381/397 753/380/396 +f 771/380/590 915/461/552 914/467/591 +f 770/380/407 917/463/554 915/461/552 +f 769/380/406 756/381/421 917/463/554 +f 787/396/423 938/461/586 775/467/592 +f 940/462/593 939/463/588 938/461/586 +f 941/464/594 754/381/397 939/463/588 +f 730/366/377 942/481/595 872/436/506 +f 872/436/506 942/481/595 870/438/505 +f 789/398/425 940/462/593 787/396/423 +f 943/482/596 941/464/594 940/462/593 +f 944/483/597 803/394/439 941/464/594 +f 808/400/445 943/482/596 789/398/425 +f 945/484/598 944/483/597 943/482/596 +f 946/485/599 804/395/440 944/483/597 +f 790/400/428 947/482/600 948/484/601 +f 948/484/601 949/486/602 950/485/603 +f 950/485/603 786/395/422 763/385/405 +f 793/398/427 916/462/553 947/482/600 +f 947/482/600 918/464/555 949/486/602 +f 949/486/602 785/394/420 786/395/422 +f 788/397/424 864/466/558 807/399/444 +f 951/487/604 919/465/557 864/466/558 +f 919/465/557 783/392/418 741/374/388 +f 748/379/395 951/487/604 788/397/424 +f 751/378/394 952/488/605 951/487/604 +f 952/488/605 798/404/433 783/392/418 +f 774/489/606 749/377/393 748/379/395 +f 782/390/416 736/477/575 735/370/383 +f 718/359/367 784/393/419 799/405/434 +f 805/379/607 920/489/608 914/467/591 +f 796/402/431 937/477/576 797/403/432 +f 953/490/609 747/371/392 937/477/576 +f 805/379/607 954/487/610 801/378/435 +f 801/378/435 955/488/611 716/358/366 +f 955/488/611 717/404/438 716/358/366 +f 792/397/442 870/438/505 954/487/610 +f 954/487/610 942/481/595 955/488/611 +f 955/488/611 742/401/429 802/392/437 +f 762/384/402 946/485/599 909/458/545 +f 909/458/545 945/484/598 907/455/542 +f 907/455/542 808/400/445 904/456/543 +f 790/400/428 910/455/548 902/456/612 +f 948/484/601 912/458/550 910/455/548 +f 950/485/603 761/384/404 912/458/550 +f 956/451/613 898/491/614 897/451/535 +f 958/369/615 960/492/616 961/368/617 +f 877/444/516 956/451/618 739/373/387 +f 875/442/514 962/367/619 877/444/516 +f 874/439/511 958/369/620 875/442/514 +f 956/451/618 740/373/386 739/373/387 +f 957/491/621 964/493/622 898/491/623 +f 960/492/624 966/494/625 961/368/626 +f 961/368/626 967/495/627 968/452/628 +f 968/452/628 963/493/629 957/491/621 +f 733/452/630 964/493/622 969/495/631 +f 734/368/632 969/495/631 970/494/633 +f 900/492/634 970/494/633 901/496/635 +f 731/369/382 900/492/636 899/453/636 +f 956/451/613 968/452/637 957/491/638 +f 963/493/639 967/495/640 965/496/641 +f 885/446/523 891/448/529 810/412/508 +f 962/367/642 961/368/617 968/452/637 +f 773/391/417 749/377/393 774/489/606 +f 925/469/561 795/497/643 920/489/608 +f 800/406/436 795/497/643 925/469/561 +f 715/360/368 796/402/431 800/406/436 +f 715/360/368 926/470/562 953/490/609 +f 750/498/644 773/391/417 782/390/416 +f 923/468/559 782/390/416 735/370/383 +f 923/468/559 738/372/385 799/405/434 +f 799/405/434 926/470/562 718/359/367 +f 924/358/560 799/405/434 798/404/433 +f 710/355/645 862/433/645 860/432/645 +f 979/499/193 980/500/193 974/501/193 +f 981/502/646 974/501/647 973/502/648 +f 990/503/194 982/501/194 985/500/194 +f 985/500/649 971/504/650 980/500/649 +f 982/501/647 975/503/651 974/501/647 +f 990/503/651 976/505/652 975/503/651 +f 986/499/653 980/500/649 979/499/653 +f 989/505/652 977/506/654 976/505/652 +f 988/506/655 978/507/656 977/506/655 +f 973/502/648 983/508/657 981/502/646 +f 972/508/658 984/504/650 983/508/658 +f 987/507/659 979/499/653 978/507/656 +f 999/509/193 1000/510/193 994/511/193 +f 1001/512/660 994/511/661 993/512/660 +f 1010/513/194 1002/511/194 1005/510/194 +f 1005/510/662 991/514/663 1000/510/662 +f 1002/511/661 995/513/664 994/511/661 +f 1010/513/664 996/515/665 995/513/664 +f 1006/509/666 1000/510/662 999/509/666 +f 1009/515/665 997/516/667 996/515/665 +f 1008/516/668 998/517/669 997/516/668 +f 993/512/660 1003/518/670 1001/512/660 +f 992/518/671 1004/514/663 1003/518/671 +f 1007/517/669 999/509/666 998/517/669 +f 1019/519/193 1020/520/193 1014/521/193 +f 1021/522/672 1014/521/673 1013/522/672 +f 1030/523/194 1022/521/194 1025/520/194 +f 1025/520/674 1011/524/675 1020/520/674 +f 1022/521/676 1015/523/677 1014/521/673 +f 1030/523/677 1016/525/678 1015/523/677 +f 1026/519/679 1020/520/674 1019/519/679 +f 1029/525/678 1017/526/680 1016/525/678 +f 1028/526/681 1018/527/682 1017/526/681 +f 1013/522/672 1023/528/683 1021/522/672 +f 1012/528/684 1024/524/675 1023/528/684 +f 1027/527/685 1019/519/679 1018/527/682 +f 1039/529/193 1040/530/193 1034/531/193 +f 1041/532/686 1034/531/676 1033/532/686 +f 1050/533/194 1042/531/194 1045/530/194 +f 1045/530/674 1031/534/675 1040/530/674 +f 1042/531/676 1035/533/677 1034/531/676 +f 1050/533/677 1036/535/678 1035/533/677 +f 1046/529/687 1040/530/674 1039/529/687 +f 1049/535/678 1037/536/680 1036/535/678 +f 1048/536/688 1038/537/685 1037/536/688 +f 1033/532/686 1043/538/683 1041/532/686 +f 1032/538/684 1044/534/675 1043/538/684 +f 1047/537/685 1039/529/687 1038/537/685 +f 1059/499/193 1060/500/193 1054/501/193 +f 1061/502/646 1054/501/647 1053/502/648 +f 1070/503/194 1062/501/194 1065/500/194 +f 1065/500/649 1051/504/650 1060/500/649 +f 1062/501/647 1055/503/651 1054/501/647 +f 1070/503/651 1056/505/652 1055/503/651 +f 1066/499/653 1060/500/649 1059/499/653 +f 1069/505/652 1057/506/654 1056/505/652 +f 1068/506/655 1058/507/659 1057/506/655 +f 1053/502/648 1063/508/657 1061/502/646 +f 1052/508/658 1064/504/650 1063/508/658 +f 1067/507/659 1059/499/653 1058/507/659 +f 1079/509/193 1080/510/193 1074/511/193 +f 1081/512/660 1074/511/661 1073/512/660 +f 1090/513/194 1082/511/194 1085/510/194 +f 1085/510/662 1071/514/663 1080/510/662 +f 1082/511/661 1075/513/664 1074/511/661 +f 1090/513/664 1076/539/665 1075/513/664 +f 1086/509/666 1080/510/662 1079/509/666 +f 1089/515/665 1077/516/667 1076/539/665 +f 1088/516/668 1078/517/669 1077/516/668 +f 1073/512/660 1083/518/670 1081/512/660 +f 1072/518/671 1084/514/689 1083/518/671 +f 1087/517/669 1079/509/666 1078/517/669 +f 1099/519/193 1100/520/193 1094/521/193 +f 1101/522/672 1094/521/673 1093/522/672 +f 1110/523/194 1102/521/194 1105/520/194 +f 1105/520/674 1091/524/675 1100/520/674 +f 1102/521/676 1095/523/677 1094/521/673 +f 1110/523/677 1096/525/678 1095/523/677 +f 1106/519/679 1100/520/674 1099/519/679 +f 1109/525/678 1097/526/680 1096/525/678 +f 1108/526/690 1098/527/682 1097/526/681 +f 1093/522/672 1103/528/683 1101/522/672 +f 1092/528/684 1104/524/675 1103/528/684 +f 1107/527/682 1099/519/679 1098/527/682 +f 1119/529/193 1120/530/193 1114/531/193 +f 1121/532/686 1114/531/676 1113/532/686 +f 1130/533/194 1122/531/194 1125/530/194 +f 1125/530/674 1111/534/675 1120/530/674 +f 1122/531/676 1115/533/677 1114/531/676 +f 1130/533/677 1116/535/678 1115/533/677 +f 1126/529/687 1120/530/674 1119/529/687 +f 1129/535/678 1117/536/680 1116/535/678 +f 1128/536/688 1118/537/685 1117/536/688 +f 1113/532/686 1123/538/683 1121/532/686 +f 1112/538/684 1124/534/675 1123/538/684 +f 1127/537/685 1119/529/687 1118/537/685 +f 700/349/353 691/480/354 694/350/354 +f 691/480/354 692/479/354 693/478/354 +f 694/350/354 691/480/354 693/478/354 +f 694/350/354 695/350/354 699/349/353 +f 695/350/354 696/478/354 698/480/354 +f 696/478/354 697/479/354 698/480/354 +f 698/480/354 699/349/353 695/350/354 +f 702/351/355 703/352/468 704/352/356 +f 706/353/358 702/351/355 701/351/357 +f 708/354/360 709/354/491 710/355/361 +f 712/356/363 713/357/528 714/357/364 +f 716/358/366 717/404/438 718/359/367 +f 720/361/369 721/361/510 722/362/370 +f 724/363/372 725/364/379 726/364/373 +f 704/352/356 703/352/468 724/363/372 +f 728/365/375 709/354/491 708/354/360 +f 730/366/377 721/361/510 720/361/369 +f 725/364/379 728/365/375 727/365/376 +f 732/367/380 733/452/536 734/368/381 +f 735/370/383 736/477/575 737/371/384 +f 740/373/386 712/356/363 711/356/365 +f 741/374/388 742/401/429 730/366/377 +f 744/375/389 745/375/415 746/376/390 +f 743/376/391 746/376/390 747/371/392 +f 749/377/393 750/498/644 751/378/394 +f 756/381/421 752/380/396 755/381/398 +f 752/380/396 753/380/396 755/381/398 +f 714/357/364 713/357/528 757/382/399 +f 760/383/401 761/384/404 762/384/402 +f 758/382/400 757/382/399 760/383/401 +f 764/385/441 762/384/402 755/381/398 +f 762/384/402 761/384/404 755/381/398 +f 772/386/408 765/386/408 753/380/396 +f 765/386/408 766/380/585 767/380/587 +f 767/380/587 768/380/589 765/386/408 +f 768/380/589 753/380/396 765/386/408 +f 770/380/407 771/380/590 772/386/408 +f 753/380/396 752/380/396 772/386/408 +f 752/380/396 769/380/406 772/386/408 +f 778/388/410 773/391/417 774/489/194 +f 774/489/194 775/467/194 778/388/410 +f 775/467/194 766/380/194 699/349/194 +f 778/388/410 775/467/194 699/349/194 +f 766/380/194 765/386/194 699/349/194 +f 699/349/194 698/480/581 776/475/582 +f 776/475/582 777/387/409 699/349/194 +f 772/386/408 700/349/353 699/349/353 +f 722/362/370 706/353/358 705/353/359 +f 779/389/411 780/389/414 695/350/412 +f 780/389/414 779/389/411 745/375/415 +f 778/388/410 781/403/573 782/390/416 +f 787/396/423 748/379/395 788/397/424 +f 791/399/426 792/397/442 793/398/427 +f 794/388/430 795/497/643 796/402/431 +f 801/378/435 716/358/366 715/360/368 +f 792/397/442 805/379/607 806/396/443 +f 789/398/425 788/397/424 807/399/444 +f 809/407/446 810/412/508 811/408/447 +f 812/409/448 811/408/447 813/410/449 +f 814/411/450 813/410/449 719/362/371 +f 816/407/451 817/409/454 818/408/452 +f 817/409/454 819/411/456 820/410/455 +f 819/411/456 706/353/358 722/362/370 +f 821/413/457 809/407/446 812/409/448 +f 822/414/458 812/409/448 814/411/450 +f 814/411/450 705/353/359 701/351/357 +f 824/413/460 825/414/461 817/409/454 +f 825/414/461 826/415/467 819/411/456 +f 819/411/456 826/415/467 702/351/355 +f 827/416/462 821/413/457 822/414/458 +f 822/414/458 823/415/459 829/418/464 +f 823/415/459 701/351/357 704/352/356 +f 830/416/465 831/417/499 825/414/461 +f 825/414/461 831/417/499 832/418/466 +f 826/415/467 832/418/466 703/352/468 +f 833/419/469 834/424/498 835/420/470 +f 836/421/471 835/420/470 837/422/472 +f 838/423/473 837/422/472 723/363/374 +f 840/419/474 841/421/477 842/420/475 +f 841/421/477 843/423/479 844/422/478 +f 843/423/479 725/364/379 724/363/372 +f 833/419/469 836/421/471 846/425/480 +f 846/425/480 836/421/471 838/423/473 +f 838/423/473 726/364/373 727/365/376 +f 840/419/474 848/426/487 849/425/483 +f 849/425/483 850/427/490 843/423/479 +f 843/423/479 850/427/490 728/365/375 +f 845/426/481 846/425/480 852/428/484 +f 846/425/480 847/427/482 853/430/486 +f 847/427/482 727/365/376 708/354/360 +f 848/426/487 854/429/495 855/428/488 +f 849/425/483 855/428/488 856/430/489 +f 850/427/490 856/430/489 709/354/491 +f 851/429/485 852/428/484 858/431/492 +f 852/428/484 853/430/486 859/433/494 +f 853/430/486 708/354/360 707/355/362 +f 854/429/495 860/432/691 861/431/496 +f 855/428/488 861/431/496 862/433/497 +f 856/430/489 862/433/497 710/355/361 +f 834/424/498 827/416/462 828/417/463 +f 828/417/463 829/418/464 837/422/472 +f 829/418/464 704/352/356 723/363/374 +f 839/424/476 842/420/475 831/417/499 +f 831/417/499 842/420/475 844/422/478 +f 832/418/466 844/422/478 724/363/372 +f 807/399/444 864/466/558 865/434/500 +f 865/434/500 864/466/558 866/436/502 +f 867/437/503 866/436/502 729/366/378 +f 791/399/426 868/435/509 869/434/504 +f 869/434/504 871/437/507 872/436/506 +f 871/437/507 721/361/510 730/366/377 +f 810/412/508 863/435/501 865/434/500 +f 811/408/447 865/434/500 867/437/503 +f 813/410/449 867/437/503 720/361/369 +f 815/412/453 818/408/452 869/434/504 +f 818/408/452 820/410/455 871/437/507 +f 820/410/455 722/362/370 721/361/510 +f 874/439/511 875/442/514 876/440/512 +f 875/442/514 877/444/516 878/443/515 +f 877/444/516 739/373/387 711/356/365 +f 879/439/517 880/441/525 881/440/518 +f 882/442/519 881/440/518 883/443/520 +f 884/444/521 883/443/520 712/356/363 +f 873/441/513 876/440/512 886/445/522 +f 876/440/512 878/443/515 887/447/524 +f 878/443/515 711/356/365 714/357/364 +f 880/441/525 888/446/533 889/445/526 +f 881/440/518 889/445/526 890/447/527 +f 883/443/520 890/447/527 713/357/528 +f 891/448/529 885/446/523 886/445/522 +f 892/449/530 886/445/522 887/447/524 +f 887/447/524 714/357/364 758/382/400 +f 894/448/532 895/449/534 889/445/526 +f 895/449/534 896/450/556 890/447/527 +f 890/447/527 896/450/556 757/382/399 +f 897/451/535 898/491/614 733/452/536 +f 899/453/538 900/492/634 901/496/635 +f 901/496/635 860/432/691 854/429/495 +f 854/429/495 848/426/487 840/419/474 +f 840/419/474 839/424/476 854/429/495 +f 839/424/476 830/416/465 899/453/538 +f 830/416/465 824/413/460 879/439/517 +f 824/413/460 816/407/451 879/439/517 +f 816/407/451 815/412/453 880/441/525 +f 815/412/453 868/435/509 894/448/532 +f 816/407/451 880/441/525 879/439/517 +f 868/435/509 791/399/426 902/456/612 +f 791/399/426 790/400/428 902/456/612 +f 839/424/476 899/453/538 901/496/635 +f 901/496/635 854/429/495 839/424/476 +f 879/439/517 899/453/538 830/416/465 +f 868/435/509 902/456/612 903/454/547 +f 868/435/509 903/454/547 894/448/532 +f 880/441/525 815/412/453 888/446/533 +f 879/439/517 882/442/519 731/369/537 +f 882/442/519 884/444/521 732/367/539 +f 884/444/521 740/373/386 897/451/540 +f 905/454/541 906/457/544 907/455/542 +f 906/457/544 908/459/546 909/458/545 +f 908/459/546 759/383/403 762/384/402 +f 903/454/547 902/456/612 910/455/548 +f 911/460/549 910/455/548 912/458/550 +f 913/459/551 912/458/550 761/384/404 +f 806/396/443 914/467/591 915/461/552 +f 916/462/553 915/461/552 917/463/554 +f 918/464/555 917/463/554 756/381/421 +f 891/448/529 892/449/530 906/457/544 +f 892/449/530 893/450/531 908/459/546 +f 893/450/531 758/382/400 759/383/403 +f 894/448/532 903/454/547 911/460/549 +f 895/449/534 911/460/549 913/459/551 +f 896/450/556 913/459/551 760/383/401 +f 729/366/378 866/436/502 919/465/557 +f 914/467/193 920/489/193 794/388/430 +f 920/489/193 795/497/643 794/388/430 +f 794/388/430 921/387/567 700/349/193 +f 914/467/193 794/388/430 700/349/193 +f 921/387/567 922/475/569 700/349/193 +f 922/475/569 691/480/580 700/349/193 +f 700/349/193 772/386/193 771/380/193 +f 751/378/394 750/498/644 923/468/559 +f 925/469/561 805/379/607 801/378/435 +f 738/372/385 737/371/384 747/371/392 +f 777/387/409 776/475/582 927/471/563 +f 928/472/564 927/471/563 929/473/565 +f 930/474/566 929/473/565 780/389/414 +f 921/387/567 931/472/570 932/471/568 +f 931/472/570 933/474/572 934/473/571 +f 933/474/572 745/375/415 779/389/411 +f 777/387/409 928/472/564 781/403/573 +f 781/403/573 928/472/564 930/474/566 +f 930/474/566 744/375/389 743/376/391 +f 921/387/567 794/388/430 797/403/432 +f 797/403/432 936/476/577 933/474/572 +f 933/474/572 936/476/577 746/376/390 +f 736/477/575 935/476/574 743/376/391 +f 937/477/576 747/371/392 746/376/390 +f 779/389/411 694/350/413 693/478/578 +f 934/473/571 693/478/578 692/479/579 +f 932/471/568 692/479/579 691/480/580 +f 698/480/581 697/479/583 927/471/563 +f 697/479/583 696/478/584 929/473/565 +f 696/478/584 695/350/412 780/389/414 +f 766/380/585 775/467/592 938/461/586 +f 767/380/587 938/461/586 939/463/588 +f 768/380/589 939/463/588 754/381/397 +f 771/380/590 770/380/407 915/461/552 +f 770/380/407 769/380/406 917/463/554 +f 769/380/406 752/380/396 756/381/421 +f 787/396/423 940/462/593 938/461/586 +f 940/462/593 941/464/594 939/463/588 +f 941/464/594 803/394/439 754/381/397 +f 730/366/377 742/401/429 942/481/595 +f 789/398/425 943/482/596 940/462/593 +f 943/482/596 944/483/597 941/464/594 +f 944/483/597 804/395/440 803/394/439 +f 808/400/445 945/484/598 943/482/596 +f 945/484/598 946/485/599 944/483/597 +f 946/485/599 764/385/441 804/395/440 +f 790/400/428 793/398/427 947/482/600 +f 948/484/601 947/482/600 949/486/602 +f 950/485/603 949/486/602 786/395/422 +f 793/398/427 806/396/443 916/462/553 +f 947/482/600 916/462/553 918/464/555 +f 949/486/602 918/464/555 785/394/420 +f 788/397/424 951/487/604 864/466/558 +f 951/487/604 952/488/605 919/465/557 +f 919/465/557 952/488/605 783/392/418 +f 748/379/395 751/378/394 951/487/604 +f 751/378/394 924/358/560 952/488/605 +f 952/488/605 924/358/560 798/404/433 +f 787/396/423 775/467/592 748/379/395 +f 775/467/592 774/489/606 748/379/395 +f 782/390/416 781/403/573 736/477/575 +f 914/467/591 806/396/443 805/379/607 +f 805/379/607 925/469/561 920/489/608 +f 796/402/431 953/490/609 937/477/576 +f 953/490/609 926/470/562 747/371/392 +f 805/379/607 792/397/442 954/487/610 +f 801/378/435 954/487/610 955/488/611 +f 955/488/611 802/392/437 717/404/438 +f 792/397/442 791/399/426 870/438/505 +f 954/487/610 870/438/505 942/481/595 +f 955/488/611 942/481/595 742/401/429 +f 762/384/402 764/385/441 946/485/599 +f 909/458/545 946/485/599 945/484/598 +f 907/455/542 945/484/598 808/400/445 +f 790/400/428 948/484/601 910/455/548 +f 948/484/601 950/485/603 912/458/550 +f 950/485/603 763/385/405 761/384/404 +f 956/451/613 957/491/638 898/491/614 +f 958/369/615 959/453/616 960/492/616 +f 877/444/516 962/367/619 956/451/618 +f 875/442/514 958/369/620 962/367/619 +f 874/439/511 959/453/692 958/369/620 +f 956/451/618 897/451/540 740/373/386 +f 957/491/621 963/493/629 964/493/622 +f 960/492/624 965/496/693 966/494/625 +f 961/368/626 966/494/625 967/495/627 +f 968/452/628 967/495/627 963/493/629 +f 733/452/630 898/491/623 964/493/622 +f 734/368/632 733/452/630 969/495/631 +f 900/492/634 734/368/632 970/494/633 +f 731/369/382 734/368/381 900/492/636 +f 956/451/613 962/367/642 968/452/637 +f 967/495/640 966/494/640 965/496/641 +f 965/496/641 857/432/694 963/493/639 +f 857/432/694 860/432/695 964/493/696 +f 860/432/695 901/496/697 964/493/696 +f 901/496/697 970/494/640 969/495/640 +f 964/493/696 901/496/697 969/495/640 +f 964/493/696 963/493/639 857/432/694 +f 904/456/543 808/400/445 807/399/444 +f 807/399/444 863/435/501 904/456/543 +f 863/435/501 810/412/508 891/448/529 +f 904/456/543 863/435/501 905/454/541 +f 810/412/508 809/407/446 873/441/513 +f 809/407/446 821/413/457 874/439/511 +f 821/413/457 827/416/462 874/439/511 +f 827/416/462 834/424/498 959/453/692 +f 834/424/498 833/419/469 845/426/481 +f 845/426/481 851/429/485 834/424/498 +f 851/429/485 857/432/493 965/496/693 +f 965/496/693 960/492/624 959/453/692 +f 965/496/693 959/453/692 834/424/498 +f 851/429/485 965/496/693 834/424/498 +f 809/407/446 874/439/511 873/441/513 +f 827/416/462 959/453/692 874/439/511 +f 905/454/541 863/435/501 891/448/529 +f 873/441/513 885/446/523 810/412/508 +f 962/367/642 958/369/615 961/368/617 +f 800/406/436 796/402/431 795/497/643 +f 715/360/368 953/490/609 796/402/431 +f 715/360/368 718/359/367 926/470/562 +f 750/498/644 749/377/393 773/391/417 +f 923/468/559 750/498/644 782/390/416 +f 923/468/559 735/370/383 738/372/385 +f 799/405/434 738/372/385 926/470/562 +f 924/358/560 923/468/559 799/405/434 +f 861/431/645 860/432/645 862/433/645 +f 860/432/645 857/432/645 710/355/645 +f 857/432/645 858/431/645 859/433/645 +f 859/433/645 707/355/645 857/432/645 +f 707/355/645 710/355/645 857/432/645 +f 980/500/193 971/504/193 974/501/193 +f 971/504/193 972/508/193 973/502/193 +f 974/501/193 971/504/193 973/502/193 +f 974/501/193 975/503/193 979/499/193 +f 975/503/193 976/505/193 978/507/193 +f 976/505/193 977/506/193 978/507/193 +f 978/507/193 979/499/193 975/503/193 +f 981/502/646 982/501/647 974/501/647 +f 982/501/194 981/502/194 984/504/194 +f 981/502/194 983/508/194 984/504/194 +f 984/504/194 985/500/194 982/501/194 +f 985/500/194 986/499/194 990/503/194 +f 986/499/194 987/507/194 989/505/194 +f 987/507/194 988/506/194 989/505/194 +f 989/505/194 990/503/194 986/499/194 +f 985/500/649 984/504/650 971/504/650 +f 982/501/647 990/503/651 975/503/651 +f 990/503/651 989/505/652 976/505/652 +f 986/499/653 985/500/649 980/500/649 +f 989/505/652 988/506/654 977/506/654 +f 988/506/655 987/507/659 978/507/656 +f 973/502/648 972/508/657 983/508/657 +f 972/508/658 971/504/650 984/504/650 +f 987/507/659 986/499/653 979/499/653 +f 1000/510/193 991/514/193 993/512/193 +f 991/514/193 992/518/193 993/512/193 +f 993/512/193 994/511/193 1000/510/193 +f 994/511/193 995/513/193 999/509/193 +f 995/513/193 996/515/193 998/517/193 +f 996/515/193 997/516/193 998/517/193 +f 998/517/193 999/509/193 995/513/193 +f 1001/512/660 1002/511/661 994/511/661 +f 1002/511/194 1001/512/194 1005/510/194 +f 1001/512/194 1003/518/194 1004/514/194 +f 1005/510/194 1001/512/194 1004/514/194 +f 1005/510/194 1006/509/194 1010/513/194 +f 1006/509/194 1007/517/194 1009/515/194 +f 1007/517/194 1008/516/194 1009/515/194 +f 1009/515/194 1010/513/194 1006/509/194 +f 1005/510/662 1004/514/663 991/514/663 +f 1002/511/661 1010/513/664 995/513/664 +f 1010/513/664 1009/515/665 996/515/665 +f 1006/509/666 1005/510/662 1000/510/662 +f 1009/515/665 1008/516/667 997/516/667 +f 1008/516/668 1007/517/669 998/517/669 +f 993/512/660 992/518/670 1003/518/670 +f 992/518/671 991/514/663 1004/514/663 +f 1007/517/669 1006/509/666 999/509/666 +f 1020/520/193 1011/524/193 1014/521/193 +f 1011/524/193 1012/528/193 1013/522/193 +f 1014/521/193 1011/524/193 1013/522/193 +f 1014/521/193 1015/523/193 1019/519/193 +f 1015/523/193 1016/525/193 1018/527/193 +f 1016/525/193 1017/526/193 1018/527/193 +f 1018/527/193 1019/519/193 1015/523/193 +f 1021/522/672 1022/521/676 1014/521/673 +f 1022/521/194 1021/522/194 1024/524/194 +f 1021/522/194 1023/528/194 1024/524/194 +f 1024/524/194 1025/520/194 1022/521/194 +f 1025/520/194 1026/519/194 1030/523/194 +f 1026/519/194 1027/527/194 1029/525/194 +f 1027/527/194 1028/526/194 1029/525/194 +f 1029/525/194 1030/523/194 1026/519/194 +f 1025/520/674 1024/524/675 1011/524/675 +f 1022/521/676 1030/523/677 1015/523/677 +f 1030/523/677 1029/525/678 1016/525/678 +f 1026/519/679 1025/520/674 1020/520/674 +f 1029/525/678 1028/526/680 1017/526/680 +f 1028/526/681 1027/527/685 1018/527/682 +f 1013/522/672 1012/528/683 1023/528/683 +f 1012/528/684 1011/524/675 1024/524/675 +f 1027/527/685 1026/519/679 1019/519/679 +f 1040/530/193 1031/534/193 1033/532/193 +f 1031/534/193 1032/538/193 1033/532/193 +f 1033/532/193 1034/531/193 1040/530/193 +f 1034/531/193 1035/533/193 1039/529/193 +f 1035/533/193 1036/535/193 1038/537/193 +f 1036/535/193 1037/536/193 1038/537/193 +f 1038/537/193 1039/529/193 1035/533/193 +f 1041/532/686 1042/531/676 1034/531/676 +f 1042/531/194 1041/532/194 1045/530/194 +f 1041/532/194 1043/538/194 1044/534/194 +f 1045/530/194 1041/532/194 1044/534/194 +f 1045/530/194 1046/529/194 1050/533/194 +f 1046/529/194 1047/537/194 1049/535/194 +f 1047/537/194 1048/536/194 1049/535/194 +f 1049/535/194 1050/533/194 1046/529/194 +f 1045/530/674 1044/534/675 1031/534/675 +f 1042/531/676 1050/533/677 1035/533/677 +f 1050/533/677 1049/535/678 1036/535/678 +f 1046/529/687 1045/530/674 1040/530/674 +f 1049/535/678 1048/536/680 1037/536/680 +f 1048/536/688 1047/537/685 1038/537/685 +f 1033/532/686 1032/538/683 1043/538/683 +f 1032/538/684 1031/534/675 1044/534/675 +f 1047/537/685 1046/529/687 1039/529/687 +f 1060/500/193 1051/504/193 1054/501/193 +f 1051/504/193 1052/508/193 1053/502/193 +f 1054/501/193 1051/504/193 1053/502/193 +f 1054/501/193 1055/503/193 1059/499/193 +f 1055/503/193 1056/505/193 1058/507/193 +f 1056/505/193 1057/506/193 1058/507/193 +f 1058/507/193 1059/499/193 1055/503/193 +f 1061/502/646 1062/501/647 1054/501/647 +f 1062/501/194 1061/502/194 1064/504/194 +f 1061/502/194 1063/508/194 1064/504/194 +f 1064/504/194 1065/500/194 1062/501/194 +f 1065/500/194 1066/499/194 1070/503/194 +f 1066/499/194 1067/507/194 1069/505/194 +f 1067/507/194 1068/506/194 1069/505/194 +f 1069/505/194 1070/503/194 1066/499/194 +f 1065/500/649 1064/504/650 1051/504/650 +f 1062/501/647 1070/503/651 1055/503/651 +f 1070/503/651 1069/505/652 1056/505/652 +f 1066/499/653 1065/500/649 1060/500/649 +f 1069/505/652 1068/506/654 1057/506/654 +f 1068/506/655 1067/507/659 1058/507/659 +f 1053/502/648 1052/508/657 1063/508/657 +f 1052/508/658 1051/504/650 1064/504/650 +f 1067/507/659 1066/499/653 1059/499/653 +f 1080/510/193 1071/514/193 1074/511/193 +f 1071/514/193 1072/518/193 1073/512/193 +f 1074/511/193 1071/514/193 1073/512/193 +f 1074/511/193 1075/513/193 1079/509/193 +f 1075/513/193 1076/539/193 1078/517/193 +f 1076/539/193 1077/516/193 1078/517/193 +f 1078/517/193 1079/509/193 1075/513/193 +f 1081/512/660 1082/511/661 1074/511/661 +f 1082/511/194 1081/512/194 1084/514/194 +f 1081/512/194 1083/518/194 1084/514/194 +f 1084/514/194 1085/510/194 1082/511/194 +f 1085/510/194 1086/509/194 1090/513/194 +f 1086/509/194 1087/517/194 1089/515/194 +f 1087/517/194 1088/516/194 1089/515/194 +f 1089/515/194 1090/513/194 1086/509/194 +f 1085/510/662 1084/514/689 1071/514/663 +f 1082/511/661 1090/513/664 1075/513/664 +f 1090/513/664 1089/515/665 1076/539/665 +f 1086/509/666 1085/510/662 1080/510/662 +f 1089/515/665 1088/516/667 1077/516/667 +f 1088/516/668 1087/517/669 1078/517/669 +f 1073/512/660 1072/518/670 1083/518/670 +f 1072/518/671 1071/514/663 1084/514/689 +f 1087/517/669 1086/509/666 1079/509/666 +f 1100/520/193 1091/524/193 1094/521/193 +f 1091/524/193 1092/528/193 1093/522/193 +f 1094/521/193 1091/524/193 1093/522/193 +f 1094/521/193 1095/523/193 1099/519/193 +f 1095/523/193 1096/525/193 1098/527/193 +f 1096/525/193 1097/526/193 1098/527/193 +f 1098/527/193 1099/519/193 1095/523/193 +f 1101/522/672 1102/521/676 1094/521/673 +f 1102/521/194 1101/522/194 1104/524/194 +f 1101/522/194 1103/528/194 1104/524/194 +f 1104/524/194 1105/520/194 1102/521/194 +f 1105/520/194 1106/519/194 1110/523/194 +f 1106/519/194 1107/527/194 1109/525/194 +f 1107/527/194 1108/526/194 1109/525/194 +f 1109/525/194 1110/523/194 1106/519/194 +f 1105/520/674 1104/524/675 1091/524/675 +f 1102/521/676 1110/523/677 1095/523/677 +f 1110/523/677 1109/525/678 1096/525/678 +f 1106/519/679 1105/520/674 1100/520/674 +f 1109/525/678 1108/526/680 1097/526/680 +f 1108/526/690 1107/527/682 1098/527/682 +f 1093/522/672 1092/528/683 1103/528/683 +f 1092/528/684 1091/524/675 1104/524/675 +f 1107/527/682 1106/519/679 1099/519/679 +f 1120/530/193 1111/534/193 1113/532/193 +f 1111/534/193 1112/538/193 1113/532/193 +f 1113/532/193 1114/531/193 1120/530/193 +f 1114/531/193 1115/533/193 1119/529/193 +f 1115/533/193 1116/535/193 1118/537/193 +f 1116/535/193 1117/536/193 1118/537/193 +f 1118/537/193 1119/529/193 1115/533/193 +f 1121/532/686 1122/531/676 1114/531/676 +f 1122/531/194 1121/532/194 1125/530/194 +f 1121/532/194 1123/538/194 1124/534/194 +f 1125/530/194 1121/532/194 1124/534/194 +f 1125/530/194 1126/529/194 1130/533/194 +f 1126/529/194 1127/537/194 1129/535/194 +f 1127/537/194 1128/536/194 1129/535/194 +f 1129/535/194 1130/533/194 1126/529/194 +f 1125/530/674 1124/534/675 1111/534/675 +f 1122/531/676 1130/533/677 1115/533/677 +f 1130/533/677 1129/535/678 1116/535/678 +f 1126/529/687 1125/530/674 1120/530/674 +f 1129/535/678 1128/536/680 1117/536/680 +f 1128/536/688 1127/537/685 1118/537/685 +f 1113/532/686 1112/538/683 1123/538/683 +f 1112/538/684 1111/534/675 1124/534/675 +f 1127/537/685 1126/529/687 1119/529/687 +f 1132/540/190 1134/541/351 1131/542/190 +f 1133/543/351 1136/544/193 1134/541/351 +f 1135/545/193 1138/546/698 1136/544/193 +f 1137/547/698 1140/548/192 1138/546/698 +f 1139/549/192 1142/546/699 1140/548/192 +f 1141/547/699 1144/544/194 1142/546/699 +f 1143/545/191 1141/547/191 1149/545/191 +f 1151/550/191 1152/545/191 1135/545/191 +f 1143/545/194 1154/541/352 1144/544/194 +f 1146/543/352 1131/542/190 1154/541/352 +f 1157/544/195 1158/551/195 1142/546/195 +f 1134/541/195 1136/544/195 1161/552/195 +f 1151/550/699 1162/553/192 1161/552/699 +f 1151/550/699 1160/544/194 1152/545/194 +f 1152/545/194 1159/551/352 1153/554/352 +f 1153/554/352 1155/555/190 1147/556/190 +f 1147/556/190 1158/551/351 1148/554/351 +f 1149/545/193 1158/551/351 1157/544/193 +f 1145/550/698 1157/544/193 1156/552/698 +f 1150/557/192 1156/552/698 1162/553/192 +f 1132/540/190 1133/543/351 1134/541/351 +f 1133/543/351 1135/545/193 1136/544/193 +f 1135/545/193 1137/547/698 1138/546/698 +f 1137/547/698 1139/549/192 1140/548/192 +f 1139/549/192 1141/547/699 1142/546/699 +f 1141/547/699 1143/545/194 1144/544/194 +f 1149/545/191 1145/550/191 1143/545/191 +f 1145/550/191 1146/543/191 1143/545/191 +f 1141/547/191 1139/549/191 1148/554/191 +f 1139/549/191 1147/556/191 1148/554/191 +f 1141/547/191 1148/554/191 1149/545/191 +f 1153/554/191 1147/556/191 1139/549/191 +f 1132/540/191 1146/543/191 1145/550/191 +f 1132/540/191 1145/550/191 1150/557/191 +f 1153/554/191 1139/549/191 1137/547/191 +f 1152/545/191 1153/554/191 1135/545/191 +f 1153/554/191 1137/547/191 1135/545/191 +f 1133/543/191 1132/540/191 1150/557/191 +f 1133/543/191 1150/557/191 1151/550/191 +f 1133/543/191 1151/550/191 1135/545/191 +f 1143/545/194 1146/543/352 1154/541/352 +f 1146/543/352 1132/540/190 1131/542/190 +f 1158/551/195 1155/555/195 1140/548/195 +f 1144/544/195 1154/541/195 1156/552/195 +f 1144/544/195 1156/552/195 1157/544/195 +f 1158/551/195 1140/548/195 1142/546/195 +f 1144/544/195 1157/544/195 1142/546/195 +f 1156/552/195 1154/541/195 1131/542/195 +f 1138/546/195 1140/548/195 1159/551/195 +f 1140/548/195 1155/555/195 1159/551/195 +f 1162/553/195 1156/552/195 1131/542/195 +f 1161/552/195 1162/553/195 1134/541/195 +f 1162/553/195 1131/542/195 1134/541/195 +f 1136/544/195 1138/546/195 1159/551/195 +f 1136/544/195 1159/551/195 1160/544/195 +f 1136/544/195 1160/544/195 1161/552/195 +f 1151/550/699 1150/557/192 1162/553/192 +f 1151/550/699 1161/552/699 1160/544/194 +f 1152/545/194 1160/544/194 1159/551/352 +f 1153/554/352 1159/551/352 1155/555/190 +f 1147/556/190 1155/555/190 1158/551/351 +f 1149/545/193 1148/554/351 1158/551/351 +f 1145/550/698 1149/545/193 1157/544/193 +f 1150/557/192 1145/550/698 1156/552/698 +s 0 +f 1163/558/195 1164/558/195 1165/559/195 +f 1169/560/193 1170/561/193 1171/562/193 +f 1163/558/700 1173/563/700 1172/564/700 +f 1175/560/194 1164/558/194 1174/565/194 +f 1174/565/190 1178/560/190 1175/560/190 +f 1174/565/195 1163/558/195 1179/565/195 +f 1181/566/194 1182/567/194 1183/562/194 +f 1171/562/192 1182/567/192 1166/567/192 +f 1168/565/190 1184/560/190 1169/560/190 +f 1176/564/701 1165/559/701 1164/558/701 +f 1174/565/702 1179/565/702 1167/566/702 +f 1179/565/193 1172/564/193 1184/560/193 +f 1170/561/192 1183/562/192 1171/562/192 +f 1184/560/191 1176/564/191 1175/560/191 +f 1184/560/191 1175/560/191 1180/561/191 +f 1176/564/191 1172/564/191 1173/563/191 +f 1181/566/195 1166/567/195 1182/567/195 +f 1171/562/193 1166/567/193 1167/566/193 +f 1167/566/193 1168/565/193 1171/562/193 +f 1168/565/193 1169/560/193 1171/562/193 +f 1163/558/700 1165/559/700 1173/563/700 +f 1175/560/194 1176/564/194 1164/558/194 +f 1174/565/190 1177/565/190 1178/560/190 +f 1174/565/195 1164/558/195 1163/558/195 +f 1183/562/194 1180/561/194 1178/560/194 +f 1178/560/194 1177/565/194 1183/562/194 +f 1177/565/194 1181/566/194 1183/562/194 +f 1171/562/192 1183/562/192 1182/567/192 +f 1168/565/190 1179/565/190 1184/560/190 +f 1176/564/701 1173/563/701 1165/559/701 +f 1179/565/702 1168/565/702 1167/566/702 +f 1167/566/702 1181/566/702 1174/565/702 +f 1181/566/702 1177/565/702 1174/565/702 +f 1179/565/193 1163/558/193 1172/564/193 +f 1170/561/192 1180/561/192 1183/562/192 +f 1184/560/191 1172/564/191 1176/564/191 +f 1180/561/191 1170/561/191 1184/560/191 +f 1170/561/191 1169/560/191 1184/560/191 +f 1175/560/191 1178/560/191 1180/561/191 +f 1181/566/195 1167/566/195 1166/567/195 +s 1 +f 1186/568/190 1188/569/351 1185/570/190 +f 1187/571/351 1190/572/193 1188/569/351 +f 1189/573/193 1192/574/698 1190/572/193 +f 1191/575/698 1194/576/192 1192/574/698 +f 1193/577/192 1196/574/699 1194/576/192 +f 1195/575/699 1198/572/194 1196/574/699 +f 1197/573/191 1193/577/191 1189/573/191 +f 1197/573/194 1200/569/352 1198/572/194 +f 1200/569/352 1186/568/190 1185/570/190 +f 1196/574/195 1198/572/195 1200/569/195 +f 1186/568/190 1187/571/351 1188/569/351 +f 1187/571/351 1189/573/193 1190/572/193 +f 1189/573/193 1191/575/698 1192/574/698 +f 1191/575/698 1193/577/192 1194/576/192 +f 1193/577/192 1195/575/699 1196/574/699 +f 1195/575/699 1197/573/194 1198/572/194 +f 1189/573/191 1187/571/191 1186/568/191 +f 1186/568/191 1199/571/191 1189/573/191 +f 1199/571/191 1197/573/191 1189/573/191 +f 1197/573/191 1195/575/191 1193/577/191 +f 1193/577/191 1191/575/191 1189/573/191 +f 1197/573/194 1199/571/352 1200/569/352 +f 1200/569/352 1199/571/352 1186/568/190 +f 1200/569/195 1185/570/195 1188/569/195 +f 1188/569/195 1190/572/195 1200/569/195 +f 1190/572/195 1192/574/195 1200/569/195 +f 1192/574/195 1194/576/195 1200/569/195 +f 1194/576/195 1196/574/195 1200/569/195 +f 1202/578/190 1204/579/351 1201/580/190 +f 1203/581/351 1206/582/193 1204/579/351 +f 1205/583/193 1208/584/698 1206/582/193 +f 1207/585/698 1210/586/192 1208/584/698 +f 1209/587/192 1212/584/699 1210/586/192 +f 1211/585/699 1214/582/194 1212/584/699 +f 1213/583/191 1209/587/191 1205/583/191 +f 1213/583/194 1216/579/352 1214/582/194 +f 1215/581/352 1201/580/190 1216/579/352 +f 1214/582/195 1216/579/195 1208/584/195 +f 1202/578/190 1203/581/351 1204/579/351 +f 1203/581/351 1205/583/193 1206/582/193 +f 1205/583/193 1207/585/698 1208/584/698 +f 1207/585/698 1209/587/192 1210/586/192 +f 1209/587/192 1211/585/699 1212/584/699 +f 1211/585/699 1213/583/194 1214/582/194 +f 1205/583/191 1203/581/191 1202/578/191 +f 1202/578/191 1215/581/191 1213/583/191 +f 1213/583/191 1211/585/191 1209/587/191 +f 1209/587/191 1207/585/191 1205/583/191 +f 1205/583/191 1202/578/191 1213/583/191 +f 1213/583/194 1215/581/352 1216/579/352 +f 1215/581/352 1202/578/190 1201/580/190 +f 1216/579/195 1201/580/195 1208/584/195 +f 1201/580/195 1204/579/195 1208/584/195 +f 1204/579/195 1206/582/195 1208/584/195 +f 1208/584/195 1210/586/195 1212/584/195 +f 1212/584/195 1214/582/195 1208/584/195 +f 1218/588/190 1220/589/351 1217/590/190 +f 1219/591/351 1222/592/193 1220/589/351 +f 1221/593/193 1224/594/698 1222/592/193 +f 1223/595/698 1226/596/192 1224/594/698 +f 1225/597/192 1228/594/699 1226/596/192 +f 1227/595/699 1230/592/194 1228/594/699 +f 1229/593/191 1225/597/191 1221/593/191 +f 1229/593/194 1232/589/352 1230/592/194 +f 1231/591/352 1217/590/190 1232/589/352 +f 1228/594/195 1230/592/195 1232/589/195 +f 1218/588/190 1219/591/351 1220/589/351 +f 1219/591/351 1221/593/193 1222/592/193 +f 1221/593/193 1223/595/698 1224/594/698 +f 1223/595/698 1225/597/192 1226/596/192 +f 1225/597/192 1227/595/699 1228/594/699 +f 1227/595/699 1229/593/194 1230/592/194 +f 1221/593/191 1219/591/191 1218/588/191 +f 1218/588/191 1231/591/191 1229/593/191 +f 1229/593/191 1227/595/191 1225/597/191 +f 1225/597/191 1223/595/191 1221/593/191 +f 1221/593/191 1218/588/191 1229/593/191 +f 1229/593/194 1231/591/352 1232/589/352 +f 1231/591/352 1218/588/190 1217/590/190 +f 1232/589/195 1217/590/195 1220/589/195 +f 1220/589/195 1222/592/195 1232/589/195 +f 1222/592/195 1224/594/195 1232/589/195 +f 1224/594/195 1226/596/195 1232/589/195 +f 1226/596/195 1228/594/195 1232/589/195 +f 1234/598/703 1236/599/704 1233/600/705 +f 1235/601/706 1238/602/707 1236/599/704 +f 1237/603/708 1240/604/709 1238/602/707 +f 1239/605/710 1242/606/711 1240/604/709 +f 1241/607/712 1244/604/713 1242/606/711 +f 1243/605/714 1246/602/715 1244/604/713 +f 1245/608/716 1241/607/712 1237/603/708 +f 1245/608/716 1248/599/717 1246/602/715 +f 1248/599/717 1234/598/703 1233/600/705 +f 1244/604/713 1246/602/715 1248/599/717 +f 1234/598/703 1235/601/706 1236/599/704 +f 1235/601/706 1237/603/708 1238/602/707 +f 1237/603/708 1239/605/710 1240/604/709 +f 1239/605/710 1241/607/712 1242/606/711 +f 1241/607/712 1243/605/714 1244/604/713 +f 1243/605/714 1245/608/716 1246/602/715 +f 1237/603/708 1235/601/706 1234/598/703 +f 1234/598/703 1247/601/718 1237/603/708 +f 1247/601/718 1245/608/716 1237/603/708 +f 1245/608/716 1243/605/714 1241/607/712 +f 1241/607/712 1239/605/710 1237/603/708 +f 1245/608/716 1247/601/718 1248/599/717 +f 1248/599/717 1247/601/718 1234/598/703 +f 1248/599/717 1233/600/705 1236/599/704 +f 1236/599/704 1238/602/707 1248/599/717 +f 1238/602/707 1240/604/709 1248/599/717 +f 1240/604/709 1242/606/711 1248/599/717 +f 1242/606/711 1244/604/713 1248/599/717 +f 1250/609/190 1252/610/351 1249/611/190 +f 1251/612/351 1254/613/193 1252/610/351 +f 1253/614/193 1256/615/698 1254/613/193 +f 1255/616/698 1258/617/192 1256/615/698 +f 1258/617/192 1259/616/699 1260/615/699 +f 1259/616/699 1262/613/194 1260/615/699 +f 1261/614/191 1257/618/191 1253/614/191 +f 1261/614/194 1264/610/352 1262/613/194 +f 1263/612/352 1249/611/190 1264/610/352 +f 1260/615/195 1262/613/195 1264/610/195 +f 1250/609/190 1251/612/351 1252/610/351 +f 1251/612/351 1253/614/193 1254/613/193 +f 1253/614/193 1255/616/698 1256/615/698 +f 1255/616/698 1257/618/192 1258/617/192 +f 1258/617/192 1257/618/192 1259/616/699 +f 1259/616/699 1261/614/194 1262/613/194 +f 1253/614/191 1251/612/191 1250/609/191 +f 1250/609/191 1263/612/191 1261/614/191 +f 1261/614/191 1259/616/191 1257/618/191 +f 1257/618/191 1255/616/191 1253/614/191 +f 1253/614/191 1250/609/191 1261/614/191 +f 1261/614/194 1263/612/352 1264/610/352 +f 1263/612/352 1250/609/190 1249/611/190 +f 1264/610/195 1249/611/195 1252/610/195 +f 1252/610/195 1254/613/195 1264/610/195 +f 1254/613/195 1256/615/195 1264/610/195 +f 1256/615/195 1258/617/195 1264/610/195 +f 1258/617/195 1260/615/195 1264/610/195 +s 0 +f 1266/619/195 1268/620/195 1265/619/195 +f 1267/620/190 1270/621/190 1268/620/190 +f 1269/621/191 1272/622/191 1270/621/191 +f 1271/622/192 1265/619/192 1272/622/192 +f 1270/621/193 1265/619/193 1268/620/193 +f 1267/620/194 1271/622/194 1269/621/194 +f 1266/619/195 1267/620/195 1268/620/195 +f 1267/620/190 1269/621/190 1270/621/190 +f 1269/621/191 1271/622/191 1272/622/191 +f 1271/622/192 1266/619/192 1265/619/192 +f 1270/621/193 1272/622/193 1265/619/193 +f 1267/620/194 1266/619/194 1271/622/194 +o Guard +v -0.075429 0.170624 0.849928 +v 0.076654 0.170624 0.849928 +v 0.076654 0.210654 0.849928 +v -0.075429 0.210654 0.849928 +v -0.075429 0.170624 0.731509 +v 0.076654 0.170624 0.731509 +v -0.062753 0.100624 0.288424 +v 0.063977 0.100624 0.288424 +v 0.063977 0.100624 0.334112 +v -0.062753 0.100624 0.334112 +v -0.062753 0.140624 0.523278 +v 0.063977 0.140624 0.523278 +v 0.063977 0.161879 0.627054 +v -0.062753 0.161879 0.627054 +v -0.075429 0.170654 0.428800 +v 0.076654 0.170654 0.428800 +v 0.076654 0.130654 0.328424 +v -0.075429 0.130654 0.328424 +v -0.075429 0.210654 0.569176 +v 0.076654 0.210654 0.569176 +v 0.076654 0.109795 0.300640 +v 0.073412 0.102969 0.291549 +v -0.072187 0.102970 0.291549 +v -0.075429 0.109795 0.300640 +v 0.063977 0.104504 0.375389 +v -0.062753 0.104504 0.375389 +v -0.062753 0.101616 0.357071 +v 0.063977 0.101616 0.357071 +v 0.076654 0.168387 0.674625 +v 0.076654 0.168877 0.596451 +v 0.076654 0.146675 0.488050 +v 0.076654 0.111023 0.342077 +v 0.076654 0.110109 0.336278 +v 0.076654 0.109795 0.329011 +v 0.063977 0.168387 0.674625 +v -0.062753 0.168387 0.674625 +v -0.075429 0.168387 0.674625 +v 0.073412 0.106172 0.366869 +v 0.073412 0.103789 0.351753 +v -0.075429 0.111023 0.342077 +v -0.075429 0.110109 0.336278 +v -0.072187 0.103789 0.351753 +v -0.072187 0.106172 0.366869 +v 0.073412 0.102969 0.332807 +v -0.075429 0.109795 0.329011 +v -0.072187 0.102970 0.332807 +v 0.073412 0.142171 0.514267 +v -0.075429 0.146675 0.488050 +v -0.072187 0.142171 0.514267 +v 0.073412 0.163669 0.619227 +v -0.075429 0.168877 0.596451 +v -0.072187 0.163669 0.619227 +vn -0.0000 -0.0000 1.0000 +vn -0.0000 -0.9998 0.0197 +vn -0.0000 -1.0000 -0.0000 +vn 0.1081 -0.9941 -0.0000 +vn -0.1228 -0.9922 0.0223 +vn -0.1082 -0.9941 -0.0000 +vn 0.1730 -0.9619 0.2118 +vn -0.1261 -0.9820 0.1403 +vn -0.1730 -0.9619 0.2118 +vn -0.0000 0.9466 -0.3225 +vn -0.0000 0.8720 -0.4896 +vn -0.0000 0.9904 -0.1384 +vn -0.0000 1.0000 -0.0000 +vn -0.0000 0.7997 -0.6004 +vn -0.1737 -0.9639 0.2019 +vn 0.1419 -0.9841 0.1067 +vn 0.1737 -0.9639 0.2019 +vn 1.0000 -0.0000 -0.0000 +vn 0.9871 -0.1577 0.0276 +vn 0.9890 -0.1438 0.0343 +vn -0.1420 -0.9841 0.1067 +vn 0.1228 -0.9922 0.0223 +vn -0.0000 -0.9962 0.0875 +vn 0.1260 -0.9821 0.1403 +vn 0.9839 -0.1760 0.0295 +vn 0.6628 -0.7453 0.0722 +vn 0.9764 -0.2157 0.0130 +vn 0.7080 -0.6933 0.1341 +vn -0.9839 -0.1760 0.0295 +vn -0.6628 -0.7453 0.0722 +vn -0.7080 -0.6933 0.1341 +vn 0.6334 -0.7737 0.0172 +vn 0.9752 -0.2211 0.0034 +vn -0.9764 -0.2157 0.0130 +vn -0.6334 -0.7736 0.0172 +vn 0.7238 -0.6729 0.1529 +vn 0.4534 -0.8913 -0.0000 +vn 0.9385 -0.3452 -0.0000 +vn -0.9385 -0.3453 -0.0000 +vn -0.9752 -0.2212 0.0034 +vn -0.4535 -0.8913 -0.0000 +vn -0.9890 -0.1438 0.0343 +vn -0.7238 -0.6728 0.1529 +vn 0.7179 -0.6938 0.0562 +vn 0.6269 -0.7745 0.0844 +vn -0.7179 -0.6938 0.0562 +vn -0.9871 -0.1577 0.0276 +vn -0.6269 -0.7745 0.0844 +vn -1.0000 -0.0000 -0.0000 +vn 0.0001 0.7996 -0.6005 +vt 0.437463 0.717486 +vt 0.437463 0.729525 +vt 0.473076 0.717486 +vt 0.606328 0.696434 +vt 0.592588 0.696434 +vt 0.535699 0.708464 +vt 0.504490 0.714856 +vt 0.564112 0.717495 +vt 0.594299 0.705466 +vt 0.521896 0.729525 +vt 0.605389 0.697140 +vt 0.602655 0.699193 +vt 0.580175 0.697602 +vt 0.585684 0.696733 +vt 0.513693 0.716961 +vt 0.546293 0.710284 +vt 0.490183 0.716814 +vt 0.590193 0.699562 +vt 0.587283 0.697386 +vt 0.591937 0.699287 +vt 0.582737 0.698103 +vt 0.592981 0.697140 +vt 0.594123 0.699193 +vt 0.538409 0.708929 +vt 0.506844 0.715395 +s 1 +f 1274/623/719 1276/624/719 1273/623/719 +f 1278/625/720 1273/623/721 1277/625/720 +f 1280/626/722 1282/627/723 1279/626/724 +f 1284/628/725 1286/629/726 1283/628/727 +f 1288/630/728 1290/631/729 1287/630/728 +f 1292/632/730 1287/630/728 1291/632/730 +f 1275/624/731 1291/632/730 1276/624/731 +f 1279/626/732 1295/633/732 1296/634/732 +f 1298/635/733 1300/636/734 1297/635/735 +f 1292/632/736 1302/637/737 1303/638/738 +f 1299/636/739 1281/627/740 1300/636/734 +f 1308/639/741 1285/629/742 1307/639/741 +f 1277/625/720 1308/639/741 1307/639/741 +f 1297/635/735 1283/628/727 1298/635/733 +f 1304/640/743 1311/641/744 1305/642/745 +f 1310/643/746 1300/636/734 1311/641/744 +f 1312/640/747 1314/641/748 1315/643/749 +f 1315/643/749 1299/636/739 1298/635/733 +f 1305/642/745 1316/644/750 1306/645/751 +f 1311/641/744 1281/627/740 1316/644/750 +f 1313/642/752 1318/644/753 1314/641/748 +f 1314/641/748 1282/627/723 1299/636/739 +f 1297/635/735 1319/646/754 1284/628/725 +f 1310/643/746 1303/638/738 1319/646/754 +f 1281/627/740 1294/633/755 1316/644/750 +f 1316/644/750 1293/634/756 1306/645/751 +f 1296/634/757 1318/644/753 1317/645/758 +f 1295/633/759 1282/627/723 1318/644/753 +f 1320/638/760 1315/643/749 1321/646/761 +f 1321/646/761 1298/635/733 1283/628/727 +f 1302/637/737 1301/639/762 1322/647/763 +f 1301/639/762 1285/629/742 1322/647/763 +f 1309/639/764 1323/637/765 1324/647/766 +f 1309/639/764 1286/629/726 1308/639/741 +f 1323/637/765 1321/646/761 1324/647/766 +f 1324/647/766 1283/628/727 1286/629/726 +f 1302/637/737 1319/646/754 1303/638/738 +f 1322/647/763 1284/628/725 1319/646/754 +f 1291/632/767 1320/638/760 1323/637/765 +f 1274/623/719 1275/624/719 1276/624/719 +f 1278/625/720 1274/623/721 1273/623/721 +f 1280/626/722 1281/627/740 1282/627/723 +f 1284/628/725 1285/629/742 1286/629/726 +f 1288/630/728 1289/631/729 1290/631/729 +f 1292/632/730 1288/630/728 1287/630/728 +f 1275/624/731 1292/632/730 1291/632/730 +f 1296/634/732 1290/631/729 1279/626/732 +f 1290/631/729 1289/631/729 1279/626/732 +f 1289/631/729 1293/634/732 1280/626/732 +f 1293/634/732 1294/633/768 1280/626/732 +f 1280/626/732 1279/626/732 1289/631/729 +f 1298/635/733 1299/636/739 1300/636/734 +f 1293/634/756 1289/631/736 1306/645/751 +f 1289/631/736 1288/630/736 1304/640/743 +f 1306/645/751 1289/631/736 1305/642/745 +f 1288/630/736 1292/632/736 1303/638/738 +f 1292/632/736 1275/624/736 1278/625/736 +f 1302/637/737 1292/632/736 1301/639/762 +f 1275/624/736 1274/623/736 1278/625/736 +f 1278/625/736 1301/639/762 1292/632/736 +f 1303/638/738 1304/640/743 1288/630/736 +f 1304/640/743 1305/642/745 1289/631/736 +f 1299/636/739 1282/627/723 1281/627/740 +f 1308/639/741 1286/629/726 1285/629/742 +f 1301/639/762 1278/625/720 1307/639/741 +f 1278/625/720 1277/625/720 1307/639/741 +f 1277/625/720 1309/639/764 1308/639/741 +f 1297/635/735 1284/628/725 1283/628/727 +f 1304/640/743 1310/643/746 1311/641/744 +f 1310/643/746 1297/635/735 1300/636/734 +f 1312/640/747 1313/642/752 1314/641/748 +f 1315/643/749 1314/641/748 1299/636/739 +f 1305/642/745 1311/641/744 1316/644/750 +f 1311/641/744 1300/636/734 1281/627/740 +f 1313/642/752 1317/645/758 1318/644/753 +f 1314/641/748 1318/644/753 1282/627/723 +f 1297/635/735 1310/643/746 1319/646/754 +f 1310/643/746 1304/640/743 1303/638/738 +f 1281/627/740 1280/626/722 1294/633/755 +f 1316/644/750 1294/633/755 1293/634/756 +f 1296/634/757 1295/633/759 1318/644/753 +f 1295/633/759 1279/626/724 1282/627/723 +f 1320/638/760 1312/640/747 1315/643/749 +f 1321/646/761 1315/643/749 1298/635/733 +f 1301/639/762 1307/639/741 1285/629/742 +f 1309/639/764 1324/647/766 1286/629/726 +f 1323/637/765 1320/638/760 1321/646/761 +f 1324/647/766 1321/646/761 1283/628/727 +f 1302/637/737 1322/647/763 1319/646/754 +f 1322/647/763 1285/629/742 1284/628/725 +f 1273/623/767 1276/624/767 1277/625/767 +f 1276/624/767 1291/632/767 1277/625/767 +f 1291/632/767 1287/630/767 1320/638/760 +f 1287/630/767 1290/631/767 1312/640/747 +f 1312/640/747 1290/631/767 1313/642/752 +f 1290/631/767 1296/634/757 1317/645/758 +f 1317/645/758 1313/642/752 1290/631/767 +f 1312/640/747 1320/638/760 1287/630/767 +f 1323/637/765 1309/639/764 1291/632/767 +f 1309/639/764 1277/625/767 1291/632/767 +o Trigger +v 0.012697 0.181206 1.380449 +v 0.012697 0.180872 1.291923 +v 0.011096 0.180730 1.254413 +v 0.006436 0.180681 1.241522 +v -0.005212 0.180681 1.241522 +v -0.009871 0.180730 1.254413 +v -0.011473 0.180872 1.291923 +v -0.011473 0.181206 1.380449 +v 0.012697 0.075307 1.433398 +v 0.012697 0.040182 1.418719 +v 0.012697 0.040182 1.418719 +v 0.012697 0.076073 1.429194 +v 0.012697 0.117095 1.423724 +v 0.012697 0.144311 1.410405 +v 0.012697 0.173001 1.356401 +v 0.012697 0.151323 1.415574 +v 0.012697 0.120917 1.430253 +v 0.006436 0.140314 1.403516 +v 0.006436 0.115674 1.415574 +v -0.005212 0.115674 1.415574 +v -0.005212 0.140314 1.403516 +v 0.006436 0.076355 1.420816 +v -0.005212 0.076355 1.420816 +v 0.006436 0.045424 1.412952 +v -0.005212 0.045424 1.412952 +v 0.006436 0.023366 1.398798 +v -0.005212 0.023366 1.398798 +v 0.011096 0.027667 1.403893 +v -0.011473 0.040182 1.418719 +v -0.011473 0.040182 1.418719 +v -0.009871 0.027667 1.403893 +v -0.011473 0.075307 1.433398 +v -0.011473 0.120917 1.430253 +v -0.011473 0.151323 1.415574 +v -0.011473 0.173001 1.356401 +v -0.011473 0.144311 1.410405 +v -0.011473 0.117095 1.423724 +v -0.011473 0.076073 1.429194 +v 0.006436 0.167051 1.353188 +v -0.005212 0.167051 1.353188 +v 0.011096 0.168573 1.354010 +v 0.011096 0.141336 1.405278 +v 0.011096 0.116037 1.417658 +v 0.011096 0.076283 1.422959 +v 0.011096 0.044916 1.414984 +v -0.009871 0.168573 1.354010 +v -0.009871 0.141336 1.405278 +v -0.009871 0.116037 1.417658 +v -0.009871 0.076283 1.422959 +v -0.009871 0.044916 1.414984 +vn -0.0000 1.0000 -0.0038 +vn -0.0000 0.9392 0.3434 +vn 0.9934 -0.0321 -0.1101 +vn 0.9942 -0.0721 -0.0801 +vn 1.0000 -0.0000 -0.0000 +vn 0.2145 -0.2854 -0.9341 +vn -0.2064 -0.6878 -0.6960 +vn 0.2063 -0.6878 -0.6960 +vn 0.2195 0.0574 -0.9739 +vn -0.2146 -0.2854 -0.9341 +vn 0.2112 0.3928 -0.8951 +vn -0.2195 0.0574 -0.9739 +vn 0.1183 0.5363 -0.8357 +vn -0.2112 0.3928 -0.8951 +vn -0.0000 -0.0238 0.9997 +vn -0.0000 0.9977 0.0679 +vn -0.0000 -0.7641 0.6450 +vn -1.0000 -0.0000 -0.0000 +vn -0.9934 -0.0321 -0.1102 +vn -0.0000 -0.1628 0.9867 +vn -0.0000 0.5543 0.8323 +vn -0.0000 0.2564 0.9666 +vn -0.0000 0.6114 0.7913 +vn -0.1772 -0.9400 -0.2917 +vn 0.1772 -0.9400 -0.2917 +vn 0.9504 -0.3088 -0.0377 +vn 0.7458 -0.6358 -0.1989 +vn 0.3609 -0.9257 -0.1130 +vn 0.0625 -0.9907 -0.1209 +vn 0.9905 -0.1306 -0.0437 +vn 0.7949 -0.4244 -0.4336 +vn 0.7858 -0.1790 -0.5920 +vn 0.7940 0.0354 -0.6069 +vn 0.9939 0.0064 -0.1100 +vn 0.7710 0.2461 -0.5873 +vn 0.7889 0.5810 -0.2001 +vn 0.4706 0.4766 -0.7426 +vn -0.3610 -0.9257 -0.1130 +vn -0.0625 -0.9907 -0.1209 +vn -0.7457 -0.6359 -0.1989 +vn -0.9503 -0.3089 -0.0377 +vn -0.7949 -0.4245 -0.4336 +vn -0.9905 -0.1307 -0.0437 +vn -0.7858 -0.1790 -0.5920 +vn -0.9942 -0.0721 -0.0801 +vn -0.7939 0.0354 -0.6070 +vn -0.7710 0.2462 -0.5873 +vn -0.9939 0.0064 -0.1101 +vn -0.4706 0.4766 -0.7425 +vn -0.7889 0.5810 -0.2002 +vn -0.0000 1.0000 -0.0000 +vn -0.1183 0.5363 -0.8357 +vn -0.0000 -0.7641 0.6451 +vn -0.0000 0.4114 0.9114 +vn -0.0000 -0.7642 0.6450 +vt 0.559609 0.765930 +vt 0.494705 0.766175 +vt 0.462977 0.719170 +vt 0.472742 0.739125 +vt 0.458190 0.721973 +vt 0.468953 0.718129 +vt 0.477793 0.736194 +vt 0.465109 0.689302 +vt 0.470874 0.666624 +vt 0.481252 0.650452 +vt 0.466646 0.662781 +vt 0.455884 0.688533 +vt 0.468953 0.744266 +vt 0.514692 0.755797 +vt 0.514090 0.756913 +vt 0.587110 0.765826 +vt 0.596562 0.765790 +vt 0.512336 0.760159 +vt 0.476501 0.736944 +vt 0.467424 0.718395 +vt 0.463538 0.689249 +vt 0.458967 0.689095 +vt 0.469385 0.666251 +vt 0.477517 0.653605 +s 1 +f 1331/648/769 1332/649/770 1326/648/769 +f 1337/650/771 1338/651/772 1341/652/773 +f 1343/653/774 1345/654/775 1342/654/776 +f 1346/655/777 1344/653/778 1343/653/774 +f 1348/656/779 1347/655/780 1346/655/777 +f 1350/657/781 1349/656/782 1348/656/779 +f 1353/658/783 1354/658/784 1351/657/785 +f 1356/659/786 1357/652/786 1361/650/787 +f 1333/659/788 1353/658/783 1334/658/789 +f 1341/652/790 1356/659/788 1333/659/788 +f 1340/660/791 1357/652/790 1341/652/790 +f 1325/649/770 1358/660/791 1340/660/791 +f 1342/654/776 1364/661/792 1363/661/793 +f 1326/648/794 1365/662/795 1327/663/796 +f 1327/663/796 1363/661/793 1328/664/797 +f 1339/665/798 1366/666/799 1365/662/795 +f 1365/662/795 1342/654/776 1363/661/793 +f 1338/651/772 1367/667/800 1366/666/799 +f 1366/666/799 1343/653/774 1342/654/776 +f 1337/650/771 1368/668/801 1367/667/800 +f 1367/667/800 1346/655/777 1343/653/774 +f 1336/669/802 1369/670/803 1368/668/801 +f 1369/670/803 1346/655/777 1368/668/801 +f 1335/658/804 1352/671/805 1369/670/803 +f 1352/671/805 1348/656/779 1369/670/803 +f 1364/661/792 1330/663/806 1329/664/807 +f 1370/662/808 1331/648/809 1330/663/806 +f 1345/654/775 1370/662/808 1364/661/792 +f 1371/666/810 1359/665/811 1370/662/808 +f 1344/653/778 1371/666/810 1345/654/775 +f 1372/667/812 1360/651/813 1371/666/810 +f 1347/655/780 1372/667/812 1344/653/778 +f 1373/668/814 1361/650/787 1372/667/812 +f 1347/655/780 1374/670/815 1373/668/814 +f 1374/670/815 1362/669/816 1373/668/814 +f 1349/656/782 1355/671/817 1374/670/815 +f 1374/670/815 1355/671/817 1354/658/818 +f 1363/661/793 1329/664/807 1328/664/797 +f 1332/649/770 1325/649/770 1326/648/769 +f 1326/648/769 1327/663/769 1330/663/769 +f 1327/663/769 1328/664/769 1330/663/769 +f 1328/664/769 1329/664/769 1330/663/769 +f 1330/663/769 1331/648/769 1326/648/769 +f 1333/659/773 1334/658/819 1335/658/804 +f 1333/659/773 1335/658/804 1336/669/802 +f 1325/649/773 1340/660/773 1338/651/772 +f 1340/660/773 1341/652/773 1338/651/772 +f 1339/665/798 1326/648/794 1325/649/773 +f 1338/651/772 1339/665/798 1325/649/773 +f 1341/652/773 1333/659/773 1337/650/771 +f 1333/659/773 1336/669/802 1337/650/771 +f 1343/653/774 1344/653/778 1345/654/775 +f 1346/655/777 1347/655/780 1344/653/778 +f 1348/656/779 1349/656/782 1347/655/780 +f 1350/657/781 1351/657/820 1349/656/782 +f 1351/657/785 1350/657/821 1352/671/785 +f 1335/658/822 1334/658/789 1353/658/783 +f 1351/657/785 1352/671/785 1353/658/783 +f 1352/671/785 1335/658/822 1353/658/783 +f 1354/658/784 1355/671/823 1351/657/785 +f 1357/652/786 1358/660/786 1360/651/813 +f 1358/660/786 1332/649/786 1360/651/813 +f 1332/649/786 1331/648/809 1359/665/811 +f 1332/649/786 1359/665/811 1360/651/813 +f 1354/658/818 1353/658/819 1356/659/786 +f 1362/669/816 1354/658/818 1356/659/786 +f 1361/650/787 1362/669/816 1356/659/786 +f 1357/652/786 1360/651/813 1361/650/787 +f 1333/659/788 1356/659/788 1353/658/783 +f 1341/652/790 1357/652/790 1356/659/788 +f 1340/660/791 1358/660/791 1357/652/790 +f 1325/649/770 1332/649/770 1358/660/791 +f 1342/654/776 1345/654/775 1364/661/792 +f 1326/648/794 1339/665/798 1365/662/795 +f 1327/663/796 1365/662/795 1363/661/793 +f 1339/665/798 1338/651/772 1366/666/799 +f 1365/662/795 1366/666/799 1342/654/776 +f 1338/651/772 1337/650/771 1367/667/800 +f 1366/666/799 1367/667/800 1343/653/774 +f 1337/650/771 1336/669/802 1368/668/801 +f 1367/667/800 1368/668/801 1346/655/777 +f 1336/669/802 1335/658/804 1369/670/803 +f 1369/670/803 1348/656/779 1346/655/777 +f 1352/671/805 1350/657/781 1348/656/779 +f 1364/661/792 1370/662/808 1330/663/806 +f 1370/662/808 1359/665/811 1331/648/809 +f 1345/654/775 1371/666/810 1370/662/808 +f 1371/666/810 1360/651/813 1359/665/811 +f 1344/653/778 1372/667/812 1371/666/810 +f 1372/667/812 1361/650/787 1360/651/813 +f 1347/655/780 1373/668/814 1372/667/812 +f 1373/668/814 1362/669/816 1361/650/787 +f 1347/655/780 1349/656/782 1374/670/815 +f 1374/670/815 1354/658/818 1362/669/816 +f 1349/656/782 1351/657/820 1355/671/817 +f 1363/661/793 1364/661/792 1329/664/807 +o Shell +v 0.099482 0.451316 0.176171 +v 0.070235 0.521924 0.176171 +v -0.000373 0.551171 0.176171 +v -0.070981 0.521924 0.176171 +v -0.100228 0.451316 0.176171 +v -0.070981 0.380707 0.176171 +v -0.000373 0.351461 0.176171 +v 0.070235 0.380707 0.176171 +v 0.112264 0.451316 0.176171 +v 0.079273 0.530962 0.176171 +v -0.000373 0.563952 0.176171 +v -0.080019 0.530962 0.176171 +v -0.113009 0.451316 0.176171 +v -0.080019 0.371670 0.176171 +v -0.000373 0.338679 0.176171 +v 0.079273 0.371670 0.176171 +v 0.112264 0.451316 0.210923 +v 0.079273 0.530962 0.210923 +v -0.000373 0.563952 0.210923 +v -0.080019 0.530962 0.210923 +v -0.113009 0.451316 0.210923 +v -0.080019 0.371670 0.210923 +v -0.000373 0.338679 0.210923 +v 0.079273 0.371670 0.210923 +v 0.099482 0.451316 0.066321 +v 0.070235 0.521924 0.066321 +v -0.000373 0.551171 0.066321 +v -0.070981 0.521924 0.066321 +v -0.100228 0.451316 0.066321 +v -0.070981 0.380707 0.066321 +v -0.000373 0.351461 0.066321 +v 0.070235 0.380707 0.066321 +vn -0.3827 0.9239 -0.0000 +vn -0.9239 0.3827 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn -0.0000 -0.0000 1.0000 +vn -0.3827 -0.9239 -0.0000 +vn 0.3827 -0.9239 -0.0000 +vn 0.3827 0.9239 -0.0000 +vn -0.9239 -0.3827 -0.0000 +vn 0.9239 -0.3827 -0.0000 +vn 0.9239 0.3827 -0.0000 +vt 0.207020 0.712433 +vt 0.247848 0.790812 +vt 0.207020 0.790812 +vt 0.166191 0.790812 +vt 0.166191 0.712433 +vt 0.125363 0.712433 +vt 0.084534 0.712433 +vt 0.288676 0.712433 +vt 0.329504 0.712433 +vt 0.002878 0.712433 +vt 0.043706 0.712433 +vt 0.247848 0.712433 +vt 0.334095 0.764304 +vt 0.358730 0.803066 +vt 0.477679 0.725541 +vt 0.477679 0.803066 +vt 0.502314 0.764304 +vt 0.358730 0.725541 +vt 0.288676 0.790812 +vt 0.002878 0.790812 +vt 0.043706 0.790812 +vt 0.084534 0.790812 +vt 0.125363 0.790812 +vt 0.418204 0.819122 +vt 0.418204 0.709486 +vt 0.329504 0.790812 +s 0 +f 1378/672/824 1401/673/824 1402/674/824 +f 1378/672/825 1403/675/825 1379/676/825 +f 1380/677/826 1389/678/826 1388/677/826 +f 1376/679/826 1383/680/826 1375/680/826 +f 1375/681/826 1390/682/826 1382/682/826 +f 1377/683/826 1386/672/826 1385/683/826 +f 1397/684/827 1398/685/827 1394/686/827 +f 1386/672/824 1393/683/824 1385/683/824 +f 1389/678/828 1396/677/828 1388/677/828 +f 1387/676/825 1394/672/825 1386/672/825 +f 1390/682/829 1397/678/829 1389/678/829 +f 1385/683/830 1392/679/830 1384/679/830 +f 1387/676/831 1396/677/831 1395/676/831 +f 1383/681/832 1398/682/832 1390/682/832 +f 1384/679/833 1391/680/833 1383/680/833 +f 1379/676/826 1386/672/826 1378/672/826 +f 1377/683/826 1384/679/826 1376/679/826 +f 1382/682/826 1389/678/826 1381/678/826 +f 1392/687/827 1393/688/827 1394/686/827 +f 1380/677/826 1387/676/826 1379/676/826 +f 1396/689/827 1397/684/827 1394/686/827 +f 1376/679/830 1401/673/830 1377/683/830 +f 1375/680/833 1400/690/833 1376/679/833 +f 1382/682/832 1399/691/832 1375/681/832 +f 1381/678/829 1406/692/829 1382/682/829 +f 1380/677/828 1405/693/828 1381/678/828 +f 1380/677/831 1403/675/831 1404/694/831 +f 1380/677/826 1381/678/826 1389/678/826 +f 1376/679/826 1384/679/826 1383/680/826 +f 1375/681/826 1383/681/826 1390/682/826 +f 1377/683/826 1378/672/826 1386/672/826 +f 1398/685/827 1391/695/827 1392/687/827 +f 1386/672/824 1394/672/824 1393/683/824 +f 1389/678/828 1397/678/828 1396/677/828 +f 1387/676/825 1395/676/825 1394/672/825 +f 1390/682/829 1398/682/829 1397/678/829 +f 1385/683/830 1393/683/830 1392/679/830 +f 1387/676/831 1388/677/831 1396/677/831 +f 1383/681/832 1391/681/832 1398/682/832 +f 1384/679/833 1392/679/833 1391/680/833 +f 1379/676/826 1387/676/826 1386/672/826 +f 1377/683/826 1385/683/826 1384/679/826 +f 1382/682/826 1390/682/826 1389/678/826 +f 1380/677/826 1388/677/826 1387/676/826 +f 1394/686/827 1395/696/827 1396/689/827 +f 1398/685/827 1392/687/827 1394/686/827 +f 1378/672/824 1377/683/824 1401/673/824 +f 1378/672/825 1402/674/825 1403/675/825 +f 1376/679/830 1400/690/830 1401/673/830 +f 1375/680/833 1399/697/833 1400/690/833 +f 1382/682/832 1406/692/832 1399/691/832 +f 1381/678/829 1405/693/829 1406/692/829 +f 1380/677/828 1404/694/828 1405/693/828 +f 1380/677/831 1379/676/831 1403/675/831 +o ShellFore +v 0.034390 0.451316 -0.097256 +v 0.024208 0.475897 -0.097256 +v -0.000373 0.486078 -0.097256 +v -0.024954 0.475897 -0.097256 +v -0.035135 0.451316 -0.097256 +v -0.024954 0.426735 -0.097256 +v -0.000373 0.416553 -0.097256 +v 0.024208 0.426735 -0.097256 +v 0.099482 0.451316 0.066321 +v 0.070235 0.521924 0.066321 +v -0.000373 0.551171 0.066321 +v -0.070981 0.521924 0.066321 +v -0.100228 0.451316 0.066321 +v -0.070981 0.380707 0.066321 +v -0.000373 0.351461 0.066321 +v 0.070235 0.380707 0.066321 +v 0.070235 0.521924 -0.238119 +v 0.099482 0.451316 -0.238119 +v -0.000373 0.551171 -0.238119 +v -0.070981 0.521924 -0.238119 +v -0.100228 0.451316 -0.238119 +v -0.070981 0.380707 -0.238119 +v -0.000373 0.351461 -0.238119 +v 0.070235 0.380707 -0.238119 +vn 0.9239 -0.3827 -0.0000 +vn 0.9239 0.3827 -0.0000 +vn 0.3827 0.9239 -0.0000 +vn -0.9239 -0.3827 -0.0000 +vn -0.3827 -0.9239 -0.0000 +vn 0.3827 -0.9239 -0.0000 +vn -0.3827 0.9239 -0.0000 +vn -0.9239 0.3827 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn -0.8497 -0.3520 -0.3926 +vn -0.3520 -0.8497 -0.3926 +vn 0.3520 -0.8497 -0.3926 +vn 0.8497 -0.3520 -0.3926 +vn 0.8497 0.3520 -0.3926 +vn 0.3519 0.8497 -0.3926 +vn -0.3519 0.8497 -0.3926 +vn -0.8497 0.3520 -0.3926 +vn 0.3519 -0.8497 -0.3926 +vn 0.3520 0.8497 -0.3926 +vn -0.3520 0.8497 -0.3926 +vn -0.8497 0.3519 -0.3926 +vt 0.043550 0.791975 +vt 0.002178 0.930026 +vt 0.002178 0.791975 +vt 0.333158 0.791975 +vt 0.291785 0.930026 +vt 0.291785 0.791975 +vt 0.250413 0.930026 +vt 0.250413 0.791975 +vt 0.167668 0.791975 +vt 0.126295 0.930026 +vt 0.126295 0.791975 +vt 0.084923 0.791975 +vt 0.084923 0.930026 +vt 0.043550 0.930026 +vt 0.209040 0.930026 +vt 0.209040 0.791975 +vt 0.167668 0.930026 +vt 0.050685 0.998106 +vt 0.166073 0.998106 +vt 0.281460 0.998106 +vt 0.057134 0.998830 +vt 0.116907 0.930226 +vt 0.118548 0.999962 +vt 0.001433 0.999043 +vt 0.060207 0.931062 +vt 0.331484 0.999525 +vt 0.247738 0.930700 +vt 0.333277 0.931090 +vt 0.001218 0.996208 +vt 0.139723 0.930508 +vt 0.137063 0.995766 +vt 0.000345 0.997602 +vt 0.139908 0.933364 +vt 0.136182 0.998674 +vt 0.001907 0.998589 +vt 0.087835 0.929331 +vt 0.090634 0.998073 +vt 0.000235 0.999789 +vt 0.056663 0.931708 +vt 0.053753 0.998957 +vt 0.000699 0.998101 +vt -0.000302 0.930474 +vt 0.333158 0.930026 +vt 0.329256 0.998106 +vt 0.281460 0.998106 +vt 0.002889 0.998106 +vt 0.001473 0.930410 +vt 0.247782 0.999431 +vt 0.003911 0.932253 +vt -0.001634 0.932333 +vt 0.002007 0.930529 +vt -0.000503 0.931244 +s 0 +f 1422/698/834 1424/699/834 1415/700/834 +f 1415/701/835 1423/702/835 1416/703/835 +f 1416/703/836 1425/704/836 1417/705/836 +f 1419/706/837 1428/707/837 1420/708/837 +f 1421/709/838 1428/707/838 1429/710/838 +f 1421/709/839 1430/711/839 1422/698/839 +f 1426/712/840 1417/705/840 1425/704/840 +f 1418/713/841 1427/714/841 1419/706/841 +f 1412/715/842 1411/716/842 1410/717/842 +f 1408/718/843 1424/719/843 1407/720/843 +f 1409/721/844 1423/722/844 1408/718/844 +f 1409/723/845 1426/724/845 1425/725/845 +f 1411/726/846 1426/727/846 1410/728/846 +f 1412/729/847 1427/730/847 1411/731/847 +f 1413/732/848 1428/733/848 1412/734/848 +f 1414/735/849 1429/736/849 1413/737/849 +f 1414/738/850 1424/719/850 1430/739/850 +f 1422/698/834 1430/711/834 1424/699/834 +f 1415/701/835 1424/740/835 1423/702/835 +f 1416/703/836 1423/702/836 1425/704/836 +f 1419/706/837 1427/714/837 1428/707/837 +f 1421/709/838 1420/708/838 1428/707/838 +f 1421/709/839 1429/710/839 1430/711/839 +f 1426/712/840 1418/713/840 1417/705/840 +f 1418/713/841 1426/712/841 1427/714/841 +f 1410/717/842 1409/741/842 1408/742/842 +f 1408/742/842 1407/716/842 1410/717/842 +f 1407/716/842 1414/715/842 1410/717/842 +f 1414/715/842 1413/743/842 1410/717/842 +f 1413/743/842 1412/715/842 1410/717/842 +f 1408/718/843 1423/722/843 1424/719/843 +f 1409/721/844 1425/744/844 1423/722/844 +f 1409/723/851 1410/745/851 1426/724/851 +f 1411/726/846 1427/746/846 1426/727/846 +f 1412/729/847 1428/747/847 1427/730/847 +f 1413/732/852 1429/748/852 1428/733/852 +f 1414/735/853 1430/749/853 1429/736/853 +f 1414/738/854 1407/720/854 1424/719/854 diff --git a/src/main/resources/assets/hbm/models/weapons/launch_pad_erector.obj b/src/main/resources/assets/hbm/models/weapons/launch_pad_erector.obj new file mode 100644 index 000000000..6e1c08cdd --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/launch_pad_erector.obj @@ -0,0 +1,22013 @@ +# Blender v2.79 (sub 0) OBJ File: 'launch_pad_erector.blend' +# www.blender.org +o ABM_Pivot +v 0.125000 1.250000 -1.375000 +v 0.375000 1.250000 -1.375000 +v 0.125000 1.250000 -1.625000 +v 0.375000 1.250000 -1.625000 +v -0.375000 1.250000 -1.375000 +v -0.125000 1.250000 -1.375000 +v -0.375000 1.250000 -1.625000 +v -0.125000 1.250000 -1.625000 +v 0.125000 2.750000 -1.625000 +v 0.125000 2.750000 -1.375000 +v 0.375000 2.750000 -1.375000 +v 0.375000 2.750000 -1.625000 +v -0.375000 2.750000 -1.625000 +v -0.375000 2.750000 -1.375000 +v -0.125000 2.750000 -1.375000 +v -0.125000 2.750000 -1.625000 +v 0.187500 2.750000 -1.437500 +v 0.312500 2.750000 -1.437500 +v 0.187500 2.750000 -1.562500 +v 0.312500 2.750000 -1.562500 +v 0.187500 3.750000 -1.437500 +v 0.312500 3.750000 -1.437500 +v 0.187500 3.750000 -1.562500 +v 0.312500 3.750000 -1.562500 +v -0.312500 2.750000 -1.437500 +v -0.187500 2.750000 -1.437500 +v -0.312500 2.750000 -1.562500 +v -0.187500 2.750000 -1.562500 +v -0.312500 3.750000 -1.437500 +v -0.187500 3.750000 -1.437500 +v -0.312500 3.750000 -1.562500 +v -0.187500 3.750000 -1.562500 +v 0.125000 2.312500 -1.437500 +v 0.125000 2.187500 -1.437500 +v 0.125000 2.312500 -1.562500 +v 0.125000 2.187500 -1.562500 +v -0.125000 2.312500 -1.562500 +v -0.125000 2.312500 -1.437500 +v -0.125000 2.187500 -1.437500 +v -0.125000 2.187500 -1.562500 +vt 0.750000 0.227273 +vt 0.729167 0.136364 +vt 0.750000 0.136364 +vt 0.791667 0.227273 +vt 0.770833 0.136364 +vt 0.791667 0.136364 +vt 0.666667 0.159091 +vt 0.708333 0.136364 +vt 0.708333 0.159091 +vt 0.666667 0.159091 +vt 0.708333 0.136364 +vt 0.708333 0.159091 +vt 0.833333 -0.000000 +vt 0.791667 0.136364 +vt 0.791667 -0.000000 +vt 0.750000 -0.000000 +vt 0.708333 -0.000000 +vt 0.833333 -0.000000 +vt 0.791667 0.136364 +vt 0.791667 -0.000000 +vt 0.750000 -0.000000 +vt 0.708333 -0.000000 +vt 0.666667 0.136364 +vt 0.666667 -0.000000 +vt 0.750000 0.136364 +vt 0.666667 0.136364 +vt 0.666667 -0.000000 +vt 0.750000 0.136364 +vt 0.729167 0.227273 +vt 0.708333 0.136364 +vt 0.770833 0.227273 +vt 0.750000 0.227273 +vt 0.729167 0.136364 +vt 0.750000 0.136364 +vt 0.791667 0.227273 +vt 0.770833 0.136364 +vt 0.791667 0.136364 +vt 0.729167 0.227273 +vt 0.708333 0.136364 +vt 0.770833 0.227273 +vt 0.708333 0.170455 +vt 0.666667 0.181818 +vt 0.666667 0.170455 +vt 0.708333 0.193182 +vt 0.666667 0.204545 +vt 0.666667 0.193182 +vt 0.708333 0.159091 +vt 0.666667 0.159091 +vt 0.708333 0.181818 +vt 0.833333 0.136364 +vt 0.833333 0.136364 +vt 0.708333 0.227273 +vt 0.708333 0.227273 +vt 0.708333 0.204545 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +s off +f 21/1/1 19/2/1 17/3/1 +f 24/4/2 18/5/2 20/6/2 +f 11/7/3 9/8/3 10/9/3 +f 15/10/3 13/11/3 14/12/3 +f 8/13/2 15/14/2 6/15/2 +f 5/16/1 13/11/1 7/17/1 +f 4/18/2 11/19/2 2/20/2 +f 1/21/1 9/8/1 3/22/1 +f 7/17/4 16/23/4 8/24/4 +f 6/15/5 14/25/5 5/16/5 +f 3/22/4 12/26/4 4/27/4 +f 2/20/5 10/28/5 1/21/5 +f 23/29/4 20/30/4 19/2/4 +f 22/31/5 17/3/5 18/5/5 +f 29/32/1 27/33/1 25/34/1 +f 32/35/2 26/36/2 28/37/2 +f 31/38/4 28/39/4 27/33/4 +f 30/40/5 25/34/5 26/36/5 +f 40/41/4 35/42/4 36/43/4 +f 38/44/5 34/45/5 33/46/5 +f 39/47/6 36/43/6 34/48/6 +f 37/49/3 33/46/3 35/42/3 +f 21/1/1 23/29/1 19/2/1 +f 24/4/2 22/31/2 18/5/2 +f 11/7/3 12/26/3 9/8/3 +f 15/10/3 16/23/3 13/11/3 +f 8/13/2 16/50/2 15/14/2 +f 5/16/1 14/25/1 13/11/1 +f 4/18/2 12/51/2 11/19/2 +f 1/21/1 10/28/1 9/8/1 +f 7/17/4 13/11/4 16/23/4 +f 6/15/5 15/14/5 14/25/5 +f 3/22/4 9/8/4 12/26/4 +f 2/20/5 11/19/5 10/28/5 +f 23/29/4 24/52/4 20/30/4 +f 22/31/5 21/1/5 17/3/5 +f 29/32/1 31/38/1 27/33/1 +f 32/35/2 30/40/2 26/36/2 +f 31/38/4 32/53/4 28/39/4 +f 30/40/5 29/32/5 25/34/5 +f 40/41/4 37/49/4 35/42/4 +f 38/44/5 39/54/5 34/45/5 +f 39/47/6 40/41/6 36/43/6 +f 37/49/3 38/44/3 33/46/3 +o ABM_Rope +v 0.000000 10.500000 1.437500 +v 0.000000 10.375000 1.437500 +v 0.000000 10.500000 0.000000 +v 0.000000 10.375000 0.000000 +v 0.000000 10.375000 1.062500 +v 0.000000 10.250000 1.062500 +v 0.000000 10.375000 0.375000 +v 0.000000 10.250000 0.375000 +v 0.000000 10.500000 1.437500 +v 0.000000 10.375000 1.437500 +v 0.000000 10.500000 0.000000 +v 0.000000 10.375000 0.000000 +v 0.000000 10.375000 1.062500 +v 0.000000 10.250000 1.062500 +v 0.000000 10.375000 0.375000 +v 0.000000 10.250000 0.375000 +vt 0.593750 0.920455 +vt 0.656250 0.909091 +vt 0.656250 0.920455 +vt 0.593750 0.909091 +vt 0.479167 0.920455 +vt 0.479167 0.909091 +vt 0.416667 0.909091 +vt 0.416667 0.920455 +vt 0.656250 0.909091 +vt 0.593750 0.920455 +vt 0.656250 0.920455 +vt 0.479167 0.920455 +vt 0.593750 0.909091 +vt 0.479167 0.909091 +vt 0.416667 0.909091 +vt 0.416667 0.920455 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +s off +f 47/55/7 44/56/7 43/57/7 +f 48/58/7 45/59/7 46/60/7 +f 42/61/7 45/59/7 41/62/7 +f 52/63/8 55/64/8 51/65/8 +f 53/66/8 56/67/8 54/68/8 +f 50/69/8 53/66/8 54/68/8 +f 47/55/7 48/58/7 44/56/7 +f 48/58/7 47/55/7 45/59/7 +f 42/61/7 46/60/7 45/59/7 +f 52/63/8 56/67/8 55/64/8 +f 53/66/8 55/64/8 56/67/8 +f 50/69/8 49/70/8 53/66/8 +o ABM_Erector +v 0.125000 2.750000 -1.625000 +v 0.125000 2.750000 -1.375000 +v 0.375000 2.750000 -1.375000 +v 0.375000 2.750000 -1.625000 +v -0.375000 2.750000 -1.625000 +v -0.375000 2.750000 -1.375000 +v -0.125000 2.750000 -1.375000 +v -0.125000 2.750000 -1.625000 +v 0.125000 9.750000 -1.625000 +v 0.125000 9.750000 -1.375000 +v 0.375000 9.750000 -1.375000 +v 0.375000 9.750000 -1.625000 +v -0.375000 9.750000 -1.625000 +v -0.375000 9.750000 -1.375000 +v -0.125000 9.750000 -1.375000 +v -0.125000 9.750000 -1.625000 +v 0.250000 4.625000 -1.500000 +v 0.500000 4.625000 -1.500000 +v 0.250000 4.875000 -1.500000 +v 0.500000 4.875000 -1.500000 +v 0.250000 4.625000 0.250000 +v 0.500000 4.625000 0.250000 +v 0.250000 4.875000 0.250000 +v 0.500000 4.875000 0.250000 +v -0.500000 4.625000 -1.500000 +v -0.250000 4.625000 -1.500000 +v -0.500000 4.875000 -1.500000 +v -0.250000 4.875000 -1.500000 +v -0.500000 4.625000 0.250000 +v -0.250000 4.625000 0.250000 +v -0.500000 4.875000 0.250000 +v -0.250000 4.875000 0.250000 +v 0.250000 4.625000 -0.250000 +v 0.250000 4.875000 -0.250000 +v -0.250000 4.625000 -0.250000 +v -0.250000 4.875000 -0.250000 +v 0.250000 4.875000 -0.500000 +v 0.250000 4.625000 -0.500000 +v -0.250000 4.625000 -0.500000 +v -0.250000 4.875000 -0.500000 +v 0.250000 9.125000 -1.500000 +v 0.500000 9.125000 -1.500000 +v 0.250000 9.375000 -1.500000 +v 0.500000 9.375000 -1.500000 +v 0.250000 9.125000 0.250000 +v 0.500000 9.125000 0.250000 +v 0.250000 9.375000 0.250000 +v 0.500000 9.375000 0.250000 +v -0.500000 9.125000 -1.500000 +v -0.250000 9.125000 -1.500000 +v -0.500000 9.375000 -1.500000 +v -0.250000 9.375000 -1.500000 +v -0.500000 9.125000 0.250000 +v -0.250000 9.125000 0.250000 +v -0.500000 9.375000 0.250000 +v -0.250000 9.375000 0.250000 +v 0.250000 9.125000 -0.250000 +v 0.250000 9.375000 -0.250000 +v -0.250000 9.125000 -0.250000 +v -0.250000 9.375000 -0.250000 +v 0.250000 9.375000 -0.500000 +v 0.250000 9.125000 -0.500000 +v -0.250000 9.125000 -0.500000 +v -0.250000 9.375000 -0.500000 +v 0.125000 9.312500 -1.437500 +v 0.125000 9.187500 -1.437500 +v 0.125000 9.312500 -1.562500 +v 0.125000 9.187500 -1.562500 +v -0.125000 9.312500 -1.562500 +v -0.125000 9.312500 -1.437500 +v -0.125000 9.187500 -1.437500 +v -0.125000 9.187500 -1.562500 +v -0.125000 8.187500 -1.562500 +v -0.125000 8.187500 -1.437500 +v -0.125000 8.312500 -1.437500 +v -0.125000 8.312500 -1.562500 +v 0.125000 8.187500 -1.562500 +v 0.125000 8.312500 -1.562500 +v 0.125000 8.187500 -1.437500 +v 0.125000 8.312500 -1.437500 +v 0.125000 7.312500 -1.437500 +v 0.125000 7.187500 -1.437500 +v 0.125000 7.312500 -1.562500 +v 0.125000 7.187500 -1.562500 +v -0.125000 7.312500 -1.562500 +v -0.125000 7.312500 -1.437500 +v -0.125000 7.187500 -1.437500 +v -0.125000 7.187500 -1.562500 +v -0.125000 6.187500 -1.562500 +v -0.125000 6.187500 -1.437500 +v -0.125000 6.312500 -1.437500 +v -0.125000 6.312500 -1.562500 +v 0.125000 6.187500 -1.562500 +v 0.125000 6.312500 -1.562500 +v 0.125000 6.187500 -1.437500 +v 0.125000 6.312500 -1.437500 +v 0.125000 3.312500 -1.437500 +v 0.125000 3.187500 -1.437500 +v 0.125000 3.312500 -1.562500 +v 0.125000 3.187500 -1.562500 +v -0.125000 3.312500 -1.562500 +v -0.125000 3.312500 -1.437500 +v -0.125000 3.187500 -1.437500 +v -0.125000 3.187500 -1.562500 +v 0.125000 5.312500 -1.437500 +v 0.125000 5.187500 -1.437500 +v 0.125000 5.312500 -1.562500 +v 0.125000 5.187500 -1.562500 +v -0.125000 5.312500 -1.562500 +v -0.125000 5.312500 -1.437500 +v -0.125000 5.187500 -1.437500 +v -0.125000 5.187500 -1.562500 +v -0.125000 4.187500 -1.562500 +v -0.125000 4.187500 -1.437500 +v -0.125000 4.312500 -1.437500 +v -0.125000 4.312500 -1.562500 +v 0.125000 4.187500 -1.562500 +v 0.125000 4.312500 -1.562500 +v 0.125000 4.187500 -1.437500 +v 0.125000 4.312500 -1.437500 +v 0.250000 4.875000 -0.625000 +v 0.250000 4.875000 -0.875000 +v 0.250000 5.625000 -1.375000 +v 0.250000 5.375000 -1.375000 +v -0.250000 4.875000 -0.625000 +v -0.250000 4.875000 -0.875000 +v -0.250000 5.625000 -1.375000 +v -0.250000 5.375000 -1.375000 +v 0.250000 9.125000 -0.625000 +v 0.250000 9.125000 -0.875000 +v -0.250000 9.125000 -0.625000 +v -0.250000 9.125000 -0.875000 +v 0.250000 8.625000 -1.375000 +v 0.250000 8.375000 -1.375000 +v -0.250000 8.625000 -1.375000 +v -0.250000 8.375000 -1.375000 +v 0.250000 4.625000 -0.625000 +v 0.250000 4.625000 -0.875000 +v -0.250000 4.625000 -0.625000 +v -0.250000 4.625000 -0.875000 +v 0.250000 4.125000 -1.375000 +v 0.250000 3.875000 -1.375000 +v -0.250000 4.125000 -1.375000 +v -0.250000 3.875000 -1.375000 +v 0.250000 4.875000 -0.625000 +v 0.250000 4.875000 -0.875000 +v 0.250000 5.625000 -1.375000 +v 0.250000 5.375000 -1.375000 +v -0.250000 4.875000 -0.625000 +v -0.250000 4.875000 -0.875000 +v -0.250000 5.625000 -1.375000 +v -0.250000 5.375000 -1.375000 +v 0.250000 9.125000 -0.625000 +v 0.250000 9.125000 -0.875000 +v -0.250000 9.125000 -0.625000 +v -0.250000 9.125000 -0.875000 +v 0.250000 8.625000 -1.375000 +v 0.250000 8.375000 -1.375000 +v -0.250000 8.625000 -1.375000 +v -0.250000 8.375000 -1.375000 +v 0.250000 4.625000 -0.625000 +v 0.250000 4.625000 -0.875000 +v -0.250000 4.625000 -0.625000 +v -0.250000 4.625000 -0.875000 +v 0.250000 4.125000 -1.375000 +v 0.250000 3.875000 -1.375000 +v -0.250000 4.125000 -1.375000 +v -0.250000 3.875000 -1.375000 +vt 0.708333 0.227273 +vt 0.666667 0.204545 +vt 0.708333 0.204545 +vt 0.708333 0.227273 +vt 0.666667 0.204545 +vt 0.708333 0.204545 +vt 0.666667 0.886364 +vt 0.708333 0.863636 +vt 0.708333 0.886364 +vt 0.666667 0.886364 +vt 0.708333 0.863636 +vt 0.708333 0.886364 +vt 0.833333 0.227273 +vt 0.791667 0.863636 +vt 0.791667 0.227273 +vt 0.750000 0.227273 +vt 0.666667 0.863636 +vt 0.666667 0.227273 +vt 0.791667 0.227273 +vt 0.750000 0.863636 +vt 0.750000 0.227273 +vt 0.666667 0.863636 +vt 0.666667 0.227273 +vt 0.750000 0.863636 +vt 0.833333 0.227273 +vt 0.791667 0.863636 +vt 0.875000 0.022727 +vt 0.833333 -0.000000 +vt 0.875000 -0.000000 +vt 0.833333 0.204545 +vt 0.875000 0.181818 +vt 0.875000 0.204545 +vt 0.916667 0.022727 +vt 0.833333 0.181818 +vt 0.833333 0.022727 +vt 0.958333 0.022727 +vt 0.916667 0.181818 +vt 1.000000 0.022727 +vt 0.958333 0.181818 +vt 0.875000 0.022727 +vt 0.833333 -0.000000 +vt 0.875000 -0.000000 +vt 0.833333 0.204545 +vt 0.875000 0.181818 +vt 0.875000 0.204545 +vt 0.916667 0.022727 +vt 0.833333 0.181818 +vt 0.833333 0.022727 +vt 0.958333 0.022727 +vt 0.916667 0.181818 +vt 1.000000 0.022727 +vt 0.958333 0.181818 +vt 0.875000 0.250000 +vt 0.958333 0.272727 +vt 0.875000 0.272727 +vt 0.958333 0.204545 +vt 0.875000 0.227273 +vt 0.875000 0.204545 +vt 0.958333 0.181818 +vt 0.875000 0.181818 +vt 0.833333 0.204545 +vt 0.875000 0.181818 +vt 0.875000 0.204545 +vt 0.958333 0.227273 +vt 0.958333 0.250000 +vt 0.875000 0.022727 +vt 0.833333 -0.000000 +vt 0.875000 -0.000000 +vt 0.916667 0.022727 +vt 0.833333 0.181818 +vt 0.833333 0.022727 +vt 0.958333 0.022727 +vt 0.916667 0.181818 +vt 1.000000 0.022727 +vt 0.958333 0.181818 +vt 0.875000 0.022727 +vt 0.833333 -0.000000 +vt 0.875000 -0.000000 +vt 0.833333 0.204545 +vt 0.875000 0.181818 +vt 0.875000 0.204545 +vt 0.916667 0.022727 +vt 0.833333 0.181818 +vt 0.833333 0.022727 +vt 0.958333 0.022727 +vt 0.916667 0.181818 +vt 1.000000 0.022727 +vt 0.958333 0.181818 +vt 0.875000 0.250000 +vt 0.958333 0.272727 +vt 0.875000 0.272727 +vt 0.958333 0.204545 +vt 0.875000 0.227273 +vt 0.875000 0.204545 +vt 0.958333 0.181818 +vt 0.875000 0.181818 +vt 0.958333 0.227273 +vt 0.958333 0.250000 +vt 0.708333 0.159091 +vt 0.666667 0.170455 +vt 0.666667 0.159091 +vt 0.708333 0.181818 +vt 0.666667 0.193182 +vt 0.666667 0.181818 +vt 0.708333 0.170455 +vt 0.708333 0.193182 +vt 0.666667 0.204545 +vt 0.708333 0.193182 +vt 0.666667 0.204545 +vt 0.666667 0.193182 +vt 0.708333 0.170455 +vt 0.666667 0.181818 +vt 0.666667 0.170455 +vt 0.708333 0.181818 +vt 0.708333 0.159091 +vt 0.666667 0.159091 +vt 0.708333 0.159091 +vt 0.666667 0.170455 +vt 0.666667 0.159091 +vt 0.708333 0.181818 +vt 0.666667 0.193182 +vt 0.666667 0.181818 +vt 0.708333 0.193182 +vt 0.666667 0.204545 +vt 0.666667 0.193182 +vt 0.708333 0.170455 +vt 0.666667 0.181818 +vt 0.666667 0.170455 +vt 0.708333 0.170455 +vt 0.666667 0.181818 +vt 0.666667 0.170455 +vt 0.708333 0.193182 +vt 0.666667 0.204545 +vt 0.666667 0.193182 +vt 0.708333 0.159091 +vt 0.666667 0.159091 +vt 0.708333 0.181818 +vt 0.708333 0.170455 +vt 0.708333 0.193182 +vt 0.666667 0.204545 +vt 0.708333 0.193182 +vt 0.666667 0.204545 +vt 0.666667 0.193182 +vt 0.708333 0.170455 +vt 0.666667 0.181818 +vt 0.666667 0.170455 +vt 0.708333 0.181818 +vt 0.708333 0.159091 +vt 0.666667 0.159091 +vt 0.708333 0.159091 +vt 0.666667 0.170455 +vt 0.666667 0.159091 +vt 0.708333 0.181818 +vt 0.666667 0.193182 +vt 0.666667 0.181818 +vt 0.708333 0.170455 +vt 0.708333 0.193182 +vt 0.666667 0.204545 +vt 0.708333 0.181818 +vt 0.708333 0.159091 +vt 0.666667 0.159091 +vt 0.875000 0.272727 +vt 0.958333 0.340909 +vt 0.833333 0.272727 +vt 0.833333 0.272727 +vt 0.958333 0.318182 +vt 0.958333 0.340909 +vt 0.958333 0.318182 +vt 0.833333 0.272727 +vt 0.875000 0.272727 +vt 0.958333 0.340909 +vt 0.875000 0.272727 +vt 0.958333 0.318182 +vt 0.958333 0.318182 +vt 0.833333 0.272727 +vt 0.875000 0.272727 +vt 0.958333 0.340909 +vt 0.875000 0.272727 +vt 0.958333 0.318182 +vt 0.958333 0.340909 +vt 0.875000 0.272727 +vt 0.833333 0.272727 +vt 0.958333 0.318182 +vt 0.833333 0.272727 +vt 0.958333 0.340909 +vt 0.833333 0.272727 +vt 0.958333 0.318182 +vt 0.875000 0.272727 +vt 0.875000 0.272727 +vt 0.958333 0.340909 +vt 0.958333 0.318182 +vt 0.833333 0.272727 +vt 0.958333 0.318182 +vt 0.875000 0.272727 +vt 0.875000 0.272727 +vt 0.958333 0.340909 +vt 0.958333 0.318182 +vt 0.833333 0.863636 +vt 0.833333 0.863636 +vt 1.000000 0.181818 +vt 1.000000 0.181818 +vt 1.000000 0.181818 +vt 1.000000 0.181818 +vt 0.708333 0.204545 +vt 0.708333 0.204545 +vt 0.708333 0.204545 +vt 0.708333 0.204545 +vt 0.708333 0.204545 +vt 0.708333 0.204545 +vt 0.708333 0.204545 +vt 0.958333 0.318182 +vt 0.875000 0.272727 +vt 0.958333 0.340909 +vt 0.833333 0.272727 +vt 0.958333 0.340909 +vt 0.833333 0.272727 +vt 0.958333 0.318182 +vt 0.875000 0.272727 +vt 0.958333 0.340909 +vt 0.833333 0.272727 +vt 0.958333 0.340909 +vt 0.833333 0.272727 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +s off +f 57/71/9 59/72/9 58/73/9 +f 61/74/9 63/75/9 62/76/9 +f 67/77/10 65/78/10 66/79/10 +f 71/80/10 69/81/10 70/82/10 +f 60/83/11 67/84/11 59/85/11 +f 58/86/12 65/78/12 57/71/12 +f 61/74/13 72/87/13 64/88/13 +f 63/89/14 70/90/14 62/91/14 +f 57/71/13 68/92/13 60/93/13 +f 59/85/14 66/94/14 58/86/14 +f 64/95/11 71/96/11 63/89/11 +f 62/91/12 69/81/12 61/74/12 +f 75/97/13 74/98/13 73/99/13 +f 78/100/14 79/101/14 77/102/14 +f 73/103/12 79/101/12 75/97/12 +f 75/97/10 80/104/10 76/105/10 +f 74/106/9 77/107/9 73/103/9 +f 76/108/11 78/109/11 74/106/11 +f 83/110/13 82/111/13 81/112/13 +f 86/113/14 87/114/14 85/115/14 +f 81/116/12 87/114/12 83/110/12 +f 83/110/10 88/117/10 84/118/10 +f 82/119/9 85/120/9 81/116/9 +f 84/121/11 86/122/11 82/119/11 +f 90/123/14 91/124/14 89/125/14 +f 95/126/13 93/127/13 94/128/13 +f 91/129/9 94/128/9 89/130/9 +f 102/131/14 103/132/14 101/133/14 +f 90/123/10 96/134/10 92/135/10 +f 99/136/13 98/137/13 97/138/13 +f 97/139/12 103/132/12 99/136/12 +f 99/136/10 104/140/10 100/141/10 +f 98/142/9 101/143/9 97/139/9 +f 100/144/11 102/145/11 98/142/11 +f 107/146/13 106/147/13 105/148/13 +f 110/149/14 111/150/14 109/151/14 +f 105/152/12 111/150/12 107/146/12 +f 107/146/10 112/153/10 108/154/10 +f 106/155/9 109/156/9 105/152/9 +f 108/157/11 110/158/11 106/155/11 +f 114/159/14 115/160/14 113/161/14 +f 119/162/13 117/163/13 118/164/13 +f 115/165/9 118/164/9 113/166/9 +f 114/159/10 120/167/10 116/168/10 +f 127/169/9 124/170/9 122/171/9 +f 125/172/10 121/173/10 123/174/10 +f 128/175/13 123/174/13 124/170/13 +f 126/176/14 122/177/14 121/173/14 +f 131/178/14 135/179/14 136/180/14 +f 129/181/13 134/182/13 133/183/13 +f 132/184/10 136/180/10 134/182/10 +f 130/185/9 133/183/9 135/186/9 +f 143/187/9 140/188/9 138/189/9 +f 141/190/10 137/191/10 139/192/10 +f 171/193/14 175/194/14 176/195/14 +f 169/196/13 174/197/13 173/198/13 +f 160/199/13 155/200/13 156/201/13 +f 158/202/14 154/203/14 153/204/14 +f 159/205/9 156/201/9 154/206/9 +f 157/207/10 153/204/10 155/200/10 +f 144/208/13 139/192/13 140/188/13 +f 142/209/14 138/210/14 137/191/14 +f 147/211/14 151/212/14 152/213/14 +f 145/214/13 150/215/13 149/216/13 +f 148/217/10 152/213/10 150/215/10 +f 146/218/9 149/216/9 151/219/9 +f 167/220/9 164/221/9 162/222/9 +f 165/223/10 161/224/10 163/225/10 +f 168/226/13 163/225/13 164/221/13 +f 166/227/14 162/228/14 161/224/14 +f 172/229/10 176/195/10 174/197/10 +f 170/230/9 173/198/9 175/231/9 +f 178/232/11 179/233/11 177/234/11 +f 183/235/12 182/236/12 181/237/12 +f 191/238/12 187/239/12 188/240/12 +f 185/241/11 189/242/11 186/243/11 +f 199/244/12 195/245/12 196/246/12 +f 193/247/11 197/248/11 194/249/11 +f 203/250/12 202/251/12 201/252/12 +f 206/253/11 207/254/11 205/255/11 +f 211/256/11 215/257/11 212/258/11 +f 213/259/12 209/260/12 210/261/12 +f 219/262/11 223/263/11 220/264/11 +f 221/265/12 217/266/12 218/267/12 +f 57/71/9 60/93/9 59/72/9 +f 61/74/9 64/88/9 63/75/9 +f 67/77/10 68/92/10 65/78/10 +f 71/80/10 72/87/10 69/81/10 +f 60/83/11 68/268/11 67/84/11 +f 58/86/12 66/94/12 65/78/12 +f 61/74/13 69/81/13 72/87/13 +f 63/89/14 71/96/14 70/90/14 +f 57/71/13 65/78/13 68/92/13 +f 59/85/14 67/84/14 66/94/14 +f 64/95/11 72/269/11 71/96/11 +f 62/91/12 70/90/12 69/81/12 +f 75/97/13 76/105/13 74/98/13 +f 78/100/14 80/104/14 79/101/14 +f 73/103/12 77/107/12 79/101/12 +f 75/97/10 79/101/10 80/104/10 +f 74/106/9 78/109/9 77/107/9 +f 76/108/11 80/270/11 78/109/11 +f 83/110/13 84/118/13 82/111/13 +f 86/113/14 88/117/14 87/114/14 +f 81/116/12 85/120/12 87/114/12 +f 83/110/10 87/114/10 88/117/10 +f 82/119/9 86/122/9 85/120/9 +f 84/121/11 88/271/11 86/122/11 +f 90/123/14 92/135/14 91/124/14 +f 95/126/13 96/134/13 93/127/13 +f 91/129/9 95/126/9 94/128/9 +f 102/131/14 104/140/14 103/132/14 +f 90/123/10 93/127/10 96/134/10 +f 99/136/13 100/141/13 98/137/13 +f 97/139/12 101/143/12 103/132/12 +f 99/136/10 103/132/10 104/140/10 +f 98/142/9 102/145/9 101/143/9 +f 100/144/11 104/272/11 102/145/11 +f 107/146/13 108/154/13 106/147/13 +f 110/149/14 112/153/14 111/150/14 +f 105/152/12 109/156/12 111/150/12 +f 107/146/10 111/150/10 112/153/10 +f 106/155/9 110/158/9 109/156/9 +f 108/157/11 112/273/11 110/158/11 +f 114/159/14 116/168/14 115/160/14 +f 119/162/13 120/167/13 117/163/13 +f 115/165/9 119/162/9 118/164/9 +f 114/159/10 117/163/10 120/167/10 +f 127/169/9 128/175/9 124/170/9 +f 125/172/10 126/176/10 121/173/10 +f 128/175/13 125/172/13 123/174/13 +f 126/176/14 127/274/14 122/177/14 +f 131/178/14 130/275/14 135/179/14 +f 129/181/13 132/184/13 134/182/13 +f 132/184/10 131/178/10 136/180/10 +f 130/185/9 129/181/9 133/183/9 +f 143/187/9 144/208/9 140/188/9 +f 141/190/10 142/209/10 137/191/10 +f 171/193/14 170/276/14 175/194/14 +f 169/196/13 172/229/13 174/197/13 +f 160/199/13 157/207/13 155/200/13 +f 158/202/14 159/277/14 154/203/14 +f 159/205/9 160/199/9 156/201/9 +f 157/207/10 158/202/10 153/204/10 +f 144/208/13 141/190/13 139/192/13 +f 142/209/14 143/278/14 138/210/14 +f 147/211/14 146/279/14 151/212/14 +f 145/214/13 148/217/13 150/215/13 +f 148/217/10 147/211/10 152/213/10 +f 146/218/9 145/214/9 149/216/9 +f 167/220/9 168/226/9 164/221/9 +f 165/223/10 166/227/10 161/224/10 +f 168/226/13 165/223/13 163/225/13 +f 166/227/14 167/280/14 162/228/14 +f 172/229/10 171/193/10 176/195/10 +f 170/230/9 169/196/9 173/198/9 +f 178/232/11 180/281/11 179/233/11 +f 183/235/12 184/282/12 182/236/12 +f 191/238/12 192/283/12 187/239/12 +f 185/241/11 190/284/11 189/242/11 +f 199/244/12 200/285/12 195/245/12 +f 193/247/11 198/286/11 197/248/11 +f 203/250/12 204/287/12 202/251/12 +f 206/253/11 208/288/11 207/254/11 +f 211/256/11 216/289/11 215/257/11 +f 213/259/12 214/290/12 209/260/12 +f 219/262/11 224/291/11 223/263/11 +f 221/265/12 222/292/12 217/266/12 +o ABM_Pad +v -1.000000 2.000000 1.000000 +v 1.000000 2.000000 1.000000 +v -1.000000 2.000000 -1.000000 +v 1.000000 2.000000 -1.000000 +v -0.500000 2.000000 0.500000 +v 0.500000 2.000000 0.500000 +v -0.500000 2.000000 -0.500000 +v 0.500000 2.000000 -0.500000 +v -1.000000 1.750000 -1.000000 +v -1.000000 1.750000 1.000000 +v 1.000000 1.750000 1.000000 +v 1.000000 1.750000 -1.000000 +v -0.500000 1.750000 -0.500000 +v -0.500000 1.750000 0.500000 +v 0.500000 1.750000 0.500000 +v 0.500000 1.750000 -0.500000 +v -0.500000 2.000000 0.500000 +v 0.500000 2.000000 0.500000 +v -0.500000 2.000000 -0.500000 +v 0.500000 2.000000 -0.500000 +v 0.562500 1.750000 0.937500 +v 0.937500 1.750000 0.937500 +v 0.562500 1.750000 0.562500 +v 0.937500 1.750000 0.562500 +v 0.562500 1.000000 0.937500 +v 0.937500 1.000000 0.937500 +v 0.562500 1.000000 0.562500 +v 0.937500 1.000000 0.562500 +v -0.500000 1.000000 -1.250000 +v 0.500000 1.000000 -1.250000 +v -0.500000 1.000000 -1.750000 +v 0.500000 1.000000 -1.750000 +v -0.500000 1.500000 -1.625000 +v -0.500000 1.375000 -1.750000 +v -0.500000 1.375000 -1.250000 +v -0.500000 1.500000 -1.375000 +v 0.500000 1.500000 -1.375000 +v 0.500000 1.375000 -1.250000 +v 0.500000 1.375000 -1.750000 +v 0.500000 1.500000 -1.625000 +v 0.750000 1.750000 0.562500 +v 0.750000 1.000000 0.562500 +v 0.750000 1.750000 -0.562500 +v 0.750000 1.000000 -0.562500 +v 0.500000 1.000000 1.750000 +v 1.000000 1.000000 1.750000 +v 0.500000 1.000000 1.250000 +v 1.000000 1.000000 1.250000 +v -1.000000 1.000000 1.750000 +v -0.500000 1.000000 1.750000 +v -1.000000 1.000000 1.250000 +v -0.500000 1.000000 1.250000 +v 0.500000 11.000000 1.250000 +v 0.500000 11.000000 1.750000 +v 1.000000 11.000000 1.750000 +v 1.000000 11.000000 1.250000 +v -1.000000 11.000000 1.250000 +v -1.000000 11.000000 1.750000 +v -0.500000 11.000000 1.750000 +v -0.500000 11.000000 1.250000 +v -0.500000 10.750000 1.562500 +v 0.500000 10.000000 1.562500 +v -0.500000 11.000000 1.562500 +v 0.500000 10.250000 1.562500 +v -0.500000 1.250000 1.437500 +v 0.500000 2.000000 1.437500 +v -0.500000 1.000000 1.437500 +v 0.500000 1.750000 1.437500 +v 0.500000 1.250000 1.562500 +v -0.500000 2.000000 1.562500 +v 0.500000 1.000000 1.562500 +v -0.500000 1.750000 1.562500 +v -0.500000 4.750000 1.562500 +v 0.500000 4.000000 1.562500 +v -0.500000 5.000000 1.562500 +v 0.500000 4.250000 1.562500 +v 0.500000 4.750000 1.437500 +v -0.500000 4.000000 1.437500 +v 0.500000 5.000000 1.437500 +v -0.500000 4.250000 1.437500 +v -0.500000 2.500000 1.562500 +v 0.500000 1.750000 1.562500 +v -0.500000 2.750000 1.562500 +v 0.500000 2.000000 1.562500 +v 0.500000 2.500000 1.437500 +v -0.500000 1.750000 1.437500 +v 0.500000 2.750000 1.437500 +v -0.500000 2.000000 1.437500 +v -0.500000 2.750000 1.437500 +v 0.500000 3.500000 1.437500 +v -0.500000 2.500000 1.437500 +v 0.500000 3.250000 1.437500 +v 0.500000 2.750000 1.562500 +v -0.500000 3.500000 1.562500 +v 0.500000 2.500000 1.562500 +v -0.500000 3.250000 1.562500 +v -0.500000 3.500000 1.437500 +v 0.500000 4.250000 1.437500 +v -0.500000 3.250000 1.437500 +v 0.500000 4.000000 1.437500 +v 0.500000 3.500000 1.562500 +v -0.500000 4.250000 1.562500 +v 0.500000 3.250000 1.562500 +v -0.500000 4.000000 1.562500 +v -0.500000 7.000000 1.562500 +v 0.500000 6.250000 1.562500 +v -0.500000 7.250000 1.562500 +v 0.500000 6.500000 1.562500 +v 0.500000 7.000000 1.437500 +v -0.500000 6.250000 1.437500 +v 0.500000 7.250000 1.437500 +v -0.500000 6.500000 1.437500 +v 0.500000 10.750000 1.437500 +v -0.500000 10.000000 1.437500 +v 0.500000 11.000000 1.437500 +v -0.500000 10.250000 1.437500 +v -0.500000 6.250000 1.562500 +v 0.500000 5.500000 1.562500 +v -0.500000 6.500000 1.562500 +v 0.500000 5.750000 1.562500 +v 0.500000 6.250000 1.437500 +v -0.500000 5.500000 1.437500 +v 0.500000 6.500000 1.437500 +v -0.500000 5.750000 1.437500 +v -0.500000 5.000000 1.437500 +v 0.500000 5.750000 1.437500 +v -0.500000 4.750000 1.437500 +v 0.500000 5.500000 1.437500 +v 0.500000 5.000000 1.562500 +v -0.500000 5.750000 1.562500 +v 0.500000 4.750000 1.562500 +v -0.500000 5.500000 1.562500 +v -0.500000 7.250000 1.437500 +v 0.500000 8.000000 1.437500 +v -0.500000 7.000000 1.437500 +v 0.500000 7.750000 1.437500 +v 0.500000 7.250000 1.562500 +v -0.500000 8.000000 1.562500 +v 0.500000 7.000000 1.562500 +v -0.500000 7.750000 1.562500 +v -0.500000 8.500000 1.562500 +v 0.500000 7.750000 1.562500 +v -0.500000 8.750000 1.562500 +v 0.500000 8.000000 1.562500 +v 0.500000 8.500000 1.437500 +v -0.500000 7.750000 1.437500 +v 0.500000 8.750000 1.437500 +v -0.500000 8.000000 1.437500 +v -0.500000 8.750000 1.437500 +v 0.500000 9.500000 1.437500 +v -0.500000 8.500000 1.437500 +v 0.500000 9.250000 1.437500 +v 0.500000 8.750000 1.562500 +v -0.500000 9.500000 1.562500 +v 0.500000 8.500000 1.562500 +v -0.500000 9.250000 1.562500 +v -0.500000 9.500000 1.437500 +v 0.500000 10.250000 1.437500 +v -0.500000 9.250000 1.437500 +v 0.500000 10.000000 1.437500 +v 0.500000 9.500000 1.562500 +v -0.500000 10.250000 1.562500 +v 0.500000 9.250000 1.562500 +v -0.500000 10.000000 1.562500 +v -0.937500 1.000000 3.937500 +v -0.562500 1.000000 3.937500 +v -0.937500 1.000000 3.562500 +v -0.562500 1.000000 3.562500 +v -0.937500 2.812500 1.750000 +v -0.562500 2.812500 1.750000 +v -0.937500 3.187500 1.750000 +v -0.562500 3.187500 1.750000 +v 0.562500 1.000000 3.937500 +v 0.937500 1.000000 3.937500 +v 0.562500 1.000000 3.562500 +v 0.937500 1.000000 3.562500 +v 0.562500 2.812500 1.750000 +v 0.937500 2.812500 1.750000 +v 0.562500 3.187500 1.750000 +v 0.937500 3.187500 1.750000 +v -0.500000 10.750000 1.562500 +v 0.500000 10.000000 1.562500 +v -0.500000 11.000000 1.562500 +v 0.500000 10.250000 1.562500 +v -0.500000 1.250000 1.437500 +v 0.500000 2.000000 1.437500 +v -0.500000 1.000000 1.437500 +v 0.500000 1.750000 1.437500 +v 0.500000 1.250000 1.562500 +v -0.500000 2.000000 1.562500 +v 0.500000 1.000000 1.562500 +v -0.500000 1.750000 1.562500 +v -0.500000 4.750000 1.562500 +v 0.500000 4.000000 1.562500 +v -0.500000 5.000000 1.562500 +v 0.500000 4.250000 1.562500 +v 0.500000 4.750000 1.437500 +v -0.500000 4.000000 1.437500 +v 0.500000 5.000000 1.437500 +v -0.500000 4.250000 1.437500 +v -0.500000 2.500000 1.562500 +v 0.500000 1.750000 1.562500 +v -0.500000 2.750000 1.562500 +v 0.500000 2.000000 1.562500 +v 0.500000 2.500000 1.437500 +v -0.500000 1.750000 1.437500 +v 0.500000 2.750000 1.437500 +v -0.500000 2.000000 1.437500 +v -0.500000 2.750000 1.437500 +v 0.500000 3.500000 1.437500 +v -0.500000 2.500000 1.437500 +v 0.500000 3.250000 1.437500 +v 0.500000 2.750000 1.562500 +v -0.500000 3.500000 1.562500 +v 0.500000 2.500000 1.562500 +v -0.500000 3.250000 1.562500 +v -0.500000 3.500000 1.437500 +v 0.500000 4.250000 1.437500 +v -0.500000 3.250000 1.437500 +v 0.500000 4.000000 1.437500 +v 0.500000 3.500000 1.562500 +v -0.500000 4.250000 1.562500 +v 0.500000 3.250000 1.562500 +v -0.500000 4.000000 1.562500 +v -0.500000 7.000000 1.562500 +v 0.500000 6.250000 1.562500 +v -0.500000 7.250000 1.562500 +v 0.500000 6.500000 1.562500 +v 0.500000 7.000000 1.437500 +v -0.500000 6.250000 1.437500 +v 0.500000 7.250000 1.437500 +v -0.500000 6.500000 1.437500 +v 0.500000 10.750000 1.437500 +v -0.500000 10.000000 1.437500 +v 0.500000 11.000000 1.437500 +v -0.500000 10.250000 1.437500 +v -0.500000 6.250000 1.562500 +v 0.500000 5.500000 1.562500 +v -0.500000 6.500000 1.562500 +v 0.500000 5.750000 1.562500 +v 0.500000 6.250000 1.437500 +v -0.500000 5.500000 1.437500 +v 0.500000 6.500000 1.437500 +v -0.500000 5.750000 1.437500 +v -0.500000 5.000000 1.437500 +v 0.500000 5.750000 1.437500 +v -0.500000 4.750000 1.437500 +v 0.500000 5.500000 1.437500 +v 0.500000 5.000000 1.562500 +v -0.500000 5.750000 1.562500 +v 0.500000 4.750000 1.562500 +v -0.500000 5.500000 1.562500 +v -0.500000 7.250000 1.437500 +v 0.500000 8.000000 1.437500 +v -0.500000 7.000000 1.437500 +v 0.500000 7.750000 1.437500 +v 0.500000 7.250000 1.562500 +v -0.500000 8.000000 1.562500 +v 0.500000 7.000000 1.562500 +v -0.500000 7.750000 1.562500 +v -0.500000 8.500000 1.562500 +v 0.500000 7.750000 1.562500 +v -0.500000 8.750000 1.562500 +v 0.500000 8.000000 1.562500 +v 0.500000 8.500000 1.437500 +v -0.500000 7.750000 1.437500 +v 0.500000 8.750000 1.437500 +v -0.500000 8.000000 1.437500 +v -0.500000 8.750000 1.437500 +v 0.500000 9.500000 1.437500 +v -0.500000 8.500000 1.437500 +v 0.500000 9.250000 1.437500 +v 0.500000 8.750000 1.562500 +v -0.500000 9.500000 1.562500 +v 0.500000 8.500000 1.562500 +v -0.500000 9.250000 1.562500 +v -0.500000 9.500000 1.437500 +v 0.500000 10.250000 1.437500 +v -0.500000 9.250000 1.437500 +v 0.500000 10.000000 1.437500 +v 0.500000 9.500000 1.562500 +v -0.500000 10.250000 1.562500 +v 0.500000 9.250000 1.562500 +v -0.500000 10.000000 1.562500 +v 0.562500 1.750000 -0.562500 +v 0.937500 1.750000 -0.562500 +v 0.562500 1.750000 -0.937500 +v 0.937500 1.750000 -0.937500 +v 0.562500 1.000000 -0.562500 +v 0.937500 1.000000 -0.562500 +v 0.562500 1.000000 -0.937500 +v 0.937500 1.000000 -0.937500 +v -0.937500 1.750000 0.937500 +v -0.562500 1.750000 0.937500 +v -0.937500 1.750000 0.562500 +v -0.562500 1.750000 0.562500 +v -0.937500 1.000000 0.937500 +v -0.562500 1.000000 0.937500 +v -0.937500 1.000000 0.562500 +v -0.562500 1.000000 0.562500 +v -0.937500 1.750000 -0.562500 +v -0.562500 1.750000 -0.562500 +v -0.937500 1.750000 -0.937500 +v -0.562500 1.750000 -0.937500 +v -0.937500 1.000000 -0.562500 +v -0.562500 1.000000 -0.562500 +v -0.937500 1.000000 -0.937500 +v -0.562500 1.000000 -0.937500 +v -0.750000 1.750000 -0.562500 +v -0.750000 1.000000 -0.562500 +v -0.750000 1.750000 0.562500 +v -0.750000 1.000000 0.562500 +v 0.562500 1.750000 -0.750000 +v 0.562500 1.000000 -0.750000 +v -0.562500 1.750000 -0.750000 +v -0.562500 1.000000 -0.750000 +v -0.562500 1.750000 0.750000 +v -0.562500 1.000000 0.750000 +v 0.562500 1.750000 0.750000 +v 0.562500 1.000000 0.750000 +vt 0.083333 0.250000 +vt 0.000000 0.386364 +vt 0.000000 0.204545 +vt 0.000000 0.000000 +vt 0.083333 0.136364 +vt 0.000000 0.181818 +vt 0.083333 0.340909 +vt 0.333333 0.386364 +vt 0.250000 0.340909 +vt 0.333333 0.204545 +vt 0.250000 0.250000 +vt 0.333333 -0.000000 +vt 0.083333 0.045455 +vt 0.333333 0.181818 +vt 0.250000 0.045455 +vt 0.250000 0.136364 +vt 0.083333 0.136364 +vt 0.250000 0.113636 +vt 0.250000 0.136364 +vt 0.083333 0.136364 +vt 0.250000 0.113636 +vt 0.250000 0.136364 +vt -0.000000 0.204545 +vt 0.333333 0.181818 +vt 0.333333 0.204545 +vt -0.000000 0.204545 +vt 0.333333 0.181818 +vt 0.333333 0.204545 +vt 0.083333 0.136364 +vt 0.250000 0.113636 +vt 0.250000 0.136364 +vt 0.083333 0.136364 +vt 0.250000 0.113636 +vt 0.250000 0.136364 +vt -0.000000 0.204545 +vt 0.333333 0.181818 +vt 0.333333 0.204545 +vt 0.083333 0.340909 +vt 0.250000 0.250000 +vt 0.250000 0.340909 +vt 0.125000 0.454545 +vt 0.187500 0.386364 +vt 0.187500 0.454545 +vt -0.000000 0.454545 +vt 0.062500 0.386364 +vt 0.062500 0.454545 +vt 0.250000 0.386364 +vt 0.250000 0.454545 +vt 0.125000 0.386364 +vt 0.208333 0.954545 +vt 0.145833 0.863636 +vt 0.208333 0.863636 +vt 0.083333 0.863636 +vt 0.125000 0.954545 +vt 0.083333 0.954545 +vt 0.000000 0.863636 +vt 0.062500 0.954545 +vt 0.000000 0.954545 +vt 0.125000 0.863636 +vt 0.062500 0.852273 +vt 0.062500 0.863636 +vt 0.145833 0.954545 +vt 0.145833 0.965909 +vt 0.187500 0.454545 +vt 0.000000 0.522727 +vt 0.000000 0.454545 +vt 0.333333 0.909091 +vt 0.416667 0.954545 +vt 0.333333 0.954545 +vt 0.333333 0.909091 +vt 0.416667 0.954545 +vt 0.333333 0.954545 +vt 0.666667 0.000000 +vt 0.583333 0.909091 +vt 0.583333 0.000000 +vt 0.416667 -0.000000 +vt 0.333333 -0.000000 +vt 0.583333 0.000000 +vt 0.500000 0.909091 +vt 0.500000 0.000000 +vt 0.416667 -0.000000 +vt 0.333333 -0.000000 +vt 0.500000 0.909091 +vt 0.500000 0.000000 +vt 0.416667 0.909091 +vt 0.666667 0.000000 +vt 0.583333 0.909091 +vt 0.416667 0.909091 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt -0.000000 0.522727 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt -0.000000 0.545455 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt -0.000000 0.522727 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt -0.000000 0.522727 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt -0.000000 0.545455 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt -0.000000 0.522727 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt -0.000000 0.545455 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt -0.000000 0.545455 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt -0.000000 0.522727 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt -0.000000 0.545455 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt -0.000000 0.522727 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt -0.000000 0.522727 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt -0.000000 0.545455 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt -0.000000 0.545455 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt -0.000000 0.522727 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt -0.000000 0.545455 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt -0.000000 0.545455 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt -0.000000 0.522727 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt -0.000000 0.545455 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt -0.000000 0.522727 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt -0.000000 0.522727 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt -0.000000 0.545455 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt -0.000000 0.545455 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt -0.000000 0.522727 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt -0.000000 0.545455 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt -0.000000 0.522727 +vt 0.062500 0.545455 +vt 0.000000 0.784091 +vt -0.000000 0.579545 +vt 0.125000 0.545455 +vt 0.062500 0.818182 +vt 0.250000 0.579545 +vt 0.187500 0.784091 +vt 0.187500 0.579545 +vt 0.125000 0.818182 +vt 0.062500 0.545455 +vt 0.000000 0.784091 +vt -0.000000 0.579545 +vt 0.125000 0.545455 +vt 0.062500 0.818182 +vt 0.250000 0.579545 +vt 0.187500 0.784091 +vt 0.187500 0.579545 +vt 0.125000 0.818182 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt 0.166667 0.545455 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt 0.166667 0.545455 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt 0.166667 0.545455 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt 0.166667 0.545455 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt 0.166667 0.545455 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt 0.166667 0.545455 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt 0.166667 0.545455 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt 0.166667 0.545455 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt 0.166667 0.545455 +vt -0.000000 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.166667 0.522727 +vt 0.000000 0.545455 +vt 0.166667 0.545455 +vt 0.125000 0.454545 +vt 0.187500 0.386364 +vt 0.187500 0.454545 +vt -0.000000 0.454545 +vt 0.062500 0.386364 +vt 0.062500 0.454545 +vt 0.250000 0.386364 +vt 0.250000 0.454545 +vt 0.125000 0.386364 +vt 0.125000 0.454545 +vt 0.187500 0.386364 +vt 0.187500 0.454545 +vt -0.000000 0.454545 +vt 0.062500 0.386364 +vt 0.062500 0.454545 +vt 0.250000 0.386364 +vt 0.250000 0.454545 +vt 0.125000 0.386364 +vt 0.125000 0.454545 +vt 0.187500 0.386364 +vt 0.187500 0.454545 +vt -0.000000 0.454545 +vt 0.062500 0.386364 +vt 0.062500 0.454545 +vt 0.250000 0.386364 +vt 0.250000 0.454545 +vt 0.125000 0.386364 +vt 0.187500 0.454545 +vt 0.000000 0.522727 +vt 0.000000 0.454545 +vt 0.187500 0.454545 +vt 0.000000 0.522727 +vt 0.000000 0.454545 +vt 0.187500 0.454545 +vt 0.000000 0.522727 +vt 0.000000 0.454545 +vt 0.083333 0.113636 +vt 0.083333 0.113636 +vt -0.000000 0.181818 +vt -0.000000 0.181818 +vt 0.083333 0.113636 +vt 0.083333 0.113636 +vt -0.000000 0.181818 +vt 0.083333 0.250000 +vt -0.000000 0.386364 +vt 0.062500 0.818182 +vt 0.145833 0.818182 +vt 0.145833 0.852273 +vt 0.145833 1.000000 +vt 0.062500 1.000000 +vt 0.062500 0.965909 +vt 0.187500 0.522727 +vt 0.666667 0.909091 +vt 0.666667 0.909091 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.166667 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.166667 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.166667 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.166667 0.522727 +vt 0.166667 0.545455 +vt 0.166667 0.522727 +vt 0.166667 0.545455 +vt 0.250000 0.784091 +vt 0.250000 0.784091 +vt -0.000000 0.522727 +vt -0.000000 0.545455 +vt -0.000000 0.522727 +vt -0.000000 0.522727 +vt -0.000000 0.545455 +vt -0.000000 0.522727 +vt -0.000000 0.545455 +vt -0.000000 0.545455 +vt -0.000000 0.522727 +vt -0.000000 0.545455 +vt -0.000000 0.522727 +vt -0.000000 0.522727 +vt -0.000000 0.545455 +vt -0.000000 0.545455 +vt -0.000000 0.522727 +vt -0.000000 0.545455 +vt -0.000000 0.545455 +vt -0.000000 0.522727 +vt -0.000000 0.545455 +vt -0.000000 0.522727 +vt -0.000000 0.522727 +vt -0.000000 0.545455 +vt -0.000000 0.545455 +vt -0.000000 0.522727 +vt -0.000000 0.545455 +vt -0.000000 0.522727 +vt -0.000000 0.386364 +vt -0.000000 0.386364 +vt -0.000000 0.386364 +vt 0.187500 0.522727 +vt 0.187500 0.522727 +vt 0.187500 0.522727 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.7071 0.7071 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 -0.7071 -0.7071 +s off +f 230/293/15 225/294/15 226/295/15 +f 234/296/16 239/297/16 235/298/16 +f 229/299/15 227/300/15 225/294/15 +f 231/301/15 228/302/15 227/300/15 +f 232/303/15 226/295/15 228/302/15 +f 233/304/16 238/305/16 234/296/16 +f 236/306/16 237/307/16 233/304/16 +f 235/298/16 240/308/16 236/306/16 +f 231/309/17 240/310/17 232/311/17 +f 230/312/18 238/313/18 229/314/18 +f 228/315/18 233/316/18 227/317/18 +f 225/318/17 235/319/17 226/320/17 +f 232/321/19 239/322/19 230/323/19 +f 229/324/20 237/325/20 231/326/20 +f 226/295/20 236/306/20 228/302/20 +f 227/327/19 234/328/19 225/329/19 +f 241/330/15 244/331/15 243/332/15 +f 246/333/20 252/334/20 248/335/20 +f 247/336/19 249/337/19 245/338/19 +f 248/335/18 251/339/18 247/340/18 +f 245/338/17 250/341/17 246/333/17 +f 255/342/18 263/343/18 256/344/18 +f 261/345/15 257/346/15 260/347/15 +f 254/348/17 259/349/17 253/350/17 +f 264/351/20 261/345/20 262/352/20 +f 262/353/21 260/347/21 259/349/21 +f 258/354/22 264/351/22 263/343/22 +f 260/347/19 257/346/19 258/355/19 +f 268/356/20 265/357/20 266/358/20 +f 279/359/15 277/360/15 278/361/15 +f 283/362/15 281/363/15 282/364/15 +f 270/365/17 278/366/17 269/367/17 +f 276/368/20 283/362/20 274/369/20 +f 273/370/19 281/371/19 275/372/19 +f 272/373/20 279/359/20 270/374/20 +f 269/367/19 277/375/19 271/376/19 +f 275/372/18 284/377/18 276/368/18 +f 274/378/17 282/379/17 273/370/17 +f 271/376/18 280/380/18 272/373/18 +f 285/381/18 288/382/18 286/383/18 +f 292/384/18 289/385/18 290/386/18 +f 296/387/18 293/388/18 295/389/18 +f 297/390/18 300/391/18 298/392/18 +f 301/393/18 304/394/18 303/395/18 +f 305/396/18 308/397/18 306/398/18 +f 309/399/18 312/400/18 311/401/18 +f 316/402/18 313/403/18 314/404/18 +f 320/405/18 317/406/18 319/407/18 +f 324/408/18 321/409/18 322/410/18 +f 328/411/18 325/412/18 327/413/18 +f 329/414/18 332/415/18 330/416/18 +f 333/417/18 336/418/18 335/419/18 +f 337/420/18 340/421/18 339/422/18 +f 341/423/18 344/424/18 342/425/18 +f 345/426/18 348/427/18 347/428/18 +f 352/429/18 349/430/18 350/431/18 +f 356/432/18 353/433/18 355/434/18 +f 360/435/18 357/436/18 358/437/18 +f 364/438/18 361/439/18 363/440/18 +f 365/441/18 368/442/18 366/443/18 +f 369/444/18 372/445/18 371/446/18 +f 376/447/18 373/448/18 374/449/18 +f 380/450/18 377/451/18 379/452/18 +f 384/453/18 381/454/18 382/455/18 +f 388/456/18 385/457/18 387/458/18 +f 389/459/19 393/460/19 391/461/19 +f 390/462/21 395/463/21 389/459/21 +f 391/464/23 394/465/23 392/466/23 +f 392/466/20 396/467/20 390/462/20 +f 397/468/19 401/469/19 399/470/19 +f 398/471/21 403/472/21 397/468/21 +f 399/473/23 402/474/23 400/475/23 +f 400/475/20 404/476/20 398/471/20 +f 405/477/17 408/478/17 407/479/17 +f 412/480/17 409/481/17 411/482/17 +f 416/483/17 413/484/17 414/485/17 +f 417/486/17 420/487/17 419/488/17 +f 421/489/17 424/490/17 422/491/17 +f 425/492/17 428/493/17 427/494/17 +f 429/495/17 432/496/17 430/497/17 +f 436/498/17 433/499/17 435/500/17 +f 440/501/17 437/502/17 438/503/17 +f 444/504/17 441/505/17 443/506/17 +f 448/507/17 445/508/17 446/509/17 +f 449/510/17 452/511/17 451/512/17 +f 453/513/17 456/514/17 454/515/17 +f 457/516/17 460/517/17 458/518/17 +f 461/519/17 464/520/17 463/521/17 +f 465/522/17 468/523/17 466/524/17 +f 472/525/17 469/526/17 471/527/17 +f 476/528/17 473/529/17 474/530/17 +f 480/531/17 477/532/17 479/533/17 +f 484/534/17 481/535/17 482/536/17 +f 485/537/17 488/538/17 487/539/17 +f 489/540/17 492/541/17 490/542/17 +f 496/543/17 493/544/17 495/545/17 +f 500/546/17 497/547/17 498/548/17 +f 504/549/17 501/550/17 503/551/17 +f 508/552/17 505/553/17 506/554/17 +f 510/555/20 516/556/20 512/557/20 +f 511/558/19 513/559/19 509/560/19 +f 512/557/18 515/561/18 511/562/18 +f 509/560/17 514/563/17 510/555/17 +f 518/564/20 524/565/20 520/566/20 +f 519/567/19 521/568/19 517/569/19 +f 520/566/18 523/570/18 519/571/18 +f 517/569/17 522/572/17 518/564/17 +f 526/573/20 532/574/20 528/575/20 +f 527/576/19 529/577/19 525/578/19 +f 528/575/18 531/579/18 527/580/18 +f 525/578/17 530/581/17 526/573/17 +f 536/582/19 533/583/19 534/584/19 +f 540/585/18 537/586/18 538/587/18 +f 544/588/17 541/589/17 542/590/17 +f 230/293/15 229/299/15 225/294/15 +f 234/296/16 238/305/16 239/297/16 +f 229/299/15 231/301/15 227/300/15 +f 231/301/15 232/303/15 228/302/15 +f 232/303/15 230/293/15 226/295/15 +f 233/304/16 237/307/16 238/305/16 +f 236/306/16 240/308/16 237/307/16 +f 235/298/16 239/297/16 240/308/16 +f 231/309/17 237/591/17 240/310/17 +f 230/312/18 239/592/18 238/313/18 +f 228/315/18 236/593/18 233/316/18 +f 225/318/17 234/594/17 235/319/17 +f 232/321/19 240/595/19 239/322/19 +f 229/324/20 238/596/20 237/325/20 +f 226/295/20 235/298/20 236/306/20 +f 227/327/19 233/597/19 234/328/19 +f 241/330/15 242/598/15 244/331/15 +f 246/333/20 250/341/20 252/334/20 +f 247/336/19 251/599/19 249/337/19 +f 248/335/18 252/334/18 251/339/18 +f 245/338/17 249/337/17 250/341/17 +f 255/342/18 258/354/18 263/343/18 +f 261/345/15 264/351/15 257/346/15 +f 254/348/17 262/353/17 259/349/17 +f 262/352/20 254/600/20 256/601/20 +f 256/601/20 263/602/20 262/352/20 +f 263/602/20 264/351/20 262/352/20 +f 262/353/21 261/345/21 260/347/21 +f 258/354/22 257/346/22 264/351/22 +f 258/355/19 255/603/19 253/604/19 +f 253/604/19 259/605/19 258/355/19 +f 259/605/19 260/347/19 258/355/19 +f 268/356/20 267/606/20 265/357/20 +f 279/359/15 280/380/15 277/360/15 +f 283/362/15 284/377/15 281/363/15 +f 270/365/17 279/607/17 278/366/17 +f 276/368/20 284/377/20 283/362/20 +f 273/370/19 282/379/19 281/371/19 +f 272/373/20 280/380/20 279/359/20 +f 269/367/19 278/366/19 277/375/19 +f 275/372/18 281/371/18 284/377/18 +f 274/378/17 283/608/17 282/379/17 +f 271/376/18 277/375/18 280/380/18 +f 285/381/18 287/609/18 288/382/18 +f 292/384/18 291/610/18 289/385/18 +f 296/387/18 294/611/18 293/388/18 +f 297/390/18 299/612/18 300/391/18 +f 301/393/18 302/613/18 304/394/18 +f 305/396/18 307/614/18 308/397/18 +f 309/399/18 310/615/18 312/400/18 +f 316/402/18 315/616/18 313/403/18 +f 320/405/18 318/617/18 317/406/18 +f 324/408/18 323/618/18 321/409/18 +f 328/411/18 326/619/18 325/412/18 +f 329/414/18 331/620/18 332/415/18 +f 333/417/18 334/621/18 336/418/18 +f 337/420/18 338/622/18 340/421/18 +f 341/423/18 343/623/18 344/424/18 +f 345/426/18 346/624/18 348/427/18 +f 352/429/18 351/625/18 349/430/18 +f 356/432/18 354/626/18 353/433/18 +f 360/435/18 359/627/18 357/436/18 +f 364/438/18 362/628/18 361/439/18 +f 365/441/18 367/629/18 368/442/18 +f 369/444/18 370/630/18 372/445/18 +f 376/447/18 375/631/18 373/448/18 +f 380/450/18 378/632/18 377/451/18 +f 384/453/18 383/633/18 381/454/18 +f 388/456/18 386/634/18 385/457/18 +f 389/459/19 395/463/19 393/460/19 +f 390/462/21 396/467/21 395/463/21 +f 391/464/23 393/635/23 394/465/23 +f 392/466/20 394/465/20 396/467/20 +f 397/468/19 403/472/19 401/469/19 +f 398/471/21 404/476/21 403/472/21 +f 399/473/23 401/636/23 402/474/23 +f 400/475/20 402/474/20 404/476/20 +f 405/477/17 406/637/17 408/478/17 +f 412/480/17 410/638/17 409/481/17 +f 416/483/17 415/639/17 413/484/17 +f 417/486/17 418/640/17 420/487/17 +f 421/489/17 423/641/17 424/490/17 +f 425/492/17 426/642/17 428/493/17 +f 429/495/17 431/643/17 432/496/17 +f 436/498/17 434/644/17 433/499/17 +f 440/501/17 439/645/17 437/502/17 +f 444/504/17 442/646/17 441/505/17 +f 448/507/17 447/647/17 445/508/17 +f 449/510/17 450/648/17 452/511/17 +f 453/513/17 455/649/17 456/514/17 +f 457/516/17 459/650/17 460/517/17 +f 461/519/17 462/651/17 464/520/17 +f 465/522/17 467/652/17 468/523/17 +f 472/525/17 470/653/17 469/526/17 +f 476/528/17 475/654/17 473/529/17 +f 480/531/17 478/655/17 477/532/17 +f 484/534/17 483/656/17 481/535/17 +f 485/537/17 486/657/17 488/538/17 +f 489/540/17 491/658/17 492/541/17 +f 496/543/17 494/659/17 493/544/17 +f 500/546/17 499/660/17 497/547/17 +f 504/549/17 502/661/17 501/550/17 +f 508/552/17 507/662/17 505/553/17 +f 510/555/20 514/563/20 516/556/20 +f 511/558/19 515/663/19 513/559/19 +f 512/557/18 516/556/18 515/561/18 +f 509/560/17 513/559/17 514/563/17 +f 518/564/20 522/572/20 524/565/20 +f 519/567/19 523/664/19 521/568/19 +f 520/566/18 524/565/18 523/570/18 +f 517/569/17 521/568/17 522/572/17 +f 526/573/20 530/581/20 532/574/20 +f 527/576/19 531/665/19 529/577/19 +f 528/575/18 532/574/18 531/579/18 +f 525/578/17 529/577/17 530/581/17 +f 536/582/19 535/666/19 533/583/19 +f 540/585/18 539/667/18 537/586/18 +f 544/588/17 543/668/17 541/589/17 +o Atlas_Rope +v -2.116117 11.000000 2.292893 +v -2.292893 11.000000 2.116117 +v -2.292893 11.000000 2.469670 +v -2.469670 11.000000 2.292893 +v -1.762563 16.250000 1.939340 +v -1.939340 16.250000 1.762563 +v -1.939340 16.250000 2.116117 +v -2.116117 16.250000 1.939340 +v -1.409010 16.750000 1.585786 +v -1.585786 16.750000 1.409010 +v -1.409010 17.000000 1.585786 +v -1.585786 17.000000 1.409010 +v -1.055456 17.000000 0.878680 +v -0.878680 17.000000 1.055456 +v -0.701903 16.750000 0.878680 +v -0.878680 16.750000 0.701903 +v -0.878680 16.750000 1.055456 +v -1.055456 16.750000 0.878680 +v -0.701903 15.250000 0.878680 +v -0.878680 15.250000 0.701903 +v -0.878680 15.250000 1.055456 +v -1.055456 15.250000 0.878680 +v 0.005204 14.250000 0.171573 +v -0.171573 14.250000 -0.005204 +v -0.171573 14.250000 0.348350 +v -0.348350 14.250000 0.171573 +vt 0.897436 0.395161 +vt 0.884615 0.346774 +vt 0.897436 0.346774 +vt 0.846154 -0.000000 +vt 0.858974 0.338710 +vt 0.846154 0.338710 +vt 0.884615 -0.000000 +vt 0.871795 0.338710 +vt 0.871795 -0.000000 +vt 0.858974 -0.000000 +vt 0.897436 -0.000000 +vt 0.884615 0.338710 +vt 0.858974 0.451613 +vt 0.846154 0.467742 +vt 0.846154 0.451613 +vt 0.858974 0.403226 +vt 0.846154 0.346774 +vt 0.884615 0.395161 +vt 0.871795 0.451613 +vt 0.897436 0.403226 +vt 0.884615 0.451613 +vt 0.884615 0.403226 +vt 0.871795 0.403226 +vt 0.871795 0.467742 +vt 0.884615 0.532258 +vt 0.897436 0.467742 +vt 0.897436 0.532258 +vt 0.884615 0.629032 +vt 0.897436 0.629032 +vt 0.871795 0.629032 +vt 0.858974 0.629032 +vt 0.871795 0.532258 +vt 0.846154 0.629032 +vt 0.858974 0.532258 +vt 0.884615 0.467742 +vt 0.858974 0.467742 +vt 0.871795 0.467742 +vt 0.846154 0.532258 +vt 0.897436 0.338710 +vt 0.846154 0.403226 +vt 0.846154 0.395161 +vt 0.897436 0.451613 +vt 0.884615 0.467742 +vt 0.858974 0.467742 +vt 0.846154 0.467742 +vn 0.5000 -0.7071 -0.5000 +vn -0.7071 -0.0000 -0.7071 +vn 0.7071 -0.0000 0.7071 +vn -0.7039 0.0948 0.7039 +vn 0.7039 -0.0948 -0.7039 +vn -0.5000 0.7071 0.5000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.5000 0.7071 -0.5000 +vn 0.7071 0.0000 -0.7071 +vn -0.7071 0.0000 0.7071 +vn -0.5000 -0.7071 0.5000 +s off +f 554/669/24 549/670/24 550/671/24 +f 546/672/25 552/673/25 550/674/25 +f 545/675/26 551/676/26 547/677/26 +f 547/677/27 552/673/27 548/678/27 +f 546/679/28 549/680/28 545/675/28 +f 557/681/25 560/682/25 562/683/25 +f 556/684/25 550/685/25 552/673/25 +f 551/676/29 556/684/29 552/673/29 +f 553/686/26 551/676/26 549/670/26 +f 556/684/30 558/687/30 557/681/30 +f 554/688/31 561/689/31 553/690/31 +f 561/689/26 558/687/26 555/691/26 +f 559/692/32 557/681/32 558/687/32 +f 564/693/25 570/694/25 566/695/25 +f 560/696/25 566/695/25 562/697/25 +f 559/698/33 564/693/33 560/696/33 +f 561/699/26 563/700/26 559/698/26 +f 562/701/34 565/702/34 561/699/34 +f 563/700/32 568/703/32 564/693/32 +f 563/700/26 569/704/26 567/705/26 +f 566/706/35 569/704/35 565/702/35 +f 554/669/24 553/686/24 549/670/24 +f 546/672/25 548/678/25 552/673/25 +f 545/675/26 549/680/26 551/676/26 +f 547/677/27 551/676/27 552/673/27 +f 546/679/28 550/707/28 549/680/28 +f 562/683/25 554/708/25 556/684/25 +f 556/684/25 557/681/25 562/683/25 +f 556/684/25 554/709/25 550/685/25 +f 551/676/29 555/691/29 556/684/29 +f 553/686/26 555/691/26 551/676/26 +f 556/684/30 555/691/30 558/687/30 +f 554/688/31 562/710/31 561/689/31 +f 555/691/26 553/690/26 561/689/26 +f 561/689/26 559/711/26 558/687/26 +f 559/692/32 560/712/32 557/681/32 +f 564/693/25 568/703/25 570/694/25 +f 560/696/25 564/693/25 566/695/25 +f 559/698/33 563/700/33 564/693/33 +f 561/699/26 565/702/26 563/700/26 +f 562/701/34 566/706/34 565/702/34 +f 563/700/32 567/705/32 568/703/32 +f 563/700/26 565/702/26 569/704/26 +f 566/706/35 570/713/35 569/704/35 +o Atlas_Pivot +v 0.750000 1.500000 -3.750000 +v 1.250000 1.500000 -3.750000 +v 0.750000 1.500000 -4.250000 +v 1.250000 1.500000 -4.250000 +v -1.250000 1.500000 -3.750000 +v -0.750000 1.500000 -3.750000 +v -1.250000 1.500000 -4.250000 +v -0.750000 1.500000 -4.250000 +v 0.750000 2.000000 -2.250000 +v 1.250000 2.000000 -2.250000 +v 0.750000 2.000000 -2.750000 +v 1.250000 2.000000 -2.750000 +v -1.250000 2.000000 -2.250000 +v -0.750000 2.000000 -2.250000 +v -1.250000 2.000000 -2.750000 +v -0.750000 2.000000 -2.750000 +v 0.750000 3.500000 -4.250000 +v 0.750000 3.500000 -3.750000 +v 1.250000 3.500000 -3.750000 +v 1.250000 3.500000 -4.250000 +v -1.250000 3.500000 -4.250000 +v -1.250000 3.500000 -3.750000 +v -0.750000 3.500000 -3.750000 +v -0.750000 3.500000 -4.250000 +v 0.750000 3.500000 -2.750000 +v 0.750000 3.500000 -2.250000 +v 1.250000 3.500000 -2.250000 +v 1.250000 3.500000 -2.750000 +v -1.250000 3.500000 -2.750000 +v -1.250000 3.500000 -2.250000 +v -0.750000 3.500000 -2.250000 +v -0.750000 3.500000 -2.750000 +v 0.812500 3.500000 -3.812500 +v 1.187500 3.500000 -3.812500 +v 0.812500 3.500000 -4.187500 +v 1.187500 3.500000 -4.187500 +v 0.812500 4.500000 -3.812500 +v 1.187500 4.500000 -3.812500 +v 0.812500 4.500000 -4.187500 +v 1.187500 4.500000 -4.187500 +v 0.812500 3.500000 -2.312500 +v 1.187500 3.500000 -2.312500 +v 0.812500 3.500000 -2.687500 +v 1.187500 3.500000 -2.687500 +v 0.812500 4.500000 -2.312500 +v 1.187500 4.500000 -2.312500 +v 0.812500 4.500000 -2.687500 +v 1.187500 4.500000 -2.687500 +v -1.187500 3.500000 -3.812500 +v -0.812500 3.500000 -3.812500 +v -1.187500 3.500000 -4.187500 +v -0.812500 3.500000 -4.187500 +v -1.187500 4.500000 -3.812500 +v -0.812500 4.500000 -3.812500 +v -1.187500 4.500000 -4.187500 +v -0.812500 4.500000 -4.187500 +v -1.187500 3.500000 -2.312500 +v -0.812500 3.500000 -2.312500 +v -1.187500 3.500000 -2.687500 +v -0.812500 3.500000 -2.687500 +v -1.187500 4.500000 -2.312500 +v -0.812500 4.500000 -2.312500 +v -1.187500 4.500000 -2.687500 +v -0.812500 4.500000 -2.687500 +v 1.000000 3.000000 -2.750000 +v 1.000000 2.500000 -2.750000 +v 1.000000 3.000000 -3.750000 +v 1.000000 2.500000 -3.750000 +v -1.000000 3.000000 -2.750000 +v -1.000000 2.500000 -2.750000 +v -1.000000 3.000000 -3.750000 +v -1.000000 2.500000 -3.750000 +v 0.750000 3.000000 -4.000000 +v 0.750000 2.500000 -4.000000 +v -0.750000 3.000000 -4.000000 +v -0.750000 2.500000 -4.000000 +v 0.750000 3.000000 -2.500000 +v 0.750000 2.500000 -2.500000 +v -0.750000 3.000000 -2.500000 +v -0.750000 2.500000 -2.500000 +v 1.000000 3.000000 -2.750000 +v 1.000000 2.500000 -2.750000 +v 1.000000 3.000000 -3.750000 +v 1.000000 2.500000 -3.750000 +v -1.000000 3.000000 -2.750000 +v -1.000000 2.500000 -2.750000 +v -1.000000 3.000000 -3.750000 +v -1.000000 2.500000 -3.750000 +v 0.750000 3.000000 -4.000000 +v 0.750000 2.500000 -4.000000 +v -0.750000 3.000000 -4.000000 +v -0.750000 2.500000 -4.000000 +v 0.750000 3.000000 -2.500000 +v 0.750000 2.500000 -2.500000 +v -0.750000 3.000000 -2.500000 +v -0.750000 2.500000 -2.500000 +vt 0.769231 0.967742 +vt 0.750000 0.903226 +vt 0.769231 0.903226 +vt 0.750000 0.967742 +vt 0.730769 0.903226 +vt 0.692308 0.870968 +vt 0.717949 0.903226 +vt 0.692308 0.903226 +vt 0.692308 0.870968 +vt 0.717949 0.903226 +vt 0.692308 0.903226 +vt 0.692308 0.870968 +vt 0.717949 0.838710 +vt 0.717949 0.870968 +vt 0.692308 0.870968 +vt 0.717949 0.838710 +vt 0.717949 0.870968 +vt 0.769231 0.709677 +vt 0.743590 0.838710 +vt 0.743590 0.709677 +vt 0.717949 0.709677 +vt 0.692308 0.838710 +vt 0.692308 0.709677 +vt 0.769231 0.709677 +vt 0.743590 0.838710 +vt 0.743590 0.709677 +vt 0.794872 0.709677 +vt 0.769231 0.838710 +vt 0.717949 0.709677 +vt 0.794872 0.709677 +vt 0.769231 0.838710 +vt 0.692308 0.838710 +vt 0.692308 0.709677 +vt 0.692308 0.870968 +vt 0.717949 0.838710 +vt 0.717949 0.870968 +vt 0.692308 0.870968 +vt 0.717949 0.838710 +vt 0.717949 0.870968 +vt 0.794872 0.741935 +vt 0.769231 0.838710 +vt 0.769231 0.741935 +vt 0.743590 0.741935 +vt 0.717949 0.741935 +vt 0.794872 0.741935 +vt 0.769231 0.838710 +vt 0.769231 0.741935 +vt 0.743590 0.741935 +vt 0.717949 0.741935 +vt 0.692308 0.838710 +vt 0.692308 0.741935 +vt 0.743590 0.838710 +vt 0.692308 0.838710 +vt 0.692308 0.741935 +vt 0.743590 0.838710 +vt 0.730769 0.967742 +vt 0.711538 0.903226 +vt 0.711538 0.967742 +vt 0.692308 0.903226 +vt 0.769231 0.967742 +vt 0.750000 0.903226 +vt 0.769231 0.903226 +vt 0.750000 0.967742 +vt 0.730769 0.903226 +vt 0.730769 0.967742 +vt 0.711538 0.903226 +vt 0.711538 0.967742 +vt 0.692308 0.903226 +vt 0.769231 0.967742 +vt 0.750000 0.903226 +vt 0.769231 0.903226 +vt 0.750000 0.967742 +vt 0.730769 0.903226 +vt 0.730769 0.967742 +vt 0.711538 0.903226 +vt 0.711538 0.967742 +vt 0.692308 0.903226 +vt 0.769231 0.967742 +vt 0.750000 0.903226 +vt 0.769231 0.903226 +vt 0.750000 0.967742 +vt 0.730769 0.903226 +vt 0.730769 0.967742 +vt 0.711538 0.903226 +vt 0.711538 0.967742 +vt 0.692308 0.903226 +vt 0.743590 0.870968 +vt 0.794872 0.903226 +vt 0.743590 0.903226 +vt 0.743590 0.903226 +vt 0.794872 0.870968 +vt 0.794872 0.903226 +vt 0.717949 0.838710 +vt 0.794872 0.870968 +vt 0.717949 0.870968 +vt 0.717949 0.870968 +vt 0.794872 0.838710 +vt 0.794872 0.870968 +vt 0.794872 0.903226 +vt 0.743590 0.870968 +vt 0.743590 0.903226 +vt 0.794872 0.870968 +vt 0.743590 0.903226 +vt 0.794872 0.903226 +vt 0.794872 0.870968 +vt 0.717949 0.838710 +vt 0.717949 0.870968 +vt 0.794872 0.838710 +vt 0.717949 0.870968 +vt 0.794872 0.870968 +vt 0.717949 0.870968 +vt 0.717949 0.870968 +vt 0.794872 0.838710 +vt 0.794872 0.838710 +vt 0.794872 0.838710 +vt 0.794872 0.838710 +vt 0.692308 0.967742 +vt 0.692308 0.967742 +vt 0.692308 0.967742 +vt 0.692308 0.967742 +vt 0.794872 0.870968 +vt 0.743590 0.870968 +vt 0.794872 0.838710 +vt 0.717949 0.838710 +vt 0.794872 0.870968 +vt 0.743590 0.870968 +vt 0.794872 0.838710 +vt 0.717949 0.838710 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 0.0000 0.0000 +s off +f 610/714/36 604/715/36 606/716/36 +f 608/717/37 603/718/37 604/715/37 +f 581/719/38 580/720/38 579/721/38 +f 585/722/38 584/723/38 583/724/38 +f 589/725/39 587/726/39 588/727/39 +f 593/728/39 591/729/39 592/730/39 +f 576/731/37 592/732/37 575/733/37 +f 573/734/40 590/735/40 574/736/40 +f 572/737/37 588/738/37 571/739/37 +f 578/740/36 593/741/36 576/731/36 +f 575/733/41 591/729/41 577/742/41 +f 574/743/36 589/744/36 572/737/36 +f 571/739/41 587/726/41 573/734/41 +f 577/742/40 594/745/40 578/746/40 +f 597/747/39 595/748/39 596/749/39 +f 601/750/39 599/751/39 600/752/39 +f 586/753/36 601/754/36 584/755/36 +f 583/756/41 599/751/41 585/757/41 +f 582/758/36 597/759/36 580/760/36 +f 579/761/41 595/748/41 581/762/41 +f 585/757/40 602/763/40 586/764/40 +f 584/755/37 600/765/37 583/756/37 +f 581/762/40 598/766/40 582/767/40 +f 580/760/37 596/768/37 579/761/37 +f 607/769/41 605/770/41 603/718/41 +f 609/771/40 606/772/40 605/770/40 +f 618/773/36 612/774/36 614/775/36 +f 616/776/37 611/777/37 612/774/37 +f 615/778/41 613/779/41 611/777/41 +f 617/780/40 614/781/40 613/779/40 +f 626/782/36 620/783/36 622/784/36 +f 624/785/37 619/786/37 620/783/37 +f 623/787/41 621/788/41 619/786/41 +f 625/789/40 622/790/40 621/788/40 +f 634/791/36 628/792/36 630/793/36 +f 632/794/37 627/795/37 628/792/37 +f 631/796/41 629/797/41 627/795/41 +f 633/798/40 630/799/40 629/797/40 +f 636/800/36 637/801/36 635/802/36 +f 641/803/41 640/804/41 639/805/41 +f 644/806/40 645/807/40 643/808/40 +f 649/809/37 648/810/37 647/811/37 +f 653/812/41 652/813/41 651/814/41 +f 656/815/36 657/816/36 655/817/36 +f 661/818/37 660/819/37 659/820/37 +f 664/821/40 665/822/40 663/823/40 +f 610/714/36 608/717/36 604/715/36 +f 608/717/37 607/769/37 603/718/37 +f 581/719/38 582/824/38 580/720/38 +f 585/722/38 586/825/38 584/723/38 +f 589/725/39 590/735/39 587/726/39 +f 593/728/39 594/745/39 591/729/39 +f 576/731/37 593/741/37 592/732/37 +f 573/734/40 587/726/40 590/735/40 +f 572/737/37 589/744/37 588/738/37 +f 578/740/36 594/826/36 593/741/36 +f 575/733/41 592/732/41 591/729/41 +f 574/743/36 590/827/36 589/744/36 +f 571/739/41 588/738/41 587/726/41 +f 577/742/40 591/729/40 594/745/40 +f 597/747/39 598/766/39 595/748/39 +f 601/750/39 602/763/39 599/751/39 +f 586/753/36 602/828/36 601/754/36 +f 583/756/41 600/765/41 599/751/41 +f 582/758/36 598/829/36 597/759/36 +f 579/761/41 596/768/41 595/748/41 +f 585/757/40 599/751/40 602/763/40 +f 584/755/37 601/754/37 600/765/37 +f 581/762/40 595/748/40 598/766/40 +f 580/760/37 597/759/37 596/768/37 +f 607/769/41 609/771/41 605/770/41 +f 609/771/40 610/830/40 606/772/40 +f 618/773/36 616/776/36 612/774/36 +f 616/776/37 615/778/37 611/777/37 +f 615/778/41 617/780/41 613/779/41 +f 617/780/40 618/831/40 614/781/40 +f 626/782/36 624/785/36 620/783/36 +f 624/785/37 623/787/37 619/786/37 +f 623/787/41 625/789/41 621/788/41 +f 625/789/40 626/832/40 622/790/40 +f 634/791/36 632/794/36 628/792/36 +f 632/794/37 631/796/37 627/795/37 +f 631/796/41 633/798/41 629/797/41 +f 633/798/40 634/833/40 630/799/40 +f 636/800/36 638/834/36 637/801/36 +f 641/803/41 642/835/41 640/804/41 +f 644/806/40 646/836/40 645/807/40 +f 649/809/37 650/837/37 648/810/37 +f 653/812/41 654/838/41 652/813/41 +f 656/815/36 658/839/36 657/816/36 +f 661/818/37 662/840/37 660/819/37 +f 664/821/40 666/841/40 665/822/40 +o Atlas_Erector +v 0.750000 3.500000 -4.250000 +v 0.750000 3.500000 -3.750000 +v 1.250000 3.500000 -3.750000 +v 1.250000 3.500000 -4.250000 +v -1.250000 3.500000 -4.250000 +v -1.250000 3.500000 -3.750000 +v -0.750000 3.500000 -3.750000 +v -0.750000 3.500000 -4.250000 +v 0.750000 3.500000 -2.750000 +v 0.750000 3.500000 -2.250000 +v 1.250000 3.500000 -2.250000 +v 1.250000 3.500000 -2.750000 +v -1.250000 3.500000 -2.750000 +v -1.250000 3.500000 -2.250000 +v -0.750000 3.500000 -2.250000 +v -0.750000 3.500000 -2.750000 +v 0.750000 14.750000 -4.250000 +v 0.750000 14.750000 -3.750000 +v 1.250000 14.750000 -3.750000 +v 1.250000 14.750000 -4.250000 +v -1.250000 14.750000 -4.250000 +v -1.250000 14.750000 -3.750000 +v -0.750000 14.750000 -3.750000 +v -0.750000 14.750000 -4.250000 +v 0.750000 14.750000 -2.750000 +v 0.750000 14.750000 -2.250000 +v 1.250000 14.750000 -2.250000 +v 1.250000 14.750000 -2.750000 +v -1.250000 14.750000 -2.750000 +v -1.250000 14.750000 -2.250000 +v -0.750000 14.750000 -2.250000 +v -0.750000 14.750000 -2.750000 +v 0.750000 12.750000 -2.750000 +v 0.750000 12.750000 -2.250000 +v -0.750000 12.750000 -2.250000 +v -0.750000 12.750000 -2.750000 +v 0.750000 12.250000 -2.750000 +v 0.750000 12.250000 -2.250000 +v -0.750000 12.250000 -2.250000 +v -0.750000 12.250000 -2.750000 +v 0.625000 12.750000 -1.375000 +v -0.625000 12.750000 -1.375000 +v 0.625000 12.250000 -1.375000 +v -0.625000 12.250000 -1.375000 +v 0.625000 12.750000 -1.125000 +v -0.625000 12.750000 -1.125000 +v 0.625000 12.250000 -1.125000 +v -0.625000 12.250000 -1.125000 +v -1.375000 12.749999 -0.625000 +v -1.375000 12.749999 0.250000 +v -1.375000 12.249999 -0.625000 +v -1.375000 12.249999 0.250000 +v -1.125000 12.749999 -0.625000 +v -1.125000 12.749999 0.250000 +v -1.125000 12.249999 -0.625000 +v -1.125000 12.249999 0.250000 +v 1.375000 12.749999 0.250000 +v 1.375000 12.749999 -0.625000 +v 1.375000 12.249999 0.250000 +v 1.375000 12.249999 -0.625000 +v 1.125000 12.749999 0.250000 +v 1.125000 12.749999 -0.625000 +v 1.125000 12.249999 0.250000 +v 1.125000 12.249999 -0.625000 +v 0.750000 12.750000 -4.250000 +v 0.750000 12.750000 -3.750000 +v -0.750000 12.750000 -3.750000 +v -0.750000 12.750000 -4.250000 +v 0.750000 12.250000 -4.250000 +v 0.750000 12.250000 -3.750000 +v -0.750000 12.250000 -3.750000 +v -0.750000 12.250000 -4.250000 +v 0.187500 12.312500 -1.375000 +v 0.562500 12.312500 -1.375000 +v 0.187500 12.687500 -1.375000 +v 0.562500 12.687500 -1.375000 +v 0.187500 12.312500 -3.750000 +v 0.562500 12.312500 -3.750000 +v 0.187500 12.687500 -3.750000 +v 0.562500 12.687500 -3.750000 +v -0.562500 12.312500 -1.375000 +v -0.187500 12.312500 -1.375000 +v -0.562500 12.687500 -1.375000 +v -0.187500 12.687500 -1.375000 +v -0.562500 12.312500 -3.750000 +v -0.187500 12.312500 -3.750000 +v -0.562500 12.687500 -3.750000 +v -0.187500 12.687500 -3.750000 +v 0.750000 8.750000 -2.750000 +v 0.750000 8.750000 -2.250000 +v -0.750000 8.750000 -2.250000 +v -0.750000 8.750000 -2.750000 +v 0.750000 8.250000 -2.750000 +v 0.750000 8.250000 -2.250000 +v -0.750000 8.250000 -2.250000 +v -0.750000 8.250000 -2.750000 +v 0.625000 8.750000 -1.625000 +v -0.625000 8.750000 -1.625000 +v 0.625000 8.250000 -1.625000 +v -0.625000 8.250000 -1.625000 +v 0.625000 8.750000 -1.375000 +v -0.625000 8.750000 -1.375000 +v 0.625000 8.250000 -1.375000 +v -0.625000 8.250000 -1.375000 +v -1.375000 8.749999 -0.875000 +v -1.375000 8.749999 0.250000 +v -1.375000 8.249999 -0.875000 +v -1.375000 8.249999 0.250000 +v -1.125000 8.749999 -0.875000 +v -1.125000 8.749999 0.250000 +v -1.125000 8.249999 -0.875000 +v -1.125000 8.249999 0.250000 +v 1.375000 8.749999 0.250000 +v 1.375000 8.749999 -0.875000 +v 1.375000 8.249999 0.250000 +v 1.375000 8.249999 -0.875000 +v 1.125000 8.749999 0.250000 +v 1.125000 8.749999 -0.875000 +v 1.125000 8.249999 0.250000 +v 1.125000 8.249999 -0.875000 +v 0.750000 8.750000 -4.250000 +v 0.750000 8.750000 -3.750000 +v -0.750000 8.750000 -3.750000 +v -0.750000 8.750000 -4.250000 +v 0.750000 8.250000 -4.250000 +v 0.750000 8.250000 -3.750000 +v -0.750000 8.250000 -3.750000 +v -0.750000 8.250000 -4.250000 +v 0.187500 8.312500 -1.625000 +v 0.562500 8.312500 -1.625000 +v 0.187500 8.687500 -1.625000 +v 0.562500 8.687500 -1.625000 +v 0.187500 8.312500 -3.750000 +v 0.562500 8.312500 -3.750000 +v 0.187500 8.687500 -3.750000 +v 0.562500 8.687500 -3.750000 +v -0.562500 8.312500 -1.625000 +v -0.187500 8.312500 -1.625000 +v -0.562500 8.687500 -1.625000 +v -0.187500 8.687500 -1.625000 +v -0.562500 8.312500 -3.750000 +v -0.187500 8.312500 -3.750000 +v -0.562500 8.687500 -3.750000 +v -0.187500 8.687500 -3.750000 +v 0.750000 4.750000 -2.750000 +v 0.750000 4.750000 -2.250000 +v -0.750000 4.750000 -2.250000 +v -0.750000 4.750000 -2.750000 +v 0.750000 4.250000 -2.750000 +v 0.750000 4.250000 -2.250000 +v -0.750000 4.250000 -2.250000 +v -0.750000 4.250000 -2.750000 +v 0.625000 4.750000 -1.875000 +v -0.625000 4.750000 -1.875000 +v 0.625000 4.250000 -1.875000 +v -0.625000 4.250000 -1.875000 +v 0.625000 4.750000 -1.625000 +v -0.625000 4.750000 -1.625000 +v 0.625000 4.250000 -1.625000 +v -0.625000 4.250000 -1.625000 +v -1.375000 4.749999 -1.125000 +v -1.375000 4.749999 0.250000 +v -1.375000 4.249999 -1.125000 +v -1.375000 4.249999 0.250000 +v -1.125000 4.749999 -1.125000 +v -1.125000 4.749999 0.250000 +v -1.125000 4.249999 -1.125000 +v -1.125000 4.249999 0.250000 +v 1.375000 4.749999 0.250000 +v 1.375000 4.749999 -1.125000 +v 1.375000 4.249999 0.250000 +v 1.375000 4.249999 -1.125000 +v 1.125000 4.749999 0.250000 +v 1.125000 4.749999 -1.125000 +v 1.125000 4.249999 0.250000 +v 1.125000 4.249999 -1.125000 +v 0.750000 4.750000 -4.250000 +v 0.750000 4.750000 -3.750000 +v -0.750000 4.750000 -3.750000 +v -0.750000 4.750000 -4.250000 +v 0.750000 4.250000 -4.250000 +v 0.750000 4.250000 -3.750000 +v -0.750000 4.250000 -3.750000 +v -0.750000 4.250000 -4.250000 +v 0.187500 4.312500 -1.875000 +v 0.562500 4.312500 -1.875000 +v 0.187500 4.687500 -1.875000 +v 0.562500 4.687500 -1.875000 +v 0.187500 4.312500 -3.750000 +v 0.562500 4.312500 -3.750000 +v 0.187500 4.687500 -3.750000 +v 0.562500 4.687500 -3.750000 +v -0.562500 4.312500 -1.875000 +v -0.187500 4.312500 -1.875000 +v -0.562500 4.687500 -1.875000 +v -0.187500 4.687500 -1.875000 +v -0.562500 4.312500 -3.750000 +v -0.187500 4.312500 -3.750000 +v -0.562500 4.687500 -3.750000 +v -0.187500 4.687500 -3.750000 +v 0.750000 12.250000 -4.062500 +v 0.750000 11.750000 -4.062500 +v -0.750000 10.750000 -4.062500 +v -0.750000 10.250000 -4.062500 +v 0.750000 10.750000 -4.062500 +v 0.750000 10.250000 -4.062500 +v -0.750000 9.250000 -4.062500 +v -0.750000 8.750000 -4.062500 +v 0.750000 10.750000 -3.937500 +v 0.750000 10.250000 -3.937500 +v -0.750000 12.250000 -3.937500 +v -0.750000 11.750000 -3.937500 +v 0.750000 9.250000 -3.937500 +v 0.750000 8.750000 -3.937500 +v -0.750000 10.750000 -3.937500 +v -0.750000 10.250000 -3.937500 +v 0.750000 8.250000 -4.062500 +v 0.750000 7.750000 -4.062500 +v -0.750000 6.750000 -4.062500 +v -0.750000 6.250000 -4.062500 +v 0.750000 6.750000 -4.062500 +v 0.750000 6.250000 -4.062500 +v -0.750000 5.250000 -4.062500 +v -0.750000 4.750000 -4.062500 +v 0.750000 6.750000 -3.937500 +v 0.750000 6.250000 -3.937500 +v -0.750000 8.250000 -3.937500 +v -0.750000 7.750000 -3.937500 +v 0.750000 5.250000 -3.937500 +v 0.750000 4.750000 -3.937500 +v -0.750000 6.750000 -3.937500 +v -0.750000 6.250000 -3.937500 +v 0.750000 12.250000 -2.562500 +v 0.750000 11.750000 -2.562500 +v -0.750000 10.750000 -2.562500 +v -0.750000 10.250000 -2.562500 +v 0.750000 10.750000 -2.562500 +v 0.750000 10.250000 -2.562500 +v -0.750000 9.250000 -2.562500 +v -0.750000 8.750000 -2.562500 +v 0.750000 10.750000 -2.437500 +v 0.750000 10.250000 -2.437500 +v -0.750000 12.250000 -2.437500 +v -0.750000 11.750000 -2.437500 +v 0.750000 9.250000 -2.437500 +v 0.750000 8.750000 -2.437500 +v -0.750000 10.750000 -2.437500 +v -0.750000 10.250000 -2.437500 +v 0.750000 8.250000 -2.562500 +v 0.750000 7.750000 -2.562500 +v -0.750000 6.750000 -2.562500 +v -0.750000 6.250000 -2.562500 +v 0.750000 6.750000 -2.562500 +v 0.750000 6.250000 -2.562500 +v -0.750000 5.250000 -2.562500 +v -0.750000 4.750000 -2.562500 +v 0.750000 6.750000 -2.437500 +v 0.750000 6.250000 -2.437500 +v -0.750000 8.250000 -2.437500 +v -0.750000 7.750000 -2.437500 +v 0.750000 5.250000 -2.437500 +v 0.750000 4.750000 -2.437500 +v -0.750000 6.750000 -2.437500 +v -0.750000 6.250000 -2.437500 +v 0.750000 14.750000 -4.062500 +v 0.750000 14.250000 -4.062500 +v -0.750000 13.250000 -4.062500 +v -0.750000 12.750000 -4.062500 +v 0.750000 13.250000 -3.937500 +v 0.750000 12.750000 -3.937500 +v -0.750000 14.750000 -3.937500 +v -0.750000 14.250000 -3.937500 +v 0.750000 14.750000 -2.562500 +v 0.750000 14.250000 -2.562500 +v -0.750000 13.250000 -2.562500 +v -0.750000 12.750000 -2.562500 +v 0.750000 13.250000 -2.437500 +v 0.750000 12.750000 -2.437500 +v -0.750000 14.750000 -2.437500 +v -0.750000 14.250000 -2.437500 +v 1.062500 14.750000 -2.750000 +v 1.062500 14.250000 -2.750000 +v 1.062500 13.250000 -3.750000 +v 1.062500 12.750000 -3.750000 +v 0.937500 13.250000 -2.750000 +v 0.937500 12.750000 -2.750000 +v 0.937500 14.750000 -3.750000 +v 0.937500 14.250000 -3.750000 +v 1.062500 12.250000 -2.750000 +v 1.062500 11.750000 -2.750000 +v 1.062500 10.750000 -3.750000 +v 1.062500 10.250000 -3.750000 +v 0.937500 10.750000 -2.750000 +v 0.937500 10.250000 -2.750000 +v 0.937500 12.250000 -3.750000 +v 0.937500 11.750000 -3.750000 +v 1.062500 10.750000 -2.750000 +v 1.062500 10.250000 -2.750000 +v 1.062500 9.250000 -3.750000 +v 1.062500 8.750000 -3.750000 +v 0.937500 9.250000 -2.750000 +v 0.937500 8.750000 -2.750000 +v 0.937500 10.750000 -3.750000 +v 0.937500 10.250000 -3.750000 +v 1.062500 8.250000 -2.750000 +v 1.062500 7.750000 -2.750000 +v 1.062500 6.750000 -3.750000 +v 1.062500 6.250000 -3.750000 +v 0.937500 6.750000 -2.750000 +v 0.937500 6.250000 -2.750000 +v 0.937500 8.250000 -3.750000 +v 0.937500 7.750000 -3.750000 +v 1.062500 6.750000 -2.750000 +v 1.062500 6.250000 -2.750000 +v 1.062500 5.250000 -3.750000 +v 1.062500 4.750000 -3.750000 +v 0.937500 5.250000 -2.750000 +v 0.937500 4.750000 -2.750000 +v 0.937500 6.750000 -3.750000 +v 0.937500 6.250000 -3.750000 +v -0.937500 14.750000 -2.750000 +v -0.937500 14.250000 -2.750000 +v -0.937500 13.250000 -3.750000 +v -0.937500 12.750000 -3.750000 +v -1.062500 13.250000 -2.750000 +v -1.062500 12.750000 -2.750000 +v -1.062500 14.750000 -3.750000 +v -1.062500 14.250000 -3.750000 +v -0.937500 12.250000 -2.750000 +v -0.937500 11.750000 -2.750000 +v -0.937500 10.750000 -3.750000 +v -0.937500 10.250000 -3.750000 +v -1.062500 10.750000 -2.750000 +v -1.062500 10.250000 -2.750000 +v -1.062500 12.250000 -3.750000 +v -1.062500 11.750000 -3.750000 +v -0.937500 10.750000 -2.750000 +v -0.937500 10.250000 -2.750000 +v -0.937500 9.250000 -3.750000 +v -0.937500 8.750000 -3.750000 +v -1.062500 9.250000 -2.750000 +v -1.062500 8.750000 -2.750000 +v -1.062500 10.750000 -3.750000 +v -1.062500 10.250000 -3.750000 +v -0.937500 8.250000 -2.750000 +v -0.937500 7.750000 -2.750000 +v -0.937500 6.750000 -3.750000 +v -0.937500 6.250000 -3.750000 +v -1.062500 6.750000 -2.750000 +v -1.062500 6.250000 -2.750000 +v -1.062500 8.250000 -3.750000 +v -1.062500 7.750000 -3.750000 +v -0.937500 6.750000 -2.750000 +v -0.937500 6.250000 -2.750000 +v -0.937500 5.250000 -3.750000 +v -0.937500 4.750000 -3.750000 +v -1.062500 5.250000 -2.750000 +v -1.062500 4.750000 -2.750000 +v -1.062500 6.750000 -3.750000 +v -1.062500 6.250000 -3.750000 +v 0.750000 12.250000 -4.062500 +v 0.750000 11.750000 -4.062500 +v -0.750000 10.750000 -4.062500 +v -0.750000 10.250000 -4.062500 +v 0.750000 10.750000 -4.062500 +v 0.750000 10.250000 -4.062500 +v -0.750000 9.250000 -4.062500 +v -0.750000 8.750000 -4.062500 +v 0.750000 10.750000 -3.937500 +v 0.750000 10.250000 -3.937500 +v -0.750000 12.250000 -3.937500 +v -0.750000 11.750000 -3.937500 +v 0.750000 9.250000 -3.937500 +v 0.750000 8.750000 -3.937500 +v -0.750000 10.750000 -3.937500 +v -0.750000 10.250000 -3.937500 +v 0.750000 8.250000 -4.062500 +v 0.750000 7.750000 -4.062500 +v -0.750000 6.750000 -4.062500 +v -0.750000 6.250000 -4.062500 +v 0.750000 6.750000 -4.062500 +v 0.750000 6.250000 -4.062500 +v -0.750000 5.250000 -4.062500 +v -0.750000 4.750000 -4.062500 +v 0.750000 6.750000 -3.937500 +v 0.750000 6.250000 -3.937500 +v -0.750000 8.250000 -3.937500 +v -0.750000 7.750000 -3.937500 +v 0.750000 5.250000 -3.937500 +v 0.750000 4.750000 -3.937500 +v -0.750000 6.750000 -3.937500 +v -0.750000 6.250000 -3.937500 +v 0.750000 12.250000 -2.562500 +v 0.750000 11.750000 -2.562500 +v -0.750000 10.750000 -2.562500 +v -0.750000 10.250000 -2.562500 +v 0.750000 10.750000 -2.562500 +v 0.750000 10.250000 -2.562500 +v -0.750000 9.250000 -2.562500 +v -0.750000 8.750000 -2.562500 +v 0.750000 10.750000 -2.437500 +v 0.750000 10.250000 -2.437500 +v -0.750000 12.250000 -2.437500 +v -0.750000 11.750000 -2.437500 +v 0.750000 9.250000 -2.437500 +v 0.750000 8.750000 -2.437500 +v -0.750000 10.750000 -2.437500 +v -0.750000 10.250000 -2.437500 +v 0.750000 8.250000 -2.562500 +v 0.750000 7.750000 -2.562500 +v -0.750000 6.750000 -2.562500 +v -0.750000 6.250000 -2.562500 +v 0.750000 6.750000 -2.562500 +v 0.750000 6.250000 -2.562500 +v -0.750000 5.250000 -2.562500 +v -0.750000 4.750000 -2.562500 +v 0.750000 6.750000 -2.437500 +v 0.750000 6.250000 -2.437500 +v -0.750000 8.250000 -2.437500 +v -0.750000 7.750000 -2.437500 +v 0.750000 5.250000 -2.437500 +v 0.750000 4.750000 -2.437500 +v -0.750000 6.750000 -2.437500 +v -0.750000 6.250000 -2.437500 +v 0.750000 14.750000 -4.062500 +v 0.750000 14.250000 -4.062500 +v -0.750000 13.250000 -4.062500 +v -0.750000 12.750000 -4.062500 +v 0.750000 13.250000 -3.937500 +v 0.750000 12.750000 -3.937500 +v -0.750000 14.750000 -3.937500 +v -0.750000 14.250000 -3.937500 +v 0.750000 14.750000 -2.562500 +v 0.750000 14.250000 -2.562500 +v -0.750000 13.250000 -2.562500 +v -0.750000 12.750000 -2.562500 +v 0.750000 13.250000 -2.437500 +v 0.750000 12.750000 -2.437500 +v -0.750000 14.750000 -2.437500 +v -0.750000 14.250000 -2.437500 +v 1.062500 14.750000 -2.750000 +v 1.062500 14.250000 -2.750000 +v 1.062500 13.250000 -3.750000 +v 1.062500 12.750000 -3.750000 +v 0.937500 13.250000 -2.750000 +v 0.937500 12.750000 -2.750000 +v 0.937500 14.750000 -3.750000 +v 0.937500 14.250000 -3.750000 +v 1.062500 12.250000 -2.750000 +v 1.062500 11.750000 -2.750000 +v 1.062500 10.750000 -3.750000 +v 1.062500 10.250000 -3.750000 +v 0.937500 10.750000 -2.750000 +v 0.937500 10.250000 -2.750000 +v 0.937500 12.250000 -3.750000 +v 0.937500 11.750000 -3.750000 +v 1.062500 10.750000 -2.750000 +v 1.062500 10.250000 -2.750000 +v 1.062500 9.250000 -3.750000 +v 1.062500 8.750000 -3.750000 +v 0.937500 9.250000 -2.750000 +v 0.937500 8.750000 -2.750000 +v 0.937500 10.750000 -3.750000 +v 0.937500 10.250000 -3.750000 +v 1.062500 8.250000 -2.750000 +v 1.062500 7.750000 -2.750000 +v 1.062500 6.750000 -3.750000 +v 1.062500 6.250000 -3.750000 +v 0.937500 6.750000 -2.750000 +v 0.937500 6.250000 -2.750000 +v 0.937500 8.250000 -3.750000 +v 0.937500 7.750000 -3.750000 +v 1.062500 6.750000 -2.750000 +v 1.062500 6.250000 -2.750000 +v 1.062500 5.250000 -3.750000 +v 1.062500 4.750000 -3.750000 +v 0.937500 5.250000 -2.750000 +v 0.937500 4.750000 -2.750000 +v 0.937500 6.750000 -3.750000 +v 0.937500 6.250000 -3.750000 +v -0.937500 14.750000 -2.750000 +v -0.937500 14.250000 -2.750000 +v -0.937500 13.250000 -3.750000 +v -0.937500 12.750000 -3.750000 +v -1.062500 13.250000 -2.750000 +v -1.062500 12.750000 -2.750000 +v -1.062500 14.750000 -3.750000 +v -1.062500 14.250000 -3.750000 +v -0.937500 12.250000 -2.750000 +v -0.937500 11.750000 -2.750000 +v -0.937500 10.750000 -3.750000 +v -0.937500 10.250000 -3.750000 +v -1.062500 10.750000 -2.750000 +v -1.062500 10.250000 -2.750000 +v -1.062500 12.250000 -3.750000 +v -1.062500 11.750000 -3.750000 +v -0.937500 10.750000 -2.750000 +v -0.937500 10.250000 -2.750000 +v -0.937500 9.250000 -3.750000 +v -0.937500 8.750000 -3.750000 +v -1.062500 9.250000 -2.750000 +v -1.062500 8.750000 -2.750000 +v -1.062500 10.750000 -3.750000 +v -1.062500 10.250000 -3.750000 +v -0.937500 8.250000 -2.750000 +v -0.937500 7.750000 -2.750000 +v -0.937500 6.750000 -3.750000 +v -0.937500 6.250000 -3.750000 +v -1.062500 6.750000 -2.750000 +v -1.062500 6.250000 -2.750000 +v -1.062500 8.250000 -3.750000 +v -1.062500 7.750000 -3.750000 +v -0.937500 6.750000 -2.750000 +v -0.937500 6.250000 -2.750000 +v -0.937500 5.250000 -3.750000 +v -0.937500 4.750000 -3.750000 +v -1.062500 5.250000 -2.750000 +v -1.062500 4.750000 -2.750000 +v -1.062500 6.750000 -3.750000 +v -1.062500 6.250000 -3.750000 +vt 0.923077 0.032258 +vt 0.897436 -0.000000 +vt 0.923077 -0.000000 +vt 0.923077 0.032258 +vt 0.897436 -0.000000 +vt 0.923077 -0.000000 +vt 0.923077 0.032258 +vt 0.897436 -0.000000 +vt 0.923077 -0.000000 +vt 0.923077 0.032258 +vt 0.897436 -0.000000 +vt 0.923077 -0.000000 +vt 0.897436 0.790323 +vt 0.923077 0.758065 +vt 0.923077 0.790323 +vt 0.897436 0.790323 +vt 0.923077 0.758065 +vt 0.923077 0.790323 +vt 0.897436 0.790323 +vt 0.923077 0.758065 +vt 0.923077 0.790323 +vt 0.897436 0.790323 +vt 0.923077 0.758065 +vt 0.923077 0.790323 +vt 0.974359 0.032258 +vt 0.948718 0.758065 +vt 0.948718 0.032258 +vt 1.000000 0.032258 +vt 0.974359 0.758065 +vt 0.974359 0.032258 +vt 1.000000 0.032258 +vt 0.974359 0.758065 +vt 0.897436 0.758065 +vt 0.897436 0.032258 +vt 0.897436 0.758065 +vt 0.897436 0.032258 +vt 0.948718 0.032258 +vt 0.948718 0.032258 +vt 0.974359 0.032258 +vt 0.948718 0.758065 +vt 0.974359 0.032258 +vt 0.948718 0.758065 +vt 1.000000 0.032258 +vt 0.974359 0.758065 +vt 1.000000 0.032258 +vt 0.974359 0.758065 +vt 0.897436 0.758065 +vt 0.897436 0.032258 +vt 0.948718 0.032258 +vt 0.897436 0.758065 +vt 0.897436 0.032258 +vt 0.948718 0.758065 +vt 0.897436 0.854839 +vt 0.974359 0.887097 +vt 0.897436 0.887097 +vt 0.974359 0.790323 +vt 0.897436 0.822581 +vt 0.897436 0.790323 +vt 0.974359 0.822581 +vt 0.974359 0.854839 +vt 0.897436 0.919355 +vt 0.448718 0.822581 +vt 0.512821 0.854839 +vt 0.448718 0.854839 +vt 0.275641 0.919355 +vt 0.211538 0.951613 +vt 0.211538 0.919355 +vt 0.512821 0.854839 +vt 0.538462 0.903226 +vt 0.512821 0.870968 +vt 0.448718 0.870968 +vt 0.448718 0.854839 +vt 0.384615 0.854839 +vt 0.410256 0.903226 +vt 0.384615 0.903226 +vt 0.448718 0.870968 +vt 0.576923 0.903226 +vt 0.551282 0.959677 +vt 0.551282 0.903226 +vt 0.346154 0.919355 +vt 0.301282 0.951613 +vt 0.301282 0.919355 +vt 0.384615 0.951613 +vt 0.371795 0.919355 +vt 0.384615 0.919355 +vt 0.410256 0.903226 +vt 0.423077 0.959677 +vt 0.410256 0.959677 +vt 0.538462 0.903226 +vt 0.384615 0.959677 +vt 0.410256 0.959677 +vt 0.185897 0.919355 +vt 0.141026 0.951613 +vt 0.141026 0.919355 +vt 0.551282 0.959677 +vt 0.551282 0.903226 +vt 0.102564 0.919355 +vt 0.115385 0.951613 +vt 0.102564 0.951613 +vt 0.423077 0.959677 +vt 0.275641 0.951613 +vt 0.512821 0.870968 +vt 0.576923 0.854839 +vt 0.551282 0.854839 +vt 0.423077 0.903226 +vt 0.897436 0.854839 +vt 0.974359 0.887097 +vt 0.897436 0.887097 +vt 0.974359 0.790323 +vt 0.897436 0.822581 +vt 0.897436 0.790323 +vt 0.974359 0.822581 +vt 0.974359 0.854839 +vt 0.897436 0.919355 +vt 0.794872 0.846774 +vt 0.814103 0.693548 +vt 0.814103 0.846774 +vt 0.833333 0.846774 +vt 0.852564 0.693548 +vt 0.852564 0.846774 +vt 0.833333 0.693548 +vt 0.871795 0.693548 +vt 0.871795 0.846774 +vt 0.794872 0.846774 +vt 0.814103 0.693548 +vt 0.814103 0.846774 +vt 0.833333 0.846774 +vt 0.852564 0.693548 +vt 0.852564 0.846774 +vt 0.833333 0.693548 +vt 0.871795 0.693548 +vt 0.871795 0.846774 +vt 0.897436 0.854839 +vt 0.974359 0.887097 +vt 0.897436 0.887097 +vt 0.974359 0.790323 +vt 0.897436 0.822581 +vt 0.897436 0.790323 +vt 0.974359 0.822581 +vt 0.974359 0.854839 +vt 0.897436 0.919355 +vt 0.448718 0.822581 +vt 0.512821 0.854839 +vt 0.448718 0.854839 +vt 0.275641 0.919355 +vt 0.211538 0.951613 +vt 0.211538 0.919355 +vt 0.512821 0.854839 +vt 0.538462 0.903226 +vt 0.512821 0.870968 +vt 0.448718 0.870968 +vt 0.448718 0.854839 +vt 0.384615 0.854839 +vt 0.410256 0.903226 +vt 0.384615 0.903226 +vt 0.448718 0.870968 +vt 0.576923 0.903226 +vt 0.551282 0.975806 +vt 0.551282 0.903226 +vt 0.358974 0.919355 +vt 0.301282 0.951613 +vt 0.301282 0.919355 +vt 0.384615 0.951613 +vt 0.371795 0.919355 +vt 0.384615 0.919355 +vt 0.410256 0.903226 +vt 0.423077 0.975806 +vt 0.410256 0.975806 +vt 0.538462 0.903226 +vt 0.384615 0.975806 +vt 0.410256 0.975806 +vt 0.185897 0.919355 +vt 0.128205 0.951613 +vt 0.128205 0.919355 +vt 0.551282 0.975806 +vt 0.551282 0.903226 +vt 0.102564 0.919355 +vt 0.115385 0.951613 +vt 0.102564 0.951613 +vt 0.423077 0.975806 +vt 0.275641 0.951613 +vt 0.512821 0.870968 +vt 0.576923 0.854839 +vt 0.551282 0.854839 +vt 0.423077 0.903226 +vt 0.897436 0.854839 +vt 0.974359 0.887097 +vt 0.897436 0.887097 +vt 0.974359 0.790323 +vt 0.897436 0.822581 +vt 0.897436 0.790323 +vt 0.974359 0.822581 +vt 0.974359 0.854839 +vt 0.897436 0.919355 +vt 0.794872 0.830645 +vt 0.814103 0.693548 +vt 0.814103 0.830645 +vt 0.833333 0.830645 +vt 0.852564 0.693548 +vt 0.852564 0.830645 +vt 0.833333 0.693548 +vt 0.871795 0.693548 +vt 0.871795 0.830645 +vt 0.794872 0.830645 +vt 0.814103 0.693548 +vt 0.814103 0.830645 +vt 0.833333 0.830645 +vt 0.852564 0.693548 +vt 0.852564 0.830645 +vt 0.833333 0.693548 +vt 0.871795 0.693548 +vt 0.871795 0.830645 +vt 0.897436 0.854839 +vt 0.974359 0.887097 +vt 0.897436 0.887097 +vt 0.974359 0.790323 +vt 0.897436 0.822581 +vt 0.897436 0.790323 +vt 0.974359 0.822581 +vt 0.974359 0.854839 +vt 0.897436 0.919355 +vt 0.448718 0.822581 +vt 0.512821 0.854839 +vt 0.448718 0.854839 +vt 0.275641 0.919355 +vt 0.211538 0.951613 +vt 0.211538 0.919355 +vt 0.512821 0.854839 +vt 0.538462 0.903226 +vt 0.512821 0.870968 +vt 0.448718 0.870968 +vt 0.448718 0.854839 +vt 0.384615 0.854839 +vt 0.410256 0.903226 +vt 0.384615 0.903226 +vt 0.448718 0.870968 +vt 0.576923 0.903226 +vt 0.551282 0.991935 +vt 0.551282 0.903226 +vt 0.371795 0.919355 +vt 0.301282 0.951613 +vt 0.301282 0.919355 +vt 0.384615 0.951613 +vt 0.384615 0.919355 +vt 0.410256 0.903226 +vt 0.423077 0.991935 +vt 0.410256 0.991935 +vt 0.538462 0.903226 +vt 0.384615 0.991935 +vt 0.410256 0.991935 +vt 0.185897 0.919355 +vt 0.115385 0.951613 +vt 0.115385 0.919355 +vt 0.551282 0.991935 +vt 0.551282 0.903226 +vt 0.102564 0.919355 +vt 0.102564 0.951613 +vt 0.423077 0.991935 +vt 0.275641 0.951613 +vt 0.512821 0.870968 +vt 0.576923 0.854839 +vt 0.551282 0.854839 +vt 0.423077 0.903226 +vt 0.897436 0.854839 +vt 0.974359 0.887097 +vt 0.897436 0.887097 +vt 0.974359 0.790323 +vt 0.897436 0.822581 +vt 0.897436 0.790323 +vt 0.974359 0.822581 +vt 0.974359 0.854839 +vt 0.897436 0.919355 +vt 0.794872 0.814516 +vt 0.814103 0.693548 +vt 0.814103 0.814516 +vt 0.833333 0.814516 +vt 0.852564 0.693548 +vt 0.852564 0.814516 +vt 0.833333 0.693548 +vt 0.871795 0.693548 +vt 0.871795 0.814516 +vt 0.794872 0.814516 +vt 0.814103 0.693548 +vt 0.814103 0.814516 +vt 0.833333 0.814516 +vt 0.852564 0.693548 +vt 0.852564 0.814516 +vt 0.833333 0.693548 +vt 0.871795 0.693548 +vt 0.871795 0.814516 +vt 0.948718 0.758065 +vt 1.000000 0.790323 +vt 0.948718 0.790323 +vt 0.948718 0.758065 +vt 1.000000 0.790323 +vt 0.948718 0.790323 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 1.000000 0.790323 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 1.000000 0.790323 +vt 0.948718 0.758065 +vt 1.000000 0.790323 +vt 0.948718 0.790323 +vt 0.948718 0.758065 +vt 1.000000 0.790323 +vt 0.948718 0.790323 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 1.000000 0.790323 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 1.000000 0.790323 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 1.000000 0.790323 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 1.000000 0.790323 +vt 1.000000 0.790323 +vt 0.948718 0.758065 +vt 1.000000 0.758065 +vt 1.000000 0.790323 +vt 0.948718 0.758065 +vt 1.000000 0.758065 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 1.000000 0.790323 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 1.000000 0.790323 +vt 1.000000 0.790323 +vt 0.948718 0.758065 +vt 1.000000 0.758065 +vt 1.000000 0.790323 +vt 0.948718 0.758065 +vt 1.000000 0.758065 +vt 0.948718 0.758065 +vt 1.000000 0.790323 +vt 0.948718 0.790323 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 1.000000 0.790323 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 1.000000 0.790323 +vt 1.000000 0.790323 +vt 0.948718 0.758065 +vt 1.000000 0.758065 +vt 0.948718 0.758065 +vt 0.987179 0.790323 +vt 0.948718 0.790323 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.987179 0.790323 +vt 0.948718 0.790323 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.987179 0.790323 +vt 0.948718 0.790323 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.987179 0.790323 +vt 0.948718 0.790323 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.987179 0.790323 +vt 0.948718 0.790323 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.987179 0.790323 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.987179 0.790323 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.987179 0.758065 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.987179 0.790323 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.987179 0.758065 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.987179 0.790323 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.987179 0.758065 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.987179 0.790323 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.987179 0.758065 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.987179 0.790323 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.987179 0.758065 +vt 1.000000 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 1.000000 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 0.948718 0.758065 +vt 1.000000 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 1.000000 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 0.948718 0.758065 +vt 1.000000 0.758065 +vt 0.948718 0.790323 +vt 1.000000 0.790323 +vt 1.000000 0.758065 +vt 0.948718 0.790323 +vt 1.000000 0.790323 +vt 1.000000 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 1.000000 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 0.948718 0.790323 +vt 1.000000 0.790323 +vt 1.000000 0.758065 +vt 0.948718 0.790323 +vt 1.000000 0.790323 +vt 1.000000 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 1.000000 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 1.000000 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 0.948718 0.758065 +vt 1.000000 0.758065 +vt 0.948718 0.790323 +vt 1.000000 0.790323 +vt 1.000000 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.948718 0.758065 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.948718 0.758065 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.948718 0.758065 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.948718 0.758065 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.948718 0.758065 +vt 0.987179 0.758065 +vt 0.948718 0.790323 +vt 0.987179 0.790323 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.948718 0.790323 +vt 0.987179 0.790323 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.948718 0.790323 +vt 0.987179 0.790323 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.948718 0.790323 +vt 0.987179 0.790323 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.948718 0.790323 +vt 0.987179 0.790323 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 1.000000 0.758065 +vt 1.000000 0.758065 +vt 1.000000 0.758065 +vt 0.974359 0.919355 +vt 0.512821 0.822581 +vt 0.410256 0.854839 +vt 0.576923 0.959677 +vt 0.346154 0.951613 +vt 0.371795 0.951613 +vt 0.423077 0.903226 +vt 0.538462 0.959677 +vt 0.185897 0.951613 +vt 0.538462 0.959677 +vt 0.115385 0.919355 +vt 0.974359 0.919355 +vt 0.794872 0.693548 +vt 0.794872 0.693548 +vt 0.974359 0.919355 +vt 0.512821 0.822581 +vt 0.410256 0.854839 +vt 0.576923 0.975806 +vt 0.358974 0.951613 +vt 0.371795 0.951613 +vt 0.423077 0.903226 +vt 0.538462 0.975806 +vt 0.185897 0.951613 +vt 0.538462 0.975806 +vt 0.115385 0.919355 +vt 0.974359 0.919355 +vt 0.794872 0.693548 +vt 0.794872 0.693548 +vt 0.974359 0.919355 +vt 0.512821 0.822581 +vt 0.410256 0.854839 +vt 0.576923 0.991935 +vt 0.371795 0.951613 +vt 0.423077 0.903226 +vt 0.538462 0.991935 +vt 0.185897 0.951613 +vt 0.538462 0.991935 +vt 0.974359 0.919355 +vt 0.794872 0.693548 +vt 0.794872 0.693548 +vt 1.000000 0.758065 +vt 1.000000 0.758065 +vt 0.948718 0.758065 +vt 0.948718 0.758065 +vt 1.000000 0.758065 +vt 1.000000 0.758065 +vt 0.948718 0.758065 +vt 0.948718 0.758065 +vt 0.948718 0.758065 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.948718 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 0.948718 0.758065 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.987179 0.758065 +vt 0.948718 0.758065 +vt 0.987179 0.758065 +vt 0.948718 0.758065 +vt 0.987179 0.758065 +vt 0.948718 0.758065 +vt 0.987179 0.758065 +vt 0.948718 0.758065 +vt 0.987179 0.758065 +vt 0.948718 0.758065 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.790323 +vt 1.000000 0.758065 +vt 1.000000 0.758065 +vt 1.000000 0.790323 +vt 1.000000 0.790323 +vt 1.000000 0.758065 +vt 1.000000 0.758065 +vt 1.000000 0.790323 +vt 1.000000 0.790323 +vt 0.948718 0.758065 +vt 0.948718 0.758065 +vt 1.000000 0.758065 +vt 1.000000 0.758065 +vt 0.948718 0.758065 +vt 0.948718 0.758065 +vt 1.000000 0.758065 +vt 1.000000 0.758065 +vt 1.000000 0.758065 +vt 1.000000 0.790323 +vt 0.948718 0.758065 +vt 1.000000 0.758065 +vt 0.987179 0.758065 +vt 0.987179 0.790323 +vt 0.987179 0.758065 +vt 0.987179 0.790323 +vt 0.987179 0.758065 +vt 0.987179 0.790323 +vt 0.987179 0.758065 +vt 0.987179 0.790323 +vt 0.987179 0.758065 +vt 0.987179 0.790323 +vt 0.948718 0.758065 +vt 0.987179 0.758065 +vt 0.948718 0.758065 +vt 0.987179 0.758065 +vt 0.948718 0.758065 +vt 0.987179 0.758065 +vt 0.948718 0.758065 +vt 0.987179 0.758065 +vt 0.948718 0.758065 +vt 0.987179 0.758065 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.7071 0.0000 -0.7071 +vn -0.7071 0.0000 0.7071 +vn 0.7071 0.0000 0.7071 +vn -0.7071 0.0000 -0.7071 +s off +f 667/842/42 669/843/42 668/844/42 +f 671/845/42 673/846/42 672/847/42 +f 675/848/42 677/849/42 676/850/42 +f 679/851/42 681/852/42 680/853/42 +f 685/854/43 683/855/43 684/856/43 +f 689/857/43 687/858/43 688/859/43 +f 693/860/43 691/861/43 692/862/43 +f 697/863/43 695/864/43 696/865/43 +f 677/866/44 692/867/44 676/868/44 +f 670/869/45 685/870/45 669/871/45 +f 678/872/45 693/873/45 677/866/45 +f 667/842/46 686/874/46 670/875/46 +f 675/848/46 694/876/46 678/877/46 +f 672/878/47 687/858/47 671/845/47 +f 680/879/47 695/864/47 679/851/47 +f 673/880/44 688/881/44 672/878/44 +f 681/882/44 696/883/44 680/879/44 +f 674/884/45 689/885/45 673/880/45 +f 682/886/45 697/887/45 681/882/45 +f 671/845/46 690/888/46 674/889/46 +f 668/890/47 683/855/47 667/842/47 +f 679/851/46 698/891/46 682/892/46 +f 676/868/47 691/861/47 675/848/47 +f 669/871/44 684/893/44 668/890/44 +f 699/894/43 701/895/43 700/896/43 +f 705/897/42 703/898/42 704/899/42 +f 699/894/46 706/900/46 702/901/46 +f 701/895/44 704/902/44 700/896/44 +f 709/903/46 708/904/46 707/905/46 +f 712/906/44 713/907/44 711/908/44 +f 709/909/42 730/910/42 713/911/42 +f 709/909/42 714/912/42 710/913/42 +f 709/914/48 724/915/48 726/916/48 +f 708/904/43 711/917/43 707/905/43 +f 717/918/47 716/919/47 715/920/47 +f 720/921/45 721/922/45 719/923/45 +f 718/924/44 720/925/44 716/926/44 +f 717/927/42 722/928/42 718/929/42 +f 711/917/43 724/915/43 707/905/43 +f 716/919/43 719/930/43 715/920/43 +f 725/931/45 724/915/45 723/932/45 +f 728/933/47 729/934/47 727/935/47 +f 713/907/49 728/933/49 711/908/49 +f 725/936/42 730/910/42 726/937/42 +f 723/938/44 729/939/44 725/940/44 +f 724/915/43 727/941/43 723/932/43 +f 714/942/50 719/923/50 721/922/50 +f 708/904/43 719/930/43 712/943/43 +f 710/944/51 715/920/51 708/945/51 +f 721/946/42 710/913/42 714/912/42 +f 731/947/43 733/948/43 732/949/43 +f 737/950/42 735/951/42 736/952/42 +f 731/947/46 738/953/46 734/954/46 +f 733/948/44 736/955/44 732/949/44 +f 740/956/45 746/957/45 742/958/45 +f 741/959/47 743/960/47 739/961/47 +f 742/958/43 745/962/43 741/959/43 +f 739/961/42 744/963/42 740/964/42 +f 748/965/45 754/966/45 750/967/45 +f 749/968/47 751/969/47 747/970/47 +f 750/967/43 753/971/43 749/968/43 +f 747/970/42 752/972/42 748/973/42 +f 755/974/43 757/975/43 756/976/43 +f 761/977/42 759/978/42 760/979/42 +f 755/974/46 762/980/46 758/981/46 +f 757/975/44 760/982/44 756/976/44 +f 765/983/46 764/984/46 763/985/46 +f 768/986/44 769/987/44 767/988/44 +f 765/989/42 786/990/42 769/991/42 +f 765/989/42 770/992/42 766/993/42 +f 765/994/48 780/995/48 782/996/48 +f 764/984/43 767/997/43 763/985/43 +f 773/998/47 772/999/47 771/1000/47 +f 776/1001/45 777/1002/45 775/1003/45 +f 774/1004/44 776/1005/44 772/1006/44 +f 773/1007/42 778/1008/42 774/1009/42 +f 767/997/43 780/995/43 763/985/43 +f 772/999/43 775/1010/43 771/1000/43 +f 781/1011/45 780/995/45 779/1012/45 +f 784/1013/47 785/1014/47 783/1015/47 +f 769/987/49 784/1013/49 767/988/49 +f 781/1016/42 786/990/42 782/1017/42 +f 779/1018/44 785/1019/44 781/1020/44 +f 780/995/43 783/1021/43 779/1012/43 +f 770/1022/50 775/1003/50 777/1002/50 +f 764/984/43 775/1010/43 768/1023/43 +f 766/1024/51 771/1000/51 764/1025/51 +f 777/1026/42 766/993/42 770/992/42 +f 787/1027/43 789/1028/43 788/1029/43 +f 793/1030/42 791/1031/42 792/1032/42 +f 787/1027/46 794/1033/46 790/1034/46 +f 789/1028/44 792/1035/44 788/1029/44 +f 796/1036/45 802/1037/45 798/1038/45 +f 797/1039/47 799/1040/47 795/1041/47 +f 798/1038/43 801/1042/43 797/1039/43 +f 795/1041/42 800/1043/42 796/1044/42 +f 804/1045/45 810/1046/45 806/1047/45 +f 805/1048/47 807/1049/47 803/1050/47 +f 806/1047/43 809/1051/43 805/1048/43 +f 803/1050/42 808/1052/42 804/1053/42 +f 811/1054/43 813/1055/43 812/1056/43 +f 817/1057/42 815/1058/42 816/1059/42 +f 811/1054/46 818/1060/46 814/1061/46 +f 813/1055/44 816/1062/44 812/1056/44 +f 821/1063/46 820/1064/46 819/1065/46 +f 824/1066/44 825/1067/44 823/1068/44 +f 821/1069/42 842/1070/42 825/1071/42 +f 821/1069/42 826/1072/42 822/1073/42 +f 821/1074/48 836/1075/48 838/1076/48 +f 820/1064/43 823/1077/43 819/1065/43 +f 829/1078/47 828/1079/47 827/1080/47 +f 832/1081/45 833/1082/45 831/1083/45 +f 830/1084/44 832/1081/44 828/1085/44 +f 829/1086/42 834/1087/42 830/1088/42 +f 823/1077/43 836/1075/43 819/1065/43 +f 828/1079/43 831/1089/43 827/1080/43 +f 837/1090/45 836/1075/45 835/1091/45 +f 840/1092/47 841/1093/47 839/1094/47 +f 825/1067/49 840/1092/49 823/1068/49 +f 837/1095/42 842/1070/42 838/1096/42 +f 835/1097/44 841/1093/44 837/1098/44 +f 836/1075/43 839/1099/43 835/1091/43 +f 826/1100/50 831/1083/50 833/1082/50 +f 820/1064/43 831/1089/43 824/1101/43 +f 822/1102/51 827/1080/51 820/1103/51 +f 833/1104/42 822/1073/42 826/1072/42 +f 843/1105/43 845/1106/43 844/1107/43 +f 849/1108/42 847/1109/42 848/1110/42 +f 843/1105/46 850/1111/46 846/1112/46 +f 845/1106/44 848/1113/44 844/1107/44 +f 852/1114/45 858/1115/45 854/1116/45 +f 853/1117/47 855/1118/47 851/1119/47 +f 854/1116/43 857/1120/43 853/1117/43 +f 851/1119/42 856/1121/42 852/1122/42 +f 860/1123/45 866/1124/45 862/1125/45 +f 861/1126/47 863/1127/47 859/1128/47 +f 862/1125/43 865/1129/43 861/1126/43 +f 859/1128/42 864/1130/42 860/1131/42 +f 868/1132/46 869/1133/46 867/1134/46 +f 872/1135/46 873/1136/46 871/1137/46 +f 875/1138/46 878/1139/46 877/1140/46 +f 879/1141/46 882/1142/46 881/1143/46 +f 884/1144/46 885/1145/46 883/1146/46 +f 888/1147/46 889/1148/46 887/1149/46 +f 891/1150/46 894/1151/46 893/1152/46 +f 895/1153/46 898/1154/46 897/1155/46 +f 901/1156/44 900/1157/44 899/1158/44 +f 905/1159/44 904/1160/44 903/1161/44 +f 907/1162/44 910/1163/44 908/1164/44 +f 911/1165/44 914/1166/44 912/1167/44 +f 917/1168/44 916/1169/44 915/1170/44 +f 921/1171/44 920/1172/44 919/1173/44 +f 923/1174/44 926/1175/44 924/1176/44 +f 927/1177/44 930/1178/44 928/1179/44 +f 932/1180/46 933/1181/46 931/1182/46 +f 935/1183/46 938/1184/46 937/1185/46 +f 941/1186/44 940/1187/44 939/1188/44 +f 943/1189/44 946/1190/44 944/1191/44 +f 948/1192/45 949/1193/45 947/1194/45 +f 951/1195/45 954/1196/45 953/1197/45 +f 956/1198/45 957/1199/45 955/1200/45 +f 959/1201/45 962/1202/45 961/1203/45 +f 964/1204/45 965/1205/45 963/1206/45 +f 967/1207/45 970/1208/45 969/1209/45 +f 972/1210/45 973/1211/45 971/1212/45 +f 975/1213/45 978/1214/45 977/1215/45 +f 980/1216/45 981/1217/45 979/1218/45 +f 983/1219/45 986/1220/45 985/1221/45 +f 989/1222/47 988/1223/47 987/1224/47 +f 991/1225/47 994/1226/47 992/1227/47 +f 997/1228/47 996/1229/47 995/1230/47 +f 999/1231/47 1002/1232/47 1000/1233/47 +f 1005/1234/47 1004/1235/47 1003/1236/47 +f 1007/1237/47 1010/1238/47 1008/1239/47 +f 1013/1240/47 1012/1241/47 1011/1242/47 +f 1015/1243/47 1018/1244/47 1016/1245/47 +f 1021/1246/47 1020/1247/47 1019/1248/47 +f 1023/1249/47 1026/1250/47 1024/1251/47 +f 1029/1252/44 1028/1253/44 1027/1254/44 +f 1033/1255/44 1032/1256/44 1031/1257/44 +f 1035/1258/44 1038/1259/44 1036/1260/44 +f 1039/1261/44 1042/1262/44 1040/1263/44 +f 1045/1264/44 1044/1265/44 1043/1266/44 +f 1049/1267/44 1048/1268/44 1047/1269/44 +f 1051/1270/44 1054/1271/44 1052/1272/44 +f 1055/1273/44 1058/1274/44 1056/1275/44 +f 1060/1276/46 1061/1277/46 1059/1278/46 +f 1064/1279/46 1065/1280/46 1063/1281/46 +f 1067/1282/46 1070/1283/46 1069/1284/46 +f 1071/1285/46 1074/1286/46 1073/1287/46 +f 1076/1288/46 1077/1289/46 1075/1290/46 +f 1080/1291/46 1081/1292/46 1079/1293/46 +f 1083/1294/46 1086/1295/46 1085/1296/46 +f 1087/1297/46 1090/1298/46 1089/1299/46 +f 1093/1300/44 1092/1301/44 1091/1302/44 +f 1095/1303/44 1098/1304/44 1096/1305/44 +f 1100/1306/46 1101/1307/46 1099/1308/46 +f 1103/1309/46 1106/1310/46 1105/1311/46 +f 1109/1312/47 1108/1313/47 1107/1314/47 +f 1111/1315/47 1114/1316/47 1112/1317/47 +f 1117/1318/47 1116/1319/47 1115/1320/47 +f 1119/1321/47 1122/1322/47 1120/1323/47 +f 1125/1324/47 1124/1325/47 1123/1326/47 +f 1127/1327/47 1130/1328/47 1128/1329/47 +f 1133/1330/47 1132/1331/47 1131/1332/47 +f 1135/1333/47 1138/1334/47 1136/1335/47 +f 1141/1336/47 1140/1337/47 1139/1338/47 +f 1143/1339/47 1146/1340/47 1144/1341/47 +f 1148/1342/45 1149/1343/45 1147/1344/45 +f 1151/1345/45 1154/1346/45 1153/1347/45 +f 1156/1348/45 1157/1349/45 1155/1350/45 +f 1159/1351/45 1162/1352/45 1161/1353/45 +f 1164/1354/45 1165/1355/45 1163/1356/45 +f 1167/1357/45 1170/1358/45 1169/1359/45 +f 1172/1360/45 1173/1361/45 1171/1362/45 +f 1175/1363/45 1178/1364/45 1177/1365/45 +f 1180/1366/45 1181/1367/45 1179/1368/45 +f 1183/1369/45 1186/1370/45 1185/1371/45 +f 667/842/42 670/875/42 669/843/42 +f 671/845/42 674/889/42 673/846/42 +f 675/848/42 678/877/42 677/849/42 +f 679/851/42 682/892/42 681/852/42 +f 685/854/43 686/874/43 683/855/43 +f 689/857/43 690/888/43 687/858/43 +f 693/860/43 694/876/43 691/861/43 +f 697/863/43 698/891/43 695/864/43 +f 677/866/44 693/873/44 692/867/44 +f 670/869/45 686/1372/45 685/870/45 +f 678/872/45 694/1373/45 693/873/45 +f 667/842/46 683/855/46 686/874/46 +f 675/848/46 691/861/46 694/876/46 +f 672/878/47 688/881/47 687/858/47 +f 680/879/47 696/883/47 695/864/47 +f 673/880/44 689/885/44 688/881/44 +f 681/882/44 697/887/44 696/883/44 +f 674/884/45 690/1374/45 689/885/45 +f 682/886/45 698/1375/45 697/887/45 +f 671/845/46 687/858/46 690/888/46 +f 668/890/47 684/893/47 683/855/47 +f 679/851/46 695/864/46 698/891/46 +f 676/868/47 692/867/47 691/861/47 +f 669/871/44 685/870/44 684/893/44 +f 699/894/43 702/901/43 701/895/43 +f 705/897/42 706/900/42 703/898/42 +f 699/894/46 703/898/46 706/900/46 +f 701/895/44 705/1376/44 704/902/44 +f 709/903/46 710/1377/46 708/904/46 +f 712/906/44 714/942/44 713/907/44 +f 709/909/42 726/937/42 730/910/42 +f 709/909/42 713/911/42 714/912/42 +f 709/914/48 707/1378/48 724/915/48 +f 708/904/43 712/943/43 711/917/43 +f 717/918/47 718/1379/47 716/919/47 +f 720/921/45 722/1380/45 721/922/45 +f 718/924/44 722/1381/44 720/925/44 +f 717/927/42 721/946/42 722/928/42 +f 711/917/43 728/1382/43 724/915/43 +f 716/919/43 720/1383/43 719/930/43 +f 725/931/45 726/916/45 724/915/45 +f 728/933/47 730/1384/47 729/934/47 +f 713/907/49 730/1384/49 728/933/49 +f 725/936/42 729/1385/42 730/910/42 +f 723/938/44 727/1386/44 729/939/44 +f 724/915/43 728/1382/43 727/941/43 +f 714/942/50 712/906/50 719/923/50 +f 708/904/43 715/920/43 719/930/43 +f 710/944/51 717/918/51 715/920/51 +f 721/946/42 717/927/42 710/913/42 +f 731/947/43 734/954/43 733/948/43 +f 737/950/42 738/953/42 735/951/42 +f 731/947/46 735/951/46 738/953/46 +f 733/948/44 737/1387/44 736/955/44 +f 740/956/45 744/1388/45 746/957/45 +f 741/959/47 745/962/47 743/960/47 +f 742/958/43 746/957/43 745/962/43 +f 739/961/42 743/960/42 744/963/42 +f 748/965/45 752/1389/45 754/966/45 +f 749/968/47 753/971/47 751/969/47 +f 750/967/43 754/966/43 753/971/43 +f 747/970/42 751/969/42 752/972/42 +f 755/974/43 758/981/43 757/975/43 +f 761/977/42 762/980/42 759/978/42 +f 755/974/46 759/978/46 762/980/46 +f 757/975/44 761/1390/44 760/982/44 +f 765/983/46 766/1391/46 764/984/46 +f 768/986/44 770/1022/44 769/987/44 +f 765/989/42 782/1017/42 786/990/42 +f 765/989/42 769/991/42 770/992/42 +f 765/994/48 763/1392/48 780/995/48 +f 764/984/43 768/1023/43 767/997/43 +f 773/998/47 774/1393/47 772/999/47 +f 776/1001/45 778/1394/45 777/1002/45 +f 774/1004/44 778/1395/44 776/1005/44 +f 773/1007/42 777/1026/42 778/1008/42 +f 767/997/43 784/1396/43 780/995/43 +f 772/999/43 776/1397/43 775/1010/43 +f 781/1011/45 782/996/45 780/995/45 +f 784/1013/47 786/1398/47 785/1014/47 +f 769/987/49 786/1398/49 784/1013/49 +f 781/1016/42 785/1399/42 786/990/42 +f 779/1018/44 783/1400/44 785/1019/44 +f 780/995/43 784/1396/43 783/1021/43 +f 770/1022/50 768/986/50 775/1003/50 +f 764/984/43 771/1000/43 775/1010/43 +f 766/1024/51 773/998/51 771/1000/51 +f 777/1026/42 773/1007/42 766/993/42 +f 787/1027/43 790/1034/43 789/1028/43 +f 793/1030/42 794/1033/42 791/1031/42 +f 787/1027/46 791/1031/46 794/1033/46 +f 789/1028/44 793/1401/44 792/1035/44 +f 796/1036/45 800/1402/45 802/1037/45 +f 797/1039/47 801/1042/47 799/1040/47 +f 798/1038/43 802/1037/43 801/1042/43 +f 795/1041/42 799/1040/42 800/1043/42 +f 804/1045/45 808/1403/45 810/1046/45 +f 805/1048/47 809/1051/47 807/1049/47 +f 806/1047/43 810/1046/43 809/1051/43 +f 803/1050/42 807/1049/42 808/1052/42 +f 811/1054/43 814/1061/43 813/1055/43 +f 817/1057/42 818/1060/42 815/1058/42 +f 811/1054/46 815/1058/46 818/1060/46 +f 813/1055/44 817/1404/44 816/1062/44 +f 821/1063/46 822/1405/46 820/1064/46 +f 824/1066/44 826/1100/44 825/1067/44 +f 821/1069/42 838/1096/42 842/1070/42 +f 821/1069/42 825/1071/42 826/1072/42 +f 821/1074/48 819/1406/48 836/1075/48 +f 820/1064/43 824/1101/43 823/1077/43 +f 829/1078/47 830/1407/47 828/1079/47 +f 832/1081/45 834/1408/45 833/1082/45 +f 830/1084/44 834/1408/44 832/1081/44 +f 829/1086/42 833/1104/42 834/1087/42 +f 823/1077/43 840/1409/43 836/1075/43 +f 828/1079/43 832/1410/43 831/1089/43 +f 837/1090/45 838/1076/45 836/1075/45 +f 840/1092/47 842/1411/47 841/1093/47 +f 825/1067/49 842/1411/49 840/1092/49 +f 837/1095/42 841/1412/42 842/1070/42 +f 835/1097/44 839/1094/44 841/1093/44 +f 836/1075/43 840/1409/43 839/1099/43 +f 826/1100/50 824/1066/50 831/1083/50 +f 820/1064/43 827/1080/43 831/1089/43 +f 822/1102/51 829/1078/51 827/1080/51 +f 833/1104/42 829/1086/42 822/1073/42 +f 843/1105/43 846/1112/43 845/1106/43 +f 849/1108/42 850/1111/42 847/1109/42 +f 843/1105/46 847/1109/46 850/1111/46 +f 845/1106/44 849/1413/44 848/1113/44 +f 852/1114/45 856/1414/45 858/1115/45 +f 853/1117/47 857/1120/47 855/1118/47 +f 854/1116/43 858/1115/43 857/1120/43 +f 851/1119/42 855/1118/42 856/1121/42 +f 860/1123/45 864/1415/45 866/1124/45 +f 861/1126/47 865/1129/47 863/1127/47 +f 862/1125/43 866/1124/43 865/1129/43 +f 859/1128/42 863/1127/42 864/1130/42 +f 868/1132/46 870/1416/46 869/1133/46 +f 872/1135/46 874/1417/46 873/1136/46 +f 875/1138/46 876/1418/46 878/1139/46 +f 879/1141/46 880/1419/46 882/1142/46 +f 884/1144/46 886/1420/46 885/1145/46 +f 888/1147/46 890/1421/46 889/1148/46 +f 891/1150/46 892/1422/46 894/1151/46 +f 895/1153/46 896/1423/46 898/1154/46 +f 901/1156/44 902/1424/44 900/1157/44 +f 905/1159/44 906/1425/44 904/1160/44 +f 907/1162/44 909/1426/44 910/1163/44 +f 911/1165/44 913/1427/44 914/1166/44 +f 917/1168/44 918/1428/44 916/1169/44 +f 921/1171/44 922/1429/44 920/1172/44 +f 923/1174/44 925/1430/44 926/1175/44 +f 927/1177/44 929/1431/44 930/1178/44 +f 932/1180/46 934/1432/46 933/1181/46 +f 935/1183/46 936/1433/46 938/1184/46 +f 941/1186/44 942/1434/44 940/1187/44 +f 943/1189/44 945/1435/44 946/1190/44 +f 948/1192/45 950/1436/45 949/1193/45 +f 951/1195/45 952/1437/45 954/1196/45 +f 956/1198/45 958/1438/45 957/1199/45 +f 959/1201/45 960/1439/45 962/1202/45 +f 964/1204/45 966/1440/45 965/1205/45 +f 967/1207/45 968/1441/45 970/1208/45 +f 972/1210/45 974/1442/45 973/1211/45 +f 975/1213/45 976/1443/45 978/1214/45 +f 980/1216/45 982/1444/45 981/1217/45 +f 983/1219/45 984/1445/45 986/1220/45 +f 989/1222/47 990/1446/47 988/1223/47 +f 991/1225/47 993/1447/47 994/1226/47 +f 997/1228/47 998/1448/47 996/1229/47 +f 999/1231/47 1001/1449/47 1002/1232/47 +f 1005/1234/47 1006/1450/47 1004/1235/47 +f 1007/1237/47 1009/1451/47 1010/1238/47 +f 1013/1240/47 1014/1452/47 1012/1241/47 +f 1015/1243/47 1017/1453/47 1018/1244/47 +f 1021/1246/47 1022/1454/47 1020/1247/47 +f 1023/1249/47 1025/1455/47 1026/1250/47 +f 1029/1252/44 1030/1456/44 1028/1253/44 +f 1033/1255/44 1034/1457/44 1032/1256/44 +f 1035/1258/44 1037/1458/44 1038/1259/44 +f 1039/1261/44 1041/1459/44 1042/1262/44 +f 1045/1264/44 1046/1460/44 1044/1265/44 +f 1049/1267/44 1050/1461/44 1048/1268/44 +f 1051/1270/44 1053/1462/44 1054/1271/44 +f 1055/1273/44 1057/1463/44 1058/1274/44 +f 1060/1276/46 1062/1464/46 1061/1277/46 +f 1064/1279/46 1066/1465/46 1065/1280/46 +f 1067/1282/46 1068/1466/46 1070/1283/46 +f 1071/1285/46 1072/1467/46 1074/1286/46 +f 1076/1288/46 1078/1468/46 1077/1289/46 +f 1080/1291/46 1082/1469/46 1081/1292/46 +f 1083/1294/46 1084/1470/46 1086/1295/46 +f 1087/1297/46 1088/1471/46 1090/1298/46 +f 1093/1300/44 1094/1472/44 1092/1301/44 +f 1095/1303/44 1097/1473/44 1098/1304/44 +f 1100/1306/46 1102/1474/46 1101/1307/46 +f 1103/1309/46 1104/1475/46 1106/1310/46 +f 1109/1312/47 1110/1476/47 1108/1313/47 +f 1111/1315/47 1113/1477/47 1114/1316/47 +f 1117/1318/47 1118/1478/47 1116/1319/47 +f 1119/1321/47 1121/1479/47 1122/1322/47 +f 1125/1324/47 1126/1480/47 1124/1325/47 +f 1127/1327/47 1129/1481/47 1130/1328/47 +f 1133/1330/47 1134/1482/47 1132/1331/47 +f 1135/1333/47 1137/1483/47 1138/1334/47 +f 1141/1336/47 1142/1484/47 1140/1337/47 +f 1143/1339/47 1145/1485/47 1146/1340/47 +f 1148/1342/45 1150/1486/45 1149/1343/45 +f 1151/1345/45 1152/1487/45 1154/1346/45 +f 1156/1348/45 1158/1488/45 1157/1349/45 +f 1159/1351/45 1160/1489/45 1162/1352/45 +f 1164/1354/45 1166/1490/45 1165/1355/45 +f 1167/1357/45 1168/1491/45 1170/1358/45 +f 1172/1360/45 1174/1492/45 1173/1361/45 +f 1175/1363/45 1176/1493/45 1178/1364/45 +f 1180/1366/45 1182/1494/45 1181/1367/45 +f 1183/1369/45 1184/1495/45 1186/1370/45 +o Atlas_Pad +v -1.500000 2.000000 1.500000 +v 1.500000 2.000000 1.500000 +v -1.500000 2.000000 -1.500000 +v 1.500000 2.000000 -1.500000 +v -3.500000 2.000000 3.500000 +v 3.500000 2.000000 3.500000 +v -3.500000 2.000000 -3.500000 +v 3.500000 2.000000 -3.500000 +v -3.500000 1.750000 -3.500000 +v -3.500000 1.750000 3.500000 +v 3.500000 1.750000 3.500000 +v 3.500000 1.750000 -3.500000 +v -3.250000 1.750000 3.250000 +v 3.250000 1.750000 3.250000 +v -3.250000 1.750000 -3.250000 +v 3.250000 1.750000 -3.250000 +v -3.250000 1.000000 -3.250000 +v -3.250000 1.000000 3.250000 +v 3.250000 1.000000 3.250000 +v 3.250000 1.000000 -3.250000 +v -0.500000 1.000000 0.500000 +v 0.500000 1.000000 0.500000 +v -0.500000 1.000000 -0.500000 +v 0.500000 1.000000 -0.500000 +v -1.500000 2.000000 1.500000 +v 1.500000 2.000000 1.500000 +v -1.500000 2.000000 -1.500000 +v 1.500000 2.000000 -1.500000 +v -2.000000 2.000000 -3.500000 +v 2.000000 2.000000 -3.500000 +v -2.000000 1.000000 -4.500000 +v -2.000000 1.000000 -3.500000 +v 2.000000 1.000000 -3.500000 +v 2.000000 1.000000 -4.500000 +v -2.000000 2.000000 -4.000000 +v -2.000000 1.500000 -4.500000 +v 2.000000 1.500000 -4.500000 +v 2.000000 2.000000 -4.000000 +v -1.500000 1.750000 3.500000 +v -3.250000 1.750000 1.500000 +v -1.500000 1.000000 3.250000 +v -1.500000 1.750000 3.250000 +v -1.500000 2.000000 3.500000 +v -1.500000 2.000000 4.500000 +v -1.500000 1.000000 4.500000 +v -4.500000 1.000000 4.500000 +v -4.500000 2.000000 4.500000 +v -3.250000 1.000000 1.500000 +v -3.500000 1.750000 1.500000 +v -3.500000 2.000000 1.500000 +v -4.500000 2.000000 1.500000 +v -4.500000 1.000000 1.500000 +v -3.500000 2.000000 3.500000 +v -4.500000 2.000000 2.000000 +v -4.000000 2.000000 2.000000 +v -4.500000 2.000000 1.500000 +v -4.000000 2.000000 1.500000 +v -4.500000 2.000000 4.500000 +v -4.000000 2.000000 4.500000 +v -4.500000 2.000000 4.000000 +v -4.000000 2.000000 4.000000 +v -2.000000 2.000000 2.000000 +v -1.500000 2.000000 2.000000 +v -2.000000 2.000000 1.500000 +v -1.500000 2.000000 1.500000 +v -2.000000 2.000000 4.500000 +v -1.500000 2.000000 4.500000 +v -2.000000 2.000000 4.000000 +v -1.500000 2.000000 4.000000 +v -4.500000 4.000000 1.500000 +v -4.500000 4.000000 2.000000 +v -4.000000 4.000000 2.000000 +v -4.000000 4.000000 1.500000 +v -4.500000 4.000000 4.000000 +v -4.500000 4.000000 4.500000 +v -4.000000 4.000000 4.500000 +v -4.000000 4.000000 4.000000 +v -2.000000 4.000000 1.500000 +v -2.000000 4.000000 2.000000 +v -1.500000 4.000000 2.000000 +v -1.500000 4.000000 1.500000 +v -2.000000 4.000000 4.000000 +v -2.000000 4.000000 4.500000 +v -1.500000 4.000000 4.500000 +v -1.500000 4.000000 4.000000 +v -4.500000 4.000000 4.500000 +v -1.500000 4.000000 4.500000 +v -4.500000 4.000000 1.500000 +v -1.500000 4.000000 1.500000 +v -4.500000 4.250000 1.500000 +v -4.500000 4.250000 4.500000 +v -1.500000 4.250000 4.500000 +v -1.500000 4.250000 1.500000 +v -4.000000 2.000000 4.250000 +v -2.000000 2.000000 4.250000 +v -4.000000 4.000000 4.250000 +v -2.000000 4.000000 4.250000 +v -2.000000 4.000000 1.750000 +v -4.000000 4.000000 1.750000 +v -2.000000 2.000000 1.750000 +v -4.000000 2.000000 1.750000 +v -1.750000 2.000000 2.000000 +v -1.750000 2.000000 4.000000 +v -1.750000 4.000000 2.000000 +v -1.750000 4.000000 4.000000 +v -4.250000 4.000000 4.000000 +v -4.250000 4.000000 2.000000 +v -4.250000 2.000000 4.000000 +v -4.250000 2.000000 2.000000 +v -4.500000 4.250000 2.000000 +v -4.000000 4.250000 2.000000 +v -4.500000 4.250000 1.500000 +v -4.000000 4.250000 1.500000 +v -4.500000 4.250000 4.500000 +v -4.000000 4.250000 4.500000 +v -4.500000 4.250000 4.000000 +v -4.000000 4.250000 4.000000 +v -2.000000 4.250000 2.000000 +v -1.500000 4.250000 2.000000 +v -2.000000 4.250000 1.500000 +v -1.500000 4.250000 1.500000 +v -2.000000 4.250000 4.500000 +v -1.500000 4.250000 4.500000 +v -2.000000 4.250000 4.000000 +v -1.500000 4.250000 4.000000 +v -4.500000 6.250000 1.500000 +v -4.500000 6.250000 2.000000 +v -4.000000 6.250000 2.000000 +v -4.000000 6.250000 1.500000 +v -4.500000 6.250000 4.000000 +v -4.500000 6.250000 4.500000 +v -4.000000 6.250000 4.500000 +v -4.000000 6.250000 4.000000 +v -2.000000 6.250000 1.500000 +v -2.000000 6.250000 2.000000 +v -1.500000 6.250000 2.000000 +v -1.500000 6.250000 1.500000 +v -2.000000 6.250000 4.000000 +v -2.000000 6.250000 4.500000 +v -1.500000 6.250000 4.500000 +v -1.500000 6.250000 4.000000 +v -4.500000 6.250000 4.500000 +v -1.500000 6.250000 4.500000 +v -4.500000 6.250000 1.500000 +v -1.500000 6.250000 1.500000 +v -4.500000 6.500000 1.500000 +v -4.500000 6.500000 4.500000 +v -1.500000 6.500000 4.500000 +v -1.500000 6.500000 1.500000 +v -4.000000 4.250000 4.250000 +v -2.000000 4.250000 4.250000 +v -4.000000 6.250000 4.250000 +v -2.000000 6.250000 4.250000 +v -2.000000 6.250000 1.750000 +v -4.000000 6.250000 1.750000 +v -2.000000 4.250000 1.750000 +v -4.000000 4.250000 1.750000 +v -1.750000 4.250000 2.000000 +v -1.750000 4.250000 4.000000 +v -1.750000 6.250000 2.000000 +v -1.750000 6.250000 4.000000 +v -4.250000 6.250000 4.000000 +v -4.250000 6.250000 2.000000 +v -4.250000 4.250000 4.000000 +v -4.250000 4.250000 2.000000 +v -4.500000 6.500000 2.000000 +v -4.000000 6.500000 2.000000 +v -4.500000 6.500000 1.500000 +v -4.000000 6.500000 1.500000 +v -4.500000 6.500000 4.500000 +v -4.000000 6.500000 4.500000 +v -4.500000 6.500000 4.000000 +v -4.000000 6.500000 4.000000 +v -2.000000 6.500000 2.000000 +v -1.500000 6.500000 2.000000 +v -2.000000 6.500000 1.500000 +v -1.500000 6.500000 1.500000 +v -2.000000 6.500000 4.500000 +v -1.500000 6.500000 4.500000 +v -2.000000 6.500000 4.000000 +v -1.500000 6.500000 4.000000 +v -4.500000 8.500000 1.500000 +v -4.500000 8.500000 2.000000 +v -4.000000 8.500000 2.000000 +v -4.000000 8.500000 1.500000 +v -4.500000 8.500000 4.000000 +v -4.500000 8.500000 4.500000 +v -4.000000 8.500000 4.500000 +v -4.000000 8.500000 4.000000 +v -2.000000 8.500000 1.500000 +v -2.000000 8.500000 2.000000 +v -1.500000 8.500000 2.000000 +v -1.500000 8.500000 1.500000 +v -2.000000 8.500000 4.000000 +v -2.000000 8.500000 4.500000 +v -1.500000 8.500000 4.500000 +v -1.500000 8.500000 4.000000 +v -4.500000 8.500000 4.500000 +v -1.500000 8.500000 4.500000 +v -4.500000 8.500000 1.500000 +v -1.500000 8.500000 1.500000 +v -4.500000 8.750000 1.500000 +v -4.500000 8.750000 4.500000 +v -1.500000 8.750000 4.500000 +v -1.500000 8.750000 1.500000 +v -4.000000 6.500000 4.250000 +v -2.000000 6.500000 4.250000 +v -4.000000 8.500000 4.250000 +v -2.000000 8.500000 4.250000 +v -2.000000 8.500000 1.750000 +v -4.000000 8.500000 1.750000 +v -2.000000 6.500000 1.750000 +v -4.000000 6.500000 1.750000 +v -1.750000 6.500000 2.000000 +v -1.750000 6.500000 4.000000 +v -1.750000 8.500000 2.000000 +v -1.750000 8.500000 4.000000 +v -4.250000 8.500000 4.000000 +v -4.250000 8.500000 2.000000 +v -4.250000 6.500000 4.000000 +v -4.250000 6.500000 2.000000 +v -4.500000 8.750000 2.000000 +v -4.000000 8.750000 2.000000 +v -4.500000 8.750000 1.500000 +v -4.000000 8.750000 1.500000 +v -4.500000 8.750000 4.500000 +v -4.000000 8.750000 4.500000 +v -4.500000 8.750000 4.000000 +v -4.000000 8.750000 4.000000 +v -2.000000 8.750000 2.000000 +v -1.500000 8.750000 2.000000 +v -2.000000 8.750000 1.500000 +v -1.500000 8.750000 1.500000 +v -2.000000 8.750000 4.500000 +v -1.500000 8.750000 4.500000 +v -2.000000 8.750000 4.000000 +v -1.500000 8.750000 4.000000 +v -4.500000 10.750000 1.500000 +v -4.500000 10.750000 2.000000 +v -4.000000 10.750000 2.000000 +v -4.000000 10.750000 1.500000 +v -4.500000 10.750000 4.000000 +v -4.500000 10.750000 4.500000 +v -4.000000 10.750000 4.500000 +v -4.000000 10.750000 4.000000 +v -2.000000 10.750000 1.500000 +v -2.000000 10.750000 2.000000 +v -1.500000 10.750000 2.000000 +v -1.500000 10.750000 1.500000 +v -2.000000 10.750000 4.000000 +v -2.000000 10.750000 4.500000 +v -1.500000 10.750000 4.500000 +v -1.500000 10.750000 4.000000 +v -4.500000 10.750000 4.500000 +v -1.500000 10.750000 4.500000 +v -4.500000 10.750000 1.500000 +v -1.500000 10.750000 1.500000 +v -4.500000 11.000000 1.500000 +v -4.500000 11.000000 4.500000 +v -1.500000 11.000000 4.500000 +v -1.500000 11.000000 1.500000 +v -4.000000 8.750000 4.250000 +v -2.000000 8.750000 4.250000 +v -4.000000 10.750000 4.250000 +v -2.000000 10.750000 4.250000 +v -2.000000 10.750000 1.750000 +v -4.000000 10.750000 1.750000 +v -2.000000 8.750000 1.750000 +v -4.000000 8.750000 1.750000 +v -1.750000 8.750000 2.000000 +v -1.750000 8.750000 4.000000 +v -1.750000 10.750000 2.000000 +v -1.750000 10.750000 4.000000 +v -4.250000 10.750000 4.000000 +v -4.250000 10.750000 2.000000 +v -4.250000 8.750000 4.000000 +v -4.250000 8.750000 2.000000 +v -3.750000 15.250000 4.625000 +v -4.625000 15.250000 3.750000 +v -3.187500 13.250000 3.750000 +v -3.750000 13.250000 3.187500 +v -3.750000 15.250000 3.187500 +v -3.187500 15.250000 3.750000 +v -3.750000 15.500000 4.625000 +v -4.625000 15.500000 3.750000 +v -4.625000 15.250000 3.750000 +v -3.750000 15.250000 4.625000 +v -2.250000 15.500000 1.375000 +v -2.250000 15.250000 1.375000 +v -1.375000 15.500000 2.250000 +v -1.375000 15.250000 2.250000 +v -3.375000 15.500000 1.750000 +v -2.625000 15.500000 1.750000 +v -1.750000 15.500000 2.625000 +v -1.750000 15.500000 3.375000 +v -2.625000 15.500000 4.250000 +v -3.375000 15.500000 4.250000 +v -4.250000 15.500000 3.375000 +v -4.250000 15.500000 2.625000 +v -4.250000 15.250000 2.625000 +v -4.250000 15.250000 3.375000 +v -1.750000 15.250000 2.625000 +v -1.750000 15.250000 3.375000 +v -2.625000 15.250000 1.750000 +v -3.375000 15.250000 1.750000 +v -2.625000 15.250000 4.250000 +v -3.375000 15.250000 4.250000 +v -3.187500 2.000000 2.437500 +v -2.812500 2.000000 2.437500 +v -3.187500 2.000000 2.062500 +v -2.812500 2.000000 2.062500 +v -3.187500 2.000000 3.937500 +v -2.812500 2.000000 3.937500 +v -3.187500 2.000000 3.562500 +v -2.812500 2.000000 3.562500 +v -3.562500 2.000000 3.187500 +v -3.562500 2.000000 2.812500 +v -3.937500 2.000000 3.187500 +v -3.937500 2.000000 2.812500 +v -2.062500 2.000000 3.187500 +v -2.062500 2.000000 2.812500 +v -2.437500 2.000000 3.187500 +v -2.437500 2.000000 2.812500 +v -3.187500 17.500000 3.562500 +v -2.812500 17.500000 3.562500 +v -2.812500 17.500000 3.937500 +v -3.187500 17.500000 3.937500 +v -3.187500 17.500000 2.062500 +v -2.812500 17.500000 2.062500 +v -2.812500 17.500000 2.437500 +v -3.187500 17.500000 2.437500 +v -3.187500 2.000000 2.250000 +v -2.812500 2.000000 2.250000 +v -3.187500 2.000000 3.750000 +v -2.812500 2.000000 3.750000 +v -3.750000 2.000000 3.187500 +v -3.750000 2.000000 2.812500 +v -2.250000 2.000000 3.187500 +v -2.250000 2.000000 2.812500 +v -3.562500 17.500000 3.187500 +v -3.562500 17.500000 2.812500 +v -3.937500 17.500000 2.812500 +v -3.937500 17.500000 3.187500 +v -2.062500 17.500000 3.187500 +v -2.062500 17.500000 2.812500 +v -2.437500 17.500000 2.812500 +v -2.437500 17.500000 3.187500 +v -3.187500 17.500000 2.250000 +v -2.812500 17.500000 2.250000 +v -3.187500 17.500000 3.750000 +v -2.812500 17.500000 3.750000 +v -3.750000 17.500000 3.187500 +v -3.750000 17.500000 2.812500 +v -2.250000 17.500000 3.187500 +v -2.250000 17.500000 2.812500 +v -3.375000 13.000000 4.250000 +v -2.625000 13.000000 4.250000 +v -3.375000 13.000000 1.750000 +v -2.625000 13.000000 1.750000 +v -1.750000 13.000000 3.375000 +v -1.750000 13.000000 2.625000 +v -4.250000 13.000000 3.375000 +v -4.250000 13.000000 2.625000 +v -4.250000 13.250000 2.625000 +v -4.250000 13.250000 3.375000 +v -3.375000 13.250000 4.250000 +v -2.625000 13.250000 4.250000 +v -1.750000 13.250000 3.375000 +v -1.750000 13.250000 2.625000 +v -2.625000 13.250000 1.750000 +v -3.375000 13.250000 1.750000 +v -4.250000 17.500000 2.625000 +v -4.250000 17.500000 3.375000 +v -3.375000 17.500000 4.250000 +v -2.625000 17.500000 4.250000 +v -1.750000 17.500000 3.375000 +v -1.750000 17.500000 2.625000 +v -2.625000 17.500000 1.750000 +v -3.375000 17.500000 1.750000 +v -4.250000 17.750000 2.625000 +v -4.250000 17.750000 3.375000 +v -3.375000 17.750000 4.250000 +v -2.625000 17.750000 4.250000 +v -1.750000 17.750000 3.375000 +v -1.750000 17.750000 2.625000 +v -2.625000 17.750000 1.750000 +v -3.375000 17.750000 1.750000 +v -1.375000 13.000000 2.250000 +v -1.375000 13.250000 2.250000 +v -2.250000 13.000000 1.375000 +v -2.250000 13.250000 1.375000 +v -3.750000 13.000000 4.625000 +v -4.625000 13.000000 3.750000 +v -4.625000 13.250000 3.750000 +v -3.750000 13.250000 4.625000 +v 1.375000 4.000000 0.250000 +v 1.375000 3.000000 0.250000 +v 1.375000 4.000000 -0.250000 +v 1.375000 3.000000 -0.250000 +v 1.125000 4.000000 -0.250000 +v 1.125000 4.000000 0.250000 +v 1.125000 3.000000 0.250000 +v 1.125000 3.000000 -0.250000 +v 2.500000 2.000000 0.250000 +v 3.500000 2.000000 0.250000 +v 2.500000 2.000000 -0.250000 +v 3.500000 2.000000 -0.250000 +v 2.500000 2.250000 -0.250000 +v 2.500000 2.250000 0.250000 +v 3.500000 2.250000 0.250000 +v 3.500000 2.250000 -0.250000 +v 2.919652 2.029244 0.125000 +v 3.080348 2.220756 0.125000 +v 2.919652 2.029244 -0.125000 +v 3.080348 2.220756 -0.125000 +v 2.125000 2.000000 0.375000 +v 1.875000 2.000000 0.375000 +v 2.125000 2.000000 0.625000 +v 1.875000 2.000000 0.625000 +v 1.196051 3.475517 -0.125000 +v 1.196051 3.475517 0.125000 +v 1.356748 3.667028 0.125000 +v 1.356748 3.667028 -0.125000 +v 1.875000 3.000000 0.125000 +v 2.125000 3.000000 0.125000 +v 2.125000 3.000000 -0.125000 +v 1.875000 3.000000 -0.125000 +v 1.875000 2.000000 -0.375000 +v 2.125000 2.000000 -0.375000 +v 1.875000 2.000000 -0.625000 +v 2.125000 2.000000 -0.625000 +v 1.875000 3.000000 -0.125000 +v 1.875000 3.000000 0.125000 +v 2.125000 3.000000 0.125000 +v 2.125000 3.000000 -0.125000 +v -1.615781 2.783195 1.792558 +v -1.792558 2.783195 1.615781 +v -1.502151 2.591684 1.678928 +v -1.678928 2.591684 1.502151 +v -0.757348 3.475517 0.934124 +v -0.934124 3.475517 0.757348 +v -1.047754 3.667028 0.870978 +v -0.870978 3.667028 1.047755 +v -3.750000 15.250000 4.625000 +v -4.625000 15.250000 3.750000 +v -3.187500 13.250000 3.750000 +v -3.750000 13.250000 3.187500 +v -3.750000 15.250000 3.187500 +v -3.187500 15.250000 3.750000 +v -3.187500 2.000000 2.250000 +v -2.812500 2.000000 2.250000 +v -3.187500 2.000000 3.750000 +v -2.812500 2.000000 3.750000 +v -3.750000 2.000000 3.187500 +v -3.750000 2.000000 2.812500 +v -2.250000 2.000000 3.187500 +v -2.250000 2.000000 2.812500 +v -3.187500 17.500000 2.250000 +v -2.812500 17.500000 2.250000 +v -3.187500 17.500000 3.750000 +v -2.812500 17.500000 3.750000 +v -3.750000 17.500000 3.187500 +v -3.750000 17.500000 2.812500 +v -2.250000 17.500000 3.187500 +v -2.250000 17.500000 2.812500 +v -4.000000 2.000000 4.250000 +v -2.000000 2.000000 4.250000 +v -4.000000 4.000000 4.250000 +v -2.000000 4.000000 4.250000 +v -2.000000 4.000000 1.750000 +v -4.000000 4.000000 1.750000 +v -2.000000 2.000000 1.750000 +v -4.000000 2.000000 1.750000 +v -1.750000 2.000000 2.000000 +v -1.750000 2.000000 4.000000 +v -1.750000 4.000000 2.000000 +v -1.750000 4.000000 4.000000 +v -4.250000 4.000000 4.000000 +v -4.250000 4.000000 2.000000 +v -4.250000 2.000000 4.000000 +v -4.250000 2.000000 2.000000 +v -4.000000 4.250000 4.250000 +v -2.000000 4.250000 4.250000 +v -4.000000 6.250000 4.250000 +v -2.000000 6.250000 4.250000 +v -2.000000 6.250000 1.750000 +v -4.000000 6.250000 1.750000 +v -2.000000 4.250000 1.750000 +v -4.000000 4.250000 1.750000 +v -1.750000 4.250000 2.000000 +v -1.750000 4.250000 4.000000 +v -1.750000 6.250000 2.000000 +v -1.750000 6.250000 4.000000 +v -4.250000 6.250000 4.000000 +v -4.250000 6.250000 2.000000 +v -4.250000 4.250000 4.000000 +v -4.250000 4.250000 2.000000 +v -4.000000 6.500000 4.250000 +v -2.000000 6.500000 4.250000 +v -4.000000 8.500000 4.250000 +v -2.000000 8.500000 4.250000 +v -2.000000 8.500000 1.750000 +v -4.000000 8.500000 1.750000 +v -2.000000 6.500000 1.750000 +v -4.000000 6.500000 1.750000 +v -1.750000 6.500000 2.000000 +v -1.750000 6.500000 4.000000 +v -1.750000 8.500000 2.000000 +v -1.750000 8.500000 4.000000 +v -4.250000 8.500000 4.000000 +v -4.250000 8.500000 2.000000 +v -4.250000 6.500000 4.000000 +v -4.250000 6.500000 2.000000 +v -4.000000 8.750000 4.250000 +v -2.000000 8.750000 4.250000 +v -4.000000 10.750000 4.250000 +v -2.000000 10.750000 4.250000 +v -2.000000 10.750000 1.750000 +v -4.000000 10.750000 1.750000 +v -2.000000 8.750000 1.750000 +v -4.000000 8.750000 1.750000 +v -1.750000 8.750000 2.000000 +v -1.750000 8.750000 4.000000 +v -1.750000 10.750000 2.000000 +v -1.750000 10.750000 4.000000 +v -4.250000 10.750000 4.000000 +v -4.250000 10.750000 2.000000 +v -4.250000 8.750000 4.000000 +v -4.250000 8.750000 2.000000 +v 1.149048 4.000000 -0.795495 +v 1.149048 3.000000 -0.795495 +v 0.795495 4.000000 -1.149048 +v 0.795495 3.000000 -1.149048 +v 0.618718 4.000000 -0.972272 +v 0.972272 4.000000 -0.618718 +v 0.972272 3.000000 -0.618718 +v 0.618718 3.000000 -0.972272 +v 1.944544 2.000000 -1.590990 +v 2.651650 2.000000 -2.298097 +v 1.590990 2.000000 -1.944544 +v 2.298097 2.000000 -2.651650 +v 1.590990 2.250000 -1.944544 +v 1.944544 2.250000 -1.590990 +v 2.651650 2.250000 -2.298097 +v 2.298097 2.250000 -2.651650 +v 2.152894 2.029244 -1.976117 +v 2.266524 2.220756 -2.089747 +v 1.976117 2.029244 -2.152894 +v 2.089747 2.220756 -2.266524 +v 1.767767 2.000000 -1.237437 +v 1.590990 2.000000 -1.060660 +v 1.944544 2.000000 -1.060660 +v 1.767767 2.000000 -0.883883 +v 0.757348 3.475517 -0.934124 +v 0.934124 3.475517 -0.757348 +v 1.047754 3.667028 -0.870978 +v 0.870978 3.667028 -1.047754 +v 1.414214 3.000000 -1.237437 +v 1.590990 3.000000 -1.414214 +v 1.414214 3.000000 -1.590990 +v 1.237437 3.000000 -1.414214 +v 1.060660 2.000000 -1.590990 +v 1.237437 2.000000 -1.767767 +v 0.883883 2.000000 -1.767767 +v 1.060660 2.000000 -1.944544 +v 1.237437 3.000000 -1.414214 +v 1.414214 3.000000 -1.237437 +v 1.590990 3.000000 -1.414214 +v 1.414214 3.000000 -1.590990 +v 0.795495 4.000000 1.149048 +v 0.795495 3.000000 1.149048 +v 1.149048 4.000000 0.795495 +v 1.149048 3.000000 0.795495 +v 0.972272 4.000000 0.618719 +v 0.618718 4.000000 0.972272 +v 0.618718 3.000000 0.972272 +v 0.972272 3.000000 0.618719 +v 1.590990 2.000000 1.944544 +v 2.298097 2.000000 2.651650 +v 1.944543 2.000000 1.590990 +v 2.651650 2.000000 2.298097 +v 1.944543 2.250000 1.590990 +v 1.590990 2.250000 1.944544 +v 2.298097 2.250000 2.651650 +v 2.651650 2.250000 2.298097 +v 1.976117 2.029244 2.152894 +v 2.089747 2.220755 2.266524 +v 2.152894 2.029244 1.976117 +v 2.266524 2.220755 2.089747 +v 1.237437 2.000000 1.767767 +v 1.060660 2.000000 1.590990 +v 1.060660 2.000000 1.944544 +v 0.883883 2.000000 1.767767 +v 0.934124 3.475517 0.757348 +v 0.757348 3.475517 0.934125 +v 0.870978 3.667028 1.047755 +v 1.047754 3.667028 0.870978 +v 1.237437 3.000000 1.414214 +v 1.414213 3.000000 1.590990 +v 1.590990 3.000000 1.414214 +v 1.414214 3.000000 1.237437 +v 1.590990 2.000000 1.060660 +v 1.767767 2.000000 1.237437 +v 1.767767 2.000000 0.883883 +v 1.944544 2.000000 1.060660 +v 1.414214 3.000000 1.237437 +v 1.237437 3.000000 1.414214 +v 1.414213 3.000000 1.590990 +v 1.590990 3.000000 1.414214 +v -1.375000 4.000000 -0.250000 +v -1.375000 3.000000 -0.250000 +v -1.375000 4.000000 0.250000 +v -1.375000 3.000000 0.250000 +v -1.125000 4.000000 0.250000 +v -1.125000 4.000000 -0.250000 +v -1.125000 3.000000 -0.250000 +v -1.125000 3.000000 0.250000 +v -2.500000 2.000000 -0.250000 +v -3.500000 2.000000 -0.250000 +v -2.500000 2.000000 0.250000 +v -3.500000 2.000000 0.250000 +v -2.500000 2.250000 0.250000 +v -2.500000 2.250000 -0.250000 +v -3.500000 2.250000 -0.250000 +v -3.500000 2.250000 0.250000 +v -2.919652 2.029244 -0.125000 +v -3.080348 2.220756 -0.125000 +v -2.919652 2.029244 0.125000 +v -3.080348 2.220756 0.125000 +v -2.125000 2.000000 -0.375000 +v -1.875000 2.000000 -0.375000 +v -2.125000 2.000000 -0.625000 +v -1.875000 2.000000 -0.625000 +v -1.196051 3.475517 0.125000 +v -1.196051 3.475517 -0.125000 +v -1.356748 3.667028 -0.125000 +v -1.356748 3.667028 0.125000 +v -1.875000 3.000000 -0.125000 +v -2.125000 3.000000 -0.125000 +v -2.125000 3.000000 0.125000 +v -1.875000 3.000000 0.125000 +v -1.875000 2.000000 0.375000 +v -2.125000 2.000000 0.375000 +v -1.875000 2.000000 0.625000 +v -2.125000 2.000000 0.625000 +v -1.875000 3.000000 0.125000 +v -1.875000 3.000000 -0.125000 +v -2.125000 3.000000 -0.125000 +v -2.125000 3.000000 0.125000 +v -0.795495 4.000000 -1.149048 +v -0.795495 3.000000 -1.149048 +v -1.149049 4.000000 -0.795495 +v -1.149049 3.000000 -0.795495 +v -0.972272 4.000000 -0.618719 +v -0.618718 4.000000 -0.972272 +v -0.618718 3.000000 -0.972272 +v -0.972272 3.000000 -0.618719 +v -1.590990 2.000000 -1.944544 +v -2.298097 2.000000 -2.651650 +v -1.944544 2.000000 -1.590990 +v -2.651650 2.000000 -2.298097 +v -1.944544 2.250000 -1.590990 +v -1.590990 2.250000 -1.944544 +v -2.298097 2.250000 -2.651650 +v -2.651650 2.250000 -2.298097 +v -1.976117 2.029244 -2.152894 +v -2.089747 2.220755 -2.266523 +v -2.152894 2.029244 -1.976117 +v -2.266524 2.220755 -2.089746 +v -1.237437 2.000000 -1.767767 +v -1.060660 2.000000 -1.590990 +v -1.060660 2.000000 -1.944544 +v -0.883884 2.000000 -1.767767 +v -0.934124 3.475517 -0.757348 +v -0.757348 3.475517 -0.934124 +v -0.870978 3.667028 -1.047755 +v -1.047755 3.667028 -0.870978 +v -1.237437 3.000000 -1.414213 +v -1.414213 3.000000 -1.590990 +v -1.590990 3.000000 -1.414213 +v -1.414214 3.000000 -1.237437 +v -1.590990 2.000000 -1.060660 +v -1.767767 2.000000 -1.237437 +v -1.767767 2.000000 -0.883883 +v -1.944544 2.000000 -1.060660 +v -1.414214 3.000000 -1.237437 +v -1.237437 3.000000 -1.414213 +v -1.414213 3.000000 -1.590990 +v -1.590990 3.000000 -1.414213 +v -1.149048 4.000000 0.795495 +v -1.149048 3.000000 0.795495 +v -0.795495 4.000000 1.149049 +v -0.795495 3.000000 1.149049 +v -0.618718 4.000000 0.972272 +v -0.972272 4.000000 0.618719 +v -0.972272 3.000000 0.618719 +v -0.618718 3.000000 0.972272 +v -1.767767 2.000000 1.237437 +v -1.590990 2.000000 1.060660 +v -1.944543 2.000000 1.060660 +v -1.767767 2.000000 0.883884 +v -1.414213 3.000000 1.237437 +v -1.590990 3.000000 1.414214 +v -1.414213 3.000000 1.590990 +v -1.237437 3.000000 1.414214 +v -1.060660 2.000000 1.590990 +v -1.237437 2.000000 1.767767 +v -0.883883 2.000000 1.767767 +v -1.060660 2.000000 1.944544 +v -1.237437 3.000000 1.414214 +v -1.414213 3.000000 1.237437 +v -1.590990 3.000000 1.414214 +v -1.414213 3.000000 1.590990 +vt 0.269231 0.532258 +vt 0.115385 0.725806 +vt 0.115385 0.532258 +vt 0.102564 0.403226 +vt 0.000000 0.080645 +vt 0.102564 0.209677 +vt 0.000000 0.064516 +vt 0.346154 0.048387 +vt 0.358974 0.064516 +vt 0.358974 0.080645 +vt -0.000000 0.080645 +vt 0.358974 0.064516 +vt 0.358974 0.080645 +vt -0.000000 0.080645 +vt 0.358974 0.064516 +vt 0.358974 0.080645 +vt -0.000000 0.080645 +vt 0.358974 0.064516 +vt 0.358974 0.080645 +vt 0.012821 0.048387 +vt 0.346154 -0.000000 +vt 0.346154 0.048387 +vt -0.000000 0.064516 +vt -0.000000 0.064516 +vt 0.346154 0.048387 +vt -0.000000 0.064516 +vt 0.346154 0.048387 +vt 0.256410 0.403226 +vt -0.000000 0.532258 +vt 0.012821 0.048387 +vt 0.346154 -0.000000 +vt 0.012821 0.048387 +vt 0.346154 0.000000 +vt 0.012821 0.048387 +vt 0.346154 -0.000000 +vt 0.256410 0.209677 +vt 0.358974 0.532258 +vt 0.153846 0.274194 +vt 0.153846 0.338710 +vt 0.205128 0.338710 +vt 0.205128 0.274194 +vt 0.371795 0.596774 +vt 0.397436 0.854839 +vt 0.371795 0.854839 +vt 0.320513 0.596774 +vt 0.346154 0.854839 +vt 0.320513 0.854839 +vt 0.346154 0.596774 +vt 0.320513 0.532258 +vt 0.269231 0.596774 +vt 0.371795 0.887097 +vt 0.371795 0.919355 +vt 0.320513 0.919355 +vt 0.205128 0.806452 +vt 0.205128 0.741935 +vt 0.217949 0.741935 +vt 0.051282 0.806452 +vt 0.205128 0.870968 +vt 0.051282 0.870968 +vt -0.000000 0.612903 +vt 0.000000 0.806452 +vt 0.102564 0.596774 +vt 0.051282 0.612903 +vt 0.051282 0.548387 +vt 0.102564 0.741935 +vt 0.410256 0.500000 +vt 0.564103 0.693548 +vt 0.410256 0.693548 +vt 0.564103 0.483871 +vt 0.410256 0.500000 +vt 0.410256 0.483871 +vt 0.564103 0.500000 +vt 0.410256 0.693548 +vt 0.410256 0.709677 +vt 0.564103 0.693548 +vt 0.564103 0.709677 +vt 0.461538 0.129032 +vt 0.564103 0.258065 +vt 0.461538 0.258065 +vt 0.397436 0.500000 +vt 0.397436 0.693548 +vt 0.576923 0.693548 +vt 0.576923 0.500000 +vt 0.384615 0.129032 +vt 0.358974 0.258065 +vt 0.358974 0.129032 +vt 0.384615 0.129032 +vt 0.358974 0.258065 +vt 0.358974 0.129032 +vt 0.410256 0.129032 +vt 0.384615 0.258065 +vt 0.410256 0.129032 +vt 0.384615 0.258065 +vt 0.435897 0.129032 +vt 0.410256 0.258065 +vt 0.410256 0.129032 +vt 0.384615 0.258065 +vt 0.384615 0.129032 +vt 0.384615 0.129032 +vt 0.358974 0.258065 +vt 0.358974 0.129032 +vt 0.435897 0.129032 +vt 0.410256 0.258065 +vt 0.410256 0.129032 +vt 0.384615 0.258065 +vt 0.461538 0.129032 +vt 0.435897 0.258065 +vt 0.435897 0.129032 +vt 0.410256 0.258065 +vt 0.358974 0.258065 +vt 0.358974 0.129032 +vt 0.435897 0.129032 +vt 0.410256 0.258065 +vt 0.461538 0.129032 +vt 0.435897 0.258065 +vt 0.461538 0.129032 +vt 0.435897 0.258065 +vt 0.461538 0.129032 +vt 0.435897 0.258065 +vt 0.461538 0.258065 +vt 0.564103 0.129032 +vt 0.564103 0.258065 +vt 0.461538 0.258065 +vt 0.564103 0.129032 +vt 0.564103 0.258065 +vt 0.461538 0.129032 +vt 0.564103 0.258065 +vt 0.461538 0.258065 +vt 0.410256 0.274194 +vt 0.564103 0.467742 +vt 0.410256 0.467742 +vt 0.564103 0.258065 +vt 0.410256 0.274194 +vt 0.410256 0.258065 +vt 0.564103 0.274194 +vt 0.410256 0.467742 +vt 0.410256 0.483871 +vt 0.564103 0.467742 +vt 0.564103 0.483871 +vt 0.461538 0.000000 +vt 0.564103 0.129032 +vt 0.461538 0.129032 +vt 0.397436 0.274194 +vt 0.397436 0.467742 +vt 0.576923 0.467742 +vt 0.576923 0.274194 +vt 0.384615 -0.000000 +vt 0.358974 0.129032 +vt 0.358974 -0.000000 +vt 0.384615 -0.000000 +vt 0.358974 0.129032 +vt 0.358974 -0.000000 +vt 0.410256 -0.000000 +vt 0.384615 0.129032 +vt 0.410256 -0.000000 +vt 0.384615 0.129032 +vt 0.435897 0.000000 +vt 0.410256 0.129032 +vt 0.410256 -0.000000 +vt 0.384615 0.129032 +vt 0.384615 -0.000000 +vt 0.384615 -0.000000 +vt 0.358974 0.129032 +vt 0.358974 -0.000000 +vt 0.435897 0.000000 +vt 0.410256 0.129032 +vt 0.410256 -0.000000 +vt 0.384615 0.129032 +vt 0.461538 0.000000 +vt 0.435897 0.129032 +vt 0.435897 0.000000 +vt 0.410256 0.129032 +vt 0.358974 0.129032 +vt 0.358974 -0.000000 +vt 0.435897 0.000000 +vt 0.410256 0.129032 +vt 0.461538 0.000000 +vt 0.435897 0.129032 +vt 0.461538 0.000000 +vt 0.435897 0.129032 +vt 0.461538 0.000000 +vt 0.435897 0.129032 +vt 0.461538 0.129032 +vt 0.564103 0.000000 +vt 0.564103 0.129032 +vt 0.461538 0.129032 +vt 0.564103 0.000000 +vt 0.564103 0.129032 +vt 0.461538 0.000000 +vt 0.564103 0.129032 +vt 0.461538 0.129032 +vt 0.410256 0.500000 +vt 0.564103 0.693548 +vt 0.410256 0.693548 +vt 0.564103 0.483871 +vt 0.410256 0.500000 +vt 0.410256 0.483871 +vt 0.564103 0.500000 +vt 0.410256 0.693548 +vt 0.410256 0.709677 +vt 0.564103 0.693548 +vt 0.564103 0.709677 +vt 0.461538 0.129032 +vt 0.564103 0.258065 +vt 0.461538 0.258065 +vt 0.397436 0.500000 +vt 0.397436 0.693548 +vt 0.576923 0.693548 +vt 0.576923 0.500000 +vt 0.384615 0.129032 +vt 0.358974 0.258065 +vt 0.358974 0.129032 +vt 0.384615 0.129032 +vt 0.358974 0.258065 +vt 0.358974 0.129032 +vt 0.410256 0.129032 +vt 0.384615 0.258065 +vt 0.410256 0.129032 +vt 0.384615 0.258065 +vt 0.435897 0.129032 +vt 0.410256 0.258065 +vt 0.410256 0.129032 +vt 0.384615 0.258065 +vt 0.384615 0.129032 +vt 0.384615 0.129032 +vt 0.358974 0.258065 +vt 0.358974 0.129032 +vt 0.435897 0.129032 +vt 0.410256 0.258065 +vt 0.410256 0.129032 +vt 0.384615 0.258065 +vt 0.461538 0.129032 +vt 0.435897 0.258065 +vt 0.435897 0.129032 +vt 0.410256 0.258065 +vt 0.358974 0.258065 +vt 0.358974 0.129032 +vt 0.435897 0.129032 +vt 0.410256 0.258065 +vt 0.461538 0.129032 +vt 0.435897 0.258065 +vt 0.461538 0.129032 +vt 0.435897 0.258065 +vt 0.461538 0.129032 +vt 0.435897 0.258065 +vt 0.461538 0.258065 +vt 0.564103 0.129032 +vt 0.564103 0.258065 +vt 0.461538 0.258065 +vt 0.564103 0.129032 +vt 0.564103 0.258065 +vt 0.461538 0.129032 +vt 0.564103 0.258065 +vt 0.461538 0.258065 +vt 0.410256 0.274194 +vt 0.564103 0.467742 +vt 0.410256 0.467742 +vt 0.564103 0.258065 +vt 0.410256 0.274194 +vt 0.410256 0.258065 +vt 0.564103 0.274194 +vt 0.410256 0.467742 +vt 0.410256 0.483871 +vt 0.564103 0.467742 +vt 0.564103 0.483871 +vt 0.461538 0.000000 +vt 0.564103 0.129032 +vt 0.461538 0.129032 +vt 0.397436 0.274194 +vt 0.397436 0.467742 +vt 0.576923 0.467742 +vt 0.576923 0.274194 +vt 0.384615 -0.000000 +vt 0.358974 0.129032 +vt 0.358974 -0.000000 +vt 0.384615 -0.000000 +vt 0.358974 0.129032 +vt 0.358974 -0.000000 +vt 0.410256 -0.000000 +vt 0.384615 0.129032 +vt 0.410256 -0.000000 +vt 0.384615 0.129032 +vt 0.435897 0.000000 +vt 0.410256 0.129032 +vt 0.410256 -0.000000 +vt 0.384615 0.129032 +vt 0.384615 -0.000000 +vt 0.384615 -0.000000 +vt 0.358974 0.129032 +vt 0.358974 -0.000000 +vt 0.435897 0.000000 +vt 0.410256 0.129032 +vt 0.410256 -0.000000 +vt 0.384615 0.129032 +vt 0.461538 0.000000 +vt 0.435897 0.129032 +vt 0.435897 0.000000 +vt 0.410256 0.129032 +vt 0.358974 0.129032 +vt 0.358974 -0.000000 +vt 0.435897 0.000000 +vt 0.410256 0.129032 +vt 0.461538 0.000000 +vt 0.435897 0.129032 +vt 0.461538 0.000000 +vt 0.435897 0.129032 +vt 0.461538 0.000000 +vt 0.435897 0.129032 +vt 0.461538 0.129032 +vt 0.564103 0.000000 +vt 0.564103 0.129032 +vt 0.461538 0.129032 +vt 0.564103 0.000000 +vt 0.564103 0.129032 +vt 0.461538 0.000000 +vt 0.564103 0.129032 +vt 0.461538 0.129032 +vt 0.743590 0.612903 +vt 0.692308 0.612903 +vt 0.743590 0.483871 +vt 0.743590 0.612903 +vt 0.743590 0.483871 +vt 0.692308 0.612903 +vt 0.807692 0.387097 +vt 0.833333 0.467742 +vt 0.807692 0.467742 +vt 0.833333 0.467742 +vt 0.846154 0.387097 +vt 0.846154 0.467742 +vt 0.807692 0.387097 +vt 0.807692 0.467742 +vt 0.833333 0.483871 +vt 0.807692 0.483871 +vt 0.833333 0.387097 +vt 0.807692 0.467742 +vt 0.807692 0.387097 +vt 0.807692 0.387097 +vt 0.833333 0.467742 +vt 0.807692 0.467742 +vt 0.846154 0.467742 +vt 0.833333 0.387097 +vt 0.846154 0.387097 +vt 0.833333 0.483871 +vt 0.807692 0.483871 +vt 0.692308 0.072581 +vt 0.705128 0.120968 +vt 0.692308 0.120968 +vt 0.846154 0.120968 +vt 0.833333 0.072581 +vt 0.846154 0.072581 +vt 0.807692 0.370968 +vt 0.833333 0.387097 +vt 0.807692 0.370968 +vt 0.788462 -0.000000 +vt 0.750000 0.016129 +vt 0.750000 -0.000000 +vt 0.750000 0.193548 +vt 0.788462 0.177419 +vt 0.788462 0.193548 +vt 0.833333 0.072581 +vt 0.788462 0.177419 +vt 0.705128 0.120968 +vt 0.788462 0.016129 +vt 0.833333 0.120968 +vt 0.750000 0.177419 +vt 0.833333 0.016129 +vt 0.846154 0.016129 +vt 0.705128 0.177419 +vt 0.692308 0.177419 +vt 0.692308 0.314516 +vt 0.705128 0.370968 +vt 0.692308 0.370968 +vt 0.692308 -0.000000 +vt 0.673077 1.000000 +vt 0.673077 -0.000000 +vt 0.846154 0.266129 +vt 0.833333 0.209677 +vt 0.846154 0.209677 +vt 0.788462 0.209677 +vt 0.833333 0.314516 +vt 0.750000 0.370968 +vt 0.833333 0.266129 +vt 0.788462 0.370968 +vt 0.705128 0.314516 +vt 0.692308 -0.000000 +vt 0.673077 1.000000 +vt 0.673077 -0.000000 +vt 0.653846 -0.000000 +vt 0.634615 1.000000 +vt 0.634615 -0.000000 +vt 0.615385 1.000000 +vt 0.615385 -0.000000 +vt 0.692308 -0.000000 +vt 0.673077 1.000000 +vt 0.673077 -0.000000 +vt 0.653846 -0.000000 +vt 0.634615 1.000000 +vt 0.634615 -0.000000 +vt 0.615385 1.000000 +vt 0.615385 -0.000000 +vt 0.653846 1.000000 +vt 0.653846 -0.000000 +vt 0.673077 -0.000000 +vt 0.653846 1.000000 +vt 0.692308 -0.000000 +vt 0.673077 1.000000 +vt 0.634615 -0.000000 +vt 0.615385 1.000000 +vt 0.615385 -0.000000 +vt 0.634615 -0.000000 +vt 0.615385 1.000000 +vt 0.615385 -0.000000 +vt 0.653846 1.000000 +vt 0.653846 -0.000000 +vt 0.634615 1.000000 +vt 0.634615 1.000000 +vt 0.653846 1.000000 +vt 0.615385 1.000000 +vt 0.576923 -0.000000 +vt 0.615385 -0.000000 +vt 0.615385 1.000000 +vt 0.576923 -0.000000 +vt 0.615385 -0.000000 +vt 0.615385 -0.000000 +vt 0.576923 1.000000 +vt 0.576923 -0.000000 +vt 0.615385 -0.000000 +vt 0.576923 1.000000 +vt 0.576923 -0.000000 +vt 0.750000 0.387097 +vt 0.788462 0.370968 +vt 0.788462 0.387097 +vt 0.788462 0.193548 +vt 0.750000 0.209677 +vt 0.750000 0.193548 +vt 0.730769 0.483871 +vt 0.705128 0.467742 +vt 0.730769 0.467742 +vt 0.730769 0.483871 +vt 0.705128 0.467742 +vt 0.730769 0.467742 +vt 0.846154 0.314516 +vt 0.833333 0.266129 +vt 0.692308 0.266129 +vt 0.705128 0.314516 +vt 0.833333 0.266129 +vt 0.788462 0.370968 +vt 0.705128 0.314516 +vt 0.788462 0.209677 +vt 0.833333 0.314516 +vt 0.750000 0.370968 +vt 0.846154 0.266129 +vt 0.833333 0.209677 +vt 0.846154 0.209677 +vt 0.692308 0.314516 +vt 0.705128 0.370968 +vt 0.692308 0.370968 +vt 0.750000 0.387097 +vt 0.788462 0.370968 +vt 0.788462 0.387097 +vt 0.788462 0.193548 +vt 0.750000 0.209677 +vt 0.750000 0.193548 +vt 0.846154 0.370968 +vt 0.846154 0.314516 +vt 0.692308 0.209677 +vt 0.705128 0.266129 +vt 0.692308 0.266129 +vt 0.833333 0.266129 +vt 0.705128 0.314516 +vt 0.730769 0.387097 +vt 0.705128 0.370968 +vt 0.730769 0.370968 +vt 0.692308 0.387097 +vt 0.692308 0.467742 +vt 0.705128 0.387097 +vt 0.705128 0.467742 +vt 0.730769 0.387097 +vt 0.730769 0.467742 +vt 0.730769 0.387097 +vt 0.705128 0.370968 +vt 0.730769 0.370968 +vt 0.705128 0.387097 +vt 0.692308 0.467742 +vt 0.692308 0.387097 +vt 0.730769 0.467742 +vt 0.705128 0.387097 +vt 0.730769 0.387097 +vt 0.705128 0.629032 +vt 0.730769 0.693548 +vt 0.705128 0.693548 +vt 0.743590 0.693548 +vt 0.769231 0.629032 +vt 0.769231 0.693548 +vt 0.730769 0.629032 +vt 0.692308 0.629032 +vt 0.730769 0.612903 +vt 0.705128 0.709677 +vt 0.756410 0.500000 +vt 0.782051 0.564516 +vt 0.756410 0.564516 +vt 0.782051 0.483871 +vt 0.756410 0.483871 +vt 0.756410 0.580645 +vt 0.782051 0.580645 +vt 0.794872 0.564516 +vt 0.782051 0.500000 +vt 0.794872 0.500000 +vt 0.743590 0.500000 +vt 0.743590 0.564516 +vt 0.833333 0.629032 +vt 0.820513 0.483871 +vt 0.833333 0.483871 +vt 0.807692 0.629032 +vt 0.807692 0.483871 +vt 0.833333 0.629032 +vt 0.846154 0.693548 +vt 0.833333 0.693548 +vt 0.794872 0.483871 +vt 0.820513 0.693548 +vt 0.820513 0.629032 +vt 0.807692 0.629032 +vt 0.794872 0.693548 +vt 0.794872 0.629032 +vt 0.846154 0.629032 +vt 0.846154 0.483871 +vt 0.807692 0.693548 +vt 0.807692 0.629032 +vt 0.820513 0.693548 +vt 0.807692 0.693548 +vt 0.846154 0.629032 +vt 0.833333 0.693548 +vt 0.833333 0.629032 +vt 0.820513 0.629032 +vt 0.794872 0.693548 +vt 0.794872 0.629032 +vt 0.833333 0.540323 +vt 0.846154 0.629032 +vt 0.833333 0.629032 +vt 0.820513 0.540323 +vt 0.820513 0.629032 +vt 0.807692 0.540323 +vt 0.807692 0.629032 +vt 0.794872 0.540323 +vt 0.794872 0.629032 +vt 0.705128 0.629032 +vt 0.730769 0.693548 +vt 0.705128 0.693548 +vt 0.743590 0.612903 +vt 0.743590 0.483871 +vt 0.692308 0.612903 +vt 0.743590 0.612903 +vt 0.692308 0.612903 +vt 0.743590 0.483871 +vt 0.576923 -0.000000 +vt 0.615385 1.000000 +vt 0.615385 -0.000000 +vt 0.576923 -0.000000 +vt 0.615385 1.000000 +vt 0.615385 -0.000000 +vt 0.576923 1.000000 +vt 0.615385 -0.000000 +vt 0.576923 -0.000000 +vt 0.576923 1.000000 +vt 0.615385 -0.000000 +vt 0.576923 -0.000000 +vt 0.564103 0.258065 +vt 0.461538 0.129032 +vt 0.461538 0.258065 +vt 0.564103 0.129032 +vt 0.461538 0.258065 +vt 0.564103 0.258065 +vt 0.564103 0.129032 +vt 0.461538 0.258065 +vt 0.564103 0.258065 +vt 0.564103 0.258065 +vt 0.461538 0.129032 +vt 0.461538 0.258065 +vt 0.564103 0.129032 +vt 0.461538 0.000000 +vt 0.461538 0.129032 +vt 0.564103 0.000000 +vt 0.461538 0.129032 +vt 0.564103 0.129032 +vt 0.564103 0.000000 +vt 0.461538 0.129032 +vt 0.564103 0.129032 +vt 0.564103 0.129032 +vt 0.461538 0.000000 +vt 0.461538 0.129032 +vt 0.564103 0.258065 +vt 0.461538 0.129032 +vt 0.461538 0.258065 +vt 0.564103 0.129032 +vt 0.461538 0.258065 +vt 0.564103 0.258065 +vt 0.564103 0.129032 +vt 0.461538 0.258065 +vt 0.564103 0.258065 +vt 0.564103 0.258065 +vt 0.461538 0.129032 +vt 0.461538 0.258065 +vt 0.564103 0.129032 +vt 0.461538 0.000000 +vt 0.461538 0.129032 +vt 0.564103 0.000000 +vt 0.461538 0.129032 +vt 0.564103 0.129032 +vt 0.564103 0.000000 +vt 0.461538 0.129032 +vt 0.564103 0.129032 +vt 0.564103 0.129032 +vt 0.461538 0.000000 +vt 0.461538 0.129032 +vt 0.743590 0.693548 +vt 0.769231 0.629032 +vt 0.769231 0.693548 +vt 0.730769 0.629032 +vt 0.692308 0.629032 +vt 0.730769 0.612903 +vt 0.705128 0.709677 +vt 0.756410 0.500000 +vt 0.782051 0.564516 +vt 0.756410 0.564516 +vt 0.782051 0.483871 +vt 0.756410 0.483871 +vt 0.756410 0.580645 +vt 0.782051 0.580645 +vt 0.794872 0.564516 +vt 0.782051 0.500000 +vt 0.794872 0.500000 +vt 0.743590 0.500000 +vt 0.743590 0.564516 +vt 0.833333 0.629032 +vt 0.820513 0.483871 +vt 0.833333 0.483871 +vt 0.807692 0.629032 +vt 0.807692 0.483871 +vt 0.833333 0.629032 +vt 0.846154 0.693548 +vt 0.833333 0.693548 +vt 0.794872 0.483871 +vt 0.820513 0.693548 +vt 0.820513 0.629032 +vt 0.807692 0.629032 +vt 0.794872 0.693548 +vt 0.794872 0.629032 +vt 0.846154 0.629032 +vt 0.846154 0.483871 +vt 0.807692 0.693548 +vt 0.807692 0.629032 +vt 0.820513 0.693548 +vt 0.807692 0.693548 +vt 0.846154 0.629032 +vt 0.833333 0.693548 +vt 0.833333 0.629032 +vt 0.820513 0.629032 +vt 0.794872 0.693548 +vt 0.794872 0.629032 +vt 0.705128 0.629032 +vt 0.730769 0.693548 +vt 0.705128 0.693548 +vt 0.743590 0.693548 +vt 0.769231 0.629032 +vt 0.769231 0.693548 +vt 0.730769 0.629032 +vt 0.692308 0.629032 +vt 0.730769 0.612903 +vt 0.730769 0.709677 +vt 0.705128 0.709677 +vt 0.756410 0.500000 +vt 0.782051 0.564516 +vt 0.756410 0.564516 +vt 0.782051 0.483871 +vt 0.756410 0.483871 +vt 0.756410 0.580645 +vt 0.782051 0.580645 +vt 0.794872 0.564516 +vt 0.782051 0.500000 +vt 0.794872 0.500000 +vt 0.743590 0.500000 +vt 0.743590 0.564516 +vt 0.833333 0.629032 +vt 0.820513 0.483871 +vt 0.833333 0.483871 +vt 0.807692 0.629032 +vt 0.807692 0.483871 +vt 0.833333 0.629032 +vt 0.846154 0.693548 +vt 0.833333 0.693548 +vt 0.794872 0.483871 +vt 0.820513 0.693548 +vt 0.820513 0.629032 +vt 0.807692 0.629032 +vt 0.794872 0.693548 +vt 0.794872 0.629032 +vt 0.846154 0.629032 +vt 0.846154 0.483871 +vt 0.807692 0.693548 +vt 0.807692 0.629032 +vt 0.820513 0.693548 +vt 0.807692 0.693548 +vt 0.846154 0.629032 +vt 0.833333 0.693548 +vt 0.833333 0.629032 +vt 0.820513 0.629032 +vt 0.794872 0.693548 +vt 0.794872 0.629032 +vt 0.705128 0.629032 +vt 0.730769 0.693548 +vt 0.705128 0.693548 +vt 0.743590 0.693548 +vt 0.769231 0.629032 +vt 0.769231 0.693548 +vt 0.730769 0.629032 +vt 0.692308 0.629032 +vt 0.730769 0.612903 +vt 0.705128 0.709677 +vt 0.756410 0.500000 +vt 0.782051 0.564516 +vt 0.756410 0.564516 +vt 0.782051 0.483871 +vt 0.756410 0.483871 +vt 0.756410 0.580645 +vt 0.782051 0.580645 +vt 0.794872 0.564516 +vt 0.782051 0.500000 +vt 0.794872 0.500000 +vt 0.743590 0.500000 +vt 0.743590 0.564516 +vt 0.833333 0.629032 +vt 0.820513 0.483871 +vt 0.833333 0.483871 +vt 0.807692 0.629032 +vt 0.807692 0.483871 +vt 0.833333 0.629032 +vt 0.846154 0.693548 +vt 0.833333 0.693548 +vt 0.794872 0.483871 +vt 0.820513 0.693548 +vt 0.820513 0.629032 +vt 0.807692 0.629032 +vt 0.794872 0.693548 +vt 0.794872 0.629032 +vt 0.846154 0.483871 +vt 0.807692 0.693548 +vt 0.807692 0.629032 +vt 0.820513 0.693548 +vt 0.807692 0.693548 +vt 0.846154 0.629032 +vt 0.833333 0.693548 +vt 0.833333 0.629032 +vt 0.820513 0.629032 +vt 0.794872 0.693548 +vt 0.794872 0.629032 +vt 0.705128 0.629032 +vt 0.730769 0.693548 +vt 0.705128 0.693548 +vt 0.743590 0.693548 +vt 0.769231 0.629032 +vt 0.769231 0.693548 +vt 0.730769 0.629032 +vt 0.692308 0.629032 +vt 0.730769 0.612903 +vt 0.730769 0.709677 +vt 0.705128 0.709677 +vt 0.756410 0.500000 +vt 0.782051 0.564516 +vt 0.756410 0.564516 +vt 0.782051 0.483871 +vt 0.756410 0.483871 +vt 0.756410 0.580645 +vt 0.782051 0.580645 +vt 0.794872 0.564516 +vt 0.782051 0.500000 +vt 0.794872 0.500000 +vt 0.743590 0.500000 +vt 0.743590 0.564516 +vt 0.833333 0.629032 +vt 0.820513 0.483871 +vt 0.833333 0.483871 +vt 0.807692 0.629032 +vt 0.807692 0.483871 +vt 0.833333 0.629032 +vt 0.846154 0.693548 +vt 0.833333 0.693548 +vt 0.794872 0.483871 +vt 0.820513 0.693548 +vt 0.820513 0.629032 +vt 0.807692 0.629032 +vt 0.794872 0.693548 +vt 0.794872 0.629032 +vt 0.846154 0.483871 +vt 0.807692 0.693548 +vt 0.807692 0.629032 +vt 0.820513 0.693548 +vt 0.807692 0.693548 +vt 0.846154 0.629032 +vt 0.833333 0.693548 +vt 0.833333 0.629032 +vt 0.820513 0.629032 +vt 0.794872 0.693548 +vt 0.794872 0.629032 +vt 0.705128 0.629032 +vt 0.730769 0.693548 +vt 0.705128 0.693548 +vt 0.743590 0.693548 +vt 0.769231 0.629032 +vt 0.769231 0.693548 +vt 0.730769 0.629032 +vt 0.692308 0.629032 +vt 0.730769 0.612903 +vt 0.705128 0.709677 +vt 0.833333 0.629032 +vt 0.846154 0.693548 +vt 0.833333 0.693548 +vt 0.820513 0.693548 +vt 0.820513 0.629032 +vt 0.807692 0.629032 +vt 0.794872 0.693548 +vt 0.794872 0.629032 +vt 0.807692 0.693548 +vt 0.807692 0.629032 +vt 0.820513 0.693548 +vt 0.807692 0.693548 +vt 0.846154 0.629032 +vt 0.833333 0.693548 +vt 0.833333 0.629032 +vt 0.820513 0.629032 +vt 0.794872 0.693548 +vt 0.794872 0.629032 +vt 0.269231 0.725806 +vt 0.012821 0.000000 +vt 0.012821 0.000000 +vt 0.012821 0.000000 +vt 0.012821 0.000000 +vt 0.397436 0.596774 +vt 0.371795 0.532258 +vt 0.371795 0.564516 +vt 0.269231 0.854839 +vt 0.217949 0.725806 +vt 0.256410 0.725806 +vt 0.256410 0.806452 +vt 0.115385 0.548387 +vt 0.115385 0.596774 +vt 0.102564 0.612903 +vt 0.564103 0.500000 +vt 0.564103 0.129032 +vt 0.461538 0.258065 +vt 0.461538 0.258065 +vt 0.461538 0.258065 +vt 0.461538 0.258065 +vt 0.461538 0.129032 +vt 0.461538 0.129032 +vt 0.564103 0.129032 +vt 0.564103 0.274194 +vt 0.564103 0.000000 +vt 0.461538 0.129032 +vt 0.461538 0.129032 +vt 0.461538 0.129032 +vt 0.461538 0.129032 +vt 0.461538 0.000000 +vt 0.461538 0.000000 +vt 0.564103 0.000000 +vt 0.564103 0.500000 +vt 0.564103 0.129032 +vt 0.461538 0.258065 +vt 0.461538 0.258065 +vt 0.461538 0.258065 +vt 0.461538 0.258065 +vt 0.461538 0.129032 +vt 0.461538 0.129032 +vt 0.564103 0.129032 +vt 0.564103 0.274194 +vt 0.564103 0.000000 +vt 0.461538 0.129032 +vt 0.461538 0.129032 +vt 0.461538 0.129032 +vt 0.461538 0.129032 +vt 0.461538 0.000000 +vt 0.461538 0.000000 +vt 0.564103 0.000000 +vt 0.833333 0.387097 +vt 0.833333 0.467742 +vt 0.705128 0.072581 +vt 0.833333 0.370968 +vt 0.833333 0.370968 +vt 0.705128 0.072581 +vt 0.750000 0.016129 +vt 0.788462 0.016129 +vt 0.833333 0.120968 +vt 0.750000 0.177419 +vt 0.692308 1.000000 +vt 0.705128 0.266129 +vt 0.705128 0.266129 +vt 0.750000 0.209677 +vt 0.788462 0.209677 +vt 0.833333 0.314516 +vt 0.750000 0.370968 +vt 0.692308 1.000000 +vt 0.692308 1.000000 +vt 0.692308 1.000000 +vt 0.576923 1.000000 +vt 0.576923 1.000000 +vt 0.615385 1.000000 +vt 0.615385 1.000000 +vt 0.705128 0.483871 +vt 0.705128 0.483871 +vt 0.705128 0.266129 +vt 0.750000 0.209677 +vt 0.788462 0.209677 +vt 0.833333 0.314516 +vt 0.750000 0.370968 +vt 0.833333 0.370968 +vt 0.705128 0.209677 +vt 0.705128 0.387097 +vt 0.705128 0.467742 +vt 0.743590 0.629032 +vt 0.692308 0.693548 +vt 0.705128 0.612903 +vt 0.730769 0.709677 +vt 0.820513 0.629032 +vt 0.846154 0.629032 +vt 0.794872 0.629032 +vt 0.846154 0.693548 +vt 0.846154 0.540323 +vt 0.576923 1.000000 +vt 0.576923 1.000000 +vt 0.615385 1.000000 +vt 0.615385 1.000000 +vt 0.564103 0.129032 +vt 0.461538 0.129032 +vt 0.461538 0.129032 +vt 0.564103 0.129032 +vt 0.564103 0.000000 +vt 0.461538 0.000000 +vt 0.461538 0.000000 +vt 0.564103 0.000000 +vt 0.564103 0.129032 +vt 0.461538 0.129032 +vt 0.461538 0.129032 +vt 0.564103 0.129032 +vt 0.564103 0.000000 +vt 0.461538 0.000000 +vt 0.461538 0.000000 +vt 0.564103 0.000000 +vt 0.743590 0.629032 +vt 0.692308 0.693548 +vt 0.705128 0.612903 +vt 0.730769 0.709677 +vt 0.820513 0.629032 +vt 0.846154 0.629032 +vt 0.794872 0.629032 +vt 0.846154 0.693548 +vt 0.743590 0.629032 +vt 0.692308 0.693548 +vt 0.705128 0.612903 +vt 0.820513 0.629032 +vt 0.846154 0.629032 +vt 0.794872 0.629032 +vt 0.846154 0.693548 +vt 0.743590 0.629032 +vt 0.692308 0.693548 +vt 0.705128 0.612903 +vt 0.730769 0.709677 +vt 0.820513 0.629032 +vt 0.846154 0.629032 +vt 0.794872 0.629032 +vt 0.846154 0.629032 +vt 0.846154 0.693548 +vt 0.743590 0.629032 +vt 0.692308 0.693548 +vt 0.705128 0.612903 +vt 0.820513 0.629032 +vt 0.846154 0.629032 +vt 0.794872 0.629032 +vt 0.846154 0.629032 +vt 0.846154 0.693548 +vt 0.743590 0.629032 +vt 0.692308 0.693548 +vt 0.705128 0.612903 +vt 0.730769 0.709677 +vt 0.846154 0.629032 +vt 0.846154 0.693548 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.7071 -0.7071 +vn 0.7071 0.7071 0.0000 +vn 0.0000 0.7071 0.7071 +vn -0.7071 0.7071 0.0000 +vn 0.8412 0.0000 0.5408 +vn -0.5408 0.0000 -0.8412 +vn -0.7071 0.0000 0.7071 +vn 0.7071 0.0000 0.7071 +vn 0.7071 0.0000 -0.7071 +vn -0.7071 0.0000 -0.7071 +vn 0.6428 0.7660 0.0000 +vn 0.0000 -0.4472 -0.8944 +vn 0.0000 0.4472 0.8944 +vn -0.6428 -0.7660 0.0000 +vn 0.0000 0.4472 -0.8944 +vn 0.0000 -0.4472 0.8944 +vn 0.4545 -0.7660 -0.4545 +vn -0.4545 0.7660 0.4545 +vn -0.8412 0.0000 -0.5408 +vn 0.5408 0.0000 0.8412 +vn 0.4545 0.7660 -0.4545 +vn -0.6325 -0.4472 -0.6325 +vn 0.6325 0.4472 0.6325 +vn -0.4545 -0.7660 0.4545 +vn -0.6325 0.4472 -0.6325 +vn 0.6325 -0.4472 0.6325 +vn 0.4545 0.7660 0.4545 +vn 0.6325 -0.4472 -0.6325 +vn -0.6325 0.4472 0.6325 +vn -0.4545 -0.7660 -0.4545 +vn 0.6325 0.4472 -0.6325 +vn -0.6325 -0.4472 0.6325 +vn -0.6428 0.7660 0.0000 +vn 0.6428 -0.7660 0.0000 +vn -0.4545 0.7660 -0.4545 +vn 0.4545 -0.7660 0.4545 +s off +f 1214/1496/52 1211/1497/52 1212/1498/52 +f 1187/1499/52 1192/1500/52 1188/1501/52 +f 1197/1502/53 1202/1503/53 1198/1504/53 +f 1192/1500/54 1198/1504/54 1194/1505/54 +f 1193/1506/55 1196/1507/55 1191/1508/55 +f 1194/1509/56 1195/1510/56 1193/1511/56 +f 1191/1512/57 1197/1513/57 1192/1514/57 +f 1202/1515/56 1203/1516/56 1201/1517/56 +f 1198/1518/53 1201/1517/53 1195/1510/53 +f 1195/1519/53 1199/1520/53 1196/1507/53 +f 1196/1521/53 1200/1522/53 1197/1513/53 +f 1189/1523/52 1191/1524/52 1187/1499/52 +f 1199/1525/57 1205/1526/57 1200/1522/57 +f 1200/1527/54 1206/1528/54 1202/1503/54 +f 1201/1529/55 1204/1530/55 1199/1520/55 +f 1190/1531/52 1193/1532/52 1189/1523/52 +f 1188/1501/52 1194/1505/52 1190/1531/52 +f 1208/1533/58 1187/1499/58 1188/1501/58 +f 1207/1534/59 1189/1523/59 1187/1499/59 +f 1209/1535/60 1190/1531/60 1189/1523/60 +f 1210/1536/61 1188/1501/61 1190/1531/61 +f 1223/1537/56 1217/1538/56 1222/1539/56 +f 1216/1540/52 1221/1541/52 1215/1542/52 +f 1224/1543/54 1216/1540/54 1219/1544/54 +f 1215/1542/57 1219/1545/57 1216/1540/57 +f 1222/1539/58 1224/1543/58 1223/1537/58 +f 1222/1546/55 1217/1547/55 1218/1548/55 +f 1237/1549/56 1236/1550/56 1235/1551/56 +f 1233/1552/55 1238/1553/55 1232/1554/55 +f 1231/1555/57 1233/1552/57 1232/1556/57 +f 1225/1557/54 1230/1558/54 1231/1559/54 +f 1239/1560/52 1237/1549/52 1233/1552/52 +f 1274/1561/53 1273/1562/53 1272/1563/53 +f 1273/1564/57 1277/1565/57 1272/1566/57 +f 1278/1567/52 1276/1568/52 1277/1565/52 +f 1274/1569/56 1279/1570/56 1275/1571/56 +f 1280/1572/57 1283/1573/57 1282/1574/57 +f 1272/1575/55 1276/1568/55 1274/1576/55 +f 1275/1577/54 1278/1567/54 1273/1578/54 +f 1249/1579/57 1265/1580/57 1248/1581/57 +f 1243/1582/54 1258/1583/54 1241/1584/54 +f 1251/1585/54 1266/1586/54 1249/1579/54 +f 1242/1587/56 1259/1588/56 1243/1582/56 +f 1250/1589/56 1267/1590/56 1251/1585/56 +f 1244/1591/55 1260/1592/55 1246/1593/55 +f 1252/1594/55 1268/1595/55 1254/1596/55 +f 1245/1597/57 1261/1598/57 1244/1591/57 +f 1253/1599/57 1269/1600/57 1252/1594/57 +f 1247/1601/54 1262/1602/54 1245/1597/54 +f 1255/1603/54 1270/1604/54 1253/1599/54 +f 1246/1593/56 1263/1605/56 1247/1606/56 +f 1240/1607/55 1256/1608/55 1242/1587/55 +f 1254/1609/56 1271/1610/56 1255/1603/56 +f 1248/1611/55 1264/1612/55 1250/1589/55 +f 1241/1613/57 1257/1614/57 1240/1607/57 +f 1284/1615/56 1287/1616/56 1285/1617/56 +f 1291/1618/54 1288/1619/54 1290/1620/54 +f 1295/1621/55 1292/1622/55 1293/1623/55 +f 1330/1624/53 1329/1625/53 1328/1626/53 +f 1329/1627/57 1333/1628/57 1328/1629/57 +f 1334/1630/52 1332/1631/52 1333/1628/52 +f 1330/1632/56 1335/1633/56 1331/1634/56 +f 1336/1635/57 1339/1636/57 1338/1637/57 +f 1328/1638/55 1332/1631/55 1330/1639/55 +f 1331/1640/54 1334/1630/54 1329/1641/54 +f 1305/1642/57 1321/1643/57 1304/1644/57 +f 1299/1645/54 1314/1646/54 1297/1647/54 +f 1307/1648/54 1322/1649/54 1305/1642/54 +f 1298/1650/56 1315/1651/56 1299/1645/56 +f 1306/1652/56 1323/1653/56 1307/1648/56 +f 1300/1654/55 1316/1655/55 1302/1656/55 +f 1308/1657/55 1324/1658/55 1310/1659/55 +f 1301/1660/57 1317/1661/57 1300/1654/57 +f 1309/1662/57 1325/1663/57 1308/1657/57 +f 1303/1664/54 1318/1665/54 1301/1660/54 +f 1311/1666/54 1326/1667/54 1309/1662/54 +f 1302/1656/56 1319/1668/56 1303/1669/56 +f 1296/1670/55 1312/1671/55 1298/1650/55 +f 1310/1672/56 1327/1673/56 1311/1666/56 +f 1304/1674/55 1320/1675/55 1306/1652/55 +f 1297/1676/57 1313/1677/57 1296/1670/57 +f 1340/1678/56 1343/1679/56 1341/1680/56 +f 1347/1681/54 1344/1682/54 1346/1683/54 +f 1351/1684/55 1348/1685/55 1349/1686/55 +f 1386/1687/53 1385/1688/53 1384/1689/53 +f 1385/1690/57 1389/1691/57 1384/1692/57 +f 1390/1693/52 1388/1694/52 1389/1691/52 +f 1386/1695/56 1391/1696/56 1387/1697/56 +f 1392/1698/57 1395/1699/57 1394/1700/57 +f 1384/1701/55 1388/1694/55 1386/1702/55 +f 1387/1703/54 1390/1693/54 1385/1704/54 +f 1361/1705/57 1377/1706/57 1360/1707/57 +f 1355/1708/54 1370/1709/54 1353/1710/54 +f 1363/1711/54 1378/1712/54 1361/1705/54 +f 1354/1713/56 1371/1714/56 1355/1708/56 +f 1362/1715/56 1379/1716/56 1363/1711/56 +f 1356/1717/55 1372/1718/55 1358/1719/55 +f 1364/1720/55 1380/1721/55 1366/1722/55 +f 1357/1723/57 1373/1724/57 1356/1717/57 +f 1365/1725/57 1381/1726/57 1364/1720/57 +f 1359/1727/54 1374/1728/54 1357/1723/54 +f 1367/1729/54 1382/1730/54 1365/1725/54 +f 1358/1719/56 1375/1731/56 1359/1732/56 +f 1352/1733/55 1368/1734/55 1354/1713/55 +f 1366/1735/56 1383/1736/56 1367/1729/56 +f 1360/1737/55 1376/1738/55 1362/1715/55 +f 1353/1739/57 1369/1740/57 1352/1733/57 +f 1396/1741/56 1399/1742/56 1397/1743/56 +f 1403/1744/54 1400/1745/54 1402/1746/54 +f 1407/1747/55 1404/1748/55 1405/1749/55 +f 1442/1750/53 1441/1751/53 1440/1752/53 +f 1441/1753/57 1445/1754/57 1440/1755/57 +f 1446/1756/52 1444/1757/52 1445/1754/52 +f 1442/1758/56 1447/1759/56 1443/1760/56 +f 1448/1761/57 1451/1762/57 1450/1763/57 +f 1440/1764/55 1444/1757/55 1442/1765/55 +f 1443/1766/54 1446/1756/54 1441/1767/54 +f 1417/1768/57 1433/1769/57 1416/1770/57 +f 1411/1771/54 1426/1772/54 1409/1773/54 +f 1419/1774/54 1434/1775/54 1417/1768/54 +f 1410/1776/56 1427/1777/56 1411/1771/56 +f 1418/1778/56 1435/1779/56 1419/1774/56 +f 1412/1780/55 1428/1781/55 1414/1782/55 +f 1420/1783/55 1436/1784/55 1422/1785/55 +f 1413/1786/57 1429/1787/57 1412/1780/57 +f 1421/1788/57 1437/1789/57 1420/1783/57 +f 1415/1790/54 1430/1791/54 1413/1786/54 +f 1423/1792/54 1438/1793/54 1421/1788/54 +f 1414/1782/56 1431/1794/56 1415/1795/56 +f 1408/1796/55 1424/1797/55 1410/1776/55 +f 1422/1798/56 1439/1799/56 1423/1792/56 +f 1416/1800/55 1432/1801/55 1418/1778/55 +f 1409/1802/57 1425/1803/57 1408/1796/57 +f 1452/1804/56 1455/1805/56 1453/1806/56 +f 1459/1807/54 1456/1808/54 1458/1809/54 +f 1463/1810/55 1460/1811/55 1461/1812/55 +f 1469/1813/62 1464/1814/62 1466/1815/62 +f 1468/1816/63 1467/1817/63 1465/1818/63 +f 1493/1819/53 1472/1820/53 1487/1821/53 +f 1470/1822/64 1472/1823/64 1473/1824/64 +f 1484/1825/52 1470/1822/52 1483/1826/52 +f 1483/1826/65 1473/1827/65 1493/1828/65 +f 1475/1829/53 1488/1830/53 1490/1831/53 +f 1480/1832/52 1474/1833/52 1479/1834/52 +f 1475/1835/66 1476/1836/66 1477/1837/66 +f 1479/1834/67 1475/1838/67 1490/1839/67 +f 1487/1840/55 1485/1841/55 1486/1842/55 +f 1488/1843/54 1481/1844/54 1489/1845/54 +f 1487/1846/67 1471/1847/67 1484/1825/67 +f 1488/1848/65 1476/1836/65 1480/1832/65 +f 1492/1849/57 1483/1850/57 1493/1851/57 +f 1491/1852/56 1479/1853/56 1490/1854/56 +f 1488/1855/53 1492/1856/53 1487/1857/53 +f 1482/1858/52 1480/1859/52 1478/1860/52 +f 1489/1845/65 1482/1861/65 1492/1862/65 +f 1486/1842/67 1478/1863/67 1491/1864/67 +f 1549/1865/67 1557/1866/67 1544/1867/67 +f 1505/1868/56 1527/1869/56 1503/1870/56 +f 1546/1871/65 1553/1872/65 1543/1873/65 +f 1553/1874/52 1555/1875/52 1557/1876/52 +f 1547/1877/53 1543/1878/53 1548/1879/53 +f 1500/1880/56 1511/1881/56 1501/1882/56 +f 1506/1883/57 1533/1884/57 1508/1885/57 +f 1508/1885/55 1532/1886/55 1509/1887/55 +f 1509/1888/56 1531/1889/56 1507/1890/56 +f 1495/1891/57 1517/1892/57 1494/1893/57 +f 1494/1893/55 1514/1894/55 1496/1895/55 +f 1503/1870/54 1526/1896/54 1502/1897/54 +f 1497/1898/54 1516/1899/54 1495/1891/54 +f 1496/1900/56 1515/1901/56 1497/1898/56 +f 1498/1902/55 1510/1903/55 1500/1904/55 +f 1504/1905/55 1528/1906/55 1505/1907/55 +f 1501/1882/54 1512/1908/54 1499/1909/54 +f 1499/1909/57 1513/1910/57 1498/1902/57 +f 1502/1897/57 1529/1911/57 1504/1905/57 +f 1507/1890/54 1530/1912/54 1506/1883/54 +f 1539/1913/67 1518/1914/67 1523/1915/67 +f 1540/1916/65 1521/1917/65 1524/1918/65 +f 1520/1919/64 1538/1920/64 1522/1921/64 +f 1519/1922/66 1541/1923/66 1525/1924/66 +f 1544/1925/56 1556/1926/56 1545/1927/56 +f 1543/1928/57 1552/1929/57 1542/1930/57 +f 1547/1931/65 1575/1932/65 1555/1933/65 +f 1548/1934/67 1580/1935/67 1551/1936/67 +f 1547/1937/54 1554/1938/54 1546/1871/54 +f 1548/1939/55 1550/1940/55 1549/1865/55 +f 1563/1941/53 1561/1942/53 1559/1943/53 +f 1569/1944/52 1571/1945/52 1573/1946/52 +f 1562/1947/65 1569/1948/65 1561/1949/65 +f 1558/1950/67 1573/1951/67 1565/1952/67 +f 1565/1953/56 1572/1954/56 1564/1955/56 +f 1561/1956/57 1568/1957/57 1560/1958/57 +f 1564/1959/66 1571/1945/66 1563/1960/66 +f 1560/1961/64 1567/1962/64 1559/1963/64 +f 1563/1960/54 1570/1964/54 1562/1947/54 +f 1559/1963/55 1566/1965/55 1558/1950/55 +f 1556/1966/67 1576/1967/67 1545/1968/67 +f 1576/1969/66 1575/1932/66 1574/1970/66 +f 1555/1933/52 1577/1971/52 1556/1966/52 +f 1576/1972/53 1547/1973/53 1545/1974/53 +f 1552/1975/65 1578/1976/65 1542/1977/65 +f 1551/1936/52 1581/1978/52 1552/1975/52 +f 1581/1978/64 1579/1979/64 1578/1980/64 +f 1542/1981/53 1579/1982/53 1548/1983/53 +f 1583/1984/54 1584/1985/54 1582/1986/54 +f 1586/1987/55 1588/1988/55 1587/1989/55 +f 1585/1990/56 1586/1987/56 1584/1985/56 +f 1582/1986/57 1588/1991/57 1583/1984/57 +f 1583/1984/53 1589/1992/53 1585/1990/53 +f 1584/1985/52 1587/1993/52 1582/1986/52 +f 1596/1994/52 1594/1995/52 1595/1996/52 +f 1593/1997/54 1596/1994/54 1591/1998/54 +f 1590/1999/55 1594/1995/55 1592/2000/55 +f 1592/2001/56 1597/2002/56 1593/2003/56 +f 1591/2004/57 1595/1996/57 1590/2005/57 +f 1606/2006/56 1601/2007/56 1600/2008/56 +f 1601/2007/68 1608/2009/68 1599/2010/68 +f 1603/2011/55 1610/2012/55 1613/2013/55 +f 1608/2009/57 1598/2014/57 1599/2010/57 +f 1603/2011/69 1612/2015/69 1602/2016/69 +f 1604/2017/70 1610/2018/70 1605/2019/70 +f 1607/2020/71 1600/2008/71 1598/2021/71 +f 1602/2016/54 1611/2022/54 1604/2017/54 +f 1615/2023/54 1621/2024/54 1620/2025/54 +f 1614/2026/55 1618/2027/55 1616/2028/55 +f 1616/2028/72 1621/2024/72 1617/2029/72 +f 1615/2023/73 1619/2030/73 1614/2031/73 +f 1624/2032/74 1627/2033/74 1626/2034/74 +f 1622/2035/65 1626/2034/65 1629/2036/65 +f 1623/2037/75 1629/2036/75 1628/2038/75 +f 1625/2039/67 1628/2038/67 1627/2040/67 +f 1717/2041/66 1718/2042/66 1716/2043/66 +f 1635/2044/76 1632/2045/76 1630/2046/76 +f 1634/2047/77 1631/2048/77 1633/2049/77 +f 1636/2050/65 1649/2051/65 1641/2052/65 +f 1639/2053/67 1650/2054/67 1642/2055/67 +f 1648/2056/66 1638/2057/66 1640/2058/66 +f 1651/2059/64 1637/2060/64 1643/2061/64 +f 1655/2062/56 1652/2063/56 1654/2064/56 +f 1659/2065/57 1656/2066/57 1657/2067/57 +f 1660/2068/55 1663/2069/55 1662/2070/55 +f 1664/2071/54 1667/2072/54 1665/2073/54 +f 1671/2074/56 1668/2075/56 1670/2076/56 +f 1675/2077/57 1672/2078/57 1673/2079/57 +f 1676/2080/55 1679/2081/55 1678/2082/55 +f 1680/2083/54 1683/2084/54 1681/2085/54 +f 1687/2086/56 1684/2087/56 1686/2088/56 +f 1691/2089/57 1688/2090/57 1689/2091/57 +f 1692/2092/55 1695/2093/55 1694/2094/55 +f 1696/2095/54 1699/2096/54 1697/2097/54 +f 1703/2098/56 1700/2099/56 1702/2100/56 +f 1707/2101/57 1704/2102/57 1705/2103/57 +f 1708/2104/55 1711/2105/55 1710/2106/55 +f 1712/2107/54 1715/2108/54 1713/2109/54 +f 1720/2110/64 1722/2111/64 1721/2112/64 +f 1719/2113/67 1720/2110/67 1718/2042/67 +f 1716/2043/65 1722/2114/65 1717/2041/65 +f 1717/2041/53 1723/2115/53 1719/2113/53 +f 1718/2042/52 1721/2116/52 1716/2043/52 +f 1730/2117/52 1728/2118/52 1729/2119/52 +f 1727/2120/66 1730/2117/66 1725/2121/66 +f 1724/2122/64 1728/2118/64 1726/2123/64 +f 1726/2124/67 1731/2125/67 1727/2126/67 +f 1725/2127/65 1729/2119/65 1724/2128/65 +f 1740/2129/67 1735/2130/67 1734/2131/67 +f 1735/2130/78 1742/2132/78 1733/2133/78 +f 1737/2134/64 1744/2135/64 1747/2136/64 +f 1742/2132/65 1732/2137/65 1733/2133/65 +f 1737/2134/79 1746/2138/79 1736/2139/79 +f 1738/2140/80 1744/2141/80 1739/2142/80 +f 1741/2143/81 1734/2131/81 1732/2144/81 +f 1736/2139/66 1745/2145/66 1738/2140/66 +f 1749/2146/66 1755/2147/66 1754/2148/66 +f 1748/2149/64 1752/2150/64 1750/2151/64 +f 1750/2151/82 1755/2147/82 1751/2152/82 +f 1749/2146/83 1753/2153/83 1748/2154/83 +f 1757/2155/65 1758/2156/65 1756/2157/65 +f 1760/2158/67 1762/2159/67 1761/2160/67 +f 1759/2161/66 1760/2158/66 1758/2156/66 +f 1756/2157/64 1762/2162/64 1757/2155/64 +f 1757/2155/53 1763/2163/53 1759/2161/53 +f 1756/2157/52 1760/2164/52 1761/2165/52 +f 1770/2166/52 1768/2167/52 1769/2168/52 +f 1767/2169/65 1770/2166/65 1765/2170/65 +f 1764/2171/67 1768/2167/67 1766/2172/67 +f 1766/2173/66 1771/2174/66 1767/2175/66 +f 1765/2176/64 1769/2168/64 1764/2177/64 +f 1780/2178/66 1775/2179/66 1774/2180/66 +f 1775/2179/84 1782/2181/84 1773/2182/84 +f 1777/2183/67 1784/2184/67 1787/2185/67 +f 1782/2181/64 1772/2186/64 1773/2182/64 +f 1777/2183/85 1786/2187/85 1776/2188/85 +f 1778/2189/86 1784/2190/86 1779/2191/86 +f 1781/2192/87 1774/2180/87 1772/2193/87 +f 1776/2188/65 1785/2194/65 1778/2189/65 +f 1789/2195/65 1795/2196/65 1794/2197/65 +f 1788/2198/67 1792/2199/67 1790/2200/67 +f 1791/2201/88 1792/2199/88 1795/2196/88 +f 1789/2195/89 1793/2202/89 1788/2203/89 +f 1797/2204/55 1798/2205/55 1796/2206/55 +f 1800/2207/54 1802/2208/54 1801/2209/54 +f 1799/2210/57 1800/2207/57 1798/2205/57 +f 1796/2206/56 1802/2211/56 1797/2204/56 +f 1797/2204/53 1803/2212/53 1799/2210/53 +f 1798/2205/52 1801/2213/52 1796/2206/52 +f 1810/2214/52 1808/2215/52 1809/2216/52 +f 1807/2217/55 1810/2214/55 1805/2218/55 +f 1804/2219/54 1808/2215/54 1806/2220/54 +f 1806/2221/57 1811/2222/57 1807/2223/57 +f 1805/2224/56 1809/2216/56 1804/2225/56 +f 1820/2226/57 1815/2227/57 1814/2228/57 +f 1815/2227/90 1822/2229/90 1813/2230/90 +f 1817/2231/54 1824/2232/54 1827/2233/54 +f 1822/2229/56 1812/2234/56 1813/2230/56 +f 1817/2231/73 1826/2235/73 1816/2236/73 +f 1818/2237/72 1824/2238/72 1819/2239/72 +f 1812/2240/91 1820/2226/91 1814/2228/91 +f 1816/2236/55 1825/2241/55 1818/2237/55 +f 1829/2242/55 1835/2243/55 1834/2244/55 +f 1828/2245/54 1832/2246/54 1830/2247/54 +f 1830/2247/70 1835/2243/70 1831/2248/70 +f 1829/2242/69 1833/2249/69 1828/2250/69 +f 1837/2251/67 1838/2252/67 1836/2253/67 +f 1840/2254/65 1842/2255/65 1841/2256/65 +f 1839/2257/64 1840/2254/64 1838/2252/64 +f 1836/2253/66 1842/2258/66 1837/2251/66 +f 1837/2251/53 1843/2259/53 1839/2257/53 +f 1836/2253/52 1840/2260/52 1841/2261/52 +f 1850/2262/52 1848/2263/52 1849/2264/52 +f 1847/2265/67 1850/2262/67 1845/2266/67 +f 1844/2267/65 1848/2263/65 1846/2268/65 +f 1846/2269/64 1851/2270/64 1847/2271/64 +f 1845/2272/66 1849/2264/66 1844/2273/66 +f 1860/2274/64 1855/2275/64 1854/2276/64 +f 1855/2275/92 1862/2277/92 1853/2278/92 +f 1857/2279/65 1864/2280/65 1867/2281/65 +f 1862/2277/66 1852/2282/66 1853/2278/66 +f 1857/2279/89 1866/2283/89 1856/2284/89 +f 1858/2285/88 1864/2286/88 1859/2287/88 +f 1852/2288/93 1860/2274/93 1854/2276/93 +f 1856/2284/67 1865/2289/67 1858/2285/67 +f 1869/2290/67 1875/2291/67 1874/2292/67 +f 1868/2293/65 1872/2294/65 1870/2295/65 +f 1871/2296/86 1872/2294/86 1875/2291/86 +f 1869/2290/85 1873/2297/85 1868/2298/85 +f 1877/2299/64 1878/2300/64 1876/2301/64 +f 1880/2302/66 1882/2303/66 1881/2304/66 +f 1879/2305/65 1880/2302/65 1878/2300/65 +f 1876/2301/67 1882/2306/67 1877/2299/67 +f 1877/2299/53 1883/2307/53 1879/2305/53 +f 1878/2300/52 1881/2308/52 1876/2301/52 +f 1885/2309/66 1888/2310/66 1891/2311/66 +f 1885/2309/83 1890/2312/83 1884/2313/83 +f 1886/2314/82 1888/2315/82 1887/2316/82 +f 1884/2313/64 1889/2317/64 1886/2314/64 +f 1893/2318/64 1899/2319/64 1898/2320/64 +f 1892/2321/66 1896/2322/66 1894/2323/66 +f 1894/2323/80 1899/2319/80 1895/2324/80 +f 1893/2318/79 1897/2325/79 1892/2326/79 +f 1214/1496/52 1213/2327/52 1211/1497/52 +f 1187/1499/52 1191/1524/52 1192/1500/52 +f 1197/1502/53 1200/1527/53 1202/1503/53 +f 1192/1500/54 1197/1502/54 1198/1504/54 +f 1193/1506/55 1195/1519/55 1196/1507/55 +f 1194/1509/56 1198/1518/56 1195/1510/56 +f 1191/1512/57 1196/1521/57 1197/1513/57 +f 1202/1515/56 1206/2328/56 1203/1516/56 +f 1198/1518/53 1202/1515/53 1201/1517/53 +f 1195/1519/53 1201/1529/53 1199/1520/53 +f 1196/1521/53 1199/1525/53 1200/1522/53 +f 1189/1523/52 1193/1532/52 1191/1524/52 +f 1199/1525/57 1204/2329/57 1205/1526/57 +f 1200/1527/54 1205/2330/54 1206/1528/54 +f 1201/1529/55 1203/2331/55 1204/1530/55 +f 1190/1531/52 1194/1505/52 1193/1532/52 +f 1188/1501/52 1192/1500/52 1194/1505/52 +f 1208/1533/58 1207/1534/58 1187/1499/58 +f 1207/1534/59 1209/1535/59 1189/1523/59 +f 1209/1535/60 1210/1536/60 1190/1531/60 +f 1210/1536/61 1208/1533/61 1188/1501/61 +f 1223/1537/56 1220/2332/56 1217/1538/56 +f 1216/1540/52 1224/1543/52 1221/1541/52 +f 1220/2333/54 1223/2334/54 1219/1544/54 +f 1223/2334/54 1224/1543/54 1219/1544/54 +f 1215/1542/57 1218/2335/57 1219/1545/57 +f 1222/1539/58 1221/1541/58 1224/1543/58 +f 1218/1548/55 1215/1542/55 1221/1541/55 +f 1221/1541/55 1222/1546/55 1218/1548/55 +f 1235/1551/56 1226/2336/56 1234/2337/56 +f 1234/2337/56 1238/2338/56 1235/1551/56 +f 1238/2338/56 1237/1549/56 1235/1551/56 +f 1233/1552/55 1237/1549/55 1238/1553/55 +f 1231/1555/57 1230/1558/57 1233/1552/57 +f 1231/1559/54 1227/2339/54 1225/1557/54 +f 1227/2339/54 1228/2340/54 1225/1557/54 +f 1225/1557/54 1229/2341/54 1230/1558/54 +f 1230/1558/52 1229/2341/52 1239/1560/52 +f 1239/1560/52 1236/1550/52 1237/1549/52 +f 1233/1552/52 1230/1558/52 1239/1560/52 +f 1274/1561/53 1275/2342/53 1273/1562/53 +f 1273/1564/57 1278/1567/57 1277/1565/57 +f 1278/1567/52 1279/1570/52 1276/1568/52 +f 1274/1569/56 1276/1568/56 1279/1570/56 +f 1280/1572/57 1281/2343/57 1283/1573/57 +f 1272/1575/55 1277/1565/55 1276/1568/55 +f 1275/1577/54 1279/1570/54 1278/1567/54 +f 1249/1579/57 1266/1586/57 1265/1580/57 +f 1243/1582/54 1259/1588/54 1258/1583/54 +f 1251/1585/54 1267/1590/54 1266/1586/54 +f 1242/1587/56 1256/1608/56 1259/1588/56 +f 1250/1589/56 1264/1612/56 1267/1590/56 +f 1244/1591/55 1261/1598/55 1260/1592/55 +f 1252/1594/55 1269/1600/55 1268/1595/55 +f 1245/1597/57 1262/1602/57 1261/1598/57 +f 1253/1599/57 1270/1604/57 1269/1600/57 +f 1247/1601/54 1263/2344/54 1262/1602/54 +f 1255/1603/54 1271/1610/54 1270/1604/54 +f 1246/1593/56 1260/1592/56 1263/1605/56 +f 1240/1607/55 1257/1614/55 1256/1608/55 +f 1254/1609/56 1268/2345/56 1271/1610/56 +f 1248/1611/55 1265/2346/55 1264/1612/55 +f 1241/1613/57 1258/2347/57 1257/1614/57 +f 1284/1615/56 1286/2348/56 1287/1616/56 +f 1291/1618/54 1289/2349/54 1288/1619/54 +f 1295/1621/55 1294/2350/55 1292/1622/55 +f 1330/1624/53 1331/2351/53 1329/1625/53 +f 1329/1627/57 1334/1630/57 1333/1628/57 +f 1334/1630/52 1335/1633/52 1332/1631/52 +f 1330/1632/56 1332/1631/56 1335/1633/56 +f 1336/1635/57 1337/2352/57 1339/1636/57 +f 1328/1638/55 1333/1628/55 1332/1631/55 +f 1331/1640/54 1335/1633/54 1334/1630/54 +f 1305/1642/57 1322/1649/57 1321/1643/57 +f 1299/1645/54 1315/1651/54 1314/1646/54 +f 1307/1648/54 1323/1653/54 1322/1649/54 +f 1298/1650/56 1312/1671/56 1315/1651/56 +f 1306/1652/56 1320/1675/56 1323/1653/56 +f 1300/1654/55 1317/1661/55 1316/1655/55 +f 1308/1657/55 1325/1663/55 1324/1658/55 +f 1301/1660/57 1318/1665/57 1317/1661/57 +f 1309/1662/57 1326/1667/57 1325/1663/57 +f 1303/1664/54 1319/2353/54 1318/1665/54 +f 1311/1666/54 1327/1673/54 1326/1667/54 +f 1302/1656/56 1316/1655/56 1319/1668/56 +f 1296/1670/55 1313/1677/55 1312/1671/55 +f 1310/1672/56 1324/2354/56 1327/1673/56 +f 1304/1674/55 1321/2355/55 1320/1675/55 +f 1297/1676/57 1314/2356/57 1313/1677/57 +f 1340/1678/56 1342/2357/56 1343/1679/56 +f 1347/1681/54 1345/2358/54 1344/1682/54 +f 1351/1684/55 1350/2359/55 1348/1685/55 +f 1386/1687/53 1387/2360/53 1385/1688/53 +f 1385/1690/57 1390/1693/57 1389/1691/57 +f 1390/1693/52 1391/1696/52 1388/1694/52 +f 1386/1695/56 1388/1694/56 1391/1696/56 +f 1392/1698/57 1393/2361/57 1395/1699/57 +f 1384/1701/55 1389/1691/55 1388/1694/55 +f 1387/1703/54 1391/1696/54 1390/1693/54 +f 1361/1705/57 1378/1712/57 1377/1706/57 +f 1355/1708/54 1371/1714/54 1370/1709/54 +f 1363/1711/54 1379/1716/54 1378/1712/54 +f 1354/1713/56 1368/1734/56 1371/1714/56 +f 1362/1715/56 1376/1738/56 1379/1716/56 +f 1356/1717/55 1373/1724/55 1372/1718/55 +f 1364/1720/55 1381/1726/55 1380/1721/55 +f 1357/1723/57 1374/1728/57 1373/1724/57 +f 1365/1725/57 1382/1730/57 1381/1726/57 +f 1359/1727/54 1375/2362/54 1374/1728/54 +f 1367/1729/54 1383/1736/54 1382/1730/54 +f 1358/1719/56 1372/1718/56 1375/1731/56 +f 1352/1733/55 1369/1740/55 1368/1734/55 +f 1366/1735/56 1380/2363/56 1383/1736/56 +f 1360/1737/55 1377/2364/55 1376/1738/55 +f 1353/1739/57 1370/2365/57 1369/1740/57 +f 1396/1741/56 1398/2366/56 1399/1742/56 +f 1403/1744/54 1401/2367/54 1400/1745/54 +f 1407/1747/55 1406/2368/55 1404/1748/55 +f 1442/1750/53 1443/2369/53 1441/1751/53 +f 1441/1753/57 1446/1756/57 1445/1754/57 +f 1446/1756/52 1447/1759/52 1444/1757/52 +f 1442/1758/56 1444/1757/56 1447/1759/56 +f 1448/1761/57 1449/2370/57 1451/1762/57 +f 1440/1764/55 1445/1754/55 1444/1757/55 +f 1443/1766/54 1447/1759/54 1446/1756/54 +f 1417/1768/57 1434/1775/57 1433/1769/57 +f 1411/1771/54 1427/1777/54 1426/1772/54 +f 1419/1774/54 1435/1779/54 1434/1775/54 +f 1410/1776/56 1424/1797/56 1427/1777/56 +f 1418/1778/56 1432/1801/56 1435/1779/56 +f 1412/1780/55 1429/1787/55 1428/1781/55 +f 1420/1783/55 1437/1789/55 1436/1784/55 +f 1413/1786/57 1430/1791/57 1429/1787/57 +f 1421/1788/57 1438/1793/57 1437/1789/57 +f 1415/1790/54 1431/2371/54 1430/1791/54 +f 1423/1792/54 1439/1799/54 1438/1793/54 +f 1414/1782/56 1428/1781/56 1431/1794/56 +f 1408/1796/55 1425/1803/55 1424/1797/55 +f 1422/1798/56 1436/2372/56 1439/1799/56 +f 1416/1800/55 1433/2373/55 1432/1801/55 +f 1409/1802/57 1426/2374/57 1425/1803/57 +f 1452/1804/56 1454/2375/56 1455/1805/56 +f 1459/1807/54 1457/2376/54 1456/1808/54 +f 1463/1810/55 1462/2377/55 1460/1811/55 +f 1493/1819/53 1473/2378/53 1472/1820/53 +f 1470/1822/64 1471/1847/64 1472/1823/64 +f 1484/1825/52 1471/1847/52 1470/1822/52 +f 1483/1826/65 1470/1822/65 1473/1827/65 +f 1475/1829/53 1477/2379/53 1488/1830/53 +f 1480/1832/52 1476/1836/52 1474/1833/52 +f 1475/1835/66 1474/1833/66 1476/1836/66 +f 1479/1834/67 1474/1833/67 1475/1838/67 +f 1487/1840/55 1484/2380/55 1485/1841/55 +f 1488/1843/54 1480/1859/54 1481/1844/54 +f 1487/1846/67 1472/2381/67 1471/1847/67 +f 1488/1848/65 1477/2382/65 1476/1836/65 +f 1492/1849/57 1482/1858/57 1483/1850/57 +f 1491/1852/56 1478/1860/56 1479/1853/56 +f 1487/1857/53 1486/2383/53 1491/2384/53 +f 1491/2384/53 1490/2385/53 1488/1855/53 +f 1488/1855/53 1489/2386/53 1492/1856/53 +f 1492/1856/53 1493/2387/53 1487/1857/53 +f 1487/1857/53 1491/2384/53 1488/1855/53 +f 1478/1860/52 1485/1841/52 1484/2380/52 +f 1484/2380/52 1483/1850/52 1482/1858/52 +f 1482/1858/52 1481/1844/52 1480/1859/52 +f 1480/1859/52 1479/1853/52 1478/1860/52 +f 1478/1860/52 1484/2380/52 1482/1858/52 +f 1489/1845/65 1481/1844/65 1482/1861/65 +f 1486/1842/67 1485/1841/67 1478/1863/67 +f 1549/1865/67 1550/1940/67 1557/1866/67 +f 1505/1868/56 1528/2388/56 1527/1869/56 +f 1546/1871/65 1554/1938/65 1553/1872/65 +f 1557/1876/52 1550/1940/52 1551/2389/52 +f 1551/2389/52 1552/1929/52 1553/1874/52 +f 1553/1874/52 1554/1938/52 1555/1875/52 +f 1555/1875/52 1556/1926/52 1557/1876/52 +f 1557/1876/52 1551/2389/52 1553/1874/52 +f 1548/1879/53 1549/2390/53 1544/2391/53 +f 1544/2391/53 1545/2392/53 1547/1877/53 +f 1547/1877/53 1546/2393/53 1543/1878/53 +f 1543/1878/53 1542/2394/53 1548/1879/53 +f 1548/1879/53 1544/2391/53 1547/1877/53 +f 1500/1880/56 1510/2395/56 1511/1881/56 +f 1506/1883/57 1530/1912/57 1533/1884/57 +f 1508/1885/55 1533/1884/55 1532/1886/55 +f 1509/1888/56 1532/2396/56 1531/1889/56 +f 1495/1891/57 1516/1899/57 1517/1892/57 +f 1494/1893/55 1517/1892/55 1514/1894/55 +f 1503/1870/54 1527/1869/54 1526/1896/54 +f 1497/1898/54 1515/1901/54 1516/1899/54 +f 1496/1900/56 1514/2397/56 1515/1901/56 +f 1498/1902/55 1513/1910/55 1510/1903/55 +f 1504/1905/55 1529/1911/55 1528/1906/55 +f 1501/1882/54 1511/1881/54 1512/1908/54 +f 1499/1909/57 1512/1908/57 1513/1910/57 +f 1502/1897/57 1526/1896/57 1529/1911/57 +f 1507/1890/54 1531/1889/54 1530/1912/54 +f 1539/1913/67 1534/2398/67 1518/1914/67 +f 1540/1916/65 1537/2399/65 1521/1917/65 +f 1520/1919/64 1536/2400/64 1538/1920/64 +f 1519/1922/66 1535/2401/66 1541/1923/66 +f 1544/1925/56 1557/1876/56 1556/1926/56 +f 1543/1928/57 1553/1874/57 1552/1929/57 +f 1547/1931/65 1574/2402/65 1575/1932/65 +f 1548/1934/67 1579/2403/67 1580/1935/67 +f 1547/1937/54 1555/1875/54 1554/1938/54 +f 1548/1939/55 1551/2389/55 1550/1940/55 +f 1559/1943/53 1558/2404/53 1565/2405/53 +f 1565/2405/53 1564/2406/53 1563/1941/53 +f 1563/1941/53 1562/2407/53 1561/1942/53 +f 1561/1942/53 1560/2408/53 1559/1943/53 +f 1559/1943/53 1565/2405/53 1563/1941/53 +f 1573/1946/52 1566/1965/52 1567/1962/52 +f 1567/1962/52 1568/1957/52 1569/1944/52 +f 1569/1944/52 1570/1964/52 1571/1945/52 +f 1571/1945/52 1572/1954/52 1573/1946/52 +f 1573/1946/52 1567/1962/52 1569/1944/52 +f 1562/1947/65 1570/1964/65 1569/1948/65 +f 1558/1950/67 1566/1965/67 1573/1951/67 +f 1565/1953/56 1573/1946/56 1572/1954/56 +f 1561/1956/57 1569/1944/57 1568/1957/57 +f 1564/1959/66 1572/2409/66 1571/1945/66 +f 1560/1961/64 1568/2410/64 1567/1962/64 +f 1563/1960/54 1571/1945/54 1570/1964/54 +f 1559/1963/55 1567/1962/55 1566/1965/55 +f 1556/1966/67 1577/1971/67 1576/1967/67 +f 1576/1969/66 1577/1971/66 1575/1932/66 +f 1555/1933/52 1575/1932/52 1577/1971/52 +f 1576/1972/53 1574/2411/53 1547/1973/53 +f 1552/1975/65 1581/1978/65 1578/1976/65 +f 1551/1936/52 1580/1935/52 1581/1978/52 +f 1581/1978/64 1580/1935/64 1579/1979/64 +f 1542/1981/53 1578/2412/53 1579/1982/53 +f 1583/1984/54 1585/1990/54 1584/1985/54 +f 1586/1987/55 1589/2413/55 1588/1988/55 +f 1585/1990/56 1589/2413/56 1586/1987/56 +f 1582/1986/57 1587/2414/57 1588/1991/57 +f 1583/1984/53 1588/2415/53 1589/1992/53 +f 1584/1985/52 1586/2416/52 1587/1993/52 +f 1596/1994/52 1597/2002/52 1594/1995/52 +f 1593/1997/54 1597/2002/54 1596/1994/54 +f 1590/1999/55 1595/1996/55 1594/1995/55 +f 1592/2001/56 1594/1995/56 1597/2002/56 +f 1591/2004/57 1596/1994/57 1595/1996/57 +f 1606/2006/56 1609/2417/56 1601/2007/56 +f 1601/2007/68 1609/2417/68 1608/2009/68 +f 1603/2011/55 1605/2418/55 1610/2012/55 +f 1608/2009/57 1607/2419/57 1598/2014/57 +f 1603/2011/69 1613/2013/69 1612/2015/69 +f 1604/2017/70 1611/2022/70 1610/2018/70 +f 1607/2020/71 1606/2006/71 1600/2008/71 +f 1602/2016/54 1612/2015/54 1611/2022/54 +f 1615/2023/54 1617/2029/54 1621/2024/54 +f 1614/2026/55 1619/2420/55 1618/2027/55 +f 1616/2028/72 1618/2027/72 1621/2024/72 +f 1615/2023/73 1620/2025/73 1619/2030/73 +f 1624/2032/74 1625/2421/74 1627/2033/74 +f 1622/2035/65 1624/2032/65 1626/2034/65 +f 1623/2037/75 1622/2035/75 1629/2036/75 +f 1625/2039/67 1623/2037/67 1628/2038/67 +f 1717/2041/66 1719/2113/66 1718/2042/66 +f 1636/2050/65 1644/2422/65 1649/2051/65 +f 1639/2053/67 1647/2423/67 1650/2054/67 +f 1648/2056/66 1646/2424/66 1638/2057/66 +f 1651/2059/64 1645/2425/64 1637/2060/64 +f 1655/2062/56 1653/2426/56 1652/2063/56 +f 1659/2065/57 1658/2427/57 1656/2066/57 +f 1660/2068/55 1661/2428/55 1663/2069/55 +f 1664/2071/54 1666/2429/54 1667/2072/54 +f 1671/2074/56 1669/2430/56 1668/2075/56 +f 1675/2077/57 1674/2431/57 1672/2078/57 +f 1676/2080/55 1677/2432/55 1679/2081/55 +f 1680/2083/54 1682/2433/54 1683/2084/54 +f 1687/2086/56 1685/2434/56 1684/2087/56 +f 1691/2089/57 1690/2435/57 1688/2090/57 +f 1692/2092/55 1693/2436/55 1695/2093/55 +f 1696/2095/54 1698/2437/54 1699/2096/54 +f 1703/2098/56 1701/2438/56 1700/2099/56 +f 1707/2101/57 1706/2439/57 1704/2102/57 +f 1708/2104/55 1709/2440/55 1711/2105/55 +f 1712/2107/54 1714/2441/54 1715/2108/54 +f 1720/2110/64 1723/2442/64 1722/2111/64 +f 1719/2113/67 1723/2442/67 1720/2110/67 +f 1716/2043/65 1721/2443/65 1722/2114/65 +f 1717/2041/53 1722/2444/53 1723/2115/53 +f 1718/2042/52 1720/2445/52 1721/2116/52 +f 1730/2117/52 1731/2125/52 1728/2118/52 +f 1727/2120/66 1731/2125/66 1730/2117/66 +f 1724/2122/64 1729/2119/64 1728/2118/64 +f 1726/2124/67 1728/2118/67 1731/2125/67 +f 1725/2127/65 1730/2117/65 1729/2119/65 +f 1740/2129/67 1743/2446/67 1735/2130/67 +f 1735/2130/78 1743/2446/78 1742/2132/78 +f 1737/2134/64 1739/2447/64 1744/2135/64 +f 1742/2132/65 1741/2448/65 1732/2137/65 +f 1737/2134/79 1747/2136/79 1746/2138/79 +f 1738/2140/80 1745/2145/80 1744/2141/80 +f 1741/2143/81 1740/2129/81 1734/2131/81 +f 1736/2139/66 1746/2138/66 1745/2145/66 +f 1749/2146/66 1751/2152/66 1755/2147/66 +f 1748/2149/64 1753/2449/64 1752/2150/64 +f 1750/2151/82 1752/2150/82 1755/2147/82 +f 1749/2146/83 1754/2148/83 1753/2153/83 +f 1757/2155/65 1759/2161/65 1758/2156/65 +f 1760/2158/67 1763/2450/67 1762/2159/67 +f 1759/2161/66 1763/2450/66 1760/2158/66 +f 1756/2157/64 1761/2451/64 1762/2162/64 +f 1757/2155/53 1762/2452/53 1763/2163/53 +f 1756/2157/52 1758/2156/52 1760/2164/52 +f 1770/2166/52 1771/2174/52 1768/2167/52 +f 1767/2169/65 1771/2174/65 1770/2166/65 +f 1764/2171/67 1769/2168/67 1768/2167/67 +f 1766/2173/66 1768/2167/66 1771/2174/66 +f 1765/2176/64 1770/2166/64 1769/2168/64 +f 1780/2178/66 1783/2453/66 1775/2179/66 +f 1775/2179/84 1783/2453/84 1782/2181/84 +f 1777/2183/67 1779/2454/67 1784/2184/67 +f 1782/2181/64 1781/2455/64 1772/2186/64 +f 1777/2183/85 1787/2185/85 1786/2187/85 +f 1778/2189/86 1785/2194/86 1784/2190/86 +f 1781/2192/87 1780/2178/87 1774/2180/87 +f 1776/2188/65 1786/2187/65 1785/2194/65 +f 1789/2195/65 1791/2201/65 1795/2196/65 +f 1788/2198/67 1793/2456/67 1792/2199/67 +f 1791/2201/88 1790/2200/88 1792/2199/88 +f 1789/2195/89 1794/2197/89 1793/2202/89 +f 1797/2204/55 1799/2210/55 1798/2205/55 +f 1800/2207/54 1803/2457/54 1802/2208/54 +f 1799/2210/57 1803/2457/57 1800/2207/57 +f 1796/2206/56 1801/2458/56 1802/2211/56 +f 1797/2204/53 1802/2459/53 1803/2212/53 +f 1798/2205/52 1800/2460/52 1801/2213/52 +f 1810/2214/52 1811/2222/52 1808/2215/52 +f 1807/2217/55 1811/2222/55 1810/2214/55 +f 1804/2219/54 1809/2216/54 1808/2215/54 +f 1806/2221/57 1808/2215/57 1811/2222/57 +f 1805/2224/56 1810/2214/56 1809/2216/56 +f 1820/2226/57 1823/2461/57 1815/2227/57 +f 1815/2227/90 1823/2461/90 1822/2229/90 +f 1817/2231/54 1819/2462/54 1824/2232/54 +f 1822/2229/56 1821/2463/56 1812/2234/56 +f 1817/2231/73 1827/2233/73 1826/2235/73 +f 1818/2237/72 1825/2241/72 1824/2238/72 +f 1812/2240/91 1821/2464/91 1820/2226/91 +f 1816/2236/55 1826/2235/55 1825/2241/55 +f 1829/2242/55 1831/2248/55 1835/2243/55 +f 1828/2245/54 1833/2465/54 1832/2246/54 +f 1830/2247/70 1832/2246/70 1835/2243/70 +f 1829/2242/69 1834/2244/69 1833/2249/69 +f 1837/2251/67 1839/2257/67 1838/2252/67 +f 1840/2254/65 1843/2466/65 1842/2255/65 +f 1839/2257/64 1843/2466/64 1840/2254/64 +f 1836/2253/66 1841/2467/66 1842/2258/66 +f 1837/2251/53 1842/2468/53 1843/2259/53 +f 1836/2253/52 1838/2252/52 1840/2260/52 +f 1850/2262/52 1851/2270/52 1848/2263/52 +f 1847/2265/67 1851/2270/67 1850/2262/67 +f 1844/2267/65 1849/2264/65 1848/2263/65 +f 1846/2269/64 1848/2263/64 1851/2270/64 +f 1845/2272/66 1850/2262/66 1849/2264/66 +f 1860/2274/64 1863/2469/64 1855/2275/64 +f 1855/2275/92 1863/2469/92 1862/2277/92 +f 1857/2279/65 1859/2470/65 1864/2280/65 +f 1862/2277/66 1861/2471/66 1852/2282/66 +f 1857/2279/89 1867/2281/89 1866/2283/89 +f 1858/2285/88 1865/2289/88 1864/2286/88 +f 1852/2288/93 1861/2472/93 1860/2274/93 +f 1856/2284/67 1866/2283/67 1865/2289/67 +f 1869/2290/67 1871/2296/67 1875/2291/67 +f 1868/2293/65 1873/2473/65 1872/2294/65 +f 1871/2296/86 1870/2295/86 1872/2294/86 +f 1869/2290/85 1874/2292/85 1873/2297/85 +f 1877/2299/64 1879/2305/64 1878/2300/64 +f 1880/2302/66 1883/2474/66 1882/2303/66 +f 1879/2305/65 1883/2474/65 1880/2302/65 +f 1876/2301/67 1881/2475/67 1882/2306/67 +f 1877/2299/53 1882/2476/53 1883/2307/53 +f 1878/2300/52 1880/2477/52 1881/2308/52 +f 1885/2309/66 1887/2478/66 1888/2310/66 +f 1885/2309/83 1891/2311/83 1890/2312/83 +f 1886/2314/82 1889/2317/82 1888/2315/82 +f 1884/2313/64 1890/2312/64 1889/2317/64 +f 1893/2318/64 1895/2324/64 1899/2319/64 +f 1892/2321/66 1897/2479/66 1896/2322/66 +f 1894/2323/80 1896/2322/80 1899/2319/80 +f 1893/2318/79 1898/2320/79 1897/2325/79 +o Huge_Rope +v 0.375000 5.500000 2.500000 +v 0.198223 5.573223 2.500000 +v 0.125000 5.750000 2.500000 +v 0.198223 5.926777 2.500000 +v 0.375000 6.000000 2.500000 +v 0.551777 5.926777 2.500000 +v 0.625000 5.750000 2.500000 +v 0.551777 5.573223 2.500000 +v 0.375000 5.500000 1.000000 +v 0.198223 5.573223 1.000000 +v 0.125000 5.750000 1.000000 +v 0.198223 5.926777 1.000000 +v 0.375000 6.000000 1.000000 +v 0.551777 5.926777 1.000000 +v 0.625000 5.750000 1.000000 +v 0.551777 5.573223 1.000000 +v -0.375000 5.500000 2.500000 +v -0.551777 5.573223 2.500000 +v -0.625000 5.750000 2.500000 +v -0.551777 5.926777 2.500000 +v -0.375000 6.000000 2.500000 +v -0.198223 5.926777 2.500000 +v -0.125000 5.750000 2.500000 +v -0.198223 5.573223 2.500000 +v -0.375000 5.500000 1.000000 +v -0.551777 5.573223 1.000000 +v -0.625000 5.750000 1.000000 +v -0.551777 5.926777 1.000000 +v -0.375000 6.000000 1.000000 +v -0.198223 5.926777 1.000000 +v -0.125000 5.750000 1.000000 +v -0.198223 5.573223 1.000000 +v 0.375000 10.000000 2.250000 +v 0.198223 10.073223 2.250000 +v 0.125000 10.250000 2.250000 +v 0.198223 10.426777 2.250000 +v 0.375000 10.500000 2.250000 +v 0.551777 10.426777 2.250000 +v 0.625000 10.250000 2.250000 +v 0.551777 10.073223 2.250000 +v 0.375000 10.000000 0.750000 +v 0.198223 10.073223 0.750000 +v 0.125000 10.250000 0.750000 +v 0.198223 10.426777 0.750000 +v 0.375000 10.500000 0.750000 +v 0.551777 10.426777 0.750000 +v 0.625000 10.250000 0.750000 +v 0.551777 10.073223 0.750000 +v -0.375000 10.000000 2.250000 +v -0.551777 10.073223 2.250000 +v -0.625000 10.250000 2.250000 +v -0.551777 10.426777 2.250000 +v -0.375000 10.500000 2.250000 +v -0.198223 10.426777 2.250000 +v -0.125000 10.250000 2.250000 +v -0.198223 10.073223 2.250000 +v -0.375000 10.000000 0.750000 +v -0.551777 10.073223 0.750000 +v -0.625000 10.250000 0.750000 +v -0.551777 10.426777 0.750000 +v -0.375000 10.500000 0.750000 +v -0.198223 10.426777 0.750000 +v -0.125000 10.250000 0.750000 +v -0.198223 10.073223 0.750000 +vt 0.538961 0.500000 +vt 0.529221 0.625000 +vt 0.529221 0.500000 +vt 0.519481 0.625000 +vt 0.519481 0.500000 +vt 0.587662 0.500000 +vt 0.577922 0.625000 +vt 0.577922 0.500000 +vt 0.597403 0.625000 +vt 0.587662 0.625000 +vt 0.568182 0.500000 +vt 0.558442 0.625000 +vt 0.558442 0.500000 +vt 0.548701 0.500000 +vt 0.538961 0.625000 +vt 0.568182 0.625000 +vt 0.548701 0.625000 +vt 0.616883 0.500000 +vt 0.607143 0.625000 +vt 0.607143 0.500000 +vt 0.597403 0.625000 +vt 0.597403 0.500000 +vt 0.665585 0.500000 +vt 0.655844 0.625000 +vt 0.655844 0.500000 +vt 0.675325 0.625000 +vt 0.665585 0.625000 +vt 0.646104 0.500000 +vt 0.636364 0.625000 +vt 0.636364 0.500000 +vt 0.626623 0.500000 +vt 0.616883 0.625000 +vt 0.646104 0.625000 +vt 0.626623 0.625000 +vt 0.538961 0.500000 +vt 0.529221 0.625000 +vt 0.529221 0.500000 +vt 0.519481 0.625000 +vt 0.519481 0.500000 +vt 0.587662 0.500000 +vt 0.577922 0.625000 +vt 0.577922 0.500000 +vt 0.597403 0.625000 +vt 0.587662 0.625000 +vt 0.568182 0.500000 +vt 0.558442 0.625000 +vt 0.558442 0.500000 +vt 0.548701 0.500000 +vt 0.538961 0.625000 +vt 0.568182 0.625000 +vt 0.548701 0.625000 +vt 0.616883 0.500000 +vt 0.607143 0.625000 +vt 0.607143 0.500000 +vt 0.597403 0.625000 +vt 0.597403 0.500000 +vt 0.665585 0.500000 +vt 0.655844 0.625000 +vt 0.655844 0.500000 +vt 0.675325 0.625000 +vt 0.665585 0.625000 +vt 0.646104 0.500000 +vt 0.636364 0.625000 +vt 0.636364 0.500000 +vt 0.626623 0.500000 +vt 0.616883 0.625000 +vt 0.646104 0.625000 +vt 0.626623 0.625000 +vt 0.597403 0.500000 +vt 0.675325 0.500000 +vt 0.597403 0.500000 +vt 0.675325 0.500000 +vn -1.0000 -0.0000 0.0000 +vn -0.7071 -0.7071 0.0000 +vn -0.0000 -1.0000 0.0000 +vn 0.7071 -0.7071 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.7071 0.7071 0.0000 +vn -0.0000 1.0000 0.0000 +vn -0.7071 0.7071 0.0000 +s 1 +f 1902/2480/94 1909/2481/95 1901/2482/95 +f 1901/2482/95 1908/2483/96 1900/2484/96 +f 1907/2485/97 1914/2486/98 1906/2487/98 +f 1907/2485/97 1908/2488/96 1915/2489/97 +f 1905/2490/99 1912/2491/100 1904/2492/100 +f 1903/2493/101 1910/2494/94 1902/2480/94 +f 1906/2487/98 1913/2495/99 1905/2490/99 +f 1904/2492/100 1911/2496/101 1903/2493/101 +f 1918/2497/94 1925/2498/95 1917/2499/95 +f 1917/2499/95 1924/2500/96 1916/2501/96 +f 1923/2502/97 1930/2503/98 1922/2504/98 +f 1923/2502/97 1924/2505/96 1931/2506/97 +f 1921/2507/99 1928/2508/100 1920/2509/100 +f 1919/2510/101 1926/2511/94 1918/2497/94 +f 1922/2504/98 1929/2512/99 1921/2507/99 +f 1920/2509/100 1927/2513/101 1919/2510/101 +f 1934/2514/94 1941/2515/95 1933/2516/95 +f 1933/2516/95 1940/2517/96 1932/2518/96 +f 1939/2519/97 1946/2520/98 1938/2521/98 +f 1939/2519/97 1940/2522/96 1947/2523/97 +f 1937/2524/99 1944/2525/100 1936/2526/100 +f 1935/2527/101 1942/2528/94 1934/2514/94 +f 1938/2521/98 1945/2529/99 1937/2524/99 +f 1936/2526/100 1943/2530/101 1935/2527/101 +f 1950/2531/94 1957/2532/95 1949/2533/95 +f 1949/2533/95 1956/2534/96 1948/2535/96 +f 1955/2536/97 1962/2537/98 1954/2538/98 +f 1955/2536/97 1956/2539/96 1963/2540/97 +f 1953/2541/99 1960/2542/100 1952/2543/100 +f 1951/2544/101 1958/2545/94 1950/2531/94 +f 1954/2538/98 1961/2546/99 1953/2541/99 +f 1952/2543/100 1959/2547/101 1951/2544/101 +f 1902/2480/94 1910/2494/94 1909/2481/95 +f 1901/2482/95 1909/2481/95 1908/2483/96 +f 1907/2485/97 1915/2489/97 1914/2486/98 +f 1907/2485/97 1900/2548/96 1908/2488/96 +f 1905/2490/99 1913/2495/99 1912/2491/100 +f 1903/2493/101 1911/2496/101 1910/2494/94 +f 1906/2487/98 1914/2486/98 1913/2495/99 +f 1904/2492/100 1912/2491/100 1911/2496/101 +f 1918/2497/94 1926/2511/94 1925/2498/95 +f 1917/2499/95 1925/2498/95 1924/2500/96 +f 1923/2502/97 1931/2506/97 1930/2503/98 +f 1923/2502/97 1916/2549/96 1924/2505/96 +f 1921/2507/99 1929/2512/99 1928/2508/100 +f 1919/2510/101 1927/2513/101 1926/2511/94 +f 1922/2504/98 1930/2503/98 1929/2512/99 +f 1920/2509/100 1928/2508/100 1927/2513/101 +f 1934/2514/94 1942/2528/94 1941/2515/95 +f 1933/2516/95 1941/2515/95 1940/2517/96 +f 1939/2519/97 1947/2523/97 1946/2520/98 +f 1939/2519/97 1932/2550/96 1940/2522/96 +f 1937/2524/99 1945/2529/99 1944/2525/100 +f 1935/2527/101 1943/2530/101 1942/2528/94 +f 1938/2521/98 1946/2520/98 1945/2529/99 +f 1936/2526/100 1944/2525/100 1943/2530/101 +f 1950/2531/94 1958/2545/94 1957/2532/95 +f 1949/2533/95 1957/2532/95 1956/2534/96 +f 1955/2536/97 1963/2540/97 1962/2537/98 +f 1955/2536/97 1948/2551/96 1956/2539/96 +f 1953/2541/99 1961/2546/99 1960/2542/100 +f 1951/2544/101 1959/2547/101 1958/2545/94 +f 1954/2538/98 1962/2537/98 1961/2546/99 +f 1952/2543/100 1960/2542/100 1959/2547/101 +o Huge_Pivot +v 0.562500 1.500000 -2.812500 +v 0.937500 1.500000 -2.812500 +v 0.562500 1.500000 -3.187500 +v 0.937500 1.500000 -3.187500 +v -0.937500 1.500000 -2.812500 +v -0.562500 1.500000 -2.812500 +v -0.937500 1.500000 -3.187500 +v -0.562500 1.500000 -3.187500 +v 0.562500 2.000000 -1.812500 +v 0.937500 2.000000 -1.812500 +v 0.562500 2.000000 -2.187500 +v 0.937500 2.000000 -2.187500 +v -0.937500 2.000000 -1.812500 +v -0.562500 2.000000 -1.812500 +v -0.937500 2.000000 -2.187500 +v -0.562500 2.000000 -2.187500 +v 0.562500 3.500000 -3.187500 +v 0.562500 3.500000 -2.812500 +v 0.937500 3.500000 -2.812500 +v 0.937500 3.500000 -3.187500 +v -0.937500 3.500000 -3.187500 +v -0.937500 3.500000 -2.812500 +v -0.562500 3.500000 -2.812500 +v -0.562500 3.500000 -3.187500 +v 0.562500 3.500000 -2.187500 +v 0.562500 3.500000 -1.812500 +v 0.937500 3.500000 -1.812500 +v 0.937500 3.500000 -2.187500 +v -0.937500 3.500000 -2.187500 +v -0.937500 3.500000 -1.812500 +v -0.562500 3.500000 -1.812500 +v -0.562500 3.500000 -2.187500 +v 0.625000 3.500000 -2.875000 +v 0.875000 3.500000 -2.875000 +v 0.625000 3.500000 -3.125000 +v 0.875000 3.500000 -3.125000 +v 0.625000 4.500000 -3.125000 +v 0.625000 4.500000 -2.875000 +v 0.875000 4.500000 -2.875000 +v 0.875000 4.500000 -3.125000 +v 0.625000 3.500000 -1.875000 +v 0.875000 3.500000 -1.875000 +v 0.625000 3.500000 -2.125000 +v 0.875000 3.500000 -2.125000 +v 0.625000 4.500000 -2.125000 +v 0.625000 4.500000 -1.875000 +v 0.875000 4.500000 -1.875000 +v 0.875000 4.500000 -2.125000 +v -0.875000 3.500000 -2.875000 +v -0.625000 3.500000 -2.875000 +v -0.875000 3.500000 -3.125000 +v -0.625000 3.500000 -3.125000 +v -0.875000 4.500000 -3.125000 +v -0.875000 4.500000 -2.875000 +v -0.625000 4.500000 -2.875000 +v -0.625000 4.500000 -3.125000 +v -0.875000 3.500000 -1.875000 +v -0.625000 3.500000 -1.875000 +v -0.875000 3.500000 -2.125000 +v -0.625000 3.500000 -2.125000 +v -0.875000 4.500000 -2.125000 +v -0.875000 4.500000 -1.875000 +v -0.625000 4.500000 -1.875000 +v -0.625000 4.500000 -2.125000 +v 0.750000 2.000000 -2.187500 +v 0.750000 3.500000 -2.187500 +v 0.750000 2.000000 -2.812500 +v 0.750000 3.500000 -2.812500 +v -0.750000 2.000000 -2.187500 +v -0.750000 3.500000 -2.187500 +v -0.750000 2.000000 -2.812500 +v -0.750000 3.500000 -2.812500 +v 0.562500 2.000000 -2.000000 +v -0.562500 2.000000 -2.000000 +v 0.562500 3.500000 -2.000000 +v -0.562500 3.500000 -2.000000 +v 0.562500 2.000000 -3.000000 +v -0.562500 2.000000 -3.000000 +v 0.562500 3.500000 -3.000000 +v -0.562500 3.500000 -3.000000 +v 0.750000 2.000000 -2.187500 +v 0.750000 3.500000 -2.187500 +v 0.750000 2.000000 -2.812500 +v 0.750000 3.500000 -2.812500 +v -0.750000 2.000000 -2.187500 +v -0.750000 3.500000 -2.187500 +v -0.750000 2.000000 -2.812500 +v -0.750000 3.500000 -2.812500 +v 0.562500 2.000000 -2.000000 +v -0.562500 2.000000 -2.000000 +v 0.562500 3.500000 -2.000000 +v -0.562500 3.500000 -2.000000 +v 0.562500 2.000000 -3.000000 +v -0.562500 2.000000 -3.000000 +v 0.562500 3.500000 -3.000000 +v -0.562500 3.500000 -3.000000 +vt 0.168831 0.541667 +vt 0.155844 0.625000 +vt 0.155844 0.541667 +vt 0.142857 0.541667 +vt 0.129870 0.625000 +vt 0.129870 0.541667 +vt 0.051948 0.708333 +vt 0.071429 0.739583 +vt 0.051948 0.739583 +vt 0.051948 0.708333 +vt 0.071429 0.739583 +vt 0.051948 0.739583 +vt 0.051948 0.739583 +vt 0.071429 0.708333 +vt 0.071429 0.739583 +vt 0.051948 0.739583 +vt 0.071429 0.708333 +vt 0.071429 0.739583 +vt 0.071429 0.541667 +vt 0.051948 0.708333 +vt 0.051948 0.541667 +vt 0.110390 0.541667 +vt 0.090909 0.708333 +vt 0.090909 0.541667 +vt 0.071429 0.541667 +vt 0.051948 0.708333 +vt 0.051948 0.541667 +vt 0.110390 0.541667 +vt 0.090909 0.708333 +vt 0.090909 0.541667 +vt 0.129870 0.541667 +vt 0.110390 0.708333 +vt 0.129870 0.541667 +vt 0.110390 0.708333 +vt 0.051948 0.739583 +vt 0.071429 0.708333 +vt 0.071429 0.739583 +vt 0.051948 0.739583 +vt 0.071429 0.708333 +vt 0.071429 0.739583 +vt 0.110390 0.583333 +vt 0.090909 0.708333 +vt 0.090909 0.583333 +vt 0.129870 0.583333 +vt 0.110390 0.708333 +vt 0.110390 0.583333 +vt 0.090909 0.583333 +vt 0.071429 0.583333 +vt 0.129870 0.583333 +vt 0.110390 0.708333 +vt 0.071429 0.583333 +vt 0.051948 0.708333 +vt 0.051948 0.583333 +vt 0.090909 0.708333 +vt 0.051948 0.708333 +vt 0.051948 0.583333 +vt 0.142857 0.541667 +vt 0.129870 0.625000 +vt 0.129870 0.541667 +vt 0.168831 0.541667 +vt 0.155844 0.625000 +vt 0.155844 0.541667 +vt 0.181818 0.541667 +vt 0.168831 0.625000 +vt 0.142857 0.625000 +vt 0.181818 0.541667 +vt 0.168831 0.625000 +vt 0.142857 0.625000 +vt 0.168831 0.541667 +vt 0.155844 0.625000 +vt 0.155844 0.541667 +vt 0.142857 0.541667 +vt 0.129870 0.625000 +vt 0.129870 0.541667 +vt 0.142857 0.541667 +vt 0.129870 0.625000 +vt 0.129870 0.541667 +vt 0.168831 0.541667 +vt 0.155844 0.625000 +vt 0.155844 0.541667 +vt 0.181818 0.541667 +vt 0.168831 0.625000 +vt 0.142857 0.625000 +vt 0.181818 0.541667 +vt 0.168831 0.625000 +vt 0.142857 0.625000 +vt 0.240260 0.541667 +vt 0.272727 0.666667 +vt 0.240260 0.666667 +vt 0.240260 0.666667 +vt 0.272727 0.541667 +vt 0.272727 0.666667 +vt 0.181818 0.541667 +vt 0.240260 0.666667 +vt 0.181818 0.666667 +vt 0.181818 0.666667 +vt 0.240260 0.541667 +vt 0.240260 0.666667 +vt 0.272727 0.666667 +vt 0.240260 0.541667 +vt 0.240260 0.666667 +vt 0.272727 0.541667 +vt 0.240260 0.666667 +vt 0.272727 0.666667 +vt 0.240260 0.666667 +vt 0.181818 0.541667 +vt 0.181818 0.666667 +vt 0.240260 0.541667 +vt 0.181818 0.666667 +vt 0.240260 0.666667 +vt 0.071429 0.708333 +vt 0.071429 0.708333 +vt 0.129870 0.708333 +vt 0.129870 0.708333 +vt 0.129870 0.708333 +vt 0.129870 0.708333 +vt 0.181818 0.625000 +vt 0.181818 0.625000 +vt 0.181818 0.625000 +vt 0.181818 0.625000 +vt 0.272727 0.541667 +vt 0.240260 0.541667 +vt 0.240260 0.541667 +vt 0.181818 0.541667 +vt 0.272727 0.541667 +vt 0.240260 0.541667 +vt 0.240260 0.541667 +vt 0.181818 0.541667 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +s off +f 2005/2552/102 2009/2553/102 2004/2554/102 +f 2006/2555/103 2011/2556/103 2007/2557/103 +f 1974/2558/104 1973/2559/104 1972/2560/104 +f 1978/2561/104 1977/2562/104 1976/2563/104 +f 1982/2564/105 1980/2565/105 1981/2566/105 +f 1986/2567/105 1984/2568/105 1985/2569/105 +f 1970/2570/103 1987/2571/103 1971/2572/103 +f 1969/2573/102 1985/2574/102 1968/2575/102 +f 1966/2576/103 1983/2577/103 1967/2578/103 +f 1965/2579/102 1981/2580/102 1964/2581/102 +f 1971/2582/106 1986/2583/106 1969/2573/106 +f 1968/2575/107 1984/2568/107 1970/2570/107 +f 1967/2584/106 1982/2585/106 1965/2579/106 +f 1964/2581/107 1980/2565/107 1966/2576/107 +f 1990/2586/105 1988/2587/105 1989/2588/105 +f 1994/2589/105 1992/2590/105 1993/2591/105 +f 1973/2592/102 1989/2593/102 1972/2594/102 +f 1979/2595/106 1994/2596/106 1977/2597/106 +f 1976/2598/107 1992/2590/107 1978/2599/107 +f 1975/2600/106 1990/2601/106 1973/2592/106 +f 1972/2594/107 1988/2587/107 1974/2602/107 +f 1978/2599/103 1995/2603/103 1979/2604/103 +f 1977/2597/102 1993/2605/102 1976/2598/102 +f 1974/2602/103 1991/2606/103 1975/2607/103 +f 1998/2608/103 2003/2609/103 1999/2610/103 +f 1997/2611/102 2001/2612/102 1996/2613/102 +f 1999/2614/106 2002/2615/106 1997/2611/106 +f 1996/2613/107 2000/2616/107 1998/2608/107 +f 2007/2617/106 2010/2618/106 2005/2552/106 +f 2004/2554/107 2008/2619/107 2006/2555/107 +f 2021/2620/102 2025/2621/102 2020/2622/102 +f 2022/2623/103 2027/2624/103 2023/2625/103 +f 2014/2626/103 2019/2627/103 2015/2628/103 +f 2013/2629/102 2017/2630/102 2012/2631/102 +f 2015/2632/106 2018/2633/106 2013/2629/106 +f 2012/2631/107 2016/2634/107 2014/2626/107 +f 2023/2635/106 2026/2636/106 2021/2620/106 +f 2020/2622/107 2024/2637/107 2022/2623/107 +f 2028/2638/106 2031/2639/106 2029/2640/106 +f 2035/2641/107 2032/2642/107 2033/2643/107 +f 2037/2644/102 2038/2645/102 2039/2646/102 +f 2042/2647/103 2041/2648/103 2043/2649/103 +f 2047/2650/107 2044/2651/107 2045/2652/107 +f 2048/2653/106 2051/2654/106 2049/2655/106 +f 2054/2656/103 2053/2657/103 2055/2658/103 +f 2057/2659/102 2058/2660/102 2059/2661/102 +f 2005/2552/102 2010/2618/102 2009/2553/102 +f 2006/2555/103 2008/2619/103 2011/2556/103 +f 1974/2558/104 1975/2662/104 1973/2559/104 +f 1978/2561/104 1979/2663/104 1977/2562/104 +f 1982/2564/105 1983/2577/105 1980/2565/105 +f 1986/2567/105 1987/2571/105 1984/2568/105 +f 1970/2570/103 1984/2568/103 1987/2571/103 +f 1969/2573/102 1986/2583/102 1985/2574/102 +f 1966/2576/103 1980/2565/103 1983/2577/103 +f 1965/2579/102 1982/2585/102 1981/2580/102 +f 1971/2582/106 1987/2664/106 1986/2583/106 +f 1968/2575/107 1985/2574/107 1984/2568/107 +f 1967/2584/106 1983/2665/106 1982/2585/106 +f 1964/2581/107 1981/2580/107 1980/2565/107 +f 1990/2586/105 1991/2606/105 1988/2587/105 +f 1994/2589/105 1995/2603/105 1992/2590/105 +f 1973/2592/102 1990/2601/102 1989/2593/102 +f 1979/2595/106 1995/2666/106 1994/2596/106 +f 1976/2598/107 1993/2605/107 1992/2590/107 +f 1975/2600/106 1991/2667/106 1990/2601/106 +f 1972/2594/107 1989/2593/107 1988/2587/107 +f 1978/2599/103 1992/2590/103 1995/2603/103 +f 1977/2597/102 1994/2596/102 1993/2605/102 +f 1974/2602/103 1988/2587/103 1991/2606/103 +f 1998/2608/103 2000/2616/103 2003/2609/103 +f 1997/2611/102 2002/2615/102 2001/2612/102 +f 1999/2614/106 2003/2668/106 2002/2615/106 +f 1996/2613/107 2001/2612/107 2000/2616/107 +f 2007/2617/106 2011/2669/106 2010/2618/106 +f 2004/2554/107 2009/2553/107 2008/2619/107 +f 2021/2620/102 2026/2636/102 2025/2621/102 +f 2022/2623/103 2024/2637/103 2027/2624/103 +f 2014/2626/103 2016/2634/103 2019/2627/103 +f 2013/2629/102 2018/2633/102 2017/2630/102 +f 2015/2632/106 2019/2670/106 2018/2633/106 +f 2012/2631/107 2017/2630/107 2016/2634/107 +f 2023/2635/106 2027/2671/106 2026/2636/106 +f 2020/2622/107 2025/2621/107 2024/2637/107 +f 2028/2638/106 2030/2672/106 2031/2639/106 +f 2035/2641/107 2034/2673/107 2032/2642/107 +f 2037/2644/102 2036/2674/102 2038/2645/102 +f 2042/2647/103 2040/2675/103 2041/2648/103 +f 2047/2650/107 2046/2676/107 2044/2651/107 +f 2048/2653/106 2050/2677/106 2051/2654/106 +f 2054/2656/103 2052/2678/103 2053/2657/103 +f 2057/2659/102 2056/2679/102 2058/2660/102 +o Huge_Erector +v 0.562500 3.500000 -3.187500 +v 0.562500 3.500000 -2.812500 +v 0.937500 3.500000 -2.812500 +v 0.937500 3.500000 -3.187500 +v 0.562500 14.500000 -3.187500 +v 0.562500 14.500000 -2.812500 +v 0.937500 14.500000 -2.812500 +v 0.937500 14.500000 -3.187500 +v 0.937500 5.750000 -1.812500 +v -0.937500 5.750000 -1.812500 +v 0.937500 6.125000 -1.812500 +v -0.937500 6.125000 -1.812500 +v 0.937500 5.750000 -0.812500 +v -0.937500 5.750000 -0.812500 +v 0.937500 6.125000 -0.812500 +v -0.937500 6.125000 -0.812500 +v 0.562500 5.750000 -1.187500 +v -0.562500 5.750000 -1.187500 +v 0.562500 6.125000 -1.187500 +v -0.562500 6.125000 -1.187500 +v 0.937500 8.750000 -1.812500 +v -0.937500 8.750000 -1.812500 +v 0.937500 9.125000 -1.812500 +v -0.937500 9.125000 -1.812500 +v 0.937500 8.750000 -0.562500 +v -0.937500 8.750000 -0.562500 +v 0.937500 9.125000 -0.562500 +v -0.937500 9.125000 -0.562500 +v 0.562500 8.750000 -0.937500 +v -0.562500 8.750000 -0.937500 +v 0.562500 9.125000 -0.937500 +v -0.562500 9.125000 -0.937500 +v 0.937500 10.750000 -1.812500 +v -0.937500 10.750000 -1.812500 +v 0.937500 11.125000 -1.812500 +v -0.937500 11.125000 -1.812500 +v 0.937500 10.750000 -0.562500 +v -0.937500 10.750000 -0.562500 +v 0.937500 11.125000 -0.562500 +v -0.937500 11.125000 -0.562500 +v 0.562500 10.750000 -0.937500 +v -0.562500 10.750000 -0.937500 +v 0.562500 11.125000 -0.937500 +v -0.562500 11.125000 -0.937500 +v -0.562500 10.812500 -1.812500 +v 0.562500 10.812500 -1.812500 +v -0.562500 11.062500 -1.812500 +v 0.562500 11.062500 -1.812500 +v -0.562500 11.062500 -2.062500 +v -0.562500 10.812500 -2.062500 +v 0.562500 10.812500 -2.062500 +v 0.562500 11.062500 -2.062500 +v -0.562500 8.812500 -1.812500 +v 0.562500 8.812500 -1.812500 +v -0.562500 9.062500 -1.812500 +v 0.562500 9.062500 -1.812500 +v -0.562500 9.062500 -2.062500 +v -0.562500 8.812500 -2.062500 +v 0.562500 8.812500 -2.062500 +v 0.562500 9.062500 -2.062500 +v -0.562500 5.812500 -1.812500 +v 0.562500 5.812500 -1.812500 +v -0.562500 6.062500 -1.812500 +v 0.562500 6.062500 -1.812500 +v -0.562500 6.062500 -2.062500 +v -0.562500 5.812500 -2.062500 +v 0.562500 5.812500 -2.062500 +v 0.562500 6.062500 -2.062500 +v 0.750000 3.500000 -2.187500 +v 0.750000 3.500000 -2.812500 +v -0.750000 3.500000 -2.187500 +v -0.750000 3.500000 -2.812500 +v 0.562500 3.500000 -2.000000 +v -0.562500 3.500000 -2.000000 +v 0.562500 3.500000 -3.000000 +v -0.562500 3.500000 -3.000000 +v 0.750000 14.500000 -2.187500 +v 0.750000 14.500000 -2.812500 +v -0.750000 14.500000 -2.187500 +v -0.750000 14.500000 -2.812500 +v 0.562500 14.500000 -2.000000 +v -0.562500 14.500000 -2.000000 +v 0.562500 14.500000 -3.000000 +v -0.562500 14.500000 -3.000000 +v 0.562500 3.500000 -2.187500 +v 0.562500 3.500000 -1.812500 +v 0.937500 3.500000 -1.812500 +v 0.937500 3.500000 -2.187500 +v 0.562500 14.500000 -2.187500 +v 0.562500 14.500000 -1.812500 +v 0.937500 14.500000 -1.812500 +v 0.937500 14.500000 -2.187500 +v -0.937500 3.500000 -3.187500 +v -0.937500 3.500000 -2.812500 +v -0.562500 3.500000 -2.812500 +v -0.562500 3.500000 -3.187500 +v -0.937500 14.500000 -3.187500 +v -0.937500 14.500000 -2.812500 +v -0.562500 14.500000 -2.812500 +v -0.562500 14.500000 -3.187500 +v -0.937500 3.500000 -2.187500 +v -0.937500 3.500000 -1.812500 +v -0.562500 3.500000 -1.812500 +v -0.562500 3.500000 -2.187500 +v -0.937500 14.500000 -2.187500 +v -0.937500 14.500000 -1.812500 +v -0.562500 14.500000 -1.812500 +v -0.562500 14.500000 -2.187500 +v 0.750000 3.500000 -2.187500 +v 0.750000 3.500000 -2.812500 +v -0.750000 3.500000 -2.187500 +v -0.750000 3.500000 -2.812500 +v 0.562500 3.500000 -2.000000 +v -0.562500 3.500000 -2.000000 +v 0.562500 3.500000 -3.000000 +v -0.562500 3.500000 -3.000000 +v 0.750000 14.500000 -2.187500 +v 0.750000 14.500000 -2.812500 +v -0.750000 14.500000 -2.187500 +v -0.750000 14.500000 -2.812500 +v 0.562500 14.500000 -2.000000 +v -0.562500 14.500000 -2.000000 +v 0.562500 14.500000 -3.000000 +v -0.562500 14.500000 -3.000000 +vt 0.850649 0.031250 +vt 0.831169 -0.000000 +vt 0.850649 -0.000000 +vt 0.831169 0.979167 +vt 0.850649 0.947917 +vt 0.850649 0.979167 +vt 0.870130 0.031250 +vt 0.889610 0.031250 +vt 0.870130 0.947917 +vt 0.909091 0.031250 +vt 0.889610 0.947917 +vt 0.831169 0.947917 +vt 0.831169 0.031250 +vt 0.136364 0.739583 +vt 0.038961 0.770833 +vt 0.038961 0.739583 +vt 0.116883 0.875000 +vt 0.136364 0.906250 +vt 0.116883 0.906250 +vt 0.155844 0.791667 +vt 0.136364 0.875000 +vt 0.136364 0.791667 +vt 0.038961 0.791667 +vt 0.136364 0.791667 +vt 0.058442 0.843750 +vt 0.038961 0.791667 +vt 0.019481 0.875000 +vt 0.019481 0.791667 +vt 0.058442 0.843750 +vt 0.038961 0.875000 +vt 0.058442 0.906250 +vt 0.038961 0.906250 +vt 0.058442 0.875000 +vt 0.136364 0.739583 +vt 0.038961 0.770833 +vt 0.038961 0.739583 +vt 0.116883 0.875000 +vt 0.136364 0.906250 +vt 0.116883 0.906250 +vt 0.155844 0.770833 +vt 0.136364 0.875000 +vt 0.136364 0.770833 +vt 0.038961 0.770833 +vt 0.136364 0.770833 +vt 0.058442 0.843750 +vt 0.019481 0.875000 +vt 0.019481 0.770833 +vt 0.058442 0.843750 +vt 0.038961 0.875000 +vt 0.058442 0.906250 +vt 0.038961 0.906250 +vt 0.058442 0.875000 +vt 0.136364 0.739583 +vt 0.038961 0.770833 +vt 0.038961 0.739583 +vt 0.116883 0.875000 +vt 0.136364 0.906250 +vt 0.116883 0.906250 +vt 0.155844 0.770833 +vt 0.136364 0.875000 +vt 0.136364 0.770833 +vt 0.038961 0.770833 +vt 0.136364 0.770833 +vt 0.058442 0.843750 +vt 0.019481 0.875000 +vt 0.019481 0.770833 +vt 0.058442 0.843750 +vt 0.038961 0.875000 +vt 0.058442 0.906250 +vt 0.038961 0.906250 +vt 0.058442 0.875000 +vt 0.967532 0.916667 +vt 0.909091 0.937500 +vt 0.909091 0.916667 +vt 0.967532 0.958333 +vt 0.909091 0.937500 +vt 0.967532 0.937500 +vt 0.909091 0.979167 +vt 0.967532 0.979167 +vt 0.967532 0.916667 +vt 0.909091 0.916667 +vt 0.909091 0.979167 +vt 0.967532 0.958333 +vt 0.967532 0.979167 +vt 0.967532 0.937500 +vt 0.967532 0.916667 +vt 0.909091 0.937500 +vt 0.909091 0.916667 +vt 0.909091 0.979167 +vt 0.967532 0.958333 +vt 0.967532 0.979167 +vt 0.967532 0.937500 +vt 0.967532 0.000000 +vt 0.909091 0.916667 +vt 0.909091 -0.000000 +vt 1.000000 0.916667 +vt 0.967532 -0.000000 +vt 1.000000 -0.000000 +vt 0.967532 0.916667 +vt 0.909091 -0.000000 +vt 0.967532 0.000000 +vt 1.000000 -0.000000 +vt 0.967532 0.916667 +vt 0.967532 -0.000000 +vt 0.850649 0.031250 +vt 0.831169 -0.000000 +vt 0.850649 -0.000000 +vt 0.831169 0.979167 +vt 0.850649 0.947917 +vt 0.850649 0.979167 +vt 0.870130 0.031250 +vt 0.889610 0.031250 +vt 0.870130 0.947917 +vt 0.909091 0.031250 +vt 0.889610 0.947917 +vt 0.831169 0.947917 +vt 0.831169 0.031250 +vt 0.850649 0.031250 +vt 0.831169 -0.000000 +vt 0.850649 -0.000000 +vt 0.831169 0.979167 +vt 0.850649 0.947917 +vt 0.850649 0.979167 +vt 0.870130 0.031250 +vt 0.889610 0.031250 +vt 0.870130 0.947917 +vt 0.909091 0.031250 +vt 0.889610 0.947917 +vt 0.831169 0.947917 +vt 0.831169 0.031250 +vt 0.850649 0.031250 +vt 0.831169 -0.000000 +vt 0.850649 -0.000000 +vt 0.831169 0.979167 +vt 0.850649 0.947917 +vt 0.850649 0.979167 +vt 0.870130 0.031250 +vt 0.889610 0.031250 +vt 0.870130 0.947917 +vt 0.909091 0.031250 +vt 0.889610 0.947917 +vt 0.831169 0.947917 +vt 0.831169 0.031250 +vt 0.909091 0.916667 +vt 0.967532 0.000000 +vt 0.909091 -0.000000 +vt 0.967532 -0.000000 +vt 1.000000 0.916667 +vt 1.000000 -0.000000 +vt 0.909091 -0.000000 +vt 0.967532 0.916667 +vt 0.967532 0.000000 +vt 0.967532 0.916667 +vt 1.000000 -0.000000 +vt 0.967532 -0.000000 +vt 0.909091 0.947917 +vt 0.136364 0.770833 +vt 0.155844 0.875000 +vt 0.136364 0.875000 +vt 0.116883 0.843750 +vt 0.038961 0.875000 +vt 0.116883 0.843750 +vt 0.155844 0.875000 +vt 0.136364 0.875000 +vt 0.116883 0.843750 +vt 0.038961 0.875000 +vt 0.116883 0.843750 +vt 0.155844 0.875000 +vt 0.136364 0.875000 +vt 0.116883 0.843750 +vt 0.038961 0.875000 +vt 0.116883 0.843750 +vt 0.909091 0.958333 +vt 0.909091 0.958333 +vt 0.909091 0.958333 +vt 0.967532 0.916667 +vt 0.967532 0.916667 +vt 0.909091 0.916667 +vt 1.000000 0.916667 +vt 0.909091 0.947917 +vt 0.909091 0.947917 +vt 0.909091 0.947917 +vt 0.967532 0.916667 +vt 0.967532 0.916667 +vt 0.909091 0.916667 +vt 1.000000 0.916667 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.7071 0.0000 0.7071 +vn -0.7071 0.0000 0.7071 +s off +f 2060/2680/108 2062/2681/108 2061/2682/108 +f 2066/2683/109 2064/2684/109 2065/2685/109 +f 2061/2686/110 2064/2684/110 2060/2680/110 +f 2062/2687/111 2065/2688/111 2061/2686/111 +f 2063/2689/112 2066/2690/112 2062/2687/112 +f 2060/2680/113 2067/2691/113 2063/2692/113 +f 2069/2693/113 2070/2694/113 2068/2695/113 +f 2079/2696/114 2073/2697/114 2077/2698/114 +f 2069/2699/110 2075/2700/110 2071/2701/110 +f 2069/2702/108 2068/2703/108 2077/2704/108 +f 2070/2705/112 2072/2706/112 2068/2707/112 +f 2070/2705/109 2071/2701/109 2078/2708/109 +f 2074/2709/115 2076/2710/115 2072/2711/115 +f 2078/2712/111 2077/2698/111 2076/2710/111 +f 2081/2713/113 2082/2714/113 2080/2715/113 +f 2091/2716/114 2085/2717/114 2089/2718/114 +f 2081/2719/110 2087/2720/110 2083/2721/110 +f 2081/2722/108 2080/2723/108 2089/2724/108 +f 2082/2714/112 2084/2725/112 2080/2726/112 +f 2082/2714/109 2083/2721/109 2090/2727/109 +f 2086/2728/115 2088/2729/115 2084/2730/115 +f 2090/2731/111 2089/2718/111 2088/2729/111 +f 2093/2732/113 2094/2733/113 2092/2734/113 +f 2103/2735/114 2097/2736/114 2101/2737/114 +f 2093/2738/110 2099/2739/110 2095/2740/110 +f 2093/2741/108 2092/2742/108 2101/2743/108 +f 2094/2733/112 2096/2744/112 2092/2745/112 +f 2094/2733/109 2095/2740/109 2102/2746/109 +f 2098/2747/115 2100/2748/115 2096/2749/115 +f 2102/2750/111 2101/2737/111 2100/2748/111 +f 2112/2751/108 2118/2752/108 2113/2753/108 +f 2108/2754/113 2110/2755/113 2109/2756/113 +f 2107/2757/109 2108/2754/109 2106/2758/109 +f 2104/2759/108 2110/2755/108 2105/2760/108 +f 2115/2761/109 2116/2762/109 2114/2763/109 +f 2116/2762/113 2118/2752/113 2117/2764/113 +f 2120/2765/108 2126/2766/108 2121/2767/108 +f 2123/2768/109 2124/2769/109 2122/2770/109 +f 2124/2769/113 2126/2766/113 2125/2771/113 +f 2135/2772/113 2142/2773/113 2134/2774/113 +f 2138/2775/110 2131/2776/110 2130/2777/110 +f 2140/2778/111 2133/2779/111 2132/2780/111 +f 2129/2781/112 2136/2782/112 2128/2783/112 +f 2144/2784/108 2146/2785/108 2145/2786/108 +f 2150/2787/109 2148/2788/109 2149/2789/109 +f 2145/2790/110 2148/2788/110 2144/2784/110 +f 2146/2791/111 2149/2792/111 2145/2790/111 +f 2147/2793/112 2150/2794/112 2146/2791/112 +f 2144/2784/113 2151/2795/113 2147/2796/113 +f 2152/2797/108 2154/2798/108 2153/2799/108 +f 2158/2800/109 2156/2801/109 2157/2802/109 +f 2153/2803/110 2156/2801/110 2152/2797/110 +f 2154/2804/111 2157/2805/111 2153/2803/111 +f 2155/2806/112 2158/2807/112 2154/2804/112 +f 2152/2797/113 2159/2808/113 2155/2809/113 +f 2160/2810/108 2162/2811/108 2161/2812/108 +f 2166/2813/109 2164/2814/109 2165/2815/109 +f 2161/2816/110 2164/2814/110 2160/2810/110 +f 2162/2817/111 2165/2818/111 2161/2816/111 +f 2163/2819/112 2166/2820/112 2162/2817/112 +f 2160/2810/113 2167/2821/113 2163/2822/113 +f 2182/2823/111 2175/2824/111 2174/2825/111 +f 2171/2826/112 2178/2827/112 2170/2828/112 +f 2173/2829/113 2180/2830/113 2172/2831/113 +f 2176/2832/110 2169/2833/110 2168/2834/110 +f 2060/2680/108 2063/2692/108 2062/2681/108 +f 2066/2683/109 2067/2691/109 2064/2684/109 +f 2061/2686/110 2065/2688/110 2064/2684/110 +f 2062/2687/111 2066/2690/111 2065/2688/111 +f 2063/2689/112 2067/2835/112 2066/2690/112 +f 2060/2680/113 2064/2684/113 2067/2691/113 +f 2069/2693/113 2071/2836/113 2070/2694/113 +f 2079/2696/114 2075/2700/114 2073/2697/114 +f 2069/2699/110 2073/2837/110 2075/2700/110 +f 2068/2703/108 2072/2838/108 2076/2839/108 +f 2077/2704/108 2073/2840/108 2069/2702/108 +f 2068/2703/108 2076/2839/108 2077/2704/108 +f 2070/2705/112 2074/2709/112 2072/2706/112 +f 2071/2701/109 2075/2700/109 2079/2841/109 +f 2078/2708/109 2074/2709/109 2070/2705/109 +f 2071/2701/109 2079/2841/109 2078/2708/109 +f 2074/2709/115 2078/2712/115 2076/2710/115 +f 2078/2712/111 2079/2696/111 2077/2698/111 +f 2081/2713/113 2083/2721/113 2082/2714/113 +f 2091/2716/114 2087/2720/114 2085/2717/114 +f 2081/2719/110 2085/2842/110 2087/2720/110 +f 2080/2723/108 2084/2843/108 2088/2844/108 +f 2089/2724/108 2085/2845/108 2081/2722/108 +f 2080/2723/108 2088/2844/108 2089/2724/108 +f 2082/2714/112 2086/2728/112 2084/2725/112 +f 2083/2721/109 2087/2720/109 2091/2846/109 +f 2090/2727/109 2086/2728/109 2082/2714/109 +f 2083/2721/109 2091/2846/109 2090/2727/109 +f 2086/2728/115 2090/2731/115 2088/2729/115 +f 2090/2731/111 2091/2716/111 2089/2718/111 +f 2093/2732/113 2095/2740/113 2094/2733/113 +f 2103/2735/114 2099/2739/114 2097/2736/114 +f 2093/2738/110 2097/2847/110 2099/2739/110 +f 2092/2742/108 2096/2848/108 2100/2849/108 +f 2101/2743/108 2097/2850/108 2093/2741/108 +f 2092/2742/108 2100/2849/108 2101/2743/108 +f 2094/2733/112 2098/2747/112 2096/2744/112 +f 2095/2740/109 2099/2739/109 2103/2851/109 +f 2102/2746/109 2098/2747/109 2094/2733/109 +f 2095/2740/109 2103/2851/109 2102/2746/109 +f 2098/2747/115 2102/2750/115 2100/2748/115 +f 2102/2750/111 2103/2735/111 2101/2737/111 +f 2112/2751/108 2117/2764/108 2118/2752/108 +f 2108/2754/113 2111/2852/113 2110/2755/113 +f 2107/2757/109 2111/2852/109 2108/2754/109 +f 2104/2759/108 2109/2756/108 2110/2755/108 +f 2115/2761/109 2119/2853/109 2116/2762/109 +f 2116/2762/113 2119/2853/113 2118/2752/113 +f 2120/2765/108 2125/2771/108 2126/2766/108 +f 2123/2768/109 2127/2854/109 2124/2769/109 +f 2124/2769/113 2127/2854/113 2126/2766/113 +f 2135/2772/113 2143/2855/113 2142/2773/113 +f 2138/2775/110 2139/2856/110 2131/2776/110 +f 2140/2778/111 2141/2857/111 2133/2779/111 +f 2129/2781/112 2137/2858/112 2136/2782/112 +f 2144/2784/108 2147/2796/108 2146/2785/108 +f 2150/2787/109 2151/2795/109 2148/2788/109 +f 2145/2790/110 2149/2792/110 2148/2788/110 +f 2146/2791/111 2150/2794/111 2149/2792/111 +f 2147/2793/112 2151/2859/112 2150/2794/112 +f 2144/2784/113 2148/2788/113 2151/2795/113 +f 2152/2797/108 2155/2809/108 2154/2798/108 +f 2158/2800/109 2159/2808/109 2156/2801/109 +f 2153/2803/110 2157/2805/110 2156/2801/110 +f 2154/2804/111 2158/2807/111 2157/2805/111 +f 2155/2806/112 2159/2860/112 2158/2807/112 +f 2152/2797/113 2156/2801/113 2159/2808/113 +f 2160/2810/108 2163/2822/108 2162/2811/108 +f 2166/2813/109 2167/2821/109 2164/2814/109 +f 2161/2816/110 2165/2818/110 2164/2814/110 +f 2162/2817/111 2166/2820/111 2165/2818/111 +f 2163/2819/112 2167/2861/112 2166/2820/112 +f 2160/2810/113 2164/2814/113 2167/2821/113 +f 2182/2823/111 2183/2862/111 2175/2824/111 +f 2171/2826/112 2179/2863/112 2178/2827/112 +f 2173/2829/113 2181/2864/113 2180/2830/113 +f 2176/2832/110 2177/2865/110 2169/2833/110 +o Huge_Pad +v -1.250000 2.000000 1.250000 +v 1.250000 2.000000 1.250000 +v -1.250000 2.000000 -1.250000 +v 1.250000 2.000000 -1.250000 +v -2.500000 2.000000 2.500000 +v 2.500000 2.000000 2.500000 +v -2.500000 2.000000 -2.500000 +v 2.500000 2.000000 -2.500000 +v -2.500000 1.500000 2.500000 +v 2.500000 1.500000 2.500000 +v -2.500000 1.500000 -2.500000 +v 2.500000 1.500000 -2.500000 +v -3.000000 1.500000 3.000000 +v 3.000000 1.500000 3.000000 +v -3.000000 1.500000 -3.000000 +v 3.000000 1.500000 -3.000000 +v -3.000000 1.000000 3.000000 +v 3.000000 1.000000 3.000000 +v -3.000000 1.000000 -3.000000 +v 3.000000 1.000000 -3.000000 +v -0.500000 1.000000 0.500000 +v 0.500000 1.000000 0.500000 +v -0.500000 1.000000 -0.500000 +v 0.500000 1.000000 -0.500000 +v -1.250000 2.000000 1.250000 +v 1.250000 2.000000 1.250000 +v -1.250000 2.000000 -1.250000 +v 1.250000 2.000000 -1.250000 +v -1.500000 1.000000 -2.500000 +v 1.500000 1.000000 -2.500000 +v -1.500000 1.000000 -3.500000 +v 1.500000 1.000000 -3.500000 +v -1.500000 2.000000 -3.500000 +v -1.500000 2.000000 -2.500000 +v 1.500000 2.000000 -2.500000 +v 1.500000 2.000000 -3.500000 +v -2.000000 1.000000 4.000000 +v 2.000000 1.000000 4.000000 +v -2.000000 1.000000 2.500000 +v 2.000000 1.000000 2.500000 +v -2.000000 2.000000 2.500000 +v -2.000000 2.000000 4.000000 +v 2.000000 2.000000 4.000000 +v 2.000000 2.000000 2.500000 +v 0.812500 2.000000 3.687500 +v 1.187500 2.000000 3.687500 +v 0.812500 2.000000 3.312500 +v 1.187500 2.000000 3.312500 +v -1.187500 2.000000 3.687500 +v -0.812500 2.000000 3.687500 +v -1.187500 2.000000 3.312500 +v -0.812500 2.000000 3.312500 +v 0.812500 2.000000 2.187500 +v 1.187500 2.000000 2.187500 +v 0.812500 2.000000 1.812500 +v 1.187500 2.000000 1.812500 +v -1.187500 2.000000 2.187500 +v -0.812500 2.000000 2.187500 +v -1.187500 2.000000 1.812500 +v -0.812500 2.000000 1.812500 +v 0.812500 8.000000 3.312500 +v 0.812500 8.000000 3.687500 +v 1.187500 8.000000 3.687500 +v 1.187500 8.000000 3.312500 +v -1.187500 8.000000 3.312500 +v -1.187500 8.000000 3.687500 +v -0.812500 8.000000 3.687500 +v -0.812500 8.000000 3.312500 +v 0.812500 8.000000 1.812500 +v 0.812500 8.000000 2.187500 +v 1.187500 8.000000 2.187500 +v 1.187500 8.000000 1.812500 +v -1.187500 8.000000 1.812500 +v -1.187500 8.000000 2.187500 +v -0.812500 8.000000 2.187500 +v -0.812500 8.000000 1.812500 +v -1.500000 8.000000 4.000000 +v 1.500000 8.000000 4.000000 +v -1.500000 8.000000 1.500000 +v 1.500000 8.000000 1.500000 +v -1.500000 8.250000 1.500000 +v -1.500000 8.250000 4.000000 +v 1.500000 8.250000 4.000000 +v 1.500000 8.250000 1.500000 +v 0.812500 8.250000 2.187500 +v 1.187500 8.250000 2.187500 +v 0.812500 8.250000 1.812500 +v 1.187500 8.250000 1.812500 +v -1.187500 8.250000 2.187500 +v -0.812500 8.250000 2.187500 +v -1.187500 8.250000 1.812500 +v -0.812500 8.250000 1.812500 +v 0.812500 14.250000 1.812500 +v 0.812500 14.250000 2.187500 +v 1.187500 14.250000 2.187500 +v 1.187500 14.250000 1.812500 +v -1.187500 14.250000 1.812500 +v -1.187500 14.250000 2.187500 +v -0.812500 14.250000 2.187500 +v -0.812500 14.250000 1.812500 +v 0.812500 8.250000 3.187500 +v 1.187500 8.250000 3.187500 +v 0.812500 8.250000 2.812500 +v 1.187500 8.250000 2.812500 +v -1.187500 8.250000 3.187500 +v -0.812500 8.250000 3.187500 +v -1.187500 8.250000 2.812500 +v -0.812500 8.250000 2.812500 +v 0.812500 14.250000 2.812500 +v 0.812500 14.250000 3.187500 +v 1.187500 14.250000 3.187500 +v 1.187500 14.250000 2.812500 +v -1.187500 14.250000 2.812500 +v -1.187500 14.250000 3.187500 +v -0.812500 14.250000 3.187500 +v -0.812500 14.250000 2.812500 +v 0.812500 2.000000 2.000000 +v -0.812500 2.000000 2.000000 +v 0.812500 8.000000 2.000000 +v -0.812500 8.000000 2.000000 +v 0.812500 2.000000 3.500000 +v -0.812500 2.000000 3.500000 +v 0.812500 8.000000 3.500000 +v -0.812500 8.000000 3.500000 +v -1.000000 2.000000 3.312500 +v -1.000000 2.000000 2.187500 +v -1.000000 8.000000 3.312500 +v -1.000000 8.000000 2.187500 +v 1.000000 2.000000 3.312500 +v 1.000000 2.000000 2.187500 +v 1.000000 8.000000 3.312500 +v 1.000000 8.000000 2.187500 +v 0.812500 8.250000 2.000000 +v -0.812500 8.250000 2.000000 +v 0.812500 14.250000 2.000000 +v -0.812500 14.250000 2.000000 +v 0.812500 8.250000 3.000000 +v -0.812500 8.250000 3.000000 +v 0.812500 14.250000 3.000000 +v -0.812500 14.250000 3.000000 +v -1.000000 8.250000 2.187500 +v -1.000000 14.250000 2.187500 +v -1.000000 8.250000 2.812500 +v -1.000000 14.250000 2.812500 +v 1.000000 8.250000 2.187500 +v 1.000000 14.250000 2.187500 +v 1.000000 8.250000 2.812500 +v 1.000000 14.250000 2.812500 +v -1.500000 14.250000 3.500000 +v 1.500000 14.250000 3.500000 +v -1.500000 14.250000 1.500000 +v 1.500000 14.250000 1.500000 +v -1.500000 14.500000 1.500000 +v -1.500000 14.500000 3.500000 +v 1.500000 14.500000 3.500000 +v 1.500000 14.500000 1.500000 +v 0.375000 2.000000 2.250000 +v 0.198223 2.000000 2.323223 +v 0.125000 2.000000 2.500000 +v 0.198223 2.000000 2.676777 +v 0.375000 2.000000 2.750000 +v 0.551777 2.000000 2.676777 +v 0.625000 2.000000 2.500000 +v 0.551777 2.000000 2.323223 +v 0.375000 10.000000 2.250000 +v 0.198223 10.000000 2.323223 +v 0.125000 10.000000 2.500000 +v 0.198223 10.000000 2.676777 +v 0.375000 10.000000 2.750000 +v 0.551777 10.000000 2.676777 +v 0.625000 10.000000 2.500000 +v 0.551777 10.000000 2.323223 +v 0.198223 10.051777 2.301777 +v 0.125000 10.176777 2.426777 +v 0.198223 10.301777 2.551777 +v 0.375000 10.353554 2.603553 +v 0.551777 10.301777 2.551777 +v 0.625000 10.176777 2.426777 +v 0.551777 10.051777 2.301777 +v 0.198223 10.073223 2.250000 +v 0.125000 10.250000 2.250000 +v 0.198223 10.426777 2.250000 +v 0.375000 10.500000 2.250000 +v 0.551777 10.426777 2.250000 +v 0.625000 10.250000 2.250000 +v 0.551777 10.073223 2.250000 +v -0.375000 2.000000 2.250000 +v -0.551777 2.000000 2.323223 +v -0.625000 2.000000 2.500000 +v -0.551777 2.000000 2.676777 +v -0.375000 2.000000 2.750000 +v -0.198223 2.000000 2.676777 +v -0.125000 2.000000 2.500000 +v -0.198223 2.000000 2.323223 +v -0.375000 10.000000 2.250000 +v -0.551777 10.000000 2.323223 +v -0.625000 10.000000 2.500000 +v -0.551777 10.000000 2.676777 +v -0.375000 10.000000 2.750000 +v -0.198223 10.000000 2.676777 +v -0.125000 10.000000 2.500000 +v -0.198223 10.000000 2.323223 +v -0.551777 10.051777 2.301777 +v -0.625000 10.176777 2.426777 +v -0.551777 10.301777 2.551777 +v -0.375000 10.353554 2.603553 +v -0.198223 10.301777 2.551777 +v -0.125000 10.176777 2.426777 +v -0.198223 10.051777 2.301777 +v -0.551777 10.073223 2.250000 +v -0.625000 10.250000 2.250000 +v -0.551777 10.426777 2.250000 +v -0.375000 10.500000 2.250000 +v -0.198223 10.426777 2.250000 +v -0.125000 10.250000 2.250000 +v -0.198223 10.073223 2.250000 +v 0.812500 2.000000 2.000000 +v -0.812500 2.000000 2.000000 +v 0.812500 8.000000 2.000000 +v -0.812500 8.000000 2.000000 +v 0.812500 2.000000 3.500000 +v -0.812500 2.000000 3.500000 +v 0.812500 8.000000 3.500000 +v -0.812500 8.000000 3.500000 +v -1.000000 2.000000 3.312500 +v -1.000000 2.000000 2.187500 +v -1.000000 8.000000 3.312500 +v -1.000000 8.000000 2.187500 +v 1.000000 2.000000 3.312500 +v 1.000000 2.000000 2.187500 +v 1.000000 8.000000 3.312500 +v 1.000000 8.000000 2.187500 +v 0.812500 8.250000 2.000000 +v -0.812500 8.250000 2.000000 +v 0.812500 14.250000 2.000000 +v -0.812500 14.250000 2.000000 +v 0.812500 8.250000 3.000000 +v -0.812500 8.250000 3.000000 +v 0.812500 14.250000 3.000000 +v -0.812500 14.250000 3.000000 +v -1.000000 8.250000 2.187500 +v -1.000000 14.250000 2.187500 +v -1.000000 8.250000 2.812500 +v -1.000000 14.250000 2.812500 +v 1.000000 8.250000 2.187500 +v 1.000000 14.250000 2.187500 +v 1.000000 8.250000 2.812500 +v 1.000000 14.250000 2.812500 +vt 0.155844 0.875000 +vt 0.285714 0.666667 +vt 0.285714 0.875000 +vt 0.090909 0.437500 +vt 0.025974 0.125000 +vt 0.090909 0.229167 +vt 0.220779 0.437500 +vt 0.025974 0.541667 +vt 0.220779 0.229167 +vt 0.285714 0.541667 +vt 0.285714 0.125000 +vt 0.025974 0.125000 +vt 0.285714 0.083333 +vt 0.285714 0.125000 +vt 0.025974 0.125000 +vt 0.285714 0.083333 +vt 0.285714 0.125000 +vt 0.285714 0.083333 +vt 0.025974 0.125000 +vt 0.285714 0.083333 +vt 0.285714 0.125000 +vt 0.025974 0.083333 +vt 0.311688 0.041667 +vt 0.025974 0.083333 +vt 0.311688 0.041667 +vt 0.025974 0.083333 +vt 0.311688 0.041667 +vt 0.025974 0.083333 +vt 0.311688 0.041667 +vt -0.000000 0.041667 +vt 0.311688 -0.000000 +vt 0.000000 0.041667 +vt 0.311688 0.000000 +vt 0.000000 0.041667 +vt 0.311688 0.000000 +vt 0.000000 0.041667 +vt 0.311688 0.000000 +vt 0.129870 0.291667 +vt 0.129870 0.375000 +vt 0.181818 0.375000 +vt 0.181818 0.291667 +vt 0.441558 0.625000 +vt 0.493506 0.875000 +vt 0.441558 0.875000 +vt 0.545455 0.875000 +vt 0.493506 0.625000 +vt 0.545455 0.625000 +vt 0.493506 0.541667 +vt 0.441558 0.541667 +vt 0.441558 0.958333 +vt 0.493506 0.958333 +vt 0.337662 0.083333 +vt 0.415584 0.416667 +vt 0.337662 0.416667 +vt 0.415584 -0.000000 +vt 0.337662 -0.000000 +vt 0.337662 0.500000 +vt 0.415584 0.500000 +vt 0.285714 0.083333 +vt 0.285714 0.416667 +vt 0.324675 0.500000 +vt 0.305195 1.000000 +vt 0.305195 0.500000 +vt 0.344156 0.500000 +vt 0.324675 1.000000 +vt 0.324675 0.500000 +vt 0.344156 0.500000 +vt 0.324675 1.000000 +vt 0.363636 0.500000 +vt 0.344156 1.000000 +vt 0.344156 0.500000 +vt 0.363636 0.500000 +vt 0.344156 1.000000 +vt 0.344156 0.500000 +vt 0.305195 0.500000 +vt 0.285714 1.000000 +vt 0.285714 0.500000 +vt 0.305195 0.500000 +vt 0.285714 1.000000 +vt 0.285714 0.500000 +vt 0.324675 0.500000 +vt 0.305195 1.000000 +vt 0.324675 0.500000 +vt 0.305195 1.000000 +vt 0.324675 1.000000 +vt 0.363636 0.500000 +vt 0.344156 1.000000 +vt 0.324675 1.000000 +vt 0.363636 0.500000 +vt 0.344156 1.000000 +vt 0.305195 0.500000 +vt 0.285714 1.000000 +vt 0.285714 0.500000 +vt 0.285714 1.000000 +vt 0.285714 0.500000 +vt 0.305195 1.000000 +vt 0.675325 0.750000 +vt 0.545455 1.000000 +vt 0.545455 0.750000 +vt 0.545455 0.750000 +vt 0.675325 1.000000 +vt 0.545455 1.000000 +vt 0.688312 1.000000 +vt 0.675325 0.750000 +vt 0.688312 0.750000 +vt 0.688312 1.000000 +vt 0.675325 0.750000 +vt 0.688312 0.750000 +vt 0.675325 0.729167 +vt 0.545455 0.729167 +vt 0.675325 0.729167 +vt 0.545455 0.750000 +vt 0.545455 0.729167 +vt 0.402597 0.500000 +vt 0.383117 1.000000 +vt 0.383117 0.500000 +vt 0.422078 0.500000 +vt 0.402597 1.000000 +vt 0.441558 0.500000 +vt 0.422078 1.000000 +vt 0.422078 0.500000 +vt 0.383117 0.500000 +vt 0.363636 1.000000 +vt 0.363636 0.500000 +vt 0.402597 0.500000 +vt 0.383117 1.000000 +vt 0.402597 1.000000 +vt 0.441558 0.500000 +vt 0.422078 1.000000 +vt 0.363636 1.000000 +vt 0.363636 0.500000 +vt 0.402597 0.500000 +vt 0.383117 1.000000 +vt 0.383117 0.500000 +vt 0.422078 0.500000 +vt 0.402597 1.000000 +vt 0.441558 0.500000 +vt 0.422078 1.000000 +vt 0.422078 0.500000 +vt 0.383117 0.500000 +vt 0.363636 1.000000 +vt 0.363636 0.500000 +vt 0.402597 0.500000 +vt 0.383117 1.000000 +vt 0.402597 1.000000 +vt 0.441558 0.500000 +vt 0.422078 1.000000 +vt 0.363636 1.000000 +vt 0.363636 0.500000 +vt 0.792208 0.750000 +vt 0.688312 1.000000 +vt 0.688312 0.750000 +vt 0.415584 0.500000 +vt 0.500000 0.000000 +vt 0.500000 0.500000 +vt 0.415584 0.000000 +vt 0.500000 0.500000 +vt 0.415584 0.500000 +vt 0.500000 0.000000 +vt 0.558442 0.500000 +vt 0.500000 0.500000 +vt 0.500000 0.500000 +vt 0.558442 0.000000 +vt 0.558442 0.500000 +vt 0.558442 0.500000 +vt 0.642857 0.000000 +vt 0.642857 0.500000 +vt 0.558442 0.000000 +vt 0.642857 0.500000 +vt 0.558442 0.500000 +vt 0.642857 0.000000 +vt 0.675325 0.500000 +vt 0.642857 0.500000 +vt 0.642857 0.500000 +vt 0.675325 0.000000 +vt 0.675325 0.500000 +vt 0.688312 0.750000 +vt 0.792208 1.000000 +vt 0.688312 1.000000 +vt 0.805195 1.000000 +vt 0.792208 0.750000 +vt 0.805195 0.750000 +vt 0.805195 1.000000 +vt 0.792208 0.750000 +vt 0.805195 0.750000 +vt 0.792208 0.729167 +vt 0.688312 0.729167 +vt 0.792208 0.729167 +vt 0.688312 0.750000 +vt 0.688312 0.729167 +vt 0.636364 0.625272 +vt 0.645427 0.631294 +vt 0.627300 0.660373 +vt 0.662338 0.624730 +vt 0.671640 0.630911 +vt 0.653036 0.660756 +vt 0.500000 0.000000 +vt 0.415584 0.500000 +vt 0.500000 0.500000 +vt 0.500000 0.500000 +vt 0.415584 0.000000 +vt 0.415584 0.500000 +vt 0.558442 0.500000 +vt 0.500000 0.000000 +vt 0.500000 0.500000 +vt 0.558442 0.000000 +vt 0.500000 0.500000 +vt 0.558442 0.500000 +vt 0.642857 0.000000 +vt 0.558442 0.500000 +vt 0.642857 0.500000 +vt 0.642857 0.500000 +vt 0.558442 0.000000 +vt 0.558442 0.500000 +vt 0.675325 0.500000 +vt 0.642857 0.000000 +vt 0.642857 0.500000 +vt 0.675325 0.000000 +vt 0.642857 0.500000 +vt 0.675325 0.500000 +vt 0.155844 0.666667 +vt -0.000000 -0.000000 +vt -0.000000 -0.000000 +vt -0.000000 -0.000000 +vt -0.000000 -0.000000 +vt 0.415584 0.083333 +vt 0.363636 1.000000 +vt 0.363636 1.000000 +vt 0.363636 1.000000 +vt 0.363636 1.000000 +vt 0.675325 1.000000 +vt 0.675325 1.000000 +vt 0.441558 1.000000 +vt 0.441558 1.000000 +vt 0.441558 1.000000 +vt 0.441558 1.000000 +vt 0.792208 1.000000 +vt 0.415584 0.000000 +vt 0.500000 0.000000 +vt 0.558442 0.000000 +vt 0.500000 0.000000 +vt 0.558442 0.000000 +vt 0.642857 0.000000 +vt 0.675325 0.000000 +vt 0.642857 0.000000 +vt 0.792208 1.000000 +vt 0.649182 0.645834 +vt 0.645427 0.660374 +vt 0.636364 0.666396 +vt 0.623546 0.645834 +vt 0.627300 0.631294 +vt 0.675493 0.645833 +vt 0.671640 0.660756 +vt 0.662338 0.666937 +vt 0.649182 0.645833 +vt 0.653035 0.630911 +vt 0.415584 0.000000 +vt 0.500000 0.000000 +vt 0.558442 0.000000 +vt 0.500000 0.000000 +vt 0.558442 0.000000 +vt 0.642857 0.000000 +vt 0.675325 0.000000 +vt 0.642857 0.000000 +vt 0.724026 -0.000000 +vt 0.714286 0.666667 +vt 0.714286 0.000000 +vt 0.704545 -0.000000 +vt 0.694805 0.666667 +vt 0.694805 0.000000 +vt 0.685065 0.000000 +vt 0.675325 0.666667 +vt 0.675325 -0.000000 +vt 0.753247 0.000000 +vt 0.743506 0.666667 +vt 0.743506 -0.000000 +vt 0.733766 -0.000000 +vt 0.724026 0.666667 +vt 0.704545 0.666667 +vt 0.685065 0.666667 +vt 0.733766 0.666667 +vt 0.724026 0.671875 +vt 0.733766 0.697917 +vt 0.724026 0.697917 +vt 0.704545 0.671875 +vt 0.714286 0.697917 +vt 0.704545 0.697917 +vt 0.685065 0.692708 +vt 0.694805 0.697917 +vt 0.685065 0.697917 +vt 0.733766 0.682292 +vt 0.743506 0.697917 +vt 0.694805 0.682292 +vt 0.704545 0.723958 +vt 0.694805 0.713542 +vt 0.685065 0.703125 +vt 0.733766 0.713542 +vt 0.724026 0.723958 +vt 0.714286 0.729167 +vt 0.743506 0.692708 +vt 0.753247 0.697917 +vt 0.743506 0.703125 +vt 0.675325 0.697917 +vt 0.801948 0.000000 +vt 0.792208 0.666667 +vt 0.792208 0.000000 +vt 0.782468 0.000000 +vt 0.772727 0.666667 +vt 0.772727 0.000000 +vt 0.762987 -0.000000 +vt 0.753247 0.666667 +vt 0.753247 0.000000 +vt 0.831169 0.000000 +vt 0.821429 0.666667 +vt 0.821429 -0.000000 +vt 0.811688 -0.000000 +vt 0.801948 0.666667 +vt 0.782468 0.666667 +vt 0.762987 0.666667 +vt 0.811688 0.666667 +vt 0.801948 0.671875 +vt 0.811688 0.697917 +vt 0.801948 0.697917 +vt 0.782468 0.697917 +vt 0.782468 0.671875 +vt 0.772727 0.682292 +vt 0.762987 0.697917 +vt 0.762987 0.692708 +vt 0.821429 0.692708 +vt 0.811688 0.682292 +vt 0.792208 0.697917 +vt 0.772727 0.697917 +vt 0.782468 0.723958 +vt 0.772727 0.713542 +vt 0.762987 0.703125 +vt 0.821429 0.697917 +vt 0.811688 0.713542 +vt 0.801948 0.723958 +vt 0.792208 0.729167 +vt 0.831169 0.697917 +vt 0.821429 0.703125 +vt 0.753247 0.697917 +vt 0.753247 0.666667 +vt 0.831169 0.666667 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.6000 -0.8000 +vn 0.8000 0.6000 0.0000 +vn 0.0000 0.6000 0.8000 +vn -0.8000 0.6000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.7071 0.0000 0.7071 +vn 0.0000 0.1866 0.9824 +vn -0.7071 0.0000 0.7071 +vn -0.9987 0.0196 0.0473 +vn -0.7071 0.0000 -0.7071 +vn -0.0000 -0.1944 -0.9809 +vn 0.7263 -0.1363 -0.6737 +vn 0.7071 0.0000 -0.7071 +vn 0.6794 0.1448 0.7194 +vn -0.6794 0.1448 0.7194 +vn -0.7263 -0.1363 -0.6737 +vn 0.9987 0.0196 0.0473 +vn 0.9955 0.0671 0.0671 +vn 0.6630 0.5294 0.5294 +vn -0.0000 0.7071 0.7071 +vn -0.6630 0.5294 0.5294 +vn -0.9955 0.0671 0.0671 +vn -0.7574 -0.4617 -0.4617 +vn 0.7574 -0.4617 -0.4617 +vn -0.6333 0.7150 0.2962 +vn -0.9947 0.0948 0.0393 +vn -0.7311 -0.6303 -0.2611 +vn 0.9947 0.0948 0.0393 +vn 0.6333 0.7150 0.2962 +vn 0.0000 0.9239 0.3827 +vn 0.7311 -0.6303 -0.2611 +s off +f 2208/2866/116 2211/2867/116 2210/2868/116 +f 2184/2869/116 2189/2870/116 2185/2871/116 +f 2186/2872/116 2188/2873/116 2184/2869/116 +f 2187/2874/116 2190/2875/116 2186/2872/116 +f 2185/2871/116 2191/2876/116 2187/2874/116 +f 2191/2877/117 2194/2878/117 2190/2879/117 +f 2188/2880/118 2193/2881/118 2189/2882/118 +f 2189/2870/119 2195/2883/119 2191/2876/119 +f 2190/2884/120 2192/2885/120 2188/2886/120 +f 2193/2887/116 2199/2888/116 2195/2883/116 +f 2192/2889/116 2197/2890/116 2193/2881/116 +f 2194/2891/116 2196/2892/116 2192/2885/116 +f 2195/2893/116 2198/2894/116 2194/2878/116 +f 2197/2895/119 2203/2896/119 2199/2888/119 +f 2198/2897/120 2200/2898/120 2196/2892/120 +f 2199/2899/117 2202/2900/117 2198/2894/117 +f 2196/2901/118 2201/2902/118 2197/2890/118 +f 2205/2903/121 2184/2869/121 2185/2871/121 +f 2204/2904/122 2186/2872/122 2184/2869/122 +f 2206/2905/123 2187/2874/123 2186/2872/123 +f 2207/2906/124 2185/2871/124 2187/2874/124 +f 2218/2907/116 2216/2908/116 2217/2909/116 +f 2214/2910/117 2219/2911/117 2215/2912/117 +f 2215/2913/119 2218/2907/119 2213/2914/119 +f 2212/2915/120 2216/2908/120 2214/2916/120 +f 2226/2917/116 2224/2918/116 2225/2919/116 +f 2223/2920/119 2226/2917/119 2221/2921/119 +f 2220/2922/120 2224/2918/120 2222/2923/120 +f 2221/2924/118 2225/2919/118 2220/2925/118 +f 2239/2926/119 2254/2927/119 2237/2928/119 +f 2230/2929/117 2247/2930/117 2231/2931/117 +f 2238/2932/117 2255/2933/117 2239/2926/117 +f 2232/2934/120 2248/2935/120 2234/2936/120 +f 2240/2937/120 2256/2938/120 2242/2939/120 +f 2233/2940/118 2249/2941/118 2232/2942/118 +f 2241/2943/118 2257/2944/118 2240/2945/118 +f 2235/2946/119 2250/2947/119 2233/2940/119 +f 2243/2948/119 2258/2949/119 2241/2943/119 +f 2234/2936/117 2251/2950/117 2235/2946/117 +f 2228/2951/120 2244/2952/120 2230/2929/120 +f 2242/2939/117 2259/2953/117 2243/2948/117 +f 2236/2954/120 2252/2955/120 2238/2932/120 +f 2229/2956/118 2245/2957/118 2228/2958/118 +f 2237/2928/118 2253/2959/118 2236/2960/118 +f 2231/2931/119 2246/2961/119 2229/2956/119 +f 2262/2962/125 2261/2963/125 2260/2964/125 +f 2266/2965/116 2264/2966/116 2265/2967/116 +f 2262/2968/117 2267/2969/117 2263/2970/117 +f 2261/2971/118 2265/2972/118 2260/2973/118 +f 2263/2974/119 2266/2965/119 2261/2975/119 +f 2260/2976/120 2264/2977/120 2262/2978/120 +f 2271/2979/119 2278/2980/119 2269/2981/119 +f 2270/2982/117 2279/2983/117 2271/2979/117 +f 2272/2984/120 2280/2985/120 2274/2986/120 +f 2273/2987/118 2281/2988/118 2272/2989/118 +f 2275/2990/119 2282/2991/119 2273/2987/119 +f 2274/2986/117 2283/2992/117 2275/2990/117 +f 2268/2993/120 2276/2994/120 2270/2982/120 +f 2269/2981/118 2277/2995/118 2268/2996/118 +f 2287/2997/119 2294/2998/119 2285/2999/119 +f 2286/3000/117 2295/3001/117 2287/2997/117 +f 2288/3002/120 2296/3003/120 2290/3004/120 +f 2289/3005/118 2297/3006/118 2288/3007/118 +f 2291/3008/119 2298/3009/119 2289/3005/119 +f 2290/3004/117 2299/3010/117 2291/3008/117 +f 2284/3011/120 2292/3012/120 2286/3000/120 +f 2285/2999/118 2293/3013/118 2284/3014/118 +f 2334/3015/125 2333/3016/125 2332/3017/125 +f 2302/3018/117 2301/3019/117 2303/3020/117 +f 2305/3021/118 2306/3022/118 2307/3023/118 +f 2309/3024/120 2310/3025/120 2311/3026/120 +f 2314/3027/119 2313/3028/119 2315/3029/119 +f 2318/3030/117 2317/3031/117 2319/3032/117 +f 2321/3033/118 2322/3034/118 2323/3035/118 +f 2324/3036/120 2327/3037/120 2325/3038/120 +f 2331/3039/119 2328/3040/119 2329/3041/119 +f 2338/3042/116 2336/3043/116 2337/3044/116 +f 2334/3045/117 2339/3046/117 2335/3047/117 +f 2333/3048/118 2337/3049/118 2332/3050/118 +f 2335/3051/119 2338/3042/119 2333/3052/119 +f 2332/3053/120 2336/3054/120 2334/3055/120 +f 2348/3056/117 2363/3057/117 2367/3058/117 +f 2378/3059/117 2393/3060/117 2397/3061/117 +f 2401/3062/118 2402/3063/118 2403/3064/118 +f 2406/3065/117 2405/3066/117 2407/3067/117 +f 2410/3068/119 2409/3069/119 2411/3070/119 +f 2413/3071/120 2414/3072/120 2415/3073/120 +f 2417/3074/118 2418/3075/118 2419/3076/118 +f 2422/3077/117 2421/3078/117 2423/3079/117 +f 2427/3080/119 2424/3081/119 2425/3082/119 +f 2428/3083/120 2431/3084/120 2429/3085/120 +f 2208/2866/116 2209/3086/116 2211/2867/116 +f 2184/2869/116 2188/2873/116 2189/2870/116 +f 2186/2872/116 2190/2875/116 2188/2873/116 +f 2187/2874/116 2191/2876/116 2190/2875/116 +f 2185/2871/116 2189/2870/116 2191/2876/116 +f 2191/2877/117 2195/2893/117 2194/2878/117 +f 2188/2880/118 2192/2889/118 2193/2881/118 +f 2189/2870/119 2193/2887/119 2195/2883/119 +f 2190/2884/120 2194/2891/120 2192/2885/120 +f 2193/2887/116 2197/2895/116 2199/2888/116 +f 2192/2889/116 2196/2901/116 2197/2890/116 +f 2194/2891/116 2198/2897/116 2196/2892/116 +f 2195/2893/116 2199/2899/116 2198/2894/116 +f 2197/2895/119 2201/3087/119 2203/2896/119 +f 2198/2897/120 2202/3088/120 2200/2898/120 +f 2199/2899/117 2203/3089/117 2202/2900/117 +f 2196/2901/118 2200/3090/118 2201/2902/118 +f 2205/2903/121 2204/2904/121 2184/2869/121 +f 2204/2904/122 2206/2905/122 2186/2872/122 +f 2206/2905/123 2207/2906/123 2187/2874/123 +f 2207/2906/124 2205/2903/124 2185/2871/124 +f 2218/2907/116 2219/2911/116 2216/2908/116 +f 2214/2910/117 2216/2908/117 2219/2911/117 +f 2215/2913/119 2219/2911/119 2218/2907/119 +f 2212/2915/120 2217/2909/120 2216/2908/120 +f 2226/2917/116 2227/3091/116 2224/2918/116 +f 2223/2920/119 2227/3091/119 2226/2917/119 +f 2220/2922/120 2225/2919/120 2224/2918/120 +f 2221/2924/118 2226/2917/118 2225/2919/118 +f 2239/2926/119 2255/2933/119 2254/2927/119 +f 2230/2929/117 2244/2952/117 2247/2930/117 +f 2238/2932/117 2252/2955/117 2255/2933/117 +f 2232/2934/120 2249/3092/120 2248/2935/120 +f 2240/2937/120 2257/3093/120 2256/2938/120 +f 2233/2940/118 2250/2947/118 2249/2941/118 +f 2241/2943/118 2258/2949/118 2257/2944/118 +f 2235/2946/119 2251/2950/119 2250/2947/119 +f 2243/2948/119 2259/2953/119 2258/2949/119 +f 2234/2936/117 2248/2935/117 2251/2950/117 +f 2228/2951/120 2245/3094/120 2244/2952/120 +f 2242/2939/117 2256/2938/117 2259/2953/117 +f 2236/2954/120 2253/3095/120 2252/2955/120 +f 2229/2956/118 2246/2961/118 2245/2957/118 +f 2237/2928/118 2254/2927/118 2253/2959/118 +f 2231/2931/119 2247/2930/119 2246/2961/119 +f 2262/2962/125 2263/3096/125 2261/2963/125 +f 2266/2965/116 2267/2969/116 2264/2966/116 +f 2262/2968/117 2264/2966/117 2267/2969/117 +f 2261/2971/118 2266/3097/118 2265/2972/118 +f 2263/2974/119 2267/2969/119 2266/2965/119 +f 2260/2976/120 2265/2972/120 2264/2977/120 +f 2271/2979/119 2279/2983/119 2278/2980/119 +f 2270/2982/117 2276/2994/117 2279/2983/117 +f 2272/2984/120 2281/3098/120 2280/2985/120 +f 2273/2987/118 2282/2991/118 2281/2988/118 +f 2275/2990/119 2283/2992/119 2282/2991/119 +f 2274/2986/117 2280/2985/117 2283/2992/117 +f 2268/2993/120 2277/3099/120 2276/2994/120 +f 2269/2981/118 2278/2980/118 2277/2995/118 +f 2287/2997/119 2295/3001/119 2294/2998/119 +f 2286/3000/117 2292/3012/117 2295/3001/117 +f 2288/3002/120 2297/3100/120 2296/3003/120 +f 2289/3005/118 2298/3009/118 2297/3006/118 +f 2291/3008/119 2299/3010/119 2298/3009/119 +f 2290/3004/117 2296/3003/117 2299/3010/117 +f 2284/3011/120 2293/3101/120 2292/3012/120 +f 2285/2999/118 2294/2998/118 2293/3013/118 +f 2334/3015/125 2335/3102/125 2333/3016/125 +f 2302/3018/117 2300/3103/117 2301/3019/117 +f 2305/3021/118 2304/3104/118 2306/3022/118 +f 2309/3024/120 2308/3105/120 2310/3025/120 +f 2314/3027/119 2312/3106/119 2313/3028/119 +f 2318/3030/117 2316/3107/117 2317/3031/117 +f 2321/3033/118 2320/3108/118 2322/3034/118 +f 2324/3036/120 2326/3109/120 2327/3037/120 +f 2331/3039/119 2330/3110/119 2328/3040/119 +f 2338/3042/116 2339/3046/116 2336/3043/116 +f 2334/3045/117 2336/3043/117 2339/3046/117 +f 2333/3048/118 2338/3111/118 2337/3049/118 +f 2335/3051/119 2339/3046/119 2338/3042/119 +f 2332/3053/120 2337/3049/120 2336/3054/120 +f 2363/3057/117 2364/3112/117 2365/3113/117 +f 2365/3113/117 2366/3114/117 2363/3057/117 +f 2366/3114/117 2367/3058/117 2363/3057/117 +f 2367/3058/117 2368/3115/117 2369/3116/117 +f 2369/3116/117 2348/3056/117 2367/3058/117 +f 2393/3060/117 2394/3117/117 2395/3118/117 +f 2395/3118/117 2396/3119/117 2393/3060/117 +f 2396/3119/117 2397/3061/117 2393/3060/117 +f 2397/3061/117 2398/3120/117 2399/3121/117 +f 2399/3121/117 2378/3059/117 2397/3061/117 +f 2401/3062/118 2400/3122/118 2402/3063/118 +f 2406/3065/117 2404/3123/117 2405/3066/117 +f 2410/3068/119 2408/3124/119 2409/3069/119 +f 2413/3071/120 2412/3125/120 2414/3072/120 +f 2417/3074/118 2416/3126/118 2418/3075/118 +f 2422/3077/117 2420/3127/117 2421/3078/117 +f 2427/3080/119 2426/3128/119 2424/3081/119 +f 2428/3083/120 2430/3129/120 2431/3084/120 +s 1 +f 2345/3130/126 2352/3131/127 2344/3132/118 +f 2343/3133/128 2350/3134/129 2342/3135/120 +f 2341/3136/130 2348/3137/131 2340/3138/117 +f 2340/3139/117 2355/3140/132 2347/3141/133 +f 2346/3142/119 2353/3143/134 2345/3130/126 +f 2344/3132/118 2351/3144/135 2343/3133/128 +f 2342/3135/120 2349/3145/136 2341/3136/130 +f 2347/3141/133 2354/3146/137 2346/3142/119 +f 2353/3147/134 2361/3148/138 2360/3149/139 +f 2351/3150/135 2359/3151/140 2358/3152/141 +f 2349/3153/136 2357/3154/142 2356/3155/143 +f 2354/3156/137 2362/3157/144 2361/3148/138 +f 2352/3131/127 2360/3149/139 2359/3151/140 +f 2351/3150/135 2357/3154/142 2350/3158/129 +f 2359/3151/140 2365/3159/145 2358/3152/141 +f 2356/3155/143 2364/3160/146 2363/3161/147 +f 2362/3157/144 2368/3162/148 2361/3148/138 +f 2359/3151/140 2367/3163/149 2366/3164/150 +f 2357/3154/142 2365/3159/145 2364/3160/146 +f 2361/3148/138 2367/3163/149 2360/3149/139 +f 2355/3165/132 2348/3166/131 2362/3157/144 +f 2362/3157/144 2348/3166/131 2369/3167/151 +f 2349/3153/136 2356/3155/143 2348/3168/131 +f 2356/3155/143 2363/3161/147 2348/3168/131 +f 2375/3169/126 2382/3170/127 2374/3171/118 +f 2373/3172/128 2380/3173/129 2372/3174/120 +f 2371/3175/130 2378/3176/131 2370/3177/117 +f 2370/3178/117 2385/3179/132 2377/3180/133 +f 2376/3181/119 2383/3182/134 2375/3169/126 +f 2374/3171/118 2381/3183/135 2373/3172/128 +f 2372/3174/120 2379/3184/136 2371/3175/130 +f 2377/3180/133 2384/3185/137 2376/3181/119 +f 2383/3186/134 2391/3187/138 2390/3188/139 +f 2382/3170/127 2388/3189/141 2381/3190/135 +f 2380/3191/129 2386/3192/143 2379/3193/136 +f 2385/3194/132 2391/3187/138 2384/3195/137 +f 2382/3170/127 2390/3188/139 2389/3196/140 +f 2381/3190/135 2387/3197/142 2380/3191/129 +f 2389/3196/140 2395/3198/145 2388/3189/141 +f 2386/3192/143 2394/3199/146 2393/3200/147 +f 2392/3201/144 2398/3202/148 2391/3187/138 +f 2389/3196/140 2397/3203/149 2396/3204/150 +f 2387/3197/142 2395/3198/145 2394/3199/146 +f 2391/3187/138 2397/3203/149 2390/3188/139 +f 2385/3194/132 2378/3205/131 2392/3201/144 +f 2392/3201/144 2378/3205/131 2399/3206/151 +f 2379/3193/136 2386/3192/143 2378/3207/131 +f 2386/3192/143 2393/3200/147 2378/3207/131 +f 2345/3130/126 2353/3143/134 2352/3131/127 +f 2343/3133/128 2351/3144/135 2350/3134/129 +f 2341/3136/130 2349/3145/136 2348/3137/131 +f 2340/3139/117 2348/3208/131 2355/3140/132 +f 2346/3142/119 2354/3146/137 2353/3143/134 +f 2344/3132/118 2352/3131/127 2351/3144/135 +f 2342/3135/120 2350/3134/129 2349/3145/136 +f 2347/3141/133 2355/3140/132 2354/3146/137 +f 2353/3147/134 2354/3156/137 2361/3148/138 +f 2351/3150/135 2352/3131/127 2359/3151/140 +f 2349/3153/136 2350/3158/129 2357/3154/142 +f 2354/3156/137 2355/3165/132 2362/3157/144 +f 2352/3131/127 2353/3147/134 2360/3149/139 +f 2351/3150/135 2358/3152/141 2357/3154/142 +f 2359/3151/140 2366/3164/150 2365/3159/145 +f 2356/3155/143 2357/3154/142 2364/3160/146 +f 2362/3157/144 2369/3167/151 2368/3162/148 +f 2359/3151/140 2360/3149/139 2367/3163/149 +f 2357/3154/142 2358/3152/141 2365/3159/145 +f 2361/3148/138 2368/3162/148 2367/3163/149 +f 2375/3169/126 2383/3182/134 2382/3170/127 +f 2373/3172/128 2381/3183/135 2380/3173/129 +f 2371/3175/130 2379/3184/136 2378/3176/131 +f 2370/3178/117 2378/3209/131 2385/3179/132 +f 2376/3181/119 2384/3185/137 2383/3182/134 +f 2374/3171/118 2382/3170/127 2381/3183/135 +f 2372/3174/120 2380/3173/129 2379/3184/136 +f 2377/3180/133 2385/3179/132 2384/3185/137 +f 2383/3186/134 2384/3195/137 2391/3187/138 +f 2382/3170/127 2389/3196/140 2388/3189/141 +f 2380/3191/129 2387/3197/142 2386/3192/143 +f 2385/3194/132 2392/3201/144 2391/3187/138 +f 2382/3170/127 2383/3186/134 2390/3188/139 +f 2381/3190/135 2388/3189/141 2387/3197/142 +f 2389/3196/140 2396/3204/150 2395/3198/145 +f 2386/3192/143 2387/3197/142 2394/3199/146 +f 2392/3201/144 2399/3206/151 2398/3202/148 +f 2389/3196/140 2390/3188/139 2397/3203/149 +f 2387/3197/142 2388/3189/141 2395/3198/145 +f 2391/3187/138 2398/3202/148 2397/3203/149 +o Strong_Pad +v -2.500000 2.000000 2.500000 +v 2.500000 2.000000 2.500000 +v -2.500000 2.000000 -2.500000 +v 2.500000 2.000000 -2.500000 +v -0.500000 2.000000 0.500000 +v 0.500000 2.000000 0.500000 +v -0.500000 2.000000 -0.500000 +v 0.500000 2.000000 -0.500000 +v 2.500000 1.000000 2.500000 +v -2.500000 1.000000 -2.500000 +v -2.500000 1.000000 2.500000 +v 2.500000 1.000000 -2.500000 +v 2.500000 1.000000 1.500000 +v -2.500000 1.000000 1.500000 +v -2.500000 1.000000 -1.500000 +v 2.500000 1.000000 -1.500000 +v -1.500000 1.000000 -2.500000 +v -1.500000 1.000000 2.500000 +v 1.500000 1.000000 2.500000 +v 1.500000 1.000000 -2.500000 +v 2.500000 1.500000 0.500000 +v -2.500000 1.500000 0.500000 +v -2.500000 1.500000 -0.500000 +v 2.500000 1.500000 -0.500000 +v -0.500000 1.500000 -2.500000 +v -0.500000 1.500000 2.500000 +v 0.500000 1.500000 2.500000 +v 0.500000 1.500000 -2.500000 +v -0.500000 1.500000 0.500000 +v 0.500000 1.500000 0.500000 +v -0.500000 1.500000 -0.500000 +v 0.500000 1.500000 -0.500000 +v -1.500000 1.000000 -1.500000 +v 1.500000 1.000000 -1.500000 +v -1.500000 1.000000 1.500000 +v 1.500000 1.000000 1.500000 +v -1.500000 1.000000 -2.500000 +v 1.500000 1.000000 -2.500000 +v -1.500000 1.000000 -3.500000 +v 1.500000 1.000000 -3.500000 +v -1.500000 2.000000 -2.500000 +v 1.500000 2.000000 -2.500000 +v -1.500000 2.000000 -3.000000 +v -1.500000 1.500000 -3.500000 +v 1.500000 1.500000 -3.500000 +v 1.500000 2.000000 -3.000000 +v -1.000000 1.000000 3.500000 +v 1.000000 1.000000 3.500000 +v -1.000000 1.000000 2.500000 +v 1.000000 1.000000 2.500000 +v -1.000000 11.000000 2.500000 +v -1.000000 11.000000 3.500000 +v 1.000000 11.000000 3.500000 +v 1.000000 11.000000 2.500000 +v 3.250000 1.000000 2.500000 +v 3.500000 1.250000 2.500000 +v 2.500000 1.250000 2.500000 +v 2.750000 1.000000 2.500000 +v 3.500000 1.250000 4.500000 +v 3.250000 1.000000 4.500000 +v 2.750000 1.000000 4.500000 +v 2.500000 1.250000 4.500000 +v 1.500000 1.250000 4.500000 +v 1.750000 1.000000 4.500000 +v 2.250000 1.000000 4.500000 +v 2.500000 1.250000 4.500000 +v 1.750000 1.000000 2.500000 +v 1.500000 1.250000 2.500000 +v 2.500000 1.250000 2.500000 +v 2.250000 1.000000 2.500000 +v 1.500000 1.750000 2.500000 +v 1.750000 2.000000 2.500000 +v 1.750000 2.000000 4.500000 +v 1.500000 1.750000 4.500000 +v 2.500000 1.750000 4.500000 +v 2.250000 2.000000 4.500000 +v 2.250000 2.000000 2.500000 +v 2.500000 1.750000 2.500000 +v 2.500000 1.750000 2.500000 +v 2.750000 2.000000 2.500000 +v 2.750000 2.000000 4.500000 +v 2.500000 1.750000 4.500000 +v 3.500000 1.750000 4.500000 +v 3.250000 2.000000 4.500000 +v 3.250000 2.000000 2.500000 +v 3.500000 1.750000 2.500000 +v 3.000000 2.000000 2.625000 +v 2.911612 2.000000 2.661612 +v 2.875000 2.000000 2.750000 +v 2.911612 2.000000 2.838388 +v 3.000000 2.000000 2.875000 +v 3.088388 2.000000 2.838388 +v 3.125000 2.000000 2.750000 +v 3.088388 2.000000 2.661612 +v 2.963388 2.088388 2.625000 +v 2.900888 2.025888 2.661612 +v 2.900888 2.025888 2.838388 +v 2.963388 2.088388 2.875000 +v 3.025888 2.150888 2.838388 +v 3.051777 2.176777 2.750000 +v 3.025888 2.150888 2.661612 +v 2.875000 2.125000 2.625000 +v 2.875000 2.036612 2.661612 +v 2.875000 2.036612 2.838388 +v 2.875000 2.125000 2.875000 +v 2.875000 2.213388 2.838388 +v 2.875000 2.250000 2.750000 +v 2.875000 2.213388 2.661612 +v 1.000000 2.000000 2.750000 +v 1.000000 2.125000 2.625000 +v 1.000000 2.036612 2.661612 +v 1.000000 2.036612 2.838388 +v 1.000000 2.125000 2.875000 +v 1.000000 2.213388 2.838388 +v 1.000000 2.250000 2.750000 +v 1.000000 2.213388 2.661612 +v 2.000000 2.000000 3.125000 +v 1.911612 2.000000 3.161612 +v 1.875000 2.000000 3.250000 +v 1.911612 2.000000 3.338388 +v 2.000000 2.000000 3.375000 +v 2.088388 2.000000 3.338388 +v 2.125000 2.000000 3.250000 +v 2.088388 2.000000 3.161612 +v 1.963388 2.088388 3.125000 +v 1.900888 2.025888 3.161612 +v 1.900888 2.025888 3.338388 +v 1.963388 2.088388 3.375000 +v 2.025888 2.150888 3.338388 +v 2.051777 2.176777 3.250000 +v 2.025888 2.150888 3.161612 +v 1.875000 2.125000 3.125000 +v 1.875000 2.036612 3.161612 +v 1.875000 2.036612 3.338388 +v 1.875000 2.125000 3.375000 +v 1.875000 2.213388 3.338388 +v 1.875000 2.250000 3.250000 +v 1.875000 2.213388 3.161612 +v 1.000000 2.000000 3.250000 +v 1.000000 2.125000 3.125000 +v 1.000000 2.036612 3.161612 +v 1.000000 2.036612 3.338388 +v 1.000000 2.125000 3.375000 +v 1.000000 2.213388 3.338388 +v 1.000000 2.250000 3.250000 +v 1.000000 2.213388 3.161612 +v -0.500000 2.000000 0.500000 +v 0.500000 2.000000 0.500000 +v -0.500000 2.000000 -0.500000 +v 0.500000 2.000000 -0.500000 +v -1.750000 1.000000 2.500000 +v -1.500000 1.250000 2.500000 +v -2.500000 1.250000 2.500000 +v -2.250000 1.000000 2.500000 +v -1.500000 1.250000 4.500000 +v -1.750000 1.000000 4.500000 +v -2.250000 1.000000 4.500000 +v -2.500000 1.250000 4.500000 +v -3.500000 1.250000 4.500000 +v -3.250000 1.000000 4.500000 +v -2.750000 1.000000 4.500000 +v -2.500000 1.250000 4.500000 +v -3.250000 1.000000 2.500000 +v -3.500000 1.250000 2.500000 +v -2.500000 1.250000 2.500000 +v -2.750000 1.000000 2.500000 +v -3.500000 1.750000 2.500000 +v -3.250000 2.000000 2.500000 +v -3.250000 2.000000 4.500000 +v -3.500000 1.750000 4.500000 +v -2.500000 1.750000 4.500000 +v -2.750000 2.000000 4.500000 +v -2.750000 2.000000 2.500000 +v -2.500000 1.750000 2.500000 +v -2.500000 1.750000 2.500000 +v -2.250000 2.000000 2.500000 +v -2.250000 2.000000 4.500000 +v -2.500000 1.750000 4.500000 +v -1.500000 1.750000 4.500000 +v -1.750000 2.000000 4.500000 +v -1.750000 2.000000 2.500000 +v -1.500000 1.750000 2.500000 +v -3.000000 2.000000 3.375000 +v -2.911612 2.000000 3.338389 +v -2.875000 2.000000 3.250000 +v -2.911612 2.000000 3.161612 +v -3.000000 2.000000 3.125000 +v -3.088388 2.000000 3.161612 +v -3.125000 2.000000 3.250000 +v -3.088388 2.000000 3.338389 +v -2.963388 2.088388 3.375000 +v -2.900888 2.025888 3.338389 +v -2.900888 2.025888 3.161612 +v -2.963388 2.088388 3.125000 +v -3.025888 2.150888 3.161612 +v -3.051777 2.176777 3.250000 +v -3.025888 2.150888 3.338389 +v -2.875000 2.125000 3.375000 +v -2.875000 2.036612 3.338389 +v -2.875000 2.036612 3.161612 +v -2.875000 2.125000 3.125000 +v -2.875000 2.213388 3.161612 +v -2.875000 2.250000 3.250000 +v -2.875000 2.213388 3.338389 +v -1.000000 2.000000 3.250000 +v -1.000000 2.125000 3.375000 +v -1.000000 2.036612 3.338388 +v -1.000000 2.036612 3.161612 +v -1.000000 2.125000 3.125000 +v -1.000000 2.213388 3.161612 +v -1.000000 2.250000 3.250000 +v -1.000000 2.213388 3.338388 +v -2.000000 2.000000 2.875000 +v -1.911612 2.000000 2.838389 +v -1.875000 2.000000 2.750000 +v -1.911612 2.000000 2.661612 +v -2.000000 2.000000 2.625000 +v -2.088388 2.000000 2.661612 +v -2.125000 2.000000 2.750000 +v -2.088388 2.000000 2.838389 +v -1.963388 2.088388 2.875000 +v -1.900888 2.025888 2.838389 +v -1.900888 2.025888 2.661612 +v -1.963388 2.088388 2.625000 +v -2.025888 2.150888 2.661612 +v -2.051777 2.176777 2.750000 +v -2.025888 2.150888 2.838389 +v -1.875000 2.125000 2.875000 +v -1.875000 2.036612 2.838389 +v -1.875000 2.036612 2.661612 +v -1.875000 2.125000 2.625000 +v -1.875000 2.213388 2.661612 +v -1.875000 2.250000 2.750000 +v -1.875000 2.213388 2.838389 +v -1.000000 2.000000 2.750000 +v -1.000000 2.125000 2.875000 +v -1.000000 2.036612 2.838388 +v -1.000000 2.036612 2.661612 +v -1.000000 2.125000 2.625000 +v -1.000000 2.213388 2.661612 +v -1.000000 2.250000 2.750000 +v -1.000000 2.213388 2.838388 +vt 0.102564 0.719101 +vt -0.000000 0.988764 +vt -0.000000 0.539326 +vt 0.102564 0.269663 +vt 0.153846 0.224719 +vt 0.153846 0.269663 +vt 0.102564 0.808989 +vt 0.256410 0.988764 +vt 0.153846 0.808989 +vt 0.256410 0.539326 +vt 0.153846 0.719101 +vt 0.256410 0.539326 +vt -0.000000 0.539326 +vt 0.153846 0.494382 +vt 0.256410 0.539326 +vt -0.000000 0.539326 +vt 0.153846 0.494382 +vt 0.256410 0.539326 +vt -0.000000 0.539326 +vt 0.153846 0.494382 +vt 0.153846 0.494382 +vt 0.102564 0.269663 +vt 0.153846 0.224719 +vt 0.153846 0.269663 +vt 0.102564 0.269663 +vt 0.153846 0.224719 +vt 0.153846 0.269663 +vt 0.102564 0.269663 +vt 0.153846 0.224719 +vt 0.153846 0.269663 +vt 0.102564 0.449438 +vt 0.153846 0.269663 +vt 0.153846 0.449438 +vt -0.000000 0.179775 +vt 0.102564 0.269663 +vt -0.000000 0.269663 +vt 0.153846 0.000000 +vt 0.102564 0.179775 +vt 0.102564 -0.000000 +vt 0.256410 0.269663 +vt 0.153846 0.179775 +vt 0.256410 0.179775 +vt 0.051282 0.359551 +vt 0.051282 0.449438 +vt 0.205128 0.359551 +vt 0.205128 0.449438 +vt 0.205128 0.089888 +vt 0.205128 0.000000 +vt 0.051282 0.089888 +vt 0.051282 -0.000000 +vt 0.794872 0.359551 +vt 0.769231 0.089888 +vt 0.794872 0.089888 +vt 0.717949 0.089888 +vt 0.743590 0.359551 +vt 0.717949 0.359551 +vt 0.743590 0.089888 +vt 0.717949 -0.000000 +vt 0.769231 0.044944 +vt 0.666667 0.089888 +vt 0.666667 0.359551 +vt 0.769231 0.359551 +vt 0.717949 0.449438 +vt 0.769231 0.404494 +vt 0.615385 0.651685 +vt 0.602564 0.719101 +vt 0.564103 0.696629 +vt 0.358974 0.898876 +vt 0.256410 0.988764 +vt 0.256410 0.898876 +vt 0.410256 -0.000000 +vt 0.358974 -0.000000 +vt 0.564103 -0.000000 +vt 0.512821 0.898876 +vt 0.512821 -0.000000 +vt 0.410256 0.898876 +vt 0.256410 -0.000000 +vt 0.615385 0.292135 +vt 0.602564 0.359551 +vt 0.564103 0.337079 +vt 0.564103 0.449438 +vt 0.666667 0.494382 +vt 0.564103 0.494382 +vt 0.666667 0.382022 +vt 0.564103 0.426966 +vt 0.564103 0.382022 +vt 0.666667 0.651685 +vt 0.653846 0.719101 +vt 0.615385 0.696629 +vt 0.666667 0.584270 +vt 0.564103 0.629214 +vt 0.564103 0.584270 +vt 0.666667 0.561798 +vt 0.666667 0.359551 +vt 0.564103 0.359551 +vt 0.564103 0.516854 +vt 0.666667 0.516854 +vt 0.666667 0.426966 +vt 0.564103 0.561798 +vt 0.564103 0.089888 +vt 0.666667 0.134831 +vt 0.564103 0.134831 +vt 0.666667 0.022472 +vt 0.564103 0.067416 +vt 0.564103 0.022472 +vt 0.666667 0.292135 +vt 0.653846 0.359551 +vt 0.615385 0.337079 +vt 0.666667 0.224719 +vt 0.564103 0.269663 +vt 0.564103 0.224719 +vt 0.666667 0.202247 +vt 0.666667 0.000000 +vt 0.564103 -0.000000 +vt 0.564103 0.157303 +vt 0.666667 0.157303 +vt 0.666667 0.067416 +vt 0.564103 0.202247 +vt 0.102564 0.808989 +vt 0.153846 0.719101 +vt 0.153846 0.808989 +vt 0.615385 0.651685 +vt 0.602564 0.719101 +vt 0.564103 0.696629 +vt 0.615385 0.292135 +vt 0.602564 0.359551 +vt 0.564103 0.337079 +vt 0.564103 0.449438 +vt 0.666667 0.494382 +vt 0.564103 0.494382 +vt 0.666667 0.382022 +vt 0.564103 0.426966 +vt 0.564103 0.382022 +vt 0.666667 0.651685 +vt 0.653846 0.719101 +vt 0.615385 0.696629 +vt 0.666667 0.584270 +vt 0.564103 0.629214 +vt 0.564103 0.584270 +vt 0.666667 0.561798 +vt 0.666667 0.359551 +vt 0.564103 0.359551 +vt 0.564103 0.516854 +vt 0.666667 0.516854 +vt 0.666667 0.426966 +vt 0.564103 0.561798 +vt 0.564103 0.089888 +vt 0.666667 0.134831 +vt 0.564103 0.134831 +vt 0.666667 0.022472 +vt 0.564103 0.067416 +vt 0.564103 0.022472 +vt 0.666667 0.292135 +vt 0.653846 0.359551 +vt 0.615385 0.337079 +vt 0.666667 0.224719 +vt 0.564103 0.269663 +vt 0.564103 0.224719 +vt 0.666667 0.202247 +vt 0.666667 0.000000 +vt 0.564103 -0.000000 +vt 0.564103 0.157303 +vt 0.666667 0.157303 +vt 0.666667 0.067416 +vt 0.564103 0.202247 +vt 0.102564 0.224719 +vt 0.205128 0.449438 +vt 0.256410 0.449438 +vt 0.000000 0.449438 +vt 0.051282 0.449438 +vt 0.102564 0.494382 +vt 0.205128 0.449438 +vt 0.256410 0.449438 +vt -0.000000 0.449438 +vt 0.051282 0.449438 +vt 0.102564 0.494382 +vt 0.205128 0.449438 +vt 0.256410 0.449438 +vt 0.000000 0.449438 +vt 0.051282 0.449438 +vt 0.102564 0.494382 +vt 0.256410 0.449438 +vt -0.000000 0.449438 +vt 0.102564 0.494382 +vt 0.102564 0.224719 +vt 0.102564 0.224719 +vt 0.102564 0.224719 +vt -0.000000 0.359551 +vt 0.256410 0.359551 +vt 0.256410 0.089888 +vt -0.000000 0.089888 +vt 0.769231 -0.000000 +vt 0.769231 0.449438 +vt 0.564103 0.651685 +vt 0.576923 0.629214 +vt 0.602564 0.629214 +vt 0.615385 0.696629 +vt 0.576923 0.719101 +vt 0.358974 0.988764 +vt 0.564103 0.898876 +vt 0.564103 0.292135 +vt 0.576923 0.269663 +vt 0.602564 0.269663 +vt 0.615385 0.337079 +vt 0.576923 0.359551 +vt 0.666667 0.449438 +vt 0.615385 0.651685 +vt 0.628205 0.629214 +vt 0.653846 0.629214 +vt 0.666667 0.696629 +vt 0.628205 0.719101 +vt 0.666667 0.629214 +vt 0.666667 0.089888 +vt 0.615385 0.292135 +vt 0.628205 0.269663 +vt 0.653846 0.269663 +vt 0.666667 0.337079 +vt 0.628205 0.359551 +vt 0.666667 0.269663 +vt 0.102564 0.719101 +vt 0.564103 0.651685 +vt 0.576923 0.629214 +vt 0.602564 0.629214 +vt 0.615385 0.696629 +vt 0.576923 0.719101 +vt 0.564103 0.292135 +vt 0.576923 0.269663 +vt 0.602564 0.269663 +vt 0.615385 0.337079 +vt 0.576923 0.359551 +vt 0.666667 0.449438 +vt 0.615385 0.651685 +vt 0.628205 0.629214 +vt 0.653846 0.629214 +vt 0.666667 0.696629 +vt 0.628205 0.719101 +vt 0.666667 0.629214 +vt 0.666667 0.089888 +vt 0.615385 0.292135 +vt 0.628205 0.269663 +vt 0.653846 0.269663 +vt 0.666667 0.337079 +vt 0.628205 0.359551 +vt 0.666667 0.269663 +vt 0.634615 0.904494 +vt 0.641026 0.921348 +vt 0.634615 0.921348 +vt 0.647436 0.921348 +vt 0.653846 0.904494 +vt 0.653846 0.915730 +vt 0.621795 0.904494 +vt 0.628205 0.915730 +vt 0.621795 0.910112 +vt 0.628205 0.904494 +vt 0.641026 0.904494 +vt 0.660256 0.904494 +vt 0.660256 0.910112 +vt 0.647436 0.887640 +vt 0.647436 0.904494 +vt 0.621795 0.898876 +vt 0.628205 0.893258 +vt 0.641026 0.887640 +vt 0.660256 0.898876 +vt 0.666667 0.904494 +vt 0.615385 0.904494 +vt 0.621795 0.887640 +vt 0.628205 0.719101 +vt 0.628205 0.887640 +vt 0.615385 0.887640 +vt 0.621795 0.719101 +vt 0.634615 0.719101 +vt 0.634615 0.887640 +vt 0.660256 0.887640 +vt 0.666667 0.719101 +vt 0.666667 0.887640 +vt 0.647436 0.719101 +vt 0.653846 0.887640 +vt 0.660256 0.719101 +vt 0.641026 0.719101 +vt 0.653846 0.719101 +vt 0.583333 0.831461 +vt 0.589744 0.814607 +vt 0.589744 0.831461 +vt 0.596154 0.814607 +vt 0.602564 0.825843 +vt 0.596154 0.831461 +vt 0.570513 0.814607 +vt 0.576923 0.825843 +vt 0.570513 0.820225 +vt 0.576923 0.814607 +vt 0.602564 0.814607 +vt 0.608974 0.820225 +vt 0.602564 0.803371 +vt 0.570513 0.808989 +vt 0.583333 0.797753 +vt 0.583333 0.814607 +vt 0.589744 0.797753 +vt 0.608974 0.808989 +vt 0.608974 0.814607 +vt 0.615385 0.814607 +vt 0.564103 0.814607 +vt 0.570513 0.797753 +vt 0.576923 0.719101 +vt 0.576923 0.797753 +vt 0.564103 0.797753 +vt 0.570513 0.719101 +vt 0.583333 0.719101 +vt 0.608974 0.797753 +vt 0.615385 0.719101 +vt 0.615385 0.797753 +vt 0.596154 0.719101 +vt 0.596154 0.797753 +vt 0.602564 0.797753 +vt 0.608974 0.719101 +vt 0.589744 0.719101 +vt 0.602564 0.719101 +vt 0.634615 0.921348 +vt 0.641026 0.904494 +vt 0.641026 0.921348 +vt 0.647436 0.921348 +vt 0.653846 0.904494 +vt 0.653846 0.915730 +vt 0.621795 0.904494 +vt 0.628205 0.915730 +vt 0.621795 0.910112 +vt 0.628205 0.904494 +vt 0.647436 0.904494 +vt 0.660256 0.904494 +vt 0.660256 0.910112 +vt 0.653846 0.893258 +vt 0.621795 0.898876 +vt 0.628205 0.893258 +vt 0.634615 0.904494 +vt 0.641026 0.887640 +vt 0.660256 0.898876 +vt 0.666667 0.904494 +vt 0.615385 0.904494 +vt 0.621795 0.887640 +vt 0.628205 0.719101 +vt 0.628205 0.887640 +vt 0.615385 0.887640 +vt 0.621795 0.719101 +vt 0.634615 0.719101 +vt 0.634615 0.887640 +vt 0.660256 0.887640 +vt 0.666667 0.719101 +vt 0.666667 0.887640 +vt 0.647436 0.719101 +vt 0.647436 0.887640 +vt 0.653846 0.887640 +vt 0.660256 0.719101 +vt 0.641026 0.719101 +vt 0.653846 0.719101 +vt 0.583333 0.831461 +vt 0.589744 0.814607 +vt 0.589744 0.831461 +vt 0.596154 0.814607 +vt 0.602564 0.825843 +vt 0.596154 0.831461 +vt 0.570513 0.814607 +vt 0.576923 0.825843 +vt 0.570513 0.820225 +vt 0.576923 0.814607 +vt 0.608974 0.814607 +vt 0.608974 0.820225 +vt 0.596154 0.797753 +vt 0.602564 0.814607 +vt 0.576923 0.803371 +vt 0.583333 0.814607 +vt 0.589744 0.797753 +vt 0.608974 0.808989 +vt 0.583333 0.797753 +vt 0.615385 0.814607 +vt 0.564103 0.814607 +vt 0.570513 0.808989 +vt 0.570513 0.797753 +vt 0.576923 0.719101 +vt 0.576923 0.797753 +vt 0.564103 0.797753 +vt 0.570513 0.719101 +vt 0.583333 0.719101 +vt 0.608974 0.797753 +vt 0.615385 0.719101 +vt 0.615385 0.797753 +vt 0.596154 0.719101 +vt 0.602564 0.797753 +vt 0.608974 0.719101 +vt 0.589744 0.719101 +vt 0.602564 0.719101 +vt 0.653846 0.893258 +vt 0.615385 0.719101 +vt 0.576923 0.803371 +vt 0.564103 0.719101 +vt 0.615385 0.719101 +vt 0.602564 0.803371 +vt 0.564103 0.719101 +vn 0.0000 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn -0.4472 -0.8944 0.0000 +vn 0.0000 -0.8944 -0.4472 +vn 0.0000 -0.8944 0.4472 +vn 0.4472 -0.8944 0.0000 +vn 0.0000 0.7071 -0.7071 +vn -0.7071 -0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.5293 0.5293 -0.6630 +vn 0.9239 0.3827 0.0000 +vn 0.7150 0.2962 -0.6332 +vn 0.7150 0.2962 0.6332 +vn 0.0670 0.0670 0.9955 +vn 0.0948 0.0392 0.9947 +vn -0.4617 -0.4617 -0.7573 +vn 0.0948 0.0392 -0.9947 +vn -0.6303 -0.2611 -0.7311 +vn 0.0670 0.0670 -0.9955 +vn -0.4617 -0.4617 0.7573 +vn -0.6303 -0.2611 0.7311 +vn 0.1447 0.7194 0.6794 +vn 0.5293 0.5293 0.6630 +vn -0.1363 -0.6737 -0.7263 +vn 0.0196 0.0473 -0.9987 +vn 0.1866 0.9824 0.0000 +vn -0.1363 -0.6737 0.7263 +vn -0.1944 -0.9809 0.0000 +vn 0.0000 -0.7071 -0.7071 +vn 0.1447 0.7194 -0.6794 +vn 0.0000 0.7071 0.7071 +vn 0.0196 0.0473 0.9987 +vn 0.0000 -0.7071 0.7071 +vn -0.7150 0.2962 0.6332 +vn -0.9239 0.3827 0.0000 +vn -0.7150 0.2962 -0.6332 +vn -0.0670 0.0670 -0.9955 +vn -0.0948 0.0392 -0.9947 +vn 0.4617 -0.4617 0.7573 +vn -0.0948 0.0392 0.9947 +vn 0.6303 -0.2611 0.7311 +vn -0.0670 0.0670 0.9955 +vn -0.5293 0.5293 -0.6630 +vn 0.4617 -0.4617 -0.7573 +vn 0.6303 -0.2611 -0.7311 +vn -0.0196 0.0473 -0.9987 +vn 0.1363 -0.6737 0.7263 +vn -0.0196 0.0473 0.9987 +vn -0.5293 0.5293 0.6630 +vn -0.1866 0.9824 0.0000 +vn 0.1363 -0.6737 -0.7263 +vn 0.1944 -0.9809 0.0000 +vn -0.1447 0.7194 0.6794 +vn -0.1447 0.7194 -0.6794 +s off +f 2437/3210/152 2432/3211/152 2433/3212/152 +f 2439/3213/153 2461/3214/153 2437/3215/153 +f 2436/3216/152 2434/3217/152 2432/3211/152 +f 2438/3218/152 2435/3219/152 2434/3217/152 +f 2439/3220/152 2433/3212/152 2435/3219/152 +f 2433/3221/154 2432/3222/154 2458/3223/154 +f 2432/3224/153 2434/3225/153 2453/3226/153 +f 2434/3227/155 2435/3228/155 2456/3229/155 +f 2435/3219/156 2433/3212/156 2455/3230/156 +f 2436/3231/156 2462/3232/156 2438/3233/156 +f 2438/3234/154 2463/3235/154 2439/3236/154 +f 2437/3237/155 2460/3238/155 2436/3239/155 +f 2452/3240/157 2463/3241/157 2455/3242/157 +f 2457/3243/157 2461/3244/157 2458/3245/157 +f 2454/3246/157 2460/3247/157 2453/3248/157 +f 2459/3249/157 2462/3250/157 2456/3251/157 +f 2467/3252/158 2458/3245/158 2461/3244/158 +f 2467/3252/159 2452/3240/159 2444/3253/159 +f 2455/3242/160 2465/3254/160 2447/3255/160 +f 2459/3249/158 2465/3254/158 2463/3241/158 +f 2464/3256/161 2456/3251/161 2462/3250/161 +f 2464/3256/160 2454/3246/160 2446/3257/160 +f 2453/3248/159 2466/3258/159 2445/3259/159 +f 2457/3243/161 2466/3258/161 2460/3247/161 +f 2470/3260/155 2476/3261/155 2471/3262/155 +f 2473/3263/152 2474/3264/152 2472/3265/152 +f 2477/3266/156 2469/3267/156 2476/3268/156 +f 2469/3269/154 2472/3265/154 2468/3270/154 +f 2475/3271/162 2477/3266/162 2476/3261/162 +f 2468/3272/153 2474/3264/153 2475/3273/153 +f 2497/3274/154 2507/3275/154 2505/3276/154 +f 2484/3277/152 2482/3278/152 2483/3279/152 +f 2481/3280/156 2484/3277/156 2479/3281/156 +f 2478/3282/153 2482/3283/153 2480/3284/153 +f 2480/3284/155 2485/3285/155 2481/3280/155 +f 2479/3281/154 2483/3279/154 2478/3286/154 +f 2490/3287/154 2515/3288/154 2513/3289/154 +f 2507/3290/152 2503/3291/152 2504/3292/152 +f 2500/3293/156 2506/3294/156 2497/3295/156 +f 2499/3296/155 2503/3297/155 2509/3298/155 +f 2498/3299/157 2496/3300/157 2495/3301/157 +f 2495/3301/163 2499/3302/163 2498/3299/163 +f 2501/3303/164 2497/3295/164 2496/3304/164 +f 2505/3305/165 2503/3291/165 2502/3306/165 +f 2509/3307/166 2507/3290/166 2506/3294/166 +f 2494/3308/153 2502/3306/153 2499/3302/153 +f 2515/3309/152 2511/3310/152 2512/3311/152 +f 2487/3312/156 2514/3313/156 2490/3314/156 +f 2488/3315/155 2511/3316/155 2517/3317/155 +f 2489/3318/157 2491/3319/157 2492/3320/157 +f 2492/3320/163 2488/3321/163 2489/3318/163 +f 2486/3322/164 2490/3314/164 2491/3323/164 +f 2513/3324/165 2511/3310/165 2510/3325/165 +f 2517/3326/166 2515/3309/166 2514/3313/166 +f 2493/3327/153 2510/3325/153 2488/3321/153 +f 2578/3328/152 2581/3329/152 2580/3330/152 +f 2593/3331/154 2603/3332/154 2601/3333/154 +f 2586/3334/154 2611/3335/154 2609/3336/154 +f 2603/3337/152 2599/3338/152 2600/3339/152 +f 2596/3340/156 2602/3341/156 2593/3342/156 +f 2595/3343/155 2599/3344/155 2605/3345/155 +f 2594/3346/157 2592/3347/157 2591/3348/157 +f 2591/3348/163 2595/3349/163 2594/3346/163 +f 2597/3350/164 2593/3342/164 2592/3351/164 +f 2601/3352/165 2599/3338/165 2598/3353/165 +f 2605/3354/166 2603/3337/166 2602/3341/166 +f 2590/3355/153 2598/3353/153 2595/3349/153 +f 2611/3356/152 2607/3357/152 2608/3358/152 +f 2583/3359/156 2610/3360/156 2586/3361/156 +f 2584/3362/155 2607/3363/155 2613/3364/155 +f 2585/3365/157 2587/3366/157 2588/3367/157 +f 2588/3367/163 2584/3368/163 2585/3365/163 +f 2582/3369/164 2586/3361/164 2587/3370/164 +f 2609/3371/165 2607/3357/165 2606/3372/165 +f 2613/3373/166 2611/3356/166 2610/3360/166 +f 2589/3374/153 2606/3372/153 2584/3368/153 +f 2437/3210/152 2436/3216/152 2432/3211/152 +f 2439/3213/153 2463/3375/153 2461/3214/153 +f 2436/3216/152 2438/3218/152 2434/3217/152 +f 2438/3218/152 2439/3220/152 2435/3219/152 +f 2439/3220/152 2437/3210/152 2433/3212/152 +f 2450/3376/154 2440/3377/154 2433/3221/154 +f 2432/3222/154 2442/3378/154 2449/3379/154 +f 2432/3222/154 2449/3379/154 2457/3380/154 +f 2458/3223/154 2450/3376/154 2433/3221/154 +f 2432/3222/154 2457/3380/154 2458/3223/154 +f 2445/3381/153 2442/3382/153 2432/3224/153 +f 2434/3225/153 2441/3383/153 2446/3384/153 +f 2434/3225/153 2446/3384/153 2454/3385/153 +f 2453/3226/153 2445/3381/153 2432/3224/153 +f 2434/3225/153 2454/3385/153 2453/3226/153 +f 2448/3386/155 2441/3387/155 2434/3227/155 +f 2435/3228/155 2443/3388/155 2451/3389/155 +f 2435/3228/155 2451/3389/155 2459/3390/155 +f 2456/3229/155 2448/3386/155 2434/3227/155 +f 2435/3228/155 2459/3390/155 2456/3229/155 +f 2447/3255/156 2443/3391/156 2435/3219/156 +f 2433/3212/156 2440/3392/156 2444/3253/156 +f 2433/3212/156 2444/3253/156 2452/3393/156 +f 2455/3230/156 2447/3255/156 2435/3219/156 +f 2433/3212/156 2452/3393/156 2455/3230/156 +f 2436/3231/156 2460/3394/156 2462/3232/156 +f 2438/3234/154 2462/3395/154 2463/3235/154 +f 2437/3237/155 2461/3396/155 2460/3238/155 +f 2452/3240/157 2461/3244/157 2463/3241/157 +f 2457/3243/157 2460/3247/157 2461/3244/157 +f 2454/3246/157 2462/3250/157 2460/3247/157 +f 2459/3249/157 2463/3241/157 2462/3250/157 +f 2467/3252/158 2450/3397/158 2458/3245/158 +f 2467/3252/159 2461/3244/159 2452/3240/159 +f 2455/3242/160 2463/3241/160 2465/3254/160 +f 2459/3249/158 2451/3398/158 2465/3254/158 +f 2464/3256/161 2448/3399/161 2456/3251/161 +f 2464/3256/160 2462/3250/160 2454/3246/160 +f 2453/3248/159 2460/3247/159 2466/3258/159 +f 2457/3243/161 2449/3400/161 2466/3258/161 +f 2470/3260/155 2475/3271/155 2476/3261/155 +f 2473/3263/152 2477/3266/152 2474/3264/152 +f 2473/3263/156 2469/3267/156 2477/3266/156 +f 2469/3267/156 2471/3401/156 2476/3268/156 +f 2469/3269/154 2473/3263/154 2472/3265/154 +f 2475/3271/162 2474/3264/162 2477/3266/162 +f 2475/3273/153 2470/3402/153 2468/3272/153 +f 2468/3272/153 2472/3265/153 2474/3264/153 +f 2505/3276/154 2494/3403/154 2495/3404/154 +f 2495/3404/154 2496/3405/154 2497/3274/154 +f 2497/3274/154 2506/3406/154 2507/3275/154 +f 2507/3275/154 2504/3407/154 2505/3276/154 +f 2505/3276/154 2495/3404/154 2497/3274/154 +f 2484/3277/152 2485/3408/152 2482/3278/152 +f 2481/3280/156 2485/3285/156 2484/3277/156 +f 2478/3282/153 2483/3409/153 2482/3283/153 +f 2480/3284/155 2482/3283/155 2485/3285/155 +f 2479/3281/154 2484/3277/154 2483/3279/154 +f 2513/3289/154 2493/3410/154 2492/3411/154 +f 2492/3411/154 2491/3412/154 2490/3287/154 +f 2490/3287/154 2514/3413/154 2515/3288/154 +f 2515/3288/154 2512/3414/154 2513/3289/154 +f 2513/3289/154 2492/3411/154 2490/3287/154 +f 2507/3290/152 2508/3415/152 2503/3291/152 +f 2500/3293/156 2509/3307/156 2506/3294/156 +f 2509/3298/155 2500/3416/155 2501/3417/155 +f 2501/3417/155 2498/3418/155 2499/3296/155 +f 2499/3296/155 2502/3419/155 2503/3297/155 +f 2503/3297/155 2508/3420/155 2509/3298/155 +f 2509/3298/155 2501/3417/155 2499/3296/155 +f 2498/3299/157 2501/3421/157 2496/3300/157 +f 2495/3301/163 2494/3308/163 2499/3302/163 +f 2501/3303/164 2500/3293/164 2497/3295/164 +f 2505/3305/165 2504/3292/165 2503/3291/165 +f 2509/3307/166 2508/3415/166 2507/3290/166 +f 2494/3308/153 2505/3305/153 2502/3306/153 +f 2515/3309/152 2516/3422/152 2511/3310/152 +f 2487/3312/156 2517/3326/156 2514/3313/156 +f 2517/3317/155 2487/3423/155 2486/3424/155 +f 2486/3424/155 2489/3425/155 2488/3315/155 +f 2488/3315/155 2510/3426/155 2511/3316/155 +f 2511/3316/155 2516/3427/155 2517/3317/155 +f 2517/3317/155 2486/3424/155 2488/3315/155 +f 2489/3318/157 2486/3428/157 2491/3319/157 +f 2492/3320/163 2493/3327/163 2488/3321/163 +f 2486/3322/164 2487/3312/164 2490/3314/164 +f 2513/3324/165 2512/3311/165 2511/3310/165 +f 2517/3326/166 2516/3422/166 2515/3309/166 +f 2493/3327/153 2513/3324/153 2510/3325/153 +f 2578/3328/152 2579/3429/152 2581/3329/152 +f 2601/3333/154 2590/3430/154 2591/3431/154 +f 2591/3431/154 2592/3432/154 2593/3331/154 +f 2593/3331/154 2602/3433/154 2603/3332/154 +f 2603/3332/154 2600/3434/154 2601/3333/154 +f 2601/3333/154 2591/3431/154 2593/3331/154 +f 2609/3336/154 2589/3435/154 2588/3436/154 +f 2588/3436/154 2587/3437/154 2586/3334/154 +f 2586/3334/154 2610/3438/154 2611/3335/154 +f 2611/3335/154 2608/3439/154 2609/3336/154 +f 2609/3336/154 2588/3436/154 2586/3334/154 +f 2603/3337/152 2604/3440/152 2599/3338/152 +f 2596/3340/156 2605/3354/156 2602/3341/156 +f 2605/3345/155 2596/3441/155 2597/3442/155 +f 2597/3442/155 2594/3443/155 2595/3343/155 +f 2595/3343/155 2598/3444/155 2599/3344/155 +f 2599/3344/155 2604/3445/155 2605/3345/155 +f 2605/3345/155 2597/3442/155 2595/3343/155 +f 2594/3346/157 2597/3446/157 2592/3347/157 +f 2591/3348/163 2590/3355/163 2595/3349/163 +f 2597/3350/164 2596/3340/164 2593/3342/164 +f 2601/3352/165 2600/3339/165 2599/3338/165 +f 2605/3354/166 2604/3440/166 2603/3337/166 +f 2590/3355/153 2601/3352/153 2598/3353/153 +f 2611/3356/152 2612/3447/152 2607/3357/152 +f 2583/3359/156 2613/3373/156 2610/3360/156 +f 2613/3364/155 2583/3448/155 2582/3449/155 +f 2582/3449/155 2585/3450/155 2584/3362/155 +f 2584/3362/155 2606/3451/155 2607/3363/155 +f 2607/3363/155 2612/3452/155 2613/3364/155 +f 2613/3364/155 2582/3449/155 2584/3362/155 +f 2585/3365/157 2582/3453/157 2587/3366/157 +f 2588/3367/163 2589/3374/163 2584/3368/163 +f 2582/3369/164 2583/3359/164 2586/3361/164 +f 2609/3371/165 2608/3358/165 2607/3357/165 +f 2613/3373/166 2612/3447/166 2611/3356/166 +f 2589/3374/153 2609/3371/153 2606/3372/153 +s 1 +f 2532/3454/167 2524/3455/168 2525/3456/169 +f 2523/3457/170 2529/3458/171 2522/3459/172 +f 2527/3460/173 2518/3461/174 2519/3462/175 +f 2526/3463/176 2525/3456/169 2518/3461/174 +f 2531/3464/166 2523/3457/170 2524/3455/168 +f 2522/3459/172 2528/3465/177 2521/3466/178 +f 2537/3467/179 2529/3458/171 2530/3468/180 +f 2534/3469/181 2526/3463/176 2527/3460/173 +f 2533/3470/182 2532/3454/167 2526/3463/176 +f 2538/3471/183 2530/3468/180 2531/3464/166 +f 2529/3458/171 2535/3472/184 2528/3465/177 +f 2532/3454/167 2538/3471/183 2531/3464/166 +f 2520/3473/185 2521/3466/178 2528/3465/177 +f 2528/3465/177 2535/3472/184 2520/3473/185 +f 2519/3462/175 2520/3474/185 2527/3460/173 +f 2527/3460/173 2520/3474/185 2534/3469/181 +f 2534/3475/181 2541/3476/155 2533/3477/182 +f 2520/3478/185 2542/3479/186 2534/3475/181 +f 2533/3477/182 2547/3480/162 2539/3481/187 +f 2535/3482/184 2540/3483/157 2520/3484/185 +f 2538/3471/183 2545/3485/188 2537/3467/179 +f 2536/3486/189 2543/3487/190 2535/3482/184 +f 2539/3481/187 2546/3488/152 2538/3471/183 +f 2537/3467/179 2544/3489/154 2536/3486/189 +f 2555/3490/169 2561/3491/166 2554/3492/168 +f 2560/3493/180 2552/3494/172 2553/3495/170 +f 2557/3496/173 2548/3497/174 2549/3498/175 +f 2556/3499/176 2555/3490/169 2548/3497/174 +f 2561/3491/166 2553/3495/170 2554/3492/168 +f 2559/3500/171 2551/3501/178 2552/3494/172 +f 2560/3493/180 2566/3502/189 2559/3500/171 +f 2564/3503/181 2556/3499/176 2557/3496/173 +f 2556/3499/176 2569/3504/187 2562/3505/167 +f 2568/3506/183 2560/3493/180 2561/3491/166 +f 2559/3500/171 2565/3507/184 2558/3508/177 +f 2562/3505/167 2568/3506/183 2561/3491/166 +f 2550/3509/185 2551/3501/178 2558/3508/177 +f 2558/3508/177 2565/3507/184 2550/3509/185 +f 2549/3498/175 2550/3510/185 2557/3496/173 +f 2557/3496/173 2550/3510/185 2564/3503/181 +f 2564/3511/181 2571/3512/155 2563/3513/182 +f 2550/3514/185 2572/3515/186 2564/3511/181 +f 2563/3513/182 2577/3516/162 2569/3504/187 +f 2565/3517/184 2570/3518/157 2550/3519/185 +f 2568/3506/183 2575/3520/188 2567/3521/179 +f 2566/3522/189 2573/3523/190 2565/3517/184 +f 2569/3504/187 2576/3524/152 2568/3506/183 +f 2567/3521/179 2574/3525/154 2566/3522/189 +f 2621/3526/191 2627/3527/165 2620/3528/192 +f 2619/3529/193 2625/3530/194 2618/3531/195 +f 2623/3532/196 2614/3533/197 2615/3534/198 +f 2622/3535/199 2621/3526/191 2614/3533/197 +f 2620/3528/192 2626/3536/200 2619/3529/193 +f 2618/3531/195 2624/3537/201 2617/3538/202 +f 2626/3536/200 2632/3539/203 2625/3530/194 +f 2630/3540/204 2622/3535/199 2623/3532/196 +f 2629/3541/205 2628/3542/206 2622/3535/199 +f 2634/3543/207 2626/3536/200 2627/3527/165 +f 2625/3530/194 2631/3544/208 2624/3537/201 +f 2628/3542/206 2634/3543/207 2627/3527/165 +f 2616/3545/209 2617/3538/202 2624/3537/201 +f 2624/3537/201 2631/3544/208 2616/3545/209 +f 2615/3534/198 2616/3546/209 2623/3532/196 +f 2623/3532/196 2616/3546/209 2630/3540/204 +f 2630/3547/204 2637/3548/154 2629/3549/205 +f 2616/3550/209 2638/3551/190 2630/3547/204 +f 2629/3549/205 2643/3552/188 2635/3553/210 +f 2631/3554/208 2636/3555/157 2616/3556/209 +f 2634/3543/207 2641/3557/162 2633/3558/211 +f 2632/3559/203 2639/3560/186 2631/3554/208 +f 2635/3553/210 2642/3561/152 2634/3543/207 +f 2633/3558/211 2640/3562/155 2632/3559/203 +f 2651/3563/191 2657/3564/165 2650/3565/192 +f 2656/3566/200 2648/3567/195 2649/3568/193 +f 2653/3569/196 2644/3570/197 2645/3571/198 +f 2652/3572/199 2651/3563/191 2644/3570/197 +f 2657/3564/165 2649/3568/193 2650/3565/192 +f 2648/3567/195 2654/3573/201 2647/3574/202 +f 2663/3575/211 2655/3576/194 2656/3566/200 +f 2653/3569/196 2659/3577/205 2652/3572/199 +f 2659/3577/205 2658/3578/206 2652/3572/199 +f 2664/3579/207 2656/3566/200 2657/3564/165 +f 2655/3576/194 2661/3580/208 2654/3573/201 +f 2665/3581/210 2657/3564/165 2658/3578/206 +f 2646/3582/209 2647/3574/202 2654/3573/201 +f 2654/3573/201 2661/3580/208 2646/3582/209 +f 2645/3571/198 2646/3583/209 2653/3569/196 +f 2653/3569/196 2646/3583/209 2660/3584/204 +f 2660/3585/204 2667/3586/154 2659/3587/205 +f 2646/3588/209 2668/3589/190 2660/3585/204 +f 2659/3587/205 2673/3590/188 2665/3581/210 +f 2661/3591/208 2666/3592/157 2646/3593/209 +f 2664/3579/207 2671/3594/162 2663/3575/211 +f 2662/3595/203 2669/3596/186 2661/3591/208 +f 2664/3579/207 2673/3590/188 2672/3597/152 +f 2662/3595/203 2671/3594/162 2670/3598/155 +f 2532/3454/167 2531/3464/166 2524/3455/168 +f 2523/3457/170 2530/3468/180 2529/3458/171 +f 2527/3460/173 2526/3463/176 2518/3461/174 +f 2526/3463/176 2532/3454/167 2525/3456/169 +f 2531/3464/166 2530/3468/180 2523/3457/170 +f 2522/3459/172 2529/3458/171 2528/3465/177 +f 2537/3467/179 2536/3599/189 2529/3458/171 +f 2534/3469/181 2533/3470/182 2526/3463/176 +f 2533/3470/182 2539/3481/187 2532/3454/167 +f 2538/3471/183 2537/3467/179 2530/3468/180 +f 2529/3458/171 2536/3599/189 2535/3472/184 +f 2532/3454/167 2539/3481/187 2538/3471/183 +f 2534/3475/181 2542/3479/186 2541/3476/155 +f 2520/3478/185 2540/3600/157 2542/3479/186 +f 2533/3477/182 2541/3476/155 2547/3480/162 +f 2535/3482/184 2543/3487/190 2540/3483/157 +f 2538/3471/183 2546/3488/152 2545/3485/188 +f 2536/3486/189 2544/3489/154 2543/3487/190 +f 2539/3481/187 2547/3480/162 2546/3488/152 +f 2537/3467/179 2545/3485/188 2544/3489/154 +f 2555/3490/169 2562/3505/167 2561/3491/166 +f 2560/3493/180 2559/3500/171 2552/3494/172 +f 2557/3496/173 2556/3499/176 2548/3497/174 +f 2556/3499/176 2562/3505/167 2555/3490/169 +f 2561/3491/166 2560/3493/180 2553/3495/170 +f 2559/3500/171 2558/3508/177 2551/3501/178 +f 2560/3493/180 2567/3521/179 2566/3502/189 +f 2564/3503/181 2563/3601/182 2556/3499/176 +f 2556/3499/176 2563/3601/182 2569/3504/187 +f 2568/3506/183 2567/3521/179 2560/3493/180 +f 2559/3500/171 2566/3502/189 2565/3507/184 +f 2562/3505/167 2569/3504/187 2568/3506/183 +f 2564/3511/181 2572/3515/186 2571/3512/155 +f 2550/3514/185 2570/3602/157 2572/3515/186 +f 2563/3513/182 2571/3512/155 2577/3516/162 +f 2565/3517/184 2573/3523/190 2570/3518/157 +f 2568/3506/183 2576/3524/152 2575/3520/188 +f 2566/3522/189 2574/3525/154 2573/3523/190 +f 2569/3504/187 2577/3516/162 2576/3524/152 +f 2567/3521/179 2575/3520/188 2574/3525/154 +f 2621/3526/191 2628/3542/206 2627/3527/165 +f 2619/3529/193 2626/3536/200 2625/3530/194 +f 2623/3532/196 2622/3535/199 2614/3533/197 +f 2622/3535/199 2628/3542/206 2621/3526/191 +f 2620/3528/192 2627/3527/165 2626/3536/200 +f 2618/3531/195 2625/3530/194 2624/3537/201 +f 2626/3536/200 2633/3558/211 2632/3539/203 +f 2630/3540/204 2629/3541/205 2622/3535/199 +f 2629/3541/205 2635/3553/210 2628/3542/206 +f 2634/3543/207 2633/3558/211 2626/3536/200 +f 2625/3530/194 2632/3539/203 2631/3544/208 +f 2628/3542/206 2635/3553/210 2634/3543/207 +f 2630/3547/204 2638/3551/190 2637/3548/154 +f 2616/3550/209 2636/3603/157 2638/3551/190 +f 2629/3549/205 2637/3548/154 2643/3552/188 +f 2631/3554/208 2639/3560/186 2636/3555/157 +f 2634/3543/207 2642/3561/152 2641/3557/162 +f 2632/3559/203 2640/3562/155 2639/3560/186 +f 2635/3553/210 2643/3552/188 2642/3561/152 +f 2633/3558/211 2641/3557/162 2640/3562/155 +f 2651/3563/191 2658/3578/206 2657/3564/165 +f 2656/3566/200 2655/3576/194 2648/3567/195 +f 2653/3569/196 2652/3572/199 2644/3570/197 +f 2652/3572/199 2658/3578/206 2651/3563/191 +f 2657/3564/165 2656/3566/200 2649/3568/193 +f 2648/3567/195 2655/3576/194 2654/3573/201 +f 2663/3575/211 2662/3604/203 2655/3576/194 +f 2653/3569/196 2660/3584/204 2659/3577/205 +f 2659/3577/205 2665/3581/210 2658/3578/206 +f 2664/3579/207 2663/3575/211 2656/3566/200 +f 2655/3576/194 2662/3604/203 2661/3580/208 +f 2665/3581/210 2664/3579/207 2657/3564/165 +f 2660/3585/204 2668/3589/190 2667/3586/154 +f 2646/3588/209 2666/3605/157 2668/3589/190 +f 2659/3587/205 2667/3586/154 2673/3590/188 +f 2661/3591/208 2669/3596/186 2666/3592/157 +f 2664/3579/207 2672/3597/152 2671/3594/162 +f 2662/3595/203 2670/3598/155 2669/3596/186 +f 2664/3579/207 2665/3581/210 2673/3590/188 +f 2662/3595/203 2663/3575/211 2671/3594/162 +o Strong_Rope +v 0.625000 7.661612 0.088388 +v 0.625000 7.625000 0.000000 +v 0.625000 7.661612 -0.088388 +v 0.625000 7.750000 -0.125000 +v 0.625000 7.838388 -0.088388 +v 0.625000 7.875000 0.000000 +v 0.625000 7.838388 0.088388 +v 0.625000 7.750000 0.125000 +v 1.000000 7.661612 0.088388 +v 1.000000 7.625000 0.000000 +v 1.000000 7.661612 -0.088388 +v 1.000000 7.750000 -0.125000 +v 1.000000 7.838388 -0.088388 +v 1.000000 7.875000 0.000000 +v 1.000000 7.838388 0.088388 +v 1.025888 7.661612 0.099112 +v 1.088388 7.625000 0.036612 +v 1.150888 7.661612 -0.025888 +v 1.176777 7.750000 -0.051777 +v 1.150888 7.838388 -0.025888 +v 1.088388 7.875000 0.036612 +v 1.025888 7.838388 0.099112 +v 1.036612 7.661612 0.125000 +v 1.125000 7.625000 0.125000 +v 1.213388 7.661612 0.125000 +v 1.250000 7.750000 0.125000 +v 1.213388 7.838388 0.125000 +v 1.125000 7.875000 0.125000 +v 1.036612 7.838388 0.125000 +v 1.000000 7.750000 0.125000 +v 1.036612 7.661612 2.875000 +v 1.125000 7.625000 2.875000 +v 1.213388 7.661612 2.875000 +v 1.250000 7.750000 2.875000 +v 1.213388 7.838388 2.875000 +v 1.125000 7.875000 2.875000 +v 1.036612 7.838388 2.875000 +v 1.025888 7.661612 2.900888 +v 1.088388 7.625000 2.963388 +v 1.150888 7.661612 3.025888 +v 1.176777 7.750000 3.051777 +v 1.150888 7.838388 3.025888 +v 1.088388 7.875000 2.963388 +v 1.025888 7.838388 2.900888 +v 1.000000 7.661612 2.911612 +v 1.000000 7.625000 3.000000 +v 1.000000 7.661612 3.088388 +v 1.000000 7.750000 3.125000 +v 1.000000 7.838388 3.088388 +v 1.000000 7.875000 3.000000 +v 1.000000 7.838388 2.911612 +v 1.000000 7.750000 2.875000 +v 1.000000 5.500000 2.875000 +v 1.000000 5.588388 2.911612 +v 1.000000 5.625000 3.000000 +v 1.000000 5.588388 3.088388 +v 1.000000 5.500000 3.125000 +v 1.000000 5.411612 3.088388 +v 1.000000 5.375000 3.000000 +v 1.000000 5.411612 2.911612 +v 1.025888 5.588388 2.900888 +v 1.088388 5.625000 2.963388 +v 1.150888 5.588388 3.025888 +v 1.176777 5.500000 3.051777 +v 1.150888 5.411612 3.025888 +v 1.088388 5.375000 2.963388 +v 1.025888 5.411612 2.900888 +v 1.036612 5.588388 2.875000 +v 1.125000 5.625000 2.875000 +v 1.213388 5.588388 2.875000 +v 1.250000 5.500000 2.875000 +v 1.213388 5.411612 2.875000 +v 1.125000 5.375000 2.875000 +v 1.036612 5.411612 2.875000 +v 1.000000 5.500000 0.125000 +v 1.036612 5.588388 0.125000 +v 1.125000 5.625000 0.125000 +v 1.213388 5.588388 0.125000 +v 1.250000 5.500000 0.125000 +v 1.213388 5.411612 0.125000 +v 1.125000 5.375000 0.125000 +v 1.036612 5.411612 0.125000 +v 1.025888 5.588388 0.099112 +v 1.088388 5.625000 0.036612 +v 1.150888 5.588388 -0.025888 +v 1.176777 5.500000 -0.051777 +v 1.150888 5.411612 -0.025888 +v 1.088388 5.375000 0.036612 +v 1.025888 5.411612 0.099112 +v 1.000000 5.588388 0.088388 +v 1.000000 5.625000 0.000000 +v 1.000000 5.588388 -0.088388 +v 1.000000 5.500000 -0.125000 +v 1.000000 5.411612 -0.088388 +v 1.000000 5.375000 0.000000 +v 1.000000 5.411612 0.088388 +v 0.625000 5.500000 0.125000 +v 0.625000 5.588388 0.088388 +v 0.625000 5.625000 0.000000 +v 0.625000 5.588388 -0.088388 +v 0.625000 5.500000 -0.125000 +v 0.625000 5.411612 -0.088388 +v 0.625000 5.375000 0.000000 +v 0.625000 5.411612 0.088388 +v -0.250000 8.500000 2.500000 +v 0.250000 8.500000 2.500000 +v -0.250000 9.000000 2.500000 +v 0.250000 9.000000 2.500000 +v -0.250000 8.500000 0.250000 +v 0.250000 8.500000 0.250000 +v -0.250000 9.000000 0.250000 +v 0.250000 9.000000 0.250000 +v 0.000000 11.000000 2.500000 +v 0.000000 10.875000 2.500000 +v 0.000000 11.000000 0.000000 +v 0.000000 10.875000 0.000000 +v 0.000000 10.812500 0.500000 +v 0.000000 10.750000 1.000000 +v 0.000000 10.750000 1.500000 +v 0.000000 10.812500 2.000000 +v 0.000000 10.687500 2.000000 +v 0.000000 10.625000 1.500000 +v 0.000000 10.625000 1.000000 +v 0.000000 10.687500 0.500000 +v 0.000000 11.000000 2.500000 +v 0.000000 10.875000 2.500000 +v 0.000000 11.000000 0.000000 +v 0.000000 10.875000 0.000000 +v 0.000000 10.812500 0.500000 +v 0.000000 10.750000 1.000000 +v 0.000000 10.750000 1.500000 +v 0.000000 10.812500 2.000000 +v 0.000000 10.687500 2.000000 +v 0.000000 10.625000 1.500000 +v 0.000000 10.625000 1.000000 +v 0.000000 10.687500 0.500000 +vt 0.692308 0.449438 +vt 0.666667 0.651685 +vt 0.666667 0.449438 +vt 0.769231 0.449438 +vt 0.743590 0.651685 +vt 0.743590 0.449438 +vt 0.717949 0.449438 +vt 0.692308 0.651685 +vt 0.717949 0.651685 +vt 0.461538 0.910112 +vt 0.487179 0.898876 +vt 0.487179 0.910112 +vt 0.358974 0.898876 +vt 0.384615 0.910112 +vt 0.358974 0.910112 +vt 0.384615 0.898876 +vt 0.410256 0.910112 +vt 0.410256 0.898876 +vt 0.435897 0.910112 +vt 0.461538 0.898876 +vt 0.461538 0.910112 +vt 0.487179 0.898876 +vt 0.461538 0.898876 +vt 0.384615 0.910112 +vt 0.358974 0.898876 +vt 0.358974 0.910112 +vt 0.410256 0.910112 +vt 0.384615 0.898876 +vt 0.435897 0.910112 +vt 0.410256 0.898876 +vt 0.435897 0.898876 +vt 0.769231 0.651685 +vt 0.435897 0.898876 +vt 0.487179 0.910112 +vt 0.705128 0.966292 +vt 0.698718 1.000000 +vt 0.698718 0.966292 +vt 0.685897 0.966292 +vt 0.679487 1.000000 +vt 0.679487 0.966292 +vt 0.692308 1.000000 +vt 0.692308 0.966292 +vt 0.673077 0.966292 +vt 0.666667 1.000000 +vt 0.666667 0.966292 +vt 0.711538 0.966292 +vt 0.705128 1.000000 +vt 0.717949 0.966292 +vt 0.711538 1.000000 +vt 0.673077 1.000000 +vt 0.685897 1.000000 +vt 0.711538 0.949438 +vt 0.717949 0.949438 +vt 0.711538 0.955056 +vt 0.711538 0.943820 +vt 0.673077 0.949438 +vt 0.673077 0.955056 +vt 0.666667 0.949438 +vt 0.673077 0.943820 +vt 0.685897 0.949438 +vt 0.679487 0.960674 +vt 0.679487 0.949438 +vt 0.698718 0.949438 +vt 0.692308 0.949438 +vt 0.705128 0.960674 +vt 0.705128 0.949438 +vt 0.685897 0.932584 +vt 0.698718 0.932584 +vt 0.679487 0.938202 +vt 0.692308 0.932584 +vt 0.705128 0.938202 +vt 0.685897 0.685393 +vt 0.679487 0.932584 +vt 0.679487 0.685393 +vt 0.698718 0.685393 +vt 0.692308 0.685393 +vt 0.673077 0.685393 +vt 0.666667 0.932584 +vt 0.666667 0.685393 +vt 0.711538 0.685393 +vt 0.705128 0.932584 +vt 0.705128 0.685393 +vt 0.717949 0.685393 +vt 0.711538 0.932584 +vt 0.673077 0.932584 +vt 0.711538 0.668539 +vt 0.717949 0.668539 +vt 0.711538 0.674157 +vt 0.711538 0.662921 +vt 0.673077 0.668539 +vt 0.673077 0.674157 +vt 0.666667 0.668539 +vt 0.673077 0.662921 +vt 0.679487 0.668539 +vt 0.685897 0.668539 +vt 0.692308 0.668539 +vt 0.698718 0.668539 +vt 0.705128 0.679775 +vt 0.705128 0.668539 +vt 0.679487 0.679775 +vt 0.698718 0.651685 +vt 0.705128 0.657303 +vt 0.685897 0.651685 +vt 0.679487 0.657303 +vt 0.692308 0.651685 +vt 0.692308 0.668539 +vt 0.685897 0.651685 +vt 0.692308 0.651685 +vt 0.679487 0.657303 +vt 0.673077 0.668539 +vt 0.673077 0.662921 +vt 0.711538 0.662921 +vt 0.705128 0.668539 +vt 0.705128 0.657303 +vt 0.698718 0.651685 +vt 0.679487 0.668539 +vt 0.698718 0.685393 +vt 0.698718 0.668539 +vt 0.685897 0.685393 +vt 0.685897 0.668539 +vt 0.679487 0.679775 +vt 0.711538 0.668539 +vt 0.705128 0.679775 +vt 0.666667 0.668539 +vt 0.673077 0.674157 +vt 0.717949 0.668539 +vt 0.711538 0.674157 +vt 0.705128 0.685393 +vt 0.698718 0.932584 +vt 0.692308 0.685393 +vt 0.685897 0.932584 +vt 0.679487 0.685393 +vt 0.673077 0.932584 +vt 0.673077 0.685393 +vt 0.717949 0.685393 +vt 0.711538 0.932584 +vt 0.711538 0.685393 +vt 0.705128 0.932584 +vt 0.666667 0.932584 +vt 0.666667 0.685393 +vt 0.692308 0.932584 +vt 0.679487 0.932584 +vt 0.711538 0.943820 +vt 0.705128 0.949438 +vt 0.705128 0.938202 +vt 0.692308 0.949438 +vt 0.679487 0.949438 +vt 0.679487 0.938202 +vt 0.698718 0.949438 +vt 0.685897 0.949438 +vt 0.673077 0.943820 +vt 0.673077 0.949438 +vt 0.705128 0.960674 +vt 0.698718 0.966292 +vt 0.692308 0.966292 +vt 0.685897 0.966292 +vt 0.673077 0.955056 +vt 0.711538 0.949438 +vt 0.679487 0.960674 +vt 0.666667 0.949438 +vt 0.717949 0.949438 +vt 0.711538 0.955056 +vt 0.685897 1.000000 +vt 0.679487 0.966292 +vt 0.673077 1.000000 +vt 0.673077 0.966292 +vt 0.717949 0.966292 +vt 0.711538 1.000000 +vt 0.711538 0.966292 +vt 0.705128 1.000000 +vt 0.705128 0.966292 +vt 0.666667 1.000000 +vt 0.666667 0.966292 +vt 0.692308 1.000000 +vt 0.679487 1.000000 +vt 0.698718 1.000000 +vt 0.717949 1.000000 +vt 0.717949 0.932584 +vt 0.717949 0.932584 +vt 0.717949 1.000000 +vn 0.0000 -1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0196 -0.9987 -0.0473 +vn 0.0000 -0.7071 -0.7071 +vn 0.1447 -0.6794 -0.7194 +vn 0.1447 0.6794 -0.7194 +vn 0.0196 0.9987 -0.0473 +vn 0.0000 0.0000 -1.0000 +vn 0.1866 0.0000 -0.9824 +vn -0.1363 0.7263 0.6737 +vn 0.0000 0.0000 1.0000 +vn -0.7071 0.0000 0.7071 +vn -0.1363 -0.7263 0.6737 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 0.7071 0.7071 +vn 0.0000 0.7071 -0.7071 +vn -0.4617 -0.7573 0.4617 +vn -0.6737 -0.7263 0.1363 +vn -0.4617 0.7573 0.4617 +vn -0.6737 0.7263 0.1363 +vn 0.5293 0.6630 -0.5293 +vn 0.0670 0.9955 -0.0670 +vn 0.5293 -0.6630 -0.5293 +vn 0.7071 0.0000 -0.7071 +vn 0.0670 -0.9955 -0.0670 +vn 0.7194 0.6794 -0.1447 +vn 0.7194 -0.6794 -0.1447 +vn 0.0473 0.9987 -0.0196 +vn 0.9824 0.0000 -0.1866 +vn 0.0473 -0.9987 -0.0196 +vn 0.7194 0.6794 0.1447 +vn 0.0473 0.9987 0.0196 +vn 0.7194 -0.6794 0.1447 +vn 0.9824 0.0000 0.1866 +vn -0.6737 0.7263 -0.1363 +vn -0.9809 0.0000 -0.1944 +vn -0.6737 -0.7263 -0.1363 +vn 0.0473 -0.9987 0.0196 +vn -0.4617 -0.7573 -0.4617 +vn -0.2611 -0.7311 -0.6303 +vn -0.4617 0.7573 -0.4617 +vn -0.2611 0.7311 -0.6303 +vn 0.0670 0.9955 0.0670 +vn 0.5293 0.6630 0.5293 +vn 0.7071 0.0000 0.7071 +vn 0.5293 -0.6630 0.5293 +vn 0.0670 -0.9955 0.0670 +vn 0.2962 -0.6332 0.7150 +vn 0.0392 -0.9947 0.0948 +vn 0.2962 0.6332 0.7150 +vn 0.0392 0.9947 0.0948 +vn 0.3827 0.0000 0.9239 +s off +f 2778/3606/212 2783/3607/212 2779/3608/212 +f 2779/3609/213 2785/3610/213 2781/3611/213 +f 2780/3612/214 2782/3613/214 2778/3606/214 +f 2781/3611/215 2784/3614/215 2780/3612/215 +f 2790/3615/213 2789/3616/213 2788/3617/213 +f 2787/3618/213 2793/3619/213 2786/3620/213 +f 2794/3621/213 2792/3622/213 2793/3619/213 +f 2795/3623/213 2791/3624/213 2792/3622/213 +f 2791/3624/213 2797/3625/213 2790/3615/213 +f 2802/3626/214 2801/3627/214 2809/3628/214 +f 2805/3629/214 2799/3630/214 2798/3631/214 +f 2804/3632/214 2806/3633/214 2805/3629/214 +f 2803/3634/214 2807/3635/214 2804/3632/214 +f 2803/3634/214 2809/3628/214 2808/3636/214 +f 2778/3606/212 2782/3613/212 2783/3607/212 +f 2779/3609/213 2783/3637/213 2785/3610/213 +f 2780/3612/214 2784/3614/214 2782/3613/214 +f 2781/3611/215 2785/3610/215 2784/3614/215 +f 2790/3615/213 2797/3625/213 2789/3616/213 +f 2787/3618/213 2794/3621/213 2793/3619/213 +f 2794/3621/213 2795/3623/213 2792/3622/213 +f 2795/3623/213 2796/3638/213 2791/3624/213 +f 2791/3624/213 2796/3638/213 2797/3625/213 +f 2802/3626/214 2800/3639/214 2801/3627/214 +f 2805/3629/214 2806/3633/214 2799/3630/214 +f 2804/3632/214 2807/3635/214 2806/3633/214 +f 2803/3634/214 2808/3636/214 2807/3635/214 +f 2803/3634/214 2802/3626/214 2809/3628/214 +s 1 +f 2683/3640/216 2676/3641/217 2684/3642/218 +f 2686/3643/219 2679/3644/215 2687/3645/220 +f 2684/3642/218 2677/3646/221 2685/3647/222 +f 2688/3648/223 2681/3649/224 2703/3650/225 +f 2682/3651/226 2675/3652/212 2683/3640/216 +f 2703/3653/225 2674/3654/227 2682/3651/226 +f 2687/3645/220 2680/3655/228 2688/3648/223 +f 2685/3647/222 2678/3656/229 2686/3643/219 +f 2689/3657/230 2703/3658/225 2682/3659/226 +f 2703/3658/225 2689/3657/230 2696/3660/231 +f 2695/3661/232 2688/3662/223 2703/3663/225 +f 2702/3664/233 2695/3661/232 2703/3663/225 +f 2693/3665/234 2687/3666/220 2694/3667/235 +f 2691/3668/236 2685/3647/222 2692/3669/237 +f 2689/3657/230 2683/3670/216 2690/3671/238 +f 2694/3667/235 2688/3662/223 2695/3661/232 +f 2693/3665/234 2685/3647/222 2686/3643/219 +f 2690/3671/238 2684/3642/218 2691/3668/236 +f 2702/3664/233 2694/3667/235 2695/3661/232 +f 2700/3672/239 2692/3669/237 2693/3665/234 +f 2698/3673/240 2690/3671/238 2691/3668/236 +f 2700/3672/239 2694/3667/235 2701/3674/241 +f 2698/3673/240 2692/3669/237 2699/3675/242 +f 2697/3676/243 2689/3657/230 2690/3671/238 +f 2708/3677/244 2701/3678/241 2709/3679/245 +f 2706/3680/246 2699/3675/242 2707/3681/247 +f 2710/3682/248 2703/3683/225 2725/3684/249 +f 2704/3685/250 2697/3686/243 2705/3687/251 +f 2725/3688/249 2696/3689/231 2704/3685/250 +f 2709/3679/245 2702/3690/233 2710/3682/248 +f 2707/3681/247 2700/3672/239 2708/3677/244 +f 2705/3687/251 2698/3673/240 2706/3680/246 +f 2711/3691/252 2725/3692/249 2704/3693/250 +f 2718/3694/253 2725/3692/249 2711/3691/252 +f 2717/3695/254 2710/3696/248 2725/3697/249 +f 2725/3697/249 2724/3698/255 2717/3695/254 +f 2708/3677/244 2716/3699/256 2715/3700/257 +f 2706/3680/246 2714/3701/258 2713/3702/259 +f 2711/3691/252 2705/3703/251 2712/3704/260 +f 2709/3705/245 2717/3695/254 2716/3699/256 +f 2714/3701/258 2708/3677/244 2715/3700/257 +f 2712/3704/260 2706/3680/246 2713/3702/259 +f 2712/3704/260 2720/3706/261 2719/3707/262 +f 2722/3708/263 2716/3699/256 2723/3709/264 +f 2720/3706/261 2714/3701/258 2721/3710/265 +f 2718/3694/253 2712/3704/260 2719/3707/262 +f 2723/3709/264 2717/3695/254 2724/3698/255 +f 2714/3701/258 2722/3708/263 2721/3710/265 +f 2737/3711/258 2729/3712/263 2730/3713/265 +f 2728/3714/264 2734/3715/254 2727/3716/255 +f 2733/3717/253 2739/3718/260 2732/3719/262 +f 2731/3720/261 2737/3711/258 2730/3713/265 +f 2729/3712/263 2735/3721/256 2728/3714/264 +f 2739/3718/260 2731/3720/261 2732/3719/262 +f 2739/3718/260 2745/3722/246 2738/3723/259 +f 2737/3711/258 2743/3724/244 2736/3725/257 +f 2742/3726/245 2734/3715/254 2735/3721/256 +f 2740/3727/252 2746/3728/251 2739/3718/260 +f 2745/3722/246 2737/3711/258 2738/3723/259 +f 2743/3724/244 2735/3721/256 2736/3725/257 +f 2726/3729/249 2727/3716/255 2734/3715/254 +f 2734/3715/254 2741/3730/248 2726/3729/249 +f 2733/3717/253 2726/3731/249 2740/3727/252 +f 2740/3727/252 2726/3731/249 2747/3732/250 +f 2746/3733/251 2753/3734/240 2745/3722/246 +f 2744/3735/247 2751/3736/239 2743/3724/244 +f 2742/3737/245 2749/3738/233 2741/3739/248 +f 2726/3740/249 2755/3741/231 2747/3742/250 +f 2747/3742/250 2754/3743/243 2746/3733/251 +f 2741/3739/248 2748/3744/225 2726/3745/249 +f 2745/3722/246 2752/3746/242 2744/3735/247 +f 2743/3724/244 2750/3747/241 2742/3737/245 +f 2755/3748/231 2761/3749/238 2754/3750/243 +f 2753/3734/240 2759/3751/237 2752/3746/242 +f 2751/3736/239 2757/3752/235 2750/3753/241 +f 2754/3750/243 2760/3754/236 2753/3734/240 +f 2751/3736/239 2759/3751/237 2758/3755/234 +f 2749/3756/233 2757/3752/235 2756/3757/232 +f 2760/3754/236 2768/3758/216 2767/3759/218 +f 2758/3755/234 2766/3760/222 2765/3761/219 +f 2757/3752/235 2763/3762/223 2756/3757/232 +f 2762/3763/230 2768/3758/216 2761/3749/238 +f 2760/3754/236 2766/3760/222 2759/3751/237 +f 2758/3755/234 2764/3764/220 2757/3752/235 +f 2749/3756/233 2756/3757/232 2748/3765/225 +f 2756/3757/232 2763/3762/223 2748/3765/225 +f 2748/3766/225 2762/3763/230 2755/3748/231 +f 2762/3763/230 2748/3766/225 2769/3767/226 +f 2766/3760/222 2773/3768/229 2765/3761/219 +f 2764/3769/220 2771/3770/228 2763/3771/223 +f 2748/3772/225 2777/3773/227 2769/3774/226 +f 2769/3774/226 2776/3775/212 2768/3776/216 +f 2763/3771/223 2770/3777/224 2748/3778/225 +f 2767/3759/218 2774/3779/221 2766/3760/222 +f 2765/3761/219 2772/3780/215 2764/3769/220 +f 2768/3776/216 2775/3781/217 2767/3759/218 +f 2683/3640/216 2675/3652/212 2676/3641/217 +f 2686/3643/219 2678/3656/229 2679/3644/215 +f 2684/3642/218 2676/3641/217 2677/3646/221 +f 2688/3648/223 2680/3655/228 2681/3649/224 +f 2682/3651/226 2674/3654/227 2675/3652/212 +f 2703/3653/225 2681/3782/224 2674/3654/227 +f 2687/3645/220 2679/3644/215 2680/3655/228 +f 2685/3647/222 2677/3646/221 2678/3656/229 +f 2693/3665/234 2686/3643/219 2687/3666/220 +f 2691/3668/236 2684/3642/218 2685/3647/222 +f 2689/3657/230 2682/3659/226 2683/3670/216 +f 2694/3667/235 2687/3666/220 2688/3662/223 +f 2693/3665/234 2692/3669/237 2685/3647/222 +f 2690/3671/238 2683/3670/216 2684/3642/218 +f 2702/3664/233 2701/3674/241 2694/3667/235 +f 2700/3672/239 2699/3675/242 2692/3669/237 +f 2698/3673/240 2697/3676/243 2690/3671/238 +f 2700/3672/239 2693/3665/234 2694/3667/235 +f 2698/3673/240 2691/3668/236 2692/3669/237 +f 2697/3676/243 2696/3660/231 2689/3657/230 +f 2708/3677/244 2700/3672/239 2701/3678/241 +f 2706/3680/246 2698/3673/240 2699/3675/242 +f 2710/3682/248 2702/3690/233 2703/3683/225 +f 2704/3685/250 2696/3689/231 2697/3686/243 +f 2725/3688/249 2703/3783/225 2696/3689/231 +f 2709/3679/245 2701/3678/241 2702/3690/233 +f 2707/3681/247 2699/3675/242 2700/3672/239 +f 2705/3687/251 2697/3686/243 2698/3673/240 +f 2708/3677/244 2709/3705/245 2716/3699/256 +f 2706/3680/246 2707/3681/247 2714/3701/258 +f 2711/3691/252 2704/3693/250 2705/3703/251 +f 2709/3705/245 2710/3696/248 2717/3695/254 +f 2714/3701/258 2707/3681/247 2708/3677/244 +f 2712/3704/260 2705/3703/251 2706/3680/246 +f 2712/3704/260 2713/3702/259 2720/3706/261 +f 2722/3708/263 2715/3700/257 2716/3699/256 +f 2720/3706/261 2713/3702/259 2714/3701/258 +f 2718/3694/253 2711/3691/252 2712/3704/260 +f 2723/3709/264 2716/3699/256 2717/3695/254 +f 2714/3701/258 2715/3700/257 2722/3708/263 +f 2737/3711/258 2736/3725/257 2729/3712/263 +f 2728/3714/264 2735/3721/256 2734/3715/254 +f 2733/3717/253 2740/3727/252 2739/3718/260 +f 2731/3720/261 2738/3723/259 2737/3711/258 +f 2729/3712/263 2736/3725/257 2735/3721/256 +f 2739/3718/260 2738/3723/259 2731/3720/261 +f 2739/3718/260 2746/3728/251 2745/3722/246 +f 2737/3711/258 2744/3735/247 2743/3724/244 +f 2742/3726/245 2741/3730/248 2734/3715/254 +f 2740/3727/252 2747/3732/250 2746/3728/251 +f 2745/3722/246 2744/3735/247 2737/3711/258 +f 2743/3724/244 2742/3726/245 2735/3721/256 +f 2746/3733/251 2754/3743/243 2753/3734/240 +f 2744/3735/247 2752/3746/242 2751/3736/239 +f 2742/3737/245 2750/3747/241 2749/3738/233 +f 2726/3740/249 2748/3784/225 2755/3741/231 +f 2747/3742/250 2755/3741/231 2754/3743/243 +f 2741/3739/248 2749/3738/233 2748/3744/225 +f 2745/3722/246 2753/3734/240 2752/3746/242 +f 2743/3724/244 2751/3736/239 2750/3747/241 +f 2755/3748/231 2762/3763/230 2761/3749/238 +f 2753/3734/240 2760/3754/236 2759/3751/237 +f 2751/3736/239 2758/3755/234 2757/3752/235 +f 2754/3750/243 2761/3749/238 2760/3754/236 +f 2751/3736/239 2752/3746/242 2759/3751/237 +f 2749/3756/233 2750/3753/241 2757/3752/235 +f 2760/3754/236 2761/3749/238 2768/3758/216 +f 2758/3755/234 2759/3751/237 2766/3760/222 +f 2757/3752/235 2764/3764/220 2763/3762/223 +f 2762/3763/230 2769/3767/226 2768/3758/216 +f 2760/3754/236 2767/3759/218 2766/3760/222 +f 2758/3755/234 2765/3761/219 2764/3764/220 +f 2766/3760/222 2774/3779/221 2773/3768/229 +f 2764/3769/220 2772/3780/215 2771/3770/228 +f 2748/3772/225 2770/3785/224 2777/3773/227 +f 2769/3774/226 2777/3773/227 2776/3775/212 +f 2763/3771/223 2771/3770/228 2770/3777/224 +f 2767/3759/218 2775/3781/217 2774/3779/221 +f 2765/3761/219 2773/3768/229 2772/3780/215 +f 2768/3776/216 2776/3775/212 2775/3781/217 +o Strong_Pivot +v 0.750000 1.500000 -2.750000 +v 0.250000 1.500000 -2.750000 +v 0.250000 1.500000 -3.250000 +v 0.750000 1.500000 -3.250000 +v 0.250000 3.500000 -2.750000 +v 0.750000 3.500000 -2.750000 +v 0.750000 3.500000 -3.250000 +v 0.250000 3.500000 -3.250000 +v -0.250000 1.500000 -2.750000 +v -0.750000 1.500000 -2.750000 +v -0.750000 1.500000 -3.250000 +v -0.250000 1.500000 -3.250000 +v -0.750000 3.500000 -2.750000 +v -0.250000 3.500000 -2.750000 +v -0.250000 3.500000 -3.250000 +v -0.750000 3.500000 -3.250000 +v 0.312500 3.500000 -2.812500 +v 0.687500 3.500000 -2.812500 +v 0.312500 3.500000 -3.187500 +v 0.687500 3.500000 -3.187500 +v 0.312500 4.500000 -2.812500 +v 0.687500 4.500000 -2.812500 +v 0.312500 4.500000 -3.187500 +v 0.687500 4.500000 -3.187500 +v -0.687500 3.500000 -2.812500 +v -0.312500 3.500000 -2.812500 +v -0.687500 3.500000 -3.187500 +v -0.312500 3.500000 -3.187500 +v -0.687500 4.500000 -2.812500 +v -0.312500 4.500000 -2.812500 +v -0.687500 4.500000 -3.187500 +v -0.312500 4.500000 -3.187500 +vt 0.794872 0.224719 +vt 0.820513 0.179775 +vt 0.820513 0.224719 +vt 0.897436 0.000000 +vt 0.871795 0.179775 +vt 0.871795 0.000000 +vt 0.820513 0.000000 +vt 0.794872 0.179775 +vt 0.794872 0.000000 +vt 0.846154 0.000000 +vt 0.846154 0.179775 +vt 0.794872 0.224719 +vt 0.820513 0.179775 +vt 0.820513 0.224719 +vt 0.897436 0.000000 +vt 0.871795 0.179775 +vt 0.871795 0.000000 +vt 0.820513 0.000000 +vt 0.794872 0.179775 +vt 0.794872 0.000000 +vt 0.846154 0.000000 +vt 0.846154 0.179775 +vt 0.839744 0.269663 +vt 0.820513 0.179775 +vt 0.839744 0.179775 +vt 0.878205 0.269663 +vt 0.858974 0.179775 +vt 0.878205 0.179775 +vt 0.897436 0.269663 +vt 0.897436 0.179775 +vt 0.858974 0.269663 +vt 0.839744 0.269663 +vt 0.820513 0.179775 +vt 0.839744 0.179775 +vt 0.878205 0.269663 +vt 0.858974 0.179775 +vt 0.878205 0.179775 +vt 0.897436 0.269663 +vt 0.897436 0.179775 +vt 0.858974 0.269663 +vt 0.897436 0.179775 +vt 0.897436 0.179775 +vt 0.820513 0.269663 +vt 0.820513 0.269663 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +s off +f 2815/3786/266 2817/3787/266 2814/3788/266 +f 2813/3789/267 2815/3790/267 2810/3791/267 +f 2812/3792/268 2816/3793/268 2813/3794/268 +f 2811/3795/269 2817/3787/269 2812/3792/269 +f 2810/3791/270 2814/3796/270 2811/3795/270 +f 2823/3797/266 2825/3798/266 2822/3799/266 +f 2821/3800/267 2823/3801/267 2818/3802/267 +f 2820/3803/268 2824/3804/268 2821/3805/268 +f 2819/3806/269 2825/3798/269 2820/3803/269 +f 2818/3802/270 2822/3807/270 2819/3806/270 +f 2832/3808/268 2829/3809/268 2828/3810/268 +f 2831/3811/270 2826/3812/270 2827/3813/270 +f 2833/3814/267 2827/3813/267 2829/3815/267 +f 2830/3816/269 2828/3810/269 2826/3812/269 +f 2840/3817/268 2837/3818/268 2836/3819/268 +f 2839/3820/270 2834/3821/270 2835/3822/270 +f 2841/3823/267 2835/3822/267 2837/3824/267 +f 2838/3825/269 2836/3819/269 2834/3821/269 +f 2815/3786/266 2816/3793/266 2817/3787/266 +f 2813/3789/267 2816/3826/267 2815/3790/267 +f 2812/3792/268 2817/3787/268 2816/3793/268 +f 2811/3795/269 2814/3796/269 2817/3787/269 +f 2810/3791/270 2815/3790/270 2814/3796/270 +f 2823/3797/266 2824/3804/266 2825/3798/266 +f 2821/3800/267 2824/3827/267 2823/3801/267 +f 2820/3803/268 2825/3798/268 2824/3804/268 +f 2819/3806/269 2822/3807/269 2825/3798/269 +f 2818/3802/270 2823/3801/270 2822/3807/270 +f 2832/3808/268 2833/3828/268 2829/3809/268 +f 2831/3811/270 2830/3816/270 2826/3812/270 +f 2833/3814/267 2831/3811/267 2827/3813/267 +f 2830/3816/269 2832/3808/269 2828/3810/269 +f 2840/3817/268 2841/3829/268 2837/3818/268 +f 2839/3820/270 2838/3825/270 2834/3821/270 +f 2841/3823/267 2839/3820/267 2835/3822/267 +f 2838/3825/269 2840/3817/269 2836/3819/269 +o Strong_Erector +v 0.250000 3.500000 -2.750000 +v 0.750000 3.500000 -2.750000 +v 0.750000 3.500000 -3.250000 +v 0.250000 3.500000 -3.250000 +v -0.750000 3.500000 -2.750000 +v -0.250000 3.500000 -2.750000 +v -0.250000 3.500000 -3.250000 +v -0.750000 3.500000 -3.250000 +v 0.250000 10.000000 -2.750000 +v 0.750000 10.000000 -2.750000 +v 0.750000 10.000000 -3.250000 +v 0.250000 10.000000 -3.250000 +v -0.750000 10.000000 -2.750000 +v -0.250000 10.000000 -2.750000 +v -0.250000 10.000000 -3.250000 +v -0.750000 10.000000 -3.250000 +v 0.250000 9.000000 -1.000000 +v 0.250000 9.000000 -3.500000 +v -0.250000 9.000000 -1.000000 +v -0.250000 9.000000 -3.500000 +v 0.250000 8.500000 -3.500000 +v 0.250000 8.500000 -1.000000 +v -0.250000 8.500000 -1.000000 +v -0.250000 8.500000 -3.500000 +v 0.375000 9.125000 -1.000000 +v -0.375000 9.125000 -1.000000 +v 0.375000 8.375000 -1.000000 +v -0.375000 8.375000 -1.000000 +v 0.375000 9.125000 -0.750000 +v -0.375000 9.125000 -0.750000 +v 0.375000 8.375000 -0.750000 +v -0.375000 8.375000 -0.750000 +v -0.375000 3.875000 -0.750000 +v 0.375000 3.875000 -0.750000 +v -0.375000 4.625000 -0.750000 +v 0.375000 4.625000 -0.750000 +v -0.375000 3.875000 -1.000000 +v 0.375000 3.875000 -1.000000 +v -0.375000 4.625000 -1.000000 +v 0.375000 4.625000 -1.000000 +v -0.250000 4.000000 -3.500000 +v -0.250000 4.000000 -1.000000 +v 0.250000 4.000000 -1.000000 +v 0.250000 4.000000 -3.500000 +v -0.250000 4.500000 -3.500000 +v -0.250000 4.500000 -1.000000 +v 0.250000 4.500000 -3.500000 +v 0.250000 4.500000 -1.000000 +v 0.250000 7.000000 -2.750000 +v 0.750000 7.000000 -2.750000 +v -0.750000 7.000000 -2.750000 +v -0.250000 7.000000 -2.750000 +v 0.250000 6.500000 -2.750000 +v 0.750000 6.500000 -2.750000 +v -0.750000 6.500000 -2.750000 +v -0.250000 6.500000 -2.750000 +v 0.250000 7.000000 -1.250000 +v 0.750000 7.000000 -1.250000 +v -0.750000 7.000000 -1.250000 +v -0.250000 7.000000 -1.250000 +v 0.250000 6.500000 -1.250000 +v 0.750000 6.500000 -1.250000 +v -0.750000 6.500000 -1.250000 +v -0.250000 6.500000 -1.250000 +v 0.750000 7.000000 -1.250000 +v -0.750000 7.000000 -1.250000 +v 0.750000 6.500000 -1.250000 +v -0.750000 6.500000 -1.250000 +v -0.750000 7.000000 -0.750000 +v -0.750000 6.500000 -0.750000 +v 0.750000 6.500000 -0.750000 +v 0.750000 7.000000 -0.750000 +v -1.250000 7.000000 -0.750000 +v -1.250000 6.500000 -0.750000 +v 1.250000 6.500000 -0.750000 +v 1.250000 7.000000 -0.750000 +v -0.750000 7.000000 0.750000 +v -0.750000 6.500000 0.750000 +v 0.750000 6.500000 0.750000 +v 0.750000 7.000000 0.750000 +v -1.250000 7.000000 0.750000 +v -1.250000 6.500000 0.750000 +v 1.250000 6.500000 0.750000 +v 1.250000 7.000000 0.750000 +vt 0.820513 0.269663 +vt 0.794872 0.224719 +vt 0.820513 0.224719 +vt 0.820513 0.269663 +vt 0.794872 0.224719 +vt 0.820513 0.224719 +vt 0.794872 0.898876 +vt 0.820513 0.853933 +vt 0.820513 0.898876 +vt 0.794872 0.898876 +vt 0.820513 0.853933 +vt 0.820513 0.898876 +vt 0.897436 0.269663 +vt 0.871795 0.853933 +vt 0.871795 0.269663 +vt 0.794872 0.853933 +vt 0.794872 0.269663 +vt 0.897436 0.269663 +vt 0.871795 0.853933 +vt 0.871795 0.269663 +vt 0.794872 0.853933 +vt 0.794872 0.269663 +vt 0.846154 0.269663 +vt 0.846154 0.853933 +vt 0.846154 0.269663 +vt 0.846154 0.853933 +vt 0.544872 0.921348 +vt 0.416667 0.966292 +vt 0.416667 0.921348 +vt 0.416667 0.921348 +vt 0.544872 0.966292 +vt 0.416667 0.966292 +vt 0.410256 0.910112 +vt 0.544872 0.921348 +vt 0.416667 0.966292 +vt 0.416667 0.921348 +vt 0.570513 0.966292 +vt 0.544872 0.966292 +vt 0.416667 0.966292 +vt 0.544872 0.921348 +vt 0.544872 0.966292 +vt 0.410256 0.977528 +vt 0.397436 0.910112 +vt 0.410256 0.910112 +vt 0.410256 0.910112 +vt 0.416667 0.921348 +vt 0.410256 0.910112 +vt 0.397436 0.977528 +vt 0.358974 0.910112 +vt 0.397436 0.910112 +vt 0.410256 0.977528 +vt 0.410256 0.977528 +vt 0.397436 0.910112 +vt 0.410256 0.977528 +vt 0.397436 0.910112 +vt 0.410256 0.977528 +vt 0.397436 0.910112 +vt 0.410256 0.910112 +vt 0.410256 0.977528 +vt 0.397436 0.910112 +vt 0.410256 0.910112 +vt 0.410256 0.977528 +vt 0.397436 0.910112 +vt 0.410256 0.910112 +vt 0.397436 0.977528 +vt 0.358974 0.910112 +vt 0.416667 0.966292 +vt 0.416667 0.921348 +vt 0.416667 0.966292 +vt 0.416667 0.921348 +vt 0.416667 0.966292 +vt 0.410256 0.910112 +vt 0.416667 0.921348 +vt 0.410256 0.977528 +vt 0.397436 0.910112 +vt 0.544872 0.921348 +vt 0.544872 0.966292 +vt 0.544872 0.921348 +vt 0.570513 0.966292 +vt 0.544872 0.966292 +vt 0.544872 0.921348 +vt 0.416667 0.966292 +vt 0.416667 0.921348 +vt 0.544872 0.966292 +vt 1.000000 0.134831 +vt 0.974359 -0.000000 +vt 1.000000 -0.000000 +vt 0.923077 0.134831 +vt 0.897436 -0.000000 +vt 0.923077 0.000000 +vt 0.948718 -0.000000 +vt 0.923077 0.134831 +vt 0.923077 0.000000 +vt 0.974359 0.134831 +vt 0.974359 0.134831 +vt 0.948718 -0.000000 +vt 0.974359 -0.000000 +vt 1.000000 0.134831 +vt 1.000000 -0.000000 +vt 0.897436 -0.000000 +vt 0.948718 0.494382 +vt 0.974359 0.359551 +vt 0.974359 0.494382 +vt 0.897436 0.359551 +vt 0.923077 0.494382 +vt 0.897436 0.494382 +vt 0.923077 0.359551 +vt 0.948718 0.359551 +vt 0.923077 0.314607 +vt 0.948718 0.179775 +vt 0.948718 0.314607 +vt 1.000000 0.494382 +vt 1.000000 0.539326 +vt 0.974359 0.674157 +vt 0.974359 0.539326 +vt 1.000000 0.359551 +vt 1.000000 0.314607 +vt 0.923077 0.314607 +vt 1.000000 0.539326 +vt 0.923077 0.539326 +vt 0.974359 0.134831 +vt 0.948718 0.134831 +vt 0.948718 0.719101 +vt 0.974359 0.719101 +vt 0.897436 0.314607 +vt 0.923077 0.179775 +vt 0.948718 0.539326 +vt 0.923077 0.674157 +vt 0.923077 0.539326 +vt 0.948718 0.674157 +vt 0.974359 0.314607 +vt 1.000000 0.179775 +vt 1.000000 0.314607 +vt 0.974359 0.179775 +vt 0.897436 0.674157 +vt 0.897436 0.539326 +vt 0.897436 0.853933 +vt 0.897436 0.853933 +vt 0.544872 0.921348 +vt 0.544872 0.966292 +vt 0.570513 0.921348 +vt 0.397436 0.977528 +vt 0.358974 0.977528 +vt 0.397436 0.977528 +vt 0.397436 0.977528 +vt 0.397436 0.977528 +vt 0.397436 0.977528 +vt 0.358974 0.977528 +vt 0.397436 0.977528 +vt 0.570513 0.921348 +vt 0.544872 0.966292 +vt 0.544872 0.921348 +vt 0.897436 0.134831 +vt 0.948718 0.134831 +vt 0.948718 0.134831 +vt 0.897436 0.134831 +vt 1.000000 0.674157 +vt 0.897436 0.179775 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.7071 0.0000 -0.7071 +vn -0.7071 0.0000 -0.7071 +s off +f 2845/3830/271 2843/3831/271 2842/3832/271 +f 2849/3833/271 2847/3834/271 2846/3835/271 +f 2851/3836/272 2853/3837/272 2850/3838/272 +f 2855/3839/272 2857/3840/272 2854/3841/272 +f 2848/3842/273 2855/3843/273 2847/3844/273 +f 2849/3833/274 2856/3845/274 2848/3846/274 +f 2844/3847/273 2851/3848/273 2843/3849/273 +f 2845/3830/274 2852/3850/274 2844/3851/274 +f 2846/3852/275 2857/3840/275 2849/3833/275 +f 2847/3844/276 2854/3853/276 2846/3852/276 +f 2842/3854/275 2853/3837/275 2845/3830/275 +f 2843/3849/276 2850/3855/276 2842/3854/276 +f 2859/3856/272 2860/3857/272 2858/3858/272 +f 2864/3859/271 2862/3860/271 2863/3861/271 +f 2860/3857/274 2866/3862/274 2858/3858/274 +f 2861/3863/275 2864/3864/275 2860/3865/275 +f 2859/3856/274 2865/3866/274 2861/3867/274 +f 2858/3868/273 2862/3869/273 2859/3870/273 +f 2869/3871/275 2871/3872/275 2867/3873/275 +f 2864/3864/274 2867/3873/274 2860/3865/274 +f 2858/3868/274 2868/3874/274 2863/3875/274 +f 2863/3861/274 2869/3876/274 2864/3859/274 +f 2871/3877/276 2872/3878/276 2870/3879/276 +f 2867/3880/272 2870/3879/272 2866/3862/272 +f 2866/3881/273 2872/3882/273 2868/3874/273 +f 2868/3883/271 2873/3884/271 2869/3876/271 +f 2879/3885/271 2874/3886/271 2878/3887/271 +f 2881/3888/273 2875/3889/273 2879/3890/273 +f 2880/3891/272 2877/3892/272 2881/3893/272 +f 2876/3894/276 2875/3895/276 2877/3892/276 +f 2884/3896/274 2878/3887/274 2883/3897/274 +f 2889/3898/274 2879/3890/274 2884/3899/274 +f 2883/3900/274 2880/3901/274 2887/3902/274 +f 2878/3903/275 2876/3904/275 2880/3901/275 +f 2889/3898/273 2885/3905/273 2888/3906/273 +f 2888/3907/274 2882/3908/274 2886/3909/274 +f 2886/3910/275 2883/3900/275 2887/3902/275 +f 2887/3911/274 2881/3893/274 2889/3912/274 +f 2883/3897/271 2885/3913/271 2884/3896/271 +f 2888/3907/272 2887/3911/272 2889/3912/272 +f 2903/3914/271 2894/3915/271 2895/3916/271 +f 2901/3917/273 2897/3918/273 2893/3919/273 +f 2890/3920/272 2899/3921/272 2891/3922/272 +f 2902/3923/275 2890/3920/275 2894/3915/275 +f 2904/3924/275 2892/3925/275 2896/3926/275 +f 2905/3927/271 2896/3926/271 2897/3928/271 +f 2892/3925/272 2901/3917/272 2893/3919/272 +f 2899/3921/273 2895/3929/273 2891/3922/273 +f 2907/3930/274 2908/3931/274 2909/3932/274 +f 2912/3933/276 2910/3934/276 2911/3935/276 +f 2907/3930/272 2913/3936/272 2906/3937/272 +f 2913/3938/272 2925/3939/272 2917/3940/272 +f 2908/3931/271 2911/3941/271 2909/3932/271 +f 2911/3942/271 2923/3943/271 2915/3944/271 +f 2912/3945/271 2908/3931/271 2916/3946/271 +f 2913/3936/272 2917/3947/272 2906/3937/272 +f 2917/3940/277 2908/3931/277 2906/3937/277 +f 2911/3941/271 2915/3948/271 2909/3932/271 +f 2910/3934/272 2907/3930/272 2914/3949/272 +f 2915/3944/278 2907/3930/278 2909/3932/278 +f 2920/3950/276 2925/3939/276 2921/3951/276 +f 2918/3952/276 2923/3943/276 2919/3953/276 +f 2912/3954/275 2921/3955/275 2913/3938/275 +f 2914/3956/272 2918/3957/272 2910/3958/272 +f 2915/3944/275 2922/3959/275 2914/3956/275 +f 2916/3960/271 2920/3961/271 2912/3962/271 +f 2917/3940/273 2924/3963/273 2916/3960/273 +f 2910/3958/273 2919/3964/273 2911/3965/273 +f 2845/3830/271 2844/3851/271 2843/3831/271 +f 2849/3833/271 2848/3846/271 2847/3834/271 +f 2851/3836/272 2852/3850/272 2853/3837/272 +f 2855/3839/272 2856/3845/272 2857/3840/272 +f 2848/3842/273 2856/3966/273 2855/3843/273 +f 2849/3833/274 2857/3840/274 2856/3845/274 +f 2844/3847/273 2852/3967/273 2851/3848/273 +f 2845/3830/274 2853/3837/274 2852/3850/274 +f 2846/3852/275 2854/3853/275 2857/3840/275 +f 2847/3844/276 2855/3843/276 2854/3853/276 +f 2842/3854/275 2850/3855/275 2853/3837/275 +f 2843/3849/276 2851/3848/276 2850/3855/276 +f 2859/3856/272 2861/3867/272 2860/3857/272 +f 2864/3859/271 2865/3968/271 2862/3860/271 +f 2860/3857/274 2867/3880/274 2866/3862/274 +f 2861/3863/275 2865/3969/275 2864/3864/275 +f 2859/3856/274 2862/3970/274 2865/3866/274 +f 2858/3868/273 2863/3875/273 2862/3869/273 +f 2869/3871/275 2873/3971/275 2871/3872/275 +f 2864/3864/274 2869/3871/274 2867/3873/274 +f 2858/3868/274 2866/3881/274 2868/3874/274 +f 2863/3861/274 2868/3883/274 2869/3876/274 +f 2871/3877/276 2873/3972/276 2872/3878/276 +f 2867/3880/272 2871/3877/272 2870/3879/272 +f 2866/3881/273 2870/3973/273 2872/3882/273 +f 2868/3883/271 2872/3974/271 2873/3884/271 +f 2879/3885/271 2875/3975/271 2874/3886/271 +f 2881/3888/273 2877/3976/273 2875/3889/273 +f 2880/3891/272 2876/3894/272 2877/3892/272 +f 2876/3894/276 2874/3977/276 2875/3895/276 +f 2884/3896/274 2879/3885/274 2878/3887/274 +f 2889/3898/274 2881/3888/274 2879/3890/274 +f 2883/3900/274 2878/3903/274 2880/3901/274 +f 2878/3903/275 2874/3978/275 2876/3904/275 +f 2889/3898/273 2884/3899/273 2885/3905/273 +f 2888/3907/274 2885/3979/274 2882/3908/274 +f 2886/3910/275 2882/3980/275 2883/3900/275 +f 2887/3911/274 2880/3891/274 2881/3893/274 +f 2883/3897/271 2882/3981/271 2885/3913/271 +f 2888/3907/272 2886/3909/272 2887/3911/272 +f 2903/3914/271 2902/3923/271 2894/3915/271 +f 2901/3917/273 2905/3982/273 2897/3918/273 +f 2890/3920/272 2898/3983/272 2899/3921/272 +f 2902/3923/275 2898/3983/275 2890/3920/275 +f 2904/3924/275 2900/3984/275 2892/3925/275 +f 2905/3927/271 2904/3924/271 2896/3926/271 +f 2892/3925/272 2900/3984/272 2901/3917/272 +f 2899/3921/273 2903/3985/273 2895/3929/273 +f 2907/3930/274 2906/3937/274 2908/3931/274 +f 2912/3933/276 2913/3936/276 2910/3934/276 +f 2907/3930/272 2910/3934/272 2913/3936/272 +f 2913/3938/272 2921/3955/272 2925/3939/272 +f 2908/3931/271 2912/3945/271 2911/3941/271 +f 2911/3942/271 2919/3986/271 2923/3943/271 +f 2917/3940/277 2916/3960/277 2908/3931/277 +f 2915/3944/278 2914/3956/278 2907/3930/278 +f 2920/3950/276 2924/3963/276 2925/3939/276 +f 2918/3952/276 2922/3959/276 2923/3943/276 +f 2912/3954/275 2920/3987/275 2921/3955/275 +f 2914/3956/272 2922/3959/272 2918/3957/272 +f 2915/3944/275 2923/3943/275 2922/3959/275 +f 2916/3960/271 2924/3963/271 2920/3961/271 +f 2917/3940/273 2925/3939/273 2924/3963/273 +f 2910/3958/273 2918/3957/273 2919/3964/273 +o Micro_Rope +v -0.187500 5.250000 1.375000 +v -0.275888 5.213388 1.375000 +v -0.312500 5.125000 1.375000 +v -0.275888 5.036612 1.375000 +v -0.187500 5.000000 1.375000 +v -0.099112 5.036612 1.375000 +v -0.062500 5.125000 1.375000 +v -0.099112 5.213388 1.375000 +v -0.187500 5.250000 0.125000 +v -0.275888 5.213388 0.125000 +v -0.312500 5.125000 0.125000 +v -0.275888 5.036612 0.125000 +v -0.187500 5.000000 0.125000 +v -0.099112 5.036612 0.125000 +v -0.062500 5.125000 0.125000 +v -0.099112 5.213388 0.125000 +v 0.187500 4.250000 1.375000 +v 0.099112 4.213388 1.375000 +v 0.062500 4.125000 1.375000 +v 0.099112 4.036612 1.375000 +v 0.187500 4.000000 1.375000 +v 0.275888 4.036612 1.375000 +v 0.312500 4.125000 1.375000 +v 0.275888 4.213388 1.375000 +v 0.187500 4.250000 0.125000 +v 0.099112 4.213388 0.125000 +v 0.062500 4.125000 0.125000 +v 0.099112 4.036612 0.125000 +v 0.187500 4.000000 0.125000 +v 0.275888 4.036612 0.125000 +v 0.312500 4.125000 0.125000 +v 0.275888 4.213388 0.125000 +vt 0.711111 0.896552 +vt 0.700000 0.724138 +vt 0.711111 0.724138 +vt 0.722222 0.896552 +vt 0.722222 0.724138 +vt 0.744444 0.896552 +vt 0.733333 0.724138 +vt 0.744444 0.724138 +vt 0.677778 0.896552 +vt 0.666667 0.724138 +vt 0.677778 0.724138 +vt 0.700000 0.896552 +vt 0.688889 0.724138 +vt 0.733333 0.896552 +vt 0.755556 0.896552 +vt 0.755556 0.724138 +vt 0.688889 0.896552 +vt 0.711111 0.896552 +vt 0.700000 0.724138 +vt 0.711111 0.724138 +vt 0.722222 0.896552 +vt 0.722222 0.724138 +vt 0.744444 0.896552 +vt 0.733333 0.724138 +vt 0.744444 0.724138 +vt 0.677778 0.896552 +vt 0.666667 0.724138 +vt 0.677778 0.724138 +vt 0.700000 0.896552 +vt 0.688889 0.724138 +vt 0.733333 0.896552 +vt 0.755556 0.896552 +vt 0.755556 0.724138 +vt 0.688889 0.896552 +vt 0.666667 0.896552 +vt 0.666667 0.896552 +vn 0.0000 1.0000 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn 1.0000 0.0000 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.0000 -1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +s 1 +f 2934/3988/279 2927/3989/280 2926/3990/279 +f 2941/3991/281 2926/3990/279 2933/3992/281 +f 2939/3993/282 2932/3994/283 2931/3995/282 +f 2937/3996/284 2930/3997/285 2929/3998/284 +f 2935/3999/280 2928/4000/286 2927/3989/280 +f 2940/4001/283 2933/3992/281 2932/3994/283 +f 2938/4002/285 2931/3995/282 2930/4003/285 +f 2936/4004/286 2929/3998/284 2928/4000/286 +f 2950/4005/279 2943/4006/280 2942/4007/279 +f 2957/4008/281 2942/4007/279 2949/4009/281 +f 2955/4010/282 2948/4011/283 2947/4012/282 +f 2953/4013/284 2946/4014/285 2945/4015/284 +f 2951/4016/280 2944/4017/286 2943/4006/280 +f 2956/4018/283 2949/4009/281 2948/4011/283 +f 2954/4019/285 2947/4012/282 2946/4020/285 +f 2952/4021/286 2945/4015/284 2944/4017/286 +f 2934/3988/279 2935/3999/280 2927/3989/280 +f 2941/3991/281 2934/3988/279 2926/3990/279 +f 2939/3993/282 2940/4001/283 2932/3994/283 +f 2937/3996/284 2938/4022/285 2930/3997/285 +f 2935/3999/280 2936/4004/286 2928/4000/286 +f 2940/4001/283 2941/3991/281 2933/3992/281 +f 2938/4002/285 2939/3993/282 2931/3995/282 +f 2936/4004/286 2937/3996/284 2929/3998/284 +f 2950/4005/279 2951/4016/280 2943/4006/280 +f 2957/4008/281 2950/4005/279 2942/4007/279 +f 2955/4010/282 2956/4018/283 2948/4011/283 +f 2953/4013/284 2954/4023/285 2946/4014/285 +f 2951/4016/280 2952/4021/286 2944/4017/286 +f 2956/4018/283 2957/4008/281 2949/4009/281 +f 2954/4019/285 2955/4010/282 2947/4012/282 +f 2952/4021/286 2953/4013/284 2945/4015/284 +o Micro_Pivot +v -0.125000 1.250000 -1.375000 +v 0.125000 1.250000 -1.375000 +v -0.125000 1.250000 -1.625000 +v 0.125000 1.250000 -1.625000 +v -0.125000 3.250000 -1.625000 +v -0.125000 3.250000 -1.375000 +v 0.125000 3.250000 -1.375000 +v 0.125000 3.250000 -1.625000 +v -0.062500 3.250000 -1.437500 +v 0.062500 3.250000 -1.437500 +v -0.062500 3.250000 -1.562500 +v 0.062500 3.250000 -1.562500 +v -0.062500 4.250000 -1.562500 +v -0.062500 4.250000 -1.437500 +v 0.062500 4.250000 -1.437500 +v 0.062500 4.250000 -1.562500 +vt 0.755556 0.310345 +vt 0.777778 0.275862 +vt 0.777778 0.310345 +vt 0.844444 -0.000000 +vt 0.822222 0.275862 +vt 0.822222 -0.000000 +vt 0.800000 -0.000000 +vt 0.777778 -0.000000 +vt 0.755556 0.275862 +vt 0.755556 -0.000000 +vt 0.800000 0.275862 +vt 0.788889 0.275862 +vt 0.777778 0.413793 +vt 0.777778 0.275862 +vt 0.811111 0.275862 +vt 0.800000 0.413793 +vt 0.800000 0.275862 +vt 0.822222 0.275862 +vt 0.811111 0.413793 +vt 0.788889 0.413793 +vt 0.844444 0.275862 +vt 0.822222 0.413793 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +s off +f 2964/4024/287 2962/4025/287 2963/4026/287 +f 2961/4027/288 2964/4028/288 2959/4029/288 +f 2958/4030/289 2962/4025/289 2960/4031/289 +f 2960/4031/290 2965/4032/290 2961/4033/290 +f 2959/4029/291 2963/4034/291 2958/4030/291 +f 2968/4035/290 2973/4036/290 2969/4037/290 +f 2967/4038/291 2971/4039/291 2966/4040/291 +f 2969/4041/288 2972/4042/288 2967/4038/288 +f 2966/4040/289 2970/4043/289 2968/4035/289 +f 2964/4024/287 2965/4032/287 2962/4025/287 +f 2961/4027/288 2965/4044/288 2964/4028/288 +f 2958/4030/289 2963/4034/289 2962/4025/289 +f 2960/4031/290 2962/4025/290 2965/4032/290 +f 2959/4029/291 2964/4028/291 2963/4034/291 +f 2968/4035/290 2970/4043/290 2973/4036/290 +f 2967/4038/291 2972/4042/291 2971/4039/291 +f 2969/4041/288 2973/4045/288 2972/4042/288 +f 2966/4040/289 2971/4039/289 2970/4043/289 +o Micro_Erector +v -0.125000 3.250000 -1.625000 +v -0.125000 3.250000 -1.375000 +v 0.125000 3.250000 -1.375000 +v 0.125000 3.250000 -1.625000 +v -0.125000 6.000000 -1.625000 +v -0.125000 6.250000 -1.375000 +v 0.125000 6.250000 -1.375000 +v 0.125000 6.000000 -1.625000 +v -0.125000 6.250000 -1.375000 +v 0.125000 6.250000 -1.375000 +v -0.125000 6.000000 -1.375000 +v 0.125000 6.000000 -1.375000 +v -0.125000 6.250000 -0.625000 +v 0.125000 6.250000 -0.625000 +v -0.125000 6.000000 -0.625000 +v 0.125000 6.000000 -0.625000 +v 0.375000 6.250000 -0.125000 +v 0.625000 6.250000 -0.125000 +v 0.375000 6.000000 -0.125000 +v 0.625000 6.000000 -0.125000 +v 0.375000 6.250000 0.375000 +v 0.625000 6.250000 0.125000 +v 0.375000 6.000000 0.375000 +v 0.625000 6.000000 0.125000 +v -0.625000 6.250000 -0.125000 +v -0.375000 6.250000 -0.125000 +v -0.625000 6.000000 -0.125000 +v -0.375000 6.000000 -0.125000 +v -0.625000 6.250000 0.125000 +v -0.375000 6.250000 0.375000 +v -0.625000 6.000000 0.125000 +v -0.375000 6.000000 0.375000 +v -0.125000 6.250000 -0.375000 +v 0.125000 6.250000 -0.375000 +v -0.125000 6.000000 -0.375000 +v 0.125000 6.000000 -0.375000 +v 0.000000 6.250000 -0.625000 +v 0.000000 6.000000 -0.625000 +v 0.000000 5.500000 -1.375000 +v 0.000000 5.250000 -1.375000 +v 0.000000 5.000000 -1.375000 +v 0.000000 4.750000 -1.375000 +v 0.000000 4.250000 -0.625000 +v 0.000000 4.000000 -0.625000 +v 0.125000 4.000000 -0.375000 +v -0.125000 4.000000 -0.375000 +v 0.125000 4.250000 -0.375000 +v -0.125000 4.250000 -0.375000 +v -0.375000 4.000000 0.375000 +v -0.625000 4.000000 0.125000 +v -0.375000 4.250000 0.375000 +v -0.625000 4.250000 0.125000 +v -0.375000 4.000000 -0.125000 +v -0.625000 4.000000 -0.125000 +v -0.375000 4.250000 -0.125000 +v -0.625000 4.250000 -0.125000 +v 0.625000 4.000000 0.125000 +v 0.375000 4.000000 0.375000 +v 0.625000 4.250000 0.125000 +v 0.375000 4.250000 0.375000 +v 0.625000 4.000000 -0.125000 +v 0.375000 4.000000 -0.125000 +v 0.625000 4.250000 -0.125000 +v 0.375000 4.250000 -0.125000 +v 0.125000 4.000000 -0.625000 +v -0.125000 4.000000 -0.625000 +v 0.125000 4.250000 -0.625000 +v -0.125000 4.250000 -0.625000 +v 0.125000 4.000000 -1.375000 +v -0.125000 4.000000 -1.375000 +v 0.125000 4.250000 -1.375000 +v -0.125000 4.250000 -1.375000 +v 0.000000 6.250000 -0.625000 +v 0.000000 6.000000 -0.625000 +v 0.000000 5.500000 -1.375000 +v 0.000000 5.250000 -1.375000 +v 0.000000 5.000000 -1.375000 +v 0.000000 4.750000 -1.375000 +v 0.000000 4.250000 -0.625000 +v 0.000000 4.000000 -0.625000 +vt 0.800000 0.448276 +vt 0.777778 0.413793 +vt 0.800000 0.413793 +vt 0.777778 0.862069 +vt 0.800000 0.827586 +vt 0.800000 0.862069 +vt 0.777778 0.827586 +vt 0.777778 0.448276 +vt 0.844444 0.448276 +vt 0.822222 0.862069 +vt 0.822222 0.448276 +vt 0.755556 0.448276 +vt 0.755556 0.862069 +vt 0.866667 0.172414 +vt 0.911111 0.137931 +vt 0.888889 0.172414 +vt 1.000000 0.172414 +vt 0.977778 0.103448 +vt 1.000000 0.103448 +vt 0.866667 -0.000000 +vt 0.844444 0.103448 +vt 0.844444 -0.000000 +vt 0.933333 0.000000 +vt 0.911111 0.103448 +vt 0.911111 0.000000 +vt 1.000000 -0.000000 +vt 0.977778 -0.000000 +vt 0.933333 -0.000000 +vt 0.911111 0.103448 +vt 0.911111 -0.000000 +vt 0.866667 0.241379 +vt 0.844444 0.206897 +vt 0.866667 0.206897 +vt 0.955556 0.172414 +vt 0.977778 0.206897 +vt 0.955556 0.241379 +vt 0.866667 0.172414 +vt 0.844444 0.172414 +vt 0.888889 0.172414 +vt 0.844444 0.310345 +vt 0.866667 0.310345 +vt 0.955556 0.172414 +vt 0.933333 0.103448 +vt 0.977778 0.172414 +vt 0.977778 0.206897 +vt 1.000000 0.241379 +vt 0.977778 0.241379 +vt 0.866667 0.206897 +vt 0.977778 0.310345 +vt 1.000000 0.310345 +vt 0.955556 0.241379 +vt 0.933333 0.137931 +vt 0.911111 0.172414 +vt 0.911111 0.137931 +vt 0.933333 0.103448 +vt 1.000000 0.344828 +vt 0.866667 0.344828 +vt 0.866667 0.103448 +vt 0.933333 0.137931 +vt 0.977778 0.172414 +vt 0.444444 0.000000 +vt 0.511111 0.034483 +vt 0.444444 0.034483 +vt 0.444444 0.034483 +vt 0.511111 0.000000 +vt 0.511111 0.034483 +vt 0.933333 0.103448 +vt 0.911111 0.137931 +vt 0.911111 0.103448 +vt 0.933333 0.137931 +vt 0.911111 0.172414 +vt 0.911111 0.137931 +vt 1.000000 0.172414 +vt 0.977778 0.206897 +vt 0.977778 0.172414 +vt 0.955556 0.172414 +vt 0.955556 0.241379 +vt 0.977778 0.310345 +vt 1.000000 0.241379 +vt 1.000000 0.310345 +vt 0.888889 0.172414 +vt 0.866667 0.206897 +vt 0.866667 0.172414 +vt 0.977778 0.241379 +vt 0.933333 0.103448 +vt 0.844444 0.310345 +vt 0.866667 0.241379 +vt 0.866667 0.310345 +vt 0.888889 0.172414 +vt 0.866667 0.206897 +vt 0.866667 0.172414 +vt 0.844444 0.206897 +vt 0.844444 0.172414 +vt 0.955556 0.172414 +vt 0.977778 0.206897 +vt 0.955556 0.241379 +vt 0.933333 -0.000000 +vt 0.911111 -0.000000 +vt 1.000000 -0.000000 +vt 0.977778 0.103448 +vt 0.977778 -0.000000 +vt 0.933333 0.000000 +vt 0.911111 0.103448 +vt 0.911111 0.000000 +vt 0.866667 -0.000000 +vt 0.844444 0.103448 +vt 0.844444 -0.000000 +vt 1.000000 0.103448 +vt 0.511111 0.034483 +vt 0.444444 0.000000 +vt 0.444444 0.034483 +vt 0.511111 0.000000 +vt 0.444444 0.034483 +vt 0.511111 0.034483 +vt 1.000000 0.344828 +vt 0.866667 0.344828 +vt 0.866667 0.103448 +vt 0.933333 0.137931 +vt 0.977778 0.172414 +vt 0.844444 0.862069 +vt 0.844444 0.241379 +vt 0.888889 0.241379 +vt 1.000000 0.206897 +vt 0.888889 0.241379 +vt 0.933333 0.172414 +vt 0.977778 0.344828 +vt 0.844444 0.344828 +vt 0.511111 0.000000 +vt 0.444444 -0.000000 +vt 0.933333 0.172414 +vt 1.000000 0.206897 +vt 0.888889 0.241379 +vt 0.844444 0.241379 +vt 0.888889 0.241379 +vt 0.511111 0.000000 +vt 0.444444 -0.000000 +vt 0.977778 0.344828 +vt 0.844444 0.344828 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.7071 0.0000 -0.7071 +vn 0.0000 1.0000 0.0000 +vn 0.7071 0.0000 0.7071 +vn -0.7071 0.0000 0.7071 +vn 0.7071 0.0000 -0.7071 +s off +f 2974/4046/292 2976/4047/292 2975/4048/292 +f 2980/4049/293 2978/4050/293 2979/4051/293 +f 2974/4046/294 2981/4052/294 2977/4053/294 +f 2976/4054/295 2979/4055/295 2975/4056/295 +f 2976/4057/296 2981/4052/296 2980/4058/296 +f 2975/4056/297 2978/4050/297 2974/4046/297 +f 3000/4059/292 3008/4060/292 3001/4061/292 +f 3000/4062/298 2986/4063/298 2988/4064/298 +f 2983/4065/296 2989/4066/296 2985/4067/296 +f 2982/4068/299 2987/4069/299 2983/4070/299 +f 2984/4071/297 2986/4063/297 2982/4072/297 +f 2985/4073/292 2988/4074/292 2984/4075/292 +f 2994/4076/300 2997/4077/300 2995/4078/300 +f 2992/4079/292 2997/4080/292 2996/4081/292 +f 2991/4082/296 2997/4077/296 2993/4083/296 +f 2990/4084/299 2995/4078/299 2991/4082/299 +f 2992/4085/297 2994/4076/297 2990/4086/297 +f 2999/4087/299 2986/4088/299 2998/4089/299 +f 3002/4090/301 3005/4091/301 3003/4092/301 +f 3001/4061/292 3004/4093/292 3000/4059/292 +f 2999/4094/296 3005/4091/296 3001/4095/296 +f 2999/4087/299 3002/4090/299 3003/4096/299 +f 3000/4062/297 3002/4090/297 2998/4089/297 +f 3006/4097/295 3009/4098/295 3007/4099/295 +f 2989/4100/292 3008/4060/292 2988/4074/292 +f 3008/4101/300 2999/4094/300 3001/4095/300 +f 2986/4088/299 3007/4099/299 2987/4069/299 +f 3007/4102/301 2992/4085/301 2990/4086/301 +f 2991/4082/299 3007/4099/299 2990/4084/299 +f 2991/4082/302 2989/4066/302 2987/4103/302 +f 3009/4104/292 2993/4105/292 2992/4079/292 +f 3011/4106/296 3012/4107/296 3010/4108/296 +f 3016/4109/296 3015/4110/296 3014/4111/296 +f 3038/4112/292 3019/4113/292 3039/4114/292 +f 3021/4115/295 3018/4116/295 3020/4117/295 +f 3027/4118/297 3025/4119/297 3029/4120/297 +f 3028/4121/299 3025/4119/299 3024/4122/299 +f 3028/4123/296 3022/4124/296 3026/4125/296 +f 3026/4126/292 3023/4127/292 3027/4128/292 +f 3025/4119/301 3022/4124/301 3024/4129/301 +f 3028/4121/299 3041/4130/299 3029/4120/299 +f 3035/4131/297 3033/4132/297 3037/4133/297 +f 3037/4134/299 3032/4135/299 3036/4136/299 +f 3036/4136/296 3030/4137/296 3034/4138/296 +f 3035/4139/292 3030/4140/292 3031/4141/292 +f 3033/4132/300 3030/4137/300 3032/4135/300 +f 3042/4142/292 3039/4114/292 3043/4143/292 +f 3043/4144/297 3041/4145/297 3045/4146/297 +f 3045/4147/299 3040/4148/299 3044/4149/299 +f 3044/4150/296 3038/4151/296 3042/4152/296 +f 3027/4118/298 3041/4145/298 3039/4153/298 +f 3027/4128/292 3019/4113/292 3026/4126/292 +f 3048/4154/297 3047/4155/297 3046/4156/297 +f 3051/4157/297 3052/4158/297 3050/4159/297 +f 3019/4160/300 3028/4123/300 3026/4125/300 +f 3041/4130/299 3020/4117/299 3040/4148/299 +f 3020/4161/301 3035/4131/301 3037/4133/301 +f 3036/4136/299 3020/4117/299 3037/4134/299 +f 3036/4136/302 3038/4151/302 3040/4162/302 +f 3018/4163/292 3034/4164/292 3035/4139/292 +f 2974/4046/292 2977/4053/292 2976/4047/292 +f 2980/4049/293 2981/4052/293 2978/4050/293 +f 2974/4046/294 2978/4050/294 2981/4052/294 +f 2976/4054/295 2980/4165/295 2979/4055/295 +f 2976/4057/296 2977/4053/296 2981/4052/296 +f 2975/4056/297 2979/4055/297 2978/4050/297 +f 3000/4059/292 2988/4074/292 3008/4060/292 +f 3000/4062/298 2998/4089/298 2986/4063/298 +f 2983/4065/296 2987/4103/296 2989/4066/296 +f 2982/4068/299 2986/4088/299 2987/4069/299 +f 2984/4071/297 2988/4064/297 2986/4063/297 +f 2985/4073/292 2989/4100/292 2988/4074/292 +f 2994/4076/300 2996/4166/300 2997/4077/300 +f 2992/4079/292 2993/4105/292 2997/4080/292 +f 2991/4082/296 2995/4078/296 2997/4077/296 +f 2990/4084/299 2994/4167/299 2995/4078/299 +f 2992/4085/297 2996/4166/297 2994/4076/297 +f 2999/4087/299 3006/4097/299 2986/4088/299 +f 3002/4090/301 3004/4168/301 3005/4091/301 +f 3001/4061/292 3005/4169/292 3004/4093/292 +f 2999/4094/296 3003/4092/296 3005/4091/296 +f 2999/4087/299 2998/4089/299 3002/4090/299 +f 3000/4062/297 3004/4168/297 3002/4090/297 +f 3006/4097/295 3008/4170/295 3009/4098/295 +f 2989/4100/292 3009/4104/292 3008/4060/292 +f 3008/4101/300 3006/4171/300 2999/4094/300 +f 2986/4088/299 3006/4097/299 3007/4099/299 +f 3007/4102/301 3009/4172/301 2992/4085/301 +f 2991/4082/299 2987/4069/299 3007/4099/299 +f 2991/4082/302 2993/4083/302 2989/4066/302 +f 3009/4104/292 2989/4100/292 2993/4105/292 +f 3011/4106/296 3013/4173/296 3012/4107/296 +f 3016/4109/296 3017/4174/296 3015/4110/296 +f 3038/4112/292 3018/4163/292 3019/4113/292 +f 3021/4115/295 3019/4175/295 3018/4116/295 +f 3027/4118/297 3023/4176/297 3025/4119/297 +f 3028/4121/299 3029/4120/299 3025/4119/299 +f 3028/4123/296 3024/4129/296 3022/4124/296 +f 3026/4126/292 3022/4177/292 3023/4127/292 +f 3025/4119/301 3023/4176/301 3022/4124/301 +f 3028/4121/299 3021/4115/299 3041/4130/299 +f 3035/4131/297 3031/4178/297 3033/4132/297 +f 3037/4134/299 3033/4179/299 3032/4135/299 +f 3036/4136/296 3032/4135/296 3030/4137/296 +f 3035/4139/292 3034/4164/292 3030/4140/292 +f 3033/4132/300 3031/4178/300 3030/4137/300 +f 3042/4142/292 3038/4112/292 3039/4114/292 +f 3043/4144/297 3039/4153/297 3041/4145/297 +f 3045/4147/299 3041/4130/299 3040/4148/299 +f 3044/4150/296 3040/4162/296 3038/4151/296 +f 3027/4118/298 3029/4120/298 3041/4145/298 +f 3027/4128/292 3039/4114/292 3019/4113/292 +f 3048/4154/297 3049/4180/297 3047/4155/297 +f 3051/4157/297 3053/4181/297 3052/4158/297 +f 3019/4160/300 3021/4182/300 3028/4123/300 +f 3041/4130/299 3021/4115/299 3020/4117/299 +f 3020/4161/301 3018/4183/301 3035/4131/301 +f 3036/4136/299 3040/4148/299 3020/4117/299 +f 3036/4136/302 3034/4138/302 3038/4151/302 +f 3018/4163/292 3038/4112/292 3034/4164/292 +o Micro_Pad +v -1.250000 2.000000 1.250000 +v 1.250000 2.000000 1.250000 +v -1.250000 2.000000 -1.250000 +v 1.250000 2.000000 -1.250000 +v -1.250000 1.500000 -1.250000 +v -1.250000 1.500000 1.250000 +v 1.250000 1.500000 1.250000 +v 1.250000 1.500000 -1.250000 +v -0.500000 2.000000 0.500000 +v 0.500000 2.000000 0.500000 +v -0.500000 2.000000 -0.500000 +v 0.500000 2.000000 -0.500000 +v -0.500000 1.500000 0.500000 +v 0.500000 1.500000 0.500000 +v -0.500000 1.500000 -0.500000 +v 0.500000 1.500000 -0.500000 +v -0.500000 2.000000 0.500000 +v 0.500000 2.000000 0.500000 +v -0.500000 2.000000 -0.500000 +v 0.500000 2.000000 -0.500000 +v 1.250000 1.500000 -1.250000 +v 1.250000 1.000000 -1.250000 +v 0.250000 1.500000 -1.250000 +v 0.500000 1.000000 -1.250000 +v 1.250000 1.500000 -0.250000 +v 1.250000 1.000000 -0.500000 +v 0.500000 1.500000 -0.500000 +v 0.500000 1.000000 -0.500000 +v 0.500000 1.250000 -1.250000 +v 1.250000 1.250000 -0.500000 +v 0.500000 1.250000 -0.500000 +v 0.250000 1.500000 -0.500000 +v 0.500000 1.500000 -0.250000 +v -0.500000 1.000000 -1.250000 +v 0.500000 1.000000 -1.250000 +v -0.500000 1.000000 -1.750000 +v 0.500000 1.000000 -1.750000 +v -0.500000 1.500000 -1.750000 +v -0.500000 1.500000 -1.250000 +v 0.500000 1.500000 -1.250000 +v 0.500000 1.500000 -1.750000 +v -0.875000 1.000000 2.000000 +v -0.625000 1.000000 2.000000 +v -0.875000 1.000000 1.750000 +v -0.625000 1.000000 1.750000 +v 0.625000 1.000000 2.000000 +v 0.875000 1.000000 2.000000 +v 0.625000 1.000000 1.750000 +v 0.875000 1.000000 1.750000 +v -0.875000 2.000000 1.000000 +v -0.625000 2.000000 1.000000 +v -0.875000 2.000000 0.750000 +v -0.625000 2.000000 0.750000 +v 0.625000 2.000000 1.000000 +v 0.875000 2.000000 1.000000 +v 0.625000 2.000000 0.750000 +v 0.875000 2.000000 0.750000 +v -0.875000 8.000000 1.750000 +v -0.875000 8.000000 2.000000 +v -0.625000 8.000000 2.000000 +v -0.625000 8.000000 1.750000 +v 0.625000 8.000000 1.750000 +v 0.625000 8.000000 2.000000 +v 0.875000 8.000000 2.000000 +v 0.875000 8.000000 1.750000 +v -0.875000 8.000000 0.750000 +v -0.875000 8.000000 1.000000 +v -0.625000 8.000000 1.000000 +v -0.625000 8.000000 0.750000 +v 0.625000 8.000000 0.750000 +v 0.625000 8.000000 1.000000 +v 0.875000 8.000000 1.000000 +v 0.875000 8.000000 0.750000 +v -0.625000 1.000000 1.875000 +v 0.625000 1.000000 1.875000 +v -0.625000 8.000000 1.875000 +v 0.625000 8.000000 1.875000 +v -0.625000 2.000000 0.875000 +v 0.625000 2.000000 0.875000 +v -0.625000 8.000000 0.875000 +v 0.625000 8.000000 0.875000 +v 0.750000 1.000000 1.750000 +v 0.750000 8.000000 1.750000 +v 0.750000 1.000000 1.000000 +v 0.750000 8.000000 1.000000 +v -0.750000 1.000000 1.750000 +v -0.750000 8.000000 1.750000 +v -0.750000 1.000000 1.000000 +v -0.750000 8.000000 1.000000 +v -0.312500 1.000000 1.625000 +v -0.062500 1.000000 1.625000 +v -0.312500 1.000000 1.375000 +v -0.062500 1.000000 1.375000 +v 0.062500 1.000000 1.625000 +v 0.312500 1.000000 1.625000 +v 0.062500 1.000000 1.375000 +v 0.312500 1.000000 1.375000 +v -0.312500 6.000000 1.375000 +v -0.312500 6.000000 1.625000 +v -0.062500 6.000000 1.625000 +v -0.062500 6.000000 1.375000 +v 0.062500 6.000000 1.375000 +v 0.062500 6.000000 1.625000 +v 0.312500 6.000000 1.625000 +v 0.312500 6.000000 1.375000 +v -1.250000 1.500000 1.250000 +v -1.250000 1.000000 1.250000 +v -0.250000 1.500000 1.250000 +v -0.500000 1.000000 1.250000 +v -1.250000 1.500000 0.250000 +v -1.250000 1.000000 0.500000 +v -0.500000 1.500000 0.500000 +v -0.500000 1.000000 0.500000 +v -0.500000 1.250000 1.250000 +v -1.250000 1.250000 0.500000 +v -0.500000 1.250000 0.500000 +v -0.250000 1.500000 0.500000 +v -0.500000 1.500000 0.250000 +v -1.250000 1.500000 -1.250000 +v -1.250000 1.000000 -1.250000 +v -1.250000 1.500000 -0.250000 +v -1.250000 1.000000 -0.500000 +v -0.250000 1.500000 -1.250000 +v -0.500000 1.000000 -1.250000 +v -0.500000 1.500000 -0.500000 +v -0.500000 1.000000 -0.500000 +v -1.250000 1.250000 -0.500000 +v -0.500000 1.250000 -1.250000 +v -0.500000 1.250000 -0.500000 +v -0.500000 1.500000 -0.250000 +v -0.250000 1.500000 -0.500000 +v 1.250000 1.500000 1.250000 +v 1.250000 1.000000 1.250000 +v 1.250000 1.500000 0.250000 +v 1.250000 1.000000 0.500000 +v 0.250000 1.500000 1.250000 +v 0.500000 1.000000 1.250000 +v 0.500000 1.500000 0.500000 +v 0.500000 1.000000 0.500000 +v 1.250000 1.250000 0.500000 +v 0.500000 1.250000 1.250000 +v 0.500000 1.250000 0.500000 +v 0.500000 1.500000 0.250000 +v 0.250000 1.500000 0.500000 +v -0.625000 1.000000 1.875000 +v 0.625000 1.000000 1.875000 +v -0.625000 8.000000 1.875000 +v 0.625000 8.000000 1.875000 +v -0.625000 2.000000 0.875000 +v 0.625000 2.000000 0.875000 +v -0.625000 8.000000 0.875000 +v 0.625000 8.000000 0.875000 +v 0.750000 1.000000 1.750000 +v 0.750000 8.000000 1.750000 +v 0.750000 1.000000 1.000000 +v 0.750000 8.000000 1.000000 +v -0.750000 1.000000 1.750000 +v -0.750000 8.000000 1.750000 +v -0.750000 1.000000 1.000000 +v -0.750000 8.000000 1.000000 +vt 0.066667 0.655172 +vt 0.222222 0.758621 +vt 0.000000 0.758621 +vt 0.066667 0.517241 +vt 0.000000 0.413793 +vt 0.222222 0.344828 +vt 0.222222 0.413793 +vt 0.000000 0.413793 +vt 0.222222 0.344828 +vt 0.222222 0.413793 +vt 0.000000 0.413793 +vt 0.222222 0.344828 +vt 0.222222 0.413793 +vt -0.000000 0.413793 +vt 0.222222 0.344828 +vt 0.222222 0.413793 +vt 0.066667 0.172414 +vt 0.155556 0.241379 +vt 0.066667 0.241379 +vt 0.155556 0.655172 +vt 0.155556 0.517241 +vt 0.000000 -0.000000 +vt 0.066667 0.241379 +vt 0.000000 0.344828 +vt 0.155556 0.241379 +vt 0.155556 0.103448 +vt 0.222222 -0.000000 +vt 0.066667 0.103448 +vt 0.066667 0.517241 +vt 0.155556 0.655172 +vt 0.066667 0.655172 +vt 0.066667 0.172414 +vt 0.155556 0.241379 +vt 0.066667 0.241379 +vt 0.066667 0.172414 +vt 0.155556 0.241379 +vt 0.066667 0.241379 +vt 0.066667 0.172414 +vt 0.155556 0.241379 +vt 0.066667 0.241379 +vt 0.088889 0.758621 +vt 0.155556 0.758621 +vt 0.155556 0.793103 +vt 0.022222 0.827586 +vt 0.088889 0.862069 +vt 0.022222 0.862069 +vt 0.088889 0.827586 +vt 0.000000 0.827586 +vt 0.022222 0.793103 +vt 0.088889 0.896552 +vt 0.155556 0.862069 +vt 0.088889 0.827586 +vt 0.155556 0.827586 +vt 0.155556 0.793103 +vt 0.177778 0.758621 +vt 0.177778 0.793103 +vt 0.200000 0.793103 +vt 0.088889 0.896552 +vt 0.155556 0.896552 +vt 0.888889 0.655172 +vt 0.933333 0.793103 +vt 0.888889 0.793103 +vt 0.888889 0.862069 +vt 0.933333 0.862069 +vt 0.977778 0.793103 +vt 0.933333 0.655172 +vt 0.977778 0.655172 +vt 0.844444 0.655172 +vt 0.844444 0.793103 +vt 0.933333 0.586207 +vt 0.888889 0.586207 +vt 0.577778 0.965517 +vt 0.600000 1.000000 +vt 0.577778 1.000000 +vt 0.577778 0.965517 +vt 0.600000 1.000000 +vt 0.577778 1.000000 +vt 0.577778 0.965517 +vt 0.600000 1.000000 +vt 0.577778 1.000000 +vt 0.577778 0.965517 +vt 0.600000 1.000000 +vt 0.577778 1.000000 +vt 0.600000 0.137931 +vt 0.577778 0.137931 +vt 0.622222 0.000000 +vt 0.600000 0.965517 +vt 0.600000 0.000000 +vt 0.622222 0.137931 +vt 0.600000 0.965517 +vt 0.644444 0.000000 +vt 0.622222 0.965517 +vt 0.622222 0.000000 +vt 0.644444 0.137931 +vt 0.622222 0.965517 +vt 0.622222 0.137931 +vt 0.666667 0.000000 +vt 0.644444 0.965517 +vt 0.666667 0.137931 +vt 0.644444 0.965517 +vt 0.600000 0.000000 +vt 0.577778 0.000000 +vt 0.600000 0.137931 +vt 0.577778 0.137931 +vt 0.600000 0.965517 +vt 0.644444 0.000000 +vt 0.622222 0.965517 +vt 0.600000 0.965517 +vt 0.644444 0.137931 +vt 0.622222 0.965517 +vt 0.666667 0.000000 +vt 0.644444 0.965517 +vt 0.666667 0.137931 +vt 0.644444 0.965517 +vt 0.577778 0.000000 +vt 0.222222 0.965517 +vt 0.333333 -0.000000 +vt 0.333333 0.965517 +vt 0.511111 0.965517 +vt 0.400000 0.137931 +vt 0.511111 0.137931 +vt 0.333333 0.000000 +vt 0.400000 0.965517 +vt 0.333333 0.965517 +vt 0.511111 0.965517 +vt 0.577778 0.000000 +vt 0.577778 0.965517 +vt 0.666667 0.689655 +vt 0.688889 0.724138 +vt 0.666667 0.724138 +vt 0.666667 0.689655 +vt 0.688889 0.724138 +vt 0.666667 0.724138 +vt 0.688889 0.000000 +vt 0.666667 0.000000 +vt 0.733333 0.000000 +vt 0.711111 0.689655 +vt 0.711111 0.000000 +vt 0.711111 0.000000 +vt 0.688889 0.689655 +vt 0.688889 0.000000 +vt 0.755556 0.000000 +vt 0.733333 0.689655 +vt 0.733333 0.000000 +vt 0.688889 0.689655 +vt 0.755556 0.000000 +vt 0.733333 0.689655 +vt 0.666667 0.000000 +vt 0.711111 0.689655 +vt 0.088889 0.758621 +vt 0.155556 0.758621 +vt 0.155556 0.793103 +vt 0.022222 0.827586 +vt 0.088889 0.862069 +vt 0.022222 0.862069 +vt 0.088889 0.827586 +vt 0.000000 0.827586 +vt 0.022222 0.793103 +vt 0.022222 0.896552 +vt 0.088889 0.896552 +vt 0.155556 0.862069 +vt 0.088889 0.827586 +vt 0.155556 0.827586 +vt 0.155556 0.793103 +vt 0.177778 0.758621 +vt 0.177778 0.793103 +vt 0.200000 0.793103 +vt 0.088889 0.896552 +vt 0.155556 0.896552 +vt 0.088889 0.758621 +vt 0.155556 0.758621 +vt 0.155556 0.793103 +vt 0.022222 0.827586 +vt 0.088889 0.862069 +vt 0.022222 0.862069 +vt 0.088889 0.827586 +vt 0.000000 0.827586 +vt 0.022222 0.793103 +vt 0.022222 0.896552 +vt 0.088889 0.896552 +vt 0.155556 0.862069 +vt 0.088889 0.827586 +vt 0.155556 0.827586 +vt 0.155556 0.793103 +vt 0.177778 0.758621 +vt 0.177778 0.793103 +vt 0.200000 0.793103 +vt 0.088889 0.896552 +vt 0.155556 0.896552 +vt 0.088889 0.758621 +vt 0.155556 0.758621 +vt 0.155556 0.793103 +vt 0.022222 0.827586 +vt 0.088889 0.862069 +vt 0.022222 0.862069 +vt 0.088889 0.827586 +vt 0.000000 0.827586 +vt 0.022222 0.793103 +vt 0.088889 0.896552 +vt 0.155556 0.862069 +vt 0.088889 0.827586 +vt 0.155556 0.827586 +vt 0.155556 0.793103 +vt 0.177778 0.758621 +vt 0.177778 0.793103 +vt 0.200000 0.793103 +vt 0.088889 0.896552 +vt 0.155556 0.896552 +vt 0.333333 -0.000000 +vt 0.222222 0.965517 +vt 0.333333 0.965517 +vt 0.400000 0.137931 +vt 0.511111 0.965517 +vt 0.511111 0.137931 +vt 0.400000 0.965517 +vt 0.333333 0.000000 +vt 0.333333 0.965517 +vt 0.577778 0.000000 +vt 0.511111 0.965517 +vt 0.577778 0.965517 +vt 0.000000 0.344828 +vt 0.000000 0.344828 +vt -0.000000 0.344828 +vt 0.155556 0.172414 +vt 0.155556 0.517241 +vt 0.155556 0.172414 +vt 0.155556 0.172414 +vt 0.155556 0.172414 +vt 0.177778 0.827586 +vt 0.022222 0.758621 +vt 0.022222 0.896552 +vt 0.666667 0.965517 +vt 0.666667 0.965517 +vt 0.666667 0.965517 +vt 0.666667 0.965517 +vt 0.222222 0.000000 +vt 0.400000 0.965517 +vt 0.400000 0.000000 +vt 0.511111 0.000000 +vt 0.755556 0.689655 +vt 0.755556 0.689655 +vt 0.177778 0.827586 +vt 0.022222 0.758621 +vt 0.177778 0.827586 +vt 0.022222 0.758621 +vt 0.177778 0.827586 +vt 0.022222 0.758621 +vt 0.022222 0.896552 +vt 0.222222 0.000000 +vt 0.400000 0.965517 +vt 0.400000 0.000000 +vt 0.511111 0.000000 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.0000 -0.7071 0.7071 +vn 0.7071 -0.7071 -0.0000 +vn -0.0000 -0.7071 -0.7071 +s off +f 3062/4184/303 3056/4185/303 3054/4186/303 +f 3063/4187/303 3054/4186/303 3055/4188/303 +f 3055/4188/304 3061/4189/304 3057/4190/304 +f 3056/4191/305 3059/4192/305 3054/4193/305 +f 3057/4194/306 3058/4195/306 3056/4196/306 +f 3054/4197/307 3060/4198/307 3055/4199/307 +f 3066/4200/304 3064/4201/304 3062/4202/304 +f 3064/4203/303 3057/4190/303 3056/4185/303 +f 3065/4204/303 3055/4188/303 3057/4190/303 +f 3059/4205/308 3067/4206/308 3060/4207/308 +f 3060/4207/308 3069/4208/308 3061/4189/308 +f 3061/4189/308 3068/4209/308 3058/4210/308 +f 3058/4210/308 3066/4211/308 3059/4205/308 +f 3071/4212/303 3072/4213/303 3070/4214/303 +f 3068/4215/307 3065/4216/307 3064/4217/307 +f 3069/4218/305 3063/4219/305 3065/4220/305 +f 3067/4221/306 3062/4222/306 3063/4223/306 +f 3075/4224/306 3077/4225/306 3082/4226/306 +f 3077/4227/305 3084/4228/305 3082/4229/305 +f 3074/4230/304 3078/4231/304 3083/4232/304 +f 3085/4233/309 3082/4229/309 3084/4228/309 +f 3083/4234/307 3081/4235/307 3079/4236/307 +f 3085/4237/307 3084/4238/307 3080/4239/307 +f 3084/4238/305 3086/4240/305 3080/4239/305 +f 3086/4241/310 3083/4234/310 3078/4242/310 +f 3093/4243/303 3091/4244/303 3092/4245/303 +f 3087/4246/305 3091/4244/305 3089/4247/305 +f 3089/4248/306 3094/4249/306 3090/4250/306 +f 3088/4251/307 3092/4245/307 3087/4252/307 +f 3090/4253/304 3093/4243/304 3088/4254/304 +f 3113/4255/303 3111/4256/303 3112/4257/303 +f 3117/4258/303 3115/4259/303 3116/4260/303 +f 3121/4261/303 3119/4262/303 3120/4263/303 +f 3125/4264/303 3123/4265/303 3124/4266/303 +f 3106/4267/304 3121/4261/304 3104/4268/304 +f 3097/4269/306 3114/4270/306 3098/4271/306 +f 3105/4272/306 3122/4273/306 3106/4267/306 +f 3099/4274/305 3115/4275/305 3101/4276/305 +f 3107/4277/305 3123/4278/305 3109/4279/305 +f 3100/4280/307 3116/4281/307 3099/4274/307 +f 3108/4282/307 3124/4283/307 3107/4277/307 +f 3102/4284/304 3117/4258/304 3100/4285/304 +f 3110/4286/304 3125/4264/304 3108/4287/304 +f 3101/4276/306 3118/4288/306 3102/4284/306 +f 3095/4289/305 3111/4290/305 3097/4269/305 +f 3109/4279/306 3126/4291/306 3110/4286/306 +f 3103/4292/305 3119/4293/305 3105/4272/305 +f 3096/4294/307 3112/4295/307 3095/4289/307 +f 3104/4296/307 3120/4297/307 3103/4292/307 +f 3098/4271/304 3113/4255/304 3096/4298/304 +f 3129/4299/307 3128/4300/307 3130/4301/307 +f 3133/4302/306 3132/4303/306 3131/4304/306 +f 3135/4305/304 3138/4306/304 3136/4307/304 +f 3142/4308/305 3139/4309/305 3140/4310/305 +f 3153/4311/303 3151/4312/303 3152/4313/303 +f 3157/4314/303 3155/4315/303 3156/4316/303 +f 3146/4317/304 3153/4311/304 3144/4318/304 +f 3143/4319/305 3151/4320/305 3145/4321/305 +f 3149/4322/306 3158/4323/306 3150/4324/306 +f 3148/4325/307 3156/4326/307 3147/4327/307 +f 3145/4321/306 3154/4328/306 3146/4317/306 +f 3144/4329/307 3152/4330/307 3143/4319/307 +f 3150/4324/304 3157/4314/304 3148/4331/304 +f 3147/4327/305 3155/4332/305 3149/4322/305 +f 3160/4333/307 3162/4334/307 3167/4335/307 +f 3162/4336/304 3169/4337/304 3167/4338/304 +f 3159/4339/305 3163/4340/305 3168/4341/305 +f 3161/4342/311 3169/4337/311 3170/4343/311 +f 3168/4344/306 3166/4345/306 3164/4346/306 +f 3170/4347/306 3169/4348/306 3165/4349/306 +f 3169/4348/304 3171/4350/304 3165/4349/304 +f 3171/4351/312 3168/4344/312 3163/4352/312 +f 3173/4353/305 3175/4354/305 3180/4355/305 +f 3175/4356/307 3182/4357/307 3180/4358/307 +f 3172/4359/306 3176/4360/306 3181/4361/306 +f 3174/4362/310 3182/4357/310 3183/4363/310 +f 3181/4364/304 3179/4365/304 3177/4366/304 +f 3183/4367/304 3182/4368/304 3178/4369/304 +f 3182/4368/307 3184/4370/307 3178/4369/307 +f 3184/4371/311 3181/4364/311 3176/4372/311 +f 3186/4373/304 3188/4374/304 3193/4375/304 +f 3188/4376/306 3195/4377/306 3193/4378/306 +f 3185/4379/307 3189/4380/307 3194/4381/307 +f 3196/4382/312 3193/4378/312 3195/4377/312 +f 3194/4383/305 3192/4384/305 3190/4385/305 +f 3196/4386/305 3195/4387/305 3191/4388/305 +f 3195/4387/306 3197/4389/306 3191/4388/306 +f 3197/4390/309 3194/4383/309 3189/4391/309 +f 3199/4392/306 3200/4393/306 3201/4394/306 +f 3203/4395/307 3204/4396/307 3202/4397/307 +f 3209/4398/305 3206/4399/305 3207/4400/305 +f 3210/4401/304 3213/4402/304 3211/4403/304 +f 3062/4184/303 3064/4203/303 3056/4185/303 +f 3063/4187/303 3062/4184/303 3054/4186/303 +f 3055/4188/304 3060/4207/304 3061/4189/304 +f 3056/4191/305 3058/4404/305 3059/4192/305 +f 3057/4194/306 3061/4405/306 3058/4195/306 +f 3054/4197/307 3059/4406/307 3060/4198/307 +f 3066/4200/304 3068/4407/304 3064/4201/304 +f 3064/4203/303 3065/4204/303 3057/4190/303 +f 3065/4204/303 3063/4187/303 3055/4188/303 +f 3059/4205/308 3066/4211/308 3067/4206/308 +f 3060/4207/308 3067/4206/308 3069/4208/308 +f 3061/4189/308 3069/4208/308 3068/4209/308 +f 3058/4210/308 3068/4209/308 3066/4211/308 +f 3071/4212/303 3073/4408/303 3072/4213/303 +f 3068/4215/307 3069/4409/307 3065/4216/307 +f 3069/4218/305 3067/4410/305 3063/4219/305 +f 3067/4221/306 3066/4411/306 3062/4222/306 +f 3076/4412/306 3074/4230/306 3082/4226/306 +f 3074/4230/306 3075/4224/306 3082/4226/306 +f 3077/4227/305 3081/4235/305 3084/4228/305 +f 3079/4413/304 3075/4224/304 3083/4232/304 +f 3075/4224/304 3074/4230/304 3083/4232/304 +f 3085/4233/309 3076/4414/309 3082/4229/309 +f 3083/4234/307 3084/4228/307 3081/4235/307 +f 3086/4241/310 3084/4228/310 3083/4234/310 +f 3093/4243/303 3094/4249/303 3091/4244/303 +f 3087/4246/305 3092/4245/305 3091/4244/305 +f 3089/4248/306 3091/4244/306 3094/4249/306 +f 3088/4251/307 3093/4243/307 3092/4245/307 +f 3090/4253/304 3094/4249/304 3093/4243/304 +f 3113/4255/303 3114/4270/303 3111/4256/303 +f 3117/4258/303 3118/4288/303 3115/4259/303 +f 3121/4261/303 3122/4273/303 3119/4262/303 +f 3125/4264/303 3126/4291/303 3123/4265/303 +f 3106/4267/304 3122/4273/304 3121/4261/304 +f 3097/4269/306 3111/4290/306 3114/4270/306 +f 3105/4272/306 3119/4293/306 3122/4273/306 +f 3099/4274/305 3116/4281/305 3115/4275/305 +f 3107/4277/305 3124/4283/305 3123/4278/305 +f 3100/4280/307 3117/4415/307 3116/4281/307 +f 3108/4282/307 3125/4416/307 3124/4283/307 +f 3102/4284/304 3118/4288/304 3117/4258/304 +f 3110/4286/304 3126/4291/304 3125/4264/304 +f 3101/4276/306 3115/4275/306 3118/4288/306 +f 3095/4289/305 3112/4295/305 3111/4290/305 +f 3109/4279/306 3123/4278/306 3126/4291/306 +f 3103/4292/305 3120/4297/305 3119/4293/305 +f 3096/4294/307 3113/4417/307 3112/4295/307 +f 3104/4296/307 3121/4418/307 3120/4297/307 +f 3098/4271/304 3114/4270/304 3113/4255/304 +f 3129/4299/307 3127/4419/307 3128/4300/307 +f 3133/4302/306 3134/4420/306 3132/4303/306 +f 3135/4305/304 3137/4421/304 3138/4306/304 +f 3142/4308/305 3141/4422/305 3139/4309/305 +f 3153/4311/303 3154/4328/303 3151/4312/303 +f 3157/4314/303 3158/4323/303 3155/4315/303 +f 3146/4317/304 3154/4328/304 3153/4311/304 +f 3143/4319/305 3152/4330/305 3151/4320/305 +f 3149/4322/306 3155/4332/306 3158/4323/306 +f 3148/4325/307 3157/4423/307 3156/4326/307 +f 3145/4321/306 3151/4320/306 3154/4328/306 +f 3144/4329/307 3153/4424/307 3152/4330/307 +f 3150/4324/304 3158/4323/304 3157/4314/304 +f 3147/4327/305 3156/4326/305 3155/4332/305 +f 3161/4425/307 3159/4339/307 3167/4335/307 +f 3159/4339/307 3160/4333/307 3167/4335/307 +f 3162/4336/304 3166/4345/304 3169/4337/304 +f 3164/4426/305 3160/4333/305 3168/4341/305 +f 3160/4333/305 3159/4339/305 3168/4341/305 +f 3161/4342/311 3167/4338/311 3169/4337/311 +f 3168/4344/306 3169/4337/306 3166/4345/306 +f 3171/4351/312 3169/4337/312 3168/4344/312 +f 3174/4427/305 3172/4359/305 3180/4355/305 +f 3172/4359/305 3173/4353/305 3180/4355/305 +f 3175/4356/307 3179/4365/307 3182/4357/307 +f 3177/4428/306 3173/4353/306 3181/4361/306 +f 3173/4353/306 3172/4359/306 3181/4361/306 +f 3174/4362/310 3180/4358/310 3182/4357/310 +f 3181/4364/304 3182/4357/304 3179/4365/304 +f 3184/4371/311 3182/4357/311 3181/4364/311 +f 3187/4429/304 3185/4379/304 3193/4375/304 +f 3185/4379/304 3186/4373/304 3193/4375/304 +f 3188/4376/306 3192/4384/306 3195/4377/306 +f 3190/4430/307 3186/4373/307 3194/4381/307 +f 3186/4373/307 3185/4379/307 3194/4381/307 +f 3196/4382/312 3187/4431/312 3193/4378/312 +f 3194/4383/305 3195/4377/305 3192/4384/305 +f 3197/4390/309 3195/4377/309 3194/4383/309 +f 3199/4392/306 3198/4432/306 3200/4393/306 +f 3203/4395/307 3205/4433/307 3204/4396/307 +f 3209/4398/305 3208/4434/305 3206/4399/305 +f 3210/4401/304 3212/4435/304 3213/4402/304 +o V2_Pad +v -0.500000 2.000000 0.500000 +v 0.500000 2.000000 0.500000 +v 0.500000 2.000000 -0.500000 +v -0.500000 2.000000 -0.500000 +v -1.500000 1.500000 -1.500000 +v 1.500000 1.500000 -1.500000 +v -1.500000 1.500000 -2.000000 +v 1.500000 1.500000 -2.000000 +v -1.500000 1.000000 -2.000000 +v 1.500000 1.000000 -2.000000 +v -1.500000 1.000000 -1.500000 +v 1.500000 1.000000 -1.500000 +v -1.500000 2.000000 1.500000 +v 1.500000 2.000000 1.500000 +v -1.500000 2.000000 -1.500000 +v 1.500000 2.000000 -1.500000 +v -0.500000 2.000000 0.500000 +v 0.500000 2.000000 0.500000 +v 0.500000 2.000000 -0.500000 +v -0.500000 2.000000 -0.500000 +v 0.500000 1.750000 -0.500000 +v 0.500000 1.750000 0.500000 +v -0.500000 1.750000 -0.500000 +v -0.500000 1.750000 0.500000 +v -1.500000 1.750000 -1.500000 +v -1.500000 1.750000 1.500000 +v 1.500000 1.750000 1.500000 +v 1.500000 1.750000 -1.500000 +v 0.750000 1.125000 1.250000 +v 1.250000 1.125000 1.250000 +v 0.750000 1.125000 0.750000 +v 1.250000 1.125000 0.750000 +v 0.750000 1.625000 1.250000 +v 1.250000 1.625000 1.250000 +v 0.750000 1.625000 0.750000 +v 1.250000 1.625000 0.750000 +v 0.625000 1.000000 1.375000 +v 1.375000 1.000000 1.375000 +v 0.625000 1.000000 0.625000 +v 1.375000 1.000000 0.625000 +v 0.625000 1.125000 1.375000 +v 1.375000 1.125000 1.375000 +v 0.625000 1.125000 0.625000 +v 1.375000 1.125000 0.625000 +v 0.625000 1.625000 1.375000 +v 1.375000 1.625000 1.375000 +v 0.625000 1.625000 0.625000 +v 1.375000 1.625000 0.625000 +v 0.625000 1.750000 1.375000 +v 1.375000 1.750000 1.375000 +v 0.625000 1.750000 0.625000 +v 1.375000 1.750000 0.625000 +v -0.250000 1.000000 2.250000 +v 0.250000 1.000000 2.250000 +v -0.250000 1.000000 1.750000 +v 0.250000 1.000000 1.750000 +v -0.250000 10.000000 1.750000 +v -0.250000 10.000000 2.250000 +v 0.250000 10.000000 2.250000 +v 0.250000 10.000000 1.750000 +v 4.000000 2.750000 1.500000 +v 3.750000 2.750000 1.500000 +v 3.750000 2.750000 1.750000 +v 4.000000 2.750000 1.750000 +v 0.750001 2.000000 1.500000 +v 3.750000 2.000000 1.500000 +v 0.750001 1.500000 1.633975 +v 3.750000 1.500000 1.633975 +v 0.750001 1.133975 2.000000 +v 3.750000 1.133975 2.000000 +v 0.750001 1.000000 2.500000 +v 3.750000 1.000000 2.500000 +v 0.750001 1.133975 3.000000 +v 3.750000 1.133975 3.000000 +v 0.750001 1.500000 3.366025 +v 3.750000 1.500000 3.366025 +v 0.750001 2.000000 3.500000 +v 3.750000 2.000000 3.500000 +v 0.750001 2.500000 3.366025 +v 3.750000 2.500000 3.366025 +v 0.750001 2.866026 3.000000 +v 3.750000 2.866026 3.000000 +v 0.750001 3.000000 2.500000 +v 3.750000 3.000000 2.500000 +v 0.750001 2.866026 2.000000 +v 3.750000 2.866026 2.000000 +v 0.750001 2.500001 1.633975 +v 3.750000 2.500001 1.633975 +v 4.000000 1.000000 1.750000 +v 3.750000 1.000000 1.750000 +v 3.750000 1.000000 1.500000 +v 4.000000 1.000000 1.500000 +v 4.000000 1.250000 1.500000 +v 3.750000 1.250000 1.500000 +v 3.750000 1.250000 1.750000 +v 4.000000 1.250000 1.750000 +v 4.000000 1.250000 3.500000 +v 3.750000 1.250000 3.500000 +v 3.750000 1.250000 3.250000 +v 4.000000 1.250000 3.250000 +v 4.000000 1.000000 3.250000 +v 3.750000 1.000000 3.250000 +v 3.750000 1.000000 3.500000 +v 4.000000 1.000000 3.500000 +v 0.750000 1.000000 1.750000 +v 0.500000 1.000000 1.750000 +v 0.500000 1.000000 1.500000 +v 0.750000 1.000000 1.500000 +v 0.750000 1.250000 1.500000 +v 0.500000 1.250000 1.500000 +v 0.500000 1.250000 1.750000 +v 0.750000 1.250000 1.750000 +v 0.750000 1.250000 3.500000 +v 0.500000 1.250000 3.500000 +v 0.500000 1.250000 3.250000 +v 0.750000 1.250000 3.250000 +v 0.750000 1.000000 3.250000 +v 0.500000 1.000000 3.250000 +v 0.500000 1.000000 3.500000 +v 0.750000 1.000000 3.500000 +v 4.000000 3.000000 1.500000 +v 3.750000 3.000000 1.500000 +v 3.750000 3.000000 1.750000 +v 4.000000 3.000000 1.750000 +v 4.000000 3.000000 3.500000 +v 3.750000 3.000000 3.500000 +v 3.750000 3.000000 3.250000 +v 4.000000 3.000000 3.250000 +v 4.000000 2.750000 3.250000 +v 3.750000 2.750000 3.250000 +v 3.750000 2.750000 3.500000 +v 4.000000 2.750000 3.500000 +v 0.750000 2.750000 1.750000 +v 0.500000 2.750000 1.750000 +v 0.500000 2.750000 1.500000 +v 0.750000 2.750000 1.500000 +v 0.750000 3.000000 1.500000 +v 0.500000 3.000000 1.500000 +v 0.500000 3.000000 1.750000 +v 0.750000 3.000000 1.750000 +v 0.750000 3.000000 3.500000 +v 0.500000 3.000000 3.500000 +v 0.500000 3.000000 3.250000 +v 0.750000 3.000000 3.250000 +v 0.750000 2.750000 3.250000 +v 0.500000 2.750000 3.250000 +v 0.500000 2.750000 3.500000 +v 0.750000 2.750000 3.500000 +v 4.000000 1.000000 1.750000 +v 4.000000 1.000000 3.250000 +v 3.875000 1.000000 1.750000 +v 3.875000 1.000000 3.250000 +v 4.000000 1.125000 1.750000 +v 4.000000 1.125000 3.250000 +v 3.875000 1.125000 1.750000 +v 3.875000 1.125000 3.250000 +v 0.625000 1.000000 1.750000 +v 0.625000 1.000000 3.250000 +v 0.500000 1.000000 1.750000 +v 0.500000 1.000000 3.250000 +v 0.625000 1.125000 1.750000 +v 0.625000 1.125000 3.250000 +v 0.500000 1.125000 1.750000 +v 0.500000 1.125000 3.250000 +v 4.000000 2.875000 1.750000 +v 4.000000 2.875000 3.250000 +v 3.875000 2.875000 1.750000 +v 3.875000 2.875000 3.250000 +v 4.000000 3.000000 1.750000 +v 4.000000 3.000000 3.250000 +v 3.875000 3.000000 1.750000 +v 3.875000 3.000000 3.250000 +v 0.625000 2.875000 1.750000 +v 0.625000 2.875000 3.250000 +v 0.500000 2.875000 1.750000 +v 0.500000 2.875000 3.250000 +v 0.625000 3.000000 1.750000 +v 0.625000 3.000000 3.250000 +v 0.500000 3.000000 1.750000 +v 0.500000 3.000000 3.250000 +v 4.000000 2.750000 1.500000 +v 4.000000 1.250000 1.500000 +v 3.875000 2.750000 1.500000 +v 3.875000 1.250000 1.500000 +v 4.000000 2.750000 1.625000 +v 4.000000 1.250000 1.625000 +v 3.875000 2.750000 1.625000 +v 3.875000 1.250000 1.625000 +v 0.625000 2.750000 1.500000 +v 0.625000 1.250000 1.500000 +v 0.500000 2.750000 1.500000 +v 0.500000 1.250000 1.500000 +v 0.625000 2.750000 1.625000 +v 0.625000 1.250000 1.625000 +v 0.500000 2.750000 1.625000 +v 0.500000 1.250000 1.625000 +v 4.000000 2.750000 3.375000 +v 4.000000 1.250000 3.375000 +v 3.875000 2.750000 3.375000 +v 3.875000 1.250000 3.375000 +v 4.000000 2.750000 3.500000 +v 4.000000 1.250000 3.500000 +v 3.875000 2.750000 3.500000 +v 3.875000 1.250000 3.500000 +v 0.625000 2.750000 3.375000 +v 0.625000 1.250000 3.375000 +v 0.500000 2.750000 3.375000 +v 0.500000 1.250000 3.375000 +v 0.625000 2.750000 3.500000 +v 0.625000 1.250000 3.500000 +v 0.500000 2.750000 3.500000 +v 0.500000 1.250000 3.500000 +v 3.750000 1.000000 3.500000 +v 0.750000 1.000000 3.500000 +v 3.750000 1.000000 3.375000 +v 0.750000 1.000000 3.375000 +v 3.750000 1.125000 3.500000 +v 0.750000 1.125000 3.500000 +v 3.750000 1.125000 3.375000 +v 0.750000 1.125000 3.375000 +v 3.750000 2.875000 3.500000 +v 0.750000 2.875000 3.500000 +v 3.750000 2.875000 3.375000 +v 0.750000 2.875000 3.375000 +v 3.750000 3.000000 3.500000 +v 0.750000 3.000000 3.500000 +v 3.750000 3.000000 3.375000 +v 0.750000 3.000000 3.375000 +v 3.750000 1.000000 1.625000 +v 0.750000 1.000000 1.625000 +v 3.750000 1.000000 1.500000 +v 0.750000 1.000000 1.500000 +v 3.750000 1.125000 1.625000 +v 0.750000 1.125000 1.625000 +v 3.750000 1.125000 1.500000 +v 0.750000 1.125000 1.500000 +v 3.750000 2.875000 1.625000 +v 0.750000 2.875000 1.625000 +v 3.750000 2.875000 1.500000 +v 0.750000 2.875000 1.500000 +v 3.750000 3.000000 1.625000 +v 0.750000 3.000000 1.625000 +v 3.750000 3.000000 1.500000 +v 0.750000 3.000000 1.500000 +v 4.000000 1.625000 1.850481 +v 4.000000 2.000000 1.750000 +v 4.000000 1.350481 2.125000 +v 4.000000 1.250000 2.500000 +v 4.000000 1.350481 2.875000 +v 4.000000 1.625000 3.149519 +v 4.000000 2.000000 3.250000 +v 4.000000 2.375000 3.149519 +v 4.000000 2.649519 2.875000 +v 4.000000 2.750000 2.500000 +v 4.000000 2.649520 2.125000 +v 4.000000 2.375001 1.850481 +v 0.500001 2.000000 1.750000 +v 0.500001 1.625000 1.850481 +v 0.500001 1.350481 2.125000 +v 0.500001 1.250000 2.500000 +v 0.500001 1.350481 2.875000 +v 0.500001 1.625000 3.149519 +v 0.500001 2.000000 3.250000 +v 0.500001 2.375000 3.149519 +v 0.500001 2.649519 2.875000 +v 0.500001 2.750000 2.500000 +v 0.500001 2.649520 2.125000 +v 0.500001 2.375001 1.850481 +v 0.750000 1.125000 -0.750000 +v 1.250000 1.125000 -0.750000 +v 0.750000 1.125000 -1.250000 +v 1.250000 1.125000 -1.250000 +v 0.750000 1.625000 -0.750000 +v 1.250000 1.625000 -0.750000 +v 0.750000 1.625000 -1.250000 +v 1.250000 1.625000 -1.250000 +v 0.625000 1.000000 -0.625000 +v 1.375000 1.000000 -0.625000 +v 0.625000 1.000000 -1.375000 +v 1.375000 1.000000 -1.375000 +v 0.625000 1.125000 -0.625000 +v 1.375000 1.125000 -0.625000 +v 0.625000 1.125000 -1.375000 +v 1.375000 1.125000 -1.375000 +v 0.625000 1.625000 -0.625000 +v 1.375000 1.625000 -0.625000 +v 0.625000 1.625000 -1.375000 +v 1.375000 1.625000 -1.375000 +v 0.625000 1.750000 -0.625000 +v 1.375000 1.750000 -0.625000 +v 0.625000 1.750000 -1.375000 +v 1.375000 1.750000 -1.375000 +v -1.250000 1.125000 1.250000 +v -0.750000 1.125000 1.250000 +v -1.250000 1.125000 0.750000 +v -0.750000 1.125000 0.750000 +v -1.250000 1.625000 1.250000 +v -0.750000 1.625000 1.250000 +v -1.250000 1.625000 0.750000 +v -0.750000 1.625000 0.750000 +v -1.375000 1.000000 1.375000 +v -0.625000 1.000000 1.375000 +v -1.375000 1.000000 0.625000 +v -0.625000 1.000000 0.625000 +v -1.375000 1.125000 1.375000 +v -0.625000 1.125000 1.375000 +v -1.375000 1.125000 0.625000 +v -0.625000 1.125000 0.625000 +v -1.375000 1.625000 1.375000 +v -0.625000 1.625000 1.375000 +v -1.375000 1.625000 0.625000 +v -0.625000 1.625000 0.625000 +v -1.375000 1.750000 1.375000 +v -0.625000 1.750000 1.375000 +v -1.375000 1.750000 0.625000 +v -0.625000 1.750000 0.625000 +v -1.250000 1.125000 -0.750000 +v -0.750000 1.125000 -0.750000 +v -1.250000 1.125000 -1.250000 +v -0.750000 1.125000 -1.250000 +v -1.250000 1.625000 -0.750000 +v -0.750000 1.625000 -0.750000 +v -1.250000 1.625000 -1.250000 +v -0.750000 1.625000 -1.250000 +v -1.375000 1.000000 -0.625000 +v -0.625000 1.000000 -0.625000 +v -1.375000 1.000000 -1.375000 +v -0.625000 1.000000 -1.375000 +v -1.375000 1.125000 -0.625000 +v -0.625000 1.125000 -0.625000 +v -1.375000 1.125000 -1.375000 +v -0.625000 1.125000 -1.375000 +v -1.375000 1.625000 -0.625000 +v -0.625000 1.625000 -0.625000 +v -1.375000 1.625000 -1.375000 +v -0.625000 1.625000 -1.375000 +v -1.375000 1.750000 -0.625000 +v -0.625000 1.750000 -0.625000 +v -1.375000 1.750000 -1.375000 +v -0.625000 1.750000 -1.375000 +vt 0.265306 0.763158 +vt 0.510204 0.710526 +vt 0.510204 0.763158 +vt 0.265306 0.815789 +vt 0.510204 0.815789 +vt 0.265306 0.710526 +vt 0.510204 0.657895 +vt 0.224490 0.710526 +vt 0.224490 0.763158 +vt 0.551020 0.710526 +vt 0.551020 0.763158 +vt 0.244898 0.552632 +vt 0.163265 0.342105 +vt 0.244898 0.447368 +vt 0.408163 0.342105 +vt 0.326531 0.447368 +vt 0.408163 0.657895 +vt 0.326531 0.552632 +vt 0.163265 0.657895 +vt 0.326531 0.447368 +vt 0.244898 0.552632 +vt 0.244898 0.447368 +vt 0.163265 0.315789 +vt 0.244898 0.105263 +vt 0.244898 0.210526 +vt 0.408163 0.315789 +vt 0.326531 0.210526 +vt 0.408163 -0.000000 +vt 0.326531 0.105263 +vt 0.163265 -0.000000 +vt 0.244898 0.210526 +vt 0.326531 0.184211 +vt 0.326531 0.210526 +vt 0.163265 0.342105 +vt 0.408163 0.315789 +vt 0.408163 0.342105 +vt 0.244898 0.210526 +vt 0.326531 0.184211 +vt 0.326531 0.210526 +vt 0.244898 0.210526 +vt 0.326531 0.184211 +vt 0.326531 0.210526 +vt 0.163265 0.342105 +vt 0.408163 0.315789 +vt 0.408163 0.342105 +vt 0.163265 0.342105 +vt 0.408163 0.315789 +vt 0.408163 0.342105 +vt 0.244898 0.210526 +vt 0.326531 0.184211 +vt 0.326531 0.210526 +vt 0.214286 0.750000 +vt 0.173469 0.802632 +vt 0.173469 0.750000 +vt 0.214286 0.750000 +vt 0.173469 0.802632 +vt 0.173469 0.750000 +vt 0.214286 0.750000 +vt 0.173469 0.802632 +vt 0.173469 0.750000 +vt 0.214286 0.750000 +vt 0.173469 0.802632 +vt 0.173469 0.750000 +vt 0.224490 0.881579 +vt 0.163265 0.894737 +vt 0.163265 0.881579 +vt 0.163265 0.671053 +vt 0.224490 0.750000 +vt 0.163265 0.750000 +vt 0.224490 0.657895 +vt 0.163265 0.657895 +vt 0.224490 0.657895 +vt 0.163265 0.671053 +vt 0.163265 0.657895 +vt 0.224490 0.657895 +vt 0.163265 0.671053 +vt 0.163265 0.657895 +vt 0.224490 0.657895 +vt 0.163265 0.671053 +vt 0.163265 0.657895 +vt 0.224490 0.881579 +vt 0.163265 0.894737 +vt 0.163265 0.881579 +vt 0.224490 0.881579 +vt 0.163265 0.894737 +vt 0.163265 0.881579 +vt 0.224490 0.881579 +vt 0.163265 0.894737 +vt 0.163265 0.881579 +vt 0.163265 0.802632 +vt 0.224490 0.802632 +vt 0.040816 0.947368 +vt 0.081633 1.000000 +vt 0.040816 1.000000 +vt 0.081633 0.000000 +vt 0.040816 0.000000 +vt 0.163265 0.000000 +vt 0.122449 0.947368 +vt 0.122449 0.000000 +vt 0.081633 0.947368 +vt 0.000000 0.947368 +vt 0.000000 0.000000 +vt 0.775510 0.500000 +vt 0.755102 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.473684 +vt 0.775510 0.500000 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.775510 0.500000 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.755102 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.755102 0.473684 +vt 0.775510 0.500000 +vt 0.755102 0.500000 +vt 0.775510 0.500000 +vt 0.755102 0.473684 +vt 0.775510 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.775510 0.500000 +vt 0.755102 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.473684 +vt 0.775510 0.500000 +vt 0.755102 0.500000 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.775510 0.500000 +vt 0.755102 0.473684 +vt 0.775510 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.775510 0.500000 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.473684 +vt 0.775510 0.473684 +vt 0.775510 0.500000 +vt 0.755102 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.755102 0.473684 +vt 0.775510 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.775510 0.500000 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.775510 0.500000 +vt 0.755102 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.775510 0.500000 +vt 0.775510 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.775510 0.500000 +vt 0.755102 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.775510 0.500000 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.775510 0.500000 +vt 0.755102 0.473684 +vt 0.775510 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.765306 0.315789 +vt 0.775510 0.315789 +vt 0.765306 0.473684 +vt 0.755102 0.315789 +vt 0.785714 0.473684 +vt 0.785714 0.315789 +vt 0.795918 0.473684 +vt 0.785714 0.473684 +vt 0.775510 0.315789 +vt 0.785714 0.315789 +vt 0.775510 0.473684 +vt 0.765306 0.315789 +vt 0.795918 0.473684 +vt 0.755102 0.315789 +vt 0.765306 0.473684 +vt 0.755102 0.473684 +vt 0.765306 0.473684 +vt 0.755102 0.315789 +vt 0.765306 0.315789 +vt 0.795918 0.473684 +vt 0.785714 0.315789 +vt 0.795918 0.315789 +vt 0.775510 0.473684 +vt 0.775510 0.315789 +vt 0.785714 0.473684 +vt 0.795918 0.473684 +vt 0.785714 0.315789 +vt 0.795918 0.315789 +vt 0.785714 0.473684 +vt 0.775510 0.315789 +vt 0.755102 0.315789 +vt 0.765306 0.473684 +vt 0.755102 0.473684 +vt 0.765306 0.315789 +vt 0.775510 0.473684 +vt 0.775510 0.315789 +vt 0.785714 0.473684 +vt 0.775510 0.473684 +vt 0.785714 0.315789 +vt 0.795918 0.473684 +vt 0.765306 0.315789 +vt 0.765306 0.473684 +vt 0.755102 0.315789 +vt 0.765306 0.315789 +vt 0.775510 0.473684 +vt 0.765306 0.473684 +vt 0.775510 0.315789 +vt 0.785714 0.473684 +vt 0.755102 0.315789 +vt 0.795918 0.473684 +vt 0.785714 0.315789 +vt 0.795918 0.315789 +vt 0.785714 0.315789 +vt 0.795918 0.473684 +vt 0.785714 0.473684 +vt 0.755102 0.315789 +vt 0.765306 0.473684 +vt 0.755102 0.473684 +vt 0.775510 0.315789 +vt 0.775510 0.473684 +vt 0.765306 0.315789 +vt 0.755102 0.315789 +vt 0.765306 0.473684 +vt 0.755102 0.473684 +vt 0.765306 0.315789 +vt 0.775510 0.473684 +vt 0.795918 0.473684 +vt 0.785714 0.315789 +vt 0.795918 0.315789 +vt 0.785714 0.473684 +vt 0.775510 0.315789 +vt 0.724490 0.631579 +vt 0.734694 0.315789 +vt 0.734694 0.631579 +vt 0.714286 0.631579 +vt 0.724490 0.315789 +vt 0.744898 0.315789 +vt 0.755102 0.631579 +vt 0.744898 0.631579 +vt 0.714286 0.631579 +vt 0.724490 0.315789 +vt 0.724490 0.631579 +vt 0.744898 0.631579 +vt 0.755102 0.315789 +vt 0.755102 0.631579 +vt 0.734694 0.315789 +vt 0.734694 0.631579 +vt 0.734694 0.631579 +vt 0.744898 0.315789 +vt 0.744898 0.631579 +vt 0.724490 0.631579 +vt 0.734694 0.315789 +vt 0.755102 0.315789 +vt 0.714286 0.315789 +vt 0.714286 0.631579 +vt 0.744898 0.631579 +vt 0.755102 0.315789 +vt 0.755102 0.631579 +vt 0.734694 0.631579 +vt 0.744898 0.315789 +vt 0.724490 0.315789 +vt 0.714286 0.631579 +vt 0.714286 0.315789 +vt 0.724490 0.631579 +vt 0.214286 0.750000 +vt 0.173469 0.802632 +vt 0.173469 0.750000 +vt 0.214286 0.750000 +vt 0.173469 0.802632 +vt 0.173469 0.750000 +vt 0.214286 0.750000 +vt 0.173469 0.802632 +vt 0.173469 0.750000 +vt 0.214286 0.750000 +vt 0.173469 0.802632 +vt 0.173469 0.750000 +vt 0.224490 0.881579 +vt 0.163265 0.894737 +vt 0.163265 0.881579 +vt 0.163265 0.671053 +vt 0.224490 0.750000 +vt 0.163265 0.750000 +vt 0.224490 0.657895 +vt 0.163265 0.657895 +vt 0.224490 0.657895 +vt 0.163265 0.671053 +vt 0.163265 0.657895 +vt 0.224490 0.657895 +vt 0.163265 0.671053 +vt 0.163265 0.657895 +vt 0.224490 0.657895 +vt 0.163265 0.671053 +vt 0.163265 0.657895 +vt 0.224490 0.881579 +vt 0.163265 0.894737 +vt 0.163265 0.881579 +vt 0.224490 0.881579 +vt 0.163265 0.894737 +vt 0.163265 0.881579 +vt 0.224490 0.881579 +vt 0.163265 0.894737 +vt 0.163265 0.881579 +vt 0.163265 0.802632 +vt 0.224490 0.802632 +vt 0.214286 0.750000 +vt 0.173469 0.802632 +vt 0.173469 0.750000 +vt 0.214286 0.750000 +vt 0.173469 0.802632 +vt 0.173469 0.750000 +vt 0.214286 0.750000 +vt 0.173469 0.802632 +vt 0.173469 0.750000 +vt 0.214286 0.750000 +vt 0.173469 0.802632 +vt 0.173469 0.750000 +vt 0.224490 0.881579 +vt 0.163265 0.894737 +vt 0.163265 0.881579 +vt 0.163265 0.671053 +vt 0.224490 0.750000 +vt 0.163265 0.750000 +vt 0.224490 0.657895 +vt 0.163265 0.657895 +vt 0.224490 0.657895 +vt 0.163265 0.671053 +vt 0.163265 0.657895 +vt 0.224490 0.657895 +vt 0.163265 0.671053 +vt 0.163265 0.657895 +vt 0.224490 0.657895 +vt 0.163265 0.671053 +vt 0.163265 0.657895 +vt 0.224490 0.881579 +vt 0.163265 0.894737 +vt 0.163265 0.881579 +vt 0.224490 0.881579 +vt 0.163265 0.894737 +vt 0.163265 0.881579 +vt 0.224490 0.881579 +vt 0.163265 0.894737 +vt 0.163265 0.881579 +vt 0.163265 0.802632 +vt 0.224490 0.802632 +vt 0.214286 0.750000 +vt 0.173469 0.802632 +vt 0.173469 0.750000 +vt 0.214286 0.750000 +vt 0.173469 0.802632 +vt 0.173469 0.750000 +vt 0.214286 0.750000 +vt 0.173469 0.802632 +vt 0.173469 0.750000 +vt 0.214286 0.750000 +vt 0.173469 0.802632 +vt 0.173469 0.750000 +vt 0.224490 0.881579 +vt 0.163265 0.894737 +vt 0.163265 0.881579 +vt 0.163265 0.671053 +vt 0.224490 0.750000 +vt 0.163265 0.750000 +vt 0.224490 0.657895 +vt 0.163265 0.657895 +vt 0.224490 0.657895 +vt 0.163265 0.671053 +vt 0.163265 0.657895 +vt 0.224490 0.657895 +vt 0.163265 0.671053 +vt 0.163265 0.657895 +vt 0.224490 0.657895 +vt 0.163265 0.671053 +vt 0.163265 0.657895 +vt 0.224490 0.881579 +vt 0.163265 0.894737 +vt 0.163265 0.881579 +vt 0.224490 0.881579 +vt 0.163265 0.894737 +vt 0.163265 0.881579 +vt 0.224490 0.881579 +vt 0.163265 0.894737 +vt 0.163265 0.881579 +vt 0.163265 0.802632 +vt 0.224490 0.802632 +vt 0.265306 0.657895 +vt 0.326531 0.552632 +vt 0.244898 0.184211 +vt 0.163265 0.315789 +vt 0.244898 0.184211 +vt 0.244898 0.184211 +vt 0.163265 0.315789 +vt 0.163265 0.315789 +vt 0.244898 0.184211 +vt 0.214286 0.802632 +vt 0.214286 0.802632 +vt 0.214286 0.802632 +vt 0.214286 0.802632 +vt 0.224490 0.894737 +vt 0.224490 0.671053 +vt 0.224490 0.671053 +vt 0.224490 0.671053 +vt 0.224490 0.671053 +vt 0.224490 0.894737 +vt 0.224490 0.894737 +vt 0.224490 0.894737 +vt 0.163265 0.947368 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.755102 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.755102 0.473684 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.500000 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.500000 +vt 0.755102 0.473684 +vt 0.755102 0.473684 +vt 0.755102 0.473684 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.755102 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.500000 +vt 0.775510 0.473684 +vt 0.775510 0.473684 +vt 0.755102 0.473684 +vt 0.795918 0.315789 +vt 0.795918 0.315789 +vt 0.755102 0.473684 +vt 0.795918 0.315789 +vt 0.755102 0.473684 +vt 0.755102 0.473684 +vt 0.795918 0.315789 +vt 0.714286 0.315789 +vt 0.755102 0.315789 +vt 0.714286 0.315789 +vt 0.744898 0.315789 +vt 0.724490 0.315789 +vt 0.755102 0.631579 +vt 0.734694 0.315789 +vt 0.214286 0.802632 +vt 0.214286 0.802632 +vt 0.214286 0.802632 +vt 0.214286 0.802632 +vt 0.224490 0.894737 +vt 0.224490 0.671053 +vt 0.224490 0.671053 +vt 0.224490 0.671053 +vt 0.224490 0.671053 +vt 0.224490 0.894737 +vt 0.224490 0.894737 +vt 0.224490 0.894737 +vt 0.214286 0.802632 +vt 0.214286 0.802632 +vt 0.214286 0.802632 +vt 0.214286 0.802632 +vt 0.224490 0.894737 +vt 0.224490 0.671053 +vt 0.224490 0.671053 +vt 0.224490 0.671053 +vt 0.224490 0.671053 +vt 0.224490 0.894737 +vt 0.224490 0.894737 +vt 0.224490 0.894737 +vt 0.214286 0.802632 +vt 0.214286 0.802632 +vt 0.214286 0.802632 +vt 0.214286 0.802632 +vt 0.224490 0.894737 +vt 0.224490 0.671053 +vt 0.224490 0.671053 +vt 0.224490 0.671053 +vt 0.224490 0.671053 +vt 0.224490 0.894737 +vt 0.224490 0.894737 +vt 0.224490 0.894737 +vt 0.683673 0.473684 +vt 0.438776 0.526316 +vt 0.438776 0.473684 +vt 0.683673 0.526316 +vt 0.438776 0.578947 +vt 0.683673 0.578947 +vt 0.438776 0.631579 +vt 0.683673 -0.000000 +vt 0.438776 0.052632 +vt 0.438776 -0.000000 +vt 0.683673 0.052632 +vt 0.438776 0.105263 +vt 0.683673 0.105263 +vt 0.438776 0.157895 +vt 0.683673 0.157895 +vt 0.438776 0.210526 +vt 0.683673 0.210526 +vt 0.438776 0.263158 +vt 0.683673 0.263158 +vt 0.438776 0.315789 +vt 0.683673 0.315789 +vt 0.438776 0.368421 +vt 0.714286 0.256579 +vt 0.683673 0.368421 +vt 0.438776 0.421053 +vt 0.683673 0.421053 +vt 0.408163 0.151316 +vt 0.408163 0.111842 +vt 0.745408 0.011716 +vt 0.805612 0.011716 +vt 0.805612 0.146179 +vt 0.714286 0.164474 +vt 0.714286 0.203947 +vt 0.714286 0.151316 +vt 0.714286 0.098684 +vt 0.714286 0.046053 +vt 0.714286 0.427632 +vt 0.714286 0.467105 +vt 0.714286 0.519737 +vt 0.683673 0.631579 +vt 0.714286 0.585526 +vt 0.714286 0.625000 +vt 0.714286 0.375000 +vt 0.714286 0.414474 +vt 0.714286 0.532895 +vt 0.714286 0.572368 +vt 0.714286 0.322368 +vt 0.714286 0.361842 +vt 0.714286 0.309211 +vt 0.775510 0.159210 +vt 0.827649 0.275658 +vt 0.723372 0.275658 +vt 0.408163 0.059211 +vt 0.408163 0.046053 +vt 0.408163 0.006579 +vt 0.408163 0.467105 +vt 0.408163 0.427632 +vt 0.408163 0.519737 +vt 0.408163 0.480263 +vt 0.408163 0.585526 +vt 0.408163 0.375000 +vt 0.408163 0.532895 +vt 0.408163 0.322368 +vt 0.408163 0.309211 +vt 0.408163 0.269737 +vt 0.408163 0.217105 +vt 0.408163 0.164474 +vt 0.714286 0.217105 +vt 0.827649 0.040131 +vt 0.835715 0.078947 +vt 0.827649 0.117763 +vt 0.775510 0.156579 +vt 0.745408 0.146179 +vt 0.723372 0.117763 +vt 0.715306 0.078947 +vt 0.723372 0.040131 +vt 0.775510 0.001315 +vt 0.714286 0.111842 +vt 0.714286 0.059211 +vt 0.714286 0.006579 +vt 0.714286 0.480263 +vt 0.714286 0.269737 +vt 0.715306 0.236842 +vt 0.723372 0.198026 +vt 0.745408 0.169611 +vt 0.805612 0.169611 +vt 0.827649 0.198026 +vt 0.835715 0.236842 +vt 0.805612 0.304073 +vt 0.775510 0.314474 +vt 0.745408 0.304073 +vt 0.408163 0.098684 +vt 0.408163 0.625000 +vt 0.408163 0.414474 +vt 0.408163 0.572368 +vt 0.408163 0.361842 +vt 0.408163 0.256579 +vt 0.408163 0.203947 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.3620 0.0000 -0.9322 +vn -0.3620 -0.4661 -0.8073 +vn -0.3620 0.0000 -0.9322 +vn 0.3620 -0.4661 -0.8073 +vn -0.3620 -0.8073 -0.4661 +vn 0.3620 -0.8073 -0.4661 +vn -0.3620 -0.9322 0.0000 +vn 0.3620 -0.9322 0.0000 +vn -0.3620 -0.8073 0.4661 +vn 0.3620 -0.8073 0.4661 +vn -0.3620 -0.4661 0.8073 +vn 0.3620 -0.4661 0.8073 +vn -0.3620 0.0000 0.9322 +vn 0.3620 0.0000 0.9322 +vn -0.3620 0.4661 0.8073 +vn 0.3620 0.4661 0.8073 +vn -0.3620 0.8073 0.4661 +vn 0.3620 0.8073 0.4661 +vn -0.3620 0.9322 0.0000 +vn 0.3620 0.9322 0.0000 +vn -0.3620 0.8073 -0.4661 +vn 0.9007 0.3762 0.2172 +vn 0.3620 0.8073 -0.4661 +vn -0.3620 0.4661 -0.8073 +vn 0.3620 0.4661 -0.8073 +vn -0.9007 0.0000 0.4343 +vn -0.9007 -0.2172 0.3762 +vn 0.9007 -0.3762 0.2172 +vn 0.9007 -0.3762 -0.2172 +vn 0.9007 0.3762 -0.2172 +vn 0.9007 0.0000 0.4343 +vn 0.9007 0.2172 0.3762 +vn 0.9007 -0.2172 0.3762 +vn 0.9007 0.2172 -0.3762 +vn 0.9007 0.0000 -0.4343 +vn 0.9007 -0.2172 -0.3762 +vn 0.9007 -0.4343 0.0000 +vn 0.9007 0.4343 0.0000 +vn -0.9007 -0.4343 0.0000 +vn -0.9007 0.2172 0.3762 +vn -0.9007 0.2172 -0.3762 +vn -0.9007 -0.3762 0.2172 +vn -0.9007 0.0000 -0.4343 +vn -0.9007 -0.2172 -0.3762 +vn -0.9007 -0.3762 -0.2172 +vn -0.9007 0.3762 -0.2172 +vn -0.9007 0.4343 0.0000 +vn -0.9007 0.3762 0.2172 +s off +f 3219/4436/313 3220/4437/313 3218/4438/313 +f 3225/4439/314 3218/4438/314 3224/4440/314 +f 3221/4441/315 3222/4442/315 3220/4437/315 +f 3223/4443/316 3219/4436/316 3225/4444/316 +f 3218/4438/317 3222/4445/317 3224/4446/317 +f 3214/4447/313 3227/4448/313 3215/4449/313 +f 3215/4449/313 3229/4450/313 3216/4451/313 +f 3216/4451/313 3228/4452/313 3217/4453/313 +f 3217/4453/313 3226/4454/313 3214/4447/313 +f 3232/4455/313 3230/4456/313 3231/4457/313 +f 3240/4458/318 3237/4459/318 3235/4460/318 +f 3241/4461/318 3235/4460/318 3234/4462/318 +f 3238/4463/318 3234/4462/318 3236/4464/318 +f 3239/4465/318 3236/4464/318 3237/4459/318 +f 3216/4466/317 3235/4467/317 3215/4468/317 +f 3227/4448/316 3241/4461/316 3229/4450/316 +f 3228/4469/317 3239/4470/317 3226/4471/317 +f 3215/4472/315 3237/4473/315 3214/4474/315 +f 3214/4475/316 3236/4476/316 3217/4477/316 +f 3229/4478/315 3238/4479/315 3228/4480/315 +f 3226/4481/314 3240/4482/314 3227/4483/314 +f 3217/4484/314 3234/4485/314 3216/4486/314 +f 3244/4487/315 3249/4488/315 3245/4489/315 +f 3243/4490/314 3246/4491/314 3242/4492/314 +f 3245/4493/316 3247/4494/316 3243/4495/316 +f 3242/4496/317 3248/4497/317 3244/4498/317 +f 3261/4499/316 3263/4500/316 3259/4501/316 +f 3255/4502/313 3256/4503/313 3254/4504/313 +f 3253/4505/316 3255/4502/316 3251/4506/316 +f 3250/4507/317 3256/4508/317 3252/4509/317 +f 3252/4510/315 3257/4511/315 3253/4512/315 +f 3251/4513/314 3254/4514/314 3250/4515/314 +f 3258/4516/317 3264/4517/317 3260/4518/317 +f 3260/4519/315 3265/4520/315 3261/4521/315 +f 3259/4522/314 3262/4523/314 3258/4524/314 +f 3261/4499/318 3258/4525/318 3260/4526/318 +f 3272/4527/313 3270/4528/313 3271/4529/313 +f 3269/4530/316 3272/4527/316 3267/4531/316 +f 3266/4532/317 3270/4533/317 3268/4534/317 +f 3268/4534/315 3273/4535/315 3269/4530/315 +f 3267/4531/314 3271/4536/314 3266/4537/314 +f 3276/4538/318 3274/4539/318 3277/4540/318 +f 3303/4541/318 3305/4542/318 3302/4543/318 +f 3306/4544/313 3308/4545/313 3309/4546/313 +f 3309/4547/314 3303/4548/314 3302/4549/314 +f 3308/4545/317 3304/4550/317 3303/4551/317 +f 3307/4552/315 3305/4542/315 3304/4553/315 +f 3306/4554/316 3302/4555/316 3305/4542/316 +f 3313/4556/316 3317/4557/316 3314/4558/316 +f 3312/4559/315 3314/4560/315 3315/4561/315 +f 3311/4562/317 3315/4563/317 3316/4564/317 +f 3310/4565/314 3316/4566/314 3317/4557/314 +f 3313/4567/313 3311/4568/313 3310/4569/313 +f 3316/4570/318 3314/4571/318 3317/4557/318 +f 3319/4572/318 3321/4573/318 3318/4574/318 +f 3322/4575/313 3324/4576/313 3325/4577/313 +f 3325/4577/314 3319/4578/314 3318/4579/314 +f 3324/4580/317 3320/4581/317 3319/4582/317 +f 3323/4583/315 3321/4584/315 3320/4581/315 +f 3322/4585/316 3318/4586/316 3321/4587/316 +f 3329/4588/316 3333/4589/316 3330/4590/316 +f 3328/4591/315 3330/4592/315 3331/4593/315 +f 3327/4594/317 3331/4595/317 3332/4596/317 +f 3326/4597/314 3332/4596/314 3333/4598/314 +f 3329/4588/313 3327/4599/313 3326/4600/313 +f 3332/4596/318 3330/4601/318 3333/4602/318 +f 3334/4603/313 3336/4604/313 3337/4605/313 +f 3337/4606/314 3276/4538/314 3277/4607/314 +f 3336/4608/317 3275/4609/317 3276/4538/317 +f 3335/4610/315 3274/4611/315 3275/4612/315 +f 3334/4603/316 3277/4613/316 3274/4614/316 +f 3341/4615/316 3345/4616/316 3342/4617/316 +f 3340/4618/315 3342/4619/315 3343/4620/315 +f 3339/4621/317 3343/4620/317 3344/4622/317 +f 3338/4623/314 3344/4624/314 3345/4625/314 +f 3341/4626/313 3339/4627/313 3338/4623/313 +f 3344/4628/318 3342/4629/318 3345/4630/318 +f 3347/4631/318 3349/4632/318 3346/4633/318 +f 3350/4634/313 3352/4635/313 3353/4636/313 +f 3353/4637/314 3347/4638/314 3346/4633/314 +f 3352/4639/317 3348/4640/317 3347/4641/317 +f 3351/4642/315 3349/4643/315 3348/4644/315 +f 3350/4645/316 3346/4633/316 3349/4646/316 +f 3357/4647/316 3361/4648/316 3358/4649/316 +f 3356/4650/315 3358/4649/315 3359/4651/315 +f 3355/4652/317 3359/4653/317 3360/4654/317 +f 3354/4655/314 3360/4656/314 3361/4657/314 +f 3357/4658/313 3355/4652/313 3354/4659/313 +f 3360/4660/318 3358/4649/318 3361/4661/318 +f 3363/4662/318 3364/4663/318 3362/4664/318 +f 3365/4665/317 3368/4666/317 3364/4663/317 +f 3362/4664/316 3367/4667/316 3363/4662/316 +f 3366/4668/313 3369/4669/313 3367/4667/313 +f 3371/4670/318 3372/4671/318 3370/4672/318 +f 3373/4673/317 3376/4674/317 3372/4671/317 +f 3370/4672/316 3375/4675/316 3371/4670/316 +f 3374/4676/313 3377/4677/313 3375/4678/313 +f 3379/4679/318 3380/4680/318 3378/4681/318 +f 3381/4682/317 3384/4683/317 3380/4684/317 +f 3378/4681/316 3383/4685/316 3379/4679/316 +f 3382/4686/313 3385/4687/313 3383/4685/313 +f 3387/4688/318 3388/4689/318 3386/4690/318 +f 3389/4691/317 3392/4692/317 3388/4689/317 +f 3386/4693/316 3391/4694/316 3387/4695/316 +f 3390/4696/313 3393/4697/313 3391/4694/313 +f 3395/4698/315 3396/4699/315 3394/4700/315 +f 3397/4701/317 3400/4702/317 3396/4699/317 +f 3394/4700/316 3399/4703/316 3395/4698/316 +f 3398/4704/314 3401/4705/314 3399/4703/314 +f 3403/4706/315 3404/4707/315 3402/4708/315 +f 3405/4709/317 3408/4710/317 3404/4707/317 +f 3402/4708/316 3407/4711/316 3403/4706/316 +f 3406/4712/314 3409/4713/314 3407/4714/314 +f 3411/4715/315 3412/4716/315 3410/4717/315 +f 3413/4718/317 3416/4719/317 3412/4720/317 +f 3410/4717/316 3415/4721/316 3411/4715/316 +f 3414/4722/314 3417/4723/314 3415/4721/314 +f 3419/4724/315 3420/4725/315 3418/4726/315 +f 3421/4727/317 3424/4728/317 3420/4725/317 +f 3418/4729/316 3423/4730/316 3419/4731/316 +f 3422/4732/314 3425/4733/314 3423/4730/314 +f 3429/4734/318 3426/4735/318 3427/4736/318 +f 3433/4737/315 3428/4738/315 3429/4734/315 +f 3430/4739/314 3427/4736/314 3426/4735/314 +f 3430/4739/313 3433/4740/313 3431/4741/313 +f 3437/4742/318 3434/4743/318 3435/4744/318 +f 3441/4745/315 3436/4746/315 3437/4747/315 +f 3438/4748/314 3435/4744/314 3434/4743/314 +f 3438/4748/313 3441/4745/313 3439/4749/313 +f 3445/4750/318 3442/4751/318 3443/4752/318 +f 3449/4753/315 3444/4754/315 3445/4750/315 +f 3446/4755/314 3443/4752/314 3442/4751/314 +f 3446/4756/313 3449/4753/313 3447/4757/313 +f 3453/4758/318 3450/4759/318 3451/4760/318 +f 3457/4761/315 3452/4762/315 3453/4758/315 +f 3454/4763/314 3451/4764/314 3450/4765/314 +f 3454/4763/313 3457/4761/313 3455/4766/313 +f 3484/4767/315 3489/4768/315 3485/4769/315 +f 3483/4770/314 3486/4771/314 3482/4772/314 +f 3485/4773/316 3487/4774/316 3483/4775/316 +f 3482/4776/317 3488/4777/317 3484/4778/317 +f 3501/4779/316 3503/4780/316 3499/4781/316 +f 3495/4782/313 3496/4783/313 3494/4784/313 +f 3493/4785/316 3495/4782/316 3491/4786/316 +f 3490/4787/317 3496/4788/317 3492/4789/317 +f 3492/4790/315 3497/4791/315 3493/4792/315 +f 3491/4793/314 3494/4794/314 3490/4795/314 +f 3498/4796/317 3504/4797/317 3500/4798/317 +f 3500/4799/315 3505/4800/315 3501/4801/315 +f 3499/4802/314 3502/4803/314 3498/4804/314 +f 3501/4779/318 3498/4805/318 3500/4806/318 +f 3508/4807/315 3513/4808/315 3509/4809/315 +f 3507/4810/314 3510/4811/314 3506/4812/314 +f 3509/4813/316 3511/4814/316 3507/4815/316 +f 3506/4816/317 3512/4817/317 3508/4818/317 +f 3525/4819/316 3527/4820/316 3523/4821/316 +f 3519/4822/313 3520/4823/313 3518/4824/313 +f 3517/4825/316 3519/4822/316 3515/4826/316 +f 3514/4827/317 3520/4828/317 3516/4829/317 +f 3516/4830/315 3521/4831/315 3517/4832/315 +f 3515/4833/314 3518/4834/314 3514/4835/314 +f 3522/4836/317 3528/4837/317 3524/4838/317 +f 3524/4839/315 3529/4840/315 3525/4841/315 +f 3523/4842/314 3526/4843/314 3522/4844/314 +f 3525/4819/318 3522/4845/318 3524/4846/318 +f 3532/4847/315 3537/4848/315 3533/4849/315 +f 3531/4850/314 3534/4851/314 3530/4852/314 +f 3533/4853/316 3535/4854/316 3531/4855/316 +f 3530/4856/317 3536/4857/317 3532/4858/317 +f 3549/4859/316 3551/4860/316 3547/4861/316 +f 3543/4862/313 3544/4863/313 3542/4864/313 +f 3541/4865/316 3543/4862/316 3539/4866/316 +f 3538/4867/317 3544/4868/317 3540/4869/317 +f 3540/4870/315 3545/4871/315 3541/4872/315 +f 3539/4873/314 3542/4874/314 3538/4875/314 +f 3546/4876/317 3552/4877/317 3548/4878/317 +f 3548/4879/315 3553/4880/315 3549/4881/315 +f 3547/4882/314 3550/4883/314 3546/4884/314 +f 3549/4859/318 3546/4885/318 3548/4886/318 +f 3219/4436/313 3221/4441/313 3220/4437/313 +f 3225/4439/314 3219/4436/314 3218/4438/314 +f 3221/4441/315 3223/4887/315 3222/4442/315 +f 3223/4443/316 3221/4441/316 3219/4436/316 +f 3218/4438/317 3220/4437/317 3222/4445/317 +f 3214/4447/313 3226/4454/313 3227/4448/313 +f 3215/4449/313 3227/4448/313 3229/4450/313 +f 3216/4451/313 3229/4450/313 3228/4452/313 +f 3217/4453/313 3228/4452/313 3226/4454/313 +f 3232/4455/313 3233/4888/313 3230/4456/313 +f 3240/4458/318 3239/4465/318 3237/4459/318 +f 3241/4461/318 3240/4458/318 3235/4460/318 +f 3238/4463/318 3241/4461/318 3234/4462/318 +f 3239/4465/318 3238/4463/318 3236/4464/318 +f 3216/4466/317 3234/4889/317 3235/4467/317 +f 3227/4448/316 3240/4458/316 3241/4461/316 +f 3228/4469/317 3238/4890/317 3239/4470/317 +f 3215/4472/315 3235/4891/315 3237/4473/315 +f 3214/4475/316 3237/4892/316 3236/4476/316 +f 3229/4478/315 3241/4893/315 3238/4479/315 +f 3226/4481/314 3239/4894/314 3240/4482/314 +f 3217/4484/314 3236/4895/314 3234/4485/314 +f 3244/4487/315 3248/4896/315 3249/4488/315 +f 3243/4490/314 3247/4897/314 3246/4491/314 +f 3245/4493/316 3249/4898/316 3247/4494/316 +f 3242/4496/317 3246/4899/317 3248/4497/317 +f 3261/4499/316 3265/4900/316 3263/4500/316 +f 3255/4502/313 3257/4901/313 3256/4503/313 +f 3253/4505/316 3257/4901/316 3255/4502/316 +f 3250/4507/317 3254/4902/317 3256/4508/317 +f 3252/4510/315 3256/4903/315 3257/4511/315 +f 3251/4513/314 3255/4904/314 3254/4514/314 +f 3258/4516/317 3262/4905/317 3264/4517/317 +f 3260/4519/315 3264/4906/315 3265/4520/315 +f 3259/4522/314 3263/4907/314 3262/4523/314 +f 3261/4499/318 3259/4501/318 3258/4525/318 +f 3272/4527/313 3273/4535/313 3270/4528/313 +f 3269/4530/316 3273/4535/316 3272/4527/316 +f 3266/4532/317 3271/4908/317 3270/4533/317 +f 3268/4534/315 3270/4533/315 3273/4535/315 +f 3267/4531/314 3272/4527/314 3271/4536/314 +f 3276/4538/318 3275/4909/318 3274/4539/318 +f 3303/4541/318 3304/4910/318 3305/4542/318 +f 3306/4544/313 3307/4911/313 3308/4545/313 +f 3309/4547/314 3308/4545/314 3303/4548/314 +f 3308/4545/317 3307/4912/317 3304/4550/317 +f 3307/4552/315 3306/4913/315 3305/4542/315 +f 3306/4554/316 3309/4914/316 3302/4555/316 +f 3313/4556/316 3310/4915/316 3317/4557/316 +f 3312/4559/315 3313/4916/315 3314/4560/315 +f 3311/4562/317 3312/4559/317 3315/4563/317 +f 3310/4565/314 3311/4917/314 3316/4566/314 +f 3313/4567/313 3312/4559/313 3311/4568/313 +f 3316/4570/318 3315/4918/318 3314/4571/318 +f 3319/4572/318 3320/4581/318 3321/4573/318 +f 3322/4575/313 3323/4919/313 3324/4576/313 +f 3325/4577/314 3324/4920/314 3319/4578/314 +f 3324/4580/317 3323/4921/317 3320/4581/317 +f 3323/4583/315 3322/4922/315 3321/4584/315 +f 3322/4585/316 3325/4577/316 3318/4586/316 +f 3329/4588/316 3326/4923/316 3333/4589/316 +f 3328/4591/315 3329/4588/315 3330/4592/315 +f 3327/4594/317 3328/4924/317 3331/4595/317 +f 3326/4597/314 3327/4925/314 3332/4596/314 +f 3329/4588/313 3328/4926/313 3327/4599/313 +f 3332/4596/318 3331/4927/318 3330/4601/318 +f 3334/4603/313 3335/4928/313 3336/4604/313 +f 3337/4606/314 3336/4929/314 3276/4538/314 +f 3336/4608/317 3335/4930/317 3275/4609/317 +f 3335/4610/315 3334/4603/315 3274/4611/315 +f 3334/4603/316 3337/4931/316 3277/4613/316 +f 3341/4615/316 3338/4623/316 3345/4616/316 +f 3340/4618/315 3341/4932/315 3342/4619/315 +f 3339/4621/317 3340/4933/317 3343/4620/317 +f 3338/4623/314 3339/4934/314 3344/4624/314 +f 3341/4626/313 3340/4935/313 3339/4627/313 +f 3344/4628/318 3343/4620/318 3342/4629/318 +f 3347/4631/318 3348/4936/318 3349/4632/318 +f 3350/4634/313 3351/4642/313 3352/4635/313 +f 3353/4637/314 3352/4937/314 3347/4638/314 +f 3352/4639/317 3351/4642/317 3348/4640/317 +f 3351/4642/315 3350/4938/315 3349/4643/315 +f 3350/4645/316 3353/4939/316 3346/4633/316 +f 3357/4647/316 3354/4940/316 3361/4648/316 +f 3356/4650/315 3357/4941/315 3358/4649/315 +f 3355/4652/317 3356/4942/317 3359/4653/317 +f 3354/4655/314 3355/4652/314 3360/4656/314 +f 3357/4658/313 3356/4943/313 3355/4652/313 +f 3360/4660/318 3359/4944/318 3358/4649/318 +f 3363/4662/318 3365/4665/318 3364/4663/318 +f 3365/4665/317 3369/4945/317 3368/4666/317 +f 3362/4664/316 3366/4668/316 3367/4667/316 +f 3366/4668/313 3368/4946/313 3369/4669/313 +f 3371/4670/318 3373/4673/318 3372/4671/318 +f 3373/4673/317 3377/4677/317 3376/4674/317 +f 3370/4672/316 3374/4947/316 3375/4675/316 +f 3374/4676/313 3376/4674/313 3377/4677/313 +f 3379/4679/318 3381/4948/318 3380/4680/318 +f 3381/4682/317 3385/4687/317 3384/4683/317 +f 3378/4681/316 3382/4686/316 3383/4685/316 +f 3382/4686/313 3384/4683/313 3385/4687/313 +f 3387/4688/318 3389/4691/318 3388/4689/318 +f 3389/4691/317 3393/4697/317 3392/4692/317 +f 3386/4693/316 3390/4696/316 3391/4694/316 +f 3390/4696/313 3392/4692/313 3393/4697/313 +f 3395/4698/315 3397/4701/315 3396/4699/315 +f 3397/4701/317 3401/4949/317 3400/4702/317 +f 3394/4700/316 3398/4704/316 3399/4703/316 +f 3398/4704/314 3400/4950/314 3401/4705/314 +f 3403/4706/315 3405/4709/315 3404/4707/315 +f 3405/4709/317 3409/4713/317 3408/4710/317 +f 3402/4708/316 3406/4951/316 3407/4711/316 +f 3406/4712/314 3408/4710/314 3409/4713/314 +f 3411/4715/315 3413/4952/315 3412/4716/315 +f 3413/4718/317 3417/4723/317 3416/4719/317 +f 3410/4717/316 3414/4722/316 3415/4721/316 +f 3414/4722/314 3416/4719/314 3417/4723/314 +f 3419/4724/315 3421/4727/315 3420/4725/315 +f 3421/4727/317 3425/4733/317 3424/4728/317 +f 3418/4729/316 3422/4732/316 3423/4730/316 +f 3422/4732/314 3424/4728/314 3425/4733/314 +f 3429/4734/318 3428/4738/318 3426/4735/318 +f 3433/4737/315 3432/4953/315 3428/4738/315 +f 3430/4739/314 3431/4741/314 3427/4736/314 +f 3430/4739/313 3432/4954/313 3433/4740/313 +f 3437/4742/318 3436/4955/318 3434/4743/318 +f 3441/4745/315 3440/4956/315 3436/4746/315 +f 3438/4748/314 3439/4749/314 3435/4744/314 +f 3438/4748/313 3440/4956/313 3441/4745/313 +f 3445/4750/318 3444/4754/318 3442/4751/318 +f 3449/4753/315 3448/4957/315 3444/4754/315 +f 3446/4755/314 3447/4958/314 3443/4752/314 +f 3446/4756/313 3448/4957/313 3449/4753/313 +f 3453/4758/318 3452/4762/318 3450/4759/318 +f 3457/4761/315 3456/4959/315 3452/4762/315 +f 3454/4763/314 3455/4766/314 3451/4764/314 +f 3454/4763/313 3456/4959/313 3457/4761/313 +f 3484/4767/315 3488/4960/315 3489/4768/315 +f 3483/4770/314 3487/4961/314 3486/4771/314 +f 3485/4773/316 3489/4962/316 3487/4774/316 +f 3482/4776/317 3486/4963/317 3488/4777/317 +f 3501/4779/316 3505/4964/316 3503/4780/316 +f 3495/4782/313 3497/4965/313 3496/4783/313 +f 3493/4785/316 3497/4965/316 3495/4782/316 +f 3490/4787/317 3494/4966/317 3496/4788/317 +f 3492/4790/315 3496/4967/315 3497/4791/315 +f 3491/4793/314 3495/4968/314 3494/4794/314 +f 3498/4796/317 3502/4969/317 3504/4797/317 +f 3500/4799/315 3504/4970/315 3505/4800/315 +f 3499/4802/314 3503/4971/314 3502/4803/314 +f 3501/4779/318 3499/4781/318 3498/4805/318 +f 3508/4807/315 3512/4972/315 3513/4808/315 +f 3507/4810/314 3511/4973/314 3510/4811/314 +f 3509/4813/316 3513/4974/316 3511/4814/316 +f 3506/4816/317 3510/4975/317 3512/4817/317 +f 3525/4819/316 3529/4976/316 3527/4820/316 +f 3519/4822/313 3521/4977/313 3520/4823/313 +f 3517/4825/316 3521/4977/316 3519/4822/316 +f 3514/4827/317 3518/4978/317 3520/4828/317 +f 3516/4830/315 3520/4979/315 3521/4831/315 +f 3515/4833/314 3519/4980/314 3518/4834/314 +f 3522/4836/317 3526/4981/317 3528/4837/317 +f 3524/4839/315 3528/4982/315 3529/4840/315 +f 3523/4842/314 3527/4983/314 3526/4843/314 +f 3525/4819/318 3523/4821/318 3522/4845/318 +f 3532/4847/315 3536/4984/315 3537/4848/315 +f 3531/4850/314 3535/4985/314 3534/4851/314 +f 3533/4853/316 3537/4986/316 3535/4854/316 +f 3530/4856/317 3534/4987/317 3536/4857/317 +f 3549/4859/316 3553/4988/316 3551/4860/316 +f 3543/4862/313 3545/4989/313 3544/4863/313 +f 3541/4865/316 3545/4989/316 3543/4862/316 +f 3538/4867/317 3542/4990/317 3544/4868/317 +f 3540/4870/315 3544/4991/315 3545/4871/315 +f 3539/4873/314 3543/4992/314 3542/4874/314 +f 3546/4876/317 3550/4993/317 3552/4877/317 +f 3548/4879/315 3552/4994/315 3553/4880/315 +f 3547/4882/314 3551/4995/314 3550/4883/314 +f 3549/4859/318 3547/4861/318 3546/4885/318 +s 1 +f 3279/4996/319 3280/4997/320 3278/4998/321 +f 3281/4999/322 3282/5000/323 3280/4997/320 +f 3283/5001/324 3284/5002/325 3282/5000/323 +f 3285/5003/326 3286/5004/327 3284/5005/325 +f 3287/5006/328 3288/5007/329 3286/5004/327 +f 3289/5008/330 3290/5009/331 3288/5007/329 +f 3291/5010/332 3292/5011/333 3290/5009/331 +f 3293/5012/334 3294/5013/335 3292/5011/333 +f 3295/5014/336 3296/5015/337 3294/5013/335 +f 3297/5016/338 3298/5017/339 3296/5015/337 +f 3293/5012/334 3466/5018/340 3295/5014/336 +f 3299/5019/341 3300/5020/342 3298/5017/339 +f 3301/5021/343 3278/4998/321 3300/5020/342 +f 3288/5007/329 3476/5022/344 3475/5023/345 +f 3462/5024/346 3460/5025/347 3468/5026/348 +f 3293/5012/334 3464/5027/349 3465/5028/350 +f 3289/5008/330 3464/5029/349 3291/5010/332 +f 3287/5006/328 3463/5030/351 3289/5008/330 +f 3285/5003/326 3462/5031/346 3287/5006/328 +f 3279/4996/319 3469/5032/352 3459/5033/353 +f 3279/4996/319 3458/5034/354 3281/4999/322 +f 3285/5035/326 3460/5036/347 3461/5037/355 +f 3301/5021/343 3468/5038/348 3469/5039/352 +f 3283/5001/324 3458/5040/354 3460/5041/347 +f 3299/5019/341 3467/5042/356 3468/5043/348 +f 3295/5014/336 3467/5044/356 3297/5016/338 +f 3473/5045/357 3477/5046/358 3481/5047/359 +f 3288/5007/329 3474/5048/360 3286/5004/327 +f 3284/5005/325 3474/5049/360 3473/5050/357 +f 3300/5020/342 3470/5051/361 3481/5052/359 +f 3278/4998/321 3471/5053/362 3470/5054/361 +f 3284/5002/325 3472/5055/363 3282/5000/323 +f 3300/5020/342 3480/5056/364 3298/5017/339 +f 3282/5000/323 3471/5057/362 3280/4997/320 +f 3298/5017/339 3479/5058/365 3296/5015/337 +f 3294/5013/335 3479/5059/365 3478/5060/366 +f 3294/5013/335 3477/5061/358 3292/5011/333 +f 3292/5011/333 3476/5062/344 3290/5009/331 +f 3279/4996/319 3281/4999/322 3280/4997/320 +f 3281/4999/322 3283/5001/324 3282/5000/323 +f 3283/5001/324 3285/5035/326 3284/5002/325 +f 3285/5003/326 3287/5006/328 3286/5004/327 +f 3287/5006/328 3289/5008/330 3288/5007/329 +f 3289/5008/330 3291/5010/332 3290/5009/331 +f 3291/5010/332 3293/5012/334 3292/5011/333 +f 3293/5012/334 3295/5014/336 3294/5013/335 +f 3295/5014/336 3297/5016/338 3296/5015/337 +f 3297/5016/338 3299/5019/341 3298/5017/339 +f 3293/5012/334 3465/5063/350 3466/5018/340 +f 3299/5019/341 3301/5021/343 3300/5020/342 +f 3301/5021/343 3279/4996/319 3278/4998/321 +f 3288/5007/329 3290/5009/331 3476/5022/344 +f 3460/5025/347 3458/5064/354 3459/5065/353 +f 3459/5065/353 3469/5066/352 3460/5025/347 +f 3469/5066/352 3468/5026/348 3460/5025/347 +f 3468/5026/348 3467/5067/356 3466/5068/340 +f 3466/5068/340 3465/5069/350 3468/5026/348 +f 3465/5069/350 3464/5070/349 3468/5026/348 +f 3464/5070/349 3463/5071/351 3462/5024/346 +f 3462/5024/346 3461/5072/355 3460/5025/347 +f 3464/5070/349 3462/5024/346 3468/5026/348 +f 3293/5012/334 3291/5010/332 3464/5027/349 +f 3289/5008/330 3463/5073/351 3464/5029/349 +f 3287/5006/328 3462/5074/346 3463/5030/351 +f 3285/5003/326 3461/5075/355 3462/5031/346 +f 3279/4996/319 3301/5021/343 3469/5032/352 +f 3279/4996/319 3459/5076/353 3458/5034/354 +f 3285/5035/326 3283/5001/324 3460/5036/347 +f 3301/5021/343 3299/5019/341 3468/5038/348 +f 3283/5001/324 3281/4999/322 3458/5040/354 +f 3299/5019/341 3297/5016/338 3467/5042/356 +f 3295/5014/336 3466/5077/340 3467/5044/356 +f 3481/5047/359 3470/5078/361 3471/5079/362 +f 3471/5079/362 3472/5080/363 3481/5047/359 +f 3472/5080/363 3473/5045/357 3481/5047/359 +f 3473/5045/357 3474/5081/360 3475/5082/345 +f 3475/5082/345 3476/5083/344 3477/5046/358 +f 3477/5046/358 3478/5084/366 3479/5085/365 +f 3479/5085/365 3480/5086/364 3477/5046/358 +f 3480/5086/364 3481/5047/359 3477/5046/358 +f 3473/5045/357 3475/5082/345 3477/5046/358 +f 3288/5007/329 3475/5087/345 3474/5048/360 +f 3284/5005/325 3286/5004/327 3474/5049/360 +f 3300/5020/342 3278/4998/321 3470/5051/361 +f 3278/4998/321 3280/4997/320 3471/5053/362 +f 3284/5002/325 3473/5088/357 3472/5055/363 +f 3300/5020/342 3481/5089/359 3480/5056/364 +f 3282/5000/323 3472/5090/363 3471/5057/362 +f 3298/5017/339 3480/5091/364 3479/5058/365 +f 3294/5013/335 3296/5015/337 3479/5059/365 +f 3294/5013/335 3478/5092/366 3477/5061/358 +f 3292/5011/333 3477/5093/358 3476/5062/344 +o V2_Rope +v 0.000000 9.000000 1.750000 +v 0.000000 8.875000 1.750000 +v 0.000000 9.000000 0.000000 +v 0.000000 8.875000 0.000000 +v 0.000000 8.875000 1.375000 +v 0.000000 8.750000 1.375000 +v 0.000000 8.875000 0.375000 +v 0.000000 8.750000 0.375000 +v 0.312500 2.062500 1.937500 +v 0.268306 2.062500 1.955806 +v 0.250000 2.062500 2.000000 +v 0.268306 2.062500 2.044194 +v 0.312500 2.062500 2.062500 +v 0.356694 2.062500 2.044194 +v 0.375000 2.062500 2.000000 +v 0.356694 2.062500 1.955806 +v 0.330806 2.018306 1.937500 +v 0.299556 1.987056 1.955806 +v 0.286612 1.974112 2.000000 +v 0.299556 1.987056 2.044194 +v 0.330806 2.018306 2.062500 +v 0.362056 2.049556 2.044194 +v 0.362056 2.049556 1.955806 +v 0.375000 2.000000 1.937500 +v 0.375000 1.955806 1.955806 +v 0.375000 1.937500 2.000000 +v 0.375000 1.955806 2.044194 +v 0.375000 2.000000 2.062500 +v 0.375000 2.044194 2.044194 +v 0.375000 2.044194 1.955806 +v 0.500000 2.062500 2.000000 +v 0.500000 2.000000 1.937500 +v 0.500000 1.955806 1.955806 +v 0.500000 1.937500 2.000000 +v 0.500000 1.955806 2.044194 +v 0.500000 2.000000 2.062500 +v 0.500000 2.044194 2.044194 +v 0.500000 2.044194 1.955806 +v 0.312500 5.312500 1.937500 +v 0.268306 5.312500 1.955806 +v 0.250000 5.312500 2.000000 +v 0.268306 5.312500 2.044194 +v 0.312500 5.312500 2.062500 +v 0.356694 5.312500 2.044194 +v 0.375000 5.312500 2.000000 +v 0.356694 5.312500 1.955806 +v 0.312500 4.625000 2.000000 +v 0.268306 4.606694 2.000000 +v 0.250000 4.562500 2.000000 +v 0.268306 4.518306 2.000000 +v 0.312500 4.500000 2.000000 +v 0.356694 4.518306 2.000000 +v 0.375000 4.562500 2.000000 +v 0.356694 4.606694 2.000000 +v 0.312500 4.625000 0.250000 +v 0.268306 4.606694 0.250000 +v 0.250000 4.562500 0.250000 +v 0.268306 4.518306 0.250000 +v 0.312500 4.500000 0.250000 +v 0.356694 4.518306 0.250000 +v 0.375000 4.562500 0.250000 +v 0.356694 4.606694 0.250000 +v 0.268306 5.325444 1.950444 +v 0.250000 5.356694 1.981694 +v 0.268306 5.387944 2.012944 +v 0.312500 5.400888 2.025888 +v 0.356694 5.387944 2.012944 +v 0.375000 5.356694 1.981694 +v 0.356694 5.325444 1.950444 +v 0.268306 5.330806 1.937500 +v 0.250000 5.375000 1.937500 +v 0.268306 5.419194 1.937500 +v 0.312500 5.437500 1.937500 +v 0.356694 5.419194 1.937500 +v 0.375000 5.375000 1.937500 +v 0.356694 5.330806 1.937500 +v 0.312500 5.312500 0.187500 +v 0.268306 5.330806 0.187500 +v 0.250000 5.375000 0.187500 +v 0.268306 5.419194 0.187500 +v 0.312500 5.437500 0.187500 +v 0.356694 5.419194 0.187500 +v 0.375000 5.375000 0.187500 +v 0.356694 5.330806 0.187500 +v 0.000000 9.000000 1.750000 +v 0.000000 8.875000 1.750000 +v 0.000000 9.000000 0.000000 +v 0.000000 8.875000 0.000000 +v 0.000000 8.875000 1.375000 +v 0.000000 8.750000 1.375000 +v 0.000000 8.875000 0.375000 +v 0.000000 8.750000 0.375000 +vt 0.408163 0.631579 +vt 0.438776 0.644737 +vt 0.408163 0.644737 +vt 0.520408 0.644737 +vt 0.551020 0.631579 +vt 0.551020 0.644737 +vt 0.438776 0.631579 +vt 0.408163 0.631579 +vt 0.438776 0.644737 +vt 0.438776 0.631579 +vt 0.551020 0.631579 +vt 0.520408 0.644737 +vt 0.551020 0.644737 +vt 0.520408 0.631579 +vt 0.408163 0.644737 +vt 0.520408 0.631579 +vt 0.816327 0.342105 +vt 0.821429 0.335526 +vt 0.821429 0.342105 +vt 0.806122 0.342105 +vt 0.811224 0.335526 +vt 0.811224 0.342105 +vt 0.795918 0.342105 +vt 0.801020 0.335526 +vt 0.801020 0.342105 +vt 0.836735 0.342105 +vt 0.831633 0.335526 +vt 0.836735 0.335526 +vt 0.816327 0.335526 +vt 0.806122 0.335526 +vt 0.836735 0.328947 +vt 0.816327 0.328947 +vt 0.801020 0.328947 +vt 0.806122 0.328947 +vt 0.821429 0.328947 +vt 0.811224 0.328947 +vt 0.795918 0.328947 +vt 0.826531 0.335526 +vt 0.831633 0.342105 +vt 0.831633 0.328947 +vt 0.826531 0.315789 +vt 0.831633 0.315789 +vt 0.836735 0.315789 +vt 0.826531 0.328947 +vt 0.816327 0.315789 +vt 0.801020 0.315789 +vt 0.806122 0.315789 +vt 0.821429 0.315789 +vt 0.811224 0.315789 +vt 0.826531 0.684211 +vt 0.826531 0.342105 +vt 0.816327 0.684211 +vt 0.806122 0.684211 +vt 0.795918 0.684211 +vt 0.831633 0.684211 +vt 0.821429 0.684211 +vt 0.811224 0.684211 +vt 0.801020 0.684211 +vt 0.806122 0.828947 +vt 0.801020 0.697368 +vt 0.806122 0.697368 +vt 0.816327 0.828947 +vt 0.811224 0.697368 +vt 0.816327 0.697368 +vt 0.821429 0.828947 +vt 0.821429 0.697368 +vt 0.831633 0.828947 +vt 0.826531 0.697368 +vt 0.831633 0.697368 +vt 0.801020 0.828947 +vt 0.795918 0.697368 +vt 0.811224 0.828947 +vt 0.826531 0.828947 +vt 0.836735 0.828947 +vt 0.836735 0.697368 +vt 0.821429 0.690789 +vt 0.811224 0.690789 +vt 0.801020 0.690789 +vt 0.831633 0.690789 +vt 0.826531 0.690789 +vt 0.816327 0.690789 +vt 0.806122 0.690789 +vt 0.806122 0.697368 +vt 0.801020 0.697368 +vt 0.826531 0.697368 +vt 0.816327 0.697368 +vt 0.811224 0.697368 +vt 0.821429 0.697368 +vt 0.795918 0.690789 +vt 0.836735 0.690789 +vt 0.831633 0.697368 +vt 0.836735 0.828947 +vt 0.831633 0.828947 +vt 0.826531 0.828947 +vt 0.795918 0.828947 +vt 0.795918 0.697368 +vt 0.816327 0.828947 +vt 0.806122 0.828947 +vt 0.821429 0.828947 +vt 0.811224 0.828947 +vt 0.801020 0.828947 +vt 0.795918 0.335526 +vt 0.795918 0.315789 +vt 0.836735 0.684211 +vt 0.795918 0.828947 +vt 0.836735 0.697368 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.0473 -0.0196 0.9987 +vn 0.4617 0.4617 0.7573 +vn 0.6737 0.1363 0.7263 +vn -0.9824 -0.1866 0.0000 +vn -0.5293 -0.5293 0.6630 +vn -0.7194 -0.1447 0.6794 +vn -0.0473 -0.0196 -0.9987 +vn -0.5293 -0.5293 -0.6630 +vn -0.7194 -0.1447 -0.6794 +vn 0.4617 0.4617 -0.7573 +vn -0.0670 -0.0670 -0.9955 +vn -0.0670 -0.0670 0.9955 +vn -0.7071 -0.7071 0.0000 +vn -0.0196 -0.0473 -0.9987 +vn -0.0196 -0.0473 0.9987 +vn -0.1447 -0.7194 -0.6794 +vn -0.1866 -0.9824 0.0000 +vn 0.1363 0.6737 0.7263 +vn -0.1447 -0.7194 0.6794 +vn 0.7071 0.7071 0.0000 +vn 0.6737 0.1363 -0.7263 +vn 0.1363 0.6737 -0.7263 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.7071 0.7071 +vn 0.0000 -0.7071 0.7071 +vn 0.9987 0.0196 0.0473 +vn 0.0000 0.1866 0.9824 +vn -0.9987 0.0196 0.0473 +vn 0.7263 -0.1363 -0.6737 +vn 0.6794 0.1447 0.7194 +vn -0.6794 0.1447 0.7194 +vn -0.7263 -0.1363 -0.6737 +vn -0.7071 0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn 0.6630 0.5293 0.5293 +vn -0.6630 0.5293 0.5293 +vn -0.7573 -0.4617 -0.4617 +vn 0.7573 -0.4617 -0.4617 +vn 0.9955 0.0670 0.0670 +vn -0.9955 0.0670 0.0670 +vn -0.9987 0.0473 0.0196 +vn -0.7263 -0.6737 -0.1363 +vn 0.9987 0.0473 0.0196 +vn 0.0000 0.9824 0.1866 +vn -0.6794 0.7194 0.1447 +vn 0.6794 0.7194 0.1447 +vn 0.7263 -0.6737 -0.1363 +s off +f 3555/5094/367 3558/5095/367 3554/5096/367 +f 3560/5097/367 3557/5098/367 3556/5099/367 +f 3559/5100/367 3560/5097/367 3558/5095/367 +f 3639/5101/368 3642/5102/368 3643/5103/368 +f 3641/5104/368 3644/5105/368 3640/5106/368 +f 3644/5105/368 3643/5103/368 3642/5102/368 +f 3555/5094/367 3559/5100/367 3558/5095/367 +f 3560/5097/367 3561/5107/367 3557/5098/367 +f 3559/5100/367 3561/5107/367 3560/5097/367 +f 3639/5101/368 3638/5108/368 3642/5102/368 +f 3641/5104/368 3645/5109/368 3644/5105/368 +f 3644/5105/368 3645/5109/368 3643/5103/368 +s 1 +f 3566/5110/369 3575/5111/370 3567/5112/371 +f 3564/5113/372 3573/5114/373 3565/5115/374 +f 3562/5116/375 3571/5117/376 3563/5118/377 +f 3562/5119/375 3576/5120/378 3570/5121/379 +f 3566/5110/369 3573/5114/373 3574/5122/380 +f 3563/5118/377 3572/5123/381 3564/5113/372 +f 3576/5120/378 3577/5124/382 3570/5121/379 +f 3573/5114/373 3581/5125/383 3574/5122/380 +f 3572/5123/381 3578/5126/384 3579/5127/385 +f 3575/5111/370 3581/5125/383 3582/5128/386 +f 3572/5123/381 3580/5129/387 3573/5114/373 +f 3571/5117/376 3577/5130/382 3578/5126/384 +f 3567/5112/371 3575/5111/370 3568/5131/388 +f 3575/5111/370 3582/5128/386 3568/5131/388 +f 3568/5131/388 3576/5120/378 3569/5132/389 +f 3576/5120/378 3568/5131/388 3583/5133/390 +f 3583/5133/390 3584/5134/391 3591/5135/392 +f 3583/5133/390 3585/5136/393 3577/5124/382 +f 3582/5128/386 3584/5134/391 3568/5137/388 +f 3580/5129/387 3589/5138/394 3581/5125/383 +f 3579/5127/385 3586/5139/395 3587/5140/396 +f 3581/5125/383 3590/5141/397 3582/5128/386 +f 3579/5127/385 3588/5142/398 3580/5129/387 +f 3577/5130/382 3586/5139/395 3578/5126/384 +f 3569/5132/389 3598/5143/399 3568/5144/388 +f 3567/5112/371 3596/5145/400 3566/5110/369 +f 3565/5115/374 3594/5146/401 3564/5113/372 +f 3563/5118/377 3592/5147/395 3562/5116/375 +f 3562/5119/375 3599/5148/402 3569/5132/389 +f 3568/5144/388 3597/5149/403 3567/5112/371 +f 3566/5110/369 3595/5150/404 3565/5115/374 +f 3564/5113/372 3593/5151/405 3563/5118/377 +f 3610/5152/368 3603/5153/381 3602/5154/368 +f 3608/5155/391 3601/5156/406 3600/5157/391 +f 3615/5158/388 3600/5157/391 3607/5159/388 +f 3613/5160/407 3606/5161/367 3605/5162/407 +f 3611/5163/381 3604/5164/396 3603/5153/381 +f 3609/5165/406 3602/5154/368 3601/5156/406 +f 3614/5166/367 3607/5159/388 3606/5161/367 +f 3612/5167/396 3605/5162/407 3604/5168/396 +f 3598/5143/399 3620/5169/408 3597/5149/403 +f 3596/5145/400 3618/5170/409 3595/5150/404 +f 3594/5146/401 3616/5171/410 3593/5151/405 +f 3598/5143/399 3622/5172/411 3621/5173/412 +f 3597/5149/403 3619/5174/397 3596/5145/400 +f 3594/5146/401 3618/5170/409 3617/5175/413 +f 3616/5171/410 3624/5176/414 3623/5177/415 +f 3622/5172/411 3628/5178/416 3621/5173/412 +f 3620/5169/408 3626/5179/417 3619/5174/397 +f 3617/5175/413 3625/5180/418 3624/5176/414 +f 3620/5169/408 3628/5178/416 3627/5181/419 +f 3618/5170/409 3626/5179/417 3625/5180/418 +f 3593/5151/405 3616/5171/410 3592/5182/395 +f 3616/5171/410 3623/5177/415 3592/5182/395 +f 3599/5148/402 3592/5183/395 3622/5172/411 +f 3622/5172/411 3592/5183/395 3629/5184/420 +f 3629/5184/420 3630/5185/396 3637/5186/407 +f 3629/5184/420 3636/5187/367 3628/5178/416 +f 3623/5177/415 3630/5188/396 3592/5189/395 +f 3627/5181/419 3634/5190/391 3626/5179/417 +f 3625/5180/418 3632/5191/368 3624/5176/414 +f 3628/5178/416 3635/5192/388 3627/5181/419 +f 3626/5179/417 3633/5193/406 3625/5180/418 +f 3623/5177/415 3632/5191/368 3631/5194/381 +f 3566/5110/369 3574/5122/380 3575/5111/370 +f 3564/5113/372 3572/5123/381 3573/5114/373 +f 3562/5116/375 3570/5195/379 3571/5117/376 +f 3562/5119/375 3569/5132/389 3576/5120/378 +f 3566/5110/369 3565/5115/374 3573/5114/373 +f 3563/5118/377 3571/5117/376 3572/5123/381 +f 3576/5120/378 3583/5133/390 3577/5124/382 +f 3573/5114/373 3580/5129/387 3581/5125/383 +f 3572/5123/381 3571/5117/376 3578/5126/384 +f 3575/5111/370 3574/5122/380 3581/5125/383 +f 3572/5123/381 3579/5127/385 3580/5129/387 +f 3571/5117/376 3570/5195/379 3577/5130/382 +f 3583/5133/390 3568/5137/388 3584/5134/391 +f 3583/5133/390 3591/5135/392 3585/5136/393 +f 3582/5128/386 3590/5141/397 3584/5134/391 +f 3580/5129/387 3588/5142/398 3589/5138/394 +f 3579/5127/385 3578/5126/384 3586/5139/395 +f 3581/5125/383 3589/5138/394 3590/5141/397 +f 3579/5127/385 3587/5140/396 3588/5142/398 +f 3577/5130/382 3585/5196/393 3586/5139/395 +f 3569/5132/389 3599/5148/402 3598/5143/399 +f 3567/5112/371 3597/5149/403 3596/5145/400 +f 3565/5115/374 3595/5150/404 3594/5146/401 +f 3563/5118/377 3593/5151/405 3592/5147/395 +f 3562/5119/375 3592/5197/395 3599/5148/402 +f 3568/5144/388 3598/5143/399 3597/5149/403 +f 3566/5110/369 3596/5145/400 3595/5150/404 +f 3564/5113/372 3594/5146/401 3593/5151/405 +f 3610/5152/368 3611/5163/381 3603/5153/381 +f 3608/5155/391 3609/5165/406 3601/5156/406 +f 3615/5158/388 3608/5155/391 3600/5157/391 +f 3613/5160/407 3614/5166/367 3606/5161/367 +f 3611/5163/381 3612/5198/396 3604/5164/396 +f 3609/5165/406 3610/5152/368 3602/5154/368 +f 3614/5166/367 3615/5158/388 3607/5159/388 +f 3612/5167/396 3613/5160/407 3605/5162/407 +f 3598/5143/399 3621/5173/412 3620/5169/408 +f 3596/5145/400 3619/5174/397 3618/5170/409 +f 3594/5146/401 3617/5175/413 3616/5171/410 +f 3598/5143/399 3599/5148/402 3622/5172/411 +f 3597/5149/403 3620/5169/408 3619/5174/397 +f 3594/5146/401 3595/5150/404 3618/5170/409 +f 3616/5171/410 3617/5175/413 3624/5176/414 +f 3622/5172/411 3629/5184/420 3628/5178/416 +f 3620/5169/408 3627/5181/419 3626/5179/417 +f 3617/5175/413 3618/5170/409 3625/5180/418 +f 3620/5169/408 3621/5173/412 3628/5178/416 +f 3618/5170/409 3619/5174/397 3626/5179/417 +f 3629/5184/420 3592/5199/395 3630/5185/396 +f 3629/5184/420 3637/5186/407 3636/5187/367 +f 3623/5177/415 3631/5194/381 3630/5188/396 +f 3627/5181/419 3635/5192/388 3634/5190/391 +f 3625/5180/418 3633/5193/406 3632/5191/368 +f 3628/5178/416 3636/5187/367 3635/5192/388 +f 3626/5179/417 3634/5190/391 3633/5193/406 +f 3623/5177/415 3624/5176/414 3632/5191/368 +o V2_Pivot +v 0.500000 1.250000 -1.625000 +v 0.750000 1.250000 -1.625000 +v 0.500000 1.250000 -1.875000 +v 0.750000 1.250000 -1.875000 +v 0.500000 2.750000 -1.875000 +v 0.500000 2.750000 -1.625000 +v 0.750000 2.750000 -1.625000 +v 0.750000 2.750000 -1.875000 +v -0.750000 1.250000 -1.625000 +v -0.500000 1.250000 -1.625000 +v -0.750000 1.250000 -1.875000 +v -0.500000 1.250000 -1.875000 +v -0.750000 2.750000 -1.875000 +v -0.750000 2.750000 -1.625000 +v -0.500000 2.750000 -1.625000 +v -0.500000 2.750000 -1.875000 +v 0.562500 2.750000 -1.687500 +v 0.687500 2.750000 -1.687500 +v 0.562500 2.750000 -1.812500 +v 0.687500 2.750000 -1.812500 +v 0.562500 3.750000 -1.812500 +v 0.562500 3.750000 -1.687500 +v 0.687500 3.750000 -1.687500 +v 0.687500 3.750000 -1.812500 +v -0.687500 2.750000 -1.687500 +v -0.562500 2.750000 -1.687500 +v -0.687500 2.750000 -1.812500 +v -0.562500 2.750000 -1.812500 +v -0.687500 3.750000 -1.812500 +v -0.687500 3.750000 -1.687500 +v -0.562500 3.750000 -1.687500 +v -0.562500 3.750000 -1.812500 +vt 0.836735 0.184211 +vt 0.857143 0.157895 +vt 0.857143 0.184211 +vt 0.918367 -0.000000 +vt 0.897959 0.157895 +vt 0.897959 -0.000000 +vt 0.877551 -0.000000 +vt 0.857143 -0.000000 +vt 0.836735 0.157895 +vt 0.836735 -0.000000 +vt 0.877551 0.157895 +vt 0.836735 0.184211 +vt 0.857143 0.157895 +vt 0.857143 0.184211 +vt 0.918367 -0.000000 +vt 0.897959 0.157895 +vt 0.897959 -0.000000 +vt 0.877551 -0.000000 +vt 0.857143 -0.000000 +vt 0.836735 0.157895 +vt 0.836735 -0.000000 +vt 0.877551 0.157895 +vt 0.897959 0.157895 +vt 0.887755 0.263158 +vt 0.887755 0.157895 +vt 0.877551 0.157895 +vt 0.867347 0.263158 +vt 0.867347 0.157895 +vt 0.857143 0.263158 +vt 0.857143 0.157895 +vt 0.877551 0.263158 +vt 0.897959 0.157895 +vt 0.887755 0.263158 +vt 0.887755 0.157895 +vt 0.877551 0.157895 +vt 0.867347 0.263158 +vt 0.867347 0.157895 +vt 0.857143 0.263158 +vt 0.857143 0.157895 +vt 0.877551 0.263158 +vt 0.918367 0.157895 +vt 0.918367 0.157895 +vt 0.897959 0.263158 +vt 0.897959 0.263158 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +s off +f 3652/5200/421 3650/5201/421 3651/5202/421 +f 3649/5203/422 3652/5204/422 3647/5205/422 +f 3646/5206/423 3650/5201/423 3648/5207/423 +f 3648/5207/424 3653/5208/424 3649/5209/424 +f 3647/5205/425 3651/5210/425 3646/5206/425 +f 3660/5211/421 3658/5212/421 3659/5213/421 +f 3657/5214/422 3660/5215/422 3655/5216/422 +f 3654/5217/423 3658/5212/423 3656/5218/423 +f 3656/5218/424 3661/5219/424 3657/5220/424 +f 3655/5216/425 3659/5221/425 3654/5217/425 +f 3665/5222/422 3668/5223/422 3663/5224/422 +f 3662/5225/423 3666/5226/423 3664/5227/423 +f 3664/5227/424 3669/5228/424 3665/5229/424 +f 3663/5224/425 3667/5230/425 3662/5225/425 +f 3673/5231/422 3676/5232/422 3671/5233/422 +f 3670/5234/423 3674/5235/423 3672/5236/423 +f 3672/5236/424 3677/5237/424 3673/5238/424 +f 3671/5233/425 3675/5239/425 3670/5234/425 +f 3652/5200/421 3653/5208/421 3650/5201/421 +f 3649/5203/422 3653/5240/422 3652/5204/422 +f 3646/5206/423 3651/5210/423 3650/5201/423 +f 3648/5207/424 3650/5201/424 3653/5208/424 +f 3647/5205/425 3652/5204/425 3651/5210/425 +f 3660/5211/421 3661/5219/421 3658/5212/421 +f 3657/5214/422 3661/5241/422 3660/5215/422 +f 3654/5217/423 3659/5221/423 3658/5212/423 +f 3656/5218/424 3658/5212/424 3661/5219/424 +f 3655/5216/425 3660/5215/425 3659/5221/425 +f 3665/5222/422 3669/5242/422 3668/5223/422 +f 3662/5225/423 3667/5230/423 3666/5226/423 +f 3664/5227/424 3666/5226/424 3669/5228/424 +f 3663/5224/425 3668/5223/425 3667/5230/425 +f 3673/5231/422 3677/5243/422 3676/5232/422 +f 3670/5234/423 3675/5239/423 3674/5235/423 +f 3672/5236/424 3674/5235/424 3677/5237/424 +f 3671/5233/425 3676/5232/425 3675/5239/425 +o V2_Erector +v 0.500000 2.750000 -1.875000 +v 0.500000 2.750000 -1.625000 +v 0.750000 2.750000 -1.625000 +v 0.750000 2.750000 -1.875000 +v -0.750000 2.750000 -1.875000 +v -0.750000 2.750000 -1.625000 +v -0.500000 2.750000 -1.625000 +v -0.500000 2.750000 -1.875000 +v 0.500000 7.750000 -1.875000 +v 0.500000 7.750000 -1.625000 +v 0.750000 7.750000 -1.625000 +v 0.750000 7.750000 -1.875000 +v -0.750000 7.750000 -1.875000 +v -0.750000 7.750000 -1.625000 +v -0.500000 7.750000 -1.625000 +v -0.500000 7.750000 -1.875000 +v 0.500000 4.250000 -0.125000 +v 0.500000 4.250000 0.125000 +v 0.750000 4.250000 0.125000 +v 0.750000 4.250000 -0.125000 +v -0.750000 4.250000 -0.125000 +v -0.750000 4.250000 0.125000 +v -0.500000 4.250000 0.125000 +v -0.500000 4.250000 -0.125000 +v 0.500000 7.750000 -0.125000 +v 0.500000 7.750000 0.125000 +v 0.750000 7.750000 0.125000 +v 0.750000 7.750000 -0.125000 +v -0.750000 7.750000 -0.125000 +v -0.750000 7.750000 0.125000 +v -0.500000 7.750000 0.125000 +v -0.500000 7.750000 -0.125000 +v -0.250000 7.250000 -0.625000 +v 0.250000 7.250000 -0.625000 +v -0.250000 7.250000 -0.375000 +v 0.250000 7.250000 -0.375000 +v -0.500000 7.250000 -0.125000 +v -0.750000 7.250000 -0.125000 +v 0.750000 7.250000 -0.125000 +v 0.500000 7.250000 -0.125000 +v 0.500000 5.000000 -0.125000 +v 0.750000 5.000000 -0.125000 +v -0.750000 5.000000 -0.125000 +v -0.500000 5.000000 -0.125000 +v 0.250000 5.000000 -0.375000 +v -0.250000 5.000000 -0.375000 +v 0.250000 5.000000 -0.625000 +v -0.250000 5.000000 -0.625000 +v 0.500000 4.750000 -0.125000 +v 0.750000 4.750000 -0.125000 +v -0.750000 4.750000 -0.125000 +v -0.500000 4.750000 -0.125000 +v 0.250000 4.750000 -0.375000 +v -0.250000 4.750000 -0.375000 +v 0.250000 4.750000 -0.625000 +v -0.250000 4.750000 -0.625000 +v 0.500000 7.625000 -0.125000 +v 0.750000 7.625000 -0.125000 +v 0.500000 7.375000 -0.125000 +v 0.750000 7.375000 -0.125000 +v 0.500000 7.625000 -1.625000 +v 0.750000 7.625000 -1.625000 +v 0.500000 7.375000 -1.625000 +v 0.750000 7.375000 -1.625000 +v -0.750000 7.625000 -0.125000 +v -0.500000 7.625000 -0.125000 +v -0.750000 7.375000 -0.125000 +v -0.500000 7.375000 -0.125000 +v -0.750000 7.625000 -1.625000 +v -0.500000 7.625000 -1.625000 +v -0.750000 7.375000 -1.625000 +v -0.500000 7.375000 -1.625000 +v 0.500000 4.625000 -0.125000 +v 0.750000 4.625000 -0.125000 +v 0.500000 4.375000 -0.125000 +v 0.750000 4.375000 -0.125000 +v 0.500000 4.625000 -1.625000 +v 0.750000 4.625000 -1.625000 +v 0.500000 4.375000 -1.625000 +v 0.750000 4.375000 -1.625000 +v -0.750000 4.625000 -0.125000 +v -0.500000 4.625000 -0.125000 +v -0.750000 4.375000 -0.125000 +v -0.500000 4.375000 -0.125000 +v -0.750000 4.625000 -1.625000 +v -0.500000 4.625000 -1.625000 +v -0.750000 4.375000 -1.625000 +v -0.500000 4.375000 -1.625000 +v 0.500000 6.125000 -0.125000 +v 0.750000 6.125000 -0.125000 +v 0.500000 5.875000 -0.125000 +v 0.750000 5.875000 -0.125000 +v 0.500000 6.125000 -1.625000 +v 0.750000 6.125000 -1.625000 +v 0.500000 5.875000 -1.625000 +v 0.750000 5.875000 -1.625000 +v -0.750000 6.125000 -0.125000 +v -0.500000 6.125000 -0.125000 +v -0.750000 5.875000 -0.125000 +v -0.500000 5.875000 -0.125000 +v -0.750000 6.125000 -1.625000 +v -0.500000 6.125000 -1.625000 +v -0.750000 5.875000 -1.625000 +v -0.500000 5.875000 -1.625000 +v 0.500000 7.375000 -1.812500 +v 0.500000 7.125000 -1.812500 +v -0.500000 7.375000 -1.687500 +v -0.500000 7.125000 -1.687500 +v -0.500000 6.375000 -1.812500 +v -0.500000 6.125000 -1.812500 +v 0.500000 6.375000 -1.687500 +v 0.500000 6.125000 -1.687500 +v 0.500000 5.875000 -1.812500 +v 0.500000 5.625000 -1.812500 +v -0.500000 5.875000 -1.687500 +v -0.500000 5.625000 -1.687500 +v -0.500000 4.875000 -1.812500 +v -0.500000 4.625000 -1.812500 +v 0.500000 4.875000 -1.687500 +v 0.500000 4.625000 -1.687500 +v 0.500000 4.375000 -1.812500 +v 0.500000 4.125000 -1.812500 +v -0.500000 4.375000 -1.687500 +v -0.500000 4.125000 -1.687500 +v -0.500000 3.375000 -1.812500 +v -0.500000 3.125000 -1.812500 +v 0.500000 3.375000 -1.687500 +v 0.500000 3.125000 -1.687500 +v 0.500000 7.000000 -0.125000 +v 0.750000 7.000000 -0.125000 +v -0.750000 7.000000 -0.125000 +v -0.500000 7.000000 -0.125000 +v 0.250000 7.000000 -0.375000 +v -0.250000 7.000000 -0.375000 +v 0.250000 7.000000 -0.625000 +v -0.250000 7.000000 -0.625000 +v 0.500000 7.375000 -1.812500 +v 0.500000 7.125000 -1.812500 +v -0.500000 7.375000 -1.687500 +v -0.500000 7.125000 -1.687500 +v -0.500000 6.375000 -1.812500 +v -0.500000 6.125000 -1.812500 +v 0.500000 6.375000 -1.687500 +v 0.500000 6.125000 -1.687500 +v 0.500000 5.875000 -1.812500 +v 0.500000 5.625000 -1.812500 +v -0.500000 5.875000 -1.687500 +v -0.500000 5.625000 -1.687500 +v -0.500000 4.875000 -1.812500 +v -0.500000 4.625000 -1.812500 +v 0.500000 4.875000 -1.687500 +v 0.500000 4.625000 -1.687500 +v 0.500000 4.375000 -1.812500 +v 0.500000 4.125000 -1.812500 +v -0.500000 4.375000 -1.687500 +v -0.500000 4.125000 -1.687500 +v -0.500000 3.375000 -1.812500 +v -0.500000 3.125000 -1.812500 +v 0.500000 3.375000 -1.687500 +v 0.500000 3.125000 -1.687500 +vt 0.918367 0.421053 +vt 0.938776 0.394737 +vt 0.938776 0.421053 +vt 0.918367 0.421053 +vt 0.938776 0.394737 +vt 0.938776 0.421053 +vt 0.938776 0.026316 +vt 0.918367 -0.000000 +vt 0.938776 -0.000000 +vt 0.938776 0.026316 +vt 0.918367 -0.000000 +vt 0.938776 -0.000000 +vt 0.857143 0.263158 +vt 0.836735 0.236842 +vt 0.857143 0.236842 +vt 0.857143 0.263158 +vt 0.836735 0.236842 +vt 0.857143 0.236842 +vt 0.836735 0.815789 +vt 0.857143 0.789474 +vt 0.857143 0.815789 +vt 0.836735 0.815789 +vt 0.857143 0.789474 +vt 0.857143 0.815789 +vt 0.918367 0.263158 +vt 0.897959 0.789474 +vt 0.897959 0.263158 +vt 0.877551 0.263158 +vt 0.918367 0.263158 +vt 0.897959 0.789474 +vt 0.897959 0.263158 +vt 0.877551 0.263158 +vt 0.836735 0.789474 +vt 0.836735 0.263158 +vt 0.877551 0.789474 +vt 0.836735 0.789474 +vt 0.836735 0.263158 +vt 0.877551 0.789474 +vt 1.000000 0.026316 +vt 0.979592 0.394737 +vt 0.979592 0.026316 +vt 0.959184 0.026316 +vt 1.000000 0.026316 +vt 0.979592 0.394737 +vt 0.979592 0.026316 +vt 0.959184 0.026316 +vt 0.918367 0.394737 +vt 0.918367 0.026316 +vt 0.959184 0.394737 +vt 0.918367 0.394737 +vt 0.918367 0.026316 +vt 0.959184 0.394737 +vt 0.653061 0.763158 +vt 0.632653 0.710526 +vt 0.673469 0.763158 +vt 0.551020 0.763158 +vt 0.591837 0.736842 +vt 0.571429 0.763158 +vt 0.591837 0.710526 +vt 0.632653 0.710526 +vt 0.591837 0.736842 +vt 0.591837 0.710526 +vt 0.551020 0.763158 +vt 0.571429 0.763158 +vt 0.653061 0.763158 +vt 0.673469 0.763158 +vt 0.632653 0.763158 +vt 0.591837 0.789474 +vt 0.591837 0.763158 +vt 0.673469 0.684211 +vt 0.673469 0.710526 +vt 0.571429 0.789474 +vt 0.632653 0.684211 +vt 0.632653 0.789474 +vt 0.551020 0.710526 +vt 0.591149 0.684899 +vt 0.551020 0.631579 +vt 0.591837 0.657895 +vt 0.632653 0.657895 +vt 0.653061 0.631579 +vt 0.918367 0.421053 +vt 0.938776 0.578947 +vt 0.918367 0.578947 +vt 0.979592 0.421053 +vt 1.000000 0.578947 +vt 0.979592 0.578947 +vt 0.959184 0.421053 +vt 0.959184 0.578947 +vt 0.918367 0.421053 +vt 0.938776 0.578947 +vt 0.918367 0.578947 +vt 0.979592 0.421053 +vt 1.000000 0.578947 +vt 0.979592 0.578947 +vt 0.959184 0.421053 +vt 0.959184 0.578947 +vt 0.918367 0.421053 +vt 0.938776 0.578947 +vt 0.918367 0.578947 +vt 0.979592 0.421053 +vt 1.000000 0.578947 +vt 0.979592 0.578947 +vt 0.959184 0.421053 +vt 0.959184 0.578947 +vt 0.918367 0.421053 +vt 0.938776 0.578947 +vt 0.918367 0.578947 +vt 0.979592 0.421053 +vt 1.000000 0.578947 +vt 0.979592 0.578947 +vt 0.959184 0.421053 +vt 0.959184 0.578947 +vt 0.918367 0.421053 +vt 0.938776 0.578947 +vt 0.918367 0.578947 +vt 0.979592 0.421053 +vt 1.000000 0.578947 +vt 0.979592 0.578947 +vt 0.959184 0.421053 +vt 0.959184 0.578947 +vt 0.918367 0.421053 +vt 0.938776 0.578947 +vt 0.918367 0.578947 +vt 0.979592 0.421053 +vt 1.000000 0.578947 +vt 0.979592 0.578947 +vt 0.959184 0.421053 +vt 0.959184 0.578947 +vt 0.918367 0.578947 +vt 1.000000 0.605263 +vt 0.918367 0.605263 +vt 1.000000 0.578947 +vt 0.918367 0.605263 +vt 0.918367 0.578947 +vt 0.918367 0.578947 +vt 1.000000 0.605263 +vt 0.918367 0.605263 +vt 1.000000 0.578947 +vt 0.918367 0.605263 +vt 0.918367 0.578947 +vt 0.918367 0.578947 +vt 1.000000 0.605263 +vt 0.918367 0.605263 +vt 1.000000 0.578947 +vt 0.918367 0.605263 +vt 0.918367 0.578947 +vt 0.632653 0.763158 +vt 0.591837 0.789474 +vt 0.591837 0.763158 +vt 0.673469 0.684211 +vt 0.673469 0.710526 +vt 0.571429 0.789474 +vt 0.632653 0.684211 +vt 0.632653 0.789474 +vt 0.551020 0.710526 +vt 0.591149 0.684899 +vt 0.551020 0.631579 +vt 0.591837 0.657895 +vt 0.632653 0.657895 +vt 0.653061 0.631579 +vt 1.000000 0.605263 +vt 0.918367 0.578947 +vt 0.918367 0.605263 +vt 1.000000 0.578947 +vt 0.918367 0.605263 +vt 1.000000 0.605263 +vt 1.000000 0.605263 +vt 0.918367 0.578947 +vt 0.918367 0.605263 +vt 1.000000 0.578947 +vt 0.918367 0.605263 +vt 1.000000 0.605263 +vt 1.000000 0.605263 +vt 0.918367 0.578947 +vt 0.918367 0.605263 +vt 1.000000 0.578947 +vt 0.918367 0.605263 +vt 1.000000 0.605263 +vt 0.918367 0.789474 +vt 0.918367 0.789474 +vt 1.000000 0.394737 +vt 1.000000 0.394737 +vt 0.632653 0.736842 +vt 0.632653 0.736842 +vt 0.653061 0.789474 +vt 0.551020 0.684211 +vt 0.571429 0.631579 +vt 0.673469 0.631579 +vt 0.938776 0.421053 +vt 1.000000 0.421053 +vt 0.938776 0.421053 +vt 1.000000 0.421053 +vt 0.938776 0.421053 +vt 1.000000 0.421053 +vt 0.938776 0.421053 +vt 1.000000 0.421053 +vt 0.938776 0.421053 +vt 1.000000 0.421053 +vt 0.938776 0.421053 +vt 1.000000 0.421053 +vt 1.000000 0.578947 +vt 1.000000 0.605263 +vt 1.000000 0.578947 +vt 1.000000 0.605263 +vt 1.000000 0.578947 +vt 1.000000 0.605263 +vt 0.653061 0.789474 +vt 0.551020 0.684211 +vt 0.571429 0.631579 +vt 0.673469 0.631579 +vt 1.000000 0.578947 +vt 0.918367 0.578947 +vt 1.000000 0.578947 +vt 0.918367 0.578947 +vt 1.000000 0.578947 +vt 0.918367 0.578947 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn -0.7071 0.0000 -0.7071 +vn -0.7071 0.0000 0.7071 +vn 0.7071 0.0000 0.7071 +vn 0.7071 0.0000 -0.7071 +s off +f 3708/5244/426 3706/5245/426 3707/5246/426 +f 3704/5247/426 3702/5248/426 3703/5249/426 +f 3698/5250/427 3700/5251/427 3699/5252/427 +f 3694/5253/427 3696/5254/427 3695/5255/427 +f 3678/5256/427 3680/5257/427 3679/5258/427 +f 3682/5259/427 3684/5260/427 3683/5261/427 +f 3688/5262/426 3686/5263/426 3687/5264/426 +f 3692/5265/426 3690/5266/426 3691/5267/426 +f 3685/5268/428 3692/5269/428 3684/5270/428 +f 3683/5271/429 3690/5266/429 3682/5259/429 +f 3681/5272/428 3688/5273/428 3680/5274/428 +f 3679/5275/429 3686/5263/429 3678/5256/429 +f 3682/5259/430 3693/5276/430 3685/5277/430 +f 3684/5270/431 3691/5278/431 3683/5271/431 +f 3678/5256/430 3689/5279/430 3681/5280/430 +f 3680/5274/431 3687/5281/431 3679/5275/431 +f 3701/5282/428 3708/5283/428 3700/5284/428 +f 3699/5285/429 3706/5245/429 3698/5250/429 +f 3697/5286/428 3704/5287/428 3696/5288/428 +f 3695/5289/429 3702/5248/429 3694/5253/429 +f 3698/5250/430 3709/5290/430 3701/5291/430 +f 3700/5284/431 3707/5292/431 3699/5285/431 +f 3694/5253/430 3705/5293/430 3697/5294/430 +f 3696/5288/431 3703/5295/431 3695/5289/431 +f 3714/5296/426 3710/5297/426 3715/5298/426 +f 3716/5299/426 3713/5300/426 3717/5301/426 +f 3710/5297/426 3713/5300/426 3711/5302/426 +f 3725/5303/426 3722/5304/426 3724/5305/426 +f 3719/5306/426 3722/5304/426 3718/5307/426 +f 3721/5308/426 3725/5303/426 3720/5309/426 +f 3723/5310/431 3730/5311/431 3722/5312/431 +f 3725/5303/432 3728/5313/432 3720/5314/432 +f 3722/5312/433 3726/5315/433 3718/5307/433 +f 3724/5305/430 3733/5316/430 3725/5303/430 +f 3721/5308/434 3731/5317/434 3723/5310/434 +f 3719/5318/435 3732/5319/435 3724/5305/435 +f 3727/5320/427 3730/5321/427 3732/5319/427 +f 3733/5316/427 3730/5321/427 3731/5322/427 +f 3729/5323/427 3733/5316/427 3731/5322/427 +f 3741/5324/428 3735/5325/428 3737/5326/428 +f 3740/5327/427 3737/5328/427 3736/5329/427 +f 3738/5330/429 3736/5329/429 3734/5331/429 +f 3735/5325/426 3738/5330/426 3734/5331/426 +f 3749/5332/428 3743/5333/428 3745/5334/428 +f 3748/5335/427 3745/5336/427 3744/5337/427 +f 3746/5338/429 3744/5337/429 3742/5339/429 +f 3743/5333/426 3746/5338/426 3742/5339/426 +f 3757/5340/428 3751/5341/428 3753/5342/428 +f 3756/5343/427 3753/5344/427 3752/5345/427 +f 3754/5346/429 3752/5345/429 3750/5347/429 +f 3751/5341/426 3754/5346/426 3750/5347/426 +f 3765/5348/428 3759/5349/428 3761/5350/428 +f 3764/5351/427 3761/5352/427 3760/5353/427 +f 3762/5354/429 3760/5353/429 3758/5355/429 +f 3759/5349/426 3762/5354/426 3758/5355/426 +f 3773/5356/428 3767/5357/428 3769/5358/428 +f 3772/5359/427 3769/5360/427 3768/5361/427 +f 3770/5362/429 3768/5361/429 3766/5363/429 +f 3767/5357/426 3770/5362/426 3766/5363/426 +f 3781/5364/428 3775/5365/428 3777/5366/428 +f 3780/5367/427 3777/5368/427 3776/5369/427 +f 3778/5370/429 3776/5369/429 3774/5371/429 +f 3775/5365/426 3778/5370/426 3774/5371/426 +f 3783/5372/430 3786/5373/430 3782/5374/430 +f 3785/5375/430 3788/5376/430 3789/5377/430 +f 3791/5378/430 3794/5379/430 3790/5380/430 +f 3793/5381/430 3796/5382/430 3797/5383/430 +f 3799/5384/430 3802/5385/430 3798/5386/430 +f 3801/5387/430 3804/5388/430 3805/5389/430 +f 3712/5390/431 3810/5391/431 3713/5392/431 +f 3710/5297/432 3808/5393/432 3715/5394/432 +f 3713/5392/433 3806/5395/433 3717/5301/433 +f 3711/5302/430 3813/5396/430 3710/5297/430 +f 3714/5296/434 3811/5397/434 3712/5390/434 +f 3716/5398/435 3812/5399/435 3711/5302/435 +f 3807/5400/427 3810/5401/427 3812/5399/427 +f 3813/5396/427 3810/5401/427 3811/5402/427 +f 3809/5403/427 3813/5396/427 3811/5402/427 +f 3818/5404/431 3815/5405/431 3814/5406/431 +f 3817/5407/431 3820/5408/431 3816/5409/431 +f 3826/5410/431 3823/5411/431 3822/5412/431 +f 3825/5413/431 3828/5414/431 3824/5415/431 +f 3834/5416/431 3831/5417/431 3830/5418/431 +f 3833/5419/431 3836/5420/431 3832/5421/431 +f 3708/5244/426 3709/5290/426 3706/5245/426 +f 3704/5247/426 3705/5293/426 3702/5248/426 +f 3698/5250/427 3701/5291/427 3700/5251/427 +f 3694/5253/427 3697/5294/427 3696/5254/427 +f 3678/5256/427 3681/5280/427 3680/5257/427 +f 3682/5259/427 3685/5277/427 3684/5260/427 +f 3688/5262/426 3689/5279/426 3686/5263/426 +f 3692/5265/426 3693/5276/426 3690/5266/426 +f 3685/5268/428 3693/5422/428 3692/5269/428 +f 3683/5271/429 3691/5278/429 3690/5266/429 +f 3681/5272/428 3689/5423/428 3688/5273/428 +f 3679/5275/429 3687/5281/429 3686/5263/429 +f 3682/5259/430 3690/5266/430 3693/5276/430 +f 3684/5270/431 3692/5269/431 3691/5278/431 +f 3678/5256/430 3686/5263/430 3689/5279/430 +f 3680/5274/431 3688/5273/431 3687/5281/431 +f 3701/5282/428 3709/5424/428 3708/5283/428 +f 3699/5285/429 3707/5292/429 3706/5245/429 +f 3697/5286/428 3705/5425/428 3704/5287/428 +f 3695/5289/429 3703/5295/429 3702/5248/429 +f 3698/5250/430 3706/5245/430 3709/5290/430 +f 3700/5284/431 3708/5283/431 3707/5292/431 +f 3694/5253/430 3702/5248/430 3705/5293/430 +f 3696/5288/431 3704/5287/431 3703/5295/431 +f 3714/5296/426 3712/5426/426 3710/5297/426 +f 3716/5299/426 3711/5302/426 3713/5300/426 +f 3710/5297/426 3712/5426/426 3713/5300/426 +f 3725/5303/426 3723/5427/426 3722/5304/426 +f 3719/5306/426 3724/5305/426 3722/5304/426 +f 3721/5308/426 3723/5427/426 3725/5303/426 +f 3723/5310/431 3731/5317/431 3730/5311/431 +f 3725/5303/432 3733/5316/432 3728/5313/432 +f 3722/5312/433 3730/5311/433 3726/5315/433 +f 3724/5305/430 3732/5319/430 3733/5316/430 +f 3721/5308/434 3729/5428/434 3731/5317/434 +f 3719/5318/435 3727/5429/435 3732/5319/435 +f 3727/5320/427 3726/5430/427 3730/5321/427 +f 3733/5316/427 3732/5319/427 3730/5321/427 +f 3729/5323/427 3728/5431/427 3733/5316/427 +f 3741/5324/428 3739/5432/428 3735/5325/428 +f 3740/5327/427 3741/5433/427 3737/5328/427 +f 3738/5330/429 3740/5327/429 3736/5329/429 +f 3735/5325/426 3739/5432/426 3738/5330/426 +f 3749/5332/428 3747/5434/428 3743/5333/428 +f 3748/5335/427 3749/5435/427 3745/5336/427 +f 3746/5338/429 3748/5335/429 3744/5337/429 +f 3743/5333/426 3747/5434/426 3746/5338/426 +f 3757/5340/428 3755/5436/428 3751/5341/428 +f 3756/5343/427 3757/5437/427 3753/5344/427 +f 3754/5346/429 3756/5343/429 3752/5345/429 +f 3751/5341/426 3755/5436/426 3754/5346/426 +f 3765/5348/428 3763/5438/428 3759/5349/428 +f 3764/5351/427 3765/5439/427 3761/5352/427 +f 3762/5354/429 3764/5351/429 3760/5353/429 +f 3759/5349/426 3763/5438/426 3762/5354/426 +f 3773/5356/428 3771/5440/428 3767/5357/428 +f 3772/5359/427 3773/5441/427 3769/5360/427 +f 3770/5362/429 3772/5359/429 3768/5361/429 +f 3767/5357/426 3771/5440/426 3770/5362/426 +f 3781/5364/428 3779/5442/428 3775/5365/428 +f 3780/5367/427 3781/5443/427 3777/5368/427 +f 3778/5370/429 3780/5367/429 3776/5369/429 +f 3775/5365/426 3779/5442/426 3778/5370/426 +f 3783/5372/430 3787/5444/430 3786/5373/430 +f 3785/5375/430 3784/5445/430 3788/5376/430 +f 3791/5378/430 3795/5446/430 3794/5379/430 +f 3793/5381/430 3792/5447/430 3796/5382/430 +f 3799/5384/430 3803/5448/430 3802/5385/430 +f 3801/5387/430 3800/5449/430 3804/5388/430 +f 3712/5390/431 3811/5397/431 3810/5391/431 +f 3710/5297/432 3813/5396/432 3808/5393/432 +f 3713/5392/433 3810/5391/433 3806/5395/433 +f 3711/5302/430 3812/5399/430 3813/5396/430 +f 3714/5296/434 3809/5450/434 3811/5397/434 +f 3716/5398/435 3807/5451/435 3812/5399/435 +f 3807/5400/427 3806/5452/427 3810/5401/427 +f 3813/5396/427 3812/5399/427 3810/5401/427 +f 3809/5403/427 3808/5453/427 3813/5396/427 +f 3818/5404/431 3819/5454/431 3815/5405/431 +f 3817/5407/431 3821/5455/431 3820/5408/431 +f 3826/5410/431 3827/5456/431 3823/5411/431 +f 3825/5413/431 3829/5457/431 3828/5414/431 +f 3834/5416/431 3835/5458/431 3831/5417/431 +f 3833/5419/431 3837/5459/431 3836/5420/431 +o Pad +v -4.500000 0.000000 4.500000 +v 4.500000 0.000000 4.500000 +v -4.500000 0.000000 -4.500000 +v 4.500000 0.000000 -4.500000 +v -4.500000 1.000000 4.500000 +v 4.500000 1.000000 4.500000 +v -4.500000 1.000000 -4.500000 +v 4.500000 1.000000 -4.500000 +v -4.500000 0.000000 0.500000 +v 4.500000 0.000000 0.500000 +v -4.500000 1.000000 0.500000 +v 4.500000 1.000000 0.500000 +v 4.500000 0.000000 -0.500000 +v -4.500000 0.000000 -0.500000 +v 4.500000 1.000000 -0.500000 +v -4.500000 1.000000 -0.500000 +v -4.500000 1.000000 0.500000 +v 4.500000 1.000000 0.500000 +v 4.500000 1.000000 -0.500000 +v -4.500000 1.000000 -0.500000 +v 0.500000 1.000000 0.500000 +v 0.500000 1.000000 -0.500000 +v -0.500000 1.000000 0.500000 +v -0.500000 1.000000 -0.500000 +v 4.500000 0.750000 0.500000 +v 0.500000 0.750000 0.500000 +v 4.500000 1.000000 0.250000 +v 0.500000 1.000000 0.250000 +v 4.500000 1.000000 -0.250000 +v 0.500000 1.000000 -0.250000 +v 4.500000 0.750000 -0.500000 +v 0.500000 0.750000 -0.500000 +v 4.500000 1.000000 0.500000 +v 0.500000 1.000000 0.500000 +v 4.500000 1.000000 -0.500000 +v 0.500000 1.000000 -0.500000 +v -4.500000 1.000000 -0.500000 +v -0.500000 1.000000 -0.500000 +v -4.500000 1.000000 0.500000 +v -0.500000 1.000000 0.500000 +v -4.500000 0.750000 -0.500000 +v -0.500000 0.750000 -0.500000 +v -4.500000 1.000000 -0.250000 +v -0.500000 1.000000 -0.250000 +v -4.500000 1.000000 0.250000 +v -0.500000 1.000000 0.250000 +v -4.500000 0.750000 0.500000 +v -0.500000 0.750000 0.500000 +v -0.500000 0.000000 0.500000 +v 0.500000 0.000000 0.500000 +v -0.500000 0.000000 -0.500000 +v 0.500000 0.000000 -0.500000 +v 0.000000 0.500000 0.500000 +v 0.000000 0.500000 -0.500000 +vt 0.000000 0.473684 +vt 0.400000 0.526316 +vt 0.000000 0.526316 +vt 0.900000 0.526316 +vt 0.000000 0.473684 +vt 0.900000 0.473684 +vt 0.400000 1.000000 +vt 0.000000 1.000000 +vt 0.900000 0.473684 +vt -0.000000 0.526316 +vt -0.000000 0.473684 +vt 0.900000 0.473684 +vt -0.000000 0.526316 +vt -0.000000 0.473684 +vt 0.900000 0.526316 +vt 0.500000 0.473684 +vt 0.900000 0.473684 +vt 0.000000 0.000000 +vt 0.400000 0.473684 +vt 0.900000 0.526316 +vt -0.000000 0.473684 +vt 0.900000 0.473684 +vt 0.900000 0.526316 +vt 0.500000 0.473684 +vt 0.900000 0.473684 +vt 0.000000 0.473684 +vt 0.400000 0.526316 +vt 0.000000 0.526316 +vt 0.900000 1.000000 +vt 0.500000 0.526316 +vt 0.500000 0.000000 +vt 0.900000 0.000000 +vt 0.500000 0.736842 +vt 0.400000 0.526316 +vt 0.500000 0.526316 +vt 0.400000 1.000000 +vt 0.500000 0.789474 +vt 0.500000 1.000000 +vt 0.925000 0.539474 +vt 0.900000 0.750000 +vt 0.900000 0.539474 +vt 0.975000 0.539474 +vt 0.925000 0.750000 +vt 1.000000 0.539474 +vt 0.975000 0.750000 +vt 1.000000 0.763158 +vt 1.000000 0.776316 +vt 0.975000 0.776316 +vt 0.900000 0.763158 +vt 0.925000 0.776316 +vt 0.900000 0.776316 +vt 1.000000 0.763158 +vt 0.975000 0.750000 +vt 1.000000 0.750000 +vt 0.900000 0.763158 +vt 0.900000 0.750000 +vt 0.925000 0.750000 +vt 0.900000 0.526316 +vt 0.925000 0.539474 +vt 0.900000 0.539474 +vt 1.000000 0.526316 +vt 1.000000 0.539474 +vt 0.975000 0.539474 +vt 0.900000 1.000000 +vt 0.900000 0.986842 +vt 0.925000 0.986842 +vt 1.000000 1.000000 +vt 0.975000 0.986842 +vt 1.000000 0.986842 +vt 1.000000 0.776316 +vt 0.975000 0.986842 +vt 0.975000 0.776316 +vt 0.925000 0.986842 +vt 0.925000 0.776316 +vt 0.900000 0.986842 +vt 0.900000 0.776316 +vt 0.900000 0.473684 +vt 1.000000 0.500000 +vt 0.900000 0.500000 +vt 1.000000 0.526316 +vt 0.900000 0.526316 +vt 1.000000 0.473684 +vt 0.900000 0.421053 +vt 1.000000 0.421053 +vt 0.000000 0.526316 +vt 0.900000 0.526316 +vt 0.900000 0.526316 +vt 0.500000 0.526316 +vt 0.400000 0.000000 +vt -0.000000 0.526316 +vt 0.400000 0.473684 +vt 0.500000 1.000000 +vt 0.400000 0.736842 +vt 0.400000 0.789474 +vt 1.000000 0.750000 +vt 1.000000 0.986842 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -0.7071 0.7071 +vn 0.7071 0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +s off +f 3839/5460/436 3849/5461/436 3843/5462/436 +f 3848/5463/437 3847/5464/437 3846/5465/437 +f 3843/5462/438 3848/5466/438 3842/5467/438 +f 3840/5468/437 3845/5469/437 3841/5470/437 +f 3839/5471/439 3842/5472/439 3838/5473/439 +f 3842/5474/440 3846/5475/440 3838/5476/440 +f 3838/5477/441 3847/5478/441 3839/5460/441 +f 3852/5479/439 3851/5480/439 3850/5481/439 +f 3845/5482/436 3850/5483/436 3841/5484/436 +f 3840/5485/440 3853/5486/440 3844/5487/440 +f 3844/5488/438 3852/5489/438 3845/5482/438 +f 3841/5484/441 3851/5490/441 3840/5491/441 +f 3859/5492/438 3855/5493/438 3856/5494/438 +f 3854/5495/438 3861/5496/438 3857/5497/438 +f 3865/5498/442 3862/5499/442 3863/5500/442 +f 3867/5501/441 3864/5502/441 3865/5498/441 +f 3869/5503/443 3866/5504/443 3867/5501/443 +f 3884/5505/440 3876/5506/440 3882/5507/440 +f 3878/5508/440 3880/5509/440 3874/5510/440 +f 3862/5511/436 3864/5512/436 3870/5513/436 +f 3868/5514/436 3872/5515/436 3866/5516/436 +f 3869/5517/440 3867/5518/440 3873/5519/440 +f 3863/5520/440 3871/5521/440 3865/5522/440 +f 3879/5523/436 3875/5524/436 3881/5525/436 +f 3885/5526/436 3883/5527/436 3877/5528/436 +f 3878/5529/443 3881/5530/443 3880/5531/443 +f 3880/5531/441 3883/5532/441 3882/5533/441 +f 3882/5533/442 3885/5534/442 3884/5535/442 +f 3887/5536/444 3891/5537/444 3890/5538/444 +f 3890/5538/445 3888/5539/445 3886/5540/445 +f 3889/5541/441 3886/5542/441 3888/5543/441 +f 3839/5460/436 3847/5478/436 3849/5461/436 +f 3848/5463/437 3849/5544/437 3847/5464/437 +f 3843/5462/438 3849/5461/438 3848/5466/438 +f 3840/5468/437 3844/5545/437 3845/5469/437 +f 3839/5471/439 3843/5546/439 3842/5472/439 +f 3842/5474/440 3848/5547/440 3846/5475/440 +f 3838/5477/441 3846/5548/441 3847/5478/441 +f 3852/5479/439 3853/5549/439 3851/5480/439 +f 3845/5482/436 3852/5489/436 3850/5483/436 +f 3840/5485/440 3851/5550/440 3853/5486/440 +f 3844/5488/438 3853/5551/438 3852/5489/438 +f 3841/5484/441 3850/5483/441 3851/5490/441 +f 3859/5492/438 3858/5552/438 3855/5493/438 +f 3854/5495/438 3860/5553/438 3861/5496/438 +f 3865/5498/442 3864/5502/442 3862/5499/442 +f 3867/5501/441 3866/5504/441 3864/5502/441 +f 3869/5503/443 3868/5554/443 3866/5504/443 +f 3878/5529/443 3879/5555/443 3881/5530/443 +f 3880/5531/441 3881/5530/441 3883/5532/441 +f 3882/5533/442 3883/5532/442 3885/5534/442 +f 3887/5536/444 3889/5541/444 3891/5537/444 +f 3890/5538/445 3891/5537/445 3888/5539/445 +f 3889/5541/441 3887/5536/441 3886/5542/441 +o Micro_Missile +v 0.324760 3.500000 -0.187500 +v 0.156250 3.500000 -0.270633 +v 0.270633 3.500000 -0.156250 +v 0.187500 3.500000 -0.324759 +v 0.000000 3.500000 -0.312500 +v -0.187500 3.500000 -0.324760 +v 0.000000 3.500000 -0.375000 +v -0.324760 3.500000 -0.187500 +v -0.156250 3.500000 -0.270633 +v -0.375000 3.500000 0.000000 +v -0.270633 3.500000 -0.156250 +v -0.324760 3.500000 0.187500 +v -0.312500 3.500000 0.000000 +v -0.187500 3.500000 0.324760 +v -0.270633 3.500000 0.156250 +v 0.000000 3.500000 0.375000 +v -0.156250 3.500000 0.270633 +v 0.156250 3.500000 0.270633 +v 0.000000 3.500000 0.312500 +v 0.187500 3.500000 0.324760 +v 0.270633 3.500000 0.156250 +v 0.375000 3.500000 0.000000 +v 0.324759 3.500000 0.187500 +v 0.312500 3.500000 0.000000 +v 0.312500 3.750000 0.000000 +v 0.324759 3.750000 0.187500 +v 0.270633 3.750000 0.156250 +v 0.270633 3.750000 -0.156250 +v 0.375000 3.750000 0.000000 +v 0.156250 3.750000 -0.270633 +v 0.324760 3.750000 -0.187500 +v 0.000000 3.750000 -0.312500 +v 0.187500 3.750000 -0.324759 +v -0.156250 3.750000 -0.270633 +v 0.000000 3.750000 -0.375000 +v -0.324760 3.750000 -0.187500 +v -0.187500 3.750000 -0.324760 +v -0.270633 3.750000 -0.156250 +v -0.375000 3.750000 0.000000 +v -0.270633 3.750000 0.156250 +v -0.312500 3.750000 0.000000 +v -0.156250 3.750000 0.270633 +v -0.324760 3.750000 0.187500 +v 0.000000 3.750000 0.375000 +v -0.187500 3.750000 0.324760 +v 0.156250 3.750000 0.270633 +v 0.000000 3.750000 0.312500 +v 0.187500 3.750000 0.324760 +v 0.312500 4.750000 0.000000 +v 0.324759 4.750000 0.187500 +v 0.270633 4.750000 0.156250 +v 0.270633 4.750000 -0.156250 +v 0.375000 4.750000 0.000000 +v 0.156250 4.750000 -0.270633 +v 0.324760 4.750000 -0.187500 +v 0.000000 4.750000 -0.312500 +v 0.187500 4.750000 -0.324759 +v -0.156250 4.750000 -0.270633 +v 0.000000 4.750000 -0.375000 +v -0.324760 4.750000 -0.187500 +v -0.187500 4.750000 -0.324760 +v -0.270633 4.750000 -0.156250 +v -0.375000 4.750000 0.000000 +v -0.270633 4.750000 0.156250 +v -0.312500 4.750000 0.000000 +v -0.156250 4.750000 0.270633 +v -0.324760 4.750000 0.187500 +v 0.000000 4.750000 0.375000 +v -0.187500 4.750000 0.324760 +v 0.156250 4.750000 0.270633 +v 0.000000 4.750000 0.312500 +v 0.187500 4.750000 0.324760 +v 0.312500 5.750000 0.000000 +v 0.324759 5.750000 0.187500 +v 0.270633 5.750000 0.156250 +v 0.270633 5.750000 -0.156250 +v 0.375000 5.750000 0.000000 +v 0.156250 5.750000 -0.270633 +v 0.324760 5.750000 -0.187500 +v 0.000000 5.750000 -0.312500 +v 0.187500 5.750000 -0.324759 +v -0.156250 5.750000 -0.270633 +v 0.000000 5.750000 -0.375000 +v -0.324760 5.750000 -0.187500 +v -0.187500 5.750000 -0.324760 +v -0.270633 5.750000 -0.156250 +v -0.375000 5.750000 0.000000 +v -0.270633 5.750000 0.156250 +v -0.312500 5.750000 0.000000 +v -0.156250 5.750000 0.270633 +v -0.324760 5.750000 0.187500 +v 0.000000 5.750000 0.375000 +v -0.187500 5.750000 0.324760 +v 0.156250 5.750000 0.270633 +v 0.000000 5.750000 0.312500 +v 0.187500 5.750000 0.324760 +v 0.375000 4.500000 0.000000 +v 0.270633 4.500000 0.156250 +v 0.324759 4.500000 0.187500 +v 0.324760 4.500000 -0.187500 +v 0.312500 4.500000 0.000000 +v 0.156250 4.500000 -0.270633 +v 0.270633 4.500000 -0.156250 +v 0.187500 4.500000 -0.324759 +v 0.000000 4.500000 -0.312500 +v -0.187500 4.500000 -0.324760 +v 0.000000 4.500000 -0.375000 +v -0.324760 4.500000 -0.187500 +v -0.156250 4.500000 -0.270633 +v -0.375000 4.500000 0.000000 +v -0.270633 4.500000 -0.156250 +v -0.324760 4.500000 0.187500 +v -0.312500 4.500000 0.000000 +v -0.187500 4.500000 0.324760 +v -0.270633 4.500000 0.156250 +v 0.000000 4.500000 0.375000 +v -0.156250 4.500000 0.270633 +v 0.156250 4.500000 0.270633 +v 0.000000 4.500000 0.312500 +v 0.187500 4.500000 0.324760 +v 0.375000 5.500000 0.000000 +v 0.270633 5.500000 0.156250 +v 0.324759 5.500000 0.187500 +v 0.324760 5.500000 -0.187500 +v 0.312500 5.500000 0.000000 +v 0.156250 5.500000 -0.270633 +v 0.270633 5.500000 -0.156250 +v 0.187500 5.500000 -0.324759 +v 0.000000 5.500000 -0.312500 +v -0.187500 5.500000 -0.324760 +v 0.000000 5.500000 -0.375000 +v -0.324760 5.500000 -0.187500 +v -0.156250 5.500000 -0.270633 +v -0.375000 5.500000 0.000000 +v -0.270633 5.500000 -0.156250 +v -0.324760 5.500000 0.187500 +v -0.312500 5.500000 0.000000 +v -0.187500 5.500000 0.324760 +v -0.270633 5.500000 0.156250 +v 0.000000 5.500000 0.375000 +v -0.156250 5.500000 0.270633 +v 0.156250 5.500000 0.270633 +v 0.000000 5.500000 0.312500 +v 0.187500 5.500000 0.324760 +v -0.530330 2.031250 -0.530330 +v -0.154680 2.031250 -0.198874 +v -0.198874 2.031250 -0.154680 +v -0.154680 3.531250 -0.198874 +v -0.530330 3.031250 -0.530330 +v -0.198874 3.531250 -0.154680 +v 0.530330 3.031250 0.530330 +v 0.154680 2.031250 0.198874 +v 0.530330 2.031250 0.530330 +v 0.198874 2.031250 0.154680 +v 0.154680 3.531250 0.198874 +v 0.198874 3.531250 0.154680 +v -0.530330 2.031250 0.530330 +v -0.198874 2.031250 0.154680 +v -0.154680 2.031250 0.198874 +v -0.198874 3.531250 0.154680 +v -0.530330 3.031250 0.530330 +v -0.154680 3.531250 0.198874 +v 0.530330 3.031250 -0.530330 +v 0.198874 2.031250 -0.154680 +v 0.530330 2.031250 -0.530330 +v 0.154680 2.031250 -0.198874 +v 0.198874 3.531250 -0.154680 +v 0.154680 3.531250 -0.198874 +v 0.000000 2.000000 0.250000 +v 0.187500 2.000000 0.324760 +v 0.000000 2.000000 0.375000 +v 0.125000 2.000000 0.216506 +v 0.324759 2.000000 0.187500 +v 0.216506 2.000000 0.125000 +v 0.375000 2.000000 0.000000 +v 0.250000 2.000000 0.000000 +v 0.324760 2.000000 -0.187500 +v 0.125000 2.000000 -0.216506 +v 0.187500 2.000000 -0.324759 +v 0.000000 2.000000 -0.375000 +v 0.000000 2.000000 -0.250000 +v -0.187500 2.000000 -0.324760 +v -0.125000 2.000000 -0.216506 +v -0.324760 2.000000 -0.187500 +v -0.216506 2.000000 -0.125000 +v -0.375000 2.000000 0.000000 +v -0.250000 2.000000 0.000000 +v -0.324760 2.000000 0.187500 +v -0.216506 2.000000 0.125000 +v -0.187500 2.000000 0.324760 +v -0.125000 2.000000 0.216506 +v 0.216506 2.000000 -0.125000 +v 0.324760 6.500000 -0.187500 +v 0.000000 6.500000 -0.375000 +v 0.187500 6.500000 0.324760 +v -0.324760 6.500000 0.187500 +v 0.187500 6.500000 -0.324759 +v -0.187500 6.500000 -0.324760 +v 0.324759 6.500000 0.187500 +v -0.187500 6.500000 0.324760 +v -0.324760 6.500000 -0.187500 +v 0.375000 6.500000 0.000000 +v 0.000000 6.500000 0.375000 +v -0.375000 6.500000 0.000000 +v -0.164063 6.750000 0.284165 +v -0.284165 6.750000 -0.164062 +v 0.284165 6.750000 -0.164062 +v 0.328125 6.750000 0.000000 +v 0.000000 6.750000 0.328125 +v -0.284165 6.750000 0.164063 +v -0.328125 6.750000 0.000000 +v 0.000000 6.750000 -0.328125 +v 0.284165 6.750000 0.164063 +v 0.164062 6.750000 0.284165 +v 0.164063 6.750000 -0.284164 +v -0.164062 6.750000 -0.284165 +v 0.000000 7.000000 0.000000 +v 0.000000 2.500000 0.000000 +v 0.385000 4.937500 0.000000 +v 0.334759 5.312500 0.187500 +v 0.334759 4.937500 0.187500 +v 0.334760 4.937500 -0.187500 +v 0.385000 5.312500 0.000000 +v -0.385000 4.937500 0.000000 +v -0.334760 5.312500 -0.187500 +v -0.334760 4.937500 -0.187500 +v -0.334760 4.937500 0.187500 +v -0.385000 5.312500 0.000000 +v 0.334760 5.312500 -0.187500 +v -0.334760 5.312500 0.187500 +vt 0.576923 0.354167 +vt 0.634615 0.364583 +vt 0.576923 0.364583 +vt 0.634615 0.354167 +vt 0.692308 0.364583 +vt 0.057692 0.354167 +vt 0.000000 0.364583 +vt 0.000000 0.354167 +vt 0.115385 0.354167 +vt 0.057692 0.364583 +vt 0.173077 0.354167 +vt 0.115385 0.364583 +vt 0.230769 0.354167 +vt 0.173077 0.364583 +vt 0.288462 0.354167 +vt 0.230769 0.364583 +vt 0.346154 0.354167 +vt 0.288462 0.364583 +vt 0.403846 0.364583 +vt 0.346154 0.364583 +vt 0.403846 0.354167 +vt 0.461538 0.364583 +vt 0.519231 0.354167 +vt 0.461538 0.354167 +vt 0.519231 0.364583 +vt 0.519231 0.406250 +vt 0.461538 0.416667 +vt 0.461538 0.406250 +vt 0.576923 0.406250 +vt 0.519231 0.416667 +vt 0.634615 0.406250 +vt 0.576923 0.416667 +vt 0.692308 0.406250 +vt 0.634615 0.416667 +vt 0.057692 0.406250 +vt 0.000000 0.416667 +vt 0.000000 0.406250 +vt 0.115385 0.416667 +vt 0.057692 0.416667 +vt 0.115385 0.406250 +vt 0.173077 0.416667 +vt 0.230769 0.406250 +vt 0.173077 0.406250 +vt 0.288462 0.406250 +vt 0.230769 0.416667 +vt 0.346154 0.416667 +vt 0.288462 0.416667 +vt 0.403846 0.406250 +vt 0.346154 0.406250 +vt 0.403846 0.416667 +vt 0.519231 0.593750 +vt 0.461538 0.604167 +vt 0.461538 0.593750 +vt 0.576923 0.593750 +vt 0.519231 0.604167 +vt 0.634615 0.593750 +vt 0.576923 0.604167 +vt 0.692308 0.593750 +vt 0.634615 0.604167 +vt 0.057692 0.593750 +vt 0.000000 0.604167 +vt 0.000000 0.593750 +vt 0.115385 0.604167 +vt 0.057692 0.604167 +vt 0.115385 0.593750 +vt 0.173077 0.604167 +vt 0.230769 0.593750 +vt 0.173077 0.593750 +vt 0.288462 0.593750 +vt 0.230769 0.604167 +vt 0.346154 0.604167 +vt 0.288462 0.604167 +vt 0.403846 0.593750 +vt 0.346154 0.593750 +vt 0.403846 0.604167 +vt 0.519231 0.781250 +vt 0.461538 0.791667 +vt 0.461538 0.781250 +vt 0.576923 0.781250 +vt 0.519231 0.791667 +vt 0.634615 0.781250 +vt 0.576923 0.791667 +vt 0.692308 0.781250 +vt 0.634615 0.791667 +vt 0.057692 0.781250 +vt 0.000000 0.791667 +vt 0.000000 0.781250 +vt 0.115385 0.791667 +vt 0.057692 0.791667 +vt 0.115385 0.781250 +vt 0.173077 0.791667 +vt 0.230769 0.781250 +vt 0.173077 0.781250 +vt 0.288462 0.781250 +vt 0.230769 0.791667 +vt 0.346154 0.791667 +vt 0.288462 0.791667 +vt 0.403846 0.781250 +vt 0.346154 0.781250 +vt 0.403846 0.791667 +vt 0.519231 0.541667 +vt 0.461538 0.552083 +vt 0.461538 0.541667 +vt 0.576923 0.541667 +vt 0.519231 0.552083 +vt 0.634615 0.552083 +vt 0.576923 0.552083 +vt 0.634615 0.541667 +vt 0.692308 0.552083 +vt 0.057692 0.541667 +vt 0.000000 0.552083 +vt 0.000000 0.541667 +vt 0.115385 0.541667 +vt 0.057692 0.552083 +vt 0.173077 0.541667 +vt 0.115385 0.552083 +vt 0.230769 0.541667 +vt 0.173077 0.552083 +vt 0.288462 0.541667 +vt 0.230769 0.552083 +vt 0.346154 0.541667 +vt 0.288462 0.552083 +vt 0.403846 0.552083 +vt 0.346154 0.552083 +vt 0.403846 0.541667 +vt 0.519231 0.729167 +vt 0.461538 0.739583 +vt 0.461538 0.729167 +vt 0.576923 0.729167 +vt 0.519231 0.739583 +vt 0.634615 0.739583 +vt 0.576923 0.739583 +vt 0.634615 0.729167 +vt 0.692308 0.739583 +vt 0.057692 0.729167 +vt 0.000000 0.739583 +vt 0.000000 0.729167 +vt 0.115385 0.729167 +vt 0.057692 0.739583 +vt 0.173077 0.729167 +vt 0.115385 0.739583 +vt 0.230769 0.729167 +vt 0.173077 0.739583 +vt 0.288462 0.729167 +vt 0.230769 0.739583 +vt 0.346154 0.729167 +vt 0.288462 0.739583 +vt 0.403846 0.739583 +vt 0.346154 0.739583 +vt 0.403846 0.729167 +vt 0.846154 0.000000 +vt 0.692308 0.010417 +vt 0.692308 0.000000 +vt 0.692308 0.260417 +vt 0.846154 0.270833 +vt 0.692308 0.270833 +vt 0.692308 0.010417 +vt 0.846154 0.177083 +vt 0.846154 0.010417 +vt 0.846154 0.177083 +vt 0.692308 0.010417 +vt 0.846154 0.010417 +vt 0.692308 0.010417 +vt 0.692308 0.260417 +vt 0.846154 0.270833 +vt 0.692308 0.270833 +vt 0.846154 0.000000 +vt 0.692308 0.000000 +vt 0.846154 0.000000 +vt 0.692308 0.010417 +vt 0.692308 0.000000 +vt 0.692308 0.260417 +vt 0.846154 0.270833 +vt 0.692308 0.270833 +vt 0.692308 0.010417 +vt 0.846154 0.177083 +vt 0.846154 0.010417 +vt 0.846154 0.177083 +vt 0.692308 0.010417 +vt 0.846154 0.010417 +vt 0.692308 0.010417 +vt 0.692308 0.260417 +vt 0.846154 0.270833 +vt 0.692308 0.270833 +vt 0.846154 0.000000 +vt 0.692308 0.000000 +vt 0.346154 0.083333 +vt 0.403846 0.104167 +vt 0.346154 0.104167 +vt 0.403846 0.083333 +vt 0.461538 0.104167 +vt 0.461538 0.083333 +vt 0.519231 0.104167 +vt 0.519231 0.083333 +vt 0.576923 0.104167 +vt 0.615385 0.083333 +vt 0.634615 0.104167 +vt 0.634615 0.083333 +vt 0.692308 0.104167 +vt 0.000000 0.083333 +vt 0.057692 0.104167 +vt 0.000000 0.104167 +vt 0.057692 0.083333 +vt 0.115385 0.104167 +vt 0.115385 0.083333 +vt 0.173077 0.104167 +vt 0.173077 0.083333 +vt 0.230769 0.104167 +vt 0.230769 0.083333 +vt 0.288462 0.104167 +vt 0.288462 0.083333 +vt 0.692308 0.354167 +vt 0.692308 0.416667 +vt 0.692308 0.604167 +vt 0.692308 0.791667 +vt 0.692308 0.541667 +vt 0.692308 0.729167 +vt 0.692308 0.260417 +vt 0.692308 0.260417 +vt 0.692308 0.260417 +vt 0.692308 0.260417 +vt 0.384615 0.083333 +vt 0.442308 0.083333 +vt 0.500000 0.083333 +vt 0.557692 0.083333 +vt 0.576923 0.083333 +vt 0.673077 0.083333 +vt 0.038462 0.083333 +vt 0.096154 0.083333 +vt 0.153846 0.083333 +vt 0.211538 0.083333 +vt 0.269231 0.083333 +vt 0.326923 0.083333 +vt 0.576923 0.916667 +vt 0.000000 0.916667 +vt 0.403846 0.916667 +vt 0.230769 0.916667 +vt 0.634615 0.916667 +vt 0.057692 0.916667 +vt 0.461538 0.916667 +vt 0.288462 0.916667 +vt 0.115385 0.916667 +vt 0.519231 0.916667 +vt 0.346154 0.916667 +vt 0.173077 0.916667 +vt 0.288462 0.958333 +vt 0.115385 0.958333 +vt 0.557692 0.958333 +vt 0.519231 0.958333 +vt 0.346154 0.958333 +vt 0.211538 0.958333 +vt 0.173077 0.958333 +vt 0.576923 0.958333 +vt 0.000000 0.958333 +vt 0.442308 0.958333 +vt 0.403846 0.958333 +vt 0.230769 0.958333 +vt 0.692308 0.916667 +vt 0.634615 0.958333 +vt 0.057692 0.958333 +vt 0.461538 0.958333 +vt 0.038462 0.958333 +vt 0.019231 1.000000 +vt 0.096154 0.958333 +vt 0.076923 1.000000 +vt 0.153846 0.958333 +vt 0.134615 1.000000 +vt 0.192308 1.000000 +vt 0.269231 0.958333 +vt 0.250000 1.000000 +vt 0.326923 0.958333 +vt 0.307692 1.000000 +vt 0.384615 0.958333 +vt 0.365385 1.000000 +vt 0.423077 1.000000 +vt 0.500000 0.958333 +vt 0.480769 1.000000 +vt 0.538462 1.000000 +vt 0.615385 0.958333 +vt 0.596154 1.000000 +vt 0.673077 0.958333 +vt 0.653846 1.000000 +vt 0.019231 0.000000 +vt 0.653846 0.000000 +vt 0.596154 0.000000 +vt 0.538462 0.000000 +vt 0.480769 0.000000 +vt 0.423077 0.000000 +vt 0.365385 0.000000 +vt 0.307692 0.000000 +vt 0.250000 0.000000 +vt 0.192308 0.000000 +vt 0.134615 0.000000 +vt 0.076923 0.000000 +vt 0.846154 0.270833 +vt 0.692308 0.437500 +vt 0.692308 0.270833 +vt 1.000000 0.270833 +vt 0.846154 0.437500 +vt 0.846154 0.270833 +vt 0.692308 0.437500 +vt 0.692308 0.270833 +vt 1.000000 0.270833 +vt 0.846154 0.437500 +vt 1.000000 0.437500 +vt 1.000000 0.437500 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn -0.5000 0.7071 -0.5000 +vn -0.7498 -0.0000 0.6616 +vn 0.6616 0.0000 -0.7498 +vn -0.6616 -0.0000 0.7498 +vn 0.7498 0.0000 -0.6616 +vn 0.5000 0.7071 0.5000 +vn -0.5000 0.7071 0.5000 +vn 0.6616 -0.0000 0.7498 +vn -0.7498 0.0000 -0.6616 +vn 0.7498 0.0000 0.6616 +vn -0.6616 0.0000 -0.7498 +vn 0.5000 0.7071 -0.5000 +vn 0.8660 0.0000 -0.5000 +vn 1.0000 0.0000 0.0000 +vn 0.5000 -0.0000 0.8660 +vn 0.0000 -0.0000 1.0000 +vn -0.8660 -0.0000 0.5000 +vn -1.0000 -0.0000 0.0000 +vn 0.5000 0.0000 -0.8660 +vn -0.5000 0.0000 -0.8660 +vn 0.0000 0.0000 -1.0000 +vn 0.8660 -0.0000 0.5000 +vn -0.5000 -0.0000 0.8660 +vn -0.8660 0.0000 -0.5000 +vn 0.8624 0.0912 -0.4979 +vn 0.0000 0.0912 -0.9958 +vn 0.4979 0.0912 0.8624 +vn -0.8624 0.0912 0.4979 +vn 0.4979 0.0912 -0.8624 +vn -0.4979 0.0912 -0.8624 +vn 0.8624 0.0912 0.4979 +vn -0.4979 0.0912 0.8624 +vn -0.8624 0.0912 -0.4979 +vn 0.9958 0.0912 0.0000 +vn 0.0000 0.0912 0.9958 +vn -0.9958 0.0912 -0.0000 +vn -0.4330 0.5000 0.7500 +vn -0.7500 0.5000 -0.4330 +vn 0.7500 0.5000 -0.4330 +vn 0.8660 0.5000 0.0000 +vn 0.0000 0.5000 0.8660 +vn -0.7500 0.5000 0.4330 +vn -0.8660 0.5000 -0.0000 +vn 0.0000 0.5000 -0.8660 +vn 0.7500 0.5000 0.4330 +vn 0.4330 0.5000 0.7500 +vn 0.4330 0.5000 -0.7500 +vn -0.4330 0.5000 -0.7500 +vn 0.4472 -0.4472 0.7746 +vn 0.0000 -0.4472 0.8944 +vn -0.4472 -0.4472 0.7746 +vn -0.7746 -0.4472 0.4472 +vn -0.8944 -0.4472 0.0000 +vn -0.7746 -0.4472 -0.4472 +vn -0.4472 -0.4472 -0.7746 +vn 0.0000 -0.4472 -0.8944 +vn 0.4472 -0.4472 -0.7746 +vn 0.7746 -0.4472 -0.4472 +vn 0.8944 -0.4472 0.0000 +vn 0.7746 -0.4472 0.4472 +vn 0.9659 -0.0000 0.2588 +vn 0.9659 0.0000 -0.2588 +vn -0.9659 0.0000 -0.2588 +vn -0.9659 0.0000 0.2588 +s off +f 3892/5556/446 3893/5557/446 3894/5558/446 +f 3895/5559/446 3896/5560/446 3893/5557/446 +f 3897/5561/446 3896/5562/446 3898/5563/446 +f 3899/5564/446 3900/5565/446 3897/5561/446 +f 3901/5566/446 3902/5567/446 3899/5564/446 +f 3903/5568/446 3904/5569/446 3901/5566/446 +f 3905/5570/446 3906/5571/446 3903/5568/446 +f 3907/5572/446 3908/5573/446 3905/5570/446 +f 3907/5572/446 3909/5574/446 3910/5575/446 +f 3911/5576/446 3912/5577/446 3909/5574/446 +f 3913/5578/446 3912/5577/446 3914/5579/446 +f 3892/5556/446 3915/5580/446 3913/5578/446 +f 3916/5581/447 3917/5582/447 3918/5583/447 +f 3919/5584/447 3920/5585/447 3916/5581/447 +f 3921/5586/447 3922/5587/447 3919/5584/447 +f 3923/5588/447 3924/5589/447 3921/5586/447 +f 3925/5590/447 3926/5591/447 3923/5592/447 +f 3925/5590/447 3927/5593/447 3928/5594/447 +f 3929/5595/447 3930/5596/447 3927/5593/447 +f 3931/5597/447 3930/5596/447 3932/5598/447 +f 3933/5599/447 3934/5600/447 3931/5597/447 +f 3933/5599/447 3935/5601/447 3936/5602/447 +f 3937/5603/447 3935/5601/447 3938/5604/447 +f 3918/5583/447 3939/5605/447 3937/5603/447 +f 3940/5606/447 3941/5607/447 3942/5608/447 +f 3943/5609/447 3944/5610/447 3940/5606/447 +f 3945/5611/447 3946/5612/447 3943/5609/447 +f 3947/5613/447 3948/5614/447 3945/5611/447 +f 3949/5615/447 3950/5616/447 3947/5617/447 +f 3949/5615/447 3951/5618/447 3952/5619/447 +f 3953/5620/447 3954/5621/447 3951/5618/447 +f 3955/5622/447 3954/5621/447 3956/5623/447 +f 3957/5624/447 3958/5625/447 3955/5622/447 +f 3957/5624/447 3959/5626/447 3960/5627/447 +f 3961/5628/447 3959/5626/447 3962/5629/447 +f 3942/5608/447 3963/5630/447 3961/5628/447 +f 3964/5631/447 3965/5632/447 3966/5633/447 +f 3967/5634/447 3968/5635/447 3964/5631/447 +f 3969/5636/447 3970/5637/447 3967/5634/447 +f 3971/5638/447 3972/5639/447 3969/5636/447 +f 3973/5640/447 3974/5641/447 3971/5642/447 +f 3973/5640/447 3975/5643/447 3976/5644/447 +f 3977/5645/447 3978/5646/447 3975/5643/447 +f 3979/5647/447 3978/5646/447 3980/5648/447 +f 3981/5649/447 3982/5650/447 3979/5647/447 +f 3981/5649/447 3983/5651/447 3984/5652/447 +f 3985/5653/447 3983/5651/447 3986/5654/447 +f 3966/5633/447 3987/5655/447 3985/5653/447 +f 3988/5656/446 3989/5657/446 3990/5658/446 +f 3991/5659/446 3992/5660/446 3988/5656/446 +f 3991/5659/446 3993/5661/446 3994/5662/446 +f 3995/5663/446 3996/5664/446 3993/5661/446 +f 3997/5665/446 3996/5666/446 3998/5667/446 +f 3999/5668/446 4000/5669/446 3997/5665/446 +f 4001/5670/446 4002/5671/446 3999/5668/446 +f 4003/5672/446 4004/5673/446 4001/5670/446 +f 4005/5674/446 4006/5675/446 4003/5672/446 +f 4007/5676/446 4008/5677/446 4005/5674/446 +f 4007/5676/446 4009/5678/446 4010/5679/446 +f 4011/5680/446 3989/5657/446 4009/5678/446 +f 4012/5681/446 4013/5682/446 4014/5683/446 +f 4015/5684/446 4016/5685/446 4012/5681/446 +f 4015/5684/446 4017/5686/446 4018/5687/446 +f 4019/5688/446 4020/5689/446 4017/5686/446 +f 4021/5690/446 4020/5691/446 4022/5692/446 +f 4023/5693/446 4024/5694/446 4021/5690/446 +f 4025/5695/446 4026/5696/446 4023/5693/446 +f 4027/5697/446 4028/5698/446 4025/5695/446 +f 4029/5699/446 4030/5700/446 4027/5697/446 +f 4031/5701/446 4032/5702/446 4029/5699/446 +f 4031/5701/446 4033/5703/446 4034/5704/446 +f 4035/5705/446 4013/5682/446 4033/5703/446 +f 4036/5706/447 4037/5707/447 4038/5708/447 +f 4039/5709/448 4040/5710/448 4041/5711/448 +f 4038/5712/449 4040/5713/449 4036/5714/449 +f 4040/5713/450 4037/5707/450 4036/5714/450 +f 4042/5715/451 4043/5716/451 4044/5717/451 +f 4045/5718/452 4042/5715/452 4044/5717/452 +f 4046/5719/453 4042/5720/453 4047/5721/453 +f 4044/5722/447 4043/5716/447 4045/5723/447 +f 4048/5724/447 4049/5725/447 4050/5726/447 +f 4051/5727/454 4052/5728/454 4053/5729/454 +f 4050/5730/455 4052/5731/455 4048/5732/455 +f 4052/5731/456 4049/5725/456 4048/5732/456 +f 4054/5733/457 4055/5734/457 4056/5735/457 +f 4057/5736/458 4054/5733/458 4056/5735/458 +f 4058/5737/459 4054/5738/459 4059/5739/459 +f 4056/5740/447 4055/5734/447 4057/5741/447 +f 4060/5742/447 4061/5743/447 4062/5744/447 +f 4063/5745/447 4064/5746/447 4061/5743/447 +f 4065/5747/447 4066/5748/447 4064/5746/447 +f 4067/5749/447 4068/5750/447 4066/5748/447 +f 4068/5750/447 4069/5751/447 4070/5752/447 +f 4069/5753/447 4071/5754/447 4070/5752/447 +f 4072/5755/447 4073/5756/447 4071/5757/447 +f 4074/5758/447 4075/5759/447 4073/5756/447 +f 4076/5760/447 4077/5761/447 4075/5759/447 +f 4078/5762/447 4079/5763/447 4077/5761/447 +f 4080/5764/447 4081/5765/447 4079/5763/447 +f 4082/5766/447 4062/5744/447 4081/5765/447 +f 3892/5556/446 3895/5559/446 3893/5557/446 +f 3895/5559/446 3898/5767/446 3896/5560/446 +f 3897/5561/446 3900/5565/446 3896/5562/446 +f 3899/5564/446 3902/5567/446 3900/5565/446 +f 3901/5566/446 3904/5569/446 3902/5567/446 +f 3903/5568/446 3906/5571/446 3904/5569/446 +f 3905/5570/446 3908/5573/446 3906/5571/446 +f 3907/5572/446 3910/5575/446 3908/5573/446 +f 3907/5572/446 3911/5576/446 3909/5574/446 +f 3911/5576/446 3914/5579/446 3912/5577/446 +f 3913/5578/446 3915/5580/446 3912/5577/446 +f 3892/5556/446 3894/5558/446 3915/5580/446 +f 3916/5581/447 3920/5585/447 3917/5582/447 +f 3919/5584/447 3922/5587/447 3920/5585/447 +f 3921/5586/447 3924/5589/447 3922/5587/447 +f 3923/5588/447 3926/5768/447 3924/5589/447 +f 3925/5590/447 3928/5594/447 3926/5591/447 +f 3925/5590/447 3929/5595/447 3927/5593/447 +f 3929/5595/447 3932/5598/447 3930/5596/447 +f 3931/5597/447 3934/5600/447 3930/5596/447 +f 3933/5599/447 3936/5602/447 3934/5600/447 +f 3933/5599/447 3938/5604/447 3935/5601/447 +f 3937/5603/447 3939/5605/447 3935/5601/447 +f 3918/5583/447 3917/5582/447 3939/5605/447 +f 3940/5606/447 3944/5610/447 3941/5607/447 +f 3943/5609/447 3946/5612/447 3944/5610/447 +f 3945/5611/447 3948/5614/447 3946/5612/447 +f 3947/5613/447 3950/5769/447 3948/5614/447 +f 3949/5615/447 3952/5619/447 3950/5616/447 +f 3949/5615/447 3953/5620/447 3951/5618/447 +f 3953/5620/447 3956/5623/447 3954/5621/447 +f 3955/5622/447 3958/5625/447 3954/5621/447 +f 3957/5624/447 3960/5627/447 3958/5625/447 +f 3957/5624/447 3962/5629/447 3959/5626/447 +f 3961/5628/447 3963/5630/447 3959/5626/447 +f 3942/5608/447 3941/5607/447 3963/5630/447 +f 3964/5631/447 3968/5635/447 3965/5632/447 +f 3967/5634/447 3970/5637/447 3968/5635/447 +f 3969/5636/447 3972/5639/447 3970/5637/447 +f 3971/5638/447 3974/5770/447 3972/5639/447 +f 3973/5640/447 3976/5644/447 3974/5641/447 +f 3973/5640/447 3977/5645/447 3975/5643/447 +f 3977/5645/447 3980/5648/447 3978/5646/447 +f 3979/5647/447 3982/5650/447 3978/5646/447 +f 3981/5649/447 3984/5652/447 3982/5650/447 +f 3981/5649/447 3986/5654/447 3983/5651/447 +f 3985/5653/447 3987/5655/447 3983/5651/447 +f 3966/5633/447 3965/5632/447 3987/5655/447 +f 3988/5656/446 3992/5660/446 3989/5657/446 +f 3991/5659/446 3994/5662/446 3992/5660/446 +f 3991/5659/446 3995/5663/446 3993/5661/446 +f 3995/5663/446 3998/5771/446 3996/5664/446 +f 3997/5665/446 4000/5669/446 3996/5666/446 +f 3999/5668/446 4002/5671/446 4000/5669/446 +f 4001/5670/446 4004/5673/446 4002/5671/446 +f 4003/5672/446 4006/5675/446 4004/5673/446 +f 4005/5674/446 4008/5677/446 4006/5675/446 +f 4007/5676/446 4010/5679/446 4008/5677/446 +f 4007/5676/446 4011/5680/446 4009/5678/446 +f 4011/5680/446 3990/5658/446 3989/5657/446 +f 4012/5681/446 4016/5685/446 4013/5682/446 +f 4015/5684/446 4018/5687/446 4016/5685/446 +f 4015/5684/446 4019/5688/446 4017/5686/446 +f 4019/5688/446 4022/5772/446 4020/5689/446 +f 4021/5690/446 4024/5694/446 4020/5691/446 +f 4023/5693/446 4026/5696/446 4024/5694/446 +f 4025/5695/446 4028/5698/446 4026/5696/446 +f 4027/5697/446 4030/5700/446 4028/5698/446 +f 4029/5699/446 4032/5702/446 4030/5700/446 +f 4031/5701/446 4034/5704/446 4032/5702/446 +f 4031/5701/446 4035/5705/446 4033/5703/446 +f 4035/5705/446 4014/5683/446 4013/5682/446 +f 4038/5712/449 4041/5773/449 4040/5713/449 +f 4040/5713/450 4039/5709/450 4037/5707/450 +f 4042/5715/451 4046/5719/451 4043/5716/451 +f 4045/5718/452 4047/5774/452 4042/5715/452 +f 4050/5730/455 4053/5775/455 4052/5731/455 +f 4052/5731/456 4051/5727/456 4049/5725/456 +f 4054/5733/457 4058/5737/457 4055/5734/457 +f 4057/5736/458 4059/5776/458 4054/5733/458 +f 4060/5742/447 4063/5777/447 4061/5743/447 +f 4063/5745/447 4065/5778/447 4064/5746/447 +f 4065/5747/447 4067/5779/447 4066/5748/447 +f 4067/5749/447 4083/5780/447 4068/5750/447 +f 4068/5750/447 4083/5781/447 4069/5751/447 +f 4069/5753/447 4072/5782/447 4071/5754/447 +f 4072/5755/447 4074/5783/447 4073/5756/447 +f 4074/5758/447 4076/5784/447 4075/5759/447 +f 4076/5760/447 4078/5785/447 4077/5761/447 +f 4078/5762/447 4080/5786/447 4079/5763/447 +f 4080/5764/447 4082/5787/447 4081/5765/447 +f 4082/5766/447 4060/5788/447 4062/5744/447 +s 1 +f 4068/5750/460 3913/5578/461 4066/5748/461 +f 4061/5743/462 3907/5572/463 4062/5744/463 +f 4079/5763/464 3901/5566/465 4077/5761/465 +f 4070/5752/466 3892/5556/460 4068/5750/460 +f 4073/5756/467 3898/5563/468 4071/5757/468 +f 4064/5746/469 3911/5576/462 4061/5743/462 +f 4081/5765/470 3903/5568/464 4079/5763/464 +f 4071/5754/468 3895/5559/466 4070/5752/466 +f 4075/5759/471 3897/5561/467 4073/5756/467 +f 4066/5748/461 3914/5579/469 4064/5746/469 +f 4062/5744/463 3905/5570/470 4081/5765/470 +f 4077/5761/465 3899/5564/471 4075/5759/471 +f 3912/5577/469 3937/5603/462 3909/5574/462 +f 3908/5573/470 3931/5597/464 3906/5571/464 +f 3896/5560/468 3921/5586/466 3893/5557/466 +f 3902/5567/471 3925/5590/467 3900/5565/467 +f 3915/5580/461 3918/5583/469 3912/5577/469 +f 3910/5575/463 3933/5599/470 3908/5573/470 +f 3904/5569/465 3929/5595/471 3902/5567/471 +f 3894/5558/460 3916/5581/461 3915/5580/461 +f 3909/5574/462 3938/5604/463 3910/5575/463 +f 3906/5571/464 3932/5598/465 3904/5569/465 +f 3893/5557/466 3919/5584/460 3894/5558/460 +f 3900/5565/467 3923/5592/468 3896/5562/468 +f 3924/5589/466 3991/5659/460 3922/5587/460 +f 3928/5594/467 3998/5667/468 3926/5591/468 +f 3917/5582/469 4011/5680/462 3939/5605/462 +f 3936/5602/470 4003/5672/464 3934/5600/464 +f 3926/5768/468 3995/5663/466 3924/5589/466 +f 3927/5593/471 3997/5665/467 3928/5594/467 +f 3920/5585/461 3990/5658/469 3917/5582/469 +f 3935/5601/463 4005/5674/470 3936/5602/470 +f 3930/5596/465 3999/5668/471 3927/5593/471 +f 3922/5587/460 3988/5656/461 3920/5585/461 +f 3939/5605/462 4007/5676/463 3935/5601/463 +f 3934/5600/464 4001/5670/465 3930/5596/465 +f 3989/5657/469 3961/5628/462 4009/5678/462 +f 4008/5677/470 3955/5622/464 4006/5675/464 +f 3996/5664/468 3945/5611/466 3993/5661/466 +f 4002/5671/471 3949/5615/467 4000/5669/467 +f 3992/5660/461 3942/5608/469 3989/5657/469 +f 4010/5679/463 3957/5624/470 4008/5677/470 +f 4004/5673/465 3953/5620/471 4002/5671/471 +f 3994/5662/460 3940/5606/461 3992/5660/461 +f 4009/5678/462 3962/5629/463 4010/5679/463 +f 4006/5675/464 3956/5623/465 4004/5673/465 +f 3993/5661/466 3943/5609/460 3994/5662/460 +f 4000/5669/467 3947/5617/468 3996/5666/468 +f 3948/5614/466 4015/5684/460 3946/5612/460 +f 3952/5619/467 4022/5692/468 3950/5616/468 +f 3941/5607/469 4035/5705/462 3963/5630/462 +f 3960/5627/470 4027/5697/464 3958/5625/464 +f 3950/5769/468 4019/5688/466 3948/5614/466 +f 3951/5618/471 4021/5690/467 3952/5619/467 +f 3944/5610/461 4014/5683/469 3941/5607/469 +f 3959/5626/463 4029/5699/470 3960/5627/470 +f 3954/5621/465 4023/5693/471 3951/5618/471 +f 3946/5612/460 4012/5681/461 3944/5610/461 +f 3963/5630/462 4031/5701/463 3959/5626/463 +f 3958/5625/464 4025/5695/465 3954/5621/465 +f 4013/5682/469 3985/5653/462 4033/5703/462 +f 4032/5702/470 3979/5647/464 4030/5700/464 +f 4020/5689/468 3969/5636/466 4017/5686/466 +f 4026/5696/471 3973/5640/467 4024/5694/467 +f 4016/5685/461 3966/5633/469 4013/5682/469 +f 4034/5704/463 3981/5649/470 4032/5702/470 +f 4028/5698/465 3977/5645/471 4026/5696/471 +f 4018/5687/460 3964/5631/461 4016/5685/461 +f 4033/5703/462 3986/5654/463 4034/5704/463 +f 4030/5700/464 3980/5648/465 4028/5698/465 +f 4017/5686/466 3967/5634/460 4018/5687/460 +f 4024/5694/467 3971/5642/468 4020/5691/468 +f 3972/5639/466 4084/5789/472 3970/5637/460 +f 3976/5644/467 4085/5790/473 3974/5641/468 +f 3965/5632/469 4086/5791/474 3987/5655/462 +f 3984/5652/470 4087/5792/475 3982/5650/464 +f 3974/5770/468 4088/5793/476 3972/5639/466 +f 3975/5643/471 4089/5794/477 3976/5644/467 +f 3968/5635/461 4090/5795/478 3965/5632/469 +f 3983/5651/463 4091/5796/479 3984/5652/470 +f 3978/5646/465 4092/5797/480 3975/5643/471 +f 3970/5637/460 4093/5798/481 3968/5635/461 +f 3987/5655/462 4094/5799/482 3983/5651/463 +f 3982/5650/464 4095/5800/483 3978/5646/465 +f 4094/5799/482 4096/5801/484 4091/5796/479 +f 4095/5800/483 4097/5802/485 4092/5797/480 +f 4093/5798/481 4098/5803/486 4099/5804/487 +f 4086/5791/474 4100/5805/488 4094/5799/482 +f 4095/5800/483 4101/5806/489 4102/5807/490 +f 4088/5793/476 4098/5808/486 4084/5789/472 +f 4089/5794/477 4103/5809/491 4085/5790/473 +f 4086/5791/474 4104/5810/492 4105/5811/493 +f 4091/5796/479 4101/5812/489 4087/5792/475 +f 4085/5813/473 4106/5814/494 4088/5793/476 +f 4092/5797/480 4107/5815/495 4089/5794/477 +f 4093/5798/481 4104/5816/492 4090/5795/478 +f 4103/5809/491 4107/5817/495 4108/5818/446 +f 4107/5815/495 4097/5819/485 4108/5820/446 +f 4097/5802/485 4102/5821/490 4108/5822/446 +f 4102/5807/490 4101/5806/489 4108/5823/446 +f 4101/5812/489 4096/5824/484 4108/5825/446 +f 4096/5801/484 4100/5826/488 4108/5827/446 +f 4100/5805/488 4105/5828/493 4108/5829/446 +f 4105/5811/493 4104/5810/492 4108/5830/446 +f 4104/5816/492 4099/5831/487 4108/5832/446 +f 4099/5804/487 4098/5803/486 4108/5833/446 +f 4098/5808/486 4106/5834/494 4108/5835/446 +f 4106/5814/494 4103/5836/491 4108/5837/446 +f 4074/5783/496 4072/5755/497 4109/5838/447 +f 4072/5782/497 4069/5753/498 4109/5839/447 +f 4069/5751/498 4083/5781/499 4109/5840/447 +f 4083/5780/499 4067/5749/500 4109/5841/447 +f 4067/5779/500 4065/5747/501 4109/5842/447 +f 4065/5778/501 4063/5745/502 4109/5843/447 +f 4063/5777/502 4060/5742/503 4109/5844/447 +f 4060/5788/503 4082/5766/504 4109/5845/447 +f 4082/5787/504 4080/5764/505 4109/5846/447 +f 4080/5786/505 4078/5762/506 4109/5847/447 +f 4078/5785/506 4076/5760/507 4109/5848/447 +f 4076/5784/507 4074/5758/496 4109/5849/447 +f 4110/5850/461 4111/5851/508 4112/5852/508 +f 4113/5853/509 4114/5854/461 4110/5850/461 +f 4115/5855/465 4116/5856/510 4117/5857/510 +f 4118/5858/511 4119/5859/465 4115/5855/465 +f 4068/5750/460 3892/5556/460 3913/5578/461 +f 4061/5743/462 3911/5576/462 3907/5572/463 +f 4079/5763/464 3903/5568/464 3901/5566/465 +f 4070/5752/466 3895/5559/466 3892/5556/460 +f 4073/5756/467 3897/5561/467 3898/5563/468 +f 4064/5746/469 3914/5579/469 3911/5576/462 +f 4081/5765/470 3905/5570/470 3903/5568/464 +f 4071/5754/468 3898/5767/468 3895/5559/466 +f 4075/5759/471 3899/5564/471 3897/5561/467 +f 4066/5748/461 3913/5578/461 3914/5579/469 +f 4062/5744/463 3907/5572/463 3905/5570/470 +f 4077/5761/465 3901/5566/465 3899/5564/471 +f 3912/5577/469 3918/5583/469 3937/5603/462 +f 3908/5573/470 3933/5599/470 3931/5597/464 +f 3896/5560/468 3923/5588/468 3921/5586/466 +f 3902/5567/471 3929/5595/471 3925/5590/467 +f 3915/5580/461 3916/5581/461 3918/5583/469 +f 3910/5575/463 3938/5604/463 3933/5599/470 +f 3904/5569/465 3932/5598/465 3929/5595/471 +f 3894/5558/460 3919/5584/460 3916/5581/461 +f 3909/5574/462 3937/5603/462 3938/5604/463 +f 3906/5571/464 3931/5597/464 3932/5598/465 +f 3893/5557/466 3921/5586/466 3919/5584/460 +f 3900/5565/467 3925/5590/467 3923/5592/468 +f 3924/5589/466 3995/5663/466 3991/5659/460 +f 3928/5594/467 3997/5665/467 3998/5667/468 +f 3917/5582/469 3990/5658/469 4011/5680/462 +f 3936/5602/470 4005/5674/470 4003/5672/464 +f 3926/5768/468 3998/5771/468 3995/5663/466 +f 3927/5593/471 3999/5668/471 3997/5665/467 +f 3920/5585/461 3988/5656/461 3990/5658/469 +f 3935/5601/463 4007/5676/463 4005/5674/470 +f 3930/5596/465 4001/5670/465 3999/5668/471 +f 3922/5587/460 3991/5659/460 3988/5656/461 +f 3939/5605/462 4011/5680/462 4007/5676/463 +f 3934/5600/464 4003/5672/464 4001/5670/465 +f 3989/5657/469 3942/5608/469 3961/5628/462 +f 4008/5677/470 3957/5624/470 3955/5622/464 +f 3996/5664/468 3947/5613/468 3945/5611/466 +f 4002/5671/471 3953/5620/471 3949/5615/467 +f 3992/5660/461 3940/5606/461 3942/5608/469 +f 4010/5679/463 3962/5629/463 3957/5624/470 +f 4004/5673/465 3956/5623/465 3953/5620/471 +f 3994/5662/460 3943/5609/460 3940/5606/461 +f 4009/5678/462 3961/5628/462 3962/5629/463 +f 4006/5675/464 3955/5622/464 3956/5623/465 +f 3993/5661/466 3945/5611/466 3943/5609/460 +f 4000/5669/467 3949/5615/467 3947/5617/468 +f 3948/5614/466 4019/5688/466 4015/5684/460 +f 3952/5619/467 4021/5690/467 4022/5692/468 +f 3941/5607/469 4014/5683/469 4035/5705/462 +f 3960/5627/470 4029/5699/470 4027/5697/464 +f 3950/5769/468 4022/5772/468 4019/5688/466 +f 3951/5618/471 4023/5693/471 4021/5690/467 +f 3944/5610/461 4012/5681/461 4014/5683/469 +f 3959/5626/463 4031/5701/463 4029/5699/470 +f 3954/5621/465 4025/5695/465 4023/5693/471 +f 3946/5612/460 4015/5684/460 4012/5681/461 +f 3963/5630/462 4035/5705/462 4031/5701/463 +f 3958/5625/464 4027/5697/464 4025/5695/465 +f 4013/5682/469 3966/5633/469 3985/5653/462 +f 4032/5702/470 3981/5649/470 3979/5647/464 +f 4020/5689/468 3971/5638/468 3969/5636/466 +f 4026/5696/471 3977/5645/471 3973/5640/467 +f 4016/5685/461 3964/5631/461 3966/5633/469 +f 4034/5704/463 3986/5654/463 3981/5649/470 +f 4028/5698/465 3980/5648/465 3977/5645/471 +f 4018/5687/460 3967/5634/460 3964/5631/461 +f 4033/5703/462 3985/5653/462 3986/5654/463 +f 4030/5700/464 3979/5647/464 3980/5648/465 +f 4017/5686/466 3969/5636/466 3967/5634/460 +f 4024/5694/467 3973/5640/467 3971/5642/468 +f 3972/5639/466 4088/5793/476 4084/5789/472 +f 3976/5644/467 4089/5794/477 4085/5790/473 +f 3965/5632/469 4090/5795/478 4086/5791/474 +f 3984/5652/470 4091/5796/479 4087/5792/475 +f 3974/5770/468 4085/5813/473 4088/5793/476 +f 3975/5643/471 4092/5797/480 4089/5794/477 +f 3968/5635/461 4093/5798/481 4090/5795/478 +f 3983/5651/463 4094/5799/482 4091/5796/479 +f 3978/5646/465 4095/5800/483 4092/5797/480 +f 3970/5637/460 4084/5789/472 4093/5798/481 +f 3987/5655/462 4086/5791/474 4094/5799/482 +f 3982/5650/464 4087/5792/475 4095/5800/483 +f 4094/5799/482 4100/5826/488 4096/5801/484 +f 4095/5800/483 4102/5821/490 4097/5802/485 +f 4093/5798/481 4084/5789/472 4098/5803/486 +f 4086/5791/474 4105/5828/493 4100/5805/488 +f 4095/5800/483 4087/5792/475 4101/5806/489 +f 4088/5793/476 4106/5834/494 4098/5808/486 +f 4089/5794/477 4107/5817/495 4103/5809/491 +f 4086/5791/474 4090/5795/478 4104/5810/492 +f 4091/5796/479 4096/5824/484 4101/5812/489 +f 4085/5813/473 4103/5836/491 4106/5814/494 +f 4092/5797/480 4097/5819/485 4107/5815/495 +f 4093/5798/481 4099/5831/487 4104/5816/492 +f 4110/5850/461 4114/5854/461 4111/5851/508 +f 4113/5853/509 4120/5860/509 4114/5854/461 +f 4115/5855/465 4119/5859/465 4116/5856/510 +f 4118/5858/511 4121/5861/511 4119/5859/465 +o ABM_Missile +v -0.176777 3.500000 -0.176777 +v 0.176777 3.500000 -0.176777 +v 0.176777 3.500000 0.176777 +v 0.154329 2.250000 -0.019030 +v 0.161612 2.250000 -0.161612 +v 0.202165 2.250000 -0.134515 +v 0.250000 2.250000 0.000000 +v 0.250000 2.250000 -0.125000 +v 0.297835 2.250000 -0.134515 +v 0.345671 2.250000 -0.019030 +v 0.338388 2.250000 -0.161612 +v 0.426777 2.250000 -0.073223 +v 0.480970 2.250000 -0.154329 +v 0.365485 2.250000 -0.202165 +v 0.500000 2.250000 -0.250000 +v 0.375000 2.250000 -0.250000 +v 0.480970 2.250000 -0.345671 +v 0.365485 2.250000 -0.297835 +v 0.338388 2.250000 -0.338388 +v 0.426777 2.250000 -0.426777 +v 0.345671 2.250000 -0.480970 +v 0.297835 2.250000 -0.365485 +v 0.250000 2.250000 -0.500000 +v 0.250000 2.250000 -0.375000 +v 0.202165 2.250000 -0.365485 +v 0.154329 2.250000 -0.480970 +v 0.161612 2.250000 -0.338388 +v 0.073223 2.250000 -0.426777 +v 0.000000 2.250000 -0.250000 +v 0.134515 2.250000 -0.202165 +v 0.019030 2.250000 -0.154329 +v 0.019030 2.250000 -0.345671 +v 0.134515 2.250000 -0.297835 +v 0.073223 2.250000 -0.073223 +v 0.125000 2.250000 -0.250000 +v 0.426777 2.000000 -0.426777 +v 0.426777 2.000000 -0.073223 +v 0.073223 2.000000 -0.073223 +v -0.031250 8.000000 -0.125000 +v 0.000000 6.500000 -0.875000 +v -0.031250 6.000000 -0.125000 +v 0.000000 7.500000 -0.875000 +v 0.031250 6.000000 -0.125000 +v 0.031250 8.000000 -0.125000 +v 0.031250 2.500000 -0.125000 +v -0.031250 2.500000 -0.125000 +v 0.000000 2.500000 -1.125000 +v 0.031250 4.500000 -0.125000 +v 0.000000 4.000000 -1.125000 +v -0.031250 4.500000 -0.125000 +v -0.062500 7.750000 -0.875000 +v 0.031250 7.750000 -0.820873 +v 0.031250 7.750000 -0.929127 +v 0.062500 6.250000 -0.875000 +v 0.031250 6.250000 -0.820873 +v -0.031250 6.250000 -0.820873 +v -0.154329 2.250000 0.019030 +v -0.161612 2.250000 0.161612 +v -0.202165 2.250000 0.134515 +v -0.250000 2.250000 0.000000 +v -0.250000 2.250000 0.125000 +v -0.297835 2.250000 0.134515 +v -0.345671 2.250000 0.019030 +v -0.338388 2.250000 0.161612 +v -0.426777 2.250000 0.073223 +v -0.480970 2.250000 0.154329 +v -0.365485 2.250000 0.202165 +v -0.500000 2.250000 0.250000 +v -0.375000 2.250000 0.250000 +v -0.480970 2.250000 0.345671 +v -0.365485 2.250000 0.297835 +v -0.338388 2.250000 0.338388 +v -0.426777 2.250000 0.426777 +v -0.345671 2.250000 0.480970 +v -0.297835 2.250000 0.365485 +v -0.250000 2.250000 0.500000 +v -0.250000 2.250000 0.375000 +v -0.202164 2.250000 0.365485 +v -0.154329 2.250000 0.480970 +v -0.161612 2.250000 0.338388 +v -0.073223 2.250000 0.426777 +v 0.000000 2.250000 0.250000 +v -0.134515 2.250000 0.202165 +v -0.019030 2.250000 0.154329 +v -0.019030 2.250000 0.345671 +v -0.134515 2.250000 0.297835 +v -0.073223 2.250000 0.073223 +v -0.125000 2.250000 0.250000 +v -0.426777 2.000000 0.073223 +v -0.250000 2.000000 0.000000 +v -0.073223 2.000000 0.073223 +v -0.031250 2.500000 0.125000 +v 0.031250 2.500000 0.125000 +v 0.000000 2.500000 1.125000 +v -0.031250 4.500000 0.125000 +v 0.000000 4.000000 1.125000 +v 0.031250 4.500000 0.125000 +v -0.019030 2.250000 -0.154329 +v -0.161612 2.250000 -0.161612 +v -0.134515 2.250000 -0.202165 +v 0.000000 2.250000 -0.250000 +v -0.125000 2.250000 -0.250000 +v -0.134515 2.250000 -0.297835 +v -0.019030 2.250000 -0.345671 +v -0.161612 2.250000 -0.338388 +v -0.073223 2.250000 -0.426777 +v -0.154329 2.250000 -0.480970 +v -0.202165 2.250000 -0.365485 +v -0.250000 2.250000 -0.500000 +v -0.250000 2.250000 -0.375000 +v -0.345671 2.250000 -0.480970 +v -0.297835 2.250000 -0.365485 +v -0.338388 2.250000 -0.338388 +v -0.426777 2.250000 -0.426777 +v -0.480970 2.250000 -0.345671 +v -0.365485 2.250000 -0.297835 +v -0.375000 2.250000 -0.250000 +v -0.500000 2.250000 -0.250000 +v -0.365485 2.250000 -0.202164 +v -0.480970 2.250000 -0.154329 +v -0.338388 2.250000 -0.161612 +v -0.426777 2.250000 -0.073223 +v -0.250000 2.250000 0.000000 +v -0.202165 2.250000 -0.134515 +v -0.154329 2.250000 -0.019030 +v -0.345671 2.250000 -0.019030 +v -0.297835 2.250000 -0.134515 +v -0.073223 2.250000 -0.073223 +v -0.250000 2.250000 -0.125000 +v -0.426777 2.000000 -0.426777 +v -0.073223 2.000000 -0.426777 +v -0.073223 2.000000 -0.073223 +v -0.125000 2.500000 -0.031250 +v -0.125000 2.500000 0.031250 +v -1.125000 2.500000 0.000000 +v -0.125000 4.500000 -0.031250 +v -1.125000 4.000000 0.000000 +v -0.125000 4.500000 0.031250 +v 0.019030 2.250000 0.154329 +v 0.161612 2.250000 0.161612 +v 0.134515 2.250000 0.202165 +v 0.000000 2.250000 0.250000 +v 0.125000 2.250000 0.250000 +v 0.134515 2.250000 0.297835 +v 0.019030 2.250000 0.345671 +v 0.161612 2.250000 0.338388 +v 0.073223 2.250000 0.426777 +v 0.154329 2.250000 0.480970 +v 0.202165 2.250000 0.365485 +v 0.250000 2.250000 0.500000 +v 0.250000 2.250000 0.375000 +v 0.345671 2.250000 0.480970 +v 0.297835 2.250000 0.365485 +v 0.338388 2.250000 0.338388 +v 0.426777 2.250000 0.426777 +v 0.480970 2.250000 0.345671 +v 0.365485 2.250000 0.297835 +v 0.500000 2.250000 0.250000 +v 0.375000 2.250000 0.250000 +v 0.365485 2.250000 0.202164 +v 0.480970 2.250000 0.154329 +v 0.338388 2.250000 0.161612 +v 0.426777 2.250000 0.073223 +v 0.250000 2.250000 0.000000 +v 0.202165 2.250000 0.134515 +v 0.154329 2.250000 0.019030 +v 0.345671 2.250000 0.019030 +v 0.297835 2.250000 0.134515 +v 0.073223 2.250000 0.073223 +v 0.250000 2.250000 0.125000 +v 0.426777 2.000000 0.426777 +v 0.073223 2.000000 0.426777 +v 0.073223 2.000000 0.073223 +v 0.125000 2.500000 0.031250 +v 0.125000 2.500000 -0.031250 +v 1.125000 2.500000 0.000000 +v 0.125000 4.500000 0.031250 +v 1.125000 4.000000 0.000000 +v 0.125000 4.500000 -0.031250 +v 0.031250 8.000000 0.125000 +v 0.000000 6.500000 0.875000 +v 0.031250 6.000000 0.125000 +v 0.000000 7.500000 0.875000 +v -0.031250 6.000000 0.125000 +v -0.031250 8.000000 0.125000 +v -0.062500 7.750000 0.875000 +v -0.031250 7.750000 0.929127 +v 0.062500 7.750000 0.875000 +v -0.062500 6.250000 0.875000 +v -0.031250 6.250000 0.820873 +v 0.031250 6.250000 0.820873 +v -0.125000 8.000000 0.031250 +v -0.875000 6.500000 0.000000 +v -0.125000 6.000000 0.031250 +v -0.875000 7.500000 0.000000 +v -0.125000 6.000000 -0.031250 +v -0.125000 8.000000 -0.031250 +v -0.875000 7.750000 0.062500 +v -0.820873 7.750000 -0.031250 +v -0.929127 7.750000 -0.031250 +v -0.875000 6.250000 -0.062500 +v -0.820873 6.250000 -0.031250 +v -0.820873 6.250000 0.031250 +v 0.125000 6.000000 -0.031250 +v 0.875000 7.500000 0.000000 +v 0.875000 6.500000 0.000000 +v 0.125000 6.000000 0.031250 +v 0.125000 8.000000 0.031250 +v 0.125000 8.000000 -0.031250 +v 0.875000 7.750000 -0.062500 +v 0.820873 7.750000 0.031250 +v 0.929127 7.750000 0.031250 +v 0.875000 6.250000 0.062500 +v 0.820873 6.250000 0.031250 +v 0.820873 6.250000 -0.031250 +v -0.095671 3.500000 -0.230970 +v 0.000000 3.500000 -0.250000 +v 0.095671 3.500000 -0.230970 +v 0.230970 3.500000 -0.095671 +v 0.250000 3.500000 0.000000 +v 0.230970 3.500000 0.095671 +v 0.095671 3.500000 0.230970 +v 0.000000 3.500000 0.250000 +v -0.095671 3.500000 0.230970 +v -0.176777 3.500000 0.176777 +v -0.230970 3.500000 0.095671 +v -0.250000 3.500000 0.000000 +v -0.230970 3.500000 -0.095671 +v 0.019030 2.000000 -0.154329 +v 0.000000 2.000000 -0.250000 +v 0.019030 2.000000 -0.345671 +v 0.073223 2.000000 -0.426777 +v 0.154329 2.000000 -0.480970 +v 0.250000 2.000000 -0.500000 +v 0.345671 2.000000 -0.480970 +v 0.480970 2.000000 -0.345671 +v 0.500000 2.000000 -0.250000 +v 0.480970 2.000000 -0.154329 +v 0.345671 2.000000 -0.019030 +v 0.250000 2.000000 0.000000 +v 0.154329 2.000000 -0.019030 +v -0.031250 7.750000 -0.929127 +v -0.031250 7.750000 -0.820873 +v 0.062500 7.750000 -0.875000 +v -0.062500 6.250000 -0.875000 +v -0.031250 6.250000 -0.929127 +v 0.031250 6.250000 -0.929127 +v -0.019030 2.000000 0.154329 +v 0.000000 2.000000 0.250000 +v -0.019030 2.000000 0.345671 +v -0.073223 2.000000 0.426777 +v -0.154329 2.000000 0.480970 +v -0.250000 2.000000 0.500000 +v -0.345671 2.000000 0.480970 +v -0.426777 2.000000 0.426777 +v -0.480970 2.000000 0.345671 +v -0.500000 2.000000 0.250000 +v -0.480970 2.000000 0.154329 +v -0.345671 2.000000 0.019030 +v -0.154329 2.000000 0.019030 +v -0.154329 2.000000 -0.019030 +v -0.250000 2.000000 0.000000 +v -0.345671 2.000000 -0.019030 +v -0.426777 2.000000 -0.073223 +v -0.480970 2.000000 -0.154329 +v -0.500000 2.000000 -0.250000 +v -0.480970 2.000000 -0.345671 +v -0.345671 2.000000 -0.480970 +v -0.250000 2.000000 -0.500000 +v -0.154329 2.000000 -0.480970 +v -0.019030 2.000000 -0.345671 +v 0.000000 2.000000 -0.250000 +v -0.019030 2.000000 -0.154329 +v 0.154329 2.000000 0.019030 +v 0.250000 2.000000 0.000000 +v 0.345671 2.000000 0.019030 +v 0.426777 2.000000 0.073223 +v 0.480970 2.000000 0.154329 +v 0.500000 2.000000 0.250000 +v 0.480970 2.000000 0.345671 +v 0.345671 2.000000 0.480970 +v 0.250000 2.000000 0.500000 +v 0.154329 2.000000 0.480970 +v 0.019030 2.000000 0.345671 +v 0.000000 2.000000 0.250000 +v 0.019030 2.000000 0.154329 +v 0.031250 7.750000 0.929127 +v 0.031250 7.750000 0.820873 +v -0.031250 7.750000 0.820873 +v 0.062500 6.250000 0.875000 +v 0.031250 6.250000 0.929127 +v -0.031250 6.250000 0.929127 +v -0.929127 7.750000 0.031250 +v -0.820873 7.750000 0.031250 +v -0.875000 7.750000 -0.062500 +v -0.875000 6.250000 0.062500 +v -0.929127 6.250000 0.031250 +v -0.929127 6.250000 -0.031250 +v 0.929127 7.750000 -0.031250 +v 0.820873 7.750000 -0.031250 +v 0.875000 7.750000 0.062500 +v 0.875000 6.250000 -0.062500 +v 0.929127 6.250000 -0.031250 +v 0.929127 6.250000 0.031250 +v 0.143506 9.000000 -0.346455 +v 0.000000 9.000000 -0.375000 +v 0.000000 10.500000 0.000000 +v 0.265165 9.000000 -0.265165 +v 0.346455 9.000000 -0.143506 +v 0.375000 9.000000 0.000000 +v 0.346455 9.000000 0.143506 +v 0.265165 9.000000 0.265165 +v 0.143506 9.000000 0.346455 +v 0.000000 9.000000 0.375000 +v -0.143506 9.000000 0.346455 +v -0.265165 9.000000 0.265165 +v -0.346455 9.000000 0.143506 +v -0.375000 9.000000 0.000000 +v -0.346455 9.000000 -0.143506 +v -0.265165 9.000000 -0.265165 +v -0.143506 9.000000 -0.346455 +v -0.375000 7.500000 0.000000 +v 0.375000 7.500000 0.000000 +v -0.346455 7.500000 0.143506 +v 0.346455 7.500000 -0.143506 +v -0.265165 7.500000 0.265165 +v 0.265165 7.500000 -0.265165 +v -0.143506 7.500000 0.346455 +v 0.143506 7.500000 -0.346455 +v 0.000000 7.500000 0.375000 +v -0.143506 7.500000 -0.346455 +v 0.000000 7.500000 -0.375000 +v 0.143506 7.500000 0.346455 +v -0.265165 7.500000 -0.265165 +v 0.265165 7.500000 0.265165 +v -0.346455 7.500000 -0.143506 +v 0.346455 7.500000 0.143506 +v 0.095671 6.500000 0.230970 +v -0.176777 6.500000 -0.176777 +v 0.176777 6.500000 0.176777 +v -0.230970 6.500000 -0.095671 +v 0.230970 6.500000 0.095671 +v -0.250000 6.500000 0.000000 +v 0.250000 6.500000 0.000000 +v -0.230970 6.500000 0.095671 +v 0.230970 6.500000 -0.095671 +v -0.176777 6.500000 0.176777 +v 0.176777 6.500000 -0.176777 +v -0.095671 6.500000 0.230970 +v 0.095671 6.500000 -0.230970 +v 0.000000 6.500000 0.250000 +v -0.095671 6.500000 -0.230970 +v 0.000000 6.500000 -0.250000 +v 0.019030 3.500000 -0.154329 +v 0.480970 3.500000 -0.345671 +v 0.073223 3.500000 -0.073223 +v 0.426777 3.500000 -0.426777 +v 0.154329 3.500000 -0.019030 +v 0.345671 3.500000 -0.480970 +v 0.250000 3.500000 0.000000 +v 0.250000 3.500000 -0.500000 +v 0.345671 3.500000 -0.019030 +v 0.154329 3.500000 -0.480970 +v 0.426777 3.500000 -0.073223 +v 0.073223 3.500000 -0.426777 +v 0.480970 3.500000 -0.154329 +v 0.000000 3.500000 -0.250000 +v 0.019030 3.500000 -0.345671 +v 0.500000 3.500000 -0.250000 +v 0.125000 4.500000 -0.125000 +v -0.019030 3.500000 0.154329 +v -0.480970 3.500000 0.345671 +v -0.073223 3.500000 0.073223 +v -0.426777 3.500000 0.426777 +v -0.154329 3.500000 0.019030 +v -0.345671 3.500000 0.480970 +v -0.250000 3.500000 0.000000 +v -0.250000 3.500000 0.500000 +v -0.345671 3.500000 0.019030 +v -0.154329 3.500000 0.480970 +v -0.426777 3.500000 0.073223 +v -0.073223 3.500000 0.426777 +v -0.480970 3.500000 0.154329 +v 0.000000 3.500000 0.250000 +v -0.019030 3.500000 0.345671 +v -0.500000 3.500000 0.250000 +v -0.125000 4.500000 0.125000 +v -0.154329 3.500000 -0.019030 +v -0.345671 3.500000 -0.480970 +v -0.073223 3.500000 -0.073223 +v -0.426777 3.500000 -0.426777 +v -0.019030 3.500000 -0.154329 +v -0.480970 3.500000 -0.345671 +v 0.000000 3.500000 -0.250000 +v -0.500000 3.500000 -0.250000 +v -0.019030 3.500000 -0.345671 +v -0.480970 3.500000 -0.154329 +v -0.073223 3.500000 -0.426777 +v -0.426777 3.500000 -0.073223 +v -0.154329 3.500000 -0.480970 +v -0.250000 3.500000 0.000000 +v -0.345671 3.500000 -0.019030 +v -0.250000 3.500000 -0.500000 +v -0.125000 4.500000 -0.125000 +v 0.154329 3.500000 0.019030 +v 0.345671 3.500000 0.480970 +v 0.073223 3.500000 0.073223 +v 0.426777 3.500000 0.426777 +v 0.019030 3.500000 0.154329 +v 0.480970 3.500000 0.345671 +v 0.000000 3.500000 0.250000 +v 0.500000 3.500000 0.250000 +v 0.019030 3.500000 0.345671 +v 0.480970 3.500000 0.154329 +v 0.073223 3.500000 0.426777 +v 0.426777 3.500000 0.073223 +v 0.154329 3.500000 0.480970 +v 0.250000 3.500000 0.000000 +v 0.345671 3.500000 0.019030 +v 0.250000 3.500000 0.500000 +v 0.125000 4.500000 0.125000 +vt 0.720253 0.439829 +vt 0.720253 0.488743 +vt 0.648168 0.488743 +vt 0.447368 0.053571 +vt 0.421053 0.035714 +vt 0.434211 0.035714 +vt 0.473684 0.053571 +vt 0.447368 0.035714 +vt 0.460526 0.035714 +vt 0.486842 0.035714 +vt 0.500000 0.053571 +vt 0.513158 0.035714 +vt 0.526316 0.053571 +vt 0.552632 0.053571 +vt 0.526316 0.035714 +vt 0.539474 0.035714 +vt 0.578947 0.053571 +vt 0.552632 0.035714 +vt 0.565789 0.035714 +vt 0.605263 0.053571 +vt 0.578947 0.035714 +vt 0.592105 0.035714 +vt 0.618421 0.035714 +vt 0.631579 0.053571 +vt 0.657895 0.053571 +vt 0.631579 0.035714 +vt 0.644737 0.035714 +vt 0.684211 0.053571 +vt 0.657895 0.035714 +vt 0.671053 0.035714 +vt 0.697368 0.035714 +vt 0.710526 0.053571 +vt 0.723684 0.035714 +vt 0.736842 0.053571 +vt 0.789474 0.053571 +vt 0.802632 0.035714 +vt 0.815789 0.053571 +vt 0.763158 0.053571 +vt 0.736842 0.035714 +vt 0.750000 0.035714 +vt 0.828947 0.035714 +vt 0.842105 0.053571 +vt 0.776316 0.035714 +vt 0.684211 0.570302 +vt 0.633240 0.535715 +vt 0.684211 0.501127 +vt 0.842105 0.294643 +vt 1.000000 0.080357 +vt 0.842105 0.008929 +vt 1.000000 0.223214 +vt 0.842105 0.008929 +vt 0.842105 0.294643 +vt 1.000000 0.294643 +vt 0.842105 0.303571 +vt 0.842105 -0.000000 +vt 1.000000 0.008929 +vt 0.631579 0.580357 +vt 0.631579 0.571429 +vt 0.842105 0.580357 +vt 0.631579 0.875000 +vt 0.842105 0.875000 +vt 0.631579 0.883929 +vt 0.842105 0.803571 +vt 0.631579 0.580357 +vt 0.921712 0.330357 +vt 0.940460 0.323013 +vt 0.940460 0.337702 +vt 0.946709 0.312500 +vt 0.940460 0.319845 +vt 0.927961 0.319845 +vt 0.447368 0.053571 +vt 0.421053 0.035714 +vt 0.434211 0.035714 +vt 0.473684 0.053571 +vt 0.447368 0.035714 +vt 0.460526 0.035714 +vt 0.486842 0.035714 +vt 0.500000 0.053571 +vt 0.513158 0.035714 +vt 0.526316 0.053571 +vt 0.552632 0.053571 +vt 0.526316 0.035714 +vt 0.539474 0.035714 +vt 0.578947 0.053571 +vt 0.552632 0.035714 +vt 0.565789 0.035714 +vt 0.605263 0.053571 +vt 0.578947 0.035714 +vt 0.592105 0.035714 +vt 0.618421 0.035714 +vt 0.631579 0.053571 +vt 0.657895 0.053571 +vt 0.631579 0.035714 +vt 0.644737 0.035714 +vt 0.684211 0.053571 +vt 0.657895 0.035714 +vt 0.671053 0.035714 +vt 0.697368 0.035714 +vt 0.710526 0.053571 +vt 0.723684 0.035714 +vt 0.736842 0.053571 +vt 0.789474 0.053571 +vt 0.802632 0.035714 +vt 0.815789 0.053571 +vt 0.763158 0.053571 +vt 0.736842 0.035714 +vt 0.750000 0.035714 +vt 0.828947 0.035714 +vt 0.842105 0.053571 +vt 0.776316 0.035714 +vt 0.633240 0.535715 +vt 0.648169 0.511257 +vt 0.684211 0.501127 +vt 0.631579 0.580357 +vt 0.631579 0.571429 +vt 0.842105 0.580357 +vt 0.631579 0.875000 +vt 0.842105 0.875000 +vt 0.631579 0.883929 +vt 0.842105 0.803571 +vt 0.631579 0.580357 +vt 0.447368 0.053571 +vt 0.421053 0.035714 +vt 0.434211 0.035714 +vt 0.473684 0.053571 +vt 0.447368 0.035714 +vt 0.460526 0.035714 +vt 0.486842 0.035714 +vt 0.500000 0.053571 +vt 0.513158 0.035714 +vt 0.526316 0.053571 +vt 0.552632 0.053571 +vt 0.526316 0.035714 +vt 0.539474 0.035714 +vt 0.578947 0.053571 +vt 0.552632 0.035714 +vt 0.565789 0.035714 +vt 0.605263 0.053571 +vt 0.578947 0.035714 +vt 0.592105 0.035714 +vt 0.618421 0.035714 +vt 0.631579 0.053571 +vt 0.657895 0.053571 +vt 0.631579 0.035714 +vt 0.644737 0.035714 +vt 0.671053 0.035714 +vt 0.684211 0.053571 +vt 0.697368 0.035714 +vt 0.710526 0.053571 +vt 0.723684 0.035714 +vt 0.736842 0.053571 +vt 0.789474 0.053571 +vt 0.802632 0.035714 +vt 0.815789 0.053571 +vt 0.763158 0.053571 +vt 0.736842 0.035714 +vt 0.750000 0.035714 +vt 0.828947 0.035714 +vt 0.842105 0.053571 +vt 0.776316 0.035714 +vt 0.684211 0.570302 +vt 0.633240 0.535715 +vt 0.684211 0.501127 +vt 0.631579 0.580357 +vt 0.631579 0.571429 +vt 0.842105 0.580357 +vt 0.631579 0.875000 +vt 0.842105 0.875000 +vt 0.631579 0.883929 +vt 0.842105 0.803571 +vt 0.631579 0.580357 +vt 0.447368 0.053571 +vt 0.421053 0.035714 +vt 0.434211 0.035714 +vt 0.473684 0.053571 +vt 0.447368 0.035714 +vt 0.460526 0.035714 +vt 0.486842 0.035714 +vt 0.500000 0.053571 +vt 0.513158 0.035714 +vt 0.526316 0.053571 +vt 0.552632 0.053571 +vt 0.526316 0.035714 +vt 0.539474 0.035714 +vt 0.578947 0.053571 +vt 0.552632 0.035714 +vt 0.565789 0.035714 +vt 0.605263 0.053571 +vt 0.578947 0.035714 +vt 0.592105 0.035714 +vt 0.618421 0.035714 +vt 0.631579 0.053571 +vt 0.657895 0.053571 +vt 0.631579 0.035714 +vt 0.644737 0.035714 +vt 0.684211 0.053571 +vt 0.657895 0.035714 +vt 0.671053 0.035714 +vt 0.697368 0.035714 +vt 0.710526 0.053571 +vt 0.723684 0.035714 +vt 0.736842 0.053571 +vt 0.789474 0.053571 +vt 0.802632 0.035714 +vt 0.815789 0.053571 +vt 0.763158 0.053571 +vt 0.736842 0.035714 +vt 0.750000 0.035714 +vt 0.828947 0.035714 +vt 0.842105 0.053571 +vt 0.763158 0.035714 +vt 0.776316 0.035714 +vt 0.684211 0.570302 +vt 0.633240 0.535715 +vt 0.684211 0.501127 +vt 0.631579 0.580357 +vt 0.631579 0.571429 +vt 0.842105 0.580357 +vt 0.631579 0.875000 +vt 0.842105 0.875000 +vt 0.631579 0.883929 +vt 0.842105 0.803571 +vt 0.631579 0.580357 +vt 0.842105 0.294643 +vt 1.000000 0.080357 +vt 0.842105 0.008929 +vt 1.000000 0.223214 +vt 0.842105 0.008929 +vt 0.842105 0.294643 +vt 1.000000 0.294643 +vt 0.842105 0.303571 +vt 0.842105 -0.000000 +vt 1.000000 0.008929 +vt 0.946709 0.330357 +vt 0.940460 0.337702 +vt 0.921712 0.330357 +vt 0.946709 0.312500 +vt 0.940460 0.319845 +vt 0.927961 0.319845 +vt 0.842105 0.294643 +vt 1.000000 0.080357 +vt 0.842105 0.008929 +vt 1.000000 0.223214 +vt 0.842105 0.008929 +vt 0.842105 0.294643 +vt 1.000000 0.294643 +vt 0.842105 0.303571 +vt 0.842105 -0.000000 +vt 1.000000 0.008929 +vt 0.921712 0.330357 +vt 0.940460 0.323013 +vt 0.940460 0.337702 +vt 0.946709 0.312500 +vt 0.940460 0.319845 +vt 0.927961 0.319845 +vt 0.842105 0.008929 +vt 1.000000 0.223214 +vt 1.000000 0.080357 +vt 0.842105 0.008929 +vt 0.842105 0.294643 +vt 1.000000 0.294643 +vt 0.842105 0.303571 +vt 0.842105 -0.000000 +vt 1.000000 0.008929 +vt 0.921712 0.330357 +vt 0.940460 0.323013 +vt 0.940460 0.337702 +vt 0.946709 0.312500 +vt 0.940460 0.319845 +vt 0.927961 0.319845 +vt 0.731302 0.451050 +vt 0.735182 0.464286 +vt 0.731302 0.477522 +vt 0.703716 0.496241 +vt 0.684211 0.498873 +vt 0.664705 0.496241 +vt 0.637119 0.477522 +vt 0.633239 0.464286 +vt 0.637119 0.451050 +vt 0.648169 0.439829 +vt 0.664705 0.432331 +vt 0.684211 0.429698 +vt 0.703716 0.432331 +vt 0.421053 0.053571 +vt 0.473684 0.035714 +vt 0.500000 0.035714 +vt 0.605263 0.035714 +vt 0.684211 0.035714 +vt 0.710526 0.035714 +vt 0.789474 0.035714 +vt 0.815789 0.035714 +vt 0.763158 0.035714 +vt 0.703717 0.503760 +vt 0.720253 0.511257 +vt 0.731302 0.522478 +vt 0.735182 0.535715 +vt 0.731302 0.548951 +vt 0.720253 0.560172 +vt 0.703717 0.567669 +vt 0.664705 0.567669 +vt 0.648169 0.560172 +vt 0.637119 0.548951 +vt 0.637119 0.522478 +vt 0.648169 0.511257 +vt 0.664705 0.503760 +vt 0.631579 0.875000 +vt 0.927961 0.337702 +vt 0.927961 0.323013 +vt 0.946709 0.330357 +vt 0.921712 0.312500 +vt 0.927962 0.305155 +vt 0.940460 0.305155 +vt 0.421053 0.053571 +vt 0.473684 0.035714 +vt 0.500000 0.035714 +vt 0.605263 0.035714 +vt 0.684211 0.035714 +vt 0.710526 0.035714 +vt 0.789474 0.035714 +vt 0.815789 0.035714 +vt 0.763158 0.035714 +vt 0.703717 0.503760 +vt 0.720253 0.511257 +vt 0.731302 0.522478 +vt 0.735182 0.535715 +vt 0.731302 0.548951 +vt 0.720253 0.560172 +vt 0.703717 0.567669 +vt 0.684211 0.570302 +vt 0.664705 0.567669 +vt 0.648169 0.560172 +vt 0.637119 0.548951 +vt 0.637119 0.522478 +vt 0.664705 0.503760 +vt 0.631579 0.875000 +vt 0.421053 0.053571 +vt 0.473684 0.035714 +vt 0.500000 0.035714 +vt 0.605263 0.035714 +vt 0.657895 0.035714 +vt 0.684211 0.035714 +vt 0.710526 0.035714 +vt 0.789474 0.035714 +vt 0.815789 0.035714 +vt 0.763158 0.035714 +vt 0.703717 0.503760 +vt 0.720253 0.511257 +vt 0.731302 0.522478 +vt 0.735182 0.535715 +vt 0.731302 0.548951 +vt 0.720253 0.560172 +vt 0.703717 0.567669 +vt 0.664705 0.567669 +vt 0.648169 0.560172 +vt 0.637119 0.548951 +vt 0.637119 0.522478 +vt 0.648169 0.511257 +vt 0.664705 0.503760 +vt 0.631579 0.875000 +vt 0.421053 0.053571 +vt 0.473684 0.035714 +vt 0.500000 0.035714 +vt 0.605263 0.035714 +vt 0.684211 0.035714 +vt 0.710526 0.035714 +vt 0.789474 0.035714 +vt 0.815789 0.035714 +vt 0.703717 0.503760 +vt 0.720253 0.511257 +vt 0.731302 0.522478 +vt 0.735182 0.535715 +vt 0.731302 0.548951 +vt 0.720253 0.560172 +vt 0.703717 0.567669 +vt 0.664705 0.567669 +vt 0.648169 0.560172 +vt 0.637119 0.548951 +vt 0.637119 0.522478 +vt 0.648169 0.511257 +vt 0.664705 0.503760 +vt 0.631579 0.875000 +vt 0.927961 0.337702 +vt 0.927961 0.323013 +vt 0.940460 0.323013 +vt 0.921712 0.312500 +vt 0.927962 0.305155 +vt 0.940460 0.305155 +vt 0.927961 0.337702 +vt 0.927961 0.323013 +vt 0.946709 0.330357 +vt 0.921712 0.312500 +vt 0.927962 0.305155 +vt 0.940460 0.305155 +vt 0.842105 0.294643 +vt 0.927961 0.337702 +vt 0.927961 0.323013 +vt 0.946709 0.330357 +vt 0.921712 0.312500 +vt 0.927962 0.305155 +vt 0.940460 0.305155 +vt 0.434211 0.785714 +vt 0.473684 0.785714 +vt 0.447368 1.000000 +vt 0.394737 0.785714 +vt 0.407895 1.000000 +vt 0.355263 0.785714 +vt 0.368421 1.000000 +vt 0.315789 0.785714 +vt 0.328947 1.000000 +vt 0.276316 0.785714 +vt 0.289474 1.000000 +vt 0.236842 0.785714 +vt 0.250000 1.000000 +vt 0.197368 0.785714 +vt 0.210526 1.000000 +vt 0.157895 0.785714 +vt 0.171053 1.000000 +vt 0.131579 1.000000 +vt 0.118421 0.785714 +vt 0.078947 0.785714 +vt 0.092105 1.000000 +vt 0.039474 0.785714 +vt 0.052632 1.000000 +vt 0.000000 0.785714 +vt 0.013158 1.000000 +vt 0.592105 0.785714 +vt 0.631579 0.785714 +vt 0.605263 1.000000 +vt 0.552632 0.785714 +vt 0.565789 1.000000 +vt 0.513158 0.785714 +vt 0.526316 1.000000 +vt 0.486842 1.000000 +vt 0.631579 0.571429 +vt 0.315789 0.571429 +vt 0.039474 0.571429 +vt 0.355263 0.571429 +vt 0.078947 0.571429 +vt 0.394737 0.571429 +vt 0.118421 0.571429 +vt 0.434211 0.571429 +vt 0.157895 0.571429 +vt 0.513158 0.571429 +vt 0.473684 0.571429 +vt 0.197368 0.571429 +vt 0.552632 0.571429 +vt 0.236842 0.571429 +vt 0.592105 0.571429 +vt 0.276316 0.571429 +vt 0.184211 0.428571 +vt 0.539474 0.428571 +vt 0.223684 0.428571 +vt 0.578947 0.428571 +vt 0.263158 0.428571 +vt 0.618421 0.428571 +vt 0.302632 0.428571 +vt 0.000000 0.571429 +vt 0.026316 0.428571 +vt 0.342105 0.428571 +vt 0.065789 0.428571 +vt 0.381579 0.428571 +vt 0.105263 0.428571 +vt 0.421053 0.428571 +vt 0.144737 0.428571 +vt 0.500000 0.428571 +vt 0.460526 0.428571 +vt 0.236842 0.428571 +vt 0.263158 -0.000000 +vt 0.263158 0.428571 +vt 0.052632 0.428571 +vt 0.078947 -0.000000 +vt 0.078947 0.428571 +vt 0.289474 -0.000000 +vt 0.289474 0.428571 +vt 0.105263 -0.000000 +vt 0.105263 0.428571 +vt 0.315789 0.428571 +vt 0.342105 -0.000000 +vt 0.342105 0.428571 +vt 0.315789 -0.000000 +vt 0.131579 -0.000000 +vt 0.131579 0.428571 +vt 0.368421 -0.000000 +vt 0.368421 0.428571 +vt 0.157895 -0.000000 +vt 0.157895 0.428571 +vt 0.394737 -0.000000 +vt 0.394737 0.428571 +vt 0.184211 -0.000000 +vt 0.184211 0.428571 +vt 0.421053 -0.000000 +vt 0.421053 0.428571 +vt 0.210526 -0.000000 +vt 0.210526 0.428571 +vt 0.000000 0.428571 +vt 0.026316 -0.000000 +vt 0.236842 -0.000000 +vt 0.052632 -0.000000 +vt 0.815789 0.232143 +vt 0.605263 0.232143 +vt 0.421053 0.232143 +vt 0.631579 0.232143 +vt 0.447368 0.232143 +vt 0.657895 0.232143 +vt 0.473684 0.232143 +vt 0.684211 0.232143 +vt 0.500000 0.232143 +vt 0.710526 0.232143 +vt 0.526316 0.232143 +vt 0.736842 0.232143 +vt 0.552632 0.232143 +vt 0.789474 0.232143 +vt 0.763158 0.232143 +vt 0.578947 0.232143 +vt 0.671053 0.375000 +vt 0.644737 0.375000 +vt 0.618421 0.375000 +vt 0.592105 0.375000 +vt 0.565789 0.375000 +vt 0.539474 0.375000 +vt 0.513158 0.375000 +vt 0.486842 0.375000 +vt 0.460526 0.375000 +vt 0.434211 0.375000 +vt 0.842105 0.232143 +vt 0.828947 0.375000 +vt 0.802632 0.375000 +vt 0.776316 0.375000 +vt 0.750000 0.375000 +vt 0.723684 0.375000 +vt 0.697368 0.375000 +vt 0.605263 -0.000000 +vt 0.631579 -0.000000 +vt 0.657895 -0.000000 +vt 0.684211 -0.000000 +vt 0.710526 -0.000000 +vt 0.736842 -0.000000 +vt 0.789474 -0.000000 +vt 0.815789 -0.000000 +vt 0.763158 -0.000000 +vt 0.842105 -0.000000 +vt 0.421053 -0.000000 +vt 0.447368 -0.000000 +vt 0.473684 -0.000000 +vt 0.500000 -0.000000 +vt 0.526316 -0.000000 +vt 0.552632 -0.000000 +vt 0.578947 -0.000000 +vt 0.907895 0.517857 +vt 0.894737 0.303571 +vt 0.907895 0.303571 +vt 0.894737 0.517857 +vt 0.881579 0.303571 +vt 0.881579 0.517857 +vt 0.868421 0.303571 +vt 0.868421 0.517857 +vt 0.855263 0.303571 +vt 0.855263 0.517857 +vt 0.842105 0.303571 +vt 0.921053 0.517857 +vt 0.921053 0.303571 +vt 0.815789 0.232143 +vt 0.605263 0.232143 +vt 0.421053 0.232143 +vt 0.631579 0.232143 +vt 0.447368 0.232143 +vt 0.657895 0.232143 +vt 0.473684 0.232143 +vt 0.684211 0.232143 +vt 0.500000 0.232143 +vt 0.710526 0.232143 +vt 0.526316 0.232143 +vt 0.736842 0.232143 +vt 0.552632 0.232143 +vt 0.789474 0.232143 +vt 0.763158 0.232143 +vt 0.578947 0.232143 +vt 0.671053 0.375000 +vt 0.644737 0.375000 +vt 0.618421 0.375000 +vt 0.592105 0.375000 +vt 0.565789 0.375000 +vt 0.539474 0.375000 +vt 0.513158 0.375000 +vt 0.486842 0.375000 +vt 0.460526 0.375000 +vt 0.434211 0.375000 +vt 0.842105 0.232143 +vt 0.828947 0.375000 +vt 0.802632 0.375000 +vt 0.776316 0.375000 +vt 0.750000 0.375000 +vt 0.723684 0.375000 +vt 0.697368 0.375000 +vt 0.605263 -0.000000 +vt 0.631579 -0.000000 +vt 0.657895 -0.000000 +vt 0.684211 -0.000000 +vt 0.710526 -0.000000 +vt 0.736842 -0.000000 +vt 0.815789 -0.000000 +vt 0.763158 -0.000000 +vt 0.842105 -0.000000 +vt 0.789474 -0.000000 +vt 0.447368 -0.000000 +vt 0.473684 -0.000000 +vt 0.500000 -0.000000 +vt 0.526316 -0.000000 +vt 0.552632 -0.000000 +vt 0.578947 -0.000000 +vt 0.815789 0.232143 +vt 0.605263 0.232143 +vt 0.421053 0.232143 +vt 0.631579 0.232143 +vt 0.447368 0.232143 +vt 0.657895 0.232143 +vt 0.473684 0.232143 +vt 0.684211 0.232143 +vt 0.500000 0.232143 +vt 0.710526 0.232143 +vt 0.526316 0.232143 +vt 0.736842 0.232143 +vt 0.552632 0.232143 +vt 0.789474 0.232143 +vt 0.763158 0.232143 +vt 0.578947 0.232143 +vt 0.671053 0.375000 +vt 0.644737 0.375000 +vt 0.618421 0.375000 +vt 0.592105 0.375000 +vt 0.565789 0.375000 +vt 0.539474 0.375000 +vt 0.513158 0.375000 +vt 0.486842 0.375000 +vt 0.460526 0.375000 +vt 0.434211 0.375000 +vt 0.842105 0.232143 +vt 0.828947 0.375000 +vt 0.802632 0.375000 +vt 0.776316 0.375000 +vt 0.750000 0.375000 +vt 0.723684 0.375000 +vt 0.697368 0.375000 +vt 0.631579 -0.000000 +vt 0.657895 -0.000000 +vt 0.684211 -0.000000 +vt 0.710526 -0.000000 +vt 0.736842 -0.000000 +vt 0.815789 -0.000000 +vt 0.763158 -0.000000 +vt 0.842105 -0.000000 +vt 0.789474 -0.000000 +vt 0.421053 -0.000000 +vt 0.447368 -0.000000 +vt 0.473684 -0.000000 +vt 0.500000 -0.000000 +vt 0.526316 -0.000000 +vt 0.552632 -0.000000 +vt 0.578947 -0.000000 +vt 0.605263 -0.000000 +vt 0.815789 0.232143 +vt 0.605263 0.232143 +vt 0.421053 0.232143 +vt 0.631579 0.232143 +vt 0.447368 0.232143 +vt 0.657895 0.232143 +vt 0.473684 0.232143 +vt 0.684211 0.232143 +vt 0.500000 0.232143 +vt 0.710526 0.232143 +vt 0.526316 0.232143 +vt 0.736842 0.232143 +vt 0.552632 0.232143 +vt 0.789474 0.232143 +vt 0.763158 0.232143 +vt 0.578947 0.232143 +vt 0.671053 0.375000 +vt 0.644737 0.375000 +vt 0.618421 0.375000 +vt 0.592105 0.375000 +vt 0.565789 0.375000 +vt 0.539474 0.375000 +vt 0.513158 0.375000 +vt 0.486842 0.375000 +vt 0.460526 0.375000 +vt 0.434211 0.375000 +vt 0.842105 0.232143 +vt 0.828947 0.375000 +vt 0.802632 0.375000 +vt 0.776316 0.375000 +vt 0.750000 0.375000 +vt 0.723684 0.375000 +vt 0.697368 0.375000 +vt 0.605263 -0.000000 +vt 0.631579 -0.000000 +vt 0.657895 -0.000000 +vt 0.684211 -0.000000 +vt 0.710526 -0.000000 +vt 0.736842 -0.000000 +vt 0.815789 -0.000000 +vt 0.763158 -0.000000 +vt 0.842105 -0.000000 +vt 0.789474 -0.000000 +vt 0.421053 -0.000000 +vt 0.447368 -0.000000 +vt 0.473684 -0.000000 +vt 0.500000 -0.000000 +vt 0.526316 -0.000000 +vt 0.552632 -0.000000 +vt 0.578947 -0.000000 +vt 0.907895 0.517857 +vt 0.894737 0.303571 +vt 0.907895 0.303571 +vt 0.894737 0.517857 +vt 0.881579 0.303571 +vt 0.881579 0.517857 +vt 0.868421 0.303571 +vt 0.868421 0.517857 +vt 0.855263 0.303571 +vt 0.855263 0.517857 +vt 0.842105 0.303571 +vt 0.921053 0.517857 +vt 0.921053 0.303571 +vt 0.907895 0.517857 +vt 0.894737 0.303571 +vt 0.907895 0.303571 +vt 0.894737 0.517857 +vt 0.881579 0.303571 +vt 0.881579 0.517857 +vt 0.868421 0.303571 +vt 0.868421 0.517857 +vt 0.855263 0.303571 +vt 0.855263 0.517857 +vt 0.842105 0.303571 +vt 0.921053 0.517857 +vt 0.921053 0.303571 +vt 0.907895 0.517857 +vt 0.894737 0.303571 +vt 0.907895 0.303571 +vt 0.894737 0.517857 +vt 0.881579 0.303571 +vt 0.881579 0.517857 +vt 0.868421 0.303571 +vt 0.868421 0.517857 +vt 0.855263 0.303571 +vt 0.855263 0.517857 +vt 0.842105 0.303571 +vt 0.921053 0.517857 +vt 0.921053 0.303571 +vt 0.157895 0.428571 +vt 0.513158 0.428571 +vt 0.197368 0.428571 +vt 0.552632 0.428571 +vt 0.236842 0.428571 +vt 0.592105 0.428571 +vt 0.276316 0.428571 +vt 0.315789 0.428571 +vt 0.039474 0.428571 +vt 0.355263 0.428571 +vt 0.078947 0.428571 +vt 0.394737 0.428571 +vt 0.118421 0.428571 +vt 0.473684 0.428571 +vt 0.434211 0.428571 +vt 0.000000 -0.000000 +vt 0.842105 0.517857 +vt 0.421053 -0.000000 +vt 0.842105 0.517857 +vt 0.842105 0.517857 +vt 0.842105 0.517857 +vn 0.0000 -1.0000 0.0000 +vn -0.9991 0.0000 -0.0416 +vn 0.9991 0.0000 -0.0416 +vn 0.0000 0.8321 -0.5547 +vn 0.0000 -0.8321 -0.5547 +vn 0.0000 0.8944 -0.4472 +vn 0.9995 0.0000 -0.0312 +vn -0.9995 0.0000 -0.0312 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.8944 0.4472 +vn -0.9995 -0.0000 0.0312 +vn 0.9995 -0.0000 0.0312 +vn -0.4472 0.8944 0.0000 +vn -0.0312 0.0000 -0.9995 +vn -0.0312 -0.0000 0.9995 +vn 0.4472 0.8944 0.0000 +vn 0.0312 -0.0000 0.9995 +vn 0.0312 0.0000 -0.9995 +vn 0.9991 -0.0000 0.0416 +vn -0.9991 -0.0000 0.0416 +vn 0.0000 0.8321 0.5547 +vn 0.0000 -0.8321 0.5547 +vn -0.0416 -0.0000 0.9991 +vn -0.0416 0.0000 -0.9991 +vn -0.5547 0.8321 0.0000 +vn -0.5547 -0.8321 0.0000 +vn 0.0416 0.0000 -0.9991 +vn 0.0416 -0.0000 0.9991 +vn 0.5547 0.8321 0.0000 +vn 0.5547 -0.8321 0.0000 +vn 0.3713 0.2425 -0.8963 +vn 0.0000 0.2425 -0.9701 +vn 0.6860 0.2425 -0.6860 +vn 0.8963 0.2425 -0.3713 +vn 0.9701 0.2425 -0.0000 +vn 0.8963 0.2425 0.3713 +vn 0.6860 0.2425 0.6860 +vn 0.3713 0.2425 0.8963 +vn 0.0000 0.2425 0.9701 +vn -0.3713 0.2425 0.8963 +vn -0.6860 0.2425 0.6860 +vn -0.8963 0.2425 0.3713 +vn -0.9701 0.2425 -0.0000 +vn -0.8963 0.2425 -0.3713 +vn -0.6860 0.2425 -0.6860 +vn -0.3713 0.2425 -0.8963 +vn -0.9239 0.0000 -0.3827 +vn -1.0000 -0.0000 -0.0000 +vn 0.9239 0.0000 0.3827 +vn 1.0000 -0.0000 0.0000 +vn -0.9239 -0.0000 0.3827 +vn 0.9239 0.0000 -0.3827 +vn -0.7071 -0.0000 0.7071 +vn 0.7071 0.0000 -0.7071 +vn -0.3827 -0.0000 0.9239 +vn 0.3827 0.0000 -0.9239 +vn -0.0000 -0.0000 1.0000 +vn -0.0000 0.0000 -1.0000 +vn -0.3827 0.0000 -0.9239 +vn 0.3827 -0.0000 0.9239 +vn -0.7071 0.0000 -0.7071 +vn 0.7071 -0.0000 0.7071 +vn 0.0000 -0.1240 0.9923 +vn 0.3797 -0.1240 0.9167 +vn -0.3797 -0.1240 -0.9167 +vn -0.7016 -0.1240 -0.7016 +vn 0.7016 -0.1240 0.7016 +vn -0.9167 -0.1240 -0.3797 +vn 0.9167 -0.1240 0.3797 +vn -0.9923 -0.1240 0.0000 +vn 0.9923 -0.1240 -0.0000 +vn -0.9167 -0.1240 0.3797 +vn 0.9167 -0.1240 -0.3797 +vn -0.7016 -0.1240 0.7016 +vn 0.7016 -0.1240 -0.7016 +vn -0.3797 -0.1240 0.9167 +vn 0.3797 -0.1240 -0.9167 +vn 0.0000 -0.1240 -0.9923 +vn 0.0127 0.3525 -0.9357 +vn -0.1164 0.9864 0.1164 +vn 0.3598 0.3824 -0.8511 +vn 0.6504 0.3925 -0.6504 +vn 0.8511 0.3824 -0.3598 +vn 0.9357 0.3525 -0.0127 +vn 0.8863 0.3053 0.3484 +vn 0.6991 0.2457 0.6714 +vn 0.3936 0.1823 0.9010 +vn 0.0149 0.1259 0.9919 +vn -0.3736 0.0869 0.9235 +vn -0.7052 0.0730 0.7052 +vn -0.9235 0.0869 0.3736 +vn -0.9919 0.1259 -0.0149 +vn -0.9010 0.1823 -0.3936 +vn -0.6714 0.2457 -0.6991 +vn -0.3484 0.3053 -0.8863 +vn 0.6325 0.4472 -0.6325 +vn 0.8263 0.4472 -0.3423 +vn 0.3423 0.4472 -0.8263 +vn 0.0000 0.4472 -0.8944 +vn -0.3423 0.4472 -0.8263 +vn -0.6325 0.4472 -0.6325 +vn -0.8263 0.4472 0.3423 +vn -0.8944 0.4472 0.0000 +vn -0.8263 0.4472 -0.3423 +vn -0.6325 0.4472 0.6325 +vn -0.3423 0.4472 0.8263 +vn -0.0000 0.4472 0.8944 +vn 0.3423 0.4472 0.8263 +vn 0.6325 0.4472 0.6325 +vn 0.8263 0.4472 0.3423 +vn 0.8944 0.4472 0.0000 +vn -0.5000 0.0000 -0.8660 +vn 0.5000 0.0000 -0.8660 +vn 0.5000 -0.0000 0.8660 +vn -0.5000 -0.0000 0.8660 +vn -0.0127 0.3525 0.9357 +vn 0.1164 0.9864 -0.1164 +vn -0.3598 0.3824 0.8511 +vn -0.6504 0.3925 0.6504 +vn -0.8511 0.3824 0.3598 +vn -0.9357 0.3525 0.0127 +vn -0.8863 0.3053 -0.3484 +vn -0.6991 0.2457 -0.6714 +vn -0.3936 0.1823 -0.9010 +vn -0.0149 0.1259 -0.9919 +vn 0.3736 0.0869 -0.9235 +vn 0.7052 0.0730 -0.7052 +vn 0.9235 0.0869 -0.3736 +vn 0.9919 0.1259 0.0149 +vn 0.9010 0.1823 0.3936 +vn 0.6714 0.2457 0.6991 +vn 0.3484 0.3053 0.8863 +vn -0.9357 0.3525 -0.0127 +vn 0.1164 0.9864 0.1164 +vn -0.8511 0.3824 -0.3598 +vn -0.6504 0.3925 -0.6504 +vn -0.3598 0.3824 -0.8511 +vn -0.0127 0.3525 -0.9357 +vn 0.3484 0.3053 -0.8863 +vn 0.6714 0.2457 -0.6991 +vn 0.9010 0.1823 -0.3936 +vn 0.9919 0.1259 -0.0149 +vn 0.9235 0.0869 0.3736 +vn 0.7052 0.0730 0.7052 +vn 0.3736 0.0869 0.9235 +vn -0.0149 0.1259 0.9919 +vn -0.3936 0.1823 0.9010 +vn -0.6991 0.2457 0.6714 +vn -0.8863 0.3053 0.3484 +vn 0.9357 0.3525 0.0127 +vn -0.1164 0.9864 -0.1164 +vn 0.8511 0.3824 0.3598 +vn 0.6504 0.3925 0.6504 +vn 0.3598 0.3824 0.8511 +vn 0.0127 0.3525 0.9357 +vn -0.3484 0.3053 0.8863 +vn -0.6714 0.2457 0.6991 +vn -0.9010 0.1823 0.3936 +vn -0.9919 0.1259 0.0149 +vn -0.9235 0.0869 -0.3736 +vn -0.7052 0.0730 -0.7052 +vn -0.3736 0.0869 -0.9235 +vn 0.0149 0.1259 -0.9919 +vn 0.3936 0.1823 -0.9010 +vn 0.6991 0.2457 -0.6714 +vn 0.8863 0.3053 -0.3484 +vn -0.8660 0.0000 0.5000 +vn -0.8660 0.0000 -0.5000 +vn 0.8660 -0.0000 -0.5000 +vn 0.8660 -0.0000 0.5000 +s off +f 4122/5862/512 4123/5863/512 4124/5864/512 +f 4125/5865/512 4126/5866/512 4127/5867/512 +f 4128/5868/512 4127/5869/512 4129/5870/512 +f 4128/5868/512 4130/5871/512 4131/5872/512 +f 4131/5872/512 4132/5873/512 4133/5874/512 +f 4134/5875/512 4132/5876/512 4135/5877/512 +f 4136/5878/512 4135/5879/512 4137/5880/512 +f 4138/5881/512 4137/5882/512 4139/5883/512 +f 4138/5881/512 4140/5884/512 4141/5885/512 +f 4142/5886/512 4140/5887/512 4143/5888/512 +f 4144/5889/512 4143/5890/512 4145/5891/512 +f 4144/5889/512 4146/5892/512 4147/5893/512 +f 4147/5893/512 4148/5894/512 4149/5895/512 +f 4150/5896/512 4151/5897/512 4152/5898/512 +f 4153/5899/512 4148/5900/512 4154/5901/512 +f 4152/5898/512 4126/5902/512 4155/5903/512 +f 4153/5899/512 4156/5904/512 4150/5896/512 +f 4157/5905/512 4158/5906/512 4159/5907/512 +f 4160/5908/513 4161/5909/513 4162/5910/513 +f 4163/5911/514 4164/5912/514 4161/5909/514 +f 4165/5913/515 4163/5914/515 4160/5915/515 +f 4164/5912/516 4162/5916/516 4161/5917/516 +f 4166/5918/512 4167/5919/512 4168/5920/512 +f 4169/5921/517 4170/5922/517 4171/5923/517 +f 4170/5924/518 4166/5918/518 4168/5920/518 +f 4167/5925/519 4170/5924/519 4168/5920/519 +f 4172/5926/520 4173/5927/520 4174/5928/520 +f 4175/5929/512 4176/5930/512 4177/5931/512 +f 4178/5932/512 4179/5933/512 4180/5934/512 +f 4181/5935/512 4180/5936/512 4182/5937/512 +f 4181/5935/512 4183/5938/512 4184/5939/512 +f 4184/5939/512 4185/5940/512 4186/5941/512 +f 4187/5942/512 4185/5943/512 4188/5944/512 +f 4189/5945/512 4188/5946/512 4190/5947/512 +f 4191/5948/512 4190/5949/512 4192/5950/512 +f 4191/5948/512 4193/5951/512 4194/5952/512 +f 4195/5953/512 4193/5954/512 4196/5955/512 +f 4197/5956/512 4196/5957/512 4198/5958/512 +f 4197/5956/512 4199/5959/512 4200/5960/512 +f 4200/5960/512 4201/5961/512 4202/5962/512 +f 4203/5963/512 4204/5964/512 4205/5965/512 +f 4206/5966/512 4201/5967/512 4207/5968/512 +f 4205/5965/512 4179/5969/512 4208/5970/512 +f 4206/5966/512 4209/5971/512 4203/5963/512 +f 4210/5972/512 4211/5973/512 4212/5974/512 +f 4213/5975/512 4214/5976/512 4215/5977/512 +f 4216/5978/521 4217/5979/521 4218/5980/521 +f 4217/5981/522 4213/5975/522 4215/5977/522 +f 4214/5982/523 4217/5981/523 4215/5977/523 +f 4219/5983/512 4220/5984/512 4221/5985/512 +f 4222/5986/512 4221/5987/512 4223/5988/512 +f 4222/5986/512 4224/5989/512 4225/5990/512 +f 4225/5990/512 4226/5991/512 4227/5992/512 +f 4228/5993/512 4226/5994/512 4229/5995/512 +f 4230/5996/512 4229/5997/512 4231/5998/512 +f 4232/5999/512 4231/6000/512 4233/6001/512 +f 4232/5999/512 4234/6002/512 4235/6003/512 +f 4236/6004/512 4234/6005/512 4237/6006/512 +f 4236/6004/512 4238/6007/512 4239/6008/512 +f 4239/6008/512 4240/6009/512 4241/6010/512 +f 4241/6010/512 4242/6011/512 4243/6012/512 +f 4244/6013/512 4245/6014/512 4246/6015/512 +f 4247/6016/512 4242/6017/512 4248/6018/512 +f 4246/6015/512 4220/6019/512 4249/6020/512 +f 4247/6016/512 4250/6021/512 4244/6013/512 +f 4251/6022/512 4252/6023/512 4253/6024/512 +f 4254/6025/512 4255/6026/512 4256/6027/512 +f 4257/6028/524 4258/6029/524 4259/6030/524 +f 4258/6031/525 4254/6025/525 4256/6027/525 +f 4255/6032/526 4258/6031/526 4256/6027/526 +f 4260/6033/512 4261/6034/512 4262/6035/512 +f 4263/6036/512 4262/6037/512 4264/6038/512 +f 4263/6036/512 4265/6039/512 4266/6040/512 +f 4266/6040/512 4267/6041/512 4268/6042/512 +f 4269/6043/512 4267/6044/512 4270/6045/512 +f 4271/6046/512 4270/6047/512 4272/6048/512 +f 4273/6049/512 4272/6050/512 4274/6051/512 +f 4273/6049/512 4275/6052/512 4276/6053/512 +f 4277/6054/512 4275/6055/512 4278/6056/512 +f 4279/6057/512 4278/6058/512 4280/6059/512 +f 4279/6057/512 4281/6060/512 4282/6061/512 +f 4282/6061/512 4283/6062/512 4284/6063/512 +f 4285/6064/512 4286/6065/512 4287/6066/512 +f 4288/6067/512 4283/6068/512 4289/6069/512 +f 4287/6066/512 4261/6070/512 4290/6071/512 +f 4285/6064/512 4289/6072/512 4291/6073/512 +f 4292/6074/512 4293/6075/512 4294/6076/512 +f 4295/6077/512 4296/6078/512 4297/6079/512 +f 4298/6080/527 4299/6081/527 4300/6082/527 +f 4299/6083/528 4295/6077/528 4297/6079/528 +f 4296/6084/529 4299/6083/529 4297/6079/529 +f 4301/6085/530 4302/6086/530 4303/6087/530 +f 4304/6088/531 4305/6089/531 4302/6086/531 +f 4306/6090/532 4304/6091/532 4301/6092/532 +f 4305/6089/533 4303/6093/533 4302/6094/533 +f 4307/6095/520 4308/6096/520 4309/6097/520 +f 4310/6098/512 4311/6099/512 4312/6100/512 +f 4313/6101/534 4314/6102/534 4315/6103/534 +f 4316/6104/535 4317/6105/535 4314/6102/535 +f 4318/6106/536 4316/6107/536 4313/6108/536 +f 4317/6105/537 4315/6109/537 4314/6110/537 +f 4319/6111/520 4320/6112/520 4321/6113/520 +f 4322/6114/512 4323/6115/512 4324/6116/512 +f 4325/6117/538 4326/6118/538 4327/6119/538 +f 4326/6118/539 4328/6120/539 4327/6119/539 +f 4329/6121/540 4326/6122/540 4330/6123/540 +f 4328/6120/541 4325/6124/541 4327/6125/541 +f 4331/6126/520 4332/6127/520 4333/6128/520 +f 4334/6129/512 4335/6130/512 4336/6131/512 +f 4122/5862/512 4337/6132/512 4338/6133/512 +f 4338/6133/512 4339/6134/512 4122/5862/512 +f 4339/6134/512 4123/5863/512 4122/5862/512 +f 4123/5863/512 4340/6135/512 4341/6136/512 +f 4341/6136/512 4342/6137/512 4124/5864/512 +f 4124/5864/512 4343/6138/512 4344/6139/512 +f 4344/6139/512 4345/6140/512 4346/6141/512 +f 4346/6141/512 4347/6142/512 4122/5862/512 +f 4347/6142/512 4348/6143/512 4122/5862/512 +f 4348/6143/512 4349/6144/512 4122/5862/512 +f 4123/5863/512 4341/6136/512 4124/5864/512 +f 4124/5864/512 4344/6139/512 4122/5862/512 +f 4344/6139/512 4346/6141/512 4122/5862/512 +f 4125/5865/512 4155/6145/512 4126/5866/512 +f 4128/5868/512 4125/5865/512 4127/5869/512 +f 4128/5868/512 4129/6146/512 4130/5871/512 +f 4131/5872/512 4130/6147/512 4132/5873/512 +f 4134/5875/512 4133/5874/512 4132/5876/512 +f 4136/5878/512 4134/5875/512 4135/5879/512 +f 4138/5881/512 4136/5878/512 4137/5882/512 +f 4138/5881/512 4139/6148/512 4140/5884/512 +f 4142/5886/512 4141/5885/512 4140/5887/512 +f 4144/5889/512 4142/5886/512 4143/5890/512 +f 4144/5889/512 4145/6149/512 4146/5892/512 +f 4147/5893/512 4146/6150/512 4148/5894/512 +f 4150/5896/512 4156/6151/512 4151/5897/512 +f 4153/5899/512 4149/5895/512 4148/5900/512 +f 4152/5898/512 4151/6152/512 4126/5902/512 +f 4153/5899/512 4154/6153/512 4156/5904/512 +f 4159/5907/512 4350/6154/512 4351/6155/512 +f 4351/6155/512 4352/6156/512 4159/5907/512 +f 4352/6156/512 4353/6157/512 4159/5907/512 +f 4353/6157/512 4354/6158/512 4355/6159/512 +f 4355/6159/512 4356/6160/512 4157/5905/512 +f 4157/5905/512 4357/6161/512 4158/5906/512 +f 4357/6161/512 4358/6162/512 4158/5906/512 +f 4358/6162/512 4359/6163/512 4158/5906/512 +f 4158/5906/512 4360/6164/512 4361/6165/512 +f 4361/6165/512 4362/6166/512 4159/5907/512 +f 4353/6157/512 4355/6159/512 4159/5907/512 +f 4355/6159/512 4157/5905/512 4159/5907/512 +f 4158/5906/512 4361/6165/512 4159/5907/512 +f 4160/5908/513 4163/5911/513 4161/5909/513 +f 4163/5911/514 4165/5913/514 4164/5912/514 +f 4170/5924/518 4169/5921/518 4166/5918/518 +f 4167/5925/519 4171/6167/519 4170/5924/519 +f 4174/5928/520 4363/6168/520 4172/5926/520 +f 4172/5926/520 4364/6169/520 4173/5927/520 +f 4173/5927/520 4365/6170/520 4174/5928/520 +f 4177/5931/512 4366/6171/512 4367/6172/512 +f 4367/6172/512 4368/6173/512 4177/5931/512 +f 4368/6173/512 4175/5929/512 4177/5931/512 +f 4178/5932/512 4208/6174/512 4179/5933/512 +f 4181/5935/512 4178/5932/512 4180/5936/512 +f 4181/5935/512 4182/6175/512 4183/5938/512 +f 4184/5939/512 4183/6176/512 4185/5940/512 +f 4187/5942/512 4186/5941/512 4185/5943/512 +f 4189/5945/512 4187/5942/512 4188/5946/512 +f 4191/5948/512 4189/5945/512 4190/5949/512 +f 4191/5948/512 4192/6177/512 4193/5951/512 +f 4195/5953/512 4194/5952/512 4193/5954/512 +f 4197/5956/512 4195/5953/512 4196/5957/512 +f 4197/5956/512 4198/6178/512 4199/5959/512 +f 4200/5960/512 4199/6179/512 4201/5961/512 +f 4203/5963/512 4209/6180/512 4204/5964/512 +f 4206/5966/512 4202/5962/512 4201/5967/512 +f 4205/5965/512 4204/6181/512 4179/5969/512 +f 4206/5966/512 4207/6182/512 4209/5971/512 +f 4212/5974/512 4369/6183/512 4370/6184/512 +f 4370/6184/512 4371/6185/512 4372/6186/512 +f 4372/6186/512 4373/6187/512 4374/6188/512 +f 4374/6188/512 4375/6189/512 4376/6190/512 +f 4376/6190/512 4377/6191/512 4378/6192/512 +f 4378/6192/512 4379/6193/512 4210/5972/512 +f 4210/5972/512 4380/6194/512 4211/5973/512 +f 4211/5973/512 4381/6195/512 4212/5974/512 +f 4212/5974/512 4370/6184/512 4376/6190/512 +f 4370/6184/512 4372/6186/512 4376/6190/512 +f 4372/6186/512 4374/6188/512 4376/6190/512 +f 4376/6190/512 4378/6192/512 4212/5974/512 +f 4378/6192/512 4210/5972/512 4212/5974/512 +f 4217/5981/522 4216/5978/522 4213/5975/522 +f 4214/5982/523 4218/6196/523 4217/5981/523 +f 4219/5983/512 4249/6197/512 4220/5984/512 +f 4222/5986/512 4219/5983/512 4221/5987/512 +f 4222/5986/512 4223/6198/512 4224/5989/512 +f 4225/5990/512 4224/6199/512 4226/5991/512 +f 4228/5993/512 4227/5992/512 4226/5994/512 +f 4230/5996/512 4228/5993/512 4229/5997/512 +f 4232/5999/512 4230/5996/512 4231/6000/512 +f 4232/5999/512 4233/6200/512 4234/6002/512 +f 4236/6004/512 4235/6003/512 4234/6005/512 +f 4236/6004/512 4237/6201/512 4238/6007/512 +f 4239/6008/512 4238/6202/512 4240/6009/512 +f 4241/6010/512 4240/6203/512 4242/6011/512 +f 4244/6013/512 4250/6204/512 4245/6014/512 +f 4247/6016/512 4243/6012/512 4242/6017/512 +f 4246/6015/512 4245/6205/512 4220/6019/512 +f 4247/6016/512 4248/6206/512 4250/6021/512 +f 4253/6024/512 4382/6207/512 4383/6208/512 +f 4383/6208/512 4384/6209/512 4385/6210/512 +f 4385/6210/512 4386/6211/512 4387/6212/512 +f 4387/6212/512 4388/6213/512 4251/6022/512 +f 4251/6022/512 4389/6214/512 4252/6023/512 +f 4389/6214/512 4390/6215/512 4252/6023/512 +f 4390/6215/512 4391/6216/512 4252/6023/512 +f 4252/6023/512 4392/6217/512 4393/6218/512 +f 4393/6218/512 4394/6219/512 4253/6024/512 +f 4253/6024/512 4383/6208/512 4385/6210/512 +f 4385/6210/512 4387/6212/512 4253/6024/512 +f 4387/6212/512 4251/6022/512 4253/6024/512 +f 4252/6023/512 4393/6218/512 4253/6024/512 +f 4258/6031/525 4257/6028/525 4254/6025/525 +f 4255/6032/526 4259/6220/526 4258/6031/526 +f 4260/6033/512 4290/6221/512 4261/6034/512 +f 4263/6036/512 4260/6033/512 4262/6037/512 +f 4263/6036/512 4264/6222/512 4265/6039/512 +f 4266/6040/512 4265/6223/512 4267/6041/512 +f 4269/6043/512 4268/6042/512 4267/6044/512 +f 4271/6046/512 4269/6043/512 4270/6047/512 +f 4273/6049/512 4271/6046/512 4272/6050/512 +f 4273/6049/512 4274/6224/512 4275/6052/512 +f 4277/6054/512 4276/6053/512 4275/6055/512 +f 4279/6057/512 4277/6054/512 4278/6058/512 +f 4279/6057/512 4280/6225/512 4281/6060/512 +f 4282/6061/512 4281/6226/512 4283/6062/512 +f 4285/6064/512 4291/6227/512 4286/6065/512 +f 4288/6067/512 4284/6063/512 4283/6068/512 +f 4287/6066/512 4286/6228/512 4261/6070/512 +f 4285/6064/512 4288/6067/512 4289/6072/512 +f 4294/6076/512 4395/6229/512 4396/6230/512 +f 4396/6230/512 4397/6231/512 4294/6076/512 +f 4397/6231/512 4398/6232/512 4294/6076/512 +f 4398/6232/512 4399/6233/512 4400/6234/512 +f 4400/6234/512 4401/6235/512 4292/6074/512 +f 4292/6074/512 4402/6236/512 4293/6075/512 +f 4402/6236/512 4403/6237/512 4293/6075/512 +f 4403/6237/512 4404/6238/512 4293/6075/512 +f 4293/6075/512 4405/6239/512 4406/6240/512 +f 4406/6240/512 4407/6241/512 4294/6076/512 +f 4398/6232/512 4400/6234/512 4294/6076/512 +f 4400/6234/512 4292/6074/512 4294/6076/512 +f 4293/6075/512 4406/6240/512 4294/6076/512 +f 4299/6083/528 4298/6080/528 4295/6077/528 +f 4296/6084/529 4300/6242/529 4299/6083/529 +f 4301/6085/530 4304/6088/530 4302/6086/530 +f 4304/6088/531 4306/6090/531 4305/6089/531 +f 4308/6096/520 4408/6243/520 4309/6097/520 +f 4309/6097/520 4409/6244/520 4410/6245/520 +f 4410/6245/520 4307/6095/520 4309/6097/520 +f 4312/6100/512 4411/6246/512 4412/6247/512 +f 4412/6247/512 4413/6248/512 4312/6100/512 +f 4413/6248/512 4310/6098/512 4312/6100/512 +f 4313/6101/534 4316/6104/534 4314/6102/534 +f 4316/6104/535 4318/6106/535 4317/6105/535 +f 4321/6113/520 4414/6249/520 4319/6111/520 +f 4319/6111/520 4415/6250/520 4320/6112/520 +f 4320/6112/520 4416/6251/520 4321/6113/520 +f 4324/6116/512 4417/6252/512 4418/6253/512 +f 4418/6253/512 4419/6254/512 4324/6116/512 +f 4419/6254/512 4322/6114/512 4324/6116/512 +f 4325/6117/538 4330/6255/538 4326/6118/538 +f 4326/6118/539 4329/6121/539 4328/6120/539 +f 4333/6128/520 4420/6256/520 4331/6126/520 +f 4331/6126/520 4421/6257/520 4332/6127/520 +f 4332/6127/520 4422/6258/520 4333/6128/520 +f 4336/6131/512 4423/6259/512 4424/6260/512 +f 4424/6260/512 4425/6261/512 4336/6131/512 +f 4425/6261/512 4334/6129/512 4336/6131/512 +s 1 +f 4426/6262/542 4427/6263/543 4428/6264/520 +f 4429/6265/544 4426/6262/542 4428/6266/520 +f 4430/6267/545 4429/6265/544 4428/6268/520 +f 4431/6269/546 4430/6267/545 4428/6270/520 +f 4432/6271/547 4431/6269/546 4428/6272/520 +f 4433/6273/548 4432/6271/547 4428/6274/520 +f 4434/6275/549 4433/6273/548 4428/6276/520 +f 4435/6277/550 4434/6275/549 4428/6278/520 +f 4435/6277/550 4428/6279/520 4436/6280/551 +f 4437/6281/552 4436/6280/551 4428/6282/520 +f 4438/6283/553 4437/6281/552 4428/6284/520 +f 4439/6285/554 4438/6283/553 4428/6286/520 +f 4440/6287/555 4439/6288/554 4428/6289/520 +f 4441/6290/556 4440/6287/555 4428/6291/520 +f 4442/6292/557 4441/6290/556 4428/6293/520 +f 4427/6263/543 4442/6292/557 4428/6294/520 +f 4440/6287/558 4443/6295/559 4439/6288/559 +f 4432/6271/560 4444/6296/561 4431/6269/561 +f 4439/6285/559 4445/6297/562 4438/6283/562 +f 4431/6269/561 4446/6298/563 4430/6267/563 +f 4438/6283/562 4447/6299/564 4437/6281/564 +f 4430/6267/563 4448/6300/565 4429/6265/565 +f 4437/6281/564 4449/6301/566 4436/6280/566 +f 4429/6265/565 4450/6302/567 4426/6262/567 +f 4436/6280/566 4451/6303/568 4435/6277/568 +f 4427/6263/569 4452/6304/570 4442/6292/570 +f 4426/6262/567 4453/6305/569 4427/6263/569 +f 4435/6277/568 4454/6306/571 4434/6275/571 +f 4442/6292/570 4455/6307/572 4441/6290/572 +f 4434/6275/571 4456/6308/573 4433/6273/573 +f 4441/6290/572 4457/6309/558 4440/6287/558 +f 4433/6273/573 4458/6310/560 4432/6271/560 +f 4451/6303/574 4459/6311/575 4454/6306/575 +f 4452/6304/576 4460/6312/577 4455/6307/577 +f 4454/6306/575 4461/6313/578 4456/6308/578 +f 4455/6307/577 4462/6314/579 4457/6309/579 +f 4456/6308/578 4463/6315/580 4458/6310/580 +f 4457/6309/579 4464/6316/581 4443/6295/581 +f 4458/6310/580 4465/6317/582 4444/6296/582 +f 4443/6318/581 4466/6319/583 4445/6297/583 +f 4444/6296/582 4467/6320/584 4446/6298/584 +f 4445/6297/583 4468/6321/585 4447/6299/585 +f 4446/6298/584 4469/6322/586 4448/6300/586 +f 4447/6299/585 4470/6323/587 4449/6301/587 +f 4448/6300/586 4471/6324/588 4450/6302/588 +f 4449/6301/587 4472/6325/574 4451/6303/574 +f 4453/6305/589 4473/6326/576 4452/6304/576 +f 4450/6302/588 4474/6327/589 4453/6305/589 +f 4467/6328/563 4123/6329/565 4469/6330/565 +f 4468/6331/564 4345/6332/566 4470/6333/566 +f 4469/6330/565 4339/6334/567 4471/6335/567 +f 4470/6333/566 4344/6336/568 4472/6337/568 +f 4474/6338/569 4337/6339/570 4473/6340/570 +f 4471/6335/567 4338/6341/569 4474/6338/569 +f 4472/6337/568 4343/6342/571 4459/6343/571 +f 4473/6340/570 4122/6344/572 4460/6345/572 +f 4459/6343/571 4124/6346/573 4461/6347/573 +f 4460/6345/572 4349/6348/558 4462/6349/558 +f 4461/6347/573 4342/6350/560 4463/6351/560 +f 4462/6349/558 4348/6352/559 4464/6353/559 +f 4463/6351/560 4341/6354/561 4465/6355/561 +f 4464/6356/559 4347/6357/562 4466/6319/562 +f 4465/6355/561 4340/6358/563 4467/6328/563 +f 4466/6319/562 4346/6359/564 4468/6331/564 +f 4155/5903/564 4475/6360/562 4152/5898/562 +f 4141/5885/565 4476/6361/563 4138/5881/563 +f 4125/5865/566 4477/6362/564 4155/6145/564 +f 4142/5886/567 4478/6363/565 4141/5885/565 +f 4128/5868/568 4479/6364/566 4125/5865/566 +f 4144/5889/569 4480/6365/567 4142/5886/567 +f 4131/5872/571 4481/6366/568 4128/5868/568 +f 4147/5893/570 4482/6367/569 4144/5889/569 +f 4133/5874/573 4483/6368/571 4131/5872/571 +f 4149/5895/572 4484/6369/570 4147/5893/570 +f 4134/5875/560 4485/6370/573 4133/5874/573 +f 4153/5899/558 4486/6371/572 4149/5895/572 +f 4136/5878/561 4487/6372/560 4134/5875/560 +f 4152/5898/562 4488/6373/559 4150/5896/559 +f 4150/5896/559 4489/6374/558 4153/5899/558 +f 4138/5881/563 4490/6375/561 4136/5878/561 +f 4482/6367/590 4491/6376/591 4480/6365/592 +f 4478/6363/593 4480/6365/592 4491/6377/591 +f 4476/6361/594 4478/6363/593 4491/6378/591 +f 4490/6375/595 4476/6361/594 4491/6379/591 +f 4487/6372/596 4490/6375/595 4491/6380/591 +f 4485/6370/597 4487/6372/596 4491/6381/591 +f 4483/6368/598 4485/6370/597 4491/6382/591 +f 4481/6366/599 4483/6368/598 4491/6383/591 +f 4479/6364/600 4481/6366/599 4491/6384/591 +f 4477/6362/601 4479/6364/600 4491/6385/591 +f 4475/6360/602 4477/6386/601 4491/6387/591 +f 4488/6373/603 4475/6360/602 4491/6388/591 +f 4489/6374/604 4488/6373/603 4491/6389/591 +f 4486/6371/605 4489/6374/604 4491/6390/591 +f 4484/6369/606 4486/6371/605 4491/6391/591 +f 4482/6367/590 4484/6369/606 4491/6392/591 +f 4140/5884/607 4357/6393/608 4157/6394/607 +f 4140/5887/607 4356/6395/609 4143/5888/609 +f 4143/5890/609 4355/6396/610 4145/5891/610 +f 4145/6149/610 4354/6397/611 4146/5892/611 +f 4148/5894/612 4354/6397/611 4353/6398/612 +f 4151/5897/613 4351/6399/614 4350/6400/613 +f 4148/5900/612 4352/6401/615 4154/5901/615 +f 4151/6152/613 4159/6402/616 4126/5902/616 +f 4154/6153/615 4351/6399/614 4156/5904/614 +f 4127/5867/617 4159/6403/616 4362/6404/617 +f 4127/5869/617 4361/6405/618 4129/5870/618 +f 4129/6146/618 4360/6406/619 4130/5871/619 +f 4130/6147/619 4158/6407/620 4132/5873/620 +f 4132/5876/620 4359/6408/621 4135/5877/621 +f 4135/5879/621 4358/6409/622 4137/5880/622 +f 4137/5882/622 4357/6393/608 4139/5883/608 +f 4172/6410/559 4367/6411/623 4366/6412/559 +f 4363/6413/623 4368/6414/624 4367/6411/623 +f 4174/6415/624 4175/6416/561 4368/6414/624 +f 4365/6417/561 4176/6418/625 4175/6416/561 +f 4173/6419/625 4177/6420/626 4176/6418/625 +f 4364/6421/626 4366/6412/559 4177/6422/626 +f 4208/5970/565 4492/6423/563 4205/5965/563 +f 4194/5952/564 4493/6424/562 4191/5948/562 +f 4178/5932/567 4494/6425/565 4208/6174/565 +f 4195/5953/566 4495/6426/564 4194/5952/564 +f 4181/5935/569 4496/6427/567 4178/5932/567 +f 4197/5956/568 4497/6428/566 4195/5953/566 +f 4184/5939/570 4498/6429/569 4181/5935/569 +f 4200/5960/571 4499/6430/568 4197/5956/568 +f 4186/5941/572 4500/6431/570 4184/5939/570 +f 4202/5962/573 4501/6432/571 4200/5960/571 +f 4187/5942/558 4502/6433/572 4186/5941/572 +f 4206/5966/560 4503/6434/573 4202/5962/573 +f 4189/5945/559 4504/6435/558 4187/5942/558 +f 4205/5965/563 4505/6436/561 4203/5963/561 +f 4203/5963/561 4506/6437/560 4206/5966/560 +f 4191/5948/562 4507/6438/559 4189/5945/559 +f 4499/6430/627 4508/6439/628 4497/6428/629 +f 4495/6426/630 4497/6428/629 4508/6440/628 +f 4493/6424/631 4495/6426/630 4508/6441/628 +f 4507/6438/632 4493/6424/631 4508/6442/628 +f 4504/6435/633 4507/6438/632 4508/6443/628 +f 4502/6433/634 4504/6435/633 4508/6444/628 +f 4500/6431/635 4502/6433/634 4508/6445/628 +f 4498/6429/636 4500/6431/635 4508/6446/628 +f 4496/6427/637 4498/6429/636 4508/6447/628 +f 4494/6425/638 4496/6427/637 4508/6448/628 +f 4492/6423/639 4494/6449/638 4508/6450/628 +f 4505/6436/640 4492/6423/639 4508/6451/628 +f 4506/6437/641 4505/6436/640 4508/6452/628 +f 4503/6434/642 4506/6437/641 4508/6453/628 +f 4501/6432/643 4503/6434/642 4508/6454/628 +f 4499/6430/627 4501/6432/643 4508/6455/628 +f 4193/5951/616 4377/6456/613 4376/6457/616 +f 4193/5954/616 4375/6458/617 4196/5955/617 +f 4196/5957/617 4374/6459/618 4198/5958/618 +f 4199/5959/619 4374/6459/618 4373/6460/619 +f 4201/5961/620 4373/6460/619 4372/6461/620 +f 4209/6180/622 4369/6462/608 4204/5964/608 +f 4201/5967/620 4371/6463/621 4207/5968/621 +f 4179/5969/607 4369/6462/608 4212/6464/607 +f 4207/6182/621 4370/6465/622 4209/5971/622 +f 4179/5933/607 4381/6466/609 4180/5934/609 +f 4180/5936/609 4211/6467/610 4182/5937/610 +f 4182/6175/610 4380/6468/611 4183/5938/611 +f 4183/6176/611 4210/6469/612 4185/5940/612 +f 4185/5943/612 4379/6470/615 4188/5944/615 +f 4188/5946/615 4378/6471/614 4190/5947/614 +f 4190/5949/614 4377/6456/613 4192/5950/613 +f 4249/6020/573 4509/6472/571 4246/6015/571 +f 4235/6003/572 4510/6473/570 4232/5999/570 +f 4219/5983/560 4511/6474/573 4249/6197/573 +f 4236/6004/558 4512/6475/572 4235/6003/572 +f 4222/5986/561 4513/6476/560 4219/5983/560 +f 4239/6008/559 4514/6477/558 4236/6004/558 +f 4225/5990/563 4515/6478/561 4222/5986/561 +f 4241/6010/562 4516/6479/559 4239/6008/559 +f 4227/5992/565 4517/6480/563 4225/5990/563 +f 4243/6012/564 4518/6481/562 4241/6010/562 +f 4228/5993/567 4519/6482/565 4227/5992/565 +f 4247/6016/566 4520/6483/564 4243/6012/564 +f 4230/5996/569 4521/6484/567 4228/5993/567 +f 4246/6015/571 4522/6485/568 4244/6013/568 +f 4244/6013/568 4523/6486/566 4247/6016/566 +f 4232/5999/570 4524/6487/569 4230/5996/569 +f 4516/6479/644 4525/6488/645 4514/6477/646 +f 4512/6475/647 4514/6477/646 4525/6489/645 +f 4510/6473/648 4512/6475/647 4525/6490/645 +f 4524/6487/649 4510/6473/648 4525/6491/645 +f 4521/6484/650 4524/6487/649 4525/6492/645 +f 4519/6482/651 4521/6484/650 4525/6493/645 +f 4517/6480/652 4519/6482/651 4525/6494/645 +f 4515/6478/653 4517/6480/652 4525/6495/645 +f 4513/6476/654 4515/6478/653 4525/6496/645 +f 4511/6474/655 4513/6476/654 4525/6497/645 +f 4509/6472/656 4511/6498/655 4525/6499/645 +f 4522/6485/657 4509/6472/656 4525/6500/645 +f 4523/6486/658 4522/6485/657 4525/6501/645 +f 4520/6483/659 4523/6486/658 4525/6502/645 +f 4518/6481/660 4520/6483/659 4525/6503/645 +f 4516/6479/644 4518/6481/660 4525/6504/645 +f 4233/6200/611 4251/6505/612 4234/6002/612 +f 4234/6005/612 4388/6506/615 4237/6006/615 +f 4237/6201/615 4387/6507/614 4238/6007/614 +f 4238/6202/614 4386/6508/613 4240/6009/613 +f 4242/6011/616 4386/6508/613 4385/6509/616 +f 4250/6204/618 4382/6510/619 4245/6014/619 +f 4242/6017/616 4384/6511/617 4248/6018/617 +f 4245/6205/619 4253/6512/620 4220/6019/620 +f 4248/6206/617 4383/6513/618 4250/6021/618 +f 4221/5985/621 4253/6514/620 4394/6515/621 +f 4221/5987/621 4393/6516/622 4223/5988/622 +f 4223/6198/622 4392/6517/608 4224/5989/608 +f 4224/6199/608 4252/6518/607 4226/5991/607 +f 4226/5994/607 4391/6519/609 4229/5995/609 +f 4229/5997/609 4390/6520/610 4231/5998/610 +f 4231/6000/610 4389/6521/611 4233/6001/611 +f 4290/6071/572 4526/6522/570 4287/6066/570 +f 4276/6053/573 4527/6523/571 4273/6049/571 +f 4260/6033/558 4528/6524/572 4290/6221/572 +f 4277/6054/560 4529/6525/573 4276/6053/573 +f 4263/6036/559 4530/6526/558 4260/6033/558 +f 4279/6057/561 4531/6527/560 4277/6054/560 +f 4266/6040/562 4532/6528/559 4263/6036/559 +f 4282/6061/563 4533/6529/561 4279/6057/561 +f 4268/6042/564 4534/6530/562 4266/6040/562 +f 4284/6063/565 4535/6531/563 4282/6061/563 +f 4269/6043/566 4536/6532/564 4268/6042/564 +f 4288/6067/567 4537/6533/565 4284/6063/565 +f 4271/6046/568 4538/6534/566 4269/6043/566 +f 4287/6066/570 4539/6535/569 4285/6064/569 +f 4285/6064/569 4540/6536/567 4288/6067/567 +f 4273/6049/571 4541/6537/568 4271/6046/568 +f 4533/6529/661 4542/6538/662 4531/6527/663 +f 4529/6525/664 4531/6527/663 4542/6539/662 +f 4527/6523/665 4529/6525/664 4542/6540/662 +f 4541/6537/666 4527/6523/665 4542/6541/662 +f 4538/6534/667 4541/6537/666 4542/6542/662 +f 4536/6532/668 4538/6534/667 4542/6543/662 +f 4534/6530/669 4536/6532/668 4542/6544/662 +f 4532/6528/670 4534/6530/669 4542/6545/662 +f 4530/6526/671 4532/6528/670 4542/6546/662 +f 4528/6524/672 4530/6526/671 4542/6547/662 +f 4526/6522/673 4528/6548/672 4542/6549/662 +f 4539/6535/674 4526/6522/673 4542/6550/662 +f 4540/6536/675 4539/6535/674 4542/6551/662 +f 4537/6533/676 4540/6536/675 4542/6552/662 +f 4535/6531/677 4537/6533/676 4542/6553/662 +f 4533/6529/661 4535/6531/677 4542/6554/662 +f 4275/6052/620 4402/6555/619 4292/6556/620 +f 4275/6055/620 4401/6557/621 4278/6056/621 +f 4278/6058/621 4400/6558/622 4280/6059/622 +f 4281/6060/608 4400/6558/622 4399/6559/608 +f 4281/6226/608 4398/6560/607 4283/6062/607 +f 4291/6227/610 4395/6561/611 4286/6065/611 +f 4289/6069/609 4398/6560/607 4397/6562/609 +f 4261/6070/612 4395/6561/611 4294/6563/612 +f 4289/6072/609 4396/6564/610 4291/6073/610 +f 4262/6035/615 4294/6565/612 4407/6566/615 +f 4262/6037/615 4406/6567/614 4264/6038/614 +f 4265/6039/613 4406/6567/614 4405/6568/613 +f 4265/6223/613 4293/6569/616 4267/6041/616 +f 4267/6044/616 4404/6570/617 4270/6045/617 +f 4270/6047/617 4403/6571/618 4272/6048/618 +f 4272/6050/618 4402/6555/619 4274/6051/619 +f 4309/6572/561 4412/6573/625 4411/6574/561 +f 4408/6575/625 4413/6576/626 4412/6573/625 +f 4308/6577/626 4310/6578/559 4413/6576/626 +f 4307/6579/559 4311/6580/623 4310/6578/559 +f 4410/6581/623 4312/6582/624 4311/6580/623 +f 4409/6583/624 4411/6574/561 4312/6584/624 +f 4319/6585/568 4418/6586/678 4417/6587/568 +f 4414/6588/678 4419/6589/679 4418/6586/678 +f 4321/6590/679 4322/6591/569 4419/6589/679 +f 4416/6592/569 4323/6593/680 4322/6591/569 +f 4320/6594/680 4324/6595/681 4323/6593/680 +f 4415/6596/681 4417/6587/568 4324/6597/681 +f 4331/6598/569 4424/6599/680 4423/6600/569 +f 4420/6601/680 4425/6602/681 4424/6599/680 +f 4333/6603/681 4334/6604/568 4425/6602/681 +f 4422/6605/568 4335/6606/678 4334/6604/568 +f 4332/6607/678 4336/6608/679 4335/6606/678 +f 4421/6609/679 4423/6600/569 4336/6610/679 +f 4440/6287/558 4457/6309/558 4443/6295/559 +f 4432/6271/560 4458/6310/560 4444/6296/561 +f 4439/6285/559 4443/6318/559 4445/6297/562 +f 4431/6269/561 4444/6296/561 4446/6298/563 +f 4438/6283/562 4445/6297/562 4447/6299/564 +f 4430/6267/563 4446/6298/563 4448/6300/565 +f 4437/6281/564 4447/6299/564 4449/6301/566 +f 4429/6265/565 4448/6300/565 4450/6302/567 +f 4436/6280/566 4449/6301/566 4451/6303/568 +f 4427/6263/569 4453/6305/569 4452/6304/570 +f 4426/6262/567 4450/6302/567 4453/6305/569 +f 4435/6277/568 4451/6303/568 4454/6306/571 +f 4442/6292/570 4452/6304/570 4455/6307/572 +f 4434/6275/571 4454/6306/571 4456/6308/573 +f 4441/6290/572 4455/6307/572 4457/6309/558 +f 4433/6273/573 4456/6308/573 4458/6310/560 +f 4451/6303/574 4472/6611/574 4459/6311/575 +f 4452/6304/576 4473/6612/576 4460/6312/577 +f 4454/6306/575 4459/6613/575 4461/6313/578 +f 4455/6307/577 4460/6614/577 4462/6314/579 +f 4456/6308/578 4461/6615/578 4463/6315/580 +f 4457/6309/579 4462/6616/579 4464/6316/581 +f 4458/6310/580 4463/6617/580 4465/6317/582 +f 4443/6318/581 4464/6356/581 4466/6319/583 +f 4444/6296/582 4465/6618/582 4467/6320/584 +f 4445/6297/583 4466/6619/583 4468/6321/585 +f 4446/6298/584 4467/6620/584 4469/6322/586 +f 4447/6299/585 4468/6621/585 4470/6323/587 +f 4448/6300/586 4469/6622/586 4471/6324/588 +f 4449/6301/587 4470/6623/587 4472/6325/574 +f 4453/6305/589 4474/6624/589 4473/6326/576 +f 4450/6302/588 4471/6625/588 4474/6327/589 +f 4467/6328/563 4340/6358/563 4123/6329/565 +f 4468/6331/564 4346/6359/564 4345/6332/566 +f 4469/6330/565 4123/6329/565 4339/6334/567 +f 4470/6333/566 4345/6332/566 4344/6336/568 +f 4474/6338/569 4338/6341/569 4337/6339/570 +f 4471/6335/567 4339/6334/567 4338/6341/569 +f 4472/6337/568 4344/6336/568 4343/6342/571 +f 4473/6340/570 4337/6339/570 4122/6344/572 +f 4459/6343/571 4343/6342/571 4124/6346/573 +f 4460/6345/572 4122/6344/572 4349/6348/558 +f 4461/6347/573 4124/6346/573 4342/6350/560 +f 4462/6349/558 4349/6348/558 4348/6352/559 +f 4463/6351/560 4342/6350/560 4341/6354/561 +f 4464/6356/559 4348/6626/559 4347/6357/562 +f 4465/6355/561 4341/6354/561 4340/6358/563 +f 4466/6319/562 4347/6357/562 4346/6359/564 +f 4155/5903/564 4477/6386/564 4475/6360/562 +f 4141/5885/565 4478/6363/565 4476/6361/563 +f 4125/5865/566 4479/6364/566 4477/6362/564 +f 4142/5886/567 4480/6365/567 4478/6363/565 +f 4128/5868/568 4481/6366/568 4479/6364/566 +f 4144/5889/569 4482/6367/569 4480/6365/567 +f 4131/5872/571 4483/6368/571 4481/6366/568 +f 4147/5893/570 4484/6369/570 4482/6367/569 +f 4133/5874/573 4485/6370/573 4483/6368/571 +f 4149/5895/572 4486/6371/572 4484/6369/570 +f 4134/5875/560 4487/6372/560 4485/6370/573 +f 4153/5899/558 4489/6374/558 4486/6371/572 +f 4136/5878/561 4490/6375/561 4487/6372/560 +f 4152/5898/562 4475/6360/562 4488/6373/559 +f 4150/5896/559 4488/6373/559 4489/6374/558 +f 4138/5881/563 4476/6361/563 4490/6375/561 +f 4140/5884/607 4139/6148/608 4357/6393/608 +f 4140/5887/607 4157/6394/607 4356/6395/609 +f 4143/5890/609 4356/6395/609 4355/6396/610 +f 4145/6149/610 4355/6396/610 4354/6397/611 +f 4148/5894/612 4146/6150/611 4354/6397/611 +f 4151/5897/613 4156/6151/614 4351/6399/614 +f 4148/5900/612 4353/6398/612 4352/6401/615 +f 4151/6152/613 4350/6400/613 4159/6402/616 +f 4154/6153/615 4352/6401/615 4351/6399/614 +f 4127/5867/617 4126/5866/616 4159/6403/616 +f 4127/5869/617 4362/6404/617 4361/6405/618 +f 4129/6146/618 4361/6405/618 4360/6406/619 +f 4130/6147/619 4360/6406/619 4158/6407/620 +f 4132/5876/620 4158/6407/620 4359/6408/621 +f 4135/5879/621 4359/6408/621 4358/6409/622 +f 4137/5882/622 4358/6409/622 4357/6393/608 +f 4172/6410/559 4363/6413/623 4367/6411/623 +f 4363/6413/623 4174/6415/624 4368/6414/624 +f 4174/6415/624 4365/6417/561 4175/6416/561 +f 4365/6417/561 4173/6419/625 4176/6418/625 +f 4173/6419/625 4364/6627/626 4177/6420/626 +f 4364/6421/626 4172/6410/559 4366/6412/559 +f 4208/5970/565 4494/6449/565 4492/6423/563 +f 4194/5952/564 4495/6426/564 4493/6424/562 +f 4178/5932/567 4496/6427/567 4494/6425/565 +f 4195/5953/566 4497/6428/566 4495/6426/564 +f 4181/5935/569 4498/6429/569 4496/6427/567 +f 4197/5956/568 4499/6430/568 4497/6428/566 +f 4184/5939/570 4500/6431/570 4498/6429/569 +f 4200/5960/571 4501/6432/571 4499/6430/568 +f 4186/5941/572 4502/6433/572 4500/6431/570 +f 4202/5962/573 4503/6434/573 4501/6432/571 +f 4187/5942/558 4504/6435/558 4502/6433/572 +f 4206/5966/560 4506/6437/560 4503/6434/573 +f 4189/5945/559 4507/6438/559 4504/6435/558 +f 4205/5965/563 4492/6423/563 4505/6436/561 +f 4203/5963/561 4505/6436/561 4506/6437/560 +f 4191/5948/562 4493/6424/562 4507/6438/559 +f 4193/5951/616 4192/6177/613 4377/6456/613 +f 4193/5954/616 4376/6457/616 4375/6458/617 +f 4196/5957/617 4375/6458/617 4374/6459/618 +f 4199/5959/619 4198/6178/618 4374/6459/618 +f 4201/5961/620 4199/6179/619 4373/6460/619 +f 4209/6180/622 4370/6465/622 4369/6462/608 +f 4201/5967/620 4372/6461/620 4371/6463/621 +f 4179/5969/607 4204/6181/608 4369/6462/608 +f 4207/6182/621 4371/6463/621 4370/6465/622 +f 4179/5933/607 4212/6628/607 4381/6466/609 +f 4180/5936/609 4381/6466/609 4211/6467/610 +f 4182/6175/610 4211/6467/610 4380/6468/611 +f 4183/6176/611 4380/6468/611 4210/6469/612 +f 4185/5943/612 4210/6469/612 4379/6470/615 +f 4188/5946/615 4379/6470/615 4378/6471/614 +f 4190/5949/614 4378/6471/614 4377/6456/613 +f 4249/6020/573 4511/6498/573 4509/6472/571 +f 4235/6003/572 4512/6475/572 4510/6473/570 +f 4219/5983/560 4513/6476/560 4511/6474/573 +f 4236/6004/558 4514/6477/558 4512/6475/572 +f 4222/5986/561 4515/6478/561 4513/6476/560 +f 4239/6008/559 4516/6479/559 4514/6477/558 +f 4225/5990/563 4517/6480/563 4515/6478/561 +f 4241/6010/562 4518/6481/562 4516/6479/559 +f 4227/5992/565 4519/6482/565 4517/6480/563 +f 4243/6012/564 4520/6483/564 4518/6481/562 +f 4228/5993/567 4521/6484/567 4519/6482/565 +f 4247/6016/566 4523/6486/566 4520/6483/564 +f 4230/5996/569 4524/6487/569 4521/6484/567 +f 4246/6015/571 4509/6472/571 4522/6485/568 +f 4244/6013/568 4522/6485/568 4523/6486/566 +f 4232/5999/570 4510/6473/570 4524/6487/569 +f 4233/6200/611 4389/6521/611 4251/6505/612 +f 4234/6005/612 4251/6505/612 4388/6506/615 +f 4237/6201/615 4388/6506/615 4387/6507/614 +f 4238/6202/614 4387/6507/614 4386/6508/613 +f 4242/6011/616 4240/6203/613 4386/6508/613 +f 4250/6204/618 4383/6513/618 4382/6510/619 +f 4242/6017/616 4385/6509/616 4384/6511/617 +f 4245/6205/619 4382/6510/619 4253/6512/620 +f 4248/6206/617 4384/6511/617 4383/6513/618 +f 4221/5985/621 4220/5984/620 4253/6514/620 +f 4221/5987/621 4394/6515/621 4393/6516/622 +f 4223/6198/622 4393/6516/622 4392/6517/608 +f 4224/6199/608 4392/6517/608 4252/6518/607 +f 4226/5994/607 4252/6518/607 4391/6519/609 +f 4229/5997/609 4391/6519/609 4390/6520/610 +f 4231/6000/610 4390/6520/610 4389/6521/611 +f 4290/6071/572 4528/6548/572 4526/6522/570 +f 4276/6053/573 4529/6525/573 4527/6523/571 +f 4260/6033/558 4530/6526/558 4528/6524/572 +f 4277/6054/560 4531/6527/560 4529/6525/573 +f 4263/6036/559 4532/6528/559 4530/6526/558 +f 4279/6057/561 4533/6529/561 4531/6527/560 +f 4266/6040/562 4534/6530/562 4532/6528/559 +f 4282/6061/563 4535/6531/563 4533/6529/561 +f 4268/6042/564 4536/6532/564 4534/6530/562 +f 4284/6063/565 4537/6533/565 4535/6531/563 +f 4269/6043/566 4538/6534/566 4536/6532/564 +f 4288/6067/567 4540/6536/567 4537/6533/565 +f 4271/6046/568 4541/6537/568 4538/6534/566 +f 4287/6066/570 4526/6522/570 4539/6535/569 +f 4285/6064/569 4539/6535/569 4540/6536/567 +f 4273/6049/571 4527/6523/571 4541/6537/568 +f 4275/6052/620 4274/6224/619 4402/6555/619 +f 4275/6055/620 4292/6556/620 4401/6557/621 +f 4278/6058/621 4401/6557/621 4400/6558/622 +f 4281/6060/608 4280/6225/622 4400/6558/622 +f 4281/6226/608 4399/6559/608 4398/6560/607 +f 4291/6227/610 4396/6564/610 4395/6561/611 +f 4289/6069/609 4283/6068/607 4398/6560/607 +f 4261/6070/612 4286/6228/611 4395/6561/611 +f 4289/6072/609 4397/6562/609 4396/6564/610 +f 4262/6035/615 4261/6034/612 4294/6565/612 +f 4262/6037/615 4407/6566/615 4406/6567/614 +f 4265/6039/613 4264/6222/614 4406/6567/614 +f 4265/6223/613 4405/6568/613 4293/6569/616 +f 4267/6044/616 4293/6569/616 4404/6570/617 +f 4270/6047/617 4404/6570/617 4403/6571/618 +f 4272/6050/618 4403/6571/618 4402/6555/619 +f 4309/6572/561 4408/6575/625 4412/6573/625 +f 4408/6575/625 4308/6577/626 4413/6576/626 +f 4308/6577/626 4307/6579/559 4310/6578/559 +f 4307/6579/559 4410/6581/623 4311/6580/623 +f 4410/6581/623 4409/6629/624 4312/6582/624 +f 4409/6583/624 4309/6572/561 4411/6574/561 +f 4319/6585/568 4414/6588/678 4418/6586/678 +f 4414/6588/678 4321/6590/679 4419/6589/679 +f 4321/6590/679 4416/6592/569 4322/6591/569 +f 4416/6592/569 4320/6594/680 4323/6593/680 +f 4320/6594/680 4415/6630/681 4324/6595/681 +f 4415/6596/681 4319/6585/568 4417/6587/568 +f 4331/6598/569 4420/6601/680 4424/6599/680 +f 4420/6601/680 4333/6603/681 4425/6602/681 +f 4333/6603/681 4422/6605/568 4334/6604/568 +f 4422/6605/568 4332/6607/678 4335/6606/678 +f 4332/6607/678 4421/6631/679 4336/6608/679 +f 4421/6609/679 4331/6598/569 4423/6600/569 +o Huge_Missile +v 0.923880 8.500000 0.382684 +v 0.618718 8.500000 0.618719 +v 0.808395 8.500000 0.334848 +v -0.707107 8.500000 -0.707107 +v -0.808395 8.500000 -0.334848 +v -0.923880 8.500000 -0.382683 +v 0.382683 8.500000 0.923880 +v 0.707107 8.500000 0.707107 +v -0.382683 8.500000 -0.923880 +v -0.618718 8.500000 -0.618719 +v 0.000000 8.500000 0.875000 +v 0.334848 8.500000 0.808394 +v 0.000000 8.500000 -1.000000 +v 0.334848 8.500000 -0.808395 +v 0.000000 8.500000 -0.875000 +v -0.334848 8.500000 -0.808394 +v -0.382683 8.500000 0.923880 +v 0.000000 8.500000 1.000000 +v 0.707107 8.500000 -0.707107 +v 0.382683 8.500000 -0.923880 +v -0.707107 8.500000 0.707107 +v -0.334848 8.500000 0.808394 +v 0.808394 8.500000 -0.334848 +v 0.618718 8.500000 -0.618719 +v -0.923880 8.500000 0.382684 +v -0.618718 8.500000 0.618719 +v 0.923879 8.500000 -0.382684 +v 0.875000 8.500000 0.000000 +v -1.000000 8.500000 0.000000 +v -0.808395 8.500000 0.334848 +v 1.000000 8.500000 0.000000 +v 0.265165 2.000000 -0.359835 +v -0.265165 2.000000 -0.359835 +v -0.265165 2.000000 -0.890165 +v -0.875000 8.500000 0.000000 +v 1.000000 8.250000 0.000000 +v 0.808395 8.250000 0.334848 +v 0.923880 8.250000 0.382684 +v 0.923879 8.250000 -0.382684 +v 0.875000 8.250000 0.000000 +v 0.707107 8.250000 -0.707107 +v 0.808394 8.250000 -0.334848 +v 0.382683 8.250000 -0.923880 +v 0.618718 8.250000 -0.618719 +v 0.000000 8.250000 -1.000000 +v 0.334848 8.250000 -0.808395 +v -0.382683 8.250000 -0.923880 +v 0.000000 8.250000 -0.875000 +v -0.618718 8.250000 -0.618719 +v -0.334848 8.250000 -0.808394 +v -0.707107 8.250000 -0.707107 +v -0.808395 8.250000 -0.334848 +v -0.923880 8.250000 -0.382683 +v -0.875000 8.250000 0.000000 +v -1.000000 8.250000 0.000000 +v -0.808395 8.250000 0.334848 +v -0.923880 8.250000 0.382684 +v -0.618718 8.250000 0.618719 +v -0.382683 8.250000 0.923880 +v -0.707107 8.250000 0.707107 +v 0.000000 8.250000 0.875000 +v -0.334848 8.250000 0.808394 +v 0.382683 8.250000 0.923880 +v 0.000000 8.250000 1.000000 +v 0.707107 8.250000 0.707107 +v 0.334848 8.250000 0.808394 +v 0.618718 8.250000 0.618719 +v -0.883883 2.500000 -0.883883 +v 0.883883 2.500000 -0.883884 +v 0.883883 2.500000 0.883884 +v 1.502602 2.375000 -1.502602 +v 0.839689 2.375000 -0.751301 +v 0.751301 2.375000 -0.839689 +v 0.839689 5.375000 -0.751301 +v 1.502602 3.375000 -1.502602 +v 0.751301 5.375000 -0.839689 +v 0.265165 2.000000 0.890165 +v -0.265165 2.000000 0.890165 +v -0.265165 2.000000 0.359835 +v 0.890165 2.000000 0.265165 +v 0.359835 2.000000 0.265165 +v 0.359835 2.000000 -0.265165 +v -0.359835 2.000000 0.265165 +v -0.890165 2.000000 0.265165 +v -0.890165 2.000000 -0.265165 +v -1.502602 2.375000 1.502602 +v -0.839689 2.375000 0.751301 +v -0.751301 2.375000 0.839689 +v -0.839689 5.375000 0.751301 +v -1.502602 3.375000 1.502602 +v -0.751301 5.375000 0.839689 +v -1.502602 2.375000 -1.502602 +v -0.751301 2.375000 -0.839689 +v -0.839689 2.375000 -0.751301 +v -0.751301 5.375000 -0.839689 +v -1.502602 3.375000 -1.502602 +v -0.839689 5.375000 -0.751301 +v 1.502602 2.375000 1.502601 +v 0.751301 2.375000 0.839689 +v 0.839689 2.375000 0.751301 +v 0.751301 5.375000 0.839689 +v 1.502602 3.375000 1.502601 +v 0.839689 5.375000 0.751301 +v -0.143506 2.000000 -0.971455 +v 0.265165 2.000000 -0.890165 +v 0.000000 2.000000 -1.000000 +v 0.143506 2.000000 -0.971455 +v 0.346455 2.000000 -0.768507 +v 0.375000 2.000000 -0.625000 +v 0.346455 2.000000 -0.481493 +v 0.143506 2.000000 -0.278545 +v 0.000000 2.000000 -0.250000 +v -0.143506 2.000000 -0.278545 +v -0.346455 2.000000 -0.481494 +v -0.375000 2.000000 -0.625000 +v -0.346455 2.000000 -0.768506 +v -0.478354 2.500000 -1.154850 +v 0.000000 2.500000 -1.250000 +v 0.478354 2.500000 -1.154850 +v 1.154849 2.500000 -0.478354 +v 1.250000 2.500000 0.000000 +v 1.154849 2.500000 0.478354 +v 0.478354 2.500000 1.154850 +v 0.000000 2.500000 1.250000 +v -0.478354 2.500000 1.154850 +v -0.883883 2.500000 0.883883 +v -1.154849 2.500000 0.478354 +v -1.250000 2.500000 0.000000 +v -1.154849 2.500000 -0.478354 +v -0.143506 2.000000 0.278545 +v 0.265165 2.000000 0.359835 +v 0.000000 2.000000 0.250000 +v 0.143506 2.000000 0.278545 +v 0.346455 2.000000 0.481493 +v 0.375000 2.000000 0.625000 +v 0.346455 2.000000 0.768507 +v 0.143506 2.000000 0.971455 +v 0.000000 2.000000 1.000000 +v -0.143506 2.000000 0.971455 +v -0.346455 2.000000 0.768506 +v -0.375000 2.000000 0.625000 +v -0.346455 2.000000 0.481494 +v 0.481494 2.000000 -0.346455 +v 0.890165 2.000000 -0.265165 +v 0.625000 2.000000 -0.375000 +v 0.768506 2.000000 -0.346455 +v 0.971455 2.000000 -0.143507 +v 1.000000 2.000000 0.000000 +v 0.971455 2.000000 0.143507 +v 0.768506 2.000000 0.346455 +v 0.625000 2.000000 0.375000 +v 0.481494 2.000000 0.346455 +v 0.278545 2.000000 0.143506 +v 0.250000 2.000000 0.000000 +v 0.278545 2.000000 -0.143506 +v -0.768506 2.000000 -0.346455 +v -0.359835 2.000000 -0.265165 +v -0.625000 2.000000 -0.375000 +v -0.481494 2.000000 -0.346455 +v -0.278545 2.000000 -0.143507 +v -0.250000 2.000000 0.000000 +v -0.278545 2.000000 0.143507 +v -0.481494 2.000000 0.346455 +v -0.625000 2.000000 0.375000 +v -0.768506 2.000000 0.346455 +v -0.971455 2.000000 0.143506 +v -1.000000 2.000000 0.000000 +v -0.971455 2.000000 -0.143506 +v -1.250000 7.250000 0.000000 +v -1.154849 7.250000 0.478354 +v -0.707107 11.500000 -0.707107 +v -0.334848 13.000000 -0.808394 +v -0.382683 11.500000 -0.923880 +v 0.707107 11.500000 0.707107 +v 0.334848 13.000000 0.808394 +v 0.382683 11.500000 0.923880 +v -0.923880 11.500000 -0.382683 +v -0.618718 13.000000 -0.618719 +v 0.923880 11.500000 0.382684 +v 0.618718 13.000000 0.618719 +v -1.000000 11.500000 0.000000 +v -0.808395 13.000000 -0.334848 +v 0.875000 13.000000 0.000000 +v 0.808395 13.000000 0.334848 +v -0.923880 11.500000 0.382684 +v -0.875000 13.000000 0.000000 +v 0.923879 11.500000 -0.382684 +v 1.000000 11.500000 0.000000 +v -0.707107 11.500000 0.707107 +v -0.808395 13.000000 0.334848 +v 0.707107 11.500000 -0.707107 +v 0.808394 13.000000 -0.334848 +v -0.382683 11.500000 0.923880 +v -0.618718 13.000000 0.618719 +v 0.382683 11.500000 -0.923880 +v 0.618718 13.000000 -0.618719 +v 0.000000 11.500000 1.000000 +v -0.334848 13.000000 0.808394 +v 0.000000 13.000000 -0.875000 +v 0.000000 11.500000 -1.000000 +v 0.334848 13.000000 -0.808395 +v 0.000000 13.000000 0.875000 +v 1.154849 7.250000 0.478354 +v 1.250000 7.250000 0.000000 +v 0.000000 15.499999 0.000001 +v -1.154849 7.250000 -0.478354 +v 0.883883 7.250000 0.883884 +v -0.883883 7.250000 -0.883883 +v 0.478354 7.250000 1.154850 +v -0.478354 7.250000 -1.154850 +v 0.000000 7.250000 1.250000 +v 0.478354 7.250000 -1.154850 +v 0.000000 7.250000 -1.250000 +v -0.478354 7.250000 1.154850 +v 0.883883 7.250000 -0.883884 +v 0.346455 2.250000 -0.481493 +v 0.176777 2.500000 -0.448223 +v 0.265165 2.250000 -0.359835 +v 0.143506 2.250000 -0.278545 +v 0.095671 2.500000 -0.394030 +v 0.000000 2.500000 -0.375000 +v 0.000000 2.250000 -0.250000 +v -0.143506 2.250000 -0.278545 +v -0.095671 2.500000 -0.394030 +v -0.176777 2.500000 -0.448223 +v -0.265165 2.250000 -0.359835 +v -0.230970 2.500000 -0.529329 +v -0.346455 2.250000 -0.481494 +v -0.250000 2.500000 -0.625000 +v -0.375000 2.250000 -0.625000 +v -0.230970 2.500000 -0.720671 +v -0.346455 2.250000 -0.768506 +v -0.176777 2.500000 -0.801777 +v -0.265165 2.250000 -0.890165 +v -0.143506 2.250000 -0.971455 +v -0.095671 2.500000 -0.855970 +v 0.000000 2.500000 -0.875000 +v 0.000000 2.250000 -1.000000 +v 0.095671 2.500000 -0.855970 +v 0.143506 2.250000 -0.971455 +v 0.176777 2.500000 -0.801777 +v 0.265165 2.250000 -0.890165 +v 0.346455 2.250000 -0.768507 +v 0.230970 2.500000 -0.720671 +v 0.375000 2.250000 -0.625000 +v 0.250000 2.500000 -0.625000 +v 0.230970 2.500000 -0.529329 +v 1.154849 7.250000 -0.478354 +v -0.883883 7.250000 0.883883 +v 0.717107 9.313000 -0.717107 +v 0.392683 10.500000 -0.933880 +v 0.717107 10.500000 -0.717107 +v 0.933879 9.313000 -0.392684 +v 0.933879 10.500000 -0.392684 +v 1.010000 9.313000 -0.010000 +v 1.010000 10.500000 -0.010000 +v 0.346455 2.250000 0.768507 +v 0.176777 2.500000 0.801777 +v 0.265165 2.250000 0.890165 +v 0.143506 2.250000 0.971455 +v 0.095671 2.500000 0.855970 +v 0.000000 2.500000 0.875000 +v 0.000000 2.250000 1.000000 +v -0.143506 2.250000 0.971455 +v -0.095671 2.500000 0.855970 +v -0.176777 2.500000 0.801777 +v -0.265165 2.250000 0.890165 +v -0.230970 2.500000 0.720671 +v -0.346455 2.250000 0.768506 +v -0.250000 2.500000 0.625000 +v -0.375000 2.250000 0.625000 +v -0.346455 2.250000 0.481494 +v -0.230970 2.500000 0.529329 +v -0.176777 2.500000 0.448223 +v -0.265165 2.250000 0.359835 +v -0.143506 2.250000 0.278545 +v -0.095671 2.500000 0.394030 +v 0.000000 2.250000 0.250000 +v 0.000000 2.500000 0.375000 +v 0.095671 2.500000 0.394030 +v 0.143506 2.250000 0.278545 +v 0.265165 2.250000 0.359835 +v 0.176777 2.500000 0.448223 +v 0.346455 2.250000 0.481493 +v 0.230970 2.500000 0.529329 +v 0.375000 2.250000 0.625000 +v 0.250000 2.500000 0.625000 +v 0.230970 2.500000 0.720671 +v 0.971455 2.250000 0.143507 +v 0.801777 2.500000 0.176777 +v 0.890165 2.250000 0.265165 +v 0.768506 2.250000 0.346455 +v 0.720671 2.500000 0.230970 +v 0.625000 2.500000 0.250000 +v 0.625000 2.250000 0.375000 +v 0.481494 2.250000 0.346455 +v 0.529329 2.500000 0.230970 +v 0.448223 2.500000 0.176777 +v 0.359835 2.250000 0.265165 +v 0.394030 2.500000 0.095671 +v 0.278545 2.250000 0.143506 +v 0.375000 2.500000 0.000000 +v 0.250000 2.250000 0.000000 +v 0.278545 2.250000 -0.143506 +v 0.394030 2.500000 -0.095671 +v 0.448223 2.500000 -0.176777 +v 0.359835 2.250000 -0.265165 +v 0.481494 2.250000 -0.346455 +v 0.529329 2.500000 -0.230970 +v 0.625000 2.500000 -0.250000 +v 0.625000 2.250000 -0.375000 +v 0.720671 2.500000 -0.230970 +v 0.768506 2.250000 -0.346455 +v 0.801777 2.500000 -0.176777 +v 0.890165 2.250000 -0.265165 +v 0.971455 2.250000 -0.143507 +v 0.855970 2.500000 -0.095671 +v 1.000000 2.250000 0.000000 +v 0.875000 2.500000 0.000000 +v 0.855970 2.500000 0.095671 +v -0.278545 2.250000 0.143507 +v -0.448223 2.500000 0.176777 +v -0.359835 2.250000 0.265165 +v -0.481494 2.250000 0.346455 +v -0.529329 2.500000 0.230970 +v -0.625000 2.500000 0.250000 +v -0.625000 2.250000 0.375000 +v -0.768506 2.250000 0.346455 +v -0.720671 2.500000 0.230970 +v -0.801777 2.500000 0.176777 +v -0.890165 2.250000 0.265165 +v -0.855970 2.500000 0.095671 +v -0.971455 2.250000 0.143506 +v -0.875000 2.500000 0.000000 +v -1.000000 2.250000 0.000000 +v -0.971455 2.250000 -0.143506 +v -0.855970 2.500000 -0.095671 +v -0.801777 2.500000 -0.176777 +v -0.890165 2.250000 -0.265165 +v -0.768506 2.250000 -0.346455 +v -0.720671 2.500000 -0.230970 +v -0.625000 2.500000 -0.250000 +v -0.625000 2.250000 -0.375000 +v -0.529329 2.500000 -0.230970 +v -0.481494 2.250000 -0.346455 +v -0.448223 2.500000 -0.176777 +v -0.359835 2.250000 -0.265165 +v -0.278545 2.250000 -0.143507 +v -0.394030 2.500000 -0.095671 +v -0.250000 2.250000 0.000000 +v -0.375000 2.500000 0.000000 +v -0.394030 2.500000 0.095671 +v -0.717106 9.313000 0.717107 +v -0.392683 10.500000 0.933880 +v -0.717106 10.500000 0.717107 +v -0.933879 9.313000 0.392684 +v -0.933879 10.500000 0.392684 +v -1.010000 9.313000 0.010000 +v -1.010000 10.500000 0.010000 +v 0.392683 9.313000 -0.933880 +v -0.392683 9.313000 0.933880 +vt 0.291667 0.471698 +vt 0.250000 0.462264 +vt 0.291667 0.462264 +vt 0.583333 0.471698 +vt 0.625000 0.462264 +vt 0.625000 0.471698 +vt 0.208333 0.471698 +vt 0.250000 0.471698 +vt 0.541667 0.471698 +vt 0.583333 0.462264 +vt 0.166667 0.462264 +vt 0.208333 0.462264 +vt 0.500000 0.471698 +vt 0.458333 0.462264 +vt 0.500000 0.462264 +vt 0.541667 0.462264 +vt 0.125000 0.471698 +vt 0.166667 0.471698 +vt 0.416667 0.471698 +vt 0.458333 0.471698 +vt 0.083333 0.471698 +vt 0.125000 0.462264 +vt 0.375000 0.462264 +vt 0.416667 0.462264 +vt 0.041667 0.471698 +vt 0.083333 0.462264 +vt 0.375000 0.471698 +vt 0.333333 0.462264 +vt -0.000000 0.471698 +vt 0.041667 0.462264 +vt 0.333333 0.471698 +vt 0.678877 0.708687 +vt 0.678877 0.668671 +vt 0.737790 0.668671 +vt 0.666667 0.462264 +vt 0.666667 0.471698 +vt 0.333333 0.433962 +vt 0.291667 0.443396 +vt 0.291667 0.433962 +vt 0.375000 0.433962 +vt 0.333333 0.443396 +vt 0.416667 0.433962 +vt 0.375000 0.443396 +vt 0.458333 0.433962 +vt 0.416667 0.443396 +vt 0.500000 0.433962 +vt 0.458333 0.443396 +vt 0.541667 0.433962 +vt 0.500000 0.443396 +vt 0.583333 0.443396 +vt 0.541667 0.443396 +vt 0.583333 0.433962 +vt 0.625000 0.443396 +vt 0.625000 0.433962 +vt 0.666667 0.443396 +vt 0.000000 0.433962 +vt 0.041667 0.443396 +vt 0.000000 0.443396 +vt 0.041667 0.433962 +vt 0.083333 0.443396 +vt 0.125000 0.433962 +vt 0.083333 0.433962 +vt 0.166667 0.443396 +vt 0.125000 0.443396 +vt 0.208333 0.433962 +vt 0.166667 0.433962 +vt 0.250000 0.433962 +vt 0.208333 0.443396 +vt 0.250000 0.443396 +vt 0.903652 0.461671 +vt 0.903652 0.594933 +vt 0.707459 0.594933 +vt 1.000000 0.004717 +vt 0.888889 0.004717 +vt 0.888889 -0.000000 +vt 0.888889 0.231132 +vt 1.000000 0.231132 +vt 0.888889 0.235849 +vt 1.000000 0.080189 +vt 0.888889 0.004717 +vt 0.678877 0.708687 +vt 0.678877 0.668671 +vt 0.737790 0.668671 +vt 0.678877 0.708687 +vt 0.678877 0.668671 +vt 0.737790 0.668671 +vt 0.678877 0.708687 +vt 0.678877 0.668671 +vt 0.737790 0.668671 +vt 1.000000 0.004717 +vt 0.888889 0.004717 +vt 0.888889 -0.000000 +vt 0.888889 0.231132 +vt 1.000000 0.231132 +vt 0.888889 0.235849 +vt 1.000000 0.080189 +vt 0.888889 0.004717 +vt 1.000000 0.004717 +vt 0.888889 0.004717 +vt 0.888889 -0.000000 +vt 0.888889 0.231132 +vt 1.000000 0.231132 +vt 0.888889 0.235849 +vt 1.000000 0.080189 +vt 0.888889 0.004717 +vt 1.000000 0.004717 +vt 0.888889 0.004717 +vt 0.888889 -0.000000 +vt 0.888889 0.231132 +vt 1.000000 0.231132 +vt 0.888889 0.235849 +vt 1.000000 0.080189 +vt 0.888889 0.004717 +vt 0.000000 0.462264 +vt 0.746820 0.677851 +vt 0.737790 0.708687 +vt 0.749991 0.688679 +vt 0.746820 0.699508 +vt 0.724275 0.714821 +vt 0.708333 0.716975 +vt 0.692392 0.714821 +vt 0.669847 0.699508 +vt 0.666676 0.688679 +vt 0.669847 0.677851 +vt 0.692392 0.662537 +vt 0.708333 0.660383 +vt 0.724275 0.662537 +vt 0.666667 0.433962 +vt 0.933724 0.492241 +vt 0.944284 0.528302 +vt 0.933724 0.564363 +vt 0.858645 0.615360 +vt 0.805556 0.622533 +vt 0.752466 0.615360 +vt 0.677387 0.564362 +vt 0.666827 0.528302 +vt 0.677387 0.492241 +vt 0.707459 0.461671 +vt 0.752466 0.441244 +vt 0.805556 0.434071 +vt 0.858645 0.441244 +vt 0.888889 0.231132 +vt 0.746820 0.677851 +vt 0.737790 0.708687 +vt 0.749991 0.688679 +vt 0.746820 0.699508 +vt 0.724275 0.714821 +vt 0.708333 0.716975 +vt 0.692392 0.714821 +vt 0.669847 0.699508 +vt 0.666676 0.688679 +vt 0.669847 0.677851 +vt 0.692392 0.662537 +vt 0.708333 0.660383 +vt 0.724275 0.662537 +vt 0.746820 0.677851 +vt 0.737790 0.708687 +vt 0.749991 0.688679 +vt 0.746820 0.699508 +vt 0.724275 0.714821 +vt 0.708333 0.716975 +vt 0.692392 0.714821 +vt 0.669847 0.699508 +vt 0.666676 0.688679 +vt 0.669847 0.677851 +vt 0.692392 0.662537 +vt 0.708333 0.660383 +vt 0.724275 0.662537 +vt 0.746820 0.677851 +vt 0.737790 0.708687 +vt 0.749991 0.688679 +vt 0.746820 0.699508 +vt 0.724275 0.714821 +vt 0.708333 0.716975 +vt 0.692392 0.714821 +vt 0.669847 0.699508 +vt 0.666676 0.688679 +vt 0.669847 0.677851 +vt 0.692392 0.662537 +vt 0.708333 0.660383 +vt 0.724275 0.662537 +vt 0.888889 0.231132 +vt 0.888889 0.231132 +vt 0.888889 0.231132 +vt -0.000000 0.358491 +vt 0.055556 0.000000 +vt 0.055556 0.358491 +vt 0.583333 0.698113 +vt 0.541667 0.811321 +vt 0.541667 0.698113 +vt 0.250000 0.698113 +vt 0.208333 0.811321 +vt 0.208333 0.698113 +vt 0.625000 0.698113 +vt 0.583333 0.811321 +vt 0.291667 0.698113 +vt 0.250000 0.811321 +vt 0.666667 0.698113 +vt 0.625000 0.811321 +vt 0.326389 0.811321 +vt 0.291667 0.811321 +vt 0.041667 0.698113 +vt 0.000000 0.811321 +vt -0.000000 0.698113 +vt 0.375000 0.698113 +vt 0.333333 0.811321 +vt 0.333333 0.698113 +vt 0.083333 0.698113 +vt 0.041667 0.811321 +vt 0.416667 0.698113 +vt 0.375000 0.811321 +vt 0.125000 0.698113 +vt 0.083333 0.811321 +vt 0.458333 0.698113 +vt 0.416667 0.811321 +vt 0.166667 0.698113 +vt 0.125000 0.811321 +vt 0.500000 0.811321 +vt 0.500000 0.698113 +vt 0.458333 0.811321 +vt 0.166667 0.811321 +vt 0.388889 0.358491 +vt 0.444444 0.000000 +vt 0.444444 0.358491 +vt 0.576389 0.811321 +vt 0.562500 1.000000 +vt 0.618056 0.811321 +vt 0.604167 1.000000 +vt 0.659722 0.811321 +vt 0.645833 1.000000 +vt 0.034722 0.811321 +vt 0.020833 1.000000 +vt 0.076389 0.811321 +vt 0.062500 1.000000 +vt 0.118056 0.811321 +vt 0.104167 1.000000 +vt 0.159722 0.811321 +vt 0.145833 1.000000 +vt 0.194444 0.811321 +vt 0.187500 1.000000 +vt 0.243056 0.811321 +vt 0.229167 1.000000 +vt 0.284722 0.811321 +vt 0.270833 1.000000 +vt 0.312500 1.000000 +vt 0.368056 0.811321 +vt 0.354167 1.000000 +vt 0.409722 0.811321 +vt 0.395833 1.000000 +vt 0.451389 0.811321 +vt 0.437500 1.000000 +vt 0.493056 0.811321 +vt 0.479167 1.000000 +vt 0.534722 0.811321 +vt 0.520833 1.000000 +vt 0.833333 0.358491 +vt 0.888889 0.000000 +vt 0.888889 0.358491 +vt 0.333333 0.358491 +vt 0.388889 -0.000000 +vt 0.777778 0.358491 +vt 0.833333 0.000000 +vt 0.277778 0.358491 +vt 0.333333 -0.000000 +vt 0.722222 0.358491 +vt 0.777778 0.000000 +vt 0.222222 0.358491 +vt 0.277778 0.000000 +vt 0.611111 0.358491 +vt 0.666667 0.000000 +vt 0.666667 0.358491 +vt 0.729167 0.000000 +vt 0.166667 0.358491 +vt 0.222222 -0.000000 +vt 0.555556 0.358491 +vt 0.611111 0.000000 +vt 0.708333 0.641509 +vt 0.694444 0.660377 +vt 0.694444 0.641509 +vt 0.680556 0.641509 +vt 0.680556 0.660377 +vt 0.666667 0.660377 +vt 0.666667 0.641509 +vt 0.875000 0.641509 +vt 0.888889 0.660377 +vt 0.875000 0.660377 +vt 0.861111 0.660377 +vt 0.861111 0.641509 +vt 0.847222 0.660377 +vt 0.847222 0.641509 +vt 0.833333 0.660377 +vt 0.833333 0.641509 +vt 0.819444 0.660377 +vt 0.819444 0.641509 +vt 0.805556 0.660377 +vt 0.805556 0.641509 +vt 0.791667 0.641509 +vt 0.791667 0.660377 +vt 0.777778 0.660377 +vt 0.777778 0.641509 +vt 0.763889 0.660377 +vt 0.763889 0.641509 +vt 0.750000 0.660377 +vt 0.750000 0.641509 +vt 0.736111 0.641509 +vt 0.736111 0.660377 +vt 0.722222 0.641509 +vt 0.722222 0.660377 +vt 0.819444 0.622642 +vt 0.805556 0.622642 +vt 0.694444 0.622642 +vt 0.680556 0.622642 +vt 0.791667 0.622642 +vt 0.666667 0.622642 +vt 0.777778 0.622642 +vt 0.763889 0.622642 +vt 0.888889 0.622642 +vt 0.875000 0.622642 +vt 0.750000 0.622642 +vt 0.861111 0.622642 +vt 0.736111 0.622642 +vt 0.847222 0.622642 +vt 0.722222 0.622642 +vt 0.833333 0.622642 +vt 0.708333 0.622642 +vt 0.708333 0.660377 +vt 0.555556 0.433962 +vt 0.611111 0.433962 +vt 0.500000 0.000000 +vt 0.500000 0.358491 +vt 0.166667 0.433962 +vt 0.111111 0.358491 +vt 0.500000 0.433962 +vt 0.055556 0.433962 +vt 0.111111 0.433962 +vt 0.444444 0.433962 +vt 0.833333 0.433962 +vt 0.888889 0.433962 +vt 0.333333 0.433962 +vt 0.388889 0.433962 +vt 0.777778 0.433962 +vt 0.722222 0.433962 +vt 0.222222 0.433962 +vt 0.277778 0.433962 +vt 0.666667 0.433962 +vt 0.166667 -0.000000 +vt 0.555556 -0.000000 +vt 0.111111 -0.000000 +vt 0.847222 0.716981 +vt 0.937500 0.900943 +vt 0.847222 0.900943 +vt 0.756944 0.716981 +vt 0.756944 0.900943 +vt 0.666667 0.716981 +vt 0.666667 0.900943 +vt 0.708333 0.641509 +vt 0.694444 0.660377 +vt 0.694444 0.641509 +vt 0.680556 0.641509 +vt 0.680556 0.660377 +vt 0.666667 0.660377 +vt 0.666667 0.641509 +vt 0.875000 0.641509 +vt 0.888889 0.660377 +vt 0.875000 0.660377 +vt 0.861111 0.660377 +vt 0.861111 0.641509 +vt 0.847222 0.660377 +vt 0.847222 0.641509 +vt 0.833333 0.660377 +vt 0.833333 0.641509 +vt 0.819444 0.641509 +vt 0.819444 0.660377 +vt 0.805556 0.660377 +vt 0.805556 0.641509 +vt 0.791667 0.641509 +vt 0.791667 0.660377 +vt 0.777778 0.641509 +vt 0.777778 0.660377 +vt 0.763889 0.660377 +vt 0.763889 0.641509 +vt 0.750000 0.641509 +vt 0.750000 0.660377 +vt 0.736111 0.641509 +vt 0.736111 0.660377 +vt 0.722222 0.641509 +vt 0.722222 0.660377 +vt 0.819444 0.622642 +vt 0.805556 0.622642 +vt 0.694444 0.622642 +vt 0.680556 0.622642 +vt 0.791667 0.622642 +vt 0.666667 0.622642 +vt 0.777778 0.622642 +vt 0.763889 0.622642 +vt 0.888889 0.622642 +vt 0.875000 0.622642 +vt 0.750000 0.622642 +vt 0.861111 0.622642 +vt 0.736111 0.622642 +vt 0.847222 0.622642 +vt 0.722222 0.622642 +vt 0.833333 0.622642 +vt 0.708333 0.622642 +vt 0.708333 0.660377 +vt 0.708333 0.641509 +vt 0.694444 0.660377 +vt 0.694444 0.641509 +vt 0.680556 0.641509 +vt 0.680556 0.660377 +vt 0.666667 0.660377 +vt 0.666667 0.641509 +vt 0.875000 0.641509 +vt 0.888889 0.660377 +vt 0.875000 0.660377 +vt 0.861111 0.660377 +vt 0.861111 0.641509 +vt 0.847222 0.660377 +vt 0.847222 0.641509 +vt 0.833333 0.660377 +vt 0.833333 0.641509 +vt 0.819444 0.641509 +vt 0.819444 0.660377 +vt 0.805556 0.660377 +vt 0.805556 0.641509 +vt 0.791667 0.641509 +vt 0.791667 0.660377 +vt 0.777778 0.660377 +vt 0.777778 0.641509 +vt 0.763889 0.660377 +vt 0.763889 0.641509 +vt 0.750000 0.660377 +vt 0.750000 0.641509 +vt 0.736111 0.641509 +vt 0.736111 0.660377 +vt 0.722222 0.641509 +vt 0.722222 0.660377 +vt 0.819444 0.622642 +vt 0.805556 0.622642 +vt 0.694444 0.622642 +vt 0.680556 0.622642 +vt 0.791667 0.622642 +vt 0.666667 0.622642 +vt 0.777778 0.622642 +vt 0.763889 0.622642 +vt 0.888889 0.622642 +vt 0.875000 0.622642 +vt 0.750000 0.622642 +vt 0.861111 0.622642 +vt 0.736111 0.622642 +vt 0.847222 0.622642 +vt 0.722222 0.622642 +vt 0.833333 0.622642 +vt 0.708333 0.622642 +vt 0.708333 0.660377 +vt 0.708333 0.641509 +vt 0.694444 0.660377 +vt 0.694444 0.641509 +vt 0.680556 0.641509 +vt 0.680556 0.660377 +vt 0.666667 0.660377 +vt 0.666667 0.641509 +vt 0.875000 0.641509 +vt 0.888889 0.660377 +vt 0.875000 0.660377 +vt 0.861111 0.660377 +vt 0.861111 0.641509 +vt 0.847222 0.660377 +vt 0.847222 0.641509 +vt 0.833333 0.660377 +vt 0.833333 0.641509 +vt 0.819444 0.641509 +vt 0.819444 0.660377 +vt 0.805556 0.660377 +vt 0.805556 0.641509 +vt 0.791667 0.641509 +vt 0.791667 0.660377 +vt 0.777778 0.660377 +vt 0.777778 0.641509 +vt 0.763889 0.660377 +vt 0.763889 0.641509 +vt 0.750000 0.660377 +vt 0.750000 0.641509 +vt 0.736111 0.641509 +vt 0.736111 0.660377 +vt 0.722222 0.641509 +vt 0.722222 0.660377 +vt 0.819444 0.622642 +vt 0.805556 0.622642 +vt 0.694444 0.622642 +vt 0.680556 0.622642 +vt 0.791667 0.622642 +vt 0.666667 0.622642 +vt 0.777778 0.622642 +vt 0.763889 0.622642 +vt 0.888889 0.622642 +vt 0.875000 0.622642 +vt 0.750000 0.622642 +vt 0.861111 0.622642 +vt 0.736111 0.622642 +vt 0.847222 0.622642 +vt 0.722222 0.622642 +vt 0.833333 0.622642 +vt 0.708333 0.622642 +vt 0.708333 0.660377 +vt 0.847222 0.716981 +vt 0.937500 0.900943 +vt 0.847222 0.900943 +vt 0.756944 0.716981 +vt 0.756944 0.900943 +vt 0.666667 0.716981 +vt 0.666667 0.900943 +vt 0.000000 0.000000 +vt 0.888889 0.641509 +vt 0.937500 0.716981 +vt 0.888889 0.641509 +vt 0.888889 0.641509 +vt 0.888889 0.641509 +vt 0.937500 0.716981 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.6325 0.4472 -0.6325 +vn 0.7498 -0.0000 0.6616 +vn -0.6616 0.0000 -0.7498 +vn -0.6325 0.4472 0.6325 +vn -0.7498 0.0000 -0.6616 +vn 0.6616 -0.0000 0.7498 +vn -0.6325 0.4472 -0.6325 +vn 0.6616 0.0000 -0.7498 +vn -0.7498 -0.0000 0.6616 +vn 0.6325 0.4472 0.6325 +vn -0.6616 0.0000 0.7498 +vn 0.7498 0.0000 -0.6616 +vn -1.0000 0.0000 0.0000 +vn -0.9239 -0.0000 0.3827 +vn -0.7047 0.0830 -0.7047 +vn -0.3814 0.0830 -0.9207 +vn 0.7047 0.0830 0.7047 +vn 0.3814 0.0830 0.9207 +vn -0.9207 0.0830 -0.3814 +vn 0.9207 0.0830 0.3814 +vn -0.9965 0.0830 0.0000 +vn 0.9965 0.0830 -0.0000 +vn -0.9207 0.0830 0.3814 +vn 0.9207 0.0830 -0.3814 +vn -0.7047 0.0830 0.7047 +vn 0.7047 0.0830 -0.7047 +vn -0.3814 0.0830 0.9207 +vn 0.3814 0.0830 -0.9207 +vn -0.0000 0.0830 0.9965 +vn -0.0000 0.0830 -0.9965 +vn 0.9239 -0.0000 0.3827 +vn 1.0000 -0.0000 -0.0000 +vn -0.3612 0.3304 -0.8720 +vn -0.6674 0.3304 -0.6674 +vn -0.8720 0.3304 -0.3612 +vn -0.9439 0.3304 -0.0000 +vn -0.8720 0.3304 0.3612 +vn -0.6674 0.3304 0.6674 +vn -0.3612 0.3304 0.8720 +vn 0.0000 0.3304 0.9439 +vn 0.3612 0.3304 0.8720 +vn 0.6674 0.3304 0.6674 +vn 0.8720 0.3304 0.3612 +vn 0.9439 0.3304 -0.0000 +vn 0.8720 0.3304 -0.3612 +vn 0.6674 0.3304 -0.6674 +vn 0.3612 0.3304 -0.8720 +vn -0.0000 0.3304 -0.9439 +vn -0.9239 0.0000 -0.3827 +vn 0.7071 -0.0000 0.7071 +vn -0.7071 0.0000 -0.7071 +vn 0.3827 -0.0000 0.9239 +vn -0.3827 0.0000 -0.9239 +vn 0.0000 -0.0000 1.0000 +vn 0.3827 0.0000 -0.9239 +vn 0.0000 0.0000 -1.0000 +vn -0.3827 -0.0000 0.9239 +vn 0.7071 0.0000 -0.7071 +vn 0.8263 0.4472 0.3423 +vn 0.3423 0.4472 0.8263 +vn 0.0000 0.4472 0.8944 +vn -0.3423 0.4472 0.8263 +vn -0.8263 0.4472 0.3423 +vn -0.8944 0.4472 0.0000 +vn -0.8263 0.4472 -0.3423 +vn -0.3423 0.4472 -0.8263 +vn -0.0000 0.4472 -0.8944 +vn 0.3423 0.4472 -0.8263 +vn 0.8263 0.4472 -0.3423 +vn 0.8944 0.4472 0.0000 +vn -0.7071 0.0000 0.7071 +vn 0.9239 0.0000 -0.3827 +vn 0.6860 0.2425 -0.6860 +vn 0.3713 0.2425 -0.8963 +vn -0.3713 0.2425 0.8963 +vn -0.6860 0.2425 0.6860 +vn 0.8963 0.2425 -0.3713 +vn -0.8963 0.2425 0.3713 +vn 0.9701 0.2425 -0.0000 +vn -0.9701 0.2425 -0.0000 +vn 0.8963 0.2425 0.3713 +vn -0.8963 0.2425 -0.3713 +vn 0.6860 0.2425 0.6860 +vn -0.6860 0.2425 -0.6860 +vn 0.3713 0.2425 0.8963 +vn -0.3713 0.2425 -0.8963 +vn -0.0000 0.2425 0.9701 +vn 0.0000 0.2425 -0.9701 +vn 0.5556 0.0000 -0.8315 +vn 0.9808 0.0000 -0.1951 +vn -0.5556 -0.0000 0.8315 +vn -0.9808 -0.0000 0.1951 +s off +f 4543/6632/682 4544/6633/682 4545/6634/682 +f 4546/6635/682 4547/6636/682 4548/6637/682 +f 4549/6638/682 4544/6633/682 4550/6639/682 +f 4551/6640/682 4552/6641/682 4546/6635/682 +f 4549/6638/682 4553/6642/682 4554/6643/682 +f 4555/6644/682 4556/6645/682 4557/6646/682 +f 4551/6640/682 4557/6646/682 4558/6647/682 +f 4559/6648/682 4553/6642/682 4560/6649/682 +f 4561/6650/682 4556/6645/682 4562/6651/682 +f 4563/6652/682 4564/6653/682 4559/6648/682 +f 4561/6650/682 4565/6654/682 4566/6655/682 +f 4567/6656/682 4568/6657/682 4563/6652/682 +f 4569/6658/682 4570/6659/682 4565/6654/682 +f 4571/6660/682 4572/6661/682 4567/6656/682 +f 4573/6662/682 4545/6634/682 4570/6659/682 +f 4574/6663/682 4575/6664/682 4576/6665/682 +f 4548/6637/682 4577/6666/682 4571/6667/682 +f 4578/6668/683 4579/6669/683 4580/6670/683 +f 4581/6671/683 4582/6672/683 4578/6668/683 +f 4583/6673/683 4584/6674/683 4581/6671/683 +f 4585/6675/683 4586/6676/683 4583/6673/683 +f 4587/6677/683 4588/6678/683 4585/6675/683 +f 4589/6679/683 4590/6680/683 4587/6677/683 +f 4589/6679/683 4591/6681/683 4592/6682/683 +f 4593/6683/683 4594/6684/683 4591/6681/683 +f 4595/6685/683 4596/6686/683 4594/6684/683 +f 4597/6687/683 4598/6688/683 4596/6689/683 +f 4599/6690/683 4600/6691/683 4598/6688/683 +f 4601/6692/683 4600/6691/683 4602/6693/683 +f 4601/6692/683 4603/6694/683 4604/6695/683 +f 4605/6696/683 4603/6694/683 4606/6697/683 +f 4607/6698/683 4608/6699/683 4605/6696/683 +f 4580/6670/683 4609/6700/683 4607/6698/683 +f 4610/6701/682 4611/6702/682 4612/6703/682 +f 4613/6704/682 4614/6705/682 4615/6706/682 +f 4616/6707/684 4617/6708/684 4618/6709/684 +f 4614/6705/685 4617/6710/685 4616/6707/685 +f 4615/6711/686 4617/6710/686 4613/6704/686 +f 4619/6712/682 4620/6713/682 4621/6714/682 +f 4622/6715/682 4623/6716/682 4624/6717/682 +f 4625/6718/682 4626/6719/682 4627/6720/682 +f 4628/6721/682 4629/6722/682 4630/6723/682 +f 4631/6724/687 4632/6725/687 4633/6726/687 +f 4629/6722/688 4632/6727/688 4631/6724/688 +f 4630/6728/689 4632/6727/689 4628/6721/689 +f 4634/6729/682 4635/6730/682 4636/6731/682 +f 4637/6732/690 4638/6733/690 4639/6734/690 +f 4635/6730/691 4638/6735/691 4637/6732/691 +f 4636/6736/692 4638/6735/692 4634/6729/692 +f 4640/6737/682 4641/6738/682 4642/6739/682 +f 4643/6740/693 4644/6741/693 4645/6742/693 +f 4641/6738/694 4644/6743/694 4643/6740/694 +f 4642/6744/695 4644/6743/695 4640/6737/695 +f 4543/6632/682 4550/6639/682 4544/6633/682 +f 4546/6635/682 4552/6641/682 4547/6636/682 +f 4549/6638/682 4554/6643/682 4544/6633/682 +f 4551/6640/682 4558/6647/682 4552/6641/682 +f 4549/6638/682 4560/6649/682 4553/6642/682 +f 4555/6644/682 4562/6651/682 4556/6645/682 +f 4551/6640/682 4555/6644/682 4557/6646/682 +f 4559/6648/682 4564/6653/682 4553/6642/682 +f 4561/6650/682 4566/6655/682 4556/6645/682 +f 4563/6652/682 4568/6657/682 4564/6653/682 +f 4561/6650/682 4569/6658/682 4565/6654/682 +f 4567/6656/682 4572/6661/682 4568/6657/682 +f 4569/6658/682 4573/6662/682 4570/6659/682 +f 4571/6660/682 4577/6745/682 4572/6661/682 +f 4573/6662/682 4543/6632/682 4545/6634/682 +f 4576/6665/682 4646/6746/682 4647/6747/682 +f 4646/6746/682 4648/6748/682 4647/6747/682 +f 4648/6748/682 4649/6749/682 4647/6747/682 +f 4647/6747/682 4650/6750/682 4651/6751/682 +f 4651/6751/682 4652/6752/682 4574/6663/682 +f 4574/6663/682 4653/6753/682 4575/6664/682 +f 4653/6753/682 4654/6754/682 4575/6664/682 +f 4654/6754/682 4655/6755/682 4575/6664/682 +f 4575/6664/682 4656/6756/682 4657/6757/682 +f 4657/6757/682 4658/6758/682 4575/6664/682 +f 4658/6758/682 4576/6665/682 4575/6664/682 +f 4647/6747/682 4651/6751/682 4576/6665/682 +f 4651/6751/682 4574/6663/682 4576/6665/682 +f 4548/6637/682 4547/6636/682 4577/6666/682 +f 4578/6668/683 4582/6672/683 4579/6669/683 +f 4581/6671/683 4584/6674/683 4582/6672/683 +f 4583/6673/683 4586/6676/683 4584/6674/683 +f 4585/6675/683 4588/6678/683 4586/6676/683 +f 4587/6677/683 4590/6680/683 4588/6678/683 +f 4589/6679/683 4592/6682/683 4590/6680/683 +f 4589/6679/683 4593/6683/683 4591/6681/683 +f 4593/6683/683 4595/6685/683 4594/6684/683 +f 4595/6685/683 4597/6759/683 4596/6686/683 +f 4597/6687/683 4599/6690/683 4598/6688/683 +f 4599/6690/683 4602/6693/683 4600/6691/683 +f 4601/6692/683 4604/6695/683 4600/6691/683 +f 4601/6692/683 4606/6697/683 4603/6694/683 +f 4605/6696/683 4608/6699/683 4603/6694/683 +f 4607/6698/683 4609/6700/683 4608/6699/683 +f 4580/6670/683 4579/6669/683 4609/6700/683 +f 4610/6701/682 4659/6760/682 4660/6761/682 +f 4660/6761/682 4661/6762/682 4610/6701/682 +f 4661/6762/682 4611/6702/682 4610/6701/682 +f 4611/6702/682 4662/6763/682 4663/6764/682 +f 4663/6764/682 4664/6765/682 4612/6703/682 +f 4612/6703/682 4665/6766/682 4666/6767/682 +f 4666/6767/682 4667/6768/682 4668/6769/682 +f 4668/6769/682 4669/6770/682 4670/6771/682 +f 4670/6771/682 4671/6772/682 4610/6701/682 +f 4611/6702/682 4663/6764/682 4612/6703/682 +f 4612/6703/682 4666/6767/682 4610/6701/682 +f 4666/6767/682 4668/6769/682 4610/6701/682 +f 4668/6769/682 4670/6771/682 4610/6701/682 +f 4614/6705/685 4613/6704/685 4617/6710/685 +f 4615/6711/686 4618/6773/686 4617/6710/686 +f 4621/6714/682 4672/6774/682 4673/6775/682 +f 4672/6774/682 4674/6776/682 4673/6775/682 +f 4674/6776/682 4675/6777/682 4673/6775/682 +f 4673/6775/682 4676/6778/682 4677/6779/682 +f 4677/6779/682 4678/6780/682 4619/6712/682 +f 4619/6712/682 4679/6781/682 4620/6713/682 +f 4679/6781/682 4680/6782/682 4620/6713/682 +f 4680/6782/682 4681/6783/682 4620/6713/682 +f 4620/6713/682 4682/6784/682 4683/6785/682 +f 4683/6785/682 4684/6786/682 4620/6713/682 +f 4684/6786/682 4621/6714/682 4620/6713/682 +f 4673/6775/682 4677/6779/682 4621/6714/682 +f 4677/6779/682 4619/6712/682 4621/6714/682 +f 4624/6717/682 4685/6787/682 4686/6788/682 +f 4685/6787/682 4687/6789/682 4686/6788/682 +f 4687/6789/682 4688/6790/682 4686/6788/682 +f 4686/6788/682 4689/6791/682 4690/6792/682 +f 4690/6792/682 4691/6793/682 4622/6715/682 +f 4622/6715/682 4692/6794/682 4623/6716/682 +f 4692/6794/682 4693/6795/682 4623/6716/682 +f 4693/6795/682 4694/6796/682 4623/6716/682 +f 4623/6716/682 4695/6797/682 4696/6798/682 +f 4696/6798/682 4697/6799/682 4623/6716/682 +f 4697/6799/682 4624/6717/682 4623/6716/682 +f 4686/6788/682 4690/6792/682 4624/6717/682 +f 4690/6792/682 4622/6715/682 4624/6717/682 +f 4627/6720/682 4698/6800/682 4699/6801/682 +f 4698/6800/682 4700/6802/682 4699/6801/682 +f 4700/6802/682 4701/6803/682 4699/6801/682 +f 4699/6801/682 4702/6804/682 4703/6805/682 +f 4703/6805/682 4704/6806/682 4625/6718/682 +f 4625/6718/682 4705/6807/682 4626/6719/682 +f 4705/6807/682 4706/6808/682 4626/6719/682 +f 4706/6808/682 4707/6809/682 4626/6719/682 +f 4626/6719/682 4708/6810/682 4709/6811/682 +f 4709/6811/682 4710/6812/682 4626/6719/682 +f 4710/6812/682 4627/6720/682 4626/6719/682 +f 4699/6801/682 4703/6805/682 4627/6720/682 +f 4703/6805/682 4625/6718/682 4627/6720/682 +f 4629/6722/688 4628/6721/688 4632/6727/688 +f 4630/6728/689 4633/6813/689 4632/6727/689 +f 4635/6730/691 4634/6729/691 4638/6735/691 +f 4636/6736/692 4639/6814/692 4638/6735/692 +f 4641/6738/694 4640/6737/694 4644/6743/694 +f 4642/6744/695 4645/6815/695 4644/6743/695 +s 1 +f 4711/6816/696 4669/6817/697 4712/6818/697 +f 4713/6819/698 4714/6820/699 4715/6821/699 +f 4716/6822/700 4717/6823/701 4718/6824/701 +f 4719/6825/702 4720/6826/698 4713/6819/698 +f 4721/6827/703 4722/6828/700 4716/6822/700 +f 4723/6829/704 4724/6830/702 4719/6825/702 +f 4721/6827/703 4725/6831/705 4726/6832/703 +f 4727/6833/706 4728/6834/704 4723/6835/704 +f 4729/6836/707 4725/6837/705 4730/6838/705 +f 4731/6839/708 4732/6840/706 4727/6833/706 +f 4733/6841/709 4734/6842/707 4729/6836/707 +f 4735/6843/710 4736/6844/708 4731/6839/708 +f 4737/6845/711 4738/6846/709 4733/6841/709 +f 4739/6847/712 4740/6848/710 4735/6843/710 +f 4715/6821/699 4741/6849/713 4742/6850/713 +f 4742/6850/713 4743/6851/711 4737/6845/711 +f 4718/6824/701 4744/6852/712 4739/6847/712 +f 4745/6853/714 4663/6854/715 4746/6855/715 +f 4714/6820/716 4720/6856/717 4747/6857/683 +f 4720/6826/717 4724/6858/718 4747/6859/683 +f 4724/6830/718 4728/6860/719 4747/6861/683 +f 4728/6834/719 4732/6862/720 4747/6863/683 +f 4732/6840/720 4736/6864/721 4747/6865/683 +f 4736/6844/721 4740/6866/722 4747/6867/683 +f 4740/6848/722 4744/6868/723 4747/6869/683 +f 4744/6852/723 4717/6870/724 4747/6871/683 +f 4717/6823/724 4722/6872/725 4747/6873/683 +f 4722/6828/725 4726/6874/726 4747/6875/683 +f 4726/6832/726 4725/6831/727 4747/6876/683 +f 4725/6837/727 4734/6877/728 4747/6878/683 +f 4734/6842/728 4738/6879/729 4747/6880/683 +f 4738/6846/729 4743/6881/730 4747/6882/683 +f 4743/6851/730 4741/6883/731 4747/6884/683 +f 4741/6849/731 4714/6885/716 4747/6886/683 +f 4748/6887/732 4670/6888/696 4711/6889/696 +f 4749/6890/733 4664/6891/714 4745/6853/714 +f 4750/6892/734 4671/6893/732 4748/6887/732 +f 4751/6894/735 4612/6895/733 4749/6890/733 +f 4752/6896/736 4610/6897/734 4750/6892/734 +f 4753/6898/737 4665/6899/735 4751/6894/735 +f 4754/6900/738 4660/6901/739 4755/6902/739 +f 4755/6902/739 4659/6903/736 4752/6896/736 +f 4756/6904/740 4666/6905/737 4753/6898/737 +f 4757/6906/741 4661/6907/738 4754/6900/738 +f 4758/6908/742 4759/6909/693 4760/6910/693 +f 4761/6911/743 4759/6909/693 4762/6912/743 +f 4761/6911/743 4763/6913/744 4764/6914/744 +f 4765/6915/745 4763/6916/744 4766/6917/745 +f 4765/6915/745 4767/6918/687 4768/6919/687 +f 4768/6919/687 4769/6920/746 4770/6921/746 +f 4770/6921/746 4771/6922/747 4772/6923/747 +f 4772/6923/747 4773/6924/748 4774/6925/748 +f 4774/6925/748 4775/6926/690 4776/6927/690 +f 4777/6928/749 4775/6926/690 4778/6929/749 +f 4777/6928/749 4779/6930/750 4780/6931/750 +f 4780/6931/750 4781/6932/751 4782/6933/751 +f 4782/6933/751 4783/6934/684 4784/6935/684 +f 4785/6936/752 4783/6934/684 4786/6937/752 +f 4787/6938/753 4786/6937/752 4788/6939/753 +f 4658/6940/732 4776/6927/734 4576/6941/734 +f 4574/6942/733 4761/6911/735 4653/6943/735 +f 4576/6941/734 4777/6928/736 4646/6944/736 +f 4653/6943/735 4764/6914/737 4654/6945/737 +f 4648/6946/739 4782/6933/738 4649/6947/738 +f 4646/6944/736 4780/6931/739 4648/6946/739 +f 4654/6948/737 4765/6915/740 4655/6949/740 +f 4649/6947/738 4784/6935/741 4647/6950/741 +f 4655/6949/740 4768/6919/754 4575/6951/754 +f 4647/6950/741 4785/6936/755 4650/6952/755 +f 4575/6951/754 4770/6921/697 4656/6953/697 +f 4650/6952/755 4787/6938/715 4651/6954/715 +f 4656/6953/697 4772/6923/696 4657/6955/696 +f 4651/6954/715 4758/6908/714 4652/6956/714 +f 4657/6955/696 4774/6925/732 4658/6940/732 +f 4652/6956/714 4760/6910/733 4574/6942/733 +f 4787/6938/753 4789/6957/742 4758/6908/742 +f 4583/6958/756 4754/6900/757 4585/6959/757 +f 4746/6855/715 4662/6960/755 4790/6961/755 +f 4558/6647/736 4591/6681/734 4552/6641/734 +f 4554/6643/735 4609/6700/733 4544/6633/733 +f 4552/6641/734 4594/6684/732 4547/6636/732 +f 4544/6633/733 4579/6669/714 4545/6634/714 +f 4547/6636/732 4596/6686/696 4577/6666/696 +f 4545/6634/714 4582/6672/715 4570/6659/715 +f 4577/6745/696 4598/6688/697 4572/6661/697 +f 4570/6659/715 4584/6674/755 4565/6654/755 +f 4572/6661/697 4600/6691/754 4568/6657/754 +f 4565/6654/755 4586/6676/741 4566/6655/741 +f 4568/6657/754 4604/6695/740 4564/6653/740 +f 4566/6655/741 4588/6678/738 4556/6645/738 +f 4564/6653/740 4603/6694/737 4553/6642/737 +f 4557/6646/739 4592/6682/736 4558/6647/736 +f 4556/6645/738 4590/6680/739 4557/6646/739 +f 4553/6642/737 4608/6699/735 4554/6643/735 +f 4601/6962/758 4791/6963/759 4756/6904/758 +f 4581/6964/760 4757/6906/756 4583/6958/756 +f 4599/6965/761 4791/6963/759 4602/6966/759 +f 4578/6967/762 4790/6961/760 4581/6964/760 +f 4599/6965/761 4711/6816/763 4712/6818/761 +f 4578/6967/762 4745/6853/764 4746/6855/762 +f 4595/6968/765 4711/6889/763 4597/6969/763 +f 4607/6970/766 4745/6853/764 4580/6971/764 +f 4593/6972/767 4748/6887/765 4595/6968/765 +f 4607/6970/766 4751/6894/768 4749/6890/766 +f 4589/6973/769 4750/6892/767 4593/6972/767 +f 4606/6974/770 4751/6894/768 4605/6975/768 +f 4587/6976/771 4754/6900/757 4755/6902/771 +f 4587/6976/771 4752/6896/769 4589/6973/769 +f 4601/6962/758 4753/6898/770 4606/6974/770 +f 4791/6963/754 4667/6977/740 4756/6904/740 +f 4790/6961/755 4611/6978/741 4757/6906/741 +f 4712/6818/697 4668/6979/754 4791/6963/754 +f 4543/6632/714 4730/6838/715 4721/6827/714 +f 4573/6662/715 4729/6836/755 4730/6838/715 +f 4569/6658/755 4733/6841/741 4729/6836/755 +f 4561/6650/741 4737/6845/738 4733/6841/741 +f 4562/6651/738 4742/6850/739 4737/6845/738 +f 4555/6644/739 4715/6821/736 4742/6850/739 +f 4551/6640/736 4713/6819/734 4715/6821/736 +f 4546/6635/734 4719/6825/732 4713/6819/734 +f 4548/6637/732 4723/6829/696 4719/6825/732 +f 4571/6660/696 4727/6833/697 4723/6835/696 +f 4567/6656/697 4731/6839/754 4727/6833/697 +f 4563/6652/754 4735/6843/740 4731/6839/754 +f 4559/6648/740 4739/6847/737 4735/6843/740 +f 4560/6649/737 4718/6824/735 4739/6847/737 +f 4549/6638/735 4716/6822/733 4718/6824/735 +f 4550/6639/733 4721/6827/714 4716/6822/733 +f 4792/6980/741 4793/6981/772 4794/6982/741 +f 4795/6983/755 4794/6982/741 4796/6984/755 +f 4797/6985/773 4796/6984/755 4798/6986/773 +f 4799/6987/742 4800/6988/693 4801/6989/693 +f 4802/6990/743 4800/6988/693 4803/6991/743 +f 4802/6990/743 4804/6992/744 4805/6993/744 +f 4806/6994/745 4804/6995/744 4807/6996/745 +f 4806/6994/745 4808/6997/687 4809/6998/687 +f 4809/6998/687 4810/6999/746 4811/7000/746 +f 4811/7000/746 4812/7001/747 4813/7002/747 +f 4814/7003/748 4812/7001/747 4815/7004/748 +f 4814/7003/748 4816/7005/690 4817/7006/690 +f 4818/7007/749 4816/7005/690 4819/7008/749 +f 4820/7009/750 4819/7008/749 4821/7010/750 +f 4820/7009/750 4822/7011/751 4823/7012/751 +f 4824/7013/684 4822/7011/751 4825/7014/684 +f 4826/7015/752 4825/7014/684 4827/7016/752 +f 4828/7017/753 4827/7016/752 4829/7018/753 +f 4684/7019/732 4817/7006/734 4621/7020/734 +f 4619/7021/733 4802/6990/735 4679/7022/735 +f 4621/7020/734 4818/7007/736 4672/7023/736 +f 4679/7022/735 4805/6993/737 4680/7024/737 +f 4674/7025/739 4823/7012/738 4675/7026/738 +f 4672/7023/736 4820/7009/739 4674/7025/739 +f 4680/7027/737 4806/6994/740 4681/7028/740 +f 4675/7026/738 4824/7013/741 4673/7029/741 +f 4681/7028/740 4809/6998/754 4620/7030/754 +f 4673/7029/741 4826/7015/755 4676/7031/755 +f 4620/7030/754 4811/7000/697 4682/7032/697 +f 4676/7031/755 4828/7017/715 4677/7033/715 +f 4682/7032/697 4813/7002/696 4683/7034/696 +f 4677/7033/715 4799/6987/714 4678/7035/714 +f 4683/7034/696 4814/7003/732 4684/7019/732 +f 4678/7035/714 4801/6989/733 4619/7021/733 +f 4828/7017/753 4830/7036/742 4799/6987/742 +f 4831/7037/742 4832/7038/693 4833/7039/693 +f 4834/7040/743 4832/7038/693 4835/7041/743 +f 4834/7040/743 4836/7042/744 4837/7043/744 +f 4838/7044/745 4836/7045/744 4839/7046/745 +f 4838/7044/745 4840/7047/687 4841/7048/687 +f 4841/7048/687 4842/7049/746 4843/7050/746 +f 4843/7050/746 4844/7051/747 4845/7052/747 +f 4846/7053/748 4844/7051/747 4847/7054/748 +f 4846/7053/748 4848/7055/690 4849/7056/690 +f 4850/7057/749 4848/7055/690 4851/7058/749 +f 4850/7057/749 4852/7059/750 4853/7060/750 +f 4853/7060/750 4854/7061/751 4855/7062/751 +f 4855/7062/751 4856/7063/684 4857/7064/684 +f 4858/7065/752 4856/7063/684 4859/7066/752 +f 4860/7067/753 4859/7066/752 4861/7068/753 +f 4697/7069/732 4849/7056/734 4624/7070/734 +f 4622/7071/733 4834/7040/735 4692/7072/735 +f 4624/7070/734 4850/7057/736 4685/7073/736 +f 4692/7072/735 4837/7043/737 4693/7074/737 +f 4687/7075/739 4855/7062/738 4688/7076/738 +f 4685/7073/736 4853/7060/739 4687/7075/739 +f 4693/7077/737 4838/7044/740 4694/7078/740 +f 4688/7076/738 4857/7064/741 4686/7079/741 +f 4694/7078/740 4841/7048/754 4623/7080/754 +f 4686/7079/741 4858/7065/755 4689/7081/755 +f 4623/7080/754 4843/7050/697 4695/7082/697 +f 4689/7081/755 4860/7067/715 4690/7083/715 +f 4695/7082/697 4845/7052/696 4696/7084/696 +f 4690/7083/715 4831/7037/714 4691/7085/714 +f 4696/7084/696 4846/7053/732 4697/7069/732 +f 4691/7085/714 4833/7039/733 4622/7071/733 +f 4860/7067/753 4862/7086/742 4831/7037/742 +f 4863/7087/742 4864/7088/693 4865/7089/693 +f 4866/7090/743 4864/7088/693 4867/7091/743 +f 4866/7090/743 4868/7092/744 4869/7093/744 +f 4870/7094/745 4868/7095/744 4871/7096/745 +f 4870/7094/745 4872/7097/687 4873/7098/687 +f 4873/7098/687 4874/7099/746 4875/7100/746 +f 4875/7100/746 4876/7101/747 4877/7102/747 +f 4878/7103/748 4876/7101/747 4879/7104/748 +f 4878/7103/748 4880/7105/690 4881/7106/690 +f 4882/7107/749 4880/7105/690 4883/7108/749 +f 4882/7107/749 4884/7109/750 4885/7110/750 +f 4885/7110/750 4886/7111/751 4887/7112/751 +f 4887/7112/751 4888/7113/684 4889/7114/684 +f 4890/7115/752 4888/7113/684 4891/7116/752 +f 4892/7117/753 4891/7116/752 4893/7118/753 +f 4710/7119/732 4881/7106/734 4627/7120/734 +f 4625/7121/733 4866/7090/735 4705/7122/735 +f 4627/7120/734 4882/7107/736 4698/7123/736 +f 4705/7122/735 4869/7093/737 4706/7124/737 +f 4700/7125/739 4887/7112/738 4701/7126/738 +f 4698/7123/736 4885/7110/739 4700/7125/739 +f 4706/7127/737 4870/7094/740 4707/7128/740 +f 4701/7126/738 4889/7114/741 4699/7129/741 +f 4707/7128/740 4873/7098/754 4626/7130/754 +f 4699/7129/741 4890/7115/755 4702/7131/755 +f 4626/7130/754 4875/7100/697 4708/7132/697 +f 4702/7131/755 4892/7117/715 4703/7133/715 +f 4708/7132/697 4877/7102/696 4709/7134/696 +f 4703/7133/715 4863/7087/714 4704/7135/714 +f 4709/7134/696 4878/7103/732 4710/7119/732 +f 4704/7135/714 4865/7089/733 4625/7121/733 +f 4892/7117/753 4894/7136/742 4863/7087/742 +f 4895/7137/754 4896/7138/774 4897/7139/754 +f 4898/7140/697 4897/7139/754 4899/7141/697 +f 4900/7142/775 4899/7141/697 4901/7143/775 +f 4711/6816/696 4670/7144/696 4669/6817/697 +f 4713/6819/698 4720/6856/698 4714/6820/699 +f 4716/6822/700 4722/6872/700 4717/6823/701 +f 4719/6825/702 4724/6858/702 4720/6826/698 +f 4721/6827/703 4726/6874/703 4722/6828/700 +f 4723/6829/704 4728/6860/704 4724/6830/702 +f 4721/6827/703 4730/6838/705 4725/6831/705 +f 4727/6833/706 4732/6862/706 4728/6834/704 +f 4729/6836/707 4734/6877/707 4725/6837/705 +f 4731/6839/708 4736/6864/708 4732/6840/706 +f 4733/6841/709 4738/6879/709 4734/6842/707 +f 4735/6843/710 4740/6866/710 4736/6844/708 +f 4737/6845/711 4743/6881/711 4738/6846/709 +f 4739/6847/712 4744/6868/712 4740/6848/710 +f 4715/6821/699 4714/6885/699 4741/6849/713 +f 4742/6850/713 4741/6883/713 4743/6851/711 +f 4718/6824/701 4717/6870/701 4744/6852/712 +f 4745/6853/714 4664/6891/714 4663/6854/715 +f 4748/6887/732 4671/6893/732 4670/6888/696 +f 4749/6890/733 4612/6895/733 4664/6891/714 +f 4750/6892/734 4610/6897/734 4671/6893/732 +f 4751/6894/735 4665/6899/735 4612/6895/733 +f 4752/6896/736 4659/6903/736 4610/6897/734 +f 4753/6898/737 4666/6905/737 4665/6899/735 +f 4754/6900/738 4661/6907/738 4660/6901/739 +f 4755/6902/739 4660/6901/739 4659/6903/736 +f 4756/6904/740 4667/6977/740 4666/6905/737 +f 4757/6906/741 4611/6978/741 4661/6907/738 +f 4758/6908/742 4789/6957/742 4759/6909/693 +f 4761/6911/743 4760/6910/693 4759/6909/693 +f 4761/6911/743 4762/6912/743 4763/6913/744 +f 4765/6915/745 4764/7145/744 4763/6916/744 +f 4765/6915/745 4766/6917/745 4767/6918/687 +f 4768/6919/687 4767/6918/687 4769/6920/746 +f 4770/6921/746 4769/6920/746 4771/6922/747 +f 4772/6923/747 4771/6922/747 4773/6924/748 +f 4774/6925/748 4773/6924/748 4775/6926/690 +f 4777/6928/749 4776/6927/690 4775/6926/690 +f 4777/6928/749 4778/6929/749 4779/6930/750 +f 4780/6931/750 4779/6930/750 4781/6932/751 +f 4782/6933/751 4781/6932/751 4783/6934/684 +f 4785/6936/752 4784/6935/684 4783/6934/684 +f 4787/6938/753 4785/6936/752 4786/6937/752 +f 4658/6940/732 4774/6925/732 4776/6927/734 +f 4574/6942/733 4760/6910/733 4761/6911/735 +f 4576/6941/734 4776/6927/734 4777/6928/736 +f 4653/6943/735 4761/6911/735 4764/6914/737 +f 4648/6946/739 4780/6931/739 4782/6933/738 +f 4646/6944/736 4777/6928/736 4780/6931/739 +f 4654/6948/737 4764/7145/737 4765/6915/740 +f 4649/6947/738 4782/6933/738 4784/6935/741 +f 4655/6949/740 4765/6915/740 4768/6919/754 +f 4647/6950/741 4784/6935/741 4785/6936/755 +f 4575/6951/754 4768/6919/754 4770/6921/697 +f 4650/6952/755 4785/6936/755 4787/6938/715 +f 4656/6953/697 4770/6921/697 4772/6923/696 +f 4651/6954/715 4787/6938/715 4758/6908/714 +f 4657/6955/696 4772/6923/696 4774/6925/732 +f 4652/6956/714 4758/6908/714 4760/6910/733 +f 4787/6938/753 4788/6939/753 4789/6957/742 +f 4583/6958/756 4757/6906/756 4754/6900/757 +f 4746/6855/715 4663/6854/715 4662/6960/755 +f 4558/6647/736 4592/6682/736 4591/6681/734 +f 4554/6643/735 4608/6699/735 4609/6700/733 +f 4552/6641/734 4591/6681/734 4594/6684/732 +f 4544/6633/733 4609/6700/733 4579/6669/714 +f 4547/6636/732 4594/6684/732 4596/6686/696 +f 4545/6634/714 4579/6669/714 4582/6672/715 +f 4577/6745/696 4596/6689/696 4598/6688/697 +f 4570/6659/715 4582/6672/715 4584/6674/755 +f 4572/6661/697 4598/6688/697 4600/6691/754 +f 4565/6654/755 4584/6674/755 4586/6676/741 +f 4568/6657/754 4600/6691/754 4604/6695/740 +f 4566/6655/741 4586/6676/741 4588/6678/738 +f 4564/6653/740 4604/6695/740 4603/6694/737 +f 4557/6646/739 4590/6680/739 4592/6682/736 +f 4556/6645/738 4588/6678/738 4590/6680/739 +f 4553/6642/737 4603/6694/737 4608/6699/735 +f 4601/6962/758 4602/6966/759 4791/6963/759 +f 4581/6964/760 4790/6961/760 4757/6906/756 +f 4599/6965/761 4712/6818/761 4791/6963/759 +f 4578/6967/762 4746/6855/762 4790/6961/760 +f 4599/6965/761 4597/6687/763 4711/6816/763 +f 4578/6967/762 4580/6971/764 4745/6853/764 +f 4595/6968/765 4748/6887/765 4711/6889/763 +f 4607/6970/766 4749/6890/766 4745/6853/764 +f 4593/6972/767 4750/6892/767 4748/6887/765 +f 4607/6970/766 4605/6975/768 4751/6894/768 +f 4589/6973/769 4752/6896/769 4750/6892/767 +f 4606/6974/770 4753/6898/770 4751/6894/768 +f 4587/6976/771 4585/6959/757 4754/6900/757 +f 4587/6976/771 4755/6902/771 4752/6896/769 +f 4601/6962/758 4756/6904/758 4753/6898/770 +f 4791/6963/754 4668/6979/754 4667/6977/740 +f 4790/6961/755 4662/6960/755 4611/6978/741 +f 4712/6818/697 4669/6817/697 4668/6979/754 +f 4543/6632/714 4573/6662/715 4730/6838/715 +f 4573/6662/715 4569/6658/755 4729/6836/755 +f 4569/6658/755 4561/6650/741 4733/6841/741 +f 4561/6650/741 4562/6651/738 4737/6845/738 +f 4562/6651/738 4555/6644/739 4742/6850/739 +f 4555/6644/739 4551/6640/736 4715/6821/736 +f 4551/6640/736 4546/6635/734 4713/6819/734 +f 4546/6635/734 4548/6637/732 4719/6825/732 +f 4548/6637/732 4571/6667/696 4723/6829/696 +f 4571/6660/696 4567/6656/697 4727/6833/697 +f 4567/6656/697 4563/6652/754 4731/6839/754 +f 4563/6652/754 4559/6648/740 4735/6843/740 +f 4559/6648/740 4560/6649/737 4739/6847/737 +f 4560/6649/737 4549/6638/735 4718/6824/735 +f 4549/6638/735 4550/6639/733 4716/6822/733 +f 4550/6639/733 4543/6632/714 4721/6827/714 +f 4792/6980/741 4902/7146/772 4793/6981/772 +f 4795/6983/755 4792/6980/741 4794/6982/741 +f 4797/6985/773 4795/6983/755 4796/6984/755 +f 4799/6987/742 4830/7036/742 4800/6988/693 +f 4802/6990/743 4801/6989/693 4800/6988/693 +f 4802/6990/743 4803/6991/743 4804/6992/744 +f 4806/6994/745 4805/7147/744 4804/6995/744 +f 4806/6994/745 4807/6996/745 4808/6997/687 +f 4809/6998/687 4808/6997/687 4810/6999/746 +f 4811/7000/746 4810/6999/746 4812/7001/747 +f 4814/7003/748 4813/7002/747 4812/7001/747 +f 4814/7003/748 4815/7004/748 4816/7005/690 +f 4818/7007/749 4817/7006/690 4816/7005/690 +f 4820/7009/750 4818/7007/749 4819/7008/749 +f 4820/7009/750 4821/7010/750 4822/7011/751 +f 4824/7013/684 4823/7012/751 4822/7011/751 +f 4826/7015/752 4824/7013/684 4825/7014/684 +f 4828/7017/753 4826/7015/752 4827/7016/752 +f 4684/7019/732 4814/7003/732 4817/7006/734 +f 4619/7021/733 4801/6989/733 4802/6990/735 +f 4621/7020/734 4817/7006/734 4818/7007/736 +f 4679/7022/735 4802/6990/735 4805/6993/737 +f 4674/7025/739 4820/7009/739 4823/7012/738 +f 4672/7023/736 4818/7007/736 4820/7009/739 +f 4680/7027/737 4805/7147/737 4806/6994/740 +f 4675/7026/738 4823/7012/738 4824/7013/741 +f 4681/7028/740 4806/6994/740 4809/6998/754 +f 4673/7029/741 4824/7013/741 4826/7015/755 +f 4620/7030/754 4809/6998/754 4811/7000/697 +f 4676/7031/755 4826/7015/755 4828/7017/715 +f 4682/7032/697 4811/7000/697 4813/7002/696 +f 4677/7033/715 4828/7017/715 4799/6987/714 +f 4683/7034/696 4813/7002/696 4814/7003/732 +f 4678/7035/714 4799/6987/714 4801/6989/733 +f 4828/7017/753 4829/7018/753 4830/7036/742 +f 4831/7037/742 4862/7086/742 4832/7038/693 +f 4834/7040/743 4833/7039/693 4832/7038/693 +f 4834/7040/743 4835/7041/743 4836/7042/744 +f 4838/7044/745 4837/7148/744 4836/7045/744 +f 4838/7044/745 4839/7046/745 4840/7047/687 +f 4841/7048/687 4840/7047/687 4842/7049/746 +f 4843/7050/746 4842/7049/746 4844/7051/747 +f 4846/7053/748 4845/7052/747 4844/7051/747 +f 4846/7053/748 4847/7054/748 4848/7055/690 +f 4850/7057/749 4849/7056/690 4848/7055/690 +f 4850/7057/749 4851/7058/749 4852/7059/750 +f 4853/7060/750 4852/7059/750 4854/7061/751 +f 4855/7062/751 4854/7061/751 4856/7063/684 +f 4858/7065/752 4857/7064/684 4856/7063/684 +f 4860/7067/753 4858/7065/752 4859/7066/752 +f 4697/7069/732 4846/7053/732 4849/7056/734 +f 4622/7071/733 4833/7039/733 4834/7040/735 +f 4624/7070/734 4849/7056/734 4850/7057/736 +f 4692/7072/735 4834/7040/735 4837/7043/737 +f 4687/7075/739 4853/7060/739 4855/7062/738 +f 4685/7073/736 4850/7057/736 4853/7060/739 +f 4693/7077/737 4837/7148/737 4838/7044/740 +f 4688/7076/738 4855/7062/738 4857/7064/741 +f 4694/7078/740 4838/7044/740 4841/7048/754 +f 4686/7079/741 4857/7064/741 4858/7065/755 +f 4623/7080/754 4841/7048/754 4843/7050/697 +f 4689/7081/755 4858/7065/755 4860/7067/715 +f 4695/7082/697 4843/7050/697 4845/7052/696 +f 4690/7083/715 4860/7067/715 4831/7037/714 +f 4696/7084/696 4845/7052/696 4846/7053/732 +f 4691/7085/714 4831/7037/714 4833/7039/733 +f 4860/7067/753 4861/7068/753 4862/7086/742 +f 4863/7087/742 4894/7136/742 4864/7088/693 +f 4866/7090/743 4865/7089/693 4864/7088/693 +f 4866/7090/743 4867/7091/743 4868/7092/744 +f 4870/7094/745 4869/7149/744 4868/7095/744 +f 4870/7094/745 4871/7096/745 4872/7097/687 +f 4873/7098/687 4872/7097/687 4874/7099/746 +f 4875/7100/746 4874/7099/746 4876/7101/747 +f 4878/7103/748 4877/7102/747 4876/7101/747 +f 4878/7103/748 4879/7104/748 4880/7105/690 +f 4882/7107/749 4881/7106/690 4880/7105/690 +f 4882/7107/749 4883/7108/749 4884/7109/750 +f 4885/7110/750 4884/7109/750 4886/7111/751 +f 4887/7112/751 4886/7111/751 4888/7113/684 +f 4890/7115/752 4889/7114/684 4888/7113/684 +f 4892/7117/753 4890/7115/752 4891/7116/752 +f 4710/7119/732 4878/7103/732 4881/7106/734 +f 4625/7121/733 4865/7089/733 4866/7090/735 +f 4627/7120/734 4881/7106/734 4882/7107/736 +f 4705/7122/735 4866/7090/735 4869/7093/737 +f 4700/7125/739 4885/7110/739 4887/7112/738 +f 4698/7123/736 4882/7107/736 4885/7110/739 +f 4706/7127/737 4869/7149/737 4870/7094/740 +f 4701/7126/738 4887/7112/738 4889/7114/741 +f 4707/7128/740 4870/7094/740 4873/7098/754 +f 4699/7129/741 4889/7114/741 4890/7115/755 +f 4626/7130/754 4873/7098/754 4875/7100/697 +f 4702/7131/755 4890/7115/755 4892/7117/715 +f 4708/7132/697 4875/7100/697 4877/7102/696 +f 4703/7133/715 4892/7117/715 4863/7087/714 +f 4709/7134/696 4877/7102/696 4878/7103/732 +f 4704/7135/714 4863/7087/714 4865/7089/733 +f 4892/7117/753 4893/7118/753 4894/7136/742 +f 4895/7137/754 4903/7150/774 4896/7138/774 +f 4898/7140/697 4895/7137/754 4897/7139/754 +f 4900/7142/775 4898/7140/697 4899/7141/697 +o Strong_Missile +v 0.866138 2.750000 0.358766 +v 0.750000 2.750000 0.000000 +v 0.937500 2.750000 0.000000 +v 0.692910 2.750000 -0.287013 +v 0.866138 2.750000 -0.358765 +v 0.662913 2.750000 -0.662913 +v 0.530329 2.750000 -0.530331 +v 0.358766 2.750000 -0.866137 +v 0.287012 2.750000 -0.692910 +v 0.000000 2.750000 -0.937500 +v 0.000000 2.750000 -0.750000 +v -0.358766 2.750000 -0.866137 +v -0.287013 2.750000 -0.692910 +v -0.662913 2.750000 -0.662913 +v -0.692910 2.750000 -0.287013 +v -0.866138 2.750000 -0.358765 +v -0.937500 2.750000 0.000000 +v -0.692910 2.750000 0.287013 +v -0.866138 2.750000 0.358766 +v -0.530329 2.750000 0.530330 +v -0.662913 2.750000 0.662913 +v -0.358766 2.750000 0.866138 +v -0.287013 2.750000 0.692910 +v 0.000000 2.750000 0.937500 +v 0.287013 2.750000 0.692910 +v 0.358766 2.750000 0.866138 +v 0.662913 2.750000 0.662913 +v 0.530329 2.750000 0.530331 +v -0.530329 2.000000 -0.530329 +v 0.530329 2.000000 -0.530331 +v 0.530329 2.000000 0.530331 +v 1.328476 8.750000 -1.328476 +v 0.499836 8.375000 -0.566127 +v 0.499836 9.125000 -0.566127 +v 0.566127 8.375000 -0.499836 +v 0.566127 9.125000 -0.499836 +v 1.328476 8.375000 -1.328476 +v 1.328478 8.750000 1.328477 +v 0.566127 8.375000 0.499836 +v 0.566127 9.125000 0.499836 +v 0.499836 8.375000 0.566127 +v 0.499836 9.125000 0.566127 +v 1.328478 8.375000 1.328477 +v 1.325826 4.250000 1.325825 +v 0.563477 2.375000 0.497184 +v 0.563477 5.375000 0.497184 +v 0.497184 2.375000 0.563475 +v 0.497184 5.375000 0.563475 +v 1.325826 2.375000 1.325824 +v -0.563477 2.375000 -0.497184 +v -1.325826 2.375000 -1.325824 +v -0.497184 2.375000 -0.563475 +v -1.325826 4.250000 -1.325824 +v -0.563477 5.375000 -0.497184 +v -0.497184 5.375000 -0.563475 +v 1.325824 4.250000 -1.325824 +v 0.497184 2.375000 -0.563475 +v 0.497184 5.375000 -0.563475 +v 0.563475 2.375000 -0.497184 +v 0.563475 5.375000 -0.497184 +v 1.325824 2.375000 -1.325824 +v -0.566127 8.375000 -0.499836 +v -1.328476 8.375000 -1.328476 +v -0.499836 8.375000 -0.566127 +v -1.328476 8.750000 -1.328476 +v -0.566127 9.125000 -0.499836 +v -0.499836 9.125000 -0.566127 +v -0.497184 2.375000 0.563477 +v -1.325824 2.375000 1.325824 +v -0.563475 2.375000 0.497184 +v -1.325824 4.250000 1.325825 +v -0.497184 5.375000 0.563477 +v -0.563475 5.375000 0.497184 +v -0.499836 8.375000 0.566127 +v -1.328476 8.375000 1.328477 +v -0.566127 8.375000 0.499836 +v -1.328476 8.750000 1.328477 +v -0.499836 9.125000 0.566127 +v -0.566127 9.125000 0.499836 +v 0.692910 2.750000 0.287013 +v -0.530329 2.750000 -0.530329 +v -0.750000 2.750000 0.000000 +v 0.000000 2.750000 0.750000 +v -0.287013 2.000000 -0.692910 +v 0.000000 2.000000 -0.750000 +v 0.287012 2.000000 -0.692910 +v 0.692910 2.000000 -0.287013 +v 0.750000 2.000000 0.000000 +v 0.692910 2.000000 0.287013 +v 0.287013 2.000000 0.692910 +v 0.000000 2.000000 0.750000 +v -0.287013 2.000000 0.692910 +v -0.530329 2.000000 0.530329 +v -0.692910 2.000000 0.287013 +v -0.750000 2.000000 0.000000 +v -0.692910 2.000000 -0.287013 +v -0.662913 8.187500 -0.662913 +v -0.361636 9.312500 -0.873066 +v -0.358766 8.187500 -0.866137 +v 0.662913 8.187500 0.662913 +v 0.361635 9.312500 0.873066 +v 0.358766 8.187500 0.866138 +v -0.866138 8.187500 -0.358765 +v -0.668216 9.312500 -0.668215 +v 0.866138 8.187500 0.358766 +v 0.668216 9.312500 0.668216 +v -0.937500 8.187500 0.000000 +v -0.873066 9.312500 -0.361636 +v 0.937500 8.187500 0.000000 +v 0.873066 9.312500 0.361637 +v -0.866138 8.187500 0.358766 +v -0.945000 9.312500 0.000000 +v 0.866138 8.187500 -0.358765 +v 0.945000 9.312500 0.000000 +v -0.662913 8.187500 0.662913 +v -0.873066 9.312500 0.361637 +v 0.662913 8.187500 -0.662913 +v 0.873066 9.312500 -0.361636 +v -0.358766 8.187500 0.866138 +v -0.668216 9.312500 0.668216 +v 0.358766 8.187500 -0.866137 +v 0.668216 9.312500 -0.668215 +v 0.000000 8.187500 0.937500 +v -0.361636 9.312500 0.873066 +v 0.000000 9.312500 -0.945000 +v 0.000000 8.187500 -0.937500 +v 0.361635 9.312500 -0.873066 +v 0.000000 9.312500 0.945000 +v -0.287013 9.500000 0.692910 +v 0.000000 9.500000 -0.750000 +v 0.287012 9.500000 -0.692910 +v 0.000000 9.500000 0.750000 +v -0.287013 9.500000 -0.692910 +v 0.287013 9.500000 0.692910 +v -0.530329 9.500000 -0.530329 +v 0.692910 9.500000 0.287013 +v 0.530329 9.500000 0.530331 +v -0.692910 9.500000 -0.287013 +v -0.750000 9.500000 0.000000 +v 0.692910 9.500000 -0.287013 +v 0.750000 9.500000 0.000000 +v -0.692910 9.500000 0.287013 +v -0.530329 9.500000 0.530330 +v 0.530329 9.500000 -0.530331 +v 0.530329 8.000000 0.530331 +v 0.000000 11.000000 0.000000 +v 0.692910 8.000000 0.287013 +v 0.750000 8.000000 0.000000 +v 0.692910 8.000000 -0.287013 +v 0.530329 8.000000 -0.530331 +v 0.000000 8.000000 -0.750000 +v -0.287013 8.000000 -0.692910 +v -0.530329 8.000000 -0.530329 +v -0.692910 8.000000 -0.287013 +v -0.750000 8.000000 0.000000 +v -0.692910 8.000000 0.287013 +v -0.530329 8.000000 0.530330 +v -0.287013 8.000000 0.692910 +v 0.000000 8.000000 0.750000 +v 0.287013 8.000000 0.692910 +v -0.530329 7.250000 -0.530329 +v 0.530329 7.250000 0.530331 +v -0.692910 7.250000 -0.287013 +v 0.692910 7.250000 0.287013 +v -0.750000 7.250000 0.000000 +v 0.750000 7.250000 0.000000 +v -0.692910 7.250000 0.287013 +v 0.692910 7.250000 -0.287013 +v -0.530329 7.250000 0.530330 +v 0.530329 7.250000 -0.530331 +v -0.287013 7.250000 0.692910 +v 0.287012 7.250000 -0.692910 +v 0.287012 8.000000 -0.692910 +v 0.000000 7.250000 0.750000 +v -0.287013 7.250000 -0.692910 +v 0.000000 7.250000 -0.750000 +v 0.287013 7.250000 0.692910 +v -0.358766 5.750000 0.866138 +v 0.358766 5.750000 -0.866137 +v 0.000000 5.750000 0.937500 +v -0.358766 5.750000 -0.866137 +v 0.000000 5.750000 -0.937500 +v 0.358766 5.750000 0.866138 +v -0.662913 5.750000 -0.662913 +v 0.662913 5.750000 0.662913 +v -0.866138 5.750000 -0.358765 +v 0.866138 5.750000 0.358766 +v -0.937500 5.750000 0.000000 +v 0.937500 5.750000 0.000000 +v -0.866138 5.750000 0.358766 +v 0.866138 5.750000 -0.358765 +v -0.662913 5.750000 0.662913 +v 0.662913 5.750000 -0.662913 +vt 0.350000 0.102041 +vt 0.387500 0.081633 +vt 0.400000 0.102041 +vt 0.437500 0.081633 +vt 0.450000 0.102041 +vt 0.450000 0.081633 +vt 0.500000 0.102041 +vt 0.500000 0.081633 +vt 0.550000 0.102041 +vt 0.550000 0.081633 +vt 0.600000 0.102041 +vt 0.600000 0.081633 +vt 0.650000 0.102041 +vt 0.650000 0.081633 +vt 0.700000 0.102041 +vt 0.737500 0.081633 +vt 0.750000 0.102041 +vt 0.750000 0.081633 +vt 0.800000 0.102041 +vt 0.000000 0.102041 +vt 0.037500 0.081633 +vt 0.050000 0.102041 +vt 0.087500 0.081633 +vt 0.100000 0.102041 +vt 0.100000 0.081633 +vt 0.150000 0.102041 +vt 0.150000 0.081633 +vt 0.200000 0.102041 +vt 0.237500 0.081633 +vt 0.250000 0.102041 +vt 0.250000 0.081633 +vt 0.300000 0.102041 +vt 0.300000 0.081633 +vt 0.970508 0.024075 +vt 0.970508 0.139190 +vt 0.829492 0.139190 +vt 0.950000 0.561224 +vt 0.800000 0.520408 +vt 0.800000 0.602041 +vt 0.800000 0.520408 +vt 0.800000 0.602041 +vt 0.950000 0.602041 +vt 0.800000 0.612245 +vt 0.800000 0.510204 +vt 0.950000 0.520408 +vt 0.950000 0.561224 +vt 0.800000 0.520408 +vt 0.800000 0.602041 +vt 0.800000 0.520408 +vt 0.800000 0.602041 +vt 0.950000 0.602041 +vt 0.800000 0.612245 +vt 0.800000 0.510204 +vt 0.950000 0.520408 +vt 0.950000 0.377551 +vt 0.800000 0.173469 +vt 0.800000 0.500000 +vt 0.800000 0.173469 +vt 0.800000 0.500000 +vt 0.950000 0.500000 +vt 0.800000 0.510204 +vt 0.800000 0.163265 +vt 0.950000 0.173469 +vt 0.800000 0.163265 +vt 0.950000 0.173469 +vt 0.800000 0.173469 +vt 0.950000 0.500000 +vt 0.800000 0.510204 +vt 0.800000 0.500000 +vt 0.950000 0.377551 +vt 0.800000 0.173469 +vt 0.800000 0.500000 +vt 0.950000 0.377551 +vt 0.800000 0.173469 +vt 0.800000 0.500000 +vt 0.800000 0.173469 +vt 0.800000 0.500000 +vt 0.950000 0.500000 +vt 0.800000 0.510204 +vt 0.800000 0.163265 +vt 0.950000 0.173469 +vt 0.800000 0.510204 +vt 0.950000 0.520408 +vt 0.800000 0.520408 +vt 0.950000 0.602041 +vt 0.800000 0.612245 +vt 0.800000 0.602041 +vt 0.950000 0.561224 +vt 0.800000 0.520408 +vt 0.800000 0.602041 +vt 0.800000 0.163265 +vt 0.950000 0.173469 +vt 0.800000 0.173469 +vt 0.950000 0.500000 +vt 0.800000 0.510204 +vt 0.800000 0.500000 +vt 0.950000 0.377551 +vt 0.800000 0.173469 +vt 0.800000 0.500000 +vt 0.800000 0.510204 +vt 0.950000 0.520408 +vt 0.800000 0.520408 +vt 0.950000 0.602041 +vt 0.800000 0.612245 +vt 0.800000 0.602041 +vt 0.950000 0.561224 +vt 0.800000 0.520408 +vt 0.800000 0.602041 +vt 0.350000 0.081633 +vt 0.400000 0.081633 +vt 0.487500 0.081633 +vt 0.537500 0.081633 +vt 0.587500 0.081633 +vt 0.637500 0.081633 +vt 0.687500 0.081633 +vt 0.700000 0.081633 +vt 0.787500 0.081633 +vt 0.000000 0.081633 +vt 0.050000 0.081633 +vt 0.137500 0.081633 +vt 0.187500 0.081633 +vt 0.200000 0.081633 +vt 0.287500 0.081633 +vt 0.337500 0.081633 +vt 0.992123 0.050483 +vt 0.999714 0.081633 +vt 0.992123 0.112783 +vt 0.938159 0.156836 +vt 0.900000 0.163032 +vt 0.861841 0.156836 +vt 0.807876 0.112783 +vt 0.800286 0.081633 +vt 0.807877 0.050483 +vt 0.829492 0.024075 +vt 0.861841 0.006430 +vt 0.900000 0.000234 +vt 0.938159 0.006430 +vt 0.700000 0.693878 +vt 0.650000 0.816327 +vt 0.650000 0.693878 +vt 0.300000 0.693878 +vt 0.250000 0.816327 +vt 0.250000 0.693878 +vt 0.750000 0.693878 +vt 0.700000 0.816327 +vt 0.350000 0.693878 +vt 0.300000 0.816327 +vt 0.800000 0.693878 +vt 0.750000 0.816327 +vt 0.400000 0.693878 +vt 0.350000 0.816327 +vt 0.050000 0.693878 +vt 0.000000 0.816327 +vt -0.000000 0.693878 +vt 0.450000 0.693878 +vt 0.400000 0.816327 +vt 0.100000 0.693878 +vt 0.050000 0.816327 +vt 0.500000 0.693878 +vt 0.450000 0.816327 +vt 0.150000 0.693878 +vt 0.100000 0.816327 +vt 0.550000 0.693878 +vt 0.500000 0.816327 +vt 0.200000 0.693878 +vt 0.150000 0.816327 +vt 0.600000 0.816327 +vt 0.600000 0.693878 +vt 0.550000 0.816327 +vt 0.200000 0.816327 +vt 0.150000 0.836735 +vt 0.600000 0.836735 +vt 0.550000 0.836735 +vt 0.200000 0.836735 +vt 0.650000 0.836735 +vt 0.250000 0.836735 +vt 0.700000 0.836735 +vt 0.337500 0.836735 +vt 0.300000 0.836735 +vt 0.800000 0.816327 +vt 0.750000 0.836735 +vt 0.350000 0.836735 +vt -0.000000 0.836735 +vt 0.437500 0.836735 +vt 0.400000 0.836735 +vt 0.050000 0.836735 +vt 0.450000 0.836735 +vt 0.100000 0.836735 +vt 0.500000 0.836735 +vt 0.300000 0.673469 +vt 0.687500 0.836735 +vt 0.662500 1.000000 +vt 0.737500 0.836735 +vt 0.712500 1.000000 +vt 0.787500 0.836735 +vt 0.762500 1.000000 +vt 0.037500 0.836735 +vt 0.012500 1.000000 +vt 0.087500 0.836735 +vt 0.062500 1.000000 +vt 0.137500 0.836735 +vt 0.112500 1.000000 +vt 0.187500 0.836735 +vt 0.162500 1.000000 +vt 0.237500 0.836735 +vt 0.212500 1.000000 +vt 0.287500 0.836735 +vt 0.262500 1.000000 +vt 0.312500 1.000000 +vt 0.387500 0.836735 +vt 0.362500 1.000000 +vt 0.412500 1.000000 +vt 0.487500 0.836735 +vt 0.462500 1.000000 +vt 0.537500 0.836735 +vt 0.512500 1.000000 +vt 0.587500 0.836735 +vt 0.562500 1.000000 +vt 0.637500 0.836735 +vt 0.612500 1.000000 +vt 0.350000 0.673469 +vt 0.400000 0.673469 +vt 0.450000 0.673469 +vt 0.500000 0.673469 +vt 0.587500 0.673469 +vt 0.600000 0.673469 +vt 0.650000 0.673469 +vt 0.700000 0.673469 +vt 0.750000 0.673469 +vt 0.000000 0.673469 +vt 0.050000 0.673469 +vt 0.100000 0.673469 +vt 0.150000 0.673469 +vt 0.200000 0.673469 +vt 0.250000 0.673469 +vt 0.687500 0.591837 +vt 0.687500 0.673469 +vt 0.287500 0.591837 +vt 0.287500 0.673469 +vt 0.737500 0.591837 +vt 0.737500 0.673469 +vt 0.337500 0.591837 +vt 0.337500 0.673469 +vt 0.787500 0.591837 +vt 0.787500 0.673469 +vt 0.387500 0.591837 +vt 0.387500 0.673469 +vt 0.037500 0.591837 +vt 0.037500 0.673469 +vt 0.437500 0.591837 +vt 0.437500 0.673469 +vt 0.087500 0.591837 +vt 0.087500 0.673469 +vt 0.487500 0.591837 +vt 0.487500 0.673469 +vt 0.137500 0.591837 +vt 0.137500 0.673469 +vt 0.537500 0.591837 +vt 0.537500 0.673469 +vt 0.187500 0.591837 +vt 0.187500 0.673469 +vt 0.637500 0.591837 +vt 0.637500 0.673469 +vt 0.550000 0.673469 +vt 0.587500 0.591837 +vt 0.237500 0.591837 +vt 0.237500 0.673469 +vt 0.100000 0.591837 +vt 0.150000 0.428571 +vt 0.500000 0.591837 +vt 0.550000 0.428571 +vt 0.150000 0.591837 +vt 0.200000 0.428571 +vt 0.600000 0.591837 +vt 0.650000 0.428571 +vt 0.550000 0.591837 +vt 0.600000 0.428571 +vt 0.250000 0.428571 +vt 0.650000 0.591837 +vt 0.700000 0.428571 +vt 0.250000 0.591837 +vt 0.300000 0.428571 +vt 0.700000 0.591837 +vt 0.750000 0.428571 +vt 0.300000 0.591837 +vt 0.350000 0.428571 +vt 0.750000 0.591837 +vt 0.800000 0.428571 +vt 0.350000 0.591837 +vt 0.400000 0.428571 +vt -0.000000 0.591837 +vt 0.050000 0.428571 +vt 0.400000 0.591837 +vt 0.450000 0.428571 +vt 0.050000 0.591837 +vt 0.100000 0.428571 +vt 0.450000 0.591837 +vt 0.500000 0.428571 +vt 0.000000 0.428571 +vt 0.537500 -0.000000 +vt 0.187500 0.000000 +vt 0.637500 0.000000 +vt 0.587500 0.000000 +vt 0.237500 0.000000 +vt 0.687500 0.000000 +vt 0.287500 0.000000 +vt 0.737500 -0.000000 +vt 0.337500 0.000000 +vt 0.787500 -0.000000 +vt 0.387500 0.000000 +vt 0.037500 -0.000000 +vt 0.437500 0.000000 +vt 0.087500 -0.000000 +vt 0.487500 0.000000 +vt 0.137500 0.000000 +vt 0.200000 0.591837 +vt 0.500000 -0.000000 +vt 0.150000 0.000000 +vt 0.600000 0.000000 +vt 0.550000 0.000000 +vt 0.200000 -0.000000 +vt 0.650000 0.000000 +vt 0.250000 -0.000000 +vt 0.700000 0.000000 +vt 0.300000 -0.000000 +vt 0.750000 0.000000 +vt 0.350000 -0.000000 +vt -0.000000 0.000000 +vt 0.400000 -0.000000 +vt 0.050000 -0.000000 +vt 0.450000 0.000000 +vt 0.100000 0.000000 +vn 0.0000 -1.0000 0.0000 +vn -0.6771 0.0000 -0.7359 +vn 0.7359 0.0000 0.6771 +vn 0.2236 0.9487 -0.2236 +vn 0.7359 0.0000 -0.6771 +vn -0.6771 0.0000 0.7359 +vn 0.2236 0.9487 0.2236 +vn 0.5000 0.7071 0.5000 +vn -0.5000 0.7071 -0.5000 +vn 0.6771 0.0000 -0.7359 +vn -0.7359 -0.0000 0.6771 +vn 0.5000 0.7071 -0.5000 +vn -0.2236 0.9487 -0.2236 +vn -0.5000 0.7071 0.5000 +vn -0.7359 0.0000 -0.6771 +vn 0.6771 -0.0000 0.7359 +vn -0.2236 0.9487 0.2236 +vn -0.7071 -0.0067 -0.7071 +vn -0.3827 -0.0067 -0.9239 +vn 0.7071 -0.0067 0.7071 +vn 0.3827 -0.0067 0.9239 +vn -0.9239 -0.0067 -0.3827 +vn 0.9239 -0.0067 0.3827 +vn -1.0000 -0.0067 -0.0000 +vn 1.0000 -0.0067 0.0000 +vn -0.9239 -0.0067 0.3827 +vn 0.9239 -0.0067 -0.3827 +vn -0.7071 -0.0067 0.7071 +vn 0.7071 -0.0067 -0.7071 +vn -0.3827 -0.0067 0.9239 +vn 0.3827 -0.0067 -0.9239 +vn -0.0000 -0.0067 1.0000 +vn 0.0000 -0.0067 -1.0000 +vn 0.0000 0.7208 0.6931 +vn -0.2652 0.7208 0.6403 +vn -0.2652 0.7208 -0.6403 +vn 0.0000 0.7208 -0.6931 +vn 0.2652 0.7208 -0.6403 +vn 0.2652 0.7208 -0.6404 +vn 0.2652 0.7208 0.6404 +vn -0.4901 0.7208 -0.4901 +vn 0.4901 0.7208 0.4901 +vn -0.6403 0.7208 -0.2652 +vn 0.6403 0.7208 0.2652 +vn -0.6931 0.7208 0.0000 +vn 0.6931 0.7208 0.0000 +vn -0.6403 0.7208 0.2652 +vn 0.6403 0.7208 -0.2652 +vn -0.4901 0.7208 0.4901 +vn 0.4901 0.7208 -0.4901 +vn 0.5000 -0.7071 0.5000 +vn 0.6533 -0.7071 0.2706 +vn -0.3423 0.4472 -0.8263 +vn -0.6325 0.4472 -0.6325 +vn 0.0000 1.0000 -0.0000 +vn -0.8263 0.4472 -0.3423 +vn -0.8944 0.4472 0.0000 +vn -0.8263 0.4472 0.3423 +vn -0.6325 0.4472 0.6325 +vn -0.3423 0.4472 0.8263 +vn 0.0000 0.4472 0.8944 +vn 0.3423 0.4472 0.8263 +vn 0.6325 0.4472 0.6325 +vn 0.8263 0.4472 0.3423 +vn 0.8944 0.4472 0.0000 +vn 0.8263 0.4472 -0.3423 +vn 0.6325 0.4472 -0.6325 +vn 0.3423 0.4472 -0.8263 +vn 0.0000 0.4472 -0.8944 +vn 0.7071 -0.7071 0.0000 +vn 0.6533 -0.7071 -0.2706 +vn 0.5000 -0.7071 -0.5000 +vn 0.2706 -0.7071 -0.6533 +vn 0.0000 -0.7071 -0.7071 +vn -0.2706 -0.7071 -0.6533 +vn -0.5000 -0.7071 -0.5000 +vn -0.6533 -0.7071 -0.2706 +vn -0.7071 -0.7071 -0.0000 +vn -0.6533 -0.7071 0.2706 +vn -0.5000 -0.7071 0.5000 +vn -0.2706 -0.7071 0.6533 +vn -0.0000 -0.7071 0.7071 +vn 0.2706 -0.7071 0.6533 +vn -0.3827 0.0000 -0.9239 +vn -0.7071 0.0000 -0.7071 +vn 0.3827 0.0000 0.9239 +vn 0.7071 0.0000 0.7071 +vn -0.9239 0.0000 -0.3827 +vn 0.9239 -0.0000 0.3827 +vn -1.0000 -0.0000 0.0000 +vn 1.0000 0.0000 -0.0000 +vn -0.9239 -0.0000 0.3827 +vn 0.9239 -0.0000 -0.3827 +vn -0.7071 0.0000 0.7071 +vn 0.7071 -0.0000 -0.7071 +vn -0.3827 0.0000 0.9239 +vn 0.3827 0.0000 -0.9239 +vn -0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn -0.7016 0.1240 0.7016 +vn -0.3797 0.1240 0.9167 +vn 0.7016 0.1240 -0.7016 +vn 0.3797 0.1240 -0.9167 +vn 0.0000 0.1240 0.9923 +vn 0.0000 0.1240 -0.9923 +vn -0.3797 0.1240 -0.9167 +vn 0.3797 0.1240 0.9167 +vn -0.7016 0.1240 -0.7016 +vn 0.7016 0.1240 0.7016 +vn -0.9167 0.1240 -0.3797 +vn 0.9167 0.1240 0.3797 +vn -0.9923 0.1240 -0.0000 +vn 0.9923 0.1240 -0.0000 +vn -0.9167 0.1240 0.3797 +vn 0.9167 0.1240 -0.3797 +s off +f 4904/7151/776 4905/7152/776 4906/7153/776 +f 4906/7153/776 4907/7154/776 4908/7155/776 +f 4907/7156/776 4909/7157/776 4908/7155/776 +f 4910/7158/776 4911/7159/776 4909/7157/776 +f 4912/7160/776 4913/7161/776 4911/7159/776 +f 4914/7162/776 4915/7163/776 4913/7161/776 +f 4916/7164/776 4917/7165/776 4915/7163/776 +f 4917/7165/776 4918/7166/776 4919/7167/776 +f 4918/7168/776 4920/7169/776 4919/7167/776 +f 4920/7170/776 4921/7171/776 4922/7172/776 +f 4922/7172/776 4923/7173/776 4924/7174/776 +f 4923/7175/776 4925/7176/776 4924/7174/776 +f 4926/7177/776 4927/7178/776 4925/7176/776 +f 4927/7178/776 4928/7179/776 4929/7180/776 +f 4928/7181/776 4930/7182/776 4929/7180/776 +f 4931/7183/776 4904/7151/776 4930/7182/776 +f 4932/7184/776 4933/7185/776 4934/7186/776 +f 4935/7187/777 4936/7188/777 4937/7189/777 +f 4938/7190/778 4935/7187/778 4939/7191/778 +f 4935/7192/779 4937/7193/779 4939/7191/779 +f 4936/7194/776 4940/7195/776 4938/7190/776 +f 4941/7196/780 4942/7197/780 4943/7198/780 +f 4944/7199/781 4941/7196/781 4945/7200/781 +f 4941/7201/782 4943/7202/782 4945/7200/782 +f 4942/7203/776 4946/7204/776 4944/7199/776 +f 4947/7205/780 4948/7206/780 4949/7207/780 +f 4950/7208/781 4947/7205/781 4951/7209/781 +f 4947/7210/783 4949/7211/783 4951/7209/783 +f 4948/7212/776 4952/7213/776 4950/7208/776 +f 4953/7214/776 4954/7215/776 4955/7216/776 +f 4956/7217/784 4957/7218/784 4958/7219/784 +f 4955/7216/785 4956/7220/785 4958/7219/785 +f 4956/7220/786 4953/7221/786 4957/7222/786 +f 4959/7223/777 4960/7224/777 4961/7225/777 +f 4962/7226/778 4959/7223/778 4963/7227/778 +f 4959/7228/787 4961/7229/787 4963/7227/787 +f 4960/7230/776 4964/7231/776 4962/7226/776 +f 4965/7232/776 4966/7233/776 4967/7234/776 +f 4968/7235/788 4969/7236/788 4970/7237/788 +f 4967/7234/785 4968/7238/785 4970/7237/785 +f 4968/7238/786 4965/7239/786 4969/7240/786 +f 4971/7241/776 4972/7242/776 4973/7243/776 +f 4974/7244/789 4975/7245/789 4976/7246/789 +f 4973/7243/790 4974/7247/790 4976/7246/790 +f 4974/7247/791 4971/7248/791 4975/7249/791 +f 4977/7250/776 4978/7251/776 4979/7252/776 +f 4980/7253/792 4981/7254/792 4982/7255/792 +f 4979/7252/790 4980/7256/790 4982/7255/790 +f 4980/7256/791 4977/7257/791 4981/7258/791 +f 4904/7151/776 4983/7259/776 4905/7152/776 +f 4906/7153/776 4905/7260/776 4907/7154/776 +f 4907/7156/776 4910/7261/776 4909/7157/776 +f 4910/7158/776 4912/7262/776 4911/7159/776 +f 4912/7160/776 4914/7263/776 4913/7161/776 +f 4914/7162/776 4916/7264/776 4915/7163/776 +f 4916/7164/776 4984/7265/776 4917/7165/776 +f 4917/7165/776 4984/7266/776 4918/7166/776 +f 4918/7168/776 4985/7267/776 4920/7169/776 +f 4920/7170/776 4985/7268/776 4921/7171/776 +f 4922/7172/776 4921/7269/776 4923/7173/776 +f 4923/7175/776 4926/7270/776 4925/7176/776 +f 4926/7177/776 4986/7271/776 4927/7178/776 +f 4927/7178/776 4986/7272/776 4928/7179/776 +f 4928/7181/776 4931/7273/776 4930/7182/776 +f 4931/7183/776 4983/7274/776 4904/7151/776 +f 4932/7184/776 4987/7275/776 4988/7276/776 +f 4988/7276/776 4989/7277/776 4933/7185/776 +f 4933/7185/776 4990/7278/776 4991/7279/776 +f 4991/7279/776 4992/7280/776 4934/7186/776 +f 4934/7186/776 4993/7281/776 4994/7282/776 +f 4994/7282/776 4995/7283/776 4996/7284/776 +f 4996/7284/776 4997/7285/776 4998/7286/776 +f 4998/7286/776 4999/7287/776 4996/7284/776 +f 4999/7287/776 4932/7184/776 4996/7284/776 +f 4932/7184/776 4988/7276/776 4933/7185/776 +f 4933/7185/776 4991/7279/776 4934/7186/776 +f 4934/7186/776 4994/7282/776 4932/7184/776 +f 4994/7282/776 4996/7284/776 4932/7184/776 +f 4935/7187/777 4940/7195/777 4936/7188/777 +f 4938/7190/778 4940/7195/778 4935/7187/778 +f 4941/7196/780 4946/7204/780 4942/7197/780 +f 4944/7199/781 4946/7204/781 4941/7196/781 +f 4947/7205/780 4952/7213/780 4948/7206/780 +f 4950/7208/781 4952/7213/781 4947/7205/781 +f 4955/7216/785 4954/7215/785 4956/7220/785 +f 4956/7220/786 4954/7215/786 4953/7221/786 +f 4959/7223/777 4964/7231/777 4960/7224/777 +f 4962/7226/778 4964/7231/778 4959/7223/778 +f 4967/7234/785 4966/7233/785 4968/7238/785 +f 4968/7238/786 4966/7233/786 4965/7239/786 +f 4973/7243/790 4972/7242/790 4974/7247/790 +f 4974/7247/791 4972/7242/791 4971/7248/791 +f 4979/7252/790 4978/7251/790 4980/7256/790 +f 4980/7256/791 4978/7251/791 4977/7257/791 +s 1 +f 5000/7288/793 5001/7289/794 5002/7290/794 +f 5003/7291/795 5004/7292/796 5005/7293/796 +f 5006/7294/797 5007/7295/793 5000/7288/793 +f 5008/7296/798 5009/7297/795 5003/7291/795 +f 5010/7298/799 5011/7299/797 5006/7294/797 +f 5012/7300/800 5013/7301/798 5008/7296/798 +f 5014/7302/801 5015/7303/799 5010/7304/799 +f 5016/7305/802 5017/7306/800 5012/7300/800 +f 5018/7307/803 5019/7308/801 5014/7302/801 +f 5020/7309/804 5021/7310/802 5016/7305/802 +f 5022/7311/805 5023/7312/803 5018/7307/803 +f 5024/7313/806 5025/7314/804 5020/7309/804 +f 5026/7315/807 5027/7316/805 5022/7311/805 +f 5002/7290/794 5028/7317/808 5029/7318/808 +f 5029/7318/808 5030/7319/806 5024/7313/806 +f 5005/7293/796 5031/7320/807 5026/7315/807 +f 5031/7320/809 5032/7321/810 5027/7316/810 +f 5001/7289/811 5033/7322/812 5028/7317/812 +f 5028/7317/812 5034/7323/813 5030/7319/814 +f 5004/7292/815 5035/7324/809 5031/7320/809 +f 5007/7295/816 5036/7325/811 5001/7289/811 +f 5009/7297/817 5037/7326/815 5004/7292/815 +f 5011/7299/818 5038/7327/816 5007/7295/816 +f 5009/7297/817 5039/7328/819 5040/7329/817 +f 5015/7330/820 5041/7331/818 5011/7299/818 +f 5017/7306/821 5039/7332/819 5013/7301/819 +f 5019/7308/822 5042/7333/820 5015/7303/820 +f 5017/7306/821 5043/7334/823 5044/7335/821 +f 5023/7312/824 5045/7336/822 5019/7308/822 +f 5025/7314/825 5043/7337/823 5021/7310/823 +f 5027/7316/810 5046/7338/824 5023/7312/824 +f 5030/7319/814 5047/7339/825 5025/7314/825 +f 5048/7340/826 5008/7296/827 5003/7291/826 +f 5036/7325/828 5038/7341/829 5049/7342/830 +f 5038/7327/829 5041/7343/831 5049/7344/830 +f 5041/7331/831 5042/7345/832 5049/7346/830 +f 5042/7333/832 5045/7347/833 5049/7348/830 +f 5045/7336/833 5046/7349/834 5049/7350/830 +f 5046/7338/834 5032/7351/835 5049/7352/830 +f 5032/7321/835 5035/7353/836 5049/7354/830 +f 5035/7324/836 5037/7355/837 5049/7356/830 +f 5037/7326/837 5040/7357/838 5049/7358/830 +f 5040/7329/838 5039/7328/839 5049/7359/830 +f 5039/7332/839 5044/7360/840 5049/7361/830 +f 5044/7335/840 5043/7334/841 5049/7362/830 +f 5043/7337/841 5047/7363/842 5049/7364/830 +f 5047/7339/842 5034/7365/843 5049/7366/830 +f 5034/7323/843 5033/7367/844 5049/7368/830 +f 5033/7322/844 5036/7369/828 5049/7370/830 +f 5050/7371/827 5012/7300/845 5008/7296/827 +f 5051/7372/845 5016/7305/846 5012/7300/845 +f 5052/7373/846 5020/7309/847 5016/7305/846 +f 5053/7374/847 5024/7313/848 5020/7309/847 +f 5024/7313/848 5054/7375/849 5029/7318/849 +f 5054/7376/849 5002/7290/850 5029/7318/849 +f 5055/7377/850 5000/7288/851 5002/7290/850 +f 5056/7378/851 5006/7294/852 5000/7288/851 +f 5057/7379/852 5010/7298/853 5006/7294/852 +f 5058/7380/853 5014/7302/854 5010/7304/853 +f 5059/7381/854 5018/7307/855 5014/7302/854 +f 5060/7382/855 5022/7311/856 5018/7307/855 +f 5061/7383/856 5026/7315/857 5022/7311/856 +f 5062/7384/857 5005/7293/858 5026/7315/857 +f 5063/7385/858 5003/7291/826 5005/7293/858 +f 5055/7377/859 5064/7386/860 5056/7387/860 +f 5063/7385/861 5065/7388/862 5048/7389/862 +f 5056/7378/860 5066/7390/863 5057/7391/863 +f 5048/7340/862 5067/7392/864 5050/7393/864 +f 5057/7379/863 5068/7394/865 5058/7395/865 +f 5050/7371/864 5069/7396/866 5051/7397/866 +f 5058/7380/865 5070/7398/867 5059/7399/867 +f 5051/7372/866 5071/7400/868 5052/7401/868 +f 5059/7381/867 5072/7402/869 5060/7403/869 +f 5052/7373/868 5073/7404/870 5053/7405/870 +f 5060/7382/869 5074/7406/871 5061/7407/871 +f 5053/7374/870 5075/7408/872 5076/7409/872 +f 5061/7383/871 5077/7410/873 5062/7411/873 +f 5054/7376/874 5078/7412/859 5055/7413/859 +f 5076/7414/872 5079/7415/874 5054/7375/874 +f 5062/7384/873 5080/7416/861 5063/7417/861 +f 5072/7418/875 5081/7419/876 5074/7406/876 +f 5073/7420/877 5082/7421/878 5075/7408/878 +f 5074/7422/876 5083/7423/879 5077/7410/879 +f 5079/7424/880 5084/7425/881 5078/7412/881 +f 5075/7426/878 5085/7427/880 5079/7415/880 +f 5080/7416/882 5083/7423/879 5086/7428/882 +f 5078/7429/881 5087/7430/883 5064/7386/883 +f 5080/7431/882 5088/7432/884 5065/7388/884 +f 5064/7433/883 5089/7434/885 5066/7390/885 +f 5065/7435/884 5090/7436/886 5067/7392/886 +f 5066/7437/885 5091/7438/887 5068/7394/887 +f 5067/7439/886 5092/7440/888 5069/7396/888 +f 5068/7441/887 5093/7442/889 5070/7398/889 +f 5069/7443/888 5094/7444/890 5071/7400/890 +f 5070/7445/889 5095/7446/875 5072/7402/875 +f 5071/7447/890 5096/7448/877 5073/7404/877 +f 5090/7436/864 4906/7153/866 5092/7440/866 +f 5091/7449/865 4922/7172/867 5093/7442/867 +f 5092/7440/866 4908/7155/868 5094/7444/868 +f 5093/7442/867 4924/7174/869 5095/7446/869 +f 5094/7444/868 4909/7157/870 5096/7448/870 +f 5095/7446/869 4925/7176/871 5081/7419/871 +f 5096/7448/870 4911/7159/872 5082/7421/872 +f 5081/7419/871 4927/7178/873 5083/7423/873 +f 5085/7427/874 4915/7163/859 5084/7425/859 +f 5082/7421/872 4913/7161/874 5085/7427/874 +f 5083/7423/873 4929/7180/861 5086/7428/861 +f 5084/7425/859 4917/7165/860 5087/7430/860 +f 5086/7428/861 4930/7182/862 5088/7432/862 +f 5087/7430/860 4919/7167/863 5089/7434/863 +f 5088/7432/862 4904/7151/864 5090/7436/864 +f 5089/7434/863 4920/7169/865 5091/7438/865 +f 4910/7158/870 4989/7450/872 4912/7262/872 +f 4926/7177/871 4994/7451/873 4986/7271/873 +f 4914/7162/874 4987/7452/859 4916/7264/859 +f 4912/7160/872 4988/7453/874 4914/7263/874 +f 4986/7272/873 4993/7454/861 4928/7179/861 +f 4916/7164/859 4932/7455/860 4984/7265/860 +f 4928/7181/861 4934/7456/862 4931/7273/862 +f 4984/7266/860 4999/7457/863 4918/7166/863 +f 4931/7183/862 4992/7458/864 4983/7274/864 +f 4918/7168/863 4998/7459/865 4985/7267/865 +f 4983/7259/864 4991/7460/866 4905/7152/866 +f 4985/7268/865 4997/7461/867 4921/7171/867 +f 4905/7260/866 4990/7462/868 4907/7154/868 +f 4921/7269/867 4996/7463/869 4923/7173/869 +f 4907/7156/868 4933/7464/870 4910/7261/870 +f 4923/7175/869 4995/7465/871 4926/7270/871 +f 5000/7288/793 5007/7295/793 5001/7289/794 +f 5003/7291/795 5009/7297/795 5004/7292/796 +f 5006/7294/797 5011/7299/797 5007/7295/793 +f 5008/7296/798 5013/7301/798 5009/7297/795 +f 5010/7298/799 5015/7330/799 5011/7299/797 +f 5012/7300/800 5017/7306/800 5013/7301/798 +f 5014/7302/801 5019/7308/801 5015/7303/799 +f 5016/7305/802 5021/7310/802 5017/7306/800 +f 5018/7307/803 5023/7312/803 5019/7308/801 +f 5020/7309/804 5025/7314/804 5021/7310/802 +f 5022/7311/805 5027/7316/805 5023/7312/803 +f 5024/7313/806 5030/7319/806 5025/7314/804 +f 5026/7315/807 5031/7320/807 5027/7316/805 +f 5002/7290/794 5001/7289/794 5028/7317/808 +f 5029/7318/808 5028/7317/808 5030/7319/806 +f 5005/7293/796 5004/7292/796 5031/7320/807 +f 5031/7320/809 5035/7353/809 5032/7321/810 +f 5001/7289/811 5036/7369/811 5033/7322/812 +f 5028/7317/812 5033/7367/812 5034/7323/813 +f 5004/7292/815 5037/7355/815 5035/7324/809 +f 5007/7295/816 5038/7341/816 5036/7325/811 +f 5009/7297/817 5040/7357/817 5037/7326/815 +f 5011/7299/818 5041/7343/818 5038/7327/816 +f 5009/7297/817 5013/7301/819 5039/7328/819 +f 5015/7330/820 5042/7345/820 5041/7331/818 +f 5017/7306/821 5044/7360/821 5039/7332/819 +f 5019/7308/822 5045/7347/822 5042/7333/820 +f 5017/7306/821 5021/7310/823 5043/7334/823 +f 5023/7312/824 5046/7349/824 5045/7336/822 +f 5025/7314/825 5047/7363/825 5043/7337/823 +f 5027/7316/810 5032/7351/810 5046/7338/824 +f 5030/7319/814 5034/7365/813 5047/7339/825 +f 5048/7340/826 5050/7393/827 5008/7296/827 +f 5050/7371/827 5051/7397/845 5012/7300/845 +f 5051/7372/845 5052/7401/846 5016/7305/846 +f 5052/7373/846 5053/7405/847 5020/7309/847 +f 5053/7374/847 5076/7409/848 5024/7313/848 +f 5024/7313/848 5076/7414/848 5054/7375/849 +f 5054/7376/849 5055/7413/850 5002/7290/850 +f 5055/7377/850 5056/7387/851 5000/7288/851 +f 5056/7378/851 5057/7391/852 5006/7294/852 +f 5057/7379/852 5058/7395/853 5010/7298/853 +f 5058/7380/853 5059/7399/854 5014/7302/854 +f 5059/7381/854 5060/7403/855 5018/7307/855 +f 5060/7382/855 5061/7407/856 5022/7311/856 +f 5061/7383/856 5062/7411/857 5026/7315/857 +f 5062/7384/857 5063/7417/858 5005/7293/858 +f 5063/7385/858 5048/7389/826 5003/7291/826 +f 5055/7377/859 5078/7429/859 5064/7386/860 +f 5063/7385/861 5080/7431/861 5065/7388/862 +f 5056/7378/860 5064/7433/860 5066/7390/863 +f 5048/7340/862 5065/7435/862 5067/7392/864 +f 5057/7379/863 5066/7437/863 5068/7394/865 +f 5050/7371/864 5067/7439/864 5069/7396/866 +f 5058/7380/865 5068/7441/865 5070/7398/867 +f 5051/7372/866 5069/7443/866 5071/7400/868 +f 5059/7381/867 5070/7445/867 5072/7402/869 +f 5052/7373/868 5071/7447/868 5073/7404/870 +f 5060/7382/869 5072/7418/869 5074/7406/871 +f 5053/7374/870 5073/7420/870 5075/7408/872 +f 5061/7383/871 5074/7422/871 5077/7410/873 +f 5054/7376/874 5079/7424/874 5078/7412/859 +f 5076/7414/872 5075/7426/872 5079/7415/874 +f 5062/7384/873 5077/7466/873 5080/7416/861 +f 5072/7418/875 5095/7446/875 5081/7419/876 +f 5073/7420/877 5096/7448/877 5082/7421/878 +f 5074/7422/876 5081/7419/876 5083/7423/879 +f 5079/7424/880 5085/7427/880 5084/7425/881 +f 5075/7426/878 5082/7421/878 5085/7427/880 +f 5080/7416/882 5077/7466/879 5083/7423/879 +f 5078/7429/881 5084/7425/881 5087/7430/883 +f 5080/7431/882 5086/7428/882 5088/7432/884 +f 5064/7433/883 5087/7430/883 5089/7434/885 +f 5065/7435/884 5088/7432/884 5090/7436/886 +f 5066/7437/885 5089/7434/885 5091/7438/887 +f 5067/7439/886 5090/7436/886 5092/7440/888 +f 5068/7441/887 5091/7449/887 5093/7442/889 +f 5069/7443/888 5092/7440/888 5094/7444/890 +f 5070/7445/889 5093/7442/889 5095/7446/875 +f 5071/7447/890 5094/7444/890 5096/7448/877 +f 5090/7436/864 4904/7151/864 4906/7153/866 +f 5091/7449/865 4920/7170/865 4922/7172/867 +f 5092/7440/866 4906/7153/866 4908/7155/868 +f 5093/7442/867 4922/7172/867 4924/7174/869 +f 5094/7444/868 4908/7155/868 4909/7157/870 +f 5095/7446/869 4924/7174/869 4925/7176/871 +f 5096/7448/870 4909/7157/870 4911/7159/872 +f 5081/7419/871 4925/7176/871 4927/7178/873 +f 5085/7427/874 4913/7161/874 4915/7163/859 +f 5082/7421/872 4911/7159/872 4913/7161/874 +f 5083/7423/873 4927/7178/873 4929/7180/861 +f 5084/7425/859 4915/7163/859 4917/7165/860 +f 5086/7428/861 4929/7180/861 4930/7182/862 +f 5087/7430/860 4917/7165/860 4919/7167/863 +f 5088/7432/862 4930/7182/862 4904/7151/864 +f 5089/7434/863 4919/7167/863 4920/7169/865 +f 4910/7158/870 4933/7467/870 4989/7450/872 +f 4926/7177/871 4995/7468/871 4994/7451/873 +f 4914/7162/874 4988/7469/874 4987/7452/859 +f 4912/7160/872 4989/7470/872 4988/7453/874 +f 4986/7272/873 4994/7471/873 4993/7454/861 +f 4916/7164/859 4987/7472/859 4932/7455/860 +f 4928/7181/861 4993/7473/861 4934/7456/862 +f 4984/7266/860 4932/7474/860 4999/7457/863 +f 4931/7183/862 4934/7475/862 4992/7458/864 +f 4918/7168/863 4999/7476/863 4998/7459/865 +f 4983/7259/864 4992/7477/864 4991/7460/866 +f 4985/7268/865 4998/7478/865 4997/7461/867 +f 4905/7260/866 4991/7479/866 4990/7462/868 +f 4921/7269/867 4997/7480/867 4996/7463/869 +f 4907/7156/868 4990/7481/868 4933/7464/870 +f 4923/7175/869 4996/7482/869 4995/7465/871 +o V2_Missile +v 0.265165 2.500000 -0.265165 +v 0.265165 2.500000 0.265165 +v -0.265165 2.500000 0.265165 +v 0.729204 3.500000 -0.773398 +v 0.773398 2.000000 -0.729204 +v 0.729204 2.000000 -0.773398 +v -0.773398 3.500000 -0.729204 +v -0.729204 2.000000 -0.773398 +v -0.773398 2.000000 -0.729204 +v -0.198874 2.500000 -0.243068 +v -0.596621 2.000000 -0.552427 +v -0.552427 2.000000 -0.596621 +v 0.243068 2.500000 -0.198874 +v 0.552427 2.000000 -0.596621 +v 0.596621 2.000000 -0.552427 +v -0.729204 3.500000 -0.773398 +v 0.773398 3.500000 -0.729204 +v -0.243068 2.500000 -0.198874 +v 0.198874 2.500000 -0.243068 +v -0.243068 4.500000 -0.198874 +v -0.198874 4.500000 -0.243068 +v 0.198874 4.500000 -0.243068 +v 0.243068 4.500000 -0.198874 +v -0.243068 4.500000 0.198874 +v -0.729204 3.500000 0.773398 +v -0.198874 4.500000 0.243068 +v -0.552427 2.000000 0.596621 +v -0.773398 2.000000 0.729204 +v -0.596621 2.000000 0.552427 +v -0.729204 2.000000 0.773398 +v -0.198874 2.500000 0.243068 +v -0.773398 3.500000 0.729204 +v -0.243068 2.500000 0.198874 +v 0.729204 3.500000 0.773398 +v 0.243068 4.500000 0.198874 +v 0.198874 4.500000 0.243068 +v 0.552427 2.000000 0.596621 +v 0.773398 2.000000 0.729204 +v 0.729204 2.000000 0.773398 +v 0.773398 3.500000 0.729204 +v 0.243068 2.500000 0.198874 +v 0.198874 2.500000 0.243068 +v -0.265165 2.500000 -0.265165 +v -0.143506 2.500000 -0.346455 +v 0.000000 2.500000 -0.375000 +v 0.143506 2.500000 -0.346455 +v 0.346455 2.500000 -0.143506 +v 0.375000 2.500000 0.000000 +v 0.346455 2.500000 0.143506 +v 0.143506 2.500000 0.346455 +v 0.000000 2.500000 0.375000 +v -0.143506 2.500000 0.346455 +v -0.346455 2.500000 0.143506 +v -0.375000 2.500000 0.000000 +v -0.346455 2.500000 -0.143506 +v 0.596621 2.000000 0.552427 +v 0.353553 3.500000 0.353553 +v 0.191342 6.000000 0.461940 +v 0.191342 3.500000 0.461940 +v -0.461940 3.500000 -0.191342 +v -0.353553 6.000000 -0.353553 +v -0.353553 3.500000 -0.353553 +v 0.461940 3.500000 0.191342 +v 0.353553 6.000000 0.353554 +v -0.500000 3.500000 0.000000 +v -0.461940 6.000000 -0.191342 +v 0.500000 3.500000 0.000000 +v 0.461940 6.000000 0.191342 +v -0.461940 3.500000 0.191342 +v -0.500000 6.000000 0.000000 +v 0.461940 3.500000 -0.191342 +v 0.500000 6.000000 0.000000 +v -0.353553 3.500000 0.353553 +v -0.461940 6.000000 0.191342 +v 0.353553 3.500000 -0.353554 +v 0.461940 6.000000 -0.191342 +v -0.191342 3.500000 0.461940 +v -0.353553 6.000000 0.353553 +v 0.191341 3.500000 -0.461940 +v 0.353553 6.000000 -0.353554 +v 0.000000 6.000000 0.500000 +v -0.191342 6.000000 0.461940 +v -0.191342 3.500000 -0.461940 +v 0.000000 6.000000 -0.500000 +v 0.000000 3.500000 -0.500000 +v 0.191341 6.000000 -0.461940 +v 0.000000 3.500000 0.500000 +v -0.191342 6.000000 -0.461940 +v 0.000000 7.500000 -0.375000 +v 0.143506 7.500000 -0.346455 +v 0.000000 7.500000 0.375000 +v -0.265165 7.500000 -0.265165 +v -0.143506 7.500000 -0.346455 +v 0.265165 7.500000 0.265165 +v 0.143506 7.500000 0.346455 +v -0.375000 7.500000 0.000000 +v -0.346455 7.500000 -0.143506 +v 0.375000 7.500000 0.000000 +v 0.346455 7.500000 0.143506 +v -0.265165 7.500000 0.265165 +v -0.346455 7.500000 0.143506 +v 0.346455 7.500000 -0.143506 +v 0.265165 7.500000 -0.265165 +v -0.143506 7.500000 0.346455 +v 0.000000 9.000000 0.000000 +vt 0.954652 0.411214 +vt 0.954652 0.492632 +vt 0.815840 0.492632 +vt 0.803279 0.240385 +vt 0.786885 0.009615 +vt 0.803279 0.009615 +vt 0.803279 0.750000 +vt 0.786885 0.519231 +vt 0.803279 0.519231 +vt 1.000000 0.509615 +vt 0.868852 0.519231 +vt 0.868852 0.509615 +vt 1.000000 -0.000000 +vt 0.868852 0.009615 +vt 0.868852 -0.000000 +vt 0.803279 0.750000 +vt 1.000000 0.596154 +vt 0.803279 0.519231 +vt 0.803279 0.240385 +vt 1.000000 0.086538 +vt 0.803279 0.009615 +vt 1.000000 0.596154 +vt 1.000000 0.086538 +vt 0.803279 0.509615 +vt 0.786885 0.750000 +vt 0.803279 0.903846 +vt 0.786885 0.903846 +vt 0.803279 0.000000 +vt 0.786885 0.240385 +vt 0.803279 0.394231 +vt 0.786885 0.394231 +vt 0.786885 0.394231 +vt 0.803279 0.240385 +vt 0.803279 0.394231 +vt 0.868852 0.009615 +vt 0.803279 0.000000 +vt 0.868852 -0.000000 +vt 0.803279 0.009615 +vt 1.000000 0.086538 +vt 0.803279 0.240385 +vt 1.000000 0.086538 +vt 0.803279 0.009615 +vt 1.000000 -0.000000 +vt 0.786885 0.009615 +vt 0.786885 0.750000 +vt 0.803279 0.903846 +vt 0.786885 0.903846 +vt 0.868852 0.509615 +vt 0.803279 0.519231 +vt 0.803279 0.509615 +vt 0.803279 0.750000 +vt 1.000000 0.596154 +vt 0.803279 0.750000 +vt 1.000000 0.596154 +vt 0.803279 0.519231 +vt 1.000000 0.519231 +vt 1.000000 0.509615 +vt 0.786885 0.519231 +vt 0.815840 0.411214 +vt 0.847684 0.398734 +vt 0.885246 0.394352 +vt 0.922808 0.398734 +vt 0.975929 0.429891 +vt 0.983401 0.451923 +vt 0.975929 0.473955 +vt 0.922808 0.505112 +vt 0.885246 0.509494 +vt 0.847684 0.505112 +vt 0.794563 0.473955 +vt 0.787091 0.451923 +vt 0.794563 0.429891 +vt 1.000000 0.519231 +vt 1.000000 0.009615 +vt 1.000000 0.903846 +vt 0.868852 0.519231 +vt 1.000000 0.394231 +vt 0.868852 0.009615 +vt 1.000000 0.903846 +vt 1.000000 0.394231 +vt 0.786885 0.240385 +vt 1.000000 0.394231 +vt 1.000000 0.394231 +vt 0.868852 0.009615 +vt 1.000000 0.009615 +vt 0.868852 0.519231 +vt 1.000000 0.903846 +vt 1.000000 0.903846 +vt 0.868852 0.519231 +vt 0.295082 0.153846 +vt 0.245902 0.538462 +vt 0.245902 0.153846 +vt 0.737705 0.153846 +vt 0.688525 0.538462 +vt 0.688525 0.153846 +vt 0.344262 0.153846 +vt 0.295082 0.538462 +vt 0.786885 0.153846 +vt 0.737705 0.538462 +vt 0.393443 0.153846 +vt 0.344262 0.538462 +vt 0.049180 0.153846 +vt -0.000000 0.538462 +vt -0.000000 0.153846 +vt 0.442623 0.153846 +vt 0.393443 0.538462 +vt 0.098361 0.153846 +vt 0.049180 0.538462 +vt 0.491803 0.153846 +vt 0.442623 0.538462 +vt 0.147541 0.153846 +vt 0.098361 0.538462 +vt 0.540984 0.153846 +vt 0.491803 0.538462 +vt 0.196721 0.538462 +vt 0.147541 0.538462 +vt 0.639344 0.153846 +vt 0.590164 0.538462 +vt 0.590164 0.153846 +vt 0.540984 0.538462 +vt 0.196721 0.153846 +vt 0.639344 0.538462 +vt 0.573770 0.769231 +vt 0.540984 0.769231 +vt 0.196721 0.769231 +vt 0.672131 0.769231 +vt 0.639344 0.769231 +vt 0.278689 0.769231 +vt 0.245902 0.769231 +vt 0.688525 0.769231 +vt 0.295082 0.769231 +vt 0.770492 0.769231 +vt 0.737705 0.769231 +vt 0.377049 0.769231 +vt 0.344262 0.769231 +vt -0.000000 0.769231 +vt 0.393443 0.769231 +vt 0.081967 0.769231 +vt 0.049180 0.769231 +vt 0.442623 0.769231 +vt 0.098361 0.769231 +vt 0.491803 0.769231 +vt 0.147541 0.769231 +vt 0.590164 0.769231 +vt 0.655738 1.000000 +vt 0.721311 0.769231 +vt 0.704918 1.000000 +vt 0.754098 1.000000 +vt 0.032787 0.769231 +vt 0.016393 1.000000 +vt 0.065574 1.000000 +vt 0.131148 0.769231 +vt 0.114754 1.000000 +vt 0.180328 0.769231 +vt 0.163934 1.000000 +vt 0.229508 0.769231 +vt 0.213115 1.000000 +vt 0.262295 1.000000 +vt 0.327869 0.769231 +vt 0.311475 1.000000 +vt 0.360656 1.000000 +vt 0.426230 0.769231 +vt 0.409836 1.000000 +vt 0.475410 0.769231 +vt 0.459016 1.000000 +vt 0.524590 0.769231 +vt 0.508197 1.000000 +vt 0.557377 1.000000 +vt 0.622951 0.769231 +vt 0.606557 1.000000 +vt 0.278689 0.000000 +vt 0.688525 0.000000 +vt 0.721311 0.000000 +vt 0.295082 0.000000 +vt 0.327869 0.000000 +vt 0.737705 0.000000 +vt 0.770492 0.000000 +vt 0.344262 0.000000 +vt 0.377049 0.000000 +vt -0.000000 0.000000 +vt 0.032787 0.000000 +vt 0.426230 0.000000 +vt 0.081967 0.000000 +vt 0.475410 0.000000 +vt 0.131148 0.000000 +vt 0.491803 0.000000 +vt 0.524590 0.000000 +vt 0.180328 0.000000 +vt 0.622951 0.000000 +vt 0.573770 0.000000 +vt 0.196721 0.000000 +vt 0.229508 0.000000 +vt 0.639344 0.000000 +vt 0.672131 0.000000 +vt 0.786885 0.538462 +vt 0.245902 0.000000 +vt 0.393443 0.000000 +vt 0.049180 0.000000 +vt 0.442623 0.000000 +vt 0.098361 0.000000 +vt 0.147541 0.000000 +vt 0.590164 0.000000 +vt 0.540984 0.000000 +vn 0.0000 -1.0000 0.0000 +vn 0.7071 0.0000 -0.7071 +vn -0.7071 0.0000 -0.7071 +vn 0.5000 -0.7071 0.5000 +vn -0.5000 -0.7071 0.5000 +vn 0.7071 -0.0000 0.7071 +vn -0.7071 -0.0000 0.7071 +vn -0.5657 0.6000 -0.5657 +vn 0.5657 0.6000 -0.5657 +vn -0.5657 0.6000 0.5657 +vn 0.5000 -0.7071 -0.5000 +vn 0.5657 0.6000 0.5657 +vn -0.5000 -0.7071 -0.5000 +vn 0.7058 -0.0617 0.7058 +vn 0.3824 0.0413 0.9231 +vn 0.3820 -0.0617 0.9221 +vn -0.9221 -0.0617 -0.3820 +vn -0.7065 0.0413 -0.7065 +vn -0.7058 -0.0617 -0.7058 +vn 0.9221 -0.0617 0.3820 +vn 0.7065 0.0413 0.7065 +vn -0.9981 -0.0617 -0.0000 +vn -0.9231 0.0413 -0.3824 +vn 0.9981 -0.0617 0.0000 +vn 0.9231 0.0413 0.3824 +vn -0.9221 -0.0617 0.3820 +vn -0.9991 0.0413 0.0000 +vn 0.9221 -0.0617 -0.3820 +vn 0.9991 0.0413 -0.0000 +vn -0.7058 -0.0617 0.7058 +vn -0.9231 0.0413 0.3824 +vn 0.7058 -0.0617 -0.7058 +vn 0.9231 0.0413 -0.3824 +vn -0.3820 -0.0617 0.9221 +vn -0.7065 0.0413 0.7065 +vn 0.3820 -0.0617 -0.9221 +vn 0.7065 0.0413 -0.7065 +vn -0.0000 0.0413 0.9991 +vn -0.3824 0.0413 0.9231 +vn -0.3820 -0.0617 -0.9221 +vn 0.0000 0.0413 -0.9991 +vn 0.0000 -0.0617 -0.9981 +vn 0.3824 0.0413 -0.9231 +vn 0.0000 -0.0617 0.9981 +vn -0.3824 0.0413 -0.9231 +vn -0.0000 0.1617 -0.9868 +vn 0.3776 0.1617 -0.9117 +vn 0.0000 0.1617 0.9868 +vn -0.6978 0.1617 -0.6978 +vn -0.3776 0.1617 -0.9117 +vn 0.6978 0.1617 0.6978 +vn 0.3776 0.1617 0.9117 +vn -0.9868 0.1617 -0.0000 +vn -0.9117 0.1617 -0.3776 +vn 0.9868 0.1617 -0.0000 +vn 0.9117 0.1617 0.3776 +vn -0.6978 0.1617 0.6978 +vn -0.9117 0.1617 0.3776 +vn 0.9117 0.1617 -0.3776 +vn 0.6978 0.1617 -0.6978 +vn -0.3776 0.1617 0.9117 +vn 0.0000 1.0000 0.0000 +vn 0.7016 -0.1240 0.7016 +vn -0.7016 -0.1240 -0.7016 +vn -0.9167 -0.1240 -0.3797 +vn 0.9167 -0.1240 0.3797 +vn -0.9923 -0.1240 -0.0000 +vn 0.9923 -0.1240 0.0000 +vn -0.9167 -0.1240 0.3797 +vn 0.9167 -0.1240 -0.3797 +vn -0.7016 -0.1240 0.7016 +vn 0.7016 -0.1240 -0.7016 +vn -0.3797 -0.1240 0.9167 +vn 0.3797 -0.1240 -0.9167 +vn 0.0000 -0.1240 0.9923 +vn -0.3797 -0.1240 -0.9167 +vn 0.0000 -0.1240 -0.9923 +vn 0.3797 -0.1240 0.9167 +s off +f 5097/7483/891 5098/7484/891 5099/7485/891 +f 5100/7486/892 5101/7487/892 5102/7488/892 +f 5103/7489/893 5104/7490/893 5105/7491/893 +f 5106/7492/894 5107/7493/894 5108/7494/894 +f 5109/7495/895 5110/7496/895 5111/7497/895 +f 5112/7498/892 5106/7499/892 5104/7500/892 +f 5113/7501/896 5109/7502/896 5101/7503/896 +f 5103/7489/897 5105/7491/897 5114/7504/897 +f 5100/7486/893 5102/7488/893 5115/7505/893 +f 5107/7493/891 5104/7506/891 5108/7494/891 +f 5112/7507/898 5116/7508/898 5117/7509/898 +f 5111/7497/891 5102/7488/891 5101/7510/891 +f 5113/7511/899 5118/7512/899 5119/7513/899 +f 5120/7514/900 5121/7515/900 5122/7516/900 +f 5123/7517/891 5124/7518/891 5125/7519/891 +f 5121/7515/896 5126/7520/896 5127/7521/896 +f 5128/7522/893 5129/7523/893 5124/7524/893 +f 5129/7525/901 5123/7517/901 5125/7519/901 +f 5121/7515/897 5124/7526/897 5126/7520/897 +f 5130/7527/902 5131/7528/902 5132/7529/902 +f 5133/7530/891 5134/7531/891 5135/7532/891 +f 5136/7533/892 5134/7531/892 5137/7534/892 +f 5130/7535/897 5138/7536/897 5135/7537/897 +f 5137/7538/903 5133/7530/903 5138/7539/903 +f 5136/7533/896 5135/7540/896 5134/7531/896 +f 5139/7541/891 5140/7542/891 5141/7543/891 +f 5141/7543/891 5142/7544/891 5097/7483/891 +f 5097/7483/891 5143/7545/891 5098/7484/891 +f 5143/7545/891 5144/7546/891 5098/7484/891 +f 5144/7546/891 5145/7547/891 5098/7484/891 +f 5098/7484/891 5146/7548/891 5099/7485/891 +f 5146/7548/891 5147/7549/891 5099/7485/891 +f 5147/7549/891 5148/7550/891 5099/7485/891 +f 5099/7485/891 5149/7551/891 5150/7552/891 +f 5150/7552/891 5151/7553/891 5139/7541/891 +f 5139/7541/891 5141/7543/891 5097/7483/891 +f 5099/7485/891 5150/7552/891 5139/7541/891 +f 5139/7541/891 5097/7483/891 5099/7485/891 +f 5100/7486/892 5113/7511/892 5101/7487/892 +f 5103/7489/893 5112/7507/893 5104/7490/893 +f 5106/7492/894 5114/7554/894 5107/7493/894 +f 5109/7495/895 5115/7555/895 5110/7496/895 +f 5117/7556/892 5106/7499/892 5112/7498/892 +f 5106/7499/892 5108/7557/892 5104/7500/892 +f 5119/7558/896 5109/7502/896 5113/7501/896 +f 5109/7502/896 5111/7559/896 5101/7503/896 +f 5107/7493/897 5114/7504/897 5105/7491/897 +f 5114/7504/897 5116/7560/897 5103/7489/897 +f 5110/7496/893 5115/7505/893 5102/7488/893 +f 5115/7505/893 5118/7561/893 5100/7486/893 +f 5107/7493/891 5105/7491/891 5104/7506/891 +f 5112/7507/898 5103/7489/898 5116/7508/898 +f 5111/7497/891 5110/7496/891 5102/7488/891 +f 5113/7511/899 5100/7486/899 5118/7512/899 +f 5120/7514/900 5128/7562/900 5121/7515/900 +f 5123/7517/891 5126/7520/891 5124/7518/891 +f 5123/7517/896 5127/7521/896 5126/7520/896 +f 5127/7521/896 5122/7563/896 5121/7515/896 +f 5120/7564/893 5129/7523/893 5128/7522/893 +f 5129/7523/893 5125/7565/893 5124/7524/893 +f 5129/7525/901 5127/7566/901 5123/7517/901 +f 5121/7515/897 5128/7562/897 5124/7526/897 +f 5130/7527/902 5136/7533/902 5131/7528/902 +f 5133/7530/891 5152/7567/891 5134/7531/891 +f 5152/7567/892 5137/7534/892 5134/7531/892 +f 5137/7534/892 5131/7568/892 5136/7533/892 +f 5132/7569/897 5138/7536/897 5130/7535/897 +f 5138/7536/897 5133/7570/897 5135/7537/897 +f 5137/7538/903 5152/7567/903 5133/7530/903 +f 5136/7533/896 5130/7527/896 5135/7540/896 +s 1 +f 5153/7571/904 5154/7572/905 5155/7573/906 +f 5156/7574/907 5157/7575/908 5158/7576/909 +f 5159/7577/910 5160/7578/911 5153/7571/904 +f 5161/7579/912 5162/7580/913 5156/7574/907 +f 5163/7581/914 5164/7582/915 5159/7577/910 +f 5165/7583/916 5166/7584/917 5161/7585/912 +f 5167/7586/918 5168/7587/919 5163/7581/914 +f 5169/7588/920 5170/7589/921 5165/7583/916 +f 5171/7590/922 5172/7591/923 5167/7586/918 +f 5173/7592/924 5174/7593/925 5169/7588/920 +f 5175/7594/926 5176/7595/927 5171/7590/922 +f 5173/7592/924 5177/7596/928 5178/7597/929 +f 5179/7598/930 5180/7599/931 5181/7600/932 +f 5181/7600/932 5182/7601/933 5175/7594/926 +f 5155/7573/906 5177/7596/928 5183/7602/934 +f 5158/7576/909 5184/7603/935 5179/7598/930 +f 5182/7601/933 5185/7604/936 5186/7605/937 +f 5154/7572/905 5187/7606/938 5177/7596/928 +f 5184/7603/935 5188/7607/939 5189/7608/940 +f 5154/7572/905 5190/7609/941 5191/7610/942 +f 5162/7580/913 5188/7611/939 5157/7575/908 +f 5164/7582/915 5190/7612/941 5160/7578/911 +f 5162/7580/913 5192/7613/943 5193/7614/944 +f 5164/7582/915 5194/7615/945 5195/7616/946 +f 5170/7589/921 5192/7617/943 5166/7584/917 +f 5172/7591/923 5194/7618/945 5168/7587/919 +f 5170/7589/921 5196/7619/947 5197/7620/948 +f 5176/7595/927 5198/7621/949 5172/7591/923 +f 5178/7597/929 5196/7622/947 5174/7593/925 +f 5182/7601/933 5199/7623/950 5176/7595/927 +f 5177/7596/928 5200/7624/951 5178/7597/929 +f 5184/7603/935 5185/7625/936 5180/7599/931 +f 5189/7608/940 5188/7607/939 5201/7626/952 +f 5188/7611/939 5193/7627/944 5201/7628/952 +f 5193/7614/944 5192/7613/943 5201/7629/952 +f 5192/7617/943 5197/7630/948 5201/7631/952 +f 5197/7620/948 5196/7619/947 5201/7632/952 +f 5196/7622/947 5200/7633/951 5201/7634/952 +f 5200/7624/951 5187/7635/938 5201/7636/952 +f 5187/7606/938 5191/7637/942 5201/7638/952 +f 5191/7610/942 5190/7609/941 5201/7639/952 +f 5190/7612/941 5195/7640/946 5201/7641/952 +f 5195/7616/946 5194/7615/945 5201/7642/952 +f 5194/7618/945 5198/7643/949 5201/7644/952 +f 5198/7621/949 5199/7645/950 5201/7646/952 +f 5199/7623/950 5186/7647/937 5201/7648/952 +f 5186/7605/937 5185/7604/936 5201/7649/952 +f 5185/7625/936 5189/7650/940 5201/7651/952 +f 5155/7573/906 5098/7652/953 5153/7571/904 +f 5156/7574/907 5139/7653/954 5151/7654/955 +f 5159/7577/910 5098/7655/953 5145/7656/956 +f 5161/7579/912 5151/7657/955 5150/7658/957 +f 5163/7581/914 5145/7659/956 5144/7660/958 +f 5165/7583/916 5150/7661/957 5149/7662/959 +f 5163/7581/914 5143/7663/960 5167/7586/918 +f 5165/7583/916 5099/7664/961 5169/7588/920 +f 5167/7586/918 5097/7665/962 5171/7590/922 +f 5169/7588/920 5148/7666/963 5173/7592/924 +f 5175/7594/926 5097/7667/962 5142/7668/964 +f 5173/7592/924 5147/7669/965 5183/7602/934 +f 5181/7600/932 5140/7670/966 5179/7598/930 +f 5175/7594/926 5141/7671/967 5181/7600/932 +f 5155/7573/906 5147/7672/965 5146/7673/968 +f 5158/7576/909 5140/7674/966 5139/7675/954 +f 5153/7571/904 5160/7578/911 5154/7572/905 +f 5156/7574/907 5162/7580/913 5157/7575/908 +f 5159/7577/910 5164/7582/915 5160/7578/911 +f 5161/7579/912 5166/7676/917 5162/7580/913 +f 5163/7581/914 5168/7587/919 5164/7582/915 +f 5165/7583/916 5170/7589/921 5166/7584/917 +f 5167/7586/918 5172/7591/923 5168/7587/919 +f 5169/7588/920 5174/7593/925 5170/7589/921 +f 5171/7590/922 5176/7595/927 5172/7591/923 +f 5173/7592/924 5178/7597/929 5174/7593/925 +f 5175/7594/926 5182/7601/933 5176/7595/927 +f 5173/7592/924 5183/7602/934 5177/7596/928 +f 5179/7598/930 5184/7603/935 5180/7599/931 +f 5181/7600/932 5180/7599/931 5182/7601/933 +f 5155/7573/906 5154/7572/905 5177/7596/928 +f 5158/7576/909 5157/7575/908 5184/7603/935 +f 5182/7601/933 5180/7599/931 5185/7604/936 +f 5154/7572/905 5191/7637/942 5187/7606/938 +f 5184/7603/935 5157/7575/908 5188/7607/939 +f 5154/7572/905 5160/7578/911 5190/7609/941 +f 5162/7580/913 5193/7627/944 5188/7611/939 +f 5164/7582/915 5195/7640/946 5190/7612/941 +f 5162/7580/913 5166/7676/917 5192/7613/943 +f 5164/7582/915 5168/7587/919 5194/7615/945 +f 5170/7589/921 5197/7630/948 5192/7617/943 +f 5172/7591/923 5198/7643/949 5194/7618/945 +f 5170/7589/921 5174/7593/925 5196/7619/947 +f 5176/7595/927 5199/7645/950 5198/7621/949 +f 5178/7597/929 5200/7633/951 5196/7622/947 +f 5182/7601/933 5186/7647/937 5199/7623/950 +f 5177/7596/928 5187/7635/938 5200/7624/951 +f 5184/7603/935 5189/7650/940 5185/7625/936 +f 5155/7573/906 5146/7677/968 5098/7652/953 +f 5156/7574/907 5158/7576/909 5139/7653/954 +f 5159/7577/910 5153/7571/904 5098/7655/953 +f 5161/7579/912 5156/7574/907 5151/7657/955 +f 5163/7581/914 5159/7577/910 5145/7659/956 +f 5165/7583/916 5161/7585/912 5150/7661/957 +f 5163/7581/914 5144/7678/958 5143/7663/960 +f 5165/7583/916 5149/7679/959 5099/7664/961 +f 5167/7586/918 5143/7680/960 5097/7665/962 +f 5169/7588/920 5099/7681/961 5148/7666/963 +f 5175/7594/926 5171/7590/922 5097/7667/962 +f 5173/7592/924 5148/7682/963 5147/7669/965 +f 5181/7600/932 5141/7683/967 5140/7670/966 +f 5175/7594/926 5142/7684/964 5141/7671/967 +f 5155/7573/906 5183/7602/934 5147/7672/965 +f 5158/7576/909 5179/7598/930 5140/7674/966 +o Atlas_Missile +v -1.154849 5.312499 -0.478354 +v -0.795495 5.312499 -0.795495 +v -0.883883 5.312499 -0.883883 +v -1.125000 5.312499 0.000000 +v -1.154849 5.312499 0.478354 +v -1.039364 5.312499 0.430519 +v -1.250000 5.312499 0.000000 +v -1.039364 5.312499 -0.430519 +v 0.216506 8.812498 -1.125000 +v 0.000000 9.687498 -1.125000 +v 0.180586 8.812498 -1.089079 +v -0.125000 5.312499 -1.466506 +v 0.125000 5.312499 -1.466506 +v 0.000000 5.312499 -1.500000 +v -0.795495 5.312499 0.795495 +v -0.883883 5.312499 0.883883 +v -0.430519 5.312499 1.039364 +v 0.000000 5.312499 1.250000 +v -0.478354 5.312499 1.154849 +v 0.478354 5.312499 1.154849 +v 0.000000 5.312499 1.125000 +v 0.795495 5.312499 0.795495 +v 0.430519 5.312499 1.039364 +v 1.154849 5.312499 0.478354 +v 0.883883 5.312499 0.883884 +v 1.039364 5.312499 0.430519 +v 1.250000 5.312499 0.000000 +v 1.125000 5.312499 0.000000 +v 1.154849 5.312499 -0.478355 +v 0.795495 5.312499 -0.795495 +v 1.039364 5.312499 -0.430519 +v 0.478354 5.312499 -1.154849 +v 0.883884 5.312499 -0.883883 +v -0.478354 5.312499 -1.154849 +v -0.430519 5.312499 -1.039364 +v 0.000000 5.312499 -1.250000 +v 0.000000 5.312499 -1.125000 +v 0.430519 5.312499 -1.039364 +v 0.883883 2.687500 0.883884 +v 0.687126 2.687500 1.015353 +v 1.154849 2.687500 0.478354 +v 0.750000 2.687500 -1.250000 +v 0.687126 2.687500 -1.015352 +v 0.649519 2.687500 -1.625000 +v -0.649519 2.687500 -1.625000 +v 0.000000 2.687500 -2.000000 +v 0.375000 2.687500 -1.899519 +v -0.375000 2.687500 -1.899519 +v -0.750000 2.687500 -1.250000 +v -0.687126 2.687500 -1.015352 +v 0.000000 2.000000 -1.750000 +v 0.250000 2.000000 -1.683013 +v -0.250000 2.000000 -1.683013 +v 0.000000 2.000000 -0.750000 +v -0.250000 2.000000 -0.816987 +v 0.250000 2.000000 -0.816987 +v 0.500000 2.000000 -1.250000 +v 0.433013 2.000000 -1.000000 +v 0.433013 2.000000 -1.500000 +v -0.500000 2.000000 -1.250000 +v -0.433013 2.000000 -1.500000 +v -0.433013 2.000000 -1.000000 +v 0.000000 2.000000 -0.500000 +v 0.250000 2.000000 -0.433013 +v -0.250000 2.000000 -0.433013 +v 0.000000 2.000000 0.500000 +v -0.250000 2.000000 0.433013 +v 0.250000 2.000000 0.433013 +v 0.500000 2.000000 0.000000 +v 0.433013 2.000000 0.250000 +v 0.433013 2.000000 -0.250000 +v -0.500000 2.000000 -0.000000 +v -0.433013 2.000000 -0.250000 +v -0.433013 2.000000 0.250000 +v 1.250000 2.687500 0.000000 +v 1.154849 2.687500 -0.478355 +v -1.250000 2.687500 0.000000 +v -1.154849 2.687500 -0.478354 +v -1.154849 2.687500 0.478354 +v -0.883883 2.687500 -0.883883 +v 0.883884 2.687500 -0.883883 +v -0.125000 5.376628 -1.642699 +v 0.125000 5.376628 -1.642699 +v -0.216506 8.812498 1.125000 +v 0.000000 9.687498 1.125000 +v -0.180586 8.812498 1.089079 +v -0.750000 2.687500 1.250000 +v -0.687126 2.687500 1.015352 +v -0.649519 2.687500 1.625000 +v 0.649519 2.687500 1.625000 +v 0.000000 2.687500 2.000000 +v -0.375000 2.687500 1.899519 +v 0.375000 2.687500 1.899519 +v 0.750000 2.687500 1.250000 +v 0.000000 2.000000 1.750000 +v -0.250000 2.000000 1.683013 +v 0.250000 2.000000 1.683013 +v 0.000000 2.000000 0.750000 +v 0.250000 2.000000 0.816987 +v -0.250000 2.000000 0.816987 +v -0.500000 2.000000 1.250000 +v -0.433013 2.000000 1.000000 +v -0.433013 2.000000 1.500000 +v 0.500000 2.000000 1.250000 +v 0.433013 2.000000 1.500000 +v 0.433013 2.000000 1.000000 +v -0.883883 2.687500 0.883883 +v -0.478354 4.249999 -1.154849 +v 0.000000 12.812498 -1.125000 +v -0.430519 12.812498 -1.039364 +v 1.039364 12.812498 0.430519 +v -1.125000 12.812498 0.000000 +v 1.125000 12.812498 0.000000 +v -1.039364 12.812498 0.430519 +v 1.039364 12.812498 -0.430519 +v -0.795495 12.812498 0.795496 +v 0.795495 12.812498 -0.795494 +v -0.430519 12.812498 1.039364 +v 0.430519 12.812498 -1.039364 +v 0.000000 12.812498 1.125000 +v 0.430519 12.812498 1.039364 +v -0.795495 12.812498 -0.795494 +v 0.795495 12.812498 0.795495 +v -1.039364 12.812498 -0.430519 +v 0.562500 15.312498 0.000001 +v 0.519682 15.312498 -0.215259 +v 0.397748 15.312498 -0.397747 +v 0.215259 15.312498 -0.519681 +v 0.000000 15.312498 -0.562499 +v -0.215259 15.312498 -0.519681 +v -0.397748 15.312498 -0.397747 +v -0.519682 15.312498 -0.215258 +v -0.519682 15.312498 0.215260 +v -0.562500 15.312498 0.000001 +v -0.215259 15.312498 0.519683 +v -0.397748 15.312498 0.397749 +v 0.000000 15.312498 0.562501 +v 0.215259 15.312498 0.519683 +v 0.397747 15.312498 0.397749 +v 0.519682 15.312498 0.215261 +v 0.000000 16.437496 0.000001 +v 0.000000 4.249999 -1.750000 +v 0.250000 4.249999 -1.683013 +v -0.250000 4.249999 -1.683013 +v -0.433013 4.249999 -1.500000 +v -0.500000 4.249999 -1.250000 +v 0.433013 4.249999 -1.500000 +v 0.500000 4.249999 -1.250000 +v 0.478354 4.249999 -1.154849 +v 0.250000 5.312499 -1.250000 +v 0.216506 5.312499 -1.125000 +v 0.216506 5.312499 -1.375000 +v -0.216506 5.312499 -1.375000 +v -0.250000 5.312499 -1.250000 +v -0.216506 5.312499 -1.125000 +v -0.180586 5.312499 -1.089079 +v -0.216506 8.812498 -1.125000 +v -0.250000 8.812498 -1.250000 +v 0.180586 5.312499 -1.089079 +v 0.216506 8.812498 -1.375000 +v 0.250000 8.812498 -1.250000 +v -0.216506 8.812498 -1.375000 +v -0.125000 8.812498 -1.466506 +v 0.125000 8.812498 -1.466506 +v -0.180586 8.812498 -1.089079 +v 0.478354 4.249999 1.154849 +v 0.324760 2.687500 -1.437500 +v 0.187500 2.687500 -1.574759 +v 0.375000 2.687500 -1.250000 +v 0.324760 2.687500 -1.062500 +v 0.187500 2.687500 -0.925241 +v 0.000000 2.687500 -0.875000 +v 0.500000 2.375000 0.000000 +v 0.433013 2.375000 -0.250000 +v 0.000000 2.375000 0.500000 +v 0.250000 2.375000 0.433013 +v -0.500000 2.375000 0.000000 +v -0.433013 2.375000 0.250000 +v 0.250000 2.375000 -0.433013 +v 0.000000 2.375000 -0.500000 +v -0.250000 2.375000 -0.433013 +v 0.433013 2.375000 0.250000 +v -0.250000 2.375000 0.433013 +v -0.433013 2.375000 -0.250000 +v 0.324760 2.687500 -0.187500 +v 0.375000 2.687500 0.000000 +v 0.187500 2.687500 -0.324759 +v 0.000000 2.687500 -0.375000 +v -0.187500 2.687500 -0.324759 +v -0.324760 2.687500 -0.187500 +v -0.375000 2.687500 0.000000 +v -0.324760 2.687500 0.187500 +v -0.187500 2.687500 0.324759 +v 0.000000 2.687500 0.375000 +v 0.187500 2.687500 0.324759 +v 0.324760 2.687500 0.187500 +v 0.000000 2.687500 -1.625000 +v -0.187500 2.687500 -1.574759 +v -0.324760 2.687500 -1.437500 +v -0.375000 2.687500 -1.250000 +v -0.324760 2.687500 -1.062500 +v -0.187500 2.687500 -0.925241 +v 0.062500 5.687499 -1.466506 +v -0.062500 5.687499 -1.466506 +v 0.000000 4.249999 1.750000 +v -0.250000 4.249999 1.683013 +v 0.250000 4.249999 1.683013 +v 0.433013 4.249999 1.500000 +v 0.500000 4.249999 1.250000 +v -0.433013 4.249999 1.500000 +v -0.500000 4.249999 1.250000 +v -0.478354 4.249999 1.154849 +v -0.250000 5.312499 1.250000 +v -0.216506 5.312499 1.125000 +v -0.216506 5.312499 1.375000 +v 0.000000 5.312499 1.500000 +v 0.125000 5.312499 1.466506 +v 0.216506 5.312499 1.375000 +v 0.250000 5.312499 1.250000 +v 0.216506 5.312499 1.125000 +v 0.218750 5.437499 1.722636 +v -0.218750 6.562499 1.722636 +v -0.218750 5.437499 1.722636 +v 0.125000 7.437499 1.466506 +v -0.125000 7.437499 1.466506 +v 0.250000 7.437499 1.250000 +v 0.216506 7.437499 1.375000 +v 0.378886 6.562499 1.500000 +v -0.378886 5.312499 1.500000 +v 0.378886 6.562499 1.049635 +v 0.216506 7.437499 1.125000 +v 0.180586 7.437499 1.089079 +v 0.218750 6.562499 1.722636 +v -0.250000 8.812498 1.250000 +v -0.216506 8.812498 1.375000 +v -0.125000 8.812498 1.466506 +v 0.125000 8.812498 1.466506 +v 0.216506 8.812498 1.375000 +v 0.250000 8.812498 1.250000 +v 0.216506 8.812498 1.125000 +v 0.180586 8.812498 1.089079 +v -0.324760 2.687500 1.437500 +v -0.187500 2.687500 1.574759 +v -0.324760 2.687500 1.062500 +v -0.375000 2.687500 1.250000 +v -0.187500 2.687500 0.925241 +v 0.000000 2.687500 0.875000 +v 0.000000 2.687500 1.625000 +v 0.187500 2.687500 1.574759 +v 0.324759 2.687500 1.437500 +v 0.375000 2.687500 1.250000 +v 0.324759 2.687500 1.062500 +v 0.187500 2.687500 0.925241 +v -0.378886 6.562499 1.500000 +v -0.216506 7.437499 1.375000 +v -0.378886 5.312499 1.049635 +v 0.378886 5.312499 1.049635 +v 0.378886 5.312499 1.500000 +v -0.250000 7.437499 1.250000 +v -0.378886 6.562499 1.049635 +v -0.216506 7.437499 1.125000 +v -0.180586 7.437499 1.089079 +v 1.140000 12.093748 0.000000 +v 1.053223 10.124998 -0.436259 +v 1.053223 12.093748 -0.436259 +v 0.806102 12.093748 0.806102 +v 1.053223 10.124998 0.436259 +v 1.053223 12.093748 0.436259 +v -1.140000 12.093748 0.000000 +v -1.053223 10.124998 0.436259 +v -1.053223 12.093748 0.436259 +v -0.806102 12.093748 -0.806102 +v -1.053223 10.124998 -0.436259 +v -1.053223 12.093748 -0.436259 +v 0.806102 10.124998 -0.806102 +v 0.806102 12.093748 -0.806102 +v 1.140000 10.124998 0.000000 +v -0.806102 10.124998 0.806102 +v -0.806102 12.093748 0.806102 +v -1.140000 10.124998 0.000000 +v 0.145625 8.406248 1.475167 +v 0.225166 7.874999 1.380000 +v 0.225166 8.406248 1.380000 +v -0.145625 7.874999 1.475167 +v -0.145625 8.406248 1.475167 +v -0.225167 8.406248 1.380000 +v -0.145625 8.406248 -1.475167 +v -0.225167 7.874999 -1.380000 +v -0.225167 8.406248 -1.380000 +v 0.145625 7.874999 -1.475167 +v 0.145625 8.406248 -1.475167 +v 0.225166 8.406248 -1.380000 +v -0.125000 5.312499 1.466506 +v 0.806102 10.124998 0.806102 +v -0.806102 10.124998 -0.806102 +v 0.145625 7.874999 1.475167 +v -0.225167 7.874999 1.380000 +v -0.145625 7.874999 -1.475167 +v 0.225166 7.874999 -1.380000 +v -0.180586 5.312499 1.089079 +v 0.180586 5.312499 1.089079 +vt 0.107143 0.186667 +vt 0.071429 0.195556 +vt 0.071429 0.186667 +vt 0.142857 0.195556 +vt 0.178571 0.186667 +vt 0.178571 0.195556 +vt 0.142857 0.186667 +vt 0.107143 0.195556 +vt 0.576531 0.622222 +vt 0.576531 0.684444 +vt 0.571429 0.622222 +vt 0.790816 0.577778 +vt 0.770408 0.577778 +vt 0.780612 0.573333 +vt 0.214286 0.195556 +vt 0.214286 0.186667 +vt 0.250000 0.195556 +vt 0.285714 0.186667 +vt 0.250000 0.186667 +vt 0.321429 0.186667 +vt 0.285714 0.195556 +vt 0.357143 0.195556 +vt 0.321429 0.195556 +vt 0.392857 0.186667 +vt 0.357143 0.186667 +vt 0.392857 0.195556 +vt 0.428571 0.186667 +vt 0.428571 0.195556 +vt 0.464286 0.186667 +vt 0.500000 0.195556 +vt 0.464286 0.195556 +vt 0.535714 0.186667 +vt 0.500000 0.186667 +vt 0.035714 0.186667 +vt 0.035714 0.195556 +vt 0.000000 0.186667 +vt 0.571429 0.195556 +vt 0.535714 0.195556 +vt 0.744173 0.160632 +vt 0.733441 0.146640 +vt 0.777277 0.179900 +vt 0.918367 0.151111 +vt 0.899213 0.146640 +vt 0.948980 0.143966 +vt 0.948980 0.051590 +vt 0.979592 0.097778 +vt 0.971389 0.124444 +vt 0.971389 0.071111 +vt 0.918367 0.044444 +vt 0.899213 0.048915 +vt 0.795918 0.320000 +vt 0.801387 0.337778 +vt 0.801387 0.302222 +vt 0.877551 0.320000 +vt 0.872083 0.302222 +vt 0.872083 0.337778 +vt 0.836735 0.355556 +vt 0.857143 0.350792 +vt 0.816327 0.350792 +vt 0.836735 0.284444 +vt 0.816327 0.289208 +vt 0.857143 0.289208 +vt 0.795918 0.320000 +vt 0.801387 0.337778 +vt 0.801387 0.302222 +vt 0.877551 0.320000 +vt 0.872083 0.302222 +vt 0.872083 0.337778 +vt 0.836735 0.355556 +vt 0.857143 0.350792 +vt 0.816327 0.350792 +vt 0.836735 0.284444 +vt 0.816327 0.289208 +vt 0.857143 0.289208 +vt 0.816327 0.186667 +vt 0.855376 0.179900 +vt 0.816327 0.008889 +vt 0.855376 0.015655 +vt 0.777277 0.015655 +vt 0.888480 0.034924 +vt 0.888480 0.160632 +vt 0.790816 0.591111 +vt 0.770408 0.591111 +vt 0.668367 0.622222 +vt 0.668367 0.684444 +vt 0.663265 0.622222 +vt 0.714286 0.044444 +vt 0.733441 0.048915 +vt 0.683674 0.051590 +vt 0.683674 0.143966 +vt 0.653061 0.097778 +vt 0.661264 0.071111 +vt 0.661264 0.124444 +vt 0.714286 0.151111 +vt 0.877551 0.320000 +vt 0.872083 0.302222 +vt 0.872083 0.337778 +vt 0.795918 0.320000 +vt 0.801387 0.337778 +vt 0.801387 0.302222 +vt 0.836735 0.284444 +vt 0.816327 0.289208 +vt 0.857143 0.289208 +vt 0.836735 0.355556 +vt 0.857143 0.350792 +vt 0.816327 0.350792 +vt 0.744173 0.034924 +vt 0.000000 0.195556 +vt 0.571429 0.186667 +vt 0.040816 0.111111 +vt 0.061224 -0.000000 +vt 0.081633 -0.000000 +vt -0.000000 0.728889 +vt 0.035714 0.728889 +vt 0.392857 0.728889 +vt 0.142857 0.728889 +vt 0.428571 0.728889 +vt 0.178571 0.728889 +vt 0.464286 0.728889 +vt 0.214286 0.728889 +vt 0.500000 0.728889 +vt 0.250000 0.728889 +vt 0.535714 0.728889 +vt 0.571429 0.728889 +vt 0.285714 0.728889 +vt 0.321429 0.728889 +vt 0.071429 0.728889 +vt 0.357143 0.728889 +vt 0.107143 0.728889 +vt 0.438776 0.911111 +vt 0.474490 0.911111 +vt 0.510204 0.911111 +vt 0.545918 0.911111 +vt 0.010204 0.911111 +vt 0.045918 0.911111 +vt 0.081633 0.911111 +vt 0.117347 0.911111 +vt 0.168367 0.911111 +vt 0.153061 0.911111 +vt 0.188776 0.911111 +vt 0.239796 0.911111 +vt 0.224490 0.911111 +vt 0.260204 0.911111 +vt 0.295918 0.911111 +vt 0.331633 0.911111 +vt 0.367347 0.911111 +vt 0.403061 0.911111 +vt 0.489796 0.911111 +vt 0.482143 1.000000 +vt 0.232143 1.000000 +vt 0.525510 0.911111 +vt 0.517857 1.000000 +vt 0.275510 0.911111 +vt 0.267857 1.000000 +vt 0.025510 0.911111 +vt 0.017857 1.000000 +vt 0.561224 0.911111 +vt 0.553571 1.000000 +vt 0.311224 0.911111 +vt 0.303571 1.000000 +vt 0.061224 0.911111 +vt 0.053571 1.000000 +vt 0.346939 0.911111 +vt 0.339286 1.000000 +vt 0.096939 0.911111 +vt 0.089286 1.000000 +vt 0.382653 0.911111 +vt 0.375000 1.000000 +vt 0.132653 0.911111 +vt 0.125000 1.000000 +vt 0.418367 0.911111 +vt 0.410714 1.000000 +vt 0.160714 1.000000 +vt 0.454082 0.911111 +vt 0.446429 1.000000 +vt 0.204082 0.911111 +vt 0.196429 1.000000 +vt 0.653061 0.186667 +vt 0.678571 0.297778 +vt 0.658163 0.297778 +vt 0.683673 0.186667 +vt 0.709184 0.297778 +vt 0.688776 0.297778 +vt 0.714286 0.186667 +vt 0.739796 0.297778 +vt 0.719388 0.297778 +vt 0.744898 0.186667 +vt 0.770408 0.297778 +vt 0.750000 0.297778 +vt 0.785714 0.297778 +vt 0.775510 0.186667 +vt 0.795918 0.186667 +vt 0.622449 0.186667 +vt 0.647959 0.297778 +vt 0.627551 0.297778 +vt 0.591837 0.186667 +vt 0.617347 0.297778 +vt 0.596939 0.297778 +vt 0.581633 0.297778 +vt 0.591837 0.297778 +vt 0.591837 0.373333 +vt 0.581633 0.373333 +vt 0.602041 0.373333 +vt 0.632653 0.373333 +vt 0.693878 0.373333 +vt 0.673469 0.373333 +vt 0.724490 0.373333 +vt 0.755102 0.373333 +vt 0.775510 0.373333 +vt 0.785714 0.373333 +vt 0.663265 0.373333 +vt 0.658163 0.622222 +vt 0.658163 0.373333 +vt 0.647959 0.622222 +vt 0.647959 0.373333 +vt 0.576531 0.373333 +vt 0.571429 0.373333 +vt 0.607143 0.373333 +vt 0.596939 0.622222 +vt 0.596939 0.373333 +vt 0.586735 0.622222 +vt 0.586735 0.373333 +vt 0.637755 0.622222 +vt 0.637755 0.373333 +vt 0.627551 0.622222 +vt 0.627551 0.373333 +vt 0.581633 0.688889 +vt 0.591837 0.688889 +vt 0.607143 0.622222 +vt 0.602041 0.688889 +vt 0.632653 0.688889 +vt 0.642857 0.688889 +vt 0.653061 0.688889 +vt 0.663265 0.622222 +vt 0.658163 0.684444 +vt 0.612245 0.111111 +vt 0.571429 0.000000 +vt 0.591837 0.000000 +vt 0.571429 0.186667 +vt 0.612245 0.186667 +vt 0.653061 0.186667 +vt 0.040816 0.186667 +vt 0.081633 0.186667 +vt 0.122449 -0.000000 +vt 0.163265 0.000000 +vt 0.122449 0.186667 +vt 0.204082 0.000000 +vt 0.163265 0.186667 +vt 0.244898 -0.000000 +vt 0.204082 0.186667 +vt 0.367347 0.186667 +vt 0.326531 0.186667 +vt 0.367347 0.111111 +vt 0.408163 0.186667 +vt 0.387755 -0.000000 +vt 0.408163 -0.000000 +vt 0.448980 0.000000 +vt 0.489796 -0.000000 +vt 0.448980 0.186667 +vt 0.530612 -0.000000 +vt 0.489796 0.186667 +vt 0.530612 0.186667 +vt 0.948980 0.235556 +vt 0.964286 0.186667 +vt 0.964286 0.235556 +vt 0.918367 0.186667 +vt 0.933673 0.235556 +vt 0.918367 0.235556 +vt 0.887755 0.186667 +vt 0.903061 0.235556 +vt 0.887755 0.235556 +vt 0.903061 0.186667 +vt 0.933673 0.186667 +vt 0.933673 0.262222 +vt 0.948980 0.235556 +vt 0.948980 0.262222 +vt 0.887755 0.262222 +vt 0.903061 0.235556 +vt 0.903061 0.262222 +vt 0.841837 0.262222 +vt 0.857143 0.235556 +vt 0.857143 0.262222 +vt 0.964286 0.235556 +vt 0.964286 0.262222 +vt 0.795918 0.262222 +vt 0.811224 0.235556 +vt 0.811224 0.262222 +vt 0.918367 0.235556 +vt 0.918367 0.262222 +vt 0.872449 0.235556 +vt 0.872449 0.262222 +vt 0.979592 0.235556 +vt 0.979592 0.262222 +vt 0.826531 0.235556 +vt 0.826531 0.262222 +vt 0.933673 0.235556 +vt 0.887755 0.235556 +vt 0.841837 0.235556 +vt 0.948980 0.284444 +vt 0.933673 0.284444 +vt 0.964286 0.284444 +vt 0.979592 0.284444 +vt 0.811224 0.284444 +vt 0.795918 0.284444 +vt 0.826531 0.284444 +vt 0.841837 0.284444 +vt 0.857143 0.284444 +vt 0.872449 0.284444 +vt 0.887755 0.284444 +vt 0.903061 0.284444 +vt 0.918367 0.284444 +vt 0.979592 0.235556 +vt 0.795918 0.186667 +vt 0.811224 0.235556 +vt 0.795918 0.235556 +vt 0.811224 0.186667 +vt 0.826531 0.235556 +vt 0.826531 0.186667 +vt 0.841837 0.235556 +vt 0.841837 0.186667 +vt 0.857143 0.235556 +vt 0.857143 0.186667 +vt 0.872449 0.235556 +vt 0.872449 0.186667 +vt 0.770408 0.617778 +vt 0.755102 0.591111 +vt 0.806122 0.591111 +vt 0.790816 0.617778 +vt 0.775510 0.617778 +vt 0.785714 0.617778 +vt 0.617347 0.688889 +vt 0.653061 0.186667 +vt 0.678571 0.297778 +vt 0.658163 0.297778 +vt 0.683673 0.186667 +vt 0.709184 0.297778 +vt 0.688776 0.297778 +vt 0.714286 0.186667 +vt 0.739796 0.297778 +vt 0.719388 0.297778 +vt 0.744898 0.186667 +vt 0.770408 0.297778 +vt 0.750000 0.297778 +vt 0.785714 0.297778 +vt 0.775510 0.186667 +vt 0.795918 0.186667 +vt 0.622449 0.186667 +vt 0.647959 0.297778 +vt 0.627551 0.297778 +vt 0.591837 0.186667 +vt 0.617347 0.297778 +vt 0.596939 0.297778 +vt 0.581633 0.297778 +vt 0.591837 0.297778 +vt 0.591837 0.373333 +vt 0.581633 0.373333 +vt 0.602041 0.373333 +vt 0.632653 0.373333 +vt 0.693878 0.373333 +vt 0.673469 0.373333 +vt 0.724490 0.373333 +vt 0.755102 0.373333 +vt 0.775510 0.373333 +vt 0.785714 0.373333 +vt 0.760204 0.382222 +vt 0.724490 0.462222 +vt 0.724490 0.382222 +vt 0.760204 0.524444 +vt 0.724490 0.524444 +vt 0.798469 0.524444 +vt 0.785714 0.524444 +vt 0.780612 0.462222 +vt 0.755102 0.555556 +vt 0.806122 0.573333 +vt 0.765306 0.573333 +vt 0.816327 0.462222 +vt 0.811224 0.524444 +vt 0.816327 0.524444 +vt 0.765306 0.524444 +vt 0.760204 0.462222 +vt 0.678571 0.622222 +vt 0.673469 0.688889 +vt 0.688776 0.622222 +vt 0.683673 0.688889 +vt 0.698980 0.622222 +vt 0.693878 0.688889 +vt 0.719388 0.622222 +vt 0.729592 0.622222 +vt 0.724490 0.688889 +vt 0.739796 0.622222 +vt 0.734694 0.688889 +vt 0.750000 0.622222 +vt 0.744898 0.688889 +vt 0.755102 0.622222 +vt 0.750000 0.684444 +vt 0.857143 0.235556 +vt 0.872449 0.186667 +vt 0.872449 0.235556 +vt 0.826531 0.235556 +vt 0.841837 0.186667 +vt 0.841837 0.235556 +vt 0.795918 0.186667 +vt 0.811224 0.235556 +vt 0.795918 0.235556 +vt 0.811224 0.186667 +vt 0.887755 0.235556 +vt 0.887755 0.186667 +vt 0.903061 0.235556 +vt 0.903061 0.186667 +vt 0.918367 0.235556 +vt 0.933673 0.186667 +vt 0.933673 0.235556 +vt 0.948980 0.235556 +vt 0.948980 0.186667 +vt 0.964286 0.235556 +vt 0.964286 0.186667 +vt 0.979592 0.235556 +vt 0.709184 0.688889 +vt 0.704082 0.462222 +vt 0.719388 0.524444 +vt 0.704082 0.524444 +vt 0.285714 0.111111 +vt 0.285714 0.186667 +vt 0.244898 0.186667 +vt 0.265306 0.000000 +vt 0.668367 0.373333 +vt 0.704082 0.373333 +vt 0.816327 0.373333 +vt 0.780612 0.373333 +vt 0.686224 0.524444 +vt 0.698980 0.524444 +vt 0.668367 0.462222 +vt 0.673469 0.524444 +vt 0.668367 0.524444 +vt 0.750000 0.524444 +vt 0.739796 0.524444 +vt 0.729592 0.524444 +vt 0.719388 0.524444 +vt 0.678571 0.524444 +vt 0.668367 0.524444 +vt 0.663265 0.524444 +vt 0.816327 0.524444 +vt 0.755102 0.524444 +vt 0.688776 0.524444 +vt 0.714286 0.968889 +vt 0.785714 0.688889 +vt 0.785714 0.968889 +vt 0.571429 0.968889 +vt 0.642857 0.688889 +vt 0.642857 0.968889 +vt 0.714286 0.968889 +vt 0.785714 0.688889 +vt 0.785714 0.968889 +vt 0.571429 0.968889 +vt 0.642857 0.688889 +vt 0.642857 0.968889 +vt 0.857143 0.688889 +vt 0.857143 0.968889 +vt 0.714286 0.688889 +vt 0.857143 0.688889 +vt 0.857143 0.968889 +vt 0.714286 0.688889 +vt 0.923469 0.764444 +vt 0.943878 0.688889 +vt 0.943878 0.764444 +vt 0.877551 0.688889 +vt 0.877551 0.764444 +vt 0.857143 0.764444 +vt 0.923469 0.764444 +vt 0.943878 0.688889 +vt 0.943878 0.764444 +vt 0.877551 0.688889 +vt 0.877551 0.764444 +vt 0.857143 0.764444 +vt 0.775510 0.297778 +vt 0.571429 0.186667 +vt 0.612245 0.373333 +vt 0.642857 0.373333 +vt 0.704082 0.373333 +vt 0.663265 0.373333 +vt 0.734694 0.373333 +vt 0.765306 0.373333 +vt 0.948980 0.186667 +vt 0.795918 0.235556 +vt 0.979592 0.186667 +vt 0.775510 0.297778 +vt 0.571429 0.186667 +vt 0.612245 0.373333 +vt 0.642857 0.373333 +vt 0.704082 0.373333 +vt 0.663265 0.373333 +vt 0.734694 0.373333 +vt 0.765306 0.373333 +vt 0.816327 0.555556 +vt 0.780612 0.524444 +vt 0.857143 0.186667 +vt 0.826531 0.186667 +vt 0.918367 0.186667 +vt 0.979592 0.186667 +vt 0.755102 0.524444 +vt 0.698980 0.524444 +vt 0.571429 0.688889 +vt 0.571429 0.688889 +vt 0.923469 0.688889 +vt 0.857143 0.688889 +vt 0.923469 0.688889 +vt 0.857143 0.688889 +vn 0.0000 1.0000 -0.0000 +vn 0.6965 0.1723 0.6965 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 -0.9397 -0.3420 +vn -0.6965 0.1723 -0.6965 +vn -0.5144 -0.0000 -0.8575 +vn -0.5556 0.0000 -0.8315 +vn -0.7071 0.0000 -0.7071 +vn 0.0000 0.0000 -1.0000 +vn -0.3827 0.0000 -0.9239 +vn 1.0000 -0.0000 0.0000 +vn 0.9239 -0.0000 0.3827 +vn -0.9239 -0.0000 0.3827 +vn -1.0000 -0.0000 0.0000 +vn 0.9239 0.0000 -0.3827 +vn -0.7071 -0.0000 0.7071 +vn 0.7071 0.0000 -0.7071 +vn -0.3827 -0.0000 0.9239 +vn 0.3827 0.0000 -0.9239 +vn -0.0000 -0.0000 1.0000 +vn 0.3827 -0.0000 0.9239 +vn 0.7071 -0.0000 0.7071 +vn -0.9239 0.0000 -0.3827 +vn 0.9013 0.2195 -0.3734 +vn 0.9436 0.3312 -0.0000 +vn 0.9756 0.2195 -0.0000 +vn 0.6899 0.2195 -0.6899 +vn 0.8717 0.3312 -0.3611 +vn 0.3734 0.2195 -0.9013 +vn 0.6672 0.3312 -0.6672 +vn 0.0000 0.2195 -0.9756 +vn 0.3611 0.3312 -0.8717 +vn -0.3733 0.2195 -0.9013 +vn -0.0000 0.3312 -0.9436 +vn -0.6899 0.2195 -0.6899 +vn -0.3611 0.3312 -0.8717 +vn -0.9013 0.2195 -0.3733 +vn -0.6672 0.3312 -0.6672 +vn -0.9756 0.2195 0.0000 +vn -0.8717 0.3312 -0.3611 +vn -0.8717 0.3312 0.3611 +vn -0.9436 0.3312 -0.0000 +vn -0.6899 0.2195 0.6899 +vn -0.9013 0.2195 0.3733 +vn -0.3611 0.3312 0.8717 +vn -0.6672 0.3312 0.6672 +vn -0.0000 0.2195 0.9756 +vn -0.3734 0.2195 0.9013 +vn 0.3734 0.2195 0.9013 +vn -0.0000 0.3312 0.9436 +vn 0.6899 0.2195 0.6899 +vn 0.3611 0.3312 0.8717 +vn 0.9013 0.2195 0.3733 +vn 0.6672 0.3312 0.6672 +vn 0.8717 0.3312 0.3611 +vn 0.4937 0.1580 -0.8551 +vn -0.0000 0.1925 -0.9813 +vn 0.4906 0.1925 -0.8498 +vn -0.0000 0.1580 -0.9874 +vn -0.4906 0.1925 -0.8498 +vn -0.4937 0.1580 -0.8551 +vn -0.8498 0.1925 -0.4906 +vn -0.8551 0.1580 -0.4937 +vn -0.9811 0.1926 -0.0186 +vn -0.9568 0.1891 0.2208 +vn -0.9876 0.1569 -0.0007 +vn -0.9549 0.1504 0.2559 +vn 0.8551 0.1580 -0.4937 +vn 0.8498 0.1925 -0.4906 +vn 0.9876 0.1569 -0.0007 +vn 0.9811 0.1926 -0.0186 +vn 0.9568 0.1891 0.2208 +vn 0.9730 0.2306 -0.0011 +vn 0.9412 0.2249 0.2522 +vn 0.8430 0.2290 -0.4867 +vn -0.0000 0.2290 -0.9734 +vn -0.4867 0.2290 -0.8430 +vn -0.8430 0.2290 -0.4867 +vn -0.9730 0.2306 -0.0011 +vn -0.9412 0.2249 0.2522 +vn -0.8658 0.1046 0.4893 +vn -0.8660 -0.0000 0.5000 +vn -0.9905 0.1370 -0.0100 +vn 0.8660 0.0000 0.5000 +vn 0.8497 0.1670 -0.5001 +vn 0.8660 0.0000 -0.5000 +vn 0.9905 0.1370 -0.0100 +vn 0.9043 0.0825 0.4189 +vn 0.8660 0.0001 0.5000 +vn -0.8497 0.1670 -0.5001 +vn -0.8660 0.0000 -0.5000 +vn -0.3745 0.1870 -0.9082 +vn -0.0746 0.6706 -0.7381 +vn 0.3745 0.1870 -0.9082 +vn -0.7043 0.0895 0.7043 +vn 0.5144 -0.0000 -0.8575 +vn 0.5556 -0.0000 -0.8315 +vn 0.1951 0.0000 -0.9808 +vn -0.1951 -0.0000 -0.9808 +vn 0.1951 -0.0000 0.9808 +vn 0.5144 0.0000 0.8575 +vn 0.5556 0.0000 0.8315 +vn 0.8521 0.1789 -0.4919 +vn 0.4919 0.1789 -0.8521 +vn 0.8521 0.1789 0.4919 +vn 0.9839 0.1789 0.0000 +vn 0.0000 0.1789 0.9839 +vn 0.4919 0.1789 0.8521 +vn 0.5000 -0.0000 0.8660 +vn 0.5000 0.0000 -0.8660 +vn -0.5000 0.0000 -0.8660 +vn -0.5000 -0.0000 0.8660 +vn 0.9285 0.3714 0.0000 +vn 0.8041 0.3714 -0.4642 +vn 0.4642 0.3714 -0.8041 +vn -0.0000 0.3714 -0.9285 +vn -0.4642 0.3714 -0.8041 +vn -0.8041 0.3714 -0.4642 +vn -0.9285 0.3714 -0.0000 +vn -0.8041 0.3714 0.4642 +vn -0.4642 0.3714 0.8041 +vn -0.0000 0.3714 0.9285 +vn 0.4642 0.3714 0.8041 +vn 0.8041 0.3714 0.4642 +vn -0.0000 0.1789 -0.9839 +vn -0.4919 0.1789 -0.8521 +vn -0.8521 0.1789 -0.4919 +vn -0.9839 0.1789 -0.0000 +vn -0.8521 0.1789 0.4919 +vn -0.4919 0.1789 0.8521 +vn 0.6886 0.4574 -0.5627 +vn 0.2733 0.5153 -0.8122 +vn 0.9846 0.1641 0.0597 +vn -0.6886 0.4574 -0.5627 +vn -0.9846 0.1641 0.0597 +vn -0.2733 0.5153 -0.8122 +vn -0.4937 0.1580 0.8551 +vn 0.0000 0.1925 0.9813 +vn -0.4906 0.1925 0.8498 +vn 0.0000 0.1580 0.9874 +vn 0.4906 0.1925 0.8498 +vn 0.4937 0.1580 0.8551 +vn 0.8498 0.1925 0.4906 +vn 0.8551 0.1580 0.4937 +vn 0.9811 0.1926 0.0186 +vn 0.9568 0.1891 -0.2208 +vn 0.9876 0.1569 0.0007 +vn 0.9549 0.1504 -0.2559 +vn -0.8551 0.1580 0.4937 +vn -0.8498 0.1925 0.4906 +vn -0.9876 0.1569 0.0007 +vn -0.9811 0.1926 0.0186 +vn -0.9568 0.1891 -0.2208 +vn -0.9730 0.2306 0.0011 +vn -0.9412 0.2249 -0.2522 +vn -0.8430 0.2290 0.4867 +vn 0.0000 0.2290 0.9734 +vn 0.4867 0.2290 0.8430 +vn 0.8430 0.2290 0.4867 +vn 0.9730 0.2306 0.0011 +vn 0.9412 0.2249 -0.2522 +vn 0.5098 -0.0000 0.8603 +vn -0.4475 0.1436 0.8827 +vn -0.5098 -0.0000 0.8603 +vn 0.3856 0.2768 0.8802 +vn -0.3856 0.2768 0.8802 +vn 0.9796 0.2009 -0.0044 +vn 0.8462 0.2260 0.4826 +vn 0.9417 0.1046 0.3198 +vn 0.0000 -0.9802 0.1978 +vn 0.0000 -0.8720 0.4896 +vn 0.9968 0.0762 -0.0244 +vn 0.8471 0.1996 -0.4925 +vn 0.6944 0.1887 -0.6944 +vn 0.4475 0.1436 0.8827 +vn -0.9043 0.0825 -0.4189 +vn -0.9905 0.1370 0.0100 +vn 0.0746 0.6706 0.7381 +vn -0.8497 0.1670 0.5001 +vn -0.3745 0.1870 0.9082 +vn 0.3745 0.1870 0.9082 +vn 0.8497 0.1670 0.5001 +vn 0.9905 0.1370 0.0100 +vn 0.8658 0.1046 -0.4893 +vn 0.7043 0.0895 -0.7043 +vn -0.9417 0.1046 0.3198 +vn -0.8462 0.2260 0.4826 +vn -0.5144 -0.0000 0.8575 +vn -0.1951 0.0000 0.9808 +vn -0.5556 -0.0000 0.8315 +vn -0.9661 -0.0000 0.2581 +vn 0.9661 -0.0000 0.2581 +vn -0.9796 0.2009 -0.0044 +vn -0.9968 0.0762 -0.0244 +vn -0.8471 0.1996 -0.4926 +vn -0.6944 0.1887 -0.6944 +vn 0.8315 0.0000 0.5556 +vn -0.8315 -0.0000 -0.5556 +vn 0.8315 -0.0000 -0.5556 +vn -0.8315 -0.0000 0.5556 +vn 0.4235 0.0000 0.9059 +vn 0.7673 0.0000 0.6413 +vn -0.4235 0.0000 0.9059 +vn -0.7673 0.0000 0.6413 +vn -0.4235 0.0000 -0.9059 +vn -0.7673 0.0000 -0.6413 +vn 0.4235 0.0000 -0.9059 +vn 0.7673 0.0000 -0.6413 +vn 0.9549 0.1504 0.2559 +vn 0.4867 0.2290 -0.8430 +vn -0.9549 0.1504 -0.2559 +vn -0.4867 0.2290 0.8430 +s off +f 5202/7685/969 5203/7686/969 5204/7687/969 +f 5205/7688/969 5206/7689/969 5207/7690/969 +f 5208/7691/969 5209/7692/969 5202/7685/969 +f 5210/7693/970 5211/7694/970 5212/7695/970 +f 5213/7696/969 5214/7697/969 5215/7698/969 +f 5216/7699/969 5206/7689/969 5217/7700/969 +f 5217/7700/969 5218/7701/969 5216/7699/969 +f 5219/7702/969 5218/7701/969 5220/7703/969 +f 5221/7704/969 5222/7705/969 5219/7702/969 +f 5221/7704/969 5223/7706/969 5224/7707/969 +f 5225/7708/969 5223/7706/969 5226/7709/969 +f 5227/7710/969 5228/7711/969 5229/7712/969 +f 5230/7713/969 5229/7712/969 5228/7711/969 +f 5230/7713/969 5231/7714/969 5232/7715/969 +f 5233/7716/969 5231/7714/969 5234/7717/969 +f 5235/7718/969 5203/7686/969 5236/7719/969 +f 5236/7719/969 5237/7720/969 5235/7718/969 +f 5233/7716/969 5238/7721/969 5239/7722/969 +f 5240/7723/971 5241/7724/971 5242/7725/971 +f 5243/7726/971 5244/7727/971 5245/7728/971 +f 5244/7727/971 5246/7729/971 5245/7728/971 +f 5245/7728/971 5247/7730/971 5248/7731/971 +f 5249/7732/971 5247/7730/971 5246/7729/971 +f 5250/7733/971 5246/7729/971 5251/7734/971 +f 5245/7728/971 5246/7729/971 5247/7730/971 +f 5252/7735/971 5253/7736/971 5254/7737/971 +f 5255/7738/971 5256/7739/971 5257/7740/971 +f 5258/7741/971 5259/7742/971 5260/7743/971 +f 5261/7744/971 5262/7745/971 5263/7746/971 +f 5263/7746/971 5257/7740/971 5256/7739/971 +f 5254/7737/971 5260/7743/971 5262/7745/971 +f 5263/7746/971 5260/7743/971 5259/7742/971 +f 5264/7747/971 5265/7748/971 5266/7749/971 +f 5267/7750/971 5268/7751/971 5269/7752/971 +f 5270/7753/971 5271/7754/971 5272/7755/971 +f 5273/7756/971 5274/7757/971 5275/7758/971 +f 5275/7758/971 5269/7752/971 5268/7751/971 +f 5266/7749/971 5272/7755/971 5274/7757/971 +f 5275/7758/971 5272/7755/971 5271/7754/971 +f 5276/7759/971 5242/7725/971 5277/7760/971 +f 5278/7761/971 5279/7762/971 5280/7763/971 +f 5281/7764/971 5251/7734/971 5279/7762/971 +f 5282/7765/971 5277/7760/971 5244/7727/971 +f 5277/7760/971 5251/7734/971 5244/7727/971 +f 5280/7763/971 5277/7760/971 5242/7725/971 +f 5214/7697/972 5283/7766/972 5284/7767/972 +f 5285/7768/973 5286/7769/973 5287/7770/973 +f 5288/7771/971 5289/7772/971 5290/7773/971 +f 5289/7772/971 5291/7774/971 5290/7773/971 +f 5290/7773/971 5292/7775/971 5293/7776/971 +f 5294/7777/971 5292/7775/971 5291/7774/971 +f 5295/7778/971 5291/7774/971 5241/7724/971 +f 5290/7773/971 5291/7774/971 5292/7775/971 +f 5296/7779/971 5297/7780/971 5298/7781/971 +f 5299/7782/971 5300/7783/971 5301/7784/971 +f 5302/7785/971 5303/7786/971 5304/7787/971 +f 5305/7788/971 5306/7789/971 5307/7790/971 +f 5300/7783/971 5303/7786/971 5301/7784/971 +f 5298/7781/971 5304/7787/971 5306/7789/971 +f 5307/7790/971 5304/7787/971 5303/7786/971 +f 5308/7791/971 5280/7763/971 5289/7772/971 +f 5289/7772/971 5242/7725/971 5241/7724/971 +f 5202/7685/969 5209/7692/969 5203/7686/969 +f 5205/7688/969 5208/7691/969 5206/7689/969 +f 5208/7691/969 5205/7688/969 5209/7692/969 +f 5216/7699/969 5207/7690/969 5206/7689/969 +f 5217/7700/969 5220/7703/969 5218/7701/969 +f 5219/7702/969 5222/7705/969 5218/7701/969 +f 5221/7704/969 5224/7707/969 5222/7705/969 +f 5221/7704/969 5226/7709/969 5223/7706/969 +f 5225/7708/969 5227/7710/969 5223/7706/969 +f 5227/7710/969 5225/7708/969 5228/7711/969 +f 5230/7713/969 5232/7715/969 5229/7712/969 +f 5230/7713/969 5234/7717/969 5231/7714/969 +f 5233/7716/969 5239/7722/969 5231/7714/969 +f 5235/7718/969 5204/7687/969 5203/7686/969 +f 5236/7719/969 5238/7792/969 5237/7720/969 +f 5233/7716/969 5237/7793/969 5238/7721/969 +f 5244/7727/971 5251/7734/971 5246/7729/971 +f 5263/7746/971 5259/7742/971 5257/7740/971 +f 5254/7737/971 5253/7736/971 5260/7743/971 +f 5263/7746/971 5262/7745/971 5260/7743/971 +f 5275/7758/971 5271/7754/971 5269/7752/971 +f 5266/7749/971 5265/7748/971 5272/7755/971 +f 5275/7758/971 5274/7757/971 5272/7755/971 +f 5277/7760/971 5279/7762/971 5251/7734/971 +f 5280/7763/971 5279/7762/971 5277/7760/971 +f 5214/7697/972 5213/7696/972 5283/7766/972 +f 5289/7772/971 5241/7724/971 5291/7774/971 +f 5300/7783/971 5307/7790/971 5303/7786/971 +f 5298/7781/971 5297/7780/971 5304/7787/971 +f 5307/7790/971 5306/7789/971 5304/7787/971 +f 5289/7772/971 5280/7763/971 5242/7725/971 +s 1 +f 5309/7794/974 5251/7795/975 5281/7796/976 +f 5310/7797/977 5236/7719/978 5311/7798/978 +f 5229/7712/979 5312/7799/980 5227/7710/980 +f 5207/7690/981 5313/7800/982 5205/7688/982 +f 5232/7715/983 5314/7801/979 5229/7712/979 +f 5216/7699/984 5315/7802/981 5207/7690/981 +f 5231/7714/985 5316/7803/983 5232/7715/983 +f 5218/7701/986 5317/7804/984 5216/7699/984 +f 5239/7722/987 5318/7805/985 5231/7714/985 +f 5222/7705/988 5319/7806/986 5218/7701/986 +f 5320/7807/987 5238/7721/977 5310/7808/977 +f 5224/7707/989 5321/7809/988 5222/7705/988 +f 5203/7686/976 5311/7798/978 5236/7719/978 +f 5223/7706/990 5322/7810/989 5224/7707/989 +f 5209/7692/991 5323/7811/976 5203/7686/976 +f 5227/7710/980 5324/7812/990 5223/7706/990 +f 5205/7688/982 5325/7813/991 5209/7692/991 +f 5316/7803/992 5326/7814/993 5314/7801/994 +f 5318/7805/995 5327/7815/996 5316/7803/992 +f 5320/7807/997 5328/7816/998 5318/7805/995 +f 5310/7808/999 5329/7817/1000 5320/7807/997 +f 5311/7798/1001 5330/7818/1002 5310/7797/999 +f 5323/7811/1003 5331/7819/1004 5311/7798/1001 +f 5325/7813/1005 5332/7820/1006 5323/7811/1003 +f 5313/7800/1007 5333/7821/1008 5325/7813/1005 +f 5313/7800/1007 5334/7822/1009 5335/7823/1010 +f 5317/7804/1011 5334/7824/1009 5315/7802/1012 +f 5317/7804/1011 5336/7825/1013 5337/7826/1014 +f 5321/7809/1015 5336/7827/1013 5319/7806/1016 +f 5322/7810/1017 5338/7828/1018 5321/7809/1015 +f 5324/7812/1019 5339/7829/1020 5322/7810/1017 +f 5312/7799/1021 5340/7830/1022 5324/7812/1019 +f 5314/7801/994 5341/7831/1023 5312/7799/1021 +f 5327/7815/996 5328/7832/998 5342/7833/969 +f 5337/7826/1014 5336/7825/1013 5342/7834/969 +f 5328/7816/998 5329/7835/1000 5342/7836/969 +f 5336/7827/1013 5338/7837/1018 5342/7838/969 +f 5330/7818/1002 5331/7839/1004 5342/7840/969 +f 5329/7817/1000 5330/7841/1002 5342/7842/969 +f 5338/7828/1018 5339/7843/1020 5342/7844/969 +f 5331/7819/1004 5332/7845/1006 5342/7846/969 +f 5339/7829/1020 5340/7847/1022 5342/7848/969 +f 5332/7820/1006 5333/7849/1008 5342/7850/969 +f 5340/7830/1022 5341/7851/1023 5342/7852/969 +f 5333/7821/1008 5335/7853/1010 5342/7854/969 +f 5341/7831/1023 5326/7855/993 5342/7856/969 +f 5335/7823/1010 5334/7822/1009 5342/7857/969 +f 5326/7814/993 5327/7858/996 5342/7859/969 +f 5334/7824/1009 5337/7860/1014 5342/7861/969 +f 5248/7862/1024 5343/7863/1025 5344/7864/1026 +f 5247/7865/1027 5345/7866/1028 5343/7867/1025 +f 5249/7868/1029 5346/7869/1030 5345/7870/1028 +f 5246/7871/1031 5347/7872/1032 5346/7873/1030 +f 5309/7874/1033 5250/7875/1034 5251/7876/1035 +f 5245/7877/1036 5344/7878/1026 5348/7879/1037 +f 5243/7880/1038 5348/7881/1037 5349/7882/1039 +f 5350/7883/1040 5243/7880/1038 5349/7884/1039 +f 5350/7883/1040 5351/7885/1041 5352/7886/1042 +f 5348/7881/1037 5351/7887/1041 5349/7882/1039 +f 5344/7878/1026 5353/7888/1043 5348/7879/1037 +f 5345/7866/1028 5215/7889/1044 5343/7867/1025 +f 5215/7890/1044 5344/7864/1026 5343/7863/1025 +f 5346/7869/1030 5213/7891/1045 5345/7870/1028 +f 5347/7872/1032 5354/7892/1046 5346/7873/1030 +f 5355/7893/1047 5309/7874/1033 5356/7894/1048 +f 5357/7895/984 5358/7896/1049 5356/7897/1050 +f 5356/7897/1050 5359/7898/1051 5355/7899/982 +f 5352/7900/1052 5212/7695/990 5360/7901/990 +f 5214/7902/987 5361/7903/1053 5353/7904/1054 +f 5353/7904/1054 5362/7905/1055 5351/7906/979 +f 5351/7906/979 5210/7693/1056 5352/7900/1057 +f 5355/7899/982 5363/7907/1058 5354/7908/1059 +f 5354/7908/1059 5364/7909/1060 5213/7910/978 +f 5210/7693/1056 5362/7905/1055 5211/7911/1061 +f 5362/7905/1055 5361/7903/1053 5211/7912/1061 +f 5361/7903/1053 5365/7913/1062 5211/7914/1061 +f 5364/7909/1060 5363/7907/1058 5211/7915/1061 +f 5363/7907/1058 5359/7898/1051 5211/7916/1061 +f 5359/7898/1051 5358/7896/1049 5211/7917/1061 +f 5358/7896/1049 5366/7918/1063 5211/7919/1061 +f 5350/7920/1064 5282/7921/985 5244/7922/1065 +f 5234/7923/985 5350/7920/1064 5233/7924/987 +f 5233/7924/987 5350/7920/1064 5237/7925/1066 +f 5237/7720/1067 5309/7794/974 5235/7926/978 +f 5204/7927/976 5309/7794/974 5281/7796/976 +f 5279/7928/991 5204/7927/976 5281/7796/976 +f 5278/7929/982 5202/7930/991 5279/7928/991 +f 5280/7931/981 5208/7932/982 5278/7929/982 +f 5308/7933/984 5206/7934/981 5280/7931/981 +f 5221/7935/989 5219/7936/1068 5367/7937/1069 +f 5367/7937/1069 5226/7938/990 5221/7935/989 +f 5367/7937/1069 5241/7939/1070 5240/7940/990 +f 5242/7941/980 5226/7938/990 5240/7940/990 +f 5276/7942/979 5225/7943/980 5242/7941/980 +f 5277/7944/983 5228/7945/979 5276/7942/979 +f 5282/7921/985 5230/7946/983 5277/7944/983 +f 5368/7947/1071 5253/7948/1072 5369/7949/1072 +f 5259/7950/1073 5370/7951/1074 5371/7952/1073 +f 5255/7953/1075 5372/7954/1076 5373/7955/1075 +f 5257/7956/1076 5371/7952/1073 5372/7954/1076 +f 5258/7957/1074 5368/7947/1071 5370/7951/1074 +f 5374/7958/979 5272/7959/1054 5375/7960/1054 +f 5376/7961/988 5269/7962/1077 5377/7963/1077 +f 5378/7964/982 5275/7965/1050 5379/7966/1050 +f 5375/7960/1054 5265/7967/1078 5380/7968/1078 +f 5381/7969/977 5266/7970/1079 5382/7971/1079 +f 5377/7963/1077 5271/7972/1052 5383/7973/1052 +f 5379/7966/1050 5268/7974/1080 5384/7975/1080 +f 5380/7968/1078 5264/7976/977 5381/7977/977 +f 5382/7971/1079 5274/7978/1059 5385/7979/1059 +f 5383/7973/1052 5270/7980/979 5374/7958/979 +f 5384/7975/1080 5267/7981/988 5376/7961/988 +f 5385/7979/1059 5273/7982/982 5378/7964/982 +f 5374/7958/1081 5386/7983/1082 5387/7984/1081 +f 5375/7960/1082 5388/7985/1083 5386/7983/1082 +f 5380/7968/1083 5389/7986/1084 5388/7985/1083 +f 5381/7969/1084 5390/7987/1085 5389/7988/1084 +f 5382/7971/1085 5391/7989/1086 5390/7987/1085 +f 5385/7979/1086 5392/7990/1087 5391/7989/1086 +f 5378/7964/1087 5393/7991/1088 5392/7990/1087 +f 5379/7966/1088 5394/7992/1089 5393/7991/1088 +f 5384/7975/1089 5395/7993/1090 5394/7992/1089 +f 5395/7993/1090 5377/7963/1091 5396/7994/1091 +f 5377/7963/1091 5397/7995/1092 5396/7994/1091 +f 5383/7973/1092 5387/7984/1081 5397/7995/1092 +f 5253/7948/1072 5398/7996/1093 5369/7949/1072 +f 5252/7997/1093 5399/7998/1094 5398/7999/1093 +f 5254/8000/1094 5400/8001/1095 5399/7998/1094 +f 5262/8002/1095 5401/8003/1096 5400/8001/1095 +f 5261/8004/1096 5402/8005/1097 5401/8003/1096 +f 5263/8006/1097 5403/8007/1098 5402/8005/1097 +f 5256/8008/1098 5373/7955/1075 5403/8007/1098 +f 5284/7767/1099 5404/8009/1100 5214/8010/1101 +f 5283/7766/1102 5213/8011/1103 5405/8012/1104 +f 5404/8013/1100 5283/7766/1102 5405/8014/1104 +f 5211/8015/1061 5365/7913/1062 5364/7909/1060 +f 5365/7913/1062 5213/7910/978 5364/7909/1060 +f 5293/8016/1105 5406/8017/1106 5407/8018/1107 +f 5292/8019/1108 5408/8020/1109 5406/8021/1106 +f 5294/8022/1110 5409/8023/1111 5408/8024/1109 +f 5291/8025/1112 5410/8026/1113 5409/8027/1111 +f 5367/8028/1114 5295/8029/1115 5241/8030/1116 +f 5290/8031/1117 5407/8032/1107 5411/8033/1118 +f 5288/8034/1119 5411/8035/1118 5412/8036/1120 +f 5413/8037/1121 5288/8034/1119 5412/8038/1120 +f 5413/8037/1121 5414/8039/1122 5415/8040/1123 +f 5411/8035/1118 5414/8041/1122 5412/8036/1120 +f 5407/8032/1107 5416/8042/1124 5411/8033/1118 +f 5408/8020/1109 5417/8043/1125 5406/8021/1106 +f 5417/8044/1125 5407/8018/1107 5406/8017/1106 +f 5409/8023/1111 5418/8045/1126 5408/8024/1109 +f 5410/8026/1113 5419/8046/1127 5409/8027/1111 +f 5420/8047/1128 5367/8028/1114 5421/8048/1129 +f 5422/8049/1130 5423/8050/1131 5424/8051/1132 +f 5423/8050/1131 5425/8052/1133 5426/8053/1134 +f 5427/8054/1135 5428/8055/1136 5429/8056/1137 +f 5430/8057/1138 5422/8058/1139 5424/8059/1139 +f 5427/8054/1135 5431/8060/1140 5432/8061/1141 +f 5433/8062/1142 5432/8061/1141 5431/8060/1140 +f 5429/8056/1137 5425/8063/1133 5434/8064/1143 +f 5431/8060/1140 5427/8054/1135 5429/8056/1137 +f 5285/7768/1144 5435/8065/1145 5286/8066/1146 +f 5435/8065/1145 5436/8067/1147 5286/8068/1146 +f 5436/8067/1147 5437/8069/1148 5286/8070/1146 +f 5438/8071/1149 5439/8072/1150 5286/8073/1146 +f 5439/8072/1150 5440/8074/1151 5286/8075/1146 +f 5440/8074/1151 5441/8076/1152 5286/8077/1146 +f 5441/8076/1152 5442/8078/1153 5286/8079/1146 +f 5443/8080/1097 5297/8081/1098 5444/8082/1098 +f 5445/8083/1095 5302/8084/1096 5446/8085/1096 +f 5299/8086/1093 5447/8087/1094 5448/8088/1093 +f 5301/8089/1094 5445/8083/1095 5447/8087/1094 +f 5302/8084/1096 5443/8080/1097 5446/8085/1096 +f 5297/8081/1098 5449/8090/1075 5444/8082/1098 +f 5296/8091/1075 5450/8092/1076 5449/8090/1075 +f 5298/8093/1076 5451/8094/1073 5450/8092/1076 +f 5451/8094/1073 5305/8095/1074 5452/8096/1074 +f 5305/8095/1074 5453/8097/1071 5452/8096/1074 +f 5307/8098/1071 5454/8099/1072 5453/8097/1071 +f 5300/8100/1072 5448/8101/1093 5454/8099/1072 +f 5286/8102/1146 5437/8069/1148 5438/8071/1149 +f 5455/8103/1154 5426/8104/1134 5456/8105/1155 +f 5413/8106/1156 5219/7936/1157 5220/8107/986 +f 5217/8108/984 5413/8106/1156 5220/8107/986 +f 5413/8106/1156 5308/7933/984 5289/8109/1158 +f 5455/8103/1154 5457/8110/982 5430/8111/1159 +f 5424/8051/1132 5455/8103/1154 5430/8111/1159 +f 5458/8112/979 5429/8056/1137 5459/8113/1160 +f 5429/8056/1137 5422/8049/1130 5459/8113/1160 +f 5460/8114/1161 5455/8103/1154 5456/8115/1155 +f 5460/8114/1161 5461/8116/1162 5455/8103/1154 +f 5460/8114/1161 5462/8117/1163 5461/8116/1162 +f 5463/8118/1164 5461/8116/1162 5462/8117/1163 +f 5432/8119/1054 5442/8078/1153 5441/8076/1152 +f 5427/8120/979 5441/8076/1152 5440/8074/1151 +f 5428/8121/1052 5440/8074/1151 5439/8072/1150 +f 5437/8069/1148 5425/8122/989 5438/8071/1149 +f 5460/8123/982 5436/8067/1147 5435/8065/1145 +f 5462/8124/1059 5435/8065/1145 5285/7768/1144 +f 5463/8125/976 5285/7768/1144 5287/7770/976 +f 5458/8126/971 5430/8057/1138 5457/8127/971 +f 5425/8122/989 5439/8072/1150 5438/8071/1149 +f 5456/8128/1050 5437/8069/1148 5436/8067/1147 +f 5464/8129/979 5465/8130/983 5466/8131/983 +f 5467/8132/1165 5468/8133/980 5469/8134/980 +f 5470/8135/982 5471/8136/981 5472/8137/981 +f 5473/8138/1166 5474/8139/991 5475/8140/991 +f 5466/8131/983 5476/8141/1167 5477/8142/1167 +f 5469/8134/980 5478/8143/979 5464/8129/979 +f 5472/8137/981 5479/8144/1168 5480/8145/1168 +f 5475/8140/991 5481/8146/982 5470/8135/982 +f 5482/8147/1169 5483/8148/1170 5484/8149/1170 +f 5485/8150/1171 5482/8147/1169 5486/8151/1171 +f 5487/8152/1172 5485/8150/1171 5486/8151/1171 +f 5488/8153/1173 5489/8154/1174 5490/8155/1174 +f 5491/8156/1175 5488/8153/1173 5492/8157/1175 +f 5493/8158/1176 5491/8156/1175 5492/8157/1175 +f 5310/7797/977 5238/7792/977 5236/7719/978 +f 5229/7712/979 5314/7801/979 5312/7799/980 +f 5207/7690/981 5315/7802/981 5313/7800/982 +f 5232/7715/983 5316/7803/983 5314/7801/979 +f 5216/7699/984 5317/7804/984 5315/7802/981 +f 5231/7714/985 5318/7805/985 5316/7803/983 +f 5218/7701/986 5319/7806/986 5317/7804/984 +f 5239/7722/987 5320/7807/987 5318/7805/985 +f 5222/7705/988 5321/7809/988 5319/7806/986 +f 5320/7807/987 5239/7722/987 5238/7721/977 +f 5224/7707/989 5322/7810/989 5321/7809/988 +f 5203/7686/976 5323/7811/976 5311/7798/978 +f 5223/7706/990 5324/7812/990 5322/7810/989 +f 5209/7692/991 5325/7813/991 5323/7811/976 +f 5227/7710/980 5312/7799/980 5324/7812/990 +f 5205/7688/982 5313/7800/982 5325/7813/991 +f 5316/7803/992 5327/7858/996 5326/7814/993 +f 5318/7805/995 5328/7832/998 5327/7815/996 +f 5320/7807/997 5329/7835/1000 5328/7816/998 +f 5310/7808/999 5330/7841/1002 5329/7817/1000 +f 5311/7798/1001 5331/7839/1004 5330/7818/1002 +f 5323/7811/1003 5332/7845/1006 5331/7819/1004 +f 5325/7813/1005 5333/7849/1008 5332/7820/1006 +f 5313/7800/1007 5335/7853/1010 5333/7821/1008 +f 5313/7800/1007 5315/7802/1012 5334/7822/1009 +f 5317/7804/1011 5337/7860/1014 5334/7824/1009 +f 5317/7804/1011 5319/7806/1016 5336/7825/1013 +f 5321/7809/1015 5338/7837/1018 5336/7827/1013 +f 5322/7810/1017 5339/7843/1020 5338/7828/1018 +f 5324/7812/1019 5340/7847/1022 5339/7829/1020 +f 5312/7799/1021 5341/7851/1023 5340/7830/1022 +f 5314/7801/994 5326/7855/993 5341/7831/1023 +f 5248/7862/1024 5247/7865/1027 5343/7863/1025 +f 5247/7865/1027 5249/7868/1029 5345/7866/1028 +f 5249/7868/1029 5246/7871/1031 5346/7869/1030 +f 5246/7871/1031 5250/7875/1034 5347/7872/1032 +f 5309/7874/1033 5347/8159/1032 5250/7875/1034 +f 5245/7877/1036 5248/7862/1024 5344/7878/1026 +f 5243/7880/1038 5245/7877/1036 5348/7881/1037 +f 5350/7883/1040 5244/8160/1177 5243/7880/1038 +f 5350/7883/1040 5349/7884/1039 5351/7885/1041 +f 5348/7881/1037 5353/8161/1043 5351/7887/1041 +f 5344/7878/1026 5214/8162/1178 5353/7888/1043 +f 5345/7866/1028 5213/8163/1045 5215/7889/1044 +f 5215/7890/1044 5214/8164/1178 5344/7864/1026 +f 5346/7869/1030 5354/8165/1046 5213/7891/1045 +f 5347/7872/1032 5355/8166/1047 5354/7892/1046 +f 5355/7893/1047 5347/8159/1032 5309/7874/1033 +f 5357/7895/984 5366/7918/1063 5358/7896/1049 +f 5356/7897/1050 5358/7896/1049 5359/7898/1051 +f 5352/7900/1057 5210/7693/1056 5212/7695/990 +f 5214/7902/987 5365/7913/1062 5361/7903/1053 +f 5353/7904/1054 5361/7903/1053 5362/7905/1055 +f 5351/7906/979 5362/7905/1055 5210/7693/1056 +f 5355/7899/982 5359/7898/1051 5363/7907/1058 +f 5354/7908/1059 5363/7907/1058 5364/7909/1060 +f 5234/7923/985 5282/7921/985 5350/7920/1064 +f 5204/7927/976 5235/7926/978 5309/7794/974 +f 5279/7928/991 5202/7930/991 5204/7927/976 +f 5278/7929/982 5208/7932/982 5202/7930/991 +f 5280/7931/981 5206/7934/981 5208/7932/982 +f 5308/7933/984 5217/8108/984 5206/7934/981 +f 5367/7937/1069 5240/7940/990 5226/7938/990 +f 5242/7941/980 5225/7943/980 5226/7938/990 +f 5276/7942/979 5228/7945/979 5225/7943/980 +f 5277/7944/983 5230/7946/983 5228/7945/979 +f 5282/7921/985 5234/7923/985 5230/7946/983 +f 5368/7947/1071 5260/8167/1071 5253/7948/1072 +f 5259/7950/1073 5258/7957/1074 5370/7951/1074 +f 5255/7953/1075 5257/7956/1076 5372/7954/1076 +f 5257/7956/1076 5259/7950/1073 5371/7952/1073 +f 5258/7957/1074 5260/8167/1071 5368/7947/1071 +f 5374/7958/979 5270/7980/979 5272/7959/1054 +f 5376/7961/988 5267/7981/988 5269/7962/1077 +f 5378/7964/982 5273/7982/982 5275/7965/1050 +f 5375/7960/1054 5272/7959/1054 5265/7967/1078 +f 5381/7969/977 5264/8168/977 5266/7970/1079 +f 5377/7963/1077 5269/7962/1077 5271/7972/1052 +f 5379/7966/1050 5275/7965/1050 5268/7974/1080 +f 5380/7968/1078 5265/7967/1078 5264/7976/977 +f 5382/7971/1079 5266/7970/1079 5274/7978/1059 +f 5383/7973/1052 5271/7972/1052 5270/7980/979 +f 5384/7975/1080 5268/7974/1080 5267/7981/988 +f 5385/7979/1059 5274/7978/1059 5273/7982/982 +f 5374/7958/1081 5375/7960/1082 5386/7983/1082 +f 5375/7960/1082 5380/7968/1083 5388/7985/1083 +f 5380/7968/1083 5381/7977/1084 5389/7986/1084 +f 5381/7969/1084 5382/7971/1085 5390/7987/1085 +f 5382/7971/1085 5385/7979/1086 5391/7989/1086 +f 5385/7979/1086 5378/7964/1087 5392/7990/1087 +f 5378/7964/1087 5379/7966/1088 5393/7991/1088 +f 5379/7966/1088 5384/7975/1089 5394/7992/1089 +f 5384/7975/1089 5376/7961/1090 5395/7993/1090 +f 5395/7993/1090 5376/7961/1090 5377/7963/1091 +f 5377/7963/1091 5383/7973/1092 5397/7995/1092 +f 5383/7973/1092 5374/7958/1081 5387/7984/1081 +f 5253/7948/1072 5252/8169/1093 5398/7996/1093 +f 5252/7997/1093 5254/8000/1094 5399/7998/1094 +f 5254/8000/1094 5262/8002/1095 5400/8001/1095 +f 5262/8002/1095 5261/8004/1096 5401/8003/1096 +f 5261/8004/1096 5263/8006/1097 5402/8005/1097 +f 5263/8006/1097 5256/8008/1098 5403/8007/1098 +f 5256/8008/1098 5255/7953/1075 5373/7955/1075 +f 5404/8013/1100 5284/7767/1099 5283/7766/1102 +f 5365/7913/1062 5214/7902/987 5213/7910/978 +f 5293/8016/1105 5292/8019/1108 5406/8017/1106 +f 5292/8019/1108 5294/8022/1110 5408/8020/1109 +f 5294/8022/1110 5291/8025/1112 5409/8023/1111 +f 5291/8025/1112 5295/8029/1115 5410/8026/1113 +f 5367/8028/1114 5410/8170/1113 5295/8029/1115 +f 5290/8031/1117 5293/8016/1105 5407/8032/1107 +f 5288/8034/1119 5290/8031/1117 5411/8035/1118 +f 5413/8037/1121 5289/8171/1179 5288/8034/1119 +f 5413/8037/1121 5412/8038/1120 5414/8039/1122 +f 5411/8035/1118 5416/8172/1124 5414/8041/1122 +f 5407/8032/1107 5494/8173/1180 5416/8042/1124 +f 5408/8020/1109 5418/8174/1126 5417/8043/1125 +f 5417/8044/1125 5494/8175/1180 5407/8018/1107 +f 5409/8023/1111 5419/8176/1127 5418/8045/1126 +f 5410/8026/1113 5420/8177/1128 5419/8046/1127 +f 5420/8047/1128 5410/8170/1113 5367/8028/1114 +f 5422/8049/1130 5434/8064/1143 5423/8050/1131 +f 5423/8050/1131 5434/8064/1143 5425/8052/1133 +f 5430/8057/1138 5459/8178/1138 5422/8058/1139 +f 5429/8056/1137 5428/8179/1136 5425/8063/1133 +f 5443/8080/1097 5304/8180/1097 5297/8081/1098 +f 5445/8083/1095 5303/8181/1095 5302/8084/1096 +f 5299/8086/1093 5301/8089/1094 5447/8087/1094 +f 5301/8089/1094 5303/8181/1095 5445/8083/1095 +f 5302/8084/1096 5304/8180/1097 5443/8080/1097 +f 5297/8081/1098 5296/8091/1075 5449/8090/1075 +f 5296/8091/1075 5298/8093/1076 5450/8092/1076 +f 5298/8093/1076 5306/8182/1073 5451/8094/1073 +f 5451/8094/1073 5306/8182/1073 5305/8095/1074 +f 5305/8095/1074 5307/8098/1071 5453/8097/1071 +f 5307/8098/1071 5300/8100/1072 5454/8099/1072 +f 5300/8100/1072 5299/8183/1093 5448/8101/1093 +f 5455/8103/1154 5423/8050/1131 5426/8104/1134 +f 5217/8108/984 5308/7933/984 5413/8106/1156 +f 5455/8103/1154 5461/8116/1162 5457/8110/982 +f 5424/8051/1132 5423/8050/1131 5455/8103/1154 +f 5458/8112/979 5431/8060/1140 5429/8056/1137 +f 5429/8056/1137 5434/8064/1143 5422/8049/1130 +f 5432/8119/1054 5433/8184/985 5442/8078/1153 +f 5427/8120/979 5432/8119/1054 5441/8076/1152 +f 5428/8121/1052 5427/8120/979 5440/8074/1151 +f 5437/8069/1148 5426/8185/986 5425/8122/989 +f 5460/8123/982 5456/8128/1050 5436/8067/1147 +f 5462/8124/1059 5460/8123/982 5435/8065/1145 +f 5463/8125/976 5462/8124/1059 5285/7768/1144 +f 5458/8126/971 5459/8178/1138 5430/8057/1138 +f 5425/8122/989 5428/8121/1052 5439/8072/1150 +f 5456/8128/1050 5426/8185/986 5437/8069/1148 +f 5464/8129/979 5478/8143/979 5465/8130/983 +f 5467/8132/1165 5495/8186/1165 5468/8133/980 +f 5470/8135/982 5481/8146/982 5471/8136/981 +f 5473/8138/1166 5496/8187/1166 5474/8139/991 +f 5466/8131/983 5465/8130/983 5476/8141/1167 +f 5469/8134/980 5468/8133/980 5478/8143/979 +f 5472/8137/981 5471/8136/981 5479/8144/1168 +f 5475/8140/991 5474/8139/991 5481/8146/982 +f 5482/8147/1169 5497/8188/1169 5483/8148/1170 +f 5485/8150/1171 5497/8188/1169 5482/8147/1169 +f 5487/8152/1172 5498/8189/1172 5485/8150/1171 +f 5488/8153/1173 5499/8190/1173 5489/8154/1174 +f 5491/8156/1175 5499/8190/1173 5488/8153/1173 +f 5493/8158/1176 5500/8191/1176 5491/8156/1175 +l 5502 5421 +l 5415 5501 diff --git a/src/main/resources/assets/hbm/models/weapons/launch_pad_silo.obj b/src/main/resources/assets/hbm/models/weapons/launch_pad_silo.obj new file mode 100644 index 000000000..02249dc56 --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/launch_pad_silo.obj @@ -0,0 +1,255 @@ +# Blender v2.79 (sub 0) OBJ File: 'launch_pad_silo.blend' +# www.blender.org +o Plane +v -1.500000 1.000000 1.500000 +v 1.500000 1.000000 1.500000 +v -1.500000 1.000000 -1.500000 +v 1.500000 1.000000 -1.500000 +v -0.500000 1.000000 0.500000 +v 0.500000 1.000000 0.500000 +v -0.500000 1.000000 -0.500000 +v 0.500000 1.000000 -0.500000 +v 0.500000 0.000000 -0.500000 +v 1.500000 0.000000 -0.500000 +v 0.500000 0.000000 -1.500000 +v 1.500000 0.000000 -1.500000 +v 0.500000 0.000000 1.500000 +v 1.500000 0.000000 1.500000 +v 0.500000 0.000000 0.500000 +v 1.500000 0.000000 0.500000 +v -1.500000 0.000000 -0.500000 +v -0.500000 0.000000 -0.500000 +v -1.500000 0.000000 -1.500000 +v -0.500000 0.000000 -1.500000 +v -1.500000 0.000000 1.500000 +v -0.500000 0.000000 1.500000 +v -1.500000 0.000000 0.500000 +v -0.500000 0.000000 0.500000 +v 0.500000 0.500000 -1.500000 +v 0.500000 0.500000 -0.500000 +v 1.500000 0.500000 -0.500000 +v 0.500000 0.500000 0.500000 +v 0.500000 0.500000 1.500000 +v 1.500000 0.500000 0.500000 +v -1.500000 0.500000 -0.500000 +v -0.500000 0.500000 -0.500000 +v -0.500000 0.500000 -1.500000 +v -0.500000 0.500000 1.500000 +v -0.500000 0.500000 0.500000 +v -1.500000 0.500000 0.500000 +v -0.500000 1.000000 0.500000 +v 0.500000 1.000000 0.500000 +v -0.500000 1.000000 -0.500000 +v 0.500000 1.000000 -0.500000 +v -0.500000 1.000000 0.500000 +v 0.500000 1.000000 0.500000 +v -0.500000 1.000000 -0.500000 +v 0.500000 1.000000 -0.500000 +vt 0.250000 0.750000 +vt 0.750000 1.000000 +vt -0.000000 1.000000 +vt 0.250000 0.500000 +vt -0.000000 0.250000 +vt 0.500000 0.750000 +vt 0.750000 0.250000 +vt 0.500000 0.500000 +vt 0.250000 0.250000 +vt 0.500000 0.125000 +vt 0.500000 0.250000 +vt 0.250000 0.125000 +vt 0.500000 0.250000 +vt 0.250000 0.250000 +vt 0.250000 0.125000 +vt 0.500000 0.250000 +vt 0.250000 0.250000 +vt 0.250000 0.250000 +vt 0.500000 0.125000 +vt 0.500000 0.250000 +vt 1.000000 -0.000000 +vt 0.750000 0.250000 +vt 0.750000 -0.000000 +vt 1.000000 -0.000000 +vt 0.750000 0.250000 +vt 0.750000 -0.000000 +vt 1.000000 -0.000000 +vt 0.750000 0.250000 +vt 0.750000 -0.000000 +vt 1.000000 -0.000000 +vt 0.750000 0.250000 +vt 0.750000 -0.000000 +vt 1.000000 0.625000 +vt 0.750000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 0.625000 +vt 0.750000 0.500000 +vt 1.000000 0.500000 +vt 0.750000 0.250000 +vt 1.000000 0.500000 +vt 0.750000 0.500000 +vt 1.000000 0.500000 +vt 0.750000 0.250000 +vt 1.000000 0.250000 +vt 1.000000 0.500000 +vt 0.750000 0.250000 +vt 1.000000 0.250000 +vt 0.750000 0.250000 +vt 1.000000 0.500000 +vt 0.750000 0.500000 +vt 1.000000 0.625000 +vt 0.750000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 0.625000 +vt 0.750000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 0.625000 +vt 0.750000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 0.625000 +vt 0.750000 0.500000 +vt 1.000000 0.500000 +vt -0.000000 -0.000000 +vt 0.250000 0.125000 +vt 1.000000 0.625000 +vt 0.750000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 0.625000 +vt 0.750000 0.500000 +vt 1.000000 0.500000 +vt 0.750000 0.000000 +vt 0.500000 0.125000 +vt 0.500000 0.000000 +vt 0.250000 0.125000 +vt 0.750000 0.250000 +vt 0.000000 0.250000 +vt 0.000000 0.000000 +vt 0.250000 0.000000 +vt 0.500000 0.125000 +vt 0.500000 0.000000 +vt 0.000000 0.250000 +vt 0.750000 0.250000 +vt 0.250000 0.125000 +vt 0.000000 0.000000 +vt 0.250000 0.000000 +vt 0.750000 0.000000 +vt 0.500000 0.125000 +vt 0.500000 0.000000 +vt 0.000000 0.250000 +vt 0.750000 0.250000 +vt 0.250000 0.125000 +vt 0.000000 0.000000 +vt 0.250000 0.000000 +vt 0.500000 0.125000 +vt 0.750000 -0.000000 +vt 0.250000 0.750000 +vt 0.500000 0.500000 +vt 0.500000 0.750000 +vt 0.500000 0.500000 +vt 0.250000 0.750000 +vt 0.500000 0.750000 +vt 0.250000 0.125000 +vt 0.500000 0.125000 +vt 0.500000 0.125000 +vt 0.250000 0.125000 +vt 1.000000 0.250000 +vt 1.000000 0.250000 +vt 1.000000 0.250000 +vt 1.000000 0.250000 +vt 0.750000 0.625000 +vt 0.750000 0.625000 +vt 1.000000 0.250000 +vt 0.750000 0.500000 +vt 0.750000 0.500000 +vt 1.000000 0.250000 +vt 0.750000 0.625000 +vt 0.750000 0.625000 +vt 0.750000 0.625000 +vt 0.750000 0.625000 +vt 0.250000 -0.000000 +vt 0.750000 0.625000 +vt 0.750000 0.625000 +vt 0.500000 -0.000000 +vt 0.250000 0.500000 +vt 0.250000 0.500000 +vn 0.0000 1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -1.0000 0.0000 +s off +f 5/1/1 3/2/1 1/3/1 +f 6/4/1 1/3/1 2/5/1 +f 7/6/1 4/7/1 3/2/1 +f 8/8/1 2/5/1 4/7/1 +f 8/9/2 28/10/2 6/11/2 +f 32/12/3 8/13/3 7/14/3 +f 35/15/4 7/16/4 5/17/4 +f 6/18/5 35/19/5 5/20/5 +f 11/21/6 10/22/6 9/23/6 +f 15/24/6 14/25/6 13/26/6 +f 19/27/6 18/28/6 17/29/6 +f 23/30/6 22/31/6 21/32/6 +f 29/33/2 15/34/2 13/35/2 +f 33/36/4 18/37/4 20/38/4 +f 27/39/6 28/40/6 26/41/6 +f 26/42/6 33/43/6 25/44/6 +f 32/45/6 36/46/6 31/47/6 +f 29/48/6 35/49/6 28/50/6 +f 35/51/4 22/52/4 24/53/4 +f 28/54/5 16/55/5 15/56/5 +f 26/57/2 11/58/2 9/59/2 +f 36/60/5 24/61/5 23/62/5 +f 14/63/4 30/64/4 2/5/4 +f 27/65/3 9/66/3 10/67/3 +f 30/64/4 4/7/4 2/5/4 +f 32/68/3 17/69/3 18/70/3 +f 14/71/3 29/72/3 13/73/3 +f 34/74/3 2/75/3 1/76/3 +f 34/74/3 21/77/3 22/78/3 +f 21/32/2 36/79/2 23/80/2 +f 3/81/2 36/79/2 1/82/2 +f 31/83/2 19/84/2 17/85/2 +f 19/86/5 33/87/5 20/88/5 +f 4/89/5 33/87/5 3/90/5 +f 25/91/5 12/92/5 11/93/5 +f 27/94/4 12/95/4 4/7/4 +f 37/96/1 40/97/1 39/98/1 +f 44/99/6 41/100/6 43/101/6 +f 5/1/1 7/6/1 3/2/1 +f 6/4/1 5/1/1 1/3/1 +f 7/6/1 8/8/1 4/7/1 +f 8/8/1 6/4/1 2/5/1 +f 8/9/2 26/102/2 28/10/2 +f 32/12/3 26/103/3 8/13/3 +f 35/15/4 32/104/4 7/16/4 +f 6/18/5 28/105/5 35/19/5 +f 11/21/6 12/106/6 10/22/6 +f 15/24/6 16/107/6 14/25/6 +f 19/27/6 20/108/6 18/28/6 +f 23/30/6 24/109/6 22/31/6 +f 29/33/2 28/110/2 15/34/2 +f 33/36/4 32/111/4 18/37/4 +f 27/39/6 30/112/6 28/40/6 +f 26/42/6 32/113/6 33/43/6 +f 32/45/6 35/114/6 36/46/6 +f 29/48/6 34/115/6 35/49/6 +f 35/51/4 34/116/4 22/52/4 +f 28/54/5 30/117/5 16/55/5 +f 26/57/2 25/118/2 11/58/2 +f 36/60/5 35/119/5 24/61/5 +f 14/63/4 16/120/4 30/64/4 +f 27/65/3 26/121/3 9/66/3 +f 30/64/4 27/94/4 4/7/4 +f 32/68/3 31/122/3 17/69/3 +f 14/71/3 2/75/3 29/72/3 +f 34/74/3 29/72/3 2/75/3 +f 34/74/3 1/76/3 21/77/3 +f 21/32/2 1/82/2 36/79/2 +f 3/81/2 31/83/2 36/79/2 +f 31/83/2 3/81/2 19/84/2 +f 19/86/5 3/90/5 33/87/5 +f 4/89/5 25/91/5 33/87/5 +f 25/91/5 4/89/5 12/92/5 +f 27/94/4 10/123/4 12/95/4 +f 37/96/1 38/124/1 40/97/1 +f 44/99/6 42/125/6 41/100/6 diff --git a/src/main/resources/assets/hbm/models/weapons/lilmac.obj b/src/main/resources/assets/hbm/models/weapons/lilmac.obj new file mode 100644 index 000000000..1d7d326f6 --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/lilmac.obj @@ -0,0 +1,8226 @@ +# Blender v2.79 (sub 0) OBJ File: 'lilmac.blend' +# www.blender.org +o Pivot +v 0.000000 0.000000 -0.187500 +v 0.000000 0.132583 -0.132583 +v 0.000000 0.187500 0.000000 +v 0.000000 0.132583 0.132582 +v 0.000000 0.000000 0.187500 +v 0.000000 -0.132583 0.132582 +v 0.000000 -0.187500 0.000000 +v 0.000000 -0.132583 -0.132582 +v -0.812500 0.000000 -0.187500 +v -0.812500 0.132583 -0.132583 +v -0.812500 0.187500 0.000000 +v -0.812500 0.132583 0.132582 +v -0.812500 0.000000 0.187500 +v -0.812500 -0.132583 0.132582 +v -0.812500 -0.187500 0.000000 +v -0.812500 -0.132583 -0.132582 +v 0.062500 1.750000 -0.187500 +v 0.062500 1.882583 -0.132582 +v 0.062500 1.937500 0.000000 +v 0.062500 1.882583 0.132583 +v 0.062500 1.750000 0.187500 +v 0.062500 1.617417 0.132583 +v 0.062500 1.562500 0.000000 +v 0.062500 1.617417 -0.132582 +v -1.001000 1.750000 -0.187500 +v -1.001000 1.882583 -0.132582 +v -1.001000 1.937500 0.000000 +v -1.001000 1.882583 0.132583 +v -1.001000 1.750000 0.187500 +v -1.001000 1.617417 0.132583 +v -1.001000 1.562500 0.000000 +v -1.001000 1.617417 -0.132582 +v -1.001000 1.750000 -0.125000 +v -1.001000 1.838388 -0.088388 +v -1.001000 1.875000 0.000000 +v -1.001000 1.838388 0.088389 +v -1.001000 1.750000 0.125000 +v -1.001000 1.661612 0.088389 +v -1.001000 1.625000 0.000000 +v -1.001000 1.661612 -0.088388 +v -2.937500 1.838388 -0.088388 +v -2.937500 1.750000 -0.125000 +v -2.937500 1.875000 0.000000 +v -2.937500 1.838388 0.088388 +v -2.937500 1.750000 0.125000 +v -2.937500 1.661612 0.088388 +v -2.937500 1.625000 0.000000 +v -2.937500 1.661612 -0.088388 +v 0.000000 -0.187500 0.000000 +v 0.000000 -0.187500 0.375000 +v 0.000000 1.937500 0.000000 +v 0.000000 1.937500 0.375000 +v -0.750000 -0.187500 0.000000 +v -0.750000 -0.187500 0.375000 +v -1.000000 1.937500 0.000000 +v -1.000000 1.937500 0.375000 +v 0.000000 1.437500 0.375000 +v -1.000000 1.437500 0.375000 +v 0.000000 0.312500 0.375000 +v -0.750000 0.312500 0.375000 +v 0.000000 0.687500 0.375000 +v -0.750000 0.687500 0.375000 +v 0.000000 1.062500 0.375000 +v -1.000000 1.062500 0.375000 +v -0.750000 0.500000 0.250000 +v 0.000000 0.500000 0.250000 +v 0.000000 1.250000 0.250000 +v -1.000000 1.250000 0.250000 +v -1.000000 1.062500 0.000000 +v -0.750000 0.687500 0.000000 +vt 0.244604 0.431737 +vt 0.248147 0.442105 +vt 0.244604 0.452473 +vt 0.241007 0.378947 +vt 0.244604 0.368421 +vt 0.244604 0.378947 +vt 0.241007 0.357895 +vt 0.244604 0.357895 +vt 0.244604 0.347368 +vt 0.241007 0.431579 +vt 0.244604 0.421053 +vt 0.244604 0.431579 +vt 0.241007 0.421053 +vt 0.244604 0.410526 +vt 0.241007 0.400000 +vt 0.244604 0.400000 +vt 0.241007 0.389474 +vt 0.244604 0.389474 +vt 0.179841 0.368286 +vt 0.176305 0.357849 +vt 0.179872 0.347504 +vt 0.420863 0.568421 +vt 0.399281 0.610526 +vt 0.399281 0.568421 +vt 0.392086 0.747368 +vt 0.420863 0.705263 +vt 0.420863 0.747368 +vt 0.352518 0.747368 +vt 0.381295 0.778947 +vt 0.352518 0.778947 +vt 0.420863 0.626316 +vt 0.399281 0.642105 +vt 0.399281 0.626316 +vt 0.352518 0.536842 +vt 0.374101 0.568421 +vt 0.352518 0.568421 +vt 0.392086 0.689474 +vt 0.420863 0.673684 +vt 0.420863 0.689474 +vt 0.420863 0.642105 +vt 0.392086 0.705263 +vt 0.420863 0.610526 +vt 0.345324 0.689474 +vt 0.345324 0.626316 +vt 0.388489 0.689474 +vt 0.381295 0.747368 +vt 0.388489 0.626316 +vt 0.381295 0.642105 +vt 0.381295 0.568421 +vt 0.392086 0.673684 +vt 0.392086 0.642105 +vt 0.381295 0.673684 +vt 0.242099 0.449437 +vt 0.241061 0.442105 +vt 0.242099 0.434774 +vt 0.247110 0.434774 +vt 0.247110 0.449437 +vt 0.241007 0.368421 +vt 0.241007 0.347368 +vt 0.241007 0.410526 +vt 0.177334 0.365210 +vt 0.177356 0.350515 +vt 0.182378 0.350579 +vt 0.183407 0.357940 +vt 0.182356 0.365274 +vt 0.374101 0.536842 +vt 0.341727 0.747368 +vt 0.341727 0.705263 +vt 0.341727 0.673684 +vt 0.341727 0.642105 +vt 0.341727 0.610526 +vt 0.341727 0.568421 +vt 0.392086 0.568421 +vt 0.392086 0.610526 +vt 0.374101 0.642105 +vt 0.248201 0.442105 +vt 0.273381 0.431579 +vt 0.273381 0.442105 +vt 0.248201 0.463158 +vt 0.273381 0.452632 +vt 0.273381 0.463158 +vt 0.248201 0.484211 +vt 0.273381 0.473684 +vt 0.273381 0.484211 +vt 0.248201 0.515789 +vt 0.273381 0.505263 +vt 0.273381 0.515789 +vt 0.248201 0.452632 +vt 0.248201 0.473684 +vt 0.248201 0.494737 +vt 0.273381 0.494737 +vt 0.248201 0.505263 +vt 0.273381 0.421053 +vt 0.273381 0.431579 +vt 0.273381 0.357895 +vt 0.273381 0.368421 +vt 0.273381 0.378947 +vt 0.273381 0.389474 +vt 0.273381 0.400000 +vt 0.273381 0.410526 +vt 0.273381 0.347368 +vt 0.183453 0.357895 +vt 0.183453 0.378947 +vt 0.183453 0.400000 +vt 0.183453 0.410526 +vt 0.183453 0.347368 +vt 0.183453 0.368421 +vt 0.183453 0.389474 +vt 0.183453 0.421053 +vt 0.248201 0.431579 +vt 0.183453 0.431579 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -0.5547 0.8321 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.5547 0.8321 +vn 1.0000 0.0000 0.0000 +vn -0.8321 -0.5547 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 0.7071 0.7071 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 -0.7071 -0.7071 +s off +f 15/1/1 13/2/1 11/3/1 +f 36/4/1 29/5/1 28/6/1 +f 29/5/1 38/7/1 30/8/1 +f 38/7/1 31/9/1 30/8/1 +f 39/10/1 32/11/1 31/12/1 +f 40/13/1 25/14/1 32/11/1 +f 25/14/1 34/15/1 26/16/1 +f 26/16/1 35/17/1 27/18/1 +f 27/18/1 36/4/1 28/6/1 +f 43/19/1 42/20/1 47/21/1 +f 50/22/2 60/23/2 54/24/2 +f 56/25/2 57/26/2 52/27/2 +f 51/28/3 56/29/3 52/30/3 +f 66/31/4 62/32/4 65/33/4 +f 50/34/5 53/35/5 49/36/5 +f 68/37/6 63/38/6 67/39/6 +f 63/38/2 62/32/2 61/40/2 +f 58/41/4 67/39/4 57/26/4 +f 59/42/6 65/33/6 60/23/6 +f 49/36/7 67/43/7 66/44/7 +f 68/45/1 58/41/1 55/46/1 +f 65/47/1 70/48/1 53/49/1 +f 64/50/8 70/48/8 62/51/8 +f 69/52/9 55/46/9 51/28/9 +f 11/3/1 10/53/1 9/54/1 +f 9/54/1 16/55/1 15/1/1 +f 15/1/1 14/56/1 13/2/1 +f 13/2/1 12/57/1 11/3/1 +f 11/3/1 9/54/1 15/1/1 +f 36/4/1 37/58/1 29/5/1 +f 29/5/1 37/58/1 38/7/1 +f 38/7/1 39/59/1 31/9/1 +f 39/10/1 40/13/1 32/11/1 +f 40/13/1 33/60/1 25/14/1 +f 25/14/1 33/60/1 34/15/1 +f 26/16/1 34/15/1 35/17/1 +f 27/18/1 35/17/1 36/4/1 +f 43/19/1 41/61/1 42/20/1 +f 42/20/1 48/62/1 47/21/1 +f 47/21/1 46/63/1 45/64/1 +f 45/64/1 44/65/1 47/21/1 +f 44/65/1 43/19/1 47/21/1 +f 50/22/2 59/42/2 60/23/2 +f 56/25/2 58/41/2 57/26/2 +f 51/28/3 55/46/3 56/29/3 +f 66/31/4 61/40/4 62/32/4 +f 50/34/5 54/66/5 53/35/5 +f 68/37/6 64/50/6 63/38/6 +f 63/38/2 64/50/2 62/32/2 +f 58/41/4 68/37/4 67/39/4 +f 59/42/6 66/31/6 65/33/6 +f 51/28/7 52/67/7 57/68/7 +f 67/43/7 63/69/7 61/70/7 +f 51/28/7 57/68/7 67/43/7 +f 59/71/7 50/72/7 49/36/7 +f 67/43/7 61/70/7 66/44/7 +f 66/44/7 59/71/7 49/36/7 +f 49/36/7 51/28/7 67/43/7 +f 56/25/1 55/46/1 58/41/1 +f 55/46/1 69/52/1 68/45/1 +f 69/52/1 64/50/1 68/45/1 +f 53/49/1 54/73/1 60/74/1 +f 65/47/1 62/51/1 70/48/1 +f 53/49/1 60/74/1 65/47/1 +f 64/50/8 69/52/8 70/48/8 +f 51/28/9 49/36/9 70/75/9 +f 49/36/9 53/35/9 70/75/9 +f 70/75/9 69/52/9 51/28/9 +s 1 +f 14/76/10 7/77/5 6/78/10 +f 12/79/11 5/80/2 4/81/11 +f 10/82/12 3/83/3 2/84/12 +f 15/85/5 8/86/13 7/87/5 +f 13/88/2 6/78/10 5/80/2 +f 11/89/3 4/81/11 3/83/3 +f 9/90/9 2/84/12 1/91/9 +f 16/92/13 1/91/9 8/86/13 +f 31/12/5 24/93/13 23/94/5 +f 29/5/2 22/95/10 21/96/2 +f 27/18/3 20/97/11 19/98/3 +f 25/14/9 18/99/12 17/100/9 +f 32/11/13 17/100/9 24/93/13 +f 30/8/10 23/101/5 22/95/10 +f 28/6/11 21/96/2 20/97/11 +f 26/16/12 19/98/3 18/99/12 +f 37/58/2 46/102/10 38/7/10 +f 35/17/3 44/103/11 36/4/11 +f 33/60/9 41/104/12 34/15/12 +f 40/13/13 42/105/9 33/60/9 +f 38/7/10 47/106/5 39/59/5 +f 36/4/11 45/107/2 37/58/2 +f 34/15/12 43/108/3 35/17/3 +f 39/10/5 48/109/13 40/13/13 +f 14/76/10 15/110/5 7/77/5 +f 12/79/11 13/88/2 5/80/2 +f 10/82/12 11/89/3 3/83/3 +f 15/85/5 16/92/13 8/86/13 +f 13/88/2 14/76/10 6/78/10 +f 11/89/3 12/79/11 4/81/11 +f 9/90/9 10/82/12 2/84/12 +f 16/92/13 9/90/9 1/91/9 +f 31/12/5 32/11/13 24/93/13 +f 29/5/2 30/8/10 22/95/10 +f 27/18/3 28/6/11 20/97/11 +f 25/14/9 26/16/12 18/99/12 +f 32/11/13 25/14/9 17/100/9 +f 30/8/10 31/9/5 23/101/5 +f 28/6/11 29/5/2 21/96/2 +f 26/16/12 27/18/3 19/98/3 +f 37/58/2 45/107/2 46/102/10 +f 35/17/3 43/108/3 44/103/11 +f 33/60/9 42/105/9 41/104/12 +f 40/13/13 48/109/13 42/105/9 +f 38/7/10 46/102/10 47/106/5 +f 36/4/11 44/103/11 45/107/2 +f 34/15/12 41/104/12 43/108/3 +f 39/10/5 47/111/5 48/109/13 +o Casings +v 2.437500 2.500000 -0.328125 +v 2.437500 2.335938 -0.284164 +v 2.437500 2.215835 -0.164062 +v 2.437500 2.171875 0.000000 +v 2.437500 2.215835 0.164062 +v 2.437500 2.335938 0.284164 +v 2.437500 2.500000 0.328125 +v 2.437500 2.664062 0.284164 +v 2.437500 2.784164 0.164062 +v 2.437500 2.828125 0.000000 +v 2.437500 2.784165 -0.164062 +v 2.437500 2.664063 -0.284164 +v 0.500000 2.500000 -0.328125 +v 0.500000 2.335938 -0.284164 +v 0.500000 2.215835 -0.164062 +v 0.500000 2.171875 0.000000 +v 0.500000 2.215835 0.164062 +v 0.500000 2.335938 0.284164 +v 0.500000 2.500000 0.328125 +v 0.500000 2.664062 0.284164 +v 0.500000 2.784164 0.164062 +v 0.500000 2.828125 0.000000 +v 0.500000 2.784165 -0.164062 +v 0.500000 2.664063 -0.284164 +v 2.437500 2.500000 -0.375000 +v 2.437500 2.312500 -0.324759 +v 2.437500 2.175241 -0.187500 +v 2.437500 2.125000 0.000000 +v 2.437500 2.175241 0.187500 +v 2.437500 2.312500 0.324759 +v 2.437500 2.500000 0.375000 +v 2.437500 2.687500 0.324759 +v 2.437500 2.824759 0.187500 +v 2.437500 2.875000 0.000000 +v 2.437500 2.824759 -0.187500 +v 2.437500 2.687500 -0.324759 +v 2.500000 2.687500 -0.324759 +v 2.500000 2.824759 -0.187500 +v 2.500000 2.875000 0.000000 +v 2.500000 2.824759 0.187500 +v 2.500000 2.687500 0.324759 +v 2.500000 2.500000 0.375000 +v 2.500000 2.312500 0.324759 +v 2.500000 2.175241 0.187500 +v 2.500000 2.125000 0.000000 +v 2.500000 2.175241 -0.187500 +v 2.500000 2.312500 -0.324759 +v 2.500000 2.500000 -0.375000 +v 2.500000 2.593750 -0.162380 +v 2.500000 2.500000 -0.187500 +v 2.500000 2.662380 -0.093750 +v 2.500000 2.687500 0.000000 +v 2.500000 2.662380 0.093750 +v 2.500000 2.593750 0.162380 +v 2.500000 2.500000 0.187500 +v 2.500000 2.406250 0.162380 +v 2.500000 2.337620 0.093750 +v 2.500000 2.312500 0.000000 +v 2.500000 2.337620 -0.093750 +v 2.500000 2.406250 -0.162380 +v 2.437500 2.593750 -0.162380 +v 2.437500 2.500000 -0.187500 +v 2.437500 2.662380 -0.093750 +v 2.437500 2.687500 0.000000 +v 2.437500 2.662380 0.093750 +v 2.437500 2.593750 0.162380 +v 2.437500 2.500000 0.187500 +v 2.437500 2.406250 0.162380 +v 2.437500 2.337620 0.093750 +v 2.437500 2.312500 0.000000 +v 2.437500 2.337620 -0.093750 +v 2.437500 2.406250 -0.162380 +v 2.500000 2.582031 -0.142082 +v 2.500000 2.500000 -0.164062 +v 2.500000 2.642082 -0.082031 +v 2.500000 2.664062 0.000000 +v 2.500000 2.642082 0.082031 +v 2.500000 2.582031 0.142082 +v 2.500000 2.500000 0.164062 +v 2.500000 2.417969 0.142082 +v 2.500000 2.357918 0.082031 +v 2.500000 2.335938 0.000000 +v 2.500000 2.357918 -0.082031 +v 2.500000 2.417969 -0.142082 +v 2.500000 2.500000 0.000000 +v 2.437500 1.000000 0.328125 +v 2.437500 1.164062 0.284164 +v 2.437500 1.284165 0.164062 +v 2.437500 1.328125 0.000000 +v 2.437500 1.284165 -0.164062 +v 2.437500 1.164062 -0.284164 +v 2.437500 1.000000 -0.328125 +v 2.437500 0.835938 -0.284164 +v 2.437500 0.715836 -0.164062 +v 2.437500 0.671875 0.000000 +v 2.437500 0.715835 0.164062 +v 2.437500 0.835937 0.284164 +v 0.500000 1.000000 0.328125 +v 0.500000 1.164062 0.284164 +v 0.500000 1.284165 0.164062 +v 0.500000 1.328125 0.000000 +v 0.500000 1.284165 -0.164062 +v 0.500000 1.164062 -0.284164 +v 0.500000 1.000000 -0.328125 +v 0.500000 0.835938 -0.284164 +v 0.500000 0.715836 -0.164062 +v 0.500000 0.671875 0.000000 +v 0.500000 0.715835 0.164062 +v 0.500000 0.835937 0.284164 +v 2.437500 1.000000 0.375000 +v 2.437500 1.187500 0.324759 +v 2.437500 1.324759 0.187500 +v 2.437500 1.375000 0.000000 +v 2.437500 1.324759 -0.187500 +v 2.437500 1.187500 -0.324759 +v 2.437500 1.000000 -0.375000 +v 2.437500 0.812500 -0.324759 +v 2.437500 0.675241 -0.187500 +v 2.437500 0.625000 0.000000 +v 2.437500 0.675241 0.187500 +v 2.437500 0.812500 0.324759 +v 2.500000 0.812500 0.324759 +v 2.500000 0.675241 0.187500 +v 2.500000 0.625000 0.000000 +v 2.500000 0.675241 -0.187500 +v 2.500000 0.812500 -0.324759 +v 2.500000 1.000000 -0.375000 +v 2.500000 1.187500 -0.324759 +v 2.500000 1.324759 -0.187500 +v 2.500000 1.375000 0.000000 +v 2.500000 1.324759 0.187500 +v 2.500000 1.187500 0.324759 +v 2.500000 1.000000 0.375000 +v 2.500000 0.906250 0.162380 +v 2.500000 1.000000 0.187500 +v 2.500000 0.837620 0.093750 +v 2.500000 0.812500 0.000000 +v 2.500000 0.837620 -0.093750 +v 2.500000 0.906250 -0.162380 +v 2.500000 1.000000 -0.187500 +v 2.500000 1.093750 -0.162380 +v 2.500000 1.162380 -0.093750 +v 2.500000 1.187500 0.000000 +v 2.500000 1.162380 0.093750 +v 2.500000 1.093750 0.162380 +v 2.437500 0.906250 0.162380 +v 2.437500 1.000000 0.187500 +v 2.437500 0.837620 0.093750 +v 2.437500 0.812500 0.000000 +v 2.437500 0.837620 -0.093750 +v 2.437500 0.906250 -0.162380 +v 2.437500 1.000000 -0.187500 +v 2.437500 1.093750 -0.162380 +v 2.437500 1.162380 -0.093750 +v 2.437500 1.187500 0.000000 +v 2.437500 1.162380 0.093750 +v 2.437500 1.093750 0.162380 +v 2.500000 0.917969 0.142082 +v 2.500000 1.000000 0.164062 +v 2.500000 0.857918 0.082031 +v 2.500000 0.835938 0.000000 +v 2.500000 0.857918 -0.082031 +v 2.500000 0.917969 -0.142082 +v 2.500000 1.000000 -0.164062 +v 2.500000 1.082031 -0.142082 +v 2.500000 1.142082 -0.082031 +v 2.500000 1.164062 0.000000 +v 2.500000 1.142082 0.082031 +v 2.500000 1.082031 0.142082 +v 2.500000 1.000000 0.000000 +v 2.437500 2.409164 0.485456 +v 2.437500 2.289062 0.365355 +v 2.437500 2.125000 0.321394 +v 2.437500 1.960938 0.365355 +v 2.437500 1.840835 0.485456 +v 2.437500 1.796875 0.649519 +v 2.437500 1.840835 0.813581 +v 2.437500 1.960938 0.933684 +v 2.437500 2.125000 0.977644 +v 2.437500 2.289062 0.933684 +v 2.437500 2.409164 0.813582 +v 2.437500 2.453125 0.649519 +v 0.500000 2.409164 0.485456 +v 0.500000 2.289062 0.365355 +v 0.500000 2.125000 0.321394 +v 0.500000 1.960938 0.365355 +v 0.500000 1.840835 0.485456 +v 0.500000 1.796875 0.649519 +v 0.500000 1.840835 0.813581 +v 0.500000 1.960938 0.933684 +v 0.500000 2.125000 0.977644 +v 0.500000 2.289062 0.933684 +v 0.500000 2.409164 0.813582 +v 0.500000 2.453125 0.649519 +v 2.437500 2.449759 0.462019 +v 2.437500 2.312500 0.324759 +v 2.437500 2.125000 0.274519 +v 2.437500 1.937500 0.324759 +v 2.437500 1.800241 0.462019 +v 2.437500 1.750000 0.649519 +v 2.437500 1.800240 0.837019 +v 2.437500 1.937500 0.974278 +v 2.437500 2.125000 1.024519 +v 2.437500 2.312500 0.974279 +v 2.437500 2.449759 0.837019 +v 2.437500 2.500000 0.649519 +v 2.500000 2.500000 0.649519 +v 2.500000 2.449759 0.837019 +v 2.500000 2.312500 0.974279 +v 2.500000 2.125000 1.024519 +v 2.500000 1.937500 0.974278 +v 2.500000 1.800240 0.837019 +v 2.500000 1.750000 0.649519 +v 2.500000 1.800241 0.462019 +v 2.500000 1.937500 0.324759 +v 2.500000 2.125000 0.274519 +v 2.500000 2.312500 0.324759 +v 2.500000 2.449759 0.462019 +v 2.500000 2.312500 0.649519 +v 2.500000 2.287380 0.555769 +v 2.500000 2.287380 0.743269 +v 2.500000 2.218750 0.811899 +v 2.500000 2.125000 0.837019 +v 2.500000 2.031250 0.811899 +v 2.500000 1.962620 0.743269 +v 2.500000 1.937500 0.649519 +v 2.500000 1.962620 0.555769 +v 2.500000 2.031250 0.487139 +v 2.500000 2.125000 0.462019 +v 2.500000 2.218750 0.487139 +v 2.437500 2.312500 0.649519 +v 2.437500 2.287380 0.555769 +v 2.437500 2.287380 0.743269 +v 2.437500 2.218750 0.811899 +v 2.437500 2.125000 0.837019 +v 2.437500 2.031250 0.811899 +v 2.437500 1.962620 0.743269 +v 2.437500 1.937500 0.649519 +v 2.437500 1.962620 0.555769 +v 2.437500 2.031250 0.487139 +v 2.437500 2.125000 0.462019 +v 2.437500 2.218750 0.487139 +v 2.500000 2.289062 0.649519 +v 2.500000 2.267082 0.567488 +v 2.500000 2.267082 0.731550 +v 2.500000 2.207031 0.791601 +v 2.500000 2.125000 0.813581 +v 2.500000 2.042969 0.791601 +v 2.500000 1.982918 0.731550 +v 2.500000 1.960938 0.649519 +v 2.500000 1.982918 0.567488 +v 2.500000 2.042969 0.507437 +v 2.500000 2.125000 0.485457 +v 2.500000 2.207031 0.507437 +v 2.500000 2.125000 0.649519 +v 2.437500 1.090835 -0.485456 +v 2.437500 1.210938 -0.365355 +v 2.437500 1.375000 -0.321394 +v 2.437500 1.539062 -0.365355 +v 2.437500 1.659165 -0.485456 +v 2.437500 1.703125 -0.649519 +v 2.437500 1.659165 -0.813581 +v 2.437500 1.539062 -0.933684 +v 2.437500 1.375000 -0.977644 +v 2.437500 1.210938 -0.933684 +v 2.437500 1.090835 -0.813582 +v 2.437500 1.046875 -0.649519 +v 0.500000 1.090835 -0.485456 +v 0.500000 1.210938 -0.365355 +v 0.500000 1.375000 -0.321394 +v 0.500000 1.539062 -0.365355 +v 0.500000 1.659165 -0.485456 +v 0.500000 1.703125 -0.649519 +v 0.500000 1.659165 -0.813581 +v 0.500000 1.539062 -0.933684 +v 0.500000 1.375000 -0.977644 +v 0.500000 1.210938 -0.933684 +v 0.500000 1.090835 -0.813582 +v 0.500000 1.046875 -0.649519 +v 2.437500 1.050241 -0.462019 +v 2.437500 1.187500 -0.324759 +v 2.437500 1.375000 -0.274519 +v 2.437500 1.562500 -0.324759 +v 2.437500 1.699759 -0.462019 +v 2.437500 1.750000 -0.649519 +v 2.437500 1.699760 -0.837019 +v 2.437500 1.562500 -0.974278 +v 2.437500 1.375000 -1.024519 +v 2.437500 1.187500 -0.974279 +v 2.437500 1.050241 -0.837019 +v 2.437500 1.000000 -0.649519 +v 2.500000 1.000000 -0.649519 +v 2.500000 1.050241 -0.837019 +v 2.500000 1.187500 -0.974279 +v 2.500000 1.375000 -1.024519 +v 2.500000 1.562500 -0.974278 +v 2.500000 1.699760 -0.837019 +v 2.500000 1.750000 -0.649519 +v 2.500000 1.699759 -0.462019 +v 2.500000 1.562500 -0.324759 +v 2.500000 1.375000 -0.274519 +v 2.500000 1.187500 -0.324759 +v 2.500000 1.050241 -0.462019 +v 2.500000 1.187500 -0.649519 +v 2.500000 1.212620 -0.555769 +v 2.500000 1.212620 -0.743269 +v 2.500000 1.281250 -0.811899 +v 2.500000 1.375000 -0.837019 +v 2.500000 1.468750 -0.811899 +v 2.500000 1.537380 -0.743269 +v 2.500000 1.562500 -0.649519 +v 2.500000 1.537380 -0.555769 +v 2.500000 1.468750 -0.487139 +v 2.500000 1.375000 -0.462019 +v 2.500000 1.281250 -0.487139 +v 2.437500 1.187500 -0.649519 +v 2.437500 1.212620 -0.555769 +v 2.437500 1.212620 -0.743269 +v 2.437500 1.281250 -0.811899 +v 2.437500 1.375000 -0.837019 +v 2.437500 1.468750 -0.811899 +v 2.437500 1.537380 -0.743269 +v 2.437500 1.562500 -0.649519 +v 2.437500 1.537380 -0.555769 +v 2.437500 1.468750 -0.487139 +v 2.437500 1.375000 -0.462019 +v 2.437500 1.281250 -0.487139 +v 2.500000 1.210938 -0.649519 +v 2.500000 1.232918 -0.567488 +v 2.500000 1.232918 -0.731550 +v 2.500000 1.292969 -0.791601 +v 2.500000 1.375000 -0.813581 +v 2.500000 1.457031 -0.791601 +v 2.500000 1.517082 -0.731550 +v 2.500000 1.539062 -0.649519 +v 2.500000 1.517082 -0.567488 +v 2.500000 1.457031 -0.507437 +v 2.500000 1.375000 -0.485457 +v 2.500000 1.292969 -0.507437 +v 2.500000 1.375000 -0.649519 +v 2.437500 1.659165 0.813581 +v 2.437500 1.703125 0.649519 +v 2.437500 1.659165 0.485456 +v 2.437500 1.539062 0.365355 +v 2.437500 1.375000 0.321394 +v 2.437500 1.210938 0.365355 +v 2.437500 1.090835 0.485456 +v 2.437500 1.046875 0.649519 +v 2.437500 1.090835 0.813581 +v 2.437500 1.210937 0.933684 +v 2.437500 1.375000 0.977644 +v 2.437500 1.539062 0.933684 +v 0.500000 1.659165 0.813581 +v 0.500000 1.703125 0.649519 +v 0.500000 1.659165 0.485456 +v 0.500000 1.539062 0.365355 +v 0.500000 1.375000 0.321394 +v 0.500000 1.210938 0.365355 +v 0.500000 1.090835 0.485456 +v 0.500000 1.046875 0.649519 +v 0.500000 1.090835 0.813581 +v 0.500000 1.210937 0.933684 +v 0.500000 1.375000 0.977644 +v 0.500000 1.539062 0.933684 +v 2.437500 1.699759 0.837019 +v 2.437500 1.750000 0.649519 +v 2.437500 1.699759 0.462019 +v 2.437500 1.562500 0.324759 +v 2.437500 1.375000 0.274519 +v 2.437500 1.187500 0.324759 +v 2.437500 1.050241 0.462019 +v 2.437500 1.000000 0.649519 +v 2.437500 1.050241 0.837019 +v 2.437500 1.187500 0.974279 +v 2.437500 1.375000 1.024519 +v 2.437500 1.562500 0.974279 +v 2.500000 1.562500 0.974279 +v 2.500000 1.375000 1.024519 +v 2.500000 1.187500 0.974279 +v 2.500000 1.050241 0.837019 +v 2.500000 1.000000 0.649519 +v 2.500000 1.050241 0.462019 +v 2.500000 1.187500 0.324759 +v 2.500000 1.375000 0.274519 +v 2.500000 1.562500 0.324759 +v 2.500000 1.699759 0.462019 +v 2.500000 1.750000 0.649519 +v 2.500000 1.699759 0.837019 +v 2.500000 1.468750 0.811899 +v 2.500000 1.537380 0.743269 +v 2.500000 1.375000 0.837019 +v 2.500000 1.281250 0.811899 +v 2.500000 1.212620 0.743269 +v 2.500000 1.187500 0.649519 +v 2.500000 1.212620 0.555769 +v 2.500000 1.281250 0.487139 +v 2.500000 1.375000 0.462019 +v 2.500000 1.468750 0.487139 +v 2.500000 1.537380 0.555769 +v 2.500000 1.562500 0.649519 +v 2.437500 1.468750 0.811899 +v 2.437500 1.537380 0.743269 +v 2.437500 1.375000 0.837019 +v 2.437500 1.281250 0.811899 +v 2.437500 1.212620 0.743269 +v 2.437500 1.187500 0.649519 +v 2.437500 1.212620 0.555769 +v 2.437500 1.281250 0.487139 +v 2.437500 1.375000 0.462019 +v 2.437500 1.468750 0.487139 +v 2.437500 1.537380 0.555769 +v 2.437500 1.562500 0.649519 +v 2.500000 1.457031 0.791601 +v 2.500000 1.517082 0.731550 +v 2.500000 1.375000 0.813581 +v 2.500000 1.292969 0.791601 +v 2.500000 1.232918 0.731550 +v 2.500000 1.210937 0.649519 +v 2.500000 1.232918 0.567488 +v 2.500000 1.292969 0.507437 +v 2.500000 1.375000 0.485456 +v 2.500000 1.457031 0.507437 +v 2.500000 1.517082 0.567488 +v 2.500000 1.539062 0.649519 +v 2.500000 1.375000 0.649519 +v 2.437500 1.840835 -0.813581 +v 2.437500 1.796875 -0.649519 +v 2.437500 1.840835 -0.485456 +v 2.437500 1.960938 -0.365355 +v 2.437500 2.125000 -0.321394 +v 2.437500 2.289062 -0.365355 +v 2.437500 2.409165 -0.485456 +v 2.437500 2.453125 -0.649519 +v 2.437500 2.409165 -0.813581 +v 2.437500 2.289062 -0.933684 +v 2.437500 2.125000 -0.977644 +v 2.437500 1.960938 -0.933684 +v 0.500000 1.840835 -0.813581 +v 0.500000 1.796875 -0.649519 +v 0.500000 1.840835 -0.485456 +v 0.500000 1.960938 -0.365355 +v 0.500000 2.125000 -0.321394 +v 0.500000 2.289062 -0.365355 +v 0.500000 2.409165 -0.485456 +v 0.500000 2.453125 -0.649519 +v 0.500000 2.409165 -0.813581 +v 0.500000 2.289062 -0.933684 +v 0.500000 2.125000 -0.977644 +v 0.500000 1.960938 -0.933684 +v 2.437500 1.800241 -0.837019 +v 2.437500 1.750000 -0.649519 +v 2.437500 1.800241 -0.462019 +v 2.437500 1.937500 -0.324759 +v 2.437500 2.125000 -0.274519 +v 2.437500 2.312500 -0.324759 +v 2.437500 2.449759 -0.462019 +v 2.437500 2.500000 -0.649519 +v 2.437500 2.449760 -0.837019 +v 2.437500 2.312500 -0.974279 +v 2.437500 2.125000 -1.024519 +v 2.437500 1.937500 -0.974279 +v 2.500000 1.937500 -0.974279 +v 2.500000 2.125000 -1.024519 +v 2.500000 2.312500 -0.974279 +v 2.500000 2.449760 -0.837019 +v 2.500000 2.500000 -0.649519 +v 2.500000 2.449759 -0.462019 +v 2.500000 2.312500 -0.324759 +v 2.500000 2.125000 -0.274519 +v 2.500000 1.937500 -0.324759 +v 2.500000 1.800241 -0.462019 +v 2.500000 1.750000 -0.649519 +v 2.500000 1.800241 -0.837019 +v 2.500000 2.031250 -0.811899 +v 2.500000 1.962620 -0.743269 +v 2.500000 2.125000 -0.837019 +v 2.500000 2.218750 -0.811899 +v 2.500000 2.287380 -0.743269 +v 2.500000 2.312500 -0.649519 +v 2.500000 2.287380 -0.555769 +v 2.500000 2.218750 -0.487139 +v 2.500000 2.125000 -0.462019 +v 2.500000 2.031250 -0.487139 +v 2.500000 1.962620 -0.555769 +v 2.500000 1.937500 -0.649519 +v 2.437500 2.031250 -0.811899 +v 2.437500 1.962620 -0.743269 +v 2.437500 2.125000 -0.837019 +v 2.437500 2.218750 -0.811899 +v 2.437500 2.287380 -0.743269 +v 2.437500 2.312500 -0.649519 +v 2.437500 2.287380 -0.555769 +v 2.437500 2.218750 -0.487139 +v 2.437500 2.125000 -0.462019 +v 2.437500 2.031250 -0.487139 +v 2.437500 1.962620 -0.555769 +v 2.437500 1.937500 -0.649519 +v 2.500000 2.042969 -0.791601 +v 2.500000 1.982918 -0.731550 +v 2.500000 2.125000 -0.813581 +v 2.500000 2.207031 -0.791601 +v 2.500000 2.267082 -0.731550 +v 2.500000 2.289062 -0.649519 +v 2.500000 2.267082 -0.567488 +v 2.500000 2.207031 -0.507437 +v 2.500000 2.125000 -0.485456 +v 2.500000 2.042969 -0.507437 +v 2.500000 1.982918 -0.567488 +v 2.500000 1.960938 -0.649519 +v 2.500000 2.125000 -0.649519 +vt 0.043165 0.547368 +vt 0.053957 0.536842 +vt 0.053957 0.547368 +vt 0.064748 0.547368 +vt 0.064748 0.536842 +vt 0.075540 0.547368 +vt 0.075540 0.536842 +vt 0.086331 0.547368 +vt 0.086331 0.536842 +vt 0.097122 0.547368 +vt 0.097122 0.536842 +vt 0.107914 0.536842 +vt 0.107914 0.547368 +vt 0.118705 0.536842 +vt 0.118705 0.547368 +vt 0.129496 0.536842 +vt 0.129496 0.547368 +vt 0.010791 0.547368 +vt 0.000000 0.536842 +vt 0.010791 0.536842 +vt 0.021583 0.547368 +vt 0.021583 0.536842 +vt 0.032374 0.547368 +vt 0.032374 0.536842 +vt 0.043165 0.536842 +vt -0.000000 0.526316 +vt 0.007194 0.494737 +vt 0.010791 0.526316 +vt 0.032374 0.526316 +vt 0.039568 0.494737 +vt 0.043165 0.526316 +vt 0.064748 0.526316 +vt 0.071942 0.494737 +vt 0.075540 0.526316 +vt 0.118705 0.526316 +vt 0.125899 0.494737 +vt 0.129496 0.526316 +vt 0.021583 0.526316 +vt 0.028777 0.494737 +vt 0.053957 0.526316 +vt 0.061151 0.494737 +vt 0.107914 0.526316 +vt 0.115108 0.494737 +vt 0.097122 0.526316 +vt 0.086331 0.494737 +vt 0.093525 0.494737 +vt 0.017986 0.494737 +vt 0.050360 0.494737 +vt 0.104317 0.494737 +vt 0.086331 0.526316 +vt 0.075540 0.494737 +vt 0.082734 0.494737 +vt 0.082734 0.473684 +vt 0.079137 0.473684 +vt 0.082734 0.442105 +vt 0.071942 0.473684 +vt 0.068345 0.473684 +vt 0.071942 0.442105 +vt 0.061151 0.473684 +vt 0.057554 0.473684 +vt 0.061151 0.442105 +vt 0.050360 0.473684 +vt 0.046763 0.473684 +vt 0.050360 0.442105 +vt 0.039568 0.473684 +vt 0.035971 0.473684 +vt 0.039568 0.442105 +vt 0.028777 0.473684 +vt 0.025180 0.473684 +vt 0.028777 0.442105 +vt 0.017986 0.473684 +vt 0.014388 0.473684 +vt 0.017986 0.442105 +vt 0.007194 0.473684 +vt 0.003597 0.473684 +vt 0.007194 0.442105 +vt 0.125899 0.473684 +vt 0.122302 0.473684 +vt 0.125899 0.442105 +vt 0.115108 0.473684 +vt 0.111511 0.473684 +vt 0.115108 0.442105 +vt 0.104317 0.473684 +vt 0.100719 0.473684 +vt 0.104317 0.442105 +vt 0.093525 0.473684 +vt 0.089928 0.473684 +vt 0.093525 0.442105 +vt 0.043165 0.547368 +vt 0.053957 0.536842 +vt 0.053957 0.547368 +vt 0.064748 0.547368 +vt 0.064748 0.536842 +vt 0.075540 0.547368 +vt 0.075540 0.536842 +vt 0.086331 0.547368 +vt 0.086331 0.536842 +vt 0.097122 0.547368 +vt 0.097122 0.536842 +vt 0.107914 0.536842 +vt 0.107914 0.547368 +vt 0.118705 0.536842 +vt 0.118705 0.547368 +vt 0.129496 0.536842 +vt 0.129496 0.547368 +vt 0.010791 0.547368 +vt 0.000000 0.536842 +vt 0.010791 0.536842 +vt 0.021583 0.547368 +vt 0.021583 0.536842 +vt 0.032374 0.547368 +vt 0.032374 0.536842 +vt 0.043165 0.536842 +vt -0.000000 0.526316 +vt 0.007194 0.494737 +vt 0.010791 0.526316 +vt 0.032374 0.526316 +vt 0.039568 0.494737 +vt 0.043165 0.526316 +vt 0.064748 0.526316 +vt 0.071942 0.494737 +vt 0.075540 0.526316 +vt 0.118705 0.526316 +vt 0.125899 0.494737 +vt 0.129496 0.526316 +vt 0.021583 0.526316 +vt 0.028777 0.494737 +vt 0.053957 0.526316 +vt 0.061151 0.494737 +vt 0.107914 0.526316 +vt 0.115108 0.494737 +vt 0.097122 0.526316 +vt 0.086331 0.494737 +vt 0.093525 0.494737 +vt 0.017986 0.494737 +vt 0.050360 0.494737 +vt 0.104317 0.494737 +vt 0.086331 0.526316 +vt 0.075540 0.494737 +vt 0.082734 0.494737 +vt 0.082734 0.473684 +vt 0.079137 0.473684 +vt 0.082734 0.442105 +vt 0.071942 0.473684 +vt 0.068345 0.473684 +vt 0.071942 0.442105 +vt 0.061151 0.473684 +vt 0.057554 0.473684 +vt 0.061151 0.442105 +vt 0.050360 0.473684 +vt 0.046763 0.473684 +vt 0.050360 0.442105 +vt 0.039568 0.473684 +vt 0.035971 0.473684 +vt 0.039568 0.442105 +vt 0.028777 0.473684 +vt 0.025180 0.473684 +vt 0.028777 0.442105 +vt 0.017986 0.473684 +vt 0.014388 0.473684 +vt 0.017986 0.442105 +vt 0.007194 0.473684 +vt 0.003597 0.473684 +vt 0.007194 0.442105 +vt 0.125899 0.473684 +vt 0.122302 0.473684 +vt 0.125899 0.442105 +vt 0.115108 0.473684 +vt 0.111511 0.473684 +vt 0.115108 0.442105 +vt 0.104317 0.473684 +vt 0.100719 0.473684 +vt 0.104317 0.442105 +vt 0.093525 0.473684 +vt 0.089928 0.473684 +vt 0.093525 0.442105 +vt 0.053957 0.547368 +vt 0.043165 0.536842 +vt 0.053957 0.536842 +vt 0.064748 0.547368 +vt 0.064748 0.536842 +vt 0.075540 0.547368 +vt 0.075540 0.536842 +vt 0.086331 0.547368 +vt 0.086331 0.536842 +vt 0.097122 0.536842 +vt 0.097122 0.547368 +vt 0.107914 0.536842 +vt 0.107914 0.547368 +vt 0.118705 0.547368 +vt 0.118705 0.536842 +vt 0.129496 0.536842 +vt 0.129496 0.547368 +vt 0.010791 0.547368 +vt 0.000000 0.536842 +vt 0.010791 0.536842 +vt 0.021583 0.547368 +vt 0.021583 0.536842 +vt 0.032374 0.547368 +vt 0.032374 0.536842 +vt 0.043165 0.547368 +vt -0.000000 0.526316 +vt 0.007194 0.494737 +vt 0.010791 0.526316 +vt 0.043165 0.526316 +vt 0.032374 0.494737 +vt 0.039568 0.494737 +vt 0.075540 0.526316 +vt 0.064748 0.494737 +vt 0.071942 0.494737 +vt 0.129496 0.526316 +vt 0.118705 0.494737 +vt 0.125899 0.494737 +vt 0.021583 0.526316 +vt 0.028777 0.494737 +vt 0.032374 0.526316 +vt 0.053957 0.526316 +vt 0.061151 0.494737 +vt 0.064748 0.526316 +vt 0.118705 0.526316 +vt 0.107914 0.494737 +vt 0.115108 0.494737 +vt 0.097122 0.526316 +vt 0.086331 0.494737 +vt 0.093525 0.494737 +vt 0.017986 0.494737 +vt 0.050360 0.494737 +vt 0.104317 0.494737 +vt 0.107914 0.526316 +vt 0.086331 0.526316 +vt 0.075540 0.494737 +vt 0.082734 0.494737 +vt 0.082734 0.473684 +vt 0.079137 0.473684 +vt 0.082734 0.442105 +vt 0.071942 0.473684 +vt 0.068345 0.473684 +vt 0.071942 0.442105 +vt 0.061151 0.473684 +vt 0.057554 0.473684 +vt 0.061151 0.442105 +vt 0.050360 0.473684 +vt 0.046763 0.473684 +vt 0.050360 0.442105 +vt 0.039568 0.473684 +vt 0.035971 0.473684 +vt 0.039568 0.442105 +vt 0.028777 0.473684 +vt 0.025180 0.473684 +vt 0.028777 0.442105 +vt 0.017986 0.473684 +vt 0.014388 0.473684 +vt 0.017986 0.442105 +vt 0.007194 0.473684 +vt 0.003597 0.473684 +vt 0.007194 0.442105 +vt 0.125899 0.473684 +vt 0.122302 0.473684 +vt 0.125899 0.442105 +vt 0.115108 0.473684 +vt 0.111511 0.473684 +vt 0.115108 0.442105 +vt 0.104317 0.473684 +vt 0.100719 0.473684 +vt 0.104317 0.442105 +vt 0.093525 0.473684 +vt 0.089928 0.473684 +vt 0.093525 0.442105 +vt 0.043165 0.547368 +vt 0.053957 0.536842 +vt 0.053957 0.547368 +vt 0.064748 0.547368 +vt 0.064748 0.536842 +vt 0.075540 0.547368 +vt 0.075540 0.536842 +vt 0.086331 0.547368 +vt 0.086331 0.536842 +vt 0.097122 0.536842 +vt 0.097122 0.547368 +vt 0.107914 0.536842 +vt 0.107914 0.547368 +vt 0.118705 0.536842 +vt 0.118705 0.547368 +vt 0.129496 0.536842 +vt 0.129496 0.547368 +vt 0.010791 0.547368 +vt 0.000000 0.536842 +vt 0.010791 0.536842 +vt 0.021583 0.547368 +vt 0.021583 0.536842 +vt 0.032374 0.547368 +vt 0.032374 0.536842 +vt 0.043165 0.536842 +vt -0.000000 0.526316 +vt 0.007194 0.494737 +vt 0.010791 0.526316 +vt 0.043165 0.526316 +vt 0.032374 0.494737 +vt 0.039568 0.494737 +vt 0.075540 0.526316 +vt 0.064748 0.494737 +vt 0.071942 0.494737 +vt 0.118705 0.526316 +vt 0.125899 0.494737 +vt 0.129496 0.526316 +vt 0.021583 0.526316 +vt 0.028777 0.494737 +vt 0.032374 0.526316 +vt 0.064748 0.526316 +vt 0.053957 0.494737 +vt 0.061151 0.494737 +vt 0.107914 0.494737 +vt 0.115108 0.494737 +vt 0.097122 0.526316 +vt 0.086331 0.494737 +vt 0.093525 0.494737 +vt 0.017986 0.494737 +vt 0.050360 0.494737 +vt 0.053957 0.526316 +vt 0.104317 0.494737 +vt 0.107914 0.526316 +vt 0.086331 0.526316 +vt 0.075540 0.494737 +vt 0.082734 0.494737 +vt 0.082734 0.473684 +vt 0.079137 0.473684 +vt 0.082734 0.442105 +vt 0.071942 0.473684 +vt 0.068345 0.473684 +vt 0.071942 0.442105 +vt 0.061151 0.473684 +vt 0.057554 0.473684 +vt 0.061151 0.442105 +vt 0.050360 0.473684 +vt 0.046763 0.473684 +vt 0.050360 0.442105 +vt 0.039568 0.473684 +vt 0.035971 0.473684 +vt 0.039568 0.442105 +vt 0.028777 0.473684 +vt 0.025180 0.473684 +vt 0.028777 0.442105 +vt 0.017986 0.473684 +vt 0.014388 0.473684 +vt 0.017986 0.442105 +vt 0.007194 0.473684 +vt 0.003597 0.473684 +vt 0.007194 0.442105 +vt 0.125899 0.473684 +vt 0.122302 0.473684 +vt 0.125899 0.442105 +vt 0.115108 0.473684 +vt 0.111511 0.473684 +vt 0.115108 0.442105 +vt 0.104317 0.473684 +vt 0.100719 0.473684 +vt 0.104317 0.442105 +vt 0.093525 0.473684 +vt 0.089928 0.473684 +vt 0.093525 0.442105 +vt 0.043165 0.547368 +vt 0.053957 0.536842 +vt 0.053957 0.547368 +vt 0.064748 0.547368 +vt 0.064748 0.536842 +vt 0.075540 0.547368 +vt 0.075540 0.536842 +vt 0.086331 0.547368 +vt 0.086331 0.536842 +vt 0.097122 0.536842 +vt 0.097122 0.547368 +vt 0.107914 0.536842 +vt 0.107914 0.547368 +vt 0.118705 0.536842 +vt 0.118705 0.547368 +vt 0.129496 0.536842 +vt 0.129496 0.547368 +vt 0.010791 0.547368 +vt 0.000000 0.536842 +vt 0.010791 0.536842 +vt 0.021583 0.547368 +vt 0.021583 0.536842 +vt 0.032374 0.547368 +vt 0.032374 0.536842 +vt 0.043165 0.536842 +vt 0.010791 0.526316 +vt 0.000000 0.494737 +vt 0.007194 0.494737 +vt 0.032374 0.526316 +vt 0.039568 0.494737 +vt 0.043165 0.526316 +vt 0.075540 0.526316 +vt 0.064748 0.494737 +vt 0.071942 0.494737 +vt 0.118705 0.526316 +vt 0.125899 0.494737 +vt 0.129496 0.526316 +vt 0.021583 0.526316 +vt 0.028777 0.494737 +vt 0.053957 0.526316 +vt 0.061151 0.494737 +vt 0.064748 0.526316 +vt 0.107914 0.494737 +vt 0.115108 0.494737 +vt 0.097122 0.526316 +vt 0.086331 0.494737 +vt 0.093525 0.494737 +vt 0.017986 0.494737 +vt 0.050360 0.494737 +vt 0.104317 0.494737 +vt 0.107914 0.526316 +vt 0.086331 0.526316 +vt 0.075540 0.494737 +vt 0.082734 0.494737 +vt 0.082734 0.473684 +vt 0.079137 0.473684 +vt 0.082734 0.442105 +vt 0.071942 0.473684 +vt 0.068345 0.473684 +vt 0.071942 0.442105 +vt 0.061151 0.473684 +vt 0.057554 0.473684 +vt 0.061151 0.442105 +vt 0.050360 0.473684 +vt 0.046763 0.473684 +vt 0.050360 0.442105 +vt 0.039568 0.473684 +vt 0.035971 0.473684 +vt 0.039568 0.442105 +vt 0.028777 0.473684 +vt 0.025180 0.473684 +vt 0.028777 0.442105 +vt 0.017986 0.473684 +vt 0.014388 0.473684 +vt 0.017986 0.442105 +vt 0.007194 0.473684 +vt 0.003597 0.473684 +vt 0.007194 0.442105 +vt 0.125899 0.473684 +vt 0.122302 0.473684 +vt 0.125899 0.442105 +vt 0.115108 0.473684 +vt 0.111511 0.473684 +vt 0.115108 0.442105 +vt 0.104317 0.473684 +vt 0.100719 0.473684 +vt 0.104317 0.442105 +vt 0.093525 0.473684 +vt 0.089928 0.473684 +vt 0.093525 0.442105 +vt 0.043165 0.547368 +vt 0.053957 0.536842 +vt 0.053957 0.547368 +vt 0.064748 0.536842 +vt 0.064748 0.547368 +vt 0.075540 0.547368 +vt 0.075540 0.536842 +vt 0.086331 0.547368 +vt 0.086331 0.536842 +vt 0.097122 0.536842 +vt 0.097122 0.547368 +vt 0.107914 0.536842 +vt 0.107914 0.547368 +vt 0.118705 0.536842 +vt 0.118705 0.547368 +vt 0.129496 0.536842 +vt 0.129496 0.547368 +vt 0.000000 0.547368 +vt 0.010791 0.536842 +vt 0.010791 0.547368 +vt 0.021583 0.536842 +vt 0.021583 0.547368 +vt 0.032374 0.536842 +vt 0.032374 0.547368 +vt 0.043165 0.536842 +vt -0.000000 0.526316 +vt 0.007194 0.494737 +vt 0.010791 0.526316 +vt 0.032374 0.526316 +vt 0.039568 0.494737 +vt 0.043165 0.526316 +vt 0.064748 0.526316 +vt 0.071942 0.494737 +vt 0.075540 0.526316 +vt 0.118705 0.526316 +vt 0.125899 0.494737 +vt 0.129496 0.526316 +vt 0.021583 0.526316 +vt 0.028777 0.494737 +vt 0.053957 0.526316 +vt 0.061151 0.494737 +vt 0.107914 0.494737 +vt 0.115108 0.494737 +vt 0.097122 0.526316 +vt 0.086331 0.494737 +vt 0.093525 0.494737 +vt 0.017986 0.494737 +vt 0.050360 0.494737 +vt 0.104317 0.494737 +vt 0.107914 0.526316 +vt 0.086331 0.526316 +vt 0.075540 0.494737 +vt 0.082734 0.494737 +vt 0.082734 0.473684 +vt 0.079137 0.473684 +vt 0.082734 0.442105 +vt 0.071942 0.473684 +vt 0.068345 0.473684 +vt 0.071942 0.442105 +vt 0.061151 0.473684 +vt 0.057554 0.473684 +vt 0.061151 0.442105 +vt 0.050360 0.473684 +vt 0.046763 0.473684 +vt 0.050360 0.442105 +vt 0.039568 0.473684 +vt 0.035971 0.473684 +vt 0.039568 0.442105 +vt 0.028777 0.473684 +vt 0.025180 0.473684 +vt 0.028777 0.442105 +vt 0.017986 0.473684 +vt 0.014388 0.473684 +vt 0.017986 0.442105 +vt 0.007194 0.473684 +vt 0.003597 0.473684 +vt 0.007194 0.442105 +vt 0.125899 0.473684 +vt 0.122302 0.473684 +vt 0.125899 0.442105 +vt 0.115108 0.473684 +vt 0.111511 0.473684 +vt 0.115108 0.442105 +vt 0.104317 0.473684 +vt 0.100719 0.473684 +vt 0.104317 0.442105 +vt 0.093525 0.473684 +vt 0.089928 0.473684 +vt 0.093525 0.442105 +vt 0.000000 0.547368 +vt 0.000000 0.494737 +vt 0.032374 0.494737 +vt 0.064748 0.494737 +vt 0.118705 0.494737 +vt 0.021583 0.494737 +vt 0.053957 0.494737 +vt 0.107914 0.494737 +vt 0.010791 0.494737 +vt 0.043165 0.494737 +vt 0.097122 0.494737 +vt 0.000000 0.547368 +vt 0.000000 0.494737 +vt 0.032374 0.494737 +vt 0.064748 0.494737 +vt 0.118705 0.494737 +vt 0.021583 0.494737 +vt 0.053957 0.494737 +vt 0.107914 0.494737 +vt 0.010791 0.494737 +vt 0.043165 0.494737 +vt 0.097122 0.494737 +vt 0.000000 0.547368 +vt 0.000000 0.494737 +vt 0.021583 0.494737 +vt 0.053957 0.494737 +vt 0.010791 0.494737 +vt 0.043165 0.494737 +vt 0.097122 0.494737 +vt 0.000000 0.547368 +vt 0.000000 0.494737 +vt 0.118705 0.494737 +vt 0.021583 0.494737 +vt 0.010791 0.494737 +vt 0.043165 0.494737 +vt 0.097122 0.494737 +vt 0.000000 0.547368 +vt -0.000000 0.526316 +vt 0.032374 0.494737 +vt 0.118705 0.494737 +vt 0.021583 0.494737 +vt 0.053957 0.494737 +vt 0.010791 0.494737 +vt 0.043165 0.494737 +vt 0.097122 0.494737 +vt 0.000000 0.536842 +vt 0.000000 0.494737 +vt 0.032374 0.494737 +vt 0.064748 0.494737 +vt 0.118705 0.494737 +vt 0.021583 0.494737 +vt 0.053957 0.494737 +vt 0.010791 0.494737 +vt 0.043165 0.494737 +vt 0.097122 0.494737 +vt 0.043165 0.873684 +vt 0.010791 0.873684 +vt 0.086331 0.873684 +vt 0.107914 0.873684 +vt 0.053957 0.873684 +vt 0.021583 0.873684 +vt 0.118705 0.873684 +vt 0.064748 0.873684 +vt 0.032374 0.873684 +vt -0.000000 0.873684 +vt 0.075540 0.873684 +vt 0.097122 0.873684 +vt 0.082734 0.484211 +vt 0.097122 0.484211 +vt 0.104317 0.484211 +vt 0.007194 0.484211 +vt 0.039568 0.484211 +vt 0.071942 0.484211 +vt 0.125899 0.484211 +vt 0.028777 0.484211 +vt 0.061151 0.484211 +vt 0.115108 0.484211 +vt 0.093525 0.484211 +vt 0.017986 0.484211 +vt 0.050360 0.484211 +vt 0.075540 0.484211 +vt -0.000000 0.484211 +vt 0.032374 0.484211 +vt 0.064748 0.484211 +vt 0.010791 0.484211 +vt 0.149281 0.810651 +vt 0.166377 0.839536 +vt 0.166377 0.897306 +vt 0.043165 0.873684 +vt 0.010791 0.873684 +vt 0.086331 0.873684 +vt 0.107914 0.873684 +vt 0.053957 0.873684 +vt 0.021583 0.873684 +vt 0.118705 0.873684 +vt 0.064748 0.873684 +vt 0.032374 0.873684 +vt -0.000000 0.873684 +vt 0.075540 0.873684 +vt 0.097122 0.873684 +vt 0.082734 0.484211 +vt 0.104317 0.484211 +vt 0.007194 0.484211 +vt 0.039568 0.484211 +vt 0.071942 0.484211 +vt 0.125899 0.484211 +vt 0.028777 0.484211 +vt 0.061151 0.484211 +vt 0.115108 0.484211 +vt 0.093525 0.484211 +vt 0.017986 0.484211 +vt 0.050360 0.484211 +vt 0.075540 0.484211 +vt 0.064748 0.484211 +vt 0.118705 0.484211 +vt 0.021583 0.484211 +vt 0.086331 0.484211 +vt 0.010791 0.484211 +vt 0.149281 0.810651 +vt 0.166377 0.839536 +vt 0.166377 0.897306 +vt 0.043165 0.873684 +vt 0.010791 0.873684 +vt 0.086331 0.873684 +vt 0.107914 0.873684 +vt 0.053957 0.873684 +vt 0.021583 0.873684 +vt 0.118705 0.873684 +vt 0.064748 0.873684 +vt 0.032374 0.873684 +vt -0.000000 0.873684 +vt 0.075540 0.873684 +vt 0.097122 0.873684 +vt 0.082734 0.484211 +vt 0.097122 0.484211 +vt 0.104317 0.484211 +vt 0.007194 0.484211 +vt 0.039568 0.484211 +vt 0.071942 0.484211 +vt 0.125899 0.484211 +vt 0.028777 0.484211 +vt 0.061151 0.484211 +vt 0.115108 0.484211 +vt 0.093525 0.484211 +vt 0.017986 0.484211 +vt 0.050360 0.484211 +vt 0.075540 0.484211 +vt 0.064748 0.484211 +vt 0.021583 0.484211 +vt 0.053957 0.484211 +vt 0.107914 0.484211 +vt 0.086331 0.484211 +vt 0.149281 0.810651 +vt 0.166377 0.897306 +vt 0.132184 0.897306 +vt 0.043165 0.873684 +vt 0.010791 0.873684 +vt 0.086331 0.873684 +vt 0.107914 0.873684 +vt 0.053957 0.873684 +vt 0.021583 0.873684 +vt 0.118705 0.873684 +vt 0.064748 0.873684 +vt 0.032374 0.873684 +vt -0.000000 0.873684 +vt 0.075540 0.873684 +vt 0.097122 0.873684 +vt 0.082734 0.484211 +vt 0.097122 0.484211 +vt 0.104317 0.484211 +vt 0.007194 0.484211 +vt 0.039568 0.484211 +vt 0.071942 0.484211 +vt 0.125899 0.484211 +vt 0.028777 0.484211 +vt 0.061151 0.484211 +vt 0.115108 0.484211 +vt 0.093525 0.484211 +vt 0.017986 0.484211 +vt 0.050360 0.484211 +vt 0.075540 0.484211 +vt 0.064748 0.484211 +vt 0.053957 0.484211 +vt 0.107914 0.484211 +vt 0.086331 0.484211 +vt 0.149281 0.810651 +vt 0.166377 0.839536 +vt 0.166377 0.897306 +vt 0.043165 0.873684 +vt 0.010791 0.873684 +vt 0.086331 0.873684 +vt 0.107914 0.873684 +vt 0.053957 0.873684 +vt 0.021583 0.873684 +vt 0.118705 0.873684 +vt 0.064748 0.873684 +vt 0.032374 0.873684 +vt -0.000000 0.873684 +vt 0.075540 0.873684 +vt 0.097122 0.873684 +vt 0.082734 0.484211 +vt 0.097122 0.484211 +vt 0.104317 0.484211 +vt 0.007194 0.484211 +vt 0.039568 0.484211 +vt 0.071942 0.484211 +vt 0.125899 0.484211 +vt 0.028777 0.484211 +vt 0.061151 0.484211 +vt 0.115108 0.484211 +vt 0.093525 0.484211 +vt 0.017986 0.484211 +vt 0.050360 0.484211 +vt 0.075540 0.484211 +vt -0.000000 0.484211 +vt 0.032374 0.484211 +vt 0.118705 0.484211 +vt 0.053957 0.484211 +vt 0.086331 0.484211 +vt 0.149281 0.810651 +vt 0.166377 0.897306 +vt 0.132184 0.897306 +vt 0.043165 0.873684 +vt 0.010791 0.873684 +vt 0.086331 0.873684 +vt 0.107914 0.873684 +vt 0.053957 0.873684 +vt 0.021583 0.873684 +vt 0.118705 0.873684 +vt 0.064748 0.873684 +vt 0.032374 0.873684 +vt -0.000000 0.873684 +vt 0.075540 0.873684 +vt 0.097122 0.873684 +vt 0.082734 0.484211 +vt 0.097122 0.484211 +vt 0.104317 0.484211 +vt 0.007194 0.484211 +vt 0.039568 0.484211 +vt 0.071942 0.484211 +vt 0.125899 0.484211 +vt 0.028777 0.484211 +vt 0.061151 0.484211 +vt 0.115108 0.484211 +vt 0.093525 0.484211 +vt 0.017986 0.484211 +vt 0.050360 0.484211 +vt 0.075540 0.484211 +vt -0.000000 0.484211 +vt 0.032374 0.484211 +vt 0.118705 0.484211 +vt 0.107914 0.484211 +vt 0.149281 0.810651 +vt 0.166377 0.839536 +vt 0.166377 0.897306 +vt 0.129496 0.873684 +vt 0.118705 0.484211 +vt 0.021583 0.484211 +vt 0.053957 0.484211 +vt 0.107914 0.484211 +vt 0.086331 0.484211 +vt 0.043165 0.484211 +vt 0.132184 0.897306 +vt 0.129539 0.868421 +vt 0.132184 0.839536 +vt 0.139410 0.818390 +vt 0.159151 0.818390 +vt 0.169022 0.868421 +vt 0.159151 0.918452 +vt 0.149281 0.926192 +vt 0.139410 0.918452 +vt 0.129496 0.873684 +vt 0.097122 0.484211 +vt -0.000000 0.484211 +vt 0.032374 0.484211 +vt 0.053957 0.484211 +vt 0.107914 0.484211 +vt 0.043165 0.484211 +vt 0.132184 0.897306 +vt 0.129539 0.868421 +vt 0.132184 0.839536 +vt 0.139410 0.818390 +vt 0.159151 0.818390 +vt 0.169022 0.868421 +vt 0.159151 0.918452 +vt 0.149281 0.926192 +vt 0.139410 0.918452 +vt 0.129496 0.873684 +vt -0.000000 0.484211 +vt 0.032374 0.484211 +vt 0.118705 0.484211 +vt 0.010791 0.484211 +vt 0.043165 0.484211 +vt 0.129539 0.868421 +vt 0.132184 0.839536 +vt 0.139410 0.818390 +vt 0.159151 0.818390 +vt 0.166377 0.839536 +vt 0.169022 0.868421 +vt 0.159151 0.918452 +vt 0.149281 0.926192 +vt 0.139410 0.918452 +vt 0.129496 0.873684 +vt -0.000000 0.484211 +vt 0.032374 0.484211 +vt 0.118705 0.484211 +vt 0.021583 0.484211 +vt 0.010791 0.484211 +vt 0.043165 0.484211 +vt 0.132184 0.897306 +vt 0.129539 0.868421 +vt 0.132184 0.839536 +vt 0.139410 0.818390 +vt 0.159151 0.818390 +vt 0.169022 0.868421 +vt 0.159151 0.918452 +vt 0.149281 0.926192 +vt 0.139410 0.918452 +vt 0.129496 0.873684 +vt 0.064748 0.484211 +vt 0.021583 0.484211 +vt 0.107914 0.484211 +vt 0.010791 0.484211 +vt 0.043165 0.484211 +vt 0.129539 0.868421 +vt 0.132184 0.839536 +vt 0.139410 0.818390 +vt 0.159151 0.818390 +vt 0.166377 0.839536 +vt 0.169022 0.868421 +vt 0.159151 0.918452 +vt 0.149281 0.926192 +vt 0.139410 0.918452 +vt 0.129496 0.873684 +vt 0.064748 0.484211 +vt 0.021583 0.484211 +vt 0.053957 0.484211 +vt 0.086331 0.484211 +vt 0.010791 0.484211 +vt 0.043165 0.484211 +vt 0.132184 0.897306 +vt 0.129539 0.868421 +vt 0.132184 0.839536 +vt 0.139410 0.818390 +vt 0.159151 0.818390 +vt 0.169022 0.868421 +vt 0.159151 0.918452 +vt 0.149281 0.926192 +vt 0.139410 0.918452 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -0.5000 0.8660 +vn 0.0000 0.8660 0.5000 +vn 0.0000 0.5000 0.8660 +vn 0.0000 -0.8660 0.5000 +vn 0.0000 -0.0000 -1.0000 +vn 0.0000 0.5000 -0.8660 +vn 0.0000 -0.8660 -0.5000 +vn 0.0000 -0.5000 -0.8660 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.8660 -0.5000 +vn 0.3511 0.0000 -0.9363 +vn 0.3511 -0.4682 -0.8109 +vn 0.3511 0.8109 -0.4682 +vn 0.3511 0.4682 -0.8109 +vn 0.3511 -0.9363 0.0000 +vn 0.3511 -0.8109 0.4682 +vn 0.3511 0.0000 0.9363 +vn 0.3511 0.4682 0.8109 +vn 0.3511 0.9363 0.0000 +vn 0.3511 -0.8109 -0.4682 +vn 0.3511 -0.4682 0.8109 +vn 0.3511 0.8109 0.4682 +s off +f 78/112/14 103/113/14 79/114/14 +f 80/115/14 103/113/14 104/116/14 +f 81/117/14 104/116/14 105/118/14 +f 82/119/14 105/118/14 106/120/14 +f 71/121/14 106/120/14 95/122/14 +f 71/121/14 96/123/14 72/124/14 +f 72/124/14 97/125/14 73/126/14 +f 73/126/14 98/127/14 74/128/14 +f 75/129/14 98/130/14 99/131/14 +f 76/132/14 99/131/14 100/133/14 +f 77/134/14 100/133/14 101/135/14 +f 77/134/14 102/136/14 78/112/14 +f 115/137/15 127/138/15 114/139/15 +f 112/140/15 124/141/15 111/142/15 +f 109/143/15 121/144/15 108/145/15 +f 116/146/15 128/147/15 115/148/15 +f 113/149/15 125/150/15 112/140/15 +f 110/151/15 122/152/15 109/143/15 +f 117/153/15 129/154/15 116/146/15 +f 118/155/15 119/156/15 120/157/15 +f 114/139/15 126/158/15 113/149/15 +f 111/142/15 123/159/15 110/151/15 +f 118/155/15 130/160/15 117/153/15 +f 107/161/15 121/162/15 119/163/15 +f 143/164/15 145/165/15 155/166/15 +f 145/167/15 146/168/15 155/169/15 +f 146/170/15 147/171/15 155/172/15 +f 147/173/15 148/174/15 155/175/15 +f 148/176/15 149/177/15 155/178/15 +f 149/179/15 150/180/15 155/181/15 +f 150/182/15 151/183/15 155/184/15 +f 151/185/15 152/186/15 155/187/15 +f 152/188/15 153/189/15 155/190/15 +f 153/191/15 154/192/15 155/193/15 +f 154/194/15 144/195/15 155/196/15 +f 144/197/15 143/198/15 155/199/15 +f 163/200/14 188/201/14 164/202/14 +f 165/203/14 188/201/14 189/204/14 +f 166/205/14 189/204/14 190/206/14 +f 167/207/14 190/206/14 191/208/14 +f 156/209/14 191/208/14 180/210/14 +f 156/209/14 181/211/14 157/212/14 +f 157/212/14 182/213/14 158/214/14 +f 158/214/14 183/215/14 159/216/14 +f 160/217/14 183/218/14 184/219/14 +f 161/220/14 184/219/14 185/221/14 +f 162/222/14 185/221/14 186/223/14 +f 162/222/14 187/224/14 163/200/14 +f 200/225/15 212/226/15 199/227/15 +f 197/228/15 209/229/15 196/230/15 +f 194/231/15 206/232/15 193/233/15 +f 201/234/15 213/235/15 200/236/15 +f 198/237/15 210/238/15 197/228/15 +f 195/239/15 207/240/15 194/231/15 +f 202/241/15 214/242/15 201/234/15 +f 203/243/15 204/244/15 205/245/15 +f 199/227/15 211/246/15 198/237/15 +f 196/230/15 208/247/15 195/239/15 +f 203/243/15 215/248/15 202/241/15 +f 192/249/15 206/250/15 204/251/15 +f 228/252/15 230/253/15 240/254/15 +f 230/255/15 231/256/15 240/257/15 +f 231/258/15 232/259/15 240/260/15 +f 232/261/15 233/262/15 240/263/15 +f 233/264/15 234/265/15 240/266/15 +f 234/267/15 235/268/15 240/269/15 +f 235/270/15 236/271/15 240/272/15 +f 236/273/15 237/274/15 240/275/15 +f 237/276/15 238/277/15 240/278/15 +f 238/279/15 239/280/15 240/281/15 +f 239/282/15 229/283/15 240/284/15 +f 229/285/15 228/286/15 240/287/15 +f 249/288/14 272/289/14 273/290/14 +f 250/291/14 273/290/14 274/292/14 +f 251/293/14 274/292/14 275/294/14 +f 252/295/14 275/294/14 276/296/14 +f 252/295/14 265/297/14 241/298/14 +f 241/298/14 266/299/14 242/300/14 +f 243/301/14 266/299/14 267/302/14 +f 243/301/14 268/303/14 244/304/14 +f 245/305/14 268/306/14 269/307/14 +f 246/308/14 269/307/14 270/309/14 +f 247/310/14 270/309/14 271/311/14 +f 247/310/14 272/289/14 248/312/14 +f 285/313/15 297/314/15 284/315/15 +f 281/316/15 295/317/15 294/318/15 +f 278/319/15 292/320/15 291/321/15 +f 285/322/15 299/323/15 298/324/15 +f 283/325/15 295/326/15 282/327/15 +f 280/328/15 292/329/15 279/330/15 +f 286/331/15 300/332/15 299/333/15 +f 288/334/15 289/335/15 290/336/15 +f 284/315/15 296/337/15 283/325/15 +f 281/316/15 293/338/15 280/328/15 +f 288/334/15 300/339/15 287/340/15 +f 277/341/15 291/342/15 289/343/15 +f 313/344/15 315/345/15 325/346/15 +f 315/347/15 316/348/15 325/349/15 +f 316/350/15 317/351/15 325/352/15 +f 317/353/15 318/354/15 325/355/15 +f 318/356/15 319/357/15 325/358/15 +f 319/359/15 320/360/15 325/361/15 +f 320/362/15 321/363/15 325/364/15 +f 321/365/15 322/366/15 325/367/15 +f 322/368/15 323/369/15 325/370/15 +f 323/371/15 324/372/15 325/373/15 +f 324/374/15 314/375/15 325/376/15 +f 314/377/15 313/378/15 325/379/15 +f 333/380/14 358/381/14 334/382/14 +f 335/383/14 358/381/14 359/384/14 +f 336/385/14 359/384/14 360/386/14 +f 337/387/14 360/386/14 361/388/14 +f 337/387/14 350/389/14 326/390/14 +f 326/390/14 351/391/14 327/392/14 +f 327/392/14 352/393/14 328/394/14 +f 328/394/14 353/395/14 329/396/14 +f 330/397/14 353/398/14 354/399/14 +f 331/400/14 354/399/14 355/401/14 +f 332/402/14 355/401/14 356/403/14 +f 332/402/14 357/404/14 333/380/14 +f 370/405/15 382/406/15 369/407/15 +f 366/408/15 380/409/15 379/410/15 +f 363/411/15 377/412/15 376/413/15 +f 371/414/15 383/415/15 370/416/15 +f 368/417/15 380/418/15 367/419/15 +f 364/420/15 378/421/15 377/422/15 +f 371/414/15 385/423/15 384/424/15 +f 373/425/15 374/426/15 375/427/15 +f 369/407/15 381/428/15 368/417/15 +f 366/408/15 378/429/15 365/430/15 +f 373/425/15 385/431/15 372/432/15 +f 362/433/15 376/434/15 374/435/15 +f 398/436/15 400/437/15 410/438/15 +f 400/439/15 401/440/15 410/441/15 +f 401/442/15 402/443/15 410/444/15 +f 402/445/15 403/446/15 410/447/15 +f 403/448/15 404/449/15 410/450/15 +f 404/451/15 405/452/15 410/453/15 +f 405/454/15 406/455/15 410/456/15 +f 406/457/15 407/458/15 410/459/15 +f 407/460/15 408/461/15 410/462/15 +f 408/463/15 409/464/15 410/465/15 +f 409/466/15 399/467/15 410/468/15 +f 399/469/15 398/470/15 410/471/15 +f 418/472/14 443/473/14 419/474/14 +f 420/475/14 443/473/14 444/476/14 +f 421/477/14 444/476/14 445/478/14 +f 422/479/14 445/478/14 446/480/14 +f 422/479/14 435/481/14 411/482/14 +f 411/482/14 436/483/14 412/484/14 +f 412/484/14 437/485/14 413/486/14 +f 413/486/14 438/487/14 414/488/14 +f 415/489/14 438/490/14 439/491/14 +f 416/492/14 439/491/14 440/493/14 +f 417/494/14 440/493/14 441/495/14 +f 417/494/14 442/496/14 418/472/14 +f 454/497/15 468/498/15 467/499/15 +f 452/500/15 464/501/15 451/502/15 +f 448/503/15 462/504/15 461/505/15 +f 456/506/15 468/507/15 455/508/15 +f 453/509/15 465/510/15 452/500/15 +f 450/511/15 462/512/15 449/513/15 +f 456/506/15 470/514/15 469/515/15 +f 458/516/15 459/517/15 460/518/15 +f 454/497/15 466/519/15 453/509/15 +f 451/502/15 463/520/15 450/511/15 +f 458/516/15 470/521/15 457/522/15 +f 447/523/15 461/524/15 459/525/15 +f 483/526/15 485/527/15 495/528/15 +f 485/529/15 486/530/15 495/531/15 +f 486/532/15 487/533/15 495/534/15 +f 487/535/15 488/536/15 495/537/15 +f 488/538/15 489/539/15 495/540/15 +f 489/541/15 490/542/15 495/543/15 +f 490/544/15 491/545/15 495/546/15 +f 491/547/15 492/548/15 495/549/15 +f 492/550/15 493/551/15 495/552/15 +f 493/553/15 494/554/15 495/555/15 +f 494/556/15 484/557/15 495/558/15 +f 484/559/15 483/560/15 495/561/15 +f 503/562/14 528/563/14 504/564/14 +f 504/564/14 529/565/14 505/566/14 +f 506/567/14 529/565/14 530/568/14 +f 507/569/14 530/568/14 531/570/14 +f 507/569/14 520/571/14 496/572/14 +f 496/572/14 521/573/14 497/574/14 +f 497/574/14 522/575/14 498/576/14 +f 498/576/14 523/577/14 499/578/14 +f 499/579/14 524/580/14 500/581/14 +f 500/581/14 525/582/14 501/583/14 +f 501/583/14 526/584/14 502/585/14 +f 502/585/14 527/586/14 503/562/14 +f 540/587/15 552/588/15 539/589/15 +f 537/590/15 549/591/15 536/592/15 +f 534/593/15 546/594/15 533/595/15 +f 541/596/15 553/597/15 540/598/15 +f 538/599/15 550/600/15 537/590/15 +f 535/601/15 547/602/15 534/593/15 +f 541/596/15 555/603/15 554/604/15 +f 543/605/15 544/606/15 545/607/15 +f 539/589/15 551/608/15 538/599/15 +f 536/592/15 548/609/15 535/601/15 +f 543/605/15 555/610/15 542/611/15 +f 532/612/15 546/613/15 544/614/15 +f 568/615/15 570/616/15 580/617/15 +f 570/618/15 571/619/15 580/620/15 +f 571/621/15 572/622/15 580/623/15 +f 572/624/15 573/625/15 580/626/15 +f 573/627/15 574/628/15 580/629/15 +f 574/630/15 575/631/15 580/632/15 +f 575/633/15 576/634/15 580/635/15 +f 576/636/15 577/637/15 580/638/15 +f 577/639/15 578/640/15 580/641/15 +f 578/642/15 579/643/15 580/644/15 +f 579/645/15 569/646/15 580/647/15 +f 569/648/15 568/649/15 580/650/15 +f 78/112/14 102/136/14 103/113/14 +f 80/115/14 79/114/14 103/113/14 +f 81/117/14 80/115/14 104/116/14 +f 82/119/14 81/117/14 105/118/14 +f 71/121/14 82/119/14 106/120/14 +f 71/121/14 95/122/14 96/123/14 +f 72/124/14 96/123/14 97/125/14 +f 73/126/14 97/125/14 98/127/14 +f 75/129/14 74/651/14 98/130/14 +f 76/132/14 75/129/14 99/131/14 +f 77/134/14 76/132/14 100/133/14 +f 77/134/14 101/135/14 102/136/14 +f 115/137/15 128/652/15 127/138/15 +f 112/140/15 125/653/15 124/141/15 +f 109/143/15 122/654/15 121/144/15 +f 116/146/15 129/655/15 128/147/15 +f 113/149/15 126/656/15 125/150/15 +f 110/151/15 123/657/15 122/152/15 +f 117/153/15 130/658/15 129/154/15 +f 118/155/15 107/161/15 119/156/15 +f 114/139/15 127/659/15 126/158/15 +f 111/142/15 124/660/15 123/159/15 +f 118/155/15 120/661/15 130/160/15 +f 107/161/15 108/145/15 121/162/15 +f 163/200/14 187/224/14 188/201/14 +f 165/203/14 164/202/14 188/201/14 +f 166/205/14 165/203/14 189/204/14 +f 167/207/14 166/205/14 190/206/14 +f 156/209/14 167/207/14 191/208/14 +f 156/209/14 180/210/14 181/211/14 +f 157/212/14 181/211/14 182/213/14 +f 158/214/14 182/213/14 183/215/14 +f 160/217/14 159/662/14 183/218/14 +f 161/220/14 160/217/14 184/219/14 +f 162/222/14 161/220/14 185/221/14 +f 162/222/14 186/223/14 187/224/14 +f 200/225/15 213/663/15 212/226/15 +f 197/228/15 210/664/15 209/229/15 +f 194/231/15 207/665/15 206/232/15 +f 201/234/15 214/666/15 213/235/15 +f 198/237/15 211/667/15 210/238/15 +f 195/239/15 208/668/15 207/240/15 +f 202/241/15 215/669/15 214/242/15 +f 203/243/15 192/249/15 204/244/15 +f 199/227/15 212/670/15 211/246/15 +f 196/230/15 209/671/15 208/247/15 +f 203/243/15 205/672/15 215/248/15 +f 192/249/15 193/233/15 206/250/15 +f 249/288/14 248/312/14 272/289/14 +f 250/291/14 249/288/14 273/290/14 +f 251/293/14 250/291/14 274/292/14 +f 252/295/14 251/293/14 275/294/14 +f 252/295/14 276/296/14 265/297/14 +f 241/298/14 265/297/14 266/299/14 +f 243/301/14 242/300/14 266/299/14 +f 243/301/14 267/302/14 268/303/14 +f 245/305/14 244/673/14 268/306/14 +f 246/308/14 245/305/14 269/307/14 +f 247/310/14 246/308/14 270/309/14 +f 247/310/14 271/311/14 272/289/14 +f 285/313/15 298/674/15 297/314/15 +f 281/316/15 282/327/15 295/317/15 +f 278/319/15 279/330/15 292/320/15 +f 285/322/15 286/331/15 299/323/15 +f 283/325/15 296/675/15 295/326/15 +f 280/328/15 293/676/15 292/329/15 +f 286/331/15 287/340/15 300/332/15 +f 288/334/15 277/341/15 289/335/15 +f 284/315/15 297/677/15 296/337/15 +f 281/316/15 294/678/15 293/338/15 +f 288/334/15 290/679/15 300/339/15 +f 277/341/15 278/319/15 291/342/15 +f 333/380/14 357/404/14 358/381/14 +f 335/383/14 334/382/14 358/381/14 +f 336/385/14 335/383/14 359/384/14 +f 337/387/14 336/385/14 360/386/14 +f 337/387/14 361/388/14 350/389/14 +f 326/390/14 350/389/14 351/391/14 +f 327/392/14 351/391/14 352/393/14 +f 328/394/14 352/393/14 353/395/14 +f 330/397/14 329/680/14 353/398/14 +f 331/400/14 330/397/14 354/399/14 +f 332/402/14 331/400/14 355/401/14 +f 332/402/14 356/403/14 357/404/14 +f 370/405/15 383/681/15 382/406/15 +f 366/408/15 367/419/15 380/409/15 +f 363/411/15 364/420/15 377/412/15 +f 371/414/15 384/682/15 383/415/15 +f 368/417/15 381/683/15 380/418/15 +f 364/420/15 365/430/15 378/421/15 +f 371/414/15 372/432/15 385/423/15 +f 373/425/15 362/433/15 374/426/15 +f 369/407/15 382/684/15 381/428/15 +f 366/408/15 379/685/15 378/429/15 +f 373/425/15 375/686/15 385/431/15 +f 362/433/15 363/411/15 376/434/15 +f 418/472/14 442/496/14 443/473/14 +f 420/475/14 419/474/14 443/473/14 +f 421/477/14 420/475/14 444/476/14 +f 422/479/14 421/477/14 445/478/14 +f 422/479/14 446/480/14 435/481/14 +f 411/482/14 435/481/14 436/483/14 +f 412/484/14 436/483/14 437/485/14 +f 413/486/14 437/485/14 438/487/14 +f 415/489/14 414/687/14 438/490/14 +f 416/492/14 415/489/14 439/491/14 +f 417/494/14 416/492/14 440/493/14 +f 417/494/14 441/495/14 442/496/14 +f 454/497/15 455/688/15 468/498/15 +f 452/500/15 465/689/15 464/501/15 +f 448/503/15 449/513/15 462/504/15 +f 456/506/15 469/690/15 468/507/15 +f 453/509/15 466/691/15 465/510/15 +f 450/511/15 463/692/15 462/512/15 +f 456/506/15 457/522/15 470/514/15 +f 458/516/15 447/523/15 459/517/15 +f 454/497/15 467/693/15 466/519/15 +f 451/502/15 464/694/15 463/520/15 +f 458/516/15 460/695/15 470/521/15 +f 447/523/15 448/503/15 461/524/15 +f 503/562/14 527/586/14 528/563/14 +f 504/564/14 528/563/14 529/565/14 +f 506/567/14 505/566/14 529/565/14 +f 507/569/14 506/567/14 530/568/14 +f 507/569/14 531/570/14 520/571/14 +f 496/572/14 520/571/14 521/573/14 +f 497/574/14 521/573/14 522/575/14 +f 498/576/14 522/575/14 523/577/14 +f 499/579/14 523/696/14 524/580/14 +f 500/581/14 524/580/14 525/582/14 +f 501/583/14 525/582/14 526/584/14 +f 502/585/14 526/584/14 527/586/14 +f 540/587/15 553/697/15 552/588/15 +f 537/590/15 550/698/15 549/591/15 +f 534/593/15 547/699/15 546/594/15 +f 541/596/15 554/700/15 553/597/15 +f 538/599/15 551/701/15 550/600/15 +f 535/601/15 548/702/15 547/602/15 +f 541/596/15 542/611/15 555/603/15 +f 543/605/15 532/612/15 544/606/15 +f 539/589/15 552/703/15 551/608/15 +f 536/592/15 549/704/15 548/609/15 +f 543/605/15 545/705/15 555/610/15 +f 532/612/15 533/595/15 546/613/15 +s 1 +f 101/135/16 113/149/17 112/140/16 +f 79/114/18 90/706/19 78/112/19 +f 76/132/17 87/707/20 75/129/20 +f 71/121/21 94/708/22 82/119/22 +f 73/126/23 84/709/24 72/124/24 +f 80/115/25 91/710/18 79/114/18 +f 77/134/16 88/711/17 76/132/17 +f 74/128/26 85/712/23 73/126/23 +f 81/117/27 92/713/25 80/115/25 +f 78/112/19 89/714/16 77/134/16 +f 75/129/20 86/715/26 74/651/26 +f 82/119/22 93/716/27 81/117/27 +f 72/124/24 83/717/21 71/121/21 +f 98/127/26 116/146/23 115/148/26 +f 105/118/27 109/143/25 108/145/27 +f 102/136/19 112/140/16 111/142/19 +f 99/131/20 115/137/26 114/139/20 +f 106/120/22 108/145/27 107/161/22 +f 96/123/24 118/155/21 117/153/24 +f 103/113/18 111/142/19 110/151/18 +f 100/133/17 114/139/20 113/149/17 +f 95/122/21 107/161/22 118/155/21 +f 97/125/23 117/153/24 116/146/23 +f 104/116/25 110/151/18 109/143/25 +f 121/162/20 131/718/17 119/163/17 +f 132/719/28 154/194/29 142/720/29 +f 128/652/25 139/721/27 127/138/27 +f 125/653/21 136/722/24 124/141/24 +f 122/654/26 133/723/20 121/144/20 +f 129/655/18 140/724/25 128/147/25 +f 126/656/22 137/725/21 125/150/21 +f 123/657/23 134/726/26 122/152/26 +f 130/658/19 141/727/18 129/154/18 +f 119/156/17 132/728/16 120/157/16 +f 127/659/27 138/729/22 126/158/22 +f 124/660/24 135/730/23 123/159/23 +f 120/661/16 142/720/19 130/160/19 +f 133/731/30 143/164/31 131/718/31 +f 140/732/32 151/185/33 139/721/33 +f 137/733/34 148/176/35 136/722/35 +f 134/734/36 145/167/30 133/723/30 +f 140/724/32 153/189/37 152/188/32 +f 137/725/34 150/180/38 149/179/34 +f 134/726/36 147/171/39 146/170/36 +f 141/727/37 154/192/29 153/191/37 +f 132/728/28 143/198/31 144/197/28 +f 139/735/33 150/182/38 138/729/38 +f 135/730/39 148/174/35 147/173/39 +f 86/736/14 88/737/14 90/738/14 +f 186/223/21 198/237/22 197/228/21 +f 164/202/23 175/739/24 163/200/24 +f 161/220/22 172/740/27 160/217/27 +f 156/209/16 179/741/17 167/207/17 +f 158/214/18 169/742/19 157/212/19 +f 165/203/26 176/743/23 164/202/23 +f 162/222/21 173/744/22 161/220/22 +f 159/216/25 170/745/18 158/214/18 +f 166/205/20 177/746/26 165/203/26 +f 163/200/24 174/747/21 162/222/21 +f 160/217/27 171/748/25 159/662/25 +f 167/207/17 178/749/20 166/205/20 +f 157/212/19 168/750/16 156/209/16 +f 183/215/25 201/234/18 200/236/25 +f 190/206/20 194/231/26 193/233/20 +f 187/224/24 197/228/21 196/230/24 +f 184/219/27 200/225/25 199/227/27 +f 191/208/17 193/233/20 192/249/17 +f 181/211/19 203/243/16 202/241/19 +f 188/201/23 196/230/24 195/239/23 +f 185/221/22 199/227/27 198/237/22 +f 180/210/16 192/249/17 203/243/16 +f 182/213/18 202/241/19 201/234/18 +f 189/204/26 195/239/23 194/231/26 +f 206/250/27 216/751/22 204/251/22 +f 227/752/35 229/283/34 239/282/35 +f 213/663/26 224/753/20 212/226/20 +f 210/664/16 221/754/19 209/229/19 +f 207/665/25 218/755/27 206/232/27 +f 214/666/23 225/756/26 213/235/26 +f 211/667/17 222/757/16 210/238/16 +f 208/668/18 219/758/25 207/240/25 +f 215/669/24 226/759/23 214/242/23 +f 204/244/22 217/760/21 205/245/21 +f 212/670/20 223/761/17 211/246/17 +f 209/671/19 220/762/18 208/247/18 +f 205/672/21 227/752/24 215/248/24 +f 218/763/33 228/252/38 216/751/38 +f 224/753/30 237/274/36 236/273/30 +f 221/754/29 234/265/28 233/264/29 +f 219/764/32 230/255/33 218/755/33 +f 226/765/39 237/276/36 225/756/36 +f 223/766/31 234/267/28 222/757/28 +f 219/758/32 232/259/37 231/258/32 +f 226/759/39 239/280/35 238/279/39 +f 216/767/38 229/285/34 217/760/34 +f 224/768/30 235/270/31 223/761/31 +f 220/762/37 233/262/29 232/261/37 +f 171/769/14 173/770/14 175/771/14 +f 271/311/20 283/325/26 282/327/20 +f 249/288/16 260/772/17 248/312/17 +f 246/308/26 257/773/23 245/305/23 +f 241/298/27 264/774/25 252/295/25 +f 243/301/21 254/775/22 242/300/22 +f 250/291/19 261/776/16 249/288/16 +f 247/310/20 258/777/26 246/308/26 +f 244/304/24 255/778/21 243/301/21 +f 251/293/18 262/779/19 250/291/19 +f 248/312/17 259/780/20 247/310/20 +f 245/305/23 256/781/24 244/673/24 +f 252/295/25 263/782/18 251/293/18 +f 242/300/22 253/783/27 241/298/27 +f 268/303/24 286/331/21 285/322/24 +f 275/294/18 279/330/19 278/319/18 +f 272/289/17 282/327/20 281/316/17 +f 269/307/23 285/313/24 284/315/23 +f 276/296/25 278/319/18 277/341/25 +f 266/299/22 288/334/27 287/340/22 +f 273/290/16 281/316/17 280/328/16 +f 270/309/26 284/315/23 283/325/26 +f 265/297/27 277/341/25 288/334/27 +f 267/302/21 287/340/22 286/331/21 +f 274/292/19 280/328/16 279/330/19 +f 291/342/23 301/784/26 289/343/26 +f 302/785/30 324/374/31 312/786/31 +f 298/674/19 309/787/18 297/314/18 +f 295/317/27 306/788/22 294/318/22 +f 292/320/24 303/789/23 291/321/23 +f 299/323/16 310/790/19 298/324/19 +f 296/675/25 307/791/27 295/326/27 +f 293/676/21 304/792/24 292/329/24 +f 300/332/17 311/793/16 299/333/16 +f 289/335/26 302/794/20 290/336/20 +f 297/677/18 308/795/25 296/337/25 +f 294/678/22 305/796/21 293/338/21 +f 290/679/20 312/786/17 300/339/17 +f 303/797/39 313/344/36 301/784/36 +f 309/787/37 322/366/29 321/365/37 +f 306/788/38 319/357/33 318/356/38 +f 304/798/35 315/347/39 303/789/39 +f 310/790/29 323/369/28 322/368/29 +f 308/799/32 319/359/33 307/791/33 +f 305/800/34 316/350/35 304/792/35 +f 312/801/31 323/371/28 311/793/28 +f 301/802/36 314/377/30 302/794/30 +f 308/795/32 321/363/37 320/362/32 +f 305/796/34 318/354/38 317/353/34 +f 256/803/14 260/804/14 264/805/14 +f 356/403/27 368/417/25 367/419/27 +f 334/382/21 345/806/22 333/380/22 +f 331/400/25 342/807/18 330/397/18 +f 326/390/20 349/808/26 337/387/26 +f 328/394/16 339/809/17 327/392/17 +f 335/383/24 346/810/21 334/382/21 +f 332/402/27 343/811/25 331/400/25 +f 329/396/19 340/812/16 328/394/16 +f 336/385/23 347/813/24 335/383/24 +f 333/380/22 344/814/27 332/402/27 +f 330/397/18 341/815/19 329/680/19 +f 337/387/26 348/816/23 336/385/23 +f 327/392/17 338/817/20 326/390/20 +f 353/395/19 371/414/16 370/416/19 +f 360/386/23 364/420/24 363/411/23 +f 357/404/22 367/419/27 366/408/22 +f 354/399/18 370/405/19 369/407/18 +f 361/388/26 363/411/23 362/433/26 +f 351/391/17 373/425/20 372/432/17 +f 358/381/21 366/408/22 365/430/21 +f 355/401/25 369/407/18 368/417/25 +f 350/389/20 362/433/26 373/425/20 +f 352/393/16 372/432/17 371/414/16 +f 359/384/24 365/430/21 364/420/24 +f 376/434/18 386/818/25 374/435/25 +f 387/819/33 409/466/38 397/820/38 +f 383/681/24 394/821/23 382/406/23 +f 380/409/20 391/822/17 379/410/17 +f 377/412/19 388/823/18 376/413/18 +f 384/682/21 395/824/24 383/415/24 +f 381/683/26 392/825/20 380/418/20 +f 378/421/16 389/826/19 377/422/19 +f 385/423/22 396/827/21 384/424/21 +f 374/426/25 387/828/27 375/427/27 +f 382/684/23 393/829/26 381/428/26 +f 379/685/17 390/830/16 378/429/16 +f 375/686/27 397/820/22 385/431/22 +f 388/831/37 398/436/32 386/818/32 +f 394/821/39 407/458/35 406/457/39 +f 391/822/31 404/449/30 403/448/31 +f 389/832/29 400/439/37 388/823/37 +f 395/824/35 408/461/34 407/460/35 +f 392/825/30 405/452/36 404/451/30 +f 390/833/28 401/442/29 389/826/29 +f 397/834/38 408/463/34 396/827/34 +f 386/835/32 399/469/33 387/828/33 +f 393/829/36 406/455/39 405/454/36 +f 390/830/28 403/446/31 402/445/28 +f 341/836/14 343/837/14 345/838/14 +f 441/495/23 453/509/24 452/500/23 +f 419/474/20 430/839/26 418/472/26 +f 416/492/24 427/840/21 415/489/21 +f 411/482/18 434/841/19 422/479/19 +f 413/486/27 424/842/25 412/484/25 +f 420/475/17 431/843/20 419/474/20 +f 417/494/23 428/844/24 416/492/24 +f 414/488/22 425/845/27 413/486/27 +f 421/477/16 432/846/17 420/475/17 +f 418/472/26 429/847/23 417/494/23 +f 415/489/21 426/848/22 414/687/22 +f 422/479/19 433/849/16 421/477/16 +f 412/484/25 423/850/18 411/482/18 +f 438/487/22 456/506/27 455/508/22 +f 445/478/16 449/513/17 448/503/16 +f 442/496/26 452/500/23 451/502/26 +f 439/491/21 455/688/22 454/497/21 +f 446/480/19 448/503/16 447/523/19 +f 436/483/25 458/516/18 457/522/25 +f 443/473/20 451/502/26 450/511/20 +f 440/493/24 454/497/21 453/509/24 +f 435/481/18 447/523/19 458/516/18 +f 437/485/27 457/522/25 456/506/27 +f 444/476/17 450/511/20 449/513/17 +f 461/524/21 471/851/24 459/525/24 +f 472/852/39 494/556/36 482/853/36 +f 468/498/17 479/854/16 467/499/16 +f 465/689/18 476/855/25 464/501/25 +f 462/504/22 473/856/21 461/505/21 +f 469/690/20 480/857/17 468/507/17 +f 466/691/19 477/858/18 465/510/18 +f 463/692/27 474/859/22 462/512/22 +f 470/514/26 481/860/20 469/515/20 +f 459/517/24 472/861/23 460/518/23 +f 467/693/16 478/862/19 466/519/19 +f 464/694/25 475/863/27 463/520/27 +f 460/695/23 482/853/26 470/521/26 +f 473/864/34 483/526/35 471/851/35 +f 480/865/31 491/547/28 479/854/28 +f 477/866/37 488/538/32 476/855/32 +f 473/856/34 486/530/38 485/529/34 +f 481/867/30 492/550/31 480/857/31 +f 477/858/37 490/542/29 489/541/37 +f 475/868/33 486/532/38 474/859/38 +f 481/860/30 494/554/36 493/553/30 +f 471/869/35 484/559/39 472/861/39 +f 478/862/29 491/545/28 490/544/29 +f 475/863/33 488/536/32 487/535/33 +f 426/870/14 430/871/14 434/872/14 +f 526/584/18 538/599/19 537/590/18 +f 504/564/27 515/873/25 503/562/25 +f 501/583/19 512/874/16 500/581/16 +f 496/572/23 519/875/24 507/569/24 +f 498/576/20 509/876/26 497/574/26 +f 505/566/22 516/877/27 504/564/27 +f 502/585/18 513/878/19 501/583/19 +f 499/578/17 510/879/20 498/576/20 +f 506/567/21 517/880/22 505/566/22 +f 503/562/25 514/881/18 502/585/18 +f 500/581/16 511/882/17 499/579/17 +f 507/569/24 518/883/21 506/567/21 +f 497/574/26 508/884/23 496/572/23 +f 523/577/17 541/596/20 540/598/17 +f 530/568/21 534/593/22 533/595/21 +f 527/586/25 537/590/18 536/592/25 +f 524/580/16 540/587/17 539/589/16 +f 531/570/24 533/595/21 532/612/24 +f 521/573/26 543/605/23 542/611/26 +f 528/563/27 536/592/25 535/601/27 +f 525/582/19 539/589/16 538/599/19 +f 520/571/23 532/612/24 543/605/23 +f 522/575/20 542/611/26 541/596/20 +f 529/565/22 535/601/27 534/593/22 +f 546/613/16 556/885/19 544/614/19 +f 557/886/37 579/645/32 567/887/32 +f 553/697/22 564/888/21 552/588/21 +f 550/698/23 561/889/26 549/591/26 +f 547/699/17 558/890/16 546/594/16 +f 554/700/27 565/891/22 553/597/22 +f 551/701/24 562/892/23 550/600/23 +f 548/702/20 559/893/17 547/602/17 +f 555/603/25 566/894/27 554/604/27 +f 544/606/19 557/895/18 545/607/18 +f 552/703/21 563/896/24 551/608/24 +f 549/704/26 560/897/20 548/609/20 +f 545/705/18 567/887/25 555/610/25 +f 558/898/28 568/615/29 556/885/29 +f 565/899/38 576/636/34 564/888/34 +f 562/900/39 573/627/36 561/889/36 +f 558/890/28 571/619/31 570/618/28 +f 566/901/33 577/639/38 565/891/38 +f 562/892/39 575/631/35 574/630/39 +f 559/893/31 572/622/30 571/621/31 +f 567/902/32 578/642/33 566/894/33 +f 557/895/37 568/649/29 569/648/37 +f 563/896/35 576/634/34 575/633/35 +f 560/897/30 573/625/36 572/624/30 +f 511/903/14 513/904/14 515/905/14 +f 101/135/16 100/133/17 113/149/17 +f 79/114/18 91/710/18 90/706/19 +f 76/132/17 88/711/17 87/707/20 +f 71/121/21 83/717/21 94/708/22 +f 73/126/23 85/712/23 84/709/24 +f 80/115/25 92/713/25 91/710/18 +f 77/134/16 89/714/16 88/711/17 +f 74/128/26 86/906/26 85/712/23 +f 81/117/27 93/716/27 92/713/25 +f 78/112/19 90/706/19 89/714/16 +f 75/129/20 87/707/20 86/715/26 +f 82/119/22 94/708/22 93/716/27 +f 72/124/24 84/709/24 83/717/21 +f 98/127/26 97/125/23 116/146/23 +f 105/118/27 104/116/25 109/143/25 +f 102/136/19 101/135/16 112/140/16 +f 99/131/20 98/130/26 115/137/26 +f 106/120/22 105/118/27 108/145/27 +f 96/123/24 95/122/21 118/155/21 +f 103/113/18 102/136/19 111/142/19 +f 100/133/17 99/131/20 114/139/20 +f 95/122/21 106/120/22 107/161/22 +f 97/125/23 96/123/24 117/153/24 +f 104/116/25 103/113/18 110/151/18 +f 121/162/20 133/731/20 131/718/17 +f 132/719/28 144/195/28 154/194/29 +f 128/652/25 140/732/25 139/721/27 +f 125/653/21 137/733/21 136/722/24 +f 122/654/26 134/734/26 133/723/20 +f 129/655/18 141/907/18 140/724/25 +f 126/656/22 138/908/22 137/725/21 +f 123/657/23 135/909/23 134/726/26 +f 130/658/19 142/910/19 141/727/18 +f 119/156/17 131/911/17 132/728/16 +f 127/659/27 139/735/27 138/729/22 +f 124/660/24 136/912/24 135/730/23 +f 120/661/16 132/719/16 142/720/19 +f 133/731/30 145/165/30 143/164/31 +f 140/732/32 152/186/32 151/185/33 +f 137/733/34 149/177/34 148/176/35 +f 134/734/36 146/168/36 145/167/30 +f 140/724/32 141/907/37 153/189/37 +f 137/725/34 138/908/38 150/180/38 +f 134/726/36 135/909/39 147/171/39 +f 141/727/37 142/910/29 154/192/29 +f 132/728/28 131/911/31 143/198/31 +f 139/735/33 151/183/33 150/182/38 +f 135/730/39 136/912/35 148/174/35 +f 94/913/14 83/914/14 84/915/14 +f 84/915/14 85/916/14 86/736/14 +f 86/736/14 87/917/14 88/737/14 +f 88/737/14 89/918/14 90/738/14 +f 90/738/14 91/919/14 94/913/14 +f 91/919/14 92/920/14 94/913/14 +f 92/920/14 93/921/14 94/913/14 +f 94/913/14 84/915/14 90/738/14 +f 84/915/14 86/736/14 90/738/14 +f 186/223/21 185/221/22 198/237/22 +f 164/202/23 176/743/23 175/739/24 +f 161/220/22 173/744/22 172/740/27 +f 156/209/16 168/750/16 179/741/17 +f 158/214/18 170/745/18 169/742/19 +f 165/203/26 177/746/26 176/743/23 +f 162/222/21 174/747/21 173/744/22 +f 159/216/25 171/922/25 170/745/18 +f 166/205/20 178/749/20 177/746/26 +f 163/200/24 175/739/24 174/747/21 +f 160/217/27 172/740/27 171/748/25 +f 167/207/17 179/741/17 178/749/20 +f 157/212/19 169/742/19 168/750/16 +f 183/215/25 182/213/18 201/234/18 +f 190/206/20 189/204/26 194/231/26 +f 187/224/24 186/223/21 197/228/21 +f 184/219/27 183/218/25 200/225/25 +f 191/208/17 190/206/20 193/233/20 +f 181/211/19 180/210/16 203/243/16 +f 188/201/23 187/224/24 196/230/24 +f 185/221/22 184/219/27 199/227/27 +f 180/210/16 191/208/17 192/249/17 +f 182/213/18 181/211/19 202/241/19 +f 189/204/26 188/201/23 195/239/23 +f 206/250/27 218/763/27 216/751/22 +f 227/752/35 217/923/34 229/283/34 +f 213/663/26 225/924/26 224/753/20 +f 210/664/16 222/925/16 221/754/19 +f 207/665/25 219/764/25 218/755/27 +f 214/666/23 226/765/23 225/756/26 +f 211/667/17 223/766/17 222/757/16 +f 208/668/18 220/926/18 219/758/25 +f 215/669/24 227/927/24 226/759/23 +f 204/244/22 216/767/22 217/760/21 +f 212/670/20 224/768/20 223/761/17 +f 209/671/19 221/928/19 220/762/18 +f 205/672/21 217/923/21 227/752/24 +f 218/763/33 230/253/33 228/252/38 +f 224/753/30 225/924/36 237/274/36 +f 221/754/29 222/925/28 234/265/28 +f 219/764/32 231/256/32 230/255/33 +f 226/765/39 238/277/39 237/276/36 +f 223/766/31 235/268/31 234/267/28 +f 219/758/32 220/926/37 232/259/37 +f 226/759/39 227/927/35 239/280/35 +f 216/767/38 228/286/38 229/285/34 +f 224/768/30 236/271/30 235/270/31 +f 220/762/37 221/928/29 233/262/29 +f 179/929/14 168/930/14 169/931/14 +f 169/931/14 170/932/14 171/769/14 +f 171/769/14 172/933/14 173/770/14 +f 173/770/14 174/934/14 175/771/14 +f 175/771/14 176/935/14 179/929/14 +f 176/935/14 177/936/14 179/929/14 +f 177/936/14 178/937/14 179/929/14 +f 179/929/14 169/931/14 175/771/14 +f 169/931/14 171/769/14 175/771/14 +f 271/311/20 270/309/26 283/325/26 +f 249/288/16 261/776/16 260/772/17 +f 246/308/26 258/777/26 257/773/23 +f 241/298/27 253/783/27 264/774/25 +f 243/301/21 255/778/21 254/775/22 +f 250/291/19 262/779/19 261/776/16 +f 247/310/20 259/780/20 258/777/26 +f 244/304/24 256/938/24 255/778/21 +f 251/293/18 263/782/18 262/779/19 +f 248/312/17 260/772/17 259/780/20 +f 245/305/23 257/773/23 256/781/24 +f 252/295/25 264/774/25 263/782/18 +f 242/300/22 254/775/22 253/783/27 +f 268/303/24 267/302/21 286/331/21 +f 275/294/18 274/292/19 279/330/19 +f 272/289/17 271/311/20 282/327/20 +f 269/307/23 268/306/24 285/313/24 +f 276/296/25 275/294/18 278/319/18 +f 266/299/22 265/297/27 288/334/27 +f 273/290/16 272/289/17 281/316/17 +f 270/309/26 269/307/23 284/315/23 +f 265/297/27 276/296/25 277/341/25 +f 267/302/21 266/299/22 287/340/22 +f 274/292/19 273/290/16 280/328/16 +f 291/342/23 303/797/23 301/784/26 +f 302/785/30 314/375/30 324/374/31 +f 298/674/19 310/939/19 309/787/18 +f 295/317/27 307/940/27 306/788/22 +f 292/320/24 304/798/24 303/789/23 +f 299/323/16 311/941/16 310/790/19 +f 296/675/25 308/799/25 307/791/27 +f 293/676/21 305/800/21 304/792/24 +f 300/332/17 312/801/17 311/793/16 +f 289/335/26 301/802/26 302/794/20 +f 297/677/18 309/942/18 308/795/25 +f 294/678/22 306/943/22 305/796/21 +f 290/679/20 302/785/20 312/786/17 +f 303/797/39 315/345/39 313/344/36 +f 309/787/37 310/939/29 322/366/29 +f 306/788/38 307/940/33 319/357/33 +f 304/798/35 316/348/35 315/347/39 +f 310/790/29 311/941/28 323/369/28 +f 308/799/32 320/360/32 319/359/33 +f 305/800/34 317/351/34 316/350/35 +f 312/801/31 324/372/31 323/371/28 +f 301/802/36 313/378/36 314/377/30 +f 308/795/32 309/942/37 321/363/37 +f 305/796/34 306/943/38 318/354/38 +f 264/805/14 253/944/14 256/803/14 +f 253/944/14 254/945/14 256/803/14 +f 254/945/14 255/946/14 256/803/14 +f 256/803/14 257/947/14 258/948/14 +f 258/948/14 259/949/14 260/804/14 +f 260/804/14 261/950/14 264/805/14 +f 261/950/14 262/951/14 264/805/14 +f 262/951/14 263/952/14 264/805/14 +f 256/803/14 258/948/14 260/804/14 +f 356/403/27 355/401/25 368/417/25 +f 334/382/21 346/810/21 345/806/22 +f 331/400/25 343/811/25 342/807/18 +f 326/390/20 338/817/20 349/808/26 +f 328/394/16 340/812/16 339/809/17 +f 335/383/24 347/813/24 346/810/21 +f 332/402/27 344/814/27 343/811/25 +f 329/396/19 341/953/19 340/812/16 +f 336/385/23 348/816/23 347/813/24 +f 333/380/22 345/806/22 344/814/27 +f 330/397/18 342/807/18 341/815/19 +f 337/387/26 349/808/26 348/816/23 +f 327/392/17 339/809/17 338/817/20 +f 353/395/19 352/393/16 371/414/16 +f 360/386/23 359/384/24 364/420/24 +f 357/404/22 356/403/27 367/419/27 +f 354/399/18 353/398/19 370/405/19 +f 361/388/26 360/386/23 363/411/23 +f 351/391/17 350/389/20 373/425/20 +f 358/381/21 357/404/22 366/408/22 +f 355/401/25 354/399/18 369/407/18 +f 350/389/20 361/388/26 362/433/26 +f 352/393/16 351/391/17 372/432/17 +f 359/384/24 358/381/21 365/430/21 +f 376/434/18 388/831/18 386/818/25 +f 387/819/33 399/467/33 409/466/38 +f 383/681/24 395/954/24 394/821/23 +f 380/409/20 392/955/20 391/822/17 +f 377/412/19 389/832/19 388/823/18 +f 384/682/21 396/956/21 395/824/24 +f 381/683/26 393/957/26 392/825/20 +f 378/421/16 390/833/16 389/826/19 +f 385/423/22 397/834/22 396/827/21 +f 374/426/25 386/835/25 387/828/27 +f 382/684/23 394/958/23 393/829/26 +f 379/685/17 391/959/17 390/830/16 +f 375/686/27 387/819/27 397/820/22 +f 388/831/37 400/437/37 398/436/32 +f 394/821/39 395/954/35 407/458/35 +f 391/822/31 392/955/30 404/449/30 +f 389/832/29 401/440/29 400/439/37 +f 395/824/35 396/956/34 408/461/34 +f 392/825/30 393/957/36 405/452/36 +f 390/833/28 402/443/28 401/442/29 +f 397/834/38 409/464/38 408/463/34 +f 386/835/32 398/470/32 399/469/33 +f 393/829/36 394/958/39 406/455/39 +f 390/830/28 391/959/31 403/446/31 +f 349/960/14 338/961/14 339/962/14 +f 339/962/14 340/963/14 341/836/14 +f 341/836/14 342/964/14 343/837/14 +f 343/837/14 344/965/14 345/838/14 +f 345/838/14 346/966/14 349/960/14 +f 346/966/14 347/967/14 349/960/14 +f 347/967/14 348/968/14 349/960/14 +f 349/960/14 339/962/14 345/838/14 +f 339/962/14 341/836/14 345/838/14 +f 441/495/23 440/493/24 453/509/24 +f 419/474/20 431/843/20 430/839/26 +f 416/492/24 428/844/24 427/840/21 +f 411/482/18 423/850/18 434/841/19 +f 413/486/27 425/845/27 424/842/25 +f 420/475/17 432/846/17 431/843/20 +f 417/494/23 429/847/23 428/844/24 +f 414/488/22 426/969/22 425/845/27 +f 421/477/16 433/849/16 432/846/17 +f 418/472/26 430/839/26 429/847/23 +f 415/489/21 427/840/21 426/848/22 +f 422/479/19 434/841/19 433/849/16 +f 412/484/25 424/842/25 423/850/18 +f 438/487/22 437/485/27 456/506/27 +f 445/478/16 444/476/17 449/513/17 +f 442/496/26 441/495/23 452/500/23 +f 439/491/21 438/490/22 455/688/22 +f 446/480/19 445/478/16 448/503/16 +f 436/483/25 435/481/18 458/516/18 +f 443/473/20 442/496/26 451/502/26 +f 440/493/24 439/491/21 454/497/21 +f 435/481/18 446/480/19 447/523/19 +f 437/485/27 436/483/25 457/522/25 +f 444/476/17 443/473/20 450/511/20 +f 461/524/21 473/864/21 471/851/24 +f 472/852/39 484/557/39 494/556/36 +f 468/498/17 480/865/17 479/854/16 +f 465/689/18 477/866/18 476/855/25 +f 462/504/22 474/970/22 473/856/21 +f 469/690/20 481/867/20 480/857/17 +f 466/691/19 478/971/19 477/858/18 +f 463/692/27 475/868/27 474/859/22 +f 470/514/26 482/972/26 481/860/20 +f 459/517/24 471/869/24 472/861/23 +f 467/693/16 479/973/16 478/862/19 +f 464/694/25 476/974/25 475/863/27 +f 460/695/23 472/852/23 482/853/26 +f 473/864/34 485/527/34 483/526/35 +f 480/865/31 492/548/31 491/547/28 +f 477/866/37 489/539/37 488/538/32 +f 473/856/34 474/970/38 486/530/38 +f 481/867/30 493/551/30 492/550/31 +f 477/858/37 478/971/29 490/542/29 +f 475/868/33 487/533/33 486/532/38 +f 481/860/30 482/972/36 494/554/36 +f 471/869/35 483/560/35 484/559/39 +f 478/862/29 479/973/28 491/545/28 +f 475/863/33 476/974/32 488/536/32 +f 434/872/14 423/975/14 424/976/14 +f 424/976/14 425/977/14 426/870/14 +f 426/870/14 427/978/14 428/979/14 +f 428/979/14 429/980/14 430/871/14 +f 430/871/14 431/981/14 432/982/14 +f 432/982/14 433/983/14 430/871/14 +f 433/983/14 434/872/14 430/871/14 +f 434/872/14 424/976/14 426/870/14 +f 426/870/14 428/979/14 430/871/14 +f 526/584/18 525/582/19 538/599/19 +f 504/564/27 516/877/27 515/873/25 +f 501/583/19 513/878/19 512/874/16 +f 496/572/23 508/884/23 519/875/24 +f 498/576/20 510/879/20 509/876/26 +f 505/566/22 517/880/22 516/877/27 +f 502/585/18 514/881/18 513/878/19 +f 499/578/17 511/984/17 510/879/20 +f 506/567/21 518/883/21 517/880/22 +f 503/562/25 515/873/25 514/881/18 +f 500/581/16 512/874/16 511/882/17 +f 507/569/24 519/875/24 518/883/21 +f 497/574/26 509/876/26 508/884/23 +f 523/577/17 522/575/20 541/596/20 +f 530/568/21 529/565/22 534/593/22 +f 527/586/25 526/584/18 537/590/18 +f 524/580/16 523/696/17 540/587/17 +f 531/570/24 530/568/21 533/595/21 +f 521/573/26 520/571/23 543/605/23 +f 528/563/27 527/586/25 536/592/25 +f 525/582/19 524/580/16 539/589/16 +f 520/571/23 531/570/24 532/612/24 +f 522/575/20 521/573/26 542/611/26 +f 529/565/22 528/563/27 535/601/27 +f 546/613/16 558/898/16 556/885/19 +f 557/886/37 569/646/37 579/645/32 +f 553/697/22 565/899/22 564/888/21 +f 550/698/23 562/900/23 561/889/26 +f 547/699/17 559/985/17 558/890/16 +f 554/700/27 566/901/27 565/891/22 +f 551/701/24 563/986/24 562/892/23 +f 548/702/20 560/987/20 559/893/17 +f 555/603/25 567/902/25 566/894/27 +f 544/606/19 556/988/19 557/895/18 +f 552/703/21 564/989/21 563/896/24 +f 549/704/26 561/990/26 560/897/20 +f 545/705/18 557/886/18 567/887/25 +f 558/898/28 570/616/28 568/615/29 +f 565/899/38 577/637/38 576/636/34 +f 562/900/39 574/628/39 573/627/36 +f 558/890/28 559/985/31 571/619/31 +f 566/901/33 578/640/33 577/639/38 +f 562/892/39 563/986/35 575/631/35 +f 559/893/31 560/987/30 572/622/30 +f 567/902/32 579/643/32 578/642/33 +f 557/895/37 556/988/29 568/649/29 +f 563/896/35 564/989/34 576/634/34 +f 560/897/30 561/990/36 573/625/36 +f 519/991/14 508/992/14 509/993/14 +f 509/993/14 510/994/14 511/903/14 +f 511/903/14 512/995/14 513/904/14 +f 513/904/14 514/996/14 515/905/14 +f 515/905/14 516/997/14 517/998/14 +f 517/998/14 518/999/14 515/905/14 +f 518/999/14 519/991/14 515/905/14 +f 519/991/14 509/993/14 515/905/14 +f 509/993/14 511/903/14 515/905/14 +o Bullets +v 0.250000 2.541016 -0.071041 +v 0.250000 2.571041 -0.041016 +v 0.250000 2.582031 0.000000 +v 0.250000 2.571041 0.041016 +v 0.250000 2.541016 0.071041 +v 0.250000 2.500000 0.082031 +v 0.250000 2.458984 0.071041 +v 0.250000 2.428959 0.041016 +v 0.250000 2.417969 0.000000 +v 0.250000 2.428959 -0.041016 +v 0.250000 2.458984 -0.071041 +v 0.250000 2.500000 -0.082031 +v 0.125000 2.541016 -0.071041 +v 0.125000 2.571041 -0.041016 +v 0.125000 2.582031 0.000000 +v 0.125000 2.571041 0.041016 +v 0.125000 2.541016 0.071041 +v 0.125000 2.500000 0.082031 +v 0.125000 2.458984 0.071041 +v 0.125000 2.428959 0.041016 +v 0.125000 2.417969 0.000000 +v 0.125000 2.428959 -0.041016 +v 0.125000 2.458984 -0.071041 +v 0.125000 2.500000 -0.082031 +v 0.125000 2.582031 -0.142082 +v 0.125000 2.642082 -0.082031 +v 0.125000 2.664062 0.000000 +v 0.125000 2.642082 0.082031 +v 0.125000 2.582031 0.142082 +v 0.125000 2.500000 0.164062 +v 0.125000 2.417969 0.142082 +v 0.125000 2.357918 0.082031 +v 0.125000 2.335938 0.000000 +v 0.125000 2.357918 -0.082031 +v 0.125000 2.417969 -0.142082 +v 0.125000 2.500000 -0.164062 +v 0.500000 2.664063 -0.284164 +v 0.500000 2.784165 -0.164062 +v 0.500000 2.828125 0.000000 +v 0.500000 2.784164 0.164062 +v 0.500000 2.664062 0.284164 +v 0.500000 2.500000 0.328125 +v 0.500000 2.335938 0.284164 +v 0.500000 2.215835 0.164062 +v 0.500000 2.171875 0.000000 +v 0.500000 2.215835 -0.164062 +v 0.500000 2.335938 -0.284164 +v 0.500000 2.500000 -0.328125 +v 0.250000 0.958984 0.071041 +v 0.250000 0.928959 0.041016 +v 0.250000 0.917969 0.000000 +v 0.250000 0.928959 -0.041016 +v 0.250000 0.958984 -0.071041 +v 0.250000 1.000000 -0.082031 +v 0.250000 1.041016 -0.071041 +v 0.250000 1.071041 -0.041016 +v 0.250000 1.082031 0.000000 +v 0.250000 1.071041 0.041016 +v 0.250000 1.041016 0.071041 +v 0.250000 1.000000 0.082031 +v 0.125000 0.958984 0.071041 +v 0.125000 0.928959 0.041016 +v 0.125000 0.917969 0.000000 +v 0.125000 0.928959 -0.041016 +v 0.125000 0.958984 -0.071041 +v 0.125000 1.000000 -0.082031 +v 0.125000 1.041016 -0.071041 +v 0.125000 1.071041 -0.041016 +v 0.125000 1.082031 0.000000 +v 0.125000 1.071041 0.041016 +v 0.125000 1.041016 0.071041 +v 0.125000 1.000000 0.082031 +v 0.125000 0.917969 0.142082 +v 0.125000 0.857918 0.082031 +v 0.125000 0.835938 0.000000 +v 0.125000 0.857918 -0.082031 +v 0.125000 0.917969 -0.142082 +v 0.125000 1.000000 -0.164062 +v 0.125000 1.082031 -0.142082 +v 0.125000 1.142082 -0.082031 +v 0.125000 1.164062 0.000000 +v 0.125000 1.142082 0.082031 +v 0.125000 1.082031 0.142082 +v 0.125000 1.000000 0.164062 +v 0.500000 0.835937 0.284164 +v 0.500000 0.715835 0.164062 +v 0.500000 0.671875 0.000000 +v 0.500000 0.715836 -0.164062 +v 0.500000 0.835938 -0.284164 +v 0.500000 1.000000 -0.328125 +v 0.500000 1.164062 -0.284164 +v 0.500000 1.284165 -0.164062 +v 0.500000 1.328125 0.000000 +v 0.500000 1.284165 0.164062 +v 0.500000 1.164062 0.284164 +v 0.500000 1.000000 0.328125 +v 0.250000 2.207031 0.649519 +v 0.250000 2.196041 0.690535 +v 0.250000 2.166016 0.720560 +v 0.250000 2.125000 0.731550 +v 0.250000 2.083984 0.720560 +v 0.250000 2.053959 0.690535 +v 0.250000 2.042969 0.649519 +v 0.250000 2.053959 0.608504 +v 0.250000 2.083984 0.578478 +v 0.250000 2.125000 0.567488 +v 0.250000 2.166016 0.578478 +v 0.250000 2.196041 0.608503 +v 0.125000 2.207031 0.649519 +v 0.125000 2.196041 0.690535 +v 0.125000 2.166016 0.720560 +v 0.125000 2.125000 0.731550 +v 0.125000 2.083984 0.720560 +v 0.125000 2.053959 0.690535 +v 0.125000 2.042969 0.649519 +v 0.125000 2.053959 0.608504 +v 0.125000 2.083984 0.578478 +v 0.125000 2.125000 0.567488 +v 0.125000 2.166016 0.578478 +v 0.125000 2.196041 0.608503 +v 0.125000 2.289062 0.649519 +v 0.125000 2.267082 0.731550 +v 0.125000 2.207031 0.791601 +v 0.125000 2.125000 0.813581 +v 0.125000 2.042969 0.791601 +v 0.125000 1.982918 0.731550 +v 0.125000 1.960938 0.649519 +v 0.125000 1.982918 0.567488 +v 0.125000 2.042969 0.507437 +v 0.125000 2.125000 0.485457 +v 0.125000 2.207031 0.507437 +v 0.125000 2.267082 0.567488 +v 0.500000 2.453125 0.649519 +v 0.500000 2.409164 0.813582 +v 0.500000 2.289062 0.933684 +v 0.500000 2.125000 0.977644 +v 0.500000 1.960938 0.933684 +v 0.500000 1.840835 0.813581 +v 0.500000 1.796875 0.649519 +v 0.500000 1.840835 0.485456 +v 0.500000 1.960938 0.365355 +v 0.500000 2.125000 0.321394 +v 0.500000 2.289062 0.365355 +v 0.500000 2.409164 0.485456 +v 0.250000 1.292969 -0.649519 +v 0.250000 1.303959 -0.690535 +v 0.250000 1.333984 -0.720560 +v 0.250000 1.375000 -0.731550 +v 0.250000 1.416016 -0.720560 +v 0.250000 1.446041 -0.690535 +v 0.250000 1.457031 -0.649519 +v 0.250000 1.446041 -0.608504 +v 0.250000 1.416016 -0.578478 +v 0.250000 1.375000 -0.567488 +v 0.250000 1.333984 -0.578478 +v 0.250000 1.303959 -0.608503 +v 0.125000 1.292969 -0.649519 +v 0.125000 1.303959 -0.690535 +v 0.125000 1.333984 -0.720560 +v 0.125000 1.375000 -0.731550 +v 0.125000 1.416016 -0.720560 +v 0.125000 1.446041 -0.690535 +v 0.125000 1.457031 -0.649519 +v 0.125000 1.446041 -0.608504 +v 0.125000 1.416016 -0.578478 +v 0.125000 1.375000 -0.567488 +v 0.125000 1.333984 -0.578478 +v 0.125000 1.303959 -0.608503 +v 0.125000 1.210938 -0.649519 +v 0.125000 1.232918 -0.731550 +v 0.125000 1.292969 -0.791601 +v 0.125000 1.375000 -0.813581 +v 0.125000 1.457031 -0.791601 +v 0.125000 1.517082 -0.731550 +v 0.125000 1.539062 -0.649519 +v 0.125000 1.517082 -0.567488 +v 0.125000 1.457031 -0.507437 +v 0.125000 1.375000 -0.485457 +v 0.125000 1.292969 -0.507437 +v 0.125000 1.232918 -0.567488 +v 0.500000 1.046875 -0.649519 +v 0.500000 1.090835 -0.813582 +v 0.500000 1.210938 -0.933684 +v 0.500000 1.375000 -0.977644 +v 0.500000 1.539062 -0.933684 +v 0.500000 1.659165 -0.813581 +v 0.500000 1.703125 -0.649519 +v 0.500000 1.659165 -0.485456 +v 0.500000 1.539062 -0.365355 +v 0.500000 1.375000 -0.321394 +v 0.500000 1.210938 -0.365355 +v 0.500000 1.090835 -0.485456 +v 0.250000 1.416016 0.720560 +v 0.250000 1.375000 0.731550 +v 0.250000 1.333984 0.720560 +v 0.250000 1.303959 0.690535 +v 0.250000 1.292969 0.649519 +v 0.250000 1.303959 0.608503 +v 0.250000 1.333984 0.578478 +v 0.250000 1.375000 0.567488 +v 0.250000 1.416016 0.578478 +v 0.250000 1.446041 0.608503 +v 0.250000 1.457031 0.649519 +v 0.250000 1.446041 0.690535 +v 0.125000 1.416016 0.720560 +v 0.125000 1.375000 0.731550 +v 0.125000 1.333984 0.720560 +v 0.125000 1.303959 0.690535 +v 0.125000 1.292969 0.649519 +v 0.125000 1.303959 0.608503 +v 0.125000 1.333984 0.578478 +v 0.125000 1.375000 0.567488 +v 0.125000 1.416016 0.578478 +v 0.125000 1.446041 0.608503 +v 0.125000 1.457031 0.649519 +v 0.125000 1.446041 0.690535 +v 0.125000 1.457031 0.791601 +v 0.125000 1.375000 0.813581 +v 0.125000 1.292969 0.791601 +v 0.125000 1.232918 0.731550 +v 0.125000 1.210937 0.649519 +v 0.125000 1.232918 0.567488 +v 0.125000 1.292969 0.507437 +v 0.125000 1.375000 0.485456 +v 0.125000 1.457031 0.507437 +v 0.125000 1.517082 0.567488 +v 0.125000 1.539062 0.649519 +v 0.125000 1.517082 0.731550 +v 0.500000 1.539062 0.933684 +v 0.500000 1.375000 0.977644 +v 0.500000 1.210937 0.933684 +v 0.500000 1.090835 0.813581 +v 0.500000 1.046875 0.649519 +v 0.500000 1.090835 0.485456 +v 0.500000 1.210938 0.365355 +v 0.500000 1.375000 0.321394 +v 0.500000 1.539062 0.365355 +v 0.500000 1.659165 0.485456 +v 0.500000 1.703125 0.649519 +v 0.500000 1.659165 0.813581 +v 0.250000 2.083984 -0.720560 +v 0.250000 2.125000 -0.731550 +v 0.250000 2.166016 -0.720560 +v 0.250000 2.196041 -0.690535 +v 0.250000 2.207031 -0.649519 +v 0.250000 2.196041 -0.608503 +v 0.250000 2.166016 -0.578478 +v 0.250000 2.125000 -0.567488 +v 0.250000 2.083984 -0.578478 +v 0.250000 2.053959 -0.608503 +v 0.250000 2.042969 -0.649519 +v 0.250000 2.053959 -0.690535 +v 0.125000 2.083984 -0.720560 +v 0.125000 2.125000 -0.731550 +v 0.125000 2.166016 -0.720560 +v 0.125000 2.196041 -0.690535 +v 0.125000 2.207031 -0.649519 +v 0.125000 2.196041 -0.608503 +v 0.125000 2.166016 -0.578478 +v 0.125000 2.125000 -0.567488 +v 0.125000 2.083984 -0.578478 +v 0.125000 2.053959 -0.608503 +v 0.125000 2.042969 -0.649519 +v 0.125000 2.053959 -0.690535 +v 0.125000 2.042969 -0.791601 +v 0.125000 2.125000 -0.813581 +v 0.125000 2.207031 -0.791601 +v 0.125000 2.267082 -0.731550 +v 0.125000 2.289062 -0.649519 +v 0.125000 2.267082 -0.567488 +v 0.125000 2.207031 -0.507437 +v 0.125000 2.125000 -0.485456 +v 0.125000 2.042969 -0.507437 +v 0.125000 1.982918 -0.567488 +v 0.125000 1.960938 -0.649519 +v 0.125000 1.982918 -0.731550 +v 0.500000 1.960938 -0.933684 +v 0.500000 2.125000 -0.977644 +v 0.500000 2.289062 -0.933684 +v 0.500000 2.409165 -0.813581 +v 0.500000 2.453125 -0.649519 +v 0.500000 2.409165 -0.485456 +v 0.500000 2.289062 -0.365355 +v 0.500000 2.125000 -0.321394 +v 0.500000 1.960938 -0.365355 +v 0.500000 1.840835 -0.485456 +v 0.500000 1.796875 -0.649519 +v 0.500000 1.840835 -0.813581 +vt 0.000769 0.976393 +vt 0.005396 0.968575 +vt 0.010023 0.992028 +vt 0.057554 0.936842 +vt 0.061151 0.947368 +vt 0.057554 0.947368 +vt 0.115108 0.936842 +vt 0.111511 0.947368 +vt 0.111511 0.936842 +vt 0.089928 0.936842 +vt 0.093525 0.947368 +vt 0.089928 0.947368 +vt 0.017986 0.936842 +vt 0.014388 0.947368 +vt 0.014388 0.936842 +vt 0.050360 0.936842 +vt 0.046763 0.947368 +vt 0.046763 0.936842 +vt 0.104317 0.936842 +vt 0.100719 0.947368 +vt 0.100719 0.936842 +vt 0.082734 0.936842 +vt 0.079137 0.947368 +vt 0.079137 0.936842 +vt 0.007194 0.936842 +vt 0.003597 0.947368 +vt 0.003597 0.936842 +vt 0.039568 0.936842 +vt 0.035971 0.947368 +vt 0.035971 0.936842 +vt 0.071942 0.936842 +vt 0.068345 0.947368 +vt 0.068345 0.936842 +vt 0.122302 0.936842 +vt 0.125899 0.947368 +vt 0.122302 0.947368 +vt 0.025180 0.936842 +vt 0.028777 0.947368 +vt 0.025180 0.947368 +vt 0.005396 0.968575 +vt 0.010023 0.992028 +vt 0.000769 0.992028 +vt 0.057554 0.936842 +vt 0.061151 0.947368 +vt 0.057554 0.947368 +vt 0.115108 0.936842 +vt 0.111511 0.947368 +vt 0.111511 0.936842 +vt 0.089928 0.936842 +vt 0.093525 0.947368 +vt 0.089928 0.947368 +vt 0.017986 0.936842 +vt 0.014388 0.947368 +vt 0.014388 0.936842 +vt 0.050360 0.936842 +vt 0.046763 0.947368 +vt 0.046763 0.936842 +vt 0.104317 0.936842 +vt 0.100719 0.947368 +vt 0.100719 0.936842 +vt 0.082734 0.936842 +vt 0.079137 0.947368 +vt 0.079137 0.936842 +vt 0.007194 0.936842 +vt 0.003597 0.947368 +vt 0.003597 0.936842 +vt 0.039568 0.936842 +vt 0.035971 0.947368 +vt 0.035971 0.936842 +vt 0.071942 0.936842 +vt 0.068345 0.947368 +vt 0.068345 0.936842 +vt 0.122302 0.936842 +vt 0.125899 0.947368 +vt 0.122302 0.947368 +vt 0.025180 0.936842 +vt 0.028777 0.947368 +vt 0.025180 0.947368 +vt 0.005396 0.968575 +vt 0.010023 0.992028 +vt 0.000769 0.992028 +vt 0.057554 0.936842 +vt 0.061151 0.947368 +vt 0.057554 0.947368 +vt 0.115108 0.936842 +vt 0.111511 0.947368 +vt 0.111511 0.936842 +vt 0.093525 0.936842 +vt 0.089928 0.947368 +vt 0.089928 0.936842 +vt 0.014388 0.936842 +vt 0.017986 0.947368 +vt 0.014388 0.947368 +vt 0.046763 0.936842 +vt 0.050360 0.947368 +vt 0.046763 0.947368 +vt 0.104317 0.936842 +vt 0.100719 0.947368 +vt 0.100719 0.936842 +vt 0.082734 0.936842 +vt 0.079137 0.947368 +vt 0.079137 0.936842 +vt 0.007194 0.936842 +vt 0.003597 0.947368 +vt 0.003597 0.936842 +vt 0.035971 0.936842 +vt 0.039568 0.947368 +vt 0.035971 0.947368 +vt 0.071942 0.936842 +vt 0.068345 0.947368 +vt 0.068345 0.936842 +vt 0.122302 0.936842 +vt 0.125899 0.947368 +vt 0.122302 0.947368 +vt 0.028777 0.936842 +vt 0.025180 0.947368 +vt 0.025180 0.936842 +vt 0.005396 0.968575 +vt 0.010023 0.992028 +vt 0.000769 0.992028 +vt 0.057554 0.936842 +vt 0.061151 0.947368 +vt 0.057554 0.947368 +vt 0.115108 0.936842 +vt 0.111511 0.947368 +vt 0.111511 0.936842 +vt 0.093525 0.936842 +vt 0.089928 0.947368 +vt 0.089928 0.936842 +vt 0.014388 0.936842 +vt 0.017986 0.947368 +vt 0.014388 0.947368 +vt 0.046763 0.936842 +vt 0.050360 0.947368 +vt 0.046763 0.947368 +vt 0.100719 0.936842 +vt 0.104317 0.947368 +vt 0.100719 0.947368 +vt 0.082734 0.936842 +vt 0.079137 0.947368 +vt 0.079137 0.936842 +vt 0.007194 0.936842 +vt 0.003597 0.947368 +vt 0.003597 0.936842 +vt 0.035971 0.936842 +vt 0.039568 0.947368 +vt 0.035971 0.947368 +vt 0.071942 0.936842 +vt 0.068345 0.947368 +vt 0.068345 0.936842 +vt 0.122302 0.936842 +vt 0.125899 0.947368 +vt 0.122302 0.947368 +vt 0.028777 0.936842 +vt 0.025180 0.947368 +vt 0.025180 0.936842 +vt 0.005396 0.968575 +vt 0.010023 0.992028 +vt 0.000769 0.992028 +vt 0.057554 0.936842 +vt 0.061151 0.947368 +vt 0.057554 0.947368 +vt 0.115108 0.936842 +vt 0.111511 0.947368 +vt 0.111511 0.936842 +vt 0.093525 0.936842 +vt 0.089928 0.947368 +vt 0.089928 0.936842 +vt 0.014388 0.936842 +vt 0.017986 0.947368 +vt 0.014388 0.947368 +vt 0.050360 0.936842 +vt 0.046763 0.947368 +vt 0.046763 0.936842 +vt 0.100719 0.936842 +vt 0.104317 0.947368 +vt 0.100719 0.947368 +vt 0.082734 0.936842 +vt 0.079137 0.947368 +vt 0.079137 0.936842 +vt 0.007194 0.936842 +vt 0.003597 0.947368 +vt 0.003597 0.936842 +vt 0.035971 0.936842 +vt 0.039568 0.947368 +vt 0.035971 0.947368 +vt 0.071942 0.936842 +vt 0.068345 0.947368 +vt 0.068345 0.936842 +vt 0.122302 0.936842 +vt 0.125899 0.947368 +vt 0.122302 0.947368 +vt 0.028777 0.936842 +vt 0.025180 0.947368 +vt 0.025180 0.936842 +vt 0.005396 0.968575 +vt 0.010023 0.992028 +vt 0.000769 0.992028 +vt 0.057554 0.936842 +vt 0.061151 0.947368 +vt 0.057554 0.947368 +vt 0.115108 0.936842 +vt 0.111511 0.947368 +vt 0.111511 0.936842 +vt 0.093525 0.936842 +vt 0.089928 0.947368 +vt 0.089928 0.936842 +vt 0.014388 0.936842 +vt 0.017986 0.947368 +vt 0.014388 0.947368 +vt 0.050360 0.936842 +vt 0.046763 0.947368 +vt 0.046763 0.936842 +vt 0.104317 0.936842 +vt 0.100719 0.947368 +vt 0.100719 0.936842 +vt 0.082734 0.936842 +vt 0.079137 0.947368 +vt 0.079137 0.936842 +vt 0.007194 0.936842 +vt 0.003597 0.947368 +vt 0.003597 0.936842 +vt 0.035971 0.936842 +vt 0.039568 0.947368 +vt 0.035971 0.947368 +vt 0.071942 0.936842 +vt 0.068345 0.947368 +vt 0.068345 0.936842 +vt 0.122302 0.936842 +vt 0.125899 0.947368 +vt 0.122302 0.947368 +vt 0.028777 0.936842 +vt 0.025180 0.947368 +vt 0.025180 0.936842 +vt 0.000769 0.992028 +vt 0.000053 0.984211 +vt 0.002724 0.970670 +vt 0.008067 0.970670 +vt 0.010023 0.976393 +vt 0.010739 0.984211 +vt 0.008067 0.997751 +vt 0.005396 0.999846 +vt 0.002724 0.997751 +vt 0.061151 0.936842 +vt 0.115108 0.947368 +vt 0.093525 0.936842 +vt 0.017986 0.947368 +vt 0.050360 0.947368 +vt 0.104317 0.947368 +vt 0.082734 0.947368 +vt 0.007194 0.947368 +vt 0.039568 0.947368 +vt 0.071942 0.947368 +vt 0.125899 0.936842 +vt 0.028777 0.936842 +vt 0.000053 0.984211 +vt 0.000769 0.976393 +vt 0.002724 0.970670 +vt 0.008067 0.970670 +vt 0.010023 0.976393 +vt 0.010739 0.984211 +vt 0.008067 0.997751 +vt 0.005396 0.999846 +vt 0.002724 0.997751 +vt 0.061151 0.936842 +vt 0.115108 0.947368 +vt 0.093525 0.936842 +vt 0.017986 0.947368 +vt 0.050360 0.947368 +vt 0.104317 0.947368 +vt 0.082734 0.947368 +vt 0.007194 0.947368 +vt 0.039568 0.947368 +vt 0.071942 0.947368 +vt 0.125899 0.936842 +vt 0.028777 0.936842 +vt 0.000053 0.984211 +vt 0.000769 0.976393 +vt 0.002724 0.970670 +vt 0.008067 0.970670 +vt 0.010023 0.976393 +vt 0.010739 0.984211 +vt 0.008067 0.997751 +vt 0.005396 0.999846 +vt 0.002724 0.997751 +vt 0.061151 0.936842 +vt 0.115108 0.947368 +vt 0.093525 0.947368 +vt 0.017986 0.936842 +vt 0.050360 0.936842 +vt 0.104317 0.947368 +vt 0.082734 0.947368 +vt 0.007194 0.947368 +vt 0.039568 0.936842 +vt 0.071942 0.947368 +vt 0.125899 0.936842 +vt 0.028777 0.947368 +vt 0.000053 0.984211 +vt 0.000769 0.976393 +vt 0.002724 0.970670 +vt 0.008067 0.970670 +vt 0.010023 0.976393 +vt 0.010739 0.984211 +vt 0.008067 0.997751 +vt 0.005396 0.999846 +vt 0.002724 0.997751 +vt 0.061151 0.936842 +vt 0.115108 0.947368 +vt 0.093525 0.947368 +vt 0.017986 0.936842 +vt 0.050360 0.936842 +vt 0.104317 0.936842 +vt 0.082734 0.947368 +vt 0.007194 0.947368 +vt 0.039568 0.936842 +vt 0.071942 0.947368 +vt 0.125899 0.936842 +vt 0.028777 0.947368 +vt 0.000053 0.984211 +vt 0.000769 0.976393 +vt 0.002724 0.970670 +vt 0.008067 0.970670 +vt 0.010023 0.976393 +vt 0.010739 0.984211 +vt 0.008067 0.997751 +vt 0.005396 0.999846 +vt 0.002724 0.997751 +vt 0.061151 0.936842 +vt 0.115108 0.947368 +vt 0.093525 0.947368 +vt 0.017986 0.936842 +vt 0.050360 0.947368 +vt 0.104317 0.936842 +vt 0.082734 0.947368 +vt 0.007194 0.947368 +vt 0.039568 0.936842 +vt 0.071942 0.947368 +vt 0.125899 0.936842 +vt 0.028777 0.947368 +vt 0.000053 0.984211 +vt 0.000769 0.976393 +vt 0.002724 0.970670 +vt 0.008067 0.970670 +vt 0.010023 0.976393 +vt 0.010739 0.984211 +vt 0.008067 0.997751 +vt 0.005396 0.999846 +vt 0.002724 0.997751 +vt 0.061151 0.936842 +vt 0.115108 0.947368 +vt 0.093525 0.947368 +vt 0.017986 0.936842 +vt 0.050360 0.947368 +vt 0.104317 0.947368 +vt 0.082734 0.947368 +vt 0.007194 0.947368 +vt 0.039568 0.936842 +vt 0.071942 0.947368 +vt 0.125899 0.936842 +vt 0.028777 0.947368 +vt 0.014388 0.968421 +vt 0.046763 0.968421 +vt 0.100719 0.968421 +vt 0.079137 0.968421 +vt 0.003597 0.968421 +vt 0.035971 0.968421 +vt 0.068345 0.968421 +vt 0.122302 0.968421 +vt 0.025180 0.968421 +vt 0.057554 0.968421 +vt 0.111511 0.968421 +vt 0.089928 0.968421 +vt 0.032374 0.873684 +vt 0.021583 0.873684 +vt 0.053957 0.873684 +vt 0.118705 0.873684 +vt 0.107914 0.873684 +vt 0.097122 0.873684 +vt 0.086331 0.873684 +vt 0.010791 0.873684 +vt 0.043165 0.873684 +vt 0.075540 0.873684 +vt -0.000000 0.873684 +vt 0.064748 0.873684 +vt 0.014388 0.968421 +vt 0.046763 0.968421 +vt 0.100719 0.968421 +vt 0.079137 0.968421 +vt 0.003597 0.968421 +vt 0.035971 0.968421 +vt 0.068345 0.968421 +vt 0.122302 0.968421 +vt 0.025180 0.968421 +vt 0.057554 0.968421 +vt 0.111511 0.968421 +vt 0.089928 0.968421 +vt 0.021583 0.873684 +vt 0.064748 0.873684 +vt 0.053957 0.873684 +vt 0.107914 0.873684 +vt 0.086331 0.873684 +vt 0.010791 0.873684 +vt 0.043165 0.873684 +vt 0.097122 0.873684 +vt 0.075540 0.873684 +vt -0.000000 0.873684 +vt 0.032374 0.873684 +vt 0.118705 0.873684 +vt 0.014388 0.968421 +vt 0.046763 0.968421 +vt 0.100719 0.968421 +vt 0.079137 0.968421 +vt 0.003597 0.968421 +vt 0.035971 0.968421 +vt 0.068345 0.968421 +vt 0.122302 0.968421 +vt 0.025180 0.968421 +vt 0.057554 0.968421 +vt 0.111511 0.968421 +vt 0.089928 0.968421 +vt 0.032374 0.873684 +vt 0.021583 0.873684 +vt 0.064748 0.873684 +vt 0.053957 0.873684 +vt 0.118705 0.873684 +vt 0.107914 0.873684 +vt 0.097122 0.873684 +vt 0.086331 0.873684 +vt 0.010791 0.873684 +vt 0.043165 0.873684 +vt 0.075540 0.873684 +vt -0.000000 0.873684 +vt 0.014388 0.968421 +vt 0.046763 0.968421 +vt 0.100719 0.968421 +vt 0.079137 0.968421 +vt 0.003597 0.968421 +vt 0.035971 0.968421 +vt 0.068345 0.968421 +vt 0.122302 0.968421 +vt 0.025180 0.968421 +vt 0.057554 0.968421 +vt 0.111511 0.968421 +vt 0.089928 0.968421 +vt 0.021583 0.873684 +vt 0.053957 0.873684 +vt 0.118705 0.873684 +vt 0.107914 0.873684 +vt 0.097122 0.873684 +vt 0.086331 0.873684 +vt 0.010791 0.873684 +vt 0.043165 0.873684 +vt 0.075540 0.873684 +vt -0.000000 0.873684 +vt 0.032374 0.873684 +vt 0.064748 0.873684 +vt 0.014388 0.968421 +vt 0.046763 0.968421 +vt 0.100719 0.968421 +vt 0.079137 0.968421 +vt 0.003597 0.968421 +vt 0.035971 0.968421 +vt 0.068345 0.968421 +vt 0.122302 0.968421 +vt 0.025180 0.968421 +vt 0.057554 0.968421 +vt 0.111511 0.968421 +vt 0.089928 0.968421 +vt 0.021583 0.873684 +vt 0.064748 0.873684 +vt 0.053957 0.873684 +vt 0.118705 0.873684 +vt 0.107914 0.873684 +vt 0.097122 0.873684 +vt 0.086331 0.873684 +vt 0.010791 0.873684 +vt 0.043165 0.873684 +vt 0.075540 0.873684 +vt -0.000000 0.873684 +vt 0.032374 0.873684 +vt 0.129496 0.873684 +vt 0.014388 0.968421 +vt 0.046763 0.968421 +vt 0.100719 0.968421 +vt 0.079137 0.968421 +vt 0.003597 0.968421 +vt 0.035971 0.968421 +vt 0.068345 0.968421 +vt 0.122302 0.968421 +vt 0.025180 0.968421 +vt 0.057554 0.968421 +vt 0.111511 0.968421 +vt 0.089928 0.968421 +vt 0.032374 0.873684 +vt 0.021583 0.873684 +vt 0.064748 0.873684 +vt 0.053957 0.873684 +vt 0.107914 0.873684 +vt 0.086331 0.873684 +vt 0.010791 0.873684 +vt 0.043165 0.873684 +vt 0.097122 0.873684 +vt 0.075540 0.873684 +vt -0.000000 0.873684 +vt 0.118705 0.873684 +vt 0.017986 0.968421 +vt 0.050360 0.968421 +vt 0.104317 0.968421 +vt 0.082734 0.968421 +vt 0.007194 0.968421 +vt 0.039568 0.968421 +vt 0.071942 0.968421 +vt 0.125899 0.968421 +vt 0.028777 0.968421 +vt 0.061151 0.968421 +vt 0.115108 0.968421 +vt 0.093525 0.968421 +vt 0.129496 0.873684 +vt 0.017986 0.968421 +vt 0.050360 0.968421 +vt 0.104317 0.968421 +vt 0.082734 0.968421 +vt 0.007194 0.968421 +vt 0.039568 0.968421 +vt 0.071942 0.968421 +vt 0.125899 0.968421 +vt 0.028777 0.968421 +vt 0.061151 0.968421 +vt 0.115108 0.968421 +vt 0.093525 0.968421 +vt 0.129496 0.873684 +vt 0.017986 0.968421 +vt 0.050360 0.968421 +vt 0.104317 0.968421 +vt 0.082734 0.968421 +vt 0.007194 0.968421 +vt 0.039568 0.968421 +vt 0.071942 0.968421 +vt 0.125899 0.968421 +vt 0.028777 0.968421 +vt 0.061151 0.968421 +vt 0.115108 0.968421 +vt 0.093525 0.968421 +vt 0.129496 0.873684 +vt 0.017986 0.968421 +vt 0.050360 0.968421 +vt 0.104317 0.968421 +vt 0.082734 0.968421 +vt 0.007194 0.968421 +vt 0.039568 0.968421 +vt 0.071942 0.968421 +vt 0.125899 0.968421 +vt 0.028777 0.968421 +vt 0.061151 0.968421 +vt 0.115108 0.968421 +vt 0.093525 0.968421 +vt 0.129496 0.873684 +vt 0.017986 0.968421 +vt 0.050360 0.968421 +vt 0.104317 0.968421 +vt 0.082734 0.968421 +vt 0.007194 0.968421 +vt 0.039568 0.968421 +vt 0.071942 0.968421 +vt 0.125899 0.968421 +vt 0.028777 0.968421 +vt 0.061151 0.968421 +vt 0.115108 0.968421 +vt 0.093525 0.968421 +vt 0.017986 0.968421 +vt 0.050360 0.968421 +vt 0.104317 0.968421 +vt 0.082734 0.968421 +vt 0.007194 0.968421 +vt 0.039568 0.968421 +vt 0.071942 0.968421 +vt 0.125899 0.968421 +vt 0.028777 0.968421 +vt 0.061151 0.968421 +vt 0.115108 0.968421 +vt 0.093525 0.968421 +vt 0.129496 0.873684 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.5000 -0.8660 +vn 0.0000 0.8660 -0.5000 +vn 0.0000 -0.8660 -0.5000 +vn 0.0000 -0.5000 -0.8660 +vn 0.0000 0.5000 0.8660 +vn 0.0000 -0.0000 1.0000 +vn 0.0000 -0.5000 0.8660 +vn 0.0000 -0.8660 0.5000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -1.0000 -0.0000 +vn 0.0000 0.8660 0.5000 +vn -0.4008 0.0000 0.9162 +vn -0.4008 -0.4581 0.7934 +vn -0.4008 0.7934 0.4581 +vn -0.4008 0.9162 0.0000 +vn -0.4008 -0.7934 -0.4581 +vn -0.4008 -0.4581 -0.7934 +vn -0.4008 -0.0000 -0.9162 +vn -0.4008 0.4581 -0.7934 +vn -0.4008 -0.7934 0.4581 +vn -0.4008 0.4581 0.7934 +vn -0.4008 0.7934 -0.4581 +vn -0.4008 -0.9162 0.0000 +s off +f 591/1000/40 589/1001/40 585/1002/40 +f 608/1003/40 595/1004/40 596/1005/40 +f 614/1006/40 603/1007/40 615/1008/40 +f 605/1009/40 604/1010/40 593/1011/40 +f 611/1012/40 600/1013/40 612/1014/40 +f 608/1015/40 597/1016/40 609/1017/40 +f 615/1018/40 604/1019/40 616/1020/40 +f 605/1021/40 594/1022/40 606/1023/40 +f 612/1024/40 601/1025/40 613/1026/40 +f 609/1027/40 598/1028/40 610/1029/40 +f 606/1030/40 595/1031/40 607/1032/40 +f 614/1033/40 601/1034/40 602/1035/40 +f 611/1036/40 598/1037/40 599/1038/40 +f 637/1039/40 633/1040/40 629/1041/40 +f 656/1042/40 643/1043/40 644/1044/40 +f 662/1045/40 651/1046/40 663/1047/40 +f 653/1048/40 652/1049/40 641/1050/40 +f 659/1051/40 648/1052/40 660/1053/40 +f 656/1054/40 645/1055/40 657/1056/40 +f 663/1057/40 652/1058/40 664/1059/40 +f 653/1060/40 642/1061/40 654/1062/40 +f 660/1063/40 649/1064/40 661/1065/40 +f 657/1066/40 646/1067/40 658/1068/40 +f 654/1069/40 643/1070/40 655/1071/40 +f 662/1072/40 649/1073/40 650/1074/40 +f 659/1075/40 646/1076/40 647/1077/40 +f 685/1078/40 681/1079/40 677/1080/40 +f 704/1081/40 691/1082/40 692/1083/40 +f 710/1084/40 699/1085/40 711/1086/40 +f 712/1087/40 689/1088/40 701/1089/40 +f 708/1090/40 695/1091/40 696/1092/40 +f 705/1093/40 692/1094/40 693/1095/40 +f 711/1096/40 700/1097/40 712/1098/40 +f 701/1099/40 690/1100/40 702/1101/40 +f 708/1102/40 697/1103/40 709/1104/40 +f 706/1105/40 693/1106/40 694/1107/40 +f 702/1108/40 691/1109/40 703/1110/40 +f 710/1111/40 697/1112/40 698/1113/40 +f 706/1114/40 695/1115/40 707/1116/40 +f 733/1117/40 729/1118/40 725/1119/40 +f 752/1120/40 739/1121/40 740/1122/40 +f 758/1123/40 747/1124/40 759/1125/40 +f 760/1126/40 737/1127/40 749/1128/40 +f 756/1129/40 743/1130/40 744/1131/40 +f 753/1132/40 740/1133/40 741/1134/40 +f 760/1135/40 747/1136/40 748/1137/40 +f 749/1138/40 738/1139/40 750/1140/40 +f 756/1141/40 745/1142/40 757/1143/40 +f 754/1144/40 741/1145/40 742/1146/40 +f 750/1147/40 739/1148/40 751/1149/40 +f 758/1150/40 745/1151/40 746/1152/40 +f 754/1153/40 743/1154/40 755/1155/40 +f 781/1156/40 777/1157/40 773/1158/40 +f 800/1159/40 787/1160/40 788/1161/40 +f 806/1162/40 795/1163/40 807/1164/40 +f 808/1165/40 785/1166/40 797/1167/40 +f 804/1168/40 791/1169/40 792/1170/40 +f 800/1171/40 789/1172/40 801/1173/40 +f 808/1174/40 795/1175/40 796/1176/40 +f 797/1177/40 786/1178/40 798/1179/40 +f 804/1180/40 793/1181/40 805/1182/40 +f 802/1183/40 789/1184/40 790/1185/40 +f 798/1186/40 787/1187/40 799/1188/40 +f 806/1189/40 793/1190/40 794/1191/40 +f 802/1192/40 791/1193/40 803/1194/40 +f 829/1195/40 825/1196/40 821/1197/40 +f 848/1198/40 835/1199/40 836/1200/40 +f 854/1201/40 843/1202/40 855/1203/40 +f 856/1204/40 833/1205/40 845/1206/40 +f 852/1207/40 839/1208/40 840/1209/40 +f 848/1210/40 837/1211/40 849/1212/40 +f 855/1213/40 844/1214/40 856/1215/40 +f 845/1216/40 834/1217/40 846/1218/40 +f 852/1219/40 841/1220/40 853/1221/40 +f 850/1222/40 837/1223/40 838/1224/40 +f 846/1225/40 835/1226/40 847/1227/40 +f 854/1228/40 841/1229/40 842/1230/40 +f 850/1231/40 839/1232/40 851/1233/40 +f 581/1234/40 592/1235/40 591/1000/40 +f 591/1000/40 590/1236/40 589/1001/40 +f 589/1001/40 588/1237/40 585/1002/40 +f 588/1237/40 587/1238/40 585/1002/40 +f 587/1238/40 586/1239/40 585/1002/40 +f 585/1002/40 584/1240/40 581/1234/40 +f 584/1240/40 583/1241/40 581/1234/40 +f 583/1241/40 582/1242/40 581/1234/40 +f 581/1234/40 591/1000/40 585/1002/40 +f 608/1003/40 607/1243/40 595/1004/40 +f 614/1006/40 602/1244/40 603/1007/40 +f 605/1009/40 616/1245/40 604/1010/40 +f 611/1012/40 599/1246/40 600/1013/40 +f 608/1015/40 596/1247/40 597/1016/40 +f 615/1018/40 603/1248/40 604/1019/40 +f 605/1021/40 593/1249/40 594/1022/40 +f 612/1024/40 600/1250/40 601/1025/40 +f 609/1027/40 597/1251/40 598/1028/40 +f 606/1030/40 594/1252/40 595/1031/40 +f 614/1033/40 613/1253/40 601/1034/40 +f 611/1036/40 610/1254/40 598/1037/40 +f 629/1041/40 640/1255/40 639/1256/40 +f 639/1256/40 638/1257/40 629/1041/40 +f 638/1257/40 637/1039/40 629/1041/40 +f 637/1039/40 636/1258/40 633/1040/40 +f 636/1258/40 635/1259/40 633/1040/40 +f 635/1259/40 634/1260/40 633/1040/40 +f 633/1040/40 632/1261/40 631/1262/40 +f 631/1262/40 630/1263/40 633/1040/40 +f 630/1263/40 629/1041/40 633/1040/40 +f 656/1042/40 655/1264/40 643/1043/40 +f 662/1045/40 650/1265/40 651/1046/40 +f 653/1048/40 664/1266/40 652/1049/40 +f 659/1051/40 647/1267/40 648/1052/40 +f 656/1054/40 644/1268/40 645/1055/40 +f 663/1057/40 651/1269/40 652/1058/40 +f 653/1060/40 641/1270/40 642/1061/40 +f 660/1063/40 648/1271/40 649/1064/40 +f 657/1066/40 645/1272/40 646/1067/40 +f 654/1069/40 642/1273/40 643/1070/40 +f 662/1072/40 661/1274/40 649/1073/40 +f 659/1075/40 658/1275/40 646/1076/40 +f 677/1080/40 688/1276/40 687/1277/40 +f 687/1277/40 686/1278/40 677/1080/40 +f 686/1278/40 685/1078/40 677/1080/40 +f 685/1078/40 684/1279/40 681/1079/40 +f 684/1279/40 683/1280/40 681/1079/40 +f 683/1280/40 682/1281/40 681/1079/40 +f 681/1079/40 680/1282/40 679/1283/40 +f 679/1283/40 678/1284/40 681/1079/40 +f 678/1284/40 677/1080/40 681/1079/40 +f 704/1081/40 703/1285/40 691/1082/40 +f 710/1084/40 698/1286/40 699/1085/40 +f 712/1087/40 700/1287/40 689/1088/40 +f 708/1090/40 707/1288/40 695/1091/40 +f 705/1093/40 704/1289/40 692/1094/40 +f 711/1096/40 699/1290/40 700/1097/40 +f 701/1099/40 689/1291/40 690/1100/40 +f 708/1102/40 696/1292/40 697/1103/40 +f 706/1105/40 705/1293/40 693/1106/40 +f 702/1108/40 690/1294/40 691/1109/40 +f 710/1111/40 709/1295/40 697/1112/40 +f 706/1114/40 694/1296/40 695/1115/40 +f 725/1119/40 736/1297/40 735/1298/40 +f 735/1298/40 734/1299/40 725/1119/40 +f 734/1299/40 733/1117/40 725/1119/40 +f 733/1117/40 732/1300/40 729/1118/40 +f 732/1300/40 731/1301/40 729/1118/40 +f 731/1301/40 730/1302/40 729/1118/40 +f 729/1118/40 728/1303/40 727/1304/40 +f 727/1304/40 726/1305/40 729/1118/40 +f 726/1305/40 725/1119/40 729/1118/40 +f 752/1120/40 751/1306/40 739/1121/40 +f 758/1123/40 746/1307/40 747/1124/40 +f 760/1126/40 748/1308/40 737/1127/40 +f 756/1129/40 755/1309/40 743/1130/40 +f 753/1132/40 752/1310/40 740/1133/40 +f 760/1135/40 759/1311/40 747/1136/40 +f 749/1138/40 737/1312/40 738/1139/40 +f 756/1141/40 744/1313/40 745/1142/40 +f 754/1144/40 753/1314/40 741/1145/40 +f 750/1147/40 738/1315/40 739/1148/40 +f 758/1150/40 757/1316/40 745/1151/40 +f 754/1153/40 742/1317/40 743/1154/40 +f 773/1158/40 784/1318/40 783/1319/40 +f 783/1319/40 782/1320/40 773/1158/40 +f 782/1320/40 781/1156/40 773/1158/40 +f 781/1156/40 780/1321/40 777/1157/40 +f 780/1321/40 779/1322/40 777/1157/40 +f 779/1322/40 778/1323/40 777/1157/40 +f 777/1157/40 776/1324/40 773/1158/40 +f 776/1324/40 775/1325/40 773/1158/40 +f 775/1325/40 774/1326/40 773/1158/40 +f 800/1159/40 799/1327/40 787/1160/40 +f 806/1162/40 794/1328/40 795/1163/40 +f 808/1165/40 796/1329/40 785/1166/40 +f 804/1168/40 803/1330/40 791/1169/40 +f 800/1171/40 788/1331/40 789/1172/40 +f 808/1174/40 807/1332/40 795/1175/40 +f 797/1177/40 785/1333/40 786/1178/40 +f 804/1180/40 792/1334/40 793/1181/40 +f 802/1183/40 801/1335/40 789/1184/40 +f 798/1186/40 786/1336/40 787/1187/40 +f 806/1189/40 805/1337/40 793/1190/40 +f 802/1192/40 790/1338/40 791/1193/40 +f 821/1197/40 832/1339/40 831/1340/40 +f 831/1340/40 830/1341/40 821/1197/40 +f 830/1341/40 829/1195/40 821/1197/40 +f 829/1195/40 828/1342/40 825/1196/40 +f 828/1342/40 827/1343/40 825/1196/40 +f 827/1343/40 826/1344/40 825/1196/40 +f 825/1196/40 824/1345/40 821/1197/40 +f 824/1345/40 823/1346/40 821/1197/40 +f 823/1346/40 822/1347/40 821/1197/40 +f 848/1198/40 847/1348/40 835/1199/40 +f 854/1201/40 842/1349/40 843/1202/40 +f 856/1204/40 844/1350/40 833/1205/40 +f 852/1207/40 851/1351/40 839/1208/40 +f 848/1210/40 836/1352/40 837/1211/40 +f 855/1213/40 843/1353/40 844/1214/40 +f 845/1216/40 833/1354/40 834/1217/40 +f 852/1219/40 840/1355/40 841/1220/40 +f 850/1222/40 849/1356/40 837/1223/40 +f 846/1225/40 834/1357/40 835/1226/40 +f 854/1228/40 853/1358/40 841/1229/40 +f 850/1231/40 838/1359/40 839/1232/40 +s 1 +f 599/1246/41 588/1360/42 600/1013/42 +f 596/1247/43 585/1361/44 597/1016/44 +f 603/1248/45 592/1362/46 604/1019/46 +f 593/1249/47 582/1363/48 594/1022/48 +f 600/1250/42 589/1364/49 601/1025/49 +f 597/1251/44 586/1365/50 598/1028/50 +f 594/1252/48 583/1366/51 595/1031/51 +f 601/1034/49 590/1367/52 602/1035/52 +f 598/1037/50 587/1368/41 599/1038/41 +f 595/1004/51 584/1369/43 596/1005/43 +f 602/1244/52 591/1370/45 603/1007/45 +f 604/1010/46 581/1371/47 593/1011/47 +f 622/1372/53 611/1036/54 623/1373/54 +f 620/1374/55 607/1243/56 608/1003/55 +f 626/1375/57 615/1008/58 627/1376/58 +f 628/1377/59 605/1009/60 617/1378/60 +f 623/1373/54 612/1014/61 624/1379/61 +f 620/1374/55 609/1017/62 621/1380/62 +f 627/1376/58 616/1020/59 628/1377/59 +f 617/1378/60 606/1023/63 618/1381/63 +f 624/1379/61 613/1026/64 625/1382/64 +f 621/1380/62 610/1029/53 622/1372/53 +f 618/1381/63 607/1032/56 619/1383/56 +f 626/1375/57 613/1253/64 614/1033/57 +f 647/1267/47 636/1384/48 648/1052/48 +f 644/1268/52 633/1385/45 645/1055/45 +f 651/1269/44 640/1386/50 652/1058/50 +f 641/1270/41 630/1387/42 642/1061/42 +f 648/1271/48 637/1388/51 649/1064/51 +f 645/1272/45 634/1389/46 646/1067/46 +f 642/1273/42 631/1390/49 643/1070/49 +f 649/1073/51 638/1391/43 650/1074/43 +f 646/1076/46 635/1392/47 647/1077/47 +f 643/1043/49 632/1393/52 644/1044/52 +f 650/1265/43 639/1394/44 651/1046/44 +f 652/1049/50 629/1395/41 641/1050/41 +f 671/1396/60 658/1275/59 659/1075/60 +f 667/1397/64 656/1042/57 668/1398/57 +f 675/1399/62 662/1045/55 663/1047/62 +f 665/1400/54 664/1266/53 653/1048/54 +f 671/1396/60 660/1053/63 672/1401/63 +f 668/1398/57 657/1056/58 669/1402/58 +f 675/1399/62 664/1059/53 676/1403/53 +f 666/1404/61 653/1060/54 654/1062/61 +f 672/1401/63 661/1065/56 673/1405/56 +f 669/1402/58 658/1068/59 670/1406/59 +f 666/1404/61 655/1071/64 667/1397/64 +f 674/1407/55 661/1274/56 662/1072/55 +f 695/1091/49 684/1408/52 696/1092/52 +f 692/1094/50 681/1409/41 693/1095/41 +f 699/1290/47 688/1410/48 700/1097/48 +f 689/1291/51 678/1411/43 690/1100/43 +f 696/1292/52 685/1412/45 697/1103/45 +f 693/1106/41 682/1413/42 694/1107/42 +f 690/1294/43 679/1414/44 691/1109/44 +f 697/1112/45 686/1415/46 698/1113/46 +f 694/1296/42 683/1416/49 695/1115/49 +f 691/1082/44 680/1417/50 692/1083/50 +f 698/1286/46 687/1418/47 699/1085/47 +f 700/1287/48 677/1419/51 689/1088/51 +f 718/1420/61 707/1116/64 719/1421/64 +f 715/1422/62 704/1081/53 716/1423/53 +f 722/1424/59 711/1086/60 723/1425/60 +f 724/1426/63 701/1089/56 713/1427/56 +f 719/1421/64 708/1090/57 720/1428/57 +f 716/1423/53 705/1093/54 717/1429/54 +f 724/1426/63 711/1096/60 712/1098/63 +f 713/1427/56 702/1101/55 714/1430/55 +f 720/1428/57 709/1104/58 721/1431/58 +f 718/1420/61 705/1293/54 706/1105/61 +f 714/1430/55 703/1110/62 715/1422/62 +f 722/1424/59 709/1295/58 710/1111/59 +f 743/1130/51 732/1432/43 744/1131/43 +f 740/1133/46 729/1433/47 741/1134/47 +f 747/1136/41 736/1434/42 748/1137/42 +f 737/1312/49 726/1435/52 738/1139/52 +f 744/1313/43 733/1436/44 745/1142/44 +f 741/1145/47 730/1437/48 742/1146/48 +f 738/1315/52 727/1438/45 739/1148/45 +f 745/1151/44 734/1439/50 746/1152/50 +f 742/1317/48 731/1440/51 743/1154/51 +f 739/1121/45 728/1441/46 740/1122/46 +f 746/1307/50 735/1442/41 747/1124/41 +f 748/1308/42 725/1443/49 737/1127/49 +f 767/1444/56 754/1153/63 755/1155/56 +f 764/1445/59 751/1306/58 752/1120/59 +f 770/1446/53 759/1125/54 771/1447/54 +f 772/1448/61 749/1128/64 761/1449/64 +f 767/1444/56 756/1129/55 768/1450/55 +f 764/1445/59 753/1132/60 765/1451/60 +f 771/1447/54 760/1135/61 772/1448/61 +f 761/1449/64 750/1140/57 762/1452/57 +f 768/1450/55 757/1143/62 769/1453/62 +f 765/1451/60 754/1144/63 766/1454/63 +f 762/1452/57 751/1149/58 763/1455/58 +f 770/1446/53 757/1316/62 758/1150/53 +f 791/1169/45 780/1456/46 792/1170/46 +f 788/1331/42 777/1457/49 789/1172/49 +f 795/1175/51 784/1458/43 796/1176/43 +f 785/1333/44 774/1459/50 786/1178/50 +f 792/1334/46 781/1460/47 793/1181/47 +f 789/1184/49 778/1461/52 790/1185/52 +f 786/1336/50 775/1462/41 787/1187/41 +f 793/1190/47 782/1463/48 794/1191/48 +f 790/1338/52 779/1464/45 791/1193/45 +f 787/1160/41 776/1465/42 788/1161/42 +f 794/1328/48 783/1466/51 795/1163/51 +f 796/1329/43 773/1467/44 785/1166/44 +f 815/1468/58 802/1192/57 803/1194/58 +f 811/1469/54 800/1159/61 812/1470/61 +f 818/1471/63 807/1164/56 819/1472/56 +f 820/1473/55 797/1167/62 809/1474/62 +f 815/1468/58 804/1168/59 816/1475/59 +f 813/1476/64 800/1171/61 801/1173/64 +f 819/1472/56 808/1174/55 820/1473/55 +f 809/1474/62 798/1179/53 810/1477/53 +f 817/1478/60 804/1180/59 805/1182/60 +f 814/1479/57 801/1335/64 802/1183/57 +f 810/1477/53 799/1188/54 811/1469/54 +f 817/1480/60 806/1189/63 818/1471/63 +f 839/1208/44 828/1481/50 840/1209/50 +f 836/1352/48 825/1482/51 837/1211/51 +f 843/1353/49 832/1483/52 844/1214/52 +f 833/1354/45 822/1484/46 834/1217/46 +f 840/1355/50 829/1485/41 841/1220/41 +f 837/1223/51 826/1486/43 838/1224/43 +f 834/1357/46 823/1487/47 835/1226/47 +f 841/1229/41 830/1488/42 842/1230/42 +f 838/1359/43 827/1489/44 839/1232/44 +f 835/1199/47 824/1490/48 836/1200/48 +f 842/1349/42 831/1491/49 843/1202/49 +f 844/1350/52 821/1492/45 833/1205/45 +f 862/1493/55 851/1233/62 863/1494/62 +f 859/1495/60 848/1198/63 860/1496/63 +f 867/1497/64 854/1201/61 855/1203/64 +f 857/1498/58 856/1204/57 845/1206/58 +f 863/1494/62 852/1207/53 864/1499/53 +f 860/1496/63 849/1212/56 861/1500/56 +f 867/1497/64 856/1215/57 868/1501/57 +f 857/1498/58 846/1218/59 858/1502/59 +f 864/1499/53 853/1221/54 865/1503/54 +f 862/1493/55 849/1356/56 850/1222/55 +f 858/1502/59 847/1227/60 859/1495/60 +f 866/1504/61 853/1358/54 854/1228/61 +f 599/1246/41 587/1505/41 588/1360/42 +f 596/1247/43 584/1506/43 585/1361/44 +f 603/1248/45 591/1507/45 592/1362/46 +f 593/1249/47 581/1508/47 582/1363/48 +f 600/1250/42 588/1509/42 589/1364/49 +f 597/1251/44 585/1510/44 586/1365/50 +f 594/1252/48 582/1511/48 583/1366/51 +f 601/1034/49 589/1512/49 590/1367/52 +f 598/1037/50 586/1513/50 587/1368/41 +f 595/1004/51 583/1514/51 584/1369/43 +f 602/1244/52 590/1515/52 591/1370/45 +f 604/1010/46 592/1516/46 581/1371/47 +f 622/1372/53 610/1254/53 611/1036/54 +f 620/1374/55 619/1383/56 607/1243/56 +f 626/1375/57 614/1006/57 615/1008/58 +f 628/1377/59 616/1245/59 605/1009/60 +f 623/1373/54 611/1012/54 612/1014/61 +f 620/1374/55 608/1015/55 609/1017/62 +f 627/1376/58 615/1018/58 616/1020/59 +f 617/1378/60 605/1021/60 606/1023/63 +f 624/1379/61 612/1024/61 613/1026/64 +f 621/1380/62 609/1027/62 610/1029/53 +f 618/1381/63 606/1030/63 607/1032/56 +f 626/1375/57 625/1517/64 613/1253/64 +f 647/1267/47 635/1518/47 636/1384/48 +f 644/1268/52 632/1519/52 633/1385/45 +f 651/1269/44 639/1520/44 640/1386/50 +f 641/1270/41 629/1521/41 630/1387/42 +f 648/1271/48 636/1522/48 637/1388/51 +f 645/1272/45 633/1523/45 634/1389/46 +f 642/1273/42 630/1524/42 631/1390/49 +f 649/1073/51 637/1525/51 638/1391/43 +f 646/1076/46 634/1526/46 635/1392/47 +f 643/1043/49 631/1527/49 632/1393/52 +f 650/1265/43 638/1528/43 639/1394/44 +f 652/1049/50 640/1529/50 629/1395/41 +f 671/1396/60 670/1406/59 658/1275/59 +f 667/1397/64 655/1264/64 656/1042/57 +f 675/1399/62 674/1407/55 662/1045/55 +f 665/1400/54 676/1403/53 664/1266/53 +f 671/1396/60 659/1051/60 660/1053/63 +f 668/1398/57 656/1054/57 657/1056/58 +f 675/1399/62 663/1057/62 664/1059/53 +f 666/1404/61 665/1400/54 653/1060/54 +f 672/1401/63 660/1063/63 661/1065/56 +f 669/1402/58 657/1066/58 658/1068/59 +f 666/1404/61 654/1069/61 655/1071/64 +f 674/1407/55 673/1530/56 661/1274/56 +f 695/1091/49 683/1531/49 684/1408/52 +f 692/1094/50 680/1532/50 681/1409/41 +f 699/1290/47 687/1533/47 688/1410/48 +f 689/1291/51 677/1534/51 678/1411/43 +f 696/1292/52 684/1535/52 685/1412/45 +f 693/1106/41 681/1536/41 682/1413/42 +f 690/1294/43 678/1537/43 679/1414/44 +f 697/1112/45 685/1538/45 686/1415/46 +f 694/1296/42 682/1539/42 683/1416/49 +f 691/1082/44 679/1540/44 680/1417/50 +f 698/1286/46 686/1541/46 687/1418/47 +f 700/1287/48 688/1542/48 677/1419/51 +f 718/1420/61 706/1114/61 707/1116/64 +f 715/1422/62 703/1285/62 704/1081/53 +f 722/1424/59 710/1084/59 711/1086/60 +f 724/1426/63 712/1087/63 701/1089/56 +f 719/1421/64 707/1288/64 708/1090/57 +f 716/1423/53 704/1289/53 705/1093/54 +f 724/1426/63 723/1425/60 711/1096/60 +f 713/1427/56 701/1099/56 702/1101/55 +f 720/1428/57 708/1102/57 709/1104/58 +f 718/1420/61 717/1429/54 705/1293/54 +f 714/1430/55 702/1108/55 703/1110/62 +f 722/1424/59 721/1543/58 709/1295/58 +f 743/1130/51 731/1544/51 732/1432/43 +f 740/1133/46 728/1545/46 729/1433/47 +f 747/1136/41 735/1546/41 736/1434/42 +f 737/1312/49 725/1547/49 726/1435/52 +f 744/1313/43 732/1548/43 733/1436/44 +f 741/1145/47 729/1549/47 730/1437/48 +f 738/1315/52 726/1550/52 727/1438/45 +f 745/1151/44 733/1551/44 734/1439/50 +f 742/1317/48 730/1552/48 731/1440/51 +f 739/1121/45 727/1553/45 728/1441/46 +f 746/1307/50 734/1554/50 735/1442/41 +f 748/1308/42 736/1555/42 725/1443/49 +f 767/1444/56 766/1454/63 754/1153/63 +f 764/1445/59 763/1455/58 751/1306/58 +f 770/1446/53 758/1123/53 759/1125/54 +f 772/1448/61 760/1126/61 749/1128/64 +f 767/1444/56 755/1309/56 756/1129/55 +f 764/1445/59 752/1310/59 753/1132/60 +f 771/1447/54 759/1311/54 760/1135/61 +f 761/1449/64 749/1138/64 750/1140/57 +f 768/1450/55 756/1141/55 757/1143/62 +f 765/1451/60 753/1314/60 754/1144/63 +f 762/1452/57 750/1147/57 751/1149/58 +f 770/1446/53 769/1556/62 757/1316/62 +f 791/1169/45 779/1557/45 780/1456/46 +f 788/1331/42 776/1558/42 777/1457/49 +f 795/1175/51 783/1559/51 784/1458/43 +f 785/1333/44 773/1560/44 774/1459/50 +f 792/1334/46 780/1561/46 781/1460/47 +f 789/1184/49 777/1562/49 778/1461/52 +f 786/1336/50 774/1563/50 775/1462/41 +f 793/1190/47 781/1564/47 782/1463/48 +f 790/1338/52 778/1565/52 779/1464/45 +f 787/1160/41 775/1566/41 776/1465/42 +f 794/1328/48 782/1567/48 783/1466/51 +f 796/1329/43 784/1568/43 773/1467/44 +f 815/1468/58 814/1479/57 802/1192/57 +f 811/1469/54 799/1327/54 800/1159/61 +f 818/1471/63 806/1162/63 807/1164/56 +f 820/1473/55 808/1165/55 797/1167/62 +f 815/1468/58 803/1330/58 804/1168/59 +f 813/1476/64 812/1470/61 800/1171/61 +f 819/1472/56 807/1332/56 808/1174/55 +f 809/1474/62 797/1177/62 798/1179/53 +f 817/1478/60 816/1475/59 804/1180/59 +f 814/1479/57 813/1476/64 801/1335/64 +f 810/1477/53 798/1186/53 799/1188/54 +f 817/1480/60 805/1337/60 806/1189/63 +f 839/1208/44 827/1569/44 828/1481/50 +f 836/1352/48 824/1570/48 825/1482/51 +f 843/1353/49 831/1571/49 832/1483/52 +f 833/1354/45 821/1572/45 822/1484/46 +f 840/1355/50 828/1573/50 829/1485/41 +f 837/1223/51 825/1574/51 826/1486/43 +f 834/1357/46 822/1575/46 823/1487/47 +f 841/1229/41 829/1576/41 830/1488/42 +f 838/1359/43 826/1577/43 827/1489/44 +f 835/1199/47 823/1578/47 824/1490/48 +f 842/1349/42 830/1579/42 831/1491/49 +f 844/1350/52 832/1580/52 821/1492/45 +f 862/1493/55 850/1231/55 851/1233/62 +f 859/1495/60 847/1348/60 848/1198/63 +f 867/1497/64 866/1504/61 854/1201/61 +f 857/1498/58 868/1501/57 856/1204/57 +f 863/1494/62 851/1351/62 852/1207/53 +f 860/1496/63 848/1210/63 849/1212/56 +f 867/1497/64 855/1213/64 856/1215/57 +f 857/1498/58 845/1216/58 846/1218/59 +f 864/1499/53 852/1219/53 853/1221/54 +f 862/1493/55 861/1500/56 849/1356/56 +f 858/1502/59 846/1225/59 847/1227/60 +f 866/1504/61 865/1581/54 853/1358/54 +o Hammer +v 4.000000 2.687500 0.250000 +v 4.000000 2.687500 -0.250000 +v 3.250000 2.687500 0.250000 +v 3.250000 2.687500 -0.250000 +v 4.125000 2.187500 0.250000 +v 4.125000 2.187500 -0.250000 +v 4.562500 2.437500 0.250000 +v 4.562500 2.437500 -0.250000 +v 4.812500 2.437500 0.375000 +v 4.812500 2.437500 -0.375000 +v 5.062500 2.437500 0.375000 +v 5.062500 2.437500 -0.375000 +v 5.312500 2.437500 0.250000 +v 5.312500 2.437500 -0.250000 +v 4.562500 2.312500 0.250000 +v 4.562500 2.312500 -0.250000 +v 4.812500 2.312500 0.375000 +v 4.812500 2.312500 -0.375000 +v 5.062500 2.312500 0.375000 +v 5.062500 2.312500 -0.375000 +v 5.312500 2.312500 0.250000 +v 5.312500 2.312500 -0.250000 +v 4.312500 2.187500 0.250000 +v 4.312500 2.187500 -0.250000 +v 4.812500 1.812500 0.250000 +v 4.812500 1.812500 -0.250000 +v 4.812500 1.562500 0.250000 +v 4.812500 1.562500 -0.250000 +v 3.250000 2.437500 0.250000 +v 3.250000 2.437500 -0.250000 +v 3.750000 2.437500 0.250000 +v 3.750000 2.437500 -0.250000 +v 4.000000 1.687500 0.250000 +v 4.000000 1.687500 -0.250000 +vt 0.370504 0.905263 +vt 0.392086 0.863158 +vt 0.392086 0.905263 +vt 0.406475 0.863158 +vt 0.287770 0.484211 +vt 0.273381 0.526316 +vt 0.273381 0.484211 +vt 0.294964 0.473684 +vt 0.287770 0.526316 +vt 0.302158 0.473684 +vt 0.294964 0.536842 +vt 0.309353 0.484211 +vt 0.302158 0.536842 +vt 0.287770 0.463158 +vt 0.287770 0.473684 +vt 0.309353 0.547368 +vt 0.309353 0.536842 +vt 0.312950 0.484211 +vt 0.309353 0.526316 +vt 0.294964 0.463158 +vt 0.294964 0.547368 +vt 0.287770 0.536842 +vt 0.302158 0.463158 +vt 0.309353 0.473684 +vt 0.302158 0.547368 +vt 0.320144 0.536842 +vt 0.312950 0.526316 +vt 0.327338 0.473684 +vt 0.320144 0.473684 +vt 0.334532 0.484211 +vt 0.327338 0.536842 +vt 0.341727 0.526316 +vt 0.334532 0.526316 +vt 0.273381 0.547368 +vt 0.291367 0.589474 +vt 0.273381 0.589474 +vt 0.291367 0.547368 +vt 0.298561 0.589474 +vt 0.363309 0.863158 +vt 0.370504 0.863158 +vt 0.363309 0.905263 +vt 0.348921 0.863158 +vt 0.348921 0.905263 +vt 0.327338 0.863158 +vt 0.384892 0.926316 +vt 0.384892 0.842105 +vt 0.395683 0.947368 +vt 0.395683 0.821053 +vt 0.276978 0.463158 +vt 0.276978 0.473684 +vt 0.276978 0.547368 +vt 0.276978 0.536842 +vt 0.392086 0.989474 +vt 0.402878 0.947368 +vt 0.392086 0.778947 +vt 0.420863 0.768421 +vt 0.420863 0.789474 +vt 0.406475 0.905263 +vt 0.287770 0.547368 +vt 0.309353 0.463158 +vt 0.341727 0.484211 +vt 0.298561 0.547368 +vt 0.327338 0.905263 +vt 0.370504 0.926316 +vt 0.370504 0.842105 +vt 0.420863 0.978947 +vt 0.420863 1.000000 +vt 0.402878 0.821053 +vn 0.0000 1.0000 0.0000 +vn 0.9701 0.2425 0.0000 +vn -0.4961 0.8682 0.0000 +vn -0.4472 0.0000 0.8944 +vn 0.4472 0.0000 -0.8944 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn -0.4472 0.0000 -0.8944 +vn 0.4472 0.0000 0.8944 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.4472 -0.8944 0.0000 +vn 0.6000 0.8000 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.9487 -0.3162 0.0000 +s off +f 872/1582/65 869/1583/65 870/1584/65 +f 873/1585/66 870/1584/66 869/1583/66 +f 875/1586/67 874/1587/67 873/1588/67 +f 877/1589/65 876/1590/65 875/1586/65 +f 879/1591/65 878/1592/65 877/1589/65 +f 881/1593/65 880/1594/65 879/1591/65 +f 883/1595/68 877/1589/68 875/1596/68 +f 890/1597/69 880/1594/69 882/1598/69 +f 889/1599/70 882/1600/70 881/1593/70 +f 885/1601/71 879/1591/71 877/1589/71 +f 886/1602/72 876/1603/72 878/1592/72 +f 887/1604/73 881/1605/73 879/1591/73 +f 888/1606/74 878/1592/74 880/1594/74 +f 889/1599/75 888/1607/75 890/1608/75 +f 885/1609/75 888/1607/75 887/1610/75 +f 883/1611/75 886/1612/75 885/1609/75 +f 883/1611/76 892/1613/76 884/1614/76 +f 891/1615/77 894/1616/77 892/1617/77 +f 893/1618/70 896/1619/70 894/1616/70 +f 872/1582/78 897/1620/78 871/1621/78 +f 898/1622/75 899/1623/75 897/1620/75 +f 900/1624/79 901/1625/79 899/1623/79 +f 900/1626/74 872/1582/74 870/1584/74 +f 871/1621/71 899/1627/71 869/1583/71 +f 874/1628/74 900/1626/74 870/1584/74 +f 899/1627/71 873/1629/71 869/1583/71 +f 891/1630/71 875/1596/71 873/1631/71 +f 876/1603/74 892/1632/74 874/1633/74 +f 902/1634/74 874/1628/74 892/1635/74 +f 901/1636/71 895/1637/71 893/1638/71 +f 872/1582/65 871/1621/65 869/1583/65 +f 873/1585/66 874/1639/66 870/1584/66 +f 875/1586/67 876/1590/67 874/1587/67 +f 877/1589/65 878/1592/65 876/1590/65 +f 879/1591/65 880/1594/65 878/1592/65 +f 881/1593/65 882/1600/65 880/1594/65 +f 883/1595/68 885/1601/68 877/1589/68 +f 890/1597/69 888/1606/69 880/1594/69 +f 889/1599/70 890/1608/70 882/1600/70 +f 885/1601/71 887/1604/71 879/1591/71 +f 886/1602/72 884/1640/72 876/1603/72 +f 887/1604/73 889/1641/73 881/1605/73 +f 888/1606/74 886/1602/74 878/1592/74 +f 889/1599/75 887/1610/75 888/1607/75 +f 885/1609/75 886/1612/75 888/1607/75 +f 883/1611/75 884/1614/75 886/1612/75 +f 883/1611/76 891/1642/76 892/1613/76 +f 891/1615/77 893/1618/77 894/1616/77 +f 893/1618/70 895/1643/70 896/1619/70 +f 872/1582/78 898/1622/78 897/1620/78 +f 898/1622/75 900/1624/75 899/1623/75 +f 900/1624/79 902/1644/79 901/1625/79 +f 900/1626/74 898/1645/74 872/1582/74 +f 871/1621/71 897/1646/71 899/1627/71 +f 874/1628/74 902/1634/74 900/1626/74 +f 899/1627/71 901/1636/71 873/1629/71 +f 891/1630/71 883/1595/71 875/1596/71 +f 876/1603/74 884/1640/74 892/1632/74 +f 892/1635/74 894/1647/74 902/1634/74 +f 894/1647/74 896/1648/74 902/1634/74 +f 893/1638/71 891/1649/71 901/1636/71 +f 891/1649/71 873/1629/71 901/1636/71 +o Cylinder +v 2.437500 1.750000 -1.187500 +v 2.437500 2.343750 -1.028405 +v 2.437500 2.778405 -0.593750 +v 2.437500 2.937500 0.000000 +v 2.437500 2.778405 0.593750 +v 2.437500 2.343750 1.028405 +v 2.437500 1.750000 1.187500 +v 2.437500 1.156250 1.028405 +v 2.437500 0.721595 0.593750 +v 2.437500 0.562500 0.000001 +v 2.437500 0.721594 -0.593749 +v 2.437500 1.156249 -1.028404 +v 0.062500 1.750000 -1.187500 +v 0.062500 2.343750 -1.028405 +v 0.062500 2.778405 -0.593750 +v 0.062500 2.937500 0.000000 +v 0.062500 2.778405 0.593750 +v 0.062500 2.343750 1.028405 +v 0.062500 1.750000 1.187500 +v 0.062500 1.156250 1.028405 +v 0.062500 0.721595 0.593750 +v 0.062500 0.562500 0.000001 +v 0.062500 0.721594 -0.593749 +v 0.062500 1.156249 -1.028404 +v 0.062500 2.500000 -0.328125 +v 0.062500 2.335938 -0.284164 +v 0.062500 2.215835 -0.164062 +v 0.062500 2.171875 0.000000 +v 0.062500 2.215835 0.164062 +v 0.062500 2.335938 0.284164 +v 0.062500 2.500000 0.328125 +v 0.062500 2.664062 0.284164 +v 0.062500 2.784164 0.164062 +v 0.062500 2.828125 0.000000 +v 0.062500 2.784165 -0.164062 +v 0.062500 2.664063 -0.284164 +v 2.437500 2.500000 -0.328125 +v 2.437500 2.335938 -0.284164 +v 2.437500 2.215835 -0.164062 +v 2.437500 2.171875 0.000000 +v 2.437500 2.215835 0.164062 +v 2.437500 2.335938 0.284164 +v 2.437500 2.500000 0.328125 +v 2.437500 2.664062 0.284164 +v 2.437500 2.784164 0.164062 +v 2.437500 2.828125 0.000000 +v 2.437500 2.784165 -0.164062 +v 2.437500 2.664063 -0.284164 +v 0.062500 1.000000 0.328126 +v 0.062500 1.164062 0.284165 +v 0.062500 1.284165 0.164063 +v 0.062500 1.328125 0.000001 +v 0.062500 1.284165 -0.164062 +v 0.062500 1.164063 -0.284164 +v 0.062500 1.000000 -0.328124 +v 0.062500 0.835938 -0.284164 +v 0.062500 0.715836 -0.164062 +v 0.062500 0.671875 0.000000 +v 0.062500 0.715835 0.164063 +v 0.062500 0.835937 0.284165 +v 2.437500 1.000000 0.328126 +v 2.437500 1.164062 0.284165 +v 2.437500 1.284165 0.164063 +v 2.437500 1.328125 0.000001 +v 2.437500 1.284165 -0.164062 +v 2.437500 1.164063 -0.284164 +v 2.437500 1.000000 -0.328124 +v 2.437500 0.835938 -0.284164 +v 2.437500 0.715836 -0.164062 +v 2.437500 0.671875 0.000000 +v 2.437500 0.715835 0.164063 +v 2.437500 0.835937 0.284165 +v 0.062500 2.409165 0.485456 +v 0.062500 2.289063 0.365355 +v 0.062500 2.125000 0.321394 +v 0.062500 1.960938 0.365355 +v 0.062500 1.840836 0.485456 +v 0.062500 1.796875 0.649519 +v 0.062500 1.840836 0.813581 +v 0.062500 1.960938 0.933684 +v 0.062500 2.125000 0.977644 +v 0.062500 2.289063 0.933684 +v 0.062500 2.409165 0.813582 +v 0.062500 2.453125 0.649519 +v 2.437500 2.409165 0.485456 +v 2.437500 2.289063 0.365355 +v 2.437500 2.125000 0.321394 +v 2.437500 1.960938 0.365355 +v 2.437500 1.840836 0.485456 +v 2.437500 1.796875 0.649519 +v 2.437500 1.840836 0.813581 +v 2.437500 1.960938 0.933684 +v 2.437500 2.125000 0.977644 +v 2.437500 2.289063 0.933684 +v 2.437500 2.409165 0.813582 +v 2.437500 2.453125 0.649519 +v 0.062500 1.090835 -0.485456 +v 0.062500 1.210937 -0.365354 +v 0.062500 1.375000 -0.321393 +v 0.062500 1.539062 -0.365354 +v 0.062500 1.659164 -0.485456 +v 0.062500 1.703125 -0.649518 +v 0.062500 1.659164 -0.813581 +v 0.062500 1.539062 -0.933683 +v 0.062500 1.375000 -0.977643 +v 0.062500 1.210938 -0.933683 +v 0.062500 1.090835 -0.813581 +v 0.062500 1.046875 -0.649519 +v 2.437500 1.090835 -0.485456 +v 2.437500 1.210937 -0.365354 +v 2.437500 1.375000 -0.321393 +v 2.437500 1.539062 -0.365354 +v 2.437500 1.659164 -0.485456 +v 2.437500 1.703125 -0.649518 +v 2.437500 1.659164 -0.813581 +v 2.437500 1.539062 -0.933683 +v 2.437500 1.375000 -0.977643 +v 2.437500 1.210938 -0.933683 +v 2.437500 1.090835 -0.813581 +v 2.437500 1.046875 -0.649519 +v 0.062500 1.659165 0.813582 +v 0.062500 1.703125 0.649520 +v 0.062500 1.659165 0.485457 +v 0.062500 1.539063 0.365355 +v 0.062500 1.375000 0.321394 +v 0.062500 1.210938 0.365355 +v 0.062500 1.090836 0.485457 +v 0.062500 1.046875 0.649519 +v 0.062500 1.090836 0.813582 +v 0.062500 1.210938 0.933684 +v 0.062500 1.375000 0.977644 +v 0.062500 1.539062 0.933684 +v 2.437500 1.659165 0.813582 +v 2.437500 1.703125 0.649520 +v 2.437500 1.659165 0.485457 +v 2.437500 1.539063 0.365355 +v 2.437500 1.375000 0.321394 +v 2.437500 1.210938 0.365355 +v 2.437500 1.090836 0.485457 +v 2.437500 1.046875 0.649519 +v 2.437500 1.090836 0.813582 +v 2.437500 1.210938 0.933684 +v 2.437500 1.375000 0.977644 +v 2.437500 1.539062 0.933684 +v 0.062500 1.840835 -0.813581 +v 0.062500 1.796875 -0.649519 +v 0.062500 1.840835 -0.485456 +v 0.062500 1.960937 -0.365355 +v 0.062500 2.125000 -0.321394 +v 0.062500 2.289062 -0.365354 +v 0.062500 2.409164 -0.485456 +v 0.062500 2.453125 -0.649518 +v 0.062500 2.409164 -0.813581 +v 0.062500 2.289062 -0.933683 +v 0.062500 2.125000 -0.977644 +v 0.062500 1.960938 -0.933683 +v 2.437500 1.840835 -0.813581 +v 2.437500 1.796875 -0.649519 +v 2.437500 1.840835 -0.485456 +v 2.437500 1.960937 -0.365355 +v 2.437500 2.125000 -0.321394 +v 2.437500 2.289062 -0.365354 +v 2.437500 2.409164 -0.485456 +v 2.437500 2.453125 -0.649518 +v 2.437500 2.409164 -0.813581 +v 2.437500 2.289062 -0.933683 +v 2.437500 2.125000 -0.977644 +v 2.437500 1.960938 -0.933683 +vt 0.365512 0.481693 +vt 0.371235 0.475600 +vt 0.367820 0.485593 +vt 0.386287 0.481693 +vt 0.385229 0.499243 +vt 0.383979 0.485593 +vt 0.394366 0.432942 +vt 0.399031 0.444400 +vt 0.394366 0.440742 +vt 0.386287 0.391992 +vt 0.380564 0.398084 +vt 0.383979 0.388092 +vt 0.365512 0.391992 +vt 0.366570 0.374441 +vt 0.367820 0.388092 +vt 0.357432 0.440742 +vt 0.352768 0.429284 +vt 0.357432 0.432942 +vt 0.375899 0.401742 +vt 0.386287 0.419292 +vt 0.375899 0.471942 +vt 0.349353 0.419292 +vt 0.342136 0.436842 +vt 0.362097 0.381999 +vt 0.357432 0.378341 +vt 0.359018 0.351278 +vt 0.385229 0.374441 +vt 0.383979 0.360791 +vt 0.392781 0.351278 +vt 0.399031 0.429285 +vt 0.402446 0.419292 +vt 0.409662 0.436842 +vt 0.389702 0.491685 +vt 0.394366 0.495343 +vt 0.392781 0.522406 +vt 0.366570 0.499243 +vt 0.367820 0.512893 +vt 0.359018 0.522406 +vt 0.433857 0.481693 +vt 0.435107 0.468042 +vt 0.436165 0.485593 +vt 0.454632 0.481693 +vt 0.458047 0.491685 +vt 0.452324 0.485593 +vt 0.462712 0.440742 +vt 0.458047 0.444400 +vt 0.462712 0.432942 +vt 0.454632 0.391992 +vt 0.453383 0.405642 +vt 0.452324 0.388092 +vt 0.433857 0.391992 +vt 0.430442 0.381999 +vt 0.436165 0.388092 +vt 0.425778 0.432942 +vt 0.430442 0.429285 +vt 0.425778 0.440742 +vt 0.454632 0.419292 +vt 0.454632 0.454392 +vt 0.433857 0.419292 +vt 0.417698 0.419292 +vt 0.421113 0.429285 +vt 0.410482 0.436842 +vt 0.436165 0.360791 +vt 0.434915 0.374441 +vt 0.427363 0.351278 +vt 0.462712 0.378341 +vt 0.458047 0.381999 +vt 0.461126 0.351278 +vt 0.467376 0.429284 +vt 0.470791 0.419292 +vt 0.478008 0.436842 +vt 0.452324 0.512893 +vt 0.453574 0.499243 +vt 0.461126 0.522406 +vt 0.425778 0.495343 +vt 0.430442 0.491685 +vt 0.427363 0.522406 +vt 0.362097 0.491685 +vt 0.366761 0.468042 +vt 0.380564 0.475600 +vt 0.385037 0.468042 +vt 0.389702 0.444400 +vt 0.389702 0.429285 +vt 0.389702 0.381999 +vt 0.385037 0.405642 +vt 0.371235 0.398084 +vt 0.366761 0.405642 +vt 0.362097 0.429284 +vt 0.362097 0.444400 +vt 0.352768 0.444400 +vt 0.365512 0.454392 +vt 0.386287 0.454392 +vt 0.365512 0.419292 +vt 0.349353 0.481693 +vt 0.346660 0.486243 +vt 0.348103 0.468042 +vt 0.346660 0.387441 +vt 0.348103 0.405642 +vt 0.349353 0.391992 +vt 0.349353 0.454392 +vt 0.375899 0.338041 +vt 0.371235 0.350799 +vt 0.375899 0.347141 +vt 0.352768 0.381999 +vt 0.367820 0.360791 +vt 0.405139 0.387442 +vt 0.399031 0.381999 +vt 0.402446 0.391992 +vt 0.380564 0.350799 +vt 0.394366 0.378341 +vt 0.405139 0.486243 +vt 0.403696 0.468042 +vt 0.402446 0.481693 +vt 0.403696 0.405642 +vt 0.402446 0.454392 +vt 0.375899 0.535643 +vt 0.380564 0.522886 +vt 0.375899 0.526543 +vt 0.399031 0.491685 +vt 0.383979 0.512893 +vt 0.352768 0.491685 +vt 0.371235 0.522886 +vt 0.357432 0.495343 +vt 0.439580 0.475600 +vt 0.434915 0.499243 +vt 0.448909 0.475600 +vt 0.453383 0.468042 +vt 0.458047 0.429284 +vt 0.467376 0.444400 +vt 0.448909 0.398084 +vt 0.453574 0.374441 +vt 0.439580 0.398084 +vt 0.435107 0.405642 +vt 0.430442 0.444400 +vt 0.421113 0.444400 +vt 0.444245 0.471942 +vt 0.433857 0.454392 +vt 0.444245 0.401742 +vt 0.417698 0.481693 +vt 0.415005 0.486243 +vt 0.416448 0.468042 +vt 0.415005 0.387442 +vt 0.416448 0.405642 +vt 0.417698 0.391992 +vt 0.417698 0.454392 +vt 0.421113 0.381999 +vt 0.444245 0.338041 +vt 0.439580 0.350799 +vt 0.444245 0.347141 +vt 0.425778 0.378341 +vt 0.448909 0.350799 +vt 0.473484 0.387441 +vt 0.467376 0.381999 +vt 0.470791 0.391992 +vt 0.452324 0.360791 +vt 0.473484 0.486243 +vt 0.472041 0.468042 +vt 0.470791 0.481693 +vt 0.472041 0.405642 +vt 0.470791 0.454392 +vt 0.467376 0.491685 +vt 0.444245 0.535643 +vt 0.448909 0.522886 +vt 0.444245 0.526543 +vt 0.462712 0.495343 +vt 0.439580 0.522886 +vt 0.421113 0.491685 +vt 0.436165 0.512893 +vt 0.517986 0.157895 +vt 0.586331 0.105263 +vt 0.586331 0.157895 +vt 0.517986 0.315789 +vt 0.586331 0.263158 +vt 0.586331 0.315789 +vt 0.517986 0.578947 +vt 0.586331 0.526316 +vt 0.586331 0.578947 +vt 0.517986 0.473684 +vt 0.586331 0.421053 +vt 0.586331 0.473684 +vt 0.517986 0.105263 +vt 0.586331 0.052632 +vt 0.517986 0.263158 +vt 0.586331 0.210526 +vt 0.517986 0.526316 +vt 0.517986 0.421053 +vt 0.586331 0.368421 +vt 0.517986 0.052632 +vt 0.586331 0.000000 +vt 0.517986 0.210526 +vt 0.517986 0.368421 +vt 0.517986 0.631579 +vt 0.586331 0.631579 +vt 0.341727 0.442105 +vt 0.273381 0.452632 +vt 0.273381 0.442105 +vt 0.341727 0.368421 +vt 0.273381 0.378947 +vt 0.273381 0.368421 +vt 0.341727 0.347368 +vt 0.273381 0.357895 +vt 0.273381 0.347368 +vt 0.341727 0.400000 +vt 0.273381 0.410526 +vt 0.273381 0.400000 +vt 0.341727 0.431579 +vt 0.273381 0.431579 +vt 0.341727 0.336842 +vt 0.273381 0.336842 +vt 0.341727 0.389474 +vt 0.273381 0.389474 +vt 0.341727 0.421053 +vt 0.273381 0.421053 +vt 0.341727 0.452632 +vt 0.273381 0.463158 +vt 0.341727 0.378947 +vt 0.341727 0.357895 +vt 0.341727 0.410526 +vt 0.341727 0.442105 +vt 0.273381 0.452632 +vt 0.273381 0.442105 +vt 0.341727 0.368421 +vt 0.273381 0.378947 +vt 0.273381 0.368421 +vt 0.341727 0.347368 +vt 0.273381 0.357895 +vt 0.273381 0.347368 +vt 0.341727 0.400000 +vt 0.273381 0.410526 +vt 0.273381 0.400000 +vt 0.341727 0.431579 +vt 0.273381 0.431579 +vt 0.341727 0.336842 +vt 0.273381 0.336842 +vt 0.341727 0.389474 +vt 0.273381 0.389474 +vt 0.341727 0.421053 +vt 0.273381 0.421053 +vt 0.341727 0.452632 +vt 0.273381 0.463158 +vt 0.341727 0.378947 +vt 0.341727 0.357895 +vt 0.341727 0.410526 +vt 0.341727 0.442105 +vt 0.273381 0.452632 +vt 0.273381 0.442105 +vt 0.341727 0.368421 +vt 0.273381 0.378947 +vt 0.273381 0.368421 +vt 0.341727 0.347368 +vt 0.273381 0.357895 +vt 0.273381 0.347368 +vt 0.341727 0.400000 +vt 0.273381 0.410526 +vt 0.273381 0.400000 +vt 0.341727 0.431579 +vt 0.273381 0.431579 +vt 0.341727 0.336842 +vt 0.273381 0.336842 +vt 0.341727 0.389474 +vt 0.273381 0.389474 +vt 0.341727 0.421053 +vt 0.273381 0.421053 +vt 0.341727 0.452632 +vt 0.273381 0.463158 +vt 0.341727 0.378947 +vt 0.341727 0.357895 +vt 0.341727 0.410526 +vt 0.341727 0.442105 +vt 0.273381 0.452632 +vt 0.273381 0.442105 +vt 0.341727 0.368421 +vt 0.273381 0.378947 +vt 0.273381 0.368421 +vt 0.341727 0.347368 +vt 0.273381 0.357895 +vt 0.273381 0.347368 +vt 0.341727 0.400000 +vt 0.273381 0.410526 +vt 0.273381 0.400000 +vt 0.341727 0.431579 +vt 0.273381 0.431579 +vt 0.341727 0.336842 +vt 0.273381 0.336842 +vt 0.341727 0.389474 +vt 0.273381 0.389474 +vt 0.341727 0.421053 +vt 0.273381 0.421053 +vt 0.341727 0.452632 +vt 0.273381 0.463158 +vt 0.341727 0.378947 +vt 0.341727 0.357895 +vt 0.341727 0.410526 +vt 0.341727 0.442105 +vt 0.273381 0.452632 +vt 0.273381 0.442105 +vt 0.341727 0.368421 +vt 0.273381 0.378947 +vt 0.273381 0.368421 +vt 0.341727 0.347368 +vt 0.273381 0.357895 +vt 0.273381 0.347368 +vt 0.341727 0.400000 +vt 0.273381 0.410526 +vt 0.273381 0.400000 +vt 0.341727 0.431579 +vt 0.273381 0.431579 +vt 0.341727 0.336842 +vt 0.273381 0.336842 +vt 0.341727 0.389474 +vt 0.273381 0.389474 +vt 0.341727 0.421053 +vt 0.273381 0.421053 +vt 0.341727 0.452632 +vt 0.273381 0.463158 +vt 0.341727 0.378947 +vt 0.341727 0.357895 +vt 0.341727 0.410526 +vt 0.341727 0.442105 +vt 0.273381 0.452632 +vt 0.273381 0.442105 +vt 0.341727 0.368421 +vt 0.273381 0.378947 +vt 0.273381 0.368421 +vt 0.341727 0.347368 +vt 0.273381 0.357895 +vt 0.273381 0.347368 +vt 0.341727 0.400000 +vt 0.273381 0.410526 +vt 0.273381 0.400000 +vt 0.341727 0.431579 +vt 0.273381 0.431579 +vt 0.341727 0.336842 +vt 0.273381 0.336842 +vt 0.341727 0.389474 +vt 0.273381 0.389474 +vt 0.341727 0.421053 +vt 0.273381 0.421053 +vt 0.341727 0.452632 +vt 0.273381 0.463158 +vt 0.341727 0.378947 +vt 0.341727 0.357895 +vt 0.341727 0.410526 +vt 0.517986 0.000000 +vt 0.341727 0.463158 +vt 0.341727 0.463158 +vt 0.341727 0.463158 +vt 0.341727 0.463158 +vt 0.341727 0.463158 +vt 0.341727 0.463158 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -0.5000 0.8660 +vn 0.0000 1.0000 -0.0000 +vn 0.0000 0.8660 0.5000 +vn 0.0000 -0.8660 -0.5000 +vn 0.0000 -0.5000 -0.8660 +vn 0.0000 -0.0000 -1.0000 +vn 0.0000 0.5000 -0.8660 +vn 0.0000 -0.8660 0.5000 +vn 0.0000 0.5000 0.8660 +vn 0.0000 0.8660 -0.5000 +vn 0.0000 -1.0000 0.0000 +s off +f 1052/1650/80 929/1651/80 928/1652/80 +f 976/1653/80 933/1654/80 932/1655/80 +f 1024/1656/80 981/1657/80 980/1658/80 +f 1028/1659/80 953/1660/80 952/1661/80 +f 1000/1662/80 957/1663/80 956/1664/80 +f 1048/1665/80 1005/1666/80 1004/1667/80 +f 954/1668/80 1026/1669/80 930/1670/80 +f 1006/1671/80 1005/1666/80 915/1672/80 +f 999/1673/80 1010/1674/80 925/1675/80 +f 951/1676/80 962/1677/80 923/1678/80 +f 1023/1679/80 1034/1680/80 921/1681/80 +f 975/1682/80 986/1683/80 919/1684/80 +f 927/1685/80 938/1686/80 917/1687/80 +f 988/1688/81 989/1689/81 944/1690/81 +f 1064/1691/81 1065/1692/81 940/1693/81 +f 1060/1694/81 1061/1695/81 1016/1696/81 +f 1012/1697/81 1013/1698/81 968/1699/81 +f 1040/1700/81 1041/1701/81 964/1702/81 +f 1036/1703/81 1037/1704/81 992/1705/81 +f 1014/1706/81 1062/1707/81 1038/1708/81 +f 1046/1709/81 1035/1710/81 909/1711/81 +f 974/1712/81 963/1713/81 911/1714/81 +f 1022/1715/81 1011/1716/81 913/1717/81 +f 1017/1718/81 1018/1719/81 903/1720/81 +f 950/1721/81 939/1722/81 905/1723/81 +f 998/1724/81 987/1725/81 907/1726/81 +f 928/1652/80 927/1685/80 1053/1727/80 +f 1052/1650/80 1051/1728/80 929/1651/80 +f 928/1652/80 1053/1727/80 1052/1650/80 +f 932/1655/80 931/1729/80 977/1730/80 +f 976/1653/80 975/1682/80 933/1654/80 +f 932/1655/80 977/1730/80 976/1653/80 +f 980/1658/80 979/1731/80 1025/1732/80 +f 1024/1656/80 1023/1679/80 981/1657/80 +f 980/1658/80 1025/1732/80 1024/1656/80 +f 952/1661/80 951/1676/80 1029/1733/80 +f 1028/1659/80 1027/1734/80 953/1660/80 +f 952/1661/80 1029/1733/80 1028/1659/80 +f 956/1664/80 955/1735/80 1001/1736/80 +f 1000/1662/80 999/1673/80 957/1663/80 +f 956/1664/80 1001/1736/80 1000/1662/80 +f 1004/1667/80 1003/1737/80 1049/1738/80 +f 1048/1665/80 1047/1739/80 1005/1666/80 +f 1004/1667/80 1049/1738/80 1048/1665/80 +f 930/1670/80 929/1651/80 1051/1728/80 +f 1050/1740/80 1049/1738/80 1003/1737/80 +f 930/1670/80 1051/1728/80 1050/1740/80 +f 977/1730/80 931/1729/80 978/1741/80 +f 931/1729/80 930/1670/80 978/1741/80 +f 1025/1732/80 979/1731/80 978/1741/80 +f 930/1670/80 1050/1740/80 1002/1742/80 +f 1050/1740/80 1003/1737/80 1002/1742/80 +f 1002/1742/80 1001/1736/80 955/1735/80 +f 1025/1732/80 978/1741/80 1026/1669/80 +f 978/1741/80 930/1670/80 1026/1669/80 +f 953/1660/80 1027/1734/80 954/1668/80 +f 1027/1734/80 1026/1669/80 954/1668/80 +f 930/1670/80 1002/1742/80 954/1668/80 +f 1002/1742/80 955/1735/80 954/1668/80 +f 1056/1743/80 916/1744/80 1057/1745/80 +f 916/1744/80 915/1672/80 1057/1745/80 +f 915/1672/80 926/1746/80 1007/1747/80 +f 926/1746/80 1008/1748/80 1007/1747/80 +f 1005/1666/80 1047/1739/80 915/1672/80 +f 1047/1739/80 1058/1749/80 915/1672/80 +f 1058/1749/80 1057/1745/80 915/1672/80 +f 915/1672/80 1007/1747/80 1006/1671/80 +f 925/1675/80 924/1750/80 959/1751/80 +f 924/1750/80 960/1752/80 959/1751/80 +f 1008/1748/80 926/1746/80 1009/1753/80 +f 926/1746/80 925/1675/80 1009/1753/80 +f 925/1675/80 959/1751/80 958/1754/80 +f 958/1754/80 957/1663/80 925/1675/80 +f 957/1663/80 999/1673/80 925/1675/80 +f 1010/1674/80 1009/1753/80 925/1675/80 +f 923/1678/80 922/1755/80 1031/1756/80 +f 922/1755/80 1032/1757/80 1031/1756/80 +f 960/1752/80 924/1750/80 961/1758/80 +f 924/1750/80 923/1678/80 961/1758/80 +f 923/1678/80 1031/1756/80 1030/1759/80 +f 1030/1759/80 1029/1733/80 923/1678/80 +f 1029/1733/80 951/1676/80 923/1678/80 +f 962/1677/80 961/1758/80 923/1678/80 +f 921/1681/80 920/1760/80 983/1761/80 +f 920/1760/80 984/1762/80 983/1761/80 +f 1032/1757/80 922/1755/80 1033/1763/80 +f 922/1755/80 921/1681/80 1033/1763/80 +f 921/1681/80 983/1761/80 982/1764/80 +f 982/1764/80 981/1657/80 921/1681/80 +f 981/1657/80 1023/1679/80 921/1681/80 +f 1034/1680/80 1033/1763/80 921/1681/80 +f 919/1684/80 918/1765/80 935/1766/80 +f 918/1765/80 936/1767/80 935/1766/80 +f 984/1762/80 920/1760/80 985/1768/80 +f 920/1760/80 919/1684/80 985/1768/80 +f 919/1684/80 935/1766/80 934/1769/80 +f 934/1769/80 933/1654/80 919/1684/80 +f 933/1654/80 975/1682/80 919/1684/80 +f 986/1683/80 985/1768/80 919/1684/80 +f 917/1687/80 916/1744/80 1055/1770/80 +f 916/1744/80 1056/1743/80 1055/1770/80 +f 936/1767/80 918/1765/80 937/1771/80 +f 918/1765/80 917/1687/80 937/1771/80 +f 917/1687/80 1055/1770/80 1054/1772/80 +f 1054/1772/80 1053/1727/80 917/1687/80 +f 1053/1727/80 927/1685/80 917/1687/80 +f 938/1686/80 937/1771/80 917/1687/80 +f 989/1689/81 943/1773/81 944/1690/81 +f 944/1690/81 945/1774/81 988/1688/81 +f 945/1774/81 987/1725/81 988/1688/81 +f 1065/1692/81 939/1722/81 940/1693/81 +f 940/1693/81 941/1775/81 1064/1691/81 +f 941/1775/81 1063/1776/81 1064/1691/81 +f 1061/1695/81 1015/1777/81 1016/1696/81 +f 1016/1696/81 1017/1718/81 1060/1694/81 +f 1017/1718/81 1059/1778/81 1060/1694/81 +f 1013/1698/81 967/1779/81 968/1699/81 +f 968/1699/81 969/1780/81 1012/1697/81 +f 969/1780/81 1011/1716/81 1012/1697/81 +f 1041/1701/81 963/1713/81 964/1702/81 +f 964/1702/81 965/1781/81 1040/1700/81 +f 965/1781/81 1039/1782/81 1040/1700/81 +f 1037/1704/81 991/1783/81 992/1705/81 +f 992/1705/81 993/1784/81 1036/1703/81 +f 993/1784/81 1035/1710/81 1036/1703/81 +f 1063/1776/81 941/1775/81 942/1785/81 +f 942/1785/81 943/1773/81 990/1786/81 +f 943/1773/81 989/1689/81 990/1786/81 +f 990/1786/81 991/1783/81 1038/1708/81 +f 991/1783/81 1037/1704/81 1038/1708/81 +f 1062/1707/81 1063/1776/81 942/1785/81 +f 1015/1777/81 1061/1695/81 1062/1707/81 +f 967/1779/81 1013/1698/81 1014/1706/81 +f 1014/1706/81 1015/1777/81 1062/1707/81 +f 1062/1707/81 942/1785/81 990/1786/81 +f 1038/1708/81 1039/1782/81 966/1787/81 +f 1039/1782/81 965/1781/81 966/1787/81 +f 966/1787/81 967/1779/81 1014/1706/81 +f 1062/1707/81 990/1786/81 1038/1708/81 +f 966/1787/81 1014/1706/81 1038/1708/81 +f 996/1788/81 908/1789/81 995/1790/81 +f 908/1789/81 909/1711/81 995/1790/81 +f 909/1711/81 910/1791/81 1045/1792/81 +f 910/1791/81 1044/1793/81 1045/1792/81 +f 1035/1710/81 993/1784/81 909/1711/81 +f 993/1784/81 994/1794/81 909/1711/81 +f 994/1794/81 995/1790/81 909/1711/81 +f 909/1711/81 1045/1792/81 1046/1709/81 +f 1044/1793/81 910/1791/81 1043/1795/81 +f 910/1791/81 911/1714/81 1043/1795/81 +f 911/1714/81 912/1796/81 973/1797/81 +f 912/1796/81 972/1798/81 973/1797/81 +f 963/1713/81 1041/1701/81 911/1714/81 +f 1041/1701/81 1042/1799/81 911/1714/81 +f 1042/1799/81 1043/1795/81 911/1714/81 +f 911/1714/81 973/1797/81 974/1712/81 +f 972/1798/81 912/1796/81 971/1800/81 +f 912/1796/81 913/1717/81 971/1800/81 +f 913/1717/81 914/1801/81 1021/1802/81 +f 914/1801/81 1020/1803/81 1021/1802/81 +f 1011/1716/81 969/1780/81 913/1717/81 +f 969/1780/81 970/1804/81 913/1717/81 +f 970/1804/81 971/1800/81 913/1717/81 +f 913/1717/81 1021/1802/81 1022/1715/81 +f 903/1720/81 904/1805/81 1069/1806/81 +f 904/1805/81 1068/1807/81 1069/1806/81 +f 1020/1803/81 914/1801/81 1019/1808/81 +f 914/1801/81 903/1720/81 1019/1808/81 +f 903/1720/81 1069/1806/81 1070/1809/81 +f 1070/1809/81 1059/1778/81 903/1720/81 +f 1059/1778/81 1017/1718/81 903/1720/81 +f 1018/1719/81 1019/1808/81 903/1720/81 +f 1068/1807/81 904/1805/81 1067/1810/81 +f 904/1805/81 905/1723/81 1067/1810/81 +f 905/1723/81 906/1811/81 949/1812/81 +f 906/1811/81 948/1813/81 949/1812/81 +f 939/1722/81 1065/1692/81 905/1723/81 +f 1065/1692/81 1066/1814/81 905/1723/81 +f 1066/1814/81 1067/1810/81 905/1723/81 +f 905/1723/81 949/1812/81 950/1721/81 +f 948/1813/81 906/1811/81 947/1815/81 +f 906/1811/81 907/1726/81 947/1815/81 +f 907/1726/81 908/1789/81 997/1816/81 +f 908/1789/81 996/1788/81 997/1816/81 +f 987/1725/81 945/1774/81 907/1726/81 +f 945/1774/81 946/1817/81 907/1726/81 +f 946/1817/81 947/1815/81 907/1726/81 +f 907/1726/81 997/1816/81 998/1724/81 +s 1 +f 921/1818/82 910/1819/83 909/1820/82 +f 918/1821/84 907/1822/85 906/1823/84 +f 925/1824/86 914/1825/87 913/1826/86 +f 915/1827/88 904/1828/89 903/1829/88 +f 922/1830/83 911/1831/90 910/1819/83 +f 919/1832/85 908/1833/91 907/1822/85 +f 926/1834/87 903/1829/88 914/1825/87 +f 916/1835/89 905/1836/92 904/1828/89 +f 923/1837/90 912/1838/93 911/1831/90 +f 920/1839/91 909/1820/82 908/1833/91 +f 917/1840/92 906/1823/84 905/1836/92 +f 924/1841/93 913/1826/86 912/1842/93 +f 944/1843/89 931/1844/92 932/1845/89 +f 939/1846/82 938/1847/83 927/1848/82 +f 941/1849/85 928/1850/91 929/1851/85 +f 948/1852/93 935/1853/86 936/1854/93 +f 945/1855/88 932/1845/89 933/1856/88 +f 942/1857/84 929/1851/85 930/1858/84 +f 949/1859/90 936/1854/93 937/1860/90 +f 946/1861/87 933/1856/88 934/1862/87 +f 943/1863/92 930/1864/84 931/1844/92 +f 950/1865/83 937/1860/90 938/1847/83 +f 940/1866/91 927/1848/82 928/1850/91 +f 947/1867/86 934/1862/87 935/1853/86 +f 968/1868/83 955/1869/90 956/1870/83 +f 963/1871/88 962/1872/89 951/1873/88 +f 965/1874/86 952/1875/87 953/1876/86 +f 972/1877/84 959/1878/85 960/1879/84 +f 969/1880/82 956/1870/83 957/1881/82 +f 966/1882/93 953/1876/86 954/1883/93 +f 973/1884/92 960/1879/84 961/1885/92 +f 970/1886/91 957/1881/82 958/1887/91 +f 967/1888/90 954/1889/93 955/1869/90 +f 974/1890/89 961/1885/92 962/1872/89 +f 964/1891/87 951/1873/88 952/1875/87 +f 971/1892/85 958/1887/91 959/1878/85 +f 992/1893/84 979/1894/85 980/1895/84 +f 987/1896/90 986/1897/93 975/1898/90 +f 989/1899/82 976/1900/83 977/1901/82 +f 996/1902/87 983/1903/88 984/1904/87 +f 993/1905/92 980/1895/84 981/1906/92 +f 990/1907/91 977/1901/82 978/1908/91 +f 997/1909/86 984/1904/87 985/1910/86 +f 994/1911/89 981/1906/92 982/1912/89 +f 991/1913/85 978/1914/91 979/1894/85 +f 998/1915/93 985/1910/86 986/1897/93 +f 988/1916/83 975/1898/90 976/1900/83 +f 995/1917/88 982/1912/89 983/1903/88 +f 1016/1918/93 1003/1919/86 1004/1920/93 +f 1011/1921/92 1010/1922/84 999/1923/92 +f 1013/1924/88 1000/1925/89 1001/1926/88 +f 1020/1927/91 1007/1928/82 1008/1929/91 +f 1017/1930/90 1004/1920/93 1005/1931/90 +f 1014/1932/87 1001/1926/88 1002/1933/87 +f 1021/1934/85 1008/1929/91 1009/1935/85 +f 1018/1936/83 1005/1931/90 1006/1937/83 +f 1015/1938/86 1002/1939/87 1003/1919/86 +f 1022/1940/84 1009/1935/85 1010/1922/84 +f 1012/1941/89 999/1923/92 1000/1925/89 +f 1019/1942/82 1006/1937/83 1007/1928/82 +f 1040/1943/91 1027/1944/82 1028/1945/91 +f 1035/1946/86 1034/1947/87 1023/1948/86 +f 1037/1949/90 1024/1950/93 1025/1951/90 +f 1044/1952/89 1031/1953/92 1032/1954/89 +f 1041/1955/85 1028/1945/91 1029/1956/85 +f 1038/1957/83 1025/1951/90 1026/1958/83 +f 1045/1959/88 1032/1954/89 1033/1960/88 +f 1042/1961/84 1029/1956/85 1030/1962/84 +f 1039/1963/82 1026/1964/83 1027/1944/82 +f 1046/1965/87 1033/1960/88 1034/1947/87 +f 1036/1966/93 1023/1948/86 1024/1950/93 +f 1043/1967/92 1030/1962/84 1031/1953/92 +f 1064/1968/87 1051/1969/88 1052/1970/87 +f 1059/1971/85 1058/1972/91 1047/1973/85 +f 1061/1974/92 1048/1975/84 1049/1976/92 +f 1068/1977/83 1055/1978/90 1056/1979/83 +f 1065/1980/86 1052/1970/87 1053/1981/86 +f 1062/1982/89 1049/1976/92 1050/1983/89 +f 1069/1984/82 1056/1979/83 1057/1985/82 +f 1066/1986/93 1053/1981/86 1054/1987/93 +f 1063/1988/88 1050/1989/89 1051/1969/88 +f 1070/1990/91 1057/1985/82 1058/1972/91 +f 1060/1991/84 1047/1973/85 1048/1975/84 +f 1067/1992/90 1054/1987/93 1055/1978/90 +f 921/1818/82 922/1830/83 910/1819/83 +f 918/1821/84 919/1832/85 907/1822/85 +f 925/1824/86 926/1834/87 914/1825/87 +f 915/1827/88 916/1835/89 904/1828/89 +f 922/1830/83 923/1837/90 911/1831/90 +f 919/1832/85 920/1839/91 908/1833/91 +f 926/1834/87 915/1827/88 903/1829/88 +f 916/1835/89 917/1840/92 905/1836/92 +f 923/1837/90 924/1993/93 912/1838/93 +f 920/1839/91 921/1818/82 909/1820/82 +f 917/1840/92 918/1821/84 906/1823/84 +f 924/1841/93 925/1824/86 913/1826/86 +f 944/1843/89 943/1863/92 931/1844/92 +f 939/1846/82 950/1865/83 938/1847/83 +f 941/1849/85 940/1866/91 928/1850/91 +f 948/1852/93 947/1867/86 935/1853/86 +f 945/1855/88 944/1843/89 932/1845/89 +f 942/1857/84 941/1849/85 929/1851/85 +f 949/1859/90 948/1852/93 936/1854/93 +f 946/1861/87 945/1855/88 933/1856/88 +f 943/1863/92 942/1994/84 930/1864/84 +f 950/1865/83 949/1859/90 937/1860/90 +f 940/1866/91 939/1846/82 927/1848/82 +f 947/1867/86 946/1861/87 934/1862/87 +f 968/1868/83 967/1888/90 955/1869/90 +f 963/1871/88 974/1890/89 962/1872/89 +f 965/1874/86 964/1891/87 952/1875/87 +f 972/1877/84 971/1892/85 959/1878/85 +f 969/1880/82 968/1868/83 956/1870/83 +f 966/1882/93 965/1874/86 953/1876/86 +f 973/1884/92 972/1877/84 960/1879/84 +f 970/1886/91 969/1880/82 957/1881/82 +f 967/1888/90 966/1995/93 954/1889/93 +f 974/1890/89 973/1884/92 961/1885/92 +f 964/1891/87 963/1871/88 951/1873/88 +f 971/1892/85 970/1886/91 958/1887/91 +f 992/1893/84 991/1913/85 979/1894/85 +f 987/1896/90 998/1915/93 986/1897/93 +f 989/1899/82 988/1916/83 976/1900/83 +f 996/1902/87 995/1917/88 983/1903/88 +f 993/1905/92 992/1893/84 980/1895/84 +f 990/1907/91 989/1899/82 977/1901/82 +f 997/1909/86 996/1902/87 984/1904/87 +f 994/1911/89 993/1905/92 981/1906/92 +f 991/1913/85 990/1996/91 978/1914/91 +f 998/1915/93 997/1909/86 985/1910/86 +f 988/1916/83 987/1896/90 975/1898/90 +f 995/1917/88 994/1911/89 982/1912/89 +f 1016/1918/93 1015/1938/86 1003/1919/86 +f 1011/1921/92 1022/1940/84 1010/1922/84 +f 1013/1924/88 1012/1941/89 1000/1925/89 +f 1020/1927/91 1019/1942/82 1007/1928/82 +f 1017/1930/90 1016/1918/93 1004/1920/93 +f 1014/1932/87 1013/1924/88 1001/1926/88 +f 1021/1934/85 1020/1927/91 1008/1929/91 +f 1018/1936/83 1017/1930/90 1005/1931/90 +f 1015/1938/86 1014/1997/87 1002/1939/87 +f 1022/1940/84 1021/1934/85 1009/1935/85 +f 1012/1941/89 1011/1921/92 999/1923/92 +f 1019/1942/82 1018/1936/83 1006/1937/83 +f 1040/1943/91 1039/1963/82 1027/1944/82 +f 1035/1946/86 1046/1965/87 1034/1947/87 +f 1037/1949/90 1036/1966/93 1024/1950/93 +f 1044/1952/89 1043/1967/92 1031/1953/92 +f 1041/1955/85 1040/1943/91 1028/1945/91 +f 1038/1957/83 1037/1949/90 1025/1951/90 +f 1045/1959/88 1044/1952/89 1032/1954/89 +f 1042/1961/84 1041/1955/85 1029/1956/85 +f 1039/1963/82 1038/1998/83 1026/1964/83 +f 1046/1965/87 1045/1959/88 1033/1960/88 +f 1036/1966/93 1035/1946/86 1023/1948/86 +f 1043/1967/92 1042/1961/84 1030/1962/84 +f 1064/1968/87 1063/1988/88 1051/1969/88 +f 1059/1971/85 1070/1990/91 1058/1972/91 +f 1061/1974/92 1060/1991/84 1048/1975/84 +f 1068/1977/83 1067/1992/90 1055/1978/90 +f 1065/1980/86 1064/1968/87 1052/1970/87 +f 1062/1982/89 1061/1974/92 1049/1976/92 +f 1069/1984/82 1068/1977/83 1056/1979/83 +f 1066/1986/93 1065/1980/86 1053/1981/86 +f 1063/1988/88 1062/1999/89 1050/1989/89 +f 1070/1990/91 1069/1984/82 1057/1985/82 +f 1060/1991/84 1059/1971/85 1047/1973/85 +f 1067/1992/90 1066/1986/93 1054/1987/93 +o Scope +v -3.125000 3.437500 0.375000 +v 3.125000 3.437500 0.375000 +v -3.125000 3.437500 -0.375000 +v 3.125000 3.437500 -0.375000 +v -3.125000 3.812500 -0.375000 +v -3.125000 3.812500 0.375000 +v 3.125000 3.812500 0.375000 +v 3.125000 3.812500 -0.375000 +v 3.125000 3.437500 0.125000 +v 3.000000 3.187500 0.125000 +v 3.125000 3.437500 -0.125000 +v 3.000000 3.187500 -0.125000 +v -1.125000 3.437500 0.125000 +v -1.000000 3.187500 0.125000 +v -1.125000 3.437500 -0.125000 +v -1.000000 3.187500 -0.125000 +v 2.875000 4.875000 -0.625000 +v 2.875000 5.187500 -0.541266 +v 2.875000 5.416266 -0.312500 +v 2.875000 5.500000 0.000000 +v 2.875000 5.416266 0.312500 +v 2.875000 5.187500 0.541266 +v 2.875000 4.875000 0.625000 +v 2.875000 4.562500 0.541266 +v 2.875000 4.333735 0.312500 +v 2.875000 4.250000 0.000000 +v 2.875000 4.333734 -0.312500 +v 2.875000 4.562500 -0.541265 +v -2.625000 4.875000 -0.625000 +v -2.625000 5.187500 -0.541266 +v -2.625000 5.416266 -0.312500 +v -2.625000 5.500000 0.000000 +v -2.625000 5.416266 0.312500 +v -2.625000 5.187500 0.541266 +v -2.625000 4.875000 0.625000 +v -2.625000 4.562500 0.541266 +v -2.625000 4.333735 0.312500 +v -2.625000 4.250000 0.000000 +v -2.625000 4.333734 -0.312500 +v -2.625000 4.562500 -0.541265 +v 3.875000 4.875000 -0.750000 +v 3.875000 5.250000 -0.649519 +v 3.875000 5.524519 -0.375000 +v 3.875000 5.625000 0.000000 +v 3.875000 5.524519 0.375000 +v 3.875000 5.250000 0.649519 +v 3.875000 4.875000 0.750000 +v 3.875000 4.500000 0.649519 +v 3.875000 4.225481 0.375000 +v 3.875000 4.125000 0.000000 +v 3.875000 4.225481 -0.374999 +v 3.875000 4.500000 -0.649518 +v 5.125000 4.875000 -0.750000 +v 5.125000 5.250000 -0.649519 +v 5.125000 5.524519 -0.375000 +v 5.125000 5.625000 0.000000 +v 5.125000 5.524519 0.375000 +v 5.125000 5.250000 0.649519 +v 5.125000 4.875000 0.750000 +v 5.125000 4.500000 0.649519 +v 5.125000 4.225481 0.375000 +v 5.125000 4.125000 0.000000 +v 5.125000 4.225481 -0.374999 +v 5.125000 4.500000 -0.649518 +v 5.125000 4.875000 -0.625000 +v 5.125000 5.187500 -0.541266 +v 5.125000 5.416266 -0.312500 +v 5.125000 5.500000 0.000000 +v 5.125000 5.416266 0.312500 +v 5.125000 5.187500 0.541266 +v 5.125000 4.875000 0.625000 +v 5.125000 4.562500 0.541266 +v 5.125000 4.333735 0.312500 +v 5.125000 4.250000 0.000000 +v 5.125000 4.333734 -0.312500 +v 5.125000 4.562500 -0.541265 +v 4.875000 4.875000 -0.625000 +v 4.875000 5.187500 -0.541266 +v 4.875000 5.416266 -0.312500 +v 4.875000 5.500000 0.000000 +v 4.875000 5.416266 0.312500 +v 4.875000 5.187500 0.541266 +v 4.875000 4.875000 0.625000 +v 4.875000 4.562500 0.541266 +v 4.875000 4.333735 0.312500 +v 4.875000 4.250000 0.000000 +v 4.875000 4.333734 -0.312500 +v 4.875000 4.562500 -0.541265 +v -3.125000 4.875000 -0.750000 +v -3.125000 5.250000 -0.649519 +v -3.125000 5.524519 -0.375000 +v -3.125000 5.625000 0.000000 +v -3.125000 5.524519 0.375000 +v -3.125000 5.250000 0.649519 +v -3.125000 4.875000 0.750000 +v -3.125000 4.500000 0.649519 +v -3.125000 4.225481 0.375000 +v -3.125000 4.125000 0.000000 +v -3.125000 4.225481 -0.374999 +v -3.125000 4.500000 -0.649518 +v -3.625000 4.875000 -0.750000 +v -3.625000 5.250000 -0.649519 +v -3.625000 5.524519 -0.375000 +v -3.625000 5.625000 0.000000 +v -3.625000 5.524519 0.375000 +v -3.625000 5.250000 0.649519 +v -3.625000 4.875000 0.750000 +v -3.625000 4.500000 0.649519 +v -3.625000 4.225481 0.375000 +v -3.625000 4.125000 0.000000 +v -3.625000 4.225481 -0.374999 +v -3.625000 4.500000 -0.649518 +v -4.125001 4.875000 -0.937500 +v -4.125001 5.343750 -0.811898 +v -4.125001 5.686898 -0.468750 +v -4.125001 5.812499 0.000000 +v -4.125001 5.686898 0.468750 +v -4.125001 5.343750 0.811899 +v -4.125001 4.875000 0.937500 +v -4.125001 4.406250 0.811899 +v -4.125001 4.063101 0.468750 +v -4.125001 3.937500 0.000001 +v -4.125001 4.063101 -0.468749 +v -4.125001 4.406249 -0.811898 +v -5.375001 4.875000 -0.937500 +v -5.375001 5.343750 -0.811898 +v -5.375001 5.686898 -0.468750 +v -5.375001 5.812499 0.000000 +v -5.375001 5.686898 0.468750 +v -5.375001 5.343750 0.811899 +v -5.375001 4.875000 0.937500 +v -5.375001 4.406250 0.811899 +v -5.375001 4.063101 0.468750 +v -5.375001 3.937500 0.000001 +v -5.375001 4.063101 -0.468749 +v -5.375001 4.406249 -0.811898 +v -5.375001 4.875000 -0.812500 +v -5.375001 5.281250 -0.703645 +v -5.375001 5.578646 -0.406250 +v -5.375001 5.687500 0.000000 +v -5.375001 5.578646 0.406250 +v -5.375001 5.281250 0.703646 +v -5.375001 4.875000 0.812500 +v -5.375001 4.468750 0.703646 +v -5.375001 4.171354 0.406251 +v -5.375001 4.062500 0.000001 +v -5.375001 4.171353 -0.406249 +v -5.375001 4.468750 -0.703645 +v -5.125001 4.875000 -0.812500 +v -5.125001 5.281250 -0.703645 +v -5.125001 5.578646 -0.406250 +v -5.125001 5.687500 0.000000 +v -5.125001 5.578646 0.406250 +v -5.125001 5.281250 0.703646 +v -5.125001 4.875000 0.812500 +v -5.125001 4.468750 0.703646 +v -5.125001 4.171354 0.406251 +v -5.125001 4.062500 0.000001 +v -5.125001 4.171353 -0.406249 +v -5.125001 4.468750 -0.703645 +v 1.375000 5.625000 0.000000 +v 1.375000 5.558013 0.500000 +v 1.375000 5.125000 1.000000 +v 1.375000 4.191987 -0.500000 +v 1.375000 4.125000 0.000000 +v 1.375000 4.191988 0.500000 +v 1.375000 4.625000 1.000000 +v 1.375000 4.625000 -1.000000 +v 1.375000 5.558013 -0.500000 +v 1.375000 5.125000 -1.000000 +v 2.625000 4.625000 -1.000000 +v 2.625000 4.625000 1.000000 +v 2.625000 4.191988 0.500000 +v 2.625000 4.125000 0.000000 +v 2.625000 4.191987 -0.500000 +v 2.625000 5.125000 1.000000 +v 2.625000 5.558013 0.500000 +v 2.625000 5.625000 0.000000 +v 2.625000 5.558013 -0.500000 +v 2.625000 5.125000 -1.000000 +v 1.500000 4.191988 0.500000 +v 1.500000 4.191987 -0.500000 +v 2.500000 4.191988 0.500000 +v 2.500000 4.191987 -0.500000 +v 1.500000 3.566988 0.500000 +v 1.500000 3.566987 -0.500000 +v 2.500000 3.566988 0.500000 +v 2.500000 3.566987 -0.500000 +v -0.625000 4.187500 0.687500 +v -0.625000 5.562500 0.687500 +v -0.625000 4.187500 -0.687500 +v -0.625000 5.562500 -0.687500 +v 0.875000 4.187500 0.687500 +v 0.875000 5.562500 0.687500 +v 0.875000 4.187500 -0.687500 +v 0.875000 5.562500 -0.687500 +v -0.750000 4.312500 -0.562500 +v -0.750000 4.312500 0.562500 +v -0.750000 5.437500 0.562500 +v -0.750000 5.437500 -0.562500 +v 0.125000 5.562500 -0.562500 +v -0.156250 5.562500 -0.487139 +v -0.362139 5.562500 -0.281250 +v -0.437500 5.562500 0.000000 +v -0.362139 5.562500 0.281250 +v -0.156250 5.562500 0.487139 +v 0.125000 5.562500 0.562500 +v 0.406250 5.562500 0.487140 +v 0.612139 5.562500 0.281250 +v 0.687500 5.562500 0.000000 +v 0.612139 5.562500 -0.281250 +v 0.406250 5.562500 -0.487139 +v 0.125000 5.687500 -0.562500 +v -0.156250 5.687500 -0.487139 +v -0.362139 5.687500 -0.281250 +v -0.437500 5.687500 0.000000 +v -0.362139 5.687500 0.281250 +v -0.156250 5.687500 0.487139 +v 0.125000 5.687500 0.562500 +v 0.406250 5.687500 0.487140 +v 0.612139 5.687500 0.281250 +v 0.687500 5.687500 0.000000 +v 0.612139 5.687500 -0.281250 +v 0.406250 5.687500 -0.487139 +v 0.125000 5.687500 -0.656250 +v -0.203125 5.687500 -0.568329 +v -0.443329 5.687500 -0.328125 +v -0.531250 5.687500 0.000000 +v -0.443329 5.687500 0.328125 +v -0.203125 5.687500 0.568330 +v 0.125000 5.687500 0.656250 +v 0.453125 5.687500 0.568330 +v 0.693329 5.687500 0.328126 +v 0.781250 5.687500 0.000001 +v 0.693329 5.687500 -0.328124 +v 0.453125 5.687500 -0.568328 +v 0.125000 6.062500 -0.656250 +v -0.203125 6.062500 -0.568329 +v -0.443329 6.062500 -0.328125 +v -0.531250 6.062500 0.000000 +v -0.443329 6.062500 0.328125 +v -0.203125 6.062500 0.568330 +v 0.125000 6.062500 0.656250 +v 0.453125 6.062500 0.568330 +v 0.693329 6.062500 0.328126 +v 0.781250 6.062500 0.000001 +v 0.693329 6.062500 -0.328124 +v 0.453125 6.062500 -0.568328 +v -2.375000 5.625000 0.000000 +v -2.375000 5.558013 0.500000 +v -2.375000 5.125000 1.000000 +v -2.375000 4.191987 -0.500000 +v -2.375000 4.125000 0.000000 +v -2.375000 4.191988 0.500000 +v -2.375000 4.625000 1.000000 +v -2.375000 4.625000 -1.000000 +v -2.375000 5.558013 -0.500000 +v -2.375000 5.125000 -1.000000 +v -1.125000 4.625000 -1.000000 +v -1.125000 4.625000 1.000000 +v -1.125000 4.191988 0.500000 +v -1.125000 4.125000 0.000000 +v -1.125000 4.191987 -0.500000 +v -1.125000 5.125000 1.000000 +v -1.125000 5.558013 0.500000 +v -1.125000 5.625000 0.000000 +v -1.125000 5.558013 -0.500000 +v -1.125000 5.125000 -1.000000 +v 0.125000 5.437500 0.687500 +v -0.156250 5.362139 0.687500 +v -0.362139 5.156250 0.687500 +v -0.437500 4.875000 0.687500 +v -0.362139 4.593750 0.687500 +v -0.156250 4.387861 0.687500 +v 0.125000 4.312500 0.687500 +v 0.406250 4.387860 0.687500 +v 0.612139 4.593750 0.687500 +v 0.687500 4.875000 0.687500 +v 0.612139 5.156250 0.687500 +v 0.406250 5.362139 0.687500 +v 0.125000 5.437500 0.812500 +v -0.156250 5.362139 0.812500 +v -0.362139 5.156250 0.812500 +v -0.437500 4.875000 0.812500 +v -0.362139 4.593750 0.812500 +v -0.156250 4.387861 0.812500 +v 0.125000 4.312500 0.812500 +v 0.406250 4.387860 0.812500 +v 0.612139 4.593750 0.812500 +v 0.687500 4.875000 0.812500 +v 0.612139 5.156250 0.812500 +v 0.406250 5.362139 0.812500 +v 0.125000 5.531250 0.812500 +v -0.203125 5.443329 0.812500 +v -0.443329 5.203125 0.812500 +v -0.531250 4.875000 0.812500 +v -0.443329 4.546875 0.812500 +v -0.203125 4.306671 0.812500 +v 0.125000 4.218750 0.812500 +v 0.453125 4.306670 0.812500 +v 0.693329 4.546875 0.812500 +v 0.781250 4.875000 0.812500 +v 0.693329 5.203125 0.812500 +v 0.453125 5.443328 0.812500 +v 0.125000 5.531250 1.187500 +v -0.203125 5.443329 1.187500 +v -0.443329 5.203125 1.187500 +v -0.531250 4.875000 1.187500 +v -0.443329 4.546875 1.187500 +v -0.203125 4.306671 1.187500 +v 0.125000 4.218750 1.187500 +v 0.453125 4.306670 1.187500 +v 0.693329 4.546875 1.187500 +v 0.781250 4.875000 1.187500 +v 0.693329 5.203125 1.187500 +v 0.453125 5.443328 1.187500 +v -2.250000 4.191988 0.500000 +v -2.250000 4.191987 -0.500000 +v -1.250000 4.191988 0.500000 +v -1.250000 4.191987 -0.500000 +v -2.250000 3.566988 0.500000 +v -2.250000 3.566987 -0.500000 +v -1.250000 3.566988 0.500000 +v -1.250000 3.566987 -0.500000 +vt 0.436170 0.387097 +vt 0.968085 0.451613 +vt 0.436170 0.451613 +vt 0.968085 0.483871 +vt 0.436170 0.548387 +vt 0.436170 0.483871 +vt 1.000000 0.548387 +vt 1.000000 0.483871 +vt 0.404255 0.483871 +vt 0.404255 0.548387 +vt 0.436170 0.580645 +vt 0.968085 0.548387 +vt 0.968085 0.580645 +vt 0.978723 0.580645 +vt 1.000000 0.602151 +vt 0.978723 0.602151 +vt 0.968085 0.623656 +vt 0.617021 0.602151 +vt 0.978723 0.602151 +vt 0.627660 0.580645 +vt 0.968085 0.580645 +vt 0.595745 0.602151 +vt 0.617021 0.580645 +vt 0.617021 0.602151 +vt 0.968085 0.193548 +vt 0.978723 0.161290 +vt 0.978723 0.193548 +vt 0.968085 0.225806 +vt 0.978723 0.225806 +vt 0.968085 0.258065 +vt 0.978723 0.258065 +vt 0.968085 0.290323 +vt 0.978723 0.290323 +vt 0.978723 0.322581 +vt 0.968085 0.322581 +vt 0.978723 0.354839 +vt 0.968085 0.354839 +vt 0.978723 0.387097 +vt 0.968085 0.387097 +vt 0.968085 -0.000000 +vt 0.978723 0.032258 +vt 0.968085 0.032258 +vt 0.978723 0.064516 +vt 0.968085 0.064516 +vt 0.978723 0.096774 +vt 0.968085 0.096774 +vt 0.978723 0.129032 +vt 0.968085 0.129032 +vt 0.968085 0.161290 +vt 0.026755 0.616174 +vt 0.026755 0.523611 +vt 0.106064 0.569892 +vt 0.031915 0.258065 +vt 0.021277 0.215054 +vt 0.031915 0.215054 +vt 0.031915 0.172043 +vt 0.021277 0.172043 +vt 0.031915 0.129032 +vt 0.021277 0.129032 +vt 0.031915 0.086022 +vt 0.021277 0.043011 +vt 0.031915 0.043011 +vt 0.021277 0.000000 +vt 0.031915 0.000000 +vt 0.031915 0.516129 +vt 0.021277 0.473118 +vt 0.031915 0.473118 +vt 0.021277 0.430108 +vt 0.031915 0.430108 +vt 0.021277 0.387097 +vt 0.031915 0.387097 +vt 0.021277 0.344086 +vt 0.031915 0.344086 +vt 0.021277 0.301075 +vt 0.031915 0.301075 +vt 0.327040 0.396614 +vt 0.361527 0.456989 +vt 0.258066 0.517365 +vt 0.638298 0.677696 +vt 0.680669 0.683433 +vt 0.638298 0.806175 +vt 0.872523 0.800438 +vt 0.830152 0.763349 +vt 0.872523 0.683433 +vt 0.861702 1.000000 +vt 0.946809 0.946237 +vt 0.946809 1.000000 +vt 0.946809 0.860215 +vt 0.861702 0.806452 +vt 0.946809 0.806452 +vt 0.861702 0.946237 +vt 0.808511 0.860215 +vt 0.861702 0.860215 +vt 1.000000 0.860215 +vt 1.000000 0.946237 +vt 0.202128 0.881720 +vt 0.191489 0.774194 +vt 0.202128 0.763441 +vt 0.329787 0.881720 +vt 0.329787 0.763441 +vt 0.446809 0.645161 +vt 0.446809 0.763441 +vt 0.329787 0.645161 +vt 0.202128 0.526882 +vt 0.329787 0.526882 +vt 0.202128 1.000000 +vt 0.191489 0.655914 +vt 0.095745 0.752688 +vt 0.095745 0.655914 +vt 0.202128 0.645161 +vt 0.191489 0.537634 +vt 0.191489 0.892473 +vt 0.553191 0.870968 +vt 0.521277 0.881720 +vt 0.521277 0.870968 +vt 0.585106 0.870968 +vt 0.553191 0.881720 +vt 0.617021 0.870968 +vt 0.585106 0.881720 +vt 0.648936 0.870968 +vt 0.617021 0.881720 +vt 0.680851 0.881720 +vt 0.648936 0.881720 +vt 0.680851 0.870968 +vt 0.712766 0.881720 +vt 0.712766 0.870968 +vt 0.744681 0.881720 +vt 0.744681 0.870968 +vt 0.776596 0.881720 +vt 0.776596 0.870968 +vt 0.808511 0.881720 +vt 0.457447 0.870968 +vt 0.425532 0.881720 +vt 0.425532 0.870968 +vt 0.489362 0.870968 +vt 0.457447 0.881720 +vt 0.489362 0.881720 +vt 0.103745 0.863006 +vt 0.103745 0.760650 +vt 0.191446 0.811828 +vt 0.638298 0.677696 +vt 0.680669 0.683433 +vt 0.638298 0.806175 +vt 0.872523 0.800438 +vt 0.830152 0.763349 +vt 0.872523 0.683433 +vt 0.553191 0.870968 +vt 0.521277 0.881720 +vt 0.521277 0.870968 +vt 0.585106 0.870968 +vt 0.553191 0.881720 +vt 0.617021 0.870968 +vt 0.585106 0.881720 +vt 0.648936 0.870968 +vt 0.617021 0.881720 +vt 0.680851 0.881720 +vt 0.648936 0.881720 +vt 0.712766 0.870968 +vt 0.680851 0.870968 +vt 0.744681 0.870968 +vt 0.712766 0.881720 +vt 0.776596 0.881720 +vt 0.744681 0.881720 +vt 0.776596 0.870968 +vt 0.808511 0.881720 +vt 0.457447 0.870968 +vt 0.425532 0.881720 +vt 0.425532 0.870968 +vt 0.489362 0.870968 +vt 0.457447 0.881720 +vt 0.489362 0.881720 +vt 0.103745 0.863006 +vt 0.103745 0.760650 +vt 0.191446 0.811828 +vt 0.861702 1.000000 +vt 0.946809 0.946237 +vt 0.946809 1.000000 +vt 0.946809 0.860215 +vt 0.861702 0.806452 +vt 0.946809 0.806452 +vt 0.861702 0.946237 +vt 0.808511 0.860215 +vt 0.861702 0.860215 +vt 1.000000 0.860215 +vt 1.000000 0.946237 +vt 0.968085 0.387097 +vt 1.000000 0.580645 +vt 0.627660 0.623656 +vt 0.595745 0.580645 +vt 0.978723 0.000000 +vt 0.098980 0.596613 +vt 0.079628 0.616174 +vt 0.053191 0.623333 +vt 0.007403 0.596613 +vt 0.000319 0.569892 +vt 0.007403 0.543172 +vt 0.053191 0.516451 +vt 0.079628 0.523611 +vt 0.098980 0.543172 +vt 0.021277 0.258065 +vt 0.021277 0.086022 +vt 0.021277 0.516129 +vt 0.232820 0.491847 +vt 0.223579 0.456989 +vt 0.232820 0.422131 +vt 0.258066 0.396614 +vt 0.292553 0.387274 +vt 0.352286 0.422131 +vt 0.352286 0.491847 +vt 0.327040 0.517365 +vt 0.292553 0.526705 +vt 0.723040 0.720522 +vt 0.723040 0.763349 +vt 0.680669 0.800438 +vt 0.595927 0.800438 +vt 0.595927 0.683433 +vt 0.553556 0.763349 +vt 0.553556 0.720522 +vt 0.830152 0.720522 +vt 0.914894 0.677696 +vt 0.914894 0.806175 +vt 0.957264 0.683433 +vt 0.999636 0.720522 +vt 0.999636 0.763349 +vt 0.957264 0.800438 +vt 0.808511 0.946237 +vt 0.191489 0.870968 +vt 0.329787 1.000000 +vt 0.191489 0.752688 +vt 0.191489 0.634409 +vt 0.191489 0.989247 +vt 0.808511 0.870968 +vt 0.183613 0.841376 +vt 0.162212 0.863006 +vt 0.132979 0.870924 +vt 0.082345 0.841376 +vt 0.074512 0.811828 +vt 0.082345 0.782280 +vt 0.132979 0.752732 +vt 0.162212 0.760650 +vt 0.183613 0.782280 +vt 0.723040 0.720522 +vt 0.723040 0.763349 +vt 0.680669 0.800438 +vt 0.595927 0.800438 +vt 0.595927 0.683433 +vt 0.553556 0.763349 +vt 0.553556 0.720522 +vt 0.830152 0.720522 +vt 0.914894 0.677696 +vt 0.914894 0.806175 +vt 0.957264 0.683433 +vt 0.999636 0.720522 +vt 0.999636 0.763349 +vt 0.957264 0.800438 +vt 0.808511 0.870968 +vt 0.183613 0.841376 +vt 0.162212 0.863006 +vt 0.132979 0.870924 +vt 0.082345 0.841376 +vt 0.074512 0.811828 +vt 0.082345 0.782280 +vt 0.132979 0.752732 +vt 0.162212 0.760650 +vt 0.183613 0.782280 +vt 0.808511 0.946237 +vt 0.308511 0.258065 +vt 0.776596 0.225806 +vt 0.776596 0.258065 +vt 0.308511 0.032258 +vt 0.776596 -0.000000 +vt 0.776596 0.032258 +vt 0.308511 0.129032 +vt 0.776596 0.096774 +vt 0.776596 0.129032 +vt 0.308511 0.225806 +vt 0.776596 0.193548 +vt 0.308511 0.387097 +vt 0.776596 0.354839 +vt 0.776596 0.387097 +vt 0.308511 0.096774 +vt 0.776596 0.064516 +vt 0.308511 0.193548 +vt 0.776596 0.161290 +vt 0.308511 0.354839 +vt 0.776596 0.322581 +vt 0.308511 0.290323 +vt 0.776596 0.290323 +vt 0.308511 0.064516 +vt 0.308511 0.161290 +vt 0.308511 0.322581 +vt 0.861702 0.161290 +vt 0.861702 0.193548 +vt 0.861702 0.225806 +vt 0.861702 0.258065 +vt 0.861702 0.290323 +vt 0.861702 0.322581 +vt 0.861702 0.354839 +vt 0.861702 0.387097 +vt 0.861702 0.032258 +vt 0.861702 0.064516 +vt 0.861702 0.096774 +vt 0.861702 0.129032 +vt 0.861702 -0.000000 +vt 1.000000 0.225806 +vt 1.000000 0.387097 +vt 1.000000 0.096774 +vt 1.000000 0.193548 +vt 1.000000 0.354839 +vt 1.000000 0.290323 +vt 1.000000 0.064516 +vt 1.000000 0.161290 +vt 1.000000 0.322581 +vt 1.000000 0.258065 +vt 1.000000 0.032258 +vt 1.000000 0.129032 +vt 0.265957 0.129032 +vt 0.265957 0.193548 +vt 0.265957 0.225806 +vt 0.265957 0.258065 +vt 0.265957 0.290323 +vt 0.265957 0.322581 +vt 0.265957 0.354839 +vt 0.265957 0.000000 +vt 0.308511 -0.000000 +vt 0.265957 0.064516 +vt 0.265957 0.096774 +vt 0.223404 0.096774 +vt 0.223404 0.193548 +vt 0.265957 0.387097 +vt 0.223404 0.354839 +vt 0.223404 0.064516 +vt 0.223404 0.161290 +vt 0.265957 0.161290 +vt 0.223404 0.322581 +vt 0.223404 0.258065 +vt 0.223404 0.032258 +vt 0.265957 0.032258 +vt 0.223404 0.129032 +vt 0.223404 0.290323 +vt 0.223404 0.225806 +vt 0.223404 0.000000 +vt 0.138298 0.215054 +vt 0.223404 0.172043 +vt 0.223404 0.204301 +vt 0.138298 0.258065 +vt 0.223404 0.215054 +vt 0.223404 0.247312 +vt 0.223404 0.290323 +vt 0.223404 0.258065 +vt 0.223404 0.333333 +vt 0.138298 0.301075 +vt 0.223404 0.301075 +vt 0.138298 0.387097 +vt 0.223404 0.344086 +vt 0.223404 0.376344 +vt 0.223404 0.419355 +vt 0.223404 0.387097 +vt 0.138298 0.473118 +vt 0.223404 0.430108 +vt 0.223404 0.462366 +vt 0.138298 0.516129 +vt 0.223404 0.473118 +vt 0.223404 0.505376 +vt 0.138298 0.043011 +vt 0.138298 0.086022 +vt 0.223404 0.043011 +vt 0.223404 0.075269 +vt 0.223404 0.118280 +vt 0.223404 0.086022 +vt 0.138298 0.172043 +vt 0.223404 0.129032 +vt 0.223404 0.161290 +vt 0.138298 0.000000 +vt 0.138298 0.129032 +vt 0.138298 0.430108 +vt 0.138298 0.344086 +vt 0.000000 0.172043 +vt 0.000000 0.387097 +vt -0.000000 0.301075 +vt -0.000000 0.000000 +vt 0.000000 0.129032 +vt -0.000000 0.258065 +vt 0.000000 0.473118 +vt -0.000000 0.086022 +vt -0.000000 0.215054 +vt 0.000000 0.430108 +vt 0.000000 0.344086 +vt 0.000000 0.043011 +vt 0.446809 0.666667 +vt 0.553191 0.720430 +vt 0.446809 0.720430 +vt 0.829787 0.763441 +vt 0.723404 0.720430 +vt 0.829787 0.720430 +vt 0.829787 0.666667 +vt 0.723404 0.623656 +vt 0.829787 0.623656 +vt 0.829787 0.817204 +vt 0.723404 0.763441 +vt 0.553191 0.763441 +vt 0.723404 0.666667 +vt 0.446809 0.817204 +vt 0.553191 0.860215 +vt 0.446809 0.860215 +vt 0.446809 0.623656 +vt 0.553191 0.666667 +vt 0.829787 0.860215 +vt 0.723404 0.817204 +vt 0.446809 0.763441 +vt 0.553191 0.817204 +vt 0.617021 0.860215 +vt 0.585106 0.860215 +vt 0.521277 0.860215 +vt 0.489362 0.860215 +vt 0.744681 0.860215 +vt 0.712766 0.860215 +vt 0.648936 0.860215 +vt 0.553191 0.860215 +vt 0.776596 0.860215 +vt 0.457447 0.860215 +vt 0.425532 0.860215 +vt 0.680851 0.860215 +vt 0.808511 0.860215 +vt 0.521277 0.913979 +vt 0.744681 0.913979 +vt 0.425532 0.913979 +vt 0.648936 0.913979 +vt 0.553191 0.913979 +vt 0.776596 0.913979 +vt 0.457447 0.913979 +vt 0.680851 0.913979 +vt 0.585106 0.913979 +vt 0.489362 0.913979 +vt 0.712766 0.913979 +vt 0.617021 0.913979 +vt 0.446809 0.666667 +vt 0.553191 0.720430 +vt 0.446809 0.720430 +vt 0.829787 0.763441 +vt 0.723404 0.720430 +vt 0.829787 0.720430 +vt 0.829787 0.666667 +vt 0.723404 0.623656 +vt 0.829787 0.623656 +vt 0.829787 0.817204 +vt 0.723404 0.763441 +vt 0.553191 0.763441 +vt 0.723404 0.666667 +vt 0.446809 0.817204 +vt 0.553191 0.860215 +vt 0.446809 0.860215 +vt 0.446809 0.623656 +vt 0.553191 0.666667 +vt 0.829787 0.860215 +vt 0.723404 0.817204 +vt 0.446809 0.763441 +vt 0.553191 0.817204 +vt 0.617021 0.860215 +vt 0.585106 0.860215 +vt 0.521277 0.860215 +vt 0.489362 0.860215 +vt 0.744681 0.860215 +vt 0.712766 0.860215 +vt 0.648936 0.860215 +vt 0.553191 0.860215 +vt 0.776596 0.860215 +vt 0.457447 0.860215 +vt 0.425532 0.860215 +vt 0.680851 0.860215 +vt 0.808511 0.860215 +vt 0.521277 0.913979 +vt 0.744681 0.913979 +vt 0.425532 0.913979 +vt 0.648936 0.913979 +vt 0.553191 0.913979 +vt 0.776596 0.913979 +vt 0.457447 0.913979 +vt 0.680851 0.913979 +vt 0.585106 0.913979 +vt 0.489362 0.913979 +vt 0.712766 0.913979 +vt 0.617021 0.913979 +vt 1.000000 -0.000000 +vt 0.223404 0.387097 +vt -0.000000 0.516129 +vt 0.553191 0.623656 +vt 0.723404 0.860215 +vt 0.808511 0.913979 +vt 0.553191 0.623656 +vt 0.723404 0.860215 +vt 0.808511 0.913979 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 0.8944 -0.4472 0.0000 +vn -0.8944 -0.4472 0.0000 +vn -0.7071 0.0000 -0.7071 +vn -0.7071 0.0000 0.7071 +vn -0.7071 0.7071 0.0000 +vn -0.7071 -0.7071 0.0000 +vn 0.0000 0.5000 -0.8660 +vn 0.0000 0.8660 -0.5000 +vn 0.0000 -0.8660 0.5000 +vn 0.0000 0.5000 0.8660 +vn 0.0000 -0.8660 -0.5000 +vn 0.0000 -0.5000 0.8660 +vn 0.0000 0.8660 0.5000 +vn 0.0000 -0.5000 -0.8660 +vn -0.1240 0.4961 0.8593 +vn -0.1240 0.8593 0.4961 +vn -0.1240 0.9923 0.0000 +vn -0.1240 0.8593 -0.4961 +vn -0.1240 0.4961 -0.8593 +vn -0.1240 -0.0000 -0.9923 +vn -0.1240 -0.4961 -0.8593 +vn -0.1240 -0.8593 -0.4961 +vn -0.1240 -0.9923 0.0000 +vn -0.1240 -0.8593 0.4961 +vn -0.1240 -0.4961 0.8593 +vn -0.1240 0.0000 0.9923 +vn 0.2425 0.8402 0.4851 +vn 0.2425 0.4851 0.8402 +vn 0.2425 0.9701 0.0000 +vn 0.2425 0.8402 -0.4851 +vn 0.2425 0.4851 -0.8402 +vn 0.2425 -0.0000 -0.9701 +vn 0.2425 -0.4851 -0.8402 +vn 0.2425 -0.8402 -0.4851 +vn 0.2425 -0.9701 0.0000 +vn 0.2425 -0.8402 0.4851 +vn 0.2425 -0.4851 0.8402 +vn 0.2425 -0.0000 0.9701 +vn 0.3511 0.8109 0.4682 +vn 0.3511 0.4682 0.8109 +vn 0.3511 0.9363 -0.0000 +vn 0.3511 0.8109 -0.4682 +vn 0.3511 0.4682 -0.8109 +vn 0.3511 0.0000 -0.9363 +vn 0.3511 -0.4682 -0.8109 +vn 0.3511 -0.8109 -0.4682 +vn 0.3511 -0.9363 -0.0000 +vn 0.3511 -0.8109 0.4682 +vn 0.3511 -0.4682 0.8109 +vn 0.3511 0.0000 0.9363 +vn 0.0000 -0.9117 0.4109 +vn 0.0000 -0.4155 0.9096 +vn 0.0000 0.4155 -0.9096 +vn 0.0000 -0.4155 -0.9096 +vn 0.0000 -0.9117 -0.4109 +vn 0.0000 0.9117 -0.4109 +vn 0.0000 0.4155 0.9096 +vn 0.0000 0.9117 0.4109 +vn -0.5000 0.0000 0.8660 +vn -0.8660 0.0000 -0.5000 +vn 0.8660 0.0000 -0.5000 +vn 0.5000 0.0000 0.8660 +vn -0.8660 0.0000 0.5000 +vn 0.5000 0.0000 -0.8660 +vn -0.5000 0.0000 -0.8660 +vn 0.8660 0.0000 0.5000 +vn -0.5000 -0.8660 0.0000 +vn -0.8660 0.5000 0.0000 +vn 0.8660 0.5000 0.0000 +vn 0.5000 -0.8660 0.0000 +vn -0.8660 -0.5000 0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.5000 0.8660 0.0000 +vn 0.8660 -0.5000 0.0000 +s off +f 1073/2000/94 1072/2001/94 1071/2002/94 +f 1077/2003/95 1075/2004/95 1076/2005/95 +f 1074/2006/96 1077/2003/96 1072/2007/96 +f 1071/2008/97 1075/2004/97 1073/2009/97 +f 1073/2010/98 1078/2011/98 1074/2012/98 +f 1072/2001/99 1076/2005/99 1071/2002/99 +f 1080/2013/100 1081/2014/100 1079/2015/100 +f 1082/2016/98 1085/2017/98 1081/2018/98 +f 1079/2015/99 1084/2019/99 1080/2020/99 +f 1085/2021/101 1084/2022/101 1083/2023/101 +f 1126/2024/96 1139/2025/96 1138/2026/96 +f 1125/2027/96 1138/2026/96 1137/2028/96 +f 1124/2029/96 1137/2028/96 1136/2030/96 +f 1123/2031/96 1136/2030/96 1135/2032/96 +f 1123/2031/96 1146/2033/96 1134/2034/96 +f 1134/2034/96 1145/2035/96 1133/2036/96 +f 1133/2036/96 1144/2037/96 1132/2038/96 +f 1132/2039/96 1143/2040/96 1131/2041/96 +f 1131/2041/96 1142/2042/96 1130/2043/96 +f 1130/2043/96 1141/2044/96 1129/2045/96 +f 1129/2045/96 1140/2046/96 1128/2047/96 +f 1127/2048/96 1140/2046/96 1139/2025/96 +f 1151/2049/96 1155/2050/96 1147/2051/96 +f 1198/2052/97 1211/2053/97 1199/2054/97 +f 1211/2053/97 1200/2055/97 1199/2054/97 +f 1212/2056/97 1201/2057/97 1200/2055/97 +f 1213/2058/97 1202/2059/97 1201/2057/97 +f 1202/2059/97 1215/2060/97 1203/2061/97 +f 1203/2061/97 1216/2062/97 1204/2063/97 +f 1204/2064/97 1217/2065/97 1205/2066/97 +f 1205/2066/97 1218/2067/97 1206/2068/97 +f 1206/2068/97 1207/2069/97 1195/2070/97 +f 1195/2070/97 1208/2071/97 1196/2072/97 +f 1196/2072/97 1209/2073/97 1197/2074/97 +f 1209/2073/97 1198/2052/97 1197/2074/97 +f 1227/2075/97 1225/2076/97 1221/2077/97 +f 1244/2078/96 1245/2079/96 1248/2080/96 +f 1239/2081/97 1240/2082/97 1234/2083/97 +f 1251/2084/99 1257/2085/99 1253/2086/99 +f 1258/2087/98 1252/2088/98 1254/2089/98 +f 1255/2090/97 1252/2091/97 1256/2092/97 +f 1257/2085/94 1256/2092/94 1258/2087/94 +f 1257/2085/96 1254/2093/96 1253/2094/96 +f 1261/2095/102 1270/2096/102 1262/2097/102 +f 1262/2097/98 1265/2098/98 1261/2095/98 +f 1266/2099/96 1263/2100/96 1265/2101/96 +f 1264/2102/99 1259/2103/99 1263/2104/99 +f 1265/2098/94 1259/2105/94 1261/2095/94 +f 1262/2097/95 1264/2102/95 1266/2099/95 +f 1269/2106/97 1267/2107/97 1268/2108/97 +f 1260/2109/103 1268/2110/103 1259/2103/103 +f 1262/2097/104 1269/2106/104 1260/2109/104 +f 1259/2105/105 1267/2111/105 1261/2095/105 +f 1287/2112/94 1298/2113/94 1286/2114/94 +f 1288/2115/94 1299/2116/94 1287/2112/94 +f 1289/2117/94 1300/2118/94 1288/2115/94 +f 1290/2119/94 1301/2120/94 1289/2117/94 +f 1290/2119/94 1303/2121/94 1302/2122/94 +f 1291/2123/94 1304/2124/94 1303/2121/94 +f 1292/2125/94 1305/2126/94 1304/2124/94 +f 1293/2127/94 1306/2128/94 1305/2126/94 +f 1294/2129/94 1295/2130/94 1306/2128/94 +f 1284/2131/94 1295/2132/94 1283/2133/94 +f 1285/2134/94 1296/2135/94 1284/2131/94 +f 1286/2114/94 1297/2136/94 1285/2134/94 +f 1311/2137/95 1315/2138/95 1307/2139/95 +f 1332/2140/96 1333/2141/96 1336/2142/96 +f 1327/2143/97 1328/2144/97 1322/2145/97 +f 1355/2146/98 1366/2147/98 1354/2148/98 +f 1356/2149/98 1367/2150/98 1355/2146/98 +f 1357/2151/98 1368/2152/98 1356/2149/98 +f 1358/2153/98 1369/2154/98 1357/2151/98 +f 1358/2153/98 1371/2155/98 1370/2156/98 +f 1360/2157/98 1371/2155/98 1359/2158/98 +f 1361/2159/98 1372/2160/98 1360/2157/98 +f 1361/2159/98 1374/2161/98 1373/2162/98 +f 1362/2163/98 1363/2164/98 1374/2161/98 +f 1352/2165/98 1363/2166/98 1351/2167/98 +f 1353/2168/98 1364/2169/98 1352/2165/98 +f 1354/2148/98 1365/2170/98 1353/2168/98 +f 1379/2171/99 1383/2172/99 1375/2173/99 +f 1387/2174/99 1393/2175/99 1389/2176/99 +f 1394/2177/98 1388/2178/98 1390/2179/98 +f 1391/2180/97 1388/2181/97 1392/2182/97 +f 1393/2175/94 1392/2182/94 1394/2177/94 +f 1393/2175/96 1390/2183/96 1389/2184/96 +f 1073/2000/94 1074/2185/94 1072/2001/94 +f 1077/2003/95 1078/2011/95 1075/2004/95 +f 1074/2006/96 1078/2011/96 1077/2003/96 +f 1071/2008/97 1076/2005/97 1075/2004/97 +f 1073/2010/98 1075/2004/98 1078/2011/98 +f 1072/2001/99 1077/2003/99 1076/2005/99 +f 1080/2013/100 1082/2186/100 1081/2014/100 +f 1082/2016/98 1086/2187/98 1085/2017/98 +f 1079/2015/99 1083/2023/99 1084/2019/99 +f 1085/2021/101 1086/2188/101 1084/2022/101 +f 1126/2024/96 1127/2048/96 1139/2025/96 +f 1125/2027/96 1126/2024/96 1138/2026/96 +f 1124/2029/96 1125/2027/96 1137/2028/96 +f 1123/2031/96 1124/2029/96 1136/2030/96 +f 1123/2031/96 1135/2032/96 1146/2033/96 +f 1134/2034/96 1146/2033/96 1145/2035/96 +f 1133/2036/96 1145/2035/96 1144/2037/96 +f 1132/2039/96 1144/2189/96 1143/2040/96 +f 1131/2041/96 1143/2040/96 1142/2042/96 +f 1130/2043/96 1142/2042/96 1141/2044/96 +f 1129/2045/96 1141/2044/96 1140/2046/96 +f 1127/2048/96 1128/2047/96 1140/2046/96 +f 1147/2051/96 1148/2190/96 1149/2191/96 +f 1149/2191/96 1150/2192/96 1147/2051/96 +f 1150/2192/96 1151/2049/96 1147/2051/96 +f 1151/2049/96 1152/2193/96 1153/2194/96 +f 1153/2194/96 1154/2195/96 1155/2050/96 +f 1155/2050/96 1156/2196/96 1157/2197/96 +f 1157/2197/96 1158/2198/96 1155/2050/96 +f 1158/2198/96 1147/2051/96 1155/2050/96 +f 1151/2049/96 1153/2194/96 1155/2050/96 +f 1198/2052/97 1210/2199/97 1211/2053/97 +f 1211/2053/97 1212/2056/97 1200/2055/97 +f 1212/2056/97 1213/2058/97 1201/2057/97 +f 1213/2058/97 1214/2200/97 1202/2059/97 +f 1202/2059/97 1214/2200/97 1215/2060/97 +f 1203/2061/97 1215/2060/97 1216/2062/97 +f 1204/2064/97 1216/2201/97 1217/2065/97 +f 1205/2066/97 1217/2065/97 1218/2067/97 +f 1206/2068/97 1218/2067/97 1207/2069/97 +f 1195/2070/97 1207/2069/97 1208/2071/97 +f 1196/2072/97 1208/2071/97 1209/2073/97 +f 1209/2073/97 1210/2199/97 1198/2052/97 +f 1221/2077/97 1220/2202/97 1219/2203/97 +f 1219/2203/97 1230/2204/97 1221/2077/97 +f 1230/2204/97 1229/2205/97 1221/2077/97 +f 1229/2205/97 1228/2206/97 1227/2075/97 +f 1227/2075/97 1226/2207/97 1225/2076/97 +f 1225/2076/97 1224/2208/97 1223/2209/97 +f 1223/2209/97 1222/2210/97 1225/2076/97 +f 1222/2210/97 1221/2077/97 1225/2076/97 +f 1229/2205/97 1227/2075/97 1221/2077/97 +f 1245/2079/96 1241/2211/96 1250/2212/96 +f 1250/2212/96 1249/2213/96 1245/2079/96 +f 1249/2213/96 1248/2080/96 1245/2079/96 +f 1248/2080/96 1247/2214/96 1243/2215/96 +f 1247/2214/96 1246/2216/96 1243/2215/96 +f 1246/2216/96 1242/2217/96 1243/2215/96 +f 1243/2215/96 1244/2078/96 1248/2080/96 +f 1240/2082/97 1238/2218/97 1234/2083/97 +f 1234/2083/97 1235/2219/97 1231/2220/97 +f 1235/2219/97 1236/2221/97 1231/2220/97 +f 1236/2221/97 1237/2222/97 1233/2223/97 +f 1233/2223/97 1232/2224/97 1236/2221/97 +f 1232/2224/97 1231/2220/97 1236/2221/97 +f 1231/2220/97 1239/2081/97 1234/2083/97 +f 1251/2084/99 1255/2090/99 1257/2085/99 +f 1258/2087/98 1256/2092/98 1252/2088/98 +f 1255/2090/97 1251/2225/97 1252/2091/97 +f 1257/2085/94 1255/2090/94 1256/2092/94 +f 1257/2085/96 1258/2087/96 1254/2093/96 +f 1261/2095/102 1267/2226/102 1270/2096/102 +f 1262/2097/98 1266/2099/98 1265/2098/98 +f 1266/2099/96 1264/2102/96 1263/2100/96 +f 1264/2102/99 1260/2109/99 1259/2103/99 +f 1265/2098/94 1263/2227/94 1259/2105/94 +f 1262/2097/95 1260/2109/95 1264/2102/95 +f 1269/2106/97 1270/2228/97 1267/2107/97 +f 1260/2109/103 1269/2229/103 1268/2110/103 +f 1262/2097/104 1270/2228/104 1269/2106/104 +f 1259/2105/105 1268/2230/105 1267/2111/105 +f 1287/2112/94 1299/2116/94 1298/2113/94 +f 1288/2115/94 1300/2118/94 1299/2116/94 +f 1289/2117/94 1301/2120/94 1300/2118/94 +f 1290/2119/94 1302/2122/94 1301/2120/94 +f 1290/2119/94 1291/2123/94 1303/2121/94 +f 1291/2123/94 1292/2125/94 1304/2124/94 +f 1292/2125/94 1293/2127/94 1305/2126/94 +f 1293/2127/94 1294/2129/94 1306/2128/94 +f 1294/2129/94 1283/2231/94 1295/2130/94 +f 1284/2131/94 1296/2135/94 1295/2132/94 +f 1285/2134/94 1297/2136/94 1296/2135/94 +f 1286/2114/94 1298/2113/94 1297/2136/94 +f 1307/2139/95 1308/2232/95 1311/2137/95 +f 1308/2232/95 1309/2233/95 1311/2137/95 +f 1309/2233/95 1310/2234/95 1311/2137/95 +f 1311/2137/95 1312/2235/95 1313/2236/95 +f 1313/2236/95 1314/2237/95 1315/2138/95 +f 1315/2138/95 1316/2238/95 1317/2239/95 +f 1317/2239/95 1318/2240/95 1315/2138/95 +f 1318/2240/95 1307/2139/95 1315/2138/95 +f 1311/2137/95 1313/2236/95 1315/2138/95 +f 1333/2141/96 1329/2241/96 1338/2242/96 +f 1338/2242/96 1337/2243/96 1333/2141/96 +f 1337/2243/96 1336/2142/96 1333/2141/96 +f 1336/2142/96 1335/2244/96 1331/2245/96 +f 1335/2244/96 1334/2246/96 1331/2245/96 +f 1334/2246/96 1330/2247/96 1331/2245/96 +f 1331/2245/96 1332/2140/96 1336/2142/96 +f 1328/2144/97 1326/2248/97 1322/2145/97 +f 1322/2145/97 1323/2249/97 1319/2250/97 +f 1323/2249/97 1324/2251/97 1319/2250/97 +f 1324/2251/97 1325/2252/97 1321/2253/97 +f 1321/2253/97 1320/2254/97 1324/2251/97 +f 1320/2254/97 1319/2250/97 1324/2251/97 +f 1319/2250/97 1327/2143/97 1322/2145/97 +f 1355/2146/98 1367/2150/98 1366/2147/98 +f 1356/2149/98 1368/2152/98 1367/2150/98 +f 1357/2151/98 1369/2154/98 1368/2152/98 +f 1358/2153/98 1370/2156/98 1369/2154/98 +f 1358/2153/98 1359/2158/98 1371/2155/98 +f 1360/2157/98 1372/2160/98 1371/2155/98 +f 1361/2159/98 1373/2162/98 1372/2160/98 +f 1361/2159/98 1362/2163/98 1374/2161/98 +f 1362/2163/98 1351/2255/98 1363/2164/98 +f 1352/2165/98 1364/2169/98 1363/2166/98 +f 1353/2168/98 1365/2170/98 1364/2169/98 +f 1354/2148/98 1366/2147/98 1365/2170/98 +f 1375/2173/99 1376/2256/99 1377/2257/99 +f 1377/2257/99 1378/2258/99 1379/2171/99 +f 1379/2171/99 1380/2259/99 1383/2172/99 +f 1380/2259/99 1381/2260/99 1383/2172/99 +f 1381/2260/99 1382/2261/99 1383/2172/99 +f 1383/2172/99 1384/2262/99 1385/2263/99 +f 1385/2263/99 1386/2264/99 1383/2172/99 +f 1386/2264/99 1375/2173/99 1383/2172/99 +f 1375/2173/99 1377/2257/99 1379/2171/99 +f 1387/2174/99 1391/2180/99 1393/2175/99 +f 1394/2177/98 1392/2182/98 1388/2178/98 +f 1391/2180/97 1387/2265/97 1388/2181/97 +f 1393/2175/94 1391/2180/94 1392/2182/94 +f 1393/2175/96 1394/2177/96 1390/2183/96 +s 1 +f 1100/2266/106 1089/2267/107 1088/2268/106 +f 1107/2269/108 1096/2270/94 1095/2271/108 +f 1104/2272/109 1093/2273/99 1092/2274/109 +f 1101/2275/107 1090/2276/95 1089/2267/107 +f 1108/2277/94 1097/2278/110 1096/2279/94 +f 1105/2280/99 1094/2281/111 1093/2273/99 +f 1102/2282/95 1091/2283/112 1090/2276/95 +f 1109/2284/110 1098/2285/113 1097/2278/110 +f 1099/2286/98 1088/2268/106 1087/2287/98 +f 1106/2288/111 1095/2271/108 1094/2281/111 +f 1103/2289/112 1092/2274/109 1091/2283/112 +f 1110/2290/113 1087/2287/98 1098/2285/113 +f 1092/2274/114 1115/2291/115 1091/2283/115 +f 1091/2283/115 1114/2292/116 1090/2276/116 +f 1090/2276/116 1113/2293/117 1089/2267/117 +f 1089/2267/117 1112/2294/118 1088/2268/118 +f 1088/2268/118 1111/2295/119 1087/2287/119 +f 1087/2287/119 1122/2296/120 1098/2285/120 +f 1097/2278/121 1122/2296/120 1121/2297/121 +f 1096/2279/122 1121/2297/121 1120/2298/122 +f 1096/2270/122 1119/2299/123 1095/2271/123 +f 1095/2271/123 1118/2300/124 1094/2281/124 +f 1094/2281/124 1117/2301/125 1093/2273/125 +f 1092/2274/114 1117/2301/125 1116/2302/114 +f 1118/2300/111 1129/2045/99 1117/2301/99 +f 1115/2291/112 1126/2024/95 1114/2292/95 +f 1122/2296/113 1133/2036/110 1121/2297/110 +f 1112/2294/106 1123/2031/98 1111/2295/98 +f 1119/2299/108 1130/2043/111 1118/2300/111 +f 1116/2302/109 1127/2048/112 1115/2291/112 +f 1111/2295/98 1134/2034/113 1122/2296/113 +f 1113/2293/107 1124/2029/106 1112/2294/106 +f 1120/2303/94 1131/2041/108 1119/2299/108 +f 1117/2301/99 1128/2047/109 1116/2302/109 +f 1114/2292/95 1125/2027/107 1113/2293/107 +f 1121/2297/110 1132/2038/94 1120/2298/94 +f 1138/2026/94 1149/2304/108 1137/2028/108 +f 1145/2035/112 1156/2305/95 1144/2037/95 +f 1142/2042/106 1153/2306/98 1141/2044/98 +f 1139/2025/110 1150/2307/94 1138/2026/94 +f 1146/2033/109 1157/2308/112 1145/2035/112 +f 1136/2030/111 1147/2309/99 1135/2032/99 +f 1143/2040/107 1154/2310/106 1142/2042/106 +f 1140/2046/113 1151/2311/110 1139/2025/110 +f 1135/2032/99 1158/2312/109 1146/2033/109 +f 1137/2028/108 1148/2313/111 1136/2030/111 +f 1144/2189/95 1155/2314/107 1143/2040/107 +f 1141/2044/98 1152/2315/113 1140/2046/113 +f 1103/2289/126 1164/2316/127 1104/2272/127 +f 1162/2317/128 1103/2289/126 1102/2282/128 +f 1161/2318/129 1102/2282/128 1101/2275/129 +f 1100/2266/130 1161/2318/129 1101/2275/129 +f 1099/2286/131 1160/2319/130 1100/2266/130 +f 1110/2290/132 1159/2320/131 1099/2286/131 +f 1109/2284/133 1170/2321/132 1110/2290/132 +f 1108/2277/134 1169/2322/133 1109/2284/133 +f 1107/2269/135 1168/2323/134 1108/2324/134 +f 1166/2325/136 1107/2269/135 1106/2288/136 +f 1165/2326/137 1106/2288/136 1105/2280/137 +f 1164/2316/127 1105/2280/137 1104/2272/127 +f 1164/2316/109 1177/2327/99 1165/2326/99 +f 1161/2318/107 1174/2328/95 1162/2317/95 +f 1168/2329/94 1181/2330/110 1169/2322/110 +f 1165/2326/99 1178/2331/111 1166/2325/111 +f 1162/2317/95 1175/2332/112 1163/2333/112 +f 1169/2322/110 1182/2334/113 1170/2321/113 +f 1159/2320/98 1172/2335/106 1160/2319/106 +f 1166/2325/111 1179/2336/108 1167/2337/108 +f 1163/2333/112 1176/2338/109 1164/2316/109 +f 1170/2321/113 1171/2339/98 1159/2320/98 +f 1160/2319/106 1173/2340/107 1161/2318/107 +f 1167/2337/108 1180/2341/94 1168/2323/94 +f 1187/2342/138 1176/2343/139 1175/2344/138 +f 1186/2345/140 1175/2346/138 1174/2347/140 +f 1173/2348/141 1186/2345/140 1174/2349/140 +f 1172/2350/142 1185/2351/141 1173/2352/141 +f 1183/2353/143 1172/2354/142 1171/2355/143 +f 1182/2356/144 1183/2353/143 1171/2357/143 +f 1193/2358/145 1182/2359/144 1181/2360/145 +f 1192/2361/146 1181/2362/145 1180/2363/146 +f 1191/2364/147 1180/2341/146 1179/2336/147 +f 1190/2365/148 1179/2366/147 1178/2367/148 +f 1177/2368/149 1190/2365/148 1178/2369/148 +f 1188/2370/139 1177/2371/149 1176/2372/139 +f 1191/2364/108 1204/2063/94 1192/2373/94 +f 1188/2370/109 1201/2057/99 1189/2374/99 +f 1185/2351/107 1198/2052/95 1186/2345/95 +f 1192/2361/94 1205/2066/110 1193/2358/110 +f 1189/2374/99 1202/2059/111 1190/2365/111 +f 1186/2345/95 1199/2054/112 1187/2342/112 +f 1193/2358/110 1206/2068/113 1194/2375/113 +f 1183/2353/98 1196/2072/106 1184/2376/106 +f 1190/2365/111 1203/2061/108 1191/2364/108 +f 1187/2342/112 1200/2055/109 1188/2370/109 +f 1194/2375/113 1195/2070/98 1183/2353/98 +f 1184/2376/106 1197/2074/107 1185/2351/107 +f 1211/2053/110 1224/2377/113 1212/2056/113 +f 1218/2067/109 1219/2378/99 1207/2069/99 +f 1208/2071/111 1221/2379/108 1209/2073/108 +f 1215/2060/107 1228/2380/95 1216/2062/95 +f 1212/2056/113 1225/2381/98 1213/2058/98 +f 1209/2073/108 1222/2382/94 1210/2199/94 +f 1216/2201/95 1229/2383/112 1217/2065/112 +f 1213/2058/98 1226/2384/106 1214/2200/106 +f 1210/2199/94 1223/2385/110 1211/2053/110 +f 1217/2065/112 1230/2386/109 1218/2067/109 +f 1207/2069/99 1220/2387/111 1208/2071/111 +f 1214/2200/106 1227/2388/107 1215/2060/107 +f 1236/2389/150 1242/2390/151 1237/2391/151 +f 1240/2392/152 1241/2393/153 1238/2394/153 +f 1234/2395/154 1244/2396/94 1235/2397/94 +f 1239/2398/155 1250/2399/152 1240/2392/152 +f 1246/2400/156 1237/2391/151 1242/2390/151 +f 1238/2394/153 1245/2401/154 1234/2395/154 +f 1232/2402/157 1248/2403/95 1231/2404/95 +f 1235/2405/94 1243/2406/150 1236/2389/150 +f 1231/2407/95 1249/2408/155 1239/2398/155 +f 1233/2409/156 1247/2410/157 1232/2402/157 +f 1277/2411/99 1288/2115/158 1276/2412/158 +f 1274/2413/97 1285/2134/159 1273/2414/159 +f 1281/2415/160 1292/2125/96 1280/2416/96 +f 1278/2417/161 1289/2117/99 1277/2411/99 +f 1275/2418/162 1286/2114/97 1274/2413/97 +f 1282/2419/163 1293/2127/160 1281/2415/160 +f 1272/2420/164 1283/2133/98 1271/2421/98 +f 1279/2422/165 1290/2119/161 1278/2417/161 +f 1276/2412/158 1287/2112/162 1275/2418/162 +f 1271/2423/98 1294/2129/163 1282/2419/163 +f 1273/2414/159 1284/2131/164 1272/2420/164 +f 1280/2416/96 1291/2123/165 1279/2422/165 +f 1299/2116/162 1310/2424/97 1298/2113/97 +f 1306/2128/163 1317/2425/160 1305/2126/160 +f 1296/2135/164 1307/2426/98 1295/2132/98 +f 1303/2121/165 1314/2427/161 1302/2122/161 +f 1300/2118/158 1311/2428/162 1299/2116/162 +f 1295/2130/98 1318/2429/163 1306/2128/163 +f 1297/2136/159 1308/2430/164 1296/2135/164 +f 1304/2124/96 1315/2431/165 1303/2121/165 +f 1301/2120/99 1312/2432/158 1300/2118/158 +f 1298/2113/97 1309/2433/159 1297/2136/159 +f 1305/2126/160 1316/2434/96 1304/2124/96 +f 1302/2122/161 1313/2435/99 1301/2120/99 +f 1324/2436/150 1330/2437/151 1325/2438/151 +f 1328/2439/152 1329/2440/153 1326/2441/153 +f 1322/2442/154 1332/2443/94 1323/2444/94 +f 1327/2445/155 1338/2446/152 1328/2439/152 +f 1334/2447/156 1325/2438/151 1330/2437/151 +f 1326/2441/153 1333/2448/154 1322/2442/154 +f 1320/2449/157 1336/2450/95 1319/2451/95 +f 1323/2452/94 1331/2453/150 1324/2436/150 +f 1319/2454/95 1337/2455/155 1327/2445/155 +f 1321/2456/156 1335/2457/157 1320/2449/157 +f 1345/2458/94 1356/2149/166 1344/2459/166 +f 1342/2460/97 1353/2168/167 1341/2461/167 +f 1349/2462/168 1360/2157/96 1348/2463/96 +f 1346/2464/169 1357/2151/94 1345/2458/94 +f 1343/2465/170 1354/2148/97 1342/2460/97 +f 1350/2466/171 1361/2159/168 1349/2462/168 +f 1340/2467/172 1351/2167/95 1339/2468/95 +f 1347/2469/173 1358/2153/169 1346/2464/169 +f 1344/2459/166 1355/2146/170 1343/2465/170 +f 1339/2470/95 1362/2163/171 1350/2466/171 +f 1341/2461/167 1352/2165/172 1340/2467/172 +f 1348/2463/96 1359/2158/173 1347/2469/173 +f 1367/2150/170 1378/2471/97 1366/2147/97 +f 1374/2161/171 1385/2472/168 1373/2162/168 +f 1364/2169/172 1375/2473/95 1363/2166/95 +f 1371/2155/173 1382/2474/169 1370/2156/169 +f 1368/2152/166 1379/2475/170 1367/2150/170 +f 1363/2164/95 1386/2476/171 1374/2161/171 +f 1365/2170/167 1376/2477/172 1364/2169/172 +f 1372/2160/96 1383/2478/173 1371/2155/173 +f 1369/2154/94 1380/2479/166 1368/2152/166 +f 1366/2147/97 1377/2480/167 1365/2170/167 +f 1373/2162/168 1384/2481/96 1372/2160/96 +f 1370/2156/169 1381/2482/94 1369/2154/94 +f 1100/2266/106 1101/2275/107 1089/2267/107 +f 1107/2269/108 1108/2324/94 1096/2270/94 +f 1104/2272/109 1105/2280/99 1093/2273/99 +f 1101/2275/107 1102/2282/95 1090/2276/95 +f 1108/2277/94 1109/2284/110 1097/2278/110 +f 1105/2280/99 1106/2288/111 1094/2281/111 +f 1102/2282/95 1103/2289/112 1091/2283/112 +f 1109/2284/110 1110/2290/113 1098/2285/113 +f 1099/2286/98 1100/2266/106 1088/2268/106 +f 1106/2288/111 1107/2269/108 1095/2271/108 +f 1103/2289/112 1104/2272/109 1092/2274/109 +f 1110/2290/113 1099/2286/98 1087/2287/98 +f 1092/2274/114 1116/2302/114 1115/2291/115 +f 1091/2283/115 1115/2291/115 1114/2292/116 +f 1090/2276/116 1114/2292/116 1113/2293/117 +f 1089/2267/117 1113/2293/117 1112/2294/118 +f 1088/2268/118 1112/2294/118 1111/2295/119 +f 1087/2287/119 1111/2295/119 1122/2296/120 +f 1097/2278/121 1098/2285/120 1122/2296/120 +f 1096/2279/122 1097/2278/121 1121/2297/121 +f 1096/2270/122 1120/2303/122 1119/2299/123 +f 1095/2271/123 1119/2299/123 1118/2300/124 +f 1094/2281/124 1118/2300/124 1117/2301/125 +f 1092/2274/114 1093/2273/125 1117/2301/125 +f 1118/2300/111 1130/2043/111 1129/2045/99 +f 1115/2291/112 1127/2048/112 1126/2024/95 +f 1122/2296/113 1134/2034/113 1133/2036/110 +f 1112/2294/106 1124/2029/106 1123/2031/98 +f 1119/2299/108 1131/2041/108 1130/2043/111 +f 1116/2302/109 1128/2047/109 1127/2048/112 +f 1111/2295/98 1123/2031/98 1134/2034/113 +f 1113/2293/107 1125/2027/107 1124/2029/106 +f 1120/2303/94 1132/2039/94 1131/2041/108 +f 1117/2301/99 1129/2045/99 1128/2047/109 +f 1114/2292/95 1126/2024/95 1125/2027/107 +f 1121/2297/110 1133/2036/110 1132/2038/94 +f 1138/2026/94 1150/2307/94 1149/2304/108 +f 1145/2035/112 1157/2308/112 1156/2305/95 +f 1142/2042/106 1154/2310/106 1153/2306/98 +f 1139/2025/110 1151/2311/110 1150/2307/94 +f 1146/2033/109 1158/2312/109 1157/2308/112 +f 1136/2030/111 1148/2313/111 1147/2309/99 +f 1143/2040/107 1155/2314/107 1154/2310/106 +f 1140/2046/113 1152/2315/113 1151/2311/110 +f 1135/2032/99 1147/2309/99 1158/2312/109 +f 1137/2028/108 1149/2304/108 1148/2313/111 +f 1144/2189/95 1156/2483/95 1155/2314/107 +f 1141/2044/98 1153/2306/98 1152/2315/113 +f 1103/2289/126 1163/2333/126 1164/2316/127 +f 1162/2317/128 1163/2333/126 1103/2289/126 +f 1161/2318/129 1162/2317/128 1102/2282/128 +f 1100/2266/130 1160/2319/130 1161/2318/129 +f 1099/2286/131 1159/2320/131 1160/2319/130 +f 1110/2290/132 1170/2321/132 1159/2320/131 +f 1109/2284/133 1169/2322/133 1170/2321/132 +f 1108/2277/134 1168/2329/134 1169/2322/133 +f 1107/2269/135 1167/2337/135 1168/2323/134 +f 1166/2325/136 1167/2337/135 1107/2269/135 +f 1165/2326/137 1166/2325/136 1106/2288/136 +f 1164/2316/127 1165/2326/137 1105/2280/137 +f 1164/2316/109 1176/2338/109 1177/2327/99 +f 1161/2318/107 1173/2340/107 1174/2328/95 +f 1168/2329/94 1180/2484/94 1181/2330/110 +f 1165/2326/99 1177/2327/99 1178/2331/111 +f 1162/2317/95 1174/2328/95 1175/2332/112 +f 1169/2322/110 1181/2330/110 1182/2334/113 +f 1159/2320/98 1171/2339/98 1172/2335/106 +f 1166/2325/111 1178/2331/111 1179/2336/108 +f 1163/2333/112 1175/2332/112 1176/2338/109 +f 1170/2321/113 1182/2334/113 1171/2339/98 +f 1160/2319/106 1172/2335/106 1173/2340/107 +f 1167/2337/108 1179/2336/108 1180/2341/94 +f 1187/2342/138 1188/2370/139 1176/2343/139 +f 1186/2345/140 1187/2342/138 1175/2346/138 +f 1173/2348/141 1185/2351/141 1186/2345/140 +f 1172/2350/142 1184/2376/142 1185/2351/141 +f 1183/2353/143 1184/2376/142 1172/2354/142 +f 1182/2356/144 1194/2375/144 1183/2353/143 +f 1193/2358/145 1194/2375/144 1182/2359/144 +f 1192/2361/146 1193/2358/145 1181/2362/145 +f 1191/2364/147 1192/2373/146 1180/2341/146 +f 1190/2365/148 1191/2364/147 1179/2366/147 +f 1177/2368/149 1189/2374/149 1190/2365/148 +f 1188/2370/139 1189/2374/149 1177/2371/149 +f 1191/2364/108 1203/2061/108 1204/2063/94 +f 1188/2370/109 1200/2055/109 1201/2057/99 +f 1185/2351/107 1197/2074/107 1198/2052/95 +f 1192/2361/94 1204/2064/94 1205/2066/110 +f 1189/2374/99 1201/2057/99 1202/2059/111 +f 1186/2345/95 1198/2052/95 1199/2054/112 +f 1193/2358/110 1205/2066/110 1206/2068/113 +f 1183/2353/98 1195/2070/98 1196/2072/106 +f 1190/2365/111 1202/2059/111 1203/2061/108 +f 1187/2342/112 1199/2054/112 1200/2055/109 +f 1194/2375/113 1206/2068/113 1195/2070/98 +f 1184/2376/106 1196/2072/106 1197/2074/107 +f 1211/2053/110 1223/2385/110 1224/2377/113 +f 1218/2067/109 1230/2386/109 1219/2378/99 +f 1208/2071/111 1220/2387/111 1221/2379/108 +f 1215/2060/107 1227/2388/107 1228/2380/95 +f 1212/2056/113 1224/2377/113 1225/2381/98 +f 1209/2073/108 1221/2379/108 1222/2382/94 +f 1216/2201/95 1228/2485/95 1229/2383/112 +f 1213/2058/98 1225/2381/98 1226/2384/106 +f 1210/2199/94 1222/2382/94 1223/2385/110 +f 1217/2065/112 1229/2383/112 1230/2386/109 +f 1207/2069/99 1219/2378/99 1220/2387/111 +f 1214/2200/106 1226/2384/106 1227/2388/107 +f 1236/2389/150 1243/2406/150 1242/2390/151 +f 1240/2392/152 1250/2399/152 1241/2393/153 +f 1234/2395/154 1245/2401/154 1244/2396/94 +f 1239/2398/155 1249/2408/155 1250/2399/152 +f 1246/2400/156 1233/2409/156 1237/2391/151 +f 1238/2394/153 1241/2393/153 1245/2401/154 +f 1232/2402/157 1247/2410/157 1248/2403/95 +f 1235/2405/94 1244/2486/94 1243/2406/150 +f 1231/2407/95 1248/2487/95 1249/2408/155 +f 1233/2409/156 1246/2400/156 1247/2410/157 +f 1277/2411/99 1289/2117/99 1288/2115/158 +f 1274/2413/97 1286/2114/97 1285/2134/159 +f 1281/2415/160 1293/2127/160 1292/2125/96 +f 1278/2417/161 1290/2119/161 1289/2117/99 +f 1275/2418/162 1287/2112/162 1286/2114/97 +f 1282/2419/163 1294/2129/163 1293/2127/160 +f 1272/2420/164 1284/2131/164 1283/2133/98 +f 1279/2422/165 1291/2123/165 1290/2119/161 +f 1276/2412/158 1288/2115/158 1287/2112/162 +f 1271/2423/98 1283/2231/98 1294/2129/163 +f 1273/2414/159 1285/2134/159 1284/2131/164 +f 1280/2416/96 1292/2125/96 1291/2123/165 +f 1299/2116/162 1311/2428/162 1310/2424/97 +f 1306/2128/163 1318/2429/163 1317/2425/160 +f 1296/2135/164 1308/2430/164 1307/2426/98 +f 1303/2121/165 1315/2431/165 1314/2427/161 +f 1300/2118/158 1312/2432/158 1311/2428/162 +f 1295/2130/98 1307/2488/98 1318/2429/163 +f 1297/2136/159 1309/2433/159 1308/2430/164 +f 1304/2124/96 1316/2434/96 1315/2431/165 +f 1301/2120/99 1313/2435/99 1312/2432/158 +f 1298/2113/97 1310/2424/97 1309/2433/159 +f 1305/2126/160 1317/2425/160 1316/2434/96 +f 1302/2122/161 1314/2427/161 1313/2435/99 +f 1324/2436/150 1331/2453/150 1330/2437/151 +f 1328/2439/152 1338/2446/152 1329/2440/153 +f 1322/2442/154 1333/2448/154 1332/2443/94 +f 1327/2445/155 1337/2455/155 1338/2446/152 +f 1334/2447/156 1321/2456/156 1325/2438/151 +f 1326/2441/153 1329/2440/153 1333/2448/154 +f 1320/2449/157 1335/2457/157 1336/2450/95 +f 1323/2452/94 1332/2489/94 1331/2453/150 +f 1319/2454/95 1336/2490/95 1337/2455/155 +f 1321/2456/156 1334/2447/156 1335/2457/157 +f 1345/2458/94 1357/2151/94 1356/2149/166 +f 1342/2460/97 1354/2148/97 1353/2168/167 +f 1349/2462/168 1361/2159/168 1360/2157/96 +f 1346/2464/169 1358/2153/169 1357/2151/94 +f 1343/2465/170 1355/2146/170 1354/2148/97 +f 1350/2466/171 1362/2163/171 1361/2159/168 +f 1340/2467/172 1352/2165/172 1351/2167/95 +f 1347/2469/173 1359/2158/173 1358/2153/169 +f 1344/2459/166 1356/2149/166 1355/2146/170 +f 1339/2470/95 1351/2255/95 1362/2163/171 +f 1341/2461/167 1353/2168/167 1352/2165/172 +f 1348/2463/96 1360/2157/96 1359/2158/173 +f 1367/2150/170 1379/2475/170 1378/2471/97 +f 1374/2161/171 1386/2476/171 1385/2472/168 +f 1364/2169/172 1376/2477/172 1375/2473/95 +f 1371/2155/173 1383/2478/173 1382/2474/169 +f 1368/2152/166 1380/2479/166 1379/2475/170 +f 1363/2164/95 1375/2491/95 1386/2476/171 +f 1365/2170/167 1377/2480/167 1376/2477/172 +f 1372/2160/96 1384/2481/96 1383/2478/173 +f 1369/2154/94 1381/2482/94 1380/2479/166 +f 1366/2147/97 1378/2471/97 1377/2480/167 +f 1373/2162/168 1385/2472/168 1384/2481/96 +f 1370/2156/169 1382/2474/169 1381/2482/94 +o Gun +v -8.750000 2.500000 -0.500000 +v -1.000000 2.500000 -0.500000 +v -8.750000 2.250000 -0.433013 +v -1.000000 2.250000 -0.433013 +v -8.750000 2.066987 -0.250000 +v -1.000000 2.066987 -0.250000 +v -8.750000 2.000000 0.000000 +v -1.000000 2.000000 0.000000 +v -8.750000 2.066987 0.250000 +v -1.000000 2.066987 0.250000 +v -8.750000 2.250000 0.433013 +v -1.000000 2.250000 0.433013 +v -8.750000 2.500000 0.500000 +v -1.000000 2.500000 0.500000 +v -8.750000 2.750000 0.433013 +v -1.000000 2.750000 0.433013 +v -8.750000 2.933012 0.250000 +v -1.000000 2.933012 0.250000 +v -8.750000 3.000000 0.000000 +v -1.000000 3.000000 0.000000 +v -8.750000 2.933013 -0.250000 +v -1.000000 2.933013 -0.250000 +v -8.750000 2.750000 -0.433012 +v -1.000000 2.750000 -0.433012 +v -8.750000 2.500000 -0.375000 +v -8.750000 2.312500 -0.324759 +v -8.750000 2.175241 -0.187500 +v -8.750000 2.125000 0.000000 +v -8.750000 2.175241 0.187500 +v -8.750000 2.312500 0.324759 +v -8.750000 2.500000 0.375000 +v -8.750000 2.687500 0.324759 +v -8.750000 2.824759 0.187500 +v -8.750000 2.875000 0.000000 +v -8.750000 2.824759 -0.187500 +v -8.750000 2.687500 -0.324759 +v 0.001000 2.500000 -0.375000 +v 0.001000 2.312500 -0.324759 +v 0.001000 2.175241 -0.187500 +v 0.001000 2.125000 0.000000 +v 0.001000 2.175241 0.187500 +v 0.001000 2.312500 0.324759 +v 0.001000 2.500000 0.375000 +v 0.001000 2.687500 0.324759 +v 0.001000 2.824759 0.187500 +v 0.001000 2.875000 0.000000 +v 0.001000 2.824759 -0.187500 +v 0.001000 2.687500 -0.324759 +v -1.000000 2.500000 -0.625000 +v -1.000000 2.187500 -0.541266 +v -1.000000 1.958734 -0.312500 +v -1.000000 1.875000 0.000000 +v -1.000000 1.958734 0.312500 +v -1.000000 2.187500 0.541265 +v -1.000000 2.500000 0.625000 +v -1.000000 2.812500 0.541266 +v -1.000000 3.041266 0.312500 +v -1.000000 3.125000 0.000000 +v -1.000000 3.041266 -0.312500 +v -1.000000 2.812500 -0.541265 +v 0.001000 2.500000 -0.625000 +v 0.001000 2.187500 -0.541266 +v 0.001000 1.958734 -0.312500 +v 0.001000 1.875000 0.000000 +v 0.001000 1.958734 0.312500 +v 0.001000 2.187500 0.541265 +v 0.001000 2.500000 0.625000 +v 0.001000 2.812500 0.541266 +v 0.001000 3.041266 0.312500 +v 0.001000 3.125000 0.000000 +v 0.001000 3.041266 -0.312500 +v 0.001000 2.812500 -0.541265 +v 0.000000 0.562500 0.500000 +v 2.500000 0.562500 0.500000 +v 0.000000 0.562500 -0.500000 +v 2.500000 0.562500 -0.500000 +v 2.500000 -0.187500 0.500000 +v 2.500000 -0.187500 -0.500000 +v 0.000000 -0.187500 -0.500000 +v 0.000000 -0.187500 0.500000 +v 2.500000 2.937500 0.500000 +v 2.500000 2.937500 -0.500000 +v -0.999000 3.187500 0.500000 +v -0.999000 3.187500 -0.500000 +v 0.625000 3.187500 0.500000 +v 0.625000 3.187500 -0.500000 +v 1.375000 3.437500 0.500000 +v 1.375000 3.437500 -0.500000 +v 2.750000 3.437500 0.500000 +v 2.750000 3.437500 -0.500000 +v 2.750000 3.187500 0.500000 +v 2.750000 3.187500 -0.500000 +v 3.000000 3.187500 0.500000 +v 3.000000 3.187500 -0.500000 +v 0.000000 2.937500 -0.500000 +v 0.000000 2.937500 0.500000 +v 0.000000 -0.187500 -0.500000 +v 0.000000 -0.187500 0.000000 +v -0.750000 -0.187500 -0.500000 +v 0.000000 2.187500 -0.500000 +v -3.750000 1.250000 0.250000 +v -1.000000 1.250000 0.250000 +v -3.750000 1.250000 -0.250000 +v -1.000000 1.250000 -0.250000 +v 0.000000 1.750000 -0.187500 +v 0.000000 1.882583 -0.132582 +v 0.000000 1.937500 0.000000 +v 0.000000 1.562500 0.000000 +v 0.000000 1.617417 -0.132582 +v -1.000000 1.750000 -0.187500 +v -1.000000 1.882583 -0.132582 +v -1.000000 1.937500 0.000000 +v -1.000000 1.562500 0.000000 +v -1.000000 1.617417 -0.132582 +v -0.750000 -0.187500 0.000000 +v -1.000000 2.187500 -0.500000 +v -0.750000 0.687500 -0.500000 +v -0.750000 0.687500 0.000000 +v -1.000000 1.062500 -0.500000 +v -1.000000 1.062500 0.000000 +v -4.250000 2.125000 -0.250000 +v -4.250000 2.125000 0.250000 +v -1.000000 2.125000 0.250000 +v -1.000000 2.125000 -0.250000 +v -1.000000 1.625000 0.250000 +v -3.000000 1.625000 0.250000 +v -3.000000 1.875000 0.250000 +v -1.000000 1.875000 0.250000 +v -1.000000 1.625000 -0.125000 +v -3.000000 1.625000 -0.125000 +v -3.000000 1.875000 -0.125000 +v -1.000000 1.875000 -0.125000 +v 3.625000 2.437500 0.500000 +v 3.625000 2.437500 -0.500000 +v 4.875000 1.687500 0.500000 +v 4.875000 1.687500 -0.500000 +v 5.875000 1.312500 0.500000 +v 5.875000 1.312500 -0.500000 +v 5.875000 0.687500 0.500000 +v 5.875000 0.687500 -0.500000 +v 7.875000 -3.687500 -0.500000 +v 7.875000 -3.687500 0.500000 +v 6.875000 -0.937500 0.500000 +v 6.875000 -0.937500 -0.500000 +v 4.750000 -3.687500 -0.500000 +v 4.750000 -3.687500 0.500000 +v 4.750000 -2.937500 -0.500000 +v 4.750000 -2.937500 0.500000 +v 4.500000 -1.937500 -0.500000 +v 4.500000 -1.937500 0.500000 +v 3.875000 -1.062500 -0.500000 +v 3.875000 -1.062500 0.500000 +v 3.125000 -0.937500 -0.500000 +v 3.125000 -0.937500 0.500000 +v 2.875000 -0.437500 -0.500000 +v 2.875000 -0.437500 0.500000 +v 4.750000 -4.312500 -0.500000 +v 7.875000 -4.312500 0.500000 +v 7.875000 -4.312500 -0.500000 +v 4.750000 -4.312500 0.500000 +v 5.500000 1.312500 0.500000 +v 5.750000 0.687500 0.500000 +v 7.750000 -3.687500 0.500000 +v 6.750000 -0.937500 0.500000 +v 4.750000 1.062500 0.500000 +v 3.500000 -0.187500 0.500000 +v 4.875000 -3.687500 0.500000 +v 4.875000 -2.937500 0.500000 +v 4.625000 -1.937500 0.500000 +v 4.000000 -0.937500 0.500000 +v 3.250000 -0.812500 0.500000 +v 7.625000 -4.062500 1.000000 +v 5.000000 -4.062500 1.000000 +v 5.250000 0.687500 0.750000 +v 7.500000 -3.687500 1.000000 +v 6.500000 -0.937500 1.000000 +v 5.125000 -3.687500 1.000000 +v 5.125000 -2.937500 1.000000 +v 4.875000 -1.937500 1.000000 +v 4.250000 -0.812500 1.000000 +v 3.750000 -0.562500 0.750000 +v 5.500000 1.312500 -0.500000 +v 5.750000 0.687500 -0.500000 +v 7.750000 -3.687500 -0.500000 +v 6.750000 -0.937500 -0.500000 +v 4.750000 1.062500 -0.500000 +v 3.500000 -0.187500 -0.500000 +v 4.875000 -3.687500 -0.500000 +v 4.875000 -2.937500 -0.500000 +v 4.625000 -1.937500 -0.500000 +v 4.000000 -0.937500 -0.500000 +v 3.250000 -0.812500 -0.500000 +v 7.625000 -4.062500 -1.000000 +v 5.000000 -4.062500 -1.000000 +v 5.250000 0.625000 -0.750000 +v 7.500000 -3.687500 -1.000000 +v 6.500000 -0.937500 -1.000000 +v 5.125000 -3.687500 -1.000000 +v 5.125000 -2.937500 -1.000000 +v 4.875000 -1.937500 -1.000000 +v 4.250000 -0.687500 -1.000000 +v 3.750000 -0.562500 -0.750000 +v 3.625000 2.437500 0.250000 +v 3.187500 2.812500 0.250000 +v 3.625000 2.437500 -0.250000 +v 4.875000 1.687500 0.250000 +v 3.500000 2.312500 -0.250000 +v 4.875000 1.687500 -0.250000 +v 3.312500 2.812500 -0.250000 +v 3.500000 2.312500 0.250000 +v 4.875000 1.562500 -0.250000 +v 3.187500 2.812500 -0.250000 +v 3.312500 2.812500 0.250000 +v 4.875000 1.562500 0.250000 +v 2.853553 2.169845 -0.729640 +v 2.500000 2.778405 -0.687500 +v 2.853553 2.477192 -0.632583 +v 2.853553 0.910311 0.500000 +v 2.500000 0.562500 0.500000 +v 2.500000 2.937500 -0.500000 +v 2.853553 1.022808 0.632583 +v 2.500000 0.721595 0.687500 +v 2.853553 2.589689 -0.500000 +v 2.853553 1.330155 0.729640 +v 2.500000 1.156250 0.824759 +v 3.000000 1.750000 -0.500000 +v 2.853553 1.750000 0.765165 +v 2.500000 1.750000 0.875000 +v 2.500000 0.562500 -0.500000 +v 2.853553 2.169845 0.729640 +v 2.500000 2.343750 0.824759 +v 2.853553 0.910311 -0.500000 +v 3.000000 1.750000 0.500000 +v 2.853553 2.477192 0.632583 +v 2.500000 2.778405 0.687500 +v 2.500000 0.721595 -0.687500 +v 2.853553 2.589689 0.500000 +v 2.500000 2.937500 0.500000 +v 2.853553 1.022808 -0.632583 +v 2.500000 1.156250 -0.824759 +v 2.853553 1.330155 -0.729640 +v 2.500000 1.750000 -0.875000 +v 2.500000 2.343750 -0.824759 +v 2.853553 1.750000 -0.765165 +v -8.749000 3.125000 -0.250000 +v -1.000000 3.125000 -0.250000 +v -8.749000 3.125000 0.250000 +v -1.000000 3.125000 0.250000 +v -8.749000 2.875000 -0.250000 +v -1.000000 2.875000 -0.250000 +v -8.749000 2.875000 0.250000 +v -1.000000 2.875000 0.250000 +v -8.500000 3.125000 -0.187500 +v -8.500000 3.125000 0.187500 +v -6.250000 3.125000 -0.187500 +v -6.250000 3.125000 0.187500 +v -8.500000 3.437500 0.187500 +v -8.500000 3.437500 -0.187500 +v -7.125000 3.437500 0.187500 +v -7.125000 3.437500 -0.187500 +v -8.437500 3.437500 -0.125000 +v -8.437500 3.437500 0.125000 +v -7.312500 3.437500 -0.125000 +v -7.312500 3.437500 0.125000 +v -8.312500 3.812500 0.062500 +v -8.312500 3.812500 -0.062500 +v -8.187500 3.812500 0.062500 +v -8.187500 3.812500 -0.062500 +v 0.500000 -0.187500 0.375000 +v 0.875000 -0.187500 0.375000 +v 0.500000 -0.187500 -0.375000 +v 0.875000 -0.187500 -0.375000 +v 0.750000 -0.937500 0.375000 +v 0.750000 -0.937500 -0.375000 +v 1.500000 -1.562500 0.375000 +v 1.500000 -1.562500 -0.375000 +v 2.500000 -1.562500 0.375000 +v 2.500000 -1.562500 -0.375000 +v 2.884670 -1.312500 0.375000 +v 2.884670 -1.312500 -0.375000 +v 3.125000 -0.925000 0.375000 +v 3.125000 -0.925000 -0.375000 +v 1.000000 -0.937500 0.375000 +v 1.000000 -0.937500 -0.375000 +v 1.500000 -1.312500 0.375000 +v 1.500000 -1.312500 -0.375000 +v 2.500000 -1.312500 0.375000 +v 2.500000 -1.312500 -0.375000 +v 2.750000 -1.187500 0.375000 +v 2.750000 -1.187500 -0.375000 +v 2.875000 -0.437500 0.375000 +v 2.875000 -0.437500 -0.375000 +v 1.875000 -0.187500 0.250000 +v 1.875000 -0.187500 -0.250000 +v 2.062500 -0.562500 0.250000 +v 2.062500 -0.562500 -0.250000 +v 2.062500 -0.937500 0.250000 +v 2.062500 -0.937500 -0.250000 +v 1.812500 -1.187500 0.250000 +v 1.812500 -1.187500 -0.250000 +v 2.000000 -1.187500 0.250000 +v 2.000000 -1.187500 -0.250000 +v 2.250000 -0.937500 0.250000 +v 2.250000 -0.937500 -0.250000 +v 2.250000 -0.437500 0.250000 +v 2.250000 -0.437500 -0.250000 +v 2.500000 -0.187500 0.250000 +v 2.500000 -0.187500 -0.250000 +v 0.000000 2.812500 0.500000 +v -0.999000 2.812500 0.500000 +v 0.000000 2.812500 -0.500000 +v -0.999000 2.812500 -0.500000 +v 0.000000 2.937500 0.000000 +v -0.999000 2.937500 0.000000 +v 0.000000 2.812500 0.250000 +v 0.000000 2.812500 -0.250000 +v -0.999000 2.812500 0.250000 +v -0.999000 2.812500 -0.250000 +v 5.187500 -3.312500 1.010000 +v 6.687500 -3.312500 1.010000 +v 5.187500 -1.812500 1.010000 +v 6.687500 -1.812500 1.010000 +vt 0.255396 0.168421 +vt 0.251799 0.147368 +vt 0.255396 0.147368 +vt 0.255396 0.252632 +vt 0.251799 0.231579 +vt 0.255396 0.231579 +vt 0.251799 0.210526 +vt 0.255396 0.210526 +vt 0.251799 0.126316 +vt 0.255396 0.126316 +vt 0.251799 0.105263 +vt 0.255396 0.105263 +vt 0.251799 0.084211 +vt 0.255396 0.084211 +vt 0.251799 0.063158 +vt 0.255396 0.063158 +vt 0.255396 0.042105 +vt 0.251799 0.042105 +vt 0.255396 0.021053 +vt 0.251799 0.021053 +vt 0.251799 0.000000 +vt 0.255396 -0.000000 +vt 0.255396 0.189474 +vt 0.251799 0.168421 +vt 0.251799 0.189474 +vt 0.478417 0.031579 +vt 0.482014 0.063158 +vt 0.478417 0.052632 +vt 0.478417 -0.000000 +vt 0.482014 0.031579 +vt 0.478417 0.021053 +vt 0.478417 0.273684 +vt 0.482014 0.252632 +vt 0.482014 0.284211 +vt 0.478417 0.305263 +vt 0.482014 0.315789 +vt 0.478417 0.347368 +vt 0.482014 0.378947 +vt 0.478417 0.368421 +vt 0.478417 0.221053 +vt 0.478417 0.242105 +vt 0.478417 0.315789 +vt 0.482014 0.347368 +vt 0.478417 0.336842 +vt 0.478417 0.210526 +vt 0.482014 0.189474 +vt 0.482014 0.221053 +vt 0.478417 0.178947 +vt 0.482014 0.157895 +vt 0.478417 0.126316 +vt 0.478417 0.147368 +vt 0.478417 0.115789 +vt 0.482014 0.094737 +vt 0.482014 0.126316 +vt 0.478417 0.063158 +vt 0.478417 0.084211 +vt 0.517986 0.178947 +vt 0.510791 0.157895 +vt 0.517986 0.157895 +vt 0.517986 0.210526 +vt 0.510791 0.189474 +vt 0.517986 0.189474 +vt 0.517986 0.221053 +vt 0.510791 0.252632 +vt 0.510791 0.221053 +vt 0.517986 0.273684 +vt 0.517986 0.252632 +vt 0.517986 0.305263 +vt 0.510791 0.284211 +vt 0.517986 0.284211 +vt 0.517986 0.336842 +vt 0.510791 0.315789 +vt 0.517986 0.315789 +vt 0.517986 0.368421 +vt 0.510791 0.347368 +vt 0.517986 0.347368 +vt 0.517986 0.000000 +vt 0.510791 0.031579 +vt 0.510791 -0.000000 +vt 0.517986 0.031579 +vt 0.510791 0.063158 +vt 0.517986 0.084211 +vt 0.517986 0.063158 +vt 0.517986 0.094737 +vt 0.510791 0.126316 +vt 0.510791 0.094737 +vt 0.517986 0.126316 +vt 0.687050 0.442105 +vt 0.615108 0.526316 +vt 0.615108 0.442105 +vt 0.586331 0.442105 +vt 0.615108 0.378947 +vt 0.812950 0.452632 +vt 0.784173 0.652632 +vt 0.784173 0.452632 +vt 0.586331 0.684211 +vt 0.633094 0.768421 +vt 0.586331 0.768421 +vt 0.633094 0.684211 +vt 0.654676 0.768421 +vt 0.654676 0.684211 +vt 0.694245 0.768421 +vt 0.694245 0.684211 +vt 0.701439 0.768421 +vt 0.701439 0.684211 +vt 0.708633 0.768421 +vt 0.687050 0.642105 +vt 0.615108 0.642105 +vt 0.615108 0.600000 +vt 0.507194 0.578947 +vt 0.507194 0.778947 +vt 0.496648 0.730873 +vt 0.025180 0.326316 +vt 0.104317 0.368421 +vt 0.025180 0.368421 +vt 0.687050 0.378947 +vt 0.615108 0.442105 +vt 0.687050 0.442105 +vt 0.492806 0.578947 +vt 0.471223 0.536842 +vt 0.492806 0.536842 +vt 0.464029 0.652632 +vt 0.449640 0.684211 +vt 0.449640 0.652632 +vt 0.464029 0.578947 +vt 0.449640 0.578947 +vt 0.449640 0.778947 +vt 0.420863 0.778947 +vt 0.458633 0.742105 +vt 0.460214 0.753268 +vt 0.471223 0.652632 +vt 0.471223 0.578947 +vt 0.000000 0.326316 +vt 0.104317 0.252632 +vt 0.104317 0.326316 +vt 0.046763 0.421053 +vt 0.010791 0.442105 +vt 0.046763 0.400000 +vt 0.104317 0.400000 +vt 0.104317 0.442105 +vt 0.118705 0.410526 +vt 0.176259 0.378947 +vt 0.176259 0.410526 +vt 0.107914 0.357895 +vt 0.118705 0.378947 +vt 0.107914 0.378947 +vt 0.176259 0.326316 +vt 0.118705 0.357895 +vt 0.118705 0.326316 +vt 0.176259 0.357895 +vt 0.715827 0.778947 +vt 0.719424 0.821053 +vt 0.715827 0.821053 +vt 0.730216 0.684211 +vt 0.766187 0.705263 +vt 0.730216 0.705263 +vt 0.794964 0.684211 +vt 0.794964 0.768421 +vt 0.841727 0.084211 +vt 0.751799 0.000000 +vt 0.841727 0.000000 +vt 0.615108 0.642105 +vt 0.586331 0.631579 +vt 0.586331 0.663158 +vt 0.751799 0.147368 +vt 0.751799 0.084211 +vt 0.812950 0.315789 +vt 0.751799 0.147368 +vt 0.744604 0.231579 +vt 0.726619 0.305263 +vt 0.784173 0.452632 +vt 0.755396 0.536842 +vt 0.726619 0.305263 +vt 0.697842 0.357895 +vt 0.755396 0.536842 +vt 0.701439 0.663158 +vt 0.694245 0.663158 +vt 0.730216 0.747368 +vt 0.766187 0.768421 +vt 0.730216 0.768421 +vt 0.719424 0.705263 +vt 0.708633 0.684211 +vt 0.719424 0.747368 +vt 0.769784 0.821053 +vt 0.766187 0.778947 +vt 0.769784 0.778947 +vt 0.730216 0.821053 +vt 0.723022 0.831579 +vt 0.762590 0.831579 +vt 0.730216 0.831579 +vt 0.723022 0.768421 +vt 0.730216 0.778947 +vt 0.719424 0.778947 +vt 0.762590 0.768421 +vt 0.766187 0.821053 +vt 0.161880 0.631283 +vt 0.161880 0.431875 +vt 0.172639 0.531579 +vt 0.152543 0.581431 +vt 0.151102 0.531579 +vt 0.161861 0.631283 +vt 0.255396 0.273684 +vt 0.478417 0.315789 +vt 0.255396 0.315789 +vt 0.255396 0.252632 +vt 0.478417 0.273684 +vt 0.478417 0.336842 +vt 0.248201 0.315789 +vt 0.183453 0.284211 +vt 0.223022 0.315789 +vt 0.183453 0.315789 +vt 0.183453 0.257895 +vt 0.223022 0.284211 +vt 0.248201 0.315789 +vt 0.248201 0.284211 +vt 0.183453 0.342105 +vt 0.248201 0.342105 +vt 0.174460 0.284211 +vt 0.174460 0.315789 +vt 0.143885 0.284211 +vt 0.147482 0.294737 +vt 0.143885 0.294737 +vt 0.140288 0.326316 +vt 0.172662 0.326316 +vt 0.133094 0.284211 +vt 0.133094 0.294737 +vt 0.140288 0.252632 +vt 0.147482 0.284211 +vt 0.172662 0.294737 +vt 0.172662 0.284211 +vt 0.262590 0.821053 +vt 0.269784 0.757895 +vt 0.273381 0.821053 +vt 0.262590 0.757895 +vt 0.269784 0.694737 +vt 0.262590 0.694737 +vt 0.269784 0.610526 +vt 0.262590 0.610526 +vt 0.269784 0.578947 +vt 0.262590 0.578947 +vt 0.273381 0.547368 +vt 0.233813 0.757895 +vt 0.241007 0.821053 +vt 0.230216 0.821053 +vt 0.233813 0.694737 +vt 0.241007 0.757895 +vt 0.241007 0.610526 +vt 0.233813 0.610526 +vt 0.233813 0.578947 +vt 0.230216 0.547368 +vt 0.241007 0.578947 +vt 0.302158 0.673684 +vt 0.312950 0.705263 +vt 0.305755 0.705263 +vt 0.312950 0.736842 +vt 0.305755 0.736842 +vt 0.312950 0.768421 +vt 0.305755 0.768421 +vt 0.305755 0.842105 +vt 0.312950 0.810526 +vt 0.312950 0.842105 +vt 0.305755 0.873684 +vt 0.312950 0.873684 +vt 0.302158 0.905263 +vt 0.320144 0.905263 +vt 0.575540 0.768421 +vt 0.546763 0.747368 +vt 0.575540 0.747368 +vt 0.586331 0.631579 +vt 0.586331 0.663158 +vt 0.687050 0.642105 +vt 0.633094 0.663158 +vt 0.633094 0.663158 +vt 0.543165 0.684211 +vt 0.546763 0.705263 +vt 0.543165 0.726316 +vt 0.579137 0.726316 +vt 0.543165 0.768421 +vt 0.546763 0.768421 +vt 0.575540 0.705263 +vt 0.546763 0.684211 +vt 0.575540 0.684211 +vt 0.575540 0.726316 +vt 0.546763 0.726316 +vt 0.187050 0.642105 +vt 0.129496 0.810526 +vt 0.129496 0.642105 +vt 0.115108 0.284211 +vt 0.104317 0.252632 +vt 0.118705 0.252632 +vt 0.118705 0.326316 +vt 0.115108 0.305263 +vt 0.104317 0.326316 +vt 0.104317 0.305263 +vt 0.251799 0.252632 +vt 0.482014 -0.000000 +vt 0.478417 0.252632 +vt 0.478417 0.284211 +vt 0.478417 0.189474 +vt 0.478417 0.157895 +vt 0.478417 0.094737 +vt 0.517986 0.242105 +vt 0.510791 0.378947 +vt 0.517986 0.021053 +vt 0.517986 0.052632 +vt 0.517986 0.115789 +vt 0.517986 0.147368 +vt 0.687050 0.526316 +vt 0.586331 0.378947 +vt 0.812950 0.652632 +vt 0.615108 0.557895 +vt 0.687050 0.557895 +vt 0.492806 0.726316 +vt 0.492806 0.757895 +vt 0.496648 0.753357 +vt 0.498202 0.742118 +vt 0.687050 0.378947 +vt 0.615108 0.378947 +vt 0.464029 0.684211 +vt 0.420863 0.578947 +vt 0.442446 0.652632 +vt 0.442446 0.578947 +vt 0.464029 0.757895 +vt 0.460214 0.730942 +vt 0.464029 0.726316 +vt 0.000000 0.368421 +vt 0.010791 0.252632 +vt 0.104317 0.421053 +vt 0.766187 0.684211 +vt 0.766187 0.747368 +vt 0.615108 0.631579 +vt 0.812950 0.315789 +vt 0.744604 0.231579 +vt 0.841727 0.084211 +vt 0.751799 0.084211 +vt 0.784173 0.452632 +vt 0.784173 0.505263 +vt 0.697842 0.357895 +vt 0.705036 0.315789 +vt 0.784173 0.505263 +vt 0.705036 0.315789 +vt 0.719424 0.600000 +vt 0.719424 0.600000 +vt 0.694245 0.663158 +vt 0.701439 0.663158 +vt 0.730216 0.768421 +vt 0.167259 0.445233 +vt 0.171198 0.481727 +vt 0.171198 0.581431 +vt 0.167259 0.617925 +vt 0.152543 0.481727 +vt 0.161861 0.431875 +vt 0.156482 0.445233 +vt 0.156482 0.617925 +vt 0.478417 0.252632 +vt 0.255396 0.336842 +vt 0.248201 0.273684 +vt 0.248201 0.257895 +vt 0.172662 0.252632 +vt 0.262590 0.515789 +vt 0.241007 0.694737 +vt 0.241007 0.515789 +vt 0.320144 0.673684 +vt 0.305755 0.810526 +vt 0.615108 0.631579 +vt 0.654676 0.684211 +vt 0.694245 0.684211 +vt 0.187050 0.810526 +vt 0.104317 0.284211 +vt 0.478417 0.189474 +vt 0.478417 0.210526 +vt 0.478417 0.231579 +vt 0.478417 0.042105 +vt 0.478417 0.063158 +vt 0.478417 0.084211 +vt 0.478417 0.105263 +vt 0.478417 0.126316 +vt 0.478417 0.147368 +vt 0.478417 0.168421 +vt 0.000000 0.042105 +vt -0.000000 0.231579 +vt -0.000000 0.126316 +vt 0.000000 0.063158 +vt 0.000000 0.000000 +vt 0.000000 0.147368 +vt -0.000000 0.189474 +vt -0.000000 0.084211 +vt 0.000000 0.021053 +vt 0.000000 0.168421 +vt 0.000000 0.210526 +vt 0.000000 0.105263 +vt 0.615108 0.168421 +vt 0.492806 0.750000 +vt 0.464029 0.742105 +vt 0.492806 0.742105 +vt 0.464029 0.734210 +vt 0.492806 0.734210 +vt 0.464029 0.750000 +vt 0.812950 0.768421 +vt 0.859712 0.684211 +vt 0.938849 0.768421 +vt 0.859712 0.768421 +vt 0.812950 0.684211 +vt 0.730216 -0.000000 +vt 0.730216 0.084211 +vt 0.701439 0.000000 +vt 0.701439 0.084211 +vt 0.676259 0.000000 +vt 0.676259 0.084211 +vt 0.654676 0.000000 +vt 0.615108 0.094737 +vt 0.586331 0.136842 +vt 0.586331 0.094737 +vt 0.586331 0.168421 +vt 0.870504 0.105263 +vt 0.946043 0.084211 +vt 0.859712 0.084211 +vt 0.946043 0.084211 +vt 0.870504 0.105263 +vt 0.859712 0.084211 +vt 0.859712 0.200000 +vt 0.863309 0.284211 +vt 0.852518 0.284211 +vt 0.845324 0.378947 +vt 0.834532 0.368421 +vt 0.881295 0.557895 +vt 0.859712 0.536842 +vt 0.874101 0.505263 +vt 0.917266 0.368421 +vt 0.935252 0.136842 +vt 0.946043 0.136842 +vt 0.834532 0.368421 +vt 0.812950 0.378947 +vt 0.830935 0.400000 +vt 0.859712 0.136842 +vt 0.870504 0.200000 +vt 0.888489 0.505263 +vt 0.906475 0.357895 +vt 0.935252 0.105263 +vt 0.812950 0.378947 +vt 0.830935 0.400000 +vt 0.823741 0.431579 +vt 0.863309 0.284211 +vt 0.859712 0.200000 +vt 0.852518 0.284211 +vt 0.845324 0.378947 +vt 0.881295 0.557895 +vt 0.874101 0.505263 +vt 0.859712 0.536842 +vt 0.935252 0.136842 +vt 0.917266 0.368421 +vt 0.946043 0.136842 +vt 0.870504 0.200000 +vt 0.859712 0.136842 +vt 0.906475 0.357895 +vt 0.888489 0.505263 +vt 0.870504 0.136842 +vt 0.935252 0.105263 +vt 0.823741 0.431579 +vt 0.964029 0.000000 +vt 0.964029 0.084211 +vt 0.946043 0.000000 +vt 0.859712 0.000000 +vt 0.841727 0.000000 +vt 0.841727 0.084211 +vt 0.183453 0.431579 +vt 0.194245 0.442105 +vt 0.183453 0.452632 +vt 0.172662 0.452632 +vt 0.172662 0.431579 +vt 0.172662 0.494737 +vt 0.194245 0.473684 +vt 0.183453 0.494737 +vt 0.172662 0.536842 +vt 0.194245 0.515789 +vt 0.183453 0.536842 +vt 0.140288 0.578947 +vt 0.151079 0.536842 +vt 0.151079 0.578947 +vt 0.183453 0.578947 +vt 0.172662 0.578947 +vt 0.129496 0.557895 +vt 0.140288 0.536842 +vt 0.194245 0.557895 +vt 0.140288 0.621053 +vt 0.151079 0.621053 +vt 0.183453 0.621053 +vt 0.172662 0.621053 +vt 0.129496 0.600000 +vt 0.194245 0.600000 +vt 0.140288 0.642105 +vt 0.151079 0.642105 +vt 0.183453 0.642105 +vt 0.172662 0.642105 +vt 0.129496 0.631579 +vt 0.194245 0.631579 +vt 0.151079 0.452632 +vt 0.140288 0.431579 +vt 0.151079 0.431579 +vt 0.140288 0.452632 +vt 0.129496 0.442105 +vt 0.151079 0.494737 +vt 0.140288 0.494737 +vt 0.129496 0.473684 +vt 0.129496 0.515789 +vt 0.208633 0.821053 +vt 0.230216 0.757895 +vt 0.208633 0.757895 +vt 0.230216 0.694737 +vt 0.208633 0.694737 +vt 0.230216 0.610526 +vt 0.208633 0.610526 +vt 0.230216 0.578947 +vt 0.208633 0.578947 +vt 0.230216 0.515789 +vt 0.284173 0.768421 +vt 0.273381 0.810526 +vt 0.273381 0.768421 +vt 0.294964 0.768421 +vt 0.284173 0.810526 +vt 0.294964 0.810526 +vt 0.323741 0.768421 +vt 0.334532 0.768421 +vt 0.323741 0.810526 +vt 0.345324 0.768421 +vt 0.334532 0.810526 +vt 0.870504 0.136842 +vt 0.478417 0.252632 +vt 0.000000 0.252632 +vt 0.938849 0.684211 +vt 0.654676 0.084211 +vt 0.615108 0.136842 +vt 0.208633 0.515789 +vt 0.345324 0.810526 +vn -1.0000 0.0000 0.0000 +vn 1.0000 -0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn -0.3162 0.9487 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn -0.8321 -0.5547 0.0000 +vn -0.8682 -0.4961 0.0000 +vn 0.5145 0.8575 0.0000 +vn 0.3511 0.9363 0.0000 +vn 0.7682 0.6402 0.0000 +vn 0.8480 0.5300 0.0000 +vn 0.4789 0.8779 0.0000 +vn 0.3363 0.9417 0.0000 +vn 0.0000 0.1644 -0.9864 +vn -0.9487 0.3162 0.0000 +vn 0.0000 0.1644 0.9864 +vn 0.3939 0.9191 0.0000 +vn 0.0000 -0.8944 -0.4472 +vn 0.0000 -0.8944 0.4472 +vn 0.0000 -0.5000 -0.8660 +vn 0.0000 -0.8660 -0.5000 +vn 0.0000 -0.8660 0.5000 +vn 0.0000 -0.5000 0.8660 +vn 0.0000 0.5000 0.8660 +vn 0.0000 0.8660 0.5000 +vn 0.0000 0.8660 -0.5000 +vn 0.0000 0.5000 -0.8660 +vn -0.2898 -0.9571 0.0000 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 0.7071 0.7071 +vn 0.0000 -0.9239 0.3827 +vn 0.0000 0.9239 0.3827 +vn 0.9622 0.2723 0.0000 +vn 0.9004 0.4352 0.0000 +vn 0.9398 0.3417 0.0000 +vn -0.9925 -0.1222 0.0000 +vn -0.9079 -0.4192 0.0000 +vn -0.5294 -0.8484 0.0000 +vn -0.1644 -0.9864 0.0000 +vn -0.8944 -0.4472 0.0000 +vn -0.7497 -0.6618 0.0000 +vn -0.5007 -0.3427 -0.7949 +vn 0.7406 -0.6169 -0.2663 +vn -0.7406 -0.6169 -0.2663 +vn 0.7406 -0.6169 0.2663 +vn -0.5007 -0.3427 0.7949 +vn -0.7406 -0.6169 0.2663 +vn -0.8887 -0.1134 0.4443 +vn -0.4707 -0.1788 0.8640 +vn -0.8315 -0.3492 0.4322 +vn -0.4194 -0.1220 0.8996 +vn -0.5483 -0.5987 0.5839 +vn 0.1422 0.3181 0.9373 +vn -0.2154 0.3448 0.9136 +vn 0.0554 0.3108 0.9489 +vn 0.8250 0.3864 0.4125 +vn 0.5084 0.1779 0.8426 +vn 0.9294 0.2459 0.2753 +vn -0.4982 -0.5710 -0.6525 +vn -0.3586 -0.1955 -0.9128 +vn -0.3854 -0.0823 -0.9191 +vn -0.9463 0.1453 0.2889 +vn -0.4925 -0.0586 0.8683 +vn 0.4609 0.3511 0.8150 +vn 0.4887 0.2771 0.8273 +vn 0.5007 -0.3427 0.7949 +vn -0.3586 -0.1955 0.9128 +vn -0.3986 -0.0784 0.9137 +vn -0.4147 0.2969 0.8601 +vn -0.4784 -0.1713 -0.8613 +vn -0.8887 -0.1134 -0.4443 +vn -0.8319 -0.3300 -0.4461 +vn -0.3833 -0.0513 -0.9222 +vn 0.1298 0.2968 -0.9461 +vn 0.0450 0.3020 -0.9522 +vn -0.2014 0.3023 -0.9317 +vn 0.5084 0.1779 -0.8426 +vn 0.8250 0.3864 -0.4125 +vn 0.9294 0.2459 -0.2753 +vn -0.4925 -0.0586 -0.8683 +vn -0.9463 0.1453 -0.2889 +vn 0.4890 0.2775 -0.8270 +vn 0.4349 0.3349 -0.8359 +vn -0.4808 0.0746 -0.8736 +vn 0.5007 -0.3427 -0.7949 +vn -0.3802 0.3015 -0.8744 +vn 0.7513 -0.5032 0.4270 +vn 0.9061 0.0000 0.4231 +vn 0.7541 -0.3297 0.5681 +vn 0.5431 -0.5168 0.6618 +vn 0.6001 -0.6100 0.5176 +vn 0.3474 -0.2058 0.9149 +vn 0.6619 -0.1418 0.7361 +vn 0.2967 -0.0000 0.9550 +vn 0.6220 -0.0000 0.7830 +vn 0.6619 0.1418 -0.7361 +vn 0.2967 -0.0000 -0.9550 +vn 0.3474 0.2058 -0.9149 +vn 0.6619 0.1418 0.7361 +vn 0.3474 0.2058 0.9149 +vn 0.9061 0.0000 -0.4231 +vn 0.6220 -0.0000 -0.7830 +vn 0.7541 0.3297 -0.5681 +vn 0.5431 0.5168 -0.6618 +vn 0.7541 0.3297 0.5681 +vn 0.5431 0.5168 0.6618 +vn 0.7513 0.5032 -0.4270 +vn 0.6001 0.6100 -0.5176 +vn 0.7513 0.5032 0.4270 +vn 0.6001 0.6100 0.5176 +vn 0.5431 -0.5168 -0.6618 +vn 0.7513 -0.5032 -0.4270 +vn 0.6001 -0.6100 -0.5176 +vn 0.7541 -0.3297 -0.5681 +vn 0.3474 -0.2058 -0.9149 +vn 0.6619 -0.1418 -0.7361 +vn -0.9487 -0.3162 0.0000 +vn -0.8260 -0.5637 0.0000 +vn -0.3404 -0.9403 0.0000 +vn 0.2842 -0.9588 0.0000 +vn 0.7146 -0.6996 0.0000 +vn 0.7145 -0.6996 0.0000 +vn 0.8498 -0.5271 0.0000 +vn 0.9864 0.1644 0.0000 +vn 0.8545 0.5195 0.0000 +vn 0.3162 0.9487 0.0000 +vn -0.2298 0.9732 0.0000 +vn -0.8044 0.5941 0.0000 +vn -0.9864 0.1644 0.0000 +vn -0.9732 -0.2298 0.0000 +vn -0.9239 0.3827 0.0000 +vn -0.9239 -0.3827 0.0000 +vn 0.3827 -0.9239 0.0000 +vn 0.9239 -0.3827 0.0000 +vn 0.7071 -0.7071 0.0000 +vn -0.4808 0.0746 0.8736 +s off +f 1417/2492/174 1429/2493/174 1415/2494/174 +f 1401/2495/174 1421/2496/174 1399/2497/174 +f 1399/2497/174 1420/2498/174 1397/2499/174 +f 1415/2494/174 1428/2500/174 1413/2501/174 +f 1413/2501/174 1427/2502/174 1411/2503/174 +f 1411/2503/174 1426/2504/174 1409/2505/174 +f 1409/2505/174 1425/2506/174 1407/2507/174 +f 1405/2508/174 1425/2506/174 1424/2509/174 +f 1403/2510/174 1424/2509/174 1423/2511/174 +f 1403/2510/174 1422/2512/174 1401/2513/174 +f 1395/2514/174 1430/2515/174 1417/2492/174 +f 1397/2499/174 1419/2516/174 1395/2514/174 +f 1404/2517/174 1448/2518/174 1406/2519/174 +f 1402/2520/174 1447/2521/174 1404/2522/174 +f 1396/2523/174 1454/2524/174 1443/2525/174 +f 1398/2526/174 1443/2525/174 1444/2527/174 +f 1400/2528/174 1446/2529/174 1402/2530/174 +f 1416/2531/174 1454/2524/174 1418/2532/174 +f 1398/2533/174 1445/2534/174 1400/2535/174 +f 1416/2536/174 1452/2537/174 1453/2538/174 +f 1414/2539/174 1451/2540/174 1452/2537/174 +f 1410/2541/174 1451/2540/174 1412/2542/174 +f 1410/2543/174 1449/2544/174 1450/2545/174 +f 1406/2546/174 1449/2544/174 1408/2547/174 +f 1440/2548/175 1463/2549/175 1439/2550/175 +f 1441/2551/175 1464/2552/175 1440/2553/175 +f 1441/2554/175 1466/2555/175 1465/2556/175 +f 1431/2557/175 1466/2555/175 1442/2558/175 +f 1432/2559/175 1455/2560/175 1431/2561/175 +f 1433/2562/175 1456/2563/175 1432/2564/175 +f 1434/2565/175 1457/2566/175 1433/2567/175 +f 1434/2568/175 1459/2569/175 1458/2570/175 +f 1435/2571/175 1460/2572/175 1459/2569/175 +f 1437/2573/175 1460/2572/175 1436/2574/175 +f 1437/2575/175 1462/2576/175 1461/2577/175 +f 1438/2578/175 1463/2549/175 1462/2576/175 +f 1468/2579/176 1469/2580/176 1467/2581/176 +f 1469/2582/174 1474/2583/174 1467/2581/174 +f 1468/2584/174 1476/2585/174 1470/2586/174 +f 1477/2587/176 1480/2588/176 1478/2589/176 +f 1479/2590/177 1482/2591/177 1480/2588/177 +f 1481/2592/176 1484/2593/176 1482/2591/176 +f 1483/2594/175 1486/2595/175 1484/2593/175 +f 1485/2596/176 1488/2597/176 1486/2595/176 +f 1475/2598/178 1490/2599/178 1707/2600/178 +f 1491/2601/175 1494/2602/175 1503/2603/175 +f 1497/2604/178 1496/2605/178 1495/2606/178 +f 1474/2583/179 1468/2579/179 1467/2581/179 +f 1472/2607/180 1469/2608/180 1470/2609/180 +f 1492/2610/178 1493/2611/178 1491/2612/178 +f 1512/2613/181 1513/2614/181 1511/2615/181 +f 1509/2616/174 1511/2615/174 1493/2617/174 +f 1513/2614/180 1510/2618/180 1494/2619/180 +f 1504/2620/174 1505/2621/174 1510/2618/174 +f 1512/2622/179 1509/2623/179 1492/2610/179 +f 1495/2606/182 1515/2624/182 1497/2604/182 +f 1497/2604/180 1518/2625/180 1498/2626/180 +f 1495/2606/179 1521/2627/179 1516/2628/179 +f 1520/2629/179 1496/2605/179 1519/2630/179 +f 1521/2627/179 1517/2631/179 1516/2628/179 +f 1521/2632/178 1526/2633/178 1522/2634/178 +f 1520/2635/175 1525/2636/175 1521/2637/175 +f 1519/2638/176 1524/2639/176 1520/2640/176 +f 1526/2633/179 1524/2639/179 1523/2641/179 +f 1607/2642/178 1606/2643/178 1603/2644/178 +f 1527/2645/183 1600/2646/183 1597/2647/183 +f 1600/2646/184 1531/2648/184 1532/2649/184 +f 1536/2650/178 1539/2651/178 1535/2652/178 +f 1489/2653/180 1706/2654/180 1478/2655/180 +f 1542/2656/179 1540/2657/179 1536/2650/179 +f 1538/2658/180 1541/2659/180 1543/2660/180 +f 1546/2661/179 1533/2662/179 1529/2663/179 +f 1545/2664/180 1549/2665/180 1530/2666/180 +f 1487/2667/179 1485/2668/179 1475/2598/179 +f 1530/2666/180 1472/2607/180 1470/2609/180 +f 1599/2669/183 1530/2670/183 1528/2671/183 +f 1607/2672/185 1527/2645/185 1597/2647/185 +f 1487/2673/185 1603/2674/185 1488/2597/185 +f 1602/2675/174 1608/2676/174 1600/2677/174 +f 1603/2674/185 1528/2671/185 1488/2597/185 +f 1601/2678/179 1603/2679/179 1606/2643/179 +f 1601/2678/179 1602/2680/179 1599/2681/179 +f 1607/2682/180 1604/2683/180 1598/2684/180 +f 1604/2683/180 1600/2685/180 1608/2676/180 +f 1601/2678/186 1598/2684/186 1604/2683/186 +f 1604/2683/187 1605/2686/187 1601/2678/187 +f 1632/2687/174 1613/2688/174 1622/2689/174 +f 1637/2690/174 1636/2691/174 1614/2692/174 +f 1641/2693/176 1640/2694/176 1639/2695/176 +f 1645/2696/179 1642/2697/179 1641/2693/179 +f 1644/2698/180 1639/2695/180 1640/2694/180 +f 1643/2699/174 1641/2693/174 1639/2695/174 +f 1651/2700/176 1654/2701/176 1652/2702/176 +f 1648/2703/179 1653/2704/179 1651/2700/179 +f 1649/2705/188 1653/2704/188 1650/2706/188 +f 1647/2707/180 1654/2701/180 1649/2708/180 +f 1648/2709/174 1652/2702/174 1647/2710/174 +f 1659/2711/176 1662/2712/176 1660/2713/176 +f 1655/2714/189 1662/2712/189 1657/2715/189 +f 1656/2716/190 1660/2713/190 1655/2717/190 +f 1656/2718/191 1661/2719/191 1659/2711/191 +f 1657/2720/192 1661/2719/192 1658/2721/192 +f 1666/2722/180 1668/2723/180 1665/2724/180 +f 1678/2725/180 1670/2726/180 1668/2723/180 +f 1680/2727/180 1672/2728/180 1670/2726/180 +f 1682/2729/180 1674/2730/180 1672/2728/180 +f 1684/2731/180 1676/2732/180 1674/2730/180 +f 1667/2733/179 1664/2734/179 1663/2735/179 +f 1669/2736/179 1677/2737/179 1667/2733/179 +f 1681/2738/179 1669/2736/179 1671/2739/179 +f 1673/2740/179 1681/2738/179 1671/2739/179 +f 1675/2741/179 1683/2742/179 1673/2740/179 +f 1688/2743/180 1700/2744/180 1690/2745/180 +f 1690/2745/180 1698/2746/180 1692/2747/180 +f 1692/2747/180 1696/2748/180 1694/2749/180 +f 1691/2750/179 1695/2751/179 1697/2752/179 +f 1689/2753/179 1697/2752/179 1699/2754/179 +f 1687/2755/179 1699/2754/179 1701/2756/179 +f 1706/2757/178 1710/2758/178 1712/2759/178 +f 1704/2760/179 1490/2599/179 1477/2761/179 +f 1476/2762/180 1489/2653/180 1480/2763/180 +f 1481/2592/179 1479/2764/179 1475/2598/179 +f 1490/2765/175 1709/2766/175 1707/2767/175 +f 1478/2589/174 1712/2759/174 1708/2768/174 +f 1489/2769/175 1710/2758/175 1705/2770/175 +f 1711/2771/178 1703/2772/178 1704/2773/178 +f 1709/2766/193 1708/2774/193 1707/2775/193 +f 1708/2774/194 1710/2758/194 1707/2775/194 +f 1714/2776/179 1715/2777/179 1713/2778/179 +f 1523/2779/175 1496/2780/175 1498/2781/175 +f 1518/2782/175 1523/2779/175 1498/2781/175 +f 1526/2783/175 1517/2784/175 1522/2785/175 +f 1417/2492/174 1430/2515/174 1429/2493/174 +f 1401/2495/174 1422/2786/174 1421/2496/174 +f 1399/2497/174 1421/2496/174 1420/2498/174 +f 1415/2494/174 1429/2493/174 1428/2500/174 +f 1413/2501/174 1428/2500/174 1427/2502/174 +f 1411/2503/174 1427/2502/174 1426/2504/174 +f 1409/2505/174 1426/2504/174 1425/2506/174 +f 1405/2508/174 1407/2507/174 1425/2506/174 +f 1403/2510/174 1405/2508/174 1424/2509/174 +f 1403/2510/174 1423/2511/174 1422/2512/174 +f 1395/2514/174 1419/2516/174 1430/2515/174 +f 1397/2499/174 1420/2498/174 1419/2516/174 +f 1404/2517/174 1447/2521/174 1448/2518/174 +f 1402/2520/174 1446/2787/174 1447/2521/174 +f 1396/2523/174 1418/2788/174 1454/2524/174 +f 1398/2526/174 1396/2789/174 1443/2525/174 +f 1400/2528/174 1445/2534/174 1446/2529/174 +f 1416/2531/174 1453/2538/174 1454/2524/174 +f 1398/2533/174 1444/2527/174 1445/2534/174 +f 1416/2536/174 1414/2790/174 1452/2537/174 +f 1414/2539/174 1412/2791/174 1451/2540/174 +f 1410/2541/174 1450/2545/174 1451/2540/174 +f 1410/2543/174 1408/2792/174 1449/2544/174 +f 1406/2546/174 1448/2518/174 1449/2544/174 +f 1440/2548/175 1464/2552/175 1463/2549/175 +f 1441/2551/175 1465/2556/175 1464/2552/175 +f 1441/2554/175 1442/2793/175 1466/2555/175 +f 1431/2557/175 1455/2560/175 1466/2555/175 +f 1432/2559/175 1456/2563/175 1455/2560/175 +f 1433/2562/175 1457/2566/175 1456/2563/175 +f 1434/2565/175 1458/2794/175 1457/2566/175 +f 1434/2568/175 1435/2795/175 1459/2569/175 +f 1435/2571/175 1436/2796/175 1460/2572/175 +f 1437/2573/175 1461/2577/175 1460/2572/175 +f 1437/2575/175 1438/2797/175 1462/2576/175 +f 1438/2578/175 1439/2798/175 1463/2549/175 +f 1468/2579/176 1470/2799/176 1469/2580/176 +f 1469/2582/174 1473/2800/174 1474/2583/174 +f 1468/2584/174 1475/2801/174 1476/2585/174 +f 1477/2587/176 1479/2590/176 1480/2588/176 +f 1479/2590/177 1481/2592/177 1482/2591/177 +f 1481/2592/176 1483/2594/176 1484/2593/176 +f 1483/2594/175 1485/2596/175 1486/2595/175 +f 1485/2596/176 1487/2673/176 1488/2597/176 +f 1489/2802/178 1476/2803/178 1707/2600/178 +f 1476/2803/178 1475/2598/178 1707/2600/178 +f 1502/2804/175 1492/2610/175 1491/2601/175 +f 1494/2602/175 1501/2805/175 1500/2806/175 +f 1494/2602/175 1500/2806/175 1499/2807/175 +f 1503/2603/175 1502/2804/175 1491/2601/175 +f 1494/2602/175 1499/2807/175 1503/2603/175 +f 1497/2604/178 1498/2626/178 1496/2605/178 +f 1474/2583/179 1471/2808/179 1468/2579/179 +f 1472/2607/180 1473/2809/180 1469/2608/180 +f 1492/2610/178 1509/2623/178 1493/2611/178 +f 1512/2613/181 1514/2810/181 1513/2614/181 +f 1509/2616/174 1512/2613/174 1511/2615/174 +f 1494/2619/180 1491/2811/180 1511/2812/180 +f 1491/2811/180 1493/2813/180 1511/2812/180 +f 1511/2812/180 1513/2614/180 1494/2619/180 +f 1505/2621/174 1506/2814/174 1510/2618/174 +f 1510/2618/174 1513/2614/174 1504/2620/174 +f 1513/2614/174 1514/2810/174 1508/2815/174 +f 1504/2620/174 1513/2614/174 1508/2815/174 +f 1514/2810/174 1507/2816/174 1508/2815/174 +f 1492/2610/179 1502/2804/179 1512/2622/179 +f 1502/2804/179 1507/2816/179 1514/2810/179 +f 1512/2622/179 1502/2804/179 1514/2810/179 +f 1495/2606/182 1516/2817/182 1515/2624/182 +f 1497/2604/180 1515/2818/180 1518/2625/180 +f 1495/2606/179 1520/2629/179 1521/2627/179 +f 1520/2629/179 1495/2606/179 1496/2605/179 +f 1521/2627/179 1522/2819/179 1517/2631/179 +f 1521/2632/178 1525/2636/178 1526/2633/178 +f 1520/2635/175 1524/2639/175 1525/2636/175 +f 1519/2638/176 1523/2641/176 1524/2639/176 +f 1526/2633/179 1525/2636/179 1524/2639/179 +f 1607/2642/178 1598/2684/178 1606/2643/178 +f 1527/2645/183 1529/2820/183 1600/2646/183 +f 1532/2649/184 1530/2670/184 1602/2821/184 +f 1600/2646/184 1529/2820/184 1531/2648/184 +f 1532/2649/184 1602/2821/184 1600/2646/184 +f 1536/2650/178 1540/2657/178 1539/2651/178 +f 1489/2653/180 1705/2822/180 1706/2654/180 +f 1536/2650/179 1537/2823/179 1542/2656/179 +f 1537/2823/179 1533/2662/179 1544/2824/179 +f 1542/2656/179 1537/2823/179 1544/2824/179 +f 1533/2662/179 1546/2661/179 1544/2824/179 +f 1538/2658/180 1535/2825/180 1541/2659/180 +f 1535/2825/180 1539/2826/180 1541/2659/180 +f 1545/2664/180 1534/2827/180 1543/2660/180 +f 1534/2827/180 1538/2658/180 1543/2660/180 +f 1531/2828/179 1529/2663/179 1533/2662/179 +f 1529/2663/179 1471/2808/179 1550/2829/179 +f 1550/2829/179 1548/2830/179 1546/2661/179 +f 1529/2663/179 1550/2829/179 1546/2661/179 +f 1530/2666/180 1532/2831/180 1534/2827/180 +f 1534/2827/180 1545/2664/180 1530/2666/180 +f 1545/2664/180 1547/2832/180 1549/2665/180 +f 1549/2665/180 1472/2607/180 1530/2666/180 +f 1475/2598/179 1468/2579/179 1527/2833/179 +f 1468/2579/179 1471/2808/179 1529/2663/179 +f 1475/2598/179 1527/2833/179 1487/2667/179 +f 1529/2663/179 1527/2833/179 1468/2579/179 +f 1470/2609/180 1476/2762/180 1528/2834/180 +f 1476/2762/180 1486/2835/180 1488/2836/180 +f 1528/2834/180 1476/2762/180 1488/2836/180 +f 1528/2834/180 1530/2666/180 1470/2609/180 +f 1599/2669/183 1602/2821/183 1530/2670/183 +f 1607/2672/185 1487/2673/185 1527/2645/185 +f 1487/2673/185 1607/2672/185 1603/2674/185 +f 1602/2675/174 1605/2686/174 1608/2676/174 +f 1603/2674/185 1599/2669/185 1528/2671/185 +f 1601/2678/179 1599/2681/179 1603/2679/179 +f 1601/2678/179 1605/2686/179 1602/2680/179 +f 1607/2682/180 1597/2837/180 1604/2683/180 +f 1604/2683/180 1597/2837/180 1600/2685/180 +f 1601/2678/186 1606/2643/186 1598/2684/186 +f 1604/2683/187 1608/2676/187 1605/2686/187 +f 1613/2688/174 1616/2838/174 1619/2839/174 +f 1619/2839/174 1622/2689/174 1613/2688/174 +f 1622/2689/174 1625/2840/174 1632/2687/174 +f 1625/2840/174 1629/2841/174 1632/2687/174 +f 1636/2691/174 1634/2842/174 1623/2843/174 +f 1634/2842/174 1630/2844/174 1623/2843/174 +f 1623/2843/174 1614/2692/174 1636/2691/174 +f 1614/2692/174 1610/2845/174 1637/2690/174 +f 1641/2693/176 1642/2697/176 1640/2694/176 +f 1645/2696/179 1646/2846/179 1642/2697/179 +f 1644/2698/180 1643/2847/180 1639/2695/180 +f 1643/2699/174 1645/2848/174 1641/2693/174 +f 1651/2700/176 1653/2704/176 1654/2701/176 +f 1648/2703/179 1650/2849/179 1653/2704/179 +f 1649/2705/188 1654/2701/188 1653/2704/188 +f 1647/2707/180 1652/2702/180 1654/2701/180 +f 1648/2709/174 1651/2700/174 1652/2702/174 +f 1659/2711/176 1661/2719/176 1662/2712/176 +f 1655/2714/189 1660/2713/189 1662/2712/189 +f 1656/2716/190 1659/2711/190 1660/2713/190 +f 1656/2718/191 1658/2850/191 1661/2719/191 +f 1657/2720/192 1662/2712/192 1661/2719/192 +f 1666/2722/180 1678/2725/180 1668/2723/180 +f 1678/2725/180 1680/2727/180 1670/2726/180 +f 1680/2727/180 1682/2729/180 1672/2728/180 +f 1682/2729/180 1684/2731/180 1674/2730/180 +f 1684/2731/180 1686/2851/180 1676/2732/180 +f 1667/2733/179 1677/2737/179 1664/2734/179 +f 1669/2736/179 1679/2852/179 1677/2737/179 +f 1681/2738/179 1679/2852/179 1669/2736/179 +f 1673/2740/179 1683/2742/179 1681/2738/179 +f 1675/2741/179 1685/2853/179 1683/2742/179 +f 1688/2743/180 1702/2854/180 1700/2744/180 +f 1690/2745/180 1700/2744/180 1698/2746/180 +f 1692/2747/180 1698/2746/180 1696/2748/180 +f 1691/2750/179 1693/2855/179 1695/2751/179 +f 1689/2753/179 1691/2750/179 1697/2752/179 +f 1687/2755/179 1689/2753/179 1699/2754/179 +f 1706/2757/178 1705/2770/178 1710/2758/178 +f 1704/2760/179 1703/2856/179 1490/2599/179 +f 1489/2653/180 1478/2655/180 1480/2763/180 +f 1480/2763/180 1482/2857/180 1476/2762/180 +f 1482/2857/180 1484/2858/180 1476/2762/180 +f 1484/2858/180 1486/2835/180 1476/2762/180 +f 1477/2761/179 1490/2599/179 1479/2764/179 +f 1490/2599/179 1475/2598/179 1479/2764/179 +f 1475/2598/179 1485/2668/179 1483/2594/179 +f 1483/2594/179 1481/2592/179 1475/2598/179 +f 1490/2765/175 1703/2772/175 1709/2766/175 +f 1704/2773/174 1477/2587/174 1711/2771/174 +f 1477/2587/174 1478/2589/174 1708/2768/174 +f 1478/2589/174 1706/2757/174 1712/2759/174 +f 1708/2768/174 1711/2771/174 1477/2587/174 +f 1489/2769/175 1707/2767/175 1710/2758/175 +f 1711/2771/178 1709/2766/178 1703/2772/178 +f 1709/2766/193 1711/2771/193 1708/2774/193 +f 1708/2774/194 1712/2759/194 1710/2758/194 +f 1714/2776/179 1716/2859/179 1715/2777/179 +f 1523/2779/175 1519/2860/175 1496/2780/175 +f 1518/2782/175 1526/2783/175 1523/2779/175 +f 1526/2783/175 1518/2782/175 1517/2784/175 +s 1 +f 1396/2861/180 1397/2499/195 1395/2514/180 +f 1398/2862/195 1399/2497/196 1397/2499/195 +f 1400/2863/196 1401/2495/178 1399/2497/196 +f 1402/2520/178 1403/2510/197 1401/2513/178 +f 1404/2522/197 1405/2508/198 1403/2510/197 +f 1406/2864/198 1407/2507/179 1405/2508/198 +f 1408/2865/179 1409/2505/199 1407/2507/179 +f 1410/2866/199 1411/2503/200 1409/2505/199 +f 1412/2867/200 1413/2501/176 1411/2503/200 +f 1414/2868/176 1415/2494/201 1413/2501/176 +f 1416/2869/201 1417/2492/202 1415/2494/201 +f 1418/2870/202 1395/2514/180 1417/2492/202 +f 1425/2506/180 1436/2871/202 1424/2509/202 +f 1422/2786/176 1433/2872/200 1421/2496/200 +f 1429/2493/197 1440/2873/178 1428/2500/178 +f 1426/2504/195 1437/2874/180 1425/2506/180 +f 1423/2511/201 1434/2875/176 1422/2512/176 +f 1430/2515/198 1441/2876/197 1429/2493/197 +f 1420/2498/199 1431/2877/179 1419/2516/179 +f 1427/2502/196 1438/2878/195 1426/2504/195 +f 1424/2509/202 1435/2879/201 1423/2511/201 +f 1419/2516/179 1442/2880/198 1430/2515/198 +f 1421/2496/200 1432/2881/199 1420/2498/199 +f 1428/2500/178 1439/2882/196 1427/2502/196 +f 1451/2540/200 1464/2552/176 1452/2537/176 +f 1448/2518/198 1461/2577/179 1449/2544/179 +f 1445/2534/196 1458/2794/178 1446/2529/178 +f 1452/2537/176 1465/2556/201 1453/2538/201 +f 1449/2544/179 1462/2576/199 1450/2545/199 +f 1446/2787/178 1459/2569/197 1447/2521/197 +f 1453/2538/201 1466/2555/202 1454/2524/202 +f 1443/2525/180 1456/2563/195 1444/2527/195 +f 1450/2545/199 1463/2549/200 1451/2540/200 +f 1447/2521/197 1460/2572/198 1448/2518/198 +f 1443/2525/180 1466/2555/202 1455/2560/180 +f 1444/2527/195 1457/2566/196 1445/2534/196 +f 1473/2800/178 1471/2883/203 1474/2583/178 +f 1500/2884/204 1504/2885/179 1499/2886/179 +f 1499/2886/179 1508/2887/205 1503/2888/205 +f 1501/2805/206 1505/2889/204 1500/2884/204 +f 1503/2888/205 1507/2816/207 1502/2804/207 +f 1531/2648/175 1534/2890/208 1532/2649/175 +f 1537/2891/209 1535/2892/210 1538/2893/209 +f 1537/2891/209 1534/2890/208 1533/2894/208 +f 1540/2657/174 1541/2895/211 1539/2651/174 +f 1542/2896/211 1543/2897/212 1541/2895/211 +f 1544/2898/212 1545/2899/213 1543/2897/212 +f 1546/2900/213 1547/2901/214 1545/2899/213 +f 1548/2902/215 1549/2903/216 1547/2904/215 +f 1549/2903/216 1471/2883/203 1472/2905/203 +f 1588/2906/217 1553/2907/218 1551/2908/219 +f 1552/2909/220 1567/2910/221 1554/2911/222 +f 1562/2912/223 1573/2913/224 1563/2914/225 +f 1563/2914/225 1574/2915/226 1564/2916/227 +f 1555/2917/228 1559/2918/229 1568/2919/230 +f 1558/2920/231 1569/2921/232 1557/2922/233 +f 1585/2923/234 1586/2924/235 1596/2925/236 +f 1561/2926/237 1572/2927/238 1562/2912/223 +f 1558/2920/231 1556/2928/239 1570/2929/240 +f 1556/2928/239 1555/2917/228 1568/2919/230 +f 1567/2910/221 1561/2926/237 1554/2911/222 +f 1552/2909/220 1557/2922/233 1566/2930/241 +f 1565/2931/242 1575/2932/243 1560/2933/244 +f 1575/2932/243 1559/2918/229 1560/2933/244 +f 1569/2921/232 1567/2910/221 1566/2930/241 +f 1594/2934/245 1583/2935/246 1584/2936/247 +f 1574/2915/226 1570/2929/240 1568/2919/230 +f 1568/2919/230 1575/2932/243 1574/2915/226 +f 1595/2937/248 1584/2936/247 1585/2923/234 +f 1576/2938/249 1589/2939/250 1580/2940/251 +f 1590/2941/252 1579/2942/253 1578/2943/254 +f 1596/2925/236 1595/2937/248 1585/2923/234 +f 1593/2944/255 1582/2945/256 1583/2935/246 +f 1579/2942/253 1591/2946/257 1577/2947/258 +f 1577/2947/258 1589/2939/250 1576/2938/249 +f 1588/2906/217 1582/2945/256 1592/2948/259 +f 1553/2907/218 1587/2949/260 1578/2943/254 +f 1586/2924/235 1581/2950/261 1596/2925/236 +f 1581/2950/261 1589/2939/250 1596/2925/236 +f 1588/2906/217 1590/2941/252 1587/2949/260 +f 1595/2937/248 1589/2939/250 1591/2946/257 +f 1589/2939/250 1595/2937/248 1596/2925/236 +f 1552/2909/220 1578/2951/254 1557/2952/233 +f 1553/2953/218 1554/2911/222 1551/2954/219 +f 1582/2955/256 1554/2911/222 1561/2956/237 +f 1612/2957/262 1627/2958/263 1615/2959/264 +f 1612/2957/262 1616/2960/265 1613/2961/266 +f 1615/2959/264 1619/2962/267 1616/2960/265 +f 1615/2959/264 1627/2963/263 1618/2964/268 +f 1618/2964/268 1622/2965/269 1619/2962/267 +f 1618/2964/268 1627/2966/263 1621/2967/270 +f 1609/2968/271 1636/2969/272 1637/2970/273 +f 1622/2965/269 1624/2971/274 1625/2972/275 +f 1609/2968/271 1620/2973/276 1638/2974/277 +f 1621/2967/270 1627/2975/263 1624/2971/274 +f 1611/2976/278 1637/2970/273 1610/2977/279 +f 1625/2972/275 1628/2978/280 1629/2979/281 +f 1611/2976/278 1620/2980/276 1609/2968/271 +f 1624/2971/274 1627/2981/263 1628/2978/280 +f 1617/2982/282 1610/2977/279 1614/2983/283 +f 1629/2979/281 1631/2984/284 1632/2985/285 +f 1617/2982/282 1620/2986/276 1611/2976/278 +f 1628/2978/280 1627/2987/263 1631/2984/284 +f 1630/2988/286 1626/2989/287 1623/2990/288 +f 1633/2991/289 1620/2992/276 1626/2989/287 +f 1634/2993/290 1633/2991/289 1630/2988/286 +f 1635/2994/291 1620/2995/276 1633/2991/289 +f 1636/2969/272 1635/2994/291 1634/2993/290 +f 1638/2974/277 1620/2996/276 1635/2994/291 +f 1572/2927/238 1570/2929/240 1573/2913/224 +f 1573/2913/224 1570/2929/240 1574/2915/226 +f 1591/2946/257 1594/2934/245 1595/2937/248 +f 1593/2944/255 1591/2946/257 1590/2941/252 +f 1575/2932/243 1564/2916/227 1574/2915/226 +f 1565/2931/242 1564/2916/227 1575/2932/243 +f 1665/2997/292 1667/2998/293 1663/2735/292 +f 1668/2999/293 1669/3000/294 1667/2998/293 +f 1670/3001/294 1671/3002/295 1669/3000/294 +f 1672/3003/295 1673/3004/296 1671/3002/295 +f 1674/3005/297 1675/3006/298 1673/3004/296 +f 1664/2734/299 1678/2725/300 1666/2722/299 +f 1677/2737/300 1680/2727/301 1678/2725/300 +f 1679/2852/301 1682/2729/302 1680/2727/301 +f 1681/2738/302 1684/2731/303 1682/2729/302 +f 1683/2742/303 1686/2851/304 1684/2731/303 +f 1690/3007/305 1687/3008/215 1688/3009/215 +f 1692/3010/306 1689/3011/305 1690/3007/305 +f 1694/2749/307 1691/3012/306 1692/3010/306 +f 1696/2748/308 1693/2855/307 1694/2749/307 +f 1698/3013/309 1695/2751/308 1696/2748/308 +f 1700/3014/309 1697/3015/309 1698/3013/309 +f 1702/3016/310 1699/3017/309 1700/3014/309 +f 1570/2929/240 1556/2928/239 1568/2919/230 +f 1577/2947/258 1591/2946/257 1589/2939/250 +f 1571/3018/311 1569/2921/232 1572/2927/238 +f 1590/2941/252 1592/2948/259 1593/2944/255 +f 1566/2930/241 1557/2922/233 1569/2921/232 +f 1578/2943/254 1587/2949/260 1590/2941/252 +f 1396/2861/180 1398/2862/195 1397/2499/195 +f 1398/2862/195 1400/2863/196 1399/2497/196 +f 1400/2863/196 1402/3019/178 1401/2495/178 +f 1402/2520/178 1404/2522/197 1403/2510/197 +f 1404/2522/197 1406/2864/198 1405/2508/198 +f 1406/2864/198 1408/2865/179 1407/2507/179 +f 1408/2865/179 1410/2866/199 1409/2505/199 +f 1410/2866/199 1412/2867/200 1411/2503/200 +f 1412/2867/200 1414/2868/176 1413/2501/176 +f 1414/2868/176 1416/2869/201 1415/2494/201 +f 1416/2869/201 1418/2870/202 1417/2492/202 +f 1418/2870/202 1396/2861/180 1395/2514/180 +f 1425/2506/180 1437/2874/180 1436/2871/202 +f 1422/2786/176 1434/3020/176 1433/2872/200 +f 1429/2493/197 1441/2876/197 1440/2873/178 +f 1426/2504/195 1438/2878/195 1437/2874/180 +f 1423/2511/201 1435/2879/201 1434/2875/176 +f 1430/2515/198 1442/2880/198 1441/2876/197 +f 1420/2498/199 1432/2881/199 1431/2877/179 +f 1427/2502/196 1439/2882/196 1438/2878/195 +f 1424/2509/202 1436/2871/202 1435/2879/201 +f 1419/2516/179 1431/2877/179 1442/2880/198 +f 1421/2496/200 1433/2872/200 1432/2881/199 +f 1428/2500/178 1440/2873/178 1439/2882/196 +f 1451/2540/200 1463/2549/200 1464/2552/176 +f 1448/2518/198 1460/2572/198 1461/2577/179 +f 1445/2534/196 1457/2566/196 1458/2794/178 +f 1452/2537/176 1464/2552/176 1465/2556/201 +f 1449/2544/179 1461/2577/179 1462/2576/199 +f 1446/2787/178 1458/2570/178 1459/2569/197 +f 1453/2538/201 1465/2556/201 1466/2555/202 +f 1443/2525/180 1455/2560/180 1456/2563/195 +f 1450/2545/199 1462/2576/199 1463/2549/200 +f 1447/2521/197 1459/2569/197 1460/2572/198 +f 1443/2525/180 1454/2524/202 1466/2555/202 +f 1444/2527/195 1456/2563/195 1457/2566/196 +f 1473/2800/178 1472/2905/203 1471/2883/203 +f 1500/2884/204 1505/2889/204 1504/2885/179 +f 1499/2886/179 1504/2885/179 1508/2887/205 +f 1501/2805/206 1506/2814/206 1505/2889/204 +f 1503/2888/205 1508/2887/205 1507/2816/207 +f 1531/2648/175 1533/2894/208 1534/2890/208 +f 1537/2891/209 1536/3021/210 1535/2892/210 +f 1537/2891/209 1538/2893/209 1534/2890/208 +f 1540/2657/174 1542/2896/211 1541/2895/211 +f 1542/2896/211 1544/2898/212 1543/2897/212 +f 1544/2898/212 1546/2900/213 1545/2899/213 +f 1546/2900/213 1548/3022/214 1547/2901/214 +f 1548/2902/215 1550/3023/216 1549/2903/216 +f 1549/2903/216 1550/3023/216 1471/2883/203 +f 1588/2906/217 1587/2949/260 1553/2907/218 +f 1552/2909/220 1566/2930/241 1567/2910/221 +f 1562/2912/223 1572/2927/238 1573/2913/224 +f 1563/2914/225 1573/2913/224 1574/2915/226 +f 1558/2920/231 1570/2929/240 1569/2921/232 +f 1561/2926/237 1571/3018/311 1572/2927/238 +f 1567/2910/221 1571/3018/311 1561/2926/237 +f 1575/2932/243 1568/2919/230 1559/2918/229 +f 1569/2921/232 1571/3018/311 1567/2910/221 +f 1594/2934/245 1593/2944/255 1583/2935/246 +f 1595/2937/248 1594/2934/245 1584/2936/247 +f 1590/2941/252 1591/2946/257 1579/2942/253 +f 1593/2944/255 1592/2948/259 1582/2945/256 +f 1588/2906/217 1551/2908/219 1582/2945/256 +f 1581/2950/261 1580/2940/251 1589/2939/250 +f 1588/2906/217 1592/2948/259 1590/2941/252 +f 1552/2909/220 1553/2953/218 1578/2951/254 +f 1553/2953/218 1552/2909/220 1554/2911/222 +f 1582/2955/256 1551/2954/219 1554/2911/222 +f 1612/2957/262 1615/2959/264 1616/2960/265 +f 1615/2959/264 1618/2964/268 1619/2962/267 +f 1618/2964/268 1621/2967/270 1622/2965/269 +f 1609/2968/271 1638/2974/277 1636/2969/272 +f 1622/2965/269 1621/2967/270 1624/2971/274 +f 1611/2976/278 1609/2968/271 1637/2970/273 +f 1625/2972/275 1624/2971/274 1628/2978/280 +f 1617/2982/282 1611/2976/278 1610/2977/279 +f 1629/2979/281 1628/2978/280 1631/2984/284 +f 1630/2988/286 1633/2991/289 1626/2989/287 +f 1634/2993/290 1635/2994/291 1633/2991/289 +f 1636/2969/272 1638/2974/277 1635/2994/291 +f 1572/2927/238 1569/2921/232 1570/2929/240 +f 1593/2944/255 1594/2934/245 1591/2946/257 +f 1665/2997/292 1668/2999/293 1667/2998/293 +f 1668/2999/293 1670/3001/294 1669/3000/294 +f 1670/3001/294 1672/3003/295 1671/3002/295 +f 1672/3003/295 1674/3005/297 1673/3004/296 +f 1674/3005/297 1676/3024/298 1675/3006/298 +f 1664/2734/299 1677/2737/300 1678/2725/300 +f 1677/2737/300 1679/2852/301 1680/2727/301 +f 1679/2852/301 1681/2738/302 1682/2729/302 +f 1681/2738/302 1683/2742/303 1684/2731/303 +f 1683/2742/303 1685/2853/304 1686/2851/304 +f 1690/3007/305 1689/3011/305 1687/3008/215 +f 1692/3010/306 1691/3012/306 1689/3011/305 +f 1694/2749/307 1693/2855/307 1691/3012/306 +f 1696/2748/308 1695/2751/308 1693/2855/307 +f 1698/3013/309 1697/3015/309 1695/2751/308 +f 1700/3014/309 1699/3017/309 1697/3015/309 +f 1702/3016/310 1701/3025/310 1699/3017/309 diff --git a/src/main/resources/assets/hbm/models/weapons/novac.obj b/src/main/resources/assets/hbm/models/weapons/novac.obj index 8144b6735..7f3f04f6c 100644 --- a/src/main/resources/assets/hbm/models/weapons/novac.obj +++ b/src/main/resources/assets/hbm/models/weapons/novac.obj @@ -1,192 +1,96 @@ -# Blender v2.79 (sub 0) OBJ File: '' +# Blender 4.0.1 # www.blender.org -o Hammer -v 0.032000 0.588845 1.091862 -v 0.032000 0.697419 1.159147 -v 0.032000 0.639309 1.194319 -v -0.032000 0.588845 1.091862 -v -0.032000 0.697419 1.159147 -v -0.032000 0.755530 1.130092 -v 0.032000 0.842695 0.952702 -v -0.032000 0.842695 1.107154 -v 0.032000 0.842695 1.107154 -v 0.032000 0.755530 1.130092 -v -0.032000 0.718828 1.220316 -v 0.032000 0.718828 1.220316 -v 0.068452 0.772351 1.279956 -v -0.068452 0.772351 1.279956 -v -0.068452 0.776939 1.464992 -v 0.068452 0.776939 1.464992 -v -0.068452 0.737179 1.463463 -v 0.068452 0.737179 1.463463 -v -0.068452 0.735650 1.390060 -v 0.068452 0.735650 1.390060 -v 0.068452 0.724945 1.304423 -v -0.068452 0.724945 1.304423 -v -0.032000 0.663776 1.232550 -v 0.032000 0.663776 1.232550 -v -0.032000 0.639309 1.194319 -v -0.032000 0.620958 1.237138 -v 0.032000 0.620958 1.237138 -v -0.032000 0.561319 1.335008 -v 0.032000 0.561319 1.335008 -v -0.032000 0.477211 1.387001 -v 0.032000 0.477211 1.387001 -v -0.032000 0.842695 0.952702 -vt 0.343765 0.934799 -vt 0.350946 0.946383 -vt 0.354698 0.940182 -vt 0.343782 0.934821 -vt 0.350963 0.946405 -vt 0.347864 0.952606 -vt 0.390183 0.954876 -vt 0.397012 0.971356 -vt 0.390183 0.971356 -vt 0.397012 0.980973 -vt 0.390183 0.980973 -vt 0.397012 0.987905 -vt 0.390183 0.987905 -vt 0.397012 0.994820 -vt 0.390183 0.994820 -vt 0.379264 0.964780 -vt 0.387814 0.975498 -vt 0.379264 0.979388 -vt 0.359515 0.979388 -vt 0.359515 0.964780 -vt 0.355269 0.979388 -vt 0.355269 0.964780 -vt 0.347436 0.979388 -vt 0.347436 0.964780 -vt 0.338227 0.964780 -vt 0.338227 0.979388 -vt 0.328157 0.975498 -vt 0.328157 0.968670 -vt 0.397043 0.923988 -vt 0.403872 0.928831 -vt 0.397043 0.928831 -vt 0.403872 0.933801 -vt 0.397043 0.933801 -vt 0.403872 0.946030 -vt 0.397043 0.946030 -vt 0.403872 0.956580 -vt 0.397043 0.956580 -vt 0.403872 0.990249 -vt 0.397043 0.990249 -vt 0.390183 0.923988 -vt 0.397012 0.954876 -vt 0.384495 0.954648 -vt 0.384235 0.950410 -vt 0.376401 0.950426 -vt 0.357473 0.948666 -vt 0.367240 0.949494 -vt 0.358777 0.942792 -vt 0.357490 0.948689 -vt 0.367257 0.949516 -vt 0.364763 0.954633 -vt 0.376418 0.950449 -vt 0.384252 0.950432 -vt 0.384512 0.954670 -vt 0.328921 0.961887 -vt 0.347847 0.952584 -vt 0.345400 0.961884 -vt 0.369708 0.931858 -vt 0.375254 0.922884 -vt 0.359266 0.938223 -vt 0.375271 0.922906 -vt 0.369725 0.931881 -vt 0.359283 0.938246 -vt 0.354715 0.940204 -vt 0.358794 0.942814 -vt 0.345417 0.961907 -vt 0.328938 0.961909 -vt 0.387814 0.968670 -vt 0.403872 0.923988 -vt 0.397012 0.923988 -vt 0.364746 0.954610 -vn 1.0000 0.0000 0.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 1.0000 0.0000 -vn 0.0000 0.2545 0.9671 -vn 0.0000 0.4472 0.8944 -vn 0.0000 0.9439 -0.3303 -vn 0.0000 0.7442 -0.6679 -vn 0.0000 0.9997 -0.0248 -vn 0.0000 -0.0384 0.9993 -vn 0.0000 -0.9998 0.0208 -vn 0.0000 -0.9923 0.1240 -vn 0.0000 -0.7615 0.6481 -vn 0.0000 -0.8423 0.5390 -vn 0.0000 0.9191 0.3939 -vn 0.0000 0.8539 0.5204 -vn 0.0000 0.5258 0.8506 -vn 0.0000 -0.9353 -0.3538 -vn 0.0000 -0.4807 -0.8769 -vn 0.9164 -0.0869 -0.3908 -vn -0.9050 -0.1951 -0.3780 -vn 0.9050 -0.1951 -0.3780 -vn -0.9164 -0.0869 -0.3908 -s off -f 1/1/1 2/2/1 3/3/1 -f 4/4/2 5/5/2 6/6/2 -f 7/7/3 8/8/3 9/9/3 -f 9/9/4 6/10/4 10/11/4 -f 10/11/5 5/12/5 2/13/5 -f 2/13/6 11/14/6 12/15/6 -f 13/16/7 11/17/7 14/18/7 -f 13/16/8 15/19/8 16/20/8 -f 16/20/9 17/21/9 18/22/9 -f 18/22/10 19/23/10 20/24/10 -f 21/25/11 19/23/11 22/26/11 -f 21/25/12 23/27/12 24/28/12 -f 24/29/13 25/30/13 3/31/13 -f 3/31/14 26/32/14 27/33/14 -f 27/33/15 28/34/15 29/35/15 -f 29/35/16 30/36/16 31/37/16 -f 31/37/17 4/38/17 1/39/17 -f 1/40/18 32/41/18 7/7/18 -f 16/42/1 18/43/1 20/44/1 -f 12/45/19 21/46/19 24/47/19 -f 11/48/20 22/49/20 14/50/20 -f 19/51/2 17/52/2 15/53/2 -f 1/1/1 7/54/1 10/55/1 -f 7/54/1 9/56/1 10/55/1 -f 29/57/1 31/58/1 1/1/1 -f 3/3/1 27/59/1 1/1/1 -f 27/59/1 29/57/1 1/1/1 -f 12/45/1 24/47/1 2/2/1 -f 24/47/1 3/3/1 2/2/1 -f 1/1/1 10/55/1 2/2/1 -f 4/4/2 30/60/2 28/61/2 -f 28/61/2 26/62/2 4/4/2 -f 26/62/2 25/63/2 4/4/2 -f 25/63/2 23/64/2 5/5/2 -f 23/64/2 11/48/2 5/5/2 -f 8/65/2 32/66/2 6/6/2 -f 32/66/2 4/4/2 6/6/2 -f 4/4/2 25/63/2 5/5/2 -f 7/7/3 32/41/3 8/8/3 -f 9/9/4 8/8/4 6/10/4 -f 10/11/5 6/10/5 5/12/5 -f 2/13/6 5/12/6 11/14/6 -f 13/16/7 12/67/7 11/17/7 -f 13/16/8 14/18/8 15/19/8 -f 16/20/9 15/19/9 17/21/9 -f 18/22/10 17/21/10 19/23/10 -f 21/25/11 20/24/11 19/23/11 -f 21/25/12 22/26/12 23/27/12 -f 24/29/13 23/68/13 25/30/13 -f 3/31/14 25/30/14 26/32/14 -f 27/33/15 26/32/15 28/34/15 -f 29/35/16 28/34/16 30/36/16 -f 31/37/17 30/36/17 4/38/17 -f 1/40/18 4/69/18 32/41/18 -f 20/44/1 21/46/1 13/70/1 -f 13/70/1 16/42/1 20/44/1 -f 12/45/21 13/70/21 21/46/21 -f 11/48/22 23/64/22 22/49/22 -f 15/53/2 14/50/2 19/51/2 -f 14/50/2 22/49/2 19/51/2 -o Gun +o Cylinder +v -0.126087 0.227980 0.137402 +v 0.126087 0.227980 0.774998 +v -0.126086 0.227980 0.774998 +v 0.126086 0.227980 0.137402 +v 0.304400 0.406294 0.774998 +v 0.304400 0.406293 0.137402 +v 0.304400 0.658466 0.774998 +v 0.304400 0.658466 0.137402 +v 0.126087 0.836780 0.774998 +v 0.126086 0.836780 0.137402 +v -0.126086 0.836780 0.774998 +v -0.126087 0.836780 0.137402 +v -0.304400 0.658467 0.774998 +v -0.304400 0.658466 0.137402 +v -0.304400 0.406294 0.774998 +v -0.304400 0.406294 0.137402 +vn -0.3827 -0.9239 -0.0000 +vn 0.3827 -0.9239 -0.0000 +vn 0.9239 -0.3827 -0.0000 +vn 0.9239 0.3827 -0.0000 +vn 0.3827 0.9239 -0.0000 +vn -0.3827 0.9239 -0.0000 +vn -0.9239 0.3827 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn -0.9239 -0.3827 -0.0000 +vn -0.0000 -0.0000 1.0000 +vt 0.246533 0.894427 +vt 0.118900 0.944907 +vt 0.118900 0.894427 +vt 0.246533 0.944907 +vt 0.118900 0.995387 +vt 0.246533 0.591549 +vt 0.118900 0.642029 +vt 0.118900 0.591549 +vt 0.246533 0.642029 +vt 0.118900 0.692509 +vt 0.246533 0.692509 +vt 0.118900 0.742988 +vt 0.246533 0.742988 +vt 0.118900 0.793468 +vt 0.375332 0.627244 +vt 0.375332 0.677724 +vt 0.253463 0.627244 +vt 0.246533 0.793468 +vt 0.118900 0.843948 +vt 0.246533 0.843948 +vt 0.339638 0.713512 +vt 0.375332 0.799686 +vt 0.289158 0.835381 +vt 0.246533 0.995387 +vt 0.339638 0.713418 +vt 0.289158 0.713418 +vt 0.253463 0.677724 +vt 0.289158 0.591549 +vt 0.339638 0.591549 +vt 0.253464 0.799686 +vt 0.253463 0.749207 +vt 0.289158 0.713512 +vt 0.375332 0.749207 +vt 0.339638 0.835381 +s 1 +f 1/1/1 2/2/2 3/3/1 +f 4/4/2 5/5/3 2/2/2 +f 6/6/3 7/7/4 5/8/3 +f 8/9/4 9/10/5 7/7/4 +f 10/11/5 11/12/6 9/10/5 +f 12/13/6 13/14/7 11/12/6 +f 8/15/8 6/16/8 14/17/8 +f 14/18/7 15/19/9 13/14/7 +f 16/20/9 3/3/1 15/19/9 +f 7/21/10 11/22/10 15/23/10 +f 1/1/1 4/4/2 2/2/2 +f 4/4/2 6/24/3 5/5/3 +f 6/6/3 8/9/4 7/7/4 +f 8/9/4 10/11/5 9/10/5 +f 10/11/5 12/13/6 11/12/6 +f 12/13/6 14/18/7 13/14/7 +f 6/16/8 4/25/8 1/26/8 +f 1/26/8 16/27/8 6/16/8 +f 16/27/8 14/17/8 6/16/8 +f 14/17/8 12/28/8 10/29/8 +f 10/29/8 8/15/8 14/17/8 +f 14/18/7 16/20/9 15/19/9 +f 16/20/9 1/1/1 3/3/1 +f 15/23/10 3/30/10 2/31/10 +f 2/31/10 5/32/10 7/21/10 +f 7/21/10 9/33/10 11/22/10 +f 11/22/10 13/34/10 15/23/10 +f 15/23/10 2/31/10 7/21/10 +o Body v 0.070876 1.068409 0.865754 v 0.141753 1.068409 0.897529 v 0.141753 1.068409 0.865754 @@ -207,32 +111,6 @@ v 0.000000 1.008182 0.897529 v 0.000000 1.008182 0.865754 v 0.070876 1.068409 0.897529 v -0.141753 1.068409 0.897529 -v 0.045500 -0.120256 0.684201 -v 0.045500 -0.026668 0.645664 -v 0.045500 -0.037678 0.759438 -v -0.045500 -0.195494 0.673190 -v -0.045500 -0.241370 0.641994 -v -0.045500 -0.226690 0.735583 -v -0.045500 0.083436 0.570427 -v 0.045500 0.083436 0.570427 -v -0.045500 -0.026668 0.645664 -v 0.045500 -0.195494 0.673190 -v -0.045500 -0.120256 0.684201 -v 0.045500 -0.241370 0.641994 -v 0.045500 -0.301928 0.541066 -v 0.045500 -0.329454 0.561251 -v -0.045500 -0.301928 0.541066 -v 0.045500 -0.292752 0.676861 -v -0.045500 -0.329454 0.561251 -v 0.045500 -0.226690 0.735583 -v -0.045500 -0.292752 0.676861 -v 0.045500 -0.098235 0.761274 -v -0.045500 -0.098235 0.761274 -v 0.045500 0.006363 0.860367 -v -0.045500 -0.037678 0.759438 -v 0.045500 0.120138 0.755768 -v -0.045500 0.006363 0.860367 -v -0.045500 0.120138 0.755768 v 0.021772 0.858479 -2.163888 v 0.021772 0.977946 -2.136619 v 0.021772 0.977946 -1.813800 @@ -573,6 +451,324 @@ v -0.130093 0.275159 0.131254 v 0.130092 0.274881 0.131254 v -0.156306 0.411972 0.131254 v 0.156306 0.412767 0.131254 +v -0.065046 0.477214 1.426684 +v -0.065047 0.708668 1.058814 +v -0.065047 0.613690 1.167382 +v -0.065047 0.530807 1.307363 +v 0.065046 0.708668 1.058814 +v 0.065047 0.477214 1.426684 +v 0.065046 0.530807 1.307363 +v 0.065046 0.613690 1.167382 +v -0.065047 0.633816 1.012052 +v 0.065046 0.538838 1.120620 +v 0.065047 0.402362 1.379922 +v -0.065047 0.455955 1.260601 +v -0.065046 0.402362 1.379922 +v -0.065047 0.538838 1.120620 +v 0.065046 0.633816 1.012052 +v 0.065046 0.455955 1.260601 +vn -0.0000 1.0000 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn -0.0000 -1.0000 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 0.7071 -0.7071 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 0.7071 0.7071 +vn -0.6475 0.7620 -0.0000 +vn 0.6475 0.7620 -0.0000 +vn -0.0000 0.9761 0.2173 +vn -0.0000 0.9056 0.4242 +vn -0.0000 0.2225 -0.9749 +vn -0.0420 0.7668 -0.6406 +vn 0.0382 0.7683 -0.6390 +vn -0.0000 -1.0000 0.0061 +vn 0.0199 0.9997 0.0174 +vn 0.0205 0.9890 0.1463 +vn -0.0199 0.9997 0.0174 +vn -0.0000 0.9809 0.1946 +vn -0.0000 0.9155 -0.4023 +vn -0.0000 0.4940 -0.8694 +vn -0.0186 0.7451 -0.6667 +vn 0.0187 0.7734 -0.6336 +vn -0.0206 0.9890 0.1463 +vn -0.9292 -0.3696 -0.0000 +vn -0.9658 -0.2592 -0.0000 +vn -0.9821 -0.1882 -0.0000 +vn -0.0000 -0.7788 -0.6273 +vn -0.0000 -0.6466 -0.7629 +vn 0.9658 -0.2592 -0.0000 +vn 0.9292 -0.3696 -0.0000 +vn 0.9821 -0.1882 -0.0000 +vn 0.9538 -0.3003 -0.0000 +vn 0.9151 -0.4033 -0.0000 +vn -0.0000 -0.4648 -0.8854 +vn -0.9538 -0.3003 -0.0000 +vn -0.9151 -0.4033 -0.0000 +vn 0.0797 -0.9968 -0.0000 +vn -0.0777 -0.9970 -0.0000 +vn -0.0797 -0.9968 -0.0000 +vn -0.0000 -0.4649 -0.8853 +vn -0.0000 -0.4649 -0.8854 +vn -0.4332 -0.9013 -0.0000 +vn -0.4666 -0.8845 -0.0000 +vn 0.4332 -0.9013 -0.0000 +vn 0.0777 -0.9970 -0.0000 +vn 0.4666 -0.8845 -0.0000 +vn 0.8660 -0.5000 -0.0000 +vn 0.8801 0.4747 -0.0000 +vn -0.5493 0.8356 -0.0000 +vn -0.8801 0.4747 -0.0000 +vn -0.8660 -0.5000 -0.0000 +vn 0.5493 0.8356 -0.0000 +vn -0.8660 0.5000 -0.0000 +vn 0.8660 0.5000 -0.0000 +vn 0.1301 0.6195 0.7741 +vn -0.1301 0.4620 0.8773 +vn 0.1301 0.4620 0.8773 +vn -0.0000 0.5645 -0.8254 +vn -0.0000 0.8133 -0.5819 +vn 0.1295 0.0940 -0.9871 +vn -0.1323 -0.0052 -0.9912 +vn 0.1322 -0.0052 -0.9912 +vn -0.1340 -0.2621 -0.9557 +vn 0.1340 -0.2621 -0.9557 +vn -0.1365 -0.6074 -0.7826 +vn 0.1365 -0.6074 -0.7826 +vn -0.1352 -0.8771 -0.4608 +vn 0.1352 -0.8771 -0.4608 +vn -0.0808 -0.9622 -0.2603 +vn 0.0808 -0.9622 -0.2603 +vn 0.7746 -0.6264 -0.0870 +vn 0.9945 -0.0968 -0.0405 +vn 0.8887 -0.4230 -0.1767 +vn -0.0000 -0.5480 -0.8365 +vn -0.0000 0.8992 -0.4375 +vn 0.8698 0.1565 0.4679 +vn 0.9938 0.0274 0.1074 +vn 0.9228 0.0804 0.3768 +vn 0.0986 0.3350 0.9370 +vn -0.1326 0.3486 0.9278 +vn 0.1326 0.3486 0.9278 +vn -0.1335 0.5772 0.8056 +vn 0.1335 0.5772 0.8056 +vn -0.1301 0.6195 0.7741 +vn -0.9228 0.0804 0.3768 +vn -0.8698 0.1565 0.4679 +vn -0.7544 0.1070 0.6477 +vn 0.1301 0.3290 0.9353 +vn -0.1273 0.2812 0.9512 +vn 0.1273 0.2812 0.9512 +vn 0.4948 0.4049 0.7689 +vn 0.4968 0.2880 0.8187 +vn 0.8601 0.2377 0.4514 +vn 0.8626 0.1679 0.4771 +vn 0.9905 0.0642 0.1218 +vn 0.4781 0.2490 0.8423 +vn 0.8441 0.1520 0.5141 +vn 0.9881 0.0437 0.1477 +vn 0.9909 0.0446 0.1269 +vn 0.4931 0.0825 -0.8661 +vn 0.5089 -0.0045 -0.8608 +vn 0.8591 0.0485 -0.5095 +vn 0.8741 -0.0026 -0.4858 +vn 0.9904 0.0131 -0.1377 +vn 0.5163 -0.2265 -0.8259 +vn 0.8799 -0.1257 -0.4583 +vn 0.9926 -0.0006 -0.1217 +vn 0.5261 -0.5214 -0.6718 +vn 0.8869 -0.2832 -0.3649 +vn 0.9933 -0.0306 -0.1117 +vn 0.5029 -0.7822 -0.3678 +vn 0.9941 -0.0667 -0.0860 +vn -0.9945 -0.0968 -0.0405 +vn -0.7747 -0.6264 -0.0870 +vn -0.8887 -0.4230 -0.1767 +vn 0.5105 0.3024 0.8049 +vn 0.3336 0.5327 0.7778 +vn 0.7543 0.1069 0.6477 +vn 0.0001 0.8288 0.5595 +vn -0.0001 0.8288 0.5595 +vn -0.0000 0.8185 0.5745 +vn 0.5145 0.4994 0.6971 +vn 0.8785 0.2783 0.3884 +vn 0.4948 0.5430 0.6785 +vn 0.8601 0.3187 0.3982 +vn 0.9905 0.0860 0.1075 +vn 0.9931 0.0683 0.0953 +vn -0.9905 0.0642 0.1219 +vn -0.8626 0.1679 0.4771 +vn -0.8601 0.2377 0.4514 +vn -0.4968 0.2880 0.8187 +vn -0.4948 0.4049 0.7689 +vn -0.1301 0.3290 0.9353 +vn -0.9881 0.0437 0.1477 +vn -0.9909 0.0446 0.1269 +vn -0.8441 0.1520 0.5141 +vn -0.4781 0.2490 0.8423 +vn -0.9904 0.0131 -0.1377 +vn -0.8741 -0.0026 -0.4858 +vn -0.8591 0.0485 -0.5095 +vn -0.5089 -0.0045 -0.8608 +vn -0.4931 0.0825 -0.8661 +vn -0.1295 0.0940 -0.9871 +vn -0.9926 -0.0006 -0.1217 +vn -0.8799 -0.1257 -0.4583 +vn -0.5163 -0.2265 -0.8259 +vn -0.9933 -0.0306 -0.1117 +vn -0.8869 -0.2832 -0.3649 +vn -0.5261 -0.5214 -0.6718 +vn -0.9941 -0.0667 -0.0860 +vn -0.5029 -0.7822 -0.3678 +vn -0.3318 -0.9223 -0.1983 +vn 0.3318 -0.9223 -0.1983 +vn 0.4610 -0.8818 -0.0993 +vn -0.3336 0.5327 0.7778 +vn -0.5105 0.3024 0.8049 +vn -0.0986 0.3350 0.9370 +vn -0.9938 0.0274 0.1074 +vn -0.8785 0.2782 0.3884 +vn -0.5145 0.4994 0.6971 +vn -0.9905 0.0860 0.1075 +vn -0.9931 0.0682 0.0953 +vn -0.8601 0.3187 0.3982 +vn -0.4948 0.5430 0.6785 +vn 0.7184 0.6547 -0.2351 +vn 0.7258 0.6612 -0.1896 +vn 0.7397 0.6729 0.0012 +vn -0.7258 0.6612 -0.1896 +vn -0.7184 0.6547 -0.2351 +vn -0.7397 0.6729 0.0012 +vn 0.7127 0.3923 -0.5816 +vn 0.7116 0.2849 -0.6423 +vn 0.7115 0.2849 -0.6424 +vn 0.7070 0.5751 -0.4116 +vn 0.7123 0.4004 -0.5764 +vn 0.7070 0.5751 -0.4115 +vn -0.7124 0.4004 -0.5764 +vn -0.7070 0.5751 -0.4116 +vn -0.7127 0.3923 -0.5816 +vn -0.7070 0.5751 -0.4115 +vn -0.5760 -0.6122 -0.5417 +vn -0.5677 -0.6176 -0.5443 +vn -0.5896 -0.6030 -0.5373 +vn -0.7116 0.2849 -0.6423 +vn -0.7115 0.2849 -0.6424 +vn 0.5759 -0.6122 -0.5417 +vn 0.5677 -0.6176 -0.5443 +vn 0.5579 -0.6239 -0.5472 +vn -0.0000 0.4061 -0.9138 +vn 0.9813 -0.1926 -0.0011 +vn 0.7425 -0.0035 0.6698 +vn -0.7426 -0.0033 0.6697 +vn -0.9813 -0.1925 -0.0011 +vn -0.0002 0.8185 0.5746 +vn 0.0002 0.8185 0.5746 +vn -0.4610 -0.8818 -0.0993 +vn -0.5579 -0.6239 -0.5472 +vn 0.5896 -0.6030 -0.5373 +vn -0.0000 0.2108 0.9775 +vn -0.0000 0.4723 0.8814 +vn -0.0000 0.6194 0.7851 +vn -0.0000 0.6663 0.7457 +vn -0.7406 -0.3560 0.5699 +vn -0.0000 0.4372 0.8994 +vn -0.0000 0.3563 0.9344 +vn -0.0000 0.0622 -0.9981 +vn -0.0000 -0.3276 -0.9448 +vn -0.0000 0.3403 0.9403 +vn -0.0000 -0.5438 -0.8392 +vn -0.0000 -0.9411 0.3382 +vn -0.0000 -0.3867 0.9222 +vn -0.0000 -0.4862 0.8739 +vn -0.0000 -0.5780 -0.8160 +vn -0.0000 0.9933 -0.1158 +vn -0.0000 0.9943 -0.1065 +vn -0.0000 0.9998 0.0187 +vn -0.0000 0.5230 0.8523 +vn -0.0000 0.9338 0.3578 +vn -0.0000 0.8877 0.4603 +vn -0.0000 0.0182 0.9998 +vn 0.7359 0.3588 -0.5743 +vn -0.0000 -0.7290 0.6845 +vn -0.0000 -0.9616 0.2745 +vn -0.0000 -0.4386 -0.8987 +vn -0.0000 -0.3274 -0.9449 +vn -0.0000 -0.9962 -0.0866 +vn -0.0000 -0.9120 -0.4103 +vn -0.0000 -0.6722 -0.7404 +vn -0.0000 -0.9995 -0.0317 +vn 0.7080 0.3088 0.6351 +vn 0.7072 0.3698 0.6026 +vn -0.7080 0.3088 0.6351 +vn -0.7072 0.3698 0.6026 +vn 0.7072 0.2520 0.6606 +vn 0.7071 0.2406 0.6649 +vn 0.7072 0.2519 0.6607 +vn -0.7071 0.2406 0.6649 +vn -0.7072 0.2520 0.6606 +vn -0.7071 0.2519 0.6607 +vn 0.7084 0.3334 0.6221 +vn 0.7138 0.1476 0.6846 +vn -0.7084 0.3333 0.6221 +vn -0.7138 0.1476 0.6846 +vn 0.7071 0.0129 0.7070 +vn -0.7071 0.0129 0.7070 +vn -0.0000 0.9524 0.3048 +vn -0.0000 -0.2132 0.9770 +vn -0.0000 -0.6337 0.7736 +vn -0.0000 0.9308 0.3656 +vn -0.0000 0.9982 0.0595 +vn -0.0000 0.6570 0.7539 +vn -0.0000 0.2580 0.9661 +vn -0.0000 0.7484 -0.6633 +vn -0.0000 0.9693 -0.2458 +vn 0.9853 0.1709 -0.0000 +vn 0.9664 0.2570 0.0001 +vn -0.0000 -0.9442 -0.3293 +vn -0.0000 -0.9989 -0.0474 +vn -0.0000 0.4264 -0.9045 +vn -0.0000 -0.7977 0.6030 +vn 0.9757 -0.2189 -0.0000 +vn 0.9625 -0.2713 0.0001 +vn -0.9751 -0.2217 -0.0000 +vn -0.9616 -0.2746 0.0001 +vn -0.9752 -0.2212 0.0001 +vn 0.9664 0.2571 0.0001 +vn -0.9855 0.1695 -0.0000 +vn 0.9663 0.2574 -0.0000 +vn 0.9679 -0.2515 -0.0000 +vn 0.9758 -0.2185 0.0001 +vn 0.9776 0.2106 -0.0000 +vn -0.9670 0.2549 0.0001 +vn -0.9670 0.2548 0.0001 +vn -0.9673 -0.2536 -0.0000 +vn -0.9669 0.2552 -0.0000 +vn -0.9781 0.2081 -0.0000 +vn 0.5733 0.2131 0.7912 +vn 0.5789 -0.1967 0.7913 +vn 0.5756 0.1979 0.7934 +vn 0.5053 0.4828 0.7152 +vn 0.5758 -0.2183 0.7879 +vn 0.5109 -0.4883 0.7075 +vn -0.5122 -0.4895 0.7058 +vn -0.5766 -0.2205 0.7867 +vn -0.5804 -0.1975 0.7900 +vn -0.5771 0.1993 0.7920 +vn -0.5746 0.2114 0.7907 +vn -0.5052 0.4828 0.7153 +vn -0.0000 -0.6762 -0.7367 +vn -0.0000 0.6889 0.7248 +vn -0.0000 0.8100 0.5864 +vn -0.0000 0.9122 0.4097 +vn -0.0000 0.9403 0.3402 +vn -0.0000 0.7526 0.6584 +vn 0.7406 -0.3560 0.5699 +vn -0.6681 -0.3942 0.6310 +vn -0.6744 0.3912 -0.6262 +vn 0.6744 0.3912 -0.6262 +vn -0.7359 0.3588 -0.5743 +vn 0.6681 -0.3942 0.6310 vt 0.073656 0.779539 vt 0.081399 0.796810 vt 0.073656 0.796810 @@ -623,62 +819,6 @@ vt 0.071362 0.806398 vt 0.054091 0.806398 vt 0.019547 0.806398 vt 0.002275 0.806398 -vt 0.023130 0.630533 -vt 0.028439 0.641072 -vt 0.015114 0.640800 -vt 0.023687 0.621763 -vt 0.026907 0.616152 -vt 0.016156 0.618688 -vt 0.051880 0.644663 -vt 0.062490 0.660213 -vt 0.051880 0.660213 -vt 0.051880 0.632862 -vt 0.062490 0.644663 -vt 0.051880 0.623995 -vt 0.062490 0.632862 -vt 0.051880 0.617526 -vt 0.062490 0.623995 -vt 0.051880 0.603802 -vt 0.062490 0.617526 -vt 0.062519 0.663431 -vt 0.073130 0.667411 -vt 0.062519 0.667411 -vt 0.062519 0.649287 -vt 0.073130 0.663431 -vt 0.062519 0.638981 -vt 0.073130 0.649287 -vt 0.062519 0.623707 -vt 0.073130 0.638981 -vt 0.062519 0.616642 -vt 0.073130 0.623707 -vt 0.062519 0.603802 -vt 0.073130 0.616642 -vt 0.051880 0.682243 -vt 0.062490 0.700264 -vt 0.051880 0.700264 -vt 0.062490 0.682243 -vt 0.038162 0.653207 -vt 0.016938 0.659116 -vt 0.003769 0.646815 -vt 0.014364 0.633776 -vt 0.016213 0.618613 -vt 0.023743 0.621688 -vt 0.022455 0.610413 -vt 0.026964 0.616078 -vt 0.035571 0.605121 -vt 0.038162 0.608143 -vt 0.003713 0.646890 -vt 0.016882 0.659191 -vt 0.015057 0.640875 -vt 0.038105 0.653282 -vt 0.028383 0.641147 -vt 0.014307 0.633851 -vt 0.023073 0.630608 -vt 0.022398 0.610487 -vt 0.038105 0.608218 -vt 0.035515 0.605196 -vt 0.062490 0.603802 -vt 0.073130 0.603802 vt 0.050815 0.964187 vt 0.022923 0.957640 vt 0.023387 0.882167 @@ -1019,11 +1159,10 @@ vt 0.297467 0.534291 vt 0.274155 0.499064 vt 0.297243 0.498318 vt 0.227832 0.136510 -vt 0.174947 0.178032 -vt 0.174947 0.134818 -vt 0.150989 0.134818 -vt 0.123971 0.178032 -vt 0.123971 0.134818 +vt 0.174947 0.167228 +vt 0.174947 0.145622 +vt 0.069017 0.781576 +vt 0.102885 0.781576 vt 0.200788 0.500764 vt 0.132092 0.532286 vt 0.132160 0.500166 @@ -1057,8 +1196,12 @@ vt 0.288579 0.134818 vt 0.227832 0.179723 vt 0.255763 0.532612 vt 0.255630 0.500001 +vt 0.102246 0.178032 +vt 0.123971 0.167228 +vt 0.123971 0.178032 vt 0.322696 0.499422 -vt 0.102246 0.134818 +vt 0.030823 0.812121 +vt 0.000112 0.812121 vt 0.057683 0.266401 vt 0.014470 0.266401 vt 0.057683 0.248783 @@ -1090,7 +1233,6 @@ vt 0.323509 0.532260 vt 0.326077 0.540048 vt 0.274083 0.533455 vt 0.200769 0.532142 -vt 0.102246 0.178032 vt 0.072626 0.178537 vt 0.066927 0.173242 vt 0.014470 0.248783 @@ -1191,7 +1333,10 @@ vt 0.255877 0.406248 vt 0.244051 0.481199 vt 0.226791 0.437985 vt 0.244051 0.437985 -vt 0.150989 0.178032 +vt 0.174947 0.178032 +vt 0.150989 0.145622 +vt 0.123971 0.145622 +vt 0.123971 0.134818 vt 0.194395 0.128706 vt 0.194395 0.018352 vt 0.237608 0.018352 @@ -1208,11 +1353,19 @@ vt 0.241962 0.102774 vt 0.190042 0.102906 vt 0.190042 0.093797 vt 0.395586 0.178032 +vt 0.016266 0.704221 +vt 0.078614 0.704221 +vt 0.078614 0.766911 +vt 0.150989 0.167228 +vt 0.150989 0.178032 vt 0.014470 0.149002 vt 0.054613 0.579282 vt 0.022097 0.579589 vt 0.066620 0.140727 vt 0.072218 0.135325 +vt 0.102246 0.134818 +vt 0.102246 0.145622 +vt 0.102246 0.167228 vt 0.356499 0.246980 vt 0.443465 0.099671 vt 0.433400 0.210690 @@ -1319,1151 +1472,2671 @@ vt 0.252028 0.028822 vt 0.309512 0.028954 vt 0.309512 0.040967 vt 0.419487 0.090821 -vn 0.0000 1.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 0.0000 1.0000 -vn 1.0000 -0.0000 0.0000 -vn 0.0000 0.7071 -0.7071 -vn -1.0000 -0.0000 0.0000 -vn 0.0000 0.7071 0.7071 -vn -0.6475 0.7620 0.0000 -vn 0.6475 0.7620 0.0000 -vn 0.0000 -0.4751 -0.8800 -vn 0.0000 -0.5642 -0.8256 -vn 0.0000 -0.1223 -0.9925 -vn 0.0000 0.3628 -0.9319 -vn 0.0000 0.7269 -0.6868 -vn 0.0000 0.8575 -0.5145 -vn 0.0000 -0.5913 -0.8064 -vn 0.0000 -0.8388 0.5445 -vn 0.0000 -0.9531 0.3026 -vn 0.0000 -0.4458 0.8952 -vn 0.0000 -0.0834 0.9965 -vn 0.0000 0.0303 0.9995 -vn 0.0000 -0.9165 0.3999 -vn 0.0000 0.6768 0.7362 -vn 0.0000 0.9810 -0.1943 -vn 0.0000 -0.5914 -0.8064 -vn 0.0000 0.9761 0.2173 -vn 0.0000 0.9056 0.4242 -vn 0.0000 0.2225 -0.9749 -vn -0.0420 0.7668 -0.6405 -vn 0.0382 0.7683 -0.6390 -vn 0.0000 -1.0000 0.0061 -vn 0.0199 0.9997 0.0174 -vn 0.0205 0.9890 0.1463 -vn -0.0199 0.9997 0.0174 -vn -0.0000 0.9809 0.1946 -vn 0.0000 0.9155 -0.4023 -vn -0.0000 0.4940 -0.8694 -vn -0.0186 0.7451 -0.6667 -vn 0.0187 0.7735 -0.6336 -vn -0.0206 0.9890 0.1463 -vn -0.9292 -0.3696 -0.0000 -vn -0.9658 -0.2592 -0.0000 -vn -0.9821 -0.1882 0.0000 -vn 0.0000 -0.7788 -0.6273 -vn 0.0000 -0.6466 -0.7629 -vn 0.9658 -0.2592 -0.0000 -vn 0.9292 -0.3696 -0.0000 -vn 0.9821 -0.1882 0.0000 -vn 0.9538 -0.3003 -0.0000 -vn 0.9151 -0.4033 -0.0000 -vn 0.0000 -0.4649 -0.8854 -vn -0.9538 -0.3003 -0.0000 -vn -0.9151 -0.4033 -0.0000 -vn 0.0797 -0.9968 -0.0000 -vn -0.0777 -0.9970 -0.0000 -vn -0.0797 -0.9968 -0.0000 -vn 0.0000 -0.4649 -0.8853 -vn -0.4332 -0.9013 -0.0000 -vn -0.4666 -0.8845 -0.0000 -vn 0.4332 -0.9013 -0.0000 -vn 0.0777 -0.9970 -0.0000 -vn 0.4666 -0.8845 -0.0000 -vn 0.8660 -0.5000 -0.0000 -vn 0.8801 0.4747 0.0000 -vn -0.5493 0.8356 0.0000 -vn -0.8801 0.4747 0.0000 -vn -0.8660 -0.5000 -0.0000 -vn 0.5493 0.8356 0.0000 -vn -0.8660 0.5000 0.0000 -vn 0.8660 0.5000 0.0000 -vn 0.1301 0.6195 0.7741 -vn -0.1301 0.4620 0.8773 -vn 0.1301 0.4620 0.8773 -vn -0.0000 0.5645 -0.8254 -vn -0.0000 0.8133 -0.5819 -vn 0.1295 0.0940 -0.9871 -vn -0.1323 -0.0052 -0.9912 -vn 0.1322 -0.0052 -0.9912 -vn -0.1340 -0.2621 -0.9557 -vn 0.1340 -0.2621 -0.9557 -vn -0.1365 -0.6074 -0.7826 -vn 0.1365 -0.6074 -0.7826 -vn -0.1352 -0.8771 -0.4608 -vn 0.1352 -0.8771 -0.4608 -vn -0.0808 -0.9622 -0.2603 -vn 0.0808 -0.9622 -0.2603 -vn 0.7746 -0.6264 -0.0870 -vn 0.9945 -0.0968 -0.0405 -vn 0.8887 -0.4230 -0.1767 -vn -0.0000 -0.5480 -0.8365 -vn -0.0000 0.8992 -0.4375 -vn 0.8698 0.1565 0.4679 -vn 0.9938 0.0274 0.1074 -vn 0.9228 0.0804 0.3768 -vn 0.0986 0.3350 0.9370 -vn -0.1326 0.3486 0.9278 -vn 0.1326 0.3486 0.9278 -vn -0.1335 0.5772 0.8056 -vn 0.1335 0.5772 0.8056 -vn -0.1301 0.6195 0.7741 -vn -0.9228 0.0804 0.3768 -vn -0.8698 0.1565 0.4679 -vn -0.7544 0.1070 0.6477 -vn 0.1301 0.3290 0.9353 -vn -0.1273 0.2812 0.9512 -vn 0.1273 0.2812 0.9512 -vn 0.4948 0.4049 0.7689 -vn 0.4968 0.2880 0.8187 -vn 0.8601 0.2377 0.4514 -vn 0.8626 0.1679 0.4771 -vn 0.9905 0.0642 0.1218 -vn 0.4781 0.2490 0.8423 -vn 0.8441 0.1520 0.5141 -vn 0.9881 0.0437 0.1477 -vn 0.9909 0.0446 0.1269 -vn 0.4931 0.0825 -0.8661 -vn 0.5089 -0.0045 -0.8608 -vn 0.8591 0.0485 -0.5095 -vn 0.8741 -0.0026 -0.4858 -vn 0.9904 0.0131 -0.1377 -vn 0.5163 -0.2265 -0.8259 -vn 0.8799 -0.1257 -0.4583 -vn 0.9926 -0.0006 -0.1217 -vn 0.5261 -0.5214 -0.6718 -vn 0.8869 -0.2832 -0.3649 -vn 0.9933 -0.0306 -0.1117 -vn 0.5029 -0.7822 -0.3678 -vn 0.9941 -0.0667 -0.0860 -vn -0.9945 -0.0968 -0.0405 -vn -0.7747 -0.6264 -0.0870 -vn -0.8887 -0.4230 -0.1767 -vn 0.5105 0.3024 0.8049 -vn 0.3336 0.5327 0.7778 -vn 0.7543 0.1069 0.6477 -vn 0.0001 0.8288 0.5595 -vn -0.0001 0.8288 0.5595 -vn -0.0000 0.8185 0.5745 -vn 0.5145 0.4994 0.6971 -vn 0.8785 0.2783 0.3884 -vn 0.4948 0.5430 0.6785 -vn 0.8601 0.3187 0.3982 -vn 0.9905 0.0860 0.1075 -vn 0.9931 0.0683 0.0953 -vn -0.9905 0.0642 0.1219 -vn -0.8626 0.1679 0.4771 -vn -0.8601 0.2377 0.4514 -vn -0.4968 0.2880 0.8187 -vn -0.4948 0.4049 0.7689 -vn -0.1301 0.3290 0.9353 -vn -0.9881 0.0437 0.1477 -vn -0.9909 0.0446 0.1269 -vn -0.8441 0.1520 0.5141 -vn -0.4781 0.2490 0.8423 -vn -0.9904 0.0131 -0.1377 -vn -0.8741 -0.0026 -0.4858 -vn -0.8591 0.0485 -0.5095 -vn -0.5089 -0.0045 -0.8608 -vn -0.4931 0.0825 -0.8661 -vn -0.1295 0.0940 -0.9871 -vn -0.9926 -0.0006 -0.1217 -vn -0.8799 -0.1257 -0.4583 -vn -0.5163 -0.2265 -0.8259 -vn -0.9933 -0.0306 -0.1117 -vn -0.8869 -0.2832 -0.3649 -vn -0.5261 -0.5214 -0.6718 -vn -0.9941 -0.0667 -0.0860 -vn -0.5029 -0.7822 -0.3678 -vn -0.3318 -0.9223 -0.1983 -vn 0.3318 -0.9223 -0.1983 -vn 0.4610 -0.8818 -0.0993 -vn -0.3336 0.5327 0.7778 -vn -0.5105 0.3024 0.8049 -vn -0.0986 0.3350 0.9370 -vn -0.9938 0.0274 0.1074 -vn -0.8785 0.2782 0.3884 -vn -0.5145 0.4994 0.6971 -vn -0.9905 0.0860 0.1075 -vn -0.9931 0.0682 0.0953 -vn -0.8601 0.3187 0.3982 -vn -0.4948 0.5430 0.6785 -vn 0.7184 0.6547 -0.2351 -vn 0.7258 0.6612 -0.1896 -vn 0.7397 0.6729 0.0012 -vn -0.7258 0.6612 -0.1896 -vn -0.7184 0.6547 -0.2351 -vn -0.7397 0.6729 0.0012 -vn 0.7127 0.3923 -0.5816 -vn 0.7116 0.2849 -0.6423 -vn 0.7115 0.2849 -0.6424 -vn 0.7070 0.5751 -0.4116 -vn 0.7123 0.4004 -0.5764 -vn 0.7070 0.5751 -0.4115 -vn -0.7124 0.4004 -0.5764 -vn -0.7070 0.5751 -0.4116 -vn -0.7127 0.3923 -0.5816 -vn -0.7070 0.5751 -0.4115 -vn -0.5760 -0.6122 -0.5417 -vn -0.5677 -0.6176 -0.5443 -vn -0.5896 -0.6030 -0.5373 -vn -0.7116 0.2849 -0.6423 -vn -0.7115 0.2849 -0.6424 -vn 0.5759 -0.6122 -0.5417 -vn 0.5677 -0.6176 -0.5443 -vn 0.5579 -0.6239 -0.5472 -vn 0.0000 0.4061 -0.9138 -vn 0.9813 -0.1926 -0.0011 -vn 0.7426 -0.0035 0.6698 -vn -0.7427 -0.0034 0.6697 -vn -0.9813 -0.1925 -0.0011 -vn 0.0001 0.8185 0.5745 -vn 0.0003 0.8185 0.5746 -vn -0.4610 -0.8818 -0.0993 -vn -0.5579 -0.6239 -0.5472 -vn 0.5896 -0.6030 -0.5373 -vn 0.0000 0.2108 0.9775 -vn 0.0000 0.4723 0.8814 -vn 0.0000 0.6194 0.7851 -vn 0.0000 0.6889 0.7248 -vn 0.0000 0.8100 0.5864 -vn 0.0000 0.8877 0.4603 -vn 0.0000 0.4372 0.8994 -vn 0.0000 0.3563 0.9344 -vn 0.0000 0.0622 -0.9981 -vn 0.0000 -0.3276 -0.9448 -vn 0.0000 0.3403 0.9403 -vn 0.0000 -0.5438 -0.8392 -vn 0.0000 -0.9411 0.3382 -vn 0.0000 -0.3867 0.9222 -vn 0.0000 -0.4862 0.8739 -vn 0.0000 -0.5780 -0.8160 -vn 0.0000 0.9933 -0.1158 -vn 0.0000 0.9943 -0.1065 -vn 0.0000 0.9998 0.0187 -vn 0.0000 0.5230 0.8523 -vn 0.0000 0.0182 0.9998 -vn 0.0000 0.9338 0.3578 -vn 0.0000 -0.7290 0.6845 -vn 0.0000 -0.9616 0.2745 -vn 0.0000 -0.4386 -0.8987 -vn 0.0000 -0.3274 -0.9449 -vn 0.0000 -0.9962 -0.0866 -vn 0.0000 -0.9120 -0.4103 -vn 0.0000 -0.6722 -0.7404 -vn 0.0000 -0.9995 -0.0317 -vn 0.7080 0.3088 0.6351 -vn 0.7072 0.3698 0.6026 -vn -0.7080 0.3088 0.6351 -vn -0.7072 0.3698 0.6026 -vn 0.7072 0.2520 0.6606 -vn 0.7071 0.2406 0.6649 -vn 0.7072 0.2519 0.6607 -vn -0.7071 0.2406 0.6649 -vn -0.7072 0.2520 0.6606 -vn -0.7072 0.2519 0.6607 -vn 0.7084 0.3334 0.6221 -vn 0.7138 0.1476 0.6846 -vn -0.7084 0.3333 0.6221 -vn -0.7138 0.1476 0.6846 -vn 0.7071 0.0129 0.7070 -vn -0.7071 0.0129 0.7070 -vn -0.0000 0.9524 0.3048 -vn 0.0000 -0.2132 0.9770 -vn 0.0000 -0.6337 0.7736 -vn 0.0000 0.9308 0.3656 -vn 0.0000 0.9982 0.0595 -vn 0.0000 0.6570 0.7539 -vn 0.0000 0.2580 0.9661 -vn 0.0000 0.7484 -0.6633 -vn 0.0000 0.9693 -0.2458 -vn 0.9853 0.1709 0.0000 -vn 0.9664 0.2570 0.0001 -vn 0.0000 -0.9442 -0.3293 -vn 0.0000 -0.9989 -0.0474 -vn 0.0000 0.4264 -0.9045 -vn 0.0000 -0.7977 0.6030 -vn 0.9757 -0.2189 0.0000 -vn 0.9625 -0.2713 0.0001 -vn -0.9751 -0.2217 0.0000 -vn -0.9616 -0.2746 0.0001 -vn -0.9752 -0.2212 0.0001 -vn 0.9664 0.2571 0.0001 -vn -0.9855 0.1695 0.0000 -vn 0.9663 0.2574 0.0000 -vn 0.9679 -0.2515 0.0000 -vn 0.9758 -0.2185 0.0001 -vn 0.9776 0.2106 0.0000 -vn -0.9670 0.2549 0.0001 -vn -0.9670 0.2548 0.0001 -vn -0.9673 -0.2536 0.0000 -vn -0.9669 0.2552 0.0000 -vn -0.9781 0.2081 0.0000 -vn 0.5733 0.2131 0.7912 -vn 0.5789 -0.1967 0.7913 -vn 0.5756 0.1979 0.7934 -vn 0.5053 0.4828 0.7152 -vn 0.5758 -0.2183 0.7879 -vn 0.5109 -0.4883 0.7075 -vn -0.5122 -0.4895 0.7058 -vn -0.5766 -0.2205 0.7867 -vn -0.5804 -0.1975 0.7900 -vn -0.5771 0.1993 0.7920 -vn -0.5746 0.2114 0.7907 -vn -0.5052 0.4828 0.7153 -vn 0.0000 -0.6762 -0.7367 +vt 0.174947 0.134818 +vt 0.016266 0.844874 +vt 0.078614 0.844874 +vt 0.078614 0.914007 +vt 0.016266 0.766911 +vt 0.069017 0.812121 +vt 0.102885 0.812121 +vt 0.016266 0.914007 +vt 0.150989 0.134818 +vt 0.030823 0.781576 +vt 0.000112 0.781576 s 1 -f 33/71/23 34/72/23 35/73/23 -f 36/74/24 37/75/25 38/76/24 -f 39/77/25 40/78/26 37/79/25 -f 41/80/27 39/81/27 42/82/27 -f 42/83/28 38/76/24 43/84/28 -f 44/85/29 45/86/29 43/87/29 -f 37/88/29 44/85/29 43/87/29 -f 45/89/23 46/90/23 47/91/23 -f 42/82/27 34/92/27 41/80/27 -f 48/93/26 44/94/30 40/78/26 -f 44/95/26 41/96/26 49/97/26 -f 50/98/31 51/99/31 33/71/31 -f 47/91/32 49/100/32 50/98/32 -f 42/101/24 43/102/24 50/103/24 -f 33/71/23 51/99/23 34/72/23 -f 36/74/24 39/104/25 37/75/25 -f 39/77/25 48/93/26 40/78/26 -f 48/105/27 39/81/27 41/80/27 -f 39/81/27 36/106/27 42/82/27 -f 42/83/28 36/74/24 38/76/24 -f 44/85/29 52/107/29 45/86/29 -f 43/87/29 38/108/29 37/88/29 -f 37/88/29 40/109/29 44/85/29 -f 45/89/23 52/110/23 46/90/23 -f 42/82/27 35/111/27 34/92/27 -f 48/93/26 41/112/30 44/94/30 -f 41/96/26 34/113/26 51/114/26 -f 49/97/26 46/115/26 44/95/26 -f 46/115/26 52/116/26 44/95/26 -f 41/96/26 51/114/26 49/97/26 -f 50/98/31 49/100/31 51/99/31 -f 47/91/32 46/90/32 49/100/32 -f 43/102/24 45/117/24 47/118/24 -f 50/103/24 33/119/24 42/101/24 -f 33/119/24 35/120/24 42/101/24 -f 43/102/24 47/118/24 50/103/24 -f 53/121/27 54/122/27 55/123/27 -f 56/124/29 57/125/29 58/126/29 -f 54/127/33 59/128/34 60/129/34 -f 53/130/35 61/131/33 54/127/33 -f 62/132/36 63/133/35 53/130/35 -f 64/134/37 56/135/36 62/132/36 -f 65/136/38 57/137/37 64/134/37 -f 66/138/39 67/139/39 65/140/39 -f 68/141/40 69/142/41 66/138/41 -f 70/143/42 71/144/40 68/141/40 -f 72/145/43 58/146/42 70/143/42 -f 55/147/44 73/148/43 72/145/43 -f 74/149/45 75/150/45 55/147/45 -f 76/151/46 77/152/46 74/153/46 -f 60/129/47 78/154/47 76/151/47 -f 60/155/27 76/156/27 54/122/27 -f 76/156/27 74/157/27 55/123/27 -f 55/123/27 72/158/27 53/121/27 -f 72/158/27 70/159/27 53/121/27 -f 53/121/27 70/159/27 62/160/27 -f 76/156/27 55/123/27 54/122/27 -f 70/159/27 68/161/27 64/162/27 -f 62/160/27 70/159/27 64/162/27 -f 68/161/27 66/163/27 64/162/27 -f 66/163/27 65/164/27 64/162/27 -f 77/165/29 78/166/29 75/167/29 -f 78/166/29 59/168/29 61/169/29 -f 78/166/29 61/169/29 75/167/29 -f 58/126/29 73/170/29 63/171/29 -f 73/170/29 75/167/29 63/171/29 -f 75/167/29 61/169/29 63/171/29 -f 71/172/29 58/126/29 57/125/29 -f 67/173/29 69/174/29 57/125/29 -f 69/174/29 71/172/29 57/125/29 -f 58/126/29 63/171/29 56/124/29 -f 54/127/33 61/131/33 59/128/34 -f 53/130/35 63/133/35 61/131/33 -f 62/132/36 56/135/36 63/133/35 -f 64/134/37 57/137/37 56/135/36 -f 65/136/38 67/175/38 57/137/37 -f 66/138/39 69/142/48 67/139/39 -f 68/141/40 71/144/40 69/142/41 -f 70/143/42 58/146/42 71/144/40 -f 72/145/43 73/148/43 58/146/42 -f 55/147/44 75/150/44 73/148/43 -f 74/149/45 77/176/45 75/150/45 -f 76/151/46 78/154/46 77/152/46 -f 60/129/47 59/128/47 78/154/47 -f 79/177/27 80/178/27 81/179/27 -f 82/180/27 83/181/27 84/182/27 -f 85/183/29 86/184/29 87/185/29 -f 88/186/29 89/187/29 90/188/29 -f 91/189/49 87/190/50 92/191/50 -f 79/192/51 93/193/52 80/194/53 -f 92/195/54 86/196/54 79/192/54 -f 81/197/55 94/198/49 91/189/49 -f 83/199/56 85/200/57 81/197/55 -f 82/201/58 95/202/59 90/203/58 -f 96/204/60 95/202/59 97/205/59 -f 96/204/60 88/206/61 98/207/60 -f 83/199/56 80/208/53 84/209/62 -f 89/210/63 93/211/52 85/200/57 -f 89/212/63 82/201/58 90/203/58 -f 84/209/62 93/211/52 88/213/61 -f 81/179/27 91/214/27 92/215/27 -f 92/215/27 79/177/27 81/179/27 -f 84/182/27 96/216/27 82/180/27 -f 96/216/27 97/217/27 82/180/27 -f 87/185/29 94/218/29 85/183/29 -f 85/183/29 93/219/29 86/184/29 -f 95/220/29 98/221/29 90/188/29 -f 98/221/29 88/186/29 90/188/29 -f 91/189/49 94/198/49 87/190/50 -f 79/192/51 86/196/51 93/193/52 -f 92/195/54 87/222/54 86/196/54 -f 81/197/55 85/200/57 94/198/49 -f 83/199/56 89/210/63 85/200/57 -f 82/201/58 97/205/59 95/202/59 -f 96/204/60 98/207/60 95/202/59 -f 96/204/60 84/223/62 88/206/61 -f 83/199/56 81/197/55 80/208/53 -f 89/210/63 88/213/61 93/211/52 -f 89/212/63 83/224/56 82/201/58 -f 84/209/62 80/208/53 93/211/52 -f 99/225/64 100/226/65 101/227/66 -f 102/228/67 103/229/68 100/230/68 -f 103/231/69 104/232/70 105/233/71 -f 104/234/26 101/235/26 105/236/26 -f 106/237/26 107/238/26 108/239/26 -f 102/240/23 104/232/23 109/241/23 -f 105/236/26 106/237/26 110/242/26 -f 111/243/72 105/233/71 110/244/73 -f 100/230/68 111/245/74 112/246/74 -f 101/227/66 112/247/75 106/248/76 -f 113/249/77 108/250/78 114/251/79 -f 111/245/74 115/252/80 113/253/74 -f 114/254/79 107/255/81 116/256/82 -f 116/256/82 106/248/76 112/247/75 -f 113/249/77 117/257/83 118/258/84 -f 115/259/85 110/244/73 117/257/83 -f 99/225/64 102/240/64 100/226/65 -f 102/228/67 109/260/67 103/229/68 -f 103/231/69 109/241/70 104/232/70 -f 104/234/26 99/261/26 101/235/26 -f 108/239/26 118/262/26 110/242/26 -f 118/262/26 117/263/26 110/242/26 -f 110/242/26 106/237/26 108/239/26 -f 102/240/23 99/225/23 104/232/23 -f 105/236/26 101/235/26 106/237/26 -f 111/243/72 103/231/69 105/233/71 -f 100/230/68 103/229/68 111/245/74 -f 101/227/66 100/226/65 112/247/75 -f 113/249/77 118/258/84 108/250/78 -f 113/253/74 114/264/74 112/246/74 -f 114/264/74 116/265/80 112/246/74 -f 112/246/74 111/245/74 113/253/74 -f 114/254/79 108/266/78 107/255/81 -f 116/256/82 107/255/81 106/248/76 -f 113/249/77 115/259/85 117/257/83 -f 115/259/85 111/243/72 110/244/73 -f 119/267/24 120/268/24 121/269/24 -f 122/270/25 123/271/86 124/272/25 -f 125/273/86 126/274/87 123/275/86 -f 127/276/88 128/277/89 129/278/88 -f 130/279/24 131/280/24 127/281/24 -f 132/282/89 133/283/90 128/277/89 -f 133/283/90 122/270/25 124/272/25 -f 134/284/87 135/285/91 126/274/87 -f 136/286/27 137/287/27 135/285/27 -f 129/288/26 128/289/26 133/290/26 -f 138/291/23 139/292/23 140/293/23 -f 129/278/29 140/293/29 127/276/29 -f 135/294/26 138/295/26 129/288/26 -f 127/281/24 139/296/24 136/297/24 -f 121/298/90 130/299/25 141/300/90 -f 142/301/92 141/300/90 143/302/92 -f 144/303/24 122/304/24 145/305/24 -f 144/306/23 142/301/92 143/302/92 -f 146/307/93 144/308/23 147/309/93 -f 119/310/86 147/309/93 131/311/86 -f 130/299/25 119/310/86 131/311/86 -f 121/269/24 142/312/24 119/267/24 -f 142/312/24 148/313/24 119/267/24 -f 148/313/24 146/314/24 119/267/24 -f 122/270/25 125/315/86 123/271/86 -f 125/273/86 134/284/87 126/274/87 -f 127/276/88 132/282/89 128/277/89 -f 134/316/24 125/317/24 143/318/24 -f 134/316/24 143/318/24 141/319/24 -f 127/281/24 136/297/24 130/279/24 -f 136/297/24 134/316/24 141/319/24 -f 130/279/24 136/297/24 141/319/24 -f 131/280/24 132/320/24 127/281/24 -f 132/282/89 145/321/90 133/283/90 -f 133/283/90 145/321/90 122/270/25 -f 134/284/87 136/286/91 135/285/91 -f 136/286/27 139/292/27 137/287/27 -f 133/290/26 124/322/26 129/288/26 -f 124/322/26 123/323/26 135/294/26 -f 123/323/26 126/324/26 135/294/26 -f 135/294/26 129/288/26 124/322/26 -f 138/291/23 137/287/23 139/292/23 -f 129/278/29 138/291/29 140/293/29 -f 135/294/26 137/325/26 138/295/26 -f 127/281/24 140/326/24 139/296/24 -f 121/298/90 120/327/25 130/299/25 -f 142/301/92 121/298/90 141/300/90 -f 145/305/24 132/320/24 147/328/24 -f 132/320/24 131/280/24 147/328/24 -f 143/318/24 125/317/24 144/303/24 -f 125/317/24 122/304/24 144/303/24 -f 145/305/24 147/328/24 144/303/24 -f 144/306/23 148/329/23 142/301/92 -f 146/307/93 148/330/23 144/308/23 -f 119/310/86 146/307/93 147/309/93 -f 130/299/25 120/327/25 119/310/86 -f 149/331/94 150/332/95 151/333/96 -f 152/334/97 153/335/98 154/336/98 -f 155/337/25 156/338/25 157/339/25 -f 158/340/99 159/341/100 160/342/101 -f 160/342/101 161/343/102 162/344/103 -f 162/344/103 163/345/104 164/346/105 -f 164/346/105 165/347/106 166/348/107 -f 166/348/107 167/349/108 168/350/109 -f 169/351/110 170/352/111 171/353/112 -f 172/354/113 173/355/113 174/356/113 -f 154/336/98 175/357/114 176/358/114 -f 177/359/115 178/360/116 179/361/117 -f 180/362/118 181/363/119 182/364/120 -f 182/364/120 183/365/121 184/366/122 -f 184/366/122 185/367/123 149/331/94 -f 186/368/124 187/369/125 188/370/126 -f 189/371/127 190/372/128 191/373/129 -f 189/371/127 192/374/130 151/333/96 -f 193/375/131 194/376/132 192/374/130 -f 195/377/133 196/378/134 194/376/132 -f 189/371/127 197/379/135 193/375/131 -f 193/375/131 198/380/136 195/377/133 -f 195/377/133 199/381/137 200/382/138 -f 160/342/101 201/383/139 158/340/99 -f 202/384/140 203/385/141 201/383/139 -f 204/386/142 205/387/143 203/385/141 -f 162/344/103 202/384/140 160/342/101 -f 206/388/144 204/386/142 202/384/140 -f 207/389/145 208/390/146 204/386/142 -f 164/346/105 206/388/144 162/344/103 -f 209/391/147 207/389/145 206/388/144 -f 210/392/148 211/393/149 207/389/145 -f 164/346/105 212/394/150 209/391/147 -f 209/391/147 171/353/112 210/392/148 -f 210/392/148 170/352/111 213/395/151 -f 168/350/109 212/394/150 166/348/107 -f 214/396/152 215/397/153 216/398/154 -f 205/399/143 208/400/146 200/401/138 -f 180/362/118 217/402/155 218/403/156 -f 218/403/156 177/359/115 219/404/157 -f 188/370/158 219/404/159 176/405/160 -f 184/366/122 217/402/155 182/364/120 -f 220/406/161 177/359/115 217/402/155 -f 221/407/162 178/360/116 177/359/115 -f 184/366/122 222/408/163 220/406/161 -f 220/406/161 223/409/164 221/407/162 -f 221/407/162 224/410/165 225/411/166 -f 149/331/94 192/374/130 222/408/163 -f 222/408/163 194/376/132 223/409/164 -f 223/409/164 196/378/134 224/410/165 -f 226/412/167 227/413/168 228/414/169 -f 228/414/169 229/415/170 230/416/171 -f 230/416/171 231/417/172 150/332/95 -f 232/418/173 227/413/168 233/419/174 -f 234/420/175 229/415/170 227/413/168 -f 235/421/176 231/417/172 229/415/170 -f 236/422/177 237/423/178 155/424/179 -f 155/424/179 238/425/180 156/426/181 -f 156/426/181 159/341/100 157/427/182 -f 239/428/183 240/429/184 237/423/178 -f 237/423/178 241/430/185 238/425/180 -f 238/425/180 161/343/102 159/341/100 -f 242/431/186 243/432/187 240/429/184 -f 240/429/184 244/433/188 241/430/185 -f 241/430/185 163/345/104 161/343/102 -f 214/396/152 243/432/187 245/434/189 -f 216/398/154 244/433/188 243/432/187 -f 246/435/190 163/345/104 244/433/188 -f 215/397/153 172/436/191 246/435/190 -f 246/435/190 167/349/108 165/347/106 -f 247/437/192 248/438/193 169/351/110 -f 187/369/125 249/439/194 188/370/126 -f 250/440/195 251/441/196 249/439/194 -f 252/442/197 253/443/198 187/369/125 -f 187/369/125 254/444/199 250/440/195 -f 250/440/195 183/365/121 181/363/119 -f 255/445/200 253/443/198 256/446/201 -f 257/447/202 254/444/199 253/443/198 -f 258/448/203 183/365/121 254/444/199 -f 226/412/167 257/447/202 255/445/200 -f 228/414/169 258/448/203 257/447/202 -f 230/416/171 185/367/123 258/448/203 -f 256/449/201 214/450/152 245/451/189 -f 188/370/158 218/403/156 219/404/159 -f 249/439/194 180/362/118 218/403/156 -f 151/333/96 231/417/172 189/371/127 -f 179/452/204 176/358/205 259/453/206 -f 175/357/207 186/454/208 260/455/209 -f 152/334/210 261/456/211 262/457/212 -f 154/336/213 263/458/214 152/334/210 -f 154/336/213 179/452/204 264/459/215 -f 265/460/216 153/335/217 266/461/218 -f 186/454/208 153/335/217 267/462/219 -f 174/356/220 215/463/221 268/464/222 -f 268/464/223 266/461/218 174/356/224 -f 262/457/225 169/465/226 248/466/227 -f 262/457/228 266/461/97 152/334/97 -f 149/331/94 185/367/123 150/332/95 -f 152/334/97 266/461/97 153/335/98 -f 157/339/25 158/467/25 205/468/25 -f 158/467/25 201/469/25 203/470/25 -f 205/468/25 158/467/25 203/470/25 -f 205/468/25 199/471/25 232/472/25 -f 199/471/25 198/473/25 191/474/25 -f 232/472/25 199/471/25 191/474/25 -f 198/473/25 197/475/25 191/474/25 -f 191/474/25 190/476/25 232/472/25 -f 190/476/25 235/477/25 234/478/25 -f 232/472/25 190/476/25 234/478/25 -f 232/472/25 236/479/25 205/468/25 -f 236/479/25 155/337/25 157/339/25 -f 205/468/25 236/479/25 157/339/25 -f 158/340/99 157/427/182 159/341/100 -f 160/342/101 159/341/100 161/343/102 -f 162/344/103 161/343/102 163/345/104 -f 164/346/105 163/345/104 165/347/106 -f 166/348/107 165/347/106 167/349/108 -f 169/351/110 261/480/229 170/352/111 -f 174/356/113 262/457/113 168/481/113 -f 262/457/113 248/466/113 247/482/113 -f 168/481/113 262/457/113 247/482/113 -f 168/481/113 167/483/113 174/356/113 -f 167/483/113 172/354/113 174/356/113 -f 154/336/98 153/335/98 175/357/114 -f 259/484/230 219/404/157 179/361/117 -f 219/404/157 177/359/115 179/361/117 -f 180/362/118 251/441/196 181/363/119 -f 182/364/120 181/363/119 183/365/121 -f 184/366/122 183/365/121 185/367/123 -f 188/370/126 260/485/231 186/368/124 -f 186/368/124 252/442/197 187/369/125 -f 189/371/127 231/417/172 190/372/128 -f 189/371/127 193/375/131 192/374/130 -f 193/375/131 195/377/133 194/376/132 -f 195/377/133 200/382/138 196/378/134 -f 189/371/127 191/373/129 197/379/135 -f 193/375/131 197/379/135 198/380/136 -f 195/377/133 198/380/136 199/381/137 -f 160/342/101 202/384/140 201/383/139 -f 202/384/140 204/386/142 203/385/141 -f 204/386/142 208/390/146 205/387/143 -f 162/344/103 206/388/144 202/384/140 -f 206/388/144 207/389/145 204/386/142 -f 207/389/145 211/393/149 208/390/146 -f 164/346/105 209/391/147 206/388/144 -f 209/391/147 210/392/148 207/389/145 -f 210/392/148 213/395/151 211/393/149 -f 164/346/105 166/348/107 212/394/150 -f 209/391/147 212/394/150 171/353/112 -f 210/392/148 171/353/112 170/352/111 -f 168/350/109 247/437/192 212/394/150 -f 214/396/152 268/486/232 215/397/153 -f 264/487/27 179/488/117 178/489/116 -f 225/490/166 224/491/165 213/492/151 -f 224/491/165 196/493/134 213/492/151 -f 213/492/151 196/493/134 211/494/149 -f 264/487/27 178/489/116 263/495/27 -f 178/489/116 225/490/166 170/496/111 -f 261/497/229 263/495/27 170/496/111 -f 170/496/111 263/495/27 178/489/116 -f 196/493/134 200/401/138 211/494/149 -f 213/492/151 170/496/111 225/490/166 -f 200/401/138 199/498/137 205/399/143 -f 211/494/149 200/401/138 208/400/146 -f 180/362/118 182/364/120 217/402/155 -f 218/403/156 217/402/155 177/359/115 -f 219/404/159 259/484/233 176/405/160 -f 176/405/160 175/499/160 188/370/158 -f 175/499/160 260/485/234 188/370/158 -f 184/366/122 220/406/161 217/402/155 -f 220/406/161 221/407/162 177/359/115 -f 221/407/162 225/411/166 178/360/116 -f 184/366/122 149/331/94 222/408/163 -f 220/406/161 222/408/163 223/409/164 -f 221/407/162 223/409/164 224/410/165 -f 149/331/94 151/333/96 192/374/130 -f 222/408/163 192/374/130 194/376/132 -f 223/409/164 194/376/132 196/378/134 -f 226/412/167 233/419/174 227/413/168 -f 228/414/169 227/413/168 229/415/170 -f 230/416/171 229/415/170 231/417/172 -f 232/418/173 234/420/175 227/413/168 -f 234/420/175 235/421/176 229/415/170 -f 235/421/176 190/372/128 231/417/172 -f 236/422/177 239/428/183 237/423/178 -f 155/424/179 237/423/178 238/425/180 -f 156/426/181 238/425/180 159/341/100 -f 239/428/183 242/431/186 240/429/184 -f 237/423/178 240/429/184 241/430/185 -f 238/425/180 241/430/185 161/343/102 -f 242/431/186 245/434/189 243/432/187 -f 240/429/184 243/432/187 244/433/188 -f 241/430/185 244/433/188 163/345/104 -f 214/396/152 216/398/154 243/432/187 -f 216/398/154 246/435/190 244/433/188 -f 246/435/190 165/347/106 163/345/104 -f 246/435/190 216/398/154 215/397/153 -f 215/397/153 173/500/235 172/436/191 -f 246/435/190 172/436/191 167/349/108 -f 171/353/112 212/394/150 169/351/110 -f 212/394/150 247/437/192 169/351/110 -f 187/369/125 250/440/195 249/439/194 -f 250/440/195 181/363/119 251/441/196 -f 252/442/197 256/446/201 253/443/198 -f 187/369/125 253/443/198 254/444/199 -f 250/440/195 254/444/199 183/365/121 -f 255/445/200 257/447/202 253/443/198 -f 257/447/202 258/448/203 254/444/199 -f 258/448/203 185/367/123 183/365/121 -f 226/412/167 228/414/169 257/447/202 -f 228/414/169 230/416/171 258/448/203 -f 230/416/171 150/332/95 185/367/123 -f 252/501/197 186/502/124 267/503/29 -f 267/503/29 265/504/29 252/501/197 -f 265/504/29 268/505/232 214/450/152 -f 265/504/29 214/450/152 252/501/197 -f 256/449/201 252/501/197 214/450/152 -f 226/506/167 255/507/200 245/451/189 -f 255/507/200 256/449/201 245/451/189 -f 232/508/173 233/509/174 236/510/177 -f 233/509/174 226/506/167 242/511/186 -f 239/512/183 236/510/177 233/509/174 -f 242/511/186 239/512/183 233/509/174 -f 245/451/189 242/511/186 226/506/167 -f 188/370/158 249/439/194 218/403/156 -f 249/439/194 251/441/196 180/362/118 -f 151/333/96 150/332/95 231/417/172 -f 152/334/210 263/458/214 261/456/211 -f 154/336/213 264/459/215 263/458/214 -f 154/336/213 176/358/205 179/452/204 -f 265/460/216 267/462/219 153/335/217 -f 186/454/208 175/357/207 153/335/217 -f 174/356/220 173/355/236 215/463/221 -f 268/464/223 265/460/216 266/461/218 -f 262/457/225 261/456/237 169/465/226 -f 262/457/228 174/356/228 266/461/97 -f 269/513/238 270/514/239 271/515/238 -f 272/516/240 273/517/241 274/518/241 -f 275/519/242 276/520/243 277/521/243 -f 278/522/244 279/523/245 280/524/245 -f 281/525/246 282/526/247 283/527/246 -f 280/524/245 284/528/248 285/529/248 -f 286/530/249 287/531/249 288/532/249 -f 288/532/250 289/533/250 290/534/250 -f 290/534/251 291/535/252 292/536/252 -f 293/537/25 294/538/25 295/539/25 -f 295/539/24 296/540/24 297/541/24 -f 297/542/253 298/543/253 299/544/253 -f 300/545/24 299/544/24 301/546/24 -f 302/547/23 303/548/254 304/549/254 -f 304/549/254 305/550/255 306/551/255 -f 306/551/255 307/552/256 272/516/256 -f 270/514/239 308/553/257 309/554/257 -f 273/517/241 275/519/242 274/518/241 -f 310/555/258 269/513/238 271/515/238 -f 276/520/243 311/556/259 277/521/243 -f 308/553/257 278/522/244 309/554/257 -f 291/535/252 312/557/260 292/536/252 -f 313/558/260 314/559/261 312/557/260 -f 315/560/262 316/561/263 293/537/263 -f 317/562/264 318/563/265 319/564/264 -f 320/565/265 321/566/266 318/563/265 -f 322/567/266 315/560/262 321/566/266 -f 323/568/267 324/569/267 325/570/267 -f 326/571/268 309/554/269 278/522/268 -f 327/572/270 308/553/271 328/573/271 -f 280/524/272 325/574/273 329/575/274 -f 323/576/275 279/523/276 330/577/277 -f 331/578/278 271/515/279 270/514/278 -f 332/579/280 269/513/281 333/580/281 -f 310/555/282 334/581/279 335/582/282 -f 270/514/278 336/583/269 331/578/278 -f 333/580/281 337/584/283 338/585/283 -f 328/573/271 339/586/280 332/579/280 -f 280/524/272 326/571/268 278/522/268 -f 327/572/270 279/523/276 340/587/270 -f 341/588/259 338/589/284 337/590/284 -f 342/591/261 319/564/264 314/559/261 -f 343/592/29 344/593/29 345/594/29 -f 346/595/285 347/596/286 348/597/286 -f 349/598/27 350/599/27 274/600/27 -f 351/601/287 352/602/288 353/603/287 -f 354/604/289 351/601/287 353/603/287 -f 355/605/290 356/606/289 354/604/289 -f 357/607/291 358/608/292 359/609/291 -f 358/608/292 352/602/288 360/610/288 -f 361/611/293 362/612/294 302/613/27 -f 356/614/29 363/615/29 322/616/29 -f 344/617/295 364/618/296 365/619/295 -f 366/620/297 359/609/291 367/621/297 -f 283/527/246 367/621/297 281/525/246 -f 363/622/290 368/623/285 346/624/285 -f 347/596/286 369/625/298 348/597/286 -f 370/626/26 371/627/26 372/628/26 -f 373/629/23 374/630/23 375/631/23 -f 376/632/24 350/633/24 377/634/24 -f 378/635/25 361/636/25 379/637/25 -f 321/638/27 355/639/27 354/640/27 -f 371/641/299 297/642/27 299/643/300 -f 296/644/29 370/645/301 298/646/302 -f 370/645/301 380/647/303 298/646/302 -f 361/611/293 381/648/304 362/612/294 -f 378/649/305 303/650/29 382/651/29 -f 383/652/306 384/653/307 381/648/304 -f 385/654/307 386/655/307 384/653/307 -f 387/656/308 371/641/299 299/643/300 -f 388/657/309 387/656/308 389/658/309 -f 300/659/309 388/657/309 389/658/309 -f 390/660/307 300/659/309 386/655/307 -f 391/661/310 378/649/305 392/662/311 -f 393/663/312 394/664/313 391/661/310 -f 395/665/312 396/666/312 393/663/312 -f 390/667/26 378/668/26 397/669/26 -f 398/670/314 395/665/312 301/671/314 -f 399/672/314 301/671/314 400/673/314 -f 380/647/303 399/672/314 400/673/314 -f 401/674/24 402/675/24 403/676/24 -f 402/675/24 377/634/24 403/676/24 -f 349/598/315 403/677/316 377/678/317 -f 350/599/318 349/598/315 377/678/317 -f 403/677/316 404/679/319 401/680/320 -f 343/592/321 405/681/322 402/682/323 -f 376/683/324 406/684/325 407/685/326 -f 402/682/323 406/684/325 376/683/324 -f 408/686/327 409/687/247 345/688/327 -f 345/688/327 365/619/295 408/686/327 -f 269/513/238 339/586/239 270/514/239 -f 272/516/240 307/552/240 273/517/241 -f 275/519/242 410/689/242 276/520/243 -f 278/522/244 340/587/244 279/523/245 -f 281/525/246 409/687/247 282/526/247 -f 280/524/245 279/523/245 284/528/248 -f 286/530/249 324/569/249 287/531/249 -f 288/532/250 287/531/250 289/533/250 -f 290/534/251 289/533/251 291/535/252 -f 293/537/25 316/561/25 294/538/25 -f 295/539/24 294/538/24 296/540/24 -f 297/542/253 296/690/253 298/543/253 -f 382/691/24 302/692/24 392/693/24 -f 302/692/24 362/694/24 392/693/24 -f 362/694/24 381/695/24 384/696/24 -f 362/694/24 384/696/24 386/697/24 -f 393/698/24 391/699/24 392/693/24 -f 395/700/24 393/698/24 392/693/24 -f 392/693/24 362/694/24 386/697/24 -f 300/545/24 389/701/24 299/544/24 -f 389/701/24 387/702/24 299/544/24 -f 392/693/24 386/697/24 395/700/24 -f 386/697/24 300/545/24 395/700/24 -f 301/546/24 395/700/24 300/545/24 -f 380/703/24 400/704/24 298/543/24 -f 400/704/24 301/546/24 298/543/24 -f 299/544/24 298/543/24 301/546/24 -f 302/547/23 382/705/23 303/548/254 -f 304/549/254 303/548/254 305/550/255 -f 306/551/255 305/550/255 307/552/256 -f 270/514/239 339/586/239 308/553/257 -f 273/517/241 410/689/242 275/519/242 -f 310/555/258 337/584/258 269/513/238 -f 276/520/243 341/588/259 311/556/259 -f 308/553/257 340/587/244 278/522/244 -f 291/535/252 313/558/260 312/557/260 -f 313/558/260 342/591/261 314/559/261 -f 315/560/262 411/706/262 316/561/263 -f 317/562/264 320/565/265 318/563/265 -f 320/565/265 322/567/266 321/566/266 -f 322/567/266 411/706/262 315/560/262 -f 324/569/267 286/530/267 325/570/267 -f 325/570/267 285/707/267 284/708/267 -f 284/708/267 323/568/267 325/570/267 -f 326/571/268 336/583/269 309/554/269 -f 327/572/270 340/587/270 308/553/271 -f 280/524/272 285/529/273 325/574/273 -f 323/576/275 284/528/275 279/523/276 -f 331/578/278 334/581/279 271/515/279 -f 332/579/280 339/586/280 269/513/281 -f 310/555/282 271/515/279 334/581/279 -f 270/514/278 309/554/269 336/583/269 -f 333/580/281 269/513/281 337/584/283 -f 328/573/271 308/553/271 339/586/280 -f 280/524/272 329/575/274 326/571/268 -f 327/572/270 330/577/277 279/523/276 -f 337/590/284 310/709/284 341/588/259 -f 310/709/284 335/710/284 311/556/259 -f 341/588/259 310/709/284 311/556/259 -f 342/591/261 317/562/264 319/564/264 -f 287/711/29 324/712/29 327/713/29 -f 324/712/29 323/714/29 330/715/29 -f 327/713/29 324/712/29 330/715/29 -f 327/713/29 328/716/29 287/711/29 -f 328/716/29 332/717/29 287/711/29 -f 333/718/29 338/719/29 341/720/29 -f 332/717/29 333/718/29 287/711/29 -f 333/718/29 341/720/29 287/711/29 -f 341/720/29 276/721/29 287/711/29 -f 313/722/29 291/723/29 367/724/29 -f 291/723/29 289/725/29 367/724/29 -f 289/725/29 287/711/29 409/726/29 -f 405/681/29 410/727/29 406/684/29 -f 276/721/29 410/727/29 405/681/29 -f 287/711/29 276/721/29 405/681/29 -f 410/727/29 273/728/29 406/684/29 -f 342/729/29 313/722/29 359/730/29 -f 307/731/29 305/732/29 407/685/29 -f 305/732/29 303/650/29 412/733/29 -f 407/685/29 305/732/29 412/733/29 -f 359/730/29 358/734/29 342/729/29 -f 367/724/29 359/730/29 313/722/29 -f 273/728/29 307/731/29 407/685/29 -f 273/728/29 407/685/29 406/684/29 -f 281/735/29 367/724/29 289/725/29 -f 287/711/29 405/681/29 345/594/29 -f 409/726/29 281/735/29 289/725/29 -f 345/594/29 409/726/29 287/711/29 -f 405/681/29 343/592/29 345/594/29 -f 343/592/29 375/736/29 369/737/29 -f 343/592/29 369/737/29 344/593/29 -f 346/595/285 368/738/285 347/596/286 -f 325/739/27 286/740/27 329/741/27 -f 286/740/27 288/742/27 326/743/27 -f 329/741/27 286/740/27 326/743/27 -f 290/744/27 292/745/27 366/746/27 -f 292/745/27 312/747/27 366/746/27 -f 312/747/27 314/748/27 357/749/27 -f 366/746/27 312/747/27 357/749/27 -f 336/750/27 326/743/27 288/742/27 -f 331/751/27 336/750/27 288/742/27 -f 331/751/27 288/742/27 334/752/27 -f 288/742/27 290/744/27 282/753/27 -f 334/752/27 288/742/27 311/754/27 -f 311/754/27 335/755/27 334/752/27 -f 311/754/27 288/742/27 277/756/27 -f 314/748/27 413/757/27 357/749/27 -f 277/756/27 288/742/27 404/679/27 -f 290/744/27 366/746/27 283/758/27 -f 408/759/27 288/742/27 282/753/27 -f 275/760/27 277/756/27 404/679/27 -f 288/742/27 408/759/27 404/679/27 -f 290/744/27 283/758/27 282/753/27 -f 274/600/27 275/760/27 349/598/27 -f 304/761/27 306/762/27 379/763/27 -f 306/762/27 272/764/27 350/599/27 -f 350/599/27 379/763/27 306/762/27 -f 365/765/27 364/766/27 401/680/27 -f 364/766/27 414/767/27 401/680/27 -f 275/760/27 404/679/27 349/598/27 -f 408/759/27 365/765/27 401/680/27 -f 404/679/27 408/759/27 401/680/27 -f 350/599/27 272/764/27 274/600/27 -f 351/601/287 360/610/288 352/602/288 -f 354/604/289 356/606/289 351/601/287 -f 355/605/290 363/622/290 356/606/289 -f 357/607/291 413/768/292 358/608/292 -f 358/608/292 413/768/292 352/602/288 -f 302/613/27 304/761/27 361/611/293 -f 304/761/27 379/763/27 361/611/293 -f 317/769/29 342/729/29 358/734/29 -f 317/769/29 358/734/29 360/770/29 -f 322/616/29 320/771/29 356/614/29 -f 320/771/29 317/769/29 351/772/29 -f 316/773/29 411/774/29 346/775/29 -f 411/774/29 322/616/29 363/615/29 -f 296/644/29 294/776/29 374/777/29 -f 294/776/29 316/773/29 374/777/29 -f 374/777/29 415/778/29 296/644/29 -f 369/737/29 375/736/29 348/779/29 -f 375/736/29 374/777/29 316/773/29 -f 348/779/29 375/736/29 316/773/29 -f 317/769/29 360/770/29 351/772/29 -f 320/771/29 351/772/29 356/614/29 -f 411/774/29 363/615/29 346/775/29 -f 346/775/29 348/779/29 316/773/29 -f 344/617/295 369/625/296 364/618/296 -f 366/620/297 357/607/291 359/609/291 -f 283/527/246 366/620/297 367/621/297 -f 363/622/290 355/605/290 368/623/285 -f 347/596/286 364/618/298 369/625/298 -f 415/780/26 374/781/26 416/782/26 -f 374/781/26 373/783/26 416/782/26 -f 399/784/26 417/785/26 370/626/26 -f 370/626/26 415/780/26 371/627/26 -f 415/780/26 416/782/26 371/627/26 -f 371/627/26 418/786/26 388/787/26 -f 398/788/26 399/784/26 370/626/26 -f 388/787/26 372/628/26 371/627/26 -f 372/628/26 398/788/26 370/626/26 -f 375/631/23 343/789/23 401/790/23 -f 401/790/23 414/791/23 375/631/23 -f 414/791/23 373/629/23 375/631/23 -f 376/632/24 407/792/24 350/633/24 -f 379/637/25 350/793/25 407/794/25 -f 407/794/25 412/795/25 379/637/25 -f 412/795/25 378/635/25 379/637/25 -f 295/796/27 297/642/27 373/797/27 -f 297/642/27 416/798/27 373/797/27 -f 373/797/27 414/767/27 293/799/27 -f 414/767/27 364/766/27 347/800/27 -f 321/638/27 315/801/27 355/639/27 -f 315/801/27 293/799/27 368/802/27 -f 355/639/27 315/801/27 368/802/27 -f 293/799/27 295/796/27 373/797/27 -f 414/767/27 347/800/27 293/799/27 -f 347/800/27 368/802/27 293/799/27 -f 319/803/27 318/804/27 353/805/27 -f 318/804/27 321/638/27 354/640/27 -f 353/805/27 318/804/27 354/640/27 -f 413/757/27 314/748/27 319/803/27 -f 352/806/27 413/757/27 319/803/27 -f 353/805/27 352/806/27 319/803/27 -f 371/641/299 416/798/27 297/642/27 -f 296/644/29 415/778/29 370/645/301 -f 370/645/301 417/807/301 380/647/303 -f 361/611/293 383/652/306 381/648/304 -f 382/651/29 392/662/311 378/649/305 -f 378/649/305 412/733/29 303/650/29 -f 383/652/306 385/654/307 384/653/307 -f 385/654/307 390/660/307 386/655/307 -f 387/656/308 418/808/299 371/641/299 -f 388/657/309 418/808/299 387/656/308 -f 300/659/309 372/809/309 388/657/309 -f 390/660/307 372/809/309 300/659/309 -f 391/661/310 394/664/313 378/649/305 -f 393/663/312 396/666/312 394/664/313 -f 395/665/312 397/810/312 396/666/312 -f 397/669/26 398/788/26 390/667/26 -f 398/788/26 372/628/26 390/667/26 -f 390/667/26 385/811/26 361/812/26 -f 385/811/26 383/813/26 361/812/26 -f 394/814/26 396/815/26 378/668/26 -f 396/815/26 397/669/26 378/668/26 -f 361/812/26 378/668/26 390/667/26 -f 398/670/314 397/810/312 395/665/312 -f 399/672/314 398/670/314 301/671/314 -f 380/647/303 417/807/301 399/672/314 -f 401/674/24 343/816/24 402/675/24 -f 402/675/24 376/632/24 377/634/24 -f 349/598/315 404/679/319 403/677/316 -f 402/682/323 405/681/322 406/684/325 -f 408/686/327 282/526/247 409/687/247 -f 345/688/327 344/617/295 365/619/295 -o Cylinder -v -0.126087 0.227980 0.137402 -v 0.126087 0.227980 0.774998 -v -0.126086 0.227980 0.774998 -v 0.126086 0.227980 0.137402 -v 0.304400 0.406294 0.774998 -v 0.304400 0.406293 0.137402 -v 0.304400 0.658466 0.774998 -v 0.304400 0.658466 0.137402 -v 0.126087 0.836780 0.774998 -v 0.126086 0.836780 0.137402 -v -0.126086 0.836780 0.774998 -v -0.126087 0.836780 0.137402 -v -0.304400 0.658467 0.774998 -v -0.304400 0.658466 0.137402 -v -0.304400 0.406294 0.774998 -v -0.304400 0.406294 0.137402 -vt 0.246533 0.894427 -vt 0.118900 0.944907 -vt 0.118900 0.894427 -vt 0.246533 0.944907 -vt 0.118900 0.995387 -vt 0.246533 0.591549 -vt 0.118900 0.642029 -vt 0.118900 0.591549 -vt 0.246533 0.642029 -vt 0.118900 0.692509 -vt 0.246533 0.692509 -vt 0.118900 0.742988 -vt 0.246533 0.742988 -vt 0.118900 0.793468 -vt 0.375332 0.627244 -vt 0.375332 0.677724 -vt 0.253463 0.627244 -vt 0.246533 0.793468 -vt 0.118900 0.843948 -vt 0.246533 0.843948 -vt 0.339638 0.713512 -vt 0.375332 0.799686 -vt 0.289158 0.835381 -vt 0.246533 0.995387 -vt 0.339638 0.713418 -vt 0.289158 0.713418 -vt 0.253463 0.677724 -vt 0.289158 0.591549 -vt 0.339638 0.591549 -vt 0.253464 0.799686 -vt 0.253463 0.749207 -vt 0.289158 0.713512 -vt 0.375332 0.749207 -vt 0.339638 0.835381 -vn -0.3827 -0.9239 0.0000 -vn 0.3827 -0.9239 -0.0000 -vn 0.9239 -0.3827 -0.0000 -vn 0.9239 0.3827 0.0000 -vn 0.3827 0.9239 -0.0000 -vn -0.3827 0.9239 0.0000 -vn -0.9239 0.3827 0.0000 -vn 0.0000 0.0000 -1.0000 -vn -0.9239 -0.3827 0.0000 -vn 0.0000 -0.0000 1.0000 +f 17/35/11 18/36/11 19/37/11 +f 20/38/12 21/39/13 22/40/12 +f 23/41/13 24/42/14 21/43/13 +f 25/44/15 23/45/15 26/46/15 +f 26/47/16 22/40/12 27/48/16 +f 28/49/17 29/50/17 27/51/17 +f 21/52/17 28/49/17 27/51/17 +f 29/53/11 30/54/11 31/55/11 +f 26/46/15 18/56/15 25/44/15 +f 32/57/14 28/58/18 24/42/14 +f 28/59/14 25/60/14 33/61/14 +f 34/62/19 35/63/19 17/35/19 +f 31/55/20 33/64/20 34/62/20 +f 26/65/12 27/66/12 34/67/12 +f 17/35/11 35/63/11 18/36/11 +f 20/38/12 23/68/13 21/39/13 +f 23/41/13 32/57/14 24/42/14 +f 32/69/15 23/45/15 25/44/15 +f 23/45/15 20/70/15 26/46/15 +f 26/47/16 20/38/12 22/40/12 +f 28/49/17 36/71/17 29/50/17 +f 27/51/17 22/72/17 21/52/17 +f 21/52/17 24/73/17 28/49/17 +f 29/53/11 36/74/11 30/54/11 +f 26/46/15 19/75/15 18/56/15 +f 32/57/14 25/76/18 28/58/18 +f 25/60/14 18/77/14 35/78/14 +f 33/61/14 30/79/14 28/59/14 +f 30/79/14 36/80/14 28/59/14 +f 25/60/14 35/78/14 33/61/14 +f 34/62/19 33/64/19 35/63/19 +f 31/55/20 30/54/20 33/64/20 +f 27/66/12 29/81/12 31/82/12 +f 34/67/12 17/83/12 26/65/12 +f 17/83/12 19/84/12 26/65/12 +f 27/66/12 31/82/12 34/67/12 +f 37/85/15 38/86/15 39/87/15 +f 40/88/15 41/89/15 42/90/15 +f 43/91/17 44/92/17 45/93/17 +f 46/94/17 47/95/17 48/96/17 +f 49/97/21 45/98/22 50/99/22 +f 37/100/23 51/101/24 38/102/25 +f 50/103/26 44/104/26 37/100/26 +f 39/105/27 52/106/21 49/97/21 +f 41/107/28 43/108/29 39/105/27 +f 40/109/30 53/110/31 48/111/30 +f 54/112/32 53/110/31 55/113/31 +f 54/112/32 46/114/33 56/115/32 +f 41/107/28 38/116/25 42/117/34 +f 47/118/35 51/119/24 43/108/29 +f 47/120/35 40/109/30 48/111/30 +f 42/117/34 51/119/24 46/121/33 +f 39/87/15 49/122/15 50/123/15 +f 50/123/15 37/85/15 39/87/15 +f 42/90/15 54/124/15 40/88/15 +f 54/124/15 55/125/15 40/88/15 +f 45/93/17 52/126/17 43/91/17 +f 43/91/17 51/127/17 44/92/17 +f 53/128/17 56/129/17 48/96/17 +f 56/129/17 46/94/17 48/96/17 +f 49/97/21 52/106/21 45/98/22 +f 37/100/23 44/104/23 51/101/24 +f 50/103/26 45/130/26 44/104/26 +f 39/105/27 43/108/29 52/106/21 +f 41/107/28 47/118/35 43/108/29 +f 40/109/30 55/113/31 53/110/31 +f 54/112/32 56/115/32 53/110/31 +f 54/112/32 42/131/34 46/114/33 +f 41/107/28 39/105/27 38/116/25 +f 47/118/35 46/121/33 51/119/24 +f 47/120/35 41/132/28 40/109/30 +f 42/117/34 38/116/25 51/119/24 +f 57/133/36 58/134/37 59/135/38 +f 60/136/39 61/137/40 58/138/40 +f 61/139/41 62/140/42 63/141/43 +f 62/142/14 59/143/14 63/144/14 +f 64/145/14 65/146/14 66/147/14 +f 60/148/11 62/140/11 67/149/11 +f 63/144/14 64/145/14 68/150/14 +f 69/151/44 63/141/43 68/152/45 +f 58/138/40 69/153/46 70/154/46 +f 59/135/38 70/155/47 64/156/48 +f 71/157/49 66/158/50 72/159/51 +f 69/153/46 73/160/52 71/161/53 +f 72/162/51 65/163/54 74/164/55 +f 74/164/55 64/156/48 70/155/47 +f 71/157/49 75/165/56 76/166/57 +f 73/167/58 68/152/45 75/165/56 +f 57/133/36 60/148/36 58/134/37 +f 60/136/39 67/168/39 61/137/40 +f 61/139/41 67/149/42 62/140/42 +f 62/142/14 57/169/14 59/143/14 +f 66/147/14 76/170/14 68/150/14 +f 76/170/14 75/171/14 68/150/14 +f 68/150/14 64/145/14 66/147/14 +f 60/148/11 57/133/11 62/140/11 +f 63/144/14 59/143/14 64/145/14 +f 69/151/44 61/139/41 63/141/43 +f 58/138/40 61/137/40 69/153/46 +f 59/135/38 58/134/37 70/155/47 +f 71/157/49 76/166/57 66/158/50 +f 71/161/53 72/172/53 70/154/46 +f 72/172/53 74/173/52 70/154/46 +f 70/154/46 69/153/46 71/161/53 +f 72/162/51 66/174/50 65/163/54 +f 74/164/55 65/163/54 64/156/48 +f 71/157/49 73/167/58 75/165/56 +f 73/167/58 69/151/44 68/152/45 +f 77/175/12 78/176/12 79/177/12 +f 80/178/13 81/179/59 82/180/13 +f 83/181/59 84/182/60 81/183/59 +f 85/184/61 86/185/62 87/186/61 +f 88/187/12 89/188/12 85/189/12 +f 90/190/62 91/191/63 86/185/62 +f 91/191/63 80/178/13 82/180/13 +f 92/192/60 93/193/64 84/182/60 +f 94/194/15 95/195/15 93/193/15 +f 87/196/14 86/197/14 91/198/14 +f 96/199/11 97/200/11 98/201/11 +f 87/186/17 98/201/17 85/184/17 +f 93/202/14 96/203/14 87/196/14 +f 85/189/12 97/204/12 94/205/12 +f 79/206/63 88/207/13 99/208/63 +f 100/209/65 99/208/63 101/210/65 +f 102/211/12 80/212/12 103/213/12 +f 102/214/11 100/209/65 101/210/65 +f 104/215/66 102/216/11 105/217/66 +f 77/218/59 105/217/66 89/219/59 +f 88/207/13 77/218/59 89/219/59 +f 79/177/12 100/220/12 77/175/12 +f 100/220/12 106/221/12 77/175/12 +f 106/221/12 104/222/12 77/175/12 +f 80/178/13 83/223/59 81/179/59 +f 83/181/59 92/192/60 84/182/60 +f 85/184/61 90/190/62 86/185/62 +f 92/224/12 83/225/12 101/226/12 +f 92/224/12 101/226/12 99/227/12 +f 85/189/12 94/205/12 88/187/12 +f 94/205/12 92/224/12 99/227/12 +f 88/187/12 94/205/12 99/227/12 +f 89/188/12 90/228/12 85/189/12 +f 90/190/62 103/229/63 91/191/63 +f 91/191/63 103/229/63 80/178/13 +f 92/192/60 94/194/64 93/193/64 +f 94/194/15 97/200/15 95/195/15 +f 91/198/14 82/230/14 87/196/14 +f 82/230/14 81/231/14 93/202/14 +f 81/231/14 84/232/14 93/202/14 +f 93/202/14 87/196/14 82/230/14 +f 96/199/11 95/195/11 97/200/11 +f 87/186/17 96/199/17 98/201/17 +f 93/202/14 95/233/14 96/203/14 +f 85/189/12 98/234/12 97/204/12 +f 79/206/63 78/235/13 88/207/13 +f 100/209/65 79/206/63 99/208/63 +f 103/213/12 90/228/12 105/236/12 +f 90/228/12 89/188/12 105/236/12 +f 101/226/12 83/225/12 102/211/12 +f 83/225/12 80/212/12 102/211/12 +f 103/213/12 105/236/12 102/211/12 +f 102/214/11 106/237/11 100/209/65 +f 104/215/66 106/238/11 102/216/11 +f 77/218/59 104/215/66 105/217/66 +f 88/207/13 78/235/13 77/218/59 +f 107/239/67 108/240/68 109/241/69 +f 110/242/70 111/243/71 112/244/71 +f 113/245/13 114/246/13 115/247/13 +f 116/248/72 117/249/73 118/250/74 +f 118/250/74 119/251/75 120/252/76 +f 120/252/76 121/253/77 122/254/78 +f 122/254/78 123/255/79 124/256/80 +f 124/256/80 125/257/81 126/258/82 +f 127/259/83 128/260/84 129/261/85 +f 130/262/86 131/263/86 132/264/86 +f 112/244/71 133/265/87 134/266/87 +f 135/267/88 136/268/89 137/269/90 +f 138/270/91 139/271/92 140/272/93 +f 140/272/93 141/273/94 142/274/95 +f 142/274/95 143/275/96 107/239/67 +f 144/276/97 145/277/98 146/278/99 +f 147/279/100 148/280/101 149/281/102 +f 147/279/100 150/282/103 109/241/69 +f 151/283/104 152/284/105 150/282/103 +f 153/285/106 154/286/107 152/284/105 +f 147/279/100 155/287/108 151/283/104 +f 151/283/104 156/288/109 153/285/106 +f 153/285/106 157/289/110 158/290/111 +f 118/250/74 159/291/112 116/248/72 +f 160/292/113 161/293/114 159/291/112 +f 162/294/115 163/295/116 161/293/114 +f 120/252/76 160/292/113 118/250/74 +f 164/296/117 162/294/115 160/292/113 +f 165/297/118 166/298/119 162/294/115 +f 122/254/78 164/296/117 120/252/76 +f 167/299/120 165/297/118 164/296/117 +f 168/300/121 169/301/122 165/297/118 +f 122/254/78 170/302/123 167/299/120 +f 167/299/120 129/261/85 168/300/121 +f 168/300/121 128/260/84 171/303/124 +f 126/258/82 170/302/123 124/256/80 +f 172/304/125 173/305/126 174/306/127 +f 163/307/116 166/308/119 158/309/111 +f 138/270/91 175/310/128 176/311/129 +f 176/311/129 135/267/88 177/312/130 +f 146/278/131 177/312/132 134/313/133 +f 142/274/95 175/310/128 140/272/93 +f 178/314/134 135/267/88 175/310/128 +f 179/315/135 136/268/89 135/267/88 +f 142/274/95 180/316/136 178/314/134 +f 178/314/134 181/317/137 179/315/135 +f 179/315/135 182/318/138 183/319/139 +f 107/239/67 150/282/103 180/316/136 +f 180/316/136 152/284/105 181/317/137 +f 181/317/137 154/286/107 182/318/138 +f 184/320/140 185/321/141 186/322/142 +f 186/322/142 187/323/143 188/324/144 +f 188/324/144 189/325/145 108/240/68 +f 190/326/146 185/321/141 191/327/147 +f 192/328/148 187/323/143 185/321/141 +f 193/329/149 189/325/145 187/323/143 +f 194/330/150 195/331/151 113/332/152 +f 113/332/152 196/333/153 114/334/154 +f 114/334/154 117/249/73 115/335/155 +f 197/336/156 198/337/157 195/331/151 +f 195/331/151 199/338/158 196/333/153 +f 196/333/153 119/251/75 117/249/73 +f 200/339/159 201/340/160 198/337/157 +f 198/337/157 202/341/161 199/338/158 +f 199/338/158 121/253/77 119/251/75 +f 172/304/125 201/340/160 203/342/162 +f 174/306/127 202/341/161 201/340/160 +f 204/343/163 121/253/77 202/341/161 +f 173/305/126 130/344/164 204/343/163 +f 204/343/163 125/257/81 123/255/79 +f 205/345/165 206/346/166 127/259/83 +f 145/277/98 207/347/167 146/278/99 +f 208/348/168 209/349/169 207/347/167 +f 210/350/170 211/351/171 145/277/98 +f 145/277/98 212/352/172 208/348/168 +f 208/348/168 141/273/94 139/271/92 +f 213/353/173 211/351/171 214/354/174 +f 215/355/175 212/352/172 211/351/171 +f 216/356/176 141/273/94 212/352/172 +f 184/320/140 215/355/175 213/353/173 +f 186/322/142 216/356/176 215/355/175 +f 188/324/144 143/275/96 216/356/176 +f 214/357/174 172/358/125 203/359/162 +f 146/278/131 176/311/129 177/312/132 +f 207/347/167 138/270/91 176/311/129 +f 109/241/69 189/325/145 147/279/100 +f 137/360/177 134/266/178 217/361/179 +f 133/265/180 144/362/181 218/363/182 +f 110/242/183 219/364/184 220/365/185 +f 112/244/186 221/366/187 110/242/183 +f 112/244/186 137/360/177 222/367/188 +f 223/368/189 111/243/190 224/369/191 +f 144/362/181 111/243/190 225/370/192 +f 132/264/193 173/371/194 226/372/195 +f 226/372/196 224/369/191 132/264/197 +f 220/365/198 127/373/199 206/374/200 +f 220/365/201 224/369/70 110/242/70 +f 107/239/67 143/275/96 108/240/68 +f 110/242/70 224/369/70 111/243/71 +f 115/247/13 116/375/13 163/376/13 +f 116/375/13 159/377/13 161/378/13 +f 163/376/13 116/375/13 161/378/13 +f 163/376/13 157/379/13 190/380/13 +f 157/379/13 156/381/13 149/382/13 +f 190/380/13 157/379/13 149/382/13 +f 156/381/13 155/383/13 149/382/13 +f 149/382/13 148/384/13 190/380/13 +f 148/384/13 193/385/13 192/386/13 +f 190/380/13 148/384/13 192/386/13 +f 190/380/13 194/387/13 163/376/13 +f 194/387/13 113/245/13 115/247/13 +f 163/376/13 194/387/13 115/247/13 +f 116/248/72 115/335/155 117/249/73 +f 118/250/74 117/249/73 119/251/75 +f 120/252/76 119/251/75 121/253/77 +f 122/254/78 121/253/77 123/255/79 +f 124/256/80 123/255/79 125/257/81 +f 127/259/83 219/388/202 128/260/84 +f 132/264/86 220/365/86 126/389/86 +f 220/365/86 206/374/86 205/390/86 +f 126/389/86 220/365/86 205/390/86 +f 126/389/86 125/391/86 132/264/86 +f 125/391/86 130/262/86 132/264/86 +f 112/244/71 111/243/71 133/265/87 +f 217/392/203 177/312/130 137/269/90 +f 177/312/130 135/267/88 137/269/90 +f 138/270/91 209/349/169 139/271/92 +f 140/272/93 139/271/92 141/273/94 +f 142/274/95 141/273/94 143/275/96 +f 146/278/99 218/393/204 144/276/97 +f 144/276/97 210/350/170 145/277/98 +f 147/279/100 189/325/145 148/280/101 +f 147/279/100 151/283/104 150/282/103 +f 151/283/104 153/285/106 152/284/105 +f 153/285/106 158/290/111 154/286/107 +f 147/279/100 149/281/102 155/287/108 +f 151/283/104 155/287/108 156/288/109 +f 153/285/106 156/288/109 157/289/110 +f 118/250/74 160/292/113 159/291/112 +f 160/292/113 162/294/115 161/293/114 +f 162/294/115 166/298/119 163/295/116 +f 120/252/76 164/296/117 160/292/113 +f 164/296/117 165/297/118 162/294/115 +f 165/297/118 169/301/122 166/298/119 +f 122/254/78 167/299/120 164/296/117 +f 167/299/120 168/300/121 165/297/118 +f 168/300/121 171/303/124 169/301/122 +f 122/254/78 124/256/80 170/302/123 +f 167/299/120 170/302/123 129/261/85 +f 168/300/121 129/261/85 128/260/84 +f 126/258/82 205/345/165 170/302/123 +f 172/304/125 226/394/205 173/305/126 +f 222/395/15 137/396/90 136/397/89 +f 183/398/139 182/399/138 171/400/124 +f 182/399/138 154/401/107 171/400/124 +f 171/400/124 154/401/107 169/402/122 +f 222/395/15 136/397/89 221/403/15 +f 136/397/89 183/398/139 128/404/84 +f 219/405/202 221/403/15 128/404/84 +f 128/404/84 221/403/15 136/397/89 +f 154/401/107 158/309/111 169/402/122 +f 171/400/124 128/404/84 183/398/139 +f 158/309/111 157/406/110 163/307/116 +f 169/402/122 158/309/111 166/308/119 +f 138/270/91 140/272/93 175/310/128 +f 176/311/129 175/310/128 135/267/88 +f 177/312/132 217/392/206 134/313/133 +f 134/313/133 133/407/133 146/278/131 +f 133/407/133 218/393/207 146/278/131 +f 142/274/95 178/314/134 175/310/128 +f 178/314/134 179/315/135 135/267/88 +f 179/315/135 183/319/139 136/268/89 +f 142/274/95 107/239/67 180/316/136 +f 178/314/134 180/316/136 181/317/137 +f 179/315/135 181/317/137 182/318/138 +f 107/239/67 109/241/69 150/282/103 +f 180/316/136 150/282/103 152/284/105 +f 181/317/137 152/284/105 154/286/107 +f 184/320/140 191/327/147 185/321/141 +f 186/322/142 185/321/141 187/323/143 +f 188/324/144 187/323/143 189/325/145 +f 190/326/146 192/328/148 185/321/141 +f 192/328/148 193/329/149 187/323/143 +f 193/329/149 148/280/101 189/325/145 +f 194/330/150 197/336/156 195/331/151 +f 113/332/152 195/331/151 196/333/153 +f 114/334/154 196/333/153 117/249/73 +f 197/336/156 200/339/159 198/337/157 +f 195/331/151 198/337/157 199/338/158 +f 196/333/153 199/338/158 119/251/75 +f 200/339/159 203/342/162 201/340/160 +f 198/337/157 201/340/160 202/341/161 +f 199/338/158 202/341/161 121/253/77 +f 172/304/125 174/306/127 201/340/160 +f 174/306/127 204/343/163 202/341/161 +f 204/343/163 123/255/79 121/253/77 +f 204/343/163 174/306/127 173/305/126 +f 173/305/126 131/408/208 130/344/164 +f 204/343/163 130/344/164 125/257/81 +f 129/261/85 170/302/123 127/259/83 +f 170/302/123 205/345/165 127/259/83 +f 145/277/98 208/348/168 207/347/167 +f 208/348/168 139/271/92 209/349/169 +f 210/350/170 214/354/174 211/351/171 +f 145/277/98 211/351/171 212/352/172 +f 208/348/168 212/352/172 141/273/94 +f 213/353/173 215/355/175 211/351/171 +f 215/355/175 216/356/176 212/352/172 +f 216/356/176 143/275/96 141/273/94 +f 184/320/140 186/322/142 215/355/175 +f 186/322/142 188/324/144 216/356/176 +f 188/324/144 108/240/68 143/275/96 +f 210/409/170 144/410/97 225/411/17 +f 225/411/17 223/412/17 210/409/170 +f 223/412/17 226/413/205 172/358/125 +f 223/412/17 172/358/125 210/409/170 +f 214/357/174 210/409/170 172/358/125 +f 184/414/140 213/415/173 203/359/162 +f 213/415/173 214/357/174 203/359/162 +f 190/416/146 191/417/147 194/418/150 +f 191/417/147 184/414/140 200/419/159 +f 197/420/156 194/418/150 191/417/147 +f 200/419/159 197/420/156 191/417/147 +f 203/359/162 200/419/159 184/414/140 +f 146/278/131 207/347/167 176/311/129 +f 207/347/167 209/349/169 138/270/91 +f 109/241/69 108/240/68 189/325/145 +f 110/242/183 221/366/187 219/364/184 +f 112/244/186 222/367/188 221/366/187 +f 112/244/186 134/266/178 137/360/177 +f 223/368/189 225/370/192 111/243/190 +f 144/362/181 133/265/180 111/243/190 +f 132/264/193 131/263/209 173/371/194 +f 226/372/196 223/368/189 224/369/191 +f 220/365/198 219/364/210 127/373/199 +f 220/365/201 132/264/201 224/369/70 +f 227/421/211 228/422/212 229/423/211 +f 230/424/213 378/425/214 381/426/214 +f 384/427/17 391/428/215 386/427/17 +f 236/429/216 237/430/217 238/431/217 +f 239/432/218 240/433/219 241/434/218 +f 238/431/217 242/435/220 243/436/220 +f 244/437/221 245/438/221 246/439/221 +f 246/439/222 247/440/222 248/441/222 +f 248/441/223 249/442/224 250/443/224 +f 251/444/13 252/445/13 253/446/13 +f 253/446/12 254/447/12 255/448/12 +f 255/449/225 256/450/225 257/451/225 +f 258/452/12 257/451/12 259/453/12 +f 260/454/11 261/455/226 262/456/226 +f 262/456/226 263/457/227 264/458/227 +f 264/458/227 265/459/228 230/424/228 +f 228/422/212 266/460/229 267/461/229 +f 299/462/230 380/463/231 234/464/231 +f 268/465/232 227/421/211 229/423/211 +f 380/466/15 389/467/233 388/466/15 +f 266/460/229 236/429/216 267/461/229 +f 249/442/224 270/468/234 250/443/224 +f 271/469/234 272/470/235 270/468/234 +f 273/471/236 274/472/237 251/444/237 +f 275/473/238 276/474/239 277/475/238 +f 278/476/239 279/477/240 276/474/239 +f 280/478/240 273/471/236 279/477/240 +f 281/479/241 282/480/241 283/481/241 +f 284/482/242 267/461/243 236/429/242 +f 285/483/244 266/460/245 286/484/245 +f 238/431/246 283/485/247 287/486/248 +f 281/487/249 237/430/250 288/488/251 +f 289/489/252 229/423/253 228/422/252 +f 290/490/254 227/421/255 291/491/255 +f 268/465/256 292/492/253 293/493/256 +f 228/422/252 294/494/243 289/489/252 +f 291/491/255 295/495/257 296/496/257 +f 286/484/245 297/497/254 290/490/254 +f 238/431/246 284/482/242 236/429/242 +f 285/483/244 237/430/250 298/498/244 +f 299/462/230 296/499/258 295/500/258 +f 300/501/235 277/475/238 272/470/235 +f 301/502/17 302/503/17 303/504/17 +f 304/505/259 305/506/260 306/507/260 +f 307/508/15 308/509/15 232/510/15 +f 309/511/261 310/512/262 311/513/261 +f 312/514/263 309/511/261 311/513/261 +f 313/515/264 314/516/263 312/514/263 +f 315/517/265 316/518/266 317/519/265 +f 316/518/266 310/512/262 318/520/262 +f 319/521/267 320/522/268 260/523/15 +f 314/524/17 321/525/17 280/526/17 +f 302/527/269 322/528/270 323/529/269 +f 324/530/271 317/519/265 325/531/271 +f 241/434/218 325/531/271 239/432/218 +f 321/532/264 326/533/259 304/534/259 +f 305/506/260 327/535/272 306/507/260 +f 328/536/14 329/537/14 330/538/14 +f 331/539/11 332/540/11 333/541/11 +f 334/542/12 308/543/12 335/544/12 +f 336/545/13 319/546/13 337/547/13 +f 279/548/15 313/549/15 312/550/15 +f 329/551/273 255/552/15 257/553/274 +f 254/554/17 328/555/275 256/556/276 +f 328/555/275 338/557/277 256/556/276 +f 319/521/267 339/558/278 320/522/268 +f 336/559/279 261/560/17 340/561/17 +f 341/562/280 342/563/281 339/558/278 +f 343/564/281 344/565/281 342/563/281 +f 345/566/282 329/551/273 257/553/274 +f 346/567/283 345/566/282 347/568/283 +f 258/569/283 346/567/283 347/568/283 +f 348/570/281 258/569/283 344/565/281 +f 349/571/284 336/559/279 350/572/285 +f 351/573/286 352/574/287 349/571/284 +f 353/575/286 354/576/286 351/573/286 +f 348/577/14 336/578/14 355/579/14 +f 356/580/288 353/575/286 259/581/288 +f 357/582/288 259/581/288 358/583/288 +f 338/557/277 357/582/288 358/583/288 +f 359/584/12 360/585/12 361/586/12 +f 360/585/12 335/544/12 361/586/12 +f 307/508/289 361/587/290 335/588/291 +f 308/509/292 307/508/289 335/588/291 +f 361/587/290 362/589/293 359/590/294 +f 301/502/295 363/591/296 360/592/297 +f 334/593/298 364/594/299 365/595/300 +f 360/592/297 364/594/299 334/593/298 +f 366/596/301 367/597/219 303/598/301 +f 303/598/301 323/529/269 366/596/301 +f 227/421/211 297/497/212 228/422/212 +f 230/424/213 265/459/213 231/599/302 +f 384/600/303 383/601/231 235/602/231 +f 236/429/216 298/498/216 237/430/217 +f 239/432/218 367/597/219 240/433/219 +f 238/431/217 237/430/217 242/435/220 +f 244/437/221 282/480/221 245/438/221 +f 246/439/222 245/438/222 247/440/222 +f 248/441/223 247/440/223 249/442/224 +f 251/444/13 274/472/13 252/445/13 +f 253/446/12 252/445/12 254/447/12 +f 255/449/225 254/603/225 256/450/225 +f 340/604/12 260/605/12 350/606/12 +f 260/605/12 320/607/12 350/606/12 +f 320/607/12 339/608/12 342/609/12 +f 320/607/12 342/609/12 344/610/12 +f 351/611/12 349/612/12 350/606/12 +f 353/613/12 351/611/12 350/606/12 +f 350/606/12 320/607/12 344/610/12 +f 258/452/12 347/614/12 257/451/12 +f 347/614/12 345/615/12 257/451/12 +f 350/606/12 344/610/12 353/613/12 +f 344/610/12 258/452/12 353/613/12 +f 259/453/12 353/613/12 258/452/12 +f 338/616/12 358/617/12 256/450/12 +f 358/617/12 259/453/12 256/450/12 +f 257/451/12 256/450/12 259/453/12 +f 260/454/11 340/618/11 261/455/226 +f 262/456/226 261/455/226 263/457/227 +f 264/458/227 263/457/227 265/459/228 +f 228/422/212 297/497/212 266/460/229 +f 389/619/304 387/620/304 392/621/231 +f 268/465/232 295/495/232 227/421/211 +f 380/463/231 379/622/303 368/623/303 +f 266/460/229 298/498/216 236/429/216 +f 249/442/224 271/469/234 270/468/234 +f 271/469/234 300/501/235 272/470/235 +f 273/471/236 369/624/236 274/472/237 +f 275/473/238 278/476/239 276/474/239 +f 278/476/239 280/478/240 279/477/240 +f 280/478/240 369/624/236 273/471/236 +f 282/480/241 244/437/241 283/481/241 +f 283/481/241 243/625/241 242/626/241 +f 242/626/241 281/479/241 283/481/241 +f 284/482/242 294/494/243 267/461/243 +f 285/483/244 298/498/244 266/460/245 +f 238/431/246 243/436/247 283/485/247 +f 281/487/249 242/435/249 237/430/250 +f 289/489/252 292/492/253 229/423/253 +f 290/490/254 297/497/254 227/421/255 +f 268/465/256 229/423/253 292/492/253 +f 228/422/252 267/461/243 294/494/243 +f 291/491/255 227/421/255 295/495/257 +f 286/484/245 266/460/245 297/497/254 +f 238/431/246 287/486/248 284/482/242 +f 285/483/244 288/488/251 237/430/250 +f 295/500/258 268/627/258 299/462/230 +f 268/627/258 293/628/258 269/629/230 +f 268/627/258 382/630/305 377/631/305 +f 300/501/235 275/473/238 277/475/238 +f 245/632/17 282/633/17 285/634/17 +f 282/633/17 281/635/17 288/636/17 +f 285/634/17 282/633/17 288/636/17 +f 285/634/17 286/637/17 245/632/17 +f 286/637/17 290/638/17 245/632/17 +f 291/639/17 296/640/17 299/641/17 +f 290/638/17 291/639/17 245/632/17 +f 291/639/17 299/641/17 245/632/17 +f 299/641/17 234/642/17 245/632/17 +f 271/643/17 249/644/17 325/645/17 +f 249/644/17 247/646/17 325/645/17 +f 247/646/17 245/632/17 367/647/17 +f 363/591/17 368/648/17 364/594/17 +f 234/642/17 368/648/17 363/591/17 +f 245/632/17 234/642/17 363/591/17 +f 368/648/17 231/649/17 364/594/17 +f 300/650/17 271/643/17 317/651/17 +f 265/652/17 263/653/17 365/595/17 +f 263/653/17 261/560/17 370/654/17 +f 365/595/17 263/653/17 370/654/17 +f 317/651/17 316/655/17 300/650/17 +f 325/645/17 317/651/17 271/643/17 +f 231/649/17 265/652/17 365/595/17 +f 231/649/17 365/595/17 364/594/17 +f 239/656/17 325/645/17 247/646/17 +f 245/632/17 363/591/17 303/504/17 +f 367/647/17 239/656/17 247/646/17 +f 303/504/17 367/647/17 245/632/17 +f 363/591/17 301/502/17 303/504/17 +f 301/502/17 333/657/17 327/658/17 +f 301/502/17 327/658/17 302/503/17 +f 304/505/259 326/659/259 305/506/260 +f 283/660/15 244/661/15 287/662/15 +f 244/661/15 246/663/15 284/664/15 +f 287/662/15 244/661/15 284/664/15 +f 248/665/15 250/666/15 324/667/15 +f 250/666/15 270/668/15 324/667/15 +f 270/668/15 272/669/15 315/670/15 +f 324/667/15 270/668/15 315/670/15 +f 294/671/15 284/664/15 246/663/15 +f 289/672/15 294/671/15 246/663/15 +f 289/672/15 246/663/15 292/673/15 +f 246/663/15 248/665/15 240/674/15 +f 292/673/15 246/663/15 269/675/15 +f 269/675/15 293/676/15 292/673/15 +f 269/675/15 246/663/15 235/677/15 +f 272/669/15 371/678/15 315/670/15 +f 235/677/15 246/663/15 362/589/15 +f 248/665/15 324/667/15 241/679/15 +f 366/680/15 246/663/15 240/674/15 +f 233/681/15 235/677/15 362/589/15 +f 246/663/15 366/680/15 362/589/15 +f 248/665/15 241/679/15 240/674/15 +f 232/510/15 233/681/15 307/508/15 +f 262/682/15 264/683/15 337/684/15 +f 264/683/15 230/685/15 308/509/15 +f 308/509/15 337/684/15 264/683/15 +f 323/686/15 322/687/15 359/590/15 +f 322/687/15 372/688/15 359/590/15 +f 233/681/15 362/589/15 307/508/15 +f 366/680/15 323/686/15 359/590/15 +f 362/589/15 366/680/15 359/590/15 +f 308/509/15 230/685/15 232/510/15 +f 309/511/261 318/520/262 310/512/262 +f 312/514/263 314/516/263 309/511/261 +f 313/515/264 321/532/264 314/516/263 +f 315/517/265 371/689/266 316/518/266 +f 316/518/266 371/689/266 310/512/262 +f 260/523/15 262/682/15 319/521/267 +f 262/682/15 337/684/15 319/521/267 +f 275/690/17 300/650/17 316/655/17 +f 275/690/17 316/655/17 318/691/17 +f 280/526/17 278/692/17 314/524/17 +f 278/692/17 275/690/17 309/693/17 +f 274/694/17 369/695/17 304/696/17 +f 369/695/17 280/526/17 321/525/17 +f 254/554/17 252/697/17 332/698/17 +f 252/697/17 274/694/17 332/698/17 +f 332/698/17 373/699/17 254/554/17 +f 327/658/17 333/657/17 306/700/17 +f 333/657/17 332/698/17 274/694/17 +f 306/700/17 333/657/17 274/694/17 +f 275/690/17 318/691/17 309/693/17 +f 278/692/17 309/693/17 314/524/17 +f 369/695/17 321/525/17 304/696/17 +f 304/696/17 306/700/17 274/694/17 +f 302/527/269 327/535/270 322/528/270 +f 324/530/271 315/517/265 317/519/265 +f 241/434/218 324/530/271 325/531/271 +f 321/532/264 313/515/264 326/533/259 +f 305/506/260 322/528/272 327/535/272 +f 373/701/14 332/702/14 374/703/14 +f 332/702/14 331/704/14 374/703/14 +f 357/705/14 375/706/14 328/536/14 +f 328/536/14 373/701/14 329/537/14 +f 373/701/14 374/703/14 329/537/14 +f 329/537/14 376/707/14 346/708/14 +f 356/709/14 357/705/14 328/536/14 +f 346/708/14 330/538/14 329/537/14 +f 330/538/14 356/709/14 328/536/14 +f 333/541/11 301/710/11 359/711/11 +f 359/711/11 372/712/11 333/541/11 +f 372/712/11 331/539/11 333/541/11 +f 334/542/12 365/713/12 308/543/12 +f 337/547/13 308/714/13 365/715/13 +f 365/715/13 370/716/13 337/547/13 +f 370/716/13 336/545/13 337/547/13 +f 253/717/15 255/552/15 331/718/15 +f 255/552/15 374/719/15 331/718/15 +f 331/718/15 372/688/15 251/720/15 +f 372/688/15 322/687/15 305/721/15 +f 279/548/15 273/722/15 313/549/15 +f 273/722/15 251/720/15 326/723/15 +f 313/549/15 273/722/15 326/723/15 +f 251/720/15 253/717/15 331/718/15 +f 372/688/15 305/721/15 251/720/15 +f 305/721/15 326/723/15 251/720/15 +f 277/724/15 276/725/15 311/726/15 +f 276/725/15 279/548/15 312/550/15 +f 311/726/15 276/725/15 312/550/15 +f 371/678/15 272/669/15 277/724/15 +f 310/727/15 371/678/15 277/724/15 +f 311/726/15 310/727/15 277/724/15 +f 329/551/273 374/719/15 255/552/15 +f 254/554/17 373/699/17 328/555/275 +f 328/555/275 375/728/275 338/557/277 +f 319/521/267 341/562/280 339/558/278 +f 340/561/17 350/572/285 336/559/279 +f 336/559/279 370/654/17 261/560/17 +f 341/562/280 343/564/281 342/563/281 +f 343/564/281 348/570/281 344/565/281 +f 345/566/282 376/729/273 329/551/273 +f 346/567/283 376/729/273 345/566/282 +f 258/569/283 330/730/283 346/567/283 +f 348/570/281 330/730/283 258/569/283 +f 349/571/284 352/574/287 336/559/279 +f 351/573/286 354/576/286 352/574/287 +f 353/575/286 355/731/286 354/576/286 +f 355/579/14 356/709/14 348/577/14 +f 356/709/14 330/538/14 348/577/14 +f 348/577/14 343/732/14 319/733/14 +f 343/732/14 341/734/14 319/733/14 +f 352/735/14 354/736/14 336/578/14 +f 354/736/14 355/579/14 336/578/14 +f 319/733/14 336/578/14 348/577/14 +f 356/580/288 355/731/286 353/575/286 +f 357/582/288 356/580/288 259/581/288 +f 338/557/277 375/728/275 357/582/288 +f 359/584/12 301/737/12 360/585/12 +f 360/585/12 334/542/12 335/544/12 +f 307/508/289 362/589/293 361/587/290 +f 360/592/297 363/591/296 364/594/299 +f 366/596/301 240/433/219 367/597/219 +f 303/598/301 302/527/269 323/529/269 +f 368/623/303 378/425/214 231/599/302 +f 384/600/303 232/738/302 381/426/214 +f 380/463/231 368/623/303 234/464/231 +f 390/739/303 386/740/303 391/741/306 +f 389/619/304 392/621/231 388/742/231 +f 382/630/305 269/629/230 235/602/231 +f 382/630/305 235/602/231 383/601/231 +f 379/743/15 388/466/15 390/743/15 +f 379/743/15 390/743/15 385/744/307 +f 386/740/303 388/742/231 392/621/231 +f 390/739/303 391/741/306 385/745/306 +f 386/740/303 390/739/303 388/742/231 +f 384/600/303 235/602/231 233/746/303 +f 384/427/17 381/428/308 391/428/215 +f 384/427/17 386/427/17 392/747/17 +f 299/462/230 377/631/305 380/463/231 +f 382/748/309 389/467/233 377/467/310 +f 383/747/17 387/748/311 382/748/309 +f 384/427/17 392/747/17 383/747/17 +f 379/743/15 385/744/307 378/744/312 +f 368/623/303 379/622/303 378/425/214 +f 382/748/309 387/748/311 389/467/233 +f 385/744/307 391/428/215 381/428/308 +f 384/600/303 233/746/303 232/738/302 +f 380/466/15 377/467/310 389/467/233 +f 385/744/307 381/428/308 378/744/312 +f 379/743/15 380/466/15 388/466/15 +f 383/747/17 392/747/17 387/748/311 +f 230/424/213 231/599/302 378/425/214 +f 381/426/214 232/738/302 230/424/213 +f 377/631/305 299/462/230 268/627/258 +f 268/627/258 269/629/230 382/630/305 +o Hammer +v 0.032000 0.482926 1.114100 +v 0.032000 0.624219 1.281649 +v 0.032000 0.556773 1.273590 +v -0.032000 0.482926 1.114100 +v -0.032000 0.624219 1.281649 +v -0.032000 0.687900 1.294528 +v 0.032000 0.865797 1.208403 +v -0.032000 0.770709 1.330115 +v 0.032000 0.770709 1.330115 +v 0.032000 0.687900 1.294528 +v -0.032000 0.603432 1.343032 +v 0.032000 0.603432 1.343032 +v 0.068452 0.608892 1.422981 +v -0.068452 0.608892 1.422981 +v -0.068452 0.498592 1.571619 +v 0.068452 0.498592 1.571619 +v -0.068452 0.468201 1.545936 +v 0.068452 0.468201 1.545936 +v -0.068452 0.512187 1.487151 +v 0.068452 0.512187 1.487151 +v 0.068452 0.556472 1.413076 +v -0.068452 0.556472 1.413076 +v -0.032000 0.552518 1.318780 +v 0.032000 0.552518 1.318780 +v -0.032000 0.556773 1.273590 +v -0.032000 0.515951 1.296035 +v 0.032000 0.515951 1.296035 +v -0.032000 0.408701 1.336443 +v 0.032000 0.408701 1.336443 +v -0.031291 0.259377 1.231255 +v 0.032709 0.259377 1.231255 +v -0.032000 0.865797 1.208403 +vn 1.0000 -0.0000 -0.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 0.7880 0.6156 +vn -0.0000 -0.3948 0.9188 +vn -0.0000 -0.1982 0.9802 +vn -0.0000 0.9472 0.3208 +vn -0.0000 0.9977 -0.0681 +vn -0.0000 0.8030 0.5959 +vn -0.0000 -0.6455 0.7638 +vn -0.0000 -0.8007 -0.5991 +vn -0.0000 -0.8583 -0.5131 +vn -0.0000 -0.9991 0.0419 +vn -0.0000 -0.9956 -0.0938 +vn -0.0000 0.4818 0.8763 +vn -0.0000 0.3526 0.9358 +vn -0.0000 -0.5759 0.8175 +vn -0.0000 -0.4642 -0.8857 +vn -0.0000 0.2392 -0.9710 +vn 0.9164 0.1722 -0.3615 +vn -0.9050 0.0790 -0.4180 +vn 1.0000 0.0038 0.0013 +vn -1.0000 -0.0038 -0.0013 +vn 0.9050 0.0790 -0.4180 +vn -0.9164 0.1722 -0.3615 +vt 0.343765 0.934799 +vt 0.350946 0.946383 +vt 0.354698 0.940182 +vt 0.343782 0.934821 +vt 0.350963 0.946405 +vt 0.347864 0.952606 +vt 0.390183 0.954876 +vt 0.397012 0.971356 +vt 0.390183 0.971356 +vt 0.397012 0.980973 +vt 0.390183 0.980973 +vt 0.397012 0.987905 +vt 0.390183 0.987905 +vt 0.397012 0.994820 +vt 0.390183 0.994820 +vt 0.379264 0.964780 +vt 0.387814 0.975498 +vt 0.379264 0.979388 +vt 0.359515 0.979388 +vt 0.359515 0.964780 +vt 0.355269 0.979388 +vt 0.355269 0.964780 +vt 0.347436 0.979388 +vt 0.347436 0.964780 +vt 0.338227 0.964780 +vt 0.338227 0.979388 +vt 0.328157 0.975498 +vt 0.328157 0.968670 +vt 0.397043 0.923988 +vt 0.403872 0.928831 +vt 0.397043 0.928831 +vt 0.403872 0.933801 +vt 0.397043 0.933801 +vt 0.403872 0.946030 +vt 0.397043 0.946030 +vt 0.403872 0.956580 +vt 0.397043 0.956580 +vt 0.403872 0.990249 +vt 0.397043 0.990249 +vt 0.390183 0.923988 +vt 0.397012 0.954876 +vt 0.384495 0.954648 +vt 0.384235 0.950410 +vt 0.376401 0.950426 +vt 0.357473 0.948666 +vt 0.367240 0.949494 +vt 0.358777 0.942792 +vt 0.357490 0.948689 +vt 0.367257 0.949516 +vt 0.364763 0.954633 +vt 0.376418 0.950449 +vt 0.384252 0.950432 +vt 0.384512 0.954670 +vt 0.328921 0.961887 +vt 0.347847 0.952584 +vt 0.345400 0.961884 +vt 0.369708 0.931858 +vt 0.375254 0.922884 +vt 0.359266 0.938223 +vt 0.375271 0.922906 +vt 0.369725 0.931881 +vt 0.359283 0.938246 +vt 0.354715 0.940204 +vt 0.358794 0.942814 +vt 0.345417 0.961907 +vt 0.328938 0.961909 +vt 0.387814 0.968670 +vt 0.403872 0.923988 +vt 0.397012 0.923988 +vt 0.364746 0.954610 +s 0 +f 393/749/313 394/750/313 395/751/313 +f 396/752/314 397/753/314 398/754/314 +f 399/755/315 400/756/315 401/757/315 +f 401/757/316 398/758/316 402/759/316 +f 402/759/317 397/760/317 394/761/317 +f 394/761/318 403/762/318 404/763/318 +f 405/764/319 403/765/319 406/766/319 +f 405/764/320 407/767/320 408/768/320 +f 408/768/321 409/769/321 410/770/321 +f 410/770/322 411/771/322 412/772/322 +f 413/773/323 411/771/323 414/774/323 +f 413/773/324 415/775/324 416/776/324 +f 416/777/325 417/778/325 395/779/325 +f 395/779/326 418/780/326 419/781/326 +f 419/781/327 420/782/327 421/783/327 +f 421/783/328 422/784/328 423/785/328 +f 423/785/329 396/786/329 393/787/329 +f 393/788/330 424/789/330 399/755/330 +f 408/790/313 410/791/313 412/792/313 +f 404/793/331 413/794/331 416/795/331 +f 403/796/332 414/797/332 406/798/332 +f 411/799/314 409/800/314 407/801/314 +f 393/749/313 399/802/313 402/803/313 +f 399/802/313 401/804/313 402/803/313 +f 421/805/333 423/806/333 393/749/333 +f 395/751/313 419/807/313 393/749/313 +f 419/807/313 421/805/313 393/749/313 +f 404/793/313 416/795/313 394/750/313 +f 416/795/313 395/751/313 394/750/313 +f 393/749/313 402/803/313 394/750/313 +f 396/752/334 422/808/334 420/809/334 +f 420/809/314 418/810/314 396/752/314 +f 418/810/314 417/811/314 396/752/314 +f 417/811/314 415/812/314 397/753/314 +f 415/812/314 403/796/314 397/753/314 +f 400/813/314 424/814/314 398/754/314 +f 424/814/314 396/752/314 398/754/314 +f 396/752/314 417/811/314 397/753/314 +f 399/755/315 424/789/315 400/756/315 +f 401/757/316 400/756/316 398/758/316 +f 402/759/317 398/758/317 397/760/317 +f 394/761/318 397/760/318 403/762/318 +f 405/764/319 404/815/319 403/765/319 +f 405/764/320 406/766/320 407/767/320 +f 408/768/321 407/767/321 409/769/321 +f 410/770/322 409/769/322 411/771/322 +f 413/773/323 412/772/323 411/771/323 +f 413/773/324 414/774/324 415/775/324 +f 416/777/325 415/816/325 417/778/325 +f 395/779/326 417/778/326 418/780/326 +f 419/781/327 418/780/327 420/782/327 +f 421/783/328 420/782/328 422/784/328 +f 423/785/329 422/784/329 396/786/329 +f 393/788/330 396/817/330 424/789/330 +f 412/792/313 413/794/313 405/818/313 +f 405/818/313 408/790/313 412/792/313 +f 404/793/335 405/818/335 413/794/335 +f 403/796/336 415/812/336 414/797/336 +f 407/801/314 406/798/314 411/799/314 +f 406/798/314 414/797/314 411/799/314 +o Trigger +v 0.045500 -0.120256 0.684201 +v 0.045500 -0.026668 0.645664 +v 0.045500 -0.037678 0.759438 +v -0.045500 -0.195494 0.673190 +v -0.045500 -0.241370 0.641994 +v -0.045500 -0.226690 0.735583 +v -0.045500 0.083436 0.570427 +v 0.045500 0.083436 0.570427 +v -0.045500 -0.026668 0.645664 +v 0.045500 -0.195494 0.673190 +v -0.045500 -0.120256 0.684201 +v 0.045500 -0.241370 0.641994 +v 0.045500 -0.301928 0.541066 +v 0.045500 -0.329454 0.561251 +v -0.045500 -0.301928 0.541066 +v 0.045500 -0.292752 0.676861 +v -0.045500 -0.329454 0.561251 +v 0.045500 -0.226690 0.735583 +v -0.045500 -0.292752 0.676861 +v 0.045500 -0.098235 0.761274 +v -0.045500 -0.098235 0.761274 +v 0.045500 0.006363 0.860367 +v -0.045500 -0.037678 0.759438 +v 0.045500 0.120138 0.755768 +v -0.045500 0.006363 0.860367 +v -0.045500 0.120138 0.755768 +vn 1.0000 -0.0000 -0.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 -0.4751 -0.8800 +vn -0.0000 -0.5642 -0.8256 +vn -0.0000 -0.1223 -0.9925 +vn -0.0000 0.3628 -0.9319 +vn -0.0000 0.7269 -0.6868 +vn -0.0000 0.8575 -0.5145 +vn -0.0000 -0.5913 -0.8064 +vn -0.0000 -0.5914 -0.8064 +vn -0.0000 -0.8388 0.5445 +vn -0.0000 -0.9531 0.3026 +vn -0.0000 -0.4458 0.8952 +vn -0.0000 -0.0834 0.9965 +vn -0.0000 0.0303 0.9995 +vn -0.0000 -0.9165 0.3999 +vn -0.0000 0.6768 0.7362 +vn -0.0000 0.9810 -0.1943 +vt 0.023130 0.630533 +vt 0.028439 0.641072 +vt 0.015114 0.640800 +vt 0.023687 0.621763 +vt 0.026907 0.616152 +vt 0.016156 0.618688 +vt 0.051880 0.644663 +vt 0.062490 0.660213 +vt 0.051880 0.660213 +vt 0.051880 0.632862 +vt 0.062490 0.644663 +vt 0.051880 0.623995 +vt 0.062490 0.632862 +vt 0.051880 0.617526 +vt 0.062490 0.623995 +vt 0.051880 0.603802 +vt 0.062490 0.617526 +vt 0.062519 0.663431 +vt 0.073130 0.667411 +vt 0.062519 0.667411 +vt 0.062519 0.649287 +vt 0.073130 0.663431 +vt 0.062519 0.638981 +vt 0.073130 0.649287 +vt 0.062519 0.623707 +vt 0.073130 0.638981 +vt 0.062519 0.616642 +vt 0.073130 0.623707 +vt 0.062519 0.603802 +vt 0.073130 0.616642 +vt 0.051880 0.682243 +vt 0.062490 0.700264 +vt 0.051880 0.700264 +vt 0.062490 0.682243 +vt 0.038162 0.653207 +vt 0.016938 0.659116 +vt 0.003769 0.646815 +vt 0.014364 0.633776 +vt 0.016213 0.618613 +vt 0.023743 0.621688 +vt 0.022455 0.610413 +vt 0.026964 0.616078 +vt 0.035571 0.605121 +vt 0.038162 0.608143 +vt 0.003713 0.646890 +vt 0.016882 0.659191 +vt 0.015057 0.640875 +vt 0.038105 0.653282 +vt 0.028383 0.641147 +vt 0.014307 0.633851 +vt 0.023073 0.630608 +vt 0.022398 0.610487 +vt 0.038105 0.608218 +vt 0.035515 0.605196 +vt 0.062490 0.603802 +vt 0.073130 0.603802 s 1 -f 419/817/328 420/818/329 421/819/328 -f 422/820/329 423/821/330 420/818/329 -f 424/822/330 425/823/331 423/824/330 -f 426/825/331 427/826/332 425/823/331 -f 428/827/332 429/828/333 427/826/332 -f 430/829/333 431/830/334 429/828/333 -f 426/831/335 424/832/335 432/833/335 -f 432/834/334 433/835/336 431/830/334 -f 434/836/336 421/819/328 433/835/336 -f 425/837/337 429/838/337 433/839/337 -f 419/817/328 422/820/329 420/818/329 -f 422/820/329 424/840/330 423/821/330 -f 424/822/330 426/825/331 425/823/331 -f 426/825/331 428/827/332 427/826/332 -f 428/827/332 430/829/333 429/828/333 -f 430/829/333 432/834/334 431/830/334 -f 424/832/335 422/841/335 419/842/335 -f 419/842/335 434/843/335 424/832/335 -f 434/843/335 432/833/335 424/832/335 -f 432/833/335 430/844/335 428/845/335 -f 428/845/335 426/831/335 432/833/335 -f 432/834/334 434/836/336 433/835/336 -f 434/836/336 419/817/328 421/819/328 -f 433/839/337 421/846/337 420/847/337 -f 420/847/337 423/848/337 425/837/337 -f 425/837/337 427/849/337 429/838/337 -f 429/838/337 431/850/337 433/839/337 -f 433/839/337 420/847/337 425/837/337 +f 425/819/337 426/820/337 427/821/337 +f 428/822/338 429/823/338 430/824/338 +f 426/825/339 431/826/340 432/827/340 +f 425/828/341 433/829/339 426/825/339 +f 434/830/342 435/831/341 425/828/341 +f 436/832/343 428/833/342 434/830/342 +f 437/834/344 429/835/343 436/832/343 +f 438/836/345 439/837/345 437/838/346 +f 440/839/347 441/840/348 438/836/348 +f 442/841/349 443/842/347 440/839/347 +f 444/843/350 430/844/349 442/841/349 +f 427/845/351 445/846/350 444/843/350 +f 446/847/352 447/848/352 427/845/352 +f 448/849/353 449/850/353 446/851/353 +f 432/827/354 450/852/354 448/849/354 +f 432/853/337 448/854/337 426/820/337 +f 448/854/337 446/855/337 427/821/337 +f 427/821/337 444/856/337 425/819/337 +f 444/856/337 442/857/337 425/819/337 +f 425/819/337 442/857/337 434/858/337 +f 448/854/337 427/821/337 426/820/337 +f 442/857/337 440/859/337 436/860/337 +f 434/858/337 442/857/337 436/860/337 +f 440/859/337 438/861/337 436/860/337 +f 438/861/337 437/862/337 436/860/337 +f 449/863/338 450/864/338 447/865/338 +f 450/864/338 431/866/338 433/867/338 +f 450/864/338 433/867/338 447/865/338 +f 430/824/338 445/868/338 435/869/338 +f 445/868/338 447/865/338 435/869/338 +f 447/865/338 433/867/338 435/869/338 +f 443/870/338 430/824/338 429/823/338 +f 439/871/338 441/872/338 429/823/338 +f 441/872/338 443/870/338 429/823/338 +f 430/824/338 435/869/338 428/822/338 +f 426/825/339 433/829/339 431/826/340 +f 425/828/341 435/831/341 433/829/339 +f 434/830/342 428/833/342 435/831/341 +f 436/832/343 429/835/343 428/833/342 +f 437/834/344 439/873/344 429/835/343 +f 438/836/345 441/840/345 439/837/345 +f 440/839/347 443/842/347 441/840/348 +f 442/841/349 430/844/349 443/842/347 +f 444/843/350 445/846/350 430/844/349 +f 427/845/351 447/848/351 445/846/350 +f 446/847/352 449/874/352 447/848/352 +f 448/849/353 450/852/353 449/850/353 +f 432/827/354 431/826/354 450/852/354 +o Scope +v 0.000000 1.477200 0.088723 +v 0.098039 1.333949 0.145326 +v 0.000000 1.333949 0.088723 +v 0.098039 1.477200 0.145326 +v 0.098039 1.333949 0.258532 +v 0.098039 1.477200 0.258532 +v 0.000000 1.333949 0.315135 +v 0.000000 1.477200 0.315135 +v -0.098039 1.333949 0.258532 +v -0.098039 1.477200 0.258532 +v -0.098039 1.333949 0.145326 +v -0.098039 1.477200 0.145326 +v -0.052355 1.290100 0.088723 +v -0.195606 1.192061 0.145326 +v -0.195606 1.290100 0.088723 +v -0.052355 1.192061 0.145326 +v -0.195606 1.192061 0.258532 +v -0.052355 1.192061 0.258532 +v -0.195606 1.290100 0.315135 +v -0.052355 1.290100 0.315135 +v -0.195606 1.388139 0.258532 +v -0.052355 1.388139 0.258532 +v -0.195606 1.388139 0.145326 +v -0.052355 1.388139 0.145326 +v 0.122250 1.167851 -0.880258 +v 0.172888 1.290101 -0.535252 +v 0.122250 1.167851 -0.535252 +v 0.122250 1.412351 -0.880258 +v 0.122250 1.412351 -0.535252 +v 0.000000 1.462989 -0.535252 +v 0.000000 1.462989 -0.880258 +v -0.122250 1.412351 -0.535252 +v -0.122250 1.412351 -0.880258 +v -0.172888 1.290101 -0.535252 +v -0.172888 1.290101 -0.880258 +v -0.122250 1.167851 -0.535252 +v -0.148774 1.290101 -0.842944 +v 0.000000 1.438875 -0.842944 +v 0.148774 1.290101 -0.842944 +v -0.122250 1.167851 -0.880258 +v 0.000000 1.117213 -0.535252 +v 0.047857 1.242244 1.175174 +v 0.047857 1.337958 1.175174 +v -0.047857 1.337958 1.175174 +v -0.101696 1.188405 0.795065 +v 0.000000 1.118381 0.903662 +v -0.121424 1.168677 0.903662 +v -0.143820 1.290101 0.795065 +v -0.171720 1.290101 0.903662 +v -0.101696 1.391797 0.795065 +v -0.121424 1.411525 0.903662 +v 0.000000 1.433921 0.795065 +v 0.000000 1.461821 0.903662 +v 0.101696 1.391797 0.795065 +v 0.121424 1.411525 0.903662 +v 0.143820 1.290101 0.795065 +v 0.171720 1.290101 0.903662 +v 0.101696 1.188405 0.795065 +v 0.121424 1.168677 0.903662 +v 0.000000 1.146281 0.795065 +v -0.101696 1.188405 -0.426655 +v 0.000000 1.146281 -0.380929 +v -0.101696 1.188405 -0.380929 +v -0.143820 1.290101 -0.426655 +v -0.143820 1.290101 -0.380929 +v -0.101696 1.391797 -0.426655 +v -0.101696 1.391797 -0.380929 +v 0.000000 1.433921 -0.426655 +v 0.000000 1.433921 -0.380929 +v 0.101696 1.391797 -0.426655 +v 0.101696 1.391797 -0.380929 +v 0.143820 1.290101 -0.426655 +v 0.143820 1.290101 -0.380929 +v 0.101696 1.188405 -0.426655 +v 0.101696 1.188405 -0.380929 +v 0.000000 1.146281 -0.426655 +v 0.171720 1.290101 1.200607 +v 0.121424 1.411525 1.200607 +v 0.000000 1.461821 1.200607 +v -0.121424 1.411525 1.200607 +v -0.171720 1.290101 1.200607 +v -0.121424 1.168677 1.200607 +v 0.000000 1.118381 1.200607 +v 0.000000 1.146281 0.387825 +v 0.101696 1.188405 0.425211 +v 0.000000 1.146281 0.425211 +v 0.127181 1.162920 -0.019415 +v 0.127181 1.162920 0.387825 +v 0.143820 1.290101 0.387825 +v 0.143820 1.290101 0.425211 +v 0.101696 1.391797 0.425211 +v 0.143820 1.290101 -0.019415 +v 0.127181 1.417282 0.387825 +v 0.000000 1.433921 0.387825 +v 0.000000 1.433921 0.425211 +v 0.127181 1.417282 -0.019415 +v -0.101696 1.391797 0.425211 +v 0.000000 1.433921 -0.019415 +v -0.127181 1.417282 0.387825 +v -0.143820 1.290101 0.387825 +v -0.143820 1.290101 0.425211 +v -0.127181 1.417282 -0.019415 +v -0.101696 1.188405 0.425211 +v -0.143820 1.290101 -0.019415 +v -0.127181 1.162920 0.387825 +v -0.127181 1.162920 -0.019415 +v 0.000000 1.146281 0.560528 +v -0.101696 1.188405 0.560528 +v -0.143820 1.290101 0.560528 +v -0.101696 1.391797 0.560528 +v 0.000000 1.433921 0.560528 +v 0.101696 1.391797 0.560528 +v 0.143820 1.290101 0.560528 +v 0.101696 1.188405 0.560528 +v 0.000000 1.146281 -0.019415 +v 0.101696 1.188405 -0.056801 +v 0.101696 1.391797 -0.056801 +v -0.101696 1.391797 -0.056801 +v -0.101696 1.188405 -0.056801 +v 0.000000 1.146281 0.726438 +v -0.113307 1.408526 -0.380929 +v 0.000000 1.453522 -0.380929 +v 0.101696 1.188405 0.726438 +v -0.125746 1.106419 0.726438 +v 0.000000 1.113253 0.726438 +v 0.143820 1.290101 0.726438 +v 0.125746 1.106419 0.726438 +v 0.101696 1.391797 0.726438 +v 0.000000 1.433921 -0.214523 +v -0.113307 1.408526 -0.214523 +v -0.101696 1.391797 -0.214523 +v 0.000000 1.433921 0.726438 +v -0.125746 1.106419 0.560528 +v -0.160240 1.306368 0.560528 +v -0.101696 1.391797 0.726438 +v 0.113307 1.408526 -0.380929 +v -0.143820 1.290101 0.726438 +v -0.101696 1.188405 0.726438 +v 0.113307 1.408526 -0.214523 +v 0.000000 1.453522 -0.214523 +v 0.000000 1.146281 -0.056801 +v 0.101696 1.188405 -0.214523 +v -0.113307 1.408526 0.560528 +v 0.143820 1.290101 -0.056801 +v 0.160240 1.306368 -0.380929 +v 0.143820 1.290101 -0.214523 +v -0.160240 1.306368 0.726438 +v 0.101696 1.391797 -0.214523 +v 0.000000 1.433921 -0.056801 +v 0.160240 1.306368 -0.214523 +v 0.000000 1.453522 0.560528 +v -0.143820 1.290101 -0.056801 +v 0.125746 1.106419 -0.380929 +v -0.143820 1.290101 -0.214523 +v -0.113307 1.408526 0.726438 +v -0.101696 1.188405 -0.214523 +v 0.125746 1.106419 -0.214523 +v 0.000000 1.113253 0.560528 +v 0.125746 1.106419 0.560528 +v 0.160240 1.306368 0.726438 +v 0.160240 1.306368 0.560528 +v 0.113307 1.408526 0.726438 +v 0.113307 1.408526 0.560528 +v 0.000000 1.453522 0.726438 +v 0.000000 1.113253 -0.214523 +v -0.160240 1.306368 -0.214523 +v -0.125746 1.106419 -0.380929 +v -0.125746 1.106419 -0.214523 +v -0.160240 1.306368 -0.380929 +v 0.000000 1.146281 -0.214523 +v 0.000000 1.113253 -0.380929 +v -0.106302 1.396403 1.157056 +v -0.150333 1.290101 1.200607 +v -0.150333 1.290101 1.157056 +v 0.000000 1.440434 1.157056 +v -0.106302 1.396403 1.200607 +v 0.106302 1.396403 1.157056 +v 0.000000 1.440434 1.200607 +v 0.150333 1.290101 1.157056 +v 0.106302 1.396403 1.200607 +v 0.000000 1.156786 1.166115 +v 0.106302 1.183800 1.157056 +v 0.094268 1.195833 1.166115 +v 0.133315 1.290101 1.166115 +v 0.094268 1.384369 1.166115 +v 0.000000 1.423417 1.166115 +v -0.094268 1.384369 1.166115 +v -0.133315 1.290101 1.166115 +v -0.106302 1.183800 1.157056 +v -0.094268 1.195833 1.166115 +v 0.000000 1.139768 1.157056 +v 0.000000 1.178299 1.171550 +v 0.079056 1.211045 1.171550 +v 0.111802 1.290101 1.171550 +v 0.079056 1.369157 1.171550 +v 0.000000 1.401903 1.171550 +v -0.079056 1.369157 1.171550 +v -0.111802 1.290101 1.171550 +v -0.079056 1.211045 1.171550 +v 0.000000 1.222421 1.175174 +v 0.067680 1.290101 1.175174 +v 0.000000 1.357781 1.175174 +v -0.067680 1.290101 1.175174 +v -0.047857 1.242244 1.175174 +v 0.000000 1.139768 1.200607 +v 0.121424 1.168677 1.200607 +v 0.106302 1.183800 1.200607 +v 0.150333 1.290101 1.200607 +v -0.106302 1.183800 1.200607 +v -0.105199 1.184902 -0.842944 +v -0.148774 1.290101 -0.880258 +v -0.105199 1.395301 -0.880258 +v -0.105199 1.395301 -0.842944 +v 0.000000 1.438875 -0.880258 +v 0.105199 1.395301 -0.880258 +v 0.105199 1.395301 -0.842944 +v 0.105199 1.184902 -0.880258 +v 0.000000 1.117213 -0.880258 +v 0.000000 1.141327 -0.880258 +v 0.148774 1.290101 -0.880258 +v 0.172888 1.290101 -0.880258 +v -0.105199 1.184902 -0.880258 +v 0.000000 1.141327 -0.842944 +v 0.105199 1.184902 -0.842944 +v 0.127287 1.060470 -0.215130 +v -0.127287 1.060470 -0.215130 +v -0.137370 0.965631 -0.215130 +v 0.127287 1.060470 -0.381779 +v 0.127345 1.113839 -0.215130 +v 0.165068 1.014758 -0.215130 +v 0.165068 1.014758 -0.381779 +v -0.127287 1.060470 -0.381779 +v 0.137370 0.965631 -0.381779 +v -0.127345 1.113839 -0.215130 +v -0.127345 1.113839 -0.381779 +v 0.127345 1.113839 -0.381779 +v -0.165068 0.999696 -0.381779 +v -0.137370 0.965631 -0.381779 +v 0.165068 0.999696 -0.215130 +v 0.137370 0.965631 -0.215130 +v -0.165068 1.014758 -0.381779 +v -0.165068 1.014758 -0.215130 +v 0.165068 0.999696 -0.381779 +v -0.165068 0.999696 -0.215130 +v 0.127287 1.060470 0.727120 +v -0.127287 1.060470 0.727120 +v -0.137370 0.965631 0.727120 +v 0.127345 1.113839 0.560471 +v 0.127287 1.060470 0.560471 +v 0.165068 1.014758 0.727120 +v 0.165068 1.014758 0.560471 +v -0.127287 1.060470 0.560471 +v 0.137370 0.965631 0.560471 +v -0.127345 1.113839 0.727120 +v -0.127345 1.113839 0.560471 +v 0.127345 1.113839 0.727120 +v -0.165068 0.999696 0.560471 +v -0.137370 0.965631 0.560471 +v 0.165068 0.999696 0.727120 +v 0.137370 0.965631 0.727120 +v -0.165068 1.014758 0.560471 +v -0.165068 1.014758 0.727120 +v 0.165068 0.999696 0.560471 +v -0.165068 0.999696 0.727120 +v -0.128673 1.041385 0.864105 +v -0.158890 1.005824 -0.497553 +v -0.158890 1.005824 0.864105 +v 0.128673 1.041385 -0.497553 +v 0.158890 1.005824 0.864105 +v 0.158890 1.005824 -0.497553 +v -0.128673 0.970263 -0.497553 +v 0.128673 0.970263 -0.497553 +v -0.042891 0.970263 -0.078904 +v 0.128673 0.970263 0.864105 +v -0.128673 1.041385 -0.497553 +v -0.042891 1.005824 0.864105 +v -0.042891 0.970263 0.864105 +v -0.042891 0.970263 0.913056 +v -0.128673 0.970263 0.864105 +v 0.128673 1.041385 0.864105 +v 0.042891 0.970263 0.864105 +v 0.042891 0.916053 0.076168 +v 0.042891 0.970263 -0.078904 +v 0.042891 1.005824 0.953107 +v -0.042891 0.970263 0.953107 +v 0.042891 0.970263 0.953107 +v 0.042891 0.894106 0.885317 +v 0.042891 0.970263 0.913056 +v 0.042891 1.005824 0.864105 +v -0.042891 0.868174 0.915839 +v -0.042891 0.894106 0.885317 +v 0.042891 0.868174 0.915839 +v -0.042891 0.970263 -0.078904 +v 0.042891 0.916053 0.864105 +v -0.042891 0.916053 0.076168 +v -0.042891 0.916053 0.864105 +v 0.042891 0.970263 -0.078904 +v -0.042891 1.005824 0.953107 +vn -0.0000 -0.0000 1.0000 +vn 1.0000 -0.0011 -0.0000 +vn 0.7708 0.6371 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn -1.0000 -0.0011 -0.0000 +vn -0.0000 1.0000 -0.0000 +vn -0.7759 -0.6309 -0.0000 +vn 0.7759 -0.6309 -0.0000 +vn -0.0000 -1.0000 -0.0000 +vn -0.7708 0.6371 -0.0000 +vn 1.0000 -0.0000 -0.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.7620 0.6475 -0.0000 +vn 0.7620 0.6475 -0.0000 +vn 0.7620 -0.6475 -0.0000 +vn -0.7620 -0.6475 -0.0000 +vn -0.0000 -0.7621 -0.6475 +vn -0.0000 0.3422 -0.9396 +vn -0.0000 -0.3429 0.9394 +vn -0.0000 -0.9440 -0.3300 +vn -0.0000 -0.0000 -0.0000 +vn 0.8660 -0.0000 -0.5000 +vn 0.8660 -0.0000 0.5000 +vn -0.8660 -0.0000 0.5000 +vn -0.8660 -0.0000 -0.5000 +vn -0.0000 -0.8660 -0.5000 +vn -0.0000 -0.8660 0.5000 +vn -0.0000 0.8660 0.5000 +vn -0.0000 0.8660 -0.5000 +vn 0.7071 -0.7071 -0.0000 +vn 0.7071 0.7071 -0.0000 +vn -0.7071 0.7071 -0.0000 +vn -0.7071 -0.7071 -0.0000 +vn 0.0362 -0.0362 0.9987 +vn 0.0362 0.0362 0.9987 +vn -0.0362 0.0362 0.9987 +vn -0.6849 -0.6849 -0.2488 +vn -0.0000 -0.9685 -0.2488 +vn -0.9685 -0.0000 -0.2488 +vn -0.6849 0.6849 -0.2488 +vn -0.0000 0.9685 -0.2488 +vn 0.6849 0.6849 -0.2488 +vn 0.9685 -0.0000 -0.2488 +vn 0.6849 -0.6849 -0.2488 +vn -0.6831 -0.6831 0.2586 +vn -0.0000 -0.9660 0.2586 +vn -0.9660 -0.0000 0.2586 +vn -0.6831 0.6831 0.2586 +vn -0.0000 0.9660 0.2586 +vn 0.6831 0.6831 0.2586 +vn 0.9660 -0.0000 0.2586 +vn 0.6831 -0.6831 0.2586 +vn -0.0000 -0.9856 0.1689 +vn 0.1560 -0.8391 0.5211 +vn 0.1297 -0.9916 -0.0000 +vn 0.8391 -0.1560 0.5211 +vn 0.9856 -0.0000 0.1689 +vn 0.9916 -0.1297 -0.0000 +vn 0.8391 0.1560 0.5211 +vn 0.9916 0.1297 -0.0000 +vn 0.1560 0.8391 0.5211 +vn -0.0000 0.9856 0.1689 +vn 0.1297 0.9916 -0.0000 +vn -0.1560 0.8391 0.5211 +vn -0.1297 0.9916 -0.0000 +vn -0.8391 0.1560 0.5211 +vn -0.9856 -0.0000 0.1689 +vn -0.9916 0.1297 -0.0000 +vn -0.8391 -0.1560 0.5211 +vn -0.9916 -0.1297 -0.0000 +vn -0.1560 -0.8391 0.5211 +vn -0.1297 -0.9916 -0.0000 +vn -0.0000 -0.9856 -0.1689 +vn 0.1560 -0.8391 -0.5211 +vn 0.1031 -0.7878 -0.6073 +vn 0.8391 -0.1560 -0.5211 +vn 0.9856 -0.0000 -0.1689 +vn 0.7878 -0.1031 -0.6073 +vn 0.8391 0.1560 -0.5211 +vn 0.7878 0.1031 -0.6073 +vn 0.1560 0.8391 -0.5211 +vn -0.0000 0.9856 -0.1689 +vn 0.1031 0.7878 -0.6073 +vn -0.1560 0.8391 -0.5211 +vn -0.1031 0.7878 -0.6073 +vn -0.8391 0.1560 -0.5211 +vn -0.9856 -0.0000 -0.1689 +vn -0.7878 0.1031 -0.6073 +vn -0.8391 -0.1560 -0.5211 +vn -0.7878 -0.1031 -0.6073 +vn -0.1560 -0.8391 -0.5211 +vn -0.1031 -0.7878 -0.6073 +vn -0.0543 -0.9985 -0.0000 +vn 0.9854 -0.1700 -0.0000 +vn 0.9916 0.1295 -0.0000 +vn 0.6883 0.7255 -0.0000 +vn -0.6883 0.7255 -0.0000 +vn -0.9916 0.1295 -0.0000 +vn -0.9854 -0.1700 -0.0000 +vn 0.0543 -0.9985 -0.0000 +vn -0.0000 -0.3856 0.9227 +vn 0.3323 -0.3323 0.8827 +vn 0.2727 -0.2727 0.9227 +vn 0.4699 -0.0000 0.8827 +vn 0.3856 -0.0000 0.9227 +vn 0.3323 0.3323 0.8827 +vn 0.2727 0.2727 0.9227 +vn -0.0000 0.4699 0.8827 +vn -0.0000 0.3856 0.9227 +vn -0.3323 0.3323 0.8827 +vn -0.2727 0.2727 0.9227 +vn -0.3856 -0.0000 0.9227 +vn -0.4699 -0.0000 0.8827 +vn -0.3323 -0.3323 0.8827 +vn -0.2727 -0.2727 0.9227 +vn -0.0000 -0.4699 0.8827 +vn -0.0000 -0.1839 0.9829 +vn 0.1300 -0.1300 0.9829 +vn 0.1839 -0.0000 0.9829 +vn 0.1300 0.1300 0.9829 +vn -0.0000 0.1839 0.9829 +vn -0.1300 0.1300 0.9829 +vn -0.1839 -0.0000 0.9829 +vn -0.1300 -0.1300 0.9829 +vn -0.0000 -0.0512 0.9987 +vn 0.0512 -0.0000 0.9987 +vn -0.0000 0.0512 0.9987 +vn -0.0512 -0.0000 0.9987 +vn -0.0362 -0.0362 0.9987 +vn 0.1031 -0.7878 0.6073 +vn 0.7878 -0.1031 0.6073 +vn 0.7878 0.1031 0.6073 +vn 0.1031 0.7878 0.6073 +vn -0.1031 0.7878 0.6073 +vn -0.7878 0.1031 0.6073 +vn -0.7878 -0.1031 0.6073 +vn -0.1031 -0.7878 0.6073 +vt 0.862112 0.382430 +vt 0.862112 0.343887 +vt 0.876470 0.342361 +vt 0.781491 0.334765 +vt 0.831474 0.326685 +vt 0.831474 0.334765 +vt 0.831474 0.343744 +vt 0.781491 0.343744 +vt 0.839614 0.332388 +vt 0.839614 0.293845 +vt 0.853972 0.292318 +vt 0.831474 0.420254 +vt 0.781491 0.412174 +vt 0.831474 0.412174 +vt 0.781491 0.288125 +vt 0.781491 0.326685 +vt 0.831474 0.394267 +vt 0.781491 0.400915 +vt 0.781491 0.394268 +vt 0.781491 0.352672 +vt 0.831474 0.346025 +vt 0.831474 0.352672 +vt 0.781491 0.403195 +vt 0.831474 0.403195 +vt 0.781491 0.346025 +vt 0.831474 0.400915 +vt 0.862112 0.332388 +vt 0.862112 0.293845 +vt 0.876470 0.292318 +vt 0.731449 0.326685 +vt 0.781432 0.334765 +vt 0.731449 0.334765 +vt 0.781432 0.343744 +vt 0.731449 0.343744 +vt 0.839614 0.382430 +vt 0.839614 0.343887 +vt 0.853972 0.342361 +vt 0.781432 0.420254 +vt 0.731449 0.412174 +vt 0.781432 0.412174 +vt 0.731449 0.288125 +vt 0.781432 0.326685 +vt 0.781432 0.394268 +vt 0.731449 0.400915 +vt 0.731449 0.394268 +vt 0.731449 0.352672 +vt 0.781432 0.346025 +vt 0.781432 0.352672 +vt 0.731449 0.403195 +vt 0.781432 0.403195 +vt 0.731449 0.346025 +vt 0.781432 0.400915 +vt 0.876470 0.383956 +vt 0.871313 0.388150 +vt 0.869033 0.388150 +vt 0.854032 0.382439 +vt 0.854032 0.343878 +vt 0.869033 0.338167 +vt 0.871313 0.338167 +vt 0.853972 0.333914 +vt 0.848815 0.338108 +vt 0.846534 0.338108 +vt 0.831533 0.332397 +vt 0.831533 0.293836 +vt 0.846534 0.288125 +vt 0.848815 0.288125 +vt 0.781491 0.420254 +vt 0.831474 0.288125 +vt 0.876470 0.333914 +vt 0.871313 0.338108 +vt 0.869033 0.338108 +vt 0.854032 0.332397 +vt 0.854032 0.293836 +vt 0.869033 0.288125 +vt 0.871313 0.288125 +vt 0.853972 0.383956 +vt 0.848815 0.388150 +vt 0.846534 0.388150 +vt 0.831533 0.382439 +vt 0.831533 0.343878 +vt 0.846534 0.338167 +vt 0.848815 0.338167 +vt 0.731449 0.420254 +vt 0.781432 0.288125 +vt 0.064605 0.000179 +vt 0.032391 0.940141 +vt 0.032391 0.000179 +vt 0.242253 0.940141 +vt 0.274466 0.000179 +vt 0.274467 0.940141 +vt 0.484329 0.940141 +vt 0.306680 0.940141 +vt 0.425112 0.651144 +vt 0.306680 0.000179 +vt 0.534226 0.414338 +vt 0.534226 0.236360 +vt 0.583414 0.236360 +vt 0.546318 0.592663 +vt 0.546318 0.568069 +vt 0.512464 0.568069 +vt 0.000178 0.940141 +vt 0.000178 0.000179 +vt 0.064605 0.940141 +vt 0.242253 0.000179 +vt 0.487811 0.005697 +vt 0.519381 0.464564 +vt 0.487811 0.554873 +vt 0.073028 1.000143 +vt 0.097622 0.940817 +vt 0.097622 1.000143 +vt 0.484684 0.568103 +vt 0.531567 0.515434 +vt 0.512383 0.568103 +vt 0.290390 1.000143 +vt 0.256536 0.940817 +vt 0.290390 0.940817 +vt 0.583463 0.236360 +vt 0.558869 0.355012 +vt 0.558869 0.295686 +vt 0.200482 1.000143 +vt 0.172783 0.940817 +vt 0.200482 0.940817 +vt 0.256536 1.000143 +vt 0.172783 1.000143 +vt 0.011475 0.940817 +vt 0.011475 1.000143 +vt 0.398353 0.604156 +vt 0.398156 0.603821 +vt 0.398353 0.604149 +vt 0.533461 0.664397 +vt 0.495970 0.605071 +vt 0.533461 0.605071 +vt 0.519381 0.005697 +vt 0.425288 0.548168 +vt 0.365961 0.661778 +vt 0.365961 0.548168 +vt 0.425288 0.003239 +vt 0.365896 0.651144 +vt 0.365896 0.000179 +vt 0.425112 0.000178 +vt 0.484329 0.000178 +vt 0.558820 0.215462 +vt 0.583414 0.414338 +vt 0.558820 0.435236 +vt 0.531648 0.515400 +vt 0.484765 0.568069 +vt 0.510539 0.497465 +vt 0.484765 0.592663 +vt 0.073028 0.940817 +vt 0.546237 0.568103 +vt 0.546237 0.592696 +vt 0.484684 0.592696 +vt 0.510458 0.497499 +vt 0.534276 0.236360 +vt 0.558869 0.215462 +vt 0.583463 0.414338 +vt 0.558869 0.435236 +vt 0.534276 0.414338 +vt 0.534276 0.355012 +vt 0.534276 0.295686 +vt 0.397971 0.604156 +vt 0.495970 0.664397 +vt 0.425288 0.661778 +vt 0.365961 0.003239 +vt 0.298927 0.396205 +vt 0.426834 0.332251 +vt 0.426834 0.396205 +vt 0.298927 0.332251 +vt 0.426834 0.268298 +vt 0.298927 0.268297 +vt 0.426834 0.204344 +vt 0.298927 0.588067 +vt 0.426834 0.524113 +vt 0.426834 0.588067 +vt 0.482312 0.332251 +vt 0.426926 0.236321 +vt 0.537698 0.236321 +vt 0.298927 0.524113 +vt 0.426834 0.460159 +vt 0.298927 0.460159 +vt 0.537698 0.364320 +vt 0.482312 0.460251 +vt 0.426926 0.364320 +vt 0.298927 0.204344 +vt 0.537698 0.300274 +vt 0.426926 0.300274 +vt 0.482312 0.204344 +vt 0.482312 0.332343 +vt 0.537698 0.428274 +vt 0.426926 0.428274 +vt 0.625763 0.415571 +vt 0.819774 0.344939 +vt 0.820219 0.412768 +vt 0.625356 0.276291 +vt 0.819329 0.277211 +vt 0.818884 0.209376 +vt 0.625153 0.206823 +vt 0.818436 0.141164 +vt 0.624951 0.137496 +vt 0.817982 0.071918 +vt 0.624748 0.068299 +vt 0.817507 -0.000475 +vt 0.739260 0.846264 +vt 0.780443 0.945689 +vt 0.681018 0.986873 +vt 0.626172 0.555444 +vt 0.820667 0.481090 +vt 0.821128 0.551376 +vt 0.696930 0.948356 +vt 0.678415 0.903416 +vt 0.723357 0.884906 +vt 0.876666 0.003400 +vt 0.816718 0.072080 +vt 0.816304 0.006550 +vt 0.876085 0.483878 +vt 0.819483 0.550860 +vt 0.819079 0.483115 +vt 0.876168 0.415340 +vt 0.818684 0.414464 +vt 0.876251 0.346487 +vt 0.818292 0.346212 +vt 0.876334 0.277480 +vt 0.817901 0.278056 +vt 0.876418 0.208392 +vt 0.817509 0.209851 +vt 0.876502 0.139291 +vt 0.817116 0.141387 +vt 0.876585 0.070439 +vt 0.876585 0.549564 +vt 0.900604 0.482520 +vt 0.900604 0.549669 +vt 0.876841 0.068823 +vt 0.900604 0.001360 +vt 0.900604 0.069103 +vt 0.876804 0.137986 +vt 0.900604 0.137993 +vt 0.876767 0.207313 +vt 0.900604 0.207190 +vt 0.876730 0.276558 +vt 0.900604 0.276413 +vt 0.876693 0.345668 +vt 0.900604 0.345495 +vt 0.876657 0.414568 +vt 0.900604 0.414254 +vt 0.876620 0.483158 +vt 0.876877 0.001414 +vt 0.626103 0.208309 +vt 0.626206 0.277009 +vt 0.626310 0.345842 +vt 0.626414 0.414767 +vt 0.626518 0.483792 +vt 0.626623 0.553016 +vt 0.625896 0.071491 +vt 0.814153 0.731675 +vt 0.754704 0.732862 +vt 0.807643 0.713695 +vt 0.837372 0.482857 +vt 0.629071 0.417250 +vt 0.837372 0.417250 +vt 0.695254 0.731675 +vt 0.701764 0.713695 +vt 0.837372 0.351644 +vt 0.648824 0.694528 +vt 0.629071 0.351644 +vt 0.837372 0.286037 +vt 0.860612 0.695197 +vt 0.814182 0.732345 +vt 0.807672 0.714365 +vt 0.629071 0.286037 +vt 0.837372 0.220430 +vt 0.754732 0.733532 +vt 0.629071 0.220430 +vt 0.837372 0.154823 +vt 0.695283 0.732345 +vt 0.701793 0.714365 +vt 0.629071 0.154823 +vt 0.837372 0.089217 +vt 0.648853 0.695197 +vt 0.629071 0.089217 +vt 0.837372 0.023610 +vt 0.860583 0.694528 +vt 0.629071 0.548464 +vt 0.837372 0.548464 +vt 0.636324 0.548220 +vt 0.705538 0.491917 +vt 0.705538 0.548220 +vt 0.705538 0.154102 +vt 0.636324 0.097799 +vt 0.705538 0.097799 +vt 0.636324 0.210405 +vt 0.705538 0.210405 +vt 0.636324 0.266707 +vt 0.705538 0.266707 +vt 0.636324 0.323010 +vt 0.705538 0.323010 +vt 0.636324 0.379312 +vt 0.705538 0.379312 +vt 0.636324 0.435615 +vt 0.705538 0.435615 +vt 0.636324 0.491917 +vt 0.695333 0.731288 +vt 0.754783 0.732474 +vt 0.754783 0.759036 +vt 0.814233 0.731288 +vt 0.860662 0.694140 +vt 0.877667 0.714545 +vt 0.649050 0.695197 +vt 0.695480 0.732345 +vt 0.632046 0.715602 +vt 0.754930 0.733532 +vt 0.754930 0.760094 +vt 0.814379 0.732345 +vt 0.860809 0.695197 +vt 0.877813 0.715602 +vt 0.648904 0.694140 +vt 0.631899 0.714545 +vt 0.900124 0.071811 +vt 0.902327 0.912035 +vt 0.960283 0.899046 +vt 0.902327 0.922061 +vt 0.900124 0.140016 +vt 0.901890 0.765040 +vt 0.837572 0.744650 +vt 0.901890 0.748146 +vt 0.900124 0.208571 +vt 0.966209 0.744650 +vt 0.953907 0.786586 +vt 0.900124 0.277204 +vt 0.902327 0.911782 +vt 0.844371 0.898793 +vt 0.850310 0.890236 +vt 0.900124 0.345738 +vt 0.975890 0.839400 +vt 0.966645 0.745448 +vt 0.984289 0.847721 +vt 0.900124 0.413996 +vt 0.844371 0.899046 +vt 0.850310 0.890489 +vt 0.900124 0.481829 +vt 0.876005 0.550176 +vt 0.828328 0.838603 +vt 0.849874 0.786586 +vt 0.900124 0.004636 +vt 0.960283 0.898792 +vt 0.902327 0.921808 +vt 0.711854 0.496239 +vt 0.631181 0.439936 +vt 0.711854 0.439936 +vt 0.954344 0.891417 +vt 0.960283 0.899974 +vt 0.711854 0.383634 +vt 0.820365 0.846792 +vt 0.828764 0.838472 +vt 0.631181 0.383634 +vt 0.711854 0.327331 +vt 0.849874 0.890620 +vt 0.819929 0.846923 +vt 0.631181 0.327331 +vt 0.711854 0.271028 +vt 0.954344 0.890236 +vt 0.984289 0.846539 +vt 0.631181 0.271028 +vt 0.711854 0.214726 +vt 0.902327 0.912963 +vt 0.902327 0.922989 +vt 0.631181 0.214726 +vt 0.711854 0.158423 +vt 0.838009 0.744520 +vt 0.850310 0.786455 +vt 0.631181 0.158423 +vt 0.711854 0.102121 +vt 0.901891 0.912166 +vt 0.843935 0.899176 +vt 0.631181 0.552542 +vt 0.711854 0.552541 +vt 0.975890 0.838219 +vt 0.966645 0.744267 +vt 0.397199 0.874901 +vt 0.482061 0.810488 +vt 0.482061 0.874901 +vt 0.397199 0.810488 +vt 0.482061 0.706705 +vt 0.397199 0.706705 +vt 0.482061 0.649202 +vt 0.397199 0.649202 +vt 0.482061 0.586843 +vt 0.397199 0.586843 +vt 0.482061 0.524485 +vt 0.397199 0.524485 +vt 0.482061 0.466981 +vt 0.397199 0.466981 +vt 0.482061 0.363198 +vt 0.397199 0.939314 +vt 0.482061 0.939314 +vt 0.396382 0.874901 +vt 0.311267 0.810488 +vt 0.396382 0.810488 +vt 0.396382 0.706705 +vt 0.311267 0.706705 +vt 0.396382 0.649202 +vt 0.311267 0.649202 +vt 0.396382 0.586843 +vt 0.311267 0.586843 +vt 0.396382 0.524485 +vt 0.311267 0.524485 +vt 0.396382 0.466981 +vt 0.311267 0.363198 +vt 0.396382 0.363198 +vt 0.311267 0.939314 +vt 0.396382 0.939314 +vt 0.902327 0.765837 +vt 0.838009 0.745448 +vt 0.902327 0.748944 +vt 0.954344 0.787383 +vt 0.820365 0.846539 +vt 0.828764 0.838219 +vt 0.975453 0.838603 +vt 0.983852 0.846923 +vt 0.954344 0.890489 +vt 0.984289 0.846793 +vt 0.828764 0.839400 +vt 0.850310 0.787383 +vt 0.838009 0.744267 +vt 0.850310 0.786202 +vt 0.953907 0.890619 +vt 0.959846 0.899176 +vt 0.975890 0.838472 +vt 0.966645 0.744520 +vt 0.850310 0.891417 +vt 0.820365 0.847721 +vt 0.902327 0.764656 +vt 0.954344 0.786202 +vt 0.902327 0.747763 +vt 0.901891 0.922191 +vt 0.902327 0.764909 +vt 0.902327 0.748016 +vt 0.954344 0.786455 +vt 0.844371 0.899974 +vt 0.640899 0.140025 +vt 0.663174 0.198878 +vt 0.640899 0.198878 +vt 0.640899 0.081173 +vt 0.663175 0.140025 +vt 0.640899 0.493140 +vt 0.663174 0.551992 +vt 0.640899 0.551992 +vt 0.640899 0.434287 +vt 0.663174 0.493140 +vt 0.736235 0.979788 +vt 0.680093 0.989178 +vt 0.683934 0.979737 +vt 0.637595 0.946681 +vt 0.646986 0.942722 +vt 0.637595 0.886581 +vt 0.647035 0.890422 +vt 0.680092 0.844083 +vt 0.684051 0.853475 +vt 0.740193 0.844085 +vt 0.736352 0.853526 +vt 0.773300 0.890541 +vt 0.782692 0.886581 +vt 0.782692 0.946682 +vt 0.773251 0.942841 +vt 0.740194 0.989180 +vt 0.731842 0.969217 +vt 0.688303 0.969155 +vt 0.657557 0.938328 +vt 0.657617 0.894790 +vt 0.688445 0.864046 +vt 0.731984 0.864107 +vt 0.762729 0.894934 +vt 0.762669 0.938473 +vt 0.723236 0.948412 +vt 0.678362 0.929721 +vt 0.697051 0.884851 +vt 0.741925 0.903542 +vt 0.741872 0.929847 +vt 0.799881 0.604423 +vt 0.785094 0.666531 +vt 0.777359 0.658796 +vt 0.722987 0.692257 +vt 0.722987 0.681318 +vt 0.660879 0.666531 +vt 0.668614 0.658796 +vt 0.635153 0.604424 +vt 0.646092 0.604424 +vt 0.799881 0.604346 +vt 0.785094 0.666454 +vt 0.777359 0.658718 +vt 0.722987 0.681240 +vt 0.722987 0.692179 +vt 0.660879 0.666454 +vt 0.668614 0.658718 +vt 0.646092 0.604346 +vt 0.635153 0.604346 +vt 0.663174 0.257730 +vt 0.640899 0.257730 +vt 0.663174 0.316582 +vt 0.640899 0.316582 +vt 0.663174 0.375435 +vt 0.640899 0.375435 +vt 0.663174 0.434287 +vt 0.625999 0.139796 +vt 0.642973 0.084114 +vt 0.662059 0.142357 +vt 0.642973 0.142357 +vt 0.662059 0.200599 +vt 0.642973 0.200599 +vt 0.662059 0.258841 +vt 0.642973 0.258841 +vt 0.662059 0.317083 +vt 0.642973 0.317083 +vt 0.723487 0.680169 +vt 0.660957 0.666602 +vt 0.669679 0.657881 +vt 0.777296 0.657881 +vt 0.723487 0.692503 +vt 0.799585 0.604072 +vt 0.786018 0.666602 +vt 0.669775 0.658077 +vt 0.635153 0.604268 +vt 0.647487 0.604268 +vt 0.723584 0.680365 +vt 0.661054 0.666798 +vt 0.777393 0.658077 +vt 0.723584 0.692699 +vt 0.799681 0.604268 +vt 0.786114 0.666798 +vt 0.635056 0.604072 +vt 0.647390 0.604072 +vt 0.642973 0.491810 +vt 0.662059 0.550052 +vt 0.642973 0.550052 +vt 0.642973 0.433568 +vt 0.662059 0.491810 +vt 0.642973 0.375326 +vt 0.662059 0.433568 +vt 0.662059 0.375326 +vt 0.625967 0.485397 +vt 0.625560 0.345878 +vt 0.624550 0.000408 +vt 0.639834 0.945689 +vt 0.639834 0.887447 +vt 0.681018 0.846264 +vt 0.780443 0.887447 +vt 0.739260 0.986873 +vt 0.625795 0.004394 +vt 0.754704 0.759424 +vt 0.629071 0.482857 +vt 0.631819 0.714933 +vt 0.877616 0.715602 +vt 0.754732 0.760094 +vt 0.631849 0.715602 +vt 0.629071 0.023610 +vt 0.877587 0.714933 +vt 0.636324 0.154102 +vt 0.701844 0.713307 +vt 0.807723 0.713307 +vt 0.701990 0.714365 +vt 0.807869 0.714365 +vt 0.900124 0.549107 +vt 0.631181 0.496239 +vt 0.631181 0.102121 +vt 0.397199 0.363198 +vt 0.311267 0.874901 +vt 0.311267 0.466981 +vt 0.663175 0.081173 +vt 0.810820 0.604423 +vt 0.810820 0.604346 +vt 0.662059 0.084114 +vt 0.811918 0.604072 +vt 0.812015 0.604268 +s 0 +f 675/875/355 676/876/355 677/877/355 +f 678/878/356 679/879/356 675/880/356 +f 678/878/357 680/881/357 681/882/357 +f 682/883/358 678/884/358 683/885/358 +f 684/886/359 682/887/359 676/888/359 +f 685/889/360 679/879/360 686/890/360 +f 677/891/361 687/892/361 688/893/361 +f 683/894/362 689/895/362 690/896/362 +f 683/894/363 677/891/363 688/893/363 +f 676/888/364 691/897/364 692/898/364 +f 681/882/365 689/895/365 693/899/365 +f 692/898/366 687/892/366 694/900/366 +f 695/901/355 696/902/355 697/903/355 +f 698/904/356 695/905/356 699/906/356 +f 699/906/357 700/907/357 701/908/357 +f 702/909/358 699/910/358 703/911/358 +f 704/912/359 702/913/359 696/914/359 +f 705/915/360 706/916/360 698/904/360 +f 697/917/361 707/918/361 708/919/361 +f 703/920/362 709/921/362 710/922/362 +f 703/920/363 697/917/363 708/919/363 +f 696/914/364 711/923/364 712/924/364 +f 701/908/365 709/921/365 713/925/365 +f 712/924/366 707/918/366 714/926/366 +f 677/877/355 690/927/355 675/875/355 +f 690/927/355 689/928/355 680/929/355 +f 675/875/355 690/927/355 680/929/355 +f 675/875/355 679/930/355 684/931/355 +f 676/876/355 692/932/355 677/877/355 +f 692/932/355 694/933/355 677/877/355 +f 675/875/355 684/931/355 676/876/355 +f 678/878/356 686/890/356 679/879/356 +f 678/878/357 675/880/357 680/881/357 +f 683/885/358 688/934/358 682/883/358 +f 688/934/358 687/935/358 691/936/358 +f 682/883/358 688/934/358 691/936/358 +f 682/883/358 685/937/358 686/938/358 +f 678/884/358 681/939/358 683/885/358 +f 681/939/358 693/940/358 683/885/358 +f 682/883/358 686/938/358 678/884/358 +f 684/886/359 685/941/359 682/887/359 +f 685/889/360 684/942/360 679/879/360 +f 677/891/361 694/900/361 687/892/361 +f 683/894/362 693/899/362 689/895/362 +f 683/894/363 690/896/363 677/891/363 +f 676/888/364 682/887/364 691/897/364 +f 681/882/365 680/881/365 689/895/365 +f 692/898/366 691/897/366 687/892/366 +f 697/903/355 710/943/355 695/901/355 +f 710/943/355 709/944/355 700/945/355 +f 695/901/355 710/943/355 700/945/355 +f 695/901/355 706/946/355 704/947/355 +f 696/902/355 712/948/355 697/903/355 +f 712/948/355 714/949/355 697/903/355 +f 695/901/355 704/947/355 696/902/355 +f 698/904/356 706/916/356 695/905/356 +f 699/906/357 695/905/357 700/907/357 +f 703/911/358 708/950/358 702/909/358 +f 708/950/358 707/951/358 711/952/358 +f 702/909/358 708/950/358 711/952/358 +f 702/909/358 705/953/358 698/954/358 +f 699/910/358 701/955/358 703/911/358 +f 701/955/358 713/956/358 703/911/358 +f 702/909/358 698/954/358 699/910/358 +f 704/912/359 705/957/359 702/913/359 +f 705/915/360 704/958/360 706/916/360 +f 697/917/361 714/926/361 707/918/361 +f 703/920/362 713/925/362 709/921/362 +f 703/920/363 710/922/363 697/917/363 +f 696/914/364 702/913/364 711/923/364 +f 701/908/365 700/907/365 709/921/365 +f 712/924/366 711/923/366 707/918/366 +f 715/959/367 716/960/367 717/961/367 +f 718/962/368 719/963/368 720/964/368 +f 721/965/363 722/966/363 723/967/363 +f 720/964/369 724/968/369 722/966/369 +f 722/969/358 721/970/358 725/971/358 +f 726/972/366 727/973/366 728/974/366 +f 717/961/370 721/975/370 729/976/370 +f 725/977/360 730/978/360 718/962/360 +f 731/979/365 732/980/365 733/981/365 +f 734/982/355 735/983/355 736/984/355 +f 736/985/365 737/986/365 738/987/365 +f 731/988/363 728/989/363 727/990/363 +f 730/991/355 726/992/355 739/993/355 +f 737/994/371 740/995/371 741/996/371 +f 738/997/372 741/996/372 728/989/372 +f 735/983/373 742/998/373 736/984/373 +f 726/999/360 734/982/360 739/1000/360 +f 723/1001/355 733/1002/355 743/1003/355 +f 727/1004/355 744/1005/355 731/1006/355 +f 745/980/366 746/1007/366 727/979/366 +f 745/1008/374 733/1009/374 732/1010/374 +f 732/1010/363 746/1011/363 745/1008/363 +f 715/959/367 725/977/367 716/960/367 +f 718/962/368 730/978/368 719/963/368 +f 722/966/363 724/968/363 747/1012/363 +f 724/968/363 731/1013/363 747/1012/363 +f 727/1014/363 729/1015/363 723/967/363 +f 729/1015/363 721/965/363 723/967/363 +f 722/966/363 747/1012/363 723/967/363 +f 720/964/369 719/963/369 724/968/369 +f 716/1016/358 725/971/358 721/970/358 +f 725/971/358 718/1017/358 722/969/358 +f 718/1017/358 720/1018/358 722/969/358 +f 728/974/366 741/1019/366 735/1020/366 +f 741/1019/366 740/1021/366 735/1020/366 +f 735/1020/366 748/1022/366 728/974/366 +f 748/1022/366 726/972/366 728/974/366 +f 717/961/370 716/960/370 721/975/370 +f 725/977/360 715/959/360 730/978/360 +f 733/981/375 747/981/375 731/979/375 +f 731/979/365 744/1007/365 732/980/365 +f 734/982/355 748/1023/355 735/983/355 +f 738/987/365 731/1024/365 739/1025/365 +f 739/1025/365 734/1026/365 738/987/365 +f 734/1026/365 736/985/365 738/987/365 +f 736/985/365 742/1027/365 737/986/365 +f 731/988/363 738/997/363 728/989/363 +f 724/1028/355 719/1029/355 730/991/355 +f 730/991/355 715/1030/355 726/992/355 +f 715/1030/355 717/1031/355 729/1032/355 +f 726/992/355 715/1030/355 729/1032/355 +f 729/1032/355 727/1033/355 726/992/355 +f 731/1034/355 724/1028/355 739/993/355 +f 724/1028/355 730/991/355 739/993/355 +f 737/994/371 742/998/371 740/995/371 +f 738/997/372 737/994/372 741/996/372 +f 735/983/373 740/995/373 742/998/373 +f 726/999/360 748/1023/360 734/982/360 +f 723/1001/355 747/1035/355 733/1002/355 +f 727/1004/355 746/1036/355 744/1005/355 +f 727/979/375 723/981/375 743/981/375 +f 743/981/366 745/980/366 727/979/366 +f 745/1008/374 743/1037/374 733/1009/374 +f 732/1010/363 744/1038/363 746/1011/363 +s 1 +f 451/1039/358 452/1040/376 453/1041/358 +f 454/1042/376 455/1043/377 452/1040/376 +f 456/1044/377 457/1045/355 455/1043/377 +f 458/1046/355 459/1047/378 457/1048/355 +f 451/1049/360 460/1050/360 456/1051/360 +f 460/1052/378 461/1053/379 459/1047/378 +f 462/1054/379 453/1041/358 461/1053/379 +f 452/1055/363 457/1056/363 461/1057/363 +f 451/1039/358 454/1042/376 452/1040/376 +f 454/1042/376 456/1044/377 455/1043/377 +f 456/1044/377 458/1058/355 457/1045/355 +f 458/1046/355 460/1052/378 459/1047/378 +f 456/1051/360 454/1059/360 451/1049/360 +f 451/1049/360 462/1060/360 460/1050/360 +f 460/1050/360 458/1061/360 456/1051/360 +f 460/1052/378 462/1054/379 461/1053/379 +f 462/1054/379 451/1039/358 453/1041/358 +f 461/1057/363 453/1062/363 452/1055/363 +f 452/1055/363 455/1063/363 457/1056/363 +f 457/1056/363 459/1064/363 461/1057/363 +f 463/1039/358 464/1040/380 465/1041/358 +f 466/1042/380 467/1043/381 464/1040/380 +f 468/1044/381 469/1045/355 467/1043/381 +f 470/1046/355 471/1047/382 469/1048/355 +f 463/1049/365 472/1050/365 468/1051/365 +f 472/1052/382 473/1053/383 471/1047/382 +f 474/1054/383 465/1041/358 473/1053/383 +f 464/1055/366 469/1056/366 473/1057/366 +f 463/1039/358 466/1042/380 464/1040/380 +f 466/1042/380 468/1044/381 467/1043/381 +f 468/1044/381 470/1058/355 469/1045/355 +f 470/1046/355 472/1052/382 471/1047/382 +f 468/1051/365 466/1059/365 463/1049/365 +f 463/1049/365 474/1060/365 472/1050/365 +f 472/1050/365 470/1061/365 468/1051/365 +f 472/1052/382 474/1054/383 473/1053/383 +f 474/1054/383 463/1039/358 465/1041/358 +f 473/1057/366 465/1062/366 464/1055/366 +f 464/1055/366 467/1063/366 469/1056/366 +f 469/1056/366 471/1064/366 473/1057/366 +f 475/1065/384 476/1066/365 477/1067/384 +f 476/1066/365 478/1068/385 479/1069/385 +f 478/1068/385 480/1070/360 479/1069/385 +f 481/1071/360 482/1072/386 480/1070/360 +f 483/1073/386 484/1074/366 482/1072/386 +f 485/1075/366 486/1076/387 484/1074/366 +f 487/1077/358 488/1078/358 489/1079/358 +f 490/1080/387 491/1081/363 486/1082/387 +f 492/1083/388 493/1084/389 494/1085/390 +f 495/1086/391 496/1087/392 497/1088/391 +f 498/1089/393 497/1090/391 499/1091/393 +f 500/1092/394 499/1091/393 501/1093/394 +f 502/1094/395 501/1093/394 503/1095/395 +f 504/1096/396 503/1095/395 505/1097/396 +f 506/1098/397 505/1097/396 507/1099/397 +f 508/1100/398 507/1099/397 509/1101/398 +f 510/1102/392 509/1101/398 496/1087/392 +f 511/1103/387 512/1104/363 513/1105/387 +f 514/1106/366 513/1107/387 515/1108/366 +f 516/1109/386 515/1108/366 517/1110/386 +f 518/1111/360 517/1110/386 519/1112/360 +f 520/1113/385 519/1112/360 521/1114/385 +f 522/1115/365 521/1114/385 523/1116/365 +f 524/1117/384 523/1116/365 525/1118/384 +f 526/1119/363 525/1118/384 512/1104/363 +f 486/1082/399 526/1119/400 511/1103/399 +f 484/1074/401 511/1120/399 514/1106/401 +f 482/1072/402 514/1106/401 516/1109/402 +f 480/1070/403 516/1109/402 518/1111/403 +f 520/1113/404 480/1070/403 518/1111/403 +f 522/1115/405 479/1069/404 520/1113/404 +f 524/1117/406 476/1066/405 522/1115/405 +f 491/1081/400 524/1117/406 526/1119/400 +f 527/1121/365 509/1101/384 507/1099/365 +f 528/1122/385 507/1099/365 505/1097/385 +f 529/1123/360 505/1097/385 503/1095/360 +f 530/1124/386 503/1095/360 501/1093/386 +f 531/1125/366 501/1093/386 499/1091/366 +f 532/1126/387 499/1091/366 497/1090/387 +f 533/1127/363 497/1088/387 496/1087/363 +f 534/1128/407 535/1129/408 536/1130/363 +f 534/1131/363 537/1132/409 538/1133/409 +f 535/1129/410 539/1134/411 540/1135/365 +f 537/1132/412 539/1136/365 538/1133/412 +f 539/1134/411 541/1137/413 540/1135/365 +f 542/1138/365 543/1139/414 539/1136/365 +f 541/1140/415 544/1141/416 545/1142/360 +f 546/1143/417 544/1144/360 543/1139/417 +f 544/1141/416 547/1145/418 545/1142/360 +f 548/1146/360 549/1147/419 544/1144/360 +f 547/1145/420 550/1148/421 551/1149/366 +f 552/1150/422 550/1151/366 549/1147/422 +f 550/1148/421 553/1152/423 551/1149/366 +f 554/1153/366 555/1154/424 550/1151/366 +f 553/1155/425 534/1128/407 536/1130/363 +f 556/1156/426 534/1131/363 555/1157/426 +f 553/1158/387 557/1159/363 558/1160/387 +f 559/1161/366 553/1162/387 558/1163/387 +f 547/1164/386 559/1161/366 560/1165/386 +f 545/1166/360 560/1165/386 561/1167/360 +f 541/1168/385 561/1167/360 562/1169/385 +f 540/1170/365 562/1169/385 563/1171/365 +f 535/1172/384 563/1171/365 564/1173/384 +f 536/1174/363 564/1173/384 557/1159/363 +f 565/1175/427 566/1176/428 537/1177/429 +f 566/1176/430 542/1178/431 537/1177/432 +f 542/1178/431 567/1179/433 546/1180/434 +f 567/1181/435 548/1182/436 546/1183/437 +f 548/1182/436 568/1184/438 552/1185/439 +f 568/1184/440 554/1186/441 552/1185/442 +f 554/1186/441 569/1187/443 556/1188/444 +f 569/1189/445 565/1175/427 556/1190/446 +f 570/1191/363 508/1100/384 510/1102/363 +f 519/1192/358 571/1193/358 572/1194/358 +f 573/1195/384 506/1098/365 508/1100/384 +f 570/1196/355 574/1197/355 575/1198/355 +f 576/1199/365 504/1096/385 506/1098/365 +f 570/1196/355 577/1200/355 573/1201/355 +f 578/1202/385 502/1094/360 504/1096/385 +f 579/1203/355 580/1204/355 581/1205/355 +f 582/1206/360 500/1092/386 502/1094/360 +f 559/1207/358 583/1208/358 584/1209/358 +f 585/1210/386 498/1089/366 500/1092/386 +f 519/1192/358 586/1211/358 521/1212/358 +f 587/1213/366 495/1214/387 498/1089/366 +f 587/1215/355 574/1197/355 588/1216/355 +f 588/1217/387 510/1102/363 495/1086/387 +f 579/1203/355 589/1218/355 590/1219/355 +f 591/1220/363 592/1221/384 566/1222/384 +f 560/1223/358 584/1209/358 593/1224/358 +f 592/1221/384 594/1225/365 566/1222/384 +f 521/1212/358 595/1226/358 523/1227/358 +f 596/1228/365 567/1229/385 594/1225/365 +f 585/1230/355 597/1231/355 587/1215/355 +f 598/1232/385 599/1233/360 567/1229/385 +f 598/1234/355 600/1235/355 589/1218/355 +f 579/1236/360 568/1237/386 599/1233/360 +f 561/1238/358 593/1224/358 601/1239/358 +f 581/1240/386 602/1241/366 568/1237/386 +f 523/1227/358 603/1242/358 525/1243/358 +f 604/1244/366 569/1245/387 602/1241/366 +f 582/1246/355 605/1247/355 585/1230/355 +f 606/1248/387 591/1220/363 569/1249/387 +f 596/1250/355 607/1251/355 600/1235/355 +f 608/1252/363 577/1253/447 575/1254/363 +f 609/1255/448 610/1256/449 577/1253/448 +f 611/1257/449 612/1258/450 610/1256/449 +f 613/1259/450 614/1260/360 612/1258/450 +f 601/1261/360 605/1262/451 614/1260/360 +f 593/1263/451 597/1264/452 605/1262/451 +f 584/1265/452 574/1266/453 597/1264/452 +f 583/1267/454 575/1254/363 574/1268/454 +f 615/1269/363 603/1270/447 607/1271/447 +f 603/1270/448 600/1272/449 607/1271/448 +f 595/1273/449 589/1274/450 600/1272/449 +f 586/1275/450 590/1276/360 589/1274/450 +f 572/1277/360 580/1278/451 590/1276/360 +f 571/1279/451 616/1280/452 580/1278/451 +f 616/1280/452 617/1281/453 618/1282/453 +f 617/1283/454 615/1269/363 618/1284/454 +f 557/1285/358 609/1286/358 608/1287/358 +f 557/1285/358 583/1208/358 558/1288/358 +f 581/1205/355 616/1289/355 604/1290/355 +f 576/1291/355 577/1200/355 610/1292/355 +f 517/1293/358 619/1294/358 571/1193/358 +f 563/1295/358 609/1286/358 564/1296/358 +f 604/1290/355 618/1297/355 606/1298/355 +f 578/1299/355 610/1292/355 612/1300/355 +f 515/1301/358 617/1302/358 619/1294/358 +f 562/1303/358 611/1304/358 563/1295/358 +f 620/1305/355 607/1251/355 592/1306/355 +f 620/1305/355 618/1297/355 615/1307/355 +f 582/1246/355 612/1300/355 614/1308/355 +f 512/1309/358 603/1242/358 621/1310/358 +f 512/1309/358 617/1302/358 513/1311/358 +f 561/1238/358 613/1312/358 562/1303/358 +f 622/1313/384 623/1314/365 624/1315/365 +f 625/1316/363 626/1317/384 622/1313/384 +f 627/1318/387 628/1319/363 625/1320/363 +f 629/1321/366 630/1322/387 627/1318/387 +f 631/1323/455 632/1324/456 633/1325/457 +f 633/1325/457 629/1326/458 634/1327/459 +f 634/1327/459 627/1328/460 635/1329/461 +f 635/1329/461 625/1330/462 636/1331/463 +f 636/1331/463 622/1332/464 637/1333/465 +f 638/1334/466 622/1332/464 624/1335/467 +f 638/1334/466 639/1336/468 640/1337/469 +f 640/1337/469 641/1338/470 631/1323/455 +f 642/1339/471 633/1325/457 643/1340/472 +f 643/1340/472 634/1327/459 644/1341/473 +f 644/1341/473 635/1329/461 645/1342/474 +f 645/1342/474 636/1331/463 646/1343/475 +f 646/1343/475 637/1333/465 647/1344/476 +f 648/1345/477 637/1333/465 638/1334/466 +f 648/1345/477 640/1337/469 649/1346/478 +f 642/1339/471 640/1337/469 631/1323/455 +f 650/1347/479 643/1340/472 492/1083/388 +f 651/1348/480 643/1340/472 644/1341/473 +f 651/1348/480 645/1342/474 493/1084/389 +f 652/1349/481 645/1342/474 646/1343/475 +f 652/1349/481 647/1344/476 494/1085/390 +f 494/1085/390 648/1345/477 653/1350/482 +f 653/1350/482 649/1346/478 654/1351/483 +f 650/1347/479 649/1346/478 642/1339/471 +f 655/1352/355 656/1353/355 657/1354/355 +f 657/1354/355 527/1355/355 658/1356/355 +f 658/1356/355 528/1357/355 630/1358/355 +f 630/1358/355 529/1359/355 628/1360/355 +f 628/1361/355 530/1362/355 626/1363/355 +f 623/1364/355 530/1362/355 531/1365/355 +f 623/1364/355 532/1366/355 659/1367/355 +f 655/1368/355 532/1366/355 533/1369/355 +f 624/1315/365 659/1370/385 639/1371/385 +f 639/1371/385 655/1372/360 641/1373/360 +f 641/1373/360 657/1374/386 632/1375/386 +f 632/1375/386 658/1376/366 629/1321/366 +f 656/1377/384 496/1087/363 509/1101/384 +f 660/1378/385 661/1379/365 487/1380/365 +f 487/1380/365 662/1381/384 663/1382/384 +f 663/1382/384 664/1383/363 488/1384/363 +f 488/1384/363 665/1385/387 666/1386/387 +f 667/1387/358 668/1388/358 669/1389/358 +f 670/1390/358 475/1391/358 667/1387/358 +f 665/1392/358 671/1393/358 670/1390/358 +f 664/1394/358 478/1395/358 665/1396/358 +f 662/1397/358 481/1398/358 664/1394/358 +f 661/1399/358 483/1400/358 662/1397/358 +f 672/1401/358 485/1402/358 661/1399/358 +f 669/1389/358 490/1403/358 672/1404/358 +f 673/1405/360 672/1406/385 660/1407/385 +f 674/1408/386 669/1409/360 673/1405/360 +f 489/1410/366 667/1411/386 674/1408/386 +f 666/1386/387 670/1412/366 489/1410/366 +f 668/1413/363 477/1067/384 491/1081/363 +f 475/1065/384 671/1414/365 476/1066/365 +f 476/1066/365 671/1414/365 478/1068/385 +f 478/1068/385 481/1071/360 480/1070/360 +f 481/1071/360 483/1073/386 482/1072/386 +f 483/1073/386 485/1075/366 484/1074/366 +f 485/1075/366 490/1415/387 486/1076/387 +f 489/1079/358 674/1416/358 487/1077/358 +f 674/1416/358 673/1417/358 487/1077/358 +f 673/1417/358 660/1418/358 487/1077/358 +f 487/1077/358 663/1419/358 488/1078/358 +f 488/1078/358 666/1420/358 489/1079/358 +f 490/1080/387 668/1413/363 491/1081/363 +f 654/1351/483 650/1347/479 492/1083/388 +f 492/1083/388 651/1348/480 493/1084/389 +f 493/1084/389 652/1349/481 494/1085/390 +f 494/1085/390 653/1350/482 654/1351/483 +f 654/1351/483 492/1083/388 494/1085/390 +f 495/1086/391 510/1102/392 496/1087/392 +f 498/1089/393 495/1214/391 497/1090/391 +f 500/1092/394 498/1089/393 499/1091/393 +f 502/1094/395 500/1092/394 501/1093/394 +f 504/1096/396 502/1094/395 503/1095/395 +f 506/1098/397 504/1096/396 505/1097/396 +f 508/1100/398 506/1098/397 507/1099/397 +f 510/1102/392 508/1100/398 509/1101/398 +f 511/1103/387 526/1119/363 512/1104/363 +f 514/1106/366 511/1120/387 513/1107/387 +f 516/1109/386 514/1106/366 515/1108/366 +f 518/1111/360 516/1109/386 517/1110/386 +f 520/1113/385 518/1111/360 519/1112/360 +f 522/1115/365 520/1113/385 521/1114/385 +f 524/1117/384 522/1115/365 523/1116/365 +f 526/1119/363 524/1117/384 525/1118/384 +f 486/1082/399 491/1081/400 526/1119/400 +f 484/1074/401 486/1076/399 511/1120/399 +f 482/1072/402 484/1074/401 514/1106/401 +f 480/1070/403 482/1072/402 516/1109/402 +f 520/1113/404 479/1069/404 480/1070/403 +f 522/1115/405 476/1066/405 479/1069/404 +f 524/1117/406 477/1067/406 476/1066/405 +f 491/1081/400 477/1067/406 524/1117/406 +f 527/1121/365 656/1377/384 509/1101/384 +f 528/1122/385 527/1121/365 507/1099/365 +f 529/1123/360 528/1122/385 505/1097/385 +f 530/1124/386 529/1123/360 503/1095/360 +f 531/1125/366 530/1124/386 501/1093/386 +f 532/1126/387 531/1125/366 499/1091/366 +f 533/1127/363 532/1421/387 497/1088/387 +f 534/1128/407 538/1422/484 535/1129/408 +f 534/1131/363 565/1423/363 537/1132/409 +f 535/1129/410 538/1422/485 539/1134/411 +f 537/1132/412 542/1138/365 539/1136/365 +f 539/1134/411 543/1424/486 541/1137/413 +f 542/1138/365 546/1143/414 543/1139/414 +f 541/1140/415 543/1425/487 544/1141/416 +f 546/1143/417 548/1146/360 544/1144/360 +f 544/1141/416 549/1426/488 547/1145/418 +f 548/1146/360 552/1150/419 549/1147/419 +f 547/1145/420 549/1426/489 550/1148/421 +f 552/1150/422 554/1153/366 550/1151/366 +f 550/1148/421 555/1427/490 553/1152/423 +f 554/1153/366 556/1428/424 555/1154/424 +f 553/1155/425 555/1429/491 534/1128/407 +f 556/1156/426 565/1423/363 534/1131/363 +f 553/1158/387 536/1174/363 557/1159/363 +f 559/1161/366 551/1430/366 553/1162/387 +f 547/1164/386 551/1430/366 559/1161/366 +f 545/1166/360 547/1164/386 560/1165/386 +f 541/1168/385 545/1166/360 561/1167/360 +f 540/1170/365 541/1168/385 562/1169/385 +f 535/1172/384 540/1170/365 563/1171/365 +f 536/1174/363 535/1172/384 564/1173/384 +f 565/1175/427 591/1431/363 566/1176/428 +f 566/1176/430 594/1432/365 542/1178/431 +f 542/1178/431 594/1432/365 567/1179/433 +f 567/1181/435 599/1433/360 548/1182/436 +f 548/1182/436 599/1433/360 568/1184/438 +f 568/1184/440 602/1434/366 554/1186/441 +f 554/1186/441 602/1434/366 569/1187/443 +f 569/1189/445 591/1431/363 565/1175/427 +f 570/1191/363 573/1195/384 508/1100/384 +f 519/1192/358 517/1293/358 571/1193/358 +f 573/1195/384 576/1199/365 506/1098/365 +f 570/1196/355 588/1216/355 574/1197/355 +f 576/1199/365 578/1202/385 504/1096/385 +f 570/1196/355 575/1198/355 577/1200/355 +f 578/1202/385 582/1206/360 502/1094/360 +f 579/1203/355 590/1219/355 580/1204/355 +f 582/1206/360 585/1210/386 500/1092/386 +f 559/1207/358 558/1288/358 583/1208/358 +f 585/1210/386 587/1213/366 498/1089/366 +f 519/1192/358 572/1194/358 586/1211/358 +f 587/1213/366 588/1435/387 495/1214/387 +f 587/1215/355 597/1231/355 574/1197/355 +f 588/1217/387 570/1191/363 510/1102/363 +f 579/1203/355 598/1234/355 589/1218/355 +f 591/1220/363 620/1436/363 592/1221/384 +f 560/1223/358 559/1207/358 584/1209/358 +f 592/1221/384 596/1228/365 594/1225/365 +f 521/1212/358 586/1211/358 595/1226/358 +f 596/1228/365 598/1232/385 567/1229/385 +f 585/1230/355 605/1247/355 597/1231/355 +f 598/1232/385 579/1236/360 599/1233/360 +f 598/1234/355 596/1250/355 600/1235/355 +f 579/1236/360 581/1240/386 568/1237/386 +f 561/1238/358 560/1223/358 593/1224/358 +f 581/1240/386 604/1244/366 602/1241/366 +f 523/1227/358 595/1226/358 603/1242/358 +f 604/1244/366 606/1437/387 569/1245/387 +f 582/1246/355 614/1308/355 605/1247/355 +f 606/1248/387 620/1436/363 591/1220/363 +f 596/1250/355 592/1306/355 607/1251/355 +f 608/1252/363 609/1255/447 577/1253/447 +f 609/1255/448 611/1257/449 610/1256/449 +f 611/1257/449 613/1259/450 612/1258/450 +f 613/1259/450 601/1261/360 614/1260/360 +f 601/1261/360 593/1263/451 605/1262/451 +f 593/1263/451 584/1265/452 597/1264/452 +f 584/1265/452 583/1438/453 574/1266/453 +f 583/1267/454 608/1252/363 575/1254/363 +f 615/1269/363 621/1439/363 603/1270/447 +f 603/1270/448 595/1273/449 600/1272/449 +f 595/1273/449 586/1275/450 589/1274/450 +f 586/1275/450 572/1277/360 590/1276/360 +f 572/1277/360 571/1279/451 580/1278/451 +f 571/1279/451 619/1440/452 616/1280/452 +f 616/1280/452 619/1440/452 617/1281/453 +f 617/1283/454 621/1439/363 615/1269/363 +f 557/1285/358 564/1296/358 609/1286/358 +f 557/1285/358 608/1287/358 583/1208/358 +f 581/1205/355 580/1204/355 616/1289/355 +f 576/1291/355 573/1201/355 577/1200/355 +f 517/1293/358 515/1301/358 619/1294/358 +f 563/1295/358 611/1304/358 609/1286/358 +f 604/1290/355 616/1289/355 618/1297/355 +f 578/1299/355 576/1291/355 610/1292/355 +f 515/1301/358 513/1311/358 617/1302/358 +f 562/1303/358 613/1312/358 611/1304/358 +f 620/1305/355 615/1307/355 607/1251/355 +f 620/1305/355 606/1298/355 618/1297/355 +f 582/1246/355 578/1299/355 612/1300/355 +f 512/1309/358 525/1243/358 603/1242/358 +f 512/1309/358 621/1310/358 617/1302/358 +f 561/1238/358 601/1239/358 613/1312/358 +f 622/1313/384 626/1317/384 623/1314/365 +f 625/1316/363 628/1441/363 626/1317/384 +f 627/1318/387 630/1322/387 628/1319/363 +f 629/1321/366 658/1376/366 630/1322/387 +f 631/1323/455 641/1338/470 632/1324/456 +f 633/1325/457 632/1324/456 629/1326/458 +f 634/1327/459 629/1326/458 627/1328/460 +f 635/1329/461 627/1328/460 625/1330/462 +f 636/1331/463 625/1330/462 622/1332/464 +f 638/1334/466 637/1333/465 622/1332/464 +f 638/1334/466 624/1335/467 639/1336/468 +f 640/1337/469 639/1336/468 641/1338/470 +f 642/1339/471 631/1323/455 633/1325/457 +f 643/1340/472 633/1325/457 634/1327/459 +f 644/1341/473 634/1327/459 635/1329/461 +f 645/1342/474 635/1329/461 636/1331/463 +f 646/1343/475 636/1331/463 637/1333/465 +f 648/1345/477 647/1344/476 637/1333/465 +f 648/1345/477 638/1334/466 640/1337/469 +f 642/1339/471 649/1346/478 640/1337/469 +f 650/1347/479 642/1339/471 643/1340/472 +f 651/1348/480 492/1083/388 643/1340/472 +f 651/1348/480 644/1341/473 645/1342/474 +f 652/1349/481 493/1084/389 645/1342/474 +f 652/1349/481 646/1343/475 647/1344/476 +f 494/1085/390 647/1344/476 648/1345/477 +f 653/1350/482 648/1345/477 649/1346/478 +f 650/1347/479 654/1351/483 649/1346/478 +f 655/1352/355 533/1442/355 656/1353/355 +f 657/1354/355 656/1353/355 527/1355/355 +f 658/1356/355 527/1355/355 528/1357/355 +f 630/1358/355 528/1357/355 529/1359/355 +f 628/1361/355 529/1443/355 530/1362/355 +f 623/1364/355 626/1363/355 530/1362/355 +f 623/1364/355 531/1365/355 532/1366/355 +f 655/1368/355 659/1367/355 532/1366/355 +f 624/1315/365 623/1314/365 659/1370/385 +f 639/1371/385 659/1370/385 655/1372/360 +f 641/1373/360 655/1372/360 657/1374/386 +f 632/1375/386 657/1374/386 658/1376/366 +f 656/1377/384 533/1127/363 496/1087/363 +f 660/1378/385 672/1444/385 661/1379/365 +f 487/1380/365 661/1379/365 662/1381/384 +f 663/1382/384 662/1381/384 664/1383/363 +f 488/1384/363 664/1383/363 665/1385/387 +f 667/1387/358 475/1391/358 668/1388/358 +f 670/1390/358 671/1393/358 475/1391/358 +f 665/1392/358 478/1445/358 671/1393/358 +f 664/1394/358 481/1398/358 478/1395/358 +f 662/1397/358 483/1400/358 481/1398/358 +f 661/1399/358 485/1402/358 483/1400/358 +f 672/1401/358 490/1446/358 485/1402/358 +f 669/1389/358 668/1388/358 490/1403/358 +f 673/1405/360 669/1409/360 672/1406/385 +f 674/1408/386 667/1411/386 669/1409/360 +f 489/1410/366 670/1412/366 667/1411/386 +f 666/1386/387 665/1385/387 670/1412/366 +f 668/1413/363 475/1065/384 477/1067/384 diff --git a/src/main/resources/assets/hbm/models/weapons/novac_scoped.obj b/src/main/resources/assets/hbm/models/weapons/novac_scoped.obj deleted file mode 100644 index 376e474b8..000000000 --- a/src/main/resources/assets/hbm/models/weapons/novac_scoped.obj +++ /dev/null @@ -1,3975 +0,0 @@ -# Blender v2.79 (sub 0) OBJ File: '' -# www.blender.org -o Scope -v 0.000000 1.477200 0.088723 -v 0.098039 1.333949 0.145326 -v 0.000000 1.333949 0.088723 -v 0.098039 1.477200 0.145326 -v 0.098039 1.333949 0.258532 -v 0.098039 1.477200 0.258532 -v 0.000000 1.333949 0.315135 -v 0.000000 1.477200 0.315135 -v -0.098039 1.333949 0.258532 -v -0.098039 1.477200 0.258532 -v -0.098039 1.333949 0.145326 -v -0.098039 1.477200 0.145326 -v -0.052355 1.290100 0.088723 -v -0.195606 1.192061 0.145326 -v -0.195606 1.290100 0.088723 -v -0.052355 1.192061 0.145326 -v -0.195606 1.192061 0.258532 -v -0.052355 1.192061 0.258532 -v -0.195606 1.290100 0.315135 -v -0.052355 1.290100 0.315135 -v -0.195606 1.388139 0.258532 -v -0.052355 1.388139 0.258532 -v -0.195606 1.388139 0.145326 -v -0.052355 1.388139 0.145326 -v 0.122250 1.167851 -0.880258 -v 0.172888 1.290101 -0.535252 -v 0.122250 1.167851 -0.535252 -v 0.122250 1.412351 -0.880258 -v 0.122250 1.412351 -0.535252 -v 0.000000 1.462989 -0.535252 -v 0.000000 1.462989 -0.880258 -v -0.122250 1.412351 -0.535252 -v -0.122250 1.412351 -0.880258 -v -0.172888 1.290101 -0.535252 -v -0.172888 1.290101 -0.880258 -v -0.122250 1.167851 -0.535252 -v -0.148774 1.290101 -0.842944 -v 0.000000 1.438875 -0.842944 -v 0.148774 1.290101 -0.842944 -v -0.122250 1.167851 -0.880258 -v 0.000000 1.117213 -0.535252 -v 0.047857 1.242244 1.175174 -v 0.047857 1.337958 1.175174 -v -0.047857 1.337958 1.175174 -v -0.101696 1.188405 0.795065 -v 0.000000 1.118381 0.903662 -v -0.121424 1.168677 0.903662 -v -0.143820 1.290101 0.795065 -v -0.171720 1.290101 0.903662 -v -0.101696 1.391797 0.795065 -v -0.121424 1.411525 0.903662 -v 0.000000 1.433921 0.795065 -v 0.000000 1.461821 0.903662 -v 0.101696 1.391797 0.795065 -v 0.121424 1.411525 0.903662 -v 0.143820 1.290101 0.795065 -v 0.171720 1.290101 0.903662 -v 0.101696 1.188405 0.795065 -v 0.121424 1.168677 0.903662 -v 0.000000 1.146281 0.795065 -v -0.101696 1.188405 -0.426655 -v 0.000000 1.146281 -0.380929 -v -0.101696 1.188405 -0.380929 -v -0.143820 1.290101 -0.426655 -v -0.143820 1.290101 -0.380929 -v -0.101696 1.391797 -0.426655 -v -0.101696 1.391797 -0.380929 -v 0.000000 1.433921 -0.426655 -v 0.000000 1.433921 -0.380929 -v 0.101696 1.391797 -0.426655 -v 0.101696 1.391797 -0.380929 -v 0.143820 1.290101 -0.426655 -v 0.143820 1.290101 -0.380929 -v 0.101696 1.188405 -0.426655 -v 0.101696 1.188405 -0.380929 -v 0.000000 1.146281 -0.426655 -v 0.171720 1.290101 1.200607 -v 0.121424 1.411525 1.200607 -v 0.000000 1.461821 1.200607 -v -0.121424 1.411525 1.200607 -v -0.171720 1.290101 1.200607 -v -0.121424 1.168677 1.200607 -v 0.000000 1.118381 1.200607 -v 0.000000 1.146281 0.387825 -v 0.101696 1.188405 0.425211 -v 0.000000 1.146281 0.425211 -v 0.127181 1.162920 -0.019415 -v 0.127181 1.162920 0.387825 -v 0.143820 1.290101 0.387825 -v 0.143820 1.290101 0.425211 -v 0.101696 1.391797 0.425211 -v 0.143820 1.290101 -0.019415 -v 0.127181 1.417282 0.387825 -v 0.000000 1.433921 0.387825 -v 0.000000 1.433921 0.425211 -v 0.127181 1.417282 -0.019415 -v -0.101696 1.391797 0.425211 -v 0.000000 1.433921 -0.019415 -v -0.127181 1.417282 0.387825 -v -0.143820 1.290101 0.387825 -v -0.143820 1.290101 0.425211 -v -0.127181 1.417282 -0.019415 -v -0.101696 1.188405 0.425211 -v -0.143820 1.290101 -0.019415 -v -0.127181 1.162920 0.387825 -v -0.127181 1.162920 -0.019415 -v 0.000000 1.146281 0.560528 -v -0.101696 1.188405 0.560528 -v -0.143820 1.290101 0.560528 -v -0.101696 1.391797 0.560528 -v 0.000000 1.433921 0.560528 -v 0.101696 1.391797 0.560528 -v 0.143820 1.290101 0.560528 -v 0.101696 1.188405 0.560528 -v 0.000000 1.146281 -0.019415 -v 0.101696 1.188405 -0.056801 -v 0.101696 1.391797 -0.056801 -v -0.101696 1.391797 -0.056801 -v -0.101696 1.188405 -0.056801 -v 0.000000 1.146281 0.726438 -v -0.113307 1.408526 -0.380929 -v 0.000000 1.453522 -0.380929 -v 0.101696 1.188405 0.726438 -v -0.125746 1.106419 0.726438 -v 0.000000 1.113253 0.726438 -v 0.143820 1.290101 0.726438 -v 0.125746 1.106419 0.726438 -v 0.101696 1.391797 0.726438 -v 0.000000 1.433921 -0.214523 -v -0.113307 1.408526 -0.214523 -v -0.101696 1.391797 -0.214523 -v 0.000000 1.433921 0.726438 -v -0.125746 1.106419 0.560528 -v -0.160240 1.306368 0.560528 -v -0.101696 1.391797 0.726438 -v 0.113307 1.408526 -0.380929 -v -0.143820 1.290101 0.726438 -v -0.101696 1.188405 0.726438 -v 0.113307 1.408526 -0.214523 -v 0.000000 1.453522 -0.214523 -v 0.000000 1.146281 -0.056801 -v 0.101696 1.188405 -0.214523 -v -0.113307 1.408526 0.560528 -v 0.143820 1.290101 -0.056801 -v 0.160240 1.306368 -0.380929 -v 0.143820 1.290101 -0.214523 -v -0.160240 1.306368 0.726438 -v 0.101696 1.391797 -0.214523 -v 0.000000 1.433921 -0.056801 -v 0.160240 1.306368 -0.214523 -v 0.000000 1.453522 0.560528 -v -0.143820 1.290101 -0.056801 -v 0.125746 1.106419 -0.380929 -v -0.143820 1.290101 -0.214523 -v -0.113307 1.408526 0.726438 -v -0.101696 1.188405 -0.214523 -v 0.125746 1.106419 -0.214523 -v 0.000000 1.113253 0.560528 -v 0.125746 1.106419 0.560528 -v 0.160240 1.306368 0.726438 -v 0.160240 1.306368 0.560528 -v 0.113307 1.408526 0.726438 -v 0.113307 1.408526 0.560528 -v 0.000000 1.453522 0.726438 -v 0.000000 1.113253 -0.214523 -v -0.160240 1.306368 -0.214523 -v -0.125746 1.106419 -0.380929 -v -0.125746 1.106419 -0.214523 -v -0.160240 1.306368 -0.380929 -v 0.000000 1.146281 -0.214523 -v 0.000000 1.113253 -0.380929 -v -0.106302 1.396403 1.157056 -v -0.150333 1.290101 1.200607 -v -0.150333 1.290101 1.157056 -v 0.000000 1.440434 1.157056 -v -0.106302 1.396403 1.200607 -v 0.106302 1.396403 1.157056 -v 0.000000 1.440434 1.200607 -v 0.150333 1.290101 1.157056 -v 0.106302 1.396403 1.200607 -v 0.000000 1.156786 1.166115 -v 0.106302 1.183800 1.157056 -v 0.094268 1.195833 1.166115 -v 0.133315 1.290101 1.166115 -v 0.094268 1.384369 1.166115 -v 0.000000 1.423417 1.166115 -v -0.094268 1.384369 1.166115 -v -0.133315 1.290101 1.166115 -v -0.106302 1.183800 1.157056 -v -0.094268 1.195833 1.166115 -v 0.000000 1.139768 1.157056 -v 0.000000 1.178299 1.171550 -v 0.079056 1.211045 1.171550 -v 0.111802 1.290101 1.171550 -v 0.079056 1.369157 1.171550 -v 0.000000 1.401903 1.171550 -v -0.079056 1.369157 1.171550 -v -0.111802 1.290101 1.171550 -v -0.079056 1.211045 1.171550 -v 0.000000 1.222421 1.175174 -v 0.067680 1.290101 1.175174 -v 0.000000 1.357781 1.175174 -v -0.067680 1.290101 1.175174 -v -0.047857 1.242244 1.175174 -v 0.000000 1.139768 1.200607 -v 0.121424 1.168677 1.200607 -v 0.106302 1.183800 1.200607 -v 0.150333 1.290101 1.200607 -v -0.106302 1.183800 1.200607 -v -0.105199 1.184902 -0.842944 -v -0.148774 1.290101 -0.880258 -v -0.105199 1.395301 -0.880258 -v -0.105199 1.395301 -0.842944 -v 0.000000 1.438875 -0.880258 -v 0.105199 1.395301 -0.880258 -v 0.105199 1.395301 -0.842944 -v 0.105199 1.184902 -0.880258 -v 0.000000 1.117213 -0.880258 -v 0.000000 1.141327 -0.880258 -v 0.148774 1.290101 -0.880258 -v 0.172888 1.290101 -0.880258 -v -0.105199 1.184902 -0.880258 -v 0.000000 1.141327 -0.842944 -v 0.105199 1.184902 -0.842944 -v 0.127287 1.060470 -0.215130 -v -0.127287 1.060470 -0.215130 -v -0.137370 0.965631 -0.215130 -v 0.127287 1.060470 -0.381779 -v 0.127345 1.113839 -0.215130 -v 0.165068 1.014758 -0.215130 -v 0.165068 1.014758 -0.381779 -v -0.127287 1.060470 -0.381779 -v 0.137370 0.965631 -0.381779 -v -0.127345 1.113839 -0.215130 -v -0.127345 1.113839 -0.381779 -v 0.127345 1.113839 -0.381779 -v -0.165068 0.999696 -0.381779 -v -0.137370 0.965631 -0.381779 -v 0.165068 0.999696 -0.215130 -v 0.137370 0.965631 -0.215130 -v -0.165068 1.014758 -0.381779 -v -0.165068 1.014758 -0.215130 -v 0.165068 0.999696 -0.381779 -v -0.165068 0.999696 -0.215130 -v 0.127287 1.060470 0.727120 -v -0.127287 1.060470 0.727120 -v -0.137370 0.965631 0.727120 -v 0.127345 1.113839 0.560471 -v 0.127287 1.060470 0.560471 -v 0.165068 1.014758 0.727120 -v 0.165068 1.014758 0.560471 -v -0.127287 1.060470 0.560471 -v 0.137370 0.965631 0.560471 -v -0.127345 1.113839 0.727120 -v -0.127345 1.113839 0.560471 -v 0.127345 1.113839 0.727120 -v -0.165068 0.999696 0.560471 -v -0.137370 0.965631 0.560471 -v 0.165068 0.999696 0.727120 -v 0.137370 0.965631 0.727120 -v -0.165068 1.014758 0.560471 -v -0.165068 1.014758 0.727120 -v 0.165068 0.999696 0.560471 -v -0.165068 0.999696 0.727120 -v -0.128673 1.041385 0.864105 -v -0.158890 1.005824 -0.497553 -v -0.158890 1.005824 0.864105 -v 0.128673 1.041385 -0.497553 -v 0.158890 1.005824 0.864105 -v 0.158890 1.005824 -0.497553 -v -0.128673 0.970263 -0.497553 -v 0.128673 0.970263 -0.497553 -v -0.042891 0.970263 -0.078904 -v 0.128673 0.970263 0.864105 -v -0.128673 1.041385 -0.497553 -v -0.042891 1.005824 0.864105 -v -0.042891 0.970263 0.864105 -v -0.042891 0.970263 0.913056 -v -0.128673 0.970263 0.864105 -v 0.128673 1.041385 0.864105 -v 0.042891 0.970263 0.864105 -v 0.042891 0.916053 0.076168 -v 0.042891 0.970263 -0.078904 -v 0.042891 1.005824 0.953107 -v -0.042891 0.970263 0.953107 -v 0.042891 0.970263 0.953107 -v 0.042891 0.894106 0.885317 -v 0.042891 0.970263 0.913056 -v 0.042891 1.005824 0.864105 -v -0.042891 0.868174 0.915839 -v -0.042891 0.894106 0.885317 -v 0.042891 0.868174 0.915839 -v -0.042891 0.970263 -0.078904 -v 0.042891 0.916053 0.864105 -v -0.042891 0.916053 0.076168 -v -0.042891 0.916053 0.864105 -v 0.042891 0.970263 -0.078904 -v -0.042891 1.005824 0.953107 -vt 0.862112 0.382430 -vt 0.862112 0.343887 -vt 0.876470 0.342361 -vt 0.781491 0.334765 -vt 0.831474 0.326685 -vt 0.831474 0.334765 -vt 0.831474 0.343744 -vt 0.781491 0.343744 -vt 0.839614 0.332388 -vt 0.839614 0.293845 -vt 0.853972 0.292318 -vt 0.831474 0.420254 -vt 0.781491 0.412174 -vt 0.831474 0.412174 -vt 0.781491 0.288125 -vt 0.781491 0.326685 -vt 0.831474 0.394267 -vt 0.781491 0.400915 -vt 0.781491 0.394268 -vt 0.781491 0.352672 -vt 0.831474 0.346025 -vt 0.831474 0.352672 -vt 0.781491 0.403195 -vt 0.831474 0.403195 -vt 0.781491 0.346025 -vt 0.831474 0.400915 -vt 0.862112 0.332388 -vt 0.862112 0.293845 -vt 0.876470 0.292318 -vt 0.731449 0.326685 -vt 0.781432 0.334765 -vt 0.731449 0.334765 -vt 0.781432 0.343744 -vt 0.731449 0.343744 -vt 0.839614 0.382430 -vt 0.839614 0.343887 -vt 0.853972 0.342361 -vt 0.781432 0.420254 -vt 0.731449 0.412174 -vt 0.781432 0.412174 -vt 0.731449 0.288125 -vt 0.781432 0.326685 -vt 0.781432 0.394268 -vt 0.731449 0.400915 -vt 0.731449 0.394268 -vt 0.731449 0.352672 -vt 0.781432 0.346025 -vt 0.781432 0.352672 -vt 0.731449 0.403195 -vt 0.781432 0.403195 -vt 0.731449 0.346025 -vt 0.781432 0.400915 -vt 0.876470 0.383956 -vt 0.871313 0.388150 -vt 0.869033 0.388150 -vt 0.854032 0.382439 -vt 0.854032 0.343878 -vt 0.869033 0.338167 -vt 0.871313 0.338167 -vt 0.853972 0.333914 -vt 0.848815 0.338108 -vt 0.846534 0.338108 -vt 0.831533 0.332397 -vt 0.831533 0.293836 -vt 0.846534 0.288125 -vt 0.848815 0.288125 -vt 0.781491 0.420254 -vt 0.831474 0.288125 -vt 0.876470 0.333914 -vt 0.871313 0.338108 -vt 0.869033 0.338108 -vt 0.854032 0.332397 -vt 0.854032 0.293836 -vt 0.869033 0.288125 -vt 0.871313 0.288125 -vt 0.853972 0.383956 -vt 0.848815 0.388150 -vt 0.846534 0.388150 -vt 0.831533 0.382439 -vt 0.831533 0.343878 -vt 0.846534 0.338167 -vt 0.848815 0.338167 -vt 0.731449 0.420254 -vt 0.781432 0.288125 -vt 0.064605 0.000179 -vt 0.032391 0.940141 -vt 0.032391 0.000179 -vt 0.242253 0.940141 -vt 0.274466 0.000179 -vt 0.274467 0.940141 -vt 0.484329 0.940141 -vt 0.306680 0.940141 -vt 0.425112 0.651144 -vt 0.306680 0.000179 -vt 0.534226 0.414338 -vt 0.534226 0.236360 -vt 0.583414 0.236360 -vt 0.546318 0.592663 -vt 0.546318 0.568069 -vt 0.512464 0.568069 -vt 0.000178 0.940141 -vt 0.000178 0.000179 -vt 0.064605 0.940141 -vt 0.242253 0.000179 -vt 0.487811 0.005697 -vt 0.519381 0.464564 -vt 0.487811 0.554873 -vt 0.073028 1.000143 -vt 0.097622 0.940817 -vt 0.097622 1.000143 -vt 0.484684 0.568103 -vt 0.531567 0.515434 -vt 0.512383 0.568103 -vt 0.290390 1.000143 -vt 0.256536 0.940817 -vt 0.290390 0.940817 -vt 0.583463 0.236360 -vt 0.558869 0.355012 -vt 0.558869 0.295686 -vt 0.200482 1.000143 -vt 0.172783 0.940817 -vt 0.200482 0.940817 -vt 0.256536 1.000143 -vt 0.172783 1.000143 -vt 0.011475 0.940817 -vt 0.011475 1.000143 -vt 0.398353 0.604156 -vt 0.398156 0.603821 -vt 0.398353 0.604149 -vt 0.533461 0.664397 -vt 0.495970 0.605071 -vt 0.533461 0.605071 -vt 0.519381 0.464564 -vt 0.519381 0.005697 -vt 0.487811 0.005697 -vt 0.425288 0.548168 -vt 0.365961 0.661778 -vt 0.365961 0.548168 -vt 0.425288 0.003239 -vt 0.365896 0.651144 -vt 0.365896 0.000179 -vt 0.425112 0.000178 -vt 0.484329 0.000178 -vt 0.558820 0.215462 -vt 0.583414 0.414338 -vt 0.558820 0.435236 -vt 0.531648 0.515400 -vt 0.484765 0.568069 -vt 0.510539 0.497465 -vt 0.484765 0.592663 -vt 0.487811 0.554873 -vt 0.519381 0.005697 -vt 0.073028 0.940817 -vt 0.546237 0.568103 -vt 0.546237 0.592696 -vt 0.484684 0.592696 -vt 0.510458 0.497499 -vt 0.534276 0.236360 -vt 0.558869 0.215462 -vt 0.583463 0.414338 -vt 0.558869 0.435236 -vt 0.534276 0.414338 -vt 0.534276 0.355012 -vt 0.534276 0.295686 -vt 0.397971 0.604156 -vt 0.495970 0.664397 -vt 0.487811 0.554873 -vt 0.487811 0.554873 -vt 0.425288 0.661778 -vt 0.365961 0.003239 -vt 0.298927 0.396205 -vt 0.426834 0.332251 -vt 0.426834 0.396205 -vt 0.298927 0.332251 -vt 0.426834 0.268298 -vt 0.298927 0.268297 -vt 0.426834 0.204344 -vt 0.298927 0.588067 -vt 0.426834 0.524113 -vt 0.426834 0.588067 -vt 0.482312 0.332251 -vt 0.426926 0.236321 -vt 0.537698 0.236321 -vt 0.298927 0.524113 -vt 0.426834 0.460159 -vt 0.298927 0.460159 -vt 0.537698 0.364320 -vt 0.482312 0.460251 -vt 0.426926 0.364320 -vt 0.298927 0.204344 -vt 0.537698 0.300274 -vt 0.426926 0.300274 -vt 0.482312 0.204344 -vt 0.482312 0.332343 -vt 0.537698 0.428274 -vt 0.426926 0.428274 -vt 0.298927 0.396205 -vt 0.426834 0.332251 -vt 0.426834 0.396205 -vt 0.298927 0.332251 -vt 0.426834 0.268298 -vt 0.298927 0.268297 -vt 0.426834 0.204344 -vt 0.298927 0.588067 -vt 0.426834 0.524113 -vt 0.426834 0.588067 -vt 0.482312 0.332251 -vt 0.426926 0.236321 -vt 0.537698 0.236321 -vt 0.298927 0.524113 -vt 0.426834 0.460159 -vt 0.298927 0.460159 -vt 0.537698 0.364320 -vt 0.482312 0.460251 -vt 0.426926 0.364320 -vt 0.298927 0.204344 -vt 0.537698 0.300274 -vt 0.426926 0.300274 -vt 0.482312 0.204344 -vt 0.482312 0.332343 -vt 0.537698 0.428274 -vt 0.426926 0.428274 -vt 0.625763 0.415571 -vt 0.819774 0.344939 -vt 0.820219 0.412768 -vt 0.625356 0.276291 -vt 0.819329 0.277211 -vt 0.818884 0.209376 -vt 0.625153 0.206823 -vt 0.818436 0.141164 -vt 0.624951 0.137496 -vt 0.817982 0.071918 -vt 0.624748 0.068299 -vt 0.817507 -0.000475 -vt 0.739260 0.846264 -vt 0.780443 0.945689 -vt 0.681018 0.986873 -vt 0.626172 0.555444 -vt 0.820667 0.481090 -vt 0.821128 0.551376 -vt 0.696930 0.948356 -vt 0.678415 0.903416 -vt 0.723357 0.884906 -vt 0.876666 0.003400 -vt 0.816718 0.072080 -vt 0.816304 0.006550 -vt 0.876085 0.483878 -vt 0.819483 0.550860 -vt 0.819079 0.483115 -vt 0.876168 0.415340 -vt 0.818684 0.414464 -vt 0.876251 0.346487 -vt 0.818292 0.346212 -vt 0.876334 0.277480 -vt 0.817901 0.278056 -vt 0.876418 0.208392 -vt 0.817509 0.209851 -vt 0.876502 0.139291 -vt 0.817116 0.141387 -vt 0.876585 0.070439 -vt 0.876585 0.549564 -vt 0.900604 0.482520 -vt 0.900604 0.549669 -vt 0.876841 0.068823 -vt 0.900604 0.001360 -vt 0.900604 0.069103 -vt 0.876804 0.137986 -vt 0.900604 0.137993 -vt 0.876767 0.207313 -vt 0.900604 0.207190 -vt 0.876730 0.276558 -vt 0.900604 0.276413 -vt 0.876693 0.345668 -vt 0.900604 0.345495 -vt 0.876657 0.414568 -vt 0.900604 0.414254 -vt 0.876620 0.483158 -vt 0.876877 0.001414 -vt 0.626103 0.208309 -vt 0.626206 0.277009 -vt 0.626310 0.345842 -vt 0.626414 0.414767 -vt 0.626518 0.483792 -vt 0.626623 0.553016 -vt 0.625896 0.071491 -vt 0.814153 0.731675 -vt 0.754704 0.732862 -vt 0.807643 0.713695 -vt 0.837372 0.482857 -vt 0.629071 0.417250 -vt 0.837372 0.417250 -vt 0.695254 0.731675 -vt 0.701764 0.713695 -vt 0.837372 0.351644 -vt 0.648824 0.694528 -vt 0.629071 0.351644 -vt 0.837372 0.286037 -vt 0.860612 0.695197 -vt 0.814182 0.732345 -vt 0.807672 0.714365 -vt 0.629071 0.286037 -vt 0.837372 0.220430 -vt 0.754732 0.733532 -vt 0.629071 0.220430 -vt 0.837372 0.154823 -vt 0.695283 0.732345 -vt 0.701793 0.714365 -vt 0.629071 0.154823 -vt 0.837372 0.089217 -vt 0.648853 0.695197 -vt 0.629071 0.089217 -vt 0.837372 0.023610 -vt 0.860583 0.694528 -vt 0.629071 0.548464 -vt 0.837372 0.548464 -vt 0.636324 0.548220 -vt 0.705538 0.491917 -vt 0.705538 0.548220 -vt 0.705538 0.154102 -vt 0.636324 0.097799 -vt 0.705538 0.097799 -vt 0.636324 0.210405 -vt 0.705538 0.210405 -vt 0.636324 0.266707 -vt 0.705538 0.266707 -vt 0.636324 0.323010 -vt 0.705538 0.323010 -vt 0.636324 0.379312 -vt 0.705538 0.379312 -vt 0.636324 0.435615 -vt 0.705538 0.435615 -vt 0.636324 0.491917 -vt 0.695333 0.731288 -vt 0.754783 0.732474 -vt 0.754783 0.759036 -vt 0.814233 0.731288 -vt 0.860662 0.694140 -vt 0.877667 0.714545 -vt 0.649050 0.695197 -vt 0.695480 0.732345 -vt 0.632046 0.715602 -vt 0.754930 0.733532 -vt 0.754930 0.760094 -vt 0.814379 0.732345 -vt 0.860809 0.695197 -vt 0.877813 0.715602 -vt 0.648904 0.694140 -vt 0.631899 0.714545 -vt 0.900124 0.071811 -vt 0.902327 0.912035 -vt 0.960283 0.899046 -vt 0.902327 0.922061 -vt 0.900124 0.140016 -vt 0.901890 0.765040 -vt 0.837572 0.744650 -vt 0.901890 0.748146 -vt 0.900124 0.208571 -vt 0.966209 0.744650 -vt 0.953907 0.786586 -vt 0.900124 0.277204 -vt 0.902327 0.911782 -vt 0.844371 0.898793 -vt 0.850310 0.890236 -vt 0.900124 0.345738 -vt 0.975890 0.839400 -vt 0.966645 0.745448 -vt 0.984289 0.847721 -vt 0.900124 0.413996 -vt 0.844371 0.899046 -vt 0.850310 0.890489 -vt 0.900124 0.481829 -vt 0.876005 0.550176 -vt 0.828328 0.838603 -vt 0.849874 0.786586 -vt 0.900124 0.004636 -vt 0.960283 0.898792 -vt 0.902327 0.921808 -vt 0.711854 0.496239 -vt 0.631181 0.439936 -vt 0.711854 0.439936 -vt 0.954344 0.891417 -vt 0.960283 0.899974 -vt 0.711854 0.383634 -vt 0.820365 0.846792 -vt 0.828764 0.838472 -vt 0.631181 0.383634 -vt 0.711854 0.327331 -vt 0.849874 0.890620 -vt 0.819929 0.846923 -vt 0.631181 0.327331 -vt 0.711854 0.271028 -vt 0.954344 0.890236 -vt 0.984289 0.846539 -vt 0.631181 0.271028 -vt 0.711854 0.214726 -vt 0.902327 0.912963 -vt 0.902327 0.922989 -vt 0.631181 0.214726 -vt 0.711854 0.158423 -vt 0.838009 0.744520 -vt 0.850310 0.786455 -vt 0.631181 0.158423 -vt 0.711854 0.102121 -vt 0.901891 0.912166 -vt 0.843935 0.899176 -vt 0.631181 0.552542 -vt 0.711854 0.552541 -vt 0.975890 0.838219 -vt 0.966645 0.744267 -vt 0.397199 0.874901 -vt 0.482061 0.810488 -vt 0.482061 0.874901 -vt 0.397199 0.810488 -vt 0.482061 0.706705 -vt 0.397199 0.706705 -vt 0.482061 0.649202 -vt 0.397199 0.649202 -vt 0.482061 0.586843 -vt 0.397199 0.586843 -vt 0.482061 0.524485 -vt 0.397199 0.524485 -vt 0.482061 0.466981 -vt 0.397199 0.466981 -vt 0.482061 0.363198 -vt 0.397199 0.939314 -vt 0.482061 0.939314 -vt 0.396382 0.874901 -vt 0.311267 0.810488 -vt 0.396382 0.810488 -vt 0.396382 0.706705 -vt 0.311267 0.706705 -vt 0.396382 0.649202 -vt 0.311267 0.649202 -vt 0.396382 0.586843 -vt 0.311267 0.586843 -vt 0.396382 0.524485 -vt 0.311267 0.524485 -vt 0.396382 0.466981 -vt 0.311267 0.363198 -vt 0.396382 0.363198 -vt 0.311267 0.939314 -vt 0.396382 0.939314 -vt 0.902327 0.765837 -vt 0.838009 0.745448 -vt 0.902327 0.748944 -vt 0.954344 0.787383 -vt 0.820365 0.846539 -vt 0.828764 0.838219 -vt 0.975453 0.838603 -vt 0.983852 0.846923 -vt 0.954344 0.890489 -vt 0.984289 0.846793 -vt 0.828764 0.839400 -vt 0.850310 0.787383 -vt 0.838009 0.744267 -vt 0.850310 0.786202 -vt 0.953907 0.890619 -vt 0.959846 0.899176 -vt 0.975890 0.838472 -vt 0.966645 0.744520 -vt 0.850310 0.891417 -vt 0.820365 0.847721 -vt 0.902327 0.764656 -vt 0.954344 0.786202 -vt 0.902327 0.747763 -vt 0.901891 0.922191 -vt 0.902327 0.764909 -vt 0.902327 0.748016 -vt 0.954344 0.786455 -vt 0.844371 0.899974 -vt 0.640899 0.140025 -vt 0.663174 0.198878 -vt 0.640899 0.198878 -vt 0.640899 0.081173 -vt 0.663175 0.140025 -vt 0.640899 0.493140 -vt 0.663174 0.551992 -vt 0.640899 0.551992 -vt 0.640899 0.434287 -vt 0.663174 0.493140 -vt 0.736235 0.979788 -vt 0.680093 0.989178 -vt 0.683934 0.979737 -vt 0.637595 0.946681 -vt 0.646986 0.942722 -vt 0.637595 0.886581 -vt 0.647035 0.890422 -vt 0.680092 0.844083 -vt 0.684051 0.853475 -vt 0.740193 0.844085 -vt 0.736352 0.853526 -vt 0.773300 0.890541 -vt 0.782692 0.886581 -vt 0.782692 0.946682 -vt 0.773251 0.942841 -vt 0.740194 0.989180 -vt 0.731842 0.969217 -vt 0.688303 0.969155 -vt 0.657557 0.938328 -vt 0.657617 0.894790 -vt 0.688445 0.864046 -vt 0.731984 0.864107 -vt 0.762729 0.894934 -vt 0.762669 0.938473 -vt 0.723236 0.948412 -vt 0.678362 0.929721 -vt 0.697051 0.884851 -vt 0.741925 0.903542 -vt 0.741872 0.929847 -vt 0.799881 0.604423 -vt 0.785094 0.666531 -vt 0.777359 0.658796 -vt 0.722987 0.692257 -vt 0.722987 0.681318 -vt 0.660879 0.666531 -vt 0.668614 0.658796 -vt 0.635153 0.604424 -vt 0.646092 0.604424 -vt 0.799881 0.604346 -vt 0.785094 0.666454 -vt 0.777359 0.658718 -vt 0.722987 0.681240 -vt 0.722987 0.692179 -vt 0.660879 0.666454 -vt 0.668614 0.658718 -vt 0.646092 0.604346 -vt 0.635153 0.604346 -vt 0.663174 0.257730 -vt 0.640899 0.257730 -vt 0.663174 0.316582 -vt 0.640899 0.316582 -vt 0.663174 0.375435 -vt 0.640899 0.375435 -vt 0.663174 0.434287 -vt 0.625999 0.139796 -vt 0.642973 0.084114 -vt 0.662059 0.142357 -vt 0.642973 0.142357 -vt 0.662059 0.200599 -vt 0.642973 0.200599 -vt 0.662059 0.258841 -vt 0.642973 0.258841 -vt 0.662059 0.317083 -vt 0.642973 0.317083 -vt 0.723487 0.680169 -vt 0.660957 0.666602 -vt 0.669679 0.657881 -vt 0.777296 0.657881 -vt 0.723487 0.692503 -vt 0.799585 0.604072 -vt 0.786018 0.666602 -vt 0.669775 0.658077 -vt 0.635153 0.604268 -vt 0.647487 0.604268 -vt 0.723584 0.680365 -vt 0.661054 0.666798 -vt 0.777393 0.658077 -vt 0.723584 0.692699 -vt 0.799681 0.604268 -vt 0.786114 0.666798 -vt 0.635056 0.604072 -vt 0.647390 0.604072 -vt 0.642973 0.491810 -vt 0.662059 0.550052 -vt 0.642973 0.550052 -vt 0.642973 0.433568 -vt 0.662059 0.491810 -vt 0.642973 0.375326 -vt 0.662059 0.433568 -vt 0.662059 0.375326 -vt 0.625967 0.485397 -vt 0.625560 0.345878 -vt 0.624550 0.000408 -vt 0.639834 0.945689 -vt 0.639834 0.887447 -vt 0.681018 0.846264 -vt 0.780443 0.887447 -vt 0.739260 0.986873 -vt 0.625795 0.004394 -vt 0.754704 0.759424 -vt 0.629071 0.482857 -vt 0.631819 0.714933 -vt 0.877616 0.715602 -vt 0.754732 0.760094 -vt 0.631849 0.715602 -vt 0.629071 0.023610 -vt 0.877587 0.714933 -vt 0.636324 0.154102 -vt 0.701844 0.713307 -vt 0.807723 0.713307 -vt 0.701990 0.714365 -vt 0.807869 0.714365 -vt 0.900124 0.549107 -vt 0.631181 0.496239 -vt 0.631181 0.102121 -vt 0.397199 0.363198 -vt 0.311267 0.874901 -vt 0.311267 0.466981 -vt 0.663175 0.081173 -vt 0.810820 0.604423 -vt 0.810820 0.604346 -vt 0.662059 0.084114 -vt 0.811918 0.604072 -vt 0.812015 0.604268 -vn 0.0000 0.0000 1.0000 -vn 1.0000 -0.0011 0.0000 -vn 0.7708 0.6371 0.0000 -vn 0.0000 0.0000 -1.0000 -vn -1.0000 -0.0011 0.0000 -vn 0.0000 1.0000 0.0000 -vn -0.7759 -0.6309 0.0000 -vn 0.7759 -0.6309 0.0000 -vn 0.0000 -1.0000 0.0000 -vn -0.7708 0.6371 0.0000 -vn 1.0000 0.0000 0.0000 -vn -1.0000 0.0000 0.0000 -vn -0.7620 0.6475 0.0000 -vn 0.7620 0.6475 0.0000 -vn 0.7620 -0.6475 -0.0000 -vn -0.7620 -0.6475 -0.0000 -vn 0.0000 -0.7621 -0.6475 -vn 0.0000 0.3422 -0.9396 -vn 0.0000 -0.3429 0.9394 -vn 0.0000 -0.9440 -0.3300 -vn 0.0000 0.0000 0.0000 -vn 0.8660 0.0000 -0.5000 -vn 0.8660 0.0000 0.5000 -vn -0.8660 0.0000 0.5000 -vn -0.8660 0.0000 -0.5000 -vn 0.0000 -0.8660 -0.5000 -vn 0.0000 -0.8660 0.5000 -vn 0.0000 0.8660 0.5000 -vn 0.0000 0.8660 -0.5000 -vn 0.7071 -0.7071 0.0000 -vn 0.7071 0.7071 0.0000 -vn -0.7071 0.7071 0.0000 -vn -0.7071 -0.7071 0.0000 -vn 0.0362 -0.0362 0.9987 -vn 0.0362 0.0362 0.9987 -vn -0.0362 0.0362 0.9987 -vn -0.6849 -0.6849 -0.2488 -vn 0.0000 -0.9685 -0.2488 -vn -0.9685 -0.0000 -0.2488 -vn -0.6849 0.6849 -0.2488 -vn -0.0000 0.9685 -0.2488 -vn 0.6849 0.6849 -0.2488 -vn 0.9685 0.0000 -0.2488 -vn 0.6849 -0.6849 -0.2488 -vn -0.6831 -0.6831 0.2586 -vn -0.0000 -0.9660 0.2586 -vn -0.9660 0.0000 0.2586 -vn -0.6831 0.6831 0.2586 -vn 0.0000 0.9660 0.2586 -vn 0.6831 0.6831 0.2586 -vn 0.9660 0.0000 0.2586 -vn 0.6831 -0.6831 0.2586 -vn 0.0000 -0.9856 0.1689 -vn 0.1560 -0.8391 0.5211 -vn 0.1297 -0.9916 0.0000 -vn 0.8391 -0.1560 0.5211 -vn 0.9856 0.0000 0.1689 -vn 0.9916 -0.1297 0.0000 -vn 0.8391 0.1560 0.5211 -vn 0.9916 0.1297 0.0000 -vn 0.1560 0.8391 0.5211 -vn -0.0000 0.9856 0.1689 -vn 0.1297 0.9916 0.0000 -vn -0.1560 0.8391 0.5211 -vn -0.1297 0.9916 0.0000 -vn -0.8391 0.1560 0.5211 -vn -0.9856 0.0000 0.1689 -vn -0.9916 0.1297 0.0000 -vn -0.8391 -0.1560 0.5211 -vn -0.9916 -0.1297 0.0000 -vn -0.1560 -0.8391 0.5211 -vn -0.1297 -0.9916 0.0000 -vn 0.0000 -0.9856 -0.1689 -vn 0.1560 -0.8391 -0.5211 -vn 0.1031 -0.7878 -0.6073 -vn 0.8391 -0.1560 -0.5211 -vn 0.9856 0.0000 -0.1689 -vn 0.7878 -0.1031 -0.6073 -vn 0.8391 0.1560 -0.5211 -vn 0.7878 0.1031 -0.6073 -vn 0.1560 0.8391 -0.5211 -vn -0.0000 0.9856 -0.1689 -vn 0.1031 0.7878 -0.6073 -vn -0.1560 0.8391 -0.5211 -vn -0.1031 0.7878 -0.6073 -vn -0.8391 0.1560 -0.5211 -vn -0.9856 0.0000 -0.1689 -vn -0.7878 0.1031 -0.6073 -vn -0.8391 -0.1560 -0.5211 -vn -0.7878 -0.1031 -0.6073 -vn -0.1560 -0.8391 -0.5211 -vn -0.1031 -0.7878 -0.6073 -vn -0.0543 -0.9985 0.0000 -vn 0.9854 -0.1700 0.0000 -vn 0.9916 0.1295 0.0000 -vn 0.6883 0.7255 0.0000 -vn -0.6883 0.7255 0.0000 -vn -0.9916 0.1295 0.0000 -vn -0.9854 -0.1700 0.0000 -vn 0.0543 -0.9985 0.0000 -vn 0.0000 -0.3856 0.9227 -vn 0.3323 -0.3323 0.8827 -vn 0.2727 -0.2727 0.9227 -vn 0.4699 -0.0000 0.8827 -vn 0.3856 -0.0000 0.9227 -vn 0.3323 0.3323 0.8827 -vn 0.2727 0.2727 0.9227 -vn 0.0000 0.4699 0.8827 -vn 0.0000 0.3856 0.9227 -vn -0.3323 0.3323 0.8827 -vn -0.2727 0.2727 0.9227 -vn -0.3856 -0.0000 0.9227 -vn -0.4699 -0.0000 0.8827 -vn -0.3323 -0.3323 0.8827 -vn -0.2727 -0.2727 0.9227 -vn 0.0000 -0.4699 0.8827 -vn 0.0000 -0.1839 0.9829 -vn 0.1300 -0.1300 0.9829 -vn 0.1839 -0.0000 0.9829 -vn 0.1300 0.1300 0.9829 -vn -0.0000 0.1839 0.9829 -vn -0.1300 0.1300 0.9829 -vn -0.1839 -0.0000 0.9829 -vn -0.1300 -0.1300 0.9829 -vn 0.0000 -0.0512 0.9987 -vn 0.0512 -0.0000 0.9987 -vn 0.0000 0.0512 0.9987 -vn -0.0512 0.0000 0.9987 -vn -0.0362 -0.0362 0.9987 -vn 0.1031 -0.7878 0.6073 -vn 0.7878 -0.1031 0.6073 -vn 0.7878 0.1031 0.6073 -vn 0.1031 0.7878 0.6073 -vn -0.1031 0.7878 0.6073 -vn -0.7878 0.1031 0.6073 -vn -0.7878 -0.1031 0.6073 -vn -0.1031 -0.7878 0.6073 -s off -f 225/1/1 226/2/1 227/3/1 -f 228/4/2 229/5/2 225/6/2 -f 228/4/3 230/7/3 231/8/3 -f 232/9/4 228/10/4 233/11/4 -f 234/12/5 232/13/5 226/14/5 -f 235/15/6 229/5/6 236/16/6 -f 227/17/7 237/18/7 238/19/7 -f 233/20/8 239/21/8 240/22/8 -f 233/20/9 227/17/9 238/19/9 -f 226/14/10 241/23/10 242/24/10 -f 231/8/11 239/21/11 243/25/11 -f 242/24/12 237/18/12 244/26/12 -f 245/27/1 246/28/1 247/29/1 -f 248/30/2 245/31/2 249/32/2 -f 249/32/3 250/33/3 251/34/3 -f 252/35/4 249/36/4 253/37/4 -f 254/38/5 252/39/5 246/40/5 -f 255/41/6 256/42/6 248/30/6 -f 247/43/7 257/44/7 258/45/7 -f 253/46/8 259/47/8 260/48/8 -f 253/46/9 247/43/9 258/45/9 -f 246/40/10 261/49/10 262/50/10 -f 251/34/11 259/47/11 263/51/11 -f 262/50/12 257/44/12 264/52/12 -f 227/3/1 240/53/1 225/1/1 -f 240/53/1 239/54/1 230/55/1 -f 225/1/1 240/53/1 230/55/1 -f 225/1/1 229/56/1 234/57/1 -f 226/2/1 242/58/1 227/3/1 -f 242/58/1 244/59/1 227/3/1 -f 225/1/1 234/57/1 226/2/1 -f 228/4/2 236/16/2 229/5/2 -f 228/4/3 225/6/3 230/7/3 -f 233/11/4 238/60/4 232/9/4 -f 238/60/4 237/61/4 241/62/4 -f 232/9/4 238/60/4 241/62/4 -f 232/9/4 235/63/4 236/64/4 -f 228/10/4 231/65/4 233/11/4 -f 231/65/4 243/66/4 233/11/4 -f 232/9/4 236/64/4 228/10/4 -f 234/12/5 235/67/5 232/13/5 -f 235/15/6 234/68/6 229/5/6 -f 227/17/7 244/26/7 237/18/7 -f 233/20/8 243/25/8 239/21/8 -f 233/20/9 240/22/9 227/17/9 -f 226/14/10 232/13/10 241/23/10 -f 231/8/11 230/7/11 239/21/11 -f 242/24/12 241/23/12 237/18/12 -f 247/29/1 260/69/1 245/27/1 -f 260/69/1 259/70/1 250/71/1 -f 245/27/1 260/69/1 250/71/1 -f 245/27/1 256/72/1 254/73/1 -f 246/28/1 262/74/1 247/29/1 -f 262/74/1 264/75/1 247/29/1 -f 245/27/1 254/73/1 246/28/1 -f 248/30/2 256/42/2 245/31/2 -f 249/32/3 245/31/3 250/33/3 -f 253/37/4 258/76/4 252/35/4 -f 258/76/4 257/77/4 261/78/4 -f 252/35/4 258/76/4 261/78/4 -f 252/35/4 255/79/4 248/80/4 -f 249/36/4 251/81/4 253/37/4 -f 251/81/4 263/82/4 253/37/4 -f 252/35/4 248/80/4 249/36/4 -f 254/38/5 255/83/5 252/39/5 -f 255/41/6 254/84/6 256/42/6 -f 247/43/7 264/52/7 257/44/7 -f 253/46/8 263/51/8 259/47/8 -f 253/46/9 260/48/9 247/43/9 -f 246/40/10 252/39/10 261/49/10 -f 251/34/11 250/33/11 259/47/11 -f 262/50/12 261/49/12 257/44/12 -f 265/85/13 266/86/13 267/87/13 -f 268/88/14 269/89/14 270/90/14 -f 271/91/9 272/92/9 273/93/9 -f 270/90/15 274/94/15 272/92/15 -f 272/95/4 271/96/4 275/97/4 -f 276/98/12 277/99/12 278/100/12 -f 267/87/16 271/101/16 279/102/16 -f 275/103/6 280/104/6 268/88/6 -f 281/105/11 282/106/11 283/107/11 -f 284/108/1 285/109/1 286/110/1 -f 286/111/11 287/112/11 288/113/11 -f 281/114/9 278/115/9 277/116/9 -f 280/117/1 276/118/1 289/119/1 -f 287/120/17 290/121/17 291/122/17 -f 288/123/18 291/122/18 278/115/18 -f 285/109/19 292/124/19 286/110/19 -f 276/125/6 284/108/6 289/126/6 -f 273/127/1 283/128/1 293/129/1 -f 277/130/1 294/131/1 281/132/1 -f 295/133/12 296/134/12 277/135/12 -f 295/136/20 283/137/20 282/138/20 -f 282/138/9 296/139/9 295/136/9 -f 265/85/13 275/103/13 266/86/13 -f 268/88/14 280/104/14 269/89/14 -f 272/92/9 274/94/9 297/140/9 -f 274/94/9 281/141/9 297/140/9 -f 277/142/9 279/143/9 273/93/9 -f 279/143/9 271/91/9 273/93/9 -f 272/92/9 297/140/9 273/93/9 -f 270/90/15 269/89/15 274/94/15 -f 266/144/4 275/97/4 271/96/4 -f 275/97/4 268/145/4 272/95/4 -f 268/145/4 270/146/4 272/95/4 -f 278/100/12 291/147/12 285/148/12 -f 291/147/12 290/149/12 285/148/12 -f 285/148/12 298/150/12 278/100/12 -f 298/150/12 276/98/12 278/100/12 -f 267/87/16 266/86/16 271/101/16 -f 275/103/6 265/85/6 280/104/6 -f 283/107/21 297/151/21 281/105/21 -f 281/105/11 294/152/11 282/106/11 -f 284/108/1 298/153/1 285/109/1 -f 288/113/11 281/154/11 289/155/11 -f 289/155/11 284/156/11 288/113/11 -f 284/156/11 286/111/11 288/113/11 -f 286/111/11 292/157/11 287/112/11 -f 281/114/9 288/123/9 278/115/9 -f 274/158/1 269/159/1 280/117/1 -f 280/117/1 265/160/1 276/118/1 -f 265/160/1 267/161/1 279/162/1 -f 276/118/1 265/160/1 279/162/1 -f 279/162/1 277/163/1 276/118/1 -f 281/164/1 274/158/1 289/119/1 -f 274/158/1 280/117/1 289/119/1 -f 287/120/17 292/124/17 290/121/17 -f 288/123/18 287/120/18 291/122/18 -f 285/109/19 290/121/19 292/124/19 -f 276/125/6 298/153/6 284/108/6 -f 273/127/1 297/165/1 283/128/1 -f 277/130/1 296/166/1 294/131/1 -f 277/135/21 273/167/21 293/168/21 -f 293/168/12 295/133/12 277/135/12 -f 295/136/20 293/169/20 283/137/20 -f 282/138/9 294/170/9 296/139/9 -s 1 -f 1/171/4 2/172/22 3/173/4 -f 4/174/22 5/175/23 2/172/22 -f 6/176/23 7/177/1 5/175/23 -f 8/178/1 9/179/24 7/180/1 -f 1/181/6 10/182/6 6/183/6 -f 10/184/24 11/185/25 9/179/24 -f 12/186/25 3/173/4 11/185/25 -f 2/187/9 7/188/9 11/189/9 -f 1/171/4 4/174/22 2/172/22 -f 4/174/22 6/176/23 5/175/23 -f 6/176/23 8/190/1 7/177/1 -f 8/178/1 10/184/24 9/179/24 -f 6/183/6 4/191/6 1/181/6 -f 1/181/6 12/192/6 10/182/6 -f 10/182/6 8/193/6 6/183/6 -f 10/184/24 12/186/25 11/185/25 -f 12/186/25 1/171/4 3/173/4 -f 11/189/9 3/194/9 2/187/9 -f 2/187/9 5/195/9 7/188/9 -f 7/188/9 9/196/9 11/189/9 -f 13/197/4 14/198/26 15/199/4 -f 16/200/26 17/201/27 14/198/26 -f 18/202/27 19/203/1 17/201/27 -f 20/204/1 21/205/28 19/206/1 -f 13/207/11 22/208/11 18/209/11 -f 22/210/28 23/211/29 21/205/28 -f 24/212/29 15/199/4 23/211/29 -f 14/213/12 19/214/12 23/215/12 -f 13/197/4 16/200/26 14/198/26 -f 16/200/26 18/202/27 17/201/27 -f 18/202/27 20/216/1 19/203/1 -f 20/204/1 22/210/28 21/205/28 -f 18/209/11 16/217/11 13/207/11 -f 13/207/11 24/218/11 22/208/11 -f 22/208/11 20/219/11 18/209/11 -f 22/210/28 24/212/29 23/211/29 -f 24/212/29 13/197/4 15/199/4 -f 23/215/12 15/220/12 14/213/12 -f 14/213/12 17/221/12 19/214/12 -f 19/214/12 21/222/12 23/215/12 -f 25/223/30 26/224/11 27/225/30 -f 26/224/11 28/226/31 29/227/31 -f 28/226/31 30/228/6 29/227/31 -f 31/229/6 32/230/32 30/228/6 -f 33/231/32 34/232/12 32/230/32 -f 35/233/12 36/234/33 34/232/12 -f 37/235/4 38/236/4 39/237/4 -f 40/238/33 41/239/9 36/240/33 -f 42/241/34 43/242/35 44/243/36 -f 45/244/37 46/245/38 47/246/37 -f 48/247/39 47/248/37 49/249/39 -f 50/250/40 49/249/39 51/251/40 -f 52/252/41 51/251/40 53/253/41 -f 54/254/42 53/253/41 55/255/42 -f 56/256/43 55/255/42 57/257/43 -f 58/258/44 57/257/43 59/259/44 -f 60/260/38 59/259/44 46/245/38 -f 61/261/33 62/262/9 63/263/33 -f 64/264/12 63/265/33 65/266/12 -f 66/267/32 65/266/12 67/268/32 -f 68/269/6 67/268/32 69/270/6 -f 70/271/31 69/270/6 71/272/31 -f 72/273/11 71/272/31 73/274/11 -f 74/275/30 73/274/11 75/276/30 -f 76/277/9 75/276/30 62/262/9 -f 36/240/45 76/277/46 61/261/45 -f 34/232/47 61/278/45 64/264/47 -f 32/230/48 64/264/47 66/267/48 -f 30/228/49 66/267/48 68/269/49 -f 70/271/50 30/228/49 68/269/49 -f 72/273/51 29/227/50 70/271/50 -f 74/275/52 26/224/51 72/273/51 -f 41/239/46 74/275/52 76/277/46 -f 77/279/11 59/259/30 57/257/11 -f 78/280/31 57/257/11 55/255/31 -f 79/281/6 55/255/31 53/253/6 -f 80/282/32 53/253/6 51/251/32 -f 81/283/12 51/251/32 49/249/12 -f 82/284/33 49/249/12 47/248/33 -f 83/285/9 47/246/33 46/245/9 -f 84/286/53 85/287/54 86/288/9 -f 84/289/9 87/290/55 88/291/55 -f 85/287/56 89/292/57 90/293/11 -f 87/290/58 89/294/11 88/291/58 -f 89/292/57 91/295/59 90/293/11 -f 92/296/11 93/297/60 89/294/11 -f 91/298/61 94/299/62 95/300/6 -f 96/301/63 94/302/6 93/297/63 -f 94/299/62 97/303/64 95/300/6 -f 98/304/6 99/305/65 94/302/6 -f 97/303/66 100/306/67 101/307/12 -f 102/308/68 100/309/12 99/305/68 -f 100/306/67 103/310/69 101/307/12 -f 104/311/12 105/312/70 100/309/12 -f 103/313/71 84/286/53 86/288/9 -f 106/314/72 84/289/9 105/315/72 -f 103/316/33 107/317/9 108/318/33 -f 109/319/12 103/320/33 108/321/33 -f 97/322/32 109/319/12 110/323/32 -f 95/324/6 110/323/32 111/325/6 -f 91/326/31 111/325/6 112/327/31 -f 90/328/11 112/327/31 113/329/11 -f 85/330/30 113/329/11 114/331/30 -f 86/332/9 114/331/30 107/317/9 -f 115/333/73 116/334/74 87/335/75 -f 116/334/76 92/336/77 87/335/78 -f 92/336/77 117/337/79 96/338/80 -f 117/339/81 98/340/82 96/341/83 -f 98/340/82 118/342/84 102/343/85 -f 118/342/86 104/344/87 102/343/88 -f 104/344/87 119/345/89 106/346/90 -f 119/347/91 115/333/73 106/348/92 -f 120/349/9 58/258/30 60/260/9 -f 69/350/4 121/351/4 122/352/4 -f 123/353/30 56/256/11 58/258/30 -f 120/354/1 124/355/1 125/356/1 -f 126/357/11 54/254/31 56/256/11 -f 120/354/1 127/358/1 123/359/1 -f 128/360/31 52/252/6 54/254/31 -f 129/361/1 130/362/1 131/363/1 -f 132/364/6 50/250/32 52/252/6 -f 109/365/4 133/366/4 134/367/4 -f 135/368/32 48/247/12 50/250/32 -f 69/350/4 136/369/4 71/370/4 -f 137/371/12 45/372/33 48/247/12 -f 137/373/1 124/355/1 138/374/1 -f 138/375/33 60/260/9 45/244/33 -f 129/361/1 139/376/1 140/377/1 -f 141/378/9 142/379/30 116/380/30 -f 110/381/4 134/367/4 143/382/4 -f 142/379/30 144/383/11 116/380/30 -f 71/370/4 145/384/4 73/385/4 -f 146/386/11 117/387/31 144/383/11 -f 135/388/1 147/389/1 137/373/1 -f 148/390/31 149/391/6 117/387/31 -f 148/392/1 150/393/1 139/376/1 -f 129/394/6 118/395/32 149/391/6 -f 111/396/4 143/382/4 151/397/4 -f 131/398/32 152/399/12 118/395/32 -f 73/385/4 153/400/4 75/401/4 -f 154/402/12 119/403/33 152/399/12 -f 132/404/1 155/405/1 135/388/1 -f 156/406/33 141/378/9 119/407/33 -f 146/408/1 157/409/1 150/393/1 -f 158/410/9 127/411/93 125/412/9 -f 159/413/94 160/414/95 127/411/94 -f 161/415/95 162/416/96 160/414/95 -f 163/417/96 164/418/6 162/416/96 -f 151/419/6 155/420/97 164/418/6 -f 143/421/97 147/422/98 155/420/97 -f 134/423/98 124/424/99 147/422/98 -f 133/425/100 125/412/9 124/426/100 -f 165/427/9 153/428/93 157/429/93 -f 153/428/94 150/430/95 157/429/94 -f 145/431/95 139/432/96 150/430/95 -f 136/433/96 140/434/6 139/432/96 -f 122/435/6 130/436/97 140/434/6 -f 121/437/97 166/438/98 130/436/97 -f 166/438/98 167/439/99 168/440/99 -f 167/441/100 165/427/9 168/442/100 -f 107/443/4 159/444/4 158/445/4 -f 107/443/4 133/366/4 108/446/4 -f 131/363/1 166/447/1 154/448/1 -f 126/449/1 127/358/1 160/450/1 -f 67/451/4 169/452/4 121/351/4 -f 113/453/4 159/444/4 114/454/4 -f 154/448/1 168/455/1 156/456/1 -f 128/457/1 160/450/1 162/458/1 -f 65/459/4 167/460/4 169/452/4 -f 112/461/4 161/462/4 113/453/4 -f 170/463/1 157/409/1 142/464/1 -f 170/463/1 168/455/1 165/465/1 -f 132/404/1 162/458/1 164/466/1 -f 62/467/4 153/400/4 171/468/4 -f 62/467/4 167/460/4 63/469/4 -f 111/396/4 163/470/4 112/461/4 -f 172/471/30 173/472/11 174/473/11 -f 175/474/9 176/475/30 172/471/30 -f 177/476/33 178/477/9 175/478/9 -f 179/479/12 180/480/33 177/476/33 -f 181/481/101 182/482/102 183/483/103 -f 183/483/103 179/484/104 184/485/105 -f 184/485/105 177/486/106 185/487/107 -f 185/487/107 175/488/108 186/489/109 -f 186/489/109 172/490/110 187/491/111 -f 188/492/112 172/490/110 174/493/113 -f 188/492/112 189/494/114 190/495/115 -f 190/495/115 191/496/116 181/481/101 -f 192/497/117 183/483/103 193/498/118 -f 193/498/118 184/485/105 194/499/119 -f 194/499/119 185/487/107 195/500/120 -f 195/500/120 186/489/109 196/501/121 -f 196/501/121 187/491/111 197/502/122 -f 198/503/123 187/491/111 188/492/112 -f 198/503/123 190/495/115 199/504/124 -f 192/497/117 190/495/115 181/481/101 -f 200/505/125 193/498/118 42/241/34 -f 201/506/126 193/498/118 194/499/119 -f 201/506/126 195/500/120 43/242/35 -f 202/507/127 195/500/120 196/501/121 -f 202/507/127 197/502/122 44/243/36 -f 44/243/36 198/503/123 203/508/128 -f 203/508/128 199/504/124 204/509/129 -f 200/505/125 199/504/124 192/497/117 -f 205/510/1 206/511/1 207/512/1 -f 207/512/1 77/513/1 208/514/1 -f 208/514/1 78/515/1 180/516/1 -f 180/516/1 79/517/1 178/518/1 -f 178/519/1 80/520/1 176/521/1 -f 173/522/1 80/520/1 81/523/1 -f 173/522/1 82/524/1 209/525/1 -f 205/526/1 82/524/1 83/527/1 -f 174/473/11 209/528/31 189/529/31 -f 189/529/31 205/530/6 191/531/6 -f 191/531/6 207/532/32 182/533/32 -f 182/533/32 208/534/12 179/479/12 -f 206/535/30 46/245/9 59/259/30 -f 210/536/31 211/537/11 37/538/11 -f 37/538/11 212/539/30 213/540/30 -f 213/540/30 214/541/9 38/542/9 -f 38/542/9 215/543/33 216/544/33 -f 217/545/4 218/546/4 219/547/4 -f 220/548/4 25/549/4 217/545/4 -f 215/550/4 221/551/4 220/548/4 -f 214/552/4 28/553/4 215/554/4 -f 212/555/4 31/556/4 214/552/4 -f 211/557/4 33/558/4 212/555/4 -f 222/559/4 35/560/4 211/557/4 -f 219/547/4 40/561/4 222/562/4 -f 223/563/6 222/564/31 210/565/31 -f 224/566/32 219/567/6 223/563/6 -f 39/568/12 217/569/32 224/566/32 -f 216/544/33 220/570/12 39/568/12 -f 218/571/9 27/225/30 41/239/9 -f 25/223/30 221/572/11 26/224/11 -f 26/224/11 221/572/11 28/226/31 -f 28/226/31 31/229/6 30/228/6 -f 31/229/6 33/231/32 32/230/32 -f 33/231/32 35/233/12 34/232/12 -f 35/233/12 40/573/33 36/234/33 -f 39/237/4 224/574/4 37/235/4 -f 224/574/4 223/575/4 37/235/4 -f 223/575/4 210/576/4 37/235/4 -f 37/235/4 213/577/4 38/236/4 -f 38/236/4 216/578/4 39/237/4 -f 40/238/33 218/571/9 41/239/9 -f 204/509/129 200/505/125 42/241/34 -f 42/241/34 201/506/126 43/242/35 -f 43/242/35 202/507/127 44/243/36 -f 44/243/36 203/508/128 204/509/129 -f 204/509/129 42/241/34 44/243/36 -f 45/244/37 60/260/38 46/245/38 -f 48/247/39 45/372/37 47/248/37 -f 50/250/40 48/247/39 49/249/39 -f 52/252/41 50/250/40 51/251/40 -f 54/254/42 52/252/41 53/253/41 -f 56/256/43 54/254/42 55/255/42 -f 58/258/44 56/256/43 57/257/43 -f 60/260/38 58/258/44 59/259/44 -f 61/261/33 76/277/9 62/262/9 -f 64/264/12 61/278/33 63/265/33 -f 66/267/32 64/264/12 65/266/12 -f 68/269/6 66/267/32 67/268/32 -f 70/271/31 68/269/6 69/270/6 -f 72/273/11 70/271/31 71/272/31 -f 74/275/30 72/273/11 73/274/11 -f 76/277/9 74/275/30 75/276/30 -f 36/240/45 41/239/46 76/277/46 -f 34/232/47 36/234/45 61/278/45 -f 32/230/48 34/232/47 64/264/47 -f 30/228/49 32/230/48 66/267/48 -f 70/271/50 29/227/50 30/228/49 -f 72/273/51 26/224/51 29/227/50 -f 74/275/52 27/225/52 26/224/51 -f 41/239/46 27/225/52 74/275/52 -f 77/279/11 206/535/30 59/259/30 -f 78/280/31 77/279/11 57/257/11 -f 79/281/6 78/280/31 55/255/31 -f 80/282/32 79/281/6 53/253/6 -f 81/283/12 80/282/32 51/251/32 -f 82/284/33 81/283/12 49/249/12 -f 83/285/9 82/579/33 47/246/33 -f 84/286/53 88/580/130 85/287/54 -f 84/289/9 115/581/9 87/290/55 -f 85/287/56 88/580/131 89/292/57 -f 87/290/58 92/296/11 89/294/11 -f 89/292/57 93/582/132 91/295/59 -f 92/296/11 96/301/60 93/297/60 -f 91/298/61 93/583/133 94/299/62 -f 96/301/63 98/304/6 94/302/6 -f 94/299/62 99/584/134 97/303/64 -f 98/304/6 102/308/65 99/305/65 -f 97/303/66 99/584/135 100/306/67 -f 102/308/68 104/311/12 100/309/12 -f 100/306/67 105/585/136 103/310/69 -f 104/311/12 106/586/70 105/312/70 -f 103/313/71 105/587/137 84/286/53 -f 106/314/72 115/581/9 84/289/9 -f 103/316/33 86/332/9 107/317/9 -f 109/319/12 101/588/12 103/320/33 -f 97/322/32 101/588/12 109/319/12 -f 95/324/6 97/322/32 110/323/32 -f 91/326/31 95/324/6 111/325/6 -f 90/328/11 91/326/31 112/327/31 -f 85/330/30 90/328/11 113/329/11 -f 86/332/9 85/330/30 114/331/30 -f 115/333/73 141/589/9 116/334/74 -f 116/334/76 144/590/11 92/336/77 -f 92/336/77 144/590/11 117/337/79 -f 117/339/81 149/591/6 98/340/82 -f 98/340/82 149/591/6 118/342/84 -f 118/342/86 152/592/12 104/344/87 -f 104/344/87 152/592/12 119/345/89 -f 119/347/91 141/589/9 115/333/73 -f 120/349/9 123/353/30 58/258/30 -f 69/350/4 67/451/4 121/351/4 -f 123/353/30 126/357/11 56/256/11 -f 120/354/1 138/374/1 124/355/1 -f 126/357/11 128/360/31 54/254/31 -f 120/354/1 125/356/1 127/358/1 -f 128/360/31 132/364/6 52/252/6 -f 129/361/1 140/377/1 130/362/1 -f 132/364/6 135/368/32 50/250/32 -f 109/365/4 108/446/4 133/366/4 -f 135/368/32 137/371/12 48/247/12 -f 69/350/4 122/352/4 136/369/4 -f 137/371/12 138/593/33 45/372/33 -f 137/373/1 147/389/1 124/355/1 -f 138/375/33 120/349/9 60/260/9 -f 129/361/1 148/392/1 139/376/1 -f 141/378/9 170/594/9 142/379/30 -f 110/381/4 109/365/4 134/367/4 -f 142/379/30 146/386/11 144/383/11 -f 71/370/4 136/369/4 145/384/4 -f 146/386/11 148/390/31 117/387/31 -f 135/388/1 155/405/1 147/389/1 -f 148/390/31 129/394/6 149/391/6 -f 148/392/1 146/408/1 150/393/1 -f 129/394/6 131/398/32 118/395/32 -f 111/396/4 110/381/4 143/382/4 -f 131/398/32 154/402/12 152/399/12 -f 73/385/4 145/384/4 153/400/4 -f 154/402/12 156/595/33 119/403/33 -f 132/404/1 164/466/1 155/405/1 -f 156/406/33 170/594/9 141/378/9 -f 146/408/1 142/464/1 157/409/1 -f 158/410/9 159/413/93 127/411/93 -f 159/413/94 161/415/95 160/414/95 -f 161/415/95 163/417/96 162/416/96 -f 163/417/96 151/419/6 164/418/6 -f 151/419/6 143/421/97 155/420/97 -f 143/421/97 134/423/98 147/422/98 -f 134/423/98 133/596/99 124/424/99 -f 133/425/100 158/410/9 125/412/9 -f 165/427/9 171/597/9 153/428/93 -f 153/428/94 145/431/95 150/430/95 -f 145/431/95 136/433/96 139/432/96 -f 136/433/96 122/435/6 140/434/6 -f 122/435/6 121/437/97 130/436/97 -f 121/437/97 169/598/98 166/438/98 -f 166/438/98 169/598/98 167/439/99 -f 167/441/100 171/597/9 165/427/9 -f 107/443/4 114/454/4 159/444/4 -f 107/443/4 158/445/4 133/366/4 -f 131/363/1 130/362/1 166/447/1 -f 126/449/1 123/359/1 127/358/1 -f 67/451/4 65/459/4 169/452/4 -f 113/453/4 161/462/4 159/444/4 -f 154/448/1 166/447/1 168/455/1 -f 128/457/1 126/449/1 160/450/1 -f 65/459/4 63/469/4 167/460/4 -f 112/461/4 163/470/4 161/462/4 -f 170/463/1 165/465/1 157/409/1 -f 170/463/1 156/456/1 168/455/1 -f 132/404/1 128/457/1 162/458/1 -f 62/467/4 75/401/4 153/400/4 -f 62/467/4 171/468/4 167/460/4 -f 111/396/4 151/397/4 163/470/4 -f 172/471/30 176/475/30 173/472/11 -f 175/474/9 178/599/9 176/475/30 -f 177/476/33 180/480/33 178/477/9 -f 179/479/12 208/534/12 180/480/33 -f 181/481/101 191/496/116 182/482/102 -f 183/483/103 182/482/102 179/484/104 -f 184/485/105 179/484/104 177/486/106 -f 185/487/107 177/486/106 175/488/108 -f 186/489/109 175/488/108 172/490/110 -f 188/492/112 187/491/111 172/490/110 -f 188/492/112 174/493/113 189/494/114 -f 190/495/115 189/494/114 191/496/116 -f 192/497/117 181/481/101 183/483/103 -f 193/498/118 183/483/103 184/485/105 -f 194/499/119 184/485/105 185/487/107 -f 195/500/120 185/487/107 186/489/109 -f 196/501/121 186/489/109 187/491/111 -f 198/503/123 197/502/122 187/491/111 -f 198/503/123 188/492/112 190/495/115 -f 192/497/117 199/504/124 190/495/115 -f 200/505/125 192/497/117 193/498/118 -f 201/506/126 42/241/34 193/498/118 -f 201/506/126 194/499/119 195/500/120 -f 202/507/127 43/242/35 195/500/120 -f 202/507/127 196/501/121 197/502/122 -f 44/243/36 197/502/122 198/503/123 -f 203/508/128 198/503/123 199/504/124 -f 200/505/125 204/509/129 199/504/124 -f 205/510/1 83/600/1 206/511/1 -f 207/512/1 206/511/1 77/513/1 -f 208/514/1 77/513/1 78/515/1 -f 180/516/1 78/515/1 79/517/1 -f 178/519/1 79/601/1 80/520/1 -f 173/522/1 176/521/1 80/520/1 -f 173/522/1 81/523/1 82/524/1 -f 205/526/1 209/525/1 82/524/1 -f 174/473/11 173/472/11 209/528/31 -f 189/529/31 209/528/31 205/530/6 -f 191/531/6 205/530/6 207/532/32 -f 182/533/32 207/532/32 208/534/12 -f 206/535/30 83/285/9 46/245/9 -f 210/536/31 222/602/31 211/537/11 -f 37/538/11 211/537/11 212/539/30 -f 213/540/30 212/539/30 214/541/9 -f 38/542/9 214/541/9 215/543/33 -f 217/545/4 25/549/4 218/546/4 -f 220/548/4 221/551/4 25/549/4 -f 215/550/4 28/603/4 221/551/4 -f 214/552/4 31/556/4 28/553/4 -f 212/555/4 33/558/4 31/556/4 -f 211/557/4 35/560/4 33/558/4 -f 222/559/4 40/604/4 35/560/4 -f 219/547/4 218/546/4 40/561/4 -f 223/563/6 219/567/6 222/564/31 -f 224/566/32 217/569/32 219/567/6 -f 39/568/12 220/570/12 217/569/32 -f 216/544/33 215/543/33 220/570/12 -f 218/571/9 25/223/30 27/225/30 -o Hammer -v 0.032000 0.588845 1.091862 -v 0.032000 0.697419 1.159147 -v 0.032000 0.639309 1.194319 -v -0.032000 0.588845 1.091862 -v -0.032000 0.697419 1.159147 -v -0.032000 0.755530 1.130092 -v 0.032000 0.842695 0.952702 -v -0.032000 0.842695 1.107154 -v 0.032000 0.842695 1.107154 -v 0.032000 0.755530 1.130092 -v -0.032000 0.718828 1.220316 -v 0.032000 0.718828 1.220316 -v 0.068452 0.772351 1.279956 -v -0.068452 0.772351 1.279956 -v -0.068452 0.776939 1.464992 -v 0.068452 0.776939 1.464992 -v -0.068452 0.737179 1.463463 -v 0.068452 0.737179 1.463463 -v -0.068452 0.735650 1.390060 -v 0.068452 0.735650 1.390060 -v 0.068452 0.724945 1.304423 -v -0.068452 0.724945 1.304423 -v -0.032000 0.663776 1.232550 -v 0.032000 0.663776 1.232550 -v -0.032000 0.639309 1.194319 -v -0.032000 0.620958 1.237138 -v 0.032000 0.620958 1.237138 -v -0.032000 0.561319 1.335008 -v 0.032000 0.561319 1.335008 -v -0.032000 0.477211 1.387001 -v 0.032000 0.477211 1.387001 -v -0.032000 0.842695 0.952702 -vt 0.343765 0.934799 -vt 0.350946 0.946383 -vt 0.354698 0.940182 -vt 0.343782 0.934821 -vt 0.350963 0.946405 -vt 0.347864 0.952606 -vt 0.390183 0.954876 -vt 0.397012 0.971356 -vt 0.390183 0.971356 -vt 0.397012 0.980973 -vt 0.390183 0.980973 -vt 0.397012 0.987905 -vt 0.390183 0.987905 -vt 0.397012 0.994820 -vt 0.390183 0.994820 -vt 0.379264 0.964780 -vt 0.387814 0.975498 -vt 0.379264 0.979388 -vt 0.359515 0.979388 -vt 0.359515 0.964780 -vt 0.355269 0.979388 -vt 0.355269 0.964780 -vt 0.347436 0.979388 -vt 0.347436 0.964780 -vt 0.338227 0.964780 -vt 0.338227 0.979388 -vt 0.328157 0.975498 -vt 0.328157 0.968670 -vt 0.397043 0.923988 -vt 0.403872 0.928831 -vt 0.397043 0.928831 -vt 0.403872 0.933801 -vt 0.397043 0.933801 -vt 0.403872 0.946030 -vt 0.397043 0.946030 -vt 0.403872 0.956580 -vt 0.397043 0.956580 -vt 0.403872 0.990249 -vt 0.397043 0.990249 -vt 0.390183 0.923988 -vt 0.397012 0.954876 -vt 0.384495 0.954648 -vt 0.384235 0.950410 -vt 0.376401 0.950426 -vt 0.357473 0.948666 -vt 0.367240 0.949494 -vt 0.358777 0.942792 -vt 0.357490 0.948689 -vt 0.367257 0.949516 -vt 0.364763 0.954633 -vt 0.376418 0.950449 -vt 0.384252 0.950432 -vt 0.384512 0.954670 -vt 0.328921 0.961887 -vt 0.347847 0.952584 -vt 0.345400 0.961884 -vt 0.369708 0.931858 -vt 0.375254 0.922884 -vt 0.359266 0.938223 -vt 0.375271 0.922906 -vt 0.369725 0.931881 -vt 0.359283 0.938246 -vt 0.354715 0.940204 -vt 0.358794 0.942814 -vt 0.345417 0.961907 -vt 0.328938 0.961909 -vt 0.387814 0.968670 -vt 0.403872 0.923988 -vt 0.397012 0.923988 -vt 0.364746 0.954610 -vn 1.0000 0.0000 0.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 1.0000 0.0000 -vn 0.0000 0.2545 0.9671 -vn 0.0000 0.4472 0.8944 -vn 0.0000 0.9439 -0.3303 -vn 0.0000 0.7442 -0.6679 -vn 0.0000 0.9997 -0.0248 -vn 0.0000 -0.0384 0.9993 -vn 0.0000 -0.9998 0.0208 -vn 0.0000 -0.9923 0.1240 -vn 0.0000 -0.7615 0.6481 -vn 0.0000 -0.8423 0.5390 -vn 0.0000 0.9191 0.3939 -vn 0.0000 0.8539 0.5204 -vn 0.0000 0.5258 0.8506 -vn 0.0000 -0.9353 -0.3538 -vn 0.0000 -0.4807 -0.8769 -vn 0.9164 -0.0869 -0.3908 -vn -0.9050 -0.1951 -0.3780 -vn 0.9050 -0.1951 -0.3780 -vn -0.9164 -0.0869 -0.3908 -s off -f 299/605/138 300/606/138 301/607/138 -f 302/608/139 303/609/139 304/610/139 -f 305/611/140 306/612/140 307/613/140 -f 307/613/141 304/614/141 308/615/141 -f 308/615/142 303/616/142 300/617/142 -f 300/617/143 309/618/143 310/619/143 -f 311/620/144 309/621/144 312/622/144 -f 311/620/145 313/623/145 314/624/145 -f 314/624/146 315/625/146 316/626/146 -f 316/626/147 317/627/147 318/628/147 -f 319/629/148 317/627/148 320/630/148 -f 319/629/149 321/631/149 322/632/149 -f 322/633/150 323/634/150 301/635/150 -f 301/635/151 324/636/151 325/637/151 -f 325/637/152 326/638/152 327/639/152 -f 327/639/153 328/640/153 329/641/153 -f 329/641/154 302/642/154 299/643/154 -f 299/644/155 330/645/155 305/611/155 -f 314/646/138 316/647/138 318/648/138 -f 310/649/156 319/650/156 322/651/156 -f 309/652/157 320/653/157 312/654/157 -f 317/655/139 315/656/139 313/657/139 -f 299/605/138 305/658/138 308/659/138 -f 305/658/138 307/660/138 308/659/138 -f 327/661/138 329/662/138 299/605/138 -f 301/607/138 325/663/138 299/605/138 -f 325/663/138 327/661/138 299/605/138 -f 310/649/138 322/651/138 300/606/138 -f 322/651/138 301/607/138 300/606/138 -f 299/605/138 308/659/138 300/606/138 -f 302/608/139 328/664/139 326/665/139 -f 326/665/139 324/666/139 302/608/139 -f 324/666/139 323/667/139 302/608/139 -f 323/667/139 321/668/139 303/609/139 -f 321/668/139 309/652/139 303/609/139 -f 306/669/139 330/670/139 304/610/139 -f 330/670/139 302/608/139 304/610/139 -f 302/608/139 323/667/139 303/609/139 -f 305/611/140 330/645/140 306/612/140 -f 307/613/141 306/612/141 304/614/141 -f 308/615/142 304/614/142 303/616/142 -f 300/617/143 303/616/143 309/618/143 -f 311/620/144 310/671/144 309/621/144 -f 311/620/145 312/622/145 313/623/145 -f 314/624/146 313/623/146 315/625/146 -f 316/626/147 315/625/147 317/627/147 -f 319/629/148 318/628/148 317/627/148 -f 319/629/149 320/630/149 321/631/149 -f 322/633/150 321/672/150 323/634/150 -f 301/635/151 323/634/151 324/636/151 -f 325/637/152 324/636/152 326/638/152 -f 327/639/153 326/638/153 328/640/153 -f 329/641/154 328/640/154 302/642/154 -f 299/644/155 302/673/155 330/645/155 -f 318/648/138 319/650/138 311/674/138 -f 311/674/138 314/646/138 318/648/138 -f 310/649/158 311/674/158 319/650/158 -f 309/652/159 321/668/159 320/653/159 -f 313/657/139 312/654/139 317/655/139 -f 312/654/139 320/653/139 317/655/139 -o Gun -v 0.021772 0.858479 -2.163888 -v 0.021772 0.977946 -2.136619 -v 0.021772 0.977946 -1.813800 -v 0.006439 1.069528 -2.025718 -v 0.006439 0.978873 -1.822862 -v 0.006439 0.978924 -2.135519 -v -0.021772 0.977946 -1.813800 -v -0.021772 0.858479 -2.163888 -v -0.021772 0.862374 -1.530190 -v -0.006439 0.979031 -2.135490 -v -0.006439 0.978873 -1.822863 -v -0.006439 1.069528 -2.025718 -v 0.021772 0.977946 -1.776917 -v 0.021772 0.862374 -1.530190 -v -0.021772 0.977946 -2.136619 -v -0.021772 0.977946 -1.776917 -v -0.006439 1.067725 -2.088842 -v 0.006439 1.035261 -2.120404 -v 0.006439 1.067725 -2.088842 -v -0.006439 1.035261 -2.120404 -v 0.045500 -0.120256 0.684201 -v 0.045500 -0.026668 0.645664 -v 0.045500 -0.037678 0.759438 -v -0.045500 -0.195494 0.673190 -v -0.045500 -0.241370 0.641994 -v -0.045500 -0.226690 0.735583 -v -0.045500 0.083436 0.570427 -v 0.045500 0.083436 0.570427 -v -0.045500 -0.026668 0.645664 -v 0.045500 -0.195494 0.673190 -v -0.045500 -0.120256 0.684201 -v 0.045500 -0.241370 0.641994 -v 0.045500 -0.301928 0.541066 -v 0.045500 -0.329454 0.561251 -v -0.045500 -0.301928 0.541066 -v 0.045500 -0.292752 0.676861 -v -0.045500 -0.329454 0.561251 -v 0.045500 -0.226690 0.735583 -v -0.045500 -0.292752 0.676861 -v 0.045500 -0.098235 0.761274 -v -0.045500 -0.098235 0.761274 -v 0.045500 0.006363 0.860367 -v -0.045500 -0.037678 0.759438 -v 0.045500 0.120138 0.755768 -v -0.045500 0.006363 0.860367 -v -0.045500 0.120138 0.755768 -v -0.054995 0.616618 -0.028039 -v -0.033567 0.562746 -0.960018 -v -0.033567 0.562746 -0.028039 -v -0.054995 0.616618 -1.026899 -v 0.033567 0.562746 -0.960018 -v 0.054995 0.616618 -0.028039 -v 0.033567 0.562746 -0.028039 -v -0.033567 0.390368 -0.028039 -v -0.025180 0.382701 -0.028039 -v -0.004934 0.379525 -0.028039 -v 0.054995 0.616618 -1.026899 -v 0.033567 0.390368 -0.028039 -v 0.033567 0.390368 -0.869522 -v -0.033567 0.390368 -0.869522 -v 0.004934 0.379525 -0.863829 -v -0.004934 0.379525 -0.863829 -v 0.025180 0.382701 -0.865496 -v -0.025180 0.382701 -0.865496 -v 0.025180 0.382701 -0.028039 -v 0.004934 0.379525 -0.028039 -v -0.091806 0.781963 -0.305483 -v 0.000000 0.834967 -0.305483 -v 0.091806 0.781963 -0.305483 -v 0.000000 0.577301 -2.190801 -v 0.131339 0.653130 -0.116135 -v 0.000000 0.577301 -0.116135 -v 0.131339 0.653130 -2.190801 -v 0.131339 0.804788 -0.116135 -v -0.033282 0.869246 -2.190801 -v -0.131339 0.804788 -0.116135 -v -0.033282 0.869246 -0.116135 -v 0.000000 0.834967 -2.190801 -v -0.091806 0.781963 -2.190801 -v -0.131339 0.804788 -2.190801 -v -0.131339 0.653130 -0.116135 -v 0.131339 0.804788 -2.190801 -v 0.033282 0.869246 -0.116135 -v 0.033282 0.869246 -2.190801 -v 0.033282 0.893686 -0.116135 -v -0.033282 0.893686 -0.116135 -v 0.033282 0.893686 -2.190801 -v -0.033282 0.893686 -2.190801 -v 0.091806 0.781963 -2.190801 -v 0.091806 0.675955 -0.305483 -v 0.091806 0.675955 -2.190801 -v 0.000000 0.622951 -2.190801 -v -0.131339 0.653130 -2.190801 -v -0.091806 0.675955 -0.305483 -v -0.091806 0.675955 -2.190801 -v 0.000000 0.622951 -0.305483 -v 0.038663 0.010816 1.719601 -v -0.038663 -0.245511 1.887638 -v 0.038663 -0.245511 1.887638 -v 0.155101 -0.023361 0.976255 -v -0.155153 0.335495 1.332264 -v 0.155152 0.335496 1.332264 -v -0.165394 -1.094236 1.405764 -v -0.111831 -1.094236 1.351958 -v -0.038663 -1.094236 1.332264 -v 0.038663 -1.094236 1.332264 -v -0.038663 -0.735379 1.366441 -v 0.038663 -0.735379 1.366441 -v -0.038663 -0.493293 1.340808 -v 0.038663 -0.493293 1.340808 -v -0.038663 -0.356585 1.278151 -v 0.038663 -0.356585 1.278151 -v -0.038663 -0.259751 1.158532 -v 0.038663 -0.259751 1.158532 -v -0.038663 -0.208486 0.984799 -v 0.038663 -0.208486 0.984799 -v 0.165394 -0.171143 0.992864 -v 0.185000 -0.127654 1.227930 -v 0.165394 -0.193703 1.193231 -v -0.111832 -0.197420 0.977549 -v -0.124343 -0.190359 0.972923 -v -0.155012 -0.125892 0.930686 -v -0.155169 0.386761 1.437643 -v 0.155169 0.386761 1.437643 -v 0.165394 0.187100 1.505419 -v 0.185000 0.161170 1.436487 -v 0.185000 0.353967 1.437475 -v 0.038663 0.264730 1.561425 -v -0.038663 0.213029 1.574350 -v 0.038663 0.213029 1.574350 -v -0.038663 0.101954 1.631311 -v 0.038663 0.101954 1.631311 -v -0.038663 0.010816 1.719601 -v -0.185000 0.353967 1.437475 -v -0.165395 0.187099 1.505419 -v -0.165395 0.371558 1.459304 -v 0.038663 -0.641392 2.049978 -v -0.038663 -1.094236 2.183837 -v 0.038663 -1.094236 2.183837 -v 0.111832 -0.254688 1.870211 -v 0.111832 -0.647907 2.031459 -v 0.165395 -0.279760 1.822601 -v 0.165395 -0.665706 1.980867 -v 0.185000 -0.314010 1.757564 -v 0.111832 -1.094236 2.163393 -v 0.165395 -1.094236 2.107539 -v 0.185000 -1.094236 2.031240 -v 0.185000 -0.690020 1.911755 -v 0.111832 -1.094236 1.351958 -v 0.111832 -0.735275 1.386145 -v 0.165395 -1.094236 1.405764 -v 0.165395 -0.734991 1.439977 -v 0.185000 -1.094236 1.479263 -v 0.111831 -0.488039 1.359967 -v 0.165395 -0.473687 1.412310 -v 0.185000 -0.734604 1.513514 -v 0.111831 -0.344239 1.294058 -v 0.165394 -0.310507 1.337519 -v 0.185000 -0.454081 1.483811 -v 0.111831 -0.242054 1.167829 -v 0.185000 -0.264429 1.396888 -v -0.185000 -0.127654 1.227930 -v -0.165395 -0.171143 0.992864 -v -0.165395 -0.193703 1.193231 -v 0.111831 0.206081 1.555880 -v 0.111831 0.331394 1.524552 -v 0.165394 0.371558 1.459304 -v 0.111831 0.090410 1.615198 -v 0.165394 0.058870 1.571177 -v 0.111831 -0.001489 1.704225 -v 0.165394 -0.035107 1.662217 -v 0.185000 -0.081029 1.604832 -v 0.185000 0.015786 1.511043 -v -0.185000 -0.314010 1.757564 -v -0.165394 -0.665706 1.980867 -v -0.165394 -0.279760 1.822601 -v -0.111831 -0.647907 2.031460 -v -0.111831 -0.254688 1.870211 -v -0.038663 -0.641392 2.049978 -v -0.185000 -1.094236 2.031240 -v -0.185000 -0.690020 1.911756 -v -0.165394 -1.094236 2.107539 -v -0.111831 -1.094236 2.163393 -v -0.185000 -1.094236 1.479263 -v -0.165394 -0.734991 1.439977 -v -0.111831 -0.735275 1.386145 -v -0.185000 -0.734604 1.513514 -v -0.165395 -0.473687 1.412310 -v -0.111832 -0.488039 1.359967 -v -0.185000 -0.454081 1.483811 -v -0.165395 -0.310507 1.337519 -v -0.111832 -0.344239 1.294059 -v -0.185000 -0.264429 1.396888 -v -0.111832 -0.242054 1.167830 -v 0.111831 -0.197420 0.977549 -v 0.124342 -0.190359 0.972923 -v -0.111832 0.331394 1.524552 -v -0.111832 0.206081 1.555880 -v -0.038663 0.264730 1.561425 -v -0.185000 0.161170 1.436487 -v -0.165395 0.058870 1.571177 -v -0.111832 0.090410 1.615198 -v -0.185000 -0.081029 1.604832 -v -0.185000 0.015786 1.511043 -v -0.165395 -0.035107 1.662217 -v -0.111832 -0.001489 1.704225 -v 0.167489 0.373183 1.456990 -v -0.167489 0.373183 1.456990 -v 0.185000 -0.126088 0.963812 -v 0.155011 -0.125892 0.930686 -v 0.185000 -0.038447 1.002724 -v 0.185000 0.311230 1.349627 -v -0.185000 -0.038447 1.002724 -v -0.155102 -0.023361 0.976255 -v -0.185000 0.311230 1.349627 -v -0.185000 -0.126088 0.963812 -v -0.097892 0.268977 1.622983 -v 0.097892 0.149312 1.674509 -v 0.097892 0.268977 1.622983 -v 0.130092 0.958661 0.861598 -v -0.130093 0.708668 1.058814 -v 0.130092 0.708668 1.058814 -v 0.130092 0.613690 1.167382 -v -0.130093 0.530807 1.307363 -v 0.130092 0.530807 1.307363 -v 0.097892 -0.235169 1.903226 -v -0.097891 -0.628431 2.060954 -v 0.097892 -0.628431 2.060954 -v -0.130092 -0.204556 0.922148 -v 0.130093 -0.133963 0.912969 -v 0.130093 -0.204556 0.922148 -v -0.097891 -0.931319 2.170571 -v 0.097892 -0.931319 2.170571 -v 0.130093 -0.924483 1.955257 -v -0.130092 -0.070062 1.401592 -v 0.130093 -0.070062 1.401592 -v -0.130092 -0.225360 0.969494 -v 0.130093 -0.225360 0.969494 -v -0.130092 -0.300993 0.937781 -v 0.130093 -0.300993 0.937781 -v 0.130092 -0.008544 0.212238 -v -0.130093 -0.008544 -0.085101 -v 0.130092 -0.008544 -0.085101 -v -0.130093 0.275124 -0.085101 -v 0.130092 0.275124 -0.085101 -v -0.130093 0.357148 -0.143201 -v 0.130092 0.357148 -0.143201 -v 0.130092 0.525636 -0.143201 -v -0.130093 0.525636 -0.143201 -v 0.130092 0.921066 -0.143201 -v -0.130093 0.921066 0.307933 -v 0.130092 0.921066 0.307933 -v -0.130093 0.965496 0.495906 -v 0.130092 0.965496 0.495906 -v -0.130093 0.958661 0.861598 -v -0.097892 0.057929 1.734014 -v 0.097892 0.057929 1.734014 -v 0.097892 0.415249 1.620324 -v 0.130093 0.477214 1.426684 -v 0.130093 -0.386514 0.876939 -v -0.130092 -0.386514 0.876940 -v 0.130093 -0.442444 0.786799 -v 0.130092 -0.211485 0.282549 -v -0.130093 -0.008544 0.212238 -v -0.130092 -0.442590 0.623577 -v 0.130093 -0.414803 0.465864 -v 0.130093 -0.442590 0.623577 -v -0.130092 -0.414803 0.465864 -v 0.130093 -0.330356 0.359518 -v -0.130092 -0.330356 0.359518 -v -0.130092 -0.930219 2.135928 -v -0.130092 -0.924483 1.955257 -v 0.130093 -0.930219 2.135928 -v 0.130093 -0.249283 1.874193 -v -0.130092 -0.249284 1.874193 -v -0.130092 0.041082 1.706559 -v 0.130093 -0.639977 2.030890 -v -0.130092 -0.639977 2.030890 -v 0.130093 0.134048 1.646022 -v -0.130092 0.134048 1.646022 -v -0.130092 0.262060 1.590903 -v 0.130093 0.262060 1.590903 -v 0.130093 0.425615 1.587929 -v 0.130093 0.041082 1.706559 -v -0.097892 0.415249 1.620324 -v -0.130092 0.425615 1.587929 -v -0.097892 0.149312 1.674509 -v -0.097892 -0.235169 1.903226 -v -0.130092 0.477214 1.426684 -v -0.130092 -0.442444 0.786799 -v -0.130092 0.221493 0.777850 -v -0.130092 0.032680 0.752116 -v -0.130092 -0.044732 0.859700 -v -0.130092 -0.102226 0.333310 -v 0.130092 -0.022441 0.371767 -v -0.130093 -0.022441 0.371767 -v 0.130092 0.652207 0.905577 -v 0.130092 0.841407 0.777850 -v -0.130092 -0.388426 0.502954 -v 0.130093 -0.403589 0.641508 -v 0.130093 -0.388426 0.502954 -v 0.130092 -0.311756 0.399896 -v 0.130092 -0.193827 0.335099 -v -0.130092 -0.311756 0.399896 -v 0.130093 -0.361856 0.843483 -v -0.130092 -0.404840 0.766055 -v -0.130092 -0.361856 0.843483 -v -0.130092 -0.403589 0.641508 -v 0.130092 0.841407 0.131254 -v 0.130092 0.841530 -0.143201 -v -0.130092 -0.193827 0.335099 -v 0.130092 0.046415 0.462863 -v 0.130092 0.032680 0.752116 -v 0.130093 -0.280523 0.902444 -v -0.130092 -0.280523 0.902444 -v 0.130092 -0.102226 0.333310 -v -0.130093 0.046415 0.462863 -v -0.130093 0.357293 0.131254 -v 0.130092 0.357290 0.131254 -v 0.130092 0.525636 0.131254 -v 0.130092 0.221493 0.131254 -v -0.130093 0.221493 0.131254 -v -0.130093 0.221493 0.431851 -v -0.303465 0.659984 0.777850 -v 0.303465 0.659984 0.777850 -v -0.130093 0.841407 0.131254 -v 0.130092 0.841407 0.322044 -v -0.156306 0.411972 -0.143201 -v 0.173056 0.766475 -0.143201 -v -0.130093 0.921066 -0.143201 -v 0.173056 0.766475 0.131254 -v 0.173056 0.694144 -0.143201 -v 0.173056 0.694144 0.131254 -v 0.130092 0.617043 -0.143201 -v 0.156306 0.412767 -0.143201 -v 0.156306 0.467612 0.131254 -v 0.156306 0.467612 -0.143201 -v 0.130092 0.617043 0.131254 -v -0.173057 0.765680 -0.143201 -v -0.130093 0.841530 -0.143201 -v -0.173057 0.693349 -0.143201 -v -0.173057 0.765680 0.131254 -v -0.130093 0.617043 -0.143201 -v -0.173057 0.693349 0.131254 -v -0.130093 0.617043 0.131254 -v -0.130093 0.525636 0.131254 -v -0.156306 0.466817 0.131254 -v -0.156306 0.466817 -0.143201 -v 0.130092 0.221493 0.777850 -v -0.303465 0.402917 0.777850 -v 0.303465 0.402917 0.777850 -v 0.130092 0.406563 0.905577 -v -0.130093 0.405927 0.905757 -v -0.130093 0.650810 0.906495 -v -0.130093 0.841407 0.777850 -v 0.130092 -0.044732 0.859700 -v -0.130092 -0.133963 0.912969 -v -0.130093 0.613690 1.167382 -v -0.130092 -0.211485 0.282549 -v -0.130093 0.841407 0.322044 -v 0.130093 -0.404840 0.766055 -v 0.130092 0.221493 0.431851 -v -0.130093 0.275159 0.131254 -v 0.130092 0.274881 0.131254 -v -0.156306 0.411972 0.131254 -v 0.156306 0.412767 0.131254 -vt 0.050815 0.964187 -vt 0.022923 0.957640 -vt 0.023387 0.882167 -vt 0.000391 0.939742 -vt 0.021578 0.892311 -vt 0.021578 0.965410 -vt 0.023386 0.882167 -vt 0.050813 0.964187 -vt 0.050813 0.816027 -vt 0.021586 0.965403 -vt 0.021586 0.892311 -vt 0.000415 0.939749 -vt 0.065060 0.879800 -vt 0.054868 0.816027 -vt 0.065060 0.816027 -vt 0.066687 0.963664 -vt 0.076868 0.992314 -vt 0.066687 0.992314 -vt 0.066687 0.815504 -vt 0.076868 0.963664 -vt 0.065060 0.888433 -vt 0.054868 0.879800 -vt 0.061471 0.890563 -vt 0.054868 0.888433 -vt 0.006644 0.864557 -vt 0.003633 0.879321 -vt 0.003633 0.864557 -vt 0.006644 0.889907 -vt 0.006644 0.879321 -vt 0.003633 0.903518 -vt 0.003633 0.889907 -vt 0.065057 0.963856 -vt 0.061468 0.963513 -vt 0.058457 0.890564 -vt 0.054872 0.963859 -vt 0.003633 0.812609 -vt 0.058468 0.963499 -vt 0.023440 0.873544 -vt 0.050815 0.816027 -vt 0.008406 0.961878 -vt 0.000815 0.954500 -vt 0.023439 0.873544 -vt 0.022922 0.957640 -vt 0.000844 0.954507 -vt 0.008438 0.961882 -vt 0.076868 0.815504 -vt 0.006644 0.903544 -vt 0.006644 0.812609 -vt 0.023130 0.630533 -vt 0.028439 0.641072 -vt 0.015114 0.640800 -vt 0.023687 0.621763 -vt 0.026907 0.616152 -vt 0.016156 0.618688 -vt 0.051880 0.644663 -vt 0.062490 0.660213 -vt 0.051880 0.660213 -vt 0.051880 0.632862 -vt 0.062490 0.644663 -vt 0.051880 0.623995 -vt 0.062490 0.632862 -vt 0.051880 0.617526 -vt 0.062490 0.623995 -vt 0.051880 0.603802 -vt 0.062490 0.617526 -vt 0.062519 0.663431 -vt 0.073130 0.667411 -vt 0.062519 0.667411 -vt 0.062519 0.649287 -vt 0.073130 0.663431 -vt 0.062519 0.638981 -vt 0.073130 0.649287 -vt 0.062519 0.623707 -vt 0.073130 0.638981 -vt 0.062519 0.616642 -vt 0.073130 0.623707 -vt 0.062519 0.603802 -vt 0.073130 0.616642 -vt 0.051880 0.682243 -vt 0.062490 0.700264 -vt 0.051880 0.700264 -vt 0.062490 0.682243 -vt 0.038162 0.653207 -vt 0.016938 0.659116 -vt 0.003769 0.646815 -vt 0.014364 0.633776 -vt 0.016213 0.618613 -vt 0.023743 0.621688 -vt 0.022455 0.610413 -vt 0.026964 0.616078 -vt 0.035571 0.605121 -vt 0.038162 0.608143 -vt 0.003713 0.646890 -vt 0.016882 0.659191 -vt 0.015057 0.640875 -vt 0.038105 0.653282 -vt 0.028383 0.641147 -vt 0.014307 0.633851 -vt 0.023073 0.630608 -vt 0.022398 0.610487 -vt 0.038105 0.608218 -vt 0.035515 0.605196 -vt 0.062490 0.603802 -vt 0.073130 0.603802 -vt 0.646204 0.426405 -vt 0.878178 0.440836 -vt 0.646204 0.440836 -vt 0.719647 0.492539 -vt 0.698103 0.514756 -vt 0.698103 0.497914 -vt 0.878178 0.384598 -vt 0.646204 0.399029 -vt 0.646204 0.384598 -vt 0.719705 0.520131 -vt 0.733219 0.497914 -vt 0.733219 0.514756 -vt 0.776463 0.497914 -vt 0.778386 0.500018 -vt 0.779183 0.505097 -vt 0.894825 0.426405 -vt 0.894825 0.399029 -vt 0.776463 0.514756 -vt 0.855653 0.341692 -vt 0.646204 0.341692 -vt 0.649263 0.514756 -vt 0.649263 0.497914 -vt 0.855653 0.483742 -vt 0.646204 0.483742 -vt 0.853950 0.332960 -vt 0.646212 0.329338 -vt 0.853970 0.329334 -vt 0.647090 0.512652 -vt 0.646190 0.507573 -vt 0.854224 0.492481 -vt 0.646190 0.487380 -vt 0.854639 0.487380 -vt 0.646192 0.338059 -vt 0.646192 0.332964 -vt 0.854365 0.338054 -vt 0.719647 0.520131 -vt 0.719705 0.492539 -vt 0.779183 0.507573 -vt 0.778386 0.512652 -vt 0.646190 0.505097 -vt 0.647090 0.500018 -vt 0.646190 0.492481 -vt 0.625344 0.493036 -vt 0.640162 0.518702 -vt 0.625344 0.544367 -vt 0.991730 0.947997 -vt 0.418732 0.989883 -vt 0.418732 0.947997 -vt 0.991635 0.719134 -vt 0.418637 0.761020 -vt 0.418637 0.719134 -vt 0.991730 0.831816 -vt 0.418732 0.864225 -vt 0.418732 0.831816 -vt 0.490671 0.507650 -vt 0.475853 0.481984 -vt 0.500255 0.498345 -vt 0.991730 0.864225 -vt 0.418732 0.906111 -vt 0.991635 0.761020 -vt 0.418637 0.793429 -vt 0.991635 0.793430 -vt 0.418685 0.803430 -vt 0.553293 0.462750 -vt 0.580706 0.480770 -vt 0.580706 0.523168 -vt 0.418684 0.821815 -vt 0.991682 0.803430 -vt 0.991682 0.821815 -vt 0.534684 0.462750 -vt 0.553293 0.455917 -vt 0.507087 0.516954 -vt 0.500255 0.516954 -vt 0.945706 0.603823 -vt 0.418637 0.633459 -vt 0.418637 0.603823 -vt 0.945706 0.574187 -vt 0.418637 0.574187 -vt 0.431399 0.507650 -vt 0.418637 0.507650 -vt 0.439836 0.470932 -vt 0.418637 0.544551 -vt 0.945706 0.692732 -vt 0.418637 0.722368 -vt 0.418637 0.692732 -vt 0.945706 0.663096 -vt 0.418637 0.663096 -vt 0.595708 0.544367 -vt 0.580890 0.518702 -vt 0.595708 0.493036 -vt 0.991730 0.989883 -vt 0.482234 0.544367 -vt 0.439836 0.544367 -vt 0.446217 0.533315 -vt 0.475853 0.533315 -vt 0.482234 0.470932 -vt 0.991730 0.906111 -vt 0.543988 0.544367 -vt 0.507270 0.523168 -vt 0.507270 0.480770 -vt 0.534684 0.455917 -vt 0.507087 0.498345 -vt 0.945706 0.633460 -vt 0.446217 0.481984 -vt 0.945706 0.544551 -vt 0.945706 0.722369 -vt 0.943217 0.267157 -vt 0.926816 0.200969 -vt 0.943283 0.201022 -vt 0.518614 0.365977 -vt 0.408575 0.434977 -vt 0.407603 0.364763 -vt 0.691811 0.182540 -vt 0.679816 0.194589 -vt 0.663431 0.198999 -vt 0.790430 0.010515 -vt 0.806586 0.087515 -vt 0.789182 0.087383 -vt 0.807179 0.145714 -vt 0.787864 0.145480 -vt 0.807338 0.184720 -vt 0.787235 0.184419 -vt 0.806826 0.224675 -vt 0.787363 0.224372 -vt 0.804592 0.265004 -vt 0.789455 0.265203 -vt 0.762991 0.269202 -vt 0.734295 0.228422 -vt 0.750382 0.227248 -vt 0.563830 0.425463 -vt 0.561372 0.428039 -vt 0.544436 0.431268 -vt 0.380990 0.436844 -vt 0.380928 0.362943 -vt 0.979855 0.330577 -vt 0.997279 0.332894 -vt 0.977666 0.372086 -vt 0.942886 0.339656 -vt 0.925073 0.327372 -vt 0.943524 0.327508 -vt 0.924933 0.296851 -vt 0.943938 0.297107 -vt 0.926017 0.267118 -vt 0.890449 0.371970 -vt 0.888609 0.330033 -vt 0.898082 0.372863 -vt 0.944098 0.108972 -vt 0.927549 0.003861 -vt 0.945038 0.003989 -vt 0.959510 0.201115 -vt 0.960758 0.109163 -vt 0.976114 0.201189 -vt 0.977479 0.109415 -vt 0.993182 0.201234 -vt 0.962153 0.005475 -vt 0.979285 0.009325 -vt 0.996344 0.014550 -vt 0.994366 0.109702 -vt 0.775076 0.010580 -vt 0.772288 0.086759 -vt 0.759833 0.011018 -vt 0.755934 0.085737 -vt 0.744532 0.011615 -vt 0.769275 0.144608 -vt 0.751693 0.143162 -vt 0.740273 0.084551 -vt 0.767874 0.184311 -vt 0.749248 0.184148 -vt 0.735539 0.141562 -vt 0.768470 0.225353 -vt 0.732209 0.183909 -vt 0.859569 0.229149 -vt 0.830692 0.269217 -vt 0.843603 0.227804 -vt 0.468619 0.053761 -vt 0.510338 0.123074 -vt 0.595077 0.093538 -vt 0.961775 0.328544 -vt 0.957372 0.356859 -vt 0.970094 0.372916 -vt 0.967925 0.378672 -vt 0.962614 0.296741 -vt 0.981202 0.295983 -vt 0.960092 0.266798 -vt 0.976967 0.265877 -vt 0.994071 0.264483 -vt 0.999243 0.294996 -vt 0.876930 0.200545 -vt 0.893760 0.108906 -vt 0.893992 0.200716 -vt 0.910487 0.108862 -vt 0.910592 0.200854 -vt 0.927152 0.108880 -vt 0.876092 0.013774 -vt 0.876866 0.108983 -vt 0.893223 0.008764 -vt 0.910408 0.005131 -vt 0.852123 0.012128 -vt 0.839893 0.086276 -vt 0.836793 0.011364 -vt 0.823504 0.087100 -vt 0.821522 0.010763 -vt 0.806135 0.010538 -vt 0.855599 0.085278 -vt 0.843397 0.143865 -vt 0.825787 0.145081 -vt 0.859584 0.142485 -vt 0.845278 0.184879 -vt 0.826683 0.184818 -vt 0.862281 0.184873 -vt 0.825634 0.225751 -vt 0.818535 0.268782 -vt 0.775293 0.268889 -vt 0.772790 0.270569 -vt 0.910854 0.356249 -vt 0.906755 0.328195 -vt 0.925628 0.339795 -vt 0.871053 0.332174 -vt 0.887683 0.295354 -vt 0.906271 0.296322 -vt 0.875237 0.263718 -vt 0.869636 0.294124 -vt 0.892311 0.265344 -vt 0.909163 0.266501 -vt 0.582746 0.275394 -vt 0.511691 0.273824 -vt 0.532576 0.229852 -vt 0.385204 0.353185 -vt 0.378416 0.357051 -vt 0.385461 0.446926 -vt 0.378416 0.442955 -vt 0.541558 0.357450 -vt 0.542017 0.367230 -vt 0.518528 0.356368 -vt 0.407993 0.355379 -vt 0.520482 0.442763 -vt 0.520351 0.432941 -vt 0.409011 0.444549 -vt 0.558437 0.440307 -vt 0.544431 0.441003 -vt 0.555710 0.356970 -vt 0.559936 0.369073 -vt 0.646114 0.198999 -vt 0.613344 0.166080 -vt 0.629729 0.194589 -vt 0.617734 0.182540 -vt 0.613344 0.042471 -vt 0.696201 0.042471 -vt 0.617734 0.025385 -vt 0.646114 0.008299 -vt 0.629729 0.012877 -vt 0.663431 0.008299 -vt 0.679816 0.012877 -vt 0.691811 0.025385 -vt 0.696201 0.166080 -vt 0.756059 0.278834 -vt 0.569442 0.389177 -vt 0.562759 0.371542 -vt 0.568477 0.408219 -vt 0.970560 0.373529 -vt 0.897611 0.373479 -vt 0.837449 0.278834 -vt 0.578450 0.350139 -vt 0.600326 0.350269 -vt 0.581469 0.311429 -vt 0.582456 0.274854 -vt 0.592028 0.246226 -vt 0.532286 0.229312 -vt 0.600326 0.184395 -vt 0.531487 0.182600 -vt 0.474553 0.313093 -vt 0.511401 0.273284 -vt 0.458214 0.299160 -vt 0.580090 0.000344 -vt 0.900263 0.378672 -vt 0.820992 0.270468 -vt 0.581759 0.311969 -vt 0.600616 0.350809 -vt 0.578739 0.350680 -vt 0.474843 0.313633 -vt 0.458504 0.299700 -vt 0.600616 0.184935 -vt 0.592318 0.246766 -vt 0.580380 0.000884 -vt 0.595367 0.094079 -vt 0.468908 0.054301 -vt 0.531777 0.183140 -vt 0.510628 0.123614 -vt 0.297467 0.534291 -vt 0.274155 0.499064 -vt 0.297243 0.498318 -vt 0.227832 0.136510 -vt 0.174947 0.178032 -vt 0.174947 0.134818 -vt 0.150989 0.134818 -vt 0.123971 0.178032 -vt 0.123971 0.134818 -vt 0.200788 0.500764 -vt 0.132092 0.532286 -vt 0.132160 0.500166 -vt 0.214968 0.437985 -vt 0.226791 0.481199 -vt 0.214968 0.481199 -vt 0.079276 0.532213 -vt 0.079413 0.499857 -vt 0.057683 0.542811 -vt 0.014470 0.373714 -vt 0.057683 0.373714 -vt 0.014470 0.297454 -vt 0.057683 0.297454 -vt 0.014470 0.283833 -vt 0.057683 0.283833 -vt 0.057683 0.113331 -vt 0.013017 0.065497 -vt 0.056230 0.065497 -vt 0.014470 0.016834 -vt 0.057683 0.016834 -vt 0.237608 0.128706 -vt 0.194395 0.112011 -vt 0.237608 0.112011 -vt 0.237608 0.084028 -vt 0.194395 0.084028 -vt 0.395586 0.134818 -vt 0.320659 0.178032 -vt 0.320659 0.134818 -vt 0.288579 0.178032 -vt 0.288579 0.134818 -vt 0.227832 0.179723 -vt 0.255763 0.532612 -vt 0.255630 0.500001 -vt 0.322696 0.499422 -vt 0.102246 0.134818 -vt 0.057683 0.266401 -vt 0.014470 0.266401 -vt 0.057683 0.248783 -vt 0.057683 0.149002 -vt 0.014470 0.113331 -vt 0.014470 0.221674 -vt 0.057683 0.195076 -vt 0.057683 0.221674 -vt 0.014470 0.195076 -vt 0.057683 0.172522 -vt 0.014470 0.172522 -vt 0.016695 0.573883 -vt 0.014470 0.542811 -vt 0.059906 0.573475 -vt 0.200772 0.493328 -vt 0.200752 0.539591 -vt 0.255530 0.540026 -vt 0.081573 0.492375 -vt 0.132204 0.492739 -vt 0.081385 0.539720 -vt 0.132085 0.539722 -vt 0.273731 0.491419 -vt 0.273669 0.541133 -vt 0.297535 0.542407 -vt 0.297180 0.490341 -vt 0.324958 0.491786 -vt 0.255382 0.492566 -vt 0.323509 0.532260 -vt 0.326077 0.540048 -vt 0.274083 0.533455 -vt 0.200769 0.532142 -vt 0.102246 0.178032 -vt 0.072626 0.178537 -vt 0.066927 0.173242 -vt 0.014470 0.248783 -vt 0.252413 0.299074 -vt 0.247711 0.266360 -vt 0.265474 0.253139 -vt 0.347835 0.437985 -vt 0.333125 0.481199 -vt 0.333125 0.437985 -vt 0.278296 0.371798 -vt 0.255762 0.406113 -vt 0.304964 0.380163 -vt 0.126705 0.437985 -vt 0.149854 0.481199 -vt 0.126705 0.481199 -vt 0.105371 0.481199 -vt 0.083023 0.481199 -vt 0.105371 0.437985 -vt 0.185249 0.481199 -vt 0.170540 0.437985 -vt 0.185249 0.437985 -vt 0.149854 0.437985 -vt 0.142525 0.407099 -vt 0.095062 0.406915 -vt 0.094990 0.420685 -vt 0.189013 0.208764 -vt 0.178255 0.228217 -vt 0.182352 0.205687 -vt 0.266064 0.437985 -vt 0.314159 0.481199 -vt 0.266064 0.481199 -vt 0.201933 0.481199 -vt 0.201933 0.437985 -vt 0.083023 0.437985 -vt 0.067806 0.481199 -vt 0.067806 0.437985 -vt 0.314159 0.437985 -vt 0.302377 0.096782 -vt 0.259164 0.096782 -vt 0.259164 0.068822 -vt 0.140317 0.016548 -vt 0.183531 0.016548 -vt 0.183531 0.066473 -vt 0.346660 0.119615 -vt 0.316528 0.047608 -vt 0.346660 0.018813 -vt 0.134626 0.123141 -vt 0.091413 0.123141 -vt 0.091413 0.091454 -vt 0.182465 0.205434 -vt 0.178341 0.227957 -vt 0.189121 0.208518 -vt 0.142811 0.318849 -vt 0.106663 0.304088 -vt 0.096286 0.317803 -vt 0.106731 0.304422 -vt 0.142844 0.319109 -vt 0.096399 0.318133 -vt 0.096132 0.328492 -vt 0.095144 0.391955 -vt 0.142645 0.407391 -vt 0.173442 0.421287 -vt 0.095018 0.421173 -vt 0.142550 0.392168 -vt 0.095208 0.379505 -vt 0.142550 0.379683 -vt 0.095240 0.364539 -vt 0.095994 0.328301 -vt 0.142493 0.338592 -vt 0.095735 0.337534 -vt 0.095447 0.348525 -vt 0.141439 0.364519 -vt 0.095064 0.392252 -vt 0.095040 0.407371 -vt 0.095061 0.379937 -vt 0.142633 0.392298 -vt 0.095152 0.364467 -vt 0.142649 0.379782 -vt 0.259164 0.053641 -vt 0.302377 0.016377 -vt 0.302377 0.053641 -vt 0.141702 0.349557 -vt 0.095557 0.348555 -vt 0.142514 0.338724 -vt 0.095886 0.337698 -vt 0.419487 0.047607 -vt 0.389355 0.119615 -vt 0.389355 0.018813 -vt 0.243991 0.335751 -vt 0.246078 0.369705 -vt 0.275064 0.330321 -vt 0.252421 0.298907 -vt 0.275116 0.330356 -vt 0.244051 0.335934 -vt 0.246192 0.369866 -vt 0.278506 0.371699 -vt 0.255877 0.406248 -vt 0.244051 0.481199 -vt 0.226791 0.437985 -vt 0.244051 0.437985 -vt 0.150989 0.178032 -vt 0.194395 0.128706 -vt 0.194395 0.018352 -vt 0.237608 0.018352 -vt 0.194395 0.031562 -vt 0.237608 0.031562 -vt 0.244744 0.044028 -vt 0.244744 0.056041 -vt 0.237608 0.068846 -vt 0.187260 0.056173 -vt 0.187260 0.044160 -vt 0.194395 0.068846 -vt 0.241962 0.093665 -vt 0.241962 0.102774 -vt 0.190042 0.102906 -vt 0.190042 0.093797 -vt 0.395586 0.178032 -vt 0.014470 0.149002 -vt 0.054613 0.579282 -vt 0.022097 0.579589 -vt 0.066620 0.140727 -vt 0.072218 0.135325 -vt 0.356499 0.246980 -vt 0.443465 0.099671 -vt 0.433400 0.210690 -vt 0.471476 0.094183 -vt 0.456341 0.143787 -vt 0.407763 0.260852 -vt 0.398402 0.276971 -vt 0.390252 0.298924 -vt 0.391156 0.326394 -vt 0.364541 0.338678 -vt 0.344885 0.348510 -vt 0.267887 0.196031 -vt 0.278108 0.210100 -vt 0.272278 0.213559 -vt 0.283524 0.222603 -vt 0.274257 0.237995 -vt 0.322365 0.363503 -vt 0.305026 0.380279 -vt 0.252889 0.186910 -vt 0.262384 0.200164 -vt 0.271393 0.428457 -vt 0.206113 0.428467 -vt 0.175785 0.407489 -vt 0.249506 0.193155 -vt 0.275676 0.226164 -vt 0.193774 0.297327 -vt 0.199154 0.268291 -vt 0.347835 0.481199 -vt 0.471677 0.094230 -vt 0.443665 0.099691 -vt 0.456496 0.143819 -vt 0.356562 0.246916 -vt 0.433493 0.210699 -vt 0.283614 0.222464 -vt 0.278212 0.209955 -vt 0.272378 0.213407 -vt 0.268007 0.195875 -vt 0.253020 0.186738 -vt 0.262499 0.200002 -vt 0.407809 0.260835 -vt 0.398434 0.276945 -vt 0.390263 0.298890 -vt 0.274330 0.237845 -vt 0.364518 0.338619 -vt 0.391142 0.326361 -vt 0.344854 0.348432 -vt 0.249629 0.192979 -vt 0.275762 0.226016 -vt 0.265530 0.252980 -vt 0.322320 0.363406 -vt 0.173251 0.421067 -vt 0.205929 0.428299 -vt 0.175622 0.407277 -vt 0.271272 0.428353 -vt 0.247754 0.266183 -vt 0.199195 0.268058 -vt 0.193783 0.297091 -vt 0.170540 0.481199 -vt 0.225914 0.187076 -vt 0.228912 0.193503 -vt 0.199895 0.191746 -vt 0.206028 0.196086 -vt 0.157686 0.258627 -vt 0.169596 0.225253 -vt 0.177851 0.243385 -vt 0.106758 0.258651 -vt 0.143323 0.296417 -vt 0.143126 0.305374 -vt 0.184116 0.256688 -vt 0.302377 0.110423 -vt 0.302377 0.119336 -vt 0.259164 0.110469 -vt 0.259163 0.119336 -vt 0.306730 0.078591 -vt 0.306730 0.087700 -vt 0.254810 0.087568 -vt 0.254810 0.078459 -vt 0.302377 0.068822 -vt 0.183531 0.123939 -vt 0.140317 0.123939 -vt 0.140317 0.066473 -vt 0.316528 0.090821 -vt 0.091413 0.015750 -vt 0.134626 0.015750 -vt 0.134626 0.091454 -vt 0.106775 0.258282 -vt 0.143314 0.296134 -vt 0.143108 0.305052 -vt 0.157734 0.258343 -vt 0.184169 0.256437 -vt 0.169686 0.224983 -vt 0.177919 0.243125 -vt 0.226046 0.186873 -vt 0.200022 0.191514 -vt 0.206150 0.195860 -vt 0.229036 0.193303 -vt 0.142898 0.329338 -vt 0.142852 0.329212 -vt 0.141690 0.349257 -vt 0.141520 0.364833 -vt 0.252028 0.040835 -vt 0.259164 0.016377 -vt 0.252028 0.028822 -vt 0.309512 0.028954 -vt 0.309512 0.040967 -vt 0.419487 0.090821 -vn 1.0000 -0.0000 0.0000 -vn -1.0000 -0.0000 0.0000 -vn 0.0000 0.9761 0.2173 -vn 0.0000 0.9056 0.4242 -vn 0.0000 0.2225 -0.9749 -vn -0.0420 0.7668 -0.6405 -vn 0.0382 0.7683 -0.6390 -vn 0.0000 -1.0000 0.0061 -vn 0.0199 0.9997 0.0174 -vn 0.0205 0.9890 0.1463 -vn -0.0199 0.9997 0.0174 -vn -0.0000 0.9809 0.1946 -vn 0.0000 0.9155 -0.4023 -vn -0.0000 0.4940 -0.8694 -vn -0.0186 0.7451 -0.6667 -vn 0.0187 0.7735 -0.6336 -vn -0.0206 0.9890 0.1463 -vn 0.0000 -0.4751 -0.8800 -vn 0.0000 -0.5642 -0.8256 -vn 0.0000 -0.1223 -0.9925 -vn 0.0000 0.3628 -0.9319 -vn 0.0000 0.7269 -0.6868 -vn 0.0000 0.8575 -0.5145 -vn 0.0000 -0.5913 -0.8064 -vn 0.0000 -0.8388 0.5445 -vn 0.0000 -0.9531 0.3026 -vn 0.0000 -0.4458 0.8952 -vn 0.0000 -0.0834 0.9965 -vn 0.0000 0.0303 0.9995 -vn 0.0000 -0.9165 0.3999 -vn 0.0000 0.6768 0.7362 -vn 0.0000 0.9810 -0.1943 -vn 0.0000 -0.5914 -0.8064 -vn -0.9292 -0.3696 -0.0000 -vn -0.9658 -0.2592 -0.0000 -vn -0.9821 -0.1882 0.0000 -vn 0.0000 -0.7788 -0.6273 -vn 0.0000 -0.6466 -0.7629 -vn 0.9658 -0.2592 -0.0000 -vn 0.9292 -0.3696 -0.0000 -vn 0.9821 -0.1882 0.0000 -vn 0.0000 -0.0000 1.0000 -vn 0.0000 1.0000 0.0000 -vn 0.9538 -0.3003 -0.0000 -vn 0.9151 -0.4033 -0.0000 -vn 0.0000 -0.4649 -0.8854 -vn -0.9538 -0.3003 -0.0000 -vn -0.9151 -0.4033 -0.0000 -vn 0.0797 -0.9968 -0.0000 -vn -0.0777 -0.9970 -0.0000 -vn -0.0797 -0.9968 -0.0000 -vn 0.0000 -0.4649 -0.8853 -vn -0.4332 -0.9013 -0.0000 -vn -0.4666 -0.8845 -0.0000 -vn 0.4332 -0.9013 -0.0000 -vn 0.0777 -0.9970 -0.0000 -vn 0.4666 -0.8845 -0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.5000 -0.8660 -0.0000 -vn 0.8660 -0.5000 -0.0000 -vn 0.8801 0.4747 0.0000 -vn -0.5493 0.8356 0.0000 -vn -0.8801 0.4747 0.0000 -vn -0.8660 -0.5000 -0.0000 -vn -0.5000 -0.8660 -0.0000 -vn 0.5493 0.8356 0.0000 -vn -0.8660 0.5000 0.0000 -vn 0.8660 0.5000 0.0000 -vn 0.1301 0.6195 0.7741 -vn -0.1301 0.4620 0.8773 -vn 0.1301 0.4620 0.8773 -vn -0.0000 0.5645 -0.8254 -vn -0.0000 0.8133 -0.5819 -vn 0.0000 -1.0000 -0.0000 -vn 0.1295 0.0940 -0.9871 -vn -0.1323 -0.0052 -0.9912 -vn 0.1322 -0.0052 -0.9912 -vn -0.1340 -0.2621 -0.9557 -vn 0.1340 -0.2621 -0.9557 -vn -0.1365 -0.6074 -0.7826 -vn 0.1365 -0.6074 -0.7826 -vn -0.1352 -0.8771 -0.4608 -vn 0.1352 -0.8771 -0.4608 -vn -0.0808 -0.9622 -0.2603 -vn 0.0808 -0.9622 -0.2603 -vn 0.7746 -0.6264 -0.0870 -vn 0.9945 -0.0968 -0.0405 -vn 0.8887 -0.4230 -0.1767 -vn -0.0000 -0.5480 -0.8365 -vn -0.0000 0.8992 -0.4375 -vn 0.8698 0.1565 0.4679 -vn 0.9938 0.0274 0.1074 -vn 0.9228 0.0804 0.3768 -vn 0.0986 0.3350 0.9370 -vn -0.1326 0.3486 0.9278 -vn 0.1326 0.3486 0.9278 -vn -0.1335 0.5772 0.8056 -vn 0.1335 0.5772 0.8056 -vn -0.1301 0.6195 0.7741 -vn -0.9228 0.0804 0.3768 -vn -0.8698 0.1565 0.4679 -vn -0.7544 0.1070 0.6477 -vn 0.1301 0.3290 0.9353 -vn -0.1273 0.2812 0.9512 -vn 0.1273 0.2812 0.9512 -vn 0.4948 0.4049 0.7689 -vn 0.4968 0.2880 0.8187 -vn 0.8601 0.2377 0.4514 -vn 0.8626 0.1679 0.4771 -vn 0.9905 0.0642 0.1218 -vn 0.4781 0.2490 0.8423 -vn 0.8441 0.1520 0.5141 -vn 0.9881 0.0437 0.1477 -vn 0.9909 0.0446 0.1269 -vn 0.4931 0.0825 -0.8661 -vn 0.5089 -0.0045 -0.8608 -vn 0.8591 0.0485 -0.5095 -vn 0.8741 -0.0026 -0.4858 -vn 0.9904 0.0131 -0.1377 -vn 0.5163 -0.2265 -0.8259 -vn 0.8799 -0.1257 -0.4583 -vn 0.9926 -0.0006 -0.1217 -vn 0.5261 -0.5214 -0.6718 -vn 0.8869 -0.2832 -0.3649 -vn 0.9933 -0.0306 -0.1117 -vn 0.5029 -0.7822 -0.3678 -vn 0.9941 -0.0667 -0.0860 -vn -0.9945 -0.0968 -0.0405 -vn -0.7747 -0.6264 -0.0870 -vn -0.8887 -0.4230 -0.1767 -vn 0.5105 0.3024 0.8049 -vn 0.3336 0.5327 0.7778 -vn 0.7543 0.1069 0.6477 -vn 0.0001 0.8288 0.5595 -vn -0.0001 0.8288 0.5595 -vn -0.0000 0.8185 0.5745 -vn 0.5145 0.4994 0.6971 -vn 0.8785 0.2783 0.3884 -vn 0.4948 0.5430 0.6785 -vn 0.8601 0.3187 0.3982 -vn 0.9905 0.0860 0.1075 -vn 0.9931 0.0683 0.0953 -vn -0.9905 0.0642 0.1219 -vn -0.8626 0.1679 0.4771 -vn -0.8601 0.2377 0.4514 -vn -0.4968 0.2880 0.8187 -vn -0.4948 0.4049 0.7689 -vn -0.1301 0.3290 0.9353 -vn -0.9881 0.0437 0.1477 -vn -0.9909 0.0446 0.1269 -vn -0.8441 0.1520 0.5141 -vn -0.4781 0.2490 0.8423 -vn -0.9904 0.0131 -0.1377 -vn -0.8741 -0.0026 -0.4858 -vn -0.8591 0.0485 -0.5095 -vn -0.5089 -0.0045 -0.8608 -vn -0.4931 0.0825 -0.8661 -vn -0.1295 0.0940 -0.9871 -vn -0.9926 -0.0006 -0.1217 -vn -0.8799 -0.1257 -0.4583 -vn -0.5163 -0.2265 -0.8259 -vn -0.9933 -0.0306 -0.1117 -vn -0.8869 -0.2832 -0.3649 -vn -0.5261 -0.5214 -0.6718 -vn -0.9941 -0.0667 -0.0860 -vn -0.5029 -0.7822 -0.3678 -vn -0.3318 -0.9223 -0.1983 -vn 0.3318 -0.9223 -0.1983 -vn 0.4610 -0.8818 -0.0993 -vn -0.3336 0.5327 0.7778 -vn -0.5105 0.3024 0.8049 -vn -0.0986 0.3350 0.9370 -vn -0.9938 0.0274 0.1074 -vn -0.8785 0.2782 0.3884 -vn -0.5145 0.4994 0.6971 -vn -0.9905 0.0860 0.1075 -vn -0.9931 0.0682 0.0953 -vn -0.8601 0.3187 0.3982 -vn -0.4948 0.5430 0.6785 -vn 0.7184 0.6547 -0.2351 -vn 0.7258 0.6612 -0.1896 -vn 0.7397 0.6729 0.0012 -vn -0.7258 0.6612 -0.1896 -vn -0.7184 0.6547 -0.2351 -vn -0.7397 0.6729 0.0012 -vn 0.7127 0.3923 -0.5816 -vn 0.7116 0.2849 -0.6423 -vn 0.7115 0.2849 -0.6424 -vn 0.7070 0.5751 -0.4116 -vn 0.7123 0.4004 -0.5764 -vn 0.7070 0.5751 -0.4115 -vn -0.7124 0.4004 -0.5764 -vn -0.7070 0.5751 -0.4116 -vn -0.7127 0.3923 -0.5816 -vn -0.7070 0.5751 -0.4115 -vn -0.5760 -0.6122 -0.5417 -vn -0.5677 -0.6176 -0.5443 -vn -0.5896 -0.6030 -0.5373 -vn -0.7116 0.2849 -0.6423 -vn -0.7115 0.2849 -0.6424 -vn 0.5759 -0.6122 -0.5417 -vn 0.5677 -0.6176 -0.5443 -vn 0.5579 -0.6239 -0.5472 -vn 0.0000 0.4061 -0.9138 -vn 0.9813 -0.1926 -0.0011 -vn 0.7426 -0.0035 0.6698 -vn -0.7427 -0.0034 0.6697 -vn -0.9813 -0.1925 -0.0011 -vn 0.0001 0.8185 0.5745 -vn 0.0003 0.8185 0.5746 -vn -0.4610 -0.8818 -0.0993 -vn -0.5579 -0.6239 -0.5472 -vn 0.5896 -0.6030 -0.5373 -vn 0.0000 0.2108 0.9775 -vn 0.0000 0.4723 0.8814 -vn 0.0000 0.6194 0.7851 -vn 0.0000 0.6889 0.7248 -vn 0.0000 0.8100 0.5864 -vn 0.0000 0.8877 0.4603 -vn 0.0000 0.4372 0.8994 -vn 0.0000 0.3563 0.9344 -vn 0.0000 0.0622 -0.9981 -vn 0.0000 -0.3276 -0.9448 -vn 0.0000 0.3403 0.9403 -vn 0.0000 -0.5438 -0.8392 -vn 0.0000 -0.9411 0.3382 -vn 0.0000 -0.3867 0.9222 -vn 0.0000 -0.4862 0.8739 -vn 0.0000 -0.5780 -0.8160 -vn 0.0000 0.9933 -0.1158 -vn 0.0000 0.9943 -0.1065 -vn 0.0000 0.9998 0.0187 -vn 0.0000 0.5230 0.8523 -vn 0.0000 0.0182 0.9998 -vn 0.0000 0.9338 0.3578 -vn 0.0000 -0.7290 0.6845 -vn 0.0000 -0.9616 0.2745 -vn 0.0000 -0.4386 -0.8987 -vn 0.0000 -0.3274 -0.9449 -vn 0.0000 -0.9962 -0.0866 -vn 0.0000 -0.9120 -0.4103 -vn 0.0000 -0.6722 -0.7404 -vn 0.0000 -0.9995 -0.0317 -vn 0.7080 0.3088 0.6351 -vn 0.7072 0.3698 0.6026 -vn -0.7080 0.3088 0.6351 -vn -0.7072 0.3698 0.6026 -vn 0.7072 0.2520 0.6606 -vn 0.7071 0.2406 0.6649 -vn 0.7072 0.2519 0.6607 -vn -0.7071 0.2406 0.6649 -vn -0.7072 0.2520 0.6606 -vn -0.7072 0.2519 0.6607 -vn 0.7084 0.3334 0.6221 -vn 0.7138 0.1476 0.6846 -vn -0.7084 0.3333 0.6221 -vn -0.7138 0.1476 0.6846 -vn 0.7071 0.0129 0.7070 -vn -0.7071 0.0129 0.7070 -vn -0.0000 0.9524 0.3048 -vn 0.0000 -0.2132 0.9770 -vn 0.0000 -0.6337 0.7736 -vn 0.0000 0.9308 0.3656 -vn 0.0000 0.9982 0.0595 -vn 0.0000 0.6570 0.7539 -vn 0.0000 0.2580 0.9661 -vn 0.0000 0.7484 -0.6633 -vn 0.0000 0.9693 -0.2458 -vn 0.9853 0.1709 0.0000 -vn 0.9664 0.2570 0.0001 -vn 0.0000 -0.9442 -0.3293 -vn 0.0000 -0.9989 -0.0474 -vn 0.0000 0.4264 -0.9045 -vn 0.0000 -0.7977 0.6030 -vn 0.9757 -0.2189 0.0000 -vn 0.9625 -0.2713 0.0001 -vn -0.9751 -0.2217 0.0000 -vn -0.9616 -0.2746 0.0001 -vn -0.9752 -0.2212 0.0001 -vn 0.9664 0.2571 0.0001 -vn -0.9855 0.1695 0.0000 -vn 0.9663 0.2574 0.0000 -vn 0.9679 -0.2515 0.0000 -vn 0.9758 -0.2185 0.0001 -vn 0.9776 0.2106 0.0000 -vn -0.9670 0.2549 0.0001 -vn -0.9670 0.2548 0.0001 -vn -0.9673 -0.2536 0.0000 -vn -0.9669 0.2552 0.0000 -vn -0.9781 0.2081 0.0000 -vn 0.5733 0.2131 0.7912 -vn 0.5789 -0.1967 0.7913 -vn 0.5756 0.1979 0.7934 -vn 0.5053 0.4828 0.7152 -vn 0.5758 -0.2183 0.7879 -vn 0.5109 -0.4883 0.7075 -vn -0.5122 -0.4895 0.7058 -vn -0.5766 -0.2205 0.7867 -vn -0.5804 -0.1975 0.7900 -vn -0.5771 0.1993 0.7920 -vn -0.5746 0.2114 0.7907 -vn -0.5052 0.4828 0.7153 -vn 0.0000 -0.6762 -0.7367 -s 1 -f 331/675/160 332/676/160 333/677/160 -f 334/678/160 335/679/160 336/680/160 -f 337/681/161 338/682/161 339/683/161 -f 340/684/161 341/685/161 342/686/161 -f 343/687/162 339/688/163 344/689/163 -f 331/690/164 345/691/165 332/692/166 -f 344/693/167 338/694/167 331/690/167 -f 333/695/168 346/696/162 343/687/162 -f 335/697/169 337/698/170 333/695/168 -f 334/699/171 347/700/172 342/701/171 -f 348/702/173 347/700/172 349/703/172 -f 348/702/173 340/704/174 350/705/173 -f 335/697/169 332/706/166 336/707/175 -f 341/708/176 345/709/165 337/698/170 -f 341/710/176 334/699/171 342/701/171 -f 336/707/175 345/709/165 340/711/174 -f 333/677/160 343/712/160 344/713/160 -f 344/713/160 331/675/160 333/677/160 -f 336/680/160 348/714/160 334/678/160 -f 348/714/160 349/715/160 334/678/160 -f 339/683/161 346/716/161 337/681/161 -f 337/681/161 345/717/161 338/682/161 -f 347/718/161 350/719/161 342/686/161 -f 350/719/161 340/684/161 342/686/161 -f 343/687/162 346/696/162 339/688/163 -f 331/690/164 338/694/164 345/691/165 -f 344/693/167 339/720/167 338/694/167 -f 333/695/168 337/698/170 346/696/162 -f 335/697/169 341/708/176 337/698/170 -f 334/699/171 349/703/172 347/700/172 -f 348/702/173 350/705/173 347/700/172 -f 348/702/173 336/721/175 340/704/174 -f 335/697/169 333/695/168 332/706/166 -f 341/708/176 340/711/174 345/709/165 -f 341/710/176 335/722/169 334/699/171 -f 336/707/175 332/706/166 345/709/165 -f 351/723/160 352/724/160 353/725/160 -f 354/726/161 355/727/161 356/728/161 -f 352/729/177 357/730/178 358/731/178 -f 351/732/179 359/733/177 352/729/177 -f 360/734/180 361/735/179 351/732/179 -f 362/736/181 354/737/180 360/734/180 -f 363/738/182 355/739/181 362/736/181 -f 364/740/183 365/741/183 363/742/183 -f 366/743/184 367/744/185 364/740/185 -f 368/745/186 369/746/184 366/743/184 -f 370/747/187 356/748/186 368/745/186 -f 353/749/188 371/750/187 370/747/187 -f 372/751/189 373/752/189 353/749/189 -f 374/753/190 375/754/190 372/755/190 -f 358/731/191 376/756/191 374/753/191 -f 358/757/160 374/758/160 352/724/160 -f 374/758/160 372/759/160 353/725/160 -f 353/725/160 370/760/160 351/723/160 -f 370/760/160 368/761/160 351/723/160 -f 351/723/160 368/761/160 360/762/160 -f 374/758/160 353/725/160 352/724/160 -f 368/761/160 366/763/160 362/764/160 -f 360/762/160 368/761/160 362/764/160 -f 366/763/160 364/765/160 362/764/160 -f 364/765/160 363/766/160 362/764/160 -f 375/767/161 376/768/161 373/769/161 -f 376/768/161 357/770/161 359/771/161 -f 376/768/161 359/771/161 373/769/161 -f 356/728/161 371/772/161 361/773/161 -f 371/772/161 373/769/161 361/773/161 -f 373/769/161 359/771/161 361/773/161 -f 369/774/161 356/728/161 355/727/161 -f 365/775/161 367/776/161 355/727/161 -f 367/776/161 369/774/161 355/727/161 -f 356/728/161 361/773/161 354/726/161 -f 352/729/177 359/733/177 357/730/178 -f 351/732/179 361/735/179 359/733/177 -f 360/734/180 354/737/180 361/735/179 -f 362/736/181 355/739/181 354/737/180 -f 363/738/182 365/777/182 355/739/181 -f 364/740/183 367/744/192 365/741/183 -f 366/743/184 369/746/184 367/744/185 -f 368/745/186 356/748/186 369/746/184 -f 370/747/187 371/750/187 356/748/186 -f 353/749/188 373/752/188 371/750/187 -f 372/751/189 375/778/189 373/752/189 -f 374/753/190 376/756/190 375/754/190 -f 358/731/191 357/730/191 376/756/191 -f 377/779/193 378/780/194 379/781/195 -f 380/782/196 381/783/197 378/784/197 -f 381/785/198 382/786/199 383/787/200 -f 382/788/201 379/789/201 383/790/201 -f 384/791/201 385/792/201 386/793/201 -f 380/794/202 382/786/202 387/795/202 -f 383/790/201 384/791/201 388/796/201 -f 389/797/203 383/787/200 388/798/204 -f 378/784/197 389/799/205 390/800/205 -f 379/781/195 390/801/206 384/802/207 -f 391/803/208 386/804/209 392/805/210 -f 389/799/205 393/806/211 391/807/205 -f 392/808/210 385/809/212 394/810/213 -f 394/810/213 384/802/207 390/801/206 -f 391/803/208 395/811/214 396/812/215 -f 393/813/216 388/798/204 395/811/214 -f 377/779/193 380/794/193 378/780/194 -f 380/782/196 387/814/196 381/783/197 -f 381/785/198 387/795/199 382/786/199 -f 382/788/201 377/815/201 379/789/201 -f 386/793/201 396/816/201 388/796/201 -f 396/816/201 395/817/201 388/796/201 -f 388/796/201 384/791/201 386/793/201 -f 380/794/202 377/779/202 382/786/202 -f 383/790/201 379/789/201 384/791/201 -f 389/797/203 381/785/198 383/787/200 -f 378/784/197 381/783/197 389/799/205 -f 379/781/195 378/780/194 390/801/206 -f 391/803/208 396/812/215 386/804/209 -f 391/807/205 392/818/205 390/800/205 -f 392/818/205 394/819/211 390/800/205 -f 390/800/205 389/799/205 391/807/205 -f 392/808/210 386/820/209 385/809/212 -f 394/810/213 385/809/212 384/802/207 -f 391/803/208 393/813/216 395/811/214 -f 393/813/216 389/797/203 388/798/204 -f 397/821/217 398/822/217 399/823/217 -f 400/824/218 401/825/219 402/826/218 -f 403/827/219 404/828/220 401/829/219 -f 405/830/221 406/831/222 407/832/221 -f 408/833/217 409/834/217 405/835/217 -f 410/836/222 411/837/223 406/831/222 -f 411/837/223 400/824/224 402/826/224 -f 412/838/220 413/839/225 404/828/220 -f 414/840/160 415/841/160 413/839/160 -f 407/842/201 406/843/201 411/844/201 -f 416/845/202 417/846/202 418/847/202 -f 407/832/161 418/847/161 405/830/161 -f 413/848/201 416/849/201 407/842/201 -f 405/835/217 417/850/217 414/851/217 -f 399/852/224 408/853/224 419/854/224 -f 420/855/226 419/854/161 421/856/226 -f 422/857/217 400/858/217 423/859/217 -f 422/860/202 420/855/226 421/856/226 -f 424/861/227 422/862/202 425/863/227 -f 397/864/160 425/863/227 409/865/160 -f 408/853/218 397/864/218 409/865/218 -f 399/823/217 420/866/217 397/821/217 -f 420/866/217 426/867/217 397/821/217 -f 426/867/217 424/868/217 397/821/217 -f 400/824/218 403/869/219 401/825/219 -f 403/827/219 412/838/220 404/828/220 -f 405/830/221 410/836/222 406/831/222 -f 412/870/217 403/871/217 421/872/217 -f 412/870/217 421/872/217 419/873/217 -f 405/835/217 414/851/217 408/833/217 -f 414/851/217 412/870/217 419/873/217 -f 408/833/217 414/851/217 419/873/217 -f 409/834/217 410/874/217 405/835/217 -f 410/836/222 423/875/223 411/837/223 -f 411/837/223 423/875/223 400/824/224 -f 412/838/220 414/840/225 413/839/225 -f 414/840/160 417/846/160 415/841/160 -f 411/844/201 402/876/201 407/842/201 -f 402/876/201 401/877/201 413/848/201 -f 401/877/201 404/878/201 413/848/201 -f 413/848/201 407/842/201 402/876/201 -f 416/845/202 415/841/202 417/846/202 -f 407/832/161 416/845/161 418/847/161 -f 413/848/201 415/879/201 416/849/201 -f 405/835/217 418/880/217 417/850/217 -f 399/852/224 398/881/224 408/853/224 -f 420/855/226 399/852/161 419/854/161 -f 423/859/217 410/874/217 425/882/217 -f 410/874/217 409/834/217 425/882/217 -f 421/872/217 403/871/217 422/857/217 -f 403/871/217 400/858/217 422/857/217 -f 423/859/217 425/882/217 422/857/217 -f 422/860/202 426/883/202 420/855/226 -f 424/861/227 426/884/202 422/862/202 -f 397/864/160 424/861/227 425/863/227 -f 408/853/218 398/881/218 397/864/218 -f 427/885/228 428/886/229 429/887/230 -f 430/888/231 431/889/232 432/890/232 -f 433/891/233 434/892/233 435/893/233 -f 436/894/234 437/895/235 438/896/236 -f 438/896/236 439/897/237 440/898/238 -f 440/898/238 441/899/239 442/900/240 -f 442/900/240 443/901/241 444/902/242 -f 444/902/242 445/903/243 446/904/244 -f 447/905/245 448/906/246 449/907/247 -f 450/908/248 451/909/248 452/910/248 -f 432/890/232 453/911/249 454/912/249 -f 455/913/250 456/914/251 457/915/252 -f 458/916/253 459/917/254 460/918/255 -f 460/918/255 461/919/256 462/920/257 -f 462/920/257 463/921/258 427/885/228 -f 464/922/259 465/923/260 466/924/261 -f 467/925/262 468/926/263 469/927/264 -f 467/925/262 470/928/265 429/887/230 -f 471/929/266 472/930/267 470/928/265 -f 473/931/268 474/932/269 472/930/267 -f 467/925/262 475/933/270 471/929/266 -f 471/929/266 476/934/271 473/931/268 -f 473/931/268 477/935/272 478/936/273 -f 438/896/236 479/937/274 436/894/234 -f 480/938/275 481/939/276 479/937/274 -f 482/940/277 483/941/278 481/939/276 -f 440/898/238 480/938/275 438/896/236 -f 484/942/279 482/940/277 480/938/275 -f 485/943/280 486/944/281 482/940/277 -f 442/900/240 484/942/279 440/898/238 -f 487/945/282 485/943/280 484/942/279 -f 488/946/283 489/947/284 485/943/280 -f 442/900/240 490/948/285 487/945/282 -f 487/945/282 449/907/247 488/946/283 -f 488/946/283 448/906/246 491/949/286 -f 446/904/244 490/948/285 444/902/242 -f 492/950/287 493/951/288 494/952/289 -f 483/953/278 486/954/281 478/955/273 -f 458/916/253 495/956/290 496/957/291 -f 496/957/291 455/913/250 497/958/292 -f 466/924/293 497/958/294 454/959/295 -f 462/920/257 495/956/290 460/918/255 -f 498/960/296 455/913/250 495/956/290 -f 499/961/297 456/914/251 455/913/250 -f 462/920/257 500/962/298 498/960/296 -f 498/960/296 501/963/299 499/961/297 -f 499/961/297 502/964/300 503/965/301 -f 427/885/228 470/928/265 500/962/298 -f 500/962/298 472/930/267 501/963/299 -f 501/963/299 474/932/269 502/964/300 -f 504/966/302 505/967/303 506/968/304 -f 506/968/304 507/969/305 508/970/306 -f 508/970/306 509/971/307 428/886/229 -f 510/972/308 505/967/303 511/973/309 -f 512/974/310 507/969/305 505/967/303 -f 513/975/311 509/971/307 507/969/305 -f 514/976/312 515/977/313 433/978/314 -f 433/978/314 516/979/315 434/980/316 -f 434/980/316 437/895/235 435/981/317 -f 517/982/318 518/983/319 515/977/313 -f 515/977/313 519/984/320 516/979/315 -f 516/979/315 439/897/237 437/895/235 -f 520/985/321 521/986/322 518/983/319 -f 518/983/319 522/987/323 519/984/320 -f 519/984/320 441/899/239 439/897/237 -f 492/950/287 521/986/322 523/988/324 -f 494/952/289 522/987/323 521/986/322 -f 524/989/325 441/899/239 522/987/323 -f 493/951/288 450/990/326 524/989/325 -f 524/989/325 445/903/243 443/901/241 -f 525/991/327 526/992/328 447/905/245 -f 465/923/260 527/993/329 466/924/261 -f 528/994/330 529/995/331 527/993/329 -f 530/996/332 531/997/333 465/923/260 -f 465/923/260 532/998/334 528/994/330 -f 528/994/330 461/919/256 459/917/254 -f 533/999/335 531/997/333 534/1000/336 -f 535/1001/337 532/998/334 531/997/333 -f 536/1002/338 461/919/256 532/998/334 -f 504/966/302 535/1001/337 533/999/335 -f 506/968/304 536/1002/338 535/1001/337 -f 508/970/306 463/921/258 536/1002/338 -f 534/1003/336 492/1004/287 523/1005/324 -f 466/924/293 496/957/291 497/958/294 -f 527/993/329 458/916/253 496/957/291 -f 429/887/230 509/971/307 467/925/262 -f 457/1006/339 454/912/340 537/1007/341 -f 453/911/342 464/1008/343 538/1009/344 -f 430/888/345 539/1010/346 540/1011/347 -f 432/890/348 541/1012/349 430/888/345 -f 432/890/348 457/1006/339 542/1013/350 -f 543/1014/351 431/889/352 544/1015/353 -f 464/1008/343 431/889/352 545/1016/354 -f 452/910/355 493/1017/356 546/1018/357 -f 546/1018/358 544/1015/353 452/910/359 -f 540/1011/360 447/1019/361 526/1020/362 -f 540/1011/363 544/1015/231 430/888/231 -f 427/885/228 463/921/258 428/886/229 -f 430/888/231 544/1015/231 431/889/232 -f 435/893/233 436/1021/233 483/1022/233 -f 436/1021/233 479/1023/233 481/1024/233 -f 483/1022/233 436/1021/233 481/1024/233 -f 483/1022/233 477/1025/233 510/1026/233 -f 477/1025/233 476/1027/233 469/1028/233 -f 510/1026/233 477/1025/233 469/1028/233 -f 476/1027/233 475/1029/233 469/1028/233 -f 469/1028/233 468/1030/233 510/1026/233 -f 468/1030/233 513/1031/233 512/1032/233 -f 510/1026/233 468/1030/233 512/1032/233 -f 510/1026/233 514/1033/233 483/1022/233 -f 514/1033/233 433/891/233 435/893/233 -f 483/1022/233 514/1033/233 435/893/233 -f 436/894/234 435/981/317 437/895/235 -f 438/896/236 437/895/235 439/897/237 -f 440/898/238 439/897/237 441/899/239 -f 442/900/240 441/899/239 443/901/241 -f 444/902/242 443/901/241 445/903/243 -f 447/905/245 539/1034/364 448/906/246 -f 452/910/248 540/1011/248 446/1035/248 -f 540/1011/248 526/1020/248 525/1036/248 -f 446/1035/248 540/1011/248 525/1036/248 -f 446/1035/248 445/1037/248 452/910/248 -f 445/1037/248 450/908/248 452/910/248 -f 432/890/232 431/889/232 453/911/249 -f 537/1038/365 497/958/292 457/915/252 -f 497/958/292 455/913/250 457/915/252 -f 458/916/253 529/995/331 459/917/254 -f 460/918/255 459/917/254 461/919/256 -f 462/920/257 461/919/256 463/921/258 -f 466/924/261 538/1039/366 464/922/259 -f 464/922/259 530/996/332 465/923/260 -f 467/925/262 509/971/307 468/926/263 -f 467/925/262 471/929/266 470/928/265 -f 471/929/266 473/931/268 472/930/267 -f 473/931/268 478/936/273 474/932/269 -f 467/925/262 469/927/264 475/933/270 -f 471/929/266 475/933/270 476/934/271 -f 473/931/268 476/934/271 477/935/272 -f 438/896/236 480/938/275 479/937/274 -f 480/938/275 482/940/277 481/939/276 -f 482/940/277 486/944/281 483/941/278 -f 440/898/238 484/942/279 480/938/275 -f 484/942/279 485/943/280 482/940/277 -f 485/943/280 489/947/284 486/944/281 -f 442/900/240 487/945/282 484/942/279 -f 487/945/282 488/946/283 485/943/280 -f 488/946/283 491/949/286 489/947/284 -f 442/900/240 444/902/242 490/948/285 -f 487/945/282 490/948/285 449/907/247 -f 488/946/283 449/907/247 448/906/246 -f 446/904/244 525/991/327 490/948/285 -f 492/950/287 546/1040/367 493/951/288 -f 542/1041/160 457/1042/252 456/1043/251 -f 503/1044/301 502/1045/300 491/1046/286 -f 502/1045/300 474/1047/269 491/1046/286 -f 491/1046/286 474/1047/269 489/1048/284 -f 542/1041/160 456/1043/251 541/1049/160 -f 456/1043/251 503/1044/301 448/1050/246 -f 539/1051/364 541/1049/160 448/1050/246 -f 448/1050/246 541/1049/160 456/1043/251 -f 474/1047/269 478/955/273 489/1048/284 -f 491/1046/286 448/1050/246 503/1044/301 -f 478/955/273 477/1052/272 483/953/278 -f 489/1048/284 478/955/273 486/954/281 -f 458/916/253 460/918/255 495/956/290 -f 496/957/291 495/956/290 455/913/250 -f 497/958/294 537/1038/368 454/959/295 -f 454/959/295 453/1053/295 466/924/293 -f 453/1053/295 538/1039/369 466/924/293 -f 462/920/257 498/960/296 495/956/290 -f 498/960/296 499/961/297 455/913/250 -f 499/961/297 503/965/301 456/914/251 -f 462/920/257 427/885/228 500/962/298 -f 498/960/296 500/962/298 501/963/299 -f 499/961/297 501/963/299 502/964/300 -f 427/885/228 429/887/230 470/928/265 -f 500/962/298 470/928/265 472/930/267 -f 501/963/299 472/930/267 474/932/269 -f 504/966/302 511/973/309 505/967/303 -f 506/968/304 505/967/303 507/969/305 -f 508/970/306 507/969/305 509/971/307 -f 510/972/308 512/974/310 505/967/303 -f 512/974/310 513/975/311 507/969/305 -f 513/975/311 468/926/263 509/971/307 -f 514/976/312 517/982/318 515/977/313 -f 433/978/314 515/977/313 516/979/315 -f 434/980/316 516/979/315 437/895/235 -f 517/982/318 520/985/321 518/983/319 -f 515/977/313 518/983/319 519/984/320 -f 516/979/315 519/984/320 439/897/237 -f 520/985/321 523/988/324 521/986/322 -f 518/983/319 521/986/322 522/987/323 -f 519/984/320 522/987/323 441/899/239 -f 492/950/287 494/952/289 521/986/322 -f 494/952/289 524/989/325 522/987/323 -f 524/989/325 443/901/241 441/899/239 -f 524/989/325 494/952/289 493/951/288 -f 493/951/288 451/1054/370 450/990/326 -f 524/989/325 450/990/326 445/903/243 -f 449/907/247 490/948/285 447/905/245 -f 490/948/285 525/991/327 447/905/245 -f 465/923/260 528/994/330 527/993/329 -f 528/994/330 459/917/254 529/995/331 -f 530/996/332 534/1000/336 531/997/333 -f 465/923/260 531/997/333 532/998/334 -f 528/994/330 532/998/334 461/919/256 -f 533/999/335 535/1001/337 531/997/333 -f 535/1001/337 536/1002/338 532/998/334 -f 536/1002/338 463/921/258 461/919/256 -f 504/966/302 506/968/304 535/1001/337 -f 506/968/304 508/970/306 536/1002/338 -f 508/970/306 428/886/229 463/921/258 -f 530/1055/332 464/1056/259 545/1057/161 -f 545/1057/161 543/1058/161 530/1055/332 -f 543/1058/161 546/1059/367 492/1004/287 -f 543/1058/161 492/1004/287 530/1055/332 -f 534/1003/336 530/1055/332 492/1004/287 -f 504/1060/302 533/1061/335 523/1005/324 -f 533/1061/335 534/1003/336 523/1005/324 -f 510/1062/308 511/1063/309 514/1064/312 -f 511/1063/309 504/1060/302 520/1065/321 -f 517/1066/318 514/1064/312 511/1063/309 -f 520/1065/321 517/1066/318 511/1063/309 -f 523/1005/324 520/1065/321 504/1060/302 -f 466/924/293 527/993/329 496/957/291 -f 527/993/329 529/995/331 458/916/253 -f 429/887/230 428/886/229 509/971/307 -f 430/888/345 541/1012/349 539/1010/346 -f 432/890/348 542/1013/350 541/1012/349 -f 432/890/348 454/912/340 457/1006/339 -f 543/1014/351 545/1016/354 431/889/352 -f 464/1008/343 453/911/342 431/889/352 -f 452/910/355 451/909/371 493/1017/356 -f 546/1018/358 543/1014/351 544/1015/353 -f 540/1011/360 539/1010/372 447/1019/361 -f 540/1011/363 452/910/363 544/1015/231 -f 547/1067/373 548/1068/374 549/1069/373 -f 550/1070/375 551/1071/376 552/1072/376 -f 553/1073/377 554/1074/378 555/1075/378 -f 556/1076/379 557/1077/380 558/1078/380 -f 559/1079/381 560/1080/382 561/1081/381 -f 558/1078/380 562/1082/383 563/1083/383 -f 564/1084/384 565/1085/384 566/1086/384 -f 566/1086/385 567/1087/385 568/1088/385 -f 568/1088/386 569/1089/387 570/1090/387 -f 571/1091/233 572/1092/233 573/1093/233 -f 573/1093/217 574/1094/217 575/1095/217 -f 575/1096/388 576/1097/388 577/1098/388 -f 578/1099/217 577/1098/217 579/1100/217 -f 580/1101/202 581/1102/389 582/1103/389 -f 582/1103/389 583/1104/390 584/1105/390 -f 584/1105/390 585/1106/391 550/1070/391 -f 548/1068/374 586/1107/392 587/1108/392 -f 551/1071/376 553/1073/377 552/1072/376 -f 588/1109/393 547/1067/373 549/1069/373 -f 554/1074/378 589/1110/394 555/1075/378 -f 586/1107/392 556/1076/379 587/1108/392 -f 569/1089/387 590/1111/395 570/1090/387 -f 591/1112/395 592/1113/396 590/1111/395 -f 593/1114/397 594/1115/398 571/1091/398 -f 595/1116/399 596/1117/400 597/1118/399 -f 598/1119/400 599/1120/401 596/1117/400 -f 600/1121/401 593/1114/397 599/1120/401 -f 601/1122/402 602/1123/402 603/1124/402 -f 604/1125/403 587/1108/404 556/1076/403 -f 605/1126/405 586/1107/406 606/1127/406 -f 558/1078/407 603/1128/408 607/1129/409 -f 601/1130/410 557/1077/411 608/1131/412 -f 609/1132/413 549/1069/414 548/1068/413 -f 610/1133/415 547/1067/416 611/1134/416 -f 588/1109/417 612/1135/414 613/1136/417 -f 548/1068/413 614/1137/404 609/1132/413 -f 611/1134/416 615/1138/418 616/1139/418 -f 606/1127/406 617/1140/415 610/1133/415 -f 558/1078/407 604/1125/403 556/1076/403 -f 605/1126/405 557/1077/411 618/1141/405 -f 619/1142/394 616/1143/419 615/1144/419 -f 620/1145/396 597/1118/399 592/1113/396 -f 621/1146/161 622/1147/161 623/1148/161 -f 624/1149/420 625/1150/421 626/1151/421 -f 627/1152/160 628/1153/160 552/1154/160 -f 629/1155/422 630/1156/423 631/1157/422 -f 632/1158/424 629/1155/422 631/1157/422 -f 633/1159/425 634/1160/424 632/1158/424 -f 635/1161/426 636/1162/427 637/1163/426 -f 636/1162/427 630/1156/423 638/1164/423 -f 639/1165/428 640/1166/429 580/1167/160 -f 634/1168/161 641/1169/161 600/1170/161 -f 622/1171/430 642/1172/431 643/1173/430 -f 644/1174/432 637/1163/426 645/1175/432 -f 561/1081/381 645/1175/432 559/1079/381 -f 641/1176/425 646/1177/420 624/1178/420 -f 625/1150/421 647/1179/433 626/1151/421 -f 648/1180/201 649/1181/201 650/1182/201 -f 651/1183/202 652/1184/202 653/1185/202 -f 654/1186/217 628/1187/217 655/1188/217 -f 656/1189/233 639/1190/233 657/1191/233 -f 599/1192/160 633/1193/160 632/1194/160 -f 649/1195/434 575/1196/160 577/1197/435 -f 574/1198/161 648/1199/436 576/1200/437 -f 648/1199/436 658/1201/438 576/1200/437 -f 639/1165/428 659/1202/439 640/1166/429 -f 656/1203/440 581/1204/161 660/1205/161 -f 661/1206/441 662/1207/442 659/1202/439 -f 663/1208/442 664/1209/442 662/1207/442 -f 665/1210/443 649/1195/434 577/1197/435 -f 666/1211/444 665/1210/443 667/1212/444 -f 578/1213/444 666/1211/444 667/1212/444 -f 668/1214/442 578/1213/444 664/1209/442 -f 669/1215/445 656/1203/440 670/1216/446 -f 671/1217/447 672/1218/448 669/1215/445 -f 673/1219/447 674/1220/447 671/1217/447 -f 668/1221/201 656/1222/201 675/1223/201 -f 676/1224/449 673/1219/447 579/1225/449 -f 677/1226/449 579/1225/449 678/1227/449 -f 658/1201/438 677/1226/449 678/1227/449 -f 679/1228/217 680/1229/217 681/1230/217 -f 680/1229/217 655/1188/217 681/1230/217 -f 627/1152/450 681/1231/451 655/1232/452 -f 628/1153/453 627/1152/450 655/1232/452 -f 681/1231/451 682/1233/454 679/1234/455 -f 621/1146/456 683/1235/457 680/1236/458 -f 654/1237/459 684/1238/460 685/1239/461 -f 680/1236/458 684/1238/460 654/1237/459 -f 686/1240/462 687/1241/382 623/1242/462 -f 623/1242/462 643/1173/430 686/1240/462 -f 547/1067/373 617/1140/374 548/1068/374 -f 550/1070/375 585/1106/375 551/1071/376 -f 553/1073/377 688/1243/377 554/1074/378 -f 556/1076/379 618/1141/379 557/1077/380 -f 559/1079/381 687/1241/382 560/1080/382 -f 558/1078/380 557/1077/380 562/1082/383 -f 564/1084/384 602/1123/384 565/1085/384 -f 566/1086/385 565/1085/385 567/1087/385 -f 568/1088/386 567/1087/386 569/1089/387 -f 571/1091/233 594/1115/233 572/1092/233 -f 573/1093/217 572/1092/217 574/1094/217 -f 575/1096/388 574/1244/388 576/1097/388 -f 660/1245/217 580/1246/217 670/1247/217 -f 580/1246/217 640/1248/217 670/1247/217 -f 640/1248/217 659/1249/217 662/1250/217 -f 640/1248/217 662/1250/217 664/1251/217 -f 671/1252/217 669/1253/217 670/1247/217 -f 673/1254/217 671/1252/217 670/1247/217 -f 670/1247/217 640/1248/217 664/1251/217 -f 578/1099/217 667/1255/217 577/1098/217 -f 667/1255/217 665/1256/217 577/1098/217 -f 670/1247/217 664/1251/217 673/1254/217 -f 664/1251/217 578/1099/217 673/1254/217 -f 579/1100/217 673/1254/217 578/1099/217 -f 658/1257/217 678/1258/217 576/1097/217 -f 678/1258/217 579/1100/217 576/1097/217 -f 577/1098/217 576/1097/217 579/1100/217 -f 580/1101/202 660/1259/202 581/1102/389 -f 582/1103/389 581/1102/389 583/1104/390 -f 584/1105/390 583/1104/390 585/1106/391 -f 548/1068/374 617/1140/374 586/1107/392 -f 551/1071/376 688/1243/377 553/1073/377 -f 588/1109/393 615/1138/393 547/1067/373 -f 554/1074/378 619/1142/394 589/1110/394 -f 586/1107/392 618/1141/379 556/1076/379 -f 569/1089/387 591/1112/395 590/1111/395 -f 591/1112/395 620/1145/396 592/1113/396 -f 593/1114/397 689/1260/397 594/1115/398 -f 595/1116/399 598/1119/400 596/1117/400 -f 598/1119/400 600/1121/401 599/1120/401 -f 600/1121/401 689/1260/397 593/1114/397 -f 602/1123/402 564/1084/402 603/1124/402 -f 603/1124/402 563/1261/402 562/1262/402 -f 562/1262/402 601/1122/402 603/1124/402 -f 604/1125/403 614/1137/404 587/1108/404 -f 605/1126/405 618/1141/405 586/1107/406 -f 558/1078/407 563/1083/408 603/1128/408 -f 601/1130/410 562/1082/410 557/1077/411 -f 609/1132/413 612/1135/414 549/1069/414 -f 610/1133/415 617/1140/415 547/1067/416 -f 588/1109/417 549/1069/414 612/1135/414 -f 548/1068/413 587/1108/404 614/1137/404 -f 611/1134/416 547/1067/416 615/1138/418 -f 606/1127/406 586/1107/406 617/1140/415 -f 558/1078/407 607/1129/409 604/1125/403 -f 605/1126/405 608/1131/412 557/1077/411 -f 615/1144/419 588/1263/419 619/1142/394 -f 588/1263/419 613/1264/419 589/1110/394 -f 619/1142/394 588/1263/419 589/1110/394 -f 620/1145/396 595/1116/399 597/1118/399 -f 565/1265/161 602/1266/161 605/1267/161 -f 602/1266/161 601/1268/161 608/1269/161 -f 605/1267/161 602/1266/161 608/1269/161 -f 605/1267/161 606/1270/161 565/1265/161 -f 606/1270/161 610/1271/161 565/1265/161 -f 611/1272/161 616/1273/161 619/1274/161 -f 610/1271/161 611/1272/161 565/1265/161 -f 611/1272/161 619/1274/161 565/1265/161 -f 619/1274/161 554/1275/161 565/1265/161 -f 591/1276/161 569/1277/161 645/1278/161 -f 569/1277/161 567/1279/161 645/1278/161 -f 567/1279/161 565/1265/161 687/1280/161 -f 683/1235/161 688/1281/161 684/1238/161 -f 554/1275/161 688/1281/161 683/1235/161 -f 565/1265/161 554/1275/161 683/1235/161 -f 688/1281/161 551/1282/161 684/1238/161 -f 620/1283/161 591/1276/161 637/1284/161 -f 585/1285/161 583/1286/161 685/1239/161 -f 583/1286/161 581/1204/161 690/1287/161 -f 685/1239/161 583/1286/161 690/1287/161 -f 637/1284/161 636/1288/161 620/1283/161 -f 645/1278/161 637/1284/161 591/1276/161 -f 551/1282/161 585/1285/161 685/1239/161 -f 551/1282/161 685/1239/161 684/1238/161 -f 559/1289/161 645/1278/161 567/1279/161 -f 565/1265/161 683/1235/161 623/1148/161 -f 687/1280/161 559/1289/161 567/1279/161 -f 623/1148/161 687/1280/161 565/1265/161 -f 683/1235/161 621/1146/161 623/1148/161 -f 621/1146/161 653/1290/161 647/1291/161 -f 621/1146/161 647/1291/161 622/1147/161 -f 624/1149/420 646/1292/420 625/1150/421 -f 603/1293/160 564/1294/160 607/1295/160 -f 564/1294/160 566/1296/160 604/1297/160 -f 607/1295/160 564/1294/160 604/1297/160 -f 568/1298/160 570/1299/160 644/1300/160 -f 570/1299/160 590/1301/160 644/1300/160 -f 590/1301/160 592/1302/160 635/1303/160 -f 644/1300/160 590/1301/160 635/1303/160 -f 614/1304/160 604/1297/160 566/1296/160 -f 609/1305/160 614/1304/160 566/1296/160 -f 609/1305/160 566/1296/160 612/1306/160 -f 566/1296/160 568/1298/160 560/1307/160 -f 612/1306/160 566/1296/160 589/1308/160 -f 589/1308/160 613/1309/160 612/1306/160 -f 589/1308/160 566/1296/160 555/1310/160 -f 592/1302/160 691/1311/160 635/1303/160 -f 555/1310/160 566/1296/160 682/1233/160 -f 568/1298/160 644/1300/160 561/1312/160 -f 686/1313/160 566/1296/160 560/1307/160 -f 553/1314/160 555/1310/160 682/1233/160 -f 566/1296/160 686/1313/160 682/1233/160 -f 568/1298/160 561/1312/160 560/1307/160 -f 552/1154/160 553/1314/160 627/1152/160 -f 582/1315/160 584/1316/160 657/1317/160 -f 584/1316/160 550/1318/160 628/1153/160 -f 628/1153/160 657/1317/160 584/1316/160 -f 643/1319/160 642/1320/160 679/1234/160 -f 642/1320/160 692/1321/160 679/1234/160 -f 553/1314/160 682/1233/160 627/1152/160 -f 686/1313/160 643/1319/160 679/1234/160 -f 682/1233/160 686/1313/160 679/1234/160 -f 628/1153/160 550/1318/160 552/1154/160 -f 629/1155/422 638/1164/423 630/1156/423 -f 632/1158/424 634/1160/424 629/1155/422 -f 633/1159/425 641/1176/425 634/1160/424 -f 635/1161/426 691/1322/427 636/1162/427 -f 636/1162/427 691/1322/427 630/1156/423 -f 580/1167/160 582/1315/160 639/1165/428 -f 582/1315/160 657/1317/160 639/1165/428 -f 595/1323/161 620/1283/161 636/1288/161 -f 595/1323/161 636/1288/161 638/1324/161 -f 600/1170/161 598/1325/161 634/1168/161 -f 598/1325/161 595/1323/161 629/1326/161 -f 594/1327/161 689/1328/161 624/1329/161 -f 689/1328/161 600/1170/161 641/1169/161 -f 574/1198/161 572/1330/161 652/1331/161 -f 572/1330/161 594/1327/161 652/1331/161 -f 652/1331/161 693/1332/161 574/1198/161 -f 647/1291/161 653/1290/161 626/1333/161 -f 653/1290/161 652/1331/161 594/1327/161 -f 626/1333/161 653/1290/161 594/1327/161 -f 595/1323/161 638/1324/161 629/1326/161 -f 598/1325/161 629/1326/161 634/1168/161 -f 689/1328/161 641/1169/161 624/1329/161 -f 624/1329/161 626/1333/161 594/1327/161 -f 622/1171/430 647/1179/431 642/1172/431 -f 644/1174/432 635/1161/426 637/1163/426 -f 561/1081/381 644/1174/432 645/1175/432 -f 641/1176/425 633/1159/425 646/1177/420 -f 625/1150/421 642/1172/433 647/1179/433 -f 693/1334/201 652/1335/201 694/1336/201 -f 652/1335/201 651/1337/201 694/1336/201 -f 677/1338/201 695/1339/201 648/1180/201 -f 648/1180/201 693/1334/201 649/1181/201 -f 693/1334/201 694/1336/201 649/1181/201 -f 649/1181/201 696/1340/201 666/1341/201 -f 676/1342/201 677/1338/201 648/1180/201 -f 666/1341/201 650/1182/201 649/1181/201 -f 650/1182/201 676/1342/201 648/1180/201 -f 653/1185/202 621/1343/202 679/1344/202 -f 679/1344/202 692/1345/202 653/1185/202 -f 692/1345/202 651/1183/202 653/1185/202 -f 654/1186/217 685/1346/217 628/1187/217 -f 657/1191/233 628/1347/233 685/1348/233 -f 685/1348/233 690/1349/233 657/1191/233 -f 690/1349/233 656/1189/233 657/1191/233 -f 573/1350/160 575/1196/160 651/1351/160 -f 575/1196/160 694/1352/160 651/1351/160 -f 651/1351/160 692/1321/160 571/1353/160 -f 692/1321/160 642/1320/160 625/1354/160 -f 599/1192/160 593/1355/160 633/1193/160 -f 593/1355/160 571/1353/160 646/1356/160 -f 633/1193/160 593/1355/160 646/1356/160 -f 571/1353/160 573/1350/160 651/1351/160 -f 692/1321/160 625/1354/160 571/1353/160 -f 625/1354/160 646/1356/160 571/1353/160 -f 597/1357/160 596/1358/160 631/1359/160 -f 596/1358/160 599/1192/160 632/1194/160 -f 631/1359/160 596/1358/160 632/1194/160 -f 691/1311/160 592/1302/160 597/1357/160 -f 630/1360/160 691/1311/160 597/1357/160 -f 631/1359/160 630/1360/160 597/1357/160 -f 649/1195/434 694/1352/160 575/1196/160 -f 574/1198/161 693/1332/161 648/1199/436 -f 648/1199/436 695/1361/436 658/1201/438 -f 639/1165/428 661/1206/441 659/1202/439 -f 660/1205/161 670/1216/446 656/1203/440 -f 656/1203/440 690/1287/161 581/1204/161 -f 661/1206/441 663/1208/442 662/1207/442 -f 663/1208/442 668/1214/442 664/1209/442 -f 665/1210/443 696/1362/434 649/1195/434 -f 666/1211/444 696/1362/434 665/1210/443 -f 578/1213/444 650/1363/444 666/1211/444 -f 668/1214/442 650/1363/444 578/1213/444 -f 669/1215/445 672/1218/448 656/1203/440 -f 671/1217/447 674/1220/447 672/1218/448 -f 673/1219/447 675/1364/447 674/1220/447 -f 675/1223/201 676/1342/201 668/1221/201 -f 676/1342/201 650/1182/201 668/1221/201 -f 668/1221/201 663/1365/201 639/1366/201 -f 663/1365/201 661/1367/201 639/1366/201 -f 672/1368/201 674/1369/201 656/1222/201 -f 674/1369/201 675/1223/201 656/1222/201 -f 639/1366/201 656/1222/201 668/1221/201 -f 676/1224/449 675/1364/447 673/1219/447 -f 677/1226/449 676/1224/449 579/1225/449 -f 658/1201/438 695/1361/436 677/1226/449 -f 679/1228/217 621/1370/217 680/1229/217 -f 680/1229/217 654/1186/217 655/1188/217 -f 627/1152/450 682/1233/454 681/1231/451 -f 680/1236/458 683/1235/457 684/1238/460 -f 686/1240/462 560/1080/382 687/1241/382 -f 623/1242/462 622/1171/430 643/1173/430 -o Cylinder -v -0.126087 0.227980 0.137402 -v 0.126087 0.227980 0.774998 -v -0.126086 0.227980 0.774998 -v 0.126086 0.227980 0.137402 -v 0.304400 0.406294 0.774998 -v 0.304400 0.406293 0.137402 -v 0.304400 0.658466 0.774998 -v 0.304400 0.658466 0.137402 -v 0.126087 0.836780 0.774998 -v 0.126086 0.836780 0.137402 -v -0.126086 0.836780 0.774998 -v -0.126087 0.836780 0.137402 -v -0.304400 0.658467 0.774998 -v -0.304400 0.658466 0.137402 -v -0.304400 0.406294 0.774998 -v -0.304400 0.406294 0.137402 -vt 0.246533 0.894427 -vt 0.118900 0.944907 -vt 0.118900 0.894427 -vt 0.246533 0.944907 -vt 0.118900 0.995387 -vt 0.246533 0.591549 -vt 0.118900 0.642029 -vt 0.118900 0.591549 -vt 0.246533 0.642029 -vt 0.118900 0.692509 -vt 0.246533 0.692509 -vt 0.118900 0.742988 -vt 0.246533 0.742988 -vt 0.118900 0.793468 -vt 0.375332 0.627244 -vt 0.375332 0.677724 -vt 0.253463 0.627244 -vt 0.246533 0.793468 -vt 0.118900 0.843948 -vt 0.246533 0.843948 -vt 0.339638 0.713512 -vt 0.375332 0.799686 -vt 0.289158 0.835381 -vt 0.246533 0.995387 -vt 0.339638 0.713418 -vt 0.289158 0.713418 -vt 0.253463 0.677724 -vt 0.289158 0.591549 -vt 0.339638 0.591549 -vt 0.253464 0.799686 -vt 0.253463 0.749207 -vt 0.289158 0.713512 -vt 0.375332 0.749207 -vt 0.339638 0.835381 -vn -0.3827 -0.9239 0.0000 -vn 0.3827 -0.9239 -0.0000 -vn 0.9239 -0.3827 -0.0000 -vn 0.9239 0.3827 0.0000 -vn 0.3827 0.9239 -0.0000 -vn -0.3827 0.9239 0.0000 -vn -0.9239 0.3827 0.0000 -vn 0.0000 0.0000 -1.0000 -vn -0.9239 -0.3827 0.0000 -vn 0.0000 -0.0000 1.0000 -s 1 -f 697/1371/463 698/1372/464 699/1373/463 -f 700/1374/464 701/1375/465 698/1372/464 -f 702/1376/465 703/1377/466 701/1378/465 -f 704/1379/466 705/1380/467 703/1377/466 -f 706/1381/467 707/1382/468 705/1380/467 -f 708/1383/468 709/1384/469 707/1382/468 -f 704/1385/470 702/1386/470 710/1387/470 -f 710/1388/469 711/1389/471 709/1384/469 -f 712/1390/471 699/1373/463 711/1389/471 -f 703/1391/472 707/1392/472 711/1393/472 -f 697/1371/463 700/1374/464 698/1372/464 -f 700/1374/464 702/1394/465 701/1375/465 -f 702/1376/465 704/1379/466 703/1377/466 -f 704/1379/466 706/1381/467 705/1380/467 -f 706/1381/467 708/1383/468 707/1382/468 -f 708/1383/468 710/1388/469 709/1384/469 -f 702/1386/470 700/1395/470 697/1396/470 -f 697/1396/470 712/1397/470 702/1386/470 -f 712/1397/470 710/1387/470 702/1386/470 -f 710/1387/470 708/1398/470 706/1399/470 -f 706/1399/470 704/1385/470 710/1387/470 -f 710/1388/469 712/1390/471 711/1389/471 -f 712/1390/471 697/1371/463 699/1373/463 -f 711/1393/472 699/1400/472 698/1401/472 -f 698/1401/472 701/1402/472 703/1391/472 -f 703/1391/472 705/1403/472 707/1392/472 -f 707/1392/472 709/1404/472 711/1393/472 -f 711/1393/472 698/1401/472 703/1391/472 diff --git a/src/main/resources/assets/hbm/models/weapons/python.obj b/src/main/resources/assets/hbm/models/weapons/python.obj index ce42559c3..dc182636a 100644 --- a/src/main/resources/assets/hbm/models/weapons/python.obj +++ b/src/main/resources/assets/hbm/models/weapons/python.obj @@ -1,1220 +1,5 @@ -# Blender v2.79 (sub 0) OBJ File: 'python.blend' +# Blender 4.0.1 # www.blender.org -o Cylinder -v 0.040155 0.134253 0.138325 -v -0.032489 0.061608 0.138325 -v 0.040155 0.134253 0.000825 -v -0.032489 0.061608 0.000825 -v 0.030419 0.143989 0.000825 -v -0.042225 0.071345 0.000825 -v 0.030419 0.143989 0.138325 -v -0.042225 0.071345 0.138325 -v 0.014778 0.156219 0.138325 -v 0.014778 0.053094 0.138325 -v 0.014778 0.156219 0.000825 -v 0.014778 0.053094 0.000825 -v -0.015300 0.156219 0.000825 -v -0.015300 0.053094 0.000825 -v -0.015300 0.156219 0.138325 -v -0.015300 0.053094 0.138325 -v 0.040951 0.136693 0.138325 -v 0.052051 0.109897 0.138325 -v 0.040951 0.136693 0.000825 -v 0.052051 0.109897 0.000825 -v -0.055316 0.096818 0.000825 -v -0.044217 0.070021 0.000825 -v -0.055316 0.096818 0.138325 -v -0.044217 0.070021 0.138325 -v 0.052632 0.096296 0.138325 -v 0.041944 0.070492 0.138325 -v 0.052632 0.096296 0.000825 -v 0.041944 0.070493 0.000825 -v -0.044628 0.136582 0.000825 -v -0.055316 0.110779 0.000825 -v -0.044628 0.136582 0.138325 -v -0.055316 0.110779 0.138325 -v 0.052103 0.110777 0.138325 -v 0.052103 0.096812 0.138325 -v 0.052103 0.110777 0.103950 -v 0.052103 0.096812 0.103950 -v -0.055319 0.110777 0.103950 -v -0.055319 0.096812 0.103950 -v -0.055319 0.110777 0.138325 -v -0.055319 0.096812 0.138325 -v 0.041306 0.136583 0.138325 -v 0.041306 0.069981 0.138325 -v 0.041306 0.136583 0.000825 -v 0.041306 0.069981 0.000825 -v -0.044631 0.136583 0.000825 -v -0.044631 0.069981 0.000825 -v -0.044631 0.136583 0.138325 -v -0.044631 0.069981 0.138325 -v -0.036145 0.147590 0.000825 -v -0.027101 0.125756 0.000825 -v -0.036145 0.147590 0.138325 -v -0.027101 0.125756 0.138325 -v -0.015304 0.156223 0.000825 -v -0.015304 0.156223 0.138325 -v -0.006260 0.134388 0.138325 -v -0.006260 0.134388 0.000825 -v 0.033630 0.148410 0.138325 -v 0.024586 0.126576 0.138325 -v 0.033630 0.148410 0.000825 -v 0.024586 0.126576 0.000825 -v 0.014774 0.156221 0.000825 -v 0.014774 0.156221 0.138325 -v 0.005730 0.134386 0.138325 -v 0.005730 0.134386 0.000825 -v 0.023594 0.082327 0.138325 -v 0.032639 0.060493 0.138325 -v 0.023594 0.082327 0.000825 -v 0.032639 0.060493 0.000825 -v 0.014774 0.053094 0.138325 -v 0.014774 0.053094 0.000825 -v 0.005730 0.074928 0.138325 -v 0.005730 0.074928 0.000825 -v -0.025114 0.082739 0.000825 -v -0.034158 0.060905 0.000825 -v -0.025114 0.082739 0.138325 -v -0.034158 0.060905 0.138325 -v -0.015301 0.053095 0.138325 -v -0.015301 0.053095 0.000825 -v -0.006257 0.074929 0.138325 -v -0.006257 0.074929 0.000825 -v 0.041811 0.073900 0.138325 -v 0.027931 0.060020 0.138325 -v 0.041811 0.073900 0.000825 -v 0.027931 0.060020 0.000825 -v -0.030834 0.146544 0.000825 -v -0.044713 0.132664 0.000825 -v -0.030834 0.146544 0.138325 -v -0.044713 0.132664 0.138325 -vt 0.232414 0.762673 -vt 0.232414 0.557205 -vt 0.507414 0.762673 -vt 0.507414 0.557205 -vt 0.492586 0.762673 -vt 0.492586 0.557205 -vt 0.767586 0.762673 -vt 0.767586 0.557205 -vt 0.419200 0.507414 -vt 0.419200 0.232414 -vt 0.446738 0.507414 -vt 0.446738 0.232414 -vt 0.419200 0.767586 -vt 0.419200 0.492586 -vt 0.446738 0.767586 -vt 0.446738 0.492586 -vt 0.419200 0.762673 -vt 0.419200 0.557205 -vt 0.446738 0.762673 -vt 0.446738 0.557205 -vt 0.553262 0.762673 -vt 0.553262 0.557205 -vt 0.580800 0.762673 -vt 0.580800 0.557205 -vt 0.232414 0.726953 -vt 0.232414 0.520703 -vt 0.507414 0.726953 -vt 0.507414 0.520703 -vt 0.492586 0.726953 -vt 0.492586 0.520703 -vt 0.767586 0.726953 -vt 0.767586 0.520703 -vt 0.473047 0.507414 -vt 0.473047 0.232414 -vt 0.533204 0.507414 -vt 0.533204 0.232414 -vt 0.473047 0.767586 -vt 0.473047 0.492586 -vt 0.533204 0.767586 -vt 0.533204 0.492586 -vt 0.473047 0.726953 -vt 0.473047 0.520703 -vt 0.533204 0.726953 -vt 0.533204 0.520703 -vt 0.466796 0.726953 -vt 0.466796 0.520703 -vt 0.526953 0.726953 -vt 0.526953 0.520703 -vt 0.232414 0.612558 -vt 0.232414 0.554549 -vt 0.507414 0.612558 -vt 0.507414 0.554549 -vt 0.492586 0.612558 -vt 0.492586 0.554549 -vt 0.767586 0.612558 -vt 0.767586 0.554549 -vt 0.415213 0.507414 -vt 0.415213 0.232414 -vt 0.623611 0.507414 -vt 0.623611 0.232414 -vt 0.415213 0.767586 -vt 0.415213 0.492586 -vt 0.623611 0.767586 -vt 0.623611 0.492586 -vt 0.415213 0.612558 -vt 0.415213 0.554549 -vt 0.623611 0.612558 -vt 0.623611 0.554549 -vt 0.376389 0.612558 -vt 0.376389 0.554549 -vt 0.584787 0.612558 -vt 0.584787 0.554549 -vt 0.232414 0.691931 -vt 0.232414 0.636072 -vt 0.507414 0.691931 -vt 0.507414 0.636072 -vt 0.492586 0.691931 -vt 0.492586 0.636072 -vt 0.767586 0.691931 -vt 0.767586 0.636072 -vt 0.393015 0.507414 -vt 0.393015 0.232414 -vt 0.603561 0.507414 -vt 0.603561 0.232414 -vt 0.393015 0.767586 -vt 0.393015 0.492586 -vt 0.603561 0.767586 -vt 0.603561 0.492586 -vt 0.393015 0.691931 -vt 0.393015 0.636072 -vt 0.603561 0.691931 -vt 0.603561 0.636072 -vt 0.396439 0.691931 -vt 0.396439 0.636072 -vt 0.606985 0.691931 -vt 0.606985 0.636072 -vt 0.232414 0.636072 -vt 0.232414 0.608142 -vt 0.301164 0.636072 -vt 0.301164 0.608142 -vt 0.698836 0.636072 -vt 0.698836 0.608142 -vt 0.767586 0.636072 -vt 0.767586 0.608142 -vt 0.393014 0.301164 -vt 0.393014 0.232414 -vt 0.607857 0.301164 -vt 0.607857 0.232414 -vt 0.393014 0.767586 -vt 0.393014 0.698836 -vt 0.607857 0.767586 -vt 0.607857 0.698836 -vt 0.393014 0.636072 -vt 0.393014 0.608142 -vt 0.607857 0.636072 -vt 0.607857 0.608142 -vt 0.392143 0.636072 -vt 0.392143 0.608142 -vt 0.606986 0.636072 -vt 0.606986 0.608142 -vt 0.232414 0.687679 -vt 0.232414 0.554476 -vt 0.507414 0.687679 -vt 0.507414 0.554476 -vt 0.492586 0.687679 -vt 0.492586 0.554476 -vt 0.767586 0.687679 -vt 0.767586 0.554476 -vt 0.414390 0.507414 -vt 0.414390 0.232414 -vt 0.586265 0.507414 -vt 0.586265 0.232414 -vt 0.414390 0.767586 -vt 0.414390 0.492586 -vt 0.586265 0.767586 -vt 0.586265 0.492586 -vt 0.414390 0.687679 -vt 0.414390 0.554476 -vt 0.586265 0.687679 -vt 0.586265 0.554476 -vt 0.413735 0.687679 -vt 0.413735 0.554476 -vt 0.585610 0.687679 -vt 0.585610 0.554476 -vt 0.492586 0.713286 -vt 0.492586 0.666019 -vt 0.767586 0.713286 -vt 0.767586 0.666019 -vt 0.449452 0.507414 -vt 0.449452 0.232414 -vt 0.494569 0.507414 -vt 0.494569 0.232414 -vt 0.449452 0.713286 -vt 0.449452 0.666019 -vt 0.494569 0.713286 -vt 0.494569 0.666019 -vt 0.505431 0.713286 -vt 0.505431 0.666019 -vt 0.550548 0.713286 -vt 0.550548 0.666019 -vt 0.232414 0.730552 -vt 0.232414 0.683285 -vt 0.507414 0.730552 -vt 0.507414 0.683285 -vt 0.515115 0.507414 -vt 0.515115 0.232414 -vt 0.555935 0.507414 -vt 0.555935 0.232414 -vt 0.515115 0.730552 -vt 0.515115 0.683285 -vt 0.555935 0.730552 -vt 0.555935 0.683285 -vt 0.444065 0.730552 -vt 0.444065 0.683285 -vt 0.484885 0.730552 -vt 0.484885 0.683285 -vt 0.232414 0.567969 -vt 0.232414 0.520703 -vt 0.507414 0.567969 -vt 0.507414 0.520703 -vt 0.533203 0.767586 -vt 0.533203 0.492586 -vt 0.571875 0.767586 -vt 0.571875 0.492586 -vt 0.533203 0.567969 -vt 0.533203 0.520703 -vt 0.571875 0.567969 -vt 0.571875 0.520703 -vt 0.428125 0.567969 -vt 0.428125 0.520703 -vt 0.466797 0.567969 -vt 0.466797 0.520703 -vt 0.492586 0.583590 -vt 0.492586 0.536324 -vt 0.767586 0.583590 -vt 0.767586 0.536324 -vt 0.435334 0.767586 -vt 0.435334 0.492586 -vt 0.476154 0.767586 -vt 0.476154 0.492586 -vt 0.435334 0.583590 -vt 0.435334 0.536324 -vt 0.476154 0.583590 -vt 0.476154 0.536324 -vt 0.523846 0.583590 -vt 0.523846 0.536324 -vt 0.564666 0.583590 -vt 0.564666 0.536324 -vt 0.232414 0.719101 -vt 0.232414 0.679843 -vt 0.507414 0.719101 -vt 0.507414 0.679843 -vt 0.492586 0.719101 -vt 0.492586 0.679843 -vt 0.767586 0.719101 -vt 0.767586 0.679843 -vt 0.414227 0.507414 -vt 0.414227 0.232414 -vt 0.619696 0.507414 -vt 0.619696 0.232414 -vt 0.414227 0.767586 -vt 0.414227 0.492586 -vt 0.619696 0.767586 -vt 0.619696 0.492586 -vt 0.414227 0.719101 -vt 0.414227 0.679843 -vt 0.619696 0.719101 -vt 0.619696 0.679843 -vt 0.380304 0.719101 -vt 0.380304 0.679843 -vt 0.585773 0.719101 -vt 0.585773 0.679843 -vn 0.7071 -0.7071 0.0000 -vn -0.7071 0.7071 0.0000 -vn 0.7071 0.7071 0.0000 -vn -0.7071 -0.7071 -0.0000 -vn 0.0000 0.0000 1.0000 -vn 0.0000 0.0000 -1.0000 -vn 1.0000 0.0000 0.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 1.0000 0.0000 -vn 0.0000 -1.0000 -0.0000 -vn 0.9239 0.3827 0.0000 -vn -0.9239 -0.3827 0.0000 -vn -0.3827 0.9239 0.0000 -vn 0.3827 -0.9239 0.0000 -vn 0.9239 -0.3827 -0.0000 -vn -0.9239 0.3827 0.0000 -vn 0.3827 0.9239 0.0000 -vn -0.3827 -0.9239 0.0000 -s off -f 1/1/1 2/2/1 3/3/1 -f 2/2/1 4/4/1 3/3/1 -f 5/5/2 6/6/2 7/7/2 -f 6/6/2 8/8/2 7/7/2 -f 5/9/3 7/10/3 3/11/3 -f 7/10/3 1/12/3 3/11/3 -f 8/13/4 6/14/4 2/15/4 -f 6/14/4 4/16/4 2/15/4 -f 7/17/5 8/18/5 1/19/5 -f 8/18/5 2/20/5 1/19/5 -f 3/21/6 4/22/6 5/23/6 -f 4/22/6 6/24/6 5/23/6 -f 9/25/7 10/26/7 11/27/7 -f 10/26/7 12/28/7 11/27/7 -f 13/29/8 14/30/8 15/31/8 -f 14/30/8 16/32/8 15/31/8 -f 13/33/9 15/34/9 11/35/9 -f 15/34/9 9/36/9 11/35/9 -f 16/37/10 14/38/10 10/39/10 -f 14/38/10 12/40/10 10/39/10 -f 15/41/5 16/42/5 9/43/5 -f 16/42/5 10/44/5 9/43/5 -f 11/45/6 12/46/6 13/47/6 -f 12/46/6 14/48/6 13/47/6 -f 17/49/11 18/50/11 19/51/11 -f 18/50/11 20/52/11 19/51/11 -f 21/53/12 22/54/12 23/55/12 -f 22/54/12 24/56/12 23/55/12 -f 21/57/13 23/58/13 19/59/13 -f 23/58/13 17/60/13 19/59/13 -f 24/61/14 22/62/14 18/63/14 -f 22/62/14 20/64/14 18/63/14 -f 23/65/5 24/66/5 17/67/5 -f 24/66/5 18/68/5 17/67/5 -f 19/69/6 20/70/6 21/71/6 -f 20/70/6 22/72/6 21/71/6 -f 25/73/15 26/74/15 27/75/15 -f 26/74/15 28/76/15 27/75/15 -f 29/77/16 30/78/16 31/79/16 -f 30/78/16 32/80/16 31/79/16 -f 29/81/17 31/82/17 27/83/17 -f 31/82/17 25/84/17 27/83/17 -f 32/85/18 30/86/18 26/87/18 -f 30/86/18 28/88/18 26/87/18 -f 31/89/5 32/90/5 25/91/5 -f 32/90/5 26/92/5 25/91/5 -f 27/93/6 28/94/6 29/95/6 -f 28/94/6 30/96/6 29/95/6 -f 33/97/7 34/98/7 35/99/7 -f 34/98/7 36/100/7 35/99/7 -f 37/101/8 38/102/8 39/103/8 -f 38/102/8 40/104/8 39/103/8 -f 37/105/9 39/106/9 35/107/9 -f 39/106/9 33/108/9 35/107/9 -f 40/109/10 38/110/10 34/111/10 -f 38/110/10 36/112/10 34/111/10 -f 39/113/5 40/114/5 33/115/5 -f 40/114/5 34/116/5 33/115/5 -f 35/117/6 36/118/6 37/119/6 -f 36/118/6 38/120/6 37/119/6 -f 41/121/7 42/122/7 43/123/7 -f 42/122/7 44/124/7 43/123/7 -f 45/125/8 46/126/8 47/127/8 -f 46/126/8 48/128/8 47/127/8 -f 45/129/9 47/130/9 43/131/9 -f 47/130/9 41/132/9 43/131/9 -f 48/133/10 46/134/10 42/135/10 -f 46/134/10 44/136/10 42/135/10 -f 47/137/5 48/138/5 41/139/5 -f 48/138/5 42/140/5 41/139/5 -f 43/141/6 44/142/6 45/143/6 -f 44/142/6 46/144/6 45/143/6 -f 49/145/12 50/146/12 51/147/12 -f 50/146/12 52/148/12 51/147/12 -f 49/149/13 51/150/13 53/151/13 -f 51/150/13 54/152/13 53/151/13 -f 51/153/5 52/154/5 54/155/5 -f 52/154/5 55/156/5 54/155/5 -f 53/157/6 56/158/6 49/159/6 -f 56/158/6 50/160/6 49/159/6 -f 57/161/15 58/162/15 59/163/15 -f 58/162/15 60/164/15 59/163/15 -f 61/165/17 62/166/17 59/167/17 -f 62/166/17 57/168/17 59/167/17 -f 62/169/5 63/170/5 57/171/5 -f 63/170/5 58/172/5 57/171/5 -f 59/173/6 60/174/6 61/175/6 -f 60/174/6 64/176/6 61/175/6 -f 65/177/11 66/178/11 67/179/11 -f 66/178/11 68/180/11 67/179/11 -f 69/181/14 70/182/14 66/183/14 -f 70/182/14 68/184/14 66/183/14 -f 71/185/5 69/186/5 65/187/5 -f 69/186/5 66/188/5 65/187/5 -f 67/189/6 68/190/6 72/191/6 -f 68/190/6 70/192/6 72/191/6 -f 73/193/16 74/194/16 75/195/16 -f 74/194/16 76/196/16 75/195/16 -f 76/197/18 74/198/18 77/199/18 -f 74/198/18 78/200/18 77/199/18 -f 75/201/5 76/202/5 79/203/5 -f 76/202/5 77/204/5 79/203/5 -f 80/205/6 78/206/6 73/207/6 -f 78/206/6 74/208/6 73/207/6 -f 81/209/1 82/210/1 83/211/1 -f 82/210/1 84/212/1 83/211/1 -f 85/213/2 86/214/2 87/215/2 -f 86/214/2 88/216/2 87/215/2 -f 85/217/3 87/218/3 83/219/3 -f 87/218/3 81/220/3 83/219/3 -f 88/221/4 86/222/4 82/223/4 -f 86/222/4 84/224/4 82/223/4 -f 87/225/5 88/226/5 81/227/5 -f 88/226/5 82/228/5 81/227/5 -f 83/229/6 84/230/6 85/231/6 -f 84/230/6 86/232/6 85/231/6 -o Grip -v 0.029437 0.100706 0.311919 -v 0.029437 -0.004763 0.311919 -v 0.029437 0.100706 0.268950 -v 0.029437 -0.004763 0.268950 -v -0.029156 0.100706 0.268950 -v -0.029156 -0.004763 0.268950 -v -0.029156 0.100706 0.311919 -v -0.029156 -0.004763 0.311919 -v 0.029388 0.017106 0.332156 -v 0.029388 -0.174300 0.332156 -v 0.029388 0.017106 0.285281 -v 0.029388 -0.174300 0.285281 -v -0.029181 0.017106 0.285281 -v -0.029181 -0.174300 0.285281 -v -0.029181 0.017106 0.332156 -v -0.029181 -0.174300 0.332156 -v 0.029419 0.085760 0.232858 -v 0.029419 -0.005391 0.324008 -v 0.029419 0.069187 0.216285 -v 0.029419 -0.021963 0.307436 -v -0.029175 0.069187 0.216285 -v -0.029175 -0.021963 0.307436 -v -0.029175 0.085760 0.232858 -v -0.029175 -0.005391 0.324008 -v 0.029462 0.040785 0.284858 -v 0.029462 -0.024175 0.257950 -v 0.029462 0.069187 0.216289 -v 0.029462 0.004227 0.189381 -v -0.029131 0.069187 0.216289 -v -0.029131 0.004227 0.189381 -v -0.029131 0.040785 0.284858 -v -0.029131 -0.024175 0.257950 -v 0.029425 0.004225 0.310469 -v 0.029425 -0.019213 0.310469 -v 0.029425 0.004225 0.189375 -v 0.029425 -0.019213 0.189375 -v -0.029169 0.004225 0.189375 -v -0.029169 -0.019213 0.189375 -v -0.029169 0.004225 0.310469 -v -0.029169 -0.019213 0.310469 -v 0.029456 -0.063915 0.319925 -v 0.029456 -0.080488 0.303353 -v 0.029456 0.021711 0.234299 -v 0.029456 0.005138 0.217726 -v -0.029137 0.021711 0.234299 -v -0.029137 0.005138 0.217726 -v -0.029137 -0.063915 0.319925 -v -0.029137 -0.080488 0.303353 -v 0.029406 0.100711 0.268945 -v 0.029406 -0.040037 0.327245 -v 0.029406 0.085762 0.232856 -v 0.029406 -0.054985 0.291156 -v -0.029188 0.085762 0.232856 -v -0.029188 -0.054985 0.291156 -v -0.029188 0.100711 0.268945 -v -0.029188 -0.040037 0.327245 -v 0.029375 -0.129257 0.319077 -v 0.029375 -0.205044 0.287685 -v 0.029375 -0.120288 0.297424 -v 0.029375 -0.196075 0.266032 -v -0.029188 -0.120288 0.297424 -v -0.029188 -0.196075 0.266032 -v -0.029188 -0.129257 0.319077 -v -0.029188 -0.205044 0.287685 -v 0.029450 0.100710 0.300193 -v 0.029450 -0.040037 0.358492 -v 0.029450 0.085762 0.264104 -v 0.029450 -0.054986 0.322403 -v -0.029144 0.085762 0.264104 -v -0.029144 -0.054986 0.322403 -v -0.029144 0.100710 0.300193 -v -0.029144 -0.040037 0.358492 -v 0.029469 0.075586 0.302363 -v 0.029469 0.006533 0.371416 -v 0.029469 0.047965 0.274741 -v 0.029469 -0.021088 0.343795 -v -0.029125 0.047965 0.274741 -v -0.029125 -0.021088 0.343795 -v -0.029125 0.075586 0.302363 -v -0.029125 0.006533 0.371416 -v 0.029425 0.006539 0.371413 -v 0.029425 -0.126990 0.426723 -v 0.029425 -0.032327 0.277581 -v 0.029425 -0.165857 0.332891 -v -0.029169 -0.032327 0.277581 -v -0.029169 -0.165857 0.332891 -v -0.029169 0.006539 0.371413 -v -0.029169 -0.126990 0.426723 -v 0.029419 -0.126919 0.427336 -v 0.029419 -0.205044 0.427336 -v 0.029419 -0.126919 0.287688 -v 0.029419 -0.205044 0.287688 -v -0.029163 -0.126919 0.287688 -v -0.029163 -0.205044 0.287688 -v -0.029163 -0.126919 0.427336 -v -0.029163 -0.205044 0.427336 -v 0.021613 0.096482 0.310400 -v 0.021613 -0.037047 0.365710 -v 0.021613 0.078544 0.267093 -v 0.021613 -0.054986 0.322403 -v -0.021356 0.078544 0.267093 -v -0.021356 -0.054986 0.322403 -v -0.021356 0.096482 0.310400 -v -0.021356 -0.037047 0.365710 -v 0.021613 0.081113 0.307885 -v 0.021613 0.010678 0.378319 -v 0.021613 0.047967 0.274739 -v 0.021613 -0.022467 0.345174 -v -0.021356 0.047967 0.274739 -v -0.021356 -0.022467 0.345174 -v -0.021356 0.081113 0.307885 -v -0.021356 0.010678 0.378319 -v 0.021613 -0.123013 0.435149 -v 0.021613 -0.205044 0.435149 -v 0.021613 -0.123013 0.287688 -v 0.021613 -0.205044 0.287688 -v -0.021356 -0.123013 0.287688 -v -0.021356 -0.205044 0.287688 -v -0.021356 -0.123013 0.435149 -v -0.021356 -0.205044 0.435149 -v 0.021613 0.011330 0.377885 -v 0.021613 -0.125808 0.434689 -v 0.021613 -0.030526 0.276835 -v 0.021613 -0.167664 0.333640 -v -0.021356 -0.030526 0.276835 -v -0.021356 -0.167664 0.333640 -v -0.021356 0.011330 0.377885 -v -0.021356 -0.125808 0.434689 -vt 0.000000 1.000000 -vt 0.000000 0.789062 -vt 0.085938 1.000000 -vt 0.085938 0.789062 -vt 0.000000 1.000000 -vt 0.000000 0.789062 -vt 0.085938 1.000000 -vt 0.085938 0.789062 -vt 0.890625 1.000000 -vt 0.890625 0.914062 -vt 1.007812 1.000000 -vt 1.007812 0.914062 -vt 0.562500 0.531250 -vt 0.562500 0.320312 -vt 0.679688 0.531250 -vt 0.679688 0.320312 -vt 0.562500 0.531250 -vt 0.562500 0.320312 -vt 0.679688 0.531250 -vt 0.679688 0.320312 -vt 0.000000 1.000000 -vt 0.000000 0.687500 -vt 0.093750 1.000000 -vt 0.093750 0.687500 -vt 0.000000 1.000000 -vt 0.000000 0.687500 -vt 0.093750 1.000000 -vt 0.093750 0.687500 -vt 0.437500 1.000000 -vt 0.437500 0.617188 -vt 0.554688 1.000000 -vt 0.554688 0.617188 -vt 0.000000 1.000000 -vt 0.000000 0.742188 -vt 0.046875 1.000000 -vt 0.046875 0.742188 -vt 0.000000 1.000000 -vt 0.000000 0.742188 -vt 0.046875 1.000000 -vt 0.046875 0.742188 -vt 0.531250 0.468750 -vt 0.531250 0.421875 -vt 0.648438 0.468750 -vt 0.648438 0.421875 -vt 0.562500 0.593750 -vt 0.562500 0.335938 -vt 0.679688 0.593750 -vt 0.679688 0.335938 -vt 0.562500 0.593750 -vt 0.562500 0.335938 -vt 0.679688 0.593750 -vt 0.679688 0.335938 -vt 0.000000 1.000000 -vt 0.000000 0.859375 -vt 0.130307 1.000000 -vt 0.130307 0.859375 -vt 0.000000 1.000000 -vt 0.000000 0.859375 -vt 0.130307 1.000000 -vt 0.130307 0.859375 -vt 0.500000 0.468750 -vt 0.500000 0.338443 -vt 0.617188 0.468750 -vt 0.617188 0.338443 -vt 0.531250 0.468750 -vt 0.531250 0.338443 -vt 0.648438 0.468750 -vt 0.648438 0.338443 -vt 0.500000 0.468750 -vt 0.500000 0.328125 -vt 0.617188 0.468750 -vt 0.617188 0.328125 -vt 0.500000 0.468750 -vt 0.500000 0.328125 -vt 0.617188 0.468750 -vt 0.617188 0.328125 -vt 0.000000 1.000000 -vt 0.000000 0.953125 -vt 0.130307 1.000000 -vt 0.130307 0.953125 -vt 0.015625 1.000000 -vt 0.015625 0.953125 -vt 0.145932 1.000000 -vt 0.145932 0.953125 -vt 0.500000 0.468750 -vt 0.500000 0.338443 -vt 0.617188 0.468750 -vt 0.617188 0.338443 -vt 0.343750 0.703125 -vt 0.343750 0.572818 -vt 0.460938 0.703125 -vt 0.460938 0.572818 -vt 0.500000 0.406250 -vt 0.500000 0.359375 -vt 0.617188 0.406250 -vt 0.617188 0.359375 -vt 0.000000 1.000000 -vt 0.000000 0.953125 -vt 0.218750 1.000000 -vt 0.218750 0.953125 -vt 0.000000 1.000000 -vt 0.000000 0.953125 -vt 0.265625 1.000000 -vt 0.265625 0.953125 -vt 0.890625 0.359375 -vt 0.890625 0.285771 -vt 1.007812 0.359375 -vt 1.007812 0.285771 -vt 0.000000 1.000000 -vt 0.000000 0.695312 -vt 0.078125 1.000000 -vt 0.078125 0.695312 -vt 0.000000 1.000000 -vt 0.000000 0.695312 -vt 0.078125 1.000000 -vt 0.078125 0.695312 -vt 0.890625 1.000000 -vt 0.890625 0.921875 -vt 1.007812 1.000000 -vt 1.007812 0.921875 -vt 0.562500 0.593750 -vt 0.562500 0.289062 -vt 0.679688 0.593750 -vt 0.679688 0.289062 -vt 0.531250 0.593750 -vt 0.531250 0.289062 -vt 0.648438 0.593750 -vt 0.648438 0.289062 -vt 0.000000 1.000000 -vt 0.000000 0.835938 -vt 0.046875 1.000000 -vt 0.046875 0.835938 -vt 0.000000 1.000000 -vt 0.000000 0.835938 -vt 0.046875 1.000000 -vt 0.046875 0.835938 -vt 0.484375 0.046875 -vt 0.484375 0.000000 -vt 0.601562 0.046875 -vt 0.601562 0.000000 -vt 0.687500 0.156250 -vt 0.687500 -0.007812 -vt 0.804688 0.156250 -vt 0.804688 -0.007812 -vt 0.000000 1.000000 -vt 0.000000 0.695312 -vt 0.078125 1.000000 -vt 0.078125 0.695312 -vt 0.000000 1.000000 -vt 0.000000 0.695312 -vt 0.078125 1.000000 -vt 0.078125 0.695312 -vt 0.562500 0.468750 -vt 0.562500 0.390625 -vt 0.679688 0.468750 -vt 0.679688 0.390625 -vt 0.562500 0.437500 -vt 0.562500 0.359375 -vt 0.679688 0.437500 -vt 0.679688 0.359375 -vt 0.562500 0.593750 -vt 0.562500 0.289062 -vt 0.679688 0.593750 -vt 0.679688 0.289062 -vt 0.562500 0.593750 -vt 0.562500 0.289062 -vt 0.679688 0.593750 -vt 0.679688 0.289062 -vt 0.000000 1.000000 -vt 0.000000 0.804688 -vt 0.078125 1.000000 -vt 0.078125 0.804688 -vt 0.000000 1.000000 -vt 0.000000 0.804688 -vt 0.078125 1.000000 -vt 0.078125 0.804688 -vt 0.562500 0.437500 -vt 0.562500 0.359375 -vt 0.679688 0.437500 -vt 0.679688 0.359375 -vt 0.562500 0.500000 -vt 0.562500 0.304688 -vt 0.679688 0.500000 -vt 0.679688 0.304688 -vt 0.562500 0.500000 -vt 0.562500 0.304688 -vt 0.679688 0.500000 -vt 0.679688 0.304688 -vt 0.000000 1.000000 -vt 0.000000 0.710938 -vt 0.203125 1.000000 -vt 0.203125 0.710938 -vt 0.000000 1.000000 -vt 0.000000 0.710938 -vt 0.203125 1.000000 -vt 0.203125 0.710938 -vt 0.562500 0.531250 -vt 0.562500 0.328125 -vt 0.679688 0.531250 -vt 0.679688 0.328125 -vt 0.562500 0.593750 -vt 0.562500 0.304688 -vt 0.679688 0.593750 -vt 0.679688 0.304688 -vt 0.000000 0.734375 -vt 0.000000 0.578125 -vt 0.281250 0.734375 -vt 0.281250 0.578125 -vt 0.000000 0.734375 -vt 0.000000 0.578125 -vt 0.281250 0.734375 -vt 0.281250 0.578125 -vt 0.328125 0.281250 -vt 0.328125 0.001952 -vt 0.445312 0.281250 -vt 0.445312 0.001952 -vt 0.500000 0.500000 -vt 0.500000 0.343750 -vt 0.617188 0.500000 -vt 0.617188 0.343750 -vt 0.500000 0.500000 -vt 0.500000 0.343750 -vt 0.617188 0.500000 -vt 0.617188 0.343750 -vt 0.770499 0.593601 -vt 0.770499 0.304538 -vt 0.864249 0.593601 -vt 0.864249 0.304538 -vt 0.135752 0.593601 -vt 0.135752 0.304538 -vt 0.229502 0.593601 -vt 0.229502 0.304538 -vt 0.921875 1.000000 -vt 0.921875 0.710937 -vt 1.007812 1.000000 -vt 1.007812 0.710937 -vt 0.724961 0.568802 -vt 0.724961 0.369583 -vt 0.818711 0.568802 -vt 0.818711 0.369583 -vt 0.181289 0.568802 -vt 0.181289 0.369583 -vt 0.275039 0.568802 -vt 0.275039 0.369583 -vt 0.921875 1.000000 -vt 0.921875 0.800781 -vt 1.007812 1.000000 -vt 1.007812 0.800781 -vt 0.437500 0.500000 -vt 0.437500 0.335938 -vt 0.732422 0.500000 -vt 0.732422 0.335938 -vt 0.437500 0.500000 -vt 0.437500 0.335938 -vt 0.732422 0.500000 -vt 0.732422 0.335938 -vt 0.562500 0.562500 -vt 0.562500 0.267577 -vt 0.648438 0.562500 -vt 0.648438 0.267577 -vt 0.921875 1.000000 -vt 0.921875 0.705078 -vt 1.007812 1.000000 -vt 1.007812 0.705078 -vt 0.921875 1.000000 -vt 0.921875 0.835938 -vt 1.007812 1.000000 -vt 1.007812 0.835938 -vt 0.531250 0.500000 -vt 0.531250 0.335938 -vt 0.617188 0.500000 -vt 0.617188 0.335938 -vt 0.500000 0.593750 -vt 0.500000 0.296875 -vt 0.718750 0.593750 -vt 0.718750 0.296875 -vt 0.500000 0.593750 -vt 0.500000 0.296875 -vt 0.718750 0.593750 -vt 0.718750 0.296875 -vt 0.921875 1.000000 -vt 0.921875 0.703125 -vt 1.007812 1.000000 -vt 1.007812 0.703125 -vn 1.0000 0.0000 0.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 1.0000 0.0000 -vn 0.0000 0.0000 1.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 0.7071 -0.7071 -vn 0.0000 0.7071 0.7071 -vn 0.0000 -0.7071 -0.7071 -vn 0.0000 0.9239 0.3827 -vn 0.0000 -0.9239 -0.3827 -vn 0.0000 -0.3827 0.9239 -vn 0.0000 0.3827 -0.9239 -vn 0.0000 -1.0000 -0.0000 -vn 0.0000 0.9239 -0.3827 -vn 0.0000 0.3827 0.9239 -vn 0.0000 -0.3827 -0.9239 -vn 0.0000 -0.9239 0.3827 -vn 0.0000 -0.7071 0.7071 -s off -f 89/233/19 90/234/19 91/235/19 -f 90/234/19 92/236/19 91/235/19 -f 93/237/20 94/238/20 95/239/20 -f 94/238/20 96/240/20 95/239/20 -f 93/241/21 95/242/21 91/243/21 -f 95/242/21 89/244/21 91/243/21 -f 95/245/22 96/246/22 89/247/22 -f 96/246/22 90/248/22 89/247/22 -f 91/249/23 92/250/23 93/251/23 -f 92/250/23 94/252/23 93/251/23 -f 97/253/19 98/254/19 99/255/19 -f 98/254/19 100/256/19 99/255/19 -f 101/257/20 102/258/20 103/259/20 -f 102/258/20 104/260/20 103/259/20 -f 99/261/23 100/262/23 101/263/23 -f 100/262/23 102/264/23 101/263/23 -f 105/265/19 106/266/19 107/267/19 -f 106/266/19 108/268/19 107/267/19 -f 109/269/20 110/270/20 111/271/20 -f 110/270/20 112/272/20 111/271/20 -f 109/273/24 111/274/24 107/275/24 -f 111/274/24 105/276/24 107/275/24 -f 111/277/25 112/278/25 105/279/25 -f 112/278/25 106/280/25 105/279/25 -f 107/281/26 108/282/26 109/283/26 -f 108/282/26 110/284/26 109/283/26 -f 113/285/19 114/286/19 115/287/19 -f 114/286/19 116/288/19 115/287/19 -f 117/289/20 118/290/20 119/291/20 -f 118/290/20 120/292/20 119/291/20 -f 117/293/27 119/294/27 115/295/27 -f 119/294/27 113/296/27 115/295/27 -f 120/297/28 118/298/28 114/299/28 -f 118/298/28 116/300/28 114/299/28 -f 119/301/29 120/302/29 113/303/29 -f 120/302/29 114/304/29 113/303/29 -f 115/305/30 116/306/30 117/307/30 -f 116/306/30 118/308/30 117/307/30 -f 121/309/19 122/310/19 123/311/19 -f 122/310/19 124/312/19 123/311/19 -f 125/313/20 126/314/20 127/315/20 -f 126/314/20 128/316/20 127/315/20 -f 125/317/21 127/318/21 123/319/21 -f 127/318/21 121/320/21 123/319/21 -f 128/321/31 126/322/31 122/323/31 -f 126/322/31 124/324/31 122/323/31 -f 123/325/23 124/326/23 125/327/23 -f 124/326/23 126/328/23 125/327/23 -f 129/329/19 130/330/19 131/331/19 -f 130/330/19 132/332/19 131/331/19 -f 133/333/20 134/334/20 135/335/20 -f 134/334/20 136/336/20 135/335/20 -f 136/337/26 134/338/26 130/339/26 -f 134/338/26 132/340/26 130/339/26 -f 137/341/19 138/342/19 139/343/19 -f 138/342/19 140/344/19 139/343/19 -f 141/345/20 142/346/20 143/347/20 -f 142/346/20 144/348/20 143/347/20 -f 141/349/32 143/350/32 139/351/32 -f 143/350/32 137/352/32 139/351/32 -f 143/353/33 144/354/33 137/355/33 -f 144/354/33 138/356/33 137/355/33 -f 139/357/34 140/358/34 141/359/34 -f 140/358/34 142/360/34 141/359/34 -f 145/361/19 146/362/19 147/363/19 -f 146/362/19 148/364/19 147/363/19 -f 149/365/20 150/366/20 151/367/20 -f 150/366/20 152/368/20 151/367/20 -f 152/369/28 150/370/28 146/371/28 -f 150/370/28 148/372/28 146/371/28 -f 147/373/30 148/374/30 149/375/30 -f 148/374/30 150/376/30 149/375/30 -f 153/377/19 154/378/19 155/379/19 -f 154/378/19 156/380/19 155/379/19 -f 157/381/20 158/382/20 159/383/20 -f 158/382/20 160/384/20 159/383/20 -f 157/385/32 159/386/32 155/387/32 -f 159/386/32 153/388/32 155/387/32 -f 160/389/35 158/390/35 154/391/35 -f 158/390/35 156/392/35 154/391/35 -f 159/393/33 160/394/33 153/395/33 -f 160/394/33 154/396/33 153/395/33 -f 155/397/34 156/398/34 157/399/34 -f 156/398/34 158/400/34 157/399/34 -f 161/401/19 162/402/19 163/403/19 -f 162/402/19 164/404/19 163/403/19 -f 165/405/20 166/406/20 167/407/20 -f 166/406/20 168/408/20 167/407/20 -f 168/409/36 166/410/36 162/411/36 -f 166/410/36 164/412/36 162/411/36 -f 167/413/25 168/414/25 161/415/25 -f 168/414/25 162/416/25 161/415/25 -f 163/417/26 164/418/26 165/419/26 -f 164/418/26 166/420/26 165/419/26 -f 169/421/19 170/422/19 171/423/19 -f 170/422/19 172/424/19 171/423/19 -f 173/425/20 174/426/20 175/427/20 -f 174/426/20 176/428/20 175/427/20 -f 173/429/32 175/430/32 171/431/32 -f 175/430/32 169/432/32 171/431/32 -f 175/433/33 176/434/33 169/435/33 -f 176/434/33 170/436/33 169/435/33 -f 177/437/19 178/438/19 179/439/19 -f 178/438/19 180/440/19 179/439/19 -f 181/441/20 182/442/20 183/443/20 -f 182/442/20 184/444/20 183/443/20 -f 184/445/31 182/446/31 178/447/31 -f 182/446/31 180/448/31 178/447/31 -f 183/449/22 184/450/22 177/451/22 -f 184/450/22 178/452/22 177/451/22 -f 179/453/23 180/454/23 181/455/23 -f 180/454/23 182/456/23 181/455/23 -f 185/457/19 186/458/19 187/459/19 -f 186/458/19 188/460/19 187/459/19 -f 189/461/20 190/462/20 191/463/20 -f 190/462/20 192/464/20 191/463/20 -f 191/465/33 192/466/33 185/467/33 -f 192/466/33 186/468/33 185/467/33 -f 193/469/19 194/470/19 195/471/19 -f 194/470/19 196/472/19 195/471/19 -f 197/473/20 198/474/20 199/475/20 -f 198/474/20 200/476/20 199/475/20 -f 199/477/25 200/478/25 193/479/25 -f 200/478/25 194/480/25 193/479/25 -f 201/481/19 202/482/19 203/483/19 -f 202/482/19 204/484/19 203/483/19 -f 205/485/20 206/486/20 207/487/20 -f 206/486/20 208/488/20 207/487/20 -f 205/489/21 207/490/21 203/491/21 -f 207/490/21 201/492/21 203/491/21 -f 208/493/31 206/494/31 202/495/31 -f 206/494/31 204/496/31 202/495/31 -f 207/497/22 208/498/22 201/499/22 -f 208/498/22 202/500/22 201/499/22 -f 203/501/23 204/502/23 205/503/23 -f 204/502/23 206/504/23 205/503/23 -f 209/505/19 210/506/19 211/507/19 -f 210/506/19 212/508/19 211/507/19 -f 213/509/20 214/510/20 215/511/20 -f 214/510/20 216/512/20 215/511/20 -f 215/513/33 216/514/33 209/515/33 -f 216/514/33 210/516/33 209/515/33 -o Hammer -v 0.009894 0.159364 0.192004 -v 0.009894 0.127600 0.223769 -v 0.009894 0.115170 0.147810 -v 0.009894 0.083406 0.179575 -v -0.009638 0.115170 0.147810 -v -0.009638 0.083406 0.179575 -v -0.009638 0.159364 0.192004 -v -0.009638 0.127600 0.223769 -v 0.009894 0.151487 0.265041 -v 0.009894 0.135862 0.265041 -v 0.009894 0.151487 0.220119 -v 0.009894 0.135862 0.220119 -v -0.009638 0.151487 0.220119 -v -0.009638 0.135862 0.220119 -v -0.009638 0.151487 0.265041 -v -0.009638 0.135862 0.265041 -v 0.009894 0.149695 0.230343 -v 0.009894 0.138646 0.241391 -v 0.009894 0.112406 0.193054 -v 0.009894 0.101357 0.204103 -v -0.009638 0.112406 0.193054 -v -0.009638 0.101357 0.204103 -v -0.009638 0.149695 0.230343 -v -0.009638 0.138646 0.241391 -v 0.009894 0.151488 0.220120 -v 0.009894 0.140439 0.231168 -v 0.009894 0.119723 0.188355 -v 0.009894 0.108675 0.199404 -v -0.009638 0.119723 0.188355 -v -0.009638 0.108675 0.199404 -v -0.009638 0.151488 0.220120 -v -0.009638 0.140439 0.231168 -v 0.009894 0.100022 0.248635 -v 0.009894 0.065737 0.234434 -v 0.009894 0.111980 0.219764 -v 0.009894 0.077696 0.205562 -v -0.009638 0.111980 0.219764 -v -0.009638 0.077696 0.205562 -v -0.009638 0.100022 0.248635 -v -0.009638 0.065737 0.234434 -vt 0.024914 0.671166 -vt 0.024914 0.581323 -vt 0.149915 0.671166 -vt 0.149915 0.581323 -vt 0.850086 0.671166 -vt 0.850086 0.581323 -vt 0.975086 0.671166 -vt 0.975086 0.581323 -vt 0.484375 0.149914 -vt 0.484375 0.024914 -vt 0.523438 0.149914 -vt 0.523438 0.024914 -vt 0.484375 0.671166 -vt 0.484375 0.581323 -vt 0.523438 0.671166 -vt 0.523438 0.581323 -vt 0.000000 0.717492 -vt 0.000000 0.686242 -vt 0.068825 0.717492 -vt 0.068825 0.686242 -vt 0.931175 0.717492 -vt 0.931175 0.686242 -vt 1.000000 0.717492 -vt 1.000000 0.686242 -vt 0.484375 0.068825 -vt 0.484375 0.000000 -vt 0.523438 0.068825 -vt 0.523438 0.000000 -vt 0.484375 1.000000 -vt 0.484375 0.931175 -vt 0.523438 1.000000 -vt 0.523438 0.931175 -vt 0.484375 0.717492 -vt 0.484375 0.686242 -vt 0.523438 0.717492 -vt 0.523438 0.686242 -vt 0.000000 0.648480 -vt 0.000000 0.617230 -vt 0.100860 0.648480 -vt 0.100860 0.617230 -vt 0.899140 0.648480 -vt 0.899140 0.617230 -vt 1.000000 0.648480 -vt 1.000000 0.617230 -vt 0.484375 0.100860 -vt 0.484375 0.000000 -vt 0.523438 0.100860 -vt 0.523438 0.000000 -vt 0.484375 1.000000 -vt 0.484375 0.899140 -vt 0.523438 1.000000 -vt 0.523438 0.899140 -vt 0.020413 0.663117 -vt 0.020413 0.631867 -vt 0.110257 0.663117 -vt 0.110257 0.631867 -vt 0.889743 0.663117 -vt 0.889743 0.631867 -vt 0.979587 0.663117 -vt 0.979587 0.631867 -vt 0.484375 0.110257 -vt 0.484375 0.020413 -vt 0.523438 0.110257 -vt 0.523438 0.020413 -vt 0.484375 0.979587 -vt 0.484375 0.889743 -vt 0.523438 0.979587 -vt 0.523438 0.889743 -vt 0.035439 0.644131 -vt 0.035439 0.569912 -vt 0.097939 0.644131 -vt 0.097939 0.569912 -vt 0.902061 0.644131 -vt 0.902061 0.569912 -vt 0.964561 0.644131 -vt 0.964561 0.569912 -vt 0.484375 0.097939 -vt 0.484375 0.035439 -vt 0.523438 0.097939 -vt 0.523438 0.035439 -vt 0.484375 0.644131 -vt 0.484375 0.569912 -vt 0.523438 0.644131 -vt 0.523438 0.569912 -vt 0.476562 0.644131 -vt 0.476562 0.569912 -vt 0.515625 0.644131 -vt 0.515625 0.569912 -vn 1.0000 0.0000 0.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.7071 -0.7071 -vn 0.0000 0.7071 0.7071 -vn 0.0000 1.0000 0.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 0.0000 1.0000 -vn 0.0000 -0.7071 0.7071 -vn 0.0000 0.9239 0.3827 -vn 0.0000 -0.3827 0.9239 -vn 0.0000 0.3827 -0.9239 -s off -f 217/517/37 218/518/37 219/519/37 -f 218/518/37 220/520/37 219/519/37 -f 221/521/38 222/522/38 223/523/38 -f 222/522/38 224/524/38 223/523/38 -f 221/525/39 223/526/39 219/527/39 -f 223/526/39 217/528/39 219/527/39 -f 223/529/40 224/530/40 217/531/40 -f 224/530/40 218/532/40 217/531/40 -f 225/533/37 226/534/37 227/535/37 -f 226/534/37 228/536/37 227/535/37 -f 229/537/38 230/538/38 231/539/38 -f 230/538/38 232/540/38 231/539/38 -f 229/541/41 231/542/41 227/543/41 -f 231/542/41 225/544/41 227/543/41 -f 232/545/42 230/546/42 226/547/42 -f 230/546/42 228/548/42 226/547/42 -f 231/549/43 232/550/43 225/551/43 -f 232/550/43 226/552/43 225/551/43 -f 233/553/37 234/554/37 235/555/37 -f 234/554/37 236/556/37 235/555/37 -f 237/557/38 238/558/38 239/559/38 -f 238/558/38 240/560/38 239/559/38 -f 237/561/39 239/562/39 235/563/39 -f 239/562/39 233/564/39 235/563/39 -f 240/565/44 238/566/44 234/567/44 -f 238/566/44 236/568/44 234/567/44 -f 241/569/37 242/570/37 243/571/37 -f 242/570/37 244/572/37 243/571/37 -f 245/573/38 246/574/38 247/575/38 -f 246/574/38 248/576/38 247/575/38 -f 245/577/39 247/578/39 243/579/39 -f 247/578/39 241/580/39 243/579/39 -f 248/581/44 246/582/44 242/583/44 -f 246/582/44 244/584/44 242/583/44 -f 249/585/37 250/586/37 251/587/37 -f 250/586/37 252/588/37 251/587/37 -f 253/589/38 254/590/38 255/591/38 -f 254/590/38 256/592/38 255/591/38 -f 253/593/45 255/594/45 251/595/45 -f 255/594/45 249/596/45 251/595/45 -f 255/597/46 256/598/46 249/599/46 -f 256/598/46 250/600/46 249/599/46 -f 251/601/47 252/602/47 253/603/47 -f 252/602/47 254/604/47 253/603/47 o Body v 0.011850 0.155047 -0.051250 v 0.011850 0.141375 -0.051250 @@ -1778,6 +563,40 @@ v -0.015494 -0.003971 0.123369 v -0.015494 -0.028275 0.123369 v -0.015494 -0.003971 0.144853 v -0.015494 -0.028275 0.144853 +v 0.009894 0.100022 0.248635 +v 0.009894 0.065737 0.234434 +v 0.009894 0.111980 0.219764 +v 0.009894 0.077696 0.205562 +v -0.009638 0.111980 0.219764 +v -0.009638 0.077696 0.205562 +v -0.009638 0.100022 0.248635 +v -0.009638 0.065737 0.234434 +vn 1.0000 -0.0000 -0.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 -1.0000 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn -0.0000 1.0000 -0.0000 +vn 0.7071 -0.7071 -0.0000 +vn -0.7071 0.7071 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn 0.7071 0.7071 -0.0000 +vn -0.7071 -0.7071 -0.0000 +vn 0.9239 0.3827 -0.0000 +vn -0.3827 0.9239 -0.0000 +vn -0.9239 0.3827 -0.0000 +vn 0.3827 0.9239 -0.0000 +vn -0.0000 0.9239 0.3827 +vn 0.7072 0.7071 -0.0000 +vn -0.0000 0.3827 0.9239 +vn -0.0000 -0.3827 -0.9239 +vn -0.0000 -0.9239 0.3827 +vn -0.0000 0.7071 -0.7071 +vn -0.0000 -0.7071 0.7071 +vn -0.0000 0.7071 0.7071 +vn -0.0000 -0.7071 -0.7071 +vn -0.0000 -0.9239 -0.3827 +vn -0.0000 -0.3827 0.9239 +vn -0.0000 0.3827 -0.9239 vt 0.611563 0.724609 vt 0.611563 0.697266 vt 1.000000 0.724609 @@ -1806,10 +625,6 @@ vt 0.480469 1.000000 vt 0.480469 0.611563 vt 0.527344 1.000000 vt 0.527344 0.611563 -vt 0.480469 0.388437 -vt 0.480469 0.000000 -vt 0.527344 0.388437 -vt 0.527344 0.000000 vt 0.472656 0.638787 vt 0.472656 0.611443 vt 0.519531 0.638787 @@ -1870,14 +685,6 @@ vt 0.525334 0.691463 vt 0.525334 0.644588 vt 0.552678 0.691463 vt 0.552678 0.644588 -vt 0.611563 0.691463 -vt 0.611563 0.644588 -vt 1.000000 0.691463 -vt 1.000000 0.644588 -vt 0.000000 0.691463 -vt 0.000000 0.644588 -vt 0.388437 0.691463 -vt 0.388437 0.644588 vt 0.533146 1.000000 vt 0.533146 0.611563 vt 0.560490 1.000000 @@ -1891,13 +698,9 @@ vt 0.439510 0.644588 vt 0.466854 0.691463 vt 0.466854 0.644588 vt 0.611563 0.658318 -vt 0.611563 0.611443 vt 1.000000 0.658318 -vt 1.000000 0.611443 vt 0.000000 0.658318 -vt 0.000000 0.611443 vt 0.388437 0.658318 -vt 0.388437 0.611443 vt 0.480469 0.658318 vt 0.480469 0.611443 vt 0.507812 0.658318 @@ -1905,7 +708,6 @@ vt 0.507812 0.611443 vt 0.492188 0.658318 vt 0.492188 0.611443 vt 0.519531 0.658318 -vt 0.519531 0.611443 vt 0.611563 0.719004 vt 0.611563 0.672129 vt 1.000000 0.719004 @@ -1923,29 +725,15 @@ vt 0.431502 0.672129 vt 0.458846 0.719004 vt 0.458846 0.672129 vt 0.611563 0.732422 -vt 0.611563 0.724609 vt 1.000000 0.732422 -vt 1.000000 0.724609 vt 0.000000 0.732422 -vt 0.000000 0.724609 vt 0.388437 0.732422 -vt 0.388437 0.724609 -vt 0.480469 1.000000 -vt 0.480469 0.611563 -vt 0.527344 1.000000 -vt 0.527344 0.611563 vt 0.472656 0.732422 -vt 0.472656 0.724609 vt 0.519531 0.732422 -vt 0.519531 0.724609 vt 0.611563 0.744141 -vt 0.611563 0.732422 vt 1.000000 0.744141 -vt 1.000000 0.732422 vt 0.000000 0.744141 -vt 0.000000 0.732422 vt 0.388437 0.744141 -vt 0.388437 0.732422 vt 0.488281 1.000000 vt 0.488281 0.611563 vt 0.519531 1.000000 @@ -1962,10 +750,6 @@ vt 0.000000 0.767578 vt 0.000000 0.759766 vt 0.388437 0.767578 vt 0.388437 0.759766 -vt 0.488281 1.000000 -vt 0.488281 0.611563 -vt 0.519531 1.000000 -vt 0.519531 0.611563 vt 0.488281 0.388437 vt 0.488281 0.000000 vt 0.519531 0.388437 @@ -1986,10 +770,6 @@ vt 0.488281 0.759766 vt 0.488281 0.744141 vt 0.519531 0.759766 vt 0.519531 0.744141 -vt 0.480469 0.759766 -vt 0.480469 0.744141 -vt 0.511719 0.759766 -vt 0.511719 0.744141 vt 0.089688 0.759766 vt 0.089688 0.744141 vt 0.212187 0.759766 @@ -1998,14 +778,6 @@ vt 0.787812 0.759766 vt 0.787812 0.744141 vt 0.910312 0.759766 vt 0.910312 0.744141 -vt 0.488281 0.759766 -vt 0.488281 0.744141 -vt 0.519531 0.759766 -vt 0.519531 0.744141 -vt 0.480469 0.759766 -vt 0.480469 0.744141 -vt 0.511719 0.759766 -vt 0.511719 0.744141 vt 0.807813 0.759766 vt 0.807813 0.744141 vt 0.930313 0.759766 @@ -2014,14 +786,6 @@ vt 0.069688 0.759766 vt 0.069688 0.744141 vt 0.192188 0.759766 vt 0.192188 0.744141 -vt 0.488281 0.759766 -vt 0.488281 0.744141 -vt 0.519531 0.759766 -vt 0.519531 0.744141 -vt 0.480469 0.759766 -vt 0.480469 0.744141 -vt 0.511719 0.759766 -vt 0.511719 0.744141 vt 0.611562 0.759766 vt 0.611562 0.744141 vt 0.664062 0.759766 @@ -2030,10 +794,6 @@ vt 0.335938 0.759766 vt 0.335938 0.744141 vt 0.388438 0.759766 vt 0.388438 0.744141 -vt 0.480469 0.759766 -vt 0.480469 0.744141 -vt 0.511719 0.759766 -vt 0.511719 0.744141 vt 0.611563 0.768173 vt 0.611563 0.760360 vt 1.000000 0.768173 @@ -2061,9 +821,7 @@ vt 0.497894 0.766339 vt 0.349688 0.798828 vt 0.349688 0.759766 vt 0.389062 0.798828 -vt 0.389062 0.759766 vt 0.610937 0.798828 -vt 0.610937 0.759766 vt 0.650312 0.798828 vt 0.650312 0.759766 vt 0.500000 0.389062 @@ -2102,17 +860,12 @@ vt 0.677282 0.778632 vt 0.677282 0.770819 vt 0.703063 0.778632 vt 0.703063 0.770819 -vt 0.611563 0.611443 vt 0.611563 0.568474 -vt 1.000000 0.611443 vt 1.000000 0.568474 -vt 0.000000 0.611443 vt 0.000000 0.568474 -vt 0.388437 0.611443 vt 0.388437 0.568474 vt 0.484375 0.611443 vt 0.484375 0.568474 -vt 0.507812 0.611443 vt 0.507812 0.568474 vt 0.611563 0.597828 vt 0.611563 0.554859 @@ -2155,33 +908,22 @@ vt 0.500948 0.571433 vt 0.524385 0.614402 vt 0.524385 0.571433 vt 0.000000 0.594871 -vt 0.000000 0.571433 vt 0.388437 0.594871 -vt 0.388437 0.571433 -vt 0.475615 1.000000 -vt 0.475615 0.611563 vt 0.518584 1.000000 vt 0.518584 0.611563 -vt 0.475615 0.388437 -vt 0.475615 0.000000 vt 0.518584 0.388437 vt 0.518584 0.000000 vt 0.481416 0.594871 vt 0.481416 0.571433 vt 0.524385 0.594871 -vt 0.524385 0.571433 vt 0.000000 0.618308 -vt 0.000000 0.594871 vt 0.388437 0.618308 -vt 0.388437 0.594871 vt 0.497042 0.618308 vt 0.497042 0.594871 vt 0.524386 0.618308 vt 0.524386 0.594871 vt 0.611563 0.594871 -vt 0.611563 0.571433 vt 1.000000 0.594871 -vt 1.000000 0.571433 vt 0.504854 1.000000 vt 0.504854 0.611563 vt 0.532197 1.000000 @@ -2282,8 +1024,6 @@ vt 0.383972 0.632275 vt 0.383972 0.597470 vt 0.488029 0.632275 vt 0.488029 0.597470 -vt 0.458917 0.616027 -vt 0.458917 0.511971 vt 0.498449 0.616027 vt 0.498449 0.511971 vt 0.458917 0.632275 @@ -2410,14 +1150,6 @@ vt 0.432683 0.693698 vt 0.432683 0.640261 vt 0.463854 0.693698 vt 0.463854 0.640261 -vt 0.512513 0.693698 -vt 0.512513 0.640261 -vt 0.615113 0.693698 -vt 0.615113 0.640261 -vt 0.384887 0.693698 -vt 0.384887 0.640261 -vt 0.487487 0.693698 -vt 0.487487 0.640261 vt 0.438307 0.615113 vt 0.438307 0.512513 vt 0.469479 0.615113 @@ -2480,9 +1212,7 @@ vt 0.454724 0.725094 vt 0.454724 0.671657 vt 0.226796 0.775391 vt 0.226796 0.740234 -vt 0.568593 0.775391 vt 0.568593 0.740234 -vt 0.431407 0.775391 vt 0.431407 0.740234 vt 0.773204 0.775391 vt 0.773204 0.740234 @@ -2510,14 +1240,10 @@ vt 0.773204 0.767578 vt 0.773204 0.453126 vt 0.835704 0.767578 vt 0.835704 0.453126 -vt 0.460938 0.226796 vt 0.460938 0.164296 -vt 0.546875 0.226796 vt 0.546875 0.164296 vt 0.460938 0.835704 -vt 0.460938 0.773204 vt 0.546875 0.835704 -vt 0.546875 0.773204 vt 0.460938 0.767578 vt 0.460938 0.453126 vt 0.546875 0.767578 @@ -2527,25 +1253,17 @@ vt 0.453125 0.453126 vt 0.539062 0.767578 vt 0.539062 0.453126 vt 0.226796 0.787109 -vt 0.226796 0.775391 vt 0.359609 0.787109 vt 0.359609 0.775391 vt 0.640391 0.787109 vt 0.640391 0.775391 vt 0.773204 0.787109 -vt 0.773204 0.775391 vt 0.460938 0.359609 -vt 0.460938 0.226796 vt 0.546875 0.359609 -vt 0.546875 0.226796 vt 0.460938 0.787109 -vt 0.460938 0.775391 vt 0.546875 0.787109 -vt 0.546875 0.775391 vt 0.453125 0.787109 -vt 0.453125 0.775391 vt 0.539062 0.787109 -vt 0.539062 0.775391 vt 0.511125 0.598432 vt 0.511125 0.504291 vt 0.616375 0.598432 @@ -2613,9 +1331,7 @@ vt 0.539062 0.646484 vt 0.171687 0.514343 vt 0.171687 0.453404 vt 0.595297 0.514343 -vt 0.595297 0.453404 vt 0.404703 0.514343 -vt 0.404703 0.453404 vt 0.828313 0.514343 vt 0.828313 0.453404 vt 0.468751 0.595297 @@ -2627,9 +1343,7 @@ vt 0.468751 0.404703 vt 0.537501 0.828313 vt 0.537501 0.404703 vt 0.462499 0.514343 -vt 0.462499 0.453404 vt 0.531249 0.514343 -vt 0.531249 0.453404 vt 0.115577 0.764836 vt 0.115577 0.643743 vt 0.146827 0.764836 @@ -2814,8 +1528,6 @@ vt 0.773204 0.798828 vt 0.773204 0.765626 vt 0.835704 0.798828 vt 0.835704 0.765626 -vt 0.460938 0.226796 -vt 0.460938 0.164296 vt 0.476562 0.226796 vt 0.476562 0.164296 vt 0.460938 0.798828 @@ -2827,23 +1539,15 @@ vt 0.523438 0.765626 vt 0.539062 0.798828 vt 0.539062 0.765626 vt 0.164296 0.800782 -vt 0.164296 0.767578 vt 0.226796 0.800782 -vt 0.226796 0.767578 vt 0.773204 0.800782 -vt 0.773204 0.767578 vt 0.835704 0.800782 -vt 0.835704 0.767578 vt 0.535156 0.226796 vt 0.535156 0.164296 -vt 0.546875 0.226796 -vt 0.546875 0.164296 vt 0.535156 0.800782 vt 0.535156 0.767578 vt 0.546875 0.800782 -vt 0.546875 0.767578 vt 0.453125 0.800782 -vt 0.453125 0.767578 vt 0.464844 0.800782 vt 0.464844 0.767578 vt 0.401391 0.545360 @@ -2951,9 +1655,7 @@ vt 0.472658 0.087111 vt 0.533595 0.166971 vt 0.533595 0.087111 vt 0.472658 0.912890 -vt 0.472658 0.833030 vt 0.533595 0.912890 -vt 0.533595 0.833030 vt 0.110501 0.463387 vt 0.110501 0.321028 vt 0.141751 0.463387 @@ -2963,13 +1665,9 @@ vt 0.858249 0.321028 vt 0.889499 0.463387 vt 0.889499 0.321028 vt 0.472658 0.463387 -vt 0.472658 0.321028 vt 0.533595 0.463387 -vt 0.533595 0.321028 vt 0.466405 0.463387 -vt 0.466405 0.321028 vt 0.527342 0.463387 -vt 0.527342 0.321028 vt 0.215787 0.468493 vt 0.215787 0.388634 vt 0.262662 0.468493 @@ -3022,651 +1720,1697 @@ vt 0.466405 0.406572 vt 0.466405 0.357963 vt 0.527342 0.406572 vt 0.527342 0.357963 -vn 1.0000 0.0000 0.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 1.0000 0.0000 +vt 0.035439 0.644131 +vt 0.035439 0.569912 +vt 0.097939 0.644131 +vt 0.097939 0.569912 +vt 0.902061 0.644131 +vt 0.902061 0.569912 +vt 0.964561 0.644131 +vt 0.964561 0.569912 +vt 0.484375 0.097939 +vt 0.484375 0.035439 +vt 0.523438 0.097939 +vt 0.523438 0.035439 +vt 0.484375 0.644131 +vt 0.484375 0.569912 +vt 0.523438 0.644131 +vt 0.523438 0.569912 +vt 0.476562 0.644131 +vt 0.476562 0.569912 +vt 0.515625 0.644131 +vt 0.515625 0.569912 +s 0 +f 1/1/1 2/2/1 3/3/1 +f 2/2/1 4/4/1 3/3/1 +f 5/5/2 6/6/2 7/7/2 +f 6/6/2 8/8/2 7/7/2 +f 8/9/3 6/10/3 2/11/3 +f 6/10/3 4/12/3 2/11/3 +f 3/13/4 4/14/4 5/15/4 +f 4/14/4 6/16/4 5/15/4 +f 9/17/1 10/18/1 11/19/1 +f 10/18/1 12/20/1 11/19/1 +f 13/21/2 14/22/2 15/23/2 +f 14/22/2 16/24/2 15/23/2 +f 13/25/5 15/26/5 11/27/5 +f 15/26/5 9/28/5 11/27/5 +f 16/9/3 14/10/3 10/11/3 +f 14/10/3 12/12/3 10/11/3 +f 11/29/4 12/30/4 13/31/4 +f 12/30/4 14/32/4 13/31/4 +f 17/33/6 18/34/6 19/35/6 +f 18/34/6 20/36/6 19/35/6 +f 21/37/7 22/38/7 23/39/7 +f 22/38/7 24/40/7 23/39/7 +f 23/41/8 24/42/8 17/43/8 +f 24/42/8 18/44/8 17/43/8 +f 19/45/4 20/46/4 21/47/4 +f 20/46/4 22/48/4 21/47/4 +f 25/49/6 26/50/6 27/51/6 +f 26/50/6 28/52/6 27/51/6 +f 29/53/7 30/54/7 31/55/7 +f 30/54/7 32/56/7 31/55/7 +f 31/57/8 32/58/8 25/59/8 +f 32/58/8 26/60/8 25/59/8 +f 27/61/4 28/62/4 29/63/4 +f 28/62/4 30/64/4 29/63/4 +f 33/65/1 34/66/1 35/67/1 +f 34/66/1 36/68/1 35/67/1 +f 37/69/2 38/70/2 39/71/2 +f 38/70/2 40/72/2 39/71/2 +f 37/73/5 39/74/5 35/75/5 +f 39/74/5 33/76/5 35/75/5 +f 40/77/3 38/78/3 34/79/3 +f 38/78/3 36/80/3 34/79/3 +f 39/81/8 40/82/8 33/83/8 +f 40/82/8 34/84/8 33/83/8 +f 35/85/4 36/86/4 37/87/4 +f 36/86/4 38/88/4 37/87/4 +f 41/65/1 42/66/1 43/67/1 +f 42/66/1 44/68/1 43/67/1 +f 45/69/2 46/70/2 47/71/2 +f 46/70/2 48/72/2 47/71/2 +f 45/89/5 47/90/5 43/91/5 +f 47/90/5 41/92/5 43/91/5 +f 48/93/3 46/94/3 42/95/3 +f 46/94/3 44/96/3 42/95/3 +f 43/97/4 44/98/4 45/99/4 +f 44/98/4 46/100/4 45/99/4 +f 49/101/9 50/18/9 51/102/9 +f 50/18/9 52/20/9 51/102/9 +f 53/103/10 54/22/10 55/104/10 +f 54/22/10 56/24/10 55/104/10 +f 55/105/8 56/106/8 49/107/8 +f 56/106/8 50/108/8 49/107/8 +f 51/109/4 52/110/4 53/111/4 +f 52/110/4 54/32/4 53/111/4 +f 57/112/9 58/113/9 59/114/9 +f 58/113/9 60/115/9 59/114/9 +f 61/116/10 62/117/10 63/118/10 +f 62/117/10 64/119/10 63/118/10 +f 63/120/8 64/121/8 57/122/8 +f 64/121/8 58/123/8 57/122/8 +f 59/124/4 60/125/4 61/126/4 +f 60/125/4 62/127/4 61/126/4 +f 65/128/1 66/1/1 67/129/1 +f 66/1/1 68/3/1 67/129/1 +f 69/130/2 70/5/2 71/131/2 +f 70/5/2 72/7/2 71/131/2 +f 69/25/5 71/26/5 67/27/5 +f 71/26/5 65/28/5 67/27/5 +f 67/132/4 68/13/4 69/133/4 +f 68/13/4 70/15/4 69/133/4 +f 73/134/1 74/128/1 75/135/1 +f 74/128/1 76/129/1 75/135/1 +f 77/136/2 78/130/2 79/137/2 +f 78/130/2 80/131/2 79/137/2 +f 77/138/5 79/139/5 75/140/5 +f 79/139/5 73/141/5 75/140/5 +f 75/142/4 76/143/4 77/144/4 +f 76/143/4 78/145/4 77/144/4 +f 81/146/1 82/147/1 83/148/1 +f 82/147/1 84/149/1 83/148/1 +f 85/150/2 86/151/2 87/152/2 +f 86/151/2 88/153/2 87/152/2 +f 85/138/5 87/139/5 83/140/5 +f 87/139/5 81/141/5 83/140/5 +f 88/154/3 86/155/3 82/156/3 +f 86/155/3 84/157/3 82/156/3 +f 83/158/4 84/159/4 85/160/4 +f 84/159/4 86/161/4 85/160/4 +f 89/162/1 90/163/1 91/164/1 +f 90/163/1 92/165/1 91/164/1 +f 93/166/2 94/167/2 95/168/2 +f 94/167/2 96/169/2 95/168/2 +f 95/170/8 96/171/8 89/172/8 +f 96/171/8 90/173/8 89/172/8 +f 91/159/4 92/142/4 93/161/4 +f 92/142/4 94/144/4 93/161/4 +f 97/174/1 98/175/1 99/176/1 +f 98/175/1 100/177/1 99/176/1 +f 101/178/2 102/179/2 103/180/2 +f 102/179/2 104/181/2 103/180/2 +f 103/170/8 104/171/8 97/172/8 +f 104/171/8 98/173/8 97/172/8 +f 99/159/4 100/142/4 101/161/4 +f 100/142/4 102/144/4 101/161/4 +f 105/182/1 106/183/1 107/184/1 +f 106/183/1 108/185/1 107/184/1 +f 109/186/2 110/187/2 111/188/2 +f 110/187/2 112/189/2 111/188/2 +f 111/170/8 112/171/8 105/172/8 +f 112/171/8 106/173/8 105/172/8 +f 107/159/4 108/142/4 109/161/4 +f 108/142/4 110/144/4 109/161/4 +f 113/190/1 114/191/1 115/192/1 +f 114/191/1 116/193/1 115/192/1 +f 117/194/2 118/195/2 119/196/2 +f 118/195/2 120/197/2 119/196/2 +f 115/159/4 116/142/4 117/161/4 +f 116/142/4 118/144/4 117/161/4 +f 121/198/11 122/199/11 123/200/11 +f 122/199/11 124/201/11 123/200/11 +f 125/202/12 126/203/12 123/204/12 +f 126/203/12 121/205/12 123/204/12 +f 123/206/4 124/207/4 125/208/4 +f 124/207/4 127/209/4 125/208/4 +f 128/210/13 129/211/13 130/212/13 +f 129/211/13 131/213/13 130/212/13 +f 128/214/14 130/215/14 132/216/14 +f 130/215/14 133/217/14 132/216/14 +f 132/218/4 134/219/4 128/220/4 +f 134/219/4 129/221/4 128/220/4 +f 135/222/1 136/223/1 137/224/1 +f 136/223/1 138/164/1 137/224/1 +f 139/225/2 140/166/2 141/226/2 +f 140/166/2 142/227/2 141/226/2 +f 139/228/5 141/229/5 137/230/5 +f 141/229/5 135/231/5 137/230/5 +f 137/232/4 138/233/4 139/234/4 +f 138/233/4 140/235/4 139/234/4 +f 143/236/1 144/237/1 145/238/1 +f 144/237/1 146/239/1 145/238/1 +f 147/240/2 148/241/2 149/242/2 +f 148/241/2 150/243/2 149/242/2 +f 147/244/15 149/245/15 145/246/15 +f 149/245/15 143/247/15 145/246/15 +f 151/248/1 152/249/1 153/250/1 +f 152/249/1 154/251/1 153/250/1 +f 155/252/2 156/253/2 157/254/2 +f 156/253/2 158/255/2 157/254/2 +f 159/256/1 160/257/1 161/258/1 +f 160/257/1 162/259/1 161/258/1 +f 163/260/2 164/261/2 165/262/2 +f 164/261/2 166/263/2 165/262/2 +f 167/18/1 168/264/1 169/20/1 +f 168/264/1 170/265/1 169/20/1 +f 171/22/2 172/266/2 173/24/2 +f 172/266/2 174/267/2 173/24/2 +f 169/268/4 170/269/4 171/108/4 +f 170/269/4 172/270/4 171/108/4 +f 175/271/1 176/272/1 177/273/1 +f 176/272/1 178/274/1 177/273/1 +f 179/275/2 180/276/2 181/277/2 +f 180/276/2 182/278/2 181/277/2 +f 182/279/3 180/280/3 176/281/3 +f 180/280/3 178/282/3 176/281/3 +f 177/283/4 178/284/4 179/285/4 +f 178/284/4 180/286/4 179/285/4 +f 183/287/6 184/288/6 185/289/6 +f 184/288/6 186/290/6 185/289/6 +f 187/291/7 188/292/7 189/293/7 +f 188/292/7 190/294/7 189/293/7 +f 187/295/16 189/296/16 185/297/16 +f 189/296/9 183/298/9 185/297/9 +f 190/299/10 188/300/10 184/301/10 +f 188/300/10 186/302/10 184/301/10 +f 189/303/8 190/304/8 183/305/8 +f 190/304/8 184/306/8 183/305/8 +f 185/307/4 186/308/4 187/309/4 +f 186/308/4 188/310/4 187/309/4 +f 191/311/2 192/292/2 193/312/2 +f 192/292/2 194/294/2 193/312/2 +f 191/295/5 193/296/5 195/313/5 +f 193/296/5 196/314/5 195/313/5 +f 194/299/3 192/300/3 197/315/3 +f 192/300/3 198/316/3 197/315/3 +f 195/317/4 198/318/4 191/319/4 +f 198/318/4 192/310/4 191/319/4 +f 199/320/7 200/311/7 201/321/7 +f 200/311/7 202/312/7 201/321/7 +f 203/322/4 204/323/4 199/324/4 +f 204/323/4 200/325/4 199/324/4 +f 205/326/1 206/288/1 207/327/1 +f 206/288/1 208/290/1 207/327/1 +f 209/328/5 210/329/5 207/330/5 +f 210/329/5 205/331/5 207/330/5 +f 211/332/3 212/333/3 206/334/3 +f 212/333/3 208/335/3 206/334/3 +f 207/336/4 208/337/4 209/338/4 +f 208/337/4 212/339/4 209/338/4 +f 213/340/6 214/341/6 215/342/6 +f 214/341/6 216/343/6 215/342/6 +f 217/344/7 218/345/7 219/346/7 +f 218/345/7 220/347/7 219/346/7 +f 217/348/9 219/349/9 215/350/9 +f 219/349/9 213/351/9 215/350/9 +f 220/352/10 218/353/10 214/354/10 +f 218/353/10 216/355/10 214/354/10 +f 219/356/8 220/357/8 213/358/8 +f 220/357/8 214/359/8 213/358/8 +f 215/360/4 216/361/4 217/362/4 +f 216/361/4 218/363/4 217/362/4 +f 221/364/9 222/365/9 223/366/9 +f 222/365/9 224/367/9 223/366/9 +f 223/368/4 225/369/4 221/370/4 +f 225/369/4 226/371/4 221/370/4 +f 227/372/1 228/373/1 229/374/1 +f 228/373/1 230/375/1 229/374/1 +f 231/376/2 232/377/2 233/378/2 +f 232/377/2 234/379/2 233/378/2 +f 231/380/5 233/381/5 229/382/5 +f 233/381/5 227/383/5 229/382/5 +f 233/384/8 234/385/8 227/386/8 +f 234/385/8 228/387/8 227/386/8 +f 235/388/7 236/389/7 237/390/7 +f 236/389/7 238/391/7 237/390/7 +f 238/392/10 236/393/10 239/394/10 +f 236/393/10 240/395/10 239/394/10 +f 237/396/8 238/397/8 241/398/8 +f 238/397/8 239/399/8 241/398/8 +f 242/400/4 240/401/4 235/402/4 +f 240/401/4 236/403/4 235/402/4 +f 243/404/2 244/405/2 245/406/2 +f 244/405/2 246/407/2 245/406/2 +f 243/408/5 245/409/5 247/410/5 +f 245/409/5 248/411/5 247/410/5 +f 246/412/3 244/413/3 249/414/3 +f 244/413/3 250/415/3 249/414/3 +f 245/416/8 246/417/8 248/418/8 +f 246/417/8 249/419/8 248/418/8 +f 247/420/4 250/421/4 243/422/4 +f 250/421/4 244/423/4 243/422/4 +f 251/424/7 252/425/7 253/426/7 +f 252/425/7 254/427/7 253/426/7 +f 251/408/9 253/409/9 255/428/9 +f 253/409/9 256/429/9 255/428/9 +f 253/430/8 254/431/8 256/432/8 +f 254/431/8 257/433/8 256/432/8 +f 255/434/4 258/435/4 251/436/4 +f 258/435/4 252/437/4 251/436/4 +f 259/438/1 260/439/1 261/440/1 +f 260/439/1 262/441/1 261/440/1 +f 263/442/5 264/443/5 261/444/5 +f 264/443/5 259/445/5 261/444/5 +f 265/446/3 266/447/3 260/448/3 +f 266/447/3 262/449/3 260/448/3 +f 264/450/8 265/451/8 259/452/8 +f 265/451/8 260/453/8 259/452/8 +f 261/454/4 262/455/4 263/456/4 +f 262/455/4 266/457/4 263/456/4 +f 267/458/6 268/459/6 269/460/6 +f 268/459/6 270/461/6 269/460/6 +f 271/462/9 272/463/9 269/464/9 +f 272/463/9 267/465/9 269/464/9 +f 272/466/8 273/467/8 267/468/8 +f 273/467/8 268/469/8 267/468/8 +f 269/470/4 270/471/4 271/472/4 +f 270/471/4 274/473/4 271/472/4 +f 275/474/7 276/475/7 277/476/7 +f 276/475/7 278/477/7 277/476/7 +f 275/478/9 277/479/9 279/480/9 +f 277/479/9 280/481/9 279/480/9 +f 277/482/8 278/483/8 280/484/8 +f 278/483/8 281/485/8 280/484/8 +f 279/486/4 282/487/4 275/488/4 +f 282/487/4 276/489/4 275/488/4 +f 283/490/1 284/491/1 285/492/1 +f 284/491/1 286/493/1 285/492/1 +f 287/494/2 288/495/2 289/496/2 +f 288/495/2 290/497/2 289/496/2 +f 287/498/5 289/499/5 285/500/5 +f 289/499/5 283/501/5 285/500/5 +f 289/502/8 290/503/8 283/504/8 +f 290/503/8 284/505/8 283/504/8 +f 285/506/4 286/507/4 287/508/4 +f 286/507/4 288/509/4 287/508/4 +f 291/510/9 292/511/9 293/512/9 +f 292/511/9 294/513/9 293/512/9 +f 295/514/10 296/515/10 297/516/10 +f 296/515/10 298/517/10 297/516/10 +f 298/518/6 296/519/6 292/520/6 +f 296/519/6 294/521/6 292/520/6 +f 297/522/8 298/523/8 291/524/8 +f 298/523/8 292/525/8 291/524/8 +f 293/526/4 294/527/4 295/528/4 +f 294/527/4 296/529/4 295/528/4 +f 299/530/1 300/531/1 301/532/1 +f 300/531/1 302/533/1 301/532/1 +f 303/534/2 304/535/2 305/536/2 +f 304/535/2 306/537/2 305/536/2 +f 303/538/5 305/539/5 301/540/5 +f 305/539/5 299/541/5 301/540/5 +f 306/542/3 304/543/3 300/544/3 +f 304/543/3 302/545/3 300/544/3 +f 305/546/8 306/547/8 299/548/8 +f 306/547/8 300/549/8 299/548/8 +f 301/550/4 302/551/4 303/552/4 +f 302/551/4 304/553/4 303/552/4 +f 307/530/1 308/531/1 309/532/1 +f 308/531/1 310/533/1 309/532/1 +f 311/534/2 312/535/2 313/536/2 +f 312/535/2 314/537/2 313/536/2 +f 311/554/5 313/555/5 309/556/5 +f 313/555/5 307/557/5 309/556/5 +f 314/558/3 312/559/3 308/560/3 +f 312/559/3 310/561/3 308/560/3 +f 313/562/8 314/563/8 307/564/8 +f 314/563/8 308/565/8 307/564/8 +f 309/566/4 310/567/4 311/568/4 +f 310/567/4 312/569/4 311/568/4 +f 315/570/7 316/571/7 317/572/7 +f 316/571/7 318/573/7 317/572/7 +f 317/574/8 318/575/8 319/576/8 +f 318/575/8 320/577/8 319/576/8 +f 321/578/4 322/579/4 315/580/4 +f 322/579/4 316/581/4 315/580/4 +f 323/582/6 324/583/6 325/584/6 +f 324/583/6 326/585/6 325/584/6 +f 327/586/7 328/587/7 329/588/7 +f 328/587/7 330/589/7 329/588/7 +f 330/590/10 328/591/10 324/592/10 +f 328/591/10 326/593/10 324/592/10 +f 329/594/8 330/595/8 323/596/8 +f 330/595/8 324/597/8 323/596/8 +f 325/598/4 326/599/4 327/600/4 +f 326/599/4 328/601/4 327/600/4 +f 331/602/9 332/603/9 333/604/9 +f 332/603/9 334/605/9 333/604/9 +f 335/606/8 336/607/8 331/608/8 +f 336/607/8 332/609/8 331/608/8 +f 333/610/4 334/611/4 337/612/4 +f 334/611/4 338/613/4 337/612/4 +f 339/614/1 340/615/1 341/490/1 +f 340/615/1 342/616/1 341/490/1 +f 343/496/2 344/617/2 345/618/2 +f 344/617/2 346/619/2 345/618/2 +f 343/620/5 345/621/5 341/622/5 +f 345/621/5 339/623/5 341/622/5 +f 346/624/3 344/625/3 340/626/3 +f 344/625/3 342/627/3 340/626/3 +f 345/628/8 346/629/8 339/630/8 +f 346/629/8 340/631/8 339/630/8 +f 341/632/4 342/633/4 343/634/4 +f 342/633/4 344/635/4 343/634/4 +f 347/636/1 348/637/1 349/638/1 +f 348/637/1 350/639/1 349/638/1 +f 351/640/2 352/641/2 353/642/2 +f 352/641/2 354/643/2 353/642/2 +f 351/621/5 353/644/5 349/623/5 +f 353/644/5 347/645/5 349/623/5 +f 354/646/3 352/624/3 348/647/3 +f 352/624/3 350/626/3 348/647/3 +f 353/648/8 354/649/8 347/650/8 +f 354/649/8 348/651/8 347/650/8 +f 349/652/4 350/653/4 351/654/4 +f 350/653/4 352/655/4 351/654/4 +f 355/656/1 356/614/1 357/657/1 +f 356/614/1 358/658/1 357/657/1 +f 359/659/2 360/660/2 361/661/2 +f 360/660/2 362/618/2 361/661/2 +f 359/662/5 361/621/5 357/663/5 +f 361/621/5 355/623/5 357/663/5 +f 361/664/8 362/628/8 355/665/8 +f 362/628/8 356/630/8 355/665/8 +f 357/666/4 358/632/4 359/667/4 +f 358/632/4 360/634/4 359/667/4 +f 363/668/1 364/669/1 365/670/1 +f 364/669/1 366/671/1 365/670/1 +f 367/672/2 368/673/2 369/674/2 +f 368/673/2 370/675/2 369/674/2 +f 367/676/5 369/677/5 365/678/5 +f 369/677/5 363/679/5 365/678/5 +f 370/680/3 368/681/3 364/682/3 +f 368/681/3 366/683/3 364/682/3 +f 369/684/8 370/685/8 363/686/8 +f 370/685/8 364/687/8 363/686/8 +f 365/688/4 366/689/4 367/690/4 +f 366/689/4 368/691/4 367/690/4 +f 371/692/1 372/693/1 373/694/1 +f 372/693/1 374/695/1 373/694/1 +f 375/696/2 376/697/2 377/698/2 +f 376/697/2 378/699/2 377/698/2 +f 377/700/17 378/701/17 371/702/17 +f 378/701/17 372/703/17 371/702/17 +f 373/704/18 374/705/18 375/706/18 +f 374/705/18 376/707/18 375/706/18 +f 379/708/1 380/709/1 381/710/1 +f 380/709/1 382/711/1 381/710/1 +f 383/712/2 384/713/2 385/714/2 +f 384/713/2 386/715/2 385/714/2 +f 383/716/5 385/717/5 381/718/5 +f 385/717/5 379/719/5 381/718/5 +f 386/720/3 384/721/3 380/722/3 +f 384/721/3 382/723/3 380/722/3 +f 385/724/8 386/725/8 379/726/8 +f 386/725/8 380/727/8 379/726/8 +f 381/728/4 382/729/4 383/730/4 +f 382/729/4 384/731/4 383/730/4 +f 387/732/1 388/733/1 389/734/1 +f 388/733/1 390/695/1 389/734/1 +f 391/735/2 392/697/2 393/736/2 +f 392/697/2 394/737/2 393/736/2 +f 391/738/5 393/739/5 389/740/5 +f 393/739/5 387/741/5 389/740/5 +f 394/742/3 392/743/3 388/744/3 +f 392/743/3 390/745/3 388/744/3 +f 389/746/4 390/705/4 391/747/4 +f 390/705/4 392/707/4 391/747/4 +f 395/748/1 396/749/1 397/750/1 +f 396/749/1 398/751/1 397/750/1 +f 399/752/2 400/753/2 401/754/2 +f 400/753/2 402/755/2 401/754/2 +f 402/756/19 400/757/19 396/758/19 +f 400/757/19 398/759/19 396/758/19 +f 401/760/17 402/761/17 395/762/17 +f 402/761/17 396/763/17 395/762/17 +f 397/764/18 398/765/18 399/766/18 +f 398/765/18 400/767/18 399/766/18 +f 403/768/1 404/769/1 405/770/1 +f 404/769/1 406/771/1 405/770/1 +f 407/772/2 408/773/2 409/774/2 +f 408/773/2 410/775/2 409/774/2 +f 407/776/20 409/777/20 405/778/20 +f 409/777/20 403/779/20 405/778/20 +f 410/780/21 408/781/21 404/782/21 +f 408/781/21 406/783/21 404/782/21 +f 409/784/22 410/785/22 403/786/22 +f 410/785/22 404/787/22 403/786/22 +f 405/788/23 406/789/23 407/790/23 +f 406/789/23 408/791/23 407/790/23 +f 411/792/1 412/793/1 413/794/1 +f 412/793/1 414/795/1 413/794/1 +f 415/796/2 416/797/2 417/798/2 +f 416/797/2 418/799/2 417/798/2 +f 415/800/5 417/801/5 413/802/5 +f 417/801/5 411/803/5 413/802/5 +f 418/804/3 416/805/3 412/806/3 +f 416/805/3 414/807/3 412/806/3 +f 413/808/4 414/809/4 415/810/4 +f 414/809/4 416/811/4 415/810/4 +f 419/812/1 420/813/1 421/814/1 +f 420/813/1 422/815/1 421/814/1 +f 423/816/2 424/817/2 425/818/2 +f 424/817/2 426/819/2 425/818/2 +f 423/820/15 425/821/15 421/822/15 +f 425/821/15 419/823/15 421/822/15 +f 426/824/24 424/825/24 420/826/24 +f 424/825/24 422/827/24 420/826/24 +f 425/828/25 426/829/25 419/830/25 +f 426/829/25 420/831/25 419/830/25 +f 421/832/26 422/833/26 423/834/26 +f 422/833/26 424/835/26 423/834/26 +f 427/836/1 428/837/1 429/838/1 +f 428/837/1 430/839/1 429/838/1 +f 431/840/2 432/841/2 433/842/2 +f 432/841/2 434/843/2 433/842/2 +f 431/844/5 433/845/5 429/846/5 +f 433/845/5 427/847/5 429/846/5 +f 434/848/3 432/849/3 428/850/3 +f 432/849/3 430/851/3 428/850/3 +f 433/852/8 434/853/8 427/854/8 +f 434/853/8 428/855/8 427/854/8 +f 429/856/4 430/857/4 431/858/4 +f 430/857/4 432/859/4 431/858/4 +f 435/860/1 436/861/1 437/862/1 +f 436/861/1 438/863/1 437/862/1 +f 439/864/2 440/865/2 441/866/2 +f 440/865/2 442/867/2 441/866/2 +f 439/868/5 441/869/5 437/870/5 +f 441/869/5 435/871/5 437/870/5 +f 442/872/3 440/873/3 436/874/3 +f 440/873/3 438/875/3 436/874/3 +f 441/876/8 442/877/8 435/878/8 +f 442/877/8 436/879/8 435/878/8 +f 437/880/4 438/881/4 439/882/4 +f 438/881/4 440/883/4 439/882/4 +f 443/884/1 444/885/1 445/886/1 +f 444/885/1 446/887/1 445/886/1 +f 447/888/2 448/889/2 449/890/2 +f 448/889/2 450/891/2 449/890/2 +f 447/892/5 449/893/5 445/894/5 +f 449/893/5 443/895/5 445/894/5 +f 450/896/3 448/897/3 444/898/3 +f 448/897/3 446/899/3 444/898/3 +f 449/900/8 450/901/8 443/902/8 +f 450/901/8 444/903/8 443/902/8 +f 451/904/1 452/905/1 453/906/1 +f 452/905/1 454/907/1 453/906/1 +f 455/908/2 456/909/2 457/910/2 +f 456/909/2 458/911/2 457/910/2 +f 458/912/23 456/913/23 452/914/23 +f 456/913/23 454/915/23 452/914/23 +f 457/916/21 458/917/21 451/918/21 +f 458/917/21 452/919/21 451/918/21 +f 453/920/20 454/921/20 455/922/20 +f 454/921/20 456/923/20 455/922/20 +f 459/924/1 460/925/1 461/926/1 +f 460/925/1 462/927/1 461/926/1 +f 463/928/2 464/929/2 465/930/2 +f 464/929/2 466/931/2 465/930/2 +f 463/621/5 465/644/5 461/932/5 +f 465/644/5 459/933/5 461/932/5 +f 465/934/8 466/935/8 459/936/8 +f 466/935/8 460/937/8 459/936/8 +f 461/938/4 462/939/4 463/940/4 +f 462/939/4 464/941/4 463/940/4 +f 467/942/1 468/636/1 469/943/1 +f 468/636/1 470/638/1 469/943/1 +f 471/944/2 472/640/2 473/945/2 +f 472/640/2 474/642/2 473/945/2 +f 471/946/5 473/947/5 469/623/5 +f 473/947/5 467/645/5 469/623/5 +f 473/948/8 474/949/8 467/950/8 +f 474/949/8 468/650/8 467/950/8 +f 469/951/4 470/652/4 471/952/4 +f 470/652/4 472/953/4 471/952/4 +f 475/954/1 476/955/1 477/956/1 +f 476/955/1 478/957/1 477/956/1 +f 479/958/2 480/959/2 481/960/2 +f 480/959/2 482/961/2 481/960/2 +f 479/962/15 481/963/15 477/964/15 +f 481/963/15 475/965/15 477/964/15 +f 482/966/24 480/967/24 476/968/24 +f 480/967/24 478/969/24 476/968/24 +f 481/970/25 482/971/25 475/972/25 +f 482/971/25 476/973/25 475/972/25 +f 483/974/1 484/975/1 485/976/1 +f 484/975/1 486/977/1 485/976/1 +f 487/978/2 488/979/2 489/980/2 +f 488/979/2 490/981/2 489/980/2 +f 490/982/21 488/983/21 484/984/21 +f 488/983/21 486/985/21 484/984/21 +f 491/986/1 492/987/1 493/988/1 +f 492/987/1 494/989/1 493/988/1 +f 495/990/2 496/991/2 497/992/2 +f 496/991/2 498/993/2 497/992/2 +f 493/994/18 494/995/18 495/996/18 +f 494/995/18 496/997/18 495/996/18 +f 499/998/1 500/999/1 501/1000/1 +f 500/999/1 502/1001/1 501/1000/1 +f 503/1002/2 504/1003/2 505/1004/2 +f 504/1003/2 506/1005/2 505/1004/2 +f 505/1006/8 506/1007/8 499/1008/8 +f 506/1007/8 500/1009/8 499/1008/8 +f 501/1010/4 502/1011/4 503/1012/4 +f 502/1011/4 504/1013/4 503/1012/4 +f 507/1014/1 508/1015/1 509/1016/1 +f 508/1015/1 510/1017/1 509/1016/1 +f 511/1018/2 512/1019/2 513/1020/2 +f 512/1019/2 514/1021/2 513/1020/2 +f 511/1022/22 513/1023/22 509/1024/22 +f 513/1023/22 507/1025/22 509/1024/22 +f 514/1026/23 512/1027/23 508/1028/23 +f 512/1027/23 510/1029/23 508/1028/23 +f 515/1030/1 516/1031/1 517/1032/1 +f 516/1031/1 518/1033/1 517/1032/1 +f 519/1034/2 520/1035/2 521/1036/2 +f 520/1035/2 522/1037/2 521/1036/2 +f 519/1038/5 521/1039/5 517/1040/5 +f 521/1039/5 515/1041/5 517/1040/5 +f 522/1042/3 520/1043/3 516/1044/3 +f 520/1043/3 518/1045/3 516/1044/3 +f 523/1046/1 524/1047/1 525/1048/1 +f 524/1047/1 526/1049/1 525/1048/1 +f 527/1050/2 528/1051/2 529/1052/2 +f 528/1051/2 530/1053/2 529/1052/2 +f 527/1054/20 529/1055/20 525/1056/20 +f 529/1055/20 523/1057/20 525/1056/20 +f 530/1058/21 528/1042/21 524/1059/21 +f 528/1042/21 526/1044/21 524/1059/21 +f 531/1060/1 532/1061/1 533/1062/1 +f 532/1061/1 534/1063/1 533/1062/1 +f 535/1064/2 536/1065/2 537/1066/2 +f 536/1065/2 538/1067/2 537/1066/2 +f 537/1068/8 538/1007/8 531/1069/8 +f 538/1007/8 532/1009/8 531/1069/8 +f 533/1070/4 534/1011/4 535/1071/4 +f 534/1011/4 536/1013/4 535/1071/4 +f 539/1072/1 540/1073/1 541/1074/1 +f 540/1073/1 542/1075/1 541/1074/1 +f 543/1076/2 544/1077/2 545/1078/2 +f 544/1077/2 546/1079/2 545/1078/2 +f 545/1080/17 546/1081/17 539/1082/17 +f 546/1081/17 540/1083/17 539/1082/17 +f 541/1084/18 542/1085/18 543/1086/18 +f 542/1085/18 544/1087/18 543/1086/18 +f 547/1088/1 548/1089/1 549/1090/1 +f 548/1089/1 550/1091/1 549/1090/1 +f 551/1092/2 552/1093/2 553/1094/2 +f 552/1093/2 554/1095/2 553/1094/2 +f 551/1096/20 553/1097/20 549/1098/20 +f 553/1097/20 547/1099/20 549/1098/20 +f 554/1100/21 552/1101/21 548/1102/21 +f 552/1101/21 550/1103/21 548/1102/21 +f 549/1104/23 550/1105/23 551/1106/23 +f 550/1105/23 552/1107/23 551/1106/23 +f 555/1108/1 556/1109/1 557/1110/1 +f 556/1109/1 558/1111/1 557/1110/1 +f 559/1112/2 560/1113/2 561/1114/2 +f 560/1113/2 562/1115/2 561/1114/2 +f 561/1116/8 562/1117/8 555/1118/8 +f 562/1117/8 556/1119/8 555/1118/8 +f 557/1120/4 558/1121/4 559/1122/4 +f 558/1121/4 560/1123/4 559/1122/4 +f 563/1124/1 564/1125/1 565/1126/1 +f 564/1125/1 566/1127/1 565/1126/1 +f 567/1128/2 568/1129/2 569/1130/2 +f 568/1129/2 570/1131/2 569/1130/2 +f 567/1132/15 569/1133/15 565/1134/15 +f 569/1133/15 563/1135/15 565/1134/15 +f 569/1136/25 570/1137/25 563/1138/25 +f 570/1137/25 564/1139/25 563/1138/25 +f 565/1140/26 566/1141/26 567/1142/26 +f 566/1141/26 568/1143/26 567/1142/26 +o Cylinder +v 0.040155 0.134253 0.138325 +v -0.032489 0.061608 0.138325 +v 0.040155 0.134253 0.000825 +v -0.032489 0.061608 0.000825 +v 0.030419 0.143989 0.000825 +v -0.042225 0.071345 0.000825 +v 0.030419 0.143989 0.138325 +v -0.042225 0.071345 0.138325 +v 0.014778 0.156219 0.138325 +v 0.014778 0.053094 0.138325 +v 0.014778 0.156219 0.000825 +v 0.014778 0.053094 0.000825 +v -0.015300 0.156219 0.000825 +v -0.015300 0.053094 0.000825 +v -0.015300 0.156219 0.138325 +v -0.015300 0.053094 0.138325 +v 0.040951 0.136693 0.138325 +v 0.052051 0.109897 0.138325 +v 0.040951 0.136693 0.000825 +v 0.052051 0.109897 0.000825 +v -0.055316 0.096818 0.000825 +v -0.044217 0.070021 0.000825 +v -0.055316 0.096818 0.138325 +v -0.044217 0.070021 0.138325 +v 0.052632 0.096296 0.138325 +v 0.041944 0.070492 0.138325 +v 0.052632 0.096296 0.000825 +v 0.041944 0.070493 0.000825 +v -0.044628 0.136582 0.000825 +v -0.055316 0.110779 0.000825 +v -0.044628 0.136582 0.138325 +v -0.055316 0.110779 0.138325 +v 0.052103 0.110777 0.138325 +v 0.052103 0.096812 0.138325 +v 0.052103 0.110777 0.103950 +v 0.052103 0.096812 0.103950 +v -0.055319 0.110777 0.103950 +v -0.055319 0.096812 0.103950 +v -0.055319 0.110777 0.138325 +v -0.055319 0.096812 0.138325 +v 0.041306 0.136583 0.138325 +v 0.041306 0.069981 0.138325 +v 0.041306 0.136583 0.000825 +v 0.041306 0.069981 0.000825 +v -0.044631 0.136583 0.000825 +v -0.044631 0.069981 0.000825 +v -0.044631 0.136583 0.138325 +v -0.044631 0.069981 0.138325 +v -0.036145 0.147590 0.000825 +v -0.027101 0.125756 0.000825 +v -0.036145 0.147590 0.138325 +v -0.027101 0.125756 0.138325 +v -0.015304 0.156223 0.000825 +v -0.015304 0.156223 0.138325 +v -0.006260 0.134388 0.138325 +v -0.006260 0.134388 0.000825 +v 0.033630 0.148410 0.138325 +v 0.024586 0.126576 0.138325 +v 0.033630 0.148410 0.000825 +v 0.024586 0.126576 0.000825 +v 0.014774 0.156221 0.000825 +v 0.014774 0.156221 0.138325 +v 0.005730 0.134386 0.138325 +v 0.005730 0.134386 0.000825 +v 0.023594 0.082327 0.138325 +v 0.032639 0.060493 0.138325 +v 0.023594 0.082327 0.000825 +v 0.032639 0.060493 0.000825 +v 0.014774 0.053094 0.138325 +v 0.014774 0.053094 0.000825 +v 0.005730 0.074928 0.138325 +v 0.005730 0.074928 0.000825 +v -0.025114 0.082739 0.000825 +v -0.034158 0.060905 0.000825 +v -0.025114 0.082739 0.138325 +v -0.034158 0.060905 0.138325 +v -0.015301 0.053095 0.138325 +v -0.015301 0.053095 0.000825 +v -0.006257 0.074929 0.138325 +v -0.006257 0.074929 0.000825 +v 0.041811 0.073900 0.138325 +v 0.027931 0.060020 0.138325 +v 0.041811 0.073900 0.000825 +v 0.027931 0.060020 0.000825 +v -0.030834 0.146544 0.000825 +v -0.044713 0.132664 0.000825 +v -0.030834 0.146544 0.138325 +v -0.044713 0.132664 0.138325 vn 0.7071 -0.7071 -0.0000 -vn -0.7071 0.7071 0.0000 -vn 0.0000 0.0000 1.0000 -vn 0.7071 0.7071 0.0000 +vn -0.7071 0.7071 -0.0000 +vn 0.7071 0.7071 -0.0000 vn -0.7071 -0.7071 -0.0000 -vn 0.9239 0.3827 0.0000 -vn -0.3827 0.9239 0.0000 -vn -0.9239 0.3827 0.0000 -vn 0.3827 0.9239 0.0000 -vn 0.0000 0.9239 0.3827 -vn 0.0000 0.3827 0.9239 -vn 0.0000 -0.3827 -0.9239 -vn 0.0000 -0.9239 0.3827 -vn 0.0000 0.7071 -0.7071 -vn 0.0000 -0.7071 0.7071 -vn 0.0000 0.7071 0.7071 -vn 0.0000 -0.7071 -0.7071 -vn 0.0000 -0.9239 -0.3827 -vn 0.0000 -0.3827 0.9239 -vn 0.0000 0.3827 -0.9239 -s off -f 257/605/48 258/606/48 259/607/48 -f 258/606/48 260/608/48 259/607/48 -f 261/609/49 262/610/49 263/611/49 -f 262/610/49 264/612/49 263/611/49 -f 264/613/50 262/614/50 258/615/50 -f 262/614/50 260/616/50 258/615/50 -f 259/617/51 260/618/51 261/619/51 -f 260/618/51 262/620/51 261/619/51 -f 265/621/48 266/622/48 267/623/48 -f 266/622/48 268/624/48 267/623/48 -f 269/625/49 270/626/49 271/627/49 -f 270/626/49 272/628/49 271/627/49 -f 269/629/52 271/630/52 267/631/52 -f 271/630/52 265/632/52 267/631/52 -f 272/633/50 270/634/50 266/635/50 -f 270/634/50 268/636/50 266/635/50 -f 267/637/51 268/638/51 269/639/51 -f 268/638/51 270/640/51 269/639/51 -f 273/641/53 274/642/53 275/643/53 -f 274/642/53 276/644/53 275/643/53 -f 277/645/54 278/646/54 279/647/54 -f 278/646/54 280/648/54 279/647/54 -f 279/649/55 280/650/55 273/651/55 -f 280/650/55 274/652/55 273/651/55 -f 275/653/51 276/654/51 277/655/51 -f 276/654/51 278/656/51 277/655/51 -f 281/657/53 282/658/53 283/659/53 -f 282/658/53 284/660/53 283/659/53 -f 285/661/54 286/662/54 287/663/54 -f 286/662/54 288/664/54 287/663/54 -f 287/665/55 288/666/55 281/667/55 -f 288/666/55 282/668/55 281/667/55 -f 283/669/51 284/670/51 285/671/51 -f 284/670/51 286/672/51 285/671/51 -f 289/673/48 290/674/48 291/675/48 -f 290/674/48 292/676/48 291/675/48 -f 293/677/49 294/678/49 295/679/49 -f 294/678/49 296/680/49 295/679/49 -f 293/681/52 295/682/52 291/683/52 -f 295/682/52 289/684/52 291/683/52 -f 296/685/50 294/686/50 290/687/50 -f 294/686/50 292/688/50 290/687/50 -f 295/689/55 296/690/55 289/691/55 -f 296/690/55 290/692/55 289/691/55 -f 291/693/51 292/694/51 293/695/51 -f 292/694/51 294/696/51 293/695/51 -f 297/697/48 298/698/48 299/699/48 -f 298/698/48 300/700/48 299/699/48 -f 301/701/49 302/702/49 303/703/49 -f 302/702/49 304/704/49 303/703/49 -f 301/705/52 303/706/52 299/707/52 -f 303/706/52 297/708/52 299/707/52 -f 304/709/50 302/710/50 298/711/50 -f 302/710/50 300/712/50 298/711/50 -f 299/713/51 300/714/51 301/715/51 -f 300/714/51 302/716/51 301/715/51 -f 305/717/56 306/718/56 307/719/56 -f 306/718/56 308/720/56 307/719/56 -f 309/721/57 310/722/57 311/723/57 -f 310/722/57 312/724/57 311/723/57 -f 311/725/55 312/726/55 305/727/55 -f 312/726/55 306/728/55 305/727/55 -f 307/729/51 308/730/51 309/731/51 -f 308/730/51 310/732/51 309/731/51 -f 313/733/56 314/734/56 315/735/56 -f 314/734/56 316/736/56 315/735/56 -f 317/737/57 318/738/57 319/739/57 -f 318/738/57 320/740/57 319/739/57 -f 319/741/55 320/742/55 313/743/55 -f 320/742/55 314/744/55 313/743/55 -f 315/745/51 316/746/51 317/747/51 -f 316/746/51 318/748/51 317/747/51 -f 321/749/48 322/750/48 323/751/48 -f 322/750/48 324/752/48 323/751/48 -f 325/753/49 326/754/49 327/755/49 -f 326/754/49 328/756/49 327/755/49 -f 325/757/52 327/758/52 323/759/52 -f 327/758/52 321/760/52 323/759/52 -f 323/761/51 324/762/51 325/763/51 -f 324/762/51 326/764/51 325/763/51 -f 329/765/48 330/766/48 331/767/48 -f 330/766/48 332/768/48 331/767/48 -f 333/769/49 334/770/49 335/771/49 -f 334/770/49 336/772/49 335/771/49 -f 333/773/52 335/774/52 331/775/52 -f 335/774/52 329/776/52 331/775/52 -f 331/777/51 332/778/51 333/779/51 -f 332/778/51 334/780/51 333/779/51 -f 337/781/48 338/782/48 339/783/48 -f 338/782/48 340/784/48 339/783/48 -f 341/785/49 342/786/49 343/787/49 -f 342/786/49 344/788/49 343/787/49 -f 341/789/52 343/790/52 339/791/52 -f 343/790/52 337/792/52 339/791/52 -f 344/793/50 342/794/50 338/795/50 -f 342/794/50 340/796/50 338/795/50 -f 339/797/51 340/798/51 341/799/51 -f 340/798/51 342/800/51 341/799/51 -f 345/801/48 346/802/48 347/803/48 -f 346/802/48 348/804/48 347/803/48 -f 349/805/49 350/806/49 351/807/49 -f 350/806/49 352/808/49 351/807/49 -f 351/809/55 352/810/55 345/811/55 -f 352/810/55 346/812/55 345/811/55 -f 347/813/51 348/814/51 349/815/51 -f 348/814/51 350/816/51 349/815/51 -f 353/817/48 354/818/48 355/819/48 -f 354/818/48 356/820/48 355/819/48 -f 357/821/49 358/822/49 359/823/49 -f 358/822/49 360/824/49 359/823/49 -f 359/825/55 360/826/55 353/827/55 -f 360/826/55 354/828/55 353/827/55 -f 355/829/51 356/830/51 357/831/51 -f 356/830/51 358/832/51 357/831/51 -f 361/833/48 362/834/48 363/835/48 -f 362/834/48 364/836/48 363/835/48 -f 365/837/49 366/838/49 367/839/49 -f 366/838/49 368/840/49 367/839/49 -f 367/841/55 368/842/55 361/843/55 -f 368/842/55 362/844/55 361/843/55 -f 363/845/51 364/846/51 365/847/51 -f 364/846/51 366/848/51 365/847/51 -f 369/849/48 370/850/48 371/851/48 -f 370/850/48 372/852/48 371/851/48 -f 373/853/49 374/854/49 375/855/49 -f 374/854/49 376/856/49 375/855/49 -f 371/857/51 372/858/51 373/859/51 -f 372/858/51 374/860/51 373/859/51 -f 377/861/58 378/862/58 379/863/58 -f 378/862/58 380/864/58 379/863/58 -f 381/865/59 382/866/59 379/867/59 -f 382/866/59 377/868/59 379/867/59 -f 379/869/51 380/870/51 381/871/51 -f 380/870/51 383/872/51 381/871/51 -f 384/873/60 385/874/60 386/875/60 -f 385/874/60 387/876/60 386/875/60 -f 384/877/61 386/878/61 388/879/61 -f 386/878/61 389/880/61 388/879/61 -f 388/881/51 390/882/51 384/883/51 -f 390/882/51 385/884/51 384/883/51 -f 391/885/48 392/886/48 393/887/48 -f 392/886/48 394/888/48 393/887/48 -f 395/889/49 396/890/49 397/891/49 -f 396/890/49 398/892/49 397/891/49 -f 395/893/52 397/894/52 393/895/52 -f 397/894/52 391/896/52 393/895/52 -f 393/897/51 394/898/51 395/899/51 -f 394/898/51 396/900/51 395/899/51 -f 399/901/48 400/902/48 401/903/48 -f 400/902/48 402/904/48 401/903/48 -f 403/905/49 404/906/49 405/907/49 -f 404/906/49 406/908/49 405/907/49 -f 403/909/62 405/910/62 401/911/62 -f 405/910/62 399/912/62 401/911/62 -f 407/913/48 408/914/48 409/915/48 -f 408/914/48 410/916/48 409/915/48 -f 411/917/49 412/918/49 413/919/49 -f 412/918/49 414/920/49 413/919/49 -f 415/921/48 416/922/48 417/923/48 -f 416/922/48 418/924/48 417/923/48 -f 419/925/49 420/926/49 421/927/49 -f 420/926/49 422/928/49 421/927/49 -f 423/929/48 424/930/48 425/931/48 -f 424/930/48 426/932/48 425/931/48 -f 427/933/49 428/934/49 429/935/49 -f 428/934/49 430/936/49 429/935/49 -f 425/937/51 426/938/51 427/939/51 -f 426/938/51 428/940/51 427/939/51 -f 431/941/48 432/942/48 433/943/48 -f 432/942/48 434/944/48 433/943/48 -f 435/945/49 436/946/49 437/947/49 -f 436/946/49 438/948/49 437/947/49 -f 438/949/50 436/950/50 432/951/50 -f 436/950/50 434/952/50 432/951/50 -f 433/953/51 434/954/51 435/955/51 -f 434/954/51 436/956/51 435/955/51 -f 439/957/53 440/958/53 441/959/53 -f 440/958/53 442/960/53 441/959/53 -f 443/961/54 444/962/54 445/963/54 -f 444/962/54 446/964/54 445/963/54 -f 443/965/56 445/966/56 441/967/56 -f 445/966/56 439/968/56 441/967/56 -f 446/969/57 444/970/57 440/971/57 -f 444/970/57 442/972/57 440/971/57 -f 445/973/55 446/974/55 439/975/55 -f 446/974/55 440/976/55 439/975/55 -f 441/977/51 442/978/51 443/979/51 -f 442/978/51 444/980/51 443/979/51 -f 447/981/49 448/982/49 449/983/49 -f 448/982/49 450/984/49 449/983/49 -f 447/985/52 449/986/52 451/987/52 -f 449/986/52 452/988/52 451/987/52 -f 450/989/50 448/990/50 453/991/50 -f 448/990/50 454/992/50 453/991/50 -f 451/993/51 454/994/51 447/995/51 -f 454/994/51 448/996/51 447/995/51 -f 455/997/54 456/998/54 457/999/54 -f 456/998/54 458/1000/54 457/999/54 -f 459/1001/51 460/1002/51 455/1003/51 -f 460/1002/51 456/1004/51 455/1003/51 -f 461/1005/48 462/1006/48 463/1007/48 -f 462/1006/48 464/1008/48 463/1007/48 -f 465/1009/52 466/1010/52 463/1011/52 -f 466/1010/52 461/1012/52 463/1011/52 -f 467/1013/50 468/1014/50 462/1015/50 -f 468/1014/50 464/1016/50 462/1015/50 -f 463/1017/51 464/1018/51 465/1019/51 -f 464/1018/51 468/1020/51 465/1019/51 -f 469/1021/53 470/1022/53 471/1023/53 -f 470/1022/53 472/1024/53 471/1023/53 -f 473/1025/54 474/1026/54 475/1027/54 -f 474/1026/54 476/1028/54 475/1027/54 -f 473/1029/56 475/1030/56 471/1031/56 -f 475/1030/56 469/1032/56 471/1031/56 -f 476/1033/57 474/1034/57 470/1035/57 -f 474/1034/57 472/1036/57 470/1035/57 -f 475/1037/55 476/1038/55 469/1039/55 -f 476/1038/55 470/1040/55 469/1039/55 -f 471/1041/51 472/1042/51 473/1043/51 -f 472/1042/51 474/1044/51 473/1043/51 -f 477/1045/56 478/1046/56 479/1047/56 -f 478/1046/56 480/1048/56 479/1047/56 -f 479/1049/51 481/1050/51 477/1051/51 -f 481/1050/51 482/1052/51 477/1051/51 -f 483/1053/48 484/1054/48 485/1055/48 -f 484/1054/48 486/1056/48 485/1055/48 -f 487/1057/49 488/1058/49 489/1059/49 -f 488/1058/49 490/1060/49 489/1059/49 -f 487/1061/52 489/1062/52 485/1063/52 -f 489/1062/52 483/1064/52 485/1063/52 -f 489/1065/55 490/1066/55 483/1067/55 -f 490/1066/55 484/1068/55 483/1067/55 -f 491/1069/54 492/1070/54 493/1071/54 -f 492/1070/54 494/1072/54 493/1071/54 -f 494/1073/57 492/1074/57 495/1075/57 -f 492/1074/57 496/1076/57 495/1075/57 -f 493/1077/55 494/1078/55 497/1079/55 -f 494/1078/55 495/1080/55 497/1079/55 -f 498/1081/51 496/1082/51 491/1083/51 -f 496/1082/51 492/1084/51 491/1083/51 -f 499/1085/49 500/1086/49 501/1087/49 -f 500/1086/49 502/1088/49 501/1087/49 -f 499/1089/52 501/1090/52 503/1091/52 -f 501/1090/52 504/1092/52 503/1091/52 -f 502/1093/50 500/1094/50 505/1095/50 -f 500/1094/50 506/1096/50 505/1095/50 -f 501/1097/55 502/1098/55 504/1099/55 -f 502/1098/55 505/1100/55 504/1099/55 -f 503/1101/51 506/1102/51 499/1103/51 -f 506/1102/51 500/1104/51 499/1103/51 -f 507/1105/54 508/1106/54 509/1107/54 -f 508/1106/54 510/1108/54 509/1107/54 -f 507/1109/56 509/1110/56 511/1111/56 -f 509/1110/56 512/1112/56 511/1111/56 -f 509/1113/55 510/1114/55 512/1115/55 -f 510/1114/55 513/1116/55 512/1115/55 -f 511/1117/51 514/1118/51 507/1119/51 -f 514/1118/51 508/1120/51 507/1119/51 -f 515/1121/48 516/1122/48 517/1123/48 -f 516/1122/48 518/1124/48 517/1123/48 -f 519/1125/52 520/1126/52 517/1127/52 -f 520/1126/52 515/1128/52 517/1127/52 -f 521/1129/50 522/1130/50 516/1131/50 -f 522/1130/50 518/1132/50 516/1131/50 -f 520/1133/55 521/1134/55 515/1135/55 -f 521/1134/55 516/1136/55 515/1135/55 -f 517/1137/51 518/1138/51 519/1139/51 -f 518/1138/51 522/1140/51 519/1139/51 -f 523/1141/53 524/1142/53 525/1143/53 -f 524/1142/53 526/1144/53 525/1143/53 -f 527/1145/56 528/1146/56 525/1147/56 -f 528/1146/56 523/1148/56 525/1147/56 -f 528/1149/55 529/1150/55 523/1151/55 -f 529/1150/55 524/1152/55 523/1151/55 -f 525/1153/51 526/1154/51 527/1155/51 -f 526/1154/51 530/1156/51 527/1155/51 -f 531/1157/54 532/1158/54 533/1159/54 -f 532/1158/54 534/1160/54 533/1159/54 -f 531/1161/56 533/1162/56 535/1163/56 -f 533/1162/56 536/1164/56 535/1163/56 -f 533/1165/55 534/1166/55 536/1167/55 -f 534/1166/55 537/1168/55 536/1167/55 -f 535/1169/51 538/1170/51 531/1171/51 -f 538/1170/51 532/1172/51 531/1171/51 -f 539/1173/48 540/1174/48 541/1175/48 -f 540/1174/48 542/1176/48 541/1175/48 -f 543/1177/49 544/1178/49 545/1179/49 -f 544/1178/49 546/1180/49 545/1179/49 -f 543/1181/52 545/1182/52 541/1183/52 -f 545/1182/52 539/1184/52 541/1183/52 -f 545/1185/55 546/1186/55 539/1187/55 -f 546/1186/55 540/1188/55 539/1187/55 -f 541/1189/51 542/1190/51 543/1191/51 -f 542/1190/51 544/1192/51 543/1191/51 -f 547/1193/56 548/1194/56 549/1195/56 -f 548/1194/56 550/1196/56 549/1195/56 -f 551/1197/57 552/1198/57 553/1199/57 -f 552/1198/57 554/1200/57 553/1199/57 -f 554/1201/53 552/1202/53 548/1203/53 -f 552/1202/53 550/1204/53 548/1203/53 -f 553/1205/55 554/1206/55 547/1207/55 -f 554/1206/55 548/1208/55 547/1207/55 -f 549/1209/51 550/1210/51 551/1211/51 -f 550/1210/51 552/1212/51 551/1211/51 -f 555/1213/48 556/1214/48 557/1215/48 -f 556/1214/48 558/1216/48 557/1215/48 -f 559/1217/49 560/1218/49 561/1219/49 -f 560/1218/49 562/1220/49 561/1219/49 -f 559/1221/52 561/1222/52 557/1223/52 -f 561/1222/52 555/1224/52 557/1223/52 -f 562/1225/50 560/1226/50 556/1227/50 -f 560/1226/50 558/1228/50 556/1227/50 -f 561/1229/55 562/1230/55 555/1231/55 -f 562/1230/55 556/1232/55 555/1231/55 -f 557/1233/51 558/1234/51 559/1235/51 -f 558/1234/51 560/1236/51 559/1235/51 -f 563/1237/48 564/1238/48 565/1239/48 -f 564/1238/48 566/1240/48 565/1239/48 -f 567/1241/49 568/1242/49 569/1243/49 -f 568/1242/49 570/1244/49 569/1243/49 -f 567/1245/52 569/1246/52 565/1247/52 -f 569/1246/52 563/1248/52 565/1247/52 -f 570/1249/50 568/1250/50 564/1251/50 -f 568/1250/50 566/1252/50 564/1251/50 -f 569/1253/55 570/1254/55 563/1255/55 -f 570/1254/55 564/1256/55 563/1255/55 -f 565/1257/51 566/1258/51 567/1259/51 -f 566/1258/51 568/1260/51 567/1259/51 -f 571/1261/54 572/1262/54 573/1263/54 -f 572/1262/54 574/1264/54 573/1263/54 -f 573/1265/55 574/1266/55 575/1267/55 -f 574/1266/55 576/1268/55 575/1267/55 -f 577/1269/51 578/1270/51 571/1271/51 -f 578/1270/51 572/1272/51 571/1271/51 -f 579/1273/53 580/1274/53 581/1275/53 -f 580/1274/53 582/1276/53 581/1275/53 -f 583/1277/54 584/1278/54 585/1279/54 -f 584/1278/54 586/1280/54 585/1279/54 -f 586/1281/57 584/1282/57 580/1283/57 -f 584/1282/57 582/1284/57 580/1283/57 -f 585/1285/55 586/1286/55 579/1287/55 -f 586/1286/55 580/1288/55 579/1287/55 -f 581/1289/51 582/1290/51 583/1291/51 -f 582/1290/51 584/1292/51 583/1291/51 -f 587/1293/56 588/1294/56 589/1295/56 -f 588/1294/56 590/1296/56 589/1295/56 -f 591/1297/55 592/1298/55 587/1299/55 -f 592/1298/55 588/1300/55 587/1299/55 -f 589/1301/51 590/1302/51 593/1303/51 -f 590/1302/51 594/1304/51 593/1303/51 -f 595/1305/48 596/1306/48 597/1307/48 -f 596/1306/48 598/1308/48 597/1307/48 -f 599/1309/49 600/1310/49 601/1311/49 -f 600/1310/49 602/1312/49 601/1311/49 -f 599/1313/52 601/1314/52 597/1315/52 -f 601/1314/52 595/1316/52 597/1315/52 -f 602/1317/50 600/1318/50 596/1319/50 -f 600/1318/50 598/1320/50 596/1319/50 -f 601/1321/55 602/1322/55 595/1323/55 -f 602/1322/55 596/1324/55 595/1323/55 -f 597/1325/51 598/1326/51 599/1327/51 -f 598/1326/51 600/1328/51 599/1327/51 -f 603/1329/48 604/1330/48 605/1331/48 -f 604/1330/48 606/1332/48 605/1331/48 -f 607/1333/49 608/1334/49 609/1335/49 -f 608/1334/49 610/1336/49 609/1335/49 -f 607/1337/52 609/1338/52 605/1339/52 -f 609/1338/52 603/1340/52 605/1339/52 -f 610/1341/50 608/1342/50 604/1343/50 -f 608/1342/50 606/1344/50 604/1343/50 -f 609/1345/55 610/1346/55 603/1347/55 -f 610/1346/55 604/1348/55 603/1347/55 -f 605/1349/51 606/1350/51 607/1351/51 -f 606/1350/51 608/1352/51 607/1351/51 -f 611/1353/48 612/1354/48 613/1355/48 -f 612/1354/48 614/1356/48 613/1355/48 -f 615/1357/49 616/1358/49 617/1359/49 -f 616/1358/49 618/1360/49 617/1359/49 -f 615/1361/52 617/1362/52 613/1363/52 -f 617/1362/52 611/1364/52 613/1363/52 -f 617/1365/55 618/1366/55 611/1367/55 -f 618/1366/55 612/1368/55 611/1367/55 -f 613/1369/51 614/1370/51 615/1371/51 -f 614/1370/51 616/1372/51 615/1371/51 -f 619/1373/48 620/1374/48 621/1375/48 -f 620/1374/48 622/1376/48 621/1375/48 -f 623/1377/49 624/1378/49 625/1379/49 -f 624/1378/49 626/1380/49 625/1379/49 -f 623/1381/52 625/1382/52 621/1383/52 -f 625/1382/52 619/1384/52 621/1383/52 -f 626/1385/50 624/1386/50 620/1387/50 -f 624/1386/50 622/1388/50 620/1387/50 -f 625/1389/55 626/1390/55 619/1391/55 -f 626/1390/55 620/1392/55 619/1391/55 -f 621/1393/51 622/1394/51 623/1395/51 -f 622/1394/51 624/1396/51 623/1395/51 -f 627/1397/48 628/1398/48 629/1399/48 -f 628/1398/48 630/1400/48 629/1399/48 -f 631/1401/49 632/1402/49 633/1403/49 -f 632/1402/49 634/1404/49 633/1403/49 -f 633/1405/63 634/1406/63 627/1407/63 -f 634/1406/63 628/1408/63 627/1407/63 -f 629/1409/64 630/1410/64 631/1411/64 -f 630/1410/64 632/1412/64 631/1411/64 -f 635/1413/48 636/1414/48 637/1415/48 -f 636/1414/48 638/1416/48 637/1415/48 -f 639/1417/49 640/1418/49 641/1419/49 -f 640/1418/49 642/1420/49 641/1419/49 -f 639/1421/52 641/1422/52 637/1423/52 -f 641/1422/52 635/1424/52 637/1423/52 -f 642/1425/50 640/1426/50 636/1427/50 -f 640/1426/50 638/1428/50 636/1427/50 -f 641/1429/55 642/1430/55 635/1431/55 -f 642/1430/55 636/1432/55 635/1431/55 -f 637/1433/51 638/1434/51 639/1435/51 -f 638/1434/51 640/1436/51 639/1435/51 -f 643/1437/48 644/1438/48 645/1439/48 -f 644/1438/48 646/1440/48 645/1439/48 -f 647/1441/49 648/1442/49 649/1443/49 -f 648/1442/49 650/1444/49 649/1443/49 -f 647/1445/52 649/1446/52 645/1447/52 -f 649/1446/52 643/1448/52 645/1447/52 -f 650/1449/50 648/1450/50 644/1451/50 -f 648/1450/50 646/1452/50 644/1451/50 -f 645/1453/51 646/1454/51 647/1455/51 -f 646/1454/51 648/1456/51 647/1455/51 -f 651/1457/48 652/1458/48 653/1459/48 -f 652/1458/48 654/1460/48 653/1459/48 -f 655/1461/49 656/1462/49 657/1463/49 -f 656/1462/49 658/1464/49 657/1463/49 -f 658/1465/65 656/1466/65 652/1467/65 -f 656/1466/65 654/1468/65 652/1467/65 -f 657/1469/63 658/1470/63 651/1471/63 -f 658/1470/63 652/1472/63 651/1471/63 -f 653/1473/64 654/1474/64 655/1475/64 -f 654/1474/64 656/1476/64 655/1475/64 -f 659/1477/48 660/1478/48 661/1479/48 -f 660/1478/48 662/1480/48 661/1479/48 -f 663/1481/49 664/1482/49 665/1483/49 -f 664/1482/49 666/1484/49 665/1483/49 -f 663/1485/66 665/1486/66 661/1487/66 -f 665/1486/66 659/1488/66 661/1487/66 -f 666/1489/67 664/1490/67 660/1491/67 -f 664/1490/67 662/1492/67 660/1491/67 -f 665/1493/68 666/1494/68 659/1495/68 -f 666/1494/68 660/1496/68 659/1495/68 -f 661/1497/69 662/1498/69 663/1499/69 -f 662/1498/69 664/1500/69 663/1499/69 -f 667/1501/48 668/1502/48 669/1503/48 -f 668/1502/48 670/1504/48 669/1503/48 -f 671/1505/49 672/1506/49 673/1507/49 -f 672/1506/49 674/1508/49 673/1507/49 -f 671/1509/52 673/1510/52 669/1511/52 -f 673/1510/52 667/1512/52 669/1511/52 -f 674/1513/50 672/1514/50 668/1515/50 -f 672/1514/50 670/1516/50 668/1515/50 -f 669/1517/51 670/1518/51 671/1519/51 -f 670/1518/51 672/1520/51 671/1519/51 -f 675/1521/48 676/1522/48 677/1523/48 -f 676/1522/48 678/1524/48 677/1523/48 -f 679/1525/49 680/1526/49 681/1527/49 -f 680/1526/49 682/1528/49 681/1527/49 -f 679/1529/62 681/1530/62 677/1531/62 -f 681/1530/62 675/1532/62 677/1531/62 -f 682/1533/70 680/1534/70 676/1535/70 -f 680/1534/70 678/1536/70 676/1535/70 -f 681/1537/71 682/1538/71 675/1539/71 -f 682/1538/71 676/1540/71 675/1539/71 -f 677/1541/72 678/1542/72 679/1543/72 -f 678/1542/72 680/1544/72 679/1543/72 -f 683/1545/48 684/1546/48 685/1547/48 -f 684/1546/48 686/1548/48 685/1547/48 -f 687/1549/49 688/1550/49 689/1551/49 -f 688/1550/49 690/1552/49 689/1551/49 -f 687/1553/52 689/1554/52 685/1555/52 -f 689/1554/52 683/1556/52 685/1555/52 -f 690/1557/50 688/1558/50 684/1559/50 -f 688/1558/50 686/1560/50 684/1559/50 -f 689/1561/55 690/1562/55 683/1563/55 -f 690/1562/55 684/1564/55 683/1563/55 -f 685/1565/51 686/1566/51 687/1567/51 -f 686/1566/51 688/1568/51 687/1567/51 -f 691/1569/48 692/1570/48 693/1571/48 -f 692/1570/48 694/1572/48 693/1571/48 -f 695/1573/49 696/1574/49 697/1575/49 -f 696/1574/49 698/1576/49 697/1575/49 -f 695/1577/52 697/1578/52 693/1579/52 -f 697/1578/52 691/1580/52 693/1579/52 -f 698/1581/50 696/1582/50 692/1583/50 -f 696/1582/50 694/1584/50 692/1583/50 -f 697/1585/55 698/1586/55 691/1587/55 -f 698/1586/55 692/1588/55 691/1587/55 -f 693/1589/51 694/1590/51 695/1591/51 -f 694/1590/51 696/1592/51 695/1591/51 -f 699/1593/48 700/1594/48 701/1595/48 -f 700/1594/48 702/1596/48 701/1595/48 -f 703/1597/49 704/1598/49 705/1599/49 -f 704/1598/49 706/1600/49 705/1599/49 -f 703/1601/52 705/1602/52 701/1603/52 -f 705/1602/52 699/1604/52 701/1603/52 -f 706/1605/50 704/1606/50 700/1607/50 -f 704/1606/50 702/1608/50 700/1607/50 -f 705/1609/55 706/1610/55 699/1611/55 -f 706/1610/55 700/1612/55 699/1611/55 -f 707/1613/48 708/1614/48 709/1615/48 -f 708/1614/48 710/1616/48 709/1615/48 -f 711/1617/49 712/1618/49 713/1619/49 -f 712/1618/49 714/1620/49 713/1619/49 -f 714/1621/69 712/1622/69 708/1623/69 -f 712/1622/69 710/1624/69 708/1623/69 -f 713/1625/67 714/1626/67 707/1627/67 -f 714/1626/67 708/1628/67 707/1627/67 -f 709/1629/66 710/1630/66 711/1631/66 -f 710/1630/66 712/1632/66 711/1631/66 -f 715/1633/48 716/1634/48 717/1635/48 -f 716/1634/48 718/1636/48 717/1635/48 -f 719/1637/49 720/1638/49 721/1639/49 -f 720/1638/49 722/1640/49 721/1639/49 -f 719/1641/52 721/1642/52 717/1643/52 -f 721/1642/52 715/1644/52 717/1643/52 -f 721/1645/55 722/1646/55 715/1647/55 -f 722/1646/55 716/1648/55 715/1647/55 -f 717/1649/51 718/1650/51 719/1651/51 -f 718/1650/51 720/1652/51 719/1651/51 -f 723/1653/48 724/1654/48 725/1655/48 -f 724/1654/48 726/1656/48 725/1655/48 -f 727/1657/49 728/1658/49 729/1659/49 -f 728/1658/49 730/1660/49 729/1659/49 -f 727/1661/52 729/1662/52 725/1663/52 -f 729/1662/52 723/1664/52 725/1663/52 -f 729/1665/55 730/1666/55 723/1667/55 -f 730/1666/55 724/1668/55 723/1667/55 -f 725/1669/51 726/1670/51 727/1671/51 -f 726/1670/51 728/1672/51 727/1671/51 -f 731/1673/48 732/1674/48 733/1675/48 -f 732/1674/48 734/1676/48 733/1675/48 -f 735/1677/49 736/1678/49 737/1679/49 -f 736/1678/49 738/1680/49 737/1679/49 -f 735/1681/62 737/1682/62 733/1683/62 -f 737/1682/62 731/1684/62 733/1683/62 -f 738/1685/70 736/1686/70 732/1687/70 -f 736/1686/70 734/1688/70 732/1687/70 -f 737/1689/71 738/1690/71 731/1691/71 -f 738/1690/71 732/1692/71 731/1691/71 -f 739/1693/48 740/1694/48 741/1695/48 -f 740/1694/48 742/1696/48 741/1695/48 -f 743/1697/49 744/1698/49 745/1699/49 -f 744/1698/49 746/1700/49 745/1699/49 -f 746/1701/67 744/1702/67 740/1703/67 -f 744/1702/67 742/1704/67 740/1703/67 -f 747/1705/48 748/1706/48 749/1707/48 -f 748/1706/48 750/1708/48 749/1707/48 -f 751/1709/49 752/1710/49 753/1711/49 -f 752/1710/49 754/1712/49 753/1711/49 -f 749/1713/64 750/1714/64 751/1715/64 -f 750/1714/64 752/1716/64 751/1715/64 -f 755/1717/48 756/1718/48 757/1719/48 -f 756/1718/48 758/1720/48 757/1719/48 -f 759/1721/49 760/1722/49 761/1723/49 -f 760/1722/49 762/1724/49 761/1723/49 -f 761/1725/55 762/1726/55 755/1727/55 -f 762/1726/55 756/1728/55 755/1727/55 -f 757/1729/51 758/1730/51 759/1731/51 -f 758/1730/51 760/1732/51 759/1731/51 -f 763/1733/48 764/1734/48 765/1735/48 -f 764/1734/48 766/1736/48 765/1735/48 -f 767/1737/49 768/1738/49 769/1739/49 -f 768/1738/49 770/1740/49 769/1739/49 -f 767/1741/68 769/1742/68 765/1743/68 -f 769/1742/68 763/1744/68 765/1743/68 -f 770/1745/69 768/1746/69 764/1747/69 -f 768/1746/69 766/1748/69 764/1747/69 -f 771/1749/48 772/1750/48 773/1751/48 -f 772/1750/48 774/1752/48 773/1751/48 -f 775/1753/49 776/1754/49 777/1755/49 -f 776/1754/49 778/1756/49 777/1755/49 -f 775/1757/52 777/1758/52 773/1759/52 -f 777/1758/52 771/1760/52 773/1759/52 -f 778/1761/50 776/1762/50 772/1763/50 -f 776/1762/50 774/1764/50 772/1763/50 -f 779/1765/48 780/1766/48 781/1767/48 -f 780/1766/48 782/1768/48 781/1767/48 -f 783/1769/49 784/1770/49 785/1771/49 -f 784/1770/49 786/1772/49 785/1771/49 -f 783/1773/66 785/1774/66 781/1775/66 -f 785/1774/66 779/1776/66 781/1775/66 -f 786/1777/67 784/1778/67 780/1779/67 -f 784/1778/67 782/1780/67 780/1779/67 -f 787/1781/48 788/1782/48 789/1783/48 -f 788/1782/48 790/1784/48 789/1783/48 -f 791/1785/49 792/1786/49 793/1787/49 -f 792/1786/49 794/1788/49 793/1787/49 -f 793/1789/55 794/1790/55 787/1791/55 -f 794/1790/55 788/1792/55 787/1791/55 -f 789/1793/51 790/1794/51 791/1795/51 -f 790/1794/51 792/1796/51 791/1795/51 -f 795/1797/48 796/1798/48 797/1799/48 -f 796/1798/48 798/1800/48 797/1799/48 -f 799/1801/49 800/1802/49 801/1803/49 -f 800/1802/49 802/1804/49 801/1803/49 -f 801/1805/63 802/1806/63 795/1807/63 -f 802/1806/63 796/1808/63 795/1807/63 -f 797/1809/64 798/1810/64 799/1811/64 -f 798/1810/64 800/1812/64 799/1811/64 -f 803/1813/48 804/1814/48 805/1815/48 -f 804/1814/48 806/1816/48 805/1815/48 -f 807/1817/49 808/1818/49 809/1819/49 -f 808/1818/49 810/1820/49 809/1819/49 -f 807/1821/66 809/1822/66 805/1823/66 -f 809/1822/66 803/1824/66 805/1823/66 -f 810/1825/67 808/1826/67 804/1827/67 -f 808/1826/67 806/1828/67 804/1827/67 -f 805/1829/69 806/1830/69 807/1831/69 -f 806/1830/69 808/1832/69 807/1831/69 -f 811/1833/48 812/1834/48 813/1835/48 -f 812/1834/48 814/1836/48 813/1835/48 -f 815/1837/49 816/1838/49 817/1839/49 -f 816/1838/49 818/1840/49 817/1839/49 -f 817/1841/55 818/1842/55 811/1843/55 -f 818/1842/55 812/1844/55 811/1843/55 -f 813/1845/51 814/1846/51 815/1847/51 -f 814/1846/51 816/1848/51 815/1847/51 +vn -0.0000 -0.0000 1.0000 +vn -0.0000 -0.0000 -1.0000 +vn 1.0000 -0.0000 -0.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 1.0000 -0.0000 +vn -0.0000 -1.0000 -0.0000 +vn 0.9239 0.3827 -0.0000 +vn -0.9239 -0.3827 -0.0000 +vn -0.3827 0.9239 -0.0000 +vn 0.3827 -0.9239 -0.0000 +vn 0.9239 -0.3827 -0.0000 +vn -0.9239 0.3827 -0.0000 +vn 0.3827 0.9239 -0.0000 +vn -0.3827 -0.9239 -0.0000 +vn 0.3826 -0.9239 -0.0000 +vn -0.3826 -0.9239 -0.0000 +vt 0.232414 0.762673 +vt 0.232414 0.557205 +vt 0.507414 0.762673 +vt 0.507414 0.557205 +vt 0.492586 0.762673 +vt 0.492586 0.557205 +vt 0.767586 0.762673 +vt 0.767586 0.557205 +vt 0.419200 0.507414 +vt 0.419200 0.232414 +vt 0.446738 0.507414 +vt 0.446738 0.232414 +vt 0.419200 0.767586 +vt 0.419200 0.492586 +vt 0.446738 0.767586 +vt 0.446738 0.492586 +vt 0.419200 0.762673 +vt 0.419200 0.557205 +vt 0.446738 0.762673 +vt 0.446738 0.557205 +vt 0.553262 0.762673 +vt 0.553262 0.557205 +vt 0.580800 0.762673 +vt 0.580800 0.557205 +vt 0.232414 0.726953 +vt 0.232414 0.520703 +vt 0.507414 0.726953 +vt 0.507414 0.520703 +vt 0.492586 0.726953 +vt 0.492586 0.520703 +vt 0.767586 0.726953 +vt 0.767586 0.520703 +vt 0.473047 0.507414 +vt 0.473047 0.232414 +vt 0.533204 0.507414 +vt 0.533204 0.232414 +vt 0.473047 0.767586 +vt 0.473047 0.492586 +vt 0.533204 0.767586 +vt 0.533204 0.492586 +vt 0.473047 0.726953 +vt 0.473047 0.520703 +vt 0.533204 0.726953 +vt 0.533204 0.520703 +vt 0.466796 0.726953 +vt 0.466796 0.520703 +vt 0.526953 0.726953 +vt 0.526953 0.520703 +vt 0.232414 0.612558 +vt 0.232414 0.554549 +vt 0.507414 0.612558 +vt 0.507414 0.554549 +vt 0.492586 0.612558 +vt 0.492586 0.554549 +vt 0.767586 0.612558 +vt 0.767586 0.554549 +vt 0.415213 0.507414 +vt 0.415213 0.232414 +vt 0.623611 0.507414 +vt 0.623611 0.232414 +vt 0.415213 0.767586 +vt 0.415213 0.492586 +vt 0.623611 0.767586 +vt 0.623611 0.492586 +vt 0.415213 0.612558 +vt 0.415213 0.554549 +vt 0.623611 0.612558 +vt 0.623611 0.554549 +vt 0.376389 0.612558 +vt 0.376389 0.554549 +vt 0.584787 0.612558 +vt 0.584787 0.554549 +vt 0.232414 0.691931 +vt 0.232414 0.636072 +vt 0.507414 0.691931 +vt 0.507414 0.636072 +vt 0.492586 0.691931 +vt 0.492586 0.636072 +vt 0.767586 0.691931 +vt 0.767586 0.636072 +vt 0.393015 0.507414 +vt 0.393015 0.232414 +vt 0.603561 0.507414 +vt 0.603561 0.232414 +vt 0.393015 0.767586 +vt 0.393015 0.492586 +vt 0.603561 0.767586 +vt 0.603561 0.492586 +vt 0.393015 0.691931 +vt 0.393015 0.636072 +vt 0.603561 0.691931 +vt 0.603561 0.636072 +vt 0.396439 0.691931 +vt 0.396439 0.636072 +vt 0.606985 0.691931 +vt 0.606985 0.636072 +vt 0.232414 0.608142 +vt 0.301164 0.636072 +vt 0.301164 0.608142 +vt 0.698836 0.636072 +vt 0.698836 0.608142 +vt 0.767586 0.608142 +vt 0.393014 0.301164 +vt 0.393014 0.232414 +vt 0.607857 0.301164 +vt 0.607857 0.232414 +vt 0.393014 0.767586 +vt 0.393014 0.698836 +vt 0.607857 0.767586 +vt 0.607857 0.698836 +vt 0.393014 0.636072 +vt 0.393014 0.608142 +vt 0.607857 0.636072 +vt 0.607857 0.608142 +vt 0.392143 0.636072 +vt 0.392143 0.608142 +vt 0.606986 0.636072 +vt 0.606986 0.608142 +vt 0.232414 0.687679 +vt 0.232414 0.554476 +vt 0.507414 0.687679 +vt 0.507414 0.554476 +vt 0.492586 0.687679 +vt 0.492586 0.554476 +vt 0.767586 0.687679 +vt 0.767586 0.554476 +vt 0.414390 0.507414 +vt 0.414390 0.232414 +vt 0.586265 0.507414 +vt 0.586265 0.232414 +vt 0.414390 0.767586 +vt 0.414390 0.492586 +vt 0.586265 0.767586 +vt 0.586265 0.492586 +vt 0.414390 0.687679 +vt 0.414390 0.554476 +vt 0.586265 0.687679 +vt 0.586265 0.554476 +vt 0.413735 0.687679 +vt 0.413735 0.554476 +vt 0.585610 0.687679 +vt 0.585610 0.554476 +vt 0.492586 0.713286 +vt 0.492586 0.666019 +vt 0.767586 0.713286 +vt 0.767586 0.666019 +vt 0.449452 0.507414 +vt 0.449452 0.232414 +vt 0.494569 0.507414 +vt 0.494569 0.232414 +vt 0.449452 0.713286 +vt 0.449452 0.666019 +vt 0.494569 0.713286 +vt 0.494569 0.666019 +vt 0.505431 0.713286 +vt 0.505431 0.666019 +vt 0.550548 0.713286 +vt 0.550548 0.666019 +vt 0.232414 0.730552 +vt 0.232414 0.683285 +vt 0.507414 0.730552 +vt 0.507414 0.683285 +vt 0.515115 0.507414 +vt 0.515115 0.232414 +vt 0.555935 0.507414 +vt 0.555935 0.232414 +vt 0.515115 0.730552 +vt 0.515115 0.683285 +vt 0.555935 0.730552 +vt 0.555935 0.683285 +vt 0.444065 0.730552 +vt 0.444065 0.683285 +vt 0.484885 0.730552 +vt 0.484885 0.683285 +vt 0.232414 0.567969 +vt 0.507414 0.567969 +vt 0.533203 0.767586 +vt 0.533203 0.492586 +vt 0.571875 0.767586 +vt 0.571875 0.492586 +vt 0.533203 0.567969 +vt 0.533203 0.520703 +vt 0.571875 0.567969 +vt 0.571875 0.520703 +vt 0.428125 0.567969 +vt 0.428125 0.520703 +vt 0.466797 0.567969 +vt 0.466797 0.520703 +vt 0.492586 0.583590 +vt 0.492586 0.536324 +vt 0.767586 0.583590 +vt 0.767586 0.536324 +vt 0.435334 0.767586 +vt 0.435334 0.492586 +vt 0.476154 0.767586 +vt 0.476154 0.492586 +vt 0.435334 0.583590 +vt 0.435334 0.536324 +vt 0.476154 0.583590 +vt 0.476154 0.536324 +vt 0.523846 0.583590 +vt 0.523846 0.536324 +vt 0.564666 0.583590 +vt 0.564666 0.536324 +vt 0.232414 0.719101 +vt 0.232414 0.679843 +vt 0.507414 0.719101 +vt 0.507414 0.679843 +vt 0.492586 0.719101 +vt 0.492586 0.679843 +vt 0.767586 0.719101 +vt 0.767586 0.679843 +vt 0.414227 0.507414 +vt 0.414227 0.232414 +vt 0.619696 0.507414 +vt 0.619696 0.232414 +vt 0.414227 0.767586 +vt 0.414227 0.492586 +vt 0.619696 0.767586 +vt 0.619696 0.492586 +vt 0.414227 0.719101 +vt 0.414227 0.679843 +vt 0.619696 0.719101 +vt 0.619696 0.679843 +vt 0.380304 0.719101 +vt 0.380304 0.679843 +vt 0.585773 0.719101 +vt 0.585773 0.679843 +s 0 +f 571/1144/27 572/1145/27 573/1146/27 +f 572/1145/27 574/1147/27 573/1146/27 +f 575/1148/28 576/1149/28 577/1150/28 +f 576/1149/28 578/1151/28 577/1150/28 +f 575/1152/29 577/1153/29 573/1154/29 +f 577/1153/29 571/1155/29 573/1154/29 +f 578/1156/30 576/1157/30 572/1158/30 +f 576/1157/30 574/1159/30 572/1158/30 +f 577/1160/31 578/1161/31 571/1162/31 +f 578/1161/31 572/1163/31 571/1162/31 +f 573/1164/32 574/1165/32 575/1166/32 +f 574/1165/32 576/1167/32 575/1166/32 +f 579/1168/33 580/1169/33 581/1170/33 +f 580/1169/33 582/1171/33 581/1170/33 +f 583/1172/34 584/1173/34 585/1174/34 +f 584/1173/34 586/1175/34 585/1174/34 +f 583/1176/35 585/1177/35 581/1178/35 +f 585/1177/35 579/1179/35 581/1178/35 +f 586/1180/36 584/1181/36 580/1182/36 +f 584/1181/36 582/1183/36 580/1182/36 +f 585/1184/31 586/1185/31 579/1186/31 +f 586/1185/31 580/1187/31 579/1186/31 +f 581/1188/32 582/1189/32 583/1190/32 +f 582/1189/32 584/1191/32 583/1190/32 +f 587/1192/37 588/1193/37 589/1194/37 +f 588/1193/37 590/1195/37 589/1194/37 +f 591/1196/38 592/1197/38 593/1198/38 +f 592/1197/38 594/1199/38 593/1198/38 +f 591/1200/39 593/1201/39 589/1202/39 +f 593/1201/39 587/1203/39 589/1202/39 +f 594/1204/40 592/1205/40 588/1206/40 +f 592/1205/40 590/1207/40 588/1206/40 +f 593/1208/31 594/1209/31 587/1210/31 +f 594/1209/31 588/1211/31 587/1210/31 +f 589/1212/32 590/1213/32 591/1214/32 +f 590/1213/32 592/1215/32 591/1214/32 +f 595/1216/41 596/1217/41 597/1218/41 +f 596/1217/41 598/1219/41 597/1218/41 +f 599/1220/42 600/1221/42 601/1222/42 +f 600/1221/42 602/1223/42 601/1222/42 +f 599/1224/43 601/1225/43 597/1226/43 +f 601/1225/43 595/1227/43 597/1226/43 +f 602/1228/44 600/1229/44 596/1230/44 +f 600/1229/44 598/1231/44 596/1230/44 +f 601/1232/31 602/1233/31 595/1234/31 +f 602/1233/31 596/1235/31 595/1234/31 +f 597/1236/32 598/1237/32 599/1238/32 +f 598/1237/32 600/1239/32 599/1238/32 +f 603/1217/33 604/1240/33 605/1241/33 +f 604/1240/33 606/1242/33 605/1241/33 +f 607/1243/34 608/1244/34 609/1223/34 +f 608/1244/34 610/1245/34 609/1223/34 +f 607/1246/35 609/1247/35 605/1248/35 +f 609/1247/35 603/1249/35 605/1248/35 +f 610/1250/36 608/1251/36 604/1252/36 +f 608/1251/36 606/1253/36 604/1252/36 +f 609/1254/31 610/1255/31 603/1256/31 +f 610/1255/31 604/1257/31 603/1256/31 +f 605/1258/32 606/1259/32 607/1260/32 +f 606/1259/32 608/1261/32 607/1260/32 +f 611/1262/33 612/1263/33 613/1264/33 +f 612/1263/33 614/1265/33 613/1264/33 +f 615/1266/34 616/1267/34 617/1268/34 +f 616/1267/34 618/1269/34 617/1268/34 +f 615/1270/35 617/1271/35 613/1272/35 +f 617/1271/35 611/1273/35 613/1272/35 +f 618/1274/36 616/1275/36 612/1276/36 +f 616/1275/36 614/1277/36 612/1276/36 +f 617/1278/31 618/1279/31 611/1280/31 +f 618/1279/31 612/1281/31 611/1280/31 +f 613/1282/32 614/1283/32 615/1284/32 +f 614/1283/32 616/1285/32 615/1284/32 +f 619/1286/38 620/1287/38 621/1288/38 +f 620/1287/38 622/1289/38 621/1288/38 +f 619/1290/39 621/1291/39 623/1292/39 +f 621/1291/39 624/1293/39 623/1292/39 +f 621/1294/31 622/1295/31 624/1296/31 +f 622/1295/31 625/1297/31 624/1296/31 +f 623/1298/32 626/1299/32 619/1300/32 +f 626/1299/32 620/1301/32 619/1300/32 +f 627/1302/41 628/1303/41 629/1304/41 +f 628/1303/41 630/1305/41 629/1304/41 +f 631/1306/43 632/1307/43 629/1308/43 +f 632/1307/43 627/1309/43 629/1308/43 +f 632/1310/31 633/1311/31 627/1312/31 +f 633/1311/31 628/1313/31 627/1312/31 +f 629/1314/32 630/1315/32 631/1316/32 +f 630/1315/32 634/1317/32 631/1316/32 +f 635/1318/37 636/1169/37 637/1319/37 +f 636/1169/37 638/1171/37 637/1319/37 +f 639/1320/45 640/1321/45 636/1322/45 +f 640/1321/45 638/1323/45 636/1322/45 +f 641/1324/31 639/1325/31 635/1326/31 +f 639/1325/31 636/1327/31 635/1326/31 +f 637/1328/32 638/1329/32 642/1330/32 +f 638/1329/32 640/1331/32 642/1330/32 +f 643/1332/42 644/1333/42 645/1334/42 +f 644/1333/42 646/1335/42 645/1334/42 +f 646/1336/46 644/1337/46 647/1338/46 +f 644/1337/46 648/1339/46 647/1338/46 +f 645/1340/31 646/1341/31 649/1342/31 +f 646/1341/31 647/1343/31 649/1342/31 +f 650/1344/32 648/1345/32 643/1346/32 +f 648/1345/32 644/1347/32 643/1346/32 +f 651/1348/27 652/1349/27 653/1350/27 +f 652/1349/27 654/1351/27 653/1350/27 +f 655/1352/28 656/1353/28 657/1354/28 +f 656/1353/28 658/1355/28 657/1354/28 +f 655/1356/29 657/1357/29 653/1358/29 +f 657/1357/29 651/1359/29 653/1358/29 +f 658/1360/30 656/1361/30 652/1362/30 +f 656/1361/30 654/1363/30 652/1362/30 +f 657/1364/31 658/1365/31 651/1366/31 +f 658/1365/31 652/1367/31 651/1366/31 +f 653/1368/32 654/1369/32 655/1370/32 +f 654/1369/32 656/1371/32 655/1370/32 +o Grip +v 0.029437 0.100706 0.311919 +v 0.029437 -0.004763 0.311919 +v 0.029437 0.100706 0.268950 +v 0.029437 -0.004763 0.268950 +v -0.029156 0.100706 0.268950 +v -0.029156 -0.004763 0.268950 +v -0.029156 0.100706 0.311919 +v -0.029156 -0.004763 0.311919 +v 0.029388 0.017106 0.332156 +v 0.029388 -0.174300 0.332156 +v 0.029388 0.017106 0.285281 +v 0.029388 -0.174300 0.285281 +v -0.029181 0.017106 0.285281 +v -0.029181 -0.174300 0.285281 +v -0.029181 0.017106 0.332156 +v -0.029181 -0.174300 0.332156 +v 0.029419 0.085760 0.232858 +v 0.029419 -0.005391 0.324008 +v 0.029419 0.069187 0.216285 +v 0.029419 -0.021963 0.307436 +v -0.029175 0.069187 0.216285 +v -0.029175 -0.021963 0.307436 +v -0.029175 0.085760 0.232858 +v -0.029175 -0.005391 0.324008 +v 0.029462 0.040785 0.284858 +v 0.029462 -0.024175 0.257950 +v 0.029462 0.069187 0.216289 +v 0.029462 0.004227 0.189381 +v -0.029131 0.069187 0.216289 +v -0.029131 0.004227 0.189381 +v -0.029131 0.040785 0.284858 +v -0.029131 -0.024175 0.257950 +v 0.029425 0.004225 0.310469 +v 0.029425 -0.019213 0.310469 +v 0.029425 0.004225 0.189375 +v 0.029425 -0.019213 0.189375 +v -0.029169 0.004225 0.189375 +v -0.029169 -0.019213 0.189375 +v -0.029169 0.004225 0.310469 +v -0.029169 -0.019213 0.310469 +v 0.029456 -0.063915 0.319925 +v 0.029456 -0.080488 0.303353 +v 0.029456 0.021711 0.234299 +v 0.029456 0.005138 0.217726 +v -0.029137 0.021711 0.234299 +v -0.029137 0.005138 0.217726 +v -0.029137 -0.063915 0.319925 +v -0.029137 -0.080488 0.303353 +v 0.029406 0.100711 0.268945 +v 0.029406 -0.040037 0.327245 +v 0.029406 0.085762 0.232856 +v 0.029406 -0.054985 0.291156 +v -0.029188 0.085762 0.232856 +v -0.029188 -0.054985 0.291156 +v -0.029188 0.100711 0.268945 +v -0.029188 -0.040037 0.327245 +v 0.029375 -0.129257 0.319077 +v 0.029375 -0.205044 0.287685 +v 0.029375 -0.120288 0.297424 +v 0.029375 -0.196075 0.266032 +v -0.029188 -0.120288 0.297424 +v -0.029188 -0.196075 0.266032 +v -0.029188 -0.129257 0.319077 +v -0.029188 -0.205044 0.287685 +v 0.029450 0.100710 0.300193 +v 0.029450 -0.040037 0.358492 +v 0.029450 0.085762 0.264104 +v 0.029450 -0.054986 0.322403 +v -0.029144 0.085762 0.264104 +v -0.029144 -0.054986 0.322403 +v -0.029144 0.100710 0.300193 +v -0.029144 -0.040037 0.358492 +v 0.029469 0.075586 0.302363 +v 0.029469 0.006533 0.371416 +v 0.029469 0.047965 0.274741 +v 0.029469 -0.021088 0.343795 +v -0.029125 0.047965 0.274741 +v -0.029125 -0.021088 0.343795 +v -0.029125 0.075586 0.302363 +v -0.029125 0.006533 0.371416 +v 0.029425 0.006539 0.371413 +v 0.029425 -0.126990 0.426723 +v 0.029425 -0.032327 0.277581 +v 0.029425 -0.165857 0.332891 +v -0.029169 -0.032327 0.277581 +v -0.029169 -0.165857 0.332891 +v -0.029169 0.006539 0.371413 +v -0.029169 -0.126990 0.426723 +v 0.029419 -0.126919 0.427336 +v 0.029419 -0.205044 0.427336 +v 0.029419 -0.126919 0.287688 +v 0.029419 -0.205044 0.287688 +v -0.029163 -0.126919 0.287688 +v -0.029163 -0.205044 0.287688 +v -0.029163 -0.126919 0.427336 +v -0.029163 -0.205044 0.427336 +v 0.021613 0.096482 0.310400 +v 0.021613 -0.037047 0.365710 +v 0.021613 0.078544 0.267093 +v 0.021613 -0.054986 0.322403 +v -0.021356 0.078544 0.267093 +v -0.021356 -0.054986 0.322403 +v -0.021356 0.096482 0.310400 +v -0.021356 -0.037047 0.365710 +v 0.021613 0.081113 0.307885 +v 0.021613 0.010678 0.378319 +v 0.021613 0.047967 0.274739 +v 0.021613 -0.022467 0.345174 +v -0.021356 0.047967 0.274739 +v -0.021356 -0.022467 0.345174 +v -0.021356 0.081113 0.307885 +v -0.021356 0.010678 0.378319 +v 0.021613 -0.123013 0.435149 +v 0.021613 -0.205044 0.435149 +v 0.021613 -0.123013 0.287688 +v 0.021613 -0.205044 0.287688 +v -0.021356 -0.123013 0.287688 +v -0.021356 -0.205044 0.287688 +v -0.021356 -0.123013 0.435149 +v -0.021356 -0.205044 0.435149 +v 0.021613 0.011330 0.377885 +v 0.021613 -0.125808 0.434689 +v 0.021613 -0.030526 0.276835 +v 0.021613 -0.167664 0.333640 +v -0.021356 -0.030526 0.276835 +v -0.021356 -0.167664 0.333640 +v -0.021356 0.011330 0.377885 +v -0.021356 -0.125808 0.434689 +vn 1.0000 -0.0000 -0.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 1.0000 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn -0.0000 -0.0000 -1.0000 +vn -0.0000 0.7071 -0.7071 +vn -0.0000 0.7071 0.7071 +vn -0.0000 -0.7071 -0.7071 +vn -0.0000 0.9239 0.3827 +vn -0.0000 -0.9239 -0.3827 +vn -0.0000 -0.3827 0.9239 +vn -0.0000 0.3827 -0.9239 +vn -0.0000 -1.0000 -0.0000 +vn -0.0000 0.9239 -0.3827 +vn -0.0000 0.3827 0.9239 +vn -0.0000 -0.3827 -0.9239 +vn -0.0000 -0.9239 0.3827 +vn -0.0000 -0.7071 0.7071 +vt 0.000000 1.000000 +vt 0.000000 0.789062 +vt 0.085938 1.000000 +vt 0.085938 0.789062 +vt 0.890625 1.000000 +vt 0.890625 0.914062 +vt 1.007812 1.000000 +vt 1.007812 0.914062 +vt 0.562500 0.531250 +vt 0.562500 0.320312 +vt 0.679688 0.531250 +vt 0.679688 0.320312 +vt 0.000000 0.687500 +vt 0.093750 1.000000 +vt 0.093750 0.687500 +vt 0.437500 1.000000 +vt 0.437500 0.617188 +vt 0.554688 1.000000 +vt 0.554688 0.617188 +vt 0.000000 0.742188 +vt 0.046875 1.000000 +vt 0.046875 0.742188 +vt 0.531250 0.468750 +vt 0.531250 0.421875 +vt 0.648438 0.468750 +vt 0.648438 0.421875 +vt 0.562500 0.593750 +vt 0.562500 0.335938 +vt 0.679688 0.593750 +vt 0.679688 0.335938 +vt 0.000000 0.859375 +vt 0.130307 1.000000 +vt 0.130307 0.859375 +vt 0.500000 0.468750 +vt 0.500000 0.338443 +vt 0.617188 0.468750 +vt 0.617188 0.338443 +vt 0.531250 0.338443 +vt 0.648438 0.338443 +vt 0.500000 0.328125 +vt 0.617188 0.328125 +vt 0.000000 0.953125 +vt 0.130307 0.953125 +vt 0.015625 1.000000 +vt 0.015625 0.953125 +vt 0.145932 1.000000 +vt 0.145932 0.953125 +vt 0.343750 0.703125 +vt 0.343750 0.572818 +vt 0.460938 0.703125 +vt 0.460938 0.572818 +vt 0.500000 0.406250 +vt 0.500000 0.359375 +vt 0.617188 0.406250 +vt 0.617188 0.359375 +vt 0.218750 1.000000 +vt 0.218750 0.953125 +vt 0.265625 1.000000 +vt 0.265625 0.953125 +vt 0.890625 0.359375 +vt 0.890625 0.285771 +vt 1.007812 0.359375 +vt 1.007812 0.285771 +vt 0.000000 0.695312 +vt 0.078125 1.000000 +vt 0.078125 0.695312 +vt 0.890625 0.921875 +vt 1.007812 0.921875 +vt 0.562500 0.289062 +vt 0.679688 0.289062 +vt 0.531250 0.593750 +vt 0.531250 0.289062 +vt 0.648438 0.593750 +vt 0.648438 0.289062 +vt 0.000000 0.835938 +vt 0.046875 0.835938 +vt 0.484375 0.046875 +vt 0.484375 0.000000 +vt 0.601562 0.046875 +vt 0.601562 0.000000 +vt 0.687500 0.156250 +vt 0.687500 -0.007812 +vt 0.804688 0.156250 +vt 0.804688 -0.007812 +vt 0.562500 0.468750 +vt 0.562500 0.390625 +vt 0.679688 0.468750 +vt 0.679688 0.390625 +vt 0.562500 0.437500 +vt 0.562500 0.359375 +vt 0.679688 0.437500 +vt 0.679688 0.359375 +vt 0.000000 0.804688 +vt 0.078125 0.804688 +vt 0.562500 0.500000 +vt 0.562500 0.304688 +vt 0.679688 0.500000 +vt 0.679688 0.304688 +vt 0.000000 0.710938 +vt 0.203125 1.000000 +vt 0.203125 0.710938 +vt 0.562500 0.328125 +vt 0.679688 0.328125 +vt 0.000000 0.734375 +vt 0.000000 0.578125 +vt 0.281250 0.734375 +vt 0.281250 0.578125 +vt 0.328125 0.281250 +vt 0.328125 0.001952 +vt 0.445312 0.281250 +vt 0.445312 0.001952 +vt 0.500000 0.500000 +vt 0.500000 0.343750 +vt 0.617188 0.500000 +vt 0.617188 0.343750 +vt 0.770499 0.593601 +vt 0.770499 0.304538 +vt 0.864249 0.593601 +vt 0.864249 0.304538 +vt 0.135752 0.593601 +vt 0.135752 0.304538 +vt 0.229502 0.593601 +vt 0.229502 0.304538 +vt 0.921875 1.000000 +vt 0.921875 0.710937 +vt 1.007812 0.710937 +vt 0.724961 0.568802 +vt 0.724961 0.369583 +vt 0.818711 0.568802 +vt 0.818711 0.369583 +vt 0.181289 0.568802 +vt 0.181289 0.369583 +vt 0.275039 0.568802 +vt 0.275039 0.369583 +vt 0.921875 0.800781 +vt 1.007812 0.800781 +vt 0.437500 0.500000 +vt 0.437500 0.335938 +vt 0.732422 0.500000 +vt 0.732422 0.335938 +vt 0.562500 0.562500 +vt 0.562500 0.267577 +vt 0.648438 0.562500 +vt 0.648438 0.267577 +vt 0.921875 0.705078 +vt 1.007812 0.705078 +vt 0.921875 0.835938 +vt 1.007812 0.835938 +vt 0.531250 0.500000 +vt 0.531250 0.335938 +vt 0.617188 0.335938 +vt 0.500000 0.593750 +vt 0.500000 0.296875 +vt 0.718750 0.593750 +vt 0.718750 0.296875 +vt 0.921875 0.703125 +vt 1.007812 0.703125 +s 0 +f 659/1372/47 660/1373/47 661/1374/47 +f 660/1373/47 662/1375/47 661/1374/47 +f 663/1372/48 664/1373/48 665/1374/48 +f 664/1373/48 666/1375/48 665/1374/48 +f 663/1376/49 665/1377/49 661/1378/49 +f 665/1377/49 659/1379/49 661/1378/49 +f 665/1380/50 666/1381/50 659/1382/50 +f 666/1381/50 660/1383/50 659/1382/50 +f 661/1380/51 662/1381/51 663/1382/51 +f 662/1381/51 664/1383/51 663/1382/51 +f 667/1372/47 668/1384/47 669/1385/47 +f 668/1384/47 670/1386/47 669/1385/47 +f 671/1372/48 672/1384/48 673/1385/48 +f 672/1384/48 674/1386/48 673/1385/48 +f 669/1387/51 670/1388/51 671/1389/51 +f 670/1388/51 672/1390/51 671/1389/51 +f 675/1372/47 676/1391/47 677/1392/47 +f 676/1391/47 678/1393/47 677/1392/47 +f 679/1372/48 680/1391/48 681/1392/48 +f 680/1391/48 682/1393/48 681/1392/48 +f 679/1394/52 681/1395/52 677/1396/52 +f 681/1395/52 675/1397/52 677/1396/52 +f 681/1398/53 682/1399/53 675/1400/53 +f 682/1399/53 676/1401/53 675/1400/53 +f 677/1398/54 678/1399/54 679/1400/54 +f 678/1399/54 680/1401/54 679/1400/54 +f 683/1372/47 684/1402/47 685/1403/47 +f 684/1402/47 686/1404/47 685/1403/47 +f 687/1372/48 688/1402/48 689/1403/48 +f 688/1402/48 690/1404/48 689/1403/48 +f 687/1405/55 689/1406/55 685/1407/55 +f 689/1406/55 683/1408/55 685/1407/55 +f 690/1394/56 688/1409/56 684/1396/56 +f 688/1409/56 686/1410/56 684/1396/56 +f 689/1405/57 690/1411/57 683/1407/57 +f 690/1411/57 684/1412/57 683/1407/57 +f 685/1405/58 686/1411/58 687/1407/58 +f 686/1411/58 688/1412/58 687/1407/58 +f 691/1372/47 692/1413/47 693/1403/47 +f 692/1413/47 694/1414/47 693/1403/47 +f 695/1415/48 696/1416/48 697/1417/48 +f 696/1416/48 698/1418/48 697/1417/48 +f 695/1405/49 697/1406/49 693/1407/49 +f 697/1406/49 691/1408/49 693/1407/49 +f 698/1419/59 696/1420/59 692/1421/59 +f 696/1420/59 694/1422/59 692/1421/59 +f 693/1423/51 694/1424/51 695/1425/51 +f 694/1424/51 696/1426/51 695/1425/51 +f 699/1372/47 700/1413/47 701/1427/47 +f 700/1413/47 702/1428/47 701/1427/47 +f 703/1372/48 704/1413/48 705/1429/48 +f 704/1413/48 706/1430/48 705/1429/48 +f 706/1431/54 704/1432/54 700/1433/54 +f 704/1432/54 702/1434/54 700/1433/54 +f 707/1372/47 708/1435/47 709/1436/47 +f 708/1435/47 710/1437/47 709/1436/47 +f 711/1372/48 712/1435/48 713/1436/48 +f 712/1435/48 714/1437/48 713/1436/48 +f 711/1376/60 713/1438/60 709/1378/60 +f 713/1438/60 707/1439/60 709/1378/60 +f 713/1398/61 714/1440/61 707/1400/61 +f 714/1440/61 708/1441/61 707/1400/61 +f 709/1442/62 710/1443/62 711/1444/62 +f 710/1443/62 712/1445/62 711/1444/62 +f 715/1372/47 716/1446/47 717/1392/47 +f 716/1446/47 718/1447/47 717/1392/47 +f 719/1372/48 720/1446/48 721/1392/48 +f 720/1446/48 722/1447/48 721/1392/48 +f 722/1448/56 720/1449/56 716/1450/56 +f 720/1449/56 718/1451/56 716/1450/56 +f 717/1452/58 718/1453/58 719/1454/58 +f 718/1453/58 720/1455/58 719/1454/58 +f 723/1372/47 724/1435/47 725/1436/47 +f 724/1435/47 726/1437/47 725/1436/47 +f 727/1372/48 728/1435/48 729/1436/48 +f 728/1435/48 730/1437/48 729/1436/48 +f 727/1456/60 729/1457/60 725/1458/60 +f 729/1457/60 723/1459/60 725/1458/60 +f 730/1460/63 728/1461/63 724/1462/63 +f 728/1461/63 726/1463/63 724/1462/63 +f 729/1398/61 730/1440/61 723/1400/61 +f 730/1440/61 724/1441/61 723/1400/61 +f 725/1398/62 726/1440/62 727/1400/62 +f 726/1440/62 728/1441/62 727/1400/62 +f 731/1372/47 732/1464/47 733/1436/47 +f 732/1464/47 734/1465/47 733/1436/47 +f 735/1372/48 736/1464/48 737/1436/48 +f 736/1464/48 738/1465/48 737/1436/48 +f 738/1460/64 736/1461/64 732/1462/64 +f 736/1461/64 734/1463/64 732/1462/64 +f 737/1466/53 738/1467/53 731/1468/53 +f 738/1467/53 732/1469/53 731/1468/53 +f 733/1466/54 734/1467/54 735/1468/54 +f 734/1467/54 736/1469/54 735/1468/54 +f 739/1372/47 740/1470/47 741/1471/47 +f 740/1470/47 742/1472/47 741/1471/47 +f 743/1372/48 744/1470/48 745/1471/48 +f 744/1470/48 746/1472/48 745/1471/48 +f 743/1380/60 745/1473/60 741/1382/60 +f 745/1473/60 739/1474/60 741/1382/60 +f 745/1398/61 746/1467/61 739/1400/61 +f 746/1467/61 740/1469/61 739/1400/61 +f 747/1475/47 748/1476/47 749/1477/47 +f 748/1476/47 750/1478/47 749/1477/47 +f 751/1475/48 752/1476/48 753/1477/48 +f 752/1476/48 754/1478/48 753/1477/48 +f 754/1479/59 752/1480/59 748/1481/59 +f 752/1480/59 750/1482/59 748/1481/59 +f 753/1483/50 754/1484/50 747/1485/50 +f 754/1484/50 748/1486/50 747/1485/50 +f 749/1483/51 750/1484/51 751/1485/51 +f 750/1484/51 752/1486/51 751/1485/51 +f 755/1487/47 756/1488/47 757/1489/47 +f 756/1488/47 758/1490/47 757/1489/47 +f 759/1491/48 760/1492/48 761/1493/48 +f 760/1492/48 762/1494/48 761/1493/48 +f 761/1495/61 762/1496/61 755/1378/61 +f 762/1496/61 756/1497/61 755/1378/61 +f 763/1498/47 764/1499/47 765/1500/47 +f 764/1499/47 766/1501/47 765/1500/47 +f 767/1502/48 768/1503/48 769/1504/48 +f 768/1503/48 770/1505/48 769/1504/48 +f 769/1495/53 770/1506/53 763/1378/53 +f 770/1506/53 764/1507/53 763/1378/53 +f 771/1508/47 772/1509/47 773/1510/47 +f 772/1509/47 774/1511/47 773/1510/47 +f 775/1508/48 776/1509/48 777/1510/48 +f 776/1509/48 778/1511/48 777/1510/48 +f 775/1512/49 777/1513/49 773/1514/49 +f 777/1513/49 771/1515/49 773/1514/49 +f 778/1495/59 776/1516/59 772/1378/59 +f 776/1516/59 774/1517/59 772/1378/59 +f 777/1495/50 778/1518/50 771/1378/50 +f 778/1518/50 772/1519/50 771/1378/50 +f 773/1520/51 774/1521/51 775/1485/51 +f 774/1521/51 776/1522/51 775/1485/51 +f 779/1523/47 780/1524/47 781/1525/47 +f 780/1524/47 782/1526/47 781/1525/47 +f 783/1523/48 784/1524/48 785/1525/48 +f 784/1524/48 786/1526/48 785/1525/48 +f 785/1495/61 786/1527/61 779/1378/61 +f 786/1527/61 780/1528/61 779/1378/61 +o Hammer +v 0.009894 0.159364 0.192004 +v 0.009894 0.127600 0.223769 +v 0.009894 0.115170 0.147810 +v 0.009894 0.083406 0.179575 +v -0.009638 0.115170 0.147810 +v -0.009638 0.083406 0.179575 +v -0.009638 0.159364 0.192004 +v -0.009638 0.127600 0.223769 +v 0.009894 0.151487 0.265041 +v 0.009894 0.135862 0.265041 +v 0.009894 0.151487 0.220119 +v 0.009894 0.135862 0.220119 +v -0.009638 0.151487 0.220119 +v -0.009638 0.135862 0.220119 +v -0.009638 0.151487 0.265041 +v -0.009638 0.135862 0.265041 +v 0.009894 0.149695 0.230343 +v 0.009894 0.138646 0.241391 +v 0.009894 0.112406 0.193054 +v 0.009894 0.101357 0.204103 +v -0.009638 0.112406 0.193054 +v -0.009638 0.101357 0.204103 +v -0.009638 0.149695 0.230343 +v -0.009638 0.138646 0.241391 +v 0.009894 0.151488 0.220120 +v 0.009894 0.140439 0.231168 +v 0.009894 0.119723 0.188355 +v 0.009894 0.108675 0.199404 +v -0.009638 0.119723 0.188355 +v -0.009638 0.108675 0.199404 +v -0.009638 0.151488 0.220120 +v -0.009638 0.140439 0.231168 +vn 1.0000 -0.0000 -0.0000 +vn -1.0000 -0.0000 -0.0000 +vn -0.0000 0.7071 -0.7071 +vn -0.0000 0.7071 0.7071 +vn -0.0000 1.0000 -0.0000 +vn -0.0000 -1.0000 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn -0.0000 -0.7071 0.7071 +vt 0.024914 0.671166 +vt 0.024914 0.581323 +vt 0.149915 0.671166 +vt 0.149915 0.581323 +vt 0.850086 0.671166 +vt 0.850086 0.581323 +vt 0.975086 0.671166 +vt 0.975086 0.581323 +vt 0.484375 0.149914 +vt 0.484375 0.024914 +vt 0.523438 0.149914 +vt 0.523438 0.024914 +vt 0.484375 0.671166 +vt 0.484375 0.581323 +vt 0.523438 0.671166 +vt 0.523438 0.581323 +vt 0.000000 0.717492 +vt 0.000000 0.686242 +vt 0.068825 0.717492 +vt 0.068825 0.686242 +vt 0.931175 0.717492 +vt 0.931175 0.686242 +vt 1.000000 0.717492 +vt 1.000000 0.686242 +vt 0.484375 0.068825 +vt 0.484375 0.000000 +vt 0.523438 0.068825 +vt 0.523438 0.000000 +vt 0.484375 1.000000 +vt 0.484375 0.931175 +vt 0.523438 1.000000 +vt 0.523438 0.931175 +vt 0.484375 0.717492 +vt 0.484375 0.686242 +vt 0.523438 0.717492 +vt 0.523438 0.686242 +vt 0.000000 0.648480 +vt 0.000000 0.617230 +vt 0.100860 0.648480 +vt 0.100860 0.617230 +vt 0.899140 0.648480 +vt 0.899140 0.617230 +vt 1.000000 0.648480 +vt 1.000000 0.617230 +vt 0.484375 0.100860 +vt 0.523438 0.100860 +vt 0.484375 0.899140 +vt 0.523438 0.899140 +vt 0.020413 0.663117 +vt 0.020413 0.631867 +vt 0.110257 0.663117 +vt 0.110257 0.631867 +vt 0.889743 0.663117 +vt 0.889743 0.631867 +vt 0.979587 0.663117 +vt 0.979587 0.631867 +vt 0.484375 0.110257 +vt 0.484375 0.020413 +vt 0.523438 0.110257 +vt 0.523438 0.020413 +vt 0.484375 0.979587 +vt 0.484375 0.889743 +vt 0.523438 0.979587 +vt 0.523438 0.889743 +s 0 +f 787/1529/65 788/1530/65 789/1531/65 +f 788/1530/65 790/1532/65 789/1531/65 +f 791/1533/66 792/1534/66 793/1535/66 +f 792/1534/66 794/1536/66 793/1535/66 +f 791/1537/67 793/1538/67 789/1539/67 +f 793/1538/67 787/1540/67 789/1539/67 +f 793/1541/68 794/1542/68 787/1543/68 +f 794/1542/68 788/1544/68 787/1543/68 +f 795/1545/65 796/1546/65 797/1547/65 +f 796/1546/65 798/1548/65 797/1547/65 +f 799/1549/66 800/1550/66 801/1551/66 +f 800/1550/66 802/1552/66 801/1551/66 +f 799/1553/69 801/1554/69 797/1555/69 +f 801/1554/69 795/1556/69 797/1555/69 +f 802/1557/70 800/1558/70 796/1559/70 +f 800/1558/70 798/1560/70 796/1559/70 +f 801/1561/71 802/1562/71 795/1563/71 +f 802/1562/71 796/1564/71 795/1563/71 +f 803/1565/65 804/1566/65 805/1567/65 +f 804/1566/65 806/1568/65 805/1567/65 +f 807/1569/66 808/1570/66 809/1571/66 +f 808/1570/66 810/1572/66 809/1571/66 +f 807/1573/67 809/1554/67 805/1574/67 +f 809/1554/67 803/1556/67 805/1574/67 +f 810/1557/72 808/1575/72 804/1559/72 +f 808/1575/72 806/1576/72 804/1559/72 +f 811/1577/65 812/1578/65 813/1579/65 +f 812/1578/65 814/1580/65 813/1579/65 +f 815/1581/66 816/1582/66 817/1583/66 +f 816/1582/66 818/1584/66 817/1583/66 +f 815/1585/67 817/1586/67 813/1587/67 +f 817/1586/67 811/1588/67 813/1587/67 +f 818/1589/72 816/1590/72 812/1591/72 +f 816/1590/72 814/1592/72 812/1591/72 diff --git a/src/main/resources/assets/hbm/models/weapons/spas-12.obj b/src/main/resources/assets/hbm/models/weapons/spas-12.obj index bd8f216c6..2410da7c6 100644 --- a/src/main/resources/assets/hbm/models/weapons/spas-12.obj +++ b/src/main/resources/assets/hbm/models/weapons/spas-12.obj @@ -1,738 +1,769 @@ -# Blender v2.79 (sub 0) OBJ File: 'spas-ing out.blend' +# Blender 4.0.1 # www.blender.org -mtllib spas-123.mtl -o PumpGrip -v -0.443199 1.647273 5.814597 -v -0.443199 1.647273 5.001840 -v 0.443199 1.647273 5.814597 -v 0.443199 1.647273 5.001840 -v -0.510668 1.652728 4.763550 -v 0.510668 1.652728 4.763550 -v -0.443199 1.647273 6.244457 -v 0.443199 1.647273 6.244457 -v -0.443199 1.647273 7.247699 -v 0.443199 1.647273 7.247699 -v -0.443199 1.378114 7.539924 -v 0.443199 1.378114 7.539924 -v -0.443199 1.079549 7.539924 -v 0.443199 1.079549 7.539924 -v -0.248881 0.889651 5.814597 -v -0.443199 1.060285 5.814597 -v -0.443199 1.060285 5.001840 -v -0.248881 0.889651 5.001840 -v 0.443199 1.060285 5.814597 -v 0.248881 0.889651 5.814597 -v 0.248881 0.889651 5.001840 -v 0.443199 1.060285 5.001840 -v -0.316349 0.779774 4.763550 -v -0.510668 0.950408 4.763550 -v 0.510668 0.950408 4.763550 -v 0.316349 0.779774 4.763550 -v -0.248881 0.780984 6.244457 -v -0.443199 0.951618 6.244457 -v 0.443199 0.951618 6.244457 -v 0.248881 0.780984 6.244457 -v -0.248881 0.780984 7.247699 -v -0.443199 0.951618 7.247699 -v 0.443199 0.951618 7.247699 -v 0.248881 0.780984 7.247699 -v -0.443199 1.032399 7.594676 -v -0.248881 0.898079 7.750655 -v 0.248881 0.898079 7.750655 -v 0.443199 1.032399 7.594676 -vt 0.280193 0.278528 -vt 0.202899 0.278528 -vt 0.217391 0.263804 -vt 0.275362 0.595092 -vt 0.207729 0.625767 -vt 0.207729 0.595092 -vt 0.275362 0.650307 -vt 0.207729 0.650307 -vt 0.260870 0.680982 -vt 0.265700 0.263804 -vt 0.280193 0.337423 -vt 0.202899 0.337423 -vt 0.275362 0.625767 -vt 0.222222 0.680982 -vt 0.207729 0.662577 -vt 0.275362 0.662577 -vt 0.125604 0.490798 -vt 0.077295 0.533742 -vt 0.077295 0.490798 -vt 0.207729 0.361963 -vt 0.275362 0.361963 -vt 0.144928 0.490798 -vt 0.202899 0.533742 -vt 0.144928 0.533742 -vt 0.275362 0.460123 -vt 0.207729 0.496933 -vt 0.207729 0.460123 -vt 0.000000 0.490798 -vt 0.057971 0.398773 -vt 0.057971 0.490798 -vt 0.057971 0.533742 -vt -0.000000 0.644172 -vt 0.000000 0.533742 -vt 0.077295 0.398773 -vt 0.125604 0.368098 -vt 0.125604 0.398773 -vt 0.202899 0.398773 -vt 0.144928 0.398773 -vt 0.144928 0.644172 -vt 0.202899 0.368098 -vt 0.000000 0.368098 -vt 0.057971 0.368098 -vt 0.125604 0.533742 -vt 0.077295 0.644172 -vt 0.275362 0.496933 -vt 0.057971 0.644172 -vt 0.048309 0.668712 -vt 0.019324 0.668712 -vt 0.188406 0.668712 -vt 0.154589 0.668712 -vt 0.125604 0.644172 -vt 0.077295 0.680982 -vt 0.077295 0.368098 -vt 0.144928 0.368098 -vt 0.144928 0.680982 -vt 0.125604 0.680982 -vt 0.057971 0.680982 -vt 0.202899 0.490798 -vt 0.000000 0.398773 -vt 0.202899 0.644172 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 0.7355 0.6775 -vn -0.0000 0.0000 1.0000 -vn 0.0000 0.7578 0.6525 -vn 0.3599 -0.9254 -0.1180 -vn -0.3422 -0.9327 -0.1137 -vn -0.3599 -0.9254 -0.1180 -vn 0.6688 0.7363 0.1026 -vn -0.6567 0.5705 -0.4932 -vn -0.6688 0.7363 0.1026 -vn 0.9224 -0.3836 -0.0454 -vn 0.7071 0.7071 0.0000 -vn 0.8977 -0.4369 -0.0574 -vn -0.7071 0.7071 0.0000 -vn -0.9071 -0.3651 0.2093 -vn -0.9224 -0.3836 -0.0454 -vn -0.8977 -0.4369 -0.0574 -vn -0.6337 0.7206 0.2813 -vn -0.3301 -0.9090 0.2545 -vn 0.3304 -0.8325 -0.4446 -vn 0.3301 -0.9090 0.2545 -vn 0.9071 -0.3651 0.2093 -vn 0.8988 -0.4352 0.0526 -vn 0.6567 0.5705 -0.4932 -vn -0.7868 -0.4159 -0.4559 -vn 0.3422 -0.9327 -0.1137 -vn -0.3430 -0.9334 0.1052 -vn 0.6337 0.7206 0.2813 -vn -0.8988 -0.4352 0.0526 -vn -0.8140 0.2421 0.5280 -vn -0.6269 0.3128 0.7135 -vn 0.6269 0.3128 0.7135 -vn 0.8140 0.2421 0.5280 -vn 0.3430 -0.9334 0.1052 -vn -0.3219 -0.2640 0.9092 -vn -0.3304 -0.8325 -0.4446 -vn 0.7868 -0.4159 -0.4559 -vn 0.7589 0.1068 0.6423 -vn 0.3219 -0.2640 0.9092 -vn -0.7589 0.1067 0.6423 -usemtl None -s off -f 24/1/1 25/2/1 26/3/1 -f 9/4/2 12/5/2 10/6/2 -f 12/5/3 13/7/3 14/8/3 -f 14/8/4 13/7/4 36/9/4 -f 26/3/1 23/10/1 24/1/1 -f 24/1/1 5/11/1 6/12/1 -f 6/12/1 25/2/1 24/1/1 -f 9/4/2 11/13/2 12/5/2 -f 12/5/3 11/13/3 13/7/3 -f 36/9/4 37/14/4 14/8/4 -f 38/15/4 14/8/4 37/14/4 -f 13/7/4 35/16/4 36/9/4 -s 1 -f 20/17/5 27/18/6 15/19/7 -f 4/20/8 5/11/9 2/21/10 -f 19/22/11 8/23/12 29/24/13 -f 1/25/14 8/26/12 3/27/12 -f 1/28/14 17/29/15 16/30/16 -f 2/21/10 3/27/12 4/20/8 -f 28/31/17 9/32/18 7/33/14 -f 18/34/19 26/35/20 21/36/21 -f 4/37/8 19/22/11 22/38/22 -f 8/23/12 33/39/23 29/24/13 -f 22/38/22 6/40/24 4/37/8 -f 17/29/15 5/41/9 24/42/25 -f 16/30/16 7/33/14 1/28/14 -f 30/43/26 31/44/27 27/18/6 -f 7/45/14 10/6/28 8/26/12 -f 32/46/29 13/47/30 11/48/31 -f 33/39/23 12/49/32 14/50/33 -f 34/51/34 36/52/35 31/44/27 -f 15/19/7 17/29/15 18/34/19 -f 21/36/21 19/22/11 20/17/5 -f 18/34/19 24/42/25 23/53/36 -f 21/36/21 25/54/37 22/38/22 -f 20/17/5 29/24/13 30/43/26 -f 15/19/7 28/31/17 16/30/16 -f 33/39/23 30/43/26 29/24/13 -f 28/31/17 31/44/27 32/46/29 -f 34/51/34 38/55/38 37/56/39 -f 35/57/40 31/44/27 36/52/35 -f 21/36/21 15/19/7 18/34/19 -f 20/17/5 30/43/26 27/18/6 -f 4/20/8 6/12/24 5/11/9 -f 19/22/11 3/58/12 8/23/12 -f 1/25/14 7/45/14 8/26/12 -f 1/28/14 2/59/10 17/29/15 -f 2/21/10 1/25/14 3/27/12 -f 28/31/17 32/46/29 9/32/18 -f 18/34/19 23/53/36 26/35/20 -f 4/37/8 3/58/12 19/22/11 -f 8/23/12 10/60/28 33/39/23 -f 22/38/22 25/54/37 6/40/24 -f 17/29/15 2/59/10 5/41/9 -f 16/30/16 28/31/17 7/33/14 -f 30/43/26 34/51/34 31/44/27 -f 7/45/14 9/4/18 10/6/28 -f 11/48/31 9/32/18 32/46/29 -f 32/46/29 35/57/40 13/47/30 -f 33/39/23 10/60/28 12/49/32 -f 14/50/33 38/55/38 33/39/23 -f 34/51/34 37/56/39 36/52/35 -f 15/19/7 16/30/16 17/29/15 -f 21/36/21 22/38/22 19/22/11 -f 18/34/19 17/29/15 24/42/25 -f 21/36/21 26/35/20 25/54/37 -f 20/17/5 19/22/11 29/24/13 -f 15/19/7 27/18/6 28/31/17 -f 33/39/23 34/51/34 30/43/26 -f 28/31/17 27/18/6 31/44/27 -f 34/51/34 33/39/23 38/55/38 -f 35/57/40 32/46/29 31/44/27 -f 21/36/21 20/17/5 15/19/7 o MainBody -v -0.363464 1.792314 -0.108580 -v 0.371539 1.792314 -0.108580 -v -0.363464 1.715535 -0.076778 -v 0.371539 1.715535 -0.076778 -v -0.363464 1.683733 0.000001 -v 0.371539 1.683733 0.000001 -v -0.363464 1.715535 0.076779 -v 0.371539 1.715535 0.076779 -v -0.363464 1.792314 0.108582 -v 0.371539 1.792314 0.108582 -v -0.363464 1.869092 0.076779 -v 0.371539 1.869092 0.076779 -v -0.363464 1.900895 0.000001 -v 0.371539 1.900895 0.000001 -v -0.363464 1.869092 -0.076778 -v 0.371539 1.869092 -0.076778 -v -0.363464 1.792314 -0.222732 -v -0.363464 1.634818 -0.157495 -v 0.371539 1.634818 -0.157495 -v 0.371539 1.792314 -0.222732 -v -0.363464 1.569581 0.000001 -v 0.371539 1.569581 0.000001 -v -0.363464 1.634818 0.157496 -v 0.371539 1.634818 0.157496 -v -0.363464 1.792314 0.222733 -v 0.371539 1.792314 0.222733 -v -0.363464 1.949810 0.157496 -v 0.371539 1.949810 0.157496 -v -0.363464 2.015046 0.000001 -v 0.371539 2.015046 0.000001 -v -0.363464 1.949810 -0.157495 -v 0.371539 1.949810 -0.157495 -v 0.469795 1.715535 -0.076778 -v 0.469795 1.792314 -0.108580 -v 0.469795 1.869092 -0.076778 -v 0.469795 1.900895 0.000001 -v 0.469795 1.869092 0.076779 -v 0.469795 1.792314 0.108582 -v 0.469795 1.715535 0.076779 -v 0.469795 1.683733 0.000001 -v -0.461720 1.792314 -0.108580 -v -0.461720 1.715535 -0.076778 -v -0.461720 1.683733 0.000001 -v -0.461720 1.715535 0.076779 -v -0.461720 1.792314 0.108582 -v -0.461720 1.869092 0.076779 -v -0.461720 1.900895 0.000001 -v -0.461720 1.869092 -0.076778 -v 0.355496 1.598891 -0.003962 -v 0.354740 1.977090 -0.058046 -v 0.341458 1.959609 1.873490 -v 0.340702 2.337807 1.873490 -v 0.341459 1.959608 3.930497 -v 0.340703 2.337807 3.930497 -v 0.340888 2.245078 2.671944 -v 0.341066 2.155873 2.708894 -v 0.341244 2.066667 2.671944 -v 0.340814 2.282028 2.582738 -v 0.341318 2.029717 2.582738 -v 0.340888 2.245078 2.493533 -v 0.341244 2.066667 2.493533 -v 0.341066 2.155873 2.456583 -v 0.340888 2.245078 2.292009 -v 0.341066 2.155873 2.328959 -v 0.341244 2.066667 2.292009 -v 0.340814 2.282028 2.202804 -v 0.341318 2.029717 2.202804 -v 0.340888 2.245078 2.113599 -v 0.341244 2.066667 2.113599 -v 0.341066 2.155873 2.076648 -v 0.340888 2.245078 2.859306 -v 0.341244 2.066667 2.859307 -v 0.341318 2.029717 2.948511 -v 0.341066 2.155873 2.822356 -v 0.340814 2.282028 2.948512 -v 0.341244 2.066667 3.037717 -v 0.340888 2.245078 3.037717 -v 0.341066 2.155873 3.203147 -v 0.341244 2.066667 3.240097 -v 0.341066 2.155873 3.074667 -v 0.340814 2.282028 3.329302 -v 0.340888 2.245078 3.240097 -v 0.341318 2.029717 3.329302 -v 0.340888 2.245078 3.418508 -v 0.341244 2.066667 3.418507 -v 0.341066 2.155873 3.455458 -v 0.357520 1.598891 -0.003962 -v 0.356764 1.977090 -0.058046 -v 0.343482 1.959609 1.873490 -v 0.342726 2.337808 1.873490 -v 0.343483 1.959609 3.930497 -v 0.342727 2.337807 3.930497 -v 0.342912 2.245078 2.671944 -v 0.343090 2.155873 2.708894 -v 0.343268 2.066667 2.671944 -v 0.342838 2.282028 2.582738 -v 0.343342 2.029717 2.582738 -v 0.342912 2.245078 2.493533 -v 0.343268 2.066667 2.493533 -v 0.343090 2.155873 2.456583 -v 0.342912 2.245078 2.292009 -v 0.343090 2.155873 2.328959 -v 0.343268 2.066667 2.292009 -v 0.342838 2.282028 2.202804 -v 0.343342 2.029717 2.202804 -v 0.342912 2.245078 2.113599 -v 0.343268 2.066667 2.113599 -v 0.343090 2.155873 2.076648 -v 0.342912 2.245078 2.859306 -v 0.343268 2.066667 2.859307 -v 0.343342 2.029717 2.948512 -v 0.343090 2.155873 2.822356 -v 0.342838 2.282028 2.948511 -v 0.343268 2.066667 3.037717 -v 0.342912 2.245078 3.037716 -v 0.343090 2.155873 3.203147 -v 0.343268 2.066667 3.240097 -v 0.343090 2.155873 3.074667 -v 0.342838 2.282028 3.329302 -v 0.342912 2.245078 3.240097 -v 0.343342 2.029717 3.329302 -v 0.342912 2.245078 3.418508 -v 0.343269 2.066667 3.418507 -v 0.343090 2.155873 3.455457 -v -0.346320 1.598892 -0.003962 -v -0.347076 1.977091 -0.058045 -v -0.353683 1.959627 1.873524 -v -0.354998 2.337825 1.873522 -v -0.374964 1.959569 3.930422 -v -0.376280 2.337767 3.930419 -v -0.362937 2.245073 2.671933 -v -0.363008 2.155867 2.708882 -v -0.362316 2.066663 2.671935 -v -0.362142 2.282025 2.582732 -v -0.361264 2.029716 2.582734 -v -0.361091 2.245078 2.493532 -v -0.360470 2.066668 2.493534 -v -0.360398 2.155874 2.456585 -v -0.359006 2.245084 2.292019 -v -0.359078 2.155878 2.328968 -v -0.358385 2.066674 2.292021 -v -0.358211 2.282036 2.202818 -v -0.357334 2.029727 2.202820 -v -0.357160 2.245089 2.113619 -v -0.356539 2.066679 2.113620 -v -0.356467 2.155885 2.076671 -v -0.364875 2.245068 2.859286 -v -0.364254 2.066658 2.859288 -v -0.365049 2.029706 2.948488 -v -0.364182 2.155864 2.822339 -v -0.365926 2.282015 2.948486 -v -0.366100 2.066653 3.037689 -v -0.366721 2.245063 3.037687 -v -0.368122 2.155853 3.203109 -v -0.368194 2.066647 3.240057 -v -0.366793 2.155857 3.074636 -v -0.369866 2.282004 3.329256 -v -0.368815 2.245057 3.240056 -v -0.368988 2.029695 3.329258 -v -0.370660 2.245052 3.418457 -v -0.370040 2.066642 3.418458 -v -0.370732 2.155846 3.455406 -v -0.348344 1.598881 -0.003983 -v -0.349100 1.977080 -0.058066 -v -0.355707 1.959616 1.873504 -v -0.357022 2.337814 1.873501 -v -0.376988 1.959558 3.930400 -v -0.378304 2.337756 3.930398 -v -0.364960 2.245062 2.671912 -v -0.365032 2.155856 2.708861 -v -0.364340 2.066652 2.671914 -v -0.364166 2.282014 2.582711 -v -0.363288 2.029705 2.582713 -v -0.363114 2.245067 2.493511 -v -0.362494 2.066657 2.493513 -v -0.362422 2.155863 2.456564 -v -0.361030 2.245073 2.291999 -v -0.361102 2.155867 2.328947 -v -0.360409 2.066663 2.292000 -v -0.360235 2.282025 2.202798 -v -0.359358 2.029716 2.202799 -v -0.359184 2.245078 2.113598 -v -0.358563 2.066668 2.113599 -v -0.358491 2.155874 2.076650 -v -0.366899 2.245057 2.859265 -v -0.366278 2.066647 2.859267 -v -0.367073 2.029694 2.948467 -v -0.366206 2.155853 2.822318 -v -0.367950 2.282004 2.948465 -v -0.368124 2.066642 3.037668 -v -0.368745 2.245051 3.037666 -v -0.370146 2.155842 3.203087 -v -0.370218 2.066636 3.240036 -v -0.368817 2.155845 3.074614 -v -0.371890 2.281993 3.329235 -v -0.370838 2.245046 3.240035 -v -0.371012 2.029684 3.329237 -v -0.372684 2.245041 3.418436 -v -0.372064 2.066631 3.418437 -v -0.372756 2.155835 3.455384 -v 0.341459 1.956579 3.930497 -v 0.341458 1.956579 1.873490 -v -0.374964 1.956539 3.930422 -v -0.353683 1.956597 1.873524 -v -0.004690 2.368911 3.653735 -v 0.120989 2.316853 3.653735 -v 0.173046 2.191175 3.653735 -v 0.120989 2.065497 3.653736 -v -0.004690 2.013439 3.653736 -v -0.130368 2.065497 3.653735 -v -0.182425 2.191175 3.653735 -v -0.130368 2.316853 3.653735 -v -0.406867 1.940766 4.791202 -v -0.406867 1.940766 3.592421 -v 0.380420 1.940766 4.791202 -v 0.380420 1.940766 3.592420 -v -0.354001 1.954725 1.875823 -v 0.344047 1.954725 1.875823 -v -0.354001 1.954725 3.879303 -v 0.344048 1.954725 3.879303 -v -0.232148 2.451141 4.791202 -v -0.406867 2.345249 4.791202 -v -0.406867 2.345249 3.592421 -v -0.232149 2.451141 3.592421 -v 0.380420 2.345248 4.791202 -v 0.205702 2.451140 4.791202 -v 0.205701 2.451140 3.592420 -v 0.380420 2.345248 3.592420 -v 0.173331 2.039119 4.791202 -v 0.111260 2.065497 4.748067 -v 0.236315 2.191175 4.791202 -v 0.163318 2.191175 4.748067 -v -0.014802 1.961192 4.791202 -v -0.014418 2.013439 4.748067 -v -0.202934 2.039119 4.791203 -v -0.140096 2.065497 4.748067 -v -0.202934 2.343231 4.791203 -v -0.140096 2.316853 4.748067 -v -0.265918 2.191175 4.791202 -v -0.192154 2.191175 4.748067 -v 0.173331 2.343231 4.791203 -v 0.111260 2.316853 4.748067 -v -0.014801 2.421158 4.791202 -v -0.014418 2.368911 4.748067 -v 0.000000 1.315694 7.118857 -v 0.000000 1.315694 7.847215 -v 0.118402 1.266650 7.118857 -v 0.118402 1.266650 7.847215 -v 0.167446 1.148248 7.118857 -v 0.167446 1.148248 7.847215 -v 0.118402 1.029846 7.118857 -v 0.118402 1.029846 7.847215 -v -0.000000 0.980802 7.118857 -v -0.000000 0.980802 7.847215 -v -0.118402 1.029846 7.118857 -v -0.118402 1.029846 7.847215 -v -0.167446 1.148248 7.118857 -v -0.167446 1.148248 7.847215 -v -0.118402 1.266650 7.118857 -v -0.118402 1.266650 7.847215 -v 0.142582 1.290830 7.847215 -v 0.000000 1.349889 7.847215 -v 0.201641 1.148248 7.847215 -v 0.142582 1.005666 7.847215 -v -0.000000 0.946607 7.847215 -v -0.142582 1.005666 7.847215 -v -0.201641 1.148248 7.847215 -v -0.142582 1.290830 7.847215 -v 0.115253 1.263501 8.443404 -v -0.000000 1.311241 8.443404 -v 0.162993 1.148248 8.443404 -v 0.115253 1.032995 8.443404 -v -0.000000 0.985255 8.443404 -v -0.115253 1.032995 8.443404 -v -0.162993 1.148248 8.443404 -v -0.115253 1.263501 8.443404 -v 0.142582 1.290830 8.443404 -v -0.000000 1.349889 8.443404 -v 0.201641 1.148248 8.443404 -v 0.142582 1.005666 8.443404 -v -0.000000 0.946607 8.443404 -v -0.142582 1.005666 8.443404 -v -0.201641 1.148248 8.443404 -v -0.142582 1.290830 8.443404 -v 0.115253 1.263501 10.094847 -v -0.000000 1.311241 10.094847 -v 0.162993 1.148248 10.094847 -v 0.115253 1.032995 10.094847 -v -0.000000 0.985255 10.094847 -v -0.115253 1.032995 10.094847 -v -0.162993 1.148248 10.094847 -v -0.115253 1.263501 10.094847 -v -0.000000 1.739413 7.127589 -v 0.000000 1.739413 9.682537 -v 0.117851 1.690598 7.127589 -v 0.117851 1.690598 9.682537 -v 0.166667 1.572747 7.127589 -v 0.166667 1.572747 9.682537 -v 0.117851 1.454896 7.127589 -v 0.117851 1.454895 9.682537 -v -0.000000 1.406080 7.127589 -v -0.000000 1.406080 9.682537 -v -0.117851 1.454896 7.127589 -v -0.117851 1.454896 9.682537 -v -0.166667 1.572747 7.127589 -v -0.166667 1.572747 9.682537 -v -0.117851 1.690598 7.127589 -v -0.117851 1.690598 9.682537 -v 0.150885 1.723632 9.682537 -v -0.000000 1.786131 9.682537 -v 0.213384 1.572747 9.682537 -v 0.150885 1.421861 9.682537 -v -0.000000 1.359363 9.682537 -v -0.150885 1.421861 9.682537 -v -0.213384 1.572747 9.682537 -v -0.150885 1.723632 9.682537 -v 0.150885 1.723632 10.216743 -v -0.000000 1.786131 10.216743 -v 0.213384 1.572747 10.216743 -v 0.150885 1.421861 10.216743 -v -0.000000 1.359363 10.216743 -v -0.150886 1.421861 10.216743 -v -0.213384 1.572747 10.216743 -v -0.150886 1.723632 10.216743 -v 0.000000 1.739413 9.338546 -v 0.117851 1.690598 9.338546 -v 0.166667 1.572747 9.338546 -v 0.117851 1.454895 9.338546 -v -0.000000 1.406080 9.338546 -v -0.117851 1.454896 9.338546 -v -0.166667 1.572747 9.338546 -v -0.117851 1.690598 9.338546 -v -0.000000 2.059518 9.667969 -v -0.000000 2.059518 9.448745 -v 0.000000 1.739413 9.682537 -v -0.405685 1.923849 4.358274 -v -0.405685 1.923849 2.912947 -v 0.405685 1.923849 4.358274 -v 0.405685 1.923849 2.912947 -v -0.405685 1.798284 4.619242 -v 0.405685 1.798284 4.619242 -v -0.405685 1.798284 7.148043 -v 0.405685 1.798284 7.148043 -v -0.289699 0.969287 4.358274 -v -0.405685 1.112237 4.358274 -v -0.289699 0.969287 2.912947 -v -0.405685 1.112237 2.912947 -v 0.405685 1.112237 4.358274 -v 0.289699 0.969287 4.358274 -v 0.405685 1.112237 2.912947 -v 0.289699 0.969287 2.912947 -v -0.289699 0.969287 4.619242 -v -0.405685 1.112237 4.619242 -v 0.405685 1.112237 4.619242 -v 0.289699 0.969287 4.619242 -v -0.405685 1.112237 7.148043 -v -0.289699 0.969287 7.148043 -v 0.289699 0.969287 7.148043 -v 0.405685 1.112237 7.148043 -v 0.405685 1.528667 3.008653 -v 0.405685 1.382289 3.008653 -v 0.405685 1.528667 4.328139 -v 0.405685 1.382289 4.374518 -v 0.405685 1.525686 4.589107 -v 0.405685 1.384835 4.635486 -v 0.405685 1.525686 7.052337 -v 0.405685 1.384835 7.052337 -v -0.405685 1.382289 4.374518 -v -0.405685 1.528667 4.328139 -v -0.405685 1.528667 3.008653 -v -0.405685 1.382289 3.008653 -v -0.405685 1.384835 4.635486 -v -0.405685 1.525686 4.589107 -v -0.405685 1.384835 7.052337 -v -0.405685 1.525686 7.052337 -v 0.405685 1.572582 2.912947 -v 0.405685 1.338374 2.912947 -v 0.405685 1.569602 7.148043 -v 0.405685 1.340920 7.148043 -v 0.405685 1.340920 4.619242 -v 0.405685 1.569602 4.619242 -v 0.405685 1.338374 4.358274 -v 0.405685 1.572582 4.358274 -v -0.405685 1.572582 2.912947 -v -0.405685 1.338374 2.912947 -v -0.405685 1.340920 7.148043 -v -0.405685 1.569602 7.148043 -v -0.405685 1.569602 4.619242 -v -0.405685 1.340920 4.619242 -v -0.405685 1.572582 4.358274 -v -0.405685 1.338374 4.358274 -v 0.328656 1.528667 4.328139 -v 0.328656 1.382289 4.374518 -v 0.328656 1.525686 4.589107 -v 0.328656 1.384835 4.635486 -v 0.328656 1.528667 3.008653 -v 0.328656 1.382289 3.008653 -v 0.328656 1.525686 7.052337 -v 0.328656 1.384835 7.052337 -v -0.344691 1.382289 4.374518 -v -0.344691 1.528667 4.328139 -v -0.344691 1.384835 4.635486 -v -0.344691 1.525686 4.589107 -v -0.344691 1.528667 3.008653 -v -0.344691 1.382289 3.008653 -v -0.344691 1.384835 7.052337 -v -0.344691 1.525686 7.052337 -v -0.049907 0.888719 0.860207 -v -0.049907 1.065321 0.860207 -v -0.049907 0.888719 0.779505 -v -0.049907 1.065321 0.725059 -v 0.057982 0.888719 0.860207 -v 0.057982 1.065321 0.860207 -v 0.057982 0.888719 0.779505 -v 0.057982 1.065321 0.725059 -v -0.049907 0.736731 0.747116 -v 0.057982 0.736731 0.747116 -v -0.152407 0.831944 1.780747 -v -0.152407 1.063158 1.780747 -v -0.152407 0.705619 1.353734 -v -0.152407 1.063158 1.353734 -v 0.160482 0.831944 1.780747 -v 0.160482 1.063158 1.780747 -v 0.160482 0.705619 1.353734 -v 0.160482 1.063158 1.353734 -v 0.212140 -0.964352 0.214434 -v 0.337371 -0.964352 -0.043596 -v 0.337371 0.363268 0.456403 -v 0.212140 0.363268 0.714434 -v -0.329296 -0.964352 -0.043596 -v -0.204065 -0.964352 0.214434 -v -0.204065 0.363268 0.714434 -v -0.329296 0.363268 0.456403 -v 0.337371 -0.964352 -0.497196 -v 0.212140 -0.964353 -0.785566 -v 0.212140 0.363268 -0.035566 -v 0.337371 0.363268 0.252804 -v -0.204066 -0.964353 -0.785566 -v -0.329296 -0.964352 -0.497196 -v -0.329296 0.363268 0.252804 -v -0.204065 0.363268 -0.035566 -v -0.204065 -1.212434 0.363501 -v -0.329296 -1.212434 0.105471 -v 0.337371 -1.212434 0.105471 -v 0.212140 -1.212434 0.363501 -v -0.329296 -1.212434 -0.348129 -v -0.204065 -1.212434 -0.636499 -v 0.212140 -1.212434 -0.636499 -v 0.337371 -1.212434 -0.348129 -v 0.337371 0.737960 0.403588 -v 0.212140 0.737960 0.661618 -v -0.204065 0.737960 0.661618 -v -0.329296 0.737960 0.403588 -v -0.329296 0.737960 -0.328542 -v -0.204065 0.737960 -0.616911 -v 0.212140 0.737960 -0.616911 -v 0.337371 0.737960 -0.328542 -v 0.212140 1.075558 0.661618 -v 0.337371 1.075558 0.403588 -v -0.329296 1.075558 0.403588 -v -0.204065 1.075558 0.661618 -v -0.204066 1.075558 -0.616911 -v -0.329296 1.075558 -0.328542 -v 0.337371 1.075558 -0.328542 -v 0.212140 1.075558 -0.616911 -v -0.147016 0.719602 1.371418 -v 0.155090 0.719602 1.371418 -v -0.147016 0.719602 0.645907 -v 0.155090 0.719602 0.645907 -v -0.147016 0.620284 1.008663 -v 0.155090 0.620284 1.008663 -v -0.147016 0.620284 1.190040 -v 0.155090 0.620284 1.190040 -v -0.145183 0.719602 1.367017 -v 0.153258 0.719602 1.367017 -v -0.145183 0.719602 0.650309 -v 0.153258 0.719602 0.650309 -v -0.145183 0.621489 1.008663 -v 0.153258 0.621489 1.008663 -v -0.145183 0.621489 1.187840 -v 0.153258 0.621489 1.187840 -v -0.182936 1.772534 2.404954 -v -0.519915 1.772534 2.404954 -v -0.182936 1.822573 2.426134 -v -0.519915 1.822573 2.425681 -v -0.182936 1.772534 2.446860 -v -0.519915 1.772534 2.446860 -v -0.194255 1.718664 2.424850 -v -0.519915 1.720129 2.426178 -v -0.210307 1.836682 1.008561 -v -0.210307 1.836682 2.846646 -v -0.100311 1.850322 1.008561 -v -0.100311 1.850322 2.846646 -v -0.264802 1.639263 1.008561 -v -0.264802 1.639262 2.846646 -v -0.278441 1.749259 1.008561 -v -0.278441 1.749258 2.846646 -v -0.335002 1.045853 2.943055 -v -0.335003 1.698259 2.943055 -v -0.335002 1.045853 -0.679456 -v -0.335002 1.698259 -0.452921 -v 0.339998 1.045853 2.943055 -v 0.339998 1.698259 2.943055 -v 0.339998 1.045853 -0.679456 -v 0.339998 1.698259 -0.452921 -v -0.195099 1.902804 2.943055 -v -0.195099 1.902804 -0.452921 -v 0.200094 1.902804 -0.452921 -v 0.200094 1.902804 2.943055 -v -0.335002 1.698259 1.313965 -v -0.195099 1.902804 1.313965 -v -0.335003 1.698259 2.497503 -v -0.195099 1.902804 2.497503 -v -0.201521 1.606961 2.497503 -v -0.201521 1.606961 1.313965 -v -0.061617 1.811506 2.497503 -v -0.061617 1.811506 1.313965 +v 0.363464 1.792314 0.108580 +v -0.371539 1.792314 0.108580 +v 0.363464 1.715535 0.076778 +v -0.371539 1.715535 0.076778 +v 0.363464 1.683733 -0.000001 +v -0.371539 1.683733 -0.000001 +v 0.363464 1.715535 -0.076779 +v -0.371539 1.715535 -0.076779 +v 0.363464 1.792314 -0.108582 +v -0.371539 1.792314 -0.108582 +v 0.363464 1.869092 -0.076779 +v -0.371539 1.869092 -0.076779 +v 0.363464 1.900895 -0.000001 +v -0.371539 1.900895 -0.000001 +v 0.363464 1.869092 0.076778 +v -0.371539 1.869092 0.076778 +v 0.363464 1.792314 0.222732 +v 0.363464 1.634818 0.157495 +v -0.371539 1.634818 0.157495 +v -0.371539 1.792314 0.222732 +v 0.363464 1.569581 -0.000001 +v -0.371539 1.569581 -0.000001 +v 0.363464 1.634818 -0.157496 +v -0.371539 1.634818 -0.157496 +v 0.363464 1.792314 -0.222733 +v -0.371539 1.792314 -0.222733 +v 0.363464 1.949810 -0.157496 +v -0.371539 1.949810 -0.157496 +v 0.363464 2.015046 -0.000001 +v -0.371539 2.015046 -0.000001 +v 0.363464 1.949810 0.157495 +v -0.371539 1.949810 0.157495 +v -0.469795 1.715535 0.076778 +v -0.469795 1.792314 0.108580 +v -0.469795 1.869092 0.076778 +v -0.469795 1.900895 -0.000001 +v -0.469795 1.869092 -0.076779 +v -0.469795 1.792314 -0.108582 +v -0.469795 1.715535 -0.076779 +v -0.469795 1.683733 -0.000001 +v 0.461720 1.792314 0.108580 +v 0.461720 1.715535 0.076778 +v 0.461720 1.683733 -0.000001 +v 0.461720 1.715535 -0.076779 +v 0.461720 1.792314 -0.108582 +v 0.461720 1.869092 -0.076779 +v 0.461720 1.900895 -0.000001 +v 0.461720 1.869092 0.076778 +v -0.355496 1.598891 0.003962 +v -0.354740 1.977090 0.058046 +v -0.341458 1.959609 -1.873490 +v -0.340702 2.337807 -1.873490 +v -0.341458 1.959608 -3.930497 +v -0.340702 2.337807 -3.930497 +v -0.340888 2.245078 -2.671944 +v -0.341066 2.155873 -2.708894 +v -0.341244 2.066667 -2.671944 +v -0.340814 2.282028 -2.582738 +v -0.341318 2.029717 -2.582738 +v -0.340888 2.245078 -2.493533 +v -0.341244 2.066667 -2.493533 +v -0.341066 2.155873 -2.456583 +v -0.340888 2.245078 -2.292009 +v -0.341066 2.155873 -2.328959 +v -0.341244 2.066667 -2.292009 +v -0.340814 2.282028 -2.202804 +v -0.341318 2.029717 -2.202804 +v -0.340888 2.245078 -2.113599 +v -0.341244 2.066667 -2.113599 +v -0.341066 2.155873 -2.076648 +v -0.340888 2.245078 -2.859306 +v -0.341244 2.066667 -2.859307 +v -0.341318 2.029717 -2.948511 +v -0.341066 2.155873 -2.822356 +v -0.340814 2.282028 -2.948512 +v -0.341244 2.066667 -3.037717 +v -0.340888 2.245078 -3.037717 +v -0.341066 2.155873 -3.203147 +v -0.341244 2.066667 -3.240097 +v -0.341066 2.155873 -3.074667 +v -0.340813 2.282028 -3.329302 +v -0.340888 2.245078 -3.240097 +v -0.341318 2.029717 -3.329302 +v -0.340887 2.245078 -3.418508 +v -0.341244 2.066667 -3.418507 +v -0.341065 2.155873 -3.455458 +v -0.357520 1.598891 0.003962 +v -0.356764 1.977090 0.058046 +v -0.343482 1.959609 -1.873490 +v -0.342726 2.337808 -1.873490 +v -0.343482 1.959609 -3.930497 +v -0.342726 2.337807 -3.930497 +v -0.342912 2.245078 -2.671944 +v -0.343090 2.155873 -2.708894 +v -0.343268 2.066667 -2.671944 +v -0.342838 2.282028 -2.582738 +v -0.343342 2.029717 -2.582738 +v -0.342912 2.245078 -2.493533 +v -0.343268 2.066667 -2.493533 +v -0.343090 2.155873 -2.456583 +v -0.342912 2.245078 -2.292009 +v -0.343090 2.155873 -2.328959 +v -0.343268 2.066667 -2.292009 +v -0.342838 2.282028 -2.202804 +v -0.343342 2.029717 -2.202804 +v -0.342912 2.245078 -2.113599 +v -0.343268 2.066667 -2.113599 +v -0.343090 2.155873 -2.076648 +v -0.342912 2.245078 -2.859306 +v -0.343268 2.066667 -2.859307 +v -0.343342 2.029717 -2.948512 +v -0.343090 2.155873 -2.822356 +v -0.342838 2.282028 -2.948511 +v -0.343268 2.066667 -3.037717 +v -0.342912 2.245078 -3.037716 +v -0.343090 2.155873 -3.203147 +v -0.343268 2.066667 -3.240097 +v -0.343090 2.155873 -3.074667 +v -0.342837 2.282028 -3.329302 +v -0.342912 2.245078 -3.240097 +v -0.343341 2.029717 -3.329302 +v -0.342911 2.245078 -3.418508 +v -0.343268 2.066667 -3.418507 +v -0.343089 2.155873 -3.455457 +v 0.346320 1.598892 0.003962 +v 0.347076 1.977091 0.058045 +v 0.353683 1.959627 -1.873524 +v 0.354998 2.337825 -1.873522 +v 0.374965 1.959569 -3.930422 +v 0.376281 2.337767 -3.930419 +v 0.362937 2.245073 -2.671933 +v 0.363008 2.155867 -2.708882 +v 0.362316 2.066663 -2.671935 +v 0.362142 2.282025 -2.582732 +v 0.361264 2.029716 -2.582734 +v 0.361091 2.245078 -2.493532 +v 0.360470 2.066668 -2.493534 +v 0.360398 2.155874 -2.456585 +v 0.359006 2.245084 -2.292019 +v 0.359078 2.155878 -2.328968 +v 0.358385 2.066674 -2.292021 +v 0.358211 2.282036 -2.202818 +v 0.357334 2.029727 -2.202820 +v 0.357160 2.245089 -2.113619 +v 0.356539 2.066679 -2.113620 +v 0.356467 2.155885 -2.076671 +v 0.364875 2.245068 -2.859286 +v 0.364254 2.066658 -2.859288 +v 0.365049 2.029706 -2.948488 +v 0.364182 2.155864 -2.822339 +v 0.365926 2.282015 -2.948486 +v 0.366100 2.066653 -3.037689 +v 0.366721 2.245063 -3.037687 +v 0.368122 2.155853 -3.203109 +v 0.368194 2.066647 -3.240057 +v 0.366793 2.155857 -3.074636 +v 0.369867 2.282004 -3.329256 +v 0.368815 2.245057 -3.240056 +v 0.368989 2.029695 -3.329258 +v 0.370661 2.245052 -3.418457 +v 0.370041 2.066642 -3.418458 +v 0.370733 2.155846 -3.455406 +v 0.348344 1.598881 0.003983 +v 0.349100 1.977080 0.058066 +v 0.355707 1.959616 -1.873504 +v 0.357022 2.337814 -1.873501 +v 0.376989 1.959558 -3.930400 +v 0.378305 2.337756 -3.930398 +v 0.364960 2.245062 -2.671912 +v 0.365032 2.155856 -2.708861 +v 0.364340 2.066652 -2.671914 +v 0.364166 2.282014 -2.582711 +v 0.363288 2.029705 -2.582713 +v 0.363114 2.245067 -2.493511 +v 0.362494 2.066657 -2.493513 +v 0.362422 2.155863 -2.456564 +v 0.361030 2.245073 -2.291999 +v 0.361102 2.155867 -2.328947 +v 0.360409 2.066663 -2.292000 +v 0.360235 2.282025 -2.202798 +v 0.359358 2.029716 -2.202799 +v 0.359184 2.245078 -2.113598 +v 0.358563 2.066668 -2.113599 +v 0.358491 2.155874 -2.076650 +v 0.366899 2.245057 -2.859265 +v 0.366278 2.066647 -2.859267 +v 0.367073 2.029694 -2.948467 +v 0.366206 2.155853 -2.822318 +v 0.367950 2.282004 -2.948465 +v 0.368124 2.066642 -3.037668 +v 0.368745 2.245051 -3.037666 +v 0.370146 2.155842 -3.203087 +v 0.370218 2.066636 -3.240036 +v 0.368817 2.155845 -3.074614 +v 0.371891 2.281993 -3.329235 +v 0.370838 2.245046 -3.240035 +v 0.371013 2.029684 -3.329237 +v 0.372685 2.245041 -3.418436 +v 0.372065 2.066631 -3.418437 +v 0.372757 2.155835 -3.455384 +v -0.341458 1.956579 -3.930497 +v -0.341458 1.956579 -1.873490 +v 0.374965 1.956539 -3.930422 +v 0.353683 1.956597 -1.873524 +v 0.004691 2.368911 -3.653735 +v -0.120988 2.316853 -3.653735 +v -0.173045 2.191175 -3.653735 +v -0.120988 2.065497 -3.653736 +v 0.004691 2.013439 -3.653736 +v 0.130369 2.065497 -3.653735 +v 0.182426 2.191175 -3.653735 +v 0.130369 2.316853 -3.653735 +v 0.406868 1.940766 -4.791202 +v 0.406868 1.940766 -3.592421 +v -0.380419 1.940766 -4.791202 +v -0.380419 1.940766 -3.592420 +v 0.354001 1.954725 -1.875823 +v -0.344047 1.954725 -1.875823 +v 0.354002 1.954725 -3.879303 +v -0.344047 1.954725 -3.879303 +v 0.232149 2.451141 -4.791202 +v 0.406868 2.345249 -4.791202 +v 0.406868 2.345249 -3.592421 +v 0.232150 2.451141 -3.592421 +v -0.380419 2.345248 -4.791202 +v -0.205701 2.451140 -4.791202 +v -0.205700 2.451140 -3.592420 +v -0.380419 2.345248 -3.592420 +v -0.173330 2.039119 -4.791202 +v -0.111259 2.065497 -4.748067 +v -0.236314 2.191175 -4.791202 +v -0.163317 2.191175 -4.748067 +v 0.014803 1.961192 -4.791202 +v 0.014419 2.013439 -4.748067 +v 0.202935 2.039119 -4.791203 +v 0.140097 2.065497 -4.748067 +v 0.202935 2.343231 -4.791203 +v 0.140097 2.316853 -4.748067 +v 0.265919 2.191175 -4.791202 +v 0.192155 2.191175 -4.748067 +v -0.173330 2.343231 -4.791203 +v -0.111259 2.316853 -4.748067 +v 0.014802 2.421158 -4.791202 +v 0.014419 2.368911 -4.748067 +v 0.000001 1.315694 -7.118857 +v 0.000001 1.315694 -7.847215 +v -0.118401 1.266650 -7.118857 +v -0.118401 1.266650 -7.847215 +v -0.167445 1.148248 -7.118857 +v -0.167445 1.148248 -7.847215 +v -0.118401 1.029846 -7.118857 +v -0.118401 1.029846 -7.847215 +v 0.000001 0.980802 -7.118857 +v 0.000001 0.980802 -7.847215 +v 0.118403 1.029846 -7.118857 +v 0.118403 1.029846 -7.847215 +v 0.167447 1.148248 -7.118857 +v 0.167447 1.148248 -7.847215 +v 0.118403 1.266650 -7.118857 +v 0.118403 1.266650 -7.847215 +v -0.142581 1.290830 -7.847215 +v 0.000001 1.349889 -7.847215 +v -0.201640 1.148248 -7.847215 +v -0.142581 1.005666 -7.847215 +v 0.000001 0.946607 -7.847215 +v 0.142583 1.005666 -7.847215 +v 0.201642 1.148248 -7.847215 +v 0.142583 1.290830 -7.847215 +v -0.115252 1.263501 -8.443404 +v 0.000001 1.311241 -8.443404 +v -0.162992 1.148248 -8.443404 +v -0.115252 1.032995 -8.443404 +v 0.000001 0.985255 -8.443404 +v 0.115254 1.032995 -8.443404 +v 0.162994 1.148248 -8.443404 +v 0.115254 1.263501 -8.443404 +v -0.142581 1.290830 -8.443404 +v 0.000001 1.349889 -8.443404 +v -0.201640 1.148248 -8.443404 +v -0.142581 1.005666 -8.443404 +v 0.000001 0.946607 -8.443404 +v 0.142583 1.005666 -8.443404 +v 0.201642 1.148248 -8.443404 +v 0.142583 1.290830 -8.443404 +v -0.115251 1.263501 -10.094847 +v 0.000002 1.311241 -10.094847 +v -0.162991 1.148247 -10.094847 +v -0.115251 1.032995 -10.094847 +v 0.000002 0.985255 -10.094847 +v 0.115255 1.032995 -10.094847 +v 0.162995 1.148247 -10.094847 +v 0.115255 1.263501 -10.094847 +v 0.000001 1.739413 -7.127589 +v 0.000001 1.739413 -9.682537 +v -0.117850 1.690598 -7.127589 +v -0.117850 1.690598 -9.682537 +v -0.166666 1.572747 -7.127589 +v -0.166666 1.572747 -9.682537 +v -0.117850 1.454896 -7.127589 +v -0.117850 1.454895 -9.682537 +v 0.000001 1.406080 -7.127589 +v 0.000001 1.406080 -9.682537 +v 0.117852 1.454896 -7.127589 +v 0.117852 1.454895 -9.682537 +v 0.166668 1.572747 -7.127589 +v 0.166668 1.572747 -9.682537 +v 0.117852 1.690598 -7.127589 +v 0.117852 1.690598 -9.682537 +v -0.150884 1.723632 -9.682537 +v 0.000001 1.786131 -9.682537 +v -0.213383 1.572747 -9.682537 +v -0.150884 1.421861 -9.682537 +v 0.000001 1.359362 -9.682537 +v 0.150886 1.421861 -9.682537 +v 0.213385 1.572747 -9.682537 +v 0.150886 1.723632 -9.682537 +v -0.150883 1.723632 -10.216743 +v 0.000002 1.786131 -10.216743 +v -0.213382 1.572747 -10.216743 +v -0.150883 1.421861 -10.216743 +v 0.000002 1.359362 -10.216743 +v 0.150888 1.421861 -10.216743 +v 0.213386 1.572747 -10.216743 +v 0.150888 1.723632 -10.216743 +v 0.000001 1.739413 -9.338546 +v -0.117850 1.690598 -9.338546 +v -0.166666 1.572747 -9.338546 +v -0.117850 1.454895 -9.338546 +v 0.000001 1.406080 -9.338546 +v 0.117852 1.454896 -9.338546 +v 0.166668 1.572747 -9.338546 +v 0.117852 1.690598 -9.338546 +v 0.000001 2.059518 -9.667969 +v 0.000001 2.059518 -9.448745 +v 0.000001 1.739413 -9.682537 +v 0.405686 1.923849 -4.358274 +v 0.405685 1.923849 -2.912947 +v -0.405684 1.923849 -4.358274 +v -0.405685 1.923849 -2.912947 +v 0.405686 1.798284 -4.619242 +v -0.405684 1.798284 -4.619242 +v 0.405686 1.798284 -7.148043 +v -0.405684 1.798284 -7.148043 +v 0.289700 0.969287 -4.358274 +v 0.405686 1.112237 -4.358274 +v 0.289699 0.969287 -2.912947 +v 0.405685 1.112237 -2.912947 +v -0.405684 1.112237 -4.358274 +v -0.289698 0.969287 -4.358274 +v -0.405685 1.112237 -2.912947 +v -0.289699 0.969287 -2.912947 +v 0.289700 0.969287 -4.619242 +v 0.405686 1.112237 -4.619242 +v -0.405684 1.112237 -4.619242 +v -0.289698 0.969287 -4.619242 +v 0.405686 1.112237 -7.148043 +v 0.289700 0.969287 -7.148043 +v -0.289698 0.969287 -7.148043 +v -0.405684 1.112237 -7.148043 +v -0.405685 1.528667 -3.008653 +v -0.405685 1.382289 -3.008653 +v -0.405684 1.528667 -4.328139 +v -0.405684 1.382289 -4.374518 +v -0.405684 1.525686 -4.589107 +v -0.405684 1.384835 -4.635486 +v -0.405684 1.525686 -7.052337 +v -0.405684 1.384835 -7.052337 +v 0.405686 1.382289 -4.374518 +v 0.405686 1.528667 -4.328139 +v 0.405685 1.528667 -3.008653 +v 0.405685 1.382289 -3.008653 +v 0.405686 1.384835 -4.635486 +v 0.405686 1.525686 -4.589107 +v 0.405686 1.384835 -7.052337 +v 0.405686 1.525686 -7.052337 +v -0.405685 1.572582 -2.912947 +v -0.405685 1.338374 -2.912947 +v -0.405684 1.569602 -7.148043 +v -0.405684 1.340920 -7.148043 +v -0.405684 1.340920 -4.619242 +v -0.405684 1.569602 -4.619242 +v -0.405684 1.338374 -4.358274 +v -0.405684 1.572582 -4.358274 +v 0.405685 1.572582 -2.912947 +v 0.405685 1.338374 -2.912947 +v 0.405686 1.340920 -7.148043 +v 0.405686 1.569602 -7.148043 +v 0.405686 1.569602 -4.619242 +v 0.405686 1.340920 -4.619242 +v 0.405686 1.572582 -4.358274 +v 0.405686 1.338374 -4.358274 +v -0.328655 1.528667 -4.328139 +v -0.328655 1.382289 -4.374518 +v -0.328655 1.525686 -4.589107 +v -0.328655 1.384835 -4.635486 +v -0.328656 1.528667 -3.008653 +v -0.328656 1.382289 -3.008653 +v -0.328655 1.525686 -7.052337 +v -0.328655 1.384835 -7.052337 +v 0.344692 1.382289 -4.374518 +v 0.344692 1.528667 -4.328139 +v 0.344692 1.384835 -4.635486 +v 0.344692 1.525686 -4.589107 +v 0.344691 1.528667 -3.008653 +v 0.344691 1.382289 -3.008653 +v 0.344692 1.384835 -7.052337 +v 0.344692 1.525686 -7.052337 +v 0.049907 0.888719 -0.860207 +v 0.049907 1.065321 -0.860207 +v 0.049907 0.888719 -0.779505 +v 0.049907 1.065321 -0.725059 +v -0.057982 0.888719 -0.860207 +v -0.057982 1.065321 -0.860207 +v -0.057982 0.888719 -0.779505 +v -0.057982 1.065321 -0.725059 +v 0.049907 0.736731 -0.747116 +v -0.057982 0.736731 -0.747116 +v 0.152407 0.831944 -1.780747 +v 0.152407 1.063158 -1.780747 +v 0.152407 0.705619 -1.353734 +v 0.152407 1.063158 -1.353734 +v -0.160482 0.831944 -1.780747 +v -0.160482 1.063158 -1.780747 +v -0.160482 0.705619 -1.353734 +v -0.160482 1.063158 -1.353734 +v -0.212140 -0.964352 -0.214434 +v -0.337371 -0.964352 0.043596 +v -0.337371 0.363268 -0.456403 +v -0.212140 0.363268 -0.714434 +v 0.329296 -0.964352 0.043596 +v 0.204065 -0.964352 -0.214434 +v 0.204065 0.363268 -0.714434 +v 0.329296 0.363268 -0.456403 +v -0.337371 -0.964352 0.497196 +v -0.212140 -0.964353 0.785566 +v -0.212140 0.363268 0.035566 +v -0.337371 0.363268 -0.252804 +v 0.204066 -0.964353 0.785566 +v 0.329296 -0.964352 0.497196 +v 0.329296 0.363268 -0.252804 +v 0.204065 0.363268 0.035566 +v 0.204065 -1.212434 -0.363501 +v 0.329296 -1.212434 -0.105471 +v -0.337371 -1.212434 -0.105471 +v -0.212140 -1.212434 -0.363501 +v 0.329296 -1.212434 0.348129 +v 0.204065 -1.212434 0.636499 +v -0.212140 -1.212434 0.636499 +v -0.337371 -1.212434 0.348129 +v -0.337371 0.737960 -0.403588 +v -0.212140 0.737960 -0.661618 +v 0.204065 0.737960 -0.661618 +v 0.329296 0.737960 -0.403588 +v 0.329296 0.737960 0.328542 +v 0.204065 0.737960 0.616911 +v -0.212140 0.737960 0.616911 +v -0.337371 0.737960 0.328542 +v -0.212140 1.075558 -0.661618 +v -0.337371 1.075558 -0.403588 +v 0.329296 1.075558 -0.403588 +v 0.204065 1.075558 -0.661618 +v 0.204066 1.075558 0.616911 +v 0.329296 1.075558 0.328542 +v -0.337371 1.075558 0.328542 +v -0.212140 1.075558 0.616911 +v 0.147016 0.719602 -1.371418 +v -0.155090 0.719602 -1.371418 +v 0.147016 0.719602 -0.645907 +v -0.155090 0.719602 -0.645907 +v 0.147016 0.620284 -1.008663 +v -0.155090 0.620284 -1.008663 +v 0.147016 0.620284 -1.190040 +v -0.155090 0.620284 -1.190040 +v 0.145183 0.719602 -1.367017 +v -0.153258 0.719602 -1.367017 +v 0.145183 0.719602 -0.650309 +v -0.153258 0.719602 -0.650309 +v 0.145183 0.621489 -1.008663 +v -0.153258 0.621489 -1.008663 +v 0.145183 0.621489 -1.187840 +v -0.153258 0.621489 -1.187840 +v 0.335002 1.045853 -2.943055 +v 0.335003 1.698259 -2.943055 +v 0.335002 1.045853 0.679456 +v 0.335002 1.698259 0.452921 +v -0.339998 1.045853 -2.943055 +v -0.339998 1.698259 -2.943055 +v -0.339998 1.045853 0.679456 +v -0.339998 1.698259 0.452921 +v 0.195099 1.902804 -2.943055 +v 0.195099 1.902804 0.452921 +v -0.200094 1.902804 0.452921 +v -0.200094 1.902804 -2.943055 +v 0.335002 1.698259 -1.313965 +v 0.195099 1.902804 -1.313965 +v 0.335003 1.698259 -2.497503 +v 0.195099 1.902804 -2.497503 +v 0.201521 1.606961 -2.497503 +v 0.201521 1.606961 -1.313965 +v 0.061617 1.811506 -2.497503 +v 0.061617 1.811506 -1.313965 +v 0.335003 1.574884 -2.498426 +v 0.335003 1.573266 -1.314070 +vn 1.0000 -0.0000 -0.0000 +vn -1.0000 -0.0000 -0.0000 +vn 1.0000 -0.0030 0.0069 +vn 1.0000 -0.0020 -0.0000 +vn -1.0000 0.0030 -0.0069 +vn -1.0000 0.0020 -0.0000 +vn -1.0000 0.0025 -0.0034 +vn -0.9999 0.0035 -0.0103 +vn 1.0000 -0.0025 0.0034 +vn 0.9999 -0.0034 0.0103 +vn 0.9999 -0.0035 0.0103 +vn -0.0000 1.0000 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn -0.0000 -1.0000 -0.0000 +vn -0.0000 -0.0000 1.0000 +vn -0.0000 0.0001 1.0000 +vn 0.1336 0.3226 0.9371 +vn -0.9526 0.3043 -0.0000 +vn -0.1336 0.3226 0.9371 +vn -0.0188 0.0455 -0.9988 +vn 0.0188 0.0455 -0.9988 +vn 0.9526 0.3043 -0.0000 +vn -0.0000 0.9011 -0.4336 +vn -0.0000 1.0000 0.0098 +vn -0.0000 -0.9999 0.0114 +vn -0.0000 0.3280 0.9447 +vn 0.8254 0.5646 -0.0000 +vn 0.0051 -0.0075 1.0000 +vn 0.5645 -0.8254 -0.0000 +vn 1.0000 -0.0020 0.0069 +vn -1.0000 0.0020 -0.0069 +vn -1.0000 0.0035 -0.0035 +vn 1.0000 -0.0035 0.0035 +vn 0.0001 1.0000 -0.0000 +vn -0.0000 -0.0001 1.0000 +vn -0.0006 0.0008 -1.0000 +vn -0.6302 -0.0001 0.7764 +vn 0.6302 -0.5490 0.5490 +vn 0.6302 -0.0000 0.7764 +vn -0.6302 -0.5490 0.5490 +vn 0.6302 -0.7764 -0.0000 +vn -0.6302 -0.7764 -0.0000 +vn 0.6302 -0.5490 -0.5490 +vn -0.6302 -0.5490 -0.5491 +vn 0.6302 -0.0001 -0.7764 +vn -0.6302 -0.0000 -0.7764 +vn 0.6302 0.5490 -0.5490 +vn -0.6302 0.5490 -0.5490 +vn 0.6302 0.7764 -0.0000 +vn -0.6302 0.7764 0.0002 +vn 0.6302 0.5492 0.5488 +vn -0.6302 0.5490 0.5490 +vn -0.6302 0.0001 0.7764 +vn -0.8042 -0.4204 0.4202 +vn -0.8042 -0.0001 0.5943 +vn -0.8042 0.4205 0.4201 +vn -0.6302 0.7764 -0.0000 +vn -0.8042 0.5943 -0.0000 +vn -0.6302 0.5489 -0.5491 +vn -0.8042 0.4204 -0.4202 +vn -0.8042 -0.0000 -0.5943 +vn -0.6302 -0.5489 -0.5491 +vn -0.8042 -0.4203 -0.4203 +vn -0.8042 -0.5943 -0.0000 +vn 0.6302 -0.5490 0.5491 +vn 0.8042 -0.0002 0.5943 +vn 0.8042 -0.4203 0.4203 +vn 0.8042 -0.5943 -0.0000 +vn 0.8042 -0.4204 -0.4202 +vn 0.6302 -0.0000 -0.7764 +vn 0.8042 -0.0000 -0.5943 +vn 0.8042 0.4205 -0.4201 +vn 0.8042 0.5943 -0.0000 +vn 0.6302 0.5489 0.5491 +vn 0.8042 0.4205 0.4201 +vn 0.6302 0.0002 0.7764 +vn 0.5512 0.5495 -0.6279 +vn 0.8335 -0.0000 -0.5525 +vn 0.7791 -0.0000 -0.6269 +vn -0.7736 -0.0000 -0.6336 +vn -0.5787 0.6354 -0.5113 +vn -0.5468 0.5484 -0.6326 +vn -0.5468 -0.5484 -0.6326 +vn -0.0003 -0.8814 -0.4723 +vn -0.5787 -0.6354 -0.5113 +vn 0.0017 -0.7764 -0.6302 +vn 0.5808 -0.6392 -0.5041 +vn -0.8271 -0.0000 -0.5621 +vn 0.2042 0.7309 0.6512 +vn -0.2042 0.7309 -0.6512 +vn -0.2042 0.7309 0.6512 +vn 0.5512 -0.5495 -0.6279 +vn 0.6894 0.3883 -0.6115 +vn 0.2041 0.7310 -0.6512 +vn -0.6894 0.3883 0.6115 +vn -0.0003 0.8814 -0.4723 +vn 0.0017 0.7764 -0.6302 +vn 0.2005 -0.0000 -0.9797 +vn 0.5808 0.6392 -0.5041 +vn 0.1670 0.1479 -0.9748 +vn -0.1659 0.1466 -0.9752 +vn -0.0003 0.2596 -0.9657 +vn -0.1988 -0.0000 -0.9800 +vn -0.1659 -0.1467 -0.9752 +vn 0.1670 -0.1479 -0.9748 +vn -0.0003 -0.2596 -0.9657 +vn -0.0000 0.5943 0.8042 +vn -0.7071 0.7071 -0.0000 +vn -0.5943 -0.0000 0.8042 +vn -0.4204 -0.4202 0.8042 +vn -0.7071 -0.7071 -0.0000 +vn -0.0000 -0.5943 0.8042 +vn 0.7071 -0.7071 -0.0000 +vn 0.4204 -0.4202 0.8042 +vn 0.5943 0.0002 0.8042 +vn 0.7071 0.7071 -0.0000 +vn 0.4203 0.4203 0.8042 +vn -0.0000 0.7764 0.6302 +vn -0.5492 0.5489 -0.6302 +vn -0.5491 0.5489 0.6302 +vn -0.4202 0.4204 -0.8042 +vn -0.7764 -0.0001 -0.6302 +vn -0.5943 -0.0001 -0.8042 +vn 0.5490 0.5490 0.6302 +vn -0.0001 0.7764 -0.6302 +vn 0.7764 -0.0002 0.6302 +vn 0.5490 -0.5490 -0.6302 +vn 0.7764 -0.0001 -0.6302 +vn -0.0000 -0.7764 0.6302 +vn -0.5489 -0.5491 -0.6302 +vn -0.0001 -0.7764 -0.6302 +vn -0.7764 0.0001 0.6302 +vn 0.5490 0.5490 -0.6302 +vn 0.5489 -0.5491 0.6302 +vn -0.5490 -0.5490 0.6302 +vn 0.5943 0.0003 -0.8042 +vn 0.4202 0.4204 -0.8042 +vn -0.0000 -0.5943 -0.8042 +vn 0.5490 -0.5491 -0.6302 +vn 0.4204 -0.4201 -0.8042 +vn -0.5490 -0.5490 -0.6302 +vn -0.4201 -0.4204 -0.8042 +vn -0.0000 0.5943 -0.8042 +vn -0.5490 0.5490 -0.6302 +vn -0.0000 0.7764 -0.6302 +vn 0.7764 -0.0000 -0.6302 +vn -0.0000 -0.7764 -0.6302 +vn -0.8158 0.5607 0.1418 +vn -0.4202 -0.4204 0.8042 +vn 0.4203 -0.4203 0.8042 +vn 0.6690 0.2530 0.6988 +vn 0.8158 0.5607 0.1418 +vn 0.0002 0.7764 0.6302 +vn -0.5491 0.5489 -0.6302 +vn -0.5490 0.5490 0.6302 +vn 0.5491 0.5489 0.6302 +vn 0.0001 0.7764 -0.6302 +vn 0.7764 -0.0000 0.6302 +vn 0.5489 -0.5491 -0.6302 +vn 0.7764 -0.0002 -0.6302 +vn -0.5491 -0.5489 0.6302 +vn -0.0001 -0.7764 0.6302 +vn -0.7764 -0.0000 0.6302 +vn 0.5490 0.5491 -0.6302 +vn 0.5490 -0.5491 0.6302 +vn -0.0001 0.7524 0.6587 +vn -0.4301 -0.9028 -0.0000 +vn 0.4301 -0.9028 -0.0000 +vn 0.9425 -0.3343 -0.0000 +vn 0.7071 -0.0003 -0.7071 +vn 0.3366 -0.7071 -0.6219 +vn 0.7249 -0.2571 0.6390 +vn 0.3368 -0.7070 0.6219 +vn -0.7249 -0.2571 0.6390 +vn -0.9425 -0.3343 -0.0000 +vn -0.7249 -0.2573 -0.6390 +vn 0.7249 -0.2571 -0.6390 +vn -0.3368 -0.7070 0.6219 +vn -0.7071 -0.0003 0.7071 +vn 0.6292 -0.2290 0.7427 +vn -0.7684 -0.0285 0.6393 +vn 0.7684 -0.0285 0.6393 +vn -0.6427 -0.2409 -0.7272 +vn 0.7071 -0.0000 -0.7071 +vn 0.6427 -0.2409 -0.7272 +vn -0.5400 -0.7668 0.3470 +vn 0.5400 -0.7668 0.3469 +vn -0.7071 -0.0003 -0.7071 +vn 0.5940 -0.4814 -0.6445 +vn -0.5940 -0.4814 -0.6445 +vn -0.5638 -0.6617 0.4943 +vn 0.5638 -0.6617 0.4943 +vn -0.9941 -0.0194 0.1066 +vn -0.9868 0.0119 -0.1614 +vn -0.9638 -0.0055 0.2667 +vn 0.9868 0.0119 -0.1614 +vn 0.7143 -0.6931 0.0971 +vn 0.7697 -0.5928 -0.2369 +vn 0.6750 -0.2508 0.6939 +vn -0.4729 -0.4022 0.7840 +vn -0.6750 -0.2508 0.6939 +vn -0.7143 -0.6931 0.0971 +vn -0.4802 -0.0112 0.8771 +vn 0.4802 -0.0112 0.8771 +vn 0.4257 -0.7565 0.4964 +vn 0.5412 0.0596 -0.8388 +vn -0.5307 -0.0000 -0.8475 +vn 0.5307 -0.0000 -0.8475 +vn -0.4955 -0.0923 -0.8637 +vn 0.4955 -0.0923 -0.8637 +vn 0.9941 -0.0194 0.1066 +vn 0.9766 0.0145 -0.2144 +vn 0.9427 -0.2210 0.2498 +vn 0.6083 0.0823 -0.7894 +vn -0.6083 0.0823 -0.7894 +vn 0.9791 -0.0000 0.2034 +vn -0.9766 0.0145 -0.2144 +vn -0.9658 -0.0335 -0.2570 +vn 0.9638 -0.0055 0.2667 +vn 0.5485 -0.0000 0.8362 +vn -0.5485 -0.0000 0.8362 +vn -0.9427 -0.2210 0.2498 +vn -0.9746 -0.0000 -0.2240 +vn 0.9658 -0.0335 -0.2570 +vn -0.4257 -0.7565 0.4964 +vn -0.7697 -0.5928 -0.2369 +vn 0.4221 -0.4175 -0.8047 +vn 0.4729 -0.4022 0.7840 +vn -0.5412 0.0596 -0.8388 +vn 0.9746 -0.0000 -0.2240 +vn -0.4221 -0.4175 -0.8047 +vn -0.0000 -0.9645 0.2641 +vn -0.0000 -0.9911 0.1332 +vn -0.0000 -0.9688 -0.2479 +vn -0.0000 -0.8771 -0.4803 +vn -0.0000 0.9911 -0.1332 +vn -0.0000 0.9645 -0.2641 +vn -0.0000 0.9688 0.2479 +vn -0.0000 0.8771 0.4803 +vn 0.5695 0.7126 -0.4097 +vn 0.5695 0.7126 0.4097 +vn -0.4666 0.8845 -0.0000 +vn -0.9554 0.2954 -0.0000 +vn -0.3677 0.6970 0.6156 +vn 0.7971 0.4901 -0.3526 +vn 0.3678 0.6970 0.6156 +vn 0.7496 0.3283 0.5748 +vn 0.6894 0.3883 0.6115 +vn -0.6894 0.3883 -0.6115 +vn -0.4202 0.4204 0.8042 +vn -0.6691 0.2530 0.6988 +vn 0.5943 0.0001 0.8042 +vn -0.3366 -0.7071 -0.6219 +vn -0.7071 -0.0000 -0.7071 +vn 0.7071 -0.0000 0.7071 +vn -0.6292 -0.2290 0.7427 +vn -0.9791 -0.0000 0.2034 +vn 0.4666 0.8845 0.0002 +vn -0.7496 0.3283 0.5748 +vn 0.2392 0.9710 0.0007 vt 0.086957 0.349693 vt 0.101449 0.331288 vt 0.101449 0.349693 @@ -790,29 +821,16 @@ vt 0.031105 0.080231 vt 0.000549 0.000797 vt 0.018593 0.023550 vt 0.009746 0.027688 -vt 0.000000 0.000000 -vt 0.038647 0.190184 -vt 0.038647 0.000000 -vt 0.009746 0.047670 -vt 0.006081 0.037679 -vt 0.009746 0.070240 -vt 0.018593 0.177973 vt 0.009746 0.173835 -vt 0.000549 0.231177 vt 0.006081 0.163844 vt 0.009746 0.153853 vt 0.006081 0.121197 vt 0.009746 0.090222 vt 0.006081 0.080231 -vt 0.018593 0.023550 vt 0.027440 0.027688 vt 0.038058 0.000797 -vt 0.000000 0.000000 -vt 0.038647 0.190184 -vt 0.038647 0.000000 vt 0.009745 0.047671 vt 0.006080 0.037681 -vt 0.009746 0.070240 vt 0.018596 0.177968 vt 0.009748 0.173829 vt 0.000553 0.231168 @@ -824,11 +842,7 @@ vt 0.006081 0.080230 vt 0.018592 0.023553 vt 0.027439 0.027691 vt 0.038056 0.000801 -vt 0.038647 0.190184 -vt 0.000000 0.000000 -vt 0.038647 0.000000 vt 0.009747 0.070238 -vt 0.006081 0.037679 vt 0.009746 0.047669 vt 0.038063 0.231166 vt 0.000554 0.231165 @@ -840,8 +854,6 @@ vt 0.027442 0.090218 vt 0.031106 0.080228 vt 0.027442 0.111201 vt 0.000548 0.000798 -vt 0.018593 0.023550 -vt 0.009746 0.027688 vt 0.086957 0.073620 vt 0.038647 0.214724 vt 0.038647 0.073620 @@ -865,9 +877,6 @@ vt 0.154589 0.171779 vt 0.222222 0.263804 vt 0.246377 0.190184 vt 0.246377 0.263804 -vt 0.086957 0.073620 -vt 0.038647 0.214724 -vt 0.038647 0.073620 vt 0.961353 0.361963 vt 0.956522 0.337423 vt 0.956522 0.361963 @@ -911,9 +920,7 @@ vt 0.618357 0.423313 vt 0.724638 0.361963 vt 0.714976 0.392638 vt 0.714976 0.361963 -vt 0.613527 0.361963 vt 0.637681 0.423313 -vt 0.618357 0.423313 vt 0.724638 0.484663 vt 0.714976 0.509202 vt 0.714976 0.484663 @@ -933,10 +940,6 @@ vt 0.646319 0.309076 vt 0.646319 0.341523 vt 0.642512 0.361963 vt 0.666667 0.368098 -vt 0.589372 0.368098 -vt 0.642512 0.361963 -vt 0.666667 0.368098 -vt 0.637681 0.423313 vt 0.338164 0.607362 vt 0.371981 0.472393 vt 0.371981 0.607362 @@ -967,14 +970,10 @@ vt 0.497585 0.619632 vt 0.555556 0.441718 vt 0.577454 0.239264 vt 0.577454 0.441718 -vt 0.497585 0.607362 -vt 0.483092 0.619632 -vt 0.483092 0.607362 vt 0.497585 0.644172 vt 0.570048 0.631902 vt 0.570048 0.644172 vt 0.342995 0.631902 -vt 0.352657 0.619632 vt 0.352657 0.631902 vt 0.388329 0.596256 vt 0.378023 0.596256 @@ -1001,34 +1000,16 @@ vt 0.538762 0.471297 vt 0.538762 0.439770 vt 0.531401 0.472393 vt 0.548424 0.594723 -vt 0.352657 0.631902 vt 0.483092 0.631902 vt 0.570048 0.619632 vt 0.497585 0.631902 vt 0.579710 0.631902 vt 0.579710 0.619632 -vt 0.497585 0.644172 -vt 0.570048 0.631902 -vt 0.570048 0.644172 -vt 0.483092 0.644172 -vt 0.352657 0.644172 -vt 0.342995 0.631902 -vt 0.483092 0.631902 -vt 0.497585 0.631902 -vt 0.497585 0.619632 -vt 0.352657 0.607362 -vt 0.579710 0.631902 -vt 0.570048 0.619632 -vt 0.579710 0.619632 vt 0.483092 0.644172 vt 0.352657 0.644172 vt 0.429952 0.852761 vt 0.444444 0.815951 vt 0.429952 0.815951 -vt 0.444444 0.815951 -vt 0.429952 0.852761 -vt 0.429952 0.815951 -vt 0.449275 0.779141 vt 0.449275 0.779141 vt 0.507246 0.950920 vt 0.478261 0.901841 @@ -1040,18 +1021,6 @@ vt 0.536232 0.950920 vt 0.401337 0.855844 vt 0.463175 0.897484 vt 0.387034 0.897484 -vt 0.492754 0.754601 -vt 0.478261 0.852761 -vt 0.478261 0.754601 -vt 0.463768 0.852761 -vt 0.463768 0.754601 -vt 0.521739 0.852761 -vt 0.507246 0.754601 -vt 0.521739 0.754601 -vt 0.531401 0.840491 -vt 0.521739 0.840491 -vt 0.526570 0.828221 -vt 0.492754 0.852761 vt 0.845411 0.791411 vt 0.845411 0.582822 vt 0.922705 0.558282 @@ -1070,11 +1039,10 @@ vt 0.589372 0.963190 vt 0.589372 1.000000 vt 0.565217 0.938650 vt 0.589372 0.938650 -vt 0.589372 0.938650 -vt 0.565217 0.791411 -vt 0.589372 0.791411 +vt 0.566739 0.996622 +vt 0.586132 0.932345 +vt 0.567308 0.929954 vt 0.565217 1.000000 -vt 0.565217 0.938650 vt 0.565217 0.791411 vt 0.589372 0.791411 vt 0.115942 0.233129 @@ -1091,57 +1059,22 @@ vt 0.117297 0.333769 vt 0.128154 0.319982 vt 0.000000 0.196319 vt 0.031105 0.037679 -vt 0.038058 0.000797 vt 0.027440 0.047670 vt 0.027440 0.070240 vt 0.018593 0.051808 vt 0.018593 0.066102 -vt 0.006081 0.080231 -vt 0.006081 0.163844 -vt 0.009746 0.173835 vt 0.027440 0.173835 vt 0.031105 0.163844 -vt 0.006081 0.121197 -vt 0.009746 0.153853 vt 0.009746 0.131187 vt 0.018593 0.149715 vt 0.018593 0.135326 -vt 0.009746 0.090222 vt 0.009746 0.111206 vt 0.018593 0.094360 vt 0.018593 0.107068 vt 0.027440 0.111206 -vt 0.027440 0.027688 -vt 0.000000 0.196319 -vt 0.038058 0.231177 -vt 0.031105 0.080231 -vt 0.031105 0.037679 -vt 0.027440 0.070240 -vt 0.027440 0.047670 -vt 0.018593 0.066102 -vt 0.018593 0.051808 -vt 0.000549 0.000797 -vt 0.031105 0.163844 -vt 0.027440 0.173835 -vt 0.031105 0.121197 -vt 0.027440 0.153853 -vt 0.027440 0.131187 -vt 0.018593 0.149715 -vt 0.018593 0.135326 -vt 0.009746 0.131187 -vt 0.027440 0.090222 -vt 0.027440 0.111206 -vt 0.018593 0.107068 -vt 0.018593 0.094360 -vt 0.009746 0.111206 -vt 0.009746 0.027688 -vt 0.000000 0.196319 vt 0.038062 0.231168 -vt 0.031105 0.080231 vt 0.031104 0.037681 -vt 0.027440 0.070240 vt 0.027440 0.047671 -vt 0.018593 0.066102 vt 0.018592 0.051809 vt 0.003123 0.000157 vt 0.031107 0.163839 @@ -1158,8 +1091,6 @@ vt 0.018594 0.107066 vt 0.018593 0.094359 vt 0.009747 0.111204 vt 0.009745 0.027691 -vt 0.000000 0.196319 -vt 0.031105 0.037679 vt 0.038057 0.000798 vt 0.027441 0.047669 vt 0.027441 0.070238 @@ -1180,7 +1111,6 @@ vt 0.009748 0.111201 vt 0.018595 0.094356 vt 0.018595 0.107063 vt 0.027440 0.027689 -vt 0.086957 0.214724 vt 0.115942 0.269939 vt 0.126288 0.260155 vt 0.128579 0.268113 @@ -1197,7 +1127,6 @@ vt 0.178744 0.190184 vt 0.123994 0.141104 vt 0.146538 0.141104 vt 0.222222 0.190184 -vt 0.086957 0.214724 vt 0.956522 0.165644 vt 0.888889 0.361963 vt 0.630514 0.288344 @@ -1221,16 +1150,12 @@ vt 0.280193 0.196319 vt 0.589372 0.607362 vt 0.338164 0.386503 vt 0.350082 0.239264 -vt 0.338164 0.607362 vt 0.328502 0.674847 vt 0.289855 0.674847 vt 0.280193 0.662577 vt 0.338164 0.633266 vt 0.338164 0.662577 vt 0.342995 0.619632 -vt 0.342995 0.619632 -vt 0.570048 0.607362 -vt 0.454106 0.852761 vt 0.454106 0.852761 vt 0.478261 0.950920 vt 0.536232 0.852761 @@ -1240,22 +1165,20 @@ vt 0.401337 1.000244 vt 0.387034 0.962984 vt 0.448872 0.855844 vt 0.463175 0.962984 -vt 0.507246 0.852761 -vt 0.526570 0.852761 vt 0.922705 1.000000 +vt 0.860028 0.944906 +vt 0.860220 0.793698 vt 0.845411 1.000000 vt 0.743961 1.000000 vt 0.589372 0.423313 vt 0.647343 1.000000 -vt 0.565217 1.000000 -vt 0.589372 1.000000 +vt 0.589367 0.961817 vt 0.086957 0.196319 vt 0.072464 0.196319 vt 0.057971 0.196319 vt 0.043478 0.196319 vt 0.028986 0.196319 vt 0.014493 0.196319 -vt 0.000000 0.196319 vt 0.101449 0.196319 vt 0.101449 0.368098 vt 0.115942 0.368098 @@ -1323,7 +1246,6 @@ vt 0.666667 0.435583 vt 0.666667 0.460123 vt 0.666667 0.533742 vt 0.666667 0.509202 -vt 0.666667 0.361963 vt 0.666667 0.417178 vt 0.666667 0.484663 vt 0.666667 0.392638 @@ -1332,7 +1254,6 @@ vt 1.000000 0.484663 vt 1.000000 0.509202 vt 1.000000 0.533742 vt 1.000000 0.558282 -vt 1.000000 0.361963 vt 1.000000 0.392638 vt 1.000000 0.417178 vt 1.000000 0.435583 @@ -1411,20 +1332,7 @@ vt 0.425121 0.828221 vt 0.386473 0.828221 vt 0.425121 0.852761 vt 0.386473 0.852761 -vt 0.386473 0.803681 vt 0.425121 0.754601 -vt 0.425121 0.803681 -vt 0.386473 0.828221 -vt 0.425121 0.828221 -vt 0.386473 0.852761 -vt 0.425121 0.852761 -vt 0.386473 0.680982 -vt 0.589372 0.644172 -vt 0.589372 0.680982 -vt 0.386473 0.754601 -vt 0.589372 0.717791 -vt 0.589372 0.754601 -vt 0.386473 0.717791 vt 0.821256 0.791411 vt 0.772947 1.000000 vt 0.772947 0.582822 @@ -1434,7 +1342,6 @@ vt 0.000000 0.368098 vt 0.193237 0.276074 vt 0.193237 0.319018 vt 0.666667 0.165644 -vt 0.666667 0.558282 vt 0.777778 0.435583 vt 0.439614 0.239264 vt 0.478261 0.852761 @@ -1443,1037 +1350,1338 @@ vt 0.507246 1.000000 vt 0.386473 0.950920 vt 0.309179 1.000000 vt 0.000000 0.730061 -vt 0.425121 0.754601 -vt 0.386473 0.754601 -vt 0.386473 0.644172 -vn -1.0000 -0.0000 0.0000 -vn 1.0000 0.0000 0.0000 -vn -1.0000 -0.0030 -0.0069 -vn -1.0000 -0.0020 0.0000 -vn 1.0000 0.0030 0.0069 -vn 1.0000 0.0020 -0.0000 -vn 1.0000 0.0025 0.0034 -vn 0.9999 0.0035 0.0103 -vn -1.0000 -0.0025 -0.0034 -vn -0.9999 -0.0035 -0.0103 -vn 0.0000 1.0000 -0.0000 -vn -0.0000 -0.0000 1.0000 -vn -0.0000 -1.0000 0.0000 -vn 0.0000 -0.0000 -1.0000 -vn -0.1336 0.3226 -0.9371 -vn 0.9526 0.3043 0.0000 -vn 0.1336 0.3226 -0.9371 -vn 0.0188 0.0455 0.9988 -vn -0.0188 0.0455 0.9988 -vn -0.9526 0.3043 0.0000 -vn 0.0000 0.9011 0.4336 -vn 0.0000 1.0000 -0.0098 -vn 0.0000 -0.9999 -0.0114 -vn 0.0012 0.3898 -0.9209 -vn 0.0000 0.3827 0.9239 -vn -0.0000 -0.3782 0.9257 -vn 0.0000 -0.3464 -0.9381 -vn 0.0000 0.3280 -0.9447 -vn -0.8254 0.5646 -0.0000 -vn 0.5646 0.8254 0.0000 -vn -0.5646 -0.8254 -0.0000 -vn -1.0000 -0.0020 -0.0069 -vn 1.0000 0.0020 0.0069 -vn 1.0000 0.0035 0.0035 -vn -1.0000 -0.0035 -0.0035 -vn -0.0001 1.0000 0.0000 -vn 0.0000 0.3827 -0.9239 -vn -0.0012 0.3898 0.9209 -vn 0.0021 -0.3671 0.9302 -vn -0.0055 -0.3754 -0.9269 -vn 0.6302 0.0000 -0.7764 -vn -0.6302 -0.5490 -0.5490 -vn -0.6302 0.0000 -0.7764 -vn 0.6302 -0.5490 -0.5490 -vn -0.6302 -0.7764 0.0000 -vn 0.6302 -0.7764 0.0000 -vn -0.6302 -0.5490 0.5490 -vn 0.6302 -0.5490 0.5490 -vn -0.6302 0.0000 0.7764 -vn 0.6302 0.0000 0.7764 -vn -0.6302 0.5490 0.5490 -vn 0.6302 0.5490 0.5490 -vn -0.6302 0.7764 0.0000 -vn 0.6302 0.7764 0.0000 -vn -0.6302 0.5490 -0.5490 -vn 0.6302 0.5490 -0.5490 -vn 0.8042 -0.4203 -0.4203 -vn 0.8042 0.0000 -0.5943 -vn 0.8042 0.4203 -0.4203 -vn 0.8042 0.5943 0.0000 -vn 0.8042 0.4203 0.4203 -vn 0.8042 0.0000 0.5943 -vn 0.8042 -0.4203 0.4203 -vn 0.8042 -0.5943 0.0000 -vn -0.8042 0.0000 -0.5943 -vn -0.8042 -0.4203 -0.4203 -vn -0.8042 -0.5943 0.0000 -vn -0.8042 -0.4203 0.4203 -vn -0.8042 0.0000 0.5943 -vn -0.8042 0.4203 0.4203 -vn -0.8042 0.5943 0.0000 -vn -0.8042 0.4203 -0.4203 -vn -0.5512 0.5495 0.6279 -vn -0.8335 0.0000 0.5525 -vn -0.7791 0.0000 0.6269 -vn 0.7736 0.0000 0.6336 -vn 0.5787 0.6354 0.5112 -vn 0.5468 0.5484 0.6326 -vn 0.5468 -0.5484 0.6326 -vn 0.0003 -0.8814 0.4723 -vn 0.5787 -0.6354 0.5112 -vn -0.0017 -0.7764 0.6302 -vn -0.5808 -0.6391 0.5041 -vn 0.8271 0.0000 0.5621 -vn -0.2042 0.7309 -0.6512 -vn 0.2042 0.7309 0.6512 -vn 0.2042 0.7309 -0.6512 -vn -0.5512 -0.5495 0.6279 -vn -0.6894 0.3883 0.6115 -vn -0.2042 0.7309 0.6512 -vn 0.6894 0.3883 -0.6115 -vn 0.0003 0.8814 0.4723 -vn -0.0017 0.7764 0.6302 -vn -0.2005 0.0000 0.9797 -vn -0.5808 0.6391 0.5041 -vn -0.1670 0.1479 0.9748 -vn 0.1659 0.1466 0.9752 -vn 0.0003 0.2596 0.9657 -vn 0.1988 0.0000 0.9800 -vn 0.1659 -0.1467 0.9752 -vn -0.1670 -0.1479 0.9748 -vn 0.0003 -0.2596 0.9657 -vn 0.0000 0.5943 -0.8042 -vn 0.7071 0.7071 0.0000 -vn 0.5943 0.0000 -0.8042 -vn 0.4203 -0.4203 -0.8042 -vn 0.7071 -0.7071 0.0000 -vn 0.0000 -0.5943 -0.8042 -vn -0.7071 -0.7071 0.0000 -vn -0.4203 -0.4203 -0.8042 -vn -0.5943 0.0000 -0.8042 -vn -0.7071 0.7071 0.0000 -vn -0.4203 0.4203 -0.8042 -vn 0.0000 0.7764 -0.6302 -vn 0.5490 0.5490 0.6302 -vn 0.5490 0.5490 -0.6302 -vn 0.4203 0.4203 0.8042 -vn 0.7764 0.0000 0.6302 -vn 0.5943 0.0000 0.8042 -vn -0.5490 0.5490 -0.6302 -vn 0.0000 0.7764 0.6302 -vn -0.7764 0.0000 -0.6302 -vn -0.5490 -0.5490 0.6302 -vn -0.7764 0.0000 0.6302 -vn 0.0000 -0.7764 -0.6302 -vn 0.5490 -0.5490 0.6302 -vn 0.0000 -0.7764 0.6302 -vn 0.7764 0.0000 -0.6302 -vn -0.5490 0.5490 0.6302 -vn -0.5490 -0.5490 -0.6302 -vn 0.5490 -0.5490 -0.6302 -vn -0.5943 0.0000 0.8042 -vn -0.4203 0.4203 0.8042 -vn 0.0000 -0.5943 0.8042 -vn -0.4203 -0.4203 0.8042 -vn 0.4203 -0.4203 0.8042 -vn 0.0000 0.5943 0.8042 -vn 0.8158 0.5607 -0.1418 -vn -0.6690 0.2530 -0.6988 -vn -0.8158 0.5607 -0.1418 -vn 0.0000 0.7523 -0.6587 -vn 0.4301 -0.9028 0.0000 -vn -0.4301 -0.9028 0.0000 -vn -0.9425 -0.3342 0.0000 -vn -0.7071 0.0000 0.7071 -vn -0.3368 -0.7070 0.6219 -vn -0.7249 -0.2571 -0.6390 -vn -0.3368 -0.7070 -0.6219 -vn 0.7249 -0.2571 -0.6390 -vn 0.9425 -0.3342 0.0000 -vn 0.7249 -0.2571 0.6390 -vn -0.7249 -0.2571 0.6390 -vn 0.3368 -0.7070 -0.6219 -vn 0.7071 0.0000 -0.7071 -vn -0.6292 -0.2289 -0.7427 -vn 0.7684 -0.0285 -0.6393 -vn -0.7684 -0.0285 -0.6393 -vn 0.6427 -0.2409 0.7272 -vn -0.6427 -0.2409 0.7272 -vn 0.5400 -0.7668 -0.3469 -vn -0.5400 -0.7668 -0.3469 -vn 0.7071 0.0000 0.7071 -vn -0.5940 -0.4814 0.6445 -vn 0.5940 -0.4814 0.6445 -vn 0.5637 -0.6617 -0.4943 -vn -0.5637 -0.6617 -0.4943 -vn 0.9941 -0.0194 -0.1066 -vn 0.9868 0.0119 0.1614 -vn 0.9637 -0.0054 -0.2667 -vn -0.9868 0.0119 0.1614 -vn -0.7143 -0.6931 -0.0971 -vn -0.7697 -0.5928 0.2369 -vn -0.6750 -0.2508 -0.6939 -vn 0.4729 -0.4021 -0.7840 -vn 0.6750 -0.2508 -0.6939 -vn 0.7143 -0.6931 -0.0971 -vn 0.4801 -0.0112 -0.8771 -vn -0.4801 -0.0112 -0.8771 -vn -0.4257 -0.7565 -0.4964 -vn -0.5412 0.0596 0.8388 -vn 0.5307 0.0000 0.8475 -vn -0.5307 0.0000 0.8475 -vn 0.4955 -0.0923 0.8637 -vn -0.4955 -0.0923 0.8637 -vn -0.9941 -0.0194 -0.1066 -vn -0.9766 0.0145 0.2144 -vn -0.9427 -0.2210 -0.2498 -vn -0.6083 0.0823 0.7894 -vn 0.6083 0.0823 0.7894 -vn -0.9791 0.0000 -0.2034 -vn 0.9766 0.0145 0.2144 -vn 0.9658 -0.0335 0.2569 -vn -0.9637 -0.0054 -0.2667 -vn -0.5485 0.0000 -0.8361 -vn 0.5485 0.0000 -0.8361 -vn 0.9427 -0.2210 -0.2498 -vn 0.9746 0.0000 0.2240 -vn -0.9658 -0.0335 0.2569 -vn 0.4257 -0.7565 -0.4964 -vn 0.7697 -0.5928 0.2369 -vn -0.4221 -0.4175 0.8047 -vn -0.4729 -0.4021 -0.7840 -vn 0.5412 0.0596 0.8388 -vn -0.9746 0.0000 0.2240 -vn 0.4221 -0.4175 0.8047 -vn 0.0000 -0.9645 -0.2640 -vn 0.0000 -0.9911 -0.1332 -vn 0.0000 -0.9688 0.2479 -vn 0.0000 -0.8771 0.4803 -vn 0.0000 0.9911 0.1332 -vn 0.0000 0.9645 0.2640 -vn 0.0000 0.9688 -0.2479 -vn 0.0000 0.8771 -0.4803 -vn -0.4935 0.8697 0.0000 -vn -0.1231 0.9924 0.0000 -vn -0.9924 -0.1231 0.0000 -vn -0.9639 0.2661 0.0000 -vn -0.5695 0.7126 0.4097 -vn -0.5695 0.7126 -0.4097 -vn 0.4666 0.8845 0.0000 -vn 0.9554 0.2954 0.0000 -vn 0.3677 0.6970 -0.6156 -vn -0.7971 0.4901 0.3526 -vn -0.3677 0.6970 -0.6156 -vn -0.7496 0.3283 -0.5748 -vn -0.6894 0.3883 -0.6115 -vn 0.6894 0.3883 0.6115 -vn 0.4203 0.4203 -0.8042 -vn 0.6690 0.2530 -0.6988 -vn 0.3368 -0.7070 0.6219 -vn -0.7071 0.0000 -0.7071 -vn 0.6292 -0.2290 -0.7427 -vn 0.9791 0.0000 -0.2034 -vn -0.4666 0.8845 0.0000 -vn 0.7496 0.3283 -0.5748 -usemtl None -s off -f 39/61/41 56/62/41 41/63/41 -f 40/64/42 57/65/42 58/66/42 -f 41/63/41 59/67/41 43/68/41 -f 44/69/42 57/65/42 42/70/42 -f 43/71/41 61/72/41 45/73/41 -f 46/74/42 60/75/42 44/76/42 -f 45/73/41 63/77/41 47/78/41 -f 46/74/42 64/79/42 62/80/42 -f 47/78/41 65/81/41 49/82/41 -f 48/83/42 66/84/42 64/79/42 -f 49/82/41 67/85/41 51/86/41 -f 50/87/42 68/88/42 66/84/42 -f 53/89/41 67/85/41 69/90/41 -f 54/91/42 68/88/42 52/92/42 -f 53/89/41 55/93/41 39/61/41 -f 54/91/42 58/66/42 70/94/42 -f 74/95/42 77/96/42 78/97/42 -f 82/98/41 85/99/41 86/100/41 -f 89/101/43 88/102/43 87/103/43 -f 98/104/44 104/105/44 101/106/44 -f 91/107/44 92/108/44 124/109/44 -f 114/110/44 111/111/44 117/112/44 -f 95/113/44 97/114/44 111/111/44 -f 90/115/44 108/116/44 106/117/44 -f 126/118/45 127/119/45 125/120/45 -f 139/121/46 142/122/46 136/123/46 -f 162/124/46 160/125/46 130/126/46 -f 157/127/46 158/128/46 151/129/46 -f 151/129/46 131/130/46 134/131/46 -f 146/132/46 145/133/46 127/134/46 -f 164/135/47 165/136/47 163/137/47 -f 177/138/48 180/139/48 174/140/48 -f 200/141/48 198/142/48 168/143/48 -f 195/144/48 191/145/48 189/146/48 -f 189/146/48 169/147/48 172/148/48 -f 184/149/48 183/150/48 165/151/48 -f 203/152/49 202/153/49 201/154/49 -f 212/155/50 218/156/50 215/157/50 -f 205/158/50 206/159/50 238/160/50 -f 228/161/50 225/162/50 231/163/50 -f 209/164/50 211/165/50 224/166/50 -f 204/167/50 222/168/50 220/169/50 -f 242/170/51 239/171/51 240/172/51 -f 281/173/52 264/174/52 259/175/52 -f 271/176/52 273/177/52 251/178/52 -f 248/179/52 245/180/52 249/181/52 -f 254/182/42 263/183/42 253/184/42 -f 252/185/53 253/186/53 251/178/53 -f 261/187/54 266/188/54 254/189/54 -f 260/190/41 252/191/41 251/192/41 -f 256/193/53 257/194/53 255/195/53 -f 292/196/54 302/197/54 303/198/54 -f 298/199/54 305/200/54 306/201/54 -f 286/202/54 301/203/54 288/204/54 -f 292/205/54 304/206/54 294/207/54 -f 284/208/54 306/201/54 300/209/54 -f 284/208/54 299/210/54 286/202/54 -f 290/211/54 301/203/54 302/197/54 -f 294/207/54 305/200/54 296/212/54 -f 308/213/52 315/214/52 316/215/52 -f 307/216/52 317/217/52 315/214/52 -f 310/218/52 317/217/52 309/219/52 -f 311/220/52 318/221/52 310/218/52 -f 311/222/52 320/223/52 319/224/52 -f 312/225/52 321/226/52 320/223/52 -f 314/227/52 321/226/52 313/228/52 -f 308/213/52 322/229/52 314/227/52 -f 328/230/52 326/231/52 325/232/52 -f 363/233/55 370/234/55 372/235/55 -f 340/236/54 350/237/54 351/238/54 -f 334/239/56 372/240/56 371/241/56 -f 346/242/54 353/243/54 354/244/54 -f 334/245/54 349/246/54 336/247/54 -f 340/248/54 352/249/54 342/250/54 -f 332/251/54 354/244/54 348/252/54 -f 332/251/54 347/253/54 334/245/54 -f 338/254/54 349/246/54 350/237/54 -f 342/250/54 353/243/54 344/255/54 -f 360/256/52 358/257/52 357/258/52 -f 364/259/57 363/260/57 372/240/57 -f 332/261/58 334/239/58 371/241/58 -f 346/262/59 332/263/59 371/264/59 -f 346/262/60 372/235/60 370/234/60 -f 377/265/42 421/266/42 414/267/42 -f 421/266/42 379/268/42 419/269/42 -f 375/270/54 414/271/54 422/272/54 -f 374/273/41 422/274/41 428/275/41 -f 375/270/51 376/276/51 377/277/51 -f 379/268/42 416/278/42 419/269/42 -f 376/276/61 378/279/61 379/280/61 -f 378/279/51 381/281/51 379/280/51 -f 416/282/52 424/283/52 417/284/52 -f 403/285/51 437/286/51 405/287/51 -f 401/288/62 433/289/62 403/285/62 -f 399/290/51 431/291/51 401/288/51 -f 426/292/41 380/293/41 378/294/41 -f 407/295/63 441/296/63 411/297/63 -f 428/275/41 378/294/41 374/273/41 -f 406/298/51 443/299/51 409/300/51 -f 412/301/54 445/302/54 444/303/54 -f 399/304/42 414/267/42 398/305/42 -f 404/306/42 417/307/42 405/308/42 -f 405/308/42 418/309/42 403/310/42 -f 404/306/42 419/269/42 416/278/42 -f 401/311/42 418/309/42 420/312/42 -f 402/313/42 421/266/42 419/269/42 -f 399/304/42 420/312/42 415/314/42 -f 398/305/42 421/266/42 400/315/42 -f 409/316/41 422/274/41 423/317/41 -f 412/318/41 425/319/41 413/320/41 -f 413/320/41 426/292/41 411/321/41 -f 412/318/41 427/322/41 424/323/41 -f 411/321/41 428/275/41 407/324/41 -f 406/325/41 427/322/41 410/326/41 -f 409/316/41 429/327/41 406/325/41 -f 408/328/41 428/275/41 422/274/41 -f 433/289/42 436/329/42 437/286/42 -f 431/291/42 432/330/42 433/289/42 -f 435/331/42 430/332/42 431/291/42 -f 398/333/52 435/331/52 399/334/52 -f 400/335/53 434/336/53 398/337/53 -f 402/338/63 430/332/63 400/335/63 -f 404/339/53 432/330/53 402/338/53 -f 404/340/54 437/286/54 436/329/54 -f 440/341/41 445/302/41 441/296/41 -f 438/342/41 441/296/41 439/343/41 -f 439/343/41 443/299/41 438/342/41 -f 411/297/53 445/302/53 413/344/53 -f 409/345/52 442/346/52 408/347/52 -f 407/295/53 442/346/53 439/343/53 -f 410/348/62 438/342/62 406/298/62 -f 412/349/51 440/341/51 410/348/51 -f 447/350/41 448/351/41 446/352/41 -f 452/353/42 451/354/42 450/355/42 -f 452/353/42 450/355/42 455/356/42 -f 446/352/41 448/351/41 454/357/41 -f 456/358/41 459/359/41 458/360/41 -f 459/361/54 462/362/54 458/360/54 -f 463/363/42 460/364/42 462/362/42 -f 485/365/53 487/366/53 484/367/53 -f 520/368/64 523/369/64 522/370/64 -f 522/370/65 525/371/65 524/372/65 -f 525/373/66 526/374/66 524/375/66 -f 521/376/41 525/377/41 523/378/41 -f 526/374/67 521/379/67 520/368/67 -f 548/380/41 539/381/41 538/382/41 -f 539/383/68 542/384/68 538/385/68 -f 543/386/42 540/387/42 542/388/42 -f 542/384/53 536/389/53 538/385/53 -f 550/390/69 544/391/69 551/392/69 -f 539/383/54 546/393/54 543/394/54 -f 548/395/52 555/396/52 549/397/52 -f 550/398/70 553/399/70 548/400/70 -f 550/398/54 554/401/54 552/402/54 -f 549/397/71 554/403/71 551/404/71 -f 39/61/41 55/93/41 56/62/41 -f 40/64/42 42/70/42 57/65/42 -f 41/63/41 56/62/41 59/67/41 -f 44/69/42 60/405/42 57/65/42 -f 43/71/41 59/406/41 61/72/41 -f 46/74/42 62/80/42 60/75/42 -f 45/73/41 61/72/41 63/77/41 -f 46/74/42 48/83/42 64/79/42 -f 47/78/41 63/77/41 65/81/41 -f 48/83/42 50/87/42 66/84/42 -f 49/82/41 65/81/41 67/85/41 -f 50/87/42 52/92/42 68/88/42 -f 53/89/41 51/86/41 67/85/41 -f 54/91/42 70/94/42 68/88/42 -f 53/89/41 69/90/41 55/93/41 -f 54/91/42 40/64/42 58/66/42 -f 78/97/42 71/407/42 74/95/42 -f 72/408/42 73/409/42 74/95/42 -f 74/95/42 75/410/42 76/411/42 -f 76/411/42 77/96/42 74/95/42 -f 71/407/42 72/408/42 74/95/42 -f 86/100/41 79/412/41 80/413/41 -f 80/413/41 81/414/41 82/98/41 -f 82/98/41 83/415/41 84/416/41 -f 84/416/41 85/99/41 82/98/41 -f 86/100/41 80/413/41 82/98/41 -f 89/101/72 90/417/72 88/102/72 -f 105/418/44 89/419/44 97/114/44 -f 89/419/44 91/107/44 97/114/44 -f 103/420/44 105/418/44 97/114/44 -f 103/420/44 97/114/44 99/421/44 -f 102/422/44 103/420/44 100/423/44 -f 103/420/44 99/421/44 100/423/44 -f 101/106/44 102/422/44 100/423/44 -f 98/104/44 96/424/44 104/105/44 -f 101/106/44 100/423/44 98/104/44 -f 96/424/44 90/115/44 104/105/44 -f 92/108/44 90/115/44 119/425/44 -f 92/108/44 119/425/44 122/426/44 -f 123/427/44 121/428/44 91/107/44 -f 92/108/44 122/426/44 124/109/44 -f 124/109/44 123/427/44 91/107/44 -f 119/425/44 90/115/44 113/429/44 -f 119/425/44 113/429/44 120/430/44 -f 120/430/44 113/429/44 115/431/44 -f 120/430/44 115/431/44 116/432/44 -f 116/432/44 115/431/44 118/433/44 -f 116/432/44 118/433/44 114/110/44 -f 117/112/44 116/432/44 114/110/44 -f 111/111/44 91/107/44 121/428/44 -f 121/428/44 117/112/44 111/111/44 -f 113/429/44 90/115/44 96/424/44 -f 113/429/44 96/424/44 93/434/44 -f 109/435/44 113/429/44 93/434/44 -f 109/435/44 93/434/44 94/436/44 -f 112/437/44 109/435/44 94/436/44 -f 112/437/44 94/436/44 95/113/44 -f 110/438/44 112/437/44 95/113/44 -f 97/114/44 91/107/44 111/111/44 -f 111/111/44 110/438/44 95/113/44 -f 89/419/44 105/418/44 107/439/44 -f 89/419/44 107/439/44 108/116/44 -f 106/117/44 104/105/44 90/115/44 -f 89/419/44 108/116/44 90/115/44 -f 126/118/73 128/440/73 127/119/73 -f 129/441/46 127/134/46 135/442/46 -f 135/442/46 127/134/46 143/443/46 -f 137/444/46 135/442/46 141/445/46 -f 135/442/46 143/443/46 141/445/46 -f 138/446/46 137/444/46 141/445/46 -f 138/446/46 141/445/46 140/447/46 -f 128/448/46 134/131/46 142/122/46 -f 136/123/46 138/446/46 140/447/46 -f 136/123/46 140/447/46 139/121/46 -f 142/122/46 134/131/46 136/123/46 -f 129/441/46 159/449/46 161/450/46 -f 129/441/46 161/450/46 162/124/46 -f 157/127/46 128/448/46 130/126/46 -f 129/441/46 162/124/46 130/126/46 -f 160/125/46 157/127/46 130/126/46 -f 159/449/46 129/441/46 149/451/46 -f 159/449/46 149/451/46 155/452/46 -f 155/452/46 149/451/46 152/453/46 -f 155/452/46 152/453/46 154/454/46 -f 154/454/46 152/453/46 156/455/46 -f 154/454/46 156/455/46 153/456/46 -f 158/128/46 154/454/46 153/456/46 -f 151/129/46 128/448/46 157/127/46 -f 158/128/46 153/456/46 151/129/46 -f 149/451/46 129/441/46 135/442/46 -f 149/451/46 135/442/46 133/457/46 -f 148/458/46 149/451/46 133/457/46 -f 148/458/46 133/457/46 150/459/46 -f 150/459/46 133/457/46 132/460/46 -f 150/459/46 132/460/46 147/461/46 -f 147/461/46 132/460/46 131/130/46 -f 134/131/46 128/448/46 151/129/46 -f 147/461/46 131/130/46 151/129/46 -f 128/448/46 142/122/46 144/462/46 -f 128/448/46 144/462/46 146/132/46 -f 145/133/46 143/443/46 127/134/46 -f 128/448/46 146/132/46 127/134/46 -f 164/135/74 166/463/74 165/136/74 -f 167/464/48 165/151/48 173/465/48 -f 173/465/48 165/151/48 181/466/48 -f 175/467/48 173/465/48 181/466/48 -f 175/467/48 181/466/48 179/468/48 -f 176/469/48 175/467/48 179/468/48 -f 176/469/48 179/468/48 178/470/48 -f 166/471/48 172/148/48 180/139/48 -f 174/140/48 176/469/48 178/470/48 -f 174/140/48 178/470/48 177/138/48 -f 180/139/48 172/148/48 174/140/48 -f 167/464/48 197/472/48 199/473/48 -f 167/464/48 199/473/48 200/141/48 -f 195/144/48 166/471/48 168/143/48 -f 167/464/48 200/141/48 168/143/48 -f 198/142/48 195/144/48 168/143/48 -f 197/472/48 167/464/48 187/474/48 -f 197/472/48 187/474/48 193/475/48 -f 193/475/48 187/474/48 190/476/48 -f 193/475/48 190/476/48 192/477/48 -f 192/477/48 190/476/48 194/478/48 -f 192/477/48 194/478/48 196/479/48 -f 196/479/48 194/478/48 191/145/48 -f 189/146/48 166/471/48 195/144/48 -f 196/479/48 191/145/48 195/144/48 -f 187/474/48 167/464/48 173/465/48 -f 187/474/48 173/465/48 186/480/48 -f 186/480/48 173/465/48 171/481/48 -f 186/480/48 171/481/48 188/482/48 -f 188/482/48 171/481/48 170/483/48 -f 188/482/48 170/483/48 185/484/48 -f 185/484/48 170/483/48 169/147/48 -f 172/148/48 166/471/48 189/146/48 -f 185/484/48 169/147/48 189/146/48 -f 166/471/48 180/139/48 182/485/48 -f 166/471/48 182/485/48 184/149/48 -f 183/150/48 181/466/48 165/151/48 -f 166/471/48 184/149/48 165/151/48 -f 203/152/75 204/486/75 202/153/75 -f 219/487/50 203/488/50 211/165/50 -f 203/488/50 205/158/50 211/165/50 -f 217/489/50 219/487/50 213/490/50 -f 219/487/50 211/165/50 213/490/50 -f 216/491/50 217/489/50 214/492/50 -f 217/489/50 213/490/50 214/492/50 -f 215/157/50 216/491/50 212/155/50 -f 212/155/50 210/493/50 218/156/50 -f 216/491/50 214/492/50 212/155/50 -f 210/493/50 204/167/50 218/156/50 -f 206/159/50 204/167/50 233/494/50 -f 206/159/50 233/494/50 236/495/50 -f 237/496/50 235/497/50 205/158/50 -f 206/159/50 236/495/50 238/160/50 -f 238/160/50 237/496/50 205/158/50 -f 233/494/50 204/167/50 227/498/50 -f 233/494/50 227/498/50 229/499/50 -f 234/500/50 233/494/50 229/499/50 -f 234/500/50 229/499/50 232/501/50 -f 230/502/50 234/500/50 232/501/50 -f 230/502/50 232/501/50 228/161/50 -f 231/163/50 230/502/50 228/161/50 -f 225/162/50 205/158/50 235/497/50 -f 235/497/50 231/163/50 225/162/50 -f 227/498/50 204/167/50 210/493/50 -f 227/498/50 210/493/50 207/503/50 -f 223/504/50 227/498/50 207/503/50 -f 223/504/50 207/503/50 208/505/50 -f 226/506/50 223/504/50 208/505/50 -f 226/506/50 208/505/50 209/164/50 -f 224/166/50 226/506/50 209/164/50 -f 211/165/50 205/158/50 225/162/50 -f 225/162/50 224/166/50 211/165/50 -f 203/488/50 219/487/50 221/507/50 -f 203/488/50 221/507/50 222/168/50 -f 220/169/50 218/156/50 204/167/50 -f 203/488/50 222/168/50 204/167/50 -f 242/170/76 241/508/76 239/171/76 -f 260/509/52 251/178/52 277/510/52 -f 260/509/52 277/510/52 275/511/52 -f 253/186/52 263/512/52 269/513/52 -f 279/514/52 269/513/52 263/512/52 -f 260/509/52 275/511/52 259/175/52 -f 279/514/52 263/512/52 264/174/52 -f 259/175/52 275/511/52 281/173/52 -f 281/173/52 279/514/52 264/174/52 -f 253/186/52 269/513/52 267/515/52 -f 253/186/52 267/515/52 271/176/52 -f 273/177/52 277/510/52 251/178/52 -f 251/178/52 253/186/52 271/176/52 -f 244/516/52 243/517/52 250/518/52 -f 250/518/52 249/181/52 244/516/52 -f 248/179/52 247/519/52 246/520/52 -f 246/520/52 245/180/52 248/179/52 -f 244/516/52 249/181/52 245/180/52 -f 254/182/42 266/521/42 263/183/42 -f 252/185/53 254/189/53 253/186/53 -f 254/189/54 252/185/54 261/187/54 -f 261/187/54 262/522/54 265/523/54 -f 265/523/54 266/188/54 261/187/54 -f 260/190/41 261/524/41 252/191/41 -f 256/193/53 258/525/53 257/194/53 -f 292/196/54 290/211/54 302/197/54 -f 298/199/54 296/212/54 305/200/54 -f 286/202/54 299/210/54 301/203/54 -f 292/205/54 303/526/54 304/206/54 -f 284/208/54 298/199/54 306/201/54 -f 284/208/54 300/209/54 299/210/54 -f 290/211/54 288/204/54 301/203/54 -f 294/207/54 304/206/54 305/200/54 -f 308/213/52 307/216/52 315/214/52 -f 307/216/52 309/219/52 317/217/52 -f 310/218/52 318/221/52 317/217/52 -f 311/220/52 319/527/52 318/221/52 -f 311/222/52 312/225/52 320/223/52 -f 312/225/52 313/228/52 321/226/52 -f 314/227/52 322/229/52 321/226/52 -f 308/213/52 316/215/52 322/229/52 -f 325/232/52 323/528/52 330/529/52 -f 324/530/52 330/529/52 323/528/52 -f 329/531/52 328/230/52 325/232/52 -f 327/532/52 326/231/52 328/230/52 -f 325/232/52 330/529/52 329/531/52 -f 340/236/54 338/254/54 350/237/54 -f 334/239/56 364/259/56 372/240/56 -f 346/242/54 344/255/54 353/243/54 -f 334/245/54 347/253/54 349/246/54 -f 340/248/54 351/533/54 352/249/54 -f 332/251/54 346/242/54 354/244/54 -f 332/251/54 348/252/54 347/253/54 -f 338/254/54 336/247/54 349/246/54 -f 342/250/54 352/249/54 353/243/54 -f 357/258/52 355/534/52 362/535/52 -f 356/536/52 362/535/52 355/534/52 -f 361/537/52 360/256/52 357/258/52 -f 359/538/52 358/257/52 360/256/52 -f 357/258/52 362/535/52 361/537/52 -f 346/262/60 371/264/60 372/235/60 -f 377/265/42 376/539/42 421/266/42 -f 421/266/42 376/539/42 379/268/42 -f 389/540/54 384/541/54 385/542/54 -f 423/543/54 422/272/54 414/271/54 -f 389/540/54 385/542/54 388/544/54 -f 415/545/54 388/544/54 423/543/54 -f 375/270/54 377/277/54 414/271/54 -f 414/271/54 415/545/54 423/543/54 -f 385/542/54 423/543/54 388/544/54 -f 374/273/41 375/546/41 422/274/41 -f 375/270/51 374/547/51 376/276/51 -f 379/268/42 381/548/42 416/278/42 -f 376/276/61 374/547/61 378/279/61 -f 378/279/51 380/549/51 381/281/51 -f 395/550/52 396/551/52 397/552/52 -f 397/552/52 417/284/52 424/283/52 -f 416/282/52 381/281/52 380/549/52 -f 380/549/52 425/553/52 416/282/52 -f 424/283/52 394/554/52 397/552/52 -f 395/550/52 397/552/52 394/554/52 -f 416/282/52 425/553/52 424/283/52 -f 403/285/51 433/289/51 437/286/51 -f 401/288/62 431/291/62 433/289/62 -f 399/290/51 435/331/51 431/291/51 -f 426/292/41 425/319/41 380/293/41 -f 407/295/63 439/343/63 441/296/63 -f 428/275/41 426/292/41 378/294/41 -f 406/298/51 438/342/51 443/299/51 -f 412/301/54 413/555/54 445/302/54 -f 399/304/42 415/314/42 414/267/42 -f 404/306/42 416/278/42 417/307/42 -f 405/308/42 417/307/42 418/309/42 -f 404/306/42 402/313/42 419/269/42 -f 401/311/42 403/310/42 418/309/42 -f 402/313/42 400/315/42 421/266/42 -f 399/304/42 401/311/42 420/312/42 -f 398/305/42 414/267/42 421/266/42 -f 409/316/41 408/328/41 422/274/41 -f 412/318/41 424/323/41 425/319/41 -f 413/320/41 425/319/41 426/292/41 -f 412/318/41 410/326/41 427/322/41 -f 411/321/41 426/292/41 428/275/41 -f 406/325/41 429/327/41 427/322/41 -f 409/316/41 423/317/41 429/327/41 -f 408/328/41 407/324/41 428/275/41 -f 433/289/42 432/330/42 436/329/42 -f 431/291/42 430/332/42 432/330/42 -f 435/331/42 434/336/42 430/332/42 -f 398/333/52 434/336/52 435/331/52 -f 400/335/53 430/332/53 434/336/53 -f 402/338/63 432/330/63 430/332/63 -f 404/339/53 436/329/53 432/330/53 -f 404/340/54 405/556/54 437/286/54 -f 440/341/41 444/303/41 445/302/41 -f 438/342/41 440/341/41 441/296/41 -f 439/343/41 442/346/41 443/299/41 -f 411/297/53 441/296/53 445/302/53 -f 409/345/52 443/299/52 442/346/52 -f 407/295/53 408/557/53 442/346/53 -f 410/348/62 440/341/62 438/342/62 -f 412/349/51 444/303/51 440/341/51 -f 447/350/41 449/558/41 448/351/41 -f 452/353/42 453/559/42 451/354/42 -f 456/358/41 457/560/41 459/359/41 -f 459/361/54 463/561/54 462/362/54 -f 463/363/42 461/562/42 460/364/42 -f 483/563/53 480/564/53 481/565/53 -f 481/565/53 484/367/53 487/366/53 -f 485/365/53 486/566/53 487/366/53 -f 487/366/53 482/567/53 481/565/53 -f 483/563/53 481/565/53 482/567/53 -f 520/368/77 521/379/77 523/369/77 -f 522/370/78 523/369/78 525/371/78 -f 525/373/79 527/568/79 526/374/79 -f 521/376/41 527/569/41 525/377/41 -f 526/374/80 527/568/80 521/379/80 -f 538/382/41 536/570/41 548/380/41 -f 550/390/41 548/380/41 536/570/41 -f 536/570/41 537/571/41 550/390/41 -f 539/383/68 543/394/68 542/384/68 -f 543/386/42 541/572/42 540/387/42 -f 542/384/53 540/573/53 536/389/53 -f 550/390/69 537/571/69 544/391/69 -f 539/383/54 545/574/54 546/393/54 -f 548/395/52 553/575/52 555/396/52 -f 550/398/70 552/402/70 553/399/70 -f 550/398/54 551/576/54 554/401/54 -f 549/397/71 555/396/71 554/403/71 +vt 0.999863 0.558603 +vt 0.913036 0.999942 +vt 0.913046 0.558531 +vt 0.290226 0.680652 +vt 0.328350 0.613950 +vt 0.289986 0.613909 +vt 0.999954 0.999867 +vt 0.328352 0.680850 +s 0 +f 1/1/1 18/2/1 3/3/1 +f 2/4/2 19/5/2 20/6/2 +f 3/3/1 21/7/1 5/8/1 +f 6/9/2 19/5/2 4/10/2 +f 5/11/1 23/12/1 7/13/1 +f 8/14/2 22/15/2 6/16/2 +f 7/13/1 25/17/1 9/18/1 +f 8/14/2 26/19/2 24/20/2 +f 9/18/1 27/21/1 11/22/1 +f 10/23/2 28/24/2 26/19/2 +f 11/22/1 29/25/1 13/26/1 +f 12/27/2 30/28/2 28/24/2 +f 15/29/1 29/25/1 31/30/1 +f 16/31/2 30/28/2 14/32/2 +f 15/29/1 17/33/1 1/1/1 +f 16/31/2 20/6/2 32/34/2 +f 36/35/2 39/36/2 40/37/2 +f 44/38/1 47/39/1 48/40/1 +f 51/41/3 50/42/3 49/43/3 +f 60/44/4 66/45/4 63/46/4 +f 53/47/4 54/48/4 86/49/4 +f 76/50/4 73/51/4 79/52/4 +f 57/53/4 59/54/4 73/51/4 +f 52/55/4 70/56/4 68/57/4 +f 88/42/5 89/41/5 87/43/5 +f 101/46/6 104/45/6 98/44/6 +f 124/49/6 122/58/6 92/48/6 +f 119/59/6 120/60/6 113/61/6 +f 113/61/6 93/62/6 96/63/6 +f 108/56/6 107/64/6 89/65/6 +f 126/42/7 127/41/7 125/43/7 +f 139/66/8 142/67/8 136/44/8 +f 162/68/8 160/69/8 130/70/8 +f 157/71/8 153/72/8 151/73/8 +f 151/73/8 131/74/8 134/75/8 +f 146/76/8 145/77/8 127/78/8 +f 165/41/9 164/42/9 163/43/9 +f 174/79/10 180/45/10 177/80/10 +f 167/81/11 168/82/11 200/83/11 +f 190/84/11 187/85/11 193/86/11 +f 171/87/11 173/88/11 186/89/11 +f 166/90/11 184/56/11 182/57/11 +f 204/91/12 201/92/12 202/93/12 +f 243/94/13 226/95/13 221/96/13 +f 233/97/13 235/98/13 213/99/13 +f 210/100/13 207/101/13 211/102/13 +f 216/103/2 225/104/2 215/105/2 +f 214/106/14 215/107/14 213/99/14 +f 223/108/15 228/109/15 216/110/15 +f 222/111/1 214/112/1 213/113/1 +f 218/91/14 219/92/14 217/93/14 +f 254/114/15 264/115/15 265/116/15 +f 260/117/15 267/118/15 268/119/15 +f 248/120/15 263/121/15 250/122/15 +f 254/123/16 266/124/16 256/125/16 +f 246/126/15 268/119/15 262/127/15 +f 246/126/15 261/128/15 248/120/15 +f 252/129/15 263/121/15 264/115/15 +f 256/125/15 267/118/15 258/130/15 +f 270/131/13 277/132/13 278/133/13 +f 269/134/13 279/135/13 277/132/13 +f 272/136/13 279/135/13 271/137/13 +f 273/138/13 280/139/13 272/136/13 +f 273/140/13 282/141/13 281/142/13 +f 274/143/13 283/144/13 282/141/13 +f 276/145/13 283/144/13 275/146/13 +f 270/131/13 284/147/13 276/145/13 +f 290/148/13 288/149/13 287/150/13 +f 325/151/17 332/152/17 334/153/17 +f 302/154/15 312/155/15 313/156/15 +f 296/152/18 334/157/18 333/153/18 +f 308/158/15 315/159/15 316/160/15 +f 296/161/15 311/162/15 298/163/15 +f 302/164/15 314/165/15 304/166/15 +f 294/167/15 316/160/15 310/168/15 +f 294/167/15 309/169/15 296/161/15 +f 300/170/15 311/162/15 312/155/15 +f 304/166/15 315/159/15 306/171/15 +f 322/172/13 320/173/13 319/174/13 +f 326/175/19 325/176/19 334/157/19 +f 294/151/20 296/152/20 333/153/20 +f 308/175/21 294/176/21 333/157/21 +f 308/175/22 334/153/22 332/152/22 +f 339/177/2 383/178/2 376/179/2 +f 383/178/2 341/180/2 381/181/2 +f 337/182/15 376/183/15 384/184/15 +f 336/185/1 384/186/1 390/187/1 +f 337/182/12 338/188/12 339/189/12 +f 341/180/2 378/190/2 381/181/2 +f 338/188/23 340/191/23 341/192/23 +f 340/191/12 343/193/12 341/192/12 +f 378/194/13 386/195/13 379/196/13 +f 365/197/12 399/198/12 367/199/12 +f 363/200/24 395/201/24 365/197/24 +f 361/202/12 393/203/12 363/200/12 +f 388/204/1 342/205/1 340/206/1 +f 369/200/25 403/201/25 373/197/25 +f 390/187/1 340/206/1 336/185/1 +f 368/207/12 405/208/12 371/209/12 +f 374/210/15 407/198/15 406/211/15 +f 361/212/2 376/179/2 360/213/2 +f 366/214/2 379/215/2 367/216/2 +f 367/216/2 380/217/2 365/218/2 +f 366/214/2 381/181/2 378/190/2 +f 363/219/2 380/217/2 382/220/2 +f 364/221/2 383/178/2 381/181/2 +f 361/212/2 382/220/2 377/222/2 +f 360/213/2 383/178/2 362/223/2 +f 371/224/1 384/186/1 385/225/1 +f 374/226/1 387/227/1 375/228/1 +f 375/228/1 388/204/1 373/229/1 +f 374/226/1 389/230/1 386/231/1 +f 373/229/1 390/187/1 369/232/1 +f 368/233/1 389/230/1 372/234/1 +f 371/224/1 391/235/1 368/233/1 +f 370/236/1 390/187/1 384/186/1 +f 395/201/2 398/211/2 399/198/2 +f 393/203/2 394/237/2 395/201/2 +f 397/238/2 392/239/2 393/203/2 +f 360/240/13 397/238/13 361/241/13 +f 362/207/14 396/208/14 360/209/14 +f 364/242/25 392/239/25 362/207/25 +f 366/243/14 394/237/14 364/242/14 +f 366/210/15 399/198/15 398/211/15 +f 402/237/1 407/198/1 403/201/1 +f 400/239/1 403/201/1 401/203/1 +f 401/203/1 405/208/1 400/239/1 +f 373/197/14 407/198/14 375/199/14 +f 371/240/13 404/238/13 370/241/13 +f 369/200/14 404/238/14 401/203/14 +f 372/242/24 400/239/24 368/207/24 +f 374/243/12 402/237/12 372/242/12 +f 409/244/1 410/245/1 408/246/1 +f 414/245/2 413/244/2 412/246/2 +f 414/245/2 412/246/2 417/247/2 +f 408/246/1 410/245/1 416/247/1 +f 418/248/1 421/249/1 420/250/1 +f 421/251/15 424/252/15 420/250/15 +f 425/253/2 422/254/2 424/252/2 +f 447/255/14 449/256/14 446/257/14 +f 494/258/1 485/259/1 484/260/1 +f 485/261/26 488/262/26 484/263/26 +f 489/264/2 486/265/2 488/266/2 +f 488/262/14 482/267/14 484/263/14 +f 496/268/27 490/269/27 497/270/27 +f 485/261/15 492/271/15 489/272/15 +f 494/273/13 501/274/13 495/275/13 +f 498/276/28 502/277/28 496/278/28 +f 496/275/15 500/279/15 498/274/15 +f 495/275/29 500/280/29 497/281/29 +f 1/1/1 17/33/1 18/2/1 +f 2/4/2 4/10/2 19/5/2 +f 3/3/1 18/2/1 21/7/1 +f 6/9/2 22/282/2 19/5/2 +f 5/11/1 21/283/1 23/12/1 +f 8/14/2 24/20/2 22/15/2 +f 7/13/1 23/12/1 25/17/1 +f 8/14/2 10/23/2 26/19/2 +f 9/18/1 25/17/1 27/21/1 +f 10/23/2 12/27/2 28/24/2 +f 11/22/1 27/21/1 29/25/1 +f 12/27/2 14/32/2 30/28/2 +f 15/29/1 13/26/1 29/25/1 +f 16/31/2 32/34/2 30/28/2 +f 15/29/1 31/30/1 17/33/1 +f 16/31/2 2/4/2 20/6/2 +f 40/37/2 33/284/2 36/35/2 +f 34/285/2 35/286/2 36/35/2 +f 36/35/2 37/287/2 38/288/2 +f 38/288/2 39/36/2 36/35/2 +f 33/284/2 34/285/2 36/35/2 +f 48/40/1 41/289/1 42/290/1 +f 42/290/1 43/291/1 44/38/1 +f 44/38/1 45/292/1 46/293/1 +f 46/293/1 47/39/1 44/38/1 +f 48/40/1 42/290/1 44/38/1 +f 51/41/30 52/294/30 50/42/30 +f 67/295/4 51/65/4 59/54/4 +f 51/65/4 53/47/4 59/54/4 +f 65/296/4 67/295/4 59/54/4 +f 65/296/4 59/54/4 61/297/4 +f 64/298/4 65/296/4 62/299/4 +f 65/296/4 61/297/4 62/299/4 +f 63/46/4 64/298/4 62/299/4 +f 60/44/4 58/63/4 66/45/4 +f 63/46/4 62/299/4 60/44/4 +f 58/63/4 52/55/4 66/45/4 +f 54/48/4 52/55/4 81/59/4 +f 54/48/4 81/59/4 84/58/4 +f 85/300/4 83/301/4 53/47/4 +f 54/48/4 84/58/4 86/49/4 +f 86/49/4 85/300/4 53/47/4 +f 81/59/4 52/55/4 75/61/4 +f 81/59/4 75/61/4 82/60/4 +f 82/60/4 75/61/4 77/302/4 +f 82/60/4 77/302/4 78/303/4 +f 78/303/4 77/302/4 80/304/4 +f 78/303/4 80/304/4 76/50/4 +f 79/52/4 78/303/4 76/50/4 +f 73/51/4 53/47/4 83/301/4 +f 83/301/4 79/52/4 73/51/4 +f 75/61/4 52/55/4 58/63/4 +f 75/61/4 58/63/4 55/62/4 +f 71/305/4 75/61/4 55/62/4 +f 71/305/4 55/62/4 56/306/4 +f 74/307/4 71/305/4 56/306/4 +f 74/307/4 56/306/4 57/53/4 +f 72/308/4 74/307/4 57/53/4 +f 59/54/4 53/47/4 73/51/4 +f 73/51/4 72/308/4 57/53/4 +f 51/65/4 67/295/4 69/64/4 +f 51/65/4 69/64/4 70/56/4 +f 68/57/4 66/45/4 52/55/4 +f 51/65/4 70/56/4 52/55/4 +f 88/42/31 90/294/31 89/41/31 +f 91/47/6 89/65/6 97/54/6 +f 97/54/6 89/65/6 105/295/6 +f 99/297/6 97/54/6 103/296/6 +f 97/54/6 105/295/6 103/296/6 +f 100/299/6 99/297/6 103/296/6 +f 100/299/6 103/296/6 102/298/6 +f 90/55/6 96/63/6 104/45/6 +f 98/44/6 100/299/6 102/298/6 +f 98/44/6 102/298/6 101/46/6 +f 104/45/6 96/63/6 98/44/6 +f 91/47/6 121/301/6 123/300/6 +f 91/47/6 123/300/6 124/49/6 +f 119/59/6 90/55/6 92/48/6 +f 91/47/6 124/49/6 92/48/6 +f 122/58/6 119/59/6 92/48/6 +f 121/301/6 91/47/6 111/51/6 +f 121/301/6 111/51/6 117/52/6 +f 117/52/6 111/51/6 114/50/6 +f 117/52/6 114/50/6 116/303/6 +f 116/303/6 114/50/6 118/304/6 +f 116/303/6 118/304/6 115/302/6 +f 120/60/6 116/303/6 115/302/6 +f 113/61/6 90/55/6 119/59/6 +f 120/60/6 115/302/6 113/61/6 +f 111/51/6 91/47/6 97/54/6 +f 111/51/6 97/54/6 95/53/6 +f 110/308/6 111/51/6 95/53/6 +f 110/308/6 95/53/6 112/307/6 +f 112/307/6 95/53/6 94/306/6 +f 112/307/6 94/306/6 109/305/6 +f 109/305/6 94/306/6 93/62/6 +f 96/63/6 90/55/6 113/61/6 +f 109/305/6 93/62/6 113/61/6 +f 90/55/6 104/45/6 106/57/6 +f 90/55/6 106/57/6 108/56/6 +f 107/64/6 105/295/6 89/65/6 +f 90/55/6 108/56/6 89/65/6 +f 126/42/32 128/294/32 127/41/32 +f 129/309/8 127/78/8 135/54/8 +f 135/54/8 127/78/8 143/310/8 +f 137/297/8 135/54/8 143/310/8 +f 137/297/8 143/310/8 141/311/8 +f 138/299/8 137/297/8 141/311/8 +f 138/299/8 141/311/8 140/312/8 +f 128/313/8 134/75/8 142/67/8 +f 136/44/8 138/299/8 140/312/8 +f 136/44/8 140/312/8 139/66/8 +f 142/67/8 134/75/8 136/44/8 +f 129/309/8 159/314/8 161/315/8 +f 129/309/8 161/315/8 162/68/8 +f 157/71/8 128/313/8 130/70/8 +f 129/309/8 162/68/8 130/70/8 +f 160/69/8 157/71/8 130/70/8 +f 159/314/8 129/309/8 149/316/8 +f 159/314/8 149/316/8 155/317/8 +f 155/317/8 149/316/8 152/318/8 +f 155/317/8 152/318/8 154/319/8 +f 154/319/8 152/318/8 156/320/8 +f 154/319/8 156/320/8 158/321/8 +f 158/321/8 156/320/8 153/72/8 +f 151/73/8 128/313/8 157/71/8 +f 158/321/8 153/72/8 157/71/8 +f 149/316/8 129/309/8 135/54/8 +f 149/316/8 135/54/8 148/322/8 +f 148/322/8 135/54/8 133/323/8 +f 148/322/8 133/323/8 150/324/8 +f 150/324/8 133/323/8 132/325/8 +f 150/324/8 132/325/8 147/326/8 +f 147/326/8 132/325/8 131/74/8 +f 134/75/8 128/313/8 151/73/8 +f 147/326/8 131/74/8 151/73/8 +f 128/313/8 142/67/8 144/327/8 +f 128/313/8 144/327/8 146/76/8 +f 145/77/8 143/310/8 127/78/8 +f 128/313/8 146/76/8 127/78/8 +f 165/41/33 166/294/33 164/42/33 +f 181/295/11 165/328/11 173/88/11 +f 165/328/11 167/81/11 173/88/11 +f 179/329/11 181/295/11 175/330/11 +f 181/295/11 173/88/11 175/330/11 +f 178/331/11 179/329/11 176/332/11 +f 179/329/11 175/330/11 176/332/11 +f 177/80/11 178/331/11 174/79/11 +f 174/79/11 172/333/11 180/45/11 +f 178/331/11 176/332/11 174/79/11 +f 172/333/11 166/90/11 180/45/11 +f 168/82/11 166/90/11 195/334/11 +f 168/82/11 195/334/11 198/335/11 +f 199/336/11 197/337/11 167/81/11 +f 168/82/11 198/335/11 200/83/11 +f 200/83/11 199/336/11 167/81/11 +f 195/334/11 166/90/11 189/338/11 +f 195/334/11 189/338/11 191/339/11 +f 196/340/11 195/334/11 191/339/11 +f 196/340/11 191/339/11 194/341/11 +f 192/342/11 196/340/11 194/341/11 +f 192/342/11 194/341/11 190/84/11 +f 193/86/11 192/342/11 190/84/11 +f 187/85/11 167/81/11 197/337/11 +f 197/337/11 193/86/11 187/85/11 +f 189/338/11 166/90/11 172/333/11 +f 189/338/11 172/333/11 169/343/11 +f 185/344/11 189/338/11 169/343/11 +f 185/344/11 169/343/11 170/345/11 +f 188/346/11 185/344/11 170/345/11 +f 188/346/11 170/345/11 171/87/11 +f 186/89/11 188/346/11 171/87/11 +f 173/88/11 167/81/11 187/85/11 +f 187/85/11 186/89/11 173/88/11 +f 165/328/11 181/295/11 183/347/11 +f 165/328/11 183/347/11 184/56/11 +f 182/57/11 180/45/11 166/90/11 +f 165/328/11 184/56/11 166/90/11 +f 204/91/34 203/4/34 201/92/34 +f 222/348/13 213/99/13 239/349/13 +f 222/348/13 239/349/13 237/350/13 +f 215/107/13 225/351/13 231/352/13 +f 241/353/13 231/352/13 225/351/13 +f 222/348/13 237/350/13 221/96/13 +f 241/353/13 225/351/13 226/95/13 +f 221/96/13 237/350/13 243/94/13 +f 243/94/13 241/353/13 226/95/13 +f 215/107/13 231/352/13 229/354/13 +f 215/107/13 229/354/13 233/97/13 +f 235/98/13 239/349/13 213/99/13 +f 213/99/13 215/107/13 233/97/13 +f 206/355/13 205/356/13 212/357/13 +f 212/357/13 211/102/13 206/355/13 +f 210/100/13 209/358/13 208/359/13 +f 208/359/13 207/101/13 210/100/13 +f 206/355/13 211/102/13 207/101/13 +f 216/103/2 228/360/2 225/104/2 +f 214/106/14 216/110/14 215/107/14 +f 216/110/15 214/106/15 223/108/15 +f 223/108/15 224/361/15 227/362/15 +f 227/362/15 228/109/15 223/108/15 +f 222/111/1 223/363/1 214/112/1 +f 218/91/14 220/4/14 219/92/14 +f 254/114/15 252/129/15 264/115/15 +f 260/117/15 258/130/15 267/118/15 +f 248/120/15 261/128/15 263/121/15 +f 254/123/15 265/364/15 266/124/15 +f 246/126/35 260/117/35 268/119/35 +f 246/126/15 262/127/15 261/128/15 +f 252/129/15 250/122/15 263/121/15 +f 256/125/15 266/124/15 267/118/15 +f 270/131/13 269/134/13 277/132/13 +f 269/134/13 271/137/13 279/135/13 +f 272/136/13 280/139/13 279/135/13 +f 273/138/13 281/365/13 280/139/13 +f 273/140/13 274/143/13 282/141/13 +f 274/143/13 275/146/13 283/144/13 +f 276/145/13 284/147/13 283/144/13 +f 270/131/13 278/133/13 284/147/13 +f 287/150/13 285/366/13 292/367/13 +f 286/368/13 292/367/13 285/366/13 +f 291/369/13 290/148/13 287/150/13 +f 289/370/13 288/149/13 290/148/13 +f 287/150/13 292/367/13 291/369/13 +f 302/154/15 300/170/15 312/155/15 +f 296/152/18 326/175/18 334/157/18 +f 308/158/15 306/171/15 315/159/15 +f 296/161/15 309/169/15 311/162/15 +f 302/164/15 313/371/15 314/165/15 +f 294/167/15 308/158/15 316/160/15 +f 294/167/15 310/168/15 309/169/15 +f 300/170/15 298/163/15 311/162/15 +f 304/166/15 314/165/15 315/159/15 +f 319/174/13 317/372/13 324/373/13 +f 318/374/13 324/373/13 317/372/13 +f 323/375/13 322/172/13 319/174/13 +f 321/376/13 320/173/13 322/172/13 +f 319/174/13 324/373/13 323/375/13 +f 308/175/22 333/157/22 334/153/22 +f 339/177/2 338/377/2 383/178/2 +f 383/178/2 338/377/2 341/180/2 +f 351/378/15 346/379/15 347/380/15 +f 385/381/15 384/184/15 376/183/15 +f 351/378/15 347/380/15 350/382/15 +f 377/383/15 350/382/15 385/381/15 +f 337/182/15 339/189/15 376/183/15 +f 376/183/15 377/383/15 385/381/15 +f 347/380/15 385/381/15 350/382/15 +f 336/185/1 337/384/1 384/186/1 +f 337/182/12 336/385/12 338/188/12 +f 341/180/2 343/386/2 378/190/2 +f 338/188/23 336/385/23 340/191/23 +f 340/191/12 342/177/12 343/193/12 +f 357/387/13 358/388/13 359/389/13 +f 359/389/13 379/196/13 386/195/13 +f 378/194/13 343/193/13 342/177/13 +f 342/177/13 387/390/13 378/194/13 +f 386/195/13 356/391/13 359/389/13 +f 357/387/13 359/389/13 356/391/13 +f 378/194/13 387/390/13 386/195/13 +f 365/197/12 395/201/12 399/198/12 +f 363/200/24 393/203/24 395/201/24 +f 361/202/12 397/238/12 393/203/12 +f 388/204/1 387/227/1 342/205/1 +f 369/200/25 401/203/25 403/201/25 +f 390/187/1 388/204/1 340/206/1 +f 368/207/12 400/239/12 405/208/12 +f 374/210/15 375/392/15 407/198/15 +f 361/212/2 377/222/2 376/179/2 +f 366/214/2 378/190/2 379/215/2 +f 367/216/2 379/215/2 380/217/2 +f 366/214/2 364/221/2 381/181/2 +f 363/219/2 365/218/2 380/217/2 +f 364/221/2 362/223/2 383/178/2 +f 361/212/2 363/219/2 382/220/2 +f 360/213/2 376/179/2 383/178/2 +f 371/224/1 370/236/1 384/186/1 +f 374/226/1 386/231/1 387/227/1 +f 375/228/1 387/227/1 388/204/1 +f 374/226/1 372/234/1 389/230/1 +f 373/229/1 388/204/1 390/187/1 +f 368/233/1 391/235/1 389/230/1 +f 371/224/1 385/225/1 391/235/1 +f 370/236/1 369/232/1 390/187/1 +f 395/201/2 394/237/2 398/211/2 +f 393/203/2 392/239/2 394/237/2 +f 397/238/2 396/208/2 392/239/2 +f 360/240/13 396/208/13 397/238/13 +f 362/207/14 392/239/14 396/208/14 +f 364/242/25 394/237/25 392/239/25 +f 366/243/14 398/211/14 394/237/14 +f 366/210/15 367/392/15 399/198/15 +f 402/237/1 406/211/1 407/198/1 +f 400/239/1 402/237/1 403/201/1 +f 401/203/1 404/238/1 405/208/1 +f 373/197/14 403/201/14 407/198/14 +f 371/240/13 405/208/13 404/238/13 +f 369/200/14 370/202/14 404/238/14 +f 372/242/24 402/237/24 400/239/24 +f 374/243/12 406/211/12 402/237/12 +f 409/244/1 411/393/1 410/245/1 +f 414/245/2 415/393/2 413/244/2 +f 418/248/1 419/394/1 421/249/1 +f 421/251/15 425/395/15 424/252/15 +f 425/253/2 423/396/2 422/254/2 +f 445/397/14 442/398/14 443/399/14 +f 443/399/14 446/257/14 449/256/14 +f 447/255/14 448/400/14 449/256/14 +f 449/256/14 444/401/14 443/399/14 +f 445/397/14 443/399/14 444/401/14 +f 482/402/1 502/403/1 503/404/1 +f 496/268/1 502/403/1 482/402/1 +f 482/402/1 483/405/1 496/268/1 +f 485/261/26 489/272/26 488/262/26 +f 489/264/2 487/406/2 486/265/2 +f 488/262/14 486/407/14 482/267/14 +f 496/268/27 483/405/27 490/269/27 +f 485/261/15 491/408/15 492/271/15 +f 494/273/13 499/279/13 501/274/13 +f 499/279/36 494/273/36 503/409/36 +f 496/275/15 497/273/15 500/279/15 +f 495/275/29 501/274/29 500/280/29 s 1 -f 58/66/81 56/62/82 55/93/83 -f 57/65/84 59/67/85 56/62/82 -f 60/75/86 61/72/87 59/406/85 -f 62/80/88 63/77/89 61/72/87 -f 64/79/90 65/81/91 63/77/89 -f 66/84/92 67/85/93 65/81/91 -f 68/88/94 69/90/95 67/85/93 -f 70/94/96 55/93/83 69/90/95 -f 72/577/81 42/70/97 40/64/98 -f 73/578/96 40/64/98 54/91/99 -f 74/579/94 54/91/99 52/92/100 -f 75/580/92 52/92/100 50/87/101 -f 76/581/90 50/87/101 48/83/102 -f 77/582/88 48/83/102 46/74/103 -f 78/583/86 46/74/103 44/76/104 -f 71/584/84 44/69/104 42/70/97 -f 80/585/82 39/61/105 41/63/106 -f 81/586/85 41/63/106 43/68/107 -f 82/587/87 43/71/107 45/73/108 -f 83/588/89 45/73/108 47/78/109 -f 84/589/91 47/78/109 49/82/110 -f 85/590/93 49/82/110 51/86/111 -f 86/591/95 51/86/111 53/89/112 -f 79/592/83 53/89/112 39/61/105 -f 246/593/113 270/594/114 245/595/115 -f 249/596/116 274/597/117 248/598/118 -f 250/599/119 282/600/120 276/601/121 -f 243/602/122 280/603/123 282/604/120 -f 249/596/116 276/601/121 278/605/124 -f 262/606/125 264/607/126 265/608/127 -f 244/609/128 270/594/114 280/603/123 -f 262/606/125 260/190/129 259/610/130 -f 264/607/126 266/521/131 265/608/127 -f 248/598/118 272/611/132 247/612/133 -f 269/613/134 268/614/135 267/615/136 -f 272/611/132 273/616/137 271/617/138 -f 272/611/132 267/615/136 268/614/135 -f 277/618/139 276/601/121 275/619/140 -f 274/597/117 277/618/139 273/616/137 -f 280/603/123 269/613/134 279/620/141 -f 282/604/120 279/620/141 281/621/142 -f 282/600/120 275/619/140 276/601/121 -f 247/612/133 268/614/135 246/593/113 -f 284/208/143 285/622/144 283/623/51 -f 285/622/144 288/204/145 287/624/42 -f 287/624/42 290/211/146 289/625/147 -f 290/211/146 291/626/53 289/625/147 -f 292/205/148 293/627/149 291/628/53 -f 294/207/150 295/629/41 293/627/149 -f 296/212/151 297/630/152 295/629/41 -f 298/199/153 283/623/51 297/630/152 -f 300/209/154 315/214/155 299/210/156 -f 307/216/157 325/631/158 309/219/159 -f 306/201/160 316/215/161 300/209/154 -f 305/200/162 320/223/163 321/226/164 -f 303/198/165 318/221/166 319/527/167 -f 299/210/156 317/217/158 301/203/168 -f 305/200/162 322/229/169 306/201/160 -f 303/526/165 320/223/163 304/206/170 -f 301/203/168 318/221/166 302/197/171 -f 313/228/172 330/632/169 314/227/173 -f 311/222/174 328/633/163 312/225/175 -f 309/219/159 326/634/166 310/218/176 -f 308/213/177 323/635/155 307/216/157 -f 314/227/173 324/636/161 308/213/177 -f 312/225/175 329/637/164 313/228/172 -f 310/218/176 327/638/167 311/220/174 -f 364/639/178 336/247/145 365/640/42 -f 336/247/145 366/641/147 365/640/42 -f 338/254/146 367/642/53 366/641/147 -f 340/248/148 368/643/149 367/644/53 -f 342/250/150 369/645/41 368/643/149 -f 369/645/41 346/242/179 370/646/180 -f 348/252/154 355/647/155 347/253/156 -f 354/244/160 356/648/161 348/252/154 -f 353/243/162 360/649/163 361/650/164 -f 350/237/171 359/651/167 351/238/165 -f 347/253/156 357/652/158 349/246/168 -f 353/243/162 362/653/169 354/244/160 -f 351/533/165 360/649/163 352/249/170 -f 350/237/171 357/652/158 358/654/166 -f 370/646/180 331/655/51 345/656/152 -f 369/645/41 345/656/152 343/657/41 -f 368/643/149 343/657/41 341/658/149 -f 367/644/53 341/658/149 339/659/53 -f 366/641/147 339/660/53 337/661/147 -f 365/640/42 337/661/147 335/662/42 -f 364/639/178 335/662/42 333/663/144 -f 363/664/181 333/665/144 331/655/51 -f 387/666/182 390/667/183 382/668/183 -f 429/327/41 391/669/184 427/322/41 -f 391/669/184 424/323/185 427/322/41 -f 393/670/182 395/671/186 390/667/183 -f 382/668/183 385/672/187 384/673/188 -f 387/666/182 388/674/189 386/675/190 -f 390/667/183 383/676/184 382/668/183 -f 392/677/190 387/666/182 386/675/190 -f 397/678/191 393/670/182 392/677/190 -f 391/669/184 395/671/186 394/679/192 -f 389/680/193 382/668/183 384/673/188 -f 418/309/42 397/678/191 392/677/190 -f 420/312/42 392/677/190 386/675/190 -f 415/314/194 386/675/190 388/674/189 -f 429/327/41 385/672/187 383/676/184 -f 449/681/195 452/682/196 448/683/197 -f 450/684/198 447/685/185 446/686/199 -f 446/686/199 455/687/200 450/684/198 -f 448/683/197 455/687/200 454/688/201 -f 461/689/202 456/358/203 460/364/204 -f 462/362/205 456/358/203 458/360/206 -f 475/690/207 465/691/208 472/692/209 -f 468/693/210 484/694/211 481/695/212 -f 479/696/213 494/697/214 474/698/215 -f 465/691/208 487/699/216 472/692/209 -f 479/696/213 473/700/217 476/701/218 -f 473/700/217 485/702/219 476/701/218 -f 490/703/220 496/704/221 499/705/222 -f 467/706/223 490/703/220 470/707/224 -f 478/708/225 491/709/226 492/710/227 -f 467/706/223 469/711/228 464/712/229 -f 491/709/226 501/713/230 492/710/227 -f 475/690/207 488/714/231 466/715/232 -f 468/693/210 478/708/225 477/716/233 -f 494/697/214 500/717/234 503/718/235 -f 495/719/236 497/720/237 488/714/231 -f 466/715/232 464/712/229 465/691/208 -f 471/721/238 469/711/228 470/707/224 -f 479/722/213 477/716/233 478/708/225 -f 472/692/209 474/698/215 475/690/207 -f 472/692/209 486/723/239 473/700/217 -f 477/716/233 485/724/219 484/694/211 -f 464/712/229 482/725/240 465/691/208 -f 469/711/228 481/695/212 480/726/241 -f 490/703/220 471/721/238 470/707/224 -f 479/722/213 492/710/227 493/727/242 -f 495/719/236 474/698/215 494/697/214 -f 466/715/232 489/728/243 467/706/223 -f 503/718/235 495/719/236 494/697/214 -f 489/728/243 497/720/237 496/704/221 -f 490/703/220 498/729/244 491/709/226 -f 500/730/234 492/710/227 501/713/230 -f 469/711/228 483/731/245 464/712/229 -f 506/732/246 509/733/247 508/734/247 -f 508/734/247 511/735/248 510/736/248 -f 510/736/248 505/737/249 504/738/249 -f 517/739/250 514/740/251 516/741/250 -f 519/742/252 516/741/250 518/743/252 -f 513/744/253 518/743/252 512/745/253 -f 529/746/254 530/747/255 528/748/254 -f 533/749/256 534/750/257 532/751/256 -f 535/752/257 528/748/254 534/750/257 -f 549/753/258 551/392/259 547/754/260 -f 541/572/261 546/755/262 547/754/260 -f 548/380/263 545/756/264 539/381/265 -f 58/66/81 57/65/84 56/62/82 -f 57/65/84 60/405/86 59/67/85 -f 60/75/86 62/80/88 61/72/87 -f 62/80/88 64/79/90 63/77/89 -f 64/79/90 66/84/92 65/81/91 -f 66/84/92 68/88/94 67/85/93 -f 68/88/94 70/94/96 69/90/95 -f 70/94/96 58/66/81 55/93/83 -f 72/577/81 71/584/84 42/70/97 -f 73/578/96 72/577/81 40/64/98 -f 74/579/94 73/578/96 54/91/99 -f 75/580/92 74/579/94 52/92/100 -f 76/581/90 75/580/92 50/87/101 -f 77/582/88 76/581/90 48/83/102 -f 78/583/86 77/582/88 46/74/103 -f 71/584/84 78/757/86 44/69/104 -f 80/585/82 79/592/83 39/61/105 -f 81/586/85 80/585/82 41/63/106 -f 82/587/87 81/758/85 43/71/107 -f 83/588/89 82/587/87 45/73/108 -f 84/589/91 83/588/89 47/78/109 -f 85/590/93 84/589/91 49/82/110 -f 86/591/95 85/590/93 51/86/111 -f 79/592/83 86/591/95 53/89/112 -f 246/593/113 268/614/135 270/594/114 -f 249/596/116 278/605/124 274/597/117 -f 250/599/119 243/759/122 282/600/120 -f 243/602/122 244/609/128 280/603/123 -f 249/596/116 250/599/119 276/601/121 -f 262/606/125 259/610/130 264/607/126 -f 244/609/128 245/595/115 270/594/114 -f 262/606/125 261/524/266 260/190/129 -f 264/607/126 263/183/267 266/521/131 -f 248/598/118 274/597/117 272/611/132 -f 269/613/134 270/594/114 268/614/135 -f 272/611/132 274/597/117 273/616/137 -f 272/611/132 271/617/138 267/615/136 -f 277/618/139 278/605/124 276/601/121 -f 274/597/117 278/605/124 277/618/139 -f 280/603/123 270/594/114 269/613/134 -f 282/604/120 280/603/123 279/620/141 -f 282/600/120 281/760/142 275/619/140 -f 247/612/133 272/611/132 268/614/135 -f 284/208/143 286/202/268 285/622/144 -f 285/622/144 286/202/268 288/204/145 -f 287/624/42 288/204/145 290/211/146 -f 290/211/146 292/196/148 291/626/53 -f 292/205/148 294/207/150 293/627/149 -f 294/207/150 296/212/151 295/629/41 -f 296/212/151 298/199/153 297/630/152 -f 298/199/153 284/208/143 283/623/51 -f 300/209/154 316/215/161 315/214/155 -f 307/216/157 323/635/155 325/631/158 -f 306/201/160 322/229/169 316/215/161 -f 305/200/162 304/206/170 320/223/163 -f 303/198/165 302/197/171 318/221/166 -f 299/210/156 315/214/155 317/217/158 -f 305/200/162 321/226/164 322/229/169 -f 303/526/165 319/224/167 320/223/163 -f 301/203/168 317/217/158 318/221/166 -f 313/228/172 329/637/164 330/632/169 -f 311/222/174 327/761/167 328/633/163 -f 309/219/159 325/631/158 326/634/166 -f 308/213/177 324/636/161 323/635/155 -f 314/227/173 330/632/169 324/636/161 -f 312/225/175 328/633/163 329/637/164 -f 310/218/176 326/634/166 327/638/167 -f 364/639/178 334/245/269 336/247/145 -f 336/247/145 338/254/146 366/641/147 -f 338/254/146 340/236/148 367/642/53 -f 340/248/148 342/250/150 368/643/149 -f 342/250/150 344/255/151 369/645/41 -f 369/645/41 344/255/151 346/242/179 -f 348/252/154 356/648/161 355/647/155 -f 354/244/160 362/653/169 356/648/161 -f 353/243/162 352/249/170 360/649/163 -f 350/237/171 358/654/166 359/651/167 -f 347/253/156 355/647/155 357/652/158 -f 353/243/162 361/650/164 362/653/169 -f 351/533/165 359/762/167 360/649/163 -f 350/237/171 349/246/168 357/652/158 -f 370/646/180 363/664/181 331/655/51 -f 369/645/41 370/646/180 345/656/152 -f 368/643/149 369/645/41 343/657/41 -f 367/644/53 368/643/149 341/658/149 -f 366/641/147 367/642/53 339/660/53 -f 365/640/42 366/641/147 337/661/147 -f 364/639/178 365/640/42 335/662/42 -f 363/664/181 364/763/178 333/665/144 -f 387/666/182 393/670/182 390/667/183 -f 429/327/41 383/676/184 391/669/184 -f 391/669/184 394/679/192 424/323/185 -f 393/670/182 396/764/270 395/671/186 -f 382/668/183 383/676/184 385/672/187 -f 387/666/182 389/680/193 388/674/189 -f 390/667/183 391/669/184 383/676/184 -f 392/677/190 393/670/182 387/666/182 -f 397/678/191 396/764/270 393/670/182 -f 391/669/184 390/667/183 395/671/186 -f 389/680/193 387/666/182 382/668/183 -f 418/309/42 417/307/202 397/678/191 -f 420/312/42 418/309/42 392/677/190 -f 415/314/194 420/312/42 386/675/190 -f 429/327/41 423/317/271 385/672/187 -f 449/681/195 453/765/272 452/682/196 -f 450/684/198 451/766/202 447/685/185 -f 446/686/199 454/688/201 455/687/200 -f 448/683/197 452/682/196 455/687/200 -f 461/689/202 457/767/185 456/358/203 -f 462/362/205 460/364/204 456/358/203 -f 475/690/207 466/715/232 465/691/208 -f 468/693/210 477/716/233 484/694/211 -f 479/696/213 493/768/242 494/697/214 -f 465/691/208 482/725/240 487/699/216 -f 479/696/213 474/698/215 473/700/217 -f 473/700/217 486/723/239 485/702/219 -f 490/703/220 489/728/243 496/704/221 -f 467/706/223 489/728/243 490/703/220 -f 478/708/225 471/721/238 491/709/226 -f 467/706/223 470/707/224 469/711/228 -f 491/709/226 498/729/244 501/713/230 -f 475/690/207 495/719/236 488/714/231 -f 468/693/210 471/721/238 478/708/225 -f 494/697/214 493/768/242 500/717/234 -f 495/719/236 502/769/273 497/720/237 -f 466/715/232 467/706/223 464/712/229 -f 471/721/238 468/693/210 469/711/228 -f 479/722/213 476/770/218 477/716/233 -f 472/692/209 473/700/217 474/698/215 -f 472/692/209 487/699/216 486/723/239 -f 477/716/233 476/770/218 485/724/219 -f 464/712/229 483/731/245 482/725/240 -f 469/711/228 468/693/210 481/695/212 -f 490/703/220 491/709/226 471/721/238 -f 479/722/213 478/708/225 492/710/227 -f 495/719/236 475/690/207 474/698/215 -f 466/715/232 488/714/231 489/728/243 -f 503/718/235 502/769/273 495/719/236 -f 489/728/243 488/714/231 497/720/237 -f 490/703/220 499/705/222 498/729/244 -f 500/730/234 493/727/242 492/710/227 -f 469/711/228 480/726/241 483/731/245 -f 506/732/246 507/771/246 509/733/247 -f 508/734/247 509/733/247 511/735/248 -f 510/736/248 511/735/248 505/737/249 -f 517/739/250 515/772/251 514/740/251 -f 519/742/252 517/739/250 516/741/250 -f 513/744/253 519/742/252 518/743/252 -f 529/746/254 531/773/255 530/747/255 -f 533/749/256 535/752/257 534/750/257 -f 535/752/257 529/746/254 528/748/254 -f 547/754/260 546/755/262 549/753/258 -f 545/756/264 549/753/258 546/755/262 -f 551/392/259 544/391/274 547/754/260 -f 541/572/261 543/386/275 546/755/262 -f 548/380/263 549/753/258 545/756/264 -l 332 373 +f 20/6/37 18/2/38 17/33/39 +f 19/5/40 21/7/41 18/2/38 +f 22/15/42 23/12/43 21/283/41 +f 24/20/44 25/17/45 23/12/43 +f 26/19/46 27/21/47 25/17/45 +f 28/24/48 29/25/49 27/21/47 +f 30/28/50 31/30/51 29/25/49 +f 32/34/52 17/33/39 31/30/51 +f 34/410/53 4/10/54 2/4/55 +f 35/411/52 2/4/55 16/31/56 +f 36/412/57 16/31/56 14/32/58 +f 37/413/59 14/32/58 12/27/60 +f 38/414/46 12/27/60 10/23/61 +f 39/415/62 10/23/61 8/14/63 +f 40/294/42 8/14/63 6/16/64 +f 33/416/40 6/9/64 4/10/54 +f 42/417/65 1/1/66 3/3/67 +f 43/418/41 3/3/67 5/8/68 +f 44/419/43 5/11/68 7/13/69 +f 45/420/70 7/13/69 9/18/71 +f 46/421/47 9/18/71 11/22/72 +f 47/422/49 11/22/72 13/26/73 +f 48/423/74 13/26/73 15/29/75 +f 41/424/76 15/29/75 1/1/66 +f 208/425/77 232/426/78 207/427/79 +f 211/428/80 236/429/81 210/430/82 +f 212/431/83 244/432/84 238/433/85 +f 205/434/86 242/435/87 244/436/84 +f 211/428/80 238/433/85 240/437/88 +f 224/438/89 226/439/90 227/440/91 +f 206/441/92 232/426/78 242/435/87 +f 224/438/89 222/111/93 221/442/94 +f 226/439/90 228/360/95 227/440/91 +f 210/430/82 234/443/96 209/444/97 +f 231/445/98 230/446/99 229/447/100 +f 234/443/96 235/448/101 233/449/102 +f 234/443/96 229/447/100 230/446/99 +f 239/450/103 238/433/85 237/451/104 +f 236/429/81 239/450/103 235/448/101 +f 242/435/87 231/445/98 241/452/105 +f 244/436/84 241/452/105 243/453/106 +f 244/432/84 237/451/104 238/433/85 +f 209/444/97 230/446/99 208/425/77 +f 246/126/107 247/454/108 245/455/12 +f 247/454/108 250/122/109 249/456/2 +f 249/456/2 252/129/110 251/457/111 +f 252/129/110 253/458/14 251/457/111 +f 254/123/112 255/459/113 253/460/14 +f 256/125/114 257/461/1 255/459/113 +f 258/130/115 259/462/116 257/461/1 +f 260/117/117 245/455/12 259/462/116 +f 262/127/118 277/132/119 261/128/120 +f 269/134/121 287/463/122 271/137/123 +f 268/119/124 278/133/125 262/127/118 +f 267/118/126 282/141/127 283/144/128 +f 265/116/129 280/139/130 281/365/131 +f 261/128/120 279/135/122 263/121/132 +f 267/118/126 284/147/133 268/119/124 +f 265/364/129 282/141/127 266/124/134 +f 263/121/132 280/139/130 264/115/135 +f 275/146/136 292/464/133 276/145/137 +f 273/140/138 290/465/139 274/143/140 +f 271/137/123 288/466/141 272/136/142 +f 270/131/143 285/467/144 269/134/121 +f 276/145/137 286/468/145 270/131/143 +f 274/143/140 291/469/146 275/146/136 +f 272/136/142 289/470/147 273/138/138 +f 326/471/148 298/163/109 327/472/2 +f 298/163/109 328/473/111 327/472/2 +f 300/170/149 329/474/14 328/473/111 +f 302/164/112 330/475/113 329/476/14 +f 304/166/150 331/477/1 330/475/113 +f 331/477/1 308/158/151 332/478/152 +f 310/168/153 317/479/154 309/169/155 +f 316/160/156 318/480/157 310/168/153 +f 315/159/158 322/481/159 323/482/160 +f 312/155/161 321/470/147 313/156/162 +f 309/169/155 319/483/122 311/162/163 +f 315/159/158 324/484/164 316/160/156 +f 313/371/162 322/481/159 314/165/165 +f 312/155/161 319/483/122 320/485/130 +f 332/478/152 293/486/12 307/487/116 +f 331/477/1 307/487/116 305/488/1 +f 330/475/113 305/488/1 303/489/113 +f 329/476/14 303/489/113 301/490/14 +f 328/473/111 301/458/14 299/491/111 +f 327/472/2 299/491/111 297/492/2 +f 326/471/148 297/492/2 295/493/108 +f 325/494/166 295/495/108 293/486/12 +f 349/496/167 352/497/168 344/498/168 +f 391/235/1 353/499/169 389/230/1 +f 353/499/169 386/231/170 389/230/1 +f 355/500/167 357/501/171 352/497/168 +f 344/498/168 347/502/172 346/503/173 +f 349/496/167 350/504/174 348/505/175 +f 352/497/168 345/506/169 344/498/168 +f 354/507/175 349/496/167 348/505/175 +f 359/508/176 355/500/167 354/507/175 +f 353/499/169 357/501/171 356/509/177 +f 351/510/178 344/498/168 346/503/173 +f 380/217/2 359/508/176 354/507/175 +f 382/220/2 354/507/175 348/505/175 +f 377/222/179 348/505/175 350/504/174 +f 391/235/1 347/502/172 345/506/169 +f 411/511/180 414/512/181 410/513/182 +f 412/514/183 409/515/184 408/516/185 +f 408/516/185 417/517/186 412/514/183 +f 410/513/182 417/517/186 416/518/187 +f 423/519/188 418/248/189 422/254/190 +f 424/252/191 418/248/189 420/250/192 +f 437/520/193 427/521/194 434/522/195 +f 430/523/196 446/524/197 443/525/198 +f 441/526/199 456/527/200 436/528/201 +f 427/521/194 449/529/202 434/522/195 +f 441/526/199 435/530/203 438/531/204 +f 435/530/203 447/532/205 438/531/204 +f 452/533/206 458/534/207 461/535/208 +f 429/536/209 452/533/206 432/537/210 +f 440/538/211 453/539/212 454/540/213 +f 429/536/209 431/541/214 426/542/215 +f 453/539/212 463/543/216 454/540/213 +f 437/520/193 450/544/217 428/545/218 +f 430/523/196 440/538/211 439/546/219 +f 456/527/200 462/547/220 465/548/221 +f 457/549/222 459/550/223 450/544/217 +f 428/545/218 426/542/215 427/521/194 +f 433/551/224 431/541/214 432/537/210 +f 441/552/199 439/546/219 440/538/211 +f 434/522/195 436/528/201 437/520/193 +f 434/522/195 448/553/225 435/530/203 +f 439/546/219 447/554/205 446/524/197 +f 426/542/215 444/555/226 427/521/194 +f 431/541/214 443/525/198 442/556/227 +f 452/533/206 433/551/224 432/537/210 +f 441/552/199 454/540/213 455/557/228 +f 457/549/222 436/528/201 456/527/200 +f 428/545/218 451/558/229 429/536/209 +f 465/548/221 457/549/222 456/527/200 +f 451/558/229 459/550/223 458/534/207 +f 452/533/206 460/559/230 453/539/212 +f 462/560/220 454/540/213 463/543/216 +f 431/541/214 445/561/231 426/542/215 +f 468/562/232 471/563/233 470/564/233 +f 470/564/233 473/565/234 472/566/234 +f 472/566/234 467/567/235 466/568/235 +f 479/564/236 476/569/237 478/563/236 +f 481/566/238 478/563/236 480/565/238 +f 475/568/239 480/565/238 474/567/239 +f 495/570/240 497/270/241 493/571/242 +f 487/406/243 492/572/244 493/571/242 +f 494/258/245 491/573/246 485/259/247 +f 20/6/37 19/5/40 18/2/38 +f 19/5/40 22/282/42 21/7/41 +f 22/15/42 24/20/44 23/12/43 +f 24/20/44 26/19/46 25/17/45 +f 26/19/46 28/24/48 27/21/47 +f 28/24/48 30/28/50 29/25/49 +f 30/28/50 32/34/52 31/30/51 +f 32/34/52 20/6/37 17/33/39 +f 34/410/53 33/416/40 4/10/54 +f 35/411/52 34/410/53 2/4/55 +f 36/412/57 35/411/52 16/31/56 +f 37/413/59 36/412/57 14/32/58 +f 38/414/46 37/413/59 12/27/60 +f 39/415/62 38/414/46 10/23/61 +f 40/294/42 39/415/62 8/14/63 +f 33/416/40 40/574/42 6/9/64 +f 42/417/65 41/424/76 1/1/66 +f 43/418/41 42/417/65 3/3/67 +f 44/419/43 43/575/41 5/11/68 +f 45/420/70 44/419/43 7/13/69 +f 46/421/47 45/420/70 9/18/71 +f 47/422/49 46/421/47 11/22/72 +f 48/423/74 47/422/49 13/26/73 +f 41/424/76 48/423/74 15/29/75 +f 208/425/77 230/446/99 232/426/78 +f 211/428/80 240/437/88 236/429/81 +f 212/431/83 205/576/86 244/432/84 +f 205/434/86 206/441/92 242/435/87 +f 211/428/80 212/431/83 238/433/85 +f 224/438/89 221/442/94 226/439/90 +f 206/441/92 207/427/79 232/426/78 +f 224/438/89 223/363/248 222/111/93 +f 226/439/90 225/104/249 228/360/95 +f 210/430/82 236/429/81 234/443/96 +f 231/445/98 232/426/78 230/446/99 +f 234/443/96 236/429/81 235/448/101 +f 234/443/96 233/449/102 229/447/100 +f 239/450/103 240/437/88 238/433/85 +f 236/429/81 240/437/88 239/450/103 +f 242/435/87 232/426/78 231/445/98 +f 244/436/84 242/435/87 241/452/105 +f 244/432/84 243/577/106 237/451/104 +f 209/444/97 234/443/96 230/446/99 +f 246/126/107 248/120/250 247/454/108 +f 247/454/108 248/120/250 250/122/109 +f 249/456/2 250/122/109 252/129/110 +f 252/129/110 254/114/112 253/458/14 +f 254/123/112 256/125/114 255/459/113 +f 256/125/114 258/130/115 257/461/1 +f 258/130/115 260/117/117 259/462/116 +f 260/117/117 246/126/107 245/455/12 +f 262/127/118 278/133/125 277/132/119 +f 269/134/121 285/467/144 287/463/122 +f 268/119/124 284/147/133 278/133/125 +f 267/118/126 266/124/134 282/141/127 +f 265/116/129 264/115/135 280/139/130 +f 261/128/120 277/132/119 279/135/122 +f 267/118/126 283/144/128 284/147/133 +f 265/364/129 281/142/131 282/141/127 +f 263/121/132 279/135/122 280/139/130 +f 275/146/136 291/469/146 292/464/133 +f 273/140/138 289/578/147 290/465/139 +f 271/137/123 287/463/122 288/466/141 +f 270/131/143 286/468/145 285/467/144 +f 276/145/137 292/464/133 286/468/145 +f 274/143/140 290/465/139 291/469/146 +f 272/136/142 288/466/141 289/470/147 +f 326/471/148 296/161/251 298/163/109 +f 298/163/109 300/170/149 328/473/111 +f 300/170/149 302/154/112 329/474/14 +f 302/164/112 304/166/150 330/475/113 +f 304/166/150 306/171/252 331/477/1 +f 331/477/1 306/171/252 308/158/151 +f 310/168/153 318/480/157 317/479/154 +f 316/160/156 324/484/164 318/480/157 +f 315/159/158 314/165/165 322/481/159 +f 312/155/161 320/485/130 321/470/147 +f 309/169/155 317/479/154 319/483/122 +f 315/159/158 323/482/160 324/484/164 +f 313/371/162 321/266/147 322/481/159 +f 312/155/161 311/162/163 319/483/122 +f 332/478/152 325/494/166 293/486/12 +f 331/477/1 332/478/152 307/487/116 +f 330/475/113 331/477/1 305/488/1 +f 329/476/14 330/475/113 303/489/113 +f 328/473/111 329/474/14 301/458/14 +f 327/472/2 328/473/111 299/491/111 +f 326/471/148 327/472/2 297/492/2 +f 325/494/166 326/579/148 295/495/108 +f 349/496/167 355/500/167 352/497/168 +f 391/235/1 345/506/169 353/499/169 +f 353/499/169 356/509/177 386/231/170 +f 355/500/167 358/580/253 357/501/171 +f 344/498/168 345/506/169 347/502/172 +f 349/496/167 351/510/178 350/504/174 +f 352/497/168 353/499/169 345/506/169 +f 354/507/175 355/500/167 349/496/167 +f 359/508/176 358/580/253 355/500/167 +f 353/499/169 352/497/168 357/501/171 +f 351/510/178 349/496/167 344/498/168 +f 380/217/2 379/215/254 359/508/176 +f 382/220/2 380/217/2 354/507/175 +f 377/222/179 382/220/2 348/505/175 +f 391/235/1 385/225/255 347/502/172 +f 411/511/180 415/581/256 414/512/181 +f 412/514/183 413/582/188 409/515/184 +f 408/516/185 416/518/187 417/517/186 +f 410/513/182 414/512/181 417/517/186 +f 423/519/188 419/583/184 418/248/189 +f 424/252/191 422/254/190 418/248/189 +f 437/520/193 428/545/218 427/521/194 +f 430/523/196 439/546/219 446/524/197 +f 441/526/199 455/584/228 456/527/200 +f 427/521/194 444/555/226 449/529/202 +f 441/526/199 436/528/201 435/530/203 +f 435/530/203 448/553/225 447/532/205 +f 452/533/206 451/558/229 458/534/207 +f 429/536/209 451/558/229 452/533/206 +f 440/538/211 433/551/224 453/539/212 +f 429/536/209 432/537/210 431/541/214 +f 453/539/212 460/559/230 463/543/216 +f 437/520/193 457/549/222 450/544/217 +f 430/523/196 433/551/224 440/538/211 +f 456/527/200 455/584/228 462/547/220 +f 457/549/222 464/585/257 459/550/223 +f 428/545/218 429/536/209 426/542/215 +f 433/551/224 430/523/196 431/541/214 +f 441/552/199 438/586/204 439/546/219 +f 434/522/195 435/530/203 436/528/201 +f 434/522/195 449/529/202 448/553/225 +f 439/546/219 438/586/204 447/554/205 +f 426/542/215 445/561/231 444/555/226 +f 431/541/214 430/523/196 443/525/198 +f 452/533/206 453/539/212 433/551/224 +f 441/552/199 440/538/211 454/540/213 +f 457/549/222 437/520/193 436/528/201 +f 428/545/218 450/544/217 451/558/229 +f 465/548/221 464/585/257 457/549/222 +f 451/558/229 450/544/217 459/550/223 +f 452/533/206 461/535/208 460/559/230 +f 462/560/220 455/557/228 454/540/213 +f 431/541/214 442/556/227 445/561/231 +f 468/562/232 469/569/232 471/563/233 +f 470/564/233 471/563/233 473/565/234 +f 472/566/234 473/565/234 467/567/235 +f 479/564/236 477/562/237 476/569/237 +f 481/566/238 479/564/236 478/563/236 +f 475/568/239 481/566/238 480/565/238 +f 493/571/242 492/572/244 495/570/240 +f 491/573/246 495/570/240 492/572/244 +f 497/270/241 490/269/258 493/571/242 +f 487/406/243 489/264/259 492/572/244 +f 494/258/245 495/570/240 491/573/246 +s 0 +f 498/587/260 503/588/260 502/589/260 +f 501/590/27 498/591/27 500/592/27 +f 503/404/1 494/258/1 484/260/1 +f 484/260/1 482/402/1 503/404/1 +f 498/587/260 499/593/260 503/588/260 +f 501/590/27 499/594/27 498/591/27 +l 294 335 +o PumpGrip +v 0.443200 1.647273 -5.814597 +v 0.443200 1.647273 -5.001840 +v -0.443198 1.647273 -5.814597 +v -0.443198 1.647273 -5.001840 +v 0.510669 1.652728 -4.763550 +v -0.510667 1.652728 -4.763550 +v 0.443200 1.647273 -6.244457 +v -0.443198 1.647273 -6.244457 +v 0.443200 1.647274 -7.247699 +v -0.443198 1.647274 -7.247699 +v 0.443200 1.378115 -7.539924 +v -0.443198 1.378115 -7.539924 +v 0.443200 1.079550 -7.539924 +v -0.443198 1.079550 -7.539924 +v 0.248882 0.889651 -5.814597 +v 0.443200 1.060285 -5.814597 +v 0.443200 1.060285 -5.001840 +v 0.248882 0.889651 -5.001840 +v -0.443198 1.060285 -5.814597 +v -0.248880 0.889651 -5.814597 +v -0.248880 0.889651 -5.001840 +v -0.443198 1.060285 -5.001840 +v 0.316350 0.779774 -4.763550 +v 0.510669 0.950408 -4.763550 +v -0.510667 0.950408 -4.763550 +v -0.316348 0.779774 -4.763550 +v 0.248882 0.780984 -6.244457 +v 0.443200 0.951618 -6.244457 +v -0.443198 0.951618 -6.244457 +v -0.248880 0.780984 -6.244457 +v 0.248882 0.780985 -7.247699 +v 0.443200 0.951619 -7.247699 +v -0.443198 0.951619 -7.247699 +v -0.248880 0.780985 -7.247699 +v 0.443200 1.032400 -7.594676 +v 0.248882 0.898080 -7.750655 +v -0.248880 0.898080 -7.750655 +v -0.443198 1.032400 -7.594676 +v 0.182936 1.764759 -2.404954 +v 0.519915 1.764759 -2.404954 +v 0.182936 1.814798 -2.426134 +v 0.519915 1.814798 -2.425681 +v 0.182936 1.764759 -2.446860 +v 0.519915 1.764759 -2.446860 +v 0.194255 1.710889 -2.424850 +v 0.519915 1.712354 -2.426178 +v 0.210307 1.836682 -1.008561 +v 0.210307 1.836682 -2.527064 +v 0.100311 1.850322 -1.008561 +v 0.100311 1.850322 -2.527064 +v 0.274949 1.555488 -1.008561 +v 0.274949 1.555487 -2.527063 +v 0.278441 1.749259 -1.008561 +v 0.278441 1.749258 -2.527064 +vn -0.0000 -0.0000 1.0000 +vn -0.0000 0.7355 -0.6775 +vn -0.0000 -0.0000 -1.0000 +vn -0.0000 0.7578 -0.6525 +vn -0.3600 -0.9255 0.1181 +vn 0.3422 -0.9327 0.1137 +vn 0.3600 -0.9255 0.1181 +vn -0.6688 0.7364 -0.1026 +vn 0.6567 0.5705 0.4932 +vn 0.6688 0.7364 -0.1026 +vn -0.9224 -0.3836 0.0454 +vn -0.7071 0.7071 -0.0000 +vn -0.8977 -0.4369 0.0575 +vn 0.7071 0.7071 -0.0000 +vn 0.9072 -0.3651 -0.2093 +vn 0.9224 -0.3836 0.0454 +vn 0.8977 -0.4369 0.0575 +vn 0.6337 0.7206 -0.2813 +vn 0.3301 -0.9090 -0.2545 +vn -0.3304 -0.8325 0.4446 +vn -0.3301 -0.9090 -0.2545 +vn -0.9072 -0.3651 -0.2093 +vn -0.8988 -0.4352 -0.0526 +vn -0.6567 0.5705 0.4932 +vn 0.7868 -0.4159 0.4559 +vn -0.3422 -0.9327 0.1137 +vn 0.3430 -0.9334 -0.1052 +vn -0.6337 0.7206 -0.2813 +vn 0.8988 -0.4352 -0.0526 +vn 0.8140 0.2421 -0.5280 +vn 0.6269 0.3128 -0.7135 +vn -0.6269 0.3128 -0.7135 +vn -0.8140 0.2421 -0.5280 +vn -0.3430 -0.9334 -0.1052 +vn 0.3219 -0.2640 -0.9092 +vn 0.3304 -0.8325 0.4446 +vn -0.7868 -0.4159 0.4559 +vn -0.7590 0.1068 -0.6423 +vn -0.3219 -0.2640 -0.9092 +vn 0.7589 0.1067 -0.6424 +vn -0.0012 0.3898 0.9209 +vn -0.0000 0.3827 -0.9239 +vn -0.0000 -0.3782 -0.9257 +vn 1.0000 -0.0000 -0.0000 +vn -0.0000 -0.3465 0.9381 +vn -0.0000 0.3827 0.9239 +vn 0.0012 0.3898 -0.9209 +vn -0.0021 -0.3671 -0.9302 +vn 0.0055 -0.3754 0.9269 +vn 0.4935 0.8698 -0.0000 +vn 0.1231 0.9924 -0.0000 +vn 0.9998 -0.0180 -0.0000 +vn 0.9486 0.3165 -0.0000 +vt 0.280193 0.278528 +vt 0.202899 0.278528 +vt 0.217391 0.263804 +vt 0.275362 0.595092 +vt 0.207729 0.625767 +vt 0.207729 0.595092 +vt 0.275362 0.650307 +vt 0.207729 0.650307 +vt 0.260870 0.680982 +vt 0.265700 0.263804 +vt 0.280193 0.337423 +vt 0.202899 0.337423 +vt 0.275362 0.625767 +vt 0.222222 0.680982 +vt 0.207729 0.662577 +vt 0.275362 0.662577 +vt 0.125604 0.490798 +vt 0.077295 0.533742 +vt 0.077295 0.490798 +vt 0.207729 0.361963 +vt 0.275362 0.361963 +vt 0.144928 0.490798 +vt 0.202899 0.533742 +vt 0.144928 0.533742 +vt 0.275362 0.460123 +vt 0.207729 0.496933 +vt 0.207729 0.460123 +vt 0.000000 0.490798 +vt 0.057971 0.398773 +vt 0.057971 0.490798 +vt 0.057971 0.533742 +vt -0.000000 0.644172 +vt 0.000000 0.533742 +vt 0.077295 0.398773 +vt 0.125604 0.368098 +vt 0.125604 0.398773 +vt 0.202899 0.398773 +vt 0.144928 0.398773 +vt 0.144928 0.644172 +vt 0.202899 0.368098 +vt 0.000000 0.368098 +vt 0.057971 0.368098 +vt 0.125604 0.533742 +vt 0.077295 0.644172 +vt 0.275362 0.496933 +vt 0.057971 0.644172 +vt 0.048309 0.668712 +vt 0.019324 0.668712 +vt 0.188406 0.668712 +vt 0.154589 0.668712 +vt 0.125604 0.644172 +vt 0.077295 0.680982 +vt 0.077295 0.368098 +vt 0.144928 0.368098 +vt 0.144928 0.680982 +vt 0.125604 0.680982 +vt 0.057971 0.680982 +vt 0.202899 0.490798 +vt 0.000000 0.398773 +vt 0.202899 0.644172 +vt 0.492754 0.754601 +vt 0.478261 0.852761 +vt 0.478261 0.754601 +vt 0.463768 0.852761 +vt 0.463768 0.754601 +vt 0.521739 0.852761 +vt 0.507246 0.754601 +vt 0.521739 0.754601 +vt 0.531401 0.840491 +vt 0.521739 0.840491 +vt 0.526570 0.828221 +vt 0.492754 0.852761 +vt 0.507246 0.852761 +vt 0.526570 0.852761 +vt 0.386473 0.680982 +vt 0.589372 0.644172 +vt 0.589372 0.680982 +vt 0.386473 0.754601 +vt 0.589372 0.717791 +vt 0.589372 0.754601 +vt 0.386473 0.717791 +vt 0.386473 0.644172 +s 0 +f 527/595/261 528/596/261 529/597/261 +f 512/598/262 515/599/262 513/600/262 +f 515/599/263 516/601/263 517/602/263 +f 517/602/264 516/601/264 539/603/264 +f 529/597/261 526/604/261 527/595/261 +f 527/595/261 508/605/261 509/606/261 +f 509/606/261 528/596/261 527/595/261 +f 512/598/262 514/607/262 515/599/262 +f 515/599/263 514/607/263 516/601/263 +f 539/603/264 540/608/264 517/602/264 +f 541/609/264 517/602/264 540/608/264 +f 516/601/264 538/610/264 539/603/264 +s 1 +f 523/611/265 530/612/266 518/613/267 +f 507/614/268 508/605/269 505/615/270 +f 522/616/271 511/617/272 532/618/273 +f 504/619/274 511/620/272 506/621/272 +f 504/622/274 520/623/275 519/624/276 +f 505/615/270 506/621/272 507/614/268 +f 531/625/277 512/626/278 510/627/274 +f 521/628/279 529/629/280 524/630/281 +f 507/631/268 522/616/271 525/632/282 +f 511/617/272 536/633/283 532/618/273 +f 525/632/282 509/634/284 507/631/268 +f 520/623/275 508/635/269 527/636/285 +f 519/624/276 510/627/274 504/622/274 +f 533/637/286 534/638/287 530/612/266 +f 510/639/274 513/600/288 511/620/272 +f 535/640/289 516/641/290 514/642/291 +f 536/633/283 515/643/292 517/644/293 +f 537/645/294 539/646/295 534/638/287 +f 518/613/267 520/623/275 521/628/279 +f 524/630/281 522/616/271 523/611/265 +f 521/628/279 527/636/285 526/647/296 +f 524/630/281 528/648/297 525/632/282 +f 523/611/265 532/618/273 533/637/286 +f 518/613/267 531/625/277 519/624/276 +f 536/633/283 533/637/286 532/618/273 +f 531/625/277 534/638/287 535/640/289 +f 537/645/294 541/649/298 540/650/299 +f 538/651/300 534/638/287 539/646/295 +f 524/630/281 518/613/267 521/628/279 +f 523/611/265 533/637/286 530/612/266 +f 507/614/268 509/606/284 508/605/269 +f 522/616/271 506/652/272 511/617/272 +f 504/619/274 510/639/274 511/620/272 +f 504/622/274 505/653/270 520/623/275 +f 505/615/270 504/619/274 506/621/272 +f 531/625/277 535/640/289 512/626/278 +f 521/628/279 526/647/296 529/629/280 +f 507/631/268 506/652/272 522/616/271 +f 511/617/272 513/654/288 536/633/283 +f 525/632/282 528/648/297 509/634/284 +f 520/623/275 505/653/270 508/635/269 +f 519/624/276 531/625/277 510/627/274 +f 533/637/286 537/645/294 534/638/287 +f 510/639/274 512/598/278 513/600/288 +f 514/642/291 512/626/278 535/640/289 +f 535/640/289 538/651/300 516/641/290 +f 536/633/283 513/654/288 515/643/292 +f 517/644/293 541/649/298 536/633/283 +f 537/645/294 540/650/299 539/646/295 +f 518/613/267 519/624/276 520/623/275 +f 524/630/281 525/632/282 522/616/271 +f 521/628/279 520/623/275 527/636/285 +f 524/630/281 529/629/280 528/648/297 +f 523/611/265 522/616/271 532/618/273 +f 518/613/267 530/612/266 531/625/277 +f 536/633/283 537/645/294 533/637/286 +f 531/625/277 530/612/266 534/638/287 +f 537/645/294 536/633/283 541/649/298 +f 538/651/300 535/640/289 534/638/287 +f 524/630/281 523/611/265 518/613/267 +s 0 +f 542/655/301 545/656/301 544/657/301 +f 544/657/302 547/658/302 546/659/302 +f 547/660/303 548/661/303 546/662/303 +f 543/663/304 547/664/304 545/665/304 +f 548/661/305 543/666/305 542/655/305 +f 542/655/306 543/666/306 545/656/306 +f 544/657/307 545/656/307 547/658/307 +f 547/660/308 549/667/308 548/661/308 +f 543/663/304 549/668/304 547/664/304 +f 548/661/309 549/667/309 543/666/309 +s 1 +f 551/669/310 552/670/311 550/671/310 +f 555/672/312 556/673/313 554/674/312 +f 557/675/313 550/671/310 556/673/313 +f 551/669/310 553/676/311 552/670/311 +f 555/672/312 557/675/313 556/673/313 +f 557/675/313 551/669/310 550/671/310 +o ShellFore +v 0.050831 1.600261 -3.114101 +v 0.035833 1.636467 -3.114101 +v -0.000373 1.651464 -3.114101 +v -0.036579 1.636467 -3.114101 +v -0.051576 1.600261 -3.114101 +v -0.036579 1.564054 -3.114101 +v -0.000373 1.549057 -3.114101 +v 0.035833 1.564054 -3.114101 +v 0.146708 1.600261 -2.873161 +v 0.103629 1.704262 -2.873161 +v -0.000373 1.747342 -2.873161 +v -0.104375 1.704262 -2.873161 +v -0.147454 1.600261 -2.873161 +v -0.104375 1.496259 -2.873161 +v -0.000373 1.453180 -2.873161 +v 0.103629 1.496259 -2.873161 +v 0.103629 1.704262 -3.321586 +v 0.146708 1.600261 -3.321586 +v -0.000373 1.747342 -3.321586 +v -0.104375 1.704262 -3.321586 +v -0.147454 1.600261 -3.321586 +v -0.104375 1.496259 -3.321586 +v -0.000373 1.453180 -3.321586 +v 0.103629 1.496259 -3.321586 +vn 0.9239 -0.3827 -0.0000 +vn 0.9239 0.3827 -0.0000 +vn 0.3827 0.9239 -0.0000 +vn -0.9239 -0.3827 -0.0000 +vn -0.3827 -0.9239 -0.0000 +vn 0.3827 -0.9239 -0.0000 +vn -0.3827 0.9239 -0.0000 +vn -0.9239 0.3827 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn -0.8497 -0.3519 -0.3926 +vn -0.3520 -0.8497 -0.3926 +vn 0.3520 -0.8497 -0.3926 +vn 0.8497 -0.3520 -0.3926 +vn 0.8497 0.3520 -0.3926 +vn 0.3519 0.8497 -0.3926 +vn -0.3520 0.8497 -0.3926 +vn -0.8497 0.3520 -0.3926 +vn -0.8497 -0.3520 -0.3926 +vn 0.3520 0.8497 -0.3926 +vt 0.043550 0.791975 +vt 0.002178 0.930026 +vt 0.002178 0.791975 +vt 0.333158 0.791975 +vt 0.291785 0.930026 +vt 0.291785 0.791975 +vt 0.250413 0.930026 +vt 0.250413 0.791975 +vt 0.167668 0.791975 +vt 0.126295 0.930026 +vt 0.126295 0.791975 +vt 0.084923 0.791975 +vt 0.084923 0.930026 +vt 0.043550 0.930026 +vt 0.209040 0.930026 +vt 0.209040 0.791975 +vt 0.167668 0.930026 +vt 0.050685 0.998106 +vt 0.166073 0.998106 +vt 0.281460 0.998106 +vt 0.057134 0.998830 +vt 0.116907 0.930226 +vt 0.118548 0.999962 +vt 0.001433 0.999043 +vt 0.060207 0.931062 +vt 0.331484 0.999525 +vt 0.247738 0.930700 +vt 0.333277 0.931090 +vt 0.001218 0.996208 +vt 0.139723 0.930508 +vt 0.137063 0.995766 +vt 0.000345 0.997602 +vt 0.139908 0.933364 +vt 0.136182 0.998674 +vt 0.001907 0.998589 +vt 0.087835 0.929331 +vt 0.090634 0.998073 +vt 0.000235 0.999789 +vt 0.056663 0.931708 +vt 0.053753 0.998957 +vt 0.000699 0.998101 +vt -0.000302 0.930474 +vt 0.333158 0.930026 +vt 0.329256 0.998106 +vt 0.281460 0.998106 +vt 0.002889 0.998106 +vt 0.001473 0.930410 +vt 0.247782 0.999431 +vt 0.003911 0.932253 +vt -0.001634 0.932333 +vt 0.002007 0.930529 +vt -0.000503 0.931244 +s 0 +f 573/677/314 575/678/314 566/679/314 +f 566/680/315 574/681/315 567/682/315 +f 567/682/316 576/683/316 568/684/316 +f 570/685/317 579/686/317 571/687/317 +f 572/688/318 579/686/318 580/689/318 +f 572/688/319 581/690/319 573/677/319 +f 577/691/320 568/684/320 576/683/320 +f 569/692/321 578/693/321 570/685/321 +f 563/694/322 562/695/322 561/696/322 +f 559/697/323 575/698/323 558/699/323 +f 560/700/324 574/701/324 559/697/324 +f 560/702/325 577/703/325 576/704/325 +f 562/705/326 577/706/326 561/707/326 +f 563/708/327 578/709/327 562/710/327 +f 564/711/328 579/712/328 563/713/328 +f 565/714/329 580/715/329 564/716/329 +f 565/717/330 575/698/330 581/718/330 +f 573/677/314 581/690/314 575/678/314 +f 566/680/315 575/719/315 574/681/315 +f 567/682/316 574/681/316 576/683/316 +f 570/685/317 578/693/317 579/686/317 +f 572/688/318 571/687/318 579/686/318 +f 572/688/319 580/689/319 581/690/319 +f 577/691/320 569/692/320 568/684/320 +f 569/692/321 577/691/321 578/693/321 +f 561/696/322 560/720/322 559/721/322 +f 559/721/322 558/695/322 561/696/322 +f 558/695/322 565/694/322 561/696/322 +f 565/694/322 564/722/322 561/696/322 +f 564/722/322 563/694/322 561/696/322 +f 559/697/331 574/701/331 575/698/331 +f 560/700/324 576/723/324 574/701/324 +f 560/702/325 561/724/325 577/703/325 +f 562/705/326 578/725/326 577/706/326 +f 563/708/327 579/726/327 578/709/327 +f 564/711/332 580/727/332 579/712/332 +f 565/714/329 581/728/329 580/715/329 +f 565/717/330 558/699/330 575/698/330 +o Shell +v 0.146708 1.600261 -2.711360 +v 0.103629 1.704262 -2.711360 +v -0.000373 1.747342 -2.711360 +v -0.104375 1.704262 -2.711360 +v -0.147454 1.600261 -2.711360 +v -0.104375 1.496259 -2.711360 +v -0.000373 1.453180 -2.711360 +v 0.103629 1.496259 -2.711360 +v 0.165534 1.600261 -2.711360 +v 0.116941 1.717575 -2.711360 +v -0.000373 1.766168 -2.711360 +v -0.117687 1.717575 -2.711360 +v -0.166280 1.600261 -2.711360 +v -0.117687 1.482947 -2.711360 +v -0.000373 1.434354 -2.711360 +v 0.116941 1.482947 -2.711360 +v 0.165534 1.600261 -2.660172 +v 0.116941 1.717575 -2.660172 +v -0.000373 1.766168 -2.660172 +v -0.117687 1.717575 -2.660172 +v -0.166280 1.600261 -2.660172 +v -0.117687 1.482947 -2.660172 +v -0.000373 1.434354 -2.660172 +v 0.116941 1.482947 -2.660172 +v 0.146708 1.600261 -2.873161 +v 0.103629 1.704262 -2.873161 +v -0.000373 1.747342 -2.873161 +v -0.104375 1.704262 -2.873161 +v -0.147454 1.600261 -2.873161 +v -0.104375 1.496259 -2.873161 +v -0.000373 1.453180 -2.873161 +v 0.103629 1.496259 -2.873161 +vn -0.3827 0.9239 -0.0000 +vn -0.9239 0.3827 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn -0.0000 -0.0000 1.0000 +vn -0.3827 -0.9239 -0.0000 +vn 0.3827 -0.9239 -0.0000 +vn 0.3827 0.9239 -0.0000 +vn -0.9239 -0.3827 -0.0000 +vn 0.9239 -0.3827 -0.0000 +vn 0.9239 0.3827 -0.0000 +vt 0.207020 0.712433 +vt 0.247848 0.790812 +vt 0.207020 0.790812 +vt 0.166191 0.790812 +vt 0.166191 0.712433 +vt 0.125363 0.712433 +vt 0.084534 0.712433 +vt 0.288676 0.712433 +vt 0.329504 0.712433 +vt 0.002878 0.712433 +vt 0.043706 0.712433 +vt 0.247848 0.712433 +vt 0.334095 0.764304 +vt 0.358730 0.803066 +vt 0.477679 0.725541 +vt 0.477679 0.803066 +vt 0.502314 0.764304 +vt 0.358730 0.725541 +vt 0.288676 0.790812 +vt 0.002878 0.790812 +vt 0.043706 0.790812 +vt 0.084534 0.790812 +vt 0.125363 0.790812 +vt 0.418204 0.819122 +vt 0.418204 0.709486 +vt 0.329504 0.790812 +s 0 +f 585/729/333 608/730/333 609/731/333 +f 585/729/334 610/732/334 586/733/334 +f 587/734/335 596/735/335 595/734/335 +f 583/736/335 590/737/335 582/737/335 +f 582/738/335 597/739/335 589/739/335 +f 584/740/335 593/729/335 592/740/335 +f 604/741/336 605/742/336 601/743/336 +f 593/729/333 600/740/333 592/740/333 +f 596/735/337 603/734/337 595/734/337 +f 594/733/334 601/729/334 593/729/334 +f 597/739/338 604/735/338 596/735/338 +f 592/740/339 599/736/339 591/736/339 +f 594/733/340 603/734/340 602/733/340 +f 590/738/341 605/739/341 597/739/341 +f 591/736/342 598/737/342 590/737/342 +f 586/733/335 593/729/335 585/729/335 +f 584/740/335 591/736/335 583/736/335 +f 589/739/335 596/735/335 588/735/335 +f 599/744/336 600/745/336 601/743/336 +f 587/734/335 594/733/335 586/733/335 +f 603/746/336 604/741/336 601/743/336 +f 583/736/339 608/730/339 584/740/339 +f 582/737/342 607/747/342 583/736/342 +f 589/739/341 606/748/341 582/738/341 +f 588/735/338 613/749/338 589/739/338 +f 587/734/337 612/750/337 588/735/337 +f 587/734/340 610/732/340 611/751/340 +f 587/734/335 588/735/335 596/735/335 +f 583/736/335 591/736/335 590/737/335 +f 582/738/335 590/738/335 597/739/335 +f 584/740/335 585/729/335 593/729/335 +f 605/742/336 598/752/336 599/744/336 +f 593/729/333 601/729/333 600/740/333 +f 596/735/337 604/735/337 603/734/337 +f 594/733/334 602/733/334 601/729/334 +f 597/739/338 605/739/338 604/735/338 +f 592/740/339 600/740/339 599/736/339 +f 594/733/340 595/734/340 603/734/340 +f 590/738/341 598/738/341 605/739/341 +f 591/736/342 599/736/342 598/737/342 +f 586/733/335 594/733/335 593/729/335 +f 584/740/335 592/740/335 591/736/335 +f 589/739/335 597/739/335 596/735/335 +f 587/734/335 595/734/335 594/733/335 +f 601/743/336 602/753/336 603/746/336 +f 605/742/336 599/744/336 601/743/336 +f 585/729/333 584/740/333 608/730/333 +f 585/729/334 609/731/334 610/732/334 +f 583/736/339 607/747/339 608/730/339 +f 582/737/342 606/754/342 607/747/342 +f 589/739/341 613/749/341 606/748/341 +f 588/735/338 612/750/338 613/749/338 +f 587/734/337 611/751/337 612/750/337 +f 587/734/340 586/733/340 610/732/340 diff --git a/src/main/resources/assets/hbm/models/weapons/supershotty.obj b/src/main/resources/assets/hbm/models/weapons/supershotty.obj index 10a9056da..115506132 100644 --- a/src/main/resources/assets/hbm/models/weapons/supershotty.obj +++ b/src/main/resources/assets/hbm/models/weapons/supershotty.obj @@ -1,1380 +1,7053 @@ -# Blender v2.79 (sub 0) OBJ File: 'shotty3.blend' +# Blender 4.0.1 # www.blender.org -o handle_Cylinder.005 -v -2.245215 0.158745 0.128180 -v -2.083610 0.158745 0.105625 -v -2.083570 0.123570 0.105400 -v -2.245215 0.123570 0.129475 -v -2.083570 0.089745 0.105440 -v -2.245215 0.089745 0.133310 -v -2.083570 0.058575 0.105675 -v -2.245215 0.058575 0.139545 -v -2.083570 0.031250 0.105690 -v -2.245215 0.031250 0.147930 -v -2.083570 0.008830 0.105480 -v -2.245215 0.008830 0.158150 -v -2.083570 -0.007835 0.105365 -v -2.245215 -0.007835 0.174980 -v -2.245215 0.058575 0.359425 -v -2.083565 0.019155 0.389250 -v -2.083565 0.089500 0.389185 -v -2.245215 0.089745 0.365095 -v -2.083570 0.123570 0.389195 -v -2.245215 0.123570 0.368585 -v -2.083570 0.158745 0.389140 -v -2.245215 0.158745 0.369765 -v -2.083565 0.193920 0.389045 -v -2.245215 0.193920 0.368585 -v -2.083565 0.227745 0.388925 -v -2.245215 0.227745 0.365095 -v -2.083565 0.280795 0.389170 -v -2.245215 0.258915 0.359425 -v -2.083565 0.345415 0.388700 -v -2.245215 0.286240 0.351795 -v -2.084215 0.344835 0.340665 -v -2.245215 0.308665 0.337830 -v -2.083950 0.345235 0.297580 -v -2.245215 0.325325 0.311255 -v -2.083415 0.345655 0.273030 -v -2.245215 0.335585 0.277120 -v -2.083095 0.345075 0.247500 -v -2.245215 0.339050 0.240835 -v -2.083255 0.345290 0.221970 -v -2.245215 0.335585 0.204265 -v -2.083665 0.345370 0.192415 -v -2.245215 0.325325 0.174980 -v -2.083815 0.345665 0.144360 -v -2.245215 0.308665 0.158150 -v -2.083565 0.345415 0.106295 -v -2.245215 0.286240 0.147930 -v -2.083570 0.293665 0.105945 -v -2.245215 0.258915 0.139545 -v -2.083565 0.229315 0.105600 -v -2.245215 0.227745 0.133310 -v -2.083610 0.193920 0.105435 -v -2.245215 0.193920 0.129475 -v -2.245215 -0.021560 0.240835 -v -2.245215 -0.018095 0.277120 -v -2.257880 -0.014270 0.275950 -v -2.257140 -0.017450 0.241175 -v -2.260070 -0.004500 0.307830 -v -2.277205 -0.004700 0.306510 -v -2.272960 -0.013340 0.275500 -v -2.310890 0.215395 0.364075 -v -2.303350 0.183845 0.367505 -v -2.328755 0.290990 0.161325 -v -2.332175 0.306595 0.180075 -v -2.263625 0.011105 0.161325 -v -2.268410 0.032035 0.149140 -v -2.280895 0.086630 0.364075 -v -2.274245 0.057535 0.358190 -v -2.334170 0.316205 0.275870 -v -2.332175 0.306595 0.307730 -v -2.288120 0.118200 0.130660 -v -2.295675 0.151025 0.129390 -v -2.303360 0.183840 0.130660 -v -2.245215 -0.007835 0.311255 -v -2.317945 0.244475 0.358190 -v -2.324025 0.270005 0.149140 -v -2.260070 -0.004500 0.180070 -v -2.288120 0.118200 0.367505 -v -2.334855 0.319445 0.241090 -v -2.280895 0.086630 0.134430 -v -2.245215 0.008830 0.337830 -v -2.263625 0.011105 0.332715 -v -2.324020 0.270010 0.348695 -v -2.317960 0.244470 0.140555 -v -2.245215 -0.018095 0.204265 -v -2.257880 -0.014270 0.207535 -v -2.295675 0.151030 0.368665 -v -2.334170 0.316205 0.207520 -v -2.274245 0.057535 0.140555 -v -2.245215 0.031250 0.351795 -v -2.268410 0.032035 0.348695 -v -2.328745 0.290990 0.332680 -v -2.310905 0.215390 0.134430 -v -2.293380 0.028245 0.347430 -v -2.304685 0.051195 0.357490 -v -2.334670 0.039275 0.356620 -v -2.318540 0.020190 0.346145 -v -2.425160 0.287605 0.241335 -v -2.424035 0.284635 0.275285 -v -2.284100 0.009415 0.331025 -v -2.424025 0.284635 0.208735 -v -2.420440 0.275850 0.181795 -v -2.414190 0.261595 0.162635 -v -2.317595 0.077385 0.363595 -v -2.331690 0.105795 0.131155 -v -2.346655 0.135315 0.129890 -v -2.404765 0.242465 0.149850 -v -2.331685 0.105795 0.367050 -v -2.317595 0.077385 0.134900 -v -2.392360 0.219365 0.141035 -v -2.346635 0.135315 0.368205 -v -2.304685 0.051195 0.141035 -v -2.377830 0.193145 0.134900 -v -2.362140 0.164810 0.367050 -v -2.293380 0.028245 0.149840 -v -2.362190 0.164810 0.131155 -v -2.377780 0.193160 0.363595 -v -2.284100 0.009415 0.162600 -v -2.392330 0.219400 0.357480 -v -2.277205 -0.004700 0.181745 -v -2.404755 0.242495 0.347390 -v -2.272960 -0.013340 0.208720 -v -2.414195 0.261615 0.330925 -v -2.271525 -0.016590 0.241400 -v -2.420445 0.275850 0.306355 -v -2.373370 0.084670 0.366535 -v -2.395125 0.109190 0.367700 -v -2.436870 0.075925 0.367315 -v -2.409540 0.057335 0.366145 -v -2.496990 0.215000 0.163960 -v -2.505790 0.227305 0.183430 -v -2.353125 0.061055 0.362960 -v -2.373385 0.084670 0.131695 -v -2.395175 0.109190 0.130440 -v -2.483195 0.198680 0.150735 -v -2.353130 0.061055 0.135440 -v -2.464430 0.179100 0.141680 -v -2.334670 0.039275 0.141675 -v -2.441935 0.157215 0.135440 -v -2.418275 0.133670 0.366535 -v -2.318540 0.020190 0.150700 -v -2.418340 0.133645 0.131695 -v -2.441905 0.157295 0.362955 -v -2.305300 0.004540 0.163870 -v -2.464475 0.179220 0.356590 -v -2.295465 -0.007075 0.183265 -v -2.483310 0.198820 0.346060 -v -2.289410 -0.014450 0.209755 -v -2.497105 0.215085 0.329195 -v -2.287360 -0.016725 0.241615 -v -2.505870 0.227345 0.305040 -v -2.289410 -0.014450 0.274915 -v -2.510480 0.234875 0.274725 -v -2.295465 -0.007075 0.305320 -v -2.511905 0.237410 0.241575 -v -2.305300 0.004540 0.329390 -v -2.510455 0.234875 0.209885 -v -2.496840 0.112550 0.362510 -v -2.526090 0.129540 0.355865 -v -2.573820 0.075965 0.355650 -v -2.539885 0.064000 0.362365 -v -2.361325 0.022930 0.142115 -v -2.384290 0.039440 0.135840 -v -2.496675 0.112355 0.135845 -v -2.525675 0.129215 0.142130 -v -2.466210 0.094535 0.366145 -v -2.341245 0.008465 0.151405 -v -2.466200 0.094445 0.132115 -v -2.324775 -0.003380 0.164895 -v -2.436895 0.075905 0.130870 -v -2.312535 -0.012145 0.184345 -v -2.550835 0.144800 0.344950 -v -2.304995 -0.017540 0.210550 -v -2.568720 0.157715 0.327975 -v -2.302450 -0.019445 0.241820 -v -2.579735 0.167355 0.303940 -v -2.304995 -0.017540 0.274415 -v -2.585340 0.173315 0.274195 -v -2.312535 -0.012145 0.304280 -v -2.587000 0.175325 0.241875 -v -2.324775 -0.003380 0.328250 -v -2.585225 0.173280 0.210815 -v -2.341245 0.008465 0.345105 -v -2.579480 0.167240 0.184605 -v -2.361325 0.022930 0.355915 -v -2.568285 0.157470 0.165055 -v -2.384285 0.039440 0.362520 -v -2.409565 0.057335 0.132115 -v -2.550295 0.144445 0.151465 -v -2.624000 0.096080 0.327425 -v -2.637145 0.102970 0.303510 -v -2.680100 0.036580 0.303450 -v -2.665575 0.032360 0.327345 -v -2.329500 -0.021635 0.184820 -v -2.343475 -0.015670 0.165270 -v -2.602840 0.086885 0.344550 -v -2.320880 -0.025275 0.210885 -v -2.317970 -0.026500 0.241855 -v -2.320880 -0.025275 0.274210 -v -2.643805 0.107155 0.274010 -v -2.329500 -0.021635 0.303870 -v -2.645725 0.108520 0.241955 -v -2.343475 -0.015670 0.327750 -v -2.643600 0.107085 0.211190 -v -2.362290 -0.007585 0.344720 -v -2.636580 0.102745 0.185140 -v -2.385220 0.002305 0.355710 -v -2.622985 0.095600 0.165460 -v -2.411460 0.013595 0.362380 -v -2.440255 0.025845 0.132265 -v -2.471335 0.038550 0.131020 -v -2.601640 0.086315 0.151680 -v -2.440255 0.025850 0.366010 -v -2.411460 0.013595 0.135985 -v -2.572805 0.075395 0.142275 -v -2.471360 0.038600 0.367175 -v -2.385220 0.002305 0.142255 -v -2.539275 0.063625 0.135985 -v -2.504810 0.051430 0.366005 -v -2.362290 -0.007585 0.151605 -v -2.504620 0.051275 0.132265 -v -2.689720 0.039905 0.241960 -v -2.687215 0.038980 0.211245 -v -2.720295 -0.029960 0.211250 -v -2.722895 -0.029515 0.241960 -v -2.341355 -0.041420 0.274155 -v -2.338215 -0.042140 0.241865 -v -2.687555 0.039085 0.273985 -v -2.350585 -0.039260 0.303760 -v -2.365580 -0.035710 0.327610 -v -2.385740 -0.030870 0.344640 -v -2.679215 0.036280 0.185220 -v -2.410390 -0.024955 0.355675 -v -2.664055 0.031855 0.165515 -v -2.438600 -0.018195 0.362360 -v -2.469535 -0.010870 0.132285 -v -2.502665 -0.003240 0.131045 -v -2.640540 0.025890 0.151705 -v -2.469540 -0.010855 0.365990 -v -2.438595 -0.018195 0.136005 -v -2.609750 0.019135 0.142290 -v -2.502755 -0.003180 0.367155 -v -2.410390 -0.024955 0.142275 -v -2.574350 0.011900 0.136005 -v -2.538265 0.004605 0.365985 -v -2.385740 -0.030870 0.151640 -v -2.537865 0.004395 0.132285 -v -2.575285 0.012325 0.362350 -v -2.365580 -0.035710 0.165355 -v -2.611405 0.019775 0.355625 -v -2.350585 -0.039260 0.184950 -v -2.642450 0.026640 0.344495 -v -2.341355 -0.041420 0.210975 -v -2.368935 -0.070295 0.211070 -v -2.365740 -0.070650 0.241905 -v -2.398255 -0.114585 0.241930 -v -2.401490 -0.114465 0.211165 -v -2.414465 -0.065095 0.344580 -v -2.393785 -0.067485 0.327510 -v -2.712000 -0.031335 0.185230 -v -2.439825 -0.062165 0.355650 -v -2.696495 -0.033650 0.165520 -v -2.468975 -0.058825 0.362355 -v -2.500910 -0.055200 0.132290 -v -2.534955 -0.051425 0.131045 -v -2.672975 -0.036695 0.151705 -v -2.500920 -0.055190 0.365985 -v -2.468980 -0.058825 0.136005 -v -2.642315 -0.040205 0.142295 -v -2.535055 -0.051380 0.367150 -v -2.439825 -0.062165 0.142285 -v -2.607155 -0.043890 0.136005 -v -2.571110 -0.047480 0.365985 -v -2.414465 -0.065095 0.151670 -v -2.570675 -0.047625 0.132290 -v -2.608335 -0.043540 0.362350 -v -2.393785 -0.067485 0.165420 -v -2.644255 -0.039670 0.355625 -v -2.378430 -0.069240 0.185050 -v -2.675285 -0.036140 0.344490 -v -2.698435 -0.033180 0.327340 -v -2.713095 -0.031095 0.303445 -v -2.368935 -0.070295 0.274090 -v -2.720715 -0.029885 0.273985 -v -2.378430 -0.069240 0.303650 -v -2.410975 -0.114090 0.303540 -v -2.426300 -0.113465 0.327415 -v -2.458510 -0.173580 0.327360 -v -2.443140 -0.173625 0.303475 -v -2.739505 -0.100195 0.303445 -v -2.725695 -0.100945 0.327340 -v -2.401490 -0.114465 0.274040 -v -2.746610 -0.099795 0.273985 -v -2.748690 -0.099680 0.241960 -v -2.746135 -0.099850 0.211250 -v -2.447080 -0.112615 0.344525 -v -2.738270 -0.100335 0.185230 -v -2.472550 -0.111570 0.355630 -v -2.723695 -0.101200 0.165520 -v -2.501970 -0.110385 0.362350 -v -2.534275 -0.109090 0.132290 -v -2.568515 -0.107750 0.131045 -v -2.701685 -0.102360 0.151705 -v -2.534275 -0.109090 0.365985 -v -2.501970 -0.110385 0.136005 -v -2.672905 -0.103695 0.142295 -v -2.568610 -0.107735 0.367150 -v -2.472550 -0.111570 0.142290 -v -2.639480 -0.105030 0.136005 -v -2.604365 -0.106320 0.365985 -v -2.447080 -0.112615 0.151695 -v -2.603955 -0.106395 0.132290 -v -2.640600 -0.104870 0.362350 -v -2.426300 -0.113465 0.165475 -v -2.674890 -0.103405 0.355625 -v -2.410975 -0.114090 0.185145 -v -2.704070 -0.102030 0.344490 -v -2.504705 -0.173425 0.355625 -v -2.534175 -0.173325 0.362345 -v -2.561465 -0.245870 0.362340 -v -2.531895 -0.245545 0.355615 -v -2.766820 -0.172195 0.211250 -v -2.769175 -0.172180 0.241960 -v -2.479140 -0.173510 0.344500 -v -2.759610 -0.172255 0.185230 -v -2.746520 -0.172355 0.165520 -v -2.566525 -0.173220 0.132290 -v -2.600680 -0.173110 0.131045 -v -2.726895 -0.172540 0.151705 -v -2.566530 -0.173220 0.365985 -v -2.534170 -0.173325 0.136005 -v -2.700765 -0.172705 0.142295 -v -2.600740 -0.173110 0.367150 -v -2.504705 -0.173425 0.142295 -v -2.669600 -0.172870 0.136005 -v -2.635895 -0.172985 0.365985 -v -2.479140 -0.173510 0.151705 -v -2.635545 -0.172995 0.132290 -v -2.670530 -0.172815 0.362345 -v -2.458510 -0.173580 0.165510 -v -2.702445 -0.172605 0.355625 -v -2.443140 -0.173625 0.185205 -v -2.728970 -0.172400 0.344490 -v -2.433680 -0.173650 0.211220 -v -2.748375 -0.172235 0.327335 -v -2.430485 -0.173660 0.241950 -v -2.760725 -0.172180 0.303445 -v -2.433680 -0.173650 0.274005 -v -2.767315 -0.172170 0.273985 -v -2.627855 -0.246590 0.367145 -v -2.662210 -0.246955 0.365980 -v -2.680530 -0.323325 0.365945 -v -2.646840 -0.322830 0.367110 -v -2.593845 -0.246225 0.132295 -v -2.627815 -0.246590 0.131050 -v -2.746930 -0.247870 0.151715 -v -2.764405 -0.248090 0.165540 -v -2.593850 -0.246225 0.365980 -v -2.561465 -0.245870 0.136015 -v -2.723555 -0.247610 0.142300 -v -2.531895 -0.245545 0.142300 -v -2.694620 -0.247300 0.136015 -v -2.506285 -0.245260 0.151715 -v -2.662000 -0.246955 0.132295 -v -2.695275 -0.247295 0.362340 -v -2.485385 -0.245025 0.165540 -v -2.724765 -0.247580 0.355615 -v -2.469975 -0.244850 0.185250 -v -2.748490 -0.247820 0.344470 -v -2.460440 -0.244745 0.211260 -v -2.765825 -0.248035 0.327315 -v -2.457185 -0.244705 0.241965 -v -2.776960 -0.248215 0.303425 -v -2.460440 -0.244745 0.273980 -v -2.783015 -0.248350 0.273975 -v -2.469975 -0.244850 0.303435 -v -2.784850 -0.248405 0.241965 -v -2.485385 -0.245025 0.327315 -v -2.782590 -0.248370 0.211270 -v -2.506285 -0.245260 0.344470 -v -2.775980 -0.248260 0.185250 -v -2.739545 -0.324225 0.355545 -v -2.761295 -0.324590 0.344365 -v -2.766970 -0.389980 0.343985 -v -2.746660 -0.389585 0.355270 -v -2.525160 -0.321030 0.151785 -v -2.551020 -0.321415 0.142345 -v -2.680390 -0.323325 0.132335 -v -2.711730 -0.323795 0.136050 -v -2.712140 -0.323795 0.362300 -v -2.504070 -0.320715 0.165645 -v -2.646815 -0.322830 0.131095 -v -2.488410 -0.320480 0.185375 -v -2.478730 -0.320335 0.211360 -v -2.776860 -0.324900 0.327185 -v -2.475475 -0.320285 0.241990 -v -2.787265 -0.325140 0.303320 -v -2.478730 -0.320335 0.273925 -v -2.793120 -0.325300 0.273925 -v -2.488410 -0.320480 0.303320 -v -2.794845 -0.325360 0.241995 -v -2.504070 -0.320715 0.327190 -v -2.792645 -0.325315 0.211360 -v -2.525160 -0.321030 0.344365 -v -2.786375 -0.325165 0.185375 -v -2.551020 -0.321415 0.355545 -v -2.775710 -0.324930 0.165645 -v -2.580715 -0.321855 0.362300 -v -2.613070 -0.322335 0.132335 -v -2.760155 -0.324610 0.151785 -v -2.613070 -0.322335 0.365945 -v -2.580715 -0.321855 0.136050 -v -2.738720 -0.324230 0.142345 -v -2.791750 -0.390555 0.302955 -v -2.797520 -0.390710 0.273760 -v -2.798095 -0.424740 0.273375 -v -2.792355 -0.424585 0.302120 -v -2.488715 -0.385535 0.211665 -v -2.498450 -0.385685 0.185785 -v -2.781815 -0.390305 0.326750 -v -2.485410 -0.385485 0.242075 -v -2.488715 -0.385535 0.273760 -v -2.498450 -0.385685 0.302955 -v -2.799250 -0.390765 0.242075 -v -2.514260 -0.385930 0.326750 -v -2.796890 -0.390715 0.211665 -v -2.535520 -0.386260 0.343985 -v -2.790740 -0.390565 0.185785 -v -2.561505 -0.386660 0.355270 -v -2.780610 -0.390320 0.166020 -v -2.591205 -0.387115 0.362110 -v -2.623485 -0.387610 0.132490 -v -2.656955 -0.388125 0.131250 -v -2.765945 -0.389990 0.152060 -v -2.623495 -0.387610 0.365795 -v -2.591205 -0.387115 0.136205 -v -2.745940 -0.389590 0.142535 -v -2.656995 -0.388125 0.366965 -v -2.561505 -0.386660 0.142535 -v -2.720250 -0.389135 0.136205 -v -2.690035 -0.388640 0.365795 -v -2.535520 -0.386260 0.152060 -v -2.689895 -0.388640 0.132490 -v -2.720640 -0.389135 0.362110 -v -2.514260 -0.385930 0.166020 -v -2.502665 -0.419725 0.302120 -v -2.492935 -0.419575 0.273375 -v -2.799725 -0.424790 0.242275 -v -2.518435 -0.419970 0.325740 -v -2.797415 -0.424740 0.212370 -v -2.539675 -0.420295 0.343060 -v -2.791150 -0.424590 0.186730 -v -2.565555 -0.420695 0.354580 -v -2.781160 -0.424345 0.166920 -v -2.595125 -0.421150 0.361620 -v -2.627160 -0.421645 0.132875 -v -2.660250 -0.422155 0.131635 -v -2.766780 -0.424015 0.152750 -v -2.627180 -0.421645 0.365405 -v -2.595120 -0.421150 0.136615 -v -2.747275 -0.423620 0.143030 -v -2.660330 -0.422155 0.366605 -v -2.565555 -0.420695 0.143030 -v -2.722250 -0.423165 0.136615 -v -2.692870 -0.422670 0.365405 -v -2.539675 -0.420295 0.152750 -v -2.692660 -0.422670 0.132875 -v -2.722680 -0.423165 0.361620 -v -2.518435 -0.419970 0.166920 -v -2.748050 -0.423620 0.354580 -v -2.502665 -0.419725 0.186730 -v -2.767910 -0.424015 0.343060 -v -2.492935 -0.419575 0.212370 -v -2.782400 -0.424340 0.325735 -v -2.489645 -0.419525 0.242275 -v -1.762300 0.345415 0.036535 -v -1.762300 -0.029775 0.036535 -v -2.005025 -0.029775 0.106295 -v -2.005025 0.345415 0.106295 -v -2.005025 0.345415 0.388700 -v -1.762300 0.345415 0.458465 -v -1.256330 0.345415 0.458465 -v -1.256330 0.344275 0.036535 -v -2.005025 -0.029775 0.388700 -v -1.762300 -0.029775 0.458465 -v -2.083565 -0.029775 0.388700 -v -2.083565 -0.029775 0.106295 -v -1.242615 -0.029775 0.036535 -v -1.242615 -0.029775 0.458465 -v -1.242615 0.528295 0.036535 -v -1.242615 0.528295 0.458465 -v -1.996305 0.397485 0.159635 -v -1.996305 0.338465 0.159745 -v -1.996305 0.346050 0.127420 -v -1.996305 0.397715 0.127420 -v -1.209905 0.526990 0.036535 -v -1.192005 0.528295 0.458465 -v -1.237005 0.527575 0.458075 -v -1.237005 0.610485 0.458075 -v -1.237005 0.610485 0.036925 -v -1.237005 0.527970 0.036925 -v -1.101375 0.636010 0.068310 -v -0.701100 0.674165 0.119505 -v -0.701100 0.526745 0.119505 -v -1.104905 0.526745 0.036925 -v -0.701100 0.674165 0.192190 -v -0.701100 0.674165 0.291950 -v -0.701100 0.674165 0.375495 -v -0.701100 0.526745 0.375495 -v -1.101375 0.636010 0.426685 -v -1.104905 0.526745 0.458075 -v -0.717595 0.674165 0.291950 -v -0.728800 0.674165 0.279145 -v -0.900040 0.674165 0.279145 -v -0.900040 0.674165 0.207660 -v -0.729865 0.674165 0.207660 -v -0.712795 0.674165 0.192190 -v -0.712795 0.666440 0.192190 -v -0.701100 0.666440 0.192190 -v -0.729865 0.666440 0.207660 -v -0.900040 0.666440 0.207660 -v -0.900040 0.666440 0.279145 -v -0.728800 0.666440 0.279145 -v -0.717595 0.666440 0.291950 -v -0.701100 0.666440 0.291950 -v -1.283710 0.571260 0.458075 -v -1.283710 0.571260 0.036925 -v -1.304040 0.527410 0.444625 -v -1.304040 0.527410 0.049260 -v -1.559855 0.322705 0.424470 -v -1.559855 0.522335 0.424470 -v -1.561210 0.524040 0.335985 -v -1.561150 0.523945 0.159015 -v -1.559855 0.522335 0.070530 -v -1.559855 0.322705 0.070530 -v -1.996305 0.397715 0.367580 -v -1.697225 0.397715 0.424470 -v -1.697225 0.345140 0.424470 -v -1.996305 0.346420 0.367580 -v -1.697225 0.345830 0.070530 -v -1.697225 0.397715 0.070530 -v -1.594875 0.497885 0.070530 -v -1.630775 0.466715 0.070530 -v -1.630880 0.466880 0.424470 -v -1.594910 0.497935 0.424470 -v -1.606540 0.512635 0.335985 -v -1.606015 0.511820 0.159015 -v -1.941475 0.397940 0.161510 -v -1.923820 0.398010 0.170110 -v -1.923820 0.338760 0.170110 -v -1.941475 0.338690 0.161510 -v -1.649535 0.490555 0.335985 -v -1.648690 0.489250 0.159015 -v -1.888280 0.398155 0.283115 -v -1.897200 0.398120 0.299205 -v -1.897200 0.338870 0.299205 -v -1.888280 0.338905 0.283115 -v -1.909200 0.398070 0.313310 -v -1.909200 0.338820 0.313310 -v -1.923820 0.398010 0.324885 -v -1.923820 0.338760 0.324885 -v -1.996305 0.397485 0.335365 -v -1.996305 0.338465 0.367580 -v -1.996305 0.338010 0.335475 -v -1.996305 0.392625 0.336205 -v -1.698450 0.399255 0.335985 -v -1.698395 0.399170 0.159015 -v -1.941475 0.397940 0.333485 -v -1.989480 0.338495 0.336850 -v -1.941475 0.338690 0.333485 -v -1.909200 0.398070 0.181685 -v -1.909200 0.338820 0.181685 -v -1.897200 0.398120 0.195790 -v -1.897200 0.338870 0.195790 -v -1.888280 0.398155 0.211880 -v -1.888280 0.338905 0.211880 -v -1.882715 0.398180 0.229340 -v -1.882715 0.338930 0.229340 -v -1.880905 0.398185 0.247500 -v -1.880905 0.338935 0.247500 -v -1.882715 0.398180 0.265655 -v -1.882715 0.338930 0.265655 -v -1.973310 0.338795 0.304950 -v -1.972210 0.334765 0.292635 -v -1.957810 0.335285 0.292635 -v -1.949415 0.340540 0.304950 -v -1.972210 0.334765 0.202360 -v -1.973310 0.338795 0.190050 -v -1.950425 0.340540 0.190050 -v -1.957810 0.335285 0.202360 -v -1.980085 0.344055 0.315050 -v -1.957335 0.345080 0.315050 -v -1.972210 0.331770 0.216410 -v -1.957705 0.332345 0.216410 -v -1.970825 0.349310 0.322560 -v -1.972210 0.329925 0.231650 -v -1.956815 0.330540 0.231650 -v -1.972210 0.329305 0.247500 -v -1.956510 0.329925 0.247500 -v -1.972210 0.329925 0.263350 -v -1.956815 0.330540 0.263350 -v -1.978855 0.349550 0.172440 -v -1.972360 0.361715 0.166255 -v -1.959315 0.350255 0.172440 -v -1.972210 0.331770 0.278590 -v -1.957705 0.332345 0.278590 -v -1.981730 0.344055 0.179945 -v -1.961540 0.344055 0.179945 -v -1.943760 0.334050 0.278590 -v -1.946605 0.336815 0.292635 -v -1.946605 0.336815 0.202360 -v -1.943760 0.334050 0.216410 -v -1.952490 0.351400 0.322560 -v -1.942010 0.332345 0.231650 -v -1.973400 0.361715 0.328745 -v -1.959770 0.358860 0.327185 -v -1.941415 0.331770 0.247500 -v -1.942010 0.332345 0.263350 -v -1.962295 0.355870 0.167815 -v -1.928365 0.335285 0.231650 -v -1.927505 0.334765 0.247500 -v -1.928365 0.335285 0.263350 -v -1.930910 0.336815 0.278590 -v -1.949645 0.346740 0.179945 -v -1.935230 0.339305 0.292635 -v -1.936280 0.339305 0.202360 -v -1.930910 0.336815 0.216410 -v -1.936820 0.351710 0.179945 -v -1.931855 0.345510 0.190050 -v -1.916730 0.346740 0.292635 -v -1.927515 0.348980 0.304950 -v -1.924120 0.342660 0.202360 -v -1.940750 0.348980 0.315050 -v -1.918775 0.340540 0.216410 -v -1.916405 0.339235 0.231650 -v -1.915315 0.338795 0.247500 -v -1.916405 0.339235 0.263350 -v -1.917725 0.340540 0.278590 -v -1.905725 0.344055 0.231650 -v -1.905305 0.343705 0.247500 -v -1.905725 0.344055 0.263350 -v -1.948460 0.354825 0.172440 -v -1.905000 0.350255 0.278590 -v -1.920920 0.352945 0.190050 -v -1.911285 0.351400 0.202360 -v -1.932430 0.354825 0.315050 -v -1.904495 0.350255 0.216410 -v -1.907905 0.356455 0.292635 -v -1.919285 0.357240 0.304950 -v -1.943575 0.356965 0.322560 -v -1.899105 0.349550 0.231650 -v -1.897675 0.349310 0.247500 -v -1.899105 0.349550 0.263350 -v -1.942935 0.361715 0.172440 -v -1.893530 0.361715 0.247500 -v -1.895040 0.361715 0.263350 -v -1.900150 0.361715 0.278590 -v -1.929300 0.361715 0.179945 -v -1.916935 0.361715 0.190050 -v -1.907210 0.361715 0.202360 -v -1.899990 0.361715 0.216410 -v -1.895040 0.361715 0.231650 -v -1.929670 0.361715 0.315050 -v -1.972430 0.387445 0.177475 -v -1.951075 0.389570 0.181535 -v -1.904260 0.388955 0.261430 -v -1.910575 0.393620 0.274820 -v -1.936060 0.389570 0.188135 -v -1.916885 0.392605 0.287165 -v -1.925810 0.391235 0.197015 -v -1.925620 0.391235 0.297985 -v -1.917645 0.392605 0.207835 -v -1.939700 0.392330 0.306865 -v -1.910575 0.393620 0.220175 -v -1.949980 0.387665 0.313460 -v -1.904260 0.388955 0.233570 -v -1.972035 0.387445 0.317525 -v -1.901625 0.389065 0.247500 -v -1.914780 0.400455 0.233570 -v -1.909610 0.397785 0.247500 -v -1.914780 0.400455 0.261430 -v -1.924485 0.399935 0.274820 -v -1.928625 0.399090 0.287165 -v -1.937095 0.399715 0.197015 -v -1.931590 0.397955 0.297985 -v -1.933060 0.401165 0.207835 -v -1.920065 0.399935 0.220175 -v -1.955820 0.392605 0.313460 -v -1.921975 0.403120 0.247500 -v -1.936975 0.404125 0.220175 -v -1.934300 0.404905 0.233570 -v -1.932805 0.404905 0.261430 -v -1.961005 0.393620 0.181535 -v -1.945940 0.397955 0.188135 -v -1.972900 0.406685 0.243215 -v -1.947545 0.401165 0.297985 -v -1.960230 0.399935 0.188135 -v -1.938335 0.404125 0.274820 -v -1.957475 0.402235 0.197015 -v -1.950695 0.399090 0.306865 -v -1.936395 0.405165 0.247500 -v -1.964100 0.402900 0.297985 -v -1.964410 0.400455 0.306865 -v -1.977550 0.396980 0.182390 -v -1.981800 0.400455 0.306865 -v -1.978945 0.400455 0.188135 -v -1.979250 0.402900 0.197015 -v -1.980435 0.402900 0.297985 -v -1.992995 0.399090 0.188135 -v -1.995525 0.401165 0.197015 -v -1.995040 0.401165 0.297985 -v -1.985260 0.393620 0.313460 -v -1.999060 0.397955 0.306865 -v -2.017980 0.402900 0.233570 -v -2.010790 0.405165 0.247500 -v -2.017160 0.402900 0.261430 -v -1.992800 0.389570 0.181535 -v -2.016035 0.402235 0.274820 -v -2.023035 0.403120 0.247500 -v -2.012570 0.397955 0.297985 -v -2.015905 0.399090 0.207835 -v -2.020135 0.399935 0.220175 -v -1.996460 0.385600 0.313460 -v -2.006550 0.392330 0.188135 -v -2.014880 0.399090 0.287165 -v -2.012825 0.397955 0.197015 -v -2.035665 0.397665 0.261430 -v -2.035550 0.388635 0.274820 -v -2.028525 0.392605 0.287165 -v -2.018940 0.391235 0.197015 -v -2.021115 0.387420 0.297985 -v -2.028165 0.392605 0.207835 -v -2.010350 0.386570 0.306865 -v -2.036370 0.388635 0.220175 -v -2.035665 0.397665 0.233570 -v -2.036430 0.397785 0.247500 -v -2.041435 0.388955 0.233570 -v -2.042795 0.389065 0.247500 -v -2.041435 0.388955 0.261430 -v -2.049375 0.361715 0.263350 -v -2.044900 0.361715 0.278590 -v -2.002635 0.361715 0.172440 -v -2.015180 0.361715 0.179945 -v -2.037205 0.361715 0.292635 -v -2.027485 0.361715 0.190050 -v -2.027845 0.361715 0.304950 -v -2.037205 0.361715 0.202360 -v -2.015920 0.361715 0.315050 -v -2.044900 0.361715 0.216410 -v -2.003040 0.361715 0.322560 -v -2.049375 0.361715 0.231650 -v -1.985785 0.358860 0.327185 -v -2.050890 0.361715 0.247500 -v -1.985200 0.358860 0.167815 -v -2.039925 0.350255 0.278590 -v -2.033135 0.351400 0.292635 -v -2.011770 0.354825 0.179945 -v -2.024020 0.352945 0.190050 -v -2.024020 0.352945 0.304950 -v -2.033135 0.351400 0.202360 -v -2.011085 0.354825 0.315050 -v -2.039925 0.350255 0.216410 -v -2.045310 0.349550 0.231650 -v -2.046745 0.349310 0.247500 -v -2.045310 0.349550 0.263350 -v -1.997450 0.354825 0.322560 -v -2.038695 0.344055 0.231650 -v -2.039115 0.343705 0.247500 -v -2.038695 0.344055 0.263350 -v -1.997550 0.354825 0.172440 -v -2.002790 0.348980 0.179945 -v -2.011750 0.345510 0.190050 -v -2.020300 0.342660 0.292635 -v -2.011065 0.345510 0.304950 -v -2.020300 0.342660 0.202360 -v -1.997320 0.346740 0.315050 -v -2.025645 0.340540 0.216410 -v -2.028015 0.339235 0.231650 -v -2.029105 0.338795 0.247500 -v -2.028015 0.339235 0.263350 -v -2.025645 0.340540 0.278590 -v -2.016055 0.335285 0.231650 -v -2.016915 0.334765 0.247500 -v -2.016055 0.335285 0.263350 -v -2.013510 0.336815 0.278590 -v -2.010470 0.339305 0.292635 -v -2.010470 0.339305 0.202360 -v -2.013510 0.336815 0.216410 -v -1.997815 0.336815 0.292635 -v -1.992665 0.340540 0.304950 -v -1.992050 0.340540 0.190050 -v -1.997815 0.336815 0.202360 -v -2.000660 0.334050 0.216410 -v -1.984250 0.350255 0.322560 -v -2.002410 0.332345 0.231650 -v -2.003000 0.331770 0.247500 -v -2.002410 0.332345 0.263350 -v -2.000660 0.334050 0.278590 -v -1.987910 0.329925 0.247500 -v -1.987605 0.330540 0.263350 -v -1.986715 0.332345 0.278590 -v -1.986610 0.335285 0.292635 -v -1.986610 0.335285 0.202360 -v -1.986715 0.332345 0.216410 -v -1.987605 0.330540 0.231650 -v -2.269235 0.347550 0.235480 -v -2.269235 0.347600 0.259715 -v -2.117450 0.385435 0.267245 -v -2.117450 0.385920 0.230835 -v -2.026840 0.345165 0.222180 -v -2.026890 0.378580 0.222260 -v -2.026890 0.378355 0.274560 -v -2.026840 0.344905 0.274480 -v -2.317485 0.362090 0.260315 -v -2.376175 0.340810 0.260315 -v -2.376175 0.304590 0.260315 -v -2.376175 0.304590 0.234690 -v -2.317485 0.362090 0.234690 -v -2.376175 0.340810 0.234690 -v -2.506960 -0.250935 0.300235 -v -2.506960 -0.008795 0.300235 -v -2.505510 -0.003690 0.194765 -v -2.506960 -0.250935 0.194765 -v -2.216500 0.014335 0.194765 -v -2.351800 -0.058250 0.194765 -v -2.408370 -0.137535 0.194765 -v -2.418475 -0.163915 0.194765 -v -2.395900 -0.180515 0.194765 -v -2.244870 -0.205020 0.194765 -v -1.528665 -0.186320 0.194765 -v -1.427845 -0.163555 0.194765 -v -1.402640 -0.141600 0.194765 -v -1.374995 -0.054600 0.194765 -v -1.382020 -0.025535 0.194765 -v -1.222115 -0.016790 0.194765 -v -1.222115 -0.143445 0.194765 -v -1.237290 -0.178805 0.194765 -v -1.270295 -0.218090 0.194765 -v -1.324510 -0.250935 0.194765 -v -1.222115 -0.142655 0.300235 -v -1.236505 -0.177230 0.300235 -v -1.324510 -0.250935 0.300235 -v -1.382020 -0.025535 0.300235 -v -1.222115 -0.016790 0.300235 -v -2.216500 0.014335 0.300235 -v -2.243670 -0.205120 0.300235 -v -1.527205 -0.186385 0.300235 -v -2.396485 -0.180745 0.300235 -v -2.406905 -0.137210 0.300235 -v -2.418035 -0.163865 0.300235 -v -1.401925 -0.140725 0.300235 -v -1.373825 -0.056425 0.300235 -v -1.428855 -0.165310 0.300235 -v -2.351070 -0.058090 0.300235 -v -1.271080 -0.219665 0.300235 -v -2.326100 -0.065320 0.226280 -v -2.308950 -0.123340 0.226280 -v -2.308845 -0.124235 0.268720 -v -2.326280 -0.065505 0.268720 -v -2.266235 -0.160670 0.226280 -v -2.265920 -0.160735 0.268720 -v -2.229115 -0.170110 0.226280 -v -2.229140 -0.170090 0.268720 -v -2.219210 -0.165375 0.226280 -v -2.219180 -0.165835 0.268720 -v -2.226995 -0.151795 0.226280 -v -2.226610 -0.151935 0.268720 -v -2.248190 -0.146450 0.268720 -v -2.248450 -0.146340 0.226280 -v -2.267480 -0.121705 0.268720 -v -2.267865 -0.121460 0.226280 -v -2.285085 -0.075980 0.268720 -v -2.275010 -0.011715 0.268720 -v -2.311665 -0.001875 0.268720 -v -2.284895 -0.075800 0.226280 -v -2.274750 -0.011665 0.226280 -v -2.311780 -0.001885 0.226280 -v -1.011405 0.006605 0.431800 -v -1.011405 0.006605 0.063200 -v -1.011405 -0.039020 0.081790 -v -1.011405 -0.039020 0.413205 -v -1.011405 -0.136895 0.063200 -v -0.030905 -0.015925 0.087135 -v -0.150645 -0.168190 0.087135 -v -0.030905 -0.015925 0.407865 -v -0.151425 -0.167515 0.406835 -v -1.011405 -0.136895 0.431800 -v -1.011405 -0.091270 0.081790 -v -1.277680 -0.088935 0.081790 -v -1.277680 -0.027920 0.081790 -v -1.011405 -0.091270 0.413205 -v -1.277680 -0.088935 0.413205 -v -1.277680 -0.027920 0.413205 -v -1.306860 -0.060780 0.076225 -v -1.306860 -0.060780 0.407640 -v -1.336670 -0.007010 0.076225 -v -1.336670 -0.007010 0.407640 -v -0.151295 -0.169130 0.448130 -v -0.151295 -0.079230 0.448130 -v -0.151295 -0.079230 0.046870 -v -0.151295 -0.169130 0.046870 -v 0.158730 -0.079230 0.046870 -v 0.158730 -0.124180 0.046870 -v 0.158730 -0.169130 0.046870 -v 0.221530 -0.124180 0.247500 -v 0.221530 -0.079230 0.247500 -v 0.158730 -0.053560 0.448130 -v 0.158730 -0.124180 0.448130 -v 0.158730 -0.169130 0.448130 -v 0.221530 -0.169130 0.247500 -v -0.184515 -0.165945 0.407510 -v -0.184060 -0.083075 0.406835 -v -0.179635 -0.079230 0.085680 -v -0.182180 -0.166015 0.087635 -v -0.680755 0.453600 -0.173155 -v -0.746980 0.453600 -0.173130 -v -0.747140 0.364120 -0.192150 -v -0.680755 0.364120 -0.192175 -v -0.680755 0.318380 0.243005 -v -0.747220 0.318380 0.243030 -v -0.747055 0.409860 0.243030 -v -0.680755 0.409860 0.243005 -v -0.747300 0.274640 -0.173130 -v -0.680755 0.274640 -0.173155 -v -0.746910 0.493430 0.205820 -v -0.680755 0.493430 0.205800 -v -0.747435 0.200630 -0.119360 -v -0.680755 0.200630 -0.119385 -v -0.746800 0.554640 0.137840 -v -0.680755 0.554640 0.137815 -v -0.747515 0.154890 -0.040140 -v -0.680755 0.154890 -0.040160 -v -0.746745 0.582910 0.050840 -v -0.680755 0.582910 0.050815 -v -0.747535 0.145330 0.050840 -v -0.680755 0.145330 0.050815 -v -0.746765 0.573345 -0.040140 -v -0.680755 0.573345 -0.040160 -v -0.747480 0.173600 0.137840 -v -0.680755 0.173600 0.137815 -v -0.746845 0.527605 -0.119365 -v -0.680755 0.527605 -0.119385 -v -0.747370 0.234810 0.205820 -v -0.680755 0.234810 0.205800 -v -1.161435 0.453600 -0.172990 -v -1.161435 0.364120 -0.192010 -v -1.222645 0.364120 -0.133315 -v -1.222615 0.430455 -0.119215 -v -1.161435 0.274640 -0.172990 -v -1.222615 0.297785 -0.119215 -v -1.161435 0.200630 -0.119220 -v -1.222535 0.242920 -0.079350 -v -1.161435 0.493430 0.205965 -v -1.161435 0.554640 0.137980 -v -1.222105 0.505360 0.111320 -v -1.221985 0.459980 0.161720 -v -1.161435 0.154890 -0.039995 -v -1.222410 0.209010 -0.020620 -v -1.161435 0.582910 0.050980 -v -1.222260 0.526315 0.046825 -v -1.161435 0.145330 0.050980 -v -1.222260 0.201925 0.046825 -v -1.161435 0.573345 -0.039995 -v -1.222410 0.519225 -0.020620 -v -1.161435 0.173600 0.137980 -v -1.222105 0.222880 0.111320 -v -1.161435 0.527605 -0.119220 -v -1.222535 0.485320 -0.079350 -v -1.161435 0.234810 0.205965 -v -1.221985 0.268255 0.161720 -v -1.161435 0.318380 0.243170 -v -1.221915 0.330210 0.189300 -v -1.247530 0.341030 0.140340 -v -1.247595 0.298840 0.121555 -v -1.248285 0.364120 -0.079355 -v -1.248250 0.409290 -0.069750 -v -1.221915 0.398025 0.189300 -v -1.247530 0.387210 0.140340 -v -1.248250 0.318945 -0.069750 -v -1.247595 0.429400 0.121555 -v -1.248160 0.281585 -0.042605 -v -1.247715 0.460300 0.087235 -v -1.248020 0.258495 -0.002610 -v -1.247865 0.474570 0.043315 -v -1.247865 0.253665 0.043315 -v -1.248020 0.469745 -0.002615 -v -1.247715 0.267940 0.087235 -v -1.248160 0.446655 -0.042605 -v -1.260980 0.391105 -0.027835 -v -1.260965 0.413425 -0.011620 -v -1.260875 0.350325 0.097675 -v -1.260885 0.325120 0.086450 -v -1.260985 0.364120 -0.033575 -v -1.260875 0.377915 0.097675 -v -1.260980 0.337135 -0.027835 -v -1.260885 0.403120 0.086450 -v -1.260965 0.314810 -0.011620 -v -1.260900 0.421580 0.065950 -v -1.260945 0.301020 0.012275 -v -1.260925 0.430105 0.039710 -v -1.260925 0.298135 0.039710 -v -1.260945 0.427220 0.012275 -v -1.260900 0.306660 0.065950 -v -1.275615 0.376445 0.005375 -v -1.275615 0.386640 0.012780 -v -1.275615 0.357820 0.062700 -v -1.275615 0.346305 0.057575 -v -1.275615 0.364120 0.002755 -v -1.275615 0.370420 0.062700 -v -1.275615 0.351795 0.005375 -v -1.275615 0.381930 0.057575 -v -1.275615 0.341600 0.012780 -v -1.275615 0.390365 0.048210 -v -1.275615 0.335300 0.023695 -v -1.275615 0.394255 0.036225 -v -1.275615 0.333980 0.036225 -v -1.275615 0.392940 0.023695 -v -1.275615 0.337875 0.048210 -v -0.679410 0.315780 0.260095 -v -0.679410 0.226205 0.220215 -v -0.679410 0.569005 0.147355 -v -0.679410 0.503395 0.220215 -v -0.679410 0.413825 0.260095 -v -0.679410 0.160600 0.147355 -v -0.679410 0.130300 0.054105 -v -0.736070 0.493430 0.205800 -v -0.738695 0.503395 0.220215 -v -0.738695 0.569005 0.147355 -v -0.736070 0.554640 0.137815 -v -0.679410 0.140550 -0.043405 -v -0.736070 0.409860 0.243005 -v -0.738695 0.413825 0.260095 -v -0.679410 0.189575 -0.128320 -v -0.736070 0.318380 0.243005 -v -0.738695 0.315780 0.260095 -v -0.736070 0.234810 0.205800 -v -0.738695 0.226205 0.220215 -v -0.679410 0.268895 -0.185950 -v -0.736070 0.173600 0.137815 -v -0.738695 0.160600 0.147355 -v -0.679410 0.589055 -0.043405 -v -0.679410 0.599305 0.054105 -v -0.736070 0.145330 0.050815 -v -0.738695 0.130300 0.054105 -v -0.736070 0.154890 -0.040160 -v -0.738695 0.140550 -0.043405 -v -0.736070 0.200630 -0.119385 -v -0.738695 0.189575 -0.128320 -v -0.736070 0.274640 -0.173155 -v -0.738695 0.268895 -0.185950 -v -0.679410 0.364800 -0.206335 -v -0.736070 0.364120 -0.192175 -v -0.738695 0.364800 -0.206335 -v -0.679410 0.460710 -0.185950 -v -0.738695 0.599305 0.054105 -v -0.736070 0.582910 0.050815 -v -0.738695 0.589055 -0.043405 -v -0.736070 0.573345 -0.040165 -v -0.679410 0.540030 -0.128320 -v -0.738695 0.540030 -0.128320 -v -0.736070 0.527605 -0.119385 -v -0.736070 0.453600 -0.173155 -v -0.738695 0.460710 -0.185950 -v -0.773190 0.582910 0.050840 -v -0.773205 0.573345 -0.040140 -v -0.774075 0.587475 -0.044730 -v -0.774055 0.597685 0.052390 -v -0.746495 0.226075 0.217840 -v -0.746335 0.315290 0.257560 -v -0.746560 0.189590 -0.129305 -v -0.746650 0.140760 -0.044730 -v -0.773585 0.364120 -0.192150 -v -0.773745 0.274640 -0.173130 -v -0.774645 0.268595 -0.186705 -v -0.774475 0.364120 -0.207010 -v -0.745880 0.567505 0.145270 -v -0.745825 0.597685 0.052390 -v -0.745845 0.587475 -0.044730 -v -0.773960 0.154890 -0.040140 -v -0.773975 0.145330 0.050840 -v -0.774895 0.130555 0.052390 -v -0.774875 0.140760 -0.044730 -v -0.746665 0.130555 0.052390 -v -0.746610 0.160730 0.145270 -v -0.746245 0.364120 -0.207010 -v -0.746420 0.268595 -0.186705 -v -0.773290 0.527605 -0.119365 -v -0.774160 0.538645 -0.129305 -v -0.746160 0.412945 0.257560 -v -0.746000 0.502160 0.217840 -v -0.773875 0.200630 -0.119360 -v -0.774790 0.189590 -0.129305 -v -0.745935 0.538645 -0.129305 -v -0.774565 0.315290 0.257560 -v -0.774390 0.412945 0.257560 -v -0.774230 0.502160 0.217840 -v -0.774110 0.567505 0.145270 -v -0.774840 0.160730 0.145270 -v -0.774725 0.226075 0.217840 -v -0.746075 0.459640 -0.186705 -v -0.774305 0.459640 -0.186705 -v -0.773420 0.453600 -0.173130 -v -0.773665 0.318380 0.243030 -v -0.773500 0.409860 0.243030 -v -0.773350 0.493430 0.205820 -v -0.773240 0.554640 0.137840 -v -0.773925 0.173600 0.137840 -v -0.773815 0.234810 0.205820 -v -0.788740 0.154305 -0.040330 -v -0.788755 0.144715 0.050905 -v -0.788705 0.173065 0.138150 -v -0.788595 0.234445 0.206320 -v -0.788360 0.364120 -0.192770 -v -0.788525 0.274390 -0.173695 -v -0.788280 0.409985 0.243635 -v -0.788130 0.493790 0.206320 -v -0.787965 0.583520 0.050900 -v -0.787985 0.573935 -0.040330 -v -0.788655 0.200170 -0.119775 -v -0.788020 0.555175 0.138150 -v -0.788065 0.528065 -0.119775 -v -0.788200 0.453850 -0.173695 -v -0.788445 0.318250 0.243635 -v -0.682030 0.445465 0.253085 -v -0.748260 0.445465 0.253105 -v -0.748420 0.355985 0.234085 -v -0.682035 0.355985 0.234065 -v -0.682030 0.310245 0.669245 -v -0.748500 0.310250 0.669265 -v -0.748335 0.401725 0.669265 -v -0.682035 0.401725 0.669245 -v -0.748580 0.266505 0.253105 -v -0.682035 0.266505 0.253085 -v -0.748185 0.485295 0.632060 -v -0.682035 0.485295 0.632035 -v -0.748710 0.192500 0.306875 -v -0.682035 0.192500 0.306855 -v -0.748075 0.546505 0.564080 -v -0.682035 0.546505 0.564055 -v -0.748795 0.146760 0.386100 -v -0.682035 0.146760 0.386075 -v -0.748025 0.574775 0.477075 -v -0.682035 0.574775 0.477055 -v -0.748810 0.137200 0.477075 -v -0.682035 0.137200 0.477055 -v -0.748040 0.565215 0.386100 -v -0.682035 0.565215 0.386075 -v -0.748760 0.165465 0.564080 -v -0.682035 0.165465 0.564055 -v -0.748125 0.519475 0.306875 -v -0.682035 0.519475 0.306855 -v -0.748650 0.226680 0.632060 -v -0.682035 0.226680 0.632035 -v -1.162715 0.445465 0.253250 -v -1.162715 0.355985 0.234230 -v -1.223920 0.355985 0.292925 -v -1.223895 0.422320 0.307025 -v -1.162715 0.310250 0.669410 -v -1.162715 0.401725 0.669410 -v -1.223190 0.389895 0.615540 -v -1.223190 0.322080 0.615540 -v -1.162715 0.266505 0.253250 -v -1.223895 0.289650 0.307025 -v -1.162715 0.485295 0.632200 -v -1.223260 0.451850 0.587955 -v -1.162715 0.192500 0.307020 -v -1.223810 0.234790 0.346885 -v -1.162715 0.546505 0.564220 -v -1.223385 0.497225 0.537560 -v -1.162715 0.146760 0.386240 -v -1.223690 0.200880 0.405620 -v -1.162715 0.574775 0.477220 -v -1.223535 0.518185 0.473065 -v -1.162715 0.137200 0.477220 -v -1.223535 0.193790 0.473065 -v -1.162715 0.565215 0.386240 -v -1.223690 0.511095 0.405620 -v -1.162715 0.165465 0.564220 -v -1.223385 0.214745 0.537560 -v -1.162715 0.519475 0.307020 -v -1.223810 0.477185 0.346885 -v -1.162715 0.226680 0.632200 -v -1.223260 0.260125 0.587955 -v -1.248810 0.332895 0.566580 -v -1.248875 0.290705 0.547795 -v -1.249560 0.355985 0.346885 -v -1.249530 0.401160 0.356485 -v -1.248810 0.379080 0.566580 -v -1.249530 0.310815 0.356485 -v -1.248875 0.421265 0.547795 -v -1.249435 0.273455 0.383630 -v -1.248990 0.452170 0.513475 -v -1.249300 0.250360 0.423625 -v -1.249145 0.466440 0.469555 -v -1.249145 0.245535 0.469555 -v -1.249300 0.461610 0.423625 -v -1.248990 0.259805 0.513475 -v -1.249435 0.438520 0.383630 -v -1.262260 0.382975 0.398400 -v -1.262245 0.405295 0.414620 -v -1.262150 0.342190 0.523910 -v -1.262160 0.316990 0.512690 -v -1.262265 0.355985 0.392665 -v -1.262155 0.369780 0.523910 -v -1.262260 0.329000 0.398400 -v -1.262160 0.394985 0.512690 -v -1.262245 0.306680 0.414620 -v -1.262180 0.413445 0.492190 -v -1.262225 0.292885 0.438510 -v -1.262205 0.421970 0.465950 -v -1.262205 0.290000 0.465950 -v -1.262225 0.419090 0.438510 -v -1.262180 0.298530 0.492190 -v -1.276895 0.368310 0.431615 -v -1.276895 0.378505 0.439020 -v -1.276895 0.349685 0.488940 -v -1.276895 0.338175 0.483815 -v -1.276895 0.355985 0.428995 -v -1.276895 0.362285 0.488940 -v -1.276895 0.343660 0.431615 -v -1.276895 0.373800 0.483815 -v -1.276895 0.333465 0.439020 -v -1.276895 0.382230 0.474450 -v -1.276895 0.327165 0.449935 -v -1.276895 0.386125 0.462465 -v -1.276895 0.325850 0.462465 -v -1.276895 0.384805 0.449935 -v -1.276895 0.329745 0.474450 -v -0.680685 0.307645 0.686335 -v -0.680685 0.218075 0.646455 -v -0.680685 0.560870 0.573590 -v -0.680685 0.495265 0.646455 -v -0.680685 0.405695 0.686335 -v -0.680685 0.152470 0.573590 -v -0.680685 0.122170 0.480345 -v -0.737345 0.485295 0.632035 -v -0.739975 0.495265 0.646455 -v -0.739975 0.560870 0.573590 -v -0.737345 0.546505 0.564055 -v -0.680685 0.132420 0.382830 -v -0.737345 0.401725 0.669245 -v -0.739975 0.405695 0.686335 -v -0.680685 0.181440 0.297920 -v -0.737345 0.310250 0.669245 -v -0.739975 0.307645 0.686335 -v -0.737345 0.226680 0.632035 -v -0.739975 0.218075 0.646455 -v -0.680685 0.260765 0.240290 -v -0.737345 0.165465 0.564055 -v -0.739975 0.152470 0.573590 -v -0.680685 0.580920 0.382830 -v -0.680685 0.591170 0.480345 -v -0.737345 0.137200 0.477055 -v -0.739975 0.122170 0.480345 -v -0.737345 0.146760 0.386075 -v -0.739975 0.132420 0.382830 -v -0.737345 0.192500 0.306855 -v -0.739975 0.181440 0.297920 -v -0.737345 0.266505 0.253085 -v -0.739975 0.260765 0.240290 -v -0.680685 0.356670 0.219905 -v -0.737345 0.355985 0.234065 -v -0.739975 0.356670 0.219905 -v -0.680685 0.452575 0.240290 -v -0.739975 0.591170 0.480345 -v -0.737350 0.574775 0.477055 -v -0.739975 0.580920 0.382830 -v -0.737350 0.565215 0.386075 -v -0.680685 0.531900 0.297920 -v -0.739975 0.531900 0.297920 -v -0.737345 0.519475 0.306855 -v -0.737345 0.445465 0.253085 -v -0.739975 0.452575 0.240290 -v -0.774470 0.574775 0.477075 -v -0.774485 0.565215 0.386100 -v -0.775355 0.579345 0.381510 -v -0.775335 0.589550 0.478630 -v -0.747615 0.307160 0.683800 -v -0.747775 0.217945 0.644080 -v -0.747925 0.132630 0.381510 -v -0.747840 0.181460 0.296935 -v -0.774860 0.355985 0.234085 -v -0.775020 0.266505 0.253105 -v -0.775925 0.260465 0.239535 -v -0.775755 0.355985 0.219230 -v -0.747105 0.589550 0.478630 -v -0.747160 0.559375 0.571505 -v -0.747125 0.579345 0.381510 -v -0.775240 0.146760 0.386100 -v -0.775255 0.137200 0.477075 -v -0.776175 0.122420 0.478630 -v -0.776155 0.132630 0.381510 -v -0.747890 0.152600 0.571505 -v -0.747945 0.122420 0.478630 -v -0.747695 0.260465 0.239535 -v -0.747525 0.355985 0.219230 -v -0.774565 0.519475 0.306875 -v -0.775440 0.530515 0.296935 -v -0.747280 0.494030 0.644080 -v -0.747440 0.404815 0.683800 -v -0.775155 0.192500 0.306875 -v -0.776070 0.181460 0.296935 -v -0.747210 0.530515 0.296935 -v -0.775665 0.404815 0.683800 -v -0.775845 0.307160 0.683800 -v -0.775390 0.559375 0.571505 -v -0.775505 0.494030 0.644080 -v -0.776005 0.217945 0.644080 -v -0.776120 0.152600 0.571505 -v -0.747355 0.451510 0.239535 -v -0.775585 0.451510 0.239535 -v -0.774700 0.445465 0.253105 -v -0.774945 0.310250 0.669265 -v -0.774780 0.401725 0.669265 -v -0.774630 0.485295 0.632060 -v -0.774520 0.546505 0.564080 -v -0.775205 0.165465 0.564080 -v -0.775095 0.226680 0.632060 -v -0.790015 0.146170 0.385910 -v -0.790035 0.136585 0.477140 -v -0.789985 0.164930 0.564385 -v -0.789875 0.226315 0.632560 -v -0.789640 0.355985 0.233470 -v -0.789800 0.266255 0.252540 -v -0.789560 0.401855 0.669870 -v -0.789410 0.485660 0.632560 -v -0.789245 0.575390 0.477140 -v -0.789265 0.565800 0.385910 -v -0.789935 0.192040 0.306465 -v -0.789295 0.547040 0.564385 -v -0.789345 0.519935 0.306465 -v -0.789480 0.445720 0.252540 -v -0.789725 0.310120 0.669870 -v -0.103610 0.100905 -0.017245 -v -0.031100 0.121580 0.030715 -v -0.083800 0.075715 0.037735 -v -0.136695 0.046975 -0.016895 -v -0.149105 -0.016640 -0.017480 -v -0.078420 -0.016640 0.053885 -v -0.143925 -0.082670 0.491875 -v -0.149340 -0.049230 0.492625 -v -0.157235 -0.016640 0.494195 -v -0.141165 0.048860 0.503085 -v -0.104400 0.078455 0.469295 -v -0.107100 0.104395 0.503060 -v -0.144205 -0.016640 0.474705 -v -0.117320 -0.082670 0.465850 -v -0.073925 0.125680 0.486320 -v -0.125655 0.016750 0.463630 -v -0.097885 0.048860 0.456230 -v -0.107100 -0.016640 0.452555 -v -0.079335 0.016750 0.445155 -v -0.073770 -0.082670 0.448475 -v -0.031095 0.125680 0.467630 -v -0.040530 0.078455 0.448385 -v -0.051570 -0.016640 0.437755 -v -0.031100 -0.050035 0.436640 -v -1.064745 0.144700 0.512235 -v -1.064745 0.144700 -0.017240 -v -1.142250 0.148875 0.036660 -v -1.142250 0.148875 0.458340 -v -1.064745 -0.047185 -0.017240 -v -0.031095 0.144700 -0.017240 -v -0.031095 0.134460 -0.017240 -v -0.139870 -0.079515 -0.015680 -v -0.131850 -0.079680 -0.017240 -v -0.031095 0.144700 0.502910 -v -1.142250 -0.031475 0.036660 -v -1.240260 0.148875 0.036660 -v -1.064745 -0.047185 0.512235 -v -1.142250 -0.031475 0.458340 -v -1.240260 0.148875 0.458340 -v -0.149340 0.015950 0.496530 -v -0.031095 0.147710 0.497695 -v -0.071390 -0.080255 0.049685 +o Barrel +v 0.257504 0.031247 -2.046854 +v 0.251539 0.116042 -2.661849 +v 0.238709 0.128102 -3.318399 +v 0.238709 0.229737 -3.270603 +v 0.277764 0.193887 -0.380589 +v 0.281913 -0.057518 -0.381339 +v 0.279034 -0.054938 -0.562753 +v 0.278349 -0.031928 -0.658844 +v 0.276329 0.038397 -0.773504 +v 0.209213 -0.004398 -0.126359 +v 0.229543 0.006412 -0.166054 +v 0.309118 0.003287 -0.122389 +v 0.315338 -0.044908 -0.101029 +v 0.241223 -0.086863 -0.114574 +v 0.206548 -0.065553 -0.142879 +v 0.017483 0.150982 0.574606 +v 0.013388 0.150357 0.063481 +v 0.017453 0.151277 0.221681 +v 0.010023 0.151487 0.396201 +v 0.013168 0.151357 0.132611 +v 0.211109 0.505352 -4.168079 +v 0.156169 0.511997 -4.168079 +v 0.156169 0.511997 -4.330939 +v 0.211109 0.505352 -4.330939 +v -0.293571 0.382322 -4.158724 +v -0.281896 0.328227 -4.158724 +v -0.249226 0.283557 -4.158724 +v 0.258599 0.476937 -4.168079 +v 0.258599 0.476937 -4.330939 +v -0.282236 0.436492 -4.158724 +v 0.290429 0.431667 -4.168079 +v 0.290429 0.431667 -4.330939 +v -0.202011 0.509187 -4.158724 +v -0.249851 0.481367 -4.158724 +v -0.146991 0.515147 -4.158724 +v 0.288739 0.323412 -4.330939 +v 0.255514 0.279152 -4.330939 +v 0.255514 0.279152 -4.168079 +v 0.288739 0.323412 -4.168079 +v 0.037419 0.353797 -4.330939 +v 0.037419 0.353797 -4.168079 +v 0.059134 0.302897 -4.168079 +v 0.059134 0.302897 -4.330939 +v 0.103274 0.495717 -4.168079 +v 0.061574 0.459332 -4.168079 +v 0.061574 0.459332 -4.330939 +v 0.103274 0.495717 -4.330939 +v 0.207164 0.252232 -4.330939 +v 0.207164 0.252232 -4.168079 +v 0.099679 0.265227 -4.330939 +v 0.099679 0.265227 -4.168079 +v 0.038279 0.409132 -4.168079 +v 0.038279 0.409132 -4.330939 +v -0.030391 0.410822 -4.158724 +v -0.030216 0.355482 -4.158724 +v -0.052566 0.304857 -4.158724 +v -0.146151 0.250427 -4.158724 +v -0.201211 0.256037 -4.158724 +v -0.094301 0.498212 -4.158724 +v -0.053056 0.461312 -4.158724 +v -0.359691 0.327162 -3.218804 +v -0.365016 0.327162 -2.728569 +v -0.337241 0.469917 -2.728389 +v -0.331911 0.469917 -3.218794 +v -0.314351 0.460522 -2.729089 +v -0.309026 0.460522 -3.218963 +v -0.247481 -0.054963 -0.553664 +v -0.248306 -0.057783 -0.380589 +v -0.250127 0.199882 -0.382089 +v -0.207156 0.232322 -3.446038 +v -0.207156 0.167387 -3.378423 +v -0.207156 0.128102 -3.318399 +v -0.219986 0.117302 -2.660964 +v -0.225946 0.032697 -2.046918 +v -0.244741 0.039057 -0.774434 +v -0.246111 -0.032128 -0.659204 +v 0.368759 0.327162 -3.219118 +v 0.383999 0.327162 -2.729089 +v 0.247399 0.197872 -2.727359 +v 0.234554 0.205312 -3.217434 +v 0.015774 0.145872 -3.401334 +v 0.015774 0.209937 -3.452199 +v 0.222434 0.232322 -3.446038 +v 0.238709 0.167387 -3.378423 +v -0.001637 0.695932 0.864801 +v -0.002277 0.699697 0.903036 +v 0.010088 0.699747 0.903381 +v 0.024018 0.699747 0.903381 +v 0.022363 0.696012 0.864806 +v -0.018937 0.383037 -0.211934 +v -0.019082 0.382922 0.729396 +v -0.028537 0.699747 0.711006 +v -0.028537 0.725437 0.711006 +v -0.018936 0.721257 -0.211934 +v 0.015774 0.122067 -3.318399 +v 0.015779 0.104522 -2.660903 +v 0.015779 0.020532 -2.047064 +v 0.015779 -0.017763 -0.827554 +v -0.114481 0.030242 -0.823684 +v -0.230861 0.205312 -2.724623 +v -0.205606 0.188322 -2.724068 +v -0.185281 0.211267 -2.724324 +v -0.210536 0.228262 -2.724879 +v -0.261711 0.246142 -2.725559 +v -0.319966 0.306657 -2.727608 +v -0.336271 0.394167 -2.728623 +v 0.015779 -0.049748 -0.712704 +v 0.146039 0.030237 -0.823684 +v 0.015774 -0.072578 -0.607349 +v -0.030216 0.355482 -4.352614 +v -0.052566 0.304857 -4.352614 +v -0.030391 0.410822 -4.352614 +v -0.053056 0.461312 -4.352614 +v -0.094301 0.498212 -4.352614 +v -0.146991 0.515147 -4.352614 +v -0.202011 0.509187 -4.352614 +v -0.249851 0.481367 -4.352614 +v -0.282236 0.436492 -4.352614 +v -0.293571 0.382322 -4.352614 +v -0.281896 0.328227 -4.352614 +v -0.249226 0.283557 -4.352614 +v -0.201211 0.256037 -4.352614 +v -0.146151 0.250427 -4.352614 +v -0.093576 0.267692 -4.352614 +v -0.031366 0.474472 -4.350559 +v -0.079881 0.523372 -4.352614 +v -0.211061 0.536742 -4.352614 +v -0.144051 0.544002 -4.352614 +v -0.002041 0.416942 -4.352614 +v -0.001826 0.349542 -4.352614 +v -0.029046 0.287882 -4.352614 +v -0.078996 0.242622 -4.352614 +v -0.143031 0.221592 -4.352614 +v -0.210086 0.228427 -4.352614 +v -0.268561 0.261942 -4.352614 +v -0.308351 0.316347 -4.352614 +v -0.322576 0.382232 -4.352614 +v -0.308771 0.448202 -4.352614 +v -0.269326 0.502857 -4.352614 +v -0.079881 0.523372 -4.183839 +v -0.029651 0.478432 -4.183839 +v -0.268561 0.261942 -4.183839 +v -0.210086 0.228427 -4.183839 +v -0.144051 0.544002 -4.183839 +v -0.143031 0.221592 -4.183839 +v -0.211061 0.536742 -4.183839 +v -0.078996 0.242622 -4.183839 +v -0.269326 0.502857 -4.183839 +v -0.029046 0.287882 -4.183839 +v -0.308771 0.448202 -4.183839 +v -0.001826 0.349542 -4.183839 +v -0.322576 0.382232 -4.183839 +v -0.002041 0.416942 -4.183839 +v -0.308351 0.316347 -4.183839 +v -0.263051 0.268102 -4.166004 +v -0.300811 0.319732 -4.166004 +v -0.083991 0.516202 -4.166004 +v -0.036321 0.473552 -4.166004 +v -0.207556 0.236297 -4.166004 +v -0.144886 0.535777 -4.166004 +v -0.143921 0.229812 -4.166004 +v -0.208481 0.528887 -4.166004 +v -0.083151 0.249767 -4.166004 +v -0.263771 0.496732 -4.166004 +v -0.035751 0.292717 -4.166004 +v -0.301206 0.444867 -4.166004 +v -0.009916 0.351237 -4.166004 +v 0.309499 0.439802 -4.168079 +v 0.321819 0.377037 -4.168079 +v 0.307549 0.314682 -4.168079 +v 0.315049 0.311207 -4.185909 +v 0.330089 0.376907 -4.185909 +v 0.317104 0.443047 -4.185909 +v -0.010121 0.415202 -4.166004 +v -0.003182 0.430657 0.004771 +v -0.037872 0.507917 0.004771 +v -0.338067 0.235897 0.004771 +v -0.388062 0.304257 0.004771 +v -0.102631 0.562592 0.005651 +v -0.264592 0.193787 0.004771 +v -0.183126 0.588747 0.005651 +v -0.183127 0.183897 0.005651 +v -0.265812 0.581182 0.004771 +v -0.102632 0.210052 0.005651 +v -0.339022 0.538607 0.004771 +v -0.037117 0.268492 0.004771 +v -0.388587 0.469932 0.004771 +v -0.002917 0.345967 0.004771 +v -0.314306 0.382257 -4.166004 +v -0.405932 0.387042 0.004771 +v -0.270022 0.176892 0.052351 +v -0.178427 0.167557 0.052351 +v -0.423677 0.386982 0.052351 +v -0.404252 0.296987 0.052351 +v 0.014163 0.434402 0.052351 +v -0.023547 0.518392 0.052351 +v -0.404822 0.477102 0.052351 +v -0.350937 0.551757 0.052351 +v -0.349897 0.222672 0.052351 +v 0.014453 0.342332 0.052351 +v -0.022727 0.258107 0.052351 +v -0.271352 0.598042 0.052351 +v -0.179816 0.607957 0.052351 +v -0.090952 0.196282 0.052351 +v -0.092162 0.579782 0.052351 +v -0.022727 0.258107 0.688621 +v -0.051452 0.278837 0.720896 +v -0.108762 0.226902 0.720896 +v -0.090952 0.196282 0.688621 +v -0.092162 0.579782 0.688621 +v -0.179817 0.607957 0.688621 +v -0.183407 0.572717 0.720896 +v -0.109777 0.549047 0.720896 +v -0.270022 0.176892 0.688621 +v -0.178427 0.167557 0.688621 +v -0.182237 0.202772 0.720896 +v -0.259182 0.210612 0.720896 +v -0.423677 0.386982 0.688621 +v -0.404252 0.296987 0.688621 +v -0.371937 0.311497 0.720896 +v -0.388257 0.387097 0.720896 +v 0.014163 0.434402 0.688621 +v -0.023547 0.518392 0.688621 +v -0.052142 0.497482 0.720896 +v -0.020462 0.426927 0.720896 +v -0.404822 0.477102 0.688621 +v -0.372412 0.462797 0.720896 +v -0.327152 0.525507 0.720896 +v -0.350937 0.551757 0.688621 +v -0.349897 0.222672 0.688621 +v -0.326282 0.249072 0.720896 +v 0.014453 0.342332 0.688621 +v -0.020217 0.349587 0.720896 +v -0.271352 0.598042 0.688621 +v -0.260297 0.564387 0.720896 +v 0.213259 0.232412 -4.168079 +v 0.149549 0.226722 -4.168079 +v 0.089034 0.247432 -4.168079 +v 0.042169 0.290972 -4.168079 +v 0.017069 0.349802 -4.168079 +v 0.018064 0.413762 -4.168079 +v 0.044989 0.471782 -4.168079 +v 0.093189 0.513837 -4.168079 +v 0.154324 0.532652 -4.168079 +v 0.217824 0.524972 -4.168079 +v 0.272714 0.492132 -4.168079 +v 0.269149 0.263527 -4.168079 +v 0.290429 0.431667 -4.354689 +v 0.301089 0.377357 -4.354689 +v 0.301089 0.377357 -4.330939 +v 0.258599 0.476937 -4.354689 +v 0.211109 0.505352 -4.354689 +v 0.156169 0.511997 -4.354689 +v 0.103274 0.495717 -4.354689 +v 0.061574 0.459332 -4.354689 +v 0.038279 0.409132 -4.354689 +v 0.037419 0.353797 -4.354689 +v 0.099679 0.265227 -4.354689 +v 0.059134 0.302897 -4.354689 +v 0.008959 0.348212 -4.354689 +v 0.010009 0.415602 -4.354689 +v 0.038379 0.476742 -4.354689 +v 0.089164 0.521057 -4.354689 +v 0.153589 0.540882 -4.354689 +v 0.220499 0.532792 -4.354689 +v 0.278339 0.498187 -4.354689 +v 0.317104 0.443047 -4.354689 +v 0.330089 0.376907 -4.354689 +v 0.315049 0.311207 -4.354689 +v 0.274584 0.257302 -4.354689 +v 0.215694 0.224512 -4.354689 +v 0.207164 0.252232 -4.354689 +v 0.255514 0.279152 -4.354689 +v 0.288739 0.323412 -4.354689 +v 0.084789 0.240342 -4.354689 +v 0.035409 0.286217 -4.354689 +v 0.220499 0.532792 -4.185909 +v 0.278339 0.498187 -4.185909 +v 0.153589 0.540882 -4.185909 +v 0.148559 0.218512 -4.185909 +v 0.148559 0.218512 -4.354689 +v 0.215694 0.224512 -4.185909 +v 0.089164 0.521057 -4.185909 +v 0.274584 0.257302 -4.185909 +v 0.041188 0.463312 0.002701 +v 0.091349 0.531547 0.002701 +v 0.005373 0.380672 0.050276 +v 0.023119 0.380572 0.002701 +v 0.040263 0.297637 0.002701 +v 0.024013 0.290507 0.050276 +v 0.443613 0.424262 0.050276 +v 0.426233 0.420667 0.002701 +v 0.392218 0.498227 0.002701 +v 0.406633 0.508577 0.050276 +v 0.025018 0.470622 0.050276 +v 0.079548 0.544802 0.050276 +v 0.089658 0.228842 0.002701 +v 0.077713 0.215722 0.050276 +v 0.443098 0.332192 0.050276 +v 0.405183 0.248292 0.050276 +v 0.390883 0.258802 0.002701 +v 0.425758 0.335977 0.002701 +v 0.159538 0.590392 0.050276 +v 0.246524 0.600097 0.050891 +v 0.249203 0.581867 0.002701 +v 0.164929 0.573482 0.002701 +v 0.336418 0.187072 0.050276 +v 0.248658 0.165422 0.050301 +v 0.246903 0.183082 0.002721 +v 0.327628 0.202487 0.002701 +v 0.162763 0.186087 0.002701 +v 0.157188 0.169242 0.050276 +v 0.038728 0.383037 -0.211934 +v 0.038729 0.721257 -0.211934 +v 0.048713 0.699747 0.711006 +v 0.049053 0.699747 0.725431 +v 0.037978 0.699747 0.736011 +v 0.037943 0.699747 0.710271 +v 0.048713 0.699747 0.695846 +v 0.338558 0.570562 0.686546 +v 0.251153 0.599502 0.686546 +v 0.247253 0.564297 0.718821 +v 0.320673 0.539987 0.718821 +v 0.338558 0.570562 0.050276 +v 0.329598 0.555247 0.002701 +v 0.024013 0.290507 0.686546 +v 0.077713 0.215722 0.686546 +v 0.157188 0.169242 0.686546 +v 0.079548 0.544802 0.686546 +v 0.103103 0.518347 0.718821 +v 0.170298 0.556642 0.718821 +v 0.159538 0.590392 0.686546 +v 0.248698 0.159107 0.686546 +v -0.249872 0.167682 -0.010114 +v -0.196637 0.146957 -0.001924 +v -0.249677 0.160812 0.041836 +v 0.037978 0.725457 0.736011 +v -0.017757 0.725267 0.735916 +v -0.017757 0.699747 0.735916 +v -0.017772 0.725267 0.711006 +v 0.049053 0.725457 0.725431 +v 0.048713 0.725457 0.711006 +v 0.037943 0.725202 0.694201 +v 0.037943 0.744567 0.711006 +v -0.017772 0.744567 0.711006 +v -0.017772 0.725202 0.694201 +v 0.311063 0.081002 -0.093779 +v 0.325593 0.037747 -0.022504 +v 0.021738 0.585607 0.754561 +v -0.002022 0.585607 0.754571 +v -0.002022 0.646267 0.795101 +v 0.021738 0.646267 0.795096 +v 0.121944 0.657312 -0.382644 +v 0.121944 0.595772 -1.365783 +v -0.109221 0.595772 -1.365783 +v -0.109401 0.657847 -0.387254 +v -0.051431 0.657312 -0.382644 +v 0.152039 0.247307 -4.354689 +v 0.152039 0.247307 -4.332014 +v -0.281352 0.013822 -0.050209 +v -0.298717 0.016267 -0.063084 +v -0.279777 0.017777 -0.071024 +v 0.315278 -0.052943 0.095106 +v 0.309203 -0.109308 -0.005179 +v 0.185258 0.151487 0.063471 +v 0.185258 0.151487 0.728931 +v 0.017503 0.150682 0.728941 +v -0.299022 0.061517 -0.079799 +v -0.300807 0.072827 -0.057289 +v -0.270382 0.073372 -0.062549 +v -0.279352 0.065737 -0.077734 +v 0.037998 0.181192 0.728946 +v 0.037998 0.267997 0.729181 +v 0.038898 0.382992 0.729391 +v -0.017932 0.267922 0.729191 +v -0.017932 0.181192 0.728951 +v 0.024028 0.699477 0.873126 +v 0.021738 0.383157 0.729706 +v -0.002022 0.383157 0.729716 +v 0.114178 0.198492 0.728936 +v 0.114178 0.198492 0.063476 +v 0.047078 0.256007 0.064351 +v 0.037998 0.267997 0.063291 +v 0.049743 0.259732 0.729121 +v -0.017772 0.699747 0.709161 +v -0.028332 0.725267 0.725431 +v -0.028332 0.699747 0.725431 +v 0.323348 0.079012 0.016446 +v 0.309698 0.123247 -0.035659 +v 0.037943 0.699747 0.903381 +v 0.037943 0.712497 0.902956 +v -0.017772 0.712497 0.902956 +v -0.017772 0.699747 0.903381 +v -0.017772 0.741617 0.872056 +v -0.017772 0.725242 0.895226 +v 0.037943 0.725242 0.895226 +v 0.037943 0.741617 0.872056 +v -0.014832 0.380827 0.712381 +v -0.014832 0.699822 0.670921 +v -0.018937 0.702032 0.687916 +v -0.052097 0.514632 0.704271 +v -0.047992 0.512422 0.687271 +v 0.038728 0.702032 0.688161 +v 0.035278 0.699677 0.669951 +v 0.035278 0.380687 0.711166 +v 0.070858 0.512742 0.707221 +v 0.067403 0.510392 0.688321 +v 0.302978 -0.099353 0.054171 +v 0.229173 -0.125883 0.056966 +v 0.237348 -0.139828 -0.008819 +v 0.235333 -0.075863 0.121821 +v 0.230863 -0.006803 0.144746 +v 0.308158 0.004367 0.119611 +v 0.232228 -0.122183 -0.072284 +v 0.305443 -0.091283 -0.070643 +v 0.237253 0.103392 -0.115314 +v 0.232613 0.143257 -0.062584 +v -0.217852 -0.119548 0.057206 +v -0.216347 -0.083563 0.104661 +v -0.283712 -0.087028 0.058846 +v -0.269127 -0.106688 0.034611 +v 0.264148 -0.057298 -0.152988 +v -0.173227 -0.061733 0.003611 +v -0.193117 -0.094728 0.060596 +v -0.199307 -0.118223 -0.005174 +v -0.219832 0.149352 -0.000779 +v -0.200852 0.131592 0.039536 +v -0.198402 0.135412 -0.019214 +v -0.181342 -0.006008 0.093151 +v -0.219317 -0.132098 0.000941 +v -0.177027 0.080352 0.035871 +v -0.169807 0.008742 0.041836 +v -0.276337 0.020837 -0.034209 +v -0.301017 0.018442 -0.045794 +v -0.276982 0.073742 -0.042899 +v -0.296762 0.065827 -0.028359 +v -0.199432 -0.005763 0.127386 +v -0.194992 0.089872 0.089166 +v -0.220052 0.118492 0.087111 +v -0.217217 0.074767 0.122716 +v -0.221937 0.143812 0.038446 +v -0.220552 0.022727 0.138266 +v -0.220727 -0.030538 0.133616 +v 0.332058 0.015782 -0.055874 +v 0.329933 0.044117 -0.084299 +v 0.331923 0.065542 -0.035419 +v 0.299873 0.014807 -0.046584 +v 0.302243 0.018742 -0.069954 +v 0.296618 0.050322 -0.083429 +v 0.326733 0.076602 -0.064474 +v 0.282068 0.038312 -0.051574 +v 0.300858 0.042007 -0.021564 +v 0.294073 0.071832 -0.044764 +v -0.283927 0.050637 0.101921 +v -0.282502 -0.004593 0.111601 +v -0.284037 0.103522 0.059121 +v -0.267302 0.127037 0.024206 +v -0.285337 -0.048368 0.091391 +v -0.286312 0.119632 0.000331 +v -0.284962 0.102297 -0.065879 +v -0.296132 0.019397 -0.071079 +v -0.298607 0.040057 0.032116 +v -0.295462 -0.030563 0.061831 +v -0.271837 0.120367 -0.044589 +v -0.280377 0.048112 -0.110154 +v -0.222682 0.117577 -0.091789 +v -0.218297 0.071742 -0.128119 +v -0.282987 -0.006018 -0.115024 +v -0.284702 -0.103573 -0.000984 +v -0.279367 -0.098778 -0.045124 +v -0.213297 0.019942 -0.141599 +v -0.216452 -0.030813 -0.137214 +v -0.214962 -0.121973 -0.052674 +v -0.221507 -0.091713 -0.102799 +v -0.269302 -0.050633 -0.106129 +v -0.220552 0.143857 -0.041744 +v -0.195157 -0.082963 -0.084229 +v -0.202447 0.113652 -0.082339 +v -0.182567 -0.027868 -0.094549 +v -0.186302 0.100872 -0.055264 +v -0.190687 0.050672 -0.107504 +v -0.172997 0.041257 -0.056244 +v -0.300667 0.050892 -0.026149 +v -0.306227 0.037637 -0.064254 +v -0.271432 0.060147 -0.028094 +v -0.273487 0.038512 -0.024609 +v 0.200558 0.183897 0.005651 +v 0.199183 0.170807 0.041836 +v 0.272388 0.166922 0.046141 +v 0.282103 0.192467 0.005651 +v -0.223136 0.197872 -3.214803 +v -0.330941 0.394167 -3.219194 +v -0.314631 0.306657 -3.218554 +v -0.256371 0.246142 -3.217253 +v -0.207796 0.219212 -3.215113 +v -0.182541 0.202217 -3.214558 +v -0.197881 0.180877 -3.214254 +v 0.307423 0.120252 0.048946 +v 0.309453 0.062992 0.101951 +v -0.297342 -0.044508 -0.027989 +v 0.233963 0.105637 0.110206 +v 0.235018 0.053587 0.138616 +v -0.284942 -0.073198 -0.077164 +v 0.194918 -0.035073 0.083176 +v 0.200818 -0.100168 -0.019659 +v -0.196637 0.008742 -0.140144 +v -0.199437 0.072357 -0.129619 +v -0.247942 0.070067 -0.149204 +v -0.248312 0.008742 -0.161459 +v -0.273767 0.051492 -0.084064 +v -0.297172 0.035627 -0.083449 +v -0.168437 0.041172 -0.001924 +v -0.168437 0.008742 -0.034354 +v -0.168437 -0.023693 -0.001924 +v 0.120068 0.210052 0.005651 +v 0.057168 0.266682 0.005651 +v 0.046523 0.258947 0.041836 +v 0.113488 0.198652 0.041836 +v -0.190007 0.126287 0.041836 +v -0.178337 0.101097 -0.001924 +v -0.175057 0.072357 0.041836 +v -0.175702 -0.057783 0.041836 +v -0.173997 -0.057783 -0.031584 +v -0.100206 0.213897 -0.380589 +v -0.038681 0.269292 -0.380589 +v -0.017636 0.316562 -0.380589 +v 0.034118 0.316562 -0.380589 +v 0.055163 0.269292 -0.380589 +v 0.116689 0.211567 -0.380589 +v 0.195429 0.185932 -0.380589 +v -0.178941 0.188312 -0.380589 +v 0.202933 -0.063468 -0.034674 +v 0.208333 0.104637 0.022541 +v 0.207743 -0.057783 0.035326 +v 0.211843 0.008742 -0.097019 +v 0.278308 0.042012 -0.161583 +v 0.212933 0.103837 -0.029689 +v 0.273913 0.129472 -0.106899 +v -0.247952 -0.057783 -0.146429 +v -0.249397 0.126287 -0.099659 +v -0.199437 -0.054878 -0.129619 +v -0.190157 0.126287 -0.046904 +v -0.249792 0.159797 -0.052794 +v -0.182537 0.072357 -0.087249 +v -0.179397 -0.023693 -0.092504 +v -0.194956 0.677767 -0.115719 +v -0.194957 0.682082 0.688181 +v 0.211243 0.682082 0.688181 +v 0.211243 0.682082 -0.115719 +v 0.123624 0.674512 -0.383239 +v -0.110116 0.674827 -0.387329 +v -0.165212 0.151487 0.728931 +v -0.165212 0.151487 0.063471 +v 0.252228 0.589727 0.688181 +v 0.231163 0.583307 0.005651 +v 0.123624 0.561207 -0.383239 +v 0.064884 0.576727 -0.383239 +v 0.033309 0.551472 -0.383399 +v 0.033309 0.496567 -0.383634 +v 0.038459 0.424832 -0.383684 +v 0.038459 0.411517 -0.383684 +v -0.001916 0.411517 -0.383684 +v -0.001916 0.424832 -0.383684 +v -0.025856 0.496852 -0.384079 +v -0.025856 0.553142 -0.386014 +v -0.056331 0.576727 -0.387329 +v -0.109236 0.563877 -0.386649 +v 0.038898 0.382992 0.063081 +v 0.010438 0.410047 0.705471 +v 0.020698 0.705552 0.697316 +v -0.002242 0.699387 0.873036 +v 0.276598 0.165707 -0.004299 +v 0.017333 0.152452 0.003456 +v 0.015204 0.221232 -4.352719 +v 0.179774 0.218477 -4.352809 +v 0.017503 0.151527 0.060731 +v -0.093576 0.267692 -4.158724 +v 0.121944 0.517322 -4.353459 +v 0.121944 0.553172 -4.353234 +v -0.181752 0.170807 0.041836 +v -0.096052 0.198652 0.041836 +v -0.029087 0.258947 0.041836 +v -0.003437 0.316562 0.041836 +v -0.017527 0.316562 0.005651 +v 0.301089 0.377357 -4.168079 +v -0.165212 0.172792 0.728931 +v -0.097737 0.203897 0.728946 +v -0.092337 0.191297 0.063486 +v -0.165212 0.170227 0.063471 +v -0.025692 0.258657 0.063471 +v 0.340999 0.469917 -3.218134 +v 0.214259 0.228262 -3.216328 +v 0.265419 0.246142 -3.217794 +v 0.323704 0.306657 -3.218189 +v 0.340039 0.394167 -3.217859 +v 0.318159 0.460522 -3.216474 +v 0.356244 0.469917 -2.727933 +v 0.333389 0.460522 -2.726804 +v 0.152039 0.247307 -4.168079 +v 0.185258 0.171947 0.063471 +v 0.179774 0.229217 -4.352809 +v 0.084789 0.240342 -4.185909 +v 0.010009 0.415602 -4.185909 +v 0.038379 0.476742 -4.185909 +v 0.035409 0.286217 -4.185909 +v 0.008959 0.348212 -4.185909 +v 0.336418 0.187072 0.686546 +v 0.318878 0.217847 0.718821 +v 0.245193 0.194357 0.718821 +v 0.025018 0.470622 0.686546 +v 0.057293 0.456032 0.718821 +v 0.168323 0.202872 0.718821 +v 0.101558 0.241912 0.718821 +v 0.005373 0.380672 0.686546 +v 0.040793 0.380472 0.718821 +v 0.443098 0.332192 0.686546 +v 0.408493 0.339752 0.718821 +v 0.376638 0.269272 0.718821 +v 0.405183 0.248292 0.686546 +v 0.056453 0.304737 0.718821 +v 0.443613 0.424262 0.686546 +v 0.406633 0.508577 0.686546 +v 0.377858 0.487917 0.718821 +v 0.408923 0.417087 0.718821 +v -0.170801 0.229217 -4.350684 +v -0.170696 0.218477 -4.352809 +v 0.020868 0.316562 0.041836 +v 0.034958 0.316562 0.005651 +v -0.272937 0.032742 -0.081034 +v 0.237383 0.145597 0.052736 +v -0.248307 0.190747 0.005651 +v -0.248307 0.171017 0.041836 +v -0.226037 0.600417 0.688181 +v 0.008718 0.436702 0.688181 +v 0.043858 0.515632 0.688181 +v 0.124283 0.556622 0.688181 +v 0.200398 0.584892 0.688181 +v 0.185258 0.171947 0.728931 +v 0.355294 0.394167 -2.727499 +v 0.338969 0.306657 -2.727453 +v 0.280709 0.246142 -2.726309 +v 0.232084 0.219212 -2.726408 +v -0.109996 0.506777 -4.350559 +v -0.109221 0.553172 -4.353234 +v -0.201372 0.587917 0.006221 +v -0.226037 0.600417 0.050891 +v 0.084999 0.514337 -4.353234 +v 0.041284 0.473062 -4.353234 +v 0.013304 0.353292 -4.352809 +v 0.036839 0.291602 -4.352809 +v 0.081609 0.247417 -4.352809 +v 0.141614 0.225572 -4.352809 +v -0.136856 0.226762 -4.350474 +v -0.072241 0.250267 -4.347369 +v -0.028361 0.293002 -4.347369 +v -0.007616 0.354332 -4.347389 +v -0.076481 0.517867 -4.350559 +v -0.017932 0.267922 0.063296 +v -0.019082 0.382922 0.063091 +v -0.293571 0.382322 -4.158724 +v -0.281896 0.328227 -4.158724 +v -0.281896 0.328227 -4.328869 +v -0.293571 0.382322 -4.328869 +v -0.249226 0.283557 -4.158724 +v -0.249226 0.283557 -4.328869 +v -0.282236 0.436492 -4.158724 +v -0.282236 0.436492 -4.328869 +v -0.202011 0.509187 -4.158724 +v -0.249851 0.481367 -4.158724 +v -0.249851 0.481367 -4.328869 +v -0.202011 0.509187 -4.328869 +v -0.146991 0.515147 -4.328869 +v -0.146991 0.515147 -4.158724 +v -0.030391 0.410822 -4.158724 +v -0.030216 0.355482 -4.158724 +v -0.030216 0.355482 -4.328869 +v -0.030391 0.410822 -4.328869 +v -0.052566 0.304857 -4.158724 +v -0.052566 0.304857 -4.328869 +v -0.146151 0.250427 -4.328869 +v -0.146151 0.250427 -4.158724 +v -0.201211 0.256037 -4.158724 +v -0.201211 0.256037 -4.328869 +v -0.094301 0.498212 -4.158724 +v -0.094301 0.498212 -4.328869 +v -0.053056 0.461312 -4.158724 +v -0.053056 0.461312 -4.328869 +v -0.030216 0.355482 -4.352614 +v -0.052566 0.304857 -4.352614 +v -0.030391 0.410822 -4.352614 +v -0.053056 0.461312 -4.352614 +v -0.094301 0.498212 -4.352614 +v -0.146991 0.515147 -4.352614 +v -0.202011 0.509187 -4.352614 +v -0.249851 0.481367 -4.352614 +v -0.282236 0.436492 -4.352614 +v -0.293571 0.382322 -4.352614 +v -0.281896 0.328227 -4.352614 +v -0.249226 0.283557 -4.352614 +v -0.201211 0.256037 -4.352614 +v -0.146151 0.250427 -4.352614 +v -0.093576 0.267692 -4.328869 +v -0.093576 0.267692 -4.352614 +v -0.093576 0.267692 -4.158724 +vn 0.9990 0.0433 -0.0130 +vn 0.2109 -0.0576 -0.9758 +vn 0.9995 0.0285 -0.0149 +vn 0.9999 -0.0104 -0.0111 +vn 0.9998 0.0091 -0.0194 +vn 0.9997 0.0165 -0.0156 +vn 0.9999 0.0088 -0.0050 +vn 0.9999 0.0138 -0.0091 +vn 0.6821 0.1629 -0.7129 +vn 0.0835 -0.9715 -0.2218 +vn 0.0669 -0.3970 -0.9154 +vn 0.2513 -0.9679 -0.0047 +vn 0.2528 -0.9675 -0.0008 +vn 0.2523 -0.9677 -0.0008 +vn -0.0238 -0.9997 -0.0006 +vn -0.1439 -0.9895 0.0094 +vn -0.0248 -0.9997 0.0003 +vn 0.0890 -0.9960 -0.0000 +vn -0.3238 -0.9461 -0.0000 +vn -0.6806 -0.7327 -0.0000 +vn -0.6806 -0.7326 -0.0000 +vn -0.9198 -0.3925 -0.0000 +vn -0.6575 0.7535 -0.0000 +vn -0.9071 0.4210 -0.0000 +vn 0.9813 0.1926 -0.0000 +vn 0.8181 0.5751 -0.0000 +vn 0.7998 -0.6003 -0.0000 +vn 0.4864 -0.8737 -0.0000 +vn -0.2942 0.9558 -0.0000 +vn 0.5135 0.8581 -0.0000 +vn 0.9748 -0.2231 -0.0000 +vn -0.9815 0.1910 -0.0107 +vn 0.3798 0.9251 0.0041 +vn -0.9999 0.0015 -0.0143 +vn -0.9999 -0.0017 -0.0131 +vn -0.9999 -0.0031 -0.0103 +vn 0.6753 -0.7370 -0.0271 +vn 0.6837 -0.7294 -0.0231 +vn 0.6717 -0.7402 -0.0288 +vn -0.0095 -0.8319 -0.5549 +vn 0.1291 -0.6812 -0.7206 +vn 0.0902 -0.7990 -0.5946 +vn 0.9937 0.0967 -0.0559 +vn 0.9964 0.0732 -0.0423 +vn 1.0000 -0.0000 -0.0000 +vn -0.0016 0.9953 -0.0973 +vn -0.0000 0.9953 -0.0964 +vn -0.0027 0.9379 -0.3468 +vn -0.9999 -0.0121 -0.0062 +vn -0.9999 -0.0000 -0.0104 +vn -0.0742 -0.7934 -0.6042 +vn -0.0186 -0.6346 -0.7726 +vn -0.0000 -0.9835 -0.1808 +vn 0.0283 -0.9544 -0.2973 +vn -0.0025 -0.9969 -0.0788 +vn 0.0483 -0.9957 -0.0785 +vn -0.2055 -0.9589 -0.1956 +vn -0.1846 -0.9286 -0.3220 +vn -0.0512 -0.9965 -0.0663 +vn -0.0144 0.0087 0.9999 +vn -0.0235 0.0055 0.9997 +vn -0.0123 0.0198 0.9997 +vn 0.2035 -0.9596 -0.1944 +vn 0.1823 -0.9289 -0.3223 +vn 0.1477 -0.9273 -0.3440 +vn -0.0000 -0.9882 -0.1529 +vn 0.0003 -0.9530 -0.3029 +vn -0.0029 -0.9977 -0.0675 +vn -0.0382 -0.9991 0.0207 +vn -0.0002 -0.9946 -0.1042 +vn 0.0383 -0.9990 0.0215 +vn 0.0655 0.0289 -0.9974 +vn 0.0105 0.0046 -0.9999 +vn 0.0615 0.0327 -0.9976 +vn -0.0000 -0.0000 -1.0000 +vn 0.8102 0.5861 -0.0053 +vn 0.4901 0.8472 0.2049 +vn 0.7905 0.5793 0.1986 +vn -0.6668 -0.7453 -0.0000 +vn -0.2992 -0.9309 0.2096 +vn -0.6520 -0.7287 0.2095 +vn 0.1014 0.9948 -0.0000 +vn 0.5209 0.8536 -0.0000 +vn -0.3060 -0.9520 -0.0000 +vn 0.1053 -0.9721 0.2096 +vn -0.3120 0.9501 -0.0000 +vn 0.0991 0.9728 0.2096 +vn 0.1077 -0.9942 -0.0000 +vn 0.4916 -0.8453 0.2095 +vn -0.6715 0.7410 -0.0000 +vn -0.3051 0.9290 0.2096 +vn 0.5027 -0.8644 -0.0000 +vn 0.7929 -0.5722 0.2095 +vn -0.9148 0.4038 -0.0000 +vn -0.6566 0.7246 0.2096 +vn 0.9788 -0.2048 -0.0000 +vn 0.8109 -0.5852 -0.0000 +vn -1.0000 -0.0032 -0.0000 +vn -0.8945 0.3949 0.2096 +vn 0.9725 0.2327 -0.0000 +vn 0.9571 -0.2003 0.2095 +vn -0.9122 -0.4096 -0.0000 +vn -0.9778 -0.0031 0.2096 +vn 0.9559 0.2095 0.2059 +vn -0.6511 -0.7285 0.2129 +vn -0.8920 -0.4005 0.2095 +vn 0.4858 0.8465 0.2178 +vn -0.2983 -0.9300 0.2147 +vn 0.0997 0.9713 0.2159 +vn 0.1058 -0.9705 0.2167 +vn -0.3042 0.9283 0.2138 +vn 0.4910 -0.8433 0.2186 +vn -0.6559 0.7245 0.2121 +vn 0.7912 -0.5706 0.2200 +vn -0.8941 0.3949 0.2111 +vn 0.9547 -0.1997 0.2206 +vn 0.9776 -0.0152 0.2097 +vn 0.8993 0.3837 0.2096 +vn 0.9071 -0.0141 0.4208 +vn 0.9535 0.2056 0.2204 +vn 0.9774 0.2114 -0.0024 +vn 0.7878 0.5756 0.2193 +vn 0.7976 0.6031 -0.0044 +vn -0.6675 -0.7444 -0.0178 +vn -0.8915 -0.4007 0.2115 +vn 0.4845 0.8747 -0.0076 +vn -0.3156 -0.9488 -0.0140 +vn 0.1106 0.9938 -0.0117 +vn 0.0960 -0.9953 -0.0099 +vn -0.3045 0.9524 -0.0161 +vn 0.4964 -0.8681 -0.0059 +vn -0.6720 0.7403 -0.0196 +vn 0.8078 -0.5895 -0.0031 +vn -0.9148 0.4034 -0.0216 +vn 0.9788 -0.2049 -0.0019 +vn -0.9775 -0.0032 0.2109 +vn -0.9998 -0.0030 -0.0220 +vn -0.3036 -0.9372 -0.1716 +vn 0.0889 -0.9358 -0.3411 +vn 0.1091 -0.9798 -0.1674 +vn -0.9848 -0.0031 -0.1736 +vn -0.8547 -0.3838 -0.3495 +vn -0.8984 -0.4034 -0.1736 +vn 0.9627 0.2078 -0.1736 +vn 0.7512 0.5546 -0.3578 +vn 0.7949 0.5814 -0.1736 +vn -0.9009 0.3977 -0.1736 +vn -0.6291 0.6943 -0.3495 +vn -0.8571 0.3784 -0.3495 +vn -0.6247 -0.6983 -0.3494 +vn -0.6566 -0.7340 -0.1736 +vn 0.9639 -0.2017 -0.1736 +vn 0.7582 -0.5485 -0.3524 +vn 0.9171 -0.1919 -0.3495 +vn -0.3044 0.9361 -0.1762 +vn 0.0943 0.9205 -0.3791 +vn -0.2834 0.8931 -0.3495 +vn 0.4579 -0.8147 -0.3557 +vn 0.4966 -0.8501 -0.1753 +vn 0.4844 0.8533 -0.1927 +vn -0.9370 -0.0030 -0.3494 +vn -0.2945 -0.8895 -0.3494 +vn 0.9159 0.1977 -0.3494 +vn -0.6613 0.7298 -0.1736 +vn 0.7986 -0.5763 -0.1736 +vn -0.9123 -0.4089 -0.0206 +vn 0.5461 -0.3941 0.7392 +vn 0.3386 -0.5822 0.7392 +vn 0.3349 0.5843 0.7392 +vn 0.0683 0.6700 0.7392 +vn 0.0725 -0.6696 0.7392 +vn -0.2061 -0.6412 0.7392 +vn -0.6735 -0.0021 0.7392 +vn -0.6144 -0.2759 0.7392 +vn 0.5436 0.3976 0.7392 +vn 0.6583 0.1421 0.7392 +vn -0.6161 0.2720 0.7392 +vn -0.4522 0.4991 0.7392 +vn -0.4491 -0.5019 0.7392 +vn 0.6592 -0.1379 0.7392 +vn -0.2101 0.6399 0.7392 +vn -0.2102 0.6399 0.7392 +vn -0.4491 -0.5020 0.7392 +vn 0.4428 0.8051 -0.3947 +vn 0.1014 0.9762 -0.1916 +vn -0.9123 -0.4096 -0.0000 +vn 0.9775 0.2110 -0.0000 +vn 0.8072 0.5903 -0.0000 +vn 0.4973 0.8676 -0.0000 +vn -0.9148 0.4039 -0.0000 +vn -0.9999 0.0156 -0.0000 +vn 0.3238 0.9461 -0.0000 +vn 0.6655 0.7164 0.2096 +vn 0.6806 0.7326 -0.0000 +vn -0.0890 0.9960 -0.0000 +vn 0.3166 0.9251 0.2096 +vn -0.1201 -0.9928 -0.0000 +vn 0.2876 -0.9345 0.2096 +vn -0.1174 -0.9707 0.2096 +vn -0.4864 0.8737 -0.0000 +vn -0.0870 0.9739 0.2095 +vn 0.6575 -0.7535 -0.0000 +vn 0.2942 -0.9558 -0.0000 +vn -0.9109 0.4125 0.0017 +vn -0.8004 0.5994 -0.0017 +vn -0.9749 0.2227 0.0007 +vn -0.9848 0.0055 -0.1736 +vn -0.8581 -0.3763 -0.3495 +vn -0.9019 -0.3955 -0.1736 +vn 0.9644 0.1994 -0.1736 +vn 0.7611 0.5465 -0.3495 +vn 0.7999 0.5744 -0.1736 +vn -0.8974 0.4056 -0.1736 +vn -0.6230 0.6998 -0.3495 +vn -0.8538 0.3859 -0.3495 +vn -0.6308 -0.6928 -0.3494 +vn -0.6631 -0.7282 -0.1736 +vn 0.7935 -0.5833 -0.1736 +vn 0.9153 -0.1999 -0.3495 +vn 0.9621 -0.2101 -0.1736 +vn 0.0944 0.9807 -0.1713 +vn -0.2873 0.8909 -0.3519 +vn -0.3040 0.9366 -0.1741 +vn 0.0984 -0.9799 -0.1737 +vn 0.4338 -0.8299 -0.3508 +vn 0.4595 -0.8712 -0.1729 +vn -0.9369 0.0052 -0.3495 +vn -0.2610 -0.8993 -0.3508 +vn -0.2781 -0.9449 -0.1729 +vn 0.9175 0.1897 -0.3495 +vn -0.6549 0.7355 -0.1736 +vn -0.0000 -1.0000 -0.0000 +vn 0.0741 0.6694 0.7392 +vn 0.3400 0.5814 0.7392 +vn 0.4946 0.8518 -0.1726 +vn 0.1109 0.9304 -0.3493 +vn -0.6733 -0.7394 -0.0000 +vn -0.9158 -0.4016 -0.0000 +vn -0.3114 -0.9503 -0.0046 +vn -0.4479 0.5030 0.7392 +vn -0.2045 0.6417 0.7392 +vn 0.0989 -0.9951 -0.0099 +vn -0.3673 -0.9294 0.0358 +vn -0.4535 -0.8912 -0.0103 +vn -0.4039 -0.8909 -0.2076 +vn -0.0017 -0.0000 1.0000 +vn -0.0025 1.0000 -0.0008 +vn -0.0000 1.0000 -0.0000 +vn -0.0021 1.0000 -0.0009 +vn -0.0000 -0.6554 0.7553 +vn 0.0452 -0.9968 -0.0659 +vn 0.9831 0.0449 -0.1776 +vn 0.9983 0.0228 -0.0531 +vn 0.9927 -0.0741 -0.0955 +vn -0.0004 0.3482 -0.9374 +vn -0.0004 0.6966 -0.7174 +vn 0.0003 0.9993 -0.0384 +vn 0.0142 0.9979 -0.0633 +vn 0.0067 0.9980 -0.0629 +vn 0.1200 0.9928 -0.0000 +vn -0.0026 0.9366 -0.3503 +vn -0.1083 -0.9792 0.1718 +vn -0.1072 -0.9933 -0.0440 +vn 0.0001 -0.9824 -0.1867 +vn 0.9851 -0.1721 0.0025 +vn 0.9925 -0.0814 0.0912 +vn 0.0018 -1.0000 -0.0084 +vn 0.0037 -1.0000 -0.0012 +vn 0.0029 -1.0000 0.0014 +vn -0.1136 0.8968 -0.4277 +vn -0.0942 0.8866 -0.4529 +vn -0.1184 0.8991 -0.4213 +vn -0.1581 0.9165 -0.3675 +vn 0.0009 -0.0024 1.0000 +vn 0.0001 0.0284 0.9996 +vn 0.0002 -0.0018 1.0000 +vn 0.8973 -0.4414 0.0042 +vn -0.0004 0.1219 -0.9925 +vn 0.7295 0.6839 -0.0003 +vn 0.5790 0.8153 -0.0068 +vn 0.6337 0.7735 -0.0069 +vn 0.0113 0.0305 -0.9995 +vn 0.0086 0.0271 -0.9996 +vn 0.0199 0.0411 -0.9990 +vn -0.9999 -0.0000 0.0142 +vn -0.7041 -0.0000 0.7101 +vn 1.0000 -0.0000 -0.0006 +vn -0.1262 0.0533 -0.9906 +vn -0.0430 0.0181 -0.9989 +vn -0.1685 0.0711 -0.9831 +vn 0.0043 1.0000 0.0032 +vn 0.0094 0.9999 0.0069 +vn 0.0158 0.9998 0.0116 +vn 0.6908 -0.0000 0.7231 +vn 0.9997 -0.0000 -0.0236 +vn 0.9745 0.2143 -0.0661 +vn 0.9856 0.1607 0.0534 +vn 0.0041 0.2804 0.9599 +vn -0.0168 -0.0144 0.9998 +vn -0.0038 0.0246 0.9997 +vn -0.0000 0.6819 0.7314 +vn -0.0000 0.8166 0.5771 +vn -0.0000 0.9998 0.0183 +vn 0.0018 -1.0000 -0.0003 +vn 0.0006 -1.0000 -0.0003 +vn -0.0000 0.0287 0.9996 +vn -0.0000 -0.0000 1.0000 +vn 0.9707 0.0306 0.2384 +vn 0.9724 0.0300 0.2313 +vn 0.9706 0.0306 0.2387 +vn -0.9718 -0.0648 -0.2266 +vn -0.9406 -0.2741 -0.2004 +vn -0.9404 -0.2741 -0.2012 +vn -0.9569 0.1475 -0.2503 +vn -0.9827 0.0237 0.1835 +vn -0.9812 0.0242 0.1915 +vn -0.9811 0.0243 0.1918 +vn 0.9831 -0.0601 -0.1729 +vn 0.9527 -0.2613 -0.1549 +vn 0.9832 -0.0589 -0.1726 +vn 0.9687 0.1448 -0.2018 +vn -0.0000 1.0000 -0.0045 +vn -0.0002 1.0000 -0.0045 +vn -0.0003 1.0000 -0.0045 +vn 0.9999 -0.0000 -0.0108 +vn 0.9999 -0.0126 -0.0065 +vn 0.0001 0.0285 0.9996 +vn 0.3645 -0.8229 0.4359 +vn 0.3824 -0.9234 -0.0325 +vn 0.3899 -0.9200 -0.0399 +vn 0.3612 -0.5353 0.7635 +vn 0.3238 -0.8590 0.3965 +vn 0.3752 -0.0534 0.9254 +vn 0.3106 -0.1017 0.9451 +vn 0.3251 -0.8385 -0.4373 +vn 0.9475 -0.2902 -0.1343 +vn 0.3836 0.7520 -0.5360 +vn 0.4112 0.5668 -0.7139 +vn 0.3864 0.6004 -0.7002 +vn -0.3535 -0.8400 0.4116 +vn -0.4504 -0.7240 0.5225 +vn -0.4720 -0.8446 0.2528 +vn -0.7143 -0.4904 -0.4994 +vn -0.2033 0.2636 -0.9430 +vn 0.9709 -0.2396 0.0042 +vn 0.8155 -0.4857 0.3146 +vn 0.7604 -0.6490 -0.0219 +vn 0.5391 0.8417 0.0301 +vn 0.7112 0.6632 0.2331 +vn 0.7465 0.6602 -0.0822 +vn 0.9303 -0.0631 0.3612 +vn 0.6451 -0.7067 0.2906 +vn 0.5792 -0.8137 0.0489 +vn 0.9600 0.2504 0.1255 +vn 0.9928 0.0081 0.1193 +vn -0.1143 -0.8962 0.4287 +vn -0.1749 -0.9587 0.2241 +vn -0.4743 0.8627 -0.1755 +vn 0.7043 -0.0757 0.7059 +vn 0.0227 0.9724 0.2321 +vn 0.8009 0.3815 0.4616 +vn 0.6057 0.6268 0.4902 +vn 0.7148 0.2916 0.6357 +vn 0.4741 0.8413 0.2598 +vn 0.5823 0.1248 0.8034 +vn 0.5530 -0.2778 0.7855 +vn 0.9983 -0.0196 0.0542 +vn 0.9948 0.0722 -0.0721 +vn 0.9990 0.0262 0.0369 +vn -0.0186 -0.9856 -0.1678 +vn 0.1023 -0.5718 -0.8140 +vn 0.0710 -0.5485 -0.8331 +vn 0.2596 -0.6742 -0.6914 +vn -0.0992 -0.4054 -0.9087 +vn 0.0756 0.5249 -0.8478 +vn -0.7970 -0.4900 -0.3531 +vn -0.7982 -0.4757 -0.3697 +vn -0.7937 -0.3528 -0.4955 +vn -0.8414 0.1993 0.5023 +vn -0.7328 -0.4461 0.5138 +vn 0.0886 -0.7667 0.6358 +vn 0.0340 -0.7415 0.6701 +vn -0.0879 -0.6726 0.7347 +vn 0.0707 0.9364 0.3438 +vn 0.7446 -0.4023 0.5326 +vn -0.3947 0.1141 0.9117 +vn -0.4336 0.3707 0.8213 +vn -0.4368 -0.1116 0.8926 +vn -0.4260 0.6842 0.5920 +vn -0.4453 0.7326 0.5148 +vn -0.4612 0.8601 0.2182 +vn -0.4286 -0.4827 0.7638 +vn -0.3904 -0.6018 0.6967 +vn -0.9862 0.1546 -0.0595 +vn -0.9704 0.1800 -0.1609 +vn -0.9787 0.0457 -0.2004 +vn -0.3978 -0.2910 0.8701 +vn -0.9760 0.0768 0.2039 +vn -0.9928 0.0800 0.0891 +vn -0.9843 -0.0923 0.1501 +vn -0.9770 0.1691 0.1297 +vn -0.9805 0.1957 0.0197 +vn -0.9841 0.1321 -0.1188 +vn 0.8076 -0.5742 0.1343 +vn -0.4924 0.8275 -0.2696 +vn -0.4715 0.7025 -0.5330 +vn -0.4923 0.8705 -0.0008 +vn -0.4055 0.3268 -0.8537 +vn -0.4074 0.6839 -0.6052 +vn -0.3904 0.3924 -0.8329 +vn -0.9479 0.1166 -0.2965 +vn -0.9627 -0.0337 -0.2685 +vn -0.3664 -0.9304 -0.0060 +vn -0.4430 -0.8965 -0.0008 +vn -0.3910 -0.8562 -0.3376 +vn -0.3986 0.9170 -0.0151 +vn -0.4328 -0.1135 -0.8943 +vn -0.3536 0.0743 -0.9324 +vn -0.3524 -0.2441 -0.9035 +vn -0.3539 -0.8766 -0.3259 +vn -0.3830 -0.6564 -0.6499 +vn -0.0178 0.5246 0.8512 +vn -0.0065 0.5136 0.8580 +vn 0.1034 0.3997 0.9108 +vn -0.5086 -0.4131 -0.7555 +vn -0.3916 0.8853 -0.2509 +vn 0.7564 -0.2088 -0.6199 +vn 0.7906 -0.4557 -0.4091 +vn 0.5978 -0.5372 -0.5951 +vn 0.5275 0.8051 -0.2713 +vn 0.6522 0.5935 -0.4716 +vn 0.7920 0.0346 -0.6095 +vn 0.9097 -0.1437 -0.3896 +vn 0.9148 0.3531 -0.1960 +vn 0.8482 0.1887 -0.4949 +vn 0.9826 0.0939 -0.1604 +vn 0.7193 -0.6460 -0.2555 +vn -0.4108 0.8642 0.2906 +vn -0.9773 -0.2010 0.0668 +vn -0.9808 0.1178 0.1555 +vn -0.9847 -0.0910 -0.1484 +vn 0.0175 0.1523 0.9882 +vn 0.0189 0.1480 0.9888 +vn 0.0158 0.1575 0.9874 +vn 0.1247 0.9722 0.1981 +vn -0.0566 0.8810 0.4698 +vn -0.1013 0.9636 0.2475 +vn 0.1630 0.7564 0.6335 +vn -0.2727 -0.4961 0.8243 +vn -0.3054 -0.4608 0.8333 +vn -0.3051 -0.4610 0.8333 +vn 0.0442 -0.7714 -0.6348 +vn 0.2009 -0.7448 -0.6364 +vn 0.0073 -0.7946 -0.6071 +vn 0.4431 -0.5555 -0.7036 +vn 0.4072 -0.7605 -0.5058 +vn 0.4200 0.3517 -0.8366 +vn -0.0539 -0.9955 -0.0777 +vn -0.0050 -0.0231 -0.9997 +vn -0.0411 -0.0778 -0.9961 +vn -0.0039 -0.0116 -0.9999 +vn 0.9552 0.2647 0.1322 +vn 0.9820 0.0741 0.1735 +vn 0.9103 -0.3820 0.1595 +vn -0.9902 -0.1279 -0.0562 +vn -0.9752 -0.1999 0.0954 +vn 0.4056 0.4477 0.7969 +vn 0.3645 0.6106 0.7030 +vn 0.3479 0.2792 0.8950 +vn 0.3710 -0.0480 0.9274 +vn 0.3360 -0.1276 0.9332 +vn -0.9689 -0.1862 -0.1627 +vn -0.8509 -0.4771 0.2199 +vn -0.8390 -0.3515 0.4155 +vn -0.7941 -0.6074 -0.0220 +vn -0.7314 -0.6814 -0.0284 +vn 0.1650 0.1265 0.9782 +vn -0.1847 -0.1259 -0.9747 +vn -0.2334 0.1254 0.9643 +vn 0.2329 -0.1253 -0.9644 +vn -1.0000 -0.0000 -0.0000 +vn -0.3691 0.0072 0.9294 +vn -0.3681 -0.1730 0.9135 +vn -0.3813 0.0112 0.9244 +vn 0.0081 0.4087 -0.9126 +vn -0.0087 0.1110 -0.9938 +vn -0.0703 0.2353 -0.9694 +vn -0.1176 -0.6420 -0.7576 +vn -0.2294 -0.6967 -0.6797 +vn -0.0742 -0.3024 -0.9503 +vn -0.9013 -0.1377 -0.4107 +vn -0.9578 0.1185 -0.2619 +vn -0.9954 -0.0943 0.0135 +vn -0.9961 0.0875 -0.0078 +vn -0.9976 0.0018 -0.0688 +vn 0.4916 0.8526 0.1771 +vn 0.7603 0.5524 0.3418 +vn 0.4699 0.8139 0.3418 +vn -0.9453 -0.3189 -0.0685 +vn -0.9656 -0.2596 0.0143 +vn -0.9825 -0.1716 -0.0729 +vn -0.9897 0.1273 -0.0651 +vn -0.9905 0.1182 0.0706 +vn -0.0008 0.0024 -1.0000 +vn 0.0030 -0.0002 -1.0000 +vn -0.0004 0.0015 -1.0000 +vn 0.9994 -0.0340 0.0001 +vn 0.9976 -0.0490 0.0498 +vn 0.9977 -0.0090 -0.0678 +vn 0.7339 -0.3981 0.5504 +vn 0.7631 -0.3508 0.5427 +vn 0.7666 -0.3449 0.5416 +vn 0.7953 -0.2921 0.5311 +vn 0.9956 -0.0616 0.0709 +vn 0.9946 -0.0619 0.0838 +vn -0.9288 -0.3706 0.0013 +vn -0.3508 0.1838 0.9183 +vn -0.4838 -0.6747 0.5575 +vn -0.2608 -0.6421 0.7209 +vn -0.4930 -0.7244 0.4818 +vn -0.3317 0.1682 0.9283 +vn -0.5165 -0.7079 0.4818 +vn -0.4492 -0.8152 0.3657 +vn -0.9362 -0.0121 0.3512 +vn -0.9689 -0.1148 0.2191 +vn -0.9240 -0.1016 0.3686 +vn -0.6115 -0.6564 0.4419 +vn -0.9615 0.0292 0.2733 +vn -0.9096 0.1065 0.4017 +vn -0.9940 -0.0119 0.1085 +vn -0.9546 -0.2834 0.0921 +vn -0.3090 0.9510 0.0075 +vn -0.0798 0.9967 0.0149 +vn -0.0562 0.9878 0.1452 +vn 0.7964 0.5785 0.1765 +vn 0.5090 0.8608 0.0009 +vn 0.8156 0.5786 -0.0003 +vn 0.1107 0.9938 0.0038 +vn -0.0973 0.9952 0.0063 +vn -0.0089 0.9999 -0.0131 +vn -0.0061 0.9998 -0.0194 +vn -0.0082 0.9999 -0.0112 +vn -0.0015 -1.0000 -0.0078 +vn 0.9727 -0.0298 -0.2303 +vn 0.9144 0.4047 -0.0014 +vn 0.9573 0.2818 -0.0644 +vn -0.0000 0.0003 -1.0000 +vn 0.0017 -0.0004 -1.0000 +vn 0.3765 -0.9264 -0.0019 +vn 0.3764 -0.9265 -0.0019 +vn 0.3729 -0.9279 -0.0004 +vn -0.2531 0.9674 0.0009 +vn -0.2513 0.9679 0.0026 +vn 1.0000 -0.0078 -0.0000 +vn -0.0289 -0.9544 -0.2971 +vn 0.9578 -0.0498 0.2830 +vn 0.9748 -0.1065 0.1962 +vn 0.9794 -0.1467 0.1386 +vn 0.0366 -0.9983 -0.0449 +vn 0.6564 -0.7386 0.1537 +vn 0.6364 -0.7514 0.1742 +vn 0.7025 -0.7055 0.0938 +vn 0.0953 -0.9812 -0.1677 +vn 0.9996 0.0274 -0.0007 +vn -0.8144 0.5325 0.2308 +vn -0.8095 0.5871 -0.0023 +vn -0.5896 0.7650 0.2591 +vn 0.0018 -0.9998 -0.0192 +vn -0.0208 -0.9998 -0.0019 +vn -0.4087 0.9125 -0.0194 +vn -0.5149 0.8572 -0.0124 +vn -0.2777 0.9606 -0.0037 +vn -0.0033 0.0009 1.0000 +vn 0.0002 0.0019 1.0000 +vn 0.0023 -0.0006 1.0000 +vn -0.5307 0.8474 -0.0129 +vn -0.7030 0.7110 -0.0176 +vn -1.0000 -0.0000 0.0006 +vn -0.6231 -0.7821 -0.0009 +vn -0.5582 -0.8297 0.0038 +vn -0.6170 -0.7870 0.0022 +vn -0.6759 -0.7370 -0.0012 +vn -0.0275 0.0087 -0.9996 +vn -0.0296 0.0198 -0.9994 +vn -0.0484 -0.0011 -0.9988 +vn -0.3797 0.9250 0.0118 +vn -0.3797 0.9251 0.0118 +vn 0.9811 0.1910 -0.0305 +vn -0.1496 -0.9299 -0.3359 +vn 1.0000 -0.0000 -0.0012 +vn -0.5021 -0.8391 0.2096 +vn 0.9071 -0.4209 -0.0000 +vn 0.6429 -0.7367 0.2095 +vn -0.9748 0.2231 -0.0000 +vn -0.7820 0.5870 0.2095 +vn -0.7998 0.6003 -0.0000 +vn -0.4756 0.8543 0.2096 +vn 0.8869 -0.4116 0.2096 +vn -0.8181 -0.5751 -0.0000 +vn -0.9595 -0.1884 0.2096 +vn -0.9813 -0.1926 -0.0000 +vn 0.9198 0.3925 -0.0000 +vn 0.9999 -0.0156 -0.0000 +vn -0.9532 0.2182 0.2095 +vn -0.7422 -0.5218 0.4205 +vn -0.4658 -0.7786 0.4205 +vn 0.2938 0.8584 0.4206 +vn -0.1089 -0.9006 0.4207 +vn 0.5965 -0.6836 0.4205 +vn 0.2668 -0.8671 0.4207 +vn -0.0808 0.9037 0.4205 +vn -0.7256 0.5447 0.4205 +vn -0.4413 0.7927 0.4206 +vn 0.7284 -0.5468 0.4129 +vn -0.8844 0.2025 0.4205 +vn -0.8903 -0.1748 0.4205 +vn 0.8127 0.5822 -0.0226 +vn 0.9192 0.3930 -0.0260 +vn 0.6795 0.7334 -0.0226 +vn -0.9151 -0.4032 0.0002 +vn -0.5148 -0.8573 -0.0017 +vn -0.6723 -0.7403 -0.0047 +vn -0.7999 -0.5623 0.2096 +vn -0.5135 -0.8581 -0.0000 +vn -0.2772 -0.9608 -0.0095 +vn 0.2928 -0.9561 -0.0124 +vn 0.1018 -0.9947 -0.0147 +vn 0.5061 0.8623 -0.0183 +vn 0.3221 0.9465 -0.0176 +vn -0.1219 -0.9925 -0.0072 +vn -0.3020 0.9533 -0.0069 +vn -0.0908 0.9958 -0.0117 +vn -0.4878 0.8729 -0.0061 +vn 0.1119 0.9936 -0.0127 +vn -0.6639 0.7478 -0.0018 +vn 0.6560 -0.7546 -0.0175 +vn 0.4648 -0.8852 -0.0210 +vn 0.7449 0.5238 0.4132 +vn 0.6175 0.6647 0.4205 +vn 0.9060 -0.4227 -0.0238 +vn 0.8056 -0.5920 -0.0240 +vn 0.9791 0.2020 -0.0249 +vn 0.9995 -0.0156 -0.0271 +vn 0.9768 -0.2129 -0.0249 +vn -1.0000 0.0056 0.0030 +vn -0.9813 -0.1923 0.0008 +vn -0.8180 -0.5753 0.0005 +vn 0.7549 -0.5549 -0.3495 +vn 0.3335 -0.5851 0.7392 +vn 0.0667 -0.6702 0.7392 +vn -0.6138 0.2774 0.7392 +vn -0.4535 -0.4980 0.7392 +vn -0.2117 -0.6394 0.7392 +vn -0.6735 0.0038 0.7392 +vn 0.6580 -0.1437 0.7392 +vn 0.5426 -0.3989 0.7392 +vn -0.6168 -0.2705 0.7392 +vn -0.2117 -0.6393 0.7392 +vn 0.6595 0.1364 0.7392 +vn 0.5471 0.3928 0.7392 +vn 0.6595 0.1363 0.7392 +vn -0.6735 0.0037 0.7392 +vn 0.4925 -0.8703 -0.0044 +vn 0.8057 -0.5923 -0.0000 +vn 0.9770 -0.2134 -0.0000 +vn 0.8123 0.5833 -0.0000 +vn 0.9793 0.2025 -0.0000 +vn 0.5048 0.8632 -0.0000 +vn 0.1106 0.9939 0.0008 +vn -0.3042 0.9526 0.0008 +vn -0.6650 0.7469 -0.0000 +vn -0.9113 0.4118 -0.0000 +vn -1.0000 0.0056 -0.0000 +vn -0.9999 -0.0100 0.0011 +vn -0.9226 -0.3347 -0.1916 +vn -0.9843 0.1762 0.0141 +vn 0.0493 -0.3646 -0.9299 +vn -0.3572 -0.4007 0.8437 +vn -0.9407 0.2753 0.1981 +vn 0.9799 0.1650 -0.1122 +vn -0.3968 0.7908 -0.4661 +vn -0.8892 0.3724 -0.2657 +vn -0.7649 -0.6180 -0.1816 +vn 0.1875 -0.8034 0.5651 +vn 0.9621 -0.1015 0.2532 +vn 0.6808 0.3512 -0.6427 +vn 0.4103 0.6956 -0.5898 +vn -0.4863 -0.6284 -0.6071 +vn -0.9748 -0.2230 -0.0024 +vn -0.9088 -0.3885 -0.1520 +vn -0.9670 -0.0055 0.2547 +vn -0.9595 -0.1390 0.2450 +vn -0.4087 0.4417 0.7987 +vn -0.7515 -0.6337 -0.1835 +vn -0.7690 -0.6052 -0.2058 +vn 0.4685 0.2949 -0.8328 +vn 0.9838 0.0412 0.1746 +vn 0.3757 0.6927 0.6157 +vn 0.3094 0.7720 0.5552 +vn -0.8068 -0.3446 0.4799 +vn -0.7864 -0.2399 0.5692 +vn 0.8992 0.4004 0.1767 +vn 0.9136 0.4067 -0.0020 +vn 0.0621 0.8997 0.4320 +vn 0.0030 0.9404 0.3401 +vn 0.1573 0.9267 0.3412 +vn 0.8607 0.3833 0.3351 +vn -0.4473 -0.8943 -0.0147 +vn -0.4752 -0.8212 -0.3159 +vn 0.7858 0.1059 0.6093 +vn 0.8061 0.1543 0.5712 +vn 0.8449 0.2860 0.4521 +vn 0.0037 -0.0020 1.0000 +vn 0.0015 -0.0014 1.0000 +vn 0.0012 0.0035 1.0000 +vn -0.0046 -1.0000 -0.0023 +vn 0.5077 0.8616 -0.0000 +vn 0.3499 0.9368 -0.0000 +vn 0.0001 -0.0000 1.0000 +vn -0.0000 -0.0001 1.0000 +vn 0.0827 -0.0776 0.9935 +vn 0.0277 -0.0409 0.9988 +vn 0.0457 -0.0116 0.9989 +vn 0.0855 -0.9899 -0.1130 +vn -1.0000 -0.0016 -0.0001 +vn -1.0000 -0.0018 -0.0001 +vn -1.0000 0.0043 0.0001 +vn 0.1047 0.9631 0.2481 +vn 0.1599 0.9869 0.0225 +vn -0.8746 -0.3672 -0.3166 +vn -0.9735 0.2134 -0.0821 +vn -0.9706 -0.1246 -0.2062 +vn 0.0144 -0.9998 -0.0158 +vn -0.0010 -0.9999 -0.0158 +vn 0.0077 -0.9999 0.0101 +vn -0.0034 -1.0000 0.0041 +vn 0.0251 -0.9777 0.2085 +vn 0.9978 -0.0667 0.0025 +vn 0.9990 -0.0249 0.0367 +vn 1.0000 0.0030 0.0092 +vn -1.0000 -0.0072 0.0035 +vn -0.9999 -0.0151 -0.0013 +vn -0.9995 0.0309 0.0025 +vn 0.5280 -0.8468 0.0645 +vn 0.6505 -0.7359 0.1878 +vn 0.6366 -0.7513 0.1741 +vn 0.2913 0.9566 -0.0036 +vn 0.3038 0.9527 0.0077 +vn 0.3420 0.9387 0.0424 +vn -0.0000 0.9999 -0.0143 +vn -0.0000 0.9993 -0.0384 +vn -0.0006 -0.0028 -1.0000 +vn -0.0001 -0.0003 -1.0000 +vn -0.0333 0.0351 -0.9988 +vn 0.6681 -0.7142 0.2089 +vn -0.9994 0.0120 0.0331 +vn -0.9963 0.0214 0.0837 +vn -1.0000 -0.0029 0.0089 +vn 0.0003 -0.0013 1.0000 +vn -0.0002 -0.0014 1.0000 +vn 0.0001 -0.0002 1.0000 +vn 0.9999 0.0100 -0.0000 +vn 1.0000 0.0100 -0.0000 +vn 0.9123 0.4096 -0.0000 +vn 1.0000 0.0031 -0.0000 +vn 0.6668 0.7452 -0.0000 +vn 0.9148 -0.4038 -0.0000 +vn 0.6715 -0.7410 -0.0000 +vn 0.3120 -0.9501 -0.0000 +vn -0.1014 -0.9948 -0.0000 +vn -0.9775 -0.2110 -0.0000 +vn -0.9788 0.2048 -0.0000 +vn -0.8109 0.5852 -0.0000 +vn 0.3060 0.9520 -0.0000 +vn -0.1077 0.9942 -0.0000 +vn -0.4972 -0.8676 -0.0000 +vn -0.8072 -0.5903 -0.0000 +vn -0.5027 0.8644 -0.0000 +vn -0.9999 -0.0033 -0.0105 +vn -1.0000 -0.0071 -0.0049 +vn -0.9998 -0.0144 -0.0167 +vn -0.9998 0.0134 -0.0140 +vn -0.9995 -0.0234 -0.0191 +vn -0.9997 -0.0195 -0.0126 +vn 0.6871 -0.7262 -0.0214 +vn 0.9841 0.1539 -0.0890 +vn -0.0016 0.9952 -0.0981 +vn -0.9999 -0.0063 -0.0082 +vn -0.9996 -0.0298 -0.0002 +vn -0.0912 -0.7183 -0.6898 +vn 0.0295 -0.0027 0.9996 +vn 0.0264 -0.0028 0.9996 +vn 0.0065 -0.0011 1.0000 +vn -0.0094 0.0173 0.9998 +vn -0.0091 0.0192 0.9998 +vn -0.0083 0.0185 0.9998 +vn -0.0872 -0.9909 -0.1022 +vn -0.0034 0.0158 -0.9999 +vn 0.0058 0.0162 -0.9999 +vn 0.8936 0.1754 0.4131 +vn 0.8878 -0.2032 0.4130 +vn 0.0937 -0.9323 -0.3495 +vn 0.4730 0.8088 -0.3494 +vn -0.0033 1.0000 -0.0003 +vn -0.0034 1.0000 -0.0000 +vn 0.9851 0.0990 -0.1407 +vn -0.0002 0.6962 -0.7178 +vn -0.0000 0.9980 -0.0625 +vn 0.0048 -1.0000 -0.0019 +vn 0.0040 -1.0000 -0.0011 +vn -0.0002 -0.0027 1.0000 +vn 0.0011 -0.0025 1.0000 +vn 0.5284 0.8490 -0.0032 +vn 0.7972 0.6037 -0.0000 +vn -0.0000 0.0164 -0.9999 +vn -0.0000 0.0327 0.9995 +vn -0.0000 0.2852 0.9585 +vn 0.0224 0.0333 0.9992 +vn -0.0032 -1.0000 -0.0000 +vn 0.9725 0.0300 0.2310 +vn -0.9719 -0.0648 -0.2263 +vn -0.9828 0.0237 0.1831 +vn 0.9525 -0.2613 -0.1562 +vn 0.9686 0.1448 -0.2022 +vn 0.9995 -0.0310 -0.0002 +vn 0.9999 -0.0065 -0.0086 +vn 0.3996 -0.4929 0.7729 +vn 0.3836 0.7520 -0.5361 +vn 0.3828 0.7516 -0.5373 +vn -0.0973 0.5972 0.7962 +vn 0.0212 0.1409 0.9898 +vn 0.0081 -0.0203 -0.9998 +vn 0.0110 -0.0303 -0.9995 +vn 0.0166 -0.0264 -0.9995 +vn -0.0082 0.0052 -1.0000 +vn -0.0189 0.0031 -0.9998 +vn -0.0053 0.0052 -1.0000 +vn 0.0165 -0.0264 -0.9995 +vn 0.0083 -0.0203 -0.9998 +vn -0.3623 -0.1676 0.9169 +vn 0.0201 -0.0057 -0.9998 +vn 0.0081 -0.0023 -1.0000 +vn 0.0006 0.0033 -1.0000 +vn -0.0003 0.0030 -1.0000 +vn 0.0015 0.9999 -0.0103 +vn -0.0032 1.0000 -0.0016 +vn -0.0030 -1.0000 -0.0016 +vn 0.9140 0.4056 -0.0016 +vn 0.9538 -0.1365 -0.2676 +vn 0.9537 -0.0289 -0.2993 +vn 0.9503 -0.0000 -0.3113 +vn 0.0142 0.0012 -0.9999 +vn 0.0115 -0.0069 -0.9999 +vn 0.0176 -0.0074 -0.9998 +vn 0.0191 0.0055 -0.9998 +vn -0.0113 -0.0062 -0.9999 +vn 0.0180 -0.0102 -0.9998 +vn 0.0063 0.0012 -1.0000 +vn 0.0379 -0.0230 -0.9990 +vn 0.0357 -0.0342 -0.9988 +vn -0.3729 0.9279 0.0038 +vn -0.3747 0.9272 0.0019 +vn 0.9100 -0.0505 0.4116 +vn 0.9151 -0.0470 0.4004 +vn 0.9908 0.1342 0.0165 +vn 0.9848 0.1740 -0.0006 +vn 0.9875 -0.1094 0.1136 +vn 0.6233 -0.7423 0.2458 +vn -0.0163 -0.9997 -0.0158 +vn 0.9996 0.0275 -0.0007 +vn 0.9998 0.0175 -0.0011 +vn 0.9998 0.0178 -0.0011 +vn 1.0000 0.0003 -0.0000 +vn -0.2911 0.8960 0.3352 +vn -0.4699 0.8139 0.3418 +vn -0.6854 0.5137 0.5161 +vn -0.8607 0.3832 0.3352 +vn -0.9136 0.4067 0.0003 +vn -0.6691 0.7432 0.0032 +vn -0.0014 -0.0017 1.0000 +vn -0.0079 0.0242 0.9997 +vn 0.0113 -0.0005 0.9999 +vn 0.0052 -0.0017 1.0000 +vn 0.0100 0.0008 1.0000 +vn 0.0219 0.0098 0.9997 +vn -0.0028 -0.0002 1.0000 +vn -0.0030 -0.0004 1.0000 +vn -0.0126 0.0217 0.9997 +vn -0.0078 0.0066 0.9999 +vn -0.0053 0.0017 1.0000 +vn -0.0021 -0.0010 1.0000 +vn -0.6258 0.7800 -0.0036 +vn -0.5583 -0.8296 0.0038 +vn -0.6874 -0.7262 -0.0075 +vn -0.0714 -0.0027 -0.9974 +vn -0.0683 -0.0028 -0.9977 +vn -0.0323 0.0156 -0.9994 +vn -0.0347 0.0174 -0.9992 +vn -0.0184 0.0055 -0.9998 +vn -0.9071 0.4209 -0.0000 +vn 0.7450 0.5238 0.4131 +vn 0.7063 -0.0395 0.7068 +vn 0.0006 0.0003 1.0000 +vn -0.0023 0.0048 1.0000 +vn -0.0101 0.0039 0.9999 +vn -0.0031 0.0053 1.0000 +vn 0.0067 0.0043 1.0000 +vn 0.0064 -0.0029 1.0000 +vn -0.0000 0.0001 1.0000 +vn -0.0001 -0.0000 1.0000 +vn -0.0002 -0.0001 1.0000 +vn -0.0003 -0.0004 1.0000 +vn 0.0003 -0.0004 1.0000 +vn 0.0002 -0.0001 1.0000 +vn 0.0502 0.0051 0.9987 +vn 0.0605 0.0030 0.9982 +vn 0.0473 0.0051 0.9989 +vn 0.0162 -0.0329 0.9993 +vn 0.0467 -0.0229 0.9986 +vn -0.9999 0.0167 -0.0002 +vn -0.9999 0.0166 -0.0002 +vn -0.9346 0.3557 -0.0000 +vn -0.9342 0.3568 -0.0002 +vn -0.9545 -0.0094 -0.2980 +vn -0.9584 -0.0547 -0.2802 +vn 0.0014 -0.9967 0.0809 +vn -0.0131 -0.9999 0.0094 +vn -0.0467 -0.9980 -0.0425 +vn -0.0167 -0.9667 -0.2554 +vn 0.0010 -0.9859 0.1676 +vn -0.0332 -0.9994 -0.0085 +vn 0.0598 -0.9982 -0.0001 +vn 0.9880 -0.1342 0.0770 +vn 0.9993 -0.0247 0.0276 +vn 0.9773 -0.2038 0.0573 +vn 0.9690 -0.2315 0.0865 +vn 0.9725 -0.2239 0.0642 +vn -0.9909 0.1330 0.0213 +vn -0.9936 0.1103 0.0229 +vn -0.9972 0.0742 -0.0029 +vn -0.9985 0.0524 0.0149 +vn -1.0000 -0.0049 0.0037 +vn -0.9999 -0.0116 -0.0006 +vn -1.0000 -0.0051 0.0015 +vn -1.0000 0.0016 -0.0005 +vn 0.2611 0.9648 -0.0304 +vn 0.0092 -0.0671 -0.9977 +vn -0.0097 0.0008 -1.0000 +vn 0.0014 -0.0563 -0.9984 +vn -0.0066 0.0063 -1.0000 +vn -0.0167 0.0132 -0.9998 +vn 0.0191 -0.0579 -0.9981 +vn -0.0261 -0.0183 -0.9995 +vn -0.0460 0.0158 -0.9988 +vn -0.2141 0.0549 -0.9753 +vn -0.2055 0.0399 -0.9779 +vn -0.0823 0.0220 -0.9964 +vn -0.0581 -0.0022 -0.9983 +vn -0.0202 0.1220 -0.9923 +vn -0.0008 -0.0015 -1.0000 +vn 0.0166 0.2081 -0.9780 +vn 0.0201 0.1943 -0.9807 +vn -0.0022 0.2634 -0.9647 +vn -0.9850 0.1712 0.0195 +vn -0.9776 0.2095 0.0217 +vn -0.9378 -0.0362 0.3452 +vn -0.9241 -0.0466 0.3792 +vn 0.0002 -0.0007 1.0000 +vn 0.0024 -0.0026 1.0000 +vn -0.0002 -0.0000 1.0000 +vn -0.0003 -0.0009 1.0000 +vt 0.296448 0.102843 +vt 0.381104 0.047947 +vt 0.035834 0.368077 +vt 0.260019 0.614243 +vt 0.318792 0.625190 +vt 0.275800 0.672218 +vt 0.064766 0.305619 +vt 0.214319 0.161856 +vt 0.375342 0.030583 +vt 0.007698 0.338314 +vt 0.029408 0.318256 +vt 0.043335 0.310187 +vt 0.318905 0.667648 +vt 0.252574 0.694311 +vt 0.236882 0.637031 +vt 0.150287 0.628071 +vt 0.161490 0.706348 +vt 0.155366 0.668298 +vt 0.158302 0.652484 +vt 0.161554 0.687117 +vt 0.159356 0.670738 +vt 0.177046 0.635712 +vt 0.113858 0.672367 +vt 0.172255 0.628996 +vt 0.099369 0.633504 +vt 0.170505 0.620102 +vt 0.100245 0.588370 +vt 0.172087 0.610476 +vt 0.193985 0.511804 +vt 0.184343 0.596378 +vt 0.152646 0.515062 +vt 0.206820 0.627110 +vt 0.277410 0.625302 +vt 0.267428 0.666574 +vt 0.192657 0.639020 +vt 0.171748 0.713811 +vt 0.184184 0.639184 +vt 0.199912 0.595309 +vt 0.231216 0.519947 +vt 0.209484 0.608292 +vt 0.277410 0.583179 +vt 0.201008 0.635047 +vt 0.169178 0.452166 +vt 0.078800 0.768428 +vt 0.075894 0.452870 +vt 0.064099 0.767980 +vt 0.061196 0.452764 +vt 0.323553 0.069332 +vt 0.329659 0.048130 +vt 0.388490 0.045773 +vt 0.180052 0.766554 +vt 0.293930 0.450084 +vt 0.291558 0.766986 +vt 0.365394 0.036567 +vt 0.393169 0.043399 +vt 0.379297 0.054638 +vt 0.379304 0.071635 +vt 0.371065 0.062010 +vt 0.668046 0.738449 +vt 0.668026 0.728691 +vt 0.697871 0.729790 +vt 0.325815 0.430384 +vt 0.338798 0.430384 +vt 0.336684 0.785453 +vt 0.343554 0.027453 +vt 0.375485 0.025070 +vt 0.355937 0.047164 +vt 0.281354 0.120599 +vt 0.298249 0.138538 +vt 0.063679 0.307987 +vt 0.047021 0.304828 +vt 0.197459 0.172409 +vt 0.116186 0.647469 +vt 0.167094 0.533190 +vt 0.144756 0.611156 +vt 0.083961 0.329606 +vt 0.085997 0.346730 +vt 0.067528 0.358456 +vt 0.073363 0.319224 +vt 0.058636 0.333248 +vt 0.211458 0.187373 +vt 0.005853 0.351113 +vt 0.046154 0.345112 +vt 0.037898 0.385539 +vt 0.725084 0.164647 +vt 0.723553 0.158385 +vt 0.727062 0.163206 +vt 0.711602 0.183175 +vt 0.715876 0.183996 +vt 0.710769 0.185812 +vt 0.739821 0.127397 +vt 0.753782 0.142282 +vt 0.706307 0.182228 +vt 0.698730 0.216346 +vt 0.685786 0.204282 +vt 0.718775 0.155720 +vt 0.715259 0.221941 +vt 0.713491 0.155905 +vt 0.722526 0.120807 +vt 0.715955 0.186917 +vt 0.733490 0.219325 +vt 0.708645 0.158709 +vt 0.704953 0.122675 +vt 0.721039 0.185231 +vt 0.750106 0.207316 +vt 0.705023 0.163741 +vt 0.689598 0.132342 +vt 0.727836 0.175925 +vt 0.725106 0.181335 +vt 0.703336 0.169962 +vt 0.678716 0.148426 +vt 0.728637 0.169479 +vt 0.760042 0.187005 +vt 0.703689 0.176461 +vt 0.674296 0.168043 +vt 0.761256 0.163594 +vt 0.681265 0.208398 +vt 0.676971 0.187712 +vt 0.743470 0.121033 +vt 0.695706 0.222422 +vt 0.723381 0.112937 +vt 0.714770 0.229775 +vt 0.702885 0.115790 +vt 0.736080 0.226501 +vt 0.685430 0.127255 +vt 0.755277 0.212407 +vt 0.673365 0.145709 +vt 0.766255 0.188961 +vt 0.751196 0.205325 +vt 0.760981 0.185314 +vt 0.755725 0.210130 +vt 0.767870 0.162564 +vt 0.483959 0.110852 +vt 0.969960 0.121605 +vt 0.483787 0.118039 +vt 0.484212 0.175076 +vt 0.969565 0.167729 +vt 0.969630 0.173987 +vt 0.484952 0.119474 +vt 0.970126 0.130178 +vt 0.484753 0.126396 +vt 0.484329 0.181867 +vt 0.969728 0.180245 +vt 0.969960 0.136435 +vt 0.484458 0.133149 +vt 0.484471 0.188497 +vt 0.969847 0.186503 +vt 0.969796 0.142694 +vt 0.484387 0.139652 +vt 0.484622 0.195187 +vt 0.969975 0.192760 +vt 0.969665 0.148951 +vt 0.484246 0.146449 +vt 0.484770 0.202114 +vt 0.970101 0.199017 +vt 0.969579 0.155210 +vt 0.484148 0.153512 +vt 0.484907 0.209290 +vt 0.970219 0.205274 +vt 0.969540 0.161470 +vt 0.484103 0.160766 +vt 0.970306 0.211532 +vt 0.485009 0.216570 +vt 0.759437 0.138254 +vt 0.043825 0.574278 +vt 0.066391 0.622018 +vt 0.038510 0.624672 +vt 0.178363 0.485327 +vt 0.132179 0.524952 +vt 0.119564 0.496854 +vt 0.205193 0.738509 +vt 0.240940 0.692312 +vt 0.258566 0.716764 +vt 0.236791 0.498723 +vt 0.260084 0.551333 +vt 0.223314 0.526436 +vt 0.094770 0.548661 +vt 0.072289 0.528583 +vt 0.145225 0.738509 +vt 0.109974 0.690139 +vt 0.152169 0.707241 +vt 0.310309 0.578357 +vt 0.285685 0.625051 +vt 0.282244 0.585959 +vt 0.079910 0.659637 +vt 0.053992 0.673528 +vt 0.297153 0.677889 +vt 0.177850 0.517458 +vt 0.071684 0.582983 +vt 0.198662 0.708515 +vt 0.283142 0.531868 +vt 0.091276 0.714321 +vt 0.484133 0.168018 +vt 0.920731 0.597940 +vt 0.903938 0.543036 +vt 0.942946 0.580578 +vt 0.905043 0.780290 +vt 0.853566 0.769454 +vt 0.891577 0.755450 +vt 0.855245 0.526323 +vt 0.812701 0.559133 +vt 0.804567 0.531906 +vt 0.718087 0.662365 +vt 0.754338 0.618031 +vt 0.746375 0.662248 +vt 0.943559 0.742509 +vt 0.937649 0.684279 +vt 0.964783 0.690499 +vt 0.754744 0.706425 +vt 0.760609 0.764453 +vt 0.729498 0.718611 +vt 0.729002 0.606054 +vt 0.777975 0.581612 +vt 0.937145 0.639146 +vt 0.964783 0.632964 +vt 0.813680 0.764929 +vt 0.856535 0.797414 +vt 0.805776 0.792238 +vt 0.852526 0.554309 +vt 0.921362 0.725386 +vt 0.759688 0.560014 +vt 0.271796 0.663565 +vt 0.313734 0.629211 +vt 0.772519 0.110747 +vt 0.709912 0.117729 +vt 0.709912 0.110747 +vt 0.772519 0.117729 +vt 0.709912 0.124711 +vt 0.778726 0.742693 +vt 0.772519 0.124711 +vt 0.709912 0.131692 +vt 0.772519 0.131692 +vt 0.709912 0.138674 +vt 0.772519 0.138674 +vt 0.709912 0.145656 +vt 0.772519 0.145656 +vt 0.709912 0.152638 +vt 0.772519 0.152638 +vt 0.709912 0.159619 +vt 0.772519 0.159619 +vt 0.709912 0.166601 +vt 0.772519 0.166601 +vt 0.709912 0.173583 +vt 0.709912 0.180565 +vt 0.772519 0.173583 +vt 0.772519 0.180565 +vt 0.709912 0.187547 +vt 0.772519 0.187547 +vt 0.709912 0.194528 +vt 0.709912 0.201510 +vt 0.772519 0.194528 +vt 0.772519 0.201510 +vt 0.709912 0.208492 +vt 0.772519 0.208492 +vt 0.581093 0.645132 +vt 0.603781 0.639512 +vt 0.608740 0.661388 +vt 0.726981 0.174407 +vt 0.723067 0.177597 +vt 0.725165 0.173608 +vt 0.727752 0.169119 +vt 0.725819 0.169174 +vt 0.726656 0.164150 +vt 0.724946 0.165095 +vt 0.723836 0.160349 +vt 0.722687 0.162043 +vt 0.719758 0.158341 +vt 0.719376 0.160520 +vt 0.715092 0.158507 +vt 0.715527 0.160721 +vt 0.710689 0.160853 +vt 0.711840 0.162704 +vt 0.707359 0.164961 +vt 0.705935 0.175548 +vt 0.707675 0.170501 +vt 0.707942 0.174918 +vt 0.705716 0.170151 +vt 0.709047 0.166164 +vt 0.725435 0.158006 +vt 0.728801 0.162746 +vt 0.762432 0.162790 +vt 0.730144 0.168771 +vt 0.755795 0.142495 +vt 0.706247 0.182073 +vt 0.698598 0.218101 +vt 0.684639 0.205881 +vt 0.720407 0.155568 +vt 0.742762 0.127448 +vt 0.715944 0.186699 +vt 0.710628 0.185394 +vt 0.484476 0.179366 +vt 0.970192 0.175478 +vt 0.970245 0.181740 +vt 0.177028 0.485893 +vt 0.222095 0.526742 +vt 0.235358 0.499123 +vt 0.144451 0.739355 +vt 0.109116 0.691060 +vt 0.090460 0.715285 +vt 0.118256 0.497530 +vt 0.093555 0.549427 +vt 0.130944 0.525611 +vt 0.258511 0.551039 +vt 0.281310 0.531966 +vt 0.257165 0.717852 +vt 0.197884 0.709488 +vt 0.204249 0.739355 +vt 0.037408 0.625657 +vt 0.070523 0.583838 +vt 0.042609 0.575184 +vt 0.311181 0.630042 +vt 0.269794 0.664861 +vt 0.294508 0.679219 +vt 0.176623 0.517982 +vt 0.280183 0.585816 +vt 0.307659 0.577845 +vt 0.151381 0.708137 +vt 0.071004 0.529375 +vt 0.272542 0.756816 +vt 0.319458 0.454369 +vt 0.319458 0.756816 +vt 0.195505 0.728782 +vt 0.158795 0.772174 +vt 0.164003 0.723040 +vt 0.854491 0.798991 +vt 0.889910 0.757267 +vt 0.903185 0.782258 +vt 0.053035 0.674542 +vt 0.065319 0.622936 +vt 0.777220 0.743735 +vt 0.803814 0.793429 +vt 0.758935 0.765339 +vt 0.055645 0.560553 +vt 0.085835 0.571116 +vt 0.052945 0.594360 +vt 0.195487 0.652780 +vt 0.126933 0.516508 +vt 0.195505 0.516517 +vt 0.133283 0.633683 +vt 0.125966 0.664022 +vt 0.091024 0.690109 +vt 0.262609 0.630973 +vt 0.152787 0.575424 +vt 0.262609 0.575424 +vt 0.225552 0.202243 +vt 0.199418 0.586336 +vt 0.819994 0.746843 +vt 0.763814 0.730207 +vt 0.819994 0.730196 +vt 0.163478 0.695413 +vt 0.163446 0.561456 +vt 0.173352 0.560832 +vt 0.709548 0.178646 +vt 0.708231 0.179960 +vt 0.697912 0.746604 +vt 0.886978 0.568216 +vt 0.907767 0.564368 +vt 0.911018 0.585272 +vt 0.273287 0.553544 +vt 0.232715 0.507377 +vt 0.181062 0.777784 +vt 0.180989 0.432590 +vt 0.211081 0.695672 +vt 0.935628 0.547777 +vt 0.928335 0.534586 +vt 0.957061 0.514718 +vt 0.953673 0.541275 +vt 0.264483 0.609153 +vt 0.214574 0.720008 +vt 0.215429 0.609151 +vt 0.820524 0.552760 +vt 0.816236 0.564136 +vt 0.818580 0.604308 +vt 0.977054 0.746836 +vt 0.175301 0.801976 +vt 0.161807 0.439493 +vt 0.174456 0.439519 +vt 0.249368 0.572381 +vt 0.157624 0.676127 +vt 0.157559 0.572357 +vt 0.252242 0.555075 +vt 0.262949 0.582689 +vt 0.250389 0.588987 +vt 0.195569 0.516508 +vt 0.325918 0.542286 +vt 0.222901 0.642861 +vt 0.267417 0.588326 +vt 0.271105 0.564524 +vt 0.171193 0.685318 +vt 0.151737 0.608220 +vt 0.169451 0.570217 +vt 0.127832 0.649666 +vt 0.152545 0.627205 +vt 0.172283 0.627297 +vt 0.127832 0.675813 +vt 0.216734 0.725573 +vt 0.127832 0.725573 +vt 0.105909 0.462751 +vt 0.021077 0.782399 +vt 0.021077 0.462751 +vt 0.065793 0.457768 +vt 0.084619 0.458339 +vt 0.108210 0.782802 +vt 0.234271 0.474384 +vt 0.298671 0.450845 +vt 0.298671 0.474384 +vt 0.881052 0.748887 +vt 0.894087 0.499407 +vt 0.894087 0.786407 +vt 0.827150 0.688128 +vt 0.883392 0.752398 +vt 0.896428 0.789917 +vt 0.873114 0.583614 +vt 0.824810 0.684617 +vt 0.900819 0.796593 +vt 0.886821 0.542960 +vt 0.900819 0.504088 +vt 0.830423 0.604345 +vt 0.853632 0.607711 +vt 0.235549 0.782542 +vt 0.194646 0.438622 +vt 0.227326 0.431587 +vt 0.164786 0.785449 +vt 0.162663 0.430379 +vt 0.175655 0.430379 +vt 0.242453 0.765105 +vt 0.263009 0.523159 +vt 0.309742 0.542637 +vt 0.264154 0.457185 +vt 0.298591 0.506679 +vt 0.196716 0.498795 +vt 0.200462 0.439717 +vt 0.320799 0.580957 +vt 0.278448 0.589160 +vt 0.116297 0.654629 +vt 0.186553 0.635602 +vt 0.165229 0.682820 +vt 0.105918 0.485981 +vt 0.134656 0.504380 +vt 0.136066 0.481351 +vt 0.309429 0.714666 +vt 0.301416 0.537221 +vt 0.329610 0.511479 +vt 0.300178 0.485482 +vt 0.321744 0.702481 +vt 0.330347 0.665420 +vt 0.288229 0.669719 +vt 0.331049 0.569269 +vt 0.355610 0.485981 +vt 0.314563 0.455848 +vt 0.314762 0.619629 +vt 0.308023 0.582873 +vt 0.877023 0.547152 +vt 0.900329 0.554458 +vt 0.932482 0.511002 +vt 0.914183 0.524699 +vt 0.347823 0.569516 +vt 0.339103 0.628659 +vt 0.362347 0.651411 +vt 0.361841 0.618071 +vt 0.358811 0.683852 +vt 0.364007 0.586030 +vt 0.364503 0.554248 +vt 0.953081 0.541991 +vt 0.929418 0.567271 +vt 0.907393 0.539597 +vt 0.950784 0.536249 +vt 0.934390 0.516693 +vt 0.965839 0.506925 +vt 0.960858 0.575264 +vt 0.928899 0.592619 +vt 0.900072 0.564677 +vt 0.925604 0.545762 +vt 0.898703 0.524833 +vt 0.942330 0.573348 +vt 0.902608 0.570019 +vt 0.965839 0.575300 +vt 0.877278 0.537666 +vt 0.359814 0.520250 +vt 0.105918 0.586040 +vt 0.122763 0.606554 +vt 0.122160 0.568036 +vt 0.105918 0.651411 +vt 0.134501 0.651986 +vt 0.116857 0.686917 +vt 0.128578 0.540344 +vt 0.105918 0.519517 +vt 0.179299 0.610462 +vt 0.206268 0.646985 +vt 0.195687 0.585356 +vt 0.105918 0.554738 +vt 0.158694 0.599897 +vt 0.147941 0.550950 +vt 0.165834 0.671052 +vt 0.668850 0.167746 +vt 0.179299 0.594155 +vt 0.210315 0.672096 +vt 0.221813 0.605981 +vt 0.238193 0.651293 +vt 0.241063 0.616632 +vt 0.219795 0.566854 +vt 0.183376 0.447393 +vt 0.166142 0.483401 +vt 0.203060 0.490554 +vt 0.140665 0.679871 +vt 0.175223 0.708304 +vt 0.175223 0.447393 +vt 0.243353 0.585256 +vt 0.241335 0.554039 +vt 0.237966 0.475216 +vt 0.232297 0.447393 +vt 0.207928 0.489377 +vt 0.240476 0.513146 +vt 0.251532 0.481330 +vt 0.900465 0.507474 +vt 0.921065 0.518190 +vt 0.224365 0.534698 +vt 0.247604 0.683125 +vt 0.265852 0.521012 +vt 0.259271 0.647142 +vt 0.270424 0.558400 +vt 0.279577 0.636261 +vt 0.263947 0.602862 +vt 0.285541 0.597356 +vt 0.259965 0.475042 +vt 0.105918 0.683801 +vt 0.109995 0.708304 +vt 0.900607 0.554110 +vt 0.906244 0.530861 +vt 0.918100 0.552857 +vt 0.903498 0.502883 +vt 0.877735 0.522424 +vt 0.140284 0.563354 +vt 0.147562 0.537185 +vt 0.157422 0.547084 +vt 0.352558 0.651996 +vt 0.351599 0.694222 +vt 0.264200 0.103081 +vt 0.143507 0.615307 +vt 0.167506 0.692768 +vt 0.114162 0.579622 +vt 0.138423 0.558381 +vt 0.163878 0.517052 +vt 0.182157 0.540271 +vt 0.101175 0.495838 +vt 0.144662 0.457293 +vt 0.211297 0.516323 +vt 0.322901 0.436996 +vt 0.352558 0.538438 +vt 0.891052 0.677793 +vt 0.917004 0.511202 +vt 0.917004 0.792988 +vt 0.878415 0.705410 +vt 0.893073 0.634076 +vt 0.920336 0.516840 +vt 0.920336 0.798718 +vt 0.846158 0.681812 +vt 0.275288 0.572357 +vt 0.275288 0.624832 +vt 0.249398 0.594995 +vt 0.209176 0.709866 +vt 0.249368 0.676127 +vt 0.167421 0.491426 +vt 0.124294 0.471366 +vt 0.162808 0.460306 +vt 0.957061 0.564870 +vt 0.927904 0.563325 +vt 0.150752 0.576637 +vt 0.190834 0.577182 +vt 0.170151 0.604581 +vt 0.128181 0.582143 +vt 0.109668 0.601489 +vt 0.117887 0.576989 +vt 0.093949 0.599522 +vt 0.114144 0.574560 +vt 0.129560 0.603106 +vt 0.212519 0.604928 +vt 0.212519 0.558390 +vt 0.231646 0.613041 +vt 0.227152 0.648851 +vt 0.201506 0.617369 +vt 0.139457 0.483153 +vt 0.077627 0.552409 +vt 0.101353 0.474052 +vt 0.165272 0.528563 +vt 0.207887 0.557441 +vt 0.120923 0.575474 +vt 0.170479 0.601100 +vt 0.206597 0.460159 +vt 0.086526 0.503205 +vt 0.132175 0.499398 +vt 0.206821 0.490684 +vt 0.100525 0.547157 +vt 0.063972 0.533756 +vt 0.132613 0.525187 +vt 0.190409 0.519748 +vt 0.170804 0.556982 +vt 0.121105 0.677240 +vt 0.205558 0.648994 +vt 0.131040 0.698669 +vt 0.120791 0.604036 +vt 0.195827 0.623937 +vt 0.207649 0.610159 +vt 0.212359 0.602400 +vt 0.287078 0.712267 +vt 0.252897 0.802356 +vt 0.128758 0.712271 +vt 0.243796 0.777942 +vt 0.211881 0.741978 +vt 0.212506 0.605245 +vt 0.331206 0.533544 +vt 0.331202 0.809653 +vt 0.250386 0.590767 +vt 0.225808 0.675074 +vt 0.193918 0.686639 +vt 0.193915 0.675082 +vt 0.145648 0.587952 +vt 0.153023 0.628692 +vt 0.115329 0.787499 +vt 0.221666 0.444608 +vt 0.221666 0.787392 +vt 0.337913 0.036846 +vt 0.800736 0.658409 +vt 0.694096 0.708634 +vt 0.748012 0.622240 +vt 0.162198 0.707502 +vt 0.114327 0.626249 +vt 0.092619 0.489940 +vt 0.135367 0.489934 +vt 0.134341 0.490121 +vt 0.581829 0.656266 +vt 0.582205 0.643874 +vt 0.608643 0.657856 +vt 0.263579 0.448575 +vt 0.267297 0.448675 +vt 0.264232 0.688301 +vt 0.118691 0.632067 +vt 0.195676 0.634976 +vt 0.367186 0.436037 +vt 0.369064 0.435460 +vt 0.369064 0.446998 +vt 0.157595 0.652282 +vt 0.139370 0.699960 +vt 0.118811 0.545559 +vt 0.176974 0.602004 +vt 0.206796 0.712223 +vt 0.234698 0.802319 +vt 0.169544 0.439544 +vt 0.234698 0.439493 +vt 0.562797 0.641426 +vt 0.565453 0.666175 +vt 0.627405 0.667443 +vt 0.245196 0.803897 +vt 0.159624 0.441498 +vt 0.244492 0.440999 +vt 0.392020 0.638012 +vt 0.045367 0.655659 +vt 0.045367 0.638014 +vt 0.284583 0.452887 +vt 0.301479 0.768428 +vt 0.283085 0.768364 +vt 0.172083 0.767614 +vt 0.150875 0.627246 +vt 0.186150 0.587085 +vt 0.208564 0.688133 +vt 0.084286 0.450002 +vt 0.071571 0.766388 +vt 0.069521 0.449747 +vt 0.178000 0.449680 +vt 0.086339 0.766986 +vt 0.034390 0.322797 +vt 0.716106 0.183929 +vt 0.712436 0.180963 +vt 0.716024 0.181572 +vt 0.206153 0.600413 +vt 0.719885 0.180488 +vt 0.711682 0.182911 +vt 0.332646 0.435561 +vt 0.350092 0.816437 +vt 0.332646 0.816524 +vt 0.675346 0.188923 +vt 0.721672 0.185008 +vt 0.716280 0.222162 +vt 0.709349 0.158612 +vt 0.706700 0.120767 +vt 0.714728 0.155740 +vt 0.725522 0.119727 +vt 0.734665 0.217607 +vt 0.703313 0.169968 +vt 0.677441 0.147810 +vt 0.705383 0.163699 +vt 0.729202 0.175190 +vt 0.726116 0.180718 +vt 0.689513 0.130771 +vt 0.666470 0.167805 +vt 0.669341 0.191107 +vt 0.761656 0.138536 +vt 0.679626 0.211026 +vt 0.716559 0.229434 +vt 0.696121 0.224894 +vt 0.746698 0.120586 +vt 0.704784 0.113720 +vt 0.726339 0.112168 +vt 0.737338 0.224195 +vt 0.685433 0.125314 +vt 0.672199 0.144669 +vt 0.484104 0.145241 +vt 0.969961 0.144158 +vt 0.969947 0.150422 +vt 0.484567 0.193884 +vt 0.970285 0.200529 +vt 0.484542 0.200953 +vt 0.672631 0.168500 +vt 0.703606 0.176529 +vt 0.484495 0.207757 +vt 0.970229 0.213055 +vt 0.484456 0.214348 +vt 0.484131 0.152176 +vt 0.969979 0.156687 +vt 0.970252 0.206792 +vt 0.484297 0.165508 +vt 0.970044 0.162951 +vt 0.970121 0.169214 +vt 0.484202 0.158872 +vt 0.484393 0.172304 +vt 0.484786 0.111975 +vt 0.970932 0.118244 +vt 0.484720 0.118516 +vt 0.767252 0.187756 +vt 0.769124 0.162040 +vt 0.484617 0.116667 +vt 0.970142 0.131630 +vt 0.484400 0.123593 +vt 0.484136 0.138057 +vt 0.970029 0.137894 +vt 0.484235 0.130771 +vt 0.484536 0.186623 +vt 0.970285 0.188003 +vt 0.970306 0.194266 +vt 0.239668 0.693930 +vt 0.216734 0.675813 +vt 0.904289 0.545005 +vt 0.852814 0.555862 +vt 0.855781 0.527901 +vt 0.728248 0.719312 +vt 0.759854 0.560902 +vt 0.812928 0.560404 +vt 0.777973 0.582655 +vt 0.717332 0.663006 +vt 0.753583 0.707327 +vt 0.936896 0.641000 +vt 0.942805 0.582769 +vt 0.964030 0.634771 +vt 0.728744 0.606756 +vt 0.753991 0.618934 +vt 0.811945 0.766199 +vt 0.805021 0.533098 +vt 0.920609 0.599900 +vt 0.964030 0.692306 +vt 0.919977 0.727346 +vt 0.936391 0.686133 +vt 0.745620 0.663114 +vt 0.942193 0.744700 +vt 0.709912 0.215474 +vt 0.350146 0.436640 +vt 0.367133 0.806539 +vt 0.350190 0.806571 +vt 0.107097 0.627693 +vt 0.108184 0.620317 +vt 0.119453 0.618151 +vt 0.937565 0.584611 +vt 0.868521 0.556075 +vt 0.960858 0.512637 +vt 0.105918 0.617345 +vt 0.118984 0.476287 +vt 0.108501 0.453370 +vt 0.084558 0.560630 +vt 0.105941 0.596325 +vt 0.310102 0.447416 +vt 0.310102 0.708280 +vt 0.054717 0.479533 +vt 0.076264 0.466463 +vt 0.097811 0.465749 +vt 0.191332 0.627510 +vt 0.133562 0.719949 +vt 0.121285 0.705451 +vt 0.131344 0.555061 +vt 0.211034 0.500194 +vt 0.724507 0.179085 +vt 0.180789 0.604721 +vt 0.117261 0.569132 +vt 0.288234 0.549025 +vt 0.146500 0.588610 +vt 0.166408 0.803908 +vt 0.231871 0.441085 +vt 0.231871 0.803909 +vt 0.043980 0.638066 +vt 0.390629 0.657331 +vt 0.043980 0.657330 +vt 0.588528 0.681834 +vt 0.574882 0.676320 +vt 0.630206 0.655378 +vt 0.220758 0.706446 +vt 0.233541 0.771678 +vt 0.152011 0.579100 +vt 0.056424 0.367415 +vt 0.267316 0.448783 +vt 0.274784 0.448575 +vt 0.272279 0.536226 +vt 0.099764 0.465749 +vt 0.099764 0.794045 +vt 0.028991 0.741096 +vt 0.141547 0.711432 +vt 0.208794 0.655666 +vt 0.320795 0.572740 +vt 0.307950 0.589772 +vt 0.232351 0.532549 +vt 0.180003 0.767981 +vt 0.133760 0.767968 +vt 0.134369 0.493727 +vt 0.227815 0.649188 +vt 0.232268 0.612759 +vt 0.269325 0.704233 +vt 0.246728 0.630194 +vt 0.197348 0.602668 +vt 0.282628 0.491928 +vt 0.135289 0.489242 +vt 0.176745 0.631828 +vt 0.157863 0.655488 +vt 0.109154 0.440439 +vt 0.099688 0.459852 +vt 0.136487 0.446954 +vt 0.232297 0.708304 +vt 0.238974 0.683097 +vt 0.008480 0.800988 +vt 0.407403 0.447459 +vt 0.036793 0.828524 +vt 0.359842 0.504845 +vt 0.367112 0.469866 +vt 0.363822 0.620812 +vt 0.685894 0.604739 +vt 0.792590 0.651454 +vt 0.740616 0.688691 +vt 0.258538 0.547976 +vt 0.225461 0.484605 +vt 0.167856 0.484688 +vt 0.204303 0.450095 +vt 0.226143 0.444502 +vt 0.119805 0.787392 +vt 0.119805 0.444608 +vt 0.194262 0.588454 +vt 0.256279 0.552826 +vt 0.199364 0.595218 +vt 0.187505 0.584542 +vt 0.229036 0.526209 +vt 0.271948 0.591593 +vt 0.201797 0.603654 +vt 0.201242 0.612132 +vt 0.256321 0.674292 +vt 0.198121 0.619076 +vt 0.192992 0.623455 +vt 0.227234 0.703855 +vt 0.116170 0.673909 +vt 0.169500 0.610001 +vt 0.173624 0.617454 +vt 0.099949 0.631784 +vt 0.168259 0.601429 +vt 0.166956 0.518822 +vt 0.174141 0.587280 +vt 0.139178 0.530065 +vt 0.186474 0.624717 +vt 0.147997 0.705299 +vt 0.179823 0.622432 +vt 0.725826 0.175056 +vt 0.722153 0.178139 +vt 0.724044 0.174342 +vt 0.726387 0.169758 +vt 0.724491 0.169903 +vt 0.723385 0.165642 +vt 0.722202 0.160686 +vt 0.721012 0.162359 +vt 0.718280 0.158582 +vt 0.717854 0.160627 +vt 0.713972 0.158669 +vt 0.714406 0.160768 +vt 0.709989 0.161008 +vt 0.711191 0.162751 +vt 0.706988 0.165168 +vt 0.708677 0.166285 +vt 0.705490 0.170262 +vt 0.707388 0.170569 +vt 0.707675 0.175019 +vt 0.708001 0.180219 +vt 0.705848 0.175585 +vt 0.709457 0.178808 +vt 0.712362 0.181200 +vt 0.715822 0.181857 +vt 0.720089 0.182722 +vt 0.719269 0.180787 +vt 0.723539 0.179542 +vt 0.180390 0.584076 +vt 0.197163 0.515281 +vt 0.271948 0.634806 +vt 0.115685 0.553724 +vt 0.169944 0.593389 +vt 0.100883 0.588970 +vt 0.192291 0.593771 +vt 0.210252 0.617955 +vt 0.238889 0.694713 +vt 0.339891 0.033820 +vt 0.360458 0.014530 +vt 0.022446 0.385164 +vt 0.104553 0.285332 +vt 0.023490 0.369930 +vt 0.026427 0.358619 +vt 0.169356 0.207893 +vt 0.668329 0.747110 +vt 0.165771 0.785453 +vt 0.165651 0.423324 +vt 0.349524 0.013035 +vt 0.215519 0.749251 +vt 0.200561 0.766772 +vt 0.168820 0.697328 +vt 0.175150 0.483896 +vt 0.188801 0.458524 +vt 0.201868 0.496878 +vt 0.215519 0.471506 +vt 0.023921 0.334271 +vt 0.671600 0.189680 +vt 0.970110 0.115337 +vt 0.970306 0.123922 +vt 0.890665 0.568032 +vt 0.581093 0.657225 +vt 0.579706 0.651105 +vt 0.585016 0.640340 +vt 0.590796 0.637557 +vt 0.597433 0.637264 +vt 0.608740 0.643912 +vt 0.611455 0.649704 +vt 0.611455 0.655885 +vt 0.603781 0.665260 +vt 0.597433 0.666832 +vt 0.590796 0.665833 +vt 0.585016 0.662435 +vt 0.720710 0.182424 +vt 0.280470 0.626193 +vt 0.272542 0.454369 +vt 0.851770 0.771006 +vt 0.078947 0.660579 +vt 0.054201 0.526134 +vt 0.152787 0.630973 +vt 0.763814 0.746853 +vt 0.202973 0.560832 +vt 0.202973 0.695413 +vt 0.211017 0.432541 +vt 0.211037 0.512599 +vt 0.211827 0.777736 +vt 0.215312 0.525547 +vt 0.264366 0.525478 +vt 0.265426 0.720008 +vt 0.977054 0.730190 +vt 0.253847 0.439630 +vt 0.253847 0.802453 +vt 0.161667 0.802553 +vt 0.325918 0.642861 +vt 0.194508 0.627297 +vt 0.216734 0.649666 +vt 0.216734 0.627297 +vt 0.127816 0.627297 +vt 0.105909 0.782399 +vt 0.108210 0.457768 +vt 0.023377 0.780946 +vt 0.023377 0.457768 +vt 0.044585 0.457768 +vt 0.234271 0.450827 +vt 0.848498 0.685322 +vt 0.211155 0.787793 +vt 0.335787 0.423324 +vt 0.335699 0.785449 +vt 0.290788 0.765173 +vt 0.189640 0.774772 +vt 0.175485 0.749677 +vt 0.197104 0.735777 +vt 0.195938 0.458524 +vt 0.165712 0.528641 +vt 0.211259 0.475708 +vt 0.211259 0.760871 +vt 0.191836 0.630793 +vt 0.201181 0.641632 +vt 0.161801 0.803719 +vt 0.128769 0.441635 +vt 0.287078 0.441635 +vt 0.211243 0.432637 +vt 0.243950 0.432743 +vt 0.211825 0.777842 +vt 0.239777 0.809653 +vt 0.236235 0.574344 +vt 0.228178 0.436438 +vt 0.332137 0.437634 +vt 0.108370 0.457995 +vt 0.293038 0.458286 +vt 0.246640 0.543184 +vt 0.293038 0.556655 +vt 0.150823 0.543181 +vt 0.109026 0.554322 +vt 0.174987 0.612558 +vt 0.221723 0.612794 +vt 0.174924 0.563657 +vt 0.221713 0.565123 +vt 0.225811 0.686631 +vt 0.115329 0.444502 +vt 0.977611 0.684219 +vt 0.953285 0.706882 +vt 0.701874 0.553659 +vt 0.702069 0.527374 +vt 0.704813 0.560928 +vt 0.092820 0.767961 +vt 0.585750 0.639317 +vt 0.591029 0.636927 +vt 0.597039 0.637275 +vt 0.602747 0.640193 +vt 0.607057 0.645239 +vt 0.609112 0.651531 +vt 0.606007 0.663036 +vt 0.590549 0.665540 +vt 0.601674 0.666302 +vt 0.596168 0.667244 +vt 0.585313 0.661826 +vt 0.580781 0.649872 +vt 0.267297 0.783587 +vt 0.259032 0.783285 +vt 0.108846 0.681140 +vt 0.103788 0.649857 +vt 0.170248 0.802442 +vt 0.570250 0.630345 +vt 0.561088 0.654029 +vt 0.575159 0.676023 +vt 0.588782 0.681545 +vt 0.603793 0.681956 +vt 0.617443 0.676725 +vt 0.631890 0.655009 +vt 0.597074 0.620271 +vt 0.630779 0.642388 +vt 0.623624 0.631208 +vt 0.611752 0.623170 +vt 0.582328 0.622690 +vt 0.154550 0.804507 +vt 0.392020 0.658075 +vt 0.302976 0.452951 +vt 0.259270 0.751033 +vt 0.240884 0.770341 +vt 0.229212 0.441980 +vt 0.259270 0.458646 +vt 0.216825 0.498419 +vt 0.350092 0.435460 +vt 0.970960 0.111975 +vt 0.970306 0.125366 +vt 0.890824 0.569849 +vt 0.772519 0.215474 +vt 0.367133 0.435460 +vt 0.097811 0.792171 +vt 0.027038 0.518698 +vt 0.022050 0.790931 +vt 0.048570 0.460209 +vt 0.369430 0.460209 +vt 0.393986 0.531106 +vt 0.357472 0.524564 +vt 0.057138 0.544589 +vt 0.016196 0.540388 +vt 0.234035 0.602324 +vt 0.208545 0.673246 +vt 0.166408 0.441084 +vt 0.390629 0.638066 +vt 0.565141 0.666479 +vt 0.560742 0.654326 +vt 0.562422 0.641703 +vt 0.569858 0.630592 +vt 0.581929 0.622903 +vt 0.596678 0.620440 +vt 0.611359 0.623268 +vt 0.623116 0.631113 +vt 0.630113 0.642341 +vt 0.626759 0.667862 +vt 0.617032 0.677247 +vt 0.603542 0.682270 +vt 0.238861 0.434065 +vt 0.208361 0.516967 +vt 0.257646 0.452955 +vt 0.257646 0.754262 +vt 0.188162 0.618478 +vt 0.274784 0.803410 +vt 0.270640 0.803271 +vt 0.078217 0.793331 +vt 0.056670 0.780261 +vt 0.024003 0.468863 +vt 0.307951 0.808658 +vt 0.228621 0.808658 +vt 0.227029 0.435583 +vt 0.328843 0.434552 +vt 0.179789 0.489959 +vt 0.332118 0.585098 +vt 0.332118 0.698790 +vt 0.309212 0.586099 +vt 0.308210 0.697854 +vt 0.285450 0.699257 +vt 0.271271 0.566606 +vt 0.252657 0.705153 +vt 0.140966 0.607404 +vt 0.140973 0.491835 +vt 0.282628 0.686931 +vt 0.267629 0.707508 +vt 0.267267 0.681966 +vt 0.157303 0.703261 +vt 0.151510 0.703269 +vt 0.153431 0.677036 +vt 0.140412 0.684992 +vt 0.280459 0.490002 +vt 0.208429 0.606816 +vt 0.280459 0.608219 +vt 0.242980 0.600630 +vt 0.379091 0.419923 +vt 0.028126 0.733572 +vt 0.029621 0.521536 +vt 0.064034 0.703794 +vt 0.065764 0.521765 +vt 0.068554 0.555674 +vt 0.074971 0.734624 +vt 0.108057 0.662705 +vt 0.109927 0.596019 +vt 0.229392 0.641886 +vt 0.230621 0.621945 +vt 0.291265 0.660773 +vt 0.292944 0.600726 +vt 0.334275 0.701102 +vt 0.337630 0.559808 +vt 0.367112 0.791321 +vt 0.356079 0.791468 +vt 0.358325 0.760311 +vt 0.356289 0.469829 +vt 0.699040 0.751173 +vt 0.696774 0.785087 +vt 0.945083 0.602988 +vt 0.969409 0.625257 +vt 0.377077 0.450759 +vt 0.303950 0.504075 +vt 0.377111 0.473918 +vt 0.237685 0.573495 +vt 0.225603 0.582865 +vt 0.016154 0.475399 +vt 0.016119 0.451280 +vt 0.085701 0.510511 +vt 0.167998 0.582865 +vt 0.226143 0.787499 +vt 0.188554 0.710454 +s 0 +f 2/1/1 4/2/1 5/3/1 +f 13/4/2 14/5/2 10/6/2 +f 9/7/3 1/8/3 5/3/3 +f 1/8/4 2/1/4 5/3/4 +f 2/1/5 3/9/5 4/2/5 +f 5/3/6 6/10/6 7/11/6 +f 7/11/7 8/12/7 5/3/7 +f 8/12/8 9/7/8 5/3/8 +f 15/13/9 10/6/9 14/5/9 +f 10/6/10 11/14/10 12/15/10 +f 13/4/11 10/6/11 12/15/11 +s 1 +f 16/16/12 17/17/13 18/18/14 +f 19/19/15 20/20/16 18/21/17 +f 22/22/18 24/23/19 21/24/19 +f 21/24/19 29/25/20 28/26/21 +f 28/26/21 32/27/22 31/28/22 +f 37/29/23 39/30/24 36/31/24 +f 41/32/25 43/33/26 40/34/25 +f 45/35/27 47/36/28 44/37/28 +f 49/38/29 37/29/23 48/39/29 +f 43/33/26 51/40/30 50/41/30 +f 40/34/25 52/42/31 41/32/25 +f 61/43/32 63/44/32 64/45/32 +f 64/45/33 65/46/33 66/47/33 +f 75/48/34 76/49/35 69/50/36 +f 77/51/37 79/52/38 80/53/39 +f 81/54/40 83/55/41 84/56/42 +f 84/56/43 4/57/44 3/58/45 +f 87/59/46 88/60/47 89/61/48 +f 92/62/49 93/63/50 94/64/50 +f 71/65/51 82/66/52 81/54/40 +f 95/67/53 71/65/51 81/54/40 +f 95/67/53 84/56/42 3/58/54 +f 96/68/55 3/58/54 2/69/56 +f 99/70/57 75/71/58 74/72/59 +f 62/73/60 104/74/61 105/75/62 +f 108/76/63 9/77/64 8/78/65 +f 99/70/57 98/79/66 107/80/67 +f 108/76/63 98/79/66 97/81/68 +f 68/82/69 109/83/70 6/84/71 +f 113/85/72 126/86/73 125/87/74 +f 122/88/75 123/89/75 134/90/75 +f 125/87/76 140/91/77 141/92/78 +f 135/93/79 143/94/80 142/95/81 +f 128/96/82 140/91/77 126/86/83 +f 134/90/84 145/97/85 143/94/80 +f 127/98/86 144/99/87 128/96/82 +f 133/100/88 147/101/89 145/97/85 +f 139/102/90 146/103/91 127/98/86 +f 132/104/92 149/105/93 147/101/89 +f 138/106/94 148/107/95 139/102/90 +f 130/108/96 149/105/93 131/109/97 +f 137/110/98 150/111/99 138/106/94 +f 129/112/100 151/113/101 130/108/96 +f 136/114/102 152/115/103 137/110/98 +f 125/87/76 153/116/104 129/112/100 +f 155/117/105 154/118/106 142/95/81 +f 157/119/107 141/92/78 140/91/77 +f 159/120/108 142/95/81 143/94/80 +f 160/121/109 140/91/77 144/99/87 +f 159/120/108 145/97/85 161/122/110 +f 144/99/87 162/123/111 160/121/109 +f 161/122/110 147/101/89 163/124/112 +f 146/103/91 164/125/113 162/123/111 +f 147/101/89 165/126/114 163/124/112 +f 148/107/95 166/127/115 164/125/113 +f 149/105/93 167/128/116 165/126/114 +f 172/129/117 173/130/118 169/131/119 +f 167/128/116 153/116/104 174/132/120 +f 154/118/106 135/93/79 142/95/81 +f 175/133/121 158/134/122 176/135/123 +f 177/136/124 156/137/125 155/138/105 +f 176/139/123 157/140/107 179/141/126 +f 180/142/127 155/138/105 159/143/108 +f 179/141/126 160/144/109 181/145/128 +f 182/146/129 159/143/108 161/147/110 +f 181/145/128 162/148/111 183/149/130 +f 184/150/131 161/147/110 163/151/112 +f 183/149/130 164/152/113 185/153/132 +f 186/154/133 163/151/112 165/155/114 +f 185/153/132 166/156/115 187/157/134 +f 188/158/135 165/155/114 167/159/116 +f 187/157/134 189/160/136 190/161/137 +f 188/158/135 174/162/120 175/163/121 +f 174/132/120 141/92/78 158/164/122 +f 191/165/138 182/166/139 192/167/140 +f 193/168/141 178/169/142 194/170/143 +f 195/171/144 176/172/145 196/173/146 +f 197/174/147 185/175/148 187/176/149 +f 194/170/143 177/177/150 199/178/151 +f 200/179/152 186/180/153 188/181/154 +f 202/182/155 181/183/156 183/184/157 +f 192/167/140 184/185/158 204/186/159 +f 176/172/145 205/187/160 196/173/146 +f 193/168/141 187/176/149 190/188/161 +f 199/178/151 180/189/162 191/165/138 +f 200/179/152 175/190/163 195/171/144 +f 202/182/155 185/175/148 198/191/164 +f 204/186/159 186/180/153 201/192/165 +f 178/193/166 189/160/136 156/137/125 +f 207/194/167 209/195/168 206/196/167 +f 210/197/169 212/198/170 213/199/169 +f 215/200/171 217/201/172 214/202/172 +f 218/203/173 220/204/174 221/205/173 +f 223/206/175 225/207/176 222/208/176 +f 227/209/177 229/210/178 226/211/177 +f 219/212/174 231/213/179 220/204/174 +f 233/214/180 206/196/167 232/215/180 +f 235/216/181 211/217/170 234/218/182 +f 209/195/168 216/219/171 215/200/171 +f 210/197/169 224/220/175 223/206/175 +f 221/205/173 226/211/177 218/203/173 +f 230/221/183 217/201/172 231/213/179 +f 232/215/180 225/207/176 233/214/180 +f 179/222/184 203/223/185 205/187/160 +f 194/224/143 230/225/79 219/226/186 +f 199/227/151 214/228/84 230/225/79 +f 228/229/178 234/218/182 229/210/178 +f 191/230/138 215/231/88 214/228/84 +f 192/232/140 209/233/92 215/231/88 +f 204/234/159 206/235/97 209/233/92 +f 201/236/165 232/237/96 206/235/97 +f 200/238/152 222/239/187 232/237/96 +f 195/240/144 223/241/188 222/239/187 +f 196/242/146 210/243/189 223/241/188 +f 211/244/82 205/245/160 203/246/185 +f 203/246/185 234/247/86 211/244/82 +f 202/248/155 229/249/90 234/247/86 +f 226/250/190 198/251/164 197/252/147 +f 218/253/98 197/252/147 193/254/141 +f 237/255/75 241/256/75 245/257/75 +f 248/258/22 250/259/191 32/260/22 +f 251/261/20 32/260/22 29/262/20 +f 252/263/19 29/262/20 24/264/19 +f 253/265/18 24/264/19 23/266/18 +f 254/267/28 23/266/18 47/268/28 +f 255/269/27 47/268/28 46/270/27 +f 46/270/27 256/271/31 255/269/27 +f 53/272/31 257/273/25 256/271/31 +f 258/274/30 43/275/26 50/276/30 +f 259/277/26 40/278/25 43/275/26 +f 252/263/75 253/265/75 264/279/75 +f 265/280/192 278/281/193 266/282/194 +f 264/279/195 277/283/196 265/280/192 +f 281/284/197 282/285/198 280/286/199 +f 263/287/200 279/288/201 264/279/195 +f 270/289/202 282/285/198 271/290/203 +f 285/291/204 242/292/205 241/293/206 +f 287/294/207 289/295/208 290/296/209 +f 291/297/210 293/298/211 294/299/212 +f 295/300/213 286/301/214 285/302/215 +f 290/296/209 297/303/216 298/304/217 +f 300/305/218 302/306/219 299/307/220 +f 304/308/221 306/309/222 303/310/223 +f 308/311/224 310/312/225 307/313/226 +f 287/294/207 285/302/215 288/314/227 +f 298/304/217 311/315/228 312/316/229 +f 299/307/220 292/317/230 291/297/210 +f 296/318/231 306/309/222 286/301/214 +f 90/319/75 314/320/75 313/321/75 +f 318/322/232 319/323/232 315/324/232 +f 321/325/233 323/326/234 320/327/234 +f 324/328/235 305/329/236 304/308/221 +f 290/224/209 327/225/237 326/226/238 +f 298/227/217 328/228/239 327/225/237 +f 330/330/240 332/331/241 329/332/240 +f 328/228/239 308/232/224 333/231/242 +f 334/333/243 335/334/244 336/335/245 +f 317/336/246 338/337/246 339/338/246 +f 337/339/247 341/340/248 342/341/249 +f 344/342/250 346/343/250 343/344/250 +f 96/68/55 1/345/251 97/81/68 +f 12/15/252 348/346/253 13/4/254 +f 350/347/255 352/348/256 349/349/255 +f 355/350/257 356/351/258 357/352/259 +f 258/274/30 359/353/260 358/354/260 +f 352/348/256 85/355/261 89/61/48 +f 360/356/262 361/357/263 362/358/264 +f 364/359/265 348/346/253 363/360/266 +f 365/361/267 366/362/268 18/363/269 +f 368/364/270 369/365/271 370/366/272 +f 368/364/270 370/366/272 371/367/273 +f 373/368/274 91/369/275 375/370/276 +f 89/371/277 377/372/277 88/373/277 +f 349/349/255 379/374/278 350/347/255 +f 382/375/279 373/376/280 384/377/281 +f 345/378/282 318/379/283 385/380/284 +f 386/381/285 92/382/285 387/383/285 +f 387/383/286 338/384/286 386/381/286 +f 340/385/287 339/386/287 385/387/287 +f 92/382/288 340/385/289 385/387/290 +f 386/381/291 340/385/292 93/388/293 +f 337/339/294 316/389/294 341/340/294 +f 342/341/295 316/389/295 315/324/295 +f 387/383/232 385/387/232 339/386/232 +f 348/346/253 389/390/296 388/391/297 +f 392/392/298 86/393/299 87/394/300 +f 395/395/301 397/396/302 394/397/302 +f 397/398/303 345/399/303 394/400/303 +f 87/401/304 86/402/305 385/403/232 +f 315/404/306 93/405/307 92/406/306 +f 398/407/308 400/408/309 91/409/310 +f 401/410/311 398/411/312 91/412/313 +f 399/413/314 401/414/311 400/408/314 +f 403/415/315 405/416/316 374/417/317 +f 406/418/318 405/416/319 407/419/320 +f 407/419/320 403/415/321 406/418/318 +f 314/420/322 93/421/323 342/422/324 +f 314/423/325 342/424/325 315/425/326 +f 92/406/306 374/426/327 315/404/306 +f 408/427/328 410/428/329 364/359/330 +f 408/427/328 411/429/331 409/430/332 +f 411/429/331 413/431/333 412/432/334 +f 414/433/335 364/359/330 410/428/329 +f 13/4/254 364/359/265 415/434/336 +f 417/435/337 347/436/338 416/437/339 +f 418/438/340 420/439/341 421/440/342 +f 11/14/343 422/441/343 10/6/343 +f 422/441/344 15/13/344 10/6/344 +f 423/442/345 424/443/346 425/444/347 +f 426/445/348 427/446/349 428/447/350 +f 423/442/345 429/448/351 424/443/346 +f 425/444/347 418/449/352 430/450/353 +f 431/451/354 429/448/351 432/452/355 +f 360/356/262 433/453/356 434/454/357 +f 435/455/358 370/366/358 436/456/358 +f 429/448/351 437/457/359 424/443/346 +f 436/456/360 370/366/360 369/365/360 +f 438/458/361 437/457/359 429/448/351 +f 439/459/362 440/460/363 438/458/361 +f 441/461/364 439/459/362 427/446/349 +f 437/457/359 442/462/365 443/463/366 +f 440/460/363 442/462/365 437/457/359 +f 444/464/367 445/465/368 446/466/369 +f 447/467/370 448/468/370 444/469/370 +f 448/470/371 445/465/372 444/464/373 +f 448/470/371 449/471/374 445/465/372 +f 445/465/375 449/471/375 450/472/375 +f 448/468/376 451/473/377 449/474/378 +f 451/473/379 452/475/379 453/476/379 +f 452/475/380 451/473/380 447/467/380 +f 447/467/381 348/477/382 452/475/383 +f 446/466/384 450/472/384 453/478/384 +f 437/457/359 443/463/366 419/479/385 +f 442/480/386 454/481/387 455/482/388 +f 454/481/387 439/483/389 456/484/390 +f 439/483/389 457/485/391 456/484/390 +f 458/486/392 420/439/341 419/487/393 +f 436/488/394 460/489/395 461/490/396 +f 455/482/388 458/486/392 443/491/397 +f 454/481/398 462/492/399 463/493/400 +f 456/484/401 459/494/402 462/492/399 +f 152/115/103 154/118/106 189/495/136 +f 436/488/394 434/496/403 462/492/399 +f 459/494/402 436/488/394 462/492/399 +f 434/496/404 461/490/404 462/492/404 +f 464/497/405 460/489/406 459/494/407 +f 465/498/408 466/499/409 467/500/410 +f 465/498/411 468/501/412 461/490/396 +f 460/489/395 465/498/411 461/490/396 +f 430/502/413 469/503/414 470/504/415 +f 459/494/407 457/505/391 426/506/416 +f 430/507/413 421/440/342 469/503/414 +f 468/501/417 471/508/418 472/509/419 +f 473/510/420 430/511/413 470/512/415 +f 467/500/410 471/508/418 465/498/408 +f 474/513/421 473/514/420 470/504/415 +f 446/466/422 452/515/423 348/516/424 +f 475/517/425 472/509/419 474/513/421 +f 464/497/405 476/518/426 466/499/409 +f 472/509/427 477/519/428 474/513/429 +f 476/518/430 428/447/350 478/520/431 +f 471/508/432 479/521/433 472/509/427 +f 478/520/431 480/522/434 481/523/435 +f 481/523/435 482/524/436 479/521/433 +f 477/519/428 425/444/347 473/525/437 +f 478/520/431 428/447/350 480/522/434 +f 479/521/433 423/442/345 477/519/428 +f 476/518/430 426/445/348 428/447/350 +f 482/524/436 423/442/345 479/521/433 +f 457/485/391 441/526/438 426/527/416 +f 482/524/436 431/451/354 432/452/355 +f 480/522/434 428/447/350 431/451/354 +f 434/528/439 483/529/440 484/530/441 +f 485/531/442 483/529/443 486/532/444 +f 361/357/263 360/356/262 434/454/357 +f 487/533/445 489/534/446 490/535/447 +f 436/456/448 485/531/448 435/455/448 +f 483/529/449 434/528/450 486/532/451 +f 15/536/452 14/5/453 414/433/335 +f 422/441/454 14/537/454 15/13/454 +f 14/5/453 13/4/455 415/434/456 +f 14/5/453 415/434/456 414/433/335 +f 416/437/339 347/436/338 11/14/457 +f 96/68/55 74/72/59 73/538/458 +f 493/539/459 494/540/460 61/541/461 +f 388/391/297 498/542/462 499/543/463 +f 363/360/266 408/427/464 364/359/265 +f 500/544/465 420/439/466 463/493/400 +f 499/543/467 501/545/468 502/546/469 +f 413/431/470 502/546/469 412/432/471 +f 461/490/396 503/547/472 500/544/465 +f 409/430/473 504/548/474 505/549/475 +f 409/430/473 505/549/475 410/428/476 +f 406/550/477 403/551/477 374/552/477 +f 407/419/478 405/416/478 404/553/478 +f 401/554/479 91/555/479 400/556/479 +f 402/557/480 399/413/480 398/407/480 +f 346/558/45 345/559/45 340/560/45 +f 343/561/481 318/379/481 344/562/481 +f 506/563/482 508/564/483 509/565/484 +f 371/367/485 510/566/486 368/364/487 +f 362/358/488 361/357/489 511/567/490 +f 511/567/491 484/530/441 368/364/492 +f 512/568/493 514/569/494 432/570/495 +f 515/571/496 517/572/497 518/573/498 +f 519/574/499 520/575/500 521/576/501 +f 522/577/502 514/569/494 523/578/503 +f 6/579/504 68/580/505 529/581/506 +f 532/582/507 533/583/508 534/584/509 +f 535/585/510 536/586/511 537/587/512 +f 537/587/512 536/586/511 538/588/513 +f 532/582/507 535/585/514 537/587/515 +f 532/582/507 537/587/515 533/583/508 +f 519/574/499 335/334/516 520/575/500 +f 522/577/502 432/570/495 514/569/494 +f 521/576/501 520/575/500 512/568/493 +f 539/589/517 506/563/482 509/565/484 +f 540/590/518 508/564/519 507/591/520 +f 506/563/482 539/589/517 541/592/521 +f 542/593/522 543/594/523 540/590/518 +f 506/563/524 544/595/525 507/591/526 +f 544/595/527 540/590/518 507/591/520 +f 335/334/244 543/594/523 542/593/522 +f 545/596/528 506/563/524 541/592/529 +f 545/596/528 544/595/525 506/563/524 +f 513/597/530 545/596/528 523/578/503 +f 513/597/530 544/595/525 545/596/528 +f 514/569/494 513/597/530 523/578/503 +f 513/597/530 512/568/493 544/595/525 +f 520/575/500 544/595/525 512/568/493 +f 520/575/500 335/334/516 542/593/531 +f 184/598/532 531/599/533 182/600/534 +f 516/601/535 529/581/536 528/602/537 +f 515/571/496 530/603/538 529/581/536 +f 5/604/539 487/533/445 490/535/447 +f 549/605/540 550/606/541 546/607/542 +f 553/608/543 20/609/16 19/610/15 +f 549/611/544 548/612/545 304/613/546 +f 560/614/547 562/615/75 563/616/548 +f 16/16/549 367/617/550 17/17/551 +f 17/17/552 16/618/553 18/21/552 +f 568/619/554 373/620/554 383/621/554 +f 96/68/55 72/622/555 95/67/53 +f 350/623/556 570/624/557 351/625/558 +f 17/626/559 18/21/17 20/20/16 +f 537/587/560 572/627/561 533/583/562 +f 365/628/267 17/629/559 576/630/563 +f 55/631/75 577/632/75 34/633/75 +f 578/634/45 579/635/45 354/636/564 +f 584/637/565 525/638/566 184/598/567 +f 576/639/563 17/640/559 573/641/568 +f 18/21/17 16/618/569 19/642/15 +f 44/37/28 23/643/18 22/22/18 +f 31/28/22 250/644/191 585/645/191 +f 585/645/191 36/31/24 39/30/24 +f 52/42/31 46/646/27 45/35/27 +f 586/647/570 588/648/571 589/649/572 +f 180/650/573 184/651/574 179/652/575 +f 587/653/576 590/654/577 588/655/571 +f 552/656/481 589/657/578 553/658/578 +f 491/659/579 101/660/580 100/661/581 +f 62/662/582 491/659/579 100/661/581 +f 77/663/583 594/664/584 595/665/585 +f 597/666/586 596/667/587 598/668/586 +f 78/669/588 591/670/588 597/666/588 +f 109/83/70 76/671/589 107/80/67 +f 273/672/23 48/673/29 37/674/23 +f 48/39/29 599/675/260 49/38/29 +f 36/676/24 273/672/23 37/674/23 +f 358/354/75 272/677/75 281/284/75 +f 600/678/590 575/679/590 601/680/590 +f 602/681/591 281/284/197 280/286/199 +f 269/682/592 284/683/593 270/289/202 +f 261/684/594 604/685/595 262/686/596 +f 262/686/596 283/687/597 263/287/200 +f 269/682/592 172/129/117 171/688/598 +f 276/689/599 606/690/600 260/691/601 +f 267/692/602 172/129/117 268/693/603 +f 260/691/601 603/694/604 261/684/594 +f 239/695/605 602/681/591 238/696/606 +f 266/282/194 173/130/118 267/692/602 +f 245/697/607 278/281/193 277/283/196 +f 237/698/608 602/681/591 280/286/199 +f 282/285/198 247/699/609 236/700/610 +f 280/286/199 236/700/610 237/698/608 +f 244/701/611 277/283/196 279/288/201 +f 283/687/597 242/702/612 243/703/613 +f 284/683/593 170/704/614 247/699/609 +f 604/685/595 241/705/615 242/702/612 +f 603/694/604 240/706/616 241/705/615 +f 293/707/617 168/708/618 246/709/619 +f 289/710/620 238/711/621 297/712/622 +f 239/695/605 606/690/600 605/713/623 +f 275/714/624 605/713/623 276/689/599 +f 311/715/625 236/716/626 309/717/627 +f 325/718/628 246/709/619 245/719/629 +f 297/712/622 237/720/630 311/715/625 +f 306/721/631 244/722/632 243/723/633 +f 305/724/634 245/719/629 244/722/632 +f 286/725/635 243/723/633 242/292/205 +f 309/726/627 247/727/636 310/728/637 +f 168/729/638 278/281/193 246/730/639 +f 310/731/637 170/732/640 301/733/641 +f 292/734/642 169/735/643 168/708/618 +f 302/736/644 170/732/640 169/735/643 +f 311/315/228 308/311/224 312/316/229 +f 288/737/645 241/293/206 240/738/646 +f 279/288/201 243/703/613 244/701/611 +f 293/298/211 324/328/235 294/299/212 +f 289/710/620 240/738/646 239/739/647 +f 307/313/226 301/740/648 300/305/218 +f 392/392/298 396/741/301 395/395/301 +f 607/742/649 609/743/650 333/744/650 +f 610/745/651 330/330/240 329/332/240 +f 327/746/652 612/747/653 613/748/652 +f 614/749/654 611/750/651 610/745/651 +f 617/751/655 619/752/656 616/753/655 +f 326/754/657 613/748/652 620/755/657 +f 331/756/241 321/325/233 332/331/241 +f 333/744/650 612/747/653 328/757/658 +f 618/758/656 607/742/649 619/752/656 +f 621/759/659 623/760/660 624/761/661 +f 326/754/657 615/762/662 614/749/654 +f 320/327/234 623/760/660 622/763/660 +f 624/761/661 616/753/655 621/759/659 +f 607/233/663 300/236/218 619/235/664 +f 300/236/218 616/237/665 619/235/664 +f 607/233/663 308/232/224 307/234/226 +f 291/240/210 622/241/666 621/239/667 +f 299/238/220 621/239/667 616/237/665 +f 622/241/666 324/245/235 320/243/668 +f 324/245/235 321/244/669 320/243/668 +f 332/247/670 304/246/221 303/248/223 +f 303/248/223 329/249/671 332/247/670 +f 296/251/231 610/250/672 329/249/671 +f 295/252/213 614/253/673 610/250/672 +f 287/254/207 326/764/238 614/253/673 +f 625/765/674 553/766/578 589/767/578 +f 583/768/248 627/769/248 628/770/248 +f 361/357/675 434/454/439 484/530/441 +f 368/364/492 484/530/441 369/365/676 +f 361/357/675 484/530/441 511/567/491 +f 510/566/486 511/567/490 368/364/487 +f 629/771/677 511/567/490 510/566/486 +f 629/771/677 362/358/488 511/567/490 +f 433/453/678 486/532/451 434/528/450 +f 483/529/440 436/456/679 369/365/676 +f 484/530/441 483/529/440 369/365/676 +f 446/466/369 445/465/368 450/472/680 +f 449/474/681 453/476/681 450/772/681 +f 451/473/682 453/476/682 449/474/682 +f 448/468/376 447/467/683 451/473/377 +f 447/773/381 444/464/684 348/516/382 +f 348/516/685 444/464/367 446/466/369 +f 480/522/434 431/451/354 482/524/436 +f 432/452/355 423/442/345 482/524/436 +f 423/442/345 425/444/347 477/519/428 +f 425/444/347 430/450/353 473/525/437 +f 480/522/434 482/524/436 481/523/435 +f 481/523/435 479/521/433 471/508/432 +f 477/519/428 473/525/437 474/513/429 +f 478/520/431 481/523/435 467/500/686 +f 467/500/686 481/523/435 471/508/432 +f 479/521/433 477/519/428 472/509/427 +f 476/518/430 478/520/431 466/499/687 +f 466/499/687 478/520/431 467/500/686 +f 468/501/417 472/509/419 475/517/425 +f 466/499/409 460/489/406 464/497/405 +f 475/517/425 474/513/421 503/547/688 +f 503/547/688 474/513/421 470/504/415 +f 471/508/418 468/501/417 465/498/408 +f 468/501/417 475/517/425 503/547/688 +f 469/503/689 503/547/472 470/504/690 +f 500/544/465 503/547/472 469/503/689 +f 461/490/396 434/496/403 436/488/394 +f 462/492/399 461/490/396 500/544/465 +f 462/492/399 500/544/465 463/493/400 +f 469/503/414 421/440/342 420/439/341 +f 457/505/391 459/494/407 456/484/390 +f 456/484/401 462/492/399 454/481/398 +f 454/481/398 463/493/400 455/482/691 +f 463/493/400 458/486/692 455/482/691 +f 463/493/400 420/439/466 458/486/692 +f 458/486/392 419/487/393 443/491/397 +f 440/774/693 454/481/387 442/480/386 +f 418/438/340 421/775/342 430/776/413 +f 455/482/388 443/491/397 442/480/386 +f 437/457/359 419/479/385 424/443/346 +f 439/459/362 438/458/361 427/446/349 +f 419/479/385 418/449/352 424/443/346 +f 440/460/363 437/457/359 438/458/361 +f 441/461/364 427/446/349 426/445/348 +f 438/458/361 431/451/354 427/446/349 +f 438/458/361 429/448/351 431/451/354 +f 424/443/346 418/449/352 425/444/347 +f 432/452/355 429/448/351 423/442/345 +f 427/446/349 431/451/354 428/447/350 +f 505/549/475 414/433/694 410/428/476 +f 505/549/475 15/536/695 414/433/694 +f 11/14/457 347/436/338 12/15/696 +f 348/346/253 388/391/297 363/360/266 +f 388/391/297 413/431/697 363/360/266 +f 388/391/297 389/390/296 498/542/462 +f 498/542/698 630/777/699 501/545/468 +f 499/543/467 498/542/698 501/545/468 +f 413/431/470 499/543/467 502/546/469 +f 411/778/700 412/779/701 504/780/474 +f 409/430/473 411/429/700 504/548/474 +f 396/781/45 391/782/45 390/783/45 +f 628/770/702 528/602/537 527/784/703 +f 182/600/534 632/785/704 580/786/705 +f 487/533/445 518/573/498 488/787/706 +f 517/572/497 628/770/702 627/769/707 +f 336/335/245 335/334/708 519/574/709 +f 422/788/710 535/585/711 532/582/712 +f 249/789/191 36/676/24 250/259/191 +f 635/790/713 636/791/714 210/792/715 +f 19/642/15 16/618/569 367/793/716 +f 381/794/717 638/795/718 600/796/718 +f 366/797/45 600/798/287 638/799/45 +f 292/800/719 293/801/719 309/802/720 +f 641/803/721 79/804/722 78/805/723 +f 109/83/70 8/78/65 7/806/724 +f 193/254/141 219/764/186 218/253/98 +f 567/807/725 356/808/726 355/809/727 +f 385/810/481 393/811/481 394/812/481 +f 521/576/501 512/568/493 432/570/495 +f 631/813/728 531/599/533 69/814/729 +f 645/815/730 646/816/731 546/817/732 +f 626/818/733 574/819/734 573/820/568 +f 68/821/735 6/822/736 541/823/737 +f 538/824/738 536/825/739 5/826/740 +f 69/827/741 540/828/742 543/829/743 +f 489/830/744 630/831/745 572/832/746 +f 389/390/747 630/777/748 498/542/749 +f 464/497/405 426/833/416 476/834/426 +f 644/835/750 354/836/751 579/837/750 +f 652/838/752 575/839/753 574/840/754 +f 533/583/755 572/627/746 630/831/745 +f 570/841/756 349/842/757 352/843/758 +f 50/41/30 599/675/260 359/844/260 +f 359/353/260 272/677/29 358/354/260 +f 372/845/759 376/846/760 367/847/761 +f 659/848/762 375/849/763 658/850/762 +f 661/851/764 663/852/765 660/853/765 +f 664/854/766 662/855/764 661/851/764 +f 660/853/765 667/856/767 666/857/767 +f 669/858/768 671/859/769 668/860/769 +f 673/861/770 671/859/769 672/862/770 +f 677/863/771 675/864/772 674/865/771 +f 676/866/772 678/867/773 675/864/772 +f 683/868/774 681/869/775 680/870/775 +f 672/862/770 684/871/776 673/861/770 +f 687/872/777 674/865/771 686/873/777 +f 688/874/772 679/875/773 676/876/772 +f 690/877/771 676/876/772 677/878/771 +f 691/85/777 677/878/771 687/879/777 +f 692/880/776 687/879/777 685/881/776 +f 693/882/770 685/881/776 672/883/770 +f 694/884/769 672/883/770 671/885/769 +f 695/886/768 671/885/769 670/887/768 +f 696/888/767 670/887/768 667/889/767 +f 697/890/765 667/889/767 663/891/765 +f 662/892/764 699/893/766 698/894/764 +f 698/894/764 663/891/765 662/892/764 +f 700/88/774 665/895/766 683/896/774 +f 701/89/775 683/896/774 680/897/775 +f 703/898/778 680/897/775 702/899/778 +f 689/900/773 702/899/778 679/875/773 +f 682/901/774 665/902/766 664/854/766 +f 666/857/767 670/903/768 669/858/768 +f 684/871/776 687/872/777 686/873/777 +f 702/904/778 681/869/775 704/905/778 +f 679/906/773 704/905/778 678/867/773 +f 22/22/18 23/643/18 24/23/19 +f 21/24/19 24/23/19 29/25/20 +f 28/26/21 29/25/20 32/27/22 +f 37/29/23 38/907/23 39/30/24 +f 41/32/25 42/908/26 43/33/26 +f 45/35/27 46/646/27 47/36/28 +f 49/38/29 38/907/23 37/29/23 +f 43/33/26 42/908/26 51/40/30 +f 40/34/25 53/909/31 52/42/31 +f 61/43/32 62/662/32 63/44/32 +f 64/45/33 63/44/33 65/46/33 +f 76/49/35 67/910/779 69/50/36 +f 67/910/779 68/911/780 69/50/36 +f 69/50/36 70/912/781 73/913/782 +f 70/912/781 71/914/481 72/915/783 +f 73/913/782 70/912/781 72/915/783 +f 73/913/782 74/916/784 69/50/36 +f 74/916/784 75/48/34 69/50/36 +f 77/51/37 78/669/785 79/52/38 +f 81/54/40 82/66/52 83/55/41 +f 84/56/43 83/55/786 4/57/44 +f 89/61/48 85/355/261 87/59/46 +f 85/355/261 86/917/787 87/59/46 +f 94/64/50 90/918/788 92/62/49 +f 90/918/788 91/919/789 92/62/49 +f 71/65/51 70/920/790 82/66/52 +f 95/67/53 72/622/555 71/65/51 +f 95/67/53 81/54/40 84/56/42 +f 96/68/55 95/67/53 3/58/54 +f 74/72/59 97/81/68 99/70/57 +f 97/81/68 98/79/66 99/70/57 +f 65/921/791 63/922/792 106/923/793 +f 63/922/792 62/73/60 106/923/793 +f 62/73/60 100/924/794 104/74/61 +f 100/924/794 101/925/795 103/926/796 +f 104/74/61 100/924/794 103/926/796 +f 101/925/795 102/927/795 103/926/796 +f 105/75/62 106/923/793 62/73/60 +f 8/78/65 107/80/67 108/76/63 +f 107/80/67 98/79/66 108/76/63 +f 107/80/67 76/671/589 99/70/57 +f 76/671/589 75/71/58 99/70/57 +f 97/81/68 1/345/251 108/76/63 +f 1/345/251 9/77/64 108/76/63 +f 67/928/797 109/83/70 68/82/69 +f 109/83/70 7/806/724 6/84/71 +f 113/85/72 114/880/75 126/86/73 +f 139/102/75 127/98/75 117/886/75 +f 127/98/75 128/96/75 116/884/75 +f 117/886/75 127/98/75 116/884/75 +f 128/96/75 126/86/73 115/882/75 +f 126/86/73 114/880/75 115/882/75 +f 138/106/75 139/102/75 117/886/75 +f 136/114/75 137/110/75 119/890/75 +f 137/110/75 138/106/75 118/888/75 +f 134/90/75 135/93/75 122/88/75 +f 135/93/75 136/114/75 121/893/75 +f 122/88/75 135/93/75 121/893/75 +f 132/104/75 133/100/75 124/898/75 +f 133/100/75 134/90/75 123/89/75 +f 124/898/75 133/100/75 123/89/75 +f 130/108/75 131/109/75 111/900/75 +f 131/109/75 132/104/75 111/900/75 +f 125/87/74 129/112/798 112/877/799 +f 129/112/798 130/108/75 112/877/799 +f 112/877/799 113/85/72 125/87/74 +f 128/96/75 115/882/75 116/884/75 +f 110/874/75 112/877/799 130/108/75 +f 111/900/75 110/874/75 130/108/75 +f 138/106/75 117/886/75 118/888/75 +f 124/898/75 111/900/75 132/104/75 +f 137/110/75 118/888/75 119/890/75 +f 136/114/75 119/890/75 120/894/75 +f 136/114/75 120/894/75 121/893/75 +f 125/87/76 126/86/83 140/91/77 +f 135/93/79 134/90/84 143/94/80 +f 128/96/82 144/99/87 140/91/77 +f 134/90/84 133/100/88 145/97/85 +f 127/98/86 146/103/91 144/99/87 +f 133/100/88 132/104/92 147/101/89 +f 139/102/90 148/107/95 146/103/91 +f 132/104/92 131/109/97 149/105/93 +f 138/106/94 150/111/99 148/107/95 +f 130/108/96 151/113/101 149/105/93 +f 137/110/98 152/115/103 150/111/99 +f 129/112/100 153/116/104 151/113/101 +f 136/114/102 154/118/106 152/115/103 +f 125/87/76 141/92/78 153/116/104 +f 155/117/105 156/929/125 154/118/106 +f 157/119/107 158/164/122 141/92/78 +f 159/120/108 155/117/105 142/95/81 +f 160/121/109 157/119/107 140/91/77 +f 159/120/108 143/94/80 145/97/85 +f 144/99/87 146/103/91 162/123/111 +f 161/122/110 145/97/85 147/101/89 +f 146/103/91 148/107/95 164/125/113 +f 147/101/89 149/105/93 165/126/114 +f 148/107/95 150/111/99 166/127/115 +f 149/105/93 151/113/101 167/128/116 +f 173/130/118 168/729/800 169/131/119 +f 169/131/119 170/704/801 171/688/598 +f 171/688/598 172/129/117 169/131/119 +f 167/128/116 151/113/101 153/116/104 +f 154/118/106 136/114/102 135/93/79 +f 175/133/121 174/930/120 158/134/122 +f 177/136/124 178/193/166 156/137/125 +f 176/139/123 158/931/122 157/140/107 +f 180/142/127 177/136/124 155/138/105 +f 179/141/126 157/140/107 160/144/109 +f 182/146/129 180/142/127 159/143/108 +f 181/145/128 160/144/109 162/148/111 +f 184/150/131 182/146/129 161/147/110 +f 183/149/130 162/148/111 164/152/113 +f 186/154/133 184/150/131 163/151/112 +f 185/153/132 164/152/113 166/156/115 +f 188/158/135 186/154/133 165/155/114 +f 187/157/134 166/156/115 189/160/136 +f 188/158/135 167/159/116 174/162/120 +f 174/132/120 153/116/104 141/92/78 +f 191/165/138 180/189/162 182/166/139 +f 193/168/141 190/188/161 178/169/142 +f 195/171/144 175/190/163 176/172/145 +f 197/174/147 198/191/164 185/175/148 +f 194/170/143 178/169/142 177/177/150 +f 200/179/152 201/192/165 186/180/153 +f 202/182/155 203/223/185 181/183/156 +f 192/167/140 182/166/139 184/185/158 +f 176/172/145 179/222/184 205/187/160 +f 193/168/141 197/174/147 187/176/149 +f 199/178/151 177/177/150 180/189/162 +f 200/179/152 188/181/154 175/190/163 +f 202/182/155 183/184/157 185/175/148 +f 204/186/159 184/185/158 186/180/153 +f 178/193/166 190/161/137 189/160/136 +f 207/194/167 208/932/168 209/195/168 +f 210/197/169 211/217/170 212/198/170 +f 215/200/171 216/219/171 217/201/172 +f 218/203/173 219/212/174 220/204/174 +f 223/206/175 224/220/175 225/207/176 +f 227/209/177 228/229/178 229/210/178 +f 219/212/174 230/221/183 231/213/179 +f 233/214/180 207/194/167 206/196/167 +f 235/216/181 212/198/170 211/217/170 +f 209/195/168 208/932/168 216/219/171 +f 210/197/169 213/199/169 224/220/175 +f 221/205/173 227/209/177 226/211/177 +f 230/221/183 214/202/172 217/201/172 +f 232/215/180 222/208/176 225/207/176 +f 179/222/184 181/183/156 203/223/185 +f 194/224/143 199/227/151 230/225/79 +f 199/227/151 191/230/138 214/228/84 +f 228/229/178 235/216/181 234/218/182 +f 191/230/138 192/232/140 215/231/88 +f 192/232/140 204/234/159 209/233/92 +f 204/234/159 201/236/165 206/235/97 +f 201/236/165 200/238/152 232/237/96 +f 200/238/152 195/240/144 222/239/187 +f 195/240/144 196/242/146 223/241/188 +f 196/242/146 205/245/160 210/243/189 +f 211/244/82 210/243/189 205/245/160 +f 203/246/185 202/248/155 234/247/86 +f 202/248/155 198/251/164 229/249/90 +f 226/250/190 229/249/90 198/251/164 +f 218/253/98 226/250/190 197/252/147 +f 247/933/75 236/934/75 237/255/75 +f 237/255/75 238/935/75 239/936/75 +f 239/936/75 240/937/75 237/255/75 +f 240/937/75 241/256/75 237/255/75 +f 241/256/75 242/938/75 243/939/75 +f 243/939/75 244/940/75 245/257/75 +f 245/257/75 246/941/75 168/942/75 +f 168/942/75 169/943/75 245/257/75 +f 169/943/75 170/944/75 245/257/75 +f 170/944/75 247/933/75 237/255/75 +f 241/256/75 243/939/75 245/257/75 +f 170/944/75 237/255/75 245/257/75 +f 248/258/22 249/789/191 250/259/191 +f 251/261/20 248/258/22 32/260/22 +f 252/263/19 251/261/20 29/262/20 +f 253/265/18 252/263/19 24/264/19 +f 254/267/28 253/265/18 23/266/18 +f 255/269/27 254/267/28 47/268/28 +f 46/270/27 53/272/31 256/271/31 +f 53/272/31 40/278/25 257/273/25 +f 258/274/30 259/277/26 43/275/26 +f 259/277/26 257/273/25 40/278/25 +f 276/689/75 260/691/75 257/273/75 +f 260/691/75 261/684/75 257/273/75 +f 261/684/75 262/686/75 256/271/75 +f 262/686/75 263/287/75 255/269/75 +f 256/271/75 262/686/75 255/269/75 +f 263/287/75 264/279/75 253/265/75 +f 264/279/75 265/280/75 252/263/75 +f 265/280/75 266/282/75 251/261/75 +f 266/282/75 267/692/75 248/258/75 +f 267/692/75 268/693/75 249/789/75 +f 268/693/75 269/682/75 249/789/75 +f 269/682/75 270/289/75 274/945/75 +f 270/289/75 271/290/75 273/672/75 +f 274/945/75 270/289/75 273/672/75 +f 271/290/75 272/677/75 273/672/75 +f 275/714/75 276/689/75 259/277/75 +f 259/277/75 258/274/75 275/714/75 +f 257/273/75 259/277/75 276/689/75 +f 269/682/75 274/945/75 249/789/75 +f 256/271/75 257/273/75 261/684/75 +f 267/692/75 249/789/75 248/258/75 +f 266/282/75 248/258/75 251/261/75 +f 254/267/75 255/269/75 263/287/75 +f 253/265/75 254/267/75 263/287/75 +f 265/280/75 251/261/75 252/263/75 +f 265/280/192 277/283/196 278/281/193 +f 264/279/195 279/288/201 277/283/196 +f 281/284/197 271/290/203 282/285/198 +f 263/287/200 283/687/597 279/288/201 +f 270/289/202 284/683/593 282/285/198 +f 285/291/204 286/725/635 242/292/205 +f 287/294/207 288/314/227 289/295/208 +f 291/297/210 292/317/230 293/298/211 +f 295/300/213 296/318/231 286/301/214 +f 290/296/209 289/295/208 297/303/216 +f 300/305/218 301/740/648 302/306/219 +f 304/308/221 305/329/236 306/309/222 +f 308/311/224 309/946/802 310/312/225 +f 287/294/207 295/300/213 285/302/215 +f 298/304/217 297/303/216 311/315/228 +f 299/307/220 302/306/219 292/317/230 +f 296/318/231 303/310/223 306/309/222 +f 90/319/75 94/947/75 314/320/75 +f 315/324/232 316/389/232 318/322/232 +f 316/389/232 317/336/232 318/322/232 +f 321/325/233 322/948/233 323/326/234 +f 324/328/235 325/949/803 305/329/236 +f 290/224/209 298/227/217 327/225/237 +f 298/227/217 312/230/229 328/228/239 +f 330/330/240 331/756/241 332/331/241 +f 328/228/239 312/230/229 308/232/224 +f 317/336/246 337/339/246 338/337/246 +f 342/341/249 340/950/804 337/339/247 +f 340/950/804 338/337/805 337/339/247 +f 344/342/250 345/951/250 346/343/250 +f 96/68/55 2/69/56 1/345/251 +f 12/15/252 347/436/806 348/346/253 +f 350/347/255 351/952/807 352/348/256 +f 357/352/259 353/953/808 354/954/751 +f 354/954/751 355/350/257 357/352/259 +f 258/274/30 50/276/30 359/353/260 +f 352/348/256 351/952/807 85/355/261 +f 364/359/265 13/4/254 348/346/253 +f 367/955/809 16/956/810 366/362/268 +f 16/956/810 18/363/269 366/362/268 +f 18/363/269 17/957/559 365/361/267 +f 376/958/760 372/959/759 375/370/811 +f 372/959/759 373/368/812 375/370/811 +f 373/368/274 374/960/327 91/369/275 +f 349/349/255 378/961/278 379/374/278 +f 384/377/281 380/962/813 382/375/279 +f 380/962/813 381/963/717 382/375/279 +f 382/375/279 383/964/814 373/376/280 +f 345/378/282 344/562/815 318/379/283 +f 386/381/285 93/388/285 92/382/285 +f 387/383/286 339/386/286 338/384/286 +f 340/385/287 338/965/287 339/386/287 +f 92/382/288 93/388/75 340/385/289 +f 386/381/291 338/384/248 340/385/292 +f 337/339/294 317/336/294 316/389/294 +f 342/341/295 341/340/295 316/389/295 +f 387/383/232 92/382/232 385/387/232 +f 348/346/253 347/436/806 389/390/296 +f 87/394/300 88/966/816 391/967/817 +f 88/966/816 390/968/816 391/967/817 +f 87/394/300 391/967/817 392/392/298 +f 392/392/298 393/969/818 86/393/299 +f 395/395/301 396/741/301 397/396/302 +f 397/398/303 344/970/303 345/399/303 +f 86/402/305 393/971/819 385/403/232 +f 385/403/232 318/972/232 87/401/304 +f 318/972/232 390/973/232 88/974/232 +f 88/974/232 87/401/304 318/972/232 +f 315/404/306 342/975/307 93/405/307 +f 398/407/308 399/413/820 400/408/309 +f 401/410/311 402/976/821 398/411/312 +f 399/413/314 402/557/821 401/414/311 +f 403/415/315 404/553/822 405/416/316 +f 406/418/318 374/417/823 405/416/319 +f 407/419/320 404/553/824 403/415/321 +f 314/420/322 94/977/322 93/421/323 +f 315/425/326 374/978/825 313/979/826 +f 313/979/826 314/423/325 315/425/326 +f 92/406/306 91/980/275 374/426/327 +f 408/427/328 409/430/332 410/428/329 +f 408/427/328 363/360/827 411/429/331 +f 411/429/331 363/360/827 413/431/333 +f 414/433/335 415/434/456 364/359/330 +f 417/435/828 389/390/829 347/436/338 +f 418/438/340 419/487/393 420/439/341 +f 454/481/387 440/774/693 439/483/389 +f 439/483/389 441/526/438 457/485/391 +f 436/488/394 459/494/402 460/489/395 +f 154/118/106 156/929/125 189/495/136 +f 189/495/136 166/127/115 150/111/99 +f 150/111/99 152/115/103 189/495/136 +f 465/498/408 460/489/406 466/499/409 +f 446/466/422 453/478/830 452/515/423 +f 485/531/442 436/456/831 483/529/443 +f 487/533/445 488/787/706 489/534/446 +f 96/68/55 97/81/68 74/72/59 +f 497/981/832 491/982/833 495/983/834 +f 491/982/833 61/541/461 494/540/460 +f 61/541/461 64/984/835 492/985/836 +f 64/984/835 66/986/837 492/985/836 +f 495/983/838 496/987/839 497/981/839 +f 494/540/460 495/983/834 491/982/833 +f 61/541/461 492/985/836 493/539/459 +f 500/544/465 469/503/689 420/439/466 +f 461/490/396 468/501/412 503/547/472 +f 506/563/482 507/591/840 508/564/483 +f 512/568/493 513/597/530 514/569/494 +f 515/571/496 516/601/535 517/572/497 +f 525/638/75 526/988/75 527/784/75 +f 525/638/75 527/784/75 528/602/75 +f 524/989/75 525/638/75 529/581/506 +f 525/638/75 528/602/75 529/581/506 +f 68/580/505 69/814/841 531/599/842 +f 531/599/842 524/989/75 68/580/505 +f 524/989/75 529/581/506 68/580/505 +f 530/603/843 5/604/844 6/579/504 +f 529/581/506 530/603/843 6/579/504 +f 544/595/527 542/593/522 540/590/518 +f 335/334/244 334/333/243 543/594/523 +f 520/575/500 542/593/531 544/595/525 +f 184/598/532 524/989/532 531/599/533 +f 516/601/535 515/571/496 529/581/536 +f 515/571/496 487/533/445 530/603/538 +f 5/604/539 530/603/538 487/533/445 +f 551/990/845 546/607/542 550/606/541 +f 546/607/542 547/991/846 549/605/540 +f 547/991/846 548/992/248 549/605/540 +f 367/993/716 552/994/847 19/610/15 +f 552/994/847 553/608/543 19/610/15 +f 553/608/543 17/995/559 20/609/16 +f 548/612/545 554/996/848 304/613/546 +f 304/613/546 555/997/849 549/611/544 +f 555/997/849 556/998/850 549/611/544 +f 556/998/850 550/999/851 549/611/544 +f 551/1000/852 550/1001/853 557/1002/854 +f 550/1001/853 556/1003/75 557/1002/854 +f 566/1004/855 567/1005/856 551/1000/852 +f 563/616/548 564/1006/857 559/1007/858 +f 564/1006/857 565/1008/859 558/1009/860 +f 559/1007/858 564/1006/857 558/1009/860 +f 565/1008/859 566/1004/855 557/1002/854 +f 566/1004/855 551/1000/852 557/1002/854 +f 565/1008/859 557/1002/854 558/1009/860 +f 559/1007/858 560/614/547 563/616/548 +f 560/614/547 561/1010/75 562/615/75 +f 17/17/861 367/617/862 16/618/862 +f 568/619/554 374/1011/554 373/620/554 +f 96/68/55 73/538/458 72/622/555 +f 350/623/556 379/1012/863 569/1013/864 +f 571/1014/865 86/1015/866 85/1016/867 +f 570/624/557 571/1014/865 85/1016/867 +f 350/623/556 569/1013/864 570/624/557 +f 570/624/557 85/1016/867 351/625/558 +f 537/587/560 538/588/868 572/627/561 +f 576/630/563 573/820/568 365/628/267 +f 573/820/568 574/819/734 575/1017/869 +f 365/628/267 573/820/568 575/1017/869 +f 57/1018/75 58/1019/75 27/1020/75 +f 27/1020/75 26/1021/75 25/1022/75 +f 25/1022/75 30/1023/75 34/633/75 +f 34/633/75 33/1024/75 60/1025/75 +f 33/1024/75 35/1026/75 60/1025/75 +f 35/1026/75 59/1027/75 60/1025/75 +f 60/1025/75 54/1028/75 55/631/75 +f 55/631/75 56/1029/75 577/632/75 +f 577/632/75 57/1018/75 27/1020/75 +f 27/1020/75 25/1022/75 577/632/75 +f 25/1022/75 34/633/75 577/632/75 +f 60/1025/75 55/631/75 34/633/75 +f 354/636/870 353/1030/871 556/1031/872 +f 556/1031/872 578/634/873 354/636/870 +f 184/598/567 182/600/874 581/1032/875 +f 182/600/874 580/786/874 581/1032/875 +f 581/1032/875 582/1033/876 184/598/567 +f 582/1033/876 583/768/877 584/637/565 +f 584/637/565 526/988/878 525/638/566 +f 525/638/566 524/989/879 184/598/567 +f 582/1033/876 584/637/565 184/598/567 +f 44/37/28 47/36/28 23/643/18 +f 31/28/22 32/27/22 250/644/191 +f 585/645/191 250/644/191 36/31/24 +f 52/42/31 53/909/31 46/646/27 +f 586/647/570 587/1034/576 588/648/571 +f 177/1035/880 180/650/573 179/652/575 +f 180/650/573 182/1036/881 184/651/574 +f 184/651/574 186/1037/882 179/652/575 +f 186/1037/882 188/1038/883 179/652/575 +f 188/1038/883 175/1039/884 179/652/575 +f 175/1039/884 176/1040/885 179/652/575 +f 179/652/575 181/1041/886 190/1042/887 +f 181/1041/886 183/1043/888 185/1044/889 +f 187/1045/890 181/1041/886 185/1044/889 +f 187/1045/890 190/1042/887 181/1041/886 +f 190/1042/887 178/1046/891 179/652/575 +f 178/1046/891 177/1035/880 179/652/575 +f 587/653/576 375/1047/892 590/654/577 +f 552/656/481 586/1048/481 589/657/578 +f 491/659/579 497/1049/893 101/660/893 +f 62/662/582 61/43/894 491/659/579 +f 596/1050/895 591/1051/896 595/665/585 +f 591/1051/896 77/663/583 595/665/585 +f 80/1052/897 592/1053/898 593/1054/899 +f 80/1052/897 593/1054/899 77/663/583 +f 593/1054/899 594/664/584 77/663/583 +f 597/666/586 591/670/587 596/667/587 +f 78/669/588 77/51/588 591/670/588 +f 109/83/70 67/928/797 76/671/589 +f 273/672/23 272/677/29 48/673/29 +f 48/39/29 359/844/260 599/675/260 +f 36/676/24 274/945/900 273/672/23 +f 272/677/75 271/290/75 281/284/75 +f 281/284/75 275/714/75 358/354/75 +f 275/714/75 258/274/75 358/354/75 +f 600/678/287 365/1055/287 575/679/590 +f 602/681/591 275/714/624 281/284/197 +f 269/682/592 171/688/598 284/683/593 +f 261/684/594 603/694/604 604/685/595 +f 262/686/596 604/685/595 283/687/597 +f 269/682/592 268/693/603 172/129/117 +f 276/689/599 605/713/623 606/690/600 +f 267/692/602 173/130/118 172/129/117 +f 260/691/601 606/690/600 603/694/604 +f 239/695/605 605/713/623 602/681/591 +f 266/282/194 278/281/193 173/130/118 +f 245/697/607 246/730/639 278/281/193 +f 237/698/608 238/696/606 602/681/591 +f 282/285/198 284/683/593 247/699/609 +f 280/286/199 282/285/198 236/700/610 +f 244/701/611 245/697/607 277/283/196 +f 283/687/597 604/685/595 242/702/612 +f 284/683/593 171/688/598 170/704/614 +f 604/685/595 603/694/604 241/705/615 +f 603/694/604 606/690/600 240/706/616 +f 293/707/617 292/734/642 168/708/618 +f 289/710/620 239/739/647 238/711/621 +f 239/695/605 240/706/616 606/690/600 +f 275/714/624 602/681/591 605/713/623 +f 311/715/625 237/720/630 236/716/626 +f 325/718/628 293/707/617 246/709/619 +f 297/712/622 238/711/621 237/720/630 +f 306/721/631 305/724/634 244/722/632 +f 305/724/634 325/718/628 245/719/629 +f 286/725/635 306/721/631 243/723/633 +f 309/726/627 236/1056/626 247/727/636 +f 168/729/901 173/130/118 278/281/193 +f 310/731/637 247/1057/636 170/732/640 +f 292/734/642 302/736/644 169/735/643 +f 302/736/644 301/733/641 170/732/640 +f 311/315/228 309/946/802 308/311/224 +f 288/737/645 285/291/204 241/293/206 +f 279/288/201 283/687/597 243/703/613 +f 293/298/211 325/949/803 324/328/235 +f 289/710/620 288/737/645 240/738/646 +f 307/313/226 310/312/225 301/740/648 +f 392/392/298 391/967/817 396/741/301 +f 607/742/649 608/1058/649 609/743/650 +f 610/745/651 611/750/651 330/330/240 +f 327/746/652 328/757/658 612/747/653 +f 614/749/654 615/762/662 611/750/651 +f 617/751/655 618/758/656 619/752/656 +f 326/754/657 327/746/652 613/748/652 +f 331/756/241 322/948/233 321/325/233 +f 333/744/650 609/743/650 612/747/653 +f 618/758/656 608/1058/649 607/742/649 +f 621/759/659 622/763/660 623/760/660 +f 326/754/657 620/755/657 615/762/662 +f 320/327/234 323/326/234 623/760/660 +f 624/761/661 617/751/655 616/753/655 +f 607/233/663 307/234/226 300/236/218 +f 300/236/218 299/238/220 616/237/665 +f 607/233/663 333/231/242 308/232/224 +f 291/240/210 294/242/212 622/241/666 +f 299/238/220 291/240/210 621/239/667 +f 622/241/666 294/242/212 324/245/235 +f 324/245/235 304/246/221 321/244/669 +f 332/247/670 321/244/669 304/246/221 +f 303/248/223 296/251/231 329/249/671 +f 296/251/231 295/252/213 610/250/672 +f 295/252/213 287/254/207 614/253/673 +f 287/254/207 290/1059/209 326/764/238 +f 625/765/674 626/1060/674 553/766/578 +f 628/770/248 527/784/248 584/637/248 +f 527/784/248 526/988/248 584/637/248 +f 584/637/248 583/768/248 628/770/248 +f 388/391/297 499/543/463 413/431/697 +f 390/783/45 318/1061/45 397/1062/45 +f 318/1061/45 344/1063/45 397/1062/45 +f 397/1062/45 396/781/45 390/783/45 +f 628/770/702 516/601/535 528/602/537 +f 182/600/534 631/813/728 632/785/704 +f 487/533/445 515/571/496 518/573/498 +f 517/572/497 516/601/535 628/770/702 +f 422/788/710 536/586/902 535/585/711 +f 249/789/191 274/945/900 36/676/24 +f 548/1064/903 547/1065/904 210/792/715 +f 547/1065/904 633/1066/905 211/1067/906 +f 547/1065/904 211/1067/906 210/792/715 +f 637/1068/307 554/1069/307 548/1064/903 +f 636/791/714 637/1068/307 548/1064/903 +f 223/1070/907 634/1071/908 635/790/713 +f 548/1064/903 210/792/715 636/791/714 +f 210/792/715 223/1070/907 635/790/713 +f 381/794/717 380/1072/813 638/795/718 +f 366/797/45 365/1073/287 600/798/287 +f 293/801/719 325/1074/307 309/802/720 +f 325/1074/307 305/1075/909 309/802/720 +f 305/1075/909 306/1076/307 309/802/720 +f 306/1076/307 286/1077/307 309/802/720 +f 286/1077/307 285/1078/910 309/802/720 +f 285/1078/910 288/1079/910 309/802/720 +f 288/1079/910 289/1080/910 309/802/720 +f 289/1080/910 297/1081/911 309/802/720 +f 297/1081/911 311/1082/912 309/802/720 +f 309/802/720 310/1083/913 301/1084/914 +f 301/1084/914 302/1085/719 309/802/720 +f 302/1085/719 292/800/719 309/802/720 +f 78/805/723 597/1086/915 639/1087/916 +f 597/1086/915 598/1088/917 639/1087/916 +f 641/803/721 642/1089/918 79/804/722 +f 78/805/723 639/1087/916 640/1090/919 +f 640/1090/919 641/803/721 78/805/723 +f 109/83/70 107/80/67 8/78/65 +f 193/254/141 194/1059/143 219/764/186 +f 644/1091/920 643/1092/921 355/809/727 +f 643/1092/921 567/807/725 355/809/727 +f 392/1093/481 395/1094/481 393/811/481 +f 395/1094/481 394/812/481 393/811/481 +f 394/812/481 345/1095/481 385/810/481 +f 631/813/728 182/600/534 531/599/533 +f 646/816/731 633/1096/922 547/1097/923 +f 546/817/732 551/1098/924 567/1099/925 +f 646/816/731 547/1097/923 546/817/732 +f 567/1099/925 645/815/730 546/817/732 +f 573/820/568 17/629/559 553/1100/543 +f 553/1100/543 626/818/733 573/820/568 +f 534/1101/926 522/1102/927 532/1103/928 +f 522/1102/927 523/1104/929 532/1103/928 +f 523/1104/929 545/1105/930 532/1103/928 +f 6/822/736 422/1106/931 541/823/737 +f 422/1106/931 532/1103/928 545/1105/930 +f 541/823/737 422/1106/931 545/1105/930 +f 541/823/737 539/1107/932 68/821/735 +f 536/825/739 422/1108/933 6/1109/934 +f 5/826/740 490/1110/935 538/824/738 +f 490/1110/935 489/1111/936 572/1112/937 +f 490/1110/935 572/1112/937 538/824/738 +f 536/825/739 6/1109/934 5/826/740 +f 336/1113/938 632/1114/939 334/1115/940 +f 632/1114/939 631/1116/941 334/1115/940 +f 69/827/741 68/1117/942 508/1118/943 +f 68/1117/942 539/1119/944 509/1120/945 +f 68/1117/942 509/1120/945 508/1118/943 +f 543/829/743 334/1115/940 631/1116/941 +f 69/827/741 508/1118/943 540/828/742 +f 543/829/743 631/1116/941 69/827/741 +f 389/390/747 417/435/946 630/777/748 +f 464/497/405 459/494/407 426/833/416 +f 644/835/750 355/1121/257 354/836/751 +f 644/1122/947 579/1123/948 657/1124/949 +f 579/1123/948 578/1125/950 647/1126/951 +f 579/1123/948 647/1126/951 657/1124/949 +f 657/1124/949 643/1127/952 644/1122/947 +f 125/1128/953 657/1124/949 647/1126/951 +f 125/1128/953 647/1126/951 648/1129/954 +f 656/1130/955 125/1128/953 648/1129/954 +f 656/1130/955 648/1129/954 649/1131/956 +f 655/1132/957 656/1130/955 649/1131/956 +f 655/1132/957 649/1131/956 650/1133/958 +f 654/1134/959 655/1132/957 574/840/754 +f 655/1132/957 650/1133/958 574/840/754 +f 650/1133/958 651/1135/960 574/840/754 +f 626/1136/961 625/1137/962 653/1138/963 +f 653/1138/963 654/1134/959 574/840/754 +f 652/838/752 601/1139/75 575/839/753 +f 651/1135/960 652/838/752 574/840/754 +f 574/840/754 626/1136/961 653/1138/963 +f 89/1140/964 88/1141/965 570/841/756 +f 570/841/756 569/1142/966 349/842/757 +f 569/1142/966 378/1143/967 349/842/757 +f 352/843/758 89/1140/964 570/841/756 +f 50/41/30 51/40/30 599/675/260 +f 359/353/260 48/673/29 272/677/29 +f 367/847/761 366/1144/719 380/1145/968 +f 366/1144/719 638/1146/719 380/1145/968 +f 380/1145/968 384/1147/969 372/845/759 +f 384/1147/969 373/1148/812 372/845/759 +f 586/1149/970 552/1150/911 587/1151/971 +f 552/1150/911 367/847/761 376/846/760 +f 587/1151/971 552/1150/911 376/846/760 +f 376/846/760 375/1152/811 587/1151/971 +f 367/847/761 380/1145/968 372/845/759 +f 659/848/762 91/1153/762 375/849/763 +f 661/851/764 662/855/764 663/852/765 +f 664/854/766 665/902/766 662/855/764 +f 660/853/765 663/852/765 667/856/767 +f 669/858/768 670/903/768 671/859/769 +f 673/861/770 668/860/769 671/859/769 +f 677/863/771 676/866/772 675/864/772 +f 676/866/772 679/906/773 678/867/773 +f 683/868/774 682/901/774 681/869/775 +f 672/862/770 685/1154/776 684/871/776 +f 687/872/777 677/863/771 674/865/771 +f 688/874/772 689/900/773 679/875/773 +f 690/877/771 688/874/772 676/876/772 +f 691/85/777 690/877/771 677/878/771 +f 692/880/776 691/85/777 687/879/777 +f 693/882/770 692/880/776 685/881/776 +f 694/884/769 693/882/770 672/883/770 +f 695/886/768 694/884/769 671/885/769 +f 696/888/767 695/886/768 670/887/768 +f 697/890/765 696/888/767 667/889/767 +f 662/892/764 665/895/766 699/893/766 +f 698/894/764 697/890/765 663/891/765 +f 700/88/774 699/893/766 665/895/766 +f 701/89/775 700/88/774 683/896/774 +f 703/898/778 701/89/775 680/897/775 +f 689/900/773 703/898/778 702/899/778 +f 682/901/774 683/868/774 665/902/766 +f 666/857/767 667/856/767 670/903/768 +f 684/871/776 685/1154/776 687/872/777 +f 702/904/778 680/870/775 681/869/775 +f 679/906/773 702/904/778 704/905/778 +o Body +v -0.104042 0.181447 2.257226 +v -0.126597 0.181447 2.095622 +v -0.126822 0.146272 2.095582 +v -0.102747 0.146272 2.257226 +v -0.126782 0.112447 2.095582 +v -0.098912 0.112447 2.257226 +v -0.126547 0.081277 2.095582 +v -0.092677 0.081277 2.257226 +v -0.126532 0.053952 2.095582 +v -0.084292 0.053952 2.257226 +v -0.126742 0.031532 2.095582 +v -0.074072 0.031532 2.257226 +v -0.126857 0.014867 2.095582 +v -0.057242 0.014867 2.257226 +v 0.127203 0.081277 2.257226 +v 0.157028 0.041857 2.095577 +v 0.156963 0.112202 2.095577 +v 0.132873 0.112447 2.257226 +v 0.156973 0.146272 2.095582 +v 0.136363 0.146272 2.257226 +v 0.156918 0.181447 2.095582 +v 0.137543 0.181447 2.257226 +v 0.156823 0.216622 2.095577 +v 0.136363 0.216622 2.257226 +v 0.156703 0.250447 2.095577 +v 0.132873 0.250447 2.257226 +v 0.156948 0.303497 2.095577 +v 0.127203 0.281617 2.257226 +v 0.156478 0.368117 2.095577 +v 0.119573 0.308942 2.257226 +v 0.108443 0.367537 2.096226 +v 0.105608 0.331367 2.257226 +v 0.065358 0.367937 2.095962 +v 0.079033 0.348027 2.257226 +v 0.040808 0.368357 2.095427 +v 0.044898 0.358287 2.257226 +v 0.015278 0.367777 2.095107 +v 0.008613 0.361752 2.257226 +v -0.010252 0.367992 2.095267 +v -0.027957 0.358287 2.257226 +v -0.039807 0.368072 2.095676 +v -0.057242 0.348027 2.257226 +v -0.087862 0.368367 2.095827 +v -0.074072 0.331367 2.257226 +v -0.125927 0.368117 2.095577 +v -0.084292 0.308942 2.257226 +v -0.126277 0.316367 2.095582 +v -0.092677 0.281617 2.257226 +v -0.126622 0.252017 2.095577 +v -0.098912 0.250447 2.257226 +v -0.126787 0.216622 2.095622 +v -0.102747 0.216622 2.257226 +v 0.008613 0.001142 2.257226 +v 0.044898 0.004607 2.257226 +v 0.043728 0.008432 2.269892 +v 0.008953 0.005252 2.269151 +v 0.075608 0.018202 2.272082 +v 0.074288 0.018002 2.289217 +v 0.043278 0.009362 2.284971 +v 0.131853 0.238097 2.322901 +v 0.135283 0.206547 2.315361 +v -0.070897 0.313692 2.340766 +v -0.052147 0.329297 2.344187 +v -0.070897 0.033807 2.275636 +v -0.083082 0.054737 2.280421 +v 0.131853 0.109332 2.292907 +v 0.125968 0.080237 2.286257 +v 0.043648 0.338907 2.346182 +v 0.075508 0.329297 2.344187 +v -0.101562 0.140902 2.300132 +v -0.102832 0.173727 2.307687 +v -0.101562 0.206542 2.315372 +v 0.079033 0.014867 2.257226 +v 0.125968 0.267177 2.329957 +v -0.083082 0.292707 2.336036 +v -0.052152 0.018202 2.272082 +v 0.135283 0.140902 2.300132 +v 0.008868 0.342147 2.346867 +v -0.097792 0.109332 2.292907 +v 0.105608 0.031532 2.257226 +v 0.100493 0.033807 2.275636 +v 0.116473 0.292712 2.336031 +v -0.091667 0.267172 2.329972 +v -0.027957 0.004607 2.257226 +v -0.024687 0.008432 2.269892 +v 0.136443 0.173732 2.307687 +v -0.024702 0.338907 2.346182 +v -0.091667 0.080237 2.286257 +v 0.119573 0.053952 2.257226 +v 0.116473 0.054737 2.280421 +v 0.100458 0.313692 2.340756 +v -0.097792 0.238092 2.322917 +v 0.115208 0.050947 2.305392 +v 0.125268 0.073897 2.316697 +v 0.124398 0.061977 2.346682 +v 0.113923 0.042892 2.330552 +v 0.009113 0.310307 2.437171 +v 0.043063 0.307337 2.436047 +v 0.098803 0.032117 2.296112 +v -0.023487 0.307337 2.436037 +v -0.050427 0.298552 2.432451 +v -0.069587 0.284297 2.426202 +v 0.131373 0.100087 2.329607 +v -0.101067 0.128497 2.343702 +v -0.102332 0.158017 2.358666 +v -0.082372 0.265167 2.416776 +v 0.134828 0.128497 2.343697 +v -0.097322 0.100087 2.329607 +v -0.091187 0.242067 2.404372 +v 0.135983 0.158017 2.358647 +v -0.091187 0.073897 2.316697 +v -0.097322 0.215847 2.389842 +v 0.134828 0.187512 2.374151 +v -0.082382 0.050947 2.305392 +v -0.101067 0.187512 2.374202 +v 0.131373 0.215862 2.389791 +v -0.069622 0.032117 2.296112 +v 0.125258 0.242102 2.404341 +v -0.050477 0.018002 2.289217 +v 0.115168 0.265197 2.416767 +v -0.023502 0.009362 2.284971 +v 0.098703 0.284317 2.426207 +v 0.009178 0.006112 2.283536 +v 0.074133 0.298552 2.432456 +v 0.134313 0.107372 2.385381 +v 0.135478 0.131892 2.407136 +v 0.135093 0.098627 2.448882 +v 0.133923 0.080037 2.421551 +v -0.068262 0.237702 2.509001 +v -0.048792 0.250007 2.517802 +v 0.130738 0.083757 2.365137 +v -0.100527 0.107372 2.385396 +v -0.101782 0.131892 2.407187 +v -0.081487 0.221382 2.495207 +v -0.096782 0.083757 2.365142 +v -0.090542 0.201802 2.476442 +v -0.090547 0.061977 2.346682 +v -0.096782 0.179917 2.453947 +v 0.134313 0.156372 2.430287 +v -0.081522 0.042892 2.330552 +v -0.100527 0.156347 2.430351 +v 0.130733 0.179997 2.453917 +v -0.068352 0.027242 2.317312 +v 0.124368 0.201922 2.476486 +v -0.048957 0.015627 2.307477 +v 0.113838 0.221522 2.495322 +v -0.022467 0.008252 2.301422 +v 0.096973 0.237787 2.509116 +v 0.009393 0.005977 2.299371 +v 0.072818 0.250047 2.517882 +v 0.042693 0.008252 2.301422 +v 0.042503 0.257577 2.522491 +v 0.073098 0.015627 2.307477 +v 0.009353 0.260112 2.523916 +v 0.097168 0.027242 2.317312 +v -0.022337 0.257577 2.522466 +v 0.130288 0.135252 2.508852 +v 0.123643 0.152242 2.538101 +v 0.123428 0.098667 2.585832 +v 0.130143 0.086702 2.551897 +v -0.090107 0.045632 2.373337 +v -0.096382 0.062142 2.396302 +v -0.096377 0.135057 2.508687 +v -0.090092 0.151917 2.537687 +v 0.133923 0.117237 2.478221 +v -0.080817 0.031167 2.353256 +v -0.100107 0.117147 2.478212 +v -0.067327 0.019322 2.336787 +v -0.101352 0.098607 2.448906 +v -0.047877 0.010557 2.324547 +v 0.112728 0.167502 2.562846 +v -0.021672 0.005162 2.317007 +v 0.095753 0.180417 2.580732 +v 0.009598 0.003257 2.314461 +v 0.071718 0.190057 2.591747 +v 0.042193 0.005162 2.317007 +v 0.041973 0.196017 2.597352 +v 0.072058 0.010557 2.324547 +v 0.009653 0.198027 2.599011 +v 0.096028 0.019322 2.336787 +v -0.021407 0.195982 2.597237 +v 0.112883 0.031167 2.353256 +v -0.047617 0.189942 2.591491 +v 0.123693 0.045632 2.373337 +v -0.067167 0.180172 2.580297 +v 0.130298 0.062142 2.396297 +v -0.100107 0.080037 2.421576 +v -0.080757 0.167147 2.562307 +v 0.095203 0.118782 2.636012 +v 0.071288 0.125672 2.649157 +v 0.071228 0.059282 2.692111 +v 0.095123 0.055062 2.677587 +v -0.047402 0.001067 2.341511 +v -0.066952 0.007032 2.355487 +v 0.112328 0.109587 2.614851 +v -0.021337 -0.002573 2.332891 +v 0.009633 -0.003798 2.329982 +v 0.041988 -0.002573 2.332891 +v 0.041788 0.129857 2.655817 +v 0.071648 0.001067 2.341511 +v 0.009733 0.131222 2.657737 +v 0.095528 0.007032 2.355487 +v -0.021032 0.129787 2.655612 +v 0.112498 0.015117 2.374301 +v -0.047082 0.125447 2.648592 +v 0.123488 0.025007 2.397232 +v -0.066762 0.118302 2.634996 +v 0.130158 0.036297 2.423471 +v -0.099957 0.048547 2.452266 +v -0.101202 0.061252 2.483346 +v -0.080542 0.109017 2.613652 +v 0.133788 0.048552 2.452266 +v -0.096237 0.036297 2.423471 +v -0.089947 0.098097 2.584816 +v 0.134953 0.061302 2.483371 +v -0.089967 0.025007 2.397232 +v -0.096237 0.086327 2.551286 +v 0.133783 0.074132 2.516822 +v -0.080617 0.015117 2.374301 +v -0.099957 0.073977 2.516632 +v 0.009738 0.062607 2.701731 +v -0.020977 0.061682 2.699227 +v -0.020972 -0.007258 2.732306 +v 0.009738 -0.006813 2.734906 +v 0.041933 -0.018718 2.353367 +v 0.009643 -0.019438 2.350227 +v 0.041763 0.061787 2.699567 +v 0.071538 -0.016558 2.362597 +v 0.095388 -0.013008 2.377592 +v 0.112418 -0.008168 2.397752 +v -0.047002 0.058982 2.691226 +v 0.123453 -0.002253 2.422401 +v -0.066707 0.054557 2.676067 +v 0.130138 0.004507 2.450612 +v -0.099937 0.011832 2.481547 +v -0.101177 0.019462 2.514677 +v -0.080517 0.048592 2.652551 +v 0.133768 0.011847 2.481552 +v -0.096217 0.004507 2.450607 +v -0.089932 0.041837 2.621762 +v 0.134933 0.019522 2.514766 +v -0.089947 -0.002253 2.422401 +v -0.096217 0.034602 2.586362 +v 0.133763 0.027307 2.550277 +v -0.080582 -0.008168 2.397752 +v -0.099937 0.027097 2.549876 +v 0.130128 0.035027 2.587296 +v -0.066867 -0.013008 2.377592 +v 0.123403 0.042477 2.623416 +v -0.047272 -0.016558 2.362597 +v 0.112273 0.049342 2.654462 +v -0.021247 -0.018718 2.353367 +v -0.021152 -0.047593 2.380947 +v 0.009683 -0.047948 2.377752 +v 0.009708 -0.091883 2.410267 +v -0.021057 -0.091763 2.413502 +v 0.112358 -0.042393 2.426476 +v 0.095288 -0.044783 2.405797 +v -0.046992 -0.008633 2.724011 +v 0.123428 -0.039463 2.451837 +v -0.066702 -0.010948 2.708507 +v 0.130133 -0.036123 2.480987 +v -0.099932 -0.032498 2.512922 +v -0.101177 -0.028723 2.546967 +v -0.080517 -0.013993 2.684987 +v 0.133763 -0.032488 2.512932 +v -0.096217 -0.036123 2.480992 +v -0.089927 -0.017503 2.654326 +v 0.134928 -0.028678 2.547066 +v -0.089937 -0.039463 2.451837 +v -0.096217 -0.021188 2.619167 +v 0.133763 -0.024778 2.583122 +v -0.080552 -0.042393 2.426476 +v -0.099932 -0.024923 2.582686 +v 0.130128 -0.020838 2.620347 +v -0.066802 -0.044783 2.405797 +v 0.123403 -0.016968 2.656266 +v -0.047172 -0.046538 2.390441 +v 0.112268 -0.013438 2.687297 +v 0.095118 -0.010478 2.710447 +v 0.071223 -0.008393 2.725106 +v 0.041868 -0.047593 2.380947 +v 0.041763 -0.007183 2.732727 +v 0.071428 -0.046538 2.390441 +v 0.071318 -0.091388 2.422987 +v 0.095193 -0.090763 2.438312 +v 0.095138 -0.150878 2.470521 +v 0.071253 -0.150923 2.455152 +v 0.071223 -0.077493 2.751517 +v 0.095118 -0.078243 2.737706 +v 0.041818 -0.091763 2.413502 +v 0.041763 -0.077093 2.758621 +v 0.009738 -0.076978 2.760701 +v -0.020972 -0.077148 2.758147 +v 0.112303 -0.089913 2.459091 +v -0.046992 -0.077633 2.750282 +v 0.123408 -0.088868 2.484561 +v -0.066702 -0.078498 2.735707 +v 0.130128 -0.087683 2.513982 +v -0.099932 -0.086388 2.546287 +v -0.101177 -0.085048 2.580527 +v -0.080517 -0.079658 2.713696 +v 0.133763 -0.086388 2.546287 +v -0.096217 -0.087683 2.513982 +v -0.089927 -0.080993 2.684916 +v 0.134928 -0.085033 2.580621 +v -0.089932 -0.088868 2.484561 +v -0.096217 -0.082328 2.651492 +v 0.133763 -0.083618 2.616377 +v -0.080527 -0.089913 2.459091 +v -0.099932 -0.083693 2.615967 +v 0.130128 -0.082168 2.652611 +v -0.066747 -0.090763 2.438312 +v 0.123403 -0.080703 2.686902 +v -0.047077 -0.091388 2.422987 +v 0.112268 -0.079328 2.716082 +v 0.123403 -0.150723 2.516716 +v 0.130123 -0.150623 2.546186 +v 0.130118 -0.223168 2.573477 +v 0.123393 -0.222843 2.543906 +v -0.020972 -0.149493 2.778831 +v 0.009738 -0.149478 2.781187 +v 0.112278 -0.150808 2.491152 +v -0.046992 -0.149553 2.771621 +v -0.066702 -0.149653 2.758532 +v -0.099932 -0.150518 2.578537 +v -0.101177 -0.150408 2.612692 +v -0.080517 -0.149838 2.738907 +v 0.133763 -0.150518 2.578542 +v -0.096217 -0.150623 2.546181 +v -0.089927 -0.150003 2.712776 +v 0.134928 -0.150408 2.612751 +v -0.089927 -0.150723 2.516716 +v -0.096217 -0.150168 2.681612 +v 0.133763 -0.150283 2.647907 +v -0.080517 -0.150808 2.491152 +v -0.099932 -0.150293 2.647557 +v 0.130123 -0.150113 2.682542 +v -0.066712 -0.150878 2.470521 +v 0.123403 -0.149903 2.714457 +v -0.047017 -0.150923 2.455152 +v 0.112268 -0.149698 2.740982 +v -0.021002 -0.150948 2.445692 +v 0.095113 -0.149533 2.760386 +v 0.009728 -0.150958 2.442497 +v 0.071223 -0.149478 2.772737 +v 0.041783 -0.150948 2.445692 +v 0.041763 -0.149468 2.779326 +v 0.134923 -0.223888 2.639867 +v 0.133758 -0.224253 2.674222 +v 0.133723 -0.300623 2.692542 +v 0.134888 -0.300128 2.658852 +v -0.099927 -0.223523 2.605856 +v -0.101172 -0.223888 2.639827 +v -0.080507 -0.225168 2.758941 +v -0.066682 -0.225388 2.776417 +v 0.133758 -0.223523 2.605861 +v -0.096207 -0.223168 2.573477 +v -0.089922 -0.224908 2.735567 +v -0.089922 -0.222843 2.543906 +v -0.096207 -0.224598 2.706631 +v -0.080507 -0.222558 2.518296 +v -0.099927 -0.224253 2.674011 +v 0.130118 -0.224593 2.707287 +v -0.066682 -0.222323 2.497396 +v 0.123393 -0.224878 2.736777 +v -0.046972 -0.222148 2.481987 +v 0.112248 -0.225118 2.760502 +v -0.020962 -0.222043 2.472451 +v 0.095093 -0.225333 2.777837 +v 0.009743 -0.222003 2.469197 +v 0.071203 -0.225513 2.788971 +v 0.041758 -0.222043 2.472451 +v 0.041753 -0.225648 2.795027 +v 0.071213 -0.222148 2.481987 +v 0.009743 -0.225703 2.796861 +v 0.095093 -0.222323 2.497396 +v -0.020952 -0.225668 2.794601 +v 0.112248 -0.222558 2.518296 +v -0.046972 -0.225558 2.787992 +v 0.123323 -0.301523 2.751557 +v 0.112143 -0.301888 2.773307 +v 0.111763 -0.367278 2.778981 +v 0.123048 -0.366883 2.758672 +v -0.080437 -0.298328 2.537172 +v -0.089877 -0.298713 2.563031 +v -0.099887 -0.300623 2.692401 +v -0.096172 -0.301093 2.723742 +v 0.130078 -0.301093 2.724152 +v -0.066577 -0.298013 2.516082 +v -0.101127 -0.300128 2.658827 +v -0.046847 -0.297778 2.500422 +v -0.020862 -0.297633 2.490741 +v 0.094963 -0.302198 2.788872 +v 0.009768 -0.297583 2.487487 +v 0.071098 -0.302438 2.799277 +v 0.041703 -0.297633 2.490741 +v 0.041703 -0.302598 2.805131 +v 0.071098 -0.297778 2.500422 +v 0.009773 -0.302658 2.806857 +v 0.094968 -0.298013 2.516082 +v -0.020862 -0.302613 2.804657 +v 0.112143 -0.298328 2.537172 +v -0.046847 -0.302463 2.798387 +v 0.123323 -0.298713 2.563031 +v -0.066577 -0.302228 2.787722 +v 0.130078 -0.299153 2.592726 +v -0.099887 -0.299633 2.625082 +v -0.080437 -0.301908 2.772166 +v 0.133723 -0.299633 2.625082 +v -0.096172 -0.299153 2.592726 +v -0.089877 -0.301528 2.750731 +v 0.070733 -0.367853 2.803761 +v 0.041538 -0.368008 2.809531 +v 0.041153 -0.402038 2.810107 +v 0.069898 -0.401883 2.804367 +v -0.020557 -0.362833 2.500726 +v -0.046437 -0.362983 2.510462 +v 0.094528 -0.367603 2.793827 +v 0.009853 -0.362783 2.497422 +v 0.041538 -0.362833 2.500726 +v 0.070733 -0.362983 2.510462 +v 0.009853 -0.368063 2.811261 +v 0.094528 -0.363228 2.526272 +v -0.020557 -0.368013 2.808902 +v 0.111763 -0.363558 2.547532 +v -0.046437 -0.367863 2.802752 +v 0.123048 -0.363958 2.573517 +v -0.066202 -0.367618 2.792622 +v 0.129888 -0.364413 2.603216 +v -0.099732 -0.364908 2.635497 +v -0.100972 -0.365423 2.668967 +v -0.080162 -0.367288 2.777956 +v 0.133573 -0.364908 2.635507 +v -0.096017 -0.364413 2.603216 +v -0.089687 -0.366888 2.757951 +v 0.134743 -0.365423 2.669007 +v -0.089687 -0.363958 2.573517 +v -0.096017 -0.366433 2.732261 +v 0.133573 -0.365938 2.702047 +v -0.080162 -0.363558 2.547532 +v -0.099732 -0.365938 2.701906 +v 0.129888 -0.366433 2.732651 +v -0.066202 -0.363228 2.526272 +v 0.069898 -0.397023 2.514677 +v 0.041153 -0.396873 2.504946 +v 0.010053 -0.402088 2.811737 +v 0.093518 -0.397268 2.530447 +v -0.019852 -0.402038 2.809427 +v 0.110838 -0.397593 2.551687 +v -0.045492 -0.401888 2.803162 +v 0.122358 -0.397993 2.577567 +v -0.065302 -0.401643 2.793172 +v 0.129398 -0.398448 2.607136 +v -0.099347 -0.398943 2.639172 +v -0.100587 -0.399453 2.672261 +v -0.079472 -0.401313 2.778791 +v 0.133183 -0.398943 2.639192 +v -0.095607 -0.398448 2.607131 +v -0.089192 -0.400918 2.759287 +v 0.134383 -0.399453 2.672342 +v -0.089192 -0.397993 2.577567 +v -0.095607 -0.400463 2.734262 +v 0.133183 -0.399968 2.704881 +v -0.079472 -0.397593 2.551687 +v -0.099347 -0.399968 2.704672 +v 0.129398 -0.400463 2.734692 +v -0.065302 -0.397268 2.530447 +v 0.122358 -0.400918 2.760062 +v -0.045492 -0.397023 2.514677 +v 0.110838 -0.401313 2.779922 +v -0.019852 -0.396873 2.504946 +v 0.093513 -0.401638 2.794411 +v 0.010053 -0.396823 2.501657 +v -0.195687 0.368117 1.774311 +v -0.195687 -0.007073 1.774311 +v -0.125927 -0.007073 2.017036 +v -0.125927 0.368117 2.017036 +v 0.156478 0.368117 2.017036 +v 0.226243 0.368117 1.774311 +v 0.226243 0.368117 1.268341 +v -0.195687 0.366977 1.268341 +v 0.156478 -0.007073 2.017036 +v 0.226243 -0.007073 1.774311 +v 0.156478 -0.007073 2.095577 +v -0.125927 -0.007073 2.095577 +v -0.195687 -0.007073 1.254626 +v 0.226243 -0.007073 1.254626 +v -0.195687 0.550997 1.254626 +v 0.226243 0.550997 1.254626 +v -0.072587 0.420187 2.008317 +v -0.072477 0.361167 2.008317 +v -0.104802 0.368752 2.008317 +v -0.104802 0.420417 2.008317 +v -0.195687 0.549692 1.221916 +v 0.226243 0.550997 1.204016 +v 0.225853 0.550277 1.249016 +v 0.225853 0.633187 1.249016 +v -0.195297 0.633187 1.249016 +v -0.195297 0.550672 1.249016 +v -0.163912 0.658712 1.113386 +v -0.112717 0.696867 0.713111 +v -0.112717 0.549447 0.713111 +v -0.195297 0.549447 1.116916 +v -0.040032 0.696867 0.713111 +v 0.059728 0.696867 0.713111 +v 0.143273 0.696867 0.713111 +v 0.143273 0.549447 0.713111 +v 0.194463 0.658712 1.113386 +v 0.225853 0.549447 1.116916 +v 0.059728 0.696867 0.729606 +v 0.046923 0.696867 0.740811 +v 0.046923 0.696867 0.912051 +v -0.024562 0.696867 0.912051 +v -0.024562 0.696867 0.741876 +v -0.040032 0.696867 0.724806 +v -0.040032 0.689142 0.724806 +v -0.040032 0.689142 0.713111 +v -0.024562 0.689142 0.741876 +v -0.024562 0.689142 0.912051 +v 0.046923 0.689142 0.912051 +v 0.046923 0.689142 0.740811 +v 0.059728 0.689142 0.729606 +v 0.059728 0.689142 0.713111 +v 0.225853 0.593962 1.295721 +v -0.195297 0.593962 1.295721 +v 0.212403 0.550112 1.316051 +v -0.182962 0.550112 1.316051 +v 0.192248 0.345407 1.571866 +v 0.192248 0.545037 1.571866 +v 0.103763 0.546742 1.573221 +v -0.073207 0.546647 1.573161 +v -0.161692 0.545037 1.571866 +v -0.161692 0.345407 1.571866 +v 0.135358 0.420417 2.008317 +v 0.192248 0.420417 1.709236 +v 0.192248 0.367842 1.709236 +v 0.135358 0.369122 2.008317 +v -0.161692 0.368532 1.709236 +v -0.161692 0.420417 1.709236 +v -0.161692 0.520587 1.606886 +v -0.161692 0.489417 1.642786 +v 0.192248 0.489582 1.642891 +v 0.192248 0.520637 1.606921 +v 0.103763 0.535337 1.618551 +v -0.073207 0.534522 1.618026 +v -0.070712 0.420642 1.953486 +v -0.062112 0.420712 1.935831 +v -0.062112 0.361462 1.935831 +v -0.070712 0.361392 1.953486 +v 0.103763 0.513257 1.661546 +v -0.073207 0.511952 1.660701 +v 0.050893 0.420857 1.900291 +v 0.066983 0.420822 1.909211 +v 0.066983 0.361572 1.909211 +v 0.050893 0.361607 1.900291 +v 0.081088 0.420772 1.921211 +v 0.081088 0.361522 1.921211 +v 0.092663 0.420712 1.935831 +v 0.092663 0.361462 1.935831 +v 0.103143 0.420187 2.008317 +v 0.135358 0.361167 2.008317 +v 0.103253 0.360712 2.008317 +v 0.103983 0.415327 2.008317 +v 0.103763 0.421957 1.710461 +v -0.073207 0.421872 1.710406 +v 0.101263 0.420642 1.953486 +v 0.104628 0.361197 2.001492 +v 0.101263 0.361392 1.953486 +v -0.050537 0.420772 1.921211 +v -0.050537 0.361522 1.921211 +v -0.036432 0.420822 1.909211 +v -0.036432 0.361572 1.909211 +v -0.020342 0.420857 1.900291 +v -0.020342 0.361607 1.900291 +v -0.002882 0.420882 1.894726 +v -0.002882 0.361632 1.894726 +v 0.015278 0.420887 1.892916 +v 0.015278 0.361637 1.892916 +v 0.033433 0.420882 1.894726 +v 0.033433 0.361632 1.894726 +v 0.072728 0.361497 1.985322 +v 0.060413 0.357467 1.984221 +v 0.060413 0.357987 1.969821 +v 0.072728 0.363242 1.961426 +v -0.029862 0.357467 1.984221 +v -0.042172 0.361497 1.985322 +v -0.042172 0.363242 1.962436 +v -0.029862 0.357987 1.969821 +v 0.082828 0.366757 1.992096 +v 0.082828 0.367782 1.969347 +v -0.015812 0.354472 1.984221 +v -0.015812 0.355047 1.969717 +v 0.090338 0.372012 1.982836 +v -0.000572 0.352627 1.984221 +v -0.000572 0.353242 1.968827 +v 0.015278 0.352007 1.984221 +v 0.015278 0.352627 1.968521 +v 0.031128 0.352627 1.984221 +v 0.031128 0.353242 1.968827 +v -0.059782 0.372252 1.990866 +v -0.065967 0.384417 1.984371 +v -0.059782 0.372957 1.971326 +v 0.046368 0.354472 1.984221 +v 0.046368 0.355047 1.969717 +v -0.052277 0.366757 1.993742 +v -0.052277 0.366757 1.973552 +v 0.046368 0.356752 1.955771 +v 0.060413 0.359517 1.958616 +v -0.029862 0.359517 1.958616 +v -0.015812 0.356752 1.955771 +v 0.090338 0.374102 1.964501 +v -0.000572 0.355047 1.954021 +v 0.096523 0.384417 1.985411 +v 0.094963 0.381562 1.971781 +v 0.015278 0.354472 1.953426 +v 0.031128 0.355047 1.954021 +v -0.064407 0.378572 1.974307 +v -0.000572 0.357987 1.940376 +v 0.015278 0.357467 1.939516 +v 0.031128 0.357987 1.940376 +v 0.046368 0.359517 1.942921 +v -0.052277 0.369442 1.961657 +v 0.060413 0.362007 1.947241 +v -0.029862 0.362007 1.948291 +v -0.015812 0.359517 1.942921 +v -0.052277 0.374412 1.948831 +v -0.042172 0.368212 1.943866 +v 0.060413 0.369442 1.928741 +v 0.072728 0.371682 1.939526 +v -0.029862 0.365362 1.936131 +v 0.082828 0.371682 1.952761 +v -0.015812 0.363242 1.930786 +v -0.000572 0.361937 1.928416 +v 0.015278 0.361497 1.927326 +v 0.031128 0.361937 1.928416 +v 0.046368 0.363242 1.929736 +v -0.000572 0.366757 1.917736 +v 0.015278 0.366407 1.917316 +v 0.031128 0.366757 1.917736 +v -0.059782 0.377527 1.960471 +v 0.046368 0.372957 1.917011 +v -0.042172 0.375647 1.932931 +v -0.029862 0.374102 1.923296 +v 0.082828 0.377527 1.944441 +v -0.015812 0.372957 1.916506 +v 0.060413 0.379157 1.919916 +v 0.072728 0.379942 1.931296 +v 0.090338 0.379667 1.955586 +v -0.000572 0.372252 1.911116 +v 0.015278 0.372012 1.909686 +v 0.031128 0.372252 1.911116 +v -0.059782 0.384417 1.954947 +v 0.015278 0.384417 1.905541 +v 0.031128 0.384417 1.907051 +v 0.046368 0.384417 1.912161 +v -0.052277 0.384417 1.941311 +v -0.042172 0.384417 1.928946 +v -0.029862 0.384417 1.919221 +v -0.015812 0.384417 1.912001 +v -0.000572 0.384417 1.907051 +v 0.082828 0.384417 1.941681 +v -0.054747 0.410147 1.984442 +v -0.050687 0.412272 1.963086 +v 0.029208 0.411657 1.916271 +v 0.042598 0.416322 1.922586 +v -0.044087 0.412272 1.948071 +v 0.054943 0.415307 1.928896 +v -0.035207 0.413937 1.937821 +v 0.065763 0.413937 1.937631 +v -0.024387 0.415307 1.929656 +v 0.074643 0.415032 1.951711 +v -0.012047 0.416322 1.922586 +v 0.081238 0.410367 1.961992 +v 0.001348 0.411657 1.916271 +v 0.085303 0.410147 1.984046 +v 0.015278 0.411767 1.913636 +v 0.001348 0.423157 1.926791 +v 0.015278 0.420487 1.921621 +v 0.029208 0.423157 1.926791 +v 0.042598 0.422637 1.936496 +v 0.054943 0.421792 1.940636 +v -0.035207 0.422417 1.949106 +v 0.065763 0.420657 1.943601 +v -0.024387 0.423867 1.945071 +v -0.012047 0.422637 1.932076 +v 0.081238 0.415307 1.967831 +v 0.015278 0.425822 1.933986 +v -0.012047 0.426827 1.948986 +v 0.001348 0.427607 1.946311 +v 0.029208 0.427607 1.944816 +v -0.050687 0.416322 1.973017 +v -0.044087 0.420657 1.957952 +v 0.010993 0.429387 1.984911 +v 0.065763 0.423867 1.959557 +v -0.044087 0.422637 1.972241 +v 0.042598 0.426827 1.950346 +v -0.035207 0.424937 1.969486 +v 0.074643 0.421792 1.962707 +v 0.015278 0.427867 1.948406 +v 0.065763 0.425602 1.976111 +v 0.074643 0.423157 1.976421 +v -0.049832 0.419682 1.989562 +v 0.074643 0.423157 1.993811 +v -0.044087 0.423157 1.990957 +v -0.035207 0.425602 1.991261 +v 0.065763 0.425602 1.992446 +v -0.044087 0.421792 2.005007 +v -0.035207 0.423867 2.007536 +v 0.065763 0.423867 2.007051 +v 0.081238 0.416322 1.997272 +v 0.074643 0.420657 2.011071 +v 0.001348 0.425602 2.029992 +v 0.015278 0.427867 2.022802 +v 0.029208 0.425602 2.029171 +v -0.050687 0.412272 2.004812 +v 0.042598 0.424937 2.028047 +v 0.015278 0.425822 2.035047 +v 0.065763 0.420657 2.024581 +v -0.024387 0.421792 2.027916 +v -0.012047 0.422637 2.032146 +v 0.081238 0.408302 2.008471 +v -0.044087 0.415032 2.018562 +v 0.054943 0.421792 2.026891 +v -0.035207 0.420657 2.024837 +v 0.029208 0.420367 2.047677 +v 0.042598 0.411337 2.047562 +v 0.054943 0.415307 2.040537 +v -0.035207 0.413937 2.030951 +v 0.065763 0.410122 2.033127 +v -0.024387 0.415307 2.040177 +v 0.074643 0.409272 2.022362 +v -0.012047 0.411337 2.048382 +v 0.001348 0.420367 2.047677 +v 0.015278 0.420487 2.048441 +v 0.001348 0.411657 2.053447 +v 0.015278 0.411767 2.054806 +v 0.029208 0.411657 2.053447 +v 0.031128 0.384417 2.061387 +v 0.046368 0.384417 2.056911 +v -0.059782 0.384417 2.014647 +v -0.052277 0.384417 2.027192 +v 0.060413 0.384417 2.049217 +v -0.042172 0.384417 2.039496 +v 0.072728 0.384417 2.039856 +v -0.029862 0.384417 2.049217 +v 0.082828 0.384417 2.027931 +v -0.015812 0.384417 2.056911 +v 0.090338 0.384417 2.015052 +v -0.000572 0.384417 2.061387 +v 0.094963 0.381562 1.997797 +v 0.015278 0.384417 2.062901 +v -0.064407 0.381562 1.997211 +v 0.046368 0.372957 2.051937 +v 0.060413 0.374102 2.045146 +v -0.052277 0.377527 2.023782 +v -0.042172 0.375647 2.036031 +v 0.072728 0.375647 2.036031 +v -0.029862 0.374102 2.045146 +v 0.082828 0.377527 2.023097 +v -0.015812 0.372957 2.051937 +v -0.000572 0.372252 2.057322 +v 0.015278 0.372012 2.058757 +v 0.031128 0.372252 2.057322 +v 0.090338 0.377527 2.009461 +v -0.000572 0.366757 2.050707 +v 0.015278 0.366407 2.051126 +v 0.031128 0.366757 2.050707 +v -0.059782 0.377527 2.009562 +v -0.052277 0.371682 2.014802 +v -0.042172 0.368212 2.023762 +v 0.060413 0.365362 2.032311 +v 0.072728 0.368212 2.023077 +v -0.029862 0.365362 2.032311 +v 0.082828 0.369442 2.009331 +v -0.015812 0.363242 2.037657 +v -0.000572 0.361937 2.040026 +v 0.015278 0.361497 2.041116 +v 0.031128 0.361937 2.040026 +v 0.046368 0.363242 2.037657 +v -0.000572 0.357987 2.028067 +v 0.015278 0.357467 2.028927 +v 0.031128 0.357987 2.028067 +v 0.046368 0.359517 2.025522 +v 0.060413 0.362007 2.022481 +v -0.029862 0.362007 2.022481 +v -0.015812 0.359517 2.025522 +v 0.060413 0.359517 2.009826 +v 0.072728 0.363242 2.004677 +v -0.042172 0.363242 2.004061 +v -0.029862 0.359517 2.009826 +v -0.015812 0.356752 2.012671 +v 0.090338 0.372957 1.996261 +v -0.000572 0.355047 2.014421 +v 0.015278 0.354472 2.015012 +v 0.031128 0.355047 2.014421 +v 0.046368 0.356752 2.012671 +v 0.015278 0.352627 1.999922 +v 0.031128 0.353242 1.999616 +v 0.046368 0.355047 1.998726 +v 0.060413 0.357987 1.998621 +v -0.029862 0.357987 1.998621 +v -0.015812 0.355047 1.998726 +v -0.000572 0.353242 1.999616 +v 0.003258 0.370252 2.281246 +v 0.027493 0.370302 2.281246 +v 0.035023 0.408137 2.129462 +v -0.001387 0.408622 2.129462 +v -0.010042 0.367867 2.038851 +v -0.009962 0.401282 2.038902 +v 0.042338 0.401057 2.038902 +v 0.042258 0.367607 2.038851 +v 0.028093 0.384792 2.329497 +v 0.028093 0.363512 2.388186 +v 0.028093 0.327292 2.388186 +v 0.002468 0.327292 2.388186 +v 0.002468 0.384792 2.329497 +v 0.002468 0.363512 2.388186 +v 0.068013 -0.228233 2.518971 +v 0.068013 0.013907 2.518971 +v -0.037457 0.019012 2.517522 +v -0.037457 -0.228233 2.518971 +v -0.037457 0.037037 2.228512 +v -0.037457 -0.035548 2.363811 +v -0.037457 -0.114833 2.420382 +v -0.037457 -0.141213 2.430486 +v -0.037457 -0.157813 2.407912 +v -0.037457 -0.182318 2.256881 +v -0.037457 -0.163618 1.540676 +v -0.037457 -0.140853 1.439856 +v -0.037457 -0.118898 1.414651 +v -0.037457 -0.031898 1.387006 +v -0.037457 -0.002833 1.394031 +v -0.037457 0.005912 1.234126 +v -0.037457 -0.120743 1.234126 +v -0.037457 -0.156103 1.249301 +v -0.037457 -0.195388 1.282306 +v -0.037457 -0.228233 1.336521 +v 0.068013 -0.119953 1.234126 +v 0.068013 -0.154528 1.248516 +v 0.068013 -0.228233 1.336521 +v 0.068013 -0.002833 1.394031 +v 0.068013 0.005912 1.234126 +v 0.068013 0.037037 2.228512 +v 0.068013 -0.182418 2.255682 +v 0.068013 -0.163683 1.539216 +v 0.068013 -0.158043 2.408497 +v 0.068013 -0.114508 2.418916 +v 0.068013 -0.141163 2.430047 +v 0.068013 -0.118023 1.413936 +v 0.068013 -0.033723 1.385836 +v 0.068013 -0.142608 1.440866 +v 0.068013 -0.035388 2.363081 +v 0.068013 -0.196963 1.283091 +v -0.005942 -0.042618 2.338112 +v -0.005942 -0.100638 2.320961 +v 0.036498 -0.101533 2.320857 +v 0.036498 -0.042803 2.338292 +v -0.005942 -0.137968 2.278247 +v 0.036498 -0.138033 2.277931 +v -0.005942 -0.147408 2.241127 +v 0.036498 -0.147388 2.241152 +v -0.005942 -0.142673 2.231221 +v 0.036498 -0.143133 2.231192 +v -0.005942 -0.129093 2.239007 +v 0.036498 -0.129233 2.238621 +v 0.036498 -0.123748 2.260201 +v -0.005942 -0.123638 2.260462 +v 0.036498 -0.099003 2.279491 +v -0.005942 -0.098758 2.279876 +v 0.036498 -0.053278 2.297096 +v 0.036498 0.010987 2.287022 +v 0.036498 0.020827 2.323677 +v -0.005942 -0.053098 2.296906 +v -0.005942 0.011037 2.286762 +v -0.005942 0.020817 2.323792 +v 0.199578 0.029307 1.023416 +v -0.169022 0.029307 1.023416 +v -0.150432 -0.016318 1.023416 +v 0.180983 -0.016318 1.023416 +v -0.169022 -0.114193 1.023416 +v -0.145087 0.006777 0.042916 +v -0.145087 -0.145488 0.162656 +v 0.175643 0.006777 0.042916 +v 0.174613 -0.144813 0.163436 +v 0.199578 -0.114193 1.023416 +v -0.150432 -0.068568 1.023416 +v -0.150432 -0.066233 1.289691 +v -0.150432 -0.005218 1.289691 +v 0.180983 -0.068568 1.023416 +v 0.180983 -0.066233 1.289691 +v 0.180983 -0.005218 1.289691 +v -0.155997 -0.038078 1.318871 +v 0.175418 -0.038078 1.318871 +v -0.155997 0.015692 1.348681 +v 0.175418 0.015692 1.348681 +v 0.215908 -0.146428 0.163306 +v 0.215908 -0.056528 0.163306 +v -0.185352 -0.056528 0.163306 +v -0.185352 -0.146428 0.163306 +v -0.185352 -0.056528 -0.146719 +v -0.185352 -0.101478 -0.146719 +v -0.185352 -0.146428 -0.146719 +v 0.015278 -0.101478 -0.209519 +v 0.015278 -0.056528 -0.209519 +v 0.215908 -0.030858 -0.146719 +v 0.215908 -0.101478 -0.146719 +v 0.215908 -0.146428 -0.146719 +v 0.015278 -0.146428 -0.209519 +v 0.175288 -0.143243 0.196526 +v 0.174613 -0.060373 0.196071 +v -0.146542 -0.056528 0.191646 +v -0.144587 -0.143313 0.194191 +v -0.405377 0.476302 0.692766 +v -0.405352 0.476302 0.758991 +v -0.424372 0.386822 0.759151 +v -0.424397 0.386822 0.692766 +v 0.010783 0.341082 0.692766 +v 0.010808 0.341082 0.759231 +v 0.010808 0.432562 0.759066 +v 0.010783 0.432562 0.692766 +v -0.405352 0.297342 0.759311 +v -0.405377 0.297342 0.692766 +v -0.026402 0.516132 0.758921 +v -0.026422 0.516132 0.692766 +v -0.351582 0.223332 0.759446 +v -0.351607 0.223332 0.692766 +v -0.094382 0.577342 0.758811 +v -0.094407 0.577342 0.692766 +v -0.272362 0.177592 0.759526 +v -0.272382 0.177592 0.692766 +v -0.181382 0.605612 0.758756 +v -0.181407 0.605612 0.692766 +v -0.181382 0.168032 0.759546 +v -0.181407 0.168032 0.692766 +v -0.272362 0.596047 0.758776 +v -0.272382 0.596047 0.692766 +v -0.094382 0.196302 0.759491 +v -0.094407 0.196302 0.692766 +v -0.351587 0.550307 0.758856 +v -0.351607 0.550307 0.692766 +v -0.026402 0.257512 0.759381 +v -0.026422 0.257512 0.692766 +v -0.405212 0.476302 1.173446 +v -0.424232 0.386822 1.173446 +v -0.365537 0.386822 1.234656 +v -0.351437 0.453157 1.234626 +v -0.405212 0.297342 1.173446 +v -0.351437 0.320487 1.234626 +v -0.351442 0.223332 1.173446 +v -0.311572 0.265622 1.234546 +v -0.026257 0.516132 1.173446 +v -0.094242 0.577342 1.173446 +v -0.120902 0.528062 1.234116 +v -0.070502 0.482682 1.233996 +v -0.272217 0.177592 1.173446 +v -0.252842 0.231712 1.234421 +v -0.181242 0.605612 1.173446 +v -0.185397 0.549017 1.234271 +v -0.181242 0.168032 1.173446 +v -0.185397 0.224627 1.234271 +v -0.272217 0.596047 1.173446 +v -0.252842 0.541927 1.234421 +v -0.094242 0.196302 1.173446 +v -0.120902 0.245582 1.234116 +v -0.351442 0.550307 1.173446 +v -0.311572 0.508022 1.234546 +v -0.026257 0.257512 1.173446 +v -0.070502 0.290957 1.233996 +v 0.010948 0.341082 1.173446 +v -0.042922 0.352912 1.233926 +v -0.091882 0.363732 1.259541 +v -0.110667 0.321542 1.259606 +v -0.311577 0.386822 1.260296 +v -0.301972 0.431992 1.260261 +v -0.042922 0.420727 1.233926 +v -0.091882 0.409912 1.259541 +v -0.301972 0.341647 1.260261 +v -0.110667 0.452102 1.259606 +v -0.274827 0.304287 1.260171 +v -0.144987 0.483002 1.259726 +v -0.234832 0.281197 1.260031 +v -0.188907 0.497272 1.259876 +v -0.188907 0.276367 1.259876 +v -0.234837 0.492447 1.260031 +v -0.144987 0.290642 1.259726 +v -0.274827 0.469357 1.260171 +v -0.260057 0.413807 1.272991 +v -0.243842 0.436127 1.272976 +v -0.134547 0.373027 1.272886 +v -0.145772 0.347822 1.272896 +v -0.265797 0.386822 1.272996 +v -0.134547 0.400617 1.272886 +v -0.260057 0.359837 1.272991 +v -0.145772 0.425822 1.272896 +v -0.243842 0.337512 1.272976 +v -0.166272 0.444282 1.272911 +v -0.219947 0.323722 1.272956 +v -0.192512 0.452807 1.272936 +v -0.192512 0.320837 1.272936 +v -0.219947 0.449922 1.272956 +v -0.166272 0.329362 1.272911 +v -0.226847 0.399147 1.287626 +v -0.219442 0.409342 1.287626 +v -0.169522 0.380522 1.287626 +v -0.174647 0.369007 1.287626 +v -0.229467 0.386822 1.287626 +v -0.169522 0.393122 1.287626 +v -0.226847 0.374497 1.287626 +v -0.174647 0.404632 1.287626 +v -0.219442 0.364302 1.287626 +v -0.184012 0.413067 1.287626 +v -0.208527 0.358002 1.287626 +v -0.195997 0.416957 1.287626 +v -0.195997 0.356682 1.287626 +v -0.208527 0.415642 1.287626 +v -0.184012 0.360577 1.287626 +v 0.027873 0.338482 0.691421 +v -0.012007 0.248907 0.691421 +v -0.084867 0.591707 0.691421 +v -0.012007 0.526097 0.691421 +v 0.027873 0.436527 0.691421 +v -0.084867 0.183302 0.691421 +v -0.178117 0.153002 0.691421 +v -0.026422 0.516132 0.748081 +v -0.012007 0.526097 0.750706 +v -0.084867 0.591707 0.750706 +v -0.094407 0.577342 0.748081 +v -0.275627 0.163252 0.691421 +v 0.010783 0.432562 0.748081 +v 0.027873 0.436527 0.750706 +v -0.360542 0.212277 0.691421 +v 0.010783 0.341082 0.748081 +v 0.027873 0.338482 0.750706 +v -0.026422 0.257512 0.748081 +v -0.012007 0.248907 0.750706 +v -0.418172 0.291597 0.691421 +v -0.094407 0.196302 0.748081 +v -0.084867 0.183302 0.750706 +v -0.275627 0.611757 0.691421 +v -0.178117 0.622007 0.691421 +v -0.181407 0.168032 0.748081 +v -0.178117 0.153002 0.750706 +v -0.272382 0.177592 0.748081 +v -0.275627 0.163252 0.750706 +v -0.351607 0.223332 0.748081 +v -0.360542 0.212277 0.750706 +v -0.405377 0.297342 0.748081 +v -0.418172 0.291597 0.750706 +v -0.438557 0.387502 0.691421 +v -0.424397 0.386822 0.748081 +v -0.438557 0.387502 0.750706 +v -0.418172 0.483412 0.691421 +v -0.178117 0.622007 0.750706 +v -0.181407 0.605612 0.748081 +v -0.275627 0.611757 0.750706 +v -0.272387 0.596047 0.748081 +v -0.360542 0.562732 0.691421 +v -0.360542 0.562732 0.750706 +v -0.351607 0.550307 0.748081 +v -0.405377 0.476302 0.748081 +v -0.418172 0.483412 0.750706 +v -0.181382 0.605612 0.785201 +v -0.272362 0.596047 0.785216 +v -0.276952 0.610177 0.786086 +v -0.179832 0.620387 0.786066 +v -0.014382 0.248777 0.758506 +v 0.025338 0.337992 0.758346 +v -0.361527 0.212292 0.758571 +v -0.276952 0.163462 0.758661 +v -0.424372 0.386822 0.785596 +v -0.405352 0.297342 0.785756 +v -0.418927 0.291297 0.786656 +v -0.439232 0.386822 0.786486 +v -0.086952 0.590207 0.757891 +v -0.179832 0.620387 0.757836 +v -0.276952 0.610177 0.757856 +v -0.272362 0.177592 0.785971 +v -0.181382 0.168032 0.785986 +v -0.179832 0.153257 0.786906 +v -0.276952 0.163462 0.786886 +v -0.179832 0.153257 0.758676 +v -0.086952 0.183432 0.758621 +v -0.439232 0.386822 0.758256 +v -0.418927 0.291297 0.758431 +v -0.351587 0.550307 0.785301 +v -0.361527 0.561347 0.786171 +v 0.025338 0.435647 0.758171 +v -0.014382 0.524862 0.758011 +v -0.351582 0.223332 0.785886 +v -0.361527 0.212292 0.786801 +v -0.361527 0.561347 0.757946 +v 0.025338 0.337992 0.786576 +v 0.025338 0.435647 0.786401 +v -0.014382 0.524862 0.786241 +v -0.086952 0.590207 0.786121 +v -0.086952 0.183432 0.786851 +v -0.014382 0.248777 0.786736 +v -0.418927 0.482342 0.758086 +v -0.418927 0.482342 0.786316 +v -0.405352 0.476302 0.785431 +v 0.010808 0.341082 0.785676 +v 0.010808 0.432562 0.785511 +v -0.026402 0.516132 0.785361 +v -0.094382 0.577342 0.785251 +v -0.094382 0.196302 0.785936 +v -0.026402 0.257512 0.785826 +v -0.272552 0.177007 0.800751 +v -0.181317 0.167417 0.800766 +v -0.094072 0.195767 0.800716 +v -0.025902 0.257147 0.800606 +v -0.424992 0.386822 0.800371 +v -0.405917 0.297092 0.800536 +v 0.011413 0.432687 0.800291 +v -0.025902 0.516492 0.800141 +v -0.181322 0.606222 0.799976 +v -0.272552 0.596637 0.799996 +v -0.351997 0.222872 0.800666 +v -0.094072 0.577877 0.800031 +v -0.351997 0.550767 0.800076 +v -0.405917 0.476552 0.800211 +v 0.011413 0.340952 0.800456 +v 0.020863 0.468167 0.694041 +v 0.020883 0.468167 0.760271 +v 0.001863 0.378687 0.760431 +v 0.001843 0.378687 0.694046 +v 0.437023 0.332947 0.694041 +v 0.437043 0.332952 0.760511 +v 0.437043 0.424427 0.760346 +v 0.437023 0.424427 0.694046 +v 0.020883 0.289207 0.760591 +v 0.020863 0.289207 0.694046 +v 0.399838 0.507997 0.760196 +v 0.399813 0.507997 0.694046 +v 0.074653 0.215202 0.760721 +v 0.074633 0.215202 0.694046 +v 0.331858 0.569207 0.760086 +v 0.331833 0.569207 0.694046 +v 0.153878 0.169462 0.760806 +v 0.153853 0.169462 0.694046 +v 0.244853 0.597477 0.760036 +v 0.244833 0.597477 0.694046 +v 0.244853 0.159902 0.760821 +v 0.244833 0.159902 0.694046 +v 0.153878 0.587917 0.760051 +v 0.153853 0.587917 0.694046 +v 0.331858 0.188167 0.760771 +v 0.331833 0.188167 0.694046 +v 0.074653 0.542177 0.760136 +v 0.074633 0.542177 0.694046 +v 0.399838 0.249382 0.760661 +v 0.399813 0.249382 0.694046 +v 0.021028 0.468167 1.174726 +v 0.002008 0.378687 1.174726 +v 0.060703 0.378687 1.235931 +v 0.074803 0.445022 1.235906 +v 0.437188 0.332952 1.174726 +v 0.437188 0.424427 1.174726 +v 0.383318 0.412597 1.235201 +v 0.383318 0.344782 1.235201 +v 0.021028 0.289207 1.174726 +v 0.074803 0.312352 1.235906 +v 0.399978 0.507997 1.174726 +v 0.355733 0.474552 1.235271 +v 0.074798 0.215202 1.174726 +v 0.114663 0.257492 1.235821 +v 0.331998 0.569207 1.174726 +v 0.305338 0.519927 1.235396 +v 0.154018 0.169462 1.174726 +v 0.173398 0.223582 1.235701 +v 0.244998 0.597477 1.174726 +v 0.240843 0.540887 1.235546 +v 0.244998 0.159902 1.174726 +v 0.240843 0.216492 1.235546 +v 0.154018 0.587917 1.174726 +v 0.173398 0.533797 1.235701 +v 0.331998 0.188167 1.174726 +v 0.305338 0.237447 1.235396 +v 0.074798 0.542177 1.174726 +v 0.114663 0.499887 1.235821 +v 0.399978 0.249382 1.174726 +v 0.355733 0.282827 1.235271 +v 0.334358 0.355597 1.260821 +v 0.315573 0.313407 1.260886 +v 0.114663 0.378687 1.261571 +v 0.124263 0.423862 1.261541 +v 0.334358 0.401782 1.260821 +v 0.124263 0.333517 1.261541 +v 0.315573 0.443967 1.260886 +v 0.151408 0.296157 1.261446 +v 0.281253 0.474872 1.261001 +v 0.191403 0.273062 1.261311 +v 0.237333 0.489142 1.261156 +v 0.237333 0.268237 1.261156 +v 0.191403 0.484312 1.261311 +v 0.281253 0.282507 1.261001 +v 0.151408 0.461222 1.261446 +v 0.166178 0.405677 1.274271 +v 0.182398 0.427997 1.274256 +v 0.291688 0.364892 1.274161 +v 0.280468 0.339692 1.274171 +v 0.160443 0.378687 1.274276 +v 0.291688 0.392482 1.274166 +v 0.166178 0.351702 1.274271 +v 0.280468 0.417687 1.274171 +v 0.182398 0.329382 1.274256 +v 0.259968 0.436147 1.274191 +v 0.206288 0.315587 1.274236 +v 0.233728 0.444672 1.274216 +v 0.233728 0.312702 1.274216 +v 0.206288 0.441792 1.274236 +v 0.259968 0.321232 1.274191 +v 0.199393 0.391012 1.288906 +v 0.206798 0.401207 1.288906 +v 0.256718 0.372387 1.288906 +v 0.251593 0.360877 1.288906 +v 0.196773 0.378687 1.288906 +v 0.256718 0.384987 1.288906 +v 0.199393 0.366362 1.288906 +v 0.251593 0.396502 1.288906 +v 0.206798 0.356167 1.288906 +v 0.242228 0.404932 1.288906 +v 0.217713 0.349867 1.288906 +v 0.230243 0.408827 1.288906 +v 0.230243 0.348552 1.288906 +v 0.217713 0.407507 1.288906 +v 0.242228 0.352447 1.288906 +v 0.454113 0.330347 0.692696 +v 0.414233 0.240777 0.692696 +v 0.341368 0.583572 0.692696 +v 0.414233 0.517967 0.692696 +v 0.454113 0.428397 0.692696 +v 0.341368 0.175172 0.692696 +v 0.248123 0.144872 0.692696 +v 0.399813 0.507997 0.749356 +v 0.414233 0.517967 0.751986 +v 0.341368 0.583572 0.751986 +v 0.331833 0.569207 0.749356 +v 0.150608 0.155122 0.692696 +v 0.437023 0.424427 0.749356 +v 0.454113 0.428397 0.751986 +v 0.065698 0.204142 0.692696 +v 0.437023 0.332952 0.749356 +v 0.454113 0.330347 0.751986 +v 0.399813 0.249382 0.749356 +v 0.414233 0.240777 0.751986 +v 0.008068 0.283467 0.692696 +v 0.331833 0.188167 0.749356 +v 0.341368 0.175172 0.751986 +v 0.150608 0.603622 0.692696 +v 0.248123 0.613872 0.692696 +v 0.244833 0.159902 0.749356 +v 0.248123 0.144872 0.751986 +v 0.153853 0.169462 0.749356 +v 0.150608 0.155122 0.751986 +v 0.074633 0.215202 0.749356 +v 0.065698 0.204142 0.751986 +v 0.020863 0.289207 0.749356 +v 0.008068 0.283467 0.751986 +v -0.012317 0.379372 0.692696 +v 0.001843 0.378687 0.749356 +v -0.012317 0.379372 0.751986 +v 0.008068 0.475277 0.692696 +v 0.248123 0.613872 0.751986 +v 0.244833 0.597477 0.749361 +v 0.150608 0.603622 0.751986 +v 0.153853 0.587917 0.749361 +v 0.065698 0.554602 0.692696 +v 0.065698 0.554602 0.751986 +v 0.074633 0.542177 0.749356 +v 0.020863 0.468167 0.749356 +v 0.008068 0.475277 0.751986 +v 0.244853 0.597477 0.786481 +v 0.153878 0.587917 0.786496 +v 0.149288 0.602047 0.787366 +v 0.246408 0.612252 0.787346 +v 0.451578 0.329862 0.759626 +v 0.411858 0.240647 0.759786 +v 0.149288 0.155332 0.759936 +v 0.064713 0.204162 0.759851 +v 0.001863 0.378687 0.786871 +v 0.020883 0.289207 0.787031 +v 0.007313 0.283167 0.787936 +v -0.012992 0.378687 0.787766 +v 0.246408 0.612252 0.759116 +v 0.339283 0.582077 0.759171 +v 0.149288 0.602047 0.759136 +v 0.153878 0.169462 0.787251 +v 0.244853 0.159902 0.787266 +v 0.246408 0.145122 0.788186 +v 0.149288 0.155332 0.788166 +v 0.339283 0.175302 0.759901 +v 0.246408 0.145122 0.759956 +v 0.007313 0.283167 0.759706 +v -0.012992 0.378687 0.759536 +v 0.074653 0.542177 0.786576 +v 0.064713 0.553217 0.787451 +v 0.411858 0.516732 0.759291 +v 0.451578 0.427517 0.759451 +v 0.074653 0.215202 0.787166 +v 0.064713 0.204162 0.788081 +v 0.064713 0.553217 0.759221 +v 0.451578 0.427517 0.787676 +v 0.451578 0.329862 0.787856 +v 0.339283 0.582077 0.787401 +v 0.411858 0.516732 0.787516 +v 0.411858 0.240647 0.788016 +v 0.339283 0.175302 0.788131 +v 0.007313 0.474212 0.759366 +v 0.007313 0.474212 0.787596 +v 0.020883 0.468167 0.786711 +v 0.437043 0.332952 0.786956 +v 0.437043 0.424427 0.786791 +v 0.399838 0.507997 0.786641 +v 0.331858 0.569207 0.786531 +v 0.331858 0.188167 0.787216 +v 0.399838 0.249382 0.787106 +v 0.153688 0.168872 0.802026 +v 0.244918 0.159287 0.802046 +v 0.332163 0.187632 0.801996 +v 0.400338 0.249017 0.801886 +v 0.001248 0.378687 0.801651 +v 0.020318 0.288957 0.801811 +v 0.437648 0.424557 0.801571 +v 0.400338 0.508362 0.801421 +v 0.244918 0.598092 0.801256 +v 0.153688 0.588502 0.801276 +v 0.074243 0.214742 0.801946 +v 0.332163 0.569742 0.801306 +v 0.074243 0.542637 0.801356 +v 0.020318 0.468422 0.801491 +v 0.437648 0.332822 0.801736 +v -0.249467 0.123607 0.115621 +v -0.201507 0.144282 0.043111 +v -0.194487 0.098417 0.095811 +v -0.249117 0.069677 0.148706 +v -0.249702 0.006062 0.161116 +v -0.178337 0.006062 0.090431 +v 0.259653 -0.059968 0.155936 +v 0.260403 -0.026528 0.161351 +v 0.261973 0.006062 0.169246 +v 0.270863 0.071562 0.153176 +v 0.237073 0.101157 0.116411 +v 0.270838 0.127097 0.119111 +v 0.242483 0.006062 0.156216 +v 0.233628 -0.059968 0.129331 +v 0.254098 0.148382 0.085936 +v 0.231408 0.039452 0.137666 +v 0.224008 0.071562 0.109896 +v 0.220333 0.006062 0.119111 +v 0.212933 0.039452 0.091346 +v 0.216253 -0.059968 0.085781 +v 0.235408 0.148382 0.043106 +v 0.216163 0.101157 0.052541 +v 0.205533 0.006062 0.063581 +v 0.204418 -0.027333 0.043111 +v 0.280013 0.167402 1.076756 +v -0.249462 0.167402 1.076756 +v -0.195562 0.171577 1.154261 +v 0.226118 0.171577 1.154261 +v -0.249462 -0.024483 1.076756 +v -0.249462 0.167402 0.043106 +v -0.249462 0.157162 0.043106 +v -0.247902 -0.056813 0.151881 +v -0.249462 -0.056978 0.143861 +v 0.270688 0.167402 0.043106 +v -0.195562 -0.008773 1.154261 +v -0.195562 0.171577 1.252271 +v 0.280013 -0.024483 1.076756 +v 0.226118 -0.008773 1.154261 +v 0.226118 0.171577 1.252271 +v 0.264308 0.038652 0.161351 +v 0.265473 0.170412 0.043106 +v -0.182537 -0.057553 0.083401 +vn -0.9964 0.0014 0.0850 +vn -0.9897 -0.0004 0.1434 +vn -0.9936 -0.0711 0.0880 +vn -0.9870 -0.0115 0.1601 +vn -0.9835 -0.1488 0.1027 +vn -0.9817 -0.0152 0.1896 +vn -0.9623 -0.2399 0.1280 +vn -0.9728 -0.0112 0.2315 +vn -0.9164 -0.3578 0.1795 +vn -0.9588 -0.0110 0.2839 +vn -0.7942 -0.5529 0.2522 +vn -0.9477 -0.0516 0.3149 +vn -0.4925 -0.8183 0.2965 +vn 0.9678 -0.2191 0.1239 +vn 0.9880 -0.0171 0.1533 +vn 0.9863 -0.1422 0.0839 +vn 0.9950 -0.0648 0.0764 +vn 0.9924 -0.0017 0.1233 +vn 0.9973 0.0014 0.0733 +vn 0.9924 0.0052 0.1227 +vn 0.9944 0.0664 0.0824 +vn 0.9882 0.0169 0.1523 +vn 0.9852 0.1432 0.0946 +vn 0.9676 0.2183 0.1267 +vn 0.9788 0.0157 0.2042 +vn 0.9248 0.3436 0.1632 +vn 0.0803 0.9662 0.2449 +vn 0.6616 0.7101 0.2410 +vn 0.7916 0.4929 0.3612 +vn 0.0306 0.9838 0.1768 +vn 0.3901 0.9039 0.1756 +vn 0.0312 0.9952 0.0923 +vn 0.1843 0.9724 0.1433 +vn 0.0041 0.9987 0.0503 +vn -0.0017 0.9911 0.1334 +vn -0.0011 0.9988 0.0489 +vn -0.2072 0.9681 0.1411 +vn -0.0152 0.9957 0.0912 +vn -0.4980 0.8480 0.1816 +vn -0.0325 0.9827 0.1826 +vn -0.7764 0.5855 0.2334 +vn -0.0961 0.9635 0.2499 +vn -0.8489 0.3869 0.3603 +vn -0.9336 0.3215 0.1579 +vn -0.9725 0.0210 0.2319 +vn -0.9626 0.2325 0.1391 +vn -0.9842 0.0234 0.1755 +vn -0.9819 0.1561 0.1077 +vn -0.9928 0.0727 0.0953 +vn -0.9897 0.0025 0.1433 +vn 0.1654 -0.9574 0.2369 +vn 0.0005 -0.9805 0.1968 +vn 0.0002 -0.9778 0.2095 +vn 0.3925 -0.9050 0.1639 +vn 0.1840 -0.9829 0.0040 +vn 0.1816 -0.9655 0.1867 +vn 0.9884 0.1439 0.0488 +vn 0.9973 0.0665 0.0302 +vn -0.4964 0.8318 0.2484 +vn -0.7700 -0.6291 0.1064 +vn -0.9106 -0.4130 0.0132 +vn 0.9621 -0.2726 -0.0004 +vn 0.1933 0.9432 0.2701 +vn 0.4156 0.8723 0.2578 +vn -0.9998 -0.0020 0.0175 +vn -0.9968 0.0730 0.0330 +vn 0.9626 0.2585 0.0808 +vn -0.7673 0.6137 0.1860 +vn 0.9885 -0.1513 -0.0040 +vn -0.0018 0.9619 0.2735 +vn -0.9872 -0.1594 -0.0050 +vn -0.9969 -0.0784 0.0042 +vn 0.3496 -0.8972 0.2700 +vn 0.6698 -0.7316 0.1270 +vn 0.8785 0.4558 0.1432 +vn -0.9130 0.3909 0.1165 +vn -0.1895 -0.9498 0.2488 +vn -0.4589 -0.8650 0.2029 +vn 0.9999 -0.0018 0.0160 +vn 0.9974 -0.0717 0.0040 +vn -0.2162 0.9382 0.2704 +vn -0.9655 -0.2604 -0.0061 +vn 0.8895 -0.4100 0.2015 +vn 0.6962 -0.6555 0.2926 +vn 0.6776 0.7026 0.2173 +vn -0.9659 0.2476 0.0761 +vn -0.1987 -0.9575 0.2089 +vn 0.8771 -0.4783 0.0438 +vn -0.9870 0.1522 0.0517 +vn 0.9559 -0.2874 -0.0597 +vn 0.8433 -0.5093 -0.1714 +vn 0.8601 -0.5047 -0.0744 +vn -0.0019 0.9084 0.4181 +vn 0.1920 0.8915 0.4103 +vn 0.3960 -0.9175 -0.0373 +vn -0.2142 0.8867 0.4097 +vn 0.6534 -0.7540 -0.0666 +vn -0.4838 0.7939 0.3684 +vn -0.9969 -0.0761 -0.0174 +vn -1.0000 -0.0026 0.0094 +vn -0.9060 0.3828 0.1808 +vn -0.7500 0.5992 0.2800 +vn 0.9872 -0.1549 -0.0379 +vn -0.9865 -0.1586 -0.0411 +vn -0.9647 0.2377 0.1132 +vn 0.9974 -0.0708 -0.0157 +vn -0.9622 -0.2658 -0.0601 +vn -0.9870 0.1439 0.0709 +vn 1.0000 -0.0025 0.0087 +vn -0.8984 -0.4334 -0.0713 +vn -0.9969 0.0687 0.0386 +vn 0.9974 0.0631 0.0357 +vn -0.7366 -0.6737 -0.0599 +vn 0.9878 0.1391 0.0699 +vn -0.4657 -0.8846 -0.0236 +vn 0.9588 0.2555 0.1245 +vn -0.2038 -0.9789 0.0114 +vn 0.8681 0.4480 0.2137 +vn 0.6679 0.6742 0.3154 +vn -0.0024 -0.9996 0.0270 +vn 0.4133 0.8267 0.3818 +vn 1.0000 -0.0044 0.0068 +vn 0.9969 -0.0623 -0.0471 +vn 0.9971 -0.0696 -0.0316 +vn -0.7388 0.5516 0.3872 +vn -0.4681 0.7254 0.5047 +vn 0.9491 -0.2918 -0.1187 +vn -0.9968 -0.0732 -0.0333 +vn -1.0000 -0.0047 0.0075 +vn -0.9023 0.3519 0.2488 +vn 0.9853 -0.1549 -0.0716 +vn -0.9853 -0.1540 -0.0735 +vn -0.9650 0.2132 0.1526 +vn -0.9577 -0.2648 -0.1130 +vn -0.9875 0.1266 0.0936 +vn -0.8850 -0.4400 -0.1524 +vn -0.9970 0.0594 0.0489 +vn 0.9974 0.0560 0.0464 +vn -0.7102 -0.6814 -0.1771 +vn 0.9877 0.1254 0.0938 +vn -0.4417 -0.8833 -0.1571 +vn 0.9577 0.2332 0.1684 +vn -0.1909 -0.9743 -0.1197 +vn 0.8637 0.4115 0.2912 +vn -0.0017 -0.9951 -0.0985 +vn 0.6616 0.6152 0.4287 +vn 0.1833 0.8081 0.5598 +vn 0.4041 0.7522 0.5205 +vn 0.1717 -0.9772 -0.1250 +vn -0.0022 0.8215 0.5702 +vn 0.3804 -0.9092 -0.1693 +vn 0.6308 -0.7507 -0.1963 +vn -0.2046 0.8043 0.5579 +vn 0.9586 0.2027 0.1999 +vn 0.9887 0.0921 0.1183 +vn 0.9880 0.1088 0.1095 +vn -0.9545 -0.2459 -0.1690 +vn -0.9847 -0.1396 -0.1045 +vn -0.9884 0.1070 0.1075 +vn -0.9666 0.1821 0.1801 +vn 1.0000 -0.0034 0.0033 +vn -0.8761 -0.4147 -0.2458 +vn -0.9972 0.0508 0.0540 +vn 0.9975 0.0488 0.0518 +vn -0.6968 -0.6440 -0.3159 +vn -1.0000 -0.0038 0.0036 +vn -0.4294 -0.8383 -0.3360 +vn -0.1878 -0.9328 -0.3077 +vn 0.8664 0.3581 0.3480 +vn -0.0014 -0.9553 -0.2955 +vn 0.6599 0.5402 0.5222 +vn 0.1723 0.7090 0.6838 +vn 0.3928 0.6624 0.6379 +vn 0.1695 -0.9351 -0.3112 +vn -0.0029 0.7185 0.6955 +vn 0.3712 -0.8606 -0.3487 +vn 0.6201 -0.7042 -0.3457 +vn -0.4569 0.6375 0.6204 +vn -0.1947 0.7043 0.6826 +vn 0.8334 -0.4779 -0.2776 +vn -0.7345 0.4853 0.4742 +vn 0.9440 -0.2738 -0.1841 +vn -0.9967 -0.0647 -0.0487 +vn -0.9034 0.3061 0.3001 +vn 0.9840 -0.1429 -0.1067 +vn 0.3909 0.5560 0.7335 +vn 0.6698 0.3706 0.6435 +vn 0.6651 0.4523 0.5942 +vn -0.4307 -0.7458 -0.5082 +vn -0.6923 -0.5732 -0.4384 +vn 0.9611 0.1690 0.2186 +vn -0.1894 -0.8328 -0.5201 +vn 0.8719 0.2980 0.3886 +vn -0.0017 -0.8566 -0.5159 +vn 0.1710 -0.8351 -0.5228 +vn -0.0047 0.6020 0.7985 +vn 0.1645 0.5949 0.7868 +vn 0.3738 -0.7659 -0.5231 +vn -0.1921 0.5900 0.7842 +vn 0.6176 -0.6256 -0.4766 +vn -0.4590 0.5338 0.7102 +vn 0.8279 -0.4265 -0.3642 +vn -0.7405 0.4039 0.5371 +vn 0.9410 -0.2454 -0.2328 +vn -0.9967 -0.0554 -0.0599 +vn -1.0000 -0.0016 0.0006 +vn -0.9078 0.2529 0.3345 +vn 0.9833 -0.1268 -0.1306 +vn -0.9843 -0.1231 -0.1268 +vn -0.9691 0.1497 0.1961 +vn 0.9969 -0.0535 -0.0579 +vn -0.9528 -0.2199 -0.2094 +vn -0.9892 0.0894 0.1161 +vn 1.0000 -0.0014 0.0006 +vn -0.8716 -0.3715 -0.3198 +vn -0.9974 0.0443 0.0573 +vn 0.9976 0.0428 0.0548 +vn -0.0072 0.4866 0.8736 +vn -0.1908 0.3837 0.9035 +vn -0.0082 0.3888 0.9213 +vn -0.0019 -0.7453 -0.6668 +vn 0.3903 0.4528 0.8016 +vn 0.1725 -0.7288 -0.6626 +vn 0.1620 0.4816 0.8613 +vn 0.3745 -0.6726 -0.6382 +vn -0.1945 0.4776 0.8568 +vn 0.6135 -0.5557 -0.5610 +vn -0.4634 0.4334 0.7730 +vn 0.8226 -0.3854 -0.4180 +vn -0.7470 0.3294 0.5775 +vn 0.9386 -0.2247 -0.2619 +vn -0.9965 -0.0502 -0.0662 +vn -1.0000 -0.0008 -0.0005 +vn -0.9115 0.2079 0.3549 +vn 0.9826 -0.1163 -0.1449 +vn -0.9837 -0.1126 -0.1404 +vn -0.9699 0.1263 0.2084 +vn 0.9968 -0.0486 -0.0640 +vn -0.9510 -0.2011 -0.2348 +vn -0.9893 0.0780 0.1229 +vn 1.0000 -0.0008 -0.0005 +vn -0.8675 -0.3368 -0.3662 +vn -0.9974 0.0401 0.0603 +vn 0.9976 0.0385 0.0576 +vn -0.6874 -0.5106 -0.5164 +vn 0.9890 0.0799 0.1248 +vn -0.4303 -0.6548 -0.6213 +vn 0.9622 0.1424 0.2320 +vn -0.1911 -0.7265 -0.6601 +vn 0.8757 0.2461 0.4153 +vn -0.1926 -0.6320 -0.7506 +vn -0.0019 -0.5396 -0.8419 +vn -0.1981 -0.5275 -0.8261 +vn 0.6113 -0.4919 -0.6199 +vn -0.4576 0.3540 0.8156 +vn 0.8200 -0.3458 -0.4561 +vn -0.7404 0.2767 0.6126 +vn 0.9372 -0.2044 -0.2827 +vn -0.9965 -0.0463 -0.0702 +vn -1.0000 -0.0004 -0.0005 +vn -0.9074 0.1816 0.3790 +vn 0.9822 -0.1067 -0.1547 +vn -0.9833 -0.1032 -0.1498 +vn -0.9682 0.1147 0.2224 +vn 0.9967 -0.0448 -0.0678 +vn -0.9500 -0.1828 -0.2532 +vn -0.9887 0.0727 0.1311 +vn 1.0000 -0.0005 -0.0005 +vn -0.8654 -0.3023 -0.3995 +vn -0.9972 0.0380 0.0642 +vn 0.9975 0.0361 0.0610 +vn -0.6852 -0.4523 -0.5709 +vn 0.9884 0.0738 0.1328 +vn -0.4308 -0.5735 -0.6968 +vn 0.9605 0.1277 0.2472 +vn 0.8711 0.2131 0.4425 +vn -0.0018 -0.6467 -0.7627 +vn 0.6602 0.3102 0.6840 +vn 0.3804 0.3692 0.8479 +vn 0.1741 -0.6340 -0.7535 +vn 0.1557 0.3868 0.9089 +vn 0.3755 -0.5889 -0.7157 +vn 0.6184 -0.4133 -0.6684 +vn 0.3981 -0.3819 -0.8341 +vn 0.3829 -0.4927 -0.7814 +vn 0.6355 0.2623 0.7262 +vn 0.3577 0.3001 0.8843 +vn 0.1794 -0.5292 -0.8293 +vn 0.1443 0.3087 0.9401 +vn -0.1801 0.3069 0.9345 +vn -0.0089 0.3094 0.9509 +vn -0.4340 0.2899 0.8530 +vn 0.8240 -0.2921 -0.4855 +vn -0.7176 0.2374 0.6548 +vn 0.9387 -0.1739 -0.2977 +vn -0.9966 -0.0401 -0.0726 +vn -1.0000 0.0002 0.0001 +vn -0.8959 0.1638 0.4130 +vn 0.9826 -0.0918 -0.1613 +vn -0.9837 -0.0888 -0.1561 +vn -0.9642 0.1064 0.2429 +vn 0.9968 -0.0388 -0.0702 +vn -0.9513 -0.1555 -0.2663 +vn -0.9876 0.0680 0.1417 +vn 1.0000 0.0002 -0.0000 +vn -0.8688 -0.2549 -0.4245 +vn -0.9970 0.0353 0.0685 +vn 0.9973 0.0335 0.0652 +vn -0.6918 -0.3793 -0.6145 +vn 0.9873 0.0684 0.1434 +vn -0.4384 -0.4794 -0.7602 +vn 0.9560 0.1171 0.2692 +vn 0.8567 0.1889 0.4800 +vn 0.9837 -0.0719 -0.1645 +vn 0.9466 -0.0962 -0.3079 +vn 0.9427 -0.1352 -0.3051 +vn -0.1670 0.2361 0.9573 +vn -0.0089 0.2368 0.9715 +vn 0.6332 -0.3199 -0.7047 +vn -0.4030 0.2277 0.8864 +vn 0.8332 -0.2262 -0.5046 +vn -0.6836 0.1950 0.7033 +vn -0.9968 -0.0317 -0.0738 +vn -1.0000 0.0006 0.0007 +vn -0.8782 0.1410 0.4570 +vn -0.9848 -0.0697 -0.1591 +vn -0.9589 0.0931 0.2679 +vn 0.9970 -0.0307 -0.0715 +vn -0.9545 -0.1208 -0.2726 +vn -0.9864 0.0588 0.1532 +vn 1.0000 0.0005 0.0005 +vn -0.8763 -0.1968 -0.4398 +vn -0.9969 0.0300 0.0727 +vn 0.9972 0.0285 0.0694 +vn -0.7056 -0.2925 -0.6454 +vn 0.9861 0.0590 0.1554 +vn -0.4544 -0.3710 -0.8099 +vn 0.9496 0.1013 0.2965 +vn -0.2068 -0.4085 -0.8890 +vn 0.8358 0.1593 0.5255 +vn -0.0019 -0.4177 -0.9086 +vn 0.6001 0.2107 0.7716 +vn 0.3307 0.2329 0.9145 +vn 0.1874 -0.4099 -0.8927 +vn 0.1339 0.2368 0.9623 +vn 0.9971 0.0213 0.0728 +vn 1.0000 -0.0010 0.0009 +vn 1.0000 0.0003 0.0009 +vn -0.9970 -0.0231 -0.0743 +vn -1.0000 0.0003 0.0011 +vn -0.8583 0.1077 0.5017 +vn -0.6471 0.1423 0.7490 +vn 0.9849 -0.0517 -0.1653 +vn -0.9859 -0.0499 -0.1598 +vn -0.9528 0.0720 0.2950 +vn 0.9972 -0.0223 -0.0719 +vn -0.9578 -0.0857 -0.2744 +vn -0.9854 0.0449 0.1641 +vn -0.8851 -0.1386 -0.4443 +vn -0.9969 0.0223 0.0761 +vn -0.7214 -0.2059 -0.6612 +vn 0.9849 0.0451 0.1674 +vn -0.4712 -0.2616 -0.8423 +vn 0.9419 0.0777 0.3267 +vn -0.2173 -0.2888 -0.9324 +vn 0.8122 0.1190 0.5710 +vn -0.0021 -0.2954 -0.9554 +vn 0.5661 0.1508 0.8104 +vn 0.3081 0.1623 0.9374 +vn 0.1971 -0.2898 -0.9366 +vn 0.1269 0.1648 0.9781 +vn 0.4142 -0.2698 -0.8693 +vn -0.1571 0.1643 0.9738 +vn -0.0081 0.1653 0.9862 +vn 0.6507 -0.2261 -0.7249 +vn -0.3730 0.1598 0.9140 +vn 0.8441 -0.1599 -0.5117 +vn 0.7891 0.0731 0.6099 +vn 0.9270 0.0158 0.3748 +vn 0.9345 0.0496 0.3525 +vn -0.8904 -0.0928 -0.4455 +vn -0.9599 -0.0581 -0.2744 +vn -0.9968 0.0136 0.0785 +vn -0.9843 0.0286 0.1739 +vn 0.9970 0.0130 0.0757 +vn -0.7327 -0.1367 -0.6667 +vn -1.0000 -0.0011 0.0011 +vn 0.9835 0.0288 0.1786 +vn -0.4851 -0.1729 -0.8572 +vn -0.2252 -0.1899 -0.9556 +vn -0.0021 -0.1937 -0.9811 +vn 0.5384 0.0894 0.8379 +vn 0.2962 0.0956 0.9503 +vn 0.2045 -0.1904 -0.9602 +vn 0.1240 0.0975 0.9875 +vn 0.4280 -0.1782 -0.8861 +vn -0.1523 0.0956 0.9837 +vn -0.0092 0.0974 0.9952 +vn 0.6638 -0.1502 -0.7327 +vn -0.3546 0.0928 0.9304 +vn 0.8510 -0.1075 -0.5141 +vn -0.6158 0.0844 0.7834 +vn 0.9490 -0.0657 -0.3085 +vn -0.9971 -0.0166 -0.0746 +vn -0.8376 0.0669 0.5422 +vn 0.9854 -0.0360 -0.1662 +vn -0.9865 -0.0343 -0.1601 +vn -0.9469 0.0463 0.3182 +vn 0.9972 -0.0162 -0.0725 +vn 0.1245 0.0406 0.9914 +vn 0.2909 0.0104 0.9567 +vn 0.2912 0.0362 0.9560 +vn -0.2301 -0.1366 -0.9635 +vn -0.4912 -0.1280 -0.8616 +vn 0.7736 0.0236 0.6333 +vn -0.0023 -0.1376 -0.9905 +vn 0.5241 0.0302 0.8511 +vn 0.2093 -0.1359 -0.9684 +vn 0.4355 -0.1303 -0.8907 +vn -0.1550 0.0373 0.9872 +vn -0.0117 0.0408 0.9991 +vn 0.6692 -0.1144 -0.7343 +vn -0.3454 0.0314 0.9379 +vn 0.8520 -0.0865 -0.5163 +vn -0.5971 0.0270 0.8017 +vn 0.9483 -0.0560 -0.3125 +vn -0.9970 -0.0170 -0.0755 +vn -1.0000 -0.0068 0.0008 +vn -0.8222 0.0218 0.5687 +vn 0.9850 -0.0326 -0.1695 +vn -0.9864 -0.0297 -0.1617 +vn -0.9411 0.0160 0.3378 +vn 0.9971 -0.0172 -0.0743 +vn -0.9596 -0.0479 -0.2772 +vn -0.9833 0.0096 0.1818 +vn 1.0000 -0.0065 0.0005 +vn -0.8907 -0.0744 -0.4484 +vn -0.9968 0.0021 0.0803 +vn 0.9969 0.0019 0.0782 +vn -0.7358 -0.1053 -0.6690 +vn 0.9820 0.0090 0.1886 +vn 0.2124 -0.1237 -0.9693 +vn 0.1241 0.0148 0.9922 +vn 0.4402 -0.1215 -0.8896 +vn -0.1564 0.0119 0.9876 +vn -0.0121 0.0139 0.9998 +vn 0.6732 -0.1090 -0.7314 +vn -0.3421 0.0033 0.9396 +vn 0.8538 -0.0836 -0.5138 +vn -0.5864 -0.0038 0.8100 +vn 0.9484 -0.0545 -0.3123 +vn -0.9971 -0.0191 -0.0739 +vn -0.9999 -0.0112 0.0028 +vn -0.8127 -0.0057 0.5826 +vn 0.9850 -0.0327 -0.1695 +vn -0.9866 -0.0299 -0.1603 +vn -0.9369 -0.0038 0.3496 +vn 0.9971 -0.0190 -0.0736 +vn -0.9599 -0.0459 -0.2765 +vn -0.9821 -0.0030 0.1882 +vn 0.9999 -0.0107 0.0024 +vn -0.8917 -0.0707 -0.4470 +vn -0.9965 -0.0055 0.0836 +vn 0.9966 -0.0062 0.0826 +vn -0.7384 -0.0996 -0.6670 +vn 0.9803 -0.0055 0.1977 +vn -0.4946 -0.1198 -0.8608 +vn 0.9212 -0.0069 0.3889 +vn -0.2320 -0.1251 -0.9646 +vn 0.7628 -0.0061 0.6466 +vn -0.0017 -0.1241 -0.9923 +vn 0.5164 0.0001 0.8564 +vn -0.0000 -0.9999 -0.0154 +vn -0.9902 -0.0000 0.1395 +vn -0.9902 -0.0000 0.1396 +vn -0.0000 1.0000 -0.0000 +vn 0.9902 -0.0000 0.1395 +vn -0.0000 -1.0000 -0.0000 +vn -0.0000 -0.0000 -1.0000 +vn -0.0000 -0.0000 1.0000 +vn -1.0000 -0.0000 -0.0000 +vn 1.0000 -0.0000 -0.0000 +vn -0.9636 0.2200 -0.1516 +vn -0.9558 0.2356 -0.1758 +vn -0.9892 0.0463 -0.1392 +vn 0.9902 0.1179 -0.0748 +vn 0.9637 0.2198 -0.1515 +vn -0.0000 -1.0000 0.0034 +vn -0.0002 -1.0000 0.0069 +vn -0.0004 -1.0000 0.0046 +vn 0.0674 0.9905 0.1201 +vn -0.0243 0.9853 0.1692 +vn 0.0239 0.9854 0.1685 +vn 0.7410 -0.0000 -0.6715 +vn -0.6585 -0.0000 -0.7526 +vn -0.0000 0.7658 0.6431 +vn -0.0000 0.6243 0.7812 +vn -0.0000 0.6229 0.7823 +vn -0.0000 0.4206 0.9072 +vn -0.9925 -0.0895 0.0830 +vn -0.9920 -0.0928 0.0860 +vn -0.9658 -0.1900 0.1761 +vn 0.9904 -0.1009 0.0943 +vn 0.9912 -0.0966 0.0904 +vn 0.9597 -0.2053 0.1920 +vn -0.0054 -0.0042 1.0000 +vn -0.0146 -0.0000 0.9999 +vn -0.0039 -0.0047 1.0000 +vn -0.9940 0.0027 0.1097 +vn -0.9941 0.0052 0.1083 +vn -0.9938 -0.0000 0.1113 +vn 0.9941 0.0052 0.1083 +vn 0.9940 0.0027 0.1097 +vn 0.9938 -0.0000 0.1113 +vn 0.0071 0.9998 0.0161 +vn 0.0196 0.9996 0.0209 +vn 0.0033 0.9999 0.0148 +vn 0.9824 -0.0000 0.1869 +vn 0.9972 -0.0000 0.0747 +vn -0.9824 -0.0000 0.1869 +vn -0.9972 -0.0000 0.0747 +vn -0.9960 -0.0000 0.0891 +vn -0.1177 0.9172 0.3806 +vn 0.0714 0.9533 0.2935 +vn -0.0706 0.9492 0.3067 +vn 0.9702 -0.0000 0.2421 +vn 0.8466 -0.0000 0.5322 +vn 0.8463 -0.0000 0.5326 +vn 0.1179 0.9219 0.3690 +vn 0.2118 0.6804 0.7016 +vn 0.1426 0.8144 0.5626 +vn 0.0246 0.8205 0.5711 +vn -0.2028 0.6830 0.7017 +vn -0.1359 0.8125 0.5670 +vn -0.0233 0.8197 0.5723 +vn -0.1540 0.7061 0.6911 +vn 0.1536 0.7069 0.6904 +vn -0.3963 -0.0000 0.9181 +vn -0.5691 -0.0000 0.8223 +vn -0.3961 -0.0000 0.9182 +vn -0.5693 -0.0000 0.8221 +vn -0.7193 -0.0000 0.6947 +vn -0.7196 -0.0000 0.6944 +vn -0.8463 -0.0000 0.5326 +vn 0.0783 0.5339 0.8419 +vn -0.0780 0.5403 0.8379 +vn -0.9981 0.0017 -0.0621 +vn -0.9804 0.0131 -0.1966 +vn -0.9956 -0.0882 0.0307 +vn -0.8466 -0.0000 0.5322 +vn -0.9674 -0.0096 0.2529 +vn 0.7196 -0.0000 0.6944 +vn 0.7193 -0.0000 0.6947 +vn 0.9994 0.0009 0.0332 +vn 0.9707 0.0005 0.2403 +vn 0.5693 -0.0000 0.8221 +vn 0.5691 -0.0000 0.8223 +vn 0.3963 -0.0000 0.9181 +vn 0.3961 -0.0000 0.9182 +vn 0.2026 -0.0000 0.9793 +vn 0.2025 -0.0000 0.9793 +vn -0.2025 -0.0000 0.9793 +vn -0.2026 -0.0000 0.9793 +vn 0.3935 -0.9193 0.0009 +vn 0.2683 -0.9598 -0.0820 +vn 0.4204 -0.8890 -0.1816 +vn -0.3811 -0.9245 0.0073 +vn -0.2703 -0.9592 -0.0831 +vn -0.2591 -0.9659 -0.0009 +vn 0.5304 -0.8409 -0.1076 +vn 0.5208 -0.8519 0.0560 +vn -0.1652 -0.9830 -0.0797 +vn -0.1643 -0.9864 -0.0000 +vn 0.7469 -0.6647 -0.0138 +vn -0.0796 -0.9968 -0.0000 +vn -0.0810 -0.9934 -0.0807 +vn -0.0000 -0.9967 -0.0808 +vn 0.0810 -0.9934 -0.0807 +vn 0.0796 -0.9968 -0.0000 +vn -0.7549 -0.6526 0.0653 +vn -0.8716 -0.4893 0.0307 +vn -0.7317 -0.6705 -0.1225 +vn 0.1652 -0.9830 -0.0797 +vn 0.1643 -0.9864 -0.0000 +vn -0.5263 -0.8460 -0.0850 +vn -0.5357 -0.8380 0.1037 +vn 0.2591 -0.9659 -0.0009 +vn -0.4110 -0.8966 -0.1647 +vn 0.2696 -0.9485 -0.1663 +vn -0.2779 -0.9442 -0.1768 +vn -0.1786 -0.9697 -0.1667 +vn 0.7697 -0.6083 -0.1937 +vn -0.0852 -0.9824 -0.1663 +vn 0.8914 -0.4470 -0.0751 +vn 0.8911 -0.4537 0.0069 +vn -0.0000 -0.9860 -0.1670 +vn 0.0852 -0.9824 -0.1663 +vn -0.6505 -0.6963 0.3032 +vn 0.1758 -0.9705 -0.1647 +vn -0.0898 -0.9613 -0.2605 +vn -0.0000 -0.9645 -0.2639 +vn 0.0865 -0.9623 -0.2578 +vn 0.2083 -0.9446 -0.2537 +vn -0.5868 -0.7751 -0.2344 +vn 0.3339 -0.8983 -0.2856 +vn -0.3046 -0.9228 -0.2361 +vn -0.1944 -0.9496 -0.2460 +vn -0.5014 -0.7893 -0.3545 +vn 0.5371 -0.7116 -0.4529 +vn -0.3626 -0.8430 -0.3974 +vn 0.6093 -0.7183 -0.3359 +vn -0.2358 -0.8797 -0.4129 +vn -0.0930 -0.9274 -0.3623 +vn -0.0000 -0.9274 -0.3740 +vn 0.0806 -0.9288 -0.3617 +vn 0.2577 -0.8787 -0.4019 +vn -0.7253 -0.5603 -0.4001 +vn 0.4464 -0.7335 -0.5125 +vn -0.1353 -0.8313 -0.5391 +vn -0.0000 -0.8500 -0.5268 +vn 0.1351 -0.8276 -0.5449 +vn -0.8512 -0.4616 -0.2497 +vn -0.8333 -0.4528 -0.3171 +vn 0.3359 -0.5835 -0.7394 +vn -0.6317 -0.5101 -0.5838 +vn -0.4712 -0.5563 -0.6845 +vn 0.7323 -0.4413 -0.5186 +vn -0.3515 -0.5795 -0.7353 +vn 0.6218 -0.5199 -0.5858 +vn 0.7870 -0.4979 -0.3643 +vn -0.1791 -0.5577 -0.8105 +vn -0.0000 -0.8059 -0.5920 +vn 0.1875 -0.5579 -0.8084 +vn -0.8523 -0.3229 -0.4116 +vn 0.4616 -0.5393 -0.7043 +vn -0.0000 -0.3169 -0.9485 +vn 0.1931 -0.3110 -0.9306 +vn 0.3348 -0.3497 -0.8750 +vn -0.7820 -0.3509 -0.5151 +vn -0.6624 -0.3016 -0.6857 +vn -0.5038 -0.3170 -0.8035 +vn -0.3678 -0.3295 -0.8696 +vn -0.1890 -0.3112 -0.9314 +vn 0.7791 -0.2331 -0.5819 +vn -0.9121 0.3525 -0.2095 +vn -0.8757 0.4150 -0.2467 +vn -0.8924 0.3555 -0.2780 +vn 0.4243 0.3083 -0.8514 +vn 0.2012 0.4873 -0.8497 +vn 0.3260 0.6276 -0.7070 +vn -0.7499 0.4578 -0.4776 +vn -0.7737 0.3549 -0.5249 +vn 0.5496 0.2963 -0.7811 +vn 0.5961 0.2737 -0.7548 +vn -0.6546 0.3575 -0.6661 +vn -0.5891 0.5505 -0.5915 +vn 0.6146 0.4756 -0.6294 +vn 0.6391 0.2655 -0.7219 +vn -0.5053 0.3573 -0.7854 +vn -0.5323 0.3431 -0.7739 +vn 0.7784 0.3215 -0.5392 +vn 0.7437 0.5381 -0.3968 +vn -0.3704 0.3390 -0.8648 +vn -0.3333 0.5839 -0.7403 +vn 0.8836 0.3589 -0.3007 +vn 0.8857 0.3306 -0.3261 +vn -0.2000 0.4881 -0.8495 +vn -0.2054 0.3118 -0.9277 +vn 0.9051 0.3598 -0.2268 +vn 0.8825 0.4703 -0.0008 +vn -0.0000 0.4972 -0.8676 +vn -0.0000 0.2838 -0.9589 +vn -0.8580 0.3751 -0.3508 +vn -0.9181 0.3962 -0.0069 +vn 0.9162 0.4004 0.0168 +vn 0.2097 0.3118 -0.9267 +vn -0.1137 0.8651 -0.4885 +vn -0.0000 0.7838 -0.6210 +vn 0.1420 0.8644 -0.4823 +vn 0.2017 0.9383 -0.2810 +vn 0.3202 0.8418 -0.4345 +vn 0.2041 0.9209 -0.3320 +vn -0.5150 0.6767 -0.5262 +vn 0.5760 0.6287 -0.5224 +vn -0.2531 0.9257 -0.2810 +vn -0.3969 0.7926 -0.4629 +vn -0.2460 0.8863 -0.3924 +vn 0.8656 0.4730 -0.1645 +vn -0.0047 0.9646 -0.2635 +vn -0.0598 0.9896 -0.1306 +vn 0.0835 0.9857 -0.1465 +vn -0.8315 0.5408 -0.1269 +vn -0.6166 0.7381 -0.2738 +vn -0.0135 0.9999 0.0083 +vn 0.2370 0.9520 -0.1938 +vn 0.1550 0.9685 -0.1949 +vn -0.1704 0.9830 -0.0678 +vn -0.4828 0.8716 -0.0848 +vn 0.2326 -0.9309 0.2816 +vn -0.1860 0.9797 -0.0753 +vn -0.2151 0.9692 -0.1198 +vn 0.3106 0.9107 -0.2722 +vn 0.7665 0.6016 -0.2251 +vn -0.0037 0.9964 -0.0848 +vn 0.1197 0.9812 -0.1515 +vn 0.1628 0.9852 -0.0537 +vn 0.2667 0.9626 -0.0472 +vn 0.7608 0.6488 -0.0143 +vn -0.7511 0.6579 0.0547 +vn 0.5137 0.8569 0.0430 +vn -0.3969 0.9172 0.0343 +vn -0.1695 0.9847 0.0399 +vn 0.1591 0.9856 0.0581 +vn -0.5379 0.8061 0.2468 +vn -0.2214 0.9581 0.1819 +vn 0.1669 0.9759 0.1402 +vn 0.8499 0.5155 0.1091 +vn 0.6267 0.7260 0.2831 +vn -0.1542 0.9752 0.1589 +vn 0.0121 0.9965 0.0833 +vn 0.0888 0.9821 0.1660 +vn -0.8622 0.4491 0.2344 +vn 0.2048 0.9570 0.2056 +vn 0.0043 0.9660 0.2586 +vn 0.1725 0.9690 0.1771 +vn -0.2109 0.9220 0.3249 +vn -0.2000 0.9335 0.2976 +vn 0.8780 0.3861 0.2831 +vn -0.7291 0.5580 0.3962 +vn 0.1294 0.9878 0.0870 +vn -0.4400 0.7890 0.4287 +vn 0.2145 0.7694 0.6017 +vn 0.3660 0.5163 0.7742 +vn 0.4166 0.6377 0.6479 +vn 0.3486 0.7900 0.5043 +vn -0.6038 0.5000 0.6209 +vn 0.6338 0.4616 0.6207 +vn 0.5369 0.5477 0.6417 +vn -0.4169 0.6260 0.6590 +vn 0.7722 0.4085 0.4867 +vn -0.3703 0.5112 0.7756 +vn -0.2029 0.7746 0.5990 +vn -0.0000 0.9290 0.3700 +vn -0.2030 0.4195 0.8848 +vn -0.0000 0.5745 0.8185 +vn -0.0000 0.4397 0.8981 +vn 0.2254 0.4176 0.8802 +vn 0.1993 0.3095 0.9298 +vn 0.3588 0.3507 0.8650 +vn -0.8721 0.3670 0.3237 +vn -0.7672 0.3499 0.5376 +vn 0.5120 0.3397 0.7889 +vn -0.6549 0.3486 0.6705 +vn 0.6468 0.3581 0.6733 +vn -0.5261 0.3346 0.7818 +vn 0.7588 0.3700 0.5360 +vn -0.3626 0.3272 0.8726 +vn 0.8655 0.3928 0.3109 +vn -0.1925 0.3006 0.9341 +vn 0.8993 0.3951 0.1877 +vn -0.0000 0.2852 0.9585 +vn -0.8990 0.3915 0.1963 +vn -0.9092 0.3761 0.1789 +vn 0.5010 -0.3248 0.8022 +vn 0.3529 -0.5894 0.7267 +vn 0.5139 -0.3199 0.7960 +vn -0.7869 -0.2642 0.5578 +vn -0.6272 -0.5087 0.5897 +vn -0.6613 -0.2756 0.6977 +vn 0.6491 -0.2981 0.6998 +vn 0.6240 -0.5275 0.5765 +vn -0.5199 -0.3136 0.7946 +vn -0.5076 -0.3229 0.7988 +vn 0.7735 -0.3415 0.5339 +vn 0.7320 -0.5106 0.4511 +vn -0.3529 -0.5894 0.7267 +vn -0.3687 -0.3521 0.8603 +vn 0.8498 -0.3255 0.4145 +vn -0.1745 -0.5609 0.8093 +vn -0.1766 -0.3119 0.9336 +vn -0.0000 -0.3169 0.9485 +vn -0.0000 -0.3169 0.9484 +vn 0.1766 -0.3119 0.9336 +vn 0.1745 -0.5609 0.8093 +vn 0.3688 -0.3521 0.8603 +vn -0.8679 -0.2800 0.4103 +vn -0.7453 -0.4612 0.4815 +vn 0.8867 -0.4502 0.1054 +vn 0.8259 -0.4696 0.3120 +vn -0.0000 -0.8500 0.5268 +vn -0.0000 -0.8059 0.5920 +vn 0.1352 -0.8314 0.5390 +vn -0.8831 -0.4548 0.1149 +vn -0.8298 -0.4808 0.2834 +vn -0.1353 -0.8312 0.5393 +vn -0.5065 -0.7944 0.3353 +vn 0.3676 -0.8358 0.4077 +vn 0.5121 -0.7916 0.3334 +vn -0.3632 -0.8365 0.4104 +vn -0.3745 -0.7665 0.5218 +vn 0.5844 -0.7695 0.2576 +vn -0.2358 -0.8797 0.4129 +vn -0.0930 -0.9274 0.3623 +vn -0.0000 -0.9274 0.3740 +vn 0.0930 -0.9274 0.3623 +vn 0.2358 -0.8797 0.4129 +vn -0.6193 -0.7285 0.2929 +vn 0.3745 -0.7665 0.5218 +vn -0.0000 -0.9645 0.2639 +vn 0.0898 -0.9613 0.2605 +vn 0.1834 -0.9504 0.2512 +vn 0.3280 -0.9136 0.2404 +vn -0.3229 -0.9155 0.2399 +vn -0.1834 -0.9504 0.2512 +vn -0.0898 -0.9613 0.2605 +vn 0.2961 -0.9403 0.1678 +vn 0.4007 -0.9024 0.1584 +vn -0.2973 -0.9403 0.1658 +vn -0.1727 -0.9715 0.1622 +vn 0.7600 -0.6414 0.1046 +vn -0.0852 -0.9824 0.1663 +vn -0.0000 -0.9860 0.1670 +vn 0.0852 -0.9824 0.1663 +vn 0.1727 -0.9715 0.1622 +vn -0.4151 -0.8953 0.1614 +vn -0.0000 -0.9967 0.0808 +vn 0.0810 -0.9934 0.0807 +vn 0.1652 -0.9830 0.0797 +vn 0.2710 -0.9587 0.0858 +vn -0.2724 -0.9583 0.0866 +vn -0.1652 -0.9830 0.0797 +vn -0.0810 -0.9934 0.0807 +vn 0.0001 0.9696 0.2448 +vn 0.0110 0.9970 0.0769 +vn -0.0020 0.9695 0.2451 +vn -0.0000 0.0015 -1.0000 +vn 0.9970 0.0208 0.0741 +vn 0.9973 0.0377 0.0627 +vn 0.9917 0.1200 0.0461 +vn -0.0005 -0.9933 -0.1153 +vn -0.0047 -0.9934 -0.1149 +vn -0.0049 -0.9934 -0.1148 +vn -0.0000 0.9401 0.3409 +vn 0.0065 0.9968 -0.0801 +vn 0.0133 0.9969 0.0774 +vn -0.0006 0.9576 -0.2883 +vn -0.0014 0.9577 -0.2879 +vn -0.0000 0.9575 -0.2885 +vn -0.9997 0.0242 0.0064 +vn -0.9999 -0.0106 -0.0104 +vn -0.9924 0.1158 0.0409 +vn -0.0100 0.0044 0.9999 +vn -0.0035 0.0015 1.0000 +vn -0.0001 -0.2011 -0.9796 +vn 0.0029 -0.5131 -0.8584 +vn -0.0013 -0.5238 -0.8518 +vn -0.0000 0.9985 0.0546 +vn 0.0105 0.9978 0.0661 +vn 0.0368 0.9965 0.0756 +vn 0.0471 0.9957 0.0793 +vn 0.0002 0.9979 -0.0653 +vn 0.0023 0.9924 0.1229 +vn 0.0009 0.9977 -0.0672 +vn 0.0015 0.9873 -0.1591 +vn 0.0030 0.9871 -0.1602 +vn -0.0041 0.2813 -0.9596 +vn -0.0051 -0.3624 -0.9320 +vn -0.0041 0.2577 -0.9662 +vn 0.0093 0.3101 0.9506 +vn 0.0105 0.3088 0.9511 +vn 0.0038 0.3162 0.9487 +vn 0.0051 0.9925 0.1218 +vn 0.0044 0.8908 0.4544 +vn 0.0043 0.7416 0.6708 +vn 0.0105 0.8902 0.4554 +vn -0.0047 -0.7492 -0.6623 +vn -0.0070 -0.5786 -0.8156 +vn -0.0095 -0.5808 -0.8140 +vn 0.0012 -0.2389 0.9710 +vn 0.0052 -0.2526 0.9675 +vn -0.0000 -0.2349 0.9720 +vn -0.0008 -0.7603 -0.6496 +vn -0.0065 -0.7584 -0.6518 +vn -0.0059 -0.8579 -0.5137 +vn -0.0000 -0.8631 -0.5051 +vn 0.0015 -0.1950 -0.9808 +vn -0.0043 -0.2842 0.9588 +vn -0.0040 -0.0317 0.9995 +vn -0.0033 -0.0308 0.9995 +vn -0.0017 -0.8867 0.4624 +vn -0.0069 -0.7566 0.6539 +vn -0.0143 -0.7529 0.6580 +vn 0.0003 -0.9691 0.2465 +vn 0.0020 -0.8889 0.4581 +vn -0.0011 -0.9051 -0.4252 +vn -0.0102 -0.9196 -0.3928 +vn -0.0085 -0.9169 -0.3991 +vn -0.0038 0.4915 -0.8709 +vn 0.0021 0.4773 -0.8788 +vn 0.0045 0.4714 -0.8819 +vn 0.0010 0.9692 -0.2464 +vn -0.0049 0.4932 -0.8699 +vn -0.0035 0.6150 -0.7885 +vn -0.0023 0.4897 -0.8719 +vn 0.0020 0.1036 -0.9946 +vn 0.0053 0.0997 -0.9950 +vn 0.0005 0.2215 0.9751 +vn 0.0026 0.2202 0.9755 +vn 0.0010 0.9664 -0.2572 +vn 0.0008 0.9663 -0.2574 +vn 0.0027 0.9668 -0.2553 +vn 0.0051 -0.1557 -0.9878 +vn 0.0059 -0.1562 -0.9877 +vn 0.0007 -0.9022 -0.4313 +vn -0.9996 -0.0022 -0.0274 +vn -0.9996 -0.0174 -0.0243 +vn -0.9996 -0.0000 -0.0278 +vn 0.0021 -0.6196 -0.7849 +vn 0.0011 -0.6209 -0.7839 +vn 0.0032 -0.6181 -0.7861 +vn 0.9994 -0.0238 -0.0242 +vn 0.9996 -0.0029 -0.0284 +vn 0.9996 -0.0000 -0.0290 +vn 0.0005 -0.9994 0.0358 +vn 0.0015 -0.9993 0.0362 +vn -0.0000 -0.9994 0.0356 +vn -0.0000 0.9997 -0.0230 +vn -0.0000 0.9991 -0.0417 +vn -0.0000 -1.0000 0.0088 +vn -0.0000 -0.7196 0.6944 +vn -0.0000 -0.6139 0.7894 +vn -0.0000 -0.6036 0.7973 +vn -0.0000 -0.4849 0.8746 +vn 0.9873 -0.0282 0.1565 +vn 0.9888 -0.0398 0.1438 +vn 0.9911 -0.0645 0.1164 +vn -0.9888 0.0398 -0.1438 +vn -0.9873 0.0282 -0.1565 +vn -0.9911 0.0645 -0.1164 +vn 0.2987 -0.0000 -0.9543 +vn -0.2987 -0.0000 -0.9543 +vn -0.6292 -0.0060 -0.7772 +vn -0.6256 -0.0031 -0.7802 +vn -0.6216 -0.0000 -0.7834 +vn 0.0389 0.9981 -0.0481 +vn 0.5945 -0.0069 -0.8040 +vn 0.5995 -0.0032 -0.8004 +vn 0.6039 -0.0000 -0.7971 +vn -0.0244 0.9974 -0.0684 +vn 0.9136 -0.4065 -0.0003 +vn 1.0000 -0.0000 -0.0004 +vn 0.9136 -0.4067 -0.0003 +vn -0.9781 0.2079 0.0004 +vn -0.9782 -0.2077 0.0004 +vn -0.9781 -0.2079 0.0004 +vn 1.0000 0.0002 -0.0004 +vn 0.9136 0.4067 -0.0003 +vn -0.8091 -0.5876 0.0003 +vn -0.8090 -0.5878 0.0003 +vn 0.9135 0.4070 -0.0003 +vn 0.6692 0.7431 -0.0003 +vn -0.5001 -0.8659 0.0002 +vn -0.5000 -0.8661 0.0002 +vn 0.6690 0.7433 -0.0002 +vn 0.3090 0.9510 -0.0001 +vn -0.1046 -0.9945 -0.0000 +vn -0.1045 -0.9945 -0.0000 +vn 0.3089 0.9511 -0.0001 +vn -0.1045 0.9945 -0.0000 +vn 0.3091 -0.9510 -0.0001 +vn -0.1046 0.9945 -0.0000 +vn -0.5000 0.8660 0.0002 +vn 0.6691 -0.7431 -0.0002 +vn -0.8089 0.5879 0.0003 +vn -0.8090 0.5878 0.0003 +vn 0.6692 -0.7431 -0.0002 +vn -0.9781 0.2081 0.0004 +vn -0.6604 0.2933 0.6913 +vn -0.6003 -0.0000 0.7997 +vn -0.5489 0.2452 0.7991 +vn -0.6604 -0.2933 0.6913 +vn -0.7218 -0.0000 0.6921 +vn -0.4858 -0.5378 0.6890 +vn -0.5489 -0.2452 0.7991 +vn 0.4981 0.5524 0.6684 +vn 0.3097 0.5326 0.7877 +vn 0.4243 0.3816 0.8212 +vn -0.2264 -0.6919 0.6856 +vn -0.4029 -0.4496 0.7972 +vn 0.3663 0.6372 0.6781 +vn 0.0661 0.6082 0.7910 +vn 0.0749 -0.7277 0.6818 +vn -0.1858 -0.5783 0.7944 +vn 0.0749 0.7277 0.6818 +vn -0.1858 0.5783 0.7944 +vn 0.3663 -0.6372 0.6781 +vn 0.0661 -0.6082 0.7910 +vn -0.2264 0.6919 0.6856 +vn -0.4029 0.4496 0.7972 +vn 0.5962 -0.4343 0.6752 +vn 0.3097 -0.5326 0.7877 +vn -0.4858 0.5378 0.6890 +vn 0.6816 -0.3031 0.6660 +vn 0.5019 -0.3630 0.7851 +vn 0.5453 -0.1772 0.8193 +vn 0.3108 -0.2230 0.9239 +vn -0.3595 -0.0000 0.9332 +vn -0.3287 0.1480 0.9328 +vn 0.4451 0.0944 0.8905 +vn 0.3767 -0.0792 0.9229 +vn 0.3108 0.2230 0.9239 +vn 0.3767 0.0792 0.9229 +vn -0.3287 -0.1480 0.9328 +vn 0.1921 0.3260 0.9257 +vn -0.2411 -0.2719 0.9316 +vn 0.0428 0.3707 0.9278 +vn -0.1102 -0.3509 0.9299 +vn -0.1102 0.3509 0.9299 +vn 0.0428 -0.3707 0.9278 +vn -0.2411 0.2719 0.9316 +vn 0.1921 -0.3260 0.9257 +vn -0.2876 0.1289 0.9490 +vn -0.2113 0.2367 0.9483 +vn 0.2675 -0.1933 0.9440 +vn -0.3143 -0.0000 0.9493 +vn 0.3242 0.0687 0.9435 +vn 0.3242 -0.0687 0.9435 +vn 0.2675 0.1933 0.9440 +vn -0.2876 -0.1289 0.9490 +vn 0.1649 0.2828 0.9449 +vn -0.2113 -0.2367 0.9483 +vn 0.0355 0.3220 0.9461 +vn -0.0975 -0.3052 0.9473 +vn -0.0976 0.3052 0.9473 +vn 0.0355 -0.3220 0.9461 +vn 0.1649 -0.2828 0.9449 +vn -0.1961 0.0875 0.9767 +vn -0.1439 0.1602 0.9765 +vn 0.1769 -0.1283 0.9758 +vn -0.2145 -0.0000 0.9767 +vn 0.2141 -0.0454 0.9758 +vn 0.1769 0.1283 0.9758 +vn 0.2141 0.0454 0.9758 +vn -0.1961 -0.0875 0.9767 +vn 0.1092 0.1886 0.9760 +vn -0.1439 -0.1602 0.9765 +vn 0.0230 0.2157 0.9762 +vn -0.0665 -0.2056 0.9764 +vn -0.0664 0.2056 0.9764 +vn 0.0230 -0.2158 0.9762 +vn 0.1092 -0.1885 0.9760 +vn -0.0759 0.0169 -0.9970 +vn -0.0653 0.0464 -0.9968 +vn -0.0643 0.0482 -0.9968 +vn -0.0394 -0.0672 -0.9970 +vn -0.0618 -0.0452 -0.9971 +vn -0.0383 -0.0679 -0.9970 +vn -0.0620 -0.0448 -0.9971 +vn -0.0748 -0.0157 -0.9971 +vn -0.0426 0.0718 -0.9965 +vn -0.0406 0.0733 -0.9965 +vn -0.0761 0.0157 -0.9970 +vn -0.0102 0.0869 -0.9962 +vn -0.0076 0.0875 -0.9961 +vn -0.0679 -0.0497 0.9965 +vn -0.0763 -0.1300 0.9886 +vn -0.0421 -0.0746 0.9963 +vn 0.0274 0.0872 -0.9958 +vn 0.0296 0.0867 -0.9958 +vn -0.0823 -0.0172 0.9965 +vn -0.1201 -0.0868 0.9890 +vn 0.0627 0.0705 -0.9955 +vn 0.0638 0.0696 -0.9955 +vn -0.1472 0.0303 0.9886 +vn -0.0834 0.0186 0.9963 +vn -0.1263 0.0898 0.9879 +vn -0.0706 0.0529 0.9961 +vn 0.0872 0.0389 -0.9954 +vn 0.0872 0.0388 -0.9954 +vn -0.0824 0.1388 0.9869 +vn -0.0446 0.0805 0.9958 +vn 0.0250 -0.0802 -0.9965 +vn -0.0072 -0.0803 -0.9967 +vn 0.0275 -0.0796 -0.9964 +vn -0.0197 0.1678 0.9856 +vn -0.0084 0.0960 0.9954 +vn 0.0528 0.1682 0.9843 +vn 0.0324 0.0950 0.9949 +vn 0.1209 0.1358 0.9833 +vn 0.0698 0.0762 0.9946 +vn 0.1680 0.0749 0.9829 +vn 0.0955 0.0425 0.9945 +vn 0.0946 0.0007 -0.9955 +vn 0.1036 0.0008 0.9946 +vn 0.0945 -0.0005 -0.9955 +vn 0.0852 -0.0362 -0.9957 +vn -0.0179 -0.1546 0.9878 +vn -0.0079 -0.0882 0.9961 +vn 0.0483 -0.1549 0.9867 +vn 0.0301 -0.0874 0.9957 +vn 0.0835 -0.0382 -0.9958 +vn 0.0602 -0.0645 -0.9961 +vn 0.1121 -0.1276 0.9855 +vn 0.0660 -0.0708 0.9953 +vn 0.0581 -0.0661 -0.9961 +vn 0.0927 -0.0397 0.9949 +vn 0.1822 -0.0010 0.9833 +vn -0.0092 -0.0799 -0.9968 +vn 0.1610 -0.0736 0.9842 +vn 0.5000 0.8660 -0.0000 +vn 0.8090 0.5878 -0.0000 +vn -0.3090 -0.9511 -0.0000 +vn -0.6691 -0.7431 -0.0000 +vn 0.1045 0.9945 -0.0000 +vn 0.1045 -0.9945 -0.0000 +vn 0.5000 -0.8660 -0.0000 +vn -0.6691 0.7431 -0.0000 +vn -0.3090 0.9511 -0.0000 +vn 0.8090 -0.5878 -0.0000 +vn -0.9135 0.4067 -0.0000 +vn 0.9781 -0.2079 -0.0000 +vn 0.9781 0.2079 -0.0000 +vn -0.9135 -0.4067 -0.0000 +vn -0.0186 0.0554 -0.9983 +vn 0.0063 0.0578 -0.9983 +vn 0.6691 0.7431 -0.0002 +vn 0.5000 0.8660 -0.0002 +vn 0.6691 0.7432 -0.0002 +vn 0.5001 -0.8660 -0.0002 +vn 0.8090 -0.5878 -0.0003 +vn 0.5000 -0.8660 -0.0002 +vn 0.1046 -0.9945 -0.0000 +vn 0.4999 0.8661 -0.0002 +vn 0.1046 0.9945 -0.0000 +vn 0.8091 -0.5877 -0.0003 +vn -0.6693 -0.7430 0.0002 +vn -0.9135 -0.4067 0.0003 +vn -0.9136 -0.4065 0.0003 +vn -0.6690 0.7432 0.0002 +vn -0.3090 0.9511 0.0001 +vn -0.3090 -0.9511 0.0001 +vn -0.3091 -0.9510 0.0001 +vn -1.0000 -0.0000 0.0003 +vn -1.0000 0.0002 0.0003 +vn -0.6691 -0.7432 0.0002 +vn -0.9135 0.4069 0.0003 +vn -0.6691 0.7432 0.0002 +vn -0.9135 0.4068 0.0003 +vn 0.0585 -0.0107 0.9982 +vn 0.0484 -0.0334 0.9983 +vn -0.0402 -0.0429 0.9983 +vn -0.0185 -0.0551 0.9983 +vn -0.0546 -0.0261 -0.9982 +vn -0.0598 -0.0018 -0.9982 +vn -0.0601 -0.0019 -0.9982 +vn 0.0063 0.0615 0.9981 +vn 0.0301 0.0540 0.9981 +vn -0.0185 0.0589 0.9981 +vn -0.0186 0.0590 0.9981 +vn -0.0184 -0.0586 -0.9981 +vn 0.0063 -0.0615 -0.9981 +vn -0.0185 -0.0587 -0.9981 +vn 0.0063 -0.0581 0.9983 +vn 0.0300 -0.0502 0.9983 +vn -0.0601 0.0018 0.9982 +vn -0.0547 -0.0226 0.9982 +vn -0.0400 0.0427 -0.9983 +vn 0.0585 0.0142 0.9982 +vn 0.0486 0.0371 0.9981 +vn -0.0402 -0.0465 -0.9981 +vn -0.0400 0.0463 0.9981 +vn -0.0400 0.0462 0.9981 +vn -0.9782 0.2077 -0.0000 +vn -0.9782 -0.2077 -0.0000 +vn -0.9781 -0.2081 -0.0000 +vn 0.6690 -0.7432 -0.0000 +vn 0.3091 -0.9510 -0.0000 +vn 0.6693 -0.7430 -0.0000 +vn -0.8089 -0.5879 -0.0000 +vn -0.5001 -0.8660 -0.0000 +vn -0.4999 -0.8661 -0.0000 +vn 0.3089 0.9511 -0.0000 +vn -0.5001 0.8660 -0.0000 +vn -0.8089 0.5879 -0.0000 +vn -0.8091 0.5876 -0.0000 +vn 0.9136 0.4065 -0.0000 +vn 0.9135 0.4069 -0.0000 +vn -0.8091 -0.5876 -0.0000 +vn 0.3090 -0.9511 -0.0000 +vn -0.4999 0.8661 -0.0000 +vn 0.3091 0.9510 -0.0000 +vn 0.6690 0.7432 -0.0000 +vn 0.9135 -0.4069 -0.0000 +vn 0.9136 -0.4065 -0.0000 +vn -0.9781 0.2081 -0.0000 +vn 1.0000 -0.0002 -0.0000 +vn 0.6693 0.7430 -0.0000 +vn -0.0549 0.0262 0.9981 +vn -0.0550 0.0226 -0.9982 +vn 0.0588 -0.0143 -0.9982 +vn 0.0589 0.0107 -0.9982 +vn 0.0487 0.0336 -0.9982 +vn 0.0300 0.0502 -0.9983 +vn 0.0300 -0.0537 -0.9981 +vn 0.0486 -0.0371 -0.9981 +vn -0.0731 0.6937 -0.7166 +vn 0.2159 0.6633 -0.7165 +vn -0.0731 0.6937 -0.7165 +vn -0.3494 0.6038 -0.7165 +vn -0.5650 0.4094 -0.7163 +vn -0.5651 0.4092 -0.7163 +vn 0.6381 0.2827 -0.7162 +vn 0.6981 -0.0011 -0.7160 +vn 0.6380 0.2829 -0.7162 +vn -0.6828 -0.1465 -0.7158 +vn -0.5646 -0.4113 -0.7156 +vn -0.5645 -0.4115 -0.7156 +vn 0.2155 -0.6648 -0.7153 +vn -0.0729 -0.6949 -0.7154 +vn 0.2156 -0.6648 -0.7153 +vn -0.3493 0.6038 -0.7165 +vn 0.4674 0.5179 -0.7165 +vn 0.2160 0.6633 -0.7165 +vn 0.4675 0.5178 -0.7165 +vn -0.3488 -0.6055 -0.7153 +vn 0.4669 -0.5197 -0.7155 +vn 0.6375 -0.2852 -0.7157 +vn 0.4668 -0.5198 -0.7155 +vn -0.6831 0.1440 -0.7160 +vn -0.6831 0.1438 -0.7160 +vn 0.6376 -0.2850 -0.7157 +vn 0.6981 -0.0014 -0.7160 +vn -0.6829 -0.1463 -0.7158 +vn -0.3489 -0.6055 -0.7153 +vn 1.0000 -0.0000 -0.0003 +vn -0.9781 0.2080 0.0003 +vn -0.9782 -0.2077 0.0003 +vn -0.9781 -0.2079 0.0003 +vn 1.0000 0.0002 -0.0003 +vn 0.9135 0.4067 -0.0003 +vn 0.9134 0.4070 -0.0003 +vn 0.6692 0.7431 -0.0002 +vn -0.5000 -0.8660 0.0002 +vn 0.3091 0.9510 -0.0001 +vn 0.3090 -0.9511 -0.0001 +vn -0.9781 0.2081 0.0003 +vn 0.7228 -0.1539 0.6737 +vn 0.6079 0.1287 0.7835 +vn 0.6079 -0.1287 0.7835 +vn -0.6602 -0.2934 0.6914 +vn -0.7218 -0.0000 0.6922 +vn 0.7228 0.1539 0.6737 +vn 0.5019 0.3630 0.7851 +vn 0.5962 0.4343 0.6752 +vn 0.3097 0.5325 0.7877 +vn 0.3664 0.6372 0.6781 +vn 0.0750 0.7277 0.6818 +vn 0.3664 -0.6372 0.6781 +vn 0.3097 -0.5325 0.7877 +vn 0.5019 -0.3630 0.7850 +vn -0.3595 -0.0000 0.9331 +vn 0.3767 -0.0793 0.9229 +vn 0.3767 0.0793 0.9229 +vn -0.1103 -0.3509 0.9299 +vn -0.1103 0.3509 0.9299 +vn -0.2114 0.2367 0.9483 +vn 0.2675 -0.1932 0.9440 +vn -0.3144 -0.0000 0.9493 +vn 0.1650 0.2828 0.9449 +vn -0.2114 -0.2367 0.9483 +vn -0.0976 -0.3052 0.9473 +vn -0.0975 0.3052 0.9473 +vn 0.1650 -0.2828 0.9449 +vn -0.1439 0.1602 0.9766 +vn 0.1770 -0.1283 0.9758 +vn 0.2141 -0.0455 0.9757 +vn 0.1092 0.1885 0.9760 +vn 0.0230 0.2158 0.9762 +vn -0.0664 -0.2056 0.9764 +vn 0.0231 -0.2157 0.9762 +vn -0.0655 0.0466 -0.9968 +vn -0.0645 0.0483 -0.9967 +vn -0.0396 -0.0674 -0.9969 +vn -0.0620 -0.0454 -0.9970 +vn -0.0384 -0.0682 -0.9969 +vn -0.0622 -0.0450 -0.9970 +vn -0.0751 -0.0157 -0.9971 +vn -0.0428 0.0721 -0.9965 +vn -0.0408 0.0736 -0.9965 +vn -0.0102 0.0872 -0.9961 +vn -0.0076 0.0878 -0.9961 +vn -0.0680 -0.0498 0.9964 +vn -0.0764 -0.1303 0.9885 +vn -0.0422 -0.0748 0.9963 +vn 0.0275 0.0875 -0.9958 +vn 0.0296 0.0866 -0.9958 +vn -0.0826 -0.0170 0.9964 +vn -0.1203 -0.0869 0.9889 +vn 0.0629 0.0707 -0.9955 +vn 0.0640 0.0698 -0.9955 +vn -0.1475 0.0304 0.9886 +vn -0.0835 0.0186 0.9963 +vn -0.1265 0.0900 0.9879 +vn -0.0707 0.0530 0.9961 +vn 0.0875 0.0390 -0.9954 +vn 0.0876 0.0389 -0.9954 +vn -0.0826 0.1391 0.9868 +vn -0.0447 0.0806 0.9957 +vn 0.0250 -0.0801 -0.9965 +vn -0.0072 -0.0806 -0.9967 +vn 0.0276 -0.0800 -0.9964 +vn -0.0197 0.1681 0.9856 +vn -0.0084 0.0961 0.9953 +vn 0.0529 0.1685 0.9843 +vn 0.0325 0.0952 0.9949 +vn 0.1211 0.1360 0.9833 +vn 0.0700 0.0764 0.9946 +vn 0.1684 0.0750 0.9829 +vn 0.0957 0.0426 0.9945 +vn 0.0949 0.0007 -0.9955 +vn 0.1038 0.0008 0.9946 +vn 0.0846 -0.0362 -0.9958 +vn -0.0178 -0.1546 0.9878 +vn -0.0079 -0.0883 0.9961 +vn 0.0483 -0.1550 0.9867 +vn 0.0301 -0.0875 0.9957 +vn 0.0835 -0.0381 -0.9958 +vn 0.0604 -0.0647 -0.9961 +vn 0.1123 -0.1278 0.9854 +vn 0.0661 -0.0709 0.9953 +vn 0.0583 -0.0663 -0.9961 +vn 0.0928 -0.0398 0.9949 +vn 0.1826 -0.0010 0.9832 +vn -0.0093 -0.0802 -0.9967 +vn 0.1613 -0.0737 0.9841 +vn -0.9136 0.4067 -0.0000 +vn -0.9136 -0.4067 -0.0000 +vn 0.9782 -0.2077 -0.0003 +vn 0.9781 0.2079 -0.0003 +vn 0.9781 -0.2079 -0.0003 +vn 0.8089 0.5879 -0.0003 +vn 0.8090 0.5878 -0.0003 +vn 0.9781 0.2081 -0.0003 +vn 0.8091 -0.5876 -0.0003 +vn -0.0585 0.0106 -0.9982 +vn -0.0484 0.0334 -0.9983 +vn 0.0186 0.0554 -0.9983 +vn 0.0400 0.0427 -0.9983 +vn -0.0549 -0.0262 -0.9981 +vn -0.0601 -0.0018 -0.9982 +vn -0.0063 -0.0615 -0.9981 +vn -0.0299 -0.0537 -0.9981 +vn 0.0185 -0.0586 -0.9981 +vn -0.0185 -0.0586 -0.9981 +vn -0.0300 0.0502 -0.9983 +vn -0.0062 0.0578 -0.9983 +vn 0.0550 0.0227 -0.9982 +vn 0.0601 -0.0018 -0.9982 +vn -0.0402 0.0429 -0.9983 +vn -0.0483 -0.0369 -0.9981 +vn -0.0584 -0.0142 -0.9982 +vn 0.0402 -0.0465 -0.9981 +vn 0.9782 0.2077 -0.0000 +vn 0.9782 -0.2077 -0.0000 +vn 0.9781 0.2081 -0.0000 +vn -0.6690 0.7432 -0.0000 +vn -0.3091 0.9510 -0.0000 +vn -0.3089 0.9511 -0.0000 +vn 0.5001 0.8660 -0.0000 +vn 0.8089 0.5879 -0.0000 +vn 0.4999 0.8661 -0.0000 +vn -0.3091 -0.9510 -0.0000 +vn 0.8089 -0.5879 -0.0000 +vn 0.5001 -0.8660 -0.0000 +vn 0.8091 -0.5876 -0.0000 +vn -0.9136 -0.4065 -0.0000 +vn -1.0000 -0.0002 -0.0000 +vn -1.0000 0.0002 -0.0000 +vn 0.8091 0.5876 -0.0000 +vn 0.4999 -0.8661 -0.0000 +vn -0.6690 -0.7432 -0.0000 +vn -0.6693 -0.7430 -0.0000 +vn -0.9135 0.4069 -0.0000 +vn -0.6693 0.7430 -0.0000 +vn 0.9781 -0.2081 -0.0000 +vn -0.9136 0.4065 -0.0000 +vn -0.9135 -0.4069 -0.0000 +vn 0.0549 -0.0262 -0.9981 +vn 0.0546 -0.0261 -0.9982 +vn -0.0550 0.0227 -0.9982 +vn 0.0585 0.0106 -0.9982 +vn 0.0484 0.0334 -0.9983 +vn 0.0064 -0.0619 -0.9981 +vn -0.0730 0.6936 -0.7167 +vn -0.3494 0.6038 -0.7164 +vn 0.6381 0.2827 -0.7161 +vn 0.6381 0.2829 -0.7161 +vn -0.6828 -0.1465 -0.7157 +vn -0.5647 -0.4114 -0.7155 +vn -0.5645 -0.4116 -0.7155 +vn 0.2155 -0.6647 -0.7154 +vn -0.0729 -0.6950 -0.7153 +vn 0.2156 -0.6646 -0.7154 +vn -0.3493 0.6039 -0.7164 +vn 0.4675 0.5178 -0.7164 +vn -0.3487 -0.6053 -0.7155 +vn 0.4669 -0.5197 -0.7154 +vn 0.6376 -0.2853 -0.7156 +vn -0.6830 0.1440 -0.7161 +vn -0.6830 0.1438 -0.7161 +vn 0.6377 -0.2851 -0.7156 +vn -0.3488 -0.6053 -0.7155 +vn -0.4510 -0.6347 -0.6275 +vn -0.3537 -0.8114 -0.4653 +vn -0.5880 -0.4251 -0.6882 +vn -0.6364 -0.2148 -0.7408 +vn -0.7096 -0.0162 -0.7044 +vn -0.6961 0.0197 -0.7177 +vn 0.9517 0.0281 -0.3056 +vn 0.5207 -0.3405 -0.7829 +vn 0.7021 -0.4308 -0.5669 +vn 0.4733 -0.5439 -0.6929 +vn 0.5547 -0.0611 -0.8298 +vn 0.6899 -0.0218 -0.7235 +vn 0.4970 0.1383 -0.8567 +vn 0.6661 0.1763 -0.7247 +vn 0.8386 0.1455 -0.5249 +vn 0.7182 -0.5412 -0.4373 +vn 0.7668 -0.1830 -0.6153 +vn 0.9010 -0.2271 -0.3697 +vn 0.9202 0.0253 -0.3906 +vn 0.9492 -0.0934 -0.3005 +vn 0.9505 0.1011 -0.2938 +vn 0.8352 -0.4534 -0.3111 +vn 0.8943 -0.3523 -0.2759 +vn 0.9690 0.0560 -0.2406 +vn 0.9754 0.0907 -0.2011 +vn -0.0000 0.9998 -0.0205 +vn -0.0000 0.9995 -0.0313 +vn -1.0000 0.0041 -0.0073 +vn 0.9798 0.0562 -0.1918 +vn -0.0218 0.2639 -0.9643 +vn -1.0000 0.0005 -0.0004 +vn -1.0000 0.0002 -0.0009 +vn -1.0000 0.0007 -0.0000 +vn -0.0000 -0.9949 0.1006 +vn -0.0000 -0.9924 0.1228 +vn -0.0013 -0.9951 0.0993 +vn -0.8210 -0.0000 0.5709 +vn 0.8210 -0.0000 0.5709 +vn -0.0000 0.0132 0.9999 +vn 1.0000 0.0005 -0.0004 +vn 1.0000 0.0002 -0.0009 +vn 1.0000 -0.0000 -0.0012 +vn -0.0000 -0.9999 0.0169 +vn 0.0469 0.2320 0.9716 +vn -0.1428 -0.8642 -0.4824 +vn -0.3053 -0.9365 -0.1723 +vn -0.4039 -0.9001 -0.1634 +vn 0.9999 -0.0078 -0.0104 +vn -0.7065 0.1084 -0.6994 +vn -0.7206 0.0805 -0.6887 +vn 0.3137 -0.4281 0.8475 +vn 0.1688 -0.2846 -0.9437 +vn -0.2368 -0.8817 -0.4080 +vn -0.0001 1.0000 0.0055 +vn -0.0003 1.0000 0.0057 +vn 0.0096 0.9999 0.0075 +vn -0.0433 -0.9986 0.0302 +vn -0.0050 -0.9996 0.0262 +vn -0.0031 -0.7494 -0.6621 +vn -0.0007 -0.8808 -0.4735 +vn -0.0000 -0.8806 -0.4739 +vn 0.9681 -0.0444 0.2466 +vn -0.6896 -0.6547 0.3096 +vn -0.9904 0.0004 0.1382 +vn -0.9477 -0.0516 0.3148 +vn 0.9929 0.0021 0.1190 +vn 0.9743 0.0071 0.2250 +vn -0.0076 0.9993 0.0368 +vn -0.9678 0.0066 0.2517 +vn -0.0007 -0.9999 -0.0170 +vn -0.0000 -0.9999 -0.0156 +vn 0.0004 -0.9999 -0.0150 +vn -0.0004 -0.9999 -0.0150 +vn 0.0001 -0.9999 -0.0155 +vn 0.0008 -0.9999 -0.0170 +vn 0.0040 -0.9999 -0.0163 +vn 0.0009 -0.9998 -0.0190 +vn 0.0041 -0.9998 -0.0169 +vn 0.0018 -0.9998 -0.0189 +vn 0.0041 -0.9998 -0.0175 +vn 0.0025 -0.9998 -0.0189 +vn -0.0000 -0.9998 -0.0197 +vn -0.0003 -0.9998 -0.0208 +vn -0.0033 -0.9999 -0.0167 +vn -0.0008 -0.9998 -0.0213 +vn -0.0035 -0.9998 -0.0176 +vn -0.0016 -0.9998 -0.0214 +vn -0.0036 -0.9998 -0.0186 +vn -0.0015 1.0000 -0.0013 +vn -0.0007 1.0000 -0.0005 +vn -0.0027 1.0000 -0.0023 +vn -0.0217 -0.9985 0.0509 +vn -0.0263 -0.9977 0.0617 +vn -0.9902 0.1179 -0.0747 +vn -0.9919 -0.0000 -0.1269 +vn 0.9892 0.0463 -0.1391 +vn 0.9558 0.2357 -0.1758 +vn 0.9919 -0.0000 -0.1269 +vn -0.0009 -1.0000 0.0093 +vn -0.0533 0.9983 0.0236 +vn -0.0742 0.9901 0.1193 +vn -0.0000 0.9827 0.1849 +vn 0.0528 0.9983 0.0256 +vn 0.0039 -0.0049 1.0000 +vn 0.0153 -0.0000 0.9999 +vn 0.0054 -0.0044 1.0000 +vn -0.9943 0.0080 0.1067 +vn 0.9943 0.0080 0.1067 +vn -0.0033 0.9999 0.0149 +vn -0.0072 0.9998 0.0162 +vn -0.0185 0.9996 0.0208 +vn 0.9960 -0.0000 0.0891 +vn -0.0000 0.0001 1.0000 +vn -0.0209 0.6935 0.7201 +vn -0.9849 -0.1702 0.0324 +vn -0.9661 -0.0000 0.2582 +vn 0.0220 0.6921 0.7215 +vn 0.9995 0.0019 0.0322 +vn 0.9999 -0.0081 -0.0079 +vn 0.9996 0.0269 0.0083 +vn 0.9967 -0.0025 0.0807 +vn -0.0000 -0.9933 -0.1154 +vn 0.0043 0.9967 -0.0812 +vn -0.0020 0.9577 -0.2876 +vn -0.9956 0.0022 0.0941 +vn -0.9961 0.0353 0.0812 +vn -0.9950 0.0811 0.0586 +vn -0.0135 0.0059 0.9999 +vn -0.0000 0.9981 0.0622 +vn -0.0116 -0.3853 -0.9227 +vn 0.0051 0.7872 -0.6166 +vn -0.0016 0.8027 -0.5964 +vn 0.0158 0.3028 0.9529 +vn -0.0018 0.7540 0.6568 +vn 0.0063 -0.2564 0.9665 +vn -0.0036 -0.2846 0.9586 +vn -0.0062 0.4973 -0.8675 +vn 0.0010 0.9692 -0.2463 +vn -0.0032 0.6148 -0.7887 +vn -0.0009 0.9658 -0.2593 +vn -0.9995 -0.0188 -0.0240 +vn -0.0000 -0.6223 -0.7828 +vn 0.9994 -0.0257 -0.0238 +vn 0.0020 -0.9993 0.0364 +vn 0.9823 -0.0000 0.1873 +vn -0.9823 -0.0000 -0.1873 +vn -0.6335 -0.0094 -0.7737 +vn -0.6256 -0.0031 -0.7801 +vn 0.5945 -0.0069 -0.8041 +vn 0.5897 -0.0104 -0.8076 +vn -0.4999 0.8661 0.0002 +vn 0.4981 0.5525 0.6683 +vn -0.0747 -0.0160 -0.9971 +vn -0.1447 -0.0311 0.9890 +vn 0.9135 -0.4068 -0.0003 +vn -0.0750 -0.0161 -0.9971 +vn -0.1450 -0.0311 0.9889 +vn -1.0000 -0.0002 0.0003 +vn -1.0000 0.0002 0.0002 +vn -1.0000 -0.0017 0.0001 +vn -1.0000 -0.0000 -0.0001 +vn -1.0000 0.0002 -0.0004 +vn -1.0000 -0.0000 -0.0012 +vn 1.0000 0.0007 -0.0000 +vn 0.9999 -0.0080 -0.0105 +vn 0.9993 -0.0309 -0.0209 +vn 0.9983 -0.0545 -0.0217 +vn 0.9519 0.0281 -0.3052 +vn 1.0000 -0.0000 -0.0090 +vn 0.9880 -0.1522 -0.0274 +vn 0.9969 -0.0764 -0.0178 +vn 0.9938 0.1106 0.0080 +vn -0.0012 -0.7945 -0.6073 +vn -0.1065 0.0384 -0.9936 +vn -0.0434 -0.2158 -0.9755 +vn -0.0992 0.0796 -0.9919 +vn -0.0920 -0.4258 -0.9001 +vn 0.0086 -0.3391 -0.9407 +vn -0.0218 -0.2661 -0.9637 +vn -0.0564 0.5881 -0.8068 +vn 0.0001 -0.0000 -1.0000 +vn 0.0001 -0.0001 -1.0000 +vn 0.0037 -0.0154 -0.9999 +vn 0.5723 -0.7811 -0.2497 +vn -0.0094 0.9999 0.0071 +vn -0.0133 0.9999 0.0063 +vn -0.0034 1.0000 0.0029 +vn 0.0020 1.0000 0.0053 +vn -0.0034 1.0000 0.0021 +vn -0.0053 1.0000 0.0010 +vn 0.0071 0.9999 0.0085 +vn -0.0020 1.0000 0.0053 +vn 0.0140 0.9999 0.0067 +vn 0.0034 1.0000 0.0021 +vn 0.0034 1.0000 0.0031 +vn 0.0053 1.0000 0.0010 +vn 0.0040 1.0000 0.0004 +vn -0.0071 0.9999 0.0085 +vn -0.0040 1.0000 0.0004 +vn 0.0005 1.0000 0.0052 +vn -0.0007 1.0000 0.0056 +vn 0.0002 1.0000 0.0053 +vn -0.0731 -0.9967 0.0347 +vn -0.0063 -1.0000 0.0047 +vn -0.0062 -1.0000 0.0049 +vn -0.0061 -1.0000 0.0024 +vn 0.4983 -0.7947 0.3466 +vn 0.9413 -0.1042 0.3211 +vn -0.4925 -0.8183 0.2964 +vn -0.9177 -0.0390 0.3952 +vn 0.0841 -0.9963 0.0186 vt 0.253710 0.110526 vt 0.252349 0.068980 vt 0.240097 0.108230 @@ -2533,7 +8206,6 @@ vt 0.102714 0.574049 vt 0.151506 0.572592 vt 0.337191 0.624061 vt 0.337191 0.704667 -vt 0.337191 0.704667 vt 0.320684 0.647879 vt 0.083852 0.600957 vt 0.313479 0.584301 @@ -2555,24 +8227,16 @@ vt 0.261863 0.480363 vt 0.261863 0.751637 vt 0.175980 0.543455 vt 0.256586 0.543455 -vt 0.256586 0.543455 vt 0.256586 0.785272 vt 0.175980 0.785272 -vt 0.175980 0.785272 vt 0.256586 0.462849 -vt 0.175980 0.543455 vt 0.175980 0.462849 vt 0.197878 0.688963 vt 0.248434 0.522479 vt 0.248434 0.689647 -vt 0.337191 0.624061 -vt 0.337191 0.704667 vt 0.334807 0.548694 vt 0.057193 0.653727 vt 0.057193 0.548694 -vt 0.175980 0.462849 -vt 0.175980 0.543455 -vt 0.175980 0.543455 vt 0.219390 0.594549 vt 0.185128 0.622603 vt 0.219390 0.659949 @@ -3444,13 +9108,8 @@ vt 0.332306 0.648580 vt 0.369571 0.568061 vt 0.249842 0.522353 vt 0.172030 0.465145 -vt 0.175980 0.543455 -vt 0.256586 0.785272 -vt 0.256586 0.543455 vt 0.189399 0.521681 -vt 0.337191 0.624061 vt 0.334807 0.653727 -vt 0.175980 0.462849 vt 0.207656 0.556503 vt 0.241942 0.659949 vt 0.309031 0.804486 @@ -3606,4528 +9265,2914 @@ vt 0.232488 0.109666 vt 0.238571 0.261723 vt 0.197818 0.221995 vt 0.198793 0.203902 -vn -0.0850 0.0014 -0.9964 -vn -0.1434 -0.0004 -0.9897 -vn -0.0880 -0.0711 -0.9936 -vn -0.1601 -0.0115 -0.9870 -vn -0.1027 -0.1488 -0.9835 -vn -0.1896 -0.0152 -0.9817 -vn -0.1280 -0.2399 -0.9623 -vn -0.2315 -0.0112 -0.9728 -vn -0.1795 -0.3578 -0.9164 -vn -0.2839 -0.0110 -0.9588 -vn -0.2522 -0.5529 -0.7942 -vn -0.3148 -0.0516 -0.9477 -vn -0.2965 -0.8183 -0.4925 -vn -0.1239 -0.2191 0.9678 -vn -0.1533 -0.0171 0.9880 -vn -0.0839 -0.1422 0.9863 -vn -0.0764 -0.0648 0.9950 -vn -0.1233 -0.0017 0.9924 -vn -0.0733 0.0014 0.9973 -vn -0.1227 0.0052 0.9924 -vn -0.0824 0.0664 0.9944 -vn -0.1523 0.0169 0.9882 -vn -0.0946 0.1432 0.9852 -vn -0.1267 0.2183 0.9676 -vn -0.2042 0.0157 0.9788 -vn -0.1632 0.3436 0.9248 -vn -0.2449 0.9662 0.0803 -vn -0.2410 0.7101 0.6616 -vn -0.3612 0.4929 0.7916 -vn -0.1768 0.9838 0.0306 -vn -0.1756 0.9039 0.3901 -vn -0.0923 0.9952 0.0312 -vn -0.1433 0.9724 0.1843 -vn -0.0503 0.9987 0.0041 -vn -0.1334 0.9911 -0.0017 -vn -0.0489 0.9988 -0.0011 -vn -0.1411 0.9681 -0.2072 -vn -0.0912 0.9957 -0.0152 -vn -0.1816 0.8480 -0.4980 -vn -0.1826 0.9827 -0.0325 -vn -0.2334 0.5855 -0.7764 -vn -0.2499 0.9635 -0.0961 -vn -0.3603 0.3869 -0.8489 -vn -0.1579 0.3215 -0.9336 -vn -0.2319 0.0210 -0.9725 -vn -0.1391 0.2325 -0.9626 -vn -0.1755 0.0234 -0.9842 -vn -0.1077 0.1561 -0.9819 -vn -0.0953 0.0727 -0.9928 -vn -0.1433 0.0025 -0.9897 -vn -0.2369 -0.9574 0.1654 -vn -0.1967 -0.9805 0.0005 -vn -0.2095 -0.9778 0.0002 -vn -0.1639 -0.9050 0.3925 -vn -0.0040 -0.9829 0.1840 -vn -0.1867 -0.9655 0.1816 -vn -0.0488 0.1439 0.9884 -vn -0.0302 0.0665 0.9973 -vn -0.2484 0.8318 -0.4964 -vn -0.1064 -0.6291 -0.7700 -vn -0.0132 -0.4130 -0.9106 -vn 0.0004 -0.2726 0.9621 -vn -0.2701 0.9432 0.1933 -vn -0.2578 0.8723 0.4156 -vn -0.0175 -0.0020 -0.9998 -vn -0.0330 0.0730 -0.9968 -vn -0.0808 0.2585 0.9626 -vn -0.1860 0.6137 -0.7673 -vn 0.0040 -0.1513 0.9885 -vn -0.2735 0.9619 -0.0018 -vn 0.0050 -0.1594 -0.9872 -vn -0.0042 -0.0784 -0.9969 -vn -0.2700 -0.8972 0.3496 -vn -0.1270 -0.7316 0.6698 -vn -0.1432 0.4558 0.8785 -vn -0.1165 0.3909 -0.9130 -vn -0.2488 -0.9498 -0.1895 -vn -0.2029 -0.8650 -0.4589 -vn -0.0160 -0.0018 0.9999 -vn -0.0040 -0.0716 0.9974 -vn -0.2704 0.9382 -0.2162 -vn 0.0061 -0.2604 -0.9655 -vn -0.2015 -0.4100 0.8895 -vn -0.2926 -0.6555 0.6962 -vn -0.2173 0.7026 0.6776 -vn -0.0761 0.2476 -0.9659 -vn -0.2089 -0.9575 -0.1987 -vn -0.0438 -0.4783 0.8771 -vn -0.0517 0.1522 -0.9870 -vn 0.0597 -0.2874 0.9559 -vn 0.1714 -0.5093 0.8433 -vn 0.0744 -0.5047 0.8601 -vn -0.4181 0.9084 -0.0019 -vn -0.4103 0.8915 0.1920 -vn 0.0373 -0.9175 0.3960 -vn -0.4097 0.8867 -0.2142 -vn 0.0666 -0.7540 0.6534 -vn -0.3684 0.7939 -0.4838 -vn 0.0174 -0.0761 -0.9969 -vn -0.0094 -0.0026 -1.0000 -vn -0.1809 0.3828 -0.9060 -vn -0.2800 0.5992 -0.7500 -vn 0.0379 -0.1549 0.9872 -vn 0.0411 -0.1586 -0.9865 -vn -0.1132 0.2377 -0.9647 -vn 0.0157 -0.0708 0.9974 -vn 0.0601 -0.2658 -0.9622 -vn -0.0709 0.1439 -0.9870 -vn -0.0087 -0.0025 1.0000 -vn 0.0713 -0.4334 -0.8984 -vn -0.0386 0.0687 -0.9969 -vn -0.0357 0.0631 0.9974 -vn 0.0599 -0.6737 -0.7366 -vn -0.0699 0.1391 0.9878 -vn 0.0236 -0.8846 -0.4657 -vn -0.1245 0.2555 0.9588 -vn -0.0114 -0.9789 -0.2038 -vn -0.2137 0.4480 0.8681 -vn -0.3154 0.6742 0.6679 -vn -0.0270 -0.9996 -0.0024 -vn -0.3818 0.8267 0.4133 -vn -0.0068 -0.0044 1.0000 -vn 0.0471 -0.0623 0.9969 -vn 0.0316 -0.0696 0.9971 -vn -0.3872 0.5516 -0.7388 -vn -0.5047 0.7254 -0.4681 -vn 0.1187 -0.2918 0.9491 -vn 0.0333 -0.0732 -0.9968 -vn -0.0075 -0.0047 -1.0000 -vn -0.2488 0.3519 -0.9023 -vn 0.0716 -0.1549 0.9853 -vn 0.0735 -0.1540 -0.9853 -vn -0.1526 0.2132 -0.9650 -vn 0.1130 -0.2648 -0.9577 -vn -0.0936 0.1266 -0.9875 -vn 0.1524 -0.4400 -0.8850 -vn -0.0489 0.0594 -0.9970 -vn -0.0464 0.0560 0.9974 -vn 0.1771 -0.6814 -0.7102 -vn -0.0938 0.1254 0.9877 -vn 0.1571 -0.8833 -0.4417 -vn -0.1684 0.2332 0.9577 -vn 0.1197 -0.9743 -0.1909 -vn -0.2912 0.4115 0.8637 -vn 0.0985 -0.9951 -0.0017 -vn -0.4287 0.6152 0.6616 -vn -0.5598 0.8081 0.1833 -vn -0.5205 0.7522 0.4041 -vn 0.1250 -0.9772 0.1717 -vn -0.5702 0.8215 -0.0022 -vn 0.1693 -0.9092 0.3804 -vn 0.1963 -0.7507 0.6308 -vn -0.5579 0.8043 -0.2046 -vn -0.1999 0.2027 0.9586 -vn -0.1183 0.0921 0.9887 -vn -0.1095 0.1088 0.9880 -vn 0.1690 -0.2459 -0.9545 -vn 0.1045 -0.1396 -0.9847 -vn -0.1075 0.1070 -0.9884 -vn -0.1801 0.1821 -0.9666 -vn -0.0033 -0.0034 1.0000 -vn 0.2458 -0.4147 -0.8761 -vn -0.0540 0.0508 -0.9972 -vn -0.0518 0.0488 0.9975 -vn 0.3159 -0.6440 -0.6968 -vn -0.0036 -0.0038 -1.0000 -vn 0.3360 -0.8383 -0.4294 -vn 0.3077 -0.9328 -0.1878 -vn -0.3480 0.3581 0.8664 -vn 0.2955 -0.9553 -0.0014 -vn -0.5222 0.5402 0.6599 -vn -0.6838 0.7090 0.1723 -vn -0.6379 0.6624 0.3928 -vn 0.3112 -0.9351 0.1695 -vn -0.6955 0.7185 -0.0029 -vn 0.3487 -0.8606 0.3712 -vn 0.3457 -0.7042 0.6201 -vn -0.6204 0.6375 -0.4569 -vn -0.6826 0.7043 -0.1947 -vn 0.2776 -0.4779 0.8334 -vn -0.4742 0.4853 -0.7345 -vn 0.1841 -0.2738 0.9440 -vn 0.0487 -0.0647 -0.9967 -vn -0.3001 0.3061 -0.9034 -vn 0.1067 -0.1429 0.9840 -vn -0.7335 0.5560 0.3909 -vn -0.6435 0.3706 0.6698 -vn -0.5942 0.4523 0.6651 -vn 0.5082 -0.7458 -0.4307 -vn 0.4384 -0.5732 -0.6923 -vn -0.2186 0.1690 0.9611 -vn 0.5201 -0.8328 -0.1894 -vn -0.3886 0.2980 0.8719 -vn 0.5159 -0.8566 -0.0017 -vn 0.5228 -0.8352 0.1710 -vn -0.7985 0.6020 -0.0047 -vn -0.7868 0.5949 0.1645 -vn 0.5231 -0.7659 0.3738 -vn -0.7842 0.5900 -0.1921 -vn 0.4766 -0.6256 0.6176 -vn -0.7102 0.5338 -0.4590 -vn 0.3642 -0.4265 0.8279 -vn -0.5371 0.4039 -0.7405 -vn 0.2328 -0.2454 0.9410 -vn 0.0599 -0.0554 -0.9967 -vn -0.0006 -0.0016 -1.0000 -vn -0.3345 0.2529 -0.9078 -vn 0.1306 -0.1268 0.9833 -vn 0.1268 -0.1231 -0.9843 -vn -0.1961 0.1497 -0.9691 -vn 0.0579 -0.0535 0.9969 -vn 0.2094 -0.2199 -0.9528 -vn -0.1161 0.0894 -0.9892 -vn -0.0006 -0.0014 1.0000 -vn 0.3198 -0.3715 -0.8716 -vn -0.0573 0.0443 -0.9974 -vn -0.0548 0.0428 0.9976 -vn -0.8736 0.4866 -0.0072 -vn -0.9035 0.3837 -0.1908 -vn -0.9213 0.3888 -0.0082 -vn 0.6668 -0.7453 -0.0019 -vn -0.8016 0.4528 0.3903 -vn 0.6626 -0.7288 0.1725 -vn -0.8613 0.4816 0.1620 -vn 0.6382 -0.6726 0.3745 -vn -0.8568 0.4776 -0.1945 -vn 0.5610 -0.5557 0.6135 -vn -0.7730 0.4334 -0.4634 -vn 0.4180 -0.3854 0.8226 -vn -0.5775 0.3294 -0.7470 -vn 0.2619 -0.2247 0.9386 -vn 0.0662 -0.0502 -0.9965 -vn 0.0005 -0.0008 -1.0000 -vn -0.3549 0.2079 -0.9115 -vn 0.1449 -0.1163 0.9826 -vn 0.1405 -0.1126 -0.9837 -vn -0.2084 0.1263 -0.9699 -vn 0.0640 -0.0486 0.9968 -vn 0.2348 -0.2011 -0.9510 -vn -0.1229 0.0780 -0.9893 -vn 0.0005 -0.0008 1.0000 -vn 0.3662 -0.3368 -0.8675 -vn -0.0603 0.0401 -0.9974 -vn -0.0576 0.0385 0.9976 -vn 0.5164 -0.5106 -0.6874 -vn -0.1248 0.0799 0.9890 -vn 0.6213 -0.6548 -0.4303 -vn -0.2320 0.1424 0.9622 -vn 0.6601 -0.7265 -0.1911 -vn -0.4153 0.2461 0.8757 -vn 0.7506 -0.6320 -0.1926 -vn 0.8419 -0.5396 -0.0019 -vn 0.8261 -0.5275 -0.1981 -vn 0.6199 -0.4919 0.6113 -vn -0.8156 0.3540 -0.4577 -vn 0.4561 -0.3458 0.8200 -vn -0.6126 0.2767 -0.7404 -vn 0.2827 -0.2044 0.9372 -vn 0.0702 -0.0463 -0.9965 -vn 0.0005 -0.0004 -1.0000 -vn -0.3790 0.1816 -0.9074 -vn 0.1547 -0.1067 0.9822 -vn 0.1498 -0.1032 -0.9833 -vn -0.2224 0.1147 -0.9682 -vn 0.0678 -0.0448 0.9967 -vn 0.2532 -0.1828 -0.9500 -vn -0.1311 0.0727 -0.9887 -vn 0.0005 -0.0005 1.0000 -vn 0.3995 -0.3023 -0.8654 -vn -0.0642 0.0380 -0.9972 -vn -0.0610 0.0361 0.9975 -vn 0.5709 -0.4523 -0.6852 -vn -0.1328 0.0738 0.9884 -vn 0.6968 -0.5735 -0.4308 -vn -0.2472 0.1277 0.9605 -vn -0.4425 0.2131 0.8711 -vn 0.7627 -0.6467 -0.0018 -vn -0.6840 0.3102 0.6602 -vn -0.8479 0.3692 0.3804 -vn 0.7535 -0.6340 0.1741 -vn -0.9089 0.3868 0.1557 -vn 0.7157 -0.5889 0.3755 -vn 0.6684 -0.4133 0.6184 -vn 0.8341 -0.3819 0.3981 -vn 0.7814 -0.4927 0.3829 -vn -0.7262 0.2623 0.6355 -vn -0.8843 0.3001 0.3577 -vn 0.8293 -0.5292 0.1794 -vn -0.9401 0.3087 0.1443 -vn -0.9345 0.3069 -0.1801 -vn -0.9509 0.3094 -0.0089 -vn -0.8530 0.2899 -0.4340 -vn 0.4855 -0.2921 0.8240 -vn -0.6548 0.2374 -0.7176 -vn 0.2977 -0.1739 0.9387 -vn 0.0726 -0.0401 -0.9966 -vn -0.0001 0.0002 -1.0000 -vn -0.4130 0.1638 -0.8959 -vn 0.1614 -0.0918 0.9826 -vn 0.1561 -0.0888 -0.9837 -vn -0.2429 0.1064 -0.9642 -vn 0.0702 -0.0388 0.9968 -vn 0.2663 -0.1555 -0.9513 -vn -0.1417 0.0680 -0.9876 -vn 0.0000 0.0002 1.0000 -vn 0.4245 -0.2549 -0.8688 -vn -0.0685 0.0353 -0.9970 -vn -0.0652 0.0335 0.9973 -vn 0.6145 -0.3793 -0.6918 -vn -0.1434 0.0684 0.9873 -vn 0.7602 -0.4794 -0.4384 -vn -0.2692 0.1171 0.9560 -vn -0.4800 0.1889 0.8567 -vn 0.1645 -0.0719 0.9837 -vn 0.3079 -0.0962 0.9466 -vn 0.3051 -0.1352 0.9427 -vn -0.9573 0.2361 -0.1670 -vn -0.9715 0.2368 -0.0089 -vn 0.7047 -0.3199 0.6332 -vn -0.8864 0.2277 -0.4031 -vn 0.5046 -0.2262 0.8332 -vn -0.7033 0.1950 -0.6836 -vn 0.0738 -0.0317 -0.9968 -vn -0.0007 0.0006 -1.0000 -vn -0.4570 0.1410 -0.8782 -vn 0.1591 -0.0697 -0.9848 -vn -0.2679 0.0931 -0.9589 -vn 0.0715 -0.0307 0.9970 -vn 0.2726 -0.1208 -0.9545 -vn -0.1532 0.0588 -0.9864 -vn -0.0005 0.0005 1.0000 -vn 0.4398 -0.1968 -0.8763 -vn -0.0727 0.0300 -0.9969 -vn -0.0694 0.0285 0.9972 -vn 0.6454 -0.2925 -0.7056 -vn -0.1554 0.0590 0.9861 -vn 0.8099 -0.3710 -0.4544 -vn -0.2965 0.1013 0.9496 -vn 0.8890 -0.4085 -0.2067 -vn -0.5255 0.1593 0.8358 -vn 0.9086 -0.4177 -0.0019 -vn -0.7716 0.2107 0.6001 -vn -0.9145 0.2329 0.3307 -vn 0.8927 -0.4099 0.1874 -vn -0.9623 0.2368 0.1339 -vn -0.0728 0.0213 0.9971 -vn -0.0009 -0.0010 1.0000 -vn -0.0009 0.0003 1.0000 -vn 0.0743 -0.0231 -0.9970 -vn -0.0011 0.0003 -1.0000 -vn -0.5017 0.1077 -0.8583 -vn -0.7490 0.1423 -0.6471 -vn 0.1653 -0.0517 0.9849 -vn 0.1598 -0.0499 -0.9859 -vn -0.2950 0.0720 -0.9528 -vn 0.0719 -0.0223 0.9972 -vn 0.2744 -0.0857 -0.9578 -vn -0.1641 0.0449 -0.9854 -vn 0.4443 -0.1386 -0.8851 -vn -0.0761 0.0223 -0.9969 -vn 0.6612 -0.2059 -0.7214 -vn -0.1674 0.0451 0.9849 -vn 0.8423 -0.2616 -0.4712 -vn -0.3267 0.0777 0.9419 -vn 0.9324 -0.2888 -0.2173 -vn -0.5710 0.1190 0.8122 -vn 0.9554 -0.2954 -0.0021 -vn -0.8104 0.1508 0.5661 -vn -0.9374 0.1623 0.3081 -vn 0.9366 -0.2898 0.1971 -vn -0.9781 0.1648 0.1269 -vn 0.8693 -0.2698 0.4142 -vn -0.9738 0.1643 -0.1571 -vn -0.9862 0.1653 -0.0081 -vn 0.7249 -0.2261 0.6507 -vn -0.9140 0.1598 -0.3730 -vn 0.5117 -0.1599 0.8441 -vn -0.6099 0.0731 0.7891 -vn -0.3748 0.0158 0.9270 -vn -0.3525 0.0496 0.9345 -vn 0.4455 -0.0928 -0.8904 -vn 0.2744 -0.0581 -0.9599 -vn -0.0785 0.0136 -0.9968 -vn -0.1739 0.0286 -0.9843 -vn -0.0757 0.0130 0.9970 -vn 0.6667 -0.1367 -0.7327 -vn -0.0011 -0.0011 -1.0000 -vn -0.1786 0.0288 0.9835 -vn 0.8572 -0.1729 -0.4851 -vn 0.9556 -0.1899 -0.2252 -vn 0.9811 -0.1937 -0.0021 -vn -0.8379 0.0894 0.5384 -vn -0.9503 0.0956 0.2962 -vn 0.9602 -0.1904 0.2045 -vn -0.9875 0.0975 0.1240 -vn 0.8861 -0.1782 0.4280 -vn -0.9837 0.0956 -0.1523 -vn -0.9952 0.0973 -0.0092 -vn 0.7327 -0.1502 0.6638 -vn -0.9304 0.0928 -0.3546 -vn 0.5141 -0.1075 0.8510 -vn -0.7834 0.0844 -0.6158 -vn 0.3085 -0.0657 0.9490 -vn 0.0746 -0.0166 -0.9971 -vn -0.5422 0.0669 -0.8376 -vn 0.1662 -0.0360 0.9854 -vn 0.1601 -0.0343 -0.9865 -vn -0.3182 0.0463 -0.9469 -vn 0.0725 -0.0162 0.9972 -vn -0.9914 0.0406 0.1245 -vn -0.9567 0.0103 0.2909 -vn -0.9560 0.0362 0.2912 -vn 0.9635 -0.1366 -0.2301 -vn 0.8616 -0.1280 -0.4912 -vn -0.6333 0.0236 0.7736 -vn 0.9905 -0.1376 -0.0023 -vn -0.8511 0.0302 0.5241 -vn 0.9684 -0.1359 0.2093 -vn 0.8907 -0.1303 0.4355 -vn -0.9872 0.0373 -0.1550 -vn -0.9991 0.0408 -0.0117 -vn 0.7343 -0.1144 0.6692 -vn -0.9379 0.0314 -0.3454 -vn 0.5163 -0.0865 0.8520 -vn -0.8017 0.0270 -0.5971 -vn 0.3125 -0.0560 0.9483 -vn 0.0755 -0.0170 -0.9970 -vn -0.0008 -0.0068 -1.0000 -vn -0.5687 0.0218 -0.8222 -vn 0.1695 -0.0326 0.9850 -vn 0.1617 -0.0297 -0.9864 -vn -0.3378 0.0160 -0.9411 -vn 0.0743 -0.0172 0.9971 -vn 0.2772 -0.0479 -0.9596 -vn -0.1818 0.0096 -0.9833 -vn -0.0005 -0.0065 1.0000 -vn 0.4484 -0.0744 -0.8907 -vn -0.0803 0.0021 -0.9968 -vn -0.0782 0.0019 0.9969 -vn 0.6690 -0.1053 -0.7358 -vn -0.1886 0.0090 0.9820 -vn 0.9693 -0.1237 0.2124 -vn -0.9922 0.0148 0.1241 -vn 0.8896 -0.1215 0.4402 -vn -0.9876 0.0119 -0.1564 -vn -0.9998 0.0139 -0.0121 -vn 0.7314 -0.1090 0.6732 -vn -0.9396 0.0033 -0.3421 -vn 0.5138 -0.0836 0.8538 -vn -0.8100 -0.0038 -0.5864 -vn 0.3123 -0.0545 0.9484 -vn 0.0739 -0.0191 -0.9971 -vn -0.0028 -0.0112 -0.9999 -vn -0.5826 -0.0057 -0.8127 -vn 0.1695 -0.0327 0.9850 -vn 0.1603 -0.0299 -0.9866 -vn -0.3496 -0.0038 -0.9369 -vn 0.0736 -0.0190 0.9971 -vn 0.2765 -0.0459 -0.9599 -vn -0.1882 -0.0030 -0.9821 -vn -0.0024 -0.0107 0.9999 -vn 0.4470 -0.0707 -0.8917 -vn -0.0836 -0.0055 -0.9965 -vn -0.0826 -0.0062 0.9966 -vn 0.6670 -0.0996 -0.7384 -vn -0.1977 -0.0055 0.9803 -vn 0.8608 -0.1198 -0.4946 -vn -0.3889 -0.0069 0.9212 -vn 0.9646 -0.1251 -0.2320 -vn -0.6466 -0.0061 0.7628 -vn 0.9923 -0.1241 -0.0017 -vn -0.8564 0.0001 0.5164 -vn 0.0154 -0.9999 0.0000 -vn -0.1395 0.0000 -0.9902 -vn -0.1396 0.0000 -0.9902 -vn 0.0000 1.0000 0.0000 -vn -0.1395 -0.0000 0.9902 -vn -0.0000 -1.0000 -0.0000 -vn 1.0000 0.0000 0.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 -0.0000 1.0000 -vn 0.1516 0.2200 -0.9636 -vn 0.1758 0.2356 -0.9558 -vn 0.1392 0.0463 -0.9892 -vn 0.0748 0.1179 0.9902 -vn 0.1515 0.2198 0.9637 -vn -0.0034 -1.0000 0.0000 -vn -0.0069 -1.0000 -0.0002 -vn -0.0046 -1.0000 -0.0004 -vn -0.1201 0.9905 0.0674 -vn -0.1692 0.9853 -0.0243 -vn -0.1685 0.9854 0.0239 -vn 0.6715 0.0000 0.7410 -vn 0.7526 0.0000 -0.6585 -vn -0.6431 0.7658 0.0000 -vn -0.7812 0.6243 0.0000 -vn -0.7823 0.6229 0.0000 -vn -0.9072 0.4206 0.0000 -vn -0.0830 -0.0895 -0.9925 -vn -0.0860 -0.0928 -0.9920 -vn -0.1761 -0.1900 -0.9658 -vn -0.0943 -0.1009 0.9904 -vn -0.0904 -0.0966 0.9912 -vn -0.1920 -0.2053 0.9597 -vn -1.0000 -0.0042 -0.0054 -vn -0.9999 0.0000 -0.0146 -vn -1.0000 -0.0047 -0.0039 -vn -0.1097 0.0027 -0.9940 -vn -0.1083 0.0052 -0.9941 -vn -0.1113 0.0000 -0.9938 -vn -0.1083 0.0052 0.9941 -vn -0.1097 0.0027 0.9940 -vn -0.1113 -0.0000 0.9938 -vn -0.0161 0.9998 0.0071 -vn -0.0209 0.9996 0.0196 -vn -0.0148 0.9999 0.0033 -vn -0.1869 0.0000 0.9824 -vn -0.0747 -0.0000 0.9972 -vn -0.1869 0.0000 -0.9824 -vn -0.0747 0.0000 -0.9972 -vn -0.0891 0.0000 -0.9960 -vn -0.3806 0.9172 -0.1177 -vn -0.2935 0.9533 0.0714 -vn -0.3067 0.9492 -0.0706 -vn -0.2421 0.0000 0.9702 -vn -0.5322 0.0000 0.8466 -vn -0.5326 0.0000 0.8463 -vn -0.3690 0.9219 0.1179 -vn -0.7016 0.6804 0.2118 -vn -0.5626 0.8144 0.1426 -vn -0.5711 0.8205 0.0246 -vn -0.7017 0.6830 -0.2028 -vn -0.5670 0.8125 -0.1359 -vn -0.5723 0.8197 -0.0233 -vn -0.6911 0.7061 -0.1540 -vn -0.6904 0.7069 0.1536 -vn -0.9181 0.0000 -0.3963 -vn -0.8223 0.0000 -0.5691 -vn -0.9182 0.0000 -0.3961 -vn -0.8221 0.0000 -0.5694 -vn -0.6947 0.0000 -0.7193 -vn -0.6944 0.0000 -0.7196 -vn -0.5326 -0.0000 -0.8463 -vn -0.8419 0.5339 0.0783 -vn -0.8379 0.5403 -0.0780 -vn 0.0621 0.0017 -0.9981 -vn 0.1966 0.0131 -0.9804 -vn -0.0307 -0.0882 -0.9956 -vn -0.5322 -0.0000 -0.8466 -vn -0.2529 -0.0096 -0.9674 -vn -0.6944 0.0000 0.7196 -vn -0.6947 0.0000 0.7193 -vn -0.0332 0.0009 0.9994 -vn -0.2403 0.0005 0.9707 -vn -0.8221 0.0000 0.5694 -vn -0.8223 0.0000 0.5691 -vn -0.9181 0.0000 0.3963 -vn -0.9182 0.0000 0.3961 -vn -0.9793 0.0000 0.2026 -vn -0.9793 0.0000 0.2025 -vn -0.9793 0.0000 -0.2025 -vn -0.9793 0.0000 -0.2026 -vn -0.0009 -0.9193 0.3935 -vn 0.0820 -0.9598 0.2683 -vn 0.1816 -0.8890 0.4204 -vn -0.0073 -0.9245 -0.3811 -vn 0.0831 -0.9592 -0.2703 -vn 0.0009 -0.9658 -0.2591 -vn 0.1076 -0.8409 0.5304 -vn -0.0560 -0.8518 0.5208 -vn 0.0797 -0.9830 -0.1652 -vn -0.0000 -0.9864 -0.1643 -vn 0.0140 -0.6644 0.7472 -vn 0.0000 -0.9968 -0.0795 -vn 0.0807 -0.9934 -0.0810 -vn 0.0808 -0.9967 0.0000 -vn 0.0807 -0.9934 0.0810 -vn -0.0000 -0.9968 0.0795 -vn -0.0653 -0.6526 -0.7549 -vn -0.0307 -0.4893 -0.8716 -vn 0.1225 -0.6705 -0.7317 -vn 0.0797 -0.9830 0.1652 -vn -0.0000 -0.9864 0.1644 -vn 0.0850 -0.8460 -0.5263 -vn -0.1037 -0.8380 -0.5357 -vn 0.0009 -0.9659 0.2591 -vn 0.1647 -0.8966 -0.4110 -vn 0.1663 -0.9485 0.2696 -vn 0.1772 -0.9441 -0.2780 -vn 0.1667 -0.9697 -0.1786 -vn 0.1937 -0.6083 0.7697 -vn 0.1663 -0.9824 -0.0852 -vn 0.0751 -0.4471 0.8914 -vn -0.0069 -0.4537 0.8911 -vn 0.1670 -0.9860 0.0000 -vn 0.1663 -0.9824 0.0852 -vn -0.3032 -0.6963 -0.6505 -vn 0.1647 -0.9705 0.1758 -vn 0.2605 -0.9613 -0.0898 -vn 0.2639 -0.9645 0.0000 -vn 0.2578 -0.9623 0.0865 -vn 0.2537 -0.9446 0.2083 -vn 0.2344 -0.7751 -0.5868 -vn 0.2856 -0.8983 0.3339 -vn 0.2361 -0.9228 -0.3046 -vn 0.2460 -0.9496 -0.1944 -vn 0.3545 -0.7893 -0.5014 -vn 0.4529 -0.7116 0.5371 -vn 0.3974 -0.8430 -0.3626 -vn 0.3359 -0.7186 0.6090 -vn 0.4129 -0.8797 -0.2358 -vn 0.3623 -0.9274 -0.0930 -vn 0.3740 -0.9274 0.0000 -vn 0.3617 -0.9288 0.0806 -vn 0.4019 -0.8787 0.2577 -vn 0.4001 -0.5603 -0.7253 -vn 0.5125 -0.7335 0.4464 -vn 0.5391 -0.8313 -0.1353 -vn 0.5268 -0.8500 -0.0000 -vn 0.5449 -0.8276 0.1351 -vn 0.2497 -0.4616 -0.8512 -vn 0.3171 -0.4528 -0.8333 -vn 0.7394 -0.5835 0.3359 -vn 0.5838 -0.5101 -0.6317 -vn 0.6845 -0.5562 -0.4712 -vn 0.5186 -0.4413 0.7323 -vn 0.7353 -0.5795 -0.3515 -vn 0.5858 -0.5199 0.6218 -vn 0.3643 -0.4979 0.7870 -vn 0.8105 -0.5577 -0.1791 -vn 0.5920 -0.8059 -0.0000 -vn 0.8084 -0.5579 0.1875 -vn 0.4116 -0.3229 -0.8523 -vn 0.7043 -0.5393 0.4616 -vn 0.9485 -0.3169 0.0000 -vn 0.9306 -0.3110 0.1931 -vn 0.8750 -0.3497 0.3348 -vn 0.5151 -0.3509 -0.7820 -vn 0.6857 -0.3016 -0.6624 -vn 0.8035 -0.3171 -0.5038 -vn 0.8696 -0.3295 -0.3678 -vn 0.9314 -0.3112 -0.1890 -vn 0.5819 -0.2331 0.7791 -vn 0.2095 0.3525 -0.9121 -vn 0.2467 0.4150 -0.8757 -vn 0.2780 0.3555 -0.8924 -vn 0.8514 0.3083 0.4243 -vn 0.8497 0.4873 0.2012 -vn 0.7070 0.6276 0.3260 -vn 0.4776 0.4578 -0.7499 -vn 0.5249 0.3549 -0.7737 -vn 0.7811 0.2963 0.5496 -vn 0.7548 0.2737 0.5961 -vn 0.6661 0.3575 -0.6546 -vn 0.5915 0.5505 -0.5891 -vn 0.6294 0.4756 0.6146 -vn 0.7219 0.2655 0.6391 -vn 0.7854 0.3573 -0.5053 -vn 0.7739 0.3431 -0.5323 -vn 0.5392 0.3215 0.7784 -vn 0.3968 0.5381 0.7437 -vn 0.8648 0.3390 -0.3704 -vn 0.7403 0.5838 -0.3333 -vn 0.3007 0.3589 0.8836 -vn 0.3261 0.3306 0.8857 -vn 0.8495 0.4881 -0.2000 -vn 0.9277 0.3118 -0.2054 -vn 0.2268 0.3598 0.9051 -vn 0.0008 0.4703 0.8825 -vn 0.8676 0.4972 -0.0000 -vn 0.9589 0.2838 0.0000 -vn 0.3508 0.3751 -0.8580 -vn 0.0070 0.3962 -0.9181 -vn -0.0168 0.4004 0.9162 -vn 0.9267 0.3118 0.2097 -vn 0.4885 0.8651 -0.1137 -vn 0.6210 0.7838 -0.0000 -vn 0.4823 0.8644 0.1420 -vn 0.2810 0.9383 0.2017 -vn 0.4345 0.8418 0.3202 -vn 0.3320 0.9209 0.2041 -vn 0.5262 0.6767 -0.5150 -vn 0.5224 0.6287 0.5760 -vn 0.2810 0.9258 -0.2531 -vn 0.4629 0.7926 -0.3969 -vn 0.3924 0.8863 -0.2460 -vn 0.1645 0.4730 0.8656 -vn 0.2635 0.9646 -0.0047 -vn 0.1306 0.9896 -0.0598 -vn 0.1465 0.9857 0.0835 -vn 0.1269 0.5408 -0.8315 -vn 0.2738 0.7379 -0.6169 -vn -0.0083 0.9999 -0.0135 -vn 0.1938 0.9520 0.2370 -vn 0.1949 0.9685 0.1550 -vn 0.0678 0.9830 -0.1704 -vn 0.0848 0.8716 -0.4828 -vn -0.2816 -0.9309 0.2326 -vn 0.0753 0.9797 -0.1858 -vn 0.1198 0.9692 -0.2151 -vn 0.2722 0.9107 0.3106 -vn 0.2251 0.6016 0.7665 -vn 0.0848 0.9964 -0.0037 -vn 0.1517 0.9812 0.1195 -vn 0.0537 0.9852 0.1628 -vn 0.0472 0.9626 0.2667 -vn 0.0143 0.6488 0.7608 -vn -0.0547 0.6579 -0.7511 -vn -0.0430 0.8569 0.5137 -vn -0.0343 0.9172 -0.3969 -vn -0.0399 0.9847 -0.1695 -vn -0.0581 0.9856 0.1591 -vn -0.2468 0.8061 -0.5379 -vn -0.1819 0.9581 -0.2214 -vn -0.1402 0.9759 0.1669 -vn -0.1091 0.5155 0.8499 -vn -0.2831 0.7260 0.6267 -vn -0.1589 0.9752 -0.1542 -vn -0.0833 0.9965 0.0121 -vn -0.1660 0.9821 0.0888 -vn -0.2344 0.4491 -0.8622 -vn -0.2056 0.9570 0.2048 -vn -0.2586 0.9660 0.0043 -vn -0.1771 0.9690 0.1725 -vn -0.3249 0.9219 -0.2109 -vn -0.2976 0.9335 -0.2000 -vn -0.2831 0.3861 0.8780 -vn -0.3962 0.5580 -0.7291 -vn -0.0870 0.9878 0.1294 -vn -0.4287 0.7890 -0.4400 -vn -0.6017 0.7694 0.2145 -vn -0.7742 0.5163 0.3660 -vn -0.6479 0.6377 0.4166 -vn -0.5043 0.7900 0.3486 -vn -0.6209 0.5000 -0.6038 -vn -0.6207 0.4616 0.6338 -vn -0.6417 0.5477 0.5369 -vn -0.6590 0.6260 -0.4169 -vn -0.4867 0.4085 0.7722 -vn -0.7756 0.5111 -0.3703 -vn -0.5990 0.7746 -0.2029 -vn -0.3700 0.9290 0.0000 -vn -0.8847 0.4196 -0.2030 -vn -0.8185 0.5745 -0.0000 -vn -0.8981 0.4397 -0.0000 -vn -0.8802 0.4176 0.2254 -vn -0.9298 0.3095 0.1993 -vn -0.8650 0.3507 0.3588 -vn -0.3237 0.3670 -0.8721 -vn -0.5376 0.3499 -0.7672 -vn -0.7889 0.3397 0.5120 -vn -0.6705 0.3486 -0.6549 -vn -0.6733 0.3581 0.6468 -vn -0.7818 0.3346 -0.5261 -vn -0.5360 0.3700 0.7588 -vn -0.8726 0.3272 -0.3626 -vn -0.3109 0.3928 0.8655 -vn -0.9341 0.3006 -0.1925 -vn -0.1877 0.3951 0.8993 -vn -0.9585 0.2852 -0.0000 -vn -0.1963 0.3915 -0.8990 -vn -0.1789 0.3761 -0.9092 -vn -0.8022 -0.3246 0.5010 -vn -0.7267 -0.5894 0.3529 -vn -0.7960 -0.3199 0.5139 -vn -0.5578 -0.2641 -0.7869 -vn -0.5897 -0.5087 -0.6272 -vn -0.6977 -0.2756 -0.6613 -vn -0.6998 -0.2981 0.6491 -vn -0.5765 -0.5275 0.6240 -vn -0.7946 -0.3136 -0.5198 -vn -0.7988 -0.3229 -0.5076 -vn -0.5339 -0.3415 0.7735 -vn -0.4511 -0.5106 0.7320 -vn -0.7267 -0.5894 -0.3529 -vn -0.8603 -0.3521 -0.3687 -vn -0.4145 -0.3255 0.8498 -vn -0.8093 -0.5609 -0.1745 -vn -0.9335 -0.3119 -0.1766 -vn -0.9485 -0.3169 -0.0000 -vn -0.9335 -0.3119 0.1766 -vn -0.8093 -0.5609 0.1745 -vn -0.8603 -0.3521 0.3688 -vn -0.4103 -0.2800 -0.8679 -vn -0.4815 -0.4611 -0.7453 -vn -0.1054 -0.4502 0.8867 -vn -0.3120 -0.4696 0.8259 -vn -0.5268 -0.8500 -0.0000 -vn -0.5920 -0.8059 -0.0000 -vn -0.5390 -0.8314 0.1352 -vn -0.1149 -0.4548 -0.8831 -vn -0.2834 -0.4808 -0.8298 -vn -0.5393 -0.8312 -0.1353 -vn -0.3353 -0.7944 -0.5065 -vn -0.4077 -0.8358 0.3676 -vn -0.3334 -0.7916 0.5121 -vn -0.4101 -0.8366 -0.3631 -vn -0.5218 -0.7665 -0.3745 -vn -0.2576 -0.7695 0.5844 -vn -0.4129 -0.8797 -0.2358 -vn -0.3623 -0.9274 -0.0930 -vn -0.3740 -0.9274 0.0000 -vn -0.3623 -0.9274 0.0930 -vn -0.4129 -0.8797 0.2358 -vn -0.2929 -0.7285 -0.6193 -vn -0.5218 -0.7665 0.3745 -vn -0.2639 -0.9645 0.0000 -vn -0.2605 -0.9613 0.0898 -vn -0.2512 -0.9504 0.1834 -vn -0.2404 -0.9136 0.3280 -vn -0.2397 -0.9157 -0.3227 -vn -0.2512 -0.9504 -0.1834 -vn -0.2605 -0.9613 -0.0898 -vn -0.1678 -0.9403 0.2961 -vn -0.1584 -0.9024 0.4007 -vn -0.1658 -0.9403 -0.2973 -vn -0.1622 -0.9715 -0.1727 -vn -0.1046 -0.6414 0.7600 -vn -0.1663 -0.9824 -0.0852 -vn -0.1670 -0.9860 0.0000 -vn -0.1663 -0.9824 0.0852 -vn -0.1622 -0.9715 0.1727 -vn -0.1614 -0.8953 -0.4151 -vn -0.0808 -0.9967 0.0000 -vn -0.0807 -0.9934 0.0810 -vn -0.0797 -0.9830 0.1652 -vn -0.0858 -0.9587 0.2710 -vn -0.0865 -0.9583 -0.2724 -vn -0.0797 -0.9830 -0.1652 -vn -0.0807 -0.9934 -0.0810 -vn -0.2448 0.9696 0.0001 -vn -0.0769 0.9970 0.0110 -vn -0.2451 0.9695 -0.0020 -vn 1.0000 0.0015 0.0000 -vn -0.0741 0.0208 0.9970 -vn -0.0627 0.0377 0.9973 -vn -0.0461 0.1200 0.9917 -vn 0.1153 -0.9933 -0.0005 -vn 0.1149 -0.9934 -0.0047 -vn 0.1148 -0.9934 -0.0049 -vn -0.3409 0.9401 0.0000 -vn 0.0801 0.9968 0.0065 -vn -0.0774 0.9969 0.0133 -vn 0.2883 0.9576 -0.0006 -vn 0.2879 0.9577 -0.0014 -vn 0.2885 0.9575 0.0000 -vn -0.0064 0.0242 -0.9997 -vn 0.0104 -0.0106 -0.9999 -vn -0.0409 0.1158 -0.9924 -vn -0.9999 0.0044 -0.0100 -vn -1.0000 0.0015 -0.0035 -vn 0.9796 -0.2011 -0.0001 -vn 0.8584 -0.5131 0.0029 -vn 0.8518 -0.5238 -0.0013 -vn -0.0546 0.9985 0.0000 -vn -0.0661 0.9978 0.0105 -vn -0.0756 0.9965 0.0368 -vn -0.0793 0.9957 0.0471 -vn 0.0653 0.9979 0.0002 -vn -0.1229 0.9924 0.0023 -vn 0.0672 0.9977 0.0009 -vn 0.1591 0.9873 0.0015 -vn 0.1602 0.9871 0.0030 -vn 0.9596 0.2813 -0.0041 -vn 0.9320 -0.3624 -0.0051 -vn 0.9662 0.2577 -0.0041 -vn -0.9506 0.3101 0.0093 -vn -0.9511 0.3088 0.0105 -vn -0.9487 0.3162 0.0038 -vn -0.1218 0.9925 0.0051 -vn -0.4544 0.8908 0.0044 -vn -0.6708 0.7416 0.0043 -vn -0.4554 0.8902 0.0105 -vn 0.6623 -0.7492 -0.0047 -vn 0.8156 -0.5786 -0.0070 -vn 0.8140 -0.5808 -0.0095 -vn -0.9710 -0.2389 0.0012 -vn -0.9675 -0.2527 0.0052 -vn -0.9720 -0.2349 -0.0000 -vn 0.6496 -0.7603 -0.0008 -vn 0.6518 -0.7584 -0.0065 -vn 0.5138 -0.8579 -0.0059 -vn 0.5051 -0.8631 0.0000 -vn 0.9808 -0.1950 0.0015 -vn -0.9588 -0.2842 -0.0043 -vn -0.9995 -0.0317 -0.0040 -vn -0.9995 -0.0308 -0.0033 -vn -0.4624 -0.8867 -0.0017 -vn -0.6539 -0.7566 -0.0069 -vn -0.6580 -0.7529 -0.0142 -vn -0.2465 -0.9691 0.0003 -vn -0.4581 -0.8889 0.0020 -vn 0.4252 -0.9051 -0.0011 -vn 0.3928 -0.9195 -0.0102 -vn 0.3991 -0.9169 -0.0085 -vn 0.8709 0.4915 -0.0038 -vn 0.8788 0.4773 0.0021 -vn 0.8819 0.4714 0.0045 -vn 0.2464 0.9692 0.0010 -vn 0.8699 0.4932 -0.0049 -vn 0.7885 0.6150 -0.0035 -vn 0.8719 0.4897 -0.0023 -vn 0.9946 0.1036 0.0020 -vn 0.9950 0.0997 0.0053 -vn -0.9751 0.2215 0.0005 -vn -0.9755 0.2202 0.0026 -vn 0.2572 0.9664 0.0010 -vn 0.2574 0.9663 0.0008 -vn 0.2554 0.9668 0.0027 -vn 0.9878 -0.1557 0.0051 -vn 0.9877 -0.1562 0.0059 -vn 0.4313 -0.9022 0.0007 -vn 0.0274 -0.0022 -0.9996 -vn 0.0243 -0.0174 -0.9996 -vn 0.0278 0.0000 -0.9996 -vn 0.7849 -0.6196 0.0021 -vn 0.7839 -0.6209 0.0011 -vn 0.7861 -0.6181 0.0032 -vn 0.0242 -0.0238 0.9994 -vn 0.0284 -0.0029 0.9996 -vn 0.0290 0.0000 0.9996 -vn -0.0358 -0.9994 0.0005 -vn -0.0362 -0.9993 0.0015 -vn -0.0356 -0.9994 -0.0000 -vn 0.0230 0.9997 0.0000 -vn 0.0417 0.9991 0.0000 -vn -0.0088 -1.0000 -0.0000 -vn -0.6944 -0.7196 -0.0000 -vn -0.7894 -0.6139 -0.0000 -vn -0.7973 -0.6036 -0.0000 -vn -0.8746 -0.4849 -0.0000 -vn -0.1565 -0.0282 0.9873 -vn -0.1438 -0.0398 0.9888 -vn -0.1164 -0.0645 0.9911 -vn 0.1438 0.0398 -0.9888 -vn 0.1565 0.0282 -0.9873 -vn 0.1164 0.0645 -0.9911 -vn 0.9543 0.0000 0.2987 -vn 0.9543 0.0000 -0.2987 -vn 0.7772 -0.0060 -0.6292 -vn 0.7802 -0.0031 -0.6256 -vn 0.7834 0.0000 -0.6216 -vn 0.0481 0.9981 0.0389 -vn 0.8040 -0.0069 0.5945 -vn 0.8004 -0.0032 0.5995 -vn 0.7971 -0.0000 0.6039 -vn 0.0684 0.9974 -0.0244 -vn 0.0003 -0.4065 0.9136 -vn 0.0004 -0.0000 1.0000 -vn 0.0003 -0.4067 0.9136 -vn -0.0004 0.2079 -0.9781 -vn -0.0004 -0.2077 -0.9782 -vn -0.0004 -0.2079 -0.9781 -vn 0.0004 0.0002 1.0000 -vn 0.0003 0.4067 0.9136 -vn -0.0003 -0.5876 -0.8091 -vn -0.0003 -0.5878 -0.8090 -vn 0.0003 0.4070 0.9135 -vn 0.0003 0.7431 0.6692 -vn -0.0002 -0.8659 -0.5001 -vn -0.0002 -0.8660 -0.5000 -vn 0.0002 0.7433 0.6690 -vn 0.0001 0.9510 0.3090 -vn -0.0000 -0.9945 -0.1046 -vn -0.0000 -0.9945 -0.1045 -vn 0.0001 0.9511 0.3089 -vn -0.0000 0.9945 -0.1045 -vn 0.0001 -0.9510 0.3091 -vn -0.0000 0.9945 -0.1046 -vn -0.0002 0.8660 -0.5000 -vn 0.0002 -0.7431 0.6691 -vn -0.0003 0.5879 -0.8089 -vn -0.0003 0.5878 -0.8090 -vn 0.0002 -0.7431 0.6692 -vn -0.0004 0.2081 -0.9781 -vn -0.6913 0.2933 -0.6604 -vn -0.7997 -0.0000 -0.6003 -vn -0.7991 0.2452 -0.5489 -vn -0.6913 -0.2933 -0.6604 -vn -0.6921 -0.0000 -0.7218 -vn -0.6890 -0.5378 -0.4858 -vn -0.7991 -0.2452 -0.5489 -vn -0.6684 0.5524 0.4981 -vn -0.7877 0.5326 0.3097 -vn -0.8212 0.3816 0.4243 -vn -0.6856 -0.6919 -0.2264 -vn -0.7972 -0.4496 -0.4029 -vn -0.6781 0.6372 0.3663 -vn -0.7910 0.6082 0.0661 -vn -0.6818 -0.7277 0.0749 -vn -0.7944 -0.5783 -0.1858 -vn -0.6818 0.7277 0.0749 -vn -0.7944 0.5783 -0.1858 -vn -0.6781 -0.6372 0.3663 -vn -0.7910 -0.6082 0.0661 -vn -0.6856 0.6919 -0.2264 -vn -0.7972 0.4496 -0.4029 -vn -0.6752 -0.4343 0.5962 -vn -0.7877 -0.5326 0.3097 -vn -0.6890 0.5378 -0.4858 -vn -0.6660 -0.3031 0.6816 -vn -0.7851 -0.3630 0.5019 -vn -0.8193 -0.1772 0.5453 -vn -0.9239 -0.2230 0.3108 -vn -0.9332 0.0000 -0.3595 -vn -0.9328 0.1480 -0.3287 -vn -0.8905 0.0944 0.4451 -vn -0.9229 -0.0792 0.3767 -vn -0.9239 0.2230 0.3108 -vn -0.9229 0.0792 0.3767 -vn -0.9328 -0.1480 -0.3287 -vn -0.9257 0.3260 0.1921 -vn -0.9316 -0.2719 -0.2411 -vn -0.9278 0.3707 0.0428 -vn -0.9299 -0.3509 -0.1102 -vn -0.9299 0.3509 -0.1102 -vn -0.9278 -0.3707 0.0428 -vn -0.9316 0.2719 -0.2411 -vn -0.9257 -0.3260 0.1921 -vn -0.9490 0.1289 -0.2876 -vn -0.9483 0.2367 -0.2114 -vn -0.9440 -0.1933 0.2675 -vn -0.9493 0.0000 -0.3143 -vn -0.9435 0.0687 0.3242 -vn -0.9435 -0.0687 0.3242 -vn -0.9440 0.1933 0.2675 -vn -0.9490 -0.1289 -0.2876 -vn -0.9449 0.2828 0.1649 -vn -0.9483 -0.2367 -0.2113 -vn -0.9461 0.3220 0.0355 -vn -0.9473 -0.3053 -0.0975 -vn -0.9473 0.3052 -0.0976 -vn -0.9461 -0.3220 0.0355 -vn -0.9449 -0.2828 0.1649 -vn -0.9767 0.0875 -0.1961 -vn -0.9765 0.1602 -0.1439 -vn -0.9758 -0.1283 0.1769 -vn -0.9767 -0.0000 -0.2145 -vn -0.9758 -0.0454 0.2141 -vn -0.9758 0.1283 0.1769 -vn -0.9758 0.0455 0.2141 -vn -0.9767 -0.0875 -0.1961 -vn -0.9760 0.1885 0.1092 -vn -0.9766 -0.1602 -0.1439 -vn -0.9762 0.2157 0.0230 -vn -0.9764 -0.2056 -0.0665 -vn -0.9764 0.2056 -0.0664 -vn -0.9762 -0.2158 0.0230 -vn -0.9760 -0.1885 0.1092 -vn 0.9970 0.0169 -0.0759 -vn 0.9968 0.0464 -0.0653 -vn 0.9968 0.0481 -0.0643 -vn 0.9970 -0.0672 -0.0394 -vn 0.9971 -0.0452 -0.0618 -vn 0.9970 -0.0679 -0.0383 -vn 0.9971 -0.0448 -0.0620 -vn 0.9971 -0.0157 -0.0748 -vn 0.9965 0.0718 -0.0426 -vn 0.9965 0.0733 -0.0406 -vn 0.9970 0.0157 -0.0761 -vn 0.9962 0.0869 -0.0102 -vn 0.9961 0.0875 -0.0076 -vn -0.9965 -0.0497 -0.0679 -vn -0.9886 -0.1300 -0.0763 -vn -0.9963 -0.0746 -0.0421 -vn 0.9958 0.0872 0.0274 -vn 0.9958 0.0870 0.0296 -vn -0.9965 -0.0172 -0.0823 -vn -0.9890 -0.0868 -0.1201 -vn 0.9955 0.0705 0.0627 -vn 0.9955 0.0696 0.0638 -vn -0.9886 0.0303 -0.1472 -vn -0.9963 0.0186 -0.0834 -vn -0.9879 0.0898 -0.1263 -vn -0.9961 0.0529 -0.0706 -vn 0.9954 0.0390 0.0875 -vn 0.9954 0.0388 0.0872 -vn -0.9869 0.1388 -0.0824 -vn -0.9958 0.0805 -0.0446 -vn 0.9965 -0.0802 0.0250 -vn 0.9967 -0.0803 -0.0072 -vn 0.9964 -0.0796 0.0275 -vn -0.9856 0.1678 -0.0197 -vn -0.9954 0.0960 -0.0084 -vn -0.9843 0.1682 0.0528 -vn -0.9949 0.0950 0.0324 -vn -0.9833 0.1358 0.1209 -vn -0.9946 0.0762 0.0698 -vn -0.9829 0.0749 0.1680 -vn -0.9945 0.0425 0.0955 -vn 0.9955 0.0007 0.0946 -vn -0.9946 0.0008 0.1036 -vn 0.9955 -0.0005 0.0945 -vn 0.9957 -0.0362 0.0852 -vn -0.9878 -0.1546 -0.0179 -vn -0.9961 -0.0882 -0.0079 -vn -0.9867 -0.1549 0.0483 -vn -0.9957 -0.0874 0.0301 -vn 0.9958 -0.0381 0.0835 -vn 0.9961 -0.0645 0.0602 -vn -0.9855 -0.1276 0.1121 -vn -0.9953 -0.0708 0.0660 -vn 0.9961 -0.0661 0.0581 -vn -0.9949 -0.0397 0.0927 -vn -0.9833 -0.0010 0.1822 -vn 0.9968 -0.0799 -0.0092 -vn -0.9842 -0.0736 0.1610 -vn 0.0000 0.8660 0.5000 -vn 0.0000 0.5878 0.8090 -vn 0.0000 -0.9511 -0.3090 -vn 0.0000 -0.7431 -0.6691 -vn 0.0000 0.9945 0.1045 -vn 0.0000 -0.9945 0.1045 -vn 0.0000 -0.8660 0.5000 -vn 0.0000 0.7431 -0.6691 -vn 0.0000 0.9511 -0.3090 -vn 0.0000 -0.5878 0.8090 -vn 0.0000 0.4067 -0.9135 -vn 0.0000 -0.2079 0.9781 -vn 0.0000 0.2079 0.9781 -vn 0.0000 -0.4067 -0.9135 -vn 0.9983 0.0554 -0.0186 -vn 0.9983 0.0578 0.0063 -vn 0.0002 0.7431 0.6691 -vn 0.0002 0.8660 0.5000 -vn 0.0002 0.7432 0.6691 -vn 0.0002 -0.8660 0.5001 -vn 0.0003 -0.5878 0.8090 -vn 0.0002 -0.8660 0.5000 -vn 0.0000 -0.9945 0.1046 -vn 0.0002 0.8661 0.4999 -vn 0.0000 0.9945 0.1046 -vn 0.0003 -0.5877 0.8091 -vn -0.0002 -0.7430 -0.6693 -vn -0.0003 -0.4067 -0.9135 -vn -0.0003 -0.4065 -0.9136 -vn -0.0002 0.7432 -0.6690 -vn -0.0001 0.9511 -0.3090 -vn -0.0001 -0.9511 -0.3090 -vn -0.0001 -0.9510 -0.3091 -vn -0.0003 -0.0000 -1.0000 -vn -0.0003 0.0002 -1.0000 -vn -0.0002 -0.7432 -0.6691 -vn -0.0003 0.4069 -0.9135 -vn -0.0002 0.7432 -0.6691 -vn -0.0003 0.4068 -0.9135 -vn -0.9982 -0.0107 0.0588 -vn -0.9983 -0.0334 0.0484 -vn -0.9982 -0.0106 0.0585 -vn -0.9983 -0.0429 -0.0402 -vn -0.9983 -0.0551 -0.0185 -vn 0.9982 -0.0261 -0.0546 -vn 0.9982 -0.0018 -0.0598 -vn 0.9982 -0.0019 -0.0601 -vn -0.9981 0.0615 0.0063 -vn -0.9981 0.0540 0.0301 -vn -0.9981 0.0589 -0.0185 -vn -0.9981 0.0589 -0.0186 -vn 0.9981 -0.0587 -0.0184 -vn 0.9981 -0.0615 0.0063 -vn 0.9981 -0.0587 -0.0185 -vn -0.9983 -0.0581 0.0063 -vn -0.9983 -0.0502 0.0300 -vn -0.9983 -0.0501 0.0300 -vn -0.9982 0.0018 -0.0601 -vn -0.9982 -0.0226 -0.0547 -vn 0.9983 0.0427 -0.0400 -vn -0.9982 0.0142 0.0585 -vn -0.9981 0.0371 0.0486 -vn 0.9981 -0.0464 -0.0402 -vn 0.9981 -0.0262 -0.0549 -vn -0.9981 0.0463 -0.0400 -vn -0.9981 0.0462 -0.0400 -vn 0.0000 0.2077 -0.9782 -vn 0.0000 -0.2077 -0.9782 -vn 0.0000 -0.2081 -0.9781 -vn 0.0000 -0.7432 0.6690 -vn 0.0000 -0.9510 0.3091 -vn 0.0000 -0.7430 0.6693 -vn 0.0000 -0.5879 -0.8089 -vn 0.0000 -0.8660 -0.5001 -vn 0.0000 -0.8661 -0.4999 -vn 0.0000 0.9511 0.3089 -vn 0.0000 0.8660 -0.5001 -vn 0.0000 0.5879 -0.8089 -vn 0.0000 0.5876 -0.8091 -vn 0.0000 0.4065 0.9136 -vn 0.0000 0.4069 0.9135 -vn 0.0000 -0.5876 -0.8091 -vn 0.0000 -0.9511 0.3090 -vn 0.0000 0.8661 -0.4999 -vn 0.0000 0.9510 0.3091 -vn 0.0000 0.7432 0.6690 -vn 0.0000 -0.4069 0.9135 -vn 0.0000 -0.4065 0.9136 -vn 0.0000 0.2081 -0.9781 -vn 0.0000 -0.0002 1.0000 -vn 0.0000 0.7430 0.6693 -vn -0.9981 0.0262 -0.0549 -vn 0.9981 -0.0465 -0.0402 -vn 0.9982 0.0226 -0.0550 -vn 0.9982 -0.0143 0.0585 -vn 0.9982 0.0107 0.0589 -vn 0.9982 -0.0143 0.0588 -vn 0.9982 0.0227 -0.0550 -vn 0.9982 0.0336 0.0487 -vn 0.9983 0.0502 0.0300 -vn 0.9981 -0.0537 0.0300 -vn 0.9981 -0.0371 0.0486 -vn 0.7165 0.6937 -0.0731 -vn 0.7165 0.6633 0.2159 -vn 0.7165 0.6038 -0.3494 -vn 0.7163 0.4094 -0.5650 -vn 0.7163 0.4092 -0.5651 -vn 0.7162 0.2827 0.6381 -vn 0.7160 -0.0011 0.6981 -vn 0.7162 0.2829 0.6380 -vn 0.7158 -0.1465 -0.6828 -vn 0.7156 -0.4113 -0.5646 -vn 0.7156 -0.4115 -0.5645 -vn 0.7153 -0.6648 0.2155 -vn 0.7154 -0.6949 -0.0729 -vn 0.7153 -0.6648 0.2156 -vn 0.7165 0.6038 -0.3493 -vn 0.7165 0.5179 0.4674 -vn 0.7165 0.6633 0.2160 -vn 0.7165 0.5178 0.4675 -vn 0.7153 -0.6055 -0.3488 -vn 0.7155 -0.5197 0.4669 -vn 0.7157 -0.2852 0.6375 -vn 0.7155 -0.5198 0.4668 -vn 0.7160 0.1440 -0.6831 -vn 0.7160 0.1438 -0.6831 -vn 0.7157 -0.2850 0.6376 -vn 0.7160 -0.0014 0.6981 -vn 0.7158 -0.1463 -0.6829 -vn 0.7153 -0.6055 -0.3489 -vn 0.0003 -0.0000 1.0000 -vn -0.0003 0.2080 -0.9781 -vn -0.0003 -0.2077 -0.9782 -vn -0.0003 -0.2079 -0.9781 -vn 0.0003 0.0002 1.0000 -vn 0.0003 0.4067 0.9135 -vn 0.0003 0.4070 0.9134 -vn 0.0002 0.7431 0.6692 -vn 0.0001 0.9510 0.3091 -vn 0.0001 -0.9511 0.3090 -vn -0.0003 0.2081 -0.9781 -vn -0.6737 -0.1539 0.7228 -vn -0.7835 0.1287 0.6079 -vn -0.7835 -0.1287 0.6079 -vn -0.6914 -0.2934 -0.6602 -vn -0.6922 0.0000 -0.7218 -vn -0.6737 0.1539 0.7228 -vn -0.7851 0.3630 0.5019 -vn -0.6911 -0.2932 -0.6606 -vn -0.6752 0.4343 0.5962 -vn -0.7877 0.5325 0.3097 -vn -0.6781 0.6372 0.3664 -vn -0.6818 0.7277 0.0750 -vn -0.6781 -0.6372 0.3664 -vn -0.7877 -0.5325 0.3097 -vn -0.7850 -0.3630 0.5019 -vn -0.9331 -0.0000 -0.3595 -vn -0.9229 -0.0793 0.3767 -vn -0.9229 0.0793 0.3767 -vn -0.9299 -0.3509 -0.1103 -vn -0.9299 0.3509 -0.1103 -vn -0.9440 -0.1932 0.2675 -vn -0.9493 -0.0000 -0.3144 -vn -0.9449 0.2828 0.1650 -vn -0.9483 -0.2367 -0.2114 -vn -0.9473 -0.3052 -0.0976 -vn -0.9473 0.3052 -0.0975 -vn -0.9449 -0.2828 0.1650 -vn -0.9766 0.1602 -0.1439 -vn -0.9758 -0.1283 0.1770 -vn -0.9757 -0.0455 0.2141 -vn -0.9758 0.0454 0.2141 -vn -0.9760 0.1886 0.1092 -vn -0.9765 -0.1602 -0.1439 -vn -0.9762 0.2158 0.0230 -vn -0.9764 -0.2056 -0.0664 -vn -0.9762 -0.2157 0.0231 -vn 0.9970 0.0169 -0.0756 -vn 0.9968 0.0466 -0.0655 -vn 0.9967 0.0483 -0.0645 -vn 0.9970 -0.0672 -0.0393 -vn 0.9970 -0.0454 -0.0620 -vn 0.9969 -0.0682 -0.0384 -vn 0.9971 -0.0157 -0.0751 -vn 0.9965 0.0721 -0.0428 -vn 0.9965 0.0736 -0.0408 -vn 0.9961 0.0878 -0.0076 -vn -0.9964 -0.0498 -0.0680 -vn -0.9885 -0.1303 -0.0764 -vn -0.9963 -0.0748 -0.0422 -vn 0.9958 0.0875 0.0275 -vn 0.9958 0.0867 0.0296 -vn -0.9964 -0.0170 -0.0826 -vn -0.9889 -0.0869 -0.1203 -vn 0.9955 0.0707 0.0629 -vn 0.9955 0.0698 0.0640 -vn -0.9886 0.0304 -0.1475 -vn -0.9963 0.0186 -0.0836 -vn -0.9879 0.0900 -0.1265 -vn -0.9961 0.0530 -0.0707 -vn 0.9954 0.0389 0.0876 -vn -0.9868 0.1391 -0.0826 -vn -0.9957 0.0806 -0.0447 -vn 0.9965 -0.0800 0.0250 -vn 0.9967 -0.0806 -0.0072 -vn 0.9964 -0.0800 0.0276 -vn -0.9856 0.1681 -0.0197 -vn -0.9953 0.0961 -0.0084 -vn -0.9843 0.1683 0.0528 -vn -0.9949 0.0952 0.0325 -vn -0.9833 0.1360 0.1211 -vn -0.9946 0.0764 0.0700 -vn -0.9829 0.0750 0.1684 -vn -0.9945 0.0426 0.0957 -vn 0.9955 0.0007 0.0949 -vn -0.9946 0.0008 0.1038 -vn 0.9958 -0.0360 0.0843 -vn -0.9878 -0.1546 -0.0178 -vn -0.9961 -0.0883 -0.0079 -vn -0.9867 -0.1550 0.0483 -vn -0.9957 -0.0875 0.0301 -vn 0.9961 -0.0647 0.0604 -vn -0.9854 -0.1278 0.1123 -vn -0.9953 -0.0709 0.0661 -vn 0.9961 -0.0663 0.0583 -vn -0.9949 -0.0398 0.0928 -vn 0.9967 -0.0802 -0.0093 -vn -0.9841 -0.0737 0.1613 -vn 0.0000 0.4067 -0.9136 -vn 0.0000 -0.4067 -0.9136 -vn 0.0003 -0.2077 0.9782 -vn 0.0003 0.2079 0.9781 -vn 0.0003 -0.2079 0.9781 -vn 0.0003 0.5879 0.8089 -vn 0.0003 0.5878 0.8090 -vn 0.0003 0.2081 0.9781 -vn 0.0003 -0.5876 0.8091 -vn 0.9982 0.0106 -0.0585 -vn 0.9983 0.0334 -0.0484 -vn 0.9983 0.0554 0.0186 -vn 0.9983 0.0427 0.0400 -vn 0.9982 -0.0260 -0.0544 -vn 0.9982 -0.0018 -0.0601 -vn 0.9981 -0.0615 -0.0063 -vn 0.9981 -0.0537 -0.0299 -vn 0.9981 -0.0586 0.0185 -vn 0.9981 -0.0586 -0.0185 -vn 0.9981 -0.0590 -0.0184 -vn 0.9983 0.0502 -0.0300 -vn 0.9983 0.0578 -0.0063 -vn 0.9983 0.0578 -0.0062 -vn 0.9982 0.0227 0.0550 -vn 0.9982 -0.0018 0.0601 -vn 0.9983 0.0429 -0.0402 -vn 0.9982 -0.0369 -0.0483 -vn 0.9982 -0.0142 -0.0584 -vn 0.9982 -0.0143 -0.0588 -vn 0.9981 -0.0465 0.0402 -vn 0.0000 0.2077 0.9782 -vn 0.0000 -0.2077 0.9782 -vn 0.0000 0.2081 0.9781 -vn 0.0000 0.7432 -0.6690 -vn 0.0000 0.9510 -0.3091 -vn 0.0000 0.9511 -0.3089 -vn 0.0000 0.8660 0.5001 -vn 0.0000 0.5879 0.8089 -vn 0.0000 0.8661 0.4999 -vn 0.0000 -0.9510 -0.3091 -vn 0.0000 -0.5879 0.8089 -vn 0.0000 -0.8660 0.5001 -vn 0.0000 -0.5876 0.8091 -vn 0.0000 -0.4065 -0.9136 -vn 0.0000 -0.0002 -1.0000 -vn 0.0000 0.0002 -1.0000 -vn 0.0000 0.5876 0.8091 -vn 0.0000 -0.8661 0.4999 -vn 0.0000 -0.7432 -0.6690 -vn 0.0000 -0.7430 -0.6693 -vn 0.0000 0.4069 -0.9135 -vn 0.0000 0.7430 -0.6693 -vn 0.0000 -0.2081 0.9781 -vn 0.0000 0.4065 -0.9136 -vn 0.0000 -0.4069 -0.9135 -vn 0.9981 -0.0262 0.0549 -vn 0.9982 -0.0261 0.0544 -vn 0.9982 0.0225 -0.0547 -vn 0.9982 0.0106 0.0585 -vn 0.9983 0.0334 0.0484 -vn 0.9981 -0.0619 0.0064 -vn 0.9981 -0.0369 -0.0483 -vn 0.7167 0.6936 -0.0730 -vn 0.7164 0.6038 -0.3494 -vn 0.7161 0.2827 0.6381 -vn 0.7161 0.2829 0.6381 -vn 0.7157 -0.1465 -0.6828 -vn 0.7155 -0.4114 -0.5647 -vn 0.7155 -0.4116 -0.5645 -vn 0.7154 -0.6647 0.2155 -vn 0.7153 -0.6950 -0.0729 -vn 0.7154 -0.6646 0.2156 -vn 0.7164 0.6039 -0.3493 -vn 0.7155 -0.6053 -0.3487 -vn 0.7154 -0.5197 0.4669 -vn 0.7156 -0.2853 0.6376 -vn 0.7161 0.1440 -0.6830 -vn 0.7161 0.1438 -0.6830 -vn 0.7156 -0.2851 0.6377 -vn 0.7155 -0.6053 -0.3488 -vn 0.6275 -0.6347 -0.4510 -vn 0.4653 -0.8114 -0.3537 -vn 0.6882 -0.4251 -0.5880 -vn 0.7408 -0.2148 -0.6364 -vn 0.7044 -0.0162 -0.7096 -vn 0.7177 0.0197 -0.6961 -vn 0.3055 0.0281 0.9518 -vn 0.7829 -0.3405 0.5207 -vn 0.5669 -0.4308 0.7021 -vn 0.6929 -0.5439 0.4733 -vn 0.8298 -0.0611 0.5547 -vn 0.7235 -0.0218 0.6899 -vn 0.8567 0.1383 0.4970 -vn 0.7247 0.1763 0.6661 -vn 0.5249 0.1455 0.8386 -vn 0.4374 -0.5412 0.7182 -vn 0.6153 -0.1830 0.7668 -vn 0.3697 -0.2271 0.9010 -vn 0.3906 0.0253 0.9202 -vn 0.3005 -0.0934 0.9492 -vn 0.2938 0.1011 0.9505 -vn 0.3111 -0.4534 0.8352 -vn 0.2759 -0.3523 0.8943 -vn 0.2406 0.0560 0.9690 -vn 0.2011 0.0907 0.9754 -vn 0.0205 0.9998 0.0000 -vn 0.0313 0.9995 0.0000 -vn 0.0073 0.0041 -1.0000 -vn 0.1917 0.0562 0.9798 -vn 0.9643 0.2639 -0.0217 -vn 0.0004 0.0005 -1.0000 -vn 0.0009 0.0002 -1.0000 -vn 0.0000 0.0007 -1.0000 -vn -0.1006 -0.9949 -0.0000 -vn -0.1228 -0.9924 -0.0000 -vn -0.0993 -0.9951 -0.0013 -vn -0.5709 0.0000 -0.8210 -vn -0.5709 0.0000 0.8210 -vn -0.9999 0.0132 0.0000 -vn 0.0004 0.0005 1.0000 -vn 0.0009 0.0002 1.0000 -vn 0.0012 0.0000 1.0000 -vn -0.0169 -0.9999 -0.0000 -vn -0.9716 0.2320 0.0466 -vn 0.4824 -0.8642 -0.1428 -vn 0.1723 -0.9365 -0.3053 -vn 0.1634 -0.9001 -0.4039 -vn 0.0105 -0.0080 0.9999 -vn 0.6994 0.1084 -0.7065 -vn 0.6887 0.0805 -0.7206 -vn -0.8475 -0.4281 0.3137 -vn 0.9437 -0.2846 0.1688 -vn 0.4080 -0.8817 -0.2368 -vn -0.0055 1.0000 -0.0001 -vn -0.0057 1.0000 -0.0003 -vn -0.0075 0.9999 0.0096 -vn -0.0302 -0.9986 -0.0433 -vn -0.0262 -0.9996 -0.0050 -vn 0.6621 -0.7494 -0.0031 -vn 0.4735 -0.8808 -0.0007 -vn 0.4739 -0.8806 -0.0000 -vn -0.2466 -0.0444 0.9681 -vn -0.3096 -0.6547 -0.6896 -vn -0.1382 0.0004 -0.9904 -vn -0.1190 0.0021 0.9929 -vn -0.2250 0.0071 0.9743 -vn -0.0368 0.9993 -0.0076 -vn -0.2517 0.0066 -0.9678 -vn 0.0170 -0.9999 -0.0007 -vn 0.0156 -0.9999 0.0000 -vn 0.0150 -0.9999 0.0004 -vn 0.0150 -0.9999 -0.0004 -vn 0.0155 -0.9999 0.0001 -vn 0.0170 -0.9999 0.0008 -vn 0.0163 -0.9999 0.0040 -vn 0.0190 -0.9998 0.0009 -vn 0.0169 -0.9998 0.0041 -vn 0.0189 -0.9998 0.0018 -vn 0.0175 -0.9998 0.0041 -vn 0.0189 -0.9998 0.0025 -vn 0.0197 -0.9998 -0.0000 -vn 0.0208 -0.9998 -0.0003 -vn 0.0167 -0.9999 -0.0033 -vn 0.0213 -0.9998 -0.0008 -vn 0.0176 -0.9998 -0.0035 -vn 0.0214 -0.9998 -0.0016 -vn 0.0186 -0.9998 -0.0036 -vn 0.0013 1.0000 -0.0015 -vn 0.0005 1.0000 -0.0007 -vn 0.0023 1.0000 -0.0027 -vn -0.0509 -0.9985 -0.0217 -vn -0.0617 -0.9977 -0.0263 -vn 0.0747 0.1179 -0.9902 -vn 0.1269 -0.0000 -0.9919 -vn 0.1391 0.0463 0.9892 -vn 0.1759 0.2357 0.9558 -vn 0.1269 0.0000 0.9919 -vn -0.0093 -1.0000 -0.0009 -vn -0.0236 0.9983 -0.0533 -vn -0.1193 0.9901 -0.0742 -vn -0.1849 0.9827 0.0000 -vn -0.0256 0.9983 0.0528 -vn -1.0000 -0.0049 0.0039 -vn -0.9999 0.0000 0.0153 -vn -1.0000 -0.0044 0.0054 -vn -0.1067 0.0080 -0.9943 -vn -0.1067 0.0080 0.9943 -vn -0.0149 0.9999 -0.0033 -vn -0.0162 0.9998 -0.0072 -vn -0.0208 0.9996 -0.0185 -vn -0.0891 0.0000 0.9960 -vn -0.7201 0.6935 -0.0209 -vn -0.0324 -0.1702 -0.9849 -vn -0.2582 0.0000 -0.9661 -vn -0.7215 0.6921 0.0220 -vn -0.0322 0.0019 0.9995 -vn 0.0079 -0.0081 0.9999 -vn -0.0083 0.0269 0.9996 -vn -0.0807 -0.0025 0.9967 -vn 0.1154 -0.9933 0.0000 -vn 0.0812 0.9967 0.0043 -vn 0.2876 0.9577 -0.0020 -vn -0.0941 0.0022 -0.9956 -vn -0.0812 0.0353 -0.9961 -vn -0.0586 0.0811 -0.9950 -vn -0.9999 0.0059 -0.0135 -vn -0.0622 0.9981 0.0000 -vn 0.9227 -0.3853 -0.0116 -vn 0.6166 0.7872 0.0051 -vn 0.5964 0.8027 -0.0016 -vn -0.9529 0.3028 0.0158 -vn -0.6568 0.7540 -0.0018 -vn -0.9665 -0.2564 0.0063 -vn -0.9586 -0.2846 -0.0036 -vn 0.8675 0.4973 -0.0062 -vn 0.2463 0.9692 0.0010 -vn 0.7887 0.6148 -0.0032 -vn 0.2593 0.9658 -0.0009 -vn 0.0240 -0.0188 -0.9995 -vn 0.7828 -0.6223 -0.0000 -vn 0.0238 -0.0257 0.9994 -vn -0.0364 -0.9993 0.0020 -vn -0.1873 0.0000 0.9823 -vn 0.1873 0.0000 -0.9823 -vn 0.7737 -0.0094 -0.6335 -vn 0.8076 -0.0104 0.5897 -vn -0.0002 0.8661 -0.4999 -vn 0.9971 -0.0160 -0.0747 -vn -0.9890 -0.0311 -0.1447 -vn 0.0003 -0.4068 0.9135 -vn 0.9971 -0.0161 -0.0750 -vn -0.9889 -0.0311 -0.1450 -vn -0.0003 -0.0002 -1.0000 -vn -0.0002 0.0002 -1.0000 -vn -0.0001 -0.0017 -1.0000 -vn 0.0001 0.0000 -1.0000 -vn 0.0004 0.0002 -1.0000 -vn 0.0012 0.0000 -1.0000 -vn 0.0000 0.0007 1.0000 -vn 0.0209 -0.0309 0.9993 -vn 0.0217 -0.0545 0.9983 -vn 0.3052 0.0281 0.9519 -vn 0.0090 0.0000 1.0000 -vn 0.0274 -0.1522 0.9880 -vn 0.0178 -0.0764 0.9969 -vn -0.0080 0.1106 0.9938 -vn 0.6073 -0.7945 -0.0012 -vn 0.9936 0.0384 -0.1065 -vn 0.9755 -0.2158 -0.0434 -vn 0.9919 0.0797 -0.0992 -vn 0.9001 -0.4258 -0.0920 -vn 0.9407 -0.3391 0.0086 -vn 0.9637 -0.2661 -0.0218 -vn 0.8068 0.5881 -0.0564 -vn 1.0000 0.0000 0.0001 -vn 1.0000 -0.0001 0.0001 -vn 0.9999 -0.0154 0.0037 -vn 0.2497 -0.7811 0.5723 -vn -0.0071 0.9999 -0.0094 -vn -0.0063 0.9999 -0.0133 -vn -0.0029 1.0000 -0.0034 -vn -0.0053 1.0000 0.0020 -vn -0.0021 1.0000 -0.0034 -vn -0.0010 1.0000 -0.0053 -vn -0.0085 0.9999 0.0071 -vn -0.0053 1.0000 -0.0020 -vn -0.0067 0.9999 0.0140 -vn -0.0021 1.0000 0.0034 -vn -0.0031 1.0000 0.0034 -vn -0.0010 1.0000 0.0053 -vn -0.0004 1.0000 0.0040 -vn -0.0085 0.9999 -0.0071 -vn -0.0004 1.0000 -0.0040 -vn -0.0052 1.0000 0.0005 -vn -0.0056 1.0000 -0.0007 -vn -0.0053 1.0000 0.0002 -vn -0.0347 -0.9967 -0.0731 -vn -0.0047 -1.0000 -0.0063 -vn -0.0049 -1.0000 -0.0062 -vn -0.0024 -1.0000 -0.0061 -vn -0.3466 -0.7947 0.4983 -vn -0.3211 -0.1042 0.9413 -vn -0.3952 -0.0390 -0.9177 -vn -0.0186 -0.9963 0.0841 s 1 -f 1/1/1 3/2/2 4/3/3 -f 4/3/3 5/4/4 6/5/5 -f 6/5/5 7/6/6 8/7/7 -f 8/7/7 9/8/8 10/9/9 -f 10/9/9 11/10/10 12/11/11 -f 12/11/11 13/12/12 14/13/13 -f 15/14/14 17/15/15 18/16/16 -f 17/15/15 20/17/17 18/16/16 -f 19/18/18 22/19/19 20/17/17 -f 22/19/19 23/20/20 24/21/21 -f 24/21/21 25/22/22 26/23/23 -f 25/22/22 28/24/24 26/23/23 -f 27/25/25 30/26/26 28/24/24 -f 29/27/27 32/28/28 30/26/29 -f 31/29/30 34/30/31 32/28/28 -f 33/31/32 36/32/33 34/30/31 -f 35/33/34 38/34/35 36/32/33 -f 38/34/35 39/35/36 40/36/37 -f 40/36/37 41/37/38 42/38/39 -f 42/38/39 43/39/40 44/40/41 -f 44/40/41 45/41/42 46/42/43 -f 46/42/44 47/43/45 48/44/46 -f 48/44/46 49/45/47 50/46/48 -f 49/45/47 52/47/49 50/46/48 -f 51/48/50 1/1/1 52/47/49 -f 54/49/51 56/50/52 53/51/53 -f 57/52/54 59/53/55 55/54/56 -f 24/21/21 60/55/57 61/56/58 -f 44/40/41 63/57/59 42/38/39 -f 10/9/9 64/58/60 65/59/61 -f 18/16/16 67/60/62 15/14/14 -f 34/30/31 68/61/63 69/62/64 -f 4/3/3 71/63/65 1/1/1 -f 1/1/1 72/64/66 52/47/49 -f 54/49/51 57/52/54 55/54/56 -f 26/23/23 74/65/67 60/55/57 -f 46/42/44 62/66/68 44/40/41 -f 14/13/13 64/58/60 12/11/11 -f 20/17/17 66/67/69 18/16/16 -f 36/32/33 78/68/70 68/61/63 -f 4/3/3 79/69/71 70/70/72 -f 73/71/73 81/72/74 57/52/54 -f 28/24/24 82/73/75 74/65/67 -f 48/44/46 75/74/76 46/42/44 -f 84/75/77 76/76/78 14/13/13 -f 20/17/17 86/77/79 77/78/80 -f 38/34/35 87/79/81 78/68/70 -f 6/5/5 88/80/82 79/69/71 -f 89/81/83 81/72/74 80/82/84 -f 30/26/26 91/83/85 82/73/75 -f 50/46/48 83/84/86 48/44/46 -f 53/51/53 85/85/87 84/75/77 -f 22/19/19 61/56/58 86/77/79 -f 40/36/37 63/57/59 87/79/81 -f 8/7/7 65/59/61 88/80/82 -f 15/14/14 90/86/88 89/87/83 -f 32/28/28 69/62/64 91/83/85 -f 52/47/49 92/88/89 50/46/48 -f 94/89/90 96/90/91 93/91/92 -f 68/61/63 97/92/93 98/93/94 -f 81/72/74 58/94/95 57/52/54 -f 78/68/70 100/95/96 97/92/93 -f 90/96/88 99/97/97 81/72/74 -f 87/79/81 101/98/98 100/95/96 -f 67/60/62 93/91/92 90/86/88 -f 62/66/68 101/98/98 63/57/59 -f 66/67/69 94/89/90 67/60/62 -f 71/63/65 104/99/99 105/100/100 -f 62/66/68 106/101/101 102/102/102 -f 77/78/80 103/103/103 66/67/69 -f 70/70/72 108/104/104 104/99/99 -f 75/74/76 109/105/105 106/101/101 -f 86/77/79 107/106/106 77/78/80 -f 79/69/71 111/107/107 108/104/104 -f 83/84/86 112/108/108 109/105/105 -f 61/56/58 110/109/109 86/77/79 -f 88/80/82 114/110/110 111/107/107 -f 92/88/89 115/111/111 112/108/108 -f 60/55/57 113/112/112 61/56/58 -f 65/59/61 117/113/113 114/110/110 -f 72/64/66 105/100/100 115/111/111 -f 74/65/67 116/114/114 60/55/57 -f 64/58/60 119/115/115 117/113/113 -f 82/73/75 118/116/116 74/65/67 -f 76/76/78 121/117/117 119/115/115 -f 91/83/85 120/118/118 82/73/75 -f 56/50/52 121/117/117 85/85/87 -f 69/62/64 122/119/119 91/83/85 -f 55/54/56 123/120/120 56/50/52 -f 69/62/64 98/93/94 124/121/121 -f 126/122/122 128/123/123 125/124/124 -f 101/98/98 129/125/125 130/126/126 -f 103/103/103 95/127/127 94/89/90 -f 105/100/100 132/128/128 133/129/129 -f 102/102/102 134/130/130 129/125/125 -f 107/106/106 131/131/131 103/103/103 -f 104/99/99 135/132/132 132/128/128 -f 106/101/101 136/133/133 134/130/130 -f 110/109/109 125/124/124 107/106/106 -f 108/104/104 137/134/134 135/132/132 -f 109/105/105 138/135/135 136/133/133 -f 113/112/112 126/122/122 110/109/109 -f 111/107/107 140/136/136 137/134/134 -f 112/108/108 141/137/137 138/135/135 -f 116/114/114 139/138/138 113/112/112 -f 114/110/110 143/139/139 140/136/136 -f 115/111/111 133/129/129 141/137/137 -f 118/116/116 142/140/140 116/114/114 -f 117/113/113 145/141/141 143/139/139 -f 120/118/118 144/142/142 118/116/116 -f 119/115/115 147/143/143 145/141/141 -f 122/119/119 146/144/144 120/118/118 -f 121/117/117 149/145/145 147/143/143 -f 124/121/121 148/146/146 122/119/119 -f 59/53/55 149/145/145 123/120/120 -f 124/121/121 152/147/147 150/148/148 -f 58/94/95 151/149/149 59/53/55 -f 98/93/94 154/150/150 152/147/147 -f 99/97/97 153/151/151 58/94/95 -f 100/95/96 154/150/150 97/92/93 -f 93/152/92 155/153/152 99/97/97 -f 101/98/98 156/154/153 100/95/96 -f 158/155/154 160/156/155 157/157/156 -f 135/132/132 161/158/157 162/159/158 -f 136/133/133 163/160/159 164/161/160 -f 139/138/138 127/162/161 126/122/122 -f 137/134/134 166/163/162 161/158/157 -f 138/135/135 167/164/163 163/160/159 -f 142/140/140 165/165/164 139/138/138 -f 140/136/136 168/166/165 166/163/162 -f 141/137/137 169/167/166 167/164/163 -f 144/142/142 157/157/156 142/140/140 -f 143/139/139 170/168/167 168/166/165 -f 146/144/144 158/155/154 144/142/142 -f 145/141/141 172/169/168 170/168/167 -f 148/146/146 171/170/169 146/144/144 -f 147/143/143 174/171/170 172/169/168 -f 150/148/148 173/172/171 148/146/146 -f 151/149/149 174/171/170 149/145/145 -f 150/148/148 177/173/172 175/174/173 -f 153/151/151 176/175/174 151/149/149 -f 152/147/147 179/176/175 177/173/172 -f 155/153/152 178/177/176 153/151/151 -f 156/154/153 179/176/175 154/150/150 -f 96/178/91 180/179/177 155/153/152 -f 156/154/153 183/180/178 181/181/179 -f 95/127/127 182/182/180 96/90/91 -f 130/126/126 185/183/181 183/180/178 -f 131/131/131 184/184/182 95/127/127 -f 133/129/129 187/185/183 169/167/166 -f 129/125/125 188/186/184 185/183/181 -f 125/124/124 186/187/185 131/131/131 -f 132/128/128 162/159/158 187/185/183 -f 134/130/130 164/161/160 188/186/184 -f 190/188/186 192/189/187 189/190/188 -f 168/166/165 193/191/189 194/192/190 -f 171/170/169 159/193/191 158/155/154 -f 170/168/167 196/194/192 193/191/189 -f 173/172/171 195/195/193 171/170/169 -f 172/169/168 197/196/194 196/194/192 -f 175/174/173 189/190/188 173/172/171 -f 176/175/174 197/196/194 174/171/170 -f 177/173/172 190/188/186 175/174/173 -f 178/177/176 198/197/195 176/175/174 -f 177/173/172 201/198/196 199/199/197 -f 180/179/177 200/200/198 178/177/176 -f 179/176/175 203/201/199 201/198/196 -f 182/202/180 202/203/200 180/179/177 -f 181/181/179 205/204/201 203/201/199 -f 184/184/182 204/205/202 182/182/180 -f 183/180/178 207/206/203 205/204/201 -f 186/187/185 206/207/204 184/184/182 -f 169/167/166 209/208/205 210/209/206 -f 185/183/181 211/210/207 207/206/203 -f 128/123/123 208/211/208 186/187/185 -f 187/185/183 213/212/209 209/208/205 -f 188/186/184 214/213/210 211/210/207 -f 127/162/161 212/214/211 128/123/123 -f 162/159/158 216/215/212 213/212/209 -f 164/161/160 217/216/213 214/213/210 -f 165/165/164 215/217/214 127/162/161 -f 161/158/157 219/218/215 216/215/212 -f 163/160/159 220/219/216 217/216/213 -f 157/157/156 218/220/217 165/165/164 -f 166/163/162 194/192/190 219/218/215 -f 167/164/163 210/209/206 220/219/216 -f 221/221/218 223/222/219 224/223/220 -f 198/197/195 226/224/221 197/196/194 -f 199/199/197 191/225/222 190/188/186 -f 200/200/198 225/226/223 198/197/195 -f 201/198/196 227/227/224 199/199/197 -f 202/203/200 228/228/225 200/200/198 -f 201/198/196 222/229/226 221/221/218 -f 204/230/202 229/231/227 202/203/200 -f 203/201/199 231/232/228 222/229/226 -f 206/207/204 230/233/229 204/205/202 -f 205/204/201 233/234/230 231/232/228 -f 208/211/208 232/235/231 206/207/204 -f 210/209/206 235/236/232 236/237/233 -f 207/206/203 237/238/234 233/234/230 -f 212/214/211 234/239/235 208/211/208 -f 209/208/205 239/240/236 235/236/232 -f 211/210/207 240/241/237 237/238/234 -f 215/217/214 238/242/238 212/214/211 -f 213/212/209 242/243/239 239/240/236 -f 214/213/210 243/244/240 240/241/237 -f 218/220/217 241/245/241 215/217/214 -f 216/215/212 245/246/242 242/243/239 -f 217/216/213 246/247/243 243/244/240 -f 160/156/155 244/248/244 218/220/217 -f 219/218/215 248/249/245 245/246/242 -f 220/219/216 236/237/233 246/247/243 -f 159/193/191 247/250/246 160/156/155 -f 194/192/190 250/251/247 248/249/245 -f 195/195/193 249/252/248 159/193/191 -f 193/191/189 252/253/249 250/251/247 -f 189/190/188 251/254/250 195/195/193 -f 196/194/192 226/224/221 252/253/249 -f 253/255/251 255/256/252 256/257/253 -f 230/258/229 258/259/254 229/231/227 -f 222/229/226 259/260/255 223/222/219 -f 232/235/231 257/261/256 230/233/229 -f 231/232/228 261/262/257 259/260/255 -f 234/239/235 260/263/258 232/235/231 -f 236/237/233 263/264/259 264/265/260 -f 233/234/230 265/266/261 261/262/257 -f 238/242/238 262/267/262 234/239/235 -f 235/236/232 267/268/263 263/264/259 -f 237/238/234 268/269/264 265/266/261 -f 241/245/241 266/270/265 238/242/238 -f 239/240/236 270/271/266 267/268/263 -f 240/241/237 271/272/267 268/269/264 -f 244/248/244 269/273/268 241/245/241 -f 242/243/239 273/274/269 270/271/266 -f 243/244/240 274/275/270 271/272/267 -f 247/250/246 272/276/271 244/248/244 -f 245/246/242 276/277/272 273/274/269 -f 246/247/243 264/265/260 274/275/270 -f 249/252/248 275/278/273 247/250/246 -f 248/249/245 278/279/274 276/277/272 -f 251/254/250 277/280/275 249/252/248 -f 250/251/247 253/255/251 278/279/274 -f 192/189/187 279/281/276 251/254/250 -f 252/253/249 254/282/277 253/255/251 -f 191/225/222 280/283/278 192/189/187 -f 225/226/223 254/282/277 226/224/221 -f 227/227/224 281/284/279 191/225/222 -f 228/228/225 282/285/280 225/226/223 -f 221/221/218 283/286/281 227/227/224 -f 229/231/227 284/287/282 228/228/225 -f 286/288/283 288/289/284 285/290/285 -f 281/284/279 290/291/286 280/283/278 -f 282/285/280 255/256/252 254/282/277 -f 283/286/281 289/292/287 281/284/279 -f 284/287/282 291/293/288 282/285/280 -f 224/223/220 292/294/289 283/286/281 -f 258/259/254 285/290/285 284/287/282 -f 224/223/220 294/295/290 293/296/291 -f 257/297/256 286/288/283 258/259/254 -f 223/222/219 296/298/292 294/295/290 -f 260/263/258 295/299/293 257/261/256 -f 259/260/255 298/300/294 296/298/292 -f 262/267/262 297/301/295 260/263/258 -f 264/265/260 300/302/296 301/303/297 -f 261/262/257 302/304/298 298/300/294 -f 266/270/265 299/305/299 262/267/262 -f 263/264/259 304/306/300 300/302/296 -f 265/266/261 305/307/301 302/304/298 -f 269/273/268 303/308/302 266/270/265 -f 267/268/263 307/309/303 304/306/300 -f 268/269/264 308/310/304 305/307/301 -f 272/276/271 306/311/305 269/273/268 -f 270/271/266 310/312/306 307/309/303 -f 271/272/267 311/313/307 308/310/304 -f 275/278/273 309/314/308 272/276/271 -f 273/274/269 313/315/309 310/312/306 -f 274/275/270 301/303/297 311/313/307 -f 277/280/275 312/316/310 275/278/273 -f 276/277/272 315/317/311 313/315/309 -f 279/281/276 314/318/312 277/280/275 -f 278/279/274 256/257/253 315/317/311 -f 280/283/278 316/319/313 279/281/276 -f 318/320/314 320/321/315 317/322/316 -f 293/296/291 321/323/317 322/324/318 -f 295/325/293 287/326/319 286/288/283 -f 294/295/290 324/327/320 321/323/317 -f 297/301/295 323/328/321 295/299/293 -f 296/298/292 325/329/322 324/327/320 -f 299/305/299 317/322/316 297/301/295 -f 301/303/297 326/330/323 327/331/324 -f 298/300/294 328/332/325 325/329/322 -f 303/308/302 318/320/314 299/305/299 -f 300/302/296 330/333/326 326/330/323 -f 302/304/298 331/334/327 328/332/325 -f 306/311/305 329/335/328 303/308/302 -f 304/306/300 333/336/329 330/333/326 -f 305/307/301 334/337/330 331/334/327 -f 309/314/308 332/338/331 306/311/305 -f 307/309/303 336/339/332 333/336/329 -f 308/310/304 337/340/333 334/337/330 -f 312/316/310 335/341/334 309/314/308 -f 310/312/306 339/342/335 336/339/332 -f 311/313/307 327/331/324 337/340/333 -f 314/318/312 338/343/336 312/316/310 -f 313/315/309 341/344/337 339/342/335 -f 316/319/313 340/345/338 314/318/312 -f 315/317/311 343/346/339 341/344/337 -f 290/291/286 342/347/340 316/319/313 -f 256/257/253 345/348/341 343/346/339 -f 289/292/287 344/349/342 290/291/286 -f 291/293/288 345/348/341 255/256/252 -f 292/294/289 346/350/343 289/292/287 -f 285/290/285 347/351/344 291/293/288 -f 293/296/291 348/352/345 292/294/289 -f 350/353/346 352/354/347 349/355/348 -f 327/331/324 353/356/349 354/357/350 -f 325/329/322 355/358/351 356/359/352 -f 329/335/328 319/360/353 318/320/314 -f 326/330/323 358/361/354 353/356/349 -f 328/332/325 359/362/355 355/358/351 -f 332/338/331 357/363/356 329/335/328 -f 330/333/326 360/364/357 358/361/354 -f 331/334/327 361/365/358 359/362/355 -f 335/341/334 349/355/348 332/338/331 -f 333/336/329 362/366/359 360/364/357 -f 334/337/330 363/367/360 361/365/358 -f 338/343/336 350/353/346 335/341/334 -f 336/339/332 365/368/361 362/366/359 -f 337/340/333 354/357/350 363/367/360 -f 340/345/338 364/369/362 338/343/336 -f 339/342/335 367/370/363 365/368/361 -f 342/347/340 366/371/364 340/345/338 -f 341/344/337 369/372/365 367/370/363 -f 344/349/342 368/373/366 342/347/340 -f 343/346/339 371/374/367 369/372/365 -f 346/350/343 370/375/368 344/349/342 -f 347/351/344 371/374/367 345/348/341 -f 348/352/345 372/376/369 346/350/343 -f 288/289/284 373/377/370 347/351/344 -f 322/324/318 374/378/371 348/352/345 -f 287/326/319 375/379/372 288/289/284 -f 322/324/318 378/380/373 376/381/374 -f 323/382/321 377/383/375 287/326/319 -f 321/323/317 380/384/376 378/380/373 -f 317/322/316 379/385/377 323/328/321 -f 324/327/320 356/359/352 380/384/376 -f 382/386/378 384/387/379 381/388/380 -f 360/364/357 385/389/381 386/390/382 -f 361/365/358 387/391/383 388/392/384 -f 364/369/362 351/393/385 350/353/346 -f 362/366/359 390/394/386 385/389/381 -f 363/367/360 391/395/387 387/391/383 -f 366/371/364 389/396/388 364/369/362 -f 365/368/361 392/397/389 390/394/386 -f 368/373/366 381/388/380 366/371/364 -f 367/370/363 393/398/390 392/397/389 -f 370/375/368 382/386/378 368/373/366 -f 369/372/365 395/399/391 393/398/390 -f 372/376/369 394/400/392 370/375/368 -f 373/377/370 395/399/391 371/374/367 -f 374/378/371 396/401/393 372/376/369 -f 375/379/372 397/402/394 373/377/370 -f 376/381/374 398/403/395 374/378/371 -f 377/383/375 399/404/396 375/379/372 -f 376/381/374 402/405/397 400/406/398 -f 379/407/377 401/408/399 377/383/375 -f 378/380/373 404/409/400 402/405/397 -f 320/321/315 403/410/401 379/385/377 -f 380/384/376 406/411/402 404/409/400 -f 319/360/353 405/412/403 320/321/315 -f 354/357/350 408/413/404 391/395/387 -f 356/359/352 409/414/405 406/411/402 -f 357/363/356 407/415/406 319/360/353 -f 353/356/349 411/416/407 408/413/404 -f 355/358/351 412/417/408 409/414/405 -f 349/355/348 410/418/409 357/363/356 -f 358/361/354 386/390/382 411/416/407 -f 359/362/355 388/392/384 412/417/408 -f 414/419/410 416/420/411 413/421/412 -f 392/397/389 417/422/413 418/423/414 -f 394/400/392 383/424/415 382/386/378 -f 393/398/390 420/425/416 417/422/413 -f 396/401/393 419/426/417 394/400/392 -f 397/402/394 420/425/416 395/399/391 -f 398/403/395 413/421/412 396/401/393 -f 399/404/396 421/427/418 397/402/394 -f 400/406/398 414/419/410 398/403/395 -f 401/408/399 422/428/419 399/404/396 -f 400/406/398 425/429/420 423/430/421 -f 403/431/401 424/432/422 401/408/399 -f 402/405/397 427/433/423 425/429/420 -f 405/412/403 426/434/424 403/410/401 -f 404/409/400 429/435/425 427/433/423 -f 407/415/406 428/436/426 405/412/403 -f 391/395/387 431/437/427 432/438/428 -f 406/411/402 433/439/429 429/435/425 -f 410/418/409 430/440/430 407/415/406 -f 408/413/404 435/441/431 431/437/427 -f 409/414/405 436/442/432 433/439/429 -f 352/354/347 434/443/433 410/418/409 -f 411/416/407 438/444/434 435/441/431 -f 412/417/408 439/445/435 436/442/432 -f 351/393/385 437/446/436 352/354/347 -f 386/390/382 441/447/437 438/444/434 -f 388/392/384 442/448/438 439/445/435 -f 389/396/388 440/449/439 351/393/385 -f 385/389/381 444/450/440 441/447/437 -f 387/391/383 432/438/428 442/448/438 -f 381/388/380 443/451/441 389/396/388 -f 390/394/386 418/423/414 444/450/440 -f 422/428/419 446/452/442 421/427/418 -f 423/430/421 415/453/443 414/419/410 -f 424/432/422 445/454/444 422/428/419 -f 423/430/421 449/455/445 447/456/446 -f 426/457/424 448/458/447 424/432/422 -f 425/429/420 451/459/448 449/455/445 -f 428/436/426 450/460/449 426/434/424 -f 427/433/423 453/461/450 451/459/448 -f 430/440/430 452/462/451 428/436/426 -f 432/438/428 455/463/452 456/464/453 -f 429/435/425 457/465/454 453/461/450 -f 434/443/433 454/466/455 430/440/430 -f 431/437/427 459/467/456 455/463/452 -f 433/439/429 460/468/457 457/465/454 -f 437/446/436 458/469/458 434/443/433 -f 435/441/431 462/470/459 459/467/456 -f 436/442/432 463/471/460 460/468/457 -f 440/449/439 461/472/461 437/446/436 -f 438/444/434 465/473/462 462/470/459 -f 439/445/435 466/474/463 463/471/460 -f 443/451/441 464/475/464 440/449/439 -f 441/447/437 468/476/465 465/473/462 -f 442/448/438 456/464/453 466/474/463 -f 384/387/379 467/477/466 443/451/441 -f 444/450/440 470/478/467 468/476/465 -f 383/424/415 469/479/468 384/387/379 -f 418/423/414 472/480/469 470/478/467 -f 419/426/417 471/481/470 383/424/415 -f 417/422/413 474/482/471 472/480/469 -f 413/421/412 473/483/472 419/426/417 -f 421/427/418 474/482/471 420/425/416 -f 446/484/473 452/485/473 462/486/473 -f 476/487/474 478/488/474 475/489/475 -f 478/490/476 29/491/476 479/492/476 -f 479/493/477 484/494/477 480/495/477 -f 484/496/478 483/497/478 477/498/478 -f 489/499/479 488/500/479 487/501/479 -f 491/502/480 493/503/480 492/504/480 -f 495/505/481 482/506/481 489/507/481 -f 481/508/481 490/509/481 496/510/481 -f 479/511/477 485/512/482 483/513/477 -f 477/514/474 45/515/481 478/516/474 -f 498/517/480 500/518/480 497/519/480 -f 504/520/483 501/521/484 503/522/485 -f 506/523/479 507/524/479 508/525/479 -f 498/526/486 497/527/482 510/528/487 -f 510/529/488 497/519/489 504/530/490 -f 513/531/491 501/532/492 509/533/493 -f 516/534/482 518/535/482 505/536/482 -f 519/537/476 522/538/476 524/539/476 -f 514/540/482 519/537/482 515/541/482 -f 512/542/481 521/543/481 513/544/481 -f 506/523/481 523/545/481 511/546/481 -f 515/541/494 517/547/494 516/534/494 -f 513/544/479 520/548/479 514/540/479 -f 511/546/495 522/538/495 512/542/495 -f 505/536/480 524/539/480 506/523/480 -f 499/549/496 525/550/497 498/551/496 -f 526/552/498 527/553/499 525/554/497 -f 526/555/500 500/556/501 528/557/502 -f 497/558/503 525/559/504 527/560/505 -f 532/561/506 533/562/507 534/563/508 -f 533/564/509 482/565/510 534/566/511 -f 481/567/512 530/568/513 529/569/514 -f 531/570/515 530/571/516 490/572/517 -f 538/573/518 536/574/519 535/575/518 -f 493/576/520 540/577/521 539/578/522 -f 542/579/481 541/580/481 534/581/481 -f 543/582/482 536/583/519 529/584/482 -f 546/585/523 531/586/524 532/587/525 -f 547/588/526 549/589/527 548/590/528 -f 545/591/529 543/592/530 544/593/531 -f 531/586/524 544/593/531 530/594/532 -f 542/595/533 546/585/523 541/596/534 -f 541/596/534 532/587/525 533/597/535 -f 545/591/529 552/598/536 551/599/537 -f 556/600/538 554/601/539 553/602/540 -f 555/603/541 557/604/542 554/601/539 -f 558/605/543 559/606/544 557/604/542 -f 538/607/480 535/608/480 564/609/480 -f 552/598/536 565/610/545 551/599/537 -f 542/595/533 566/611/546 552/598/536 -f 568/612/547 563/613/548 564/614/549 -f 565/610/545 543/592/530 551/599/537 -f 560/615/550 567/616/551 559/606/544 -f 548/590/528 571/617/552 570/618/553 -f 491/619/554 550/620/555 547/588/526 -f 570/618/553 573/621/556 572/622/557 -f 572/622/557 575/623/558 574/624/559 -f 574/624/559 577/625/560 576/626/561 -f 576/626/561 579/627/480 578/628/480 -f 579/627/480 580/629/562 578/628/480 -f 581/630/563 553/602/540 580/629/562 -f 582/631/564 584/632/565 585/633/566 -f 587/634/567 589/635/568 586/636/569 -f 582/631/564 591/637/570 590/638/571 -f 586/636/569 593/639/572 592/640/573 -f 594/641/574 590/638/571 591/637/570 -f 595/642/575 593/639/572 596/643/576 -f 597/644/478 596/643/576 598/645/577 -f 597/644/478 600/646/578 599/647/579 -f 601/648/580 602/649/581 603/650/582 -f 599/647/579 605/651/583 604/652/584 -f 601/648/580 607/653/585 606/654/586 -f 583/655/587 605/651/583 584/632/565 -f 587/634/567 607/653/585 588/656/588 -f 605/651/583 609/657/589 584/632/565 -f 585/633/566 584/632/565 609/657/589 -f 589/635/568 588/658/588 610/659/590 -f 593/639/572 610/659/590 611/660/591 -f 594/661/574 591/662/570 612/663/592 -f 596/643/576 611/660/591 613/664/593 -f 594/661/574 615/665/594 614/666/595 -f 598/645/577 613/664/593 616/667/596 -f 598/645/577 617/668/597 600/646/578 -f 603/650/582 602/649/581 618/669/598 -f 600/646/578 608/670/599 605/651/583 -f 616/667/596 619/671/600 620/672/601 -f 616/667/596 621/673/602 617/668/597 -f 617/668/597 622/674/603 608/670/599 -f 607/675/585 603/676/582 623/677/604 -f 608/670/599 624/678/605 609/657/589 -f 588/658/588 607/675/585 623/677/604 -f 585/679/566 609/657/589 624/678/605 -f 610/659/590 588/680/588 625/681/606 -f 611/660/591 625/681/606 626/682/607 -f 613/664/593 626/682/607 619/671/600 -f 623/677/604 628/683/608 588/680/588 -f 624/678/605 630/684/609 585/685/566 -f 625/681/606 628/683/608 631/686/610 -f 585/685/566 632/687/611 591/688/570 -f 626/682/607 631/686/610 633/689/612 -f 612/690/592 591/688/570 632/687/611 -f 619/671/600 633/689/612 634/691/613 -f 620/672/601 634/691/613 635/692/614 -f 620/672/601 636/693/615 621/673/602 -f 621/673/602 637/694/616 622/674/603 -f 623/677/604 603/695/582 627/696/617 -f 622/674/603 629/697/618 624/678/605 -f 635/692/614 638/698/619 639/699/620 -f 635/692/614 640/700/621 636/693/615 -f 603/695/582 618/701/622 641/702/623 -f 637/694/616 640/700/621 642/703/624 -f 627/696/617 603/695/582 641/702/623 -f 629/697/618 637/694/616 642/703/624 -f 628/683/608 627/704/617 643/705/625 -f 631/686/610 643/705/625 644/706/626 -f 632/687/611 630/707/609 645/708/627 -f 633/689/612 644/706/626 646/709/628 -f 612/710/592 632/687/611 645/708/627 -f 633/689/612 638/698/619 634/691/613 -f 629/711/618 648/712/629 630/707/609 -f 645/708/627 630/707/609 648/712/629 -f 612/713/592 645/714/627 649/715/630 -f 638/698/619 646/716/628 650/717/631 -f 615/718/594 612/713/592 649/715/630 -f 639/699/620 650/717/631 651/719/632 -f 639/699/620 652/720/633 640/700/621 -f 641/702/623 618/701/622 653/721/634 -f 642/703/624 640/700/621 652/720/633 -f 627/704/617 641/702/623 653/721/634 -f 629/711/618 642/722/624 647/723/635 -f 651/719/636 655/724/637 652/720/633 -f 652/720/633 656/725/638 642/722/624 -f 627/726/617 653/727/634 657/728/639 -f 647/723/635 642/722/624 656/725/638 -f 643/729/625 657/728/639 658/730/640 -f 644/731/626 658/730/640 659/732/641 -f 646/716/628 659/732/641 660/733/642 -f 650/717/631 660/733/642 661/734/643 -f 651/719/636 661/734/643 654/735/636 -f 645/736/627 648/737/629 662/738/644 -f 649/739/630 645/736/627 662/738/644 -f 618/701/645 664/740/646 653/741/647 -f 656/742/648 665/743/649 666/744/650 -f 653/741/647 667/745/651 657/746/652 -f 656/742/648 668/747/653 647/748/654 -f 658/749/655 667/745/651 669/750/656 -f 647/748/654 670/751/657 648/737/658 -f 659/752/659 669/750/656 671/753/660 -f 662/738/661 670/751/657 672/754/662 -f 660/755/663 671/753/660 673/756/664 -f 662/738/661 674/757/665 649/758/666 -f 660/755/663 675/759/667 661/760/668 -f 615/718/669 674/757/665 676/761/670 -f 661/760/668 677/762/671 654/763/672 -f 618/701/645 602/764/673 663/765/674 -f 614/766/675 615/718/669 676/761/670 -f 655/767/676 677/762/671 665/743/649 -f 675/759/667 673/768/664 678/769/677 -f 675/759/667 679/770/678 677/762/671 -f 665/743/649 679/770/678 680/771/679 -f 666/744/650 665/743/649 680/771/679 -f 666/772/650 680/773/679 681/774/680 -f 668/775/681 681/774/680 682/776/682 -f 669/777/656 667/778/651 683/779/683 -f 670/780/657 682/776/682 684/781/684 -f 669/777/656 685/782/685 671/783/686 -f 672/784/662 670/780/657 684/781/684 -f 671/783/686 686/785/687 673/768/664 -f 674/786/665 672/787/662 687/788/688 -f 678/769/677 673/768/664 686/785/687 -f 676/761/670 674/786/665 687/788/688 -f 679/770/678 678/789/677 688/790/689 -f 680/771/679 679/770/678 688/790/689 -f 686/785/687 690/791/690 678/789/677 -f 688/790/689 678/789/677 690/791/690 -f 680/773/679 688/792/689 691/793/691 -f 664/794/646 663/765/674 692/795/692 -f 681/774/680 680/773/679 691/793/691 -f 664/794/646 693/796/693 667/778/651 -f 682/797/682 681/798/680 694/799/694 -f 683/779/683 667/778/651 693/796/693 -f 682/797/682 695/800/695 684/801/696 -f 672/787/662 684/781/684 695/802/695 -f 686/785/687 685/803/685 689/804/697 -f 693/796/693 692/805/692 696/806/698 -f 694/807/699 681/808/699 697/809/699 -f 693/796/693 698/810/700 683/811/701 -f 685/812/685 698/813/700 694/814/694 -f 672/815/662 695/816/695 699/817/702 -f 689/818/697 685/812/685 694/814/694 -f 687/819/688 672/815/662 699/817/703 -f 688/792/689 690/820/690 700/821/704 -f 691/793/691 688/792/689 700/821/704 -f 681/808/680 691/822/691 697/809/705 -f 690/823/690 689/824/697 694/825/694 -f 700/826/704 690/823/690 694/827/694 -f 691/828/691 700/826/704 694/829/694 -f 697/830/705 691/828/691 694/831/694 -f 695/832/695 694/833/694 701/834/706 -f 699/817/702 701/835/706 702/836/707 -f 687/837/688 699/817/703 702/836/708 -f 676/761/670 687/838/688 702/839/708 -f 692/840/692 663/765/674 703/841/709 -f 696/842/698 692/840/692 703/841/709 -f 676/761/670 702/839/708 704/843/710 -f 696/844/698 703/845/709 705/846/711 -f 696/844/698 706/847/712 698/848/700 -f 701/849/706 694/850/694 707/851/713 -f 694/852/694 698/853/700 706/854/712 -f 702/855/707 707/856/713 704/857/710 -f 705/858/711 703/859/709 708/860/714 -f 706/861/712 708/860/714 709/862/715 -f 707/863/713 694/864/694 710/865/716 -f 694/866/694 706/867/712 709/868/715 -f 704/869/710 707/870/713 710/871/716 -f 676/761/670 704/872/710 711/873/717 -f 704/874/710 710/875/716 712/876/718 -f 711/873/717 704/874/710 712/876/718 -f 694/877/694 713/878/719 714/879/720 -f 694/880/694 714/879/720 715/881/721 -f 703/859/709 663/765/674 716/882/722 -f 694/883/694 715/881/721 717/884/723 -f 708/860/714 703/859/709 716/882/722 -f 715/881/721 714/879/720 718/885/724 -f 714/879/720 713/886/719 718/885/724 -f 712/887/718 710/888/716 719/889/725 -f 694/890/694 720/891/726 721/892/727 -f 711/893/717 712/894/718 722/895/728 -f 713/886/719 694/896/694 721/892/727 -f 676/761/670 711/893/717 722/895/728 -f 708/897/714 716/898/722 723/899/729 -f 694/900/694 717/901/723 724/902/730 -f 709/903/715 723/899/729 725/904/731 -f 710/905/716 724/902/730 719/906/725 -f 709/907/715 720/891/726 694/890/694 -f 717/908/723 726/909/732 727/910/733 -f 717/908/723 728/911/734 724/912/735 -f 725/904/731 723/913/729 729/914/736 -f 724/912/735 730/915/737 719/889/738 -f 720/916/726 729/914/736 731/917/739 -f 719/889/738 732/918/740 712/894/718 -f 721/919/727 731/917/739 733/920/741 -f 722/895/728 712/894/718 732/918/740 -f 721/919/727 734/921/742 713/922/719 -f 718/923/724 734/921/742 735/924/743 -f 718/923/724 726/909/732 715/925/721 -f 734/921/742 733/926/741 736/927/744 -f 735/924/745 736/927/744 737/928/746 -f 735/924/745 738/929/747 726/909/732 -f 727/910/733 726/909/732 738/929/747 -f 727/930/733 739/931/748 740/932/749 -f 723/933/729 741/934/750 742/935/751 -f 727/930/733 743/936/752 728/937/734 -f 729/938/736 742/935/751 744/939/753 -f 730/940/737 743/936/752 745/941/754 -f 729/938/736 746/942/755 731/943/739 -f 732/944/740 745/941/754 747/945/756 -f 733/926/741 746/942/755 748/946/757 -f 732/944/740 749/947/758 722/948/728 -f 733/926/741 750/949/759 736/927/744 -f 722/948/728 751/950/760 676/761/670 -f 736/927/744 752/951/761 737/928/746 -f 663/765/674 602/952/762 753/953/763 -f 614/954/675 676/761/670 751/950/760 -f 738/929/747 752/951/761 739/931/748 -f 716/955/722 753/953/763 741/934/750 -f 743/956/764 754/957/765 755/958/766 -f 742/959/767 757/960/768 744/961/769 -f 745/962/770 755/958/766 758/963/771 -f 744/961/769 759/964/772 746/965/773 -f 747/966/774 758/963/771 760/967/775 -f 746/965/773 761/968/776 748/969/777 -f 749/970/778 747/966/774 760/967/775 -f 748/969/777 762/971/779 750/972/780 -f 750/972/780 763/973/781 752/974/781 -f 739/975/782 763/973/781 764/976/783 -f 740/977/784 764/976/783 754/957/765 -f 742/959/767 741/978/785 756/979/786 -f 751/980/787 749/981/778 765/982/788 -f 762/971/779 767/983/789 763/973/790 -f 764/976/783 767/983/789 768/984/791 -f 741/978/785 753/985/792 769/986/793 -f 754/957/765 764/976/783 768/984/791 -f 756/979/786 741/978/785 769/986/793 -f 749/981/778 760/987/775 765/982/788 -f 762/971/779 761/988/776 766/989/794 -f 756/990/786 771/991/795 757/992/768 -f 758/993/771 772/994/796 773/995/797 -f 757/992/768 774/996/798 759/997/799 -f 760/987/775 773/995/797 775/998/800 -f 759/997/799 776/999/801 761/988/776 -f 765/982/788 760/987/775 775/998/800 -f 766/989/794 776/999/801 777/1000/802 -f 766/989/794 778/1001/803 767/983/789 -f 768/984/791 778/1001/803 779/1002/804 -f 768/984/791 780/1003/805 754/1004/765 -f 756/990/786 769/1005/793 770/1006/806 -f 755/1007/807 780/1003/805 772/994/796 -f 777/1000/802 782/1008/808 778/1001/803 -f 779/1002/804 782/1008/808 783/1009/809 -f 780/1003/805 783/1009/809 784/1010/810 -f 772/994/796 784/1010/810 785/1011/811 -f 773/995/797 772/994/796 785/1011/811 -f 774/996/798 771/1012/795 786/1013/812 -f 774/996/798 787/1014/813 776/999/801 -f 776/999/801 781/1015/814 777/1000/802 -f 773/1016/797 788/1017/815 789/1018/816 -f 771/1012/795 791/1019/817 786/1013/812 -f 775/1020/800 773/1016/797 789/1018/816 -f 786/1013/812 792/1021/818 787/1014/813 -f 765/1022/788 775/1023/800 793/1024/819 -f 787/1014/813 794/1025/820 781/1015/814 -f 751/980/787 765/1022/788 793/1024/819 -f 781/1015/814 795/1026/821 782/1008/808 -f 783/1009/809 795/1026/821 796/1027/822 -f 769/1028/793 753/1029/792 601/1030/580 -f 784/1010/810 796/1027/822 797/1031/823 -f 769/1028/793 606/1032/586 770/1033/806 -f 785/1011/811 797/1031/823 788/1017/815 -f 770/1033/806 790/1034/824 771/1012/795 -f 796/1027/822 798/1035/825 799/1036/826 -f 601/1030/580 753/1029/792 602/1037/581 -f 797/1031/823 799/1036/826 800/1038/827 -f 788/1017/815 800/1038/827 801/1039/828 -f 789/1018/816 788/1017/815 801/1039/828 -f 791/1019/817 790/1040/824 802/1041/829 -f 775/1023/800 789/1042/816 590/1043/571 -f 791/1019/817 803/1044/830 792/1021/818 -f 793/1024/819 775/1023/800 590/1043/571 -f 792/1021/818 804/1045/831 794/1025/820 -f 751/1046/787 793/1047/819 614/1048/595 -f 794/1025/820 798/1035/825 795/1026/821 -f 802/1041/829 587/634/567 586/636/569 -f 590/1043/571 789/1042/816 582/631/564 -f 803/1044/830 586/636/569 592/640/573 -f 793/1047/819 590/638/571 594/641/574 -f 803/1044/830 595/642/575 804/1045/831 -f 614/1048/595 793/1047/819 594/641/574 -f 804/1045/831 597/644/478 798/1035/825 -f 799/1036/826 597/644/478 599/647/579 -f 800/1038/827 599/647/579 604/652/584 -f 800/1038/827 583/655/587 801/1039/828 -f 790/1040/824 606/654/586 587/634/567 -f 801/1039/828 582/631/564 789/1042/816 -f 806/1049/832 808/1050/833 805/1051/834 -f 809/1052/835 811/1053/835 812/1054/835 -f 812/1055/836 807/1056/837 806/1057/838 -f 815/1058/839 809/1052/840 812/1054/841 -f 817/1059/842 814/1060/842 813/1061/842 -f 811/1062/843 808/1063/833 807/1064/844 -f 814/1065/480 816/1066/480 815/1067/480 -f 813/1068/845 805/1069/846 817/1070/847 -f 816/1071/848 817/1072/849 805/1073/850 -f 820/1074/851 822/1075/852 819/1076/480 -f 829/1077/481 830/1078/481 838/1079/481 -f 835/1080/853 840/1081/854 836/1082/855 -f 838/1083/478 819/1084/478 822/1085/478 -f 833/1086/856 843/1087/856 834/1088/856 -f 844/1089/857 821/1090/858 820/1074/859 -f 845/1091/860 829/1092/861 828/1093/862 -f 847/1094/863 828/1095/862 827/1096/864 -f 826/1097/865 825/1098/866 849/1099/867 -f 851/1100/868 831/1101/869 850/1102/870 -f 846/1103/871 830/1104/872 829/1105/861 -f 850/1106/873 830/1107/872 852/1108/874 -f 824/1109/875 848/1110/876 825/1111/877 -f 832/1112/878 842/1113/879 833/1086/880 -f 836/1114/855 854/1115/881 837/1116/882 -f 838/1117/883 854/1115/881 841/1118/884 -f 839/1119/885 834/1120/479 843/1121/479 -f 856/1122/886 858/1123/887 855/1124/888 -f 859/1125/889 857/1126/890 856/1122/891 -f 861/1127/892 860/1128/893 859/1125/889 -f 863/1129/894 864/1130/895 862/1131/896 -f 863/1132/897 866/1133/898 864/1134/899 -f 867/1135/900 865/1136/900 868/1137/900 -f 869/1138/901 868/1139/902 870/1140/903 -f 869/1141/482 871/1142/482 857/1143/482 -f 871/1144/904 870/1145/903 874/1146/905 -f 870/1147/481 868/1148/481 859/1149/481 -f 855/1124/888 873/1150/906 876/1151/907 -f 876/1151/908 872/1152/909 875/1153/910 -f 872/1154/911 874/1155/905 875/1156/912 -f 862/1131/896 861/1127/913 863/1129/894 -f 878/1157/480 880/1158/480 877/1159/480 -f 878/1160/914 883/1161/915 881/1162/916 -f 882/1163/917 885/1164/918 883/1165/919 -f 885/1166/920 877/1167/921 886/1168/922 -f 881/1169/923 885/1170/924 886/1171/925 -f 878/1157/926 884/1172/926 882/1163/926 -f 879/1173/481 888/1174/481 889/1175/481 -f 881/1176/480 890/1177/480 887/1178/480 -f 881/1179/480 879/1180/480 878/1181/480 -f 877/1182/480 890/1183/480 886/1184/480 -f 892/1185/480 888/1186/480 891/1187/480 -f 880/1188/482 891/1189/482 890/1190/482 -f 879/1191/927 892/1192/927 880/1158/927 -f 890/1193/928 888/1194/928 887/1195/928 -f 888/1186/929 894/1196/930 893/1197/931 -f 894/1196/930 895/1198/932 893/1197/931 -f 894/1199/933 892/1200/934 896/1201/935 -f 889/1202/936 893/1203/937 895/1204/938 -f 898/1205/480 900/1206/480 897/1207/480 -f 899/1208/481 901/1209/481 902/1210/481 -f 905/1211/939 907/1212/939 904/1213/939 -f 907/1214/482 898/1215/482 897/1216/482 -f 909/1217/478 908/1218/478 897/1219/478 -f 904/1213/939 908/1220/939 909/1221/939 -f 902/1222/940 909/1221/940 903/1223/940 -f 901/1224/940 904/1213/940 902/1222/940 -f 897/1225/941 911/1226/942 898/1227/943 -f 897/1228/944 885/1229/944 910/1230/944 -f 899/1231/945 913/1232/946 900/1233/947 -f 913/1234/948 883/1235/948 900/1236/948 -f 915/1237/949 917/1238/950 914/1239/951 -f 918/1240/952 920/1241/953 921/1242/954 -f 916/1243/955 923/1244/956 917/1238/950 -f 921/1242/954 924/1245/957 925/1246/958 -f 922/1247/959 927/1248/960 923/1244/956 -f 925/1246/958 928/1249/961 929/1250/962 -f 926/1251/963 931/1252/964 927/1248/960 -f 929/1250/962 932/1253/965 933/1254/966 -f 930/1255/967 935/1256/968 931/1252/964 -f 933/1254/966 936/1257/969 937/1258/969 -f 934/1259/970 939/1260/971 935/1256/968 -f 936/1257/969 941/1261/972 937/1258/969 -f 939/1260/971 942/1262/973 943/1263/974 -f 940/1264/975 914/1239/951 941/1261/972 -f 943/1263/974 919/1265/976 918/1240/952 -f 944/1266/977 946/1267/978 947/1268/979 -f 948/1269/980 946/1267/978 945/1270/981 -f 950/1271/982 949/1272/983 948/1269/980 -f 952/1273/984 954/1274/985 955/1275/986 -f 956/1276/987 951/1277/988 950/1271/982 -f 953/1278/989 959/1279/990 954/1274/985 -f 960/1280/991 957/1281/992 956/1276/987 -f 958/1282/993 963/1283/994 959/1279/990 -f 964/1284/995 961/1285/996 960/1280/991 -f 962/1286/997 967/1287/998 963/1283/994 -f 968/1288/999 965/1289/1000 964/1284/995 -f 966/1290/1001 947/1291/979 967/1287/998 -f 970/1292/1002 969/1293/1003 968/1288/999 -f 971/1294/1004 973/1295/1005 969/1293/1003 -f 947/1268/979 974/1296/1006 975/1297/1007 -f 976/1298/1008 972/1299/1009 971/1294/1004 -f 949/1272/983 974/1296/1006 946/1267/978 -f 976/1298/1008 979/1300/1010 977/1301/1011 -f 951/1277/988 978/1302/1012 949/1272/983 -f 955/1275/986 981/1303/1013 979/1300/1010 -f 957/1281/992 980/1304/1014 951/1277/988 -f 954/1274/985 983/1305/1015 981/1303/1013 -f 961/1285/996 982/1306/1016 957/1281/992 -f 959/1279/990 985/1307/1017 983/1305/1015 -f 965/1289/1000 984/1308/1018 961/1285/996 -f 963/1283/994 987/1309/1019 985/1307/1017 -f 969/1293/1003 986/1310/1020 965/1289/1000 -f 967/1287/998 975/1311/1007 987/1309/1019 -f 987/1309/1019 988/1312/1021 989/1313/1022 -f 972/1299/1009 991/1314/1023 973/1295/1005 -f 975/1297/1007 992/1315/1024 988/1316/1021 -f 972/1299/1009 993/1317/1025 990/1318/1026 -f 978/1302/1012 992/1315/1024 974/1296/1006 -f 977/1301/1011 995/1319/1027 993/1317/1025 -f 980/1304/1014 994/1320/1028 978/1302/1012 -f 979/1300/1010 997/1321/1029 995/1319/1027 -f 982/1306/1016 996/1322/1030 980/1304/1014 -f 981/1303/1013 999/1323/1031 997/1321/1029 -f 984/1308/1018 998/1324/1032 982/1306/1016 -f 983/1305/1015 1001/1325/1033 999/1323/1031 -f 986/1310/1020 1000/1326/1034 984/1308/1018 -f 985/1307/1017 989/1313/1022 1001/1325/1033 -f 973/1295/1005 1002/1327/1035 986/1310/1020 -f 989/1313/1022 1003/1328/1036 1004/1329/1037 -f 990/1318/1026 1006/1330/1038 991/1314/1023 -f 988/1316/1021 1007/1331/1039 1003/1332/1036 -f 993/1317/1025 1005/1333/1040 990/1318/1026 -f 994/1320/1028 1007/1331/1039 992/1315/1024 -f 993/1317/1025 1010/1334/1041 1008/1335/1042 -f 996/1322/1030 1009/1336/1043 994/1320/1028 -f 995/1319/1027 1012/1337/1044 1010/1334/1041 -f 998/1324/1032 1011/1338/1045 996/1322/1030 -f 997/1321/1029 1014/1339/1046 1012/1337/1044 -f 1000/1326/1034 1013/1340/1047 998/1324/1032 -f 999/1323/1031 1016/1341/1048 1014/1339/1046 -f 1002/1327/1035 1015/1342/1049 1000/1326/1034 -f 1001/1325/1033 1004/1329/1037 1016/1341/1048 -f 991/1314/1023 1017/1343/1050 1002/1327/1035 -f 1014/1344/1046 1004/1345/1037 1017/1346/1050 -f 918/1240/1051 1019/1347/1052 943/1263/1053 -f 1020/1348/1054 925/1246/1055 929/1250/1056 -f 1021/1349/1057 921/1242/1058 925/1246/1055 -f 943/1263/1053 1023/1350/1059 939/1260/1060 -f 921/1242/1058 1018/1351/1061 918/1240/1051 -f 939/1260/1060 1024/1352/1062 935/1256/1063 -f 1025/1353/1064 1027/1354/1065 1028/1355/1066 -f 935/1256/1063 1029/1356/1067 931/1252/1068 -f 1030/1357/1069 1026/1358/1070 1025/1353/1064 -f 931/1252/1068 1032/1359/1071 927/1248/1072 -f 1034/1360/1073 1030/1357/1069 1033/1361/1074 -f 1036/1362/1075 1033/1361/1074 1035/1363/1076 -f 927/1248/1072 1037/1364/1077 923/1244/1078 -f 1039/1365/1079 1035/1363/1076 1038/1366/1080 -f 1040/1367/1081 933/1254/1082 937/1258/1083 -f 1043/1368/1084 1038/1366/1080 1042/1369/1085 -f 1045/1370/1086 1042/1369/1085 1044/1371/1087 -f 1047/1372/1088 1044/1371/1087 1046/1373/1089 -f 1049/1374/1090 1046/1373/1089 1048/1375/1091 -f 1037/1364/1077 917/1238/1092 923/1244/1078 -f 1051/1376/1093 1049/1374/1090 1048/1375/1091 -f 1050/1377/1094 914/1239/1095 917/1238/1092 -f 1028/1355/1066 1054/1378/1096 1055/1379/1097 -f 1055/1379/1097 1056/1380/1098 1057/1381/1099 -f 1053/1382/1100 941/1261/1101 914/1239/1095 -f 1057/1381/1099 1059/1383/1102 1060/1384/1103 -f 1058/1385/1104 937/1258/1083 941/1261/1101 -f 1061/1386/1105 1052/1387/1106 1051/1376/1093 -f 1041/1388/1107 929/1250/1056 933/1254/1082 -f 1060/1384/1103 1062/1389/1108 1061/1386/1105 -f 1027/1354/1109 1021/1349/1110 1020/1348/1109 -f 1045/1370/1111 1032/1359/1112 1029/1356/1111 -f 1054/1378/1113 1020/1348/1109 1041/1388/1113 -f 1043/1368/1114 1029/1356/1111 1024/1352/1114 -f 1039/1365/1115 1024/1352/1114 1023/1350/1115 -f 1059/1383/1116 1040/1367/1117 1058/1385/1116 -f 1036/1362/1118 1023/1350/1115 1019/1347/1118 -f 1062/1389/1119 1058/1385/1116 1053/1382/1119 -f 1034/1360/1120 1019/1347/1118 1018/1351/1120 -f 1052/1387/481 1053/1382/1119 1050/1377/481 -f 1031/1390/1121 1018/1351/1120 1022/1391/1121 -f 1049/1374/1122 1050/1377/481 1037/1364/1122 -f 1026/1358/1110 1022/1391/1121 1021/1349/1110 -f 1047/1372/1112 1037/1364/1122 1032/1359/1112 -f 1056/1380/1117 1041/1388/1113 1040/1367/1117 -f 1064/1392/1123 1066/1393/1124 1063/1394/1124 -f 924/1395/1125 953/1278/1126 952/1273/1127 -f 938/1396/1128 968/1288/1129 964/1284/1130 -f 938/1396/1128 960/1280/1131 934/1397/1114 -f 928/1398/1132 958/1399/1133 953/1400/1126 -f 942/1401/1134 970/1292/951 968/1288/1129 -f 926/1402/1135 948/1403/1136 922/1404/1137 -f 940/1405/1138 962/1406/1139 936/1407/1139 -f 934/1408/1114 956/1409/1140 930/1410/1141 -f 922/1404/1137 945/1411/1142 916/1412/1143 -f 932/1413/1113 962/1406/1139 958/1399/1133 -f 930/1410/1141 950/1414/1144 926/1402/1135 -f 915/1415/1145 966/1416/1146 940/1405/1138 -f 916/1412/1143 944/1417/1147 915/1418/1145 -f 919/1419/1148 1067/1420/1149 1068/1421/1150 -f 926/1422/1151 1070/1423/1152 930/1424/1152 -f 1072/1425/1153 1074/1426/1154 1071/1427/1155 -f 932/1428/1156 1075/1429/1157 1076/1430/1156 -f 936/1431/1158 1076/1430/1156 1077/1432/1159 -f 1078/1433/1160 1080/1434/1161 1081/1435/1162 -f 934/1436/1163 1083/1437/1164 938/1438/1165 -f 916/1439/1166 1085/1440/1167 922/1441/1167 -f 1086/1442/1168 1065/1443/1123 1064/1392/1123 -f 920/1444/1169 1089/1445/1170 924/1446/1170 -f 930/1424/1152 1082/1447/1163 934/1436/1163 -f 1090/1448/1171 1073/1449/1172 1072/1425/1153 -f 938/1438/1165 1067/1420/1149 942/1450/1149 -f 936/1431/1158 1092/1451/1173 940/1452/1174 -f 1068/1421/1175 1094/1453/1176 1088/1454/1177 -f 1092/1451/1178 1065/1455/1179 1087/1456/1180 -f 1089/1445/1181 1096/1457/1182 1075/1429/1183 -f 1082/1447/970 1081/1458/1184 1080/1459/968 -f 1083/1437/1185 1098/1460/1186 1067/1420/1187 -f 1085/1440/1188 1074/1461/305 1073/1462/1189 -f 1088/1454/1177 1095/1463/1190 1089/1445/1181 -f 1077/1432/1191 1066/1464/966 1065/1455/1179 -f 1082/1447/970 1097/1465/1192 1083/1437/1185 -f 1070/1423/1193 1091/1466/1194 1081/1458/1184 -f 1075/1429/1183 1066/1464/966 1076/1430/966 -f 1099/1467/1195 1087/1456/1180 1100/1468/1196 -f 1067/1420/1187 1093/1469/1197 1068/1421/1175 -f 1084/1470/1198 1100/1468/1196 1074/1461/305 -f 1069/1471/1199 1073/1462/1189 1091/1466/1194 -f 915/1472/1200 1092/1451/1173 1099/1467/1200 -f 1090/1448/1171 1081/1435/1162 1091/1473/1201 -f 916/1439/1166 1099/1467/1200 1084/1470/1166 -f 1101/1474/1202 1087/1475/1168 1086/1442/1168 -f 1102/1476/1203 1094/1477/1204 1093/1478/1205 -f 1071/1427/1155 1100/1479/1206 1101/1474/1202 -f 1104/1480/1207 1096/1481/1208 1095/1482/1207 -f 1106/1483/1209 1098/1484/1210 1097/1485/1209 -f 1103/1486/1204 1095/1482/1207 1094/1477/1204 -f 1079/1487/1161 1097/1485/1209 1080/1434/1161 -f 919/1419/1148 1088/1454/1169 920/1444/1169 -f 1063/1394/1124 1096/1481/1208 1105/1488/1208 -f 922/1441/1167 1069/1471/1151 926/1422/1151 -f 924/1446/1170 1075/1429/1157 928/1489/1157 -f 1107/1490/1210 1093/1478/1205 1098/1484/1210 -f 1080/1491/1211 1108/1492/1212 1109/1493/1211 -f 1097/1494/1213 1111/1495/1214 1098/1496/1215 -f 1073/1497/1216 1112/1498/1217 1113/1499/1218 -f 1094/1500/1219 1115/1501/1220 1095/1502/1221 -f 1065/1503/1222 1116/1504/1223 1117/1505/1224 -f 1080/1491/1211 1110/1506/1225 1097/1494/1213 -f 1118/1507/1226 1081/1508/1227 1091/1509/1228 -f 1096/1510/1229 1116/1504/1223 1066/1511/1223 -f 1120/1512/1230 1100/1513/1231 1087/1514/1232 -f 1098/1496/1215 1122/1515/1233 1093/1516/1234 -f 1121/1517/1235 1074/1518/1236 1100/1519/1231 -f 1091/1509/1228 1113/1499/1218 1118/1507/1226 -f 1093/1516/1234 1114/1520/1237 1094/1500/1219 -f 1087/1514/1232 1117/1505/1224 1120/1512/1230 -f 1095/1502/1221 1119/1521/1238 1096/1510/1229 -f 1124/1522/949 1126/1523/1239 1123/1524/951 -f 1127/1525/1240 1129/1526/1241 1130/1527/1242 -f 1125/1528/1243 1132/1529/1244 1126/1523/1239 -f 1130/1530/1242 1133/1531/957 1134/1532/958 -f 1131/1533/1245 1136/1534/1246 1132/1529/1244 -f 1134/1532/958 1137/1535/961 1138/1536/962 -f 1135/1537/963 1140/1538/1247 1136/1534/1246 -f 1138/1536/962 1141/1539/965 1142/1540/966 -f 1139/1541/967 1144/1542/968 1140/1538/1247 -f 1142/1540/966 1145/1543/1248 1146/1544/969 -f 1143/1545/968 1148/1546/971 1144/1542/968 -f 1145/1543/1248 1150/1547/975 1146/1544/969 -f 1148/1546/971 1151/1548/973 1152/1549/974 -f 1149/1550/975 1123/1524/951 1150/1547/975 -f 1152/1549/974 1128/1551/1249 1127/1525/1240 -f 1153/1552/977 1155/1553/978 1156/1554/979 -f 1157/1555/1250 1159/1556/1251 1160/1557/1252 -f 1161/1558/1253 1155/1553/978 1154/1559/1254 -f 1158/1560/1255 1164/1561/1256 1159/1562/1251 -f 1165/1563/982 1162/1564/983 1161/1558/1257 -f 1163/1565/1258 1168/1566/1259 1164/1561/1256 -f 1169/1567/987 1166/1568/988 1165/1563/982 -f 1167/1569/1260 1172/1570/990 1168/1566/1259 -f 1173/1571/991 1170/1572/992 1169/1567/987 -f 1171/1573/1261 1176/1574/994 1172/1570/990 -f 1177/1575/1262 1174/1576/996 1173/1571/991 -f 1175/1577/997 1180/1578/998 1176/1574/994 -f 1181/1579/999 1178/1580/1263 1177/1575/1262 -f 1179/1581/1001 1156/1554/979 1180/1578/998 -f 1157/1555/1250 1182/1582/1264 1181/1579/999 -f 1160/1557/1252 1184/1583/1005 1182/1582/1264 -f 1156/1554/979 1185/1584/1265 1186/1585/1007 -f 1159/1556/1251 1183/1586/1266 1160/1557/1252 -f 1162/1564/983 1185/1584/1265 1155/1553/978 -f 1159/1562/1251 1189/1587/1010 1187/1588/1267 -f 1166/1568/988 1188/1589/1012 1162/1564/983 -f 1164/1561/1256 1191/1590/1013 1189/1587/1010 -f 1170/1572/992 1190/1591/1014 1166/1568/988 -f 1168/1566/1259 1193/1592/1015 1191/1590/1013 -f 1174/1576/996 1192/1593/1268 1170/1572/992 -f 1172/1570/990 1195/1594/1269 1193/1592/1015 -f 1178/1580/1263 1194/1595/1018 1174/1576/996 -f 1176/1574/994 1197/1596/1019 1195/1594/1269 -f 1182/1582/1264 1196/1597/1020 1178/1580/1263 -f 1180/1578/998 1186/1585/1007 1197/1596/1019 -f 1197/1596/1019 1198/1598/1021 1199/1599/1022 -f 1183/1586/1266 1201/1600/1270 1184/1583/1005 -f 1186/1585/1007 1202/1601/1271 1198/1598/1021 -f 1183/1586/1266 1203/1602/1025 1200/1603/1026 -f 1188/1589/1012 1202/1601/1271 1185/1584/1265 -f 1187/1588/1267 1205/1604/1027 1203/1605/1025 -f 1190/1591/1014 1204/1606/1028 1188/1589/1012 -f 1189/1587/1010 1207/1607/1272 1205/1604/1027 -f 1192/1593/1268 1206/1608/1273 1190/1591/1014 -f 1191/1590/1013 1209/1609/1031 1207/1607/1272 -f 1194/1595/1018 1208/1610/1274 1192/1593/1268 -f 1193/1592/1015 1211/1611/1275 1209/1609/1031 -f 1196/1597/1020 1210/1612/1034 1194/1595/1018 -f 1195/1594/1269 1199/1599/1022 1211/1611/1275 -f 1184/1583/1005 1212/1613/1276 1196/1597/1020 -f 1199/1599/1022 1213/1614/1036 1214/1615/1277 -f 1200/1603/1026 1216/1616/1278 1201/1600/1270 -f 1198/1598/1021 1217/1617/1039 1213/1614/1036 -f 1203/1602/1025 1215/1618/1279 1200/1603/1026 -f 1204/1606/1028 1217/1617/1039 1202/1601/1271 -f 1203/1605/1025 1220/1619/1041 1218/1620/1280 -f 1206/1608/1273 1219/1621/1043 1204/1606/1028 -f 1205/1604/1027 1222/1622/1281 1220/1619/1041 -f 1208/1610/1274 1221/1623/1282 1206/1608/1273 -f 1207/1607/1272 1224/1624/1283 1222/1622/1281 -f 1210/1612/1034 1223/1625/1284 1208/1610/1274 -f 1209/1609/1031 1226/1626/1048 1224/1624/1283 -f 1212/1613/1276 1225/1627/1285 1210/1612/1034 -f 1211/1611/1275 1214/1615/1277 1226/1626/1048 -f 1201/1600/1270 1227/1628/1050 1212/1613/1276 -f 1227/1629/1050 1220/1630/1041 1214/1631/1277 -f 1127/1525/1286 1229/1632/1287 1152/1549/1288 -f 1230/1633/1289 1134/1532/1290 1138/1536/1291 -f 1231/1634/1057 1130/1530/1292 1134/1532/1290 -f 1152/1549/1288 1233/1635/1293 1148/1546/1294 -f 1130/1527/1292 1228/1636/1061 1127/1525/1286 -f 1148/1546/1294 1234/1637/1062 1144/1542/1295 -f 1235/1638/1296 1237/1639/1297 1238/1640/1298 -f 1144/1542/1295 1239/1641/1299 1140/1538/1300 -f 1240/1642/1301 1236/1643/1302 1235/1638/1296 -f 1140/1538/1300 1242/1644/1303 1136/1534/1304 -f 1244/1645/1305 1240/1642/1301 1243/1646/1306 -f 1246/1647/1307 1243/1646/1306 1245/1648/1308 -f 1136/1534/1304 1247/1649/1077 1132/1529/1309 -f 1249/1650/1310 1245/1648/1308 1248/1651/1311 -f 1250/1652/1312 1142/1540/1313 1146/1544/1314 -f 1253/1653/1315 1248/1651/1311 1252/1654/1316 -f 1255/1655/1317 1252/1654/1316 1254/1656/1318 -f 1257/1657/1319 1254/1656/1318 1256/1658/1320 -f 1259/1659/1321 1256/1658/1320 1258/1660/1322 -f 1247/1649/1077 1126/1523/1323 1132/1529/1309 -f 1261/1661/1324 1259/1659/1321 1258/1660/1322 -f 1260/1662/1094 1123/1524/1325 1126/1523/1323 -f 1238/1640/1298 1264/1663/1326 1265/1664/1327 -f 1265/1664/1327 1266/1665/1328 1267/1666/1329 -f 1263/1667/1100 1150/1547/1330 1123/1524/1325 -f 1267/1666/1329 1269/1668/1331 1270/1669/1332 -f 1268/1670/1333 1146/1544/1314 1150/1547/1330 -f 1271/1671/1334 1262/1672/1106 1261/1661/1324 -f 1251/1673/1335 1138/1536/1291 1142/1540/1313 -f 1270/1669/1332 1272/1674/1336 1271/1671/1334 -f 1237/1639/1109 1231/1634/1110 1230/1633/1109 -f 1255/1655/1111 1242/1644/1112 1239/1641/1111 -f 1264/1663/1113 1230/1633/1109 1251/1673/1113 -f 1253/1653/1114 1239/1641/1111 1234/1637/1114 -f 1249/1650/1115 1234/1637/1114 1233/1635/1115 -f 1269/1668/1116 1250/1652/1117 1268/1670/1116 -f 1246/1647/1118 1233/1635/1115 1229/1632/1118 -f 1272/1674/1337 1268/1670/1116 1263/1667/1337 -f 1244/1645/1120 1229/1632/1118 1228/1636/1120 -f 1262/1672/481 1263/1667/1337 1260/1662/481 -f 1241/1675/1121 1228/1636/1120 1232/1676/1121 -f 1259/1659/1338 1260/1662/481 1247/1649/1338 -f 1236/1643/1110 1232/1677/1121 1231/1634/1110 -f 1257/1657/1112 1247/1649/1338 1242/1644/1112 -f 1266/1665/1117 1251/1673/1113 1250/1652/1117 -f 1273/1678/1124 1275/1679/1123 1276/1680/1124 -f 1128/1681/1339 1158/1682/1340 1157/1683/1341 -f 1133/1684/1342 1167/1685/1126 1163/1686/1343 -f 1147/1687/1128 1181/1688/1129 1177/1689/1130 -f 1129/1690/1344 1163/1686/1343 1158/1691/1340 -f 1147/1687/1128 1173/1692/1131 1143/1693/1114 -f 1137/1694/1132 1171/1695/1133 1167/1685/1126 -f 1151/1696/1345 1157/1683/1341 1181/1688/1129 -f 1135/1697/1135 1161/1558/958 1131/1698/958 -f 1149/1699/1138 1175/1577/1139 1145/1700/1139 -f 1143/1701/1114 1169/1567/1140 1139/1702/1141 -f 1141/1703/1113 1175/1704/1139 1171/1695/1133 -f 1139/1702/1141 1165/1563/1144 1135/1697/1135 -f 1124/1705/974 1179/1581/1146 1149/1699/1138 -f 1128/1706/1346 1278/1707/1347 1151/1708/1347 -f 1279/1709/1348 1135/1710/1349 1139/1711/1348 -f 1282/1712/1350 1284/1713/1154 1281/1714/1351 -f 1141/1715/1352 1286/1716/1353 1137/1717/1353 -f 1287/1718/1354 1141/1715/1352 1145/1719/1354 -f 1289/1720/1161 1291/1721/1355 1288/1722/1356 -f 1147/1723/1357 1293/1724/1358 1143/1725/1359 -f 1294/1726/1360 1125/1727/1361 1131/1728/1360 -f 1296/1729/1362 1275/1679/1123 1274/1730/1123 -f 1133/1731/1363 1299/1732/1364 1129/1733/1365 -f 1143/1725/1359 1279/1709/1348 1139/1711/1348 -f 1300/1734/1201 1283/1735/1350 1282/1712/1350 -f 1278/1707/1347 1147/1723/1357 1151/1708/1347 -f 1302/1736/1366 1145/1719/1354 1149/1737/1366 -f 1303/1738/1367 1277/1739/1368 1299/1732/1369 -f 1302/1736/1370 1275/1740/1371 1287/1718/1372 -f 1305/1741/1373 1298/1742/1374 1286/1716/1375 -f 1293/1724/1131 1291/1743/1111 1279/1709/1376 -f 1307/1744/1377 1292/1745/1378 1278/1707/1379 -f 1294/1726/1380 1284/1746/1381 1295/1747/1382 -f 1306/1748/1383 1299/1732/1369 1298/1742/1374 -f 1287/1718/1372 1276/1749/1133 1285/1750/1113 -f 1308/1751/1384 1293/1724/1131 1292/1745/1378 -f 1279/1709/1376 1301/1752/1385 1280/1753/1386 -f 1276/1749/1133 1286/1716/1375 1285/1750/1113 -f 1309/1754/1387 1297/1755/1388 1302/1736/1370 -f 1304/1756/1389 1278/1707/1379 1277/1739/1368 -f 1295/1747/1382 1310/1757/1390 1309/1754/1387 -f 1280/1753/1386 1283/1758/1391 1294/1726/1380 -f 1309/1754/1392 1149/1737/1366 1124/1759/1393 -f 1288/1722/1356 1301/1760/1201 1300/1734/1201 -f 1295/1747/1361 1124/1759/1393 1125/1727/1361 -f 1296/1729/1362 1310/1761/1394 1297/1762/1362 -f 1312/1763/1205 1303/1764/1395 1304/1765/1205 -f 1281/1714/1351 1310/1761/1394 1311/1766/1206 -f 1315/1767/1208 1306/1768/1396 1314/1769/1396 -f 1316/1770/1209 1307/1771/1210 1308/1772/1209 -f 1313/1773/1395 1306/1768/1396 1303/1764/1395 -f 1289/1720/1161 1308/1772/1209 1290/1774/1397 -f 1129/1775/1365 1277/1739/1346 1128/1706/1346 -f 1273/1678/1124 1305/1776/1208 1315/1767/1208 -f 1280/1753/1349 1131/1728/1360 1135/1710/1349 -f 1137/1717/1353 1298/1742/1398 1133/1731/1363 -f 1317/1777/1210 1304/1765/1205 1307/1771/1210 -f 1290/1778/1399 1318/1779/1212 1319/1780/1399 -f 1308/1781/1400 1321/1782/1214 1307/1783/1215 -f 1283/1784/1401 1322/1785/1217 1323/1786/1402 -f 1303/1787/1403 1325/1788/1404 1306/1789/1405 -f 1275/1790/1406 1326/1791/1407 1327/1792/1408 -f 1290/1778/1399 1320/1793/1409 1308/1781/1400 -f 1328/1794/1226 1291/1795/1227 1301/1796/1228 -f 1305/1797/1410 1326/1791/1407 1276/1798/1407 -f 1330/1799/1411 1310/1800/1412 1297/1801/1232 -f 1307/1783/1215 1332/1802/1413 1304/1803/1414 -f 1331/1804/1415 1284/1805/1236 1310/1800/1412 -f 1301/1796/1228 1323/1786/1402 1328/1794/1226 -f 1304/1803/1414 1324/1806/1237 1303/1807/1403 -f 1297/1801/1232 1327/1792/1408 1330/1799/1411 -f 1306/1789/1405 1329/1808/1416 1305/1797/1410 -f 1333/1809/1417 1334/1810/1418 1335/1811/1419 -f 1336/1812/1420 1333/1809/1417 1335/1811/1419 -f 1337/1813/1421 1336/1812/1420 1338/1814/1422 -f 1336/1812/1420 1335/1811/1419 1338/1814/1422 -f 1339/1815/1423 1340/1816/1423 1341/1817/1423 -f 1342/1818/1424 1343/1819/1425 1344/1820/1426 -f 1341/1817/1427 1345/1821/1428 1342/1818/1424 -f 1340/1816/1429 1345/1821/1428 1341/1817/1427 -f 1339/1815/1430 1345/1821/1428 1340/1816/1429 -f 1339/1815/1430 1346/1822/1431 1345/1821/1428 -f 1343/1819/1425 1347/1823/1432 1344/1820/1426 -f 1348/1824/1433 1342/1818/1424 1345/1821/1428 -f 1348/1824/1433 1349/1825/1434 1343/1819/1425 -f 1350/1826/1435 1348/1824/1433 1345/1821/1428 -f 1346/1822/1431 1350/1826/1435 1345/1821/1428 -f 1350/1826/1435 1351/1827/1436 1349/1825/1434 -f 1346/1822/1431 1352/1828/1437 1350/1826/1435 -f 1343/1819/1425 1353/1829/1438 1347/1823/1432 -f 1343/1819/1425 1354/1830/1439 1353/1829/1438 -f 1349/1825/1434 1354/1830/1439 1343/1819/1425 -f 1351/1827/1436 1354/1830/1439 1349/1825/1434 -f 1350/1826/1435 1355/1831/1440 1351/1827/1436 -f 1352/1828/1437 1355/1831/1440 1350/1826/1435 -f 1352/1828/1437 1356/1832/1441 1355/1831/1440 -f 1357/1833/1442 1359/1834/1443 1360/1835/1443 -f 1337/1836/1444 1364/1837/1445 1365/1838/1446 -f 1358/1839/1442 1366/1840/476 1362/1841/476 -f 1359/1842/1447 487/1843/1448 1368/1844/1449 -f 1369/1845/1450 1367/1846/1451 1361/1847/1452 -f 1358/1848/1453 1367/1849/1453 1359/1850/1453 -f 1357/1851/1454 1370/1852/1454 1369/1853/1454 -f 1371/1854/1455 487/1855/1455 488/1856/1455 -f 1360/1857/1456 488/1858/1457 1370/1859/1458 -f 1359/1860/1443 1371/1854/476 1360/1861/1443 -f 1370/1862/1451 487/1855/1459 1367/1846/1451 -f 1372/1863/1460 1341/1817/1460 1342/1818/1460 -f 1344/1820/1461 1347/1823/1461 1373/1864/1461 -f 1373/1865/1462 1366/1866/1463 1369/1867/1464 -f 1374/1868/1465 1337/1813/1421 1338/1814/1422 -f 1364/1869/1466 1337/1813/1421 1374/1868/1465 -f 1366/1870/480 1373/1871/1467 1353/1872/1468 -f 1334/1810/1418 1333/1809/1417 1363/1873/1469 -f 1258/1874/1322 1248/1875/1311 1235/1876/1296 -f 1057/1877/1099 1048/1878/1091 1038/1879/1080 -f 482/1880/481 489/1881/481 487/1882/481 -f 578/1883/1470 580/1884/1471 565/1885/1472 -f 1364/1886/1473 1339/1887/1474 1361/1847/1452 -f 845/1888/482 847/1889/482 819/1890/482 -f 481/1891/482 484/1892/477 488/1893/482 -f 853/1894/1475 823/1895/1476 844/1089/1477 -f 89/1896/83 80/1897/84 16/1898/1478 -f 486/1899/1479 53/1900/53 84/1901/77 -f 1/1/1 2/1902/1480 3/2/2 -f 4/3/3 3/2/2 5/4/4 -f 6/5/5 5/4/4 7/6/6 -f 8/7/7 7/6/6 9/8/8 -f 10/9/9 9/8/8 11/10/10 -f 12/11/11 11/10/10 13/12/12 -f 15/14/14 16/1903/1478 17/15/15 -f 17/15/15 19/18/18 20/17/17 -f 19/18/18 21/1904/1481 22/19/19 -f 22/19/19 21/1904/1481 23/20/20 -f 24/21/21 23/20/20 25/22/22 -f 25/22/22 27/25/25 28/24/24 -f 27/25/25 29/27/1482 30/26/26 -f 29/27/27 31/29/30 32/28/28 -f 31/29/30 33/31/32 34/30/31 -f 33/31/32 35/33/34 36/32/33 -f 35/33/34 37/1905/1483 38/34/35 -f 38/34/35 37/1905/1483 39/35/36 -f 40/36/37 39/35/36 41/37/38 -f 42/38/39 41/37/38 43/39/40 -f 44/40/41 43/39/40 45/41/42 -f 46/42/44 45/41/1484 47/43/45 -f 48/44/46 47/43/45 49/45/47 -f 49/45/47 51/48/50 52/47/49 -f 51/48/50 2/1902/1480 1/1/1 -f 54/49/51 55/54/56 56/50/52 -f 57/52/54 58/94/95 59/53/55 -f 24/21/21 26/23/23 60/55/57 -f 44/40/41 62/66/68 63/57/59 -f 10/9/9 12/11/11 64/58/60 -f 18/16/16 66/67/69 67/60/62 -f 34/30/31 36/32/33 68/61/63 -f 4/3/3 70/70/72 71/63/65 -f 1/1/1 71/63/65 72/64/66 -f 54/49/51 73/71/73 57/52/54 -f 26/23/23 28/24/24 74/65/67 -f 46/42/44 75/74/76 62/66/68 -f 14/13/13 76/76/78 64/58/60 -f 20/17/17 77/78/80 66/67/69 -f 36/32/33 38/34/35 78/68/70 -f 4/3/3 6/5/5 79/69/71 -f 73/71/73 80/82/84 81/72/74 -f 28/24/24 30/26/26 82/73/75 -f 48/44/46 83/84/86 75/74/76 -f 84/75/77 85/85/87 76/76/78 -f 20/17/17 22/19/19 86/77/79 -f 38/34/35 40/36/37 87/79/81 -f 6/5/5 8/7/7 88/80/82 -f 89/81/83 90/96/88 81/72/74 -f 30/26/26 32/28/28 91/83/85 -f 50/46/48 92/88/89 83/84/86 -f 53/51/53 56/50/52 85/85/87 -f 22/19/19 24/21/21 61/56/58 -f 40/36/37 42/38/39 63/57/59 -f 8/7/7 10/9/9 65/59/61 -f 15/14/14 67/60/62 90/86/88 -f 32/28/28 34/30/31 69/62/64 -f 52/47/49 72/64/66 92/88/89 -f 94/89/90 95/127/127 96/90/91 -f 68/61/63 78/68/70 97/92/93 -f 81/72/74 99/97/97 58/94/95 -f 78/68/70 87/79/81 100/95/96 -f 90/96/88 93/152/92 99/97/97 -f 87/79/81 63/57/59 101/98/98 -f 67/60/62 94/89/90 93/91/92 -f 62/66/68 102/102/102 101/98/98 -f 66/67/69 103/103/103 94/89/90 -f 71/63/65 70/70/72 104/99/99 -f 62/66/68 75/74/76 106/101/101 -f 77/78/80 107/106/106 103/103/103 -f 70/70/72 79/69/71 108/104/104 -f 75/74/76 83/84/86 109/105/105 -f 86/77/79 110/109/109 107/106/106 -f 79/69/71 88/80/82 111/107/107 -f 83/84/86 92/88/89 112/108/108 -f 61/56/58 113/112/112 110/109/109 -f 88/80/82 65/59/61 114/110/110 -f 92/88/89 72/64/66 115/111/111 -f 60/55/57 116/114/114 113/112/112 -f 65/59/61 64/58/60 117/113/113 -f 72/64/66 71/63/65 105/100/100 -f 74/65/67 118/116/116 116/114/114 -f 64/58/60 76/76/78 119/115/115 -f 82/73/75 120/118/118 118/116/116 -f 76/76/78 85/85/87 121/117/117 -f 91/83/85 122/119/119 120/118/118 -f 56/50/52 123/120/120 121/117/117 -f 69/62/64 124/121/121 122/119/119 -f 55/54/56 59/53/55 123/120/120 -f 69/62/64 68/61/63 98/93/94 -f 126/122/122 127/162/161 128/123/123 -f 101/98/98 102/102/102 129/125/125 -f 103/103/103 131/131/131 95/127/127 -f 105/100/100 104/99/99 132/128/128 -f 102/102/102 106/101/101 134/130/130 -f 107/106/106 125/124/124 131/131/131 -f 104/99/99 108/104/104 135/132/132 -f 106/101/101 109/105/105 136/133/133 -f 110/109/109 126/122/122 125/124/124 -f 108/104/104 111/107/107 137/134/134 -f 109/105/105 112/108/108 138/135/135 -f 113/112/112 139/138/138 126/122/122 -f 111/107/107 114/110/110 140/136/136 -f 112/108/108 115/111/111 141/137/137 -f 116/114/114 142/140/140 139/138/138 -f 114/110/110 117/113/113 143/139/139 -f 115/111/111 105/100/100 133/129/129 -f 118/116/116 144/142/142 142/140/140 -f 117/113/113 119/115/115 145/141/141 -f 120/118/118 146/144/144 144/142/142 -f 119/115/115 121/117/117 147/143/143 -f 122/119/119 148/146/146 146/144/144 -f 121/117/117 123/120/120 149/145/145 -f 124/121/121 150/148/148 148/146/146 -f 59/53/55 151/149/149 149/145/145 -f 124/121/121 98/93/94 152/147/147 -f 58/94/95 153/151/151 151/149/149 -f 98/93/94 97/92/93 154/150/150 -f 99/97/97 155/153/152 153/151/151 -f 100/95/96 156/154/153 154/150/150 -f 93/152/92 96/178/91 155/153/152 -f 101/98/98 130/126/126 156/154/153 -f 158/155/154 159/193/191 160/156/155 -f 135/132/132 137/134/134 161/158/157 -f 136/133/133 138/135/135 163/160/159 -f 139/138/138 165/165/164 127/162/161 -f 137/134/134 140/136/136 166/163/162 -f 138/135/135 141/137/137 167/164/163 -f 142/140/140 157/157/156 165/165/164 -f 140/136/136 143/139/139 168/166/165 -f 141/137/137 133/129/129 169/167/166 -f 144/142/142 158/155/154 157/157/156 -f 143/139/139 145/141/141 170/168/167 -f 146/144/144 171/170/169 158/155/154 -f 145/141/141 147/143/143 172/169/168 -f 148/146/146 173/172/171 171/170/169 -f 147/143/143 149/145/145 174/171/170 -f 150/148/148 175/174/173 173/172/171 -f 151/149/149 176/175/174 174/171/170 -f 150/148/148 152/147/147 177/173/172 -f 153/151/151 178/177/176 176/175/174 -f 152/147/147 154/150/150 179/176/175 -f 155/153/152 180/179/177 178/177/176 -f 156/154/153 181/181/179 179/176/175 -f 96/178/91 182/202/180 180/179/177 -f 156/154/153 130/126/126 183/180/178 -f 95/127/127 184/184/182 182/182/180 -f 130/126/126 129/125/125 185/183/181 -f 131/131/131 186/187/185 184/184/182 -f 133/129/129 132/128/128 187/185/183 -f 129/125/125 134/130/130 188/186/184 -f 125/124/124 128/123/123 186/187/185 -f 132/128/128 135/132/132 162/159/158 -f 134/130/130 136/133/133 164/161/160 -f 190/188/186 191/225/222 192/189/187 -f 168/166/165 170/168/167 193/191/189 -f 171/170/169 195/195/193 159/193/191 -f 170/168/167 172/169/168 196/194/192 -f 173/172/171 189/190/188 195/195/193 -f 172/169/168 174/171/170 197/196/194 -f 175/174/173 190/188/186 189/190/188 -f 176/175/174 198/197/195 197/196/194 -f 177/173/172 199/199/197 190/188/186 -f 178/177/176 200/200/198 198/197/195 -f 177/173/172 179/176/175 201/198/196 -f 180/179/177 202/203/200 200/200/198 -f 179/176/175 181/181/179 203/201/199 -f 182/202/180 204/230/202 202/203/200 -f 181/181/179 183/180/178 205/204/201 -f 184/184/182 206/207/204 204/205/202 -f 183/180/178 185/183/181 207/206/203 -f 186/187/185 208/211/208 206/207/204 -f 169/167/166 187/185/183 209/208/205 -f 185/183/181 188/186/184 211/210/207 -f 128/123/123 212/214/211 208/211/208 -f 187/185/183 162/159/158 213/212/209 -f 188/186/184 164/161/160 214/213/210 -f 127/162/161 215/217/214 212/214/211 -f 162/159/158 161/158/157 216/215/212 -f 164/161/160 163/160/159 217/216/213 -f 165/165/164 218/220/217 215/217/214 -f 161/158/157 166/163/162 219/218/215 -f 163/160/159 167/164/163 220/219/216 -f 157/157/156 160/156/155 218/220/217 -f 166/163/162 168/166/165 194/192/190 -f 167/164/163 169/167/166 210/209/206 -f 221/221/218 222/229/226 223/222/219 -f 198/197/195 225/226/223 226/224/221 -f 199/199/197 227/227/224 191/225/222 -f 200/200/198 228/228/225 225/226/223 -f 201/198/196 221/221/218 227/227/224 -f 202/203/200 229/231/227 228/228/225 -f 201/198/196 203/201/199 222/229/226 -f 204/230/202 230/258/229 229/231/227 -f 203/201/199 205/204/201 231/232/228 -f 206/207/204 232/235/231 230/233/229 -f 205/204/201 207/206/203 233/234/230 -f 208/211/208 234/239/235 232/235/231 -f 210/209/206 209/208/205 235/236/232 -f 207/206/203 211/210/207 237/238/234 -f 212/214/211 238/242/238 234/239/235 -f 209/208/205 213/212/209 239/240/236 -f 211/210/207 214/213/210 240/241/237 -f 215/217/214 241/245/241 238/242/238 -f 213/212/209 216/215/212 242/243/239 -f 214/213/210 217/216/213 243/244/240 -f 218/220/217 244/248/244 241/245/241 -f 216/215/212 219/218/215 245/246/242 -f 217/216/213 220/219/216 246/247/243 -f 160/156/155 247/250/246 244/248/244 -f 219/218/215 194/192/190 248/249/245 -f 220/219/216 210/209/206 236/237/233 -f 159/193/191 249/252/248 247/250/246 -f 194/192/190 193/191/189 250/251/247 -f 195/195/193 251/254/250 249/252/248 -f 193/191/189 196/194/192 252/253/249 -f 189/190/188 192/189/187 251/254/250 -f 196/194/192 197/196/194 226/224/221 -f 253/255/251 254/282/277 255/256/252 -f 230/258/229 257/297/256 258/259/254 -f 222/229/226 231/232/228 259/260/255 -f 232/235/231 260/263/258 257/261/256 -f 231/232/228 233/234/230 261/262/257 -f 234/239/235 262/267/262 260/263/258 -f 236/237/233 235/236/232 263/264/259 -f 233/234/230 237/238/234 265/266/261 -f 238/242/238 266/270/265 262/267/262 -f 235/236/232 239/240/236 267/268/263 -f 237/238/234 240/241/237 268/269/264 -f 241/245/241 269/273/268 266/270/265 -f 239/240/236 242/243/239 270/271/266 -f 240/241/237 243/244/240 271/272/267 -f 244/248/244 272/276/271 269/273/268 -f 242/243/239 245/246/242 273/274/269 -f 243/244/240 246/247/243 274/275/270 -f 247/250/246 275/278/273 272/276/271 -f 245/246/242 248/249/245 276/277/272 -f 246/247/243 236/237/233 264/265/260 -f 249/252/248 277/280/275 275/278/273 -f 248/249/245 250/251/247 278/279/274 -f 251/254/250 279/281/276 277/280/275 -f 250/251/247 252/253/249 253/255/251 -f 192/189/187 280/283/278 279/281/276 -f 252/253/249 226/224/221 254/282/277 -f 191/225/222 281/284/279 280/283/278 -f 225/226/223 282/285/280 254/282/277 -f 227/227/224 283/286/281 281/284/279 -f 228/228/225 284/287/282 282/285/280 -f 221/221/218 224/223/220 283/286/281 -f 229/231/227 258/259/254 284/287/282 -f 286/288/283 287/326/319 288/289/284 -f 281/284/279 289/292/287 290/291/286 -f 282/285/280 291/293/288 255/256/252 -f 283/286/281 292/294/289 289/292/287 -f 284/287/282 285/290/285 291/293/288 -f 224/223/220 293/296/291 292/294/289 -f 258/259/254 286/288/283 285/290/285 -f 224/223/220 223/222/219 294/295/290 -f 257/297/256 295/325/293 286/288/283 -f 223/222/219 259/260/255 296/298/292 -f 260/263/258 297/301/295 295/299/293 -f 259/260/255 261/262/257 298/300/294 -f 262/267/262 299/305/299 297/301/295 -f 264/265/260 263/264/259 300/302/296 -f 261/262/257 265/266/261 302/304/298 -f 266/270/265 303/308/302 299/305/299 -f 263/264/259 267/268/263 304/306/300 -f 265/266/261 268/269/264 305/307/301 -f 269/273/268 306/311/305 303/308/302 -f 267/268/263 270/271/266 307/309/303 -f 268/269/264 271/272/267 308/310/304 -f 272/276/271 309/314/308 306/311/305 -f 270/271/266 273/274/269 310/312/306 -f 271/272/267 274/275/270 311/313/307 -f 275/278/273 312/316/310 309/314/308 -f 273/274/269 276/277/272 313/315/309 -f 274/275/270 264/265/260 301/303/297 -f 277/280/275 314/318/312 312/316/310 -f 276/277/272 278/279/274 315/317/311 -f 279/281/276 316/319/313 314/318/312 -f 278/279/274 253/255/251 256/257/253 -f 280/283/278 290/291/286 316/319/313 -f 318/320/314 319/360/353 320/321/315 -f 293/296/291 294/295/290 321/323/317 -f 295/325/293 323/382/321 287/326/319 -f 294/295/290 296/298/292 324/327/320 -f 297/301/295 317/322/316 323/328/321 -f 296/298/292 298/300/294 325/329/322 -f 299/305/299 318/320/314 317/322/316 -f 301/303/297 300/302/296 326/330/323 -f 298/300/294 302/304/298 328/332/325 -f 303/308/302 329/335/328 318/320/314 -f 300/302/296 304/306/300 330/333/326 -f 302/304/298 305/307/301 331/334/327 -f 306/311/305 332/338/331 329/335/328 -f 304/306/300 307/309/303 333/336/329 -f 305/307/301 308/310/304 334/337/330 -f 309/314/308 335/341/334 332/338/331 -f 307/309/303 310/312/306 336/339/332 -f 308/310/304 311/313/307 337/340/333 -f 312/316/310 338/343/336 335/341/334 -f 310/312/306 313/315/309 339/342/335 -f 311/313/307 301/303/297 327/331/324 -f 314/318/312 340/345/338 338/343/336 -f 313/315/309 315/317/311 341/344/337 -f 316/319/313 342/347/340 340/345/338 -f 315/317/311 256/257/253 343/346/339 -f 290/291/286 344/349/342 342/347/340 -f 256/257/253 255/256/252 345/348/341 -f 289/292/287 346/350/343 344/349/342 -f 291/293/288 347/351/344 345/348/341 -f 292/294/289 348/352/345 346/350/343 -f 285/290/285 288/289/284 347/351/344 -f 293/296/291 322/324/318 348/352/345 -f 350/353/346 351/393/385 352/354/347 -f 327/331/324 326/330/323 353/356/349 -f 325/329/322 328/332/325 355/358/351 -f 329/335/328 357/363/356 319/360/353 -f 326/330/323 330/333/326 358/361/354 -f 328/332/325 331/334/327 359/362/355 -f 332/338/331 349/355/348 357/363/356 -f 330/333/326 333/336/329 360/364/357 -f 331/334/327 334/337/330 361/365/358 -f 335/341/334 350/353/346 349/355/348 -f 333/336/329 336/339/332 362/366/359 -f 334/337/330 337/340/333 363/367/360 -f 338/343/336 364/369/362 350/353/346 -f 336/339/332 339/342/335 365/368/361 -f 337/340/333 327/331/324 354/357/350 -f 340/345/338 366/371/364 364/369/362 -f 339/342/335 341/344/337 367/370/363 -f 342/347/340 368/373/366 366/371/364 -f 341/344/337 343/346/339 369/372/365 -f 344/349/342 370/375/368 368/373/366 -f 343/346/339 345/348/341 371/374/367 -f 346/350/343 372/376/369 370/375/368 -f 347/351/344 373/377/370 371/374/367 -f 348/352/345 374/378/371 372/376/369 -f 288/289/284 375/379/372 373/377/370 -f 322/324/318 376/381/374 374/378/371 -f 287/326/319 377/383/375 375/379/372 -f 322/324/318 321/323/317 378/380/373 -f 323/382/321 379/407/377 377/383/375 -f 321/323/317 324/327/320 380/384/376 -f 317/322/316 320/321/315 379/385/377 -f 324/327/320 325/329/322 356/359/352 -f 382/386/378 383/424/415 384/387/379 -f 360/364/357 362/366/359 385/389/381 -f 361/365/358 363/367/360 387/391/383 -f 364/369/362 389/396/388 351/393/385 -f 362/366/359 365/368/361 390/394/386 -f 363/367/360 354/357/350 391/395/387 -f 366/371/364 381/388/380 389/396/388 -f 365/368/361 367/370/363 392/397/389 -f 368/373/366 382/386/378 381/388/380 -f 367/370/363 369/372/365 393/398/390 -f 370/375/368 394/400/392 382/386/378 -f 369/372/365 371/374/367 395/399/391 -f 372/376/369 396/401/393 394/400/392 -f 373/377/370 397/402/394 395/399/391 -f 374/378/371 398/403/395 396/401/393 -f 375/379/372 399/404/396 397/402/394 -f 376/381/374 400/406/398 398/403/395 -f 377/383/375 401/408/399 399/404/396 -f 376/381/374 378/380/373 402/405/397 -f 379/407/377 403/431/401 401/408/399 -f 378/380/373 380/384/376 404/409/400 -f 320/321/315 405/412/403 403/410/401 -f 380/384/376 356/359/352 406/411/402 -f 319/360/353 407/415/406 405/412/403 -f 354/357/350 353/356/349 408/413/404 -f 356/359/352 355/358/351 409/414/405 -f 357/363/356 410/418/409 407/415/406 -f 353/356/349 358/361/354 411/416/407 -f 355/358/351 359/362/355 412/417/408 -f 349/355/348 352/354/347 410/418/409 -f 358/361/354 360/364/357 386/390/382 -f 359/362/355 361/365/358 388/392/384 -f 414/419/410 415/453/443 416/420/411 -f 392/397/389 393/398/390 417/422/413 -f 394/400/392 419/426/417 383/424/415 -f 393/398/390 395/399/391 420/425/416 -f 396/401/393 413/421/412 419/426/417 -f 397/402/394 421/427/418 420/425/416 -f 398/403/395 414/419/410 413/421/412 -f 399/404/396 422/428/419 421/427/418 -f 400/406/398 423/430/421 414/419/410 -f 401/408/399 424/432/422 422/428/419 -f 400/406/398 402/405/397 425/429/420 -f 403/431/401 426/457/424 424/432/422 -f 402/405/397 404/409/400 427/433/423 -f 405/412/403 428/436/426 426/434/424 -f 404/409/400 406/411/402 429/435/425 -f 407/415/406 430/440/430 428/436/426 -f 391/395/387 408/413/404 431/437/427 -f 406/411/402 409/414/405 433/439/429 -f 410/418/409 434/443/433 430/440/430 -f 408/413/404 411/416/407 435/441/431 -f 409/414/405 412/417/408 436/442/432 -f 352/354/347 437/446/436 434/443/433 -f 411/416/407 386/390/382 438/444/434 -f 412/417/408 388/392/384 439/445/435 -f 351/393/385 440/449/439 437/446/436 -f 386/390/382 385/389/381 441/447/437 -f 388/392/384 387/391/383 442/448/438 -f 389/396/388 443/451/441 440/449/439 -f 385/389/381 390/394/386 444/450/440 -f 387/391/383 391/395/387 432/438/428 -f 381/388/380 384/387/379 443/451/441 -f 390/394/386 392/397/389 418/423/414 -f 422/428/419 445/454/444 446/452/442 -f 423/430/421 447/456/446 415/453/443 -f 424/432/422 448/458/447 445/454/444 -f 423/430/421 425/429/420 449/455/445 -f 426/457/424 450/1906/449 448/458/447 -f 425/429/420 427/433/423 451/459/448 -f 428/436/426 452/462/451 450/460/449 -f 427/433/423 429/435/425 453/461/450 -f 430/440/430 454/466/455 452/462/451 -f 432/438/428 431/437/427 455/463/452 -f 429/435/425 433/439/429 457/465/454 -f 434/443/433 458/469/458 454/466/455 -f 431/437/427 435/441/431 459/467/456 -f 433/439/429 436/442/432 460/468/457 -f 437/446/436 461/472/461 458/469/458 -f 435/441/431 438/444/434 462/470/459 -f 436/442/432 439/445/435 463/471/460 -f 440/449/439 464/475/464 461/472/461 -f 438/444/434 441/447/437 465/473/462 -f 439/445/435 442/448/438 466/474/463 -f 443/451/441 467/477/466 464/475/464 -f 441/447/437 444/450/440 468/476/465 -f 442/448/438 432/438/428 456/464/453 -f 384/387/379 469/479/468 467/477/466 -f 444/450/440 418/423/414 470/478/467 -f 383/424/415 471/481/470 469/479/468 -f 418/423/414 417/422/413 472/480/469 -f 419/426/417 473/483/472 471/481/470 -f 417/422/413 420/425/416 474/482/471 -f 413/421/412 416/420/411 473/483/472 -f 421/427/418 446/452/442 474/482/471 -f 466/1907/1485 456/1908/1486 461/1909/1486 -f 456/1908/1486 455/1910/473 458/1911/473 -f 455/1910/473 459/1912/473 458/1911/473 -f 459/1912/473 462/486/473 452/485/473 -f 458/1911/473 459/1912/473 454/1913/473 -f 462/486/473 465/1914/473 472/1915/473 -f 465/1914/473 468/1916/1487 470/1917/473 -f 472/1915/473 465/1914/473 470/1917/473 -f 472/1915/473 474/1918/473 462/486/473 -f 474/1918/473 446/484/473 462/486/473 -f 446/484/473 445/1919/473 452/485/473 -f 445/1919/473 448/1920/1488 450/1921/1489 -f 452/485/473 445/1919/473 450/1921/1489 -f 452/485/473 454/1913/473 459/1912/473 -f 458/1911/473 461/1909/1486 456/1908/1486 -f 461/1909/1486 464/1922/1490 466/1907/1485 -f 464/1922/1490 467/1923/1491 415/1924/1492 -f 467/1923/1491 469/1925/1493 416/1926/1494 -f 415/1924/1492 467/1923/1491 416/1926/1494 -f 469/1925/1493 471/1927/1495 473/1928/1496 -f 473/1928/1496 416/1926/1494 469/1925/1493 -f 415/1924/1492 447/1929/1497 464/1922/1490 -f 447/1929/1497 449/1930/1498 463/1931/1499 -f 466/1907/1485 447/1929/1497 463/1931/1499 -f 449/1930/1498 451/1932/1500 460/1933/1501 -f 451/1932/1500 453/1934/1502 457/1935/1503 -f 460/1933/1501 451/1932/1500 457/1935/1503 -f 460/1933/1501 463/1931/1499 449/1930/1498 -f 447/1929/1497 466/1907/1485 464/1922/1490 -f 476/487/474 477/1936/474 478/488/474 -f 479/492/476 480/1937/476 478/490/476 -f 480/1937/476 481/1938/1504 475/1939/1505 -f 478/490/476 480/1937/476 475/1939/1505 -f 481/1938/1504 482/1940/1506 475/1939/1505 -f 478/490/476 45/1941/476 29/491/476 -f 479/493/477 483/1942/477 484/494/477 -f 483/497/478 485/1943/1507 486/1944/1508 -f 477/498/478 476/1945/478 484/496/478 -f 476/1945/478 487/1946/478 488/1947/478 -f 483/497/478 486/1944/1508 477/498/478 -f 488/1947/478 484/496/478 476/1945/478 -f 489/499/479 490/1948/479 488/500/479 -f 491/502/480 494/1949/480 493/503/480 -f 479/511/477 29/1950/482 485/512/482 -f 477/514/474 486/1951/481 45/515/481 -f 498/517/480 499/1952/480 500/518/480 -f 504/520/483 500/1953/481 499/1954/1509 -f 499/1954/1509 501/521/484 504/520/483 -f 501/521/484 502/1955/1510 503/522/485 -f 508/525/479 503/1956/479 506/523/479 -f 503/1956/479 502/1957/479 505/536/479 -f 505/536/479 506/523/479 503/1956/479 -f 510/528/487 508/1958/1511 509/1959/1512 -f 508/1958/1511 507/1960/1513 509/1959/1512 -f 509/1959/1512 498/526/486 510/528/487 -f 497/519/489 500/518/1514 504/530/490 -f 504/530/490 503/1956/478 508/525/478 -f 508/525/478 510/529/488 504/530/490 -f 505/1961/476 502/1962/1515 516/1963/476 -f 502/1962/1515 501/532/492 514/1964/1516 -f 516/1963/476 502/1962/1515 515/1965/476 -f 501/532/492 499/1966/1517 509/533/493 -f 499/1966/1517 498/1967/1517 509/533/493 -f 509/533/493 507/1968/1518 513/531/491 -f 507/1968/1518 506/1969/476 511/1970/476 -f 514/1964/1516 515/1965/476 502/1962/1515 -f 511/1970/476 512/1971/476 507/1968/1518 -f 512/1971/476 513/531/491 507/1968/1518 -f 513/531/491 514/1964/1516 501/532/492 -f 516/534/482 517/547/482 518/535/482 -f 524/539/476 518/535/476 519/537/476 -f 518/535/476 517/547/476 519/537/476 -f 519/537/476 520/548/476 521/543/476 -f 522/538/476 523/545/476 524/539/476 -f 519/537/476 521/543/476 522/538/476 -f 514/540/482 520/548/482 519/537/482 -f 512/542/481 522/538/481 521/543/481 -f 506/523/481 524/539/481 523/545/481 -f 515/541/494 519/537/494 517/547/494 -f 513/544/479 521/543/479 520/548/479 -f 511/546/495 523/545/495 522/538/495 -f 505/536/480 518/535/480 524/539/480 -f 499/549/496 526/1972/498 525/550/497 -f 526/552/498 528/1973/499 527/553/499 -f 526/555/500 499/1974/481 500/556/501 -f 497/558/503 498/1975/482 525/559/504 -f 534/563/508 529/1976/1519 532/561/506 -f 529/1976/1519 530/1977/1520 531/1978/1521 -f 532/561/506 529/1976/1519 531/1978/1521 -f 533/564/509 489/1979/1522 482/565/510 -f 481/567/512 490/1980/1523 530/568/513 -f 490/572/517 489/1981/1524 532/1982/1525 -f 489/1981/1524 533/1983/1526 532/1982/1525 -f 490/572/517 532/1982/1525 531/570/515 -f 538/573/518 537/1984/1527 536/574/519 -f 493/576/520 494/1985/520 540/577/521 -f 541/580/481 533/1986/481 534/581/481 -f 534/581/481 539/1987/522 540/1988/521 -f 540/1988/521 542/579/481 534/581/481 -f 537/1989/1527 529/584/482 536/583/519 -f 529/584/482 530/1990/482 544/1991/482 -f 543/582/482 529/584/482 544/1991/482 -f 546/585/523 545/591/529 531/586/524 -f 547/588/526 550/620/555 549/589/527 -f 545/591/529 551/599/537 543/592/530 -f 531/586/524 545/591/529 544/593/531 -f 542/595/533 552/598/536 546/585/523 -f 541/596/534 546/585/523 532/587/525 -f 545/591/529 546/585/523 552/598/536 -f 556/600/538 555/603/541 554/601/539 -f 555/603/541 558/605/543 557/604/542 -f 558/605/543 560/615/550 559/606/544 -f 535/608/480 561/1992/480 564/609/480 -f 564/609/480 563/1993/480 538/607/480 -f 563/1993/480 562/1994/480 538/607/480 -f 552/598/536 566/611/546 565/610/545 -f 542/595/533 540/1995/1528 566/611/546 -f 561/1996/1529 567/616/551 564/614/549 -f 567/616/551 569/1997/1530 568/612/547 -f 564/614/549 567/616/551 568/612/547 -f 565/610/545 536/1998/1531 543/592/530 -f 560/615/550 569/1997/1530 567/616/551 -f 548/590/528 549/589/527 571/617/552 -f 491/619/554 492/1999/1532 550/620/555 -f 570/618/553 571/617/552 573/621/556 -f 572/622/557 573/621/556 575/623/558 -f 574/624/559 575/623/558 577/625/560 -f 576/626/561 577/625/560 579/627/480 -f 579/627/480 581/630/563 580/629/562 -f 581/630/563 556/600/538 553/602/540 -f 582/631/564 583/655/587 584/632/565 -f 587/634/567 588/656/588 589/635/568 -f 582/631/564 585/633/566 591/637/570 -f 586/636/569 589/635/568 593/639/572 -f 595/642/575 592/640/573 593/639/572 -f 597/644/478 595/642/575 596/643/576 -f 597/644/478 598/645/577 600/646/578 -f 599/647/579 600/646/578 605/651/583 -f 601/648/580 603/650/582 607/653/585 -f 583/655/587 604/652/584 605/651/583 -f 587/634/567 606/654/586 607/653/585 -f 605/651/583 608/670/599 609/657/589 -f 593/639/572 589/635/568 610/659/590 -f 596/643/576 593/639/572 611/660/591 -f 594/661/574 612/663/592 615/665/594 -f 598/645/577 596/643/576 613/664/593 -f 598/645/577 616/667/596 617/668/597 -f 600/646/578 617/668/597 608/670/599 -f 616/667/596 613/664/593 619/671/600 -f 616/667/596 620/672/601 621/673/602 -f 617/668/597 621/673/602 622/674/603 -f 608/670/599 622/674/603 624/678/605 -f 611/660/591 610/659/590 625/681/606 -f 613/664/593 611/660/591 626/682/607 -f 623/677/604 627/696/617 628/683/608 -f 624/678/605 629/697/618 630/684/609 -f 625/681/606 588/680/588 628/683/608 -f 585/685/566 630/684/609 632/687/611 -f 626/682/607 625/681/606 631/686/610 -f 619/671/600 626/682/607 633/689/612 -f 620/672/601 619/671/600 634/691/613 -f 620/672/601 635/692/614 636/693/615 -f 621/673/602 636/693/615 637/694/616 -f 622/674/603 637/694/616 629/697/618 -f 635/692/614 634/691/613 638/698/619 -f 635/692/614 639/699/620 640/700/621 -f 637/694/616 636/693/615 640/700/621 -f 631/686/610 628/683/608 643/705/625 -f 633/689/612 631/686/610 644/706/626 -f 633/689/612 646/709/628 638/698/619 -f 629/711/618 647/723/635 648/712/629 -f 639/699/620 638/698/619 650/717/631 -f 639/699/620 651/719/632 652/720/633 -f 651/719/636 654/735/636 655/724/637 -f 652/720/633 655/724/637 656/725/638 -f 643/729/625 627/726/617 657/728/639 -f 644/731/626 643/729/625 658/730/640 -f 646/716/628 644/731/626 659/732/641 -f 650/717/631 646/716/628 660/733/642 -f 651/719/636 650/717/631 661/734/643 -f 618/701/645 663/765/674 664/740/646 -f 656/742/648 655/767/676 665/743/649 -f 653/741/647 664/740/646 667/745/651 -f 656/742/648 666/744/650 668/747/653 -f 658/749/655 657/746/652 667/745/651 -f 647/748/654 668/747/653 670/751/657 -f 659/752/659 658/749/655 669/750/656 -f 662/738/661 648/737/658 670/751/657 -f 660/755/663 659/752/659 671/753/660 -f 662/738/661 672/754/662 674/757/665 -f 660/755/663 673/756/664 675/759/667 -f 615/718/669 649/758/666 674/757/665 -f 661/760/668 675/759/667 677/762/671 -f 655/767/676 654/763/672 677/762/671 -f 675/759/667 678/769/677 679/770/678 -f 665/743/649 677/762/671 679/770/678 -f 668/775/681 666/772/650 681/774/680 -f 670/780/657 668/775/681 682/776/682 -f 669/777/656 683/779/683 685/782/685 -f 671/783/686 685/782/685 686/785/687 -f 686/785/687 689/804/697 690/791/690 -f 664/794/646 692/795/692 693/796/693 -f 682/797/682 694/799/694 695/800/695 -f 693/796/693 696/806/698 698/810/700 -f 685/812/685 683/2000/701 698/813/700 -f 699/817/702 695/816/695 701/835/706 -f 696/844/698 705/846/711 706/847/712 -f 702/855/707 701/2001/706 707/856/713 -f 706/861/712 705/858/711 708/860/714 -f 709/903/715 708/897/714 723/899/729 -f 710/905/716 694/900/694 724/902/730 -f 709/907/715 725/2002/731 720/891/726 -f 717/908/723 715/925/721 726/909/732 -f 717/908/723 727/910/733 728/911/734 -f 724/912/735 728/911/734 730/915/737 -f 720/916/726 725/904/731 729/914/736 -f 719/889/738 730/915/737 732/918/740 -f 721/919/727 720/916/726 731/917/739 -f 721/919/727 733/920/741 734/921/742 -f 718/923/724 713/922/719 734/921/742 -f 718/923/724 735/924/743 726/909/732 -f 735/924/745 734/921/742 736/927/744 -f 735/924/745 737/928/746 738/929/747 -f 727/930/733 738/929/747 739/931/748 -f 723/933/729 716/955/722 741/934/750 -f 727/930/733 740/932/749 743/936/752 -f 729/938/736 723/933/729 742/935/751 -f 730/940/737 728/937/734 743/936/752 -f 729/938/736 744/939/753 746/942/755 -f 732/944/740 730/940/737 745/941/754 -f 733/926/741 731/943/739 746/942/755 -f 732/944/740 747/945/756 749/947/758 -f 733/926/741 748/946/757 750/949/759 -f 722/948/728 749/947/758 751/950/760 -f 736/927/744 750/949/759 752/951/761 -f 738/929/747 737/928/746 752/951/761 -f 716/955/722 663/765/674 753/953/763 -f 743/956/764 740/977/784 754/957/765 -f 742/959/767 756/979/786 757/960/768 -f 745/962/770 743/956/764 755/958/766 -f 744/961/769 757/960/768 759/964/772 -f 747/966/774 745/962/770 758/963/771 -f 746/965/773 759/964/772 761/968/776 -f 748/969/777 761/968/776 762/971/779 -f 750/972/780 762/971/779 763/973/781 -f 739/975/782 752/974/781 763/973/781 -f 740/977/784 739/975/782 764/976/783 -f 762/971/779 766/989/794 767/983/789 -f 764/976/783 763/973/790 767/983/789 -f 756/990/786 770/1006/806 771/991/795 -f 758/993/771 755/1007/807 772/994/796 -f 757/992/768 771/991/795 774/996/798 -f 760/987/775 758/993/771 773/995/797 -f 759/997/799 774/996/798 776/999/801 -f 766/989/794 761/988/776 776/999/801 -f 766/989/794 777/1000/802 778/1001/803 -f 768/984/791 767/983/789 778/1001/803 -f 768/984/791 779/1002/804 780/1003/805 -f 755/1007/807 754/1004/765 780/1003/805 -f 777/1000/802 781/1015/814 782/1008/808 -f 779/1002/804 778/1001/803 782/1008/808 -f 780/1003/805 779/1002/804 783/1009/809 -f 772/994/796 780/1003/805 784/1010/810 -f 774/996/798 786/1013/812 787/1014/813 -f 776/999/801 787/1014/813 781/1015/814 -f 773/1016/797 785/1011/811 788/1017/815 -f 771/1012/795 790/1034/824 791/1019/817 -f 786/1013/812 791/1019/817 792/1021/818 -f 787/1014/813 792/1021/818 794/1025/820 -f 781/1015/814 794/1025/820 795/1026/821 -f 783/1009/809 782/1008/808 795/1026/821 -f 784/1010/810 783/1009/809 796/1027/822 -f 769/1028/793 601/1030/580 606/1032/586 -f 785/1011/811 784/1010/810 797/1031/823 -f 770/1033/806 606/1032/586 790/1034/824 -f 796/1027/822 795/1026/821 798/1035/825 -f 797/1031/823 796/1027/822 799/1036/826 -f 788/1017/815 797/1031/823 800/1038/827 -f 791/1019/817 802/1041/829 803/1044/830 -f 792/1021/818 803/1044/830 804/1045/831 -f 794/1025/820 804/1045/831 798/1035/825 -f 802/1041/829 790/1040/824 587/634/567 -f 803/1044/830 802/1041/829 586/636/569 -f 803/1044/830 592/640/573 595/642/575 -f 804/1045/831 595/642/575 597/644/478 -f 799/1036/826 798/1035/825 597/644/478 -f 800/1038/827 799/1036/826 599/647/579 -f 800/1038/827 604/652/584 583/655/587 -f 801/1039/828 583/655/587 582/631/564 -f 806/1049/832 807/2003/844 808/1050/833 -f 809/1052/835 810/2004/835 811/1053/835 -f 806/1057/838 813/2005/1533 815/2006/1534 -f 813/2005/1533 814/2007/482 815/2006/1534 -f 815/2006/1534 812/1055/836 806/1057/838 -f 812/1055/836 811/2008/1535 807/1056/837 -f 815/1058/839 816/2009/1536 809/1052/840 -f 817/1059/842 818/2010/842 814/1060/842 -f 811/1062/843 810/2011/1537 808/1063/833 -f 814/1065/480 818/2012/480 816/1066/480 -f 813/1068/845 806/2013/1538 805/1069/846 -f 810/2014/1539 809/2015/1540 808/2016/1541 -f 809/2015/1540 816/1071/848 805/1073/850 -f 816/1071/848 818/2017/481 817/1072/849 -f 805/1073/850 808/2016/1541 809/2015/1540 -f 820/1074/851 821/1090/1542 822/1075/852 -f 821/2018/481 823/2019/481 824/2020/481 -f 821/2018/481 824/2020/481 825/2021/481 -f 837/2022/481 838/1079/481 831/2023/481 -f 838/1079/481 822/2024/481 828/2025/481 -f 829/1077/481 838/1079/481 828/2025/481 -f 835/2026/481 836/2027/481 831/2023/481 -f 836/2027/481 837/2022/481 831/2023/481 -f 833/2028/481 834/2029/481 832/2030/481 -f 834/2029/481 835/2026/481 832/2030/481 -f 822/2024/481 821/2018/481 826/2031/481 -f 821/2018/481 825/2021/481 826/2031/481 -f 832/2030/481 835/2026/481 831/2023/481 -f 822/2024/481 826/2031/481 827/2032/481 -f 822/2024/481 827/2032/481 828/2025/481 -f 830/1078/481 831/2023/481 838/1079/481 -f 835/1080/853 839/2033/885 840/1081/854 -f 838/1083/478 841/2034/478 819/1084/478 -f 833/1086/856 842/1113/856 843/1087/856 -f 844/1089/857 823/1895/1543 821/1090/858 -f 845/1091/860 846/2035/871 829/1092/861 -f 847/1094/863 845/2036/860 828/1095/862 -f 825/1098/866 848/2037/1544 849/1099/867 -f 849/1099/867 847/2038/1545 827/2039/1546 -f 827/2039/1546 826/1097/865 849/1099/867 -f 851/1100/868 832/1112/1547 831/1101/869 -f 846/1103/871 852/2040/874 830/1104/872 -f 850/1106/873 831/2041/1548 830/1107/872 -f 824/1109/875 853/1894/1475 848/1110/876 -f 832/1112/878 851/1100/1549 842/1113/879 -f 836/1114/855 840/2042/854 854/1115/881 -f 838/1117/883 837/1116/882 854/1115/881 -f 839/1119/885 835/2043/853 834/1120/479 -f 856/1122/886 857/1126/1550 858/1123/887 -f 859/1125/889 860/1128/893 857/1126/890 -f 861/1127/892 862/1131/892 860/1128/893 -f 863/1132/897 865/2044/1551 866/1133/898 -f 867/1135/900 866/2045/1552 865/1136/900 -f 869/1138/901 867/2046/1553 868/1139/902 -f 864/2047/482 866/2048/482 862/2049/482 -f 866/2048/482 867/2050/482 862/2049/482 -f 857/1143/482 860/2051/482 869/1141/482 -f 860/2051/482 862/2049/482 867/2050/482 -f 873/2052/482 858/2053/482 872/2054/482 -f 858/2053/482 857/1143/482 871/1142/482 -f 871/1142/482 872/2054/482 858/2053/482 -f 860/2051/482 867/2050/482 869/1141/482 -f 871/1144/904 869/2055/901 870/1145/903 -f 876/2056/481 875/2057/481 855/2058/481 -f 875/2057/481 874/2059/481 855/2058/481 -f 859/1149/481 856/2060/481 870/1147/481 -f 856/2060/481 855/2058/481 874/2059/481 -f 870/1147/481 856/2060/481 874/2059/481 -f 863/2061/481 861/2062/481 865/2063/481 -f 861/2062/481 859/1149/481 868/1148/481 -f 868/1148/481 865/2063/481 861/2062/481 -f 855/1124/888 858/1123/887 873/1150/906 -f 876/1151/908 873/1150/1554 872/1152/909 -f 872/1154/911 871/2064/904 874/1155/905 -f 878/1157/480 879/1191/480 880/1158/480 -f 878/1160/914 882/2065/1555 883/1161/915 -f 882/1163/917 884/1172/1556 885/1164/918 -f 885/1166/920 884/2066/1557 877/1167/921 -f 881/1169/923 883/2067/1558 885/1170/924 -f 878/1157/926 877/1159/926 884/1172/926 -f 879/1173/481 887/2068/481 888/1174/481 -f 881/1176/480 886/2069/480 890/1177/480 -f 881/1179/480 887/2070/480 879/1180/480 -f 877/1182/480 880/2071/480 890/1183/480 -f 892/1185/480 889/2072/480 888/1186/480 -f 880/1188/482 892/2073/482 891/1189/482 -f 879/1191/927 889/2074/927 892/1192/927 -f 890/1193/928 891/2075/928 888/1194/928 -f 888/1186/929 891/1187/929 894/1196/930 -f 894/1196/930 896/2076/932 895/1198/932 -f 894/1199/933 891/2077/1559 892/1200/934 -f 889/1202/936 888/2078/1560 893/1203/937 -f 898/1205/480 899/2079/480 900/1206/480 -f 903/2080/481 900/2081/481 902/1210/481 -f 900/2081/481 899/1208/481 902/1210/481 -f 905/1211/939 906/2082/939 907/1212/939 -f 897/1216/482 908/2083/482 907/1214/482 -f 907/1214/482 906/2084/482 898/1215/482 -f 897/1219/478 900/2085/478 909/1217/478 -f 900/2085/478 903/2086/478 909/1217/478 -f 904/1213/939 907/1212/939 908/1220/939 -f 902/1222/940 904/1213/940 909/1221/940 -f 901/1224/940 905/1211/940 904/1213/940 -f 897/1225/941 910/2087/1561 911/1226/942 -f 899/1231/945 912/2088/1562 913/1232/946 -f 915/1237/949 916/1243/955 917/1238/950 -f 918/1240/952 919/1265/976 920/1241/953 -f 916/1243/955 922/1247/959 923/1244/956 -f 921/1242/954 920/1241/953 924/1245/957 -f 922/1247/959 926/1251/963 927/1248/960 -f 925/1246/958 924/1245/957 928/1249/961 -f 926/1251/963 930/1255/967 931/1252/964 -f 929/1250/962 928/1249/961 932/1253/965 -f 930/1255/967 934/1259/970 935/1256/968 -f 933/1254/966 932/1253/965 936/1257/969 -f 934/1259/970 938/2089/1563 939/1260/971 -f 936/1257/969 940/1264/975 941/1261/972 -f 939/1260/971 938/2089/1563 942/1262/973 -f 940/1264/975 915/2090/949 914/1239/951 -f 943/1263/974 942/1262/973 919/1265/976 -f 944/1266/977 945/1270/981 946/1267/978 -f 948/1269/980 949/1272/983 946/1267/978 -f 950/1271/982 951/1277/988 949/1272/983 -f 952/1273/984 953/1278/989 954/1274/985 -f 956/1276/987 957/1281/992 951/1277/988 -f 953/1278/989 958/1282/993 959/1279/990 -f 960/1280/991 961/1285/996 957/1281/992 -f 958/1282/993 962/1286/997 963/1283/994 -f 964/1284/995 965/1289/1000 961/1285/996 -f 962/1286/997 966/1290/1001 967/1287/998 -f 968/1288/999 969/1293/1003 965/1289/1000 -f 966/1290/1001 944/2091/977 947/1291/979 -f 970/1292/1002 971/1294/1004 969/1293/1003 -f 971/1294/1004 972/1299/1009 973/1295/1005 -f 947/1268/979 946/1267/978 974/1296/1006 -f 976/1298/1008 977/1301/1011 972/1299/1009 -f 949/1272/983 978/1302/1012 974/1296/1006 -f 976/1298/1008 955/1275/986 979/1300/1010 -f 951/1277/988 980/1304/1014 978/1302/1012 -f 955/1275/986 954/1274/985 981/1303/1013 -f 957/1281/992 982/1306/1016 980/1304/1014 -f 954/1274/985 959/1279/990 983/1305/1015 -f 961/1285/996 984/1308/1018 982/1306/1016 -f 959/1279/990 963/1283/994 985/1307/1017 -f 965/1289/1000 986/1310/1020 984/1308/1018 -f 963/1283/994 967/1287/998 987/1309/1019 -f 969/1293/1003 973/1295/1005 986/1310/1020 -f 967/1287/998 947/1291/979 975/1311/1007 -f 987/1309/1019 975/1311/1007 988/1312/1021 -f 972/1299/1009 990/1318/1026 991/1314/1023 -f 975/1297/1007 974/1296/1006 992/1315/1024 -f 972/1299/1009 977/1301/1011 993/1317/1025 -f 978/1302/1012 994/1320/1028 992/1315/1024 -f 977/1301/1011 979/1300/1010 995/1319/1027 -f 980/1304/1014 996/1322/1030 994/1320/1028 -f 979/1300/1010 981/1303/1013 997/1321/1029 -f 982/1306/1016 998/1324/1032 996/1322/1030 -f 981/1303/1013 983/1305/1015 999/1323/1031 -f 984/1308/1018 1000/1326/1034 998/1324/1032 -f 983/1305/1015 985/1307/1017 1001/1325/1033 -f 986/1310/1020 1002/1327/1035 1000/1326/1034 -f 985/1307/1017 987/1309/1019 989/1313/1022 -f 973/1295/1005 991/1314/1023 1002/1327/1035 -f 989/1313/1022 988/1312/1021 1003/1328/1036 -f 990/1318/1026 1005/1333/1040 1006/1330/1038 -f 988/1316/1021 992/1315/1024 1007/1331/1039 -f 993/1317/1025 1008/1335/1042 1005/1333/1040 -f 994/1320/1028 1009/1336/1043 1007/1331/1039 -f 993/1317/1025 995/1319/1027 1010/1334/1041 -f 996/1322/1030 1011/1338/1045 1009/1336/1043 -f 995/1319/1027 997/1321/1029 1012/1337/1044 -f 998/1324/1032 1013/1340/1047 1011/1338/1045 -f 997/1321/1029 999/1323/1031 1014/1339/1046 -f 1000/1326/1034 1015/1342/1049 1013/1340/1047 -f 999/1323/1031 1001/1325/1033 1016/1341/1048 -f 1002/1327/1035 1017/1343/1050 1015/1342/1049 -f 1001/1325/1033 989/1313/1022 1004/1329/1037 -f 991/1314/1023 1006/1330/1038 1017/1343/1050 -f 1003/2092/1036 1007/2093/1039 1009/2094/1043 -f 1009/2094/1043 1011/2095/1045 1013/2096/1047 -f 1013/2096/1047 1015/2097/1049 1017/1346/1050 -f 1017/1346/1050 1006/2098/1038 1005/2099/1040 -f 1005/2099/1040 1008/2100/1042 1010/2101/1041 -f 1010/2101/1041 1012/2102/1044 1014/1344/1046 -f 1014/1344/1046 1016/2103/1048 1004/1345/1037 -f 1004/1345/1037 1003/2092/1036 1017/1346/1050 -f 1003/2092/1036 1009/2094/1043 1017/1346/1050 -f 1009/2094/1043 1013/2096/1047 1017/1346/1050 -f 1017/1346/1050 1005/2099/1040 1010/2101/1041 -f 1010/2101/1041 1014/1344/1046 1017/1346/1050 -f 918/1240/1051 1018/1351/1061 1019/1347/1052 -f 1020/1348/1054 1021/1349/1057 925/1246/1055 -f 1021/1349/1057 1022/1391/1564 921/1242/1058 -f 943/1263/1053 1019/1347/1052 1023/1350/1059 -f 921/1242/1058 1022/1391/1564 1018/1351/1061 -f 939/1260/1060 1023/1350/1059 1024/1352/1062 -f 1025/1353/1064 1026/1358/1070 1027/1354/1065 -f 935/1256/1063 1024/1352/1062 1029/1356/1067 -f 1030/1357/1069 1031/1390/1565 1026/1358/1070 -f 931/1252/1068 1029/1356/1067 1032/1359/1071 -f 1034/1360/1073 1031/1390/1565 1030/1357/1069 -f 1036/1362/1075 1034/1360/1073 1033/1361/1074 -f 927/1248/1072 1032/1359/1071 1037/1364/1077 -f 1039/1365/1079 1036/1362/1075 1035/1363/1076 -f 1040/1367/1081 1041/1388/1107 933/1254/1082 -f 1043/1368/1084 1039/1365/1079 1038/1366/1080 -f 1045/1370/1086 1043/1368/1084 1042/1369/1085 -f 1047/1372/1088 1045/1370/1086 1044/1371/1087 -f 1049/1374/1090 1047/1372/1088 1046/1373/1089 -f 1037/1364/1077 1050/1377/1094 917/1238/1092 -f 1051/1376/1093 1052/1387/1106 1049/1374/1090 -f 1050/1377/1094 1053/1382/1100 914/1239/1095 -f 1028/1355/1066 1027/1354/1065 1054/1378/1096 -f 1055/1379/1097 1054/1378/1096 1056/1380/1098 -f 1053/1382/1100 1058/1385/1104 941/1261/1101 -f 1057/1381/1099 1056/1380/1098 1059/1383/1102 -f 1058/1385/1104 1040/1367/1081 937/1258/1083 -f 1061/1386/1105 1062/2104/1108 1052/1387/1106 -f 1041/1388/1107 1020/1348/1054 929/1250/1056 -f 1060/1384/1103 1059/1383/1102 1062/1389/1108 -f 1027/1354/1109 1026/1358/1110 1021/1349/1110 -f 1045/1370/1111 1047/1372/1112 1032/1359/1112 -f 1054/1378/1113 1027/1354/1109 1020/1348/1109 -f 1043/1368/1114 1045/1370/1111 1029/1356/1111 -f 1039/1365/1115 1043/1368/1114 1024/1352/1114 -f 1059/1383/1116 1056/1380/1117 1040/1367/1117 -f 1036/1362/1118 1039/1365/1115 1023/1350/1115 -f 1062/1389/1119 1059/1383/1116 1058/1385/1116 -f 1034/1360/1120 1036/1362/1118 1019/1347/1118 -f 1052/1387/481 1062/2104/1119 1053/1382/1119 -f 1031/1390/1121 1034/1360/1120 1018/1351/1120 -f 1049/1374/1122 1052/1387/481 1050/1377/481 -f 1026/1358/1110 1031/1390/1121 1022/1391/1121 -f 1047/1372/1112 1049/1374/1122 1037/1364/1122 -f 1056/1380/1117 1054/1378/1113 1041/1388/1113 -f 1064/1392/1123 1065/1443/1123 1066/1393/1124 -f 924/1395/1125 928/2105/1132 953/1278/1126 -f 938/1396/1128 942/1401/1134 968/1288/1129 -f 938/1396/1128 964/1284/1130 960/1280/1131 -f 928/1398/1132 932/1413/1113 958/1399/1133 -f 942/1401/1134 919/2106/1566 970/1292/951 -f 926/1402/1135 950/1414/1144 948/1403/1136 -f 940/1405/1138 966/1416/1146 962/1406/1139 -f 934/1408/1114 960/2107/1131 956/1409/1140 -f 922/1404/1137 948/1403/1136 945/1411/1142 -f 932/1413/1113 936/1407/1139 962/1406/1139 -f 930/1410/1141 956/1409/1140 950/1414/1144 -f 915/1415/1145 944/2108/1147 966/1416/1146 -f 916/1412/1143 945/1411/1142 944/1417/1147 -f 919/1419/1148 942/1450/1149 1067/1420/1149 -f 926/1422/1151 1069/1471/1151 1070/1423/1152 -f 1072/1425/1153 1073/1449/1172 1074/1426/1154 -f 932/1428/1156 928/1489/1157 1075/1429/1157 -f 936/1431/1158 932/1428/1156 1076/1430/1156 -f 1078/1433/1160 1079/1487/1161 1080/1434/1161 -f 934/1436/1163 1082/1447/1163 1083/1437/1164 -f 916/1439/1166 1084/1470/1166 1085/1440/1167 -f 1086/1442/1168 1087/1475/1168 1065/1443/1123 -f 920/1444/1169 1088/1454/1169 1089/1445/1170 -f 930/1424/1152 1070/1423/1152 1082/1447/1163 -f 1090/1448/1171 1091/1473/1201 1073/1449/1172 -f 938/1438/1165 1083/1437/1164 1067/1420/1149 -f 936/1431/1158 1077/1432/1159 1092/1451/1173 -f 1068/1421/1175 1093/1469/1197 1094/1453/1176 -f 1092/1451/1178 1077/1432/1191 1065/1455/1179 -f 1089/1445/1181 1095/1463/1190 1096/1457/1182 -f 1082/1447/970 1070/1423/1193 1081/1458/1184 -f 1083/1437/1185 1097/1465/1192 1098/1460/1186 -f 1085/1440/1188 1084/1470/1198 1074/1461/305 -f 1088/1454/1177 1094/1453/1176 1095/1463/1190 -f 1077/1432/1191 1076/1430/966 1066/1464/966 -f 1082/1447/970 1080/1459/968 1097/1465/1192 -f 1070/1423/1193 1069/1471/1199 1091/1466/1194 -f 1075/1429/1183 1096/1457/1182 1066/1464/966 -f 1099/1467/1195 1092/1451/1178 1087/1456/1180 -f 1067/1420/1187 1098/1460/1186 1093/1469/1197 -f 1084/1470/1198 1099/1467/1195 1100/1468/1196 -f 1069/1471/1199 1085/1440/1188 1073/1462/1189 -f 915/1472/1200 940/1452/1174 1092/1451/1173 -f 1090/1448/1171 1078/1433/1160 1081/1435/1162 -f 916/1439/1166 915/2109/1200 1099/1467/1200 -f 1101/1474/1202 1100/1479/1206 1087/1475/1168 -f 1102/1476/1203 1103/1486/1204 1094/1477/1204 -f 1071/1427/1155 1074/1426/1154 1100/1479/1206 -f 1104/1480/1207 1105/1488/1208 1096/1481/1208 -f 1106/1483/1209 1107/1490/1210 1098/1484/1210 -f 1103/1486/1204 1104/1480/1207 1095/1482/1207 -f 1079/1487/1161 1106/1483/1209 1097/1485/1209 -f 919/1419/1148 1068/1421/1150 1088/1454/1169 -f 1063/1394/1124 1066/1393/1124 1096/1481/1208 -f 922/1441/1167 1085/1440/1167 1069/1471/1151 -f 924/1446/1170 1089/1445/1170 1075/1429/1157 -f 1107/1490/1210 1102/1476/1203 1093/1478/1205 -f 1080/1491/1211 1081/1508/1227 1108/1492/1212 -f 1097/1494/1213 1110/1506/1225 1111/1495/1214 -f 1073/1497/1216 1074/1518/1236 1112/1498/1217 -f 1094/1500/1219 1114/1520/1237 1115/1501/1220 -f 1065/1503/1222 1066/1511/1223 1116/1504/1223 -f 1080/1491/1211 1109/1493/1211 1110/1506/1225 -f 1118/1507/1226 1108/1492/1212 1081/1508/1227 -f 1096/1510/1229 1119/1521/1238 1116/1504/1223 -f 1120/1512/1230 1121/1517/1235 1100/1513/1231 -f 1098/1496/1215 1111/1495/1214 1122/1515/1233 -f 1121/1517/1235 1112/1498/1217 1074/1518/1236 -f 1091/1509/1228 1073/1497/1216 1113/1499/1218 -f 1093/1516/1234 1122/1515/1233 1114/1520/1237 -f 1087/1514/1232 1065/1503/1222 1117/1505/1224 -f 1095/1502/1221 1115/1501/1220 1119/1521/1238 -f 1124/1522/949 1125/1528/1243 1126/1523/1239 -f 1127/1525/1240 1128/1551/1249 1129/1526/1241 -f 1125/1528/1243 1131/1533/1245 1132/1529/1244 -f 1130/1530/1242 1129/2110/1241 1133/1531/957 -f 1131/1533/1245 1135/1537/963 1136/1534/1246 -f 1134/1532/958 1133/1531/957 1137/1535/961 -f 1135/1537/963 1139/1541/967 1140/1538/1247 -f 1138/1536/962 1137/1535/961 1141/1539/965 -f 1139/1541/967 1143/1545/968 1144/1542/968 -f 1142/1540/966 1141/1539/965 1145/1543/1248 -f 1143/1545/968 1147/2111/1563 1148/1546/971 -f 1145/1543/1248 1149/1550/975 1150/1547/975 -f 1148/1546/971 1147/2111/1563 1151/1548/973 -f 1149/1550/975 1124/1522/949 1123/1524/951 -f 1152/1549/974 1151/1548/973 1128/1551/1249 -f 1153/1552/977 1154/1559/1254 1155/1553/978 -f 1157/1555/1250 1158/2112/1255 1159/1556/1251 -f 1161/1558/1253 1162/1564/983 1155/1553/978 -f 1158/1560/1255 1163/1565/1258 1164/1561/1256 -f 1165/1563/982 1166/1568/988 1162/1564/983 -f 1163/1565/1258 1167/1569/1260 1168/1566/1259 -f 1169/1567/987 1170/1572/992 1166/1568/988 -f 1167/1569/1260 1171/1573/1261 1172/1570/990 -f 1173/1571/991 1174/1576/996 1170/1572/992 -f 1171/1573/1261 1175/1577/997 1176/1574/994 -f 1177/1575/1262 1178/1580/1263 1174/1576/996 -f 1175/1577/997 1179/1581/1001 1180/1578/998 -f 1181/1579/999 1182/1582/1264 1178/1580/1263 -f 1179/1581/1001 1153/1552/977 1156/1554/979 -f 1157/1555/1250 1160/1557/1252 1182/1582/1264 -f 1160/1557/1252 1183/1586/1266 1184/1583/1005 -f 1156/1554/979 1155/1553/978 1185/1584/1265 -f 1159/1556/1251 1187/2113/1267 1183/1586/1266 -f 1162/1564/983 1188/1589/1012 1185/1584/1265 -f 1159/1562/1251 1164/1561/1256 1189/1587/1010 -f 1166/1568/988 1190/1591/1014 1188/1589/1012 -f 1164/1561/1256 1168/1566/1259 1191/1590/1013 -f 1170/1572/992 1192/1593/1268 1190/1591/1014 -f 1168/1566/1259 1172/1570/990 1193/1592/1015 -f 1174/1576/996 1194/1595/1018 1192/1593/1268 -f 1172/1570/990 1176/1574/994 1195/1594/1269 -f 1178/1580/1263 1196/1597/1020 1194/1595/1018 -f 1176/1574/994 1180/1578/998 1197/1596/1019 -f 1182/1582/1264 1184/1583/1005 1196/1597/1020 -f 1180/1578/998 1156/1554/979 1186/1585/1007 -f 1197/1596/1019 1186/1585/1007 1198/1598/1021 -f 1183/1586/1266 1200/1603/1026 1201/1600/1270 -f 1186/1585/1007 1185/1584/1265 1202/1601/1271 -f 1183/1586/1266 1187/2113/1267 1203/1602/1025 -f 1188/1589/1012 1204/1606/1028 1202/1601/1271 -f 1187/1588/1267 1189/1587/1010 1205/1604/1027 -f 1190/1591/1014 1206/1608/1273 1204/1606/1028 -f 1189/1587/1010 1191/1590/1013 1207/1607/1272 -f 1192/1593/1268 1208/1610/1274 1206/1608/1273 -f 1191/1590/1013 1193/1592/1015 1209/1609/1031 -f 1194/1595/1018 1210/1612/1034 1208/1610/1274 -f 1193/1592/1015 1195/1594/1269 1211/1611/1275 -f 1196/1597/1020 1212/1613/1276 1210/1612/1034 -f 1195/1594/1269 1197/1596/1019 1199/1599/1022 -f 1184/1583/1005 1201/1600/1270 1212/1613/1276 -f 1199/1599/1022 1198/1598/1021 1213/1614/1036 -f 1200/1603/1026 1215/1618/1279 1216/1616/1278 -f 1198/1598/1021 1202/1601/1271 1217/1617/1039 -f 1203/1602/1025 1218/2114/1280 1215/1618/1279 -f 1204/1606/1028 1219/1621/1043 1217/1617/1039 -f 1203/1605/1025 1205/1604/1027 1220/1619/1041 -f 1206/1608/1273 1221/1623/1282 1219/1621/1043 -f 1205/1604/1027 1207/1607/1272 1222/1622/1281 -f 1208/1610/1274 1223/1625/1284 1221/1623/1282 -f 1207/1607/1272 1209/1609/1031 1224/1624/1283 -f 1210/1612/1034 1225/1627/1285 1223/1625/1284 -f 1209/1609/1031 1211/1611/1275 1226/1626/1048 -f 1212/1613/1276 1227/1628/1050 1225/1627/1285 -f 1211/1611/1275 1199/1599/1022 1214/1615/1277 -f 1201/1600/1270 1216/1616/1278 1227/1628/1050 -f 1213/2115/1036 1217/2116/1039 1219/2117/1043 -f 1219/2117/1043 1221/2118/1282 1223/2119/1284 -f 1223/2119/1284 1225/2120/1285 1219/2117/1043 -f 1225/2120/1285 1227/1629/1050 1219/2117/1043 -f 1227/1629/1050 1216/2121/1278 1215/2122/1279 -f 1215/2122/1279 1218/2123/1280 1227/1629/1050 -f 1218/2123/1280 1220/1630/1041 1227/1629/1050 -f 1220/1630/1041 1222/2124/1281 1224/2125/1283 -f 1224/2125/1283 1226/2126/1048 1220/1630/1041 -f 1226/2126/1048 1214/1631/1277 1220/1630/1041 -f 1214/1631/1277 1213/2115/1036 1227/1629/1050 -f 1213/2115/1036 1219/2117/1043 1227/1629/1050 -f 1127/1525/1286 1228/1636/1061 1229/1632/1287 -f 1230/1633/1289 1231/1634/1057 1134/1532/1290 -f 1231/1634/1057 1232/1677/1567 1130/1530/1292 -f 1152/1549/1288 1229/1632/1287 1233/1635/1293 -f 1130/1527/1292 1232/1676/1567 1228/1636/1061 -f 1148/1546/1294 1233/1635/1293 1234/1637/1062 -f 1235/1638/1296 1236/1643/1302 1237/1639/1297 -f 1144/1542/1295 1234/1637/1062 1239/1641/1299 -f 1240/1642/1301 1241/2127/1568 1236/1643/1302 -f 1140/1538/1300 1239/1641/1299 1242/1644/1303 -f 1244/1645/1305 1241/1675/1568 1240/1642/1301 -f 1246/1647/1307 1244/1645/1305 1243/1646/1306 -f 1136/1534/1304 1242/1644/1303 1247/1649/1077 -f 1249/1650/1310 1246/1647/1307 1245/1648/1308 -f 1250/1652/1312 1251/1673/1335 1142/1540/1313 -f 1253/1653/1315 1249/1650/1310 1248/1651/1311 -f 1255/1655/1317 1253/1653/1315 1252/1654/1316 -f 1257/1657/1319 1255/1655/1317 1254/1656/1318 -f 1259/1659/1321 1257/1657/1319 1256/1658/1320 -f 1247/1649/1077 1260/1662/1094 1126/1523/1323 -f 1261/1661/1324 1262/1672/1106 1259/1659/1321 -f 1260/1662/1094 1263/1667/1100 1123/1524/1325 -f 1238/1640/1298 1237/1639/1297 1264/1663/1326 -f 1265/1664/1327 1264/1663/1326 1266/1665/1328 -f 1263/1667/1100 1268/1670/1333 1150/1547/1330 -f 1267/1666/1329 1266/1665/1328 1269/1668/1331 -f 1268/1670/1333 1250/1652/1312 1146/1544/1314 -f 1271/1671/1334 1272/1674/1336 1262/1672/1106 -f 1251/1673/1335 1230/1633/1289 1138/1536/1291 -f 1270/1669/1332 1269/1668/1331 1272/1674/1336 -f 1237/1639/1109 1236/1643/1110 1231/1634/1110 -f 1255/1655/1111 1257/1657/1112 1242/1644/1112 -f 1264/1663/1113 1237/1639/1109 1230/1633/1109 -f 1253/1653/1114 1255/1655/1111 1239/1641/1111 -f 1249/1650/1115 1253/1653/1114 1234/1637/1114 -f 1269/1668/1116 1266/1665/1117 1250/1652/1117 -f 1246/1647/1118 1249/1650/1115 1233/1635/1115 -f 1272/1674/1337 1269/1668/1116 1268/1670/1116 -f 1244/1645/1120 1246/1647/1118 1229/1632/1118 -f 1262/1672/481 1272/1674/1337 1263/1667/1337 -f 1241/1675/1121 1244/1645/1120 1228/1636/1120 -f 1259/1659/1338 1262/1672/481 1260/1662/481 -f 1236/1643/1110 1241/2127/1121 1232/1677/1121 -f 1257/1657/1112 1259/1659/1338 1247/1649/1338 -f 1266/1665/1117 1264/1663/1113 1251/1673/1113 -f 1273/1678/1124 1274/1730/1123 1275/1679/1123 -f 1128/1681/1339 1129/2128/1344 1158/1682/1340 -f 1133/1684/1342 1137/1694/1132 1167/1685/1126 -f 1147/1687/1128 1151/1696/1345 1181/1688/1129 -f 1129/1690/1344 1133/1684/1342 1163/1686/1343 -f 1147/1687/1128 1177/1689/1130 1173/1692/1131 -f 1137/1694/1132 1141/1703/1113 1171/1695/1133 -f 1151/1696/1345 1128/1681/1339 1157/1683/1341 -f 1135/1697/1135 1165/1563/1144 1161/1558/958 -f 1149/1699/1138 1179/1581/1146 1175/1577/1139 -f 1143/1701/1114 1173/1571/1131 1169/1567/1140 -f 1141/1703/1113 1145/2129/1139 1175/1704/1139 -f 1139/1702/1141 1169/1567/1140 1165/1563/1144 -f 1124/1705/974 1153/1552/974 1179/1581/1146 -f 1128/1706/1346 1277/1739/1346 1278/1707/1347 -f 1279/1709/1348 1280/1753/1349 1135/1710/1349 -f 1282/1712/1350 1283/1735/1350 1284/1713/1154 -f 1141/1715/1352 1285/1750/1352 1286/1716/1353 -f 1287/1718/1354 1285/1750/1352 1141/1715/1352 -f 1289/1720/1161 1290/1774/1397 1291/1721/1355 -f 1147/1723/1357 1292/1745/1357 1293/1724/1358 -f 1294/1726/1360 1295/1747/1361 1125/1727/1361 -f 1296/1729/1362 1297/1762/1362 1275/1679/1123 -f 1133/1731/1363 1298/1742/1398 1299/1732/1364 -f 1143/1725/1359 1293/1724/1358 1279/1709/1348 -f 1300/1734/1201 1301/1760/1201 1283/1735/1350 -f 1278/1707/1347 1292/1745/1357 1147/1723/1357 -f 1302/1736/1366 1287/1718/1354 1145/1719/1354 -f 1303/1738/1367 1304/1756/1389 1277/1739/1368 -f 1302/1736/1370 1297/1755/1388 1275/1740/1371 -f 1305/1741/1373 1306/1748/1383 1298/1742/1374 -f 1293/1724/1131 1290/2130/1114 1291/1743/1111 -f 1307/1744/1377 1308/1751/1384 1292/1745/1378 -f 1294/1726/1380 1283/1758/1391 1284/1746/1381 -f 1306/1748/1383 1303/1738/1367 1299/1732/1369 -f 1287/1718/1372 1275/1740/1371 1276/1749/1133 -f 1308/1751/1384 1290/2130/1114 1293/1724/1131 -f 1279/1709/1376 1291/1743/1111 1301/1752/1385 -f 1276/1749/1133 1305/1741/1373 1286/1716/1375 -f 1309/1754/1387 1310/1757/1390 1297/1755/1388 -f 1304/1756/1389 1307/1744/1377 1278/1707/1379 -f 1295/1747/1382 1284/1746/1381 1310/1757/1390 -f 1280/1753/1386 1301/1752/1385 1283/1758/1391 -f 1309/1754/1392 1302/1736/1366 1149/1737/1366 -f 1288/1722/1356 1291/1721/1355 1301/1760/1201 -f 1295/1747/1361 1309/1754/1392 1124/1759/1393 -f 1296/1729/1362 1311/1766/1206 1310/1761/1394 -f 1312/1763/1205 1313/1773/1395 1303/1764/1395 -f 1281/1714/1351 1284/1713/1154 1310/1761/1394 -f 1315/1767/1208 1305/1776/1208 1306/1768/1396 -f 1316/1770/1209 1317/1777/1210 1307/1771/1210 -f 1313/1773/1395 1314/1769/1396 1306/1768/1396 -f 1289/1720/1161 1316/1770/1209 1308/1772/1209 -f 1129/1775/1365 1299/1732/1364 1277/1739/1346 -f 1273/1678/1124 1276/1680/1124 1305/1776/1208 -f 1280/1753/1349 1294/1726/1360 1131/1728/1360 -f 1137/1717/1353 1286/1716/1353 1298/1742/1398 -f 1317/1777/1210 1312/1763/1205 1304/1765/1205 -f 1290/1778/1399 1291/1795/1227 1318/1779/1212 -f 1308/1781/1400 1320/1793/1409 1321/1782/1214 -f 1283/1784/1401 1284/1805/1236 1322/1785/1217 -f 1303/1787/1403 1324/1806/1237 1325/1788/1404 -f 1275/1790/1406 1276/1798/1407 1326/1791/1407 -f 1290/1778/1399 1319/1780/1399 1320/1793/1409 -f 1328/1794/1226 1318/1779/1212 1291/1795/1227 -f 1305/1797/1410 1329/1808/1416 1326/1791/1407 -f 1330/1799/1411 1331/1804/1415 1310/1800/1412 -f 1307/1783/1215 1321/1782/1214 1332/1802/1413 -f 1331/1804/1415 1322/1785/1217 1284/1805/1236 -f 1301/1796/1228 1283/1784/1401 1323/1786/1402 -f 1304/1803/1414 1332/1802/1413 1324/1806/1237 -f 1297/1801/1232 1275/1790/1406 1327/1792/1408 -f 1306/1789/1405 1325/1788/1404 1329/1808/1416 -f 1348/1824/1433 1343/1819/1425 1342/1818/1424 -f 1350/1826/1435 1349/1825/1434 1348/1824/1433 -f 1357/1833/1442 1358/1839/1442 1359/1834/1443 -f 1365/1838/1446 1361/2131/1569 1337/1836/1444 -f 1361/2131/1569 1358/2132/1570 1337/1836/1444 -f 1358/2132/1570 1362/2133/481 1333/2134/1571 -f 1362/2133/481 1363/2135/1572 1333/2134/1571 -f 1358/2132/1570 1333/2134/1571 1336/2136/1573 -f 1358/2132/1570 1336/2136/1573 1337/1836/1444 -f 1358/1839/1442 1357/1833/1442 1366/1840/476 -f 1359/1842/1447 1367/2137/1574 487/1843/1448 -f 1369/1845/1450 1370/1862/1451 1367/1846/1451 -f 1358/1848/1453 1361/2138/1453 1367/1849/1453 -f 1357/1851/1454 1360/2139/1454 1370/1852/1454 -f 1371/1854/1455 1368/2140/1455 487/1855/1455 -f 1360/1857/1456 1371/2141/1575 488/1858/1457 -f 1359/1860/1443 1368/2140/476 1371/1854/476 -f 1370/1862/1451 488/1856/1459 487/1855/1459 -f 1369/1867/1464 1339/2142/1576 1341/2143/1577 -f 1339/2142/1578 1340/2144/1578 1341/2143/1578 -f 1366/1866/1463 1357/2145/1579 1369/1867/1464 -f 1369/1867/1464 1341/2143/1577 1372/2146/1580 -f 1369/1867/1464 1372/2146/1580 1342/2147/1581 -f 1369/1867/1464 1342/2147/1581 1344/2148/1582 -f 1369/1867/1464 1344/2148/1582 1373/1865/1462 -f 1352/2149/1583 1374/2150/1584 1356/2151/1585 -f 1374/2150/1584 1338/2152/1586 1356/2151/1585 -f 1338/2152/1586 1335/2153/1587 1354/2154/1588 -f 1335/2153/1587 1334/2155/1589 1354/2154/1588 -f 1338/2152/1586 1355/2156/1590 1356/2151/1585 -f 1334/2155/1589 1363/2157/1591 1362/2158/1592 -f 1334/2155/1589 1362/2158/1592 1366/1870/480 -f 1355/2156/1590 1338/2152/1586 1351/2159/1593 -f 1351/2159/1593 1338/2152/1586 1354/2154/1588 -f 1373/1871/1467 1347/2160/1594 1353/1872/1468 -f 1353/1872/1468 1354/2154/1588 1334/2155/1589 -f 1353/1872/1468 1334/2155/1589 1366/1870/480 -f 1238/2161/1298 1265/2162/1327 1267/2163/1329 -f 1267/2163/1329 1270/2164/1332 1271/2165/1334 -f 1271/2165/1334 1261/2166/1324 1258/1874/1322 -f 1258/1874/1322 1256/2167/1320 1254/2168/1318 -f 1254/2168/1318 1252/2169/1316 1258/1874/1322 -f 1252/2169/1316 1248/1875/1311 1258/1874/1322 -f 1248/1875/1311 1245/2170/1308 1235/1876/1296 -f 1245/2170/1308 1243/2171/1306 1235/1876/1296 -f 1243/2171/1306 1240/2172/1301 1235/1876/1296 -f 1235/1876/1296 1238/2161/1298 1267/2163/1329 -f 1267/2163/1329 1271/2165/1334 1235/1876/1296 -f 1271/2165/1334 1258/1874/1322 1235/1876/1296 -f 1028/2173/1066 1055/2174/1097 1057/1877/1099 -f 1057/1877/1099 1060/2175/1103 1048/1878/1091 -f 1060/2175/1103 1061/2176/1105 1048/1878/1091 -f 1061/2176/1105 1051/2177/1093 1048/1878/1091 -f 1048/1878/1091 1046/2178/1089 1038/1879/1080 -f 1046/2178/1089 1044/2179/1087 1038/1879/1080 -f 1044/2179/1087 1042/2180/1085 1038/1879/1080 -f 1038/1879/1080 1035/2181/1076 1033/2182/1074 -f 1033/2182/1074 1030/2183/1069 1038/1879/1080 -f 1030/2183/1069 1025/2184/1064 1038/1879/1080 -f 1025/2184/1064 1028/2173/1066 1057/1877/1099 -f 1025/2184/1064 1057/1877/1099 1038/1879/1080 -f 487/1882/481 476/2185/474 482/1880/481 -f 476/2185/474 475/2186/475 482/1880/481 -f 566/2187/1595 540/2188/1596 572/2189/1597 -f 540/2188/1596 494/2190/1598 547/2191/1599 -f 548/2192/1600 540/2188/1596 547/2191/1599 -f 494/2190/1598 491/2193/1601 547/2191/1599 -f 535/2194/1602 536/2195/1603 567/2196/1604 -f 536/2195/1603 565/1885/1472 554/2197/1605 -f 559/2198/1606 536/2195/1603 557/2199/1607 -f 567/2196/1604 561/2200/1608 535/2194/1602 -f 559/2198/1606 567/2196/1604 536/2195/1603 -f 540/2188/1596 548/2192/1600 570/2201/1609 -f 540/2188/1596 570/2201/1609 572/2189/1597 -f 557/2199/1607 536/2195/1603 554/2197/1605 -f 565/1885/1472 566/2187/1595 578/1883/1470 -f 566/2187/1595 572/2189/1597 574/2202/1610 -f 553/2203/1611 554/2197/1605 565/1885/1472 -f 566/2187/1595 574/2202/1610 576/2204/1612 -f 566/2187/1595 576/2204/1612 578/1883/1470 -f 580/1884/1471 553/2203/1611 565/1885/1472 -f 1361/1847/1452 1365/2205/1613 1364/1886/1473 -f 1364/1886/1473 1374/2150/1614 1346/2206/1615 -f 1374/2150/1614 1352/2149/1616 1346/2206/1615 -f 1346/2206/1615 1339/1887/1474 1364/1886/1473 -f 1339/1887/1474 1369/1845/1450 1361/1847/1452 -f 819/1890/482 841/2207/482 845/1888/482 -f 841/2207/482 854/2208/482 850/2209/482 -f 845/1888/482 841/2207/482 846/2210/482 -f 854/2208/482 840/2211/482 850/2209/482 -f 840/2211/482 839/2212/482 850/2209/482 -f 839/2212/482 843/2213/482 851/2214/482 -f 843/2213/482 842/2215/482 851/2214/482 -f 853/2216/482 844/2217/482 820/2218/482 -f 848/2219/482 853/2216/482 820/2218/482 -f 839/2212/482 851/2214/482 850/2209/482 -f 848/2219/482 820/2218/482 849/2220/482 -f 820/2218/482 819/1890/482 849/2220/482 -f 850/2209/482 852/2221/482 841/2207/482 -f 852/2221/482 846/2210/482 841/2207/482 -f 847/1889/482 849/2220/482 819/1890/482 -f 481/1891/482 480/2222/477 484/1892/477 -f 488/1893/482 490/2223/482 481/1891/482 -f 853/1894/1475 824/1109/875 823/1895/1476 -f 80/1897/84 73/2224/1617 485/2225/1618 -f 485/2225/1618 16/1898/1478 80/1897/84 -f 16/1898/1478 15/2226/14 89/1896/83 -f 14/2227/13 13/2228/1619 486/1899/1479 -f 486/1899/1479 485/2229/1620 53/1900/53 -f 485/2229/1620 73/2230/73 54/2231/51 -f 485/2229/1620 54/2231/51 53/1900/53 -f 84/1901/77 14/2227/13 486/1899/1479 -o boolets_Cylinder.008 -v -0.589670 0.462960 0.317325 -v -0.589670 0.398760 0.288740 -v -0.717905 0.398760 0.288740 -v -0.717905 0.462960 0.317325 -v 0.008600 0.523475 -0.024120 -v 0.008600 0.488525 -0.084650 -v -0.589530 0.489220 -0.085270 -v -0.589530 0.524355 -0.024410 -v 0.008600 0.218055 0.111860 -v 0.008600 0.264825 0.163800 -v -0.589530 0.264275 0.164550 -v -0.589530 0.217250 0.112325 -v 0.008600 0.431985 -0.125730 -v -0.589530 0.432360 -0.126580 -v 0.008600 0.328675 0.192225 -v -0.589530 0.328480 0.193135 -v 0.008600 0.363620 -0.140260 -v -0.589530 0.363620 -0.141190 -v 0.008600 0.398565 0.192225 -v -0.589530 0.398760 0.193135 -v 0.008600 0.295255 -0.125730 -v -0.589530 0.294875 -0.126580 -v 0.008600 0.462415 0.163800 -v -0.589530 0.462960 0.164550 -v 0.008600 0.238710 -0.084650 -v -0.589530 0.238020 -0.085270 -v 0.008600 0.509180 0.111860 -v -0.589530 0.509985 0.112325 -v 0.008600 0.203765 -0.024120 -v -0.589530 0.202880 -0.024410 -v 0.008600 0.530780 0.045390 -v -0.589530 0.531705 0.045485 -v 0.008600 0.196460 0.045390 -v -0.589530 0.195535 0.045485 -v -0.717380 0.400240 0.015920 -v -0.717410 0.547770 -0.032015 -v -0.717410 0.507510 -0.101745 -v -0.717390 0.392235 0.002055 -v -0.717410 0.171050 0.048060 -v -0.699540 0.197310 0.045300 -v -0.699540 0.218795 0.111430 -v -0.717410 0.195930 0.124635 -v -0.717365 0.330270 0.047075 -v -0.717410 0.249805 0.184465 -v -0.717415 0.340985 0.058975 -v -0.717410 0.442375 -0.149070 -v -0.717340 0.379280 -0.007360 -v -0.717410 0.323360 0.217215 -v -0.717385 0.355610 0.065485 -v -0.717410 0.363620 -0.165810 -v -0.717410 0.363620 -0.010690 -v -0.717410 0.403875 0.217215 -v -0.717390 0.371625 0.065485 -v -0.717410 0.284865 -0.149070 -v -0.717455 0.347955 -0.007360 -v -0.717410 0.477430 0.184465 -v -0.717345 0.386255 0.058975 -v -0.717410 0.219725 -0.101745 -v -0.717465 0.335000 0.002055 -v -0.717410 0.531305 0.124635 -v -0.717370 0.396965 0.047075 -v -0.717410 0.179470 -0.032015 -v -0.717470 0.326995 0.015920 -v -0.717410 0.556185 0.048060 -v -0.717350 0.401915 0.031845 -v -0.717435 0.325320 0.031845 -v -0.699540 0.522660 -0.023855 -v -0.699540 0.487890 -0.084075 -v -0.699540 0.265325 0.163105 -v -0.699540 0.431635 -0.124950 -v -0.699540 0.328850 0.191390 -v -0.699540 0.363620 -0.139405 -v -0.699540 0.398385 0.191390 -v -0.699540 0.295600 -0.124950 -v -0.699540 0.461910 0.163105 -v -0.699540 0.239345 -0.084075 -v -0.699540 0.508440 0.111430 -v -0.699540 0.204580 -0.023855 -v -0.699540 0.529930 0.045300 -v -0.717765 0.294875 -0.126580 -v -0.717765 0.363620 -0.141190 -v -0.717765 0.524355 -0.024410 -v -0.717765 0.531705 0.045485 -v -0.717765 0.202880 -0.024410 -v -0.717765 0.238020 -0.085270 -v -0.717765 0.489220 -0.085270 -v -0.717765 0.432360 -0.126580 -v -0.717765 0.195535 0.045485 -v -0.717765 0.509985 0.112325 -v -0.717765 0.462960 0.164550 -v -0.717765 0.328480 0.193135 -v -0.717765 0.264275 0.164550 -v -0.717765 0.398760 0.193135 -v -0.717765 0.217250 0.112325 -v -0.717130 0.392235 0.002055 -v -0.716850 0.377665 0.015175 -v -0.716700 0.381595 0.021980 -v -0.716990 0.400240 0.015920 -v -0.717155 0.340985 0.058975 -v -0.716915 0.352510 0.043110 -v -0.717075 0.347250 0.037270 -v -0.717030 0.371305 0.010555 -v -0.717095 0.355610 0.065485 -v -0.716800 0.359690 0.046305 -v -0.717125 0.363620 0.008920 -v -0.716965 0.371625 0.065485 -v -0.716790 0.367550 0.046305 -v -0.717235 0.355930 0.010555 -v -0.717000 0.386255 0.058975 -v -0.716615 0.374725 0.043110 -v -0.717290 0.349575 0.015175 -v -0.716905 0.396965 0.047075 -v -0.716700 0.379985 0.037270 -v -0.717265 0.345645 0.021980 -v -0.716980 0.401915 0.031845 -v -0.716630 0.382415 0.029795 -v -0.717215 0.344825 0.029795 -v -0.717175 0.355930 0.010555 -v -0.717185 0.349575 0.015175 -v -0.717190 0.345645 0.021980 -v -0.717130 0.344825 0.029795 -v -0.716865 0.352510 0.043110 -v -0.716795 0.359690 0.046305 -v -0.716585 0.367550 0.046305 -v -0.716615 0.374725 0.043110 -v -0.716480 0.379985 0.037270 -v -0.716590 0.382415 0.029795 -v -0.716595 0.381595 0.021980 -v -0.716755 0.377665 0.015175 -v -0.716900 0.371305 0.010555 -v 0.008460 0.523475 0.506000 -v -0.589670 0.524355 0.506285 -v -0.589670 0.489220 0.567150 -v 0.008460 0.488525 0.566525 -v 0.008460 0.218055 0.370020 -v -0.589670 0.217250 0.369555 -v -0.589670 0.264275 0.317325 -v 0.008460 0.264825 0.318080 -v -0.589670 0.432360 0.608455 -v 0.008460 0.431985 0.607605 -v -0.589670 0.328480 0.288740 -v 0.008460 0.328670 0.289650 -v -0.589670 0.363620 0.623070 -v 0.008460 0.363620 0.622140 -v 0.008460 0.398565 0.289650 -v -0.589670 0.294875 0.608455 -v 0.008460 0.295255 0.607605 -v 0.008460 0.462415 0.318080 -v -0.589670 0.238020 0.567150 -v 0.008460 0.238710 0.566525 -v -0.589670 0.509985 0.369555 -v 0.008460 0.509180 0.370020 -v -0.589670 0.202880 0.506285 -v 0.008460 0.203765 0.506000 -v -0.589670 0.531705 0.436390 -v 0.008460 0.530780 0.436490 -v -0.589670 0.195535 0.436390 -v 0.008460 0.196460 0.436490 -v -0.717335 0.400240 0.465960 -v -0.717330 0.392235 0.479825 -v -0.717550 0.507510 0.583620 -v -0.717550 0.547770 0.513890 -v -0.717550 0.171050 0.433820 -v -0.717550 0.195930 0.357245 -v -0.699680 0.218795 0.370445 -v -0.699680 0.197310 0.436580 -v -0.717620 0.330270 0.434805 -v -0.717600 0.340985 0.422905 -v -0.717550 0.249805 0.297410 -v -0.717360 0.379280 0.489235 -v -0.717550 0.442375 0.630945 -v -0.717525 0.355610 0.416390 -v -0.717550 0.323360 0.264660 -v -0.717395 0.363620 0.492565 -v -0.717550 0.363620 0.647685 -v -0.717370 0.371625 0.416390 -v -0.717550 0.403875 0.264660 -v -0.717435 0.347955 0.489235 -v -0.717550 0.284865 0.630945 -v -0.717435 0.386255 0.422905 -v -0.717375 0.335000 0.479825 -v -0.717550 0.219725 0.583620 -v -0.717395 0.396965 0.434805 -v -0.717550 0.531305 0.357245 -v -0.717550 0.477430 0.297410 -v -0.717525 0.326995 0.465960 -v -0.717550 0.179470 0.513890 -v -0.717355 0.401915 0.450035 -v -0.717550 0.556185 0.433820 -v -0.717600 0.325320 0.450035 -v -0.699680 0.487890 0.565955 -v -0.699680 0.522660 0.505735 -v -0.699680 0.265325 0.318770 -v -0.699680 0.431635 0.606825 -v -0.699680 0.328850 0.290485 -v -0.699680 0.363620 0.621285 -v -0.699680 0.398385 0.290485 -v -0.699680 0.295600 0.606825 -v -0.699680 0.461910 0.318770 -v -0.699680 0.239345 0.565955 -v -0.699680 0.508440 0.370445 -v -0.699680 0.204580 0.505735 -v -0.699680 0.529925 0.436580 -v -0.717905 0.363620 0.623070 -v -0.717905 0.294875 0.608455 -v -0.717905 0.531705 0.436390 -v -0.717905 0.524355 0.506285 -v -0.717905 0.238020 0.567150 -v -0.717905 0.202880 0.506285 -v -0.717905 0.489220 0.567150 -v -0.717905 0.432360 0.608455 -v -0.717905 0.195535 0.436390 -v -0.717905 0.509985 0.369555 -v -0.717905 0.264275 0.317325 -v -0.717905 0.328480 0.288740 -v -0.717905 0.217250 0.369555 -v -0.716650 0.392235 0.479825 -v -0.716635 0.400240 0.465960 -v -0.716145 0.381590 0.459900 -v -0.716125 0.377665 0.466705 -v -0.717475 0.347250 0.444610 -v -0.717430 0.352510 0.438770 -v -0.716695 0.379280 0.489235 -v -0.716250 0.371305 0.471325 -v -0.717255 0.359690 0.435570 -v -0.716845 0.363620 0.492565 -v -0.716400 0.363620 0.472955 -v -0.716905 0.367550 0.435570 -v -0.717030 0.347955 0.489235 -v -0.716665 0.355930 0.471325 -v -0.717030 0.386255 0.422905 -v -0.716655 0.374725 0.438770 -v -0.716905 0.349575 0.466705 -v -0.716830 0.396965 0.434805 -v -0.716410 0.379985 0.444610 -v -0.717260 0.345645 0.459900 -v -0.716705 0.401915 0.450035 -v -0.716225 0.382415 0.452085 -v -0.717430 0.344820 0.452085 -v -0.716250 0.363620 0.472955 -v -0.716015 0.371305 0.471325 -v -0.715935 0.377665 0.466705 -v -0.715910 0.381590 0.459900 -v -0.716030 0.382415 0.452085 -v -0.716230 0.379985 0.444610 -v -0.716525 0.374725 0.438770 -v -0.716520 0.355930 0.471325 -vt 0.680521 0.406246 -vt 0.652061 0.430658 -vt 0.664534 0.402365 -vt 0.680997 0.433791 +f 705/1155/972 707/1156/973 708/1157/974 +f 708/1157/974 709/1158/975 710/1159/976 +f 710/1159/976 711/1160/977 712/1161/978 +f 712/1161/978 713/1162/979 714/1163/980 +f 714/1163/980 715/1164/981 716/1165/982 +f 716/1165/982 717/1166/983 718/1167/984 +f 719/1168/985 721/1169/986 722/1170/987 +f 721/1169/986 724/1171/988 722/1170/987 +f 723/1172/989 726/1173/990 724/1171/988 +f 726/1173/990 727/1174/991 728/1175/992 +f 728/1175/992 729/1176/993 730/1177/994 +f 729/1176/993 732/1178/995 730/1177/994 +f 731/1179/996 734/1180/997 732/1178/995 +f 733/1181/998 736/1182/999 734/1180/1000 +f 735/1183/1001 738/1184/1002 736/1182/999 +f 737/1185/1003 740/1186/1004 738/1184/1002 +f 739/1187/1005 742/1188/1006 740/1186/1004 +f 742/1188/1006 743/1189/1007 744/1190/1008 +f 744/1190/1008 745/1191/1009 746/1192/1010 +f 746/1192/1010 747/1193/1011 748/1194/1012 +f 748/1194/1012 749/1195/1013 750/1196/1014 +f 750/1196/1015 751/1197/1016 752/1198/1017 +f 752/1198/1017 753/1199/1018 754/1200/1019 +f 753/1199/1018 756/1201/1020 754/1200/1019 +f 755/1202/1021 705/1155/972 756/1201/1020 +f 758/1203/1022 760/1204/1023 757/1205/1024 +f 761/1206/1025 763/1207/1026 759/1208/1027 +f 728/1175/992 764/1209/1028 765/1210/1029 +f 748/1194/1012 767/1211/1030 746/1192/1010 +f 714/1163/980 768/1212/1031 769/1213/1032 +f 722/1170/987 771/1214/1033 719/1168/985 +f 738/1184/1002 772/1215/1034 773/1216/1035 +f 708/1157/974 775/1217/1036 705/1155/972 +f 705/1155/972 776/1218/1037 756/1201/1020 +f 758/1203/1022 761/1206/1025 759/1208/1027 +f 730/1177/994 778/1219/1038 764/1209/1028 +f 750/1196/1015 766/1220/1039 748/1194/1012 +f 718/1167/984 768/1212/1031 716/1165/982 +f 724/1171/988 770/1221/1040 722/1170/987 +f 740/1186/1004 782/1222/1041 772/1215/1034 +f 708/1157/974 783/1223/1042 774/1224/1043 +f 777/1225/1044 785/1226/1045 761/1206/1025 +f 732/1178/995 786/1227/1046 778/1219/1038 +f 752/1198/1017 779/1228/1047 750/1196/1015 +f 788/1229/1048 780/1230/1049 718/1167/984 +f 724/1171/988 790/1231/1050 781/1232/1051 +f 742/1188/1006 791/1233/1052 782/1222/1041 +f 710/1159/976 792/1234/1053 783/1223/1042 +f 793/1235/1054 785/1226/1045 784/1236/1055 +f 734/1180/997 795/1237/1056 786/1227/1046 +f 754/1200/1019 787/1238/1057 752/1198/1017 +f 757/1205/1024 789/1239/1058 788/1229/1048 +f 726/1173/990 765/1210/1029 790/1231/1050 +f 744/1190/1008 767/1211/1030 791/1233/1052 +f 712/1161/978 769/1213/1032 792/1234/1053 +f 719/1168/985 794/1240/1059 793/1241/1054 +f 736/1182/999 773/1216/1035 795/1237/1056 +f 756/1201/1020 796/1242/1060 754/1200/1019 +f 798/1243/1061 800/1244/1062 797/1245/1063 +f 772/1215/1034 801/1246/1064 802/1247/1065 +f 785/1226/1045 762/1248/1066 761/1206/1025 +f 782/1222/1041 804/1249/1067 801/1246/1064 +f 794/1250/1059 803/1251/1068 785/1226/1045 +f 791/1233/1052 805/1252/1069 804/1249/1067 +f 771/1214/1033 797/1245/1063 794/1240/1059 +f 766/1220/1039 805/1252/1069 767/1211/1030 +f 770/1221/1040 798/1243/1061 771/1214/1033 +f 775/1217/1036 808/1253/1070 809/1254/1071 +f 766/1220/1039 810/1255/1072 806/1256/1073 +f 781/1232/1051 807/1257/1074 770/1221/1040 +f 774/1224/1043 812/1258/1075 808/1253/1070 +f 779/1228/1047 813/1259/1076 810/1255/1072 +f 790/1231/1050 811/1260/1077 781/1232/1051 +f 783/1223/1042 815/1261/1078 812/1258/1075 +f 787/1238/1057 816/1262/1079 813/1259/1076 +f 765/1210/1029 814/1263/1080 790/1231/1050 +f 792/1234/1053 818/1264/1081 815/1261/1078 +f 796/1242/1060 819/1265/1082 816/1262/1079 +f 764/1209/1028 817/1266/1083 765/1210/1029 +f 769/1213/1032 821/1267/1084 818/1264/1081 +f 776/1218/1037 809/1254/1071 819/1265/1082 +f 778/1219/1038 820/1268/1085 764/1209/1028 +f 768/1212/1031 823/1269/1086 821/1267/1084 +f 786/1227/1046 822/1270/1087 778/1219/1038 +f 780/1230/1049 825/1271/1088 823/1269/1086 +f 795/1237/1056 824/1272/1089 786/1227/1046 +f 760/1204/1023 825/1271/1088 789/1239/1058 +f 773/1216/1035 826/1273/1090 795/1237/1056 +f 759/1208/1027 827/1274/1091 760/1204/1023 +f 773/1216/1035 802/1247/1065 828/1275/1092 +f 830/1276/1093 832/1277/1094 829/1278/1095 +f 805/1252/1069 833/1279/1096 834/1280/1097 +f 807/1257/1074 799/1281/1098 798/1243/1061 +f 809/1254/1071 836/1282/1099 837/1283/1100 +f 806/1256/1073 838/1284/1101 833/1279/1096 +f 811/1260/1077 835/1285/1102 807/1257/1074 +f 808/1253/1070 839/1286/1103 836/1282/1099 +f 810/1255/1072 840/1287/1104 838/1284/1101 +f 814/1263/1080 829/1278/1095 811/1260/1077 +f 812/1258/1075 841/1288/1105 839/1286/1103 +f 813/1259/1076 842/1289/1106 840/1287/1104 +f 817/1266/1083 830/1276/1093 814/1263/1080 +f 815/1261/1078 844/1290/1107 841/1288/1105 +f 816/1262/1079 845/1291/1108 842/1289/1106 +f 820/1268/1085 843/1292/1109 817/1266/1083 +f 818/1264/1081 847/1293/1110 844/1290/1107 +f 819/1265/1082 837/1283/1100 845/1291/1108 +f 822/1270/1087 846/1294/1111 820/1268/1085 +f 821/1267/1084 849/1295/1112 847/1293/1110 +f 824/1272/1089 848/1296/1113 822/1270/1087 +f 823/1269/1086 851/1297/1114 849/1295/1112 +f 826/1273/1090 850/1298/1115 824/1272/1089 +f 825/1271/1088 853/1299/1116 851/1297/1114 +f 828/1275/1092 852/1300/1117 826/1273/1090 +f 763/1207/1026 853/1299/1116 827/1274/1091 +f 828/1275/1092 856/1301/1118 854/1302/1119 +f 762/1248/1066 855/1303/1120 763/1207/1026 +f 802/1247/1065 858/1304/1121 856/1301/1118 +f 803/1251/1068 857/1305/1122 762/1248/1066 +f 804/1249/1067 858/1304/1121 801/1246/1064 +f 797/1306/1063 859/1307/1123 803/1251/1068 +f 805/1252/1069 860/1308/1124 804/1249/1067 +f 862/1309/1125 864/1310/1126 861/1311/1127 +f 839/1286/1103 865/1312/1128 866/1313/1129 +f 840/1287/1104 867/1314/1130 868/1315/1131 +f 843/1292/1109 831/1316/1132 830/1276/1093 +f 841/1288/1105 870/1317/1133 865/1312/1128 +f 842/1289/1106 871/1318/1134 867/1314/1130 +f 846/1294/1111 869/1319/1135 843/1292/1109 +f 844/1290/1107 872/1320/1136 870/1317/1133 +f 845/1291/1108 873/1321/1137 871/1318/1134 +f 848/1296/1113 861/1311/1127 846/1294/1111 +f 847/1293/1110 874/1322/1138 872/1320/1136 +f 850/1298/1115 862/1309/1125 848/1296/1113 +f 849/1295/1112 876/1323/1139 874/1322/1138 +f 852/1300/1117 875/1324/1140 850/1298/1115 +f 851/1297/1114 878/1325/1141 876/1323/1139 +f 854/1302/1119 877/1326/1142 852/1300/1117 +f 855/1303/1120 878/1325/1141 853/1299/1116 +f 854/1302/1119 881/1327/1143 879/1328/1144 +f 857/1305/1122 880/1329/1145 855/1303/1120 +f 856/1301/1118 883/1330/1146 881/1327/1143 +f 859/1307/1123 882/1331/1147 857/1305/1122 +f 860/1308/1124 883/1330/1146 858/1304/1121 +f 800/1332/1062 884/1333/1148 859/1307/1123 +f 860/1308/1124 887/1334/1149 885/1335/1150 +f 799/1281/1098 886/1336/1151 800/1244/1062 +f 834/1280/1097 889/1337/1152 887/1334/1149 +f 835/1285/1102 888/1338/1153 799/1281/1098 +f 837/1283/1100 891/1339/1154 873/1321/1137 +f 833/1279/1096 892/1340/1155 889/1337/1152 +f 829/1278/1095 890/1341/1156 835/1285/1102 +f 836/1282/1099 866/1313/1129 891/1339/1154 +f 838/1284/1101 868/1315/1131 892/1340/1155 +f 894/1342/1157 896/1343/1158 893/1344/1159 +f 872/1320/1136 897/1345/1160 898/1346/1161 +f 875/1324/1140 863/1347/1162 862/1309/1125 +f 874/1322/1138 900/1348/1163 897/1345/1160 +f 877/1326/1142 899/1349/1164 875/1324/1140 +f 876/1323/1139 901/1350/1165 900/1348/1163 +f 879/1328/1144 893/1344/1159 877/1326/1142 +f 880/1329/1145 901/1350/1165 878/1325/1141 +f 881/1327/1143 894/1342/1157 879/1328/1144 +f 882/1331/1147 902/1351/1166 880/1329/1145 +f 881/1327/1143 905/1352/1167 903/1353/1168 +f 884/1333/1148 904/1354/1169 882/1331/1147 +f 883/1330/1146 907/1355/1170 905/1352/1167 +f 886/1356/1151 906/1357/1171 884/1333/1148 +f 885/1335/1150 909/1358/1172 907/1355/1170 +f 888/1338/1153 908/1359/1173 886/1336/1151 +f 887/1334/1149 911/1360/1174 909/1358/1172 +f 890/1341/1156 910/1361/1175 888/1338/1153 +f 873/1321/1137 913/1362/1176 914/1363/1177 +f 889/1337/1152 915/1364/1178 911/1360/1174 +f 832/1277/1094 912/1365/1179 890/1341/1156 +f 891/1339/1154 917/1366/1180 913/1362/1176 +f 892/1340/1155 918/1367/1181 915/1364/1178 +f 831/1316/1132 916/1368/1182 832/1277/1094 +f 866/1313/1129 920/1369/1183 917/1366/1180 +f 868/1315/1131 921/1370/1184 918/1367/1181 +f 869/1319/1135 919/1371/1185 831/1316/1132 +f 865/1312/1128 923/1372/1186 920/1369/1183 +f 867/1314/1130 924/1373/1187 921/1370/1184 +f 861/1311/1127 922/1374/1188 869/1319/1135 +f 870/1317/1133 898/1346/1161 923/1372/1186 +f 871/1318/1134 914/1363/1177 924/1373/1187 +f 925/1375/1189 927/1376/1190 928/1377/1191 +f 902/1351/1166 930/1378/1192 901/1350/1165 +f 903/1353/1168 895/1379/1193 894/1342/1157 +f 904/1354/1169 929/1380/1194 902/1351/1166 +f 905/1352/1167 931/1381/1195 903/1353/1168 +f 906/1357/1171 932/1382/1196 904/1354/1169 +f 905/1352/1167 926/1383/1197 925/1375/1189 +f 908/1384/1173 933/1385/1198 906/1357/1171 +f 907/1355/1170 935/1386/1199 926/1383/1197 +f 910/1361/1175 934/1387/1200 908/1359/1173 +f 909/1358/1172 937/1388/1201 935/1386/1199 +f 912/1365/1179 936/1389/1202 910/1361/1175 +f 914/1363/1177 939/1390/1203 940/1391/1204 +f 911/1360/1174 941/1392/1205 937/1388/1201 +f 916/1368/1182 938/1393/1206 912/1365/1179 +f 913/1362/1176 943/1394/1207 939/1390/1203 +f 915/1364/1178 944/1395/1208 941/1392/1205 +f 919/1371/1185 942/1396/1209 916/1368/1182 +f 917/1366/1180 946/1397/1210 943/1394/1207 +f 918/1367/1181 947/1398/1211 944/1395/1208 +f 922/1374/1188 945/1399/1212 919/1371/1185 +f 920/1369/1183 949/1400/1213 946/1397/1210 +f 921/1370/1184 950/1401/1214 947/1398/1211 +f 864/1310/1126 948/1402/1215 922/1374/1188 +f 923/1372/1186 952/1403/1216 949/1400/1213 +f 924/1373/1187 940/1391/1204 950/1401/1214 +f 863/1347/1162 951/1404/1217 864/1310/1126 +f 898/1346/1161 954/1405/1218 952/1403/1216 +f 899/1349/1164 953/1406/1219 863/1347/1162 +f 897/1345/1160 956/1407/1220 954/1405/1218 +f 893/1344/1159 955/1408/1221 899/1349/1164 +f 900/1348/1163 930/1378/1192 956/1407/1220 +f 957/1409/1222 959/1410/1223 960/1411/1224 +f 934/1412/1200 962/1413/1225 933/1385/1198 +f 926/1383/1197 963/1414/1226 927/1376/1190 +f 936/1389/1202 961/1415/1227 934/1387/1200 +f 935/1386/1199 965/1416/1228 963/1414/1226 +f 938/1393/1206 964/1417/1229 936/1389/1202 +f 940/1391/1204 967/1418/1230 968/1419/1231 +f 937/1388/1201 969/1420/1232 965/1416/1228 +f 942/1396/1209 966/1421/1233 938/1393/1206 +f 939/1390/1203 971/1422/1234 967/1418/1230 +f 941/1392/1205 972/1423/1235 969/1420/1232 +f 945/1399/1212 970/1424/1236 942/1396/1209 +f 943/1394/1207 974/1425/1237 971/1422/1234 +f 944/1395/1208 975/1426/1238 972/1423/1235 +f 948/1402/1215 973/1427/1239 945/1399/1212 +f 946/1397/1210 977/1428/1240 974/1425/1237 +f 947/1398/1211 978/1429/1241 975/1426/1238 +f 951/1404/1217 976/1430/1242 948/1402/1215 +f 949/1400/1213 980/1431/1243 977/1428/1240 +f 950/1401/1214 968/1419/1231 978/1429/1241 +f 953/1406/1219 979/1432/1244 951/1404/1217 +f 952/1403/1216 982/1433/1245 980/1431/1243 +f 955/1408/1221 981/1434/1246 953/1406/1219 +f 954/1405/1218 957/1409/1222 982/1433/1245 +f 896/1343/1158 983/1435/1247 955/1408/1221 +f 956/1407/1220 958/1436/1248 957/1409/1222 +f 895/1379/1193 984/1437/1249 896/1343/1158 +f 929/1380/1194 958/1436/1248 930/1378/1192 +f 931/1381/1195 985/1438/1250 895/1379/1193 +f 932/1382/1196 986/1439/1251 929/1380/1194 +f 925/1375/1189 987/1440/1252 931/1381/1195 +f 933/1385/1198 988/1441/1253 932/1382/1196 +f 990/1442/1254 992/1443/1255 989/1444/1256 +f 985/1438/1250 994/1445/1257 984/1437/1249 +f 986/1439/1251 959/1410/1223 958/1436/1248 +f 987/1440/1252 993/1446/1258 985/1438/1250 +f 988/1441/1253 995/1447/1259 986/1439/1251 +f 928/1377/1191 996/1448/1260 987/1440/1252 +f 962/1413/1225 989/1444/1256 988/1441/1253 +f 928/1377/1191 998/1449/1261 997/1450/1262 +f 961/1451/1227 990/1442/1254 962/1413/1225 +f 927/1376/1190 1000/1452/1263 998/1449/1261 +f 964/1417/1229 999/1453/1264 961/1415/1227 +f 963/1414/1226 1002/1454/1265 1000/1452/1263 +f 966/1421/1233 1001/1455/1266 964/1417/1229 +f 968/1419/1231 1004/1456/1267 1005/1457/1268 +f 965/1416/1228 1006/1458/1269 1002/1454/1265 +f 970/1424/1236 1003/1459/1270 966/1421/1233 +f 967/1418/1230 1008/1460/1271 1004/1456/1267 +f 969/1420/1232 1009/1461/1272 1006/1458/1269 +f 973/1427/1239 1007/1462/1273 970/1424/1236 +f 971/1422/1234 1011/1463/1274 1008/1460/1271 +f 972/1423/1235 1012/1464/1275 1009/1461/1272 +f 976/1430/1242 1010/1465/1276 973/1427/1239 +f 974/1425/1237 1014/1466/1277 1011/1463/1274 +f 975/1426/1238 1015/1467/1278 1012/1464/1275 +f 979/1432/1244 1013/1468/1279 976/1430/1242 +f 977/1428/1240 1017/1469/1280 1014/1466/1277 +f 978/1429/1241 1005/1457/1268 1015/1467/1278 +f 981/1434/1246 1016/1470/1281 979/1432/1244 +f 980/1431/1243 1019/1471/1282 1017/1469/1280 +f 983/1435/1247 1018/1472/1283 981/1434/1246 +f 982/1433/1245 960/1411/1224 1019/1471/1282 +f 984/1437/1249 1020/1473/1284 983/1435/1247 +f 1022/1474/1285 1024/1475/1286 1021/1476/1287 +f 997/1450/1262 1025/1477/1288 1026/1478/1289 +f 999/1479/1264 991/1480/1290 990/1442/1254 +f 998/1449/1261 1028/1481/1291 1025/1477/1288 +f 1001/1455/1266 1027/1482/1292 999/1453/1264 +f 1000/1452/1263 1029/1483/1293 1028/1481/1291 +f 1003/1459/1270 1021/1476/1287 1001/1455/1266 +f 1005/1457/1268 1030/1484/1294 1031/1485/1295 +f 1002/1454/1265 1032/1486/1296 1029/1483/1293 +f 1007/1462/1273 1022/1474/1285 1003/1459/1270 +f 1004/1456/1267 1034/1487/1297 1030/1484/1294 +f 1006/1458/1269 1035/1488/1298 1032/1486/1296 +f 1010/1465/1276 1033/1489/1299 1007/1462/1273 +f 1008/1460/1271 1037/1490/1300 1034/1487/1297 +f 1009/1461/1272 1038/1491/1301 1035/1488/1298 +f 1013/1468/1279 1036/1492/1302 1010/1465/1276 +f 1011/1463/1274 1040/1493/1303 1037/1490/1300 +f 1012/1464/1275 1041/1494/1304 1038/1491/1301 +f 1016/1470/1281 1039/1495/1305 1013/1468/1279 +f 1014/1466/1277 1043/1496/1306 1040/1493/1303 +f 1015/1467/1278 1031/1485/1295 1041/1494/1304 +f 1018/1472/1283 1042/1497/1307 1016/1470/1281 +f 1017/1469/1280 1045/1498/1308 1043/1496/1306 +f 1020/1473/1284 1044/1499/1309 1018/1472/1283 +f 1019/1471/1282 1047/1500/1310 1045/1498/1308 +f 994/1445/1257 1046/1501/1311 1020/1473/1284 +f 960/1411/1224 1049/1502/1312 1047/1500/1310 +f 993/1446/1258 1048/1503/1313 994/1445/1257 +f 995/1447/1259 1049/1502/1312 959/1410/1223 +f 996/1448/1260 1050/1504/1314 993/1446/1258 +f 989/1444/1256 1051/1505/1315 995/1447/1259 +f 997/1450/1262 1052/1506/1316 996/1448/1260 +f 1054/1507/1317 1056/1508/1318 1053/1509/1319 +f 1031/1485/1295 1057/1510/1320 1058/1511/1321 +f 1029/1483/1293 1059/1512/1322 1060/1513/1323 +f 1033/1489/1299 1023/1514/1324 1022/1474/1285 +f 1030/1484/1294 1062/1515/1325 1057/1510/1320 +f 1032/1486/1296 1063/1516/1326 1059/1512/1322 +f 1036/1492/1302 1061/1517/1327 1033/1489/1299 +f 1034/1487/1297 1064/1518/1328 1062/1515/1325 +f 1035/1488/1298 1065/1519/1329 1063/1516/1326 +f 1039/1495/1305 1053/1509/1319 1036/1492/1302 +f 1037/1490/1300 1066/1520/1330 1064/1518/1328 +f 1038/1491/1301 1067/1521/1331 1065/1519/1329 +f 1042/1497/1307 1054/1507/1317 1039/1495/1305 +f 1040/1493/1303 1069/1522/1332 1066/1520/1330 +f 1041/1494/1304 1058/1511/1321 1067/1521/1331 +f 1044/1499/1309 1068/1523/1333 1042/1497/1307 +f 1043/1496/1306 1071/1524/1334 1069/1522/1332 +f 1046/1501/1311 1070/1525/1335 1044/1499/1309 +f 1045/1498/1308 1073/1526/1336 1071/1524/1334 +f 1048/1503/1313 1072/1527/1337 1046/1501/1311 +f 1047/1500/1310 1075/1528/1338 1073/1526/1336 +f 1050/1504/1314 1074/1529/1339 1048/1503/1313 +f 1051/1505/1315 1075/1528/1338 1049/1502/1312 +f 1052/1506/1316 1076/1530/1340 1050/1504/1314 +f 992/1443/1255 1077/1531/1341 1051/1505/1315 +f 1026/1478/1289 1078/1532/1342 1052/1506/1316 +f 991/1480/1290 1079/1533/1343 992/1443/1255 +f 1026/1478/1289 1082/1534/1344 1080/1535/1345 +f 1027/1536/1292 1081/1537/1346 991/1480/1290 +f 1025/1477/1288 1084/1538/1347 1082/1534/1344 +f 1021/1476/1287 1083/1539/1348 1027/1482/1292 +f 1028/1481/1291 1060/1513/1323 1084/1538/1347 +f 1086/1540/1349 1088/1541/1350 1085/1542/1351 +f 1064/1518/1328 1089/1543/1352 1090/1544/1353 +f 1065/1519/1329 1091/1545/1354 1092/1546/1355 +f 1068/1523/1333 1055/1547/1356 1054/1507/1317 +f 1066/1520/1330 1094/1548/1357 1089/1543/1352 +f 1067/1521/1331 1095/1549/1358 1091/1545/1354 +f 1070/1525/1335 1093/1550/1359 1068/1523/1333 +f 1069/1522/1332 1096/1551/1360 1094/1548/1357 +f 1072/1527/1337 1085/1542/1351 1070/1525/1335 +f 1071/1524/1334 1097/1552/1361 1096/1551/1360 +f 1074/1529/1339 1086/1540/1349 1072/1527/1337 +f 1073/1526/1336 1099/1553/1362 1097/1552/1361 +f 1076/1530/1340 1098/1554/1363 1074/1529/1339 +f 1077/1531/1341 1099/1553/1362 1075/1528/1338 +f 1078/1532/1342 1100/1555/1364 1076/1530/1340 +f 1079/1533/1343 1101/1556/1365 1077/1531/1341 +f 1080/1535/1345 1102/1557/1366 1078/1532/1342 +f 1081/1537/1346 1103/1558/1367 1079/1533/1343 +f 1080/1535/1345 1106/1559/1368 1104/1560/1369 +f 1083/1561/1348 1105/1562/1370 1081/1537/1346 +f 1082/1534/1344 1108/1563/1371 1106/1559/1368 +f 1024/1475/1286 1107/1564/1372 1083/1539/1348 +f 1084/1538/1347 1110/1565/1373 1108/1563/1371 +f 1023/1514/1324 1109/1566/1374 1024/1475/1286 +f 1058/1511/1321 1112/1567/1375 1095/1549/1358 +f 1060/1513/1323 1113/1568/1376 1110/1565/1373 +f 1061/1517/1327 1111/1569/1377 1023/1514/1324 +f 1057/1510/1320 1115/1570/1378 1112/1567/1375 +f 1059/1512/1322 1116/1571/1379 1113/1568/1376 +f 1053/1509/1319 1114/1572/1380 1061/1517/1327 +f 1062/1515/1325 1090/1544/1353 1115/1570/1378 +f 1063/1516/1326 1092/1546/1355 1116/1571/1379 +f 1118/1573/1381 1120/1574/1382 1117/1575/1383 +f 1096/1551/1360 1121/1576/1384 1122/1577/1385 +f 1098/1554/1363 1087/1578/1386 1086/1540/1349 +f 1097/1552/1361 1124/1579/1387 1121/1576/1384 +f 1100/1555/1364 1123/1580/1388 1098/1554/1363 +f 1101/1556/1365 1124/1579/1387 1099/1553/1362 +f 1102/1557/1366 1117/1575/1383 1100/1555/1364 +f 1103/1558/1367 1125/1581/1389 1101/1556/1365 +f 1104/1560/1369 1118/1573/1381 1102/1557/1366 +f 1105/1562/1370 1126/1582/1390 1103/1558/1367 +f 1104/1560/1369 1129/1583/1391 1127/1584/1392 +f 1107/1585/1372 1128/1586/1393 1105/1562/1370 +f 1106/1559/1368 1131/1587/1394 1129/1583/1391 +f 1109/1566/1374 1130/1588/1395 1107/1564/1372 +f 1108/1563/1371 1133/1589/1396 1131/1587/1394 +f 1111/1569/1377 1132/1590/1397 1109/1566/1374 +f 1095/1549/1358 1135/1591/1398 1136/1592/1399 +f 1110/1565/1373 1137/1593/1400 1133/1589/1396 +f 1114/1572/1380 1134/1594/1401 1111/1569/1377 +f 1112/1567/1375 1139/1595/1402 1135/1591/1398 +f 1113/1568/1376 1140/1596/1403 1137/1593/1400 +f 1056/1508/1318 1138/1597/1404 1114/1572/1380 +f 1115/1570/1378 1142/1598/1405 1139/1595/1402 +f 1116/1571/1379 1143/1599/1406 1140/1596/1403 +f 1055/1547/1356 1141/1600/1407 1056/1508/1318 +f 1090/1544/1353 1145/1601/1408 1142/1598/1405 +f 1092/1546/1355 1146/1602/1409 1143/1599/1406 +f 1093/1550/1359 1144/1603/1410 1055/1547/1356 +f 1089/1543/1352 1148/1604/1411 1145/1601/1408 +f 1091/1545/1354 1136/1592/1399 1146/1602/1409 +f 1085/1542/1351 1147/1605/1412 1093/1550/1359 +f 1094/1548/1357 1122/1577/1385 1148/1604/1411 +f 1126/1582/1390 1150/1606/1413 1125/1581/1389 +f 1127/1584/1392 1119/1607/1414 1118/1573/1381 +f 1128/1586/1393 1149/1608/1415 1126/1582/1390 +f 1127/1584/1392 1153/1609/1416 1151/1610/1417 +f 1130/1611/1395 1152/1612/1418 1128/1586/1393 +f 1129/1583/1391 1155/1613/1419 1153/1609/1416 +f 1132/1590/1397 1154/1614/1420 1130/1588/1395 +f 1131/1587/1394 1157/1615/1421 1155/1613/1419 +f 1134/1594/1401 1156/1616/1422 1132/1590/1397 +f 1136/1592/1399 1159/1617/1423 1160/1618/1424 +f 1133/1589/1396 1161/1619/1425 1157/1615/1421 +f 1138/1597/1404 1158/1620/1426 1134/1594/1401 +f 1135/1591/1398 1163/1621/1427 1159/1617/1423 +f 1137/1593/1400 1164/1622/1428 1161/1619/1425 +f 1141/1600/1407 1162/1623/1429 1138/1597/1404 +f 1139/1595/1402 1166/1624/1430 1163/1621/1427 +f 1140/1596/1403 1167/1625/1431 1164/1622/1428 +f 1144/1603/1410 1165/1626/1432 1141/1600/1407 +f 1142/1598/1405 1169/1627/1433 1166/1624/1430 +f 1143/1599/1406 1170/1628/1434 1167/1625/1431 +f 1147/1605/1412 1168/1629/1435 1144/1603/1410 +f 1145/1601/1408 1172/1630/1436 1169/1627/1433 +f 1146/1602/1409 1160/1618/1424 1170/1628/1434 +f 1088/1541/1350 1171/1631/1437 1147/1605/1412 +f 1148/1604/1411 1174/1632/1438 1172/1630/1436 +f 1087/1578/1386 1173/1633/1439 1088/1541/1350 +f 1122/1577/1385 1176/1634/1440 1174/1632/1438 +f 1123/1580/1388 1175/1635/1441 1087/1578/1386 +f 1121/1576/1384 1178/1636/1442 1176/1634/1440 +f 1117/1575/1383 1177/1637/1443 1123/1580/1388 +f 1125/1581/1389 1178/1636/1442 1124/1579/1387 +f 1150/1638/1444 1156/1639/1444 1166/1640/1444 +f 1180/1641/1445 1182/1642/1445 1179/1643/1446 +f 1182/1644/1447 733/1645/1447 1183/1646/1447 +f 1183/1647/1448 1188/1648/1448 1184/1649/1448 +f 1188/1650/1449 1187/1651/1449 1181/1652/1449 +f 1193/1653/1450 1192/1654/1450 1191/1655/1450 +f 1195/1656/1451 1197/1657/1451 1196/1658/1451 +f 1199/1659/1452 1186/1660/1452 1193/1661/1452 +f 1185/1662/1452 1194/1663/1452 1200/1664/1452 +f 1183/1665/1448 1189/1666/1453 1187/1667/1448 +f 1181/1668/1445 749/1669/1452 1182/1670/1445 +f 1202/1671/1451 1204/1672/1451 1201/1673/1451 +f 1208/1674/1454 1205/1675/1455 1207/1676/1456 +f 1210/1677/1450 1211/1678/1450 1212/1679/1450 +f 1202/1680/1457 1201/1681/1453 1214/1682/1458 +f 1214/1683/1459 1201/1673/1460 1208/1684/1461 +f 1217/1685/1462 1205/1686/1463 1213/1687/1464 +f 1220/1688/1453 1222/1689/1453 1209/1690/1453 +f 1223/1691/1447 1226/1692/1447 1228/1693/1447 +f 1218/1694/1453 1223/1691/1453 1219/1695/1453 +f 1216/1696/1452 1225/1697/1452 1217/1698/1452 +f 1210/1677/1452 1227/1699/1452 1215/1700/1452 +f 1219/1695/1465 1221/1701/1465 1220/1688/1465 +f 1217/1698/1450 1224/1702/1450 1218/1694/1450 +f 1215/1700/1466 1226/1692/1466 1216/1696/1466 +f 1209/1690/1451 1228/1693/1451 1210/1677/1451 +f 1203/1703/1467 1229/1704/1468 1202/1705/1467 +f 1230/1706/1469 1231/1707/1470 1229/1708/1468 +f 1230/1709/1471 1204/1710/1472 1232/1711/1473 +f 1201/1712/1474 1229/1713/1475 1231/1714/1476 +f 1236/1715/1477 1237/1716/1478 1238/1717/1479 +f 1237/1718/1480 1186/1719/1481 1238/1720/1482 +f 1185/1721/1483 1234/1722/1484 1233/1723/1485 +f 1235/1724/1486 1234/1725/1487 1194/1726/1488 +f 1242/1727/1489 1240/1728/1490 1239/1729/1489 +f 1197/1730/1491 1244/1731/1492 1243/1732/1493 +f 1246/1733/1452 1245/1734/1452 1238/1735/1452 +f 1247/1736/1453 1240/1737/1490 1233/1738/1453 +f 1250/1739/1494 1235/1740/1495 1236/1741/1496 +f 1251/1742/1497 1253/1743/1498 1252/1744/1499 +f 1249/1745/1500 1247/1746/1501 1248/1747/1502 +f 1235/1740/1495 1248/1747/1502 1234/1748/1503 +f 1246/1749/1504 1250/1739/1494 1245/1750/1505 +f 1245/1750/1505 1236/1741/1496 1237/1751/1506 +f 1249/1745/1500 1256/1752/1507 1255/1753/1508 +f 1260/1754/1509 1258/1755/1510 1257/1756/1511 +f 1259/1757/1512 1261/1758/1513 1258/1755/1510 +f 1262/1759/1514 1263/1760/1515 1261/1758/1513 +f 1242/1761/1451 1239/1762/1451 1268/1763/1451 +f 1256/1752/1507 1269/1764/1516 1255/1753/1508 +f 1246/1749/1504 1270/1765/1517 1256/1752/1507 +f 1272/1766/1518 1267/1767/1519 1268/1768/1520 +f 1269/1764/1516 1247/1746/1501 1255/1753/1508 +f 1264/1769/1521 1271/1770/1522 1263/1760/1515 +f 1252/1744/1499 1275/1771/1523 1274/1772/1524 +f 1195/1773/1525 1254/1774/1526 1251/1742/1497 +f 1274/1772/1524 1277/1775/1527 1276/1776/1528 +f 1276/1776/1528 1279/1777/1529 1278/1778/1530 +f 1278/1778/1530 1281/1779/1531 1280/1780/1532 +f 1280/1780/1532 1283/1781/1451 1282/1782/1451 +f 1283/1781/1451 1284/1783/1533 1282/1782/1451 +f 1285/1784/1534 1257/1756/1511 1284/1783/1533 +f 1286/1785/1535 1288/1786/1536 1289/1787/1537 +f 1291/1788/1538 1293/1789/1539 1290/1790/1540 +f 1286/1785/1535 1295/1791/1541 1294/1792/1542 +f 1290/1790/1540 1297/1793/1543 1296/1794/1544 +f 1298/1795/1545 1294/1792/1542 1295/1791/1541 +f 1299/1796/1546 1297/1793/1543 1300/1797/1547 +f 1301/1798/1449 1300/1797/1547 1302/1799/1548 +f 1301/1798/1449 1304/1800/1549 1303/1801/1550 +f 1305/1802/1551 1306/1803/1552 1307/1804/1553 +f 1303/1801/1550 1309/1805/1554 1308/1806/1555 +f 1305/1802/1551 1311/1807/1556 1310/1808/1557 +f 1287/1809/1558 1309/1805/1554 1288/1786/1536 +f 1291/1788/1538 1311/1807/1556 1292/1810/1559 +f 1309/1805/1554 1313/1811/1560 1288/1786/1536 +f 1289/1787/1537 1288/1786/1536 1313/1811/1560 +f 1293/1789/1539 1292/1812/1559 1314/1813/1561 +f 1297/1793/1543 1314/1813/1561 1315/1814/1562 +f 1298/1815/1545 1295/1816/1541 1316/1817/1563 +f 1300/1797/1547 1315/1814/1562 1317/1818/1564 +f 1298/1815/1545 1319/1819/1565 1318/1820/1566 +f 1302/1799/1548 1317/1818/1564 1320/1821/1567 +f 1302/1799/1548 1321/1822/1568 1304/1800/1549 +f 1307/1804/1553 1306/1803/1552 1322/1823/1569 +f 1304/1800/1549 1312/1824/1570 1309/1805/1554 +f 1320/1821/1567 1323/1825/1571 1324/1826/1572 +f 1320/1821/1567 1325/1827/1573 1321/1822/1568 +f 1321/1822/1568 1326/1828/1574 1312/1824/1570 +f 1311/1829/1556 1307/1830/1553 1327/1831/1575 +f 1312/1824/1570 1328/1832/1576 1313/1811/1560 +f 1292/1812/1559 1311/1829/1556 1327/1831/1575 +f 1289/1833/1537 1313/1811/1560 1328/1832/1576 +f 1314/1813/1561 1292/1834/1559 1329/1835/1577 +f 1315/1814/1562 1329/1835/1577 1330/1836/1578 +f 1317/1818/1564 1330/1836/1578 1323/1825/1571 +f 1327/1831/1575 1332/1837/1579 1292/1834/1559 +f 1328/1832/1576 1334/1838/1580 1289/1839/1537 +f 1329/1835/1577 1332/1837/1579 1335/1840/1581 +f 1289/1839/1537 1336/1841/1582 1295/1842/1541 +f 1330/1836/1578 1335/1840/1581 1337/1843/1583 +f 1316/1844/1563 1295/1842/1541 1336/1841/1582 +f 1323/1825/1571 1337/1843/1583 1338/1845/1584 +f 1324/1826/1572 1338/1845/1584 1339/1846/1585 +f 1324/1826/1572 1340/1847/1586 1325/1827/1573 +f 1325/1827/1573 1341/1848/1587 1326/1828/1574 +f 1327/1831/1575 1307/1849/1553 1331/1850/1588 +f 1326/1828/1574 1333/1851/1589 1328/1832/1576 +f 1339/1846/1585 1342/1852/1590 1343/1853/1591 +f 1339/1846/1585 1344/1854/1592 1340/1847/1586 +f 1307/1849/1553 1322/1855/1593 1345/1856/1594 +f 1341/1848/1587 1344/1854/1592 1346/1857/1595 +f 1331/1850/1588 1307/1849/1553 1345/1856/1594 +f 1333/1851/1589 1341/1848/1587 1346/1857/1595 +f 1332/1837/1579 1331/1858/1588 1347/1859/1596 +f 1335/1840/1581 1347/1859/1596 1348/1860/1597 +f 1336/1841/1582 1334/1861/1580 1349/1862/1598 +f 1337/1843/1583 1348/1860/1597 1350/1863/1599 +f 1316/1864/1563 1336/1841/1582 1349/1862/1598 +f 1337/1843/1583 1342/1852/1590 1338/1845/1584 +f 1333/1865/1589 1352/1866/1600 1334/1861/1580 +f 1349/1862/1598 1334/1861/1580 1352/1866/1600 +f 1316/1867/1563 1349/1868/1598 1353/1869/1601 +f 1342/1852/1590 1350/1870/1599 1354/1871/1602 +f 1319/1872/1565 1316/1867/1563 1353/1869/1601 +f 1343/1853/1591 1354/1871/1602 1355/1873/1603 +f 1343/1853/1591 1356/1874/1604 1344/1854/1592 +f 1345/1856/1594 1322/1855/1593 1357/1875/1605 +f 1346/1857/1595 1344/1854/1592 1356/1874/1604 +f 1331/1858/1588 1345/1856/1594 1357/1875/1605 +f 1333/1865/1589 1346/1876/1595 1351/1877/1606 +f 1355/1873/1607 1359/1878/1608 1356/1874/1604 +f 1356/1874/1604 1360/1879/1609 1346/1876/1595 +f 1331/1880/1588 1357/1881/1605 1361/1882/1610 +f 1351/1877/1606 1346/1876/1595 1360/1879/1609 +f 1347/1883/1596 1361/1882/1610 1362/1884/1611 +f 1348/1885/1597 1362/1884/1611 1363/1886/1612 +f 1350/1870/1599 1363/1886/1612 1364/1887/1613 +f 1354/1871/1602 1364/1887/1613 1365/1888/1614 +f 1355/1873/1607 1365/1888/1614 1358/1889/1607 +f 1349/1890/1598 1352/1891/1600 1366/1892/1615 +f 1353/1893/1601 1349/1890/1598 1366/1892/1615 +f 1322/1855/1616 1368/1894/1617 1357/1895/1618 +f 1360/1896/1619 1369/1897/1620 1370/1898/1621 +f 1357/1895/1618 1371/1899/1622 1361/1900/1623 +f 1360/1896/1619 1372/1901/1624 1351/1902/1625 +f 1362/1903/1626 1371/1899/1622 1373/1904/1627 +f 1351/1902/1625 1374/1905/1628 1352/1891/1629 +f 1363/1906/1630 1373/1904/1627 1375/1907/1631 +f 1366/1892/1632 1374/1905/1628 1376/1908/1633 +f 1364/1909/1634 1375/1907/1631 1377/1910/1635 +f 1366/1892/1632 1378/1911/1636 1353/1912/1637 +f 1364/1909/1634 1379/1913/1638 1365/1914/1639 +f 1319/1872/1640 1378/1911/1636 1380/1915/1641 +f 1365/1914/1639 1381/1916/1642 1358/1917/1643 +f 1322/1855/1616 1306/1918/1644 1367/1919/1645 +f 1318/1920/1646 1319/1872/1640 1380/1915/1641 +f 1359/1921/1647 1381/1916/1642 1369/1897/1620 +f 1379/1913/1638 1377/1922/1635 1382/1923/1648 +f 1379/1913/1638 1383/1924/1649 1381/1916/1642 +f 1369/1897/1620 1383/1924/1649 1384/1925/1650 +f 1370/1898/1621 1369/1897/1620 1384/1925/1650 +f 1370/1926/1621 1384/1927/1650 1385/1928/1651 +f 1372/1929/1652 1385/1928/1651 1386/1930/1653 +f 1373/1931/1627 1371/1932/1622 1387/1933/1654 +f 1374/1934/1628 1386/1930/1653 1388/1935/1655 +f 1373/1931/1627 1389/1936/1656 1375/1937/1657 +f 1376/1938/1633 1374/1934/1628 1388/1935/1655 +f 1375/1937/1657 1390/1939/1658 1377/1922/1635 +f 1378/1940/1636 1376/1941/1633 1391/1942/1659 +f 1382/1923/1648 1377/1922/1635 1390/1939/1658 +f 1380/1915/1641 1378/1940/1636 1391/1942/1659 +f 1383/1924/1649 1382/1943/1648 1392/1944/1660 +f 1384/1925/1650 1383/1924/1649 1392/1944/1660 +f 1390/1939/1658 1394/1945/1661 1382/1943/1648 +f 1392/1944/1660 1382/1943/1648 1394/1945/1661 +f 1384/1927/1650 1392/1946/1660 1395/1947/1662 +f 1368/1948/1617 1367/1919/1645 1396/1949/1663 +f 1385/1928/1651 1384/1927/1650 1395/1947/1662 +f 1368/1948/1617 1397/1950/1664 1371/1932/1622 +f 1386/1951/1653 1385/1952/1651 1398/1953/1665 +f 1387/1933/1654 1371/1932/1622 1397/1950/1664 +f 1386/1951/1653 1399/1954/1666 1388/1955/1667 +f 1376/1941/1633 1388/1935/1655 1399/1956/1666 +f 1390/1939/1658 1389/1957/1656 1393/1958/1668 +f 1397/1950/1664 1396/1959/1663 1400/1960/1669 +f 1398/1961/1670 1385/1962/1670 1401/1963/1670 +f 1397/1950/1664 1402/1964/1671 1387/1965/1672 +f 1389/1966/1656 1402/1967/1671 1398/1968/1665 +f 1376/1969/1633 1399/1970/1666 1403/1971/1673 +f 1393/1972/1668 1389/1966/1656 1398/1968/1665 +f 1391/1973/1659 1376/1969/1633 1403/1971/1674 +f 1392/1946/1660 1394/1974/1661 1404/1975/1675 +f 1395/1947/1662 1392/1946/1660 1404/1975/1675 +f 1385/1962/1651 1395/1976/1662 1401/1963/1676 +f 1394/1977/1661 1393/1978/1668 1398/1979/1665 +f 1404/1980/1675 1394/1977/1661 1398/1981/1665 +f 1395/1982/1662 1404/1980/1675 1398/1983/1665 +f 1401/1984/1676 1395/1982/1662 1398/1985/1665 +f 1399/1986/1666 1398/1987/1665 1405/1988/1677 +f 1403/1971/1673 1405/1989/1677 1406/1990/1678 +f 1391/1991/1659 1403/1971/1674 1406/1990/1679 +f 1380/1915/1641 1391/1992/1659 1406/1993/1679 +f 1396/1994/1663 1367/1919/1645 1407/1995/1680 +f 1400/1996/1669 1396/1994/1663 1407/1995/1680 +f 1380/1915/1641 1406/1993/1679 1408/1997/1681 +f 1400/1998/1669 1407/1999/1680 1409/2000/1682 +f 1400/1998/1669 1410/2001/1683 1402/2002/1671 +f 1405/2003/1677 1398/2004/1665 1411/2005/1684 +f 1398/2006/1665 1402/2007/1671 1410/2008/1683 +f 1406/2009/1678 1411/2010/1684 1408/2011/1681 +f 1409/2012/1682 1407/2013/1680 1412/2014/1685 +f 1410/2015/1683 1412/2014/1685 1413/2016/1686 +f 1411/2017/1684 1398/2018/1665 1414/2019/1687 +f 1398/2020/1665 1410/2021/1683 1413/2022/1686 +f 1408/2023/1681 1411/2024/1684 1414/2025/1687 +f 1380/1915/1641 1408/2026/1681 1415/2027/1688 +f 1408/2028/1681 1414/2029/1687 1416/2030/1689 +f 1415/2027/1688 1408/2028/1681 1416/2030/1689 +f 1398/2031/1665 1417/2032/1690 1418/2033/1691 +f 1398/2034/1665 1418/2033/1691 1419/2035/1692 +f 1407/2013/1680 1367/1919/1645 1420/2036/1693 +f 1398/2037/1665 1419/2035/1692 1421/2038/1694 +f 1412/2014/1685 1407/2013/1680 1420/2036/1693 +f 1419/2035/1692 1418/2033/1691 1422/2039/1695 +f 1418/2033/1691 1417/2040/1690 1422/2039/1695 +f 1416/2041/1689 1414/2042/1687 1423/2043/1696 +f 1398/2044/1665 1424/2045/1697 1425/2046/1698 +f 1415/2047/1688 1416/2048/1689 1426/2049/1699 +f 1417/2040/1690 1398/2050/1665 1425/2046/1698 +f 1380/1915/1641 1415/2047/1688 1426/2049/1699 +f 1412/2051/1685 1420/2052/1693 1427/2053/1700 +f 1398/2054/1665 1421/2055/1694 1428/2056/1701 +f 1413/2057/1686 1427/2053/1700 1429/2058/1702 +f 1414/2059/1687 1428/2056/1701 1423/2060/1696 +f 1413/2061/1686 1424/2045/1697 1398/2044/1665 +f 1421/2062/1694 1430/2063/1703 1431/2064/1704 +f 1421/2062/1694 1432/2065/1705 1428/2066/1706 +f 1429/2058/1702 1427/2067/1700 1433/2068/1707 +f 1428/2066/1706 1434/2069/1708 1423/2043/1709 +f 1424/2070/1697 1433/2068/1707 1435/2071/1710 +f 1423/2043/1709 1436/2072/1711 1416/2048/1689 +f 1425/2073/1698 1435/2071/1710 1437/2074/1712 +f 1426/2049/1699 1416/2048/1689 1436/2072/1711 +f 1425/2073/1698 1438/2075/1713 1417/2076/1690 +f 1422/2077/1695 1438/2075/1713 1439/2078/1714 +f 1422/2077/1695 1430/2063/1703 1419/2079/1692 +f 1438/2075/1713 1437/2080/1712 1440/2081/1715 +f 1439/2078/1716 1440/2081/1715 1441/2082/1717 +f 1439/2078/1716 1442/2083/1718 1430/2063/1703 +f 1431/2064/1704 1430/2063/1703 1442/2083/1718 +f 1431/2084/1704 1443/2085/1719 1444/2086/1720 +f 1427/2087/1700 1445/2088/1721 1446/2089/1722 +f 1431/2084/1704 1447/2090/1723 1432/2091/1705 +f 1433/2092/1707 1446/2089/1722 1448/2093/1724 +f 1434/2094/1708 1447/2090/1723 1449/2095/1725 +f 1433/2092/1707 1450/2096/1726 1435/2097/1710 +f 1436/2098/1711 1449/2095/1725 1451/2099/1727 +f 1437/2080/1712 1450/2096/1726 1452/2100/1728 +f 1436/2098/1711 1453/2101/1729 1426/2102/1699 +f 1437/2080/1712 1454/2103/1730 1440/2081/1715 +f 1426/2102/1699 1455/2104/1731 1380/1915/1641 +f 1440/2081/1715 1456/2105/1732 1441/2082/1717 +f 1367/1919/1645 1306/2106/1733 1457/2107/1734 +f 1318/2108/1646 1380/1915/1641 1455/2104/1731 +f 1442/2083/1718 1456/2105/1732 1443/2085/1719 +f 1420/2109/1693 1457/2107/1734 1445/2088/1721 +f 1447/2110/1735 1458/2111/1736 1459/2112/1737 +f 1446/2113/1738 1461/2114/1739 1448/2115/1740 +f 1449/2116/1741 1459/2112/1737 1462/2117/1742 +f 1448/2115/1740 1463/2118/1743 1450/2119/1744 +f 1451/2120/1745 1462/2117/1742 1464/2121/1746 +f 1450/2119/1744 1465/2122/1747 1452/2123/1748 +f 1453/2124/1749 1451/2120/1745 1464/2121/1746 +f 1452/2123/1748 1466/2125/1750 1454/2126/1751 +f 1454/2126/1751 1467/2127/1752 1456/2128/1753 +f 1443/2129/1754 1467/2127/1752 1468/2130/1755 +f 1444/2131/1756 1468/2130/1755 1458/2111/1736 +f 1446/2113/1738 1445/2132/1757 1460/2133/1758 +f 1455/2134/1759 1453/2135/1749 1469/2136/1760 +f 1466/2125/1750 1471/2137/1761 1467/2127/1762 +f 1468/2130/1755 1471/2137/1761 1472/2138/1763 +f 1445/2132/1757 1457/2139/1764 1473/2140/1765 +f 1458/2111/1736 1468/2130/1755 1472/2138/1763 +f 1460/2133/1758 1445/2132/1757 1473/2140/1765 +f 1453/2135/1749 1464/2141/1746 1469/2136/1760 +f 1466/2125/1750 1465/2142/1747 1470/2143/1766 +f 1460/2144/1758 1475/2145/1767 1461/2146/1739 +f 1462/2147/1742 1476/2148/1768 1477/2149/1769 +f 1461/2146/1739 1478/2150/1770 1463/2151/1771 +f 1464/2141/1746 1477/2149/1769 1479/2152/1772 +f 1463/2151/1771 1480/2153/1773 1465/2142/1747 +f 1469/2136/1760 1464/2141/1746 1479/2152/1772 +f 1470/2143/1766 1480/2153/1773 1481/2154/1774 +f 1470/2143/1766 1482/2155/1775 1471/2137/1761 +f 1472/2138/1763 1482/2155/1775 1483/2156/1776 +f 1472/2138/1763 1484/2157/1777 1458/2158/1736 +f 1460/2144/1758 1473/2159/1765 1474/2160/1778 +f 1459/2161/1779 1484/2157/1777 1476/2148/1768 +f 1481/2154/1774 1486/2162/1780 1482/2155/1775 +f 1483/2156/1776 1486/2162/1780 1487/2163/1781 +f 1484/2157/1777 1487/2163/1781 1488/2164/1782 +f 1476/2148/1768 1488/2164/1782 1489/2165/1783 +f 1477/2149/1769 1476/2148/1768 1489/2165/1783 +f 1478/2150/1770 1475/2166/1767 1490/2167/1784 +f 1478/2150/1770 1491/2168/1785 1480/2153/1773 +f 1480/2153/1773 1485/2169/1786 1481/2154/1774 +f 1477/2170/1769 1492/2171/1787 1493/2172/1788 +f 1475/2166/1767 1495/2173/1789 1490/2167/1784 +f 1479/2174/1772 1477/2170/1769 1493/2172/1788 +f 1490/2167/1784 1496/2175/1790 1491/2168/1785 +f 1469/2176/1760 1479/2177/1772 1497/2178/1791 +f 1491/2168/1785 1498/2179/1792 1485/2169/1786 +f 1455/2134/1759 1469/2176/1760 1497/2178/1791 +f 1485/2169/1786 1499/2180/1793 1486/2162/1780 +f 1487/2163/1781 1499/2180/1793 1500/2181/1794 +f 1473/2182/1765 1457/2183/1764 1305/2184/1551 +f 1488/2164/1782 1500/2181/1794 1501/2185/1795 +f 1473/2182/1765 1310/2186/1557 1474/2187/1778 +f 1489/2165/1783 1501/2185/1795 1492/2171/1787 +f 1474/2187/1778 1494/2188/1796 1475/2166/1767 +f 1500/2181/1794 1502/2189/1797 1503/2190/1798 +f 1305/2184/1551 1457/2183/1764 1306/2191/1552 +f 1501/2185/1795 1503/2190/1798 1504/2192/1799 +f 1492/2171/1787 1504/2192/1799 1505/2193/1800 +f 1493/2172/1788 1492/2171/1787 1505/2193/1800 +f 1495/2173/1789 1494/2194/1796 1506/2195/1801 +f 1479/2177/1772 1493/2196/1788 1294/2197/1542 +f 1495/2173/1789 1507/2198/1802 1496/2175/1790 +f 1497/2178/1791 1479/2177/1772 1294/2197/1542 +f 1496/2175/1790 1508/2199/1803 1498/2179/1792 +f 1455/2200/1759 1497/2201/1791 1318/2202/1566 +f 1498/2179/1792 1502/2189/1797 1499/2180/1793 +f 1506/2195/1801 1291/1788/1538 1290/1790/1540 +f 1294/2197/1542 1493/2196/1788 1286/1785/1535 +f 1507/2198/1802 1290/1790/1540 1296/1794/1544 +f 1497/2201/1791 1294/1792/1542 1298/1795/1545 +f 1507/2198/1802 1299/1796/1546 1508/2199/1803 +f 1318/2202/1566 1497/2201/1791 1298/1795/1545 +f 1508/2199/1803 1301/1798/1449 1502/2189/1797 +f 1503/2190/1798 1301/1798/1449 1303/1801/1550 +f 1504/2192/1799 1303/1801/1550 1308/1806/1555 +f 1504/2192/1799 1287/1809/1558 1505/2193/1800 +f 1494/2194/1796 1310/1808/1557 1291/1788/1538 +f 1505/2193/1800 1286/1785/1535 1493/2196/1788 +f 1510/2203/1804 1512/2204/1805 1509/2205/1806 +f 1513/2206/1807 1515/2207/1807 1516/2208/1807 +f 1516/2209/1808 1511/2210/1809 1510/2211/1810 +f 1519/2212/1811 1513/2206/1812 1516/2208/1813 +f 1521/2213/1814 1518/2214/1814 1517/2215/1814 +f 1515/2216/1815 1512/2217/1805 1511/2218/1816 +f 1518/2219/1451 1520/2220/1451 1519/2221/1451 +f 1517/2222/1817 1509/2223/1818 1521/2224/1819 +f 1520/2225/1820 1521/2226/1821 1509/2227/1822 +f 1524/2228/1823 1526/2229/1824 1523/2230/1451 +f 1533/2231/1452 1534/2232/1452 1542/2233/1452 +f 1539/2234/1825 1544/2235/1826 1540/2236/1827 +f 1542/2237/1449 1523/2238/1449 1526/2239/1449 +f 1537/2240/1828 1547/2241/1828 1538/2242/1828 +f 1548/2243/1829 1525/2244/1830 1524/2228/1831 +f 1549/2245/1832 1533/2246/1833 1532/2247/1834 +f 1551/2248/1835 1532/2249/1834 1531/2250/1836 +f 1530/2251/1837 1529/2252/1838 1553/2253/1839 +f 1555/2254/1840 1535/2255/1841 1554/2256/1842 +f 1550/2257/1843 1534/2258/1844 1533/2259/1833 +f 1554/2260/1845 1534/2261/1844 1556/2262/1846 +f 1528/2263/1847 1552/2264/1848 1529/2265/1849 +f 1536/2266/1850 1546/2267/1851 1537/2240/1852 +f 1540/2268/1827 1558/2269/1853 1541/2270/1854 +f 1542/2271/1855 1558/2269/1853 1545/2272/1856 +f 1543/2273/1857 1538/2274/1450 1547/2275/1450 +f 1560/2276/1858 1562/2277/1859 1559/2278/1860 +f 1563/2279/1861 1561/2280/1862 1560/2276/1863 +f 1565/2281/1864 1564/2282/1865 1563/2279/1861 +f 1567/2283/1866 1568/2284/1867 1566/2285/1868 +f 1567/2286/1869 1570/2287/1870 1568/2288/1871 +f 1571/2289/1872 1569/2290/1872 1572/2291/1872 +f 1573/2292/1873 1572/2293/1874 1574/2294/1875 +f 1573/2295/1453 1575/2296/1453 1561/2297/1453 +f 1575/2298/1876 1574/2299/1875 1578/2300/1877 +f 1574/2301/1452 1572/2302/1452 1563/2303/1452 +f 1559/2278/1860 1577/2304/1878 1580/2305/1879 +f 1580/2305/1880 1576/2306/1881 1579/2307/1882 +f 1576/2308/1883 1578/2309/1877 1579/2310/1884 +f 1566/2285/1868 1565/2281/1885 1567/2283/1866 +f 1582/2311/1451 1584/2312/1451 1581/2312/1451 +f 1582/2313/1886 1587/2314/1887 1585/2315/1888 +f 1586/2316/1889 1589/2317/1890 1587/2318/1891 +f 1589/2319/1892 1581/2320/1893 1590/2321/1894 +f 1585/2322/1895 1589/2323/1896 1590/2324/1897 +f 1582/2311/1898 1588/2325/1898 1586/2316/1898 +f 1583/2326/1452 1592/2327/1452 1593/2328/1452 +f 1585/2329/1451 1594/2330/1451 1591/2331/1451 +f 1585/2332/1451 1583/2333/1451 1582/2333/1451 +f 1581/2334/1451 1594/2335/1451 1590/2335/1451 +f 1596/2336/1451 1592/2332/1451 1595/2337/1451 +f 1584/2338/1453 1595/2339/1453 1594/2340/1453 +f 1583/2311/1899 1596/2312/1899 1584/2312/1899 +f 1594/2341/1900 1592/2342/1900 1591/2343/1900 +f 1592/2332/1901 1598/2337/1902 1597/2332/1903 +f 1598/2337/1902 1599/2332/1904 1597/2332/1903 +f 1598/2344/1905 1596/2345/1906 1600/2346/1907 +f 1593/2347/1908 1597/2348/1909 1599/2349/1910 +f 1602/2350/1451 1604/2351/1451 1601/2352/1451 +f 1603/2353/1452 1605/2354/1452 1606/2355/1452 +f 1609/2356/1911 1611/2357/1911 1608/2358/1911 +f 1611/2359/1453 1602/2360/1453 1601/2361/1453 +f 1613/2362/1449 1612/2363/1449 1601/2364/1449 +f 1608/2358/1911 1612/2365/1911 1613/2366/1911 +f 1606/2367/1912 1613/2366/1912 1607/2368/1912 +f 1605/2369/1912 1608/2358/1912 1606/2367/1912 +f 1601/2370/1913 1615/2371/1914 1602/2372/1915 +f 1601/2373/1916 1589/2374/1916 1614/2375/1916 +f 1603/2376/1917 1617/2377/1918 1604/2378/1919 +f 1617/2379/1920 1587/2380/1920 1604/2381/1920 +f 1619/2382/1921 1621/2383/1922 1618/2384/1923 +f 1622/2385/1924 1624/2386/1925 1625/2387/1926 +f 1620/2388/1927 1627/2389/1928 1621/2383/1922 +f 1625/2387/1926 1628/2390/1929 1629/2391/1930 +f 1626/2392/1931 1631/2393/1932 1627/2389/1928 +f 1629/2391/1930 1632/2394/1933 1633/2395/1934 +f 1630/2396/1935 1635/2397/1936 1631/2393/1932 +f 1633/2395/1934 1636/2398/1937 1637/2399/1938 +f 1634/2400/1939 1639/2401/1940 1635/2397/1936 +f 1637/2399/1938 1640/2402/1941 1641/2403/1941 +f 1638/2404/1942 1643/2405/1943 1639/2401/1940 +f 1640/2402/1941 1645/2406/1944 1641/2403/1941 +f 1643/2405/1943 1646/2407/1945 1647/2408/1946 +f 1644/2409/1947 1618/2384/1923 1645/2406/1944 +f 1647/2408/1946 1623/2410/1948 1622/2385/1924 +f 1648/2411/1949 1650/2412/1950 1651/2413/1951 +f 1652/2414/1952 1650/2412/1950 1649/2415/1953 +f 1654/2416/1954 1653/2417/1955 1652/2414/1952 +f 1656/2418/1956 1658/2419/1957 1659/2420/1958 +f 1660/2421/1959 1655/2422/1960 1654/2416/1954 +f 1657/2423/1961 1663/2424/1962 1658/2419/1957 +f 1664/2425/1963 1661/2426/1964 1660/2421/1959 +f 1662/2427/1965 1667/2428/1966 1663/2424/1962 +f 1668/2429/1967 1665/2430/1968 1664/2425/1963 +f 1666/2431/1969 1671/2432/1970 1667/2428/1966 +f 1672/2433/1971 1669/2434/1972 1668/2429/1967 +f 1670/2435/1973 1651/2436/1951 1671/2432/1970 +f 1674/2437/1974 1673/2438/1975 1672/2433/1971 +f 1675/2439/1976 1677/2440/1977 1673/2438/1975 +f 1651/2413/1951 1678/2441/1978 1679/2442/1979 +f 1680/2443/1980 1676/2444/1981 1675/2439/1976 +f 1653/2417/1955 1678/2441/1978 1650/2412/1950 +f 1680/2443/1980 1683/2445/1982 1681/2446/1983 +f 1655/2422/1960 1682/2447/1984 1653/2417/1955 +f 1659/2420/1958 1685/2448/1985 1683/2445/1982 +f 1661/2426/1964 1684/2449/1986 1655/2422/1960 +f 1658/2419/1957 1687/2450/1987 1685/2448/1985 +f 1665/2430/1968 1686/2451/1988 1661/2426/1964 +f 1663/2424/1962 1689/2452/1989 1687/2450/1987 +f 1669/2434/1972 1688/2453/1990 1665/2430/1968 +f 1667/2428/1966 1691/2454/1991 1689/2452/1989 +f 1673/2438/1975 1690/2455/1992 1669/2434/1972 +f 1671/2432/1970 1679/2456/1979 1691/2454/1991 +f 1691/2454/1991 1692/2457/1993 1693/2458/1994 +f 1676/2444/1981 1695/2459/1995 1677/2440/1977 +f 1679/2442/1979 1696/2460/1996 1692/2461/1993 +f 1676/2444/1981 1697/2462/1997 1694/2463/1998 +f 1682/2447/1984 1696/2460/1996 1678/2441/1978 +f 1681/2446/1983 1699/2464/1999 1697/2462/1997 +f 1684/2449/1986 1698/2465/2000 1682/2447/1984 +f 1683/2445/1982 1701/2466/2001 1699/2464/1999 +f 1686/2451/1988 1700/2467/2002 1684/2449/1986 +f 1685/2448/1985 1703/2468/2003 1701/2466/2001 +f 1688/2453/1990 1702/2469/2004 1686/2451/1988 +f 1687/2450/1987 1705/2470/2005 1703/2468/2003 +f 1690/2455/1992 1704/2471/2006 1688/2453/1990 +f 1689/2452/1989 1693/2458/1994 1705/2470/2005 +f 1677/2440/1977 1706/2472/2007 1690/2455/1992 +f 1693/2458/1994 1707/2473/2008 1708/2474/2009 +f 1694/2463/1998 1710/2475/2010 1695/2459/1995 +f 1692/2461/1993 1711/2476/2011 1707/2477/2008 +f 1697/2462/1997 1709/2478/2012 1694/2463/1998 +f 1698/2465/2000 1711/2476/2011 1696/2460/1996 +f 1697/2462/1997 1714/2479/2013 1712/2480/2014 +f 1700/2467/2002 1713/2481/2015 1698/2465/2000 +f 1699/2464/1999 1716/2482/2016 1714/2479/2013 +f 1702/2469/2004 1715/2483/2017 1700/2467/2002 +f 1701/2466/2001 1718/2484/2018 1716/2482/2016 +f 1704/2471/2006 1717/2485/2019 1702/2469/2004 +f 1703/2468/2003 1720/2486/2020 1718/2484/2018 +f 1706/2472/2007 1719/2487/2021 1704/2471/2006 +f 1705/2470/2005 1708/2474/2009 1720/2486/2020 +f 1695/2459/1995 1721/2488/2022 1706/2472/2007 +f 1718/2489/2018 1708/2490/2009 1721/2491/2022 +f 1622/2385/2023 1723/2492/2024 1647/2408/2025 +f 1724/2493/2026 1629/2391/2027 1633/2395/2028 +f 1725/2494/2029 1625/2387/2030 1629/2391/2027 +f 1647/2408/2025 1727/2495/2031 1643/2405/2032 +f 1625/2387/2030 1722/2496/2033 1622/2385/2023 +f 1643/2405/2032 1728/2497/2034 1639/2401/2035 +f 1729/2498/2036 1731/2499/2037 1732/2500/2038 +f 1639/2401/2035 1733/2501/2039 1635/2397/2040 +f 1734/2502/2041 1730/2503/2042 1729/2498/2036 +f 1635/2397/2040 1736/2504/2043 1631/2393/2044 +f 1738/2505/2045 1734/2502/2041 1737/2506/2046 +f 1740/2507/2047 1737/2506/2046 1739/2508/2048 +f 1631/2393/2044 1741/2509/2049 1627/2389/2050 +f 1743/2510/2051 1739/2508/2048 1742/2511/2052 +f 1744/2512/2053 1637/2399/2054 1641/2403/2055 +f 1747/2513/2056 1742/2511/2052 1746/2514/2057 +f 1749/2515/2058 1746/2514/2057 1748/2516/2059 +f 1751/2517/2060 1748/2516/2059 1750/2518/2061 +f 1753/2519/2062 1750/2518/2061 1752/2520/2063 +f 1741/2509/2049 1621/2383/2064 1627/2389/2050 +f 1755/2521/2065 1753/2519/2062 1752/2520/2063 +f 1754/2522/2066 1618/2384/2067 1621/2383/2064 +f 1732/2500/2038 1758/2523/2068 1759/2524/2069 +f 1759/2524/2069 1760/2525/2070 1761/2526/2071 +f 1757/2527/2072 1645/2406/2073 1618/2384/2067 +f 1761/2526/2071 1763/2528/2074 1764/2529/2075 +f 1762/2530/2076 1641/2403/2055 1645/2406/2073 +f 1765/2531/2077 1756/2532/2078 1755/2521/2065 +f 1745/2533/2079 1633/2395/2028 1637/2399/2054 +f 1764/2529/2075 1766/2534/2080 1765/2531/2077 +f 1731/2499/2081 1725/2494/2082 1724/2493/2081 +f 1749/2515/2083 1736/2504/2084 1733/2501/2083 +f 1758/2523/2085 1724/2493/2081 1745/2533/2085 +f 1747/2513/2086 1733/2501/2083 1728/2497/2086 +f 1743/2510/2087 1728/2497/2086 1727/2495/2087 +f 1763/2528/2088 1744/2512/2089 1762/2530/2088 +f 1740/2507/2090 1727/2495/2087 1723/2492/2090 +f 1766/2534/2091 1762/2530/2088 1757/2527/2091 +f 1738/2505/2092 1723/2492/2090 1722/2496/2092 +f 1756/2532/1452 1757/2527/2091 1754/2522/1452 +f 1735/2535/2093 1722/2496/2092 1726/2536/2093 +f 1753/2519/2094 1754/2522/1452 1741/2509/2094 +f 1730/2503/2082 1726/2536/2093 1725/2494/2082 +f 1751/2517/2084 1741/2509/2094 1736/2504/2084 +f 1760/2525/2089 1745/2533/2085 1744/2512/2089 +f 1768/2537/2095 1770/2538/2096 1767/2539/2096 +f 1628/2540/2097 1657/2423/2098 1656/2418/2099 +f 1642/2541/2100 1672/2433/2101 1668/2429/2102 +f 1642/2541/2100 1664/2425/2103 1638/2542/2086 +f 1632/2543/2104 1662/2544/2105 1657/2545/2098 +f 1646/2546/2106 1674/2437/1923 1672/2433/2101 +f 1630/2547/2107 1652/2548/2108 1626/2549/2109 +f 1644/2550/2110 1666/2551/2111 1640/2552/2111 +f 1638/2553/2086 1660/2554/2112 1634/2555/2113 +f 1626/2549/2109 1649/2556/2114 1620/2557/2115 +f 1636/2558/2085 1666/2551/2111 1662/2544/2105 +f 1634/2555/2113 1654/2559/2116 1630/2547/2107 +f 1619/2560/2117 1670/2561/2118 1644/2550/2110 +f 1620/2557/2115 1648/2562/2119 1619/2563/2117 +f 1623/2564/2120 1771/2565/2121 1772/2566/2120 +f 1630/2567/2122 1774/2568/2123 1634/2569/2123 +f 1776/2570/2124 1778/2571/2125 1775/2572/2126 +f 1636/2573/2127 1779/2574/2128 1780/2575/2127 +f 1640/2576/2129 1780/2575/2127 1781/2577/2130 +f 1782/2578/2131 1784/2579/2132 1785/2580/2133 +f 1638/2581/2134 1787/2582/2135 1642/2583/2135 +f 1620/2584/2136 1789/2585/2137 1626/2586/2137 +f 1790/2587/2138 1769/2588/2095 1768/2537/2095 +f 1624/2589/2139 1793/2590/2140 1628/2591/2140 +f 1634/2569/2123 1786/2592/2134 1638/2581/2134 +f 1794/2593/2141 1777/2594/2124 1776/2570/2124 +f 1642/2583/2135 1771/2565/2121 1646/2595/2121 +f 1640/2576/2129 1796/2596/2142 1644/2597/2143 +f 1772/2566/2144 1798/2598/2145 1792/2599/2146 +f 1796/2596/2147 1769/2600/2148 1791/2601/2149 +f 1793/2590/2150 1800/2602/2151 1779/2574/2152 +f 1786/2592/1942 1785/2603/2153 1784/2604/1940 +f 1787/2582/2154 1802/2605/2155 1771/2565/2156 +f 1789/2585/2157 1778/2606/1276 1777/2607/2158 +f 1792/2599/2146 1799/2608/2159 1793/2590/2150 +f 1781/2577/2160 1770/2609/1938 1769/2600/2148 +f 1786/2592/1942 1801/2610/2161 1787/2582/2154 +f 1774/2568/2162 1795/2611/2163 1785/2603/2153 +f 1779/2574/2152 1770/2609/1938 1780/2575/1938 +f 1803/2612/2164 1791/2601/2149 1804/2613/2165 +f 1771/2565/2156 1797/2614/2166 1772/2566/2144 +f 1788/2615/2167 1804/2613/2165 1778/2606/1276 +f 1773/2616/2168 1777/2607/2158 1795/2611/2163 +f 1619/2617/2169 1796/2596/2142 1803/2612/2169 +f 1794/2593/2141 1785/2580/2133 1795/2618/2141 +f 1620/2584/2136 1803/2612/2169 1788/2615/2136 +f 1805/2619/2170 1791/2620/2138 1790/2587/2138 +f 1806/2621/2171 1798/2622/2172 1797/2623/2171 +f 1775/2572/2126 1804/2624/2170 1805/2619/2170 +f 1808/2625/2173 1800/2626/2174 1799/2627/2173 +f 1810/2628/2175 1802/2629/2176 1801/2630/2175 +f 1807/2631/2172 1799/2627/2173 1798/2622/2172 +f 1783/2632/2132 1801/2630/2175 1784/2579/2132 +f 1623/2564/2120 1792/2599/2139 1624/2589/2139 +f 1767/2539/2096 1800/2626/2174 1809/2633/2174 +f 1626/2586/2137 1773/2616/2122 1630/2567/2122 +f 1628/2591/2140 1779/2574/2128 1632/2634/2128 +f 1811/2635/2176 1797/2623/2171 1802/2629/2176 +f 1784/2636/2177 1812/2637/2178 1813/2638/2179 +f 1801/2639/2180 1815/2640/2181 1802/2641/2182 +f 1777/2642/2183 1816/2643/2184 1817/2644/2185 +f 1798/2645/2186 1819/2646/2187 1799/2647/2188 +f 1769/2648/2189 1820/2649/2190 1821/2650/2191 +f 1784/2636/2177 1814/2651/2192 1801/2639/2180 +f 1822/2652/2193 1785/2653/2194 1795/2654/2195 +f 1800/2655/2196 1820/2649/2190 1770/2656/2190 +f 1824/2657/2197 1804/2658/2198 1791/2659/2199 +f 1802/2641/2182 1826/2660/2200 1797/2661/2201 +f 1825/2662/2202 1778/2663/2203 1804/2664/2198 +f 1795/2654/2195 1817/2644/2185 1822/2652/2193 +f 1797/2661/2201 1818/2665/2204 1798/2645/2186 +f 1791/2659/2199 1821/2650/2191 1824/2657/2197 +f 1799/2647/2188 1823/2666/2205 1800/2655/2196 +f 1828/2667/1921 1830/2668/2206 1827/2669/1923 +f 1831/2670/2207 1833/2671/2208 1834/2672/2209 +f 1829/2673/2210 1836/2674/2211 1830/2668/2206 +f 1834/2675/2209 1837/2676/1929 1838/2677/1930 +f 1835/2678/2212 1840/2679/2213 1836/2674/2211 +f 1838/2677/1930 1841/2680/1933 1842/2681/2214 +f 1839/2682/1935 1844/2683/2215 1840/2679/2213 +f 1842/2681/2214 1845/2684/1937 1846/2685/1938 +f 1843/2686/1939 1848/2687/1940 1844/2683/2215 +f 1846/2685/1938 1849/2688/2216 1850/2689/1941 +f 1847/2690/1940 1852/2691/1943 1848/2687/1940 +f 1849/2688/2216 1854/2692/1947 1850/2689/1941 +f 1852/2691/1943 1855/2693/1945 1856/2694/1946 +f 1853/2695/1947 1827/2669/1923 1854/2692/1947 +f 1856/2694/1946 1832/2696/2217 1831/2670/2207 +f 1857/2697/1949 1859/2698/1950 1860/2699/1951 +f 1861/2700/2218 1863/2701/2219 1864/2702/2220 +f 1865/2703/2221 1859/2698/1950 1858/2704/2222 +f 1862/2705/2223 1868/2706/2224 1863/2707/2219 +f 1869/2708/1954 1866/2709/1955 1865/2703/1952 +f 1867/2710/2225 1872/2711/2226 1868/2706/2224 +f 1873/2712/1959 1870/2713/1960 1869/2708/1954 +f 1871/2714/2227 1876/2715/1962 1872/2711/2226 +f 1877/2716/1963 1874/2717/1964 1873/2712/1959 +f 1875/2718/2228 1880/2719/1966 1876/2715/1962 +f 1881/2720/2229 1878/2721/1968 1877/2716/1963 +f 1879/2722/1969 1884/2723/1970 1880/2719/1966 +f 1885/2724/1971 1882/2725/2230 1881/2720/2229 +f 1883/2726/1973 1860/2699/1951 1884/2723/1970 +f 1861/2700/2218 1886/2727/2231 1885/2724/1971 +f 1864/2702/2220 1888/2728/1977 1886/2727/2231 +f 1860/2699/1951 1889/2729/2232 1890/2730/1979 +f 1863/2701/2219 1887/2731/2233 1864/2702/2220 +f 1866/2709/1955 1889/2729/2232 1859/2698/1950 +f 1863/2707/2219 1893/2732/1982 1891/2733/2234 +f 1870/2713/1960 1892/2734/1984 1866/2709/1955 +f 1868/2706/2224 1895/2735/1985 1893/2732/1982 +f 1874/2717/1964 1894/2736/1986 1870/2713/1960 +f 1872/2711/2226 1897/2737/1987 1895/2735/1985 +f 1878/2721/1968 1896/2738/2235 1874/2717/1964 +f 1876/2715/1962 1899/2739/2236 1897/2737/1987 +f 1882/2725/2230 1898/2740/1990 1878/2721/1968 +f 1880/2719/1966 1901/2741/1991 1899/2739/2236 +f 1886/2727/2231 1900/2742/1992 1882/2725/2230 +f 1884/2723/1970 1890/2730/1979 1901/2741/1991 +f 1901/2741/1991 1902/2743/1993 1903/2744/2237 +f 1887/2731/2233 1905/2745/2238 1888/2728/1977 +f 1890/2730/1979 1906/2746/2239 1902/2743/1993 +f 1887/2731/2233 1907/2747/1997 1904/2748/1998 +f 1892/2734/1984 1906/2746/2239 1889/2729/2232 +f 1891/2733/2234 1909/2749/1999 1907/2750/1997 +f 1894/2736/1986 1908/2751/2000 1892/2734/1984 +f 1893/2732/1982 1911/2752/2240 1909/2749/1999 +f 1896/2738/2235 1910/2753/2241 1894/2736/1986 +f 1895/2735/1985 1913/2754/2003 1911/2752/2240 +f 1898/2740/1990 1912/2755/2242 1896/2738/2235 +f 1897/2737/1987 1915/2756/2243 1913/2754/2003 +f 1900/2742/1992 1914/2757/2006 1898/2740/1990 +f 1899/2739/2236 1903/2744/2237 1915/2756/2243 +f 1888/2728/1977 1916/2758/2244 1900/2742/1992 +f 1903/2744/2237 1917/2759/2008 1918/2760/2245 +f 1904/2748/1998 1920/2761/2246 1905/2745/2238 +f 1902/2743/1993 1921/2762/2011 1917/2759/2008 +f 1907/2747/1997 1919/2763/2247 1904/2748/1998 +f 1908/2751/2000 1921/2762/2011 1906/2746/2239 +f 1907/2750/1997 1924/2764/2013 1922/2765/2014 +f 1910/2753/2241 1923/2766/2015 1908/2751/2000 +f 1909/2749/1999 1926/2767/2248 1924/2764/2013 +f 1912/2755/2242 1925/2768/2017 1910/2753/2241 +f 1911/2752/2240 1928/2769/2249 1926/2767/2248 +f 1914/2757/2006 1927/2770/2250 1912/2755/2242 +f 1913/2754/2003 1930/2771/2020 1928/2769/2249 +f 1916/2758/2244 1929/2772/2251 1914/2757/2006 +f 1915/2756/2243 1918/2760/2245 1930/2771/2020 +f 1905/2745/2238 1931/2773/2022 1916/2758/2244 +f 1931/2774/2022 1924/2775/2013 1918/2776/2245 +f 1831/2670/2023 1933/2777/2252 1856/2694/2253 +f 1934/2778/2254 1838/2677/2255 1842/2681/2256 +f 1935/2779/2257 1834/2675/2258 1838/2677/2255 +f 1856/2694/2253 1937/2780/2259 1852/2691/2260 +f 1834/2672/2258 1932/2781/2033 1831/2670/2023 +f 1852/2691/2260 1938/2782/2261 1848/2687/2262 +f 1939/2783/2263 1941/2784/2264 1942/2785/2265 +f 1848/2687/2262 1943/2786/2266 1844/2683/2267 +f 1944/2787/2268 1940/2788/2269 1939/2783/2263 +f 1844/2683/2267 1946/2789/2270 1840/2679/2271 +f 1948/2790/2272 1944/2787/2268 1947/2791/2273 +f 1950/2792/2274 1947/2791/2273 1949/2793/2275 +f 1840/2679/2271 1951/2794/2276 1836/2674/2277 +f 1953/2795/2278 1949/2793/2275 1952/2796/2279 +f 1954/2797/2280 1846/2685/2281 1850/2689/2282 +f 1957/2798/2283 1952/2796/2279 1956/2799/2284 +f 1959/2800/2285 1956/2799/2284 1958/2801/2286 +f 1961/2802/2287 1958/2801/2286 1960/2803/2288 +f 1963/2804/2289 1960/2803/2288 1962/2805/2290 +f 1951/2794/2276 1830/2668/2291 1836/2674/2277 +f 1965/2806/2292 1963/2804/2289 1962/2805/2290 +f 1964/2807/2066 1827/2669/2293 1830/2668/2291 +f 1942/2785/2265 1968/2808/2294 1969/2809/2295 +f 1969/2809/2295 1970/2810/2296 1971/2811/2297 +f 1967/2812/2298 1854/2692/2299 1827/2669/2293 +f 1971/2811/2297 1973/2813/2300 1974/2814/2301 +f 1972/2815/2302 1850/2689/2282 1854/2692/2299 +f 1975/2816/2303 1966/2817/2304 1965/2806/2292 +f 1955/2818/2305 1842/2681/2256 1846/2685/2281 +f 1974/2814/2301 1976/2819/2306 1975/2816/2303 +f 1941/2784/2081 1935/2779/2082 1934/2778/2081 +f 1959/2800/2083 1946/2789/2084 1943/2786/2083 +f 1968/2808/2085 1934/2778/2081 1955/2818/2085 +f 1957/2798/2086 1943/2786/2083 1938/2782/2086 +f 1953/2795/2087 1938/2782/2086 1937/2780/2087 +f 1973/2813/2088 1954/2797/2089 1972/2815/2088 +f 1950/2792/2090 1937/2780/2087 1933/2777/2090 +f 1976/2819/2307 1972/2815/2088 1967/2812/2307 +f 1948/2790/2092 1933/2777/2090 1932/2781/2092 +f 1966/2817/1452 1967/2812/2307 1964/2807/1452 +f 1945/2820/2093 1932/2781/2092 1936/2821/2093 +f 1963/2804/2308 1964/2807/1452 1951/2794/2308 +f 1940/2788/2082 1936/2822/2093 1935/2779/2082 +f 1961/2802/2084 1951/2794/2308 1946/2789/2084 +f 1970/2810/2089 1955/2818/2085 1954/2797/2089 +f 1977/2823/2096 1979/2824/2095 1980/2825/2096 +f 1832/2826/2309 1862/2827/2310 1861/2828/2311 +f 1837/2829/2312 1871/2830/2098 1867/2831/2313 +f 1851/2832/2100 1885/2833/2101 1881/2834/2102 +f 1833/2835/2314 1867/2831/2313 1862/2836/2310 +f 1851/2832/2100 1877/2837/2103 1847/2838/2086 +f 1841/2839/2104 1875/2840/2105 1871/2830/2098 +f 1855/2841/2315 1861/2828/2311 1885/2833/2101 +f 1839/2842/2107 1865/2703/1930 1835/2843/1930 +f 1853/2844/2110 1879/2722/2111 1849/2845/2111 +f 1847/2846/2086 1873/2712/2112 1843/2847/2113 +f 1845/2848/2085 1879/2849/2111 1875/2840/2105 +f 1843/2847/2113 1869/2708/2116 1839/2842/2107 +f 1828/2850/1946 1883/2726/2118 1853/2844/2110 +f 1832/2851/2316 1982/2852/2317 1855/2853/2317 +f 1983/2854/2318 1839/2855/2319 1843/2856/2318 +f 1986/2857/2320 1988/2858/2321 1985/2859/2321 +f 1845/2860/2322 1990/2861/2323 1841/2862/2323 +f 1991/2863/2324 1845/2860/2322 1849/2864/2324 +f 1993/2865/2132 1995/2866/2325 1992/2867/2325 +f 1851/2868/2326 1997/2869/2327 1847/2870/2327 +f 1998/2871/2328 1829/2872/2329 1835/2873/2328 +f 2000/2874/2330 1979/2824/2095 1978/2875/2095 +f 1837/2876/2331 2003/2877/2332 1833/2878/2332 +f 1847/2870/2327 1983/2854/2318 1843/2856/2318 +f 2004/2879/2141 1987/2880/2320 1986/2857/2320 +f 1982/2852/2317 1851/2868/2326 1855/2853/2317 +f 2006/2881/2333 1849/2864/2324 1853/2882/2333 +f 2007/2883/2334 1981/2884/2335 2003/2877/2336 +f 2006/2881/2337 1979/2885/2338 1991/2863/2339 +f 2009/2886/2340 2002/2887/2341 1990/2861/2342 +f 1997/2869/2103 1995/2888/2083 1983/2854/2343 +f 2011/2889/2344 1996/2890/2345 1982/2852/2346 +f 1998/2871/2347 1988/2891/2348 1999/2892/2349 +f 2010/2893/2350 2003/2877/2336 2002/2887/2341 +f 1991/2863/2339 1980/2894/2105 1989/2895/2085 +f 2012/2896/2351 1997/2869/2103 1996/2890/2345 +f 1983/2854/2343 2005/2897/2352 1984/2898/2353 +f 1980/2894/2105 1990/2861/2342 1989/2895/2085 +f 2013/2899/2354 2001/2900/2355 2006/2881/2337 +f 2008/2901/2356 1982/2852/2346 1981/2884/2335 +f 1999/2892/2349 2014/2902/2357 2013/2899/2354 +f 1984/2898/2353 1987/2903/2358 1998/2871/2347 +f 2013/2899/2359 1853/2882/2333 1828/2904/2360 +f 1992/2867/2325 2005/2905/2141 2004/2879/2141 +f 1999/2892/2329 1828/2904/2360 1829/2872/2329 +f 2000/2874/2330 2014/2906/2361 2001/2907/2330 +f 2016/2908/2171 2007/2909/2362 2008/2910/2171 +f 1985/2859/2321 2014/2906/2361 2015/2911/2361 +f 2019/2912/2174 2010/2913/2363 2018/2914/2363 +f 2020/2915/2175 2011/2916/2176 2012/2917/2175 +f 2017/2918/2362 2010/2913/2363 2007/2909/2362 +f 1993/2865/2132 2012/2917/2175 1994/2919/2364 +f 1833/2920/2332 1981/2884/2316 1832/2851/2316 +f 1977/2823/2096 2009/2921/2174 2019/2912/2174 +f 1984/2898/2319 1835/2873/2328 1839/2855/2319 +f 1841/2862/2323 2002/2887/2331 1837/2876/2331 +f 2021/2922/2176 2008/2910/2171 2011/2916/2176 +f 1994/2923/2365 2022/2924/2178 2023/2925/2365 +f 2012/2926/2366 2025/2927/2181 2011/2928/2182 +f 1987/2929/2367 2026/2930/2184 2027/2931/2368 +f 2007/2932/2369 2029/2933/2370 2010/2934/2371 +f 1979/2935/2372 2030/2936/2373 2031/2937/2374 +f 1994/2923/2365 2024/2938/2375 2012/2926/2366 +f 2032/2939/2193 1995/2940/2194 2005/2941/2376 +f 2009/2942/2377 2030/2936/2373 1980/2943/2373 +f 2034/2944/2378 2014/2945/2379 2001/2946/2199 +f 2011/2928/2182 2036/2947/2380 2008/2948/2381 +f 2035/2949/2382 1988/2950/2203 2014/2945/2379 +f 2005/2941/2376 2027/2931/2368 2032/2939/2193 +f 2008/2948/2381 2028/2951/2204 2007/2952/2369 +f 2001/2946/2199 2031/2937/2374 2034/2944/2378 +f 2010/2934/2371 2033/2953/2383 2009/2942/2377 +f 2037/2954/2384 2038/2955/2385 2039/2956/2386 +f 2040/2957/2387 2037/2954/2384 2039/2956/2386 +f 2041/2958/2388 2040/2957/2387 2042/2959/2389 +f 2040/2957/2387 2039/2956/2386 2042/2959/2389 +f 2043/2960/2390 2044/2961/2390 2045/2962/2390 +f 2046/2963/2391 2047/2964/2392 2048/2965/2393 +f 2045/2962/2394 2049/2966/2395 2046/2963/2391 +f 2044/2961/2396 2049/2966/2395 2045/2962/2394 +f 2043/2960/2397 2049/2966/2395 2044/2961/2396 +f 2043/2960/2397 2050/2967/2398 2049/2966/2395 +f 2047/2964/2392 2051/2968/2399 2048/2965/2393 +f 2052/2969/2400 2046/2963/2391 2049/2966/2395 +f 2052/2969/2400 2053/2970/2401 2047/2964/2392 +f 2054/2971/2402 2052/2969/2400 2049/2966/2395 +f 2050/2967/2398 2054/2971/2402 2049/2966/2395 +f 2054/2971/2402 2055/2972/2403 2053/2970/2401 +f 2050/2967/2398 2056/2973/2404 2054/2971/2402 +f 2047/2964/2392 2057/2974/2405 2051/2968/2399 +f 2047/2964/2392 2058/2975/2406 2057/2974/2405 +f 2053/2970/2401 2058/2975/2406 2047/2964/2392 +f 2055/2972/2403 2058/2975/2406 2053/2970/2401 +f 2054/2971/2402 2059/2976/2407 2055/2972/2403 +f 2056/2973/2404 2059/2976/2407 2054/2971/2402 +f 2056/2973/2404 2060/2977/2408 2059/2976/2407 +f 2061/2978/2409 2063/2979/2410 2064/2980/2410 +f 2041/2981/2411 2068/2982/2412 2069/2983/2413 +f 2062/2984/2409 2070/2985/1447 2066/2986/1447 +f 2063/2987/2414 1191/2988/2415 2072/2989/2416 +f 2073/2990/2417 2071/2991/2418 2065/2992/2419 +f 2062/2993/2420 2071/2994/2420 2063/2995/2420 +f 2061/2996/2421 2074/2997/2421 2073/2998/2421 +f 2075/2999/2422 1191/3000/2422 1192/3001/2422 +f 2064/3002/2423 1192/3003/2424 2074/3004/2425 +f 2063/3005/2410 2075/2999/1447 2064/3006/2410 +f 2074/3007/2418 1191/3000/2426 2071/2991/2418 +f 2076/3008/2427 2045/2962/2427 2046/2963/2427 +f 2048/2965/2428 2051/2968/2428 2077/3009/2428 +f 2077/3010/2429 2070/3011/2430 2073/3012/2431 +f 2078/3013/2432 2041/2958/2388 2042/2959/2389 +f 2068/3014/2433 2041/2958/2388 2078/3013/2432 +f 2070/3015/1451 2077/3016/2434 2057/3017/2435 +f 2038/2955/2385 2037/2954/2384 2067/3018/2436 +f 1962/3019/2290 1952/3020/2279 1939/3021/2263 +f 1761/3022/2071 1752/3023/2063 1742/3024/2052 +f 1186/3025/1452 1193/3026/1452 1191/3027/1452 +f 1282/3028/2437 1284/3029/2438 1269/3030/2439 +f 2068/3031/2440 2043/3032/2441 2065/2992/2419 +f 1549/3033/1453 1551/3034/1453 1523/3035/1453 +f 1185/3036/1453 1188/3037/1448 1192/3038/1453 +f 1557/3039/2442 1527/3040/2443 1548/2243/2444 +f 793/3041/1054 784/3042/1055 720/3043/2445 +f 1190/3044/2446 757/3045/1024 788/3046/1048 +f 705/1155/972 706/3047/2447 707/1156/973 +f 708/1157/974 707/1156/973 709/1158/975 +f 710/1159/976 709/1158/975 711/1160/977 +f 712/1161/978 711/1160/977 713/1162/979 +f 714/1163/980 713/1162/979 715/1164/981 +f 716/1165/982 715/1164/981 717/1166/2448 +f 719/1168/985 720/3048/2445 721/1169/986 +f 721/1169/986 723/1172/989 724/1171/988 +f 723/1172/989 725/3049/2449 726/1173/990 +f 726/1173/990 725/3049/2449 727/1174/991 +f 728/1175/992 727/1174/991 729/1176/993 +f 729/1176/993 731/1179/996 732/1178/995 +f 731/1179/996 733/1181/2450 734/1180/997 +f 733/1181/998 735/1183/1001 736/1182/999 +f 735/1183/1001 737/1185/1003 738/1184/1002 +f 737/1185/1003 739/1187/1005 740/1186/1004 +f 739/1187/1005 741/3050/2451 742/1188/1006 +f 742/1188/1006 741/3050/2451 743/1189/1007 +f 744/1190/1008 743/1189/1007 745/1191/1009 +f 746/1192/1010 745/1191/1009 747/1193/1011 +f 748/1194/1012 747/1193/1011 749/1195/1013 +f 750/1196/1015 749/1195/2452 751/1197/1016 +f 752/1198/1017 751/1197/1016 753/1199/1018 +f 753/1199/1018 755/1202/1021 756/1201/1020 +f 755/1202/1021 706/3047/2447 705/1155/972 +f 758/1203/1022 759/1208/1027 760/1204/1023 +f 761/1206/1025 762/1248/1066 763/1207/1026 +f 728/1175/992 730/1177/994 764/1209/1028 +f 748/1194/1012 766/1220/1039 767/1211/1030 +f 714/1163/980 716/1165/982 768/1212/1031 +f 722/1170/987 770/1221/1040 771/1214/1033 +f 738/1184/1002 740/1186/1004 772/1215/1034 +f 708/1157/974 774/1224/1043 775/1217/1036 +f 705/1155/972 775/1217/1036 776/1218/1037 +f 758/1203/1022 777/1225/1044 761/1206/1025 +f 730/1177/994 732/1178/995 778/1219/1038 +f 750/1196/1015 779/1228/1047 766/1220/1039 +f 718/1167/984 780/1230/1049 768/1212/1031 +f 724/1171/988 781/1232/1051 770/1221/1040 +f 740/1186/1004 742/1188/1006 782/1222/1041 +f 708/1157/974 710/1159/976 783/1223/1042 +f 777/1225/1044 784/1236/1055 785/1226/1045 +f 732/1178/995 734/1180/997 786/1227/1046 +f 752/1198/1017 787/1238/1057 779/1228/1047 +f 788/1229/1048 789/1239/1058 780/1230/1049 +f 724/1171/988 726/1173/990 790/1231/1050 +f 742/1188/1006 744/1190/1008 791/1233/1052 +f 710/1159/976 712/1161/978 792/1234/1053 +f 793/1235/1054 794/1250/1059 785/1226/1045 +f 734/1180/997 736/1182/999 795/1237/1056 +f 754/1200/1019 796/1242/1060 787/1238/1057 +f 757/1205/1024 760/1204/1023 789/1239/1058 +f 726/1173/990 728/1175/992 765/1210/1029 +f 744/1190/1008 746/1192/1010 767/1211/1030 +f 712/1161/978 714/1163/980 769/1213/1032 +f 719/1168/985 771/1214/1033 794/1240/1059 +f 736/1182/999 738/1184/1002 773/1216/1035 +f 756/1201/1020 776/1218/1037 796/1242/1060 +f 798/1243/1061 799/1281/1098 800/1244/1062 +f 772/1215/1034 782/1222/1041 801/1246/1064 +f 785/1226/1045 803/1251/1068 762/1248/1066 +f 782/1222/1041 791/1233/1052 804/1249/1067 +f 794/1250/1059 797/1306/1063 803/1251/1068 +f 791/1233/1052 767/1211/1030 805/1252/1069 +f 771/1214/1033 798/1243/1061 797/1245/1063 +f 766/1220/1039 806/1256/1073 805/1252/1069 +f 770/1221/1040 807/1257/1074 798/1243/1061 +f 775/1217/1036 774/1224/1043 808/1253/1070 +f 766/1220/1039 779/1228/1047 810/1255/1072 +f 781/1232/1051 811/1260/1077 807/1257/1074 +f 774/1224/1043 783/1223/1042 812/1258/1075 +f 779/1228/1047 787/1238/1057 813/1259/1076 +f 790/1231/1050 814/1263/1080 811/1260/1077 +f 783/1223/1042 792/1234/1053 815/1261/1078 +f 787/1238/1057 796/1242/1060 816/1262/1079 +f 765/1210/1029 817/1266/1083 814/1263/1080 +f 792/1234/1053 769/1213/1032 818/1264/1081 +f 796/1242/1060 776/1218/1037 819/1265/1082 +f 764/1209/1028 820/1268/1085 817/1266/1083 +f 769/1213/1032 768/1212/1031 821/1267/1084 +f 776/1218/1037 775/1217/1036 809/1254/1071 +f 778/1219/1038 822/1270/1087 820/1268/1085 +f 768/1212/1031 780/1230/1049 823/1269/1086 +f 786/1227/1046 824/1272/1089 822/1270/1087 +f 780/1230/1049 789/1239/1058 825/1271/1088 +f 795/1237/1056 826/1273/1090 824/1272/1089 +f 760/1204/1023 827/1274/1091 825/1271/1088 +f 773/1216/1035 828/1275/1092 826/1273/1090 +f 759/1208/1027 763/1207/1026 827/1274/1091 +f 773/1216/1035 772/1215/1034 802/1247/1065 +f 830/1276/1093 831/1316/1132 832/1277/1094 +f 805/1252/1069 806/1256/1073 833/1279/1096 +f 807/1257/1074 835/1285/1102 799/1281/1098 +f 809/1254/1071 808/1253/1070 836/1282/1099 +f 806/1256/1073 810/1255/1072 838/1284/1101 +f 811/1260/1077 829/1278/1095 835/1285/1102 +f 808/1253/1070 812/1258/1075 839/1286/1103 +f 810/1255/1072 813/1259/1076 840/1287/1104 +f 814/1263/1080 830/1276/1093 829/1278/1095 +f 812/1258/1075 815/1261/1078 841/1288/1105 +f 813/1259/1076 816/1262/1079 842/1289/1106 +f 817/1266/1083 843/1292/1109 830/1276/1093 +f 815/1261/1078 818/1264/1081 844/1290/1107 +f 816/1262/1079 819/1265/1082 845/1291/1108 +f 820/1268/1085 846/1294/1111 843/1292/1109 +f 818/1264/1081 821/1267/1084 847/1293/1110 +f 819/1265/1082 809/1254/1071 837/1283/1100 +f 822/1270/1087 848/1296/1113 846/1294/1111 +f 821/1267/1084 823/1269/1086 849/1295/1112 +f 824/1272/1089 850/1298/1115 848/1296/1113 +f 823/1269/1086 825/1271/1088 851/1297/1114 +f 826/1273/1090 852/1300/1117 850/1298/1115 +f 825/1271/1088 827/1274/1091 853/1299/1116 +f 828/1275/1092 854/1302/1119 852/1300/1117 +f 763/1207/1026 855/1303/1120 853/1299/1116 +f 828/1275/1092 802/1247/1065 856/1301/1118 +f 762/1248/1066 857/1305/1122 855/1303/1120 +f 802/1247/1065 801/1246/1064 858/1304/1121 +f 803/1251/1068 859/1307/1123 857/1305/1122 +f 804/1249/1067 860/1308/1124 858/1304/1121 +f 797/1306/1063 800/1332/1062 859/1307/1123 +f 805/1252/1069 834/1280/1097 860/1308/1124 +f 862/1309/1125 863/1347/1162 864/1310/1126 +f 839/1286/1103 841/1288/1105 865/1312/1128 +f 840/1287/1104 842/1289/1106 867/1314/1130 +f 843/1292/1109 869/1319/1135 831/1316/1132 +f 841/1288/1105 844/1290/1107 870/1317/1133 +f 842/1289/1106 845/1291/1108 871/1318/1134 +f 846/1294/1111 861/1311/1127 869/1319/1135 +f 844/1290/1107 847/1293/1110 872/1320/1136 +f 845/1291/1108 837/1283/1100 873/1321/1137 +f 848/1296/1113 862/1309/1125 861/1311/1127 +f 847/1293/1110 849/1295/1112 874/1322/1138 +f 850/1298/1115 875/1324/1140 862/1309/1125 +f 849/1295/1112 851/1297/1114 876/1323/1139 +f 852/1300/1117 877/1326/1142 875/1324/1140 +f 851/1297/1114 853/1299/1116 878/1325/1141 +f 854/1302/1119 879/1328/1144 877/1326/1142 +f 855/1303/1120 880/1329/1145 878/1325/1141 +f 854/1302/1119 856/1301/1118 881/1327/1143 +f 857/1305/1122 882/1331/1147 880/1329/1145 +f 856/1301/1118 858/1304/1121 883/1330/1146 +f 859/1307/1123 884/1333/1148 882/1331/1147 +f 860/1308/1124 885/1335/1150 883/1330/1146 +f 800/1332/1062 886/1356/1151 884/1333/1148 +f 860/1308/1124 834/1280/1097 887/1334/1149 +f 799/1281/1098 888/1338/1153 886/1336/1151 +f 834/1280/1097 833/1279/1096 889/1337/1152 +f 835/1285/1102 890/1341/1156 888/1338/1153 +f 837/1283/1100 836/1282/1099 891/1339/1154 +f 833/1279/1096 838/1284/1101 892/1340/1155 +f 829/1278/1095 832/1277/1094 890/1341/1156 +f 836/1282/1099 839/1286/1103 866/1313/1129 +f 838/1284/1101 840/1287/1104 868/1315/1131 +f 894/1342/1157 895/1379/1193 896/1343/1158 +f 872/1320/1136 874/1322/1138 897/1345/1160 +f 875/1324/1140 899/1349/1164 863/1347/1162 +f 874/1322/1138 876/1323/1139 900/1348/1163 +f 877/1326/1142 893/1344/1159 899/1349/1164 +f 876/1323/1139 878/1325/1141 901/1350/1165 +f 879/1328/1144 894/1342/1157 893/1344/1159 +f 880/1329/1145 902/1351/1166 901/1350/1165 +f 881/1327/1143 903/1353/1168 894/1342/1157 +f 882/1331/1147 904/1354/1169 902/1351/1166 +f 881/1327/1143 883/1330/1146 905/1352/1167 +f 884/1333/1148 906/1357/1171 904/1354/1169 +f 883/1330/1146 885/1335/1150 907/1355/1170 +f 886/1356/1151 908/1384/1173 906/1357/1171 +f 885/1335/1150 887/1334/1149 909/1358/1172 +f 888/1338/1153 910/1361/1175 908/1359/1173 +f 887/1334/1149 889/1337/1152 911/1360/1174 +f 890/1341/1156 912/1365/1179 910/1361/1175 +f 873/1321/1137 891/1339/1154 913/1362/1176 +f 889/1337/1152 892/1340/1155 915/1364/1178 +f 832/1277/1094 916/1368/1182 912/1365/1179 +f 891/1339/1154 866/1313/1129 917/1366/1180 +f 892/1340/1155 868/1315/1131 918/1367/1181 +f 831/1316/1132 919/1371/1185 916/1368/1182 +f 866/1313/1129 865/1312/1128 920/1369/1183 +f 868/1315/1131 867/1314/1130 921/1370/1184 +f 869/1319/1135 922/1374/1188 919/1371/1185 +f 865/1312/1128 870/1317/1133 923/1372/1186 +f 867/1314/1130 871/1318/1134 924/1373/1187 +f 861/1311/1127 864/1310/1126 922/1374/1188 +f 870/1317/1133 872/1320/1136 898/1346/1161 +f 871/1318/1134 873/1321/1137 914/1363/1177 +f 925/1375/1189 926/1383/1197 927/1376/1190 +f 902/1351/1166 929/1380/1194 930/1378/1192 +f 903/1353/1168 931/1381/1195 895/1379/1193 +f 904/1354/1169 932/1382/1196 929/1380/1194 +f 905/1352/1167 925/1375/1189 931/1381/1195 +f 906/1357/1171 933/1385/1198 932/1382/1196 +f 905/1352/1167 907/1355/1170 926/1383/1197 +f 908/1384/1173 934/1412/1200 933/1385/1198 +f 907/1355/1170 909/1358/1172 935/1386/1199 +f 910/1361/1175 936/1389/1202 934/1387/1200 +f 909/1358/1172 911/1360/1174 937/1388/1201 +f 912/1365/1179 938/1393/1206 936/1389/1202 +f 914/1363/1177 913/1362/1176 939/1390/1203 +f 911/1360/1174 915/1364/1178 941/1392/1205 +f 916/1368/1182 942/1396/1209 938/1393/1206 +f 913/1362/1176 917/1366/1180 943/1394/1207 +f 915/1364/1178 918/1367/1181 944/1395/1208 +f 919/1371/1185 945/1399/1212 942/1396/1209 +f 917/1366/1180 920/1369/1183 946/1397/1210 +f 918/1367/1181 921/1370/1184 947/1398/1211 +f 922/1374/1188 948/1402/1215 945/1399/1212 +f 920/1369/1183 923/1372/1186 949/1400/1213 +f 921/1370/1184 924/1373/1187 950/1401/1214 +f 864/1310/1126 951/1404/1217 948/1402/1215 +f 923/1372/1186 898/1346/1161 952/1403/1216 +f 924/1373/1187 914/1363/1177 940/1391/1204 +f 863/1347/1162 953/1406/1219 951/1404/1217 +f 898/1346/1161 897/1345/1160 954/1405/1218 +f 899/1349/1164 955/1408/1221 953/1406/1219 +f 897/1345/1160 900/1348/1163 956/1407/1220 +f 893/1344/1159 896/1343/1158 955/1408/1221 +f 900/1348/1163 901/1350/1165 930/1378/1192 +f 957/1409/1222 958/1436/1248 959/1410/1223 +f 934/1412/1200 961/1451/1227 962/1413/1225 +f 926/1383/1197 935/1386/1199 963/1414/1226 +f 936/1389/1202 964/1417/1229 961/1415/1227 +f 935/1386/1199 937/1388/1201 965/1416/1228 +f 938/1393/1206 966/1421/1233 964/1417/1229 +f 940/1391/1204 939/1390/1203 967/1418/1230 +f 937/1388/1201 941/1392/1205 969/1420/1232 +f 942/1396/1209 970/1424/1236 966/1421/1233 +f 939/1390/1203 943/1394/1207 971/1422/1234 +f 941/1392/1205 944/1395/1208 972/1423/1235 +f 945/1399/1212 973/1427/1239 970/1424/1236 +f 943/1394/1207 946/1397/1210 974/1425/1237 +f 944/1395/1208 947/1398/1211 975/1426/1238 +f 948/1402/1215 976/1430/1242 973/1427/1239 +f 946/1397/1210 949/1400/1213 977/1428/1240 +f 947/1398/1211 950/1401/1214 978/1429/1241 +f 951/1404/1217 979/1432/1244 976/1430/1242 +f 949/1400/1213 952/1403/1216 980/1431/1243 +f 950/1401/1214 940/1391/1204 968/1419/1231 +f 953/1406/1219 981/1434/1246 979/1432/1244 +f 952/1403/1216 954/1405/1218 982/1433/1245 +f 955/1408/1221 983/1435/1247 981/1434/1246 +f 954/1405/1218 956/1407/1220 957/1409/1222 +f 896/1343/1158 984/1437/1249 983/1435/1247 +f 956/1407/1220 930/1378/1192 958/1436/1248 +f 895/1379/1193 985/1438/1250 984/1437/1249 +f 929/1380/1194 986/1439/1251 958/1436/1248 +f 931/1381/1195 987/1440/1252 985/1438/1250 +f 932/1382/1196 988/1441/1253 986/1439/1251 +f 925/1375/1189 928/1377/1191 987/1440/1252 +f 933/1385/1198 962/1413/1225 988/1441/1253 +f 990/1442/1254 991/1480/1290 992/1443/1255 +f 985/1438/1250 993/1446/1258 994/1445/1257 +f 986/1439/1251 995/1447/1259 959/1410/1223 +f 987/1440/1252 996/1448/1260 993/1446/1258 +f 988/1441/1253 989/1444/1256 995/1447/1259 +f 928/1377/1191 997/1450/1262 996/1448/1260 +f 962/1413/1225 990/1442/1254 989/1444/1256 +f 928/1377/1191 927/1376/1190 998/1449/1261 +f 961/1451/1227 999/1479/1264 990/1442/1254 +f 927/1376/1190 963/1414/1226 1000/1452/1263 +f 964/1417/1229 1001/1455/1266 999/1453/1264 +f 963/1414/1226 965/1416/1228 1002/1454/1265 +f 966/1421/1233 1003/1459/1270 1001/1455/1266 +f 968/1419/1231 967/1418/1230 1004/1456/1267 +f 965/1416/1228 969/1420/1232 1006/1458/1269 +f 970/1424/1236 1007/1462/1273 1003/1459/1270 +f 967/1418/1230 971/1422/1234 1008/1460/1271 +f 969/1420/1232 972/1423/1235 1009/1461/1272 +f 973/1427/1239 1010/1465/1276 1007/1462/1273 +f 971/1422/1234 974/1425/1237 1011/1463/1274 +f 972/1423/1235 975/1426/1238 1012/1464/1275 +f 976/1430/1242 1013/1468/1279 1010/1465/1276 +f 974/1425/1237 977/1428/1240 1014/1466/1277 +f 975/1426/1238 978/1429/1241 1015/1467/1278 +f 979/1432/1244 1016/1470/1281 1013/1468/1279 +f 977/1428/1240 980/1431/1243 1017/1469/1280 +f 978/1429/1241 968/1419/1231 1005/1457/1268 +f 981/1434/1246 1018/1472/1283 1016/1470/1281 +f 980/1431/1243 982/1433/1245 1019/1471/1282 +f 983/1435/1247 1020/1473/1284 1018/1472/1283 +f 982/1433/1245 957/1409/1222 960/1411/1224 +f 984/1437/1249 994/1445/1257 1020/1473/1284 +f 1022/1474/1285 1023/1514/1324 1024/1475/1286 +f 997/1450/1262 998/1449/1261 1025/1477/1288 +f 999/1479/1264 1027/1536/1292 991/1480/1290 +f 998/1449/1261 1000/1452/1263 1028/1481/1291 +f 1001/1455/1266 1021/1476/1287 1027/1482/1292 +f 1000/1452/1263 1002/1454/1265 1029/1483/1293 +f 1003/1459/1270 1022/1474/1285 1021/1476/1287 +f 1005/1457/1268 1004/1456/1267 1030/1484/1294 +f 1002/1454/1265 1006/1458/1269 1032/1486/1296 +f 1007/1462/1273 1033/1489/1299 1022/1474/1285 +f 1004/1456/1267 1008/1460/1271 1034/1487/1297 +f 1006/1458/1269 1009/1461/1272 1035/1488/1298 +f 1010/1465/1276 1036/1492/1302 1033/1489/1299 +f 1008/1460/1271 1011/1463/1274 1037/1490/1300 +f 1009/1461/1272 1012/1464/1275 1038/1491/1301 +f 1013/1468/1279 1039/1495/1305 1036/1492/1302 +f 1011/1463/1274 1014/1466/1277 1040/1493/1303 +f 1012/1464/1275 1015/1467/1278 1041/1494/1304 +f 1016/1470/1281 1042/1497/1307 1039/1495/1305 +f 1014/1466/1277 1017/1469/1280 1043/1496/1306 +f 1015/1467/1278 1005/1457/1268 1031/1485/1295 +f 1018/1472/1283 1044/1499/1309 1042/1497/1307 +f 1017/1469/1280 1019/1471/1282 1045/1498/1308 +f 1020/1473/1284 1046/1501/1311 1044/1499/1309 +f 1019/1471/1282 960/1411/1224 1047/1500/1310 +f 994/1445/1257 1048/1503/1313 1046/1501/1311 +f 960/1411/1224 959/1410/1223 1049/1502/1312 +f 993/1446/1258 1050/1504/1314 1048/1503/1313 +f 995/1447/1259 1051/1505/1315 1049/1502/1312 +f 996/1448/1260 1052/1506/1316 1050/1504/1314 +f 989/1444/1256 992/1443/1255 1051/1505/1315 +f 997/1450/1262 1026/1478/1289 1052/1506/1316 +f 1054/1507/1317 1055/1547/1356 1056/1508/1318 +f 1031/1485/1295 1030/1484/1294 1057/1510/1320 +f 1029/1483/1293 1032/1486/1296 1059/1512/1322 +f 1033/1489/1299 1061/1517/1327 1023/1514/1324 +f 1030/1484/1294 1034/1487/1297 1062/1515/1325 +f 1032/1486/1296 1035/1488/1298 1063/1516/1326 +f 1036/1492/1302 1053/1509/1319 1061/1517/1327 +f 1034/1487/1297 1037/1490/1300 1064/1518/1328 +f 1035/1488/1298 1038/1491/1301 1065/1519/1329 +f 1039/1495/1305 1054/1507/1317 1053/1509/1319 +f 1037/1490/1300 1040/1493/1303 1066/1520/1330 +f 1038/1491/1301 1041/1494/1304 1067/1521/1331 +f 1042/1497/1307 1068/1523/1333 1054/1507/1317 +f 1040/1493/1303 1043/1496/1306 1069/1522/1332 +f 1041/1494/1304 1031/1485/1295 1058/1511/1321 +f 1044/1499/1309 1070/1525/1335 1068/1523/1333 +f 1043/1496/1306 1045/1498/1308 1071/1524/1334 +f 1046/1501/1311 1072/1527/1337 1070/1525/1335 +f 1045/1498/1308 1047/1500/1310 1073/1526/1336 +f 1048/1503/1313 1074/1529/1339 1072/1527/1337 +f 1047/1500/1310 1049/1502/1312 1075/1528/1338 +f 1050/1504/1314 1076/1530/1340 1074/1529/1339 +f 1051/1505/1315 1077/1531/1341 1075/1528/1338 +f 1052/1506/1316 1078/1532/1342 1076/1530/1340 +f 992/1443/1255 1079/1533/1343 1077/1531/1341 +f 1026/1478/1289 1080/1535/1345 1078/1532/1342 +f 991/1480/1290 1081/1537/1346 1079/1533/1343 +f 1026/1478/1289 1025/1477/1288 1082/1534/1344 +f 1027/1536/1292 1083/1561/1348 1081/1537/1346 +f 1025/1477/1288 1028/1481/1291 1084/1538/1347 +f 1021/1476/1287 1024/1475/1286 1083/1539/1348 +f 1028/1481/1291 1029/1483/1293 1060/1513/1323 +f 1086/1540/1349 1087/1578/1386 1088/1541/1350 +f 1064/1518/1328 1066/1520/1330 1089/1543/1352 +f 1065/1519/1329 1067/1521/1331 1091/1545/1354 +f 1068/1523/1333 1093/1550/1359 1055/1547/1356 +f 1066/1520/1330 1069/1522/1332 1094/1548/1357 +f 1067/1521/1331 1058/1511/1321 1095/1549/1358 +f 1070/1525/1335 1085/1542/1351 1093/1550/1359 +f 1069/1522/1332 1071/1524/1334 1096/1551/1360 +f 1072/1527/1337 1086/1540/1349 1085/1542/1351 +f 1071/1524/1334 1073/1526/1336 1097/1552/1361 +f 1074/1529/1339 1098/1554/1363 1086/1540/1349 +f 1073/1526/1336 1075/1528/1338 1099/1553/1362 +f 1076/1530/1340 1100/1555/1364 1098/1554/1363 +f 1077/1531/1341 1101/1556/1365 1099/1553/1362 +f 1078/1532/1342 1102/1557/1366 1100/1555/1364 +f 1079/1533/1343 1103/1558/1367 1101/1556/1365 +f 1080/1535/1345 1104/1560/1369 1102/1557/1366 +f 1081/1537/1346 1105/1562/1370 1103/1558/1367 +f 1080/1535/1345 1082/1534/1344 1106/1559/1368 +f 1083/1561/1348 1107/1585/1372 1105/1562/1370 +f 1082/1534/1344 1084/1538/1347 1108/1563/1371 +f 1024/1475/1286 1109/1566/1374 1107/1564/1372 +f 1084/1538/1347 1060/1513/1323 1110/1565/1373 +f 1023/1514/1324 1111/1569/1377 1109/1566/1374 +f 1058/1511/1321 1057/1510/1320 1112/1567/1375 +f 1060/1513/1323 1059/1512/1322 1113/1568/1376 +f 1061/1517/1327 1114/1572/1380 1111/1569/1377 +f 1057/1510/1320 1062/1515/1325 1115/1570/1378 +f 1059/1512/1322 1063/1516/1326 1116/1571/1379 +f 1053/1509/1319 1056/1508/1318 1114/1572/1380 +f 1062/1515/1325 1064/1518/1328 1090/1544/1353 +f 1063/1516/1326 1065/1519/1329 1092/1546/1355 +f 1118/1573/1381 1119/1607/1414 1120/1574/1382 +f 1096/1551/1360 1097/1552/1361 1121/1576/1384 +f 1098/1554/1363 1123/1580/1388 1087/1578/1386 +f 1097/1552/1361 1099/1553/1362 1124/1579/1387 +f 1100/1555/1364 1117/1575/1383 1123/1580/1388 +f 1101/1556/1365 1125/1581/1389 1124/1579/1387 +f 1102/1557/1366 1118/1573/1381 1117/1575/1383 +f 1103/1558/1367 1126/1582/1390 1125/1581/1389 +f 1104/1560/1369 1127/1584/1392 1118/1573/1381 +f 1105/1562/1370 1128/1586/1393 1126/1582/1390 +f 1104/1560/1369 1106/1559/1368 1129/1583/1391 +f 1107/1585/1372 1130/1611/1395 1128/1586/1393 +f 1106/1559/1368 1108/1563/1371 1131/1587/1394 +f 1109/1566/1374 1132/1590/1397 1130/1588/1395 +f 1108/1563/1371 1110/1565/1373 1133/1589/1396 +f 1111/1569/1377 1134/1594/1401 1132/1590/1397 +f 1095/1549/1358 1112/1567/1375 1135/1591/1398 +f 1110/1565/1373 1113/1568/1376 1137/1593/1400 +f 1114/1572/1380 1138/1597/1404 1134/1594/1401 +f 1112/1567/1375 1115/1570/1378 1139/1595/1402 +f 1113/1568/1376 1116/1571/1379 1140/1596/1403 +f 1056/1508/1318 1141/1600/1407 1138/1597/1404 +f 1115/1570/1378 1090/1544/1353 1142/1598/1405 +f 1116/1571/1379 1092/1546/1355 1143/1599/1406 +f 1055/1547/1356 1144/1603/1410 1141/1600/1407 +f 1090/1544/1353 1089/1543/1352 1145/1601/1408 +f 1092/1546/1355 1091/1545/1354 1146/1602/1409 +f 1093/1550/1359 1147/1605/1412 1144/1603/1410 +f 1089/1543/1352 1094/1548/1357 1148/1604/1411 +f 1091/1545/1354 1095/1549/1358 1136/1592/1399 +f 1085/1542/1351 1088/1541/1350 1147/1605/1412 +f 1094/1548/1357 1096/1551/1360 1122/1577/1385 +f 1126/1582/1390 1149/1608/1415 1150/1606/1413 +f 1127/1584/1392 1151/1610/1417 1119/1607/1414 +f 1128/1586/1393 1152/1612/1418 1149/1608/1415 +f 1127/1584/1392 1129/1583/1391 1153/1609/1416 +f 1130/1611/1395 1154/3051/1420 1152/1612/1418 +f 1129/1583/1391 1131/1587/1394 1155/1613/1419 +f 1132/1590/1397 1156/1616/1422 1154/1614/1420 +f 1131/1587/1394 1133/1589/1396 1157/1615/1421 +f 1134/1594/1401 1158/1620/1426 1156/1616/1422 +f 1136/1592/1399 1135/1591/1398 1159/1617/1423 +f 1133/1589/1396 1137/1593/1400 1161/1619/1425 +f 1138/1597/1404 1162/1623/1429 1158/1620/1426 +f 1135/1591/1398 1139/1595/1402 1163/1621/1427 +f 1137/1593/1400 1140/1596/1403 1164/1622/1428 +f 1141/1600/1407 1165/1626/1432 1162/1623/1429 +f 1139/1595/1402 1142/1598/1405 1166/1624/1430 +f 1140/1596/1403 1143/1599/1406 1167/1625/1431 +f 1144/1603/1410 1168/1629/1435 1165/1626/1432 +f 1142/1598/1405 1145/1601/1408 1169/1627/1433 +f 1143/1599/1406 1146/1602/1409 1170/1628/1434 +f 1147/1605/1412 1171/1631/1437 1168/1629/1435 +f 1145/1601/1408 1148/1604/1411 1172/1630/1436 +f 1146/1602/1409 1136/1592/1399 1160/1618/1424 +f 1088/1541/1350 1173/1633/1439 1171/1631/1437 +f 1148/1604/1411 1122/1577/1385 1174/1632/1438 +f 1087/1578/1386 1175/1635/1441 1173/1633/1439 +f 1122/1577/1385 1121/1576/1384 1176/1634/1440 +f 1123/1580/1388 1177/1637/1443 1175/1635/1441 +f 1121/1576/1384 1124/1579/1387 1178/1636/1442 +f 1117/1575/1383 1120/1574/1382 1177/1637/1443 +f 1125/1581/1389 1150/1606/1413 1178/1636/1442 +f 1170/3052/2453 1160/3053/2454 1165/3054/2454 +f 1160/3053/2454 1159/3055/1444 1162/3056/1444 +f 1159/3055/1444 1163/3057/1444 1162/3056/1444 +f 1163/3057/1444 1166/1640/1444 1156/1639/1444 +f 1162/3056/1444 1163/3057/1444 1158/3058/1444 +f 1166/1640/1444 1169/3059/1444 1176/3060/1444 +f 1169/3059/1444 1172/3061/2455 1174/3062/1444 +f 1176/3060/1444 1169/3059/1444 1174/3062/1444 +f 1176/3060/1444 1178/3063/1444 1166/1640/1444 +f 1178/3063/1444 1150/1638/1444 1166/1640/1444 +f 1150/1638/1444 1149/3064/1444 1156/1639/1444 +f 1149/3064/1444 1152/3065/2456 1154/3066/2457 +f 1156/1639/1444 1149/3064/1444 1154/3066/2457 +f 1156/1639/1444 1158/3058/1444 1163/3057/1444 +f 1162/3056/1444 1165/3054/2454 1160/3053/2454 +f 1165/3054/2454 1168/3067/2458 1170/3052/2453 +f 1168/3067/2458 1171/3068/2459 1119/3069/2460 +f 1171/3068/2459 1173/3070/2461 1120/3071/2462 +f 1119/3069/2460 1171/3068/2459 1120/3071/2462 +f 1173/3070/2461 1175/3072/2463 1177/3073/2464 +f 1177/3073/2464 1120/3071/2462 1173/3070/2461 +f 1119/3069/2460 1151/3074/2465 1168/3067/2458 +f 1151/3074/2465 1153/3075/2466 1167/3076/2467 +f 1170/3052/2453 1151/3074/2465 1167/3076/2467 +f 1153/3075/2466 1155/3077/2468 1164/3078/2469 +f 1155/3077/2468 1157/3079/2470 1161/3080/2471 +f 1164/3078/2469 1155/3077/2468 1161/3080/2471 +f 1164/3078/2469 1167/3076/2467 1153/3075/2466 +f 1151/3074/2465 1170/3052/2453 1168/3067/2458 +f 1180/1641/1445 1181/3081/1445 1182/1642/1445 +f 1183/1646/1447 1184/3082/1447 1182/1644/1447 +f 1184/3082/1447 1185/3083/2472 1179/3084/2473 +f 1182/1644/1447 1184/3082/1447 1179/3084/2473 +f 1185/3083/2472 1186/3085/2474 1179/3084/2473 +f 1182/1644/1447 749/3086/1447 733/1645/1447 +f 1183/1647/1448 1187/3087/1448 1188/1648/1448 +f 1187/1651/1449 1189/3088/2475 1190/3089/2476 +f 1181/1652/1449 1180/3090/1449 1188/1650/1449 +f 1180/3090/1449 1191/3091/1449 1192/3092/1449 +f 1187/1651/1449 1190/3089/2476 1181/1652/1449 +f 1192/3092/1449 1188/1650/1449 1180/3090/1449 +f 1193/1653/1450 1194/3093/1450 1192/1654/1450 +f 1195/1656/1451 1198/3094/1451 1197/1657/1451 +f 1183/1665/1448 733/3095/1453 1189/1666/1453 +f 1181/1668/1445 1190/3096/1452 749/1669/1452 +f 1202/1671/1451 1203/3097/1451 1204/1672/1451 +f 1208/1674/1454 1204/3098/1452 1203/3099/2477 +f 1203/3099/2477 1205/1675/1455 1208/1674/1454 +f 1205/1675/1455 1206/3100/2478 1207/1676/1456 +f 1212/1679/1450 1207/3101/1450 1210/1677/1450 +f 1207/3101/1450 1206/3102/1450 1209/1690/1450 +f 1209/1690/1450 1210/1677/1450 1207/3101/1450 +f 1214/1682/1458 1212/3103/2479 1213/3104/2480 +f 1212/3103/2479 1211/3105/2481 1213/3104/2480 +f 1213/3104/2480 1202/1680/1457 1214/1682/1458 +f 1201/1673/1460 1204/1672/2482 1208/1684/1461 +f 1208/1684/1461 1207/3101/1449 1212/1679/1449 +f 1212/1679/1449 1214/1683/1459 1208/1684/1461 +f 1209/3106/1447 1206/3107/2483 1220/3108/1447 +f 1206/3107/2483 1205/1686/1463 1218/3109/2484 +f 1220/3108/1447 1206/3107/2483 1219/3110/1447 +f 1205/1686/1463 1203/3111/2485 1213/1687/1464 +f 1203/3111/2485 1202/3112/2485 1213/1687/1464 +f 1213/1687/1464 1211/3113/2486 1217/1685/1462 +f 1211/3113/2486 1210/3114/1447 1215/3115/1447 +f 1218/3109/2484 1219/3110/1447 1206/3107/2483 +f 1215/3115/1447 1216/3116/1447 1211/3113/2486 +f 1216/3116/1447 1217/1685/1462 1211/3113/2486 +f 1217/1685/1462 1218/3109/2484 1205/1686/1463 +f 1220/1688/1453 1221/1701/1453 1222/1689/1453 +f 1228/1693/1447 1222/1689/1447 1223/1691/1447 +f 1222/1689/1447 1221/1701/1447 1223/1691/1447 +f 1223/1691/1447 1224/1702/1447 1225/1697/1447 +f 1226/1692/1447 1227/1699/1447 1228/1693/1447 +f 1223/1691/1447 1225/1697/1447 1226/1692/1447 +f 1218/1694/1453 1224/1702/1453 1223/1691/1453 +f 1216/1696/1452 1226/1692/1452 1225/1697/1452 +f 1210/1677/1452 1228/1693/1452 1227/1699/1452 +f 1219/1695/1465 1223/1691/1465 1221/1701/1465 +f 1217/1698/1450 1225/1697/1450 1224/1702/1450 +f 1215/1700/1466 1227/1699/1466 1226/1692/1466 +f 1209/1690/1451 1222/1689/1451 1228/1693/1451 +f 1203/1703/1467 1230/3117/1469 1229/1704/1468 +f 1230/1706/1469 1232/3118/1470 1231/1707/1470 +f 1230/1709/1471 1203/3119/1452 1204/1710/1472 +f 1201/1712/1474 1202/3120/1453 1229/1713/1475 +f 1238/1717/1479 1233/3121/2487 1236/1715/1477 +f 1233/3121/2487 1234/3122/2488 1235/3123/2489 +f 1236/1715/1477 1233/3121/2487 1235/3123/2489 +f 1237/1718/1480 1193/3124/2490 1186/1719/1481 +f 1185/1721/1483 1194/3125/2491 1234/1722/1484 +f 1194/1726/1488 1193/3126/2492 1236/3127/2493 +f 1193/3126/2492 1237/3128/2494 1236/3127/2493 +f 1194/1726/1488 1236/3127/2493 1235/1724/1486 +f 1242/1727/1489 1241/3129/2495 1240/1728/1490 +f 1197/1730/1491 1198/3130/1491 1244/1731/1492 +f 1245/1734/1452 1237/3131/1452 1238/1735/1452 +f 1238/1735/1452 1243/3132/1493 1244/3133/1492 +f 1244/3133/1492 1246/1733/1452 1238/1735/1452 +f 1241/3134/2495 1233/1738/1453 1240/1737/1490 +f 1233/1738/1453 1234/3135/1453 1248/3136/1453 +f 1247/1736/1453 1233/1738/1453 1248/3136/1453 +f 1250/1739/1494 1249/1745/1500 1235/1740/1495 +f 1251/1742/1497 1254/1774/1526 1253/1743/1498 +f 1249/1745/1500 1255/1753/1508 1247/1746/1501 +f 1235/1740/1495 1249/1745/1500 1248/1747/1502 +f 1246/1749/1504 1256/1752/1507 1250/1739/1494 +f 1245/1750/1505 1250/1739/1494 1236/1741/1496 +f 1249/1745/1500 1250/1739/1494 1256/1752/1507 +f 1260/1754/1509 1259/1757/1512 1258/1755/1510 +f 1259/1757/1512 1262/1759/1514 1261/1758/1513 +f 1262/1759/1514 1264/1769/1521 1263/1760/1515 +f 1239/1762/1451 1265/3137/2496 1268/1763/1451 +f 1268/1763/1451 1267/3138/1451 1242/1761/1451 +f 1267/3138/1451 1266/3139/1451 1242/1761/1451 +f 1256/1752/1507 1270/1765/1517 1269/1764/1516 +f 1246/1749/1504 1244/3140/2497 1270/1765/1517 +f 1265/3141/2498 1271/1770/1522 1268/1768/1520 +f 1271/1770/1522 1273/3142/2499 1272/1766/1518 +f 1268/1768/1520 1271/1770/1522 1272/1766/1518 +f 1269/1764/1516 1240/3143/2500 1247/1746/1501 +f 1264/1769/1521 1273/3142/2499 1271/1770/1522 +f 1252/1744/1499 1253/1743/1498 1275/1771/1523 +f 1195/1773/1525 1196/3144/2501 1254/1774/1526 +f 1274/1772/1524 1275/1771/1523 1277/1775/1527 +f 1276/1776/1528 1277/1775/1527 1279/1777/1529 +f 1278/1778/1530 1279/1777/1529 1281/1779/1531 +f 1280/1780/1532 1281/1779/1531 1283/1781/1451 +f 1283/1781/1451 1285/1784/1534 1284/1783/1533 +f 1285/1784/1534 1260/1754/1509 1257/1756/1511 +f 1286/1785/1535 1287/1809/1558 1288/1786/1536 +f 1291/1788/1538 1292/1810/1559 1293/1789/1539 +f 1286/1785/1535 1289/1787/1537 1295/1791/1541 +f 1290/1790/1540 1293/1789/1539 1297/1793/1543 +f 1299/1796/1546 1296/1794/1544 1297/1793/1543 +f 1301/1798/1449 1299/1796/1546 1300/1797/1547 +f 1301/1798/1449 1302/1799/1548 1304/1800/1549 +f 1303/1801/1550 1304/1800/1549 1309/1805/1554 +f 1305/1802/1551 1307/1804/1553 1311/1807/1556 +f 1287/1809/1558 1308/1806/1555 1309/1805/1554 +f 1291/1788/1538 1310/1808/1557 1311/1807/1556 +f 1309/1805/1554 1312/1824/1570 1313/1811/1560 +f 1297/1793/1543 1293/1789/1539 1314/1813/1561 +f 1300/1797/1547 1297/1793/1543 1315/1814/1562 +f 1298/1815/1545 1316/1817/1563 1319/1819/1565 +f 1302/1799/1548 1300/1797/1547 1317/1818/1564 +f 1302/1799/1548 1320/1821/1567 1321/1822/1568 +f 1304/1800/1549 1321/1822/1568 1312/1824/1570 +f 1320/1821/1567 1317/1818/1564 1323/1825/1571 +f 1320/1821/1567 1324/1826/1572 1325/1827/1573 +f 1321/1822/1568 1325/1827/1573 1326/1828/1574 +f 1312/1824/1570 1326/1828/1574 1328/1832/1576 +f 1315/1814/1562 1314/1813/1561 1329/1835/1577 +f 1317/1818/1564 1315/1814/1562 1330/1836/1578 +f 1327/1831/1575 1331/1850/1588 1332/1837/1579 +f 1328/1832/1576 1333/1851/1589 1334/1838/1580 +f 1329/1835/1577 1292/1834/1559 1332/1837/1579 +f 1289/1839/1537 1334/1838/1580 1336/1841/1582 +f 1330/1836/1578 1329/1835/1577 1335/1840/1581 +f 1323/1825/1571 1330/1836/1578 1337/1843/1583 +f 1324/1826/1572 1323/1825/1571 1338/1845/1584 +f 1324/1826/1572 1339/1846/1585 1340/1847/1586 +f 1325/1827/1573 1340/1847/1586 1341/1848/1587 +f 1326/1828/1574 1341/1848/1587 1333/1851/1589 +f 1339/1846/1585 1338/1845/1584 1342/1852/1590 +f 1339/1846/1585 1343/1853/1591 1344/1854/1592 +f 1341/1848/1587 1340/1847/1586 1344/1854/1592 +f 1335/1840/1581 1332/1837/1579 1347/1859/1596 +f 1337/1843/1583 1335/1840/1581 1348/1860/1597 +f 1337/1843/1583 1350/1863/1599 1342/1852/1590 +f 1333/1865/1589 1351/1877/1606 1352/1866/1600 +f 1343/1853/1591 1342/1852/1590 1354/1871/1602 +f 1343/1853/1591 1355/1873/1603 1356/1874/1604 +f 1355/1873/1607 1358/1889/1607 1359/1878/1608 +f 1356/1874/1604 1359/1878/1608 1360/1879/1609 +f 1347/1883/1596 1331/1880/1588 1361/1882/1610 +f 1348/1885/1597 1347/1883/1596 1362/1884/1611 +f 1350/1870/1599 1348/1885/1597 1363/1886/1612 +f 1354/1871/1602 1350/1870/1599 1364/1887/1613 +f 1355/1873/1607 1354/1871/1602 1365/1888/1614 +f 1322/1855/1616 1367/1919/1645 1368/1894/1617 +f 1360/1896/1619 1359/1921/1647 1369/1897/1620 +f 1357/1895/1618 1368/1894/1617 1371/1899/1622 +f 1360/1896/1619 1370/1898/1621 1372/1901/1624 +f 1362/1903/1626 1361/1900/1623 1371/1899/1622 +f 1351/1902/1625 1372/1901/1624 1374/1905/1628 +f 1363/1906/1630 1362/1903/1626 1373/1904/1627 +f 1366/1892/1632 1352/1891/1629 1374/1905/1628 +f 1364/1909/1634 1363/1906/1630 1375/1907/1631 +f 1366/1892/1632 1376/1908/1633 1378/1911/1636 +f 1364/1909/1634 1377/1910/1635 1379/1913/1638 +f 1319/1872/1640 1353/1912/1637 1378/1911/1636 +f 1365/1914/1639 1379/1913/1638 1381/1916/1642 +f 1359/1921/1647 1358/1917/1643 1381/1916/1642 +f 1379/1913/1638 1382/1923/1648 1383/1924/1649 +f 1369/1897/1620 1381/1916/1642 1383/1924/1649 +f 1372/1929/1652 1370/1926/1621 1385/1928/1651 +f 1374/1934/1628 1372/1929/1652 1386/1930/1653 +f 1373/1931/1627 1387/1933/1654 1389/1936/1656 +f 1375/1937/1657 1389/1936/1656 1390/1939/1658 +f 1390/1939/1658 1393/1958/1668 1394/1945/1661 +f 1368/1948/1617 1396/1949/1663 1397/1950/1664 +f 1386/1951/1653 1398/1953/1665 1399/1954/1666 +f 1397/1950/1664 1400/1960/1669 1402/1964/1671 +f 1389/1966/1656 1387/3145/1672 1402/1967/1671 +f 1403/1971/1673 1399/1970/1666 1405/1989/1677 +f 1400/1998/1669 1409/2000/1682 1410/2001/1683 +f 1406/2009/1678 1405/3146/1677 1411/2010/1684 +f 1410/2015/1683 1409/2012/1682 1412/2014/1685 +f 1413/2057/1686 1412/2051/1685 1427/2053/1700 +f 1414/2059/1687 1398/2054/1665 1428/2056/1701 +f 1413/2061/1686 1429/3147/1702 1424/2045/1697 +f 1421/2062/1694 1419/2079/1692 1430/2063/1703 +f 1421/2062/1694 1431/2064/1704 1432/2065/1705 +f 1428/2066/1706 1432/2065/1705 1434/2069/1708 +f 1424/2070/1697 1429/2058/1702 1433/2068/1707 +f 1423/2043/1709 1434/2069/1708 1436/2072/1711 +f 1425/2073/1698 1424/2070/1697 1435/2071/1710 +f 1425/2073/1698 1437/2074/1712 1438/2075/1713 +f 1422/2077/1695 1417/2076/1690 1438/2075/1713 +f 1422/2077/1695 1439/2078/1714 1430/2063/1703 +f 1439/2078/1716 1438/2075/1713 1440/2081/1715 +f 1439/2078/1716 1441/2082/1717 1442/2083/1718 +f 1431/2084/1704 1442/2083/1718 1443/2085/1719 +f 1427/2087/1700 1420/2109/1693 1445/2088/1721 +f 1431/2084/1704 1444/2086/1720 1447/2090/1723 +f 1433/2092/1707 1427/2087/1700 1446/2089/1722 +f 1434/2094/1708 1432/2091/1705 1447/2090/1723 +f 1433/2092/1707 1448/2093/1724 1450/2096/1726 +f 1436/2098/1711 1434/2094/1708 1449/2095/1725 +f 1437/2080/1712 1435/2097/1710 1450/2096/1726 +f 1436/2098/1711 1451/2099/1727 1453/2101/1729 +f 1437/2080/1712 1452/2100/1728 1454/2103/1730 +f 1426/2102/1699 1453/2101/1729 1455/2104/1731 +f 1440/2081/1715 1454/2103/1730 1456/2105/1732 +f 1442/2083/1718 1441/2082/1717 1456/2105/1732 +f 1420/2109/1693 1367/1919/1645 1457/2107/1734 +f 1447/2110/1735 1444/2131/1756 1458/2111/1736 +f 1446/2113/1738 1460/2133/1758 1461/2114/1739 +f 1449/2116/1741 1447/2110/1735 1459/2112/1737 +f 1448/2115/1740 1461/2114/1739 1463/2118/1743 +f 1451/2120/1745 1449/2116/1741 1462/2117/1742 +f 1450/2119/1744 1463/2118/1743 1465/2122/1747 +f 1452/2123/1748 1465/2122/1747 1466/2125/1750 +f 1454/2126/1751 1466/2125/1750 1467/2127/1752 +f 1443/2129/1754 1456/2128/1753 1467/2127/1752 +f 1444/2131/1756 1443/2129/1754 1468/2130/1755 +f 1466/2125/1750 1470/2143/1766 1471/2137/1761 +f 1468/2130/1755 1467/2127/1762 1471/2137/1761 +f 1460/2144/1758 1474/2160/1778 1475/2145/1767 +f 1462/2147/1742 1459/2161/1779 1476/2148/1768 +f 1461/2146/1739 1475/2145/1767 1478/2150/1770 +f 1464/2141/1746 1462/2147/1742 1477/2149/1769 +f 1463/2151/1771 1478/2150/1770 1480/2153/1773 +f 1470/2143/1766 1465/2142/1747 1480/2153/1773 +f 1470/2143/1766 1481/2154/1774 1482/2155/1775 +f 1472/2138/1763 1471/2137/1761 1482/2155/1775 +f 1472/2138/1763 1483/2156/1776 1484/2157/1777 +f 1459/2161/1779 1458/2158/1736 1484/2157/1777 +f 1481/2154/1774 1485/2169/1786 1486/2162/1780 +f 1483/2156/1776 1482/2155/1775 1486/2162/1780 +f 1484/2157/1777 1483/2156/1776 1487/2163/1781 +f 1476/2148/1768 1484/2157/1777 1488/2164/1782 +f 1478/2150/1770 1490/2167/1784 1491/2168/1785 +f 1480/2153/1773 1491/2168/1785 1485/2169/1786 +f 1477/2170/1769 1489/2165/1783 1492/2171/1787 +f 1475/2166/1767 1494/2188/1796 1495/2173/1789 +f 1490/2167/1784 1495/2173/1789 1496/2175/1790 +f 1491/2168/1785 1496/2175/1790 1498/2179/1792 +f 1485/2169/1786 1498/2179/1792 1499/2180/1793 +f 1487/2163/1781 1486/2162/1780 1499/2180/1793 +f 1488/2164/1782 1487/2163/1781 1500/2181/1794 +f 1473/2182/1765 1305/2184/1551 1310/2186/1557 +f 1489/2165/1783 1488/2164/1782 1501/2185/1795 +f 1474/2187/1778 1310/2186/1557 1494/2188/1796 +f 1500/2181/1794 1499/2180/1793 1502/2189/1797 +f 1501/2185/1795 1500/2181/1794 1503/2190/1798 +f 1492/2171/1787 1501/2185/1795 1504/2192/1799 +f 1495/2173/1789 1506/2195/1801 1507/2198/1802 +f 1496/2175/1790 1507/2198/1802 1508/2199/1803 +f 1498/2179/1792 1508/2199/1803 1502/2189/1797 +f 1506/2195/1801 1494/2194/1796 1291/1788/1538 +f 1507/2198/1802 1506/2195/1801 1290/1790/1540 +f 1507/2198/1802 1296/1794/1544 1299/1796/1546 +f 1508/2199/1803 1299/1796/1546 1301/1798/1449 +f 1503/2190/1798 1502/2189/1797 1301/1798/1449 +f 1504/2192/1799 1503/2190/1798 1303/1801/1550 +f 1504/2192/1799 1308/1806/1555 1287/1809/1558 +f 1505/2193/1800 1287/1809/1558 1286/1785/1535 +f 1510/2203/1804 1511/3148/1816 1512/2204/1805 +f 1513/2206/1807 1514/3149/1807 1515/2207/1807 +f 1510/2211/1810 1517/3150/2502 1519/3151/2503 +f 1517/3150/2502 1518/3152/1453 1519/3151/2503 +f 1519/3151/2503 1516/2209/1808 1510/2211/1810 +f 1516/2209/1808 1515/3153/2504 1511/2210/1809 +f 1519/2212/1811 1520/3154/2505 1513/2206/1812 +f 1521/2213/1814 1522/3155/1814 1518/2214/1814 +f 1515/2216/1815 1514/3156/2506 1512/2217/1805 +f 1518/2219/1451 1522/3157/1451 1520/2220/1451 +f 1517/2222/1817 1510/3158/2507 1509/2223/1818 +f 1514/3159/2508 1513/3160/2509 1512/3161/2510 +f 1513/3160/2509 1520/2225/1820 1509/2227/1822 +f 1520/2225/1820 1522/3162/1452 1521/2226/1821 +f 1509/2227/1822 1512/3161/2510 1513/3160/2509 +f 1524/2228/1823 1525/2244/2511 1526/2229/1824 +f 1525/3163/1452 1527/3164/1452 1528/3165/1452 +f 1525/3163/1452 1528/3165/1452 1529/3166/1452 +f 1541/3167/1452 1542/2233/1452 1535/3168/1452 +f 1542/2233/1452 1526/3169/1452 1532/3170/1452 +f 1533/2231/1452 1542/2233/1452 1532/3170/1452 +f 1539/3171/1452 1540/3172/1452 1535/3168/1452 +f 1540/3172/1452 1541/3167/1452 1535/3168/1452 +f 1537/3173/1452 1538/3174/1452 1536/3175/1452 +f 1538/3174/1452 1539/3171/1452 1536/3175/1452 +f 1526/3169/1452 1525/3163/1452 1530/3176/1452 +f 1525/3163/1452 1529/3166/1452 1530/3176/1452 +f 1536/3175/1452 1539/3171/1452 1535/3168/1452 +f 1526/3169/1452 1530/3176/1452 1531/3177/1452 +f 1526/3169/1452 1531/3177/1452 1532/3170/1452 +f 1534/2232/1452 1535/3168/1452 1542/2233/1452 +f 1539/2234/1825 1543/3178/1857 1544/2235/1826 +f 1542/2237/1449 1545/3179/1449 1523/2238/1449 +f 1537/2240/1828 1546/2267/1828 1547/2241/1828 +f 1548/2243/1829 1527/3040/2512 1525/2244/1830 +f 1549/2245/1832 1550/3180/1843 1533/2246/1833 +f 1551/2248/1835 1549/3181/1832 1532/2249/1834 +f 1529/2252/1838 1552/3182/2513 1553/2253/1839 +f 1553/2253/1839 1551/3183/2514 1531/3184/2515 +f 1531/3184/2515 1530/2251/1837 1553/2253/1839 +f 1555/2254/1840 1536/2266/2516 1535/2255/1841 +f 1550/2257/1843 1556/3185/1846 1534/2258/1844 +f 1554/2260/1845 1535/3186/2517 1534/2261/1844 +f 1528/2263/1847 1557/3039/2442 1552/2264/1848 +f 1536/2266/1850 1555/2254/2518 1546/2267/1851 +f 1540/2268/1827 1544/3187/1826 1558/2269/1853 +f 1542/2271/1855 1541/2270/1854 1558/2269/1853 +f 1543/2273/1857 1539/3188/1825 1538/2274/1450 +f 1560/2276/1858 1561/2280/2519 1562/2277/1859 +f 1563/2279/1861 1564/2282/1865 1561/2280/1862 +f 1565/2281/1864 1566/2285/1864 1564/2282/1865 +f 1567/2286/1869 1569/3189/2520 1570/2287/1870 +f 1571/2289/1872 1570/3190/2521 1569/2290/1872 +f 1573/2292/1873 1571/3191/2522 1572/2293/1874 +f 1568/3192/1453 1570/3193/1453 1566/3194/1453 +f 1570/3193/1453 1571/3195/1453 1566/3194/1453 +f 1561/2297/1453 1564/3196/1453 1573/2295/1453 +f 1564/3196/1453 1566/3194/1453 1571/3195/1453 +f 1577/3197/1453 1562/3198/1453 1576/3199/1453 +f 1562/3198/1453 1561/2297/1453 1575/2296/1453 +f 1575/2296/1453 1576/3199/1453 1562/3198/1453 +f 1564/3196/1453 1571/3195/1453 1573/2295/1453 +f 1575/2298/1876 1573/3200/1873 1574/2299/1875 +f 1580/3201/1452 1579/3202/1452 1559/3203/1452 +f 1579/3202/1452 1578/3204/1452 1559/3203/1452 +f 1563/2303/1452 1560/3205/1452 1574/2301/1452 +f 1560/3205/1452 1559/3203/1452 1578/3204/1452 +f 1574/2301/1452 1560/3205/1452 1578/3204/1452 +f 1567/3206/1452 1565/3207/1452 1569/3208/1452 +f 1565/3207/1452 1563/2303/1452 1572/2302/1452 +f 1572/2302/1452 1569/3208/1452 1565/3207/1452 +f 1559/2278/1860 1562/2277/1859 1577/2304/1878 +f 1580/2305/1880 1577/2304/2523 1576/2306/1881 +f 1576/2308/1883 1575/3209/1876 1578/2309/1877 +f 1582/2311/1451 1583/2311/1451 1584/2312/1451 +f 1582/2313/1886 1586/3210/2524 1587/2314/1887 +f 1586/2316/1889 1588/2325/2525 1589/2317/1890 +f 1589/2319/1892 1588/3211/2526 1581/2320/1893 +f 1585/2322/1895 1587/3212/2527 1589/2323/1896 +f 1582/2311/1898 1581/2312/1898 1588/2325/1898 +f 1583/2326/1452 1591/3213/1452 1592/2327/1452 +f 1585/2329/1451 1590/3214/1451 1594/2330/1451 +f 1585/2332/1451 1591/2332/1451 1583/2333/1451 +f 1581/2334/1451 1584/2334/1451 1594/2335/1451 +f 1596/2336/1451 1593/2333/1451 1592/2332/1451 +f 1584/2338/1453 1596/3215/1453 1595/2339/1453 +f 1583/2311/1899 1593/2311/1899 1596/2312/1899 +f 1594/2341/1900 1595/3216/1900 1592/2342/1900 +f 1592/2332/1901 1595/2337/1901 1598/2337/1902 +f 1598/2337/1902 1600/2337/1904 1599/2332/1904 +f 1598/2344/1905 1595/3217/2528 1596/2345/1906 +f 1593/2347/1908 1592/3218/2529 1597/2348/1909 +f 1602/2350/1451 1603/3219/1451 1604/2351/1451 +f 1607/3220/1452 1604/3221/1452 1606/2355/1452 +f 1604/3221/1452 1603/2353/1452 1606/2355/1452 +f 1609/2356/1911 1610/3222/1911 1611/2357/1911 +f 1601/2361/1453 1612/3223/1453 1611/2359/1453 +f 1611/2359/1453 1610/3224/1453 1602/2360/1453 +f 1601/2364/1449 1604/3225/1449 1613/2362/1449 +f 1604/3225/1449 1607/3226/1449 1613/2362/1449 +f 1608/2358/1911 1611/2357/1911 1612/2365/1911 +f 1606/2367/1912 1608/2358/1912 1613/2366/1912 +f 1605/2369/1912 1609/2356/1912 1608/2358/1912 +f 1601/2370/1913 1614/3227/2530 1615/2371/2531 +f 1603/2376/2532 1616/3228/2533 1617/2377/1918 +f 1619/2382/1921 1620/2388/1927 1621/2383/1922 +f 1622/2385/1924 1623/2410/1948 1624/2386/1925 +f 1620/2388/1927 1626/2392/1931 1627/2389/1928 +f 1625/2387/1926 1624/2386/1925 1628/2390/1929 +f 1626/2392/1931 1630/2396/1935 1631/2393/1932 +f 1629/2391/1930 1628/2390/1929 1632/2394/1933 +f 1630/2396/1935 1634/2400/1939 1635/2397/1936 +f 1633/2395/1934 1632/2394/1933 1636/2398/1937 +f 1634/2400/1939 1638/2404/1942 1639/2401/1940 +f 1637/2399/1938 1636/2398/1937 1640/2402/1941 +f 1638/2404/1942 1642/3229/2534 1643/2405/1943 +f 1640/2402/1941 1644/2409/1947 1645/2406/1944 +f 1643/2405/1943 1642/3229/2534 1646/2407/1945 +f 1644/2409/1947 1619/3230/1921 1618/2384/1923 +f 1647/2408/1946 1646/2407/1945 1623/2410/1948 +f 1648/2411/1949 1649/2415/1953 1650/2412/1950 +f 1652/2414/1952 1653/2417/1955 1650/2412/1950 +f 1654/2416/1954 1655/2422/1960 1653/2417/1955 +f 1656/2418/2535 1657/2423/1961 1658/2419/1957 +f 1660/2421/1959 1661/2426/1964 1655/2422/1960 +f 1657/2423/1961 1662/2427/1965 1663/2424/1962 +f 1664/2425/1963 1665/2430/1968 1661/2426/1964 +f 1662/2427/1965 1666/2431/1969 1667/2428/1966 +f 1668/2429/1967 1669/2434/1972 1665/2430/1968 +f 1666/2431/1969 1670/2435/1973 1671/2432/1970 +f 1672/2433/1971 1673/2438/1975 1669/2434/1972 +f 1670/2435/1973 1648/3231/1949 1651/2436/1951 +f 1674/2437/1974 1675/2439/1976 1673/2438/1975 +f 1675/2439/1976 1676/2444/1981 1677/2440/1977 +f 1651/2413/1951 1650/2412/1950 1678/2441/1978 +f 1680/2443/1980 1681/2446/1983 1676/2444/1981 +f 1653/2417/1955 1682/2447/1984 1678/2441/1978 +f 1680/2443/1980 1659/2420/1958 1683/2445/1982 +f 1655/2422/1960 1684/2449/1986 1682/2447/1984 +f 1659/2420/1958 1658/2419/1957 1685/2448/1985 +f 1661/2426/1964 1686/2451/1988 1684/2449/1986 +f 1658/2419/1957 1663/2424/1962 1687/2450/1987 +f 1665/2430/1968 1688/2453/1990 1686/2451/1988 +f 1663/2424/1962 1667/2428/1966 1689/2452/1989 +f 1669/2434/1972 1690/2455/1992 1688/2453/1990 +f 1667/2428/1966 1671/2432/1970 1691/2454/1991 +f 1673/2438/1975 1677/2440/1977 1690/2455/1992 +f 1671/2432/1970 1651/2436/1951 1679/2456/1979 +f 1691/2454/1991 1679/2456/1979 1692/2457/1993 +f 1676/2444/1981 1694/2463/1998 1695/2459/1995 +f 1679/2442/1979 1678/2441/1978 1696/2460/1996 +f 1676/2444/1981 1681/2446/1983 1697/2462/1997 +f 1682/2447/1984 1698/2465/2000 1696/2460/1996 +f 1681/2446/1983 1683/2445/1982 1699/2464/1999 +f 1684/2449/1986 1700/2467/2002 1698/2465/2000 +f 1683/2445/1982 1685/2448/1985 1701/2466/2001 +f 1686/2451/1988 1702/2469/2004 1700/2467/2002 +f 1685/2448/1985 1687/2450/1987 1703/2468/2003 +f 1688/2453/1990 1704/2471/2006 1702/2469/2004 +f 1687/2450/1987 1689/2452/1989 1705/2470/2005 +f 1690/2455/1992 1706/2472/2007 1704/2471/2006 +f 1689/2452/1989 1691/2454/1991 1693/2458/1994 +f 1677/2440/1977 1695/2459/1995 1706/2472/2007 +f 1693/2458/1994 1692/2457/1993 1707/2473/2008 +f 1694/2463/1998 1709/2478/2012 1710/2475/2010 +f 1692/2461/1993 1696/2460/1996 1711/2476/2011 +f 1697/2462/1997 1712/2480/2014 1709/2478/2012 +f 1698/2465/2000 1713/2481/2015 1711/2476/2011 +f 1697/2462/1997 1699/2464/1999 1714/2479/2013 +f 1700/2467/2002 1715/2483/2017 1713/2481/2015 +f 1699/2464/1999 1701/2466/2001 1716/2482/2016 +f 1702/2469/2004 1717/2485/2019 1715/2483/2017 +f 1701/2466/2001 1703/2468/2003 1718/2484/2018 +f 1704/2471/2006 1719/2487/2021 1717/2485/2019 +f 1703/2468/2003 1705/2470/2005 1720/2486/2020 +f 1706/2472/2007 1721/2488/2022 1719/2487/2021 +f 1705/2470/2005 1693/2458/1994 1708/2474/2009 +f 1695/2459/1995 1710/2475/2010 1721/2488/2022 +f 1707/3232/2008 1711/3233/2011 1713/3234/2015 +f 1713/3234/2015 1715/3235/2017 1717/3236/2019 +f 1717/3236/2019 1719/3237/2021 1721/2491/2022 +f 1721/2491/2022 1710/3238/2010 1709/3239/2012 +f 1709/3239/2012 1712/3240/2014 1714/3241/2013 +f 1714/3241/2013 1716/3242/2016 1718/2489/2018 +f 1718/2489/2018 1720/3243/2020 1708/2490/2009 +f 1708/2490/2009 1707/3232/2008 1721/2491/2022 +f 1707/3232/2008 1713/3234/2015 1721/2491/2022 +f 1713/3234/2015 1717/3236/2019 1721/2491/2022 +f 1721/2491/2022 1709/3239/2012 1714/3241/2013 +f 1714/3241/2013 1718/2489/2018 1721/2491/2022 +f 1622/2385/2023 1722/2496/2033 1723/2492/2024 +f 1724/2493/2026 1725/2494/2029 1629/2391/2027 +f 1725/2494/2029 1726/2536/2536 1625/2387/2030 +f 1647/2408/2025 1723/2492/2024 1727/2495/2031 +f 1625/2387/2030 1726/2536/2536 1722/2496/2033 +f 1643/2405/2032 1727/2495/2031 1728/2497/2034 +f 1729/2498/2036 1730/2503/2042 1731/2499/2037 +f 1639/2401/2035 1728/2497/2034 1733/2501/2039 +f 1734/2502/2041 1735/2535/2537 1730/2503/2042 +f 1635/2397/2040 1733/2501/2039 1736/2504/2043 +f 1738/2505/2045 1735/2535/2537 1734/2502/2041 +f 1740/2507/2047 1738/2505/2045 1737/2506/2046 +f 1631/2393/2044 1736/2504/2043 1741/2509/2049 +f 1743/2510/2051 1740/2507/2047 1739/2508/2048 +f 1744/2512/2053 1745/2533/2079 1637/2399/2054 +f 1747/2513/2056 1743/2510/2051 1742/2511/2052 +f 1749/2515/2058 1747/2513/2056 1746/2514/2057 +f 1751/2517/2060 1749/2515/2058 1748/2516/2059 +f 1753/2519/2062 1751/2517/2060 1750/2518/2061 +f 1741/2509/2049 1754/2522/2066 1621/2383/2064 +f 1755/2521/2065 1756/2532/2078 1753/2519/2062 +f 1754/2522/2066 1757/2527/2072 1618/2384/2067 +f 1732/2500/2038 1731/2499/2037 1758/2523/2068 +f 1759/2524/2069 1758/2523/2068 1760/2525/2070 +f 1757/2527/2072 1762/2530/2076 1645/2406/2073 +f 1761/2526/2071 1760/2525/2070 1763/2528/2074 +f 1762/2530/2076 1744/2512/2053 1641/2403/2055 +f 1765/2531/2077 1766/3244/2080 1756/2532/2078 +f 1745/2533/2079 1724/2493/2026 1633/2395/2028 +f 1764/2529/2075 1763/2528/2074 1766/2534/2080 +f 1731/2499/2081 1730/2503/2082 1725/2494/2082 +f 1749/2515/2083 1751/2517/2084 1736/2504/2084 +f 1758/2523/2085 1731/2499/2081 1724/2493/2081 +f 1747/2513/2086 1749/2515/2083 1733/2501/2083 +f 1743/2510/2087 1747/2513/2086 1728/2497/2086 +f 1763/2528/2088 1760/2525/2089 1744/2512/2089 +f 1740/2507/2090 1743/2510/2087 1727/2495/2087 +f 1766/2534/2091 1763/2528/2088 1762/2530/2088 +f 1738/2505/2092 1740/2507/2090 1723/2492/2090 +f 1756/2532/1452 1766/3244/2091 1757/2527/2091 +f 1735/2535/2093 1738/2505/2092 1722/2496/2092 +f 1753/2519/2094 1756/2532/1452 1754/2522/1452 +f 1730/2503/2082 1735/2535/2093 1726/2536/2093 +f 1751/2517/2084 1753/2519/2094 1741/2509/2094 +f 1760/2525/2089 1758/2523/2085 1745/2533/2085 +f 1768/2537/2095 1769/2588/2095 1770/2538/2096 +f 1628/2540/2097 1632/3245/2104 1657/2423/2098 +f 1642/2541/2100 1646/2546/2106 1672/2433/2101 +f 1642/2541/2100 1668/2429/2102 1664/2425/2103 +f 1632/2543/2104 1636/2558/2085 1662/2544/2105 +f 1646/2546/2106 1623/3246/2538 1674/2437/2538 +f 1630/2547/2107 1654/2559/2116 1652/2548/2108 +f 1644/2550/2110 1670/2561/2118 1666/2551/2111 +f 1638/2553/2086 1664/3247/2103 1660/2554/2112 +f 1626/2549/2109 1652/2548/2108 1649/2556/2114 +f 1636/2558/2085 1640/2552/2111 1666/2551/2111 +f 1634/2555/2113 1660/2554/2112 1654/2559/2116 +f 1619/2560/2117 1648/3248/2119 1670/2561/2118 +f 1620/2557/2115 1649/2556/2114 1648/2562/2119 +f 1623/2564/2120 1646/2595/2121 1771/2565/2121 +f 1630/2567/2122 1773/2616/2122 1774/2568/2123 +f 1776/2570/2124 1777/2594/2124 1778/2571/2125 +f 1636/2573/2127 1632/2634/2128 1779/2574/2128 +f 1640/2576/2129 1636/2573/2127 1780/2575/2127 +f 1782/2578/2131 1783/2632/2132 1784/2579/2132 +f 1638/2581/2134 1786/2592/2134 1787/2582/2135 +f 1620/2584/2136 1788/2615/2136 1789/2585/2137 +f 1790/2587/2138 1791/2620/2138 1769/2588/2095 +f 1624/2589/2139 1792/2599/2139 1793/2590/2140 +f 1634/2569/2123 1774/2568/2123 1786/2592/2134 +f 1794/2593/2141 1795/2618/2141 1777/2594/2124 +f 1642/2583/2135 1787/2582/2135 1771/2565/2121 +f 1640/2576/2129 1781/2577/2130 1796/2596/2142 +f 1772/2566/2144 1797/2614/2166 1798/2598/2145 +f 1796/2596/2147 1781/2577/2160 1769/2600/2148 +f 1793/2590/2150 1799/2608/2159 1800/2602/2151 +f 1786/2592/1942 1774/2568/2162 1785/2603/2153 +f 1787/2582/2154 1801/2610/2161 1802/2605/2155 +f 1789/2585/2157 1788/2615/2167 1778/2606/1276 +f 1792/2599/2146 1798/2598/2145 1799/2608/2159 +f 1781/2577/2160 1780/2575/1938 1770/2609/1938 +f 1786/2592/1942 1784/2604/1940 1801/2610/2161 +f 1774/2568/2162 1773/2616/2168 1795/2611/2163 +f 1779/2574/2152 1800/2602/2151 1770/2609/1938 +f 1803/2612/2164 1796/2596/2147 1791/2601/2149 +f 1771/2565/2156 1802/2605/2155 1797/2614/2166 +f 1788/2615/2167 1803/2612/2164 1804/2613/2165 +f 1773/2616/2168 1789/2585/2157 1777/2607/2158 +f 1619/2617/2169 1644/2597/2143 1796/2596/2142 +f 1794/2593/2141 1782/2578/2131 1785/2580/2133 +f 1620/2584/2136 1619/3249/2169 1803/2612/2169 +f 1805/2619/2170 1804/2624/2170 1791/2620/2138 +f 1806/2621/2171 1807/2631/2172 1798/2622/2172 +f 1775/2572/2126 1778/2571/2125 1804/2624/2170 +f 1808/2625/2173 1809/2633/2174 1800/2626/2174 +f 1810/2628/2175 1811/2635/2176 1802/2629/2176 +f 1807/2631/2172 1808/2625/2173 1799/2627/2173 +f 1783/2632/2132 1810/2628/2175 1801/2630/2175 +f 1623/2564/2120 1772/2566/2120 1792/2599/2139 +f 1767/2539/2096 1770/2538/2096 1800/2626/2174 +f 1626/2586/2137 1789/2585/2137 1773/2616/2122 +f 1628/2591/2140 1793/2590/2140 1779/2574/2128 +f 1811/2635/2176 1806/2621/2171 1797/2623/2171 +f 1784/2636/2177 1785/2653/2194 1812/2637/2178 +f 1801/2639/2180 1814/2651/2192 1815/2640/2181 +f 1777/2642/2183 1778/2663/2203 1816/2643/2184 +f 1798/2645/2186 1818/2665/2204 1819/2646/2187 +f 1769/2648/2189 1770/2656/2190 1820/2649/2190 +f 1784/2636/2177 1813/2638/2179 1814/2651/2192 +f 1822/2652/2193 1812/2637/2178 1785/2653/2194 +f 1800/2655/2196 1823/2666/2205 1820/2649/2190 +f 1824/2657/2197 1825/2662/2202 1804/2658/2198 +f 1802/2641/2182 1815/2640/2181 1826/2660/2200 +f 1825/2662/2202 1816/2643/2184 1778/2663/2203 +f 1795/2654/2195 1777/2642/2183 1817/2644/2185 +f 1797/2661/2201 1826/2660/2200 1818/2665/2204 +f 1791/2659/2199 1769/2648/2189 1821/2650/2191 +f 1799/2647/2188 1819/2646/2187 1823/2666/2205 +f 1828/2667/1921 1829/2673/2210 1830/2668/2206 +f 1831/2670/2207 1832/2696/2217 1833/2671/2208 +f 1829/2673/2210 1835/2678/2212 1836/2674/2211 +f 1834/2675/2209 1833/3250/2208 1837/2676/1929 +f 1835/2678/2212 1839/2682/1935 1840/2679/2213 +f 1838/2677/1930 1837/2676/1929 1841/2680/1933 +f 1839/2682/1935 1843/2686/1939 1844/2683/2215 +f 1842/2681/2214 1841/2680/1933 1845/2684/1937 +f 1843/2686/1939 1847/2690/1940 1848/2687/1940 +f 1846/2685/1938 1845/2684/1937 1849/2688/2216 +f 1847/2690/1940 1851/3251/2534 1852/2691/1943 +f 1849/2688/2216 1853/2695/1947 1854/2692/1947 +f 1852/2691/1943 1851/3251/2534 1855/2693/1945 +f 1853/2695/1947 1828/2667/1921 1827/2669/1923 +f 1856/2694/1946 1855/2693/1945 1832/2696/2217 +f 1857/2697/1949 1858/2704/2222 1859/2698/1950 +f 1861/2700/2218 1862/3252/2223 1863/2701/2219 +f 1865/2703/1952 1866/2709/1955 1859/2698/1950 +f 1862/2705/2223 1867/2710/2225 1868/2706/2224 +f 1869/2708/1954 1870/2713/1960 1866/2709/1955 +f 1867/2710/2225 1871/2714/2227 1872/2711/2226 +f 1873/2712/1959 1874/2717/1964 1870/2713/1960 +f 1871/2714/2227 1875/2718/2228 1876/2715/1962 +f 1877/2716/1963 1878/2721/1968 1874/2717/1964 +f 1875/2718/2228 1879/2722/1969 1880/2719/1966 +f 1881/2720/2229 1882/2725/2230 1878/2721/1968 +f 1879/2722/1969 1883/2726/1973 1884/2723/1970 +f 1885/2724/1971 1886/2727/2231 1882/2725/2230 +f 1883/2726/1973 1857/2697/1949 1860/2699/1951 +f 1861/2700/2218 1864/2702/2220 1886/2727/2231 +f 1864/2702/2220 1887/2731/2233 1888/2728/1977 +f 1860/2699/1951 1859/2698/1950 1889/2729/2232 +f 1863/2701/2219 1891/3253/2234 1887/2731/2233 +f 1866/2709/1955 1892/2734/1984 1889/2729/2232 +f 1863/2707/2219 1868/2706/2224 1893/2732/1982 +f 1870/2713/1960 1894/2736/1986 1892/2734/1984 +f 1868/2706/2224 1872/2711/2226 1895/2735/1985 +f 1874/2717/1964 1896/2738/2235 1894/2736/1986 +f 1872/2711/2226 1876/2715/1962 1897/2737/1987 +f 1878/2721/1968 1898/2740/1990 1896/2738/2235 +f 1876/2715/1962 1880/2719/1966 1899/2739/2236 +f 1882/2725/2230 1900/2742/1992 1898/2740/1990 +f 1880/2719/1966 1884/2723/1970 1901/2741/1991 +f 1886/2727/2231 1888/2728/1977 1900/2742/1992 +f 1884/2723/1970 1860/2699/1951 1890/2730/1979 +f 1901/2741/1991 1890/2730/1979 1902/2743/1993 +f 1887/2731/2233 1904/2748/1998 1905/2745/2238 +f 1890/2730/1979 1889/2729/2232 1906/2746/2239 +f 1887/2731/2233 1891/3253/2234 1907/2747/1997 +f 1892/2734/1984 1908/2751/2000 1906/2746/2239 +f 1891/2733/2234 1893/2732/1982 1909/2749/1999 +f 1894/2736/1986 1910/2753/2241 1908/2751/2000 +f 1893/2732/1982 1895/2735/1985 1911/2752/2240 +f 1896/2738/2235 1912/2755/2242 1910/2753/2241 +f 1895/2735/1985 1897/2737/1987 1913/2754/2003 +f 1898/2740/1990 1914/2757/2006 1912/2755/2242 +f 1897/2737/1987 1899/2739/2236 1915/2756/2243 +f 1900/2742/1992 1916/2758/2244 1914/2757/2006 +f 1899/2739/2236 1901/2741/1991 1903/2744/2237 +f 1888/2728/1977 1905/2745/2238 1916/2758/2244 +f 1903/2744/2237 1902/2743/1993 1917/2759/2008 +f 1904/2748/1998 1919/2763/2247 1920/2761/2246 +f 1902/2743/1993 1906/2746/2239 1921/2762/2011 +f 1907/2747/1997 1922/3254/2014 1919/2763/2247 +f 1908/2751/2000 1923/2766/2015 1921/2762/2011 +f 1907/2750/1997 1909/2749/1999 1924/2764/2013 +f 1910/2753/2241 1925/2768/2017 1923/2766/2015 +f 1909/2749/1999 1911/2752/2240 1926/2767/2248 +f 1912/2755/2242 1927/2770/2250 1925/2768/2017 +f 1911/2752/2240 1913/2754/2003 1928/2769/2249 +f 1914/2757/2006 1929/2772/2251 1927/2770/2250 +f 1913/2754/2003 1915/2756/2243 1930/2771/2020 +f 1916/2758/2244 1931/2773/2022 1929/2772/2251 +f 1915/2756/2243 1903/2744/2237 1918/2760/2245 +f 1905/2745/2238 1920/2761/2246 1931/2773/2022 +f 1917/3255/2008 1921/3256/2011 1923/3257/2015 +f 1923/3257/2015 1925/3258/2017 1927/3259/2250 +f 1927/3259/2250 1929/3260/2251 1923/3257/2015 +f 1929/3260/2251 1931/2774/2022 1923/3257/2015 +f 1931/2774/2022 1920/3261/2246 1919/3262/2247 +f 1919/3262/2247 1922/3263/2014 1931/2774/2022 +f 1922/3263/2014 1924/2775/2013 1931/2774/2022 +f 1924/2775/2013 1926/3264/2248 1928/3265/2249 +f 1928/3265/2249 1930/3266/2020 1924/2775/2013 +f 1930/3266/2020 1918/2776/2245 1924/2775/2013 +f 1918/2776/2245 1917/3255/2008 1931/2774/2022 +f 1917/3255/2008 1923/3257/2015 1931/2774/2022 +f 1831/2670/2023 1932/2781/2033 1933/2777/2252 +f 1934/2778/2254 1935/2779/2257 1838/2677/2255 +f 1935/2779/2257 1936/2822/2539 1834/2675/2258 +f 1856/2694/2253 1933/2777/2252 1937/2780/2259 +f 1834/2672/2258 1936/2821/2539 1932/2781/2033 +f 1852/2691/2260 1937/2780/2259 1938/2782/2261 +f 1939/2783/2263 1940/2788/2269 1941/2784/2264 +f 1848/2687/2262 1938/2782/2261 1943/2786/2266 +f 1944/2787/2268 1945/3267/2540 1940/2788/2269 +f 1844/2683/2267 1943/2786/2266 1946/2789/2270 +f 1948/2790/2272 1945/2820/2540 1944/2787/2268 +f 1950/2792/2274 1948/2790/2272 1947/2791/2273 +f 1840/2679/2271 1946/2789/2270 1951/2794/2276 +f 1953/2795/2278 1950/2792/2274 1949/2793/2275 +f 1954/2797/2280 1955/2818/2305 1846/2685/2281 +f 1957/2798/2283 1953/2795/2278 1952/2796/2279 +f 1959/2800/2285 1957/2798/2283 1956/2799/2284 +f 1961/2802/2287 1959/2800/2285 1958/2801/2286 +f 1963/2804/2289 1961/2802/2287 1960/2803/2288 +f 1951/2794/2276 1964/2807/2066 1830/2668/2291 +f 1965/2806/2292 1966/2817/2304 1963/2804/2289 +f 1964/2807/2066 1967/2812/2298 1827/2669/2293 +f 1942/2785/2265 1941/2784/2264 1968/2808/2294 +f 1969/2809/2295 1968/2808/2294 1970/2810/2296 +f 1967/2812/2298 1972/2815/2302 1854/2692/2299 +f 1971/2811/2297 1970/2810/2296 1973/2813/2300 +f 1972/2815/2302 1954/2797/2280 1850/2689/2282 +f 1975/2816/2303 1976/2819/2306 1966/2817/2304 +f 1955/2818/2305 1934/2778/2254 1842/2681/2256 +f 1974/2814/2301 1973/2813/2300 1976/2819/2306 +f 1941/2784/2081 1940/2788/2082 1935/2779/2082 +f 1959/2800/2083 1961/2802/2084 1946/2789/2084 +f 1968/2808/2085 1941/2784/2081 1934/2778/2081 +f 1957/2798/2086 1959/2800/2083 1943/2786/2083 +f 1953/2795/2087 1957/2798/2086 1938/2782/2086 +f 1973/2813/2088 1970/2810/2089 1954/2797/2089 +f 1950/2792/2090 1953/2795/2087 1937/2780/2087 +f 1976/2819/2307 1973/2813/2088 1972/2815/2088 +f 1948/2790/2092 1950/2792/2090 1933/2777/2090 +f 1966/2817/1452 1976/2819/2307 1967/2812/2307 +f 1945/2820/2093 1948/2790/2092 1932/2781/2092 +f 1963/2804/2308 1966/2817/1452 1964/2807/1452 +f 1940/2788/2082 1945/3267/2093 1936/2822/2093 +f 1961/2802/2084 1963/2804/2308 1951/2794/2308 +f 1970/2810/2089 1968/2808/2085 1955/2818/2085 +f 1977/2823/2096 1978/2875/2095 1979/2824/2095 +f 1832/2826/2309 1833/3268/2314 1862/2827/2310 +f 1837/2829/2312 1841/2839/2104 1871/2830/2098 +f 1851/2832/2100 1855/2841/2315 1885/2833/2101 +f 1833/2835/2314 1837/2829/2312 1867/2831/2313 +f 1851/2832/2100 1881/2834/2102 1877/2837/2103 +f 1841/2839/2104 1845/2848/2085 1875/2840/2105 +f 1855/2841/2315 1832/2826/2309 1861/2828/2311 +f 1839/2842/2107 1869/2708/2116 1865/2703/1930 +f 1853/2844/2110 1883/2726/2118 1879/2722/2111 +f 1847/2846/2086 1877/2716/2103 1873/2712/2112 +f 1845/2848/2085 1849/3269/2111 1879/2849/2111 +f 1843/2847/2113 1873/2712/2112 1869/2708/2116 +f 1828/2850/1946 1857/2697/1946 1883/2726/2118 +f 1832/2851/2316 1981/2884/2316 1982/2852/2317 +f 1983/2854/2318 1984/2898/2319 1839/2855/2319 +f 1986/2857/2320 1987/2880/2320 1988/2858/2321 +f 1845/2860/2322 1989/2895/2322 1990/2861/2323 +f 1991/2863/2324 1989/2895/2322 1845/2860/2322 +f 1993/2865/2132 1994/2919/2364 1995/2866/2325 +f 1851/2868/2326 1996/2890/2326 1997/2869/2327 +f 1998/2871/2328 1999/2892/2329 1829/2872/2329 +f 2000/2874/2330 2001/2907/2330 1979/2824/2095 +f 1837/2876/2331 2002/2887/2331 2003/2877/2332 +f 1847/2870/2327 1997/2869/2327 1983/2854/2318 +f 2004/2879/2141 2005/2905/2141 1987/2880/2320 +f 1982/2852/2317 1996/2890/2326 1851/2868/2326 +f 2006/2881/2333 1991/2863/2324 1849/2864/2324 +f 2007/2883/2334 2008/2901/2356 1981/2884/2335 +f 2006/2881/2337 2001/2900/2355 1979/2885/2338 +f 2009/2886/2340 2010/2893/2350 2002/2887/2341 +f 1997/2869/2103 1994/3270/2086 1995/2888/2083 +f 2011/2889/2344 2012/2896/2351 1996/2890/2345 +f 1998/2871/2347 1987/2903/2358 1988/2891/2348 +f 2010/2893/2350 2007/2883/2334 2003/2877/2336 +f 1991/2863/2339 1979/2885/2338 1980/2894/2105 +f 2012/2896/2351 1994/3270/2086 1997/2869/2103 +f 1983/2854/2343 1995/2888/2083 2005/2897/2352 +f 1980/2894/2105 2009/2886/2340 1990/2861/2342 +f 2013/2899/2354 2014/2902/2357 2001/2900/2355 +f 2008/2901/2356 2011/2889/2344 1982/2852/2346 +f 1999/2892/2349 1988/2891/2348 2014/2902/2357 +f 1984/2898/2353 2005/2897/2352 1987/2903/2358 +f 2013/2899/2359 2006/2881/2333 1853/2882/2333 +f 1992/2867/2325 1995/2866/2325 2005/2905/2141 +f 1999/2892/2329 2013/2899/2359 1828/2904/2360 +f 2000/2874/2330 2015/2911/2361 2014/2906/2361 +f 2016/2908/2171 2017/2918/2362 2007/2909/2362 +f 1985/2859/2321 1988/2858/2321 2014/2906/2361 +f 2019/2912/2174 2009/2921/2174 2010/2913/2363 +f 2020/2915/2175 2021/2922/2176 2011/2916/2176 +f 2017/2918/2362 2018/2914/2363 2010/2913/2363 +f 1993/2865/2132 2020/2915/2175 2012/2917/2175 +f 1833/2920/2332 2003/2877/2332 1981/2884/2316 +f 1977/2823/2096 1980/2825/2096 2009/2921/2174 +f 1984/2898/2319 1998/2871/2328 1835/2873/2328 +f 1841/2862/2323 1990/2861/2323 2002/2887/2331 +f 2021/2922/2176 2016/2908/2171 2008/2910/2171 +f 1994/2923/2365 1995/2940/2194 2022/2924/2178 +f 2012/2926/2366 2024/2938/2375 2025/2927/2181 +f 1987/2929/2367 1988/2950/2203 2026/2930/2184 +f 2007/2932/2369 2028/2951/2204 2029/2933/2370 +f 1979/2935/2372 1980/2943/2373 2030/2936/2373 +f 1994/2923/2365 2023/2925/2365 2024/2938/2375 +f 2032/2939/2193 2022/2924/2178 1995/2940/2194 +f 2009/2942/2377 2033/2953/2383 2030/2936/2373 +f 2034/2944/2378 2035/2949/2382 2014/2945/2379 +f 2011/2928/2182 2025/2927/2181 2036/2947/2380 +f 2035/2949/2382 2026/2930/2184 1988/2950/2203 +f 2005/2941/2376 1987/2929/2367 2027/2931/2368 +f 2008/2948/2381 2036/2947/2380 2028/2951/2204 +f 2001/2946/2199 1979/2935/2372 2031/2937/2374 +f 2010/2934/2371 2029/2933/2370 2033/2953/2383 +f 2052/2969/2400 2047/2964/2392 2046/2963/2391 +f 2054/2971/2402 2053/2970/2401 2052/2969/2400 +f 2061/2978/2409 2062/2984/2409 2063/2979/2410 +f 2069/2983/2413 2065/3271/2541 2041/2981/2411 +f 2065/3271/2541 2062/3272/2542 2041/2981/2411 +f 2062/3272/2542 2066/3273/1452 2037/3274/2543 +f 2066/3273/1452 2067/3275/2544 2037/3274/2543 +f 2062/3272/2542 2037/3274/2543 2040/3276/2545 +f 2062/3272/2542 2040/3276/2545 2041/2981/2411 +f 2062/2984/2409 2061/2978/2409 2070/2985/1447 +f 2063/2987/2414 2071/3277/2546 1191/2988/2415 +f 2073/2990/2417 2074/3007/2418 2071/2991/2418 +f 2062/2993/2420 2065/3278/2420 2071/2994/2420 +f 2061/2996/2421 2064/3279/2421 2074/2997/2421 +f 2075/2999/2422 2072/3280/2422 1191/3000/2422 +f 2064/3002/2423 2075/3281/2547 1192/3003/2424 +f 2063/3005/2410 2072/3280/1447 2075/2999/1447 +f 2074/3007/2418 1192/3001/2426 1191/3000/2426 +f 2073/3012/2548 2043/3282/2549 2045/3283/2550 +f 2043/3282/2551 2044/3284/2551 2045/3283/2551 +f 2070/3011/2430 2061/3285/2552 2073/3012/2431 +f 2073/3012/2431 2045/3283/2550 2076/3286/2553 +f 2073/3012/2431 2076/3286/2553 2046/3287/2554 +f 2073/3012/2431 2046/3287/2554 2048/3288/2555 +f 2073/3012/2431 2048/3288/2555 2077/3010/2429 +f 2056/3289/2556 2078/3290/2557 2060/3291/2558 +f 2078/3290/2557 2042/3292/2559 2060/3291/2558 +f 2042/3292/2559 2039/3293/2560 2058/3294/2561 +f 2039/3293/2560 2038/3295/2562 2058/3294/2561 +f 2042/3292/2559 2059/3296/2563 2060/3291/2558 +f 2038/3295/2562 2067/3297/2564 2066/3298/2565 +f 2038/3295/2562 2066/3298/2565 2070/3015/1451 +f 2059/3296/2563 2042/3292/2559 2055/3299/2566 +f 2055/3299/2566 2042/3292/2559 2058/3294/2561 +f 2077/3016/2434 2051/3300/2567 2057/3017/2435 +f 2057/3017/2435 2058/3294/2561 2038/3295/2562 +f 2057/3017/2435 2038/3295/2562 2070/3015/1451 +f 1942/3301/2265 1969/3302/2295 1971/3303/2297 +f 1971/3303/2297 1974/3304/2301 1975/3305/2303 +f 1975/3305/2303 1965/3306/2292 1962/3019/2290 +f 1962/3019/2290 1960/3307/2288 1958/3308/2286 +f 1958/3308/2286 1956/3309/2284 1962/3019/2290 +f 1956/3309/2284 1952/3020/2279 1962/3019/2290 +f 1952/3020/2279 1949/3310/2275 1939/3021/2263 +f 1949/3310/2275 1947/3311/2273 1939/3021/2263 +f 1947/3311/2273 1944/3312/2268 1939/3021/2263 +f 1939/3021/2263 1942/3301/2265 1971/3303/2297 +f 1971/3303/2297 1975/3305/2303 1939/3021/2263 +f 1975/3305/2303 1962/3019/2290 1939/3021/2263 +f 1732/3313/2038 1759/3314/2069 1761/3022/2071 +f 1761/3022/2071 1764/3315/2075 1752/3023/2063 +f 1764/3315/2075 1765/3316/2077 1752/3023/2063 +f 1765/3316/2077 1755/3317/2065 1752/3023/2063 +f 1752/3023/2063 1750/3318/2061 1742/3024/2052 +f 1750/3318/2061 1748/3319/2059 1742/3024/2052 +f 1748/3319/2059 1746/3320/2057 1742/3024/2052 +f 1742/3024/2052 1739/3321/2048 1737/3322/2046 +f 1737/3322/2046 1734/3323/2041 1742/3024/2052 +f 1734/3323/2041 1729/3324/2036 1742/3024/2052 +f 1729/3324/2036 1732/3313/2038 1761/3022/2071 +f 1729/3324/2036 1761/3022/2071 1742/3024/2052 +f 1191/3027/1452 1180/3325/1445 1186/3025/1452 +f 1180/3325/1445 1179/3326/1446 1186/3025/1452 +f 1270/3327/2568 1244/3328/2569 1276/3329/2570 +f 1244/3328/2569 1198/3330/2571 1251/3331/2572 +f 1252/3332/2573 1244/3328/2569 1251/3331/2572 +f 1198/3330/2571 1195/3333/2574 1251/3331/2572 +f 1239/3334/2575 1240/3335/2576 1271/3336/2577 +f 1240/3335/2576 1269/3030/2439 1258/3337/2578 +f 1263/3338/2579 1240/3335/2576 1261/3339/2580 +f 1271/3336/2577 1265/3340/2581 1239/3334/2575 +f 1263/3338/2579 1271/3336/2577 1240/3335/2576 +f 1244/3328/2569 1252/3332/2573 1274/3341/2582 +f 1244/3328/2569 1274/3341/2582 1276/3329/2570 +f 1261/3339/2580 1240/3335/2576 1258/3337/2578 +f 1269/3030/2439 1270/3327/2568 1282/3028/2437 +f 1270/3327/2568 1276/3329/2570 1278/3342/2583 +f 1257/3343/2584 1258/3337/2578 1269/3030/2439 +f 1270/3327/2568 1278/3342/2583 1280/3344/2585 +f 1270/3327/2568 1280/3344/2585 1282/3028/2437 +f 1284/3029/2438 1257/3343/2584 1269/3030/2439 +f 2065/2992/2419 2069/3345/2586 2068/3031/2440 +f 2068/3031/2440 2078/3290/2587 2050/3346/2588 +f 2078/3290/2587 2056/3289/2589 2050/3346/2588 +f 2050/3346/2588 2043/3032/2441 2068/3031/2440 +f 2043/3032/2441 2073/2990/2417 2065/2992/2419 +f 1523/3035/1453 1545/3347/1453 1549/3033/1453 +f 1545/3347/1453 1558/3348/1453 1554/3349/1453 +f 1549/3033/1453 1545/3347/1453 1550/3350/1453 +f 1558/3348/1453 1544/3351/1453 1554/3349/1453 +f 1544/3351/1453 1543/3352/1453 1554/3349/1453 +f 1543/3352/1453 1547/3353/1453 1555/3354/1453 +f 1547/3353/1453 1546/3355/1453 1555/3354/1453 +f 1557/3356/1453 1548/3357/1453 1524/3358/1453 +f 1552/3359/1453 1557/3356/1453 1524/3358/1453 +f 1543/3352/1453 1555/3354/1453 1554/3349/1453 +f 1552/3359/1453 1524/3358/1453 1553/3360/1453 +f 1524/3358/1453 1523/3035/1453 1553/3360/1453 +f 1554/3349/1453 1556/3361/1453 1545/3347/1453 +f 1556/3361/1453 1550/3350/1453 1545/3347/1453 +f 1551/3034/1453 1553/3360/1453 1523/3035/1453 +f 1185/3036/1453 1184/3362/1448 1188/3037/1448 +f 1192/3038/1453 1194/3363/1453 1185/3036/1453 +f 1557/3039/2442 1528/2263/1847 1527/3040/2443 +f 784/3042/1055 777/3364/2590 1189/3365/2591 +f 1189/3365/2591 720/3043/2445 784/3042/1055 +f 720/3043/2445 719/3366/985 793/3041/1054 +f 718/3367/2592 717/3368/2593 1190/3044/2446 +f 1190/3044/2446 1189/3369/2594 757/3045/1024 +f 1189/3369/2594 777/3370/1044 758/3371/1022 +f 1189/3369/2594 758/3371/1022 757/3045/1024 +f 788/3046/1048 718/3367/984 1190/3044/2446 +o ShellL +v -0.256342 0.546177 0.003411 +v -0.316872 0.511227 0.003411 +v -0.317492 0.511922 0.601541 +v -0.256632 0.547057 0.601541 +v -0.120362 0.240757 0.003411 +v -0.068422 0.287527 0.003411 +v -0.067672 0.286977 0.601541 +v -0.119897 0.239952 0.601541 +v -0.357952 0.454687 0.003411 +v -0.358802 0.455062 0.601541 +v -0.039997 0.351377 0.003411 +v -0.039087 0.351182 0.601541 +v -0.372482 0.386322 0.003411 +v -0.373412 0.386322 0.601541 +v -0.039997 0.421267 0.003411 +v -0.039087 0.421462 0.601541 +v -0.357952 0.317957 0.003411 +v -0.358802 0.317577 0.601541 +v -0.068422 0.485117 0.003411 +v -0.067672 0.485662 0.601541 +v -0.316872 0.261412 0.003411 +v -0.317492 0.260722 0.601541 +v -0.120362 0.531882 0.003411 +v -0.119897 0.532687 0.601541 +v -0.256342 0.226467 0.003411 +v -0.256632 0.225582 0.601541 +v -0.186832 0.553482 0.003411 +v -0.186737 0.554407 0.601541 +v -0.186832 0.219162 0.003411 +v -0.186737 0.218237 0.601541 +v -0.216302 0.422942 0.729391 +v -0.264237 0.570472 0.729421 +v -0.333967 0.530212 0.729421 +v -0.230167 0.414937 0.729401 +v -0.184162 0.193752 0.729421 +v -0.186922 0.220012 0.711551 +v -0.120792 0.241497 0.711551 +v -0.107587 0.218632 0.729421 +v -0.185147 0.352972 0.729376 +v -0.047757 0.272507 0.729421 +v -0.173247 0.363687 0.729426 +v -0.381292 0.465077 0.729421 +v -0.239582 0.401982 0.729351 +v -0.015007 0.346062 0.729421 +v -0.166737 0.378312 0.729396 +v -0.398032 0.386322 0.729421 +v -0.242912 0.386322 0.729421 +v -0.015007 0.426577 0.729421 +v -0.166737 0.394327 0.729401 +v -0.381292 0.307567 0.729421 +v -0.239582 0.370657 0.729466 +v -0.047757 0.500132 0.729421 +v -0.173247 0.408957 0.729356 +v -0.333967 0.242427 0.729421 +v -0.230167 0.357702 0.729476 +v -0.107587 0.554007 0.729421 +v -0.185147 0.419667 0.729381 +v -0.264237 0.202172 0.729421 +v -0.216302 0.349697 0.729481 +v -0.184162 0.578887 0.729421 +v -0.200377 0.424617 0.729361 +v -0.200377 0.348022 0.729446 +v -0.256077 0.545362 0.711551 +v -0.316297 0.510592 0.711551 +v -0.069117 0.288027 0.711551 +v -0.357172 0.454337 0.711551 +v -0.040832 0.351552 0.711551 +v -0.371627 0.386322 0.711551 +v -0.040832 0.421087 0.711551 +v -0.357172 0.318302 0.711551 +v -0.069117 0.484612 0.711551 +v -0.316297 0.262047 0.711551 +v -0.120792 0.531142 0.711551 +v -0.256077 0.227282 0.711551 +v -0.186922 0.552632 0.711551 +v -0.358802 0.317577 0.729776 +v -0.373412 0.386322 0.729776 +v -0.256632 0.547057 0.729776 +v -0.186737 0.554407 0.729776 +v -0.256632 0.225582 0.729776 +v -0.317492 0.260722 0.729776 +v -0.317492 0.511922 0.729776 +v -0.358802 0.455062 0.729776 +v -0.186737 0.218237 0.729776 +v -0.119897 0.532687 0.729776 +v -0.067672 0.485662 0.729776 +v -0.039087 0.351182 0.729776 +v -0.067672 0.286977 0.729776 +v -0.039087 0.421462 0.729776 +v -0.119897 0.239952 0.729776 +v -0.230167 0.414937 0.729141 +v -0.217047 0.400367 0.728861 +v -0.210242 0.404297 0.728711 +v -0.216302 0.422942 0.729001 +v -0.173247 0.363687 0.729166 +v -0.189112 0.375212 0.728926 +v -0.194952 0.369952 0.729086 +v -0.221667 0.394007 0.729041 +v -0.166737 0.378312 0.729106 +v -0.185917 0.382392 0.728811 +v -0.223302 0.386322 0.729136 +v -0.166737 0.394327 0.728976 +v -0.185917 0.390252 0.728801 +v -0.221667 0.378632 0.729246 +v -0.173247 0.408957 0.729011 +v -0.189112 0.397427 0.728626 +v -0.217047 0.372277 0.729301 +v -0.185147 0.419667 0.728916 +v -0.194952 0.402687 0.728711 +v -0.210242 0.368347 0.729276 +v -0.200377 0.424617 0.728991 +v -0.202427 0.405117 0.728641 +v -0.202427 0.367527 0.729226 +v -0.221667 0.378632 0.729186 +v -0.217047 0.372277 0.729196 +v -0.210242 0.368347 0.729201 +v -0.202427 0.367527 0.729141 +v -0.189112 0.375212 0.728876 +v -0.185917 0.382392 0.728806 +v -0.185917 0.390252 0.728596 +v -0.189112 0.397427 0.728626 +v -0.194952 0.402687 0.728491 +v -0.202427 0.405117 0.728601 +v -0.210242 0.404297 0.728606 +v -0.217047 0.400367 0.728766 +v -0.221667 0.394007 0.728911 +vn -0.6691 0.7431 -0.0016 +vn -0.3090 0.9511 -0.0008 +vn -0.3090 0.9511 -0.0016 +vn 0.5000 -0.8660 -0.0016 +vn 0.8090 -0.5878 -0.0008 +vn 0.5000 -0.8660 -0.0008 +vn -0.9136 0.4067 -0.0008 +vn -0.6691 0.7432 -0.0008 +vn 0.8090 -0.5878 -0.0016 +vn 0.9781 -0.2079 -0.0008 +vn -1.0000 -0.0000 -0.0016 +vn -0.9135 0.4067 -0.0016 +vn 0.9782 0.2079 -0.0016 +vn 0.9782 -0.2079 -0.0016 +vn -0.9136 -0.4067 -0.0016 +vn -1.0000 -0.0000 -0.0008 +vn 0.8090 0.5878 -0.0016 +vn 0.9781 0.2079 -0.0008 +vn -0.6691 -0.7431 -0.0016 +vn -0.9135 -0.4067 -0.0008 +vn 0.5000 0.8660 -0.0016 +vn 0.8090 0.5878 -0.0008 +vn -0.3090 -0.9511 -0.0016 +vn -0.6691 -0.7431 -0.0008 +vn 0.1046 0.9945 -0.0016 +vn 0.5000 0.8660 -0.0008 +vn 0.1045 -0.9945 -0.0008 +vn -0.3090 -0.9511 -0.0008 +vn 0.1045 0.9945 -0.0008 +vn 0.1045 -0.9945 -0.0016 +vn 0.0001 -0.0002 1.0000 +vn -0.0009 -0.0011 1.0000 +vn 0.0013 0.0002 1.0000 +vn -0.0000 -0.0000 -1.0000 +vn 0.0586 -0.5574 -0.8282 +vn 0.2802 -0.4854 -0.8282 +vn 0.2803 -0.4854 -0.8282 +vn 0.0008 0.0077 1.0000 +vn -0.0001 -0.0000 1.0000 +vn -0.0008 -0.0006 1.0000 +vn 0.0001 -0.0003 1.0000 +vn 0.0077 0.0019 1.0000 +vn -0.0001 0.0001 1.0000 +vn 0.0001 0.0009 1.0000 +vn 0.0003 -0.0000 1.0000 +vn 0.0057 0.0034 1.0000 +vn -0.0003 -0.0000 1.0000 +vn -0.0004 0.0012 1.0000 +vn -0.0002 -0.0000 1.0000 +vn 0.0035 0.0034 1.0000 +vn 0.0001 0.0006 1.0000 +vn -0.0002 -0.0002 1.0000 +vn 0.0024 0.0036 1.0000 +vn -0.0002 -0.0003 1.0000 +vn -0.0000 -0.0003 1.0000 +vn 0.0022 0.0038 1.0000 +vn 0.0002 0.0002 1.0000 +vn 0.0028 0.0059 1.0000 +vn 0.0001 0.0001 1.0000 +vn -0.1732 0.5331 -0.8281 +vn -0.3750 0.4165 -0.8282 +vn 0.4535 -0.3295 -0.8282 +vn -0.5120 0.2280 -0.8282 +vn 0.5483 -0.1165 -0.8281 +vn -0.5605 -0.0000 -0.8282 +vn 0.5483 0.1165 -0.8281 +vn -0.5121 -0.2280 -0.8281 +vn 0.4535 0.3294 -0.8282 +vn 0.4535 0.3295 -0.8282 +vn -0.3750 -0.4165 -0.8282 +vn 0.2803 0.4854 -0.8282 +vn -0.1732 -0.5331 -0.8281 +vn 0.2802 0.4854 -0.8282 +vn 0.0586 0.5575 -0.8281 +vn -1.0000 -0.0000 -0.0000 +vn 0.1045 0.9945 -0.0000 +vn -0.6691 -0.7431 -0.0000 +vn -0.3090 0.9511 -0.0000 +vn -0.9136 0.4067 -0.0000 +vn -0.9135 -0.4067 -0.0000 +vn -0.3090 -0.9511 -0.0000 +vn -0.6691 0.7432 -0.0000 +vn 0.8090 0.5878 -0.0000 +vn 0.8090 -0.5878 -0.0000 +vn 0.9781 0.2079 -0.0000 +vn 0.1045 -0.9945 -0.0000 +vn 0.5000 0.8660 -0.0000 +vn 0.5000 -0.8660 -0.0000 +vn 0.9781 -0.2079 -0.0000 +vn 0.0250 0.0001 0.9997 +vn 0.0093 -0.0107 0.9999 +vn 0.0176 -0.0014 0.9998 +vn -0.0035 0.0141 0.9999 +vn 0.0054 0.0185 0.9998 +vn 0.0227 0.0066 0.9997 +vn -0.0116 0.0098 0.9999 +vn -0.0032 0.0208 0.9998 +vn 0.0163 0.0112 0.9998 +vn -0.0102 0.0002 0.9999 +vn -0.0111 0.0125 0.9999 +vn 0.0088 0.0105 0.9999 +vn -0.0125 -0.0058 0.9999 +vn -0.0154 0.0023 0.9999 +vn -0.0102 -0.0106 0.9999 +vn -0.0080 -0.0098 0.9999 +vn 0.0060 0.0092 0.9999 +vn 0.0021 -0.0150 0.9999 +vn 0.0018 -0.0169 0.9999 +vn 0.0163 -0.0121 0.9998 +vn 0.0136 0.0186 0.9997 +vn 0.0080 0.0211 0.9997 +vn 0.0068 0.0182 0.9998 +vn -0.0000 -0.0000 1.0000 +vn -0.0003 -0.0002 1.0000 +vn -0.0000 -0.0004 1.0000 +vn -0.0000 -0.0002 1.0000 +vn -0.0193 -0.0068 0.9998 +vn 0.0045 0.0079 1.0000 +vn 0.0111 0.0124 0.9999 +vn 0.0123 0.0171 0.9998 +vn 0.0535 0.0178 0.9984 +vn 0.0119 0.0152 0.9998 +vn 0.0003 0.0018 1.0000 +vn 0.0082 0.0106 0.9999 +vn 0.0061 0.0065 1.0000 +vn 0.0107 0.0121 0.9999 +vn 0.0453 -0.0105 0.9989 +vn 0.0152 0.0142 0.9998 +vn 0.0692 0.0266 0.9972 +vn 0.0360 0.0656 0.9972 +vn -0.0044 0.0483 0.9988 vt 0.900095 0.372831 vt 0.985204 0.360142 vt 0.901646 0.377367 @@ -8271,6 +12316,456 @@ vt 0.683212 0.470177 vt 0.596487 0.327587 vt 0.606329 0.336849 vt 0.618961 0.335910 +vt 0.612555 0.371309 +vt 0.732969 0.405750 +vt 0.687564 0.434164 +vt 0.682906 0.303280 +vt 0.723925 0.400441 +vt 0.627355 0.390490 +vt 0.723869 0.334698 +vt 0.673753 0.465539 +vt 0.688657 0.455255 +vt 0.682126 0.452537 +vt 0.626707 0.332818 +vt 0.631076 0.324865 +vt 0.631270 0.316393 +vt 0.628318 0.309157 +vt 0.622169 0.303994 +vt 0.614288 0.301889 +vt 0.605651 0.302595 +vt 0.600209 0.309710 +vt 0.596324 0.314769 +vt 0.594972 0.321125 +vt 0.600664 0.333078 +vt 0.612748 0.337849 +s 1 +f 2080/3372/2595 2082/3373/2596 2079/3374/2597 +f 2083/3375/2598 2085/3376/2599 2086/3377/2600 +f 2080/3372/2595 2088/3378/2601 2081/3379/2602 +f 2084/3380/2603 2090/3381/2604 2085/3376/2599 +f 2091/3382/2605 2088/3378/2601 2087/3383/2606 +f 2093/3384/2607 2090/3381/2604 2089/3385/2608 +f 2095/3386/2609 2092/3387/2610 2091/3382/2605 +f 2097/3388/2611 2094/3389/2612 2093/3384/2607 +f 2099/3390/2613 2096/3391/2614 2095/3386/2609 +f 2101/3392/2615 2098/3393/2616 2097/3388/2611 +f 2103/3394/2617 2100/3395/2618 2099/3390/2613 +f 2105/3396/2619 2102/3397/2620 2101/3392/2615 +f 2103/3394/2617 2108/3398/2621 2104/3399/2622 +f 2079/3374/2597 2106/3400/2623 2105/3396/2619 +f 2107/3401/2624 2086/3377/2600 2108/3398/2621 +f 2110/3402/2625 2112/3403/2626 2109/3404/2627 +f 2107/3401/2628 2099/3390/2628 2101/3392/2628 +f 2113/3405/2629 2115/3406/2630 2116/3407/2631 +f 2117/3408/2632 2118/3409/2633 2119/3410/2634 +f 2111/3411/2635 2121/3412/2636 2112/3403/2626 +f 2119/3410/2634 2122/3413/2637 2123/3414/2638 +f 2120/3415/2639 2125/3416/2640 2121/3412/2636 +f 2123/3414/2638 2126/3417/2641 2127/3418/2642 +f 2125/3416/2640 2128/3419/2643 2129/3420/2644 +f 2126/3417/2641 2131/3421/2645 2127/3418/2642 +f 2129/3420/2644 2132/3422/2646 2133/3423/2647 +f 2131/3421/2645 2134/3424/2648 2135/3425/2649 +f 2133/3423/2647 2136/3426/2649 2137/3427/2650 +f 2134/3424/2648 2139/3428/2651 2135/3425/2649 +f 2136/3426/2649 2140/3429/2652 2137/3427/2650 +f 2139/3428/2651 2110/3402/2625 2109/3404/2627 +f 2140/3429/2652 2116/3430/2653 2117/3408/2632 +f 2110/3431/2654 2142/3432/2655 2111/3433/2655 +f 2116/3407/2631 2143/3434/2656 2118/3435/2656 +f 2111/3433/2655 2144/3436/2657 2120/3437/2657 +f 2143/3434/2656 2122/3438/2658 2118/3435/2656 +f 2144/3436/2657 2124/3439/2659 2120/3437/2657 +f 2145/3440/2658 2126/3441/2660 2122/3438/2658 +f 2146/3442/2659 2128/3443/2661 2124/3439/2659 +f 2126/3441/2660 2149/3444/2662 2130/3445/2663 +f 2148/3446/2661 2132/3447/2664 2128/3443/2661 +f 2149/3444/2662 2134/3448/2665 2130/3445/2663 +f 2150/3449/2664 2136/3450/2666 2132/3447/2664 +f 2151/3451/2667 2138/3452/2668 2134/3448/2665 +f 2136/3450/2666 2114/3453/2629 2113/3405/2629 +f 2138/3452/2668 2141/3454/2654 2110/3431/2654 +f 2096/3455/2614 2155/3456/2669 2092/3457/2610 +f 2082/3458/2596 2157/3459/2670 2106/3460/2623 +f 2104/3461/2622 2159/3462/2671 2100/3463/2618 +f 2081/3464/2602 2156/3465/2672 2082/3458/2596 +f 2092/3457/2610 2161/3466/2673 2088/3467/2601 +f 2100/3463/2618 2154/3468/2674 2096/3455/2614 +f 2108/3469/2621 2158/3470/2675 2104/3461/2622 +f 2088/3467/2601 2160/3471/2676 2081/3464/2602 +f 2102/3472/2620 2164/3473/2677 2098/3474/2616 +f 2090/3475/2604 2166/3476/2678 2085/3477/2599 +f 2098/3474/2616 2167/3478/2679 2094/3479/2612 +f 2086/3480/2600 2162/3481/2680 2108/3469/2621 +f 2106/3460/2623 2163/3482/2681 2102/3472/2620 +f 2085/3477/2599 2168/3483/2682 2086/3480/2600 +f 2094/3479/2612 2165/3484/2683 2090/3475/2604 +f 2170/3485/2684 2172/3486/2685 2169/3487/2686 +f 2173/3488/2687 2175/3489/2688 2117/3490/2632 +f 2176/3491/2689 2169/3487/2686 2121/3492/2636 +f 2177/3493/2690 2174/3494/2691 2173/3488/2687 +f 2179/3495/2692 2121/3492/2636 2125/3496/2640 +f 2180/3497/2693 2178/3498/2694 2177/3493/2690 +f 2182/3499/2695 2125/3496/2640 2129/3500/2644 +f 2183/3501/2696 2181/3502/2697 2180/3497/2693 +f 2133/3503/2647 2182/3499/2695 2129/3500/2644 +f 2187/3504/2698 2183/3501/2696 2186/3505/2699 +f 2188/3506/2700 2133/3503/2647 2137/3507/2650 +f 2190/3508/2701 2186/3505/2699 2189/3509/2702 +f 2140/3510/2652 2188/3506/2700 2137/3507/2650 +f 2171/3511/2703 2189/3509/2702 2172/3486/2685 +f 2175/3489/2688 2140/3510/2652 2117/3490/2632 +f 2199/3512/2704 2201/3513/2705 2203/3514/2706 +f 2080/3372/2595 2081/3379/2602 2082/3373/2596 +f 2083/3375/2598 2084/3380/2603 2085/3376/2599 +f 2080/3372/2595 2087/3383/2606 2088/3378/2601 +f 2084/3380/2603 2089/3385/2608 2090/3381/2604 +f 2091/3382/2605 2092/3387/2610 2088/3378/2601 +f 2093/3384/2607 2094/3389/2612 2090/3381/2604 +f 2095/3386/2609 2096/3391/2614 2092/3387/2610 +f 2097/3388/2611 2098/3393/2616 2094/3389/2612 +f 2099/3390/2613 2100/3395/2618 2096/3391/2614 +f 2101/3392/2615 2102/3397/2620 2098/3393/2616 +f 2103/3394/2617 2104/3399/2622 2100/3395/2618 +f 2105/3396/2619 2106/3400/2623 2102/3397/2620 +f 2103/3394/2617 2107/3401/2624 2108/3398/2621 +f 2079/3374/2597 2082/3373/2596 2106/3400/2623 +f 2107/3401/2624 2083/3375/2598 2086/3377/2600 +f 2110/3402/2625 2111/3411/2635 2112/3403/2626 +f 2095/3386/2628 2091/3382/2628 2087/3383/2628 +f 2087/3383/2628 2080/3372/2628 2101/3392/2628 +f 2080/3372/2628 2079/3374/2628 2101/3392/2628 +f 2079/3374/2628 2105/3396/2628 2101/3392/2628 +f 2101/3392/2628 2097/3388/2628 2093/3384/2628 +f 2093/3384/2628 2089/3385/2628 2101/3392/2628 +f 2089/3385/2628 2084/3380/2628 2101/3392/2628 +f 2084/3380/2628 2083/3375/2628 2107/3401/2628 +f 2107/3401/2628 2103/3394/2628 2099/3390/2628 +f 2099/3390/2628 2095/3386/2628 2101/3392/2628 +f 2095/3386/2628 2087/3383/2628 2101/3392/2628 +f 2084/3380/2628 2107/3401/2628 2101/3392/2628 +f 2113/3405/2629 2114/3453/2629 2115/3406/2630 +f 2117/3408/2632 2116/3430/2653 2118/3409/2633 +f 2111/3411/2635 2120/3415/2639 2121/3412/2636 +f 2119/3410/2634 2118/3409/2633 2122/3413/2637 +f 2120/3415/2639 2124/3515/2707 2125/3416/2640 +f 2123/3414/2638 2122/3413/2637 2126/3417/2641 +f 2125/3416/2640 2124/3515/2707 2128/3419/2643 +f 2126/3417/2641 2130/3516/2708 2131/3421/2645 +f 2129/3420/2644 2128/3419/2643 2132/3422/2646 +f 2131/3421/2645 2130/3516/2708 2134/3424/2648 +f 2133/3423/2647 2132/3422/2646 2136/3426/2649 +f 2134/3424/2648 2138/3517/2709 2139/3428/2651 +f 2136/3426/2649 2113/3518/2710 2140/3429/2652 +f 2139/3428/2651 2138/3517/2709 2110/3402/2625 +f 2140/3429/2652 2113/3518/2710 2116/3430/2653 +f 2110/3431/2654 2141/3454/2654 2142/3432/2655 +f 2116/3407/2631 2115/3406/2630 2143/3434/2656 +f 2111/3433/2655 2142/3432/2655 2144/3436/2657 +f 2143/3434/2656 2145/3440/2658 2122/3438/2658 +f 2144/3436/2657 2146/3442/2659 2124/3439/2659 +f 2145/3440/2658 2147/3519/2660 2126/3441/2660 +f 2146/3442/2659 2148/3446/2661 2128/3443/2661 +f 2126/3441/2660 2147/3519/2660 2149/3444/2662 +f 2148/3446/2661 2150/3449/2664 2132/3447/2664 +f 2149/3444/2662 2151/3451/2667 2134/3448/2665 +f 2150/3449/2664 2152/3520/2666 2136/3450/2666 +f 2151/3451/2667 2153/3521/2668 2138/3452/2668 +f 2136/3450/2666 2152/3520/2666 2114/3453/2629 +f 2138/3452/2668 2153/3521/2668 2141/3454/2654 +f 2096/3455/2614 2154/3468/2674 2155/3456/2669 +f 2082/3458/2596 2156/3465/2672 2157/3459/2670 +f 2104/3461/2622 2158/3470/2675 2159/3462/2671 +f 2081/3464/2602 2160/3471/2676 2156/3465/2672 +f 2092/3457/2610 2155/3456/2669 2161/3466/2673 +f 2100/3463/2618 2159/3462/2671 2154/3468/2674 +f 2108/3469/2621 2162/3481/2680 2158/3470/2675 +f 2088/3467/2601 2161/3466/2673 2160/3471/2676 +f 2102/3472/2620 2163/3482/2681 2164/3473/2677 +f 2090/3475/2604 2165/3484/2683 2166/3476/2678 +f 2098/3474/2616 2164/3473/2677 2167/3478/2679 +f 2086/3480/2600 2168/3483/2682 2162/3481/2680 +f 2106/3460/2623 2157/3459/2670 2163/3482/2681 +f 2085/3477/2599 2166/3476/2678 2168/3483/2682 +f 2094/3479/2612 2167/3478/2679 2165/3484/2683 +f 2170/3485/2684 2171/3511/2703 2172/3486/2685 +f 2173/3488/2687 2174/3494/2691 2175/3489/2688 +f 2176/3491/2689 2170/3485/2684 2169/3487/2686 +f 2177/3493/2690 2178/3498/2694 2174/3494/2691 +f 2179/3495/2692 2176/3491/2689 2121/3492/2636 +f 2180/3497/2693 2181/3502/2697 2178/3498/2694 +f 2182/3499/2695 2179/3495/2692 2125/3496/2640 +f 2183/3501/2696 2184/3522/2711 2181/3502/2697 +f 2133/3503/2647 2185/3523/2712 2182/3499/2695 +f 2187/3504/2698 2184/3522/2711 2183/3501/2696 +f 2188/3506/2700 2185/3523/2712 2133/3503/2647 +f 2190/3508/2701 2187/3504/2698 2186/3505/2699 +f 2140/3510/2652 2191/3524/2713 2188/3506/2700 +f 2171/3511/2703 2190/3508/2701 2189/3509/2702 +f 2175/3489/2688 2191/3524/2713 2140/3510/2652 +f 2204/3525/2714 2179/3526/2715 2192/3527/2716 +f 2192/3527/2716 2193/3528/2717 2194/3529/2718 +f 2194/3529/2718 2195/3530/2719 2192/3527/2716 +f 2195/3530/2719 2175/3531/2720 2192/3527/2716 +f 2175/3531/2720 2196/3532/2721 2197/3533/2722 +f 2197/3533/2722 2198/3534/2723 2199/3512/2704 +f 2199/3512/2704 2200/3535/2724 2201/3513/2705 +f 2201/3513/2705 2202/3536/2725 2203/3514/2706 +f 2203/3514/2706 2204/3525/2714 2175/3531/2720 +f 2204/3525/2714 2192/3527/2716 2175/3531/2720 +f 2175/3531/2720 2197/3533/2722 2203/3514/2706 +f 2197/3533/2722 2199/3512/2704 2203/3514/2706 +o ShellR +v 0.085103 0.485662 0.601681 +v 0.056518 0.421462 0.601681 +v 0.056518 0.421462 0.729916 +v 0.085103 0.485662 0.729916 +v 0.273778 0.546177 0.003551 +v 0.274063 0.547057 0.601681 +v 0.334928 0.511922 0.601681 +v 0.334303 0.511227 0.003551 +v 0.137798 0.240757 0.003551 +v 0.137333 0.239952 0.601681 +v 0.085103 0.286977 0.601681 +v 0.085858 0.287527 0.003551 +v 0.376233 0.455062 0.601681 +v 0.375383 0.454687 0.003551 +v 0.056518 0.351182 0.601681 +v 0.057428 0.351372 0.003551 +v 0.390848 0.386322 0.601681 +v 0.389918 0.386322 0.003551 +v 0.057428 0.421267 0.003551 +v 0.376233 0.317577 0.601681 +v 0.375383 0.317957 0.003551 +v 0.085859 0.485117 0.003551 +v 0.334928 0.260722 0.601681 +v 0.334303 0.261412 0.003551 +v 0.137333 0.532687 0.601681 +v 0.137799 0.531882 0.003551 +v 0.274063 0.225582 0.601681 +v 0.273778 0.226467 0.003551 +v 0.204168 0.554407 0.601681 +v 0.204269 0.553482 0.003551 +v 0.204168 0.218237 0.601681 +v 0.204268 0.219162 0.003551 +v 0.233738 0.422942 0.729346 +v 0.247603 0.414937 0.729341 +v 0.351398 0.530212 0.729561 +v 0.281668 0.570472 0.729561 +v 0.201598 0.193752 0.729561 +v 0.125023 0.218632 0.729561 +v 0.138223 0.241497 0.711691 +v 0.204358 0.220012 0.711691 +v 0.202583 0.352972 0.729631 +v 0.190683 0.363687 0.729611 +v 0.065188 0.272507 0.729561 +v 0.257013 0.401982 0.729371 +v 0.398723 0.465077 0.729561 +v 0.184168 0.378312 0.729536 +v 0.032438 0.346062 0.729561 +v 0.260343 0.386322 0.729406 +v 0.415463 0.386322 0.729561 +v 0.184168 0.394327 0.729381 +v 0.032438 0.426577 0.729561 +v 0.257013 0.370657 0.729446 +v 0.398723 0.307567 0.729561 +v 0.190683 0.408957 0.729446 +v 0.247603 0.357702 0.729386 +v 0.351398 0.242427 0.729561 +v 0.202583 0.419667 0.729406 +v 0.125023 0.554007 0.729561 +v 0.065188 0.500132 0.729561 +v 0.233738 0.349697 0.729536 +v 0.281668 0.202172 0.729561 +v 0.217813 0.424617 0.729366 +v 0.201598 0.578887 0.729561 +v 0.217813 0.348022 0.729611 +v 0.333733 0.510592 0.711691 +v 0.273513 0.545362 0.711691 +v 0.086548 0.288027 0.711691 +v 0.374603 0.454337 0.711691 +v 0.058263 0.351552 0.711691 +v 0.389063 0.386322 0.711691 +v 0.058263 0.421087 0.711691 +v 0.374603 0.318302 0.711691 +v 0.086548 0.484612 0.711691 +v 0.333733 0.262047 0.711691 +v 0.138223 0.531142 0.711691 +v 0.273513 0.227282 0.711691 +v 0.204358 0.552627 0.711691 +v 0.390848 0.386322 0.729916 +v 0.376233 0.317577 0.729916 +v 0.204168 0.554407 0.729916 +v 0.274063 0.547057 0.729916 +v 0.334928 0.260722 0.729916 +v 0.274063 0.225582 0.729916 +v 0.334928 0.511922 0.729916 +v 0.376233 0.455062 0.729916 +v 0.204168 0.218237 0.729916 +v 0.137333 0.532687 0.729916 +v 0.085103 0.286977 0.729916 +v 0.056518 0.351182 0.729916 +v 0.137333 0.239952 0.729916 +v 0.247603 0.414937 0.728661 +v 0.233738 0.422942 0.728646 +v 0.227678 0.404292 0.728156 +v 0.234483 0.400367 0.728136 +v 0.212388 0.369952 0.729486 +v 0.206548 0.375212 0.729441 +v 0.257013 0.401982 0.728706 +v 0.239103 0.394007 0.728261 +v 0.203348 0.382392 0.729266 +v 0.260343 0.386322 0.728856 +v 0.240733 0.386322 0.728411 +v 0.203348 0.390252 0.728916 +v 0.257013 0.370657 0.729041 +v 0.239103 0.378632 0.728676 +v 0.190683 0.408957 0.729041 +v 0.206548 0.397427 0.728666 +v 0.234483 0.372277 0.728916 +v 0.202583 0.419667 0.728841 +v 0.212388 0.402687 0.728421 +v 0.227678 0.368347 0.729271 +v 0.217813 0.424617 0.728716 +v 0.219863 0.405117 0.728236 +v 0.219863 0.367522 0.729441 +v 0.240733 0.386322 0.728261 +v 0.239103 0.394007 0.728026 +v 0.234483 0.400367 0.727946 +v 0.227678 0.404292 0.727921 +v 0.219863 0.405117 0.728041 +v 0.212388 0.402687 0.728241 +v 0.206548 0.397427 0.728536 +v 0.239103 0.378632 0.728531 +vn -0.9135 0.4068 -0.0000 +vn 0.3090 0.9511 -0.0008 +vn 0.6691 0.7431 -0.0016 +vn 0.3090 0.9510 -0.0015 +vn -0.5000 -0.8660 -0.0008 +vn -0.8090 -0.5878 -0.0016 +vn -0.5000 -0.8660 -0.0016 +vn 0.6691 0.7431 -0.0008 +vn 0.9135 0.4068 -0.0016 +vn -0.8090 -0.5878 -0.0008 +vn -0.9781 -0.2079 -0.0016 +vn 0.9135 0.4067 -0.0008 +vn 1.0000 -0.0000 -0.0016 +vn -0.9781 -0.2079 -0.0008 +vn -0.9781 0.2079 -0.0016 +vn 1.0000 -0.0000 -0.0008 +vn 0.9135 -0.4067 -0.0016 +vn -0.7654 0.6435 -0.0010 +vn -0.8090 0.5878 -0.0016 +vn 0.6691 -0.7431 -0.0008 +vn 0.6691 -0.7431 -0.0016 +vn -0.5000 0.8660 -0.0008 +vn -0.5000 0.8660 -0.0016 +vn 0.3090 -0.9511 -0.0016 +vn -0.1045 0.9945 -0.0008 +vn -0.1045 0.9945 -0.0016 +vn 0.3090 -0.9511 -0.0008 +vn -0.1045 -0.9945 -0.0016 +vn -0.1045 -0.9945 -0.0008 +vn 0.0003 -0.0016 1.0000 +vn -0.0009 -0.0010 1.0000 +vn -0.0004 -0.0013 1.0000 +vn -0.0000 -0.0000 -1.0000 +vn -0.0586 -0.5574 -0.8282 +vn -0.2803 -0.4854 -0.8281 +vn 0.0020 0.0028 1.0000 +vn -0.0002 -0.0000 1.0000 +vn -0.0002 -0.0004 1.0000 +vn -0.0011 -0.0005 1.0000 +vn -0.0011 -0.0004 1.0000 +vn 0.0059 0.0066 1.0000 +vn 0.0012 0.0058 1.0000 +vn -0.0009 0.0015 1.0000 +vn -0.0020 0.0014 1.0000 +vn -0.0060 0.0002 1.0000 +vn -0.0141 0.0030 0.9999 +vn -0.0011 -0.0019 1.0000 +vn -0.0010 0.0004 1.0000 +vn -0.0010 -0.0000 1.0000 +vn 0.0119 0.0081 0.9999 +vn -0.0039 0.0043 1.0000 +vn 0.0021 0.0117 0.9999 +vn -0.0009 -0.0003 1.0000 +vn 0.0013 0.0015 1.0000 +vn -0.0117 0.0085 0.9999 +vn 0.0002 0.0005 1.0000 +vn -0.0008 0.0008 1.0000 +vn 0.0013 -0.0009 1.0000 +vn 0.0035 0.0002 1.0000 +vn 0.0028 0.0037 1.0000 +vn 0.0060 0.0071 1.0000 +vn 0.0001 -0.0012 1.0000 +vn -0.0000 -0.0003 1.0000 +vn 0.3751 0.4166 -0.8281 +vn 0.1732 0.5331 -0.8281 +vn -0.4535 -0.3295 -0.8281 +vn 0.5121 0.2280 -0.8281 +vn -0.5483 -0.1165 -0.8281 +vn 0.5605 -0.0000 -0.8281 +vn -0.5483 0.1165 -0.8281 +vn 0.5121 -0.2280 -0.8281 +vn -0.4535 0.3295 -0.8281 +vn 0.3751 -0.4166 -0.8281 +vn -0.2803 0.4854 -0.8281 +vn 0.1732 -0.5331 -0.8281 +vn -0.0586 0.5574 -0.8282 +vn 1.0000 -0.0000 -0.0000 +vn 0.9135 -0.4067 -0.0008 +vn -0.1045 0.9945 -0.0000 +vn 0.6691 -0.7431 -0.0000 +vn 0.3090 0.9511 -0.0000 +vn 0.9135 0.4067 -0.0000 +vn 0.9135 -0.4067 -0.0000 +vn 0.3090 -0.9511 -0.0000 +vn 0.6691 0.7431 -0.0000 +vn -0.6691 0.7432 -0.0000 +vn -0.8090 -0.5878 -0.0000 +vn -0.1045 -0.9945 -0.0000 +vn -0.5000 0.8660 -0.0000 +vn -0.5000 -0.8660 -0.0000 +vn -0.9781 -0.2079 -0.0000 +vn -0.9904 0.1383 -0.0010 +vn -0.0051 -0.0243 0.9997 +vn -0.0231 -0.0141 0.9996 +vn -0.0190 -0.0163 0.9997 +vn 0.0089 0.0141 0.9999 +vn 0.0095 0.0263 0.9996 +vn -0.0294 0.0027 0.9996 +vn -0.0223 -0.0021 0.9997 +vn 0.0271 0.0325 0.9991 +vn -0.0249 0.0243 0.9994 +vn -0.0194 0.0129 0.9997 +vn 0.0286 0.0343 0.9990 +vn -0.0108 0.0342 0.9994 +vn -0.0085 0.0233 0.9997 +vn 0.0249 0.0045 0.9997 +vn 0.0349 0.0082 0.9994 +vn 0.0161 0.0430 0.9989 +vn 0.0199 -0.0100 0.9998 +vn 0.0331 -0.0098 0.9994 +vn 0.0194 0.0361 0.9992 +vn 0.0100 -0.0212 0.9997 +vn 0.0183 -0.0240 0.9995 +vn 0.0131 0.0196 0.9997 +vn -0.0015 -0.0258 0.9997 +vn 0.0024 -0.0028 1.0000 +vn -1.0000 -0.0000 -0.0000 +vn 0.0228 0.0381 0.9990 +vn 0.0107 0.0328 0.9994 +vn 0.0170 0.0312 0.9994 +vn 0.0062 0.0170 0.9998 +vn 0.0169 0.0287 0.9994 +vn 0.0181 0.0265 0.9995 +vn 0.0196 0.0364 0.9991 +vn 0.0047 0.0508 0.9987 +vt 0.680521 0.406246 +vt 0.652061 0.430658 +vt 0.664534 0.402365 +vt 0.680997 0.433791 vt 0.795099 0.368734 vt 0.880048 0.374065 vt 0.878852 0.378577 @@ -8419,28 +12914,6 @@ vt 0.695201 0.449465 vt 0.628300 0.331461 vt 0.632514 0.314850 vt 0.605536 0.300814 -vt 0.612555 0.371309 -vt 0.732969 0.405750 -vt 0.687564 0.434164 -vt 0.682906 0.303280 -vt 0.723925 0.400441 -vt 0.627355 0.390490 -vt 0.723869 0.334698 -vt 0.673753 0.465539 -vt 0.688657 0.455255 -vt 0.682126 0.452537 -vt 0.626707 0.332818 -vt 0.631076 0.324865 -vt 0.631270 0.316393 -vt 0.628318 0.309157 -vt 0.622169 0.303994 -vt 0.614288 0.301889 -vt 0.605651 0.302595 -vt 0.600209 0.309710 -vt 0.596324 0.314769 -vt 0.594972 0.321125 -vt 0.600664 0.333078 -vt 0.612748 0.337849 vt 0.890640 0.475362 vt 0.909873 0.286529 vt 0.667016 0.375922 @@ -8456,4707 +12929,185 @@ vt 0.632152 0.323407 vt 0.629284 0.306912 vt 0.622867 0.301380 vt 0.614483 0.299388 -vn 0.0000 0.4068 -0.9135 -vn 0.0016 0.7431 -0.6691 -vn 0.0008 0.9511 -0.3090 -vn 0.0016 0.9511 -0.3090 -vn 0.0016 -0.8660 0.5000 -vn 0.0008 -0.5878 0.8090 -vn 0.0008 -0.8660 0.5000 -vn 0.0008 0.4067 -0.9136 -vn 0.0008 0.7432 -0.6691 -vn 0.0016 -0.5878 0.8090 -vn 0.0008 -0.2079 0.9781 -vn 0.0016 0.0000 -1.0000 -vn 0.0016 0.4067 -0.9135 -vn 0.0016 0.2079 0.9782 -vn 0.0016 -0.2079 0.9782 -vn 0.0016 -0.4067 -0.9136 -vn 0.0008 0.0000 -1.0000 -vn 0.0016 0.5878 0.8090 -vn 0.0008 0.2079 0.9781 -vn 0.0016 -0.7431 -0.6691 -vn 0.0008 -0.4067 -0.9135 -vn 0.0016 0.8660 0.5000 -vn 0.0008 0.5878 0.8090 -vn 0.0016 -0.9511 -0.3090 -vn 0.0008 -0.7431 -0.6691 -vn 0.0016 0.9945 0.1046 -vn 0.0008 0.8660 0.5000 -vn 0.0008 -0.9945 0.1045 -vn 0.0008 -0.9511 -0.3090 -vn 0.0008 0.9945 0.1045 -vn 0.0016 -0.9945 0.1045 -vn -1.0000 -0.0002 0.0001 -vn -1.0000 -0.0011 -0.0009 -vn -1.0000 0.0002 0.0013 -vn 1.0000 0.0000 0.0000 -vn 0.8282 -0.5574 0.0586 -vn 0.8282 -0.4854 0.2802 -vn 0.8282 -0.4854 0.2803 -vn -1.0000 0.0077 0.0008 -vn -1.0000 0.0000 -0.0001 -vn -1.0000 -0.0006 -0.0008 -vn -1.0000 -0.0003 0.0001 -vn -1.0000 0.0019 0.0077 -vn -1.0000 0.0001 -0.0001 -vn -1.0000 0.0009 0.0001 -vn -1.0000 0.0000 0.0003 -vn -1.0000 0.0034 0.0057 -vn -1.0000 0.0000 -0.0003 -vn -1.0000 0.0012 -0.0004 -vn -1.0000 0.0000 -0.0002 -vn -1.0000 0.0034 0.0035 -vn -1.0000 0.0006 0.0001 -vn -1.0000 -0.0002 -0.0002 -vn -1.0000 0.0036 0.0024 -vn -1.0000 -0.0003 -0.0002 -vn -1.0000 -0.0003 0.0000 -vn -1.0000 0.0038 0.0022 -vn -1.0000 0.0002 0.0002 -vn -1.0000 0.0059 0.0028 -vn -1.0000 0.0001 0.0001 -vn 0.8281 0.5331 -0.1732 -vn 0.8282 0.4165 -0.3750 -vn 0.8282 -0.3295 0.4535 -vn 0.8281 -0.3295 0.4535 -vn 0.8282 0.2280 -0.5120 -vn 0.8281 -0.1165 0.5483 -vn 0.8282 -0.0000 -0.5605 -vn 0.8281 0.1165 0.5483 -vn 0.8281 -0.2280 -0.5121 -vn 0.8282 0.3295 0.4535 -vn 0.8281 0.3295 0.4535 -vn 0.8282 -0.4165 -0.3750 -vn 0.8282 0.4854 0.2803 -vn 0.8282 -0.4166 -0.3750 -vn 0.8281 -0.5331 -0.1732 -vn 0.8282 0.4854 0.2802 -vn 0.8281 0.5575 0.0586 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 0.9945 0.1045 -vn 0.0000 -0.7431 -0.6691 -vn 0.0000 0.9511 -0.3090 -vn 0.0000 0.4067 -0.9136 -vn 0.0000 -0.4067 -0.9135 -vn 0.0000 -0.9511 -0.3090 -vn 0.0000 0.7432 -0.6691 -vn 0.0000 0.5878 0.8090 -vn 0.0000 -0.5878 0.8090 -vn 0.0000 0.2079 0.9781 -vn 0.0000 -0.9945 0.1045 -vn 0.0000 0.8660 0.5000 -vn 0.0000 -0.8660 0.5000 -vn 0.0000 -0.2079 0.9781 -vn -0.9997 0.0001 0.0250 -vn -0.9999 -0.0107 0.0091 -vn -0.9998 -0.0014 0.0176 -vn -0.9999 0.0144 -0.0037 -vn -0.9998 0.0185 0.0054 -vn -0.9997 0.0066 0.0227 -vn -0.9999 0.0098 -0.0116 -vn -0.9998 0.0211 -0.0033 -vn -0.9998 0.0113 0.0163 -vn -0.9999 0.0002 -0.0102 -vn -0.9999 0.0126 -0.0111 -vn -0.9999 0.0105 0.0088 -vn -0.9999 -0.0058 -0.0125 -vn -0.9999 0.0023 -0.0154 -vn -0.9999 -0.0107 -0.0102 -vn -0.9999 -0.0098 -0.0080 -vn -0.9999 0.0092 0.0060 -vn -0.9999 -0.0150 0.0021 -vn -0.9999 -0.0169 0.0018 -vn -0.9998 -0.0121 0.0163 -vn -0.9997 0.0186 0.0136 -vn -0.9997 0.0211 0.0080 -vn -0.9998 0.0182 0.0068 -vn 0.0008 0.9511 0.3090 -vn 0.0016 0.7431 0.6691 -vn 0.0015 0.9510 0.3090 -vn 0.0008 -0.8660 -0.5000 -vn 0.0016 -0.5878 -0.8090 -vn 0.0016 -0.8660 -0.5000 -vn 0.0008 0.7431 0.6691 -vn 0.0016 0.4068 0.9135 -vn 0.0008 -0.5878 -0.8090 -vn 0.0016 -0.2079 -0.9781 -vn 0.0008 0.4067 0.9135 -vn 0.0016 0.0000 1.0000 -vn 0.0008 -0.2079 -0.9781 -vn 0.0016 0.2079 -0.9781 -vn 0.0008 0.0000 1.0000 -vn 0.0016 -0.4067 0.9135 -vn 0.0010 0.6435 -0.7654 -vn 0.0016 0.5878 -0.8090 -vn 0.0008 -0.7431 0.6691 -vn 0.0016 -0.7431 0.6691 -vn 0.0008 0.8660 -0.5000 -vn 0.0016 0.8660 -0.5000 -vn 0.0016 -0.9511 0.3090 -vn 0.0008 0.9945 -0.1045 -vn 0.0016 0.9945 -0.1045 -vn 0.0008 -0.9511 0.3090 -vn 0.0016 -0.9945 -0.1045 -vn 0.0008 -0.9945 -0.1045 -vn -1.0000 -0.0016 0.0003 -vn -1.0000 -0.0010 -0.0009 -vn -1.0000 -0.0013 -0.0004 -vn 0.8282 -0.5574 -0.0586 -vn 0.8281 -0.4854 -0.2803 -vn -1.0000 0.0028 0.0020 -vn -1.0000 -0.0004 -0.0002 -vn -1.0000 -0.0005 -0.0010 -vn -1.0000 -0.0004 -0.0011 -vn -1.0000 0.0066 0.0059 -vn -1.0000 0.0058 0.0012 -vn -1.0000 0.0015 -0.0009 -vn -1.0000 0.0014 -0.0020 -vn -1.0000 0.0002 -0.0060 -vn -0.9999 0.0030 -0.0141 -vn -1.0000 -0.0019 -0.0011 -vn -1.0000 0.0004 -0.0010 -vn -1.0000 0.0000 -0.0010 -vn -0.9999 0.0081 0.0119 -vn -1.0000 0.0043 -0.0039 -vn -0.9999 0.0117 0.0021 -vn -1.0000 -0.0003 -0.0009 -vn -1.0000 0.0015 0.0013 -vn -0.9999 0.0085 -0.0117 -vn -1.0000 0.0005 0.0002 -vn -1.0000 0.0008 -0.0008 -vn -1.0000 -0.0009 0.0013 -vn -1.0000 0.0002 0.0035 -vn -1.0000 0.0037 0.0028 -vn -1.0000 0.0071 0.0060 -vn -1.0000 -0.0012 0.0001 -vn 0.8281 0.4166 0.3751 -vn 0.8281 0.5331 0.1732 -vn 0.8282 -0.3295 -0.4535 -vn 0.8282 0.2280 0.5120 -vn 0.8281 -0.1165 -0.5483 -vn 0.8281 0.0000 0.5605 -vn 0.8282 0.2280 0.5121 -vn 0.8281 0.1165 -0.5483 -vn 0.8281 -0.2280 0.5121 -vn 0.8282 0.3295 -0.4535 -vn 0.8281 -0.4166 0.3751 -vn 0.8281 0.4854 -0.2803 -vn 0.8281 -0.5331 0.1732 -vn 0.8282 0.5574 -0.0586 -vn 0.0000 0.0000 1.0000 -vn 0.0008 -0.4067 0.9135 -vn 0.0000 0.9945 -0.1045 -vn 0.0000 -0.7431 0.6691 -vn 0.0000 0.9511 0.3090 -vn 0.0000 0.4067 0.9135 -vn 0.0000 -0.4067 0.9135 -vn 0.0000 -0.9511 0.3090 -vn 0.0000 0.7431 0.6691 -vn 0.0000 -0.5878 -0.8090 -vn 0.0000 -0.9945 -0.1045 -vn 0.0000 0.8660 -0.5000 -vn 0.0000 -0.8660 -0.5000 -vn 0.0000 -0.2079 -0.9781 -vn 0.0010 0.1383 -0.9904 -vn -0.9997 -0.0243 -0.0051 -vn -0.9996 -0.0141 -0.0231 -vn -0.9997 -0.0163 -0.0190 -vn -0.9999 0.0141 0.0089 -vn -0.9996 0.0263 0.0095 -vn -0.9996 0.0027 -0.0294 -vn -0.9997 -0.0021 -0.0223 -vn -0.9991 0.0325 0.0271 -vn -0.9994 0.0243 -0.0249 -vn -0.9997 0.0129 -0.0194 -vn -0.9990 0.0343 0.0286 -vn -0.9994 0.0342 -0.0108 -vn -0.9997 0.0233 -0.0085 -vn -0.9997 0.0045 0.0249 -vn -0.9994 0.0082 0.0349 -vn -0.9989 0.0430 0.0161 -vn -0.9998 -0.0100 0.0199 -vn -0.9994 -0.0099 0.0331 -vn -0.9992 0.0361 0.0194 -vn -0.9997 -0.0212 0.0100 -vn -0.9995 -0.0240 0.0183 -vn -0.9997 0.0196 0.0131 -vn -0.9997 -0.0258 -0.0015 -vn -1.0000 0.0000 0.0000 -vn -1.0000 -0.0002 -0.0003 -vn -1.0000 -0.0004 -0.0000 -vn -1.0000 -0.0002 0.0000 -vn -0.9998 -0.0068 -0.0193 -vn -1.0000 0.0079 0.0045 -vn -0.9999 0.0125 0.0111 -vn -0.9998 0.0171 0.0122 -vn -0.9984 0.0179 0.0534 -vn -0.9998 0.0152 0.0119 -vn -1.0000 0.0018 0.0003 -vn -0.9999 0.0106 0.0082 -vn -1.0000 0.0065 0.0061 -vn -0.9999 0.0121 0.0107 -vn -0.9989 -0.0104 0.0453 -vn -0.9998 0.0142 0.0152 -vn -0.9972 0.0267 0.0693 -vn -0.9972 0.0655 0.0360 -vn -0.9988 0.0483 -0.0044 -vn -1.0000 -0.0028 0.0024 -vn -0.9990 0.0381 0.0228 -vn -0.9994 0.0328 0.0107 -vn -0.9994 0.0312 0.0170 -vn -0.9998 0.0171 0.0063 -vn -0.9994 0.0287 0.0169 -vn -0.9995 0.0265 0.0181 -vn -0.9991 0.0364 0.0196 -vn -0.9987 0.0508 0.0047 -s off -f 1376/2232/1621 1378/2233/1621 1375/2234/1621 -f 1376/2232/1621 1377/2235/1621 1378/2233/1621 +s 0 +f 2206/3537/2726 2208/3538/2726 2205/3539/2726 +f 2206/3537/2726 2207/3540/2726 2208/3538/2726 s 1 -f 1380/2236/1622 1382/2237/1623 1379/2238/1624 -f 1383/2239/1625 1385/2240/1626 1386/2241/1627 -f 1380/2236/1622 1388/2242/1628 1381/2243/1629 -f 1384/2244/1630 1390/2245/1631 1385/2240/1626 -f 1391/2246/1632 1388/2242/1628 1387/2247/1633 -f 1393/2248/1634 1390/2245/1631 1389/2249/1635 -f 1395/2250/1636 1392/2251/1637 1391/2246/1632 -f 1397/2252/1638 1394/2253/1639 1393/2248/1634 -f 1399/2254/1640 1396/2255/1641 1395/2250/1636 -f 1401/2256/1642 1398/2257/1643 1397/2252/1638 -f 1403/2258/1644 1400/2259/1645 1399/2254/1640 -f 1405/2260/1646 1402/2261/1647 1401/2256/1642 -f 1403/2258/1644 1408/2262/1648 1404/2263/1649 -f 1379/2238/1624 1406/2264/1650 1405/2260/1646 -f 1407/2265/1651 1386/2241/1627 1408/2262/1648 -f 1410/2266/1652 1412/2267/1653 1409/2268/1654 -f 1407/2265/1655 1399/2254/1655 1401/2256/1655 -f 1413/2269/1656 1415/2270/1657 1416/2271/1658 -f 1417/2272/1659 1418/2273/1660 1419/2274/1661 -f 1411/2275/1662 1421/2276/1663 1412/2267/1653 -f 1419/2274/1661 1422/2277/1664 1423/2278/1665 -f 1420/2279/1666 1425/2280/1667 1421/2276/1663 -f 1423/2278/1665 1426/2281/1668 1427/2282/1669 -f 1425/2280/1667 1428/2283/1670 1429/2284/1671 -f 1426/2281/1668 1431/2285/1672 1427/2282/1669 -f 1429/2284/1671 1432/2286/1673 1433/2287/1674 -f 1431/2285/1672 1434/2288/1675 1435/2289/1676 -f 1433/2287/1674 1436/2290/1676 1437/2291/1677 -f 1434/2288/1675 1439/2292/1678 1435/2289/1676 -f 1436/2290/1676 1440/2293/1679 1437/2291/1677 -f 1439/2292/1678 1410/2266/1652 1409/2268/1654 -f 1440/2293/1679 1416/2294/1680 1417/2272/1659 -f 1410/2295/1681 1442/2296/1682 1411/2297/1682 -f 1416/2271/1658 1443/2298/1683 1418/2299/1684 -f 1411/2297/1682 1444/2300/1685 1420/2301/1685 -f 1443/2298/1683 1422/2302/1686 1418/2299/1684 -f 1444/2300/1685 1424/2303/1687 1420/2301/1685 -f 1445/2304/1686 1426/2305/1688 1422/2302/1686 -f 1446/2306/1687 1428/2307/1689 1424/2303/1687 -f 1426/2305/1688 1449/2308/1690 1430/2309/1691 -f 1448/2310/1689 1432/2311/1692 1428/2307/1689 -f 1449/2308/1690 1434/2312/1693 1430/2309/1691 -f 1450/2313/1694 1436/2314/1695 1432/2311/1692 -f 1451/2315/1696 1438/2316/1697 1434/2312/1693 -f 1436/2314/1695 1414/2317/1656 1413/2269/1656 -f 1438/2316/1697 1441/2318/1681 1410/2295/1681 -f 1396/2319/1641 1455/2320/1698 1392/2321/1637 -f 1382/2322/1623 1457/2323/1699 1406/2324/1650 -f 1404/2325/1649 1459/2326/1700 1400/2327/1645 -f 1381/2328/1629 1456/2329/1701 1382/2322/1623 -f 1392/2321/1637 1461/2330/1702 1388/2331/1628 -f 1400/2327/1645 1454/2332/1703 1396/2319/1641 -f 1408/2333/1648 1458/2334/1704 1404/2325/1649 -f 1388/2331/1628 1460/2335/1705 1381/2328/1629 -f 1402/2336/1647 1464/2337/1706 1398/2338/1643 -f 1390/2339/1631 1466/2340/1707 1385/2341/1626 -f 1398/2338/1643 1467/2342/1708 1394/2343/1639 -f 1386/2344/1627 1462/2345/1709 1408/2333/1648 -f 1406/2324/1650 1463/2346/1710 1402/2336/1647 -f 1385/2341/1626 1468/2347/1711 1386/2344/1627 -f 1394/2343/1639 1465/2348/1712 1390/2339/1631 -f 1470/2349/1713 1472/2350/1714 1469/2351/1715 -f 1473/2352/1716 1475/2353/1717 1417/2354/1659 -f 1476/2355/1718 1469/2351/1715 1421/2356/1663 -f 1477/2357/1719 1474/2358/1720 1473/2352/1716 -f 1479/2359/1721 1421/2356/1663 1425/2360/1667 -f 1480/2361/1722 1478/2362/1723 1477/2357/1719 -f 1482/2363/1724 1425/2360/1667 1429/2364/1671 -f 1483/2365/1725 1481/2366/1726 1480/2361/1722 -f 1433/2367/1674 1482/2363/1724 1429/2364/1671 -f 1487/2368/1727 1483/2365/1725 1486/2369/1728 -f 1488/2370/1729 1433/2367/1674 1437/2371/1677 -f 1490/2372/1730 1486/2369/1728 1489/2373/1731 -f 1440/2374/1679 1488/2370/1729 1437/2371/1677 -f 1471/2375/1732 1489/2373/1731 1472/2350/1714 -f 1475/2353/1717 1440/2374/1679 1417/2354/1659 -f 1499/2376/1733 1501/2377/1734 1503/2378/1735 -f 1506/2379/1736 1508/2380/1737 1505/2381/1738 -f 1510/2382/1739 1512/2383/1740 1509/2384/1741 -f 1507/2385/1742 1514/2386/1743 1508/2380/1737 -f 1511/2387/1744 1516/2388/1745 1512/2383/1740 -f 1513/2389/1746 1518/2390/1747 1514/2386/1743 -f 1515/2391/1748 1519/2392/1749 1516/2388/1745 -f 1517/2393/1750 1521/2394/1751 1518/2390/1747 -f 1519/2392/1749 1375/2395/1752 1522/2396/1753 -f 1521/2394/1751 1523/2397/1754 1524/2398/1755 -f 1522/2396/1753 1525/2399/1756 1526/2400/1757 -f 1523/2397/1754 1528/2401/1758 1524/2398/1755 -f 1526/2400/1757 1529/2402/1759 1530/2403/1760 -f 1527/2404/1761 1532/2405/1762 1528/2401/1758 -f 1530/2403/1760 1506/2379/1736 1505/2381/1738 -f 1531/2406/1763 1509/2384/1741 1532/2405/1762 -f 1533/2407/1764 1535/2408/1765 1536/2409/1766 -f 1521/2394/1655 1509/2384/1655 1522/2396/1655 -f 1537/2410/1767 1539/2411/1768 1540/2412/1767 -f 1541/2413/1769 1543/2414/1670 1538/2415/1770 -f 1534/2416/1771 1545/2417/1772 1535/2408/1765 -f 1546/2418/1773 1543/2414/1670 1542/2419/1774 -f 1548/2420/1775 1545/2417/1772 1544/2421/1776 -f 1377/2422/1777 1551/2423/1778 1547/2424/1779 -f 1548/2420/1775 1553/2425/1780 1549/2426/1781 -f 1550/2427/1782 1378/2428/1783 1377/2422/1777 -f 1555/2429/1784 1553/2425/1780 1552/2430/1785 -f 1558/2431/1786 1559/2432/1787 1378/2428/1783 -f 1555/2429/1784 1561/2433/1788 1556/2434/1789 -f 1562/2435/1790 1558/2431/1786 1557/2436/1791 -f 1564/2437/1792 1561/2433/1788 1560/2438/1793 -f 1562/2435/1790 1536/2409/1766 1563/2439/1794 -f 1564/2437/1792 1538/2415/1770 1537/2440/1676 -f 1535/2441/1795 1566/2442/1796 1536/2443/1796 -f 1543/2444/1797 1539/2411/1768 1538/2445/1768 -f 1545/2446/1798 1565/2447/1795 1535/2441/1795 -f 1547/2448/1799 1567/2449/1797 1543/2444/1797 -f 1549/2450/1800 1568/2451/1801 1545/2446/1798 -f 1551/2452/1802 1569/2453/1799 1547/2448/1799 -f 1553/2454/1803 1570/2455/1800 1549/2450/1800 -f 1551/2452/1802 1573/2456/1804 1571/2457/1802 -f 1556/2458/1805 1572/2459/1803 1553/2454/1803 -f 1559/2460/1804 1575/2461/1806 1573/2456/1804 -f 1556/2458/1805 1576/2462/1807 1574/2463/1805 -f 1563/2464/1808 1575/2461/1806 1558/2465/1806 -f 1561/2466/1807 1540/2412/1767 1576/2462/1807 -f 1536/2443/1796 1577/2467/1808 1563/2464/1808 -f 1578/2468/1809 1520/2469/1810 1517/2470/1750 -f 1580/2471/1811 1506/2472/1736 1529/2473/1759 -f 1582/2474/1812 1527/2475/1761 1523/2476/1754 -f 1581/2477/1813 1507/2478/1742 1506/2472/1736 -f 1585/2479/1814 1517/2470/1750 1513/2480/1746 -f 1579/2481/1815 1523/2476/1754 1520/2469/1810 -f 1583/2482/1816 1531/2483/1763 1527/2475/1761 -f 1584/2484/1817 1513/2480/1746 1507/2478/1742 -f 1378/2233/1705 1525/2485/1756 1375/2234/1752 -f 1588/2486/1818 1515/2487/1748 1511/2488/1744 -f 1586/2489/1819 1510/2490/1739 1531/2483/1763 -f 1587/2491/1820 1529/2473/1759 1525/2485/1756 -f 1590/2492/1821 1511/2488/1744 1510/2490/1739 -f 1589/2493/1822 1376/2232/1823 1515/2487/1748 -f 1592/2494/1824 1594/2495/1825 1591/2496/1826 -f 1542/2497/1774 1595/2498/1827 1596/2499/1828 -f 1591/2496/1826 1598/2500/1829 1597/2501/1830 -f 1542/2497/1774 1599/2502/1831 1546/2503/1773 -f 1597/2501/1830 1601/2504/1832 1600/2505/1833 -f 1550/2506/1782 1599/2502/1831 1602/2507/1834 -f 1600/2505/1833 1604/2508/1835 1603/2509/1836 -f 1605/2510/1837 1602/2507/1834 1606/2511/1838 -f 1603/2509/1836 1607/2512/1839 1555/2513/1784 -f 1608/2514/1840 1606/2511/1838 1609/2515/1841 -f 1555/2513/1784 1610/2516/1842 1560/2517/1793 -f 1611/2518/1843 1609/2515/1841 1612/2519/1844 -f 1560/2517/1793 1613/2520/1845 1564/2521/1792 -f 1592/2494/1824 1612/2519/1844 1593/2522/1846 -f 1541/2523/1769 1613/2520/1845 1595/2498/1827 -f 1602/2524/1834 1596/2525/1828 1607/2526/1839 -f 1377/2422/1777 1559/2432/1787 1551/2423/1778 -f 1380/2236/1622 1381/2243/1629 1382/2237/1623 -f 1383/2239/1625 1384/2244/1630 1385/2240/1626 -f 1380/2236/1622 1387/2247/1633 1388/2242/1628 -f 1384/2244/1630 1389/2249/1635 1390/2245/1631 -f 1391/2246/1632 1392/2251/1637 1388/2242/1628 -f 1393/2248/1634 1394/2253/1639 1390/2245/1631 -f 1395/2250/1636 1396/2255/1641 1392/2251/1637 -f 1397/2252/1638 1398/2257/1643 1394/2253/1639 -f 1399/2254/1640 1400/2259/1645 1396/2255/1641 -f 1401/2256/1642 1402/2261/1647 1398/2257/1643 -f 1403/2258/1644 1404/2263/1649 1400/2259/1645 -f 1405/2260/1646 1406/2264/1650 1402/2261/1647 -f 1403/2258/1644 1407/2265/1651 1408/2262/1648 -f 1379/2238/1624 1382/2237/1623 1406/2264/1650 -f 1407/2265/1651 1383/2239/1625 1386/2241/1627 -f 1410/2266/1652 1411/2275/1662 1412/2267/1653 -f 1395/2250/1655 1391/2246/1655 1387/2247/1655 -f 1387/2247/1655 1380/2236/1655 1401/2256/1655 -f 1380/2236/1655 1379/2238/1655 1401/2256/1655 -f 1379/2238/1655 1405/2260/1655 1401/2256/1655 -f 1401/2256/1655 1397/2252/1655 1393/2248/1655 -f 1393/2248/1655 1389/2249/1655 1401/2256/1655 -f 1389/2249/1655 1384/2244/1655 1401/2256/1655 -f 1384/2244/1655 1383/2239/1655 1407/2265/1655 -f 1407/2265/1655 1403/2258/1655 1399/2254/1655 -f 1399/2254/1655 1395/2250/1655 1401/2256/1655 -f 1395/2250/1655 1387/2247/1655 1401/2256/1655 -f 1384/2244/1655 1407/2265/1655 1401/2256/1655 -f 1413/2269/1656 1414/2317/1656 1415/2270/1657 -f 1417/2272/1659 1416/2294/1680 1418/2273/1660 -f 1411/2275/1662 1420/2279/1666 1421/2276/1663 -f 1419/2274/1661 1418/2273/1660 1422/2277/1664 -f 1420/2279/1666 1424/2527/1847 1425/2280/1667 -f 1423/2278/1665 1422/2277/1664 1426/2281/1668 -f 1425/2280/1667 1424/2527/1847 1428/2283/1670 -f 1426/2281/1668 1430/2528/1848 1431/2285/1672 -f 1429/2284/1671 1428/2283/1670 1432/2286/1673 -f 1431/2285/1672 1430/2528/1848 1434/2288/1675 -f 1433/2287/1674 1432/2286/1673 1436/2290/1676 -f 1434/2288/1675 1438/2529/1849 1439/2292/1678 -f 1436/2290/1676 1413/2530/1850 1440/2293/1679 -f 1439/2292/1678 1438/2529/1849 1410/2266/1652 -f 1440/2293/1679 1413/2530/1850 1416/2294/1680 -f 1410/2295/1681 1441/2318/1681 1442/2296/1682 -f 1416/2271/1658 1415/2270/1657 1443/2298/1683 -f 1411/2297/1682 1442/2296/1682 1444/2300/1685 -f 1443/2298/1683 1445/2304/1686 1422/2302/1686 -f 1444/2300/1685 1446/2306/1687 1424/2303/1687 -f 1445/2304/1686 1447/2531/1688 1426/2305/1688 -f 1446/2306/1687 1448/2310/1689 1428/2307/1689 -f 1426/2305/1688 1447/2531/1688 1449/2308/1690 -f 1448/2310/1689 1450/2313/1694 1432/2311/1692 -f 1449/2308/1690 1451/2315/1696 1434/2312/1693 -f 1450/2313/1694 1452/2532/1695 1436/2314/1695 -f 1451/2315/1696 1453/2533/1697 1438/2316/1697 -f 1436/2314/1695 1452/2532/1695 1414/2317/1656 -f 1438/2316/1697 1453/2533/1697 1441/2318/1681 -f 1396/2319/1641 1454/2332/1703 1455/2320/1698 -f 1382/2322/1623 1456/2329/1701 1457/2323/1699 -f 1404/2325/1649 1458/2334/1704 1459/2326/1700 -f 1381/2328/1629 1460/2335/1705 1456/2329/1701 -f 1392/2321/1637 1455/2320/1698 1461/2330/1702 -f 1400/2327/1645 1459/2326/1700 1454/2332/1703 -f 1408/2333/1648 1462/2345/1709 1458/2334/1704 -f 1388/2331/1628 1461/2330/1702 1460/2335/1705 -f 1402/2336/1647 1463/2346/1710 1464/2337/1706 -f 1390/2339/1631 1465/2348/1712 1466/2340/1707 -f 1398/2338/1643 1464/2337/1706 1467/2342/1708 -f 1386/2344/1627 1468/2347/1711 1462/2345/1709 -f 1406/2324/1650 1457/2323/1699 1463/2346/1710 -f 1385/2341/1626 1466/2340/1707 1468/2347/1711 -f 1394/2343/1639 1467/2342/1708 1465/2348/1712 -f 1470/2349/1713 1471/2375/1732 1472/2350/1714 -f 1473/2352/1716 1474/2358/1720 1475/2353/1717 -f 1476/2355/1718 1470/2349/1713 1469/2351/1715 -f 1477/2357/1719 1478/2362/1723 1474/2358/1720 -f 1479/2359/1721 1476/2355/1718 1421/2356/1663 -f 1480/2361/1722 1481/2366/1726 1478/2362/1723 -f 1482/2363/1724 1479/2359/1721 1425/2360/1667 -f 1483/2365/1725 1484/2534/1851 1481/2366/1726 -f 1433/2367/1674 1485/2535/1852 1482/2363/1724 -f 1487/2368/1727 1484/2534/1851 1483/2365/1725 -f 1488/2370/1729 1485/2535/1852 1433/2367/1674 -f 1490/2372/1730 1487/2368/1727 1486/2369/1728 -f 1440/2374/1679 1491/2536/1853 1488/2370/1729 -f 1471/2375/1732 1490/2372/1730 1489/2373/1731 -f 1475/2353/1717 1491/2536/1853 1440/2374/1679 -f 1504/2537/1854 1479/2538/1855 1492/2539/1856 -f 1492/2539/1856 1493/2540/1857 1494/2541/1858 -f 1494/2541/1858 1495/2542/1859 1492/2539/1856 -f 1495/2542/1859 1475/2543/1860 1492/2539/1856 -f 1475/2543/1860 1496/2544/1861 1497/2545/1862 -f 1497/2545/1862 1498/2546/1863 1499/2376/1733 -f 1499/2376/1733 1500/2547/1864 1501/2377/1734 -f 1501/2377/1734 1502/2548/1865 1503/2378/1735 -f 1503/2378/1735 1504/2537/1854 1475/2543/1860 -f 1504/2537/1854 1492/2539/1856 1475/2543/1860 -f 1475/2543/1860 1497/2545/1862 1503/2378/1735 -f 1497/2545/1862 1499/2376/1733 1503/2378/1735 -f 1506/2379/1736 1507/2385/1742 1508/2380/1737 -f 1510/2382/1739 1511/2387/1744 1512/2383/1740 -f 1507/2385/1742 1513/2389/1746 1514/2386/1743 -f 1511/2387/1744 1515/2391/1748 1516/2388/1745 -f 1513/2389/1746 1517/2393/1750 1518/2390/1747 -f 1515/2391/1748 1376/2549/1823 1519/2392/1749 -f 1517/2393/1750 1520/2550/1810 1521/2394/1751 -f 1519/2392/1749 1376/2549/1823 1375/2395/1752 -f 1521/2394/1751 1520/2550/1810 1523/2397/1754 -f 1522/2396/1753 1375/2395/1752 1525/2399/1756 -f 1523/2397/1754 1527/2404/1761 1528/2401/1758 -f 1526/2400/1757 1525/2399/1756 1529/2402/1759 -f 1527/2404/1761 1531/2406/1763 1532/2405/1762 -f 1530/2403/1760 1529/2402/1759 1506/2379/1736 -f 1531/2406/1763 1510/2382/1739 1509/2384/1741 -f 1533/2407/1764 1534/2416/1771 1535/2408/1765 -f 1514/2386/1655 1518/2390/1655 1521/2394/1655 -f 1521/2394/1655 1524/2398/1655 1528/2401/1655 -f 1528/2401/1655 1532/2405/1655 1521/2394/1655 -f 1532/2405/1655 1509/2384/1655 1521/2394/1655 -f 1509/2384/1655 1512/2383/1655 1522/2396/1655 -f 1512/2383/1655 1516/2388/1655 1522/2396/1655 -f 1516/2388/1655 1519/2392/1655 1522/2396/1655 -f 1522/2396/1655 1526/2400/1655 1508/2380/1655 -f 1526/2400/1655 1530/2403/1655 1508/2380/1655 -f 1530/2403/1655 1505/2381/1655 1508/2380/1655 -f 1508/2380/1655 1514/2386/1655 1521/2394/1655 -f 1508/2380/1655 1521/2394/1655 1522/2396/1655 -f 1537/2410/1767 1538/2445/1768 1539/2411/1768 -f 1541/2413/1769 1542/2419/1774 1543/2414/1670 -f 1534/2416/1771 1544/2421/1776 1545/2417/1772 -f 1546/2418/1773 1547/2424/1779 1543/2414/1670 -f 1548/2420/1775 1549/2426/1781 1545/2417/1772 -f 1547/2424/1779 1546/2418/1773 1377/2422/1777 -f 1546/2418/1773 1550/2427/1782 1377/2422/1777 -f 1548/2420/1775 1552/2430/1785 1553/2425/1780 -f 1550/2427/1782 1554/2551/1866 1378/2428/1783 -f 1555/2429/1784 1556/2434/1789 1553/2425/1780 -f 1378/2428/1783 1554/2551/1866 1557/2436/1791 -f 1557/2436/1791 1558/2431/1786 1378/2428/1783 -f 1555/2429/1784 1560/2438/1793 1561/2433/1788 -f 1562/2435/1790 1563/2439/1794 1558/2431/1786 -f 1564/2437/1792 1537/2440/1676 1561/2433/1788 -f 1562/2435/1790 1533/2407/1764 1536/2409/1766 -f 1564/2437/1792 1541/2413/1769 1538/2415/1770 -f 1535/2441/1795 1565/2447/1795 1566/2442/1796 -f 1543/2444/1797 1567/2449/1797 1539/2411/1768 -f 1545/2446/1798 1568/2451/1801 1565/2447/1795 -f 1547/2448/1799 1569/2453/1799 1567/2449/1797 -f 1549/2450/1800 1570/2455/1800 1568/2451/1801 -f 1551/2452/1802 1571/2457/1802 1569/2453/1799 -f 1553/2454/1803 1572/2459/1803 1570/2455/1800 -f 1551/2452/1802 1559/2460/1804 1573/2456/1804 -f 1556/2458/1805 1574/2463/1805 1572/2459/1803 -f 1559/2460/1804 1558/2465/1806 1575/2461/1806 -f 1556/2458/1805 1561/2466/1807 1576/2462/1807 -f 1563/2464/1808 1577/2467/1808 1575/2461/1806 -f 1561/2466/1807 1537/2410/1767 1540/2412/1767 -f 1536/2443/1796 1566/2442/1796 1577/2467/1808 -f 1578/2468/1809 1579/2481/1815 1520/2469/1810 -f 1580/2471/1811 1581/2477/1813 1506/2472/1736 -f 1582/2474/1812 1583/2482/1816 1527/2475/1761 -f 1581/2477/1813 1584/2484/1817 1507/2478/1742 -f 1585/2479/1814 1578/2468/1809 1517/2470/1750 -f 1579/2481/1815 1582/2474/1812 1523/2476/1754 -f 1583/2482/1816 1586/2489/1819 1531/2483/1763 -f 1584/2484/1817 1585/2479/1814 1513/2480/1746 -f 1378/2233/1705 1587/2491/1820 1525/2485/1756 -f 1588/2486/1818 1589/2493/1822 1515/2487/1748 -f 1586/2489/1819 1590/2492/1821 1510/2490/1739 -f 1587/2491/1820 1580/2471/1811 1529/2473/1759 -f 1590/2492/1821 1588/2486/1818 1511/2488/1744 -f 1589/2493/1822 1377/2235/1698 1376/2232/1823 -f 1592/2494/1824 1593/2522/1846 1594/2495/1825 -f 1542/2497/1774 1541/2523/1769 1595/2498/1827 -f 1591/2496/1826 1594/2495/1825 1598/2500/1829 -f 1542/2497/1774 1596/2499/1828 1599/2502/1831 -f 1597/2501/1830 1598/2500/1829 1601/2504/1832 -f 1550/2506/1782 1546/2503/1773 1599/2502/1831 -f 1600/2505/1833 1601/2504/1832 1604/2508/1835 -f 1605/2510/1837 1550/2506/1782 1602/2507/1834 -f 1603/2509/1836 1604/2508/1835 1607/2512/1839 -f 1608/2514/1840 1605/2510/1837 1606/2511/1838 -f 1555/2513/1784 1607/2512/1839 1610/2516/1842 -f 1611/2518/1843 1608/2514/1840 1609/2515/1841 -f 1560/2517/1793 1610/2516/1842 1613/2520/1845 -f 1592/2494/1824 1611/2518/1843 1612/2519/1844 -f 1541/2523/1769 1564/2521/1792 1613/2520/1845 -f 1621/2552/1867 1614/2553/1868 1615/2554/1869 -f 1615/2554/1869 1616/2555/1870 1617/2556/1871 -f 1617/2556/1871 1618/2557/1872 1619/2558/1873 -f 1619/2558/1873 1620/2559/1874 1602/2524/1834 -f 1602/2524/1834 1599/2560/1831 1596/2525/1828 -f 1596/2525/1828 1595/2561/1827 1613/2562/1845 -f 1613/2562/1845 1610/2563/1842 1596/2525/1828 -f 1610/2563/1842 1607/2526/1839 1596/2525/1828 -f 1607/2526/1839 1621/2552/1867 1619/2558/1873 -f 1621/2552/1867 1615/2554/1869 1619/2558/1873 -f 1615/2554/1869 1617/2556/1871 1619/2558/1873 -f 1619/2558/1873 1602/2524/1834 1607/2526/1839 -f 1377/2422/1777 1378/2428/1783 1559/2432/1787 -o Body_Cube.008 -v 2.058865 0.008545 0.489725 -v 2.673860 0.093340 0.483760 -v 3.330410 0.105400 0.470930 -v 3.282615 0.207035 0.470930 -v 0.392600 0.171185 0.509985 -v 0.393350 -0.080220 0.514135 -v 0.574765 -0.077640 0.511255 -v 0.670855 -0.054630 0.510570 -v 0.785515 0.015695 0.508550 -v 0.138370 -0.027100 0.441435 -v 0.178065 -0.016290 0.461765 -v 0.134400 -0.019415 0.541340 -v 0.113040 -0.067610 0.547560 -v 0.126585 -0.109565 0.473445 -v 0.154890 -0.088255 0.438770 -v -0.562595 0.128280 0.249705 -v -0.051470 0.127655 0.245610 -v -0.209670 0.128575 0.249675 -v -0.384190 0.128785 0.242245 -v -0.120600 0.128655 0.245390 -v 4.180090 0.482650 0.443330 -v 4.180090 0.489295 0.388390 -v 4.342950 0.489295 0.388390 -v 4.342950 0.482650 0.443330 -v 4.170735 0.359620 -0.061350 -v 4.170735 0.305525 -0.049675 -v 4.170735 0.260855 -0.017005 -v 4.180090 0.454235 0.490820 -v 4.342950 0.454235 0.490820 -v 4.170735 0.413790 -0.050015 -v 4.180090 0.408965 0.522650 -v 4.342950 0.408965 0.522650 -v 4.170735 0.486485 0.030210 -v 4.170735 0.458665 -0.017630 -v 4.170735 0.492445 0.085230 -v 4.342950 0.300710 0.520960 -v 4.342950 0.256450 0.487735 -v 4.180090 0.256450 0.487735 -v 4.180090 0.300710 0.520960 -v 4.342950 0.331095 0.269640 -v 4.180090 0.331095 0.269640 -v 4.180090 0.280195 0.291355 -v 4.342950 0.280195 0.291355 -v 4.180090 0.473015 0.335495 -v 4.180090 0.436630 0.293795 -v 4.342950 0.436630 0.293795 -v 4.342950 0.473015 0.335495 -v 4.342950 0.229530 0.439385 -v 4.180090 0.229530 0.439385 -v 4.342950 0.242525 0.331900 -v 4.180090 0.242525 0.331900 -v 4.180090 0.386430 0.270500 -v 4.342950 0.386430 0.270500 -v 4.170735 0.388120 0.201830 -v 4.170735 0.332780 0.202005 -v 4.170735 0.282155 0.179655 -v 4.170735 0.227725 0.086070 -v 4.170735 0.233335 0.031010 -v 4.170735 0.475510 0.137920 -v 4.170735 0.438610 0.179165 -v 3.230815 0.304460 -0.127470 -v 2.740580 0.304460 -0.132795 -v 2.740400 0.447215 -0.105020 -v 3.230805 0.447215 -0.099690 -v 2.741100 0.437820 -0.082130 -v 3.230975 0.437820 -0.076805 -v 0.565675 -0.077665 -0.015260 -v 0.392600 -0.080485 -0.016085 -v 0.394100 0.177180 -0.017905 -v 3.458050 0.209620 0.025065 -v 3.390435 0.144685 0.025065 -v 3.330410 0.105400 0.025065 -v 2.672975 0.094600 0.012235 -v 2.058930 0.009995 0.006275 -v 0.786445 0.016355 -0.012520 -v 0.671215 -0.054830 -0.013890 -v 3.231130 0.304460 0.600980 -v 2.741100 0.304460 0.616220 -v 2.739370 0.175170 0.479620 -v 3.229445 0.182610 0.466775 -v 3.413345 0.123170 0.247995 -v 3.464210 0.187235 0.247995 -v 3.458050 0.209620 0.454655 -v 3.390435 0.144685 0.470930 -v -0.852790 0.673230 0.230585 -v -0.891025 0.676995 0.229945 -v -0.891370 0.677045 0.242310 -v -0.891370 0.677045 0.256240 -v -0.852795 0.673310 0.254585 -v 0.223945 0.360335 0.213285 -v -0.717385 0.360220 0.213140 -v -0.698995 0.677045 0.203685 -v -0.698995 0.702735 0.203685 -v 0.223945 0.698555 0.213285 -v 3.330410 0.099365 0.247995 -v 2.672915 0.081820 0.248000 -v 2.059075 -0.002170 0.248000 -v 0.839565 -0.040465 0.248000 -v 0.835695 0.007540 0.117740 -v 2.736635 0.182610 0.001360 -v 2.736080 0.165620 0.026615 -v 2.736335 0.188565 0.046940 -v 2.736890 0.205560 0.021685 -v 2.737570 0.223440 -0.029490 -v 2.739620 0.283955 -0.087745 -v 2.740635 0.371465 -0.104050 -v 0.724715 -0.072450 0.248000 -v 0.835695 0.007535 0.378260 -v 0.619360 -0.095280 0.247995 -v 4.364625 0.332780 0.202005 -v 4.364625 0.282155 0.179655 -v 4.364625 0.388120 0.201830 -v 4.364625 0.438610 0.179165 -v 4.364625 0.475510 0.137920 -v 4.364625 0.492445 0.085230 -v 4.364625 0.486485 0.030210 -v 4.364625 0.458665 -0.017630 -v 4.364625 0.413790 -0.050015 -v 4.364625 0.359620 -0.061350 -v 4.364625 0.305525 -0.049675 -v 4.364625 0.260855 -0.017005 -v 4.364625 0.233335 0.031010 -v 4.364625 0.227725 0.086070 -v 4.364625 0.244990 0.138645 -v 4.362570 0.451770 0.200855 -v 4.364625 0.500670 0.152340 -v 4.364625 0.514040 0.021160 -v 4.364625 0.521300 0.088170 -v 4.364625 0.394240 0.230180 -v 4.364625 0.326840 0.230395 -v 4.364625 0.265180 0.203175 -v 4.364625 0.219920 0.153225 -v 4.364625 0.198890 0.089190 -v 4.364625 0.205725 0.022135 -v 4.364625 0.239240 -0.036340 -v 4.364625 0.293645 -0.076130 -v 4.364625 0.359530 -0.090355 -v 4.364625 0.425500 -0.076550 -v 4.364625 0.480155 -0.037105 -v 4.195850 0.500670 0.152340 -v 4.195850 0.455730 0.202570 -v 4.195850 0.239240 -0.036340 -v 4.195850 0.205725 0.022135 -v 4.195850 0.521300 0.088170 -v 4.195850 0.198890 0.089190 -v 4.195850 0.514040 0.021160 -v 4.195850 0.219920 0.153225 -v 4.195850 0.480155 -0.037105 -v 4.195850 0.265180 0.203175 -v 4.195850 0.425500 -0.076550 -v 4.195850 0.326840 0.230395 -v 4.195850 0.359530 -0.090355 -v 4.195850 0.394240 0.230180 -v 4.195850 0.293645 -0.076130 -v 4.178015 0.245400 -0.030830 -v 4.178015 0.297030 -0.068590 -v 4.178015 0.493500 0.148230 -v 4.178015 0.450850 0.195900 -v 4.178015 0.213595 0.024665 -v 4.178015 0.513075 0.087335 -v 4.178015 0.207110 0.088300 -v 4.178015 0.506185 0.023740 -v 4.178015 0.227065 0.149070 -v 4.178015 0.474030 -0.031550 -v 4.178015 0.270015 0.196470 -v 4.178015 0.422165 -0.068985 -v 4.178015 0.328535 0.222305 -v 4.180090 0.417100 0.541720 -v 4.180090 0.354335 0.554040 -v 4.180090 0.291980 0.539770 -v 4.197920 0.288505 0.547270 -v 4.197920 0.354205 0.562310 -v 4.197920 0.420345 0.549325 -v 4.178015 0.392500 0.222100 -v 0.007240 0.407955 0.229040 -v 0.007240 0.485215 0.194350 -v 0.007240 0.213195 -0.105845 -v 0.007240 0.281555 -0.155840 -v 0.006360 0.539890 0.129590 -v 0.007240 0.171085 -0.032370 -v 0.006360 0.566045 0.049095 -v 0.006360 0.161195 0.049095 -v 0.007240 0.558480 -0.033590 -v 0.006360 0.187350 0.129590 -v 0.007240 0.515905 -0.106800 -v 0.007240 0.245790 0.195105 -v 0.007240 0.447230 -0.156365 -v 0.007240 0.323265 0.229305 -v 4.178015 0.359555 -0.082085 -v 0.007240 0.364340 -0.173710 -v -0.040340 0.154190 -0.037800 -v -0.040340 0.144855 0.053795 -v -0.040340 0.364280 -0.191455 -v -0.040340 0.274285 -0.172030 -v -0.040340 0.411700 0.246385 -v -0.040340 0.495690 0.208675 -v -0.040340 0.454400 -0.172600 -v -0.040340 0.529055 -0.118715 -v -0.040340 0.199970 -0.117675 -v -0.040340 0.319630 0.246675 -v -0.040340 0.235405 0.209495 -v -0.040340 0.575340 -0.039130 -v -0.040340 0.585255 0.052405 -v -0.040340 0.173580 0.141270 -v -0.040340 0.557080 0.140060 -v -0.676610 0.235405 0.209495 -v -0.708885 0.256135 0.180770 -v -0.708885 0.204200 0.123460 -v -0.676610 0.173580 0.141270 -v -0.676610 0.557080 0.140060 -v -0.676610 0.585255 0.052405 -v -0.708885 0.550015 0.048815 -v -0.708885 0.526345 0.122445 -v -0.676610 0.154190 -0.037800 -v -0.676610 0.144855 0.053795 -v -0.708885 0.180070 0.049985 -v -0.708885 0.187910 -0.026960 -v -0.676610 0.364280 -0.191455 -v -0.676610 0.274285 -0.172030 -v -0.708885 0.288795 -0.139715 -v -0.708885 0.364395 -0.156035 -v -0.676610 0.411700 0.246385 -v -0.676610 0.495690 0.208675 -v -0.708885 0.474780 0.180080 -v -0.708885 0.404225 0.211760 -v -0.676610 0.454400 -0.172600 -v -0.708885 0.440095 -0.140190 -v -0.708885 0.502805 -0.094930 -v -0.676610 0.529055 -0.118715 -v -0.676610 0.199970 -0.117675 -v -0.708885 0.226370 -0.094060 -v -0.676610 0.319630 0.246675 -v -0.708885 0.326885 0.212005 -v -0.676610 0.575340 -0.039130 -v -0.708885 0.541685 -0.028075 -v 4.180090 0.209710 0.445480 -v 4.180090 0.204020 0.381770 -v 4.180090 0.224730 0.321255 -v 4.180090 0.268270 0.274390 -v 4.180090 0.327100 0.249290 -v 4.180090 0.391060 0.250285 -v 4.180090 0.449080 0.277210 -v 4.180090 0.491135 0.325410 -v 4.180090 0.509950 0.386545 -v 4.180090 0.502270 0.450045 -v 4.180090 0.469430 0.504935 -v 4.180090 0.240825 0.501370 -v 4.366700 0.408965 0.522650 -v 4.366700 0.354655 0.533310 -v 4.342950 0.354655 0.533310 -v 4.366700 0.454235 0.490820 -v 4.366700 0.482650 0.443330 -v 4.366700 0.489295 0.388390 -v 4.366700 0.473015 0.335495 -v 4.366700 0.436630 0.293795 -v 4.366700 0.386430 0.270500 -v 4.366700 0.331095 0.269640 -v 4.366700 0.242525 0.331900 -v 4.366700 0.280195 0.291355 -v 4.366700 0.325510 0.241180 -v 4.366700 0.392900 0.242230 -v 4.366700 0.454040 0.270600 -v 4.366700 0.498355 0.321385 -v 4.366700 0.518180 0.385810 -v 4.366700 0.510090 0.452720 -v 4.366700 0.475485 0.510560 -v 4.366700 0.420345 0.549325 -v 4.366700 0.354205 0.562310 -v 4.366700 0.288505 0.547270 -v 4.366700 0.234600 0.506805 -v 4.366700 0.201810 0.447915 -v 4.366700 0.229530 0.439385 -v 4.366700 0.256450 0.487735 -v 4.366700 0.300710 0.520960 -v 4.366700 0.217640 0.317010 -v 4.366700 0.263515 0.267630 -v 4.197920 0.510090 0.452720 -v 4.197920 0.475485 0.510560 -v 4.197920 0.518180 0.385810 -v 4.197920 0.195810 0.380780 -v 4.366700 0.195810 0.380780 -v 4.197920 0.201810 0.447915 -v 4.197920 0.498355 0.321385 -v 4.197920 0.234600 0.506805 -v 0.009310 0.440610 0.273410 -v 0.009310 0.508845 0.323570 -v -0.038265 0.357970 0.237595 -v 0.009310 0.357870 0.255340 -v 0.009310 0.274935 0.272485 -v -0.038265 0.267805 0.256235 -v -0.038265 0.401560 0.675835 -v 0.009310 0.397965 0.658455 -v 0.009310 0.475525 0.624440 -v -0.038265 0.485875 0.638855 -v -0.038265 0.447920 0.257240 -v -0.038265 0.522100 0.311770 -v 0.009310 0.206140 0.321880 -v -0.038265 0.193020 0.309935 -v -0.038265 0.309490 0.675320 -v -0.038265 0.225590 0.637405 -v 0.009310 0.236100 0.623105 -v 0.009310 0.313275 0.657980 -v -0.038265 0.567690 0.391760 -v -0.038880 0.577395 0.478745 -v 0.009310 0.559165 0.481425 -v 0.009310 0.550780 0.397150 -v -0.038265 0.164370 0.568640 -v -0.038290 0.142720 0.480880 -v 0.009290 0.160380 0.479125 -v 0.009310 0.179785 0.559850 -v 0.009310 0.163385 0.394985 -v -0.038265 0.146540 0.389410 -v 0.223945 0.360335 0.270950 -v 0.223945 0.698555 0.270950 -v -0.698995 0.677045 0.280935 -v -0.713420 0.677045 0.281275 -v -0.724000 0.677045 0.270200 -v -0.698260 0.677045 0.270165 -v -0.683835 0.677045 0.280935 -v -0.674535 0.547860 0.570780 -v -0.674535 0.576800 0.483375 -v -0.706810 0.541595 0.479475 -v -0.706810 0.517285 0.552895 -v -0.038265 0.547860 0.570780 -v 0.009310 0.532545 0.561820 -v -0.674535 0.267805 0.256235 -v -0.674535 0.193020 0.309935 -v -0.674535 0.146540 0.389410 -v -0.674535 0.522100 0.311770 -v -0.706810 0.495645 0.335325 -v -0.706810 0.533940 0.402520 -v -0.674535 0.567690 0.391760 -v -0.674535 0.136405 0.480920 -v 0.022125 0.144980 -0.017650 -v 0.013935 0.124255 0.035585 -v -0.029825 0.138110 -0.017455 -v -0.724000 0.702755 0.270200 -v -0.723905 0.702565 0.214465 -v -0.723905 0.677045 0.214465 -v -0.698995 0.702565 0.214450 -v -0.713420 0.702755 0.281275 -v -0.698995 0.702755 0.280935 -v -0.682190 0.702500 0.270165 -v -0.698995 0.721865 0.270165 -v -0.698995 0.721865 0.214450 -v -0.682190 0.702500 0.214450 -v 0.105790 0.058300 0.543285 -v 0.034515 0.015045 0.557815 -v -0.742550 0.562905 0.253960 -v -0.742560 0.562905 0.230200 -v -0.783090 0.623565 0.230200 -v -0.783085 0.623565 0.253960 -v 0.394655 0.634610 0.354165 -v 1.377795 0.573070 0.354165 -v 1.377795 0.573070 0.123000 -v 0.399265 0.635145 0.122820 -v 0.394655 0.634610 0.180790 -v 4.366700 0.224605 0.384260 -v 4.344025 0.224605 0.384260 -v 0.062220 -0.008880 -0.049130 -v 0.075095 -0.006435 -0.066495 -v 0.083035 -0.004925 -0.047555 -v -0.083095 -0.075645 0.547500 -v 0.017190 -0.132010 0.541425 -v -0.051460 0.128785 0.417480 -v -0.716920 0.128785 0.417480 -v -0.716930 0.127980 0.249725 -v 0.091810 0.038815 -0.066800 -v 0.069300 0.050125 -0.068585 -v 0.074560 0.050670 -0.038160 -v 0.089745 0.043035 -0.047130 -v -0.716935 0.158490 0.270220 -v -0.717170 0.245295 0.270220 -v -0.717380 0.360290 0.271120 -v -0.717180 0.245220 0.214290 -v -0.716940 0.158490 0.214290 -v -0.861115 0.676775 0.256250 -v -0.717695 0.360455 0.253960 -v -0.717705 0.360455 0.230200 -v -0.716925 0.175790 0.346400 -v -0.051465 0.175790 0.346400 -v -0.052340 0.233305 0.279300 -v -0.051280 0.245295 0.270220 -v -0.717110 0.237030 0.281965 -v -0.697150 0.677045 0.214450 -v -0.713420 0.702565 0.203890 -v -0.713420 0.677045 0.203890 -v -0.004435 0.056310 0.555570 -v 0.047670 0.100545 0.541920 -v -0.891370 0.677045 0.270165 -v -0.890945 0.689795 0.270165 -v -0.890945 0.689795 0.214450 -v -0.891370 0.677045 0.214450 -v -0.860045 0.718915 0.214450 -v -0.883215 0.702540 0.214450 -v -0.883215 0.702540 0.270165 -v -0.860045 0.718915 0.270165 -v -0.700370 0.358125 0.217390 -v -0.658910 0.677120 0.217390 -v -0.675905 0.679330 0.213285 -v -0.692260 0.491930 0.180125 -v -0.675260 0.489720 0.184230 -v -0.676150 0.679330 0.270950 -v -0.657940 0.676975 0.267500 -v -0.699155 0.357985 0.267500 -v -0.695210 0.490040 0.303080 -v -0.676310 0.487690 0.299625 -v -0.042160 -0.122055 0.535200 -v -0.044955 -0.148585 0.461395 -v 0.020830 -0.162530 0.469570 -v -0.109810 -0.098565 0.467555 -v -0.132735 -0.029505 0.463085 -v -0.107600 -0.018335 0.540380 -v 0.084295 -0.144885 0.464450 -v 0.082655 -0.113985 0.537665 -v 0.127325 0.080690 0.469475 -v 0.074595 0.120555 0.464835 -v -0.045195 -0.142250 0.014370 -v -0.092650 -0.106265 0.015875 -v -0.046835 -0.109730 -0.051490 -v -0.022600 -0.129390 -0.036905 -v 0.165000 -0.080000 0.496370 -v 0.008400 -0.084435 0.058995 -v -0.048585 -0.117430 0.039105 -v 0.017185 -0.140925 0.032915 -v 0.012790 0.126650 0.012390 -v -0.027525 0.108890 0.031370 -v 0.031225 0.112710 0.033820 -v -0.081140 -0.028710 0.050880 -v 0.011070 -0.154800 0.012905 -v -0.023860 0.057650 0.055195 -v -0.029825 -0.013960 0.062415 -v 0.046220 -0.001865 -0.044115 -v 0.057805 -0.004260 -0.068795 -v 0.054910 0.051040 -0.044760 -v 0.040370 0.043125 -0.064540 -v -0.115375 -0.028465 0.032790 -v -0.077155 0.067170 0.037230 -v -0.075100 0.095790 0.012170 -v -0.110705 0.052065 0.015005 -v -0.026435 0.121110 0.010285 -v -0.126255 0.000025 0.011670 -v -0.121605 -0.053240 0.011495 -v 0.067885 -0.006920 0.564280 -v 0.096310 0.021415 0.562155 -v 0.047430 0.042840 0.564145 -v 0.058595 -0.007895 0.532095 -v 0.081965 -0.003960 0.534465 -v 0.095440 0.027620 0.528840 -v 0.076485 0.053900 0.558955 -v 0.063585 0.015610 0.514290 -v 0.033575 0.019305 0.533080 -v 0.056775 0.049130 0.526295 -v -0.089910 0.027935 -0.051705 -v -0.099590 -0.027295 -0.050280 -v -0.047110 0.080820 -0.051815 -v -0.012195 0.104335 -0.035080 -v -0.079380 -0.071070 -0.053115 -v 0.011680 0.096930 -0.054090 -v 0.077890 0.079595 -0.052740 -v 0.083090 -0.003305 -0.063910 -v -0.020105 0.017355 -0.066385 -v -0.049820 -0.053265 -0.063240 -v 0.056600 0.097665 -0.039615 -v 0.122165 0.025410 -0.048155 -v 0.103800 0.094875 0.009540 -v 0.140130 0.049040 0.013925 -v 0.127035 -0.028720 -0.050765 -v 0.012995 -0.126275 -0.052480 -v 0.057135 -0.121480 -0.047145 -v 0.153610 -0.002760 0.018925 -v 0.149225 -0.053515 0.015770 -v 0.064685 -0.144675 0.017260 -v 0.114810 -0.114415 0.010715 -v 0.118140 -0.073335 -0.037080 -v 0.053755 0.121155 0.011670 -v 0.096240 -0.105665 0.037065 -v 0.094350 0.090950 0.029775 -v 0.106560 -0.050570 0.049655 -v 0.067275 0.078170 0.045920 -v 0.119515 0.027970 0.041535 -v 0.068255 0.018555 0.059225 -v 0.038160 0.028190 -0.068445 -v 0.076265 0.014935 -0.074005 -v 0.040105 0.037445 -0.039210 -v 0.036620 0.015810 -0.041265 -v 0.006360 0.161195 0.432780 -v -0.029825 0.148105 0.431405 -v -0.034130 0.144220 0.504610 -v 0.006360 0.169765 0.514325 -v 3.226815 0.175170 0.009085 -v 3.231205 0.371465 -0.098720 -v 3.230565 0.283955 -0.082410 -v 3.229265 0.223440 -0.024150 -v 3.227125 0.196510 0.024425 -v 3.226570 0.179515 0.049680 -v 3.226265 0.158175 0.034340 -v -0.036935 0.097550 0.539645 -v -0.089940 0.040290 0.541675 -v 0.040000 -0.067210 -0.065120 -v -0.098195 0.082935 0.466185 -v -0.126605 0.030885 0.467240 -v 0.089175 -0.095900 -0.052720 -v -0.071165 -0.057775 0.427140 -v 0.031670 -0.122870 0.433040 -v 0.152155 -0.013960 0.035585 -v 0.141630 0.049655 0.032785 -v 0.161215 0.047365 -0.015720 -v 0.173470 -0.013960 -0.016090 -v 0.096075 0.028790 -0.041545 -v 0.095460 0.012925 -0.064950 -v 0.013935 0.018470 0.063785 -v 0.046365 -0.013960 0.063785 -v 0.013935 -0.046395 0.063785 -v 0.006360 0.187350 0.352290 -v 0.006360 0.243980 0.289390 -v -0.029825 0.236245 0.278745 -v -0.029825 0.175950 0.345710 -v -0.029825 0.103585 0.042215 -v 0.013935 0.078395 0.053885 -v -0.029825 0.049655 0.057165 -v -0.029825 -0.080485 0.056520 -v 0.043595 -0.080485 0.058225 -v 0.392600 0.191195 0.132015 -v 0.392600 0.246590 0.193540 -v 0.392600 0.293860 0.214585 -v 0.392600 0.293860 0.266340 -v 0.392600 0.246590 0.287385 -v 0.392600 0.188865 0.348910 -v 0.392600 0.163230 0.427650 -v 0.392600 0.165610 0.053280 -v 0.046685 -0.086170 0.435155 -v -0.010530 0.081935 0.440555 -v -0.023315 -0.080485 0.439965 -v 0.109030 -0.013960 0.444065 -v 0.173595 0.019310 0.510530 -v 0.041700 0.081135 0.445155 -v 0.118910 0.106770 0.506135 -v 0.158440 -0.080485 -0.015730 -v 0.111670 0.103585 -0.017175 -v 0.141630 -0.077580 0.032785 -v 0.058915 0.103585 0.042065 -v 0.064805 0.137095 -0.017570 -v 0.099260 0.049655 0.049685 -v 0.104515 -0.046395 0.052825 -v 0.127730 0.655065 0.037265 -v -0.676170 0.659380 0.037265 -v -0.676170 0.659380 0.443465 -v 0.127730 0.659380 0.443465 -v 0.395250 0.651810 0.355845 -v 0.399340 0.652125 0.122105 -v -0.716920 0.128785 0.067010 -v -0.051460 0.128785 0.067010 -v -0.676170 0.567025 0.484450 -v 0.006360 0.560605 0.463385 -v 0.395250 0.538505 0.355845 -v 0.395250 0.554025 0.297105 -v 0.395410 0.528770 0.265530 -v 0.395645 0.473865 0.265530 -v 0.395695 0.402130 0.270680 -v 0.395695 0.388815 0.270680 -v 0.395695 0.388815 0.230305 -v 0.395695 0.402130 0.230305 -v 0.396090 0.474150 0.206365 -v 0.398025 0.530440 0.206365 -v 0.399340 0.554025 0.175890 -v 0.398660 0.541175 0.122985 -v -0.051070 0.360290 0.271120 -v -0.693460 0.387345 0.242660 -v -0.685305 0.682850 0.252920 -v -0.861025 0.676685 0.229980 -v 0.016310 0.143005 0.508820 -v 0.008555 0.129750 0.249555 -v 4.364730 0.198530 0.247425 -v 4.364820 0.195775 0.411995 -v -0.048720 0.128825 0.249725 -v 4.170735 0.244990 0.138645 -v 4.365470 0.494620 0.354165 -v 4.365245 0.530470 0.354165 -v -0.029825 0.148105 0.050470 -v -0.029825 0.175950 0.136170 -v -0.029825 0.236245 0.203135 -v -0.029825 0.293860 0.228785 -v 0.006360 0.293860 0.214695 -v 4.180090 0.354655 0.533310 -v -0.716920 0.150090 0.067010 -v -0.716935 0.181195 0.134485 -v -0.051475 0.168595 0.139885 -v -0.051460 0.147525 0.067010 -v -0.051460 0.235955 0.206530 -v 3.230145 0.447215 0.573220 -v 3.228340 0.205560 0.446480 -v 3.229805 0.223440 0.497640 -v 3.230200 0.283955 0.555925 -v 3.229870 0.371465 0.572260 -v 3.228485 0.437820 0.550380 -v 2.739945 0.447215 0.588465 -v 2.738815 0.437820 0.565610 -v 4.180090 0.224605 0.384260 -v -0.051460 0.149245 0.417480 -v 4.364820 0.206515 0.411995 -v 4.197920 0.217640 0.317010 -v 4.197920 0.392900 0.242230 -v 4.197920 0.454040 0.270600 -v 4.197920 0.263515 0.267630 -v 4.197920 0.325510 0.241180 -v -0.674535 0.164370 0.568640 -v -0.706810 0.195145 0.551100 -v -0.706810 0.171655 0.477415 -v -0.674535 0.447920 0.257240 -v -0.706810 0.433330 0.289515 -v -0.706810 0.180170 0.400545 -v -0.706810 0.219210 0.333780 -v -0.674535 0.357970 0.237595 -v -0.706810 0.357770 0.273015 -v -0.674535 0.309490 0.675320 -v -0.706810 0.317050 0.640715 -v -0.706810 0.246570 0.608860 -v -0.674535 0.225590 0.637405 -v -0.706810 0.282035 0.288675 -v -0.674535 0.401560 0.675835 -v -0.674535 0.485875 0.638855 -v -0.706810 0.465215 0.610080 -v -0.706810 0.394385 0.641145 -v 4.362695 0.206515 0.061420 -v 4.364820 0.195775 0.061525 -v -0.029825 0.293860 0.253090 -v 0.006360 0.293860 0.267180 -v 0.093045 0.010040 -0.040715 -v -0.040725 0.122895 0.469605 -v 0.006360 0.168045 -0.016085 -v -0.029825 0.148315 -0.016085 -v -0.676170 0.577715 0.006185 -v -0.676170 0.414000 0.240940 -v -0.676170 0.492930 0.276080 -v -0.676170 0.533920 0.356505 -v -0.676170 0.562190 0.432620 -v -0.716920 0.149245 0.417480 -v 2.739510 0.371465 0.587515 -v 2.739465 0.283955 0.571190 -v 2.738320 0.223440 0.512930 -v 2.738420 0.196510 0.464305 -v 4.362570 0.484075 0.122225 -v 4.365245 0.530470 0.123000 -v 0.005790 0.565215 0.030850 -v -0.038880 0.577715 0.006185 -v 4.365245 0.491635 0.317220 -v 4.365245 0.450360 0.273505 -v 4.364820 0.330590 0.245525 -v 4.364820 0.268900 0.269060 -v 4.364820 0.224715 0.313830 -v 4.364820 0.202870 0.373835 -v 4.362485 0.204060 0.095365 -v 4.359380 0.227565 0.159980 -v 4.359380 0.270300 0.203860 -v 4.359400 0.331630 0.224605 -v 4.362570 0.495165 0.155740 -v -0.051285 0.245220 0.214290 -v -0.051080 0.360220 0.213140 -v 4.170735 0.359620 -0.061350 -v 4.170735 0.305525 -0.049675 -v 4.340880 0.305525 -0.049675 -v 4.340880 0.359620 -0.061350 -v 4.170735 0.260855 -0.017005 -v 4.340880 0.260855 -0.017005 -v 4.170735 0.413790 -0.050015 -v 4.340880 0.413790 -0.050015 -v 4.170735 0.486485 0.030210 -v 4.170735 0.458665 -0.017630 -v 4.340880 0.458665 -0.017630 -v 4.340880 0.486485 0.030210 -v 4.340880 0.492445 0.085230 -v 4.170735 0.492445 0.085230 -v 4.170735 0.388120 0.201830 -v 4.170735 0.332780 0.202005 -v 4.340880 0.332780 0.202005 -v 4.340880 0.388120 0.201830 -v 4.170735 0.282155 0.179655 -v 4.340880 0.282155 0.179655 -v 4.340880 0.227725 0.086070 -v 4.170735 0.227725 0.086070 -v 4.170735 0.233335 0.031010 -v 4.340880 0.233335 0.031010 -v 4.170735 0.475510 0.137920 -v 4.340880 0.475510 0.137920 -v 4.170735 0.438610 0.179165 -v 4.340880 0.438610 0.179165 -v 4.364625 0.332780 0.202005 -v 4.364625 0.282155 0.179655 -v 4.364625 0.388120 0.201830 -v 4.364625 0.438610 0.179165 -v 4.364625 0.475510 0.137920 -v 4.364625 0.492445 0.085230 -v 4.364625 0.486485 0.030210 -v 4.364625 0.458665 -0.017630 -v 4.364625 0.413790 -0.050015 -v 4.364625 0.359620 -0.061350 -v 4.364625 0.305525 -0.049675 -v 4.364625 0.260855 -0.017005 -v 4.364625 0.233335 0.031010 -v 4.364625 0.227725 0.086070 -v 4.340880 0.244990 0.138645 -v 4.364625 0.244990 0.138645 -v 4.170735 0.244990 0.138645 -vt 0.296448 0.102843 -vt 0.381104 0.047947 -vt 0.035834 0.368077 -vt 0.260019 0.614243 -vt 0.318792 0.625190 -vt 0.275800 0.672218 -vt 0.064766 0.305619 -vt 0.214319 0.161856 -vt 0.375342 0.030583 -vt 0.007698 0.338314 -vt 0.029408 0.318256 -vt 0.043335 0.310187 -vt 0.318905 0.667648 -vt 0.252574 0.694311 -vt 0.236882 0.637031 -vt 0.150287 0.628071 -vt 0.161490 0.706348 -vt 0.155366 0.668298 -vt 0.158302 0.652484 -vt 0.161554 0.687117 -vt 0.159356 0.670738 -vt 0.177046 0.635712 -vt 0.113858 0.672367 -vt 0.172255 0.628996 -vt 0.099369 0.633504 -vt 0.170505 0.620102 -vt 0.100245 0.588370 -vt 0.172087 0.610476 -vt 0.193985 0.511804 -vt 0.184343 0.596378 -vt 0.152646 0.515062 -vt 0.206820 0.627110 -vt 0.277410 0.625302 -vt 0.267428 0.666574 -vt 0.192657 0.639020 -vt 0.171748 0.713811 -vt 0.184184 0.639184 -vt 0.199912 0.595309 -vt 0.231216 0.519947 -vt 0.209484 0.608292 -vt 0.277410 0.583179 -vt 0.201008 0.635047 -vt 0.169178 0.452166 -vt 0.078800 0.768428 -vt 0.075894 0.452870 -vt 0.064099 0.767980 -vt 0.061196 0.452764 -vt 0.323553 0.069332 -vt 0.329659 0.048130 -vt 0.388490 0.045773 -vt 0.180052 0.766554 -vt 0.293930 0.450084 -vt 0.291558 0.766986 -vt 0.365394 0.036567 -vt 0.393169 0.043399 -vt 0.379297 0.054638 -vt 0.379304 0.071635 -vt 0.371065 0.062010 -vt 0.668046 0.738449 -vt 0.668026 0.728691 -vt 0.697871 0.729790 -vt 0.325815 0.430384 -vt 0.338798 0.430384 -vt 0.336684 0.785453 -vt 0.343554 0.027453 -vt 0.375485 0.025070 -vt 0.355937 0.047164 -vt 0.281354 0.120599 -vt 0.298249 0.138538 -vt 0.063679 0.307987 -vt 0.047021 0.304828 -vt 0.197459 0.172409 -vt 0.116186 0.647469 -vt 0.167094 0.533190 -vt 0.144756 0.611156 -vt 0.083961 0.329606 -vt 0.085997 0.346730 -vt 0.067528 0.358456 -vt 0.073363 0.319224 -vt 0.058636 0.333248 -vt 0.211458 0.187373 -vt 0.005853 0.351113 -vt 0.046154 0.345112 -vt 0.037898 0.385539 -vt 0.725084 0.164647 -vt 0.723553 0.158385 -vt 0.727062 0.163206 -vt 0.711602 0.183175 -vt 0.715876 0.183996 -vt 0.710769 0.185812 -vt 0.739821 0.127397 -vt 0.753782 0.142282 -vt 0.706307 0.182228 -vt 0.698730 0.216346 -vt 0.685786 0.204282 -vt 0.718775 0.155720 -vt 0.715259 0.221941 -vt 0.713491 0.155905 -vt 0.722526 0.120807 -vt 0.715955 0.186917 -vt 0.733490 0.219325 -vt 0.708645 0.158709 -vt 0.704953 0.122675 -vt 0.721039 0.185231 -vt 0.750106 0.207316 -vt 0.705023 0.163741 -vt 0.689598 0.132342 -vt 0.727836 0.175925 -vt 0.725106 0.181335 -vt 0.703336 0.169962 -vt 0.678716 0.148426 -vt 0.728637 0.169479 -vt 0.760042 0.187005 -vt 0.703689 0.176461 -vt 0.674296 0.168043 -vt 0.761256 0.163594 -vt 0.681265 0.208398 -vt 0.676971 0.187712 -vt 0.743470 0.121033 -vt 0.695706 0.222422 -vt 0.723381 0.112937 -vt 0.714770 0.229775 -vt 0.702885 0.115790 -vt 0.736080 0.226501 -vt 0.685430 0.127255 -vt 0.755277 0.212407 -vt 0.673365 0.145709 -vt 0.766255 0.188961 -vt 0.751196 0.205325 -vt 0.760981 0.185314 -vt 0.755725 0.210130 -vt 0.767870 0.162564 -vt 0.483959 0.110852 -vt 0.969960 0.121605 -vt 0.483787 0.118039 -vt 0.484212 0.175076 -vt 0.969565 0.167729 -vt 0.969630 0.173987 -vt 0.484952 0.119474 -vt 0.970126 0.130178 -vt 0.484753 0.126396 -vt 0.484329 0.181867 -vt 0.969728 0.180245 -vt 0.969960 0.136435 -vt 0.484458 0.133149 -vt 0.484471 0.188497 -vt 0.969847 0.186503 -vt 0.969796 0.142694 -vt 0.484387 0.139652 -vt 0.484622 0.195187 -vt 0.969975 0.192760 -vt 0.969665 0.148951 -vt 0.484246 0.146449 -vt 0.484770 0.202114 -vt 0.970101 0.199017 -vt 0.969579 0.155210 -vt 0.484148 0.153512 -vt 0.484907 0.209290 -vt 0.970219 0.205274 -vt 0.969540 0.161470 -vt 0.484103 0.160766 -vt 0.970306 0.211532 -vt 0.485009 0.216570 -vt 0.759437 0.138254 -vt 0.043825 0.574278 -vt 0.066391 0.622018 -vt 0.038510 0.624672 -vt 0.178363 0.485327 -vt 0.132179 0.524952 -vt 0.119564 0.496854 -vt 0.205193 0.738509 -vt 0.240940 0.692312 -vt 0.258566 0.716764 -vt 0.236791 0.498723 -vt 0.260084 0.551333 -vt 0.223314 0.526436 -vt 0.094770 0.548661 -vt 0.072289 0.528583 -vt 0.145225 0.738509 -vt 0.109974 0.690139 -vt 0.152169 0.707241 -vt 0.310309 0.578357 -vt 0.285685 0.625051 -vt 0.282244 0.585959 -vt 0.079910 0.659637 -vt 0.053992 0.673528 -vt 0.297153 0.677889 -vt 0.177850 0.517458 -vt 0.071684 0.582983 -vt 0.198662 0.708515 -vt 0.283142 0.531868 -vt 0.091276 0.714321 -vt 0.484133 0.168018 -vt 0.920731 0.597940 -vt 0.903938 0.543036 -vt 0.942946 0.580578 -vt 0.905043 0.780290 -vt 0.853566 0.769454 -vt 0.891577 0.755450 -vt 0.855245 0.526323 -vt 0.812701 0.559133 -vt 0.804567 0.531906 -vt 0.718087 0.662365 -vt 0.754338 0.618031 -vt 0.746375 0.662248 -vt 0.943559 0.742509 -vt 0.937649 0.684279 -vt 0.964783 0.690499 -vt 0.754744 0.706425 -vt 0.760609 0.764453 -vt 0.729498 0.718611 -vt 0.729002 0.606054 -vt 0.777975 0.581612 -vt 0.937145 0.639146 -vt 0.964783 0.632964 -vt 0.813680 0.764929 -vt 0.856535 0.797414 -vt 0.805776 0.792238 -vt 0.852526 0.554309 -vt 0.921362 0.725386 -vt 0.759688 0.560014 -vt 0.271796 0.663565 -vt 0.313734 0.629211 -vt 0.772519 0.110747 -vt 0.709912 0.117729 -vt 0.709912 0.110747 -vt 0.772519 0.117729 -vt 0.709912 0.124711 -vt 0.778726 0.742693 -vt 0.772519 0.124711 -vt 0.709912 0.131692 -vt 0.772519 0.131692 -vt 0.709912 0.138674 -vt 0.772519 0.138674 -vt 0.709912 0.145656 -vt 0.772519 0.145656 -vt 0.709912 0.152638 -vt 0.772519 0.152638 -vt 0.709912 0.159619 -vt 0.772519 0.159619 -vt 0.709912 0.166601 -vt 0.772519 0.166601 -vt 0.709912 0.173583 -vt 0.709912 0.180565 -vt 0.772519 0.173583 -vt 0.772519 0.180565 -vt 0.709912 0.187547 -vt 0.772519 0.187547 -vt 0.709912 0.194528 -vt 0.709912 0.201510 -vt 0.772519 0.194528 -vt 0.772519 0.201510 -vt 0.709912 0.208492 -vt 0.772519 0.208492 -vt 0.581093 0.645132 -vt 0.603781 0.639512 -vt 0.608740 0.661388 -vt 0.726981 0.174407 -vt 0.723067 0.177597 -vt 0.725165 0.173608 -vt 0.727752 0.169119 -vt 0.725819 0.169174 -vt 0.726656 0.164150 -vt 0.724946 0.165095 -vt 0.723836 0.160349 -vt 0.722687 0.162043 -vt 0.719758 0.158341 -vt 0.719376 0.160520 -vt 0.715092 0.158507 -vt 0.715527 0.160721 -vt 0.710689 0.160853 -vt 0.711840 0.162704 -vt 0.707359 0.164961 -vt 0.705935 0.175548 -vt 0.707675 0.170501 -vt 0.707942 0.174918 -vt 0.705716 0.170151 -vt 0.709047 0.166164 -vt 0.725435 0.158006 -vt 0.728801 0.162746 -vt 0.762432 0.162790 -vt 0.730144 0.168771 -vt 0.755795 0.142495 -vt 0.706247 0.182073 -vt 0.698598 0.218101 -vt 0.684639 0.205881 -vt 0.720407 0.155568 -vt 0.742762 0.127448 -vt 0.715944 0.186699 -vt 0.710628 0.185394 -vt 0.484476 0.179366 -vt 0.970192 0.175478 -vt 0.970245 0.181740 -vt 0.177028 0.485893 -vt 0.222095 0.526742 -vt 0.235358 0.499123 -vt 0.144451 0.739355 -vt 0.109116 0.691060 -vt 0.090460 0.715285 -vt 0.118256 0.497530 -vt 0.093555 0.549427 -vt 0.130944 0.525611 -vt 0.258511 0.551039 -vt 0.281310 0.531966 -vt 0.257165 0.717852 -vt 0.197884 0.709488 -vt 0.204249 0.739355 -vt 0.037408 0.625657 -vt 0.070523 0.583838 -vt 0.042609 0.575184 -vt 0.311181 0.630042 -vt 0.269794 0.664861 -vt 0.294508 0.679219 -vt 0.176623 0.517982 -vt 0.280183 0.585816 -vt 0.307659 0.577845 -vt 0.151381 0.708137 -vt 0.071004 0.529375 -vt 0.272542 0.756816 -vt 0.319458 0.454369 -vt 0.319458 0.756816 -vt 0.195505 0.728782 -vt 0.158795 0.772174 -vt 0.164003 0.723040 -vt 0.854491 0.798991 -vt 0.889910 0.757267 -vt 0.903185 0.782258 -vt 0.053035 0.674542 -vt 0.065319 0.622936 -vt 0.772519 0.110747 -vt 0.709912 0.117729 -vt 0.709912 0.110747 -vt 0.772519 0.117729 -vt 0.709912 0.124711 -vt 0.777220 0.743735 -vt 0.803814 0.793429 -vt 0.758935 0.765339 -vt 0.772519 0.131692 -vt 0.709912 0.131692 -vt 0.055645 0.560553 -vt 0.085835 0.571116 -vt 0.052945 0.594360 -vt 0.195487 0.652780 -vt 0.126933 0.516508 -vt 0.195505 0.516517 -vt 0.133283 0.633683 -vt 0.125966 0.664022 -vt 0.091024 0.690109 -vt 0.262609 0.630973 -vt 0.152787 0.575424 -vt 0.262609 0.575424 -vt 0.225552 0.202243 -vt 0.199418 0.586336 -vt 0.819994 0.746843 -vt 0.763814 0.730207 -vt 0.819994 0.730196 -vt 0.163478 0.695413 -vt 0.163446 0.561456 -vt 0.173352 0.560832 -vt 0.709548 0.178646 -vt 0.708231 0.179960 -vt 0.697912 0.746604 -vt 0.886978 0.568216 -vt 0.907767 0.564368 -vt 0.911018 0.585272 -vt 0.273287 0.553544 -vt 0.232715 0.507377 -vt 0.181062 0.777784 -vt 0.180989 0.432590 -vt 0.211081 0.695672 -vt 0.935628 0.547777 -vt 0.928335 0.534586 -vt 0.957061 0.514718 -vt 0.953673 0.541275 -vt 0.264483 0.609153 -vt 0.214574 0.720008 -vt 0.215429 0.609151 -vt 0.820524 0.552760 -vt 0.816236 0.564136 -vt 0.818580 0.604308 -vt 0.977054 0.746836 -vt 0.175301 0.801976 -vt 0.161807 0.439493 -vt 0.174456 0.439519 -vt 0.249368 0.572381 -vt 0.157624 0.676127 -vt 0.157559 0.572357 -vt 0.252242 0.555075 -vt 0.262949 0.582689 -vt 0.250389 0.588987 -vt 0.195569 0.516508 -vt 0.325918 0.542286 -vt 0.222901 0.642861 -vt 0.267417 0.588326 -vt 0.271105 0.564524 -vt 0.171193 0.685318 -vt 0.151737 0.608220 -vt 0.169451 0.570217 -vt 0.127832 0.649666 -vt 0.152545 0.627205 -vt 0.172283 0.627297 -vt 0.127832 0.675813 -vt 0.216734 0.725573 -vt 0.127832 0.725573 -vt 0.105909 0.462751 -vt 0.021077 0.782399 -vt 0.021077 0.462751 -vt 0.065793 0.457768 -vt 0.084619 0.458339 -vt 0.108210 0.782802 -vt 0.234271 0.474384 -vt 0.298671 0.450845 -vt 0.298671 0.474384 -vt 0.881052 0.748887 -vt 0.894087 0.499407 -vt 0.894087 0.786407 -vt 0.827150 0.688128 -vt 0.883392 0.752398 -vt 0.896428 0.789917 -vt 0.873114 0.583614 -vt 0.824810 0.684617 -vt 0.900819 0.796593 -vt 0.886821 0.542960 -vt 0.900819 0.504088 -vt 0.830423 0.604345 -vt 0.853632 0.607711 -vt 0.235549 0.782542 -vt 0.194646 0.438622 -vt 0.227326 0.431587 -vt 0.164786 0.785449 -vt 0.162663 0.430379 -vt 0.175655 0.430379 -vt 0.242453 0.765105 -vt 0.263009 0.523159 -vt 0.309742 0.542637 -vt 0.264154 0.457185 -vt 0.298591 0.506679 -vt 0.196716 0.498795 -vt 0.200462 0.439717 -vt 0.320799 0.580957 -vt 0.278448 0.589160 -vt 0.116297 0.654629 -vt 0.186553 0.635602 -vt 0.165229 0.682820 -vt 0.105918 0.485981 -vt 0.134656 0.504380 -vt 0.136066 0.481351 -vt 0.309429 0.714666 -vt 0.301416 0.537221 -vt 0.329610 0.511479 -vt 0.300178 0.485482 -vt 0.321744 0.702481 -vt 0.330347 0.665420 -vt 0.288229 0.669719 -vt 0.331049 0.569269 -vt 0.355610 0.485981 -vt 0.314563 0.455848 -vt 0.314762 0.619629 -vt 0.308023 0.582873 -vt 0.877023 0.547152 -vt 0.900329 0.554458 -vt 0.932482 0.511002 -vt 0.914183 0.524699 -vt 0.347823 0.569516 -vt 0.339103 0.628659 -vt 0.362347 0.651411 -vt 0.361841 0.618071 -vt 0.358811 0.683852 -vt 0.364007 0.586030 -vt 0.364503 0.554248 -vt 0.953081 0.541991 -vt 0.929418 0.567271 -vt 0.907393 0.539597 -vt 0.950784 0.536249 -vt 0.934390 0.516693 -vt 0.965839 0.506925 -vt 0.960858 0.575264 -vt 0.928899 0.592619 -vt 0.900072 0.564677 -vt 0.925604 0.545762 -vt 0.898703 0.524833 -vt 0.942330 0.573348 -vt 0.902608 0.570019 -vt 0.965839 0.575300 -vt 0.877278 0.537666 -vt 0.359814 0.520250 -vt 0.105918 0.586040 -vt 0.122763 0.606554 -vt 0.122160 0.568036 -vt 0.105918 0.651411 -vt 0.134501 0.651986 -vt 0.116857 0.686917 -vt 0.128578 0.540344 -vt 0.105918 0.519517 -vt 0.179299 0.610462 -vt 0.206268 0.646985 -vt 0.195687 0.585356 -vt 0.105918 0.554738 -vt 0.158694 0.599897 -vt 0.147941 0.550950 -vt 0.165834 0.671052 -vt 0.668850 0.167746 -vt 0.179299 0.594155 -vt 0.210315 0.672096 -vt 0.221813 0.605981 -vt 0.238193 0.651293 -vt 0.241063 0.616632 -vt 0.219795 0.566854 -vt 0.183376 0.447393 -vt 0.166142 0.483401 -vt 0.203060 0.490554 -vt 0.140665 0.679871 -vt 0.175223 0.708304 -vt 0.175223 0.447393 -vt 0.243353 0.585256 -vt 0.241335 0.554039 -vt 0.237966 0.475216 -vt 0.232297 0.447393 -vt 0.207928 0.489377 -vt 0.240476 0.513146 -vt 0.251532 0.481330 -vt 0.900465 0.507474 -vt 0.921065 0.518190 -vt 0.224365 0.534698 -vt 0.247604 0.683125 -vt 0.265852 0.521012 -vt 0.259271 0.647142 -vt 0.270424 0.558400 -vt 0.279577 0.636261 -vt 0.263947 0.602862 -vt 0.285541 0.597356 -vt 0.259965 0.475042 -vt 0.105918 0.683801 -vt 0.109995 0.708304 -vt 0.900607 0.554110 -vt 0.906244 0.530861 -vt 0.918100 0.552857 -vt 0.903498 0.502883 -vt 0.877735 0.522424 -vt 0.140284 0.563354 -vt 0.147562 0.537185 -vt 0.157422 0.547084 -vt 0.352558 0.651996 -vt 0.351599 0.694222 -vt 0.264200 0.103081 -vt 0.143507 0.615307 -vt 0.167506 0.692768 -vt 0.114162 0.579622 -vt 0.138423 0.558381 -vt 0.163878 0.517052 -vt 0.182157 0.540271 -vt 0.101175 0.495838 -vt 0.144662 0.457293 -vt 0.211297 0.516323 -vt 0.322901 0.436996 -vt 0.352558 0.538438 -vt 0.891052 0.677793 -vt 0.917004 0.511202 -vt 0.917004 0.792988 -vt 0.878415 0.705410 -vt 0.893073 0.634076 -vt 0.920336 0.516840 -vt 0.920336 0.798718 -vt 0.846158 0.681812 -vt 0.275288 0.572357 -vt 0.275288 0.624832 -vt 0.249398 0.594995 -vt 0.209176 0.709866 -vt 0.249368 0.676127 -vt 0.167421 0.491426 -vt 0.124294 0.471366 -vt 0.162808 0.460306 -vt 0.957061 0.564870 -vt 0.927904 0.563325 -vt 0.150752 0.576637 -vt 0.190834 0.577182 -vt 0.170151 0.604581 -vt 0.128181 0.582143 -vt 0.109668 0.601489 -vt 0.117887 0.576989 -vt 0.093949 0.599522 -vt 0.114144 0.574560 -vt 0.129560 0.603106 -vt 0.212519 0.604928 -vt 0.212519 0.558390 -vt 0.231646 0.613041 -vt 0.227152 0.648851 -vt 0.201506 0.617369 -vt 0.139457 0.483153 -vt 0.077627 0.552409 -vt 0.101353 0.474052 -vt 0.165272 0.528563 -vt 0.207887 0.557441 -vt 0.120923 0.575474 -vt 0.170479 0.601100 -vt 0.206597 0.460159 -vt 0.086526 0.503205 -vt 0.132175 0.499398 -vt 0.206821 0.490684 -vt 0.100525 0.547157 -vt 0.063972 0.533756 -vt 0.132613 0.525187 -vt 0.190409 0.519748 -vt 0.170804 0.556982 -vt 0.121105 0.677240 -vt 0.205558 0.648994 -vt 0.131040 0.698669 -vt 0.120791 0.604036 -vt 0.195827 0.623937 -vt 0.207649 0.610159 -vt 0.212359 0.602400 -vt 0.287078 0.712267 -vt 0.252897 0.802356 -vt 0.128758 0.712271 -vt 0.243796 0.777942 -vt 0.211881 0.741978 -vt 0.212506 0.605245 -vt 0.331206 0.533544 -vt 0.331202 0.809653 -vt 0.250386 0.590767 -vt 0.225808 0.675074 -vt 0.193918 0.686639 -vt 0.193915 0.675082 -vt 0.145648 0.587952 -vt 0.153023 0.628692 -vt 0.115329 0.787499 -vt 0.221666 0.444608 -vt 0.221666 0.787392 -vt 0.337913 0.036846 -vt 0.800736 0.658409 -vt 0.694096 0.708634 -vt 0.748012 0.622240 -vt 0.162198 0.707502 -vt 0.114327 0.626249 -vt 0.092619 0.489940 -vt 0.135367 0.489934 -vt 0.134341 0.490121 -vt 0.581829 0.656266 -vt 0.582205 0.643874 -vt 0.608643 0.657856 -vt 0.263579 0.448575 -vt 0.267297 0.448675 -vt 0.264232 0.688301 -vt 0.118691 0.632067 -vt 0.195676 0.634976 -vt 0.367186 0.436037 -vt 0.369064 0.435460 -vt 0.369064 0.446998 -vt 0.157595 0.652282 -vt 0.139370 0.699960 -vt 0.118811 0.545559 -vt 0.176974 0.602004 -vt 0.206796 0.712223 -vt 0.234698 0.802319 -vt 0.169544 0.439544 -vt 0.234698 0.439493 -vt 0.562797 0.641426 -vt 0.565453 0.666175 -vt 0.627405 0.667443 -vt 0.245196 0.803897 -vt 0.159624 0.441498 -vt 0.244492 0.440999 -vt 0.392020 0.638012 -vt 0.045367 0.655659 -vt 0.045367 0.638014 -vt 0.284583 0.452887 -vt 0.301479 0.768428 -vt 0.283085 0.768364 -vt 0.172083 0.767614 -vt 0.150875 0.627246 -vt 0.186150 0.587085 -vt 0.208564 0.688133 -vt 0.084286 0.450002 -vt 0.071571 0.766388 -vt 0.069521 0.449747 -vt 0.178000 0.449680 -vt 0.086339 0.766986 -vt 0.034390 0.322797 -vt 0.716106 0.183929 -vt 0.712436 0.180963 -vt 0.716024 0.181572 -vt 0.206153 0.600413 -vt 0.719885 0.180488 -vt 0.711682 0.182911 -vt 0.332646 0.435561 -vt 0.350092 0.816437 -vt 0.332646 0.816524 -vt 0.675346 0.188923 -vt 0.721672 0.185008 -vt 0.716280 0.222162 -vt 0.709349 0.158612 -vt 0.706700 0.120767 -vt 0.714728 0.155740 -vt 0.725522 0.119727 -vt 0.734665 0.217607 -vt 0.703313 0.169968 -vt 0.677441 0.147810 -vt 0.705383 0.163699 -vt 0.729202 0.175190 -vt 0.726116 0.180718 -vt 0.689513 0.130771 -vt 0.666470 0.167805 -vt 0.669341 0.191107 -vt 0.761656 0.138536 -vt 0.679626 0.211026 -vt 0.716559 0.229434 -vt 0.696121 0.224894 -vt 0.746698 0.120586 -vt 0.704784 0.113720 -vt 0.726339 0.112168 -vt 0.737338 0.224195 -vt 0.685433 0.125314 -vt 0.672199 0.144669 -vt 0.484104 0.145241 -vt 0.969961 0.144158 -vt 0.969947 0.150422 -vt 0.484567 0.193884 -vt 0.970285 0.200529 -vt 0.484542 0.200953 -vt 0.672631 0.168500 -vt 0.703606 0.176529 -vt 0.484495 0.207757 -vt 0.970229 0.213055 -vt 0.484456 0.214348 -vt 0.484131 0.152176 -vt 0.969979 0.156687 -vt 0.970252 0.206792 -vt 0.484297 0.165508 -vt 0.970044 0.162951 -vt 0.970121 0.169214 -vt 0.484202 0.158872 -vt 0.484393 0.172304 -vt 0.484786 0.111975 -vt 0.970932 0.118244 -vt 0.484720 0.118516 -vt 0.767252 0.187756 -vt 0.769124 0.162040 -vt 0.484617 0.116667 -vt 0.970142 0.131630 -vt 0.484400 0.123593 -vt 0.484136 0.138057 -vt 0.970029 0.137894 -vt 0.484235 0.130771 -vt 0.484536 0.186623 -vt 0.970285 0.188003 -vt 0.970306 0.194266 -vt 0.239668 0.693930 -vt 0.216734 0.675813 -vt 0.904289 0.545005 -vt 0.852814 0.555862 -vt 0.855781 0.527901 -vt 0.728248 0.719312 -vt 0.759854 0.560902 -vt 0.812928 0.560404 -vt 0.777973 0.582655 -vt 0.717332 0.663006 -vt 0.753583 0.707327 -vt 0.936896 0.641000 -vt 0.942805 0.582769 -vt 0.964030 0.634771 -vt 0.728744 0.606756 -vt 0.753991 0.618934 -vt 0.811945 0.766199 -vt 0.805021 0.533098 -vt 0.920609 0.599900 -vt 0.964030 0.692306 -vt 0.919977 0.727346 -vt 0.936391 0.686133 -vt 0.745620 0.663114 -vt 0.942193 0.744700 -vt 0.709912 0.138674 -vt 0.772519 0.145656 -vt 0.709912 0.145656 -vt 0.709912 0.152638 -vt 0.772519 0.138674 -vt 0.772519 0.159619 -vt 0.709912 0.166601 -vt 0.709912 0.159619 -vt 0.772519 0.152638 -vt 0.772519 0.173583 -vt 0.709912 0.173583 -vt 0.709912 0.180565 -vt 0.709912 0.187547 -vt 0.772519 0.180565 -vt 0.772519 0.187547 -vt 0.709912 0.194528 -vt 0.772519 0.194528 -vt 0.709912 0.201510 -vt 0.772519 0.201510 -vt 0.709912 0.208492 -vt 0.772519 0.208492 -vt 0.709912 0.215474 -vt 0.350146 0.436640 -vt 0.367133 0.806539 -vt 0.350190 0.806571 -vt 0.107097 0.627693 -vt 0.108184 0.620317 -vt 0.119453 0.618151 -vt 0.937565 0.584611 -vt 0.868521 0.556075 -vt 0.960858 0.512637 -vt 0.105918 0.617345 -vt 0.118984 0.476287 -vt 0.108501 0.453370 -vt 0.084558 0.560630 -vt 0.105941 0.596325 -vt 0.310102 0.447416 -vt 0.310102 0.708280 -vt 0.054717 0.479533 -vt 0.076264 0.466463 -vt 0.097811 0.465749 -vt 0.191332 0.627510 -vt 0.133562 0.719949 -vt 0.121285 0.705451 -vt 0.131344 0.555061 -vt 0.211034 0.500194 -vt 0.724507 0.179085 -vt 0.180789 0.604721 -vt 0.117261 0.569132 -vt 0.288234 0.549025 -vt 0.146500 0.588610 -vt 0.166408 0.803908 -vt 0.231871 0.441085 -vt 0.231871 0.803909 -vt 0.043980 0.638066 -vt 0.390629 0.657331 -vt 0.043980 0.657330 -vt 0.588528 0.681834 -vt 0.574882 0.676320 -vt 0.630206 0.655378 -vt 0.220758 0.706446 -vt 0.233541 0.771678 -vt 0.152011 0.579100 -vt 0.056424 0.367415 -vt 0.709912 0.215474 -vt 0.267316 0.448783 -vt 0.274784 0.448575 -vt 0.272279 0.536226 -vt 0.099764 0.465749 -vt 0.099764 0.794045 -vt 0.028991 0.741096 -vt 0.141547 0.711432 -vt 0.208794 0.655666 -vt 0.320795 0.572740 -vt 0.307950 0.589772 -vt 0.232351 0.532549 -vt 0.180003 0.767981 -vt 0.133760 0.767968 -vt 0.134369 0.493727 -vt 0.227815 0.649188 -vt 0.232268 0.612759 -vt 0.269325 0.704233 -vt 0.246728 0.630194 -vt 0.197348 0.602668 -vt 0.282628 0.491928 -vt 0.135289 0.489242 -vt 0.176745 0.631828 -vt 0.157863 0.655488 -vt 0.109154 0.440439 -vt 0.099688 0.459852 -vt 0.136487 0.446954 -vt 0.232297 0.708304 -vt 0.238974 0.683097 -vt 0.008480 0.800988 -vt 0.407403 0.447459 -vt 0.036793 0.828524 -vt 0.359842 0.504845 -vt 0.367112 0.469866 -vt 0.363822 0.620812 -vt 0.685894 0.604739 -vt 0.792590 0.651454 -vt 0.740616 0.688691 -vt 0.258538 0.547976 -vt 0.225461 0.484605 -vt 0.167856 0.484688 -vt 0.204303 0.450095 -vt 0.226143 0.444502 -vt 0.119805 0.787392 -vt 0.119805 0.444608 -vt 0.194262 0.588454 -vt 0.256279 0.552826 -vt 0.199364 0.595218 -vt 0.187505 0.584542 -vt 0.229036 0.526209 -vt 0.271948 0.591593 -vt 0.201797 0.603654 -vt 0.201242 0.612132 -vt 0.256321 0.674292 -vt 0.198121 0.619076 -vt 0.192992 0.623455 -vt 0.227234 0.703855 -vt 0.116170 0.673909 -vt 0.169500 0.610001 -vt 0.173624 0.617454 -vt 0.099949 0.631784 -vt 0.168259 0.601429 -vt 0.166956 0.518822 -vt 0.174141 0.587280 -vt 0.139178 0.530065 -vt 0.186474 0.624717 -vt 0.147997 0.705299 -vt 0.179823 0.622432 -vt 0.725826 0.175056 -vt 0.722153 0.178139 -vt 0.724044 0.174342 -vt 0.726387 0.169758 -vt 0.724491 0.169903 -vt 0.725084 0.164647 -vt 0.723385 0.165642 -vt 0.722202 0.160686 -vt 0.721012 0.162359 -vt 0.718280 0.158582 -vt 0.717854 0.160627 -vt 0.713972 0.158669 -vt 0.714406 0.160768 -vt 0.709989 0.161008 -vt 0.711191 0.162751 -vt 0.706988 0.165168 -vt 0.708677 0.166285 -vt 0.705490 0.170262 -vt 0.707388 0.170569 -vt 0.707675 0.175019 -vt 0.708001 0.180219 -vt 0.705848 0.175585 -vt 0.711602 0.183175 -vt 0.709457 0.178808 -vt 0.712362 0.181200 -vt 0.715876 0.183996 -vt 0.715822 0.181857 -vt 0.720089 0.182722 -vt 0.719269 0.180787 -vt 0.723539 0.179542 -vt 0.180390 0.584076 -vt 0.197163 0.515281 -vt 0.271948 0.634806 -vt 0.115685 0.553724 -vt 0.169944 0.593389 -vt 0.100883 0.588970 -vt 0.192291 0.593771 -vt 0.210252 0.617955 -vt 0.238889 0.694713 -vt 0.339891 0.033820 -vt 0.360458 0.014530 -vt 0.022446 0.385164 -vt 0.104553 0.285332 -vt 0.023490 0.369930 -vt 0.026427 0.358619 -vt 0.169356 0.207893 -vt 0.668329 0.747110 -vt 0.165771 0.785453 -vt 0.165651 0.423324 -vt 0.349524 0.013035 -vt 0.215519 0.749251 -vt 0.200561 0.766772 -vt 0.168820 0.697328 -vt 0.175150 0.483896 -vt 0.188801 0.458524 -vt 0.201868 0.496878 -vt 0.215519 0.471506 -vt 0.023921 0.334271 -vt 0.722202 0.160686 -vt 0.709989 0.161008 -vt 0.713972 0.158669 -vt 0.718280 0.158582 -vt 0.705490 0.170262 -vt 0.706988 0.165168 -vt 0.708001 0.180219 -vt 0.720089 0.182722 -vt 0.723539 0.179542 -vt 0.726387 0.169758 -vt 0.725826 0.175056 -vt 0.705848 0.175585 -vt 0.671600 0.189680 -vt 0.970110 0.115337 -vt 0.970306 0.123922 -vt 0.890665 0.568032 -vt 0.581093 0.657225 -vt 0.579706 0.651105 -vt 0.585016 0.640340 -vt 0.590796 0.637557 -vt 0.597433 0.637264 -vt 0.608740 0.643912 -vt 0.611455 0.649704 -vt 0.611455 0.655885 -vt 0.603781 0.665260 -vt 0.597433 0.666832 -vt 0.590796 0.665833 -vt 0.585016 0.662435 -vt 0.720710 0.182424 -vt 0.280470 0.626193 -vt 0.272542 0.454369 -vt 0.851770 0.771006 -vt 0.078947 0.660579 -vt 0.772519 0.124711 -vt 0.054201 0.526134 -vt 0.152787 0.630973 -vt 0.763814 0.746853 -vt 0.202973 0.560832 -vt 0.202973 0.695413 -vt 0.211017 0.432541 -vt 0.211037 0.512599 -vt 0.211827 0.777736 -vt 0.215312 0.525547 -vt 0.264366 0.525478 -vt 0.265426 0.720008 -vt 0.977054 0.730190 -vt 0.253847 0.439630 -vt 0.253847 0.802453 -vt 0.161667 0.802553 -vt 0.325918 0.642861 -vt 0.194508 0.627297 -vt 0.216734 0.649666 -vt 0.216734 0.627297 -vt 0.127816 0.627297 -vt 0.105909 0.782399 -vt 0.108210 0.457768 -vt 0.023377 0.780946 -vt 0.023377 0.457768 -vt 0.044585 0.457768 -vt 0.234271 0.450827 -vt 0.848498 0.685322 -vt 0.211155 0.787793 -vt 0.335787 0.423324 -vt 0.335699 0.785449 -vt 0.290788 0.765173 -vt 0.189640 0.774772 -vt 0.175485 0.749677 -vt 0.197104 0.735777 -vt 0.195938 0.458524 -vt 0.165712 0.528641 -vt 0.211259 0.475708 -vt 0.211259 0.760871 -vt 0.191836 0.630793 -vt 0.201181 0.641632 -vt 0.161801 0.803719 -vt 0.128769 0.441635 -vt 0.287078 0.441635 -vt 0.211243 0.432637 -vt 0.243950 0.432743 -vt 0.211825 0.777842 -vt 0.239777 0.809653 -vt 0.236235 0.574344 -vt 0.228178 0.436438 -vt 0.332137 0.437634 -vt 0.108370 0.457995 -vt 0.293038 0.458286 -vt 0.246640 0.543184 -vt 0.293038 0.556655 -vt 0.150823 0.543181 -vt 0.109026 0.554322 -vt 0.174987 0.612558 -vt 0.221723 0.612794 -vt 0.174924 0.563657 -vt 0.221713 0.565123 -vt 0.225811 0.686631 -vt 0.115329 0.444502 -vt 0.977611 0.684219 -vt 0.953285 0.706882 -vt 0.701874 0.553659 -vt 0.702069 0.527374 -vt 0.704813 0.560928 -vt 0.092820 0.767961 -vt 0.585750 0.639317 -vt 0.591029 0.636927 -vt 0.597039 0.637275 -vt 0.602747 0.640193 -vt 0.607057 0.645239 -vt 0.609112 0.651531 -vt 0.606007 0.663036 -vt 0.590549 0.665540 -vt 0.601674 0.666302 -vt 0.596168 0.667244 -vt 0.585313 0.661826 -vt 0.580781 0.649872 -vt 0.267297 0.783587 -vt 0.259032 0.783285 -vt 0.108846 0.681140 -vt 0.103788 0.649857 -vt 0.170248 0.802442 -vt 0.570250 0.630345 -vt 0.561088 0.654029 -vt 0.575159 0.676023 -vt 0.588782 0.681545 -vt 0.603793 0.681956 -vt 0.617443 0.676725 -vt 0.631890 0.655009 -vt 0.597074 0.620271 -vt 0.630779 0.642388 -vt 0.623624 0.631208 -vt 0.611752 0.623170 -vt 0.582328 0.622690 -vt 0.154550 0.804507 -vt 0.392020 0.658075 -vt 0.302976 0.452951 -vt 0.259270 0.751033 -vt 0.240884 0.770341 -vt 0.229212 0.441980 -vt 0.259270 0.458646 -vt 0.216825 0.498419 -vt 0.350092 0.435460 -vt 0.970960 0.111975 -vt 0.970306 0.125366 -vt 0.890824 0.569849 -vt 0.772519 0.166601 -vt 0.772519 0.215474 -vt 0.367133 0.435460 -vt 0.097811 0.792171 -vt 0.027038 0.518698 -vt 0.022050 0.790931 -vt 0.048570 0.460209 -vt 0.369430 0.460209 -vt 0.393986 0.531106 -vt 0.357472 0.524564 -vt 0.057138 0.544589 -vt 0.016196 0.540388 -vt 0.234035 0.602324 -vt 0.208545 0.673246 -vt 0.166408 0.441084 -vt 0.390629 0.638066 -vt 0.565141 0.666479 -vt 0.560742 0.654326 -vt 0.562422 0.641703 -vt 0.569858 0.630592 -vt 0.581929 0.622903 -vt 0.596678 0.620440 -vt 0.611359 0.623268 -vt 0.623116 0.631113 -vt 0.630113 0.642341 -vt 0.626759 0.667862 -vt 0.617032 0.677247 -vt 0.603542 0.682270 -vt 0.238861 0.434065 -vt 0.208361 0.516967 -vt 0.257646 0.452955 -vt 0.257646 0.754262 -vt 0.188162 0.618478 -vt 0.772519 0.215474 -vt 0.274784 0.803410 -vt 0.270640 0.803271 -vt 0.078217 0.793331 -vt 0.056670 0.780261 -vt 0.024003 0.468863 -vt 0.307951 0.808658 -vt 0.228621 0.808658 -vt 0.227029 0.435583 -vt 0.328843 0.434552 -vt 0.179789 0.489959 -vt 0.332118 0.585098 -vt 0.332118 0.698790 -vt 0.309212 0.586099 -vt 0.308210 0.697854 -vt 0.285450 0.699257 -vt 0.271271 0.566606 -vt 0.252657 0.705153 -vt 0.140966 0.607404 -vt 0.140973 0.491835 -vt 0.282628 0.686931 -vt 0.267629 0.707508 -vt 0.267267 0.681966 -vt 0.157303 0.703261 -vt 0.151510 0.703269 -vt 0.153431 0.677036 -vt 0.140412 0.684992 -vt 0.280459 0.490002 -vt 0.208429 0.606816 -vt 0.280459 0.608219 -vt 0.242980 0.600630 -vt 0.379091 0.419923 -vt 0.028126 0.733572 -vt 0.029621 0.521536 -vt 0.064034 0.703794 -vt 0.065764 0.521765 -vt 0.068554 0.555674 -vt 0.074971 0.734624 -vt 0.108057 0.662705 -vt 0.109927 0.596019 -vt 0.229392 0.641886 -vt 0.230621 0.621945 -vt 0.291265 0.660773 -vt 0.292944 0.600726 -vt 0.334275 0.701102 -vt 0.337630 0.559808 -vt 0.367112 0.791321 -vt 0.356079 0.791468 -vt 0.358325 0.760311 -vt 0.356289 0.469829 -vt 0.699040 0.751173 -vt 0.696774 0.785087 -vt 0.945083 0.602988 -vt 0.969409 0.625257 -vt 0.377077 0.450759 -vt 0.303950 0.504075 -vt 0.377111 0.473918 -vt 0.237685 0.573495 -vt 0.225603 0.582865 -vt 0.016154 0.475399 -vt 0.016119 0.451280 -vt 0.085701 0.510511 -vt 0.167998 0.582865 -vt 0.226143 0.787499 -vt 0.188554 0.710454 -vn 0.0130 0.0433 0.9990 -vn 0.9758 -0.0576 0.2109 -vn 0.0149 0.0285 0.9995 -vn 0.0111 -0.0104 0.9999 -vn 0.0194 0.0091 0.9998 -vn 0.0156 0.0165 0.9997 -vn 0.0050 0.0088 0.9999 -vn 0.0091 0.0138 0.9999 -vn 0.7129 0.1629 0.6821 -vn 0.2218 -0.9715 0.0835 -vn 0.9154 -0.3970 0.0669 -vn 0.0047 -0.9679 0.2513 -vn 0.0008 -0.9675 0.2528 -vn 0.0008 -0.9677 0.2523 -vn 0.0006 -0.9997 -0.0238 -vn -0.0094 -0.9896 -0.1438 -vn -0.0003 -0.9997 -0.0248 -vn 0.0000 -0.9960 0.0890 -vn 0.0000 -0.9461 -0.3238 -vn 0.0000 -0.7326 -0.6806 -vn 0.0000 -0.3925 -0.9198 -vn 0.0000 0.7535 -0.6575 -vn 0.0000 0.4210 -0.9071 -vn 0.0000 0.1926 0.9813 -vn 0.0000 0.5751 0.8181 -vn 0.0000 -0.6003 0.7998 -vn 0.0000 -0.8737 0.4864 -vn 0.0000 0.9558 -0.2942 -vn 0.0000 0.8581 0.5135 -vn 0.0000 -0.2231 0.9748 -vn 0.0107 0.1910 -0.9815 -vn -0.0041 0.9251 0.3798 -vn 0.0143 0.0015 -0.9999 -vn 0.0131 -0.0017 -0.9999 -vn 0.0103 -0.0031 -0.9999 -vn 0.0271 -0.7370 0.6753 -vn 0.0231 -0.7294 0.6837 -vn 0.0288 -0.7402 0.6717 -vn 0.5549 -0.8319 -0.0095 -vn 0.7206 -0.6812 0.1291 -vn 0.5946 -0.7990 0.0902 -vn 0.0559 0.0967 0.9937 -vn 0.0423 0.0732 0.9964 -vn 0.0000 0.0000 1.0000 -vn 0.0973 0.9953 -0.0015 -vn 0.0964 0.9953 -0.0003 -vn 0.3468 0.9379 -0.0027 -vn 0.0062 -0.0121 -0.9999 -vn 0.0104 0.0000 -0.9999 -vn 0.6042 -0.7934 -0.0742 -vn 0.7726 -0.6346 -0.0186 -vn 0.1808 -0.9835 -0.0000 -vn 0.2973 -0.9544 0.0283 -vn 0.0788 -0.9969 -0.0025 -vn 0.0785 -0.9957 0.0483 -vn 0.1956 -0.9589 -0.2055 -vn 0.3220 -0.9286 -0.1846 -vn 0.0663 -0.9965 -0.0512 -vn -0.9999 0.0087 -0.0144 -vn -0.9997 0.0055 -0.0235 -vn -0.9997 0.0198 -0.0123 -vn 0.1944 -0.9596 0.2035 -vn 0.3223 -0.9289 0.1823 -vn 0.3440 -0.9273 0.1477 -vn 0.1529 -0.9882 -0.0000 -vn 0.3029 -0.9530 0.0003 -vn 0.0675 -0.9977 -0.0029 -vn -0.0207 -0.9991 -0.0382 -vn 0.1042 -0.9946 -0.0002 -vn -0.0215 -0.9990 0.0383 -vn 0.9974 0.0289 0.0655 -vn 0.9999 0.0046 0.0105 -vn 0.9976 0.0327 0.0615 -vn 1.0000 0.0000 0.0000 -vn 0.0053 0.5861 0.8102 -vn -0.2049 0.8472 0.4901 -vn -0.1986 0.5793 0.7905 -vn 0.0000 -0.7453 -0.6668 -vn -0.2096 -0.9309 -0.2992 -vn -0.2095 -0.7287 -0.6520 -vn 0.0000 0.9948 0.1014 -vn 0.0000 0.8536 0.5209 -vn 0.0000 -0.9520 -0.3060 -vn -0.2096 -0.9721 0.1053 -vn 0.0000 0.9501 -0.3120 -vn -0.2096 0.9728 0.0991 -vn 0.0000 -0.9942 0.1077 -vn -0.2095 -0.8453 0.4916 -vn 0.0000 0.7410 -0.6715 -vn -0.2096 0.9290 -0.3051 -vn 0.0000 -0.8644 0.5027 -vn -0.2095 -0.5722 0.7929 -vn 0.0000 0.4038 -0.9148 -vn -0.2096 0.7246 -0.6566 -vn 0.0000 -0.2048 0.9788 -vn 0.0000 -0.5852 0.8109 -vn 0.0000 -0.0032 -1.0000 -vn -0.2096 0.3949 -0.8945 -vn 0.0000 0.2327 0.9725 -vn -0.2095 -0.2003 0.9571 -vn 0.0000 -0.4096 -0.9122 -vn -0.2096 -0.0031 -0.9778 -vn -0.2059 0.2095 0.9559 -vn -0.2129 -0.7285 -0.6511 -vn -0.2095 -0.4005 -0.8920 -vn -0.2177 0.8465 0.4858 -vn -0.2147 -0.9300 -0.2983 -vn -0.2159 0.9713 0.0997 -vn -0.2167 -0.9705 0.1058 -vn -0.2138 0.9283 -0.3042 -vn -0.2186 -0.8433 0.4910 -vn -0.2121 0.7245 -0.6559 -vn -0.2200 -0.5706 0.7912 -vn -0.2110 0.3949 -0.8941 -vn -0.2206 -0.1997 0.9547 -vn -0.2097 -0.0152 0.9776 -vn -0.2096 0.3837 0.8993 -vn -0.4208 -0.0141 0.9070 -vn -0.2203 0.2056 0.9535 -vn 0.0024 0.2114 0.9774 -vn -0.2193 0.5756 0.7878 -vn 0.0044 0.6031 0.7976 -vn 0.0178 -0.7444 -0.6675 -vn -0.2115 -0.4007 -0.8915 -vn 0.0076 0.8747 0.4845 -vn 0.0140 -0.9488 -0.3156 -vn 0.0117 0.9938 0.1106 -vn 0.0099 -0.9953 0.0960 -vn 0.0161 0.9524 -0.3045 -vn 0.0059 -0.8681 0.4964 -vn 0.0196 0.7403 -0.6720 -vn 0.0031 -0.5895 0.8078 -vn 0.0216 0.4034 -0.9148 -vn 0.0019 -0.2049 0.9788 -vn -0.2109 -0.0032 -0.9775 -vn 0.0220 -0.0030 -0.9998 -vn 0.1716 -0.9372 -0.3036 -vn 0.3411 -0.9358 0.0889 -vn 0.1674 -0.9798 0.1091 -vn 0.1736 -0.0031 -0.9848 -vn 0.3495 -0.3838 -0.8547 -vn 0.1736 -0.4034 -0.8984 -vn 0.1736 0.2078 0.9627 -vn 0.3578 0.5546 0.7512 -vn 0.1736 0.5814 0.7949 -vn 0.1736 0.3977 -0.9009 -vn 0.3495 0.6943 -0.6291 -vn 0.3495 0.3784 -0.8571 -vn 0.3494 -0.6983 -0.6247 -vn 0.1736 -0.7340 -0.6566 -vn 0.1736 -0.2017 0.9639 -vn 0.3524 -0.5485 0.7582 -vn 0.3495 -0.1919 0.9171 -vn 0.1762 0.9361 -0.3044 -vn 0.3791 0.9205 0.0943 -vn 0.3495 0.8931 -0.2834 -vn 0.3557 -0.8147 0.4579 -vn 0.1753 -0.8501 0.4966 -vn 0.1927 0.8533 0.4844 -vn 0.3494 -0.0030 -0.9370 -vn 0.3494 -0.8895 -0.2945 -vn 0.3494 0.1977 0.9159 -vn 0.1736 0.7298 -0.6613 -vn 0.1736 -0.5763 0.7986 -vn 0.0206 -0.4089 -0.9123 -vn -0.7392 -0.3941 0.5461 -vn -0.7392 -0.5822 0.3386 -vn -0.7392 0.5843 0.3349 -vn -0.7392 0.6700 0.0683 -vn -0.7392 -0.6696 0.0725 -vn -0.7392 -0.6412 -0.2061 -vn -0.7392 -0.0021 -0.6735 -vn -0.7392 -0.2759 -0.6144 -vn -0.7392 0.3976 0.5436 -vn -0.7392 0.1421 0.6583 -vn -0.7392 0.2720 -0.6161 -vn -0.7392 0.4991 -0.4522 -vn -0.7392 -0.5019 -0.4491 -vn -0.7392 -0.1379 0.6592 -vn -0.7392 0.6399 -0.2101 -vn -0.7392 -0.5020 -0.4491 -vn 0.3947 0.8051 0.4428 -vn 0.1916 0.9762 0.1014 -vn 0.0000 -0.4096 -0.9123 -vn 0.0000 0.2110 0.9775 -vn 0.0000 0.5903 0.8072 -vn 0.0000 0.8676 0.4973 -vn 0.0000 0.4039 -0.9148 -vn 0.0000 0.0156 -0.9999 -vn 0.0000 0.9461 0.3238 -vn -0.2096 0.7164 0.6655 -vn 0.0000 0.7326 0.6806 -vn 0.0000 0.9960 -0.0890 -vn -0.2096 0.9251 0.3166 -vn 0.0000 -0.9928 -0.1201 -vn -0.2096 -0.9345 0.2876 -vn -0.2097 -0.9707 -0.1174 -vn 0.0000 0.8737 -0.4864 -vn -0.2095 0.9739 -0.0870 -vn 0.0000 -0.7535 0.6575 -vn 0.0000 -0.9558 0.2942 -vn -0.0017 0.4125 -0.9109 -vn 0.0017 0.5994 -0.8004 -vn -0.0007 0.2227 -0.9749 -vn 0.1736 0.0055 -0.9848 -vn 0.3495 -0.3763 -0.8581 -vn 0.1736 -0.3955 -0.9019 -vn 0.1736 0.1994 0.9644 -vn 0.3495 0.5465 0.7611 -vn 0.1736 0.5744 0.7999 -vn 0.1736 0.4056 -0.8974 -vn 0.3495 0.6998 -0.6230 -vn 0.3495 0.3859 -0.8538 -vn 0.3494 -0.6928 -0.6308 -vn 0.1736 -0.7282 -0.6631 -vn 0.1736 -0.5833 0.7935 -vn 0.3495 -0.1999 0.9153 -vn 0.1736 -0.2101 0.9621 -vn 0.1713 0.9807 0.0944 -vn 0.3519 0.8909 -0.2873 -vn 0.1741 0.9366 -0.3040 -vn 0.1737 -0.9799 0.0984 -vn 0.3508 -0.8299 0.4338 -vn 0.1729 -0.8712 0.4595 -vn 0.3495 0.0052 -0.9369 -vn 0.3508 -0.8993 -0.2610 -vn 0.1729 -0.9449 -0.2781 -vn 0.3495 0.1897 0.9175 -vn 0.1736 0.7355 -0.6549 -vn 0.0000 -1.0000 0.0000 -vn -0.7392 0.6694 0.0741 -vn -0.7392 0.5814 0.3400 -vn 0.1726 0.8518 0.4946 -vn 0.3493 0.9304 0.1109 -vn 0.0000 -0.7394 -0.6733 -vn 0.0000 -0.4016 -0.9158 -vn 0.0046 -0.9503 -0.3114 -vn -0.7392 0.5030 -0.4479 -vn -0.7392 0.6417 -0.2045 -vn 0.0099 -0.9951 0.0989 -vn -0.0358 -0.9294 -0.3673 -vn 0.0103 -0.8912 -0.4535 -vn 0.2076 -0.8909 -0.4039 -vn -1.0000 0.0000 -0.0017 -vn 0.0008 1.0000 -0.0025 -vn 0.0000 1.0000 -0.0000 -vn 0.0009 1.0000 -0.0021 -vn -0.7553 -0.6554 0.0000 -vn 0.0659 -0.9968 0.0452 -vn 0.1776 0.0449 0.9831 -vn 0.0531 0.0228 0.9983 -vn 0.0955 -0.0741 0.9927 -vn 0.9374 0.3482 -0.0004 -vn 0.7174 0.6966 -0.0004 -vn 0.0384 0.9993 0.0003 -vn 0.0633 0.9979 0.0142 -vn 0.0629 0.9980 0.0067 -vn 0.0000 0.9928 0.1200 -vn 0.3503 0.9366 -0.0026 -vn -0.1718 -0.9792 -0.1083 -vn 0.0440 -0.9933 -0.1072 -vn 0.1867 -0.9824 0.0001 -vn -0.0025 -0.1721 0.9851 -vn -0.0912 -0.0814 0.9925 -vn 0.0084 -1.0000 0.0018 -vn 0.0012 -1.0000 0.0037 -vn -0.0014 -1.0000 0.0029 -vn 0.4277 0.8968 -0.1136 -vn 0.4529 0.8866 -0.0942 -vn 0.4213 0.8991 -0.1184 -vn 0.3675 0.9165 -0.1580 -vn -1.0000 -0.0024 0.0009 -vn -0.9996 0.0284 0.0001 -vn -1.0000 -0.0023 0.0002 -vn -0.0042 -0.4414 0.8973 -vn 0.9925 0.1219 -0.0004 -vn 0.0003 0.6839 0.7295 -vn 0.0068 0.8153 0.5790 -vn 0.0069 0.7735 0.6337 -vn 0.9995 0.0305 0.0113 -vn 0.9996 0.0271 0.0086 -vn 0.9990 0.0411 0.0199 -vn -0.0142 0.0000 -0.9999 -vn -0.7101 0.0000 -0.7041 -vn 0.0006 0.0000 1.0000 -vn 0.9906 0.0533 -0.1263 -vn 0.9989 0.0181 -0.0430 -vn 0.9831 0.0711 -0.1685 -vn -0.0032 1.0000 0.0043 -vn -0.0069 0.9999 0.0094 -vn -0.0116 0.9998 0.0158 -vn -0.7231 0.0000 0.6908 -vn 0.0239 -0.0000 0.9997 -vn 0.0661 0.2143 0.9745 -vn -0.0534 0.1607 0.9856 -vn -0.9599 0.2804 0.0041 -vn -0.9998 -0.0146 -0.0168 -vn -0.9997 0.0245 -0.0038 -vn -0.7314 0.6819 0.0000 -vn -0.5771 0.8166 0.0000 -vn -0.0183 0.9998 0.0000 -vn 0.0003 -1.0000 0.0018 -vn 0.0003 -1.0000 0.0006 -vn -0.9996 0.0287 0.0000 -vn -1.0000 0.0000 0.0000 -vn -0.2384 0.0306 0.9707 -vn -0.2313 0.0300 0.9724 -vn -0.2387 0.0306 0.9706 -vn 0.2266 -0.0648 -0.9718 -vn 0.2004 -0.2741 -0.9406 -vn 0.2011 -0.2741 -0.9404 -vn 0.2503 0.1475 -0.9569 -vn -0.1835 0.0237 -0.9827 -vn -0.1915 0.0242 -0.9812 -vn -0.1918 0.0243 -0.9811 -vn 0.1729 -0.0601 0.9831 -vn 0.1549 -0.2613 0.9527 -vn 0.1726 -0.0589 0.9832 -vn 0.2018 0.1448 0.9687 -vn 0.0045 1.0000 -0.0000 -vn 0.0045 1.0000 -0.0002 -vn 0.0045 1.0000 -0.0003 -vn 0.0108 0.0000 0.9999 -vn 0.0065 -0.0126 0.9999 -vn -0.9996 0.0285 0.0001 -vn -0.4359 -0.8229 0.3645 -vn 0.0325 -0.9234 0.3824 -vn 0.0399 -0.9200 0.3899 -vn -0.7635 -0.5353 0.3612 -vn -0.3965 -0.8590 0.3238 -vn -0.9254 -0.0534 0.3752 -vn -0.9451 -0.1017 0.3106 -vn 0.4373 -0.8385 0.3251 -vn 0.1343 -0.2902 0.9475 -vn 0.5361 0.7520 0.3836 -vn 0.7139 0.5668 0.4112 -vn 0.7002 0.6004 0.3864 -vn -0.4116 -0.8400 -0.3535 -vn -0.5225 -0.7240 -0.4504 -vn -0.2528 -0.8446 -0.4720 -vn 0.4994 -0.4904 -0.7143 -vn 0.9430 0.2636 -0.2033 -vn -0.0042 -0.2396 0.9709 -vn -0.3146 -0.4857 0.8155 -vn 0.0219 -0.6490 0.7604 -vn -0.0301 0.8417 0.5391 -vn -0.2331 0.6632 0.7112 -vn 0.0822 0.6602 0.7465 -vn -0.3612 -0.0631 0.9303 -vn -0.2906 -0.7067 0.6451 -vn -0.0489 -0.8137 0.5792 -vn -0.1255 0.2504 0.9600 -vn -0.1193 0.0081 0.9928 -vn -0.4287 -0.8962 -0.1143 -vn -0.2241 -0.9587 -0.1749 -vn 0.1755 0.8627 -0.4743 -vn -0.7058 -0.0757 0.7043 -vn -0.2321 0.9724 0.0227 -vn -0.4616 0.3815 0.8009 -vn -0.4902 0.6268 0.6057 -vn -0.6356 0.2916 0.7148 -vn -0.2598 0.8413 0.4741 -vn -0.8034 0.1248 0.5823 -vn -0.7855 -0.2778 0.5530 -vn -0.0542 -0.0196 0.9983 -vn 0.0720 0.0719 0.9948 -vn -0.0369 0.0262 0.9990 -vn 0.1678 -0.9856 -0.0186 -vn 0.8140 -0.5718 0.1023 -vn 0.8331 -0.5485 0.0710 -vn 0.6914 -0.6742 0.2596 -vn 0.9087 -0.4054 -0.0992 -vn 0.8478 0.5249 0.0756 -vn 0.3531 -0.4900 -0.7970 -vn 0.3697 -0.4757 -0.7982 -vn 0.4955 -0.3528 -0.7937 -vn -0.5023 0.1993 -0.8414 -vn -0.5138 -0.4461 -0.7328 -vn -0.6358 -0.7667 0.0886 -vn -0.6701 -0.7415 0.0340 -vn -0.7347 -0.6726 -0.0879 -vn -0.3438 0.9364 0.0707 -vn -0.5326 -0.4023 0.7446 -vn -0.9117 0.1141 -0.3947 -vn -0.8213 0.3707 -0.4336 -vn -0.8926 -0.1116 -0.4368 -vn -0.5920 0.6842 -0.4260 -vn -0.5148 0.7326 -0.4453 -vn -0.2182 0.8601 -0.4612 -vn -0.7638 -0.4827 -0.4286 -vn -0.6967 -0.6018 -0.3904 -vn 0.0595 0.1546 -0.9862 -vn 0.1609 0.1800 -0.9704 -vn 0.2004 0.0457 -0.9787 -vn -0.8701 -0.2910 -0.3978 -vn -0.2039 0.0768 -0.9760 -vn -0.0891 0.0800 -0.9928 -vn -0.1501 -0.0923 -0.9843 -vn -0.1297 0.1691 -0.9770 -vn -0.0197 0.1957 -0.9805 -vn 0.1188 0.1321 -0.9841 -vn -0.1343 -0.5742 0.8076 -vn 0.2696 0.8275 -0.4924 -vn 0.5330 0.7025 -0.4715 -vn 0.0008 0.8705 -0.4923 -vn 0.8537 0.3268 -0.4055 -vn 0.6052 0.6839 -0.4074 -vn 0.8329 0.3924 -0.3904 -vn 0.2965 0.1166 -0.9479 -vn 0.2685 -0.0337 -0.9627 -vn 0.0060 -0.9304 -0.3664 -vn 0.0008 -0.8965 -0.4430 -vn 0.3376 -0.8562 -0.3910 -vn 0.0151 0.9170 -0.3986 -vn 0.8943 -0.1135 -0.4328 -vn 0.9324 0.0743 -0.3536 -vn 0.9035 -0.2441 -0.3524 -vn 0.3259 -0.8766 -0.3539 -vn 0.6499 -0.6564 -0.3830 -vn -0.8512 0.5246 -0.0178 -vn -0.8580 0.5136 -0.0065 -vn -0.9108 0.3996 0.1034 -vn 0.7555 -0.4131 -0.5086 -vn 0.2509 0.8853 -0.3916 -vn 0.6199 -0.2088 0.7564 -vn 0.4091 -0.4557 0.7906 -vn 0.5951 -0.5372 0.5978 -vn 0.2713 0.8051 0.5275 -vn 0.4716 0.5935 0.6522 -vn 0.6095 0.0346 0.7920 -vn 0.3896 -0.1437 0.9097 -vn 0.1960 0.3531 0.9148 -vn 0.4949 0.1887 0.8482 -vn 0.1604 0.0939 0.9826 -vn 0.2555 -0.6460 0.7193 -vn -0.2906 0.8642 -0.4108 -vn -0.0668 -0.2010 -0.9773 -vn -0.1555 0.1178 -0.9808 -vn 0.1484 -0.0910 -0.9847 -vn -0.9882 0.1523 0.0175 -vn -0.9888 0.1480 0.0189 -vn -0.9874 0.1576 0.0158 -vn -0.1981 0.9722 0.1247 -vn -0.4698 0.8810 -0.0566 -vn -0.2475 0.9636 -0.1013 -vn -0.6335 0.7564 0.1630 -vn -0.8243 -0.4961 -0.2727 -vn -0.8333 -0.4608 -0.3054 -vn -0.8333 -0.4610 -0.3051 -vn 0.6348 -0.7714 0.0442 -vn 0.6364 -0.7448 0.2009 -vn 0.6071 -0.7946 0.0073 -vn 0.7036 -0.5555 0.4431 -vn 0.5058 -0.7605 0.4072 -vn 0.8366 0.3517 0.4200 -vn 0.0777 -0.9955 -0.0539 -vn 0.9997 -0.0231 -0.0049 -vn 0.9961 -0.0778 -0.0411 -vn 0.9999 -0.0116 -0.0039 -vn -0.1322 0.2647 0.9552 -vn -0.1735 0.0741 0.9820 -vn -0.1596 -0.3820 0.9103 -vn 0.0562 -0.1279 -0.9902 -vn -0.0954 -0.1999 -0.9752 -vn -0.7969 0.4477 0.4056 -vn -0.7030 0.6106 0.3645 -vn -0.8950 0.2792 0.3479 -vn -0.9274 -0.0480 0.3710 -vn -0.9332 -0.1276 0.3360 -vn 0.1627 -0.1862 -0.9689 -vn -0.2199 -0.4771 -0.8509 -vn -0.4155 -0.3515 -0.8390 -vn 0.0220 -0.6074 -0.7941 -vn 0.0284 -0.6814 -0.7314 -vn -0.9782 0.1265 0.1650 -vn 0.9747 -0.1259 -0.1847 -vn -0.9643 0.1254 -0.2334 -vn 0.9644 -0.1253 0.2329 -vn 0.0000 0.0000 -1.0000 -vn -0.9294 0.0072 -0.3691 -vn -0.9135 -0.1730 -0.3681 -vn -0.9244 0.0112 -0.3813 -vn 0.9126 0.4087 0.0081 -vn 0.9938 0.1110 -0.0087 -vn 0.9694 0.2353 -0.0703 -vn 0.7576 -0.6420 -0.1176 -vn 0.6797 -0.6967 -0.2294 -vn 0.9503 -0.3024 -0.0742 -vn 0.4107 -0.1377 -0.9013 -vn 0.2619 0.1185 -0.9578 -vn -0.0135 -0.0943 -0.9954 -vn 0.0078 0.0875 -0.9961 -vn 0.0688 0.0018 -0.9976 -vn -0.1771 0.8526 0.4916 -vn -0.3418 0.5524 0.7603 -vn -0.3418 0.8139 0.4699 -vn 0.0685 -0.3189 -0.9453 -vn -0.0143 -0.2596 -0.9656 -vn 0.0729 -0.1716 -0.9825 -vn 0.0651 0.1273 -0.9897 -vn -0.0706 0.1182 -0.9905 -vn 1.0000 0.0023 -0.0008 -vn 1.0000 -0.0002 0.0030 -vn 1.0000 0.0015 -0.0004 -vn -0.0001 -0.0340 0.9994 -vn -0.0498 -0.0490 0.9976 -vn 0.0678 -0.0090 0.9977 -vn -0.5504 -0.3981 0.7339 -vn -0.5427 -0.3508 0.7631 -vn -0.5416 -0.3449 0.7666 -vn -0.5311 -0.2921 0.7953 -vn -0.0709 -0.0616 0.9956 -vn -0.0838 -0.0619 0.9946 -vn -0.0013 -0.3706 -0.9288 -vn -0.9183 0.1838 -0.3508 -vn -0.5575 -0.6747 -0.4838 -vn -0.7209 -0.6421 -0.2608 -vn -0.4818 -0.7244 -0.4930 -vn -0.9283 0.1682 -0.3317 -vn -0.4818 -0.7079 -0.5165 -vn -0.3657 -0.8152 -0.4492 -vn -0.3512 -0.0121 -0.9362 -vn -0.2191 -0.1148 -0.9689 -vn -0.3686 -0.1016 -0.9240 -vn -0.4419 -0.6564 -0.6115 -vn -0.2733 0.0292 -0.9615 -vn -0.4017 0.1065 -0.9096 -vn -0.1085 -0.0119 -0.9940 -vn -0.0921 -0.2834 -0.9546 -vn -0.0075 0.9510 -0.3090 -vn -0.0149 0.9967 -0.0798 -vn -0.1452 0.9878 -0.0562 -vn -0.1765 0.5785 0.7964 -vn -0.0009 0.8608 0.5090 -vn 0.0003 0.5786 0.8156 -vn -0.0038 0.9938 0.1107 -vn -0.0063 0.9952 -0.0973 -vn 0.0131 0.9999 -0.0089 -vn 0.0194 0.9998 -0.0061 -vn 0.0112 0.9999 -0.0082 -vn 0.0078 -1.0000 -0.0015 -vn 0.2303 -0.0298 0.9727 -vn 0.0014 0.4047 0.9144 -vn 0.0644 0.2818 0.9573 -vn 1.0000 0.0003 0.0000 -vn 1.0000 -0.0004 0.0017 -vn 0.0019 -0.9264 0.3765 -vn 0.0019 -0.9264 0.3764 -vn 0.0004 -0.9279 0.3729 -vn -0.0009 0.9674 -0.2532 -vn -0.0027 0.9679 -0.2513 -vn 0.0000 -0.0078 1.0000 -vn 0.2971 -0.9544 -0.0289 -vn -0.2830 -0.0498 0.9578 -vn -0.1962 -0.1065 0.9748 -vn -0.1386 -0.1467 0.9794 -vn 0.0449 -0.9983 0.0366 -vn -0.1537 -0.7386 0.6564 -vn -0.1742 -0.7514 0.6364 -vn -0.0938 -0.7055 0.7025 -vn 0.1677 -0.9812 0.0954 -vn 0.0000 0.0003 1.0000 -vn 0.0007 0.0274 0.9996 -vn -0.2308 0.5325 -0.8144 -vn 0.0023 0.5871 -0.8095 -vn -0.2591 0.7650 -0.5896 -vn 0.0192 -0.9998 0.0018 -vn 0.0019 -0.9998 -0.0209 -vn 0.0194 0.9125 -0.4087 -vn 0.0124 0.8572 -0.5149 -vn 0.0037 0.9606 -0.2777 -vn -1.0000 0.0009 -0.0033 -vn -1.0000 0.0019 0.0002 -vn -1.0000 -0.0006 0.0023 -vn 0.0129 0.8474 -0.5307 -vn 0.0176 0.7110 -0.7030 -vn -0.0006 0.0000 -1.0000 -vn 0.0009 -0.7821 -0.6231 -vn -0.0038 -0.8297 -0.5582 -vn -0.0022 -0.7870 -0.6170 -vn 0.0012 -0.7370 -0.6759 -vn 0.9996 0.0087 -0.0275 -vn 0.9994 0.0198 -0.0296 -vn 0.9988 -0.0011 -0.0484 -vn -0.0118 0.9250 -0.3797 -vn -0.0118 0.9251 -0.3797 -vn 0.0305 0.1910 0.9811 -vn 0.3359 -0.9299 -0.1496 -vn 0.0008 -0.0000 1.0000 -vn 0.0012 0.0000 1.0000 -vn -0.2096 -0.8391 -0.5021 -vn 0.0000 -0.4209 0.9071 -vn -0.2095 -0.7367 0.6429 -vn 0.0000 0.2231 -0.9748 -vn -0.2095 0.5870 -0.7820 -vn 0.0000 0.6003 -0.7998 -vn -0.2096 0.8543 -0.4756 -vn -0.2096 -0.4116 0.8869 -vn 0.0000 -0.5751 -0.8181 -vn -0.2096 -0.1883 -0.9595 -vn 0.0000 -0.1926 -0.9813 -vn 0.0000 0.3925 0.9198 -vn 0.0000 -0.0156 0.9999 -vn -0.2095 0.2182 -0.9532 -vn -0.4206 -0.5218 -0.7422 -vn -0.4205 -0.7786 -0.4658 -vn -0.4205 0.8584 0.2938 -vn -0.4207 -0.9006 -0.1090 -vn -0.4205 -0.6836 0.5965 -vn -0.4207 -0.8671 0.2668 -vn -0.4205 0.9037 -0.0808 -vn -0.4205 0.5447 -0.7256 -vn -0.4206 0.7927 -0.4413 -vn -0.4129 -0.5468 0.7284 -vn -0.4205 0.2025 -0.8844 -vn -0.4205 -0.1748 -0.8903 -vn 0.0226 0.5822 0.8127 -vn 0.0260 0.3930 0.9192 -vn 0.0226 0.7334 0.6795 -vn -0.0002 -0.4032 -0.9151 -vn 0.0017 -0.8573 -0.5148 -vn 0.0047 -0.7403 -0.6723 -vn -0.2096 -0.5623 -0.7999 -vn 0.0000 -0.8581 -0.5135 -vn 0.0095 -0.9608 -0.2772 -vn 0.0124 -0.9561 0.2928 -vn 0.0147 -0.9947 0.1018 -vn 0.0183 0.8623 0.5061 -vn 0.0176 0.9465 0.3221 -vn 0.0072 -0.9925 -0.1219 -vn 0.0069 0.9533 -0.3020 -vn 0.0117 0.9958 -0.0908 -vn 0.0061 0.8729 -0.4878 -vn 0.0127 0.9936 0.1119 -vn 0.0018 0.7478 -0.6639 -vn 0.0175 -0.7546 0.6560 -vn 0.0210 -0.8852 0.4648 -vn -0.4131 0.5238 0.7450 -vn -0.4205 0.6647 0.6175 -vn 0.0238 -0.4227 0.9060 -vn 0.0240 -0.5920 0.8056 -vn 0.0249 0.2020 0.9791 -vn 0.0271 -0.0156 0.9995 -vn 0.0249 -0.2129 0.9768 -vn -0.0030 0.0056 -1.0000 -vn -0.0008 -0.1923 -0.9813 -vn -0.0005 -0.5753 -0.8180 -vn 0.3495 -0.5549 0.7549 -vn -0.7392 -0.5851 0.3335 -vn -0.7392 -0.6702 0.0667 -vn -0.7392 0.2774 -0.6138 -vn -0.7392 -0.4980 -0.4535 -vn -0.7392 -0.6394 -0.2117 -vn -0.7392 0.0038 -0.6735 -vn -0.7392 -0.1437 0.6580 -vn -0.7392 -0.3989 0.5426 -vn -0.7392 -0.2705 -0.6168 -vn -0.7392 -0.6393 -0.2117 -vn -0.7392 0.1364 0.6595 -vn -0.7392 0.3928 0.5471 -vn -0.7392 0.1363 0.6595 -vn -0.7392 0.0037 -0.6735 -vn 0.0044 -0.8703 0.4925 -vn 0.0000 -0.5923 0.8057 -vn 0.0000 -0.2134 0.9770 -vn 0.0000 0.5833 0.8123 -vn 0.0000 0.2025 0.9793 -vn 0.0000 0.8632 0.5048 -vn -0.0008 0.9939 0.1106 -vn -0.0008 0.9526 -0.3042 -vn 0.0000 0.7469 -0.6650 -vn 0.0000 0.4118 -0.9113 -vn 0.0000 0.0056 -1.0000 -vn -0.0011 -0.0100 -0.9999 -vn 0.1916 -0.3347 -0.9226 -vn -0.0141 0.1762 -0.9843 -vn 0.9299 -0.3646 0.0492 -vn -0.8437 -0.4007 -0.3572 -vn -0.1981 0.2753 -0.9407 -vn 0.1122 0.1650 0.9799 -vn 0.4661 0.7908 -0.3968 -vn 0.2657 0.3724 -0.8892 -vn 0.1816 -0.6180 -0.7649 -vn -0.5651 -0.8034 0.1875 -vn -0.2532 -0.1015 0.9621 -vn 0.6427 0.3512 0.6808 -vn 0.5898 0.6956 0.4103 -vn 0.6071 -0.6284 -0.4863 -vn 0.0024 -0.2230 -0.9748 -vn 0.1520 -0.3885 -0.9088 -vn -0.2547 -0.0055 -0.9670 -vn -0.2450 -0.1390 -0.9595 -vn -0.7987 0.4417 -0.4087 -vn 0.1835 -0.6337 -0.7515 -vn 0.2058 -0.6052 -0.7690 -vn 0.8328 0.2949 0.4686 -vn -0.1746 0.0412 0.9838 -vn -0.6157 0.6927 0.3757 -vn -0.5552 0.7720 0.3094 -vn -0.4799 -0.3446 -0.8068 -vn -0.5692 -0.2399 -0.7864 -vn -0.1767 0.4004 0.8992 -vn 0.0020 0.4067 0.9136 -vn -0.4320 0.8997 0.0621 -vn -0.3401 0.9404 0.0030 -vn -0.3412 0.9267 0.1573 -vn -0.3351 0.3833 0.8607 -vn 0.0147 -0.8943 -0.4473 -vn 0.3159 -0.8212 -0.4752 -vn -0.6093 0.1059 0.7858 -vn -0.5712 0.1543 0.8061 -vn -0.4521 0.2860 0.8449 -vn -1.0000 -0.0020 0.0037 -vn -1.0000 -0.0014 0.0015 -vn -1.0000 0.0035 0.0012 -vn 0.0023 -1.0000 -0.0046 -vn 0.0000 0.8616 0.5077 -vn 0.0000 0.9368 0.3499 -vn 0.0005 -0.0000 1.0000 -vn -1.0000 0.0000 0.0001 -vn -1.0000 -0.0001 0.0000 -vn -0.9936 -0.0776 0.0827 -vn -0.9988 -0.0409 0.0277 -vn -0.9989 -0.0116 0.0457 -vn 0.1130 -0.9899 0.0855 -vn 0.0001 -0.0016 -1.0000 -vn 0.0001 -0.0018 -1.0000 -vn -0.0001 0.0043 -1.0000 -vn -0.2481 0.9631 0.1047 -vn -0.0225 0.9869 0.1599 -vn 0.3166 -0.3672 -0.8746 -vn 0.0821 0.2134 -0.9735 -vn 0.2062 -0.1246 -0.9706 -vn 0.0158 -0.9998 0.0144 -vn 0.0158 -0.9999 -0.0010 -vn -0.0101 -0.9999 0.0077 -vn -0.0041 -1.0000 -0.0034 -vn -0.2085 -0.9777 0.0251 -vn -0.0025 -0.0667 0.9978 -vn -0.0367 -0.0249 0.9990 -vn -0.0092 0.0030 1.0000 -vn -0.0035 -0.0072 -1.0000 -vn 0.0013 -0.0151 -0.9999 -vn -0.0025 0.0309 -0.9995 -vn -0.0645 -0.8468 0.5280 -vn -0.1878 -0.7359 0.6505 -vn -0.1741 -0.7513 0.6366 -vn 0.0036 0.9566 0.2913 -vn -0.0077 0.9527 0.3038 -vn -0.0424 0.9387 0.3420 -vn 0.0143 0.9999 0.0000 -vn 0.0384 0.9993 0.0000 -vn 1.0000 -0.0029 -0.0006 -vn 1.0000 -0.0004 -0.0001 -vn 0.9988 0.0351 -0.0333 -vn -0.2089 -0.7142 0.6681 -vn -0.0331 0.0120 -0.9994 -vn -0.0837 0.0214 -0.9963 -vn -0.0089 -0.0029 -1.0000 -vn -1.0000 -0.0013 0.0003 -vn -1.0000 -0.0014 -0.0002 -vn -1.0000 -0.0002 0.0001 -vn 0.0000 0.0100 1.0000 -vn 0.0000 0.0100 0.9999 -vn 0.0000 0.4096 0.9123 -vn 0.0000 0.0031 1.0000 -vn 0.0000 0.7452 0.6668 -vn 0.0000 -0.4038 0.9148 -vn 0.0000 -0.7410 0.6715 -vn 0.0000 -0.9501 0.3120 -vn 0.0000 -0.9948 -0.1014 -vn 0.0000 -0.2110 -0.9775 -vn 0.0000 0.2048 -0.9788 -vn 0.0000 0.5852 -0.8109 -vn 0.0000 0.9520 0.3060 -vn 0.0000 0.9942 -0.1077 -vn 0.0000 -0.8676 -0.4972 -vn 0.0000 -0.5903 -0.8072 -vn 0.0000 0.8644 -0.5027 -vn 0.0105 -0.0033 -0.9999 -vn 0.0049 -0.0071 -1.0000 -vn 0.0167 -0.0144 -0.9998 -vn 0.0140 0.0134 -0.9998 -vn 0.0191 -0.0234 -0.9995 -vn 0.0126 -0.0195 -0.9997 -vn 0.0214 -0.7262 0.6871 -vn 0.0890 0.1539 0.9841 -vn 0.0981 0.9952 -0.0016 -vn 0.0082 -0.0063 -0.9999 -vn 0.0002 -0.0298 -0.9996 -vn 0.6898 -0.7183 -0.0912 -vn -0.9996 -0.0027 0.0294 -vn -0.9996 -0.0028 0.0264 -vn -1.0000 -0.0011 0.0065 -vn -0.9998 0.0173 -0.0094 -vn -0.9998 0.0192 -0.0091 -vn -0.9998 0.0185 -0.0083 -vn 0.1022 -0.9909 -0.0872 -vn 0.9999 0.0158 -0.0034 -vn 0.9999 0.0162 0.0058 -vn -0.4131 0.1754 0.8936 -vn -0.4130 -0.2032 0.8878 -vn 0.3495 -0.9323 0.0937 -vn 0.3494 0.8088 0.4730 -vn 0.0003 1.0000 -0.0033 -vn -0.0000 1.0000 -0.0034 -vn 0.1407 0.0990 0.9851 -vn 0.7178 0.6962 -0.0002 -vn 0.0625 0.9980 0.0000 -vn 0.0019 -1.0000 0.0048 -vn 0.0011 -1.0000 0.0040 -vn 0.0032 0.8490 0.5284 -vn 0.0000 0.6037 0.7972 -vn 0.9999 0.0164 0.0000 -vn -0.9995 0.0328 -0.0000 -vn -0.9585 0.2852 0.0000 -vn -0.9992 0.0328 0.0224 -vn 0.0000 -1.0000 -0.0032 -vn -0.2310 0.0300 0.9725 -vn 0.2263 -0.0648 -0.9719 -vn -0.1831 0.0237 -0.9828 -vn 0.1562 -0.2613 0.9525 -vn 0.2022 0.1448 0.9686 -vn 0.0002 -0.0310 0.9995 -vn 0.0086 -0.0065 0.9999 -vn -0.7729 -0.4929 0.3996 -vn 0.5373 0.7515 0.3828 -vn -0.7962 0.5972 -0.0973 -vn -0.9898 0.1409 0.0212 -vn 0.9998 -0.0203 0.0082 -vn 0.9995 -0.0303 0.0110 -vn 0.9995 -0.0264 0.0165 -vn 1.0000 0.0052 -0.0082 -vn 0.9998 0.0031 -0.0188 -vn 1.0000 0.0052 -0.0053 -vn 0.9998 -0.0203 0.0083 -vn -0.9169 -0.1676 -0.3623 -vn 0.9998 -0.0057 0.0201 -vn 1.0000 -0.0023 0.0081 -vn 1.0000 0.0033 0.0006 -vn 1.0000 0.0030 -0.0003 -vn 0.0103 0.9999 0.0015 -vn 0.0016 1.0000 -0.0032 -vn 0.0016 -1.0000 -0.0030 -vn 0.0016 0.4056 0.9140 -vn 0.2676 -0.1365 0.9538 -vn 0.2993 -0.0289 0.9537 -vn 0.3113 0.0000 0.9503 -vn 0.9999 0.0012 0.0142 -vn 0.9999 -0.0069 0.0115 -vn 0.9998 -0.0074 0.0176 -vn 0.9998 0.0055 0.0191 -vn 0.9999 -0.0062 -0.0113 -vn 0.9998 -0.0102 0.0180 -vn 1.0000 0.0012 0.0063 -vn 0.9990 -0.0230 0.0379 -vn 0.9988 -0.0342 0.0357 -vn -0.0038 0.9279 -0.3729 -vn -0.0019 0.9272 -0.3747 -vn -0.4116 -0.0505 0.9100 -vn -0.4004 -0.0470 0.9152 -vn -0.0165 0.1342 0.9908 -vn 0.0006 0.1740 0.9847 -vn -0.1136 -0.1094 0.9875 -vn -0.2458 -0.7423 0.6233 -vn 0.0158 -0.9997 -0.0163 -vn 0.0011 0.0175 0.9998 -vn 0.0011 0.0178 0.9998 -vn -0.3352 0.8960 -0.2911 -vn -0.3418 0.8139 -0.4699 -vn -0.5161 0.5137 -0.6854 -vn -0.3352 0.3832 -0.8607 -vn -0.0003 0.4067 -0.9136 -vn -0.0032 0.7432 -0.6691 -vn -1.0000 -0.0017 -0.0014 -vn -0.9997 0.0242 -0.0079 -vn -0.9999 -0.0005 0.0113 -vn -1.0000 -0.0017 0.0052 -vn -1.0000 0.0008 0.0100 -vn -0.9997 0.0098 0.0219 -vn -1.0000 -0.0002 -0.0028 -vn -1.0000 -0.0004 -0.0030 -vn -0.9997 0.0217 -0.0126 -vn -0.9999 0.0066 -0.0078 -vn -1.0000 0.0017 -0.0053 -vn -1.0000 -0.0010 -0.0021 -vn 0.0036 0.7800 -0.6258 -vn -0.0038 -0.8296 -0.5583 -vn 0.0075 -0.7262 -0.6874 -vn 0.9974 -0.0027 -0.0714 -vn 0.9977 -0.0028 -0.0683 -vn 0.9994 0.0156 -0.0323 -vn 0.9992 0.0174 -0.0347 -vn 0.9998 0.0055 -0.0184 -vn 0.0000 0.4209 -0.9071 -vn -0.7068 -0.0395 0.7063 -vn -1.0000 0.0003 0.0006 -vn -1.0000 0.0048 -0.0023 -vn -0.9999 0.0039 -0.0102 -vn -1.0000 0.0053 -0.0031 -vn -1.0000 0.0043 0.0067 -vn -1.0000 -0.0029 0.0064 -vn -1.0000 0.0001 0.0000 -vn -1.0000 0.0000 -0.0001 -vn -1.0000 -0.0001 -0.0002 -vn -1.0000 -0.0004 -0.0003 -vn -1.0000 -0.0004 0.0003 -vn -1.0000 -0.0001 0.0002 -vn -0.9987 0.0051 0.0502 -vn -0.9982 0.0030 0.0605 -vn -0.9989 0.0051 0.0473 -vn -0.9993 -0.0329 0.0162 -vn -0.9986 -0.0229 0.0467 -vn 0.0002 0.0167 -0.9999 -vn 0.0002 0.0166 -0.9999 -vn 0.0000 0.3557 -0.9346 -vn 0.0002 0.3568 -0.9342 -vn 0.2980 -0.0094 -0.9545 -vn 0.2802 -0.0547 -0.9584 -vn -0.0809 -0.9967 0.0014 -vn -0.0094 -0.9999 -0.0131 -vn 0.0425 -0.9980 -0.0467 -vn 0.2554 -0.9667 -0.0167 -vn -0.1676 -0.9859 0.0010 -vn 0.0085 -0.9994 -0.0332 -vn 0.0001 -0.9982 0.0598 -vn -0.0770 -0.1342 0.9880 -vn -0.0276 -0.0247 0.9993 -vn -0.0573 -0.2038 0.9773 -vn -0.0865 -0.2315 0.9690 -vn -0.0642 -0.2239 0.9725 -vn -0.0213 0.1330 -0.9909 -vn -0.0229 0.1103 -0.9936 -vn 0.0029 0.0742 -0.9972 -vn -0.0149 0.0524 -0.9985 -vn -0.0037 -0.0049 -1.0000 -vn 0.0006 -0.0116 -0.9999 -vn -0.0015 -0.0051 -1.0000 -vn 0.0005 0.0016 -1.0000 -vn 0.0304 0.9648 0.2611 -vn 0.9977 -0.0671 0.0092 -vn 1.0000 0.0008 -0.0097 -vn 0.9984 -0.0563 0.0014 -vn 1.0000 0.0063 -0.0066 -vn 0.9998 0.0132 -0.0167 -vn 0.9981 -0.0579 0.0191 -vn 0.9995 -0.0183 -0.0261 -vn 0.9988 0.0158 -0.0460 -vn 0.9753 0.0548 -0.2141 -vn 0.9779 0.0399 -0.2055 -vn 0.9964 0.0220 -0.0823 -vn 0.9983 -0.0022 -0.0581 -vn 0.9923 0.1220 -0.0202 -vn 1.0000 -0.0015 -0.0008 -vn 0.9780 0.2080 0.0165 -vn 0.9807 0.1942 0.0201 -vn 0.9647 0.2633 -0.0022 -vn -0.0195 0.1712 -0.9850 -vn -0.0217 0.2095 -0.9776 -vn -0.3452 -0.0362 -0.9378 -vn -0.3792 -0.0466 -0.9241 -vn -1.0000 -0.0007 0.0002 -vn -1.0000 -0.0026 0.0024 -vn -1.0000 0.0000 -0.0002 -vn -1.0000 -0.0009 -0.0003 -vn -1.0000 -0.0037 -0.0008 -s off -f 1623/2564/1875 1625/2565/1875 1626/2566/1875 -f 1634/2567/1876 1635/2568/1876 1631/2569/1876 -f 1630/2570/1877 1622/2571/1877 1626/2566/1877 -f 1622/2571/1878 1623/2564/1878 1626/2566/1878 -f 1623/2564/1879 1624/2572/1879 1625/2565/1879 -f 1626/2566/1880 1627/2573/1880 1628/2574/1880 -f 1628/2574/1881 1629/2575/1881 1626/2566/1881 -f 1629/2575/1882 1630/2570/1882 1626/2566/1882 -f 1636/2576/1883 1631/2569/1883 1635/2568/1883 -f 1631/2569/1884 1632/2577/1884 1633/2578/1884 -f 1634/2567/1885 1631/2569/1885 1633/2578/1885 -s 1 -f 1637/2579/1886 1638/2580/1887 1639/2581/1888 -f 1640/2582/1889 1641/2583/1890 1639/2584/1891 -f 1643/2585/1892 1645/2586/1893 1642/2587/1893 -f 1642/2587/1893 1650/2588/1894 1649/2589/1894 -f 1649/2589/1894 1653/2590/1895 1652/2591/1895 -f 1658/2592/1896 1660/2593/1897 1657/2594/1897 -f 1662/2595/1898 1664/2596/1899 1661/2597/1898 -f 1666/2598/1900 1668/2599/1901 1665/2600/1901 -f 1670/2601/1902 1658/2592/1896 1669/2602/1902 -f 1664/2596/1899 1672/2603/1903 1671/2604/1903 -f 1661/2597/1898 1673/2605/1904 1662/2595/1898 -f 1682/2606/1905 1684/2607/1905 1685/2608/1905 -f 1685/2608/1906 1686/2609/1906 1687/2610/1906 -f 1696/2611/1907 1697/2612/1908 1690/2613/1909 -f 1698/2614/1910 1700/2615/1911 1701/2616/1912 -f 1702/2617/1913 1704/2618/1914 1705/2619/1915 -f 1705/2619/1916 1625/2620/1917 1624/2621/1918 -f 1708/2622/1919 1709/2623/1920 1710/2624/1921 -f 1713/2625/1922 1714/2626/1923 1715/2627/1923 -f 1692/2628/1924 1703/2629/1925 1702/2617/1913 -f 1716/2630/1926 1692/2628/1924 1702/2617/1913 -f 1716/2630/1926 1705/2619/1915 1624/2621/1927 -f 1717/2631/1928 1624/2621/1927 1623/2632/1929 -f 1720/2633/1930 1696/2634/1931 1695/2635/1932 -f 1683/2636/1933 1725/2637/1934 1726/2638/1935 -f 1729/2639/1936 1630/2640/1937 1629/2641/1938 -f 1720/2633/1930 1719/2642/1939 1728/2643/1940 -f 1729/2639/1936 1719/2642/1939 1718/2644/1941 -f 1689/2645/1942 1730/2646/1943 1627/2647/1944 -f 1734/2648/1945 1747/2649/1946 1746/2650/1947 -f 1743/2651/1948 1744/2652/1948 1755/2653/1948 -f 1746/2650/1949 1761/2654/1950 1762/2655/1951 -f 1756/2656/1952 1764/2657/1953 1763/2658/1954 -f 1749/2659/1955 1761/2654/1950 1747/2649/1956 -f 1755/2653/1957 1766/2660/1958 1764/2657/1953 -f 1748/2661/1959 1765/2662/1960 1749/2659/1955 -f 1754/2663/1961 1768/2664/1962 1766/2660/1958 -f 1760/2665/1963 1767/2666/1964 1748/2661/1959 -f 1753/2667/1965 1770/2668/1966 1768/2664/1962 -f 1759/2669/1967 1769/2670/1968 1760/2665/1963 -f 1751/2671/1969 1770/2668/1966 1752/2672/1970 -f 1758/2673/1971 1771/2674/1972 1759/2669/1967 -f 1750/2675/1973 1772/2676/1974 1751/2671/1969 -f 1757/2677/1975 1773/2678/1976 1758/2673/1971 -f 1746/2650/1949 1774/2679/1977 1750/2675/1973 -f 1776/2680/1978 1775/2681/1979 1763/2658/1954 -f 1778/2682/1980 1762/2655/1951 1761/2654/1950 -f 1780/2683/1981 1763/2658/1954 1764/2657/1953 -f 1781/2684/1982 1761/2654/1950 1765/2662/1960 -f 1780/2683/1981 1766/2660/1958 1782/2685/1983 -f 1765/2662/1960 1783/2686/1984 1781/2684/1982 -f 1782/2685/1983 1768/2664/1962 1784/2687/1985 -f 1767/2666/1964 1785/2688/1986 1783/2686/1984 -f 1768/2664/1962 1786/2689/1987 1784/2687/1985 -f 1769/2670/1968 1787/2690/1988 1785/2688/1986 -f 1770/2668/1966 1788/2691/1989 1786/2689/1987 -f 1793/2692/1990 1794/2693/1991 1790/2694/1992 -f 1788/2691/1989 1774/2679/1977 1795/2695/1993 -f 1775/2681/1979 1756/2656/1952 1763/2658/1954 -f 1796/2696/1994 1779/2697/1995 1797/2698/1996 -f 1798/2699/1997 1777/2700/1998 1776/2701/1978 -f 1797/2702/1996 1778/2703/1980 1800/2704/1999 -f 1801/2705/2000 1776/2701/1978 1780/2706/1981 -f 1800/2704/1999 1781/2707/1982 1802/2708/2001 -f 1803/2709/2002 1780/2706/1981 1782/2710/1983 -f 1802/2708/2001 1783/2711/1984 1804/2712/2003 -f 1805/2713/2004 1782/2710/1983 1784/2714/1985 -f 1804/2712/2003 1785/2715/1986 1806/2716/2005 -f 1807/2717/2006 1784/2714/1985 1786/2718/1987 -f 1806/2716/2005 1787/2719/1988 1808/2720/2007 -f 1809/2721/2008 1786/2718/1987 1788/2722/1989 -f 1808/2720/2007 1810/2723/2009 1811/2724/2010 -f 1809/2721/2008 1795/2725/1993 1796/2726/1994 -f 1795/2695/1993 1762/2655/1951 1779/2727/1995 -f 1812/2728/2011 1803/2729/2012 1813/2730/2013 -f 1814/2731/2014 1799/2732/2015 1815/2733/2016 -f 1816/2734/2017 1797/2735/2018 1817/2736/2019 -f 1818/2737/2020 1806/2738/2021 1808/2739/2022 -f 1815/2733/2016 1798/2740/2023 1820/2741/2024 -f 1821/2742/2025 1807/2743/2026 1809/2744/2027 -f 1823/2745/2028 1802/2746/2029 1804/2747/2030 -f 1813/2730/2013 1805/2748/2031 1825/2749/2032 -f 1797/2735/2018 1826/2750/2033 1817/2736/2019 -f 1814/2731/2014 1808/2739/2022 1811/2751/2034 -f 1820/2741/2024 1801/2752/2035 1812/2728/2011 -f 1821/2742/2025 1796/2753/2036 1816/2734/2017 -f 1823/2745/2028 1806/2738/2021 1819/2754/2037 -f 1825/2749/2032 1807/2743/2026 1822/2755/2038 -f 1799/2756/2039 1810/2723/2009 1777/2700/1998 -f 1828/2757/2040 1830/2758/2041 1827/2759/2040 -f 1831/2760/2042 1833/2761/2043 1834/2762/2042 -f 1836/2763/2044 1838/2764/2045 1835/2765/2045 -f 1839/2766/2046 1841/2767/2047 1842/2768/2046 -f 1844/2769/2048 1846/2770/2049 1843/2771/2049 -f 1848/2772/2050 1850/2773/2051 1847/2774/2050 -f 1840/2775/2047 1852/2776/2052 1841/2767/2047 -f 1854/2777/2053 1827/2759/2040 1853/2778/2053 -f 1856/2779/2054 1832/2780/2043 1855/2781/2054 -f 1830/2758/2041 1837/2782/2044 1836/2763/2044 -f 1831/2760/2042 1845/2783/2048 1844/2769/2048 -f 1842/2768/2046 1847/2774/2050 1839/2766/2046 -f 1851/2784/2055 1838/2764/2045 1852/2776/2052 -f 1853/2778/2053 1846/2770/2049 1854/2777/2053 -f 1800/2785/2056 1824/2786/2057 1826/2750/2033 -f 1815/2787/2016 1851/2788/1952 1840/2789/2058 -f 1820/2790/2024 1835/2791/1957 1851/2788/1952 -f 1849/2792/2051 1855/2781/2054 1850/2773/2051 -f 1812/2793/2011 1836/2794/1961 1835/2791/1957 -f 1813/2795/2013 1830/2796/1965 1836/2794/1961 -f 1825/2797/2032 1827/2798/1970 1830/2796/1965 -f 1822/2799/2038 1853/2800/1969 1827/2798/1970 -f 1821/2801/2025 1843/2802/2059 1853/2800/1969 -f 1816/2803/2017 1844/2804/2060 1843/2802/2059 -f 1817/2805/2019 1831/2806/2061 1844/2804/2060 -f 1832/2807/1955 1826/2808/2033 1824/2809/2057 -f 1824/2809/2057 1855/2810/1959 1832/2807/1955 -f 1823/2811/2028 1850/2812/1963 1855/2810/1959 -f 1847/2813/2062 1819/2814/2037 1818/2815/2020 -f 1839/2816/1971 1818/2815/2020 1814/2817/2014 -f 1858/2818/1948 1862/2819/1948 1866/2820/1948 -f 1869/2821/1895 1871/2822/2063 1653/2823/1895 -f 1872/2824/1894 1653/2823/1895 1650/2825/1894 -f 1873/2826/1893 1650/2825/1894 1645/2827/1893 -f 1874/2828/1892 1645/2827/1893 1644/2829/1892 -f 1875/2830/1901 1644/2829/1892 1668/2831/1901 -f 1876/2832/1900 1668/2831/1901 1667/2833/1900 -f 1667/2833/1900 1877/2834/1904 1876/2832/1900 -f 1674/2835/1904 1878/2836/1898 1877/2834/1904 -f 1879/2837/1903 1664/2838/1899 1671/2839/1903 -f 1880/2840/1899 1661/2841/1898 1664/2838/1899 -f 1873/2826/1948 1874/2828/1948 1885/2842/1948 -f 1886/2843/2064 1899/2844/2065 1887/2845/2066 -f 1885/2842/2067 1898/2846/2068 1886/2843/2064 -f 1902/2847/2069 1903/2848/2070 1901/2849/2071 -f 1884/2850/2072 1900/2851/2073 1885/2842/2067 -f 1891/2852/2074 1903/2848/2070 1892/2853/2075 -f 1906/2854/2076 1863/2855/2077 1862/2856/2078 -f 1908/2857/2079 1910/2858/2080 1911/2859/2081 -f 1912/2860/2082 1914/2861/2083 1915/2862/2084 -f 1916/2863/2085 1907/2864/2086 1906/2865/2087 -f 1911/2859/2081 1918/2866/2088 1919/2867/2089 -f 1921/2868/2090 1923/2869/2091 1920/2870/2092 -f 1925/2871/2093 1927/2872/2094 1924/2873/2095 -f 1929/2874/2096 1931/2875/2097 1928/2876/2098 -f 1908/2857/2079 1906/2865/2087 1909/2877/2099 -f 1919/2867/2089 1932/2878/2100 1933/2879/2101 -f 1920/2870/2092 1913/2880/2102 1912/2860/2082 -f 1917/2881/2103 1927/2872/2094 1907/2864/2086 -f 1711/2882/1948 1935/2883/1948 1934/2884/1948 -f 1939/2885/2104 1940/2886/2104 1936/2887/2104 -f 1942/2888/2105 1944/2889/2106 1941/2890/2106 -f 1945/2891/2107 1926/2892/2108 1925/2871/2093 -f 1911/2893/2081 1948/2894/2109 1947/2895/2110 -f 1919/2896/2089 1949/2897/2111 1948/2894/2109 -f 1951/2898/2112 1953/2899/2113 1950/2900/2112 -f 1949/2897/2111 1929/2901/2096 1954/2902/2114 -f 1955/2903/2115 1956/2904/2116 1957/2905/2117 -f 1938/2906/2118 1959/2907/2118 1960/2908/2118 -f 1958/2909/2119 1962/2910/2120 1963/2911/2121 -f 1965/2912/2122 1967/2913/2122 1964/2914/2122 -f 1717/2631/1928 1622/2915/2123 1718/2644/1941 -f 1633/2578/2124 1969/2916/2125 1634/2567/2126 -f 1971/2917/2127 1973/2918/2128 1970/2919/2127 -f 1976/2920/2129 1977/2921/2130 1978/2922/2131 -f 1879/2837/1903 1980/2923/2132 1979/2924/2132 -f 1973/2918/2128 1706/2925/2133 1710/2624/1921 -f 1981/2926/2134 1982/2927/2135 1983/2928/2136 -f 1985/2929/2137 1969/2916/2125 1984/2930/2138 -f 1986/2931/2139 1987/2932/2140 1639/2933/2141 -f 1989/2934/2142 1990/2935/2143 1991/2936/2144 -f 1989/2934/2142 1991/2936/2144 1992/2937/2145 -f 1994/2938/2146 1712/2939/2147 1996/2940/2148 -f 1710/2941/2149 1998/2942/2149 1709/2943/2149 -f 1970/2919/2127 2000/2944/2150 1971/2917/2127 -f 2003/2945/2151 1994/2946/2152 2005/2947/2153 -f 1966/2948/2154 1939/2949/2155 2006/2950/2156 -f 2007/2951/2157 1713/2952/2157 2008/2953/2157 -f 2008/2953/2158 1959/2954/2158 2007/2951/2158 -f 1961/2955/2159 1960/2956/2159 2006/2957/2159 -f 1713/2952/2160 1961/2955/2161 2006/2957/2162 -f 2007/2951/2163 1961/2955/2164 1714/2958/2165 -f 1958/2909/2166 1937/2959/2166 1962/2910/2166 -f 1963/2911/2167 1937/2959/2167 1936/2887/2167 -f 2008/2953/2104 2006/2957/2104 1960/2956/2104 -f 1969/2916/2125 2010/2960/2168 2009/2961/2169 -f 2013/2962/2170 1707/2963/2171 1708/2964/2172 -f 2016/2965/2173 2018/2966/2174 2015/2967/2174 -f 2018/2968/2175 1966/2969/2175 2015/2970/2175 -f 1708/2971/2176 1707/2972/2177 2006/2973/2104 -f 1936/2974/2178 1714/2975/2179 1713/2976/2178 -f 2019/2977/2180 2021/2978/2181 1712/2979/2182 -f 2022/2980/2183 2019/2981/2184 1712/2982/2185 -f 2020/2983/2186 2022/2984/2183 2021/2978/2186 -f 2024/2985/2187 2026/2986/2188 1995/2987/2189 -f 2027/2988/2190 2026/2986/2191 2028/2989/2192 -f 2028/2989/2192 2024/2985/2193 2027/2988/2190 -f 1935/2990/2194 1714/2991/2195 1963/2992/2196 -f 1935/2993/2197 1963/2994/2197 1936/2995/2198 -f 1713/2976/2178 1995/2996/2199 1936/2974/2178 -f 2029/2997/2200 2031/2998/2201 1985/2929/2202 -f 2029/2997/2200 2032/2999/2203 2030/3000/2204 -f 2032/2999/2203 2034/3001/2205 2033/3002/2206 -f 2035/3003/2207 1985/2929/2202 2031/2998/2201 -f 1634/2567/2126 1985/2929/2137 2036/3004/2208 -f 2038/3005/2209 1968/3006/2210 2037/3007/2211 -f 2039/3008/2212 2041/3009/2213 2042/3010/2214 -f 1632/2577/2215 2043/3011/2215 1631/2569/2215 -f 2043/3011/2216 1636/2576/2216 1631/2569/2216 -f 2044/3012/2217 2045/3013/2218 2046/3014/2219 -f 2047/3015/2220 2048/3016/2221 2049/3017/2222 -f 2044/3012/2217 2050/3018/2223 2045/3013/2218 -f 2046/3014/2219 2039/3019/2224 2051/3020/2225 -f 2052/3021/2226 2050/3018/2223 2053/3022/2227 -f 1981/2926/2134 2054/3023/2228 2055/3024/2229 -f 2056/3025/2230 1991/2936/2230 2057/3026/2230 -f 2050/3018/2223 2058/3027/2231 2045/3013/2218 -f 2057/3026/2232 1991/2936/2232 1990/2935/2232 -f 2059/3028/2233 2058/3027/2231 2050/3018/2223 -f 2060/3029/2234 2061/3030/2235 2059/3028/2233 -f 2062/3031/2236 2060/3029/2234 2048/3016/2221 -f 2058/3027/2231 2063/3032/2237 2064/3033/2238 -f 2061/3030/2235 2063/3032/2237 2058/3027/2231 -f 2065/3034/2239 2066/3035/2240 2067/3036/2241 -f 2068/3037/2242 2069/3038/2242 2065/3039/2242 -f 2069/3040/2243 2066/3035/2244 2065/3034/2245 -f 2069/3040/2243 2070/3041/2246 2066/3035/2244 -f 2066/3035/2247 2070/3041/2247 2071/3042/2247 -f 2069/3038/2248 2072/3043/2249 2070/3044/2250 -f 2072/3043/2251 2073/3045/2251 2074/3046/2251 -f 2073/3045/2252 2072/3043/2252 2068/3037/2252 -f 2068/3037/2253 1969/3047/2254 2073/3045/2255 -f 2067/3036/2256 2071/3042/2256 2074/3048/2256 -f 2058/3027/2231 2064/3033/2238 2040/3049/2257 -f 2063/3050/2258 2075/3051/2259 2076/3052/2260 -f 2075/3051/2259 2060/3053/2261 2077/3054/2262 -f 2060/3053/2261 2078/3055/2263 2077/3054/2262 -f 2079/3056/2264 2041/3009/2213 2040/3057/2265 -f 2057/3058/2266 2081/3059/2267 2082/3060/2268 -f 2076/3052/2260 2079/3056/2264 2064/3061/2269 -f 2075/3051/2270 2083/3062/2271 2084/3063/2272 -f 2077/3054/2273 2080/3064/2274 2083/3062/2271 -f 1773/2678/1976 1775/2681/1979 1810/3065/2009 -f 2057/3058/2266 2055/3066/2275 2083/3062/2271 -f 2080/3064/2274 2057/3058/2266 2083/3062/2271 -f 2055/3066/2276 2082/3060/2276 2083/3062/2276 -f 2085/3067/2277 2081/3059/2278 2080/3064/2279 -f 2086/3068/2280 2087/3069/2281 2088/3070/2282 -f 2086/3068/2283 2089/3071/2284 2082/3060/2268 -f 2081/3059/2267 2086/3068/2283 2082/3060/2268 -f 2051/3072/2285 2090/3073/2286 2091/3074/2287 -f 2080/3064/2279 2078/3075/2263 2047/3076/2288 -f 2051/3077/2285 2042/3010/2214 2090/3073/2286 -f 2089/3071/2289 2092/3078/2290 2093/3079/2291 -f 2094/3080/2292 2051/3081/2285 2091/3082/2287 -f 2088/3070/2282 2092/3078/2290 2086/3068/2280 -f 2095/3083/2293 2094/3084/2292 2091/3074/2287 -f 2067/3036/2294 2073/3085/2295 1969/3086/2296 -f 2096/3087/2297 2093/3079/2291 2095/3083/2293 -f 2085/3067/2277 2097/3088/2298 2087/3069/2281 -f 2093/3079/2299 2098/3089/2300 2095/3083/2301 -f 2097/3088/2302 2049/3017/2222 2099/3090/2303 -f 2092/3078/2304 2100/3091/2305 2093/3079/2299 -f 2099/3090/2303 2101/3092/2306 2102/3093/2307 -f 2102/3093/2307 2103/3094/2308 2100/3091/2305 -f 2098/3089/2300 2046/3014/2219 2094/3095/2309 -f 2099/3090/2303 2049/3017/2222 2101/3092/2306 -f 2100/3091/2305 2044/3012/2217 2098/3089/2300 -f 2097/3088/2302 2047/3015/2220 2049/3017/2222 -f 2103/3094/2308 2044/3012/2217 2100/3091/2305 -f 2078/3055/2263 2062/3096/2310 2047/3097/2288 -f 2103/3094/2308 2052/3021/2226 2053/3022/2227 -f 2101/3092/2306 2049/3017/2222 2052/3021/2226 -f 2055/3098/2311 2104/3099/2312 2105/3100/2313 -f 2106/3101/2314 2104/3099/2315 2107/3102/2316 -f 1982/2927/2135 1981/2926/2134 2055/3024/2229 -f 2108/3103/2317 2110/3104/2318 2111/3105/2319 -f 2057/3026/2320 2106/3101/2320 2056/3025/2320 -f 2104/3099/2321 2055/3098/2322 2107/3102/2323 -f 1636/3106/2324 1635/2568/2325 2035/3003/2207 -f 2043/3011/2326 1635/3107/2326 1636/2576/2326 -f 1635/2568/2325 1634/2567/2327 2036/3004/2328 -f 1635/2568/2325 2036/3004/2328 2035/3003/2207 -f 2037/3007/2211 1968/3006/2210 1632/2577/2329 -f 1717/2631/1928 1695/2635/1932 1694/3108/2330 -f 2114/3109/2331 2115/3110/2332 1682/3111/2333 -f 2009/2961/2169 2119/3112/2334 2120/3113/2335 -f 1984/2930/2138 2029/2997/2336 1985/2929/2137 -f 2121/3114/2337 2041/3009/2338 2084/3063/2272 -f 2120/3113/2339 2122/3115/2340 2123/3116/2341 -f 2034/3001/2342 2123/3116/2341 2033/3002/2343 -f 2082/3060/2268 2124/3117/2344 2121/3114/2337 -f 2030/3000/2345 2125/3118/2346 2126/3119/2347 -f 2030/3000/2345 2126/3119/2347 2031/2998/2348 -f 2027/3120/2349 2024/3121/2349 1995/3122/2349 -f 2028/2989/2350 2026/2986/2350 2025/3123/2350 -f 2022/3124/2351 1712/3125/2351 2021/3126/2351 -f 2023/3127/2352 2020/2983/2352 2019/2977/2352 -f 1967/3128/1918 1966/3129/1918 1961/3130/1918 -f 1964/3131/2353 1939/2949/2353 1965/3132/2353 -f 2127/3133/2354 2129/3134/2355 2130/3135/2356 -f 1992/2937/2357 2131/3136/2358 1989/2934/2359 -f 1983/2928/2360 1982/2927/2361 2132/3137/2362 -f 2132/3137/2363 2105/3100/2313 1989/2934/2364 -f 2133/3138/2365 2135/3139/2366 2053/3140/2367 -f 2136/3141/2368 2138/3142/2369 2139/3143/2370 -f 2140/3144/2371 2141/3145/2372 2142/3146/2373 -f 2143/3147/2374 2135/3139/2366 2144/3148/2375 -f 1627/3149/2376 1689/3150/2377 2150/3151/2378 -f 2153/3152/2379 2154/3153/2380 2155/3154/2381 -f 2156/3155/2382 2157/3156/2383 2158/3157/2384 -f 2158/3157/2384 2157/3156/2383 2159/3158/2385 -f 2153/3152/2379 2156/3155/2386 2158/3157/2387 -f 2153/3152/2379 2158/3157/2387 2154/3153/2380 -f 2140/3144/2371 1956/2904/2388 2141/3145/2372 -f 2143/3147/2374 2053/3140/2367 2135/3139/2366 -f 2142/3146/2373 2141/3145/2372 2133/3138/2365 -f 2160/3159/2389 2127/3133/2354 2130/3135/2356 -f 2161/3160/2390 2129/3134/2391 2128/3161/2392 -f 2127/3133/2354 2160/3159/2389 2162/3162/2393 -f 2163/3163/2394 2164/3164/2395 2161/3160/2390 -f 2127/3133/2396 2165/3165/2397 2128/3161/2398 -f 2165/3165/2399 2161/3160/2390 2128/3161/2392 -f 1956/2904/2116 2164/3164/2395 2163/3163/2394 -f 2166/3166/2400 2127/3133/2396 2162/3162/2401 -f 2166/3166/2400 2165/3165/2397 2127/3133/2396 -f 2134/3167/2402 2166/3166/2400 2144/3148/2375 -f 2134/3167/2402 2165/3165/2397 2166/3166/2400 -f 2135/3139/2366 2134/3167/2402 2144/3148/2375 -f 2134/3167/2402 2133/3138/2365 2165/3165/2397 -f 2141/3145/2372 2165/3165/2397 2133/3138/2365 -f 2141/3145/2372 1956/2904/2388 2163/3163/2403 -f 1805/3168/2404 2152/3169/2405 1803/3170/2406 -f 2137/3171/2407 2150/3151/2408 2149/3172/2409 -f 2136/3141/2368 2151/3173/2410 2150/3151/2408 -f 1626/3174/2411 2108/3103/2317 2111/3105/2319 -f 2170/3175/2412 2171/3176/2413 2167/3177/2414 -f 2174/3178/2415 1641/3179/1890 1640/3180/1889 -f 2170/3181/2416 2169/3182/2417 1925/3183/2418 -f 2181/3184/2419 2183/3185/1948 2184/3186/2420 -f 1637/2579/2421 1988/3187/2422 1638/2580/2423 -f 1638/2580/2424 1637/3188/2425 1639/2584/2424 -f 2189/3189/2426 1994/3190/2426 2004/3191/2426 -f 1717/2631/1928 1693/3192/2427 1716/2630/1926 -f 1971/3193/2428 2191/3194/2429 1972/3195/2430 -f 1638/3196/2431 1639/2584/1891 1641/2583/1890 -f 2158/3157/2432 2193/3197/2433 2154/3153/2434 -f 1986/3198/2139 1638/3199/2431 2197/3200/2435 -f 1676/3201/1948 2198/3202/1948 1655/3203/1948 -f 2199/3204/2436 2200/3205/1918 1975/3206/2437 -f 2205/3207/2438 2146/3208/2439 1805/3168/2440 -f 2197/3209/2435 1638/3210/2431 2194/3211/2441 -f 1639/2584/1891 1637/3188/2442 1640/3212/1889 -f 1665/2600/1901 1644/3213/1892 1643/2585/1892 -f 1652/2591/1895 1871/3214/2063 2206/3215/2063 -f 2206/3215/2063 1657/2594/1897 1660/2593/1897 -f 1673/2605/1904 1667/3216/1900 1666/2598/1900 -f 2207/3217/2443 2209/3218/2444 2210/3219/2445 -f 1801/3220/2446 1805/3221/2447 1800/3222/2448 -f 2208/3223/2449 2211/3224/2450 2209/3225/2444 -f 2173/3226/2353 2210/3227/2451 2174/3228/2451 -f 2112/3229/2452 1722/3230/2453 1721/3231/2454 -f 1683/3232/2455 2112/3229/2452 1721/3231/2454 -f 1698/3233/2456 2215/3234/2457 2216/3235/2458 -f 2218/3236/2459 2217/3237/2460 2219/3238/2459 -f 1699/3239/2461 2212/3240/2461 2218/3236/2461 -f 1730/2646/1943 1697/3241/2462 1728/2643/1940 -f 1894/3242/1896 1669/3243/1902 1658/3244/1896 -f 1669/2602/1902 2220/3245/2132 1670/2601/1902 -f 1657/3246/1897 1894/3242/1896 1658/3244/1896 -f 1979/2924/1948 1893/3247/1948 1902/2847/1948 -f 2221/3248/2463 2196/3249/2464 2222/3250/2464 -f 2223/3251/2465 1902/2847/2069 1901/2849/2071 -f 1890/3252/2466 1905/3253/2467 1891/2852/2074 -f 1882/3254/2468 2225/3255/2469 1883/3256/2470 -f 1883/3256/2470 1904/3257/2471 1884/2850/2072 -f 1890/3252/2466 1793/2692/1990 1792/3258/2472 -f 1897/3259/2473 2227/3260/2474 1881/3261/2475 -f 1888/3262/2476 1793/2692/1990 1889/3263/2477 -f 1881/3261/2475 2224/3264/2478 1882/3254/2468 -f 1860/3265/2479 2223/3251/2465 1859/3266/2480 -f 1887/2845/2066 1794/2693/1991 1888/3262/2476 -f 1866/3267/2481 1899/2844/2065 1898/2846/2068 -f 1858/3268/2482 2223/3251/2465 1901/2849/2071 -f 1903/2848/2070 1868/3269/2483 1857/3270/2484 -f 1901/2849/2071 1857/3270/2484 1858/3268/2482 -f 1865/3271/2485 1898/2846/2068 1900/2851/2073 -f 1904/3257/2471 1863/3272/2486 1864/3273/2487 -f 1905/3253/2467 1791/3274/2488 1868/3269/2483 -f 2225/3255/2469 1862/3275/2489 1863/3272/2486 -f 2224/3264/2478 1861/3276/2490 1862/3275/2489 -f 1914/3277/2491 1789/3278/2492 1867/3279/2493 -f 1910/3280/2494 1859/3281/2495 1918/3282/2496 -f 1860/3265/2479 2227/3260/2474 2226/3283/2497 -f 1896/3284/2498 2226/3283/2497 1897/3259/2473 -f 1932/3285/2499 1857/3286/2500 1930/3287/2501 -f 1946/3288/2502 1867/3279/2493 1866/3289/2503 -f 1918/3282/2496 1858/3290/2504 1932/3285/2499 -f 1927/3291/2505 1865/3292/2506 1864/3293/2507 -f 1926/3294/2508 1866/3289/2503 1865/3292/2506 -f 1907/3295/2509 1864/3293/2507 1863/2855/2077 -f 1930/3296/2501 1868/3297/2510 1931/3298/2511 -f 1789/3299/2512 1899/2844/2065 1867/3300/2513 -f 1931/3301/2511 1791/3302/2514 1922/3303/2515 -f 1913/3304/2516 1790/3305/2517 1789/3278/2492 -f 1923/3306/2518 1791/3302/2514 1790/3305/2517 -f 1932/2878/2100 1929/2874/2096 1933/2879/2101 -f 1909/3307/2519 1862/2856/2078 1861/3308/2520 -f 1900/2851/2073 1864/3273/2487 1865/3271/2485 -f 1914/2861/2083 1945/2891/2107 1915/2862/2084 -f 1910/3280/2494 1861/3308/2520 1860/3309/2521 -f 1928/2876/2098 1922/3310/2522 1921/2868/2090 -f 2013/2962/2170 2017/3311/2173 2016/2965/2173 -f 2228/3312/2523 2230/3313/2524 1954/3314/2524 -f 2231/3315/2525 1951/2898/2112 1950/2900/2112 -f 1948/3316/2526 2233/3317/2527 2234/3318/2526 -f 2235/3319/2528 2232/3320/2525 2231/3315/2525 -f 2238/3321/2529 2240/3322/2530 2237/3323/2529 -f 1947/3324/2531 2234/3318/2526 2241/3325/2531 -f 1952/3326/2113 1942/2888/2105 1953/2899/2113 -f 1954/3314/2524 2233/3317/2527 1949/3327/2532 -f 2239/3328/2530 2228/3312/2523 2240/3322/2530 -f 2242/3329/2533 2244/3330/2534 2245/3331/2535 -f 1947/3324/2531 2236/3332/2536 2235/3319/2528 -f 1941/2890/2106 2244/3330/2534 2243/3333/2534 -f 2245/3331/2535 2237/3323/2529 2242/3329/2533 -f 2228/3334/2537 1921/3335/2090 2240/3336/2538 -f 1921/3335/2090 2237/3337/2539 2240/3336/2538 -f 2228/3334/2537 1929/2901/2096 1928/3338/2098 -f 1912/3339/2082 2243/3340/2540 2242/3341/2541 -f 1920/3342/2092 2242/3341/2541 2237/3337/2539 -f 2243/3340/2540 1945/3343/2107 1941/3344/2542 -f 1945/3343/2107 1942/3345/2543 1941/3344/2542 -f 1953/3346/2544 1925/3347/2093 1924/3348/2095 -f 1924/3348/2095 1950/3349/2545 1953/3346/2544 -f 1917/3350/2103 2231/3351/2546 1950/3349/2545 -f 1916/3352/2085 2235/3353/2547 2231/3351/2546 -f 1908/3354/2079 1947/3355/2110 2235/3353/2547 -f 2246/3356/2548 2174/3357/2451 2210/3358/2451 -f 2204/3359/2120 2248/3360/2120 2249/3361/2120 -f 1982/2927/2549 2055/3024/2311 2105/3100/2313 -f 1989/2934/2364 2105/3100/2313 1990/2935/2550 -f 1982/2927/2549 2105/3100/2313 2132/3137/2363 -f 2131/3136/2358 2132/3137/2362 1989/2934/2359 -f 2250/3362/2551 2132/3137/2362 2131/3136/2358 -f 2250/3362/2551 1983/2928/2360 2132/3137/2362 -f 2054/3023/2552 2107/3102/2323 2055/3098/2322 -f 2104/3099/2312 2057/3026/2553 1990/2935/2550 -f 2105/3100/2313 2104/3099/2312 1990/2935/2550 -f 2067/3036/2241 2066/3035/2240 2071/3042/2554 -f 2070/3044/2555 2074/3046/2555 2071/3363/2555 -f 2072/3043/2556 2074/3046/2556 2070/3044/2556 -f 2069/3038/2248 2068/3037/2557 2072/3043/2249 -f 2068/3364/2253 2065/3034/2558 1969/3086/2254 -f 1969/3086/2559 2065/3034/2239 2067/3036/2241 -f 2101/3092/2306 2052/3021/2226 2103/3094/2308 -f 2053/3022/2227 2044/3012/2217 2103/3094/2308 -f 2044/3012/2217 2046/3014/2219 2098/3089/2300 -f 2046/3014/2219 2051/3020/2225 2094/3095/2309 -f 2101/3092/2306 2103/3094/2308 2102/3093/2307 -f 2102/3093/2307 2100/3091/2305 2092/3078/2304 -f 2098/3089/2300 2094/3095/2309 2095/3083/2301 -f 2099/3090/2303 2102/3093/2307 2088/3070/2560 -f 2088/3070/2560 2102/3093/2307 2092/3078/2304 -f 2100/3091/2305 2098/3089/2300 2093/3079/2299 -f 2097/3088/2302 2099/3090/2303 2087/3069/2561 -f 2087/3069/2561 2099/3090/2303 2088/3070/2560 -f 2089/3071/2289 2093/3079/2291 2096/3087/2297 -f 2087/3069/2281 2081/3059/2278 2085/3067/2277 -f 2096/3087/2297 2095/3083/2293 2124/3117/2562 -f 2124/3117/2562 2095/3083/2293 2091/3074/2287 -f 2092/3078/2290 2089/3071/2289 2086/3068/2280 -f 2089/3071/2289 2096/3087/2297 2124/3117/2562 -f 2090/3073/2563 2124/3117/2344 2091/3074/2564 -f 2121/3114/2337 2124/3117/2344 2090/3073/2563 -f 2082/3060/2268 2055/3066/2275 2057/3058/2266 -f 2083/3062/2271 2082/3060/2268 2121/3114/2337 -f 2083/3062/2271 2121/3114/2337 2084/3063/2272 -f 2090/3073/2286 2042/3010/2214 2041/3009/2213 -f 2078/3075/2263 2080/3064/2279 2077/3054/2262 -f 2077/3054/2273 2083/3062/2271 2075/3051/2270 -f 2075/3051/2270 2084/3063/2272 2076/3052/2565 -f 2084/3063/2272 2079/3056/2566 2076/3052/2565 -f 2084/3063/2272 2041/3009/2338 2079/3056/2566 -f 2079/3056/2264 2040/3057/2265 2064/3061/2269 -f 2061/3365/2567 2075/3051/2259 2063/3050/2258 -f 2039/3008/2212 2042/3366/2214 2051/3367/2285 -f 2076/3052/2260 2064/3061/2269 2063/3050/2258 -f 2058/3027/2231 2040/3049/2257 2045/3013/2218 -f 2060/3029/2234 2059/3028/2233 2048/3016/2221 -f 2040/3049/2257 2039/3019/2224 2045/3013/2218 -f 2061/3030/2235 2058/3027/2231 2059/3028/2233 -f 2062/3031/2236 2048/3016/2221 2047/3015/2220 -f 2059/3028/2233 2052/3021/2226 2048/3016/2221 -f 2059/3028/2233 2050/3018/2223 2052/3021/2226 -f 2045/3013/2218 2039/3019/2224 2046/3014/2219 -f 2053/3022/2227 2050/3018/2223 2044/3012/2217 -f 2048/3016/2221 2052/3021/2226 2049/3017/2222 -f 2126/3119/2347 2035/3003/2568 2031/2998/2348 -f 2126/3119/2347 1636/3106/2569 2035/3003/2568 -f 1632/2577/2329 1968/3006/2210 1633/2578/2570 -f 1969/2916/2125 2009/2961/2169 1984/2930/2138 -f 2009/2961/2169 2034/3001/2571 1984/2930/2138 -f 2009/2961/2169 2010/2960/2168 2119/3112/2334 -f 2119/3112/2572 2251/3368/2573 2122/3115/2340 -f 2120/3113/2339 2119/3112/2572 2122/3115/2340 -f 2034/3001/2342 2120/3113/2339 2123/3116/2341 -f 2032/3369/2574 2033/3370/2575 2125/3371/2346 -f 2030/3000/2345 2032/2999/2574 2125/3118/2346 -f 2017/3372/1918 2012/3373/1918 2011/3374/1918 -f 2249/3361/2576 2149/3172/2409 2148/3375/2577 -f 1803/3170/2406 2253/3376/2578 2201/3377/2579 -f 2108/3103/2317 2139/3143/2370 2109/3378/2580 -f 2138/3142/2369 2249/3361/2576 2248/3360/2581 -f 1957/2905/2117 1956/2904/2582 2140/3144/2583 -f 2043/3379/2584 2156/3155/2585 2153/3152/2586 -f 1870/3380/2063 1657/3246/1897 1871/2822/2063 -f 2256/3381/2587 2257/3382/2588 1831/3383/2589 -f 1640/3212/1889 1637/3188/2442 1988/3384/2590 -f 2002/3385/2591 2259/3386/2592 2221/3387/2592 -f 1987/3388/1918 2221/3389/2593 2259/3390/1918 -f 1913/3391/2594 1914/3392/2179 1930/3393/2595 -f 2262/3394/2596 1700/3395/2597 1699/3396/2598 -f 1730/2646/1943 1629/2641/1938 1628/3397/2599 -f 1814/2817/2014 1840/3398/2058 1839/2816/1971 -f 2188/3399/2600 1977/3400/2601 1976/3401/2602 -f 2006/3402/2353 2014/3403/2353 2015/3404/2353 -f 2142/3146/2373 2133/3138/2365 2053/3140/2367 -f 2252/3405/2603 2152/3169/2405 1690/3406/2604 -f 2266/3407/2605 2267/3408/2606 2167/3409/2607 -f 2247/3410/2608 2195/3411/2609 2194/3412/2441 -f 1689/3413/2610 1627/3414/2611 2162/3415/2612 -f 2159/3416/2613 2157/3417/2614 1626/3418/2615 -f 1690/3419/2616 2161/3420/2617 2164/3421/2618 -f 2110/3422/2619 2251/3423/2620 2193/3424/2621 -f 2010/2960/2622 2251/3368/2623 2119/3112/2624 -f 2085/3067/2277 2047/3425/2288 2097/3426/2298 -f 2265/3427/2625 1975/3428/2626 2200/3429/2625 -f 2273/3430/2627 2196/3431/2628 2195/3432/2629 -f 2154/3153/2630 2193/3197/2621 2251/3423/2620 -f 2191/3433/2631 1970/3434/2632 1973/3435/2633 -f 1671/2604/1903 2220/3245/2132 1980/3436/2132 -f 1980/2923/2132 1893/3247/1902 1979/2924/2132 -f 1993/3437/2634 1997/3438/2635 1988/3439/2636 -f 2280/3440/2637 1996/3441/2638 2279/3442/2637 -f 2282/3443/2639 2284/3444/2640 2281/3445/2640 -f 2285/3446/2641 2283/3447/2639 2282/3443/2639 -f 2281/3445/2640 2288/3448/2642 2287/3449/2642 -f 2290/3450/2643 2292/3451/2644 2289/3452/2644 -f 2294/3453/2645 2292/3451/2644 2293/3454/2645 -f 2298/3455/2646 2296/3456/2647 2295/3457/2646 -f 2297/3458/2647 2299/3459/2648 2296/3456/2647 -f 2304/3460/2649 2302/3461/2650 2301/3462/2650 -f 2293/3454/2645 2305/3463/2651 2294/3453/2645 -f 2308/3464/2652 2295/3457/2646 2307/3465/2652 -f 2309/3466/2647 2300/3467/2648 2297/3468/2647 -f 2311/3469/2646 2297/3468/2647 2298/3470/2646 -f 2312/3471/2652 2298/3470/2646 2308/3472/2652 -f 2313/3473/2651 2308/3472/2652 2306/3474/2651 -f 2314/3475/2645 2306/3474/2651 2293/3476/2645 -f 2315/3477/2644 2293/3476/2645 2292/3478/2644 -f 2316/3479/2643 2292/3478/2644 2291/3480/2643 -f 2317/3481/2642 2291/3480/2643 2288/3482/2642 -f 2318/3483/2640 2288/3482/2642 2284/3484/2640 -f 2283/3485/2639 2320/3486/2641 2319/3487/2639 -f 2319/3487/2639 2284/3484/2640 2283/3485/2639 -f 2321/3488/2649 2286/3489/2641 2304/3490/2649 -f 2322/3491/2650 2304/3490/2649 2301/3492/2650 -f 2324/3493/2653 2301/3492/2650 2323/3494/2653 -f 2310/3495/2648 2323/3494/2653 2300/3467/2648 -f 2303/3496/2649 2286/3497/2641 2285/3446/2641 -f 2287/3449/2642 2291/3498/2643 2290/3450/2643 -f 2305/3463/2651 2308/3464/2652 2307/3465/2652 -f 2323/3499/2653 2302/3461/2650 2325/3500/2653 -f 2300/3501/2648 2325/3500/2653 2299/3459/2648 -f 1643/2585/1892 1644/3213/1892 1645/2586/1893 -f 1642/2587/1893 1645/2586/1893 1650/2588/1894 -f 1649/2589/1894 1650/2588/1894 1653/2590/1895 -f 1658/2592/1896 1659/3502/1896 1660/2593/1897 -f 1662/2595/1898 1663/3503/1899 1664/2596/1899 -f 1666/2598/1900 1667/3216/1900 1668/2599/1901 -f 1670/2601/1902 1659/3502/1896 1658/2592/1896 -f 1664/2596/1899 1663/3503/1899 1672/2603/1903 -f 1661/2597/1898 1674/3504/1904 1673/2605/1904 -f 1682/2606/1905 1683/3232/1905 1684/2607/1905 -f 1685/2608/1906 1684/2607/1906 1686/2609/1906 -f 1697/2612/1908 1688/3505/2654 1690/2613/1909 -f 1688/3505/2654 1689/3506/2655 1690/2613/1909 -f 1690/2613/1909 1691/3507/2656 1694/3508/2657 -f 1691/3507/2656 1692/3509/2353 1693/3510/2658 -f 1694/3508/2657 1691/3507/2656 1693/3510/2658 -f 1694/3508/2657 1695/3511/2659 1690/2613/1909 -f 1695/3511/2659 1696/2611/1907 1690/2613/1909 -f 1698/2614/1910 1699/3239/2660 1700/2615/1911 -f 1702/2617/1913 1703/2629/1925 1704/2618/1914 -f 1705/2619/1916 1704/2618/2661 1625/2620/1917 -f 1710/2624/1921 1706/2925/2133 1708/2622/1919 -f 1706/2925/2133 1707/3512/2662 1708/2622/1919 -f 1715/2627/1923 1711/3513/2663 1713/2625/1922 -f 1711/3513/2663 1712/3514/2664 1713/2625/1922 -f 1692/2628/1924 1691/3515/2665 1703/2629/1925 -f 1716/2630/1926 1693/3192/2427 1692/2628/1924 -f 1716/2630/1926 1702/2617/1913 1705/2619/1915 -f 1717/2631/1928 1716/2630/1926 1624/2621/1927 -f 1695/2635/1932 1718/2644/1941 1720/2633/1930 -f 1718/2644/1941 1719/2642/1939 1720/2633/1930 -f 1686/3516/2666 1684/3517/2667 1727/3518/2668 -f 1684/3517/2667 1683/2636/1933 1727/3518/2668 -f 1683/2636/1933 1721/3519/2669 1725/2637/1934 -f 1721/3519/2669 1722/3520/2670 1724/3521/2671 -f 1725/2637/1934 1721/3519/2669 1724/3521/2671 -f 1722/3520/2670 1723/3522/2670 1724/3521/2671 -f 1726/2638/1935 1727/3518/2668 1683/2636/1933 -f 1629/2641/1938 1728/2643/1940 1729/2639/1936 -f 1728/2643/1940 1719/2642/1939 1729/2639/1936 -f 1728/2643/1940 1697/3241/2462 1720/2633/1930 -f 1697/3241/2462 1696/2634/1931 1720/2633/1930 -f 1718/2644/1941 1622/2915/2123 1729/2639/1936 -f 1622/2915/2123 1630/2640/1937 1729/2639/1936 -f 1688/3523/2672 1730/2646/1943 1689/2645/1942 -f 1730/2646/1943 1628/3397/2599 1627/2647/1944 -f 1734/2648/1945 1735/3524/1948 1747/2649/1946 -f 1760/2665/1948 1748/2661/1948 1738/3525/1948 -f 1748/2661/1948 1749/2659/1948 1737/3526/1948 -f 1738/3525/1948 1748/2661/1948 1737/3526/1948 -f 1749/2659/1948 1747/2649/1946 1736/3527/1948 -f 1747/2649/1946 1735/3524/1948 1736/3527/1948 -f 1759/2669/1948 1760/2665/1948 1738/3525/1948 -f 1757/2677/1948 1758/2673/1948 1740/3528/1948 -f 1758/2673/1948 1759/2669/1948 1739/3529/1948 -f 1755/2653/1948 1756/2656/1948 1743/2651/1948 -f 1756/2656/1948 1757/2677/1948 1742/3530/1948 -f 1743/2651/1948 1756/2656/1948 1742/3530/1948 -f 1753/2667/1948 1754/2663/1948 1745/3531/1948 -f 1754/2663/1948 1755/2653/1948 1744/2652/1948 -f 1745/3531/1948 1754/2663/1948 1744/2652/1948 -f 1751/2671/1948 1752/2672/1948 1732/3532/1948 -f 1752/2672/1948 1753/2667/1948 1732/3532/1948 -f 1746/2650/1947 1750/2675/2673 1733/3533/2674 -f 1750/2675/2673 1751/2671/1948 1733/3533/2674 -f 1733/3533/2674 1734/2648/1945 1746/2650/1947 -f 1749/2659/1948 1736/3527/1948 1737/3526/1948 -f 1731/3534/1948 1733/3533/2674 1751/2671/1948 -f 1732/3532/1948 1731/3534/1948 1751/2671/1948 -f 1759/2669/1948 1738/3525/1948 1739/3529/1948 -f 1745/3531/1948 1732/3532/1948 1753/2667/1948 -f 1758/2673/1948 1739/3529/1948 1740/3528/1948 -f 1757/2677/1948 1740/3528/1948 1741/3535/1948 -f 1757/2677/1948 1741/3535/1948 1742/3530/1948 -f 1746/2650/1949 1747/2649/1956 1761/2654/1950 -f 1756/2656/1952 1755/2653/1957 1764/2657/1953 -f 1749/2659/1955 1765/2662/1960 1761/2654/1950 -f 1755/2653/1957 1754/2663/1961 1766/2660/1958 -f 1748/2661/1959 1767/2666/1964 1765/2662/1960 -f 1754/2663/1961 1753/2667/1965 1768/2664/1962 -f 1760/2665/1963 1769/2670/1968 1767/2666/1964 -f 1753/2667/1965 1752/2672/1970 1770/2668/1966 -f 1759/2669/1967 1771/2674/1972 1769/2670/1968 -f 1751/2671/1969 1772/2676/1974 1770/2668/1966 -f 1758/2673/1971 1773/2678/1976 1771/2674/1972 -f 1750/2675/1973 1774/2679/1977 1772/2676/1974 -f 1757/2677/1975 1775/2681/1979 1773/2678/1976 -f 1746/2650/1949 1762/2655/1951 1774/2679/1977 -f 1776/2680/1978 1777/3536/1998 1775/2681/1979 -f 1778/2682/1980 1779/2727/1995 1762/2655/1951 -f 1780/2683/1981 1776/2680/1978 1763/2658/1954 -f 1781/2684/1982 1778/2682/1980 1761/2654/1950 -f 1780/2683/1981 1764/2657/1953 1766/2660/1958 -f 1765/2662/1960 1767/2666/1964 1783/2686/1984 -f 1782/2685/1983 1766/2660/1958 1768/2664/1962 -f 1767/2666/1964 1769/2670/1968 1785/2688/1986 -f 1768/2664/1962 1770/2668/1966 1786/2689/1987 -f 1769/2670/1968 1771/2674/1972 1787/2690/1988 -f 1770/2668/1966 1772/2676/1974 1788/2691/1989 -f 1794/2693/1991 1789/3299/2675 1790/2694/1992 -f 1790/2694/1992 1791/3274/2676 1792/3258/2472 -f 1792/3258/2472 1793/2692/1990 1790/2694/1992 -f 1788/2691/1989 1772/2676/1974 1774/2679/1977 -f 1775/2681/1979 1757/2677/1975 1756/2656/1952 -f 1796/2696/1994 1795/3537/1993 1779/2697/1995 -f 1798/2699/1997 1799/2756/2039 1777/2700/1998 -f 1797/2702/1996 1779/3538/1995 1778/2703/1980 -f 1801/2705/2000 1798/2699/1997 1776/2701/1978 -f 1800/2704/1999 1778/2703/1980 1781/2707/1982 -f 1803/2709/2002 1801/2705/2000 1780/2706/1981 -f 1802/2708/2001 1781/2707/1982 1783/2711/1984 -f 1805/2713/2004 1803/2709/2002 1782/2710/1983 -f 1804/2712/2003 1783/2711/1984 1785/2715/1986 -f 1807/2717/2006 1805/2713/2004 1784/2714/1985 -f 1806/2716/2005 1785/2715/1986 1787/2719/1988 -f 1809/2721/2008 1807/2717/2006 1786/2718/1987 -f 1808/2720/2007 1787/2719/1988 1810/2723/2009 -f 1809/2721/2008 1788/2722/1989 1795/2725/1993 -f 1795/2695/1993 1774/2679/1977 1762/2655/1951 -f 1812/2728/2011 1801/2752/2035 1803/2729/2012 -f 1814/2731/2014 1811/2751/2034 1799/2732/2015 -f 1816/2734/2017 1796/2753/2036 1797/2735/2018 -f 1818/2737/2020 1819/2754/2037 1806/2738/2021 -f 1815/2733/2016 1799/2732/2015 1798/2740/2023 -f 1821/2742/2025 1822/2755/2038 1807/2743/2026 -f 1823/2745/2028 1824/2786/2057 1802/2746/2029 -f 1813/2730/2013 1803/2729/2012 1805/2748/2031 -f 1797/2735/2018 1800/2785/2056 1826/2750/2033 -f 1814/2731/2014 1818/2737/2020 1808/2739/2022 -f 1820/2741/2024 1798/2740/2023 1801/2752/2035 -f 1821/2742/2025 1809/2744/2027 1796/2753/2036 -f 1823/2745/2028 1804/2747/2030 1806/2738/2021 -f 1825/2749/2032 1805/2748/2031 1807/2743/2026 -f 1799/2756/2039 1811/2724/2010 1810/2723/2009 -f 1828/2757/2040 1829/3539/2041 1830/2758/2041 -f 1831/2760/2042 1832/2780/2043 1833/2761/2043 -f 1836/2763/2044 1837/2782/2044 1838/2764/2045 -f 1839/2766/2046 1840/2775/2047 1841/2767/2047 -f 1844/2769/2048 1845/2783/2048 1846/2770/2049 -f 1848/2772/2050 1849/2792/2051 1850/2773/2051 -f 1840/2775/2047 1851/2784/2055 1852/2776/2052 -f 1854/2777/2053 1828/2757/2040 1827/2759/2040 -f 1856/2779/2054 1833/2761/2043 1832/2780/2043 -f 1830/2758/2041 1829/3539/2041 1837/2782/2044 -f 1831/2760/2042 1834/2762/2042 1845/2783/2048 -f 1842/2768/2046 1848/2772/2050 1847/2774/2050 -f 1851/2784/2055 1835/2765/2045 1838/2764/2045 -f 1853/2778/2053 1843/2771/2049 1846/2770/2049 -f 1800/2785/2056 1802/2746/2029 1824/2786/2057 -f 1815/2787/2016 1820/2790/2024 1851/2788/1952 -f 1820/2790/2024 1812/2793/2011 1835/2791/1957 -f 1849/2792/2051 1856/2779/2054 1855/2781/2054 -f 1812/2793/2011 1813/2795/2013 1836/2794/1961 -f 1813/2795/2013 1825/2797/2032 1830/2796/1965 -f 1825/2797/2032 1822/2799/2038 1827/2798/1970 -f 1822/2799/2038 1821/2801/2025 1853/2800/1969 -f 1821/2801/2025 1816/2803/2017 1843/2802/2059 -f 1816/2803/2017 1817/2805/2019 1844/2804/2060 -f 1817/2805/2019 1826/2808/2033 1831/2806/2061 -f 1832/2807/1955 1831/2806/2061 1826/2808/2033 -f 1824/2809/2057 1823/2811/2028 1855/2810/1959 -f 1823/2811/2028 1819/2814/2037 1850/2812/1963 -f 1847/2813/2062 1850/2812/1963 1819/2814/2037 -f 1839/2816/1971 1847/2813/2062 1818/2815/2020 -f 1868/3540/1948 1857/3541/1948 1858/2818/1948 -f 1858/2818/1948 1859/3542/1948 1860/3543/1948 -f 1860/3543/1948 1861/3544/1948 1858/2818/1948 -f 1861/3544/1948 1862/2819/1948 1858/2818/1948 -f 1862/2819/1948 1863/3545/1948 1864/3546/1948 -f 1864/3546/1948 1865/3547/1948 1866/2820/1948 -f 1866/2820/1948 1867/3548/1948 1789/3549/1948 -f 1789/3549/1948 1790/3550/1948 1866/2820/1948 -f 1790/3550/1948 1791/3551/1948 1866/2820/1948 -f 1791/3551/1948 1868/3540/1948 1858/2818/1948 -f 1862/2819/1948 1864/3546/1948 1866/2820/1948 -f 1791/3551/1948 1858/2818/1948 1866/2820/1948 -f 1869/2821/1895 1870/3380/2063 1871/2822/2063 -f 1872/2824/1894 1869/2821/1895 1653/2823/1895 -f 1873/2826/1893 1872/2824/1894 1650/2825/1894 -f 1874/2828/1892 1873/2826/1893 1645/2827/1893 -f 1875/2830/1901 1874/2828/1892 1644/2829/1892 -f 1876/2832/1900 1875/2830/1901 1668/2831/1901 -f 1667/2833/1900 1674/2835/1904 1877/2834/1904 -f 1674/2835/1904 1661/2841/1898 1878/2836/1898 -f 1879/2837/1903 1880/2840/1899 1664/2838/1899 -f 1880/2840/1899 1878/2836/1898 1661/2841/1898 -f 1897/3259/1948 1881/3261/1948 1878/2836/1948 -f 1881/3261/1948 1882/3254/1948 1878/2836/1948 -f 1882/3254/1948 1883/3256/1948 1877/2834/1948 -f 1883/3256/1948 1884/2850/1948 1876/2832/1948 -f 1877/2834/1948 1883/3256/1948 1876/2832/1948 -f 1884/2850/1948 1885/2842/1948 1874/2828/1948 -f 1885/2842/1948 1886/2843/1948 1873/2826/1948 -f 1886/2843/1948 1887/2845/1948 1872/2824/1948 -f 1887/2845/1948 1888/3262/1948 1869/2821/1948 -f 1888/3262/1948 1889/3263/1948 1870/3380/1948 -f 1889/3263/1948 1890/3252/1948 1870/3380/1948 -f 1890/3252/1948 1891/2852/1948 1895/3552/1948 -f 1891/2852/1948 1892/2853/1948 1894/3242/1948 -f 1895/3552/1948 1891/2852/1948 1894/3242/1948 -f 1892/2853/1948 1893/3247/1948 1894/3242/1948 -f 1896/3284/1948 1897/3259/1948 1880/2840/1948 -f 1880/2840/1948 1879/2837/1948 1896/3284/1948 -f 1878/2836/1948 1880/2840/1948 1897/3259/1948 -f 1890/3252/1948 1895/3552/1948 1870/3380/1948 -f 1877/2834/1948 1878/2836/1948 1882/3254/1948 -f 1888/3262/1948 1870/3380/1948 1869/2821/1948 -f 1887/2845/1948 1869/2821/1948 1872/2824/1948 -f 1875/2830/1948 1876/2832/1948 1884/2850/1948 -f 1874/2828/1948 1875/2830/1948 1884/2850/1948 -f 1886/2843/1948 1872/2824/1948 1873/2826/1948 -f 1886/2843/2064 1898/2846/2068 1899/2844/2065 -f 1885/2842/2067 1900/2851/2073 1898/2846/2068 -f 1902/2847/2069 1892/2853/2075 1903/2848/2070 -f 1884/2850/2072 1904/3257/2471 1900/2851/2073 -f 1891/2852/2074 1905/3253/2467 1903/2848/2070 -f 1906/2854/2076 1907/3295/2509 1863/2855/2077 -f 1908/2857/2079 1909/2877/2099 1910/2858/2080 -f 1912/2860/2082 1913/2880/2102 1914/2861/2083 -f 1916/2863/2085 1917/2881/2103 1907/2864/2086 -f 1911/2859/2081 1910/2858/2080 1918/2866/2088 -f 1921/2868/2090 1922/3310/2522 1923/2869/2091 -f 1925/2871/2093 1926/2892/2108 1927/2872/2094 -f 1929/2874/2096 1930/3553/2677 1931/2875/2097 -f 1908/2857/2079 1916/2863/2085 1906/2865/2087 -f 1919/2867/2089 1918/2866/2088 1932/2878/2100 -f 1920/2870/2092 1923/2869/2091 1913/2880/2102 -f 1917/2881/2103 1924/2873/2095 1927/2872/2094 -f 1711/2882/1948 1715/3554/1948 1935/2883/1948 -f 1936/2887/2104 1937/2959/2104 1939/2885/2104 -f 1937/2959/2104 1938/2906/2104 1939/2885/2104 -f 1942/2888/2105 1943/3555/2105 1944/2889/2106 -f 1945/2891/2107 1946/3556/2678 1926/2892/2108 -f 1911/2893/2081 1919/2896/2089 1948/2894/2109 -f 1919/2896/2089 1933/3557/2101 1949/2897/2111 -f 1951/2898/2112 1952/3326/2113 1953/2899/2113 -f 1949/2897/2111 1933/3557/2101 1929/2901/2096 -f 1938/2906/2118 1958/2909/2118 1959/2907/2118 -f 1963/2911/2121 1961/3558/2679 1958/2909/2119 -f 1961/3558/2679 1959/2907/2680 1958/2909/2119 -f 1965/2912/2122 1966/3559/2122 1967/2913/2122 -f 1717/2631/1928 1623/2632/1929 1622/2915/2123 -f 1633/2578/2124 1968/3006/2681 1969/2916/2125 -f 1971/2917/2127 1972/3560/2682 1973/2918/2128 -f 1978/2922/2131 1974/3561/2683 1975/3562/2626 -f 1975/3562/2626 1976/2920/2129 1978/2922/2131 -f 1879/2837/1903 1671/2839/1903 1980/2923/2132 -f 1973/2918/2128 1972/3560/2682 1706/2925/2133 -f 1985/2929/2137 1634/2567/2126 1969/2916/2125 -f 1988/3563/2684 1637/3564/2685 1987/2932/2140 -f 1637/3564/2685 1639/2933/2141 1987/2932/2140 -f 1639/2933/2141 1638/3565/2431 1986/2931/2139 -f 1997/3566/2635 1993/3567/2634 1996/2940/2148 -f 1993/3567/2634 1994/2938/2146 1996/2940/2148 -f 1994/2938/2146 1995/3568/2199 1712/2939/2147 -f 1970/2919/2127 1999/3569/2150 2000/2944/2150 -f 2005/2947/2153 2001/3570/2686 2003/2945/2151 -f 2001/3570/2686 2002/3571/2591 2003/2945/2151 -f 2003/2945/2151 2004/3572/2687 1994/2946/2152 -f 1966/2948/2154 1965/3132/2688 1939/2949/2155 -f 2007/2951/2157 1714/2958/2157 1713/2952/2157 -f 2008/2953/2158 1960/2956/2158 1959/2954/2158 -f 1961/2955/2159 1959/3573/2159 1960/2956/2159 -f 1713/2952/2160 1714/2958/1948 1961/2955/2161 -f 2007/2951/2163 1959/2954/2120 1961/2955/2164 -f 1958/2909/2166 1938/2906/2166 1937/2959/2166 -f 1963/2911/2167 1962/2910/2167 1937/2959/2167 -f 2008/2953/2104 1713/2952/2104 2006/2957/2104 -f 1969/2916/2125 1968/3006/2681 2010/2960/2168 -f 1708/2964/2172 1709/3574/2689 2012/3575/2690 -f 1709/3574/2689 2011/3576/2689 2012/3575/2690 -f 1708/2964/2172 2012/3575/2690 2013/2962/2170 -f 2013/2962/2170 2014/3577/2691 1707/2963/2171 -f 2016/2965/2173 2017/3311/2173 2018/2966/2174 -f 2018/2968/2175 1965/3578/2175 1966/2969/2175 -f 1707/2972/2177 2014/3579/2692 2006/2973/2104 -f 2006/2973/2104 1939/3580/2104 1708/2971/2176 -f 1939/3580/2104 2011/3581/2104 1709/3582/2104 -f 1709/3582/2104 1708/2971/2176 1939/3580/2104 -f 1936/2974/2178 1963/3583/2179 1714/2975/2179 -f 2019/2977/2180 2020/2983/2693 2021/2978/2181 -f 2022/2980/2183 2023/3584/2694 2019/2981/2184 -f 2020/2983/2186 2023/3127/2694 2022/2984/2183 -f 2024/2985/2187 2025/3123/2695 2026/2986/2188 -f 2027/2988/2190 1995/2987/2696 2026/2986/2191 -f 2028/2989/2192 2025/3123/2697 2024/2985/2193 -f 1935/2990/2194 1715/3585/2194 1714/2991/2195 -f 1936/2995/2198 1995/3586/2698 1934/3587/2699 -f 1934/3587/2699 1935/2993/2197 1936/2995/2198 -f 1713/2976/2178 1712/3588/2147 1995/2996/2199 -f 2029/2997/2200 2030/3000/2204 2031/2998/2201 -f 2029/2997/2200 1984/2930/2700 2032/2999/2203 -f 2032/2999/2203 1984/2930/2700 2034/3001/2205 -f 2035/3003/2207 2036/3004/2328 1985/2929/2202 -f 2038/3005/2209 2010/2960/2701 1968/3006/2210 -f 2039/3008/2212 2040/3057/2265 2041/3009/2213 -f 2075/3051/2259 2061/3365/2567 2060/3053/2261 -f 2060/3053/2261 2062/3096/2310 2078/3055/2263 -f 2057/3058/2266 2080/3064/2274 2081/3059/2267 -f 1775/2681/1979 1777/3536/1998 1810/3065/2009 -f 1810/3065/2009 1787/2690/1988 1771/2674/1972 -f 1771/2674/1972 1773/2678/1976 1810/3065/2009 -f 2086/3068/2280 2081/3059/2278 2087/3069/2281 -f 2067/3036/2294 2074/3048/2702 2073/3085/2295 -f 2106/3101/2314 2057/3026/2703 2104/3099/2315 -f 2108/3103/2317 2109/3378/2580 2110/3104/2318 -f 1717/2631/1928 1718/2644/1941 1695/2635/1932 -f 2118/3589/2704 2112/3590/2705 2116/3591/2706 -f 2112/3590/2705 1682/3111/2333 2115/3110/2332 -f 1682/3111/2333 1685/3592/2707 2113/3593/2708 -f 1685/3592/2707 1687/3594/2709 2113/3593/2708 -f 2116/3591/2706 2117/3595/2710 2118/3589/2704 -f 2115/3110/2332 2116/3591/2706 2112/3590/2705 -f 1682/3111/2333 2113/3593/2708 2114/3109/2331 -f 2121/3114/2337 2090/3073/2563 2041/3009/2338 -f 2082/3060/2268 2089/3071/2284 2124/3117/2344 -f 2127/3133/2354 2128/3161/2711 2129/3134/2355 -f 2133/3138/2365 2134/3167/2402 2135/3139/2366 -f 2136/3141/2368 2137/3171/2407 2138/3142/2369 -f 2146/3208/1948 2147/3596/1948 2148/3375/1948 -f 2146/3208/1948 2148/3375/1948 2149/3172/1948 -f 2145/3597/1948 2146/3208/1948 2150/3151/2378 -f 2146/3208/1948 2149/3172/1948 2150/3151/2378 -f 1689/3150/2377 1690/3406/2712 2152/3169/2713 -f 2152/3169/2713 2145/3597/1948 1689/3150/2377 -f 2145/3597/1948 2150/3151/2378 1689/3150/2377 -f 2151/3173/2714 1626/3174/2715 1627/3149/2376 -f 2150/3151/2378 2151/3173/2714 1627/3149/2376 -f 2165/3165/2399 2163/3163/2394 2161/3160/2390 -f 1956/2904/2116 1955/2903/2115 2164/3164/2395 -f 2141/3145/2372 2163/3163/2403 2165/3165/2397 -f 1805/3168/2404 2145/3597/2404 2152/3169/2405 -f 2137/3171/2407 2136/3141/2368 2150/3151/2408 -f 2136/3141/2368 2108/3103/2317 2151/3173/2410 -f 1626/3174/2411 2151/3173/2410 2108/3103/2317 -f 2172/3598/2716 2167/3177/2414 2171/3176/2413 -f 2167/3177/2414 2168/3599/2717 2170/3175/2412 -f 2168/3599/2717 2169/3600/2120 2170/3175/2412 -f 1988/3601/2590 2173/3602/2718 1640/3180/1889 -f 2173/3602/2718 2174/3178/2415 1640/3180/1889 -f 2174/3178/2415 1638/3603/2431 1641/3179/1890 -f 2169/3182/2417 2175/3604/2719 1925/3183/2418 -f 1925/3183/2418 2176/3605/2720 2170/3181/2416 -f 2176/3605/2720 2177/3606/2721 2170/3181/2416 -f 2177/3606/2721 2171/3607/2722 2170/3181/2416 -f 2172/3608/2723 2171/3609/2724 2178/3610/2725 -f 2171/3609/2724 2177/3611/1948 2178/3610/2725 -f 2187/3612/2726 2188/3613/2727 2172/3608/2723 -f 2184/3186/2420 2185/3614/2728 2180/3615/2729 -f 2185/3614/2728 2186/3616/2730 2179/3617/2731 -f 2180/3615/2729 2185/3614/2728 2179/3617/2731 -f 2186/3616/2730 2187/3612/2726 2178/3610/2725 -f 2187/3612/2726 2172/3608/2723 2178/3610/2725 -f 2186/3616/2730 2178/3610/2725 2179/3617/2731 -f 2180/3615/2729 2181/3184/2419 2184/3186/2420 -f 2181/3184/2419 2182/3618/1948 2183/3185/1948 -f 1638/2580/2732 1988/3187/2733 1637/3188/2733 -f 2189/3189/2426 1995/3619/2426 1994/3190/2426 -f 1717/2631/1928 1694/3108/2330 1693/3192/2427 -f 1971/3193/2428 2000/3620/2734 2190/3621/2735 -f 2192/3622/2736 1707/3623/2737 1706/3624/2738 -f 2191/3194/2429 2192/3622/2736 1706/3624/2738 -f 1971/3193/2428 2190/3621/2735 2191/3194/2429 -f 2191/3194/2429 1706/3624/2738 1972/3195/2430 -f 2158/3157/2432 2159/3158/2739 2193/3197/2433 -f 2197/3200/2435 2194/3412/2441 1986/3198/2139 -f 2194/3412/2441 2195/3411/2609 2196/3625/2740 -f 1986/3198/2139 2194/3412/2441 2196/3625/2740 -f 1678/3626/1948 1679/3627/1948 1648/3628/1948 -f 1648/3628/1948 1647/3629/1948 1646/3630/1948 -f 1646/3630/1948 1651/3631/1948 1655/3203/1948 -f 1655/3203/1948 1654/3632/1948 1681/3633/1948 -f 1654/3632/1948 1656/3634/1948 1681/3633/1948 -f 1656/3634/1948 1680/3635/1948 1681/3633/1948 -f 1681/3633/1948 1675/3636/1948 1676/3201/1948 -f 1676/3201/1948 1677/3637/1948 2198/3202/1948 -f 2198/3202/1948 1678/3626/1948 1648/3628/1948 -f 1648/3628/1948 1646/3630/1948 2198/3202/1948 -f 1646/3630/1948 1655/3203/1948 2198/3202/1948 -f 1681/3633/1948 1676/3201/1948 1655/3203/1948 -f 1975/3206/2437 1974/3638/2741 2177/3639/2742 -f 2177/3639/2742 2199/3204/2436 1975/3206/2437 -f 1805/3168/2440 1803/3170/2743 2202/3640/2744 -f 1803/3170/2743 2201/3377/2743 2202/3640/2744 -f 2202/3640/2744 2203/3641/2745 1805/3168/2440 -f 2203/3641/2745 2204/3359/2746 2205/3207/2438 -f 2205/3207/2438 2147/3596/2747 2146/3208/2439 -f 2146/3208/2439 2145/3597/2748 1805/3168/2440 -f 2203/3641/2745 2205/3207/2438 1805/3168/2440 -f 1665/2600/1901 1668/2599/1901 1644/3213/1892 -f 1652/2591/1895 1653/2590/1895 1871/3214/2063 -f 2206/3215/2063 1871/3214/2063 1657/2594/1897 -f 1673/2605/1904 1674/3504/1904 1667/3216/1900 -f 2207/3217/2443 2208/3642/2449 2209/3218/2444 -f 1798/3643/2749 1801/3220/2446 1800/3222/2448 -f 1801/3220/2446 1803/3644/2750 1805/3221/2447 -f 1805/3221/2447 1807/3645/2751 1800/3222/2448 -f 1807/3645/2751 1809/3646/2752 1800/3222/2448 -f 1809/3646/2752 1796/3647/2753 1800/3222/2448 -f 1796/3647/2753 1797/3648/2754 1800/3222/2448 -f 1800/3222/2448 1802/3649/2755 1811/3650/2756 -f 1802/3649/2755 1804/3651/2757 1806/3652/2758 -f 1808/3653/2759 1802/3649/2755 1806/3652/2758 -f 1808/3653/2759 1811/3650/2756 1802/3649/2755 -f 1811/3650/2756 1799/3654/2760 1800/3222/2448 -f 1799/3654/2760 1798/3643/2749 1800/3222/2448 -f 2208/3223/2449 1996/3655/2761 2211/3224/2450 -f 2173/3226/2353 2207/3656/2353 2210/3227/2451 -f 2112/3229/2452 2118/3657/2762 1722/3230/2453 -f 1683/3232/2455 1682/2606/2763 2112/3229/2452 -f 2217/3658/2764 2212/3659/2765 2216/3235/2458 -f 2212/3659/2765 1698/3233/2456 2216/3235/2458 -f 1701/3660/2766 2213/3661/2767 2214/3662/2768 -f 1701/3660/2766 2214/3662/2768 1698/3233/2456 -f 2214/3662/2768 2215/3234/2457 1698/3233/2456 -f 2218/3236/2459 2212/3240/2460 2217/3237/2460 -f 1699/3239/2461 1698/2614/2461 2212/3240/2461 -f 1730/2646/1943 1688/3523/2672 1697/3241/2462 -f 1894/3242/1896 1893/3247/1902 1669/3243/1902 -f 1669/2602/1902 1980/3436/2132 2220/3245/2132 -f 1657/3246/1897 1895/3552/2769 1894/3242/1896 -f 1893/3247/1948 1892/2853/1948 1902/2847/1948 -f 1902/2847/1948 1896/3284/1948 1979/2924/1948 -f 1896/3284/1948 1879/2837/1948 1979/2924/1948 -f 2221/3248/2463 1986/3663/2463 2196/3249/2464 -f 2223/3251/2465 1896/3284/2498 1902/2847/2069 -f 1890/3252/2466 1792/3258/2472 1905/3253/2467 -f 1882/3254/2468 2224/3264/2478 2225/3255/2469 -f 1883/3256/2470 2225/3255/2469 1904/3257/2471 -f 1890/3252/2466 1889/3263/2477 1793/2692/1990 -f 1897/3259/2473 2226/3283/2497 2227/3260/2474 -f 1888/3262/2476 1794/2693/1991 1793/2692/1990 -f 1881/3261/2475 2227/3260/2474 2224/3264/2478 -f 1860/3265/2479 2226/3283/2497 2223/3251/2465 -f 1887/2845/2066 1899/2844/2065 1794/2693/1991 -f 1866/3267/2481 1867/3300/2513 1899/2844/2065 -f 1858/3268/2482 1859/3266/2480 2223/3251/2465 -f 1903/2848/2070 1905/3253/2467 1868/3269/2483 -f 1901/2849/2071 1903/2848/2070 1857/3270/2484 -f 1865/3271/2485 1866/3267/2481 1898/2846/2068 -f 1904/3257/2471 2225/3255/2469 1863/3272/2486 -f 1905/3253/2467 1792/3258/2472 1791/3274/2488 -f 2225/3255/2469 2224/3264/2478 1862/3275/2489 -f 2224/3264/2478 2227/3260/2474 1861/3276/2490 -f 1914/3277/2491 1913/3304/2516 1789/3278/2492 -f 1910/3280/2494 1860/3309/2521 1859/3281/2495 -f 1860/3265/2479 1861/3276/2490 2227/3260/2474 -f 1896/3284/2498 2223/3251/2465 2226/3283/2497 -f 1932/3285/2499 1858/3290/2504 1857/3286/2500 -f 1946/3288/2502 1914/3277/2491 1867/3279/2493 -f 1918/3282/2496 1859/3281/2495 1858/3290/2504 -f 1927/3291/2505 1926/3294/2508 1865/3292/2506 -f 1926/3294/2508 1946/3288/2502 1866/3289/2503 -f 1907/3295/2509 1927/3291/2505 1864/3293/2507 -f 1930/3296/2501 1857/3664/2500 1868/3297/2510 -f 1789/3299/2512 1794/2693/1991 1899/2844/2065 -f 1931/3301/2511 1868/3665/2510 1791/3302/2514 -f 1913/3304/2516 1923/3306/2518 1790/3305/2517 -f 1923/3306/2518 1922/3303/2515 1791/3302/2514 -f 1932/2878/2100 1930/3553/2677 1929/2874/2096 -f 1909/3307/2519 1906/2854/2076 1862/2856/2078 -f 1900/2851/2073 1904/3257/2471 1864/3273/2487 -f 1914/2861/2083 1946/3556/2678 1945/2891/2107 -f 1910/3280/2494 1909/3307/2519 1861/3308/2520 -f 1928/2876/2098 1931/2875/2097 1922/3310/2522 -f 2013/2962/2170 2012/3575/2690 2017/3311/2173 -f 2228/3312/2523 2229/3666/2523 2230/3313/2524 -f 2231/3315/2525 2232/3320/2525 1951/2898/2112 -f 1948/3316/2526 1949/3327/2532 2233/3317/2527 -f 2235/3319/2528 2236/3332/2536 2232/3320/2525 -f 2238/3321/2529 2239/3328/2530 2240/3322/2530 -f 1947/3324/2531 1948/3316/2526 2234/3318/2526 -f 1952/3326/2113 1943/3555/2105 1942/2888/2105 -f 1954/3314/2524 2230/3313/2524 2233/3317/2527 -f 2239/3328/2530 2229/3666/2523 2228/3312/2523 -f 2242/3329/2533 2243/3333/2534 2244/3330/2534 -f 1947/3324/2531 2241/3325/2531 2236/3332/2536 -f 1941/2890/2106 1944/2889/2106 2244/3330/2534 -f 2245/3331/2535 2238/3321/2529 2237/3323/2529 -f 2228/3334/2537 1928/3338/2098 1921/3335/2090 -f 1921/3335/2090 1920/3342/2092 2237/3337/2539 -f 2228/3334/2537 1954/2902/2114 1929/2901/2096 -f 1912/3339/2082 1915/3667/2084 2243/3340/2540 -f 1920/3342/2092 1912/3339/2082 2242/3341/2541 -f 2243/3340/2540 1915/3667/2084 1945/3343/2107 -f 1945/3343/2107 1925/3347/2093 1942/3345/2543 -f 1953/3346/2544 1942/3345/2543 1925/3347/2093 -f 1924/3348/2095 1917/3350/2103 1950/3349/2545 -f 1917/3350/2103 1916/3352/2085 2231/3351/2546 -f 1916/3352/2085 1908/3354/2079 2235/3353/2547 -f 1908/3354/2079 1911/3668/2081 1947/3355/2110 -f 2246/3356/2548 2247/3669/2548 2174/3357/2451 -f 2249/3361/2120 2148/3375/2120 2205/3207/2120 -f 2148/3375/2120 2147/3596/2120 2205/3207/2120 -f 2205/3207/2120 2204/3359/2120 2249/3361/2120 -f 2009/2961/2169 2120/3113/2335 2034/3001/2571 -f 2011/3374/1918 1939/3670/1918 2018/3671/1918 -f 1939/3670/1918 1965/3672/1918 2018/3671/1918 -f 2018/3671/1918 2017/3372/1918 2011/3374/1918 -f 2249/3361/2576 2137/3171/2407 2149/3172/2409 -f 1803/3170/2406 2252/3405/2603 2253/3376/2578 -f 2108/3103/2317 2136/3141/2368 2139/3143/2370 -f 2138/3142/2369 2137/3171/2407 2249/3361/2576 -f 2043/3379/2584 2157/3156/2770 2156/3155/2585 -f 1870/3380/2063 1895/3552/2769 1657/3246/1897 -f 2169/3673/2771 2168/3674/2772 1831/3383/2589 -f 2168/3674/2772 2254/3675/2773 1832/3676/2774 -f 2168/3674/2772 1832/3676/2774 1831/3383/2589 -f 2258/3677/2179 2175/3678/2179 2169/3673/2771 -f 2257/3382/2588 2258/3677/2179 2169/3673/2771 -f 1844/3679/2775 2255/3680/2776 2256/3381/2587 -f 2169/3673/2771 1831/3383/2589 2257/3382/2588 -f 1831/3383/2589 1844/3679/2775 2256/3381/2587 -f 2002/3385/2591 2001/3681/2686 2259/3386/2592 -f 1987/3388/1918 1986/3682/2593 2221/3389/2593 -f 1914/3392/2179 1946/3683/2179 1930/3393/2595 -f 1946/3683/2179 1926/3684/2777 1930/3393/2595 -f 1926/3684/2777 1927/3685/2179 1930/3393/2595 -f 1927/3685/2179 1907/3686/2179 1930/3393/2595 -f 1907/3686/2179 1906/3687/2778 1930/3393/2595 -f 1906/3687/2778 1909/3688/2778 1930/3393/2595 -f 1909/3688/2778 1910/3689/2778 1930/3393/2595 -f 1910/3689/2778 1918/3690/2779 1930/3393/2595 -f 1918/3690/2779 1932/3691/2780 1930/3393/2595 -f 1930/3393/2595 1931/3692/2781 1922/3693/2782 -f 1922/3693/2782 1923/3694/2594 1930/3393/2595 -f 1923/3694/2594 1913/3391/2594 1930/3393/2595 -f 1699/3396/2598 2218/3695/2783 2260/3696/2784 -f 2218/3695/2783 2219/3697/2785 2260/3696/2784 -f 2262/3394/2596 2263/3698/2786 1700/3395/2597 -f 1699/3396/2598 2260/3696/2784 2261/3699/2787 -f 2261/3699/2787 2262/3394/2596 1699/3396/2598 -f 1730/2646/1943 1728/2643/1940 1629/2641/1938 -f 1814/2817/2014 1815/3700/2016 1840/3398/2058 -f 2265/3701/2788 2264/3702/2789 1976/3401/2602 -f 2264/3702/2789 2188/3399/2600 1976/3401/2602 -f 2013/3703/2353 2016/3704/2353 2014/3403/2353 -f 2016/3704/2353 2015/3404/2353 2014/3403/2353 -f 2015/3404/2353 1966/3705/2353 2006/3402/2353 -f 2252/3405/2603 1803/3170/2406 2152/3169/2405 -f 2267/3408/2606 2254/3706/2790 2168/3707/2791 -f 2167/3409/2607 2172/3708/2792 2188/3709/2793 -f 2267/3408/2606 2168/3707/2791 2167/3409/2607 -f 2188/3709/2793 2266/3407/2605 2167/3409/2607 -f 2194/3412/2441 1638/3199/2431 2174/3710/2415 -f 2174/3710/2415 2247/3410/2608 2194/3412/2441 -f 2155/3711/2794 2143/3712/2795 2153/3713/2796 -f 2143/3712/2795 2144/3714/2797 2153/3713/2796 -f 2144/3714/2797 2166/3715/2798 2153/3713/2796 -f 1627/3414/2611 2043/3716/2799 2162/3415/2612 -f 2043/3716/2799 2153/3713/2796 2166/3715/2798 -f 2162/3415/2612 2043/3716/2799 2166/3715/2798 -f 2162/3415/2612 2160/3717/2800 1689/3413/2610 -f 2157/3417/2614 2043/3718/2801 1627/3719/2802 -f 1626/3418/2615 2111/3720/2803 2159/3416/2613 -f 2111/3720/2803 2110/3721/2804 2193/3722/2805 -f 2111/3720/2803 2193/3722/2805 2159/3416/2613 -f 2157/3417/2614 1627/3719/2802 1626/3418/2615 -f 1957/3723/2806 2253/3724/2807 1955/3725/2808 -f 2253/3724/2807 2252/3726/2809 1955/3725/2808 -f 1690/3419/2616 1689/3727/2810 2129/3728/2811 -f 1689/3727/2810 2160/3729/2812 2130/3730/2813 -f 1689/3727/2810 2130/3730/2813 2129/3728/2811 -f 2164/3421/2618 1955/3725/2808 2252/3726/2809 -f 1690/3419/2616 2129/3728/2811 2161/3420/2617 -f 2164/3421/2618 2252/3726/2809 1690/3419/2616 -f 2010/2960/2622 2038/3005/2814 2251/3368/2623 -f 2085/3067/2277 2080/3064/2279 2047/3425/2288 -f 2265/3427/2625 1976/3731/2129 1975/3428/2626 -f 2265/3732/2815 2200/3733/2816 2278/3734/2817 -f 2200/3733/2816 2199/3735/2818 2268/3736/2819 -f 2200/3733/2816 2268/3736/2819 2278/3734/2817 -f 2278/3734/2817 2264/3737/2820 2265/3732/2815 -f 1746/3738/2821 2278/3734/2817 2268/3736/2819 -f 1746/3738/2821 2268/3736/2819 2269/3739/2822 -f 2277/3740/2823 1746/3738/2821 2269/3739/2822 -f 2277/3740/2823 2269/3739/2822 2270/3741/2824 -f 2276/3742/2825 2277/3740/2823 2270/3741/2824 -f 2276/3742/2825 2270/3741/2824 2271/3743/2826 -f 2275/3744/2827 2276/3742/2825 2195/3432/2629 -f 2276/3742/2825 2271/3743/2826 2195/3432/2629 -f 2271/3743/2826 2272/3745/2828 2195/3432/2629 -f 2247/3746/2829 2246/3747/2830 2274/3748/2831 -f 2274/3748/2831 2275/3744/2827 2195/3432/2629 -f 2273/3430/2627 2222/3749/1948 2196/3431/2628 -f 2272/3745/2828 2273/3430/2627 2195/3432/2629 -f 2195/3432/2629 2247/3746/2829 2274/3748/2831 -f 1710/3750/2832 1709/3751/2833 2191/3433/2631 -f 2191/3433/2631 2190/3752/2834 1970/3434/2632 -f 2190/3752/2834 1999/3753/2835 1970/3434/2632 -f 1973/3435/2633 1710/3750/2832 2191/3433/2631 -f 1671/2604/1903 1672/2603/1903 2220/3245/2132 -f 1980/2923/2132 1669/3243/1902 1893/3247/1902 -f 1988/3439/2636 1987/3754/2594 2001/3755/2836 -f 1987/3754/2594 2259/3756/2594 2001/3755/2836 -f 2001/3755/2836 2005/3757/2837 1993/3437/2634 -f 2005/3757/2837 1994/3758/2146 1993/3437/2634 -f 2207/3759/2838 2173/3760/2779 2208/3761/2839 -f 2173/3760/2779 1988/3439/2636 1997/3438/2635 -f 2208/3761/2839 2173/3760/2779 1997/3438/2635 -f 1997/3438/2635 1996/3762/2840 2208/3761/2839 -f 1988/3439/2636 2001/3755/2836 1993/3437/2634 -f 2280/3440/2637 1712/3763/2637 1996/3441/2638 -f 2282/3443/2639 2283/3447/2639 2284/3444/2640 -f 2285/3446/2641 2286/3497/2641 2283/3447/2639 -f 2281/3445/2640 2284/3444/2640 2288/3448/2642 -f 2290/3450/2643 2291/3498/2643 2292/3451/2644 -f 2294/3453/2645 2289/3452/2644 2292/3451/2644 -f 2298/3455/2646 2297/3458/2647 2296/3456/2647 -f 2297/3458/2647 2300/3501/2648 2299/3459/2648 -f 2304/3460/2649 2303/3496/2649 2302/3461/2650 -f 2293/3454/2645 2306/3764/2651 2305/3463/2651 -f 2308/3464/2652 2298/3455/2646 2295/3457/2646 -f 2309/3466/2647 2310/3495/2648 2300/3467/2648 -f 2311/3469/2646 2309/3466/2647 2297/3468/2647 -f 2312/3471/2652 2311/3469/2646 2298/3470/2646 -f 2313/3473/2651 2312/3471/2652 2308/3472/2652 -f 2314/3475/2645 2313/3473/2651 2306/3474/2651 -f 2315/3477/2644 2314/3475/2645 2293/3476/2645 -f 2316/3479/2643 2315/3477/2644 2292/3478/2644 -f 2317/3481/2642 2316/3479/2643 2291/3480/2643 -f 2318/3483/2640 2317/3481/2642 2288/3482/2642 -f 2283/3485/2639 2286/3489/2641 2320/3486/2641 -f 2319/3487/2639 2318/3483/2640 2284/3484/2640 -f 2321/3488/2649 2320/3486/2641 2286/3489/2641 -f 2322/3491/2650 2321/3488/2649 2304/3490/2649 -f 2324/3493/2653 2322/3491/2650 2301/3492/2650 -f 2310/3495/2648 2324/3493/2653 2323/3494/2653 -f 2303/3496/2649 2304/3460/2649 2286/3497/2641 -f 2287/3449/2642 2288/3448/2642 2291/3498/2643 -f 2305/3463/2651 2306/3764/2651 2308/3464/2652 -f 2323/3499/2653 2301/3462/2650 2302/3461/2650 -f 2300/3501/2648 2323/3499/2653 2325/3500/2653 +f 2210/3541/2727 2212/3542/2728 2209/3543/2729 +f 2214/3544/2730 2216/3545/2731 2213/3546/2732 +f 2211/3547/2733 2218/3548/2734 2212/3542/2728 +f 2215/3549/2735 2220/3550/2736 2216/3545/2731 +f 2217/3551/2737 2222/3552/2738 2218/3548/2734 +f 2219/3553/2739 2223/3554/2740 2220/3550/2736 +f 2221/3555/2741 2225/3556/2742 2222/3552/2738 +f 2223/3554/2740 2205/3557/2743 2226/3558/2744 +f 2225/3556/2742 2227/3559/2745 2228/3560/2746 +f 2226/3558/2744 2229/3561/2747 2230/3562/2748 +f 2227/3559/2745 2232/3563/2749 2228/3560/2746 +f 2230/3562/2748 2233/3564/2750 2234/3565/2751 +f 2231/3566/2752 2236/3567/2753 2232/3563/2749 +f 2234/3565/2751 2210/3541/2727 2209/3543/2729 +f 2235/3568/2754 2213/3546/2732 2236/3567/2753 +f 2237/3569/2755 2239/3570/2756 2240/3571/2757 +f 2225/3556/2758 2213/3546/2758 2226/3558/2758 +f 2241/3572/2759 2243/3573/2760 2244/3574/2759 +f 2245/3575/2761 2247/3576/2762 2242/3577/2763 +f 2238/3578/2764 2249/3579/2765 2239/3570/2756 +f 2250/3580/2766 2247/3576/2762 2246/3581/2767 +f 2252/3582/2768 2249/3579/2765 2248/3583/2769 +f 2207/3584/2770 2255/3585/2771 2251/3586/2772 +f 2252/3582/2768 2257/3587/2773 2253/3588/2774 +f 2254/3589/2775 2208/3590/2776 2207/3584/2770 +f 2259/3591/2777 2257/3587/2773 2256/3592/2778 +f 2262/3593/2779 2263/3594/2780 2208/3590/2776 +f 2259/3591/2777 2265/3595/2781 2260/3596/2782 +f 2266/3597/2783 2262/3593/2779 2261/3598/2784 +f 2268/3599/2785 2265/3595/2781 2264/3600/2786 +f 2266/3597/2783 2240/3571/2757 2267/3601/2787 +f 2268/3599/2785 2242/3577/2763 2241/3602/2788 +f 2239/3603/2789 2270/3604/2790 2240/3605/2790 +f 2247/3606/2791 2243/3573/2760 2242/3607/2760 +f 2249/3608/2792 2269/3609/2789 2239/3603/2789 +f 2251/3610/2793 2271/3611/2791 2247/3606/2791 +f 2253/3612/2794 2272/3613/2792 2249/3608/2792 +f 2255/3614/2795 2273/3615/2793 2251/3610/2793 +f 2257/3616/2796 2274/3617/2794 2253/3612/2794 +f 2255/3614/2795 2277/3618/2797 2275/3619/2795 +f 2260/3620/2798 2276/3621/2796 2257/3616/2796 +f 2263/3622/2797 2279/3623/2799 2277/3618/2797 +f 2260/3620/2798 2280/3624/2800 2278/3625/2798 +f 2267/3626/2801 2279/3623/2799 2262/3627/2799 +f 2265/3628/2800 2244/3574/2759 2280/3624/2800 +f 2240/3605/2790 2281/3629/2801 2267/3626/2801 +f 2282/3630/2802 2224/3631/2803 2221/3632/2741 +f 2284/3633/2804 2210/3634/2727 2233/3635/2750 +f 2286/3636/2805 2231/3637/2752 2227/3638/2745 +f 2285/3639/2806 2211/3640/2733 2210/3634/2727 +f 2289/3641/2807 2221/3632/2741 2217/3642/2737 +f 2283/3643/2808 2227/3638/2745 2224/3631/2803 +f 2287/3644/2809 2235/3645/2754 2231/3637/2752 +f 2288/3646/2810 2217/3642/2737 2211/3640/2733 +f 2208/3538/2811 2229/3647/2747 2205/3539/2743 +f 2292/3648/2812 2219/3649/2739 2215/3650/2735 +f 2290/3651/2813 2214/3652/2730 2235/3645/2754 +f 2291/3653/2814 2233/3635/2750 2229/3647/2747 +f 2294/3654/2815 2215/3650/2735 2214/3652/2730 +f 2293/3655/2816 2206/3537/2817 2219/3649/2739 +f 2296/3656/2818 2298/3657/2819 2295/3658/2820 +f 2246/3659/2767 2299/3660/2821 2300/3661/2822 +f 2295/3658/2820 2302/3662/2823 2301/3663/2824 +f 2246/3659/2767 2303/3664/2825 2250/3665/2766 +f 2301/3663/2824 2305/3666/2826 2304/3667/2827 +f 2254/3668/2775 2303/3664/2825 2306/3669/2828 +f 2304/3667/2827 2308/3670/2829 2307/3671/2830 +f 2309/3672/2831 2306/3669/2828 2310/3673/2832 +f 2307/3671/2830 2311/3674/2833 2259/3675/2777 +f 2312/3676/2834 2310/3673/2832 2313/3677/2835 +f 2259/3675/2777 2314/3678/2836 2264/3679/2786 +f 2315/3680/2837 2313/3677/2835 2316/3681/2838 +f 2264/3679/2786 2317/3682/2839 2268/3683/2785 +f 2296/3656/2818 2316/3681/2838 2297/3684/2840 +f 2245/3685/2761 2317/3682/2839 2299/3660/2821 +f 2306/3686/2828 2300/3687/2822 2311/3688/2833 +f 2207/3584/2770 2263/3594/2780 2255/3585/2771 +f 2210/3541/2727 2211/3547/2733 2212/3542/2728 +f 2214/3544/2730 2215/3549/2735 2216/3545/2731 +f 2211/3547/2733 2217/3551/2737 2218/3548/2734 +f 2215/3549/2735 2219/3553/2739 2220/3550/2736 +f 2217/3551/2737 2221/3555/2741 2222/3552/2738 +f 2219/3553/2739 2206/3689/2817 2223/3554/2740 +f 2221/3555/2741 2224/3690/2803 2225/3556/2742 +f 2223/3554/2740 2206/3689/2817 2205/3557/2743 +f 2225/3556/2742 2224/3690/2803 2227/3559/2745 +f 2226/3558/2744 2205/3557/2743 2229/3561/2747 +f 2227/3559/2745 2231/3566/2752 2232/3563/2749 +f 2230/3562/2748 2229/3561/2747 2233/3564/2750 +f 2231/3566/2752 2235/3568/2754 2236/3567/2753 +f 2234/3565/2751 2233/3564/2750 2210/3541/2727 +f 2235/3568/2754 2214/3544/2730 2213/3546/2732 +f 2237/3569/2755 2238/3578/2764 2239/3570/2756 +f 2218/3548/2758 2222/3552/2758 2225/3556/2758 +f 2225/3556/2758 2228/3560/2758 2232/3563/2758 +f 2232/3563/2758 2236/3567/2758 2225/3556/2758 +f 2236/3567/2758 2213/3546/2758 2225/3556/2758 +f 2213/3546/2758 2216/3545/2758 2226/3558/2758 +f 2216/3545/2758 2220/3550/2758 2226/3558/2758 +f 2220/3550/2758 2223/3554/2758 2226/3558/2758 +f 2226/3558/2758 2230/3562/2758 2212/3542/2758 +f 2230/3562/2758 2234/3565/2758 2212/3542/2758 +f 2234/3565/2758 2209/3543/2758 2212/3542/2758 +f 2212/3542/2758 2218/3548/2758 2225/3556/2758 +f 2212/3542/2758 2225/3556/2758 2226/3558/2758 +f 2241/3572/2759 2242/3607/2760 2243/3573/2760 +f 2245/3575/2761 2246/3581/2767 2247/3576/2762 +f 2238/3578/2764 2248/3583/2769 2249/3579/2765 +f 2250/3580/2766 2251/3586/2772 2247/3576/2762 +f 2252/3582/2768 2253/3588/2774 2249/3579/2765 +f 2251/3586/2772 2250/3580/2766 2207/3584/2770 +f 2250/3580/2766 2254/3589/2775 2207/3584/2770 +f 2252/3582/2768 2256/3592/2778 2257/3587/2773 +f 2254/3589/2775 2258/3691/2841 2208/3590/2776 +f 2259/3591/2777 2260/3596/2782 2257/3587/2773 +f 2208/3590/2776 2258/3691/2841 2261/3598/2784 +f 2261/3598/2784 2262/3593/2779 2208/3590/2776 +f 2259/3591/2777 2264/3600/2786 2265/3595/2781 +f 2266/3597/2783 2267/3601/2787 2262/3593/2779 +f 2268/3599/2785 2241/3602/2788 2265/3595/2781 +f 2266/3597/2783 2237/3569/2755 2240/3571/2757 +f 2268/3599/2785 2245/3575/2761 2242/3577/2763 +f 2239/3603/2789 2269/3609/2789 2270/3604/2790 +f 2247/3606/2791 2271/3611/2791 2243/3573/2760 +f 2249/3608/2792 2272/3613/2792 2269/3609/2789 +f 2251/3610/2793 2273/3615/2793 2271/3611/2791 +f 2253/3612/2794 2274/3617/2794 2272/3613/2792 +f 2255/3614/2795 2275/3619/2795 2273/3615/2793 +f 2257/3616/2796 2276/3621/2796 2274/3617/2794 +f 2255/3614/2795 2263/3622/2797 2277/3618/2797 +f 2260/3620/2798 2278/3625/2798 2276/3621/2796 +f 2263/3622/2797 2262/3627/2799 2279/3623/2799 +f 2260/3620/2798 2265/3628/2800 2280/3624/2800 +f 2267/3626/2801 2281/3629/2801 2279/3623/2799 +f 2265/3628/2800 2241/3572/2759 2244/3574/2759 +f 2240/3605/2790 2270/3604/2790 2281/3629/2801 +f 2282/3630/2802 2283/3643/2808 2224/3631/2803 +f 2284/3633/2804 2285/3639/2806 2210/3634/2727 +f 2286/3636/2805 2287/3644/2809 2231/3637/2752 +f 2285/3639/2806 2288/3646/2810 2211/3640/2733 +f 2289/3641/2807 2282/3630/2802 2221/3632/2741 +f 2283/3643/2808 2286/3636/2805 2227/3638/2745 +f 2287/3644/2809 2290/3651/2813 2235/3645/2754 +f 2288/3646/2810 2289/3641/2807 2217/3642/2737 +f 2208/3538/2811 2291/3653/2814 2229/3647/2747 +f 2292/3648/2812 2293/3655/2816 2219/3649/2739 +f 2290/3651/2813 2294/3654/2815 2214/3652/2730 +f 2291/3653/2814 2284/3633/2804 2233/3635/2750 +f 2294/3654/2815 2292/3648/2812 2215/3650/2735 +f 2293/3655/2816 2207/3540/2842 2206/3537/2817 +f 2296/3656/2818 2297/3684/2840 2298/3657/2819 +f 2246/3659/2767 2245/3685/2761 2299/3660/2821 +f 2295/3658/2820 2298/3657/2819 2302/3662/2823 +f 2246/3659/2767 2300/3661/2822 2303/3664/2825 +f 2301/3663/2824 2302/3662/2823 2305/3666/2826 +f 2254/3668/2775 2250/3665/2766 2303/3664/2825 +f 2304/3667/2827 2305/3666/2826 2308/3670/2829 +f 2309/3672/2831 2254/3668/2775 2306/3669/2828 +f 2307/3671/2830 2308/3670/2829 2311/3674/2833 +f 2312/3676/2834 2309/3672/2831 2310/3673/2832 +f 2259/3675/2777 2311/3674/2833 2314/3678/2836 +f 2315/3680/2837 2312/3676/2834 2313/3677/2835 +f 2264/3679/2786 2314/3678/2836 2317/3682/2839 +f 2296/3656/2818 2315/3680/2837 2316/3681/2838 +f 2245/3685/2761 2268/3683/2785 2317/3682/2839 +f 2325/3692/2843 2318/3693/2844 2319/3694/2845 +f 2319/3694/2845 2320/3695/2846 2321/3696/2847 +f 2321/3696/2847 2322/3697/2848 2323/3698/2849 +f 2323/3698/2849 2324/3699/2850 2306/3686/2828 +f 2306/3686/2828 2303/3700/2825 2300/3687/2822 +f 2300/3687/2822 2299/3701/2821 2317/3702/2839 +f 2317/3702/2839 2314/3703/2836 2300/3687/2822 +f 2314/3703/2836 2311/3688/2833 2300/3687/2822 +f 2311/3688/2833 2325/3692/2843 2323/3698/2849 +f 2325/3692/2843 2319/3694/2845 2323/3698/2849 +f 2319/3694/2845 2321/3696/2847 2323/3698/2849 +f 2323/3698/2849 2306/3686/2828 2311/3688/2833 +f 2207/3584/2770 2208/3590/2776 2263/3594/2780 diff --git a/src/main/resources/assets/hbm/sounds.json b/src/main/resources/assets/hbm/sounds.json index b77fef3b1..d2eb9f458 100644 --- a/src/main/resources/assets/hbm/sounds.json +++ b/src/main/resources/assets/hbm/sounds.json @@ -9,8 +9,8 @@ "block.minerOperate": {"category": "block", "sounds": [{"name": "block/minerOperate", "stream": true}]}, "block.assemblerOperate": {"category": "block", "sounds": [{"name": "block/assemblerOperate", "stream": true}]}, "block.chemplantOperate": {"category": "block", "sounds": [{"name": "block/chemplantOperate", "stream": true}]}, - "block.dieselOperate": {"category": "block", "sounds": [{"name": "block/dieselOperate", "stream": true}]}, - "block.igeneratorOperate": {"category": "block", "sounds": [{"name": "block/igeneratorOperate", "stream": true}]}, + "block.dieselOperate": {"category": "block", "sounds": [{"name": "block/dieselOperate", "stream": false}]}, + "block.igeneratorOperate": {"category": "block", "sounds": [{"name": "block/igeneratorOperate", "stream": false}]}, "block.turbofanOperate": {"category": "block", "sounds": [{"name": "block/turbofanOperate", "stream": true}]}, "block.pressOperate": {"category": "block", "sounds": [{"name": "block/pressOperate", "stream": false}]}, "block.broadcast1": {"category": "block", "sounds": [{"name": "block/broadcast1", "stream": true}]}, @@ -48,9 +48,11 @@ "block.warnOverspeed": {"category": "block", "sounds": [{"name": "block/warnOverspeed", "stream": false}]}, "block.boilerGroan": {"category": "block", "sounds": ["block/boilerGroan0", "block/boilerGroan1", "block/boilerGroan2"]}, "block.steamEngineOperate": {"category": "block", "sounds": [{"name": "block/steamEngineOperate", "stream": false}]}, - "block.turbinegasStartup": {"category": "block", "sounds": [{"name": "block/turbinegasStartup", "stream": true}]}, + "block.turbinegasStartup": {"category": "block", "sounds": [{"name": "block/turbinegasStartup", "stream": false}]}, "block.turbinegasRunning": {"category": "block", "sounds": [{"name": "block/turbinegasRunning", "stream": false}]}, "block.turbinegasShutdown": {"category": "block", "sounds": [{"name": "block/turbinegasShutdown", "stream": true}]}, + "block.chungusTurbineRunning": {"category": "block", "sounds": [{"name": "block/chungusTurbine", "stream": false}]}, + "block.largeTurbineRunning": {"category": "block", "sounds": [{"name": "block/largeTurbine", "stream": false}]}, "block.damage": {"category": "block", "sounds": ["block/dam1", "block/dam2", "block/dam3", "block/dam4"]}, "block.electricHum": {"category": "block", "sounds": [{"name": "block/electricHum", "stream": false}]}, "block.boiler": {"category": "block", "sounds": [{"name": "block/boiler", "stream": false}]}, @@ -59,6 +61,9 @@ "block.hornFarSingle": {"category": "block", "sounds": [{"name": "block/hornFarSingle", "stream": false}]}, "block.hornFarDual": {"category": "block", "sounds": [{"name": "block/hornFarDual", "stream": false}]}, "block.reactorLoop": {"category": "block", "sounds": [{"name": "block/reactorLoop", "stream": false}]}, + "block.fusionReactorRunning": {"category": "block", "sounds": [{"name": "block/fusionReactorSpin", "stream": false}]}, + "block.fel": {"category": "block", "sounds": [{"name": "block/fel", "stream": false}]}, + "block.hephaestusRunning": {"category": "block", "sounds": [{"name": "block/hephaestusRunning", "stream": false}]}, "door.TransitionSealOpen": {"category": "block", "sounds": [{"name": "block/door/transition_seal_open", "stream": true}]}, "door.wghStart": {"category": "block", "sounds": [{"name": "block/door/wgh_start", "stream": true}]}, @@ -166,6 +171,7 @@ "weapon.revolverReload": {"category": "player", "sounds": [{"name": "weapon/revolverReload", "stream": false}]}, "weapon.shotgunReload": {"category": "player", "sounds": ["weapon/shotgunReload1", "weapon/shotgunReload2", "weapon/shotgunReload3"]}, "weapon.magReload": {"category": "player", "sounds": [{"name": "weapon/magReload", "stream": false}]}, + "weapon.magReloadBolt": {"category": "player", "sounds": [{"name": "weapon/magReloadBolt", "stream": false}]}, "weapon.rpgReload": {"category": "player", "sounds": [{"name": "weapon/rpgReload", "stream": false}]}, "weapon.boat": {"category": "player", "sounds": [{"name": "weapon/boat", "stream": false}]}, "weapon.hkShoot": {"category": "player", "sounds": [{"name": "weapon/hkShoot", "stream": false}]}, @@ -194,12 +200,16 @@ "weapon.extinguisher": {"category": "player", "sounds": [{"name": "weapon/extinguisher", "stream": false}]}, "weapon.robin_explosion": {"category": "player", "sounds": [{"name": "weapon/robin_explosion", "stream": false}]}, "weapon.shotgunPump": {"category": "player", "sounds": [{"name": "weapon/shotgunShootPump", "stream": false}]}, + "weapon.shotgunPumpAlt": {"category": "player", "sounds": [{"name": "weapon/shotgunShootPumpAlt", "stream": false}]}, "weapon.explosionMedium": {"category": "player", "sounds": [{"name": "weapon/explosion_medium", "stream": false}]}, "weapon.hicalShot": {"category": "player", "sounds": [{"name": "weapon/hicalShot", "stream": false}]}, "weapon.coilgunReload": {"category": "player", "sounds": [{"name": "weapon/coilgunReload", "stream": false}]}, "weapon.coilgunShoot": {"category": "player", "sounds": [{"name": "weapon/coilgunShoot", "stream": false}]}, "weapon.glReload": {"category": "player", "sounds": [{"name": "weapon/glReload", "stream": false}]}, "weapon.glShoot": {"category": "player", "sounds": [{"name": "weapon/glShoot", "stream": false}]}, + "weapon.44Shoot": {"category": "player", "sounds": [{"name": "weapon/44Shoot", "stream": false}]}, + "weapon.trainImpact": {"category": "player", "sounds": [{"name": "weapon/trainImpact", "stream": false}]}, + "weapon.nuclearExplosion": {"category": "player", "sounds": [{"name": "weapon/nuclearExplosion", "stream": true}]}, "weapon.dFlash": {"category": "player", "sounds": [{"name": "weapon/dFlash", "stream": false}]}, diff --git a/src/main/resources/assets/hbm/sounds/block/chungusTurbine.ogg b/src/main/resources/assets/hbm/sounds/block/chungusTurbine.ogg new file mode 100644 index 000000000..f66133991 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/block/chungusTurbine.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/block/fel.ogg b/src/main/resources/assets/hbm/sounds/block/fel.ogg new file mode 100644 index 000000000..f5927a707 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/block/fel.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/block/fusionReactorSpin.ogg b/src/main/resources/assets/hbm/sounds/block/fusionReactorSpin.ogg new file mode 100644 index 000000000..b3752f91c Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/block/fusionReactorSpin.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/block/hephaestusRunning.ogg b/src/main/resources/assets/hbm/sounds/block/hephaestusRunning.ogg new file mode 100644 index 000000000..0129ce676 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/block/hephaestusRunning.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/block/largeTurbine.ogg b/src/main/resources/assets/hbm/sounds/block/largeTurbine.ogg new file mode 100644 index 000000000..4648b3dd3 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/block/largeTurbine.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/44Shoot.ogg b/src/main/resources/assets/hbm/sounds/weapon/44Shoot.ogg new file mode 100644 index 000000000..b76f3c389 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/44Shoot.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/glReload.ogg b/src/main/resources/assets/hbm/sounds/weapon/glReload.ogg index 36de2dae7..0b7a888a0 100644 Binary files a/src/main/resources/assets/hbm/sounds/weapon/glReload.ogg and b/src/main/resources/assets/hbm/sounds/weapon/glReload.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/glShoot.ogg b/src/main/resources/assets/hbm/sounds/weapon/glShoot.ogg index f75be2fe6..dcc380f2f 100644 Binary files a/src/main/resources/assets/hbm/sounds/weapon/glShoot.ogg and b/src/main/resources/assets/hbm/sounds/weapon/glShoot.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/magReloadBolt.ogg b/src/main/resources/assets/hbm/sounds/weapon/magReloadBolt.ogg new file mode 100644 index 000000000..0e8c4794a Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/magReloadBolt.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/nuclearExplosion.ogg b/src/main/resources/assets/hbm/sounds/weapon/nuclearExplosion.ogg new file mode 100644 index 000000000..6dddc621b Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/nuclearExplosion.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/shotgunShootPumpAlt.ogg b/src/main/resources/assets/hbm/sounds/weapon/shotgunShootPumpAlt.ogg new file mode 100644 index 000000000..b4d1bac67 Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/shotgunShootPumpAlt.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/shottyShoot.ogg b/src/main/resources/assets/hbm/sounds/weapon/shottyShoot.ogg index 13aca3d35..0d37b493a 100644 Binary files a/src/main/resources/assets/hbm/sounds/weapon/shottyShoot.ogg and b/src/main/resources/assets/hbm/sounds/weapon/shottyShoot.ogg differ diff --git a/src/main/resources/assets/hbm/sounds/weapon/trainImpact.ogg b/src/main/resources/assets/hbm/sounds/weapon/trainImpact.ogg new file mode 100644 index 000000000..22b179fda Binary files /dev/null and b/src/main/resources/assets/hbm/sounds/weapon/trainImpact.ogg differ diff --git a/src/main/resources/assets/hbm/textures/blocks/anvil_arsenic_bronze.png b/src/main/resources/assets/hbm/textures/blocks/anvil_arsenic_bronze.png new file mode 100644 index 000000000..8f27fa83f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/anvil_arsenic_bronze.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/anvil_bismuth_bronze.png b/src/main/resources/assets/hbm/textures/blocks/anvil_bismuth_bronze.png new file mode 100644 index 000000000..cb16ba9cc Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/anvil_bismuth_bronze.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/anvil_desh.png b/src/main/resources/assets/hbm/textures/blocks/anvil_desh.png new file mode 100644 index 000000000..6c18116de Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/anvil_desh.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/anvil_saturnite.png b/src/main/resources/assets/hbm/textures/blocks/anvil_saturnite.png new file mode 100644 index 000000000..5e7c92930 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/anvil_saturnite.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/ash.png b/src/main/resources/assets/hbm/textures/blocks/ash.png index a16315628..7ad5b19db 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/ash.png and b/src/main/resources/assets/hbm/textures/blocks/ash.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/block_advanced_alloy.png b/src/main/resources/assets/hbm/textures/blocks/block_advanced_alloy.png index 95ddf654f..55e55b543 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/block_advanced_alloy.png and b/src/main/resources/assets/hbm/textures/blocks/block_advanced_alloy.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/block_red_copper.png b/src/main/resources/assets/hbm/textures/blocks/block_red_copper.png index 69c2027cb..1a8d8d450 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/block_red_copper.png and b/src/main/resources/assets/hbm/textures/blocks/block_red_copper.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/brick_red.png b/src/main/resources/assets/hbm/textures/blocks/brick_red.png new file mode 100644 index 000000000..21fc140e0 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/brick_red.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/brick_red_top.png b/src/main/resources/assets/hbm/textures/blocks/brick_red_top.png new file mode 100644 index 000000000..c928f1f98 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/brick_red_top.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/brick_red_top_alt.png b/src/main/resources/assets/hbm/textures/blocks/brick_red_top_alt.png new file mode 100644 index 000000000..5ad266bbe Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/brick_red_top_alt.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/cage_lamp.png b/src/main/resources/assets/hbm/textures/blocks/cage_lamp.png new file mode 100644 index 000000000..f78cb205e Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/cage_lamp.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/cage_lamp_off.png b/src/main/resources/assets/hbm/textures/blocks/cage_lamp_off.png new file mode 100644 index 000000000..c2bf59718 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/cage_lamp_off.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/cm_flux_side.png b/src/main/resources/assets/hbm/textures/blocks/cm_flux_side.png new file mode 100644 index 000000000..5a2a210d6 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/cm_flux_side.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/cm_flux_top.png b/src/main/resources/assets/hbm/textures/blocks/cm_flux_top.png new file mode 100644 index 000000000..05180ac75 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/cm_flux_top.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/cm_heat_side.png b/src/main/resources/assets/hbm/textures/blocks/cm_heat_side.png new file mode 100644 index 000000000..7d51fdbba Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/cm_heat_side.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/cm_heat_top.png b/src/main/resources/assets/hbm/textures/blocks/cm_heat_top.png new file mode 100644 index 000000000..5ef2acf99 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/cm_heat_top.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/crt_blinking.png b/src/main/resources/assets/hbm/textures/blocks/crt_blinking.png new file mode 100644 index 000000000..15cb8c1dc Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/crt_blinking.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/crt_blinking.png.mcmeta b/src/main/resources/assets/hbm/textures/blocks/crt_blinking.png.mcmeta new file mode 100755 index 000000000..92dd223c8 --- /dev/null +++ b/src/main/resources/assets/hbm/textures/blocks/crt_blinking.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 10 + } +} diff --git a/src/main/resources/assets/hbm/textures/blocks/crt_broken.png b/src/main/resources/assets/hbm/textures/blocks/crt_broken.png new file mode 100644 index 000000000..1e66e452b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/crt_broken.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/crt_bsod.png b/src/main/resources/assets/hbm/textures/blocks/crt_bsod.png new file mode 100644 index 000000000..87358330b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/crt_bsod.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/crt_clean.png b/src/main/resources/assets/hbm/textures/blocks/crt_clean.png new file mode 100644 index 000000000..5b80ced2c Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/crt_clean.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/door_red_lower.png b/src/main/resources/assets/hbm/textures/blocks/door_red_lower.png new file mode 100644 index 000000000..d3771415f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/door_red_lower.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/door_red_upper.png b/src/main/resources/assets/hbm/textures/blocks/door_red_upper.png new file mode 100644 index 000000000..daff0a752 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/door_red_upper.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/flood_lamp.png b/src/main/resources/assets/hbm/textures/blocks/flood_lamp.png new file mode 100644 index 000000000..1582fc963 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/flood_lamp.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/flood_lamp_off.png b/src/main/resources/assets/hbm/textures/blocks/flood_lamp_off.png new file mode 100644 index 000000000..b79c23c1d Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/flood_lamp_off.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/fluorescent_lamp.png b/src/main/resources/assets/hbm/textures/blocks/fluorescent_lamp.png new file mode 100644 index 000000000..f10e42271 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/fluorescent_lamp.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/fluorescent_lamp_off.png b/src/main/resources/assets/hbm/textures/blocks/fluorescent_lamp_off.png new file mode 100644 index 000000000..edc0193a7 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/fluorescent_lamp_off.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/glyphid_base_2.png b/src/main/resources/assets/hbm/textures/blocks/glyphid_base_2.png deleted file mode 100644 index 541a53c5f..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/glyphid_base_2.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/glyphid_base_infested.png b/src/main/resources/assets/hbm/textures/blocks/glyphid_base_infested.png new file mode 100644 index 000000000..50c058246 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/glyphid_base_infested.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/glyphid_base_infested_alt.png b/src/main/resources/assets/hbm/textures/blocks/glyphid_base_infested_alt.png new file mode 100644 index 000000000..7cfa0d2da Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/glyphid_base_infested_alt.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/glyphid_eggs_base_infested.png b/src/main/resources/assets/hbm/textures/blocks/glyphid_eggs_base_infested.png new file mode 100644 index 000000000..c4308d58a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/glyphid_eggs_base_infested.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/glyphid_eggs_infested.png b/src/main/resources/assets/hbm/textures/blocks/glyphid_eggs_infested.png new file mode 100644 index 000000000..93786bc31 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/glyphid_eggs_infested.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/icf_block.png b/src/main/resources/assets/hbm/textures/blocks/icf_block.png new file mode 100644 index 000000000..52b8aa635 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/icf_block.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/icf_block_ct.png b/src/main/resources/assets/hbm/textures/blocks/icf_block_ct.png new file mode 100644 index 000000000..3d5496e2f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/icf_block_ct.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/icf_block_port.png b/src/main/resources/assets/hbm/textures/blocks/icf_block_port.png new file mode 100644 index 000000000..9de12e638 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/icf_block_port.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/icf_block_port_ct.png b/src/main/resources/assets/hbm/textures/blocks/icf_block_port_ct.png new file mode 100644 index 000000000..df3306630 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/icf_block_port_ct.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/icf_capacitor_side.png b/src/main/resources/assets/hbm/textures/blocks/icf_capacitor_side.png new file mode 100644 index 000000000..71c3c1388 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/icf_capacitor_side.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/icf_capacitor_top.png b/src/main/resources/assets/hbm/textures/blocks/icf_capacitor_top.png new file mode 100644 index 000000000..ee5387e89 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/icf_capacitor_top.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/icf_casing.png b/src/main/resources/assets/hbm/textures/blocks/icf_casing.png new file mode 100644 index 000000000..87ebf08fd Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/icf_casing.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/icf_cell.png b/src/main/resources/assets/hbm/textures/blocks/icf_cell.png new file mode 100644 index 000000000..2f33a7867 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/icf_cell.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/icf_controller.png b/src/main/resources/assets/hbm/textures/blocks/icf_controller.png new file mode 100644 index 000000000..fa0440740 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/icf_controller.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/icf_emitter.png b/src/main/resources/assets/hbm/textures/blocks/icf_emitter.png new file mode 100644 index 000000000..f077f304b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/icf_emitter.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/icf_port.png b/src/main/resources/assets/hbm/textures/blocks/icf_port.png new file mode 100644 index 000000000..bbce4c101 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/icf_port.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/icf_turbocharger.png b/src/main/resources/assets/hbm/textures/blocks/icf_turbocharger.png new file mode 100644 index 000000000..be55a576f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/icf_turbocharger.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/industrial_generator.png b/src/main/resources/assets/hbm/textures/blocks/industrial_generator.png deleted file mode 100644 index 089b2f3e7..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/industrial_generator.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/inserter_side.png b/src/main/resources/assets/hbm/textures/blocks/inserter_side.png deleted file mode 100644 index 528fcd142..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/inserter_side.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/inserter_top.png b/src/main/resources/assets/hbm/textures/blocks/inserter_top.png deleted file mode 100644 index 703d13408..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/inserter_top.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_deuterium_front.png b/src/main/resources/assets/hbm/textures/blocks/machine_deuterium_front.png deleted file mode 100644 index 5811d823d..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_deuterium_front.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_deuterium_side.png b/src/main/resources/assets/hbm/textures/blocks/machine_deuterium_side.png deleted file mode 100644 index bd8c49821..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_deuterium_side.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_diesel_bottom.png b/src/main/resources/assets/hbm/textures/blocks/machine_diesel_bottom.png deleted file mode 100644 index 8c88d493c..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_diesel_bottom.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_diesel_front.png b/src/main/resources/assets/hbm/textures/blocks/machine_diesel_front.png deleted file mode 100644 index 81a7fb19b..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_diesel_front.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_diesel_side.png b/src/main/resources/assets/hbm/textures/blocks/machine_diesel_side.png deleted file mode 100644 index babe6929c..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_diesel_side.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_diesel_top.png b/src/main/resources/assets/hbm/textures/blocks/machine_diesel_top.png deleted file mode 100644 index 2dc9eeb63..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_diesel_top.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_drill.png b/src/main/resources/assets/hbm/textures/blocks/machine_drill.png deleted file mode 100644 index 379b7371a..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_drill.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_flare.png b/src/main/resources/assets/hbm/textures/blocks/machine_flare.png deleted file mode 100644 index 881172519..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_flare.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_funnel.png b/src/main/resources/assets/hbm/textures/blocks/machine_funnel.png new file mode 100644 index 000000000..40cdfa516 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/machine_funnel.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_funnel_bottom.png b/src/main/resources/assets/hbm/textures/blocks/machine_funnel_bottom.png new file mode 100644 index 000000000..0ffb54e3d Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/machine_funnel_bottom.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_funnel_side.png b/src/main/resources/assets/hbm/textures/blocks/machine_funnel_side.png new file mode 100644 index 000000000..16410b2ac Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/machine_funnel_side.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_funnel_top.png b/src/main/resources/assets/hbm/textures/blocks/machine_funnel_top.png new file mode 100644 index 000000000..151899a23 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/machine_funnel_top.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_furnace_brick_bottom.png b/src/main/resources/assets/hbm/textures/blocks/machine_furnace_brick_bottom.png new file mode 100644 index 000000000..6db8f00c0 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/machine_furnace_brick_bottom.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_furnace_brick_front_off.png b/src/main/resources/assets/hbm/textures/blocks/machine_furnace_brick_front_off.png new file mode 100644 index 000000000..5c382d9f9 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/machine_furnace_brick_front_off.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_furnace_brick_front_on.png b/src/main/resources/assets/hbm/textures/blocks/machine_furnace_brick_front_on.png new file mode 100644 index 000000000..5738e17c1 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/machine_furnace_brick_front_on.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_furnace_brick_side.png b/src/main/resources/assets/hbm/textures/blocks/machine_furnace_brick_side.png new file mode 100644 index 000000000..f94f5ae4c Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/machine_furnace_brick_side.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_furnace_brick_top.png b/src/main/resources/assets/hbm/textures/blocks/machine_furnace_brick_top.png new file mode 100644 index 000000000..8c17a8dc8 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/machine_furnace_brick_top.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_icf_press_side.png b/src/main/resources/assets/hbm/textures/blocks/machine_icf_press_side.png new file mode 100644 index 000000000..f9f1ce193 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/machine_icf_press_side.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_icf_press_top.png b/src/main/resources/assets/hbm/textures/blocks/machine_icf_press_top.png new file mode 100644 index 000000000..a8dc67183 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/machine_icf_press_top.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_refinery_side.png b/src/main/resources/assets/hbm/textures/blocks/machine_refinery_side.png deleted file mode 100644 index f16831e2f..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_refinery_side.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_refinery_side_alt.png b/src/main/resources/assets/hbm/textures/blocks/machine_refinery_side_alt.png deleted file mode 100644 index 5d6cc6d84..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_refinery_side_alt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_refinery_top.png b/src/main/resources/assets/hbm/textures/blocks/machine_refinery_top.png deleted file mode 100644 index 6c8ca9a7c..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_refinery_top.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_side_blue.png b/src/main/resources/assets/hbm/textures/blocks/machine_rtg_side_blue.png deleted file mode 100644 index 5ddff42de..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_side_blue.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_side_cyan.png b/src/main/resources/assets/hbm/textures/blocks/machine_rtg_side_cyan.png deleted file mode 100644 index fac216a59..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_side_cyan.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_side_green.png b/src/main/resources/assets/hbm/textures/blocks/machine_rtg_side_green.png deleted file mode 100644 index 5b3f8f914..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_side_green.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_side_grey.png b/src/main/resources/assets/hbm/textures/blocks/machine_rtg_side_grey.png deleted file mode 100644 index 7128c950c..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_side_grey.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_side_orange.png b/src/main/resources/assets/hbm/textures/blocks/machine_rtg_side_orange.png deleted file mode 100644 index da4f8ad1f..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_side_orange.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_side_purple.png b/src/main/resources/assets/hbm/textures/blocks/machine_rtg_side_purple.png deleted file mode 100644 index c0b633247..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_side_purple.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_side_red.png b/src/main/resources/assets/hbm/textures/blocks/machine_rtg_side_red.png deleted file mode 100644 index 076167a90..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_side_red.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_side_yellow.png b/src/main/resources/assets/hbm/textures/blocks/machine_rtg_side_yellow.png deleted file mode 100644 index 2f54bb11b..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_side_yellow.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_top.png b/src/main/resources/assets/hbm/textures/blocks/machine_rtg_top.png deleted file mode 100644 index 8e3391409..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_top.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_top_blue.png b/src/main/resources/assets/hbm/textures/blocks/machine_rtg_top_blue.png deleted file mode 100644 index 74c8aba72..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_top_blue.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_top_cyan.png b/src/main/resources/assets/hbm/textures/blocks/machine_rtg_top_cyan.png deleted file mode 100644 index c62daaeb5..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_top_cyan.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_top_green.png b/src/main/resources/assets/hbm/textures/blocks/machine_rtg_top_green.png deleted file mode 100644 index 2b436376c..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_top_green.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_top_grey.png b/src/main/resources/assets/hbm/textures/blocks/machine_rtg_top_grey.png deleted file mode 100644 index aa04dc3c9..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_top_grey.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_top_orange.png b/src/main/resources/assets/hbm/textures/blocks/machine_rtg_top_orange.png deleted file mode 100644 index b77a727ff..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_top_orange.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_top_purple.png b/src/main/resources/assets/hbm/textures/blocks/machine_rtg_top_purple.png deleted file mode 100644 index d3853fe50..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_top_purple.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_top_red.png b/src/main/resources/assets/hbm/textures/blocks/machine_rtg_top_red.png deleted file mode 100644 index 6065c582a..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_top_red.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_top_yellow.png b/src/main/resources/assets/hbm/textures/blocks/machine_rtg_top_yellow.png deleted file mode 100644 index 00431d187..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/machine_rtg_top_yellow.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/marker_structure.png b/src/main/resources/assets/hbm/textures/blocks/marker_structure.png deleted file mode 100755 index 9d7ad2cad..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/marker_structure.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/oil_spill.png b/src/main/resources/assets/hbm/textures/blocks/oil_spill.png new file mode 100644 index 000000000..5fcc7123e Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/oil_spill.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/basalt_asbestos.png b/src/main/resources/assets/hbm/textures/blocks/ore_basalt_asbestos.png similarity index 100% rename from src/main/resources/assets/hbm/textures/blocks/basalt_asbestos.png rename to src/main/resources/assets/hbm/textures/blocks/ore_basalt_asbestos.png diff --git a/src/main/resources/assets/hbm/textures/blocks/basalt_fluorite.png b/src/main/resources/assets/hbm/textures/blocks/ore_basalt_fluorite.png similarity index 100% rename from src/main/resources/assets/hbm/textures/blocks/basalt_fluorite.png rename to src/main/resources/assets/hbm/textures/blocks/ore_basalt_fluorite.png diff --git a/src/main/resources/assets/hbm/textures/blocks/basalt_gem.png b/src/main/resources/assets/hbm/textures/blocks/ore_basalt_gem.png similarity index 100% rename from src/main/resources/assets/hbm/textures/blocks/basalt_gem.png rename to src/main/resources/assets/hbm/textures/blocks/ore_basalt_gem.png diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_basalt_molysite.png b/src/main/resources/assets/hbm/textures/blocks/ore_basalt_molysite.png new file mode 100644 index 000000000..e688aeaac Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/ore_basalt_molysite.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/basalt_overlay.png b/src/main/resources/assets/hbm/textures/blocks/ore_basalt_overlay.png similarity index 100% rename from src/main/resources/assets/hbm/textures/blocks/basalt_overlay.png rename to src/main/resources/assets/hbm/textures/blocks/ore_basalt_overlay.png diff --git a/src/main/resources/assets/hbm/textures/blocks/basalt_sulfur.png b/src/main/resources/assets/hbm/textures/blocks/ore_basalt_sulfur.png similarity index 100% rename from src/main/resources/assets/hbm/textures/blocks/basalt_sulfur.png rename to src/main/resources/assets/hbm/textures/blocks/ore_basalt_sulfur.png diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_meteor_aluminium.png b/src/main/resources/assets/hbm/textures/blocks/ore_meteor.aluminium.png similarity index 100% rename from src/main/resources/assets/hbm/textures/blocks/ore_meteor_aluminium.png rename to src/main/resources/assets/hbm/textures/blocks/ore_meteor.aluminium.png diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_meteor.cobalt.png b/src/main/resources/assets/hbm/textures/blocks/ore_meteor.cobalt.png new file mode 100644 index 000000000..cf8174912 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/ore_meteor.cobalt.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_meteor_copper.png b/src/main/resources/assets/hbm/textures/blocks/ore_meteor.copper.png similarity index 100% rename from src/main/resources/assets/hbm/textures/blocks/ore_meteor_copper.png rename to src/main/resources/assets/hbm/textures/blocks/ore_meteor.copper.png diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_meteor.iron.png b/src/main/resources/assets/hbm/textures/blocks/ore_meteor.iron.png new file mode 100644 index 000000000..c8d0bc2ff Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/ore_meteor.iron.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_meteor.rareearth.png b/src/main/resources/assets/hbm/textures/blocks/ore_meteor.rareearth.png new file mode 100644 index 000000000..c79e5d5df Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/ore_meteor.rareearth.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_meteor_lead.png b/src/main/resources/assets/hbm/textures/blocks/ore_meteor_lead.png deleted file mode 100644 index 564498b24..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/ore_meteor_lead.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_meteor_lithium.png b/src/main/resources/assets/hbm/textures/blocks/ore_meteor_lithium.png deleted file mode 100644 index 2b95bca51..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/ore_meteor_lithium.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_meteor_starmetal.png b/src/main/resources/assets/hbm/textures/blocks/ore_meteor_starmetal.png deleted file mode 100644 index 1e90330ce..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/ore_meteor_starmetal.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_meteor_sulfur.png b/src/main/resources/assets/hbm/textures/blocks/ore_meteor_sulfur.png deleted file mode 100644 index af0f7850f..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/ore_meteor_sulfur.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_meteor_thorium.png b/src/main/resources/assets/hbm/textures/blocks/ore_meteor_thorium.png deleted file mode 100644 index 20c8f70e1..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/ore_meteor_thorium.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_meteor_titanium.png b/src/main/resources/assets/hbm/textures/blocks/ore_meteor_titanium.png deleted file mode 100644 index cec81444f..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/ore_meteor_titanium.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_meteor_tungsten.png b/src/main/resources/assets/hbm/textures/blocks/ore_meteor_tungsten.png deleted file mode 100644 index 5a6d3fcaf..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/ore_meteor_tungsten.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_meteor_uranium.png b/src/main/resources/assets/hbm/textures/blocks/ore_meteor_uranium.png deleted file mode 100644 index e9780ab50..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/ore_meteor_uranium.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_overlay_diamond.png b/src/main/resources/assets/hbm/textures/blocks/ore_overlay_diamond.png new file mode 100644 index 000000000..af9244edd Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/ore_overlay_diamond.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_overlay_emerald.png b/src/main/resources/assets/hbm/textures/blocks/ore_overlay_emerald.png new file mode 100644 index 000000000..60d3d6548 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/ore_overlay_emerald.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_overlay_radgem.png b/src/main/resources/assets/hbm/textures/blocks/ore_overlay_radgem.png new file mode 100644 index 000000000..bb30dc075 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/ore_overlay_radgem.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_overlay_schrabidium.png b/src/main/resources/assets/hbm/textures/blocks/ore_overlay_schrabidium.png new file mode 100644 index 000000000..40fafd83f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/ore_overlay_schrabidium.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_overlay_uranium.png b/src/main/resources/assets/hbm/textures/blocks/ore_overlay_uranium.png new file mode 100644 index 000000000..39aef25e1 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/ore_overlay_uranium.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/ore_overlay_uranium_scorched.png b/src/main/resources/assets/hbm/textures/blocks/ore_overlay_uranium_scorched.png new file mode 100644 index 000000000..c1a41dd08 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/ore_overlay_uranium_scorched.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/particle/particle_splash.png b/src/main/resources/assets/hbm/textures/blocks/particle/particle_splash.png new file mode 100644 index 000000000..c5045b8e6 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/particle/particle_splash.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/pedestal_side.png b/src/main/resources/assets/hbm/textures/blocks/pedestal_side.png new file mode 100644 index 000000000..a23df00a4 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/pedestal_side.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/pedestal_top.png b/src/main/resources/assets/hbm/textures/blocks/pedestal_top.png new file mode 100644 index 000000000..b53306641 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/pedestal_top.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/pwr_heatsink.png b/src/main/resources/assets/hbm/textures/blocks/pwr_heatsink.png new file mode 100644 index 000000000..e825b4bfd Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/pwr_heatsink.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/rad_lava_flowing.png b/src/main/resources/assets/hbm/textures/blocks/rad_lava_flowing.png new file mode 100644 index 000000000..022cf119b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/rad_lava_flowing.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/rad_lava_flowing.png.mcmeta b/src/main/resources/assets/hbm/textures/blocks/rad_lava_flowing.png.mcmeta new file mode 100755 index 000000000..df9c61a80 --- /dev/null +++ b/src/main/resources/assets/hbm/textures/blocks/rad_lava_flowing.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 3 + } +} diff --git a/src/main/resources/assets/hbm/textures/blocks/rad_lava_still.png b/src/main/resources/assets/hbm/textures/blocks/rad_lava_still.png new file mode 100644 index 000000000..41cb6cd13 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/rad_lava_still.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/rad_lava_still.png.mcmeta b/src/main/resources/assets/hbm/textures/blocks/rad_lava_still.png.mcmeta new file mode 100755 index 000000000..55438bf34 --- /dev/null +++ b/src/main/resources/assets/hbm/textures/blocks/rad_lava_still.png.mcmeta @@ -0,0 +1,45 @@ +{ + "animation": { + "frametime": 2, + "frames": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 18, + 17, + 16, + 15, + 14, + 13, + 12, + 11, + 10, + 9, + 8, + 7, + 6, + 5, + 4, + 3, + 2, + 1 + ] + } +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/textures/blocks/rail_switch_sign.png b/src/main/resources/assets/hbm/textures/blocks/rail_switch_sign.png new file mode 100644 index 000000000..29c3e3cf2 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/rail_switch_sign.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/rail_switch_sign_flipped.png b/src/main/resources/assets/hbm/textures/blocks/rail_switch_sign_flipped.png new file mode 100644 index 000000000..f4a60e3c8 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/rail_switch_sign_flipped.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/reactor_control_side_alt.png b/src/main/resources/assets/hbm/textures/blocks/reactor_control_side_alt.png deleted file mode 100644 index 20d822588..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/reactor_control_side_alt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/reactor_control_top_alt.png b/src/main/resources/assets/hbm/textures/blocks/reactor_control_top_alt.png deleted file mode 100644 index bd53b0db8..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/reactor_control_top_alt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/reactor_element_side_alt.png b/src/main/resources/assets/hbm/textures/blocks/reactor_element_side_alt.png deleted file mode 100644 index b73f785d0..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/reactor_element_side_alt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/reactor_element_top_alt.png b/src/main/resources/assets/hbm/textures/blocks/reactor_element_top_alt.png deleted file mode 100644 index 773251de3..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/reactor_element_top_alt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/reactor_side_alt.png b/src/main/resources/assets/hbm/textures/blocks/reactor_side_alt.png deleted file mode 100644 index dc6fa1bc3..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/reactor_side_alt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/reactor_top_alt.png b/src/main/resources/assets/hbm/textures/blocks/reactor_top_alt.png deleted file mode 100644 index f93b61cb9..000000000 Binary files a/src/main/resources/assets/hbm/textures/blocks/reactor_top_alt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/blocks/rtty_logic_off.png b/src/main/resources/assets/hbm/textures/blocks/rtty_logic_off.png new file mode 100644 index 000000000..789d461f4 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/rtty_logic_off.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/rtty_logic_on.png b/src/main/resources/assets/hbm/textures/blocks/rtty_logic_on.png new file mode 100644 index 000000000..752c65d56 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/rtty_logic_on.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/rtty_logic_on.png.mcmeta b/src/main/resources/assets/hbm/textures/blocks/rtty_logic_on.png.mcmeta new file mode 100644 index 000000000..efc331201 --- /dev/null +++ b/src/main/resources/assets/hbm/textures/blocks/rtty_logic_on.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 10 + } +} diff --git a/src/main/resources/assets/hbm/textures/blocks/sellafield_slaked_1.png b/src/main/resources/assets/hbm/textures/blocks/sellafield_slaked_1.png new file mode 100644 index 000000000..32bd9afb4 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/sellafield_slaked_1.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/sellafield_slaked_2.png b/src/main/resources/assets/hbm/textures/blocks/sellafield_slaked_2.png new file mode 100644 index 000000000..32f32cfa3 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/sellafield_slaked_2.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/sellafield_slaked_3.png b/src/main/resources/assets/hbm/textures/blocks/sellafield_slaked_3.png new file mode 100644 index 000000000..834cb05fd Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/sellafield_slaked_3.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/stone_keyhole.png b/src/main/resources/assets/hbm/textures/blocks/stone_keyhole.png index 394785a63..b083e0730 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/stone_keyhole.png and b/src/main/resources/assets/hbm/textures/blocks/stone_keyhole.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/volcano_rad_core.png b/src/main/resources/assets/hbm/textures/blocks/volcano_rad_core.png new file mode 100644 index 000000000..f804bda85 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/volcano_rad_core.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/volcano_rad_core.png.mcmeta b/src/main/resources/assets/hbm/textures/blocks/volcano_rad_core.png.mcmeta new file mode 100644 index 000000000..fc4bc9855 --- /dev/null +++ b/src/main/resources/assets/hbm/textures/blocks/volcano_rad_core.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 4 + } +} diff --git a/src/main/resources/assets/hbm/textures/entity/fallout.png b/src/main/resources/assets/hbm/textures/entity/fallout.png index 5c6384988..05471e074 100644 Binary files a/src/main/resources/assets/hbm/textures/entity/fallout.png and b/src/main/resources/assets/hbm/textures/entity/fallout.png differ diff --git a/src/main/resources/assets/hbm/textures/entity/glyphid_digger.png b/src/main/resources/assets/hbm/textures/entity/glyphid_digger.png new file mode 100644 index 000000000..524358e73 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/entity/glyphid_digger.png differ diff --git a/src/main/resources/assets/hbm/textures/entity/glyphid_infestation.png b/src/main/resources/assets/hbm/textures/entity/glyphid_infestation.png new file mode 100644 index 000000000..4362c8e90 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/entity/glyphid_infestation.png differ diff --git a/src/main/resources/assets/hbm/textures/entity/parasite_maggot.png b/src/main/resources/assets/hbm/textures/entity/parasite_maggot.png new file mode 100644 index 000000000..9bc94381b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/entity/parasite_maggot.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/crackoil_ds.png b/src/main/resources/assets/hbm/textures/gui/fluids/crackoil_ds.png new file mode 100644 index 000000000..2df7a2788 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/fluids/crackoil_ds.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/hotcrackoil_ds.png b/src/main/resources/assets/hbm/textures/gui/fluids/hotcrackoil_ds.png new file mode 100644 index 000000000..189efe34b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/fluids/hotcrackoil_ds.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/hotoil_ds.png b/src/main/resources/assets/hbm/textures/gui/fluids/hotoil_ds.png new file mode 100644 index 000000000..be25a9639 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/fluids/hotoil_ds.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/lightoil_ds.png b/src/main/resources/assets/hbm/textures/gui/fluids/lightoil_ds.png new file mode 100644 index 000000000..a775fe377 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/fluids/lightoil_ds.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/naphtha_ds.png b/src/main/resources/assets/hbm/textures/gui/fluids/naphtha_ds.png new file mode 100644 index 000000000..f3f439572 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/fluids/naphtha_ds.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/oil_ds.png b/src/main/resources/assets/hbm/textures/gui/fluids/oil_ds.png new file mode 100644 index 000000000..1428190b2 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/fluids/oil_ds.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/pheromone.png b/src/main/resources/assets/hbm/textures/gui/fluids/pheromone.png new file mode 100644 index 000000000..8517917d8 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/fluids/pheromone.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/pheromone_m.png b/src/main/resources/assets/hbm/textures/gui/fluids/pheromone_m.png new file mode 100644 index 000000000..b82a63ab3 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/fluids/pheromone_m.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/stellar_flux.png b/src/main/resources/assets/hbm/textures/gui/fluids/stellar_flux.png new file mode 100644 index 000000000..ff5e2c9ff Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/fluids/stellar_flux.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/machine/gui_rtty_logic_receiver.png b/src/main/resources/assets/hbm/textures/gui/machine/gui_rtty_logic_receiver.png new file mode 100644 index 000000000..568aa79ad Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/machine/gui_rtty_logic_receiver.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_catalytic_reformer.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_catalytic_reformer.png index 077d004fd..8806f89c7 100644 Binary files a/src/main/resources/assets/hbm/textures/gui/processing/gui_catalytic_reformer.png and b/src/main/resources/assets/hbm/textures/gui/processing/gui_catalytic_reformer.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_custom.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_custom.png index 7b47cbfac..412b6625a 100644 Binary files a/src/main/resources/assets/hbm/textures/gui/processing/gui_custom.png and b/src/main/resources/assets/hbm/textures/gui/processing/gui_custom.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_funnel.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_funnel.png new file mode 100644 index 000000000..2f4670d81 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/processing/gui_funnel.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_furnace_brick.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_furnace_brick.png new file mode 100644 index 000000000..e2ffdd9f5 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/processing/gui_furnace_brick.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_hydrotreater.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_hydrotreater.png new file mode 100644 index 000000000..9a96ab43f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/processing/gui_hydrotreater.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_icf_press.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_icf_press.png new file mode 100644 index 000000000..af7fcf984 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/processing/gui_icf_press.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_lemegeton.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_lemegeton.png new file mode 100644 index 000000000..ffdd5c0ee Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/processing/gui_lemegeton.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_refinery.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_refinery.png index 752d061e5..75f2072e8 100644 Binary files a/src/main/resources/assets/hbm/textures/gui/processing/gui_refinery.png and b/src/main/resources/assets/hbm/textures/gui/processing/gui_refinery.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_strand_caster.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_strand_caster.png new file mode 100644 index 000000000..2af67e09e Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/processing/gui_strand_caster.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_vacuum_distill.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_vacuum_distill.png index 89a07809d..bdbd36818 100644 Binary files a/src/main/resources/assets/hbm/textures/gui/processing/gui_vacuum_distill.png and b/src/main/resources/assets/hbm/textures/gui/processing/gui_vacuum_distill.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/reactors/gui_icf.png b/src/main/resources/assets/hbm/textures/gui/reactors/gui_icf.png new file mode 100644 index 000000000..ecebfffb2 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/reactors/gui_icf.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/weapon/gadgetSchematic.png b/src/main/resources/assets/hbm/textures/gui/weapon/gadgetSchematic.png index d51aeb1a2..3da9d72c8 100644 Binary files a/src/main/resources/assets/hbm/textures/gui/weapon/gadgetSchematic.png and b/src/main/resources/assets/hbm/textures/gui/weapon/gadgetSchematic.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/weapon/gui_launch_pad_large.png b/src/main/resources/assets/hbm/textures/gui/weapon/gui_launch_pad_large.png new file mode 100644 index 000000000..d0597322c Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/weapon/gui_launch_pad_large.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/weapon/gui_launch_pad_rusted.png b/src/main/resources/assets/hbm/textures/gui/weapon/gui_launch_pad_rusted.png new file mode 100644 index 000000000..a08cd9b97 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/weapon/gui_launch_pad_rusted.png differ diff --git a/src/main/resources/assets/hbm/textures/gui/weapon/gui_turret.png b/src/main/resources/assets/hbm/textures/gui/weapon/gui_turret.png deleted file mode 100644 index d51b92ff1..000000000 Binary files a/src/main/resources/assets/hbm/textures/gui/weapon/gui_turret.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/achievement_icon.questionmark.png b/src/main/resources/assets/hbm/textures/items/achievement_icon.questionmark.png new file mode 100644 index 000000000..72b1a1cee Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/achievement_icon.questionmark.png differ diff --git a/src/main/resources/assets/hbm/textures/items/australium_iii.png b/src/main/resources/assets/hbm/textures/items/australium_iii.png index 5a876c2b6..04cef8027 100644 Binary files a/src/main/resources/assets/hbm/textures/items/australium_iii.png and b/src/main/resources/assets/hbm/textures/items/australium_iii.png differ diff --git a/src/main/resources/assets/hbm/textures/items/bismuth_axe.png b/src/main/resources/assets/hbm/textures/items/bismuth_axe.png new file mode 100644 index 000000000..f4009dde1 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/bismuth_axe.png differ diff --git a/src/main/resources/assets/hbm/textures/items/bolt.png b/src/main/resources/assets/hbm/textures/items/bolt.png new file mode 100644 index 000000000..32c36b42e Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/bolt.png differ diff --git a/src/main/resources/assets/hbm/textures/items/bolt_compound.png b/src/main/resources/assets/hbm/textures/items/bolt_compound.png deleted file mode 100644 index faa421927..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/bolt_compound.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/bolt_dura_steel.png b/src/main/resources/assets/hbm/textures/items/bolt_dura_steel.png deleted file mode 100644 index de6eb68e6..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/bolt_dura_steel.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/bolt_spike.png b/src/main/resources/assets/hbm/textures/items/bolt_spike.png new file mode 100644 index 000000000..88e310d5f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/bolt_spike.png differ diff --git a/src/main/resources/assets/hbm/textures/items/bolt_tungsten.png b/src/main/resources/assets/hbm/textures/items/bolt_tungsten.png deleted file mode 100644 index 5a41b624c..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/bolt_tungsten.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/book_lemegeton.png b/src/main/resources/assets/hbm/textures/items/book_lemegeton.png new file mode 100644 index 000000000..4cb0fca9a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/book_lemegeton.png differ diff --git a/src/main/resources/assets/hbm/textures/items/book_of_2.png b/src/main/resources/assets/hbm/textures/items/book_of_2.png new file mode 100644 index 000000000..d737a7b7b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/book_of_2.png differ diff --git a/src/main/resources/assets/hbm/textures/items/bottle_rad.png b/src/main/resources/assets/hbm/textures/items/bottle_rad.png index 554d5cdf8..b1aa2e0a1 100644 Binary files a/src/main/resources/assets/hbm/textures/items/bottle_rad.png and b/src/main/resources/assets/hbm/textures/items/bottle_rad.png differ diff --git a/src/main/resources/assets/hbm/textures/items/card_aos.png b/src/main/resources/assets/hbm/textures/items/card_aos.png new file mode 100644 index 000000000..ac561fc53 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/card_aos.png differ diff --git a/src/main/resources/assets/hbm/textures/items/card_hbm.png b/src/main/resources/assets/hbm/textures/items/card_hbm.png new file mode 100644 index 000000000..c273750fd Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/card_hbm.png differ diff --git a/src/main/resources/assets/hbm/textures/items/card_qos.png b/src/main/resources/assets/hbm/textures/items/card_qos.png new file mode 100644 index 000000000..bb254cd8b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/card_qos.png differ diff --git a/src/main/resources/assets/hbm/textures/items/chem_icon_MEAT_PROCESSING.png b/src/main/resources/assets/hbm/textures/items/chem_icon_MEAT_PROCESSING.png new file mode 100644 index 000000000..44f694ed7 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/chem_icon_MEAT_PROCESSING.png differ diff --git a/src/main/resources/assets/hbm/textures/items/chlorophyte_axe.png b/src/main/resources/assets/hbm/textures/items/chlorophyte_axe.png new file mode 100644 index 000000000..2a05daee4 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/chlorophyte_axe.png differ diff --git a/src/main/resources/assets/hbm/textures/items/chunk_base.png b/src/main/resources/assets/hbm/textures/items/chunk_base.png new file mode 100644 index 000000000..d7e0ed298 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/chunk_base.png differ diff --git a/src/main/resources/assets/hbm/textures/items/chunk_ore.rare.png b/src/main/resources/assets/hbm/textures/items/chunk_ore.rare.png new file mode 100644 index 000000000..ca81964dd Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/chunk_ore.rare.png differ diff --git a/src/main/resources/assets/hbm/textures/items/circuit_star_component.card.png b/src/main/resources/assets/hbm/textures/items/circuit_star_component.card.png new file mode 100644 index 000000000..ed191db20 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/circuit_star_component.card.png differ diff --git a/src/main/resources/assets/hbm/textures/items/circuit_star_piece.board_converter.png b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.board_converter.png new file mode 100644 index 000000000..4324d8466 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.board_converter.png differ diff --git a/src/main/resources/assets/hbm/textures/items/circuit_star_piece.card_board.png b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.card_board.png new file mode 100644 index 000000000..cb713b251 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.card_board.png differ diff --git a/src/main/resources/assets/hbm/textures/items/circuit_star_piece.card_processor.png b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.card_processor.png new file mode 100644 index 000000000..19bceb439 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/circuit_star_piece.card_processor.png differ diff --git a/src/main/resources/assets/hbm/textures/items/definitelyfood.png b/src/main/resources/assets/hbm/textures/items/definitelyfood.png index 615a461c4..601e4b63d 100644 Binary files a/src/main/resources/assets/hbm/textures/items/definitelyfood.png and b/src/main/resources/assets/hbm/textures/items/definitelyfood.png differ diff --git a/src/main/resources/assets/hbm/textures/items/disperser_canister.png b/src/main/resources/assets/hbm/textures/items/disperser_canister.png new file mode 100644 index 000000000..4a5653488 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/disperser_canister.png differ diff --git a/src/main/resources/assets/hbm/textures/items/disperser_canister_overlay.png b/src/main/resources/assets/hbm/textures/items/disperser_canister_overlay.png new file mode 100644 index 000000000..1dcba8865 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/disperser_canister_overlay.png differ diff --git a/src/main/resources/assets/hbm/textures/items/door_red.png b/src/main/resources/assets/hbm/textures/items/door_red.png new file mode 100644 index 000000000..4fde1b889 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/door_red.png differ diff --git a/src/main/resources/assets/hbm/textures/items/dwarven_pickaxe.png b/src/main/resources/assets/hbm/textures/items/dwarven_pickaxe.png new file mode 100644 index 000000000..a6540565c Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/dwarven_pickaxe.png differ diff --git a/src/main/resources/assets/hbm/textures/items/dynosphere_base.png b/src/main/resources/assets/hbm/textures/items/dynosphere_base.png deleted file mode 100644 index 8bc3b3769..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/dynosphere_base.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/dynosphere_desh.png b/src/main/resources/assets/hbm/textures/items/dynosphere_desh.png deleted file mode 100644 index 715386484..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/dynosphere_desh.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/dynosphere_desh_charged.png b/src/main/resources/assets/hbm/textures/items/dynosphere_desh_charged.png deleted file mode 100644 index 34398c603..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/dynosphere_desh_charged.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/dynosphere_dineutronium.png b/src/main/resources/assets/hbm/textures/items/dynosphere_dineutronium.png deleted file mode 100644 index 7b79c52aa..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/dynosphere_dineutronium.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/dynosphere_dineutronium_charged.png b/src/main/resources/assets/hbm/textures/items/dynosphere_dineutronium_charged.png deleted file mode 100644 index 98495bcad..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/dynosphere_dineutronium_charged.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/dynosphere_euphemium.png b/src/main/resources/assets/hbm/textures/items/dynosphere_euphemium.png deleted file mode 100644 index 6b44d7721..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/dynosphere_euphemium.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/dynosphere_euphemium_charged.png b/src/main/resources/assets/hbm/textures/items/dynosphere_euphemium_charged.png deleted file mode 100644 index 5b66a3bc4..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/dynosphere_euphemium_charged.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/dynosphere_schrabidium.png b/src/main/resources/assets/hbm/textures/items/dynosphere_schrabidium.png deleted file mode 100644 index 8204ae217..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/dynosphere_schrabidium.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/dynosphere_schrabidium_charged.png b/src/main/resources/assets/hbm/textures/items/dynosphere_schrabidium_charged.png deleted file mode 100644 index 9d6c03146..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/dynosphere_schrabidium_charged.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/dynosphere_tetraneutronium.png b/src/main/resources/assets/hbm/textures/items/dynosphere_tetraneutronium.png deleted file mode 100644 index c7080411e..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/dynosphere_tetraneutronium.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/dynosphere_tetraneutronium_charged.png b/src/main/resources/assets/hbm/textures/items/dynosphere_tetraneutronium_charged.png deleted file mode 100644 index f05c034de..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/dynosphere_tetraneutronium_charged.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/antiknock.png b/src/main/resources/assets/hbm/textures/items/fuel_additive.antiknock.png similarity index 100% rename from src/main/resources/assets/hbm/textures/items/antiknock.png rename to src/main/resources/assets/hbm/textures/items/fuel_additive.antiknock.png diff --git a/src/main/resources/assets/hbm/textures/items/fuel_additive.deicer.png b/src/main/resources/assets/hbm/textures/items/fuel_additive.deicer.png new file mode 100644 index 000000000..17b91b06b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/fuel_additive.deicer.png differ diff --git a/src/main/resources/assets/hbm/textures/items/gem_rad.png b/src/main/resources/assets/hbm/textures/items/gem_rad.png new file mode 100644 index 000000000..d177e51f9 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/gem_rad.png differ diff --git a/src/main/resources/assets/hbm/textures/items/glyphid_gland.png b/src/main/resources/assets/hbm/textures/items/glyphid_gland.png new file mode 100644 index 000000000..0b1a48e6f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/glyphid_gland.png differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_bf_ammo.png b/src/main/resources/assets/hbm/textures/items/gun_bf_ammo.png index cb8f06db8..a7e2968c4 100644 Binary files a/src/main/resources/assets/hbm/textures/items/gun_bf_ammo.png and b/src/main/resources/assets/hbm/textures/items/gun_bf_ammo.png differ diff --git a/src/main/resources/assets/hbm/textures/items/gun_dampfmaschine.png b/src/main/resources/assets/hbm/textures/items/gun_dampfmaschine.png deleted file mode 100644 index 4df7f338d..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/gun_dampfmaschine.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/icf_pellet.png b/src/main/resources/assets/hbm/textures/items/icf_pellet.png new file mode 100644 index 000000000..eeccd7437 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/icf_pellet.png differ diff --git a/src/main/resources/assets/hbm/textures/items/icf_pellet_bg.png b/src/main/resources/assets/hbm/textures/items/icf_pellet_bg.png new file mode 100644 index 000000000..735ce8e55 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/icf_pellet_bg.png differ diff --git a/src/main/resources/assets/hbm/textures/items/icf_pellet_empty.png b/src/main/resources/assets/hbm/textures/items/icf_pellet_empty.png new file mode 100644 index 000000000..904314bbc Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/icf_pellet_empty.png differ diff --git a/src/main/resources/assets/hbm/textures/items/icf_pellet_shape.png b/src/main/resources/assets/hbm/textures/items/icf_pellet_shape.png new file mode 100644 index 000000000..b45d12aeb Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/icf_pellet_shape.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ingot_arsenic_bronze.png b/src/main/resources/assets/hbm/textures/items/ingot_arsenic_bronze.png new file mode 100644 index 000000000..003192056 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ingot_arsenic_bronze.png differ diff --git a/src/main/resources/assets/hbm/textures/items/ingot_bismuth_bronze.png b/src/main/resources/assets/hbm/textures/items/ingot_bismuth_bronze.png new file mode 100644 index 000000000..bd343c80e Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/ingot_bismuth_bronze.png differ diff --git a/src/main/resources/assets/hbm/textures/items/item_secret.canister b/src/main/resources/assets/hbm/textures/items/item_secret.canister new file mode 100644 index 000000000..5f648f819 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/item_secret.canister differ diff --git a/src/main/resources/assets/hbm/textures/items/key_red_cracked.png b/src/main/resources/assets/hbm/textures/items/key_red_cracked.png new file mode 100644 index 000000000..7abe81c3c Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/key_red_cracked.png differ diff --git a/src/main/resources/assets/hbm/textures/items/kit_hbm.png b/src/main/resources/assets/hbm/textures/items/kit_hbm.png new file mode 100644 index 000000000..eb11c3cb4 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/kit_hbm.png differ diff --git a/src/main/resources/assets/hbm/textures/items/launch_code.png b/src/main/resources/assets/hbm/textures/items/launch_code.png new file mode 100644 index 000000000..a6dad0a9e Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/launch_code.png differ diff --git a/src/main/resources/assets/hbm/textures/items/launch_code_piece.png b/src/main/resources/assets/hbm/textures/items/launch_code_piece.png new file mode 100644 index 000000000..ee74304f5 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/launch_code_piece.png differ diff --git a/src/main/resources/assets/hbm/textures/items/launch_key.png b/src/main/resources/assets/hbm/textures/items/launch_key.png new file mode 100644 index 000000000..7bdc33ec4 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/launch_key.png differ diff --git a/src/main/resources/assets/hbm/textures/items/mese_axe.png b/src/main/resources/assets/hbm/textures/items/mese_axe.png new file mode 100644 index 000000000..1c38798f0 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/mese_axe.png differ diff --git a/src/main/resources/assets/hbm/textures/items/missile_stealth.png b/src/main/resources/assets/hbm/textures/items/missile_stealth.png new file mode 100644 index 000000000..f7a8d3af2 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/missile_stealth.png differ diff --git a/src/main/resources/assets/hbm/textures/items/mold_pipe.png b/src/main/resources/assets/hbm/textures/items/mold_pipe.png new file mode 100644 index 000000000..692f1c972 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/mold_pipe.png differ diff --git a/src/main/resources/assets/hbm/textures/items/mold_shell.png b/src/main/resources/assets/hbm/textures/items/mold_shell.png new file mode 100644 index 000000000..72a389ba5 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/mold_shell.png differ diff --git a/src/main/resources/assets/hbm/textures/items/pipe.png b/src/main/resources/assets/hbm/textures/items/pipe.png new file mode 100644 index 000000000..72a840b01 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/pipe.png differ diff --git a/src/main/resources/assets/hbm/textures/items/pipette.png b/src/main/resources/assets/hbm/textures/items/pipette.png new file mode 100644 index 000000000..a24218949 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/pipette.png differ diff --git a/src/main/resources/assets/hbm/textures/items/pipette_boron.png b/src/main/resources/assets/hbm/textures/items/pipette_boron.png new file mode 100644 index 000000000..7bf66ade3 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/pipette_boron.png differ diff --git a/src/main/resources/assets/hbm/textures/items/pipette_empty.png b/src/main/resources/assets/hbm/textures/items/pipette_empty.png new file mode 100644 index 000000000..07f7b0e2b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/pipette_empty.png differ diff --git a/src/main/resources/assets/hbm/textures/items/pipette_laboratory.png b/src/main/resources/assets/hbm/textures/items/pipette_laboratory.png new file mode 100644 index 000000000..314f23205 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/pipette_laboratory.png differ diff --git a/src/main/resources/assets/hbm/textures/items/pipette_laboratory_overlay.png b/src/main/resources/assets/hbm/textures/items/pipette_laboratory_overlay.png new file mode 100644 index 000000000..8a2ad573c Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/pipette_laboratory_overlay.png differ diff --git a/src/main/resources/assets/hbm/textures/items/pipette_overlay.png b/src/main/resources/assets/hbm/textures/items/pipette_overlay.png new file mode 100644 index 000000000..207f90f2e Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/pipette_overlay.png differ diff --git a/src/main/resources/assets/hbm/textures/items/plate_dura_steel.png b/src/main/resources/assets/hbm/textures/items/plate_dura_steel.png new file mode 100644 index 000000000..4b2dba2c6 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/plate_dura_steel.png differ diff --git a/src/main/resources/assets/hbm/textures/items/powder_molysite.png b/src/main/resources/assets/hbm/textures/items/powder_molysite.png new file mode 100644 index 000000000..578d26ced Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/powder_molysite.png differ diff --git a/src/main/resources/assets/hbm/textures/items/sat_relay.png b/src/main/resources/assets/hbm/textures/items/sat_relay.png new file mode 100644 index 000000000..2c104ddf7 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/sat_relay.png differ diff --git a/src/main/resources/assets/hbm/textures/items/shell.png b/src/main/resources/assets/hbm/textures/items/shell.png new file mode 100644 index 000000000..74338e908 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/shell.png differ diff --git a/src/main/resources/assets/hbm/textures/items/shell_base.png b/src/main/resources/assets/hbm/textures/items/shell_base.png new file mode 100644 index 000000000..f1cd3b91d Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/shell_base.png differ diff --git a/src/main/resources/assets/hbm/textures/items/siphon.png b/src/main/resources/assets/hbm/textures/items/siphon.png new file mode 100644 index 000000000..ec7590978 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/siphon.png differ diff --git a/src/main/resources/assets/hbm/textures/items/upgrade_muffler.png b/src/main/resources/assets/hbm/textures/items/upgrade_muffler.png new file mode 100644 index 000000000..423195122 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/upgrade_muffler.png differ diff --git a/src/main/resources/assets/hbm/textures/items/volcanic_axe.png b/src/main/resources/assets/hbm/textures/items/volcanic_axe.png new file mode 100644 index 000000000..9a870d131 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/volcanic_axe.png differ diff --git a/src/main/resources/assets/hbm/textures/items/wafer_diamond.png b/src/main/resources/assets/hbm/textures/items/wafer_diamond.png deleted file mode 100644 index 10db83af1..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/wafer_diamond.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/wafer_gold.png b/src/main/resources/assets/hbm/textures/items/wafer_gold.png deleted file mode 100644 index 8668da72d..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/wafer_gold.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/wafer_lapis.png b/src/main/resources/assets/hbm/textures/items/wafer_lapis.png deleted file mode 100644 index 3d6760a26..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/wafer_lapis.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/wafer_silicon.png b/src/main/resources/assets/hbm/textures/items/wafer_silicon.png deleted file mode 100644 index 54fce1d7f..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/wafer_silicon.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/wafer_spark.png b/src/main/resources/assets/hbm/textures/items/wafer_spark.png deleted file mode 100644 index b03364725..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/wafer_spark.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/wand_alt.png b/src/main/resources/assets/hbm/textures/items/wand_alt.png deleted file mode 100644 index 101d7a866..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/wand_alt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/wand_d_alt.png b/src/main/resources/assets/hbm/textures/items/wand_d_alt.png deleted file mode 100644 index 3524021be..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/wand_d_alt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/wand_s_alt.png b/src/main/resources/assets/hbm/textures/items/wand_s_alt.png deleted file mode 100644 index 749e4431f..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/wand_s_alt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/wire_carbon.png b/src/main/resources/assets/hbm/textures/items/wire_carbon.png new file mode 100644 index 000000000..0834e50f2 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/wire_carbon.png differ diff --git a/src/main/resources/assets/hbm/textures/items/zündschlüssel_0.png b/src/main/resources/assets/hbm/textures/items/zündschlüssel_0.png deleted file mode 100644 index d0940180c..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/zündschlüssel_0.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/zündschlüssel_1.png b/src/main/resources/assets/hbm/textures/items/zündschlüssel_1.png deleted file mode 100644 index d3923bf82..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/zündschlüssel_1.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/zündschlüssel_2.png b/src/main/resources/assets/hbm/textures/items/zündschlüssel_2.png deleted file mode 100644 index 0927803ea..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/zündschlüssel_2.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/zündschlüssel_3.png b/src/main/resources/assets/hbm/textures/items/zündschlüssel_3.png deleted file mode 100644 index 1076a75d6..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/zündschlüssel_3.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/zündschlüssel_4.png b/src/main/resources/assets/hbm/textures/items/zündschlüssel_4.png deleted file mode 100644 index e99d634fe..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/zündschlüssel_4.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/TheGadget3_tex.png b/src/main/resources/assets/hbm/textures/models/TheGadget3_tex.png deleted file mode 100644 index 81b6e10d6..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/TheGadget3_tex.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ams_base.png b/src/main/resources/assets/hbm/textures/models/ams_base.png deleted file mode 100644 index 0bc8b2ac9..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ams_base.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ams_destroyed.png b/src/main/resources/assets/hbm/textures/models/ams_destroyed.png deleted file mode 100644 index 2160120ae..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ams_destroyed.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ams_emitter.png b/src/main/resources/assets/hbm/textures/models/ams_emitter.png deleted file mode 100644 index 3f0781cb8..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ams_emitter.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ams_limiter.png b/src/main/resources/assets/hbm/textures/models/ams_limiter.png deleted file mode 100644 index 16533c720..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ams_limiter.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/b29_2.png b/src/main/resources/assets/hbm/textures/models/b29_2.png index 1469099df..2400b676f 100644 Binary files a/src/main/resources/assets/hbm/textures/models/b29_2.png and b/src/main/resources/assets/hbm/textures/models/b29_2.png differ diff --git a/src/main/resources/assets/hbm/textures/models/bombs/gadget.png b/src/main/resources/assets/hbm/textures/models/bombs/gadget.png new file mode 100644 index 000000000..684d42e4b Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/bombs/gadget.png differ diff --git a/src/main/resources/assets/hbm/textures/models/capes/CapeAdam.png b/src/main/resources/assets/hbm/textures/models/capes/CapeAdam.png index 5225fc86d..1282cfb02 100644 Binary files a/src/main/resources/assets/hbm/textures/models/capes/CapeAdam.png and b/src/main/resources/assets/hbm/textures/models/capes/CapeAdam.png differ diff --git a/src/main/resources/assets/hbm/textures/models/capes/CapeAlcater.png b/src/main/resources/assets/hbm/textures/models/capes/CapeAlcater.png new file mode 100644 index 000000000..0d883299e Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/capes/CapeAlcater.png differ diff --git a/src/main/resources/assets/hbm/textures/models/capes/CapeHbm.png b/src/main/resources/assets/hbm/textures/models/capes/CapeHbm.png deleted file mode 100644 index 3a189322f..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/capes/CapeHbm.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/capes/CapeJame.png b/src/main/resources/assets/hbm/textures/models/capes/CapeJame.png new file mode 100644 index 000000000..4a7615d18 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/capes/CapeJame.png differ diff --git a/src/main/resources/assets/hbm/textures/models/doors/silo_hatch.png b/src/main/resources/assets/hbm/textures/models/doors/silo_hatch.png new file mode 100644 index 000000000..7a85f0e33 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/doors/silo_hatch.png differ diff --git a/src/main/resources/assets/hbm/textures/models/doors/silo_hatch_base.png b/src/main/resources/assets/hbm/textures/models/doors/silo_hatch_base.png new file mode 100644 index 000000000..f0eecee56 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/doors/silo_hatch_base.png differ diff --git a/src/main/resources/assets/hbm/textures/models/doors/silo_hatch_large.png b/src/main/resources/assets/hbm/textures/models/doors/silo_hatch_large.png new file mode 100644 index 000000000..e9cbcc6bb Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/doors/silo_hatch_large.png differ diff --git a/src/main/resources/assets/hbm/textures/models/doors/silo_hatch_large_base.png b/src/main/resources/assets/hbm/textures/models/doors/silo_hatch_large_base.png new file mode 100644 index 000000000..90be104aa Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/doors/silo_hatch_large_base.png differ diff --git a/src/main/resources/assets/hbm/textures/models/explosion/Ring2.png b/src/main/resources/assets/hbm/textures/models/explosion/Ring2.png deleted file mode 100644 index 89bc8bca5..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/explosion/Ring2.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/explosion/balefire.png b/src/main/resources/assets/hbm/textures/models/explosion/balefire.png deleted file mode 100644 index 0ac005e45..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/explosion/balefire.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/explosion/fireball.png b/src/main/resources/assets/hbm/textures/models/explosion/fireball.png deleted file mode 100644 index f3be1a1bd..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/explosion/fireball.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/launchpad/erector_abm.png b/src/main/resources/assets/hbm/textures/models/launchpad/erector_abm.png new file mode 100644 index 000000000..25763b61e Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/launchpad/erector_abm.png differ diff --git a/src/main/resources/assets/hbm/textures/models/launchpad/erector_atlas.png b/src/main/resources/assets/hbm/textures/models/launchpad/erector_atlas.png new file mode 100644 index 000000000..7d1dcb08a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/launchpad/erector_atlas.png differ diff --git a/src/main/resources/assets/hbm/textures/models/launchpad/erector_huge.png b/src/main/resources/assets/hbm/textures/models/launchpad/erector_huge.png new file mode 100644 index 000000000..7b26d7fd2 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/launchpad/erector_huge.png differ diff --git a/src/main/resources/assets/hbm/textures/models/launchpad/erector_micro.png b/src/main/resources/assets/hbm/textures/models/launchpad/erector_micro.png new file mode 100644 index 000000000..ca36504d1 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/launchpad/erector_micro.png differ diff --git a/src/main/resources/assets/hbm/textures/models/launchpad/erector_strong.png b/src/main/resources/assets/hbm/textures/models/launchpad/erector_strong.png new file mode 100644 index 000000000..4b32f2162 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/launchpad/erector_strong.png differ diff --git a/src/main/resources/assets/hbm/textures/models/launchpad/erector_v2.png b/src/main/resources/assets/hbm/textures/models/launchpad/erector_v2.png new file mode 100644 index 000000000..f4cea5f79 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/launchpad/erector_v2.png differ diff --git a/src/main/resources/assets/hbm/textures/models/launchpad/pad.png b/src/main/resources/assets/hbm/textures/models/launchpad/pad.png new file mode 100644 index 000000000..6f908dc2c Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/launchpad/pad.png differ diff --git a/src/main/resources/assets/hbm/textures/models/launchpad/silo.png b/src/main/resources/assets/hbm/textures/models/launchpad/silo.png new file mode 100644 index 000000000..8063befa8 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/launchpad/silo.png differ diff --git a/src/main/resources/assets/hbm/textures/models/launchpad/silo_rusted.png b/src/main/resources/assets/hbm/textures/models/launchpad/silo_rusted.png new file mode 100644 index 000000000..9a423adaf Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/launchpad/silo_rusted.png differ diff --git a/src/main/resources/assets/hbm/textures/models/machines/drain.png b/src/main/resources/assets/hbm/textures/models/machines/drain.png new file mode 100644 index 000000000..bb1580c3a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/machines/drain.png differ diff --git a/src/main/resources/assets/hbm/textures/models/machines/hydrotreater.png b/src/main/resources/assets/hbm/textures/models/machines/hydrotreater.png new file mode 100644 index 000000000..e661b90cf Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/machines/hydrotreater.png differ diff --git a/src/main/resources/assets/hbm/textures/models/machines/icf.png b/src/main/resources/assets/hbm/textures/models/machines/icf.png new file mode 100644 index 000000000..c336610bb Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/machines/icf.png differ diff --git a/src/main/resources/assets/hbm/textures/models/machines/igen.png b/src/main/resources/assets/hbm/textures/models/machines/igen.png index 8356c2e3c..94b157a95 100644 Binary files a/src/main/resources/assets/hbm/textures/models/machines/igen.png and b/src/main/resources/assets/hbm/textures/models/machines/igen.png differ diff --git a/src/main/resources/assets/hbm/textures/models/machines/radar_large.png b/src/main/resources/assets/hbm/textures/models/machines/radar_large.png new file mode 100644 index 000000000..e59f20723 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/machines/radar_large.png differ diff --git a/src/main/resources/assets/hbm/textures/models/missileEndo.png b/src/main/resources/assets/hbm/textures/models/missileEndo.png deleted file mode 100644 index df6d25975..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/missileEndo.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/missileExo.png b/src/main/resources/assets/hbm/textures/models/missileExo.png deleted file mode 100644 index 678073b96..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/missileExo.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/missileMicro.png b/src/main/resources/assets/hbm/textures/models/missileMicro.png deleted file mode 100644 index d86823cbc..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/missileMicro.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/missileMicroBHole.png b/src/main/resources/assets/hbm/textures/models/missileMicroBHole.png deleted file mode 100644 index f76cc8c55..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/missileMicroBHole.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/missileMicroEMP.png b/src/main/resources/assets/hbm/textures/models/missileMicroEMP.png deleted file mode 100644 index 43135573a..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/missileMicroEMP.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/missileMicroSchrab.png b/src/main/resources/assets/hbm/textures/models/missileMicroSchrab.png deleted file mode 100644 index e367ddd62..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/missileMicroSchrab.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/missileNuclear.png b/src/main/resources/assets/hbm/textures/models/missileNuclear.png deleted file mode 100644 index 3ff7998b2..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/missileNuclear.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/missile_atlas_doomsday.png b/src/main/resources/assets/hbm/textures/models/missile_atlas_doomsday.png new file mode 100644 index 000000000..5166b956e Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/missile_atlas_doomsday.png differ diff --git a/src/main/resources/assets/hbm/textures/models/missile_atlas_doomsday_weathered.png b/src/main/resources/assets/hbm/textures/models/missile_atlas_doomsday_weathered.png new file mode 100644 index 000000000..1b3863da6 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/missile_atlas_doomsday_weathered.png differ diff --git a/src/main/resources/assets/hbm/textures/models/missile_atlas_nuclear.png b/src/main/resources/assets/hbm/textures/models/missile_atlas_nuclear.png new file mode 100644 index 000000000..0c2b429d0 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/missile_atlas_nuclear.png differ diff --git a/src/main/resources/assets/hbm/textures/models/missile_atlas_tectonic.png b/src/main/resources/assets/hbm/textures/models/missile_atlas_tectonic.png new file mode 100644 index 000000000..d4fe9c9c0 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/missile_atlas_tectonic.png differ diff --git a/src/main/resources/assets/hbm/textures/models/missile_atlas_thermo.png b/src/main/resources/assets/hbm/textures/models/missile_atlas_thermo.png new file mode 100644 index 000000000..532d0e0c8 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/missile_atlas_thermo.png differ diff --git a/src/main/resources/assets/hbm/textures/models/missile_micro.png b/src/main/resources/assets/hbm/textures/models/missile_micro.png new file mode 100644 index 000000000..6ad9c5d03 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/missile_micro.png differ diff --git a/src/main/resources/assets/hbm/textures/models/missile_micro_bhole.png b/src/main/resources/assets/hbm/textures/models/missile_micro_bhole.png new file mode 100644 index 000000000..0422b8497 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/missile_micro_bhole.png differ diff --git a/src/main/resources/assets/hbm/textures/models/missile_micro_emp.png b/src/main/resources/assets/hbm/textures/models/missile_micro_emp.png new file mode 100644 index 000000000..138c12f50 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/missile_micro_emp.png differ diff --git a/src/main/resources/assets/hbm/textures/models/missile_micro_schrab.png b/src/main/resources/assets/hbm/textures/models/missile_micro_schrab.png new file mode 100644 index 000000000..6af9249a1 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/missile_micro_schrab.png differ diff --git a/src/main/resources/assets/hbm/textures/models/missile_micro_taint.png b/src/main/resources/assets/hbm/textures/models/missile_micro_taint.png new file mode 100644 index 000000000..099d94ece Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/missile_micro_taint.png differ diff --git a/src/main/resources/assets/hbm/textures/models/missile_stealth.png b/src/main/resources/assets/hbm/textures/models/missile_stealth.png new file mode 100644 index 000000000..2dbcbe3a9 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/missile_stealth.png differ diff --git a/src/main/resources/assets/hbm/textures/models/missile_test.png b/src/main/resources/assets/hbm/textures/models/missile_test.png new file mode 100644 index 000000000..3138a80f5 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/missile_test.png differ diff --git a/src/main/resources/assets/hbm/textures/models/network/pylon_medium.png b/src/main/resources/assets/hbm/textures/models/network/pylon_medium.png new file mode 100644 index 000000000..84abea964 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/network/pylon_medium.png differ diff --git a/src/main/resources/assets/hbm/textures/models/network/pylon_medium_steel.png b/src/main/resources/assets/hbm/textures/models/network/pylon_medium_steel.png new file mode 100644 index 000000000..0665da1e7 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/network/pylon_medium_steel.png differ diff --git a/src/main/resources/assets/hbm/textures/models/network/wire.png b/src/main/resources/assets/hbm/textures/models/network/wire.png new file mode 100644 index 000000000..f6aae8f3f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/network/wire.png differ diff --git a/src/main/resources/assets/hbm/textures/models/network/wire_greyscale.png b/src/main/resources/assets/hbm/textures/models/network/wire_greyscale.png new file mode 100644 index 000000000..6aa158ed6 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/network/wire_greyscale.png differ diff --git a/src/main/resources/assets/hbm/textures/models/selenium_engine_body.png b/src/main/resources/assets/hbm/textures/models/selenium_engine_body.png deleted file mode 100644 index 22dc10490..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/selenium_engine_body.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/selenium_engine_piston.png b/src/main/resources/assets/hbm/textures/models/selenium_engine_piston.png deleted file mode 100644 index ca96a1bb1..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/selenium_engine_piston.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/selenium_engine_rotor.png b/src/main/resources/assets/hbm/textures/models/selenium_engine_rotor.png deleted file mode 100644 index d97da3598..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/selenium_engine_rotor.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/tank/tank_CRACKOIL_DS.png b/src/main/resources/assets/hbm/textures/models/tank/tank_CRACKOIL_DS.png new file mode 100644 index 000000000..b86200461 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/tank/tank_CRACKOIL_DS.png differ diff --git a/src/main/resources/assets/hbm/textures/models/tank/tank_HOTCRACKOIL_DS.png b/src/main/resources/assets/hbm/textures/models/tank/tank_HOTCRACKOIL_DS.png new file mode 100644 index 000000000..0238ff593 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/tank/tank_HOTCRACKOIL_DS.png differ diff --git a/src/main/resources/assets/hbm/textures/models/tank/tank_HOTOIL_DS.png b/src/main/resources/assets/hbm/textures/models/tank/tank_HOTOIL_DS.png new file mode 100644 index 000000000..c616db15a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/tank/tank_HOTOIL_DS.png differ diff --git a/src/main/resources/assets/hbm/textures/models/tank/tank_LIGHTOIL_DS.png b/src/main/resources/assets/hbm/textures/models/tank/tank_LIGHTOIL_DS.png new file mode 100644 index 000000000..99d0f472d Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/tank/tank_LIGHTOIL_DS.png differ diff --git a/src/main/resources/assets/hbm/textures/models/tank/tank_NAPHTHA_DS.png b/src/main/resources/assets/hbm/textures/models/tank/tank_NAPHTHA_DS.png new file mode 100644 index 000000000..6c1558ffb Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/tank/tank_NAPHTHA_DS.png differ diff --git a/src/main/resources/assets/hbm/textures/models/tank/tank_OIL_DS.png b/src/main/resources/assets/hbm/textures/models/tank/tank_OIL_DS.png new file mode 100644 index 000000000..330e31eed Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/tank/tank_OIL_DS.png differ diff --git a/src/main/resources/assets/hbm/textures/models/trinkets/glow.png b/src/main/resources/assets/hbm/textures/models/trinkets/glow.png new file mode 100644 index 000000000..2136ef651 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/trinkets/glow.png differ diff --git a/src/main/resources/assets/hbm/textures/models/trinkets/mellowrpg8.png b/src/main/resources/assets/hbm/textures/models/trinkets/mellowrpg8.png new file mode 100644 index 000000000..efa5d6879 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/trinkets/mellowrpg8.png differ diff --git a/src/main/resources/assets/hbm/textures/models/trinkets/snowglobe.png b/src/main/resources/assets/hbm/textures/models/trinkets/snowglobe.png index 6be391ef7..eee84d7ca 100644 Binary files a/src/main/resources/assets/hbm/textures/models/trinkets/snowglobe.png and b/src/main/resources/assets/hbm/textures/models/trinkets/snowglobe.png differ diff --git a/src/main/resources/assets/hbm/textures/models/trinkets/snowglobe_features.png b/src/main/resources/assets/hbm/textures/models/trinkets/snowglobe_features.png new file mode 100644 index 000000000..f9d9fc97d Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/trinkets/snowglobe_features.png differ diff --git a/src/main/resources/assets/hbm/textures/models/trinkets/snowglobe_glass.png b/src/main/resources/assets/hbm/textures/models/trinkets/snowglobe_glass.png new file mode 100644 index 000000000..e714aa532 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/trinkets/snowglobe_glass.png differ diff --git a/src/main/resources/assets/hbm/textures/models/turrets/sentry_damaged.png b/src/main/resources/assets/hbm/textures/models/turrets/sentry_damaged.png new file mode 100644 index 000000000..ba6a61a55 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/turrets/sentry_damaged.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/detonator_laser.png b/src/main/resources/assets/hbm/textures/models/weapons/detonator_laser.png index 76a00daa8..f11d9bebb 100644 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/detonator_laser.png and b/src/main/resources/assets/hbm/textures/models/weapons/detonator_laser.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/lilmac.png b/src/main/resources/assets/hbm/textures/models/weapons/lilmac.png new file mode 100644 index 000000000..8490d4f2a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/lilmac.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/lilmac_plume.png b/src/main/resources/assets/hbm/textures/models/weapons/lilmac_plume.png new file mode 100644 index 000000000..5df1f5069 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/lilmac_plume.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/lilmac_scope.png b/src/main/resources/assets/hbm/textures/models/weapons/lilmac_scope.png new file mode 100644 index 000000000..0025df545 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/lilmac_scope.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/spas-12.png b/src/main/resources/assets/hbm/textures/models/weapons/spas-12.png index fac73a983..d501f6e44 100644 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/spas-12.png and b/src/main/resources/assets/hbm/textures/models/weapons/spas-12.png differ